PDczęść4 8. Zagadnienia załadunku 8.1 Klasyczne zagadnienia załadunku (ozn. N = {1, 2,..., n} Binarny problem ( (Z v(z =max c j x j : a j x j b; x j binarne (j N zakładamy, że wszystkie dane sa całkowitoliczbowe; przyjmujemy (bez straty ogólności: c j > 0, 0 <a j b (j N, P n a j >b. algorytm zachłanny: x j =1 gdy a j b P j 1 k=1 a kx k ; x j =0 wpp. relaksacja liniowa ( i relaksacja Lagrange a: (Z v(z =max c j x j : a j x j b,0 x j 1(j N ( Ã! (L u v(l u =max c j x j + u b a j x j : x j binarne (j N, u 0 c n Tw. Jeżeli uporzadkujemy... c 2 c 1, to x =(1,..., 1,x p, 0,..., 0, ³ a n a 2 a 1 gdzie x p = b P p 1 a j /a p (0 < x p 1 - zmienna ułamkowa, jest optymalnym rozwiazaniem Z. Wyznaczenie x wymaga O(n operacji; uwaga: uporzadkowanie wielkości c j /a j wymaga O(n log n porównań Całkowitoliczbowy problem (ZC ( v(zc=max c j x j : ( kx ozn. v k (y =max c j x j : zależności rekurencyjne: a j x j b; x j 0 całk. (j N kx a j x j y, x j 0 całk. dla j =1,..., k I : v k (y = max {c kx k + v k 1 (y a k x k } (k =1,..., n; y =0, 1,...,b x k =0,1,...[y/a k ] II : v k (y =max{v k 1 (y; c k + v k (y a k,a k y} (k =1,...,n; y =0, 1,..., b warunki poczatkowe: v 0 (y =0dla y =0, 1,..., b Zależność I wyraża zasadę programowania dymanicznego: odpowiedźnapytanie,jakijest optymalny załadunek, można udzielić wn etapach; na każdym etapie należy podejmować optymalna decyzję. Aby rozwiazać ZC, tj. obliczyć v n (b, trzebawykonać O(nb porównań idodawań. 1
8.2 Zagadnienia załadunku z separacja Problemy te polegaja na rozmieszczeniu ładunków w dostępnych pomieszczeniach z uwzględnieniem ograniczeń wynikajacych z wymagań separacji, tzn. konieczności fizycznego oddzielenia ładunków. Klasyczny problem Klasyczny problem załadunku separowalnego polega na określeniu optymalnego rozmieszczenia produktów w dostępnych przedziałach w ten sposób, aby w dowolnym pomieszczeniu znajdował się conajwyżej jeden rodzaj produktu. Zakładamy, że znane sa: niezbędne przestrzenie do załadowania określonych produktów, pojemność poszczególnych pomieszczeń oraz koszty przechowywania produktów w tych pomieszczeniach. m - liczba ładunków; n - liczba pomieszczeń; M = {1,..., m},n = {1,..., n} ; a i -niezbędna przestrzeń do załadowania dostępnej wielkości i-tego towaru (i M; a i 0; b j -pojemność j-tego pomieszczenia (j N; b j 0; c i,j - jednostkowy zysk z umieszczenia i-tego towaru w j-tym pomieszczeniu (i M,j N; c i,j 0; Model klasycznego problemu Z max dla i M oraz j N c i,j x i,j (1 x i,j a i (1a; x i,j b j y i,j (1b; y i,j 1 (1c x i,j 0 - ilość i-tego ładunku umieszczonego w j-tym pomieszczeniu; y i,j - zmienna binarna; y i,j =1gdy x i,j > 0, y i,j =0gdy x i,j =0. Problem Z(Y - problem załadunku zredukowany do (1, (1a oraz (1b, gdzie Y =[y i,j ] m n jest tablicabinarn a spełniajac a warunek (1c. Problem dualny DZ(Y : " X m υ(dz(y = min a i u i + (b j y i,j w i,j u i + w i,j c i,j dla i M oraz j N; u i 0,w i,j 0 - zmienne dualne odpowiadajace ograniczeniom (1a oraz (1b. Problem DZ(Y jest separowalny względem i M ;można zdekomponować gonapod- problemy DZ i (Y : " min a i u i + (b j y i,j w i,j 2
u i + w i,j c i,j dla j N; u i 0,w i,j 0. Powyższe ograniczenia zapiszemy w postaci u i + w i,j s i,j = c i,j dla j N, gdzie s i,j 0 inastępnie jako układ u i + w i,1 s i,1 = c i,1 w i,j + w i,j+1 + s i,j s i,j+1 = c i,j+1 c i,j dla j =1,..., n 1, u i w i,n + s i,n = c i,n Ponieważ każda zmienna występuje dokładnie w dwóch równaniach z przeciwnymi znakami, układ ten reprezentuje macierz incydencji pewnej sieci skierowanej. Do rozwiazania podproblemów DZ i (Y można zaadaptować algorytm rozwiazuj acy problem najtańszego przepływu wnastępujacej sieci skierowanej. Metoda mnożników Lagrange a Zdefiniujemy relaksację Lagrange alz(λ dla problemu Z, właczaj ac trudne ograniczenia (1c do funkcji celu: " m! X υ(lz(λ = max c i,j x i,j + λ j Ã1 y i,j, x i,j a i oraz x i,j b j y i,j dla i M, j N; zmienne: x i,j 0, y i,j {0, 1} ; λ =(λ 1,..., λ n 0 -mnożniki Lagrange a. Oczywiście υ(z υ(lz(λ dla wszystkich λ 0. Problem LZ(λ jest separowalny względem i M ;można zdekomponować gonapod- problemy LZ i (λ : " υ(lz i (λ = max c i,j x i,j λ j y i,j, x i,j a i oraz x i,j b j y i,j dla j N; x i,j 0, y i,j {0, 1}. 3
Mamy υ(lz(λ = υ(lz i (λ + λ j. Problem LZ i (λ jest równoważny następujacemu nieliniowemu problemowi ZN i (λ : ½ 0 jeżeli x υ(zn i (λ = max d i,j (x i,j, d i,j (x i,j = i,j =0 c i,j x i,j λ j jeżeli x i,j > 0 x i,j a i oraz x i,j b j dla j N; x i,j 0. ZN i (λ jest problemem załadunku (bez separacji z kosztem progowym. Opracowano efektywny algorytm rozwiazywania tego problemu. Zatem relaksacja Lagrange a LZ(λ może być użyta do określenia górnego oszacowania optymalnej wartości funkcji celu problemu Z. Zmodyfikowany problem Problem ten uzyskuje się z klasycznego problemu poprzez modyfikację ograniczeń zwiazanych zseparacj a ładunków. Separacja ta opisana jest za pomoca macierzy binarnej S =[s i,k ] m m : s i,k =0- i-ty produkt może być umieszczony razem z k-tym; s i,k =1- i-ty produkt nie może być umieszczony razem z k-tym; macierz S jest symetryczna, a elementy na głównej przekatnej sa równe zero; Model zmodyfikowanego problemu max c i,j x i,j x i,j a i dla i M; x i,j b j dla j N; x i,j x k,j s i,k =0 dla i, k M (i 6= k, j N; Można zrezygnować zograniczeń nieliniowych poprzez wprowadzenie zmiennych binarnych y i,j (i M, j N: s i,k (y i,j + y k,j 1 dla i M; k = i +1,..., m; j N. 4
Metoda dekompozycji Bendersa (klasyczny problem Krok 0 (Start Start z dowolnego dopuszczalnego rozwiazania problemu dualnego DZ(Y, gdzie Y =0(zerowa tablica. Rozwiazanie w postaci: u i =0oraz w ij = c ij jest dopuszczalnym startowym rozwiazaniem. Krok 1 (Faza programowania dyskretnego Rozwiaż problem: max z z a i u i (b j w ij y ij 0 y ij 1 dla j =1, 2,..., n Zmiennymi w tym problemie sa z oraz y ij (zmienne binarne, natomiast w ij oraz u i sa stałe (przyjęte w kroku 0. Niech z oraz Y =[yij] będaoptymalnymrozwi azaniem ww problemu. Krok 2 (Faza programowania liniowego Rozwiaż problemdualnydz(y dla obliczonych w kroku 1 elementów y ij = yij. Zmiennymi w tym problemie sa u i oraz w ij. Niech u i oraz wij będa optymalnym rozwiazaniem ww problemu. Krok 3 (Test stopu Jeżeli z v(dz(y, tozakończ obliczenia (przy pomocy yij wyznacz optymalne rozwiazanie x ij. W przeciwnym przypadku przejdźdokroku1dodaj ac do ograniczeń problemu dyskretnego nierówność z a i u i (b j wijy ij 0. 5