Zaawasowae metod umercze Programowae lowe (problem dual, program low w lczbach całkowtch) Dualość est kluczowm poęcem programowaa lowego. Pozwala a udowodee że otrzmwae rozwązaa są optmale. Zagadee duale (DP) w stosuku do zagadea lowego (LP) poawa sę w probleme zalezea ograczea od gór a wartość rozwązaa tego zagadea (t. przpadku gd szukam maksmale wartośc fukc celu wśród wartośc dopuszczalch, czl spełaącch waruk ograczea). Rozważm zagadee lowe w astępuące forme: max c x dla Ax b x Przpuśćm, że chcem zaleźć alepsze, góre ograczee fukc celu. Pomóżm każde z erówośc Am x b m przez pewą, dodatą lczbę m dokoam sumowaa wszstkch erówośc. Otrzmam ow układ erówośc, któr w forme macerzowe będze mał postać: Ax b ( A ) x b Jeśl przmem że szukam m b prz ograczeach A c to tak zalezoa wartość mmala będze górm ograczeem dla c x bo wartośc x.
Problem dual programowaa lowego Dla zadaa programowaa lowego sformułowaego w postac stadardowe czl: zmaksmalzu c x prz spełeu waruków Ax b Program prmal (*) x Zadae (program) dual ma postać: zmmalzu b prz spełeu waruków A c Program dual (**) Dualość est relacą smetrczą, tz. mówm także, że (*) est dual do (**). Im słow, program dual do programu dualego to program prmal. Przkład : Program prmal: Zmaksmalzu fukcę f ( x, x ) = x + x prz zachowau waruków : ) x x + x + x 4 ) ) x 4) x Program dual: Zmmalzu: f (, ) = + 4 prz warukach: ) + ) ) 4) (/,8/) (,) 4 4
Reguł przechodzea od zadaa perwotego do dualego dla ch postac ( postac meszach) LP przedstawa poższa tabela: Jeżel LP ma zmech to DP est opsae przez erówośc (rówań). Jeżel LP est opsae m erówoścam to DP ma m zmech. gdze: Perwote m max -ta erówość zgoda z tpem -ta erówość ezgoda z tpem k-ta erówość est rówaem -ta zmea -ta zmea k-ta zmea eograczoa A x b A x b A x b A x b dla zadań tpu Max - erówość est zgoda z tpem - erówość est ezgoda z tpem dla zadań tpu M - erówość est zgoda z tpem - erówość est ezgoda z tpem Duale max m -ta zmea -ta zmea k-ta zmea eograczoa -ta erówość zgoda z tpem -ta erówość ezgoda z tpem k-ta erówość est rówaem Przkładam zadań prmalch odpowadaącch m zadań dualch są p.: LP max cx Ax x x b max cx Ax = b DP m b A m b A R c c Jeśl zadae prmale ma postać : max x b c = = 7,, = ( ) x + x x to zadae duale D ma postać: m = + + 7 + A = 5 x + x + x 5 = 7 + zgoda z tpem gdż gdż eograczoe + + 4 = ezgoda z tpem gdż + + 4 gdż x ezgoda z tpem + x gdż ezgoda z tpem x + x + x R gdż x + x = 7 gdż x 5 zgoda z tpem. + x 4 4 x x + x + x x + x x x
Słabe twerdzee o dualośc Jeżel p est puktem dopuszczalm zadaa perwotego P: Max { x = cx Ax b, x } zaś est puktem dopuszczalm zadaa dualego D: M { = b A c, } ( ) ( ) to x p = c p b q = q Poadto eżel c p = b q to pest puktem optmalm P, zaś q est puktem optmalm D. Dowód: Ap b Ap b q( Ap b ) A q c A q c p( A q c ) cp = pc pa q = ( pa q ) = qap qb = bq qap qb pa q pc Poadto eśl: c p = b q to x z obszaru dopuszczalego mam c x b q = c p węc x est optmal. Z druge stro b b q = c p węc q est też optmal Wosek Jeżel zadae P est eograczoe to D est sprzecze. Wosek Jeżel zadae D est eograczoe to P est sprzecze. Zadaa P D mogą bć araz sprzecze. werdzee 8.5 (Sle twerdzee o dualośc) Jeżel edo z zadań P lub D ma rozwązae to druge też ma rozwązae wartość fukc celu są rówe. Bez dowodu. Korzśc ze stosowaa zasad dualośc wkaą z faktu, że łatwe est rozwązwać PPL w którm est me rówań lczba zmech odgrwa tu mesza role. Jeśl wec mam PPL o bardzo welu (p. m = ) rówaach zacze mesze lczbe (p. = 5) ewadomch, to łatwe będze am rozwązwać, zamast problemu orgalego, problem dual, z 5 rówaam ewadomm.
Frma F produkue towar X,., X. Do wprodukowaa tch towarów potrzebe są materał (surowce) Y,., Y m w lośc a edostek materału Y a edostkę towaru X dla =,., m, =,.,. Frma dspoue b edostkam materału Y dla =,., m. Zsk z produkc ede edostk towaru X wos c (te zsk edostkow może bć uem co dla frm ozacza oczwśce stratę). a ekoomcza terpretaca problemu prmalego est dość oczwsta - zmaksmalzować : max c x eśl ograczea maą postać: a x b ( m) oraz x Problem dual ma postać: Zmmalzu: m b eśl ograczea maą postać: a c ( m) oraz Popatrzm a edostk. Po prawe stroe wzoru a est to zsk c edostkow (zsk z edostk produktu-towaru X ). Po lewe stroe edostk muszą bć take same. Poeważ a est loścą edostek materału Y a lość edostek towaru X to wdać, że zmea ma wmar zsku z edostk materału: ( losc edostek materalu Y ) ( losc edostek produktu X ) ( wartosc) ( losc edostek produktu X ) = ( wartosc) ( ) losc edostek materalu Y Zmee duale traktuem ako koszt edostk materałów Y. W te sposób w zagadeu dualm mmalzuąc fukca celu m b (gdze b est loscaedostek materału (surowca) Y zaś kosztem edostkowm materału (surowca)y ) mmalzuem akład fasow (koszt materałów (surowców)).
W dualch ograczeach lewa stroa wzoru a c ( m) ozacza wted koszt produkc towaru X. Mam tu bowem sumę loczów (lość edostek materału Y potrzebch do wtworzea edostk X ) (koszt edostkow Y ) która, ak zakładam, est co ame rówa c edostkowe wartośc produktu X (e chcem poosć strat a wtwarzau produktu X ). Program lowe w lczbach całkowtch PLLC Bardzo często w zadaach praktczch est tak, ze edm teresuącm rozwązaam problemów programowaa matematczego w ogólośc, a lowego w szczególośc, są rozwązaa całkowte. W teor decz, gdze x są zmem deczm, a wec mogącm przmować wartośc lub. m samm rozwązaa ecałkowte e maa żade sesowe terpretac. Przkład W pewm przedsęborstwe osób ma wkować czośc, prz czm: każda osoba ma wkować eda ( tlko eda) czość, koszt przstosowaa -te osob do wkowaa -te czośc wos d. Zadae polega a przporządkowau każde z osób zadaa w tak sposób, b suma kosztów bła możlwe amesza. Nech: esl te osobe przdzeloo te zadae x = w przecwm wpadku Problem programowaa lowego ak otrzmam dla tego zadaa est astępuąc: zmmalzować d x = = prz spełeu waruków: x = = =, K, x = =, K,, = { } x
Ogóla postać programowaa lowego w lczbach całkowtch est astępuąca: Przeprowadź dla waruków max cx Ax b x Z + gdze Z + est zborem lczb całkowtch, euemch Kole przkład: Zmmalzu x + x dla waruków x + 4x 4x + x x 4x x + x Z 6 6 + Z terpretac geometrcze (rs. a astępe stroe) wka, że rozwązaem optmalm problemu z przkładu est x = ; x =, a wec pukt zaduąc sę wewątrz zboru rozwązań dopuszczalch powższego problemu (gd usue sę założea o całkowtośc zmech). ak pukt est oczwśce e do wkrca przez algortm smpleks. x (,4) (,/) (,) (,) x
Moża udowodć, że problem programowaa lowego całkowtolczbowego est NP-trud. W welu edak praktczch przpadkach będze moża stosować algortm SIMPLEX gdż będze o zwracał rozwązaa będące lczbam całkowtm. Mówm, że macerz A est całkowce umodularaeśl dla każde podmacerz A macerz A, mam deta {-; ; }. werdzee. Jeśl wektor b est całkowtolczbow macerz A est całkowce umodularato program Ax bma werzchołk całkowtolczbowe Im słow : - Jeżel PLLC est esprzecz, to ego rozwązaa bazowe maa wszstke współrzęde całkowte. - Jeżel stee rozwązaa optmale problemu PLLC, to steą take rozwązaa optmale którch wszstke współrzęde są całkowte. - Jeśl problem PLLC est esprzecz ograczo to algortm smpleks zadue take rozwązae, dla którego wszstke współrzęde są lczbam całkowtm. Ważm w tm momece stae sę est problem rozpozaa macerz totale umodularch. m Nech A R będze macerzą spełaąca astępuące waruk:. każd wraz macerz A est rów -, lub,. każda koluma macerz A zawera co awże dwa wraz ezerowe,. stee tak podzał zboru wersz a dwa podzbor W W take, ze: a) eśl steą dwa wraz tego samego zaku wstępuące w ede kolume, to ede z ch est w werszu zboru W a drug w werszu zboru W, b) eśl w pewe kolume wstępuą dwa wraz ezerowe przecwch zaków, to oba wersze w którch wstępuą ależą albo do zboru W albo do zboru W. Wted A est macerzą totale umodulara. Przkład. Macerze A = są umodulare(sprawdzć). B =