background image

Akademia Techniczno-Humanistyczna 

w Bielsku – Bia

áej

Katedra Mechaniki 

i In

Īynierskich Metod Komputerowych

Bielsko – Bia

áa 2002 

Dr hab. in

Ī. Jacek Stadnicki 

prof. Akademii Techniczno - Humanistycznej

Optymalizacja

background image

Spis tre

Ğci

   -   Ra-V

Formu

áowanie problemu optymalizacji ..............................1

Sformu

áowanie zadania ...........................................................2

Etapy formu

áowania i rozwiązywania zadania optymalizacji .2

Programowanie liniowe ........................................................3

Posta

ü ogólna zagadnienie programowania liniowego............3

Linowy model produkcji .........................................................4

Problem mieszanek, problem diety .........................................5

Wybór procesu technologicznego ...........................................6

Standardowe zagadnienie programowania liniowego .............7

Sens geometryczny sprowadzania zadania ogólnego do
standardowego.........................................................................8

Posta

ü kanoniczna zadania programowania liniowego ...........9

Metoda SYMPLEKS.............................................................10

Zagadnienie transportowe ..................................................17

Metoda najwi

Ċkszego przepáywu ..........................................18

Algorytm cechowania............................................................19

Pierwotne (prymalne) zadanie programowania liniowego ....22

Dualne zadanie programowania liniowego ...........................22

Algorytm prymalno-dualny zadania transportowego ............24

Zastosowania .........................................................................28

Zadanie transportowo-produkcyjne.......................................29

Zadanie lokalizacji produkcji ................................................30

Zadanie minimalizacji pustych przebiegów ..........................30

Optymalizacja na grafach...................................................33

Problem najkrótszej drogi .....................................................34

Algorytm Dijkstry .................................................................34

Problem komiwoja

Īera..........................................................36

Algorytm podzia

áu i ograniczeĔ ............................................37

Programowanie zero-jedynkowe........................................42

Zadanie programowania zero-jedynkowego .........................42

Metoda filtru Balasa ..............................................................44

Programowanie ca

ákowitoliczbowe....................................46

Zadanie programowania ca

ákowitoliczbowego .....................46

Podstawowe odci

Ċcie Gomory’ego .......................................48

Algorytm Gomory’ego ..........................................................51

Programowanie nieliniowe .................................................52

Zadanie programowania nieliniowego bez ogranicze

Ĕ .........52

Zadanie programowania nieliniowego z ograniczeniami w
postaci równo

Ğci....................................................................56

Metoda mno

Īników Lagrange’a............................................57

Zadanie programowania nieliniowego z ograniczeniami w
postaci nierówno

Ğci ...............................................................58

Komputerowe metody rozwi

ązywania zadaĔ

programowania nieliniowego................................................ 63

Zadanie programowania nieliniowego bez ogranicze

Ĕ............ 63

Metody rz

Ċdu zerowego (bezgradientowe) funkcji jednej

zmiennej .................................................................................. 64

Metoda z

áotego podziaáu.......................................................... 64

Metoda Powella (interpolacji kwadratowej)............................ 65

Metody rz

Ċdu pierwszego (gradientowe) funkcji jednej

zmiennej .................................................................................. 66

Metoda siecznych .................................................................... 67

Metody rz

Ċdu drugiego funkcji jednej zmiennej ..................... 68

Metoda Newtona...................................................................... 68

Metody rz

Ċdu zerowego (bezgradientowe) minimalizacji

funkcji wielu zmiennych.......................................................... 69

Metody poszukiwa

Ĕ prostych .................................................. 69

Metoda Gaussa-Seidela ........................................................... 69

Metoda losowego przeszukiwania ........................................... 70

Metody kierunków poprawy.................................................... 71

Metoda kierunków sprz

ĊĪonych Powella ................................ 71

Metody rz

Ċdu pierwszego (gradientowe) minimalizacji

funkcji wielu zmiennych.......................................................... 73

Metoda gradientu sprz

ĊĪonego ................................................ 74

Metody rz

Ċdu drugiego............................................................ 75

Metoda Newtona...................................................................... 75

Zadanie programowania nieliniowego z ograniczeniami ........ 75

Algorytmy (metody) podstawowe ........................................... 76

Metoda systematycznego przeszukiwania ............................... 76

Metoda poszukiwa

Ĕ losowych (Monte Carlo)......................... 77

Algorytmy (metody) z pami

Ċcią .............................................. 78

Metoda funkcji kary................................................................. 78

Metoda zewn

Ċtrznej funkcji kary ............................................ 79

Metoda wewn

Ċtrznej funkcji kary ........................................... 81

Metoda mieszanej wewn

Ċtrzno-zewnĊtrznej funkcji kary....... 82

Programowanie wielokryterialne ......................................... 83

Zadanie programowania wielokryterialnego ........................... 83

Relacja porz

ądku liniowego: ................................................... 83

Sprowadzanie problemu do zadania programowania
jednokryterialnego (pseudopolioptymalizacja)........................ 84

Metoda wa

Īonej funkcji celu................................................... 84

Przeniesienie zadania do przestrzeni kryteriów....................... 84

Metoda punktu docelowego..................................................... 85

Rozwi

ązania Pareto-optymalne ............................................... 87

Metoda wa

Īonej funkcji celu................................................... 88

Metoda punktu docelowego..................................................... 88

background image

FORMU

àOWANIE PROBLEMÓW OPTYMALIZACJI

Niech dany b

Ċdzie punkt (wektor) o 

N

sk

áadowych opisujących problem w 

N

wymiarowej przestrzeni euklidesowej b

Ċdący matematycznym zapisem cech 

problemu.

>

@

N

R

x

x



 

T

N

i

x

x

x

!

!

1

T

dane

parametry

N

n

decyzyjne

zmienne

n

x

,

,

x

,

x

,

,

x

»

»

¼

º

«

«

¬

ª

 





!



!

1

1

x

oraz warunki ograniczaj

ące zakresy zmiennoĞci wektora 

x

 . 

Ograniczenia:

1. nierówno

Ğciowe:

m

,...,

j

x

,...,

x

g

n

j

1

0

1

 

d

2. równo

Ğciowe (funkcjonalne): 

q

,...,

k

x

,...,

x

h

n

k

1

0

1

 

 

Zbiór punktów przestrzeni 

R

 n

 spe

ániających przyjĊte ograniczenia nazywamy 

zbiorem dopuszczalnym (zbiorem rozwi

ązaĔ dopuszczalnych, zbiorem decyzji 

dopuszczalnych).

Zbiór dopuszczalny:

n

R



)

Aby zadanie mia

áo sens zbiór dopuszczalny nie moĪe byü zbiorem pustym 

0

z

)

h

1

(x

1

,x

2

)= 0

)

g

4

(x

1

,x

2

)

t

 0

g

3

(x

1

,x

2

)

t

 0

g

2

(x

1

,x

2

)

t

 0

g

1

(x

1

,x

2

)

t

 0

x

1

x

2

)

g

4

(x

1

,x

2

)

t

 0

g

3

(x

1

,x

2

)

t

 0

g

2

(x

1

,x

2

)

t

 0

g

1

(x

1

,x

2

)

t

 0

x

1

x

2

Zbiór dopuszczalny dla problemu dwu- 

+ jedno ograniczenie

wymiarowego

równo

Ğciowe

J.Stadnicki   Optymalizacja 1 

background image

+ dwa ograniczenia równo

Ğciowe

h

2

(x

1

,x

2

)= 0

h

1

(x

1

,x

2

)= 0

)

g

4

(x

1

,x

2

)

t

 0

g

3

(x

1

,x

2

)

t

 0

g

2

(x

1

,x

2

)

t

 0

g

1

(x

1

,x

2

)

t

 0

x

1

x

2

Wnioski:

1. ogranicze

Ĕ nierównoĞciowych

mo

Īe byü dowolnie duĪo bylyby 

0

z

)

,

2. ogranicze

Ĕ równoĞciowych moĪe

by

ü co najwyĪej

n

-1,

Aby ze zbioru dopuszczalnego wybra

ü punkt optymalny, definiujemy pewną funkcjĊ

, która b

Ċdzie miarą speánienia przyjĊtych celów (funkcja celu, kryterium

jako

Ğci).

 

x

Q

Sformu

áowanie zadania:

Znajd

Ĩ taki wektor 

>

@

T

n

x

,

,

x

ˆ

!

1

 

x

, który nale

Īąc do obszaru dopuszczalnego 

minimalizuje (maksymalizuje) funkcj

Ċ celu. 

x dla problemu maksymalizacji: 

 

 

^

`



:



x

x

x



š

d



)

)

Q

x

x dla problemu minimalizacji: 

 

 

^

`



:



x

x

x



š

t



)

)

Q

x

@

Wektor

 b

Ċdący rozwiązaniem powyĪszego zadania nazywamy 

wektorem optymalnym.

>

T

n

,...,

ˆ

ˆ

1

x

=

x

Etapy formu

áowania i rozwiązywania zadania optymalizacji:

1° okre

Ğliü zmienne decyzyjne 

>

@

T

n

x

,

,

x

!

1

 

x

,

2° okre

Ğliü zbiór dopuszczalny 

)

)

x



 i sprawdzi

ü czy 

,

0

z

)

3° utworzy

ü funkcjĊ celu 

 

x

,

4° znale

Ĩü wektor optymalny. 

x

ˆ

.

J.Stadnicki   Optymalizacja 2 

background image

PROGRAMOWANIE LINIOWE

Za

áoĪenia modeli liniowych:

1° proporcjonalno

Ğü – ograniczenia wyraĪające zuĪycie zasobów oraz funkcja celu 

wyra

Īająca rezultat dziaáania są proporcjonalne do zmiennych decyzyjnych 

(poziomu produkcji),

2° addywno

Ğü – caákowite zuĪycie zasobów jest sumą zuĪycia przypadającego na 

poszczególne zmienne decyzyjne (produkty),

3° nieujemno

Ğü – Īadna ze zmiennych decyzyjnych nie moĪe przyjmowaü wartoĞci

ujemnych.

Oznaczenia:

»

»

»

»

»

»

¼

º

«

«

«

«

«

«

¬

ª

»

»

»

»

»

»

¼

º

«

«

«

«

«

«

¬

ª

t

»

»

»

»

»

»

¼

º

«

«

«

«

«

«

¬

ª

»

»

»

»

»

»

¼

º

«

«

«

«

«

«

¬

ª

m

j

1

mn

mi

m1

jn

ji

j1

1n

1i

11

n

i

1

n

i

1

b

b

b

a

a

a

a

a

a

a

a

a

0

x

x

c

c

c

#

#

"

"

#

#

#

"

"

#

#

#

"

"

#

#

#

#

=

b

=

A

x

=

x

=

c

x

  wektor

wektor zmiennych 

n

m



  funkcji

zmiennych

 - liczba ogranicze

Ĕ

m

celu  

 

decyzyjnych 

 - liczba zmiennych decyzyjnych 

n

Q

T

T

i

i

n

i

 

 

 

 

¦

c x

x c

1

c x

funkcja celu (iloczyn skalarny wektorów 

)

c x

i

Posta

ü ogólna zagadnienie programowania liniowego:

Znale

Ĩü minimum: 

Q

  c x

T

przy warunkach: 

0

t

d

˜

x

b

x

A

czym

przy

inaczej:

Q

c x

c x

c x

i i

n n

 

 

 

o

1 1

...

...

min

gdy spe

ánione są:

J.Stadnicki   Optymalizacja 3 

background image

m

n

mn

i

mi

m

j

n

jn

i

ji

j

n

n

i

i

b

x

a

x

a

x

a

b

x

a

x

a

x

a

b

x

a

x

a

x

a

d









d









d









"

"

#

#

#

#

"

"

#

#

#

#

"

"

1

1

1

1

1

1

1

1

11

przy czym

x

t

i

0

Linowy model produkcji

Firma produkuje 

n

 wyrobów. Do ich produkcji zu

Īywane są zasoby dostĊpne w 

ograniczonych ilo

Ğciach. OkreĞliü iloĞci produkowanych wyrobów aby nie 

przekraczaj

ąc dostĊpnych zasobów osiągnąü maksimum zysku ze sprzedanej 

produkcji.

Oznaczenia:

 - 

zu

Īycie Ğrodka produkcji

j

 na wytworzenie jednostki wyrobu 

i

,

ij

a

 - 

dost

Ċpne zasoby Ğrodka produkcji

j

,

j

b

- zysk jednostkowy ze sprzeda

Īy wyrobu 

i,

i

c

- poszukiwana wielko

Ğü produkcji wyrobu 

i.

i

x

Obszar dopuszczalny okre

Ğlony przez ograniczenia:

m

n

mn

i

mi

m

j

n

jn

i

ji

j

n

n

i

i

b

x

a

x

a

x

a

b

x

a

x

a

x

a

b

x

a

x

a

x

a

d









d









d









"

"

#

#

#

"

"

#

#

#

"

"

1

1

1

1

1

1

1

1

11

i

= 1,...,

n

j

 = 1,...,

m

oraz

x

i

t

0

Funkcja celu:

max

,

,

,

1

1

1

o









 

n

n

i

i

n

i

x

c

x

c

x

c

x

x

x

Q

"

"

!

!

J.Stadnicki   Optymalizacja 4 

background image

Np.
Firma produkuje dwa wyroby  (W1, W2) za pomoc

ą trzech maszyn (M1, M2, M3). 

W1

W2

8

6 M1

720

8

16 M2

1280

Zu

Īycie czasu na jednostkĊ wyrobu 

[min]

12

8 M3

960

dzienny limit 

czasu pracy 

[min]

Zysk jednostkowy [z

á]

12

10

Obliczy

ü wielkoĞü dziennej produkcji zapewniającej maksimum zysku. 

960

8

12

1280

16

8

720

6

8

2

1

2

1

2

1

d



d



d



x

x

x

x

x

x

max

10

12

2

1

o



 

x

x

Q

oraz

x

i

t

 0 

Problem mieszanek, problem diety

0

20

40

60

80

100

120

0

20

40

60

80

100

120

140

Obszar

dopuszczalny

Punkt

optymalny

(40,60)

8x

1

6x

2

d 120

Q=12x

1

10x

2

o max

12x

1

8x

2

d 720

8x

1

16x

2

d 1280

x1

x2

160

Jakie ilo

Ğci skáadników naleĪy zmieszaü, aby otrzymaü mieszankĊ o poĪądanym

sk

áadzie przy najniĪszych kosztach skáadników?

Okre

Ğliü iloĞci produktów ĪywnoĞciowych diety zapewniającej organizmowi 

niezb

Ċdne skáadniki odĪywcze i energetyczne przy najniĪszym koszcie produktów? 

Np.
ĩeliwo maszynowe wytwarzane z trzech stopów powinno zawieraü:
do 14% C,  do 8% Si, co najmniej 25% Mn i co najmniej 12% P. 

J.Stadnicki   Optymalizacja 5 

background image

Zminimalizowa

ü koszt wytwarzania Īeliwa.

Zawarto

Ğü % pierwiastka 

Stop

C

Si

Mn

P

Cena [z

á]

I

28

10

30

10

100

II

14

12

20

10

50

III

10

6

30

15

200

12

15

10

10

25

30

20

30

8

6

12

10

14

10

14

28

3

2

1

3

2

1

3

2

1

3

2

1

t





t





d





d





x

x

x

x

x

x

x

x

x

x

x

x

min

200

50

100

3

2

1

o





 

x

x

x

Q

 oraz

x

i

t

0

Odp.:

x

1

= 0,1,

x

2

= 0,325,

x

3

= 0,517,

Q

= 129,6 z

á.

Wybór procesu technologicznego

Firma ma produkowa

ü

j

 wyrobów w ilo

Ğciach

b

j

. Wykorzystuj

ąc proces 

technologiczny

i

 z jednostkow

ą intensywnoĞcią (jeden raz) uzyskuje siĊ produkty w 

ilo

Ğciach

a

ij

 i ponosi koszty 

c

i

. Dobra

ü poszczególne procesy technologiczne tak, 

aby wytworzy

ü potrzebne iloĞci wyrobów po najmniejszych kosztach. 

Np.
Tartak ma wykona

ü 300 kompletów belek. KaĪdy komplet skáada siĊ z 7 belek o 

d

áugoĞci 0,7m oraz 4 belek o dáugoĞci 2,5m. Jak zrealizowaü zamówienie, aby 

odpad przy ci

Ċciu dáuĪyc o dáugoĞci 5,2m byá minimalny? 

Sposoby ci

Ċcia pojedynczej dáuĪycy

Belki

I

II

III

0,7 m [szt] 

7

3

0

2,5 m [szt] 

0

1

2

Odpad [m] 

0,3

0,6

0,2

.)

/

.

4

.

300

(

1200

2

.)

/

.

7

.

300

(

2100

3

7

3

2

2

1

kpl

szt

kpl

x

x

kpl

szt

kpl

x

x

u

t



u

t



oraz

x

i

t

0

min

2

,

0

6

,

0

3

,

0

,

,

3

2

1

3

2

1

o





 

x

x

x

x

x

x

Q

Odp.:

x

1

= 300,

x

2

= 0,

x

3

= 600,

Q

= 210 

J.Stadnicki   Optymalizacja 6 

background image

Standardowe zagadnienie programowania liniowego:

Znale

Ĩü minimum: 

Q

  c x

T

przy warunkach: 

A x = b

x

˜

t

przy czym

0

OGÓLNE

o STANDARDOWE 

1. pe

áne ograniczenie nierównoĞciowe typu

d

 : 

Ka

Īda z nierównoĞci:

a x

a x

a x

b

i i

n n

11 1

1

1

1

 

 

d

"

"

mo

Īe byü sprowadzona do równoĞci, przez wprowadzenie zmiennej dopeániającej

(sztucznej)

:

0

1

t



n

x

1

1

1

1

1

11

b

x

x

a

x

a

x

a

n

n

n

i

i

 













"

"

2. pe

áne ograniczenie nierównoĞciowe typu

 : 

t

Je

Īeli nierównoĞü miaáa zwrot przeciwny:

a x

a x

a x

b

i i

n

n

11 1

1

1

1

 

 

t

"

"

to przy sprowadzaniu do równo

Ğci, sztuczną zmienną naleĪy odjąü:

1

1

1

1

1

11

b

x

x

a

x

a

x

a

n

n

n

i

i

 













"

"

3. pe

áne dwustronne ograniczenie nierównoĞciowe:

Ka

Īdą z dwustronnych nierównoĞci:

2

1

1

1

11

1

1

1

b

x

a

x

a

x

a

b

n

n

i

i

d









d

"

"

Mo

Īna zastąpiü ukáadem typu 1 i 2 , a nastĊpnie sprowadziü do ukáady równoĞci tak 

jak opisano poprzednio. 

Sens geometryczny sprowadzania zadania ogólnego do standardowego:

Rozwa

Īmy przykáad dwuwymiarowego obszaru dopuszczalnego okreĞlonego

nierówno

Ğciami

:

0

,

0

,

2

2

2

1

2

1

t

t

d



x

x

x

x

Po wprowadzeniu dodatkowej zmiennej 

 otrzymamy trójk

ąt ABC leĪący w 

przestrzeni trójwymiarowej: 

3

x

0

,

0

,

0

,

0

2

2

3

2

1

3

2

1

t

t

t

 







x

x

x

x

x

x

J.Stadnicki   Optymalizacja 7 

background image

d)

c)

A

)

^x

)

x^

x

2

x

1

x

2

x

1

b)

)

)

x

^

x

2

x

1

)

)

)

x

^

x

2

x

1

a)

2x

1

+

x

2

+

x

3

=2

2

x

3

=0

x

1

=0

x

2

=0

0

2

1

A

B

x

2

x

1

2x

1

+

x

2

=2

x

1

=0

x

2

=0

0

2

1

A

B

x

2

x

1

a) jednoznaczne rozwi

ązanie optymalne, 

b) rozwi

ązaniem optymalnym jest kaĪdy punkt brzegu

zbioru dopuszczalnego równoleg

áy do prostej celu, 

c) nie ma sko

Ĕczonego rozwiązania (maksymalizacja), 

d) punkt A jest miejscem przeci

Ċcia trzech ograniczeĔ.

Okre

Ğlenie:

W ogólnym przypadku zbiór dopuszczalny jest 

)

(

m

n



wymiarowym wypuk

áym

wielo

Ğcianem leĪącym w przestrzeni  -wymiarowej, który nazywamy sympleksem.

n

W przyk

áadzie:

 zmienne decyzyjne, 

3

 

n

 ograniczenie, 

1

 

m

2

1

3

 



 

m

n

 - trójk

ąt jest obiektem 

dwuwymiarowym.

Wnioski z rysunku:

1) Dla ogranicze

Ĕ i funkcji celu typu liniowego punkty obszaru dopuszczalnego, w 

których funkcja celu mo

Īe mieü minimum, leĪą w punktach granicznych obszaru 

dopuszczalnego (wierzcho

ákach).

2) Aby znale

Ĩü optymalne rozwiązanie zadania (minimum funkcji celu), naleĪy

przeszuka

ü wierzchoáki obszaru dopuszczalnego. 

J.Stadnicki   Optymalizacja 8 

background image

Wierzcho

áki to takie punkty obszaru dopuszczalnego, w których 

 zmiennych 

decyzyjnych

ma warto

Ğü zero, a reszta okreĞlona jest ukáadem równaĔ:

m

n



i

x

b

=

x

A

˜

Zmienne, które przyrównujemy do zera nazywamy zmiennymi niebazowymi

,

N

x

pozosta

áe zmienne nazywamy zmiennymi bazowymi

.

B

x

Zatem:

x

x

x

 

»

¼

º

«

¬

ª

N

B

zmienne bazowe

zmienne niebazowe

ª

º

«

»

¬

¼

Posta

ü zadania programowania liniowego, w której wykonano powyĪsze

przekszta

ácenia nosi nazwĊ postaci kanonicznej.

Posta

ü kanoniczna zadania programowania liniowego:

Wybran

ą zmienną

 uk

áadu równaĔ:

i

x

m

n

mn

i

mi

m

j

n

jn

i

ji

j

n

n

i

i

b

x

a

x

a

x

a

b

x

a

x

a

x

a

b

x

a

x

a

x

a

 









 









 









"

"

#

#

#

#

"

"

#

#

#

#

"

"

1

1

1

1

1

1

1

1

11

mo

Īna wyeliminowaü ze wszystkich równaĔ z wyjątkiem równania

j

– tego: 

1° dziel

ąc równanie 

j

– te przez 

,

ji

a

2° dziel

ąc pozostaáe równania przez wspóáczynniki

stoj

ące przy 

,

ki

a

i

x

3° odejmuj

ąc od kaĪdego z otrzymanych równaĔ przeksztaácone równanie 

j

– te. 





"

"



"

"

"

"

'

1

'

1

'

11

1

1

1

1

1

1

1

11

1

1

1

1

1

1

1

1

11

0

1

_

1

b

ji

j

i

n

a

ji

jn

i

n

i

a

ji

j

i

ji

j

n

ji

jn

i

ji

j

i

n

i

n

i

i

a

b

a

b

x

a

a

a

a

x

x

a

a

a

a

a

b

x

a

a

x

x

a

a

a

b

x

a

a

x

x

a

a

n

¸

¸
¹

·

¨

¨
©

§



 

¸

¸
¹

·

¨

¨
©

§











¸

¸
¹

·

¨

¨
©

§



 

 

 

 

 















 









J.Stadnicki   Optymalizacja 9 

background image

Dla wszystkich równa

Ĕ ukáadu:

'

b

x

'

a

x

x

'

a

'

b

x

'

a

x

x

'

a

'

b

x

'

a

x

x

'

a

m

n

mn

i

m

j

n

jn

i

j

n

n

i

 





˜





 





˜





 





˜





"

"

#

#

#

#

"

"

#

#

#

#

"

"

0

1

0

1

1

1

1

1

1

1

11

powtarzaj

ąc operacjĊ dla

m

zmiennych

, po zmianie kolejno

Ğci równaĔ ukáadu

otrzymamy posta

ü kanoniczną ukáadu ograniczeĔ a co za tym idzie caáego zadania 

programowania liniowego. 

i

x

"

b

x

"

a

x

"

a

x

x

x

"

b

x

"

a

x

"

a

x

x

x

"

b

x

"

a

x

"

a

x

x

x

m

n

n

,

m

m

m

,

m

m

n

n

,

m

m

,

m

n

n

,

m

m

,

m

 







˜





˜



˜

 







˜





˜



˜

 







˜





˜



˜













"

"

#

#

#

#

#

"

"

"

"

1

1

2

1

2

2

1

1

2

2

1

1

1

1

1

1

2

1

1

0

0

0

1

0

0

0

1

Metoda SYMPLEKS:

Zadanie:

Znale

Ĩü minimum 

, przy warunkach: 

x

c

T

Q

 

(1)

A x = b

x

˜

0

Równanie (1) mo

Īna sprowadziü do postaci kanonicznej i zapisaü w postaci: 

(2)

>

@

B

N

x

x

b

˜

ª

¬

«

º

¼

»  

B

N

gdzie:

 - wektor zmiennych bazowych, 

B

x

 - wektor zmiennych niebazowych, 

N

x

J.Stadnicki   Optymalizacja 10 

background image

Wyznaczanie bazowego rozwi

ązania dopuszczalnego:

Je

Īeli podstawimy za wartoĞci zmiennych niebazowych 

x

N

  0

 to rozwi

ązanie

równania (2) nazywa si

Ċ rozwiązaniem bazowym.

-1

B

b

x

B

˜

 

˜

B

 - rozwi

ązanie bazowe, nieosobliwą macierz 

x

B

B

 

1

b

B

nazywamy baz

ą.

Je

Ğli ponadto 

, to mówimy, 

Īe

0

t

B

x

x

jest bazowym rozwi

ązaniem

dopuszczalnym.

W ten sposób wyznaczamy wierzcho

áek sympleksu, który moĪe kandydowaü do 

rozwi

ązania zadania. 

Zmiana bazowego rozwi

ązania dopuszczalnego (wybór zmiennej niebazowej 

wprowadzanej do bazy):

Przekszta

ácamy funkcjĊ celu tak, aby wyraziü ją za pomocą zmiennych niebazowych 

.

N

x

 (3) 

Q

B

T

B

N

T

N

B

N

 



 

ª

¬

«

º

¼

»

c x

c x

c

c

c

gdzie

(4)

Bx

N x

b

B

B

N



 

˜

1

x

B N x

B

B

N



 





1

1

b

N

(5)

wstawmy (5) do (3): 

x

B b

B N x

B

 







1

1

Q

B

T

N

N

T

N

 









c

B b

B N  x

c x

1

1

(6)

Q

B

T

N

T

B

T

N

T

N

 





 







c B b

c

c B N x

q

p x

1

1

0

J.Stadnicki   Optymalizacja 11 

background image

gdzie:

(7)

q

c

 (8) 

B

0

1

 



B

T

b

N

p

c

c B

T

N

T

B

T

 



1

Równanie (6) wyra

Īa funkcjĊ celu za pomocą zmiennych niebazowych. 

Mo

Īliwe są trzy przypadki: 

1° wszystkie sk

áadowe wektora są dodatnie 

,

Poniewa

Ī minimalizujmy funkcjĊ celu, wprowadzenie odpowiadających

sk

áadowym wektora

0

!

p

p

 kolumn macierzy 

N

do bazy zwi

Ċkszy (pogorszy) 

warto

Ğü funkcji celu 

bazowe rozwi

ązanie dopuszczalne 

 jest rozwi

ązaniem

optymalnym zadania 

.

Ÿ

xˆ

B

x

B

x

 

2° wszystkie sk

áadowe wektora są zerowe 

0

 

p

,

Rozwi

ązanie jest niejednoznaczne, tzn. Īe moĪna przejĞü do innego wierzchoáka

sympleksu baz zmiany warto

Ğci funkcji celu. 

3° wektor 

 posiada ujemn

ą skáadową

p

0



k

p

,

Wprowadzenie odpowiadaj

ącej jej kolumny 

macierzy

k

a

N

do bazy zmniejszy 

(poprawi) warto

Ğü funkcji celu (tw. o poprawianiu). 

Je

Īeli w wektorze 

 wyst

Ċpuje wiĊcej ujemnych skáadowych

, wybieramy 

najmniejsz

ą z nich. 

p

k

p

z (8): 

N

B

c

c

p

Ȝ



T

T
B

T
N

T

1





 

oznaczaj

ąc:

T
B

T

T
B

T

c

B

B

B

c

 

Ÿ

˜

 



O

O

1

(9)

 czyli  (10)

O

T

B

B

c

 

N

c

p

T

T
N

T

O



 

O

- wektor mno

Īników sympleksowych, 

p

 - wektor wzgl

Ċdny funkcji celu. 

Ujemn

ą skáadową wektora 

p

 oznaczymy 

.

k

p

Je

Īeli:

 

p

n

k

1

m

d

d







dla

0

k

T

Nk

k

a

c

O

to kolumn

Ċ

 wprowadzamy do bazy 

k

a

B

w nast

Ċpnej iteracji, a wartoĞü funkcji celu 

 ulegnie zmniejszeniu.

Q

J.Stadnicki   Optymalizacja 12 

background image

Poprawa bazowego rozwi

ązania dopuszczalnego (wybór zmiennej bazowej 

wyprowadzanej z bazy):

Nale

Īy teraz znaleĨü kolumnĊ w bazie 

B

, w miejsce której wprowadzimy 

.

k

a

Z (5): 

x

B b

B N  x

B

N

 







1

1

oznaczaj

ąc bieĪące rozwiązanie bazowe przez 

,

Īądamy aby nowe 

bazowe rozwi

ązanie byáo dopuszczalne (

):

b

B

x

1

0



 

0

t

B

x

(11)

x

x

B a x

x

x

x

B

k

Nk

B

y

 



t

 



t



0

1

0

0

0

czyli by:

Nk

gdzie:

B a

y

B

a

B y



 

˜

Ÿ

 

1

k

(12)

k

k

a

B

y

1



 

Ÿ

przy czym 

 otrzymuje si

Ċ jako rozwiązanie ukáadu (12).

y

Warto

Ğü zmiennej bazowej moĪna zmniejszyü jeĪeli

, w przeciwnym przypadku 

zbiór dopuszczalny jest nieograniczony i funkcja celu mo

Īe byü zmniejszona do 

.

0

y

t

f



Baz

Ċ opuszcza ta kolumna, dla której: 

(13)

¿

¾

½

¯

®

­

 

i

i

y

x

0

0

min

T

Przyk

áad:

Zminimalizowa

ü:

Q

x

 

x





0 5

0 4

1

.

.

x

x

x

x

1

2

1

2

2

24

18

11



d



d
d

2

4

 przy 

ograniczeniach:

x

x x

1

1

2

15

0

­

®

°

¯

°

t

.

,

1° Sprowadzamy zadanie ogólne do standardowego kanonicznego przez dodanie 

do wektora   sztucznych zmiennych: 

x

x x x

3

4

5

0

,

,

t

x

x

x

x

x

x

x

x

1

2

3

1

2

4

1

5

2

2

15

18

11





 







 

­

®

°

¯

°

.

 

J.Stadnicki   Optymalizacja 13 

background image

Powy

Īszy ukáad po zamianie kolejnoĞci zmiennych jest postaci kanonicznej!

Mamy wi

Ċc:

>

@

A

x

b

c

 

ª

¬

«

«

«

º

¼

»

»

»

 

ª

¬

«

«

«

«

«

«

º

¼

»

»

»

»

»

»

 

ª

¬

«

«

«

º

¼

»

»

»

  



1

2

1

0

0

15 1

0

1

0

1

0

0

0

1

24

18

11

0 5

0 4

0

0

0

3

.

.

x

x

x

x

x

1

2

4

5

T

.

1° Rozpoczynamy obliczenia dla 

x

N

  0

. Poniewa

Ī

B

jest nieosobliwa, traktujemy 

j

ą jako bazĊ a 

 jako rozwi

ązanie bazowe. 

x

B

»

»

»

¼

º

«

«

«

¬

ª

 

 

 

»

»

»

¼

º

«

«

«

¬

ª

 

»

»

»

¼

º

«

«

«

¬

ª

 



0

0

0

1

0

0

0

1

0

0

0

1

1

5

4

3

B

B

x

x

x

c

I

B

B

B

x

Rozwi

ązanie bazowe; 

»

»

»

¼

º

«

«

«

¬

ª

 

»

»

»

¼

º

«

«

«

¬

ª

 

 

Ÿ

 



11

18

24

11

18

24

1

I

b

B

x

b

B

x

B

B

z (9): 

>

@

0

0

0

1

 

 

 

 



T
B

T
B

T
B

T

c

I

c

B

c

Ȝ

z (10):

>

@ >

@

>

@

4

0

5

0

0

1

1

5

1

2

1

0

0

0

4

0

5

0

.

.

.

.

.

T

T
N

T





 

»

»

»

¼

º

«

«

«

¬

ª







 



 

N

Ȝ

c

p

2° Zgodnie z tw. o poprawianiu wybieramy ujemn

ą skáadową wektora 

i

wprowadzamy j

ą do bazy 

p

B

. Poniewa

Ī -0.5 < -0.4, do bazy 

B

wprowadzamy

kolumn

Ċ 1 macierzy  odpowiadającą zmiennej 

.

x

1

1

ª

¬

«

«

«

x

1

15

1

º

¼

»

»

»

.

Ÿ

 

Rozwi

ązujemy ukáad (12): 

J.Stadnicki   Optymalizacja 14 

background image

a

B  y

y

B a

B x

I x

x

k

k

 

Ÿ

 

 

 

 

 

ª

¬

«

«

«

º

¼

»

»

»





1

1

1

1

1

1

15

1

.

3° Wyznaczamy kolumn

Ċ, która ma opuĞciü bazĊ

B

.

Z (13): 

^

`

y

B

x

y

x

B

1

11

11

12

24

1

11

5

1

18

1

24



 

 

 

¿

¾

½

¯

®

­

 

¿

¾

½

¯

®

­

bo

min

.

min

min

i

Bi

Zatem baz

Ċ

B

opuszcza kolumna 5 odpowiadaj

ąca zmiennej 

.

x

5

1

2

1

0

0

15 1

0

1

0

1

0

0

0

1

.

ª

¬

«

«

«

º

¼

»

»

»

4° Nowa macierz bazowa: 

obliczamy



.

B

 

ª

¬

«

«

«

º

¼

»

»

»

1

0

1

0

1 15

0

0

1



.

B



 





ª

¬

«

«

«

º

¼

»

»

»

1

1

0

1

0

1

15

0

0

1

bo

 

.

.

B B

I

˜

 

ª

¬

«

«

«

º

¼

»

»

»

˜





ª

¬

«

«

«

º

¼

»

»

»

 

1

1

0

1

0

1 15

0

0

1

1

0

1

0

1

15

0

0

1

Nowe rozwi

ązanie bazowe: 

»

»

»

¼

º

«

«

«

¬

ª

 

»

»

»

¼

º

«

«

«

¬

ª

˜

˜





˜

˜





˜

 

»

»

»

¼

º

«

«

«

¬

ª

˜

»

»

»

¼

º

«

«

«

¬

ª





 

 



11

5

.

1

13

11

1

11

)

5

.

1

(

18

1

11

)

1

(

24

1

11

18

24

1

0

0

5

.

1

1

0

1

0

1

ˆ

ˆ

1

b

B

x

B

Na tym ko

Ĕczy siĊ I iteracja. NastĊpne wykonujemy wg tego samego algorytmu. 

Warto

Ğü funkcji celu: 

J.Stadnicki   Optymalizacja 15 

background image

x

przed I iteracj

ą:

>

@

Q

T

0

0 5

0 4

0

0

0

0

0

24

18

11

0

 

  



˜

ª

¬

«

«

«

«

«

«

º

¼

»

»

»

»

»

»

 

c x

.

.

x

po I iteracji: 

>

@

Q

I

T

 

  



˜

ª

¬

«

«

«

«

«

«

º

¼

»

»

»

»

»

»

  

c x

0 5

0 4

0

0

0

11

0

13

15

0

11

2

.

.

.

J.Stadnicki   Optymalizacja 16 

background image

Zagadnienie transportowe

i

=

n

 i

=3

 i

=2

 i

=1

 j

=

m

 j

=2

 j

=1

Dana jest sie

ü transportowa 

skierowana.

R: wierzcho

áki dostawy:

j

=1,...,

m

N: wierzcho

áki odbioru:

i

=1,...,

n

Ka

Īdemu áukowi przyporządkowany

jest jednostkowy koszt przewozu

.

ji

c

Zadanie transportowe:

Wyznaczy

ü macierz wielkoĞci przewozu 

^ `

x

ji

, która minimalizuje ca

ákowity koszt 

transportu

Q

, przy spe

ánieniu ograniczeĔ:

¦¦

 

 

o

 

m

j

n

i

ji

ji

min

x

c

1

1

¦

  (poda

Ī wierzchoáków dostawy nie moĪe byü

przekroczona)

x

a

j

m

ji

j

i

n

d

 

 

1

1

,...,

n

 (poda

Ī wierzchoáków d

¦

   (popyt wierzcho

áków odbioru musi byü zaspokojony) 

x

b

i

n

ji

i

j

m

t

 

 

1

1

,...,

 przy 

czym:

x

ji

t

.

0

Zadanie ma rozwi

ązanie dopuszczalne

gdy:

ostawy

zaspokaja popyt wierzcho

áków odbioru). 

a

b

j

m

i

j

i

i

n

j

m

t

 

 

 

 

¦

¦

1

1

1

1

,...,

,...,

Przy czym je

Īeli:

1

q

, to jest to zadanie transportowe

¦

¦

 

 

!

m

j

n

i

i

j

b

a

1

1

otwarte,

2

q

¦

, to jest to zadanie transportowe zamkni

Ċte.

¦

 

 

 

m

j

n

i

i

j

b

a

1

1

J.Stadnicki   Optymalizacja

17

background image

Rozwi

ązanie jest optymalne gdy: 

  (

áączna iloĞü

transportowanego dobra zaspokaja popyt). 

x

b

i

n

ji

i

j

m

 

 

 

¦

1

1

,...,

1

,

Dla danej sieci 

N=(V,E),

 w której wyró

Īnione są dwa wierzchoáki:

s

=

Ĩródáo,

t

= odp

áyw, kaĪdemu áukowi przyporządkowujemy nieujemną liczbĊ caákowitą

zwan

ą przepustowoĞcią.

ji

k

Przep

áyw w sieci 

N

 to takie przyporz

ądkowanie kaĪdemu áukowi liczby rzeczywistej 

takiej,

Īe:

0

1

d

d

 

 

x

k

j

m

i

n

ji

ji

,...,

,..,

2° w  ka

Īdym wierzchoáku

i

 ró

Īnym od 

s

 i 

t

 spe

ánione jest równanie zachowania 

przep

áywu:

,

x

x

ji

il

l

j

 

¦

¦

( )

( )

gdzie:

j

 - odnosi si

Ċ do zbioru áuków wchodzących do wierzchoáka

i

,

l

 - odnosi si

Ċ do zbioru áuków wychodzących z wierzchoáka

i

.

Inaczej:

to co wp

áywa do wierzchoáka

i

 musi z niego wyp

áynąü.

Warto

Ğü przepáywu

f(t)

 to suma przep

áywów wpáywających do wierzchoáka

odp

áywu.

Metoda najwi

Ċkszego przepáywu:

Znale

Ĩü najwiĊkszy przepáyw tzn. wyznaczyü macierz 

^ `

x

ji

, która maksymalizuje 

form

Ċ

Q

, przy ograniczeniach: 

¦¦

 

 

 

j

i

ji

x

1

1

m

n

¦

,

x

a

j

m

ji

i

n

j

 

d

 

1

1,...,

¦

 przy czym:

.

x

b

i

n

ji

j

m

i

 

t

 

1

1,...,

x

ji

t 0

J.Stadnicki   Optymalizacja

18

background image

Algorytm cechowania

Za

áoĪenia:

x liczby w nawiasach kwadratowych oznaczają:

,

ji

ji

k

x

ª

º œ

¬

¼

[

przepustowo

Ğü, przepáyw

],

x wszystkie wartoĞci liczbowe są caákowite i nieujemne,
x początkowe przepáywy wzdáuĪ áuków wynoszą

0

 

ji

x

.

Procedura A (cechowanie): 

1. nada

ü Ĩródáu

s

 cech

Ċ (-, ’),

2. wzi

ąü dowolny wierzchoáek

j

 maj

ący cechĊ

(i , 

İ

j

) lub (i , -

İ

j

)

i zbada

ü go, 

rozpatruj

ąc wszystkie nie ocechowane wierzchoáki

l

 przyleg

áe do

j.

A. je

Ğli

j , l )

 jest 

áukiem i 

 (

przep

áyw < przepustowoĞci

), to nada

ü

     wierzcho

ákowi

l

 cech

Ċ

(j , 

İ

jl

jl

k

x



l

)

, gdzie: 

^

`

min

,

l

j

jl

jl

k

x

H

H

 



,

B. je

Ğli

j , l )

 jest 

áukiem to nadaü wierzchoákowi

l

 cech

Ċ

(j , - 

İ

l

)

,

   gdzie: 

,

^

`

jl

min

,

l

j

x

H

H

 

3. powtórz krok 2 a

Ī do ocechowania odpáywu

t

 lub stwierdzenia, 

Īe jest to 

niemo

Īliwe.

[1,0]

[1,0]

[4,0]

[2,0]

[3,0]

[5,0]

t

s

(-,

’

)

[1,0]

6

4

[2,0]

[4,0]

3

5

2

1

J.Stadnicki   Optymalizacja

19

background image

1 ocechowanie: 

wierz-

cho

áek

j

l

x

jl

k

jl

İ

j

x

jl

 < k

jl

A.

İ

l

=min{

İ

j

 , k

jl

 – x

jl

 } 

B.

İ

l

=min{

İ

j

 , x

jl

 }

(j , 

İ

l

)

(j ,- 

İ

l

)

1

s

1

0

5

’

0 < 5 

min

 { 

’ , 

5 – 0

 }

(s , 5) 

2

s

2

0

4

’

0 < 4 

min

 { 

’ , 

4 – 0

 }

(s , 4) 

4

2

4

0

4

4

0 < 4 

min

 { 4 , 4 – 0

 }

(2 , 4) 

1

3

0

3

5

0 < 3 

min

 { 5 , 3 – 0

 }

(1 , 3)

3

4

3

0

1

4

0 < 1 

min

 { 4 , 1 – 0

 }

(4 , 1)

1 < 3

Ÿ

(4 , 1) 

5

3

5

0

2

1

0 < 2 

min

 { 1 , 2 – 0

 }

(3 , 1) 

6

4

6

0

2

4

0 < 2 

min

 { 4 , 2 – 0

 }

(4 , 2) 

5

t

0

1

1

0 < 1 

min

 { 1 , 1 – 0

 }

(5 , 1)

t

6

t

0

1

2

0 < 1 

min

 { 2, 1 – 0

 }

(6 , 1)

1 = 1

Ÿ

(5 , 1) 

przep

áyw

poprzedni
wierzcho

áek

(4,2)

(2,4)

(s,4)

(s,5)

[1,0]

[1,0]

[4,0]

[3,0]

[5,0]

t

s

(5, 1) 

(-,

’

)

[1,0]

6

4

[2,0]

[4,0]

5

3

[2,0]

(4,1)

(3,1)

2

1

Procedura B zmiana przep

áywu:

[1,0]

[1,1]

[4,1]

[2,1]

[3,0]

[5,0]

t

s

[1,1]

6

4

[2,0]

[4,1]

3

5

2

1

J.Stadnicki   Optymalizacja

20

background image

2 ocechowanie: 

wierz-

cho

áek

j

l

x

jl

k

jl

İ

j

x

jl

 < k

jl

A.

İ

l

=min{

İ

j

 , k

jl

 – x

jl

 } 

B.

İ

l

=min{

İ

j

 , x

jl

 }

(j , 

İ

l

)

(j ,- 

İ

l

)

1

s

1

0

5

’

0 < 5 

min

 { 

’ , 

5 – 0

 }

(s , 5) 

2

s

2

1

4

’

1 < 4 

min

 { 

’ , 

4 – 1

 }

(s , 3) 

3

1

3

0

3

5

0 < 3 

min

 { 5 , 3 – 0

 }

(1 , 3) 

2

4

1

4

3

1< 4

min

 { 3 , 4 – 1

 }

(2 , 3)

4

3

4

1

1

1

1 = 1 

min

 { 1 , 1

 }

(3 , -1)

-1 < 3

Ÿ

(3 , -1) 

5

3

5

1

2

3

1 < 2 

min

 { 3 , 2 – 1

 }

(3 , 1) 

6

4

6

0

2

1

0 < 2 

min

 { 1 , 2 – 0

 }

(4 , 1) 

5

t

1

1

1

1 = 1 

min

 { 1 , 1

 }

(5 , -1)

t

6

t

0

1

1

0 < 1 

min

 { 1, 1 – 0

 }

(6 , 1)

-1 =wyp

áyw

z „t” 

Ÿ

(6 , 1) 

(4,1)

(s,3)

(3,-1)

(s,5)

[1,0]

[1,1]

[4,1]

[3,0]

[5,0]

t

s

(6, 1) 

(-,

’

)

[1,1]

6

4

[4,1]

[2,0]

5

3

[2,1]

(1,3)

(3,1)

2

1

Odp

áyw otrzymaá cechĊ

(l , 

İ

t

) tzn. (6 ,1). Oznacza to, 

Īe w sieci z bieĪącym

przep

áywem istnieje ĞcieĪka powiĊkszająca z

s

do

t,

wzd

áuĪ której moĪna

powi

Ċkszyü przepáyw o

İ

t

 tzn. o 1 a 

l

 tzn. 6 jest ostatnim wierzcho

ákiem na tej 

ĞcieĪce.

J.Stadnicki   Optymalizacja

21

background image

[1,1]

[1,1]

[4,1]

[2,1]

[3,1]

[5,1]

t

s

przep

áyw=

1+1 =2 

[1,-1]

[1,1]

6

4

[4,1]

[2,1]

3

5

2

1

3 ocechowanie: brak przej

Ğcia!

 ko

Ĕcowe rozwiązanie:

x

s2

=x

s1

=x

24

=x

13

=x

46

=x

35

=x

6t

=x

5t

=

 1 

warto

Ğü przepáywu:

f(t)

 = 1 +1 =2

Pierwotne (prymalne) zadanie programowania liniowego: 

Znale

Ĩü wektor 

, taki 

Īe:

, przy ograniczeniach: 

x

 

Q

T

x

c x

 

o min

A x

b

d

x

- zmienne prymalne, 

t 0

x

Dualne zadanie programowania liniowego: 

Znale

Ĩü wektor 

y

, taki 

Īe:

, przy ograniczeniach: 

 

P

T

y

y b

 

o max

A

c

y

t

T

y

t 0

y

- zmienne dualne (sprz

ĊĪone).

Tw. o dualno

Ğci:

1) Je

Īeli jeden z problemów: dualny lub pierwotny ma rozwiązanie optymalne 

x

ˆ

, to 

i drugi je ma 

y

ˆ

, przy czym warto

Ğci obu zadaĔ są takie same 

.

 

 

y

x

ˆ

P

max

ˆ

Q

min

 

2) Je

Īeli jeden z problemów nie ma rozwiązania, ze wzglĊdu na nieograniczoną

warto

Ğü funkcji celu 

f

o

f

o

y

x

P

Q

lub

, to zbiór dopuszczalny 

drugiego problemu jest pusty (rozwi

ązanie nie istnieje). 

 

 

J.Stadnicki   Optymalizacja

22

background image

Wnioski z tw. o dualno

Ğci

a) Warunkiem koniecznym i wystarczaj

ącym istnienia rozwiązania jest istnienie co 

najmniej jednego dopuszczalnego rozwi

ązania problemu pierwotnego i dualnego. 

b) Warunkiem koniecznym i wystarczaj

ącym optymalnoĞci rozwiązaĔ

dopuszczalnych

x

ˆ

 i 

y

ˆ

 jest 

 

 

y

x

ˆ

P

ˆ

Q

 

.

Przyk

áad:

Zadanie pierwotne:

    Zadanie 

dualne:

 

Q

x

x

x

x

x

 







o

2

4

1

2

3

4

max

 

P

y

y

y

y

 





o

4

3

3

1

2

3

min

x

x

x

x

x

x

x

x

1

2

4

1

2

2

3

4

3

4

2

4

3





3

d



d





d

1

1

4

4

3

2

2

3

1

3

3

2

1

2

1

t



t

t





t



y

y

y

y

y

y

y

y

min

0

T

Q

 

o

d

c x

Ax

b

x

t

max

0

T

T

T

T

P

 

o

t œ

t

t

yb

A y

c

y A

c

y

Je

Īeli

 jest rozwi

ązaniem

ˆ

B

 

x

x

optymalnym to:      Przyjmuj

ąc:

 

y

Ȝ

 , (rozwi

ązanie

   optymalne 

zadania dualnego)

1

(

0

B



 

x

B b

x

T

T
B

 

)

N

 

Ȝ B

c

      za 

(9) mamy:

 

 

 

 

 

 

Zatem wektor

Ȝ

 jest dopuszczalny.

Q

P

 

Ÿ

Warto

Ğci obu zadaĔ są równe.

>

@

,

,

T

T

T

T

T

B

N

ª

º

ª

 

t

 

¬

¼

¬

y

B N

y B y N

c

c

c

,

T

º¼

T

T

T

B

 

 

y B

Ȝ B

c

1

0

T

T

T

N

B



 



d

p

c

c B N

T

T

N

 

t

y N

Ȝ N

c

T

N

1

T

T

T

B

N



t

Ȝ

c B N

c

T

B

B

Q

  c x

,

,

T

T

T

T

B

N

ª

º

ª

º

t

 

¬

¼

¬

¼

Ȝ B Ȝ N

c

c

T

c

N

1

B

T

T

T

B

B

B

P



 

 

 

x

Ȝ b c B b c x

J.Stadnicki   Optymalizacja

23

background image

Algorytm prymalno-dualny zadania transportowego

Znale

Ĩü macierz 

^

, tak

ą Īe:

Q

c

 przy ograniczeniach: 

`

x

ji

 

x

ji

ji

i

n

j

m

x

 

o

 

 

¦

¦

min

1

1

¦

x

a

j

m

ji

j

i

n

d

 

 

1

1

,..,

¦

 przy 

czym:

x

x

b

i

n

ji

i

j

m

t

 

 

1

1

,..,

ji

t 0

Warunek (1°) mo

Īna zapisaü w postaci: 

(1°)’



t 

 

¦

x

a

ji

j

i

n

1

x

b

ji

i

j

m

t

 

¦

1

Formu

áujemy zadanie dualne, zmienne wystĊpujące w (1°)’ i (2°) zastąpimy

zmiennymi dualnymi 

 i 

, takimi 

Īe:

 oraz

u

j

v

i

¦

 

 

n

i

ji

j

x

u

1

¦

 

 

m

j

ji

i

x

v

1

Nowa funkcja celu: 

, przy ograniczeniach: 

P

u a

v b

j

j

i i

i

n

j

m

  



o

 

 

¦

¦

1

1

max

 przy 

czym:





d

u

v

c

j

i

ji

 

j

m

i

n

j

i

,

,...,

,...,

t

u v

 

 

0

1

1

Algorytm:

1° rozwi

ązaü zadanie dualne dla dowolnych wartoĞci początkowych

 i 

,

u

v

2° sprawdzi

ü ograniczenia (1°) i (2°), 

a) je

Ğli są speánione, to jest to rozwiązanie optymalne zadania pierwotnego i 

zarazem ca

áego zadania transportowego, 

b) je

Ğli nie są speánione, przyjąü nowe wartoĞci

 i 

, rozwi

ązaü dla nich zadanie 

dualne a nast

Ċpnie wróciü do punktu 2°. 

u

v

J.Stadnicki   Optymalizacja

24

background image

Przyk

áad:

Przyjmijmy dane liczbowe zadania transportowego: 

»

»

»

»

¼

º

«

«

«

«

¬

ª

 

»

»

»

¼

º

«

«

«

¬

ª

 

45

15

10

30

55

30

15

b

a

,

,

^ `

3

4

5

7

6

8 13

9

3

7

2

3

ji

c

ª

º

«

»

 

  «

»

«

»

¬

¼

c

i

=1...4

 j

 =1..3 

1

q inicjalizacja zmiennych dualnych:

,

¦

 

 

n

i

ji

j

x

u

1

¦

 

 

m

j

ji

i

x

v

1

 pocz

ątkowo przyjmujemy: 

0

 

j

u

,

^ `

i

j

v

min

c

 

i

0

 

ji

,

x

,

>

@

T

0

0

0

 

u

>

@

T

3

2

7

3

 

v

 Z 

4

q Ÿ,

Īe przepáywy niezerowe ( 

x

ji

>0 ) s

ą moĪliwe tylko wzdáuĪ tych

kraw

Ċdzi, dla których speániony jest warunek

0

 





i

j

ji

v

u

c

.

1

2

3

4

1 3+0-3=0

7+0-7=0

3+0-2=4+0-3=1

2 5+0-3=2

7+0-7=0

2+0-2=6+0-3=3

3 8+0-3=13+0-7=6

9+0-2=3+0-3=0

2

q korzystając z algorytmu cechowania, ocechowaü powstaáą sieü:

(s

1

,15

(s

1

,15)

t

1

[10,0]

[30,0]

[

’,0]

[

’,0]

[55,0]

(-,

’)

(s

3

,45)

t

4

(s,15)

s

1

(s,30

[30,0]

)

(s,55)

s

3

(s

2

,15)

t

3

[45,0]

(s

2

,10)

t

2

(s

1

,0)

[

’,0]

[15,0]

s

s

2

t

[

’,0]

[

’,0]

[15,0]

J.Stadnicki   Optymalizacja

25

background image

Sie

ü po 1 ocechowaniu: 

t

4

t

2

t

1

s

3

s

1

[45,45]

t

3

[10,10]

[30,15]

[

’,45]

[

’,0]

[

’,15]

[30,25]

[

’,15]

[15,15]

s

s

2

t

[

’,10]

[15,15]

[55,45]

Otrzymane rozwi

ązanie nie speánia wszystkich warunków 

(wzd

áuĪ áuku

t

¦

 

t

m

j

i

ji

b

x

1

1

t  mo

Īna powiĊkszyü przepáyw).

3

q zmiana przepáywu:

Aby zwi

Ċkszyü przepáyw trzeba utworzyü nowe áuki miĊdzy nie ocechowanymi 

wierzcho

ákami tj. s

1

 i  t

1

.

Zbiór ocechowanych wierzcho

áków s

j

 :

^

`

3

2,

J

 

.

Zbiór nie ocechowanych wierzcho

áków t

i

 :

^ `

1

 

I

. (dope

ánienie zbioru 

J

)

Niech : 

^

`

I

i

,

J

j

v

u

c

min

i

j

ji









 

:

G

,

tzn.

2

5

3

0

8

2

3

0

5

 

¿

¾

½

¯

®

­

 





 





  min

G

4

q zmiana zmiennych dualnych:

Nowym rozwi

ązaniem dualnym jest:

¯

®

­







 

I

j

,

u

J

j

,

u

u

j

j

j

G

,

¯

®

­







 

I

i

,

v

J

i

,

v

v

i

i

i

G

czyli

>

@

>

T

T

0

0

2

0

0

2

0

 



 

u

@

oraz

>

@

T

7

5

3

2

7

2

3

 



 

v

>

T

3

2

@

Ta zmiana usuwa 

áuk  s

1

 t

2

  i tworzy nowy s

2

t

1

.

J.Stadnicki   Optymalizacja

26

background image

t

4

t

2

t

1

s

3

s

1

[45,45]

t

3

[10,10]

[30,15]

[

’,45]

[

’,0]

[

’,15]

[30,25]

[

’,15]

[15,15]

s

s

2

t

[

’,10]

[15,15]

[55,45]

Dla nowej sieci powtarzamy post

Ċpowanie od punktu 2qaĪ do chwili speánienia

ogranicze

Ĕ na popyt: 

.

¦

 

t

j

i

ji

b

x

1

m

n

m

m

x

W algorytmie na przemian zmieniamy rozwi

ązania prymalne i dualne (krok 1q).

x Ocechowując wierzchoáki sieci dąĪymy do maksymalnego przepáywu rozwiązania

dualnego

 a tym samym znajdujemy sprz

ĊĪone

rozwi

ązanie prymalne, które 

.

P

u a

v b

j

j

i i

i

j

  



o

 

 

¦

¦

1

1

max

 

i

n

j

m

x

 

 

¦

¦

1

Q

c x

ji

ji

 

o min

1

x KaĪde przejĞcie zwiĊksza wartoĞü przepáywu o co najmniej jedną jednostkĊ a 

liczba przej

Ğü jest ograniczona popytem, który musi byü zaspokojony 

, co oznacza 

Īe algorytm jest skoĔczony.

¦

 

t

j

i

ji

b

x

1

x Zgodnie z tw. o dualnoĞci otrzymane rozwiązania zadaĔ prymalnego i dualnego 

s

ą optymalne. 

J.Stadnicki   Optymalizacja

27

background image

Zastosowania:

Zadanie transportowe: 

Producenci

R

j

 jednorodnego produktu, z których ka

Īdy ma zdolnoĞü produkcyjną

a

j

, zaopatruj

ą

N

i

 odbiorców, z których ka

Īdy zgáasza zapotrzebowanie 

b

i

.

Zak

áada siĊ, Īe áączne zdolnoĞci produkcyjne pokrywają lub przekraczają áączne

zapotrzebowanie.

Dane s

ą jednostkowe koszty transportu od 

j

-tego producenta do 

i

-tego odbiorcy 

c

ji

.

Wyznaczy

ü plan przewozu miĊdzy dostawcami a odbiorcami tj. macierz przewozu 

{ x

ji

}

minimalizuj

ący caákowity koszt transportu. 

Np.

Odbiorcy

Producenci

N

1

N

2

N

3

N

4

Poda

Ī

a

j

R

1

50

40

50

20

70

R

2

40

80

70

30

50

R

3

60

40

70

80

80

Popyt

b

i

40

60

50

50

^ `

»

»

»

»

¼

º

«

«

«

«

¬

ª

 

»

»

»

¼

º

«

«

«

¬

ª

 

»

»

»

¼

º

«

«

«

¬

ª

 

 

50

50

60

40

80

50

70

80

70

40

60

30

70

80

40

20

50

40

50

b

a

c

ji

c

Rozwi

ązanie:

^ `

8000

0

20

60

0

10

0

0

40

40

30

0

0

 

»

»

»

¼

º

«

«

«

¬

ª

 

 

Q

ˆ

ji

x

J.Stadnicki   Optymalizacja

28

background image

Zadanie transportowo-produkcyjne:

Producenci

R

j

 jednorodnego produktu, z których ka

Īdy ma zdolnoĞü produkcyjną

a

j

, zaopatruj

ą

N

i

 odbiorców, z których ka

Īdy zgáasza zapotrzebowanie 

b

i

.

Zak

áada siĊ, Īe áączne zapotrzebowanie przekraczaja áączne zdolnoĞci produkcyjne.

Dane s

ą jednostkowe koszty transportu od 

j

-tego producenta do 

i

-tego odbiorcy 

c

ji

oraz jednostkowe koszty produkcji 

j

-tego producenta 

h

j

.

Produkty nie zosta

áy jeszcze wytworzone i naleĪy podjąü decyzjĊ gdzie je 

produkowa

ü i jak rozesáaü do odbiorców aby zminimalizowaü áączne koszty 

produkcji i transportu. 

x Wprowadzimy fikcyjnego odbiorcĊ

N

n+1

 , który reprezentowa

ü bĊdzie nie 

wykorzystane zdolno

Ğci produkcyjne poszczególnych producentów i którego 

zapotrzebowanie:

¦

¦

 

 





 

i

i

j

j

i

b

a

b

1

1

1

n

m

n

i

,

m

j

!

!

1

1

 

 

tzn.

áączne zdolnoĞci produkcyjne – áączne zapotrzebowanie, 

x Utworzymy macierz áącznych kosztów transportu i produkcji: 

ji

j

ji

c

h

k



 

n

i

,

m

j

!

!

1

1

 

 

0

przy czym 

tzn.

Īe nie wykorzystanym zdolnoĞciom produkcyjnym odpowiadają zerowe 

koszty.

1

 



m

,

j

k

Np.

Odbiorcy

Producenci

N

1

N

2

N

3

N

4

Odbiorca

fikcyjny

N

5

Poda

Ī

a

j

R

1

50

40

50

20

0

70

R

2

40

80

70

30

0

50

R

3

60

40

70

80

0

80

Popyt

b

i

40

60

50

80

30

J.Stadnicki   Optymalizacja

29

background image

^ `

»

»

»

»

»

»

¼

º

«

«

«

«

«

«

¬

ª

 

»

»

»

¼

º

«

«

«

¬

ª

 

»

»

»

¼

º

«

«

«

¬

ª

 

 

80

50

50

60

40

80

50

70

0

80

70

40

60

0

30

70

80

40

0

20

50

40

50

b

a

c

ji

c

Rozwi

ązanie:

^ `

143600

30

0

0

50

0

0

10

0

0

40

0

40

50

10

0

 

»

»

»

¼

º

«

«

«

¬

ª

 

 

Q

x

ˆ

ˆ

ji

x

Uwaga:
Ostatnia kolumna w macierzy 

x

ji

 }

 odpowiadaj

ąca fikcyjnemu odbiorcy wyraĪa nie 

wykorzystane zdolno

Ğci produkcyjne poszczególnych producentów. 

Zadanie lokalizacji produkcji: 

Dana jest lokalizacja 

n

 odbiorców na pewien towar oraz lokalizacja 

m

 punktów, w 

których mo

Īliwa jest produkcja tego towaru. 

Pozosta

áe dane przyjmiemy jak zadaniu poprzednim tj.: podaĪ – 

a

j

, popyt – 

b

i

,

koszty transportu – 

c

ji

, koszty produkcji – 

h

j

.

Wyznaczy

ü lokalizacjĊ producentów towaru, która zaspokaja popyt i minimalizuje 

áączne koszty produkcji i transportu. 

Zadanie rozwi

ązujemy jak poprzednio. 

Zadanie minimalizacji pustych przebiegów: 
(optymalizacja kr

ąĪenia Ğrodków transportowych rozwoĪących towar) 

pusty przebieg = przejazd bez 

áadunku,

Przewóz towaru odbywa si

Ċ miĊdzy

n

 punktami tworz

ącymi ukáad zamkniĊty ( tzn. 

wymiana towaru odbywa si

Ċ tylko miĊdzy punktami a kaĪdy z nich moĪe byü

dostawc

ą i odbiorcą).

Do ka

Īdego z punktów przywozi siĊ i wywozi towar nadający siĊ do przewozu 

Ğrodkiem transportu tego samego rodzaju. Nadmiar towaru w danym punkcie (o ile 
istnieje) nale

Īy przewieĞü do innego punktu. 

 Znane s

ą odlegáoĞci miĊdzy punktami 

d

ji

 (j=i=1...n)

, znany jest równie

Ī przewóz 

mi

Ċdzy punktami 

x

ji

 wyra

Īony liczbą peánych Ğrodków transportu (np. 

samochodów).

J.Stadnicki   Optymalizacja

30

background image

Dla ka

Īdego punktu 

j

 mo

Īna okreĞliü:

¦

z

 

n

i

ji

j

x

w

1

 – liczb

Ċ Ğrodków transportu potrzebną do wywiezienia towaru, 

¦

z

 

n

i

ji

j

x

p

1

– liczb

Ċ Ğrodków transportu potrzebną do przywiezienia towaru. 

Dla wszystkich 

n

 punktów 

¦

¦

 

 

 

n

j

j

n

j

j

p

w

1

1

lecz dla poszczególnego punktu 

w

j

 nie musi by

ü równe 

p

j

.

Zatem punkty w których wywóz jest wi

Ċkszy od przywozu (

w

j

>

p

j

) nale

Īy

zaopatrzy

ü w puste Ğrodki transportu. 

Za optymalny uznamy taki przebieg, dla którego suma iloczynów 

áadownoĞci

Ğrodków transportu i przejechanych przez nie odlegáoĞci bĊdzie minimalna. 

Np.
Zminimalizowa

ü puste przebiegi samochodów o áadownoĞci 50t, przewoĪącymi

towar mi

Ċdzy siedmioma miastami (L...S) stanowiącymi ukáad zamkniĊty.

d

ji

L

M

N

O

P

R

S

w

j

L

0

20

10

100

150

200

100

1000

M

0

40

20

30

50

20

2000

N

0

100

150

200

100

1000

O

0

40

30

150

100

P

0

80

70

200

R

0

60

1000

S

0

500

p

j

500

1000

2000

1000

1000

300

0

5800

Dostawcami b

Ċdą punkty dla których:

p

j

>

w

j

 (przywóz > wywozu)

i odwrotnie odbiorcami punkty dla których: 

w

j

>

p

j

 (wywóz > przywozu) . 

L: (500-1000)/50= 

-10

odbiorca,

M: (1000-2000)/50= 

-20

odbiorca

N: (2000-1000)/50= 

20

dostawca,

O: (1000-100)/50= 

18

dostawca,

P: (1000-200)/50= 

16

dostawca,

R: (300-1000)/50= 

-14

odbiorca,

S : 

(0-500)/50=

-10

odbiorca.

J.Stadnicki   Optymalizacja

31

background image

Odbiorcy

Dostawcy

L

M

R

S

Poda

Ī

a

j

N

10

40

200

100

20

O

100

20

30

150

18

P

150

30

80

70

16

Popyt

b

i

10

20

14

10

Zadanie rozwi

ązujemy jak zadanie transportowe.

Rozwi

ązanie:

^ `

2880

10

0

6

0

0

14

4

0

0

0

10

10

 

»

»

»

¼

º

«

«

«

¬

ª

 

 

Q

ˆ

ji

x

J.Stadnicki   Optymalizacja

32

background image

J.Stadnicki   Optymalizacja 

33

OPTYMALIZACJA NA GRAFACH

Grafem (nieskierowanym)

G=( V, E )

 nazywamy struktur

Ċ skáadającą siĊ ze 

sko

Ĕczonego

n

- elementowego zbioru wierzcho

áków

 V={v

1

,...,v

n

}

oraz

sko

Ĕczonego zbioru 

m

- elementowego zbioru kraw

Ċdzi

E={e

1

,...,e

m

}

áączących

nieuporz

ądkowane pary wierzchoáków.

Grafem skierowanym (digrafem) jest graf, w którym E jest zbiorem 
uporz

ądkowanych par wierzchoáków zwanych áukami.

Wierzcho

áki poáączone krawĊdzią nazywamy przylegáymi (sąsiednimi).

Ci

ąg krawĊdzi (

v

i

, v

i

 ) nazywamy p

Ċtlą.

Dwie kraw

Ċdzie miĊdzy tymi samymi wierzchoákami nazywamy równolegáymi  lub 

wielokrotnymi.

Drog

ą (ĞcieĪką) w grafie 

G=( V, E )

 nazywamy ci

ąg niejednakowych krawĊdzi lub 

áuków ( 

e

k1

,..., e

kp

) wyznaczonych przez ci

ąg wierzchoáków ( 

v

i1

,..., v

ip

) i takich, 

Īe

e

k1

=(

v

i0

,..., v

i1

), ... , 

e

kp

=(

v

i(p-1) 

,..., v

ip

).

Oznacza to, 

Īe droga prowadzi od 

v

i0

(pocz

ątku drogi) do

 v

ip

(ko

Ĕca drogi). 

Liczb

Ċ krawĊdzi

p

 – nazywamy d

áugoĞcią drogi.

Drog

Ċ zawierającą wszystkie krawĊdzie grafu nazywamy drogą Eulera.

1

2

3

4

5

6

1

2

3

4

5

Graf

(nieskierowany)

Digraf

(graf skierowany) 

background image

J.Stadnicki   Optymalizacja 

34

   Droga 

Eulera 

    Graf, 

którym 

droga 

 

Eulera nie istnieje 

Je

Īeli wszystkie wierzchoáki drogi są róĪne, to jest to droga prosta.

Drog

Ċ prostą, której początek pokrywa siĊ z koĔcem ( 

v

i0

 = 

v

ip

) nazywamy  cyklem. 

Cykl obejmuj

ący wszystkie wierzchoáki grafu nazywa siĊ cyklem Hamiltona.

Graf, w którym istnieje co najmniej jedna droga pomi

Ċdzy kaĪdą parą wierzchoáków,

nazywamy grafem spójnym.

PROBLEM NAJKRÓTSZEJ DROGI 

Rozpatrzmy graf skierowany 

G=( V, E )

 utworzony z wierzcho

áków poáączonych

kraw

Ċdziami ( 

i, j

 ).

Ka

Īdemu áukowi przyporządkowano nieujemną liczbĊ

w

ij

• 0

 zwan

ą wagą (moĪe to 

by

ü np. dáugoĞü odcinka drogi lub koszt transportu).

Znale

Ĩü drogĊ o najmniejszej wadze (najkrótszą) oraz jej wagĊ (dáugoĞü) pomiĊdzy

ustalonymi wierzcho

ákami

s

 (

Ĩródáem) i

 t

 (odp

áywem).

Algorytm Dijkstry 

Idea: po

áukach grafu przemieszczamy siĊ od wierzchoáka

s

 do 

t

 cechuj

ąc

tymczasowo kolejne wierzcho

áki bieĪącymi sumami wag (odlegáoĞciami) od 

wierzcho

áka

s

 w kierunku wierzcho

áka

t

.  Tymczasow

ą cechĊ wierzchoáka

przyjmujemy za sta

áą, gdy jest równa najmniejszej sumie wag (odlegáoĞci) od 

Ĩródáa.

background image

J.Stadnicki   Optymalizacja 

35

Przyk

áad:

Znale

Ĩü drogĊ o najmniejszej sumie wag (najkrótszą) pomiĊdzy wierzchoákami

s

 i 

t

.

Kroki algorytmu:

1. nadaj wierzcho

ákowi

s

 cech

Ċ 0 (ustaloną) a pozostaáym cechĊ tymczasową

’,

2. ka

Īdemu sąsiedniemu do wierzchoáka o ustalonej cesze wierzchoákowi

i

 nadaj 

cech

Ċ tymczasową równą sumie wag (dáugoĞci) áuków od wierzchoáka o 

ustalonej cesze do

 i ,

3. wybierz cech

Ċ o najmniejszej wartoĞci i przyjmij, Īe jest to ustalona cecha 

wierzcho

áka,

4. je

Ğli wierzchoáek

t

 zosta

á osiągniĊty – zakoĔcz postĊpowanie. W przeciwnym 

wypadku powró

ü do punktu 2. 

Rozwi

ązanie:

Drog

ą o najmniejszej sumie wag (najkrótszą) jest droga: s 

ĺ

4

ĺ

 3 

ĺ

 t

o sumie wag (d

áugoĞci) 9 + 2 + 7 = 18 

Uwaga:

Algorytm mo

Īna zastosowaü równieĪ do grafu nieskierowanego, zastĊpując kaĪdą z 

kraw

Ċdzi (

 i

,

j

 ) par

ą áuków (

 i

,

j

 ) oraz (

 j

,

i

 ) o tej samej wadze (d

áugoĞci) co 

zast

Ċpowana krawĊdĨ.

Je

Īeli áuki w grafie skierowanym nie mają przyporządkowanych wag, kaĪdemu z 

nich przypisujemy taka sam

ą wagĊ (np. jeden). 

Graf mo

Īe zawieraü wiele najkrótszych dróg o tej samej wartoĞci, algorytm znajduje 

jedn

ą z nich. 

Aby znale

Ĩü najkrótszą drogĊ z wierzchoáka

s

 do wszystkich pozosta

áych

n

wierzcho

áków sieci naleĪy

n

 razy powtórzy

ü algorytm zmieniając wierzchoáek

t

.

 

s 1 2 3 4  t 

Inicjalizacja

0

’ ’ ’ ’ ’

Iteracja 1 

0
0

15
15

’
’

’
’

9
9

’
’

Iteracja 2 

0
0

13
13

’
’

11
11

9
9

’
’

Iteracja 3 

0
0

13
13

’
’

11
11

9
9

18
18

Iteracja 4 

0
0

13
13

48
48

11
11

9
9

18
18

s

4

1

2

3

t

[2]

[2]

[9]

[4]

[3]

[7]

[6]

[5]

[15]

[35]

[16]

[21]

background image

J.Stadnicki   Optymalizacja 

36

Problem wyznaczania najkrótszej drogi w grafie mo

Īna sprowadziü do zadania 

programowania zero-jedynkowego

1

 postaci: 

Zminimalizowa

ü

 

min

)

,

(

o

 

¦

E

j

i

ij

ij

x

w

x

Przy ograniczeniach 

¦

¦





°

¯

°

®

­

 



z

 

 



E

j

E

i

ij

ij

t

i

dla

t

s

i

dla

s

i

dla

x

x

)

(

)

(

1

,

0

1

Przy czym 

^ `

1

,

0



ij

x

Poniewa

Ī:

¦

E

j

ij

x

)

(

 jest sum

ą áuków wychodzących z wierzchoáka,

¦

E

i

ij

x

)

(

 jest sum

ą áuków wchodzących do wierzchoáka.

PROBLEM KOMIWOJA

ĩERA (TRAVELLING SALESMAN PROBLEM) 

Komiwoja

Īer ma odwiedziü dokáadnie jeden raz kaĪdą z wybranych miejscowoĞci, a 

nast

Ċpnie powróciü do tej z której zacząá podróĪ. Znane są koszty przejazdu (waga) 

mi

Ċdzy kaĪdą parą miejscowoĞci. Zaplanowaü drogĊ przejazdu tak, by kaĪdą

miejscowo

Ğü odwiedziá jeden raz a caákowity koszt podróĪy byá najmniejszy. 

Problem polega na znalezieniu najkrótszego cyklu Hamiltona (obejmuj

ącego

wszystkie wierzcho

áki grafu) w 

n

 wierzcho

ákowym peánym grafie (w którym kaĪda

para wierzcho

áków jest poáączona áukiem).

Cykle Hamiltona: 

1. 1

o2o3o4o1,

2. 1

o4o3o2o1,

3. 1

o2o4o3o1,

4. 1

o4o2o3o1,

5. 1

o3o2o4o1,

6. 1

o3o4o2o1.

Dla 4 wierzcho

áków mamy (4-1)!=3!=1· 2 · 3 =6 cykli, 

Dla

n

 wierzcho

áków mamy (

n

-1)! cykli. 

                                     

1

 Problem programowania zero-jedynkowego omówiono w oddzielnym rozdziale. 

3

4

1

2

œ

background image

J.Stadnicki   Optymalizacja 

37

Problem komiwoja

Īera moĪna rozwiązaü generując wszystkie cykle Hamiltona i 

porównuj

ąc ich wagi. 

Wada: post

Ċpowanie nieefektywne

(np. dla n=20 trzeba wygenerowa

ü 19! > 10

17

 cykli) 

Algorytm podzia

áu i ograniczeĔ

Kroki algorytmu:

1. rozbi

ü zbiór rozwiązaĔ na dwa podzbiory za pomocą wyróĪnionego áuku (

i

 , 

j

) : 

- jeden zawieraj

ący áuk (

i

 , 

j

),

- drugi nie zawieraj

ący áuku (

i

 , 

j

),

podzia

áu dokonaü w oparciu o zasadĊ heurystyczną zmierzającą do redukcji 

czasu oblicze

Ĕ,

2. obliczy

ü dolne ograniczenia wag 

LB

 (

Lower Bound

) w podzbiorach, 

3. wybra

ü podzbiór rozwiązaĔ posiadający mniejszą wartoĞü dolnego 

ograniczenia

LB

,

4. post

Ċpowanie kontynuowaü aĪ do otrzymania cyklu Hamiltona, 

5. rozwi

ązanie koĔcowe powstaje z tych podzbiorów, dla których dolne 

ograniczenia s

ą mniejsze niĪ dáugoĞü najkrótszego dotychczas znalezionego 

rozwi

ązania.

Zdefiniujmy graf za pomoc

ą macierzy wag: 

^ `

ij

w

 

W

w

ij

=

’ - 

oznacza brak 

áuku miĊdzy wierzchoákami,

w

ij



w

ji

  

- oznacza, 

Īe áuki miĊdzy tymi samymi wierzchoákami mają róĪne wagi 

(macierz wag jest niesymetryczna), 

Cykl Hamiltona zawiera wszystkie wierzcho

áki grafu a kaĪdy z wierzchoáków

wyst

Ċpuje w cyklu tylko jeden raz. 

 

Ka

Īdy cykl Hamiltona zawiera jeden element z kaĪdego wiersza i jeden element z 

ka

Īdej kolumny macierzy wag. 

 

Je

Ğli odejmiemy staáą

k

 od wszystkich elementów jakiego

Ğ wiersza lub jakiejĞ

kolumny macierzy wag, to waga cyklu Hamiltona zmniejszy si

Ċ o tĊ staáą

¦

¦







 



E

j

i

ij

E

j

i

ij

k

w

k

w

)

,

(

)

,

(

 a rozwi

ązanie optymalne pozostanie optymalne. 

REDUKCJA

Je

Īeli po odjĊciu staáych od wierszy i kolumn, kaĪdy wiersz i kolumna zawierają

dok

áadnie jedno zero, a pozostaáe elementy macierzy są nieujemne, to caákowita

suma odj

Ċtych liczb jest dolnym ograniczeniem wagi zbioru pozostaáych rozwiązaĔ.

background image

J.Stadnicki   Optymalizacja 

38

Heurystyka wyboru 

áuku podziaáu grafu: 

Optymalnego cyklu szukamy po lewej stronie grafu (dolnej podmacierzy trójk

ątnej

macierzy wag), bowiem wtedy redukowany jest rozmiar problemu. 

Aby okre

Ğliü áuk podziaáu powodujący najwiĊkszy wzrost wartoĞci dolnego 

ograniczenia w prawej cz

ĊĞci grafu (górnej podmacierzy trójkątnej macierzy wag) 

wybieramy ten element zerowy, który zamieniony na 

’

 pozwala w sumie najwi

Ċcej

odj

ąü od odpowiedniego wiersza i odpowiedniej kolumny. 

Uwaga: skuteczno

Ğü heurystyki zaleĪy od danych zadania. W wiĊkszoĞci

przypadków rozmiar zadania istotnie si

Ċ redukuje. Są jednak takie przypadki, w 

których liczba dzia

áaĔ wzrasta wykáadniczo i algorytm staje siĊ bezuĪyteczny.

Przyk

áad:

1 2 3 4 5 6 

Macierz mo

Īna zredukowaü odejmując od elementów kolejnych wierszy najmniejsze 

z warto

Ğci: 3, 4, 16, 7, 25, 3   

(3+4+16+7+25+3=58) 

6

5

4

3

2

1

   

 

 

 

 

6

5

4

3

2

1

a od elementów 
kolumn:

(3) : 15, 

(4) : 8, 

(15+8=23)

(LB=58+23=81)

Wybieramy jako 

áuk podziaáu áuk (6, 3) bo: 

6,3

,3

6,

( )

( )

0

max

i

j

i

j

w

a

w

w

 



o

¦

¦

Jeden z otrzymanych podzbiorów nie b

Ċdzie zawieraá áuku (6, 3), zatem: 

w

6,3

=

’

»

»

»

»

»

»

»

»

¼

º

«

«

«

«

«

«

«

«

¬

ª

f

f

f

f

f

f

92

46

18

88

3

25

33

88

46

28

7

56

80

90

39

28

16

36

17

45

16

21

42

77

4

9

33

13

93

3

6

5

4

3

2

1

»

»

»

»

»

»

»

»

¼

º

«

«

«

«

«

«

«

«

¬

ª

f

f

f

f

f

f

89

43

15

85

0

0

8

63

21

3

0

49

73

83

32

12

0

20

1

29

12

17

38

73

0

6

30

10

90

0

6

5

4

3

2

1

> @

»

»

»

»

»

»

»

»

¼

º

«

«

«

«

«

«

«

«

¬

ª

f

f

f

f

f

f

89

31

0

85

0

0

0

48

21

3

0

49

58

83

32

12

0

12

1

29

12

17

30

58

0

6

30

2

75

0

6

5

4

3

2

1

background image

J.Stadnicki   Optymalizacja 

39

 1 

2 4 5 6 

4 5 

> @

1

0

2

30

6

2 0

30 17

12

3 29

1

12

0

4 32 83

49

0

5 3

21

0

0

f

ª

º

«

»

f

«

»

f

«

»

«

»

f

«

»

«

»

f

¬

¼

wybieramy

áuk (6, 4), zatem: 

w

4,6

=

’

  

 

 

 

 

 

 

 

 

od wiersza (4) mo

Īna odjąü 32 

 

 

 

od kolumny (3) mo

Īna odjąü 48 

Ÿ 

LB=81+32=113 

     

Ÿ LB= 81+48=129

 1 2 4 5 

> @

»

»

»

»

¼

º

«

«

«

«

¬

ª

f

f

f

0

21

3

0

12

1

29

17

30

0

30

2

0

5

3

2

1

áuk (3, 4) trzeba odrzuciü bo 
rozwi

ązanie zawiera áuki (4, 6) i 

(6, 3) 

Ÿ wierzchoáek (4) byáby

odwiedzany dwukrotnie. 
Zatem:

w

3,4

=

’   

 

 1 2 4 5

Wszystkie

rozwi

ązania

Rozwi

ązania

z (6, 3) 

Rozwi

ązania

bez (6, 3) 

LB=81

LB=129

LB=81

> @

»

»

»

»

»

»

»

»

¼

º

«

«

«

«

«

«

«

«

¬

ª

f

f

f

 



f

 



f

 



f

 



f

89

31

85

0

0

0

0

48

48

21

3

0

49

10

48

58

83

32

12

0

12

1

29

12

17

30

10

48

58

0

6

30

2

27

48

75

0

6

5

4

3

2

1

Rozwi

ązania

z (6, 3) 

Rozwi

ązania z 

(6, 3) i (4, 6) 

Rozwi

ązania z 

(6, 3) i bez (4, 6) 

LB=81

LB=113

LB=81

»

»

»

»

»

»

¼

º

«

«

«

«

«

«

¬

ª

f

f

 



f

 



 



f

f

f

0

0

21

3

17

32

49

51

32

83

0

32

32

0

12

1

29

12

17

30

0

6

30

2

0

5

4

3

2

1

background image

J.Stadnicki   Optymalizacja 

40

Do podzia

áu wybieramy áuk (2, 1) co pozwala na odjąü 17 od 

elementów (2) wiersza i 3 od elementów 1 kolumny.
LB=81+17+3=101

1 2 4 

5

àuk (1, 2) trzeba 
odrzuci

ü bo 

rozwi

ązanie zawiera 

áuk (2, 1) i wierzchoáek
(1) by

áby odwiedzany 

 dwukrotnie 

(cykl). 

Zatem:

w

1,2

=

’

Od elementów (1) wiersza mo

Īna odjąü 2 

a od elementów (1) kolumny (1). 
LB=81+2+1=84

2 4  5 

5

LB=84 LB=84 

 Do 

podzia

áu wybieramy áuk (1, 4), od elementów

(1)  wiersza mo

Īna odjąü 28, 

LB=84+28=112

> @

»

»

»

»

¼

º

«

«

«

«

¬

ª

f

f

f

f

0

21

3

0

1

29

17

30

0

30

2

0

5

3

2

1

> @

»

»

»

¼

º

«

«

«

¬

ª

f

f

0

21

0

1

30

2

0

5

3

1

»

»

»

»

¼

º

«

«

«

«

¬

ª

f

 



f

 



 



 



f

f

f

0

21

0

3

3

0

1

26

3

29

0

17

17

13

17

30

30

2

0

5

3

2

1

Rozwi

ązania z 

(6, 3) i (4, 6) 

Rozwi

ązania z

(6, 3), (4, 6) i (2, 1)

Rozwi

ązania z

(6, 3) i (4, 6) bez (2, 1)

LB=81

LB=101

LB=81

»

»

»

¼

º

«

«

«

¬

ª

f

 



f

 



 



 



f

0

20

1

21

0

0

1

1

28

2

30

0

2

2

5

3

1

> @

»

»

»

¼

º

«

«

«

¬

ª

f

f

f

0

20

0

1

28

0

5

3

1

background image

J.Stadnicki   Optymalizacja 

41

  2 5 

2 4 

5

Otrzymana macierz jest 2 stopnia. 

 

Nie mamy mo

ĪliwoĞci wyboru áuku do uzupeánienia dotychczasowej drogi 

komiwoja

Īera – oba pozostaáe áuki muszą uzupeániü drogĊ komiwojaĪera.

 

Droga komiwoja

Īera:  

(1, 4, 6, 3, 5, 2, 1) 

 

 LB=84+20+104 

 

Wszystkie rozwi

ązania poĞrednie z LB<104 moĪna

pomin

ąü.

 

Tylko jedno rozwi

ązanie poĞrednie posiada 

LB=101<104. Rozwi

ązanie to zawiera áuki: (6, 3), 

(4,6) i (2, 1). 

      1      2     4      5 

Powtarzaj

ąc postĊpowanie

otrzymamy drugie rozwi

ązanie

optymalne o warto

Ğci LB=104 

zawieraj

ące áuki: (6, 3), (4, 6), 

(5, 1) i (1, 4) bez (2, 1) 

Drog

Ċ optymalną komiwojaĪera moĪna uzupeániü

tylko

áukami: (3, 2) i (2, 5). 

Zatem znale

ĨliĞmy dwa rozwiązania optymalne 

zadania.

Uwaga:
W grafie o 6-ciu wierzcho

ákach istnieje 5!=120

dróg. Dla wyboru optymalnej drogi wyznaczyli

Ğmy

13 rozwi

ązaĔ poĞrednich!

Rozwi

ązania z 

(6, 3), (4, 6) i (2, 1)

Rozwi

ązania z 

(6, 3), (4, 6), (2, 1) i (1,4) 

Rozwi

ązania z

(6, 3), (4, 6) i (2, 1) bez (1, 4) 

LB=84

LB=112

LB=84

»

»

»

¼

º

«

«

«

¬

ª

f

f

 



f

f

0

20

0

1

0

28

28

5

3

1

»

¼

º

«

¬

ª

f

f

20

0

5

3

1

2

6

3

5

4

»

»

»

»

¼

º

«

«

«

«

¬

ª

f

f

f

f

f

0

21

0

0

1

26

0

13

30

2

0

5

3

2

1

4

1

2

6

3

5

background image

J.Stadnicki   Optymalizacja

42

PROGRAMOWANIE ZERO-JEDYNKOWE

Zadanie programowania zero-jedynkowego

Znale

Ĩü minimum (maksimum):

Q

c x

T

przy warunkach:

n

,..,

i

,

x

x

i

i

1

1

0

=

=

=

£

×

dla

lub

czym

przy

b

x

A

Wniosek:

Zbiór dopuszczalny zadania zero-jedynkowego jest zbiorem przeliczalnym i 
sko

Ĕczonym.

Metody rozwi

ązywania zadania:

1. Przegl

ąd bezpoĞredni (jawny): polega na przeglądzie wszystkich rozwiązaĔ

spe

ániających ograniczenia i wyborze takiego, które minimalizuje funkcjĊ celu. 

2. Przegl

ąd poĞredni (niejawny): polega na wykorzystaniu testów (filtrów), które 

pozwalaj

ą odrzuciü niektóre spoĞród rozwiązaĔ bez ich bezpoĞredniego

sprawdzania przy za

áoĪeniu, Īe Īadne z odrzuconych rozwiązaĔ nie minimalizuje 

funkcji celu. 

Leksykograficzny ci

ąg wariantów (rozwiązaĔ):

Niech b

Ċdą dane trzy zmienne przyjmujące dowolne „wartoĞci” (liczbowe  lub inne): 

d

g

b

a

,

,

,

x

,

x

,

C

,

B

,

A

x

=

=

=

3

2

1

2

1

  w podanej kolejno

Ğci.

Utwórzmy wszystkie mo

Īliwe trójkowe poáączenia:

.

3

2

1

x

x

x

2

1

C

B

A

A1, A2

2

1

C

B

A

2

1

C

B

A

B1, B2

C1, C2

d

g

C2

C1

B2

A1

a, A1b, A1g, A1d ¼

b

a

B1

A2

A1

Otrzymany porz

ądek nazywamy porządkiem leksykograficznym.

background image

J.Stadnicki   Optymalizacja

43

Filtr:

Dodatkowe ograniczenie pozwalaj

ące na odrzucenie niektórych wariantów

(rozwi

ązaĔ nieoptymalnych) zbioru z porządkiem leksykograficznym.

Rozwa

Īmy przykáad liczbowy:

( )

max

x

x

x

Q

®

+

-

=

3

2

1

5

2

3

x

( )

( )

( )

( )

ï

ï
î

ïï

í

ì

£

+

£

+

£

+

+

£

-

+

6

4

3

4

4

2

2

4

3

2

1

3

2

2

1

3

2

1

3

2

1

x

x

x

x

x

x

x

x

x

x

{ }

1

0

3

2

1

,

x

,

x

,

x

Î

Za

áóĪmy, Īe znamy jedno z rozwiązaĔ dopuszczalnych zadania np.

[

] [ ]

( )

3

0

0

1

3

2

1

=

=

x

Q

,

,

x

,

x

,

x

T

T

wtedy

Je

Ğli przyjmiemy, Īe dla rozwiązania optymalnego

 , to 3 jest dolnym

oszacowaniem optymalnej warto

Ğci

( )

3

³

x

Q

( )

ˆx

Q

.

Wniosek:

Mo

Īna wprowadziü dodatkowe ograniczenie zwane filtrem: 

( )

3

5

2

3

0

3

2

1

³

+

-

x

x

x

Przegl

ąd z filtrem:

Ograniczenie

x

1

,x

2

,x

3

(0)

(1)

(2)

(3)

(4)

Czy zachodzi 

(1)...(4) i (0) 

Q(x)

0,0,0

0

Nie

0,0,1

5

-1

1

0

1

Tak

5

0,1,0

-2

Nie

0,1,1

3

1

5

Nie

1,0,0

3

1

1

1

0

Tak

3

1,0,1

8

0

2

1

1

Tak

8

1,1,0

1

Nie

1,1,1

6

2

6

Nie

Przy przegl

ądzie leksykograficznym wszystkich wariantów naleĪaáoby wykonaü:

2

3

· 5= 40 operacji oblicze

Ĕ lewych stron wyraĪeĔ (0)...(5). 

Zastosowanie filtru ograniczy

áo liczbĊ  operacji do 24.

background image

J.Stadnicki   Optymalizacja

44

Metoda filtru Balasa

Polega na przegl

ądzie rozwiązaĔ dopuszczalnych z wykorzystaniem ograniczeĔ

filtruj

ących.

Rozwa

Īmy ten sam przykáad liczbowy:

( )

max

x

x

x

Q

®

+

-

=

3

2

1

5

2

3

x

( )

( )

( )

( )

ï

ï
î

ïï

í

ì

£

+

£

+

£

+

+

£

-

+

6

4

3

4

4

2

2

4

3

2

1

3

2

2

1

3

2

1

3

2

1

x

x

x

x

x

x

x

x

x

x

{ }

1

0

3

2

1

,

x

,

x

,

x

Î

Zamieniamy kolejno

Ğü zmiennych

 tak, aby odpowiada

áy rosnącej kolejnoĞci

wspó

áczynników

funkcji celu 

Q

.

i

x

( )

x

i

c

Poniewa

Ī:

[

]

T

x

,

x

,

x

3

1

2

5

3

2

=

Þ

<

<

-

x

Istnieje rozwi

ązanie dopuszczalne: 

[

] [ ]

( )

5

1

0

0

3

1

2

=

=

x

Q

,

,

x

,

x

,

x

T

T

wtedy

Dodatkowe ograniczenie (filtr): 

(0’)

5

5

3

2

3

1

2

³

+

+

-

x

x

x

Przegl

ąd z filtrem i uporządkowanymi zmiennymi:

Ograniczenie

x

2

,x

1

,x

3

(0’)

(1)

(2)

(3)

(4)

Czy zachodzi 

(1)...(4) i (0’) 

Q(x)

0,0,0

0

Nie

0,0,1

5

-1

1

0

1

Tak

5

Wyznaczono rozwi

ązanie dopuszczalne, dla którego 

Q

.

( )

5

=

x

W

áączamy do listy dopuszczalnych wariantów punkt [0,1,0] i kontynuujemy przegląd.

Ograniczenie

x

2

,x

1

,x

3

(0’)

(1)

(2)

(3)

(4)

Czy zachodzi 

(1)...(4) i (0’) 

Q(x)

0,1,0

3

Nie

0,1,1

8

0

2

1

1

Tak

8

background image

J.Stadnicki   Optymalizacja

45

Wyznaczono polepszone rozwi

ązanie dopuszczalne, dla którego 

Q

.

( )

8

=

x

Zatem otrzymujemy nowe ograniczenie filtruj

ące:

(0”)

8

5

3

2

3

1

2

³

+

+

-

x

x

x

W

áączamy do listy dopuszczalnych wariantów punkt [1,1,0] i kontynuujemy przegląd.

Ograniczenie

x

2

,x

1

,x

3

(0”)

(1)

(2)

(3)

(4)

Czy zachodzi 

(1)...(4) i (0”) 

Q(x)

1,0,0

-2

Nie

1,0,1

3

Nie

1,1,0

1

Nie

1,1,1

6

Nie

Dalsze polepszanie warto

Ğci

 jest niemo

Īliwe; rozwiązaniem optymalnym jest

( )

x

Q

[

T

1

1

0

=

x

]

dla którego 

Q

.

( )

8

=

x

Liczba operacji do wykonania 16.

Uwaga:
W przypadku wi

Ċkszej liczby zmiennych decyzyjnych ograniczenie liczby operacji 

jest jeszcze wi

Ċksze!

Algorytm metody filtru Balasa:

1° Zamie

Ĕ kolejnoĞü zmiennych decyzyjnych, tak aby wystĊpowaáy w kolejnoĞci

zgodnej z odpowiadaj

ącym im wspóáczynnikom funkcji celu uporządkowanymi

rosn

ąco,

2° Zbuduj tablic

Ċ przeglądu wariantów rozwiązaĔ z ograniczeniem filtrującym.

Przegl

ąd wstrzymaj jeĞli znajdziesz wariant speániający wszystkie ograniczenia 

áącznie z filtrującym.
Je

Īeli procedura przeglądu wyczerpie siĊ, to albo znalezione do tej pory

rozwi

ązanie jest optymalne, albo nie istnieje. 

3° Je

Īeli uda siĊ znaleĨü wariant dający polepszenie funkcji celu, to przyjmij go jako 

nowe ograniczenie filtruj

ące i zastąp nim poprzednie. 

4° Wznów przeszukiwanie od wariantu po

áoĪonego leksykograficznie wyĪej niĪ ten 

który otrzymano w poprzedniej tablicy przegl

ądu.

5° Powró

ü do punktu 2. 

background image

J.Stadnicki   Optymalizacja

46

PROGRAMOWANIE CA

àKOWITILICZBOWE

Zadanie programowania ca

ákowitoliczbowego

Znale

Ĩü minimum (maksimum):

Q

c x

T

przy warunkach:

s

ą caákowite oraz 

i

x

czym

przy

b

x

A

£

×

0

³

i

x

Wniosek:

Je

Īeli zbiór dopuszczalny zadania caákowitoliczbowego jest ograniczony to jest 

zbiorem przeliczalnym.

Metody rozwi

ązywania zadania:

1. Dokona

ü leksykograficznego przeglądu punktów zbioru dopuszczalnego i wybraü

ten, dla którego 

Q = min.

Q=c

2

x

1

+c

2

x

2

® max 

a

21

x

1

+a

22

x

2

£ b

2

a

11

x

1

+a

12

x

2

£ b

1

0

x

2

x

1

Wady:

·  JeĞli zbiór dopuszczalny jest liczny, proces przeszukiwania trwa dáugo.
·  JeĞli zmiennych decyzyjnych jest wiĊcej, nie moĪna wyspecyfikowaü wszystkich

punkty nale

Īących do zbioru dopuszczalnego (przestrzeĔ wielowymiarowa).

2. Sprowadzi

ü – o ile to moĪliwe – zadanie programowania caákowitoliczbowego do 

zadania programowania zero-jedynkowego i rozwi

ązaü.

background image

J.Stadnicki   Optymalizacja

47

Uwaga:

Sprowadzenie zadania ca

ákowitoliczbowego do zadania zero-jedynkowego jest 

sensowne wtedy, gdy liczba zmiennych decyzyjnych nie jest du

Īa i gdy ich 

maksymalne warto

Ğci są stosunkowo maáe.

Je

Ğli zmienna caákowita

 jest ograniczona, 

, to mo

Īe byü wyraĪona

jako:

 ,  gdzie: 

.

y

p

y

2

0

£

£

,

i

,

1

0

=

i

p

i

i

x

y

å

=

=

0

2

p

,...,

1

x

i

0

=

lub

Tzn.,

Īe zmienna caákowita

  zostaje zast

ąpiona

y

1

+

p

 zmiennymi binarnymi

.

i

x

Np.

,

1

2

1

2

1

2

1

2

2

15

3

2

1

0

4

×

+

×

+

×

+

×

=

Þ

£

=

y

y

zamiast jednej zmiennej ca

ákowitej otrzymaliĞmy cztery zmienne binarne. 

3. Rozwi

ązaü zadanie za pomocą algorytmu programowania liniowego (np. 

sympleks) a nast

Ċpnie otrzymane wartoĞci zmiennych decyzyjnych zaokrągliü do 

liczb ca

ákowitych.

Wada:

·  Rozwiązanie ciągáe moĪe byü róĪne od rozwiązania dyskretnego (caákowitego).

4. Je

Īeli wspóáczynniki w ograniczeniach i w funkcji celu są liczbami caákowitymi, to 

stosuj

ąc do rozwiązania algorytm sympleks z elementami gáównymi

wykorzystywanymi podczas wprowadzania wektorów odpowiadaj

ących

zmiennym niebazowym do bazy b

Ċdą równe +1 lub –1 (unikniemy dzielenia) 

otrzyma si

Ċ rozwiązanie caákowitoliczbowe.

5. Odrzuci

ü za pomocą odpowiednich ciĊü (páaszczyzn odcinających) te czĊĞci

zbioru dopuszczalnego, które nie zawieraj

ą rozwiązaĔ caákowitoliczbowych.

P

áaszczyzna odcinająca dziaáając jak ograniczenie odcina czĊĞü zbioru 

dopuszczalnego nie gubi

ąc Īadnego rozwiązania caákowitoliczbowego.

Rozwi

ązanie w ograniczonym w ten sposób obszarze dopuszczalnym

znajdujemy za pomoc

ą standardowych algorytmów programowania liniowego.

background image

J.Stadnicki   Optymalizacja

48

Podstawowe odci

Ċcie Gomory’ego

Q=c

2

x

1

+c

2

x

2

® max 

a

21

x

1

+a

22

x

2

£ b

2

0

x

2

a

11

x

1

+a

12

x

2

£ b

1

x

1

Rozpatrzmy zadanie: 

max

x

x

Q

®

+

=

2

1

( )

( )

( )

( )

ca

ákowite

x

,

x

x

,

x

x

x

x

x

2

1

2

1

2

1

2

1

4

0

3

4

3

2

1

1

³

£

+

£

+

-

x

1

Q

Q

(

3

/

4

,

7

/

4

)=

10

/

4

(1)

(2)

-1

4

x

2

4

3

3

2

2

1

1

0

W punkcie b

Ċdącym rozwiązaniem

zadania warto

Ğci zmiennych

decyzyjnych nie s

ą caákowite.

background image

Sprowad

Ĩmy zdanie do postaci standardowej:

max

x

x

Q

®

+

=

2

1

( )

( )

( )

( )

ca

ákowite

x

,

x

,

x

,

x

,

x

,

x

,

x

,

x

x

x

x

x

x

x

4

3

2

1

4

3

2

1

4

2

1

3

2

1

4

0

3

4

3

2

1

1

³

=

+

+

=

+

+

-

Rozwi

ązując ukáad wzglĊdem

 i 

 otrzymamy:

1

x

2

x

4

4

4

3

4

3

1

x

x

x

-

+

=

,

3

4

2

3

7

4

4

4

x

x

x

= -

-

.

Za

áóĪmy, Īe wspóáczynniki w równaniach (1), (2) są caákowite.

Wtedy, poniewa

Ī

 i 

s

ą caákowite oraz prawe strony równaĔ są caákowite,

1

x

2

x

to

 i 

 te

Ī są caákowite.

3

x

4

x

Konstruujemy odci

Ċcie Gomory’ego:

·  PoniewaĪ

 jest ca

ákowite, to 

1

x

3

4

3

4

4

4

x

x

+

-

 jest tak

Īe caákowite.

·  PoniewaĪ

 jest ca

ákowite, to 

4

x

4

4

3

4

4

4

3

x

x

x

+

-

+

 jest tak

Īe caákowite, a zatem

równie

Ī

4

3

4

4

3

4

3

x

+

+

 jest ca

ákowite.

·  PoniewaĪ

 i 

 najmniejsz

ą moĪliwą wartoĞcią poprzedniego wyraĪenia

jest 1.

3

x

0

4

³

x

3

3

4

4

3

3

3

1

1

4

4

4

4

4

x

x

x

x

Þ +

-

³ Þ

+

³

4

Ostatnia nierówno

Ğü jest szukanym dodatkowym ograniczeniem (páaszczyzną

ci

Ċcia), odcinającym czĊĞü zbioru dopuszczalnego, która nie zawiera rozwiązania

ca

ákowitoliczbowego.

Wyra

Īając

 i 

 poprzez 

 i 

otrzymamy:

3

x

4

x

1

x

2

x

(

) (

)

3

2

12

4

8

4

1

3

4

4

3

1

4

1

2

1

2

1

2

1

2

1

£

+

Þ

-

³

-

-

Þ

³

-

-

+

-

+

x

x

x

x

x

x

x

x

J.Stadnicki   Optymalizacja

49

background image

J.Stadnicki   Optymalizacja

50

Zadanie przyjmie posta

ü:

max

x

x

Q

®

+

=

2

1

( )

( )

( )

( )

( )

3

2

5

4

0

3

4

3

2

1

1

5

2

1

5

4

3

2

1

5

4

3

2

1

4

2

1

3

2

1

=

+

+

³

=

+

+

=

+

+

-

x

x

x

ca

ákowite

x

,

x

,

x

,

x

,

x

x

,

x

,

x

,

x

,

x

x

x

x

x

x

x

(5)

Q

(

2

/

3

,

5

/

3

)=

7

/

3

Q

(2)

(1)

4

x

2

4

3

3

2

2

1

1

0

-1

W punkcie b

Ċdącym rozwiązaniem

zadania warto

Ğci zmiennych

decyzyjnych nie s

ą caákowite.

Wniosek:

Konstruujemy kolejn

ą páaszczyznĊ

ci

Ċcia.

3

5

2

1

3

1

1

3

5

1

2

1

1

3

3

3

3

z(1)

do (5)

x

x

x

x

x

2x

x

x

x

x

Þ = + -

+ + - +

= Þ

= +

-

x

1

3

5

1

2

3

2

3

2

5

2

2

5

1

2

2

3

3

3

3

z(1) do (5)

x

x

x

x

x

2x

x

x

x

x

Þ =

+ -

+

- +

+

= Þ

= -

-

3

5

5

3

5

2

1

2

3

3

3

x

x

x

x

x

+

-

+

³ Þ

+

³ 1

2

x

5

1

3

2

z(5)

x

x

Þ = -

-

(

) (

)

1

2

1

2

1

2

1

2

1

2

1

2 3 2

1

1

6

4

2

1

3

3

x

x

x

x

x

x

x

x

x

x

+ -

+

-

-

³

Þ + - + -

-

³

Þ -

-

³ -6

ostatecznie:

1

2

2

x

x

+

£

background image

Zadanie przyjmie posta

ü:

max

x

x

Q

®

+

=

2

1

( )

( )

( )

( )

( )

( )

2

6

3

2

5

4

0

3

4

3

2

1

1

6

2

1

5

2

1

6

5

4

3

2

1

6

5

4

3

2

1

4

2

1

3

2

1

=

+

+

=

+

+

³

=

+

+

=

+

+

-

x

x

x

x

x

x

ca

ákowite

x

,

x

,

x

,

x

,

x

,

x

x

,

x

,

x

,

x

,

x

,

x

x

x

x

x

x

x

x

1

(6)

(1)

Q

(1,1)=2

Q

(2)

(5)

-1

4

x

2

4

3

3

2

2

1

1

0

W punkcie b

Ċdącym

rozwi

ązaniem zadania wartoĞci

zmiennych decyzyjnych s

ą

ca

ákowite.

Punkt ten jest rozwi

ązaniem

zadania.

Algorytm Gomory’ego:

1° Odrzu

ü warunek caákowitoliczbowoĞci rozwiązania i rozwiąĪ zadanie jak zadanie 

programowania liniowego (np. procedur

ą sympleks),

2° Je

Ğli rozwiązanie nie istnieje zadanie jest sprzeczne; zakoĔcz algorytm,

3° Je

Ğli rozwiązanie istnieje i wszystkie zmienne są caákowite, jest to rozwiązanie

zadania; zako

Ĕcz algorytm,

4° Je

Ğli rozwiązanie istnieje a nie wszystkie zmienne decyzyjne są caákowite, dla 

zmiennej o najmniejszym numerze utwórz równanie p

áaszczyzny ciĊcia,

5° Do

áącz równanie do istniejących ograniczeĔ i wróü do punktu 1°. 

J.Stadnicki   Optymalizacja

51

background image

PROGRAMOWANIE NIELINIOWE

Je

Īeli wektor zmiennych decyzyjnych 

n

R

x



, tzn. jego sk

áadowe są liczbami a nie 

funkcjami, wtedy klasyfikacja problemu optymalizacji zale

Īy od postaci funkcji celu 

 i funkcji ogranicze

Ĕ

 : 

 

x

 

x

i

g

a) Problem programowania liniowego: charakteryzuje si

Ċ liniowymi funkcjami 

celu i ogranicze

Ĕ,

b) Problem programowania nieliniowego: wyst

Ċpuje wtedy, gdy co najmniej 

jedna z funkcji jest nieliniowa wzgl

Ċdem wektora 

x

,

c) Problem programowania kwadratowego: wyst

Ċpuje wówczas, gdy funkcja 

celu ma posta

ü

Q

 , gdzie:

a

 – sta

áa,

b

 – wektor, 

A

 – macierz kwadratowa a ograniczenia 

 

x

A

x

x

b

x

,

a

5

0





 

T

T

 

L

n

x

i

g

 s

ą funkcjami liniowymi,

d) Problem programowania geometrycznego: wyst

Ċpuje wówczas, gdy 

funkcje celu i ograniczenia s

ą uogólnionymi wielomianami potĊgowymi z 

rzeczywistymi wyk

áadnikami potĊg

a

jli

:

,

 

¦ –

 

 

 

l

i

a

i

jl

j

jli

x

c

f

1

1

x

np.

 

123

121

112

111

2

1

12

2

1

11

1

a

a

a

a

x

x

c

x

x

c

f



 

x

Zadanie programowania nieliniowego bez ogranicze

Ĕ

Zbiorem dopuszczalnym jest ca

áa przestrzeĔ

.

n

R

Metody analityczne

Minimalizacja funkcji bez ogranicze

Ĕ

Punkt

jest minimum lokalnym funkcji 

ˆx

 

x

w przestrzeni 

, je

Īeli istnieje 

takie otwarte otoczenie 

n

R

n

U

R



punktu

x

ˆ

,

Īe

 

x

x

x

ˆ

Q

Q

,

U

t





, przy 

czym je

Īeli nierównoĞü jest ostra 

 

 

x

x

ˆ

Q

!

Q

, to jest to 

Ğcisáe minimum 

lokalne.

Punkt

x

ˆ

jest minimum globalnym funkcji 

 

x

w przestrzeni 

, je

Īeli

, przy czym je

Īeli nierównoĞü jest ostra 

, to jest to 

Ğcisáe minimum globalne.

n

R

 

x

x

x

ˆ

Q

Q

,

n

t





 

 

x

x

ˆ

Q

Q

R

!

J.Stadnicki    Optymalizacja

- 52 - 

background image

J.Stadnicki    Optymalizacja

- 53 - 

minimum
globalne

minimu
m

x

Q(x)

Za

áoĪenie:

okre

Ğlona w przestrzeni 

, jest klasy C

 

x

n

R

2

 (tzn. jest 

ci

ągáa wraz z drugą

pochodn

ą).

Rozwijaj

ąc

 

szereg Taylora w punkcie 

zachowuj

ąc dwa pierwsze skáadniki (aproksymacja 

liniowa):

 

x

0

x

 

 

 

 

 

 

0

0

0

0

0

0

x

x

x

x

x

x

x

x

x

x

Q

Q

Q

,

Q

Q

Q

T

T

’

 





Ÿ



’



#

gdzie:

 

 

 

 

0

2

1

0

x

x

x

x

x

x

 

¸¸

¹

·

¨¨

©

§

w

w

w

w

w

w

 

’

n

T

x

Q

,

,

x

Q

,

x

Q

Q

!

jest gradientem 

,

 

x

mo

Īna wykazaü, Īe

 jest kierunkiem najszybszego wzrostu funkcji 

0

x

Q

T

’

 

x

w punkcie 

.

0

x

Je

Ğli

0

x

x

o

 

 

 

     

0

0

0

0

0

0

0

0

0

0

0

0

 

’

Ÿ

 





’

œ

 





o

o

x

t

x

x

x

x

x

x

x

x

x

x

x

x

x

x

Q

Q

Q

Q

T

T

lim

lim

(iloczyn skalarny 

wektorów)

gdzie:

0

x

t

 jest jednostkowym wektorem stycznym do warstwicy funkcji 

 w 

punkcie

.

 

const

Q

 

x

0

x

background image

Q(x)

Wniosek:

Gradient funkcji w punkcie 

 jest 

ortogonalny do wektora stycznego 
do warstwicy funkcji 

0

x

const

Q

 

x

.

’Q(x

0

)

 

x

0

t(x

0

)

x

1

x

2

t(x

0

)

q

x

x

0

 x-x

0

x

1

’Q(x

0

)

Warunki konieczne i wystarczaj

ące istnienia min (max) lokalnego w punkcie 

:

0

x

(1)

 

 

 

 

0

2

1

0

 

w

w





w

w



w

w

 

 

n

x

Q

x

Q

x

Q

Q

grad

x

x

x

x

x

x

"

(2)

(maksimum)

(minimum)

0

0

0

0



!

 

 

x

x

x

x

j

i

2

j

i

2

x

x

Q

x

x

Q

w

w

w

w

w

w

dla

 

n

1,...,

j

n

1,...,

i

 

 

Warunki (2) mo

Īna zapisaü w formie symetrycznej kwadratowej macierzy drugich 

pochodnych zwanej hesjanem funkcji 

 

x

:

J.Stadnicki    Optymalizacja

- 54 - 

background image

J.Stadnicki    Optymalizacja

 

0

2

1

2

1

2

2

1

2

1

2

1

2

0

x

x

x

H

 

»

»

»

»

»

»

»

»

¼

º

«

«

«

«

«

«

«

«

¬

ª

 

n

n

2

n

2

n

2

n

2

2

2

n

2

2

2

x

x

Q

x

x

Q

x

x

Q

x

x

Q

x

Q

x

x

Q

x

x

Q

x

x

Q

x

Q

w

w

w

w

w

w

w

w

w

w

w

w

w

w

w

w

w

w

w

w

w

w

w

w

w

"

#

#

#

#

"

"

Warunki (2) s

ą speánione, jeĞli hesjan 

 

0

x

H

 jest okre

Ğlony dodatnio (minimum) lub 

ujemnie (maksimum), tzn. 

 jest wi

Ċksze (mniejsze) od zera. 

> @

x

H

x

T

W przypadku gdy 

=0 nale

Īy badaü wyĪsze pochodne. 

0

x

H

Je

Īeli speánione są tylko warunki (1) punkt 

jest tzw. punktem stacjonarnym 

(maksimum lub minimum lub punktem siod

áowym).

0

x

Typy punktów stacjonarnych:

- 55 - 

-7.5

-5

-2.5

0

2.5

5

7.5

-7.5

-5

-2.5

0

2.5

5

7.5

-60

-50

-40

-30

-20

-10

0

10

20

30

40

50

60

f(x,y)

x

y

-7.5

-5

-2.5

0

2.5

5

7.5

-7.5

-5

-2.5

0

2.5

5

7.5

0

5

10

15

20

25

30

35

40

45

50

f(x,y)

x

y

-7.5

-5

-2.5

0

2.5

5

7.5

-7.5

-5

-2.5

0

2.5

5

7.5

-50

-45

-40

-35

-30

-25

-20

-15

-10

-5

0

f(x,y)

x

y

maksimum

minimum

siod

áo

background image

J.Stadnicki    Optymalizacja

- 56 - 

Zadanie programowania nieliniowego z ograniczeniami w postaci równo

Ğci

Rozwa

Īmy problem dwuwymiarowy 

2



ĭ

R

:

Dana jest funkcja celu 

 klasy C

2

1

x

,

x

Q

x

g

1

1

2

, zbiór dopuszczalny okre

Ğlony jest przez 

ograniczenie równo

Ğciowe

0

x

,

2

 

. Znajd

Ĩ minimum funkcji celu 

2

1

x

,

x

Q

.

Z ograniczenia równo

Ğciowego moĪna wiĊc z niego wyliczyü np. 

.

 

1

2

x

h

x

 

1

1

x

h

,

x

Q

x

,

x

Q

2

1

 

,

2

1

x

,

x

Q

 ma minimum 

 

 

0

1

1

 

 

œ

x

h

,

x

Q

grad

Q

grad

 (warunek 

konieczny)

(3.1)

 

0

0

1

2

2

1

 

w

w



w

w

Ÿ

 

dx

dx

x

Q

x

Q

Q

grad

Podobnie dla ograniczenia 

0

x

,

x

g

2

1

1

 

(3.2)

0

1

2

2

1

1

1

 

w

w



w

w

dx

dx

x

g

x

g

Z uk

áadu równaĔ (3.1) (3.2) moĪna wyliczyü:

to

i

je

Ğli

zatem

0

0

2

1

2

2

1

1

1

1

2

2

1

1

2

z

w

w

z

w

w

w

w

w

w



 

w

w

w

w



 

x

g

x

Q

x

g

x

g

dx

dx

,

x

Q

x

Q

dx

dx

°

°
¯

°°

®

­

 

w

w



w

w

 

w

w



w

w

œ

 

w

w

w

w



 

w

w

w

w



œ

w

w

w

w



 

w

w

w

w



0

0

2

1

2

1

1

1

2

1

2

1

1

1

2

1

1

1

2

1

x

g

x

Q

x

g

x

Q

x

g

x

Q

x

g

x

Q

x

g

x

g

x

Q

x

Q

O

O

O

 (3.3) 

Równania (3.3) wyra

Īają warunki konieczne istnienia minimum funkcji: 

)

x

,

x

(

g

x

,

x

Q

,

x

,

x

L

2

1

1

2

1

2

1

O

O



 

 - funkcja Lagrange’a,

background image

J.Stadnicki    Optymalizacja

- 57 - 

bo

0

2

1

1

 

 

w

w

x

,

x

g

L

O

,

O

- mno

Īnik Lagrange’a, 

Wniosek:

Pierwotny dwuwymiarowy problem minimalizacji funkcji 

2

1

x

,

x

Q

 z ograniczeniem 

równo

Ğciowym

 zosta

á zastąpione trójwymiarowym problemem 

minimalizacji zast

Ċpczej funkcji 

0

x

,

x

g

2

1

1

 

O

,

x

,

x

L

2

1

 bez ogranicze

Ĕ.

Uogólnienie post

Ċpowania na wiĊkszą liczbĊ zmiennych i ograniczeĔ prowadzi do 

metody mno

Īników Lagrange’a.

Metoda mno

Īników Lagrange’a

Dana jest funkcja celu 

 klasy C

 

Q

x

1

. Zbiór dopuszczalny utworzony jest przez 

ograniczenia równo

Ğciowe (funkcjonalne). 

(4)

ĭ

 

^

`

n

j

;

n

m

;

m

,...,

j

;

g

:

R

ĭ

x

x





 

 

 

1

0

 

gdzie:

- liczba ogranicze

Ĕ funkcjonalnych, 

m

- liczba zmiennych decyzyjnych. 

n

Funkcje

 s

ą równieĪ klasy C

x

j

g

1

.

Utwórzmy funkcj

Ċ:

(5)

 

 

 

 

x

x

x

x

Ȝ

x,

m

m

g

...

g

g

Q

L

O

O

O









 

2

2

1

1

gdzie:

- wektor mno

Īników Lagrange’a.

>

T

m

,...,

O

O

O

2

1

 

Ȝ

@

Warunkiem koniecznym istnienia ekstremum lokalnego funkcji 

, przy 

za

áoĪeniu Īe jest ona klasy C

Ȝ

x,

L

1

 jest: 

(6)

°

°
¯

°°

®

­

 

 

 

 

m

,...,

j

,

L

n

,...,

i

x

,

L

j

i

1

0

1

0

O

w

w

w

w

Ȝ

x

Ȝ

x

Rozwi

ązując ukáad (6) 

równa

Ĕ znajdujemy punkty 

 i

m

n



x

Ȝ

, w których zeruje 

si

Ċ gradient a zatem punkty w których mogą istnieü lokalne extrema funkcji celu.

background image

J.Stadnicki    Optymalizacja

- 58 - 

Zadanie programowania nieliniowego z ograniczeniami w postaci nierówno

Ğci

Zbiory i funkcje wypuk

áe

Zbiór

ĭ

jest wypuk

áy, jeĪeli dla kaĪdej pary punktów 

 odcinek 

áączący te punkty naleĪy do tego zbioru. 

n

R



ĭ



2

1

x

,

x

zbiór nie 

k

á

x

2

x

2

x

1

zbiór wypuk

áy

x

2

x

1

x

1

 f

funkcja wkl

Ċsáa

x

2

x

1

x

1

funkcja

ĞciĞle wklĊsáa

x

2

x

1

 f

x

1

 f

funkcja wypuk

áa

x

2

x

1

x

1

funkcja

ĞciĞle wypukáa

x

2

x

1

 f

x

1

x

2

x

1

background image

Funkcja

okre

Ğlona na zbiorze wypukáym

jest wypuk

áa jeĪeli

nadgrafik nad wykresem funkcji jest zbiorem wypuk

áym.

R

R

o

:

f

n

ĭ

W

áasnoĞci funkcji wypukáej:

1° dla dowolnych

 

 

1

2

1

1

2

2

1

x

x

x

x

x

ĭ

x

x



w

w

t





f

f

f

,

,

2° hesjan 

dla wszystkich 

,

 

>

@

0

t

x

f

H

x

3° w zbiorze

ĭ

 funkcja ma jedno ekstremum 

Ÿ ekstremum lokalne jest ekstremum 

globalnym.

Wniosek:

Ka

Īda funkcja liniowa jest wypukáa (bo druga pochodna funkcji liniowej jest równa 

zero).

Mo

Īna wykazaü, Īe ukáad ograniczeĔ w postaci równoĞci i nierównoĞci:

 
 

m

,...,

m

,

m

j

,

g

m

,...,

,

j

,

g

j

j

2

1

0

2

1

0

1

1

1





 

 

 

d

x

x

  okre

Ğla zbiór wypukáy wtedy i tylko wtedy gdy: 

funkcje

 s

ą funkcjami wypukáymi, a pozostaáe funkcje 

 

1

j

1,2,...,m

j

g

 

dla

x

2,...,m

1,m

m

j

1

1



 

g

j



 

dla

x

s

ą funkcjami liniowymi. 

Problem, w którym funkcja celu jest wypuk

áa i zbiór dopuszczalny jest wypukáy,

nazywamy problemem programowania wypuk

áego.

Rozwa

Īmy problem dwuwymiarowy 

2



ĭ

R

:

Dana jest funkcja celu 

 klasy C

2

1

x

,

x

Q

g

j

1

, zbiór dopuszczalny okre

Ğlony jest przez 

ograniczenia nierówno

Ğciowe

3

2

,

,

j

0,

x

,

x

2

1

 

d

. Znajd

Ĩ minimum funkcji 

celu

Q

.

2

1

x

,

x

J.Stadnicki    Optymalizacja

- 59 - 

background image

J.Stadnicki    Optymalizacja

- 60 - 

Utwórzmy funkcj

Ċ Lagrange’a:

 

 

 

 

 

 

x

x

x

x

x

x

Ȝ

x,

¦

 



 







 

3

1

3

3

2

2

1

1

j

j

j

g

Q

g

g

g

Q

L

O

O

O

O

xˆ

)

 

0

1

 

x

g

 

0

2

 

x

g

 

0

3

 

x

g

2

1

x

xˆ

)

 

0

1

 

x

g

 

0

2

 

x

g

 

0

3

 

x

g

2

x

1

x

xˆ

)

 

0

1

 

x

g

 

0

2

 

x

g

 

0

3

 

x

g

2

x

1

x

c)

b)

a)

 

const

ˆ

Q

 

x

 

const

ˆ

Q

 

x

 

const

ˆ

Q

 

x

x

a)

 ma minimum w punkcie 

 le

Īącym wewnątrz

ĭ

,

 

x

xˆ

 

0

0

 

w

w

œ

 

 

 

x

x

x

x

ˆ

j

ˆ

x

Q

Q

grad

 oraz 

 

3

2

1

0

,

,

j

,

ˆ

g

j

 



x

(6.1)

3

2

1

0

0

3

1

,

,

j

,

x

g

x

Q

x

L

j

ˆ

j

j

j

j

ˆ

j

ˆ

j

 

 

 

w

w



w

w

 

w

w

 

 

 

 

¦

O

O

je

Ğli

x

x

x

x

x

x

Warunek

 jest aktywny w punkcie 

, je

Īeli

 

0

d

xˆ

g

j

xˆ

 

0

 

xˆ

g

j

.

Warunek

 jest nieaktywny w punkcie 

, je

Īeli

 

0

d

xˆ

g

j

xˆ

 

0



xˆ

g

j

.

b)

 

 

 

,

ˆ

g

,

ˆ

g

,

ˆ

g

0

0

0

3

2

1





 

x

x

x

Zatem w dostatecznie ma

áym otoczeniu 

 zadanie jest równowa

Īne problemowi 

optymalizacji z ograniczeniem równo

Ğciowym.

xˆ

Z równa

Ĕ (3.3) 

0

3

1

1

1

1

1

 

w

w



w

w

 

w

w

œ

w

w



 

w

w

 

 

 

 

 

 

¦

x

x

x

x

x

x

x

x

x

x

ˆ

j

j

j

j

ˆ

j

ˆ

j

ˆ

ˆ

x

g

x

Q

x

L

x

g

x

Q

O

O

0

0

3

2

1

 

 

!

O

O

O

,

je

Ğli

c)

 

 

 

,

ˆ

g

,

ˆ

g

,

ˆ

g

0

0

0

3

2

1



 

 

x

x

x

Zatem w dostatecznie ma

áym otoczeniu 

 zadanie jest równowa

Īne problemowi 

optymalizacji z dwoma ograniczeniami równo

Ğciowymi.

xˆ

background image

J.Stadnicki    Optymalizacja

- 61 - 

0

3

1

2

2

2

1

1

1

1

 

w

w



w

w

 

w

w

œ

w

w



w

w



 

w

w

 

 

 

 

 

 

 

¦

x

x

x

x

x

x

x

x

x

x

x

x

ˆ

j

j

j

j

ˆ

j

ˆ

j

ˆ

ˆ

ˆ

x

g

x

Q

x

L

x

g

x

g

x

Q

O

O

O

0

0

0

3

2

1

 

!

!

O

O

O

,

,

je

Ğli

Podsumujmy przypadki a), b), c): 

Zawsze dla 

0

3

2

1

t

 

j

,

,

j

O

, ponadto: 

1° je

Īeli

 (warunek nieaktywny) to odpowiedni mno

Īnik Lagrange’a jest 

równy zero 

 

0



xˆ

g

j

 

j

0

O

,

2° je

Īeli

 (warunek aktywny) to odpowiedni mno

Īnik Lagrange’a jest 

dodatni

 

0

 

xˆ

g

j

0

!

j

O

,

Punkt

jest rozwi

ązaniem zadania, gdy speánia wszystkie ograniczenia: 

xˆ

 

0

0

d

¸

¸
¹

·

¨

¨
©

§

w

w

œ

d

  x

x

x

ˆ

j

j

L

ˆ

g

O

, (6.2) 

warunki 1° i 2° oznaczaj

ą:

 

0

0

 

¸

¸
¹

·

¨

¨
©

§

w

w

œ

 

  x

x

x

ˆ

j

j

j

j

L

ˆ

g

O

O

O

 (6.3) 

Bior

ąc po uwagĊ warunki (6) metody mnoĪników Lagrange’a do zadania z 

ograniczeniami w postaci równo

Ğci oraz warunki (6.2) i (6.3), warunkami 

koniecznymi istnienia rozwi

ązania zadania optymalizacji nieliniowej z 

ograniczeniami w postaci nierówno

Ğci są:

background image

J.Stadnicki    Optymalizacja

- 62 - 

(7)

ˆ

ˆ

ˆ

0

1,...,

0

0

1,...,

0

i

j

j

j

j

L

i

n

x

L

L

j

m

O

O

O

O

 

 

 

­§

·

w

 

 

°¨

¸

w

©

¹

°

°

½

§

·

w

°

d

°

¨

¸

°¨

¸

w

°

©

¹

°

°

®

§

·

°

w

°

°

 

 

¨

¸

¾

°

¨

¸

w

°

©

¹

°

°

°

t

°

°

°

°

°¿

¯

x x

x x

x x

Warunki (7) nazywane s

ą warunkami Khuna-Tuckera.

background image

KOMPUTEROWE METODY ROZWI

ĄZYWANIA ZADAē PROGRAMOWANIA 

NIELINIOWEGO

Rz

ąd algorytmu optymalizacji rozumiemy jako stopieĔ pochodnych 

minimalizowanej funkcji celu wykorzystywany w algorytmie. 

x Algorytmy (metody) rzĊdu zerowego (bezgradientowe) – korzystają tylko z 

warto

Ğci funkcji celu. 

x Algorytmy (metody) rzĊdu pierwszego (gradientowe) – korzystają z 

pochodnych rz

Ċdu pierwszego funkcji celu. 

x Algorytmy (metody) rzĊdu drugiego – korzystają z pochodnych rzĊdu drugiego 

(hesjanu) funkcji celu. 

Kryterium zako

Ĕczenia obliczeĔ jest najczĊĞciej badanie zmian wektora  oraz

funkcji celu 

. Je

Īeli zmiany te są mniejsze od przyjĊtej dokáadnoĞci

x

 

x

Q

İ

, to 

ko

Ĕczymy obliczenia. 

Algorytm optymalizacji jest zbie

Īny, jeĪeli istnieje i naleĪy do zbioru 

dopuszczalnego granica kolejnych punktów 

otrzymanych w jego wyniku: 

i

x

x

x

ˆ

i

i

lim

 

f

o

,

przy czym je

Īeli

i

 jest sko

Ĕczone, to mówimy o skoĔczonej zbieĪnoĞci

algorytmu.

Je

Īeli algorytm jest zbieĪny, to liczbĊ

 , dla której istnieje sko

Ĕczona granica 

1

t

q

q

q

i

i

i

r

ˆ

ˆ

lim

 







f

o

x

x

x

x

1

 , gdzie: 

– jest wspó

áczynnikiem zbieĪnoĞci,

q

r

nazywamy rz

Ċdem zbieĪnoĞci algorytmu.

Je

Īeli

1

2

to mówimy o zbie

ĪnoĞci liniowej,

to mówimy o zbie

ĪnoĞci kwadratowej,

q

­

  ®

¯

Zadanie programowania nieliniowego bez ogranicze

Ĕ

Znajd

Ĩ minimum 

Q

  dla

 

min

o

x

n

R

x



, przy czym 

 

x

Q

 jest klasy C

1

.

J.Stadnicki    Optymalizacja

- 63 - 

background image

J.Stadnicki    Optymalizacja

- 64 - 

Metody rz

Ċdu zerowego (bezgradientowe) funkcji jednej zmiennej

Metoda z

áotego podziaáu

Dla

1

2

1

2

1

a

a

a

a

a

a

 

!

, zatem 

a

a

2

a

1

,

,

,

a

a

618

0

1

5

5

0

1

#



 

,

,

,

a

a

382

0

5

3

5

0

2

#



 

Krok wst

Ċpny:

x Wyznacz przedziaá, w którym lokalne minimum musi istnieü.

x Oblicz wartoĞci funkcji 

Q

 dla kolejnych 

 o sta

áym odstĊpie

.

 

x

i

x

x

'

Je

Īeli dla kolejnych 

zachodzi

1

1





i

i

i

x

,

x

,

x

 

 

i

i

i

i

x

Q

x

Q

oraz

x

Q

x

Q

!

!





1

1

 

x

Q

,

to w przedziale

 musi znajdowa

ü siĊ minimum funkcji 

.

1

1





i

x

,

i

x

x Oznaczmy przedziaá

 jako 

1

1





i

i

x

,

x

p

l

x

,

x

.

Q(x

2

k

)> Q(x

1

k

)

Q(x

1

k

)

Q(x

2

k

)

x

2

k

=

pkt. prawy

x

1

k

=

pkt. lewy

x

p

=x

p

k

x

l

=x

l

k

x

Q(x)

Kolejne kroki algorytmu:

1° Przyjmij

.

p

k

p

l

k

l

x

x

x

x

k

 

 

  1

2° Je

Īeli

H





k

l

k

p

x

x

 to zako

Ĕcz algorytm.

W przeciwnym przypadku wyznacz punkty wewn

Ċtrzne:

pkt. lewy:

k

l

k

p

x

x

,



382

0

k

l

k

x

x



 

1

, pkt. prawy:

k

l

k

p

k

l

k

x

x

,

x

x





 

618

0

2

i oblicz warto

Ğci funkcji celu w tych punktach. 

background image

3° Je

Īeli

     

œ

!

k

k

x

Q

x

2

1

Q

Q

(pkt-u lewego) > 

Q

(pkt-u prawego)  odrzu

ü przedziaá

k

1

k

l

x

,

x

(tzn. lew

ą czĊĞü

k

p

k

l

x

,

x

), podstawiaj

ąc:

 

 

l

x

x

1

k

k

 pkt. lewy,

1



  k

k

  i wró

ü do punktu 2°. 

W przeciwnym przypadku odrzu

ü przedziaá

k

p

k

x

,

x

2

(tzn. praw

ą czĊĞü

k

p

k

l

x

,

x

), podstawiaj

ąc:

 

 

k

k

p

x

x

2

 pkt. prawy,

1



  k

k

  i wró

ü do punktu 

2°.

Metoda Powella (interpolacji kwadratowej)

Przez trzy kolejne punkty 

mo

Īna poprowadziü parabolĊ o równaniu: 

3

2

1

x

,

x

,

x

 

   

   

   

2

3

1

3

2

1

3

3

2

1

2

3

1

2

3

1

2

1

3

2

1

x

x

x

x

x

x

x

x

x

Q

x

x

x

x

x

x

x

x

x

Q

x

x

x

x

x

x

x

x

x

Q

x

Q

~





























 

posiadaj

ącej ekstremum w punkcie 

0

 

 

m

x

x

dx

Q

~

d

:

 

 

 

 

 

 

>

@

2

1

3

1

3

2

3

2

1

2

2

2

1

3

2

1

2

3

2

2

3

2

2

1

2

x

x

x

Q

x

x

x

Q

x

x

x

Q

x

x

x

Q

x

x

x

Q

x

x

x

Q

x

m





















 

Kolejne kroki algorytmu:

1° Podstaw 

0

 

k

, przyjmij  punkt startowy

i krok

k

x

k

x

'

,

2° W punkcie

oblicz warto

Ğü

k

k

k

x

x

x

'



 

1

 

1



k

x

Q

.

J.Stadnicki    Optymalizacja

- 65 - 

3° Je

Īeli

     

k

k

x

Q

x

d

1

Q

 to podstaw 

k

k

x

x

'

 

'



2

1

i powró

ü do kroku 2° 

przyjmuj

ąc

1



  k

k

.

W przeciwnym przypadku 

oblicz

k

k

x

.

x

'





5

0

1

Q

.

Q(x)

Q(x)

~

Otrzymamy trzy 

równoodleg

áe punkty 

 przez które 

mo

Īemy poprowadziü

parabol

Ċ

2

1





i

i

i

x

,

x

,

x

Q

 

x

ˆ

.

Q(x)

i

i+2

x

min

i+1

x

m

ǻx

k

x

k

x

k+1

x

k+2

2

ǻx

k

x

background image

J.Stadnicki    Optymalizacja

- 66 - 

Uwaga:

Je

Īeli w pierwszej iteracji w kroku 3° 

     

k

k

x

Q

x

Q

!

1

 to odwracamy kierunek 

poszukiwa

Ĕ.

4° Obliczamy warto

Ğü

 przyjmuj

ąc:

m

x

,

x

x

,

x

x

,

x

x

i

i

i

2

3

1

2

1





 

 

 

x

x

x

x

x

'

 



 



1

2

2

3

5° Je

Īeli

H





1

i

m

x

x

1



i

x

m

x

 , to obliczenia ko

Ĕczymy przyjmując

.

W przeciwnym przypadku powtarzamy algorytm od punktu 2° zmniejszaj

ąc krok z 

punktu

 lub 

.

m

min

x

x

#

Podsumowanie:

Obie metody s

ą proste i efektywne, moĪna je stosowaü gdy nie istnieje pochodna 

lub trudno j

ą wyznaczyü.

Metody rz

Ċdu pierwszego (gradientowe) funkcji jednej zmiennej 

Korzystaj

ą z pierwszej pochodnej funkcji celu i bazują na dwóch koncepcjach: 

1. Interpolacji funkcji celu wielomianami wy

Īszych stopni. 

Np. interpolacja sze

Ğcienna Davidona – w przedziale, w którym znajduje siĊ

minimum funkcji celu na podstawie znajomo

Ğci wartoĞci funkcji celu oraz jej 

pochodnych w dwóch punktach ograniczaj

ących przedziaá znajdowana jest 

parabola sze

Ğcienna. Minimum paraboli podobnie jak w metodzie Powella w 

kolejnych iteracjach zd

ąĪa do minimum funkcji celu. 

2. Szukaniu miejsca zerowego pochodnej. 

background image

J.Stadnicki    Optymalizacja

- 67 - 

Metoda siecznych:

Dany jest przedzia

á

p

l

x

,

x

 , w którym funkcja celu 

 

x

Q

 ma minimum. 

Q’(x

l

)

Q’(x

p

)

Į

P

L

x

m

2

=x

l

3

x

m

1

=x

l

2

x

m

0

=x

l

1

x

p

x

l

x

Q’(x)

Kolejne kroki algorytmu:

1° Przyjmij 

0

 

k

 i oblicz wspó

árzĊdną punktu przeciĊcia odcinka LP z osią

x

.

 

 

 

 

 

 

 

k

p

k

l

k

l

k

p

k

p

k

l

k

p

k

p

k

m

k

l

k

l

x

'

Q

x

'

Q

x

x

'

Q

x

x

'

Q

tg

x

'

Q

x

x

x

x

'

Q

tg





 



 





 

D

D

k

p

k

p

x

x

'

Q

2° Oblicz 

 

k

m

x

'

Q

 i sprawd

Ĩ czy 

 

H



k

m

x

'

Q

. Je

Ğli tak to zakoĔcz obliczenia. 

3° Je

Īeli

     

0

!

k

p

k

m

x

'

Q

x

'

Q

 to podstaw 

 

 

k

m

k

p

k

m

k

p

x

'

Q

x

'

Q

x

x

 

 





1

1

.

W przeciwnym przypadku 

 

 

k

m

k

l

x

'

Q

x

'

Q

 

1

k

m

k

l

x

x

 

1

.

Podstaw

1



  k

k

 i powró

ü do punktu 1°. 

background image

J.Stadnicki    Optymalizacja

- 68 - 

Metody rz

Ċdu drugiego funkcji jednej zmiennej 

Metoda Newtona

Wymaga obliczenia drugiej pochodnej funkcji celu 

 

x

Q

 , która dodatkowo musi by

ü

ci

ągáa(

 klasy C

 

x

Q

2

).

Kolejne kroki algorytmu:

1° Podstaw 

0

 

k

.

2° W otoczeniu punktu startowego 

 rozwi

Ĕ funkcjĊ celu 

k

x

 

x

Q

 w szereg Taylora 

ograniczaj

ąc siĊ do skáadnika z drugą pochodną:

 

 

 

 

2

5

k

k

k

k

k

x

x

x

"

Q

,

x

x

x

'

Q

x

Q

x

Q







#

0



3° Przyrównuj

ąc pierwszą pochodną otrzymanego wyraĪenia do zera, wyznacz 

punkt, w którym ma ono minimum (punkt startowy do nast

Ċ ne iteracji):

p

j

 

 

 

 

 

k

k

k

k

m

k

k

m

k

k

x

"

Q

x

'

Q

x

x

x

x

x

"

Q

x

'

Q

x

'

Q



 

Ÿ

 





#

0

Uwaga:

Zatem algorytm jest zbie

Īny tylko wtedy, gdy 

 

0

!

k

x

"

Q

4° Je

Īeli

H





k

k

m

x

x

 to zako

Ĕcz obliczenia. 

W przeciwnym przypadku podstaw 

 i powró

ü do punktu 2°. 

1

1



 

 



k

k

x

x

k

m

k

x

m

2

x

m

1

x

m

0

x

0

x

Q(x)

background image

Metody rz

Ċdu zerowego (bezgradientowe) minimalizacji funkcji wielu 

zmiennych

Metody poszukiwa

Ĕ prostych:

Charakteryzuj

ą siĊ prostotą algorytmu, brakiem wraĪliwoĞci na ksztaát

minimalizowanej funkcji lecz s

ą mniej efektywne od omawianych dalej. 

Metoda Gaussa-Seidela:

Funkcja celu 

Q

 jest minimalizowana wzd

áuĪ kolejnych kierunków bazy 

ortogonalnych (wzajemnie prostopad

áych) wersorów

 wspó

árzĊdnych

kartezja

Ĕskich. Wersory w trakcie obliczeĔ pozostają niezmienne. 

 

x

n

,

,

,

ȟ

ȟ

ȟ

!

2

1

Q(x)

x

k

O

*

[

i

[

2

[

1

Q(x)=const

x

2

1

x

2

1

=x

1

x

1

1

x

0

x

2

x

1

 Kolejne kroki algorytmu:

1° Przyjmij punkt startowy 

0

x

, podstaw 

.

0

1

0

x

x

 

 

 

k

i

i

k

2° W kierunku wersora 

 znajd

Ĩ odlegáoĞü

i

ȟ

*

O

 od punktu 

w jakiej funkcja celu 

 ma minimum.

Zadanie polega wi

Ċc na minimalizacji funkcji jednej zmiennej: 

k

i

x

 

x

Q

 

min

Q

i

 



O

O

ȟ

i

Q

k

i

x

o

i mo

Īe byü rozwiązane jedną z metod omówionych poprzednio po przyjĊciu

warto

Ğci

H

 oznaczaj

ącej wymaganą dokáadnoĞü rozwiązania zadania dla 

kierunku

i

.

J.Stadnicki    Optymalizacja

- 69 - 

background image

J.Stadnicki    Optymalizacja

- 70 - 

3° Przyjmij 

i

k

 

 wyznacz punkt 

 le

Īący w odlegáoĞci

k

i

x

*

O

od

 w kierunku 

i

.

Podstaw

i

.

Je

Īeli

i

 powró

ü do punktu 2°. 

1



k

i

x

1



  i

n



4° Przyjmij nowy punkt startowy 

 oraz podstaw 

k

i

k

x

x

 

0

0

 

i

.

Je

Īeli

1

0

0

k

k

0

H





!

x

x

 to powró

ü do punktu 2°. 

W przeciwnym przypadku zako

Ĕcz obliczenia. 

Uwaga:

Metoda ma

áo efektywna, gdy warstwice funkcji celu są dáugimi wąskimi krzywymi. 

Metoda losowego przeszukiwania

Losujemy punkt startowy 

, a nast

Ċpnie tworzymy taki ciąg punktów 

0

x

^ `

k

x

 takich, 

Īe:

 

 

 

 

0

1

ˆ

k

Q

Q

Q

Q

t

t

t

t

t

x

x

x

!

!

x

, przy czym 

k

k

k

ǻ

x

x



 

1

,

 gdzie 

k

ǻ

 – jest pewnym na ogó

á losowym przyrostem zmiennej decyzyjnej. 

jednostkowy wektor losowy 

(promie

Ĕ sfery)

[

1

0

x

1

x

2

x

3

x

3

x

2

r

x

1

Q(x)=const

x

0

x

2

x

1

 Kolejne kroki algorytmu:

1° Wylosuj punkt startowy 

0

x

, ustal promie

Ĕ sfery 

r

 oraz liczb

Ċ losowaĔ

N

,

podstaw

0

 

k

.

2° Z punktu

k

x

wylosuj

N

punktów na powierzchni sfery o promieniu

 r

 .

background image

J.Stadnicki    Optymalizacja

- 71 - 

3° Je

Īeli

   

1





k

k

x

x

Q

, to spo

Ğród wylosowanych punktów 

 wybierz taki 

,

w którym warto

Ğü funkcji celu jest najmniejsza 

k

i

x

k

i

ˆx

 

 

k

k

i

i

k

x

ˆ

1,...

Q

Q

dla i



 

x

x

ˆx

, ,

n

,

zast

ąp nim punkt 

 i powró

ü do punktu 2°. 

W przeciwnym przypadku zako

Ĕcz obliczenia i przyjmij 

k

i

k

ˆx

x

 

 

. W odleg

áoĞci

mniejszej od 

r

 od 

k

x

nie ma punktu, w którym funkcja celu osi

ągaáaby wartoĞü

mniejsz

ą od dotychczas uzyskanej. 

Uwaga:

Metoda ma

áo efektywna. Przebieg obliczeĔ bezpoĞrednio zaleĪy od przyjĊtych

r

(promienia sfery) oraz 

N

 (liczby losowa

Ĕ).

Metody kierunków poprawy:

Kierunkami poprawy funkcji

Q

 w punkcie 

 

x

k

x

 nazywamy wektory 

, dla 

których istnieje 

n

R



ȟ

0

0

!

O

 takie,

Īe dla kaĪdego

0

0

O

O

,



, zachodzi 

 

k

k

Q

Q

O





x

ȟ

x

.

Kierunki (wektory) 

 i 

i

ȟ

j

ȟ

 nazywamy sprz

ĊĪonymi wzglĊdem kwadratowej 

dodatnio okre

Ğlonej macierzy 

>

 , je

Īeli

@

H

> @

0

iT

j

dla i

j

 

z

H

ȟ

ȟ

.

Wniosek:

Je

Īeli

> @ > @

 

H

I

 ( 

I – 

macierz jednostkowa) to otrzymamy kierunki ortogonalne. 

Metoda kierunków sprz

ĊĪonych Powella:

Tw.

Je

Īeli startując z punktu początkowego

0

x

w kierunku 

 minimum funkcji 

kwadratowej

Q

 osi

ągamy w punkcie 

ȟ

 

x

a

x

, a startuj

ąc z innego punktu 

0

1

x

x

z

w

tym samym kierunku 

 minimum osi

ągamy w punkcie 

ȟ

b

x

, to przy 

     

a

x



b

x

Q

kierunek

b

x



a

x

 jest sprz

ĊĪony wzglĊdem hesjanu 

> @

H

.

background image

Dla problemu dwuwymiarowego, 
w którym warstwice funkcji celu 

s

ą koáowe

> @ >

I

H

 

@

 , a kierunki 

sprz

ĊĪone są ortogonalne. 

x

1

ȟ

x

2

Minimum  (0,0) osi

ągamy w 

drugim kroku algorytmu! 

x

0

ȟ

x

a

x

b

x

1

x

b

x

a

x

0

ȟ

 2

0

x

^

x

3

0

=x

1

x

3

1

=x

2

ȟ

 2

2

ȟ

 2

1

x

2

1

x

1

1

ȟ

 1

1

ȟ

 2

1

ȟ

 2

0

ȟ

 1

0

x

3

0

-x

1

0

ȟ

2

0

ȟ

 1

0

Q(x)=const

x

3

0

x

2

0

x

1

0

x

2

x

1

 Kolejne kroki algorytmu:

1° Wybierz punkt startowy 

0

x

, podstaw 

0

 

k

 oraz przyjmij 

n

liniowo niezale

Īnych

wersorów

(najcz

ĊĞciej są to wersory kartezjaĔskiego ukáadu wspóárzĊdnych).

i

k

ȟ

2° Wykonaj minimalizacj

Ċ funkcji 

k

k

i

Q

O



x

ȟ

 dla kolejnych kierunków bazy 

 gdzie 

i=n,1,2,...,n-1

, przyjmuj

ąc minimum kolejnej minimalizacji jako 

po

Ğredni punkt startowy nastĊpnej.

i

k

ȟ

J.Stadnicki    Optymalizacja

- 72 - 

background image

J.Stadnicki    Optymalizacja

- 73 - 

3° Ostatni z otrzymanych punktów 

 przyjmij jako nowy punkt startowy 

k

1



x

1



k

x

.

Je

Īeli

H







k

k

x

x

1

 to zako

Ĕcz obliczenia. 

4° Wyznacz kierunek sprz

ĊĪony

1

1

1

1

1

k

k

k

n

n

k

n









 



x

x

ȟ

x

x

k

 i wprowad

Ĩ go do bazy, tzn. 

zamie

Ĕ pierwszy kierunek bazy kierunkiem sprzĊĪonym

.

Wyznacz kolejny punkt 

 na przeci

Ċciu kierunków 

 i 

.

Podstaw

1

1

k

k

i

n





 

ȟ

ȟ

k

n

1

k

n



ȟ

k

1



x

ȟ

1



  k

k

 i wró

ü do punktu 2°.

Metody rz

Ċdu pierwszego (gradientowe) minimalizacji funkcji wielu zmiennych

Metoda najszybszego spadku:

Q(x)=const

x

2

ȟ

1

=-

’

Q(x

0

)

Kierunek przeciwny do 
gradientu

 jest 

kierunkiem poszukiwa

Ĕ.

k

k

Q

  ’

ȟ

x

x

1

x

3

x

^

x

2

ȟ

2

=-

’

Q(x

2

)

x

0

x

1

ȟ

0

=-

’

Q(x

0

)

 Kolejne kroki algorytmu:

1° Wybierz punkt startowy 

0

x

, podstaw 

0

 

k

2° Oblicz gradient

 

k

x

’

 i przyjmij kierunek poszukiwa

Ĕ

 

k

k

Q

  ’

ȟ

x

.

3° Minimalizuj funkcj

Ċ

k

k

O



x

ȟ

Q

 w kierunku 

 wyznaczaj

ąc punkt 

k

ȟ

1



k

x

.

4° Je

Ğli kryterium zbieĪnoĞci

 

H

d

’

˜

’

1

k

k

Q

Q

x

x

1

 jest spe

ánione to zakoĔcz

obliczenia.
W przeciwnym przypadku podstaw 



  k

k

 i wró

ü do punktu 2°. 

background image

Metoda gradientu sprz

ĊĪonego:

E

ȟ

0

-

’

Q(x

1

)

x

^

x

2

ȟ

1

x

1

ȟ

  0

=-

’

Q(x

0

)

Q(x)=const

x

0

x

2

x

1

Kolejne kroki algorytmu:

1° Wybierz punkt startowy 

0

x

, podstaw 

0

 

k

2° Oblicz gradient

 

k

x

’

 i przyjmij kierunek poszukiwa

Ĕ

 . 

 

k

k

Q

  ’

ȟ

x

3° Minimalizuj funkcj

Ċ

k

k

O



x

ȟ

Q

 w kierunku 

 wyznaczaj

ąc punkt 

k

ȟ

1



k

x

.

Okre

Ğl nowy (sprzĊĪony) kierunek poszukiwaĔ:

, gdzie:

1

k

k

E





ȟ

1

1

k

k

Q





  ’

ȟ

x

 

 

1

1

1

2

k

k

k

Q

Q

Q

E







T

k

k

Q

ª

º

 ’

’

’

¬

¼

 

’

x

x

x

x

4° Je

Ğli kryterium zbieĪnoĞci

H



’

1

k

x

 jest spe

ánione to zakoĔcz obliczenia.

W przeciwnym przypadku podstaw 

1



  k

k

 i wró

ü do punktu 2°. 

J.Stadnicki    Optymalizacja

- 74 -

background image

Metody rz

Ċdu drugiego 

Metoda Newtona:

Jest uogólnieniem poznanej metody minimalizacji funkcji jednej zmiennej. 

Rozwi

Ĕ funkcjĊ

w szereg Taylora w otoczeniu punktu 

ograniczaj

ąc siĊ do 

dwóch pierwszych wyrazów: 

 

x

Q

 

k

x

 

   

 

1

2

k

T

k

k

k

k

Q

Q

Q

T

k

ª

º

’









 



¬

¼

x

x

x

x

x

x

x

x

x



H

x

Poniewa

Ī w metodzie Newtona stosujemy interpolacjĊ kwadratową, problem 

minimalizacji funkcji 

 

x

Q

 w kierunku 

mo

Īna rozwiązaü w sposób Ğcisáy.

k

ȟ

Podstawiaj

ąc:

, otrzymamy: 

k

O

 



x

x

ȟ

k

 

 

 

 

*

*

0

k

k

T

k

k

T

k

k

kT

k

k

kT

k

k

dQ

Q

Q

d

O

O

O

O



’

ª

º

  ’



 

Ÿ

  

¬

¼

ª

º

¬

¼

x

ȟ

x

ȟ

x

ȟ

ȟ

H x

ȟ

ȟ

H x

ȟ

Mo

Īna w ten sposób ustaliü kolejne punkty wyznaczane przez algorytm: 

1

k

k

k

O



 



x

x

ȟ

*

k

 podstawiaj

ąc

*

O

 otrzymamy 

 

 

1

k

k

k

k

Q



’

 



ª

º

¬

¼

x

x

x

H x

Zadanie programowania nieliniowego z ograniczeniami

Znajd

Ĩ minimum 

Q

  dla

 

min

o

x



x

ĭ

, przy czym 

 jest niepustym zbiorem 

dopuszczalnym zdefiniowanym za pomoc

ą ukáadu ograniczeĔ nierównoĞciowych

 i (lub) równo

Ğciowych

ĭ

 

0

d

x

j

g

 

0

 

x

l

h

.

J.Stadnicki    Optymalizacja

- 75 -

background image

J.Stadnicki    Optymalizacja

- 76 -

Algorytmy (metody) podstawowe

Nie korzystaj

ą z informacji wynikających z przebiegu obliczeĔ.

Zalety:
x prostota algorytmu, 
x niewraĪliwoĞü algorytmu na ksztaát

funkcji celu i spójno

Ğü obszaru 

dopuszczalnego,

x efektywnoĞü przy wystĊpowaniu

ekstremów lokalnych funkcji celu. 

Wady:

x

du

Īy nakáad pracy , szybko 

rosn

ący w miarĊ zwiĊkszania siĊ

wymiaru zadania (liczby 
zmiennych decyzyjnych) oraz 
liczno

Ğci zbioru dopuszczalnego.

Metoda systematycznego przeszukiwania:

Kolejne kroki algorytmu:

x

2

x

2

g

)

n

2

'

x

2

)

x

2

d

x

1

x

1

g

x

1

d

n

1

'

x

1

1° Szacujemy zakres zmian poszczególnych zmiennych decyzyjnych: 

  dla

Dzielimy go na 

równych cz

ĊĞci, otrzymując siatkĊ o 

 oczkach, w których znajduj

ą siĊ punkty 

.

Przyjmujemy

g

i

i

d

i

x

x

x

d

d

–

 



 

n

i

i

n

N

1

1

n

,

,

i

!

1

 

i

n

1

 

N

,

,

k

,

k

!

1

 

x

k

.

2° Obliczamy warto

Ğci

m

,

,

j

!

1

 

ogranicze

Ĕ

 

k

j

x

w oczkach siatki. 

background image

J.Stadnicki    Optymalizacja

- 75 -

3° Sprawdzamy czy ograniczenia s

ą speánione lub czy 

N

k

d

. Dla 

N

k

 

ko

Ĕczymy obliczenia. 

Je

Īeli nie podstawiamy 

1



  k

k

 i wracamy do punktu 2°. 

4° Obliczamy 

 

k

x

k

t

k

i

Q

.

Je

Īeli

i wracamy do punktu 2°. 

 

 

 

min

min

min

1

,

1

ˆ

1

,

k

k

k

o Q

Q

k

k

Q

Q

to Q

Q

k

k

­  

 

  

°

®

z



 

 

 

°¯

x

x

x

x

,

1

k



 Uwaga:

Odleg

áoĞci miĊdzy oczkami siatki muszą byü mniejsze od wymaganej dokáadnoĞci

oblicze

Ĕ

H

.

Metoda poszukiwa

Ĕ losowych (Monte Carlo):

x Dla skrócenia czasu obliczeĔ nie przeszukuje siĊ punktów 

k

x

 le

Īących w 

oczkach siatki lecz w sposób losowy generuje si

Ċ ciągi liczb 

dla

i

, okre

Ğlające wspóárzĊdne punktów 

g

i

k

i

d

i

x

x

d

d

x

n

,

,

!

1

 

k

x

.

x Liczba losowaĔ zaleĪy od przyjĊtego prawdopodobieĔstwa

K

 i za

áoĪonej

dok

áadnoĞci

H

 otrzymania rozwi

ązania.

x PrawdopodobieĔstwo

K

wylosowania w 

N

 próbach z dok

áadnoĞcią

H

 punktu 

ze zbioru 

wynosi:

ĭ

N

H





 

1

1

K

.

x Zatem aby wylosowaü z prawdopodobieĔstwem

K

i dok

áadnoĞcią

H

punkt ze 

zbioru

potrzeba minimum 

ĭ

N

 losowa

Ĕ.

log 1

log 1

log 1

log 1

N

N

K

K

H

H





d



Ÿ

t



K

H

0,9

0,95

0,99

0,5

4

5

7

0,2

11

14

21

0,1

22

29

44

0,01

230

299

459

background image

J.Stadnicki    Optymalizacja

- 76 -

Algorytmy (metody) z pami

Ċcią

A. Metody po

Ğrednie:

1. zast

Ċpują zadanie programowania nieliniowego z ograniczeniami zadaniem 

programowania nieliniowego bez ogranicze

Ĕ – metody funkcji kary, 

2. zast

Ċpują zadanie programowania nieliniowego z ograniczeniami zadaniem 

programowania liniowego – linearyzacja. 

B. Metody bezpo

Ğrednie – zakáadają, Īe minimum leĪy na brzegu obszaru 

dopuszczalnego i poszukuj

ą rozwiązania wzdáuĪ tego brzegu. 

Metoda funkcji kary:

Rozwa

Īmy problem jednowymiarowy: 

Zajd

Ĩ minimum:

Q

 

min

x

x

o

 

 przy spe

ánieniu ograniczeĔ:

 

 

1

2

1

 

 

x

x

g

x

g

0

2

0

d



d

x

Za przekroczenie obszaru dopuszczalnego na

áoĪymy na funkcjĊ celu karĊ liczbową

tzn. utworzymy  zast

Ċpczą funkcjĊ celu 

 

 

 

x

x

x

P

Q

Q

*



 

,

gdzie:

,

w praktyce

 

0

dla

P

dla



­

  ®

f

¯

x

ĭ

x

x

ĭ



 

dla

P

L dla



­

  ®



¯

x

ĭ

x

x

ĭ

,

(idealna funkcja kary)

L

– du

Īa liczba dodatnia. 

’
L

’
L

Q(x)

)

1

Q

*

(x)

x

2

Q(x)

)

Q(x)

x

1

2

Uwaga:

Otrzymana zast

Ċpcza funkcja celu 

 

x

*

Q

 jest nieci

ągáa, zatem koncepcja nie 

nadaje si

Ċ do praktyki numerycznej.

background image

J.Stadnicki    Optymalizacja

- 77 -

Metoda zewn

Ċtrznej funkcji kary:

Wprowad

Ĩmy funkcjĊ kary postaci: 

 

 

>

@

^

`

¦

 

 

m

j

j

k

k

z

;

g

min

r

P

1

2

0

1

x

x

,

gdzie:

0

0

1



 o



!

!

f

o



k

k

k

k

k

r

,

r

r

,

r

.

Wtedy

 

 

 

 

 

>

@

^

`

 



 



 

¦

 

2

1

2

0

1

j

j

k

k

z

*

;

x

g

min

r

x

Q

P

Q

Q

x

x

x

>

@

>

@

^

`

2

2

0

2

0

1

1

;

x

min

;

x

min

r

x

k









 

Je

Īeli:

r

=1

r

=0,5

Q

*

(x)

Q

*

(x)

Q(x)

)

Q(x)

x

1

2

a)

x

(kara nie jest nak

áadana),

 

 

x

Q

x

Q

*

 

)



b)

 

2

1

1

1





 



x

r

x

x

Q

k

*

x

(kara jest nak

áadana),

c)

 

2

2

1

2

x

r

x

x

Q

x

k

*





 

!

(kara jest nak

áadana).

W punkcie minimum aktywne jest ograniczenie 

 

0

1

1

d



 

x

x

g

 , zatem zbli

Īając

si

Ċ do minimum od lewej strony mamy: 

 

2

1

ˆ

0

1

ˆ

2

1

*

k

k

r

x

x

r

x

x

Q



 

Ÿ

 





 

w

w

,

czyli

 

 

1

0

ˆ

,

995

,

0

01

,

0

ˆ

,

75

,

0

5

,

0

ˆ

,

5

,

0

1

ˆ

3

2

1

 

 

 

 

f

x

x

x

x

.

Kolejne kroki algorytmu:

1° Wybierz punkt startowy 

0

x

, podstaw 

0

 

k

.

background image

J.Stadnicki    Optymalizacja

- 78 -

2° Startuj

ąc z punktu 

k

x

rozwi

ązujemy zadanie programowania nieliniowego bez 

ogranicze

Ĕ z zastĊpczą funkcją celu. Przyjmując

0

!

 

k

r

r

 otrzymamy kolejne 

przybli

Īone rozwiązanie zadania 

 

k

k

r

xˆ

.

3° Je

Īeli dokáadnoĞü rozwiązania jest dostateczna – koĔczymy obliczenia. 

W przeciwnym przypadku podstaw 

1

1

1

!

 



 



c

gdzie

,

c

r

r

,

k

k

k

k

 i 

powró

ü do punktu 2°. 

Uwaga:

Szybko

Ğü zbieĪnoĞci algorytmu zaleĪy od:

x przyjĊcia punktu startowego 

0

x

 i sta

áych

  oraz  ,

0

r

c

x zaleca siĊ dobraü

 tak aby w punkcie startu warto

Ğci

0

r

 

0

x

Q

 i 

 

k

z

x

0

 by

áy

zbli

Īone,

x

przyjmuje si

Ċ od 4 do 10. 

c

Otrzymane w kolejnych iteracjach rozwi

ązania poĞrednie nie naleĪą do zbioru 

dopuszczalnego.

Aby to wyeliminowa

ü przesuwa siĊ granice obszaru dopuszczalnego na zewnątrz

przyjmuj

ąc:

, wtedy 

 

 

*

g

g

G



 

x

x

j

j

j

j

G

– jest marginesem powi

Ċkszającym

zbiór dopuszczalny. 

background image

Metoda wewn

Ċtrznej funkcji kary:

r

=0,01

r

=0,25

Q

*

(x)

Q

*

(x)

Q(x)

)

Q(x)

x

1

2

Wprowad

Ĩmy funkcjĊ kary postaci:

 

 

¦

 



 

m

j

j

k

k

w

g

r

P

1

1

x

x

,

gdzie:

0

0

1



 o



!

!

f

o



k

k

k

k

k

r

,

r

r

,

r

Wtedy:

 

 

 

 

 

 



 



 

¦

 

2

1

1

j

j

k

k

w

*

x

g

r

x

Q

P

Q

Q

x

x

x

¸

¹

·

¨

©

§









2

1

1

1

x

x

r

x

k

.

Je

Īeli:

a)

 uaktywnia si

Ċ ograniczenie 



o 1

x

 

x

g

1

, wtedy:

 

x

r

x

x

*





#

1

Q

,

b)

 uaktywnia si

Ċ ograniczenie 



o 2

x

 

x

g

2

, wtedy:

 

2





#

x

r

x

x

*

Q

.

W punkcie minimum aktywne jest ograniczenie 

 

0

1

1

d



 

x

x

g

 , zatem zbli

Īając

si

Ċ do minimum od prawej strony mamy: 

 

k

k

r

x

x

r

x

x

Q



 

Ÿ

 





#

w

w

1

ˆ

0

ˆ

1

1

2

*

,

czyli

1

0

ˆ

,

03

,

1

001

,

0

ˆ

,

1

,

1

01

,

0

ˆ

,

5

,

1

25

,

0

ˆ

3

2

1

 

 

 

 

f

x

x

x

x

.

Kolejne kroki algorytmu:

1° Wybierz punkt startowy 

)



0

x

, podstaw 

0

 

k

.

2° Startuj

ąc z punktu 

k

x

rozwi

ązujemy zadanie programowania nieliniowego bez 

ogranicze

Ĕ z zastĊpczą funkcją celu. Przyjmując

0

!

 

k

r

r

 otrzymamy kolejne 

przybli

Īone rozwiązanie zadania 

 

k

k

r

xˆ

.

J.Stadnicki    Optymalizacja

- 79 -

background image

J.Stadnicki    Optymalizacja

- 80 -

3° Je

Īeli dokáadnoĞü rozwiązania jest dostateczna – koĔczymy obliczenia. 

W przeciwnym przypadku podstaw 

1

1

1

!

 



 



c

gdzie

,

c

r

r

,

k

k

k

k

 i 

powró

ü do punktu 2°. 

Uwagi:

x Otrzymane w kolejnych iteracjach rozwiązania poĞrednie naleĪą do zbioru 

dopuszczalnego (punkt startowy musi le

Īeü wewnątrz obszaru dopuszczalnego!) 

x Dla poprawy efektywnoĞci numerycznej (duĪe zmiany zastĊpczej funkcji celu dla 

 powoduj

ą trudnoĞci w znalezieniu minimum) algorytmu przesuwa siĊ

granice obszaru dopuszczalnego do wewn

ątrz przyjmując:

0

o

r

 

 

j

j

*

j

g

g

H



 

x

x

,

wtedy

j

H

– jest marginesem pomniejszaj

ącym zbiór dopuszczalny.

x Pozostaáe uwagi jak w metodzie zewnĊtrznej funkcji kary. 

 Metoda mieszanej wewn

Ċtrzno-zewnĊtrznej funkcji kary:

Poniewa

Ī czĊsto minimum leĪy na brzegu obszaru dopuszczalnego, dobrą

efektywno

Ğü numeryczną w poszukiwaniu minimum wykazuje algorytm mieszany 

polegaj

ący na zbliĪaniu siĊ do minimum z zewnątrz metodą zewnĊtrznej funkcji kary 

a od wewn

ątrz metoda wewnĊtrznej funkcji kary. 

background image

PROGRAMOWANIE WIELOKRYTERIALNE 

Podczas poszukiwania rozwi

ązania optymalnego w wielu konkretnych 

sytuacjach zachodzi potrzeba rozwi

ązania zadania z uwzglĊdnieniem wiĊcej niĪ

jednego kryterium. Ponadto pomi

Ċdzy kryteriami czĊsto wystĊpuje konflikt, tzn. Īe

poprawa jednego kryterium powoduje pogorszenie si

Ċ innego (innych) 

kryteriów.

Zadanie optymalizacji, w którym formu

áuje siĊ wiĊcej niĪ jedno kryterium, 

nazywamy programowaniem wielokryterialnym (optymalizacj

ą wielokryterialną,

polioptymalizacj

ą).

Zadanie programowania wielokryterialnego:

Znajd

Ĩ wektor 

, który minimalizuje przyj

Ċty ukáad

p

 kryteriów sk

áadowych

.



x

ĭ

l

dla

 

 

p

,

,

min

q

l

!

1

o

x

Rozwi

ązanie optymalne z uwagi na jedno kryterium to rozwiązanie

polioptymalne.

Zadania programowania wielokryterialnego w przeciwie

Ĕstwie do zadania 

programowania jednokryterialnego nie da si

Ċ zdefiniowaü za pomocą relacji 

porz

ądku liniowego.

Relacja porz

ądku liniowego:

Niech dana b

Ċdzie funkcja 

 o dziedzinie 

 i zakresie 

,

okre

Ğlająca relacjĊ

 (

a

 poprzedza 

b

) mi

Ċdzy punktami przestrzeni 

.

2

1

x

,

x

f

2

R

2

R

b

a

E

2

R

Je

Īeli speánione są warunki: 

1. je

Ğli

a

b

zachodzi

nie

to

b

a

b

a

;

E

z

š

,

2. je

Ğli

c

a

zachodzi

to

c

b

b

a

E

E

E

š

,

3. je

Ğli

a

b

b

a

zachodzi

to

b

a

E

E

›

z

to jest to relacja porz

ądku liniowego. 

Np.:

y

x



 – relacja mniejszo

Ğci,

y

x

!

 – relacja wi

ĊkszoĞci,

y

x

d

 – relacja niewi

Ċksze,

 – relacja niemniejsze. 

y

x

t

Teoria nie daje odpowiedzi jak w sposób bezpo

Ğredni rozwiązaü zadanie 

programowania wielokryterialnego! 

J.Stadnicki    Optymalizacja

- 81 -

background image

J.Stadnicki    Optymalizacja

- 82 -

Sprowadzanie problemu do zadania programowania jednokryterialnego
(pseudopolioptymalizacja)

Metoda wa

Īonej funkcji celu:

Niech

>

takie,

Īe

@

T

p

,

,

U

U

!

1

0

t

l

U

 oraz 

0

z

ȡ

 b

Ċdą wagami przypisanymi 

poszczególnym kryteriom 

.

 

x

l

q

Znajd

Ĩ wektor 

x

 , który minimalizuje zast

Ċpczą funkcjĊ celu: 

, przy ograniczeniach 

 

 

¦

 

o

 

 

p

l

l

l

T

*

min

q

Q

1

x

x

q

ȡ

U



x

ĭ

.

Wagi

l

U

dobiera si

Ċ w dwóch etapach: 

1. normalizacja wag polegaj

ąca na przyjĊciu takich wartoĞci liczbowych 

 aby 

iloczyny

 by

áy liczbami tego samego rzĊdu wielkoĞci (poszczególne 

kryteria

mog

ą wyraĪaü róĪne wielkoĞci fizyczne róĪniące siĊ rzĊdem

wielko

Ğci!),

1

l

U

 

x

l

l

q

1

U

l

q

2. okre

Ğlenie waĪnoĞci poszczególnych kryteriów 

 

x

l

q

 – udzia

áów kryteriów 

 

x

l

q

w kryterium zbiorczym 

. Dobrane wagi 

 powinny spe

ániaü warunek: 

. Doboru wag dokonuje si

Ċ arbitralnie, czĊsto przy udziale zespoáu

ekspertów.

 

x

*

Q

2

l

U

¦

 

 

p

l

l

1

2

1

U

Przeniesienie zadania do przestrzeni kryteriów

Formu

áując poszczególne kryteria skáadowe

 

x

l

q

 mo

Īemy kaĪdemu punktowi 

 przyporz

ądkowaü liczbĊ

b

Ċdącą wartoĞcią danego kryterium w tym punkcie. 

x

l

q

Oznacza to, 

Īe zadanie z przestrzeni zmiennych decyzyjnych 

 przenosimy do 

przestrzeni celów 

.

n

R

p

P

Uwaga:

Īne punkty w przestrzeni zmiennych decyzyjnych mogą mieü te same 

warto

Ğci kryteriów, tzn., Īe w przestrzeni celów są jednym punktem. 

background image

Przesrze

Ĕ zmiennych decyzyjnych 

Przestrze

Ĕ celów 

n

R

p

P

)

p

)

[

q

1

1

(

x

1

1

, x

2

1

),

 q

2

1

(

x

1

1

, x

2

1

)]

[

q

1

3

(

x

1

3

, x

2

3

),

 q

2

3

(

x

1

3

, x

2

3

)]

q

1

(x)

[

q

1

2

(

x

1

2

, x

2

2

),

 q

2

2

(

x

1

2

, x

2

2

)]

q

2

(x)

[

x

1

3

, x

2

3

]

[

x

1

2

, x

2

2

]

[

x

1

1

, x

2

1

]

x

2

x

1

Metoda punktu docelowego:

Za

áóĪmy, Īe znane jest rozwiązanie idealne w przestrzeni celów, tj. punkt, w 

którym poszczególne kryteria sk

áadowe mają minimalne wartoĞci

>

@

T

*

p

*

*

q

,

,

q

!

1

 

q

.

Punkt ten nazywamy punktem docelowym.

Cz

Ċsto jest to punkt idealny niemoĪliwy do osiągniĊcia w rzeczywistoĞci.

x JeĪeli punkt docelowy 

*

p



q

ĭ

 to zadanie sprowadza si

Ċ do rozwiązania ukáadu

równa

Ĕ:

q

, którego rozwi

ązaniem jest punkt optymalny 

 b

Ċdący

rozwi

ązaniem zadania programowania wielokryterialnego. 

 

*
l

l

q

 

x

ˆ

x

Uwaga:

Dla problemu nieliniowego rozwi

ązanie powyĪszego ukáadu równaĔ moĪe byü

trudne.

x JeĪeli punkt docelowy 

*

p



q

ĭ

to zadanie sprowadza si

Ċ wyznaczenia punktu 

le

Īącego najbliĪej w sensie przyjĊtej normy od punktu docelowego. 

J.Stadnicki    Optymalizacja

- 83 -

background image

q

2

(x)

)

p

q – q

*

=

min

q

^

- punkt optymalny

q

1

(x)

q

*

- punkt docelowy 

Rozwi

ązanie zadania programowania wielokryterialnego sprowadza siĊ do 

minimalizacji metryki

min

d

*

o

q

q

przy ograniczeniach 

.

p



œ



q

ĭ

x

ĭ

Stosowane metryki: 

x metryka Minkowskiego: 

r

p

l

r

*
l

l

l

*

q

q

d

1

1

¸¸

¹

·

¨¨

©

§



 



¦

 

U

q

q

,

gdzie

l

U

– waga kryterium sk

áadowego (wyznaczona wg poprzednio omówionych 

zasad),

x metryka Euklidesa: (dla

)

2

 

r

¦

 



 



p

l

*
l

l

l

*

q

q

d

1

2

U

q

q

,

wyra

Īa geometryczną dáugoĞü wektora 

*

q

q



,

x metryka prostokątna: (dla 

)

1

 

r

¦

 



 



p

l

*
l

l

l

*

q

q

d

1

U

q

q

,

x metryka geometryczna: 

–

 



 



p

l

*
l

l

*

l

q

q

d

1

U

q

q

.

J.Stadnicki    Optymalizacja

- 84 -

background image

Rozwi

ązania Pareto-optymalne:

Rozwi

ązanie

 nazywamy niezdominowanym, je

Īeli nie istnieje 

*



x

ĭ



x

ĭ

takie,

Īe

 

 

*

l

x

l

x



 . 

Zbiór wszystkich rozwi

ązaĔ niezdominowanych nazywamy zbiorem 

kompromisów (zbiorem Pareto). 

Inaczej, dla punktów nale

Īących do zbioru kompromisów nie moĪna poprawiü

jednego z kryteriów sk

áadowych nie pogarszając któregoĞ z pozostaáych.

(-) pogorszenie kryterium

(+) poprawa kryterium

(-)

(+)

(+)

(-)

(+)

(+)

zbiór

kompromisów

)

q

q

1

(x)

q

2

(x)

W zadaniu minimalizacji 

zbiór kompromisów to 

fragment brzegu zbioru 

(zbioru

dopuszczalnego

przekszta

áconego do 

przestrzeni celów) „nie 

zas

áoniĊty” od strony 

q

ĭ

f



 przez inna cz

ĊĞü

zbioru

ĭ

.

q

Wyboru punktu optymalnego ze zbioru kompromisów (punktu Pareto-optymalnego) 
mo

Īna dokonaü za pomocą obu poznanych wczeĞniej metod. 

J.Stadnicki    Optymalizacja

- 85 -

background image

Metoda wa

Īonej funkcji celu:

Zast

Ċpczą funkcjĊ celu 

mo

Īemy potraktowaü jak 

równanie parametryczne z 

parametrem

Q

.

 

 

¦

 

o

 

 

p

l

l

l

T

*

min

q

Q

1

x

x

q

ȡ

U

*

q

2

(x)

)

q

A

B

Q

*

(

x

)

Zmieniaj

ąc wartoĞü parametru 

znajdujemy punkt wspólny 

funkcji i zbioru

.

q

ĭ

C

x

^

D

q

1

(x)

Dla problemu dwuwymiarowego wagi 

1

U

 i 

2

U

 okre

Ğlają nachylenie prostej 

.

2

2

1

1

2

1

x

x

x

,

x

Q

*

U

U



 

Wada:

Nie mo

Īna osiągnąü punktów leĪących w „zgáĊbieniu” zbioru kompromisów (np. 

punktu C). 

q

*

(x)

D

C

B

A

x

^

)

q

q

1

(x)

q

2

(x)

Metoda punktu docelowego:

Poszukujemy punktu ze zbioru 

kompromisów, który jest 

najbli

Īszy w sencie przyjĊtej

normy od punktu docelowego 

(rozwi

ązania idealnego). 

J.Stadnicki    Optymalizacja

- 86 -