Kvadratisk - programmerig David Pisiger 27-8 MAX-CUT problemet Givet e ikke-orieteret graf G = (V, E) er MAX-CUT problemet defieret som MAX-CUT = {< G > : fid et sit S, T i grafe G som maksimerer atal kater over sittet} F.eks. har følgede istas af MAX-CUT de optimale løsig S = {3,5,6}, T = {,2,4,7} med løsigsværdi 9. V 7 V V 5 V 2 V 6 V 4 V 3 Det tilhørede afgørlighedsproblem MAX-CUT-DECISION ka formuleres som følger: Lad = V være atal kuder i G. Lad de biære variable x i for i =,...,, være x i = hvis kude i S, og x i = hvis kude i T. Lad edvidere kostatere e i j = hvis kat (i, j) E, og e i j = ellers. Sidst, agiver k e edre græse for atallet af kater over sittet (S, T). { } MAX-CUT-DECISION = < G,k > : der fides(x,...,x ) {,} så e i j x i ( x j ) k i V j V Det er velkedt at maximerig af e objektfuktio f over domæet X givet som problemet max x X f(x) ka omskrives til et ækvivalet problem der miimerer objektfuktioe mi x X f(x) Opgave Ka dee ækvivales beyttes til at løse MAX-CUT ved hjælp af MIN-CUT (f.eks. ved at skifte forteg på alle katvægte)? Argumeter for dit svar.
Kvadratisk - programmerig Betragt det kvadratiske - optimerigsproblem QP: d i j x i x j () i N j N subject to x j {,}, j N defieret på mægde N = {,...,}, og med d i j R for i, j N. Ude tab af geeralitet ka ma atage at (d i j ) matrice er symmetrisk. Følgede eksempel viser e istas med = 4 variable givet ved (d i j ) matrice j 2 3 4 3 2 2-9 3 3-5 2 4 2 3 2 i De optimale løsig er at vælge x = x 3 = x 4 = hvilket giver e løsigsværdi på 8. Opgave 2 Omformuler QP til et afgørlighedsproblem QP-DECISION. Opgave 3 Vis at QP-DECISION ligger i klasse N P. Opgave 4 Vis at QP-DECISION er N P -fuldstædig ved reduktio fra MAX-CUT-DECISION. Nemme istaser af kvadratisk - programmerig Selv om QP-DECISION er N P -fuldstædigt betyder det som bekedt ikke at alle istaser er svære at løse. Betragt følgede klasse af istaser for QP: d i j R + for alle i, j N, i j d ii R for alle i N dvs. alle elemeter udefor diagoale i matrice (d i j ) skal være ikke-egative. Opgave 5 Vis at istaser af QP som overholder disse to krav ka løses i polyomiel tid som følger: a) Kostruer e istas (V,E,c) af MAXIMUM-FLOW ved at sætte V = N {s,t} og E = {s} N N N N {t}. Kapacitete af katere sættes til: c si = max{, j N d i j }, c i j = d i j, c ii =, c it = max{, j N d i j } i N i, j N,i j i N i N Argumeter for at dette er e gyldig istas af MAXIMUM-FLOW problemet. 2
b) Atag at de optimale strømig f fudet med MAXIMUM-FLOW har strømigsværdie f, og at det tilhørede miimale sit er S,T. Lad x i = hvis i S og lad x i = hvis i T. Opskriv værdie af et miimalt sit udtrykt ved disse beslutigsvariable. c) Vis at c si c it = j N c i j + d ii for alle i N. d) Vis at løsigsværdie til QP ka fides som i N c si f. e) Agiv køretide for oveståede algoritme. Et eksempel på oveståede trasformatio med datasættet fra forrige side er: s 7 6 V 4 V 2 3 2 V 2 5 t V 3 Da (d i j ) matrice er symmetrisk har de grå kater parvist samme kapacitet. De maksimale strømigsværdi i grafe er f = 5, og det tilhørede miimale sit er S = {s,,3,4} og T = {t,2}. Opgave 6 Implemeter e algoritme, som ka løse de oveståede emme istaser af QP problemet. Brug algoritme til at løse istasere på hjemmeside. Rapporter de optimale løsigsværdi for hvert af problemere. Kvadratisk kapsack problemet Kvadratisk kapsack problemet har adskillige avedelser. Betragt f.eks. et teleselskab som skal e- tablere et atal radiomaster rudt omkrig i ladet. De mest iteressate byer udvælges, og der geemføres e øje aalyse af hver radiomasts fordele og ulemper. E radiomast j koster et givet beløb w j at etablere, og teleselskabet har et budget på c. Ehver radiomast vil i sig selv give et vist afkast p j j mes ma får afkastet p i j + p ji for telefoi mellem to byer i og j. 3
Idet vi idfører beslutigsvariable x j {,} til at agive om e radiomast bygges eller ej, ka vi formulere problemet som følgede kvadratiske kapsack problem (QKP): subject to j= i= j= p i j x i x j w j x j c (2) x j {,}, j =,...,. hvor objektfuktioe agiver at profitte skal maximeres, mes kapsack begræsige betyder at etablerigs-budgettet på c ikke må overskrides. Det atages at alle værdier af p i j og w j er ikkeegative heltal. Afgørlighedsproblemet svarede til QKP er N P -fuldstædigt, hvilket ka vises ved reduktio fra KNAPSACK (diagoalelemetere i QKP sættes til profittere i KNAPSACK, mes alle elemeter udefor diagoale sættes til ul). Følgede eksempel viser e istas af QKP for syv byer. i j 2 3 4 5 6 7 8 9 4 3 3 4 7 2 9 7 2 6 3 9 3 4 8 4 7 5 4 p i j 4 3 2 4 3 7 5 3 6 7 2 4 6 4 3 5 3 4 8 9 7 7 9 4 7 9 5 w j 2 7 8 9 5 3 9 = 7, c = 2. De optimale løsig er at bygge radiomaster i byere, 2, 5, 6 hvilket giver e profit på 83. Øvre græseværdi Opgave 7 Hvis ma Lagrage-relaxerer kapsack begræsige i (2) fremkommer problemet QKP(λ) givet ved ) j= i= x j {,}, For hvilke værdier af λ er (3) e relaxerig af (2)? Beteg med L de lovlige mægde af λ-værdier. p i j x i x j λ ( w j x j c j= j =,...,. Opgave 8 Vis at for et givet λ L ka det Lagrage-relaxerede problem (3) skrives på forme (3) ( d i j x i x j )+k (4) i N j N subject to x j {,}, j =,..., hvor k er e kostat. Vis edvidere at dette problem ka løses i polyomiel tid. 4
Det vides at QKP(λ) er e koveks fuktio af λ, der ser ud som følger: QKP(λ) λ Det Lagrage duale problem går ud på at fide de værdi af λ som resulterer i de strammeste græseværdi. Dvs. vi søger QKP(λ) (5) mi λ L Opgave 9 Agiv e edre og øvre græse for hvor stor λ ka blive i oveståede udtryk. Udtrykket λ < er ikke et tilfredsstillede svar. Opgave Beskriv e effektiv algoritme som løser problemet (5). Opgave Implemeter algoritme til løsig af (5) og afprøv de på istasere fra hjemmeside. Brach-ad-boud algoritme Vi vil u kostruere e rekursiv brach-ad-boud algoritme til løsig af QKP problemet (2). I hvert skridt forgreer vi på de sidste beslutigsvariabel x således at det tilbageværede problem herefter har størrelse. Iitielt sættes x i = for i =,..., og z =. Herefter kaldes algoritme quadkap(, c, ); De rekursive del af algoritme ka skitseres som: quadkap(p, c, ) if c < the retur if P > z the z P; x i x i for i =,..., if = the retur fid e øvre græseværdi U for problemet defieret på (p i j ), i, j =,...,, og med kapacitet c ifu + P > z the x ; modificer (p i j ) matrice; quadkap(p+ p,c w, ) x ; retabler (p i j ) matrice; quadkap(p,c, ) Her agiver atallet af frie variable (dvs. variable som der edu ikke er forgreet på), c agiver de tilbageværede kapacitet, mes P agiver profitte af de allerede valgte radiomaster. 5
Ved modificatio af (p i j ) matrice sætter vi p ii p ii + p i + p i for hvert i =,...,. Dette betyder, at hvis radiomast i på et seere tidspukt bliver valgt, vil ma automatisk idkassere profitte af al kommuikatio mellem byere i og. Når matrice skal retableres subtraherer vi atter disse bidrag ved at sætte for hvert i =,...,. p ii p ii p i p i Opgave 2 Implemeter e fuldstædig versio af quadkap som beytter græseværdie (5). Opgave 3 Kør algoritme på istasere fra hjemmeside og agiv køretid, atal brach-ad-boud kuder, græseværdi i rodkude, samt optimal løsigsværdi. Noter Det ka i opgave atages at MAX-CUT-DECISION er N P -fuldstædig. N P -fuldstædighed af MAX-CUT-DECISION bliver vist ved forelæsigere som følger (se plachere): 3CNF-SAT ka reduceres i polyomiel tid til 3CNF-NAE-SAT. Sidstævte problem ka ige reduceres i polyomiel tid til MAX-CUT-DECISION. Til implemeterigs-opgavere beyttes et rammeprogram skrevet i C++. Rammeprogrammet ka idlæse istaser fra hjemmeside og rummer e simpel implemeterig af EDMONDS-KARP algoritme til løsig af MAXIMUM-FLOW problemet. Rammeprogrammet fides på kursets hjemmeside samme med alle istaser. De beyttede datatilfælde er e bladig af virkelige data og tilfældigt geererede data som agivet i følgede tabel: Beskrivelse Radiotelefoi Compiler desig Geometrisk p-dispersio Radom 25% desitet Radom % desitet Klike i e graf filave tele7 comp3 comp45 comp47 geo geo2 geo3 geo4 rad.25 rad2.25 rad3.25 rad4.25 rad. rad2. rad3. rad4. clique clique2 clique3 clique4 Desitete af et datatilfælde agiver hvor mage procet af matrices elemeter der er forskellige fra ul. Compiler desig problemere er foreslået af Helmberg, Redl, Weismatel. 6