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