2.2 Examples of Integer Linear Programming Problems (1-7) - Pages-1-9
2.2 Examples of Integer Linear Programming Problems (1-7) - Pages-1-9
Example 1.1 (The Assignment Problem). A team of n people have to carry out
n jobs, each person carrying out exactly one job. If person i is assigned to job j, a
cost cij is incurred. Which assignment minimises the total cost?
• Constraints:
– Each person does exactly one job, that is,
n
X
xij = 1 (i ∈ [1, n])
j=1
More general integer programs are mathematical problems of the following form:
Integer Programs:
max cT x
x
s.t. Ax ≤ b, (componentwise)
x ≥ 0, (componentwise)
x ∈ Zn ,
where A is a matrix and b, c are vectors with rational coefficients, and where inequal-
ities such as Ax ≤ b are to be understood as componentwise inequalities.
Binary Integer Programs:
max cT x
x
s.t. Ax ≤ b
x ∈ Bn
max cT x + hT y
x,y
s.t. Ax + Gy ≤ b
x, y ≥ 0,
y ∈ Zp ,
2
Fig. 1.2. Which items should we pack into the bag?
Example 1.3 (The Integer Knapsack Problem). The setup is the same as in
Example 1.2, but multiple copies of each type of item are available.
In this case the decision variables are no longer binary but arbitrary nonnegative
integers, so that the model becomes
n
X
max ci xi
i=1
n
X
s.t. ai xi ≤ b,
i=1
x ≥ 0,
x ∈ Zn .
A generalisation of this problem in which more than one knapsack occur is called
the Cutting Stock Problem. This kind of problem plays an important role in the pa-
per industry. Another close relative is the Bin Packing Problem that occurs in the
3
2× 3× 7×
Fig. 1.3. How to cut this paper roll so as to minimise waste for the given size orders?
considered location
considered location
considered location
considered location
Fig. 1.4. Where to build fire stations so that every neighbourhood is reachable within a given
target time?
shipping industry.
4
Fig. 1.5. Graph representation of the set covering problem from Figure 1.4.
However, this form of the problem does not lend itself to being approached by the
algorithmic methods we will develop. We therefore reformulate the problem as a binary
integer programme:
Let the incidence matrix A = aij be defined by
(
1 if i ∈ Sj ,
aij =
0 otherwise.
The covering constraint needs to be satisfied: At least one fire station must service
neighbourhood i for each i,
n
X
aij xj ≥ 1, for each i ∈ [1, m].
j=1
x ∈ Bn .
5
Fig. 1.6. A travelling salesman problem.
Note that it may be the case that cij 6= cji . If cij = cji for all i, j ∈ [1, n], then we
speak of the symmetric travelling salesman problem (STSP), and (V, E) is considered
an undirected graph.
Formulation as a BIP:
• Decision variables: For all i, j ∈ [1, n],
(
1 if the tour contains edge ij,
xij =
0 otherwise.
• Constraints:
– The salesman leaves city i exactly once
X
xij = 1 (i = 1, . . . , n).
j:j6=i
Fig. 1.7. Subtours that don’t visit all nodes need to be disallowed.
x ∈ Bn×n .
– For each pair (i, j) ∈ M × N let xij ∈ [0, 1] be the proportion of the
demand of of client i satisfied from depot j.
– To incorporate the fixed costs: For each j ∈ N , we let yj = 1 if depot j
is used, and yj = 0 otherwise.
• Objective function: The total cost
XX X
cij xij + fj yj .
i∈M j∈N j∈N
• Constraints:
– 100% of client i’s demand must be satisfied
n
X
xij = 1 for i = 1, . . . , m.
j=1
1 Please study this condition in detail, as this type of constraint occurs often in integer program-
]
Thus, we find the following MIP model for UFL:
XX X
min cij xij + fj yj
(x,y)∈Rm×n+n
i∈M j∈N j∈N
X
s.t. xij = 1 (i ∈ M ),
j∈N
X
xij ≤ myj (j ∈ N ),
i∈M
x ≥ 0,
y ∈ Bn .
• Decision variables:
– xt is the amount produced in period t (allowed to be fractional).
– yt = 1 if production occurs in period t, and yt = 0 otherwise.
– st is the amount of product held in storage during period t.
• Objective function:
n
X
(pt xt + ft yt + ht st ).
t=1
• Constraints:
– No product is ever thrown away,
st−1 + xt = dt + st , ∀ t.
9