MATHEMATICAL Formulations For Interger Programming
MATHEMATICAL Formulations For Interger Programming
• Thanks Willy!
2
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
ELAVIO 2017 PROBLEMS
• Thanks Willy!
• Enjoy, ELAVIO is an unique event.
2
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
ELAVIO 2017 PROBLEMS
• Thanks Willy!
• Enjoy, ELAVIO is an unique event.
2
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
OUTLINE PROBLEMS
4. Subtour elimination
6. Historical Notes
7. Historical Developments
3
MATHEMATICAL
FORMULATIONS FOR
COMPUTER SCIENCE AT UFRGS (FEDERAL INTEGER PROGRAMMING
UNIVERSITY OF RIO GRANDE DO SUL) PROBLEMS
4
MATHEMATICAL
FORMULATIONS FOR
COMPUTER SCIENCE AT UFRGS (FEDERAL INTEGER PROGRAMMING
UNIVERSITY OF RIO GRANDE DO SUL) PROBLEMS
6
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
0-1 KNAPSACK PROBLEM PROBLEMS
7
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
0-1 KNAPSACK PROBLEM PROBLEMS
7
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
0-1 KNAPSACK PROBLEM PROBLEMS
n
X
max vi xi
i=1
X
s.t. wi x i ≤ K
i∈N
xi ∈ {0, 1}
8
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
UNBOUNDED KNAPSACK PROBLEM PROBLEMS
n
X
max vi xi
i=1
X
s.t. wi x i ≤ K
i∈N
xi ∈ Z
9
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
(BOUNDED) KNAPSACK PROBLEM PROBLEMS
n
X
max vi xi
i=1
X
s.t. wi x i ≤ K
i∈N
xi ≤ di ∀i
xi ∈ Z
10
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
INTEGER LINEAR PROGRAMMING PROBLEMS
max ct x
Ax ≤ b
x ∈ Rn ≥ 0
max ht y
Gy ≤ b
y ∈ Zn ≥ 0
11
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
MIXED INTEGER PROGRAMMING (MIP) PROBLEMS
max ct x + ht y
Ax + Gy ≤ b
x ∈ Rn ≥ 0, y ∈ Z n ≥ 0
x ∈ Bn
12
1 SELECTION OF OBJECTS WITH BINARY
VARIABLES
• Or:
x+y ≥1 x, y ∈ B
13
1 SELECTION OF OBJECTS WITH BINARY
VARIABLES
• Or:
x+y ≥1 x, y ∈ B
• Exclusive-or:
x+y =1 x, y ∈ B
13
1 SELECTION OF OBJECTS WITH BINARY
VARIABLES
• Or:
x+y ≥1 x, y ∈ B
• Exclusive-or:
x+y =1 x, y ∈ B
13
1 MAXIMUM INDEPENDENT SET
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
14
1 IP FORMULATION FOR THE MAXIMUM
INDEPENDENT SET
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
Variables:
xu ∈ {0, 1} : 1 if node u is in the solution and 0 otherwise
X
max xu
u∈V
s.a xu + xv ≤ 1 {u, v} ∈ E
xu ∈ {0, 1}
15
1 SELECTION OF OBJECTS WITH BINARY
VARIABLES
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
x≤y x, y ∈ B
16
1
•
NON-CAPACITATED FACILITY LOCATION
PROBLEM
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
clientes
fabricas
17
1 NON-CAPACITATED FACILITY LOCATION
PROBLEM
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
18
1 NON-CAPACITATED FACILITY LOCATION
PROBLEM
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
19
1 GRAPH NODE COLORING
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
Variables:
xuc ∈ {0, 1}: 1 if node u is colored with color c, and 0 otherwise.
yc ∈ {0, 1}: 1 if color c is used, and 0 otherwise.
20
1 GRAPH NODE COLORING
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
Variables:
xuc ∈ {0, 1}: 1 if node u is colored with color c, and 0 otherwise.
yc ∈ {0, 1}: 1 if color c is used, and 0 otherwise.
n
X
min yc
c=1
Xn
s.a xuc = 1 ∀u ∈ V
c=1
xuc + xvc ≤ 1 ∀(u, v) ∈ E, c ∈ V
xuc ≤ yc ∀u, c ∈ V
xuc ∈ {0, 1}, uc ∈ {0, 1} ∀u, c 20
1 SELECTION WITH BINARY VARIABLES
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
xi + xi+1 ≤ 1 + y xi , xi+1 , y ∈ B
21
1 MAX SAT PROBLEM
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
22
1 MAX SAT PROBLEM
Input data:
n, m: number of variables and clausules, respectively
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
Variables:
xi ∈ {0, 1}: if the value of the variable is 0 or 1
yj ∈ {0, 1}: if clausule j is satisfied or not
m
X
max yj
j=1
X X
s.t. xi + (1 − xi ) ≥ yj ∀j = 1, ..., m (1)
i∈Cj i∈C¯j
x ≤ My x, y ∈ B
24
1 CUTTING STOCK PROBLEM
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
25
1 AN IP FORMULATION FOR THE CUTTING
STOCK PROBLEM
Variables:
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
26
1 LOGICAL CONSTRAINTS: CONJUNCTION
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
Conjunction: z = xy = x ∧ y
z ≤ (x + y)/2
x y z
z ≥x+y−1 0 0 0
0 1 0
1 0 0
1 1 1
27
1 LOGICAL CONSTRAINTS: DISJUNCTION
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
Disjunction: z = x ∨ y
z ≥ (x + y)/2
x y z
z ≤x+y 0 0 0
0 1 1
1 0 1
1 1 1
28
1 LOGICAL CONSTRAINTS
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
• Complement: z = ¬x
z =1−x
29
1 INTERVALS: x ≥ 1 AND x ≤ 6
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
x≥1
x≤6
30
1 INTERVALS: x ≥ 1 AND x ≤ 6
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
x≥1
x≤6
OR
30
1 BIG M METHOD FOR IP FORMULATION
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
31
1 BIG M METHOD FOR IP FORMULATION
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
31
1 x ≤ 1 OR x ≥ 6
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
OR
x ≤ 1 + M (1 − w)
x ≥ 6 − Mw
w∈B
32
1 SELECTION ONE BETWEEN TWO
RESTRICTIONS
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
OR
A1 x ≤ b1 + M (1 − w)
A2 x ≤ b2 + M w
w∈B
33
1 PRODUCING EMPANADAS AND PIZZAS
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
34
1 PRODUCING EMPANADAS AND PIZZAS
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
A1 x ≤ b1 + M (1 − w1 )
A2 x ≤ b2 + M (1 − w2 )
...
An x ≤ bn + M (1 − wn )
n
X
wi = k i = {1, ..n}
i=1
wi ∈ B i = {1, ..n}
36
1 NON-LINEAR SELECTION ONE AMONG
TWO RESTRICTIONS
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
A1 x(1 − w) ≤ b1 (1 − w)
A2 xw ≤ b2 w
w∈B
37
1 LOGICAL CONSTRAINTS: CONJUNCTION
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
Conjunction: z = xy = x ∧ y
z ≤ (x + y)/2
x y z
z ≥x+y−1 0 0 0
0 1 0
1 0 0
1 1 1
38
2
•
NON-LINEAR OBJECTIVE FUNCTION
(
0 x=0
f (x) =
c + l(x) 0 < x ≤ x̄
39
2
•
NON-LINEAR OBJECTIVE FUNCTION
(
0 x=0
f (x) =
c + l(x) 0 < x ≤ x̄
f (x) = cy + l(x)
x ≤ x̄y
x ∈ R, y ∈ B
39
2 PIECEWISE LINEAR FUNCTIONS
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
40
3 NETWORK FLOW PROBLEM
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
41
3 IP FORMULATION FOR THE MAX FLOW
PROBLEM
Variables:
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
xa ∈ Z + : flow on arc a ∈ A
max f
X
s.a f= xa
a∈N + (s)
X X
xa − xa = 0 ∀v ∈ V \{s, d}
a∈N + (v) a∈N − (v)
0 ≤ xa ≤ la ∀a ∈ A
xa ∈ Z ∀a ∈ A
43
3 IP FORMULATION FOR THE
POINT-TO-POINT SHORTEST PATH
PROBLEM
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
Variables:
xa ∈ {0, 1}: 1 if a is in the shortest path, and 0 otherwise
X
min c a xa
a∈A
X X
s.a xa − xa = 1
a∈N + (s) a∈N − (s)
X X
xa − xa = −1
a∈N + (t) a∈N − (t)
X X
xa − xa = 0 ∀v ∈ V \ {s, t}
a∈N + (v) a∈N − (v)
xa ∈ {0, 1} ∀a ∈ A 44
3 VIRTUAL NETWORK EMBEDDING
PROBLEM
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
X X
min yv,w,s,j Bv,w
(s,j)∈E S (v,w)∈E V
X
S
s.t. xv,s Cv ≤ Cs minimizes the amount of bandwidth used ∀s ∈ V (4)
v∈V V
X
V
xv,s = 1 ∀v ∈ V (5)
s∈V S
X
S
xv,s ≤ 1 ∀s ∈ V (6)
v∈V V
X X
V S
yv,w,s,j − yv,w,j,s = xv,s − xw,s ∀(v, w) ∈ E ,s ∈ V (7)
j∈V S j∈V S
X
S
yv,w,s,j Bv,w ≤ Bs,j ∀(s, j) ∈ E (8)
(v,w)∈E V
V S
xv,s ∈ {0, 1} ∀v ∈ V ,s ∈ V (9)
X X
min yv,w,s,j Bv,w
(s,j)∈E S (v,w)∈E V
X
ensure substrate capacities are not surpassed S
s.t. xv,s Cv ≤ Cs ∀s ∈ V (4)
v∈V V
X
V
xv,s = 1 ∀v ∈ V (5)
s∈V S
X
S
xv,s ≤ 1 ∀s ∈ V (6)
v∈V V
X X
V S
yv,w,s,j − yv,w,j,s = xv,s − xw,s ∀(v, w) ∈ E ,s ∈ V (7)
j∈V S j∈V S
X
S
yv,w,s,j Bv,w ≤ Bs,j ∀(s, j) ∈ E (8)
(v,w)∈E V
V S
xv,s ∈ {0, 1} ∀v ∈ V ,s ∈ V (9)
X X
min yv,w,s,j Bv,w
(s,j)∈E S (v,w)∈E V
X
S
s.t. xv,s Cv ≤ Cs ∀s ∈ V (4)
v∈V V
X every virtual node is mapped to a substrate node V
xv,s = 1 ∀v ∈ V (5)
s∈V S
X
S
xv,s ≤ 1 ∀s ∈ V (6)
v∈V V
X X
V S
yv,w,s,j − yv,w,j,s = xv,s − xw,s ∀(v, w) ∈ E ,s ∈ V (7)
j∈V S j∈V S
X
S
yv,w,s,j Bv,w ≤ Bs,j ∀(s, j) ∈ E (8)
(v,w)∈E V
V S
xv,s ∈ {0, 1} ∀v ∈ V ,s ∈ V (9)
X X
min yv,w,s,j Bv,w
(s,j)∈E S (v,w)∈E V
X
S
s.t. xv,s Cv ≤ Cs ∀s ∈ V (4)
v∈V V
X every substrate node hosts at most one virtual node V
xv,s = 1 ∀v ∈ V (5)
s∈V S
X
S
xv,s ≤ 1 ∀s ∈ V (6)
v∈V V
X X
V S
yv,w,s,j − yv,w,j,s = xv,s − xw,s ∀(v, w) ∈ E ,s ∈ V (7)
j∈V S j∈V S
X
S
yv,w,s,j Bv,w ≤ Bs,j ∀(s, j) ∈ E (8)
(v,w)∈E V
V S
xv,s ∈ {0, 1} ∀v ∈ V ,s ∈ V (9)
X X
min yv,w,s,j Bv,w
(s,j)∈E S (v,w)∈E V
X
S
s.t. xv,s Cv ≤ Cs ∀s ∈ V (4)
v∈V V
X every virtual link is mapped to a path V
xv,s = 1 into the substrate graph ∀v ∈ V (5)
s∈V S
X
S
xv,s ≤ 1 ∀s ∈ V (6)
v∈V V
X X
V S
yv,w,s,j − yv,w,j,s = xv,s − xw,s ∀(v, w) ∈ E ,s ∈ V (7)
j∈V S j∈V S
X
S
yv,w,s,j Bv,w ≤ Bs,j ∀(s, j) ∈ E (8)
(v,w)∈E V
V S
xv,s ∈ {0, 1} ∀v ∈ V ,s ∈ V (9)
X X
min yv,w,s,j Bv,w
(s,j)∈E S (v,w)∈E V
X
S
s.t. xv,s Cv ≤ Cs ∀s ∈ V (4)
v∈V V
X ensures that the bandwidth capacities V
xv,s = 1 of the physical edges are not violated ∀v ∈ V (5)
s∈V S
X
S
xv,s ≤ 1 ∀s ∈ V (6)
v∈V V
X X
V S
yv,w,s,j − yv,w,j,s = xv,s − xw,s ∀(v, w) ∈ E ,s ∈ V (7)
j∈V S j∈V S
X
S
yv,w,s,j Bv,w ≤ Bs,j ∀(s, j) ∈ E (8)
(v,w)∈E V
V S
xv,s ∈ {0, 1} ∀v ∈ V ,s ∈ V (9)
47
3 WHY TO FORMULATE IP PROBLEMS?
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
47
3 WHY TO FORMULATE IP PROBLEMS?
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
47
3 WHY TO FORMULATE IP PROBLEMS?
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
48
3 WHY TO FORMULATE IP PROBLEMS?
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
48
3 WHY TO FORMULATE IP PROBLEMS?
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
48
3 WHY TO FORMULATE IP PROBLEMS?
5
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
x2 3
0
0 1 2 3 4 5
x1
See for example LP models for bin packing and cutting stock
problem by José Valerio de Carvalho, European Journal of
Operational Research 141(2):253-273, 2002. 49
4 ATSP (ASSYMETRIC TRAVELING
SALESMAN PROBLEM)
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
Subtour elimination.
• Given a directed weighed graph G = (V, A, w) with wa ∈ R+
• Objective: Find the shortest directed Hamiltonian cycle.
50
4 IP FORMULATION FOR THE ATSP
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
subtour elimination
51
4 MILLER-TUCKER-ZEMLIM IP
FORMULATION FOR THE ATSP
Variables:
xij ∈ {0, 1}: 1 if (i, j) is in the tour, and 0 otherwise
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
X
min cij xij
i,j
n
X
s.a xij = 1 i∈V
j=1
n
X
xij = 1 j∈V
i=1
ui − uj + nxij ≤ n − 1, ∀i, j ∈ V\1, i 6= j
+
xij ∈ {0, 1}, ui ∈ R ∀i, j
subtour elimination
PS: This formulation is weaker than the standard one.
52
4 CVRP
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
53
4 MILLER-TUCKER-ZEMLIM IP
FORMULATION FOR THE CVRP
Variables:
xij ∈ {0, 1}: 1 if (i, j) is in a route, and 0 otherwise
ui ∈ R+ : load of vehicle after visiting node i
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
X
min cij xij
i,j
n
X
s.a xij = 1 i ∈ V\{1} //each customer has and incoming arc
j=1
n
X
xij = 1 j ∈ V\{1} //each customer has and incoming arc
i=1
n n
X X
xi1 = K; x1j = K //there are K arcs incoming and outgoing the deposit
i=1 i=1
n
X
xii = 0 //avoid self-loops
i=1
uj − ui + C(1 − xij ) ≥ dj , ∀i, j ∈ V\{1}, i 6= j //avoid subcicles
ui ≤ C i ∈ V\{1} //the vehicle capacity cannot be surpassed
55
5 HIGH SCHOOL TIMETABLING
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
Hard Constraints
H1 : The workload defined in each event must be satisfied.
H2 : A teacher cannot be scheduled to more than one lesson in a given period.
H3 : Lessons cannot be taught to the same class in the same period.
H4 : A teacher cannot be scheduled to a period in which he/she is unavailable.
H5 : The maximum number of daily lessons of each event must be respected.
H6 : Two lessons from the same event must be consecutive when scheduled for the
same day, in case it is required by the event.
56
5 HIGH SCHOOL TIMETABLING
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
Soft Constraints
S1 Avoid teachers’ idle periods.
S2 Minimize the number of working days for teachers. In this context, working day
means a day that the teacher has at least one lesson assigned to him/her.
S3 Provide the number of double lessons requested by each event.
57
5
Symbol
HIGH SCHOOL TIMETABLING
Definition
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
Sets
d∈D days of week.
p∈P periods of day.
t∈T set of teachers.
c∈C set of classes.
e∈E set of events.
Et set of events assigned to teacher t.
Ec set of events assigned to class c.
Parameters
Re workload of event e.
Le maximum daily number of lessons of event e.
Variables
xedp binary variable that indicates whether event e is scheduled to timeslot
(d, p).
ytd has value 1 if at least one lesson is assigned to teacher t on day d, and
zero otherwise.
58
5 HIGH SCHOOL TIMETABLING
Min
XX
ytd
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
(11)
t∈T d∈D
Subject
H1: The workload defined in eachtoevent must be satisfied
X
xedp = Re ∀e //H1 (12)
d∈D,p∈P
X
xedp ≤ 1 ∀c, d, p //H3 (13)
e∈Ec
X
xedp ≤ Le ∀e, d //H5 (14)
p∈P
X
xedp ≤ ytd ∀t, d, p S2, H4 (15)
e∈Et
59
5 HIGH SCHOOL TIMETABLING
Min
XX
ytd
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
(11)
t∈T d∈D
Subject
H3: Lessons cannot be taught to to
the same class in the same period.
X
xedp = Re ∀e //H1 (12)
d∈D,p∈P
X
xedp ≤ 1 ∀c, d, p //H3 (13)
e∈Ec
X
xedp ≤ Le ∀e, d //H5 (14)
p∈P
X
xedp ≤ ytd ∀t, d, p S2, H4 (15)
e∈Et
59
5 HIGH SCHOOL TIMETABLING
Min
XX
ytd
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
(11)
t∈T d∈D
Subject
H5: The maximum number to lessons of each event must be respected
of daily
X
xedp = Re ∀e //H1 (12)
d∈D,p∈P
X
xedp ≤ 1 ∀c, d, p //H3 (13)
e∈Ec
X
xedp ≤ Le ∀e, d //H5 (14)
p∈P
X
xedp ≤ ytd ∀t, d, p S2, H4 (15)
e∈Et
59
5 HIGH SCHOOL TIMETABLING
Min
XX
ytd
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
(11)
t∈T d∈D
H2: A teacher cannot beSubject to to more than one lesson in a given period.
scheduled
S2: Accounts the number of working days for teachers.
X
xedp = Re ∀e //H1 (12)
d∈D,p∈P
X
xedp ≤ 1 ∀c, d, p //H3 (13)
e∈Ec
X
xedp ≤ Le ∀e, d //H5 (14)
p∈P
X
xedp ≤ ytd ∀t, d, p S2, H4 (15)
e∈Et
59
5 HIGH SCHOOL TIMETABLING
Min
XX
ytd
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
(11)
t∈T d∈D
X
xedp = Re ∀e //H1 (12)
d∈D,p∈P
X
xedp ≤ 1 ∀c, d, p //H3 (13)
e∈Ec
X
xedp ≤ Le ∀e, d //H5 (14)
p∈P
X
xedp ≤ ytd ∀t, d, p S2, H4 (15)
e∈Et
59
5 HIGH SCHOOL TIMETABLING: FLOW
FORMULATION
Symbol
Sets
Definition
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
Parameters
bv assumes 1 when v is the source, -1 when v is the sink, otherwise 0.
Htc ∈ N number of lessons that teacher t must taught to class c.
Ltc ∈ {1, 2} maximum daily number of lessons that teacher t can taught to class
c.
Sta ∈ {1, 2} size of arc a for the commodity t
γ=9 cost for each working day.
Variables
xta ∈ {0, 1} indicates whether commodity t uses arc a.
• Árton Dorneles, Olinto de Araújo, Luciana S. Buriol, “A Column Generation
Approach to High School Timetabling Modeled as a Multicommodity Flow 60
Problem". European Journal of Operational Research, p. 1-28, 2017.
5 HIGH SCHOOL TIMETABLING: FLOW
FORMULATION
Minimize
X
γxta
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
(18)
a∈Yt
Subject to
X X
xta − xta = bv ∀t ∈ T, v ∈ V //H2 (19)
a∈A+
tv a∈A−
tv
X X
xta ≤ 1 ∀c ∈ C, d ∈ D, p ∈ P //H3 (20)
t∈T a∈Atcdp
X
Sta xta = Htc ∀t ∈ T, c ∈ C //H1 (21)
S
a∈ Atcdp
d∈D,p∈P
X
Sta xta ≤ Ltc ∀t ∈ T, c ∈ C, d ∈ D //H5 (22)
S
a∈ Atcdp
p∈P
c1
Day 1
c2 c1
Day 2
c2 c1
Day 3
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
c2
7 14 21
P4
6 13 20
Wt Wt Wt
P3
5 12 19
Wt Wt Wt
P2 2 9 16
4 11 18
P1
Yt Yt Yt
3 10 17
source sink
1 8 15 22
Bt Bt Bt
Example of a network graph in a toy instance composed by three days, four periods by
day (P1, P2, P3, P4), and two classes (c1 , c2 ). Each day of the week is represented
by a rounded rectangle where lesson arcs and idle period arcs are located. Inside each,
lesson arcs appear in two groups represented by a shaded rectangle, where each group
represents the lesson arcs for classes c1 and c2 .
62
5 HST: FLOW FORMULATION (A SOLUTION)
c1
Day 1
c2 c1
Day 2
c2 c1
Day 3
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
c2
7 14 21
P4
6 13 20
Wt Wt Wt
P3
5 12 19
Wt Wt Wt
P2 2 9 16
4 11 18
P1
Yt Yt Yt
3 10 17
source sink
1 8 15 22
Bt Bt Bt
63
5 USING MATHPROG FROM GLPK
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
64
6 OPERATIONAL RESEARCH OR OPERATIONS
RESEARCH?
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
65
7 OPERATIONAL RESEARCH BEFORE THE II
WORLD WAR
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
For example, Charles Babbage produced results for sorting mail and
for defining the cost of transportation.
66
7 OPERATIONAL RESEARCH DURING THE II
WORLD WAR
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
67
7 OPERATIONAL RESEARCH DURING THE II
WORLD WAR
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
Operational Research
67
7 OPERATIONAL RESEARCH DURING THE II
WORLD WAR
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
Operational Research
67
7 OR DURING THE II WORLD WAR 1939-1945
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
68
7 OR DURING THE II WORLD WAR 1939-1945
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
69
7 OR DURING THE II WORLD WAR 1939-1945
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
The work developed by the AORG was very important for tactic and
strategic decisions during the war. 69
7 OR: 1945-1960
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
70
7 OR: 1945-1960
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
70
7 OR: 1945-1960
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
71
7 OR: 1945-1960
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
72
7 OR: 1960-1970
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
73
7 OR: 1960-1970
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
73
7 OR: 1960-1970
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
• 1972: Korea
• 1973: South Africa
• 1975: Chile, Finland
• 1976: Egypt
• 1977: Turkey
• 1978: Singapore
• 1979: Austria
• 1982: China, Portugal
• 1983: Hong Kong, Yugoslavia
• 1986: Iceland
• 1988: Malaysia
74
7 OR: 1960-1970
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
• 1990: Philippines
• 1992: Hungary
• 1993: Bulgaria
• 1994: Croatia, Czech Republic, Slovakia
• 1998: Belarus
• 2002: Bangladesh, Colombia, Lithuania
• 2007: Slovenia
75
7
•
IFORS: REGIONAL GROUPINGS
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
76
7
•
IFORS: REGIONAL GROUPINGS
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
77
7
•
APORS
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
78
7
•
NORAM
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
79
7 OR 1960-1970
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
80
7 OR: 1970-1980
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
81
7 DAVID STIFLER JOHNSON 1945-2016
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
82
7 OR: 1970-1980
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
83
7 OR 1970-1980
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
84
7 OR: 1980-1990
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
85
7 OR: 1980-1990
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
85
7 OR: 1990-2000
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
86
7
•
OR: 2000-2017
CPLEX performance
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
87
7
•
OR: 2000-2017
CPLEX performance
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
88
7 ACKNOWLEDGEMENTS
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS
89