[Cgl] (bug) CoinMpsIO / CglMixedIntegerRounding / arbitrary constants

Lou Hafer lou at cs.sfu.ca
Wed May 30 13:22:19 EDT 2007


Folks,

	Francois asked me to have a look at why dylp failed to pass the 
CglMixedIntegerRounding unit test. After a bit of poking, here's the problem:

  * CoinMpsIO imposes an arbitrary upper bound of 1e30 on general integer
    variables.

  * CglMixedIntegerRounding fails to recognise this as infinity, becomes
    confused, and generates invalid cuts.

If I patch OsiDylp to override 1e30 with the current infinity things work just
fine.

If it's left to me to fix, I'll remove the arbitrary constant from CoinMpsIO.
This might break other pieces of code.  Arguably, code that depends on this
arbitrary constant should force it as part of its own setup.

Comments solicited.

						Lou



More information about the Cgl mailing list