dwufazowy simplex


PRZEBIEG ĆWICZENIA III

I. Metoda programowania liniowego PL - metoda dwufazowy simpleks

Celem ćwiczenia jest zapoznanie się metodą rozwiązywania liniowego zadania optymalizacji na przykładzie dwufazowej metody simpleks.

Metoda dwufazowego simpleksu pozwala na wyliczenie takiego wektora zmiennych decyzyjnych x, należącego do zbioru rozwiązań dopuszczalnych X, dla którego funkcja celu osiąga maksimum (minimum):

0x01 graphic

przy ograniczeniach: 0x01 graphic

dim x= nx1, dim c=nx1,

0x01 graphic

Macierz A1 jest to macierz tworzona przez współczynniki przy zmiennych decyzyjnych w kolejnych m1 ograniczeniach większościowych, a macierz A2 jest to macierz tworzona przez współczynniki przy zmiennych decyzyjnych w kolejnych m2 ograniczeniach mniejszościowych, . Wektory b1, b2 nazywane są wektorami wyrazów wolnych w ograniczeniach i powinny przyjmować wartości nieujemne.

II. Zadania testowe

1. 0x01 graphic
, jedno optymalne rozwiązanie.

Postać standardowa układu:

Funkcja celu: max x0 = 2x1 + x2

Ograniczenia: 0x01 graphic

Postać kanoniczna układu:

Funkcja celu: x0 = 2x1 + x2 + 0x3 + 0x4 + 0x5 --> MAX

Ograniczenia: x1 + 2x2 - x3 = 8 | *(-1)

4x1 + 5x2 + x4 = 40

- x1 + 2x2 + x5 = 4

--> Interpretacja graficzna:[Author:M]

0x01 graphic

--> Rozwiązanie zadania tablicową metodą simpleks:[Author:M]

 

0

x1

x2

0

0

-2

-1

x3

-8

-1

-2

x4

40

4

5

x5

4

-1

2

 

0

x1

x5

0

2

-2,5

0,5

x3

-4

-2

1

x4

30

6,5

-2,5

x2

2

-0,5

0,5

 

0

x4

x5

0

13,54

0,38

-0,46

x3

5,23

0,31

0,23

x1

4,62

-1,00

-0,38

x2

4,31

0,08

0,31

 

0

x4

x2

0

20

0,50

1,50

x3

2

0,25

-0,75

x1

10

-0,90

1,25

x5

14

0,25

3,25

Rozwiązanie: x1 = 10, x2 = 0 - w punkcie o tych współrzędnych znajduje się maksimum funkcji celu, przy w/w ograniczeniach. Maksymalna wartość funkcji celu wynosi x0 = 20.

2. 0x01 graphic
, nieskończenie wiele rozwiązań na zbiorze ograniczonym - np. odcinek dla n=2.

Postać standardowa układu:

Funkcja celu: max x0 = x1 + x2

Ograniczenia: 0x01 graphic

Postać kanoniczna układu:

Funkcja celu: x0 = x1 + x2 + 0x3 + 0x4 + 0x5 --> MAX

Ograniczenia: x1 + x2 + x3 = 6

x1 + x2 - x4 = 2 | *(-1)

- x1 + x2 + x5 = 2

Interpretacja graficzna:

0x01 graphic

Rozwiązanie zadania tablicową metodą simpleks:

 

0

x1

x2

0

0

-1

-1

x3

6

1

1

x4

-2

-1

-1

x5

2

-1

1

 

0

x3

x2

0

6

1

0

x1

6

1

1

x4

4

1

0

x5

8

1

2

 

0

x3

x5

0

6

1

0

x1

2

0,5

-0,5

x4

4

1

0

x2

4

0,5

0,5

Rozwiązanie: Zbiór optymalnych rozwiązań leży na prostej f(x) = x1 + x2, między punktami
x' = (6, 0) i x'' = (2, 4). Maksymalna wartość funkcji celu wynosi x0 = 6.

Wyprowadzenie ogólnego wzoru na punkty maksymalne zależnego od λ (λ = [0, 1]).

0x01 graphic

0x01 graphic

3. 0x01 graphic
, nieskończenie wiele rozwiązań na zbiorze nieograniczonym np. pół-prosta dla n=2.

Postać standardowa układu:

Funkcja celu: max x0 = - x1 + x2

Ograniczenia: 0x01 graphic

Postać kanoniczna układu:

Funkcja celu: x0 = - x1 + x2 + 0x3 + 0x4 --> MAX

Ograniczenia: x1 + x2 - x3 = 7 | *(-1)

- x1 + x2 + x4 = 3

Interpretacja graficzna:

0x01 graphic

Rozwiązanie zadania tablicową metodą simpleks:

 

0

x1

x2

0

0

1

-1

x3

-7

-1

-1

x4

3

-1

1

 

0

x1

x4

0

3

0

1

x3

-4

-2

1

x2

3

-1

1

 

0

x1

x4

0

3

0

1

x1

2

-0,5

-0,5

x2

5

-0,5

0,5

Rozwiązanie: nieskończenie wiele rozwiązań na zbiorze nieograniczonym. Rozwiązaniem jest półprosta, którą można zapisać w postaci równania parametrycznego (początek w punkcie (2, 5)):

0x01 graphic

4. 0x01 graphic
zbiór pusty, zadanie PL nie ma rozwiązania.

Postać standardowa układu:

Funkcja celu: max x0 = 6x1 + 5x2

Ograniczenia: 0x01 graphic

Postać kanoniczna układu:

Funkcja celu: x0 = 6x1 + 5x2 + 0x3 + 0x4 --> MAX

Ograniczenia: x1 + x2 - x3 = 5 | *(-1)

3x1 + 2x2 + x4 = 6

Interpretacja graficzna:

0x01 graphic

Rozwiązanie zadania tablicową metodą simpleks:

 

0

x1

x2

0

0

-6

-5

x3

-5

-1

-1

x4

6

3

2

 

0

x4

x2

0

15

2

-1

x3

-3

0,33

-0,33

x1

2

0,33

0,67

 

0

x4

x1

0

18

2,5

1,5

x3

-2

0,50

0,50

x2

3

0,50

1,50

Rozwiązanie: zbiór pusty. Ograniczenia nie mają części wspólnej.

5. Zadanie nieograniczone - funkcja celu może osiągnąć wartość nieskończenie dużą. Żadne ograniczenie nie wstrzymuje jej wzrostu.

Postać standardowa układu:

Funkcja celu: max x0 = 2x1 + 3x2

Ograniczenia: 0x01 graphic

Postać kanoniczna układu:

Funkcja celu: x0 = 2x1 + 3x2 + 0x3 + 0x4 --> MAX

Ograniczenia: 3x1 + 2x2 - x3 = 6 | *(-1)

x1 + 0x2 + x4 = 5

Interpretacja graficzna:

0x01 graphic

Rozwiązanie zadania tablicową metodą simpleks:

 

0

x1

x2

0

0

-2

-3

x3

-6

-3

-2

x4

5

1

0

 

0

x1

x2

0

10

2

-3

x3

9

3

-2

x1

5

1

0

Rozwiązanie: zadanie nieograniczone. Żadne ograniczenie nie zatrzymuje wzrostu funkcji celu.

III. Wnioski

1. 0x01 graphic
, jedno optymalne rozwiązanie

W tym przypadku, mamy do czynienia ze zbiorem ograniczonym przez 3 proste, które powstrzymują wzrost funkcji celu. Maksymalna wartość funkcji celu znajduje się w punkcie o współrzędnych (10; 0) i ma wartość równą x0 = 20.

2. 0x01 graphic
, nieskończenie wiele rozwiązań na zbiorze ograniczonym - np. odcinek dla n=2.

Funkcja celu ma nieskończenie wiele rozwiązań, na zbiorze ograniczonym, gdy jest równoległa do jednego z ograniczeń. W naszym przykładzie zbiór jest ograniczony przez 3 proste. W maksimum funkcja celu „pokrywa” się z ograniczeniem, dając w konsekwencji nieskończenie wiele rozwiązań (podobna sytuacja miałaby miejsce, gdybyśmy badali minimum funkcji celu, jednak rozwiązania znajdowałyby się na innym odcinku). Maksymalne punkty w naszym przykładzie możemy obliczyć ze wzoru:

0x01 graphic

gdzie λ0x01 graphic
[0, 1]. Podczas wyliczania optymalnego punktu metodą tablicową, w zerowym wierszu przy jednym ze współczynników występuje `0' i kryteria wyjścia z bazy są spełnione. Oznacza to, że uzyskany punkt jest optymalny, ale nie jedyny. Istnieje więcej punktów optymalnych, dlatego tworzymy nową bazę, aby sprawdzić ile jest optymalnych rozwiązań. Wynika z niej, że funkcja celu osiąga wartości optymalne na prostej między wierzchołkami `I' i `II” (rys. 2).

3. 0x01 graphic
, nieskończenie wiele rozwiązań na zbiorze nieograniczonym np. pół-prosta dla n=2.

Funkcja celu ma nieskończenie wiele rozwiązań, na zbiorze nieograniczonym, gdy jest równoległa do jednego z ograniczeń. Wartości optymalne osiągnie, gdy „pokryje się” z funkcją ograniczającą (w naszym przypadku z ograniczeniem nr 2 - rys. 3). W tablicy simpleksowej w zerowym wierszu występuje `0', jednak żadna zmienna nie spełnia kryteriów wyjścia z bazy. Oznacza to, że zbiór jest nieograniczony. Możemy wyznaczyć równanie parametryczne półprostej, na której znajdują się optymalne rozwiązania:

0x01 graphic

4. 0x01 graphic
zbiór pusty, zadanie PL nie ma rozwiązania.

Zbiór pusty, występuje wtedy, gdy ograniczenia nie mają wspólnej części. W tablicy simpleksowej nie jest spełniony yi0 > 0, ponieważ w zerowej kolumnie znajduje się ujemna liczba przy zmiennej x3. Nie można również stworzyć nowej bazy, ponieważ współczynniki przy zmiennych wyprowadzanych do bazy są dodatnie. Oznacza to, że nie możemy wybrać zmiennej wchodzącej do bazy. Mamy do czynienie z zadaniem sprzecznym - zbiorem pustym.

5. Zadanie nieograniczone - funkcja celu może osiągnąć wartość nieskończenie dużą. Żadne ograniczenie nie wstrzymuje jej wzrostu.

Zadanie nieograniczone, występuje wtedy, gdy żadna funkcja nie ogranicza wzrostu funkcji celu. W tym przypadku funkcja celu dąży do nieskończoności, co widać na rys. 5. W tablicy simpleksowej pojawia się brak możliwości wyjścia z bazy, przy najmniejszej (ujemnej) wartości współczynnika funkcji celu.

IV. Dodatek

--> 1. Przykład z instrukcji [Author:M]

Postać standardowa układu:

Funkcja celu: max x0 = 8x1 - 9x2 - 18x3

Ograniczenia: 0x01 graphic

Postać kanoniczna układu:

Funkcja celu: x0 = 8x1 - 9x2 - 18x3 + 0x4 + 0x5 + 0x6 --> MAX

Ograniczenia: 5x1 + 5x2 + 6x3 + x4 = 12

8x1 - 9x2 - 18x3 + x5 = 40

x1 + x2 + 4x3 + x6 = 10 | *(-1)

Rozwiązanie zadania tablicową metodą simpleks:

 

0

x1

x2

x3

0

0

-8

9

18

x4

35

5

5

6

x5

40

8

-9

-18

x6

-10

-1

-1

-4

 

0

x1

x2

x4

0

-105

-23

-6

-3

x3

5,83

0,83

0,83

0,17

x5

145

23

6

3

x6

13,33

2,33

2,33

0,67

 

0

x6

x2

x4

0

26,43

9,86

17,00

3,57

x3

1,07

-0,36

0,00

-0,07

x5

13,57

-9,86

-3,86

-3,57

x1

5,71

0,43

1,00

0,29

Rozwiązanie: jedno optymalne rozwiązanie znajduje się w punkcie x* = (5.71, 0, 1.07) i ma wartość równą x0 = 26.43.

--> 2. Zadanie praktyczne[Author:M]

Firma transportowa dysponuje dwoma samochodami: ciężarowym x1 i osobowym x2 oraz zatrudnia dwóch pracowników m1 i m2. Dziennie pierwszy kierowca m1 spędza po 4h za kierownicą obu pojazdów. Drugi kierowca m2 jeździ 2h pierwszym pojazdem x1 i 8h drugim pojazdem x2. Kierowca x1 może maksymalnie spędzać 10h za kierownicą, zaś kierowca x2 pracuje minimum 2h dziennie. Należy tak dobrać zmiany dla kierowców, żeby zapewnić maksymalny dochód firmie, wiedząc, że rozwożąc towary samochodem ciężarowym możemy zarobić 1000 zł, zaś samochodem osobowym 500 zł.

Postać standardowa układu:

Funkcja celu: max x0 = 1000x1 + 500x2

Ograniczenia: 0x01 graphic

Postać kanoniczna układu:

F-cja celu: x0 = 1000x1 + 4x2 + 0x3 + 0x4 --> MAX

Ograniczenia: 4x1 + 4x2 + x3 = 10

2x1 + 8x2 - x4 = 2

Rozwiązanie zadania tablicową metodą simpleks:

 

0

x1

x2

0

0

-1000

-500

x3

10

4

4

x4

-2

-2

-8

 

0

x1

x3

0

1250

-500

125

x2

2,5

1

0,25

x4

18

6

2

 

0

x2

x3

0

2500

500

250

x1

2,5

1

0,25

x4

3

6

0,5

Rozwiązanie: rozwiązaniem optymalnym będzie jazda samochodem ciężarowym po 2,5h w ciągu dnia, przy w/w dyspozycjach kierowców. Takie rozwiązanie da nam zysk wysokości 2500 zł dziennie.

--> 3. Analiza dwufazowej metody simplex[Author:M]

a) konstruowanie I rozwiązania bazowego dopuszczalnego

K1. szukamy yi0 < 0

 

0

x1

x2

0

0

-1

-1

x3

6

1

1

x4

-2

-1

-1

x5

2

-1

1

K2. wiersz 4 przyjmujemy jako pomocniczą funkcję celu

 

0

x1

x2

0

0

-1

-1

x3

6

1

1

x4

-2

-1

-1

x5

2

-1

1

K3. z pomocniczej funkcji celu wybieramy kolumnę o minimalnej wartości { yij: j NB, yij < 0 }

 

0

x1

x2

0

0

-1

-1

x3

6

1

1

x4

-2

-1

-1

x5

2

-1

1

 

0

x1

x2

0

0

-1

-1

x3

6

1

1

x4

-2

-1

-1

x5

2

-1

1

K4. dla „przyjętej” kolumny wybieramy wiersz zgodnie z regułami simplexu

 

0

x1

x2

0

0

-1

-1

x3

6

1

1

x4

-2

-1

-1

x5

2

-1

1

K5. stosujemy metodę eliminacji Gaussa do uzyskania optymalnego rozwiązania

 

0

x3

x2

0

6

1

0

x1

6

1

1

x4

4

1

0

x5

8

1

2

 

0

x3

x5

0

6

1

0

x1

2

0,5

-0,5

x4

4

1

0

x2

4

0,5

0,5

Laboratorium Wydział Elektroniki

Technika optymalizacji

Autorzy:

  1. Dawid Tomasz (140517)

  2. Garbicz Marcin (140547)

. Kier: EiT Spec.: ESA

Wrocław, dnia 30.10.2006

Prowadzący:

Dr inż. Ewa Szlachcic

Ćwiczenie III

Zadanie programowania liniowego dla ograniczeń mniejszościowych i większościowych

Dwufazowa metoda simpleks

15

Komentarz dotyczy wszystkich rysunków !!!

  1. Zamalować obszar wspólny

  2. Zaznaczyć wierzchołki simpleksu

Narysować kroki przechodzenia z wierzchołka na wierzchołek

Jedno przekształcenie tablic wyliczyć analitycznie

Dodatkowy OBOWIĄZKOWY przykład z instrukcji

Bzdurne pod względem treści i otrzymanych wyników zadanie praktyczne. No cóż … ważne, że jest .

Analiza i wytłumaczenie zasady postępowania w przypadku liczenia simpleksu dwufazowego metodą uproszczoną (bez zmiennej z0).



Wyszukiwarka

Podobne podstrony:
7w dpl dwufazowy simpleks
Dwufazowa prymarna metoda simplex
Optymalizacja Cw 2 Dwufazowa metoda simpleks
przykład na simplex dwufazowy
Simplex
pogoda i klimat (simple)
Podstawy Optymalizacji, simplex
Testing simple hypotheses
Anisakis simplex
8 Zjawisko Comptona i dwufazowość akreującego ośrodka
Lekcja 5 Czas Past Simple, lekcje
past simple, korepetycje - materiały
Simple pr cont + test ps, tenses
Present Simple - zasady, dodatkowe materiały na zajęcia
Past Simple
Past Perfect Simple Użycie
metoda SIMPLEX

więcej podobnych podstron