[Coin-discuss] unitTest & `before solver' solution

Lou Hafer lou at cs.sfu.ca
Fri Apr 25 13:19:27 EDT 2003


	Agreed, the currrent `before solver' test is primal-centric. The
preference for finite values means the check of dot(objective,primals)
against objValue has a better chance of comparing two finite values, which
makes it stronger.

	A balanced mathematical test would be (dual bound) <= objValue <=
(primal bound).  But too often this will reduce to the trivial -inf <=
objValue <= inf, using the sort of simplistic procedure I outlined (set
variables to the worst case bound).  Requiring solvers to implement
non-trivial primal and/or dual bounds has its own disadvantages.

	Laci, could unitTest be modified to do a dual check analogous to the
primal check?  Then one possible approach would be to have unitTest calculate
the primal and dual bounds, and check where objValue stood in relation to the
two. The result of the test would be more than a simple pass/fail. Something
along the lines of `objValue matches primal bound', `objValue matches dual
bound', `objValue lies between primal and dual bound', `objValue outside of
bounds'. Only the last would imply failure. Given the high probability of
+/-inf as a bound, it's also highly unlikely. The test would be very weak.

						Lou	  




More information about the Coin-discuss mailing list