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

MATHEMATICAL Formulations For Interger Programming

The document discusses mathematical formulations for integer programming problems. It begins with an outline of topics to be covered, including basic restrictions with binary variables, non-linear and piecewise linear functions, flow and path formulations, subtour elimination, hard vs. soft constraints, and historical developments. It then provides examples of formulations for problems like the 0-1 knapsack problem, bounded knapsack problem, integer linear programming, mixed integer programming, selection of objects with binary variables, and the maximum independent set problem.

Uploaded by

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

MATHEMATICAL Formulations For Interger Programming

The document discusses mathematical formulations for integer programming problems. It begins with an outline of topics to be covered, including basic restrictions with binary variables, non-linear and piecewise linear functions, flow and path formulations, subtour elimination, hard vs. soft constraints, and historical developments. It then provides examples of formulations for problems like the 0-1 knapsack problem, bounded knapsack problem, integer linear programming, mixed integer programming, selection of objects with binary variables, and the maximum independent set problem.

Uploaded by

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

MATHEMATICAL

FORMULATIONS FOR INTEGER


PROGRAMMING PROBLEMS

Luciana Salete Buriol


[email protected]

XXI ELAVIO, Miramar - Argentina — 2017


MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
ELAVIO 2017 PROBLEMS

• 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

1. Basic restrictions with binary variables

2. Non-linear and piecewise linear functions

3. Flow and path formulations

4. Subtour elimination

5. Hard vs. Soft constraints

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

• UFRGS is located in Porto


Alegre, the Capital of Rio
Grande do Sul;
4
• About 1.4M in habitants
MATHEMATICAL
FORMULATIONS FOR
COMPUTER SCIENCE AT UFRGS (FEDERAL INTEGER PROGRAMMING
UNIVERSITY OF RIO GRANDE DO SUL) PROBLEMS

• Post Graduation in Computer


Science (PPGC) was created
in 1972 and is among the
first graduate programs in
Computer Science in Brazil;
• Has about 330 PhD and
MScs students, and already
formed about 220 PhDs and
1330 MScs;
• 75 full-professors graduated
in important institutions
around the world;
• Ranked among the top-5
PPGC in Brazil.
5
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
MATHEMATICAL MODEL PROBLEMS

• Decision variables: quantified decisions of the problem;


• Objective function: performance measure;
• Constraints: limit the values of variables;
• Parameters: input data.

6
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
0-1 KNAPSACK PROBLEM PROBLEMS

• Given n itens N = {1, 2, ...n},


• each with a profit pi and a weight wi , and a knapsack weight
restriction K.
• Select a subset of the items so that the total weight is less
than or equal to K, and the total value is as large as possible.

7
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
0-1 KNAPSACK PROBLEM PROBLEMS

• Given n itens N = {1, 2, ...n},


• each with a profit pi and a weight wi , and a knapsack weight
restriction K.
• Select a subset of the items so that the total weight is less
than or equal to K, and the total value is as large as possible.
• Which are the decision variables?

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

• Linear Programing (LP)

max ct x
Ax ≤ b
x ∈ Rn ≥ 0

• Integer Programing (IP)

max ht y
Gy ≤ b
y ∈ Zn ≥ 0

11
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
MIXED INTEGER PROGRAMMING (MIP) PROBLEMS

• Mixed Integer Programming

max ct x + ht y
Ax + Gy ≤ b
x ∈ Rn ≥ 0, y ∈ Z n ≥ 0

• LP and IP are special cases of MIP.


• Other special cases: 0-1-MIP e 0-1-IP.

x ∈ Bn

12
1 SELECTION OF OBJECTS WITH BINARY
VARIABLES

Variables x, y ∈ B: selection of objects.


MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS

• Or:
x+y ≥1 x, y ∈ B

13
1 SELECTION OF OBJECTS WITH BINARY
VARIABLES

Variables x, y ∈ B: selection of objects.


MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS

• Or:
x+y ≥1 x, y ∈ B

• Exclusive-or:
x+y =1 x, y ∈ B

13
1 SELECTION OF OBJECTS WITH BINARY
VARIABLES

Variables x, y ∈ B: selection of objects.


MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS

• Or:
x+y ≥1 x, y ∈ B

• Exclusive-or:
x+y =1 x, y ∈ B

• Select n objects from m itens x1 , . . . , xm ∈ B


m
=
X  
xi n
i

13
1 MAXIMUM INDEPENDENT SET
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS

• Given a undirected graph G = (V, E)


• Objective: Find the larger set S of nodes such that no edge
e ∈ E has both endpoints in S

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

• Implication: If x be selected, then y should be selected

x≤y x, y ∈ B

16
1

NON-CAPACITATED FACILITY LOCATION
PROBLEM
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS

Select one or more locations to install a factory each such that


the total weighted distances from factories to customers (cij ) is
minimized. Moreover, a fix cost for each factory (fi ) installed
is also summed up to the objective function.

An input: A possible solution:

clientes
fabricas

17
1 NON-CAPACITATED FACILITY LOCATION
PROBLEM
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS

xij : 1 if location i is attended by customer j, and 0 otherwise.


yi : 1 if there is a facility installed in location i, and 0 otherwise.

18
1 NON-CAPACITATED FACILITY LOCATION
PROBLEM
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS

xij : 1 if location i is attended by customer j, and 0 otherwise.


yi : 1 if there is a facility installed in location i, and 0 otherwise.
n
X n X
X n
min fj yi + cij xij
j=1 i=1 j=1
Xn
s.a xij = 1 ∀i = 1...n
j=1

xij ≤ yi ∀i, j = 1...n


xij ∈ {0, 1} i, j = 1, ..., n
yj ∈ {0, 1} j = 1, ..., n
18
1 GRAPH NODE COLORING
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS

• Given a undirected graph G = (V, E)


• Objective: Assign colors to all nodes such that no edge e ∈ E
has the same color.

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

• Implication: If xi and xi+1 be selected, then y should be


selected

xi + xi+1 ≤ 1 + y xi , xi+1 , y ∈ B

21
1 MAX SAT PROBLEM
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS

Satisfiability problems: min-SAT, max-SAT, 3-SAT.


• Given n variables and m clausules, and a formula F in the
conjunctive normal form.
• Objective: Find binary values for the variables such that the
larger number of clausules be satisfied.
F = (x1 ∨ x¯2 ∨ x¯4 ) ∧ (x2 ) ∧ (x¯1 ∨ x3 ∨ x4 )

Possible solution: x1 = x2 = x4 = 1 and x3 = 0

22
1 MAX SAT PROBLEM

Input data:
n, m: number of variables and clausules, respectively
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS

Cj : set of variables from clausule j


C̄j : set of negated variables from clausule j

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

xi ∈ {0, 1} ∀i = 1, ..., n (2)


yj ∈ {0, 1} ∀j, ..., m (3) 23
1 SELECTION OF OBJECTS WITH BINARY
AND INTEGER VARIABLES
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS

• Implication in case x is an integer variable:

x ≤ My x, y ∈ B

24
1 CUTTING STOCK PROBLEM
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS

In the cutting stock problem we are given an unlimited number of


rolls of length c and m different types of items. At least bi rolls of
length wi , i = 1, ..., m have to be cut from the base rolls. The
objective is to minimize the number of rolls used.

Bin Packing Problem: the case where bi = 1, i = 1, ...m

25
1 AN IP FORMULATION FOR THE CUTTING
STOCK PROBLEM

Variables:
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS

xij ∈ Z + : denotes how many times item type i is cut in roll j


yj ∈ {0, 1}: denotes whether roll j is used for cutting or not
U
X
min yj
j=1
Xm
s.t. wi xij ≤ cyj , j = 1, ..., U
i=1
XU
xij ≥ bi , i = 1, ..., m
j=1

xij ∈ Z + , yj ∈ B, i = 1, ..., m; j = 1, ..., U

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

But how about: x ≤ 1 or x ≥ 6?

OR

30
1 BIG M METHOD FOR IP FORMULATION
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS

Choose M large enough such that for every constraint:


n
X
ai xi ≤ b + M
i=1

That is, we will be able to satisfy any ≤ constraint by adding M to


the RHS.

31
1 BIG M METHOD FOR IP FORMULATION
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS

Choose M large enough such that for every constraint:


n
X
ai xi ≤ b + M
i=1

That is, we will be able to satisfy any ≤ constraint by adding M to


the RHS.
And we can satisfy any ≥ constraint by subtracting M from the
RHS. n
X
ai xi ≥ b − M
i=1

31
1 x ≤ 1 OR x ≥ 6
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS

Choose w ∈ B such that:


• if w = 1 then x ≤ 1
• if w = 0 then x ≥ 6

OR
x ≤ 1 + M (1 − w)
x ≥ 6 − Mw
w∈B

32
1 SELECTION ONE BETWEEN TWO
RESTRICTIONS
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS

Choose w ∈ B such that:


• if w = 1 then A1 x ≤ b1
• if w = 0 then A2 x ≤ b2

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

Two restaurants are willing to produce empanadas and pizzas to sell


during ELAVIO, but CELFI can only pay one restaurant. The
revenue is $12 for each empanada and $8 for each pizza.
Restaurante A spends 7 minutes producing each empanada and 3
minutes per pizza, and has a total amount of 3h of production.
Restaurante B spends 4 minutes producing each empanada and 2
minutes per pizza, and has a total amount of 2h of production.
Which restaurante would obtain the larger revenue?
Variables: e and p number of empanadas and pizzas produced
max 12e + 8p
7e + 3p ≤ 180
4e + 2p ≤ 120
e, p ∈ Z

34
1 PRODUCING EMPANADAS AND PIZZAS
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS

Two restaurants are willing to produce empanadas and pizzas to sell


during ELAVIO, but CELFI can only pay one restaurant. The
revenue is $12 for each empanada and $8 for each pizza.
Restaurante A spends 7 minutes producing each empanada and 3
minutes per pizza, and has a total amount of 3h of production.
Restaurante B spends 4 minutes producing each empanada and 2
minutes per pizza, and has a total amount of 2h of production.
Which restaurante would obtain the larger revenue?
Variables: e and p number of empanadas and pizzas produced
max 12e + 8p
7e + 3p ≤ 180
4e + 2p ≤ 120
e, p ∈ Z
This formulation imposes both restrictions, and then it does not
model the problem correctly. 34
1 PRODUCING EMPANADAS AND PIZZAS
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS

Two restaurants are willing to produce empanadas and pizzas to sell


during ELAVIO, but CELFI can only pay one restaurant. The
revenue is $12 for each empanada and $8 for each pizza.
Restaurante A spends 7 minutes producing each empanada and 3
minutes per pizza, and has a total amount of 3h of production.
Restaurante B spends 4 minutes producing each empanada and 2
minutes per pizza, and has a total amount of 2h of production.
Which restaurante would obtain the larger revenue?
Variables: e and p number of empanadas and pizzas produced; and
w is the Restaurant that will be chosen.
max 12e + 8p
7e + 3p ≤ 180 + M w
4e + 2p ≤ 120 + M (1 − w)
e, p ∈ Z
w∈B 35
1 SELECTION k AMONG n RESTRICTIONS
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

Minimize costs with a fix entry c


MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS

(
0 x=0
f (x) =
c + l(x) 0 < x ≤ x̄

with l(x) linear.

39
2

NON-LINEAR OBJECTIVE FUNCTION

Minimize costs with a fix entry c


MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS

(
0 x=0
f (x) =
c + l(x) 0 < x ≤ x̄

with l(x) linear.


• Linear model:

f (x) = cy + l(x)
x ≤ x̄y
x ∈ R, y ∈ B

39
2 PIECEWISE LINEAR FUNCTIONS
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS

• Disagreg. Convex Combination - DCC (Sherali, 2001);


• Special Ordered Set of type 2 - SOS2 (Beale and Tomlin,
1970);

40
3 NETWORK FLOW PROBLEM
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS

• Given a directed graph G = (V, A)


• arcs with limited capacity l : A → Z + ,
• Which is the max flow?

An input: A possible solution:

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

Flow conservation constraint


42
3 POINT-TO-POINT SHORTEST PATH
PROBLEM
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS

• Given a directed weighted graph G = (V, A, w) with wa ∈ R+ ,


a source node s, and a destination node t
• Objective: Find the shortest path between s and t.

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

• Leonardo Moura, Luciana S. Buriol, “A Column Generation Approach for the


Virtual Network Embedding Problem", Conference on Combinatorial
Optimization, 2014, Montevideo. Proceedings of the VIII ALIO/EURO
Workshop on. Applied Combinatorial Optimization, 2014. p. 1-6.
45
3 VIRTUAL NETWORK EMBEDDING
PROBLEM
Variables:
xv,s = 1 iff the substrate node s hosts the virtual node v
yv,w,s,j = 1 iff the physical link (s, j) hosts the virtual link (v, w)
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)

yk,l,m,n ∈ {0, 1} ∀(k, l) ∈ E


V
, (m, n) ∈ E
S
(10) 46
3 VIRTUAL NETWORK EMBEDDING
PROBLEM
Variables:
xv,s = 1 iff the substrate node s hosts the virtual node v
yv,w,s,j = 1 iff the physical link (s, j) hosts the virtual link (v, w)
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS

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)

yk,l,m,n ∈ {0, 1} ∀(k, l) ∈ E


V
, (m, n) ∈ E
S
(10) 46
3 VIRTUAL NETWORK EMBEDDING
PROBLEM
Variables:
xv,s = 1 iff the substrate node s hosts the virtual node v
yv,w,s,j = 1 iff the physical link (s, j) hosts the virtual link (v, w)
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 ∀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)

yk,l,m,n ∈ {0, 1} ∀(k, l) ∈ E


V
, (m, n) ∈ E
S
(10) 46
3 VIRTUAL NETWORK EMBEDDING
PROBLEM
Variables:
xv,s = 1 iff the substrate node s hosts the virtual node v
yv,w,s,j = 1 iff the physical link (s, j) hosts the virtual link (v, w)
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 ∀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)

yk,l,m,n ∈ {0, 1} ∀(k, l) ∈ E


V
, (m, n) ∈ E
S
(10) 46
3 VIRTUAL NETWORK EMBEDDING
PROBLEM
Variables:
xv,s = 1 iff the substrate node s hosts the virtual node v
yv,w,s,j = 1 iff the physical link (s, j) hosts the virtual link (v, w)
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 ∀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)

yk,l,m,n ∈ {0, 1} ∀(k, l) ∈ E


V
, (m, n) ∈ E
S
(10) 46
3 VIRTUAL NETWORK EMBEDDING
PROBLEM
Variables:
xv,s = 1 iff the substrate node s hosts the virtual node v
yv,w,s,j = 1 iff the physical link (s, j) hosts the virtual link (v, w)
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 ∀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)

yk,l,m,n ∈ {0, 1} ∀(k, l) ∈ E


V
, (m, n) ∈ E
S
(10) 46
3 WHY TO FORMULATE IP PROBLEMS?
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS

• Because your solution approach needs a math


formulation.

47
3 WHY TO FORMULATE IP PROBLEMS?
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS

• Because your solution approach needs a math


formulation.
• To formalize a clear definition of the problem;

47
3 WHY TO FORMULATE IP PROBLEMS?
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS

• Because your solution approach needs a math


formulation.
• To formalize a clear definition of the problem;

47
3 WHY TO FORMULATE IP PROBLEMS?
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS

• Because your solution approach needs a math


formulation.
• To formalize a clear definition of the problem;
• To provide a comparison against CPLEX results
(or from other solver);

48
3 WHY TO FORMULATE IP PROBLEMS?
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS

• Because your solution approach needs a math


formulation.
• To formalize a clear definition of the problem;
• To provide a comparison against CPLEX results
(or from other solver);
• To play with restrictions when defining a problem;

48
3 WHY TO FORMULATE IP PROBLEMS?
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS

• Because your solution approach needs a math


formulation.
• To formalize a clear definition of the problem;
• To provide a comparison against CPLEX results
(or from other solver);
• To play with restrictions when defining a problem;
• To guide decisions on further solution approaches
for the problem (maybe a solver solution is
enough);
• To explore bounds and properties of different
formulations.

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

min cij xij


n
X
s.a xij = 1 i∈V
j=1
Xn
xij = 1 j∈V
i=1
X
xij ≤ |S| − 1, S ∈ V : 2 ≤ |S| ≤ (n − 1)
i∈S,j∈S

xij ∈ {0, 1}, ∀i, j ∈ N.

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

ui ∈ R+ : the order the node is visited

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

• There are n clients to visit, each with demand di , K vehicles


with capacity C with routes leaving from node 1, and the costs
cij between each pair (i,j)
• Find the K routes with minimum total cost, attending all client
demands without surpassing the vehicle capacities
• More info about VRP find in http://neo.lcc.uma.es/vrp/.

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

xij ∈ {0, 1}, ui ∈ R


+
∀i, j 54
4 OLYMPICS ONE-DAY ROUND
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS

• Given n games, each with a starting time and a finishing time;


a start-end point p, and a time distance between each pair of
points
• Objective: Find a tour that starts and ends at node p, and
attends the larger number of games.

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.

• Árton Dorneles, Olinto Araújo, Luciana S. Buriol. “A fix-and-optimize heuristic


for the high school timetabling problem", Computers & Operations Research, v.
52, p. 29-38, 2014.

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

xedp ∈ {0, 1} ∀e, d, p (16)


ytd ∈ {0, 1} ∀t, d (17)

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

xedp ∈ {0, 1} ∀e, d, p (16)


ytd ∈ {0, 1} ∀t, d (17)

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

xedp ∈ {0, 1} ∀e, d, p (16)


ytd ∈ {0, 1} ∀t, d (17)

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

xedp ∈ {0, 1} ∀e, d, p (16)


ytd ∈ {0, 1} ∀t, d (17)

59
5 HIGH SCHOOL TIMETABLING

Min
XX
ytd
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS

(11)

t∈T d∈D

Minimizes the Subject


number to
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

xedp ∈ {0, 1} ∀e, d, p (16)


ytd ∈ {0, 1} ∀t, d (17)

59
5 HIGH SCHOOL TIMETABLING: FLOW
FORMULATION
Symbol
Sets
Definition
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS

v∈V set of all nodes.


a ∈ At set of all arcs of the commodity t (At ⊂ A).
a ∈ Atcdp set of lesson arcs of the commodity t on class c, day d, and period p.
a ∈ A−tv set of all arcs incoming node v for the commodity t.
a ∈ A+tv set of all arcs outgoing node v for the commodity t.
a ∈ Yt set of all working day arcs of teacher t.

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

xta ∈ {0, 1} ∀t ∈ T, a ∈ At (23)


(24)
61
5 HST: FLOW FORMULATION (AN INSTANCE)

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

Example of a feasible schedule for a teacher t represented by a path in the network. In


this example, a teacher works only on days 1 and 3. On day 1, she/he teaches a single
lesson for the class c2 in the period P1, becomes idle in the period P2, and then gives
a double lesson starting in the period P3 for the class c1 . On day 3, she/he teaches a
single lesson for class c1 in the period P2 and another one for class c2 in the period P3.

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

Operational Research = Operations Research

Operational Research is in British usage, while that Operations


Research is in American usage.

65
7 OPERATIONAL RESEARCH BEFORE THE II
WORLD WAR
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS

Before the II World War OR did not exist as a research area.


However, some of the basic OR techniques were developed before
the IIWW: inventory control, queuing theory, and statistical, quality
control, among others.

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

During the II World War scientists were contracted to research how


to better perform military operations

67
7 OPERATIONAL RESEARCH DURING THE II
WORLD WAR
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS

During the II World War scientists were contracted to research how


to better perform military operations

Operational Research

67
7 OPERATIONAL RESEARCH DURING THE II
WORLD WAR
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS

During the II World War scientists were contracted to research how


to better perform military operations

Operational Research

As a formal discipline, OR was originated in the efforts of


military planners during the II World War.

67
7 OR DURING THE II WORLD WAR 1939-1945
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS

• About 1000 man and woman were were engaged in operational


research in UK
• About 200 of them were scientists working in Operations
Research for the British Army
• The Army Operational Research Group (AORG) was divided
into 21 Operations Research Sections (ORS): BC-ORS
(Bomber Command), CC-ORS (Coastal Command), etc.

68
7 OR DURING THE II WORLD WAR 1939-1945
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS

The Army Operational Research Group (AORG) was responsible for


strategic decisions:
• the color of the plains (white ones could arrive 20% closer than
the black ones)
• the trigger depth of aerial-delivered charges (changing from
100 feet to 25 feet the percentage of success on sunking
submarines changed from 1% to 7%)
• size of the convoys (large ones were more defensible)
• comparing the number of flying hours of aircrafts to the
number of U-boat sightings in a given area, it was possible to
redistribute aircraft to more productive patrol areas

69
7 OR DURING THE II WORLD WAR 1939-1945
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS

The Army Operational Research Group (AORG) was responsible for


strategic decisions:
• the color of the plains (white ones could arrive 20% closer than
the black ones)
• the trigger depth of aerial-delivered charges (changing from
100 feet to 25 feet the percentage of success on sunking
submarines changed from 1% to 7%)
• size of the convoys (large ones were more defensible)
• comparing the number of flying hours of aircrafts to the
number of U-boat sightings in a given area, it was possible to
redistribute aircraft to more productive patrol areas

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

• After the war, researchers kept on working in the area.


• OR was applied to many different problems in business,
industry and society.
• The results attracted new researchers to the area.

70
7 OR: 1945-1960
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS

• After the war, researchers kept on working in the area.


• OR was applied to many different problems in business,
industry and society.
• The results attracted new researchers to the area.
• Several significant contributions

70
7 OR: 1945-1960
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS

Several significant contributions:


• 1947: George Dantzig created the Simplex algorithm,
• 1948: Duality (conjecture by John von Neumann and proved by
Albert Tucker in 1948)
• 1956: Alan Hoffman and Joseph Kruskal: importance of
unimodularity to find integer solutions
• 1958: Cutting Planes algorithm by Ralph Gomory
• 1960: (Branch-and-Bound) A.H. Land and A.G. Doig, “An
automatic method for solving discrete programming problems”,
Econometrica 28 (1960) 497-520.

71
7 OR: 1945-1960
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS

Several significant contributions:


• 1946-1950: the Monte Carlo method was developed (John von
Neumann and Stanislaw Ulam)
• 1950: The Nash Equilibrium (Ph.D. of John Nash)
• 1951: Karush-Kuhn-Tucker (KKT)
• 1953: Metropolis Algorithm
• 1953: Dynamic programming (Richard Bellman)
• 1956: Dijkstra algorithm for calculating shortest paths in
graphs
• 1956: Ford-Fulkerson algorithm O(E.maxf low)

72
7 OR: 1960-1970
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS

Creation of OR Societies and Journals. Operational Research


Societies:
1957: The first International Federation of Operational Research
Societies (IFORS), in Oxford/England
1959: IFORS: International Federation of Operational Research
Societies

73
7 OR: 1960-1970
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS

Creation of OR Societies and Journals. Operational Research


Societies:
1957: The first International Federation of Operational Research
Societies (IFORS), in Oxford/England
1959: IFORS: International Federation of Operational Research
Societies
• 1959: France, UK, USA

73
7 OR: 1960-1970
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS

Creation of OR Societies and Journals. Operational Research


Societies:
1957: The first International Federation of Operational Research
Societies (IFORS), in Oxford/England
1959: IFORS: International Federation of Operational Research
Societies
• 1959: France, UK, USA
• 1960: Australia, Belgium, Canada, India, The Netherlands,
Norway, Sweden
• 1961: Japan
• 1962: Argentina, Germany, Italy
• 1963: Denmark, Spain, Switzerland
• 1966: Greece, Ireland, Mexico
• 1969: Brazil, Israel
73
7

OR: 1960-1970

1970: New Zealand


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

1976: EURO (Association of European OR Societies) was


constituted, currently with 31 countries

76
7

IFORS: REGIONAL GROUPINGS
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS

1976: EURO (Association of European OR Societies)


• 1982: ALIO (Association of Latin American OR Societies).
Argentina, Brazil, Chile, Colombia, Cuba, Equador, Mexico,
Peru, Portugal, Spain, Uruguay.

77
7

APORS
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS

1976: EURO (Association of European OR Societies)


• 1982: ALIO (Association of Latin American OR Societies)
• 1985: APORS: Association of Asian-Pacific OR Societies,
currently with 10 countries

78
7

NORAM
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS

1976: EURO (Association of European OR Societies)


• 1982: ALIO (Association of Latin American OR Societies)
• 1985: APORS: Association of Asian-Pacific OR Societies
• 1987: NORAM: Association of North American OR Societies

79
7 OR 1960-1970
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS

• 1960: Dantzig-Wolf decomposition


• 1961: Gilmore P. C., R. E. Gomory, “A linear programming
approach to the cutting-stock problem”. Operations Research 9:
849-859
• 1962: Gale-Shapley algorithm for solve the Stable Matching
Problem
• 1963: First OR book - “Linear programming and extensions”,
by George Dantzig
• 1969: The four color problem theorem, a method for solving
the problem using computers by Heinrich Heesch

80
7 OR: 1970-1980
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS

• Notion of problem complexity: importance of polynomial


algorithms for combinatorial algorithms reached a broader
audience
• 1971: the Cook-Levin theorem
• Cook-Karp: 21 NPC problems
• 1979 “Computers and Intractability”, by Garey and Johnson

81
7 DAVID STIFLER JOHNSON 1945-2016
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS

82
7 OR: 1970-1980
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS

• Notion of problem complexity: importance of polynomial


algorithms for combinatorial algorithms reached a broader
audience
• 1971: the Cook-Levin theorem
• Cook-Karp: 21 NPC problems
• 1979 “Computers and Intractability”, by Garey and Johnson

• In 1977 the microprocessors were introduced. From mid 60’s


to mid 70’s computers were generally large, costly systems
owned by large corporations, universities, government agencies,
and similar-sized institutions.

83
7 OR 1970-1980
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS

• Zionts, S.; Wallenius, J. (1976). “An Interactive Programming


Method for Solving the Multiple Criteria Problem”.
Management Science 22 (6): 652
• First solvers: MINOS - Modular In-Core Nonlinear
Optimization System (1976), XMP (1979)
• 1979: The linear-programming problem was first shown to be
solvable in polynomial time by Leonid Khachiyan

84
7 OR: 1980-1990
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS

• 1984: Narendra Karmarkar introduced a new interior-point


method for solving linear-programming problems

85
7 OR: 1980-1990
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS

• 1984: Narendra Karmarkar introduced a new interior-point


method for solving linear-programming problems
• Metaheuristics were able to provide near-optimal solutions to
large problems
• 1975: Genetic algorithms become through the work of John
Holland in the early 1970s
• 1983: Simulated annealing by Kirkpatrick
• 1986: Tabu search by Glover
• 1989: GRASP by Feo and Resend

• Different approaches were proposed


• Applied to different problems
• Different set of parameters

85
7 OR: 1990-2000
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS

• Branch and cut: Cornuejols and co-workers showed how to


combine Gomory cuts with branch-and-bound overcoming
numerical instabilities
• Branch and price: column generation combined with
branch-and-bound (Nemhauser and Park (1991) and
Vanderbeck (1994))
• Problem decompositions

86
7

OR: 2000-2017

CPLEX performance
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS

• 1988: CPLEX 1.0


• 1992: CPLEX 2.0 with branch-and-bound and limited cuts
• 1998: CPLEX 6.0 added by heuristics and faster dual simplex
• 1999: CPLEX 6.6 with 7 types of cutting planes and several
node heuristics
• 2010: CPLEX 12.2 full-version is available free-of-charge to
academics.
• 2014: CPLEX 12.6

87
7

OR: 2000-2017

CPLEX performance
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS

• 1988: CPLEX 1.0


• 1992: CPLEX 2.0 with branch-and-bound and limited cuts
• 1998: CPLEX 6.0 added by heuristics and faster dual simplex
• 1999: CPLEX 6.6 with 7 types of cutting planes and several
node heuristics
• 2010: CPLEX 12.2 full-version is available free-of-charge to
academics.
• 2014: CPLEX 12.6
• Matheuristics: interoperation of metaheuristics and
mathematical programming techniques
• 2002: Agrawal, Manindra; Kayal, Neeraj; Saxena, Nitin
“PRIMES is in P”. Annals of Mathematics 160 (2):
781-793(2004). 2006 Gödel Prize and 2006 Fulkerson Prize.
• 2012: “Max flows in O(nm) time, or better”, James Orlin.
87
7 FINAL CONSIDERATIONS
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS

• To formulate mathematically a problem is an art!


• The number of variables and restrictions matters, but it is not
the only factor that determines the performance of the solver.
• Explore different mathematical formulations for the problem
you are solving.
• You are lucky for having so many solvers available...

88
7 ACKNOWLEDGEMENTS
MATHEMATICAL
FORMULATIONS FOR
INTEGER PROGRAMMING
PROBLEMS

Thanks for your attention!

[email protected]

89

You might also like