Algorytmy ewolucyjne w zarządzaniu
Transkrypt
Algorytmy ewolucyjne w zarządzaniu
Algorytmy ewolucyjne w zarządzaniu - stan i perspektywy zastosowania Adam Stawowy Wydział Zarządzania Akademia Górniczo-Hutnicza Streszczenie Algorytmy ewolucyjne (ang. Evolutionary Algorithms - EA) są szeroko stosowaną techniką przeszukiwania i optymalizacji opartą na zasadach przejętych z teorii ewolucji. Algorytmy ewolucyjne są techniką, która w chwili obecnej przeżywa burzliwą młodość. Dowodzi tego gwałtowny wzrost publikacji z tej dziedziny: Jarmo T. Alander szacuje, że w latach osiemdziesiątych i dziewięćdziesiątych liczba publikacji podwajała się co dwa lata. Badacz ten zewidencjonował ponad 12 tysięcy różnorodnych publikacji w formie artykułów w czasopismach, materiałów konferencyjnych, prac magisterskich i doktorskich, książek oraz patentów dotyczących algorytmów ewolucyjnych. Prace te obejmują swym zasięgiem różne obszary nauki, techniki i praktyki: od fizyki, poprzez projektowanie układów VLSI, do zarządzania produkcją. Pokaźną grupę - ok. 10% całości - stanowią prace związane z teorią i praktyką zarządzania. W niniejszej pracy przedstawiono zasadę działania oraz klasyfikację algorytmów ewolucyjnych. Omówiono stan zastosowań EA w zarządzaniu w podziale na marketing, rozwój, produkcję, finanse i obsługę. Podkreślono potencjalne zastosowania praktyczne, szczególnie jako element systemów hybrydowyvh, w których algorytmy ewolucyjne są odpowiedzialne za optymalizację procesów zarządzania. 1. Wprowadzenie Algorytmy ewolucyjne są szeroko stosowaną techniką (często o charakterze heurystycznym) przeszukiwania i optymalizacji opartą na zasadach przejętych z teorii ewolucji. Naturalność oraz prostota działania sprawiły, że algorytmy te są chętnie wykorzystywane w naukach zarządzania, w szczególności - do rozwiązywania problemów optymalizacji kombinatorycznej. Za Biethahnem i Nissenem [2] można przyjąć, że algorytmy ewolucyjne są techniką, która w chwili obecnej przeżywa burzliwą młodość. Dowodzi tego gwałtowny wzrost publikacji z tej dziedziny: Jarmo T. Alander szacuje, że w latach osiemdziesiątych i dziewięćdziesiątych liczba publikacji podwajała się co dwa lata [1]. Badacz ten zewidencjonował ponad 12 tysięcy różnorodnych publikacji w formie artykułów w czasopismach, materiałów konferencyjnych, prac magisterskich i doktorskich, książek oraz patentów dotyczących algorytmów ewolucyjnych. Prace te obejmują swym zasięgiem różne obszary nauki, techniki i praktyki: od fizyki, poprzez projektowanie układów VLSI, do zarządzania produkcją. Pokaźną grupę - ok. 10% całości - stanowią prace związane z teorią i praktyką zarządzania. 2. Zasada działania algorytmów ewolucyjnych Drogą rozwoju przyrody ożywionej jest ewolucja czyli metoda prób i błędów oparta na doborze naturalnym. Najlepiej udokumentowanym mechanizmem doboru naturalnego jest proces genetyczny: można go postrzegać jako proces optymalizacyjny, w którym osobniki najlepiej dostosowane do środowiska mają największe szanse przeżycia i utworzenia potomków. Nośnikiem informacji o cechach indywidualnych osobnika jest kod genetyczny (chromosom): kod ten determinuje budowę osobnika i jego rozwój, a w szczególności - jego dopasowanie do środowiska naturalnego. Istnieje silna zależność między chromosomem osobnika a jego żywotnością i zdolnością do przekazywania genotypu kolejnym pokoleniom. Ewolucyjny rozwój populacji chromosomów odbywa się poprzez mechanizm reprodukcji, na który składają się procesy krzyżowania (ang. crossover), mutacji (ang. mutation) i inwersji (ang. inversion). W procesie krzyżowania, z dwóch chromosomów rodzicielskich wybierane są geny, które po zespoleniu tworzą jeden lub więcej chromosomów potomnych. W procesie mutacji dochodzi do przekłamania kodu poprzez zmianę jednego genu lub ich ciągu, natomiast inwersja odwraca fragment chromosomu. Przy pomocy tych mechanizmów tworzą się kolejne pokolenia (populacje chromosomów), zawierające coraz "doskonalsze" osobniki. Wykorzystanie modelu procesu ewolucyjnego w metodach obliczeniowych bierze początek od pracy Hollanda z 1975 roku, natomiast rozwój zastosowań do zagadnień optymalizacyjnych przypadł na lata osiemdziesiąte (Goldberg [4]) i trwa do tej pory (por. monografia [5]). Ta ogólnie przedstawiona zasada działania jest wykorzystywana w różnych wariantach algorytmów ewolucyjnych; wyróżnia się cztery typy EA, aczkolwiek podział ten nie jest ostry [6]: · algorytmy genetyczne (ang. Genetic Algorithms - GA), · strategie ewolucyjne (ang. Evolution Strategies - ES), · programowanie ewolucyjne (ang. Evolutionary Programming - EP), · programowanie genetyczne (ang. Genetic Programming - GP). · · · · Algorytmy powyższe, oprócz terminologii oraz operatorów przeniesionych z biologii, różnią się istotnie od innych technik przeszukiwania [6]: wykorzystują operatory ewolucyjne, które działają na sprecyzowanych reprezentacjach rozwiązań (osobnikach), przetwarzają całą populację rozwiązań, badając przy tym przestrzeń przeszukiwania równocześnie z wielu punktów, do prawidłowego działania nie potrzebują żadnej szczegółowej wiedzy o charakterze problemu a jedynie - informacji o jakości rozwiązań, w sposób celowy stosują procesy stochastyczne; oznacza to nie losowe, lecz inteligentne badanie przestrzeni przeszukiwania: wysiłek obliczeniowy koncentruje się na obiecujących regionach przestrzeni przeszukiwań. Poniżej przedstawiono główne zalety i wady algorytmów ewolucyjnych jako techniki optymalizacyjnej. Zalety: · efektywna technika, o szerokich możliwościach zastosowania, · wiarygodność, · dobrze przystosowane do przeszukiwania wielowymiarowej, złożonej przestrzeni rozwiązań, · względnie łatwe do opracowania i implementacji, · nie ma ograniczeń, co do postaci funkcji celu, · wstępna wiedza o problemie nie jest potrzebna, · możliwość optymalizacji wielokryterialnej, · duży wybór postaci algorytmu, · łatwa współpraca z innymi technikami (heurystyki inicjalizacyjne, przeszukiwanie lokalne), · naturalna paralelność algorytmu. Wady: · heurystyczny charakter techniki (nie daje pewności osiągnięcia optimum w określonym czasie), · czasochłonność obliczeń (łagodzona przez gwałtowny postęp techniczny), · często nieefektywna w końcowej fazie przeszukiwań, · określenie właściwych wartości parametrów nie jest łatwe. Algorytmy ewolucyjne nie gwarantują znalezienia optimum globalnego, jednak generalnie zapewniają znalezienie rozwiązania wystarczająco dobrego w akceptowalnym przedziale czasu [5]. Stąd głównym zastosowaniem tych algorytmów powinny być problemy, dla których nie istnieją techniki specjalizowane. Nawet jeśli techniki takie istnieją, można osiągnąć poprawę ich działania poprzez ich połączenie z algorytmami ewolucyjnymi. 3. Stan zastosowań EA w zarządzaniu W porównaniu z różnorodnością problemów optymalizacyjnych w zarządzaniu stan zastosowań algorytmów ewolucyjnych należy uznać za średni. Większość doniesień literaturowych dotyczy raczej prototypów niż praktycznych zastosowań. Niewątpliwie dominują różnego rodzaju problemy szeregowania zadań [8], podczas gdy innym zagadnieniom zarządzania nie poświęcono tak wiele uwagi. Należy również podkreślić dominujący udział algorytmów genetycznych w pracach dotyczących zarządzania; inne rodzaje EA są spotykane stosunkowo rzadko. W tabeli 1 zaprezentowano typowe zastosowania AE w zarządzaniu znalezione w literaturze przedmiotu. Zastosowania zgrupowano w zadaniowym ujęciu zarządzania. Tabela 1. Typowe zastosowania algorytmów ewolucyjnych w zarządzaniu Zadanie Marketing i sprzedaż Rozwój Produkcja Finanse Obsługa Przykład Samouczący się model konsumenta Optymalizacja zmiennych decyzyjnych w stochastycznej symulacji zapasów Problem transportowy w wielkiej hurtowni Określenie pierwszego nakładu książki Model przestrzennego rozmieszenia wydziałów firmy Optymalizacja wielkości rurociągów dla British Gas Alokacja nakładów dla różnych programów ochrony zdrowia Optymalizacja sieci (telekomunikacyjnej, komputerowej) przy różnych kryteriach Harmonogramowanie zadań w różnych sektorach (m.in. przemysł samochodowy, metalowy, energetyczny i chemiczny) Grupowanie wyrobów w partie produkcyjne Planowanie remontów sieci energetycznej Kolejność lądowań samolotów na lotnisku Kolejność jazdy pociągów po linii jednotorowej Prognoza zysków przedsiębiorstwa Symulacja rynku akcji Model gracza na rynku akcji Optymalizacja portfela akcji Szacowanie ryzyka ubezpieczenia Wykrywanie oszustw finansowych w Bank of America Modelowanie rynków finansowych Układanie podziału godzin w szkole Harmonogramowanie pracy sprzątających pociągi Harmonogramowanie pracy personelu w przemyśle tekstylnym Źródło: opracowanie własne na podstawie [2] 4. Perspektywy zastosowań EA w zarządzaniu Największe nadzieje wśród teoretyków i praktyków zajmujących się algorytmami ewolucyjnymi wzbudzają tzw. systemy hybrydowe. Działanie systemów hybrydowych opiera się na synergii, która - w tym wypadku - oznacza wzajemne wzmocnienie działania dwóch lub więcej elementów prowadzące do osiągnięcia maksymalnego efektu. Przykładem takiego podejścia jest inteligentny system planowania produkcji RYTHM opracowany przez amerykańską firmę i2 Technologies [9]. Moduł Factory Planner generuje plany produkcyjne dla całego przedsiębiorstwa, wydziału, komórki wytwórczej lub linii produkcyjnej. Zadaniem modułu jest dostarczenie inteligentnego i wykonalnego nadrzędnego planu produkcji łącznie z zestawieniem rekomendowanych zakupów i działań, wspierających jego realizację. Moduł Advanced Scheduler ustala optymalne uszeregowanie operacji. Może tego dokonywać na podstawie planu zaproponowanego przez moduł Factory Planner lub bezpośrednio przez system MRP bierąc przy tym pod uwagę zależne od uszeregowania czasy przygotowawczo-zakończeniowe, ograniczenia wynikające z partii produkcyjnych, dostępność materiałów, transport zasobów i inne ograniczenia. Do szybkiego szeregowania Advanced Scheduler wykorzystuje algorytmy genetyczne. Ich zastosowanie umożliwia znalezienie złożonych uszeregowań dla problemów z wieloma różnymi ograniczeniami, których nie potrafią uwzględnić tradycyjne techniki optymalizacyjne. Wykorzystując funkcję kary do zapisu ograniczeń algorytm genetyczny wybiera najlepsze rozwiązanie poprzez szybką ewolucję możliwych uszeregowań. Dzięki niemu system może szybko uwzględniać zmianę ograniczeń czy funkcji kryterium (celów przedsiębiorstwa). Zastosowanie sytemu RYTHM na wydziale Sparrows Point huty Bethlehem Steel Corporation przyniosło zwiększenie liczby przyjmowanych zamówień o 15% w przeciągu 3-ch miesięcy. Ponadto dzięki systemowi praktycznie wyeliminowano przyjmowanie zamówień nie mających pokrycia w zdolności produkcyjnych oraz zwiększono przepustowość wielu operacji w przedsiębiorstwie. Największa korzyścią jest możliwość terminowej realizacji zamówień, dzięki czemu firma stała się bardziej wiarygodnym producentem, poprawiając swoją pozycję na wysoce konkurencyjnym rynku produkcji i przetwórstwa stali. Równie dobre rezultaty daje połączenie algorytmów ewolucyjnych z symulacją [3]. Możliwe są tu dwa podejścia: · EA jest odpowiedzialny za dobór wartości zmiennych decyzyjnych, · EA jest używany do ewolucji struktury modelu symulacyjnego. Podobne podejście jest stosowane w systemach klasyfikujących, w których algorytmy ewolucyjne eksploruja przestrzeń reguł i wymieniają słabe reguły na nowe wygenerowane przez krzyżowanie i mutacje silnych reguł. 5. Podsumowanie Przedstawiony w pracy stan zastosowań algorytmów ewolucyjnych w zarządzaniu dowodzi, że nie nastąpił jeszcze przełom aplikacyjny. Jednakże obserwowany na całym świecie wzrost zainteresowania EA doprowadzi z pewnością do rozwoju zastosowań. Z dużym prawdopodobieństwem można stwierdzić, że będą to systemy hybrydowe, w których algorytmy ewolucyjne będą istotnym elementem modułów optymalizacyjnych. Dotyczy to przede wszystkim systemów rozmytych, modeli symulacyjnych, sieci neuronowych i systemów z bazą wiedzy. Literatura [1] Alander J. T.: Evolution of genetic algorithms - a brief bibliografical review, ftp.uwasa.fi cs/report99-2/main-a4.ps.Z [2] Biethahn J., Nissen V.: Evolutionary algorithms in management applications, Springer-Verlag, Berlin 1995. [3] Biethahn J., Nissen V.: Combinations of simulation and evolutionary algorithms in management science and economics, Annals of Operations Research, vol. 52, 1994, pp. 183-208. [4] Goldberg D.E.: Algorytmy genetyczne i ich zastosowanie, WNT, Warszawa 1995. [5] Michalewicz Z.: Genetic algorithm + data structures = evolution programs. Springer-Verlang, Berlin 1992. [6] Nissen V.: Evolutionary algorithms in management science. An overview and list of references. Papers on Economics & Evolution, report no. 9303, European Study Group for Evolutionary Economics, 1993. [7] Schwefel H.P.: Evolution and optimum seeking, John Wiley & Sons, New York 1995. [8] Stawowy A., Mazur Z.: Heurystyczne algorytmy szeregowania zadań produkcyjnych i grupowania wyrobów, Nowoczesne metody zarządzania produkcją, pod red. Z.Martyniaka, Wydział Zarządzania AGH, Kraków 1996. [9] Materiały promocyjne firmy i2 Technologies, Dallas, USA