[Coin-discuss] Solver hints

John J Forrest jjforre at us.ibm.com
Fri Jan 17 09:32:32 EST 2003




For various reasons Presolving the problem is not the standard in the
OsiClpSolverInterface.  If I modify the code to do presolve then my time
for the unit test comes down from 401 seconds to 246 seconds.

There are also cases when I wish to tell the solver to use dual rather than
primal or vice versa.  Automatic scaling is another thing I may wish to
switch off etc etc.

I would like to propose a series of "hints" to all solvers.  We could
extend the intParam items with something like following meanings:

0 - no hint

-1 - Try NOT to follow hint (so if Presolve was default - don't do it - but
it's the solvers decision)
-2 - Don't follow hint even if solver thinks it a good idea (unless
impossible)
-100 Don't follow hint and if that is impossible throw an exception

+1 - try to follow hint
+2 - Follow hint if possible
100 - Follow hint or throw an exception

A cleaner method might be to have two (or more) fields for each hint - one
bit to force the code to throw an exception if it can't follow hint and one
small field to give the hint.  Being lazy I might still suggest sticking
them in intParam so they could be handled that way even if we have other
methods and a 32 bit struct.

Comments?

John Forrest




More information about the Coin-discuss mailing list