Das Price Collecting Steiner Tree Problem als Lineares Programm Gruppe C Oliver Bley Rami El-Berry Thomas Pintaric Frank Yata Das Grundproblem Gesucht ist ein Teilgraph G = (V , E ) mit einer Wurzel ∑ G ' = (V ' , E ' ) v1 ∈ V ' v∈V ' \{v1 } eines gegebenen Graphen der den Ausdruck p ( v ) − ∑ c ( e) e∈E ' maximiert. Dabei ist ... p(v ) ... eine Funktion, die jedem Knoten einen Wert ≥ 0 zuordnet. c(e) ... eine Funktion, die jeder Kante Kosten ≥ 0 zuordnet. ⇒ Für jeden "Besuch" eines Knotens erhält man einen "Preis", wobei die "Überfahrt" von einem Knoten zu einem anderen bestimmte Kosten verursacht. Der Vergleich mit dem normalen Steiner Baum Problem - Nicht mehr alle Terminalknoten müssen besucht werden! - Lösung ist ebenfalls kreisfrei. - Während die lokale Entscheidung ob ein Knoten durch das Hinzunehmen zum Lösungsbaum den Funktionswert verbessert noch einfach ist, stellt das Auffinden des globalen Optimums ein komplexes Problem dar. - Explizite Unterscheidung zwischen Terminalknoten und Steiner Knoten unnötig, da die Preisfunktion letzteren einfach den Wert Null zuordnen kann. p(v ) den Das lineare Programm ∑ p(v) y − ∑ c(e)x maximiere v∈V v e∈E e mit1 yvi = yv j = 1 ∀ x e = 1, e = {v i , v j } ∈ V unter den Nebenbedingungen (1) (2) (3) ∑f ≥ yk ∀ v ∈ V \ {v } 1 k ∑f ≥ yk k ,1, i {v1 , v i }∈E k ,i, k {v i , v k }∈E ∑ {v i , v j }∈E f k ,i , j = (4) xe ≥ f k , i , j ∀ v k ∈ V \ {v 1 } ∑f k , j ,l {v j , v l }∈E ∀j ≠ k , vk ∈ V \ {v 1} ∀ e = { v i , v j }, v k ∈ V \ {v 1 } (5) f k ,i , j ≥ 0 ∧ xe ∈ {0,1} ∧ y vi , y v j ∈ {0,1} ∀vk ∈V \ {v1}, e = {vi , v j } ∈ E 1 D. h. in Wirklichkeit haben wir es mit einer Funktion in einer Variablen zu tun: die Knotenwahl ergibt sich unmittelbar aus der Kantenwahl.