### Intro to Integer-valued constrained optimization

• An integer-valued constrained optimization problem derived from an real-valued LP

• Real-valued constrained optimization: (linear program (LP) )

 ``` Max: f(x1, x2, ..., xn) s.t.: g1(x1, x2, ..., xn) ≤ c1 g2(x1, x2, ..., xn) ≤ c1 .... x1 ≥ 0, x2 ≥ 0, ..., xn ≥ 0 Note: x1, x1, ... are "real" valued ```

• Integer-valued constrained optimization (integer program (IP) ) derived from the above LP is:

 ``` Max: f(x1, x2, ..., xn) s.t.: g1(x1, x2, ..., xn) ≤ c1 g2(x1, x2, ..., xn) ≤ c1 .... x1 ≥ 0, x2 ≥ 0, ..., xn ≥ 0 x1, x2, ..., xn integer ```

In other words:

 The solution of an Integer Program (IP) must be integers

• The feasible region of an Integer Program

• Effect of Integer constraints:

 The integer constraints constitute additional constraints (= limitation) on a feasible solution The effect is "shrinking" the feasible region

• Example:

Linear Program Corresponding Integer Program

The feasible regions of the Linear Program (LP) and Integer Program (IP) are shown in the following figure:

Explanation:

• The feasible region defined by the constraints of the Linear Program is the entire shaded region

• The integer program imposes more constraints

Therefore:

 A subset of the feasible region of the LP will statify the constraints of the integer program

Specifically:

 The "integral" points inside the feasible (shaded) region satisfy the integer value constraints

Feasible "region" of the Integer Program:

 All the dots inside the shaded region form the feasible region for the Integer Program.

• Relationship between a LP and its derived IP

• Fact 1:

 Optimal solution of IP   ≤   Optimal solution of LP

Reason:

• We know that:

 A solution x1, x2, ... xn that satisfies the constraints of the IP problem will also satisfy the constraints of the LP problem

• Therefore:

• The optimal solution x1opt, x2opt, ... xnopt of the IP problem is a solution of the LP problem

• In other words:

 ``` OptimalSolution( IP ) ≤ OptimalSolution ( LP ) ```

• Fact 2:

 Optimal solution of LP may not be equal to the optimal solution of the derived IP

Example:

• Consider:

The optimal solution of the Linear Program (LP) is:

 ``` x1 = 2.25 (not integer) x2 = 3.75 (not integer) ```

• This solution is not feasible for the IP problem

Therefore:

 ``` Optimal Solution of IP may not be equal to the Optimal Solotion of LP ```

• Fact 3:

 IF the optimal solution of LP is integral (= all values are integers), then this solution is also the optimal solution of the derived IP

Reason:

• This fact follows directly from Fact 1:

 ``` OptimalSolution( IP ) ≤ OptimalSolution ( LP ) ```

• Because the OptimalSolution ( LP ) is integral (= all integers), the solution is feasible for the Integer Program (IP) and therefore:

 ``` OptimalSolution( IP ) ≤ OptimalSolution ( LP ) becomes: OptimalSolution( IP ) = OptimalSolution ( LP ) ```

• Fact 4:

 IF the Linear Program LP is infeasible (i.e., the feasible region is empty), then the Integer Program IP is also infeasible

Reason:

• The feasible region of the IP is a subset of the feasible region of the LP

• So if the feasible region of the LP is empty (because the LP is infeasible), then the the feasible region of the IP is also empty

Therefore:

 the IP is also infeasible

• Complexity of Integer Programming

• Integer Program is hard to solve:

• The Integer Program problem is a known NP-hard problem

• "NP-hard" problems (and the related "NP-complete" problems) are problems where:

 There are no known O(nk) algorithm for solving the problem (Algorithm to solve these problems have exponential order of running time (i.e., O(2n))

• Practice:

 Integer Programs are solved using heuristics

• Heuristics to solve Integer Programming problems

• Fact:

 An Integer Program is similar to its corresponding Linear Program (which can be solve efficiently)

Idea:

 Let's try to use the corresponding Linear Program to solve the harder Integer Program

• Terminology:

 Linear relaxation of an Integer Program = the corresponding Linear Program obtained by dropping (omitting) the integer constraints from the Integer Program

• Commonly used heuristic:

 Branch and bound         Cutting planes

We will study the branch and bound method next.