background image

 

 

Programowanie 

matematyczne

• Programowanie Liniowe 

funkcja celu i funkcje ograniczeń 
są liniowe

• Programowanie Nieliniowe

funkcja celu i/lub funkcje 
ograniczeń są nieliniowe

background image

 

 

Każde zadanie minimalizacji funkcji celu

można zapisać w równoważnej formie

Ograniczenie nierównościowe typu 

można wyrazić w postaci

Ograniczenie nierównościowe można zamienić na ograniczenie 

równościowe poprzez dodanie tzw. zmiennej osłabiającej

)

(

min x

x

f

)

(

max

)

(

min

x

x

x

x

f

f

n

k

n

k

dla

g

,...,

1

,

)

(

0

x

n

k

n

k

dla

g

,...,

1

,

)

(

0

x

rs

k

n

k

dla

g

,...,

1

,

)

(

0

s

x

2

0

s

background image

 

 

Zadanie optymalizacji

•       zbiór zmiennych decyzyjnych zadania    

optymalizacji 

• n=1,...,N          

   ilość zmiennych zadania

•  

          funkcja celu

•                         

ograniczenia  równościowe 

•                                    ograniczenia 

nierównościowe

T

n

x

x

}

,...,

{

1

x

)

(x

f

r

j

n

j

dla

h

,...,

1

,

)

(

0

x

n

k

n

k

dla

g

,...,

1

,

)

(

0

x

background image

 

 

Sformułowanie zadania 

optymalizacji

Znajdź x takie, że

przy ograniczeniach

)

(

min x

x

f

r

j

n

j

dla

h

,...,

1

,

)

(

0

x

n

k

n

k

dla

g

,...,

1

,

)

(

0

x

g

d

x

x

x

background image

 

 

Podstawy matematyczne

macierz jest tablicą prostokątną o wymiarze nxm

 

ij

mn

m2

m1

2n

22

21

1n

12

11

a

a

...

a

a

a

...

a

a

a

...

a

a

A

Macierz diagonalna 

mn

22

11

a

...

0

0

0

...

a

0

0

...

0

a

A

Macierz jednostkowa

1

...

0

0

0

...

1

0

0

...

0

1

I

Macierz trójkątna górna

mn

2n

22

1n

12

11

a

...

0

0

a

...

a

0

a

...

a

a

A

mn

2n

1n

m2

22

12

m1

21

11

T

a

...

a

a

a

...

a

a

a

...

a

a

A

•Macierz A jest symetryczna gdy  

A=A

 tzn. 

a

ij

=a

ij

•Macierz A jest skośnosymetryczna gdy 

a

ij

=-a

ij

background image

 

 

Działania na macierzach

 

 

ij

mn

m2

m1

2n

22

21

1n

12

11

a

a

...

a

a

a

...

a

a

a

...

a

a

A

mn

mn

m2

m2

m1

m1

2n

2n

22

22

21

21

1n

1n

12

12

11

11

mn

m2

m1

2n

22

21

1n

12

11

mn

m2

m1

2n

22

21

1n

12

11

a

b

...

a

b

a

b

a

b

...

a

b

a

b

a

b

...

a

b

a

b

a

...

a

a

a

...

a

a

a

...

a

a

b

...

b

b

b

...

b

b

b

...

b

b

A

B

32

23

22

22

12

21

31

23

21

22

11

21

32

13

22

12

12

11

31

13

21

12

11

11

32

31

22

21

12

11

23

22

21

13

12

11

a

b

a

b

a

b

a

b

a

b

a

b

a

b

a

b

a

b

a

b

a

b

a

b

a

a

a

a

a

a

b

b

b

b

b

b

*

A

B

Iloczyn macierzy

Dodawanie macierzy

Mnożenie macierzy przez skalar

background image

 

 

Dodawanie macierzy - własności

 

)

(

)

(

C

B

A

C

B

A

Prawo łączności

 

A

B

B

A

Prawo przemienności

 

B

A

B

A

A

A

A

)

(

)

(

Prawo rozdzielności

A

0

A

Mnożenie macierzy - własności

 

)

(

)

(

BC

A

C

AB

Prawo łączności

 

BA

AB

CB

CA

B

A

C

BC

AC

C

B

A

)

(

)

(

Prawa rozdzielności

A

IA

AI

 

 

B

A

B

A

AB

)

(

Uwaga !

 

T

T

T

A

B

AB 

background image

 

 

wyznacznik macierzy

 

12

21

33

11

23

32

13

22

31

32

21

13

31

23

12

33

22

11

33

32

31

23

22

21

13

12

11

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

A

1. Jeśli macierz posiada kolumnę lub wiersz złożony z samych 

zer to

2. Wartość wyznacznika nie zmienia się jeśli zmienimy ze sobą 

kolumny lub wiersze

3. Jeśli B powstaje przez zamianę dwóch kolumn lub wierszy to 

4. Jeśli dwie kolumny lub wiersze macierzy B są równe to 

5. Pomnożenie elementów wiersza lub kolumny przez jest 

równoznaczne z pomnożeniem wyznacznika przez k

6. Wartość wyznacznika nie podlega zmianie gdy do elementów 

wiersza dodamy lub odejmiemy elementy innego wiersza 
pomnożone przez k

0

A

A

0

B

background image

 

 

Rzędem

 macierzy A nazywamy stopień największej podmacierzy 

kwadratowej której wyznacznik jest różny od zera

Gdy 

macierz jest 

osobliwa

Gdy 

macierz jest 

nieosobliwa

Minor

 D

ij

 elementu a

ij

 jest wyznacznikiem otrzymanym z macierzy 

kwadratowej przez wykreślenie i-tego wiersza i j-tej kolumny

Dopełnienie algebraiczne

 A

ij

 elementu a

ij

 jest równe (-1)

i+j

 D

ij

.

Macierzą dołączoną

 macierzy A o wymiarach nxn jest macierz 

J=[A

ij

] o wymiarach nxn, w której element  i-tego wiersza i j-tej 

kolumny jest dopełnieniem algebraicznym elementu w i-tym 
wierszu i j-tej kolumnie macierzy A

0

A

0

A

33

32

31

23

22

21

13

12

11

a

a

a

a

a

a

a

a

a

A

13

31

33

11

33

31

13

11

22

a

a

a

a

a

a

a

a

D

22

2

2

22

D

A

)

1

(

33

32

31

23

22

21

13

12

11

A

A

A

A

A

A

A

A

A

J

background image

 

 

Macierz B nazywamy 

macierzą odwrotną 

macierzy kwadratowej 

A jeśli AB=I. Macierz odwrotną oznaczamy A

-1

 

Dla każdej nieosobliwej macierzy A istnieje jedna i tylko jedna 
macierz odwrotna A

-1

 taka, że 

Gdy 

to

Tylko nieosobliwe macierze kwadratowe mają macierze odwrotne

I

A

A

AA

1

1

0

A

J

A

A

1

 1

 

1

1

1

A

B

AB

background image

 

 

(0,0)

u

1

u

2

(u

,u

2

)

u

2

1

u

u

u

Własności wektorów w dwuwymiarowej przestrzeni euklidesowej E

2

 

u

u



)

(

Prawo łączności

 

v

u

v

u

u

u

u

)

(

)

(

Prawo rozdzielności

 

0

,

0

0

1

0

u

u

u

Mnożenie wektorów przez skalar - własności

 

 

2

1

2

1

)

(

u

u

u

u

u

u

u

u

u

background image

 

 

u

v

v

u

Prawo przemienności

Dodawanie wektorów-własności

 

Prawo łączności

 

2

1

u

u

u

2

1

v

v

v

2

2

1

1

2

1

2

1

v

u

v

u

v

v

u

u

v

u

u

v

u-v

-v

u+v

w

v

u

w

v

u

W przestrzeni E

2

 istnieje tylko jeden wektor 

zerowy

 0 zwany 

punktem odniesienia

 

taki, że

u

0

u

dla każdego u w E

2

 

Dla każdego u w  E

2

 istnieje tylko jeden wektor 

przeciwny

 -u taki, że

 

0

u

u

dla każdego u w E

2

 

background image

 

 

vu

uv

Prawo przemienności

Iloczyn skalarny

 wektorów-własności

 

Wtedy i tylko wtedy gdy u=0

 

vw

uw

w

v

u

Każdej parze wektorów u i v w E

2

 odpowiada liczba rzeczywista uv=u

1

v

1

+u

2

v

2

 

zwana iloczynem skalarnym u i v.

0

0

u

u

i

wtedy i tylko wtedy gdy u=0 

 

Każdemu wektorowi u w  E

2

 odpowiada liczba rzeczywista 

zwana długością wektora u

Nierówność trójkąta

 

0

0

uu

uu

i

Dla dowolnych skalarów ,  i wektorów uv i w w E

2

Długość wektora

 

2

2

2

1

u

u

u

u

uu

u

v

u

v

u

dla każdego uv w E

2

u

1

u

2

2

2

2

1

u

u

background image

 

 

Zbiór wektorów U

1

,U

2

U

3

,...,U

n

 nazywamy 

liniowo niezależnym

gdy dla wszystkich liczb

 

1

, 

2

,...,

n

 równość

pociąga

np.

W przeciwnym razie zbiór jest 

liniowo zależny

0

U

U

U

n

2

2

...

n

1

1

U

1

=[1 0]

T

U

2

=[0 1]

T

0

n

...

2

1

0

1

1

U

0

0

1

1

0

1

2

1

2

2

1

U

U

1

1

1

2

U

 

0

0

2

2

1

0

1

1

U

0

0

1

1

1

0

0

1

3

2

1

3

3

2

2

1

1

U

U

U

1

0

2

U

0

0

3

2

3

1

1

1

3

U

1

U

1

=[

1

 0]

T

2

U

2

=[0 

2

]

T

1

U

1+ 

2

U

=[

1

 

2

]

T

background image

 

 

n – wymiarowa przestrzeń euklidesowa

  E

n

, jest zbiorem obiektów zwanych

wektorami, które posiadają własności opisane poprzednio; w przestrzeni E

n

 istnieje

układ n niezależnych wektorów, ale każde n+1 wektorów 
w jest układem liniowo zależnym.

Bazą

 w E

n

 jest zbiór liniowo niezależnych wektorów. Każdy wektor może być 

jednoznacznie wyznaczony jako kombinacja liniowa wektorów danej bazy.

Zbiory wypukłe

Wypukłą kombinacją punktów U

1

,U

2

U

3

,...,U

n

 nazywamy punkt

U=

1

U

1

+

2

U

2

+... 

n

U

n

gdzie 

i

 są skalarami spełniającymi warunki                i                   . Podzbiór C 

E

n

  jest wypukły wtedy i tylko wtedy, gdy dla każdej pary U

1

,U

2

 w C każda 

kombinacja wypukła

U=

1

U

1

+

2

U

2  

lub

 gdy

 

 

1

=1- 

2

 

U= (1- 

2

)U

1

+

2

U

,

również należy do C.

0

i

1

i

i

background image

 

 

Twierdzenie 1

Dowolny punkt leżący na odcinku łączącym dwa punkty w E

n

 może 

być wyrażony jako kombinacja wypukła tych dwóch punktów. 

Dowód

Oznaczmy dwa punkty przez V oraz punkt W leżący na odcinku 
łączącym U i V

Ponieważ kombinacja liniowa jest wypukła gdy spełnia warunek

W= (1- 

2

)V+

2

U

  

dla każdego 

przy

Więc dla  

       mamy   W =V+

(U-V)

Zatem wektor jest kombinacją wypukłą V i U.

U

V

U-V)

-V

W

U-V

0,1]

[

2

0,1]

[

2

U

V

W-V)

-V

W

U-V

1

i

i

background image

 

 

Twierdzenie 2 (odwrotne)

Dowolny punkt, który może być wyrażony jako 
kombinacja wypukła dwóch punktów w E

n

 , leżący na 

odcinku łączącym te dwa punkty.
 

Zbiory wypukłe

 

Zbiory nie wypukłe

 

Punkt  U zbioru wypukłego C nazywamy 

wierzchołkiem

, jeśli 

nie może być on wyrażony jako kombinacja wypukła dwóch różnych
punktów należących do C.

U

C

W

V

Punkt U nie leży na prostej łączącej punkty W i V.

background image

 

 

Zbiór wektorów S nazywamy 

stożkiem

, jeśli dla każdego wektora U

Należącego do S

2

 U także należy do Sgdzie 

2

 jest liczbą 

nieujemną. 

Przykładem stożków są całe przestrzenie, początek układu oraz zbiór 

S

S

Uwaga!

 Stożek zawiera początek układu ponieważ 

2

  może być równe

zeru.

Sympleks

 jest n-wymiarowym wielościanem wypukłym mającym 

dokładnie n+1 wierzchołków. W przestrzeni  E

sympleksem jest punkt,

E

1

 prosta, zaś w E

2

 trójkąt. 

S

S

background image

 

 

Nierówności liniowe

0

2

0

2

1

2

1

2

1

1

2

1

1

0

x

x

x

x

x

x

x

x

a)

b)

c)

d)

e)

(0,1)

(1,0)

(2,1)

b)

a)

c)

d)

e)

C

0

1

1

0

0

2

-

1

-

1

-

1

1

1

1

0

0

1

2

1

x

x

0

2

2

1

1

x

x

P

P

P

T

1

1

1

1

0

1

P

T

2

1

1

1

0

2

P

T

0

1

1

0

0

0

P

lub

gdzie

Obszar dopuszczalnych

 rozwiązań

background image

 

 

Układ nierówności

można zamienić na układ równości poprzez odjęcie 
(dodanie)

 zmiennej osłabiającej

 takiej, że

wówczas

m

n

mn

2

m2

1

m1

2

n

2n

2

22

1

21

1

n

1n

2

12

1

11

b

x

a

x

a

x

a

b

x

a

x

a

x

a

b

x

a

x

a

x

a

m

m

n

mn

2

m2

1

m1

2

2

n

2n

2

22

1

21

1

1

n

1n

2

12

1

11

b

s

x

a

x

a

x

a

b

s

x

a

x

a

x

a

b

s

x

a

x

a

x

a

0

0,...,s

s

m

1

x

1

>0

x

1

 -s

2

=0

s

2

Obszar dopuszczalnych

 rozwiązań

x

1

 =0

x

1

x

2

background image

 

 

Twierdzenie Kroneckera-Capelli

m

m

mxn

b

X

A

m

mxn

r

b

A

)

(

)

(

mxn

r

rz

rz

A

Jeśli dla układu (*) równań liniowych spełniony jest warunek

 

to mogą zaistnieć trzy następujące przypadki:

rz(A)=n=m, istnieje tylko jedno rozwiązanie (*)

rz(A)=n<m, istnieje jedno rozwiązanie (*), lecz (m-n) równań jest zbędnych 
(redukcja)

rz(A)=m<n, istnieje nieskończenie wiele rozwiązań układu (*), układ jest 
nieoznaczony

Układ równań liniowych

(*)

ma rozwiązanie 

wtedy i tylko wtedy, gdy rząd macierzy rozszerzonej

jest równy macierzy A, tj.

n

R

X

)

(

)

(

mxn

r

rz

rz

A

Przykład. Obliczyć rząd macierzy

2

6

1

6

)

(

0

1

6

0

0

0

0

1

0

6

0

0

0

0

0

0

0

0

0

0

0

6

0

1

0

3

0

0

0

0

0

2

0

0

0

1

3

2

0

6

0

1

0

3

0

0

0

3

0

2

0

0

0

1

4

3

3

6

2

0

3

3

1

0

0

3

1

0

2

0

0

0

1

1

4

,

1

3

,

1

2

3

5

3

3

3

1

0

0

1

3

2

2

1

1

1

1

A

rz

w

w

k

k

k

k

k

k

k

k

background image

 

 

Metody rozwiązywania układów równań

 

b

Ax

6

3

2

3

3

3

2

x

x

x

x

x

x

x

x

x

2

1

2

1

2

1

b

A

x

1

1

1

1

1

1

2

1

1

1

A

3

2

1

x

x

x

x

6

3

2

b

1

2

1

1

P

1

1

2

1

P

1

1

-

1

-

3

P

6

2

0

3

P

ponieważ

Powyższy układ (*) można zapisać w postaci kombinacji liniowej
wektorów

0

3

3

2

2

1

1

P

P

P

P

x

x

x

(*)

(**)

background image

 

 

Definiujemy n-1 czynników

Mnożymy pierwsze równanie przez m

21

 a następnie odejmujemy je od 

równania drugiego. Następnie mnożymy pierwsze równanie przez m

31

 a 

następnie odejmujemy je od równania trzeciego. Postępowanie to 
kontynuujemy aż do ostatniego równania. W ten sposób otrzymujemy

Opisaną procedurę można zastosować do końcowych n-1 równań. W tym 
celu definiujemy

Metoda Eliminacji Gaussa

m

n

mn

2

m2

1

m1

2

n

2n

2

22

1

21

1

n

1n

2

12

1

11

b

x

a

x

a

x

a

b

x

a

x

a

x

a

b

x

a

x

a

x

a

n

i

a

a

m

i

i

,...,

3

,

2

,

11

1

1

)

1

(

1

1

)

1

(

i

)

2

(

i

)

1

(

ij

1

)

1

(

ij

)

2

(

ij

)

m

(

n

)

n

(

mn

)

2

(

m2

)

2

(

2

)

n

(

2n

)

2

(

22

)

1

(

1

)

n

(

1n

)

2

(

12

)

1

(

11

,

b

m

b

b

a

m

a

a

gdzie

b

x

a

x

a

b

x

a

x

a

b

x

a

x

a

x

a

i

i

n

2

n

2

n

2

1

n

i

a

a

m

i

i

,...,

3,4

,

)

2

(

2

)

(

2

2

2

2

(*)

(**)

background image

 

 

Mnożymy drugie równanie układu (**) przez m

i2

 a następnie wynik odejmujemy od trzeciego 

równania, czwartego równania,....., n-1 równania. W k-tym kroku procedury posługujemy się
Czynnikami

i obliczamy nowe współczynniki

Po wykonaniu n-1 kroków otrzymujemy trójkątny układ równań

Ostatnie równanie zawiera jedynie zmienną x

n

. Podstawienie jej do równania otrzymanego 

wcześniej prowadzi do wyrażenia na zmienną x

n-1

, tzn. w ogólnym przypadku

n

i

a

a

m

k

kk

k

ik

i

,...,

2

k

1,

k

,

)

(

)

(

k

)

k

(

k

k

)

k

(

i

)

k

(

i

)

k

(

kj

k

)

k

(

ij

)

(

ij

b

m

b

b

a

m

a

a

i

i

k

1

1

)

m

(

n

)

n

(

mn

)

2

(

2

)

1

(

2n

)

2

(

22

)

1

(

1

)

1

(

1n

)

1

(

12

)

1

(

11

b

x

a

b

x

a

x

a

b

x

a

x

a

x

a

n

n

2

n

2

1

1

,...,

1

,

,

1

1

i

l

)

i

(

il

)

i

(

i

)

i

(

ii

n

n

i

x

a

b

a

x

n

l

i

background image

 

 

Definiujemy n-1 czynników

Mnożymy pierwsze równanie przez m

21

 a następnie odejmujemy je od 

równania drugiego. Następnie mnożymy pierwsze równanie przez m

31

 a 

następnie odejmujemy je od równania trzeciego. W ten sposób otrzymujemy

Metoda Eliminacji Gaussa - przykład

1

1

,

3

,

2

,

11

1

1

11

1

1

11

1

1

a

a

m

a

a

m

i

a

a

m

i

i

3

3

2

2

1

2

(*)

3

2

1 ,

,

,

6

3

2

2

3

3

3

m

n

x

x

x

x

x

x

x

x

x

2

1

2

1

2

1

6

3

2

)

2(*m

3

3

21

3

x

x

x

x

x

x

x

x

x

2

1

2

1

2

1

6

3

2

4

-

3

3

3

x

x

x

x

x

x

x

x

x

2

1

2

1

2

1

2

2

2

6

7

4

-

2

2

2

3

3

3

)

1

(

)

2

(

x

x

x

x

x

x

x

x

2

1

2

2

1

w

w

1

3

background image

 

 

Metoda Eliminacji Gaussa - przykład

6

3

2

)

2(*m

3

3

31

3

x

x

x

x

x

x

x

x

x

2

1

2

1

2

1

6

3

2

2

3

3

3

x

x

x

x

x

x

x

x

x

2

1

2

1

2

1

4

7

1

3

2

3

3

3

)

1

(

)

3

(

x

x

x

x

x

x

2

2

1

w

w

2

Ostatnie równanie zawiera jedynie zmienną x

n

. Podstawienie jej do równania 

otrzymanego 

wcześniej prowadzi do wyrażenia na zmienną x

n-1

, tzn. w ogólnym przypadku

1

)

2

)

1

(

3

1

(

2

1

1

)

(

2

1

1

2

1

1

,

1

3

2

)

1

(

7

3

1

)

(

7

3

1

,

1

2

0

0

4

2

1

4

2

1

,

1

1

,...,

1

,

,

1

3

)

1

(

13

2

)

1

(

12

2

l

)

1

(

1l

1

1

1

l

)

1

(

1l

)

1

(

1

)

1

(

11

1

3

3

l

3

)

2

(

23

2

1

2

l

)

2

(

2l

)

2

(

2

)

2

(

22

2

4

l

4

l

4

)

3

(

34

3

1

3

l

)

3

(

3l

)

3

(

3

)

3

(

33

3

1

i

l

)

i

(

il

)

i

(

i

)

i

(

ii

x

a

x

a

x

a

x

x

a

b

a

x

x

a

x

x

a

b

a

x

x

a

x

x

a

b

a

x

n

n

i

x

a

b

a

x

n

l

n

l

n

l

n

n

n

l

n

l

i

background image

 

 

Określenie macierzy

 odwrotnej

o

P

I

A

6

1

0

0

1

1

1

3

0

1

0

1

1

2

2

0

0

1

1

1

1

Krok 1:

Krok 2:

4

1

0

1

-

2

0

0

7

0

1

2

1

-

3

0

2

0

0

1

1

1

1

2

/

1

0

2

/

1

6

/

1

3

/

1

2

/

1

3

/

1

3

/

1

0

1

A

2

1/2

0

1/2

-

1

0

0

9

1/2

1

3/2

0

3

0

4

1/2

0

1/2

1

1

0

Krok 3:

2

1/2

0

1/2

-

1

0

0

3

1/6

1/3

1/2

0

1

0

1

1/3

1/3

-

0

0

0

1

background image

 

 

Ponieważ macierz A jest 

nieosobliwa 

       

, układ wektorów P

1

P

2

P

3

 jest 

linowo niezależny

 i wobec tego tworzy 

bazę

 w przestrzeni E

3

0

6

2

1

)

1

(

2

1

1

1

1

(-2)

-

1

1

1

-

(-1)

1

1

-

1

(-2)

(-1)

1

1

1

1

1

1

1

1

1

1

1

2

1

1

1

A

Policzmy wyznacznik macierzy A

0

6

A

0

P

P

P

n

n

2

2

1

1

...

0

n

...

2

1

Dowód nie wprost

Dla dowodu, że wektory P

1

P

... P

 macierzy nieosobliwej A tworzą układ liniowo

niezależny załóżmy najpierw, że układ ten jest liniowo zależny, wówczas dla pewnej 

j

musi być spełniona równość

Przy czym przynajmniej jedno 

j

 musi być różne od zera. 

0

P

P

P

n

n

2

2

1

1

...

background image

 

 

            . Przeczy to założeniu, że macierz A jest macierzą 
nieosobliwą. W ten sposób założenie liniowej zależności prowadzi do 
sprzeczności, więc wektory P

1

P

2

P

3

 są 

linowo niezależne

.

Podstawmy wartości wektora P

1

 do macierzy A

3

3

2

2

1

P

P

P

1

1

1

1

1

1

-

3

2

3

2

3

2

3

2

3

2

3

2

3

2

3

3

2

2

1

-

1

1

1

-

1

1

1

P

P

P

Możemy wówczas jeden z wektorów przedstawić jako kombinację liniową pozostałych.

W rozważanym przykładzie mamy

Dodając do pierwszej kolumny

3

3

2

2

P

P

 

 

 

1

1

-

1

1

-

1

1

-

-

3

2

3

2

3

2

3

2

3

2

3

2

otrzymujemy

1

1

0

1

1

0

1

1

0

A

0

A

n

n

2

1

1

n

n

1

2

2

1

...

...

P

P

P

P

P

P

2

background image

 

 

Kombinacja liniowa (**) wektorów P

1

P

2

P

3

 równa P

0

 przyjmuje postać

0

3

2

1

P

P

P

P

2

3

1

Ponieważ wektory P

1

P

2

P

3

 tworzą bazę każdy inny wektor może być 

wyznaczony jako kombinacja liniowa tych wektorów

Dla

otrzymujemy

Zatem P

4

 został wyrażony jako kombinacja liniowa P

1

P

2

P

3

 .

Wektor P

4

 jest wektorem 

osobliwym

 gdyż jest wyznaczony przez mniej 

niż n wektorów bazy

4

3

3

2

2

1

y

y

y

P

P

P

P

1

0

2

2

4

2

-

4

2

/

1

0

2

/

1

6

/

1

3

/

1

2

/

1

3

/

1

3

/

1

0

4

1

4

Y

P

A

Y

P

AY

T

4

2

4

4

P

4

3

2

1

0

2

2

P

P

P

P

4

2

1

2

2

P

P

P

background image

 

 

Postać standardowa Zadania Programowania liniowego 

Alternatywne zapisy

Znajdź wektor (x

1

,...,x

n

) który minimalizuje kombinację liniową 

(funkcję celu) 
(1.1)
Przy ograniczeniach

n

n

2

2

1

1

x

...

x

x

c

c

c

z

n

m

b

x

a

x

a

x

a

b

x

a

x

a

x

a

b

x

a

x

a

x

a

m

n

mn

2

m2

1

m1

2

n

2n

2

22

1

21

1

n

1n

2

12

1

11

n

j

,...,

2

,

1

,

0

x

j

n

j

c

z

1

j

j

x

n

j

i

j

ij

m

i

b

x

a

1

,...,

2

,

1

,

n

j

,...,

2

,

1

,

0

x

j

przy 
ograniczeniach

Zminimalizować

 funkcję

(1.2)

(1.3)

background image

 

 

cX

z

b

AX 

0

przy 
ograniczeniach

Zminimalizować 

funkcję

cX

z

0

przy 
ograniczeniach

Zminimalizować

 funkcję

0

n

n

2

2

1

1

x

...

x

x

P

P

P

P

gdzie P

j

 dla j=1,...,n jest j-tą kolumną macierzy AP

0

=b

background image

 

 

Sprowadzenie ogólnych zadań programowania liniowego

 do postaci standardowej

1. Pełne ograniczenie nierównościowe typu

ograniczenie sprowadzamy do postaci równościowej przez dodanie zmiennej
dopełniającej s>0

2. Pełne ograniczenie nierównościowe typu

ograniczenie sprowadzamy do postaci równościowej przez odjęcie zmiennej
dopełniającej s>0

Każde zadanie minimalizacji funkcji celu

można zapisać w równoważnej formie

b

AX 

0

s

,

2

b

s

AX

b

AX 

0

s

,

2

b

s

AX

)

(

min x

x

z

)

(

max

)

(

min

x

x

x

x

z

z

background image

 

 

1

1

0

0

2

1

2

1

2

1

x

x

x

x

x

x

a)

b)

c)

d)

(0,1)

(1,0)

(2,1)

b)

a)

c)

d)

C

Obszar dopuszczalnych

 rozwiązań

Podstawowe definicje

Def.1.

 Rozwiązaniem dopuszczalnym zagadnienia PL jest wektor X

(x

1

,...,x

n

) spełniający warunki (1.2) i (1.3).

Def.2a.

 Macierzą bazową B układu równań AX=b , rz(A)=mn>m, nazywamy 

nieosobliwą macierz kwadratową o wymiarach mxm utworzoną z liniowo niezależnych 
kolumn a

j

 macierzy A.

background image

 

 

Def.2a.

 Rozwiązaniem bazowym układu równań AX=b , rz(A)=m

n>m, nazywamy 
wektor X

B

=B

-1

b utworzony ze zmiennych odpowiadających 

kolumnom a

j

 macierzy 

bazowej B. Składowe wektora X

B

 noszą nazwę zmiennych bazowych.

Uwaga!

 Maksymalna ilość rozwiązań bazowych wynosi

)!

(

!

!

m

n

m

n

Def.2b.

 Rozwiązaniem bazowym dopuszczalnym nazywamy 

rozwiązanie bazowe, które spełnia warunek (1.2), czyli wszystkie 
zmienne bazowe są nieujemne. 

Def.3.

 Niezdegenerowanym rozwiązaniem bazowym dopuszczalnym 

nazywamy bazowe rozwiązanie dopuszczalne, w którym wszystkie 
zmienne bazowe są dodatnie.

Def.4.

 Minimalnym rozwiązaniem dopuszczalnym nazywamy 

rozwiązanie dopuszczalne, które minimalizuje funkcję (1.1)

0

B

0

B

background image

 

 

b

P

P

P

3

3

2

2

1

1

x

x

x

Przykład.

 Znaleźć rozwiązanie bazowe układu równań

5

4

;

5

1

2

1

2

1

;

5

1

;

1

2

2

;

2

1

3

1

b

A

P

P

P

Maksymalna liczba rozwiązań bazowych

3

2

3

2

3

 )!

(

!

!

Rząd macierzy A jest równy 2, zatem macierze B

i

, i=1,2,3, 

odpowiadające kolejnym rozwiązaniom          złożone będą z dwóch 
kolumn macierzy A . Jeśli

to

i

B

X

1

2

2

1

,

2

1

1

P

P

B

1

2

5

4

1

2

2

1

1

2

1

1

3

1

1

1

b

B

X

B

B

B

x

x

stąd

0

3

1

x

x

x

x

x

B

B

,

,

2

1

2

1

1

background image

 

 

Jeśl
i

to

5

2

1

1

,

3

1

2

P

P

B

1

-

5

5

4

1

2

1

5

3

1

1

2

2

2

1

2

b

B

X

B

B

B

x

x

stąd

0

,

,

2

3

2

2

1

2

1

x

x

x

x

x

B

B

Jeśl
i

to

5

1

1

2

,

3

2

3

P

P

B

2/3

5/3

5

4

2

1

1

5

9

1

1

3

2

3

1

3

b

B

X

B

B

B

x

x

stąd

0

,

,

1

3

3

2

2

3

1

x

x

x

x

x

B

B

background image

 

 

Przykład 

0

0

6

16

2

10

8

2

2

1

1

2

1

2

1

2

1

x

x

x

x

x

x

x

x

x

Wykażemy, że rozwiązania bazowe odpowiadają wierzchołkom wielościanu. 
Sprowadzamy układ nierówności do postaci kanonicznej dodając zmienne dopełniające.

x

1

(0,6)

(0,4)

(6,0)

x

2

x

1

+x

2

=10

-
x

1

+2x

2

=8

2x

1

+x

2

=1

6

A

B

C

D

Zbiór rozwiązań 
dopuszczalnych

1,..,6

j

0,

6

16

2

10

8

2

j

6

1

5

2

1

4

2

1

3

2

1

x

x

x

x

x

x

x

x

x

x

x

x

0

X

b

AX



1

0

0

0

0

1

0

1

0

0

1

2

0

0

1

0

1

1

0

0

0

1

2

1

A

6

16

10

8

b

background image

 

 

Rząd macierzy A jest równy 4, zatem macierze bazowe B

i

 utworzone będą z 4 kolumn

macierzy A, a każde niezdegenerowane dopuszczalne rozwiązanie bazowe

  

powinno zawierać 4 zmienne bazowe niezerowe.
1) Rozwiązanie bazowe związane z przecięciem się ograniczeń

Punkt wierzchołkowy B wynosi

2) Rozwiązanie bazowe związane z przecięciem się ograniczeń

Punkt wierzchołkowy D wynosi

0

B



1

0

0

1

0

1

1

2

0

0

1

1

0

0

2

1

,

,

,

6

5

2

1

B

P

P

P

P

B

2

2

6

4

1

B

6

B

5

B

2

B

1

1

b

B

X

B

B

B

B

B

x

x

x

x

lub

10

8,

2

2

1

2

1

x

x

x

x

 

2

2

6

4

6

5

2

1

B

x

x

x

x

B

X

 

2

2

0

0

6

4

6

5

4

3

2

1

x

x

x

x

x

x

X

0

6,

2

1

x

x



0

0

0

1

1

0

0

2

0

1

0

1

0

0

1

1

,

,

,

5

4

3

1

D

P

P

P

P

B

4

4

14

6

1

D

5

D

4

B

3

D

1

D

b

B

X

B

B

B

B

B

x

x

x

x

 

4

4

14

6

5

4

3

1

D

x

x

x

x

B

X

 

0

4

4

14

0

6

6

5

4

3

2

1

x

x

x

x

x

x

X

background image

 

 

3) Rozwiązanie bazowe związane z przecięciem się ograniczeń

Punkt wierzchołkowy C wynosi

16

0,

6,

2

1

2

1

1

x

x

x

x

x

2

1



0

0

0

1

0

0

1

2

1

0

1

1

0

1

2

1

,

,

,

4

3

2

1

C

P

P

P

P

B

0

6

4

6

1

C

4

C

3

C

2

C

1

C

b

B

X

B

B

B

B

B

x

x

x

x

 

4

4

14

6

4

3

2

1

c

x

x

x

x

B

X

 

0

0

0

6

4

6

6

5

4

3

2

1

x

x

x

x

x

x

X

Rozwiązanie         i          ma cztery zmienne niezerowe jest więc rozwiązaniem 

niezdegenerowanym. Rozwiązanie        ma tylko trzy zmienne dodatnie jest więc

rozwiązaniem zdegenerowanym. 

C

B

X

B

B

X

D

B

X

background image

 

 

Właściwości rozwiązań zadania PL

Twierdzenie.1.

 Zbiór wszystkich rozwiązań dopuszczalnych 

zagadnienia PL jest zbiorem wypukłym.

Dowód. Należy wykazać, że każda wypukła kombinacja dwóch 
rozwiązań dopuszczalnych jest również rozwiązaniem 
dopuszczalnym. Załóżmy, że istnieją dwa rozwiązania X

1

 i X

2

. Mamy 

zatem A X

1

=dla

    i A X

2

=dla

Dla 

niech 

   będzie wypukłą kombinacja 

liniową wektorów  X

1

 i X

2

. Zauważmy, że wszystkie elementy wektora 

X są nieujemne, tj.  . Zatem X jest rozwiązaniem dopuszczalnym 
ponieważ

 

0

1

0

2

b

b

b

b

AX

AX

X

X

A

AX

2

1

2

1

)

(

)

)

(

(

1

1

1

0

)

)

1

(

(

2

1

X

X

X

0

C

X

1

X

2

Jeśli zbiór jest wypukły to prosta łącząca dwa dowolne punkty zbioru należy także 
do zbioru.

background image

 

 

Twierdzenie.2.

  Funkcja celu przyjmuje wartość minimalną w punkcie wierzchołkowym 

zbioru wypukłego K, utworzonego na zbiorze rozwiązań dopuszczalnych zagadnienia 
PL. Jeśli przyjmuje wartość minimalną w więcej niż jednym punkcie wierzchołkowym to 
tę samą wartość przyjmuje dla każdej kombinacji liniowej tych punktów.
Dowód. 
Ponieważ K,  jest zbiorem wypukłym ma skończoną ilość punktów 
wierzchołkowych np.

x

1

x

2

X

1

X

2

X

3

X

4

X

5

X

6

X

o

K

X

minimalne rozwiązanie dopuszczalne

X

punkty wierzchołkowe, p=1,..,6

f(X)

 

funkcja celu

        warunek minimalizacji

dla każdego  K

Załóżmy, że X

nie jest punktem wierzchołkowym (patrz rys.) wtedy X

o

 możemy 

zapisać jako kombinację wypukłą wierzchołków zbioru K 

1

0

,

1

1

p

i

i

i

p

i

i

i

o

i

dla

X

X

)

(

)

(

X

X

f

f

o

X

background image

 

 

Ponieważ funkcja celu  f(X) jest funkcjonałem liniowym, mamy

Zauważmy, że nie zwiększamy minimum jeśli za każde           podstawimy najmniejszą 
spośród wszystkich wartości          . W związku z tym niech
Podstawiając do powyższej równości otrzymujemy

Z założenia mamy 

dla wszystkich X należących do K, zatem musi być

spełniona równość

Istnieje zatem punkt wierzchołkowy           w którym funkcja celu przyjmuje wartość
Minimalną.

min

)

(

...

)

(

)

(

)

...

,

(

)

(

p

p

2

2

1

1

2

2

1

1

1





X

X

X

X

X

X

X

X

f

f

f

f

f

f

p

p

p

i

i

i

o

 

i

i

m

f

f

X

X

min

)

(

 

i

X

 

i

X

1

i

i

o

f

f

f

f

f

),

(

)

(

...

)

(

)

(

)

(

m

m

p

m

2

m

1

X

X

X

X

X

)

(

)

(

X

X

f

f

o

min

)

(

)

(

m

 X

X

f

f

o

 

m

X

background image

 

 

Twierdzenie.3.

  Jeśli można znaleźć 

wektorów P

1

P

2

,..., P

k

 

liniowo niezależnych takich, że

oraz wszystkie 

, to punkt 

                   jest 

punktem wierzchołkowym zbioru wypukłego rozwiązań 
dopuszczalnych. jest wektorem n-wymiarowym, którego n-k 
ostatnich elementów jest równych zeru.

Dowód Załóżmy, że X nie jest punktem wierzchołkowym. Ponieważ 

jest rozwiązaniem dopuszczalnym może być wyrażony jako 
kombinacja wypukła dwóch dowolnych punktów X

1

 i X

2

 ze zbioru 

K co zapisujemy

Ponieważ wszystkie elementy wektora X są nieujemne  i 

wektory X

1

 i X

2

 

przyjmują postać

Ponieważ X

1

 i X

2

 są rozwiązaniami dopuszczalnymi zatem A X

1

= i 

A X

2

=b. W postaci wektorowej równania te przyjmują postać

Aby oba równania były zgodne musi być spełniony warunek

Wobec tego punkt X nie może być wyrażony jako kombinacja 

wypukła X

1

 i X

2

 i musi być punktem wierzchołkowym

m

o

k

k

2

2

1

1

...

P

P

P

P

x

x

x

0

i

x

)

0

,...,

0

,

,...,

,

(

k

2

1

x

x

x

X

)

)

1

(

(

2

1

X

X

X

1

0

0

i

x

1

0

)

0

,...,

0

,

,...,

,

(

),

0

,...,

0

,

,...,

,

(

)

2

(

k

)

2

(

2

)

2

(

1

2

)

1

(

k

)

1

(

2

)

1

(

1

1

x

x

x

x

x

x

X

X

0

k

)

2

(

k

2

)

2

(

2

1

)

2

(

1

0

k

)

1

(

k

2

)

1

(

2

1

)

1

(

1

...

...

P

P

P

P

P

P

P

P

x

x

x

i

x

x

x

)

2

(

i

)

1

(

i

x

x

x

i

background image

 

 

Twierdzenie.4.

  Jeśli

 

jest punktem wierzchołkowym 

zbioru K, to wektory odpowiadające dodatnim x

i

 tworzą zbiór 

liniowo niezależny. Dodatnich x

i

 jest co najwyżej m. 

Wniosek 1.

  Każdemu punktowi wierzchołkowemu zbioru K 

odpowiada zbiór m wektorów liniowo niezależnych z danego 
zbioru 
P

1

P

2

,..., P

n

 .

Twierdzenie.5.

  Punkt

 

jest punktem 

wierzchołkowym zbioru K, wtedy i tylko wtedy, gdy w kombinacji 
linowej wektorów niezależnych 
P

j

Współczynniki x

j

 są dodatnie

Wnioski

1. Istnieje punkt wierzchołkowy zbioru K, w którym funkcja celu 

przyjmuje minimum

2. Każde bazowe rozwiązanie dopuszczalne jest punktem 

wierzchołkowym zbioru K

3. Każdemu punktowi wierzchołkowemu zbioru K  odpowiada m 

wektorów liniowo niezależnych z danego zbioru n wektorów 
związanych z tym punktem.

)

,...,

,

(

n

2

1

x

x

x

X

)

,...,

,

(

n

2

1

x

x

x

X

n

j

o

j

j

x

1

P

P

background image

 

 

Interpretacja geometryczna zadania PL

Zagadnienie PL można przedstawić w postaci kanonicznej gdzie 
przestrzeń rozwiązań

jest przestrzenia działania

Znaleźć        

takie, że

gdzie

lub w przestrzeni wektorów 

, zwanej przestrzenią wymagań 

(ograniczeń) w
postaci

Znaleźć        

takie, że

gdzie

Hiperpłaszczyzną nazywamy obiekt określony jednym warunkiem 
liniowym w E

n

cX

X

c

X

X

0

min

ˆ

n

m

n

R

R

czym

przy

R

c

b

0

b

AX

X

X

X

,

,

,

:

0

n

R

X

m

R

b

X

ˆ

X

ˆ

cX

X

c

X

X

0L

min

ˆ

ˆ

z

n

m

n

R

R

czym

przy

R

c

b

X

0

X

b

AX

X

X

,

,

,

,

,

:

0L

background image

 

 

Interpretacja geometryczna zadania PL

W przestrzeni działań jeśli zbiór rozwiązań dopuszczalnych

         jest 

ograniczony,

to tworzy on wielościan wypukły S. Wyrażenie z=cX określa w 
przestrzeni R

n

 rodzinę równoległych hiperpłaszczyzn, prz czym 

wektor –c prostopadły do tych hiperpłaszczyzn wskazuje kierunek 
malenia funkcji z. Wychodząc z pewnej hiperpłaszczyzny należącej 
do tej rodziny i mającej wspólne punkty z wieloscianem S, przy 
przesuwaniu jej rónolegle w kierunku malenia z, można dojść do 
takiego jej położenia, że staje się ona hiperpłaszczyzną podpierającą. 
Jeśli ta hiperpłaszczyzna ma tylko jeden punkt wspólny ze zbiorem 
X

0

 to punkt ten będzie punktem wierzchołkowym i zadanie PL ma 

jedyne rozwiązanie optymalne.

n

m

n

R

R

czym

przy

R

c

b

0

b

AX

X

X

X

,

,

,

:

0

x

2

minimum

Zbiór 
rozwiązań 
dopuszczalnyc
h

x

1

-c

-c

-c

x

2

minimum

Zbiór 
rozwiązań 
dopuszczalnyc
h

x

1

-c

-c

-c

background image

 

 

Interpretacja geometryczna zadania PL

W przestrzeni wymagań R

m

 zbiór wektorach P

i

i=1,...,generuje 

wypukły stożek wielościenny C. Jeśli wektor b (P

0

) zawarty jest w 

tym stożku, to istnieje rozwiązanie dopuszczalne zadania PL. Przy 
założeniu, że rząd macierzy A jest równy m więc liniowo 
niezależnych wektorów P

i

 jest tylko m, przy czym wektory te tworzą 

bazę w R

m

. Jeśli wektor b (P

0

) należy do stożka rozpiętego na 

wektorach P

i

i=1,...,to rozwiązanie dopuszczalne jest 

rozwiązaniem bazowym jest ograniczony,

b

2

b

1

P

3

P

2

P

1

P

0

background image

 

 

Metoda sympleksów 

Rozwiązanie zadania PL metodą sympleksów polega na tym, że 

poczynając od określonego wierzchołka wielościanu wypukłego, 
będącego zbiorem rozwiązań dopuszczalnych, w kolejnych 
krokach wybieramy wierzchołki położone coraz bliżej 
wierzchołka optymalnego, tzn. odpowiadającemu optymalnemu 
bazowemu rozwiązaniu dopuszczalnemu. 

W metodzie sympleksów należy określić

1. Sposób przechodzenia z bazy do bazy

2. Kryterium zbieżności, kryterium zatrzymania procedury

3. Metodę wyznaczania początkowego bazowego rozwiązania 

dopuszczalnego

4. Sposób postępowania przy pojawieniu się zdegenerowanych 

rozwiązań bazowych

background image

 

 

Metoda sympleks do rozwiązywania zadania PL

W programowaniu liniowym szukamy optimum poruszając się po punktach 
ekstremalnych zbioru punktów dopuszczalnych Xo. W każdym punkcie ekstremalnym 
przynajmniej n-m zmiennych przyjmuje wartość zero. Reszta jest określona równaniem
AX=b. Za pomocą metody sympleks przeszukujemy wierzchołki zbioru punktów 
dopuszczalnych w uporządkowany sposób, generując kolejne punkty x

1

x

2

, ... ,x

k

W każdym punkcie x

k

 n-m zmiennych, które w punkcie x

k

 mają wartości  zerowe nazy-

wamy zmiennymi niebazowymi (zbiór indeksów tych zmiennych oznaczymy N

k

). Na-

tomiast pozostałe m zmiennych nazywamy zmiennymi bazowym (zbór indeksów B

k

). 

Wektor zmiennych oznaczamy

X=[X

B

 X

N

]

Odpowiednio macierz ograniczeń przyjmuje postać

A=[A

B

 A

N

]

background image

 

 

Macierz A

B

 o wymiarze mxm nazywamy macierzą bazowąA

N

 o wymiarze mx(n-m

macierzą niebazową. Macierz A

B

 nie może być osobliwa. Dla zmiennych niebazowych

Przyjmujemy wartość zero, a wartości zmiennych bazowych wybieramy tak, aby był
spełniony układ pełnych ograniczeń liniowych. Wówczas równanie AX=b można 
zapisać

Jeśli zmienne bazowe także przyjmują wartość zero wówczas mówimy o rozwiązaniu 
Zdegenerowanym. Punkt wierzchołkowy odpowiadający wybranej bazie ma następują-
ce wartości współczynników

0

,

k

N

N

N

B

B

N

B

N

B

X

b

X

A

X

A

X

X

A

A

 

b

A

b

0

b

X

X

X

1

B

k

k

N

B

k

gdzie ˆ

,

ˆ

background image

 

 

Kryterium optymalności bazowego rozwiązania dopuszczalnego

Wartość funkcji celu w bazowym rozwiązaniu dopuszczalnym wyraża się wzorem

Funkcję bazową wyrażoną za pomocą zmiennych niebazowych f(X

N

) nazywamy 

funkcją zredukowaną. Jeśli wszystkie współczynniki w zredukowanej funkcji celu są
większe lub równe zeru to rozwiązanie jest rozwiązaniem X

k

 optymalnym.

        jest oznacza ceny zredukowane w bazowym rozwiązaniu dopuszczalny. Kryterium
optymalności brzmi

punkt X

k

 jest optymalny, jeśli 

  

 

N

N

B

N

N

B

B

X

A

A

b

X

A

b

A

X

1

ˆ

1

b

c

x

c

ˆ

ˆ

T

B

k

T

f

 

 

 

N

N

N

N

B

T

B

T

N

N

N

B

T

B

N

T

N

N

T

N

N

N

B

T

B

N

T

N

B

T

B

B

f

f

f

f

X

c

X

A

A

c

c

X

A

A

c

X

c

X

c

X

A

A

b

c

X

c

X

c

X

ˆ

ˆ

ˆ

ˆ

ˆ

)

(

1

1

1

N

cˆ

0

N

ˆ

background image

 

 

Wektor zmiennych bazowych dla nowej zmiennej x

q

 jest wyrażony wzorem

Wektor a

q

 oznacza kolumnę macierzy pełnych ograniczeń równościowych, 

odpowiadającą zmiennej  x

q

, którą wprowadzamy do bazy. Jeśli  d

i

<0 to zwiększenie  x

q

zmniejsza wartość zmiennej bazowej  x

i

 Zmienna  x

i

 osiąga wartość 0 gdy

Zatem indeks p zmiennej wyprowadzanej z bazy określa się jako

Wybór zmiennej wprowadzanej do bazy

i

N

i

q

c

c

ˆ

min

ˆ

Jeśli warunek 

nie jest spełniony to wybieramy nową zmienną x

q

, która 

wchodzi do bazy, przy czym ta zmienna jest wybierana na podstawie kryterium

0

N

ˆ

Wybór zmiennej wyprowadzanej z bazy

 

 

q

B

q

B

B

gdzie

a

A

d

d

b

a

A

b

X

1

1

,

ˆ

ˆ

q

q

x

x

i

i

q

d

b

x

ˆ

j

j

d

B

j

p

p

d

b

d

b

j

ˆ

min

ˆ

0

background image

 

 

Tablicowa postać metody sympleks

Wykorzystywane równania

Organizacja danych

b

X

A

X

A

N

N

B

B

 

 

b

A

X

A

A

IX

1

B

N

N

B

B

1

b

A

0

c

B

T

)

(

b

A

I

c

0

B

ˆ

ˆ

ˆ

ˆ

)

(

N

T

N

T

f

f

0

X

X

5

.

0

3

1

4

3

2

min

4

3

1

4

3

2

1

4

3

2

1

x

x

x

x

x

x

x

x

x

x

x

5

.

0

3

1

0

1

1

1

1

1

1

0

4

3

2

1

2

1

x

x

background image

 

 

5

.

0

4

0

1

0

0.5

3

-

1

0

1

1.5

-

1

-

2

0

0

5

.

0

3

1

0

1

1

1

1

1

1

0

4

3

2

1

2

1

x

x

5

.

0

5

.

0

,

,

,

4

3

2

1

b

c

c

X

X

4

3

2

1

N

B

N

B

x

x

x

x

3

-

1

1

1

,

1

-

1

1

0

,

0

1

1

1

N

B

B

A

A

A

1

Dane:

k=1

b

A

I

c

0

B

ˆ

ˆ

ˆ

ˆ

)

(

N

T

N

T

f

f

 

N

B

T

B

T

N

N

A

A

c

c

c

1

ˆ

 

N

B

N

A

A

A

1

ˆ

 

b

A

b

1

ˆ

B

b

ˆ

ˆ

T

B

gdzie

Wektor cen 
zredukowanych

Sprawdzamy kryterium optymalności. Ponieważ jedna z cen nie jest dodatnia 
wyznaczony punkt nie jest optymalnym. Zmienna dla której                         wchodzi do 
nowej bazy. Jest to zmienna x

4

i

N

i

q

c

c

ˆ

min

ˆ

background image

 

 





j

j

d

B

j

j

j

d

B

j

d

b

d

b

j

j

ˆ

max

lub

,

ˆ

min

0

0

W celu określenia zmiennej opuszczającej bazę sprawdzamy kryterium

W naszym przypadku otrzymujemy min(0.5/3; -0.5/4)   jest  (-0.5/4) stąd zmienna x

2

opuszcza bazę

k=2

5

.

0

4

0

1

0

0.5

3

-

1

0

1

1.5

-

1

-

2

0

0

8

/

1

1

0

1/4

0

7/8

0

1

3/4

1

3/8

-

0

2

1/4

0

4

1

x

x

Ponieważ wszystkie ceny zredukowane  są dodatnie więc 
wyznaczony punkt jest punktem optymalnym.

background image

 

 

podsumowanie 

c

i

- z

i

 -  wskaźniki optymalności. Dla zmiennych bazowych wskaźniki 

optymalności są zawsze równe zero

Kryterium optymalności

Rozwiązanie jest optymalne, jeżeli wartości wszystkich wskaźników 

optymalności są niedodatnie

Kryterium wejścia do bazy
Do bazy wchodzi zmienna, która ma największą wartość wskaźnika 

optymalności. Jeżeli największa wartość wskaźnika optymalności 
odpowiada więcej niż jednej zmiennej, wybieramy zmienną o 
najniższym indeksie.

Kryterium wyjścia z bazy

Obliczamy ilorazy wyrazów wolnych (kolumna b

i

) przez elementy 

(tylko dodatnie) kolumny zmiennej wchodzącej do bazy. Bazę 
opuszcza ta zmienna, dla której obliczony iloraz jest najmniejszy. 
Jeżeli najmniejsza wartość ilorazu występuje dla więcej niż jednej 
zmiennej, to jako zmienną opuszczającą bazę można wybrać 
dowolną zmienną. 

background image

 

 

Metoda sympleksów - Przykład

Standardowa postać zadania

Znajdź wektor (x

1

,...,x

n

) który maksymalizuje kombinację liniową 

(funkcję celu) 

Przy ograniczeniach

2

1

3x

2x 

z

16

4

8

2

14

2

2

2

1

1

2

1

x

x

x

x

x

2

,

1

,

0

x

j

j

5

4

3

2

1

x

0

x

0

x

0

3x

2x

z

2,...,5

,

1

,

0

x

j

j

przy 
ograniczeniach

n=5, m=3

Zminimalizować

 funkcję

16

4

8

2

14

2

2

5

4

2

3

x

x

x

x

x

x

x

x

1

1

2

1

background image

 

 

c

T

x

3

0

0

0

 

 

x

b

c

b

x

1

x

2

x

3

x

4

x

5

b

i

x

3

0

x

4

0

x

5

0

Zj

 

 

 

Cj-

zj

 

 

5

4

3

2

1

x

0

x

0

x

0

3x

2x

z

background image

 

 

c

T

x

3

0

0

0

 

 

x

b

c

b

x

1

x

2

x

3

x

4

x

5

b

i

x

3

0

1

0

0

14

x

4

0

x

5

0

Zj

 

 

 

Cj-

zj

 

 

16

0

0

4

8

0

0

2

14

2

2

5

4

3

5

4

3

2

5

4

3

x

x

x

x

x

x

x

x

x

x

x

x

x

x

1

1

2

1

0

0

background image

 

 

c

T

x

3

0

0

0

 

 

x

b

c

b

x

1

x

2

x

3

x

4

x

5

b

i

x

3

0

1

0

0

14

x

4

0

1

0

1

0

8

x

5

0

Zj

 

 

 

Cj-

zj

 

 

16

0

0

4

8

0

0

2

14

2

2

5

4

3

5

4

3

2

5

4

3

x

x

x

x

x

x

x

x

x

x

x

x

x

x

1

1

2

1

0

0

background image

 

 

c

T

x

3

0

0

0

 

 

x

b

c

b

x

1

x

2

x

3

x

4

x

5

b

i

x

3

0

1

0

0

14

x

4

0

1

0

1

0

8

x

5

0

4

0

0

0

1

16

z

j

c

b

T

x

b

 

0*+0

*1+0*

4=0

0

0

0

0

 

 

cj-zj

-0=

3-
0=3

0

0

0

 

 

16

0

0

4

8

0

0

2

14

2

2

5

4

3

5

4

3

2

5

4

3

x

x

x

x

x

x

x

x

x

x

x

x

x

x

1

1

2

1

0

0

5

4

3

2

1

x

0

x

0

x

0

3x

2x

z

Kryterium wejścia do bazy: max (c

j

z

j

); max(2,3,0,0,0)=3 

zatem zmienna x

2

 wchodzi do bazy 

wskaźnik 
optymalności

background image

 

 

16

0

0

4

8

0

0

2

14

2

2

5

4

3

5

4

3

2

5

4

3

x

x

x

x

x

x

x

x

x

x

x

x

x

x

1

1

2

1

0

0

5

4

3

2

1

x

0

x

0

x

0

3x

2x

z

Kryterium wyjścia z bazy: min (b

i

/x2); min(7,4,-,)=4 

zatem zmienna x

4

 opuszcza bazę 

wskaźnik 
optymalności

c

T

x

3

0

0

0

 

 

x

b

c

b

x

1

x

2

x

3

x

4

x

5

b

i

bi/x

x

3

0

1

0

0

14

14/

=7

x

4

0

1

0

1

0

8

8/

=4

x

5

0

4

0

0

0

1

16

-

z

j

c

b

T

x

b

 

0*+0

*1+0*

4=0

0

0

0

0

 

 

Cj-

zj

-0=

3-
0=3

0

0

0

 

 

background image

 

 

Zatem zmienna 

x

2

wchodzi do bazy na miejsce zmiennej 

x

4

. Teraz 

wektorami bazy są x

, x

, x

5

. Dla nowych wektorów bazowych należy 

utworzyć macierz bazową 

Def.2a.

 Macierzą bazową B układu równań AX=b , rz(A)=mn>m

nazywamy 

nieosobliwą macierz kwadratową o wymiarach mxm utworzoną z 
liniowo niezależnych 

kolumn a

j

 macierzy A.

W tym celu odejmujemy od pierwszego wiersza drugi i dzieląc drugi 
przez dwa otrzymujemy

background image

 

 

Kryterium wejścia do bazy: max (c

j

z

j

); max(0.5,0,0,-1.5,0)=0.5 

zatem zmienna x

1

 wchodzi do bazy 

c

T

x

3

0

0

0

 

 

x

b

c

b

x

1

x

2

x

3

x

4

x

5

b

i

bi/x

x

3

0

1

0

1

-1

0

6

x

2

3

1/2

1

0

1/2

0

4

x

5

0

4

0

0

0

1

16

z

j

c

b

T

x

b

 

 

 

Cj-

zj

 

 

1.5

3

0

1.5

0

0.5

0

0

-1.5

0

background image

 

 

c

T

x

3

0

0

0

 

 

x

b

c

b

x

1

x

2

x

3

x

4

x

5

b

i

bi/x

x

3

0

1

0

1

-1

0

6

x

2

3

1/2

1

0

1/2

0

4

x

5

0

4

0

0

0

1

16

4

z

j

c

b

T

x

b

 

 

 

Cj-

zj

 

 

1.5

3

0

1.5

0

0.5

0

0

-1.5

0

6/1=6

8

Kryterium wyjścia z bazy: min (b

i

/x2); min(6,8,4,)=4 

zatem zmienna x

5

 opuszcza bazę 

background image

 

 

c

T

x

3

0

0

0

 

 

x

b

c

b

x

1

x

2

x

3

x

4

x

5

b

i

bi/x

x

3

0

0

0

1

-1

-

1/4

2

x

2

3

0

1

0

1/2

-

1/8

2

x

1

2

1

0

0

0

1/4

4

z

j

c

b

T

x

b

 

 

 

Cj-

zj

 

 

Zatem zmienna 

x

1

wchodzi do bazy na miejsce zmiennej 

x

5

. Teraz wektorami bazy są x

3

,

 x

, x

1

. Przeprowadzamy obliczenia (2w)*2, (1w)-(2w), (3w)/4 i (2w)-(3w), (1w)+(2w) 

i (2w)/2

2

3

0

1.5 1/8

0

0

0

-1.5 -1/8

Ponieważ wszystkie wskaźniki optymalności są mniejsze bądź równe 
zero uzyskane rozwiązanie jest rozwiązaniem optymalnym, 

x

1

=4

x

2

=2

, f(

x

1

, x

)=2* 

4

 +3* 

2

=14

background image

 

 

Programowanie nieliniowe bez ograniczeń 

Minimum globalne 

Funkcja f(X) osiąga minimum globalne w punkcie       jeśli 

dla każdego X należącego do zbioru rozwiązań dopuszczalnych S.

Minimum lokalne

Funkcja f(X) osiąga minimum lokalne w punkcie       jeśli istnieje 
otwarte otoczenie U 

punktu      , że

)

(

)

ˆ

(

X

X

f

f

X

ˆ

X

ˆ

X

ˆ

f(x)

x

A

B

C

D

x

A

B

C

D

f(x)

x=b

x=a

n

R

U

U

f

f

i

U

,

),

(

)

ˆ

(

ˆ

X

X

X

X

E

F

background image

 

 

Gradient funkcji

Definicja

 Jeżeli funkcja f(X) i jej wszystkie pierwsze pochodne są ciągłe na pewnym 

podzbiorze E

n

 to dla każdego punktu     w tym podzbiorze określamy n-elementowy 

wektor kolumnowy                 zwany gradientem f(X)  w punkcie     , jako

jest wektorem prostopadłym do warstwicy f(X) przechodzącej wrzez X 

T

x

f

x

f

x

f

x

f

x

f

x

f

f

n

2

1

n

2

1

)

ˆ

(

)

ˆ

(

)

ˆ

(

)

ˆ

(

)

ˆ

(

)

ˆ

(

)

ˆ

(

X

X

X

X

X

X

X

X

ˆ

)

ˆ

(X

f

X

ˆ

)

ˆ

(X

f

x

2

x

1

x

2

f(x

1

,x

2

)=const

)

ˆ

(X

f

X

ˆ

x

3

x

1

X

ˆ

)

ˆ

(X

f

f(x

1

,x

2

,x

3

)=const

f(x)

x

0

)

(

2

x

x

x

f

0

)

(

1

x

x

x

f

background image

 

 

Macierz Hessianu

Definicja

 Jeżeli funkcja f(X) i jej wszystkie pierwsze i drugie pochodne są ciągłe 

na pewnym podzbiorze E

n

 to dla każdego punktu     w tym podzbiorze określamy

 nxn-elementową macierz                 zwaną macierzą Hessianu funkcji f(X)
w punkcie     , jako

n

n

2

2

n

2

1

n

2

n

2

2

2

2

2

1

2

2

n

1

2

2

1

2

1

1

2

2

2

)

ˆ

(

)

ˆ

(

)

ˆ

(

)

ˆ

(

)

ˆ

(

)

ˆ

(

)

ˆ

(

)

ˆ

(

)

ˆ

(

ˆ

ˆ

)

ˆ

(

)

ˆ

(

x

x

f

x

x

f

x

x

f

x

x

f

x

x

f

x

x

f

x

x

f

x

x

f

x

x

f

f

f

X

X

X

X

X

X

X

X

X

X

X

X

X

X

ˆ

)

ˆ

(X

f

2

X

ˆ

)

ˆ

(

)

ˆ

(

2

X

X

H

f

background image

 

 

Konieczne i wystarczające warunki optymalności

Warunki jakie musi spełniać punkt optymalny nazywane są 

warunkami koniecznymi

Jeśli punkt nie spełnia tych warunków to nie jest punktem 

optymalnym. Spełnienie

jednak tych warunków nie wystarcza do tego aby określić czy punkt 

jest optymalny. 

Punkt spełniający warunki konieczne jest punktem podejrzanym o to, 

że może być 

optymalny .
Jeśli punkt spełniający warunki konieczne spełnia także warunki 

wystarczające wówczas

Jest to punkt optymalny.

Podsumowanie

1. Punkt optymalny musi spełniać warunki konieczne optymalności. 

Punkt, który nie s
pełnia tych warunków nie może być punktem optymalnym.

2. Punkt spełniający warunki konieczne nie musi być optymalny np. 

punkty 
nieoptymalne mogą spełniać warunki konieczne

3. Punkt podejrzany o optimum i spełniający warunki wystarczające 

jest punktem
optymalnym.

4. Jeżeli warunki wystarczające nie mogą być użyte lub nie są one 

spełnione to 
wówczas nie jesteśmy w stanie nic powiedzieć o optymalności 
punktu. 

Warunki optymalności są wykorzystywane w dwóch przypadkach:

chcemy sprawdzić czy dany punkt projektowy może być punktem 
optymalnym

warunków optymalności mogą być rozwiązane dla punktu, który 
może być 

optymalnym

background image

 

 

Procedura określania warunków optymalności punktu spełniającego 
minimum lokalne funkcji f jednej zmiennej

Warunki optymalności

 są używane do określania 

punktu minimum

 

funkcji f(x

Warunki konieczne

 optymalności muszą być spełnione w 

punkcie 

minimum

 funkcji,

w przeciwnym wypadku punkt ten nie może być punktem minimum.

Niech        będzie punktem lokalnego minimum funkcji f(x). Niech X 
będzie bliskim sąsiadem punku       . Zdefiniujmy przyrost d zmiennej 
i wartości funkcji         , oraz jej wartość               w punkcie

xˆ

f

)

ˆ

(

)

(

,

ˆ

x

f

x

f

f

i

x

x

d

d

f

0

)

ˆ

(

)

(

x

f

x

f

f

warunek optymalności

Jeżeli     jest punktem minimum to zaburzając położenie
nie zwiększamy wartości funkcji

 

xˆ

)

ˆ

(x

f

xˆ

xˆ

xˆ

xˆ

x

background image

 

 

Warunek konieczny optymalności pierwszego rzędu

 

Rozwińmy w szereg Taylora funkcję f(x) w punkcie

Pomijając wyrazy wyższego rzędu otrzymujemy

Z warunku 

otrzymujemy

Ponieważ  d morze być zarówno dodatnie jak i ujemne więc aby był zawsze spełniony
powyższy warunek pochodna funkcji musi być równa zero, co zapisujemy

wówczas        jest punktem minimum funkcji f.

R

d

x

d

x

f

d

d

x

d

x

df

x

f

x

f

R

x

x

x

d

x

f

d

x

x

x

d

x

df

x

f

x

f

f

d

d

2

2

2

2

2

2

ˆ

)

ˆ

(

2

1

ˆ

)

ˆ

(

)

ˆ

(

)

(

)

ˆ

(

ˆ

)

ˆ

(

2

1

)

ˆ

(

ˆ

)

ˆ

(

)

ˆ

(

)

(

d

x

d

x

df

f

ˆ

)

ˆ

(

0

)

ˆ

(

)

(

x

f

x

f

f

0

ˆ

)

ˆ

(

d

x

d

x

df

f

0

ˆ

)

ˆ

(

x

d

x

df

xˆ

xˆ

background image

 

 

Warunek wystarczający optymalności

Punkt podejrzany o ekstremum musi spełniać konieczne warunki optymalności
Podstawiając do szeregu Taylora otrzymujemy

Z warunku 

otrzymujemy

Warunek konieczny optymalności drugiego rzędu

Jeśli 

wówczas  nie możemy założyć, że punkt     nie jest punktem minimum.

Należy sprawdzić warunek

jest to warunek konieczny drugiego rzędu.

Jeśli 

punkt  nie może być lokalnym minimum.

W przypadku gdy

    należy sprawdzić jak zachowują się pochodne wyższych 

rzędów. Wartość nieparzystej pochodnej mówi nam czy są spełnione warunki konieczne 
optymalności, znak parzystej pochodnej mówi nam czy są spełnione warunki 
wystarczające i czy punkt wyznacza minimum funkcji. 
     

0

f

0

ˆ

)

ˆ

(

x

d

x

df

R

d

x

d

x

f

d

f

R

x

x

x

d

x

f

d

x

f

x

f

d

2

2

2

2

2

2

ˆ

)

ˆ

(

2

1

,

)

ˆ

(

ˆ

)

ˆ

(

2

1

0

)

ˆ

(

)

(

0

ˆ

)

ˆ

(

2

2

x

d

x

f

d

0

ˆ

)

ˆ

(

2

2

x

d

x

f

d

xˆ

0

ˆ

)

ˆ

(

2

2

x

d

x

f

d

0

ˆ

)

ˆ

(

2

2

x

d

x

f

d

xˆ

0

ˆ

)

ˆ

(

2

2

x

d

x

f

d

background image

 

 

Przykład 1. Określenie punktu minimum przy użyciu warunków 
koniecznych

4

4

2

x

x

x

)

(

4

)

(

 x

dx

x

df

2

0

4

)

(

2

2

2

x

dx

x

f

d

warunek 
konieczny

2

x

0,

4

2

0

)

(

x

dx

x

df

warunek 
wystarczający

Zatem x=2 jest minimum lokalnym funkcji f a jej wartość w tym 
punkcie wynosi 0.

Przykład 2. Określenie punktu minimum przy użyciu warunków 
koniecznych

4

4

)

(

3

x

x

x

x

f

2

4

2

-

3

)

(

2

x

x

dx

x

df

warunek 
konieczny

8685

.

0

x

535,

.

1

x

0,

4

2

-

3

0

)

(

B

A

2

x

x

dx

x

df

2

x

)

(x

f

4

x

)

(x

f

1   2

5

-2

B

A

warunek 
wystarczający

0

211

.

7

)

(

0,

.

7

)

(

2

2

2

2

B

A

x

x

dx

x

f

d

dx

x

f

d

211

Punkt B jest lokalnym maksimum, zaś punkt A lokalnym minimum

background image

 

 

Przykład 3. Określenie punktu minimum przy użyciu warunków 
koniecznych

4

)

(

x

x

f

2

2

2

3

1

)

(

,

4

)

(

x

dx

x

f

d

x

dx

x

df

2

0

)

(

1

)

(

0

2

2

2

0

2

x

dx

x

f

d

warunek 
konieczny

0

3

x

0,

4

0

)

(

x

dx

x

df

warunek 
wystarczający

Ponieważ druga pochodna funkcji f w punkcie x=0 jest równa zero 
należy zbadać znak trzeciej pochodnej

Należy zatem policzyć kolejną pochodną

x

)

(x

f

Zatem punkt x=0 jest punktem lokalnego a także 
globalnego minimum.

0

)

0

(

2

)

(

0

3

3

4

x

dx

x

f

d

0

24

)

(

0

4

4

x

dx

x

f

d

background image

 

 

Warunki optymalności dla funkcji wielu zmiennych f(X)

Rozwińmy w szereg Taylora funkcję f(X) w punkcie

(*)

Załóżmy, że funkcja osiąga minimum w punkcie       wtedy przyrost funkcji musi 
zatem spełniać warunek
(**)
Pomijając wyrażenia wyższego rzędu zauważamy, że warunek (**) dla dowolnego d
jest spełniony gdy
(***)

(warunek konieczny I rzędu)

Punkt spełniający warunek (***) jest nazywany punktem stacjonarności. Podstawiając 
(***) do wzoru (*) i uwzględniają (**) otrzymujemy dla dowolnego    
(****)

 (warunek konieczny II rzędu)

Warunek (****) jest spełniony jeżeli macierz H jest dodatnio określona

R

f

f

R

f

f

f

T

T

T

T

d

X

H

d

d

X

d

X

H

d

d

X

X

X

)

ˆ

(

2

1

)

ˆ

(

)

ˆ

(

2

1

)

ˆ

(

)

ˆ

(

)

(

X

ˆ

0

f

0

)

ˆ

(

f

0

)

ˆ

(

d

X

H

d

T

0

background image

 

 

Określanie formy macierzy

Forma kwadratowa macierzy A wyrażona wzorem  

 może być 

dodatnio określona, gdy

•dodatnio półokreślona, gdy
 

•niedodatnio określona, gdy

dla każdego 

•niedodatnio półokreślona, gdy

•nieokreślona , gdy

AX

X

X

T

F

2

1

)

(

0

2

1

0

2

1

0

2

1

0

2

1

2

1

AX

X

AX

X

AX

X

AX

X

AX

X

T

T

T

T

T

0

0

Forma kwadratowa

AX

X

X

T

n

i

n

j

j

i

ij

x

x

p

F

2

1

2

1

)

(



1

1

1

3

3

2

2

1

2

3

2

2

2

1

2

2

2

2

)

(

x

x

x

x

x

x

x

x

x

F

3

X

np.

background image

 

 

Przykład 1. Określenie punktu minimum przy użyciu warunków 
koniecznych

8

2

2

2

)

(

2

1

2

2

2

1

2

1

x

x

x

x

x

x

x

f

warunek 
konieczny

2

/

x

2,

/

x

,

0

0

1

4

2

2

2

2

0

)

(

2

1

2

1

2

1

3

5

x

x

x

x

d

df

X

X

Dla wszystkich X z wyjątkiem X=0 wyrażenie X

T

HX jest dodatnio 

określone 

warunek wystarczający

4

2

2

2

)

ˆ

(

)

ˆ

(

)

ˆ

(

)

ˆ

(

)

(

2

2

2

1

2

2

2

1

2

1

1

2

x

x

f

x

x

f

x

x

f

x

x

f

X

X

X

X

X

H

2

2

1

2

2

1

2

1

2

1

2

1

2

1

2

1

4

4

2

4

2

2

2

4

2

2

2

x

x

x

x

x

x

x

x

x

x

x

x

x

x

T

HX

X

x

2

x

1

10.0

8.0

6.0

5.0

X(2.5,-1.5)
F(2.5,-1.5)=4.75

0

HX

X

T

background image

 

 

Metody numeryczne rozwiązywania zadań minimalizacji bez ograniczeń

Powody dla których korzysta się z metod numerycznych przy rozwiązywaniu zadania 
optymalizacji:

 

•Zadanie optymalizacji posiada wiele zmiennych decyzyjnych

•Funkcja celu może cechować się nieliniowością wysokiego rzędu

•Funkcja celu może nie zależeć w sposób jawny od zmiennych decyzyjnych 

Optymalizacja bez ograniczeń 

Problem jednowymiarowy
Znaleźć skalar * , które minimalizuje

funkcję f() 

Problem wielowymiarowy
Znaleźć punkt x* , który minimalizuje
funkcję f(x)

background image

 

 

Główne zasady działania algorytmu numerycznego

Ogólny algorytm działania metod

k     numer iteracji

d

(k)

  dopuszczalny kierunek poszukiwań

    długość kroku

Rozwiązywanie zadania optymalizacji przy użyciu metod numerycznych 
polega na 

przemierzaniu obszaru rozwiązań dopuszczalnych w poszukiwaniu 
ekstremum  funkcji

celu według iteracyjnego schematu

wektor

 x

(k+1)= 

x

(k) 

+x

(k)

 ,

k=0,1,2,...

składowe

 x

i

(k+1)= 

x

i

 

(k) 

+x

i

 

(k)

 ,

k=0,1,2,...

i=1 do n

gdzie

x

(k)

 = 

k

d

(k)

 

A

B

C

x

(k-1)

x

(k)

x

(k+1)

d

(k)

d

(k)

background image

 

 

Procedury algorytmu numerycznego

Krok 1. Wybór punktu startowego x

(0) 

. Iteracja początkowa k=0.

Krok 2. Obliczenie kierunku poszukiwań d

(k)

  w przestrzeni 

projektowej. Ten krok wymaga znajomości wartości funkcji celu i jej 
gradientów, oraz ewentualnie gradientów funkcji ograniczeń przy 
optymalizacji z ograniczeniami.

Krok 3. Sprawdzenie zbieżności algorytmu. Jeśli kryterium 
zbieżności jest spełnione kończymy proces, w przeciwnym wypadku 
przechodzimy do dalszych kroków.

Krok 4. Wyznaczenie długości kroku 

k

.

Krok 5. Obliczenie nowego punktu projektowego jako

x

(k+1)= 

x

(k) 

k

 d

(k)

 ,

teraz k=k+1 i powracamy do kroku 2.

background image

 

 

Idea Procedury Iteracyjnej

Załóżmy, że minimalizujemy funkcję f(x). Załóżmy, że w k-tej iteracji 
punkt x

(k) 

nie jest punktem minimalnym. Nie są bowiem spełnione 

kryteria optymalności dla tego punktu. Jeśli x

(k) 

nie jest punktem 

optymalnym należy znaleźć inny punkt x

(k+1) 

dla którego wartość 

funkcji będzie malała, co można zapisać

f(x

(k+1) 

)<f(x

(k)

)

Jeśli do powyższego wyrażenia wprowadzimy zależność określającą 
x

(k+1)

 otrzymujemy

 f(x

(k)

+

 

k

 d

(k) 

)<f(x

(k)

(*)

Rozwijając w szereg Taylora funkcję f(x

(k)

+

 

k

 d

(k) 

) względem punktu 

x

(k) 

otrzymujemy

pomijając człony wyższego rzędu i podstawiając do powyższej 
nierówności (*) otrzymujemy

dla 

k

 >0

(**)

Ponieważ możemy określić gradient funkcji celu zatem kierunek 
poszukiwań d

(k)  

musi być dobrany tak aby spełniony był warunek (**)

)

(

)

(

)

(

)

(

)

(

)

(

)

(

)

(

)

(

k

k

k

k

k

k

f

d

df

f

x

d

x

x

x

R

d

f

d

d

df

f

f

k

k

k

k

k

k

k

k

k

k

k

k

k

k

k

k

2

)

(

)

(

)

(

2

)

(

)

(

2

)

(

)

(

)

(

)

(

)

(

)

(

)

(

)

(

)

(

)

(

2

1

)

(

)

(

)

(

)

(

x

d

x

x

x

x

d

x

x

x

x

d

x

background image

 

 

 

0

)

(

)

(

)

(

k

k

k

f

d

x

Kierunek d

(k)

 jest dopuszczalnym kierunkiem poprawy gdy iloczyn 

skalarny wektora d

(k)

 i wektora gradientów funkcji celu                    

jest mniejszy od zera. Tzn. wektor d

(k)

 należy do stożka 

dopuszczalnych kierunków . Kąt pomiędzy d

(k)

 i 

musi

Się zawierać pomiędzy 90 a 270 stopni.

 

)

(k

x

x

2

x

1

10.0

8.0

6.0

5.0

)

(

)

(k

x

)

(k

d

stożek dopuszczalnych
kierunków poprawy

B

 

)

(k

x

background image

 

 

Problem określania długości kroku

Załóżmy, że funkcja f(x

(k)

+

 

k

 d

(k) 

) jest funkcją zmiennej  tj. f=f(). 

Gdy =0, f(0)= f(x

(k) 

). Gdy x

(k)

 nie jest punktem minimum, wówczas 

można znaleźć dopuszczalny kierunek poprawy d

(k) 

. Małe zmiany 

funkcji wzdłuż tego kierunku zmniejszają wartości funkcji. 
Wykorzystując zależność (*) otrzymujemy

f()<f(0)

Aby spełnić powyższy warunek f() musi mieć ujemne nachylenie w 

punkcie =0.  Malejąco rosnący charakter funkcji f() wynika z 

faktu, że  musi być dodatnie.

f()

k

background image

 

 

Analityczne metody określania długości kroku

Jeśli d

(k)

 jest kierunkiem dopuszczalnym, wówczas  musi być 

zawsze dodatnie aby był spełniony warunek

Dla problemu jednowymiarowego należy określić = 

k

 takie aby 

f() osiągała minimum. Jeżeli f() jest funkcją prostą można 

wykorzystać warunki konieczne i dostateczne optymalności do 
wyznaczenia . Przy czym warunek konieczny jest zdefiniowany w 

postaci

(*)

zaś warunek wystarczający przyjmuje postać

Licząc 

    i podstawiając do

otrzymujemy

 

0

)

(

)

(

)

(

k

k

k

f

d

x

0

d

df

k

)

(

0

)

(

2

2

d

f

d

k

)

(

)

1

(

)

1

(

)

1

(

)

1

(

)

(

)

(

)

(

)

(

)

(

k

k

k

k

k

k

k

k

f

d

d

d

df

d

df

d

x

x

x

x

d

x

0

d

df

k

)

(

0

)

(

)

1

(

)

(

k

k

f

d

x

background image

 

 

Przykład

7

2

2

)

(

2

2

2

1

2

1

x

x

x

x

f

3

x

w punkcie (1,2) i kierunku (-1,-1) określić długość kroku  minimalizującą funkcję f(x

na danym kierunku.

Dla punktu x

(k)

 =(1,2), f(x

(k)

 )=f(1,2)=3+4+8+7=22, oraz d

(k)

 =(-1,-1). Najpierw 

sprawdzamy, czy kierunek d

(k)

 jest kierunkiem dopuszczalnym. W tym celu liczymy 

Gradient

Z zależności 

zatem d

(k)

 jest kierunkiem

dopuszczalnym. Obliczamy następnie nową wartość zmiennej x

(k+1)= 

x

(k) 

k

 d

(k)

 ,

Stąd x

1

(k+1)= 

1

 

k

 (-1), 

oraz x

2

(k+1)= 

2

 

k

 (-1). Podstawiając otrzymujemy

)

,

(

4

2

,

2

6

)

(

)

,

(

2

1

2

1

)

(

10

10

2

1

x

x

x

x

f

k

x

0

20

10

1

10

)

1

(

)

(

)

(

)

(

)

(

k

k

f

d

x

1

-

1

-

2

1

)

(

)

(

2

1

)

1

(

2

1

k

k

k

k

k

x

x

x

x

d

22

20

7

7

)

1

(

2

)

2

)(

1

(

2

)

1

(

3

)

(

2

2

2

)

1

(

k

x

background image

 

 

22

20

7

)

(

2

f

f()

k

f(0)=22

0

20

)

(

)

(

)

(

k

k

f

d

x

0

14

)

(

7

10

-

0,

,

)

(

2

2

20

14

0

d

f

d

d

df

k

k

Warunek konieczny

Warunek dostateczny

Zatem nowy punkt projektowy 

7

4

3

7

-

1

-

1

-

2

1

)

(

)

(

2

1

)

1

(

2

1

7

10

k

k

k

k

x

x

x

x

d

background image

 

 

Numeryczne metody określania długości kroku

Metoda równego połowienia

f()



 

q

(q-1) (q+1)

Jeśli wartość funkcji w punkcie q jest większa niż w punkcie (q+1) 

)

)

((

)

(

1

q

f

q

f

)

)

((

)

(

1

q

f

q

f

punkt optymalny jeszcze nie został osiągnięty

Jeśli wartość funkcji w punkcie q jest mniejsza niż w punkcie (q+1) 

punkt optymalny został przekroczony. Aby wyznaczyć punkt optymalny można
wykorzystać metodę złotego podziału rozważając przedział od q do (q+1) 

background image

 

 

Metoda złotego podziału dla zadania jednowymiarowego

Niech punkt         znajduje się w odległości           od punktu             

l

q

u

q

 )

( 1

I

I

I

)

(

1

I

)

(

1

I

a

b

'

I

'

l

'

u

'

b

'

I

'

)

(

I

1

I

I

)

(

'

 1

'

b

'

I

l

Po podstawieniu                otrzymujemy równanie 

I

I

'

0

I

I

I

2

którego rozwiązaniem są pierwiastki 

1.927

0.618

2

5

1

2

,

1

Kolejne rozważane punktu określane są ze wzoru

j

q

j

q

0

0.618

background image

 

 

Algorytm metody złotego podziału dla zadania 
jednowymiarowego

Obliczamy f(

a

) i f(

b

)

Krok 1

 

Dla wybranego małego kroku  spełniającego

warunki

l

u

I

I

I)

(

1

I)

(

1

I

a

b

'

I

'

l

'

u

'

b

'

I

'

)

(

I

1

)

(

)

(

)

(

)

(

1

2

q

q

q

q

f

f

i

f

f

1

f()



(q-1) q

(q-2)

określamy

q

j

j

q

u

q

j

j

q

l

i

0

2

0

2

1.618

1.618

Krok 2

 

Krok 3

 

Jeśli

 f(

a

) < f(

b

) wtedy punkt optymalny jest

pomiędzy 

b

l

*

b

u

l

l

'

'

,

przyjmujemy

obliczamy

 

)

(

,

'

'

'

'

'

l

u

l

a

a

gdzie

f

0.382

Sprawdzamy kryteria zbieżności. Jeśli nie są spełnione powracamy do punktu 3.

background image

 

 

Interpolacja kwadratowa 
funkcji 

lub 

Jeśli mamy zadane trzy punkty 

l

, 

u

 i pośrednią zawartą pomiędzy nimi 

i

 oraz znamy 

wartości funkcji w tych punktach f(

l

), f(

u

), f(

i

), to rozważaną krzywą możemy 

aproksymować parabolą o równaniu

 

2

2

1

)

(

a

a

a

q

o

f()



(q-1) q

(q-2)

0

d

dq )

(

2

2

1

o

2

1

2

)

(

)

(

)

(

)

(

)

(

)

(

)

(

l

l

l

i

l

l

i

l

i

l

i

l

i

l

u

l

u

i

u

a

a

f

a

a

f

f

a

f

f

f

f

a

1

Położenie ekstremum paraboli q określamy z warunku

2

1

a

a

2

2

2

1

2

2

1

2

2

1

)

(

)

(

)

(

u

u

o

u

i

i

o

i

l

l

o

l

a

a

a

f

a

a

a

f

a

a

a

f

Po rozwiązaniu układu równań otrzymujemy

0

2 

2

2

2

a

d

q

d

)

(

minimum gdy

background image

 

 

Określanie minimum za pomocą Interpolacji 
kwadratowej-przykład 

Dane

 

 

 

5.236610

f

0.466464

f

1.648721

f

2.618034

1.309017,

0.5

u

i

l

u

i

l

,

,

,

Współczynniki paraboli wynoszą kolejno

3.957

0.5

2.410

0.5

5.821

1.648721

5.821

1.309017

0.5

2.410

0.5

1.309017

1.648721

0.466464

2.410

0.5

1.309017

1.648721

0.466464

0.5

2.618034

1.648721

5.236610

1.309017

2.618034

1

1





2

2

2

1

o

2

1

2

)

(

)

(

)

(

)

(

)

(

)

(

)

(

l

l

l

i

l

l

i

l

i

l

i

l

i

l

u

l

u

i

u

a

a

f

a

a

f

f

a

f

f

f

f

a

background image

 

 

Określanie minimum za pomocą Interpolacji 
kwadratowej-przykład 

Następnie określamy ekstremum paraboli

Wartość funkcji w punkcie    jest równa

1.2077

2.410

2

5.821

2

2

1

a

a

 

0.5149

f

Zauważamy, że 

2.618034

1.2077

1.309017

1.2077

0.5

1.2077

u

i

l

 

 

 

5.236610

f

0.5149

0.466464

f

0.5149

1.648721

f

0.5149

u

i

l

f

f

f

)

(

)

(

)

(

Ponieważ                          należy przyjąć inny przedział poszukiwania ekstremum
jako równy

 

i

f

f

)

(

0.5

l

2.618034

u

1.309017

i

1.2077

u

u

i

l

'

'

'

1

background image

 

 

Określanie minimum za pomocą Interpolacji 
kwadratowej-przykład 

Przechodzimy do drugiej iteracji

1.3464

2

2

1

a

a

2.618034

1.309017

1.2077

u

i

l

 

 

 

5.236610

f

0.466464

f

0.5149

f

u

i

l

Aktualizujemy współczynniki paraboli oraz punkt ekstremum i wartość funkcji 
w tym punkcie

0.4579

)

(

f

0.5

2.618034

'

u

1.309017

'

i

1.2077

'

l

u

u

i

l

''

''

i

'

''

2.713

7.30547

5.3807

o

1

2

a

a

a

background image

 

 

Metody gradientowe-optymalizacja w kierunku 
największego spadku

Niech f(x) będzie różniczkowalne względem x. Kierunek spadku wartości funkcji dla 
Dowolnego punktu jest okreslony 

c

T

x

f

x

f

x

f

f

n

1

1

Algorytm optymalizacji w kierunku realizowany jest w następujących krokach

Określenie punktu startowego x

(o)

, ustalenie parametrów zbieżności >0.

Obliczenie gradientu funkcji f(x) w punkcie x

(k)

 jako 

Obliczenie          . Jeśli                 przerwij proces iteracyjny i przyjmij, że x*=x

(k)

 

jest punktem optymalnym. W przeciwnym wypadku przejdź do punktu 3.
3.    Określ kierunek poszukiwań w punkcie x

(k)

 optimum jako

4. Oblicz długość kroku 

k

 poprzez minimalizację wyrażenia 

5. Uaktualnij wartości zmiennych decyzyjnych wg. Wzoru
Przyjmij k=k+1 i powróć do punktu 2.  

i

i

i

x

f

c

d

lub

c

d

)

(

)

(

)

(

k

k

x

c

)

(k

c

)

(k

c

)

(

)

(

k

k

c

d

)

(

)

(

)

(

k

k

f

d

x

)

(

)

(

)

(

k

k

k

k

d

x

x

1

background image

 

 

Metody gradientowe-optymalizacja w kierunku 
największego spadku

Kierunek największego spadku jest prostopadły do gradientu funkcji 

Długość kroku określamy z warunku

Otrzymujemy zatem

gdzie

)

(

)

(

)

(

)

1

(

)

1

(

)

(

,

k

k

k

k

k

k

i

f

d

d

x

x

x

x

c

1

)

1

(

)

1

(

)

1

(

)

(

)

(

k

T

k

k

f

f

x

x

x

x

0

 )

1

(

)

(

k

k

c

c

0

0

)

(

)

1

(

)

(

)

1

(

lub

,

k

k

k

k

c

c

d

c

background image

 

 

Optymalizacja w kierunku największego spadku-przykład

znajdź

Przyjmując, że punkt startowy ma współrzędne (1,0)

 

2

2

2

min

x

x

x

x

f

1

2

1

2

x

x

1. Określenie punktu startowego x

(o)

=(1,0) ustalenie parametrów zbieżności >0.

2. Obliczenie gradientu funkcji f(x) w punkcie x

(k)

 jako 

Obliczamy 

3.    Określamy kierunek poszukiwań w punkcie x

(k)

 optimum jako

4. Obliczamy długość kroku 

k

 poprzez minimalizację wyrażenia 

5. Uaktualnij wartości zmiennych decyzyjnych wg. Wzoru
Przyjmij k=k+1 i powróć do punktu 2.  

2

-

2

2

2

2

2

)

0

,

1

(

1

2

2

1

)

(

)

(

)

(

x

x

x

x

f

o

o

x

c

 

0

2

2

2

2

2

)

0

(

2

c

)

(k

c

2

2

)

0

(

)

0

(

c

d

)

,

(

)

(

)

(

)

(

2

0

2

1

f

f

0

0

d

x

)

(

)

(

)

(

k

k

k

k

d

x

x

1


Document Outline