170 likes | 516 Views
Duaalne simpleksmeetod. Lineaarse planeerimise ülesanne:. maksimiseerida. kitsendustel. Lineaarse planeerimise ülesanne. Kasutades maatrikss ümboolikat ja tähistades. Lubatavate lahendite hulk on kirjapandav kujul. LP ülesanne maatrikskujul.
E N D
Lineaarse planeerimise ülesanne: maksimiseerida kitsendustel Lineaarse planeerimise ülesanne
Kasutades maatrikssümboolikat ja tähistades Lubatavate lahendite hulk on kirjapandav kujul LP ülesanne maatrikskujul. võime lineaarse planeerimise ülesande kirjutada maatrikskujul
Juhtrida uuele simplekstabelile üleminekuks valitakse selliste ridade seast, kus Kui simplekstabel ei ole lubatav, siis peab vähemalt üks Duaalne simpleksmeetod. Kui aga simplekstabel ei ole lubatav, kuid on duaalselt lubatav, siis tuleb optimaalse lahendi leidmiseks kasutada duaalset simpleksmeetodit. Erinevalt harilikust simpleksmeetodist tuleb duaalse simpleksmeetodi korral valida simplekstabelist esmalt välja juhtrida, ja seejärel juhtveerg ning viia siis läbi tabeli ridade teisendus.
1) juhtreaks valitakse alati esimene rida, kus 2) juhtreaks valitakse alati rida, kus ning selajuures on suurim sellistest vabaliikmetest (kui sellisid on rohkem kui üks, siis nende seast esimene). Kui juhtreaks on valtud k. rida, siis toimub juhtelemendi valimine sellest reast järgmise reegli kohaselt: Duaalse simpleksmeetodi samm. Kui selliseid ridu on rohkem kui üks, siis kasutatakse üht kahest reeglist:
Duaalse simpleksmeetodi kasutamisel säilib pärast iga sammu tabeli duaalne lubatavus, negatiivne element aga asendub elemendiga Duaalse simpleksmeetodi samm (2). Seega tuleb juhtveeruks valida juhtreas negatiivsete elementidega veergude hulgast see, mille puhul tabeli esimese rea elemendi jagatis juhtrea samas veerus paikneva elemendiga on absoluutväärtuselt vähim. Sihifunktsiooni väärtus küll kahaneb igal sammul monotoonselt, kuid see on loomulik, sest lähenemine optimaalsele lahendile toimub väljapoolt lubatavat hulka, ja nimelt sealt, kus sihifunktsiooni väärtus on suurem tema väärtusest lubatavate lahendite hulgas.
Leida muutujate mittenegatiivsed väärtused, mis rahuldavad võrratustesüsteemi Näide ja mis muudavad maksimaalseks funktsiooni
Defineerides mittenegatiivsed abimuutujad saame kirjutada võrratuste süsteemi võrrandisüsteemina: Näide (2) Lahendus Korrutades teise võrratuse kitsenduste süsteemist arvuga –1, saame
Juhtrida Juhtelement Juhtveerg Näide (3) Et sihivõrrandis on kõik kordajad mittenegatiivsed, siis saame duaalselt lubatava simplekstabeli:
Näide (4) Viimane simplekstabel on lubatav kui ka duaalselt lubatav, seetõttu vastab ta optimaalsele lahendile. Optimaalne lahend on:
Duaalse ja primaarse simpleksmeetodi järjestikune rakendamine Kui simplekstabel ei ole lubatav ega ka duaalselt lubatav, siis ei ole täidetud eeldused ei primaarse ega ka duaalse simpleksmeetodi rakendamise jaoks. Sel korral rakendatakse algul üht neist meetoditest lihtsustatud kujul, teisel etapil aga teist meetodit eespool kirjeldatud kujul. Kui näiteks rakendada algul duaalset simpleksmeetodit, siis võib pärast juhtrea valimist valida juhtelemendiks esimese negatiivse elemendi juhtreast. Kui aga rakendada algul primaarset simpleksmeetodit, siis võib pärast juhtveeru valimist valida juhtelemendiks selle rea esimese positiivse elemendi.
Leida muutujate mittenegatiivsed väärtused, mis rahuldavad võrratusesüsteemi Näide mis muudavad maksimaalseks funktsiooni
ja võtame kasutusele mittenegatiivsed abimuutujad Näide (2) Lahendus Korrutame teise ja kolmanda võrratuse arvuga –1:
Näide (3) Viimasest süsteemist näeme, et ülesande simplekstabel tuleb mittelubatav. Et sihivõrrandis on negatiivseid kordajaid, siis simplekstabel ei ole ka duaalselt lubatav. Lahendamiseks kasutame algul duaalset simpleksmeetodit lihtsustatud juhtelemendi valikuga, seejärel primaarset simpleksmeetodit.
Näide (4) Duaalne simpleksmeetod lihtsustatud juhtelemendi valikuga
Näide (5) Primaarne simpleksmeetod Optimaalne lahend:
Näide (6) Nüüd rakendame esmalt primaarset, seejärel duaalset simpleksmeetodit Primaarne s.-meetod Duaalne s.-meetod Opt. lahend: