Kvaliteten af grænseværdier for det kvadratiske knapsackproblem. Rune Sandvik, Anders Bo Rasmussen

Relaterede dokumenter
Løs til optimalitet i eksponentiel tid Find tilnærmet løsning i polynomiel tid

Skriftlig Eksamen Introduktion til lineær og heltalsprogrammering (DM515)

Tirsdag 12. december David Pisinger

Løs til optimalitet i eksponentiel tid Find tilnærmet løsning i polynomielt tid Optimeringsproblemer kan ikke altid verificeres i polynomiel

Skriftlig Eksamen Introduktion til lineær og heltalsprogrammering (DM515)

Emneopgave: Lineær- og kvadratisk programmering:

Ugeseddel 12( )

Videregående Algoritmik. Version med vejledende løsninger indsat!

Symmetrisk Traveling Salesman Problemet

Mat H /05 Note 2 10/11-04 Gerd Grubb

Sidste gang Motivation Definitioner Approximations-algoritme for knudeoverdækning Approximations-algoritme for TSP med trekantsulighed

Newton-Raphsons metode

Kapitel 9: Netværksmodeller

Introduktion til differentialregning 1. Jens Siegstad og Annegrethe Bak

Matematisk modellering og numeriske metoder. Lektion 17

Kapitel 9: Netværksmodeller

Integralregning Infinitesimalregning

Forslag til løsning af Opgaver til afsnittet om de naturlige tal (side 80)

Kalkulus 2 - Grænseovergange, Kontinuitet og Følger

16. december. Resume sidste gang

Affine rum. a 1 u 1 + a 2 u 2 + a 3 u 3 = a 1 u 1 + (1 a 1 )( u 2 + a 3. + a 3. u 3 ) 1 a 1. Da a 2

Besvarelser til Calculus og Lineær Algebra Globale Forretningssystemer Eksamen - 8. Juni 2015

Eksempel på den aksiomatisk deduktive metode

Afstande, skæringer og vinkler i rummet

Produkt og marked - matematiske og statistiske metoder

Kursusindhold: Produkt og marked - matematiske og statistiske metoder. Monte Carlo

Matematisk modellering og numeriske metoder. Lektion 16

Optimering i Moderne Portefølje Teori

UGESEDDEL 10 LØSNINGER. = f

Note om interior point metoder

Differentialregning Infinitesimalregning

Eksperimentel matematik Kommentarer til tag-med opgaver

Lineære sammenhænge. Udgave Karsten Juul

Matematisk modellering og numeriske metoder. Lektion 13

Analyse af ombytningspuslespil

Analyse af ombytningspuslespil

Kvadratiske matricer. enote Kvadratiske matricer

Afstande, skæringer og vinkler i rummet

Kursusindhold: Produkt og marked - matematiske og statistiske metoder. Monte Carlo

Differential- regning

Pointen med Differentiation

Branch-and-bound. David Pisinger. Videregående algoritmik, DIKU ( ) 1 Introduktion Gennemgående eksempler Brute-force metoder 10

Skriftlig Eksamen Kombinatorik, sandsynlighed og randomiserede algoritmer (DM528)

Noter til Perspektiver i Matematikken

Matematisk modellering og numeriske metoder

Differentialregning. Ib Michelsen

Studieretningsopgave

Statistik viden eller tilfældighed

16. marts P NP. Essentielle spørgsmål: NP P? Et problem Q kaldes NP -fuldstændigt 1 Q NP 2 R NP : R pol Q. Resume sidste gang

matx.dk Differentialregning Dennis Pipenbring

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

Normalfordelingen og Stikprøvefordelinger

Funktion af flere variable

Skriftlig Eksamen Algoritmer og Datastrukturer (DM507)

Kirchberger s sætning om separation af to mængder Maria Larissa Ziino

Skriftlig Eksamen Kombinatorik, sandsynlighed og randomiserede algoritmer (DM528)

Gradienter og tangentplaner

MM501 forelæsningsslides

Eksempel på logistisk vækst med TI-Nspire CAS

Sprog L : mængden af instanser for et afgørlighedsproblem

Differential- regning

Mindste udspændende træ

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

i x-aksens retning, så fås ). Forskriften for g fås altså ved i forskriften for f at udskifte alle forekomster af x med x x 0

Polynomier. Indhold. Georg Mohr-Konkurrencen. 1 Polynomier 2. 2 Polynomiumsdivision 4. 3 Algebraens fundamentalsætning og rødder 6

Danmarks Tekniske Universitet

Matematisk modellering og numeriske metoder. Lektion 1

Supplement til kapitel 7: Approksimationen til normalfordelingen, s. 136

Danmarks Tekniske Universitet

MM501 forelæsningsslides

Taylors formel. Kapitel Klassiske sætninger i en dimension

Vektorfelter langs kurver

[FUNKTIONER] Hvornår kan vi kalde en sammenhæng en funktion, og hvilke egenskaber har disse i givet fald. Vers. 2.0

Projekt 4.6 Løsning af differentialligninger ved separation af de variable

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

Erik Vestergaard 1. Opgaver. i Lineære. funktioner. og modeller

Chapter 7: Transport-, assignment- & transshipmentproblemer

Projekt 1.4 Tagrendeproblemet en instruktiv øvelse i modellering med IT.

Dynamisk programmering

M=3 kunde forbindelse. oprettet lokation Steinerkant

Asymptoter. for standardforsøgene i matematik i gymnasiet Karsten Juul

Retningslinjer for bedømmelsen. Georg Mohr-Konkurrencen runde

Egenskaber ved Krydsproduktet

LINEÆR OPTIMERING JESPER MICHAEL MØLLER. Resumé. Disse noter handler om dualitet i lineære optimeringsprogrammer.

Nummeriske Metoder. 1 Indledning. 2 Davidson metoden. Bo Thomsen, juni 2009

Chapter 6: Følsomhedsanalyse og dualitet i LP

Lad os som eksempel se på samtidigt kast med en terning og en mønt:

Skriftlig Eksamen Algoritmer og Datastrukturer 2 (2003-ordning)

Algebra - Teori og problemløsning

Numeriske metoder - til løsning af differentialligninger - fra borgeleo.dk

Elementær Matematik. Funktioner og deres grafer

Polynomiumsbrøker og asymptoter

Funktioner. 1. del Karsten Juul

Analyse 2. Gennemgå bevis for Sætning Supplerende opgave 1. Øvelser. Sætning 1. For alle mængder X gælder #X < #P(X).

Kvadratisk 0-1 programmering. David Pisinger

Noter til Computerstøttet Beregning Taylors formel

Opgaver hørende til undervisningsmateriale om Herons formel

Matematik A. Studentereksamen. Forberedelsesmateriale til de digitale eksamensopgaver med adgang til internettet

Mindste udspændende træ. Mindste udspændende træ. Introduktion. Introduktion

Matematisk modellering og numeriske metoder. Lektion 19

Transkript:

Kvaliteten af grænseværdier for det kvadratiske knapsackproblem Rune Sandvik, Anders Bo Rasmussen

Indhold 1 Indledning 3 11 et kvadratiske knapsackproblem 3 111 Kompleksitet af QK 4 112 Anvendelser 5 113 Litteraturoversigt 5 12 Notation 5 121 Matrixnotation 6 13 Subgradientmetoden 6 2 Øvre grænser for kvadratisk knapsack 9 21 Upper planes 9 211 Gallo, Hammer og Simeone 9 22 Linearisering 12 221 Billionet og Calmels 12 222 Caprara, Pisinger og Toth 15 23 Lagrange relaxering 19 231 Chaillou, Hansen og Mahieu 19 24 Lagrange decomposition 21 241 Michelon og Veilleux 21 242 Billionet, Faye, Soutif 24 25 Grænseværdier baseret på SP 28 251 Implementation 32 1

3 Numerisk test 35 31 Testinstanser 35 32 Resultater 36 33 Kvalitet/beregningstid 36 34 Anvendelse i branch & bound 38 35 ominansforhold 38 36 Konklusion 39 4 Resultater 41 41 Grænser baseret på upper planes (21) 42 42 Grænser baseret på lagrange relaxering (231, 241) 43 43 Grænser baseret på linearisering (22) 44 44 Grænser baseret på sdp (25) 45 2

" " Kapitel 1 Indledning Formålet med dette projekt er at undersøge kvaliteten af en række øvre grænseværdier beskrevet i [16] Vores bidrag består hovedsageligt i at have implementeret disse grænseværdier effektivt og at have uddybet nogle detaljer der er nødvendige for implementationen esuden er vi gået lidt mere i detaljer omkring hvilke dominansforhold der eksisterer og ikke eksisterer mellem grænseværdierne Beviser der kan findes i [16] er udeladt, når de ikke er vigtige for at forstå udledningen af grænseværdierne 11 et kvadratiske knapsackproblem et kvadratiske knapsackproblem (QK) er givet ved: maksimer QK mht! #"$&% hvor '(#" (#")*( og +, -$"///&"10% efiner en matrix 2 således at: 2 4365 2 )87 9:<;>= ABCBCA/:E@? For en instans ") defineres en tilsvarende instans GF 'IH 2 a ses at J J F J K J IH 2 L# J K J 3 ") hvor F (11)

" F " " 5 ' fås at F 'H Altså har instanserne ") og GF ") samme løsning Sættes2 ' E 5 ' EH ' 5 E F uden tab af generalitet antage at er symmetrisk E ) Vi kan således Vi antager at alle elementerne ikke kan være i knapsacken på en gang (12) og at ingen elementer vejer for meget til at være det eneste element i knapsacken ; & (13) 111 Kompleksitet af QK et lineare 0-1 knapsackproblem (herefter 0-1 knapsackproblem) er defineret som maksimer mht (14) Givet en instans ved a vil /! #"$&% af 0-1 knapsackproblemet defineres en instans af QK F 7 9:<;< + 7 9:<; @? = L F Altså kan enhver instans af 0-1 knapsackproblemet reduceres i polynominel tid til QK a 0-1 knapsackproblemet er -hårdt er således QK -hårdt " at bestemme hvor- Clique-problemet består i, at for en givet graf vidt der findes en komplet delgraf med netop knuder QK ses at være en generalisering af Clique på følgende måde: Betragt k-ense Subgraph problemet, hvor man skal finde en delgraf af størrelse med flest kanter af en givet graf " ette kan modelleres som QK ved at vælge + -$"///&" % ") " $>7 9:? +, $ for ;)"? og ellers Bemærk at der altid findes en optimal løsning til dette QK således at kapacitetsbegrænsningen er opfyldt med lighed a vil K# $ svare til at ;)"? er valgt i løsningen til k-ense Subgraph En komplet graf har 5 $ kanter, så svaret til Clique er sandt netop når resultatet af k-ense Subgraph er 5 $ Clique er stærkt -hårdt og det kan vises at QK er stærkt -hårdt ved reduktion fra Clique 4

112 Anvendelser QK er det simpleste begrænsede kvadratiske maksimeringsproblem Alene af den grund er det interessant at undersøge er findes flere anvendelser af QK Witzgall [13] behandler et problem, hvor en række satellitstationer skal placeres således at den totale kommunikation mellem dem maksimeres Man kan forestille sig mange andre lignende lokalisationsproblemer der kan formuleres som QK Johnson, Mehrotra og Nemhauser [14] nævner et compilerdesign-problem der kan modelleres som QK 113 Litteraturoversigt Litteraturen om QK er koncentreret omkring øvre grænser, approksimationsalgoritmer (nedre grænser) og branch & bound algoritmer Nogle artikler præsenterer kun en øvre grænse eller approksimationsalgoritme, mens andre også omfatter deres anvendelse i en branch & bound algoritme Mængden af eksperimentelle data i de forskellige artikler er meget varierende QK blev introduceret af Gallo, Hammer og Simone i [3] Her giver de en række øvre grænseværdier baseret på upper planes og anvender dem i en branch & bound algoritme Mange øvre grænseværdier baseret på Lagrange relaksation/decomposition er blevet foreslået Chaillou, Hansen og Mahieu [8] og Caprara, Pisinger og Toth [5] anvender Lagrange-relaksation i deres grænseværdier Michelon og Veilleux [9] samt Billionet, Faye og Soutif [4] foreslår grænser der anvender Lagrange-decomposition Anvendelsen af LP-relaksation til at udlede grænseværdier og anvendelse i branch & bound undersøges af Billionet og Calmels [6] og øvre grænseværdier udledt ved at anvende semidefinit programmering er blevet behandlet af Helmberg, Rendel og Weismantel [15] 12 Notation Givet to funktioner og, mener vi med, at Hvis dette ikke er tilfældet, det vil sige at, skriver vi = Med en øvre grænseværdi til en funktion, mener vi en funktion så et vil sige at for alle instanser giver den øvre grænseværdi en værdi der ikke er lavere end funktionsværdien Givet et problem betegner vi den optimale løsning 5

$ 121 Matrixnotation Med mener vi mængden af 0 matrixer, hvor elementerne er indeholdt i Vi definerer matrixindreproduktet af " til " er givet ved,!! "!#!! efiner %'&(*) som værende en vektor bestående af diagonalelementerne i + Omvendt defineres,-&(*) hvor til at være en 0 0 matrix med elementerne fra i diagonalen Vektorproduktet af " 13 Subgradientmetoden I det næste kapitel anvender vi subgradientmetoden Vi giver derfor i det følgende afsnit en kort introduktion til denne og hvordan den anvendes til at approksimere den Lagrange-duale Betragt et problem på formen: Maksimer mht ; -$"/// "/ % Antag vi har Lagrange-relakseret en delmængde 0 af begrænsningerne, således at vi har Lagrange-subproblemet: Maksimer 21 2 1 H 2 5 1 mht " ;I -$"///!"/ %43 0 (P) er gælder da at 21 2 1 er en øvre grænse for (P) for ethvert 2 65 5 esuden er 21 2 1 en konveks funktion som funktion af 2 6 (S)

5 et Lagrange-duale problem er givet ved, < 21 & 2 1 I tilfældet hvor og " ; -$"/// % er lineare funktioner er løsningen til den Lagrange duale lig løsningen til (P) Subgradientmetoden er en metode til at approksimere løsningen til den Lagrange-duale efinition 131 En subgradient til en konveks funktion er en vektor således at: ( H i punktet I tilfældet hvor er differentiabel er subgradienten lig gradienten Vi kan derfor se subgradienten som en generalisering af gradienten til ikke differentiable funktioner 2 2 5 5 Sætning 132 [7] Lad være en løsning til (S) for efiner så, 5? 0 a er en subgradient for 21 2 1 i 2 Princippet i subgradientalgoritmen er at tage små skridt i modsat retning af subgradienten 1 2> #" Iterer indtil stop-kriterie er opfyldt: 2 Løs Lagrange subproblemet 1 2 med optimal løsning 3 Find subgradienten defineret ved 5? 0 4 Bestem skridtlængden 5 2 2 6 k = k + 1 5 For at sikre gode konvergensegenskaber for subgradientalgoritmen er det vigtigt at vælge skridtlængden korrekt En mulighed er at vælge som en geometrisk række, men dette er typisk ikke godt i praksis Ideen bag den heuristik vi anvender til at finde er følgende: 7

Når løsningen til 1 2 er langt fra den optimale værdi, skal skridtlængden være lang Hvis der ikke er forekommet en forbedring i en række iterationer skal skridtlængden være mindre I vores anvendelse vil værer QK probelemt For at estimerer afstanden fra den optimale løsning til QK anvender vi en heuristik fra [5] til at finde en nedre grænse Vi vælger & på følgende måde: 21 2 1 5 " Hvor $ er et tal man lader aftage efter en geometrisk række Når der ikke har været en forbedring i iterationer lader man aftage Hvor hurtigt skal aftage samt startværdien af er afhængig af det enkelte Lagrange subproblem Værdien er en øvre grænse for hvor stor skridtlængde der accepteres 8

; Kapitel 2 Øvre grænser for kvadratisk knapsack 21 Upper planes 211 Gallo, Hammer og Simeone I dette afsnit antager vi at elementerne er sorteret efter stigende vægt ( (21)? ;? QK blev introduceret af Gallo, Hammer og Simeone i [3], hvor de blandt andet foreslog fire øvre grænser af formen maksimer K mht (22) hvor #! #"$&% "? + er en øvre grænse for oprindelige QK-problem a / vil ethvert L / /#* der er en øvre grænseværdi for ' for alle lovlige løsninger til det (23) # indsat i knapsackproblemet (22) give en øvre grænseværdi for QK 9

Gallo, Hammer og Simone foreslog følgende fire grænser hvilket klart giver en øvre grænseværdi, da * ( "! #"$&% '-$*( : hvor ( 0 % er det maksimale antal elementer der kan forekomme i en lovlig løsning, da vi antog at vægten er stigende (21) Vi maksimerer derfor over alle lovlige og nogle ulovlige løsninger til QK-problemet, og er derfor en øvre grænse til / * ( ( *&" #"$ *&"! #"$&% Af samme årsag som er og øvre grænser Vi kalder de øvre grænser vi får fra for a,, og er,, og er kan let konstrueres eksempler der viser, at der hverken gælder eller Eksempler på dette er vist i figur 21 og figur 22,, kan let forbedres uden at beregningstiden stiger, ved at sætte $ : ( "! #"$&% " $ (24) 10

3 1 2 2 ' 0 0 0 0 0 2 0 0 2 0 0 4 = 4 0 0 3 = 3 Figur 21: Eksempel på at = 3 2 2 2 2 2 2 2 2 = 2 3 3 = 3 Figur 22: Eksempel på at = ( ( er en øvre grænse for *&" #"$ " $ (25) *&"! #"$&% " $ (26) #, hvis man ved, at $ ette er tilstrækkeligt til at er en øvre grænse for QK, da uligheden i (23) stadig gælder Vi kalder den øvre grænseværdi baseret på for a har den samme objektfunktion som, men et mindre løsningsrum, har vi at ette medfører at Som før ses let at,, og hvilket igen giver at,, og er kan let konstrueres eksempler der viser at der hverken gælder eller Et eksempel på at = er figur 21, da og i dette eksempel et viser også, at = Tilsvarende viser figur 22 at = og = For alle -$" "" #% og "" #% har vi at = Et eksempel der beviser disse 12 relationer er vist i figur 23 I dette eksempel har vi nemlig = = = = 1, mens = = = 0 Vi har også at = og = et kan let vises ved et eksempel et kan dog også bevises let Antag a og vores - relation er transitiv giver det at, hvilket vi tidligere har vist ikke er tilfældet Altså er vores antagelse forkert et vil sige at = = kan vises tilsvarende 11

1 1 1 ' 0 1 1 0 1 1 = 1 0 0 = 0 Figur 23: Eksempel på at = e forhold mellem og, som vi ikke allerede har vist kan vises ved transitiviteten af vores -relation For eksempel er, da og Implementation og er stadig en øvre grænse for og ned, hvilket vi har valgt at gøre, hvis man vælger at runde 22 Linearisering En mulig fremgangsmåde for at udlede øvre grænser for QK er at formulere en linear IP-model for QK og derefter LP-relaksere dette problem 221 Billionet og Calmels Grænseværdien beskrevet i dette afsnit blev foreslået af Billionnet og Calmels [6] I det følgende antages e kvadratiske led i QK kan lineariseres ved at introducere variablen ' for hvilken: $ $ $ enne betingelse kan modelleres ved hjælp af begrænsningerne: E @ " *" IH $IH (27) 12

Herved fås formuleringen: ( & A/: / ' 'IH (28a) K (28b) *@ ;E"? + ; @? = (28c) *@# ;E"? + ; @? = (28d) H $ H ;E"? + ; @? = (28e) *! #"$&% ;E"? + (28f)! #"$&% ; + (28g) ' E kan (28) omskrives til: ( & A/: / ' H K (29a) K (29b) Ved at anvende at *@ ;E"? + ;? (29c) *@# ;E"? + ;? (29d) H # $ H ;E"? + ;? (29e) *! #"$&% ;E"? + ;? (29f)! #"$&% ;I + (29g) enne formulering har færre variable esuden ses at LP-relaksation af (29) giver en bedre grænseværdi end LP-relaksation af (28) idet (29) implicit indeholder den lovlige begrænsning ) Relakseres heltalsbegrænsningerne i (29) fås: ( & A/: / ' H K K enne øvre grænse benævnes (210a) (210b) *@ ;E"? + ;? (210c) *@# ;E"? + ;? (210d) H # $ H ;E"? + ;? (210e) *( ;E"? + ;? (210f) #"$ ;I + (210g) 13

For at styrke denne formulering foreslår Billionnet og Calmels [6] at tilføje en række lovlige uligheder Fra (210b) kan man udlede ulighederne: / H E 5 "? + erudover kan udledes Chvatal-Gomory begrænsninger udfra ulighederne i (210e) isse er givet ved, H H 5 5 5 ette giver følgende formulering: ( & A/: / ' H K K $" ;E"? " + ;? (211a) (211b) *@ " ;)"? + ;? (211c) *@#" ;)"? + ;? (211d) H # $ H " ;)"? + -;? (211e) *(#" ;)"? + ;? (211f) #"$ " ; + (211g) / IH E 5 #"? + (211h) H #IH 5 5 5 $" ;E"? " + ;? (211i) en øvre grænse givet ved denne model betegnes Implementation 0 begrænsninger, hvoraf mange af dem typisk er redundante, a har er det ikke effektivt at løse det komplette LP-problem erfor løses problemet ved trinvis at tilføje krænkede begrænsninger Først løses problemet defineret ved begrænsningerne (211b), (211f), (211g) og (211h) med primal-simplex en fundne løsning betegnes Herefter tilføjes dynamisk begrænsninger en af de tilbageværende begrænsning, der krænker mest findes og tilføjes til problemet et problem der herved fremkommer vil være dualt-løsbart og kan derfor løses med dual-simplex i relativt få iterationer En begrænsning der krænker den nye løsning finde igen, indtil alle begrænsninger er overholdt med en hvis tolerance 14

For en instans med + $ vil have ialt $ begrænsninger For en instans af denne størrelse har den beskrevne algoritme fundet nødvendige begrænsninger ette svarer til $ af det totale antal begrænsninger Andelen af begrænsninger der tilføjes er varierende, men tallet er repræsentativt Til at løse de nævnt LP-problemer har vi anvendt CPLEX et bør nævnes at forbedringen i objektfunktionen ofte er meget lille når de sidste mange begrænsninger tilføjes et kan derfor være mere fordelagtigt at stoppe beregningerne tidligerer, hvis man vil opnå et bedre forhold mellem kvalitet og beregningstid Vi har valgt ikke at gøre dette, da vi ønsker at måle grænseværdiernes absolutte styrke 222 Caprara, Pisinger og Toth En anden formulering undersøgt af Caprara, Pisinger og Toth [5] er givet ved ( & A/: / ' ' H (212a) K (212b) L * 5? + (212c) @ ;E"? +? = ; (212d) E ;E"? +? @; (212e) " '! #"$&% ;E"? +? = ; (212f) LP-relaksationen af denne formulering er ækvivalent med problemet defineret ved begrænsningerne (211b), (211c), (211d), (211f), (211g) og (211h) og objektfunktionen (211a) Fordelen ved at bruge ovenstående formulering er at den kan løses på en særlig effektiv måde I [5] Lagrange-relakseres begrænsningen (212e) og problemet LP-relakseres 15

F F Herved fremkommer følgende Lagrange-subproblem hvor F ( & A/: 21 2 1 < K L 2 H F 2 (213a) K L (213b) K L * 5 "? + (213c) ' @ " ;)"? +? = ; (213d) " #"$ "1;)"? +? = ; (213e) 2 < H for;? 2 ' for? @; 5 2 ' for;? Løsningen til det Lagrange duale problem 21 & 2 1 (214) er lig løsningen til LP-relaksationen til (212) en øvre grænse givet ved løsningen af dette problem betegnes Løsningen til det Lagrange duale problem kan da approksimeres med subgradientmetoden [7] Vi betegner denne approksimation med Følgende sætning fra [5] giver en effektiv metode til at løse Lagrange delproblemet 1 2 givet ved (213) Sætning 221 elproblemet 1 2 givet ved (213) kan løses ved at løse 0 H $ kontinuerer knapsack problemer ette tager totalt 0 tid For hver? + løses: ( & A/: L (215a) L 5 (215b) ' $" ; + 3? % (215c) med optimal løsning "1;I + 3>? % 16

erefter kan21 2 1 findes ved knapsackprobemet ( & A/: 21 2 1 < / H F / # @ $"? + med optimal løsning "? + en optimale løsning &" til 1 2 er da givet ved (216a) (216b) (216c) ' # og # ominansforhold er gælder følgende om dominansforholdet mellem Sætning 222 Vi har at og Bevis Som tidligerer nævnt er af (212), der er givet ved: lig løsningen til LP-relaksationen ( & A/: / ' 'IH (217a) K (217b) L * 5? + (217c) *@# ;E"? +? = ; (217d) E ;E"? +? @; (217e) " ' #"$ ;E"? +? = ; (217f) Vi minder desuden om at er givet ved LP-problemet (211) For at vise det ønskede er det tilstrækkeligt at der for enhver løsning " til (211) findes en løsning "1 til (217) med "1 " Givet en løsning " til (211) defineres: 3 ' 7K9:<;? ) 7K9:<;? og 7 9:<;< + 17

"1 ses nemt at overholde begrænsning- " J H J J IH E H J K J IH J H J J K J H J "1 en herved definerede løsning erne i (217) esuden gælder at, Hvilket viser det ønskede Følgende diskussion af forholdet mellem [5] 2 svarer til et upper plan som beskrevet i afsnit 21 og upper planes er baseret på Vi vil i det følgende vise at hvis 2 ' for ;)"? + vil den øvre grænse 1 For 2 er (215): ( & A/: L (218a) L 5 (218b) ' $" ; + 3? % (218c) Vi minder om at vi i (25) definerede et upper plane til, J ( J @&" #"$ " $ IH J ( L ' J L 5 " #"$ 5 Indsættes dette i (216) fås at 1 2 ( & A/: 21 2 1 I # @# $"? + 2 til det upper plane der fås ved at anvende et gælder således at er givet ved, (219a) (219b) (219c) ette er netop LP-relaksationen af (22) der definerede upper planes Således svarer 1 i LP-relaksationen af (22) Herved ses at dette upper plane er domineret af 18

5 " $ Antag nu at de kontinuere knapsack-problemer (215) F og (216) i stedet løses som heltals-knapsack Vi kalder dette delproblem 1 2 og definerer det tilhørende Lagrange-duale problem: < & 1F 2 1 som ovenfor ses, at for 2 fås at F 2 1 > ette medfører Vi betegner denne upper bound med Med tilsvarende argumentation 1 at 23 Lagrange relaxering 231 Chaillou, Hansen og Mahieu Chaillou, Hansen og Mahieu [8] foreslår at Lagrange-relaksere kapacitetsbegrænsningen i QK ette giver Lagrange-subproblemet: '/ 5 2 / 5 for et 2 ( ( & A/: 21 2 1 < /! #"$&% "? + (220a) (220b) ette er et 0-1 kvadratisk problem, hvilket generelt er -hårdt Men da profitterne i diagonalen altid er positive kan det løses i polynomiel tid Chaillou, Hansen og Mahieu [8] giver en algoritme baseret på max flow til at løse (220) e konstruerer et netværk " med 0 H knuder -"$"///!"10" % og kanterne: -"1; ;< ;)" +? ;)"? + = ;)" ;< + Hvor kanterne har kapaciteterne ( #" J / 5 2 ;I + ' ;E"? + = ( #" 2 J / ;I + Løsningen til max flow problemet på " " betegnes med Sætning 231 Løsningen til (220) er givet ved: 21 2 1 I 2 H K 5 19

Bevis Chaillou, Hansen og Mahieu beviser dette på følgende måde: et er velkendt at max flow er lig min cut:! #"%$'& )( * * & #"+$,& * -( & 0/ 1 ( 3 2 4 5 $ 6 ( * * & $ 4 * 4 * & & * / ( 3 2 87:9;0<>=?A@ 4 $ * 4B * C$, 87:9;0<3= * 4B * $E?A@ )( * *:/ & $ ( 3 2 87:9;0<>=?A@ 4 $ * 4 B * )(E 2-0<3=F?A@ $ * 4 B * )( * *:/ & $ 1 ( 3 2?A@ 4 $ * 4B * -( * 4 * / & $ 4 * 4 * & & * / ( 3 2?A@ 4 $ * 4 * -( * 4 * / & $ 4 * 4 * & & * / ( 3 2?A@ 4 & $ 4 * 4 * & & *!/ $HGAI;J#K!LM?N)(O? en sidste lighed giver det ønskede * 4 * & & *!/ * 4 * & & *!/ Løsningen til det Lagrangeduale-problem NP & giver den øvre grænse 21 2 1 (221) Som det er velkendt (fx fra side 173 i [7]) er Lagrange subproblemet 21 som funktion af 2 stykvis linear og konveks Chaillou, Hansen og Mahieu viser at denne funktion består af højest 0 segmenter Chaillou, Hansen og Mahieu brugte følgende algoritme til at løse det Lagrange-duale problem 1 Find de to yderste linjestykker af Lagrange subproblemet som funktion af 2 et vil sige linjestykket med mindst hældning og linjestykket med størst hældning et er ikke nødvendigt at kende enderne for linjestykkerne, da vi blot vil kigge på dem som linjer I det følgende vil altid ligge til venstre for det optimale 2 og vil ligge til højre for det optimale 2 og begge linjestykker vil være en del af grafen vil derfor have negativ hældning og positiv 2 Find skæringspunktet 2 " mellem linjerne som linjestykkerne og er en del af 20 2 1

3 Beregn 21 2 1 ved hjælp af max flow og find linjestykket som 2 "21 2 1 ligger på 4 Hvis er lig eller må og skære hinanden, og vi har dermed fundet løsningen til (221) 5 Ellers er et nyt linjestykke Hvis har positiv hældning ligger det til højre for optimum og vi sæter derfor Hvis har negativ hældning ligger det til venstre for optimum og vi sætter Herefter fortsætter vi til punkt 2 0 skridt, da vi aldrig kigger på den samme Ovenstående algoritme bruger kant to gange, og der højest var 0 kanter Hvis man bruger Karzanovs algoritme eller three Indians, som begge tager tid, til at løse flowproblemet, kan altså beregnes i 0 tid Gallo, Grigoriadis og Tarjan[10] er kommet med en max flow-algoritme, der vil nedsætte tidsforbruget til 0 Implementation Vi har valgt ikke at bruge algoritmen af Gallo, Grigoriadis og Tarjan, men at bruge CPLEX til at løse flowet for at begrænse projektets omfang Chaillou, Hansen og Mahieu har ikke skrevet hvordan de finder linjestykket ud fra et givet 2 Vi valgt at finde det ved at løse flowet igen for 2 H, hvor er et passende lille tal Herved kan hældningen af linien findes og linien bestemmes 24 Lagrange decomposition 241 Michelon og Veilleux Michelon og Veilleux [9] kigger på den ækvivalente formulering af QK, som fremkommer ved at indføre kopivariablene som er lig : Maksimer mht K K H K ; " +! #"$&% ; + (222) e lagrangedualiserer begrænsningerne, og får dermed: 21

5 Maksimer 21 mht 2 1 K "! #"$&% ;I + ette IP-problem kan splittes op i to IP- som giver grænseværdien problemer: Maksimer H 5 2 (223) 2 < 5 2 H K / #! #"$&% ;< + (224) som er et 0-1 kvadratisk problem og Maksimer mht K 2 K! #"$&% ;I + (225) som er et 0-1 knapsack-problem Michelon og Veilleux nævner men beviser ikke, at det 0-1 kvadratiske problem (224), kan løses med en max-flow algoritme på en tilsvarende måde, som den Chaillou, Hansen og Mahieu brugte ette skyldes at elementerne uden for diagonalen er positive Vi konstruerer netværket " " 2 med knuderne "$"///&"10"E% og kanterne "1; ; + % ;)"? ;E"? + % ;E" + % som har følgende kapaciteter: 5 2 % 2 5 5 (! #" (! #" % Sætning 241 2 <, hvor er max flow i 22

" " $ Som før udnytter vi at max flow er lig min cut: #"%$'& )( * * & #"+$,& * -( & / 1 ( 3 2 4 5 $ 6 ( * * & $ 4 * 4 * & & *!/ ( 3 2 87:9;0<>=? 4 $ * 4 B * C$, 87:9;0<3= * 4 B * $E? )( * * / & $ ( 3 2 87:9;0<>=? 4 $ * 4 B * )(E 2-0<3=F? $ * 4 B * )( * * / & $ 1 ( 3 2? 4 $ * 4 B * -( * 4 *:/ & $ 4 * 4 * & & *!/ 1 ( 3 2? 4 $ * 4 * ( * 4 * / & $ 4 * 4 * & & * / ( 3 2? 4 & $ 4 * 4 * & & * / $?N Bevis * 4 * & & * / * 4 * & & * / en sidste lighed giver det ønskede Sætning 242 Givet det bedste lambda 2 dvs 21 2 1 < & P 21 2 1 fra Chaillou, Hansen og Mahieu, da vil 21 2 1 21 2 1 for 2 2 " 2 "/// " 2 Bevis For enhver lovlig løsning " til 21 2 1 har vi for den lovlige løsning til 21 2 1 21 2 1 21 5 2 1 L# 5 2 5 $ 5 K H K K# 5 5 / 2 H 2 H 2 5 2 2 5 2 5 23

a 1 2 har begrænsningen er 2 5 ( For enhver lovlig løsning til 21 2 1 vil den tilsvarende løsning til 21 2 1 altså være lovlig og give en større objektfunktion a vi maksimerer over alle 2 1 altså en højere værdi end21 2 1 lovlige løsninger giver 21 Korrolar 243 Bevis Følger direkte af sætning 242 Michelon og Veilleux brugte heuristikker til at få en øvre grænse for Vi har valgt at approksimere med subgradientmetoden enne approksimation kalder vi Vi starter med 2 2, da det er en hurtig måde at få en god startværdi på 242 Billionet, Faye, Soutif I denne grænseværdi anvender Billionet, Faye og Soutif [4] Lagrange dekomposition til at opsplitte problemet i uafhængige delproblemer Hver delproblem løses da ved udtømmende søgning blandt en delmængde af de variable der indgår Herved kan delproblemet løses ved at løse en række knapsackproblemer Vi vil anvende følgende definitioner: Lad "///!" % være en klassedeling af indexmængden+ vs + og for;>=? Lad )A ; være det -$"///&"/ % således at ;I er mængden af variable med; 1 "1 være givet ved: "1 < K#IH Lad funktionen a ses at J "1 J J J J J J J J 24 ' '/ IH J J / K# '/ IH J / K#

H 5 " Hvor højresiden er objektfunktionen for QK Bemærk at hvis variablen holdes konstant, da er linear i de tilbageværende frie variable er anvendes nu Lagrange dekomposition til at opspalte problemet i uafhængige subproblemer er introduceres kopivariable således at -$// % "? + 3 kopier af kapacitetsbe- esuden erstattes kapacitetsbegrænsningen med grænsningen (hvoraf # 5 $ er redundante) og kopivariablene introduceres i disse er tilføjes også redundante begrænsninger på formen Herved fås følgende formulering af QK 2 ( & A/: og fås ( & A/: L# H '/ $ (226a) #" -$"///!"/ % "? + 3 (226b) " ; + "? + "))A ; = )A? (226c) H / &" -$"///&"/ % (226d)! #"$&% " ;< + (226e)! #"$&% " $"/// "/ "? + 3 (226f) Lagrangerelakseres (226b) og (226c) med lagrange variable henholdsvis H 2 H H * 4 * 5 (227a) (227b) H / &" -$"///&"/ % (227c)! #"$&% " ;< + (227d) #"$ " $"/// "/ "? + 3 (227e) Her er også grænserne på variablene relakseret 25

" " " " " a * 4 * 5 ' 5 )K og 2 K 2 set $ K kan (227) løses ved at løse de uafhængige delproblemer -" 2 ", $"///!"/ givet ved: ( & A/: " 2 " 1 / H / H 2 H /! #"$&% " ;< + #"$ "? + 3 ette kan omskrives til: $ 5 / 2 2 H $ (228a) 5 E (228b) (228c) (228d) (228e) ( & A/: " 2 " 1 9 H $ / 5 2 H 5 ) $ H /! #"$&% " ;< + #"$ "? + 3 hvor 9 J J / '/ H J J 2 Antages nu variablene holdes konstant, da er ledet 9 konstant esuden ses at hvis vi definerer 5 2 H 5 E (229a) (229b) (229c) (229d) (229e) 26

kan man omskrive " 2 " til et problem på formen: ( & A/: " 2 " 1 9 H (230a) / 5 (230b) #"$? + 3 (230c) Problemet (230) løses for samtlige tildelinger af fra! #"$&% 5 5 For en fast værdi af er (230) et kontinuert knapsackproblem efiner -" 2 " 1 til at være den største løsning fra disse 5 5 knapsackproblemer Således fås at løsningen til (227) er -" 2 " 1 et Lagrange duale problem er givet ved: & " 2 " 1 ette kan tilnærmes ved hjælp af subgradientmetoden Grænseværdien opnået herved betegnes Antag at " $"/// "/ vælges således at samtlige er af samme størelse Altså er, hvor 0 + Køretiden for at beregne Lagrange delproblemet er 0 ette ses nemt da der for hver af de delproblemer -" 2 " skal løses 5 5 lineare knapsackproblemer Hver af disse knapsackproblemer tager 0 tid hvilket giver 0 totalt Bemærk at grænsens kvalitet er bedre med færre delproblemer, men at køretiden stiger eksponentielt med $ Billionet, Faye og Soutif [4] foreslår at vælge således at0, hvilket vi også har anvendt Implementation Som nævnt tilnærmes løsningen til det Lagrange duale problem med subgradientmetoden som beskrevet i afsnit 13 For er antallet af Lagrangevariable 0 5 H 0 0 5 < 0 Lad 2 # 5 " -$// % "? + 3 og 5 # " ;< + "? + ")1A ; = 1A? a er subradienten anvendt ved opdatering af 2 " givet ved 2 " 27

$ # # # 25 Grænseværdier baseret på SP ette afsnit er baseret på [16] og [15] En matrix + er positiv semidefinit (PS) hvis: ( og vi anvender notationen hvis er PS I det følgende vil alle matrixer også være symmetriske et ses nemt at ( 7K9:I; + esuden gælder det at en $ $ matrix er PS hvis og kun hvis / ( For en blokdiagonalmatrix gælder at, "!#!!!! #"!!! " 1 I dette afsnit præsenteres grænseværdier baseret på semidefinit programmering (SP) vs grænseværdier givet ved et problem på formen " (231a) " ; $// (231b) (231c) ( & A/: hvor " +, et kan vises at: Sætning 251 [18] Følgende egenskaber er ækvivalente for + : 1 og: ( < $ 2 en oprindelige formulering af QK kan skrives ( & A/: "1 (232a) (232b)! #"$&% (232c) 28

Ved hjælp af sætning 251 ses at der findes den ækvivalente formulering: " (233a) iag " (233b) (233c) ( & A/: rank $ (233d)! #"$&% (233e) ette ses ved at bemærke at der ifølge sætning 251 findes en bijektion mellem løsningerne til (233) og (232) og at hver par af løsninger har samme objektværdi Ved at fjerne begrænsningen (233d) og relaksere (233e) fås nedenstående grænseværdi, der benævnes " (234a) iag " (234b) (234c) ( & A/: $ (234d) Bemærk at begrænsningerne ( er fjernet da de følger af en følgende sætning giver en lovlig ulighed for (233) Sætning 252 [18] Hvis,! #"$&% og : ( * $ så gælder at 5 %'&(*) %'&(*) Tilføjes denne begrænsning til (233) fås " (235a) iag " (235b) (235c) ( & A/: rank $ (235d) 5 %'&(*) %'&(*) (235e)! #"$&% (235f) Fjernes (235c) og (235d) og relakseres (235f) fås den øvre grænse " (236a) iag ( & A/: " (236b) %'&(*) 5 %'&(*) (236c) $ (236d) For at skrive dette som et SP anvendes at: 29

Sætning 253 [18] hvor %'&(*) 5 %'&(*) $ %'&(*) %'&(*) Således kan (236) skrives ( & A/: " (237a) iag " (237b) $ %'&(*) %'&(*) (237c) (237d) $ (237e) Bemærk at begrænsningerne ( er fjernet da de følger af Ovenstående kan let skrives som et SP ved at formulere (237c) som en række begrænsninger på formen " Vi betegner grænseværdien givet ved (237) med Betragt nu igen formuleringen (233) Ifølge sætning 251 findes således at Begrænsningen (233b) kan da omskrives til iag " iag "1 et gælder at: ' ' "1 ette giver formuleringen ( & A/: > " * > " (238a) (238b) (238c) rank $ (238d)! #"$&% (238e) " Man kan da relaksere som tidligere hvilket giver grænseværdien ( & A/: " (239a) > I" (239b) %'&(*) 5 %'&(*) (239c) $ (239d) 30

der betegnes en næste relaksation omformulerer også begrænsning (233b) a ( gælder at: ette er ensbetydende med at 5 $ $ " (240) $ Bemærk nu at da og ; < så er $ $' $ $ % &(*) % &(*) $ % &(*) %'&(*) Indsættes dette i (240) fås at 5 " ( altså er følgende en formulering af QK ( & A/: " (241a) " ( (241b) 5 $ %'&(*) %'&(*) (241c) (241d) rank $ (241e)! #"$&% (241f) Ved at anvende sætning 252 og relaksere som tidligere fås grænseværdien : ( & A/: " (242a) 5 " ( (242b) $ %'&(*) %'&(*) (242c) %'&(*) 5 %'&(*) (242d) $ (242e) 31

Hvor vi bemærker at (242d) er ækvivalent med Ved at gange kapacitetsbegrænsningen i QK med fås den lovlige ulighed / /L*L 7K9: ;< + erstattes K# med ' og med fremkommer ulighederne / ' G 7K9:<;I + hvilket giver relaksationen ( & A/: " (243a) 7 9:<;I + (243b) %'&(*) 5 %'&(*) (243c) $ (243d) Forholdet mellem disse grænseværdier er givet ved følgende sætning: Sætning 254 [15] et gælder at: 251 Implementation Ovenstående SP problemer har vi løst med softwarepakken SeuMi 105 [11] til Matlab Ifølge benchmarks [12] er SeuMi ikke den hurtigste SP løser der er til rådighed Vi formoder dog at beregningstiden er repræsentativ SeuMi løser problemer på formen: " (244a) " ; $// (244b) (244c) ( & A/: Hvor for ; $"///!"/ er symmetrisk Man kan nemt håndtere begrænsninger af typen (244b) med ulighed i stedet for lighed ved at tilføje slackvariable feks kan ( & A/: " (245a) " (245b) (245c) 32

skrives ( & A/: " (246a) " (246b) (246c) hvor $ I det følgende beskrives hvordan omskrives til den nødvendige form Vi minder om at er givet ved: ( & A/: " (247a) Begrænsningen begrænsninger, " G 7K9: ;< + (247b) $ %'&(*) %'&(*) (247c) (247d) $ (247e) $ %'&(*) %'& (*) kan modelleres ved 0 H $ hvor " 3 $ 7 9:<;? $ ABCBCA/:E og for "///!"10 H $ : $ 7K9: ; $"? ABCBCA/:? $"1; 5 7K9: ;? ABCBA/:E $ 33

$ # # # # # # # # # # # J Ligeledes kan begrænsningerne / ' 7K9: ; + modelleres ved 0 begrænsninger: " " hvor for; $"///!"10,!!!!!!!!!!!!!!!!!! 5!!!!!!!!!!!!!! e tilbageværende begrænsninger $ for ; $"///!"10 kan skrives som 0 &0 H $ matrixbegrænsninger er skal således ialt bruges begrænsninger for at skrive på den ønskede form (244) På tilsvarende måde kan omskrivninger foretages for de andre grænseværdier "!# 34

Kapitel 3 Numerisk test I dette kapitel diskuterer vi resultaterne af testkørsel på en række genererede instanser af QK 31 Testinstanser a vi ikke havde adgang til nogen testinstanser fra en anvendelse af QK, har vi valgt at bruge de testinstanser som traditionelt er brugt i artikler der beskriver øvre grænser for QK En instans af størrelse 0 og med densitet laves på følgende måde: Elementerne i profitmatrixen vælges med sandsynlighed som et tilfældigt heltal mellem 1 og 100 og er ellers 0 Nogle gange har man sat ' hvilket vi har valgt, da alle instanser kan skrives op på denne måde, og nogle af grænserværdierne antager dette Vægtene vælges som heltal mellem 1 og 50 Kapaciteten sættes til et tilfældigt heltal i intervallet #" J Vores testinstanser er lavet med testinstansgeneratoren fra [17] Resultaterne af vores test er afhængig af den fordeling vi har valgt for vores testdata Man må stille sig det spørgesmål om dette er en rimelig fordeling at teste på Vi har prøvet med instanser, hvor hvert element svarede til et punkt i en firkant, og profiten for to elementer ; og? var lig den euklidiske afstand mellem ; og? isse instanser var væsentlig nemmere at løse en vores testinstanser Vi kan derfor sige at de instanser vi har testet på ikke er blandt de nemmeste at løse et er dog ganske sikkert muligt at finde fordelinger, for hvilke vores testkørsel ville have forløbet anderledes E, 35

32 Resultater Alle grænseværdierne er blevet kørt for ovenstående testinstanser for 0 #" #"///" % og " " #" " "!$/#% er er blevet kørt 10 instanser for hver kombination af densitet og størrelse Hvis en øvre grænseværdi ikke er blevet beregnet i løbet af 2 timer, har vi afbrudt beregningen Grænseværdierne er blevet beregnet på Intel Pentium III (Coppermine) 930 MHz CPUer Gennemsnittene over de 10 instanser kan ses i tabellerne i kapitel 4 Her er for hver 0" listet henholdsvis gennemsnit af grænseværdiernes værdi, tidsforbrug og afvigelse fra løsningen af QK For hvert indeholder tabellen gennemsnittet af grænseværdi, løsningstid og afvigelse over alle 0 Nederst i tabellen ses gennemsnit over samtlige udregnede instanser e eksakte løsningerne er udregnet med Caprara, Pisinger og Toths løser [17], da det er den løser der har løst de største problemer I de få tilfælde vi ikke har kunnet løse en instans i løbet af 85000 sekunder har vi brugt den nedre grænseværdi som denne løser har fundet en i tabellen angivne afvigelserne er således en øvre grænse for afvigelsen fra den optimale løsning en må formodes at ligge meget tæt på løsningen og fejlen derfor være lille e instanser for hvilke vi kun har udregnet nedre grænseværdier, er vist i figur 423 på s 57 Grafer over grænseværdiernes afvigelse fra den optimale løsning er vedlagt på s 46 er er to typer grafer en første type graf sammenligner afvigelsen for hvert er er også en graf der viser den gennemsnitlige afvigelse over alle en anden type graf (s 49) viser for hver grænseværdi den gennemsnitlige afvigelse over alle0 som funktion af Man bør være opmærksom på at det kun er meningsfyldt at sammenligne gennemsnit, når samtlige grænseværdier er udregnet dvs når ingen er faldet for tidsgrænsen på 2 timer 33 Kvalitet/beregningstid Når effektiviteten af grænseværdierne skal vurderes, må man kigge på forholdet mellem beregningstid og kvalitet En mulig anvendelse af grænseværdierne er i en branch & bound algoritme Her beregnes grænseværdien i hver knude i branch & bound-træet En lavere grænseværdi kan potentielt forsage at der skal behandles færre knuder, da større dele af branch & boundtræet kan udelades For tilstrækkeligt store instanser vil man forvente at den numerisk laveste grænseværdi vil give den laveste kørertid for en branch & bound-algoritme I praksis må man se på forholdet mellem beregningstid og 36

den numeriske kvalitet En grænseværdi af lavere numerisk kvalitet kan forsage at der skal behandles flere knude, til gengæld kan den behandle hver knude hurtigere Typisk vil man tilføje en reduktionsfase til branch & bound hvor man forsøger at fiksere variable For hver variabel udregnes den øvre grænse under forudsætningen Hvis løsningen til dette problem er mindre end en udregnet nedre grænse, fikseres til $ Ellers gentages proceduren med $ I denne reduktionsfase kan det være fordelagtigt at bruge en langt mere beregningstung øvre grænseværdi, da antallet af gange grænseværdien skal udregnes er 0 Vi bør også nævne at vores beregningstider ikke for alle grænseværdier er repræsentative for hvor hurtigt grænseværdierne vil kunne beregnes i en branch & bound knude ette skyldes at nogle af grænseværdierne kan beregnes inkrementelt Feks kan man ved grænseværdier baseret på et LP der løses med simplex ( ) anvende varmstart af dual-simplex Vores beregningstider kan derfor ses som en øvre grænse for beregningstiden i en knude med + ikke fikserede variable Vi bemærker først at grænseværdierne baseret på upper planes (,,, og ) ligger langt fra løsningen Typisk over $/ Beregningstiden for disse grænseværdier er dog den laveste blandt dem vi har undersøgt Grænseværdierne og den optimale løsning a beregningstiden også er høj, kan vi konkluderer at disse grænseværdier ikke er brugbare e 3 andre SP grænseværdier, og er af god kvalitet Afvigelsen er typisk under $, med undtagelse af Kvaliteten er bedre ved stor densitet Vi bemærker at, og har ca samme kvalitet, men beregningstiden for, er markant lavere end for Grænserne og er derfor de af SP grænseværdierne der giver det bedste forhold mellem kvalitet og beregningstid Beregningstiden for SP grænseværdierne er høj men kvaliteten er også blandt de bedste et bør også nævnes at man muligvis kan opnå forbedringer ved at anvende en anden SP-løser end SeuMi baseret på SP er også typisk over $/ fra tager meget langt tid at beregne en giver dog nogen gode grænseværdier specielt for høje densiteter a beregningstiden stiger skarpt for voksende 0, er denne grænseværdi dog nok ikke anvendelig som den er implementeret her Som nævnt i afsnit 221 er det dog muligt at forholdet mellem kvalitet og beregningstid kan forbedres har ganske lav beregningstid og kvaliteten er god, specielt ved store densiteter Når densiteten er lille giver bedre grænseværdier, og den er altid hurtigere at beregne end giver som bevist altid bedre grænseværdier end, men er meget langsommere giver meget gode grænseværdier, ofte de numerisk bedste i testen Hvis 37

man sammenligner med de bedste SP grænseværdier ser man at er klart bedre for men at kvaliteten er sammenlignelig for store densiteter Beregningstiden for er lavere end SP grænseværdierne, men meget høj i sammenligning med feks og 34 Anvendelse i branch & bound Vi vil her prøve at komme med en anbefaling om hvilke af de afprøvede grænseværdier der kan anvendes til at forbedre de eksisterende branch & bound algoritmer Som tidligere nævnt er det ikke nemt at forudsige anvendeligheden af en grænseværdi i branch & bound alene udfra de test vi har foretaget Vores anbefalinger kan altså højest være et skøn Vi vil her begrænse os til at diskutere grænseværdier i reduktionsfasen, da det er det vi mener vi kan sige mest om udfra vores test Hvorvidt de undersøgte grænseværdier kan anvendes i selve branch & bound træet vil det være nødvendigt med en konkret implementation af branch & bound for at vurdere I den mest succesfulde branch & bound algoritme udviklet af Caprara, Pisinger og Toth [5] anvendes grænseværdien i reduktionsfasen I hver knude i branch & bound træet anvendes en let modificeret udgave af, hvor man ikke finder de optimale lagrange variable, men i stedet bruger de værdier der blev fundet i reduktionsfasen Vi bemærker at grænseværdien har større afvigelse for lave At dette kan forudsagde problemer indikeres af at samtlige instanser der ikke kunne løses optimalt inden for tidsgrænsen på sekunder har For at udbedre dette problem kunne man anvende en grænseværdi, som er bedre end for små En kandidat er, der er hurtig at udregne og bedre end for små a antallet af gange grænseværdien skal udregnes ikke er meget stort i reduktionsfasen ( 0 ), er mange af de beregningstunge grænseværdier også kandidater Grænseværdierne og har meget lille afvigelse fra den optimale værdi, og er derfor kandidater trods den relativt store beregningstid 35 ominansforhold Vi har gennemgået vores resultater for at finde instanser der kan vise at der ikke findes et dominansforhold mellem at par af grænseværdier vs vi finder et par af instanser " for hvilke det gælder at den ene grænseværdi er bedst for og den anden grænseværdi er bedst for 38

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Tabel 31: enne tabel er en oversigt over de viste dominansforhold Et felt markeret med indikerer, at der i kapitel 2 er vist et dominansforhold mellem de to grænseværdier Hvis et felt er markeret med har vi fundet et eksempel der viser at der ikke eksisterer et dominansforhold Hvis et felt er tomt, har vi ikke bevist noget dominansforhold og intet par af testinstanserne modbeviser at det eksisterer et dominansforhold Med ganske få undtagelser har vi, for hvert par af grænseværdier, enten kunne vise at der eksisterer et dominansforhold eller finde et eksempel der viser at et sådan dominansforhold ikke kan eksisterer Vores beregninger har ikke kunne modbevise eksistensen af et dominansforhold mellem og,,, eller Heller ikke mellem og,, eller har vi kunnet udelukke at der kan eksistere et dominansforhold Heller ikke mellem og eller samt mellem og har vi kunnet modbevise, at der kan eksistere et dominansforhold For alle andre tilfælde end de ovenfor nævnte, har vi enten fundet et eksempel på at et dominansforhold ikke kan eksistere eller vist i kapitel 2 at et dominansforhold eksisterer Tabel 31 giver et overblik over hvad der er vist for de grænseværdier vi har implementeret I tabel 41 har vi vist, hvilke testinstanser der er eksempler på ikke eksisterende dominansforhold a en instans fylder ret meget og man selv kan lave dem, ved at hente testinstansgeneratoren fra [17], har vi ikke udskrevet testinstanserne, men blot de parametre der skal til for at lave dem 36 Konklusion I denne rapport har vi beskrevet, implementeret og eksperimentelt afprøvet en række grænseværdier for QK 39

Vi vil her kort beskrive vores bidrag Vi har redegjort for en række implementationsdetaljer I afsnit 25 har vi redegjort for hvorledes de i [15] udledte grænseværdier kan skrives på en form der kan anvendes af software til semidifinit programmering I afsnit 241 har vi vist hvorledes den af Michelon og Veilleux foreslåede Lagrange-decomposition kan løses effektivt ette er gjort ved at modificere en metode foreslået af Chaillou, Hansen og Mahieu [8] til at kunne løse Lagrange subproblemet Vi har også fundet en række dominansforhold I afsnit 21 har vi kommet med eksempler på at der ikke kan eksistere et dominansforhold mellem en række grænser baseret på upper planes Ved vores eksperimentelle afprøvning har vi også fundet en række eksempler der viser at der ikke kan eksistere dominansforhold mellem mange af de undersøgte grænseværdier I afsnit 222 har vi vist at I afsnit 241 har vi vist at der gælder Herudover har vi på grundlag af de eksperimentelle data anbefalet hvilke grænseværdier der eventuelt kan anvendes til at forbedre eksisterende branch & bound algoritmer 40

Kapitel 4 Resultater 41

41 Grænser baseret på upper planes (21) n 5 40 38411 0000 638% 38411 0002 638% 38411 0001 638% 38411 0000 638% 38411 0000 638% 60 70735 0000 1761% 70735 0000 1761% 70735 0001 1761% 70735 0002 1761% 70663 0001 1749% 80 122816 0000 2270% 122816 0000 2270% 122816 0000 2270% 122816 0001 2270% 122807 0001 2270% 100 203094 0000 1384% 203094 0002 1384% 203094 0003 1384% 203094 0001 1384% 203094 0000 1384% 120 261563 0001 2504% 261563 0001 2504% 261543 0002 2503% 261532 0001 2502% 261527 0001 2502% 140 290708 0000 4017% 290708 0000 4017% 288730 0006 3922% 288459 0002 3909% 288257 0003 3899% 160 475484 0001 2153% 475484 0001 2153% 474668 0003 2132% 474483 0005 2127% 474359 0005 2124% 180 632775 0002 2169% 632775 0002 2169% 632775 0008 2169% 632775 0002 2169% 632775 0002 2169% 200 801200 0002 1806% 801200 0004 1806% 801200 0008 1806% 801200 0002 1806% 801200 0004 1806% snit 321865 0001 2078% 321865 0001 2078% 321552 0004 2065% 321501 0002 2063% 321455 0002 2060% 25 40 122887 0000 3522% 121775 0001 3400% 116158 0002 2782% 115711 0001 2733% 114911 0000 2645% 60 332599 0000 2147% 331281 0000 2099% 323315 0000 1808% 322778 0001 1788% 322453 0001 1776% 80 639388 0000 1683% 639068 0001 1678% 628766 0001 1489% 628318 0003 1481% 627915 0001 1474% 100 705635 0000 6173% 704029 0003 6136% 687486 0002 5757% 686803 0000 5741% 685736 0001 5717% 120 1214790 0000 3108% 1210697 0001 3064% 1179746 0002 2730% 1179224 0001 2724% 1178586 0004 2718% 140 1713388 0002 3689% 1713388 0002 3689% 1698026 0004 3566% 1697569 0001 3562% 1696885 0005 3557% 160 2633396 0000 1854% 2633396 0001 1854% 2620372 0006 1796% 2620012 0002 1794% 2619328 0006 1791% 180 2850917 0000 3180% 2842964 0002 3144% 2811047 0008 2996% 2810730 0003 2995% 2810198 0005 2992% 200 2926174 0003 4902% 2926160 0003 4902% 2799910 0009 4259% 2798124 0010 4250% 2794548 0006 4231% snit 1459908 0001 3362% 1458084 0002 3329% 1429425 0004 3020% 1428808 0002 3008% 1427840 0003 2989% 50 40 281558 0000 3576% 279791 0000 3491% 261352 0001 2601% 260252 0001 2548% 259134 0000 2495% 60 598771 0000 3611% 590250 0000 3417% 561389 0000 2761% 560272 0001 2735% 558630 0002 2698% 80 1291030 0000 1848% 1290047 0000 1839% 1251629 0003 1486% 1250538 0002 1476% 1249205 0001 1464% 100 1397889 0001 5213% 1341519 0001 4600% 1239271 0003 3487% 1237745 0001 3470% 1235201 0003 3442% 120 2481724 0001 3147% 2450194 0005 2980% 2313954 0003 2259% 2312532 0002 2251% 2309677 0003 2236% 140 3372125 0000 4317% 3371345 0002 4314% 3251475 0003 3805% 3249713 0006 3797% 3246623 0003 3784% 160 4680725 0000 2359% 4636344 0002 2241% 4423559 0003 1680% 4422144 0004 1676% 4418650 0006 1667% 180 5387209 0003 3088% 5306140 0007 2891% 5017630 0005 2190% 5016466 0005 2187% 5013032 0007 2179% 200 7259043 0000 2932% 7218632 0005 2860% 6916849 0010 2323% 6915627 0007 2320% 6912444 0007 2315% snit 2972230 0001 3343% 2942696 0002 3181% 2804123 0003 2510% 2802810 0003 2496% 2800288 0004 2475% 75 40 417653 0000 3510% 398179 0000 2880% 366266 0000 1848% 364774 0000 1800% 363398 0000 1755% 60 856250 0001 3738% 804764 0000 2912% 731451 0000 1736% 729607 0000 1706% 727546 0002 1673% 80 1772158 0000 2677% 1719982 0001 2304% 1612745 0002 1537% 1611325 0003 1527% 1609305 0000 1512% 100 2527796 0000 3120% 2367714 0001 2289% 2193559 0004 1385% 2192078 0002 1377% 2189215 0002 1363% 120 2979044 0000 3320% 2719031 0002 2157% 2495815 0002 1159% 2494368 0003 1153% 2491366 0003 1139% 140 4712592 0000 3653% 4393002 0002 2727% 4031594 0005 1680% 4029990 0005 1675% 4026650 0004 1666% 160 7015725 0000 2579% 6808580 0002 2207% 6477362 0004 1613% 6475851 0007 1611% 6472547 0007 1605% 180 5978363 0002 5266% 5283352 0006 3491% 4733090 0006 2086% 4731370 0009 2082% 4726954 0006 2071% 200 6781619 0001 5106% 5656747 0004 2600% 5086573 0007 1330% 5084941 0009 1326% 5081400 0009 1319% snit 3671244 0000 3663% 3350150 0002 2619% 3080939 0003 1597% 3079367 0004 1584% 3076487 0004 1567% 95 40 436097 0000 6384% 359940 0001 3523% 312286 0003 1733% 310670 0000 1672% 309147 0000 1615% 60 978801 0000 6120% 819861 0000 3503% 705309 0002 1616% 703486 0001 1586% 701352 0003 1551% 80 1939827 0000 3989% 1722073 0001 2419% 1565224 0000 1288% 1563270 0002 1274% 1561224 0002 1259% 100 2683812 0002 4927% 2283520 0002 2700% 2040732 0001 1350% 2038677 0006 1339% 2036749 0000 1328% 120 4987394 0002 2716% 4648434 0002 1852% 4339615 0002 1064% 4337657 0004 1059% 4334927 0004 1052% 140 6560280 0002 2802% 6138555 0004 1979% 5723524 0006 1169% 5721352 0003 1165% 5718043 0005 1158% 160 8588975 0000 3482% 7857733 0002 2334% 7142600 0004 1211% 7140508 0008 1208% 7135866 0008 1201% 180 10380349 0002 3171% 9457449 0004 2000% 8769300 0006 1127% 8767313 0008 1124% 8762501 0003 1118% 200 11500391 0002 5323% 9882080 0003 3167% 8580391 0009 1433% 8578262 0007 1430% 8571814 0015 1421% snit 5339547 0001 4324% 4796627 0002 2608% 4353220 0004 1332% 4351244 0004 1317% 4347958 0004 1300% 100 40 631759 0001 2367% 588702 0001 1524% 560082 0001 964% 558458 0001 932% 557552 0000 915% 60 1367483 0000 1993% 1266669 0000 1109% 1209760 0001 609% 1208246 0001 596% 1207292 0001 588% 80 2010421 0000 4013% 1738010 0000 2115% 1588454 0001 1072% 1586492 0003 1058% 1584625 0001 1045% 100 3463212 0001 3311% 3107253 0001 1942% 2874068 0003 1046% 2871878 0003 1038% 2869722 0002 1029% 120 4970504 0001 3767% 4435608 0004 2286% 4019632 0002 1133% 4017282 0003 1127% 4014263 0005 1119% 140 7393070 0000 2621% 6882951 0002 1750% 6464004 0006 1035% 6461672 0004 1031% 6458079 0004 1025% 160 7575780 0000 3814% 6560737 0001 1963% 6014967 0007 968% 6012972 0006 964% 6010056 0005 959% 180 10004845 0002 4630% 8493441 0005 2420% 7513285 0005 986% 7511148 0007 983% 7506578 0009 977% 200 12489496 0003 4076% 10825300 0004 2201% 9767795 0009 1009% 9765748 0010 1007% 9761161 0008 1001% snit 5545174 0001 3399% 4877630 0002 1923% 4445783 0004 980% 4443766 0004 971% 4441036 0004 962% gennemsnit 3218328 0001 3362% 2957842 0002 2623% 2739174 0004 1918% 2737916 0003 1906% 2735844 0003 1892% tallene er gennemsnit for 10 instanser 42

42 Grænser baseret på lagrange relaxering (231, 241) n 5 40 36397 00 080% 36204 03 027% 36374 36 074% 60 60533 00 065% 60363 06 037% 60439 96 049% 80 100539 00 045% 100381 14 029% 100525 158 043% 100 178962 00 032% 178689 20 016% 178944 248 031% 120 209771 00 028% 209540 32 017% 209811 404 030% 140 208548 00 056% 208480 22 053% 208838 756 070% 160 391756 00 013% 391550 125 008% 391784 765 014% 180 520757 00 014% 520579 73 011% 520866 950 017% 200 679179 01 008% 678971 220 005% 679262 1110 009% snit 265160 00 038% 264973 57 022% 265205 502 037% 25 40 93670 00 307% 93039 06 238% 92373 37 165% 60 275391 00 058% 274839 18 037% 274778 85 035% 80 552827 00 102% 551472 65 077% 550810 161 065% 100 447120 00 248% 446966 30 244% 439270 300 068% 120 931984 01 057% 931623 49 053% 929164 386 026% 140 1269989 01 146% 1269981 24 146% 1259332 594 061% 160 2232556 02 050% 2231984 647 047% 2225021 622 016% 180 2178982 02 074% 2178776 348 073% 2168817 935 027% 200 1992517 03 147% 1992449 203 147% 1970786 1223 036% snit 1108337 01 132% 1107903 155 118% 1101150 483 055% 50 40 215072 00 370% 214306 11 333% 210155 37 133% 60 452465 00 285% 451802 31 270% 442897 84 067% 80 1098584 00 082% 1097241 94 069% 1093854 147 038% 100 952053 01 361% 951697 154 357% 923432 247 050% 120 1914071 02 140% 1913088 485 135% 1894218 361 035% 140 2386578 03 133% 2386414 284 132% 2359758 473 019% 160 3831414 05 116% 3829946 1649 112% 3795009 661 020% 180 4180910 06 157% 4180831 279 157% 4124872 848 021% 200 5659965 08 083% 5659872 438 083% 5622069 1070 016% snit 2299012 03 192% 2298355 381 183% 2274029 437 044% 75 40 321256 00 392% 319516 33 336% 314030 37 158% 60 636662 00 215% 635004 64 188% 628313 81 081% 80 1419160 01 152% 1419111 20 152% 1401084 135 023% 100 1964507 02 196% 1963893 151 193% 1934621 233 041% 120 2278875 03 189% 2276799 1955 180% 2247476 312 049% 140 3518730 05 194% 3518699 306 194% 3458318 475 019% 160 5646466 07 124% 5645148 5068 121% 5587491 631 018% 180 3986514 08 180% 3986514 144 180% 3920906 778 012% 200 4580382 37 203% 4580382 179 203% 4496865 1025 017% snit 2705839 07 205% 2705007 880 194% 2665456 412 046% 95 40 290929 00 930% 290869 04 928% 270431 38 160% 60 632750 00 421% 632750 06 421% 611318 84 068% 80 1422578 01 259% 1421908 112 254% 1396500 146 071% 100 1827269 02 163% 1827192 131 162% 1806345 210 046% 120 3989173 04 171% 3988456 894 169% 3933322 327 028% 140 5217518 05 182% 5217244 1132 181% 5135641 415 022% 160 6509897 08 218% 6509448 2216 218% 6392075 629 033% 180 8043802 10 206% 8043802 151 206% 7906772 808 032% 200 7758647 12 338% 7757813 5633 337% 7516543 1037 015% snit 3965840 05 321% 3965498 1142 320% 3885439 410 053% 100 40 532367 00 422% 531663 20 408% 518762 36 155% 60 1164626 00 214% 1163613 112 205% 1151509 82 099% 80 1466428 01 222% 1466221 204 220% 1442212 140 053% 100 2677381 02 290% 2677381 44 290% 2608998 220 027% 120 3690799 04 223% 3690696 200 222% 3624264 331 038% 140 5970919 06 193% 5970215 1227 192% 5872828 479 026% 160 5607531 08 225% 5605225 9787 221% 5501329 600 031% 180 7012377 10 254% 7012374 211 254% 6855212 783 024% 200 9020412 14 166% 9020263 798 166% 8917339 1031 050% snit 4126982 05 245% 4126406 1400 242% 4054717 411 056% gennemsnit 2411862 03 189% 2411357 669 180% 2374333 443 049% tallene er gennemsnit for 10 instanser 43