You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 14 Next »

The root page 15DOTs60ia13:Tutorial could not be found in space 15.S60 SSIM: Software Tools for Operations Research.

Valid inequalities

Valid inequalities are additional constraints that can be added to a correct integer program that potentially strengthen the formulation, i.e. reduce the size of the feasible region for the linear programming relaxation.
For example, in the 0-1 knapsack problem,

\[ \begin{aligned} &\max&\sum_{i=1}^n v_i x_i\\ &\text{subject to}& \sum_{i=1}^n w_i x_i &\leq b\\ &&x_i & \in \{0,1\}&i&=1,\ldots,n, \end{aligned} \]

for any set \( C \subset \{1,\ldots,n\} \) such that

\[ \sum_{i \in C} w_i x_i > b \]

we can add the cover inequalities

\[ \sum_{i \in C} x_i \leq |C|-1 \]

To be completely concrete, suppose that \( n=2 \) , and our instance was

\[ \begin{aligned} &\max& x_1 + 2x_2\\ &\text{subject to}& 3x_1 + 4 x_2 &\leq 5\\ &&x_1,\, x_2 & \in \{0,1\}. \end{aligned} \]

The feasible region of this LP and the feasible region of the integer hull are shown below.

Unknown macro: {chart}

 

0

1

1.6667

LP

1.25

 

0

IP

1

0

 

User Cuts in CPLEX

User cuts are, at a high level, valid inequalities for an integer program that strengthen the formulation, but are not required for correctness of the formulation.

CPLEX checks for violated user cuts at the highlighted stage in the diagram below.

Full Size
  • No labels