Download as pdf or txt
Download as pdf or txt
You are on page 1of 8

Linearno programiranje zadaci

1/8

Primer 1 Maksimizirati: pri sledeim ogranienjima z=0.4x1+0.2x2+0.5x3+0.8x4 x1+2x2+4x3+8x4 24 3x1+5x2+ x3 12 +3x3+ x4 35 6x1 x1, x2, x3, x4 0

i uslovima

Dati model se pretvara u standardnu formu uvoenjem dopunskih promenljivih x5, x6, x7. Sada problem glasi Maksimizirati: pri sledeim ogranienjima z=0.4x1+0.2x2+0.5x3+0.8x4+0x5+0x6+0x7 x1+2x2+4x3+8x4+x5 = 24 +x6 = 12 3x1+5x2+ x3 6x1 +3x3+ x4 +x7 = 35 x1, x2, x3, x4, x5, x6, x7 0

i uslovima Simpleks tabele

Postupak reavanja problema LP se formalizuje korienjem simpleks tabela. U ovom primeru, polazna simpleks tabela je oblika: Baza x5 x6 x7 z a1 1 3 6 0.4 a2 2 5 0 0.2 a3 4 1 3 0.5 Koeficijenti a4 a5 8 1 0 0 1 0 0.8 0 Vrednost a6 0 1 0 0 a7 0 0 1 0 24 12 35 0

U vrsti z, najvei pozitivan koeficijent je jednak 0.8. S obzirom da je to koeficijent uz promenljivu x4, uzima se da je kolona a4 vodea kolona, jer je i x4 vodea promenljiva. Promenljiva x4 ui e u bazu umesto neke od polaznih bazinih promenljivih. Dalje je potrebno odrediti koja od promenljivih izlazi iz baze. Izraunava se kolinik slobodnih lanova i koeficijenata uz vodee kolone. Dobijene vrednosti tih kolinika (xi/xip): 24/8=3, 12/0, 35/1=35 unete su u krajnju desnu kolonu q.

Linearno programiranje zadaci

2/8

Baza x5 x6 x7 z a1 1 3 6 0.4 a2 2 5 0 0.2 a3 4 1 3 0.5

Koeficijenti a4 a5 1 8 0 0 1 0 0.8 0

Vrednost q=xi/xip a6 0 1 0 0 a7 0 0 1 0 24 12 35 0 3 + 35

Najmanji pozitivan kolinik je 3, to znai da je prva vrsta vodea vrsta u kojoj je bazisna promenljiva x5. Promenljiva x5 izlazi iz baze, a umesto nje u bazu ulazi promenljiva x4. Vodea kolona i vodea vrsta su u tabeli oznaene (strelicama i osenenim povrinama), a u njihovom preseku se nalazi vodei element (oznaen boldom). Vodei element treba da bude uvek jednak 1. U ovom primeru vodei element je jednak 8, to znai da se nekom elementarnom transformacijom treba prevesti u jedinicu. Deljenjem vodee vrste sa 8, vodei element se prevodi u jedinicu. Baza x4 x6 x7 z a1 1/8 3 6 0.4 a2 1/4 5 0 0.2 Koeficijenti a3 a4 a5 1/2 1 1/8 1 0 0 3 1 0 0.5 0.8 0 Vrednost a6 0 1 0 0 a7 0 0 1 0 3 12 35 0

U vodeoj koloni, dalje je potrebno, primenom elementarnih transformacija dobiti nule na svim mestima vodee kolone (sem vodeeg elementa), ukljuujui i odgovarajui element vrste z. U drugoj vrsti vodee kolone taj element je ve jednak nuli. U treoj vrsti vodee kolone taj elemenat je jednak 1. Na tom mestu dobie se nula ako se, na primer, od elemenata tree vrste oduzmu odgovarajui elementi prve vrste prethodne tabele. U vodeoj koloni z vrste, umesto 0.8 dobie se nula, tako to se elementi prve vrste pomnoe sa 0.8 i zatim saberu sa elementima vrste z. Dobijeni rezultati su prikazani u sledeoj simpleks tabeli. Baza x4 x6 x7 z a1 1/8 3 47/8 0.3 a2 1/4 5 -1/4 0 a3 1/2 1 5/2 0.1 Koeficijenti a4 1 0 0 0 Vrednost q=xi/xip a5 1/8 0 -1/8 -0.1 a6 0 1 0 0 a7 0 0 1 0 3 12 32 -2.4 24 4 256/47

U vrsti z, koeficijent 0.3 obezbedjuje najvei rast funkcije z (jer je najvei pozitivan koeficijent), pa je kolona a1 vodea kolona. Poto je q=4 najmanji, vrsta x6 je vodea vrsta. Promenljiva x6 izlazi iz baze, a umesto nje u bazu ulazi x1.

Linearno programiranje zadaci

3/8

Na odgovarajui nain (strelicama i senenjem), u prethodnoj tabeli su oznaene vodea vrsta i vodea kolona. Vodei element je 3, a trebao bi biti 1. Na prethodno opisani nain, primenom elementarnih transformacija postie se da vodei element bude jedinica, a ostali elementi u vodeoj koloni da budu nule, to je dato u sledeoj tabeli. Baza x4 x1 x7 z a1 0 1 0 0 a2 1/24 5/3 -241/4 -0.5 a3 11/24 1/3 13/24 0 Koeficijenti a4 1 0 0 0 Vrednost a5 1/8 0 -1/8 -0.1 a6 -1/24 1/3 -47/24 -0.1 a7 0 0 1 0 5/2 4 17/2 -3.6

Elementi druge vrste su podeljeni sa 3. Od elemenata prve vrste oduzeti su odgovarajui elementi druge vrste pomnoeni sa 1/8. Od elemenata tree vrste oduzeti su odgovarajui elementi druge vrste pomnoeni sa 47/8. Od elemenata z vrste oduzeti su odgovarajui elementi druge vrste pomnoeni sa 3/10. U poslednjoj tabeli vrsta z nema ni jedan pozitivan koeficijent. To znai da ni jedan od njih ne obezbedjuje daljni rast funkcije z, tako da je dobijena vrednost 3.6 najvea vrednost te funkcije, tj.: max z=3.6, za x1=4, x2=0, x3=0 i x4=2.5

Linearno programiranje zadaci

4/8

Primer 2 Maksimizirati pri ogranienjima z=1000x1+1500x2 2x1+2x212000 x1+2x28000 4000 x1 x23000 x1, x20

i uslovima

Dati model se pretvara u standardnu formu uvoenjem dopunskih promenljivih x3, x4, x5, x6. Sada problem glasi Maksimizirati pri ogranienjima z=1000x1+1500x2+0(x3+x4+x5+x6) =12000 2x1+2x2+x3 +x4 = 8000 x1+2x2 x1 +x5 = 4000 x2 +x6= 3000 x1, x2, x3, x4, x5, x60 Koeficijenti x3 x4 1 0 0 1 0 0 0 0 0 0 Vrednost x5 0 0 1 0 0 x6 0 0 0 1 0 12000 8000 4000 3000 0

i uslovima Baza x3 x4 x5 x6 z x1 2 1 1 0 1000 x2 2 2 0 1 1500

U vrsti z, najvei pozitivan koeficijent je jednak 1500. S obzirom da je to koeficijent uz promenljivu x2, uzima se da je kolona x2 vodea kolona, jer je i x2 vodea promenljiva. Promenljiva x2 ui e u bazu umesto neke od polaznih bazinih promenljivih. Dalje je potrebno odrediti koja od promenljivih izlazi iz baze. Izraunava se kolinik slobodnih lanova i koeficijenata iz vodee kolone. Dobijene vrednosti tih kolinika (xi/xip) unete su u krajnju desnu kolonu q. Najmanji pozitivan kolinik je 3000, to znai da je etvrta vrsta vodea vrsta u kojoj je bazisna promenljiva x6. Promenljiva x6 izlazi iz baze, a umesto nje u bazu ulazi promenljiva x2. Vodea kolona i vodea vrsta su u tabeli oznaene (strelicama i osenenim povrinama), a u njihovom preseku se nalazi vodei element (oznaen boldom). Vodei element treba da bude uvek jednak 1, to je u ovom sluaju ispunjeno.

Linearno programiranje zadaci

5/8

Baza x3 x4 x5 x6 z x1 2 1 1 0 1000 x2 2 2 0 1 1500

Koeficijenti x3 x4 1 0 0 1 0 0 0 0 0 0

Vrednost x5 0 0 1 0 0 x6 0 0 0 1 0 12000 8000 4000 3000 0

q=xi/xip 6000 4000 + 3000

U vodeoj koloni, dalje je potrebno, primenom elementarnih transformacija dobiti nule na svim mestima vodee kolone (sem vodeeg elementa), ukljuujui i odgovarajui element vrste z. U drugoj vrsti vodee kolone taj element ima vrednost 2. U treoj vrsti vodee kolone taj elemenat je takoe jednak 2. Na tim mestima dobie se nule ako se, na primer, od elemenata druge i tree vrste oduzmu odgovarajui elementi etvrte vrste pomnoeni sa 2. U vodeoj koloni z vrste, umesto 1500 dobie se nula, kada se elementi etvrte vrste pomnoe sa -1500 i zatim saberu sa elementima vrste z. Dobijeni rezultati su prikazani u sledeoj simpleks tabeli. Baza x3 x4 x5 x6 z x1 2 1 1 0 1000 x2 0 0 0 1 0 Koeficijenti x3 x4 1 0 0 1 0 0 0 0 0 0 Vrednost x5 0 0 1 0 0 x6 -2 -2 0 1 -1500 6000 2000 4000 3000 -4500000

U vrsti z, koeficijent 1000 obezbeuje najvei rast funkcije z (jer je najvei pozitivan koeficijent), pa je kolona x1 vodea kolona. Poto je q=2000 najmanji, vrsta x4 je vodea vrsta. Promenljiva x4 izlazi iz baze, a umesto nje u bazu ulazi x1. Na odgovarajui nain u prethodnoj tabeli su oznaene vodea vrsta i vodea kolona. Vodei element ima vrednost 1, tako da ostaje da se pomou elementarnih transformacija ostali elementi kolone dovedu na nulu, kao to je dato u sledeoj tabeli. Baza x3 x1 x5 x2 z x1 0 1 0 0 0 x2 0 0 0 1 0 Koeficijenti x3 x4 1 -2 0 1 0 -1 0 0 0 -1000 Vrednost x5 0 0 1 0 0 x6 2 -2 2 1 500 2.000 2.000 2.000 3.000 -6.500.000

Linearno programiranje zadaci

6/8

Pomnoi se druga vrsta sa 2 i sabere sa prvom vrstom. Pomnoi se druga vrsta sa 1 i sabere sa treom vrstom. Pomnoi se druga vrsta sa 1.000 i sabere sa petom vrstom. Sada se vidi da je vodea kolona, kolona x6, dok se za vodeu vrstu bira prva vrsta (q=1.000). Promenljiva x3 izlazi iz baze, dok vodei element ima vrednost 2. Zato se prva vrsta deli sa 2, da se dobije vrednost vodeeg elementa 1. Baza x6 x1 x5 X2 z x1 0 1 0 0 0 x2 0 0 0 1 0 Koeficijenti x3 x4 1/2 -1 1 -1 -1 1 -1/2 1 -250 -500 Vrednost x5 0 0 1 0 0 x6 1 0 0 0 0 1.000 4.000 0 2.000 -7.000.000

Pomnoi se prva vrsta sa 2 i sabere sa drugom vrstom. Pomnoi se prva vrsta sa -2 i sabere sa treom vrstom. Pomnoi se prva vrsta sa -1 i sabere sa etvrtom vrstom. Pomnoi se prva vrsta sa -500 i sabere sa petom vrstom. U poslednjoj tabeli, vrsta z nema ni jedan pozitivan koeficijent, pa je reenje: max z=7.000.000, za x1=4.000 i x2=2000. Provera u Matlab-u Naredba X=LP(f,A,b) reava problem linearnog programiranja: min f '*x x
Program

pri ogranienju: A*x <= b

c=[1000,1500]; a=[2,2;1,2;1,0;0,1]; b=[12000;8000;4000;3000]; x=lp(-c,a,b); x x = 1.0e+003 * 4.0000 2.0000 z=c*x z =7000000

Linearno programiranje zadaci

7/8

Primer 3 (dvostepeni simpleks) Minimizirati pri ogranienjima z=10x1+20x2 3x1+x2 40 2x1+2x2 60 x1+3x2 40 x1, x20

i uslovima

Dati model se pretvara u standardnu formu (vidi tabelu 8.1, strana 157 i odeljak 8.6.4, strana 187 knjige.) Sada problem glasi Minimizirati pri ogranienjima z=10x1+20x2-0(x3+x4+x5)+M(x6+x7+x8) +x6 40 3x1+ x2 x3 + x7 60 2x1+2x2 x4 x1+3x2 x5 + x8 40 x1, x2, x3, x4, x5, x6, x7, x8 0

i uslovima T0 Baza x6 x7 x8 T1 Baza x1 x7 x8

Vrednost 40 60 40 140 Vrednost 40/3 100/3 80/3 60M +400/3 x1 1 0 0 0 x2 1/3 4/3 8/3 6M -20 x3 -1 0 0 -M x1 3 2 1 6M-10 x2 1 2 3 6M-20 x3 -1 0 0 -M

Koeficijenti x4 x5 0 0 -1 0 0 -1 -M -M Koeficijenti x4 x5 0 0 -1 0 0 -1 -M -M

x6 1 0 0 0

x7 0 1 0 0

x8 0 0 1 0

x6 1 0 0 0

x7 0 1 0 0

x8 0 0 1 0

Linearno programiranje zadaci

8/8

T2 Baza x1 x7 x2

Vrednost 10 20 10 20M +300 Vrednost 25 40 5 350 x1 1 0 0 0 x2 0 0 1 0 x3 0 1 0 0 x1 1 0 0 0 x2 0 0 1 0 x3 -3/8 1/2 1/8 M/25/4

Koeficijenti x4 x5 0 1/8 -1 0 -3/8 -M M/2 -25/4 Koeficijenti x4 x5 -3/4 1/2 -2 1 1/4 -1/2 -5/2 -5

x6 3/8 -1/2 -1/8 -3/2M +15/2

x7 0 1 0 0

x8 -1/8 -1/2 3/8 -3/2M +25/4

T3 Baza x1 x3 x2

X6 0 -1 0 -M

x7 3/4 2 -1/4 -M +5/2

x8 -1/2 -1 -M +5

min z=350 za x1=25 i x2=5

You might also like