Hovedfagspresentasjon Preprosessing Large Scale Linear Systems Bernt Asbjørn Omland Institutt for Informatikk ved Universitet i Bergen 18 Desember 2003 1
Oversikt Preprosessering Yinue Ye og M.C. Cheng sine bidrag Numeriske eksperimenter Kombinasjon av metodene Oppsummering 2
Preprosessering Bruksområder for preprosessering: Transformere problemet til standard form Eliminere overflødige variable Eliminere overflødige sidekrav Stramme inn grenser 3
Yinue Ye og M.C. Cheng sine bidrag Generell informasjon om metodene: Begge metodene er kolonne elimineringsteorem for lineære programmeringsproblem. Metodene kan brukes til å eliminere kolonner før man starter å løse det aktuelle problemet, og etter hver iterasjon. Begge metodene krever en approksimasjon av optimalløsningen for å effektivt finne overflødige variable. Desto bedre denne approksimasjonen er, desto mer effektive er metodene. 4
Numeriske eksperimenter Test dataene løses ved bruk av egenprodusert Simplexløser i Matlab. Elimineringsmetodene er programmert inn og eliminerer kolonner fra problemene i hver iterasjon dersom overflødige kolonner blir funnet. Antall kolonner som elimineres etter hver iterasjon blir lagret og presentert i tabeller. De tre første og siste iterasjon er presentert i tabellene for ulike approksimasjoner ( ) av optimalløsningen. ( ) variererer fra til korrekt løsning. Problemdataene som ble brukt er tilfeldig genererte problem, av varierende størrelse og innhold. 5
Eksempel 1 Cheng Ye 1 2 3 end 1 2 3 end 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 49.9 49.9 49.9 49.9 0.00 0.17 0.23 0.33 49.9 49.9 49.9 49.9 0.00 1.73 2.44 5.05 49.9 50.0 50.0 50.1 0.00 4.48 6.41 25.7 49.9 50.2 50.3 50.7 0.00 6.16 9.00 60.8 49.9 50.3 50.5 51.1 0.00 7.33 10.8 100 49.9 50.4 50.6 51.5 Matrise!#"%$!#"#"'& består av: ")(*,+ -(.!#"#"%$/10324#$5565$6!#" and 7)24#$55656$/!#"#"'&, der 8#" prosent elementer lik null. Vektor 9 består av: :3;#!#"<=9 -<=;#!#"%$>7?2@#$5565$6!#"#"'& der!#"'a av verdiene er B=". Cheng s metode er i dette tilfelle ikke særlig effektiv før approksimasjonen ( ) av optimalløsningen er mindre enn eller lik CED%FE. Ye s metode eliminerer omtrent G*H prosent av de overflødige kolonnene allerede når er mindre enn eller lik C=HIHE. 6
Eksempel 2 Cheng Ye 1 2 3 end 1 2 3 end 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.73 0.74 0.74 0.74 0.11 0.11 0.11 0.11 5.51 5.65 5.73 5.88 2.08 2.09 2.10 2.10 10.4 10.8 11.1 16.4 4.93 4.97 5.01 5.03 12.7 13.2 13.7 42.2 6.57 6.61 6.66 6.70 14.0 14.7 15.3 100 7.56 7.60 7.63 7.68 Matrise "#"%$J!#"#"'& består av: :3;#"#")(*K+ -L(NM#"#"%$O032P#$65565$"#" and 7Q24#$65556$J!#"#"'& der!#" prosent elementer lik null. Vektor 9 består av: :3;#!#"<=9 -<=;#!#"%$>7?2@#$5565$6!#"'& der!#" prosent av verdiene er større enn null. Ye s metode er her klart svakere enn i eksempel 1. Cheng s metode er noe bedre, men trenger en god approksimasjon og mange iterasjoner. 7
Eksempel 3 Cheng Ye 1 2 3 end 1 2 3 end 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 3.16 3.16 3.16 3.16 0.00 0.00 0.00 0.00 3.16 3.16 3.16 3.16 0.00 0.00 0.00 0.00 3.16 3.16 3.16 3.16 0.00 0.00 0.00 0.29 3.16 3.16 3.16 3.16 0.00 0.00 0.00 4.25 3.16 3.16 3.16 3.16 0.00 0.00 0.00 79.5 3.16 3.16 3.16 3.16 Matrise R18#"#"%$S8#"#"#"'& består av: "T(UK+ -V(W;#"#"#"%$/O0X2I#$565/56$ 8#"#" and 7T2N#$/56556$J8#"#"#"'& der Y#! prosent av elementene er lik null. Vektor 9 består av: :38#;#"Z<[9 -Z<\M#"%$] 7?2@#$565/56$J8#"#"#"'& der Y#! prosent av verdiene er lik null. Begge metodene gir svake resultater på glisne problem 8
Kombinasjon av metodene Begge metodene ble brukt i samme program. Resultater fra tidligere tester viste at Ye s metode som oftest eliminerte kolonner i tidlige iterasjoner, mens Cheng sin metode som oftest var mest effektiv i senere iterasjoner. Ye s metode ble brukt til å eliminere kolonner i de fire første iterasjonene, mens Cheng s metode eliminerte kolonner i hver fjerde iterasjon etter det. 9
15000 12500 Combined 7 min 24 sec Ye 12 min 5 sec Cheng 23 min 51 sec Number of eliminated columns 10000 7500 5000 2500 0 0 20 40 60 80 100 120 140 160 180 200 Iteration count Figur 1: Graph displaying the elimination process performed on a ^`_badceckfg_ h adcecec linear problem 3500 3000 Ye 5 min 10 sec Cheng 6 min 13 sec Combined 3 min 50 sec Number of eliminated columns 2500 2000 1500 1000 500 0 0 5 10 15 20 25 30 35 40 45 50 Iteration count Figur 2: Graph displaying the elimination process performed on a ^i_kjeadceckf%gl_ m adcec linear problem 10
Løsningstid Fra figur 1 Fra figur 2 Metode Minutter Sekunder Minutter Sekunder Ingen eliminering 9 25 5 12 Ye 12 5 5 10 Cheng 23 51 6 13 Kombinasjon 7 24 3 50 Oppsummering Metodene kan brukes til å eliminere kolonner i lineære programmeringsproblem. Resultatene varierer mye fra problem til problem. Spesielt glisne problem gir ofte svakere resultat. Krever en approksimasjon av optimalløsningen. Desto bedre den er, desto fler unødvendige variable oppdages. En kombinasjon av metodene har i mange tilfeller gitt lavere løsningstid dersom approksimasjonen har vært god nok. 11