0% found this document useful (0 votes)
23 views

Lecture 05 - IntegerProgramming

Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views

Lecture 05 - IntegerProgramming

Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 26

Integer Programming

December 1, 2023
Introduction
▶ Integer linear program (ILP) applications generally fall into two categories: direct
and transformed
Introduction
▶ Integer linear program (ILP) applications generally fall into two categories: direct
and transformed
▶ In the direct category, the nature of the situation precludes assigning fractional
values to the variables of the model. For example, the problem may involve
determining whether or not a project is undertaken (binary variable) or finding the
optimal number of machines needed to perform a task (general integer variable)
Introduction
▶ Integer linear program (ILP) applications generally fall into two categories: direct
and transformed
▶ In the direct category, the nature of the situation precludes assigning fractional
values to the variables of the model. For example, the problem may involve
determining whether or not a project is undertaken (binary variable) or finding the
optimal number of machines needed to perform a task (general integer variable)
▶ In the transformed category, auxiliary integer variables are used to convert
analytically intractable situations into models that can be solved by available
optimization algorithms. For example, in sequencing two jobs, A and B, on a single
machine, job A may precede job B or vice versa
Introduction
▶ Integer linear program (ILP) applications generally fall into two categories: direct
and transformed
▶ In the direct category, the nature of the situation precludes assigning fractional
values to the variables of the model. For example, the problem may involve
determining whether or not a project is undertaken (binary variable) or finding the
optimal number of machines needed to perform a task (general integer variable)
▶ In the transformed category, auxiliary integer variables are used to convert
analytically intractable situations into models that can be solved by available
optimization algorithms. For example, in sequencing two jobs, A and B, on a single
machine, job A may precede job B or vice versa
▶ The or-constraints make the problem analytically intractable because all
mathematical programming algorithms deal with and-constraints only
Introduction
▶ Integer linear program (ILP) applications generally fall into two categories: direct
and transformed
▶ In the direct category, the nature of the situation precludes assigning fractional
values to the variables of the model. For example, the problem may involve
determining whether or not a project is undertaken (binary variable) or finding the
optimal number of machines needed to perform a task (general integer variable)
▶ In the transformed category, auxiliary integer variables are used to convert
analytically intractable situations into models that can be solved by available
optimization algorithms. For example, in sequencing two jobs, A and B, on a single
machine, job A may precede job B or vice versa
▶ The or-constraints make the problem analytically intractable because all
mathematical programming algorithms deal with and-constraints only
▶ For convenience, a problem is defined as a pure integer program when all the
variables are integer. Else, it is a mixed integer program involving a mixture of
integer and continuous variables
Example I: Capital Budgeting
Deliverable: Decisions about whether or not to undertake a project under limited budget
considerations and preset priorities
Problem Statement: Five projects are being evaluated over a 3-year planning horizon.
The following table gives the expected returns for each project and the associated yearly
expenditures:

Which projects should be selected over the 3-year horizon to maximize the overall
return?
Example I: Capital Budgeting
The problem reduces to a “yes-no” decision for each project. Define the binary variable
xj as (
1 If project j is selected
xj =
0 If project j is not selected
The ILP model is

max z = 20x1 + 40x2 + 20x3 + 15x4 + 30x5


subject to,
5x1 + 4x2 + 3x3 + 7x4 + 8x5 = 25
x1 + 7x2 + 9x3 + 4x4 + 6x5 = 25
8x1 + 10x2 + 2x3 + x4 + 10x5 = 25

The optimum integer solution is x1 = x2 = x3 = x4 = 1, x5 = 0, with z = 95 ($ million)


Using continuous LP solution, obtained by replacing xj = 1, 0, with 0 ≤ xj ≤ 1, ∀j, yields
x1 = .5789, x2 = x3 = x4 = 1, x5 = .7368, and z = 108.68 ($ million)
Example II: Set-Covering Problem

Deliverables:
▶ In this class of problems, overlapping services are offered by a number of
installations to a number of facilities
▶ The objective is to determine the minimum number of installations that will cover
(i.e., satisfy the service needs of) each facility
▶ For example, water treatment plants can be constructed at various locations, with
each plant serving specific communities
▶ The overlapping occurs when more than one plant can serve a given community
Problem Statement: To promote on-campus safety in a university, the Public Safety
Department is in the process of installing emergency telephones at selected locations.
The department wants to install the minimum number of telephones that serve each of
the campus main streets.
Example II: Set-Covering Problem
The following figure maps the principal streets of the campus
Example II: Set-Covering Problem

It is logical to maximize the utility of the telephones by placing them at street


intersections. In this manner, a single unit can serve at least two streets.
Define (
1 a telephone is installed at intersection j, j = 1, 2, . . . 8
xj =
0 otherwise
The constraints of the problem require installing at least one telephone on each of the
11 streets (A to K). Thus, the model is

min z = x1 + x2 + x3 + x4 + x5 + x6 + x7 + x8
Example II: Set-Covering Problem
subject to,

x1 + x2 ≥ 1 (Street A)
x2 + x3 ≥ 1 (Street B)
x4 + x5 ≥ 1 (Street C)
x7 + x8 ≥ 1 (Street D)
x6 + x7 ≥ 1 (Street E)
x2 + x6 ≥ 1 (Street F)
x1 + x6 ≥ 1 (Street G)
x4 + x7 ≥ 1 (Street H)
x2 + x4 ≥ 1 (Street I)
x5 + x8 ≥ 1 (Street J)
x3 + x5 ≥ 1 (Street K)
Example II: Set-Covering Problem
subject to,

x1 + x2 ≥ 1 (Street A)
▶ In Objective
x2 + x3 ≥ 1 (Street B) function, all the
x4 + x5 ≥ 1 (Street C) cost coefficients
are assumed as 1
x7 + x8 ≥ 1 (Street D) but in reality it
might be different
x6 + x7 ≥ 1 (Street E) from 1
x2 + x6 ≥ 1 (Street F)
x1 + x6 ≥ 1 (Street G)
x4 + x7 ≥ 1 (Street H)
x2 + x4 ≥ 1 (Street I)
x5 + x8 ≥ 1 (Street J)
x3 + x5 ≥ 1 (Street K)
Example II: Set-Covering Problem
subject to,

x1 + x2 ≥ 1 (Street A)
▶ In Objective
x2 + x3 ≥ 1 (Street B) function, all the
x4 + x5 ≥ 1 (Street C) cost coefficients
are assumed as 1
x7 + x8 ≥ 1 (Street D) but in reality it
might be different
x6 + x7 ≥ 1 (Street E) from 1
x2 + x6 ≥ 1 (Street F) ▶ Some set
covering
x1 + x6 ≥ 1 (Street G) problems might
have several
x4 + x7 ≥ 1 (Street H) other side
x2 + x4 ≥ 1 (Street I) constraints

x5 + x8 ≥ 1 (Street J)
x3 + x5 ≥ 1 (Street K)
Example III: Fixed Charge Problems
▶ Deals with situations in which the economic activity incurs two types of costs: a
fixed cost needed to initiate the activity and a variable cost proportional to the level
of the activity
▶ For example, the initial tooling of a machine prior to starting production incurs a
fixed setup cost regardless of how many units are manufactured
▶ Once the setup is done, the cost of labor and material is proportional to the amount
produced
▶ Given that F is the fixed charge, c is the variable unit cost, and x is the level of
production, the cost function is expressed as
(
F + cx if x > 0
C(x) =
0 elsewhere

▶ The function C(x) is intractable analytically because it involves a discontinuity at


x = 0 (auxiliary binary variables are used to render the model analytically tractable)
Example III: Fixed Charge Problems-Choosing a Telephone
company

A customer has been approached by three telephone companies to subscribe to their


long-distance service in the United States. MaBell will charge a flat $16 per month plus
$.25 a minute. PaBell will charge $25 a month but will reduce the per-minute cost to $.21.
As for BabyBell, the flat monthly charge is $18, and the cost per min is $.22. The
customer usually make an average of 200 minutes of long-distance calls a month.
Assuming that the customer does not pay the flat monthly fee unless he makes calls and
that the customer can apportion his calls among all three companies as he wishes, how
should he use the three companies to minimize the monthly telephone bill?
Example III: Fixed Charge Problems-Choosing a Telephone
company
Define:

x1 = MaBell long-distance minutes per month


x2 = PaBell long-distance minutes per month
x3 = BabyBell long-distance minutes per month
y1 = 1 if x1 > 0 and 0 if x1 = 0
y2 = 1 if x2 > 0 and 0 if x2 = 0
y3 = 1 if x3 > 0 and 0 if x3 = 0

We can ensure that yj equals 1 when xj is positive by using the constraint

xj ≤ M y j

The value of M should be selected sufficiently large so as not to restrict the variable xj artificially
Because the customer makes about 200 minutes of calls a month, then xj ≤ 200, ∀j, and it is
safe to select M = 200
Example III: Fixed Charge Problems-Choosing a Telephone
company

The complete model is

min z = .25x1 + .21x2 + .22x3 + 16y1 + 25y2 + 18y3

subject to,

x1 + x2 + x3 = 200
x1 ≤ 200y1
x2 ≤ 200y2
x3 ≤ 200y3
Example III: Fixed Charge Problems-Choosing a Telephone
company
▶ The formulation shows that the j th monthly flat fee will be part of the objective
function z only if yj = 1, which can happen only if xj > 0
▶ If xj = 0 at the optimum, then the minimization of z, together with the fact that the
objective coefficient of yj is positive, forces yj to equal zero, as desired
▶ The optimum solution yields x3 = 200, y3 = 1, and all the remaining variables equal
to zero, which shows that BabyBell should be selected as the long-distance carrier
▶ Remember, that the information conveyed by y3 = 1 is redundant because the same
result is implied by x3 > 0(= 200)
▶ Actually, the main reason for using yj is to account for the monthly flat fee
▶ In effect, the three binary variables convert an ill- behaved (nonlinear) model into an
analytically tractable formulation
▶ This conversion has resulted in introducing the integer (binary) variables in an
otherwise continuous problem
Either-Or Constraints

▶ In the fixed-charge problem, auxiliary binary variables are used to handle the
discontinuity in the objective cost function
▶ Here some models in which constraints are not satisfied simultaneously (either-or)
or are dependent (if-then), again using auxiliary binary variables will be shown
▶ The transformation uses a mathematical trick to present the special constraint as
and-constraints
Job Sequencing Model

Jobco uses a single machine to process three jobs. Both the processing time and the
due date (in days) for each job are given in the following table. The due dates are
measured from zero, the assumed start time of the first job.

The objective of the problem is to determine the job sequence that minimizes the late
penalty for processing all three jobs
Job Sequencing Model
Define,

xj = Start date in days for job j (measured from time zero)


(
1, if i preeceds j
yij =
0, if j preeceds i

▶ The problem has two types of constraints: the noninterference constraints (guaranteeing
that no two jobs are processed concurrently) and the due-date constraints
▶ Consider the noninterference constraints first
▶ Two jobs i and j with processing time pi and pj will not be processed concurrently if
(depending on whether which job is processed first)

xi ≥ xj + pj or xj ≥ xi + pi
Job Sequencing Model
▶ For M sufficiently large, the or-constraints are converted to and-constraints by using

M yij + (xi − xj ) ≥ pj and M (1 − yij ) + (xj − xi ) ≥ pi


▶ This conversion guarantees that only one of the two constraints can be active at any
one time
▶ If yij = 0, the first constraint is active, and the second is redundant (because its
left-hand side will include M , which is much larger than pi ). If yij = 1, the first
constraint is redundant, and the second is active
▶ Next, given that dj is the due date for job j, the job is late if xj + pj ≥ dj . We can use
two nonnegative variables, s− +
j and sj , to determine the status of a completed job j
with regard to its due date, the due date constraint can be written as

xj + p j + s − +
j − sj = dj

▶ Job j is ahead of schedule if s− +


j ≥ 0, and late if sj ≥ 0. The late-penalty cost is thus
+
proportional to sj
Job Sequencing Model
The model for the given problem is
min z = 19s+ + +
1 + 12s2 + 34s3

subject to,
x1 − x2 + M y12 ≥ 20
−x1 + x2 − M y12 ≥ 5 − M
x1 − x3 + M y13 ≥ 15
−x1 + x3 − M y13 ≥ 5 − M
x2 − x3 + M y23 ≥ 15
−x2 + x3 − M y23 ≥ 20 − M
x1 + s− +
1 − s1 = 25 − 5
x2 + s− +
2 − s2 = 22 − 20
x3 + s− +
3 − s3 = 35 − 15
x1 , x2 , x3 , s− + − + − +
1 , s1 , s2 , s2 , s3 , s3 ≥ 0 and y12 , y13 , y23 ∈ {0, 1}
Job Sequencing Model

▶ To solve the model, we choose M = 100, a value that is larger than the sum of the
processing times for all three activities
▶ The optimal solution is x1 = 20, x2 , = 0, x3 = 25, This means that job 2 starts at time
0, job 1 starts at time 20, and job 3 starts at time 25, thus yielding the optimal
processing sequence 2 → 1 → 3
▶ The solution calls for completing job 2 at time 0 + 20 = 20, job 1 at time
= 20 + 5 = 25, and job 3 at 25 + 15 = 40 days. Job 3 is delayed by 40 − 35 = 5 days
past its due date at a cost of 5 × $34 = $170
Integer Programming Algorithms
▶ The ILP algorithms are based on exploiting the tremendous computational success
of LP. The strategy of these algorithms involves three steps.
Step 1 Relax the solution space of the ILP by deleting the integer restriction on all integer
variables and replacing any binary variable y with the continuous range 0 ≤ y ≤ 1. The
result of the relaxation is a regular LP
Step 2 Solve the LP, and identify its continuous optimum
Step 3 Starting from the continuous optimum point, add special constraints that iteratively
modify the LP solution space in a manner that eventually renders an optimum extreme
point satisfying the integer requirements
▶ Two general methods have been developed for generating the special constraints in
Step 3
▶ Branch & Bound Method
▶ Cutting Plane Method
▶ Neither method is consistently effective computationally. However, experience
shows that the B&B method is far more successful than the cutting-plane method

You might also like