1. Simpleks metoda za rješavanje modela
linearnog programiranja
Armin Kmetaš
2. Simpleks metoda spada u kategoriju numeričkih
iterativnih metoda. Pri rješavanju problema polazi se
od početnog bazičnog rješenja, koje mora biti
dopustivo. Početno se bazično rješenje poboljšava
kroz niz koraka (iteracija) dok se ne postigne
optimalno rješenje u skladu s postavljenim ciljem.
Simpleks metoda predstavlja opći algoritam za
rješavanje svih oblika problema LP.
Algoritam simpleks metode sastoji se iz dva koraka:
Korak 1. Određivanje početnog bazičnog dopustivog
rješenja i
Korak 2. Poboljšanje dobivenog bazičnog rješenja
kroz konačan broj iteracija.
3. Svaka iteracija sastoji se iz tri koraka:
Korak 1. Utvrđivanje je li dobiveno rješenje
optimalno i ako nije određuje se varijabla koja treba
ući u bazu (bazično rješenje): (1) ako se radi o
linearnom modelu za maksimum logično je (ali ne i
neophodno) uvesti u bazu varijablu koja najviše
povećava funkciju cilja, (2) ako se radi o linearnom
modelu za minimum logično je uvesti u bazično
rješenje varijablu koja najviše smanjuje funkciju cilja.
Korak 2. Određivanje varijable koja napušta bazu.
Korak 3. Transformacija strukturnih koeficijenata i
koeficijenata u funkciji cilja nakon čega se vraćamo
na korak 1.
4. Koncept rješavanja 1: Simpleks metoda se fokusira samo na
kutna dopustiva rješenja. Za svaki problem s najmanje jednim
optimalnim rješenjem, nalaženje optimalnog rješenja zahtijeva
samo nalaženje najboljeg kutnog dopustivog rješenja. Koncept
rješavanja 2: Simpleks metoda je iterativni algoritam koji se
sastoji od određivanja početnog dopustivnog kutnog rješenja,
provođenja testa optimalnosti u smislu je li postignuto
optimalno rješenje te provođenja iteracija za nalaženje boljeg
kutnog dopustivog rješenja.
Koncept rješavanja 3. Kad god je moguće, simpleks metoda bira
koordinatni početak kao početno dopustivo kutno rješenje (sve
varijable odlučivanja su jednake nuli). Odabir koordinatnog
početka kao početnog dopustivog kutnog rješenja moguće je
kad sve varijable odlučivanja imaju ograničenje nenegativnosti,
pošto presjek tih ograničenja daje koordinatni početak kao
kutno rješenje. Ako to rješenje nije moguće, potrebna je
specijalna procedura za nalaženje početnog dopustivog kutnog
rješenja.
5. Koncept rješavanja 4: Svaki put kad simpleks metoda
radi jednu iteraciju krećući se od jednog dopustivog
kutnog rješenja prema boljem, ona uvijek bira kutno
dopustivo rješenje koje je susjedno tom rješenju.
Ostala kutna dopustiva rješenja se ne razmatraju.
Koncept rješavanja 5: Simpleks metoda identificira
stopu poboljšanja z koja bi se dogodila krećući se duž
ruba. Bira se rub s najvećom pozitivnom stopom
poboljšanja te se provodi test optimalnosti na kutnom
dopustivom rješenju koje se nalazi na tom rubu. U
našem primjeru početno dopustivo kutno rješenje je (0,
0), a možemo se kretati rubom x1 (stopa poboljšanja z
je 3) ili rubom x2 (stopa poboljšanja z je 5). Biramo rub
s najvećom stopom poboljšanja z.
Koncept rješavanja 6. Test optimalnosti sadrži
jednostavnu provjeru daje li bilo koji rub pozitivnu
stopu poboljšanja z. Ako je odgovor ne, dobili smo
optimalno rješenje.
6. Rješavanje problema LP s više od dvije varijable
zahtijeva primjenu linearne algebre u procesu
pronalaženja optimalnog rješenja, ako ono postoji.
Da bismo algebarski mogli rješavati probleme LP
potrebno je najprije sustav nejednakosti u
ograničenjima pretvoriti u sustav jednakosti
(ograničenje nenegativnosti varijabli odlučivanja se
ne mijenja). Kažemo da model iz standardnog ili
općeg oblika prevodimo u kanonski oblik.
Postupak rješavanja zahtijeva pronalaženje
početnog bazičnog dopustivog rješenja te kroz
iterativni postupak u konačnom broju koraka kretati
se od jednog do drugog bazičnog dopustivog
rješenja (susjednog, koje daje bolju vrijednost
funkciji z).
7. Primjer: Poduzeće Delta proizvodi pisaće stolove,
kuhinjske stolove i stolce. Za proizvodnju je
potrebno osigurati drvenu građu i dva tipa
obučenih radnika: završna obrada i stolarstvo.
Raspoloživo je 48 ft drvene građe, 31 sati rada
završne obrade i 19 sati rada stolarstva. Pisaći
stol se prodaje za $30, kuhinjski stol za $20, a
stolac za $10. Poduzeće vjeruje da je potražnja za
pisaćim stolovima i stolcima neograničena, a da
se najviše može prodati 3 kuhinjska stola.
Pošto su raspoloživi resursi već kupljeni,
poduzeće želi maksimizirati ukupan prihod od
prodaje proizvedenog namještaja.
8. Varijabla koja ulazi u bazu: Korak 1 svake
iteracije bira varijablu s najvećom apsolutnom
vrijednošću (među negativnim vrijednostima) u
retku 0 kao varijablu koja ulazi u bazu. Ako
pretpostavimo da dvije ili više nebazičnih
varijabli imaju takvu istu najveću apsolutnu
vrijednost, postavlja se pitanje koja će od tih
varijabli prije ući u bazu. Odgovor je da odabir
varijable koja prije ulazi u bazu može biti
arbitraran. Optimalno rješenje će se postići bez
obzira koja je od tih varijabli odabrana.
9. Varijabla koja izlazi iz baze – degeneracija: Ako
pretpostavimo da dvije ili više bazičnih varijabli
daju isti najmanji kvocijent, postavlja se pitanje
ima li utjecaja koja će od njih prije napustiti bazu.
Teoretski da, ako se pojave sljedeće okolnosti.
Prvo, sve te bazične varijable dostižu nulu
istovremeno kad se bazična varijabla povećava..
Prema tome, varijable koje nisu odabrane kao
varijable koje napuštaju bazu također će imati
vrijednost nula u novom bazičnom mogućem
rješenju. Bazične varijable s vrijednosšću nula
nazivaju se degeneriranim vbazu bude negativna),
tako da vrijednost z mora ostati nepromijenjena.
Treće, ako z zadrži istu vrijednost na svakoj
sljedećoj iteraciji, simpleks metoda će ići u krug,
periodički ponavljajući ista rješenja bez postizanja
optimalnog rješenja.