badania operacyjne, w5 Metoda Simpleks

background image

Metoda Simpleks

background image

Pierwszym

algorytmem

programowania

liniowego

był

algorytm

simplex,

opublikowany przez George’a Dantziga w

1947 roku.

background image

Algorytm Simpleks realizuje tzw. podejście

local search: zaczyna od dowolnego

wierzchołka wielościanu (zbioru rozwiązań

dopuszczalnych) i w każdej kolejnej iteracji

przemieszcza się do takiego sąsiedniego

wierzchołka, że wartość funkcji celu

poprawia się (lub przynajmniej nie

pogarsza).

background image

Postać bazowa:

w macierzy A

występuje podmacierz

jednostkowa (oczywiście kwadratowa).

T

FC:

c x

MAX (MIN)

O: Ax

b

b

0

WB: x

0

Z

=

=

background image

Jeżeli nie są spełnione warunki brzegowe

na

przykład

jedna

ze

zmiennych

decyzyjnych może przyjmować dowolną

wartość

, to tę zmienną zastępujemy

różnicą dwóch dodatkowych zmiennych

nieujemnych:

x

0

R

k

x

*

**

k

k

k

x

x

x

=

*

0

k

x

**

0

k

x

background image

Sprowadzenie dowolnego problemu

optymalizacji liniowej do postaci

bazowej:

• jeżeli po prawej stronie ograniczenia

występuje liczba ujemna, to należy je

pomnożyć

obustronnie przez –1 (dla

nierówności oczywiście trzeba zmienić

znak na przeciwny),

background image

• do

lewej

strony

ograniczenia

nierównościowego „

” należy dodać

nieujemną zmienną bilansującą,

• od

lewej

strony

ograniczenia

nierównościowego „

” należy odjąć

nieujemną zmienną bilansującą, a następnie

do lewej strony tego ograniczenia dodać

nieujemną zmienną sztuczną,

background image

• do

lewej

strony

ograniczenia

równościowego

należy dodać

nieujemną zmienną sztuczną

• zmienne bilansujące wprowadza się do

funkcji celu z zerowymi współczynnikami

=

background image

• zmienne sztuczne wprowadza się

ze

współczynnikami znacznie pogarszającymi
wartość funkcji celu – nie mogą one
wpływać

na

rozwiązanie

problemu

wyjściowego,

czyli

w

rozwiązaniu

optymalnym

muszą

przyjąć

wartości

zerowe

(w

przypadku

maksimum

współczynniki te to „duże”

wartości

ujemne, a w przypadku minimum – „duże”
wartości dodatnie).

background image

Algorytm metody simpleks

Załóżmy,

ż

e

podmacierz

jednostkową

macierzy A tworzy m ostatnich wektorów

kolumnowych:

11

12

1

22

22

2

1

2

1

0

0

0

1

0

0

0

1

A

k

k

m

m

mk

a

a

a

a

a

a

a

a

a

=

background image

oczywiście, baza składa się z wektorów:

gdzie:

[

]

1

2

B

a

a

a

k

k

k m

+

+

+

=

1

1

0

,

0

a

k

+

 

 

 

=

 

 

 

2

0

1

,

0

a

k

+

 

 

 

=

 

 

 

0

0

1

..., a

k m

+

 

 

 

=

 

 

 

background image

Funkcję celu możemy wtedy zapisać jako:

Jak

widać,

wyodrębniliśmy

zmienne

niebazowe

oraz zmienne bazowe

1 1

1

1

...

...

MAX

k k

k

k

k m k m

Z

c x

c x

c

x

c

x

+

+

+

+

=

+ +

+

+ +

1

2

,

,...,

k

x x

x

1

2

,

,...,

k

k

k m

x

x

x

+

+

+

background image

Ograniczenia są następujące:

11 1

1

1

1

21 1

2

2

2

1 1

...

...

...

k k

k

k k

k

m

mk k

k m

m

a x

a x

x

b

a x

a

x

x

b

a

x

a

x

x

b

+

+

+

+ +

+

=

+ +

+

=

+ +

+

=

background image

uzupełnimy je warunkami brzegowymi:

, j=1,2,...,k+m

oraz warunkami nieujemności prawych

stron ograniczeń:

,

i=1,2,...,m

jest

to

tzw.

przedstawienie

bazowe

problemu optymalizacji liniowej

0

j

x

0

i

b

background image

Korzystając teraz z ograniczeń każdą

zmienną bazową wyrazimy tylko przez

zmienne niebazowe:

1

1

11 1

1

2

2

21 1

2

1 1

...

...

...

k

k k

k

k k

k m

m

m

mk k

x

b

a x

a x

x

b

a x

a

x

x

b

a

x

a

x

+
+

+

= −

− −

=

− −

=

− −

background image

Zależności te wprowadzamy do funkcji

celu:

1 1

2 2

1 1

11 1

12 2

1

2

2

21 1

22 2

2

1 1

2 2

...

(

...

)

(

...

)

(

...

)

k k

k

k k

k

k k

k m

m

m

m

mk k

Z

c x

c x

c x

c

b

a x

a x

a x

c

b

a x

a

x

a

x

c

b

a

x

a

x

a

x

+
+

+

=

+

+ +

+

− −

+

− −

+

− −

background image

i po przekształceniach mamy:

1 1

2 2

1

1 11

2 22

1

1

2

1 12

2 22

2

2

1 1

2 2

...

(

...

)

(

...

)

(

...

)

k

k

k m m

k

k

k m m

k

k

k m m

k

k

k

k

k

k m mk

k

Z

c

b

c

b

c

b

c

c

a

c

a

c

a

x

c

c

a

c

a

c

a

x

c

c

a

c

a

c

a

x

+

+

+

+

+

+

+

+

+

+

+

+

=

+

+ +

+

− −

+

− −

+

− −

background image

definiujemy

wektor

zawierający

współczynniki funkcji celu, znajdujące się

przy zmiennych bazowych

1

2

c

k

k

B

k m

c

c

c

+
+

+

=

background image

Funkcję celu możemy teraz zapisać w

następujący sposób:

1 1

2 2

1

1

1

...

(

)

... (

)

c a

c a

k

k

k m m

T

T

B

k

B

k

k

Z

c b

c

b

c

b

c

x

c

x

+

+

+

=

+

+ +

+

+ +

11

21

1

1

,

a

m

a

a

a

=

12

22

2

2

,

a

m

a

a

a

=

1

2

..., a

k

k

k

mk

a

a

a

=

background image

oraz

jest macierzą transponowaną do

Iloczyn wektora

i wektora kolumnowego

oznaczymy przez

, czyli:

j=1,2,...,k

co po wstawieniu do wyrażenia na funkcję

celu daje:

c

T

B

c

B

c

T

B

a

j

j

z

c a

T

j

B

j

z

=

1 1

2 2

1

1

1

2

2

2

...

(

)

(

)

... (

)

k

k

k m m

k

k

k

Z

c b

c

b

c

b

c

z x

c

z x

c

z x

+

+

+

=

+

+ +

+

+

+ +

background image

wprowadzamy jeszcze jedno oznaczenie:

lub macierzowo:

oraz: , j=1,2,...,k

i ostatecznie funkcję celu zapisujemy

następująco:

1 1

2 2

...

k

k

k m m

C

c b

c

b

c

b

+

+

+

=

+

+ +

c b

T

B

C

=

j

j

j

e

c

z

= −

1 1

2

2

...

k

k

Z

C

e x

e x

e x

= +

+

+ +

background image

Rozwiązanie

bazowe

otrzymujemy

przyjmując dla zmiennych niebazowych

wartości zerowe, czyli:

[

]

1

2

0

0

0

x

T

B

m

b

b

b

=

background image

Biorąc pod uwagę założenia o nieujemności

prawych

stron

ograniczeń,

jest

to

rozwiązanie bazowe dopuszczalne. Wartość

funkcji celu dla tego rozwiązania jest

równa:

( )

x

c b

T

B

B

Z

C

= =

background image

Kryterium optymalności:

Jeżeli

[

]

1

2

0

0

0

x

T

B

m

g

g

g

=

background image

jest dopuszczalnym rozwiązaniem bazowym

(

dla i=1,2,...,m) problemu

optymalizacji liniowej oraz funkcja celu dla

danego

przedstawienia

bazowego

ma

postać:

przy czym

, j=1,2,...,k

to rozwiązanie jest rozwiązaniem

maksymalizującym funkcję celu.

0

i

g

1 1

2

2

...

k

k

Z

C

e x

e x

e x

= +

+

+ +

0

j

e

x

B

background image

Na podstawie kryterium optymalności

wiadomo, że znaki współczynników

decydują o tym, czy otrzymane rozwiązanie

bazowe jest optymalne, czy tez nie.

Współczynniki te nazywa się wskaźnikami

optymalności. Dla zmiennych bazowych

wskaźniki optymalności są równe zero.

j

e


Wyszukiwarka

Podobne podstrony:
badania operacyjne, w6 Metoda Simpleks 2
badania operacyjne wykład 4 (metoda simpleks)
badania operacyjne w4-Metoda Selekcji
badania operacyjne, w2 Metoda Geometryczna
badania operacyjne metoda simplex[1]
badania operacyjne metoda simplex+zagadnienie transportowe+excel 28 11 2010
badania operacyjne metoda simplex(1)
metoda simplex badania operacyjne Projekt!!
Metoda liniowa - szablon, Nauka, Studia, Notatki, Badania operacyjne
metoda graf pl, Zarządzanie Tutystyką Notatki Różne, badania operacyjne
Metoda graficzna, ZIP, Badania operacyjne
PUSTE TABELKI DO ALGORYTMU SIMPLEKS, Studia, badania operacyjne
badania operacyjne, Kamil Wietrzyński, Laboratorium polegało na rowiązaniu 2 zadań dwoma poznanymi m
badania operacyjne, Metoda iteracji prostej Gaussa, Metoda iteracji prostej Gaussa-Jordana
Badania operacyjne wyklad 2 id Nieznany
badania operacyjne 3 id 76767 Nieznany (2)

więcej podobnych podstron