Podręcznik
3. Klasyfikacje zadań optymalizacji
Każde sensowne kryterium podziału zbioru pewnych obiektów powinno być konstruowane z myślą o wartości praktycznej takiego podziału. Większość stosowanych klasyfikacji zadań optymalizacji dzieli je na zadania „łatwiejsze” i „trudniejsze”. My też pójdziemy tą drogą.
Pierwszy podział, to podział podstawowy na
- Zadania bez ograniczeń (wszystkie warianty są dopuszczalne).
- Zadania z ograniczeniami (zadania w których określono zbiór wariantów dopuszczalnych).
Rozwiązać zadanie bez ograniczeń jest prościej niż z ograniczeniami.
Drugi podział to wyróżnienie
- Zadań liniowych, w których wszystkie funkcje określające zadanie (tzn. funkcje ) są afiniczne, tzn. są, przy notacji macierzowej, funkcjami postaci
gdzie x jest wektorem kolumnowym, oznacza wektor wierszowy, a jest liczbą.
- Zadań nieliniowych, w których co najmniej jedna funkcja nie jest afiniczna.
Przy tym podziale mamy pewien kłopot terminologiczny. Dla matematyka funkcja liniowa to funkcja przyjmująca wartość zero w zerze. Inżynier najczęściej rozciąga tę nazwę i na funkcje afiniczne.
Funkcja przy nieograniczonym x może przyjmować dowolnie małe albo dowolnie duże wartości. Zadanie liniowe mają więc zawsze ograniczenia.
Zadanie optymalnego planowania produkcji omawiane w punkcie 2.1 jest liniowe i nie jest to przypadek. Wiele zadań optymalizacji, które muszą rozwiązywać menedżerowie daje się zapisać jako zadania liniowe.
Rys.1.7 pokazuje, że funkcje nieliniowe mogą zachowywać się bardzo różnie. Za „najlepiej prowadzące się” funkcje nieliniowe matematycy uważają dwie klasy funkcji: klasę funkcji wypukłych i klasę funkcji gładkich. Dla porządku przypomnę ich definicje.
Wygodniejszą z punktu analizy metod optymalizacji a równoważną definicje funkcji wypukłej podamy w punkcie 1 Modułu trzeciego.
Pewnego wyjaśnienia wymaga, jakie własności powinna mieć funkcja aby była gładka. Najsłabsze wymaganie, to wymaganie różniczkowalności. Przy czym, intuicyjnie, funkcja mająca pierwszą pochodną ciągłą jest „bardziej gładka” niż funkcja tylko różniczkowalna itd. Pokazuje to Rys. 1.9 ciągłej funkcji sklejonej
Intuicyjnie jest oczywiste, że zadnia liniowe są prostsze od nieliniowych.
Trzeci podział to
- Zadania nieróżniczkowalne gdy co najmniej jedna funkcja zadania nie jest różniczkowalna.
- Zadania gładkie klasy Cn , gdzie n jest rzędem ciągłej pochodnej funkcji występującej w zadaniu mającej ją najniższą.
Następny podział związany jest z wypukłością
- Zadania wypukłe gdy funkcja wyboru f i zbiór dopuszczalny D są wypukłe.
- Zadania niewypukłe gdy funkcja f lub zbiór D nie jest wypukły.
Odpowiedz na pytanie, kiedy zbiór dopuszczalny D określony wzorem (1.9) jest wypukły daje następujący lemat.
jest funkcją wypukłą i jest funkcją afiniczną
to zbiór dopuszczalny D określony wzorem (1.9) jest wypukły.
Zatem liniowe zadanie optymalizacji jest zadaniem wypukłum.
O zadaniach wyróżnionych przez dwie ostatnie klasyfikacje można powiedzieć, że najdogodniejsze do optymalizacji są zadania co najmniej dwukrotnie różniczkowalne w sposób ciągły i jednocześnie wypukłe.
Sformułowana w punkcie 2.4 ogólna postać zadania optymalizacji ZO jest zadaniem tzw. optymalizacji statycznej. Dlaczego statycznej? Porównywane warianty x są charakteryzowane przez wektory o skończonej liczbie współrzędnych (oznaczyliśmy ją przez n) . Nie porównujemy w nim różnych zachowań określonego obiektu w czasie, a więc różnych funkcji zmiennej, która przyjmuje wartości z pewnego przedziału liczb rzeczywistych. Takie zadania optymalizacji nazywa się zadaniami optymalizacji dynamicznej.
Jednym z najprostszych (w sformułowaniu) zadań optymalizacji dynamicznej jest tzw. zadanie wyznaczenia sterowania czaso-optymalnego.
Zadanie wyznaczenia sterowania czaso-optymalnego
Jako przykład takiego zadania rozważmy zagadnienie przesunięcia ciała (wagonika) o masie m z pewnego położenia początkowego x0 w zadane położenie końcowe xf za pomocą silnika elektrycznego.
gdzie oznaczono , a to położenie w chwili t.
W praktyce moment rozwijany przez silnik nie może przekroczyć pewnej wartości maksymalnej Mmax , co daje pierwsze ograniczenie
czyli nieskończoną i nieprzeliczalną liczbę ograniczeń chwilowych.
Zauważmy, że zgodnie z przyjętym określeniem w zadaniach optymalizacji statycznej liczba ograniczeń musi być przeliczalna i skończona.
Zadanie wyznaczenia sterowania czaso-optymalnego formułuje się następująco:
znaleźć takie sterowanie (zmiany w czasie momentu) , które przeprowadzi ciało z położenia początkowego do położenia końcowego w jak najkrótszym czasie To i ponadto w położeniu końcowym ciało będzie w spoczynku, to znaczy
Przemieszczanie ciała może odbywać się tylko zgodnie z równaniem (1.10) – stanowi więc ono trzecie ograniczenie w tym zadaniu. Trzecie, bo drugim jest przedstawione powyżej wymaganie (1.11).
Zadanie wydaje się tak proste, że można próbować je rozwiązać kierując się tylko podstawową znajomością fizyki i zdrowym rozsądkiem.
Ponieważ przyspieszenie wagonika jest ograniczone (nie może być większe niż Mmax/m ) to przy założeniu (istotnym), że w chwili początkowej wagonik był w spoczynku:
drogę przejedzie w najkrótszym czasie jeżeli do jej połowy, punktu , będzie poruszał się z maksymalnym dopuszczalnym przyspieszeniem Mmax /m a w jej drugiej części — z maksymalnym hamowaniem –Mmax /m
Pojawia się tu istotny problem tego typu zadań: w zbiorze jakich funkcji szukamy rozwiązań?
Z matematycznego punktu widzenia nie jest to trudne pytanie – funkcje które mogą zawierać skokowe zmiany, to tzw. funkcje przedziałami ciągłe.
Ze względu na złożoność nie będziemy analizowali dalej problemów związanych z techniczną realizacją przybliżenia sterowania optymalnego wyznaczonego w tym zadaniu.
Przykład 1.1 przedstawił podstawowe różnice między zadaniami optymalizacji statycznej i dynamicznej, w tych ostatnich
- Szukamy funkcji czasu a nie wektorów liczbowych. Nasze rozważania przenoszą się z przestrzeni w dużo bardziej skomplikowane przestrzenie funkcyjne.
- Ograniczeniem jest (wektorowe) równanie różniczkowe.
- Może występować nieprzeliczalna liczba ograniczeń chwilowych.
- Często występuje wymaganie określonego zachowania rozwiązania równania różniczkowego w konkretnej chwili czasu, np. wymaganie podobne do (1.11).
Na poniższym rysunku podsumowujemy nasze dotychczasowe rozważania klasyfikacyjne.
Od funkcji gj oraz hk określających zbiór dopuszczalny w definicji ogólnego zadania optymalizacji ZO nic nie wymagamy – mogą być dowolne.
Rozważmy zatem zbiór dopuszczalny określony następująco
Jego obraz jest następujący.
Jest to nieskończony, przeliczalny zbiór izolowanych punktów płaszczyzny, a warianty są opisywane wektorami całkowitoliczbowymi. Zbiory tego typu często nazywa się zbiorami dyskretnymi.
W związku z tym możemy jeszcze wyróżnić:
- Zadania (statycznej) optymalizacji dyskretnej (w liczbach całkowitych).
- Zadania optymalizacji (statycznej) (bez dodatkowego określenia, co oznacza, że z tym terminem związany jest zbiór dopuszczalny wektorów, których składowe mogą przyjmować dowolne wartości rzeczywiste).
Przedstawiony powyżej przykład ograniczeń definiujących zbiór całkowitoliczbowy jest przykładem teoretycznym i ma głownie na celu pokazanie bogactwa „różnorodności” jakie kryje w sobie przyjęte, pozornie proste, określenie zbioru dopuszczalnego. Teraz przedstawię przykład praktycznego zadania optymalizacji dyskretnej, zadania które musi rozwiązać kierownictwo koncernu planującego budowę nowych zakładów produkcyjnych.
Pewien koncern zamierza znacznie powiększyć udział jednego ze swoich niepodzielnych produktów (niepodzielny produkt to np. lodówka, lub lokówka, a także paleta z kubeczkami jogurtu) w rynku i w tym celu planuje wybudowanie szeregu zakładów produkcyjnych go wytwarzających. Menedżerowie koncernu chcą podjąć decyzję minimalizującą łączne koszty lokalizacji i transportu produktu. Przyjmijmy, że rozważnych jest I miejsc lokalizacji. Niech indeksem lokalizacji będzie I, zatem . Możliwości produkcyjne zakładu zlokalizowanego w miejscu i oznaczymy przez Si a koszt uruchomienia w nim produkcji (dla uproszczenia niezależny od wielkości produkcji) – przez .
W matematycznym sformułowaniu zadania optymalizacji musimy uwzględnić jeszcze dwa fakty:
- nie jest oczywiste, że trzeba wybudować nowe fabryki we wszystkich miejscach – trzeba wybrać te miejsca, które dadzą w sumie minimalny koszt uruchomienia produkcji i transportu;
- przewożenie produktu z danego zakładu do wszystkich miejsc odbioru może być zbyt kosztowne, trzeba wybrać właściwą strukturę połączeń między dostawcami a odbiorcami.
Przy takim określeniu zmiennych, funkcja kosztów jest następująca
Jest to funkcja zmiennych. Przy czterech miejscach lokalizacji, n = 4, i dwudziestu pięciu odbiorcach, m = 25, daje to 204 zmienne. W porównaniu do zadań optymalizacji, które naprawdę są rozwiązywane przy wspomaganiu decyzji podejmowanych przez menedżerów różnych korporacji, gdzie zmiennych potrafi być kilkanaście tysięcy (np. dlatego, bo trzeba uwzględnić różne produkty a także różne ich rodzaje – całe bogactwo różnych jogurtów), jest to niewiele.
Oczywiste nierówności określające zbiór dopuszczalny są następujące:
- wynikające z ograniczeń możliwości produkcyjnych i-tego zakładu
- nieujemności wielkości przewozu (tylko z miejsca i do miejsca j)
Ograniczenia (1.14) mogliśmy zapisać w takiej postaci, bo jeżeli w miejscu i nie zostanie wybudowana nowa fabryka to, yi = 0, zatem na mocy (1.12) i (1.13), dla każdego wielkość przewozu xij = 0.
Przedstawione trzy grupy nierówności nie opisują wszystkich ograniczeń, ponieważ nie są w nich uwzględnione następujące związki logiczne między xij (ilością sztuk produktu przewożonego trasą )a vij (zmienną binarną określającą czy trasa jest wykorzystywana):
(jeżeli między miejscem i a j jest transportowany produkt, to trzeba ponieść koszty ), oraz
(jeżeli ponosimy koszty na trasie między i a j, to musimy coś nią przewozić).
Związki te w obowiązujący dla sformułowania zadania optymalizacji „schemat nierówności” można włożyć następująco.
Zauważmy, że , bo mamy ograniczenie (1.13).
Dla każdej pary oznaczamy Wprowadźmy ograniczenie
Jeśli to z (1.13) i (1.17) wynika, że .
Zatem wprowadzenie ograniczenia (1.17) oznacza uwzględnienie wymagania logicznego (1.15).
Zauważmy teraz, że w punkcie minimalizującym mamy
Wynika to z faktu, że minimalizujemy sumę po i sum po j, wyrażeń następujących , co dla oznacza, że w punkcie optymalnym musi być spełniony warunek (1.18).
Spełnienie w punkcie minimalizującym tego warunku zwalnia nas z konieczności uwzględnienia warunku (1.16) jako równoważnego z warunkiem
Mamy już „komplet ograniczeń” i wyrażenie określające zbiór dopuszczalny możemy zapisać następująco
gdzie przez ℤ (die Zahlen – liczby) oznaczono zbiór liczb całkowitych tj. zbiór {...,–1,0,1,2,...}.
Dla porządku zapiszmy jeszcze zadanie, które trzeba rozwiązać.
Zadanie lokalizacji fabryk z uwzględnieniem kosztów uruchomienia produkcji i transportu
Kończąc omawianie przykładu, przedstawmy dwa spostrzeżenia
- określony powyżej zbiór dopuszczalny D przy niewłaściwym doborze parametrów Si i Dj może być pusty – jest tak gdy suma maksymalnych mocy produkcyjnych jest mniejsza od sumy minimalnych zapotrzebowań.
- sformułowane powyżej zadanie jest zadaniem tzw. liniowej optymalizacji dyskretnej.
Po wyjaśnieniach przykładu, możemy podać formalną definicję zadania optymalizacji dyskretnej.
Rozważaliśmy zadania optymalizacji, w których zmiennymi są wektory liczb rzeczywistych, jak mówimy zmienne są ciągłe oraz dyskretne zadania optymalizacji, gdzie zmienne to wektory całkowitoliczbowe (zmienne dyskretne). Mogą więc być zadania mieszane, w których część zmiennych jest ciągła, a pozostała – dyskretna.
Przedstawione dotąd rozważania pokazały, że analizując zadania optymalizacji, obok zwrócenia uwagi na stopień trudności znajdowania ich rozwiązania („łatwiejsze – trudniejsze”, czyli: bez ograniczeń – z ograniczeniami, liniowe – nieliniowe itp.) trzeba także zwrócić uwagę na ich strukturę, co prowadzi do klasyfikacji takiej jak na ostatnim rysunku tego rozdziału.
Wyposażeni w przedstawiony zestaw definicji możemy teraz precyzyjniej określić zakres tego podręcznika. Zajmować się w nim będziemy podstawowymi własnościami zadań (statycznej) optymalizacji (ciągłej) to jest zadań ZO a także poznamy algorytmy służące do rozwiązywania takich zadań.