The Quadratic Assignment Problem Solved by Semi

The Quadratic Assignment Problem Solved by
Semi-Lagrangian Relaxation
Cesar Beltran-Royo (DEIO-URJC)
Miguel Constantino (DEIO-U. Lisboa)
Huizhen W. (DEIO-U. Lisboa)
1.1
Objective
The objective of this paper is to solve the Quadratic Assignment (QP) problem by
semi-Lagrangian relaxation (SLR).
min
x
s. t.
X
dijkl xij xkl
(1.1)
i,j,k,l
X
xij = 1
i ∈ I := {1, . . . , n},
(1.2)
xij = 1
j ∈ J := {1, . . . , n},
(1.3)
j∈J
X
i∈I
xij ∈ {0, 1},
(1.4)
where xij = 1, if facility i is located in location j.
1
Table 1.1: ‘Recently’-solved large QA instances (1999-2003).
1.2
Relevance and state of the art (Anstreicher, 2003)
• Applications: Location, data classification, ergonometric design, etc.
• The QA problem is very difficult for exact methods.
• Heuristic methods often give near-optimal solutions.
2
1.3
Integer programming formulation of the QA problem
min
x,y
s. t.
X
dijkl yijkl
(1.5)
i,j,k,l
X
xij = 1
i ∈ I,
(1.6)
xij = 1
j ∈ J,
(1.7)
yijkl = xij
i ∈ I, j ∈ J, k ∈ K =: {1, . . . , n},
(1.8)
yijkl = xij
i ∈ I, j ∈ J, l ∈ L =: {1, . . . , n},
(1.9)
j∈J
X
i∈I
X
l∈L
X
k∈K
yijkl = yklij
(i, j, k, l) ∈ I × J × K × L,
xij , yijkl ∈ {0, 1}.
3
(1.10)
(1.11)
1.3. Integer programming formulation of the QA problem (cont.)
Figure 1.1: Underlying graph of the IPQA problem.
4
1.4
Semi-Lagrangian relaxation of the IPQA problem
Before applying the SLR method we stress the following facts:
• The QA instances we find in literature seem very difficult to solve since they
have large duality gaps (o(20%))and the reported CPU times are very large.
• The number of yijkl variables is o(n4 ). Hopefully we will be able to fix to 0
many of these variables en the SLR framework.
• We cannot fix variables xij . This doesn’t really matter, since the number of
these variables is o(n2 ).
• In the SLR method we will relax constraints (1.8-1.9). This implies a large
number of Lagrange multipliers (o(n3 )).
5
1.4. Semi-Lagrangian relaxation of the IPQA problem (cont.)
To solve the IPQA problem by the SLR method we perform two main steps:
1. SLR inial point: Solve the Lagrangian dual problem to obtain an optimal
vector of Lagrange multipliers (u+ , v + ).
2. SLR iterations: Starting at (u+ , v + ), solve the SLR dual problem in order
to obtain an optimal primal-dual vector (x∗ , y ∗ , u∗ , v ∗ ).
6
1.5
Lagrangian dual problem
max LLR (u, v)
u,v
(1.12)
with the oracle (dual function)
LLR (u, v) := min
x,y
s. t.
L(u, v, x, y)
X
xij = 1
(1.13)
i ∈ I,
(1.14)
j ∈ J,
(1.15)
j∈J
X
xij = 1
i∈I
yijkl = yklij
(i, j, k, l) ∈ I × J × K × L, (1.16)
xij , yijkl ∈ {0, 1}.
(1.17)
7
1.5. Lagrangian dual problem (cont.)
where
L(u, v, y, x) =
=
=
X
X
yijkl dijkl +
i,j,k,l
i,j,l
l∈L
X
X
(dijkl − uijk − vijl )yijkl +
uijk xij +
vijl xij
X
i,j,k,l
X
i,j,k,l
X
uijk xij −
yijkl +
i,j,k
i,j,k
d¯ijkl yijkl +
X


#
"
X
vijl xij −
X
k∈K(i)
i,j,l
c̄ij xij ,
i,j
(1.18)
P
P
with d¯ijkl := dijkl − uijk − vijl and c̄ij := k uijk + l vijl .
8
yijkl 
1.6
Semi-Lagrangian dual problem
max LSLR (u, v)
u,v
LSLR (u, v) := min
x,y
s. t.
L(u, v, x, y)
X
xij = 1
(1.19)
(1.20)
i ∈ I,
(1.21)
j ∈ J,
(1.22)
i ∈ I, j ∈ J, k ∈ K(i),
(1.23)
i ∈ I, j ∈ J, l ∈ L,
(1.24)
j∈J
X
xij = 1
i∈I
X
yijkl ≤ xij
l∈L
X
yijkl ≤ xij
k∈K(i)
yijkl = yklij
(i, j, k, l) ∈ I × J × K × L, (1.25)
xij , yijkl ∈ {0, 1}.
(1.26)
9
1.6. Semi-Lagrangian dual problem (cont.)
Figure 1.2: Only a few arcs will be present in the SLR-IPQA graph.
10