Jak zbliżyć się do optymalnego harmonogramu produkcji?
Ograniczenia i zmienne
Optymalny harmonogram produkcji musi uwzględniać cały zestaw ograniczeń oraz wartości zmiennych w czasie. Ograniczeniem jest określony i ściśle zdefiniowany park maszyn i urządzeń do produkcji oraz wielkość zasobów ludzkich do obsługi czynności produkcyjnych wymagających określonych kompetencji. Wartości zmienne to dostępność tych zasobów wynikająca z planowanych (remonty, przeglądy, przezbrojenia) oraz nieplanowanych (awarie) przestojów maszyn i urządzeń, kalendarz dostępności pracowników oraz – co bardzo istotne – dostępność surowców i materiałów do produkcji.
Problem dostępności materiałów i surowców jest kluczowy, ponieważ każdy optymalny harmonogram produkcji musi uwzględniać nie tylko zasoby dostępne w magazynie, ale też te, które w określonym czasie jesteśmy pozyskać poprzez zamówienie lub wyprodukowanie. Musi uwzględniać dostępność zamienników w przypadku niedostępności materiałów podstawowych. To wszystko jeszcze w funkcji czasu.
Planowanie produkcji generalnie porusza się w wielokącie ograniczeń człowiek – materiał – maszyna – narzędzie – kooperant i tę zmienność musi umieć wykorzystać do wcale niełatwych obliczeń.
Metody obliczeń
Programowanie liniowe.
Każda zmienna opisana powyżej jest zapisana w postaci funkcji liniowej. Znalezienie optymalnego rozwiązania jest w zasadzie pewne przy założeniu nieograniczoności czasu oraz zasobów technologicznych (moc obliczeniowa). Często użycie metod programowania liniowego powoduje długi czas obliczania harmonogramu, co przy szybko zmiennej produkcji jest nieakceptowalne dla zespołów planistycznych. Eliminowanie długiego czasu obliczeń jest konieczne przy obsłudze dużej ilości operacji technologicznych do wykonania. Często algorytmy programowania liniowego zakładają poszukiwanie najlepszego rozwiązania poprzez (mimo wszystko) ograniczenie czasu liczenia. W ten sposób jednak udaje się wybrać najlepsze rozwiązanie spośród wszystkich wyliczonych w danym czasie. Nie koniecznie jednak optymalne. Poszerzenie dziedziny czasu w kolejnych przybliżeniach nie daje na pewno liniowego przyrostu i nawet niewielkie zwiększenie czasu obliczeń może dać zdumiewająco lepszy wynik. Nadal jednak może to być wynik jedynie zbliżony do optymalnego.
Uczenie wzmocnione
Uczenie wzmocnione jest podzbiorem metodycznym uczenia maszynowego. Jako takie opiera swe metody poszukiwania optimum o wcześniej uzyskane wyniki i porównuje je z uzyskiwanymi na bieżąco. W ten sposób program liczący otrzymuje informację (wzmocnienie) o tym, czy wynik jest lepszy czy gorszy od poprzednich. Zapisuje przy tym swoje strategie liczenia i opiera kolejne wyliczenia o te, które przyniosły wzmocnienie. Obliczenia oparte są o znane programowi liczącemu strategie wsadowe, które są jednocześnie uzupełniane (wzbogacane) o wyniki bieżące. Jeśli kolejne wyliczenia nie przynoszą ani polepszenia, ani pogorszenia rezultatu, algorytm zatrzyma się, wskazując wynik jako optymalny.
Metody genetyczne
Metody genetyczne tworzą określoną liczbę losowych rozwiązań jednocześnie, które następnie podlegają mutacjom poprzez podmienianie (krzyżowanie) wartości parametrów wsadowych. W ten sposób tworzone (obliczane) są kolejne generacje coraz lepszych harmonogramów, w których znów dokonuje się krzyżówek. Tak tworzone kolejne „pokolenia” harmonogramów zbliżają się do optimum. Metoda kończy pracę po wskazanej ilości iteracji lub po osiągnięciu zadowalającego wyniku.
Wady i zalety metod obliczeniowych
Programowanie liniowe w zasadzie daje gwarancję znalezienia rozwiązania optymalnego, co niewątpliwie jest zaletą, jednak nie jest odporne na pojawienie się w danych wsadowych zależności nieliniowych oraz wartości dyskretnych. Jest też stosunkowo mało efektywna przy dużych zbiorach danych nawet przy zastosowaniu matematyki sympleksowej. Modelowanie za pomocą ograniczeń liniowych w funkcji zdefiniowanego celu jest stosunkowo proste matematycznie, jednak przy dużej ilości zmiennych problem wydajnościowy może być nie do przeskoczenia. Często jednak twórcy oprogramowania decydują się na użycie programowania liniowego właśnie ze względu na wspomnianą wcześniej gwarancję znalezienia optimum dla stabilnych i jednoznacznie zdefiniowanych środowisk produkcyjnych.
Uczenie wzmocnione wolne jest od ograniczeń ilości zmiennych oraz od liniowości ich zmian. Potrafi analizować złożone zbiory o zmiennych stanach i porównywać je. Analizuje konsekwencje przyszłych obliczeń w oparciu o bieżący wynik, przez co potrafi podjąć decyzję o kontynuowaniu bądź zakończeniu obliczeń. Wymaga dużych zbiorów danych, z których czerpie „wiedzę” i na podstawie których decyduje o doborze strategii liczenia, co bardzo utrudnia wdrożenie tej metody. Trzeba ja po prostu „nakarmić” jak największą ilością dostępnych danych, a potem pozwolić jej się uczyć na podstawie adaptowania swoich wyników oraz zmienności parametrów wsadowych wpływających z zewnątrz.
Uczenie wzmocnione nie gwarantuje jednak, że wskazane rozwiązanie będzie optymalne, a czym mniej danych uczących algorytm tym wynik jest bardziej oddalony od optimum.
Użycie algorytmów genetycznych jest najbardziej elastyczne i może znajdować zastosowanie do naprawdę szerokiego zakresu problematyki, w których struktura matematyczna parametrów wsadowych jest bez znaczenia. Algorytmy genetyczne nie działają w oparciu o zależności explicite opisywane funkcjami matematycznymi (choć nie do końca…) więc mają małą odporność na utknięcie i przybliżanie wyniku kolejnych iteracji w obrębie minimum lokalnego, na co uczenie maszynowe, a zwłaszcza programowanie liniowe są odporne.
Trudno jest wskazać najlepszą metodykę obliczeń harmonogramu produkcji. Wyboru należy dokonać zawsze, rozpatrując wiele czynników organizacyjnych procesu produkcji. Ważne są odpowiedzi na pytania: czy mamy konieczność adaptacji warunków w czasie rzeczywistym (np. poprzez szybką zmienność popytu), czy mamy dostęp do dużych mocy obliczeniowych, jak ważna jest dla nas precyzja wyniku.
Jakie oprogramowanie do harmonogramowania produkcji wybrać?
Zapewne takie, które zapewnia wielorakość algorytmiczną i możliwość porównania wyników uzyskanych za pomocą różnych metod.
Metoda zbliżenia się do optymalnego harmonogramu produkcji, to podejście, w którym łączymy dokładne zrozumienie procesów produkcyjnych z właściwym doborem metod obliczeniowych i narzędzi informatycznych oraz wysokich kompetencji zespołu wdrożeniowego.
Taka właśnie jest oferta harmonogramowania produkcji w systemie enova365 będąca elementem portfolio produktów i usług DPS Systems.
Autor: Dawid Paruzel – Dyrektor działu wdrożeń i usług ERP
Konsultacje merytoryczne: Mateusz Stępień – Senior Developer
Wypełnij formularz i dowiedz się więcej