2

We have a problem formulation as shown in this link.

Considering that the first call of bintprog gives a solution x that after some post processing does not adequately addresses the physical problem, is it possible to recall bintprog and exclude the prior solution x?

Community
  • 1
  • 1
ToLos Mil
  • 63
  • 1
  • 6
  • Why not just add it as a constraint? – Bitwise Apr 11 '13 at 13:28
  • @Bitwise You are allowed to add two types of constraints to `bintprog`. The first one corresponds to inequalities and the second one to equalities. I have already specific arguments to the equality constraints and I can not figure out a way to incorporate the inequality constraints for what I want. Have you any idea? – ToLos Mil Apr 11 '13 at 15:00
  • How about an inequality? if you got x=3 add x<=2 and -x<=-4. Or is this not supported? – Bitwise Apr 11 '13 at 16:07

1 Answers1

0

You need a nogood cut.

Suppose you find a solution \hat{x} that you then decide is infeasible (through some sort of post-processing). Let x and \hat{x} be indexed by i.

You can add a constraint of the following form:

\sum_{i : \hat{x}_i = 0} x_i + \sum_{i : \hat{x} = 1} (1-x_i) \geq 1

This constraint is an example of a no-good cut: the solution must differ from \hat{x} by at least one index i, otherwise it is infeasible. If your variables are not binary no-goods can be a little more complex.

You can add a no-good to your solution by appending the constraint as a row to your constraint matrix and re-solving with the bintprog() function. I'll leave it to you to you rewrite it in the MATLAB notation.

You didn't say what your post-processing does, but it would be even better if the post-processing could infer from your solution \hat{x} that other solutions are also infeasible, and you can add more than one row per iteration. This is a form of logic-based Benders decomposition, and the inference of other infeasible solutions is called solving an inference dual (as opposed to standard Benders decomposition, where you're solving the linear programming dual). More on logic based Benders decomposition from the man who coined the term, John Hooker of CMU.

Sorry for the formatting. I need to go but I'll figure out a way to display equations more nicely later.

user327301
  • 2,641
  • 2
  • 26
  • 33