Przykład 1 - model. |
|
|
|
|
|
|
|
|
|
|
|
|
W mieście ABC funkcjonuje dwóch dostawców (D1, D2) pewnego produktu oraz trzech odbiorców (O1, O2, O3). |
|
|
|
|
|
|
|
|
|
|
|
|
Tygodniowe zapotrzebowanie odbiorców to odpowiednio 100, 200, 150 ton produktu, natomiast dostawcy dysponują 200 i 250 tonami. |
|
|
|
|
|
|
|
|
|
|
|
|
Jednostkowe koszty transportu produktu przedstawia poniższa tabela (zł/tonę): |
|
|
|
|
|
|
|
|
|
|
|
|
|
O1 |
O2 |
O3 |
|
|
|
|
|
|
|
|
|
D1 |
30 |
20 |
20 |
|
|
|
|
|
|
|
|
|
D2 |
10 |
40 |
30 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Należy zaplanować przewozy tak, aby tygodniowy koszt transportu był minimalny. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Rozwiązanie |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Przed sformułowaniem modelu PL (programowania liniowego, inaczej modelu matematycznego) |
|
|
|
|
|
|
|
|
|
|
|
|
należy uważnie przeczytać zadanie i określić zmienne decyzyjne, funkcję celu oraz ograniczenia. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Zauważmy, że: |
|
|
|
|
|
|
|
|
|
|
|
|
- przewiezienie 1 tony produktu od D1 do O1 kosztuje 30 zł |
|
|
|
|
|
|
|
|
|
|
|
|
- przewiezienie 1 tony produktu od D1 do O3 kosztuje 20 zł |
|
|
|
|
|
|
|
|
|
|
|
|
- przewiezienie 1 tony produktu od D2 do O3 kosztuje 30 zł |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Przykładowe rozwiązanie mogłoby wyglądać następująco: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
O1 |
O2 |
O3 |
Razem |
|
Przedstawiona tabela przedstawia wielkości przewozów: |
|
|
|
|
|
|
D1 |
100 |
100 |
|
200 |
|
- od dostawcy D1 produkty będą dostarczane do O1 (100 ton) oraz do O2 (100 ton) |
|
|
|
|
|
|
D2 |
|
100 |
150 |
250 |
|
- od dostawcy D2 produkty będą dostarczane do O2 (100 ton) oraz do O3 (150 ton) |
|
|
|
|
|
|
Razem |
100 |
200 |
150 |
|
|
Łącznie od dostawcy pierwszego - 200 ton, od drugiego 250 ton. |
|
|
|
|
|
|
|
|
|
|
|
|
Odbiorca pierwszy otrzyma 100 ton, drugi 200 ton, trzeci 150 ton. |
|
|
|
|
|
|
|
|
|
|
|
|
Jest to zgodne z warunkami zadania (w przypadku wątpliwości proszę przeczytać ponownie treść). |
|
|
|
|
|
|
|
|
|
|
|
|
Koszt takiego przewozu to: |
|
|
|
|
|
|
|
|
|
|
|
|
= 30*100 + 20*100 + 20*0 + 10*0 + 40*100 + 30*150 |
|
|
|
|
= |
13500 |
|
|
|
|
|
|
Koszty jednostkowe są brane z tabeli z treści zadania, wielkości przewozów - z tabeli przewozów (zaznaczone kolorem). |
|
|
|
|
|
|
Inne rozwiązanie to np.: |
|
|
|
|
|
|
|
|
|
|
|
|
|
O1 |
O2 |
O3 |
Razem |
|
Przedstawiona tabela przedstawia wielkości przewozów: |
|
|
|
|
|
|
D1 |
|
200 |
|
200 |
|
- od dostawcy D1 produkty będą dostarczane do O2 (200 ton) |
|
|
|
|
|
|
D2 |
100 |
|
150 |
250 |
|
- od dostawcy D2 produkty będą dostarczane do O1 (100 ton) oraz do O3 (150 ton) |
|
|
|
|
|
|
Razem |
100 |
200 |
150 |
|
|
Łącznie od dostawcy pierwszego - 200 ton, od drugiego 250 ton. |
|
|
|
|
|
|
|
|
|
|
|
|
Odbiorca pierwszy otrzyma 100 ton, drugi 200 ton, trzeci 150 ton. |
|
|
|
|
|
|
|
|
|
|
|
|
Jest to zgodne z warunkami zadania. |
|
|
|
|
|
|
|
|
|
|
|
|
Koszt takiego przewozu to: |
|
|
|
|
|
|
|
|
|
|
|
|
= 30*0 + 20*200 + 20*0 + 10*100 + 40*0 + 30*150 |
|
|
|
|
= |
9500 |
Wyszło taniej, ale czy jest najtaniej? |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Naszym zadaniem jest zaplanowanie przewozów tak, aby łączny koszt był jak najniższy. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
To co tworzy nam rozwiązanie to wielkości przewozów - to nasze zmienne decyzyjne. |
|
|
|
|
|
|
|
|
|
|
|
|
Mamy sześć możliwych tras - D1-O1, D1-O2, D1-O3, D2-O1, D2-O2, D2-O3. |
|
|
|
|
|
|
|
|
|
|
|
|
Oznaczmy zatem: |
|
|
|
|
|
|
|
|
|
|
|
|
x11 - wielkość przewozu od D1 do O1 (piewsza cyfra indeksu dolnego określa D, druga O) |
|
|
|
|
|
|
|
|
|
|
|
|
x12 - wielkość przewozu od D1 do O2 |
|
|
|
|
|
|
|
|
|
|
|
|
x13 - wielkość przewozu od D1 do O3 |
|
|
|
|
|
|
|
|
|
|
|
|
x21 - wielkość przewozu od D2 do O1 |
|
|
|
|
|
|
|
|
|
|
|
|
x22 - wielkość przewozu od D2 do O2 |
|
|
|
|
|
|
|
|
|
|
|
|
x23 - wielkość przewozu od D2 do O3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Funkcja celu określa jaki jest koszt przewozu dla zadanego planu przewozów. |
|
|
|
|
|
|
|
|
|
|
|
|
Zapisujemy: |
|
|
|
|
|
|
|
|
|
|
|
|
F = 30x11 + 20x12 + 20x13 + 10x21 + 40x22 + 30x23 -> minimum |
|
|
|
|
|
|
|
|
|
|
|
|
Czyli szukamy takich wartości x, dla których funkcja celu (to jest koszt transportu) jest jak najmniejszy. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Oczywiście najtaniej byłoby nic nie przewozić, ale wtedy nie zaspokoimy zapotrzebowania odbiorców. |
|
|
|
|
|
|
|
|
|
|
|
|
Musimy zatem wziąć pod uwagę to, co należy przewieźć. |
|
|
|
|
|
|
|
|
|
|
|
|
Zapisujemy zatem warunki ograniczające: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
D1 |
x11 + x12 + x13 = 200 |
|
|
tyle łącznie wyjedzie od dostawcy D1 (do O1, O2 i O3) |
|
|
|
|
|
|
|
|
D2 |
x21 + x22 + x23 = 250 |
|
|
tyle łącznie wyjedzie od dostawcy D2 |
|
|
|
|
|
|
|
|
O1 |
x11 + x21 = 100 |
|
|
tyle łącznie otrzyma O1 (od D1 i D2) |
|
|
|
|
|
|
|
|
O2 |
x12 + x22 = 200 |
|
|
tyle łącznie otrzyma O2 (od D1 i D2) |
|
|
|
|
|
|
|
|
O3 |
x13 + x23 = 150 |
|
|
tyle łącznie otrzyma O3 (od D1 i D2) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Jeśli (tak jak w przykładzie powyżej) x12=100, x21=100 i x23=150, to oznacza, że: |
|
|
|
|
|
|
|
|
|
|
|
|
- od D1 wyjedzie 100, od D2 - 250 (100+150) |
|
|
|
|
|
|
|
|
|
|
|
|
- O1 otrzyma 100, O2 - 100, O3 - 150. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Dodatkowymi warunkami są warunki nieujemności (zakładamy brak możliwości zwrotów): |
|
|
|
|
|
|
|
|
|
|
|
|
x11 >= 0 |
|
|
|
|
|
|
|
|
|
|
|
|
x12 >= 0 |
|
|
|
|
|
|
|
|
|
|
|
|
x13 >= 0 |
|
|
|
|
|
|
|
|
|
|
|
|
x21 >= 0 |
|
|
|
|
|
|
|
|
|
|
|
|
x22 >= 0 |
|
|
|
|
|
|
|
|
|
|
|
|
x23 >= 0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Model matematyczny: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
F = 30x11 + 20x12 + 20x13 + 10x21 + 40x22 + 30x23 -> minimum |
|
|
|
|
|
|
|
|
|
|
|
|
x11 + x12 + x13 = 200 |
|
|
|
|
|
|
|
|
|
|
|
|
x21 + x22 + x23 = 250 |
|
|
|
|
|
|
|
|
|
|
|
|
x11 + x21 = 100 |
|
|
|
|
|
|
|
|
|
|
|
|
x12 + x22 = 200 |
|
|
x11 - wielkość przewozu od D1 do O1 (piewsza cyfra indeksu dolnego określa D, druga O) |
|
|
|
|
|
|
|
|
|
x13 + x23 = 150 |
|
|
x12 - wielkość przewozu od D1 do O2 |
|
|
|
|
|
|
|
|
|
x11 >= 0 |
|
|
x13 - wielkość przewozu od D1 do O3 |
|
|
|
|
|
|
|
|
|
x12 >= 0 |
|
|
x21 - wielkość przewozu od D2 do O1 |
|
|
|
|
|
|
|
|
|
x13 >= 0 |
|
|
x22 - wielkość przewozu od D2 do O2 |
|
|
|
|
|
|
|
|
|
x21 >= 0 |
|
|
x23 - wielkość przewozu od D2 do O3 |
|
|
|
|
|
|
|
|
|
x22 >= 0 |
|
|
|
|
|
|
|
|
|
|
|
|
x23 >= 0 |
|
|
|
|
|
|
|
|
|
|
|
|
Przykład 2 - model. |
|
|
|
|
W mieście ABC funkcjonuje dwóch dostawców (D1, D2) pewnego produktu oraz trzech odbiorców (O1, O2, O3). |
|
|
|
|
Tygodniowe zapotrzebowanie odbiorców to odpowiednio 80, 200, 150 ton produktu, natomiast dostawcy dysponują 200 i 250 tonami. |
|
|
|
|
Jednostkowe koszty transportu produktu przedstawia poniższa tabela (zł/tonę): |
|
|
|
|
|
O1 |
O2 |
O3 |
|
D1 |
30 |
20 |
20 |
|
D2 |
10 |
40 |
30 |
|
|
|
|
|
|
Należy zaplanować przewozy tak, aby tygodniowy koszt transportu był minimalny. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Rozwiązanie |
|
|
|
Proszę zwrócić uwagę, że jest to zagadnienie transportowe niezbilansowane, |
|
|
|
|
tj. to co mają dostawcy nie jest równe temu co chcą odbiorcy |
|
|
|
|
W naszym zadaniu odbiorcy chcą 430 ton, a dostawcy mają 450 ton. |
|
|
|
|
Przewieziona zostanie niższa z tych wielkości, tj. 430 ton. |
|
|
|
|
|
|
|
|
|
Konsekwencją dla modelu jest, że warunki ograczające dla dostawców zmienią się z "=" na "<=" |
|
|
|
|
|
Model matematyczny: |
|
|
|
|
|
|
|
|
|
F = 30x11 + 20x12 + 20x13 + 10x21 + 40x22 + 30x23 -> minimum |
|
|
|
|
x11 + x12 + x13 <= 200 |
|
|
|
|
x21 + x22 + x23 <= 250 |
|
|
|
|
x11 + x21 = 80 |
|
|
|
|
x12 + x22 = 200 |
|
|
x11 - wielkość przewozu od D1 do O1 (piewsza cyfra indeksu dolnego określa D, druga O) |
|
x13 + x23 = 150 |
|
|
x12 - wielkość przewozu od D1 do O2 |
|
x11 >= 0 |
|
|
x13 - wielkość przewozu od D1 do O3 |
|
x12 >= 0 |
|
|
x21 - wielkość przewozu od D2 do O1 |
|
x13 >= 0 |
|
|
x22 - wielkość przewozu od D2 do O2 |
|
x21 >= 0 |
|
|
x23 - wielkość przewozu od D2 do O3 |
|
x22 >= 0 |
|
|
|
|
x23 >= 0 |
|
|
|
|
Przykład 3 - model. |
|
|
|
|
|
W mieście ABC funkcjonuje dwóch dostawców (D1, D2) pewnego produktu oraz trzech odbiorców (O1, O2, O3). |
|
|
|
|
|
Tygodniowe zapotrzebowanie odbiorców to odpowiednio 120, 200, 150 ton produktu, natomiast dostawcy dysponują 200 i 250 tonami. |
|
|
|
|
|
Jednostkowe koszty transportu produktu przedstawia poniższa tabela (zł/tonę): |
|
|
|
|
|
|
O1 |
O2 |
O3 |
|
|
D1 |
30 |
20 |
20 |
|
|
D2 |
10 |
40 |
- |
|
Znak "-" znacza, że trasa od D2 do O3 jest zablokowana. |
|
|
|
|
|
|
Należy zaplanować przewozy tak, aby tygodniowy koszt transportu był minimalny. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Rozwiązanie |
|
|
|
Proszę zwrócić uwagę, że jest to zagadnienie transportowe niezbilansowane, |
|
|
|
|
|
tj. to co mają dostawcy nie jest równe temu co chcą odbiorcy |
|
|
|
|
|
W naszym zadaniu odbiorcy chcą 470 ton, a dostawcy mają 450 ton. |
|
|
|
|
|
Przewieziona zostanie niższa z tych wielkości, tj. 450 ton. |
|
|
|
|
|
Konsekwencją dla modelu jest, że warunki ograczające dla odbiorców zmienią się z "=" na "<=" |
|
|
|
|
|
|
|
|
|
|
|
|
|
Model matematyczny: |
|
|
|
|
|
|
|
|
|
|
|
F = 30x11 + 20x12 + 20x13 + 10x21 + 40x22 -> minimum |
|
|
|
|
|
x11 + x12 + x13 = 200 |
|
|
|
|
|
x21 + x22 = 250 |
|
|
|
|
|
x11 + x21 <= 120 |
|
|
|
|
|
x12 + x22 <= 200 |
|
|
x11 - wielkość przewozu od D1 do O1 (piewsza cyfra indeksu dolnego określa D, druga O) |
|
|
x13 <= 150 |
|
|
x12 - wielkość przewozu od D1 do O2 |
|
|
x11 >= 0 |
|
|
x13 - wielkość przewozu od D1 do O3 |
|
|
x12 >= 0 |
|
|
x21 - wielkość przewozu od D2 do O1 |
|
|
x13 >= 0 |
|
|
x22 - wielkość przewozu od D2 do O2 |
|
|
x21 >= 0 |
|
|
|
|
|
x22 >= 0 |
|
|
|
|
|
Przykład 4 - model |
|
|
|
|
W mieście ABC funkcjonuje dwóch dostawców (D1, D2) pewnego produktu oraz trzech odbiorców (O1, O2, O3). |
|
|
|
|
Tygodniowe zapotrzebowanie odbiorców to odpowiednio 80, 200, 150 ton produktu, natomiast dostawcy dysponują 200 i 250 tonami. |
|
|
|
|
Jednostkowe koszty transportu produktu przedstawia poniższa tabela (zł/tonę): |
|
|
|
|
|
O1 |
O2 |
O3 |
|
D1 |
30 |
20 |
20 |
|
D2 |
10 |
40 |
30 |
|
U dostawcy D1 produkt kosztuje 200 zł za tonę, u dostawcy D2 - 250 zł za tonę. |
|
|
|
|
|
|
|
|
|
Należy zaplanować przewozy tak, aby koszt produktów oraz ich transportu był minimalny. |
|
|
|
|
|
|
|
|
|
Rozwiązanie |
|
|
|
Proszę zwrócić uwagę, że jest to zagadnienie transportowe niezbilansowane, |
|
|
|
|
tj. to co mają dostawcy nie jest równe temu co chcą odbiorcy |
|
|
|
|
|
|
|
|
|
Dodatkowo, naszym celem nie jest minimalizacja kosztów transportu ale koszt produktów oraz ich przewiezienia. |
|
|
|
|
|
W celu określenia funkcji celu należy najpierw zbudować macierz kosztów jednostkowych. |
|
|
|
|
W tym celu określamy jednostkowy koszt produktu łącznie z transportem od poszczególnych dostawców do poszczególnych odbiorców. |
|
|
|
|
|
|
|
|
|
|
O1 |
O2 |
O3 |
|
D1 |
230 |
220 |
220 |
|
D2 |
260 |
290 |
280 |
|
|
|
|
|
|
Dalsze kroki - tak jak w porzednich przykładach |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Model matematyczny: |
|
|
|
|
|
|
|
|
|
F = 230x11 + 220x12 + 220x13 + 260x21 + 290x22 + 280x23 -> minimum |
|
|
|
|
x11 + x12 + x13 <= 200 |
|
|
|
|
x21 + x22 + x23 <= 250 |
|
|
|
|
x11 + x21 = 80 |
|
|
|
|
x12 + x22 = 200 |
|
|
x11 - wielkość przewozu od D1 do O1 (piewsza cyfra indeksu dolnego określa D, druga O) |
|
x13 + x23 = 150 |
|
|
x12 - wielkość przewozu od D1 do O2 |
|
x11 >= 0 |
|
|
x13 - wielkość przewozu od D1 do O3 |
|
x12 >= 0 |
|
|
x21 - wielkość przewozu od D2 do O1 |
|
x13 >= 0 |
|
|
x22 - wielkość przewozu od D2 do O2 |
|
x21 >= 0 |
|
|
x23 - wielkość przewozu od D2 do O3 |
|
x22 >= 0 |
|
|
|
|
x23 >= 0 |
|
|
|
|
Przykład P1r |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Model matematyczny: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
F = 30x11 + 20x12 + 20x13 + 10x21 + 40x22 + 30x23 -> minimum |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x11 + x12 + x13 = 200 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x21 + x22 + x23 = 250 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x11 + x21 = 100 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x12 + x22 = 200 |
|
|
x11 - wielkość przewozu od D1 do O1 (piewsza cyfra indeksu dolnego określa D, druga O) |
|
|
|
|
|
|
|
|
|
|
|
x13 + x23 = 150 |
|
|
x12 - wielkość przewozu od D1 do O2 |
|
|
|
|
|
|
|
|
|
|
|
x11 >= 0 |
|
|
x13 - wielkość przewozu od D1 do O3 |
|
|
|
|
|
|
|
|
|
|
|
x12 >= 0 |
|
|
x21 - wielkość przewozu od D2 do O1 |
|
|
|
|
|
|
|
|
|
|
|
x13 >= 0 |
|
|
x22 - wielkość przewozu od D2 do O2 |
|
|
|
|
|
|
|
|
|
|
|
x21 >= 0 |
|
|
x23 - wielkość przewozu od D2 do O3 |
|
|
|
|
|
|
|
|
|
|
|
x22 >= 0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x23 >= 0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Rozwiązanie |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Najpierw należy przenieść model do komórek Excela: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1. Określamy które komórki będą prezentowały zmienne decyzyjne (x11, x12, …) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
O1 |
O2 |
O3 |
|
zaznaczamy kolorem, w których komókach będą zmienne decyzyjne- |
|
|
|
|
|
|
|
|
|
D1 |
1 |
|
1 |
|
- są to wielkości przewozów od dostawców do odbiorców |
|
|
|
|
|
|
|
|
|
D2 |
|
|
|
|
Wpisujemy przykładowe wartości, np. x11=1 , x13=1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2. Wprowadzamy funkcję celu |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
F |
50 |
|
=30*C24 + 20*D24 + 20*E24 + 10*C25 + 40*D25 + 30*E25 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Widzimy, że wartość funkcji celu wynosi 50 zł (obliczenie 30 * 1 + 20 * 1). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Jeśli zmienimy komórkę C24 (czyli x11) na 4, to otrzymamy wartość funkcji celu równą 140 zł. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ułatwieniem w formułowaniu funkcji celu jest skorzystanie z funkcji =suma.iloczynów |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Aby z niej skorzystać odwołujemy się do tabeli kosztów jednostkowych transportu oraz tabeli przewozów: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
koszty jednostkowe (z treści zadania) |
|
|
|
|
tabela przewozów |
|
|
|
|
|
|
|
|
|
|
O1 |
O2 |
O3 |
|
|
O1 |
O2 |
O3 |
|
|
|
|
|
|
D1 |
30 |
20 |
20 |
|
D1 |
1 |
|
1 |
|
|
|
|
|
|
D2 |
10 |
40 |
30 |
|
D2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
F |
50 |
|
=SUMA.ILOCZYNÓW(C41:E42;H41:J42) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Wynik jest taki sam, a pisania - znacznie mniej. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3. Określamy ograniczenia |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
D1 |
2 |
= |
200 |
|
|
|
|
|
|
|
|
|
|
|
D2 |
0 |
= |
250 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
O1 |
1 |
= |
100 |
|
|
|
|
|
|
|
|
|
|
|
O2 |
0 |
= |
200 |
|
|
|
|
|
|
|
|
|
|
|
O3 |
1 |
= |
150 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Jak widzimy, zaproponowane rozwiązanie nie spełnia warunków ograniczających. Np. od dstawcy wyjechało jedynie 2 tony, a powinno 200. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ograniczenia dotyczące nieujemności zmiennych decyzyjnych możemy wprowadzić bezpośrednio w Solverze. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Zapisując wszystko razem, mamy: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
koszty jednostkowe (z treści zadania) |
|
|
|
|
tabela przewozów |
|
|
|
|
|
|
|
|
|
|
O1 |
O2 |
O3 |
|
|
O1 |
O2 |
O3 |
|
|
|
|
|
|
D1 |
30 |
20 |
20 |
|
D1 |
0 |
200 |
0 |
|
|
|
|
|
|
D2 |
10 |
40 |
30 |
|
D2 |
100 |
0 |
150 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
F |
9500 |
|
koszt przewozu |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
D1 |
200 |
= |
200 |
|
|
|
|
|
|
|
|
|
|
|
D2 |
250 |
= |
250 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
O1 |
100 |
= |
100 |
|
|
|
|
|
|
|
|
|
|
|
O2 |
200 |
= |
200 |
|
|
|
|
|
|
|
|
|
|
|
O3 |
150 |
= |
150 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Kolejnym krokiem jest uruchomienie Solvera i ustawienie parametrów do optymalizacji powyższego zadania |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Wskazówka: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Proszę zwrócić uwagę (w oknie Solvera), że możliwe jest zaznaczenie całego zakresu odnoszącego się do warunków, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
tj. zamiast C72=E72, C73=E73 możemy zapisać C72:C73 = E72:E73. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ostatni warunek ograczający odnosi się do warunków nieujemności. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Naciśnięcie Rozwiąż spowoduje, że Solver sprawdzi różne rozwiązania (wartość x11, x12, x13, x21, x22, x23) i wybierze z nich najlepsze (dla którego funkcja celu będzie minimalna). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Wynik: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
F=9500 |
|
|
Odp. W celu przewiezienia produktów po najniższym łącznym koszcie |
|
|
|
|
|
|
|
|
|
|
|
x11=0 |
|
|
należy przewieźć 200 ton od D1 do O2, 100 ton od D2 do O1 oraz 150 ton od D2 do O3. |
|
|
|
|
|
|
|
|
|
|
|
x12=200 |
|
|
Koszt przewiezienia wyniesie wówczas 9500 zł. |
|
|
|
|
|
|
|
|
|
|
|
x13=0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x21=100 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x22=0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x23=150 |
|
|
|
|
|
|
|
|
|
|
|
|
|