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