Smplex-menetelm menetelmän lsennllset tent 4. luento: MPS-tedostomuoto LP-tehtäven esästtely S ysteemnlyysn Lbortoro Tenllnen oreoulu Mtemttsten lgortmen ohelmont Kevät 2008 / 1 MPS-tedostomuoto LP-teht tehtäven esästtely sttely MPS-tedostomuoto sen ästtely Esästtely: Presolve Slus Jälästtely S ysteemnlyysn Lbortoro Tenllnen oreoulu Mtemttsten lgortmen ohelmont Kevät 2008 / 2 1
MPS-tedostomuoto IBM ehtt MPS (Mthemtcl Progrmmng System) formtn 50-luvull Formtn rotuset seurust reäortest Mon täretä mlle tllennettu MPS-formttn Esmers Netlb ssältää ooelmn suur LPtehtävä MPS-muodoss Kunnollsess mllnnusohelmstoss ptää oll tu MPS-muodolle Perustus pätee nyyäänn: tehtävä nnetn nollst poeven loden vull S ysteemnlyysn Lbortoro Tenllnen oreoulu Mtemttsten lgortmen ohelmont Kevät 2008 / 3 MPS-tedoston renne Rvettän trst määrtellyt enttärt Indttor määrttää esm. rotteen tyypn Nmet enntään 8 merä ptä Nmä e s lott vällyönnllä Josell ololl tulee oll ysästtenen nm Feld-1 Feld-2 Feld-3 Feld-4 Feld-5 Feld-6 Locton 2-3 5-12 15-22 25-36 40-47 50-61 Contents Indctor Nme Nme Vlue Nme Vlue S ysteemnlyysn Lbortoro Tenllnen oreoulu Mtemttsten lgortmen ohelmont Kevät 2008 / 4 2
MPS-tedoston renne Tedosto on ettu osohn Osn luoht tunnstetn nmestään Nmet rotetn 1. sreest len Osot ptää oll ärestysessä: NAME, ROWS, COLUMNS, RHS, RANGES, BOUNDS, ENDATA RANGES BOUNDS evät ole polls Kohdefunto ssällytetään mtrsn e-rottvn rvnä S ysteemnlyysn Lbortoro Tenllnen oreoulu Mtemttsten lgortmen ohelmont Kevät 2008 / 5 NAME ENDATA NAME lott mlln määrttämsen Tedoston rvt ennen NAME-osot hylätään Mlllle vo nt nmen (Feld-3) ENDATA lopett tedoston S ysteemnlyysn Lbortoro Tenllnen oreoulu Mtemttsten lgortmen ohelmont Kevät 2008 / 6 3
ROWS Määrtellään mtrsn rven nmet Anostn tässä määrteltyä nmä vodn äyttää myöhemmn Rotusten tyypt määrätään tässä ososs (Feld-1) Rotusten nmet seurvt tyyppä (Feld-2) S ysteemnlyysn Lbortoro Tenllnen oreoulu Row type Code Menng L Less thn or equl constrnt G Greter thn or equl constrnt = E Equlty constrnt Obectve N Obectve row Free N Non-bndng constrnt Mtemttsten lgortmen ohelmont Kevät 2008 / 7 COLUMNS Määrtellään muuttuen (sreden) nmet Määrtellään mtrsn A ohdefunton lot Sreen lot vodn nt mssä ärestysessä thns Sreen lot tulee oll perään Tetueen muoto: Feld-2: Muuttun nm Feld-3: Rvn nm Feld-4: Alon rvo S ysteemnlyysn Lbortoro Tenllnen oreoulu Mtemttsten lgortmen ohelmont Kevät 2008 / 8 4
RHS Määrtellään RHS-rvot Vodn määrtellä uset RHS-vetoret Tetueen renne: Feld-2: RHS-vetorn nm Feld-3: Rvn nm Feld-4: Arvo S ysteemnlyysn Lbortoro Tenllnen oreoulu Mtemttsten lgortmen ohelmont Kevät 2008 / 9 MPS-tedoston ästtely Kästtely perustuu hutuluohn, ot määräävät MPS-nmen LP-tehtävän ssäsen ndesonnn vstvuuden = ˆ sre rv rvo [ ][ ][ ] [ ][ ] b = ˆ rv rvo Kästtelyn n tehtävä trstus Toseen ertn määrteltyä rvn nmeä e huomod Sm rv e vo esntyä ht ert sreess Olvto pollset osot tedostoss Menetelmä: hhmon tunnstus, hutus, ärestämnen, hu S ysteemnlyysn Lbortoro Tenllnen oreoulu Mtemttsten lgortmen ohelmont Kevät 2008 / 10 5
Presolve Tehtävän oon penentämnen Numeersen äyttäytymsen prntmnen Epääypyyden rottmttomuuden tunnstmnen Kompromss työmäärän tehouuden välllä S ysteemnlyysn Lbortoro Tenllnen oreoulu Mtemttsten lgortmen ohelmont Kevät 2008 / 11 LP-teht tehtävä presolve-testess testessä T mn c x + c0 s.t. Ax = b l x u Rveä sret postetn presolvess Tehtävän dmensot muuttuvt Presolven yhteydessä mernnät trottvt ullonn vomss olev rvo: ndesont summluseess RHS b ustnnusteät c S ysteemnlyysn Lbortoro Tenllnen oreoulu Mtemttsten lgortmen ohelmont Kevät 2008 / 12 6
Määrtelmä Muutmt testt perustuvt rotteen penmpään suurmpn mhdollseen rvoon Postvsten negtvsten ertomen ndesouot oselle rvlle mtrsss A P = : > 0 N b b = = = { } { : < 0} l + P N u + P N u l S ysteemnlyysn Lbortoro Tenllnen oreoulu Mtemttsten lgortmen ohelmont Kevät 2008 / 13 Rstrt muuttuen ross Jos l > u mlle thns, tehtävä on epääypä Knntt trst muuttut = 1,, n S ysteemnlyysn Lbortoro Tenllnen oreoulu Mtemttsten lgortmen ohelmont Kevät 2008 / 14 7
Tyhät t rvt Ken renteellsten muuttuen ertomet noll Ano nollst poev on z = b Vo ssältyä tehtävään snänsä Vo oll muden muunnosten nsm presolvess Jos b on äypä rvo z :lle, rv vodn post Jos b e ole äypä rvo z :lle, tehtävä on epääypä S ysteemnlyysn Lbortoro Tenllnen oreoulu Mtemttsten lgortmen ohelmont Kevät 2008 / 15 Tyhät t sreet Jos sre on tyhä, vstv muuttu x e vut rottesn postetn tehtävästä Jos c = 0 x :n rvos vodn sett mä thns äypä rvo l Kohdefuntot e trvtse muutt Jos c > 0 Asetetn: x = l c 0 := c 0 + c l Jos l =, tehtävän rtsu on rottmton Jos c < 0 Asetetn: x = u c 0 := c 0 + c u Jos =, tehtävän rtsu on rottmton u u S ysteemnlyysn Lbortoro Tenllnen oreoulu Mtemttsten lgortmen ohelmont Kevät 2008 / 16 8
Sngleton-rvt Vn ys rvn renteellnen erron poe nollst Sngleton-rvt postetn tehtävästä Jos rote on yhtälö (tyypp 0) Jos x [ l, u ], tehtävä on epääypä Muuten setetn x = b muuttu postetn tehtävästä Jos rote on e-rottv (tyypp 3), x setetn ohonn äypään rvoon postetn tehtävästä Jos rote on epäyhtälörote (tyypp 1, 2 t 4), se määrää ylä t lrn x :lle S ysteemnlyysn Lbortoro Tenllnen oreoulu Mtemttsten lgortmen ohelmont Kevät 2008 / 17 Sngleton-rvn määrämät rt muuttulle Jos Jos Jos x b > 0 < 0 nn nn x u = b x l = b Jos x Jos Jos b > 0 nn x l = b < 0 nn x u = b Pävtetyt rotusehdot x :lle: { l, } { u u } l : = mx l u : = mn, S ysteemnlyysn Lbortoro Tenllnen oreoulu Mtemttsten lgortmen ohelmont Kevät 2008 / 18 9
Knntettyen muuttuen postmnen Knntetty muuttu vodn post Knntetään x = t Kohdefuntot pävtetään: c 0 := c 0 + c t Rotusehto pävtetään: Ax := Ax t Rotusehtoen l- ylärt pävtetään: b : = b t b : = b t S ysteemnlyysn Lbortoro Tenllnen oreoulu Mtemttsten lgortmen ohelmont Kevät 2008 / 19 Redundntt pottvt rotteet Oletetn luperänen rote: x b Täytyy toteutt myös rotteen l- ylärt: b x b Jos b < b, tehtävä on epääypä Jos b = b, muuttut vodn nnttää l- ylärolleen: x = l, P x = u, N Jos b b, rote on redundntt vodn post Jos b < b < b, rotett e vod post S ysteemnlyysn Lbortoro Tenllnen oreoulu Mtemttsten lgortmen ohelmont Kevät 2008 / 20 10
Muuttuen roen tuentmnen Oletetn, että rote tyyppä 2 ( ) lr b äärellnen Jos muuttu x = l lrll P, svtetn x :n rvo: b + ( x l ) x b, P x u = l b b +, P S ysteemnlyysn Lbortoro Tenllnen oreoulu Mtemttsten lgortmen ohelmont Kevät 2008 / 21 S ysteemnlyysn Lbortoro Tenllnen oreoulu Muuttuen roen tuentmnen Vstvst, os muuttu x = u ylärll, N, pennetään x :n rvo b + ( x u ) x b, N x l Uudet rt: l : = mx l, l = u { } { } u : = mn u, u Jos l >, tehtävä on epääypä u b b +, N Mtemttsten lgortmen ohelmont Kevät 2008 / 22 11
Implsttsest vpt muuttut Mertään muuttulle x : Aluperäset muutturt: l u Lsetut muutturt: l u x on mplsttsest vp muuttu, os [ l, u ] [ l, u ] Jos x on sngleton-sre s.e. 0 on no nollst poev lo, nn seä x että rv vodn post tehtävästä Kohdefuntot pävtetään x :n dulmuuttun y vull S ysteemnlyysn Lbortoro Tenllnen oreoulu Mtemttsten lgortmen ohelmont Kevät 2008 / 23 Hrvuuden vähentv hentämnen Tvotteen nollst poeven loden postmnen rotemtrsst A Yhtälörotus (tyypp 0) slrll errottun vodn lsätä mhn thns muuhun rotteeseen Vltn rv pvot-rvs Vltn rv, on hrvuusrenne on rvn ylouo Pävtetään rvä : b = + γ S ysteemnlyysn Lbortoro Tenllnen oreoulu = b + γb Mtemttsten lgortmen ohelmont Kevät 2008 / 24 12
Hrvuuden vähentv hentämnen S ysteemnlyysn Lbortoro Tenllnen oreoulu X X X X X X X b X X X X X X X X c X X X X X X X X X X X d X X X e X X X X X Rv on pvot-rv Sre 1:tä äytetään ylouoen etsmseen Rv b on ylouo Rvn c ensmmänen lo on noll Rv d on lyhyemp un Rvn e lo on noll tosen levn sreen ohdll Mtemttsten lgortmen ohelmont Kevät 2008 / 25 Presolve-lgortm Mtrs A äydään läp uset erto Muutos yhdellä errosell vo oht muutosn seurvll errosll Jos hdell perääsellä errosell e tule muutos, lopetetn lgortm Ääretön sr penä prnnus on teorss mhdollst, oten tertoden luumäärälle on syytä sett ylär S ysteemnlyysn Lbortoro Tenllnen oreoulu Mtemttsten lgortmen ohelmont Kevät 2008 / 26 13
Slus Tvotteen tehtävän numeersten omnsuusen prntmnen Josus slusen vull vodn rtst muuten rtsemton tehtävä Josus slus teee rtstvss olevst tehtävästä rtsemttomn Slus: RAC x = Rb R = dg R 1, K, Cx = x x = C S ysteemnlyysn Lbortoro Tenllnen oreoulu R m 1 x C = dg C 1, K,C n Mtemttsten lgortmen ohelmont Kevät 2008 / 27 Arvoen hont mtrsss Sopvt mttysöt yleensä tuottvt tspnos rvo mtrsn Huonost slttu mtrs: nollst poeven loden rvot poevt tosstn huomttvst Hyvn slttu mtrs: nollst poeven loden rvot ovt lähellä tosn Jos slusell sdn vähennettyä loden rvoen hont, tehtävä on helpomp rtst Vstesmer: = 1± ε, 0 < ε < 10 8 S ysteemnlyysn Lbortoro Tenllnen oreoulu Mtemttsten lgortmen ohelmont Kevät 2008 / 28 14
Hyvn slttu mtrs Mtrs on hyvn slttu, os mx 0 mn penemp un 10 6-10 8 (Fulerson & Wolfe, 1962; Orchrd-Hys, 1968) Mtrs on hyvn slttu, os ( log ) 0 2 svutt hyväsyttävän rvon (Hmmng, 1971; Curts & Red, 1972) S ysteemnlyysn Lbortoro Tenllnen oreoulu Mtemttsten lgortmen ohelmont Kevät 2008 / 29 Slusertomet Oletetn bnäärnen luuluuärestelmä: e = f 2, 1 2 f 1 Slusess pyörstysvrheet mhdolls, os ertomet evät ole luuluuärestelmän nnn potensse ρ γ R = 2, C = 2 Sltut esponentt: e = e + ρ + γ Kertomet sdn mnmomll hont: mn 0 2 ( log ) = mn ( e + ρ + γ ) ρ, γ 0 2 S ysteemnlyysn Lbortoro Tenllnen oreoulu Mtemttsten lgortmen ohelmont Kevät 2008 / 30 15
Slusertomen rtsemnen Teholl lttogrdenttmenetelmällä (Curts & Red, 1972) lmääränen rtsu Tr rtsu e trvt, os lopullset rvot pyörstetään oonsluvus Menetelmä onvergo äytännössä n. 10 tertoss rppumtt tehtävän oost Trvttv vn pen os vrsnsten Smplextertoden vtmst st S ysteemnlyysn Lbortoro Tenllnen oreoulu Mtemttsten lgortmen ohelmont Kevät 2008 / 31 Mut slusmenetelmä Tspnotus Jonen rv sre sltn sten, että suurn rvo on 1 Sdn mll rv (sre) sen suurmmll rvoll Geometrnen esrvo { } { } 1 2 mx mn Artmeettnen esrvo Tyypllsest äytetään näden menetelmen yhdstelmä S ysteemnlyysn Lbortoro Tenllnen oreoulu Mtemttsten lgortmen ohelmont Kevät 2008 / 32 16
Postsolve Rtstu tehtävä evvlentt luperäsen tehtävän nss, mutte denttnen Stu rtsu muunnettv tsn luperäslle muuttulle rottelle K esästtelyssä tehdyt muutoset tulee tllent Pnorenne soveltuu prhten, os muutoset ptää plutt ääntesessä ärestysessä Tyypllnen ärestys esästtelyssä: Tehtävän uudelleen muotolu Presolve Slus S ysteemnlyysn Lbortoro Tenllnen oreoulu Mtemttsten lgortmen ohelmont Kevät 2008 / 33 Slus luperäsn muuttun Renteellset muuttut: x = Cx Loogset muuttut: etn vstvll rvn slusertomell Kohdefunton ertomet: etn vstvll sreen slusertomell Mrgnlustnnuset: errotn vstvll rvn slusertomell S ysteemnlyysn Lbortoro Tenllnen oreoulu Mtemttsten lgortmen ohelmont Kevät 2008 / 34 17
Presolven umomnen Presolve:n hstor lst: onen muutos muuttuss tllennetn vetorn ( 1, 2, ) Koonsluvut 1 2 määrttävät muuttut operton tyypn Relluu ertoo esm. nntetyn rvon t muuttuneen rn Esmereä: Alrn srtämnen: 1 =, 2 = 0, = ( ) l Implsttnen vp muuttu: 1 =, 2 = -, = y Hrvuuden vähentämnen: 1 =, 2 =, = γ S ysteemnlyysn Lbortoro Tenllnen oreoulu Mtemttsten lgortmen ohelmont Kevät 2008 / 35 Yhteenveto MPS-tedostomuoto täreä hstorllsst systä Presolven ptäs tunnst epääyvät rottmttomt tehtävät Slusen äyttämnen e n ut tehtävän rtsuss Numeersen truuden sälyttämnen täreää esästtelyssä Esästtely on ompromss työmäärän svutetun hyödyn välllä S ysteemnlyysn Lbortoro Tenllnen oreoulu Mtemttsten lgortmen ohelmont Kevät 2008 / 36 18
Krllsuutt Andersen, E., Andersen. K. (1995). Presolvng n Lner Progrmmng. Mthemtcl Progrmmng 71(2), 221-245. Benchou, M. et l (1977). The effcent soluton of lrge-scle lner progrmmng problems. Mthemtcl Progrmmng 13, 280-322. Brerley, A. et l (1975). Anlyss of Mthemtcl Progrmmng Problems Pror to Applyng the Smplex Method. Mthemtcl Progrmmng 8, 54-83. Curts, A., Red, J. (1972). On the utomtc sclng of mtrces for Gussn elmnton. Journl of the Insttute of Mthemtcs nd ts pplctons 10, 118-124. S ysteemnlyysn Lbortoro Tenllnen oreoulu Mtemttsten lgortmen ohelmont Kevät 2008 / 37 Krllsuutt Fourer, R., Gy, D. (1993). Experence wth Prml Presolve Algorthm. Numercl Anlyss Mnuscrpt 93-06, AT&T Bell Lbortores. Fulerson, D., Wolfe, P. (1962). An lgorthm for sclng mtrces. SIAM Revew 4, 142-146. Gy, D. (1985). Electronc ml dstrbuton of lner progrmmng test problems. COAL Newsletter 13, 10-12. http://www.netlb.org Gondzo, J. (1997). Presolve Anlyss of Lner Progrms Pror to Applyng n Interor Pont Method. INFORMS Journl on Computng 9(1), 73-91.8 Orchrd-Hys, W. (1968). Advnced Lner-Progrmmng Computng Technques, McGrw Hll. S ysteemnlyysn Lbortoro Tenllnen oreoulu Mtemttsten lgortmen ohelmont Kevät 2008 / 38 19
Krllsuutt Tomln, J. (1975). On sclng lner progrmmng problems. Mthemtcl Progrmmng Study 4, 146-166. Tomln, J., Welch, J. (1983). Forml optmzton of some reduced lner progrmmng problems. Mthemtcl Progrmmng 27(2), 232-240. Tomln, J., Welch, J. (1983). A pthologcl cse n the reducton of lner progrmmngs. Opertons Reserch Letters 2, 53-57. Tomln, J., Welch, J. (1986). Fndng duplcte rows n lner progrm. Opertons Reserch Letters 5, 7-11. S ysteemnlyysn Lbortoro Tenllnen oreoulu Mtemttsten lgortmen ohelmont Kevät 2008 / 39 20