Ausarbeitung

Werbung
Symmetriebehandlung in
Branch-and-Cut
Miriam Kießling, 19.01.2007
0.1
Branch-and-Cut
Branch-and-Cut = Branch-and-Bound + Cutting Planes
0.2
0.2.1
Branch-and-Cut mit Symmetrie
Vorbemerkungen
ILP
min
cT x
(0.1)
s.t.
Ax ≥ b,
(0.2)
x ∈ {0, 1}n
(0.3)
Gruppe G
G = {π | π(c) = c und ∃ σ s.t. σ(b) = b, A(π, σ) = A}
(0.4)
Orbit von S unter G
orb(S, G) = {S 0 ⊆ I n | S 0 = g(S)f ür ein g ∈ G}
1
(0.5)
2
Stabilisator von S unter G
stab(S, G) = {g ∈ G | g(S) = S}
(0.6)
fixed/set Variablen
• fixed : Variablen durch Verzweigungen fixiert auf 0 oder 1
• set: Variablen gesetzt durch logische Folgerungen
→ F0a /F1a : fixiert auf 0 / fixiert auf 1 am Knoten a
→ F S0a : fixiert oder fesetzt auf 0 am Knoten a
→ F a : nicht fixiert und nicht gesetzt am Knoten a
Repräsentant
S ⊆ I n Repräsentant der Mengen in seinem Orbit unter G, wenn
S g(S) ∀ g ∈ G
(0.7)
Isomorphe Teilprobleme
Teilprobleme an den Knoten a und b isomorph, falls eine Permutation g ∈ G existiert, so
dass
g(Fia ) = Fib
(0.8)
für i = 0,1
0.2.2
Techniken
Minimum index branching
Am Knoten a muss die branching - Variable xf sein, mit f kleinster Index in F a .
Isomorphism pruning
Wenn F1a kein Repräsentant ist, dann schneide den Knoten a ab.
Lemma 0.1. Sei S ⊆ I n ein Repräsentant unter G. Sei S 0 := S − v mit v = max {w ∈ S}.
Dann ist S 0 auch ein Repräsentant.
0.2. BRANCH-AND-CUT MIT SYMMETRIE
3
Lemma 0.2. Sei τ der full enumeration tree eines Branch-and-cut Verfahrens B unter
Verwendung von MIB. Sei S die Menge der Knoten in τ die nicht durch IP entfernt werden.
Dann gilt
(i) S induziert einen Teilbaum von τ der die Wurzel von τ enthält
(ii) Das Branch-and-cut Verfahren B 0 , entstanden durch Hinzufügen von IP zu B liefert
den gleichen optimalen Wert wie B
0-setting
(i) Sei b der Vater von a im Enumeration tree und sei xf die Branching-Variable bei b.
Wenn a der Sohn von b ist wo xf auf 0 fixiert ist, dann setze alle freien Variablen in
orb(f, stab(F1a , G)) auf 0.
(ii) Sei f = min {r ∈ F a }. Wenn F1a ∪ f kein Repräsentant ist, dann setze alle freien
Variablen in orb(f, stab(F1a , G)) auf 0
Lemma 0.3. Betrachte ein Branch-and-cut Verfahren B mit Anwendung von MIB und IP.
Sei B’ das Branch-and-Cut Verfahren entstanden aus der Hinzunahme von 0-setting zu B.
Dann liefern B und B 0 die gleichen optimalen Werte.
0.2.3
Algorithmus
Operationen am Knoten a im enumeration tree:
1. r := 0 − setting(a);
2. Wiederhole bis ein Kriterium erfüllt wird:
• Löse die LP Relaxation;
• erzeuge cuts;
3. Wenn r < n + 1, dann erzeuge zwei Söhne von a, durch Fixierung von xf auf 0 oder 1;
0.2.4
Implementierung
Schreier-Sims
Sei G0 = G, Gi = stab(i, Gi−1 ), i = 1, ...n
Sei orb(k, Gk−1 ) = {j1 , ..., jp }, k = 1, ..., n der Orbit von k unter Gk−1
Für jedes 1 ≤ i ≤ p sei hk,ji eine Permutation in Gk−1 , die k auf ji abbildet, i.e., hk,ji [k] = ji
4
Die Schreier Sims Repräsentation von G ist eine n × n Tabelle T mit
hk,j , f allsj ∈ orb(k, Gk−1 ),
Tk,j =
∅, sonst
(0.9)
Literaturverzeichnis
[1] F.Margot, Exploiting orbits in symmetric ILP ; Department of Mathematics, University
of Kentucky, 2002.
[2] F.Margot, Pruning by isomorphism in branch-and-cut; Department of Mathematics,
University of Kentucky, 2001.
[3] F.Margot, Small covering designs by branch-and-cut; Department of Mathematics, University of Kentucky, 2000.
[4] M.Groetschel Lineare Optimierung; Institut für Mathematik, Technische Universität
Berlin, 2004.
[5] S.Krumke Ganzzahlige Optimierung; Technische Universität Kaiserslautern, 2006.
5
Herunterladen