Professional Documents
Culture Documents
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
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.
Zgled:
Matriki A =
in B =
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.
Mnoenje s skalarjem:
s tevilom = -3.
in B =
mn
je enaka matriki
Vsoto matrik A in B lahko izraunamo le, e sta obe matriki enakih dimenzij. Vsota:
in B =
A+B=B+A A + (B + C) = (A + B) + C A+0=A (A + B) = A + B ( + )A = A + A
in B =
mn
je enaka matriki
Razliko matrik A in B lahko izraunamo le, e sta obe matriki enakih dimenzij.
Razlika:
in B =
A-0=A A-A=0
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:
in B =
(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:
Inverzna matrika:
Transponiranje matrik:
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.
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 je nehomogen, ker prosta lena nista enaka 0. Osnovna matrika sistema je
, S2 =
in S3 =
Stolpec S1 = 2) = 3.
Stolpec S2 = 2)0 = 3.
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.
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.
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.
Reevanje sistema lin. enab z eno reitvijo: Reimo sistem treh enab s tremi neznankami.
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. ***
Reevanje sistema lin. enab z neskonno reitvami Reimo sistem treh enab s tremi neznankami.
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.
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.
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.
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].
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.
***
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 =
Reitev: Inverzno matriko raunamo po Gauss-Jordanovi metodi. Elementarne operacije izvajamo na razirjeni matriki
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 = ***
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
***
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.
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.
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.
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.
Reitev: KORAK 1: Da bomo lahko doloili, kateri polravnini moramo pobarvati, neenabi zapiimo tako, da bosta neenaaja obrnjena v ustrezno smer:
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. ***
Reitev:
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.
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).
kjer je:
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. ***
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:
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
C je preseie premic x + 2y = 35 in 2x + y = 40. Iz prve linearne enabe izrazimo y = ga vstavimo vdrugo enabo:
in
Izraunajmo vrednost namenske funkcije f(x,y) = 30x+20y v vsakem ogliu konveksnega lika:
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 .
(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.
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.
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:
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);
(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).
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);
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.
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.
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 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 28: 42 Optimalna vrednost namenske funkcije se je res poveala za 10 (iz 650 na 660 ).
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.
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.
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
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
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:
Izraunajmo vrednost namenske funkcije f(x,y) = 60x + 100y v vsakem ogliu konveksnega lika:
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 .
(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{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{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+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.
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.)
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.
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);
(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.
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);
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.
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.
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 37: 48 Optimalna vrednost namenske funkcije se je res zmanjala za 16 (iz 440 na 424 ).
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,
pogoj nenegativnosti
TRGOVINA
T1
D1 150
D2 220
T2 T3
160 200
200 230
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
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
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:
Poglejmo kako smo dobili vrednosti spremenljivke v zgornji tabeli. Doloili smo: x11 = x in x12 = y. Vsota spremenljivk za D1 je:
S pomojo na novo dobljenih spremenljivk zapiimo linearni program. Najprej preoblikujmo namensko funkcijo:
Iemo torej:
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.
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)
TRGOVINA DOBAVITELJ D1 D2
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.)
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.
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);
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)
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):
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);
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);
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).
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);
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
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
Q 3 5 6
Proizvodnja 6 8 14
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
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
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
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
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