Your Federal Quarterly Tax Payments are due April 15th Get Help Now >>

Topic 7A Integer Programming _IP_ by hcj


									Topic 8
  Programming (IP)


                        2    X1+10x2≤20
                                     (A) (2,2)
 Max: z=X1+5X2
 Sub to:
                   1                              (z)
 x1+10x2≤20                  1,1

 x1      ≤2
 x1,x2≥0                      1    2

 Optimal (Non-Integer) solution:
 x1*=2, x2*=1.8 Z*=11
 x1,x2=No. of machines =must be integer
 x2=1.8     x2=2 (x1=2, x2=2 )
 point A      infeasible

 x2=1.8 x2=1         (x1=2,x2=1 ) point B

 Z=7 (much lower than that at point C
      (x1=0, x2=2)

 At point C: Z=0*1+5*2=10 >>7
Graphical Solution to
All Rounded Solutions Are
IP: Integer Linear Programming
 In LP, Divisibility Assumption implies that decision
    variables can be either Integer or Fraction. Many
    variables in reality (e.g.
    operators/machines/projects…), however, must be

 "Rounding off"? Rounding-off non-integers to the
   nearest integers is often suggested as a simple
   way to handle integer requirement in LP.

 However, in many cases, rounding-off approach may
   result in:
     An infeasible solution, or
     A poor sub-optimal solution value.
IP: Integer Linear Programming

 Under Integer Requirement on decision
   variable values:
  Integer feasible solution set is a very small
   subset of the original solution set.

  An integer optimal solution is not
   necessarily on a corner point.

  An efficient solution method for IP is
Classification of ILP Problems
 1.   Pure ILP problem: All decision variables must be integers.
 2.   Mixed ILP problem: Part of decision variables must be
 3.   Zero-One ILP problem: A special case of ILP where all
      decision variables are either One or Zero (binary variables).

 Solution Methods for ILP Problems:
        For small size problems, Complete Enumeration for all
         feasible integer solutions.
        For general Pure IP and Mixed IP Problems, Branch &
         Bound method is normally used with standards LP
         Simplex procedure (in all common software programs.
        Special Algorithms for "Zero-One" IP problems. (e.g.,
         Marginal Contribution Approach to “0-1” IP Problem)
Marginal Contribution Approach to
"0-1" ILP Problem:
 For Max problem:
 1. Arrange variables so that C1 > C2 > C3 >.....> Cn
 2. Set initial solution as {Xi = 1, i=1,..n}.
 3. Check constraints with given solution values, if
     "ok", stop.
 4. Otherwise, set {Xi = 1, i=1,..n-1, and Xn = 0}.
 5. Repeat step 3 - 4 until a feasible solution is
 6. Check optimality with some special measures.

 * For Min problem: (very similar to the above).
Sup. P. 8-14: Problem #3

  [original] Max
  Sub to: 5x1+20x2+12x3+7x4+4x5≤25
  x1, x2,x3,x4,x5=1, or 0
 Let y1=x4, y2=x1,y3=x2, y4=x5, y5=x3
 So Max: Z =30y1+ 20y2+ 18y3+ 15y4+ 13y5
 Sub to : 7y1+ 5y2+ 20y3+ 4y4+ 12y5≤25

 Step-1: let y1=y2=y3=y4=y5=1, Z=96           Infeasible
 Step-2: let y1=y2=y3=y4=1,y5=0,Z=83         Infeasible
 Step-3: let y1=y2=y3=1,y4=y5=0,Z=68          Infeasible
 Step-4: let y1=y2=1,y3=y4=y5=0, Z=50
 Step-5: let y1=y2=y4=1,y3=y5=0, Z=65            optimal
 “smart” approach: marginal contribution
    each “unit” of resources   maximal return
M1=20/5=4 , M2=18/20=0.9, M3=13/12=1.083, M4=4.28 ,   M5=3.75
  (Y2)         (Y5)       (Y4)       (Y1)               (Y3)
Max: Z=30Y1+20Y2+15Y3+13Y4+18Y5
Sub to: 7Y1+5Y2+4Y3+12Y4+20Y5≤25
 Step-1: let y1=y2=y3=y4=y5=1, Z=96                  Infeasible
 Step-2: let y1=y2=y3=y4=1,y5=0,Z=78                  Infeasible
 Step-3: let y1=y2=y3=1,y4=y5=0,Z=65                  optimal
Police Search a Bad Guy

  The suspect ran into a 3-level, 9-room Building.
  You are told- the suspect is 6’2’’ or higher.
First       (101)       (102)        (103)
floor       (5’10’’)    (5’8’’)      (5’9’’)
2 nd        (201)       (202)        (203)
floor       (5’7’’)     (6’1’’)      (6’3’’)
3 rd        (301)       (302)        (303)
floor       (5’6’’)     (5’11’’)     (5’9’’)
Police Search a Bad Guy

  Search step:
 1.Divide the whole building into 3 level
 2.Identify “highest” person in each floor
       1st floor: highest=5’10’’
       2nd floor: highest=6’3’’
       3ed floor: highest=5’11’’
Police Search a Bad Guy
  3. Stop searching for 1st & 3rd floor
  Going to 2nd floor
  4.Checking all 3 rooms in 2nd floor
 5. Identify “highest” person in each room
  (201: 5’7’’) (202: 6’1’’)      (203: 6’3’’)
  6.Stop searching for (201)(202) go to
Branch and Bound Method (BBM)
 BBM: is a general problem solving approach in which,
 1. Branching: The problem is first divided into several sub-
    problems by branching the whole set of solutions into
    several subsets.
 2. Bounding: After the initial solution is identified and set as
    "current" solution, the Upper and Lower Bound on the
    solution value for each sub problem are identified, and
    used to update "current" solution.
 3. Branching and bounding continue until the optimal
    solution is reached, or no more branches can be made.

 BBM can be used in many decision-making problems, however,
    branching may be very difficult and the bounds may be
    unattainable in many cases. With Simplex, BBM is used in
    solving ILP problems.
Branch and Bound Method (BBM)

 Basic Steps of BBM:
 1. Identify initial solution & branching
    problem into sub problems.
 2. Search UB (for Max problem) or LB (for
    Min problem) for each sub problem.
 3. Update "current" solution and drop the
    branches that either “infeasible" or
    "worse" than "current" solution.
 4. Repeat until: no more branching or
    UB=LB (optimal solution).
Six Steps in Solving Integer Programming
Maximization Problems by BBM
 1.   Solve the original problem using LP. If the answer
      satisfies the integer constraints, we are done. If not,
      this value provided an initial upper bound.
 2.   Find any feasible solution that meets the integer
      constraint for use as a lower bound. Usually,
      rounding down each variable will accomplish this.
 3.   Branch on one variable from step 1 that does not
      have an integer value. Split the problem into two sub
      problems based on integer values that are
      immediately above and below the no integer value.
      For example: if X2=3.75 was in the final LP solution,
      introduce the constrain X2≥4 in the first sub problem
      and X2 ≤3 in the second sub problem.
Six Steps in Solving Integer Programming
Maximization Problems by BBM
 4.       Create nodes at the top of these new branches by solving the
          new problems.
        If a branch yields a solution to the LP problem that is not
         feasible, terminate the branch
        If a branch yields a solution to the LP that is feasible, but not
         an integer solution, go to step 6.
        If the branch yields a feasible integer solution, examine the
         value of the objective function. If this value equals the upper
         bound, an optimal solution has been reached. If it is not
         equal to the upper bound, but exceeds the lower bound, set
         it as the new lower bound and go to step 6. Finally, if it is
         less than then lower bounds, terminate this branch.
 6.    Examine both branches again and set the upper equal to the
      maximum value of the objective function at all final nodes. If the
      upper bound equals the lower bound, stop. If not, go back to
      step 3.
Go to Examples –
Supplement p.8-9 to 8-10.
Cost Table for Assignment

 Problem Illustrating Branch-and-bound
                          1 2       3    4
           Assignee A    94 1       54   68
                    B    74 10      88   82
                    C    62 88      8    76
                    D    11 74      81   21
      Assigning: Assignment 1:
                 (By Column)

A to 1: (94)+10+8+21=133 (Feasible)
B to 1: (74)+1+8+21=104 (Feasible)
C to 1: (62)+1+54+21=138 ( Infeasible)
D to 1: (11)+1+8+68=88 (Infeasible)
Branch: (A to 1) and (C to 1)-------- (Out)
           (B to 1)------104 [Correct Solution]
           (D to 1)------88<104
(A to 2): (11)+1+8+76=96 (Feasible)
(B to 2); (11)+10+8+68=97 (Feasible)
(C to 2): (11)+88+54+68=221
           (Since 221>97 ~ out)
Since: 97<104 (Branch [B-to-1] ------ out)
So, (97) is a New Branch (Correct Solution)
     (96<97 ------ Infeasible, Continuing
[D-1, A-2,]
              B-3: (11)+(1)+88+76=176 (Feasible)
              C-3: (11)+(1)+8+82=102 (Feasible)

              Since:   176>97
So, Best Solution:       A-4
                         B-2   Total Cost
                         C-3    =97
Summary and Results

 For the Branch-and-bound Technique Applied to
   The Assignment Problem Example
 Iteration      Best ZL         ZU
 0              41              +∞
 1              88              104
 2              96              97
 3              97              97
Mixed Integer Problem: Sup. P.8-11
Branch-and-Bound Solution
                              Min Total Cost
person        1     2    3
 A            $11   14   6
 B            8     10   11
 C            9     12   7
     A-1: (11)+10+7=28
     B-1: (8)+12+6=26
     C-1: (9)+10+6=25
 Project 1         Project 2   Project3
       28           By column

       B                           A
         Feasible       B
   Managerial Applications of
       Binary Variables
Binary variables are important to the formulation of many
   managerial requirement constraints in real-world LP
 No More Than K out of N Alternatives: Only K projects can be
   selected out of N available under given budget limit.
    X1 + X2 + ...... + Xn ≤ K (Xi = 0 or 1, i=1,....n)
 Dependent Decisions: A variable (e.g., a project) can only be
   selected (has a positive value) upon another variable (e.g., a
   preceding project) being selected.
    Xj - Xi ≤ 0 (or in general) (Xi+..+Xn) - (Xj+..+Xm) ≤ K (K ò 0)
 Lot-size Constraints (either/or conditions): A variable (e.g.,
   the number of a part/product) either has a positive value
   larger (or smaller) than K if selected or not selected (has a
   value of zero).
     Xi ≤ k·Yi (or) Xi ≥ K·Yi (Xi ≥ 0, Yi = 0 or 1)
  Managerial Applications of
      Binary Variables
K out of M Constraints Must Be Satisfied:
 Given original M constraints: Gj(Xi, X2, ...Xn) ≤ bj
 Let Yj = 0 or 1, (j=1,...M), then
 For M constraints:
 Gj(Xi, X2, ...Xn) ≤ bj·Yj + (1-Yj)·U (j=1,......M)
 Y1 + Y2 + ..... + Ym = K
 Where U is a larger number selected so that to
 Gj(Xi, X2, ...Xn) ≤ U (for all Yj = 0, j=1,......M)

 (Handout Examples)
Handout: Problem #1
Given: total $100,000 to invest in 20 stock
        Return rate for 20 stocks = ri (i=1,2,…,20)
Objective: Maximize Total Return
Define: Xi – amount invested in stock i (i=1,2,…20)
Obj. Function: Max: Z=r1X1+r2X2+……+r20X20
Sub to: (1) X₁+X₂+…+X20 ≤100,000
       (2) Xi ≤ 20,000Yi (i=1,2,…20)
       (3) Xi ≥ 5,000Yi (i=1,2,…,20)
           (Xi ≥ 0)
Required Lot-size Constraint:

              5,000 ≤ Xi ≤ 20,000 (i=1,2,…,20)

Define: Yi=
               1 if you invest in stock i
               0 otherwise
Handout: Problem #2
Define Variables:                   Columbus
   Let i=1,2,3,4 for Destination LA
       j=1,2,3 for time slot (8-10-12)

          1, if a flight to i occurs in time slot j
So, Xij= 0 otherwise
    Yj = No. of Airplanes rented for time slot j

Objective Function: Max Z =
 (10X11+6X12+……+10X43)- (5Y₁+5Y₂+3Y₃)
Sub to:
 X11+X12+X13 ≤ 1
 X21+X22+X23 ≤ 1         (No more than one flight to each city)
 X31+X32+X33 ≤ 1
 X41+X42+X43 ≤ 1
  X11+X21+X31+X41 ≤ Y₁
  X12+X22+X32+X42 ≤ Y₂           (Total flight in each time slot)

  X13+X23+X33+X43 ≤ Y₃
 Yj ≤ 2 (j=1,2,3) (No more than two in each time slot)
 X4j – X2j ≤ 0 (j=1,2,3) (Dependent Decisions)
(to NY) (to LA)

  (Xij = 0 or 1    Yj = Integer)
Special Considerations for ILP
 In BBM, there are different searching strategies -
  horizontal vs. vertical search. Computer solution
  software usually handle these issues

 In general, ILP problems are more sensitive to the
  parameter changes than LP problems. Due to the
  computational complexity, however, there is no
  Sensitivity Analysis information available from ILP
  solution printouts. You need to run repeatedly with
  different parameters to obtain sensitivity
Special Considerations for ILP
 Solution Methods to General ILP Problems: In addition to
  BBM, Cutting Plane and Lagragian Relaxation methods are
  developed as "exact" solution techniques for general ILP
  problems. However, research results indicated that in
  practice, some specific "non-exact" solution heuristics may
  be more valuable in terms of: Efficiency/Cost of
  Solution/Useful Information Provided.

 Major Issues in Real-World ILP Applications:
    A large-scaled MILP problem is usually involved.
    Specific formulation and modeling are needed.
    Special solution algorithm must be developed for specific

To top