[Coin-discuss] Quick checking, if the problem is primal feasible
John J Forrest
jjforre at us.ibm.com
Wed Jul 12 17:28:29 EDT 2006
Daniel,
I can not see any way of getting rid of the initialSolve. You could
improve the time somewhat by -
a) using the presolved problem rather than the initial (and giving hint to
initialSolve not to presolve).
b) making sure you have a zero objective function (probably - but if dual
quicker then very small and random)
c) doing tests to see if primal or dual solves faster (see point b))
Depending on the structure of the problem you could also try aggregating
rows to give a smaller problem. This would increase worst running time but
might improve average.
John Forrest
Daniel Stoinski
<Daniel.Stoinski@
nagler-company.co To
m> coin-discuss at list.coin-or.org
Sent by: cc
coin-discuss-boun
ces at list.coin-or. Subject
org [Coin-discuss] Quick checking, if
the problem is primal feasible
07/10/06 05:13 AM
Please respond to
Discussions about
open source
software for
Operations
Research
<coin-discuss at lis
t.coin-or.org>
Hi,
we only want to check, if the problem is primal feasible, without solving
the problem. And we want to be really quick, becuase the operation will be
performed for quite big problems in a loop.
At the moment we're using the following non performant code:
short isPrimalInfeasible(OsiClpSolverInterface &aSolver)
{
OsiSolverInterface *solver2;
OsiPresolve pinfo;
bool isPrimalInfeasible;
solver2 = pinfo.presolvedModel(aSolver, 0.0);
if (solver2 != NULL)
{
delete solver2;
aSolver.initialSolve();
return aSolver.isProvenPrimalInfeasible();
}
return 1;
}
If the problem is "really" infeasible, both primal and dual, we get
solver2 = NULL very quickly and this is fine. For "partially" feasible
problems we call initialSolve(), which takes a lot of time until it
states, that the problem is only dual feasible.
Is there any possibility to get rid of this initialSolve()?
Probably we could become a little bid faster, if we use ClpPresolve and
ClpSimplex instead of the Osi interface.
But my impression is, that the most time gets lost for the unnecessary
solving the problem, while only the information about the
primal feasibility is needed.
Really best thanks for any hint. Best regards
Daniel Stoinski
_______________________________________________
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