ALGORYTM DLA PROBLEMU MAKSYMALIZACJI ZDYSKONTOWANYCH PRZEPŁYWÓW PIENIĘŻNYCH PROJEKTU ROZLICZANEGO ETAPOWO



Podobne dokumenty
PROCEDURY GENEROWANIA HARMONOGRAMU DLA PROBLEMU MAKSYMALIZACJI ZDYSKONTOWANYCH PRZEPŁYWÓW PIENIĘŻNYCH DLA PROJEKTU ROZLICZANEGO ETAPOWO 1

Algorytmy konstrukcyjne dla problemu harmonogramowania projektu z ograniczonymi zasobami. Marcin Klimek *

Symulowane wyżarzanie dla problemu harmonogramowania projektu z ograniczonymi zasobami. Marcin Klimek *

PROBLEM HARMONOGRAMOWANIA PŁATNOŚCI DLA WIELOETAPOWEGO PROJEKTU

RISK-AWARE PROJECT SCHEDULING

Dynamiczne metody oceny opłacalności inwestycji tonażowych

PLANOWANIE I OCENA PRZEDSIĘWZIĘĆ INWESTYCYJNYCH

RISK-AWARE PROJECT SCHEDULING

Risk-Aware Project Scheduling. SimpleUCT

HEURYSTYCZNY ALGORYTM SZEREGOWANIA ZADAŃ W SYSTEMIE MASZYN RÓWNOLEGŁYCH Z KRYTERIUM MINIMALNO-CZASOWYM

Metody niedyskontowe. Metody dyskontowe

Projekty generujące dochód w perspektywie finansowej WPROWADZENIE

MAKSYMALIZACJA PRZEPŁYWÓW PIENIĘŻNYCH DLA PROBLEMU HARMONOGRAMOWANIA PROJEKTU W WARUNKACH NIEPEWNOŚCI

Wielokryterialne harmonogramowanie portfela projektów. Bogumiła Krzeszowska Katedra Badań Operacyjnych

Metodyka wyliczenia maksymalnej wysokości dofinansowania ze środków UE oraz przykład liczbowy dla Poddziałania 1.3.1

Ekonomika Transportu Morskiego wykład 08ns

Liczenie efektów ekonomicznych i finansowych projektów drogowych na sieci dróg krajowych w najbliższej perspektywie UE, co się zmienia a co nie?

Analiza Kosztów i Korzyści

Metody ilościowe w badaniach ekonomicznych

Ekonomika i Logistyka w Przedsiębiorstwach Transportu Morskiego wykład 09 MSTiL niestacjonarne (II stopień)

Sterowanie procesami dyskretnymi

RISK-AWARE PROJECT SCHEDULING

Komputerowe wspomaganie zarządzania projektami innowacyjnymi realizowanymi w oparciu o podejście. Rozdział pochodzi z książki:

Nauka o finansach. Prowadzący: Dr Jarosław Hermaszewski

WSTĘP ZAŁOŻENIA DO PROJEKTU

Zastosowanie programowania zero-jedynkowego w harmonogramowaniu czynności projektu

Analiza finansowo-ekonomiczna projektów z odnawialnych źródeł energii. Daniela Kammer

Algorytm hybrydowy dla alokacji portfela inwestycyjnego przy ograniczonych zasobach

BADANIA OPERACYJNE. dr Adam Sojda Pokój A405

RISK-AWARE PROJECT SCHEDULING

Sortowanie topologiczne skierowanych grafów acyklicznych

Elementy modelowania matematycznego

OCENA EFEKTYWNOŚCI INWESTYCJI. Jerzy T. Skrzypek

BIZNESPLAN w PROCESACH

REAKTYWNE HARMONOGRAMOWANIE PROJEKTU 1

Ograniczenia projektu. Zakres (co?) Czas (na kiedy?) Budżet (za ile?)

Inżynieria oprogramowania. Część 8: Metoda szacowania ryzyka - PERT

Harmonogramowanie przedsięwzięć

Spacery losowe generowanie realizacji procesu losowego

Inżynieria oprogramowania

Metody szacowania opłacalności projektów (metody statyczne, metody dynamiczne)

Modele sieciowe. Badania operacyjne Wykład 6. prof. Joanna Józefowska

Metoda CPM/PERT. dr inż. Mariusz Makuchowski

t i L i T i

Projekty generujące dochód

Wartość przyszła pieniądza

Metody optymalizacji dyskretnej

Zarządzanie projektami

Ocena technologii w praktyce biznesowej przedsiębiorstwa usługowego. Dr inż. Aleksander Buczacki

Efektywność Projektów Inwestycyjnych. 1. Mierniki opłacalności projektów inwestycyjnych Metoda Wartości Bieżącej Netto - NPV

System harmonogramowania produkcji KbRS

Podstawy zarządzania projektem. dr inż. Agata Klaus-Rosińska

Główne okno programu Cash Flow Simula zakładka: rozkład prawdopodobieostwa NPV.

Koszty dodatkowe w projekcie, administracja i rozliczanie.

OCENA PROJEKTÓW INWESTYCYJNYCH

mgr Katarzyna Niewińska; Wydział Zarządzania UW Ćwiczenia 2

RACHUNEK EFEKTYWNOŚCI INWESTYCJI METODY ZŁOŻONE DYNAMICZNE

Ekonomiczno-techniczne aspekty wykorzystania gazu w energetyce

Rachunek kosztów działań sterowany czasem (Time-Driven ABC)

AUTOMATYZACJA PROCESÓW DYSKRETNYCH 2016

TEORETYCZNE PODSTAWY INFORMATYKI

Wycena klienta i aktywów niematerialnych

Optymalizacja parametrów w strategiach inwestycyjnych dla event-driven tradingu dla odczytu Australia Employment Change

Ekonomika Transportu Morskiego wykład 08ns

Ocena kondycji finansowej organizacji

Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle

Podejście memetyczne do problemu DCVRP - wstępne wyniki. Adam Żychowski

Planowanie przedsięwzięć

Algorytmy Równoległe i Rozproszone Część V - Model PRAM II

Analiza finansowa inwestycji energetycznych (studium wykonalności) Dr Marek Urbaniak Uniwersytet Ekonomiczny w Poznaniu

9.9 Algorytmy przeglądu

Optymalizacja. Przeszukiwanie lokalne

Wprowadzenie do zarządzania projektami

Rysunek 8. Rysunek 9.

Zarządzanie Projektami Inwestycyjnymi

Maciej Piotr Jankowski

HARMONOGRAMOWANIE ROBÓT BUDOWLANYCH Z MINIMALIZACJĄ ŚREDNIEGO POZIOMU ZATRUDNIENIA

Ekonomika w Przedsiębiorstwach Transportu Morskiego wykład 10 MSTiL (II stopień)

Zmiany w obszarze ustalania wartości dofinansowania projektów generujących dochód względem podejścia z lat

Podstawy programowania. Wykład: 13. Rekurencja. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Równoległy algorytm wyznaczania bloków dla cyklicznego problemu przepływowego z przezbrojeniami

Rozdział 7 ZARZĄDZANIE PROJEKTAMI

Rachunek dyskonta. M. Dacko

PROGRAM WSPÓŁPRACY TRANSGRANICZNEJ POLSKA BIAŁORUŚ UKRAINA

Instrukcja. Laboratorium Metod i Systemów Sterowania Produkcją.

UNIKANIE IMPASÓW W SYSTEMACH PROCESÓW WSPÓŁBIEŻNYCH

Przepływy pieniężne (Cash flows) lub (bardziej konkretnie):

NIETYPOWE WŁASNOŚCI PERMUTACYJNEGO PROBLEMU PRZEPŁYWOWEGO Z OGRANICZENIEM BEZ PRZESTOJÓW

Problem 1 prec f max. Algorytm Lawlera dla problemu 1 prec f max. 1 procesor. n zadań T 1,..., T n (ich zbiór oznaczamy przez T )

2. Szybka transformata Fouriera

Testy na utratę wartości aktywów case study. 2. Testy na utratę wartości aktywów w ujęciu teoretycznym

Sprawdzenie stanu granicznego - wyparcie gruntu (UPL)

Szeregowanie zadań. Wykład nr 2. dr Hanna Furmańczyk. 12 października 2014

Ekonomika i Logistyka w Przedsiębiorstwach Transportu Morskiego wykład 10 MSTiL niestacjonarne (II stopień)

Wykład Zarządzanie projektami Zajęcia 3 Zarządzanie czasem w projekcie Zarządzanie kosztami projektu

KONTROLING I MONITOROWANIE ZLECEŃ PRODUKCYJNYCH W HYBRYDOWYM SYSTEMIE PLANOWANIA PRODUKCJI

Kluczowe pojęcia w SW

Zarządzanie projektem inwestycyjnym

Kształcenie w zakresie podstawowym. Klasa 2

Podstawowym celem szkolenia jest zaznajomienie uczestników z metodologią planowania finansowego przedsięwzięć inwestycyjnych.

Transkrypt:

ALGORYTM DLA PROBLEMU MAKSYMALIZACJI ZDYSKONTOWANYCH PRZEPŁYWÓW PIENIĘŻNYCH PROJEKTU ROZLICZANEGO ETAPOWO Marcin KLIMEK, Piotr ŁEBKOWSKI Streszczenie: Proble haronograowania projektu z kryteriu aksyalizacji zdyskontowanych przepływów pieniężnych to ważne zagadnienie często podejowane w pracach badawczych. W artykule przedstawiony jest odel, w który rozliczenia finansowe wykonywane są po zrealizowaniu uownych etapów projektu (kaieni ilowych). Zaproponowany jest algoryt dedykowany dla tego odelu korzystający z scheatów generowania haronograów w przód oraz procedury przesunięć prawostronnych zadań. Zasady tworzenia rozwiązań odpowiednich dla rozważanego probleu i działanie algorytu zilustrowane są dla przykładowego projektu. Na koniec przeanalizowane są wyniki eksperyentów obliczeniowych. Słowa kluczowe: haronograowanie projektu z ograniczoną dostępnością zasobów, wartość bieżąca netto, zdyskontowane przepływy pieniężne, kaienie ilowe, algoryt losowy z przesunięciai prawostronnyi 1. Wprowadzenie W ciągu ostatnich kilkudziesięciu lat, zarządzanie projektai i ich haronograowanie jest jedny z najważniejszych kierunków w badaniach naukowych z zakresu badań operacyjnych. Wynika to. in. z dużego zapotrzebowania praktycznego. Wiele prac tj. duże zlecenia konstrukcyjne, budowlane, IT, produkcja na zlecenie (ang. ake-to-order) realizowanych jest jako projekty (przedsięwzięcia). W raach projektów wykonywane są niepowtarzalne wyroby, usługi. Przedsięwzięcie jest realizowane za poocą dostępnych zasobów (aszyn, pracowników) wykorzystywanych do wykonania unikalnego zbioru współzależnych czynności (zadań). Prace badawcze z zakresu haronograowania projektu dotyczą wiele różnych odeli optyalizacyjnych, w których analizowane są różne.in. sposoby realizacji czynności, typy wykorzystywanych zasobów, rodzaje zależności kolejnościowych, kryteria optyalizacyjne itp. Przegląd stosowanych odeli, podejść, algorytów dla probleu haronograowania projektu z ograniczonyi zasobai, w ty uwzględniających kryteria ekonoiczne i przepływy pieniężne, ożna znaleźć w pracach przeglądowych [2-3,8,15]. W ty artykule analizowany jest proble haronograowania projektu z ograniczonyi zasobai RCPSP (ang. Resource-Constrained Project Scheduling Proble) z kryteriu aksyalizacji wartości bieżącej netto projektu NPV (NPV ang. Net Present Value), czyli aksyalizacji suy zdyskontowanych przepływów pieniężnych RCPSPDCF (ang. RCPSP with Discounted Cash Flows). Prace nad problee aksyalizacji NPV projektu rozpoczął Russel w roku 1970 [10]. Od tego czasu powstały liczne odele probleu i algoryty je rozwiązujące [2-3]. W tej pracy przy optyalizacji 572

NPV rozważane są następujące przepływy pieniężne: wydatki wykonawcy ponoszone przy rozpoczynaniu zadań i płatności klienta (zleceniodawcy) za zrealizowanie uownych etapów projektu. Ze względu na niepowtarzalność i unikalność zadań projektowych w praktyce trudno oszacować czasy realizacji zadań, trudne jest także określenie terinu realizacji całego projektu. W celu zwiększenia kontroli przebiegu przedsięwzięcia, zwłaszcza przy dużych zleceniach, wskazane dla klienta jest etapowe rozliczanie prac. Wprowadzenie etapowego rozliczania przedsięwzięcia oże być korzystne także dla wykonawcy, który otrzyując wcześniejsze wpłaty za wykonane etapy prac uzyskuje środki na finansowanie wynagrodzeń pracowników, zakupu ateriałów itp. W artykule przedstawiony jest autorski odel haronograowania projektu z etapowy rozliczanie prac, ze zdefiniowanyi uownyi etapai tzw. kaieniai ilowyi, z kryteriu aksyalizacji zdyskontowanych przepływów pieniężnych związanych z wykonywanie zadań i kaieni ilowych. W proponowany odelu dodatnie przepływy pieniężne (ang. cash inflows) to wpłaty klienta za zrealizowane etapy przedsięwzięcia a ujene (ang. cash outflows) to wydatki wykonawcy ponoszone przy wykonywaniu zadań (w oencie ich rozpoczynania). W badaniach z zakresu nie a tak zdefiniowanego zagadnienia. Rozważane są probley [1,4,11-14], w których zadanio przypisane są ujene lub dodatnie przepływy pieniężne. Dla tych probleów szukane są algoryty aksyalizacji NPV projektu, które zadania z dodatnii przepływai pieniężnyi planują w najwcześniejszy ożliwy terinie a czynności z ujenyi przepływai pieniężnyi jak najpóźniej. W proponowany odelu wszystkie zadania ają ujeny cash flow i ich późniejsze rozpoczynanie jest opłacalne dla wykonawcy, ale oże przesuwać w czasie realizację etapów projektu, co powoduje opóźnianie i zniejszanie płatności klienta. To sprawia, że znane procedury stosowane przy optyalizacji NPV projektu nie są odpowiednie. Cele artykułu jest przedstawienie nowego algorytu poprawy rozwiązań, korzystającego z scheatów generowania haronograu w przód oraz procedur przesunięć prawostronnych zadań i wykazanie jego przydatności dla opisanego odelu. W pracy zaprezentowany jest przykład ilustrujący opisywany proble. Na koniec przeanalizowane są wyniki eksperyentów obliczeniowych dla zodyfikowanych zadań testowych z biblioteki PSPLIB (ang. Project Scheduling Proble LIBrary) [9]. 2. Sforułowanie probleu Klasyczny proble haronograowania projektu oże być przedstawiony jako acykliczny, skierowany graf (sieć) z czynnościai na węzłach AON (ang. Activity On Node) oznaczony G(V, E), gdzie V to zbiór węzłów (zadań, czynności) natoiast E to zbiór łuków (relacji kolejnościowych iędzy czynnościai). W zbiorze V jest n+2 węzłów (n liczba zadań projektowych) ponuerowanych od 0 do n+1 przy zachowaniu porządku topologicznego, tzn. poprzedniki ają niższe nuery od następników. Węzły 0 i n+1 nie przedstawiają rzeczywistych zadań (ają zerowe czasy trwania i zapotrzebowanie na zasoby, węzeł 0 nie a poprzedników, węzeł n+1 nie a następników), reprezentują jedynie początek i koniec grafu G(V, E). W ty artykule analizowany jest odel aksyalizacji zdyskontowanych przepływów pieniężnych związanych z realizacją zadań i uownych etapów projektu (kaieni ilowych) [6], który ożna zapisać wzorai (1-4). 573

Maksyalizacja F: F n i1 ( CFA e i M STi MT ) ( CFM e 1 ) (1) Przy następujących ograniczeniach: ST d ST ( i, j) E (2) i i r ik ia( t ) j a k t, k FTi t, i MA, t t 1, 1, M ) (4) gdzie: ST i czas rozpoczęcia zadania i, d i czas realizacji zadania i, r ik zapotrzebowanie czynności i na zasób typu k, A(t) zbiór zadań wykonywanych w przedziale czasu [t-1, t], a k liczba dostępnych zasobów typu k, FT i czas zakończenia zadania i, M liczba uownych etapów projektu, t uowny terin realizacji -tego etapu projektu, MT terin realizacji -tego etapu projektu w analizowany haronograie, α stopa dyskontowa, MA zbiór zadań realizowanych w -ty etapie o uowny terinie ich zakończenia t, CFA i koszty (wydatki) wykonawcy związane z realizacją czynności i, CFM płatność klienta na rzecz wykonawcy za wykonanie -tego etapu projektu: (3) CFM PM CM ax( MT t,0) (5) PM uowna kwota płatności za wykonanie -tego etapu projektu, CM jednostkowy koszt opóźnień za nieterinowe wykonanie -tego etapu projektu. Realizacja zadań nie oże być przerywana (ang. nonpreeptive RCPSP) i istnieje jeden sposób realizacji zadań (ang. single ode RCPSP). Czynności powiązane są wzajenyi relacjai kolejnościowyi typu koniec-początek bez zwłoki (ograniczenia kolejnościowe: wzór 2). W każdy oencie t liczba wykorzystywanych zasobów nie oże przekroczyć liczby dostępnych zasobów a k (ograniczenia zasobowe: wzór 3) każdego z typu zasobów k = 1,, K (K liczba typów zasobów). Zadania ają określony uowny terin zakończenia wynikający z ich przynależności do danego etapu przedsięwzięcia (ograniczenia uowne: wzór 4, dodatkowe ograniczenia nie występujące w klasyczny RCPSP). Cele haronograowania jest stworzenie uszeregowania o aksyalnej wartości funkcji celu F (patrz: wzór 1). Szukany haronogra usi spełniać ograniczenia kolejnościowe (patrz: wzór 2) i zasobowe (patrz: wzór 3). Haronogra, w który nie są spełnione ograniczenia uowne (patrz: wzór 4), czyli przekroczone są uowne teriny 574

realizacji etapów jest wykonywalny, ale oże być niewydajny ze względu na konieczność ponoszenia kar uownych (patrz: wzór 5). Wszystkie przepływy pieniężne są dyskontowane oddzielnie dla każdego okresu płatności, przy przyjęty pozioie stopy dyskontowej α. Z punktu widzenia wykonawcy wpłaty klienta za realizację etapów projektu CFM to wpływy (ang. cash inflows), natoiast płatności związane z wykonanie czynności CFA i to wydatki (ang. cash outflows). Przyjęto, że wydatki CFA i (tj. koszty wykorzystania zasobów i ateriałów w realizację zadania i) wykonawca ponosi w terinie planowanego w haronograie noinalny czasu rozpoczęcia zadań, a wpłaty CFM otrzyuje dokładnie w oencie zakończenia etapów przedsięwzięcia. Płatności klienta CFM (patrz: wzór 5) za wykonanie -tego etapu to uowne kwoty PM poniejszone o kwotę uszczupleń za nieterinowe zakończenie etapu projektu wyliczoną przy uwzględnieniu jednostkowego kosztu opóźnień CM, zniejszające przepływy pieniężne związane z ty etape. Dla klienta nie jest korzystne wcześniejsze wydatkowanie środków pieniężnych, ale z drugiej strony proponowany odel z etapowy rozliczanie dodatkowo zabezpiecza interesy klienta.in. przez wprowadzenie systeu kar uownych za opóźnienia w realizacji etapów przedsięwzięcia. Wcześniejsze wykonanie kaienia ilowego, przed uowny terine, przynosi korzyści dla wykonawcy w postaci wcześniejszej płatności klienta i w związku z ty większej zdyskontowanej wartości tej płatności. 3. Proponowany algoryt Szukane rozwiązanie probleu to wektor czasów rozpoczęcia zadań (reprezentacja bezpośrednia), dla których sua zdyskontowanych przepływów pieniężnych, wartość funkcji celu F, jest największa. W opracowany algorytie rozwiązania są przechowywane za poocą najczęściej stosowanej w badaniach [8] reprezentacji perutacyjnej tzw. liście czynności (ang. activity list), czyli perutacji nuerów kolejnych zadań uwzględniającej ograniczenia kolejnościowe (zadanie nie oże znajdować się na liście czynności wcześniej niż jego poprzednik). Rozwiązanie w postaci listy czynności jest przekształcane w reprezentację bezpośrednią (wektor czasów rozpoczęcia zadań) przy użyciu procedur dekodujących tzw. scheatów generowania haronograu SGS (ang. Schedule Generation Schee), które z listy kolejnych czynności tworzą haronogra uwzględniający ograniczenia kolejnościowe i zasobowe. Jako procedury dekodujące haronograowania w przód stosowane są.in. [7]: szeregowa procedura SGS (ang. serial SGS) w kolejnych krokach ustalany jest czas rozpoczęcia dla pierwszego nieuszeregowanego zadania z listy czynności, w najwcześniejszy ożliwy terinie biorąc pod uwagę ograniczenia kolejnościowe i zasobowe, równoległa procedura SGS (ang. parallel SGS) w kolejnych oentach czasowych t określane są czasy rozpoczęcia wszystkich nieuszeregowanych zadań (analizowanych w kolejności ich występowania na liście czynności), które ogą być rozpoczęte w czasie t uwzględniając ograniczenia kolejnościowe i zasobowe. Haronogra uzyskany po zdekodowaniu listy czynności za poocą SGS nie jest odpowiedni dla probleu aksyalizacji zdyskontowanych przepływów pieniężnych. Wszystkie czynności, także te z przypisanyi ujenyi przepływai pieniężnyi, rozpoczynane są bez przesunięć prawostronnych. Zwiększenie NPV projektu jest osiągane 575

.in. przez zastosowanie algorytów poprawy przesuwających w prawo czynności o suarycznych ujenych przepływach pieniężnych (dla haronograów ustalonych etodą haronograowania w przód) i/lub w lewo czynności o dodatnich przepływach pieniężnych (dla haronograów ustalonych etodą haronograowania wstecz) [1,4,11-14]. Rozważane są różne algoryty poprawy rozwiązań przez przesunięcia zadań (przegląd w pracy [14]), jednak nie są one dostosowane do analizowanego probleu. W analizowany zagadnieniu z rozpoczynanie czynności związane są ujene przepływy pieniężne (wydatki wykonawcy), więc zadania powinny być odraczane w czasie (przesuwane w prawo). Z drugiej jednak strony funkcja celu F (patrz wzór 6) przyjuje większe wartości, gdy etapy projektu kończone są jak najwcześniej (wcześniejsze płatności klienta, wyższe NPV). Odraczane powinny być te zadania, których późniejsze rozpoczęcie nie przesunie w czasie realizacji etapów przedsięwzięcia. Przebieg opracowanej procedury błądzenia losowego dedykowanej dla analizowanego probleu aksyalizacji NPV projektu rozliczanego etapowo przedstawiony jest na rysunku 1. 1: Inicjalizuj F ax, F ax 2: for przebieg := 1 to liczba_przebiegow 3: L := losujl(n) 4: S := generujs(l, SGS) 5: if(f(s) >= F ax) then 6: F ax := F(S) 7: S ax = S 8: for i := 1 to n 9: b i := 0 10: end for 11: repeat 12: F := F(S ax) 13: for i := 1 to n 14: S := generujsm(l, SGS, b, i) 15: if (F(S ) > F(S ax)then 16: S ax = S 17: axi = i 18: end if 19: end for 20: if (F(S ax) > F ) then 21: b axi := b axi + 1 22: end if 23: until (F < F(S ax)) 24: if (F(S ax) > F ax) then 25: S ax := S ax 26: F ax := F(S ax) 27: end if 28: end if 29: end for 30: Zwróć haronogra S ax Rys. 1. Algoryt błądzenia losowego z procedurą iteracyjnych przesunięć czynności W każdy przebiegu algorytu z rysunku 1 wykonywane są kolejno operacje: losowana jest bieżąca lista czynności L przy wykorzystaniu etody losujl(n) generującej losową perutację zadań od 1 do n, w której uwzględnione są zależności kolejnościowe, 576

generowany jest haronogra S przy wykorzystaniu etody generujs(l, SGS) tworzącej uszeregowanie za poocą procedury SGS (szeregowej lub równoległej) dla listy czynności L, jeśli wartość funkcji celu F dla aktualnego haronograu S, oznaczona jako F(S), jest większa lub równa wartości F ax (najwyższej znalezionej wartość funkcji celu dla wszystkich wygenerowanych haronograów bez przesunięć prawostronnych) haronogra S jest poprawiany przez iteracyjne przesuwanie zadań, w przeciwny wypadku dany przebieg algorytu kończy się i przechodzi się do kolejnego przebiegu algorytu, przesuwanie zadań odbywa się iteracyjnie, w każdej iteracji szukana jest jedna czynność o nuerze axi, której przesunięcie o 1 w prawo jest najkorzystniejsze: o w każdej iteracji dla każdego z zadań od 1 do n wykonywana jest etoda generujsm(l, SGS, b, i), która służy do ustalania nowego haronograu S za poocą procedury SGS dla listy czynności L przy uwzględnieniu aktualnej listy przesuniętych zadań b i dodatkowego przesunięcia zadania i o 1 w prawo, o w danej iteracji spośród wygenerowanych rozwiązań powstałych po przesunięciu o 1 w prawo zadań, wybierane jest to uszeregowanie S ax, dla którego poprawa wartości funkcji celu F jest największa, o procedura poprawy kończy działanie w iteracji, w której nie znaleziono rozwiązania o większej wartości funkcji celu F niż F (najwyższej aktualnie znalezionej wartości funkcji celu dla haronograów z różnyi przesunięciai prawostronnyi zadań dla bieżącej listy czynności L), jeśli w dany przebiegu znaleziono najlepsze rozwiązanie z przesunięciai prawostronnyi o wartości funkcji celu wyższej niż F ax (najwyższej aktualnie znalezionej wartość funkcji celu dla wszystkich haronograów z przesunięciai prawostronnyi dla różnych list czynności), to jest ono zapaiętywane jako S ax. Wszystkie oceniane haronogray w każdy etapie algorytu generowane są przez scheaty SGS i w związku z ty uwzględniają ograniczenia kolejnościowe i zasobowe, co jest największą trudnością przy przesuwaniu prawostronny zadań [13-14]. Zaproponowany algoryt błądzenia losowego z iteracyjny przesuwanie zadań jest uniwersalny. Może być stosowany dla różnych funkcji celu. Także dla znanych probleów aksyalizacji NPV projektu z przypisanyi czynnościo ujenyi lub dodatnii przepływai pieniężnyi [1,4.11-14]. 4. Przykład ilustracyjny Przykładowy projekt, ilustrujący zagadnienie aksyalizacji zdyskontowanych przepływów pieniężnych z etapowy rozliczanie projektu i algoryt przesunięć prawostronnych, składa się z 10 zadań (8 zadań niepozornych) realizowanych za poocą jednego typu zasobu odnawialnego o dostępności wynoszącej 10 (a = 10). Określone są trzy uowne etapy projektu z terinai realizacji 4, 9, 12. Inforacje o projekcie i jego etapach przedstawione są na rysunku 2 (w tych saych kolorach czynności z tego saego etapu projektu). 577

Rys. 2. Sieć czynności AON dla przykładowego projektu ze zdefiniowanyi uownyi etapai projektu Procedury SGS generują często identyczny haronogra noinalny dla różnych list czynności. W przykładzie stosowana jest szeregowa procedura dekodująca, ale podobne analizy ożna przeprowadzić dla procedury równoległej. Dla analizowanego projektu przykładowy haronogra o wartości funkcji celu F wynoszącej 116,38 (w obliczeniach NPV przyjęto stopę dyskontową α = 0.01 przy okresie kapitalizacji wynoszący 1 jednostkę czasową), zaprezentowany jest na rysunku 3. Ten haronogra jest generowany przez szeregowy SGS dla wielu list czynności niepozornych np.: {1, 2, 3, 4, 6, 7, 5, 8}, {1, 2, 3, 4, 7, 6, 5, 8}, {1, 3, 2, 4, 6, 7, 5, 8}, {1, 3, 2, 4, 7, 6, 5, 8} itd. Rys. 3. Haronogra wyznaczony szeregową procedurą SGS bez przesunięć prawostronnych dla listy czynności np. {1, 2, 3, 4, 6, 7, 5, 8} Wszystkie etapy projektu w haronograie z rysunku 3 są ukończone przed uownyi terinai w czasie wynoszący 3, 8 oraz 10 (uowne teriny to odpowiednio 4, 9, 12). Wcześniejsze wykonanie kaienia ilowego, przed uowny 578

terine, przynosi korzyści dla wykonawcy w postaci wcześniejszej płatności klienta i w związku z ty większej zdyskontowanej wartości tej płatności. Ewentualne odroczenie w czasie zadań z dodatni cash flow, które spowoduje opóźnienie wykonania któregoś etapu projektu, nie jest korzystne (dla analizowanego przykładowego projektu), gdyż płatności za etapy projektu są znacznie większe niż wydatki na rozpoczynanie zadań. Haronogra z rysunku 3 ożna poprawić przez przesunięcia w prawo zadań, których opóźnienie nie zieni czasu wykonania etapów projektu. Możliwe jest np. przesuwanie w prawo zadania 5 lub 7 z trzeciego etapu przedsięwzięcia. Proponowany w pracy algoryt przedstawiony na rysunku 1 działa w oparciu o procedurę SGS i iteracyjne przesuwanie o 1 czynności. Opiera się na założeniu, że dla różnych list czynności ogą być generowane identyczne haronogray bez przesunięć prawostronnych a inne uszeregowania z przesunięciai prawostronnyi. W opracowany algorytie każdy haronogra, o wartości funkcji celu F większej lub równej najwyższej znalezionej aktualnie wartości funkcji celu uszeregowań bez przesunięć prawostronnych, poddawany jest procedurze poprawy, czyli iteracyjneu przesuwaniu w prawo zadań. Jest to zasadne co pokazuje przykładowy projekt: dla różnych list czynności procedura poprawy wygeneruje różne uszeregowania. Na rysunku 4 znajdują się haronogray uzyskane przy zastosowaniu algorytu poprawy (przesunięć prawostronnych) dla szeregowej procedury SGS i listy czynności {1, 2, 3, 4, 7, 6, 5, 8} (rys. 4a) lub listy czynności {1, 2, 3, 4, 6, 7, 5, 8} (rys. 4b). Rys. 4. Haronogra uzyskany przy zastosowaniu algorytu poprawy (przesunięć prawostronnych) dla szeregowej procedury SGS i listy czynności {1, 2, 3, 4, 7, 6, 5, 8} (rys. 4a) lub listy czynności {1, 2, 3, 4, 6, 7, 5, 8} (rys. 4b) Dla listy czynności {1, 2, 3, 4, 7, 6, 5, 8} wygenerowany jest haronogra (rys. 4a), w który wykonanych jest sześć iteracyjnych przesunięć zadań (b7 = 2, b5 = 4), kolejno: przesunięcie zadania 7 (poprawa funkcji celu F z 116,36 na 116,47), przesunięcie zadania 7 (F z 116,47 na 116,55), przesunięcie zadania 5 (F z 116,55 na 116,58), przesunięcie zadania 5 (F z 116,58 na 116,61), przesunięcie zadania 5 (F z 116,61 na 116,64), przesunięcie zadania 5 (F z 116,64 na 116,67). Dla listy czynności {1, 2, 3, 4, 6, 7, 5, 8} wygenerowane uszeregowanie (rys. 4b), w który wykonane są cztery iteracyjne przesunięcia czynności (b3 = 2, b5 = 2), kolejno: przesunięcie zadania 3 (poprawa funkcji celu F z 116,36 na 116,59, przy ty przesunięciu 579

zwiększą się o 1 również czasy rozpoczęcia zadań 5 i 7), przesunięcie zadania 3 (poprawa F z 116,59 na 116,80, przy ty przesunięciu zwiększą się o 1 również czasy rozpoczęcia zadań 5 i 7), przesunięcie zadania 5 (F z 116,80 na 116,83), przesunięcie zadania 5 (F z 116,83 na 116,86). Haronogra z rysunku 4a z funkcją celu F = 116,67 a niejszą wartość skuulowanych przepływów pieniężnych o 0,19. Różnica w wartości funkcji celu wynika z wcześniejszego o 2 jednostki czasowe rozpoczęcia zadania 3. Dla listy czynności z rysunku 4a {1, 2, 3, 4, 7, 6, 5, 8} zastosowanie procedury szeregowej prowadzi każdorazowo do opóźnienia rozpoczęcia zadania 6, co przesuwa w czasie ukończenie drugiego i trzeciego etapu projektu i zniejsza wartość funkcji celu F. Haronogray uzyskane w pierwszej iteracji algorytu poprawy przy przesunięciu zadania 3 dla szeregowego SGS i list czynności {1, 2, 3, 4, 7, 6, 5, 8} lub {1, 2, 3, 4, 6, 7, 5, 8} przedstawione są odpowiednio na rysunku 5a i 5b (uwaga: przesunięcie danego zadania o 1 jest równoznaczne z poddanie procedurze SGS projektu z ty zadanie wydłużony o 1 a następnie odpowiedni skorygowanie czasu rozpoczęcia tego zadania). Rys. 5. Haronogra uzyskany w pierwszej iteracji algorytu poprawy przy przesunięciu zadania 3 dla szeregowego SGS i listy czynności {1, 2, 3, 4, 7, 6, 5, 8} (rys. 5a) lub listy czynności {1, 2, 3, 4, 6, 7, 5, 8} (rys. 5b) Przykład pokazuje, że dla różnych list czynności, dla których generowane są identyczne haronogray bez przesunięć prawostronnych, ogą być tworzone uszeregowania z przesunięciai prawostronnyi o różnych wartościach funkcji celu F. Zasadne jest przeprowadzanie procedury poprawy rozwiązań, tak jak w opracowany algorytie błądzenia losowego, dla każdego z haronograów bez przesunięć prawostronnych o równej wartości funkcji celu F. 5. Eksperyenty obliczeniowe Eksperyenty prowadzono przy użyciu prograu zaipleentowanego w języku C# w środowisku Visual Studio.NET dla 480 instancji testowych z biblioteki PSPLIB [9] ze zbioru J30 (projekty 30-zadaniowe) oraz J60 (projekty 60-zadaniowe) z dodatkowo zdefiniowanyi czterea uownyi etapai projektu określanyi zgodnie z procedurą LOSM [5]. Dane do rozliczeń finansowych dla każdego projektu są następujące: PM1 = 40, 580

PM 2 = 40, PM 3 = 40, PM 4 = 80, CM 1 = 1, CM 2 = 1, CM 3 = 1, CM 4 = 2. Koszty związane z realizacją zadań są proporcjonalne do zapotrzebowania na zasoby i czasu trwania czynności a ich sua wynosi 100. Stopa dyskontowa α = 0.01 przy okresie kapitalizacji wynoszący 1 jednostkę czasową. Cele eksperyentów jest sprawdzenie przydatności proponowanego algorytu poprawy i znalezienie bardziej efektywnej procedury SGS (równoległej lub szeregowej) haronograowania w przód dla odelu. Dla każdej instancji probleu z PSPLIB tworzono 1000 losowych list czynności, które przekształcano w haronogra równoległą lub szeregową procedurą SGS. Następnie rozwiązania poprawiono algoryte przesunięć prawostronnych. Wyniki obliczeń zaprezentowane są w tabeli 1. Tab. 1.Wyniki eksperyentów obliczeniowych Paraetry algorytu 30 zadań 60 zadań a b a b Szeregowy SGS, bez przesunięć zadań 52,79 0 38,93 0 Szeregowy SGS, z przesunięciai zadań 53,82 350 40,47 225 Równoległy SGS, bez przesunięć zadań 52,43 0 39,31 0 Równoległy SGS, z przesunięciai zadań 53,67 252 40,89 273 a średnia wartość funkcji celu F, b liczba rozwiązań najlepszych o największej wartości F (spośród 480 eksperyentów). Zastosowanie procedury poprawy każdorazowo zwiększa wartość funkcji celu F co potwierdza jej przydatność dla rozpatrywanego probleu. Dla probleów niejszych 30-zadaniowych efektywniejsza jest szeregowa procedura SGS a dla większych 60-zadaniowych równoległa. 6. Podsuowanie W pracy opisano zagadnienie aksyalizacji zdyskontowanych przepływów pieniężnych projektu rozliczanego etapowo (ze zdefiniowanyi uownyi etapai kaieniai ilowyi). Zaproponowano algoryt błądzenia losowego z poprawą rozwiązań przez przesunięcia w prawo zadań przy zastosowaniu równoległego lub szeregowego scheatu generowania haronograu. W procedurze poprawy wykonywane są iteracyjne przesunięcia jednostkowe zadań w celu optyalizacji funkcji celu. Eksperyenty obliczeniowe potwierdziły przydatność algorytu. Podjęta teatyka jest aktualna i istotna z praktycznego punktu widzenia. Analizowany odel z etapowy, finansowy rozliczanie przedsięwzięcia oże być wykorzystywany przy realizacji dużych projektów budowlanych, konstrukcyjnych, inforatycznych itp. Przediote dalszych prac autorów będzie.in. ipleentacja i przetestowanie opisanego algorytu poprawy (przesunięć prawostronnych) w bardziej zaawansowanych i skutecznych heurystykach tj. syulowane wyżarzanie. Literatura 1. Barou S. M., Patterson J. H.: The developent of cash flow weight procedures for axiizing the net present value of a project, Journal of Operations Manageent, 14(3), 1996, 209-27. 581

2. Hartann S., Briskorn D.: A Survey of Variants and Extensions of the Resource- Constrained Project Scheduling Proble, European Journal of Operational Research, 207(1), 2012, 1-14. 3. Józefowska J., Mika M., Różycki R., Waligóra G., Węglarz J.: Maksyalizacja zaktualizowanej wartości netto w probleach rozdziału zasobów przegląd odeli i algorytów, Zeszyty Naukowe Politechniki Śląskiej, seria: Autoatyka, z. 134, 2002, 243-254. 4. Kis A.: Maxiizing the net present value of a project using a lagrangian relaxation based heuristic with tight upper bounds, Annals of Operations Research, 102, 2001, 221-236. 5. Kliek M.: Predyktywno-reaktywne haronograowanie produkcji z ograniczoną dostępnością zasobów, Praca doktorska, AGH Kraków, 2010. 6. Kliek M., Łebkowski P.: Procedury generowania haronograu dla probleu aksyalizacji zdyskontowanych przepływów pieniężnych dla projektu rozliczanego etapowo [w:] Knosala R. (red.): Innowacje w zarządzaniu i inżynierii produkcji, Opole, Wydawnictwo PTZP, 2013, 587-597. 7. Kolisch R.: Serial and parallel resource-constrained project scheduling ethods revisited: Theory and coputation, European Journal of Operational Research, 90, 1996, 320-333. 8. Kolisch R., Padan R. An integrated survey of deterinistic project scheduling, OMEGA The International Journal of Manageent Science, 29, 2001, 249-272. 9. Kolisch R., Sprecher A. PSPLIB - a project scheduling library. European Journal of Operational Research, 96, 1997, 205-216. 10. Russell A.H.: Cash flows in networks, Manageent Science, 16, 1970, s. 357-373. 11. Selle T., Zierann, J.: A bidirectional heuristic for axiizing the net present value of large-scale projects subject to liited resources, Naval Research Logistics 50, 2003, 130-148. 12. Ulusoy, G., Özdaar, L.: A heuristic scheduling algorith for iproving the duration and net present value of a project, International Journal of Operations and Production Manageent, 15, 1995, 89-98. 13. Vanhoucke M., Deeuleeester E., Herroelen W.: Maxiizing the net present value of a project with linear tie-dependent cash flows, International Journal of Production Research, 39(14), 2001, 3159-3181. 14. Vanhoucke M.: A scatter search procedure for axiizing the net present value of a resource-constrained project with fixed activity cash flows, Gent, Working Paper 2006/417, 1-23. 15. Węglarz J. (red.), Project Scheduling: Recent Models, Algoriths and Applications, Kluwer Acadeic Publishers, 1999. Dr inż. Marcin KLIMEK Zakład Inforatyki, Katedra Nauk Technicznych, Wydział Nauk Ekonoicznych i Technicznych, Państwowa Szkoła Wyższa i. Papieża Jana Pawła II 21-500 Biała Podlaska, ul. Sidorska 95/97 e-ail: arcin_kli@interia.pl Dr hab. inż. Piotr Łebkowski, prof. AGH AGH, Wydział Zarządzania, Katedra Badań Operacyjnych i Technologii Inforacyjnych, 30-067 Kraków, ul. Graatyka 10 e-ail: plebkows@zarz.agh.edu.pl 582