Zadanie programowania liniowego PL dla ograniczeń mniejszościowych

20
Algorytmy optymalizacji Dr inż. Ewa Szlachcic Wykład 4 Wydział Elektroniki PWr EiT III r. Zadanie programowania liniowego PL dla ograniczeń mniejszościowych przy ograniczeniach: x c x T X x f max 0 x b x A dim x=n, dim c=n, dim A =[m x n], dim b 1 =m 1 , Postać kanoniczna zadania PL x c T X x x 0 max 0 , : x b Ax x X

description

Zadanie programowania liniowego PL dla ograniczeń mniejszościowych. przy ograniczeniach :. dim x =n, dim c =n, dim A =[m x n], dim b 1 =m 1 ,. Postać kanoniczna zadania PL. Równoważnoś ć zadań programowania matematycznego. I O graniczenie r ó wno ś ciowe mo ż na - PowerPoint PPT Presentation

Transcript of Zadanie programowania liniowego PL dla ograniczeń mniejszościowych

Page 1: Zadanie programowania liniowego PL dla ograniczeń mniejszościowych

Algorytmy optymalizacjiDr inż. Ewa Szlachcic Wykład 4

Wydział Elektroniki PWr EiT III r.

Zadanie programowania liniowego PL dla ograniczeń mniejszościowych

przy ograniczeniach:

xcx T

Xxf

max

0

x

bxA

dim x=n, dim c=n, dim A =[m x n], dim b1=m1,

Postać kanoniczna zadania PL

xcT

Xxx

0max

0,: xbAxxX

Page 2: Zadanie programowania liniowego PL dla ograniczeń mniejszościowych

Algorytmy optymalizacjiDr inż. Ewa Szlachcic Wykład 4

Wydział Elektroniki PWr EiT III r.

Równoważność zadań programowania matematycznego

I Ograniczenie równościowe możnazastąpić dwoma ograniczeniami

nierownościowymi

0)( jni xxg

II Ograniczenie nierównościowe można zastąpić ograniczeniem równościowym , wprowadzając zmienną uzupełniającą

III Zmienną wolną można przedstawić jako różnicę dwóch zmiennychnieujemnych

0)( xgi

0)( xgi

0)( xgi 0)( xgi

0 jnx

Rxi iii xxx

gdzie: 0,0 ii xx

Page 3: Zadanie programowania liniowego PL dla ograniczeń mniejszościowych

Algorytmy optymalizacjiDr inż. Ewa Szlachcic Wykład 4

Wydział Elektroniki PWr EiT III r.

Podstawowe definicjeJeśli dla układu równań liniowych Ax=b spełniony jest warunek rz[Ar]=rz[A]

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

1. rz[A] = m = n istnieje jedno rozwiązanie układu Ax=b.

2. rz[A] = n < m istnieje jedno rozwiązanie układu równań, lecz przy tym

(m - n) równań jest zbędnych.

3. rz[A] = m < n istnieje nieskończenie wiele rozwiązań układu Ax=b , jest to

układ nieoznaczony.Definicja macierzy bazowej B

Macierzą bazową B układu równań Ax = b rz[A] = m, n>m nazywamy nieosobliwą macierz kwadratową o wymiarach (m*m) utworzoną z liniowo-niezależnych kolumn a j macierzy A.

Definicja rozwiązania bazowego

Rozwiązaniem bazowym układu równań Ax=b rz[A]=m, n>m nazywamy wektor

xb=B-1b utworzony ze zmiennych odpowiadających kolumnom aj macierzy bazowej B.

Składowe wektora bazowego xb są to zmienne bazowe.

Page 4: Zadanie programowania liniowego PL dla ograniczeń mniejszościowych

Algorytmy optymalizacjiDr inż. Ewa Szlachcic Wykład 4

Wydział Elektroniki PWr EiT III r.

Rozwiązania bazowe

],[ NBA mBB dim,0det

],[ NB xxx

Definicja:

Rozwiązanie bazowe jest rozwiązaniem bazowym dopuszczalnym zadania programowania liniowego PL

jeśli wektor xB jest nieujemny tzn.

Wówczas rozwiązanie bazowe dopuszczalne posiada nie więcej niż m dodatnich xi.

Definicja:

Niezdegenerowanym rozwiązaniem bazowym dopuszczalnym zadania PL nazywamy rozwiązanie dopuszczalne , w którym nie wszystkie składowe x i

są większe od zera.

0Bx

B- macierz bazowa nieosobliwa

N- macierz niebazowa

- wektor zmiennych bazowych odpowiadających kolumnom macierz B- wektor zmiennych niebazowych odpowiadających kolumnom macierz N

N

B

x

x

0]0,[ 1 NBB xbBxxx

Page 5: Zadanie programowania liniowego PL dla ograniczeń mniejszościowych

Algorytmy optymalizacjiDr inż. Ewa Szlachcic Wykład 4

Wydział Elektroniki PWr EiT III r.

Extremum zadania programowania liniowego PL

TBxx ]0,[

Twierdzenie 5.1

Zbiór wszystkich rozwiązań dopuszczalnych zadania programowania liniowego PL jest zbiorem wypukłym.

Definicja:

Punkt x należący do wypukłego zbioru jest punktem wierzchołkowym zbioru X, jeśli nie może być wyrażony jako kombinacja liniowa innych punktów zbioru X.

nRX

Dowód: 1. Zakłada się, że wektor x jest bazowym rozwiązaniem dopuszczalnym. Pokazać, że x jest punktem wierzchołkowym zbioru X

2. Zakłada się, że wektor x jest punktem wierzchołkowym zbioru rozwiązań dopuszczalnych zadania programowania liniowego. Pokazać, że wektor x jest bazowym rozwiązaniem dopuszczalnym.

Twierdzenie 5.2

Rozwiązanie dopuszczalne x zadania programowania liniowego PL jest punktem wierzchołkowym zbioru rozwiązań dopuszczalnych X wtedy i tylko wtedy gdy odpowiada mu bazowe rozwiązanie dopuszczalne tzn.:

Page 6: Zadanie programowania liniowego PL dla ograniczeń mniejszościowych

Algorytmy optymalizacjiDr inż. Ewa Szlachcic Wykład 4

Wydział Elektroniki PWr EiT III r.

Extremum zadania programowania liniowego PL cd.

1: RXf nRX

)()( vfxf

Twierdzenie 5.3

Jeżeli funkcja określona na domkniętym i ograniczonym wypukłym zbiorze jest ciągła i wypukła, to globalne maksimum funkcji f(x) występuje w punkcie ekstremalnym (bądź punktach) zbioru X.

Dowód: Zaprzeczamy tezie:

- dowolne globalne minimum

v – dowolny punkt ekstremalny zbioru X.

Zbiór X jest zbiorem zwartym, funkcja f(x) jest ciągła – więc istnieje punkt

x

x

- punkty ekstremalne zbioru X .kiv i ,...,1,

Każdy punkt , który nie jest punktem ekstremalnym, może być wyrażony jako kombinacja wypukła punktów vi

Xx

1;,...,1,0,1 1

k

i

k

i

iii

i kivx

Funkcja f(x) jest wypukła więc zachodzi dla dowolnego punktu zachodzi: Xx

)(max)()()(1 1

i

i

k

i

k

i

ii

ii vfvfvfxf

ckd.

Page 7: Zadanie programowania liniowego PL dla ograniczeń mniejszościowych

Algorytmy optymalizacjiDr inż. Ewa Szlachcic Wykład 4

Wydział Elektroniki PWr EiT III r.

Extremum zadania programowania liniowego PL cd.

1,...,1,0,11

p

i

ii

p

i

ii pixX

pxxx ....., 21

Twierdzenie 5.4

1. Funkcja celu zadania PL przyjmuje wartość maksymalną w punkcie wierzchołkowym zbioru rozwiązań dopuszczalnych zadania PL.

2. Jeśli funkcja celu zadania PL przyjmuje wartość maksymalną w więcej niż jednym punkcie wierzchołkowym, to ma tą samą wartość dla każdej kombinacji wypukłej tych punktów.

Dla p dopuszczalnych bazowych rozwiązań optymalnych, tzn.

Zbiór rozwiązań optymalnych przyjmuje postać:

Page 8: Zadanie programowania liniowego PL dla ograniczeń mniejszościowych

Algorytmy optymalizacjiDr inż. Ewa Szlachcic Wykład 4

Wydział Elektroniki PWr EiT III r.

Pierwsze rozwiązanie bazowe

NB xNBbBx 11

NNBB xcNBcbBcx )( 110

NNBB

B

xNB

cNBc

bB

bBc

x

x

1

1

1

10

Page 9: Zadanie programowania liniowego PL dla ograniczeń mniejszościowych

Poszukiwanie rozwiązań bazowych dopuszczalnych

Page 10: Zadanie programowania liniowego PL dla ograniczeń mniejszościowych

Algorytmy optymalizacjiDr inż. Ewa Szlachcic Wykład 4

Wydział Elektroniki PWr EiT III r.

Pierwsze rozwiązanie bazowe dopuszczalne

NB xNBbBx 11

NNBB xcNBcbBcx )( 110

NNBB

B

xNB

cNBc

bB

bBc

x

x

1

1

1

10

Page 11: Zadanie programowania liniowego PL dla ograniczeń mniejszościowych

Algorytmy optymalizacjiDr inż. Ewa Szlachcic Wykład 4

Wydział Elektroniki PWr EiT III r.

Wprowadzone oznaczenia:

0

10

00

1

1

0

m

B

y

y

y

bB

bBcy

mj

j

j

j

jjBj

y

y

y

aB

caBcy

1

0

1

1

Nj Rja ,

oraz

gdzie oznaczają kolumny macierzy N.

Rj

jj xyyx 0000

NRj

jijiBi midlaxyyx ,...,1,0

Page 12: Zadanie programowania liniowego PL dla ograniczeń mniejszościowych

Algorytmy optymalizacjiDr inż. Ewa Szlachcic Wykład 4

Wydział Elektroniki PWr EiT III r.

Postać początkowej tablicy simpleksowej

Nbx

cx

x

B

N

N

00

NBbBx

cNBcbBcx

x

B

NBB

N

11

110

dla przypadku gdy cB=0 tzn. pierwsze rozwiązanie bazowe dopuszczalne odpowiada za punkt wierzchołkowy x=0.

Page 13: Zadanie programowania liniowego PL dla ograniczeń mniejszościowych

Algorytmy optymalizacjiDr inż. Ewa Szlachcic Wykład 4

Wydział Elektroniki PWr EiT III r.

Polepszanie rozwiązania bazowego dopuszczalnego

NRj

jijiBi midlaxyyx ,...,1,0

NRj

jj xyyx 0000

0

,0

00

kk

j

ygdyxrównieżtoxgdyzatem

xzawsze

Page 14: Zadanie programowania liniowego PL dla ograniczeń mniejszościowych

Algorytmy optymalizacjiDr inż. Ewa Szlachcic Wykład 4

Wydział Elektroniki PWr EiT III r.

Polepszanie bazowego rozwiązania dopuszczalnego

0,00 ikNj yorazRkkjpewnegodlay

).0,/(min 0,...,1

ikiki

mirk yyy

Br

rkj

kRj rk

rj

rk

rk x

yx

y

y

y

yx

N

10

Br

rk

ikj

kRj rk

rjikij

rk

rikiB x

y

yx

y

yyy

y

yyyx

N

i

00

Gdy mamy nie-zdegenerowane rozwiązanie bazowe dopuszczalne takie, że

dla przynajmniej jednego i wówczas można z niego otrzymać lepsze bazowe rozwiązanie dopuszczalne przez wymianę jednej z kolumn macierzy B na kolumnę macierzy N.

Page 15: Zadanie programowania liniowego PL dla ograniczeń mniejszościowych

Algorytmy optymalizacjiDr inż. Ewa Szlachcic Wykład 4

Wydział Elektroniki PWr EiT III r.

Optymalne rozwiązanie zadania programowania liniowego PL metodą simpleks

Twierdzenie 5.5Twierdzenie 5.5

Rozwiązanie bazowe dopuszczalne układu równań Ax=b

jest rozwiązaniem optymalnym zadania PL, jeśli są spełnione dwa warunki:

(i) Warunek prymalnej dopuszczalności:

midlayio ,...,10

(ii) Warunek optymalności

Nj Rjdlay 00

Page 16: Zadanie programowania liniowego PL dla ograniczeń mniejszościowych

Algorytmy optymalizacjiDr inż. Ewa Szlachcic Wykład 4

Wydział Elektroniki PWr EiT III r.

Pierwsza tablica simpleks-I rozwiązanie bazowe dopuszczalne

.........

.........

.........

.........

.........

.........

.........

.........

0

0

00000

mkmjmBm

rkrjrBr

ikijBi

kj

kj

yyyx

yyyx

yyyx

yyyx

xx

iO

.........

.........

.........

.........

.........

.........

.........

.........

0

0

00000

mkmjmBm

rkrjrBr

ikijBi

kj

kj

yyyx

yyyx

yyyx

yyyx

xx

iO

.........

.........

.........

.........

.........

.........

.........

.........

0

0

00000

mkmjmBm

rkrjrBr

ikijBi

kj

kj

yyyx

yyyx

yyyx

yyyx

xx

iO

Page 17: Zadanie programowania liniowego PL dla ograniczeń mniejszościowych

Algorytmy optymalizacjiDr inż. Ewa Szlachcic Wykład 4

Wydział Elektroniki PWr EiT III r.

Polepszona tablica simpleks odpowiada za następne rozwiązanie bazowe dopuszczalne o większej wartości

funkcji celu.

.../1.../.../

.........

/)/(...)/(

.........

/...)/(...)/(

.........

0

00

00000000

rkrkrjrkrk

rkikrkrjikijrkrikiBi

rkkrkrjkjrkrk

Brj

yyyyyx

yyyyyyyyyyx

yyyyyyyyyyx

xx

Page 18: Zadanie programowania liniowego PL dla ograniczeń mniejszościowych

Algorytmy optymalizacjiDr inż. Ewa Szlachcic Wykład 4

Wydział Elektroniki PWr EiT III r.

Algorytm simpleks (prymalny)

Krok 1. (start). Rozpoczynamy algorytm od znalezienia pierwszego rozwiązania bazowego dopuszczalnego. Należy sprawdzić dopuszczalność

rozwiązania: czy Tak - idź do kroku 2, Nie – STOP.

Krok 2. (test optymalności). Czy dla każdego ?

• Tak - to aktualne rozwiązanie jest optymalne.

• Nie - idź do kroku 3.

Krok 3. (Wybór zmiennej wchodzącej do bazy). Wybierz jako zmienną wchodzącą do bazy taką zmienną dla której

Typową regułą jest wybór zmiennej jest reguła dla której:

00 jy NRj

Nk Rkx , .00 ky

0, 000 min

jjRj

k yyyN

kx

Idż do kroku 4.

midlayi ,...,100

Page 19: Zadanie programowania liniowego PL dla ograniczeń mniejszościowych

Algorytmy optymalizacjiDr inż. Ewa Szlachcic Wykład 4

Wydział Elektroniki PWr EiT III r.

Algorytm simpleks (prymalny) c.d.

Krok 5. (eliminacja Gauss’a). Wyznacz oraz względem zmiennych

oraz zmiennej zgodnie z wyprowadzonym wzorem.

Podstaw

aby otrzymać nowe rozwiązanie bazowe dopuszczalne.

Idź do kroku 2.

Krok ten czasami nazywa się wymianą zmiennej bazowej ( piwotyzacją).

kx ,, NBi Rix

}{, kRjx Nj

0 i }{,0 BrNj xkRjx

Krok 4. (wybór zmiennej usuwanej z bazy). Wybierz jako zmienną usuwaną z bazy taką zmienną dla której

Jeśli wiele zmiennych spełnia ten warunek, wybierz arbitralnie jedną z nich.

Idż do kroku 5.

,Brx

).0,/(min 0,...,1

ikiki

mirk yyy

rBx

Page 20: Zadanie programowania liniowego PL dla ograniczeń mniejszościowych

Algorytmy optymalizacjiDr inż. Ewa Szlachcic Wykład 4

Wydział Elektroniki PWr EiT III r.

Schemat reguły przeliczenia współczynników w tablicy simpleks

wg metody eliminacji Gauss’a

p - element centralny (główny) q – dowolny element w wierszu centralnym (głównym) r – dowolny element w kolumnie centralnej (głównej) s – dowolny pozostały element

pp

rppp

rqs

q

sr

q1