Re: [eclipse-clp-users] How to get non-optimal solution from eplex with timeout

From: Kish Shen <kisshen_at_...5...>
Date: Mon, 15 Jul 2013 00:49:47 +0100
Hi Sergii,

On 14/07/2013 20:48, Sergii Dymchenko wrote:
> Hi,
> How can I get non-optimal solution from eplex with timeout?

You don't need to do anything, the best non-optimal solution (if 
available) will be returned automatically.

If you are solving a linear problem, then the first solution found with 
the dual method will be the optimal solution, so there are no 
sub-optimal solutions in such cases.

> I setup eplex with:
>      eplex_solver_setup(min(Obj), _, [timeout(10), abort_handler(ab)], []),
> and after timeout my handler `ab` is called.
> But what to do in `ab` handler to get non-optimal solution?

The abort_handler handles the abort case, where a solve aborts without 
finding any feasible solution, as described in the reference 
documentation for eplex_solver_setup/4:

 >    Specifies a user defined goal Goal to handle the case when the
 >    external solver aborted without finding any solution. Goal would be
 >    run in place of raising the default eplex_abort event.

So there is no solution to get, and it is not known if the problem is 

> I can get best or worst objective bounds with `eplex_get(best_bound, X)`,
> but `eplex_get(typed_solution, Vars)` just fails.

The best and worst bounds provide bounds on the any optimal solution, 
but on its own does not imply there is any solution.



> Or maybe using abort_handler for getting non-optimal solution is not a good
> idea and there is a better way?
> Sergii.
> ------------------------------------------------------------------------------
> See everything from the browser to the database with AppDynamics
> Get end-to-end visibility with application monitoring from AppDynamics
> Isolate bottlenecks and diagnose root cause in seconds.
> Start your free trial of AppDynamics Pro today!
> _______________________________________________
> ECLiPSe-CLP-Users mailing list
Received on Sun Jul 14 2013 - 23:50:01 CEST

This archive was generated by hypermail 2.2.0 : Mon Jul 09 2018 - 02:05:30 CEST