You are on page 1of 138

<< Nazaj | Natisni

Oznai: vse | nobeno Samo oznaene Velikost pisave: 12px Izbira oznaenih: Opozorilo! Za pravilno tiskanje dokumenta je potrebno uporabiti spletni brskalnik Mozilla Firefox in v njem nastaviti sledeo nastavitev: 1. Odpri meni "Datoteka(File)" in klikni "Priprava strani(Page Setup)" 2. Obkljukaj "Natisni ozadje(Print Background)" in klikni "V_redu(OK)" 3. Sedaj je va Firefox brskalnik pripravljen na tiskanje dokumentov

Optimizacijske metode v logistiki 2011


Toma Kramberger
Univerza v Mariboru Fakulteta za logistiko: Celje-Krko

Kazalo
1. UVOD 2. OSNOVNA ALGEBRA 2.1. Matrike 2.2. Enakost matrik 2.3. Posebni primeri matrik 2.4. Raunanje z matrikami 2.5. Sistem linearnih enab 2.6. Inverzna matrika 2.7. Sistemi linearnih neenab 3. LINEARNO PROGRAMIRANJE 3.1. Proizvodni problem

3.2. Primeri in naloge za proizvodni problem 3.3. Prehrambeni problem ali problem meanja 3.4. Transportni problem

1. UVOD
BETA VERZIJA :: E V IZDELAVI 1.1 Zgodovina OR
Operacijske raziskave ali kraje OR so razmeroma mlada znanstvena disciplina. 70 let nazaj je bilo mogoe za tudirati matematiko, fiziko in tehniko skoraj na vsaki univerzi, tudija OR pa ni bilo mogoe najti. e ve izraz OR sploh e ni obstajal. Pojavljati se je zael v poznih tridesetih letih prejnejga stoletja v Veliki Britaniji, kot posledica priprav na takrat e morebitno 2. svetovno vojno. Ob tudiju razline OR literatrure sem odkril, da je zgodovina OR nejasna, vendar kljub temu zanimiva. Zaradi tega si jo bomo na kratko ogledali.

1936
V zaetku leta 1936 je Britansko ministrstvo za letalstvo ustanovilo Bawdsey Research Station, na vzhodni obali Britanije blizu mesta Felixstowe v pokrajini Suffolk. Bawdsey Research Station sta vojska in letalstvo uporabljal za raziskovanja in eksperimentiranja na podroju Radarjev. Zgradili so eksperimentalni Radar z dosegom 100 milj (okoli 150 km), kar je bil za tiste ase velik doseek. Vendar pa v tem asu podatkov pridobljenih z Radarjem niso bili sposobni vkljuiti v zrano obrambo Britanije, ki je bila sama po sebi ele v povojih. ele v zaetku istega leta je bila ustanovljena Air Force (RAF) Fighter Command, ki je kasneje skrbela za zrano obrambo Britanije. Kmalu po ustanovitvi je postalo jasno, da bo vpeljava lovskih prestreznikov Hurricane in Spitfire v redno slubo in uporaba Radarjev povzroila popolnoma nove probleme, ki jih do tedaj e niso poznali. Reevanje problema, kako kombinirati Radarska opazovanja s klainim zemeljskim opazovanjem in oboje integrirati v taktiko boja lovcev prestreznikov, je bilo zaetek razvoja dispicline, ki jo danes poznamo pod imenom Operacijske raziskave.

1937
Tega leta je bil e zgrajen Radar na Bawdsey Research Station predan v slubo. Prva izmed treh velikih predvojnih vaj zrane obrambe Britanije je bila izvedena poleti 1937. Iz stalia zgodnjega odkrivanja sovranih letal je bila vaja uspena, vendar je pokazala velike pomanjkljivosti v obdelavi in posredovanju Radarskih podatkov do prestreznikov.

1938
Julija tega leta je bila izvedena druga velika vaja zrane obrambe. Med tem asom so bile zgrajene tiri nove radarske postaje in nekaj novih letali, za katere so upali, da bodo poveale pokritost podroja in uinkovitost zrane obrambe. Vendar je vaja pokazala ravno nasprotno. Nove radarske postaje so generirale celo vrsto novih problemov v komunikaciji in v primerjanju dodatnih podatkov, ki so bili med seboj pogosto v nasprotju. Problemi, ki so se pojavili tik pred vojno, ki je bila v tistem asu e oitna, so zahtevali povsem nov pristop in drastine ukrepe. Glede na rezultate vaje je poveljnik Bawdsey Research Station, A.P. Rowe sporoil, da je vaja pokazala izjemne tehnine zmogljivosti radarja, vendar je razkrila ogromno operativnih pomankljivosti tako, da celotni sistem ne zadovolji zahtev zrane obrambe. Zato je predlagal ustanovitev posebnega programa, enote, ki se bo ukvarjala s sistemom izkljuno iz operativnega vidika. Ime za novo vejo uporabne znanosti, ki so jo s tem zaeli, so izbrali znanstveniki Radar research Group izbrali e isti dan: RESEARCH into (military) OPERATIONS.

1939
Poleti 1939 je bila izvedena zadnja predvojan vaja zrane obrambe v Britaniji. Vkljueval 33000 vojakov, 1300 letal, 110 protiletalskih topov, 700 iskalnih arometov in 100 balonov. vaja je pokazal velik napredek pri reevnju problemov s kominikacijo in usmerjanjem letal k odkrtim taram. Glede na velik doprinos OR ekipe k izboljanju stanja, je poveljnik RAF Fighter Command Air Chief Marshal Sir Hugh Dowding predlagal, da se OR ekipa pridrui glavnemu tabu letalstva v Stanmoru pri Londonu in da se ustanovi t.i. Stanmore Research Section.

1940
Maja 1941, ko so Nemke enote hitro napredovale v bitki za Francijo je bila Stanmore Research Section zadolena, da analizira Francosko zahtevo po desetih dodatnih lovskih eskadronih (1 eskadron=12 lovcev prestreznikov) glede na dejstvo, da je predvidena izguba 3 eskadronov na dvadni boja. Stanmore Research Section je pripravil poroilo in ga predstavil Winstonu Churchillu. Glede na poroilo, se je Churchill odloil, da ne poljejo v Francijo nobenega letala ve, saj bo sodelovanje v bojih za Francijo, zaradi izgub preve oslabilo Brintansko zrano obrambo. To je bil eden prvih velikih prispevkov OR pri stratekih odloitvah.

1941 in naprej

Leta 1941 je bila zaradi uspehov Stanmore Research Section in njihove OR ekipe na t.i. Coastal Command usatanovljena Operational Research Section (ORS), katere izrauni in napovedi so pomembno vplivali na izzid druge svetovne vojne. Glavna naloge Coastal Command je bila z letali odkrivati in unievati Nemke podmornice, ki so se pojavljale na povrju blizu Britanske obale. Naloge ORS:

Ena glavnih nalog ORS je bila Organizacija vzdrevanja letal. Vsako letalo v eskadronu je bilo potrebno v vsakem ciklu 350 ur letenja, 7 krat na kratko (kratek pregled je trajal 2-5 dni) in enkrat na dolgo pregledati (dolg pregled je trajal 14 dni). Glavni cilj je bil kako organizirati letenje tako, da so vsi resursi eskadrona (letala, piloti in mehaniki) izkorieni najbolje kar se da. ORS je ugotovil, da je dotedanja praksa, ko je bila ekipa mehanikov dodeljena k tono doloenemu letalu in je bila neeaktivna v asu, ko je bilo letalo v slubi, neuinkovita. Predlagali so centralni sistem servisiranja, kjer je bilo letalo poslano na servis, ko je bilo to potrebno in je bila ekipa mehanikov izbrana glede na razpololjivost. Prednost tega sistema je bilo obutno poveanje ur letenja v nekem asovnem obdobju, vendar so se pojavile tudi slabosti, ki so se kazale predvsem v padcu morale posadk, ker je bilo izgubljeno zaupanje med mehaniki in piloti. Po obsenem testiranju, ki je trajalo 5 mesecev so sistem sprejeli in implementirali. Z implementacijo novega naina servisiranja so poveali tevilo ur letenja, ob istem tevilu letal, za 61%. ORS je izdelala merila in metodo za merjenej uinkovitosti razlinih tipov letal v razlinih tipih vojakih akcij.

2. OSNOVNA ALGEBRA
V naslednjih poglavjih bomo potrebovali tudi nekaj matematinega znanja. Zato bomo v tem poglavju ponovili nekaj osnovnih pojmov o matrikah in se nauili, kako raunamo z njimi ter grafino in raunsko reevali sisteme linearnih enab in neenab.

2.1. Matrike
Preden bomo zapisali, kaj je matrika, poglejmo naslednji primer. Ladja je iz Afrike pripeljala velike zabojnike banan, srednje zabojnike limon in male zabojnike ananasa. Tovor je iztovorila v tirih evropskih pristaniih. V Barceloni je iztovorila 15 velikih, 3 srednje in 8 malih zabojnikov, v Genovi 20 velikih, 7 srednjih in 3 male zabojnike, v Bariju 5 velikih, 12 srednjih in 16 malih zabojnikov ter v Trstu 33 velikih, 10 srednjih in 7 malih zabojnikov. Dane podatke uredimo v spodnjo preglednico. Pristanie Zabojniki veliki srednji mali Barcelona 15 3 8 Genova 20 7 3 Bari 5 12 16 Trst 33 10 7

Nae podatke pa lahko zapiemo v drugani obliki, bolj primerni za raunanje. Vse numerine podatke uredimo v tabelo, omejeno z oglatimi oklepaji.

Takno tabelo v matematiki imenujemo matrika. Matrika je pravokotna tabela tevil. Sestavljena je iz vrstic in stolpcev. tevili vrstic in stolpcev matrike doloata njeno dimenzijo oz. razsenost: e ima matrika m vrstic in n stolpcev, je njena razsenost enaka mn. Matrike oznaujemo z velikim tiskanimi rkami. tevila, ki nastopajo v matriki, imenujemo elementi matrike. Lego vsakega elementa matrike doloimo tako, da povemo, v kateri vrstici in v katerem stolpcu lei. Sploni zapis matrike razsenosti m n je taken:

ali kraje

pri emer smo oznaili z aij tisti element, ki lei v i-ti vrstici in v j-tem stolpcu matrike. Prvi indeks nam torej pove, v kateri vrstici je izbran element, drugi indeks pa pove, v katerem stolpcu se nahaja. Element aij imenujemo tudi (i,j)-ti element matrike A. Indeks i lahko zavzame vrednosti od 1 do m, indeks j pa vrednosti od 1 do n, kar oznaimo tako: i = 1,2m in j = 1,2n. Matrika iz zgornjega primera je razsenosti4 3: ima 4 vrstice in 3 stolpce. Element a42 poiemo v etrti vrstici in drugem stolpcu: a42 = 10. V prvi vrstici so elementi a11 = 15, a12 = 3, a13 = 8, v drugi vrstici so elementi a21 = 20, a22 = 7, a23 = 3 v tretji vrstici so elementi a31 = 5, a32 = 12, a33 = 16, v etrti vrstici pa so elementi a41 = 33, a42 = 10, a43 = 7.

2.2. Enakost matrik


Matriki A = mn in B = ps sta enaki, e imata enaki dimenziji (m = p in n = s) in e so istoleni elementi v obeh matrikah enaki: aij = bij za vsak i = 1,2m in j = 1,2n.

Zgled:

Matriki A =

in B =

sta enaki, e je: a = -1, b = 2 in c = -3.

2.3. Posebni primeri matrik


Matrika razsenosti 1 1 je skalar

Matriko z enim samim stolpcem imenujemo stolpni vektor ali stolpec.

Matriko z eno samo vrstico imenujemo vrstini vektor.

Nielna matrika je matrika, v kateri so vsi elementi enaki 0. Obiajno oznaimo nielno matriko reda mn s simbolom m n = 0.

Kvadratna matrika je matrika, ki ima enako tevilo vrstic in stolpcev (n = m). Za kvadratno matriko razsenosti nn reemo, da je reda n. Vse elemente kvadratne matrike z enakima indeksoma (aii,i = 1,2n) imenujemo diagonalni elementi. Ti elementi tvorijo glavno diagonalo matrike.

Simetrina matrika je kvadratna matrika A, za katero velja: AT = A. To pomeni, da je aij = aji za vsak i,j = 1,2n. Zgornje trikotna matrika je matrika, ki ima vse elemente pod glavno diagonalo enake 0.

Diagonalna matrika je kvadratna matrika, v kateri so vsi elementi izven glavne diagonale enaki0.

Skalarna matrika je diagonalna matrika, ki ima vse elemente na glavni diagonali med seboj enake.

Enotska ali identina matrika je skalarna matrika, ki ima vse elemente na glavni diagonali enake1.

2.4. Raunanje z matrikami

1.4.1 Mnoenje matrik s skalarjem


Produkt matrike A =
mn

z realnim tevilom je matrika

Mnoenje s skalarjem:

Izraunajmo produkt matrike A =

s tevilom = -3.

Lastnosti mnoenja matrik s skalarjem:


(A) = ()A 1A=A 0A=0

1.4.2 Setevanje matrik


Vsota matrik A =
mn

in B =

mn

je enaka matriki

Vsoto matrik A in B lahko izraunamo le, e sta obe matriki enakih dimenzij. Vsota:

Izraunajmo vsoto matrik in A = Reitev:

in B =

Lastnosti setevanja matrik:


A+B=B+A A + (B + C) = (A + B) + C A+0=A (A + B) = A + B ( + )A = A + A

1.4.3 Odtevanje matrik


Razlika matrik A =
mn

in B =

mn

je enaka matriki

Razliko matrik A in B lahko izraunamo le, e sta obe matriki enakih dimenzij.

Razlika:

Izraunajmo razliko matrik in A =

in B =

Lastnosti odtevanja matrik:


A-0=A A-A=0

1.4.4 Mnoenje matrik


Produkt matrik A = mn in B = mn, za kateri velja, da je tevilo stolpcev v prvi matriki enako tevilu vrstic v drugi matriki, je matrika

Element cij produkta matrik A in B dobimo tako, da i-to vrstico matrike A skalarno pomnoimo z j-tim stolpcem matrike B:

Produkt matrik:

Izraunajmo produkt matrik A = Reitev:

in B =

Lastnosti mnoenja matrik:


(AB)C = A(BC) (A + B)C = AC + BC A(B + C) = AB + AC (AB) = (A)B = A(B) AI = IA = A A0 = 0A = 0 Komutativnost mnoenja matrik (AB = BA) v splonem ne velja.

Inverzna ali obratna matrika matrike A je matrika A-1, za katero velja A A-1 = A-1 A = I Inverz lahko doloamo le za kvadratno matriko, pa tudi za vsako kvadratno matriko ne obstaja. Matriko, za katero obstaja inverz, imenujemo obrnljiva matrika. Za obrnljivi matriki A, B ustreznih dimenzij in za poljubno realno tevilo veljajo naslednje lastnosti:

(A-1)-1 = A (A)-1 = -1A-1,0 (AB)-1 = B-1A-1

Inverzna matrika:

Ugotovimo, ali je matrika B =

inverzna matrika matrike A =

Reitev: Izraunajmo AB in BA.

Ker je AB = BA = I, je matrika B res inverzna matrika matrike A : B = A-1.

1.4.5 Transponiranje matrik


Transponirano matriko matrike A dobimo tako, da zamenjamo istolene vrstice in stolpce, torej matriko prezrcalimo ez glavno diagonalo. Oznaimo jo z AT. e je matrika

potem je njena transponirana matrika

Torej: za simetrino matriko A velja: AT = A. Lastnosti transponiranja matrik:


(AT)T = A (A + B)T = AT + BT (A)T = AT (AB)T = BTAT

Transponiranje matrik:

Doloimo transponirano matriko matrike A = Reitev:

2.5. Sistem linearnih enab


Zapiimo sistem m linearnih enab z n neznankami:

ij(i = 1,2m,j = 1,2n)so koeficienti sistema, bi (i = 1,2m) so prosti leni, xj (i = 1,2n) pa so neznanke(m in n sta poljubni naravni tevili) tevili m in n sta lahko med seboj enaki (tevilo enab je enako tevilu neznank) ali razlini (tevilo enab je manje ali veje od tevila neznank). e sta enaki, sistem imenujemo kvadratni sistem. e so vsi prosti leni enaki 0, sistem imenujemo homogeni sistem. e niso vsi prosti leni enaki 0, pa sistem imenujemo nehomogeni sistem. Reitev sistema so tevila x1,x2,.,xn, ki ustrezajo vsem enabam v sistemu. Reiti sistem pomeni poiskati vse reitve sistema ali dokazati, da sistem nima reitev. Glede tevila reitev imamo natanko tri monosti

sistem nima nobene reitve, sistem ima eno reitev, sistem ima neskonno reitev.

Vsak homogeni sistem ima vsaj eno reitev, in sicer xi = 0;(i = 1,2n). To reitev imenujemo trivialna reitev. Sistem, ki ima vsaj eno reitev, imenujemo reljiv sistem. Sistem, ki nima nobene reitve pa imenujemo nereljiv sistem. Sistema, ki imata iste reitve, imenujemo ekvivalentna sistema. Vsak sistem linearnih enab lahko zapiemo kot eno enabo, in sicer kot matrino enabo. Za to pa potrebujemo osnovno matriko sistema. To je matrika, v katero zapiemo koeficiente sistema.

Neznanke in proste lene zapiemo kot stolpna vektorja.

Zgornji sistem linearnih enab lahko zapiemo v obliki matrine enabe:

Popolno informacijo o sistemu pa vsebuje tudi razirjena matrika sistema. To je matrika, ki jo dobimo tako,da osnovni matriki sistema dodamo stolpec prostih lenov.

Sistem lin. enab:

Dan je sistem dveh linearnih enab s tremi neznankami.

Sistem je nehomogen, ker prosta lena nista enaka 0. Osnovna matrika sistema je

Stolpna vektorja neznank in prostih lenov sta X= x y z in B =

Dan sistem je ekvivalenten matrini enabi:

Razirjena matrika sistema je

Izberimo stolpce S1 = reitev danega sistema.

, S2 =

in S3 =

in preverimo, ali je kateri izmed njih

Stolpec S1 = 2) = 3.

je reitev danega sistema, ker je 20+31+1(-2) = 1 in 10+(-1)1+(-2)(-

Stolpec S2 = 2)0 = 3.

je reitev danega sistema, ker je 22+3(-1)+10 = 1 in 12+(-1)(-1)+(-

Torej je sistem reljiv in ima ve kot eno reitev. Iz esar sledi, da ima dani sistem neskonno reitev.

Preverimo, ali je tudi npr. stolpec S3 = reitev danega sistema: 2 (-2) + 3 1 + 1 2 = 1, toda 1 (-2) + (-1) 1 + (-2) 2 = -73, zato stolpec S3 ni reitev danega sistema.

1.5.1 Reevanje sistemov linearnih enab


Sistem linearnih enab lahko reimo na ve razlinih nainov. Eden izmed njih je GaussJordanova eliminacijska metoda. To pomeni, da bomo sistem linearnih enab pretvorili v razirjeno matriko, topa bomo pretvorili na zgornje trikotno obliko, iz katere bomo na preprost nain doloili reitve sistema. Z razirjeno matriko smemo izvajati naslednje operacije, ki jih imenujemo tudi elementarne transformacije: 1. menjamo lahko vrstni red vrstic (ker vrstni red vrstic razirjene matrike sistema predstavlja vrstni red enab sistema; vrstni red enab v sistemu pa ni pomemben), 2. menjamo lahko vrstni red stolpcev, a le v osnovni matriki sistema (ker vrstni red stolpcev osnovne matrike predstavlja vrstni red neznank sistema; vrstni red neznank v sistemu pa ni pomemben, zapomniti si moramo le kako se je vrstni red spremenil, da vemo, katera neznanka pripada kateremu stolpcu), 3. vsako vrstico lahko pomnoimo oz. delimo s poljubnim tevilom, razlinim od 0 (ker mnoenje vrstice pomeni mnoenje enabe na obeh straneh z istim tevilom, kar pa ne vpliva na reitve enabe), 4. k poljubni vrstici lahko pritejemo mnogokratnik kake druge vrstice, le-ta pa mora ostati nespremenjena, 5. vrstico samih niel lahko izbriemo (ker vrstica samih niel pomeni identino enabo 0 = 0).

Reitve sistema se s tem ne spremenijo.

S pomojo zgoraj opisanih operacij razirjeno matriko sistema spremenimo v zgornje trikotno matriko. Le-tapa ima eno od spodnjih treh oblik, kjer * predstavljajo poljubno realno tevilo. (Zaradi enostavnosti matrike niso zapisane kot splone matrike poljubne velikosti, ampak so podane kar kot matrike konkretno doloenih velikosti.) Prva mona oblika je takna:

V tem primeru sistem ni reljiv (saj bi v primeru zapisa zadnje vrstice v obliki enabe dobili 0 = 1),

Reevanje sistema lin. enab, ki nima reitve: Reimo sistem treh enab s tremi neznankami.

Reitev: Osnovna matrika sistema je

stolpni vektor prostih lenov pa je

Torej je razirjena matrika sistema takna:

Razirjeno matriko sistema bomo s pomojo elementarnih transformacij postopoma preoblikovali v zgornje trikotno matriko, ki ima na glavni diagonali same enke. Najprej moramo na prvem mestu prve vrstice ustvariti enko. Torej bomo prvo vrstico delili z dve.

Prvo vrstico bomo prepisali, v ostalih vrsticah pa bomo na prvih mestih ustvarili nile. Da bomo na (2,1)-em mestu (v drugi vrstici v prvem stolpcu) naredili nilo, moramo prvo vrstico pomnoiti z -1 in jo priteti k drugi vrstici.

Da bomo na (3,1)-em mestu (v tretji vrstici v prvem stolpcu) naredili nilo, pa moramo prvo vrstico pomnoiti z -4 in jo priteti k tretji vrstici. Tako dobimo naslednjo matriko:

Element na (2,2)-tem mestu (v drugi vrstici v drugem stolpcu) je e enak ena, zato druge vrstice ni potrebno spreminjati. Pod elementom na (2,2)-tem mestu moramo ustvariti nile. To bomo naredili tako, da bomo prvo in drugo vrstico prepisali, tretjo pa bomo dobili tako, da bomo drugo vrstico pomnoili z -1 in jo priteli k tretji.

Dobili smo zgornje trikotno matriko, saj so pod diagonalo le e nielni elementi. e zadnjo vrstico preoblikujemo nazaj v enabo, dobimo

torej 0 = 2.

To pa je protislovje, torej sistem nima reitev. ***

Druga mona oblika je takna:

V tem primeru je sistem reljiv in ima natanko eno reitev.

Reevanje sistema lin. enab z eno reitvijo: Reimo sistem treh enab s tremi neznankami.

Reitev: Osnovna matrika sistema je

stolpni vektor prostih lenov pa je

Torej je razirjena matrika sistema takna:

Razirjeno matriko sistema bomo s pomojo elementarnih transformacij postopoma preoblikovali v zgornje trikotno matriko, ki ima na glavni diagonali same enke. Na prvem mestu prve vrstice je enka, zato je ni potrebno ustvariti. Ta korak izpustimo. Prvo vrstico bomo prepisali, v ostalih vrsticah pa bomo na prvih mestih ustvarili nile. Da bomo na (2,1)-em mestu naredili nilo, moramo prvo vrstico pomnoiti z -2 in jo priteti k drugi vrstici.

Da bomo na (3,1)-em mestu naredili nilo, pa moramo prvo vrstico pomnoiti s 3 in jo priteti k tretjivrstici. Tako dobimo naslednjo matriko:

Na (2,2)-tem mestu moramo ustvariti enko. Torej moramo drugo vrstico deliti z -1.

Pod elementom na glavni diagonali v drugi vrstici moramo ustvariti nilo. To bomo naredili tako, da bomo prvo in drugo vrstico prepisali, tretjo pa bomo dobili tako, da bomo drugo vrstico pomnoili z -4 in jo priteli k tretji.

V zadnji vrstici moramo diagonalni element pretvoriti v enko. Torej moramo celotno vrstico deliti z -11.

Dobili smo zgornje trikotno matriko, saj so pod diagonalo le e nielni elementi. Reitev sistema dobimo tako,da najprej zadnjo vrstico preoblikujemo nazaj v enabo: 1z = -3, torej z = -3 Nato preoblikujemo v enabo predzadnjo vrstico in vstavimo dobljeni z: 1y + 4z = -10 torej y = -4z - 10 = -4(-3) - 10 = 2 Nato pa preoblikujemo v enabo e prvo vrstico in vstavimo dobljena y in z: 1x + 1y + 1z = 0 torej x = -y - z = -2 - (-3) = 1 Sistem ima torej natanko eno reitev: x = 1, y = 2, z = -3. ***

Tretja mona oblika je takna:

V tem primeru je sistem reljiv in ima neskonno reitev.

Reevanje sistema lin. enab z neskonno reitvami Reimo sistem treh enab s tremi neznankami.

Reitev: Osnovna matrika sistema je

stolpni vektor prostih lenov pa je

Torej je razirjena matrika sistema takna:

Razirjeno matriko sistema bomo s pomojo elementarnih transformacij postopoma preoblikovali v zgornje trikotno matriko, ki ima na glavni diagonali same enke. Na prvem mestu prve vrstice je enka, zato je ni potrebno ustvariti. Ta korak izpustimo. Prvo vrstico bomo prepisali, v ostalih vrsticah pa bomo na prvih mestih ustvarili nile. Da bomo na (2,1)-em mestu naredili nilo, moramo prvo vrstico pomnoiti s 3 in jo priteti k drugi vrstici.

Da bomo na (3,1)-em mestu naredili nilo, pa moramo prvo vrstico pomnoiti s 3 in jo priteti k tretji vrstici. Tako dobimo naslednjo matriko:

Na (2,2)-tem mestu moramo ustvariti enko. Torej moramo drugo vrstico deliti z 2.

Pod elementom na glavni diagonali v drugi vrstici moramo ustvariti nilo. To bomo naredili tako, da bomo prvo in drugo vrstico prepisali, tretjo pa bomo dobili tako, da bomo drugo vrstico pomnoili z -1 in jo priteli k tretji.

V zadnji vrstici so same nile, zato jo lahko izbriemo.

Dobili smo zgornje trikotno matriko, saj so pod glavno diagonalo le e nielni elementi. Reitev sistema dobimo tako, da najprej zadnjo vrstico preoblikujemo nazaj v enabo: 1y - 1z = -4 torej y = z - 4 Nato preoblikujemo v enabo prvo vrstico in vstavimo dobljeni y: 1x + 3y - z = 0 torej x = -3y + z = (z - 4) + z = 2z - 4 Sistem ima torej neskonno reitev: x = 2z-4, y = z4, kjer je z poljubno realno tevilo. (Npr. e je z = 0, jex = -4 in y = -4; e jez = 2, je x = 0 in y = -2 )

Reevanje sistema lin. enab, ki ni kvadraten: Zdaj pa reimo e en malo veji sistem, ki ni kvadraten.

Reitev: Osnovna matrika sistema je

stolpni vektor prostih lenov pa je

Torej je razirjena matrika sistema takna:

Razirjeno matriko sistema bomo s pomojo elementarnih transformacij postopoma preoblikovali v zgornje trikotno matriko, ki ima na glavni diagonali same enke. Na prvem mestu prve vrstice moramo ustvariti enko. Torej bomo prvo vrstico delili z (-2), ostale vrstice pa bomo prepisali.

Prvo vrstico bomo prepisali, v ostalih vrsticah pa bomo na prvih mestih ustvarili nile. Da bomo na (2,1)-em mestu naredili nilo, moramo prvo vrstico pomnoiti z 2 in jo priteti k drugi vrstici. Da bomo na(3,1)-em mestu naredili nilo, moramo prvo vrstico priteti k tretji vrstici. Da bomo na (4,1)-em mestu naredili nilo,moramo prvo vrstico pomnoiti s (-4) in jo priteti k etrti vrstici. Da bomo na (5,1)-em mestu naredili nilo, pa moramo prvo vrstico pomnoiti z (-3) in jo priteti k peti vrstici. Tako dobimo naslednjo matriko:

Na (2,2)-tem mestu moramo ustvariti enko. V naem primeru je na tem mestu e enka, torej ta korak izpustimo. Pod elementom na glavni diagonali v drugi vrstici moramo ustvariti nile. Prvo in drugo vrstico bomo prepisali. Da bomo na (3,2)-em mestu ustvarili nilo, moramo drugo vrstico pomnoiti z (-6) in jo priteti k tretji vrstici. Da bomo na (4,2)-em mestu naredili nilo, moramo drugo vrstico priteti k etrti vrstici. Da bomo na (5,2)-em mestu naredili nilo, moramo drugo vrstico priteti k peti vrstici.

Na (3,3)-jem mestu moramo ustvariti enko. V naem primeru je na tem mestu e enka, torej ta korak izpustimo. Pod elementom na glavni diagonali v tretji vrstici moramo ustvariti nile. Prvo, drugo in tretjo vrstico bomo prepisali. Da bomo na (4,3)-jem mestu ustvarili nilo, moramo tretjo vrstico pomnoiti z (-1) in jo priteti k etrti vrstici. Na (5,3)-jem mestu je e nila, zato je tam ne rabimo ustvariti. Torej peto vrstico kar prepiemo.

Na (4,4)-em mestu moramo ustvariti enko. V naem primeru je na tem mestu e enka, torej ta korak izpustimo. Pod elementom na glavni diagonali v etrti vrstici moramo ustvariti nilo. Prvo, drugo, tretjo in etrto vrstico bomo prepisali. Da bomo na (5,4)-em mestu ustvarili nilo, moramo etrto vrstico pomnoiti z (-1) in jo priteti k peti vrstici.

Dobili smo zgornje trikotno matriko, saj so pod glavno diagonalo le e nielni elementi. Reitev sistema dobimo tako, da najprej zadnjo vrstico preoblikujemo nazaj v enabo: 1x5 + 8x6 = 15, torej x5 = -8x6 + 15. Nato preoblikujemo v enabo predzadnjo vrstico in vstavimo dobljeni x5: 1x42x5 + 3x6 = 5, torejx4 = 2x5 - 3x6 + 5 = 2(-8x6 + 15) - 3x6 + 5 = -19x6 + 35. Tretjo vrstico preoblikujmo v enabo in iz nje izrazimo x3: 1x3 - 1x4 + 1x5 - 1x6 = -22, torej x3 = x4 - x5 + x622 = (-19x6 + 35)(-8x6 + 15) + x622 = -10x62. Drugo vrstico preoblikujmo v enabo in iz nje izrazimo x2: x2 - 2x3 + 3x4 - 4x5 + 5x6 = -9, torej x2 = 2x3 - 3x4 + 4x5 - 5x69 = 2(-10x62) - 3(-19x6 + 35) + 4(-8x6 + 15) - 5x69 = -58. Prvo vrstico preoblikujmo v enabo in iz nje izrazimo x1: x1 - 2x2 + 3x3 - 4x4 + 5x5 - 6x6 = -11, torej x1 = 2x2 - 3x3 + 4x4 - 5x5 + 6x611 = 2(-58) 3(-10x62) + 4(-19x6 + 35)5(-8x6 + 15) + 6x611 = -56. Sistem ima torej neskonno reitev: x1 = -56, x2 = -58, x3 = -10x62, x4 = -19x6 + 35, x5 = -8x6 + 15,kjer je x6 poljubno realno tevilo. (Npr. e je x6 = 0, je x1 = -56, x2 = -58, x3 = 2, x4 = 35 in x5 = 15.)

S pomojo pravkar opisanega postopka lahko izraunamo inverzno matriko poljubne obrnljive matrike.

2.6. Inverzna matrika


Pojem inverzne matrike smo spoznali e v poglavju o mnoenju matrik, kjer smo zapisali, da je inverzna ali obratna matrika matrike A matrika A-1, za katero velja

Povedali smo tudi, da lahko inverz doloamo le za kvadratno matriko. Poglejmo, kako si z Gauss-Jordanovo eliminacijsko metodo pomagamo pri doloanju inverzne matrike. Naj bo A poljubna obrnljiva matrika. Najprej zapiemo razirjeno matriko [A|I], kjer je I enotska matrika enake dimenzije kot matrika A. S pomojo elementarnih transformacij matriko A pretvorimo v enotsko matriko. S tem na desni strani razirjene matrike dobimo inverzno matriko matrike A: [I|A - 1].

Zgled: Doloimo inverzno matriko naslednje matrike:

Reitev: Zapiimo razirjeno matriko [A|I]:

S pomojo elementarnih transformacij moramo matriko A pretvoriti v enotsko matriko. Najprej moramo ustvariti na prvem mestu prve vrstice enko. V naem primeru je na tem mestu e enka, torej ta korak izpustimo. Prvo vrstico bomo prepisali, v ostalih vrsticah pa bomo na prvih mestih ustvarili nile. Da bomo na (2,1)-em mestu naredili nilo, moramo prvo vrstico pomnoiti z -2 in jo priteti k drugi vrstici. Da bomo na (3,1)-em mestu naredili nilo, pa moramo prvo vrstico pomnoiti z 2 in jo priteti k tretji vrstici. Tako dobimo naslednjo matriko:

Na (2,2)-tem mestu je enka, zato je ni potrebno ustvariti. Ta korak izpustimo. Pod elementom na glavni diagonali v drugi vrstici moramo ustvariti nilo. To bomo naredili tako, da bomo prvo in drugo vrstico prepisali, tretjo pa bomo dobili tako, da bomo drugo vrstico pomnoili z 2 in jo priteli k tretji.

Na (3,3)-tem mestu moramo ustvariti enko. To bomo naredili tako, da bomo prvo in drugo vrstico prepisali,zadnjo pa bomo delili z (-1).

Tako smo dobili zgornje trikotno matriko. Da bomo na levi strani razirjene matrike dobili enotsko matriko,moramo ustvariti nile e na levi strani razirjene matrike nad glavno diagonalo. Zadnjo vrstico bomo prepisali, v ostalih vrsticah pa bomo v tretjem stolpcu ustvarili nile. Da bomo na (1,3)-em mestu ustvarili nilo, moramo zadnjo vrstico pomnoiti z -1 in jo priteti k

prvi vrstici. Da bomo na (2,3)-em mestu ustvarili nilo, pa moramo zadnjo vrstico pomnoiti z 2 in jo priteti k drugi vrstici.

Nad elementom na glavni diagonali v drugi vrstici moramo ustvariti nilo. To bomo naredili tako, da bomo drugo in tretjo vrstico prepisali, prvo pa bomo dobili tako, da bomo drugo vrstico priteli k prvi.

Na levi strani razirjene matrike smo ustvarili enotsko matriko, torej je desna stran razirjene matrike enaka inverzni matriki zaetne matrike.

Izpiimo inverz matrike A:

***

Zgled: Doloimo inverzno matriko naslednje matrike:

Reitev: Zapiimo razirjeno matriko [A|I]:

S pomojo elementarnih transformacij moramo matriko A pretvoriti v enotsko matriko. Najprej moramo ustvariti na prvem mestu prve vrstice enko. V naem primeru je na tem mestu e enka, torej ta korak izpustimo. Prvo vrstico bomo prepisali, v ostalih vrsticah pa bomo na prvih mestih ustvarili nile. Da bomo na (2,1)-em mestu naredili nilo, moramo prvo vrstico pomnoiti z -2 in jo priteti k drugi vrstici. Da bomo na (3,1)-em mestu naredili nilo, pa moramo prvo vrstico pomnoiti z 2 in jo priteti k tretji vrstici. Tako dobimo naslednjo matriko:

Na (2,2)-tem mestu moramo ustvariti enko, torej bomo drugo vrstico delili z dva, prvo in tretjo pa bomo prepisali.

Pod elementom na glavni diagonali v drugi vrstici moramo ustvariti nilo. To bomo naredili tako, da bomo prvo in drugo vrstico prepisali, tretjo pa bomo dobili tako, da bomo drugo vrstico priteli k tretji.

V zadnji vrstici smo na levi strani razirjene matrike dobili same nile. Z elementarnimi transformacije na levi strani razirjene matrike ni mono dobiti enotske matrike. Torej za matriko A ne obstaja inverzna matrika. Vtem primeru reemo, da matrika A ni obrnljiva. ***

Kot smo e omenili, nima vsaka kvadratna matrika inverzne matrike. Poglejmo si naslednji primer.

Primer:

Dana je matrika A =

Izraunajmo njej inverzno matriko A-1.

Reitev: Inverzno matriko raunamo po Gauss-Jordanovi metodi. Elementarne operacije izvajamo na razirjeni matriki

Delimo najprej prvo vrstico s 4 in dobimo:

Drugi vrstici pritejmo z (-2) pomnoeno prvo vrstico:

V drugi vrstici smo na levi strani dobili na obeh mestih ni, zato z uporabo elementarnih operacij (samo na vrsticah!) na nikakren nain ne uspemo dobiti matrine enote in s tem tudi ne inverzne matrike.

Matrika A = ***

torej nima inverzne matrike.

Raunanje inverznih matrik je dolgotrajno, e zlasti, kadar imamo opraviti z matrikami vejih dimenzij.Inverzne matrike vejih dimenzij bomo raunali z uporabo raunalnika. programov, ki to omogoajo, je veliko. Inverzno matriko lahko izraunamo e z uporabo EXCELA. Primer:

A-1 =?

Reitev: Raunalniki program EXCEL da rezultat: -0,7 -1,3 0,8 Velja torej: 0,2 -0,2 0,2 0,3 0,7 -0,2

***

2.7. Sistemi linearnih neenab


Linearna neenaba z dvema neznankama je neenaba oblike:

kjer so a, b in c so koeficienti neenabe, x je neodvisna, y pa odvisna spremenljivka. Mnoica reitev linearne neenabe je ena od obeh polravnin, na kateri premica ax + by + c = 0 razdeli ravnino. e je c > 0, je to polravnina, ki vsebuje izhodie; e pa je c < 0, pa polravnina, ki ne vsebuje izhodia.

Zgled: Doloimo mnoico reitev neenabe 2x + 3y - 6 > 0.

Reitev: Najprej nariimo premico z enabo 2x + 3y - 6 = 0. Doloimo preseie z osjo x (v enabo premice vstavimo, y = 0):

Torej premica seka os x v toki A(3,0). Doloimo e preseie z osjo y (v enabo premice vstavimo, x = 0). Torej premica seka os y v toki B(0,2). Skozi dobljeni toki nariimo premico. Nariimo jo s rtkano rto, ker le-ta ni vkljuena v mnoico reitev (to nam pove znak >). Doloiti moramo e, katera polravnina je reitev nae neenabe. Le-to pa doloimo na osnovi naslednje ugotovitve: ker je koeficient c manji od 0 (c = -6 < 0), iskana polravnina ne vsebuje izhodia. Torej reitev dane neenabe predstavljajo vse toke polravnine nad premico 2x + 3y - 6 = 0.

*** Doloimo mnoico reitev neenabe 3x - y - 3 0. Reitev:

Najprej nariimo premico z enabo 3x-y - 3 = 0. Doloimo preseie z osjo x (v enabo premice vstavimo, y = 0):

Torej premica seka os x v toki A(1,0). Doloimo e preseie z osjo y (v enabo premice vstavimo, x = 0):

Torej premica seka os y v toki B(0,-3). Skozi dobljeni toki nariimo premico. Nariimo jo s polno rto, ker je tudi ta vkljuena v mnoico reitev (to nam pove znak ). Doloiti moramo e, katera polravnina je reitev nae neenabe. Da bomo lahko iz neenabe prebrali koeficient c, jo moramo zapisati v takni obliki -3x + y + 3 0. Ker je koeficient c veji od 0 (c = 3 > 0),iskana polravnina vsebuje izhodie. Torej reitev dane neenabe predstavljajo vse toke polravnine nad premico 3x - y - 3 = 0 in na njej.

Zapiimo sistem m linearnih neenab z n neznankami:

e oznaimo z A osnovno matriko sistema, z B vektor prostih lenov in z X vektor neznank, lahko zgornji sistem zapiemo v obliki matrine neenabe:

Mnoica reitev sistema linearnih neenab je presek mnoic reitev posameznih neenab. Kadar ima sistem neenab le dve neznanki, se reevanja najpogosteje lotimo grafino.

Zgled: Reimo sistem neenab:

Reitev: KORAK 1: Da bomo lahko doloili, kateri polravnini moramo pobarvati, neenabi zapiimo tako, da bosta neenaaja obrnjena v ustrezno smer:

KORAK 2: Nariemo 1. premico in pobarvamo pripadajoo polravnino.

KORAK 3: Nariemo e drugo premico in pobarvamo pripadajoo polravnino.

Torej za obe neenabi velja: iskana polravnina vsebuje izhodie. KORAK 4: Upotevati moramo e zadnji dve neenabi , ki nam povesta, da se mnoica reitev naega sistema nahaja v prvem kvadrantu. Mnoica reitev danega sistema neenab je presek vseh polravnin, ki jih doloajo vse 4 neenabe.

Na sistem ima neskonno reitev. Predstavili smo jih s rafirano mnoico na zgornji sliki. ***

Reimo sistem neenab:

Reitev:

KORAK 1: Nariimo premice:

KORAK 2: Da bomo lahko doloili, katere polravnine moramo pobarvati, neenabe zapiimo tako, da bodo neenaaji obrnjeni v ustrezno smer:

Torej za prvo neenabo velja: iskana polravnina ne vsebuje izhodia. Za drugo in tretjo neenabo pa velja: iskani polravnini vsebujeta izhodie. Nariimo vse tri polravnine v isti koordinatni sistem.

KORAK 3: Upotevati moramo e zadnji dve neenabi: , ki nam povesta, da se mnoica reitev naega sistema nahaja v prvem kvadrantu. Mnoica reitev danega sistema neenab je presek vseh polravnin, ki jih doloa vseh 5 neenab.

Na sistem ima natanko eno reitev: x = 2, y = 1. ***

Reimo sistem neenab:

Reitev: Nariimo premico: x + y - 2 = 0 in pobarvajmo ustrezno polravnino (tisto, ki ne vsebuje izhodia).

Upotevati moramo e neenabi x 0 in y 0, ki nam povesta, da iemo reitve v prvem kvadrantu. Ker dobljena polravnina nima nobene skupne toke s prvim kvadrantom (presek je prazna mnoica), na sistem nima nobene reitve. ***

3. LINEARNO PROGRAMIRANJE
BETA VERZIJA
Linearno programiranje je matematina metoda, ki jo uporabljamo za reevanje problemov iz podroja operacijskih raziskav. Uporabljamo jo za tako imenovano optimizacijo z omejitvami (angl. constrained optimization). Gre za iskanje najbolje reitve (optimiranje) danega problema pri danih pogojih, npr. maksimiranje dobika pri danih produkcijskih in trnih omejitvah. V praksi se linearno programiranje uporablja v tevilnih aplikacijah na

raznovrstnih podrojih: ekonomiji, financah, bannitvu, logistiki, statistiki, uporabni matematiki, in e bi lahko natevali. Linearno programiranje je torej metoda, ki nam omogoa poiskati optimalno (maksimalno ali minimalno) vrednost izbranih odvisnih spremenljivk, ki zadoajo danim omejitvam. Linearni program v matematini obliki zapiemo na naslednji nain:

namenska funkcija

omejitve

pogoji nenegativnosti

Opomba: v omejitvah smo povsod zapisali znak . e je v omejitvi znak , dobimo znak tako, da obe strani neenabe pomnoimo z (-1).

Linearni program lahko zapiemo tudi v matrini obliki:

kjer je:

vrstini vektor koeficientov namenske funkcije,

stolpni vektor spremenljivk,

osnovna matrika sistema neenab, ki predstavljajo koeficiente omejitev linearnega programa in

stolpni vektor prostih lenov neenab, ki predstavljajo vrednosti omejitev linearnega programa. Osnovna znailnost linearnega programirama je, da je namenska funkcija linearna in da so tudi vse omejitvene neenabe oz. enabe linearne. ***

3.1. Proizvodni problem BETA VERZIJA :: E V IZDELAVI


Problem v katerih bo naa naloga ugotoviti na primer, koliko kosov posameznega izdelka iz naega prodajnega program naj naredimo, da bo ob danih omejitvah na dobiek najveji, bomo imenovali proizvodni problem.Seveda s nazivom proizvodni problem ne bomo imenovali samo problemov iz proizvodnje, ampak tudi ostale problem sorodne narave, kjer

iemo maksimum namenske funkcije. Za zaetek za naslednji problem formulirajmo linearni program.

Podjetje Tartuf d.o.o. pakira bele in rne tartufe. Oboje poteka v dveh fazah: polnjenje kozarcev in opremljanje kozarcev. Za kozarec belih tartufov potrebujejo 1 minuto za polnjenje, 2 minuti za opremljanje.Za kozarec rnih tartufov pa potrebujejo 2 minuti za polnjenje, 1 minuto za opremljanje. Stroj, ki polni kozarce, je na razpolago 35 minut v vsaki uri; stroj, ki zapira kozarce je tudi na razpolago 40 minut v vsaki uri. Podjetje ima pri prodaji kozarca belih tartufov dobiek 30 in pri prodaji kozarca rnih tartufov 20.Koliko kozarcev belih in koliko kozarcev rnih tartufov naj podjetje proizvaja v eni seriji, e eli dosei imveji dobiek. Reitev: Najprej uredimo dane podatke v preglednico: beli tartufi rni tartufi omejitve Polnjenje kozarcev 1 2 35 Opremljanje kozarcev 2 1 40 Dobiek 30 20 Koliina izdelkov x y Reevanja problema se lotimo po naslednjem postopku:

1 Formuliramo linearni program 2 Doloimo namensko funkcijo 3 Doloimo omejitve 4 Reimo linearni program

a) Doloimo namensko funkcijo. Namenska funkcija predstavlja skupni dobiek pri prodaji belih in rnih tartufov.

Dobiek z enim kozarcem belih tartufov je 30, torej je dobiek z x kozarci belih tartufov 30x. Dobiek z enim kozarcem rnih tartufov je 20, torej je dobiek z y kozarci rnih tartufov 20y.

Zato je dobiek z x kozarci belih in y kozarci rnih tartufov enak 30x + 20y. Ker iemo maksimalen dobiek,moramo poiskati maksimum namenske funkcije. Torej je namenska funkcija sledea:

b) Doloimo omejitve:

Stroj za polnjenje kozarcev: o Za polnjenje enega kozarca belih tartufov potrebujemo 1 minuto, torej za polnjenje x kozarcev potrebujemo x minut. o Za polnjenje enega kozarca rnih tartufov potrebujemo 2 minuti, torej za polnjenje y kozarcev potrebujemo 2y minut. o Zato potrebujemo za polnjenje x kozarcev belih in y kozarcev rnih tartufov skupno x + 2y minut. Ta stroj lahko uporabljamo kvejemu 35 minut, zato je

Stroj za opremljanje kozarcev: o Za zapiranje enega kozarca belih tartufov potrebujemo 2 minuti, torej za zapiranje x kozarcev potrebujemo 2x minut. o Za zapiranje enega kozarca rnih tartufov potrebujemo 1 minuto, torej za zapiranje y kozarcev potrebujemo y minut. o Zato potrebujemo za zapiranje x kozarcev belih in y kozarcev rnih tartufov skupno 2x + y minut. Ta stroj lahko uporabljamo kvejemu 40 minut, zato je

Pogoj nenegativnosti:

V naem primeru imamo le dve spremenljivki, torej:

Linearni program danega problema je torej taken:

3.1.1 Grafino reevanje proizvodnega problema


Probleme linearnega programiranja, v katerih nastopata le dve spremenljivki, lahko reimo z grafino metodo.Za primer vzemimo kar linearni program TARTUFI I. in sicer:

Reimo ta linearni program z grafino metodo po naslednjem postopku:

1 V koordinatni sistem nariemo mnoico vseh reitev sistema linearnih neenab sestavljenega iz omejitev in pogojev nenegativnosti. 2 Doloimo koordinate ekstremnih tok. 3 Ugotovimo toko (grafino ali raunsko) v kateri se pojavi maksimum (minimum)namenske funkcije. 4 Izraunamo maksimum ( minimum) namenske funkcije.

Reitev: V koordinatni sistem nariimo mnoico vseh reitev sistema linearnih neenab, ki ga sestavljajo omejitve in pogoj nenegativnosti v linearnem programu:

Slika 18: Mnoica reitev sistema linearnih neenab sestavljenega iz omejitev in pogojev nenegativnosti. Mnoica vseh reitev danega sistema je konveksen lik ABCD. Namenska funkcija f(x,y) = 30x + 20y dosee maksimum v eni od ekstremnih tok (ogli) konveksnega lika (glej poglavje 2). V kateri toki pase pojavi maksimum namenske funkcije, pa lahko doloimo na raunski (a) ali grafini nain(b).

a) Raunski nain

Doloimo koordinate vseh ogli konveksnega lika:

C je preseie premic x + 2y = 35 in 2x + y = 40. Iz prve linearne enabe izrazimo y = ga vstavimo vdrugo enabo:

in

Dobljeno vrednost pa vstavimo v y = 40 - 2x = 40 - 2 15 = 10. Torej: C(15,10).

To ponovimo za vse ekstremne toke konveksnega lika.

Izraunajmo vrednost namenske funkcije f(x,y) = 30x+20y v vsakem ogliu konveksnega lika:

Doloimo maksimum namenske funkcije:

Namenska funkcija dosee maksimalno vrednost 650 v toki C(15,10). To pomeni, da bo imelo podjetje Tartuf d.o.o. najveji dobiek v primeru, ko bo v eni uri zapakiralo 15 kozarcev belih in 10 kozarcev rnih tartufov.Dobiek bo v tem primeru znaal 650 .

b) Grafini nain

V koordinatni sistem s konveksnim likom ABCD nariimo e (rdeo) premico z enabo f(x,y) = 0, torej 30x + 20y = 0. Ker iemo maksimum namenske funkcije, moramo to premico vzporedno premakniti im vije, vendar tako, da bo imela z likom ABCD vsaj eno skupno toko.

Slika 19: Z vzporednim premikanjem premice z enabo f(x,y) = 0 poiemo toko v kateri se pojavi maksimum namenske funkcije. Vzporednica premice f(x,y) = 0 (obarvane rdee), se lika ABCD dotika v toki C. To pomeni, da namenska funkcija dosee maksimum v toki C. Izraunajmo koordinate toke C. C je preseie premic x + 2y = 35 in 2x + y = 40. Iz prve enabe izrazimo y = in ga vstavimo v drugo enabo. Spet dobimo enako kot prej:

Dobljeno vrednost vstavimo v y = 40 - 2x = 40 - 2 15 = 10 in dobimo C(15,10). Torej je maksimum namenske funkcije enak f(C) = 30 15 + 20 10 = 650. To pomeni, da bo imelo podjetje Tartuf d.o.o. najveji dobiek v primeru, ko bo v eni uri zapakiralo 15 kozarcev belih in 10 kozarcev rnih tartufov. Dobiek bo vtem primeru znaal 650 .

3.1.2 Analiza optimalne reitve proizvodnega problema


e ko smo zapisali omejitve linearnega programa za dan problem (uporabili smo neenakost) smo dopustili monost, da se nekateri viri ne porabijo do konca. V naem primeru smo as za opremljanje kozarcev omejili na 40 minut, as za polnjenje pa na 35 minut, sedaj nas pa zanima ali smo celotni as, ki ga imamo na razpolago za posamezne dejavnosti v celoti porabili. Odgovor dobimo tako, da izraunamo dejanki as ki ga porabimo za izdelavo tistega tevila izdelkov, ki je podano v optimalni reitvi. Torej izdelali smo 15 kozarcev belih in 10 kozarcev rnih tartufov, to pa pomeni, da skupno za polnjenje porabimo $ $15cdot1+10cdot2=35$$ minut, kar je tono toliko kot imamo na razpolago. Pravimo, da je ostanek asa za polnjenje kozarcev enak 0. Analogno ugotovimo, da je tudi ostanek asa za opremljanje kozarcev enak 0, saj je skupni as za opremljanje enak $$2cdot15+1cdot10=40$$ , kar je enako asu, ki je na razpolago. Pravimo, da sta obe omejitvi aktivni, saj so viri, ki jih omejujeta porabljeni do konca in je potrebno za spremembo vrednosti nameenske funkcije spremeniti vrednost omejitve. Ali povedano drugae, spremeniti je potrebno desne strani neenakosti pri omejitvah. V nasprotnem primeru pa so omejitve neaktivne.

3.1.3 Analiza obutljivosti optimalne reitve


Ko linearni program uspeno reimo in dobimo optimalno reitev problema, se pojavi vpraanje ali je ta optimalna reitev obutljiva na spremembe vhodnih parametrov in kako? Vzroki za pojav tega vpraanja so lahko razlini. Vhodni parametri kot so omejitve asa, surovin ali tevila delavcev so ponavadi samo ocene, ki so lahko bolj ali manj natanne. Zato je med tekom proizvodnje priakovati njihove spremembe. Tudi zasluek ali stroki pri proizvodnji se lahko spreminjajo in to je dobro pri planiranju proizvodnje predvideti. Ogledali si bomo dve vrsti analize obutljivosti in sicer: analizo koeficientov namenske funkcije in analizo desnih strani neenakosti pri omejitvah.

(a) Analiza koeficientov namenske funkcije Optimalna reitev linearnega programa bo navkljub spremembam koeficientov namenske funkcije ostala nespremenjena tako dolgo, dokler se bo posamezen koeficient nahajal v t.i. obmoju optimalnosti, drugi parametri programa pa se ne bodo spreminjali. Seveda pa se bo s spreminjanjem koeficientov, spreminjala tudi vrednost namenske funkcije. Oglejmo si sliko z reitvijo v prejnjem razdelku obravnavanega problema. Na njej vidimo, da namenska funkcija, ob postavljenih omejitvam dosee maksimum 650 v toki C . Kaj se zgodi, e koeficiente namenske funkcije spreminjamo? Spomnimo se, da koeficienti v enabi premice doloajo njeno strmino. Torej s spremembo koeficientov namenske funkcije, spreminjamo njen naklon.

Slika 19: Spreminjanje naklona (bolj polona) namenske funkcije. Do katerih vrednosti lahko spreminjamo okeficiente namenske funkcije, toka C pa bo e vedno ostal optimalna reitev? Obrnimo sedaj premico nae namenske funkcije v toki C, tako da postaja vedno bolj polona. Kmalu ugotovimo, da se premica dotakne tudi tokeB , e jo le dovolj zasuemo. V tem trenutku, toka C ni ve edina optimalna reitev problema. Reitev je postala tudi toka B in vse toke med B in C. e hoemo narediti premico e bolj

polono, se le ta ne obraa ve v toki C ampak v toki B. S tem pa toka B postane edina reitev problema in s tem se spremeni tudi optimalna reitev linearnega programa. Isto lahko sedaj naredimo e v drugo smer. Premico namenske funkcije obraajmo okoli C tako, da bo vedno bolj strma. To lahko delamo tako dolgo dokler se ne premica ne dotakne toke D .

Slika 20: Spreminjanje naklona (bolj strma) namenske funkcije. Iz zgornjih dveh slik ugotovimo, da smo koeficiente premice v obeh primerih spremenili tako, da so zavzeli vrednost izven obmoja optimalnosti. Toda kakne so njihove vrednosti? Posvetimo se najprej koeficientu pri spremenljivki x. Izraunajmo najprej kakna je vrednost tega koeficienta v primeru, ko se premica dotika toke B. Pri tem upotevajmo, da mora koeficient pri y ostati nespremenjen, torej elimo poiskati enabo oblike $$Kx+20y$$, kjer bo K nov spremenjen koeficient. Stvari se lotimo tako: Najprej moramo ugotoviti skozi kateri toki bomo izraunali novo enabo premice. Na sliki 19 vidimo, da premica poteka skozi toki B in C. Da bi skozi njih napeljali premico najprej izraunajmo njen smerni koeficient. Raunamo po enabi:

$$k=

rac{left(y_{2}-y_{1} ight)}{left(x_{2}-x_{1} ight)}$$ V naem primeru, ko sta $$Bleft(0,17.5 ight)$$ in $$Cleft(15,10 ight)$$ velja $$k=

rac{left(10-17.5 ight)}{15-0}=-

rac{7.5}{15}=-0.5$$ Sedaj lahko zapiemo enabo nove premice: $$y=-0.5x+n$$ Ker vidimo, da premica y os seka v 17.5 , kar pomeni, da je $$n=17.5$$, lahko zapiemo: $ $y=-0.5x+17.5$$ Enabo sedaj preoblikujmo v implicitno obliko: $$0.5x+y=17.5$$ Ker elimo dobiti enabo oblike $$Kx+20y$$, celotno enabo pomnnoimo z 20 in dobimo: $ $0.5x+y=17.5/cdot20$$ $$10x+20y=350$$ Naredimo sedaj isto e za primer na sliki 20, ko se premica namenske funkcije dotakne toke D: $$Cleft(15,10 ight),Dleft(20,0 ight)$$ $$k=

rac{left(0-10 ight)}{20-10}=-

rac{10}{5}=-2$$ $$y=-2x+40$$ $$2x+y=40$$ $$40x+20y=800$$ Ko si sedaj natanno pogledamo raezultate izraunov ugotovimo, da se koeficient pri x, torej dobiek pri proizvodnji belih tartufov lahko spreminja med 10 in 40 . e bi padel pod 10 ali zrasel nad 40, bi se reitev spremenila. V naem primeru ne bi ve izdelovali obeh vrst tartufov. e bi dobiek belih tartufov padel pod 10, bi izdelovali samo rne, e pa bi zrasel na 40 pa samo bele. Enako sedaj naredimo e za koeficiente pri y. Torej obe enabi, za primer, ko se premica dotika toke B in za primer, ko se dotika D, moramo preoblikovati tako, da dobimo enabo oblike $$30x+Ky$$, kjer bo K spremenjen koeficient pri y. Naredimo kot sledi: $$0.5x+y=17.5/cdot60$$ $$30x+60y=1050$$ in $$2x+y=40/cdot15$$ $$30x+15y=600$$ Tako ugotovimo, da se lahko dobiek pri izdelavi rnih tartufov giblje med 15 in 60 , optimalna reitev pa e vedno ostane ista.

(b) Analizo desnih strani neenakosti pri omejitvah Pri analizi obutljivosti desnih strani neenakosti pri omejitvah nas zanimata naslednja vpraanja:

Za koliko se spremeni vrednost namenske funkcije, e se desna stran neenakosti pri eni izmed aktivnih omejitev spremeni za eno enoto, vsi ostali parametri pa ostanejo enaki? Za koliko dodanih ali odvzetih enot na desni strani neenaaja bo izraunana sprememba na enoto ostala veljavna?

Pri analizi desnih strani neenakosti pri omejitvah moramo upotevati dejstvo, da vsaka sprememba desne strani aktivne omejitve povzroi spremembo vrednosti namenske funkcije, medtem pa sprememba neaktivne omejitve, ki je manja od ostanka ne povzroi nobene spremembe.

Slika 21: senna cena1. Izraunajmo najprej za koliko se spremeni vrednost namenske funkcije, e se desna stran neenakosti pri enem izmed pogojev spremeni za eno enoto. Omejitev izraeno s premico $ $2x+y=40$$ spremnimo tako, da desno stran enabe poveamo za 1. Tako dobimo novo reitev (glej sliko zgoraj) za kateri izraunamo vrednost namenske funkcije. To naredimo tako, da najprej izraunamo novo reitev, ki jo nato vstavimo v namensko funkcijo $ $30x+20y$$. Novo reitev nam predstavlja preseie premic $$2x+y=41$$ in $$x+2y=35$ $, ki ga izraunamo: $$2x+y=41$$ $$x+2y=35$$ $$2x+y=41$$ $$x+2y=35/cdot(-2)$$ $$2x+y=41$$ $$-2x-4y=-70$$ $$-3y=-29$$ Iz tega pa sledi, da je $$y=9.overline{66}$$

Ko y vstavimo v $$x+2y=35$$ dobimo, da je $$x=15.overline{66}$$ Iz tega vidimo, da je nova reitev $$C^{*}=15.overline{66},9.overline{66})$$. Koto vstavimo v namensko funkcijo dobimo vrednost $$30cdot15.overline{66}+20cdot9.overline{66}=663.33$$. Ko vrednost 663.33 priemerjamo z vrednostjo namenske finkcije pri prvotni reitevi vidimo, da je nova reitev bolja tono za 13.33. Vrednosti 13.33 pravimo senna cena, kar z drugimi besedami pomeni, da se vrednost namenske funkcije povea 13.33, e vrednost na desni strani enaaja pri danem pogoju zveamo za eno enoto. Sedaj pa se znajdemo pred vpraanjem do katere vrednosti lahko poveujemo as za opremljanje kozarcev, da ostane izraunana senna cena veljavna. Z drugimi besedami, do katere vrednosti se nam as za opremljanje kozarcev izplaa veati. e pogledamo na sliko zgoraj vidimo, da se nam to splaa do takrat, ko omejitev za as opremljanja kozarcev premaknemo tako dale, se le ta dotika toke E. V tem trenutku omejitev, ki smo jo sedaj spreminjali ne bo ve aktivna, saj je prela preko preseia omejitev $$y=0$$ in $ $x+2y=35$$ (zapustila je konveksen lik, ki ga tvorijo omejitve). e sedaj izraunamo enabo premice nae omejitve ugotovimo, da se je koeficient na desni strani neenabe poveal na 70 ($$2x+y=70$$, glej sliko zgoraj), dodatno veanje koeficienta pa se ne odraa na vrednosti namenske funkcije, saj reitev ostaja toka E.

Slika 22: senna cena2.

3.1.4 DUAL primarnega proizvodnega problema


K vsakemu linearnemu programu lahko priredimo dualni linearni program. Pojem dualnega linearnega programa bomo razloili na naslednjem primeru. Proizvodni problem TARTUFI I., ki smo ga pravkar reili glede na maksimalni isti dohodek od proizvedenih x kozarcev rnih in y kozarcev belih tartufov, v eni seriji,obravnavajmo e z drugega zornega kota. Proizvodnja eli tak proizvodni nart, pri katerem bo vrednost porabljenih resursov najmanja. Naj bo u vrednost (v denarnih enotah DE) ene ure uporabe stroja za polnjenje in v vrednost (v DE) ene ure uporabe stroja za opremljanje kozarcev, v proizvodnem procesu v katerem izdelajo 15 kozarcev belih tartufov in 10 kozarcev rnih tartufov in s tem doseejo maksimalni isti dohodek (650 DE). Pri izdelavi enega kozarca belih tartufov imajo porabljeni resursi vrednost u + 2v. Ker pa podjetje naj ne bi delalo z izgubo, ta vrednost ne more biti manja od istega dohodka enega kozarce belih tartufov, ki znaa30. Podobno razmiljamo pri izdelavi rnih tartufov. Skupni izdatek za resursov, ki jih podjetje potrebuje znaa 35u + 40v, pa naj bo im manji. Formalno pa velja, da iz primarnega dobimo dualnega tako, da matriko koeficientov v neenabah transponiramo, neenaaje obrnemo, maximum zamenjamo z minimumom, koeficienti ciljne funkcije postanejo omejitve v neenabah, omejitve pa koeficienti ciljne funkcije dualnega programa. V dualnem linearnem programu imamo toliko spremenljivk, kot imamo v primarnem omejitev, saj vsaki omejitvi primarnega linearnega programa pripada ena dualna spremenljivka. Vrednosti namenske funkcije primarnega in dualnega linearnega programa sta pri optimalni reitvi vedno isti. Torej tabelo problema, ki smo jo zapisali v 3.1transponiramo in dobimo: Polnjenje kozarcevOpremljanje kozarcevDobiek Beli tartufi 1 2 30 rni tartufi 2 1 20 Omejitve 35 40 stroki resursov u v Pri takem nainu nartovanja proizvodnje dobimo naslednji linearni program:

3.1.5 Grafino reevanje dualnega problema


Dualni linearni program lahko reimo grafino, ker imamo spet samo 2 neznanki, u in v.

Najprej v koordinatni sistem nariemo premice u + 2v 30, 2v + u 20, u 0 in v 0.

Slika 20: Grafina reitev dualnega problema.

Nato doloimo ekstremne toke in doloimo njihove koordinate. Iz slike je razvidno da velja: A(0,15) in C(10,0). Izraunati pa je potrebno e toko B. To naredi kot prej in sicer:

Tako dobimo e toko B( , ). Sedaj potrebno izraunati e vrednosti namenske funkcije v tem tokah.

Poglejmo si toko B poblije. Ker je u0, to pomeni, da so resursi za polnjenje kozarcev 100 izkorieni. Poveanje resursa za 1 enoto, nam bi povealo dobiek za uDE. e pa bi bil u v optimalni reitvi dualnega linearnega programa enak ni, pa resursi za polnjenje kozarcev ne bi bili izkorieni in poveanje kapacitet ne bi povealo dobika. Analogno velja za dualno spremenljivko v.

3.1.6 Reevanje proizvodnega problema z metodo simpleksov


V primeru, ko imamo v linearnem programu ve kot dve spremenljivki, pa grafina metoda odpove. Ena izmed metod, ki jo lahko uporabimo v tem primeru, je metoda simpleksov. Simpleksna metoda, katere zaetnik je bil Dantzig (Dantzig, 1963) pred dobrimi petdesetimi leti, je osredotoena na iskanje t.i. dopustnih reitev, ki jim ustreza enolino doloena ekstremna toka konveksnega lika monih reitev in e doloena baza vektorskega prostora, ki sestoji iz m linearno neodvisnih vektorjev. V bazi nato zamenjamo kak njen vektor s taknim, ki ga v bazi e ni, dobimo novo bazo in njej ustrezno ekstremno toko, ki ji ustreza nova vrednost namenske funkcije (Vadnal, 1977). Poiskati moramo seveda takno toko, kjer bo vrednost namenske funkcije optimalna (najveja oz. najmanja v maksimizacijskih oz. v minimizacijskih linearnih programih),premikamo pa se po mejah podroja dopustnih reitev. Metodo bomo predstavili na naslednjem zgledu:

Podjetje Tartuf d.o.o. pakira bele in rne tartufe namenjene zahtevnejim kupcem. Proizvodnja obeh vrst poteka v treh fazah: polnjenje kozarcev, zapiranje kozarcev in lepljenje nalepk na kozarce. Za kozarec belih tartufov potrebujejo 1 minuto za polnjenje, 2 minuti za zapiranje in 1 minuto za nalepko. Za kozarec rnih-tartufov pa potrebujejo 2 minuti za polnjenje, 1 minuto za zapiranje in 1 minuto za nalepko. Stroj, ki polni kozarce, je na razpolago 40 minut v vsaki uri; stroj, ki zapira kozarce je tudi na razpolago 40 minut v vsaki uri; stroj, ki lepi nalepke, pa je na razpolago le 25 minut v vsaki uri. Podjetje ima pri prodaji kozarca belih tartufov dobiek 30 in pri prodaji kozarca rnih tartufov 20 . Podjetje eli dosei im veji dobiek. Zdaj dobimo taken linearni program:

Reimo ta linearni program z metodo simpleksov. Reitev: V tem primeru doloamo maksimum namenske funkcije, neenabe v omejitvah so oblike .Zato postopamo tako: a) Neenabe s pomojo dopolnilnih spremenljivk pretvorimo v enabe:

b) Koeficiente sistema uredimo v zaetno simpleksno tabelo:

c) Poiemo pivotni element

izberemo stolpec, ki ima v prvi vrstici najmanjo vrednost (v naem primeru je to drugi stolpec);

izberemo vrstico: v vsaki (razen v prvi) vrstici izraunamo kolinik med vrednostjo v stolpcu b-jev in vrednostjo v izbranem stolpcu; izberemo tisto vrstico, v kateri je ta kolinik najmanji ( naem primeru je to tretja vrstica);

kriie izbrane vrstice in izbranega stolpca imenujemo pivot;

na mestu pivota ustvarimo enko tako, da celotno vrstico pomnoimo z primeru je to );

(v naem

na vseh ostalih mestih v izbranem stolpcu s pomojo linearnih transformacij ustvarimo nile (v naem primeru tretjo vrstico pomnoimo s 30 in jo pritejemo k prvi vrstici, tretjo vrstico pomnoimo z (-1) in jo pritejemo k drugi vrstici, tretjo vrstico pomnoimo z (-1) in jo pritejemo k zadnji vrstici).

d) Spet poiemo pivotni element:

izberemo stolpec, ki ima v prvi vrstici najmanjo vrednost (v naem primeru je to tretji stolpec);

izberemo vrstico: v vsaki (razen v prvi) vrstici izraunamo ustrezen kolinik in izberemo tisto vrstico, v kateri je ta kolinik najmanji (v naem primeru je to etrta vrstica);

kriie izbrane vrstice in izbranega stolpca imenujemo pivot;

na mestu pivota ustvarimo enko tako, da celotno vrstico pomnoimo z primeru etrto vrstico pomnoimo z 2);

(v naem

na vseh ostalih mestih v izbranem stolpcu s pomojo linearnih transformacij ustvarimo nile (v naem primeru etrto vrstico pomnoimo s 5 in jo pritejemo k prvi vrstici, etrto vrstico pomnoimo z (-32) in jo pritejemo k drugi vrstici, etrto vrstico pomnoimo z (-12) in jo pritejemo k tretji vrstici).

Opisan postopek ponavljamo, dokler so prvi vrstici negativne vrednosti. V naem primeru v prvi vrstici nive negativnih vrednosti, torej je postopek konan. Iz razirjene matrike preberemo reitev:

V zadnjem stolpcu prve vrstice preberemo maksimalno vrednost namenske funkcije: 650. V stolpcu, ki predstavlja spremenljivko x (drugi stolpec), poiemo enko. V naem primeru je enka v tretji vrstici. Zato vrednost spremenljivke x preberemo v zadnjem stolpcu tretje vrstice: x = 30.

V stolpcu, ki predstavlja spremenljivko y (tretji stolpec), poiemo enko. V naem primeru je enka v etrti vrstici. Zato vrednost spremenljivke y preberemo v zadnjem stolpcu etrte vrstice: y = 10.

To pomeni, da bo imelo podjetje Tartuf d.o.o. maksimalni dobiek v primeru, e bo zapakiralo x = 30 kozarcev belih in y = 10 kozarcev rnih tartufov na uro. Dobiek bo v tem primeru znaal f = 650.

Postopek reevanja linearnega programa lahko v nekaj vrsticah zapiemo tako: 1 Neenabe s pomojo dopolnilnih spremenljivk pretvorimo v enabe. 2 Koeficiente sistema uredimo v zaetno simpleksno tabelo. 3 Poiemo pivotni element. 4 Izberemo stolpec, ki ima v prvi vrstici najmanjo vrednost. 5 Izberemo vrstico pri kateri je kolinik med vrednostjo v stolpcu b in vrednostjo v prejnji vrstici izbranem stolpcu najmanji. 6 Kriie izbrane vrstice in izbranega stolpca imenujemo pivot. 7 Na mestu pivota s pomojo linearnih transformacij ustvarimo enko. 8 Na vseh ostalih mestih v izbranem stolpcu s pomojo linearnih transformacij ustvarimo nile. 9 Poiemo naslednji pivotni element in postopek ponavljamo, dokler so prvi vrstici negativne vrednosti.

3.1.7 Reevanje proizvodnega problema s pomojo raunalnikega programa LINGO


Linearne programe, v katerih nastopata le dve spremenljivki, najpogosteje reujemo grafino. e je v linearnem programu ve spremenljivk, se lahko reevanja lotimo z metodo simpleksov. Precej asa pa prihranimo, e se lotimo reevanja s pomojo kaknega raunalnikega programa. V tem poglavju se bomo nauili, kako reimo linearni program s pomojo programa LINGO. LINGO je celovito orodje za izgradnjo in reevanje razlinih optimizacijskih modelov. Ve o Tem kar LINGO zna in zmore bomo govorili v enem izmed naslednjih poglavij, za zdaj pa naj bo dovolj to, kar bomo spoznali sproti.

Zgled: Vzemimo za zgled problem TARTUFI II., za katerega smo formulirali naslednji linearni program:

Reimo ta linearni program s pomojo programa LINGO. Reitev: Podatke zapiimo v ustrezni obliki za program LINGO. Najprej namensko funkcijo, nato pa e pogoje.

Slika 21: 35 Program LINGO nam izpie reitev linearnega programa v takni obliki:

Slika 22: 36

V vrstici Objective value preberemo optimalno vrednost namenske funkcije. V naem primeru je to 650. To pomeni, da maksimalni dobiek podjetja Tartuf d.o.o. pri pakiranju belih in rnih tartufov v eni uri znaa 650 . V stolpcu Value (vrednost) preberemo vrednosti spremenljivk x = 15 in y = 10. To pomeni, da mora podjetje v eni uri zapakirati 15 kozarcev belih in 10 kozarcev rnih tartufov. V stolpcu Reduced Cost (reducirani stroek) preberemo, za koliko bi bilo potrebno spremeniti vrednost koeficienta ustrezne spremenljivke v namenski funkciji (v naem primeru to pomeni, za koliko bi se moral poveati dobiek pri pakiranju posameznega izdelka: belih ali rnih tartufov), da bi se tudi ta pojavila v optimalni reitvi. V naem primeru se obe spremenljivki pojavita v optimalni reitvi, zato je reducirani stroek pri obeh spremenljivkah enak 0. V stolpcu Slack or Surplus (pomanjkanje ali preseek) preberemo, za koliko bi bilo potrebno levo stran v omejitvenih neenabah poveati ali zmanjati, da bi namesto neenab dobili enabe. Ko imamo neenabe oblike je to Surplus (preseek). V prvi vrstici se e enkrat pojavi optimalna vrednost namenske funkcije. V naem primeru imamo v drugi vrstici vrednost 5, torej je preseek pri polnjenju kozarcev enak 5. To pomeni, da stroj za polnjenje kozarcev ni 100 izkorien, ampak v vsaki uri 5 minut ne obratuje. V tretji in etrti vrstici pa sta vrednosti pri Surplus enaki 0. To pomeni, da sta stroja za zapiranje kozarcev in lepljenje nalepk 100 % izkoriena. V stolpcu Dual price (dualna cena) preberemo, za koliko bi se spremenila optimalna vrednost namenske funkcije, e bi se omejitev v ustrezni neenabi poveala za eno enoto. Pri neenabah oblike je dualna cena vedno nenegativna. V prvi vrstici dualne cene ni smiselno brati, saj je vedno 1 (to pove: e bi vrednost namenske funkcije poveali za 1, bi se optimalna vrednost namenske funkcije poveala za 1). V drugi vrstici je dualna cena enaka 0. To pomeni, da se v primeru, e bi bil stroj za polnjenje kozarcev na razpolago 1 minuto ve (torej 41 minut v vsaki uri), optimalna vrednost namenske funkcije ne bi spremenila.

Preverimo, ali je to res. V program LINGO vstavimo naslednje podatke:

Slika 23: 37 Dobimo takno reitev:

Slika 24: 38 Optimalna vrednost namenske funkcije je res ostala enaka. V tretji vrstici je dualna cena enaka 10. To pomeni, da bi se v primeru, e bi bil stroj za zapiranje kozarcev na razpolago 1 minuto ve (torej 41 minut v vsaki uri), optimalna vrednost namenske funkcije poveala za 10 . Nova optimalna vrednost namenske funkcije bi v tem primeru bila enaka 660 . Preverimo, ali je to res. V program LINGO vstavimo naslednje podatke:

Slika 25: 39 Dobimo takno reitev:

Slika 26: 40

Optimalna vrednost namenske funkcije se je res poveala za 10 (iz 650 na 660 ). V etrti vrstici je dualna cena tudi enaka 10 . To pomeni, da bi se v primeru, e bi bil stroj za lepljenje nalepk na razpolago 1 minuto ve (torej 26 minut v vsaki uri), optimalna vrednost namenske funkcije poveala za 10 . Nova optimalna vrednost namenske funkcije bi v tem primeru bila enaka 660 . Preverimo, ali je to res. V program LINGO vstavimo naslednje podatke:

Slika 27: 41 Dobimo takno reitev:

Slika 28: 42 Optimalna vrednost namenske funkcije se je res poveala za 10 (iz 650 na 660 ).

3.1.8 Analiza obutljivosti opravljena s pomojo raunalnikega programa LINGO

Oglejmi si poroilo, ki ga izdela LINGO, ko zahtevamo, da nam naredi analizo obutljivosti. Poglejmo si spremenljivko $X1$, ekvivalentno spremnljivki $y$ v poglavju o grafinem reevanju. Vidimo, da je njen koeficient v namenski funkciji enak 30, poveamo ga lahko za 10 in zmanjamo za 20. Kar pa je popolnoma enako, kot smo e izraunali (poii reitev v prejnjih poglavjih). Enako ugotovimo za koeficient pri spremnljivki $X2$ (prej $y$).

Tudi pri analizi desnih strani neenakosti ugotovimo isto. Ko smo veali vrednost asa za opremljanje kozarcev iz 40 smo ugotovili, da se nam to vrednost izpla poveevati do 70. V LINGO poroilu je to prikazano kot dovoljeno poveanje za 30. Tudi dovoljeno zmanjanje za 22, 5 je prikazano v poroilu (tega prej nismo izraunali). Isto analizo lahko iz poroila preberemo tudi za drugo omejitev.

Ranges in which the basis is unchanged: Objective Coefficient Ranges: Current Allowable Allowable Variable Coefficient Increase Decrease X1 30.00000 10.00000 20.00000 X2 20.00000 40.00000 5.000000 Righthand Side Ranges: Current Allowable Allowable Row RHS Increase Decrease MES 35.00000 45.00000 15.00000 DEST 40.00000 30.00000 22.50000 Slika 32: Analiza obutljivosti z LINGO-m.

3.2. Primeri in naloge za proizvodni problem


Odgovore na vsa vpraanja smo zgoraj poiskali s pomojo grafine metode. V nadaljevanju bomo pokazali, kako poiemo reitev danega linearnega problema s programom LINGO. Da si osveimo spomin, si e enkrat oglejmo kako izgleda linearni program, ki ga obravnavamo: [ maxf(x,y)=130x+90y ] [ 100x+80yleq 10.000 ] [ 5x+3yleq 420 ] [ xgeq 0,yleq 0. ] S spodnje slike je razvidna sintaksa, ki jo je potrebno vpisati v program LINGO, da nam bo le-ta podal reitev.

Slika 33: S spodnje slike, ki jo program LINGO poda kot reitev danega linearnega programa, lahko odgovorimo na veino vpraanj, na katera smo zgoraj e odgovorili.

Slika 34: Iz vrstice Objective value lahko preberemo optimalno vrednost namenske funkcije, ki znaa 11.880, ki jo doseemo pri 36 izdelkih 1. kvalitete (vrstica x) in 80 izdelkih 2. kvalitete (vrstica y). Ker sta vrednosti v stolpcu Slack or Surplus v vrsticah omejitev surovin in omejitev asa enaki 0, lahko sklepamo, da so vse surovine in ves as 100 % izkorieni. Vrednosti v stolpcu Dual price nam povesta, da se vrednost namenske funkcije spremeni za 0,6 (), e se omejitev surovin spremeni za 1 (kg) oz. za 14 (), e se omejitev asa spremeni za 1 (uro).

Slika 35: Na zgornji sliki pa se skrivajo odgovori e na vpraanja, ki se tiejo koeficientov namenske funkcije in koeficientov desnih strani neenab omejitev. V vrstici Objective Coefficient Ranges lahko preberemo, da se koeficient spremenljivke x v namenski funkciji, ki znaa trenutno 130, lahko povea za 20 (Allowable Increase) ali zmanja za 17,5 (Allowable d Decrease), da se reitev linearnega programa ne spremeni. ZPri spremenljivki y lahko koeficient poveamo najve za 14 in pomanjamo za 12. Iz spodnje tabele na zgornji sliki (Righthand Side Ranges ) lahko preberemo za koliko se lahko spremenijo desne strani neenab, da bodo veljale spremembe namenske funkcije, kot smo zapisali zgoraj. Desna stran pri neenabi za omejitve surovin znaa trenutno 10000 (Current RHS) in se lahko najve povea za 1200 (Allowable Increase) ali pomanja za 1600 (Allowable Decrease). Podobno lahko preberemo, da se v neenabi za omejitev asa desna stran povea najve za 80 in pomanja za 45.

3.3. Prehrambeni problem ali problem meanja


Prehrambeni problem ali problem meanja, bomo imenovali tiste vrste problemov kjer iskali zmes, za izdelavo katere bodo stroki najmanji. Torej islai bomo minimum namenske funkcije. Oglejmo si naslednji primer: Problem 21.DVD-ji in ROMANI Na novoletni razprodaji so ponujali pakete knjig in DVD-jev. Leposlovni paket vsebuje 6 romanov in 3 DVD-je in stane 60 . Romantini paket pa vsebuje 2 romana in 6 DVD-jev in stane 100 . Andrej eli kupiti vsaj 28 romanov in 24 DVD-jev. Pri nakupu pa eli imeti im manje stroke. Reitev:

Najprej uredimo dane podatke v preglednico: leposlovni romantini omejitve romani 6 2 28 DVD-ji 3 6 24 stroek 60 100 koliina paketov x y Postopek je enak kot v primeru TARTUFI I. in II. 1 Formuliramo linearni program 2 Doloimo namensko funkcijo 3 Doloimo omejitve 4 Reimo linearni program

a) Doloimo namensko funkcijo. Namenska funkcija predstavlja skupni stroek pri nakupu leposlovnih in romantinih paketov.

Stroek z nakupom enega leposlovnega paketa je 60, torej je stroek z nakupom x leposlovnih paketov 60x. Stroek z nakupom enega romantinega paketa je 100, torej je stroek z nakupom y romantinih paketov 100y.

Zato je stroek z nakupom x leposlovnih paketov in y romantinih paketov enak 60x + 100y. Ker iemo najnije stroke nakupa, moramo poiskati minimum namenske funkcije. Tako dobimo namensko funkcijo

b) Doloimo omejitve:

Romani: o V enem leposlovnem paketu je 6 romanov, torej je v x leposlovnih paketih 6x romanov. o V enem romantinem paketu sta 2 romana, torej je v y romantinih paketih 2y romanov. o Zato je v x leposlovnih in v y romantinih paketih skupaj 6x + 2y romanov. Ker elimo kupiti vsaj 28 romanov, je

DVD-ji: o V enem leposlovnem paketu so 3 DVD-ji, torej je v x leposlovnih paketih 3x DVD-jev. o V enem romantinem paketu je 6 DVD-jev, torej je v y romantinih paketih 6y DVD-jev. o Zato je v x leposlovnih in v y romantinih paketih skupaj 3x + 6y DVD-jev. Ker elimo kupiti vsaj 24 DVD-jev, velja

Pogoj nenegativnosti

V naem primeru imamo le dve spremenljivki, torej:

Linearni program danega problema je torej naslednji:

3.3.1 Grafino reevanje prehrambenega problema


Kot smo spoznali v prejnjih poglavjih lahko probleme linearnega programiranja, v katerih nastopata le dve spremenljivki, reimo z grafino metodo. Za zgled vzemimo problem DVD-ji in ROMANI. Tam smo formulirali naslednji linearni program:

Reimo ta linearni program z grafino metodo po naslednjem postopku: 1 V koordinatni sistem nariemo mnoico vseh reitev sistema linearnih neenab sestavljenega iz omejitev in pogojev nenegativnosti.

2 Doloimo koordinate ekstremnih tok. 3 Ugotovimo toko (grafino ali raunsko) v kateri se pojavi maksimum (minimum) namenske funkcije. 4 Izraunamo maksimum ( minimum) namenske funkcije.

Reitev: V koordinatni sistem nariimo mnoico vseh reitev sistema linearnih neenab, ki ga sestavljajo omejitve in pogoj nenegativnosti v linearnem programu:

Slika 29: slika31 Mnoica vseh reitev danega sistema je pobarvana konveksna mnoica. Namenska funkcija f(x,y) = 60x + 100y dosee minimum v eni od ekstremnih tok (ogli) konveksnega lika. V kateri, pa lahko spet ugotovimo doloimo na raunski ali grafini nain.

a) Raunski nain

Doloimo koordinate vseh ogli konveksne mnoice tok:

Toko B pa moramo izraunati. B je preseie premic 6x + 2y = 28 in 3x + 6y = 24. Iz prve enabe izrazimo y = 14 - 3x in ga vstavimo v drugo enabo:

Dobljeno vrednost pa vstavimo v y = 14 - 3x = 14 - 3 4 = 2. Torej:

Izraunajmo vrednost namenske funkcije f(x,y) = 60x + 100y v vsakem ogliu konveksnega lika:

Doloimo minimum namenske funkcije:

Namenska funkcija dosee minimalno vrednost 440 v toki B(4,2). To pomeni, da bo imel Andrej najmanje stroke, e bo kupil 4 leposlovne in 2 romantina paketa. Stroki bodo v tem primeru znaali 440 .

b) Grafini nain

V koordinatni sistem s konveksno mnoico nariimo e (rdeo) premico z enabo f(x,y) = 0, torej 60x + 100y = 0. Ker iemo minimum namenske funkcije, moramo to premico vzporedno premakniti im nije, vendar tako, da bo imela s konveksno mnoico vsaj eno skupno toko.

Slika 30: Mnoica reitev sistema linearnih neenab. Minimum se pojavi v toki B. Vzporednica rdee premice z zgoraj opisanimi lastnostmi se konveksne mnoice dotika v toki B. To pomeni, da namenska funkcija dosee minimum v toki B. Izraunajmo koordinate toke B. Toka B je preseie premic 6x + 2y = 28 in 3x + 6y = 24. Iz prve enabe izrazimo y = 14 - 3x in ga vstavimo v drugo enabo:

Dobljeno vrednost pa vstavimo v y = 14 - 3x = 14 - 3 4 = 2. Torej je toka B(4,2). Torej je minimum namenske funkcije enak f(B) = 60 14 + 100 2 = 440. To pomeni, da bo imel Andrej najmanje stroke, e bo kupil 4 leposlovne in 2 romantina paketa. Stroki bodo v tem primeru znaali 440 .

3.3.2 Analiza obutljivosti optimalne reitve prehrambenega problema

(a) Analiza koeficientov namenske funkcije Podobno kot smo analizirali obutljivost optimalne reitve proizvodnega problema, bomo sedaj analizirali reitev prehrambenega modela. Najprej bomo naredili analizi koeficientov namenske funkcije, nato pa e analizo desnih strani neenakosti v omejitvah. Povedali smo e, da ostaja optimalna reitev linearnega programa optimalna navkljub spremembi koeficientov tako dolgo, dokler se posamezni koeficient nahaja v t.i. obmoju optimalnosti. Na spodnji sliki je predstavljena grafina reitev danega prehrambenega problema. Iz slike je razvidno, da dosee namenska funkcija minimum (440) v toki B.

Slika 38: e spreminjamo koeficiente v enabi namenske funkcije, se bo spreminjal naklon premice. e je premica $y=-0,6x+4,4$,(ali v implicitni obliki $60x+100y-440=0$), ki poteka skozi toko B in predstavlja prestavljeni graf namenske funkcije, vedno bolj strma, se v doloenem trenutku dotakne toke A (slika 2). Sedaj toka B ni ve edina optimalna reitev problema. V optimalno reitev vstopa tudi toka A in vse toke med njima. Z vsakim nadaljnim zasukom postane toka A edina optimalna reitev danega linearnega programa.

Slika 39: Podobno se zgodi, e pa je premica vedno bolj polona. V doloenem trenutku se dotakne toke C. Sedaj predstavljajo optimalne reitve vse toke, ki leijo na premici med B in C (slika 3). Z vsakim nadaljnim zasukom postane toka C edina optimalna reitev danega linearnega programa.

Slika 40: S spreminjanjem naklona premice, ki predstavlja graf namenske funkcije, smo dosegli to, da smo spremenili optimalno reitev danega linearnega programa. Sprememba naklona premice pa pomeni spremembo koeficientov enabe namenske funkcije. V nadaljevanju bomo razmiljali ravno v nasprotni smeri. Iskali bomo takne nove vrednosti koeficientov namenske funkcije, da se optimalna reitev ne bo spremenila. Tako bomo ugotovili, za koliko se lahko spremeni doloeni koeficient v namenski funkciji, da bo le-ta e vedno ostal v obmoju optimalnost in da bo optimalna reitev navkljub tej spremembi ostala enaka. Posvetimo se najprej koeficientu spremenljivke $x$, ko premica postaja vedno bolj strma. Izraunajmo vrednost tega koeficienta za primer, ko premica poteka skozi toko A (in seveda B). elimo poiskati novo vrednost koeficienta $K$ in prostega lena $n$ v enabi $y=Kx+n$. Uporabimo enabo za izraun koeficienta premice, ki poteka skozi dve toki: [ K=

rac{y_{2}-y_{1}}{x_{2}-x_{1}}, ] kjer so $x_{1}$, $y_{1}$, $x_{2}$ in $y_{2}$ koordinate tok A in B. K je torej [ K=

rac{2-14}{4-0}=-

rac{12}{4}=-3. ] S slike 2 je razvidno, da premica iskane namenske funkcije seka $y$ os v 14, zato je prosti len $n=14$. Sedaj lahko zapiemo enabi iskane premice skizi toki A in B: [ y=-3x+14, ] ki jo preoblikujemo v implicitno obliko [ 3x+y-14=0 ] in pomnoimo s 100, da ostane koeficient spremenljivke $y$ nespremenjen. Dobimo enabo [ 300x+100y-1400=0, ] iz katere lahko razberemo novi (najveji) koeficient spremenljivke $x$ v namenski funkciji. e bo $Kleq 300$, bo toka B e vedno ostala ena izmed optimalnih reitev linearnega programa. e bo $K < 300$, bo B edina optimalna reitev. Naredimo zelo podoben izraun e enkrat, da dobimo minimalno vrednost koeficienta $K$, pri katerem bo B ostala optimalna reitev. Sedaj iemo enabo premice, ki poteka skozi toki B in C. Najprej izraunajmo njen smerni koeficient [ K=

rac{y_{2}-y_{1}}{x_{2}-x_{1}}, ] le da so tokrat $x_{1}$, $y_{1}$, $x_{2}$ in $y_{2}$ koordinate tok C in B. K je torej [ K=

rac{0-2}{8-4}=-

rac{2}{4}=-

rac{1}{2}. ] Ker seka iskana premica $y$ v 4 (slika 3), znaa tokrat prosti len $n=4$. Zapiemo premico [ y=-

rac{1}{2}x+4, ] ki jo preoblikujemo v implicitno obliko in pomnoimo s 100: [

rac{1}{2}x+y-4=0 ] [ 50x+100y-400=0. ] Razberemo lahko najmanji koeficient spremenljivke $x$ v namenski funkciji. e bo $Kgeq 50$, bo toka B e vedno ostala ena izmed optimalnih reitev linearnega programa. e bo $K > 50$, bo B edina optimalna reitev. Dobljeni rezultati nam povedo, da se koeficient pri $x$, torej stroek leposlovnega paketa, lahko spreminja med 50 in 175. e bi padel pod 50 ali narasel nad 175, bi se reitev linearnega programa spremenila. e bi $x$ narasel nad 175, toka B ne bi bila ve optimalna reitev, ampak bi to postala toka A. Ker je v tem primeru leposlovnemu paketu cena narasla preve, kupimo le romantine pakete, da ob danih omejitvah doseemo minimalne stroke. Po drugi strani nam dobljena reitev pove, da e pade $x$ pod 50, se optimalna reitev prestavi v toko C, torej imamo minimalne stroke, e kupimo le leposlovne pakete. Enak postopek bomo uporabili e enkrat, da bomo ugotovili, kako sprememba koeficienta pred spremenljivko $y$ v namenski funkciji (ob stalnem koeficientu pred $x$, to je 60), vpliva na optimalno reitev. Najprej preoblikujmo enabo $3x+y-14=0$, katere graf poteka skozi toki A in B. Pomnoiti jo je potrebno z 20, da pred $x$-om dobimo koeficient 60: [ 60x+20y-280=0. ] Dobili smo minimalno vrednost koeficienta pred $y$ in sicer 20. Preoblikujmo e enabo $

rac{1}{2}x+y-4=0$ , ki poteka skozi toki B in C. Ker elimo, da ima $x$ koeficient 60, je potrebno enabo pomnoiti s 120. Dobimo [ 60x+120y-480=0. ] Dobili smo maksimalno vrednost koeficienta pred $y$ in sicer 120. Ugotovili smo, da se mora stroek za romantini komplet gibati med 20 in 120, e elimo, da se reitev (toka B) ne bo spremenila. e koeficient pred $y$ pade pod 20, postane optimalna reitev toka A; za minimalne stroke kupimo izkljuno romantine komplete. e koeficient pred $y$ naraste nad 120, postane optimalna reitev toka C; za minimalne stroke kupimo izkljuno leposlovne komplete. (b) Analiza desnih strani neenakosti pri omejitvah e v poglavju o proizvodnih problemih smo zapisali, da to analizo delamo na dveh nivojih. Tako bomo tudi tukaj najprej izraunali, za koliko se spremeni vrednost namenske funkcije, e se desna stran neenakosti pri eni izmed omejitev spremeni za eno enoto (ostali parametri pa ostanejo enaki). Najprej poglejmo omejitev $6x+2ygeq 28$ (omejitev tevila romanov). Poveajmo desno stran neenabe za 1, da dobimo $6x+2ygeq 29$ in izraunajmo novo vrednost namenske funkcije v novi reitvi, ki jo predstavlja toka B (slika 4).

Slika 41:

Koordinate toke B dobimo tako, da izraunamo preseie premic $6x+2y=29$ in $3x+6y=24$. [ 6x+2y=29 ] [ 3x+6y=24setminus cdot (-2) ] [ 6x+2y=29 ] [ underline{-6x-12y=-48} ] [ -10y=-19 ] [ y=1,9 ] Dobljeno vrednost vstavimo v eno izmed enab, npr $6x+2y=29$, da dobimo $6x+2cdot 1,9=29$ oz. $x=4,2$. Izraunali smo koordinate toke $B(4,2,1,9)$, ki jo bomo vstavili v namensko funkcijo. [ f=60x+100y ] [ f(B)=60cdot 4,2+100cdot 1,9=442 ] e vemo, da je bila prvotna optimalna vrednost namenske funkcije (v toki B) enaka 440, lahko enostavno izraunamo, da se pri spremembi desne strani omejitve $6x+2y=28$ za eno enoto, vrednost namenske funkcije spremeni za 2 enoti (iz 440 na 442). e se omejitev povea, se tudi vrednost namenske funkcije povea. To je seveda logino, saj pri poveanju tevila romanov, priakujemo vije stroke. Sedaj se postavlja e drugo vpraanje, namre za koliko dodanih ali odvzetih enot na desni strani neenaaja, bo izraunana sprememba ostala veljavna. Iz slike 5 je razvidno, da lahko prestavljamo premico, ki predstavlja omejitev $6x+2y=28$ proti desni le tako dale, da poteka skozi toko C, proti levi pa tako dale, da poteka skozi toko D.

Slika 42: Enabo prestavljene premice, ki poteka skozi toko D dobimo tako, da najprej prvotno enabo $6x+2y=28$ preoblikujemo v eksplicitno obliko in dobimo $y=-3x+14$, da lahko preberemo smerni koeficient. Ker sta premici vzporedni imata enak smerni koeficient (to je -3), zaetno vrednost $n$ pa dobimo tako, da upotevamo, da poteka premaknjena premica skozi toko D(0, 4). Velja [ y=-3x+n ] [ 4=-3cdot 0+n ] [ n=4 ] Enaba prestavljene premice, ki poteka skozi toko D, se v eksplicitni obliki glasi $y=-3x+4$, v implicitni pa $3x+y-4=0$. Enabo bomo preuredili, tako da bo zapis podoben zaetnemu ($6x+2y=28$ ). Torej jo bomo pomnoili z 2 in preuredili lene, da dobimo $6x+2y=8$. e primerjamo desne strani enabe zaetne omejitve in prestavljene premice, vidimo, da se je ta desna stran iz 28 zmanjala na 8. To je tudi minimalna vrednost na katero lahko zmanjamo desno stran te neenabe $6x+2y=28$, ki predstavlja omejitev romanov, da bo v prejnjem poglavju izraunanja sprememba vrednosti namenske funkcije pri spremembi desne strani neenabe, e veljavna. Tudi premica ki poteka skozi toko C ima smerni koeficient -3, potrebujemo le e njeno zaetno vrednost $n$. Slednjo dobimo tako, da upotevamo, da poteka premaknjena premica skozi toko C(8, 0). Velja

[ y=-3x+n ] [ 0=-3cdot 8+n ] [ n=24 ] Enaba prestavljene premice, ki poteka skozi toko C, se v eksplicitni obliki glasi $y=3x+24$, v implicitni pa $3x+y-24=0$. Enabo bomo preuredili tako, da bo zapis podoben zaetnemu ($6x+2y=28$ ). Torej jo bomo pomnoili z 2 in preuredili lene, da dobimo $6x+2y=48$. e primerjamo desne strani enabe zaetne omejitve in prestavljene premice, vidimo, da se je ta desna stran iz 28 poveala na 48. To je tudi minimalna vrednost na katero lahko poveamo desno stran te neenabe $6x+2y=28$, ki predstavlja omejitev romanov, da bo v prejnjem poglavju izraunanja sprememba vrednosti namenske funkcije pri spremembi desne strani neenabe, e veljavna.

3.3.3 DUAL prehrambenega problema


Tudi tukaj nas zanima ali smo izkoristili vse razpololjive vire zato torej razmislimo e o dualnem programu. V primarnem programu smo se vpraali po takem izboru leposlovnih in romantinih kompletov, da je skupna nabavna cena najmanja. leposlovni romantini omejitve romani 6 3 60 DVD-ji 2 6 100 stroek 28 24 u v Lahko pa elimo, da bo tevilo nabavljenih knjig in DVD-jev najveje, kar je zahteva v dualnem linearnem programu. Vrednost dualne spremenljivke predstavlja torej tevilo nabavljenih knjig in DVD-jev. Ker imamo v primarnem linearnem programu dve omejitvi (zahtevi), imamo v dualnem torej dve spremenljivki u in v. u je torej tevilo knjig in v je tevilo nabavljenih DVD-jev. tevilo kupljenih knjig, naj ne bo veja od omejitve 28, torej 6u + 2v 28. Analogno sklepamo e za DVD-je in dobimo naslednji dualni program:

3.3.4 Reevanje prehrambenega problema z metodo simpleksov


Poglejmo si e enkrat Andrejevo kupovanje leposlovnih in romantinih paketov (problem DVD-ji in ROMANI). Za linearni program:

iemo minimum namenske funkcije. Ta linearni program reimo z metodo simpleksov.

Reitev: V tem primeru doloamo minimum namenske funkcije, neenabe v omejitvah pa so oblike . Zato se postopek v nekaterih korakih razlikuje od postopka v prejnjem zgledu. a) Neenabi s pomojo dopolnilnih spremenljivk pretvorimo v enabi:

b) Uvedemo umetne spremenljivke, ki jim doloimo neko zelo veliko vrednost M. (Tej metodi reemo metoda velikega M-ja.)

Za M vzemimo npr. dvakratnik najvejega koeficienta v namenski funkciji: M = 2 100 = 200.

c) S pomojo linearnih transformacij preoblikujemo prvo vrstico tako, da bosta koeficienta pred umetnima spremenljivkama enaka 0. Drugo vrstico, pomnoeno z M (v naem primeru je to 200), pritejemo k prvi vrstici, ostale vrstice pa prepiemo.

Tretjo vrstico, pomnoimo z M (v naem primeru je to 200), pritejemo k prvi vrstici, ostale vrstice pa prepiemo.

d) Koeficiente sistema uredimo v zaetno simpleksno tabelo

e) Poiemo pivotni element:

izberemo stolpec, ki ima v prvi vrstici najvejo vrednost (v naem primeru je to drugi stolpec);

izberemo vrstico: v vsaki (razen v prvi) vrstici izraunamo kolinik med vrednostjo v stolpcu b-jev in vrednostjo v izbranem stolpcu; izberemo tisto vrstico, v kateri je ta kolinik najmanji (v naem primeru je to druga vrstica);

kriie izbrane vrstice in izbranega stolpca imenujemo pivot;

na mestu pivota ustvarimo enko tako, da celotno vrstico pomnoimo z primeru je to );

(v naem

na vseh ostalih mestih v izbranem stolpcu s pomojo linearnih transformacij ustvarimo nile (v naem primeru drugo vrstico pomnoimo z (-1740) in jo pritejemo k prvi vrstici, drugo vrstico pomnoimo z (-3) in jo pritejemo k tretji vrstici.

f) Spet poiemo pivotni element:

izberemo stolpec, ki ima v prvi vrstici najvejo vrednost (v naem primeru je to tretji stolpec);

izberemo vrstico: v vsaki (razen v prvi) vrstici izraunamo ustrezen kolinik in izberemo tisto vrstico, v kateri je ta kolinik najmanji (v naem primeru je to tretja vrstica);

kriie izbrane vrstice in izbranega stolpca imenujemo pivot;

na mestu pivota ustvarimo enko tako, da celotno vrstico pomnoimo z primeru tretjo vrstico pomnoimo z );

(v naem

na vseh ostalih mestih v izbranem stolpcu s pomojo linearnih transformacij ustvarimo nile (v naem primeru tretjo vrstico pomnoimo z (-920) in jo pritejemo k prvi vrstici, tretjo vrstico pomnoimo z (-115) in jo pritejemo k drugi vrstici.

Opisan postopek ponavljamo, dokler so prvi vrstici (razen na prvem in zadnjem mestu) pozitivne vrednosti. V naem primeru v prvi vrstici (razen na prvem in zadnjem mestu) ni ve pozitivnih vrednosti, torej je postopek konan. Iz razirjene matrike preberemo reitev:

V zadnjem stolpcu prve vrstice preberemo minimalno vrednost namenske funkcije: 440. V stolpcu, ki predstavlja spremenljivko x (drugi stolpec), poiemo enko. V naem primeru je enka v drugi vrstici. Zato vrednost spremenljivke x preberemo v zadnjem stolpcu druge vrstice: x = 4.

V stolpcu, ki predstavlja spremenljivko y (tretji stolpec), poiemo enko. V naem primeru je enka v tretji vrstici. Zato vrednost spremenljivke y preberemo v zadnjem stolpcu tretje vrstice: y = 2.

To pomeni, da bo imel Andrej minimalne stroke v primeru, e bo kupil x = 4 leposlovne pakete in y = 2 romantina paketa. Stroki bodo v tem primeru znaali 440 .

Primer: Izvedimo simpleksno metodo na primeru podjetja Tartuf d.o.o. e enkrat.Ta primer smo zgoraj e reili, tukaj pa ga reimo na malo drugaen nain.

3.3.5 Reevanje prehrambenega problema s pomojo raunalnikega programa LINGO


Spet za zgled vzemimo problem DVD-ji in ROMANI. Zanj smo formulirali naslednji linearni program:

Reimo ta linearni program s pomojo programa LINGO.

Reitev: Podatke zapiimo v ustrezni obliki za program LINGO.

Slika 32: 43 Program LINGO nam izpie reitev linearnega programa v takni obliki:

Slika 33: 44

V vrstici Objective value preberemo optimalno vrednost namenske funkcije. V naem primeru je to 440. To pomeni, da minimalni Andrejevi stroki pri nakupu znaajo 440 . V stolpcu Value (vrednost) preberemo vrednosti spremenljivk x = 4 in y = 2. To pomeni, da mora Andrej kupiti 4 leposlovne pakete in 2 romantina paketa. V stolpcu Reduced Cost (reducirani stroek) preberemo, za koliko bi bilo potrebno spremeniti vrednost koeficienta ustrezne spremenljivke v namenski funkciji (v naem primeru to pomeni, za koliko bi se morala zmanjati cena posameznega izdelka: leposlovnega ali romantinega paketa), da bi se tudi ta pojavila v optimalni reitvi. V naem primeru se obe spremenljivki pojavita v optimalni reitvi, zato je reducirani stroek pri obeh spremenljivkah enak 0. V stolpcu Slack or Surplus (pomanjkanje ali preseek) preberemo, za koliko bi bilo potrebno levo stran v omejitvenih neenabah poveati ali zmanjati, da bi namesto neenab dobili enabe. Ko imamo neenabe oblike je to Slack (pomanjkanje). V prvi vrstici se e enkrat pojavi optimalna vrednost namenske funkcije. V drugi in tretji vrstici sta v naem primeru vrednosti pri Slack enaki 0. To pomeni, da bomo kupili ravno toliko knjig in DVD-jev, kot jih potrebujemo.

V stolpcu Dual price (dualna cena) preberemo, za koliko bi se spremenila optimalna vrednost namenske funkcije, e bi se omejitev v ustrezni neenabi poveala za eno enoto. Pri neenabah oblike je dualna cena vedno negativna ali 0. V prvi vrstici dualne cene ni smiselno brati, saj je vedno -1 (to pove: e bi vrednost namenske funkcije zmanjali za 1, bi se optimalna vrednost namenske funkcije zmanjala za 1). V drugi vrstici je dualna cena enaka -2. To pomeni, da bi se v primeru, e bi eleli kupiti eno knjigo manj (torej 27 namesto 28), optimalna vrednost namenske funkcije zmanjala za 2. Plaali bi torej 438 (namesto 440 ). Preverimo, ali je to res.

V program LINGO vstavimo naslednje podatke:

Slika 34: 45 Dobimo takno reitev:

Slika 35: 46 Optimalna vrednost namenske funkcije se je res zmanjala za 2 (iz 440 na 438 ). V tretji vrstici je dualna cena enaka (-16). To pomeni, da bi se v primeru, e bi eleli kupiti en DVD manj (torej 23 namesto 24), optimalna vrednost namenske funkcije zmanjala za 16. Plaali bi torej 424 (namesto 440 ). Tudi to preverimo, ali je res. V program LINGO vstavimo naslednje podatke:

Slika 36: 47 Dobimo takno reitev:

Slika 37: 48 Optimalna vrednost namenske funkcije se je res zmanjala za 16 (iz 440 na 424 ).

3.4. Transportni problem


Eden izmed problemov linearnega programiranja je transportni problem. To je problem, v katerem doloamo, kako moramo usmeriti transport od izvorov do ponorov, da bodo transportni stroki najmanji. Vzemimo na primer, da imamo n izvorov, ki jih oznaimo z I in n ponorov, ki jih oznaimo s P. Izvori so na primer skladia ali dobavitelji, ponori pa so porabniki, ki jim moramo dostaviti zahtevano blago. Podatke naloge vstavimo v spodnjo tabelo:

Slika 38: tabela1 Podatki so: ai- kapaciteta izvorov (i = 1,2m), bj- kapaciteta ponorov (j = 1,2n) in cij cena enote transporta med izvorom Ii in ponorom Pj (i = 1,2m;j = 1,2n). Simboli xij pa so spremenljivke, ki nam povedo koliino prevoenega izdelka iz izvora Ii v ponor Pj(i = 1,2m;j = 1,2n). Ker elimo, da so transportni stroki minimalni, iemo minimum namenske funkcije. S pomojo zgornje tabele transportnega problema zapiemo naslednji linearni program:

namenska funkcija

omejitve,

vsota spremenljivk po vrsticah tabele

vsota spremenljivk po stolpcih tabele

pogoj nenegativnosti

za vse i = 1,2m in j = 1,2n.

3.4.1 Osnovni problem razvoza


DVA DOBAVITELJA Naslednji problem zapii v obliki linearnega programa. Dva dobavitelja (D1, D2) oskrbujeta tri trgovine (T1, T2, T3). Dobavitelj D1 mora za te tri trgovine dnevno zagotoviti 50 ton, dobavitelj D2 pa 40 ton sadja. Trgovina T1 naroi dnevno 30 ton, trgovina T2 40 ton, trgovina T3 pa 20 ton sadja. Transportni stroki za tono sadja od posameznega dobavitelja do posamezne trgovine so razvidni iz spodnje tabele.
DOBAVITELJ

TRGOVINA

T1

D1 150

D2 220

T2 T3

160 200

200 230

S transportom elimo imeti im manje stroke.

Ta problem bomo reili po naslednjem postopku: 1 Doloimo namensko funkcijo, ki predstavlja skupne stroke prevoza. 2 Doloimo omejitve (za vsak izvor in vsak ponor posebej). 3 Reimo transportni problem (grafino, s simpleksno metodo ali s pomojo LINGA).

Reitev: Najprej nariimo tabelo transportnega problema. Ponori / izvori T1 T2 T3 D1 150 x11 160 x12 200 x13 D2 220 x21 200 x22 230 x23 Kapaciteta ponorov 30 40 20

kapaciteta izvorov 50 40 90

1. Doloimo namensko funkcijo. Namenska funkcija predstavlja skupne stroke prevoza.


Cena prevoza ene tone sadja od D1 do T1 znaa 150 , torej cena prevoza x11 ton sadja od D1 do T1 znaa 150 x11 . Cena prevoza ene tone sadja od D1 do T2 znaa 160 , torej cena prevoza x12 ton sadja od D1 do T2 znaa 160 x12 . Cena prevoza ene tone sadja od D1 do T3 znaa 200 , torej cena prevoza x13 ton sadja od D1 do T3 znaa 200 x13 . Cena prevoza ene tone sadja od D2 do T1 znaa 220 , torej cena prevoza x21 ton sadja od D2 do T1 znaa 220 x21 . Cena prevoza ene tone sadja od D2 do T2 znaa 200 , torej cena prevoza x22 ton sadja od D2 do T2 znaa 200 x22 . Cena prevoza ene tone sadja od D2 do T3 znaa 230 , torej cena prevoza x23 ton sadja od D2 do T3 znaa 230 x23 . Skupni stroki prevoza so 150x11+160x12+200x13+220x21+200x22+230x23, zato je namenska funkcija naslednja:

Skupni stroki morajo biti minimalni, torej iemo minimum namenske funkcije:

2. Doloimo omejitve.

Dobavitelj D1:

Dobavitelj D1 pripelje trgovini T1 x11 ton sadja, trgovini T2 x12 ton sadja in trgovini T3 x13 ton sadja. Skupno pripelje 50 ton sadja, zato je

Dobavitelj D2:

Dobavitelj D2 pripelje trgovini T1 x21 ton sadja, trgovini T2 x22 ton sadja in trgovini T3 x23 ton sadja. Skupno pripelje 40 ton sadja, zato je

Trgovina T1:

V trgovino T1 pripelje dobavitelj D1 x11 ton sadja, dobavitelj D2 pa x21 ton sadja. Skupno pripeljeta v trgovino T1 30 ton sadja, zato je

Trgovina T2:

V trgovino T2 pripelje dobavitelj D1 x12 ton sadja, dobavitelj D2 pa x22 ton sadja. Skupno pripeljeta v trgovino T2 40 ton sadja, zato je

Trgovina T3:

V trgovino T3 pripelje dobavitelj D1 x13 ton sadja, dobavitelj D2 pa x23 ton sadja. Skupno pripeljeta v trgovino T3 20 ton sadja, zato je

Vse spremenljivke so nenegativne:

Linearni program danega problema je torej taken:

Ker je zadnja enaba v omejitvah linearno odvisna od ostalih enab, jo lahko izpustimo (e v omejitvah od vsote prve in druge enabe, odtejemo tretjo in etrto enabo, dobimo peto enabo.). Linearni program torej lahko zapiemo v takni obliki:

3.4.2 Grafino reevanje transportnega problema


Grafino lahko reujemo transportne probleme razsenosti do 2 3 oz. 3 2. Za zgled vzemimo problem DVA DOBAVITELJA. v njem nastopata dobavitelja D1 in D2 in trgovine T1, T2 in T3. Ta zgled je razsenosti 2 3 zato ga lahko reimo grafino. Spremenljivko x11 oznaimo kar z x. Spremenljivkox12 pa oznaimo z y. Ker so kapacitete izvorov in ponorov v nalogi podane, lahko vse ostale spremenljivke izrazimo kar z x in y. PONORI IZVORI D1 D2 kapaciteta ponorov T1 150 x 220 30-x 30 T2 160 y 200 40-y 40 T3 kapaciteta izvorov 200 50-x-y 50 230 20-(50-x40 y) 20 90

Poglejmo kako smo dobili vrednosti spremenljivke v zgornji tabeli. Doloili smo: x11 = x in x12 = y. Vsota spremenljivk za D1 je:

Vsota spremenljivk za T1 je:

Vsota spremenljivk za T2 je:

Vsota spremenljivk za T3 je:

S pomojo na novo dobljenih spremenljivk zapiimo linearni program. Najprej preoblikujmo namensko funkcijo:

Iemo torej:

Vse na novo dobljene spremenljivke morajo biti nenegativne:

V koordinatni sistem nariimo mnoico vseh reitev dobljenega sistema linearnih neenab.

Slika 39: 50 Namenska funkcija f(x,y) = 17700 - 40x - 10y dosee maksimum v eni od ekstremnih tok (ogli) konveksnega lika.

Doloimo koordinate vseh ogli konveksnega lika:

C je preseie premic -x + 30 = 0 in -x - y + 50 = 0. x = 30 vstavimo v drugo enabo: -x - y + 50 = 0 -30 - y + 50 = 0 20 - y = 0 y = 20. Torej: C(30,20).

D je preseie premic -y + 40 = 0 in -x - y + 50 = 0. y = 40 vstavimo v drugo enabo: -x - y + 50 = 0 -x - 40 + 50 = 0 10 - x = 0 x = 10. Torej: D(10,40).

Izraunajmo vrednost namenske funkcije v vsakem ogliu konveksnega lika:

Doloimo minimum namenske funkcije:

Namenska funkcija dosee minimalno vrednost 16300 v toki D(30,20). To pomeni, da moramo usmeriti transport sadja na naslednji nain: TRGOVINA DOBAVITELJ D1 D2 T1 30 30 - 30 T2 20 40 - 20 T3 50 - 30 - 20 20 - (50 - 30 20)

Izraunajmo vrednosti v tabeli: T1 30 0 T2 20 20 T3 0 20

TRGOVINA DOBAVITELJ D1 D2

Stroki transporta bodo v tem primeru znaali 16300 .

3.4.3 Reevanje transportnega problema z metodo simpleksov


V primeru, ko je velikost transportnega problema veja od 2 3 ali 3 2, grafina metoda odpove. Ena izmed metod, ki jo lahko uporabimo v tem primeru, je metoda simpleksov. Tudi probleme, ki imajo dimenzije 2 3 ali 3 2 je mogoe reiti z njo. Predstavili jo bomo na e znanem problemu DVA DOBAVITELJA. Zanj smo formulirali naslednji linearni program:

Reimo ta linearni program z metodo simpleksov. Reitev: Doloamo minimum namenske funkcije, v omejitvah pa imamo enabe. Zato se postopek v nekaterih korakih razlikuje od postopka v zgledih reevanja z metodo simpleksov v prejnjem poglavju. a) Uvedemo umetni spremenljivki, ki jima doloimo neko zelo veliko vrednost M. (Spet bomo uporabili metodo velikega M-ja.)

Za M vzemimo npr. dvakratnik najvejega koeficienta v namenski funkciji: M = 2 230 = 460.

b) S pomojo linearnih transformacij preoblikujemo prvo vrstico tako, da bosta koeficienta pred umetnima spremenljivkama enaka 0. etrto vrstico, pomnoeno z M (v naem primeru je to 460), pritejemo k prvi vrstici, ostale vrstice pa prepiemo.

Peto vrstico, pomnoeno z M (v naem primeru je to 460), pritejemo k prvi vrstici, ostale vrstice pa prepiemo.

c) Prvo vrstico preuredimo tako, da bo vsebovala same pozitivne koeficiente. Drugo vrstico pomnoimo npr. z 210 in jo pritejemo k prvi vrstici.

Tretjo vrstico pomnoimo npr. z 240 in jo pritejemo k prvi vrstici.

Tako smo v prvi vrstici res dobili same pozitivne koeficiente.

d) Izvedemo simpleksno metodo

Koeficiente sistema uredimo v zaetno simpleksno tabelo.

Poiemo pivotni element: o izberemo stolpec, ki ima v prvi vrstici najvejo vrednost (v naem primeru je to drugi stolpec);

izberemo vrstico: v vsaki (razen v prvi) vrstici izraunamo ustrezen kolinik in izberemo tisto vrstico, v kateri je ta kolinik najmanji (v naem primeru je to etrta vrstica);

kriie izbrane vrstice in izbranega stolpca imenujemo pivot;

v naem primeru je pivot enak 1, zato enke ni potrebno ustvariti ta korak izpustimo; o na vseh ostalih mestih v izbranem stolpcu s pomojo linearnih transformacij ustvarimo nile (v naem primeru etrto vrstico pomnoimo z (-520) in jo pritejemo k prvi vrstici, etrto vrstico pomnoimo z (-1) in jo pritejemo k drugi vrstici; v tretji in peti vrstici pa sta v izbranem stolpcu e nili, zato ju ni potrebno ustvariti)

f) Spet poiemo pivotni element:

izberemo stolpec, ki ima v prvi vrstici najvejo vrednost (v naem primeru je to tretji stolpec);

izberemo vrstico: v vsaki (razen v prvi) vrstici izraunamo ustrezen kolinik in izberemo tisto vrstico, v kateri je ta kolinik najmanji (v naem primeru je to druga vrstica):

kriie izbrane vrstice in izbranega stolpca imenujemo pivot;

v naem primeru je pivot enak 1, zato enke ni potrebno ustvariti ta korak izpustimo; na vseh ostalih mestih v izbranem stolpcu s pomojo linearnih transformacij ustvarimo nile (v naem primeru drugo vrstico pomnoimo s (-510) in jo pritejemo k prvi vrstici, drugo vrstico pomnoimo z (-1) in jo pritejemo k zadnji vrstici; v tretji in etrti vrstici pa sta v izbranem stolpcu e nili, zato ju ni potrebno ustvariti);

g) Spet poiemo pivotni element:

izberemo stolpec, ki ima v prvi vrstici najvejo vrednost (v naem primeru je to esti stolpec);

izberemo vrstico: v vsaki (razen v prvi) vrstici izraunamo ustrezen kolinik in izberemo tisto vrstico, v kateri je ta kolinik najmanji (v naem primeru je to zadnja vrstica);

kriie izbrane vrstice in izbranega stolpca imenujemo pivot;

v naem primeru je pivot enak 1, zato enke ni potrebno ustvariti ta korak izpustimo; na vseh ostalih mestih v izbranem stolpcu s pomojo linearnih transformacij ustvarimo nile (v naem primeru zadnjo vrstico pomnoimo z (-500) in jo pritejemo k prvi vrstici, zadnjo vrstico pomnoimo z (-1) in jo pritejemo k tretji vrstici; v drugi in etrti vrstici pa sta v izbranem stolpcu e nili, zato ju ni potrebno ustvariti).

h) Spet poiemo pivotni element:

izberemo stolpec, ki ima v prvi vrstici najvejo vrednost (v naem primeru je to sedmi stolpec).

izberemo vrstico: v vsaki (razen v prvi) vrstici izraunamo ustrezen kolinik in izberemo tisto vrstico, v kateri je ta kolinik najmanji (v naem primeru je to tretja vrstica);

kriie izbrane vrstice in izbranega stolpca imenujemo pivot;

v naem primeru je pivot enak 1, zato enke ni potrebno ustvariti ta korak izpustimo; na vseh ostalih mestih v izbranem stolpcu s pomojo linearnih transformacij ustvarimo nile (v naem primeru tretjo vrstico pomnoimo z (-10) in jo pritejemo k prvi vrstici; v drugi, etrti in peti vrstici pa so v izbranem stolpcu e nile, zato jih ni potrebno ustvariti).

Opisan postopek ponavljamo, dokler so prvi vrstici (razen na prvem in zadnjem mestu) pozitivne vrednosti. V naem primeru v prvi vrstici (razen na prvem in zadnjem mestu) ni ve pozitivnih vrednosti, torej je postopek konan. Iz razirjene matrike preberemo reitev: a) V zadnjem stolpcu prve vrstice preberemo minimalno vrednost namenske funkcije: 16300. b) V stolpcu, ki predstavlja spremenljivko x11 (drugi stolpec), poiemo enko. V naem primeru je enka v etrti vrstici. Zato vrednost spremenljivke x11 preberemo v zadnjem stolpcu etrte vrstice: x11=30.

c) V stolpcu, ki predstavlja spremenljivko x12 (tretji stolpec), poiemo enko. V naem primeru je enka v drugi vrstici. Zato vrednost spremenljivke x12 preberemo v zadnjem stolpcu druge vrstice: x12=20.

d) V stolpcu, ki predstavlja spremenljivko x22 (esti stolpec), poiemo enko. V naem primeru je enka v zadnji vrstici. Zato vrednost spremenljivke x22 preberemo v zadnjem stolpcu zadnje vrstice: x22=20

e) V stolpcu, ki predstavlja spremenljivko x23 (sedmi stolpec), poiemo enko. V naem primeru je enka v tretji vrstici. Zato vrednost spremenljivke x23 preberemo v zadnjem stolpcu tretje vrstice: x23=20.

Dobljene podatke vstavimo v tabelo transportnega problema. Ponori Izvori D1 D2 kapaciteta ponorov T1 150 30 220 x21 30 T2 160 20 200 20 40 T3 200 x13 230 20 20 kapaciteta izvorov 50 40 90

Vrednosti spremenljivk x13 in x21 pa lahko dobimo s pomojo enab linearnega programa:

To pomeni, da bodo stroki minimalni, e bomo transport sadja usmerili na naslednji nain: Trgovina Dobavitelj D1 D2 T1 30 0 T2 20 20 T3 0 20

Stroki transporta bodo v tem primeru znaali f=16300 .

3.4.4 Reevanje transportnega problema s pomojo raunalnikega programa LINGO


Transportne probleme, v katerih nastopata le dve spremenljivki, najpogosteje reujemo grafino. e je v transportnem problemu ve spremenljivk, se lahko reevanja lotimo z metodo simpleksov. V tem poglavju pa se bomo nauili, kako reimo transportni problem s pomojo programa LINGO. Za zgled vzemimo nam e dobro znani problem DVA DOBAVITELJA. Reiti moramo naslednji linearni program:

Reitev: Reimo ta linearni program s pomojo programa LINGO. Podatke zapiimo v ustrezni obliki za program LINGO.

Slika 40: 51 Program LINGO nam izpie reitev linearnega programa v takni obliki:

Slika 41: 52 V vrstici Objective value preberemo optimalno vrednost namenske funkcije. V naem primeru je to 16300. To pomeni, da minimalni transportni stroki sadja znaajo 16300 . V stolpcu Value (vrednost) preberemo vrednosti spremenljivk:x11 = 30, x12 = 20, x13 = 0, x21 = 0, x22 = 20 in x23 = 0. To pomeni, da moramo transport sadja usmeriti na naslednji nain: Trgovina Dobavitelj D1 D2 T1 30 0 T2 20 20 T3 0 20

3.4.5 Posebni primeri transportnega problema


Degeneracija transportnega problema linearnega programiranja Proizvajalca A in B, ki proizvedeta 6 ton oziroma 8 enot istega blaga, oskrbujeta s tem blagom potronika P in Q, ki sta pri A oziroma B naroila 8 in 6 enot. Kako naj usmerimo transport od proizvajalcev A in B do potronikov P in Q, da bosta ta dva dobila naroeno blago in da bodo transportni stroki stroki najmanji, e poznamo transportne stroke za prevoz ene enote blaga na posameznih relacijah in so podani v preglednici: Potronika P Proizvajalec A Proizvajalec B Naroila Reevanje problema V tem primeru je dovolj, da vpeljemo le eno neznanko x. Iskane koliine vpiemo na v prejnjem primeru predloeni nain: P 6 2 8 Q 3 5 6 Proizvodnja 6 8 14

P Proizvajalec A x Proizvajalec B 8-x Naroila Omejitve so: 8 2 x 6 6-x

Q 3 5 6

Proizvodnja 6 8 14

Namenska funkcija, ki jo elimo minimirati je torej:

Vse omejitve se dajo zreducirati na eno samo: 0 x 6, ki predstavlja konveksno mnoico ( v tem primeru daljico s krajiema x = 0 in x = 6 z ekstremnima tokama 0 in 6. Pri teoriji linearnega programiranja ima ciljna funkcija 34 + 6x minimum v eni ekstremni toki; v naem primeru torej v ekstremni toki x = 0. Optimalna reitev je torej x = 0, stroki pri tej reitvi pa znaajo 34DE. Glede na to reitev doseemo najnije transportne stroke, kadar proizvajalec A sam oskrbuje potronika Q, proizvajalec B pa potronika P.

Slika 42: Reitev degeneriranega transportnega problema. Proizvajalec A se je povezal s potronikom Q, B pa s P. Taknemu razpadu sistema reemo tudi degeneracija transportnega problema

Neskonno reitev transportnega problema

Obravnavajmo transportni problem: Potronika Proizvajalec A Proizvajalec B Naroila P 1 3 6 Q 3 4 19 Proizvodnja 9 16 25

Reevanje problema: Vpeljemo neznanko x in iskane transportne koliine zapiemo v preglednici: P Proizvajalec A x Proizvajalec B 6-x Naroila 5 3 10+x 19 25 1 9-x 4 16 Q 2 Proizvodnja 9

Omejitve x 0, 9 - x 0, 6 - x 0 in 10 + x 0 zdruimo v eno samo: 0 x 6. Ciljna funkcija pa je: x + 2(9 -x) + 3(6 -x) + 4(10 + x) = 76. Le ta je neodvisna od x in ima vrednost 76 pri vsakem x , kar pomeni, da ima problem neskonno optimalnih reitev (celotna spojnica ekstremnih tok 0 in 6).

Transportni problem s ponudbo, vejo od povpraevanja Vsi transportni problemi, ki smo jih do sedaj reili, so imeli lastnost, da je bila ponudba enaka povpraevanju ali proizvodnja enaka potronji (naroilom). Z uporabo metode linearnega programiranja lahko reimo tudi transportni problem, e je ponudba veja od povpraevanja. Vzemimo primer, ki imamo proizvajalca A in B in potronika P in Q. Ponudba, naroila in transportni stroki so na posameznih relacijah podani v preglednici: Potronika Proizvajalec A Proizvajalec B Naroila P 4 3 5 Q 5 6 7 Proizvodnja 8 10 12 8

Reevanje problema: Problem preoblikujemo najprej v transportni problem, pri katerem je ponudba enaka povpraevanju. To naredimo tako, da uvedemo fiktivnega potronika S, ki naroi preostanek blaga oziroma odveno koliino proizvedenega blaga uskladiimo. Transportni stroki od proizvajalcev A in B do potronika (skladia) S pa morajo biti manji od strokov na relacijah A do P in Q ter B do P in Q, ker je na cilj, da imamo v optimalni reitvi (to je pri najmanjih transportnih strokih) na relacija A oziroma B do S odveno koliino proizvedenega blaga (nenielna reitev). Zaradi poenostavitve raunanja

privzamemo, da so transportni stroki od A in B do S kar 0. Problem, predstavljen v razirjeni obliki, je zapisan v preglednici: Potroniki Proizvajalec A Proizvajalec B Naroila P 4 3 5 Q 5 6 7 S 0 0 6 Proizvodnja 8 10 18

Reevanje problema: Vpeljemo neznanki x in y P Proizvajale cA x Proizvajale cB 5-x Naroila 5 3 7-x 7 Q S Proizvodnj a

4 y

5 8-x-y 6 x+y-2 6

10 18

Problemu prirejen linearni program pa je:

Zapiimo sedaj namensko funkcijo, ki jo elimo minimirati:

Problem je grafino reen na sledei .sliki

Slika 43: Mnoica dopustnih reitev transportnega problema.

Namenska funkcija, ki jo elimo minimirati je obliko f(x,y) = x - y + 57 dobila zaradi tega ker smo v problem dodali fiktivnega potronika. Zato enabo f(x,y) = x - y + 57 preoblikujmo v f(x,y) = 57 - (y - x) in pri izrauni upotevajmo samo f(x,y) = y - x), vendar moramo sedaj poiskati maksimum te funkcije. V koordinatni sistem vriimo na primer premico y - x = 3 (rtkano). To premico potem vzporedno premikamo navzgor tako dolgo, da se le ta e dotika pobarvanega polja dopustnih reitev. Optimalna reitev se torej pojavi v toki A(0,7), torej velja x = 0, y = 7, stroki pa so 50DE. Optimalna reitev je predstavljena v preglednici, iz katere je razvidno, da mora pri najcenejem transportu A uskladiiti 1 enoto, B pa 5 enot proizvedenega blaga. Potroniki Proizvajalec A Proizvajalec B Naroila P 0 5 5 Q 7 0 7 S 1 5 6 Proizvodnja 8 10 18

Transportni problem s ponudbo, manjo od povpraevanja

V preglednici je prikazan transportni problem proizvajalcev A in B ter potronikov P in Q. Ker je ponudba manja od povpraevanja, moramo v problem vpeljati fiktivnega proizvajalca, recimo proizvajalca C, ki proizvede manjkajoo koliino materiala. Potronika Proizvajalec A Proizvajalec B Naroila P 2 4 15 Q 4 5 20 Proizvodnja 8 18 35

Transportni stroki od proizvajalca C do potronikov P in Q morajo biti veliki v primerjavi s transportnimi stroki na drugih reklacijah. S tem zagotovimo, da bo fiktivni proizvajalec C priel v optimalno reitev le z minimalno potrebno koliino. V naem primeru vzemimo, da so ti stroki npr. 50DE. Potronika Proizvajalec A Proizvajalec B Proizvajalec C Naroila P 2 4 50 15 Q 4 5 50 20 Proizvodnja 8 18 9 55

Reevanje problema: Neznanki x in y uvedemo v preglednico. P Proizvajalec A x Proizvajalec B y Proizvajalec C 15-x-y Naroila 15 50 x+y-6 20 55 4 18-y 50 9 2 18-x 5 18 Q 4 Proizvodnja 8

Temu prirejeni linearni program pa je:

max

Reitev poiemo grafino in je zapisana v preglednici, iz katere je razvidno, da bo potronik P prejel vseh 15 naroenih enot blaga, potronik Q pa od naroenih 20 enot le 11 enot, ker so transportni stroki od A oziroma B do njega veji kot do potronika P. Pri tej optimalni reitvi so transportni stroki 99DE (8 2 + 7 4 + 11 5) Potronika Proizvajalec A Proizvajalec B Proizvajalec C Naroila P 8 7 0 15 Q 0 11 9 20 Proizvodnja 8 18 9 55

You might also like