Linearno programiranje Nerman Ljevo MA Vii asistent Kabinet
Linearno programiranje Nerman Ljevo, MA Viši asistent Kabinet 1 ljevo. nerman@gmail. com 09. 11. 2017.
Osnovni pojmovi � Funkcija cilja � Proizvodi � Minimum i maksimum � Ograničenja, ≤, ≥ � Grafikon � Definiciono područje
Preporuke za studente � Pročitati zadatak, � Identifikovati funkciju cilja (Z) – funkcija cilja nam je vezana za Novčane jedinice, KM, Euro, Dinar, Dolar i sl. Funkcija cilja izgleda npr: Z = 3 x 1 + 2 x 2 � Identificiramo šta su nam varijable u zadatku (x 1, x 2…). To su obično proizvodi koje preduzeće proizvodi (npr. Proizvod A i Proizvod B).
Preporuke za studente � Funkcija cilja mora da teži ili maksimumu ili minimumu. Ukoliko preduzeće želi da maksimizira dobitak, prihod, profit i sl. , onda funkcija cilja teži maksimumu. Ukoliko preduzeće želi što niže troškove preduzeće teži minimumu. � Identificiramo set ograničenja. Ukoliko funkcija teži maksimumu onda je znak u ograničenjima (nejednačinama) ≤ (manjeilijednako), ukoliko funkcija cilja teži minimumu onda je znak u ograničenjima (nejednačinama) ≥ (većeilijednako).
Preporuke za studente � Sljedeći korak je stavljanje znaka jednakosti u svaku od nejednačina i riješavanje istih po određenim pretpostavkama. Za svaku jednačinu gledamo koliko nam je x 1 ukoliko nam je x 2= 0 i koliko je x 2 ukoliko nam je x 1=0. � Kada smo dobili tačke crtamo grafikon, gdje je uspravna linija x 2, a vodoravna linija grafikona je x 1. Nanosimo prethodno dobijene tačke na grafikon. � Tačke koje smo nanijeli na grafikon spajamo, te gledajući o kojem ograničenju se radi (manjeilijednako ili većeilijednako) zatvaramo definiciono područje.
Preporuke za studente � Vrhovi definicionog područja su tačke koje označavamo sa A, B, C, D…. � Identificiramo x 1 i x 1 (koordinate) svake tačke. Tačke koje ne možemo identificirati pregledom grafikona dobijamo riješavanjem sistemom jednačina (vidjeti primjere). � Kada se identificiraju sve koordinate za svaku od tačaka, iste uvrštavamo u funkciju cilja i tražimo maksimum ili minimum (ovisno od postavke zadatka). Ukoliko naša funkcija cilja teži max, tražimo najveće riješenje, ukoliko teži min, tražimo najmanje riješenje. � Na kraju, funkciju cilja izjednačavamo sa nulom i riješavamo x 1 i x 2 na bazi pretpostavke (0 i 1), te nanosimo funkciju cilja na grafikon.
Primjer 1 �Z = 40 x 1 + 30 x 2 � x 1 + x 2 ≤ 40 � 2 x 1 + x 2 ≤ 60 � x 1 ≤ 25 � x 2 ≤ 30 � x 1 ≥ 0 ; x 2 ≥ 0 max
� x 1 + x 2 ≤ 40 � x 1 + x 2 = 40 � Ako je x 1 = 0 onda je x 2 = 40; � Ako je x 2 = 0 onda je x 1 = 40 � 2 x 1 + x 2 ≤ 60 � 2 x 1 + x 2 = 60 � Ako je x 1 = 0 onda je x 2 = 60; � Ako je x 2 = 0 onda je x 1 = 60/2 = 30
� A(0, 30) � B(1. i 4. ) � x 1 + x 2 ≤ 40 � x 2 = 30 � x 1 + 30 = 40 � x 1 = 40 – 30 � 27 x 1= 10 � B(10, 30)
� � � � x 1 + x 2 = 40 2 x 1 + x 2 = 60 x 1 = 40 - x 2 2*(40 - x 2) + x 2 = 60 80 – x 2 = 60 x 2 = 20 x 1 = 40 - x 2 = 20 C (20, 20) D (2 i 3. ) 2 x 1 + x 2 = 60 x 1 = 25 50 + x 2 = 60 x 2 = 10 D(25, 10) E(25, 0)
A x 1 x 2 Z = 40 x 1 + 30 x 2 max 0 30 40 * 0 + 30 * 30 = 900 B 10 30 40 * 10 + 30 * 30 = 1300 C 20 20 40*20 + 30*20 = 1400 D 25 10 40 * 25 + 30 * 10 = 1300 E 25 40 * 25 + 30 * 0 = 1000 0
� *** Veličine iz zadataka su izražene u hiljadama (000) što znači da je naš konačni rezultat: 1. 080. 000 novčanih jedinica – maksimalan profit. � Na kraju zadatka potrebno je da nacrtamo funkciju cilja! � Z = 140 x 1 + 80 x 2 max � 140 x 1 + 80 x 2 = k x 0 1 x 0 -7/4 �k = 0 � 140 x 1 + 80 x 2 = 0 � 80 x 2 = - 140 x 1 � x 2 = - 140/80 x 1 1 2
�U posljednjem dijelu zadatka potrebno je nacrtati funkciju cilja: � Z = 40 x 1 + 30 x 2 max � 40 x 1 + 30 x 2 = k �k = 0 x 0 1 � 40 x 1 + 30 x 2 = 0 x 0 -4/3 � 30 x 2 = - 40 x 1 � x 2 = - 4/3 x 1 1 2
Primjer 2 Gospodarsko društvo proizvodi dobra A i B. Strojevi što se koriste u proizvodnji imaju maksimalni mjesečni kapacitet 24. 000 radnih sati, a jedinica dobra A se može izraditi za 3 sata i B za 2 sata rada strojeva. Može se računati najviše s 35. 000 radnih sati radnika. A potrebno vrijeme izrade jedinice dobra A je 2, 5 i B 5 sati. Istraživanje tržišta kazuje da se najviše može prodati 6000 jedinica dobra A i 5000 jedinica dobra B. � Dobit po jedinici dobra A je 140 novčanih jedinica, a dobra B 80 novčanih jedinica. � Ako je cilj ostvarivanje maksimalne dobiti treba: � Formirati model lineranog programiranja, � Izračunati optimalni program proizvodnje! � Koristiti se grafičkom metodom! �
�Z = 140 x 1 + 80 x 2 max � 3 x 1 + 2 x 2 ≤ 24. 000 � 2, 5 x 1 + 5 x 2 ≤ 35. 000 � x 1 ≤ 6. 000 � x 2 ≤ 5. 000 � x 1 ≥ 0 ; x 2 ≥ 0
� (1) 3 x 1 + 2 x 2 ≤ 24. 000 � 3 x 1 + 2 x 2 =24. 000 � Ako je x 1 = 0 onda je x 2 = � Ako je x 2 = 0 onda je x 1 = � (2) 2, 5 x 1 + 5 x 2 ≤ 35. 000 � 2, 5 x 1 + 5 x 2 = 35. 000 � Ako je x 1 = 0 onda je x 2 = � Ako je x 2 = 0 onda je x 1 = � (3) x 1 ≤ 6. 000 � x 1 = 6. 000 � (4) x 2 ≤ 5. 000 � x 2 =5. 000 24. 000/2 = 12. 000; 24. 000/3 = 8. 000 35. 000/5 = 7. 000; 35. 000/2. 5 = 14. 000
� � � � � A (0, 5000) B(2 i 4. ) 2, 5 x 1 + 5 x 2 = 35. 000 x 2 = 5. 000 x 1 = 4. 000 B(4. 000, 5. 000) C(2. i 1. ) 3 x 1 + 2 x 2 = 24. 000 2, 5 x 1 + 5 x 2= 35. 000 x 2 = (24. 000 - 3 x 1 )/ 2 x 2 = 4. 500 x 1 = 5. 000 C(5. 000, 4. 000) D(1. i 3. ) 3 x 1 + 2 x 2= 24. 000 x 1 = 6. 000 x 2= 3. 000 D(6. 000, 3. 000) E(6. 000. 0)
***Veličine u tabeli se odnose na hiljade (000)! x 1 x 2 Z = 140 x 1 + 80 x 2 max A 0 5 140 * 0 + 80 * 5 = 400 B 4 5 140 * 4 + 80 *5 = 960 C 5 4 140*5 + 80*4, 5 = 1060 D 6 3 140 * 6 + 80* 3 = 1080 E 6 0 140 * 6 + 80 * 0 = 840
Primjer 3. � U dva pogona gospodarskog društva mogu se proizvoditi dva proizvoda. Strojevi prvog pogona (S 1) imaju mjesečni kapacitet od 450 sati, a drugog (S 2) 600 sati. Potreban broj sati rada strojeva u proizvodnji jedinice proizvoda je sljedeći: Proizvodi � � � 1. 1. Proizvod (x 1) Proizvod (x 2) Radni sati strojeva S 1 2 1 S 2 2 2 Donesena je odluka na temelju analize troškova da se mora proizvesti najmanje 100 jednica 1. proizvoda. Dohodak jedinice prvog proizvoda je 10 a 2. proizvoda je 10 novčanih jedinica. Cilj je ostvarenje maksimalnog dohotka. Treba, koristeći se grafičkom metodom, izračunati optimalno riješenje. 9/17/2020
�Z = 10 x 1 + 10 x 2 � 2 x 1 + x 2 ≤ 450 � 2 x 1 + 2 x 2 ≤ 600 � x 1≥ 100 � x 1 ≥ 0 ; x 2 ≥ 0 max 9/17/2020
� 2 x 1 + x 2 ≤ 450 � 2 x 1 + x 2 = 450 � Ako je x 1 = 0, onda je x 2 = 450; � Ako je x 2 = 0, onda je x 1 = 450/2 = 225 � 2 x 1 + 2 x 2 ≤ 600 � 2 x 1 + 2 x 2 = 600 � Ako je x 1=0 onda je x 2=600/2 = 300; � Ako je x 2=0 onda je x 1=600/2=300. � x 1≥ 100 � x 1=100. 9/17/2020
9/17/2020
� Tačka A (100, 0) � Tačka B (2. i 3. jednačina) � 2 x 1 + 2 x 2 = 600 � x 1 = 100 � 2*100 + 2 x 2 = 600 � 2 x 2 = 600 – 200 = 400 pa je x 2 =200 � B(100, 200) 9/17/2020
A B C D x 1 100 150 200 x 2 0 200 150 0 Z = 10 x 1 + 10 x 2 max 10 *100 + 10 * 0 = 1. 000 10* 100 + 10 *200 = 3. 000 10*150 + 10*150 = 3. 000 10* 200 + 10* 0 = 2. 000 9/17/2020
� Na kraju zadatka potrebno je nacrtati funkciju cilja! � Z = 10 x 1 + 10 x 2 max � 10 x 1 + 10 x 2 = 0 � 10 x 2 = - 10 x 1 x 0 1 � x 2 = - 1 x 1 1 x 2 0 -1 9/17/2020
- Slides: 28