[Coin-discuss] non-optimal solutions from Osi
John J Forrest
jjforre at us.ibm.com
Sun Jun 25 06:36:59 EDT 2006
coin-discuss-bounces at list.coin-or.org wrote on 06/24/2006 10:15:44 PM:
> Hi,
>
> Over the last years, we have developed an interface to MP solvers for the
> Constraint Logic Programming language ECLiPSe. Currently it is interfaced
to
> CPLEX and XPRESS, and I am currently extending it to OSI. Mainly I would
like
> to use CLP and CBC, but obviously the advantage of using OSI is to allow
the
> use of other solvers as well.
>
> I wonder if anyone could help me with several questions I have:
>
> 1) Is there anyway to cause the solving process to timeout? I could
> not find a
> way to specify this in the OSI Doxygen docs.
The way I do that for Cbc is to setMaximumNodes(0) or for Osi you could set
the parameter OsiMaxNumIteration to 0. I do this on an interrupt using
CoinSignal.hpp. You can see the sort of coding round about line 100 of
Cbc/src/CoinSolve.cpp. Cbs and Clp also have event handlers but Osi
doesn't.
> 2) When the solving of a problem is aborted before arriving at the
optimal
> solution, is there any generic way of a) telling the problem is feasible
> (i.e. the solving process have found a non-optimal primal feasible
solution),
> and b) accessing this non-optimal solution
> [In CPLEX/XPRESS, there are many status/return codes from the
> solving process,
> and with which you can determine if there is a suboptimal solution
available
> for the different problem types (LP/MIP) and solving methods (primal/dual
> Simplex, barrier), but it is not clear to me how I can do the equivalent
via
> OSI]
>
There is some information from Osi using isProvenOptimal,
isIterationLimitReached but to check feasibility it looks as if you would
have to check entries in primal solution. For Clp you can get number of
infeasibilities. For Cbc you can check statuses and also bestSolution
which is a pointer to best solution if not NULL.
> Thanks in advance for any help/information!
>
> Kish Shen
>
> _______________________________________________
> Coin-discuss mailing list
> Coin-discuss at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/coin-discuss
More information about the Coin-discuss
mailing list