• Nie Znaleziono Wyników

Nowa aplikacja do planowania projektu z kamieniami milowymi

W dokumencie Index of /rozprawy2/10260 (Stron 152-162)

Istnieje wiele komercyjnych aplikacji wspierających planowanie przedsięwzięć. Można tu wymienić m.in.: Microsoft Project [175], CCPM+[177], ProjectShelf [183],

Project KickStart [185], Primavera P6 [180], Scitor [179], ProChain [178], Zoho Pro-jects[181], FastTrackSchedule [182], eTaskMaker [184], @task [176] i wiele innych

narzędzi. Aplikacje te umożliwiają tworzenie harmonogramów najczęściej z wykorzy-staniem prostych algorytmów stosujących koncepcje ścieżki krytycznej lub łańcucha krytycznego (metodyka CCPM), które mogą być nieefektywne do planowania dużych przedsięwzięć realizowanych w warunkach niepewności.

Duża liczba komercyjnych aplikacji do planowania projektu świadczy o zapotrzebo-waniu na tego typu narzędzia. Przy użyciu dostępnego oprogramowania do planowania projektu nie ma możliwości zastosowania opisanych koncepcji predyktywno-reaktywnego harmonogramowania przedsięwzięć z umownymi etapami projektu. W związku z tym do rozprawy dołączona jest nowa, autorska aplikacja ProjektKM do planowania projektu z ograniczonymi zasobami z możliwością definiowania kamieni milowych i generowania harmonogramów odpornych na zakłócenia produkcyjne. Apli-kacja jest gotowa do wdrożenia i może być wykorzystana w przedsięwzięciach, w któ-rych kluczowa jest terminowa realizacja zdefiniowanych kamieni milowych projektu.

Aplikacja ProjektKM wykorzystuje nowe koncepcje definiowania etapów projektu i funkcji celu harmonogramowania predyktywno-reaktywnego. Jest wykonana w śro-dowisku programistycznym Visual C# Microsoft .Net. Projekty są przechowywane w bazie danych stworzonej w MS SQL.

Przy tworzeniu aplikacji ProjektKM wykorzystane są koncepcje opracowane w pra-cach dotyczących architektury reaktywnych systemów harmonogramowania

[31][36][47][143][102]. W większości opracowań w reaktywnym systemie produkcyj-nym można wyróżnić, choć pod różprodukcyj-nymi nazwami, następujące moduły (komponenty): - moduł odpowiedzialny za harmonogramowanie zadań (Scheduler) odpowiedzialny

za ustalanie kolejności wykonywania, przy uwzględnieniu informacji z innych mo-dułów;

- moduł kontrolujący przebieg procesu produkcji, monitorujący realizację harmono-gramu (Scheduling Controller);

- moduł monitorujący działanie systemu (Real-time System Manager), zbierający i analizujący zakłócenia (np. awarie maszyn) oraz informacje pochodzące od modułu zamówień, przekazujący informacje do innych modułów;

- moduł odpowiedzialny za wysyłanie kolejnych zadań do realizacji na podstawie in-formacji otrzymanych od modułu szeregującego zadania (Dispatcher),

- moduł zamówień (Order agent);

- moduł zapewniający dostawę materiałów produkcyjnych (Material Agent), w celu zapewnienia terminowej realizacji zaplanowanych zadań produkcyjnych.

Implementacja reaktywnego systemu harmonogramowania musi zapewniać szybką wymianę informacji między poszczególnymi modułami. Sposób interakcji tych kompo-nentów to najczęściej architektura typu klient-serwer, w której klient jest procesem, który potrzebuje pewnych zasobów, a proces serwera tych zasobów dostarcza, realizu-jąc zgłoszone zapotrzebowanie. Do wymiany danych stosowane są nowoczesne techno-logie m.in.: CORBA (Common Object Request Broker Architecture) lub usługi sieciowe (ang. Web Services). W systemach tych występuje zaawansowana komunikacja między obiektami, a także interakcja systemu z użytkownikiem itp.

W aplikacji ProjektKM moduł szeregujący zadania powiązany jest z innymi modu-łami. Dzięki temu możliwa jest szybka wymiana danych między modułem odpowiada-jącym za szeregowanie zadań a modułem zamówień materiałów niezbędnych do wyko-nywania zadań. Komunikacja jest wykonywana przy użyciu plików XML. W czasie rzeczywistym monitorowane jest ryzyko nieterminowego wykonania kamieni milo-wych.

Przedsięwzięcia w ProjektKM są definiowane przy użyciu intuicyjnego interfejsu, lub są wczytywane z plików tekstowych lub plików XML. Każdy etap harmonogramo-wania jest rozwiązywany przy użyciu najskuteczniejszych algorytmów predyktywno-reaktywnych znalezionych w rozprawie. Poszczególne etapy są wizualizowane przy użyciu wykresu Gantt’a. W fazie reaktywnej analizowane są w czasie rzeczywistym zakłócenia wpływające na realizację projektu i wykonywane jest reharmonogramowanie zadań. System analizuje zdarzenia w czasie rzeczywistym. Zakłócenia mogą być wpi-sywane w aplikacji, pobierane z bazy danych, z plików tekstowych lub wysyłane zdal-nie za pomocą usług sieciowych (Web Services).

ProjektKM udostępnia następujące funkcje:

- definiowanie nowych projektów: o przy użyciu aplikacji:

 definiowanie etapów projektu (kamieni milowych), określanie terminów ich realizacji, kar umownych itp.

 definiowanie dostępnych zasobów przeznaczonych do realizacji przedsięwzię-cia,

 definiowanie zadań, przypisywanie zadaniom kamieni milowych, określenie zapotrzebowania na zasoby,

o możliwość otwierania projektów zapisanych w odpowiedniej postaci w plikach tekstowych lub w plikach XML,

- zapisywanie projektów: o do bazy danych ProjektDB,

o do plików tekstowych lub plików XML (w celu łatwego eksportu danych), - edycja istniejących projektów:

o edycja kamieni milowych, o edycja zasobów,

o edycja zadań,

- wprowadzenie informacji o przewidywanej zmienności środowiska produkcyjnego: o wybranie scenariusza zmienności zadań najbardziej odpowiedniego dla

analizo-wanego projektu:

 wariant I: określenie jaki procent zadań (przeciętnie) jest zakłócany i o ile pro-cent są wydłużane zadania (przeciętnie),

 wariant II: określenie parametrów rozkładu β,

- konstruowanie harmonogramu predyktywnego przy użyciu najskuteczniejszych algo-rytmów predyktywno-reaktywnych znalezionych w rozprawie:

o generowanie harmonogramów nominalnych przy użyciu metaheurystyki symulo-wanego wyżarzania z rozwiązaniem początkowym wygenerowanym przez algo-rytm wstawień,

o odporna alokacja zasobów za pomocą procedury lokalnych poszukiwań,

o odporna alokacja buforów za pomocą algorytmu BufR, przy rozmieszczaniu bufo-rów uwzględnienie informacji o zmienności systemu produkcyjnego,

o określanie jakości wygenerowanych rozwiązań za pomocą mierników opracowa-nych dla poszczególopracowa-nych etapów harmonogramowania predyktywnego,

- monitorowanie realizacji kamieni milowych i poszczególnych zadań, wyliczanie aktualnego kosztu niestabilności,

- przedstawienie (wizualizacja) harmonogramu w postaci wykresu Gantta,

- w czasie rzeczywistym analiza zdarzeń wpływających na realizację projektu, zakłó-cenia mogą być definiowane w różny sposób, dostęp do nich jest możliwy w czasie rzeczywistym:

o przez usługi sieciowe,

o za pomocą plików tekstowych lub plików XML, o z poziomu aplikacji.

Aplikacja ProjektKM posiada intuicyjny interfejs, który sprawia, że planowanie projek-tu jest łatwe. Na rysunkach 36, 37, 38 przedstawione są przykładowe formatki do wprowadzania danych o nowym projekcie.

Rysunek 36. Definiowanie kamieni milowych dla nowego projektu w aplikacji ProjektKM

Rysunek 38. Definiowanie zadań dla nowego projektu w aplikacji ProjektKM

Każdy etap harmonogramowania przedstawiany jest w postaci wykresów Gantt’a. Na rysunku 39 zaprezentowany jest harmonogram nominalny z alokacją zasobów wygene-rowany w aplikacji ProjektKM dla instancji testowej 1_1 z zestawu J30 z biblioteki

PSPLIB. Dla każdego typu zasobów zwizualizowany jest przydział zasobów do

po-szczególnych zadań.

Opracowany przez autora system umożliwia monitorowanie terminowego wykonania wszystkich umownych etapów projektu. Wyliczana jest każdorazowo aktualna wielkość bufora zabezpieczającego terminowość, która wskazuje jakie jest niebezpieczeństwo opóźnień w realizacji kamieni milowych.

Diagram klas zaimplementowanych w aplikacji ProjektKM jest zaprezentowany na rysunku 40.

Rysunek 39. Harmonogram Gantt’a dla uszeregowania nominalnego z alokacją zasobów dla pro-jektu zdefiniowanego w pliku j301_1.sm (biblioteka PSPLIB) realizowanego przy użyciu 4 typów zasobów

Rysunek 40. Diagram klas w aplikacji ProjektKM

Dla każdego projektu możliwe jest określenie etapów projektu (kamieni milowych), dla których definiowane są zadania do wykonania w tym etapie. Alokacja zasobów jest wykonywana dla harmonogramu nominalnego i obowiązuje dla harmonogramu proak-tywnego, projektowanego i zrealizowanego. Alokacja buforów jest tworzona dla har-monogramu z okresloną alokacją zasobów.

8 Podsumowanie pracy i kierunki dalszych badań

Rozprawa dotyczy problemu harmonogramowania projektu z ograniczoną dostępno-ścią zasobów RCPSP w warunkach niepewności. W rozprawie zaproponowano, aby podczas harmonogramowania chronić terminową realizację wszystkich etapów projektu (kamieni milowych). Harmonogramowanie projektu z uwzględnieniem kamieni milo-wych przez etapowe monitorowanie przebiegu projektu usprawnia jego przebieg i jest przydatne przy realizacji, zwłaszcza dużych, projektów konstrukcyjnych, budowlanych lub informatycznych.

Autor sformułował nowy model problemu RCPSP, w którym zdefiniowane są narzu-cone, nieprzekraczalne terminy realizacji kamieni milowych. Dla tego modelu rozważa-no zagadnienie plarozważa-nowania projektu w warunkach niepewrozważa-ności z sterowaniem produk-cją przy użyciu harmonogramu. Założono, że w trakcie wykonania projektu zmianom podlegają czasy realizacji zadań. Wahania czasów trwania zadań mogą prowadzić do wzrostu kosztów niestabilności: spowodować dezorganizację prac oraz zwiększyć kosz-ty produkcji. W celu minimalizacji kosztu niestabilności zastosowano podejście predyk-tywno-reaktywne, w którym tworzony jest odporny, proaktywny harmonogram napra-wiany w przypadku wystąpienia zakłóceń produkcyjnych podczas harmonogramowania reaktywnego.

W porównaniu z istniejącymi modelami predyktywno-reaktywnego RCPSP propo-nowany model wnosi nowe podejście do planowania projektu, które może być przydat-ne przy realizacji projektów, zwłaszcza dużych, rozliczanych etapowo. Znaczna część z prezentowanych w rozprawie algorytmów i koncepcji jest nowa, dotąd nie stosowana w badaniach dotyczących RCPSP.

W rozprawie zaproponowano nowe algorytmy predyktywno-reaktywnego harmono-gramowanie, które znacznie poprawiły osiągane wskaźniki stabilności wykonania planu produkcji. Skonstruowano nowoczesne algorytmy harmonogramowania nominalnego z kryterium jakości określającym poziom zabezpieczenia terminów wykonania kamieni milowych. Również nowe procedury odpornej alokacji zasobów poprawiły odporność harmonogramów proaktywnych. Autor zaproponował także nowe algorytmy alokacji buforów, w których wstawiane są bufory czasowe zabezpieczające uszeregowanie no-minalne w miejscach najbardziej narażonych na zakłócenia produkcyjne w celu mini-malizacji wpływu zaburzeń na wykonanie projektu zgodnie z planem.

Teza rozprawy została wykazana w każdym etapie harmonogramowania projektu. Przeprowadzono szereg badań, na podstawie których dokonano eksperymentalnego potwierdzenia faktu, że harmonogramowanie predyktywno-reaktywne jest bardziej efektywne przy planowaniu projektu w warunkach niepewności niż sterowanie produk-cją według harmonogramu nominalnego, bez buforów czasowych.

Harmonogram nominalny, w którym maksymalnie zabezpieczano terminową reali-zację kamieni milowych przedsięwzięcia, znaleziono przy użyciu nowoczesnych meta-heurystyk. Testowano znane heurystyki oraz autorskie algorytmy, które okazały się bardzo skuteczne do generowania rozwiązań początkowych dla meteheurystyk. Wyniki testów obliczeniowych potwierdziły przydatność nowoczesnych algorytmów metaheu-rystycznych dla problemu harmonogramowania projektu z narzuconymi terminami re-alizacji etapów projektu.

Następnie dla harmonogramu nominalnego zastosowano procedury odpornej alokacji zasobów i buforów, które zwiększyły stabilność realizacji uszeregowania, co potwier-dziły wyniki eksperymentów obliczeniowych.

Zastosowanie nowych predyktywno-reaktywnych algorytmów doprowadziło do zmniejszenia kosztu niestabilności zrealizowanych uszeregowań w porównaniu z kosz-tem niestabilności projektu realizowanego na podstawie harmonogramu nominalnego. Znacznie lepsze wyniki uzyskano dla każdego z analizowanych scenariuszów przebiegu zmienności czasów trwania zadań. Zmniejszenie kosztu niestabilności przekłada się na niższe koszty produkcji (niższe koszty magazynowania surowców, wydajniejsze wyko-rzystanie zasobów, niższe kary z tytułu niedotrzymania terminów wykonania etapów projektu). Sterowanie projektem na podstawie mniej zaburzanego harmonogramu usprawnia przebieg projektu.

Najważniejszymi nowymi koncepcjami i rozwiązaniami, opracowanymi przez autora i przedstawionymi w rozprawie, są:

- budowa nowego modelu harmonogramowania projektu z narzuconymi terminami realizacji etapów projektu (kamieniami milowymi), dla którego zdefiniowano miary jakości uszeregowania nominalnego, odpornego i reaktywnego,

- skonstruowanie nowoczesnych algorytmów harmonogramowania nominalnego: opracowanie algorytmów priorytetowych z nowymi regułami priorytetowymi oraz nowych, skutecznych algorytmów metodą wstawień, przetestowanie metaheurystyk z różnymi parametrami,

- opracowanie nowych algorytmów odpornej alokacji zasobów,

- implementacja nowych, skutecznych algorytmów odpornej alokacji buforów, w których wstawiane są bufory zabezpieczające terminowe wykonanie zadań przy uwzględnieniu terminów realizacji kamieni milowych,

- modyfikacja problemów testowych z biblioteki PSPLIB przez zdefiniowanie etapów projektu (i terminów ich realizacji) i opracowanie różnych wariantów zmienności czasów trwania zadań,

- stworzenie autorskiej aplikacji ProjektKM do planowania projektu, która umożliwia generowanie predyktywno-reaktywnych harmonogramów dla przedsięwzięcia ze zdefiniowanymi kamieniami milowymi przy wykorzystaniu opisywanych w pracy algorytmów predyktywno-reaktywnego harmonogramowania dla różnych środowisk produkcyjnych.

Na podstawie przeprowadzonych badań stwierdzono poprawność postawionej tezy badawczej: zastosowanie predyktywno-reaktywnego harmonogramowania usprawnia realizację projektu. Wyniki eksperymentów obliczeniowych, przy różnych scenariu-szach zmienności czasów trwania zadań, potwierdzają, że wykorzystanie opracowanych przez autora algorytmów zwiększa stabilność realizowanych uszeregowań w porówna-niu z planem prac wyznaczonym przez uszeregowanie nominalne.

Predyktywno-reaktywne harmonogramowanie projektu z kamieniami milowymi jest zagadnieniem bardzo szerokim i w związku z tym w tej pracy nie poruszono wielu blemów, których rozważenie może być przydatne przy planowaniu rzeczywistych pro-jektów. W trakcie pracy nad prezentowanym zagadnieniem dostrzeżono obiecujące kie-runki badawcze, nie zaprezentowane w niniejszej rozprawie, a mogące stanowić intere-sujące jej uzupełnienie i rozwinięcie.

Najbardziej oczekiwanym kierunkiem rozwinięcia tej pracy jest wdrożenie opraco-wanej aplikacji ProjektKM przy realizacji rzeczywistych projektów. Wymaga to jednak dostosowania proponowanych rozwiązań do specyficznych wymagań konkretnego przedsięwzięcia. Takie działania zostaną podjęte przez autora. Efektem będzie modyfi-kacja aplikacji ProjektKM na podstawie wyspecyfikowanych oczekiwań użytkowni-ków.

Kolejnym możliwym kierunkiem badań jest opracowanie algorytmów dokładnych dla poszczególnych etapów predyktywno-reaktywnego harmonogramowania, które mo-gą być stosowane dla projektów złożonych z mniejszej liczby zadań. Przedmiotem dal-szych badań będzie także opracowanie nowych, wydajniejdal-szych technik przeszukiwania przestrzeni potencjalnych rozwiązań stosowanych przez metaheurystyki, dedykowanych dla problemu RCPSP ze zdefiniowanymi terminami realizacji etapów projektu.

Innym kierunkiem dalszych prac, jest analiza problemu predyktywno-reaktywnego harmonogramowania projektu z kamieniami milowymi dla systemów produkcyjnych, w których możliwe jest rozpoczynanie zadań przed planowanym terminem rozpoczęcia (w rozprawie analizowano jedynie harmonogramowanie kolejowe). W tym przypadku ciekawym zagadnieniem jest porównanie podejścia predyktywno-reaktywnego z har-monogramowaniem dynamicznym.

Wymienione kierunki badawcze będą przedmiotem dalszych, planowanych prac au-tora.

Część z przedstawionych w rozprawie rozwiązań i wyników badań została opubli-kowana w recenzowanych czasopismach i monografiach [74][75][76][77][78][79][80] [81][82][83][84][85][86][87][88][89][90].

Załącznik 1. Zestawienie wyników obliczeń dla

W dokumencie Index of /rozprawy2/10260 (Stron 152-162)