Ask Your Question

Erik Quaeghebeur's profile - activity

2018-08-11 09:14:58 -0500 received badge  Popular Question (source)
2014-01-16 04:06:00 -0500 commented answer Use of ‘constraint_generation’ in MixedIntegerLinearProgram
2014-01-15 21:38:48 -0500 commented answer Use of ‘constraint_generation’ in MixedIntegerLinearProgram

@Nathann - Thanks, this answer clarifies things for me. I still think the source code documentation is formulated incorrectly, but I will take that issue and follow-up questions to sage-support.

2014-01-15 21:35:50 -0500 received badge  Scholar (source)
2014-01-15 21:35:50 -0500 marked best answer Use of ‘constraint_generation’ in MixedIntegerLinearProgram


Well I don't see what it unclear here : "coin" does not support constraint generation. It just doesn't work, the solver does not like it. You cannot solve a LP, add a constraint, and solve it again.

So, because coin does not support constraint generation, there is a flag that lets you say "I want to use constraint generation, so only give me solvers that support it". If you set this to True, then Coin will never be returned, given that it does not support constraint generation.


What is wrong with that ?

2014-01-15 21:35:40 -0500 received badge  Supporter (source)
2014-01-15 02:53:32 -0500 commented question Use of ‘constraint_generation’ in MixedIntegerLinearProgram

The second text-as-link is mangled by the askbot system (was fine in preview); problem with ‘#’?

2014-01-15 02:51:10 -0500 asked a question Use of ‘constraint_generation’ in MixedIntegerLinearProgram

I would like to solve an LP problem using row generation (aka constraint generation), where I wish to be able to choose how the constraints are generated (this will be done using SAT, or WPMaxSAT through a binary MIP).

Now, in MixedIntegerLinearProgram, there is a boolean option constraint_generation. I do not find an explanation of its use and therefore whether it can be used for my stated purpose. So, can I, and if so, how?

Information found, but which did not make th option clear to me:

From the documentation:

constraint_generation – whether to require the returned solver to support constraint generation (excludes Coin). False by default.

From the source code documentation:

  • constraint_generation (boolean) -- whether the solver returned is to be used for constraint/variable generation. As the interface with Coin does not support constraint/variable generation, setting constraint_generation to False ensures that the backend to Coin is not returned when solver = None. This is set to False by default.

(N.B.: Shouldn't that be: “backend to Coin is not returned” -> “Coin backend may be returned”?)