28
8. Linearno programiranje 8.1 Maksimalizacija 5 8.1.1 Postavka matematičkog modela 5 8.1.2 Grafičko rješenje 6 8.1.3 Analitičko rješenje 7 8.2 Minimalizacija 9 8.2.1 Postavka matematičkog modela 10 8.2.2 Grafičko rješenje 10 8.2.3 Analitičko rješenje 10 8.2.4 Dualni model 12 8.3 Zadaci – LP 13 8.3.1 Maksimalizacija 13 8.3.2 Minimalizacija 15 8.3.3 Postoptimalna analiza 16 8.4 Transportna metoda 16 8.4.1 Postavljanje matematičkog modela 17 8.4.2 Zatvoreni transportni problem 17 8.4.3 Maksimalizacija 20 8.4.4 Otvoreni transportni problem 22 8.4.5 Zadaci – TP 22 8.5 Metoda raspodjele 23 8.5.1 Postavljanje matematičkog modela 24 8.5.2 Minimalizacija 24 8.5.3 Maksimalizacija 26 8.5.4 Zadaci – MR 28 Linearno programiranje (LP) je formalni postupak optimalizacije dijelova/sustava kod ko- jih se funkcija cilja i ograničenja mogu izraziti linearnim kombinacijama varijabli. Strojarski inženjeri će najčće koristiti LP (u pravilu uz računalnu podršku) za: određivanje količina proizvoda (koje je moguće izraditi s raspoloživim resursima i prodati po aktualnim cijenama) s kojima se postiže maksimalna dobit, određivanje dinamike proizvodnje (pri izraženim sezonskim kolebanjima prodaje proizvoda) s kojom se postiže maksimalna dobit, određivanje plana proizvodnje (koja se može ostvariti s raspoloživim resursima uz aktualne troškove) s kojima se postižu minimalni troškovi, određivanje količine sirovine (određenih svojstava) čijim se miješanjem formiraju proizvodi (različitih sastava i cijena) uz maksimalnu dobit, određivanje količina sirovina (različitih sastava i cijena) čijim se miješanjem formi- ra proizvod (određenih svojstava) uz minimalne troškove.

8. Linearno programiranje - ffri.hrzvonimir/Kvantitativne/08 Linearno programiranje.pdf · Linearno programiranje (LP) je formalni postupak optimalizacije dijelova/sustava kod ko-jih

  • Upload
    others

  • View
    16

  • Download
    1

Embed Size (px)

Citation preview

Page 1: 8. Linearno programiranje - ffri.hrzvonimir/Kvantitativne/08 Linearno programiranje.pdf · Linearno programiranje (LP) je formalni postupak optimalizacije dijelova/sustava kod ko-jih

8. Linearno programiranje 8.1 Maksimalizacija 5

8.1.1 Postavka matematičkog modela 5 8.1.2 Grafičko rješenje 6 8.1.3 Analitičko rješenje 7

8.2 Minimalizacija 9 8.2.1 Postavka matematičkog modela 10 8.2.2 Grafičko rješenje 10 8.2.3 Analitičko rješenje 10 8.2.4 Dualni model 12

8.3 Zadaci – LP 13 8.3.1 Maksimalizacija 13 8.3.2 Minimalizacija 15 8.3.3 Postoptimalna analiza 16

8.4 Transportna metoda 16 8.4.1 Postavljanje matematičkog modela 17 8.4.2 Zatvoreni transportni problem 17 8.4.3 Maksimalizacija 20 8.4.4 Otvoreni transportni problem 22 8.4.5 Zadaci – TP 22

8.5 Metoda raspodjele 23 8.5.1 Postavljanje matematičkog modela 24 8.5.2 Minimalizacija 24 8.5.3 Maksimalizacija 26 8.5.4 Zadaci – MR 28

Linearno programiranje (LP) je formalni postupak optimalizacije dijelova/sustava kod ko-jih se funkcija cilja i ograničenja mogu izraziti linearnim kombinacijama varijabli.

Strojarski inženjeri će najčešće koristiti LP (u pravilu uz računalnu podršku) za: • određivanje količina proizvoda (koje je moguće izraditi s raspoloživim resursima i

prodati po aktualnim cijenama) s kojima se postiže maksimalna dobit, • određivanje dinamike proizvodnje (pri izraženim sezonskim kolebanjima prodaje

proizvoda) s kojom se postiže maksimalna dobit, • određivanje plana proizvodnje (koja se može ostvariti s raspoloživim resursima uz

aktualne troškove) s kojima se postižu minimalni troškovi, • određivanje količine sirovine (određenih svojstava) čijim se miješanjem formiraju

proizvodi (različitih sastava i cijena) uz maksimalnu dobit, • određivanje količina sirovina (različitih sastava i cijena) čijim se miješanjem formi-

ra proizvod (određenih svojstava) uz minimalne troškove.

Page 2: 8. Linearno programiranje - ffri.hrzvonimir/Kvantitativne/08 Linearno programiranje.pdf · Linearno programiranje (LP) je formalni postupak optimalizacije dijelova/sustava kod ko-jih

2 Kvantitativne metode

Nakon analize postupka, različite primjene LP-a će biti ilustrirane na primjerima.

Matematički model Funkcija ce cilja (matematički opis postavljenog cilja) – izabrati vrijednosti n promjenlji-

vih veličina xj (j = 1, 2, .., n) tako da se dobije optimalno rješenje:

F c (F-8.1) n

Tj j

j j 1

optoptx x

=

= = •∑ C X

gdje je: cj – j-ti koeficijent funkcije cilja (jedinični trošak ili jedinična cijena), C = [c1 c2 cn], jednodimenzijski vektor koeficijenata funkcije cilja, xj – j-ta promjenljiva veličina (količina), X = [x1 x2 xn], jednodimenzijski vektor promjenljivih veličina, n – broj promjenljivih veličina.

j

optx znači: odrediti skup vrijednosti promjenljivih veličina kojim se postiže op-

timalna vrijednost (maksimalna ili minimalna) funkcije cilja F.

Ograničenja – m ograničenja oblika:

( )n

ij jj 1

= a x=∑ X ≤ = ≥ bi = B (F-8.2) A •

gdje je: aij – ij-ti koeficijent skupa ograničenja (višedimenzijski vektor, m×n kom-ponenti),

bi – i-ti slobodni član ograničenja (jednodimenzijski vektor, m komponenti), – mogući su znakovi ≥ ili = ili ≤.

Skraćeni je vektorski zapis: A X ≥, =, ≤ B

Dodatna su ograničenja (nenegativnosti promjenljivih veličina. te realne vrijednosti koefi-cijenata i slobodnih članova): xj ≥ 0 (F-8.3) cj , aij , gi ∈ R (F-8.4)

gdje je: R – skup realnih brojeva. (Dodatna ograničenja se u pravilu ne pišu i podrazumijevaju se.)

Formalnim se postupkom LP traži aktualni optimum (maksimum, opt = max, ili minimum, opt = min) za zadanu linearnu funkciju cilja F-8.1, s n promjenljivih veličina, uz zadovolja-vanje m linearnih ograničenja vrijednosti promjenljivih veličina F-8.2 (F-8.3 i F-8.4). Mogu-će je: n > m , n = m i n < m. Postupak LP je moguće provesti na više različitih načina, a pos-tuple je najjednostavnije pojasniti na primjerima.

PRIMJER P-8.1

Tvrtka može proizvoditi dva proizvoda (P1 i P2) u četiri pogona (I , II , III , IV) koji su spe-cijalizirani za proizvodnju – pogoni I i II za proizvode tipa P1 , pogoni III i IV za proizvode ti-pa P2 . Za proizvodnju je potrebna radna snaga i dvije vrste sirovina (S1 i S2). Proizvodno-ekonomski pokazatelji su dati u tabeli. Odrediti optimalni mjesečni plan proizvodnje.

Page 3: 8. Linearno programiranje - ffri.hrzvonimir/Kvantitativne/08 Linearno programiranje.pdf · Linearno programiranje (LP) je formalni postupak optimalizacije dijelova/sustava kod ko-jih

08. Linearno programiranje 3

Proizvod P1 Proizvod P2 Pogon I Pogon II Pogon III Pogon IV

Mjesečni raspoloživi resursi

Radna snaga, h/tP 4 2 4 6 480 Sirovina S1 , tS1/tP 4 6 10 16 640 Sirovina S1 , tS2/tP 8 6 4 2 600 Jedinična dobit, kn/tP 800 600 800 1200

U tablici su sa tS1/tP i tS2/tP izražene mase sirovina potrebnih za proizvodnju 10 tona proi-zvoda.

Funkcija cilja:

j

ma [800 (kn/tP1) x1 (tP1/mjs) + 600 x2 + 800 x3 + 1200 x4] kn/mjs xxF =

F = j

maxx (800x1 + 600x2 + 800x3 + 1200x4)

Ograničenja: 4 (h/tP1) x1 (tP1/mjs) + 2 x2 + 4 x3 + 6 x4 ≤ 480 h/mjs

4 (tS1/tP1) x1 (tP1/mjs) + 6 x2 + 10 x3 + 16 x4 ≤ 640 tS1/mjs 8 (tS2/tP1) x1(tP1/mjs) + 6 x2 + 4 x3 + 2 x4 ≤ 600 tS2/mjs 4x1 + 2x2 + 4x3 + 6x4 ≤ 480 4x1 + 6x2 + 10x3 + 16x4 ≤ 640 8x1 + 6x2 + 4x3 + 2x4 ≤ 600 Rješenje: x1 = 69 tP1/mjs x2 = 0 tP1/mjs x3 = 0 tP2/mjs x4 = 23 tP2/mjs

F = 82 800 kn/mjs Opaska: ostaje raspoloživo 480 – 4 69 – 6 23 = 66 sati rada radnika. (sirovine?)

PRIMJER P-8.2

U maloj termoelektrani, uz korištenje sustava turbina/generator, proizvodi se električna struja. Turbina se napaja s 3,2 kilograma po sekundi pregrijane vodene pare, a moguće je prodavati: (a) struju, po cijeni od 0,03 € po kilovat-satu, (b) niskotlačnu paru za centralno grijanje x1, po

cijeni 1,10 € po toni pare, te (c) visokotlačnu tehnološku paru x2, po cijeni

1,65 € po toni pare. Potrošači su zainteresirani za neograničene količine struje i ograničene količine pare:

4 x1 + 3 x2 ≤ 9,6 kg/s Snaga generatora (u kW) ovisi o protocima pare kroz sekcije turbine (u kg/s):

PI = 48 mI PIII = 56 mII PIII = 80 mIII Kako bi se spriječilo pregrijavanje niskotlačnog dijela turbine, kroz sekciju III mora protje-

cati bar 0,6 kg/s pare. Zbog sprječavanja prekomjernog neravnomjernog opterećenja vratila turbine, za x1 = 0 kg/s dozvoljeno je x2 ≤ 1,8 kg/s, a pri povećanju oduzimanja pare x1 za svaki kg/s smanjuje se oduzimanje pare x2 za 0,25 kg/s. Odrediti optimalnu proizvodnju.

Page 4: 8. Linearno programiranje - ffri.hrzvonimir/Kvantitativne/08 Linearno programiranje.pdf · Linearno programiranje (LP) je formalni postupak optimalizacije dijelova/sustava kod ko-jih

4 Kvantitativne metode

Funkcija cilja:

F = j

maxx (Dstruja + Dvisokotlačna_para + Dniskotlačna_para)

gdje je: D – dobit, €/h, PE = 48 mI + 56 mII + 80 mIII kW

mI = 3,2 kg/s mII = (3,2 – x1) kg/s mII = (3,2 – x1 – x2) kg/s prihod od struje: PE = 48 3,2 + 56 (3,2 – x1) + 80 (3,2 – x1 – x2) kW

PE = (48 + 56 + 80) 3,2 + (–56 – 80) x1 + (– 80) x2

prihod od struje: PE kW 0,03 € (kw h)–1 = (588,8 – 136 x1 – 80 x2) 0,03 €/h

prihod od visokotlačne pare: x1 kg s–1 (3600 s h–1) 1,65 € (1000 kg)–1 = 5,94 x1 €/h

prihod od niskotlačne pare: x2 kg s–1 (3600 s h–1) 1,10 € (1000 kg)–1 = 3,96 x2 €/h

F = j

maxx 17,66 – 4,08 x1 – 2,40 x2 + 5,94 x1 + 3,96 x2 €/h

F = j

maxx 1,86 x1 + 1,56 x2 + 17,66 €/h

j

ma 1,86 x1 + 1,56 x2 €/h F = F1 + 17,66 €/h xxF1 =

Ograničenja: Pregrijavanje turbine:

x1 + x2 + x3 = 3,2 kg/s x1 + x2 ≤ 3,2 – 0,6 x1 + x2 ≤ 2,6

Neravnomjerno opterećenje: x2 ≤ 1,8 – 0,25 x1 / 4

x1 + 4x2 ≤ 7,2 Zainteresiranost potrošača:

4x1 + 3x2 ≤ 9,6

F1 = j

maxx (1,86 x1 + 1,56 x2) €/h

x1 + x2 ≤ 2,6 x1 + 4x2 ≤ 7,2 4x1 + 3x2 ≤ 9,6 Rješenje:x1 = 1,29 kg/s visokotlačne pare x2 = 1,48 kg/s niskotlačne pare (ostatak?)

F = F1 + 17,66 = 4,71 + 17,66 = 22,37 €/h

PRIMJER P-8.3

Na kontroli proizvoda rade dvije grupe kontrolora: I grupa s 6 kontrolora i II grupa s 10 kontrolora. Dnevno je za 8 h potrebno obaviti kontrolu bar 1800 komada. Kontrolori grupe I kontroliraju 25 kom/h, s 2 % grešaka i plaćom od 5 NJ/h, a kontrolori grupe II kontroliraju 15 kom/h, s 5 % grešaka i plaćom od 3 NJ/h. Svaki neispravan proizvod pušten na tržište proizvoda prati šteta od 2 NJ. Odrediti optimalnu kontrolu.

Page 5: 8. Linearno programiranje - ffri.hrzvonimir/Kvantitativne/08 Linearno programiranje.pdf · Linearno programiranje (LP) je formalni postupak optimalizacije dijelova/sustava kod ko-jih

08. Linearno programiranje 5

Funkcija cilja:

F = j

minx plaća kntl I + šteta kntl I + plaća kntl II + šteta kntl II

F NJ/dan = j

minx {{8 [h/(kntI dan)] 5 (NJ/h) +

8 [h/(kntI dan)] 2 (NJ/kom) 25 (kom/h) 0,02]} x1 kntI + (8 3 + 8 2 15 0,05) x2}

F = j

minx [(8 5 + 8 2 25 0,02) x1 + (8 3 + 8 2 15 0,05) x2]

F = j

minx [48x1 + 36x2]

Ograničenja: x1 kntI ≤ 6 kntI

x2 kntII ≤ 10 kntII

[8 (h/kntI) 25 ( kom/h)] x1( kntI) + 8 15 x2 ≥ 1800 kom

Rješenje: x1 = 6 kontrolora I grupe x2 = 5 kontrolora II grupe F = 468 NJ/dan. Opaska: pet kontrolora iz II grupe je ostalo neraspoređeno.

8.1 Maksimalizacija

8.1.1 Postavka matematičkog modela PRIMJER P-8.4

Na dva proizvoda (1, 2), pri čijoj se proizvodnji angažiraju tri stroja (A, B, C), mogu se os-tvariti dobiti: 1. proizvod: 20 NJ/kom (novčanih jedinica/komadu) i 2. proizvod: 30 NJ/kom. Proizvod 1 se obrađuje na stroju A 2 h (sata) i na stroju B 2 h, a proizvod 2 na stroju A 4 h, stroju B 1 h i na stroju C 4 h. Strojevi su tjedno raspoloživi: A 16 h, B 10 h i C 12 h. Odrediti optimalnu tjednu proizvodnju.

Matematski model: Funkcija cilja:

F = (20 x1 + 30 x2) jx

max

Page 6: 8. Linearno programiranje - ffri.hrzvonimir/Kvantitativne/08 Linearno programiranje.pdf · Linearno programiranje (LP) je formalni postupak optimalizacije dijelova/sustava kod ko-jih

6 Kvantitativne metode

Ograničenja: stroj A 2 x1 + 4 x2 ≤ 16

stroj B 2 x1 + x2 ≤ 10

stroj C 4 x2 ≤ 12

8.1.2 Grafičko rješenje Na osnovu matematskog modela, na grafiku x2 = f(x1) ucrtavaju se pravci ograničenja od-

ređeni raspoloživostima strojeva A, B i C. Moguća rješenja se nalaze unutar prostora definira-nog zadanim ograničenjima (i dodatnim uvjetima F-8.3, F-8.4). U drugom koraku se po toč-kama (T) presjeka pravaca ograničenja pomjera funkcija cilja (T0 ⇒ T1 ⇒ T2 ⇒ T3 ) do dobi-vanja optimalnog rješenja – pravac F3 , odnosno točka T3 .

Slika S-8.1 Grafičko rješenje P-8.4

Rješenje: x1 = 4 kom x2 = 2 kom F = 140 NJ U pravilu, optimalna rješenja leže u kutovima (točke Tk). Izuzeci su kada se poklope pravci

ograničenja i funkcije cilja – tada dva kuta i sve točke na pravcu između dva kuta daju jedna-ko optimalno rješenje.

Page 7: 8. Linearno programiranje - ffri.hrzvonimir/Kvantitativne/08 Linearno programiranje.pdf · Linearno programiranje (LP) je formalni postupak optimalizacije dijelova/sustava kod ko-jih

08. Linearno programiranje 7

8.1.3 Analitičko rješenje 0. korak – postavljanje i prilagodba matematskog modela:

1. Postaviti matematski model (funkcija cilja i ograničenja)

2. Prilagoditi matematski model uvođenjem dopunskih promjenljivih yj (koje u og-raničenjima omogućavaju zamjenu znakova ≤ sa znakovima =, a u funkciji cilja imaju zajednički koeficijent = 0), te funkciju cilja izraziti u implicitnom obliku

2 x1 + 4 x2 + y1 = 16

2 x1 + x2 + y2 = 10

4 x2 + y3 = 12

F – 20 x1 – 30 x2 – 0 (y1 + y2 + y3) = 0

1. korak – formiranje 0-te tabele (rješenja) i usmjeravanje postupka:

3. Unijeti vrijednosti aij , gi , cj , F u odgovarajuća polja Tabele 0

x1 = 0 x2 = 0 y1 y2 y3 2 4 1 0 0 16 2 1 0 1 0 10 0 4 0 0 1 12

–20 –30 0 0 0 F = 0

Tabela 0. Unos polaznih podataka (na temelju matematskog modela)

x1 = 0 * x2 = 0 * y1 y2 y3 2 4 1 0 0 16 2 1 0 1 0 10 0 4 0 0 1 12

–20 –30 0 0 0 F = 0 * Polazi se iz točke T0 (S-8.1).

4. Odabrati: (a) kolonu j = K s najmanjom vrijednošću cj (što je manja vrijednost cK to će

biti veći doprinos cK xK maksimalizaciji funkcije cilja F ⇒ u rješenje se uklju-čuje xK)

(b) red i = R s najmanjim količnikom gi/aiK (što je manja vrijednost količnika gR/aRK to će biti veće ograničenje u rješenje uključenog xK)

Page 8: 8. Linearno programiranje - ffri.hrzvonimir/Kvantitativne/08 Linearno programiranje.pdf · Linearno programiranje (LP) je formalni postupak optimalizacije dijelova/sustava kod ko-jih

8 Kvantitativne metode

Tabela 0. Izbor kolone j = K i reda i = R x1 = 0 x2 = 0 y1 y2 y3

16/4 = 4 2 4 1 0 0 16 10/1 = 10 2 1 0 1 0 10 12/4 = 3 0 4 0 0 1 12

–20 –30 0 0 0 F = 0

x1 = 0 x2 = 0 y1 y2 y3 16/4 = 4 2 4 1 0 0 16

10/1 = 10 2 1 0 1 0 10 12/4 = 3 0 4 0 0 1 12

–20 –30 0 0 0 F = 0

2. korak – formiranje s-te tabele, te provjera ispunjenja kriterija optimalnosti:

5. Polja odabranog reda (R) iz prethodne tabele (s – 1) podijeliti s aRK i upisati u is-ti red aktualne tabele (s)

Tabela 0. Prijepis podataka iz prethodne tabele (s – 1)

x1 = 0 x2 = 0 y1 y2 y3 2 4 1 0 0 16 2 1 0 1 0 10 0 4 0 0 1 12

–20 –30 0 0 0 F = 0

Tabela 1. Preračunavanje/prijepis odabranog reda u aktualna tabela s

x1 = 0 x2 = 3 * y1 y2 y3

0/4= 0

4/4= 1

0/4= 0

0/4= 0

1/4= 0,25

12/4= 3

* Iz trećeg reda (R = 3), odnosno trećeg ograničenja (najvećeg za xj) slijedi: 4 x2 = 12 ⇒ x2 = 3

U polju presjeka druge kolone (j = 2) s trećim redom (i = 3) nalazi se brojčani iznos 1, a izračunata vrijednost za x2 pri najvećem ograničenju upisana je u zad-njem polju trećeg reda. Prema tome, u 2. koraku se prelazi iz točke T0 u točku T1 (S-8.1).

6. Vrijednosti ostalih polja (Pij) izračunati po formuli: Pij

s = Pij s–1 – PiK

s–1 PRjs (F-8.5)

Tabela 1. Izračunavanje vrijednosti polja

x1 = 0 x2 = 3 y1 y2 y3 2–4 0=

2 4–4 1=

0 1–4 0=

1 0–4 0=

0 0–4 0,25=

–1 16–4 3=

4 2–1 0=

2 1–1 1=

0 0–1 0=

0 1–1 0=

1 0–1 0,25=

–0,25 10–1 3=

7 0/4= 0

4/4= 1

0/4= 0

0/4= 0

1/4= 0,25

12/4= 3

–20–(–30) 0=

–20 –30–(–30) 1=

0 0–(–30) 0=

0 0–(–30) 0=

0 0–(–30) 0,25=

7,5 0–(–30) 3=

F = 90

Page 9: 8. Linearno programiranje - ffri.hrzvonimir/Kvantitativne/08 Linearno programiranje.pdf · Linearno programiranje (LP) je formalni postupak optimalizacije dijelova/sustava kod ko-jih

08. Linearno programiranje 9

Tabela 1. Prijepis podataka iz prethodne tabele

x1 = 0 x2 = 3 y1 y2 y3 2 0 1 0 –1 4 2 0 0 1 –0,25 7 0 1 0 0 0,25 3

–20 0 0 0 7,5 F = 90

7. Ako su svi koeficijenti cij ≥ 0 dobiveno je optimalno rješenje

8. Ako nisu svi koeficijenti cij ≥ 0: (a) ponoviti postupak opisan pod točkom 4 (b) ponoviti postupak opisan u 2. koraku (točke 5, 6, 7 i 8)

x1 = 0 x2 = 3 y1 y2 y3 4/2 = 2 2 0 1 0 –1 4

7/2 = 3,5 2 0 0 1 –0,25 7 3/0 = ∞ 0 1 0 0 0,25 3

–20 0 0 0 7,5 F = 90

x1 = 4 x2 = 2 y1 = 0 y2 = 0 y3 1 0 0,17 0,67 0 4 0 0 –1,33 1,33 1 4 0 1 0,33 –0,33 0 2 0 0 6,67 3,33 0 F = 140

U polju presjeka prve/druge kolone s prvim/trećim redom nalazi se brojčani iznos 1 (ostali brojčani iznosi u kolonama su = 0) ⇒ izračunate vrijednosti x1 = 4 kom x2 = 2 kom upisane su u zadnjem polju prvog/trećeg reda. Prema tome, u ponovljenom 2. koraku se prelazi iz toč-ke T1 u točku T3 (S-8.1). Kako su sve vrijednosti cij ≥ 0 dobiveno rješenje je optimalno: F = 140 NJ.

8.2 Minimalizacija PRIMJER P-8.5

Na dva tipa strojeva (I i II) treba proizvoditi tri vrste dijelova (A, B i C), u minimalnim ko-ličinama: A 10 kom/h (komada na sat), B 74 kom/h, C 9 kom/h. Ispitivanjima su utvrđeni ka-paciteti strojeva – dio A: I 5 kom/str h (komada po stroju i satu) i II 1 kom/str h, dio B: I 9

kom/str h i II 13 kom/str h, te dio C: I 1 kom/str h i II 3 kom/str h. Cijene rada strojeva su: I

6 NJ/str h, II 3 NJ/str h. Odrediti optimalnu proizvodnju.

Page 10: 8. Linearno programiranje - ffri.hrzvonimir/Kvantitativne/08 Linearno programiranje.pdf · Linearno programiranje (LP) je formalni postupak optimalizacije dijelova/sustava kod ko-jih

10 Kvantitativne metode

8.2.1 Postavka matematičkog modela Funkcija cilja:

F = (6 x1 + 3 x2) jx

min

Ograničenja: dio A 5 x1 + x2 ≥ 10

dio B 9 x1 + 13 x2 ≥ 74

dio C x1 + 3 x2 ≥ 9

8.2.2 Grafičko rješenje Na osnovu matematskog modela, na grafiku x2 = f(x1) (S-8.2) ucrtavaju se pravci ograni-

čenja određeni uvjetima pokretanja strojeva A, B i C. Moguća rješenja se nalaze unutar pros-tora definiranog zadanim ograničenjima i uvjetom (i dodatnim uvjetima F-8.3, F-8.4). U dru-gom koraku se po točkama (T) presjeka pravaca ograničenja pomjera funkcija cilja (T0 ⇒ T1 ⇒ T2 ⇒ T3 ) do dobivanja optimalnog rješenja – pravac F3 , odnosno točka T3 .

Slika S-8.2 Grafičko rješenje P-8.5

Rješenje: x1 = 1kom x2 = 5kom F = 21

8.2.3 Analitičko rješenje 0. korak – postavljanje i prilagodba matematskog modela:

1. Postaviti matematski model (funkcija cilja i ograničenja – 8.4.1)

2. Prilagoditi matematski model uvođenjem

Page 11: 8. Linearno programiranje - ffri.hrzvonimir/Kvantitativne/08 Linearno programiranje.pdf · Linearno programiranje (LP) je formalni postupak optimalizacije dijelova/sustava kod ko-jih

08. Linearno programiranje 11

a) dopunskih promjenljivih yj (koje u ograničenjima omogućavaju zamjenu znaka ≥ sa znakom =, a u funkciji cilja imaju zajednički koeficijent = – 0)

b) umjetnih promjenljivih zj (koje u funkciji cilja imaju zajednički koeficijent M či-ji je brojčani iznos >> od brojčanih iznosa ostalih koeficijenata)

5 x1 + x2 – y1 + z1 = 10

9 x1 + 13 x2 – y2 + z2 = 74

x1 + 3 x2 – y3 + z3 = 9

F = 6 x1 + 3 x2 – 0 (y1 + y2 + y3) + M (z1 + z2 + z3)

c) iz ograničenja odrediti vještačke promjenljive zj i uvrstiti ih u funkciju cilja, te funkciju cilja izraziti u implicitnom obliku

z1 = 10 – 5 x1 – x2 + y1

z2 = 74 – 9 x1 – 13 x2 + y2

z3 = 9 – x1 – 3 x2 + y3

F– (6 – 15 M) x1 – (3 – 17 M) x2 – M y1 – M y2 – M y3 = 93 M

1. korak – formiranje 0-te tabele (rješenja) i usmjeravanje postupka:

3. Unijeti vrijednosti aij , gi , cj , F u odgovarajuća polja Tabele 0 4. Odabrati:

a) kolonu j = K s najvećom vrijednošću cj (što je veća vrijednost cK to će biti ve-ći doprinos cK xK minimalizaciji funkcije cilja F ⇒ u rješenje se uključuje xK).

b) red i = R s najmanjim količnikom gi/aiK (što je manja vrijednost količnika gR/aRK to će biti veće ograničenje u rješenje uključenog xK).

Tabela 0. Početak iz točke T0 (S-8.2)

x1 = 0 x2 = 0 y1 y2 y3 z1 z2 z3 10 5 1 –1 0 0 01 0 0 10

5,69 9 13 0 –1 0 0 1 0 74 3 1 3 0 0 –1 0 0 1 9 15 M–6 17 M–3 –M –M –M 0 0 0 93 M

2. korak – formiranje s-te tabele, te provjera ispunjenja kriterija optimalnosti:

5. Polja odabranog reda (R) iz prethodne tabele (s – 1) podijeliti s aRK i upisati u is-ti red aktualne tabele (s)

6. Vrijednosti ostalih polja (Pij) izračunati po formuli: Pij

s = Pij s–1 – PiK

s–1 PRjs (F-8.5)

7. Ako su svi koeficijenti cij ≤ 0 dobiveno je optimalno rješenje.

8. Ako nisu svi koeficijenti cij ≤ 0: a) ponoviti postupak opisan pod točkom 4 b) ponoviti postupak opisan u 2. koraku (točke 5, 6, 7 i 8)

Page 12: 8. Linearno programiranje - ffri.hrzvonimir/Kvantitativne/08 Linearno programiranje.pdf · Linearno programiranje (LP) je formalni postupak optimalizacije dijelova/sustava kod ko-jih

12 Kvantitativne metode

Tabela 1. Prijelaz u točku T1 (S-8.2)

x1 = 0 x2 = 3 y1 y2 y3 z1 z2 z3 1,50 4,67 0 –1 0 0,33 1 0 –0,33 7 7,49 4,67 0 0 –1 4,33 0 1 –4,33 35

9 0,33 1 0 0 –0,33 0 0 0,33 3 9,33xM–5 0 –M –M 4,67xM–1 0 0 5,67xM–1 42xM+9

Tabela 3. Prijelaz u točku T3 (S-8.2)

x1 = 1 x2 = 5 y1 y2 y3 z1 z2 z3 1 0 –0,23 0,02 0 0,23 –0,02 0 1 0 0 0,25 –0,25 1 –0,25 0,25 –1 7 0 1 0,07 –0,09 0 –0,16 0,09 0 5 0 0 –0,91 –0,16 0 –M+0,91 –M+0,16 –M 21

Postupak je okončan – ispunjen je uvjet: cij ≤ 0. Slijedi: x1 = 1 kom, x2 = 5 kom, F = 21 NJ.

8.2.4 Dualni model Kada je to pogodno, rješenje "primala":

F = jx

max⎪⎭

⎪⎬⎫

⎪⎩

⎪⎨⎧∑=

n

1jjj xc F =

jxmin

⎪⎭

⎪⎬⎫

⎪⎩

⎪⎨⎧∑=

n

1jjj xc

≤ gi ( )∑=

n

1jjij xa ≥ gi ( )∑

=

n

1jjij xa

se dobiva rješavanjem "duala":

F = iu

min

⎭⎬⎫

⎩⎨⎧∑=

m

1iii ug F =

iumax

⎭⎬⎫

⎩⎨⎧∑=

m

1iii ug

≥ cj ( )∑=

m

1iiji ua ≤ cj ( )∑

=

m

1iiji ua

PRIMJER P-8.6 Riešiti P-8.6 preko duala.

0. korak – postavljanje matematskog modela i formiranje duala:

9. Postaviti matematski model (funkcija cilja i ograničenja – 8.4.1)

Matematski model:

Funkcija cilja: F = (6 x1 + 3 x2) jx

min

dio A 5 x1 + x2 ≥ 10

Ograničenja: dio B 9 x1 + 13 x2 ≥ 74

dio C x1 + 3 x2 ≥ 9

Page 13: 8. Linearno programiranje - ffri.hrzvonimir/Kvantitativne/08 Linearno programiranje.pdf · Linearno programiranje (LP) je formalni postupak optimalizacije dijelova/sustava kod ko-jih

08. Linearno programiranje 13

10. Formirati dual smjenama: c) u funkciji cilja: xj s ui , te cj s gi (iz ograničenja) d) u ograničenjima: xj s ui , aij s aji , te gi s cj (iz funkcije cilja)

Dualni je model:

F = (10 u1 + 74 u2 + 9 u3) iu

max

5 u1 + 9 u2 + u3 ≤ 6

u1 + 13 u2 + 3 u3 ≤ 3

1. korak – rješavanje duala:

11. Za maksimalizaciju dualnog modela provesti postupak opisan pod 8.3.3 Prilagođeni dualni model:

5 u1 + 9 u2 + u3 + v1 = 6

u1 + 13 u2 + 3 u3 + v2 = 3

F – 10 u1 – 74 u2 – 9 u3 = 0

u1 u2 u3 v1 v2 0,667 5 9 1 1 0 6 0,231 1 13 3 0 1 3

–10 –74 –9 0 0 0

u1 u2 u3 v1 v2 0,910 4,307 0 –1,079 1 –0,693 3,921

3 0,077 1 0,231 0 0,077 0,231 –4,302 0 8,094 0 5,698 17,094

u1 u2 u3 v1 v2 1 0 –0,251 0,232 –0,161 0,910 0 1 0,250 –0,018 0,089 0,161 0 0 7,016 0,999 5,006 21,011

Postupak je okončan – ispunjen je uvjet: gi ≤ 0. Slijedi: v1 = 1 kom, v2 = 5 kom, F = 21 NJ.

12. Za minimalizaciju dualnog modela provesti postupak opisan pod 8.4.3

2. korak – rješavanje primala:

13. Zamjeniti vrijednosti vi s xi

Zamjenom se dobiva: x1 = 1 kom, x2 = 5 kom, F = 21 NJ.

8.3 Zadaci – LP

8.3.1 Maksimalizacija

Z-8.1 Na dva proizvoda (1, 2), pri čijoj se proizvodnji angažiraju tri stroja (A, B, C), mogu se ostvariti dobiti: 1. proizvod: 20 NJ/kom i 2. proizvod: 30

Page 14: 8. Linearno programiranje - ffri.hrzvonimir/Kvantitativne/08 Linearno programiranje.pdf · Linearno programiranje (LP) je formalni postupak optimalizacije dijelova/sustava kod ko-jih

14 Kvantitativne metode

NJ/kom. Proizvod 1 se obrađuje na stroju A 2 h (sata) i na stroju B 2 h, a pro-izvod 2 na stroju A 4 h, stroju B 1 h i na stroju C 4 h. Strojevi su tjedno raspoloživi: A 16 h, B 10 h i C 12 h. Odrediti optimalnu tjednu proizvodnju.

Matematski model/ograničenja: Fmax( NJ/tjd) = 20( NJ/kom) x1( kom/tjd) + 30 x2

2( h/kom) x1( kom/tjd) + 4 x2 ≤ 16( h/tjd)

2 x1 + x2 ≤ 10

4 x2 ≤ 12 Rješenje: x1 = 4 kom/tjd, x2 = 2 kom/tjd, F = 140 NJ/tjd. Opaska: y3 = 4 kom/tjd – stroj 3 je pri optimalnoj proizvodnji raspoloživ još 4 h/tjd.

Z-8.2 Na tri stroja (1, 2, 3) se obrađuju dva proizvoda (A, B). Odrediti optimalnu proizvodnju.

1. stroj

t = 1 h/komA,1

T = 4 h/danr,1 3. stroj

t = 3 h/komA,3

T = 18 h/dan

t = 2 h/kom

r,3

B,3

2. strojT = 12 h/danr,2

t = 2 h/komB,2

A

B

A

B

A

B

T raspoloživost strojat vrijeme obrade proizvodac

r −

dobit−

c = 3 NJ/komA

c = 5 NJ/komB

−Matematski model/ograničenja:

Fmax( NJ/dan) = [3( NJ/kom) xA( kom/dan) + 5 xB]

1( h/kom) xA( kom/dan) ≤ 4( h/dan)

2 xB ≤ 12

3 xA + 2 xB ≤ 18 Rješenje: xA = 2 kom/dan, xB = 6 kom/dan, F = 36 NJ/dan. Opaska: y3 = 2 h/dan – stroj 3 je pri optimalnoj proizvodnji raspoloživ još 3 /dan.

Z-8.3 Od sirovine A se proizvode dva proizvoda (C, D). Kapacitet opreme ograni-čava proizvodnju na: 2 x2 + 3 x3 ≤ 60 kg/dan. Odrediti optimalnu proizvod-nju.

proizvodnisustav

A B + C⇒

AB

Cw maseni sadržajc cijena−− ispust

w = 60 %B

c = 80 NJ/kgB

w = 80 %C

c = 120 NJ/kgC

w = 40 %A

c = 40 NJ/kgA

Matematski model/ograničenja:

Fmax( NJ/dan) = 80( NJ/kg) xB( kg/dan) + 120 xC – 40 xA

0,6( kg/kg)) xB( kg/dan) + 0,8 xC ≥ 0,4( kg/dan)

Page 15: 8. Linearno programiranje - ffri.hrzvonimir/Kvantitativne/08 Linearno programiranje.pdf · Linearno programiranje (LP) je formalni postupak optimalizacije dijelova/sustava kod ko-jih

08. Linearno programiranje 15

2( kg/dan) xB( kg/dan) + 3 xC ≥ 60( kg/dan) Rješenje: xA = 40 kg/dan, xB = 0 kg/dan, F = 800 NJ/dan. Opaska: y2 = 20 kg/dan – pri optimalnoj proizvodnji nedostaje još 20 kg/dan proiz-voda C.

8.3.2 Minimalizacija

Z-8.4 Na dva tipa strojeva (I i II) treba proizvoditi tri vrste dijelova (A, B i C), u minimalnim količinama: A 10 kom/h (komada na sat), B 74 kom/h, C 9 kom/h. Ispitivanjima su utvrđeni kapaciteti strojeva – dio A: I 5 kom/str h

(komada po stroju i satu) i II 1 kom/str h, dio B: I 9 kom/str h i II 13

kom/str h, te dio C: I 1 kom/str h i II 3 kom/str h. Cijene rada strojeva su: I 6

NJ/str h, II 3 NJ/str h. Odrediti optimalnu proizvodnju.

Matematski model/ograničenja: Fmin( NJ/h) = 6( NJ/(str h)) x1( str) + 3 x2

5( kom/(str h)) x1(str) + x2 ≥ 10( kom/h)

9 x1 + 13 x2 ≥ 74

x1 + 3 x2 ≥ 9 Rješenje: x1 = 1 str, x2 = 5 str, F = 140 NJ/h. Opaska: y3 = 7 kom/h – pri optimalnoj proizvodnji nedostaju za izradu još 7 kom/h proizvoda C.

Z-8.5 Na kontroli proizvoda rade dvije grupe kontrolora: 1 s 6 kontrolora i 2 s 10 kontrolora). Dnevno je za 8 h potrebno obaviti kontrolu bar 1800 komada. Kontrolori grupe 1 kontroliraju 25 kom/h, s 2 % grešaka i plaćom od 5 NJ/h, a kontrolori grupe 2 kontroliraju 15 kom/h, s 5 % grešaka i plaćom od 3 NJ/h. Svaki neispravan proizvod pušten na tržište prati šteta od 2 NJ. Odrediti op-timalnu kontrolu.

Matematski model/ograničenja (dnevno): Fmin( NJ) =

[8( h/Knt1) 5 ( NJ/h) + 8( h/Knt1) 2 ( NJ/kom) 25 ( kom/h) 0,02] x1( Knt1) +

+ 8( h/Knt2) 3 ( NJ/h) + 8( h/Knt2) 2 ( NJ/kom) 15 ( kom/h) 0,05] x2( Knt1)

x1( Knt1) ≤ 6

x2( Knt1) ≤ 10

[8( h/Knt1) 25 ( kom/h)] x1( Knt1) + 8 15 x2 ≥ 1800( kom) Rješenje: x1 = 6 Knt1, x2 = 5 Knt2, F = 468 NJ. Opaska: y2 = 5 Knt2 – pet kontrolora iz grupe 2 je ostalo neraspoređeno.

Page 16: 8. Linearno programiranje - ffri.hrzvonimir/Kvantitativne/08 Linearno programiranje.pdf · Linearno programiranje (LP) je formalni postupak optimalizacije dijelova/sustava kod ko-jih

16 Kvantitativne metode

8.3.3 Postoptimalna analiza Nakon određivanja optimalnog rješenja, po potrebi, može se obaviti postoptimalna analiza

– određivanje utjecaja (mogućih) promjena koeficijenata ci (u funkciji cilja), aij i gj (u ograni-čenjima) na optimalno rješenje.

Utjecaj promjena ci na funkciju cilja se opisuje koeficijentima osjetljivosti:

xi*c = ic

F∂

*∂ (F-8.6)

gdje je: * – oznaka za optimalno rješenje. PRIMJER P-8.7

Odredi koeficijente osjetljivosti za P-8.2.

Matematski model:

Funkcija cilja: F = (6 x1 + 3 x2) jx

min

dio A 5 x1 + x2 ≥ 10

Ograničenja: dio B 9 x1 + 13 x2 ≥ 74

dio C x1 + 3 x2 ≥ 9

Optimalno rješenje: x1* = 1 kom, x2* = 5 kom, F* = 21 NJ. F = c1 1 + c2 5

Koeficijenti osjetljivosti :

x1*c = 1c

F∂∂ = 1 x2*c =

2cF

∂∂ = 5

Zaključak: Promjene koeficijenta c2 imaju veći utjecaj na optimalno rješenje od promje-na koeficijenta c1.

Uz korištenje dualnog modela na isti način se može odrediti i utjecaj promjena gj .

Pri određivanju utjecaja aij koristi se matrični račun, a postupak je obrađen u literaturi.

8.4 Transportna metoda Transportna metoda (skraćeno: TM) je formalni postupak dobivanja optimalnih troškova

opskrbe skupa recipijenata (R) iz skupa izvora (I) , uz uvjet linearne ovisnosti troškova tran-sporta o transportiranoj količini.

Opskrba (S-8.3) se može optimalizirati primjenom simplex metode, ali su specifičnosti (koeficijenti aij su jedinice ili nule) dovele do razvoja TM. Danas se TM najčešće koristi za optimalizaciju opskrbe skupa prodavaonica iz skupa skladišta.

Page 17: 8. Linearno programiranje - ffri.hrzvonimir/Kvantitativne/08 Linearno programiranje.pdf · Linearno programiranje (LP) je formalni postupak optimalizacije dijelova/sustava kod ko-jih

08. Linearno programiranje 17

I1 I2

R1 R2

I3 I4

R3 R4 R5

c45

x45

Slika S-8.3 Shematski prikaz transportnog problema

Strojarski inženjeri će najčešće koristiti TM za optimalizaciju:

• razmještaja (pogoni, strojevi, oprema, radnici, skladišta, prostorije),

• dinamike radova (projektiranje, izgradnja, proizvodnja, održavanje, remont).

8.4.1 Postavljanje matematičkog modela • Funkcija cilja – n promjenljivih veličina:

F = (F-8.7) ijx

opt⎪⎭

⎪⎬⎫

⎪⎩

⎪⎨⎧∑∑= =

m

1i

n

1jijij xc

gdje je: cij – jedinični trošak transporta od i-tog izvora do j-tog recipijenta, xij – transportirana količina od i-tog izvora do j-tog recipijenta, m – broj izvora, n – broj recipijenata.

• Skup ograničenja – m + n ograničenja oblika:

= ai (F-8.8) ∑=

n

1jijx

= bj (F-8.9) ∑=

m

1iijx

gdje je: ai – ukupna raspoloživa količina u i-tom izvoru, bj – ukupna potrebna količina j-tog recipijenta. Dodatna su ograničenja (nenegativnosti promjenljivih veličina. te realne vrijed-nosti koeficijenata i slobodnih članova):

xij ≥ 0 (F-8.10) cij , ai , bj ∈ R (F-8.11)

gdje je: R – skup realnih brojeva.

Prema tome, s TM postupkom LP se traži optimum (maksimum ili minimum) za zadanu li-nearnu funkciju cilja F-8.7, s m n promjenljivih veličina, uz zadovoljavanje m + n linearnih ograničenja vrijednosti promjenljivih veličina F-8.8, F-8.9 (F-8.10 i F-8.11).

8.4.2 Zatvoreni transportni problem Raspoloživa količina izvora jednaka potrebnoj količini recipijenata:

Page 18: 8. Linearno programiranje - ffri.hrzvonimir/Kvantitativne/08 Linearno programiranje.pdf · Linearno programiranje (LP) je formalni postupak optimalizacije dijelova/sustava kod ko-jih

18 Kvantitativne metode

= ∑ (F-8.12) ∑=

m

1iia

=

n

1jjb

TM obuhvaća dva koraka:

14. određivanje početnog rješenja

15. određivanje optimalnog rješenja

Minimalizacija PRIMJER P-8.5

Proizvod je potrebno iz četiri skladišta (tabela s količinama i troškovima) transportirati u tri prodavaonice. Optimalizirati transport.

Prodavaonice P1 P2 P3

Raspoloživo na skladištima, kom

S1 c11 = 10 c12 = 12 c13 = 0 a1 = 20 S2 c21 = 8 c22 = 4 c23 = 3 a2 = 30 S3 c31 = 6 c32 = 9 c33 = 4 a3 = 20

Skla

diš-

ta

S4 c41 = 7 c42 = 8 c43 = 5 a4 = 10 Σai = 80 Potrebe

prodavaonica, kom b1 = 40 b2 = 10 b3 = 30 Σbi = 80

1. korak – određivanje početnog rješenja – metoda sjeverozapadnog kuta:

Postupak počinje u gornjem (prednjem) lijevom kutu ("sjeverozapadnom") i odabirue se količina koja potpuno prazni skladište i/ili popunjava prodavaonicu.

80 80 P1 (40) P2 (10) P3 (30) S1 (20) 10 20 12 0 S2 (30) 8 20 4 10 3 S3 (20) 6 9 4 20 S4 (10) 7 8 5 10

F = c11◦x11 + c21◦x21 + c22◦x22 + c33◦x33 + c43◦x43 = 200+160+40+80+50 = 530 NJ 1. korak – određivanje početnog rješenja – metoda najmanjih troškova:

Kod ovog postupka se od početka "skače" po poljima s najmanjim mogućim troškom i odabire količina koja potpuno prazni skladište i/ili popunjava prodavaonicu. Ako je ravnop-ravno više mogućnosti prioritet ima:

polje s većom transportiranom količinom, polje s najmanjim brojem reda, polje s najmanjim brojem kolone.

80 80 P1 (40) P2 (10) P3 (30) S1 (20) 10 12 0 20 S2 (30) 8 10 4 10 3 10 S3 (20) 6 20 9 4 S4 (10) 7 10 8 5

F = c13◦x13 + c23◦x23 + c22◦x22 + c31◦x31 + c41◦x41 + c21◦x21 = 0+30+40+120+70+80 = 340 NJ

Page 19: 8. Linearno programiranje - ffri.hrzvonimir/Kvantitativne/08 Linearno programiranje.pdf · Linearno programiranje (LP) je formalni postupak optimalizacije dijelova/sustava kod ko-jih

08. Linearno programiranje 19

2. korak – određivanje optimalnog rješenja – steping-stone metoda:

U 2. koraku se prethodno određeno početno rješenje P-8.5 optimalizira. Početna rješenje dobiveno metodom najmanjih troškova je i optimalno rješenje (što nije pravilo), te je steping-stone metoda ilustrirana na početnom rješenju dobivenom metodom sjeverozapadnog kuta.

U prvom koraku se izračunavaju relativni troškovi za sva nezauzeta polja, dij (12, 13, 23, 31, 32, 41, 42). Relativni troškovi izražavaju promjene troškova transporta pri uključivanju aktualnog nezauzetog polja – "skače" se po zauzetim poljima ("kamenju") do zatvaranja puta, uz održavanje ravnoteže pražnjenja skladišta i punjenja prodavaonica (S-8.4).

Ako se put ne može zatvorit sa zauzetim poljima (broj zauzetih polja < m + n – 1), uvodi se polje ("kamen") sa zanemarivo malom transportiranom količinom ε (S-8.4 – polje 31).

80 80 P1 (40) P2 (10) P3 (30) S1 (20) 10 20 12 0 S2 (30) 8 20 4 10 3 S3 (20) 6 ε

9 4 20 S4 (10) 7 8 5 10

11

21

12

22

11

31

13

33 31

23

33

11

21

12

22

11

31

13

33

21

31

23

33

41

31 33

43

22

42

21

43

31

3331

21 22

32 Slika S-8.4 Shematski prikaz preračunavanja transportnih troškova – steping-stone meto-

da d12 = c12 – c22 + c21 – c11 = 12 – 4 + 8 – 10 = 6 d13 = c13 – c33 + c31 – c11 = 0 – 4 + 6 – 10 = – 8 d23 = c23 – c33 + c31 – c21 = 3 – 4 + 6 – 8 = – 3 c31 = ε d32 = c32 – c31 + c21 – c22 = 9 – 4 + 3 – 4 = 4 d41 = c41 – c31 + c33 – c43 = 7 – 6 + 4 – 5 = 0 d42 = c42 – c22 + c21 – c31 + c33 – c43 = 8 – 4 + 8 – 6 + 4 – 5 = 5

80 80 P1 (40) P2 (10) P3 (30) S1 (20) 10 20 12 6 0 –8 S2 (30) 8 20 4 10 3 –3 S3 (20) 6 ε

9 4 4 20 S4 (10) 7 0 8 5 5 10

Negativan relativni trošak (dij < 0) znači smanjenje cijene transporta, a pozitivan (dij > 0) povećanje. Prema tome, transport se prebacuje na polje s najnegativnijom vrijednošću relativ-nog troška (d13).

Page 20: 8. Linearno programiranje - ffri.hrzvonimir/Kvantitativne/08 Linearno programiranje.pdf · Linearno programiranje (LP) je formalni postupak optimalizacije dijelova/sustava kod ko-jih

20 Kvantitativne metode

80 80 P1 (40) P2 (10) P3 (30) S1 (20) 10 5 12 11 0 20 S2 (30) 8 20 4 10 3 –3 S3 (20) 6 20 9 7 4 0 S4 (10) 7 0 8 2 5 10

F = c13◦x13 + c21◦x21 + c22◦x22 + c31◦x31 + c43◦x43 = 0+160+40+120+50 = 370 NJ U odnosu na rješenje dobiveno metodom sjeverozapadnog kuta, troškovi transporta su

smanjeni za 160 NJ (530 – 370), ali negativna vrijednost u nezauzetom polju i = 2, j = 3 pret-hodne tabele (d23 = – 3) ukazuje da je moguće dalje smanjivanje troškova.

80 80 P1 (40) P2 (10) P3 (30) S1 (20) 10 5 12 9 0 20 S2 (30) 8 10 4 10 3 10 S3 (20) 6 20 9 8 4 3 S4 (10) 7 10 8 5 5 3

F = c13◦x13 + c21◦x21 + c22◦x22 + c23◦x23 + c31◦x31 + c41◦x41 = 0+80+40+30+120+70 = 340 NJ U odnosu na prethodno rješenje, troškovi transporta su smanjeni za 30 NJ (370 – 340). Ka-

ko su pozitivne sve vrijednost u nezauzetim poljima prethodne tabele (dij > 0) slijedi zaklju-čak da je dobiveno rješenje optimalno.

Putovi transporta se opisuju jednodimenzijskim vektorom:

X = (x13 , x21 , x22 , x23 , x31 , x41 ) = ( 20, 10, 10, 10, 20, 10)

8.4.3 Maksimalizacija PRIMJER P-8.6

Tvrtka proizvodi u četiri tvornice proizvod kojim opskrbljuje četiri prodajna centra. U ta-beli su date količine i dobiti, koje ovise o lokacijama tvornica i prodajnih centara. Optimalizi-rati opskrbu.

Prodajni centri P1 P2 P3 P4

Proizvedeno u tvorni-cama, kom

T1 c11 = 40 c12 = 50 c13 = 80 c14 = 30 a1 = 18 T2 c21 = 10 c22 = 60 c23 = 40 c24 = 50 a2 = 18 T3 c31 = 80 c32 = 90 c33 = 20 c34 = 70 a3 = 18

Tvor

nice

T4 c41 = 40 c42 = 60 c43 = 50 c44 = 20 a4 = 18 Σai = 72 Potrebe prodajnih

centara, kom b1 = 8 b2 = 12 b3 = 20 b4 = 32 Σbi = 72

1. korak – određivanje početnog rješenja – metoda sjeverozapadnog kuta:

72 72 P1 (8) P2 (12) P2 (20) P3 (32) T1 (18) 40 8 50 10 80 30 T2 (18) 10 60 2 40 16 50 T3 (18) 80 90 20 4 70 14 T4 (18) 40 60 50 20 18

Page 21: 8. Linearno programiranje - ffri.hrzvonimir/Kvantitativne/08 Linearno programiranje.pdf · Linearno programiranje (LP) je formalni postupak optimalizacije dijelova/sustava kod ko-jih

08. Linearno programiranje 21

F = c11◦x11 + c12◦x12 + c22◦x22 + c23◦x23 + c33◦x33 + c34◦x34 + c44◦x44 = = 320 + 500 + 120 + 640 + 80 + 980 + 360 = 3.000 NJ

1. korak – određivanje početnog rješenja – metoda najvećih dobiti:

Kod ovog postupka (maksimalizacija) se od početka "skače" po poljima s najvećim mogu-ćim dobitima i odabire količina koja potpuno prazni tvornicu i/ili popunjava prodajni centar. Ako je ravnopravno više mogućnosti prioritet ima:

polje s većom transportiranom količinom, polje s najmanjim brojem reda, polje s najmanjim brojem kolone.

72 72 P1 (8) P2 (12) P2 (20) P3 (32) T1 (18) 40 50 80 18 30

T2 (18) 10 60 40 50 18 T3 (18) 80 6 90 12 20 70

T4 (18) 40 2 60 50 2 20 14

F = c13◦x13 + c24◦x24 + c31◦x31 + c32◦x32 + c41◦x41 + c43◦x43 + c44◦x44 = = 1.440 + 900 + 480 + 1.080 + 80 + 100 + 280 = 4.360 NJ

Dobit je veća od dobiti u rješenju dobivenom metodom sjeverozapadnog kuta.

2. korak – određivanje optimalnog rješenja – steping-stone metoda:

Poboljšava se rješenje dobiveno metodom najveće dobiti, a najpozitivnije su vrijednosti za nezauzeta polja d34 = d42 = 10. d34 = c34 – c44 + c41 – c31 = 70 – 20 + 40 – 80 = 10 d42 = c42 – c41 + c31 – c32 = 60 – 40 + 80 – 90 = 10

Uvodi d34, jer je c34 > c42 (70 > 60).

72 72 P1 (8) P2 (12) P2 (20) P3 (32) T1 (18) 40 50 80 18 30

T2 (18) 10 60 40 50 18 T3 (18) 80 90 12 20 70 6 T4 (18) 40 8 60 50 2 20 8

F = c13◦x13 + c24◦x24 + c32◦x32 + c34◦x34 + c41◦x41 + c43◦x43 + c44◦x44 = = 1.440 + 900 + 1.080 + 420 + 320 + 100 + 160 = 4.420 NJ

d42 = c42 – c31 + c34 – c44 = 60 – 90 + 70 – 20 = 20

72 72 P1 (8) P2 (12) P2 (20) P3 (32) T1 (18) 40 50 80 18 30

T2 (18) 10 60 40 50 18 T3 (18) 80 90 4 20 70 14 T4 (18) 40 8 60 8 50 2 20

F = c13◦x13 + c24◦x24 + c32◦x32 + c34◦x34 + c41◦x41 + c42◦x42 + c43◦x43 = = 1.440 + 900 + 360 + 980 + 320 + 480 + 100 = 4.580 NJ

d31 = c31 – c32 + c42 – c41 = 80 – 90 + 60 – 40 = 10

Page 22: 8. Linearno programiranje - ffri.hrzvonimir/Kvantitativne/08 Linearno programiranje.pdf · Linearno programiranje (LP) je formalni postupak optimalizacije dijelova/sustava kod ko-jih

22 Kvantitativne metode

72 72 P1 (8) P2 (12) P2 (20) P3 (32) T1 (18) 40 50 80 18 30

T2 (18) 10 60 40 50 18 T3 (18) 80 4 90 20 70 14 T4 (18) 40 4 60 12 50 2 20

F = c13◦x13 + c24◦x24 + c31◦x31 + c34◦x34 + c41◦x41 + c42◦x42 + c43◦x43 = = 1.440 + 900 + 320 + 980 + 160 + 720 + 100 = 4.620 NJ

U odnosu na prethodno rješenje, troškovi transporta su smanjeni za 40 NJ (4620 – 4580). Kako su negativne sve vrijednost u nezauzetim poljima prethodne tabele (dij < 0) slijedi zak-ljučak da je dobiveno rješenje optimalno.

Putovi transporta se opisuju jednodimenzijskim vektorom: X = (x13 , x24 , x31 , x34 , x41 , x42 , x43 ) = (18, 18, 4, 14, 4, 12, 2)

8.4.4 Otvoreni transportni problem Otvorenim se naziva transportni problem s različitom ponudom od potražnje. e) ukoliko je ponuda veća od potražnje:

∑ a > ∑ (F-8.13) =

m

1ii

=

n

1jjb

uvodi se fiktivni recipijent bn+1 s troškovima transporta ci(n+1) = 0 i:

b(n+1) = ∑ – ∑ j (F-8.14) =

m

1iia

=

n

1jb

f) ukoliko je ponuda manja od potražnje:

< ∑ (F-8.15) ∑=

m

1iia

=

n

1jjb

uvodi se fiktivni izvor an+1 s troškovima transporta c(n+1)j = 0 i:

a(n+1) = ∑ – ∑ ia (F-8.16) =

n

1jjb

=

m

1i

Dalji postupci su isti kao prethodno opisani za zatvorene transportne probleme (minimali-zacija – 8.8.3.1 i maksimalizacija – 8.8.3.2).

8.4.5 Zadaci – TP Z-8.6 Proizvod je potrebno iz četiri skladišta transportirati u tri prodavaonice. U tab-

lici su date raspoložive količine na skladištima, potrebne količine u prodavao-nicama i troškovi transporta. Optimalizirati transport.

Prodavaonice Skladišta P1 (40) P2 (10) P3 (30)

S1 (20) 10 12 0 S2 (30) 8 4 3 S3 (20) 6 9 4 S4 (10) 7 8 5

Page 23: 8. Linearno programiranje - ffri.hrzvonimir/Kvantitativne/08 Linearno programiranje.pdf · Linearno programiranje (LP) je formalni postupak optimalizacije dijelova/sustava kod ko-jih

08. Linearno programiranje 23

Rješenje: = (x13 , x21 , x22 , x23 , x31 , x41 ) = ( 20, 10, 10, 10, 20, 10)

ajna

X F = 340 NJ

Z-8.7 Tvrtka proizvodi u četiri tvornice proizvod kojim opskrbljuje četiri prodcentra. U tabeli su date količine koje mogu proizvesti tvornice (u zagradama) i količine koje mogu prodati prodajni centri. Dobiti navedene u poljima tabele ovise o lokacijama tvornica i prodajnih centara. Optimalizirati opskrbu.

Prodajni centri Tvornice P1 (8) P2 0) P4 (32) (12) P3 (2

T1 (18) 40 50 80 30 T2 (18) 10 60 40 50 T3 (18) 80 90 20 70 T4 (18) 40 60 50 20

Rješenje: (x13 , x24 , x31 , x34 , x41 , x42 , x43 ) = (18, 18, 4, 14, 4, 12, 2)

Z-8.9 Četiri potrošačka centra op rnice. Optimalizirati transport.

X = F = 4.620 NJ

skrbljuju tri tvo

Prodajni centri Tvornice P1 (70) P2 (40) P4 (60) P5 (50) P3 (30)

T1 (20) 4 2 5 7 6 T2 (110) 7 8 3 4 5 T3 (120) 2 1 4 3 2

Rješenje: X = (x12 , x23 , x24 , x25 , x31 , x32 , x35 ) = ( 20, 30, 60, 20, 70, 20, 30)

Z-8.9 U slučaju rata iz četiri baze treb oružje na pet položaja. U poljima

Baze

F = 690 NJ

a dopremiti tabele su data vremena, u satima, potrebna za dopreme. Optimalizirati dopre-mu.

Položaji B1 (24) B2 (16) B 4 (20) B5 (8) 3 (10) B

P1 (28) 3 9 8 10 4 P2 (13) 6 10 3 2 3 P3 (19) 3 2 7 1 0 3 P4 (18) 3 2 3 2 8

Rješenje: (jedno od viš ogućih) , x43 , x44 ) = (24, 4, 12, 1, 16, 3, 10, 8)

8.5 Metoda raspodjele alni postupak dobivanja optimalne raspodjele m

ak

e m X = (x11 , x15 , x24 , x25 , x32 , x35

F = 202 h

Metoda raspodjele (skraćeno: MR) je formtivnosti (A – S-8.5) ili resursa na n radnika (R) ili lokacija. Uvjet je da se jedna aktiv-

nost/resurs može dodijeliti samo jednom radniku/lokaciji.

Page 24: 8. Linearno programiranje - ffri.hrzvonimir/Kvantitativne/08 Linearno programiranje.pdf · Linearno programiranje (LP) je formalni postupak optimalizacije dijelova/sustava kod ko-jih

24 Kvantitativne metode

Postupak MR je specifičan i njegov će tijek biti pojašnjen na primjerima minimalizacije (na primjer, troškova) i maksimalizacije (na primjer, dobiti).

A1 A A A2

R1 R2

3 4

R3 R4 R5

c45

Slika S-8.5 Shematski prikaz problema raspodjele

Strojarski inženjeri će najčešće koristiti MR za optimalizaciju raspodjele:

• uposlenika (radnika po strojevima, inženjera po projektima),

• poslova (poslova po strojevima, projekata po odjelima).

8.5.1 Postavljanje matematičkog modela • Funkcija cilja – n promjenljivih veličina:

F = (F-8.17) ijx

opt⎪⎭

⎪⎬⎫

⎪⎩

⎪⎨⎧∑∑= =

m

1i

n

1jijij xc

gdje je: cij – jedinični trošak transporta od i-tog izvora do j-tog recipijenta, xij – transportirana količina od i-tog izvora do j-tog recipijenta, m – broj izvora, n – broj recipijenata.

• Skup ograničenja – m + n ograničenja oblika:

∑ = 1 (F-8.18) =

m

1iijx

∑ = 1 (F-8.19) =

n

1jijx

Prema tome, s MP postupkom LP se traži optimum (maksimum ili minimum) za zadanu li-nearnu funkciju cilja F-8.17, s m n promjenljivih veličina, uz zadovoljavanje m + n linear-nih ograničenja vrijednosti promjenljivih veličina F-8.18, F-8.19.

8.5.2 Minimalizacija

PRIMJER P-8.7

Pet radnika treba obaviti pet poslova. Svaki radnik je osposobljen za obavljanje svih poslo-va, ali pri tome radnici utroše različita vremena, navedena u poljima tabele (u satima), za obavljanje istih/različitih poslova. U aktualnom vremenskom razdoblju jedan radnik može biti angažiran samo na jednom od poslova. Odrediti optimalnu proizvodnju.

Page 25: 8. Linearno programiranje - ffri.hrzvonimir/Kvantitativne/08 Linearno programiranje.pdf · Linearno programiranje (LP) je formalni postupak optimalizacije dijelova/sustava kod ko-jih

08. Linearno programiranje 25

Poslovi Radnici P1 P2 P3 P4 P5

R1 3 21 12 6 10 R2 8 23 2 5 5 R3 33 14 13 10 7 R4 14 21 19 11 11 R5 9 16 10 15 13

16. Oduzima se: (određuje se koji radnici najučinkovitije obavljaju poslove) g) najmanje polje kolone od svih polja kolone

17. najmanje polje reda od svih polja reda koji ne sadrži nule dobivene prethod-nim oduzimanjem (redovi označeni u tabeli) –

18. Razvrstavaju se nule na: h) nezavisne (nule označene u tabeli) – 1. jedina u redu i 2. jedna od nula kojih ima

više u redu 19. zavisne (nule precrtane u tabeli) – 1. ostale nule u koloni s nezavisnom nulom

i 2. ostale nule u redu s nezavisnom nulom

20. Provjerava se da li je dobiveno rješenje optimalno (broj nezavisnih nula = broju poslova)

Poslovi Radnici P1 P2 P3 P4 P5

R1 0 7 10 1 5 R2 5 9 0 0 0 R3 30 0 11 5 2 R4 5 1 11 0 0 R5 4 0 6 8 6

Dobiveno rješenje nije optimalno jer je broj nezavisnih nula < broja poslova.

21. Usmjeravanje postupka optimaliziracije: i) označiti redove bez nezavisnih nula

d) precrtati kolone u kojima prethodno označeni redovi imaju zavisne nule 22. označiti redove sa nezavisnim nulama u prethodno označenim kolonama 23. precrtati kolone u kojima prethodno označeni redovi imaju zavisne nule 24. ponavljati korake c) ⇒ d) ⇒ c) … dok je to moguće (do pojave označenih re-

dova bez zavisne nule ili precrtanih kolona bez nezavisne nule) e) precrtati neoznačene redove (točke 4.a) i/ili 4.c))

Poslovi Radnici P1 P2 b) P3 P4 P5

R1 0 7 10 1 5 R2 5 9 0 0 0

R3 c) 30 0 11 5 2 R4 5 1 11 0 0

R5 a) 4 0 6 8 6

25. Optimaliziracije: j) odrediti najmanje neprecrtano polje (2 – polje 34)

Page 26: 8. Linearno programiranje - ffri.hrzvonimir/Kvantitativne/08 Linearno programiranje.pdf · Linearno programiranje (LP) je formalni postupak optimalizacije dijelova/sustava kod ko-jih

26 Kvantitativne metode

26. dodati vrijednost najmanjeg polja vrijednostima svih dvostruko precrtanih polja

f) oduzeti vrijednost ovog polja od vrijednosti svih neprecrtanih polja

27. Ponavljati postupak do dobivanja optimalnog rješenja:

Poslovi Radnici P1 P2

P3 P4 P5 R1 0 9 10 1 5 R2 5 11 0 0 0 R3

28 0 9 3 0 R4 5 3 11 0 0 R5

2 0 4 6 4

Dobiveno rješenje je optimalno jer je broj nezavisnih nula = broju poslova. X = (x11 , x23 , x35 , x44 , x52 ) = (1, 1, 1, 1, 1)

F = c11 x11 + c23 x23 + c35 x35 + c44 x44 + c52 x52 =

3 1 + 2 1 + 7 1 + 11 1 + 16 1 = 39 h

8.5.3 Maksimalizacija PRIMJER P-8.8

Od raspoloživih pet radnika treba odabrati tim za rad na četiri dobavljena stroja. Broj ko-mada koji su izradili radnici tijekom testiranja na dobavljenim strojevima je dat u tabeli. Oda-brati optimalni tim.

Strojevi Radnici S1 S2 S3 S4

R1 5 6 5 1 R2 4 6 4 1 R3 8 6 7 6 R4 2 4 4 4 R5 6 10 9 4

0. Prilagodba tabele k) uvođenjem dopunske kolone/reda formirati kvadratnu matricu

1. u svakoj koloni se od svih polja oduzima vrijednost najvećeg polja u koloni 2. vrijednosti svih polja se množe s – 1

Strojevi Radnici S1 S2 S3 S4 S5

R1 3 4 4 5 0 R2 4 4 5 5 0 R3 0 4 2 0 0 R4 6 6 5 2 0 R5 2 0 0 2 0

3. Kako je: Fmax = C X = Fmin = – C X provodi se postupak minimalizacije (8.10.3 – P-8.8)

Page 27: 8. Linearno programiranje - ffri.hrzvonimir/Kvantitativne/08 Linearno programiranje.pdf · Linearno programiranje (LP) je formalni postupak optimalizacije dijelova/sustava kod ko-jih

08. Linearno programiranje 27

Strojevi Radnici S1 S2 S3 S4 S5

R1 3 4 4 5 0 R2 4 4 5 5 0 R3 0 4 2 0 0 R4 6 6 5 2 0 R5 2 0 0 2 0

Strojevi Radnici S1 S2 S3 S4 S5

R1 1 2 2 3 0 R2 2 2 3 3 0 R3 0 4 2 0 2 R4 4 4 3 0 0 R5 2 0 0 2 2

Strojevi Radnici S1 S2 S3 S4 S5

R1 0 1 1 2 0 R2 1 1 2 2 0 R3 0 4 2 0 3 R4 4 4 3 0 1 R5 2 0 0 2 3

Strojevi Radnici S1 S2 S3 S4 S5 R1 0 0 0 2 0 R2 1 0 1 2 0 R3 0 3 1 0 3 R4 4 3 2 0 1 R5 3 0 0 3 4

Strojevi Radnici S1 S2 S3 S4 S5

R1 0 0 0 2 0 R2 1 0 1 2 0 R3 0 3 1 0 3 R4 4 3 2 0 1 R5 3 0 0 3 4

Dobivena su dva moguća optimalna rješenja – broj zavisnih nula = broju poslo-va. U prvom rješenju će tim biti formiran od radnika R2, R3, R4 i R5 (radnik R1 otpada jer je raspoređen na fiktivno radno mjesto), a u drugom od radnika R1, R3, R4 i R5 (radnik R2 otpada jer je raspoređen na fiktivno radno mjesto). Optimalno rješenje o izboru radnika R1 ili R2 u tim mora biti donesena na te-melju dodatnih kriterija. Međutim, iz rješenja se zapaža kako će o izboru radnika R1 ili R2 ovisiti i raspored radnika R5 na stroj S3 ili S2.

Za prvo moguće optimalno rješenje je: X = (x15 , x22 , x31 , x44 , x53 ) = (1, 1, 1, 1, 1, 0)

F = c15 x15 + c22 x22 + c31 x31 + c44 x44 + c53 x53 =

Page 28: 8. Linearno programiranje - ffri.hrzvonimir/Kvantitativne/08 Linearno programiranje.pdf · Linearno programiranje (LP) je formalni postupak optimalizacije dijelova/sustava kod ko-jih

28 Kvantitativne metode

0 1 + 6 1 + 8 1 + 4 1 + 9 1 = 27 kom

a za drugo: X = (x13 , x25 , x31 , x44 , x52 ) = (1, 1, 1, 1, 1, 0)

F = c13 x13 + c25 x25 + c31 x31 + c44 x44 + c52 x52 =

5 1 + 0 1 + 8 1 + 4 1 + 10 1 = 27 kom

8.5.4 Zadaci – MR Z-8.10 Pet radnika treba obaviti pet poslova. Svaki radnik je osposobljen za obav-

ljanje svih poslova, ali pri tome radnici utroše različita vremena, navedena u poljima tabele (u satima), za obavljanje istih/različitih poslova. U aktualnom vremenskom razdoblju jedan radnik može biti angažiran samo na jednom od poslova. Odrediti optimalnu proizvodnju.

Poslovi Radnici P1 P2 P3 P4 P5

R1 3 21 12 6 10 R2 8 23 2 5 5 R3 33 14 13 10 7 R4 14 21 19 11 11 R5 9 16 10 15 13

Rješenje: X = (x11 , x23 , x35 , x44 , x52 ) = (1, 1, 1, 1, 1)

F = 39 h

Z-8.11 Od raspoloživih pet radnika treba odabrati tim za rad na četiri dobavljena stroja. Broj komada koji su izradili radnici tijekom testiranja na dobavljenim strojevima je dat u tabeli. Odabrati optimalni tim.

Strojevi Radnici S1 S2 S3 S4

R1 5 6 5 1 R2 4 6 4 1 R3 8 6 7 6 R4 2 4 4 4 R5 6 10 9 4

Rješenje: (a) X = (x15 , x22 , x31 , x44 , x53 ) = (1, 1, 1, 1, 1, 0) F = 27 kom (b) X = (x13 , x25 , x31 , x44 , x52 ) = (1, 1, 1, 1, 1, 0) F = 27 kom