25
Spis treści Elementy Modelowania Matematycznego Wyklad 6 Metoda simpleks Romuald Kotowski Katedra Informatyki Stosowanej PJWSTK 2009 Romuald Kotowski EMM 6

Elementy Modelowania Matematycznego Wykład 6

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Elementy Modelowania Matematycznego Wykład 6

Spis treści

Elementy Modelowania MatematycznegoWykład 6

Metoda simpleks

Romuald Kotowski

Katedra Informatyki Stosowanej

PJWSTK 2009

Romuald Kotowski EMM 6

Page 2: Elementy Modelowania Matematycznego Wykład 6

Spis treści

Spis treści

1 Wstęp

2 Standardowe zadanie programowania liniowego

Romuald Kotowski EMM 6

Page 3: Elementy Modelowania Matematycznego Wykład 6

Spis treści

Spis treści

1 Wstęp

2 Standardowe zadanie programowania liniowego

Romuald Kotowski EMM 6

Page 4: Elementy Modelowania Matematycznego Wykład 6

WstępProgramowanie liniowe

Wstęp

Omówimy algorytm simpleksowy, inaczej metodę simpleks(ów). Jestto stosowana w matematyce iteracyjna metoda rozwiązywaniazadań programowania liniowego za pomocą kolejnego polepszania(optymalizacji) rozwiązania. Nazwa metody pochodzi od simpleksu,figury wypukłej będącej uogólnieniem trójkąta na więcej wymiarów.

Romuald Kotowski EMM 6

Page 5: Elementy Modelowania Matematycznego Wykład 6

WstępProgramowanie liniowe

Wstęp

W przestrzeni euklidesowej:1 Simpleks zerowymiarowy to punkt2 Simpleks jednowymiarowy to odcinek3 Simpleks dwuwymiarowy to trójkąt4 Simpleks trójwymiarowy to czworościan (niekoniecznie

foremny)5 Simpleks czterowymiarowy to 5-komórka

Romuald Kotowski EMM 6

Page 6: Elementy Modelowania Matematycznego Wykład 6

WstępProgramowanie liniowe

Standardowe zadanie programowania liniowego

Rozważamy proces, w którym występują zmienne x1, x2, . . . , xn, naktóre nakładamy ograniczenia zapisane w postaci układu równań

a11x1 + a12x2 + · · ·+ a1nxn = b1a21x1 + a22x2 + · · ·+ a2nxn = b2

. . .

am1x1 + am2x2 + · · ·+ amnxn = bm

aij , bi – znane współczynniki.Dopuszczamy jedynie nieujemne wartości xj i bi czyli:

xj ≥ 0, j = 1, 2, . . . , n; bi ≥ 0, i = 1, 2, . . . , m

Romuald Kotowski EMM 6

Page 7: Elementy Modelowania Matematycznego Wykład 6

WstępProgramowanie liniowe

Standardowe zadanie programowania liniowego

Z procesem jest związana funkcja celu Z :

Z = c1x1 + c2x2 + · · · cnxn

cj , j = 1, 2, . . . , n – znane współczynniki.

Zadanie polega na maksymalizacji (minimalizacji) funkcji celu Z ,spełniającej nałożone ograniczenia na zmienne.

Romuald Kotowski EMM 6

Page 8: Elementy Modelowania Matematycznego Wykład 6

WstępProgramowanie liniowe

Standardowe zadanie programowania liniowego

Model matematyczny:

FC: Z =n∑

j=1

cjxj → max

O:

n∑

j=1aijxj = bi

xj ≥ 0 j = 1, 2, . . . , nbi ≥ 1 i = 1, 2, . . . , m

Romuald Kotowski EMM 6

Page 9: Elementy Modelowania Matematycznego Wykład 6

WstępProgramowanie liniowe

Standardowe zadanie programowania liniowego

Bardzo powszechną w zagadnieniach praktycznych odmianąograniczeń są ograniczenia w postaci nierówności.To również, sązagadnienia programowania liniowego, ale nie w postacistandardowej.

Romuald Kotowski EMM 6

Page 10: Elementy Modelowania Matematycznego Wykład 6

WstępProgramowanie liniowe

Standardowe zadanie programowania liniowego

PrzykładZakład zamierza rozpocząć produkcję dwóch wyrobów: F1 i F2.Wśród środków produkcyjnych, które zostaną użyte w procesieprodukcji dwa są limitowane. Limity te wynoszą: dla środkapierwszego S1 63 kilogramów, dla środka drugiego S2 64 kilogramy.Aby wyprodukować jednego wyrób F1 potrzeba 9 kg środka S1 oraz8 kg środka 2. Aby wyprodukować jeden wyrób F2 potrzeba 7 kgśrodka S1 oraz 8 kg środka S2. F1 będą produkowane jednocześniena 3 maszynach, a F2 na 2 maszynach. Koszty przestrojeniamaszyn zwrócą się po wyprodukowaniu łącznie 6 sztuk wyrobów.Wiedząc, że cena F1 będzie wynosić 6 zł, a cena F2 5 zł określićwielkość produkcji, która zoptymalizuje zysk ze sprzedaży.

Romuald Kotowski EMM 6

Page 11: Elementy Modelowania Matematycznego Wykład 6

WstępProgramowanie liniowe

Standardowe zadanie programowania liniowego

Przykład

Rys. 1: Podsumowanie zadania z Przykładu

Romuald Kotowski EMM 6

Page 12: Elementy Modelowania Matematycznego Wykład 6

WstępProgramowanie liniowe

Standardowe zadanie programowania liniowego

PrzykładZmienne decyzyjne: x1 – wielkość produkcji F1; x2 – wielkośćprodukcji F2

Funkcja celu (FC): Z (x1, x2) = 6x1 + 5x2 → max

Ograniczenia (O):

(1) 9x1 + 7x2 ≤ 63(2) 8x1 + 8x2 ≤ 64(3) 3x1 + 2x2 ≥ 6

Warunki brzegowe (WB):

x1 ≥ 0, x2 ≥ 0

Romuald Kotowski EMM 6

Page 13: Elementy Modelowania Matematycznego Wykład 6

WstępProgramowanie liniowe

Standardowe zadanie programowania liniowego

Metoda geometryczna

Rys. 2: Ograniczenie (1)

Romuald Kotowski EMM 6

Page 14: Elementy Modelowania Matematycznego Wykład 6

WstępProgramowanie liniowe

Standardowe zadanie programowania liniowego

Metoda geometryczna

Rys. 3: Ograniczenie (2)

Romuald Kotowski EMM 6

Page 15: Elementy Modelowania Matematycznego Wykład 6

WstępProgramowanie liniowe

Standardowe zadanie programowania liniowego

Metoda geometryczna

Rys. 4: Ograniczenie (3)

Romuald Kotowski EMM 6

Page 16: Elementy Modelowania Matematycznego Wykład 6

WstępProgramowanie liniowe

Standardowe zadanie programowania liniowego

Metoda geometryczna

Rys. 5: Analiza (1)

Romuald Kotowski EMM 6

Page 17: Elementy Modelowania Matematycznego Wykład 6

WstępProgramowanie liniowe

Standardowe zadanie programowania liniowego

Metoda geometryczna

Rys. 6: Analiza (2)

Romuald Kotowski EMM 6

Page 18: Elementy Modelowania Matematycznego Wykład 6

WstępProgramowanie liniowe

Standardowe zadanie programowania liniowego

Metoda geometryczna – analiza wyników

A(2, 3) Z (2, 0) = 6 · 2 + 5 · 0 = 12

B(7, 0) Z (7, 0) = 6 · 7 + 5 · 0 = 42

C (3.5, 4.5) Z (3.5, 4.5) = 6 · 3.5 + 5 · 4.5 = 43.5→ max

D(0, 8) Z (0, 8) = 6 · 0 + 5 · 8 = 40

D(0, 3) Z (0, 3) = 6 · 0 + 5 · 3 = 15

Odpowiedź: Aby zysk był maksymalny, należy wyprodukować 3.5F1 oraz 4.5 F2.

Romuald Kotowski EMM 6

Page 19: Elementy Modelowania Matematycznego Wykład 6

WstępProgramowanie liniowe

Standardowe zadanie programowania liniowego

Sprowadzenie modelu do postaci bazowej

Ograniczenie (1) 9x1 + 7x2 ≤ 63

Aby otrzymać ograniczenie w postaci równania wprowadzamydodatkową zmienną do ograniczenia:

9x1 + 7x2 + x3 = 63

x3 – zmienna bilansująca określa ilość środka S1 jaki nie zostaniewykorzystany w procesie produkcji.

Romuald Kotowski EMM 6

Page 20: Elementy Modelowania Matematycznego Wykład 6

WstępProgramowanie liniowe

Standardowe zadanie programowania liniowego

Sprowadzenie modelu do postaci bazowej

Ograniczenie (2) x1 + x2 ≤ 8

Aby otrzymać ograniczenie w postaci równania wprowadzamydodatkową zmienną do ograniczenia (podobnie jak dla (1)):

x1 + x2 + x4 = 8

x4 – zmienna bilansująca określa ilość środka S2 jaki nie zostaniewykorzystany w procesie produkcji. Dla x1 = 0 i x2 = 0 mamy:x4 = 8 ≥ 0

Romuald Kotowski EMM 6

Page 21: Elementy Modelowania Matematycznego Wykład 6

WstępProgramowanie liniowe

Standardowe zadanie programowania liniowego

Sprowadzenie modelu do postaci bazowej

Ograniczenie (3) 3x1 + 2x2 ≥ 6

Aby otrzymać ograniczenie w postaci równania wprowadzamydodatkową zmienną do ograniczenia (podobnie jak dla (1) i (2)):

3x1 + 3x2 − x5 = 6

x5 – zmienna bilansująca. Dla x1 = 0 i x2 = 0 mamy: x5 = −6 < 0

W postaci bazowej, w każdym ograniczeniu musi znajdować się jedna zmienna, która

po wyzerowaniu wszystkich pozostałych zmiennych w ograniczeniu, jest nieujemna.

Wprowadzamy zatem kolejną zmienną:

3x1 + 3x2 − x5 + x6 = 6

x6 – zmienna sztuczna. Dla x1 = 0, x2 = 0 i x5 = 0 mamy:x6 = 6 ≥ 0

Romuald Kotowski EMM 6

Page 22: Elementy Modelowania Matematycznego Wykład 6

WstępProgramowanie liniowe

Standardowe zadanie programowania liniowego

Sprowadzenie modelu do postaci bazowejRozwiązanie zadania po wprowadzeniu zmiennej sztucznej niejest równoważne z rozwiązaniem zadania początkowego.Byłoby równoważne tylko wtedy, gdyby w rozwiązaniuoptymalnym zmienna sztuczna miała wartość zero.Aby zapewnić x6 = 0 w rozwiązaniu optymalnym, zmiennąsztuczną wprowadza się do funkcji celu.Współczynnik przy zmiennej sztucznej w funkcji celu dobierasię tak, aby niezerowa wartość tej zmiennej mocno pogarszaławartość funkcji celu.

FC: Z (x1, x2, x6) = 6x1 + 5x2 + M x6 → max

M = −1000

Romuald Kotowski EMM 6

Page 23: Elementy Modelowania Matematycznego Wykład 6

WstępProgramowanie liniowe

Standardowe zadanie programowania liniowego

Sprowadzenie modelu do postaci bazowejWszystkie zmienne bilansujące również wprowadzamy do funkcjicelu, ale współczynniki przy zmiennych bilansujących w funkcji celumają wartość równą zero.

Z (x1, x2, x3, x4, x5, x6) = 6x1+5x2+0x3+0x4+0x5−1000x6 → max

Romuald Kotowski EMM 6

Page 24: Elementy Modelowania Matematycznego Wykład 6

WstępProgramowanie liniowe

Standardowe zadanie programowania liniowego

Postać bazowaFunkcja celu (FC):Z (x1, x2, x3, x4, x5, x6) = 6x1+5x2+0x3+0x4+0x5−1000x6 → max

Ograniczenia (O):

(1) 9x1 + 7x2 + x3 = 63(2) x1 + x2 + x4 = 8(3) 3x1 + 2x2 − x5 + x6 = 6

Warunki brzegowe (WB):x1 ≥ 0, x2 ≥ 0, x3 ≥ 0, x4 ≥ 0, x5 ≥ 0, x6 ≥ 0

Romuald Kotowski EMM 6

Page 25: Elementy Modelowania Matematycznego Wykład 6

WstępProgramowanie liniowe

Standardowe zadanie programowania liniowego

Postać bazowaWszystkie ograniczenia w postaci równańW każdym ograniczeniu znajduje się zmienna, która powyzerowaniu pozostałych zmiennych ma wartość nieujemnąWspółczynnik przy zmiennej sztucznej ma wartość 1Wprowadzone zmienne bilansujące wprowadza się do funkcjicelu z zerowymi współczynnikamiWprowadzone zmienne sztuczne uwzględnia się w funkcji celuze współczynnikami mocno pogarszającymi jej wartość

Romuald Kotowski EMM 6