Teoria i metody optymalizacji 1
Transkrypt
Teoria i metody optymalizacji 1
Teoria i metody optymalizacji
III Zadanie programowania liniowego PL
Zadanie programowania liniowego dla ograniczeń mniejszościowych i
większościowych
max f (x) = c x
T
przy ograniczeniach
Metoda dwóch faz
:
I faza - naleŜy znaleźć pierwsze rozwiązanie bazowe dopuszczalne
poprzez rozwiązanie zadania pomocniczego
A 1 x ≤ b1
A2 x ≥ b2
II faza - maksymalizacja funkcji celu x0 dla następnego rozwiązania
bazowego dopuszczalnego wg algorytmu simpleks.
x ≥0
dim x=[n*1], dim c=[n*1]
Macierze A1, A2 odpowiadają za współczynniki w m1 i m2 ograniczeniach
dim A1 =[m 1 * n], dim A2 =[m 2 * n]
Wektory b1, b2 odpowiadają za prawe strony ograniczeń
dim b1=[m1*1], dim b2=[m2*1]
Teoria i metody optymalizacji
Dr inŜ. Ewa Szlachcic
Wydział Elektroniki studia II st.
kier. Automatyka i Robotyka
I faza metody PL – Nieznane pierwsze rozwiązanie bazowe dopuszczalne
I.1 - technika zadania pomocniczego
I.2 - technika pomocniczej funkcji celu
Algorytm simpleks (prymalny) – I faza Krok 1 – nie ma moŜliwości stworzenia
pierwszego rozwiązania bazowego dopuszczalnego
Krok 1. (start). Rozpoczynamy algorytm od znalezienia pierwszego rozwiązania
bazowego dopuszczalnego. NaleŜy sprawdzić dopuszczalność
rozwiązania: czy
yi 0 ≥ 0 dla i = 1,..., m Tak - idź do Kroku 2, Nie – STOP.
Teoria i metody optymalizacji
Dr inŜ. Ewa Szlachcic
Wydział Elektroniki studia II st.
kier. Automatyka i Robotyka
I faza metody PL cd.
Wprowadzamy wektor zmiennych pomocniczych
A1x N + I t x t
A 2xN +
Ad. I.1 Rozwiązanie zadania pomocniczego PL z funkcją celu w postaci funkcji
liniowej z0
A
A= 1
A 2
It
0
xα
dim
xα
= m- t
= b1
I m −t xα = b 2
Rozwiązanie bazowe dopuszczalne układu równań:
xt = b1 , xα = b2 , x N = 0
Gdzie It jest macierzą jednostkową rzędu t.
A1x N + I t x t = b1
NaleŜy znaleźć inne rozwiązanie bazowe dopuszczalne, w którym
Teoria i metody optymalizacji
Dr inŜ. Ewa Szlachcic
xα = 0
lub stwierdzić, Ŝe takie rozwiązanie nie istnieje.
= b2
A2xN
Wydział Elektroniki studia II st.
kier. Automatyka i Robotyka
Teoria i metody optymalizacji
Dr inŜ. Ewa Szlachcic
Wydział Elektroniki studia II st.
kier. Automatyka i Robotyka
I faza metody – zadanie pomocnicze PL
Ad.I.2 Pomocnicza funkcja celu
Uproszczona wersja I fazy metoda dwufazowej simpleks – uzyskanie
bazowego rozwiązania dopuszczalnego
max z0 =
− 1x α ,
x0 − cN xN − ctxt
A1 x N + I t x t
A2xN +
= 0,
= b1 ,
I m −t x α = b 2 ,
•Jeśli wektor b w początkowej tablicy simpleksowej ma przynajmniej jedną ujemną
współrzędną, to tablica przedstawia niedopuszczalne rozwiązanie bazowe.
xN , xt , xα ≥ 0
•Cel – uzyskanie nieujemnych wartości zmiennych pomocniczych.
Zmienna x0 zawsze pozostaje zmienną bazową. Rozwiązaniem początkowym zadania
PL I fazy jest
x t = b 1 − A1 x N , x α = b 2 − A 2 x N ,
Teoria i metody optymalizacji
Dr inŜ. Ewa Szlachcic
•NaleŜy znaleźć najmniejszą wartość
s ⇒ min{yi 0 , yi 0 < 0 dla i = 1,2,..., m }
i
•Wybrany wiersz s będzie stanowił pomocniczą funkcję celu , którą naleŜy zmaksymalizować.
•Kolejne kroki metody simpleks powinny być prowadzone do uzyskania dopuszczalnej tablicy
simpleks, tzn. takiej dla której spełniony jest warunek prymalnej dopuszczalności:
z 0 = 1(b 2 − A 2 x N ),
Oraz
•Początkową niedopuszczalną tablicę simpleksową moŜna przekształcić wykorzystując
algorytm simpleks.
x 0 = c t b1 + (c N − c t A 1 )x N
yi0 ≥ 0 dla i = 1,2,..., m
xN = 0
•Koniec I fazy
Wydział Elektroniki studia II st.
kier. Automatyka i Robotyka
Teoria i metody optymalizacji
Dr inŜ. Ewa Szlachcic
Wydział Elektroniki studia II st.
kier. Automatyka i Robotyka
1
Teoria i metody optymalizacji
Ad.I.2 Pomocnicza funkcja celu
Uproszczona wersja I fazy metoda dwufazowej simpleks
cd.
Krok 3. (wybór zmiennej usuwanej z bazy). Wybierz jako zmienną usuwaną z bazy taką
zmienną x Br , dla której
y
yr0
y
= min io : i = 1,..., m, i 0 > 0
i
yrk
yik
yik
Krok 1. (start- wybór pomocniczej funkcji celu). Rozpoczynamy algorytm od
s = min{yi 0 : yi 0 < 0, i = 1,2,..., m}
znalezienia wiersza s , dla którego y s 0 < 0 oraz
i
Jeśli brak takiego s ( yi 0 ≥ 0 dla i = 1,2,..., m ) to tablica odpowiada dopuszczalnemu
rozwiązaniu bazowemu – naleŜy przejść do II fazy.
Krok 2. (Wybór zmiennej wchodzącej do bazy). Wybierz jako zmienną wchodzącą
xk ∈ R N
y sk < 0
do bazy taką zmienną
dla której
xk , k ∈ RN
Typową regułą jest wybór zmiennej
y 0k =
min
{y sk
IdŜ do Kroku 5.
Krok 4. (eliminacja Gauss’a). Wyznacz
, dla której:
x j , j ∈ R N − {k }
: y sk < 0 }
oraz x Bi , i ≠ R N , względem zmiennych
xk
oraz zmiennej xBr
zgodnie z wyprowadzonymi wzorami.
x j = 0, j ∈ RN − {k } i x Br = 0
Podstaw
j ∈R N
Jeśli jest brak takiej zmiennej xk (
y sk ≥ 0 dla k ∈ R N
rozwiązania dopuszczalnego. Jest to problem sprzeczny.
Jeśli wiele zmiennych spełnia ten warunek, wybierz arbitralnie jedną z nich. Taki przypadek
zawsze istnieje, poniewaŜ
y s 0 < 0 i y sk < 0 . Do wyboru zmiennej moŜna nie wybierać
wiersza pomocniczej funkcji celu.
aby otrzymać pierwsze rozwiązanie bazowe dopuszczalne.
) to jest brak
Idź do Kroku 1.
IdŜ do Kroku 3.
Krok ten czasami nazywa się wymianą zmiennej bazowej ( piwotyzacją).
Teoria i metody optymalizacji
Dr inŜ. Ewa Szlachcic
Wydział Elektroniki studia II st.
kier. Automatyka i Robotyka
+ 2 x1
X = x : − 1 x1
+ 1x1
x∈X
I faza
+ 1 x2
+ 1 x2
+ 1 x2
X =φ
≥ 2
≤ 3 , x ≥ 0
≤ 6
II faza cz.1
W metodzie dwufazowej simpleks algorytm w I fazie obliczeń nie potrafi stworzyć
pierwszego rozwiązania bazowego dopuszczalnego z powodu braku rozwiązań
dopuszczalnych.
II faza cz.2
Przykład:
-x1
-x2
-x5
-x2
-x5
-x4
x0
0
-1
-6
x0
6
1
-5
x0
28,5
3,5
2,5
x3
-2
-2
-1
x3
10
2
1
X3
5,5
1,5
-0,5
x4
3
-1
1
x4
9
1
2
X2
4,5
0,5
0,5
x5
6
1
1
x1
6
1
1
X1
1,5
0,5
-0,5
Brak rozwiązania
dopuszczalnego
I rozwiązanie bazowe
dopuszczalne
6
B
xB1 = , x0 1 = 6
0
Rozwiązanie optymalne:
x = x
∧
∧
1
∧
2
x
∧
3
x
∧
4
x
T
T
x == [1,5 4,5 5,5 0 0]
∧
5
Wydział Elektroniki studia II st.
kier. Automatyka i Robotyka
Przypadki szczególne – zbiór rozwiązań dopuszczalnych jest zbiorem
pustym - brak rozwiązania
Przykład III zadania programowania liniowego
metoda dwufazowa simpleks
max x0 = 1x1 + 6 x2
Teoria i metody optymalizacji
Dr inŜ. Ewa Szlachcic
Teoria i metody optymalizacji
Dr inŜ. Ewa Szlachcic
II rozwiązanie bazowe
dopuszczalne- rozwiązanie
optymalne
max x0 =
x∈X
1
x1 − x2 − x3
2
1
− 2 x1 + 2 x2 + x3 ≤ 2
1
X = x : − x1 + 2 x2 − x3 ≥ 3 , x ≥ 0
2
x2 − x3 ≤ 2
-x2
-x3
0
-1/2
1
1
x4
2
-1/2
2
1
x5
-3
1/2
-2
x6
2
0
1
-x1
-x4
x0
x
x
x
x2
x
x
x
-x3
x
1
x5
-1
0
1
2
-1
x6
x
x
x
x
x
Nie jest spełniony warunek dopuszczalności drugiej tablicy simpleks i jednocześnie druga tablica
wskazuje, Ŝe jest brak rozwiązań dopuszczalnych.
x5 = − x4 − 2 x3 − 1
1,5
B
x B1 = , x0 2 = 28,5
4,5
x1 , x2 , x3 , x4 ≥ 0
∧
x0 = 28,5
Wydział Elektroniki studia II st.
kier. Automatyka i Robotyka
-x1
x0
Teoria i metody optymalizacji
Dr inŜ. Ewa Szlachcic
Wydział Elektroniki studia II st.
kier. Automatyka i Robotyka
Postać kanoniczna II zadania PL
II Zadanie programowania liniowego PL
min x0 = cT x
przy ograniczeniach
min x 0 = c T x ,
:
Ax ≥ b,
x ≥ 0,
Ax≥b
x ≥0
dim x=[n*1], dim c=[n*1]
Macierz A odpowiada za współczynniki w m ograniczeniach
dim A=[m x n]
Wektor wyrazów wolnych b odpowiada za prawą stronę ograniczeń
dim b =[m*1]
Teoria i metody optymalizacji
Dr inŜ. Ewa Szlachcic
Wydział Elektroniki studia II st.
kier. Automatyka i Robotyka
max - x 0 = − c T x ,
- A x + I s xs = − b ,
x , x s ≥ 0,
Teoria i metody optymalizacji
Dr inŜ. Ewa Szlachcic
Wydział Elektroniki studia II st.
kier. Automatyka i Robotyka
2
Teoria i metody optymalizacji
Optymalne rozwiązanie II zadania PL metodą dualną simpleks
Algorytm dualny simpleks
Krok 1. (start). Rozpoczynamy algorytm od znalezienia pierwszej tablicy
dualnie dopuszczalnej. NaleŜy sprawdzić dualną dopuszczalność
y oj ≥ 0 dla j ∈ R N
rozwiązania: czy
Twierdzenie:
Rozwiązanie bazowe dopuszczalne układu równań Ax=b
Krok 2. (test optymalności). Czy yi 0 ≥ 0
jest rozwiązaniem optymalnym II zadania PL, jeśli są spełnione
warunki:
(i) Warunek dualnej dopuszczalności:
yoj ≥ 0 dla
Tak - idź do Kroku 2, Nie – koniec.
• Tak - to aktualne rozwiązanie
• Nie -
dla kaŜdego
i = 1,..., m
?
jest optymalne.
idź do Kroku 3.
j ∈ RN
Krok 3. (Wybór zmiennej usuwanej z bazy). Wybierz jako zmienną usuwaną z
yr0 < 0.
bazy taką zmienną x B r
dla której
(ii) Warunek dualnej optymalności
yi 0 ≥ 0 dla i ∈ {1,..., m}
xBr
Typową regułą jest wybór zmiennej
yr0 =
{y io ,
min
dla której:
y i 0 < 0 , i = 1,..., m }
j∈ R N
IdŜ do Kroku 4.
Teoria i metody optymalizacji
Dr inŜ. Ewa Szlachcic
Wydział Elektroniki studia II st.
kier. Automatyka i Robotyka
Teoria i metody optymalizacji
Dr inŜ. Ewa Szlachcic
Wydział Elektroniki studia II st.
kier. Automatyka i Robotyka
Przykład II zadania programowania liniowego – dualna metoda simpleks
Algorytm dualny simpleks c.d.
min x0 = 1x1 + 1x2
x∈X
Krok 4. (wybór zmiennej wprowadzanej do bazy). Wybierz jako zmienną
wchodzącą do bazy taką zmienną x k
dla której
+ 1x1 + 2 x2
X = x : 2 x1
+ 1x2
+ 1x1 + 1x2
y0 j
y0k
= max (
, yrj < 0).
yrk
yrj
tablica początkowa
≥ 8
≥ 6 , x ≥ 0
≥ 5
tablica pośrednia
tablica pośrednia
Jeśli wiele zmiennych spełnia ten warunek, wybierz arbitralnie jedną z nich.
-x1
-x2
-x0
0
1
1
X3
-8
Idź do Kroku 5.
Krok 5. (eliminacja). Dokonaj dualną iterację simpleksową metodą eliminacji
xk
Gauss’a poprzez wprowadzenie
do bazy oraz usunięcie
x Br
-1
-2
X4
-6
-2
-1
X5
-5
-1
-1
tablica dualnie dopuszczalna
y oj ≥ 0 dla j ∈ R N
Idź do Kroku 2.
Teoria i metody optymalizacji
Dr inŜ. Ewa Szlachcic
Wydział Elektroniki studia II st.
kier. Automatyka i Robotyka
-x0
-4
-x1
-x3
½
½
-X0
-14/3
X2
-x4
-x3
1/3
1/3
-2/3
X2
4
½
-1/2
10/3
1/3
x4
-2
-3/2
-1/2
X1
4/3
-2/3
1/3
X5
-1
-1/2
-1/2
X5
-1/3
-1/3
-1/3
tablica jeszcze nie optymalna
tablica jeszcze nie optymalna
y30 < 0
y 20 < 0
Teoria i metody optymalizacji
Dr inŜ. Ewa Szlachcic
Wydział Elektroniki studia II st.
kier. Automatyka i Robotyka
Teoria dualności dla zadania programowania liniowego PL
Przykład II zadania programowania liniowego – dualna metoda simpleks
cd.
max x0 = cT x
tablica optymalna I
-x5
-x3
1
0
-X0
-5
X2
3
1
-1
X1
2
-2
1
X4
1
-3
1
tablica optymalna II
yi 0 ≥ 0 dla ∀i = 1,..., m
Rozwiązanie optymalne I
wierzchołek:
Rozwiązanie optymalne II
wierzchołek:
Teoria i metody optymalizacji
Dr inŜ. Ewa Szlachcic
-x4
1
0
X2
4
-2
1
Twierdzenie 7.1 :
x1
1
1
-1
X3
1
-3
1
Jeśli wektor x jest rozwiązaniem dopuszczalnym dla zadania prymalnego i
wektor v jest rozwiązaniem dopuszczalnym dla zadania dualnego, to wartość
funkcji celu w zadaniu dualnym nie moŜe być mniejsza od wartości funkcji
celu w zadaniu prymalnym.
yi 0 ≥ 0 dla ∀i = 1,..., m
∧
x0 = 5
vT b ≥ c T x
x = [ x , x , x , x , x ] = [1, 4, 1, 0, 0]
2
1
{
2
2
2
3
v ≥0
-5
∧1
∧2
AT v ≥ c
x ≥0
-x0
x = [ x11 , x12 , x13 , x14 , x15 ] = [2, 3, 0, 1, 0]
∧
Zbiór rozwiązań optymalnych:
-x5
min v0 = vT b
Ax≤b
2
4
2
5
}
x = x : x = [1 + λ , 4 − λ ]T , λ ∈ [0,1] .
Wydział Elektroniki studia II st.
kier. Automatyka i Robotyka
Teoria i metody optymalizacji
Dr inŜ. Ewa Szlachcic
Wydział Elektroniki studia II st.
kier. Automatyka i Robotyka
3
Teoria i metody optymalizacji
Teoria dualności dla zadania PL cd.
Twierdzenie 7.2
∧
Twierdzenie 7.4
∧
x i v zadania prymalnego i dualnego PL
Dla pary rozwiązań optymalnych
zachodzi warunek:
∧
∧
cT x = bT v
Jeśli jedno z pary wzajemnie dualnych zadań programowania liniowego ma
rozwiązanie optymalne, to ma je równieŜ zadanie dualne i obydwa zadania mają
identyczne wartości funkcji celu.
Twierdzenie 7.3
Twierdzenie 7.5
Niech (xr ,xs ) i ( vr , vs) będą odpowiednio rozwiązaniami dopuszczalnymi zadania
prymalnego i dualnego, przy czym xs i vs są wektorami zmiennych dopełniających
do postaci kanonicznej zadania w wektorach rozwiązań.
Jeśli zadanie dualne jest nieograniczone, to zadanie prymalne jest sprzeczne.
∧
∧
∧
∧
Wtedy ( xr , xs ) i (vs , vr ) będą odpowiednio rozwiązaniami optymalnymi pary zadań
prymalnego i dualnego, jeśli zachodzi warunek komplementarności zmiennych:
∧T ∧
x v=0
∧T ∧
tzn.
∧T ∧
xr vs + xs vr = 0
Teoria i metody optymalizacji
Dr inŜ. Ewa Szlachcic
Przykład I
Wydział Elektroniki studia II st.
kier. Automatyka i Robotyka
zadanie prymalne
zadanie dualne
max x0 = 2x1 + 1x2
x∈ X
x1 + x2 ≤ 5
X = x : − x1 + x2 ≤ 0 , x ≥ 0
6 x + 2 x ≤ 21
1
2
min v0 = 5v1 + 0v2 + 21v3
v∈V
v1 − v 2 + 6v3 ≥ 2
V = x : v1 + v2 + 2v3 ≥ 1
v1 , v2 , v3 ≥ 0
Postać wektora rozwiązań:
v = [vr , v s ] = [v1 , v2 , v3 v4 , v5 ]
xT v = 0 ⇒
Przykład II
Teoria i metody optymalizacji
Dr inŜ. Ewa Szlachcic
Teoria dualności dla zadania PL cd.
I. Rozwiązanie zadania dualnego metodą simpleks
x = [x r , x s ] = [x1 , x2 x3 , x4 , x5 ]
x0
0v1 + 1v2 + 2v3 ≥ 1200
v1 , v2 , v3 ≥ 0
max x0 = 2100x1 + 1200 x2
0
x∈ X
x1
x2
x5
x2
-2
-1
x0
7
1/3
-1/3
3/2
-1/6
2/3
5
1
1
x4
0
-1
1
x4
7/2
1/6
4/3
x5
21
6
2
x1
7/2
1/6
1/3
x5
x3
x0
31/4
1/4
1/2
x2
9/4
-1/4
3/2
x4
1/2
1/2
-2
x1
11/4
1/4
-1/2
x∈ X
Rozwiązanie optymalne:
7 x1 + 0 x 2 ≤ 0.3
X = x : 3 x1 + 1x 2 ≤ 0.6 , x ≥ 0
0 x1 + 2 x 2 ≤ 0.2
a)
b)
Zadanie dualne
Zadanie prymalne
Wydział Elektroniki studia II st.
kier. Automatyka i Robotyka
∧
[
[
x = x1 , x2 , ↑ x3 , x 4 , x5
∧
v = v 4 , v5 , ↑ v1 , v2 , v3
∧
Wartość optymalna funkcji celu:
Teoria i metody optymalizacji
Dr inŜ. Ewa Szlachcic
1x1 + 1x2 ≤ 5
X = x : − x1 + x2 ≤ 0 , x ≥ 0
6 x + 2 x ≤ 21
1
2
x3
x3
System cięcia dłuŜyc
7v1 + 3 v2 + 0v3 ≥ 2100
max x0 = 2x1 + 1x 2
Zadanie dualne:
[xr , x s ]T [v s , vr ] = 0
min v0 = 0.3v1 + 0.6v2 + 0.2v3
Wydział Elektroniki studia II st.
kier. Automatyka i Robotyka
Teoria i metody optymalizacji
Dr inŜ. Ewa Szlachcic
∧
]
]
∧
1
11 9
x = , , ↑ 0, ,0
2
4 4
1
1
v = 0, 0, ↑ , 0,
2
4
∧
31
x 0 = v0 =
4
Wydział Elektroniki studia II st.
kier. Automatyka i Robotyka
4