Quadratic Assignment Problems

advertisement
CO 769. Paper presentation.
A New Method for Quick Solving
Quadratic Assignment Problem
by Zhongzhen Zhang
0. Before intro
Focus. “A New Method for Quickly Solving
Quadratic Assignment Problems”
Key concept. “Pivoting Algorithms”
•
•
Linear Programming
well established in Quadratic Programming
Follows from. “An efficient method for solving the local minimum of
indefinite quadratic programming”
More work: same person & same topic.
•
Book (in Chinese,2004) Convex Programming: Pivoting Algorithms for
Portfolio Selection and Network Optimization
CO 769
An algorithm for solving Quadratic Assignment Problems
1. Intro: Pivoting
• Start with a set of vectors
• Definition. The subset
independent and maximal i.e.
• Assume
is called a basis if it is linearly
is a basis. Represent this situation with the table
Basic vectors
Nonbasic vectors
CO 769
An algorithm for solving Quadratic Assignment Problems
1. Pivoting
• Pivoting. Swap one basic vector with a nonbasic vector
When it can be done?
swapped
• How to do it? What comes out?
CO 769
non zero
An algorithm for solving Quadratic Assignment Problems
1. Pivoting
• Pivoting. Swap one basic vector with a nonbasic vector
Update the table !
…
…
…
non zero
…
CO 769
An algorithm for solving Quadratic Assignment Problems
2.Solving systems of linear equalities&inequalities
B can be empty
• Solve:
l can be 0
• Take large M>0:
System defined by n+m vectors:
• Set up the “pivoting table”:
CO 769
An algorithm for solving Quadratic Assignment Problems
2.Solving systems of linear equalities&inequalities
≥
Let x1 be the solution of:
=
≥
measure the offset
x1 is a
solution
CO 769
An algorithm for solving Quadratic Assignment Problems
3. Preprocessing: move the equalities in the basis.
≥
≥
≥
Assume is <0
1. Find a positive element
=
=
•
no such thing: infeasible problem
2. Do a pivoting on a positive element
=
•
≥
for example a11
=
≥
≥
≥
≥
=
=
Theorem.
>0
≥
≥
CO 769
An algorithm for solving Quadratic Assignment Problems
3. Preprocessing: move the equalities in the basis.
=
≥
≥
Assume is >0
1. Find a negative element
≥
•
=
no such thing: infeasible problem
2. Do a pivoting on a negative element
•
=
for example
=
≥
=
≥
≥
≥
≥
=
≥
Theorem.
Once an equality goes in the
basis it stays there ! ! !
CO 769
≥
An algorithm for solving Quadratic Assignment Problems
3. Preprocessing: move the equalities in the basis.
=
=
≥
Assume is =0
1. If everything =0 the equality is
redundant. Just throw it away.
≥
≥
2. Else do a pivoting on a nonzero
element
=
≥
≥
CO 769
An algorithm for solving Quadratic Assignment Problems
3. Main iterations
=
=
≥
≥
≥
≥
assume <0
1. Find a positive element
•
≥
≥
no such thing: infeasible
2. Do a pivoting on it
≥
• Pivoting rules: the smallest deviation rule, the largest distance
rule, the smallest index rule etc.
• Theorem. When cycling doesn’t occur.
CO 769
An algorithm for solving Quadratic Assignment Problems
4. Quadratic programming
• What I’m about to do can be done for general quadratic problems
• For simplicity, I’ll work directly with the quadratic problem that will come
from QAP
• Same ideas
CO 769
An algorithm for solving Quadratic Assignment Problems
4. Quadratic programming
• Consider:
where
• As before:
• Set up KKT for this:
CO 769
An algorithm for solving Quadratic Assignment Problems
4. Quadratic programming
• Consider:
where
• KKT
• Step 1: get rid of γ’s
CO 769
0≤
An algorithm for solving Quadratic Assignment Problems
4. Quadratic programming. Preprocessing.
• New KKT
The unknowns
Ignore this!
≥
≥
≥
≥
≥
≥
=
Step 1. Preprocessing.
! ! Must become basic ! ! =
CO 769
An algorithm for solving Quadratic Assignment Problems
4. QP. Preprocessing.
• New KKT
The unknowns
Ignore this!
≥
≥
≥
≥
≥
≥
=
Step 1. Preprocessing.
! ! Must become basic ! ! =
CO 769
An algorithm for solving Quadratic Assignment Problems
4. QP. Preprocessing.
• KKT
The unknowns
Ignore this!
=
≥
≥
!Don’t destroy other
complementarity!
Choose pivot!
≥
≥
≥
≥
Step 1. Preprocessing.
! ! Must become basic ! ! =
CO 769
An algorithm for solving Quadratic Assignment Problems
4. QP. Preprocessing.
• KKT
The unknowns
Ignore this!
=
≥
≥
≥
≥
≥
≥
Step 1. Preprocessing.
! ! Must become basic ! ! =
CO 769
An algorithm for solving Quadratic Assignment Problems
4. QP. Preprocessing.
=0 or 1
=0 or 1 or -1
• Preprocessing leads to a feasible solution
• Choosing pivots in preprocessing can be done in more
than one way. Pivot selection plays a role in the
implementation. If a choice fails, another is pursued.
Remark 1. The method described in the paper is heuristic.
2. Attempts to gain insight are made.
3. No insights for pivot selection in preprocessing.
CO 769
An algorithm for solving Quadratic Assignment Problems
4. QP. Main Iterations: Local search.
Not any local search is good.
Goal:
•
Decrease in the objective!
•
Nothing else.
•
No other insight.
Local search:
What happens:
The offset column must be updated. Feasibility can be lost!!
CO 769
An algorithm for solving Quadratic Assignment Problems
4. QP. Main Iterations: Pivoting.
• In general for QP: pivoting is done such that complementarity is preserved !
• Pivoting can destroy the feasibility ! Keep feasibility all the time
• Pivoting modifies the objective ! Heuristic goal: pivot to decrease the objective
Feasibility
Forward pivoting. Assume the pivot is
•
produces a feasible solution
Objective Decrease
•
CO 769
An algorithm for solving Quadratic Assignment Problems
4. QP. Main Iterations: Pivoting.
• In general for QP: pivoting is done such that complementarity is preserved !
• Pivoting can destroy the feasibility ! Keep feasibility all the time
• Pivoting modifies the objective ! Heuristic goal: pivot to decrease the objective
Feasibility
Backward pivoting. Assume the pivot is
•
produces a feasible solution
Objective Decrease
•
CO 769
An algorithm for solving Quadratic Assignment Problems
4. QP. Main Iterations: Pivoting.
• In general for QP: pivoting is done such that complementarity is preserved !
• Pivoting can destroy the feasibility ! Keep feasibility all the time
• Pivoting modifies the objective ! Heuristic goal: pivot to decrease the objective
Par pivoting. Assume the pivot is
Feasibility
No Decrease in Objective
CO 769
An algorithm for solving Quadratic Assignment Problems
4. QP. Main Iterations: Pivoting.
• This pivoting: against heuristic.
• Experiments show:
Par pivoting. Assume the pivot is
equivalent with
+
Feasibility
No Decrease in Objective
CO 769
An algorithm for solving Quadratic Assignment Problems
4. QP. Main Iterations: Pivoting.
“The contraction effect of pivoting operations occurs to us the
formation of substance that is under certain conditions or control
while the formation of a good solution of QAP is depending on the
appropriate control of pivoting operations. It is hopeful to discover
the deep mechanism of QAP and develop more efficient computing
method.”
Z.Zhang
Thanks!
CO 769
An algorithm for solving Quadratic Assignment Problems
Download