Een heuristische benadering voor projectplanningsproblemen met

advertisement
UNIVERSITEIT GENT
FACULTEIT ECONOMIE EN BEDRIJFSKUNDE
ACADEMIEJAAR 2002 – 2003
Een heuristische benadering voor
projectplanningsproblemen met
“cash flows”
Scriptie voorgedragen tot het behalen van de graad van
Licentiaat in de Toegepaste Economische Wetenschappen, optie:
Technische Bedrijfskunde
Sebastien Devleesschauwer
Onder leiding van:
Prof. dr. M. Vanhoucke
UNIVERSITEIT GENT
FACULTEIT ECONOMIE EN BEDRIJFSKUNDE
ACADEMIEJAAR 2002 – 2003
Een heuristische benadering voor
projectplanningsproblemen met
“cash flows”
Scriptie voorgedragen tot het behalen van de graad van
Licentiaat in de Toegepaste Economische Wetenschappen, optie:
Technische Bedrijfskunde
Sebastien Devleesschauwer
Onder leiding van:
Prof. dr. M. Vanhoucke
“Ondergetekende,
hierbij
dat
Sebastien
onderhavige
Devleesschauwer,
scriptie
wel
mag
bevestigt
worden
geraadpleegd, maar niet mag worden gefotokopieerd. Bij het
citeren moet steeds de titel en de auteur van de scriptie
worden vermeld.”
Woord vooraf
Woord vooraf
Het schrijven van een scriptie is geen sinecure. Interesse in het behandelde domein, een
inspirerende begeleiding, een ijzeren volharding en heel veel geduld zijn daarbij
onontbeerlijke ingrediënten. Ook het belang van steun en begrip uit de naaste omgeving kan
niet worden onderschat.
In eerste instantie wens ik mijn oprechte dank te betuigen aan Prof. dr. M. Vanhoucke die
mijn interesse voor dit onderwerp verder heeft gestimuleerd. Hij bezat de gave om steeds
enthousiast te reageren bij onze samenkomsten. Op deze manier is hij erin geslaagd om
massa’s inspiratie te geven, zodat het beoogde doel kon worden behaald.
Verder wil ik de personen bedanken die bereid waren deze tekst te controleren op taal- en
spellingfouten. Het betreft dhr. Philippe Goossens, mevr. Isabelle Aelvoet en mijn vriendin
Sofie Goossens. Mijn waardering gaat ook uit naar Andy De Vlieger die assistentie verleende
bij de opmaak en lay-out van deze scriptie.
Tenslotte bedank ik mijn familie, mijn vriendin en mijn vrienden die me steeds wisten op te
monteren wanneer ik de moed dreigde te verliezen.
Sebastien Devleesschauwer
02 mei 2003
I
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
Inhoudsopgave
INHOUDSOPGAVE
WOORD VOORAF
I
INHOUDSOPGAVE
II
LIJST VAN DE GEBRUIKTE AFKORTINGEN
V
LIJST VAN DE GEBRUIKTE SYMBOLEN
LIJST VAN DE TABELLEN
LIJST VAN DE FIGUREN
INLEIDING
VI
VII
IX
1
HOOFDSTUK 1: LITERATUUR OMTRENT PROJECTPLANNINGSPROBLEMEN
MET KASSTROMEN
3
1.1. INLEIDING
1.2. PROJECTNETWERKSTRUCTUREN
1.3. CLASSIFICATIE VAN PROJECTPLANNINGSPROBLEMEN
1.3.1. Hulpmiddelenkarakteristieken
1.3.2. Kenmerken van de activiteiten
1.3.2.1. Taakonderbreking
1.3.2.2. Soorten volgorderelaties
1.3.2.3. Andere karakteristieken
1.3.3. Verschillende performantiemaatstaven
1.4. MAXIMALISEREN VAN DE NETTO ACTUELE WAARDE
1.5. ASSUMPTIES
1.6. MATHEMATISCHE FORMULERING VAN HET “RCPSPDC”- PROBLEEM
1.7. INDELING VAN DE OPLOSSINGSMETHODES
1.8. HEURISTISCHE OPLOSSINGSMETHODES
1.8.1. Optimalisatiegeoriënteerde benadering
1.8.2. Parametergebaseerde benadering
HOOFDSTUK 2: BESCHRIJVING VAN HET ALGORITME
2.1. INDELING VAN HET ONDERZOEK
2.2. VOORBEREIDENDE FASE
2.2.1. Inlezen van de projectgegevens
2.2.2. Generatie en inlezen van “cash flows”
2.2.3. Berekenen van aanvullende data
2.3. INITIALISATIE FASE
3
5
6
7
7
8
8
9
9
11
13
13
15
16
17
18
21
22
23
23
23
25
27
II
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
Inhoudsopgave
2.4. SCHEMATISCHE WEERGAVE VAN DE PLANNINGSFASE EN OPTIMALISATIE
2.5. DE PLANNINGSFASE
2.5.1. STAP 1: Bepaling van de set van mogelijke activiteiten
2.5.2. STAP 2: De activiteit met de grootste prioriteit bepalen
2.5.2.1. “Cash flow”
2.5.2.2. Cash flow per tijdeenheid
2.5.2.3. Toekomstige cash flows
2.5.2.4. Duur van de toekomstige activiteiten
2.5.2.5. Aantal toekomstige activiteiten
2.5.2.6. Gemiddelde toekomstige “cash flow”
2.5.2.7. Toekomstige “cash flows” per tijdeenheid
2.5.3. STAP 3: Het plannen van de activiteit met de hoogste prioriteit
2.5.4. STAP 4: Het berekenen van de “net present value”
2.6. DE POSTOPTIMALISATIE
2.6.1. STAP 5: De postoptimalisatie
2.6.2. STAP 6: Nagaan of de projectduur werd ingekort
2.6.3. STAP 7: Het berekenen van de “postoptimale” netto actuele waarde
HOOFDSTUK 3: HET ALGORITME TOEGEPAST OP EEN VOORBEELD
3.1. GEGEVENS
3.2. ILLUSTRATIE VAN HET ALGORITME
3.2.1. Voorbereidende fase
3.2.2. Planningsfase
3.2.3. Postoptimalisatie
3.3. BESPREKING VAN DE BEKOMEN RESULTATEN
HOOFDSTUK 4: BESCHRIJVING VAN DE TESTSET
4.1. PARAMETERS VAN EEN PROJECT
4.1.1. Aantal activiteiten
4.1.2. Order strength, OS
4.1.3. Resource factor, RF
4.1.4. Resource strength, RS
4.1.5. Percentage negatieve cash flows
4.2. BESCHRIJVING VAN DE TESTSET
HOOFDSTUK 5: ANALYSE VAN DE RESULTATEN
5.1. REFERENTIEPUNT
5.2. WERKWIJZE
5.3. 0% NEGATIEVE “CASH FLOWS”
5.3.1. Invloed van het aantal activiteiten
5.3.2. Invloed van de “order strenght” (OS)
5.3.3. Invloed van de “resource factor” (RF)
5.3.4. Invloed van de “resource strenght” (RS)
5.4. 25% NEGATIEVE “CASH FLOWS”
5.4.1. Invloed van het aantal activiteiten
28
31
31
33
35
36
36
38
39
40
41
41
42
43
44
46
47
48
48
51
51
52
54
56
59
59
60
60
61
62
62
63
65
65
66
68
68
69
70
71
72
73
III
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
Inhoudsopgave
5.4.2. Invloed van de “order strenght” (OS)
5.4.3. Invloed van de “resource factor” (RF)
5.4.4. Invloed van de “resource strenght” (RS)
5.5. 50% NEGATIEVE “CASH FLOWS”
5.5.1. Invloed van het aantal activiteiten
5.5.2. Invloed van de “order strenght” (OS)
5.5.3. Invloed van de “resource factor” (RF)
5.5.4. Invloed van de “resource strenght” (RS)
5.6. 75% NEGATIEVE “CASH FLOWS”
5.7. 100% NEGATIEVE “CASH FLOWS”
5.7.1. Invloed van het aantal activiteiten
5.7.2. Invloed van de “order strenght” (OS)
5.7.3. Invloed van de “resource factor” (RF)
5.7.4. Invloed van de “resource strenght” (RS)
5.8. BEVINDINGEN
CONCLUSIE
LIJST VAN DE GERAADPLEEGDE WERKEN
BIJLAGE 1.: RESULTATEN BIJ 75% NEGATIEVE “CASH FLOWS”
74
75
76
77
77
78
79
80
81
82
82
83
84
85
86
88
X
XV
IV
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
Lijst van de gebruikte afkortingen
LIJST VAN DE GEBRUIKTE AFKORTINGEN
AA: het aantal activiteiten
AoA: “activity- on-the-arc” of pijlenvoorstelling
AoN: “activity- on-the-node” of knooppuntvoorstelling
CFW: “cash flow weight”
CNC: “coefficient of network complexity”
CPM: “Critical Path Method”
CPU: “central processing unit”
EAS: “eligible activity set” of de set van mogelijke activiteiten
EF: “earliest-finish time” of vroegste eindtijd
GPR: “generalized precedence relations”
LAN: “lowest activity number”
LF: “latest-finish time” of laatste eindtijd
LSSPT: “late start and shortest processing time”
NPV: “net present value” of netto actuele waarde
OS: “order strenght”
PERT: “Program Evaluation and Review Technique”
RCPSPDC: “resource-constrained project scheduling problem with discounted cash flows”
RF: “resource factor”
rpwi : “rank positional weight” van een activiteit i
RS: “resource strenght”
SSA: “set of schedulable activities” of de set van activiteiten die kunnen worden gepland
V
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
Lijst van de gebruikte symbolen
LIJST VAN DE GEBRUIKTE SYMBOLEN
α: de continue verdisconteringsfactor
At : de set van aan de gang zijnde activiteiten op het tijdstip t
AVj : de beschikbaarheid van het hulpmiddel j
CFi: de “cash flow” van een activiteit i
di: de duur van een activiteit i
i: index voor het aantal activiteiten (1, …, N)
j: index voor het aantal hulpmiddelen (1, …, NR)
k: index voor het aantal volgers (1, …, NSi)
l: index voor het aantal voorgangers (1, …, NPi)
N: het aantal activiteiten waaruit het project bestaat, het activiteitsnummer
NPi: het aantal voorgangers van een activiteit i
NR: het aantal hulpmiddelen dat het project gebruikt
NSi: het aantal volgers van een activiteit i
Pi: de set van onmiddellijke voorgangers van een activiteit i
pil: de lde voorganger van een activiteit i
rij : het verbruik van elk hulpmiddel j door de activiteit i
RRtj : het overblijvend aantal hulpmiddelen van het type j op het tijdstip t
sik : de kde volger van een activiteit i
SSAt : “set of schedulable activities” op het tijdstip t
ssati: binaire variabele die aangeeft of de activiteit i op het tijdstip t al dan niet tot de SSAt
behoort
STi : het tijdstip waarop de activiteit i wordt gestart
t: tijd
TTi : het tijdstip waarop de activiteit i is afgewerkt
TTmax: de maximale projectduur
wi : wegingsfactor voor de activiteit i
VI
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
Lijst van de tabellen
LIJST VAN DE TABELLEN
TABEL 1.1.: Overzicht van de belangrijkste onderzoeken naar optimale
15
oplossingsmethodes
TABEL 1.2.: Overzicht van de belangrijkste onderzoeken naar heuristische
16
oplossingsmethodes
TABEL 3.1.: De toekomstige en het aantal toekomstige activiteiten voor dit voorbeeld 51
TABEL 3.2.: Overzicht van de resultaten die werden bekomen bij het voorbeeld
57
TABEL 4.1.: Overzicht van de parameters waarrond de testset is opgebouwd
63
TABEL 5.1.: Resultaten van de heuristieken per aantal activiteiten bij 0% negatieve
69
“cash flows”
TABEL 5.2.: Resultaten van de heuristieken per percentage OS bij 0% negatieve
70
“cash flows”
TABEL 5.3.: Resultaten van de heuristieken per percentage RF bij 0% negatieve
71
“cash flows”
TABEL 5.4.: Resultaten van de heuristieken per percentage RS bij 0% negatieve
72
“cash flows”
TABEL 5.5.: Resultaten van de heuristieken per aantal activiteiten bij 25% negatieve
73
“cash flows”
TABEL 5.6.: Resultaten van de heuristieken per percentage OS bij 25% negatieve
74
“cash flows”
TABEL 5.7.: Resultaten van de heuristieken per percentage RF bij 25% negatieve
75
“cash flows”
TABEL 5.8.: Resultaten van de heuristieken per percentage RS bij 25% negatieve
76
“cash flows”
TABEL 5.9.: Resultaten van de heuristieken per aantal activiteiten bij 50% negatieve
78
“cash flows”
TABEL 5.10.:Resultaten van de heuristieken per percentage OS bij 50% negatieve
79
“cash flows”
TABEL 5.11.:Resultaten van de heuristieken per percentage RF bij 50% negatieve
80
“cash flows”
TABEL 5.12.:Resultaten van de heuristieken per percentage RS bij 50% negatieve
81
“cash flows”
VII
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
Lijst van de tabellen
TABEL 5.13.:Resultaten van de heuristieken per aantal activiteiten bij 100% negatieve 83
“cash flows”
TABEL 5.14.:Resultaten van de heuristieken per percentage OS bij 100% negatieve
84
“cash flows”
TABEL 5.15.:Resultaten van de heuristieken per percentage RF bij 100% negatieve
85
“cash flows”
TABEL 5.16.:Resultaten van de heuristieken per percentage RS bij 100% negatieve
86
“cash flows”
TABEL 1:
Resultaten van de heuristieken per aantal activiteiten bij 75% negatieve
XIV
“cash flows”
TABEL 2:
Resultaten van de heuristieken per percentage OS bij 75% negatieve
XIV
“cash flows”
TABEL 3:
Resultaten van de heuristieken per percentage RF bij 75% negatieve
XV
“cash flows”
TABEL 4:
Resultaten van de heuristieken per percentage RS bij 75% negatieve
XVI
“cash flows”
VIII
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
Lijst van de figuren
LIJST VAN DE FIGUREN
FIGUUR 2.1.:“Flow chart” van het eigen algoritme
30
FIGUUR 2.2.:Overzicht van de prioriteitsregels
34
FIGUUR 3.1.:Knooppuntvoorstelling van het numeriek voorbeeld
50
FIGUUR 3.2.:De planningsfase met het “aantal toekomstige activiteiten” als
53
prioriteitsregel
FIGUUR 3.3.:Hulpmiddelenverdeling na de planningsfase (voor het hulpmiddel 1)
54
FIGUUR 3.4.:Hulpmiddelenverdeling na de eerste postoptimalisatie-iteratie (voor
55
het hulpmiddel 1)
FIGUUR 3.5.:Hulpmiddelenverdeling na de tweede iteratie (voor het hulpmiddel 1)
55
FIGUUR 3.6.:Hulpmiddelenverdeling van de “postoptimale” planning (voor het
56
hulpmiddel 1
IX
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
Inleiding
INLEIDING
Bij projectplanning is het de bedoeling om de verschillende activiteiten waaruit een project is
opgebouwd te plannen zodanig dat een vooropgesteld doel wordt geoptimaliseerd. Daarbij
dienen volgorderelaties en veelal ook hulpmiddelen- en andere beperkingen te worden
gerespecteerd.
Het merendeel van de onderzoeksinspanningen die totnogtoe werden geleverd op het vlak van
het oplossen van projectplanningsproblemen zijn gericht op het minimaliseren van de
projectduur. De financiële aspecten, die nochtans onlosmakelijk met projectmanagement zijn
verbonden, worden daarbij echter over het hoofd gezien. Indien men deze wel in rekening wil
brengen, geniet het maximaliseren van de netto actuele waarde de voorkeur. Deze preferentie
neemt toe naarmate de projectduur stijgt.
Optimale procedures zijn in staat om kleine projectplanningsproblemen op te lossen. De
combinatie van volgorderelaties en hulpmiddelenbeperkingen is echter de oorzaak dat deze
procedures veelal falen wanneer het aantal activiteiten toeneemt.
In dit geval biedt een
heuristische oplossingsbenadering de uitweg.
De literatuur omtrent de heuristische benadering van projectplanningsproblemen concentreert
zich voornamelijk op het minimaliseren van de projectduur. Omtrent het maximaliseren van
de netto actuele waarde als performantiemaatstaf is veel minder literatuur beschikbaar. Dit
zou een mogelijke beperking kunnen vormen. Daarentegen biedt dit wel de mogelijkheid om
zelf creatieve oplossingen naar voren te schuiven en uit te testen.
Grootschalige projecten zoals de bouw van de tunnel onder het Kanaal, de organisatie van het
Europees Kampioenschap voetbal in België en Nederland (EURO 2000), … wekten mijn
interesse voor projectplanning op.
Deze werd verder aangewakkerd door de lessen
“Productiebeleid” in de eerste licentie. Het perspectief om, aan de hand van de beschikbare
literatuur, zelf een algoritme op te stellen en te implementeren, vormde een bijkomende
motivatiebron om een bijdrage – hoe bescheiden ook – trachten te leveren aan dit onderzoek.
Het onderzoek naar oplossingsmethodes met het maximaliseren van de netto actuele waarde is
in volle ontwikkeling. Getuige daarvan zijn onder andere de nieuwe inzichten die Prof. dr.
1
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
Inleiding
Vanhoucke opwerpt in zijn doctoraatscriptie en de intrede van de zogenaamde
“metaheuristische” oplossingsmethodes.
Het feit dat dit alles wordt geïmplementeerd in “real-life” situaties maakt dat ik me met heel
veel plezier en enthousiasme in dit onderwerp heb verdiept.
De indeling van deze scriptie ziet er als volgt uit.
Vooreerst wordt in hoofdstuk 1 het probleem geschetst aan de hand van de literatuur. We
opteren hierbij voor een stapsgewijze introductie tot het onderwerp.
Eerst worden
projectplanningsproblemen, de visualisatie en de verschillende componenten ervan
besproken. We vervolgen met toe te lichten in welke gevallen een maximalisatie van de netto
actuele waarde gewenst is. Daarna formuleren we het probleem mathematisch. Zo komen we
tenslotte bij de verschillende oplossingsmethodes terecht. De heuristische benadering zal
hierbij uiteraard het grootste deel van onze aandacht opeisen.
Daarna wordt in hoofdstuk 2 het algoritme voorgesteld.
Achtereenvolgens worden de
voorbereidende fase, de initialisatiefase, de planningsfase en de postoptimalisatie
gedetailleerd besproken. Tijdens de planningsfase worden zeven heuristieken voorgesteld.
Deze zijn variaties op bestaande prioriteitsregels. De postoptimalisatie zorgt ervoor dat onze
procedure een zogenaamde “multi-pass”-procedure vormt (cfr. §1.8.2.).
Dan wordt in hoofdstuk 3 het algoritme verduidelijkt aan de hand van een numeriek
voorbeeld.
We doorlopen hierbij de heuristische oplossingsprocedure voor één
prioriteitsregel.
Vervolgens blijven we in hoofdstuk 4 stilstaan bij de gehanteerde testset.
De gebruikte
parameters worden hierbij uitvoerig toegelicht.
Hoofdstuk 5 is tenslotte gewijd aan een analyse van de resultaten. Daarbij wordt nagegaan
onder welke projectvoorwaarden onze heuristieken het best performeren.
2
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
1. Literatuur omtrent projectplanningsproblemen met kasstromen
HOOFDSTUK 1: LITERATUUR OMTRENT
PROJECTPLANNINGSPROBLEMEN MET KASSTROMEN
Alvorens
een
algoritme
te
kunnen
opstellen,
is
een
literatuuroverzicht
omtrent
projectplanningsproblemen met hulpmiddelenbeperkingen en gewogen kasstromen zeker geen
overbodige luxe. Aan de hand van deze literatuurstudie formuleren we het “RCPSPDC”probleem, welke het uitgangspunt zal vormen voor het eigen algoritme.
“RCPSPDC” staat hierbij voor “resource-constrained project scheduling problem with
discounted cash flows”.
In de eerste, inleidende paragraaf schetsen we wat een projectplanningsprobleem inhoudt.
Daarna worden de twee manieren waarop een project kan worden gevisualiseerd, namelijk de
knooppunt- en pijlenvoorstelling, besproken. In sectie 1.3. geven we aan de hand van het
classificatieschema van Herroelen et al. (1999, blz. 1 – 26) een overzicht van de verschillende
componenten van een project. We onderscheiden hierbij de hulpmiddelen, de aard van de
activiteiten, de volgorderelaties en de performantiemaatstaven. In paragraaf 1.4 zetten we de
voorwaarden voor het gebruik van de netto actuele waarde als performantiemaatstaf op een
rijtje.
De volgende twee secties zijn gewijd aan de formulering van het probleem. In § 1.5. geven
we kort de assumpties weer die aan de basis liggen van de mathematische formulering van het
probleem in § 1.6.
Vervolgens gaan we in paragraaf 1.7. dieper in op de verschillende oplossingsmethoden voor
het probleem. Tenslotte spitten we in sectie 1.8. de literatuur uit op zoek naar heuristische
benaderingen.
1.1. Inleiding
Een project kan gedefinieerd worden als:
“een uniek proces, bestaande uit een verzameling gecoördineerde en gecontroleerde
activiteiten met start- en eindtijdstippen, die worden uitgevoerd met het oog op het
realiseren van een doelstelling binnen voorgeschreven tijds-, hulpmiddelen- en
kostenbeperkingen.” (ISO 8402)
3
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
1. Literatuur omtrent projectplanningsproblemen met kasstromen
Het plannen van projecten komt dan neer op het toewijzen van een beperkt aantal
hulpmiddelen aan de verschillende activiteiten over een bepaalde tijdperiode. Deze planning
impliceert meestal het optimaliseren van een doelstelling, waarbij enkele beperkingen kunnen
worden opgelegd. (Etgar R. et al., 1997, blz. 90)
Er worden drie soorten doelstellingen onderscheiden: binnen het vooropgestelde tijdskader
blijven, de kosten beheersen en het kwaliteitsaspect. Er bestaan projectplanningsmethodes
waarbij men de eerste twee objectieven tracht te realiseren. (Pinnell S. en Busch J., 1993,
blz.35 – 36)
Intuïtief is het duidelijk dat deze doelstellingen niet altijd tegelijkertijd kunnen worden
gerealiseerd. Wanneer simultaan meerdere objectieven worden beoogd, is het mogelijk dat er
een consensus wordt gezocht. Deze “trade-off” kan op twee manieren gebeuren (De Reyck
B. en Herroelen W., 1999, blz. 27):
(1) Bij “multi-criteria” analyse worden de verschillende doelstellingen gerangschikt
op basis van bepaalde criteria. Op deze manier bepaalt men de prioriteiten van de
beschouwde objectieven.
(2) Bij “multi-objective” analyse worden de verschillende doelstellingen gewogen en
aldus gecombineerd.
De volgorderelaties en de beschikbare hoeveelheid hulpmiddelen en / of kapitaal vormen de
mogelijke nevenvoorwaarden. (Etgar R. et al., 1997, blz. 90)
Heel veel onderzoek werd reeds verricht en gepubliceerd omtrent projectplanningsproblemen
met volgorderestricties en met of zonder hulpmiddelenbeperkingen, waarin het de bedoeling
is de projectduur te minimaliseren.
De financiële aspecten van projectplanning werden
daarbij niet in beschouwing genomen. (Herroelen W. et al., 1997, blz. 97)
Recentelijk werden pogingen ondernomen om (verdisconteerde) kasstromen in rekening te
brengen, waarbij getracht werd de netto actuele waarde van een project te maximaliseren.
(Herroelen W. et al., 1997, blz. 97)
We hebben het probleem nu algemeen gesitueerd. In de volgende paragraaf gaan we kort in
op de manieren waarop projecten worden gevisualiseerd.
4
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
1. Literatuur omtrent projectplanningsproblemen met kasstromen
1.2. Projectnetwerkstructuren
Sinds de introductie van PERT en CPM wordt een project gevisualiseerd onder de vorm van
een “projectnetwerkstructuur”. De planning van projecten gebeurt typisch aan de hand van
dergelijke netwerkstructuren. Met behulp van knooppunten en georiënteerde pijlen worden
de activiteiten en hun volgorderelaties aangegeven. (De Reyck B. en Herroelen W., 1999,
blz. 19)
In de literatuur zijn twee voorstellingswijzen gangbaar: enerzijds de pijlenvoorstelling of
“activity-on-the-arc”(AoA) en anderzijds de knooppuntvoorstelling of “activity-on-the-node”
(AoN).
In de pijlenvoorstelling worden de gebeurtenissen voorgesteld door knooppunten en de
activiteiten door pijlen. De volgorderelaties tussen twee activiteiten kan worden weergegeven
door het eindknooppunt van de ene pijl – het einde van een eerste activiteit – te laten
samenvallen met het beginknooppunt van een andere pijl – het begin van een volgeractiviteit.
Bij deze methode worden vaak dummy- of schijnactiviteiten tussengevoegd om de
volgorderelaties
te
kunnen
voorstellen.
Dit
kan
een
zware
belasting
voor
de
netwerkvoorstelling vormen. Bovendien zorgen deze schijnactiviteiten ervoor dat één project
kan gevisualiseerd worden door verschillende AoA-netwerken. Ondanks deze nadelen wordt
de pijlenvoorstelling nog vaak gebruikt in de Verenigde Staten, mede door het grote succes
van PERT en CPM. (De Reyck B. en Herroelen W., 1999, blz. 19 – 20)
In de knooppuntvoorstelling wordt elke activiteit door een knooppunt gevisualiseerd en
worden de volgorderelaties door geörienteerde pijlen weergegeven.
voorstellingswijze
is
sterk
verspreid
in
Europa
en
bovendien
Deze (unieke)
zijn
de
meeste
planningspakketten voor projectmanagement gebaseerd op deze methode. (De Reyck B. en
Herroelen W., 1999, blz. 20)
Bij deze methode wordt er vaak aangenomen dat de kosten, die aan de activiteiten zijn
verbonden, gekend zijn en dat betalingen plaatsvinden als de activiteit is afgewerkt. (Kolisch
R. en Padman R , 2001, blz. 252)
5
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
1. Literatuur omtrent projectplanningsproblemen met kasstromen
Het algoritme dat we zullen beschrijven in het tweede hoofdstuk van deze scriptie is
gebaseerd op de knooppuntvoorstelling. Ook het voorbeeld dat we zullen behandelen in
hoofdstuk 3 maakt gebruik van deze methode.
In de volgende paragraaf bespreken we de mogelijke beperkingen welke kunnen zijn
opgelegd aan een project, alsook de doelfunctie.
We doen dit aan de hand van het
classificatieschema zoals dit door Herroelen W. et al. (1999, blz. 1 –26) werd opgesteld.
1.3. Classificatie van projectplanningsproblemen
Projectplanningsmethodes zoals PERT en CPM zijn enkel toegespitst op het tijdsaspect,
zonder daarbij rekening te houden met bijvoorbeeld hulpmiddelen en “cash flows”.
De
introductie van hulpmiddelenbeperkingen en de optimalisatie van andere doelfuncties hebben
vele vormen aangenomen.
Dit leidde tot tal van types projectplanningsproblemen.
Een
overzichtelijk classificatieschema drong zich dan ook op. (Herroelen W. et al., 1999, blz. 1 –
26)
Dit classificatieschema is samengesteld uit drie velden αβγ, in overeenstemming met het
schema voor machineplanning. Daarbij worden de verschillende componenten (activiteiten,
hulpmiddelen, volgorderelaties en performantiemaatstaven) waaruit een project bestaat,
behandeld. (Herroelen W. et al., 1999, blz. 1 – 26)
Het vervolg van deze paragraaf zal gewijd worden aan de bespreking van deze drie velden.
Eerst geven we een overzicht van de hulpmiddelenkarakteristieken, die het α-veld vormen.
Vervolgens komt het β-veld, dat de kenmerken van de activiteiten omvat, aan bod. Tenslotte
gaan we dieper in op het γ-veld, dat gewijd is aan de verschillende performantiemaatstaven.
We blijven hierbij niet stilstaan bij alle verschillende projectplanningsproblemen, vermits het
niet de bedoeling van de scriptie is om een globaal overzicht te schetsen van de
projectplanningsproblemen.
6
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
1. Literatuur omtrent projectplanningsproblemen met kasstromen
1.3.1. Hulpmiddelenkarakteristieken
Aanvankelijk werd het planningsprobleem zonder hulpmiddelenbeperkingen beschouwd. Het
is echter evident dat de activiteiten in de praktijk “resources” verbruiken en dat de
beschikbaarheid van deze hulpmiddelen gelimiteerd is. Incorporatie van beperkingen inzake
hulpmiddelen maakt de planning aanzienlijk complexer. (Cooper D., 1976, blz. 1186)
Er worden drie categorieën hulpmiddelen onderscheiden (Slowinski R., 1981, blz. 265 - 273):
(1) “Renewable resources” of “hernieuwbare hulpmiddelen” zijn hulpmiddelen die beperkt
zijn over een zekere periode en die terug beschikbaar zijn eens een nieuwe periode wordt
gestart. Ze zijn beschikbaar per periode en onafhankelijk van de lengte van het project.
We denken bijvoorbeeld aan het aantal werknemers per dag, gereedschap, machines, ….
(2) “Nonrenewable resources” of “niet-hernieuwbare hulpmiddelen” zijn daarentegen niet
opnieuw beschikbaar eens ze verbruikt zijn. Ze zijn beperkt over de totale lengte van het
project. Grondstoffen, energie en kapitaal zijn hierbij de voorbeelden bij uitstek.
(3) “Doubly-constrained resources” zijn zowel beperkt per periode (bijvoorbeeld de
kasstromen per tijdseenheid) als over het hele project (bijvoorbeeld het budget).
Er werd aangetoond dat elk “doubly-constrained” hulpmiddel kan worden voorgesteld door
één hernieuwbare en één niet-hernieuwbare “resource”. (Talbot F., 1982, blz. 1197 - 1210)
Recentelijk werden ook “partially (non)renewable resources” geïntroduceerd.
Dit zijn
hulpmiddelen waarvan de beschikbaarheid gedefinieerd is voor een specifiek tijdsinterval.
Stel bijvoorbeeld dat de totale planningshorizon één maand bedraagt. Binnen die maand is de
wekelijkse (niet de dagelijkse) werktijd van de werknemers gelimiteerd door de
arbeidsovereenkomst. (Böttcher et al., 1999, blz. 543 – 559)
Zowel hernieuwbare als niet-hernieuwbare hulpmiddelen kunnen worden weergegeven door
“partially renewable resources”. (Böttcher et al., 1999, blz. 543 – 559)
1.3.2. Kenmerken van de activiteiten
Het β-veld is voorbehouden voor de verschillende karakteristieken van de activiteiten. We
bespreken eerst het begrip “taakonderbreking” en behandelen daarna de verschillende
7
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
1. Literatuur omtrent projectplanningsproblemen met kasstromen
volgorderelaties. Tenslotte geven we een opsomming van enkele andere karakteristieken.
1.3.2.1. Taakonderbreking
In sommige gevallen is het toegestaan om de uitvoering van een activiteit op eender welk
ogenblik te onderbreken. Dit is de zogenaamde “preemption” van een activiteit. Als de
activiteit op een later tijdstip kan worden hernomen daar waar ze werd onderbroken, hebben
we het over “preempt-resume”. Als de activiteit daarentegen niet kan worden verdergezet
daar waar ze werd onderbroken, en ze dus moet worden herstart, spreken we van “preemptrepeat”. (Vanhoucke M., 2001, blz. 10)
De introductie van taakonderbreking doet het aantal mogelijke oplossingen enorm toenemen.
Bijgevolg stijgt ook de complexiteit van het probleem. (Vanhoucke M., 2001, blz. 10)
De onderbreking van activiteiten is meestal niet toegelaten. Ook wij zullen de “preemption”
van activiteiten niet toestaan. (Herroelen W. et al., 1997, blz. 102)
1.3.2.2. Soorten volgorderelaties
Bij alle types van problemen die gebaseerd zijn op de PERT- en CPM-methode zijn de
activiteiten onderworpen aan strikte einde-start volgordebeperkingen zonder tijdvertraging.
Dit wil zeggen dat een activiteit slechts kan worden gestart als al haar voorgangers zijn
voltooid. (Elmaghraby S., 1995, blz. 395)
Naast deze traditionele einde-start volgordebepaling worden ook start-start, einde-einde en
start-einde volgorderelaties onderscheiden. Hierbij dient aangestipt te worden dat start-einde
relaties in de praktijk minder aan bod komen. (De Reyck B. en Herroelen W., 1999, blz. 20)
Elk van deze vier types volgorderelaties kan worden getransformeerd tot één type (Bartusch
et al., 1988, blz. 201 - 240)
8
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
1. Literatuur omtrent projectplanningsproblemen met kasstromen
Bovendien kan er bij elke volgorderelatie een tijdvertraging of “time-lag” worden
aangegeven. Hierbij worden twee types tijdvertragingen onderscheiden (De Reyck B. en
Herroelen W., 1999, blz. 20):
♦ Minimale tijdvertragingen impliceren dat een activiteit slechts kan starten
(eindigen) als de voorganger reeds gedurende een zekere tijdperiode is gestart
(voltooid).
♦ Maximale tijdvertragingen geven aan dat een activiteit ten hoogste een zekere
tijdperiode na de start (einde) van een andere activiteit zou moeten worden gestart
(beëindigd).
Volgorderelaties
die
beide
types
vertragingen
toelaten,
worden
veralgemeende
volgorderelaties of “generalized precedence relations” (GPR) genoemd. (Elmaghraby S. en
Kamburowski J., 1992, blz. 1245 – 1263)
Het samenspel van veralgemeende volgorderelaties kan soms vreemde situaties opleveren.
Zo kan het zijn dat bij de minimalisatie van de projectduur de duur van een activiteit moet
worden verlengd. (Elmaghraby S., 1995, blz. 395)
1.3.2.3. Andere karakteristieken
Hiertoe behoren onder andere (Herroelen et al., 1999, blz. 1 – 26):
♦ de aard van de hulpmiddelenvereisten
♦ vervaldata en deadlines
♦ de introductie van financiële aspecten zoals kasstromen en “penalty costs” of boetes
1.3.3. Verschillende performantiemaatstaven
Een project wordt op een zodanige wijze gepland, dat een of meerdere doelstellingen worden
geoptimaliseerd, gegeven de vooropgestelde beperkingen. (Etgar R. et al., 1997, blz. 90)
Hierbij worden twee soorten performantiemaatstaven of “measures of performance”
onderscheiden. Enerzijds zijn er de zogenaamde reguliere of “early completion” maatstaven
9
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
1. Literatuur omtrent projectplanningsproblemen met kasstromen
en anderzijds de zogenaamde niet-reguliere of “free completion” maatstaven. (Brucker P. et
al., 1999, blz. 22)
Een reguliere maatstaf is een niet-afnemende (in het geval van een minimalisatieprobleem) of
een niet-toenemende (in het geval van een maximalisatieprobleem) functie van de eindtijden
van de activiteiten. Een niet-reguliere maatstaf voldoet niet aan deze definitie. (Brucker P. et
al., 1999, blz. 22)
Tot de eerste categorie behoren onder andere (Kolisch R. en Padman R., 2001, blz. 251):
♦ het minimaliseren van de duur van een project
♦ het minimaliseren van de gemiddelde “flowtime” of doorstroomtijd
♦ het minimaliseren van de gemiddelde “lateness” of laatheid
♦ het minimaliseren van het aantal achteroplopende activiteiten
♦ het maximaliseren van de netto actuele waarde van een project als enkel positieve
kasstromen worden beschouwd
Bij dergelijke maatstaven is het nooit gunstig om een activiteit te verschuiven naar het einde
van het project, indien we enkel de volgorderelaties in beschouwing nemen.
Bij niet-reguliere maatstaven kan het zijn dat het uitstellen van een activiteit leidt tot een
verbetering van de performantiemaatstaf. Dergelijke doelfuncties zijn vaak gerelateerd aan de
financiële aspecten van projectmanagement.
Dit kan onder de vorm van “cash flows”,
“penalty costs”, kwaliteitskosten en dergelijke meer. Volgende doelfuncties ontmoetten we in
de literatuur (Vanhoucke M., 2001, blz. 12):
♦ het maximaliseren van de netto actuele waarde van een project (met zowel
postitieve als negatieve kasstromen)
♦ het minimaliseren van de gewogen “earliness-tardiness penalty costs” van de
activiteiten in een project
Ons planningsprobleem, het maximaliseren van de “net present value” van een project, is dus
een niet-reguliere performantiemaatstaf. Dit betekent dat het uitstellen van een activiteit niet
noodzakelijk tot een verslechtering van deze maatstaf zal leiden.
10
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
1. Literatuur omtrent projectplanningsproblemen met kasstromen
In de volgende paragraaf reiken we argumenten aan welke het gebruik van onze
performantiemaatstaf rechtvaardigen.
1.4. Maximaliseren van de netto actuele waarde
Wanneer de financiële aspecten van projectmanagement in beschouwing worden genomen,
geniet het maximaliseren van de netto actuele waarde van een project de voorkeur als
doelfunctie. De voorkeur voor dit criterium neemt toe als de projectduur stijgt. (Herroelen et
al., 1997, blz. 97)
In het algemeen kunnen de kasstromen die tijdens een project voorkomen twee vormen
aannemen.
Enerzijds zijn er de “cash outflows” die kosten voor personeel, materieel,
materiaal, … inhouden en anderzijds de “cash inflows” welke voorkomen onder de vorm van
inkomende betaling op het einde van het project of bij het voltooien van sommige
“mijlpalen”. (Abbasi G. en Arabiat Y., 2001, blz. 17)
Het maximaliseren van de “net present value” is relevant en te rechtvaardigen indien er aan de
volgende voorwaarden wordt voldaan (Herroelen W. et al., 1997, blz. 116):
♦ de tijdwaarde van geld wordt in beschouwing genomen
♦ de projecten zijn kapitaalintensief en hebben een totale duur van verscheidene
maanden of zelfs jaren
♦ het project kent aanzienlijke kasstromen
♦ er zijn hoge interestvoeten
♦ er is een hoge kapitaalkost
Grote bouwprojecten uit de bouwsector vormen een typisch voorbeeld. (Herroelen W. et al.,
1997, blz. 116)
In de praktijk vinden we toepassingen terug waarin deze doelstelling gewenst is.
De
capaciteitsuitbreiding van het waterproductiecentrum van de Vlaamse Maatschappij voor
Watervoorziening te Kluizen werd gepland met het maximaliseren van de netto actuele
waarde als doelstelling. Dit is een zeer kapitaalintensief project met een duur van meer dan
zes jaar. (Vanhoucke M. en Demeulemeester E., 2003, blz. 30 – 42.
11
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
1. Literatuur omtrent projectplanningsproblemen met kasstromen
De “net present value” (NPV) is gebaseerd op de tijdwaarde van geld. Als we vandaag een
euro ontvangen, dan is deze meer waard dan een euro die we in de toekomst ontvangen.
Immers, die euro kan vandaag nog worden geïnvesteerd en zodoende direct een interest
opleveren. (Herroelen W. et al., 1997, blz. 98)
De formule voor het berekenen van de NPV met een continue verdisconteringsfactor α wordt
later in dit hoofdstuk weergegeven (cfr. § 1.6.).
Aldus komen we tot een “accept-reject” beslissingsmechanisme. Een project wordt aanvaard
als de NPV groter of gelijk aan nul is en geweigerd indien de NPV negatief is. (Herroelen W.
et al., 1997, blz. 98)
Ook bij het plannen van projecten is het NPV-criterium toepasbaar. We kunnen immers
veronderstellen dat de meeste projectbouwers het maximaliseren van hun winst als
voornaamste doelstelling hebben. Bijgevolg is het logisch ook het NPV-criterium te hanteren
bij het plannen van de projecten. (Herroelen et al., 1997, blz. 98)
Vroeger probeerden projectbouwers de kasstromen van hun projecten te verbeteren door
“over-measurement” tijdens de eerste maanden van het contract en / of “front-end loading”.
Daarbij werden de activiteiten die in het begin van het project waren gepland kunstmatig
overprijsd en deze die op een later tijdstip waren gepland onderprijsd. Op deze manier
verbetert de NPV van het project, terwijl de totale kostprijs van het project toch gelijk blijft.
Maar vermits de offerte enkel een raming vormt voor de totale hoeveelheid werk en de totale
kosten van een project, kan dit grote risico’s inhouden. Ook bij het ethische aspect van
dergelijke strategieën kunnen vragen worden gesteld. (Doersch R. en Patterson J., 1977, blz.
882 – 883)
Nu we omschreven hebben in welke omstandigheden het relevant is de netto actuele waarde
van een project te maximaliseren, kunnen we het probleem mathematisch formuleren.
Alvorens daartoe over te gaan, geven we kort de aangenomen assumpties weer.
12
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
1. Literatuur omtrent projectplanningsproblemen met kasstromen
1.5. Assumpties
Bij de formulering van het “RCPSPDC”-probleem nemen we vier veronderstellingen aan.
Deze zijn in lijn met eerdere onderzoeken terzake. We zetten ze kort op een rijtje. (Abbasi G.
en Arabiat Y., 2001, blz. 20)
Ten eerste veronderstellen we een volledig deterministisch kader. Dit wil zeggen dat alle
relevante gegevens, zoals de duur van de activiteiten en het bedrag en de timing van de
kasstromen, op voorhand gekend zijn.
Onderzoek dat de stochastische aspecten van
projectplanningproblemen behandelt, staat nog in zijn kinderschoenen. (Herroelen et al.,
1997, blz. 97 – 98)
Hierbij kennen de activiteiten slechts één “resource”-duur combinatie. Dit is een zogenaamd
“single-mode” activiteit. Dit in tegenstelling tot de zogenaamde “multimode” activiteiten
waar activiteiten verschillende hulpmiddelen-duur combinaties kennen.
(Abbasi G. en
Arabiat Y., 2001, blz. 20)
Ten tweede nemen we aan dat er geen “taakonderbreking” is.
Activiteiten moeten dus
afgewerkt worden eens ze gestart zijn. (cfr. § 1.3.2.1.)
Vervolgens gaan we uit van hernieuwbare hulpmiddelen. Op elk ogenblik is er dus een
gelimiteerde hoeveelheid van deze “resources” beschikbaar. (cfr. § 1.3.1.)
Tenslotte veronderstellen we dat alle volgorderelaties van het einde-start type zonder
tijdvertragingen zijn. In dit geval kan een activiteit starten van zodra alle voorgangers zijn
uitgevoerd. (cfr. § 1.3.2.2.)
1.6. Mathematische formulering van het “RCPSPDC”-probleem
In 1970 introduceerde Russel A.H. het maximaliseren van de netto actuele waarde bij
projectplanningsproblemen onder welbepaalde volgorderelaties. Echter, hierbij werden geen
kapitaal- of hulpmiddelenbeperkingen in ogenschouw genomen. (Russel A.H., 1970, blz. 359)
13
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
1. Literatuur omtrent projectplanningsproblemen met kasstromen
Aangezien het gevaar op “front loading” daardoor nog steeds niet was ondervangen, werden
de kapitaalbeperkingen vrij snel toegevoegd aan het model. (Doersch R. en Patterson J.,
1977, blz. 882 – 883)
Tenslotte werden ook hulpmiddelenrestricties geïmplementeerd. (Russel R.A., 1986, blz.
1292)
Beschouwen we nu een project bestaande uit N activiteiten, elk met een duur di (i = 1,…,N).
Elke activiteit is afgewerkt op een tijdstip TTi en kent een “cash flow” CFi.
Met elke
activiteit is ook een set van onmiddellijke voorgangers Pi geassocieerd. Deze activiteiten
moeten voltooid zijn vooraleer de activiteit i van start kan gaan. Verder beschouwen we NR
verschillende types van hulpmiddelen. Van elk type is er op elk tijdstip t een gelimiteerde
hoeveelheid AVj beschikbaar (j = 1,…,NR).
Iedere activiteit verbruikt rij “resources”.
Tenslotte is α de continue verdisconteringsfactor, At de set aan de gang zijnde activiteiten op
het tijdstip t en TTmax de maximale projectduur. (Pinder J. en Marucheck A., 1996, blz. 230)
Het maximaliseren van de “net present value” (NPV) van een deterministisch “RCPSPDC”
kan dan als volgt worden geformuleerd (Russel R.A., 1986, blz. 1292):
N
maximaliseer NPV =
Σ
CFi . exp(-α . TTi )
(1.1)
i=1
met als randvoorwaarden:
TTi – TTh ≥ di
Σ
voor i = 1,…,N en h ∈ Pi
ri j ≤ AVj voor j = 1,…,NR en t = 1,…, TTmax
(1.2)
(1.3)
i ∈ Pi
De doelfunctie in de vergelijking (1.1) maximaliseert de netto actuele waarde van het project.
De randvoorwaarde uitgedrukt in (1.2) zorgt ervoor dat aan de volgordebepalingen wordt
voldaan. (1.3) drukt uit dat de beschikbare hoeveelheden hulpmiddelen op geen enkel
ogenblik worden overschreden. (Russel R.A., 1986, blz. 1292)
14
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
1. Literatuur omtrent projectplanningsproblemen met kasstromen
1.7. Indeling van de oplossingsmethodes
Nadat we in de vorige paragraaf het probleem mathematisch hebben uitgedrukt, kunnen de
oplossingsmethodes worden besproken. Hierbij onderscheiden we twee types: enerzijds de
optimale benadering en anderzijds de heuristische benadering. (Kolisch R. en Padman R.,
2001, blz. 254)
Enkele eerder gedane onderzoeken omtrent de optimale oplossingsbenadering voor het
maximaliseren van de NPV (“max-NPV”-problemen) wordt weergegeven in tabel 1.1.
TABEL 1.1.: Overzicht van de belangrijkste onderzoeken naar optimale oplossingsmethodes
Deterministisch max-NPV zonder hulpmiddelenbeperkingen
Russel (1970), Grinold (1972), Elmaghraby en Herroelen (1990), Herroelen en Gallens
(1993), Sepil en Kazaz (1994), Demeulemeester et al. (1996)
max-NPV met hulpmiddelen-beperkingen
hernieuwbare hulpmiddelen Yang et al. (1992), Baroum (1992), Icmeli en Erengüç
(1996), Baroum en Patterson (1999)
niet-hernieuwbare hulpmiddelen Doersch en Patterson (1977), Smith-Daniels (1986),
Patterson et al. (1989), Patterson et al. (1990), Speranza en
Vercellis (1993), Dayanand en Padman (1995)
BRON:Herroelen W. et al, 1997, blz. 97 – 121
Kolisch R. en Padman R., 2001, blz. 249 – 272
In het kader van deze scriptie verdiepen we ons enkel in de heuristische benadering van het
“RCPSPDC”-probleem.
De heuristische procedures om dergelijke projectplanningsproblemen te benaderen, kunnen in
twee categorieën ingedeeld worden (Kolisch R. en Padman R., 2001, blz. 257):
(1) De optimalisatiegeoriënteerde of “optimization-guided” benadering
(2) De parametergebaseerde of “parameter-based” benadering.
15
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
1. Literatuur omtrent projectplanningsproblemen met kasstromen
In de volgende paragraaf bespreken we de ontwikkelingen in beide benaderingen. We zullen
ze in dezelfde volgorde behandelen als ze hierboven werden opgesomd.
1.8. Heuristische oplossingsmethodes
Het planningsprobleem zonder hulpmiddelenbeperkingen waarbij de netto actuele waarde
wordt gemaximaliseerd, kan op een efficiënte en optimale manier worden opgelost.
Bijgevolg is er in dit geval geen behoefte aan het gebruik van heuristieken. (Herroelen W. et
al., 1997, blz. 106)
Indien echter hulpmiddelenrestricties worden toegevoegd aan het model, bieden optimale
oplossingsmethodes niet altijd een uitkomst. De beste resultaten worden behaald met een
“depth-first branch-and-bound”-procedure. (Herroelen W. et al., 1997, blz. 118)
Tabel 1.2. geeft een overzicht van de belangrijkste onderzoeken inzake heuristische
planningsmethodes.
TABEL 1.2.: Overzicht van de belangrijkste onderzoeken naar heuristische
oplossingsmethodes
Optimalisatiegeoriënteerd
Parametergebaseerd
Russel R.A. (1986)
Smith-Daniels en Aquilano N. (1987)
Padman R. et al. (1990)
Baroum S. en Patterson J. (1993)
Padman R. en Smith-Daniels D.E. (1993)
Ulusoy G. en Özdamar L. (1995)
Pinder J. en Marucheck A. (1996)
Özdamar L. et al. (1998)
Abbasi G. en Arabiat Y. (2001)
BRON:Herroelen W. et al, 1997, blz. 97 – 121
Kolisch R. en Padman R., 2001, blz. 249 – 272
Hieronder bespreken we kort deze eerdere onderzoeken. Op deze manier willen we een
inzicht bekomen in mogelijke oplossingsmethodes, opdat we zelf een algoritme zouden
kunnen opstellen en verfijnen.
16
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
1. Literatuur omtrent projectplanningsproblemen met kasstromen
De beperking in dergelijke opzetten is veelal de vergelijkingsbasis. Iedere onderzoeker test
de heuristieken uit op probleemsets die, zowel qua veronderstellingen als qua rapportering
van de resultaten, kan verschillen.
Een experiment waarbij de meest veelbelovende
heuristieken en procedures onder identieke assumpties op een standaard testset worden
uitgetest, ontbreekt momenteel nog. (Herroelen W. et al., 1997, blz. 118)
We merken op dat recentelijk pogingen werden ondernomen om lokale zoekmethoden, zoals
de “tabu search” en “simulated annealing”, toe te passen bij het oplossen van dergelijke
planningsproblemen. (Herroelen W. et al., 1997, blz. 118)
Dit vormt de zogenaamde metaheuristische of “metaheuristic”benadering. (Kolisch R. en
Padman R., 2001, blz. 257)
1.8.1. Optimalisatiegeoriënteerde benadering
De oplossingen van het model zonder hulpmiddelenbeperkingen vormen het uitgangspunt bij
deze benadering. Hierdoor komt een “single-pass” heuristiek (cfr. blz. 19) tot stand. (Kolisch
R. en Padman R., 2001, blz. 257)
Het eerste onderzoek hieromtrent werd gepubliceerd door Russell R.A.. (1986). Steunende op
het planningsprobleem zonder hulpmiddelenbeperkingen en op methodes die werden
ontwikkeld om de totale projectduur te minimaliseren, stelde hij zes heuristieken op. (Kolisch
R. en Padman R., 2001, blz. 258)
Het onderzoek bevatte geen heuristiek die het best presteerde voor alle problemen. Bij kleine
activiteiten bleek het niet veel uit te maken welke heuristiek er werd gehanteerd. De regel
waarbij de prioriteit wordt toegekend aan de activiteit met de kleinste “slack” – zijnde het
verschil tussen de “latest finish time” en de “earliest finish time” – bleek het best te presteren
bij grote projecten met lichte hulpmiddelenbeperkingen. Bij strenge hulpmiddelenrestricties
bleek de “target scheduling”-regel de beste performantie te leveren. Hier wordt het verschil
genomen tussen de “earliest finish time” en hun optimale eindtijd, zoals die werd bepaald
door de kasstromenanalyse zonder hulpmiddelenbeperkingen. De activiteit met het grootste
verschil wordt het eerste gepland. (Russel R.A., 1986, blz. 1291 – 1300)
Padman R. et al. (1990) maakten eveneens gebruik van informatie bekomen uit de procedure
voor het maximaliseren van de netto actuele waarde zonder hulpmiddelenbeperkingen, zoals
17
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
1. Literatuur omtrent projectplanningsproblemen met kasstromen
deze door Russel A.H. werd geformuleerd. Zij stelden heuristieken voor, waarbij de start van
een activiteit wordt uitgesteld tot het “target schedule”-tijdstip (cfr. supra).
Het tijdstip
waarop de activiteit zou kunnen worden gepland volgens de volgordebepalingen speelt hierbij
geen enkele rol. Ze kwamen tot de conclusie dat hun optimalisatiegeöriënteerde heuristieken
tot een hogere “net present value” leidden dan deze die door Russell R.A. werden getest.
(Herroelen W. et al., 1997, blz. 111)
Padman R. en Smith-Daniels D. (1993) lieten zich inspireren door het “job-shop”planningsprobleem. Ze onderzochten de “trade-off” tussen kosten voor het te vroeg plannen
en de boetes of kosten voor het te laat plannen. Aan de hand van acht heuristieken gingen ze
na of het meteen in de “wachtrij” opnemen van activiteiten van welke alle voorgangers zijn
afgewerkt tot een hogere netto actuele waarde voor het totale project zou leiden. Uitgebreide
testen toonden aan dat dit het geval is onder verschillende projectparameters. (Padman R. en
Smith-Daniels D.E., 1993, blz. 295 – 311)
Hoewel optimalisatiegebaseerde heuristieken tot goede resultaten kunnen leiden, brengen
dergelijke heuristieken niet altijd significante verbeteringen aan aan de initiële oplossing. Dit
geldt zeker voor wat het maximaliseren van de netto actuele waarde als doelfunctie betreft.
(Patterson J. et al., 1990, blz. 68 – 79)
De implementatie ervan vormt een hinderpaal bij dergelijke optimalisatiegeoriënteerde
heuristieken. Immers, dit vereist het formuleren en het oplossen van het duale probleem van
de lineaire benadering van het versoepelde optimalisatieprobleem. (Pinder J. en Marucheck
A., 1996, blz. 231)
De parametergebaseerde benadering kan in dit geval soelaas bieden. Deze regels kunnen
relatief eenvoudig berekend en geïmplementeerd worden. (Pinder J. en Marucheck A., 1996,
blz. 231)
1.8.2. Parametergebaseerde benadering
Bij deze benadering wordt informatie omtrent het kritische pad en kasstromen gebruikt om
prioriteitsregels op te stellen. (Kolisch R. en Padman R., 2001, blz. 257)
18
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
1. Literatuur omtrent projectplanningsproblemen met kasstromen
Smith-Daniels D. en Aquilano N. (1987) vergeleken de totale duur en de netto actuele waarde
in geval er wordt gepland aan de hand van enerzijds een “late-start” en anderzijds een “earlystart” kritisch pad. Ze kwamen tot de bevinding dat een planning gebaseerd op “early-start”tijden een hogere netto actuele waarde en een kleinere gemiddelde duur opleverde dan indien
elke activiteit zo vroeg mogelijk werd gepland.
Daarenboven vonden ze dat het
planningsschema gebaseerd op de “late-start” tijden gemiddeld langer uitviel en geen
significante verbetering qua netto actuele waarde opleverde. (Smith-Daniels D. en Aquilano
N., 1987, blz. 617 – 630)
Baroum S. en Patterson J. (1993) introduceerden heuristieken die gebaseerd zijn op het begrip
“cash flow weight” (CFW). Deze CFW wordt bekomen door de kasstromen van toekomstige
activiteiten te sommeren. De activiteit met de grootste CFW wordt dan zo vroeg mogelijk
gepland. Dit is een zogenaamde “single-pass” procedure. (Kolisch R. en Padman R., 2001,
blz. 258)
Ze breidden deze basisprocedure uit met een “shifting” of verschuivingsprocedure. Hierbij
wordt getracht activiteiten met een negatieve “cash flow” naar links te verschuiven en
activiteiten met een postieve kasstroom naar rechts.
Deze verschuivingsprocedure wordt
herhaald tot er geen wijzigingen meer kunnen worden aangebracht in het planningsschema.
Dit vormt dan een zogenaamde “multi-pass” procedure. Deze heuristieken kunnen dan nog
worden verfijnd door verdisconteringsfactoren toe te passen op de niet-verdisconteerde
kasstromen bij het bepalen van de CFW. (Herroelen W. et al., 1997, blz. 111)
De gemiddelde netto actuele waarde van een project bleek hoger te zijn bij een CFWheuristiek, dan bij de toepassing van de minimale “slack” als prioriteitsregel. Bovendien
performeerde geen enkele “single-pass” heuristiek significant beter dan een “multi-pass”
regel. (Herroelen W. et al. 1997, blz. 111)
Het algoritme dat wij in het tweede hoofdstuk van deze scriptie zullen voorstellen, bevat ook
dergelijke “multi-pass” procedure.
Ulusoy G. en Özdamar L. (1995) stelden een iteratief planningsalgoritme voor dat tot doel
heeft zowel de netto actuele waarde als de totale projectduur te verbeteren.
De
opeenvolgende voor- en achterwaartse planningsfasen leiden tot een gelijkmatigere verdeling
van het hulpmiddelenverbruik. Samen met het naar rechts verschuiven van de activiteiten
resulteerde dit op zijn beurt tot het behalen van deze dubbele doelstelling. Dit algoritme werd
19
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
1. Literatuur omtrent projectplanningsproblemen met kasstromen
losgelaten op twee testsets en bleek beide objectieven te realiseren. (Ulusoy G. en Özdamar
L., 1995, blz. 89 – 98)
Pinder J. en Marucheck A. (1996) stelden tien heuristieken voor. Deze waren allen gebaseerd
op de verdisconteerde “cash flows” en werden vergeleken met zeven heuristieken die goed
bleken te presteren bij de minimalisatie van de totale projectduur.
Het belang van dit
onderzoek ligt in het feit dat er eenvoudige en intuïtief aanvaardbare prioriteitsregels worden
voorgesteld. De performantie van deze regels werd nagegaan zowel op het vlak van de netto
actuele waarde, als op het vlak van de totale projectduur. (Pinder J. en Marucheck A., 1996,
blz. 229 – 239)
De heuristieken die werden opgebouwd op basis van de verdisconteerde kasstromen van de
toekomstige activiteiten bleken even effectief te zijn als optimalisatiegeöriënteerde regels
onder verschillende projectomstandigheden. (Pinder J. en Marucheck A., 1996, blz. 239)
Özdamar L. et al. (1998) ontwikkelden zes regels die gewogen combinaties van de
dynamische “slack” tijd en “cash flows” van toekomstige activiteiten vormden. Deze regels
werden eveneens geïmplementeerd in een iteratieve “multi-pass” planningsprocedure. De
resultaten die werden bekomen door deze regels toe te passen op een gemodifieerde subset
van de Patterson test bleken beter te zijn, vergeleken met eerder gepubliceerde resultaten.
(Özdamar et al., 1998, blz. 805 – 820)
Abbasi G. en Arabiat Y. (2001) stelden een hybride heuristiek voor die was gebaseerd op de
minimale “late”-starttijd en de “shortest processing time” (LSSPT). De basisidee was om de
activiteit met de kortste procestijd te plannen voor de activiteit met de minimale “late”starttijd werd gestart. Deze heuristiek bleek goed te presteren wat het maximaliseren van de
netto actuele waarde betreft enerzijds en het minimaliseren van de totale projectduur
anderzijds. (Abbasi G. en Arabiat Y., 2001, blz. 17 – 24)
20
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
2. Beschrijving van het algoritme
HOOFDSTUK 2: BESCHRIJVING VAN HET ALGORITME
Nadat we in het eerste hoofdstuk van deze scriptie een bondig overzicht hebben geschetst van
de literatuur omtrent projectplanning, en meer in het bijzonder de heuristische benadering,
beschrijven we nu het eigen algoritme ter zake.
Voor het raamwerk van het algoritme baseren we ons op Abbasi en Arabiat (2001). De
implementatie voeren we echter zelf uit.
De verdere eigen inbreng situeert zich in het
opstellen en implementeren van zeven heuristieken. (Abbasi G. en Arabiat Y., 2001, blz. 1724)
In dit onderzoek worden dus prioriteitsregels geconstrueerd en uitgetest op een uitgebreide
testset. De bedoeling is om combinaties van parameters te vinden waarvoor de heuristiek de
optimale “net present value” voldoende dicht benadert.
Het ultieme doel is om een
voorrangsregel te “ontdekken” die, ongeacht de instellingen van de parameters van de testset,
tegen de netto actuele waarde van de optimale oplossing aanleunt.
In de paragraaf 2.1. wordt het algoritme opgesplitst in vier fases. In § 2.2. wordt de eerste
fase, de voorbereidende fase, toegelicht. Deze fase bestaat uit drie stappen, die elk zullen
worden becommentarieerd.
Daarna volgt de initialisatie fase, welke wordt besproken in
sectie 2.3. Alvorens over te gaan naar de derde en vierde fase, geven we deze schematisch
weer in de vierde paragraaf van dit hoofdstuk. Daarna wordt stilgestaan bij de planningsfase
in § 2.5. Deze derde fase kan worden opgedeeld in vier stappen. Eerst wordt de set van
mogelijke activiteiten op het tijdstip t bepaald. Daarna wordt aan één van deze activiteiten de
hoogste prioriteit toegekend op basis van zogenaamde heuristieken.
We lichten zeven
voorrangsregels toe. Ze werden zelf opgesteld, gebaseerd op bestaande prioriteitsregels uit de
literatuur. In de derde stap wordt de activiteit met de hoogste prioriteit voorlopig gepland.
De planningsfase wordt afgesloten met de berekening van de netto actuele waarde. Aan elke
stap wordt een subparagraaf gewijd. Uiteindelijk sluiten we dit hoofdstuk af met de vierde
en laatste fase van het algoritme, de postoptimalisatie, in sectie 2.6. Hierin wordt nagegaan of
de planning van de acitiviteiten nog kan worden aangepast zodat de netto actuele waarde van
het project wordt verhoogd. Tevens wordt gecontroleerd of de projectduur door die nieuwe
21
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
2. Beschrijving van het algoritme
planning is ingekort. Tenslotte berekenen we de “postoptimale” netto actuele waarde voor de
uiteindelijke planning.
Vermits het opstellen en implementeren van dit algoritme het zwaartepunt vormt van deze
scriptie, lijkt het gerechtvaardigd om hierop dieper in te gaan. De rest van dit hoofdstuk zal
dan ook gewijd worden aan de toelichting van het zelf geïmplementeerde algoritme.
Vooraf dienen echter twee opmerkingen te worden gemaakt:
♦ De hierna volgende bespreking wordt gevoerd voor de planning van één project. Om
meerdere projecten te plannen, wordt het algoritme meerdere keren doorlopen.
♦ In deze tekst wordt er geopteerd voor het gebruik van de zogenaamde “pseudo-code” om
de abstracte redenering te verduidelijken. Dergelijke pseudo-code is heel gebruikelijk in
zulke teksten. Het zorgt ervoor dat de lezer zich niet hoeft in te werken in de gebruikte
programmeertaal, in dit geval Visual C++ 6.0.
2.1. Indeling van het onderzoek
In de literatuur is het heel gebruikelijk het algoritme in te delen in verschillende fasen. De
initialisatie en de planningsfase vinden we in elk algoritme terug. Tevens wordt er vaak een
postoptimalisatie fase uitgevoerd. (Ulusoy G. en Özdamar L., 1995, blz. 89 – 98)
In deze bespreking wordt ook een voorbereidende fase opgenomen. Zo kan het inlezen van
de verschillende variabelen op een overzichtelijke manier worden weergegeven.
Aldus kan dit algoritme worden opgesplitst in de volgende vier fases:
♦ de voorbereidende fase
♦ de initialisatie fase
♦ de planningsfase
♦ de postoptimalisatie fase
Elke fase zal in het verdere verloop van dit hoofdstuk uitvoerig worden behandeld. We
beginnen uiteraard met de voorbereidende fase.
22
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
2. Beschrijving van het algoritme
2.2. Voorbereidende fase
In deze eerste fase worden zowel de gegevens uit de testset als zelf gegenereerde “cash
flows” ingelezen. Daarnaast worden ook enkele bijkomende data, dewelke noodzakelijk zijn
voor het verdere verloop van het algoritme, berekend. Er wordt van de gelegenheid gebruik
gemaakt om tevens symbolen toe te kennen aan de verschillende karakteristieken. De hier
gebruikte symbolistiek is grotendeels gebaseerd op deze gehanteerd door Pinder J. en
Marucheck A. (Pinder J. en Marucheck A., 1996, blz. 230)
2.2.1. Inlezen van de projectgegevens
Het programma start met het inlezen van de projectkenmerken. Deze kenmerken zijn:
♦ N, het aantal activiteiten waaruit het project bestaat, het activiteitsnummer
♦ NR, het aantal hulpmiddelen dat het project gebruikt
♦ AVj, de beschikbaarheid van het hulpmiddel j ( j = 1, 2, …, NR )
Vervolgens worden ook enkele karakteristieken van de activiteiten ingelezen. Het betreft
hier:
♦ di , de duur van een activiteit i
( i = 1, 2, …, N )
♦ ri j, het verbruik van elk hulpmiddel j door de activiteit i
♦ NSi , het aantal volgers van een activiteit i
♦ sik , de kde volger van een activiteit i
( i = 1, 2, …, N en k = 1, 2, …, NSi )
2.2.2. Generatie en inlezen van “cash flows”
Zoals we bij de beschrijving van de testset (cfr. § 4.1.) zullen opmerken, bevat deze testset
geen informatie met betrekking tot “cash flows”.
Daarom is het noodzakelijk voor het
verdere verloop van het onderzoek dat deze afzonderlijk worden gegenereerd.
Deze kasstromen werden voor elk project en voor elk percentage negatieve “cash flows”
afzonderlijk opgeslagen. Zo bekomen we dat, bij het doorlopen van het algoritme, de gepaste
kasstromen op een eenvoudige manier worden ingelezen.
23
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
2. Beschrijving van het algoritme
De “cash flows” worden verder voorgesteld door CFi , met i = 1, 2, …, N.
In dit onderzoek werd er geopteerd om deze kasstromen op een willekeurige (random) manier
aan te maken, naar analogie van eerdere onderzoeken in dit domein. (Pinder J. en Marucheck
A., 1996, blz. 235)
De werkwijze kan als volgt worden uiteengezet:
Eerst wordt het percentage negatieve kasstromen ingelezen in een constante.
Voor dit
onderzoek bedraagt deze constante achtereenvolgens 0%, 25%, 50%, 75% en 100%.
Vervolgens wordt aan elke activiteit van het project een “random cash flow” toegekend uit
een uniforme verdeling met als interval [ -500 ; 500 ].
Vermits de eerste en de laatste activiteit van het project slechts dummyactiviteiten zijn,
stellen we de bijhorende kasstromen gelijk aan nul.
Voor de andere activiteiten gingen we als volgt tewerk. Eerst worden er twee willekeurige
natuurlijke getallen gegenereerd. Het ene tussen 1 en 500 (de “cash flow”) en het andere
tussen 0 en 100 (het percentagegetal). Als dat laatste getal kleiner is dan het vooropgestelde
percentage negatieve “cash flows” (bvb. 50), dan wordt een minteken toegekend aan de
kasstroom. (cfr. code van Prof. dr. Vanhoucke M.)
Aldus bekomen we dat elk project bestaat uit een vooropgesteld percentage negatieve
kasstromen. Op deze manier zal bij de analyse van de onderzoeksresultaten de performantie
van de onderzochte heuristieken kunnen worden nagegaan bij verschillende settings van de
“cash flows”.
De pseudo-code voor deze procedure wordt hieronder weergegeven:
percent negatieve = constante;
(constante = 0.25, 0.50, 0.75, 1.00)
VOOR i = 1 tot N
ALS: i = 1 of i = N
DAN: CFi = 0;
ANDERS:
CFi = random ] 0, 500 ];
ALS: random [ 0, 100 ] < percent negatieve
DAN: CFi = - CFi ;
24
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
2. Beschrijving van het algoritme
Hiermee is het inlezen afgehandeld en kan worden overgegaan naar het berekenen van
aanvullende data. Dit zal de laatste stap vormen van de voorbereidende fase.
2.2.3. Berekenen van aanvullende data
De voorbereidende fase wordt afgesloten met de berekening van variabelen op basis waarvan
in de planningsfase de prioriteiten zullen worden toegekend. Vermits dit echter afhankelijk is
van de gehanteerde heuristiek, zal dit verderop in dit hoofdstuk worden behandeld. In deze
paragraaf verduidelijken we wel de bepaling van de voorgangers en deze van de toekomstige
activiteiten van een activiteit, vermits deze aan de basis liggen van de variabelen in sectie
2.5.2..
Eerst wordt het aantal voorgangers en de voorgangers van elke activiteit bepaald.
We
definiëren hierbij twee symbolen:
♦ NPi , het aantal voorgangers van een activiteit i ( i = 1, 2, …, N )
♦ pil , de lde voorganger van een activiteit i ( l = 1, 2, …, NPi )
Aangezien het kennen van de voorgangers noodzakelijk is bij de bepaling van de mogelijke
activiteiten (cf. § 2.5.1.), behandelen we hier de bepaling ervan. Ten eerste wordt het aantal
voorgangers van elke activiteit gelijkgesteld aan nul. Vervolgens worden voor elke activiteit
het aantal voorgangers en de voorgangers zelf bepaald. Daartoe overlopen we voor elke
activiteit de respectieve volgers. Met behulp van een hulpvariabele “hulp” voeren we een
ruiltransformatie uit. De beschouwde activiteit wordt nu een voorganger van haar volgers en
tevens verhogen we het aantal voorgangers met één activiteit.
We verduidelijken dit aan de hand van een voorbeeld. Stel dat activiteit 5 twee volgers heeft,
nl. 8 en 10. Bij het doorlopen van bovenstaande procedure verkrijgen activiteiten 8 en 10 één
bijkomende voorganger, nl. activiteit 5. Dit is de bedoelde ruiltransformatie.
25
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
2. Beschrijving van het algoritme
De pseudo-code kan als volgt worden weergegeven:
VOOR i = 1 tot N
NPi = 0;
VOOR i = 1 tot N en k = 1 tot NSi
hulp = sik ;
NPhulp + 1;
p hulp , NP(hulp) = i;
Tevens leggen we voor elke activiteit van het project de “toekomstige activiteiten van een
activiteit i” vast.
Hier dienen we duidelijk vast te leggen welke activiteiten er bedoeld
worden. Immers, het onderscheid kan worden gemaakt tussen enerzijds de set van
onmiddellijke volgers en anderzijds de set van alle volgers. (Cooper D., 1976, blz. 1187)
Het eerste geval is een variatie op het begrip “future activities”, waar enkel de activiteit en
haar volgers worden bedoeld. (Pinder J. en Marucheck A., 1996, blz. 232)
Wij opteren echter voor de tweede mogelijkheid. We preciseren het begrip als volgt:
De toekomstige activiteiten van een activiteit i zijn alle activiteiten die in de
knooppuntvoorstelling van een netwerk gelegen zijn op een tak tussen de
activiteit i en de eindactiviteit, inclusief activiteit i en de eindactiviteit.
Hiervoor stellen we een binaire NxN-matrix op.
Het principe is heel eenvoudig.
Als
activiteit j een toekomstige activiteit is van activiteit i, geven we het element ij de waarde één.
Indien dit niet het geval is, kennen we dit element ij de waarde nul toe.
De invulling van de NxN-matrix gebeurt in drie fasen. In eerste instantie initialiseren we de
matrix door de elementen die op de diagonaal gelegen zijn, gelijk te stellen aan één en de
anderen gelijk aan nul. Immers, een activiteit wordt ook als een toekomstige activiteit van
zichzelf beschouwd. Daarna coderen we dat elke activiteit een toekomstige activiteit is van
zijn voorgangers. Tenslotte vervolledigen we de matrix door te implementeren dat de
toekomstige activiteiten van een activiteit j ook toekomstige activiteiten zijn van een activiteit
i, als j een volger is van i.
26
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
2. Beschrijving van het algoritme
De pseudo-code voor de implementatie van deze definitie ziet er als volgt uit:
VOOR i = 1 tot N en j = 1 tot N
ALS: i = j
DAN: toekomstige ij = 1;
ANDERS: toekomstige ij = 0;
VOOR i = N tot 1 en l = 1 tot NP i
toekomstige p(i,l), i = 1;
VOOR i = 1 tot N en j = 1 tot N
ALS: toekomstige ij = 1
DAN: VOOR k = j + 1 tot N
ALS: toekomstige jk = 1
toekomstige ik = 1;
Na het inlezen van de gegevens uit de testset, de generatie en het inlezen van de “cash flows”,
en het berekenen van de aanvullende data is de voorbereidende fase afgerond. In de volgende
paragraaf bespreken we de tweede fase.
2.3. Initialisatie fase
Na alle gegevens te hebben ingelezen in de voorbereidende fase en alvorens over te stappen
naar het eigenlijke programma, moet eerst een initialisatie fase worden doorlopen. Het doel
van deze fase is het toekennen van beginwaarden aan variabelen die later in de planningsfase
zullen worden gebruikt. We vinden dergelijke fase ook terug in het algoritme van Ulusoy en
Özdamar. (Ulusoy G. en Özdamar L., 1995, blz. 91)
Gezien het geringe conceptuele belang van deze fase vermelden we enkel de verschillende
stappen uit deze fase, zonder daarbij uit te wijden over de implementatie in code.
We onderscheiden volgende stappen (Ulusoy G. en Özdamar L., 1995, blz. 91):
(1) Het initialiseren van de klok:
tijd = 1
Naargelang de praktische toepassing van het programma kan men één eenheid
gelijkstellen aan één (arbeids)uur, één (werk)dag, één (werk)week, één maand, …
(2) Het initialiseren van de hulpmiddelen: resterende resources = beschikbare resources
Voor alle NR hulpmiddelen wordt de resterende hoeveelheid ervan gelijkgesteld aan de
beschikbare hoeveelheid AVj ( j = 1, 2, …, NR ) van deze resource, en dit voor alle
27
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
2. Beschrijving van het algoritme
tijdstippen. Deze stap is een uiting van het feit dat er nog geen enkele activiteit gepland
is en bijgevolg ook nog geen enkel hulpmiddel verbruikt is.
(3) Het initialiseren van de eerste activiteit:
Vermits activiteit 1 een dummyactiviteit is, die enkel het begin van het project aangeeft
en geen resources verbruikt, kunnen we deze als reeds gepland beschouwen. Dit doen
we door de binaire variabele “gepland” de waarde 1 toe te kennen. Het aantal geplande
activiteiten bedraagt dan één. De begin- en eindtijd van activiteit 1 worden beiden
gelijkgesteld aan nul.
(4) Het initialiseren van de overige activiteiten:
De overige activiteiten worden allen als “niet-gepland” geïnitialiseerd. Daarom stellen
we voor al deze activiteiten de binaire variabele “gepland” gelijk aan nul.
Hiermee is de initialisatie fase besproken en kunnen we overgaan naar het eigenlijke
programma. Om echter ten allen tijde het overzicht te kunnen behouden, stellen we de
volgende fasen van het programma op een schematische manier voor in de volgende
paragraaf.
2.4. Schematische weergave van de planningsfase en optimalisatie
Figuur 2.1. is een zogenaamd “flow chart” of vloeischema dat het vervolg van dit hoofdstuk
op een schematische manier weergeeft. Deze voorstellingswijze is heel gebruikelijk in de
wereld van programmeurs. Ook in het planningsmilieu wordt er veelvuldig gebruik van
gemaakt. Deze figuur is dan ook gebaseerd op een bestaande “flow chart” (voor de LSSPT
heuristiek (cfr. § 1.8.2.)) en werd aangepast voor het eigen algoritme. (Abbasi G. en Arabiat
Y., 2001, blz. 19)
Het bovenste gedeelte van de figuur stelt de initialisatie fase voor, welke werd besproken in
de vorige paragraaf. Het middelste en onderste deel stellen de volgende fasen voor.
28
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
2. Beschrijving van het algoritme
In de volgende paragrafen van dit hoofdstuk zal ruimschoots aandacht besteed worden aan
elke procedure (de rechthoeken) uit de planningsfase en de optimalisatie. Afhankelijk van het
antwoord op de vragen die in de ruiten vermeld staan, wordt de aangeduide weg gevolgd.
Ons onderzoek is toegespitst op het vinden van een goede prioriteitsregel. Het grijze kader
op de figuur geeft dan ook een essentiële procedure weer voor dit algoritme.
29
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
2. Beschrijving van het algoritme
FIGUUR 2.1.: “Flow chart” van het eigen algoritme
START ( tijd = 1 )
INITIALISATIE
FASE
PLANNINGSFASE
tijd =
tijd + 1
Alle activiteiten
gepland?
JA
NEEN
De set van mogelijke activiteiten
op het tijdstip t bepalen
NEEN
Zijn er activiteiten
mogelijk?
JA
De prioriteit bepalen o.b.v.
heuristiek
De hoogste prioriteit plannen
De net present value berekenen
Postoptimalisatie
POSTOPTIMALISATIE
Nagaan of de projectduur is verkort
De postoptimale net present value
berekenen
EINDE
BRON: gebaseerd Abassi G. en Arabiat Y., 2001, blz. 19
30
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
2. Beschrijving van het algoritme
2.5. De planningsfase
In de derde fase van het programma worden de activiteiten gepland. Deze planning is echter
voorlopig vermits er in de volgende fase, de postoptimalisatie, nog verschuivingen kunnen
optreden in de planning. Wel wordt de maximale totale duur, de “deadline” van het project
vastgelegd. Tijdens de postoptimalisatie kan deze enkel nog worden ingekort, ook al hoeft
dat niet noodzakelijk het geval te zijn.
We onderscheiden vier stappen in deze fase. Eerst wordt een set van mogelijke activiteiten
op het tijdstip t opgesteld.
Indien deze set op het tijdstip t activiteiten bevat, wordt
overgegaan naar de tweede en derde stap. Deze houden in dat op basis van een heuristiek de
activiteit met de grootste prioriteit wordt bepaald en ook wordt gepland.
Als deze set
daarentegen leeg zou zijn, wordt de klok één eenheid vooruitgeschoven en wordt de set van
mogelijke activiteiten voor het tijdstip t+1 bepaald. Dit wordt herhaald totdat alle activiteiten
gepland zijn. Tenslotte wordt de vierde en laatste stap, het berekenen van de netto actuele
waarde of de “net present value”, uitgevoerd.
In pseudo-code kan dit als volgt wordt weergegeven:
ZOLANG aantal_gepland < N –1
(N – 1 omdat de laatste activiteit in de testset een
dummyactiviteit is)
Bepaling van de mogelijke activiteiten op tijdstip t (STAP 1);
ALS: aantal mogelijke activiteiten = 0
DAN: tijd = tijd + 1;
ANDERS:
Bepaling van de activiteit met de grootste activiteit (STAP 2);
Plannen van deze activiteit (STAP 3);
Berekenen van de “net present value” (STAP 4);
We bespreken nu elke stap in detail.
2.5.1. STAP 1: Bepaling van de set van mogelijke activiteiten
De set welke alle mogelijke activiteiten bevat die op een tijdstip t kunnen worden uitgevoerd,
krijgt in de literatuur verschillende benamingen toebedeeld.
31
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
2. Beschrijving van het algoritme
Enerzijds treffen we de term “eligible activity set” (EAS) aan. De opbouw ervan is enkel
gebaseerd op de volgorderelaties. In dat geval worden de hulpmiddelenrestricties pas bij een
latere stap in rekening gebracht. (Abbasi G. en Arabiat Y., 2001, blz. 18)
Ook wordt soms de term “available set” aangetroffen. (Cooper D., 1976, blz. 1187)
Anderzijds hebben Özdamar L. et al. (1998) het over de “set of schedulable activities”. Zij
stellen dat een activiteit tot deze set behoort als haar voorgangers afgewerkt zijn én als er
voldoende hulpmiddelen beschikbaar zijn om aan haar vraag naar “resources” te voldoen.
(Özdamar L. et al., 1998, blz. 805 - 820)
In het eerste geval wordt pas in een latere stap de vraag naar hulpmiddelen nagegaan. Dat
betekent echter dat daartussen ook calculaties plaatsgrijpen voor activiteiten die onmogelijk
kunnen worden gepland. Dit brengt, volgens ons, een extra, te vermijden belasting voor de
computer teweeg. Daarom opteren wij – in navolging van Özdamar L.et al. (1998) - om deze
hulpmiddelenvereisten meteen te incorporeren bij de opbouw van deze set. In deze optiek
kan elke activiteit die opgenomen is in deze set ook daadwerkelijk gepland worden.
We gebruiken verder het symbool SSAt voor deze “set of schedulable activities” op het
tijdstip t en ssati om aan te geven of een activiteit al dan niet tot de SSAt behoort met t = 1,
…, maximale projectduur en i = 1, …, N. ssati is een binaire variabele. Een waarde gelijk aan
één geeft aan dat de activiteit i tot de SSAt behoort.
Op elk tijdstip t gaan we voor elke activiteit na of ze tot de SSAt behoort. De bepaling ervan
in ons algoritme gebeurt volgens een uitsluitingsmechanisme:
(1)
We stellen dat alle activiteiten tot de SSAt behoren op het tijdstip t.
(2)
De activiteiten die reeds gepland zijn, worden uitgesloten.
(3)
Voor activiteiten die nog steeds tot deze set behoren, wordt getest of er aan hun vraag
naar hulpmiddelen wordt voldaan.
Indien dit niet het geval is, worden deze
activiteiten uit de set verwijderd.
(4)
Tenslotte wordt er getest of de voorgangers van een activiteit reeds zijn gepland. Pas
indien ook aan deze voorwaarde wordt voldaan, behoort een activiteit i definitief tot
de SSAt .
(5)
Het aantal activiteiten dat tot deze set behoort, wordt met één verhoogd.
32
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
2. Beschrijving van het algoritme
De desbetreffende pseudo-code voor het tijdstip t kan als volgt worden weergegeven. RRtj is
hierbij het overblijvend aantal hulpmiddelen van het type j op het tijdstip t, met t = 1, …,
maximale duur en j = 1, …, NR.
aantal mogelijke = 0;
VOOR i = 1 tot N
ssati = 1;
VOOR i = 1 tot N
ALS: activiteit i gepland
DAN: ssa ti = 0;
ALS: ssati = 1 en RR ij < rij
DAN: ssa ti = 0;
ALS: ssati = 1 en niet alle NPi gepland
DAN: ssa ti = 0;
ALS: ssati = 1
DAN: aantal mogelijke + 1;
(1)
(2)
(3)
(4)
(5)
Indien de SSA op het tijdstip t geen activiteiten bevat, wordt de tijd met één eenheid
vooruitgeschoven. Daarna wordt de SSA bepaald voor het tijdstip t + 1.
Indien de SSA op het tijdsip t daarentegen wel activiteiten bevat, wordt de prioriteit van de
activiteiten uit deze set bepaald (cfr. § 2.5.2.). Vervolgens wordt de activiteit met de hoogste
prioriteit gepland en wordt de resterende hoeveelheid hulpmiddelen aangepast (cfr. § 2.5.3.).
Daarna wordt de SSA opnieuw bepaald voor het tijdstip t en herbegint de cyclus.
2.5.2. STAP 2: De activiteit met de grootste prioriteit bepalen
Nadat in de vorige stap de SSAt werd bepaald, zoeken we nu de activiteit met de grootste
prioriteit. Dit gebeurt aan de hand van een heuristiek, een vuistregel. In dit onderzoek
worden zeven heuristieken geïmplementeerd en getest.
Het zijn varianten op bestaande
prioriteitsregels (cfr. 1.8.2.) en combinaties van deze varianten.
Sommige van die regels werden wel al getest voor het planningsprobleem met
hulpmiddelenbeperkingen. Hier werden dan echter geen kasstromen in rekening gebracht. In
dit geval werd er getracht heuristieken te vinden die de totale projectduur minimizeren.
(Cooper D., 1976, blz. 1192 – 1193)
We bouwen ook verder op heuristieken die steunen op de zogenaamde “cash flow weight”
(CFW). Dit begrip werd geïntroduceerd door Baroum S. en Patterson J. (1993). De CFW
van een activiteit is gebaseerd op de som van de kasstromen van deze activiteit en de
33
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
2. Beschrijving van het algoritme
kasstromen van alle activiteiten die volgen in het project. (Herroelen W. et al., 1997, blz.
111)
Algemeen wordt er aan elke activiteit die opgenomen is in de SSAt een wegingsfactor wi
toegekend. Deze wegingsfactor is functie van één of meerdere kenmerken van een activiteit.
(Pinder J. en Marucheck A., 1996, blz. 231)
Als voor twee activiteiten i en j geldt dat wi > wj, dan wordt aan activiteit i een hogere
prioriteit toegekend (Pinder J. en Marucheck A., 1996, blz. 231):
wi > wj ⇒ prioriteiti > prioriteitj
Als wi = wj, spreken we van een “tie”. In dat geval krijgt de activiteit met het kleinste
activiteitsnummer (N) de hoogste prioriteit. Deze regel vinden we in de literatuur terug onder
de benaming LAN, wat staat voor “lowest activity number”. (Davis E. en Patterson J., 1975,
blz. 947)
Op deze manier wordt de activiteit met de hoogste prioriteit bepaald voor elke SSAt , waarna
deze activiteit in de volgende stap wordt gepland. De prioriteitsregels worden dus gehanteerd
in een “parallelle benadering”. (Davis E. en Patterson J., 1975, blz. 947)
Hieronder bespreken we de voor dit onderzoek gehanteerde heuristieken. Tevens worden ook
enkele mogelijke problemen van de respectieve prioriteitsregels vermeld. Hierbij is het heel
belangrijk om in het achterhoofd te houden dat enkel deze activiteiten die in de SSAt zitten, in
beschouwing worden genomen. Figuur 2.2. geeft een overzicht van de voorrangsregels die in
dit onderzoek zijn opgenomen:
FIGUUR 2.2.: Overzicht van de prioriteitsregels
1.
2.
3.
4.
5.
6.
7.
“cash flow”
“cash flow” per tijdeenheid
toekomstige “cash flows”
duur van de toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige “cash flow”
toekomstige “cash flows” per tijdeenheid
BRON: eigen werk
34
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
2. Beschrijving van het algoritme
2.5.2.1. “Cash flow”
Uit de SSAt krijgt de activiteit met de grootste “cash flow” de hoogste prioriteit.
De
wegingsfactor wi is dus enkel een functie van de kasstroom die geassocieerd is met de
activiteit i:
wi = CFi
Er kan geopteerd worden om deze kasstromen te verdisconteren, rekening houdende met
ofwel de vroegste eindtijd (“early-finish time”) ofwel de laatste eindtijd (“late-finish time”)
ofwel de activiteitsduur. (Pinder J. en Marucheck A., 1996, blz. 232)
We kiezen er echter voor om dat niet te doen.
We wensen de meest eenvoudige
prioriteitsregel op het vlak van kasstromen uit te testen.
De pseudo-code kan als volgt worden weergegeven:
grootste_CF = -500;
(kleinst mogelijke CF in dit onderzoek)
VOOR i = 1 tot N
ALS: ssati = 1 en CFi > grootste_CF
DAN: grootste_CF = CFi ;
grootste_act = i;
Dit lijkt de meest logische voorrangsregel die men kan hanteren indien er gepoogd wordt de
netto actuele waarde van een project te maximaliseren. (Pinder J. en Marucheck A., 1996,
blz. 232)
Immers, op deze manier worden enerzijds activiteiten met een negatieve of zeer lage “cash
flow” zo lang mogelijk uitgesteld, terwijl anderzijds activiteiten met een “goede” kasstroom
zo vroeg mogelijk worden gepland. (Russel A., 1970, blz. 359)
Hierbij kunnen drie punten van kritiek aangestipt worden:
(1) Er wordt geen rekening gehouden met de toekomstige activiteiten van een project.
(2) Er is geen tijdsaspect verbonden aan deze regel.
(3) Activiteiten met een zeer lage “cash flow” worden steeds uitgesteld. Daardoor is
het niet denkbeeldig dat een tak met een “slechte” kasstroom pas helemaal op het
35
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
2. Beschrijving van het algoritme
einde van het project zou worden gepland. Dit zou tot gevolg hebben dat deze tak
dan als het ware aan het einde van het project wordt “gekleefd”.
Dit impliceert dat deze vuistregel wel eens slecht zou kunnen presteren wat de duur van een
project betreft. Daarom hebben we ook voorrangsregels uitgewerkt die bovenstaande euvels
tracht te verhelpen.
2.5.2.2. Cash flow per tijdeenheid
Deze prioriteitsregel is een eenvoudige uitbreiding van de bovenstaande. De wegingsfactor wi
is nu de verhouding van de kasstroom en de duur van de betrokken activiteit i:
wi =
CFi
di
De pseudo-code kan als volgt worden voorgesteld:
grootste_CF_per_tijdseenheid=-500; (kleinst mogelijke in dit onderzoek)
VOOR i = 1 tot N
ALS: ssati = 1 en CFi / di > grootste_CF_per_tijdseenheid
DAN: grootste_CF_per_tijdseenheid = CFi / di ;
grootste_act = i;
Deze prioriteitsregel incorporeert reeds de duur van de betrokken activiteit, maar heeft nog
steeds geen oog voor de duur en de kasstromen van de toekomstige activiteiten van deze
activiteit. De eerste en de derde kritiek van voorgaande voorrangsregel gaan ook hier op.
Bijgevolg houden we in de volgende heuristieken ook rekening met de toekomstige
activiteiten van een activiteit.
2.5.2.3. Toekomstige cash flows
Deze voorrangsregel incorporeert de kasstromen van de toekomstige activiteiten van een
activiteit.
Deze regel lijkt sterk op enkele door Pinder J. en Marucheck A. (1996) opgestelde en
onderzochte heuristieken.
Het punt van verschil ligt in de gehanteerde definitie van
toekomstige activiteiten (cfr. §.2.2.3.). (Pinder J. en Marucheck A., 1996, blz. 232)
36
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
2. Beschrijving van het algoritme
Zij opteren echter om de cash flows van toekomstige activiteiten te verdisconteren, enerzijds
rekening houdende met de “early-finish times” (EF) en anderzijds de “late-finish times” (LF).
Hierbij maken we de bemerking dat op het ogenblik dat activiteit i zou kunnen worden
gepland, het helemaal nog niet geweten is wanneer toekomstige activiteiten dit zouden
kunnen worden. Het is bijgevolg helemaal niet zeker dat ze zullen worden gepland, hetzij op
hun EF- hetzij hun LF-tijd. (Pinder J. en Marucheck A., 1996, blz. 232)
Daarom kiezen wij ervoor de kasstromen van toekomstige activiteiten niet te verdisconteren.
We definiëren de “toekomstige cash flows van een activiteit i”, toek CFi , als de som van de
kasstromen van de toekomstige activiteiten van een activiteit i.
Merk op dat de kasstroom van een activiteit i ook bij de toekomstige cash flows van deze
activiteit wordt gerekend.
Dit geeft dan:
N
wi =
Σ
CFj, als activiteit j een toekomstige activiteit is van activiteit i
0, anders
j=1
Voor de berekening van die toekomstige “cash flows” van een activiteit i vallen we terug op
de NxN-matrix die de toekomstige activiteiten van een activiteit weergeeft (cfr. § 2.2.3.). De
pseudo-code ziet er dan als volgt uit:
VOOR i = 1 tot N
toek_CFi = 0;
VOOR i = 1 tot N en j = 1 tot N
ALS: toekomstigij = 1
DAN: toek_CFi = toek_CFi + CFj ;
De activiteit - voor zover ze deel uitmaakt van de SSAt - met de grootste toekomstige “cash
flow” krijgt de hoogste prioriteit. De implementatie ziet er als volgt uit in pseudo-code:
grootste_toek_CF = - 500 *aantal_act; (kleinst mogelijke toekomstige CF)
VOOR i = 1 tot N
ALS: ssati = 1 en toek_CFi > grootste_toek_CF
DAN: grootste_toek_CF = toek_CFi ;
grootste_act = i;
Aldus ontstaat een voorrangsregel die niet enkel de kasstromen van de activiteiten uit de SSAt
bevat, maar ook deze van de toekomstige activiteiten van die activiteiten. De mogelijke
37
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
2. Beschrijving van het algoritme
beperking van deze vuistregel vormt het feit dat er geen rekening wordt gehouden met het
tijdsaspect. Daarom rijst meteen de vraag of deze heuristiek een goede performantie zal
kennen op het vlak van de totale projectduur.
2.5.2.4. Duur van de toekomstige activiteiten
Deze heuristiek werd door Cooper (1976) geïntroduceerd als “the greatest rank positional
weight (rpwi)”. Hierbij wordt voorrang gegeven aan activiteiten waarvan de som van de
duurtijden van de volgers het hoogst is. (Cooper D., 1976, blz. 1193)
Andermaal wordt er geopteerd om alle volgers te beschouwen en niet enkel de onmiddellijke
(cfr. § 2.2.3.)
Voor elke activiteit i uit de SSAt worden de duurtijden van de toekomstige activiteiten van
activiteit i, inclusief de duurtijd van activiteit i, gesommeerd (duur toek acti ). Hiervoor
maken we gebruik van de NxN-matrix die de toekomstige activiteiten van een activiteit
weergeeft. Deze matrix werd in de voorbereidende fase opgesteld (cf. § 2.2.3.).
De implementatie kan als volgt worden voorgesteld in pseudo-code:
VOOR i = 1 tot N
duur_toek_acti = 0;
VOOR i = 1 tot N en j = 1 tot N
ALS: toekomstigij = 1;
DAN: duur_toek_acti = duur_toek_acti + duurj ;
De wegingsfactor ziet er dan als volgt uit:
N
wi =
Σ
dj, als activiteit j een toekomstige activiteit is van activiteit i
0, anders
j=1
De wegingsfactor wi is hier dus functie van de duur van de toekomstige activiteiten van een
activiteit. Aldus willen we bekomen dat die takken van activiteiten welke veel tijd vergen
alvorens het project te voltooien, prioritair zijn.
38
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
2. Beschrijving van het algoritme
De bepaling van de hoogste prioriteit wordt hieronder weergegeven in pseudo-code:
grootste_duur_toek_act = 0;
VOOR i = 1 tot N
ALS: ssati = 1 en duur_toek_activiteiteni > grootste_duur_toek_act
DAN: grootste_duur_toek_act = duur_toek_acti ;
grootste_act = i;
Deze voorrangsregel houdt dus geen rekening met de “cash flows” van een project. Of dit
ook repercussies zal hebben op de netto actuele waarde van het project zal blijken uit de
analyse van de resultaten (cfr. hoofdstuk 5). We verwachten wel dat deze regel goed scoort
op het vlak van projectdeadline.
2.5.2.5. Aantal toekomstige activiteiten
Deze regel werd reeds eerder onderzocht, maar dan voor het minimaliseren van de
projectduur. De performantie op het vlak van de netto actuele waarde werd hierbij niet
nagegaan. (Cooper D., 1976, blz. 1193)
Deze heuristiek vertoont grote gelijkenissen met een in de literatuur populaire voorrangsregel,
“grootste aantal volgers”.
Andermaal vormt de gehanteerde definitie van “volgers” het
verschilpunt. (Pinder J. en Marucheck A., 1996, blz. 233)
De wegingsfactor wi ziet er in dit geval zo uit:
N
wi =
Σ
1, als activiteit j een toekomstige activiteit is van activiteit i
0, anders
j=1
Voor de bepaling ervan maken we opnieuw gebruik van de NxN-matrix die de toekomstige
activiteiten van een activiteit weergeeft. De pseudo-code verloopt als volgt:
VOOR i = 1 tot N
aantal_toek_acti = 0;
VOOR i = 1 tot N en j = 1 tot N
ALS: toekomstigij = 1;
DAN: aantal_toek_acti = aantal_toek_acti + 1;
39
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
2. Beschrijving van het algoritme
De activiteit die het grootste aantal toekomstige activiteiten telt, krijgt dan de hoogste
prioriteit. De pseudo-code van de implementatie ziet er zo uit:
grootste_aantal_toek_act = 0;
VOOR i = 1 tot N
ALS: EASi = 1 en aantal_toek_activiteiteni > grootste_aantal_toek_act
DAN: grootste_aantal_toek_act = aantal_toek_acti ;
grootste_act = i;
Hoewel er in deze voorrangsregel noch een tijdsaspect is ingebouwd, noch rekening wordt
gehouden met de kasstromen, nemen we hem toch op in ons onderzoek. Dit omwille van zijn
grote gelijkenis met de populaire prioriteitsregel “grootste aantal volgers”.
2.5.2.6. Gemiddelde toekomstige “cash flow”
Deze heuristiek is een combinatie van twee hiervoor besproken voorrangsregels. Immers, we
definiëren de “gemiddelde toekomstige cash flow” van een activiteit i als de verhouding van
de toekomstige kasstromen van een activiteit i en het aantal toekomstige activiteiten van deze
activiteit.
Dus:
N
Σ
wi =
CFj, als activiteit j een toekomstige activiteit is van activiteit i
0, anders
j=1
N
Σ
1, als activiteit j een toekomstige activiteit is van activiteit i
0, anders
j=1
Voor de implementatie van deze voorrangsregel verwijzen we naar de pseudo-code van de
beide heuristieken waaruit deze is opgebouwd (cf. supra, § 2.5.2.3. en 2.5.2.5.).
Deze prioriteitsregel lijkt al iets complexer. De beperking ervan zou het ontbreken van een
tijdsaspect kunnen zijn. Vandaar dat de volgende heuristiek hierop een logische variant is.
40
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
2. Beschrijving van het algoritme
2.5.2.7. Toekomstige “cash flows” per tijdeenheid
We definiëren de “toekomstige cash flows per tijdeenheid” van een activiteit i als de
verhouding van de toekomstige kasstromen van een activiteit i en de duur van die
toekomstige activiteiten.
De wegingsfactor wi ziet er dan als volgt uit:
N
Σ
wi =
CFj, als activiteit j een toekomstige activiteit is van activiteit i
0, anders
j=1
N
Σ
dj, als activiteit j een toekomstige activiteit is van activiteit i
0, anders
j=1
Voor de codering van deze heuristiek verwijzen we naar de pseudo-codes van de beide
prioriteitsregels (cf. supra, § 2.5.2.3. en 2.5.2.4.).
Deze voorrangsregel houdt zowel rekening met de toekomstige kasstromen van een activiteit
als met het tijdsaspect. Of dit ook de beste resultaten zal opleveren, zal blijken uit de analyse
van het onderzoek.
2.5.3. STAP 3: Het plannen van de activiteit met de hoogste prioriteit
In deze stap wordt de activiteit met de hoogste prioriteit gepland. We voeren hierbij de
gebruikelijke bewerkingen uit. (Ulusoy G. en Özdamar L., 1995, blz. 89 – 98)
Stel dat activiteit i wordt gepland. Dit houdt in dat de resterende hoeveelheden hulpmiddelen
RRtj (t = tijd, …, tijd + di en j = 1, …, NR) worden bepaald. Tevens wordt de activiteit i als
gepland beschouwd en worden de begin- (STi) en eindtijd (TTi) van activiteit i vastgelegd.
Ook passen we eventueel de totale duur van het project aan, indien deze door de planning van
activiteit i zou worden ingekort.
41
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
2. Beschrijving van het algoritme
In pseudo-code geeft dit het volgende:
VOOR t = tijd tot (tijd + di ) en j = 1 tot NR
RRtj = RRtj – rrij ;
geplandi = 1;
aantal_gepland + 1;
STi = tijd;
TTi = tijd + di – 1;
ALS: eindduur < (tijd + di )
DAN: eindduur = TTi ;
Eens alle activiteiten gepland zijn, kunnen we overgaan naar de vierde en laatste stap van
deze planningsfase.
2.5.4. STAP 4: Het berekenen van de “net present value”
Eens alle activiteiten gepland zijn, kunnen we de “net present value” (NPV) van het project
berekenen.
Dit gebeurt aan de hand van de volgende formule (Russel A., 1970, blz. 359):
N
NPV =
Σ
CFi . exp(-α TTi )
i=1
Waarbij:
α = de verdisconteringsfactor = 1%
TTi = de eindtijd van activiteit i
We veronderstellen dat de verdisconteringsfactor α gelijk is aan 1% per tijdseenheid (dag,
maand, …). (Russel R., 1986, blz. 1291 – 1300)
Hiermee is de derde fase van het programma afgerond.
Nu rest er enkel nog de
postoptimalisatie.
42
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
2. Beschrijving van het algoritme
2.6. De postoptimalisatie
Omdat we ons ervan bewust zijn dat de in de derde fase bekomen planning nog sterk kan
worden verbeterd wat de “net present value” van het project betreft, wordt een vierde en
laatste fase toegevoegd. Het opzet van deze postoptimalisatie is tweeërlei. Enerzijds trachten
we activiteiten waarmee een positieve kasstroom verbonden is, zo veel mogelijk naar voren te
schuiven in de planning. Anderzijds wordt geprobeerd om activiteiten met een negatieve
cash flow zoveel mogelijk te verlaten in de voorlopige planning.
Hierdoor worden de
hulpmiddelen gelijkmatiger verbruikt, binnen de vooropgestelde limieten. Hierbij kan het
voorkomen dat de totale duur van het project inkort. Hoewel dit niet de hoofddoelstelling is
van deze fase, is dit uiteraard een positief neveneffect. (Ulusoy G. en Özdamar L., 1995, blz.
90)
De postoptimalisatie – zoals wij deze hebben geïmplementeerd, analoog aan Baroum S. en
Patterson J. (1993) (cfr. §1.8.2.) - is een iteratieve methode die doorgaat tot er geen
verschuivingen meer mogelijk zijn. Per iteratie worden alle projecten in stijgende volgorde
van hun activiteitsnummer overlopen. Daarbij wordt er onderzocht of een activiteit niet op
een vroeger of later tijdstip kan worden gepland.
De richting waarin men probeert te
verschuiven, is afhankelijk van het teken van de kasstroom. (Herroelen W. et al., 1997, blz.
111)
Bovendien is de methode ook dynamisch. In eerste instantie wordt er uitgegaan van de
planning zoals die in de derde fase werd bepaald. Maar eens de postoptimalisatie aan de gang
is, wordt er steeds verder gewerkt met de laatst mogelijke oplossing.
De
grenzen
voor
deze
verschuivingen
worden
gevormd
door
enerzijds
de
volgordebeperkingen en anderzijds de hulpmiddelenrestricties. Deze moeten ten allen tijde
voldaan zijn.
43
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
2. Beschrijving van het algoritme
In pseudo-code ziet dit er als volgt uit:
ZOLANG aantal_verschuivingen ≠ 0
aantal_verschuivingen = 0;
VOOR i = 1 tot N
ALS: verschuiven is mogelijk qua volgorde en hulpmiddelen
DAN: verschuiving doorvoeren;
aantal_verschuivingen + 1;
In deze fase onderscheiden we drie stappen. Eerst wordt de eigenlijke postoptimalisatie
uitgevoerd. Daarna wordt nagegaan of de projectduur is ingekort door de herschikking van
de activiteiten tijdens de postoptimalisatie. Tenslotte wordt de nieuwe, “postoptimale” netto
actuele waarde berekend. Het effect van deze postoptimalisatie fase zal worden geïllustreerd
in het derde en vijfde hoofdstuk van deze scriptie.
2.6.1. STAP 5: De postoptimalisatie
Afhankelijk van het teken van de kasstroom die met een activiteit is geassocieerd, zal de
richting van de postoptimalisatie worden bepaald. Is dit teken positief dan wordt gepoogd de
activiteit vroeger in te lassen dan voorzien (“left-shifting”). Bij een negatief teken proberen
we de activiteit te verlaten in de tijd (“right-shifting”). Op deze manier wordt de netto actuele
waarde van het project verhoogd.
Hierna bespreken we het geval waarbij de “cash flow” negatief is. De postoptimalisatie van
een activiteit met een positieve “cash flow” verloopt analoog, zij het in de andere richting.
Daarbij worden twee beperkingen in acht genomen.
Enerzijds de volgorderelaties en
anderzijds de beschikbaarheid van elke “resource”.
Wat het respecteren van de volgorderelaties betreft, dienen we de zogenaamde “free float”
van een activiteit i te berekenen. De “free float” wordt gedefinieerd als zijnde “de toelaatbare
vertraging van een activiteit, die geen effect heeft op de “early-start”-tijd van de volger(s).
Het is dus een maatstaf die de mogelijkheid om een activiteit te verschuiven, weergeeft.
(Cooper D., 1976, blz. 1189)
44
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
2. Beschrijving van het algoritme
Bij de implementatie voor een activiteit i komt het erop aan eerst de vroegste volger tijd te
bepalen. Daarmee bedoelen we het vroegste tijdstip waarop een volger van de activiteit i
begint. De “free float” kan dan als volgt worden berekend:
free float = vroegste volger tijd - TTi
waarbij:
(2.1)
TTi = de eindtijd van activiteit i
De verplaatsing van een activiteit i kan pas worden uitgevoerd als de “free float” verschillend
is van nul. Een “free float” gelijk aan nul zou betekenen dat meteen na het beëindigen van
activiteit i het begin van een volger van activiteit i gepland is. In het laatste geval wordt deze
stap meteen beëindigd en wordt nagegaan of activiteit i + 1 kan verschoven worden.
Indien de “free float” daarentegen verschillend is van nul, wordt nagegaan of de activiteit i zo
dicht mogelijk bij zijn vroegste volger kan worden gepland, rekening houdende met de
beschikbare hoeveelheid hulpmiddelen op elk tijdstip t.
Daarvoor dient de resterende
hoeveelheid “resources” voor de gewenste periode minstens gelijk te zijn aan het
hulpmiddelenverbruik van de activiteit i:
RRtj ≥ rri j
waarbij:
(2.2)
RRtj = de resterende hoeveelheid van het ide hulpmiddel op het tijdstip t
(t = TTi, …, TTi + “free float” en j = 1, …, NR)
rrij = het verbruik van het jde hulpmiddel door de activiteit i
Indien aan de voorwaarden (1) en (2) wordt voldaan, worden de resterende hoeveelheden
hulpmiddelen, alsook de nieuwe start- en eindtijd berekend. Ook wordt het hulpmiddelenverbruik volgens de oorspronkelijke planning teniet gedaan. Tenslotte wordt aangegeven dat
er een sprong heeft plaatsgevonden, zodat de iteratie nog minimaal één keer wordt doorlopen.
45
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
2. Beschrijving van het algoritme
De codering in het geval de activiteit voorzien is van een negatieve kasstroom, ziet er als
volgt uit in pseudo-code:
vroegste_volger_tijd bepalen;
free float = vroegste volger tijd – TTi ;
ALS: free float ≥ 0
DAN: VOOR j = 1 tot NR en t = TTi tot vroegste volger tijd
ALS: RRtj ≥ rrij
DAN: STi = nieuwe start tijd;
TTi = STi + di – 1 ;
Verbruik resources oorspronkelijke planning annuleren ;
Verbruik resources nieuwe planning implementeren ;
aantal_verschuivingen + 1;
ANDERS: STOP;
ANDERS: STOP;
2.6.2. STAP 6: Nagaan of de projectduur werd ingekort
Door de herschikking van de activiteiten tijdens de postoptimalisatie wordt een gelijkmatiger
hulpmiddelenprofiel verkregen. Daarbij is het niet denkbeeldig dat ook de projectduur is
ingekort. (Ulusoy G. en Özdamar L., 1995, blz. 90)
Dit wordt als volgt opgevangen door het algoritme. We initialiseren een binaire variabele
“verkorten” op nul.
Daarna controleren we voor elk hulpmiddelentype of de resterende
hoeveelheid gelijk is aan de beschikbare hoeveelheid. Indien dit voor elk “resource”-type het
geval is, kan de projectduur met één eenheid worden ingekort.
Tevens kennen we de
variabele “verkorten” de waarde één toe. Zolang deze variabele verschillend is van nul,
wordt deze procedure doorlopen en wordt bijgevolg nagegaan of het project verder kan
worden ingekort.
In pseudo-code ziet dit er als volgt uit:
ZOLANG verkorten ≠ 0
verkorten = 0;
VOOR j = 1 tot NR
ALS: RR1j = AVj
DAN: verkorten + 1;
ALS: verkorten = NR
DAN: VOOR i = 2 tot N
STi – 1 en TTi – 1;
VOOR j = 1 tot NR en t = 1 tot eindduur
rrtj = rrt+1,j ;
eindduur – 1;
ANDERS: STOP
46
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
2. Beschrijving van het algoritme
2.6.3. STAP 7: Het berekenen van de “postoptimale” netto actuele waarde
Deze stap verloopt analoog aan stap 3. Nu berekent men echter de “net present value”,
rekening houdende met de tijdens de postoptimalisatie aangepaste eindtijden.
Hierdoor is de laatste fase van het empirisch onderzoek, de postoptimalisatie, en bijgevolg het
hele algoritme doorlopen. In het volgende hoofdstuk wordt het programma nader toegelicht
aan de hand van een numeriek voorbeeld.
47
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
3. Het algoritme toegepast op een voorbeeld
HOOFDSTUK 3: HET ALGORITME TOEGEPAST OP EEN
VOORBEELD
In het tweede hoofdstuk van deze scriptie werd het algoritme besproken. In het bijzonder
werd dieper ingegaan op de zeven prioriteitsregels die in dit onderzoek werden uitgetest. In
dit hoofdstuk verduidelijken we de implementatie van het algoritme aan de hand van een
numeriek voorbeeld.
We opteren om een voorbeeld uit de literatuur te behandelen. Argumenten die ons ertoe
aanzetten om zo’n voorbeeld te verkiezen boven een project uit de zelf gehanteerde testset
zijn onder andere:
♦ Het bevordert de objectiviteit. Er werd niet gezocht naar een project uit de testset waarbij
onze heuristieken goed uit de verf zouden komen.
♦ We kunnen niet enkel vergelijken met de optimale oplossing, hetzij onder de minimale
“deadline”, hetzij onder de “deadline” die door de heuristiek werd gegenereerd., maar ook
met de resultaten die andere onderzoekers behaalden.
In de paragraaf 3.1. geven we de gegevens en assumpties van het voorbeeld weer.
Vervolgens werken we in sectie 3.2. het voorbeeld uit aan de hand van het algoritme dat in
het tweede hoodfstuk van deze scriptie werd voorgesteld. Daarbij zal ter illustratie “het
aantal toekomstige activiteiten” als prioriteitsregel worden gehanteerd. We sluiten tenslotte
dit hoofdstuk af met een overzicht van de performantie van onze zeven heuristieken bij dit
voorbeeld. Tevens maken we de vergelijking met de uitkomst zoals die door Abbasi G. en
Arabiat Y. (2001, blz. 17 – 24) werd bekomen en met het resultaat bekomen door een
optimale oplossingsmethode.
3.1. Gegevens
We passen ons algoritme toe op het voorbeeld dat Abbasi G. en Arabiat Y. hebben
uitgewerkt. Het project werd daarbij voorgesteld in de pijlenvoorstelling. We zetten het om
in de knooppuntvoorstelling. (Abassi G. en Arabiat Y., 2001, blz.20)
48
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
3. Het algoritme toegepast op een voorbeeld
Ze nemen daarbij de volgende assumpties aan (Abassi G. en Arabiat Y., 2001, blz.20):
♦ De volgorderelaties zijn van het einde-start type met een “time lag” van nul. Dit betekent
dat een activiteit kan starten van zodra al haar voorgangers zijn afgewerkt.
♦ Er wordt aangenomen dat de duur van alle activiteiten op voorhand gekend is. De duur
wordt gegeven in maanden.
♦ Het onderbreken van een activiteit is niet toegelaten. Dus eens een activiteit gestart is,
wordt ze ook afgewerkt.
♦ Zowel het bedrag als de timing van kasstromen zijn bekend. Er wordt verondersteld dat de
enige positieve “cash flow” op het einde van het project voorkomt en dat deze minstens
30% groter is dan de negatieve kasstromen. Op deze manier vermijden ze dat het netwerk
een negatieve netto actuele waarde heeft. De negatieve kasstromen worden bij de start
van de respectieve activiteit betaald.
♦ Ze nemen een verdisconteringsfactor α van 1% per maand aan.
♦ Elke activiteit kan maximaal drie verschillende types hulpmiddelen verbruiken.
De
beschikbaarheid van elk “resource”-type bedraagt tien eenheden.
Figuur 3.1. geeft de knooppuntvoorstelling van het voorbeeldproject weer dat door Abassi G.
en Arabiat Y. werd uitgewerkt. De legende vinden we linksonderaan de figuur terug. (Abassi
G. en Arabiat Y., 2001, blz.20)
49
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
3. Het algoritme toegepast op een voorbeeld
FIGUUR 3.1.: Knooppuntvoorstelling van het numeriek voorbeeld
12
5
14
0
(0,0,0)
0
15
(3,1,0) - 405
13
1
(5,3,4) - 1.350
(4,2,3) - 108
9
10
10
(3,5,3) - 810
2
(1,0,2) - 54
11
(2,1,1)
8
10
1
- 54
4
6
(9,2,2) - 972
3
(7,3,2) - 567
5
3
7
8
(2,3,3) - 432
(4,0,2) - 810
7
5
2
(4,1,1) - 540
i
(AV1 ,AV2 ,AV3 )
3
4
(5,2,0) - 405
di
CFi
1
8
(2,1,1) - 432
0
(0,0,0) 8.950
BRON: Abbasi G. en Arabiat Y., 2001, blz. 20
50
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
3. Het algoritme toegepast op een voorbeeld
3.2. Illustratie van het algoritme
Nu het voorbeeldproject is geïllustreerd, kan het algoritme nader worden toegelicht. We
doorlopen eerst de voorbereidende fase, vervolgens de planningsfase en tenslotte de
optimalisatiefase.
De prioriteitsregel die we hier hanteren is “het aantal toekomstige
activiteiten”. Het algoritme verloopt analoog voor de andere voorrangsregels.
3.2.1. Voorbereidende fase
In de voorbereidende fase worden de gegevens - die in figuur 3.1. zijn weergegeven –
ingelezen. Ook de “cash flows” uit het voorbeeld worden overgenomen, zodat deze in dit
geval niet dienen te worden gegenereerd.
De voorgangersrelaties worden eveneens
vastgelegd. Deze kunnen eenvoudig uit figuur 3.1. worden afgeleid. Verder worden in deze
fase de toekomstige activiteiten van een activiteit bepaald, alsook het aantal berekend. De
resultaten daarvan worden weergegeven in tabel 3.1.
TABEL 3.1.: De toekomstige en het aantal toekomstige activiteiten voor dit voorbeeld
N
toekomstige activiteiten
aantal toekomstige activiteiten
2 2, 5, 11, 12, 15
5
3 3, 6, 7, 10, 11, 12, 13, 14, 15
9
4 4, 8, 9, 13, 14, 15
6
5 5, 11, 12, 15
4
6 6, 11, 12, 15
4
7 7, 13, 14, 15
4
8 8, 13, 14, 15
4
9 9, 15
2
10 10, 14, 15
3
11 11, 12, 15
3
12 12, 15
2
13 13, 14, 15
3
14 14, 15
2
BRON: eigen werk
51
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
3. Het algoritme toegepast op een voorbeeld
Op basis van het aantal toekomstige activiteiten van een activiteit zal er worden bepaald
welke activiteit zal worden gepland tijdens de planningsfase, indien de “set of schedulable
activities” op het tijdstip t (SSAt ) meerdere activiteiten bevat.
3.2.2. Planningsfase
Op het tijdstip 1 kunnen drie activiteiten worden gepland. Activiteit 3 heeft het meeste
toekomstige activiteiten (9) en zal bijgevolg als eerste worden gepland. Vervolgens wordt
gecontroleerd of er voldoende hulpmiddelen overblijven om de activiteit met de tweede
prioriteit, namelijk activiteit 4, te kunnen opnemen in de planning. Dit is hier het geval. Er
resten onvoldoende “resources” om ook activiteit 2 te plannen op het tijdstip 1.
Op het tijdstip 2 is activiteit 3 afgewerkt.
De onmiddellijke volgers van deze activiteit
kunnen vanaf dit tijdstip dus worden gepland.
Opnieuw wordt de set van mogelijke
activiteiten opgesteld en worden prioriteiten toegekend.
Op dat moment wordt eerst de
activiteit 2 gepland. Daarna tellen activiteiten 6 en 7 elk vier toekomstige activiteiten. In dat
geval krijgt de activiteit met het kleinste activiteitsnummer de voorrang. Activiteit 6 wordt
dan gepland. De activiteiten 7 en 10 kunnen niet worden gepland omdat er onvoldoende
hulpmiddelen voorradig zijn.
De rest van de planning verloopt analoog.
Figuur 3.2. geeft een overzicht van de
verschillende stappen die tijdens de planningsfase worden doorlopen.
52
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
3. Het algoritme toegepast op een voorbeeld
FIGUUR 3.2.: De planningsfase met het “aantal toekomstige activiteiten” als prioriteitsregel
t=1
t = 17
SSA 1
2
3
4
SSA 17 10
wi
5
9
6
wi
à plan activiteit 3
3
à plan activiteit 10
plan activiteit 4
activiteit 2: onvoldoende “resources”
t=2
t = 21
SSA 2
2
6
7
10
wi
5
4
4
3
à plan activiteit 2
SSA 21 8
12
wi
2
4
à plan activiteit 8
plan activiteit 6
activiteit 12: onvoldoende “resources”
activiteit 7 en 10: onvoldoende “resources”
t=6
t = 25
SSA 6
7
9
SSA 25 12
13
wi
4
2
wi
3
à plan activiteit 7
2
à plan activiteit 13
activiteit 9: onvoldoende “resources”
t = 12
plan activiteit 12
t = 32
SSA 12 5
9
10
wi
2
3
4
à plan activiteit 5
SSA 32 14
wi
2
à plan activiteit 14
activiteit 10: onvoldoende “resources”
plan activiteit 9
t = 13
SSA 13 11
wi
3
wi = aantal toekomstige activiteiten
à plan activiteit 11
BRON: Eigen werk, gebaseerd op Abassi G. en Arabiat Y., 2001, blz. 22
Het project maakt gebruik van drie types hulpmiddelen. Daarbij is het hulpmiddel 1 dat de
knelpunten in de planning veroorzaakt. Het verbruik van dit hulpmiddel wordt weergegeven
in figuur 3.3. Op de verticale as vinden we de eenheden van het hulpmiddel terug. Op de
horizontale as staan de opeenvolgende tijdsperiodes afgebeeld. Tijdens elke periode zijn er
tien eenheden van het hulpmiddel 1 beschikbaar.
53
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
3. Het algoritme toegepast op een voorbeeld
FIGUUR 3.3.: Hulpmiddelenverdeling na de planningsfase (voor het hulpmiddel 1)
Hoeveelheid hulpmiddel 1
10
9
6
5
8
7
4
11
7
6
1
1
5
4
8
12
10
3
2
11
2
3
1
9
1
1
14
13
1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3
1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4
BRON: eigen werk
tijdperiode
Na de planningfase bedraagt de totale projectduur 34 maanden. De netto actuele waarde van
het project is 667,54 €.
3.2.3. Postoptimalisatie
Tijdens deze fase wordt nagegaan of de activiteiten kunnen worden verschoven zodat de netto
actuele waarde van het project verbetert. Vermits het project enkel negatieve “cash flows”
kent, zullen de activiteiten zoveel mogelijk naar rechts worden verschoven (cfr. §2.6.1).
Per iteratie wordt er volgens stijgend activiteitsnummer nagegaan of de betrokken activiteit
kan worden uitgesteld, rekening houdende met de volgorderelaties en de hulpmiddelenbeperkingen.
Zolang er minimaal één verschuiving plaatsgrijpt, zal de iteratie nogmaals
worden doorlopen.
Tijdens de eerste iteratie kunnen achtereenvolgens de activiteiten 6, 7, 9, 10 en 12 op een later
tijdstip worden gestart. Het resultaat na de eerste iteratie wordt weergegeven in figuur 3.4.
We merken daarbij op dat de bezetting van de hulpmiddelen op het einde van het project
toeneemt.
54
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
3. Het algoritme toegepast op een voorbeeld
FIGUUR 3.4.: Hulpmiddelenverdeling na de eerste postoptimalisatie-iteratie (voor
het hulpmiddel 1)
10
Hoeveelheid hulpmiddel 1
9
6
11
8
7
4
9
7
6
6
12
5
5
4
3
2
8
11
10
2
3
1
1
1
1 2 3 4 5 6 7 8 9
14
13
7
1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4
BRON: eigen werk
tijdperiode
Door de verschuivingen tijdens de eerste iteratie, kunnen nu ook de activiteiten 3 en 4 worden
verlaat.
Activiteit 7 kan met één dag worden uitgesteld.
hulpmiddelenverdeling na de tweede iteratie.
Figuur 3.5. toont de
Hierbij valt op dat, door het naar rechts
verschuiven van de activiteiten, het project met één maand kan worden verkort. Immers, in
de eerste periode zijn geen activiteiten meer gepland.
FIGUUR 3.5.: Hulpmiddelenverdeling na de tweede iteratie (voor het hulpmiddel 1)
Hoeveelheid hulpmiddel 1
10
9
6
7
3
11
7
6
6
5
5
4
3
9
11
8
4
10
2
2
12
8
7
14
13
1
1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3
1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4
BRON: eigen werk
tijdperiode
55
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
3. Het algoritme toegepast op een voorbeeld
De derde keer dat de lus wordt doorlopen kan enkel activiteit 3 nog worden uitgesteld. Dit is
de laatst mogelijke verschuiving. De uiteindelijke planning van het project wordt voorgesteld
in figuur 3.6.
FIGUUR 3.6.: Hulpmiddelenverdeling van de “postoptimale” planning (voor het
hulpmiddel 1)
10
Hoeveelheid hulpmiddel 1
9
6
3
7
11
7
6
6
5
4
5
4
3
9
11
8
10
2
2
12
8
7
14
13
1
1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3
1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
BRON: eigen werk
tijdperiode
Na de postoptimalisatie is de totale projectduur ingekort met één maand. De “net present
value” is gestegen van 667,54€ tot 818,76€, wat een toename betekent van 22,65%. Dit
voorbeeld illustreert heel duidelijk wat voor een impact deze postoptimalisatie fase kan
hebben.
3.3. Bespreking van de bekomen resultaten
In deze paragraaf analyseren we de resultaten van onze zeven heuristieken bij dit voorbeeld.
We vergelijken ze met twee zaken.
Enerzijds evalueren we ze met de resultaten die door het “LSSPT”-algoritme van Abbasi G.
en Arabiat Y. worden gegenereerd (cfr. §1.8.2). Het algoritme werd uitgetest op 60 projecten
uit de testset die door Patterson J. werd opgesteld. Dit algoritme bleek een hogere “net
present value” (NPV) op te leveren dan vier “klassieke” heuristieken, zijnde (Abbasi G. en
Arabiat Y., 2001, blz. 22 - 23):
♦ minimale “slack”
56
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
3. Het algoritme toegepast op een voorbeeld
♦ minimale “late-start” tijd
♦ minimale “late-finish” tijd
♦ minimale procestijd
Anderzijds vergelijken we de resultaten met de optimale NPV (cfr. § 5.1) die kan worden
bekomen bij de gegenereerde projectduur.
Tabel 3.2. geeft een overzicht van de bekomen resultaten voor de verschillende heuristieken.
TABEL 3.2.: Overzicht van de resultaten die werden bekomen bij het voorbeeld
VOOR de postoptimalisatie
"cash flow"
"cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
Heuristiek Abbasi G. en Arabiat Y.
NA de postoptimalisatie
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
Heuristiek Abbasi G. en Arabiat Y.
duur
NPV
optimale
NPV
% verschil
44
51
43
33
34
43
38
33
132,53
38,35
261,59
702,21
667,54
261,59
452,65
702,21
542,56
423,30
560,29
818,76
748,96
560,29
651,65
818,76
75,57%
90,94%
53,31%
14,23%
10,87%
53,31%
30,54%
14,23%
duur
NPV
toename
NPV
optimale
NPV
% verschil
36
41
41
33
33
41
38
-
590,96
572,74
572,74
818,76
818,76
572,74
602,59
-
458,43
534,39
311,15
116,55
151,22
311,15
149,94
-
689,49
596,29
596,29
818,76
818,76
596,29
651,65
-
14,29%
3,95%
3,95%
0,00%
0,00%
3,95%
7,53%
-
BRON: eigen werk, aangevuld met de resultaten van Abbasi G. en Arabiat Y., 2001, blz. 23
Het bovenste luik bevat de resultaten die bekomen zijn na de planningsfase en dus voor de
postoptimalisatie fase.
Het “aantal toekomstige activiteiten” scoort daarbij het best wat
betreft de NPV. Het is de enige prioriteitsregel die beter presteert dan het algoritme dat
Abbasi G. en Arabiat Y. (2001, blz. 17 – 24) voorstellen qua NPV, maar de NPV ligt wel
10% onder de optimale NPV die kan worden bereikt bij een deadline van 34 maanden. De
“duur van de toekomstige activiteiten” evenaart hun heuristiek. Alle andere voorrangsregels
performeren merkelijk slechter en komen in dit stadium van het algoritme meestal nog niet tot
de helft van de optimale NPV die mogelijk is bij de gegenereerde projectduur.
57
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
3. Het algoritme toegepast op een voorbeeld
Het onderste gedeelte bevat de resultaten van de uiteindelijke planning, na de
postoptimalisatie fase. We merken dat de NPV bij alle heuristieken fors is gestegen. Dit is
een duidelijke illustratie van het nut van dergelijke postoptimalisatie fase. De “duur van de
toekomstige activiteiten” en het “aantal toekomstige activiteiten” slagen er zelfs in om de
optimale NPV, die bij hun projectduur hoort, te bereiken.
Tevens blijken deze
prioriteitsregels ook de kortste totale projectduur op te leveren.
De “cash flow per
tijdeenheid”, de “toekomstige cash flows” en de “gemiddelde toekomstige cash flow”
benaderen heel sterk de optimale NPV, zij het wel dat deze verbonden is aan een langere
projectduur.
Wat dit voorbeeld betreft benaderen vijf van de zeven heuristieken de optimale NPV, die is
verbonden aan de respectieve projectduur, tot minder dan 4%. Twee ervan slagen er zelfs in
om deze optimale NPV te evenaren!
Slechts onze eenvoudigste voorrangsregel – “cash flow” – scoort slechter wat de NPV betreft
dan het algoritme dat Abbasi G. en Arabiat Y. (2001, blz. 17 – 24) voorstellen. Onze
prioriteitsregels moeten meestal wel hun meerdere erkennen in dit algoritme wat de duur van
het project betreft. Maar de bedoeling van deze scriptie was één of meerdere heuristieken op
te stellen die de “net present value” van een project maximaliseren.
Nadat we in dit hoofdstuk het algoritme hebben verduidelijkt aan de hand van een voorbeeld,
zullen we in het volgende hoofdstuk de testset bespreken waarop onze heuristieken werden
losgelaten.
58
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
4. Beschrijving van de testset
HOOFDSTUK 4: BESCHRIJVING VAN DE TESTSET
In de vorige hoofdstukken hebben we zelf een algoritme opgesteld. Om de performantie van
dit algoritme en onze zeven heuristieken na te gaan, dienen ze te worden uitgetest op een
goed opgebouwde en voldoende grote testset. We achten het dan ook opportuun om de
opbouw van de testset nader toe te lichten.
In de eerste sectie van dit hoofdstuk beschrijven we de parameters van een project op basis
waarvan de voor dit onderzoek gehanteerde testset werd opgebouwd.
Daarna zal in de
tweede paragraaf deze testset worden beschreven.
4.1. Parameters van een project
Alvorens in de volgende paragraaf de testset te bespreken, definiëren we eerst de
verschillende parameters die een project karakteriseren. Op basis van deze kenmerken werd
door Vanhoucke M. et al. (2001, blz. 1118) een evenwichtige testset, qua complexiteit van de
projecten, opgebouwd.
Aan de hand van deze parameters kan het onderscheid worden gemaakt tussen makkelijke en
moeilijke planningsproblemen. De moeilijkheid van zo’n probleem wordt typisch gemeten
door de CPU-tijd (“Central Processing Unit”) die vereist is opdat een optimale oplossing
wordt bekomen.
Daarom is het van groot belang dat we beschikken over een set van
karakteristieken die voldoende discrimineert tussen makkelijke en moeilijke problemen.
Deze set kan dan optreden als een voorspeller van de computerbelasting van de
oplossingsprocedures. (Demeulemeester E. et al., 2003, blz. 13 - 34)
We onderscheiden enerzijds de parameters die verband houden met de topologie van het
netwerk, nl. het aantal activiteiten en de “order strenght”. Voor een volledige evaluatie van
dit type parameters verwijzen we naar Elmaghraby en Herroelen (1980, blz. 223 - 234).
Anderzijds treffen we parameters aan die gerelateerd zijn met de hulpmiddelen. Deze werden
beschreven door Pascoe (1966, blz. 31 - 38), Cooper (1976, blz. 1186 - 1194), Alvarez59
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
4. Beschrijving van de testset
Valdes en Tamarit (1989, 113 - 134) en Kolisch et al. (1995, blz. 1693 - 1703). Volgens
Demeulemeester et al. (2003, blz. 13 - 34) moeten hierbij twee vragen worden beantwoord :
♦ Hoeveel types hulpmiddelen verbruikt een activiteit?
♦ Welke verhouding heerst er tussen de beschikbaarheid en de vraag (door de
activiteiten) naar de hulpmiddelen?
Vanhoucke M. et al. (2001, blz. 1118) opteerden bij de opbouw van hun testset voor enerzijds
de “resource factor” en anderzijds de “resource strength”.
Zelf voegen we daar, naar analogie van dergelijke research, een bijkomende parameter aan
toe, nl. het percentage negatieve “cash flows”. (Vanhoucke M. et al., 2001, blz. 1113 – 1121)
In het vervolg van deze paragraaf bespreken we de parameters die werden opgenomen in ons
onderzoek.
4.1.1. Aantal activiteiten
Dit is uiteraard het aantal activiteiten waaruit een project is samengesteld.
Er dient enkel te worden opgemerkt dat in de gebruikte testset twee dummyactiviteiten
worden toegevoegd. Enerzijds om het begin van een project aan te wijzen en anderzijds om
het einde ervan aan te duiden.
De duur van deze activiteiten, evenals het
hulpmiddelenverbruik ervan, is gelijk aan nul.
4.1.2. Order strength, OS
“Order strength” (OS) is een maatstaf voor de topologie van een netwerkstructuur in de
knooppuntvoorstelling. Het geeft de sterkte van de volgorderelaties in een project weer.
OS werd als volgt gedefinieerd door Mastor (1970, blz. 736):
OS =
aantal volgorderelaties
theoretisch maximum aantal volgorderelaties
60
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
4. Beschrijving van de testset
Hierbij is het theoretisch maximum aantal volgorderelaties gelijk aan:
N.(N–1)
2
Met:
N = het aantal activiteiten in het netwerk, de dummyactiviteiten niet meegerekend.
De bekendste maatstaf voor de topologische structuur van een netwerk in de
knooppuntvoorstelling is de “coefficient of network complexity” (CNC).
Deze werd
gedefinieerd door Pascoe (1966, blz. 31 - 38) als zijnde de verhouding van het aantal pijlen
over het aantal knooppunten. Demeulemeester et al. (2003, blz. 13 - 34) concluderen echter
dat de CNC op zichzelf niet discriminerend werkt, toch niet wat de moeilijkheid van een
netwerkstructuur betreft.
Derhalve vinden ze de CNC geen geschikte parameter om de
impact van de netwerktopologie op de moeilijkheid van een planningsprobleem te
beschrijven. (Demeulemeester E. et al., 2003, blz. 13 - 34)
4.1.3. Resource factor, RF
“Resource factor” (RF) geeft de gemiddelde vraag van hulpmiddelentypes per activiteit weer.
(Kolisch R. et al., 1995, blz. 1697)
Deze parameter werd als volgt geïntroduceerd door Pascoe (1966, blz. 31 - 38):
N
RF =
1
N . NR
ΣΣ
i=1
Waarbij:
NR
1, als ri j > 0
0, anders
j=1
N = het aantal activiteiten (exclusief de dummyactiviteiten)
NR = het aantal hulpmiddelentypes
rij = het aantal hulpmiddelen van het type j dat activiteit i vereist
De meningen over de impact van de “resource factor” zijn niet eensgezind. Enerzijds menen
Kolisch et al. (1995, blz. 1693 - 1703) dat er een positieve correlatie heerst tussen de vereiste
CPU-tijd om een planningsprobleem met hulpmiddelenbeperkingen op te lossen en de
61
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
4. Beschrijving van de testset
resource factor. Anderzijds observeerden Alvarez-Valdes en Tamarit (1989) dat problemen
met een RF = 1.0 makkelijker op te lossen zijn dan problemen met een RF = 0.5.
(Demeulemeester E. et al., 2003, blz. 13 - 34)
4.1.4. Resource strength, RS
Deze parameter geeft de verhouding weer tussen de beschikbaarheid van de hulpmiddelen en
de vraag naar deze hulpmiddelen. De “resource strength” werd als volgt geïntroduceerd door
Cooper (1976, blz. 1189):
RSj =
waarbij:
AVj
gemiddelde vraag van het jde hulpmiddel per activiteit
AVj = de beschikbare hoeveelheid van het hulpmiddelen van het
type j
Elmaghraby en Herroelen (1980, blz. 223 - 234) waren de eersten om te vermoeden dat de
relatie tussen de complexiteit van een netwerk met hulpmiddelenbeperkingen en de
beschikbaarheid van de hulpmiddelen varieert volgens een klokcurve.
De Reyck en
Herroelen (1996, blz. 347 - 366) en Herroelen en De Reyck (1999, blz. 148 - 156)
bevestigden dit vermoeden. Ze verwierpen hierbij echter de stelling van Kolisch et al. (1995,
blz. 1693 - 1703) die een negatieve correlatie tussen de complexiteit van het netwerk en de
RS vonden. (Demeulemeester E. et al., 2003, blz. 13 - 34)
4.1.5. Percentage negatieve cash flows
De verdeling van de kasstromen blijkt ook een impact te hebben op de gemiddelde CPU-tijd.
Projecten waarvan de activiteiten veel of weinig negatieve cash flows tellen, blijken het
meeste CPU-tijd te vergen alvorens tot een optimale oplossing te komen. (Vanhoucke M. et
al., 2001, blz. 1113 – 1121)
Derhalve opteerden we in dit onderzoek om verschillende percentages van activiteiten met
negatieve cash flows in te voeren. Zo hopen we tot de bevinding te komen dat de hier geteste
62
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
4. Beschrijving van de testset
heuristieken hoofdzakelijk goed presteren in die gevallen waar optimale oplossingsmethoden
een grote CPU-tijd vergen of zelfs niet tot een optimale oplossing komen.
4.2. Beschrijving van de testset
Na de verschillende gehanteerde parameters te hebben besproken, geven we een overzicht
van de gehanteerde testset.
Deze testset werd speciaal opgebouwd om een optimale oplossingsprocedure voor het
“RCPSPDC”-probleem uit te testen. (Vanhoucke M. et al., 2001, blz. 1118 – 1119)
Tabel 4.1. geeft de parameters van de testset en hun respectieve waarden voor dit onderzoek
weer.
TABEL 4.1.: Overzicht van de parameters waarrond de testset is opgebouwd
aantal activiteiten (AA)
10, 20, 30
volgorde sterkte (OS)
0.25, 0.50, 0.75
hulpmiddelen factor (RF)
0.25, 0.50, 0.75, 1.00
hulpmiddelen sterkte (RS)
0.00, 0.25, 0.50
percentage negatieve kasstromen *
0%, 25%, 50%, 75%, 100%
* deze zijn niet opgenomen in de oorspronkelijke testset, maar worden zelf toegevoegd (cf.
§2.2.2.)
BRON: gebaseerd op Vanhoucke M. et al., 2001, blz. 1118
Deze testset is zodanig geconstrueerd dat er voor elke mogelijke combinatie van parameters
steeds 10 projecten werden aangemaakt. Ons onderzoek bevat dus in totaal 1080 projecten.
Immers, 3 klassen AA x 3 klassen OS x 4 klassen RF x 3 klassen RS x 10 projecten, geeft een
testset bestaande uit 1080 projecten.
Merk tenslotte op dat deze testset geen kasstromen bevatte. Het was bijgevolg noodzakelijk
voor het verdere verloop van het onderzoek dat deze afzonderlijk werden gegenereerd. Dit
gebeurde tijdens de voorbereidende fase van het onderzoek. Voor de behandeling ervan
verwijzen we naar paragraaf 2.2.2.
63
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
4. Beschrijving van de testset
Nu we het algoritme en de testset uitvoerig hebben toegelicht, kunnen we in het volgende
hoofdstuk van deze scriptie de performantie van het algoritme – met de zeven heuristieken –
nagaan bij deze testset.
64
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
5. Analyse van de resultaten
HOOFDSTUK 5: ANALYSE VAN DE RESULTATEN
In het vorige hoofdstuk werd het algoritme verduidelijkt aan de hand van een voorbeeld. We
vonden hierbij heel bemoedigende resultaten. In dit hoofdstuk wordt de performantie van de
verschillende heuristieken nagegaan onder verschillende projectplanningsparameters.
De
verschillende parameters, alsook de testset die hierbij werden gehanteerd, zijn uitvoerig
besproken in hoofdstuk 4.
We zullen in dit hoofdstuk de “net present value” (NPV) vergelijken met de optimale NPV
die kan worden gerealiseerd bij dezelfde projectduur.
De performantie van onze heuristieken wordt niet getoetst aan de performantie van andere
heuristieken. Dit zou een beperking kunnen vormen. De bedoeling van elke heuristiek is
echter om de optimale oplossing zo dicht mogelijk te benaderen. Daarom lijkt de optimale
NPV ons geschikter om als referentiepunt te functioneren.
Ons algoritme werd geprogrammeerd in Visual C++ 6.0. onder Windows98 met een Intel
computer (Pentium PIII 450MHz processor).
De eerste paragraaf van dit hoofdstuk behandelt het referentiepunt, namelijk de optimale NPV
bij dezelfde deadline. Sectie 5.2. licht de gevolgde werkwijze toe. In de daaropvolgende
paragrafen – § 5.3. tot en met § 5.7. – worden de resultaten per percentage negatieve “cash
flows” besproken. Daarbij worden, naast de resultaten voor de gehele testset, telkens de
invloed van het aantal activiteiten, de “order strenght”, de “resource factor” en de “resource
strength” nagegaan (cfr. § 4.1.).
Tenslotte worden in sectie 5.8. de bevindingen
gerapporteerd.
5.1. Referentiepunt
De NPV, gegenereerd door de verschillende prioriteitsregels, wordt vergeleken met de
optimale NPV die kan worden verkregen bij dezelfde deadline.
65
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
5. Analyse van de resultaten
In 2001 verfijnden Vanhoucke M. et al. de oplossingsprocedure die totnogtoe het best
presteerde, meer bepaald deze van Icmeli en Erengüç (1996). (Vanhoucke M. et al., 2001,
blz. 1120)
De optimale NPV wordt berekend aan de hand van een “depth-first branch-and-bound”
algoritme.
Enerzijds wordt hierbij gebruik gemaakt van extra volgorderelaties om de
hulpmiddelenconflicten op te lossen. Anderzijds wordt een snel omkeerbaar zoekalgoritme
doorlopen om de bovengrens van de NPV van het project te bepalen.
Aldus wordt de
maximale NPV voor het project bij een vooraf bepaalde deadline bepaald. De basisidee is dat
activiteiten met positieve “cash flows” zo vroeg mogelijk worden gepland en activiteiten met
een negatieve kasstroom zo lang mogelijk worden uitgesteld. (Vanhoucke et al., 2001, blz.
1113)
De performantie van het algoritme werd nagegaan bij een uitgebreide testset. Daarbij bleek
dat de maximale NPV voor projecten zonder hulpmiddelenrestricties zeer snel kan worden
bekomen. Deze bevinding geeft aan dat het algoritme in staat is om planningsproblemen tot
dertig activiteiten en vier types hulpmiddelen in een aanvaardbare tijd optimaal op te lossen.
Deze optimale oplossingsprocedure lijkt één van de best mogelijke te zijn die momenteel
voorhanden is. (Vanhoucke et al., 2001, blz. 1120)
Deze code werd geprogrammeerd en mij ter beschikking gesteld door Prof. dr. M.
Vanhoucke. De tijdslimiet werd ingesteld op 150 seconden. Dit wil zeggen dat er maximaal
150 seconden werd gezocht naar een optimale oplossing. Indien er in deze tijdperiode nog
geen optimale NPV werd gevonden, werd dit project buiten de analyse gehouden.
Alvorens de bespreking van de resultaten te starten, wordt in de volgende paragraaf de
gevolgde werkwijze toegelicht.
5.2. Werkwijze
Praktisch werd als volgt tewerk gegaan:
66
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
5. Analyse van de resultaten
Eerst werden de 1080 projecten waaruit de testset bestaat, opgelost aan de hand van het
algoritme.
Dit werd gedaan voor elk van de zeven heuristieken en voor elk percentage
negatieve “cash flows” (zijnde 0%, 25%, 50%, 75% en 100%). Dit leverde een projectduur,
een NPV en een “postoptimale” NPV op per project, voor elke heuristiek en voor elk
percentage negatieve kasstromen.
In tweede instantie werd per project de optimale NPV bij de bekomen projectduur bepaald,
opnieuw voor elke heuristiek en voor elk percentage negatieve “cash flows”.
Vervolgens werd voor alle gevallen het procentueel verschil tussen de optimale NPV en de
(“postoptimale”) NPV berekend. Dit gebeurde aan de hand van de volgende formule:
procentueel verschil =
optimale NPV – (“postoptimale” NPV)
optimale NPV
Tenslotte werd per setting van elke parameter en bij elk percentage negatieve kasstromen het
gemiddelde berekend. Daarbij werd ook bijgehouden hoeveel keer de optimale oplossing
werd bereikt en in hoeveel gevallen er geen optimale oplossing werd bekomen binnen een
aanvaardbare tijdspanne.
De rapportering van de resultaten in de volgende paragrafen gebeurt als volgt. In de eerste
kolom (% verschil VOOR postopt.) wordt de gemiddelde afwijking van onze oplossingen ten
opzichte van de optimale oplossing bij dezelfde projectduur weergegeven. De tweede kolom
vermeldt voor hoeveel projecten een optimale oplossing werd bekomen voor de
postoptimalisatie.
De derde en de vierde kolom bevatten dezelfde informatie voor de
resultaten bekomen na de postoptimalisatie fase. De laatste kolom geeft weer voor hoeveel
projecten er een optimale oplossing werd bekomen.
Dit is dan meteen ook het aantal
projecten waarmee onze heuristieken telkens worden vergeleken.
We overlopen nu de resultaten van onze heuristieken bij de verscheidene projectparameters.
67
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
5. Analyse van de resultaten
5.3. 0% negatieve “cash flows”
In dit geval zijn alle kasstromen positief. Vermits de activiteiten allen zo vroeg mogelijk
werden gepland, levert de postoptimalisatie fase geen verbeteringen aan in het
planningsschema.
5.3.1. Invloed van het aantal activiteiten
Indien de projecten bestaan uit tien activiteiten, leveren alle zeven heuristieken zeer
bevredigende resultaten. De prioriteitsregel “cash flow per tijdeenheid” presteert met een
afwijking van slechts 0.88% en met 176 optimale oplossingen (op 360 projecten) het best.
“Het aantal toekomstige activiteiten” zit gemiddeld 2.41% verwijderd van de optimale
oplossing. Ook dit kan nog als zeer goed worden beoordeeld. De vijf andere voorrangsregels
bevinden zich tussen deze grenzen.
Ook bij projecten opgebouwd uit 20 activiteiten komt de “cash flow per tijdeenheid” naar
voren als de beste heuristiek. De gemiddelde afwijking van de optimale oplossing bedraagt
2.14%. Wel dient opgemerkt te worden dat er aanzienlijk minder optimale oplossingen
worden bekomen, slechts 64 op 359 beschouwde projecten. In dit geval levert de “duur van
de toekomstige activiteiten” het minst goede resultaat op. Doch een gemiddelde afwijking
van 3.10% is nog steeds heel aanvaardbaar.
Bij 30 activiteiten worden de beste resultaten bekomen met “het aantal toekomstige
activiteiten” als prioriteitsregel. De gemiddelde afwijking bedraagt 2.80% en er worden 53
optimale oplossingen bekomen. In dit geval performeert de “cash flow” als voorrangsregel
het minst goed. Doch de verschillen met de andere heuristieken zijn minimaal.
We bemerken dat het nut van heuristieken toeneemt naarmate het aantal activiteiten stijgt.
Immers, hoe meer activiteiten een project bevat, hoe minder optimale oplossingen er worden
bekomen.
Alle resultaten worden weergegeven in tabel 5.1.
68
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
5. Analyse van de resultaten
TABEL 5.1.: Resultaten van de heuristieken per aantal activiteiten bij 0% negatieve
“cash flows”
0% negatieve “cash flows”
10 activiteiten
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
% verschil # optimale
VOOR
oplossingen
postopt.
% verschil
NA postopt.
#
# optimale
beschouwde
oplossingen
projecten
1.14
0.88
1.44
1.91
2.41
1.46
1.29
131
176
127
94
78
122
133
1.14
0.88
1.44
1.91
2.41
1.46
1.29
131
176
127
94
78
122
133
360
360
360
360
360
360
360
2.78
2.14
2.65
3.10
2.89
2.69
2.54
56
64
59
52
61
56
46
2.78
2.14
2.65
3.10
2.89
2.69
2.54
56
64
59
52
61
56
46
359
359
359
359
359
359
359
3.23
2.95
3.02
3.20
2.80
2.91
3.01
30
41
52
43
53
40
41
3.23
2.95
3.02
3.20
2.80
2.91
3.01
30
41
52
43
53
40
41
277
276
273
272
275
274
273
20 activiteiten
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
30 activiteiten
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
BRON: zelf gegenereerde resultaten
5.3.2. Invloed van de “order strenght” (OS)
In dit geval presteert de “cash flow per tijdeenheid” het best als voorrangsregel. De “duur
van de toekomstige activiteiten” en het “aantal toekomstige activiteiten” scoren het minst
goed. Doch de gemiddelde afwijking bedraagt meestal tussen de 1% en 2%, wat nog steeds
heel aanvaardbaar is.
Hoe minder sterk de OS, hoe minder optimale oplossingen er werden bekomen. Het is dan
ook goed dat onze heuristieken net in dat geval de kleinste gemiddelde afwijking laten
noteren.
69
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
5. Analyse van de resultaten
Alle resultaten worden weergegeven in tabel 5.2.
TABEL 5.2.: Resultaten van de heuristieken per percentage OS bij 0% negatieve
“cash flows”
0% negatieve “cash flows”
OS = 0.25
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
% verschil # optimale
VOOR
oplossingen
postopt.
% verschil
NA postopt.
#
# optimale
beschouwde
oplossingen
projecten
2.00
1.52
2.15
2.82
3.10
2.13
1.88
54
73
56
41
38
49
55
2.00
1.52
2.15
2.82
3.10
2.13
1.88
54
73
56
41
38
49
55
290
289
289
288
290
289
289
2.64
2.27
2.67
2.92
2.80
2.63
2.61
71
91
82
69
62
72
74
2.64
2.27
2.67
2.92
2.80
2.63
2.61
71
91
82
69
62
72
74
349
349
346
346
347
347
346
2.25
1.87
2.09
2.37
2.25
2.13
2.11
92
117
100
79
92
97
91
2.25
1.87
2.09
2.37
2.25
2.13
2.11
92
117
100
79
92
97
91
357
357
357
357
357
357
357
OS = 0.50
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
OS = 0.75
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
BRON: zelf gegenereerde resultaten
5.3.3. Invloed van de “resource factor” (RF)
Andermaal is het de “cash flow per tijdeenheid” die naar voren komt als de beste heuristiek.
De maximale gemiddelde afwijking bedraagt 2.65% bij een RF gelijk aan 0.75. We merken
ook op dat zodra de RF oploopt, de “duur van de toekomstige activiteiten” en het “aantal
toekomstige activiteiten” leiden tot een grotere gemiddelde afwijking ten opzichte van de
optimale oplossing.
Tabel 5.3. bevat alle resultaten.
70
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
5. Analyse van de resultaten
TABEL 5.3.: Resultaten van de heuristieken per percentage RF bij 0% negatieve
“cash flows”
0% negatieve “cash flows”
RF =0. 25
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
% verschil # optimale
VOOR
oplossingen
postopt.
% verschil
NA postopt.
#
# optimale
beschouwde
oplossingen
projecten
1.03
0.84
0.76
0.87
1.01
0.87
0.96
117
136
138
127
127
125
122
1.03
0.84
0.76
0.87
1.01
0.87
0.96
117
136
138
127
127
125
122
270
270
270
270
270
270
270
2.25
1.86
2.04
2.26
2.25
2.12
2.12
48
67
53
45
43
48
50
2.25
1.86
2.04
2.26
2.25
2.12
2.12
48
67
53
45
43
48
50
254
254
252
252
252
252
252
3.04
2.65
3.02
3.45
3.47
2.96
2.80
37
42
32
12
17
28
28
3.04
2.65
3.02
3.45
3.47
2.96
2.80
37
42
32
12
17
28
28
240
241
237
237
240
238
238
3.12
2.44
3.69
4.51
4.32
3.50
3.19
15
36
15
5
5
17
20
3.12
2.44
3.69
4.51
4.32
3.50
3.19
15
36
15
5
5
17
20
232
230
233
232
232
233
232
RF = 0.50
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
RF = 0.75
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
RF = 1.00
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
BRON: zelf gegenereerde resultaten
5.3.4. Invloed van de “resource strenght” (RS)
Indien de RS 0 of 0.25 bedraagt, levert de “cash flow per tijdeenheid” opnieuw de beste
resultaten op.
De “duur van de toekomstige activiteiten” en het “aantal toekomstige
activiteiten” kennen andermaal de grootste gemiddelde afwijking.
71
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
5. Analyse van de resultaten
Indien de RS gelijk is aan 0.50, merken we op dat er weinig onderscheid is tussen de
verschillende heuristieken.
De resultaten worden gevisualiseerd in tabel 5.4.
TABEL 5.4.: Resultaten van de heuristieken per percentage RS bij 0% negatieve
“cash flows”
0% negatieve “cash flows”
RS = 0
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
% verschil # optimale
VOOR
oplossingen
postopt.
% verschil
NA postopt.
#
# optimale
beschouwde
oplossingen
projecten
2.63
1.98
3.02
3.62
3.74
2.94
2.71
51
72
58
50
45
55
55
2.63
1.98
3.02
3.62
3.74
2.94
2.71
51
72
58
50
45
55
55
319
319
316
316
316
317
318
2.41
2.00
2.30
2.67
2.64
2.29
2.14
74
104
83
65
65
78
80
2.41
2.00
2.30
2.67
2.64
2.29
2.14
74
104
83
65
65
78
80
332
333
333
333
333
333
331
1.93
1.75
1.67
1.86
1.78
1.74
1.83
92
105
97
74
82
85
85
1.93
1.75
1.67
1.86
1.78
1.74
1.83
92
105
97
74
82
85
85
345
343
343
342
345
343
343
RS = 0.25
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
RS = 0.50
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
BRON: zelf gegenereerde resultaten
5.4. 25% negatieve “cash flows”
In dit geval kennen de projecten een klein aantal “cash outflows”. Vanaf dit punt kan de
postoptimalisatie fase haar nut bewijzen.
72
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
5. Analyse van de resultaten
5.4.1. Invloed van het aantal activiteiten
De “duur van de toekomstige activiteiten” en het “aantal toekomstige activiteiten” komen ook
hier weer naar voren als de minst goede voorrangsregel. Bij projecten bestaande uit een
gering aantal activiteiten leidt de “cash flow” als heuristiek tot goede resultaten. Als het
aantal activiteiten toeneemt, presteert de “toekomstige cash flow per tijdeenheid”
bevredigend. De “cash flow per tijdeenheid” performeert over het algemeen zeer goed. Bij
dertig activiteiten schommelt de gemiddelde afwijking rond de 5%.
We merken ook het effect van de postoptimalisatie op. Dit leidt telkens tot een aanzienlijke
daling van de gemiddelde afwijking en een vrij forse stijging van het aantal gevonden
optimale oplossingen. Tabel 5.5. geeft de resultaten voor de verschillende heuristieken weer.
TABEL 5.5.: Resultaten van de heuristieken per aantal activiteiten bij 25% negatieve
“cash flows”
25% negatieve “cash flows”
10 activiteiten
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
% verschil # optimale
VOOR
oplossingen
postopt.
% verschil
NA postopt.
#
# optimale
oplossingen beschouwde
projecten
1.91
1.64
3.03
6.11
6.68
3.05
2.57
52
62
39
20
13
39
39
1.18
0.91
2.33
5.33
5.82
2.32
1.86
167
200
131
88
76
132
134
360
360
360
360
360
360
360
4.21
4.11
4.82
7.03
7.35
4.63
4.44
10
12
11
7
6
12
12
3.02
2.94
3.72
5.86
6.20
3.55
3.35
53
55
56
42
43
48
52
359
359
360
359
359
360
360
6.75
6.63
6.83
9.18
8.93
6.55
6.15
3
5
6
2
3
4
3
5.24
5.07
5.45
7.72
7.44
5.19
4.87
20
25
30
26
34
28
27
333
331
334
322
322
335
333
20 activiteiten
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
30 activiteiten
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
BRON: zelf gegenereerde resultaten
73
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
5. Analyse van de resultaten
5.4.2. Invloed van de “order strenght” (OS)
De “cash flow”, de “cash flow per tijdeenheid” en in mindere mate de “gemiddelde
toekomstige cash flow per tijdeenheid” scoren in dit het geval het best. De gemiddelde
afwijking schommelt tussen de 2.12% en 3.62%. De “duur van de toekomstige activiteiten”
en het “aantal toekomstige activiteiten” blijken hier andermaal de minst goede heuristieken in
ons onderzoek.
Naarmate de OS toeneemt, verbetert de performantie van onze
prioriteitsregels.
De resultaten worden weergegeven in tabel 5.6.
TABEL 5.6.: Resultaten van de heuristieken per percentage OS bij 25% negatieve
“cash flows”
25% negatieve “cash flows”
OS = 0.25
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
% verschil # optimale
VOOR
oplossingen
postopt.
% verschil
NA postopt.
#
# optimale
beschouwde
oplossingen
projecten
4.86
4.72
5.16
9.39
9.91
5.03
4.60
11
13
9
2
2
10
9
3.60
3.47
4.08
8.20
8.72
3.98
3.62
53
63
47
31
28
49
49
335
334
337
327
328
338
336
4.70
4.55
5.41
7.49
7.78
5.18
4.76
19
22
16
8
4
14
12
3.39
3.20
4.16
6.20
6.43
3.93
3.48
83
95
73
55
46
70
73
357
356
357
355
354
357
357
3.16
2.96
3.99
5.43
5.33
3.92
3.68
35
44
31
19
16
31
33
2.33
2.12
3.17
4.53
4.40
3.07
2.88
104
122
97
70
79
89
91
360
360
360
359
359
360
360
OS = 0.50
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
OS = 0.75
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
BRON: zelf gegenereerde resultaten
74
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
5. Analyse van de resultaten
5.4.3. Invloed van de “resource factor” (RF)
De “cash flow” en de “cash flow per tijdeenheid” zijn in dit geval in staat de optimale
oplossing tot ongeveer 3.50% te benaderen. Indien de RF sterk toeneemt, blijkt dat de “duur
van de toekomstige activiteiten” en het “aantal toekomstige activiteiten” niet steeds tot een
betrouwbare oplossing leiden. De resultaten worden voorgesteld in tabel 5.7.
TABEL 5.7.: Resultaten van de heuristieken per percentage RF bij 25% negatieve
“cash flows”
25% negatieve “cash flows”
RF = 0.25
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
% verschil # optimale
VOOR
oplossingen
postopt.
% verschil
NA postopt.
#
# optimale
beschouwde
oplossingen
projecten
3.10
2.93
2.70
2.78
3.18
2.82
2.83
17
20
20
16
14
18
16
1.59
1.44
1.31
1.44
1.75
1.45
1.43
97
108
105
101
102
98
100
270
270
270
270
270
270
270
4.65
4.44
4.43
5.71
5.95
4.57
4.40
16
17
15
10
6
14
13
3.39
3.19
3.27
4.49
4.67
3.41
3.29
61
73
64
42
34
59
57
266
266
265
262
260
265
264
4.69
4.62
5.58
8.82
9.03
5.29
4.76
15
17
11
2
2
9
12
3.69
3.58
4.53
7.64
7.83
4.25
3.79
48
51
28
10
15
26
32
259
258
258
254
254
258
257
4.50
4.28
6.75
12.52
12.53
6.20
5.43
17
25
10
1
0
14
13
3.76
3.52
6.17
11.79
11.83
5.57
4.85
34
48
20
3
2
25
24
257
256
261
255
257
262
262
RF = 0.50
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
RF = 0.75
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
RF = 1.00
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
BRON: zelf gegenereerde resultaten
75
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
5. Analyse van de resultaten
5.4.4. Invloed van de “resource strenght” (RS)
Opnieuw zijn het de “cash flow” en de “cash flow per tijdeenheid” die de optimale oplossing
het dichtst benaderen. De gemiddelde afwijking bedraagt tussen de 2.31% en 3.81%. De
“duur van de toekomstige activiteiten” en het “aantal toekomstige activiteiten” leiden
andermaal tot de minst goede resultaten. Dit laatste geldt zeker indien de RS laag is.
De resultaten zijn opgenomen in tabel 5.8.
TABEL 5.8.: Resultaten van de heuristieken per percentage RS bij 25% negatieve
“cash flows”
25% negatieve “cash flows”
RS = 0
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
% verschil # optimale
VOOR
oplossingen
postopt.
% verschil
NA postopt.
#
# optimale
beschouwde
oplossingen
projecten
4.87
4.43
6.45
10.16
10.92
6.07
5.36
23
30
12
6
2
12
11
3.81
3.38
5.49
9.18
9.87
5.17
4.46
66
86
61
43
39
58
55
351
349
349
345
342
349
349
4.39
4.31
4.59
7.28
7.21
4.43
4.22
20
23
19
9
10
16
18
3.15
3.06
3.42
6.04
5.93
3.21
3.09
83
92
69
48
49
62
70
348
348
349
345
347
350
350
3.42
3.44
3.52
4.74
4.77
3.63
3.46
22
26
25
14
10
27
25
2.32
2.31
2.50
3.60
3.64
2.60
2.43
91
102
87
65
65
88
88
353
353
356
351
352
356
354
RS = 0.25
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
RS = 0.50
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
BRON: zelf gegenereerde resultaten
76
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
5. Analyse van de resultaten
5.5. 50% negatieve “cash flows”
Indien projecten voor de helft bestaan uit positieve en negatieve kasstromen, ontstaat het
gevaar dat het project uiteenvalt in twee delen. Enerzijds zijn er de activiteiten met de
positieve “cash flows”, die zoveel mogelijk worden vervroegd, en anderzijds deze met
negatieve “cash flows”, die zoveel mogelijk naar achter worden verschoven. Daardoor kan
het voorkomen dat het project in het begin en op het einde een zware hulpmiddelenbelasting
kent, terwijl dit in het midden van de planning veel minder het geval is. Dit maakt het
plannen van dergelijke projecten ook iets delicater.
Een bijkomend aspect situeert zich in het feit dat de NPV schommelt rond nul. Daardoor kan
het zijn dat een afwijking, die in absolute termen nochtans even groot is als bij een grotere
NPV, procentueel veel sterker uitvalt.
De resultaten bij 50% negatieve kasstromen worden hierna kort besproken.
5.5.1. Invloed van het aantal activiteiten
Zolang het aantal activiteiten beperkt blijft, worden aan de hand van onze heuristieken vrij
goede resultaten bekomen.
De “duur van de toekomstige activiteiten” en het “aantal
toekomstige activiteiten” vormen hierop een uitzondering.
Bij een stijgend aantal activiteiten daalt de performantie van onze prioriteitsregels. Bijgevolg
daalt ook de betrouwbaarheid van onze oplossingen.
De postoptimalisatie fase zorgt er wel voor dat in vele gevallen het verschil met ongeveer de
helft afneemt.
Het aantal optimale oplossingen dat alsnog wordt bekomen, vloeit
voornamelijk voort uit deze postoptimalisatie.
De resultaten worden weergegeven in tabel 5.9.
77
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
5. Analyse van de resultaten
TABEL 5.9.: Resultaten van de heuristieken per aantal activiteiten bij 50% negatieve
“cash flows”
50% negatieve “cash flows”
10 activiteiten
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
% verschil # optimale
VOOR
oplossingen
postopt.
% verschil
NA postopt.
#
# optimale
beschouwde
oplossingen
projecten
4.17
3.96
5.09
10.34
13.75
5.17
4.99
40
49
33
14
7
32
26
2.16
1.98
3.13
8.22
11.21
3.15
2.94
159
185
153
101
73
152
148
360
360
360
360
360
360
360
14.27
14.05
12.51
18.45
21.15
12.50
12.99
0
1
2
0
0
3
2
7.12
6.88
6.17
11.95
14.31
6.18
6.63
40
48
57
40
30
56
45
358
359
359
354
357
359
358
20.59
20.03
18.53
23.29
23.84
18.56
19.70
0
1
0
0
0
0
0
12.25
11.95
10.87
14.91
15.09
11.07
12.20
9
13
13
13
12
11
11
327
332
320
302
290
319
326
20 activiteiten
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
30 activiteiten
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
BRON: zelf gegenereerde resultaten
5.5.2. Invloed van de “order strenght” (OS)
Enkel bij een strenge OS leveren sommige van onze voorrangsregels betrouwbare resultaten.
Het feit dat er, ondanks een gemiddelde afwijking van 7 à 8% toch nog in ongeveer één zesde
van de gevallen een optimale oplossing wordt bekomen, wijst er op dat grote schommelingen
kunnen optreden in de performantie.
De resultaten worden gevisualiseerd in tabel 5.10.
78
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
5. Analyse van de resultaten
TABEL 5.10.: Resultaten van de heuristieken per percentage OS bij 50% negatieve
“cash flows”
50% negatieve “cash flows”
OS = 0.25
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
% verschil # optimale
VOOR
oplossingen
postopt.
% verschil
NA postopt.
#
# optimale
beschouwde
oplossingen
projecten
13.40
13.10
12.50
19.80
23.13
12.02
12.43
11
16
9
2
1
10
9
8.42
8.13
8.09
15.18
18.04
7.69
8.26
50
58
46
30
18
49
46
328
334
325
310
307
324
329
14.82
14.24
13.29
18.12
20.63
13.71
13.81
9
11
11
6
2
10
6
7.87
7.48
7.05
11.53
13.65
7.45
7.43
68
83
76
52
34
70
69
358
357
354
351
346
355
355
10.14
10.18
9.70
13.49
14.62
9.77
10.76
20
24
15
6
4
15
13
4.89
4.90
4.71
8.28
9.21
4.86
5.71
90
105
101
72
63
100
89
359
360
360
355
354
359
360
OS = 0.50
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
OS = 0.75
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
BRON: zelf gegenereerde resultaten
5.5.3. Invloed van de “resource factor” (RF)
Bij een RF van 0.25 leveren onze heuristieken vrij bevredigende resultaten op.
De
gemiddelde afwijking ten opzichte van de optimale oplossing bedraagt dan iets minder dan
4%. Een toenemende RF doet echter de betrouwbaarheid van onze heuristieken dalen.
De resultaten zijn opgenomen in tabel 5.11. Daaruit blijkt nog maar eens de kracht van de
postoptimalisatie fase. De gemiddelde afwijking daalt aanzienlijk en het aantal behaalde
optimale oplossingen neemt ook sterk toe.
79
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
5. Analyse van de resultaten
TABEL 5.11.: Resultaten van de heuristieken per percentage RF bij 50% negatieve
“cash flows”
50% negatieve “cash flows”
RF = 0.25
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
% verschil # optimale
VOOR
oplossingen
postopt.
% verschil
NA postopt.
#
# optimale
beschouwde
oplossingen
projecten
11.52
11.27
10.92
11.23
11.99
11.16
11.16
3
5
4
3
3
4
3
3.98
3.76
3.58
3.84
4.43
3.83
3.91
79
92
85
83
73
84
79
270
270
270
270
270
270
270
13.36
13.62
12.14
15.32
17.14
12.32
13.02
10
11
6
6
3
6
5
7.02
7.14
6.11
8.71
9.91
6.28
6.89
52
64
60
44
29
57
54
265
267
258
258
255
261
262
13.14
13.01
12.54
19.28
21.65
12.11
12.49
11
14
9
4
1
9
9
7.89
7.94
7.87
14.45
16.63
7.76
8.16
41
45
41
19
10
43
38
253
258
260
246
243
260
260
13.10
12.04
11.62
22.98
27.37
11.72
12.68
16
21
16
1
0
16
11
9.34
8.52
8.89
20.04
24.07
8.89
9.64
36
45
37
8
3
35
33
257
256
251
242
239
247
252
RF = 0.50
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
RF = 0.75
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
RF = 1.00
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
BRON: zelf gegenereerde resultaten
5.5.4. Invloed van de “resource strenght” (RS)
Indien we de “duur van de toekomstige activiteiten” en het “aantal toekomstige activiteiten”
buiten beschouwing laten, benaderen onze heuristieken de optimale oplossing tot 5 à 8%.
80
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
5. Analyse van de resultaten
Hoe sterker de RS, hoe beter de performantie van onze prioriteitsregels en hoe meer optimale
oplossingen er worden bekomen.
TABEL 5.12.: Resultaten van de heuristieken per percentage RS bij 50% negatieve
“cash flows”
50% negatieve “cash flows”
RS = 0
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
% verschil # optimale
VOOR
oplossingen
postopt.
% verschil
NA postopt.
#
# optimale
beschouwde
oplossingen
projecten
13.30
12.73
12.39
19.53
24.17
12.51
12.95
12
19
13
3
1
13
9
8.32
7.68
7.99
14.75
18.98
8.04
8.46
60
78
66
38
33
66
63
342
344
345
329
327
342
344
13.18
13.05
12.36
18.06
18.97
12.28
12.58
14
18
10
3
2
9
11
6.84
6.93
6.69
12.14
12.70
6.75
6.98
62
75
70
46
30
63
65
350
354
347
341
340
349
351
11.84
11.67
10.64
13.60
14.88
10.68
11.45
14
14
12
8
4
13
8
5.93
5.82
5.01
7.80
8.80
5.12
5.88
86
93
87
70
52
90
76
353
353
347
346
340
347
349
RS = 0.25
"cash flow"
"cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
RS = 0.50
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
BRON: zelf gegenereerde resultaten
5.6. 75% negatieve “cash flows”
Net als in § 5.5. schommelt de optimale NPV van de projecten rond nul. De absolute waarde
van deze NPV zal dan ook heel klein zijn. Bijgevolg resulteert een relatief kleine absolute
afwijking in een relatief grote procentuele afwijking. Bij 75% negatieve “cash flows” komt
dit echter nog veel sterker tot uiting dan wanneer slechts de helft van de kasstromen negatief
zijn.
81
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
5. Analyse van de resultaten
De resultaten van projecten met 75% negatieve kasstromen onder de verschillende
projectplanningsparameters worden weergegeven in bijlage 1.
5.7. 100% negatieve “cash flows”
Indien alle “cash flows” negatief zijn, kunnen de activiteiten tijdens de postoptimalisatie
enkel naar een later aanvangstijdstip worden verschoven. De NPV van de projecten is hier
overduidelijk negatief.
5.7.1. Invloed van het aantal activiteiten
We merken meteen de sterke stijging op van het aantal optimale oplossingen dat wordt
bekomen door het toepassen van de postoptimalisatie. De gemiddelde afwijking ten opzichte
van de optimale oplossing daalt eveneens zeer fors na de postoptimalisatie.
Opvallend hierbij is dat de “duur van de toekomstige activiteiten” en het “aantal toekomstige
activiteiten”, die totnogtoe steeds als één van de mindere heuristieken naar voren kwamen, nu
wel goed blijken te presteren. Dit is zeker het geval als het aantal activiteiten waaruit een
project is opgebouwd, toeneemt. De “toekomstige cash flows” leidt bij 100% negatieve
kasstromen tot het minst goede resultaat.
De gemiddelde afwijking varieert tussen 0.84% en 3.45%. Dit kan als zeer aanvaardbaar
worden beschouwd.
De resultaten worden voorgesteld in tabel 5.13.
82
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
5. Analyse van de resultaten
TABEL 5.13.: Resultaten van de heuristieken per aantal activiteiten bij 100% negatieve
“cash flows”
100% negatieve “cash flows”
10 activiteiten
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
% verschil # optimale
VOOR
oplossingen
postopt.
% verschil
NA postopt.
#
# optimale
beschouwde
oplossingen
projecten
3.23
3.07
3.44
3.53
3.29
3.23
2.94
3
7
2
1
1
3
8
1.03
0.88
1.39
1.43
0.99
1.14
0.84
144
160
111
125
128
123
149
360
360
360
360
360
360
360
6.36
6.41
6.89
6.22
6.52
6.45
6.11
0
0
0
0
0
0
0
1.99
1.94
2.73
1.86
1.91
2.31
1.95
91
100
75
89
84
86
103
310
310
309
309
308
308
309
9.57
9.66
9.91
9.06
9.25
9.74
8.80
0
0
0
0
0
0
0
2.85
3.03
3.45
2.26
2.38
3.16
2.54
63
64
53
67
67
57
61
217
219
217
218
221
214
215
20 activiteiten
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
30 activiteiten
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
BRON: zelf gegenereerde resultaten
5.7.2. Invloed van de “order strenght” (OS)
Hoewel het verschil tijdens de planningsfase kan oplopen tot 5 à 7%, wordt na de
postoptimalisatie een gemiddelde afwijking bekomen die varieert rond de 2%. Dit geldt voor
elke waarde die aan de OS wordt opgelegd.
De resultaten worden gevisualiseerd in tabel 5.14.
83
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
5. Analyse van de resultaten
TABEL 5.14.: Resultaten van de heuristieken per percentage OS bij 100% negatieve
“cash flows”
100% negatieve “cash flows”
OS = 0.25
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
% verschil # optimale
VOOR
oplossingen
postopt.
% verschil
NA postopt.
#
# optimale
beschouwde
oplossingen
projecten
6.92
6.71
7.20
6.52
6.96
6.95
6.25
0
1
0
0
0
0
0
2.07
1.85
2.30
2.20
2.06
2.13
1.81
61
64
48
56
56
54
62
236
237
236
237
238
236
237
6.46
6.59
6.83
6.79
6.70
6.52
6.15
1
0
1
1
0
1
4
1.98
2.04
2.76
1.99
1.80
2.36
1.85
100
101
84
92
95
88
99
311
312
310
311
309
307
308
4.61
4.59
5.01
4.46
4.42
4.69
4.31
2
6
1
0
1
2
4
1.47
1.49
2.05
1.30
1.24
1.68
1.32
137
159
107
133
128
124
152
340
340
340
339
342
339
339
OS = 0.50
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
OS = 0.75
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
BRON: zelf gegenereerde resultaten
5.7.3. Invloed van de “resource factor” (RF)
Indien de RF 0.25 bedraagt, slagen alle heuristieken erin om de optimale oplossing te
benaderen tot minder dan 1%. Als de RF wordt opgedreven, neemt de gemiddelde afwijking
lichtjes tot 2 à 3%. Dit kan nog steeds als zeer goed worden beschouwd.
Veel onderscheid tussen de verschillende prioriteitsregels kan hierbij niet opgemerkt worden.
Wel bemerken we dat de “duur van de toekomstige activiteiten” en vooral het “aantal
toekomstige activiteiten” steeds tot de best presterende voorrangsregels behoren.
Dit in
tegenstelling tot projecten bestaande uit enkel postieve kasstromen. Daar kwamen deze
regels steevast naar voren als de minst presterende heuristieken.
84
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
5. Analyse van de resultaten
Tabel 5.15. geeft de resultaten voor de verschillende heuristieken weer. De impact van de
postoptimalisatie fase wordt hier andermaal heel duidelijk geïllustreerd.
TABEL 5.15.: Resultaten van de heuristieken per percentage RF bij 100% negatieve
“cash flows”
100% negatieve “cash flows”
RF = 0.25
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
% verschil # optimale
VOOR
oplossingen
postopt.
% verschil
NA postopt.
#
# optimale
beschouwde
oplossingen
projecten
7.70
7.44
7.63
7.24
7.59
7.51
7.29
0
0
0
0
0
0
0
0.90
0.88
1.03
0.78
0.86
0.98
0.88
157
162
144
161
154
148
158
270
270
270
270
270
270
270
5.77
5.80
6.16
5.86
5.97
5.96
5.68
0
0
0
0
0
0
0
1.75
1.80
2.43
1.57
1.46
2.06
1.81
87
85
59
78
80
72
79
240
241
239
243
243
238
239
5.07
5.28
5.62
5.08
5.15
5.08
4.54
0
2
0
1
0
0
0
2.32
2.31
3.03
2.48
2.34
2.53
1.99
34
45
20
25
31
27
43
206
207
206
205
206
204
205
4.10
4.14
4.86
4.43
4.00
4.41
3.42
3
5
2
0
1
3
8
2.71
2.52
3.57
2.86
2.36
3.10
2.16
20
32
16
17
14
19
33
171
171
171
169
170
170
170
RF = 0.50
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
RF = 0.75
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
RF = 1.00
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
BRON: zelf gegenereerde resultaten
5.7.4. Invloed van de “resource strenght” (RS)
De zeven heuristieken presteren heel behoorlijk onder de verschillende RS-instellingen.
Hierbij leidt de “toekomstige cash flow per tijdeenheid” tot de beste resultaten.
De
85
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
5. Analyse van de resultaten
“toekomstige cash flows” levert in dit geval steevast het minst goede resultaat op. Ook de
“duur van de toekomstige activiteiten” en het “aantal toekomstige activiteiten” performeren
heel degelijk bij deze settings.
Tabel 5.16. bevat de resultaten van de zeven heuristieken bij de verschillende RS-waarden.
TABEL 5.16.: Resultaten van de heuristieken per percentage RS bij 100% negatieve
“cash flows”
100% negatieve “cash flows”
RS = 0
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
% verschil # optimale
VOOR
oplossingen
postopt.
% verschil
NA postopt.
#
# optimale
oplossingen beschouwde
projecten
5.77
5.65
6.10
5.72
5.85
5.68
5.21
2
5
1
0
1
2
7
2.26
1.91
2.77
2.17
1.97
2.31
1.79
83
89
62
78
77
69
91
271
271
271
270
271
268
269
5.97
6.08
6.44
6.09
6.04
6.18
5.55
1
1
1
0
0
1
1
1.89
2.00
2.65
2.01
1.79
2.33
1.85
94
95
71
77
87
83
96
301
303
301
301
301
301
299
5.87
5.82
6.14
5.67
5.79
5.91
5.62
0
1
0
1
0
0
0
1.35
1.45
1.74
1.24
1.25
1.52
1.30
121
140
106
126
115
114
126
315
315
314
316
317
313
316
RS = 0.25
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
RS = 0.50
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
BRON: zelf gegenereerde resultaten
5.8. Bevindingen
Indien de projecten enkel bestaan uit kasinstromen, komt de “cash flow per tijdeenheid” naar
voren als de beste prioriteitsregel. De gemiddelde afwijking ten opzichte van de optimale
86
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
5. Analyse van de resultaten
oplossing bedraagt tussen de 0.84% en 2.95%. Steeds wordt een aanzienlijk aantal optimale
oplossingen bekomen.
De “duur van de toekomstige activiteiten” en het “aantal toekomstige activiteiten” scoren het
minst goed.
Doch hun gemiddelde afwijking bedraagt maximaal 4.51%, respectievelijk
4.32%.
Als er 25% negatieve kasstromen zijn, neemt de afwijking ten opzichte van de optimale
oplossing toe.
Deze toename wordt beperkt gehouden door de verschuivingen die
plaatsvinden tijdens de postoptimalisatie.
Opnieuw performeert de “cash flow per
tijdeenheid” globaal gezien het beste. De “duur van de toekomstige activiteiten” en het
“aantal toekomstige activiteiten” kunnen in sommige gevallen tot onbetrouwbare resultaten
leiden, met een afwijking die rond de 7 à 10% kan schommelen.
Bij projecten waar 50% van de “cash flows” negatief zijn, is de performantie van onze
heuristieken minder goed. Een eerste mogelijke oorzaak zit in de waarde van de NPV vervat.
Intuïtief is het duidelijk dat de NPV van een project met 50% negatieve kasstromen rond nul
zal variëren. De absolute waarde van de NPV zal dus heel klein zijn. Bijgevolg resulteert
een relatief kleine absolute afwijking in een relatief grote procentuele afwijking. Een tweede
mogelijke oorzaak is de ongelijkmatige verdeling van de planning.
Bij projecten met 75% negatieve kasstromen wordt dit negatief effect nog meer versterkt. De
bruikbaarheid van onze heuristieken kan in dit geval in vraag worden gesteld.
Bij 100% negatieve “cash flows” blijken alle zeven heuristieken heel degelijk te presteren.
De betrouwbaarheid van de oplossingen bij dergelijke projecten is heel hoog. Onder deze
omstandigheden lijkt de “toekomstige cash flow per tijdeenheid” de voorkeur te genieten.
Opvallend hierbij is dat de “duur van de toekomstige activiteiten” en het “aantal toekomstige
activiteiten” ook heel goed blijken te scoren. Dit is dus in tegenstelling met projecten
bestaande uit 0 en 25% negatieve kasstromen. De “toekomstige cash flows” blijken dan weer
de minst goede performantie te leveren.
87
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
Conclusie
CONCLUSIE
Het oplossen van projectplanningsproblemen komt neer op het toewijzen van een beperkt
aantal hulpmiddelen aan de verscheidene activiteiten over een bepaalde periode. Daarbij
dienen de volgorderelaties te worden gerespecteerd.
De planning geschiedt zodanig dat een doelfunctie of “measure of performance” wordt
geoptimaliseerd. De bekendste en meest nagestreefde performantiemaatstaf is ongetwijfeld
het minimaliseren van de projectduur. Dit is een zogenaamde reguliere performantiemaatstaf.
Dit wil zeggen dat het uitstellen van een activiteit nooit tot een verbetering van de doelfunctie
leidt.
We concentreren ons echter op een niet-reguliere performantiemaatstaf, namelijk het
maximaliseren van de netto actuele waarde of “net present value” (NPV) van een project. Dit
is
het
zogenaamde
“RCPSPDC”-planningsprobleem
(“resource-constrained
project
scheduling problem with discounted cash flows”). Hierbij kan het zijn dat het uitstellen van
een activiteit voordelig is voor de doelfunctie.
Hierdoor worden de financiële aspecten van een project ook opgenomen in de planning.
Deze NPV-regel kan zowel gebruikt worden bij het opstellen van een aanbesteding als bij het
plannen van een aanvaard project.
Het maximaliseren van de NPV is relevant in omstandigheden waarbij aan de volgende
voorwaarden is voldaan:
•
de tijdswaarde van geld wordt in beschouwing genomen
•
het gaat om kapitaalintensieve projecten met een voldoende lange looptijd
•
het project gaat gepaard met aanzienlijke kasstromen
•
er geldt een hoge interestvoet
•
de kapitaalkost is hoog.
In sommige “real-life” omstandigheden is hieraan voldaan en is het bijgevolg aangewezen de
NPV te maximaliseren bij de planning van het project. We denken bijvoorbeeld aan het
project ter uitbreiding van de capaciteit van het waterproductiecentrum te Kluizen dat door de
Vlaamse Maatschappij voor Watervoorziening werd uitgevoerd.
88
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
Conclusie
Er bestaan zowel optimale als heuristische oplossingsmethodes.
Optimale
oplossingsmethodes
zijn
in
staat
het
planningsprobleem
zonder
hulpmiddelenbeperkingen, waarbij de netto actuele waarde wordt gemaximaliseerd, op een
efficiënte en optimale manier op te lossen. Bijgevolg is er geen behoefte aan het gebruik van
heuristieken.
Indien
echter
hulpmiddelenrestricties
worden
toegevoegd,
komen
de
optimale
oplossingsmethodes niet altijd tot een planning binnen een aanvaardbare tijdspanne. De beste
optimale resultaten worden behaald met een “depth-first branch-and-bound”-procedure. Het
gebruik van een heuristische oplossingsbenadering biedt hier een mogelijk alternatief.
Binnen de heuristische oplossingsmethodes worden twee benaderingen onderscheiden.
Enerzijds is er de optimalisatiegeoriënteerde benadering. De oplossingen van het model
zonder hulpmiddelenbeperkingen vormen hierbij het uitgangspunt.
Hierdoor komt een
“single-pass” heuristiek tot stand. Anderzijds is er de parametergebaseerde benadering.
Hierbij wordt informatie omtrent het kritische pad en kasstromen gebruikt om prioriteitsregels
op te stellen.
Aan deze laatste benadering wordt er vaak een “shifting”-procedure
toegevoegd. Dit vormt dan een zogenaamde “multipass” heuristiek. Daarbij worden de
activiteiten na de initiële planning verschoven zodat de doelfunctie verbetert. De basisidee
hierbij is dat activiteiten met een negatieve “cash flow” zo lang mogelijk worden uitgesteld
en activiteiten waaraan een positieve kasstroom is verbonden zo vroeg mogelijk worden
gepland.
In deze scriptie is een “multipass” algoritme voorgesteld. Dit werd zelfstandig opgesteld,
verfijnd en geïmplementeerd. Het algoritme wordt ingedeeld in vier fasen: de voorbereidende
fase, de initialisatie fase, de planningsfase en de postoptimalisatie.
Tijdens de voorbereidende fase worden de gegevens van het project ingelezen.
Voorts
worden “cash flows” gegenereerd. Tenslotte worden enkele aanvullende data, dewelke nodig
zijn voor de planningsfase, berekend. Het betreft de voorgangers van de activiteiten en de
toekomstige activiteiten van een activiteit. Onder toekomstige activiteiten verstaan we hier
alle volgers en niet enkel de onmiddellijke volgers.
89
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
Conclusie
Bij de tweede fase worden de klok, de beschikbare hulpmiddelen en de verscheidene viabelen
geïnitialiseerd.
De activiteiten worden voorlopig gepland tijdens de planningsfase. Hierbij wordt in een
eerste stap op elk tijdstip de “set of schedulable activities” opgesteld. Dit is de set van alle
activiteiten die op dit tijdstip kunnen worden gepland.
In een tweede stap worden aan alle activiteiten uit deze set prioriteiten toegekend op basis van
een intuïtieve wegingscoëfficiënt. Er wordt gestreefd naar eenvoudige prioriteitsregels. Het
zijn allen varianten op bestaande heuristieken. We stellen in deze scriptie zeven
voorrangsregels voor, namelijk:
•
“cash flow”
•
“cash flow” per tijdeenheid
•
toekomstige “cash flows”
•
duur van de toekomstige activiteiten
•
aantal toekomstige activiteiten
•
gemiddeld toekomstige “cash flow”
•
toekomstige “cash flow” per tijdeenheid
In het geval er een “tie” optreedt, dus als meerdere activiteiten eenzelfde prioriteit hebben,
krijgt de activiteit met het kleinste activiteitsnummer de hoogste prioriteit.
Bij de derde stap wordt de activiteit met de hoogste prioriteit, voor zover er aan de
hulpmiddelenbeperkingen werd voldaan, gepland.
Tenslotte wordt in een laatste stap de NPV van het project berekend.
Tijdens de vierde fase wordt de “shifting”-procedure toegepast.
Indien we degelijke
resultaten wensen te behalen, is zo’n procedure een noodzaak. Immers, er wordt aangetoond
dat geen enkele “single pass” heuristiek beter presteert dan een “multipass” heuristiek.
Het algoritme wordt geïllustreerd aan de hand van een numeriek voorbeeld uit de literatuur.
Hierbij worden heel bemoedigende resultaten behaald, wat het uittesten op een uitgebreide
testset rechtvaardigt.
90
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
Conclusie
De performantie van het algoritme wordt vervolgens nagegaan op een testset bestaande uit
1080 projecten. Deze testset werd reeds eerder gehanteerd bij het toetsen van een optimale
oplossingsmethode. De projecten uit de gebruikte testset bevatten verschillende waarden
voor de planningsparameters. De parameters waaruit de testset werd opgebouwd zijn:
•
Het aantal activiteiten.
•
De “order strenght” geeft de sterkte van de volgorderelaties in een project weer.
•
De “resource factor”geeft de gemiddelde vraag van hulpmiddelentypes per
activiteit weer.
•
De “resource strenght” geeft de verhouding weer tussen de beschikbaarheid van
de hulpmiddelen en de vraag ernaar.
•
percentage negatieve cash flows
De planning die door ons algoritme werd bekomen, wordt vervolgens vergeleken met de
optimale NPV bij eenzelfde deadline. Daarbij wordt de gemiddelde procentuele afwijking
berekend. Ook wordt het aantal gevallen waarbij een optimale oplossing werd bekomen,
bijgehouden.
Volgende bevindingen kwamen daarbij naar voren:
Bij projecten bestaande uit 0 of 25% negatieve “cash flows” komt de “cash flow per
tijdeenheid” als beste prioriteitsregel uit de bus. Met deze regel wordt de optimale oplossing
tot ongeveer 3% benaderd. Ook wordt er steeds een aanzienlijk aantal optimale oplossingen
bekomen met deze heuristiek. De “duur van de toekomstige activiteiten” en het “aantal
toekomstige activiteiten” scoren het minst goed. De gemiddelde afwijking kan hierbij 7 à
10% bedragen. Hoewel nog steeds een degelijk aantal optimale oplossingen wordt bereikt,
blijkt de betrouwbaarheid van deze regels eerder beperkt te zijn.
Indien er 50 of 75% negatieve kasstromen zijn, is de performantie van onze heuristieken
minder goed. De waarde van de NPV zou hier aan de basis kunnen liggen. Immers, intuïtief
is duidelijk dat de NPV in deze gevallen rond nul zal schommelen. De absolute waarde van
de NPV zal dus heel klein zijn. Bijgevolg resulteert een relatief kleine absolute afwijking in
een relatief grote procentuele afwijking.
In het geval waarbij de projecten enkel negatieve “cash flows” bevatten, is de
betrouwbaarheid van onze heuristische oplossingen heel hoog. De “toekomstige cash flow
91
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
Conclusie
per tijdeenheid” geniet hierbij de voorkeur. Opmerkelijk is dat de prioriteitsregels die slecht
uit de verf komen bij weinig negatieve kasstromen – de “duur van de toekomstige
activiteiten” en het “aantal toekomstige activiteiten” – nu wel goed presteren.
De
performantie van de “toekomstige cash flows” is hier echter aan de lage kant.
De performantie van onze heuristieken op het vlak van projectduur wordt hierbij niet
nagegaan.
Hoewel onze heuristieken – gelet op hun eenvoud – een vrij degelijke performantie leveren, is
verder onderzoek omtrent het maximaliseren van de netto actuele waarde bij projectplanning
zeker vereist. Dit geldt zowel wat de optimale als de heuristische oplossingsmethodes betreft.
Met de intrede van de zogenaamde “metaheuristische” oplossingsmethodes werd het
probleem recentelijk vanuit een nieuwe invalshoek benaderd.
Hierbij worden lokale
zoekmethoden, zoals de “tabu search” en “simulated annealing”, toegepast bij het oplossen
van dergelijke projectplanningsproblemen.
Eventueel zou het aangewezen zijn om de eerste aanzetten tot het ontwikkelen van een
oplossingsmethode, die zowel de projectduur minimaliseert als de NPV maximaliseert, verder
te onderzoeken.
Laten we hopen dat deze scriptie een bijdrage – hoe klein ook – heeft geleverd aan de
heuristisch benadering bij het oplossen van het “RCPSPDC”-probleem.
92
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
Lijst van de geraadpleegde werken
LIJST VAN DE GERAADPLEEGDE WERKEN
ABBASI G.Y. en ARABIAT Y.A., 2001, “A heuristic to maximize the net present value for
resource-constrained project-scheduling problems”, Project Management Journal, Vol. 32,
No. 2, blz. 17 – 24.
ALVAREZ-VALDES R. en TAMARIT J.M., 1989, “Heuristic algorithms for resourceconstrained project scheduling: a review and emperical analysis”, Hoofdstuk uit Advances in
Project Scheduling, Elsevier, Amsterdam, blz. 113 – 134.
BARTUSCH M., MÖHRING R.H. en RADERMACHER F.J., 1988, “Scheduling project
networks with resource constraints and time windows”, Annals of Operations Research, Vol.
16, blz. 201 – 240.
BÖTTCHER J., DREXL A., KOLISCH R. en SALAWSKI F., 1999, “Project scheduling
under partially renewable resource constraints”, Management Science, Vol. 45, No. 4, blz.
543 – 559.
BRUCKER P., DREXL A., MÖHRING R., NEUMANN K. en PESCH E., 1999, “Resourceconstrained project scheduling: Notation, classification, models and methods”, European
Journal of Operational Research, Vol. 112, No. 1, blz. 3 – 41.
COOPER D.F., 1976, “Heuristics for scheduling resource-constrained projects: An
experimental investigation”, Management Science, Vol. 22, No. 11, blz. 1186 – 1194.
DAVIS E.W. en PATTERSON J.H., 1975, “A comparison of heuristic and optimum
solutions in resource-constrained project scheduling”, Management Science, Vol. 21, No. 8,
blz. 944 – 955.
DEMEULEMEESTER E., VANHOUCKE M., HERROELEN W., 2003 , “A random
network generator for activity-on-the-node networks”, Journal of Scheduling, Vol. 6, blz. 13
– 34.
X
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
Lijst van de geraadpleegde werken
DE REYCK B. en HERROELEN W., 1996, “On the use of the complexity index as a
measure of complexity in activity networks”, European Journal of Operational Research, Vol.
91, No. 2, blz. 347 – 366.
DE REYCK B. en HERROELEN W., 1999, “Complex samenspel tussen tijd-, volgorde- en
hulpmiddelenbeperkingen”, Business Logistics, Vol. 4, blz. 19 – 28.
DOERSCH R.H. en PATTERSON J.H., 1977, “Scheduling a project to maximize its present
value: A zero-one programming approach”, Management Science, Vol. 23, No. 8, blz. 882 –
889.
ELMAGHRABY S.E., 1995, “Activity nets: A guided tour through some recent
developments”, European Journal of Operational Research, Vol. 82, No. 3, blz. 383 – 408.
ELMAGHRABY S.E. en HERROELEN W., 1980, “On the measurement of complexity in
activity networks”, European Journal of Operational Research, Vol. 5, No. 4, blz. 223 – 234.
ELMAGHRABY S.E. en KAMBUROWSKI J., 1992, “The analysis of activity networks
under generalized precedence relations”, Management Science, Vol. 38, No. 9, blz. 1245 –
1263.
ETGAR R., SHTUB A. en LEBLANC L.J., 1997, “Scheduling projects to maximize net
present value – the case of time-dependent, contingent cash flows”, European Journal of
Operational Research, Vol. 96, No. 1, blz. 90 – 96.
HERROELEN W., DEMEULEMEESTER E. en DE REYCK B., 1999, “A classification
scheme for project scheduling problems”, Handbook on Recent Advances in Project
Scheduling, Kluwer Academic Publishers, Chapter 1, blz. 1 - 26.
HERROELEN W. en DE REYCK B., 1999, “Phase transitions in project scheduling”, Journal
of Operational Research Society, Vol. 50, No. 2, blz. 148 –156.
XI
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
Lijst van de geraadpleegde werken
HERROELEN W., VAN DOMMELEN P. en DEMEULEMEESTER E., 1997, “Project
network models with discounted cash flows a guided tour through recent developments”,
European Journal of Operational Research, Vol. 100, No. 1, blz. 97 – 121.
KOLISCH R. en PADMAN R., 2001, “An integrated survey of deterministic project
scheduling”, Omega – The International Journal of Management Science, Vol. 29, No. 3, blz.
249 – 272.
KOLISCH R., SPRECHER A. en DREXL A., 1995, “Characterization and generation of a
general class of resource-constrained project scheduling problems”, Management Science,
Vol. 41, No. 10, blz. 1693 – 1703.
MASTOR A.A., 1970, “An experimental investigation and comparative evaluation of
production line balancing techniques”, Management Science, Vol. 16, No. 11, blz. 728 – 746.
ÖZDAMAR L., ULUSOY G. en BAYYIGIT M., 1998, “ A heuristic treatment of tardiness
and net present value criteria in resource-constrained project scheduling”, International
Journal of Physical Distribution and Logistics Management, Vol. 28, blz. 805 – 820.
PADMAN R. en SMITH-DANIELS D.E., 1993, “Early-tardy cost trade-offs in resource
constrained projects with cash flows: An optimizatoin-guided heuristic approach”, European
Journal of Operational Research, Vol. 64, No.2, blz. 295 – 311.
PASCOE T.L., 1966, “Allocation of resources “, CPM Revue Française de Recherche
Opérationelle, Vol. 38, blz. 31 – 38.
PATTERSON J.H., SLOWINSKI R., TALBOT F.B. en WEGLARZ J., 1990,
“Computational experience with a backtracking algorithm for solving a general class of
precedence and resource-constrained scheduling problems”, European Journal of Operational
Research, Vol. 49, No. 1, blz. 68 – 79.
PINDER J.P. en MARUCHECK A.S., 1996, “Using discounted cash flow heuristics to
improve project net present value”, Journal of Operations Management, Vol. 14, No. 3, blz.
229 – 240.
XII
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
Lijst van de geraadpleegde werken
PINNELL S.S. en BUSCH J.S., 1993, “How do you measure the quality of your project
management?”, PM NETwork, Vol. 7, No. 5, blz. 35 – 36.
RUSSEL A.H., 1970, “Cash flows in networks”, Management Science, Vol. 16, No. 5, blz.
357 – 373.
RUSSEL R.A., 1986, “A comparison of heuristics for scheduling projects with cash flows
and resource restrictions”, Management Science, Vol. 32, No. 10, blz. 1291 – 1300.
SLOWINSKI R., 1981, “Multiobjective network scheduling with efficient use of renewable
and nonrenewable resources”, European Journal of Operational Research, Vol. 7, No. 3, blz.
265 – 273.
SMITH-DANIELS D.E. en AQUILANO N.J., 1987, “Using a late-start resource-constrained
project schedule to improve project net present value”, Decision Sciences, Vol. 18, No. 4, blz.
617 – 630.
TALBOT F.B., 1982, “Resource-constrained project scheduling problem with time-resource
trade-offs: The nonpreemptive case”, Management Science, Vol. 28, No. 10, blz. 1197 –
1210.
ULUSOY G. en ÖZDAMAR L., 1995, “A heuristic scheduling algorithm for improving the
duration and net present value of a project”, International Journal of Operations and
Production Management, Vol. 15, No. 1, blz. 89 – 98.
VANHOUCKE M., 2001, “Exact algorithms for various project scheduling problems:
Nonregular measures of performance and time/cost trade-offs”, PhD Dissertation, Chapter 1,
blz. 1 – 20.
VANHOUCKE M. en DEMEULEMEESTER E., 2003, “The application of project
scheduling techniques in a real-life environment”, Project Management Journal, Vol. 34, No.
1, blz. 30 – 42.
XIII
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
Lijst van de geraadpleegde werken
VANHOUCKE M., DEMEULEMEESTER E., HERROELEN W., 2001, “On maximizing
the net present value of a project under renewable resource constraints”, Management
Science, Vol. 47, No. 8, blz. 1113 – 1121.
TESTSET
VANHOUCKE M., DEMEULEMEESTER E. en HERROELEN W., 2001, Probleemset 2 uit
“On maximizing the net present value of a project under renewable resource constraints”,
Management Science, Vol. 47, No. 8, blz. 1113 – 1121.
CODE VOOR HET “RCPSPDC”-PROBLEEM
VANHOUCKE M., november 2000.
XIV
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
Bijlage 1: Resultaten bij 75% negatieve “cash flows”
BIJLAGE 1.: RESULTATEN BIJ 75% NEGATIEVE “CASH
FLOWS”
TABEL 1: Resultaten van de heuristieken per aantal activiteiten bij 75% negatieve
“cash flows”
75% negatieve “cash flows”
10 activiteiten
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
% verschil # optimale
VOOR
oplossingen
postopt.
% verschil
NA postopt.
#
# optimale
oplossingen beschouwde
projecten
4.17
3.96
5.09
10.34
13.75
5.17
4.99
40
49
33
14
7
32
26
2.16
1.98
3.13
8.22
11.21
3.15
2.94
159
185
153
101
73
152
148
360
360
360
360
360
360
360
38.01
37.78
37.41
44.63
49.44
36.91
38.55
0
1
0
0
0
1
0
14.62
14.40
14.44
22.31
26.33
14.48
16.12
42
50
40
47
37
41
39
359
360
360
357
358
359
358
142.49
139.11
146.18
206.43
207.28
139.81
306.05
0
0
0
0
0
0
0
51.01
50.64
56.25
90.65
95.36
53.88
140.55
12
15
8
13
15
11
11
307
310
308
305
298
310
310
20 activiteiten
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
30 activiteiten
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
BRON: zelf gegenereerde resultaten
TABEL 2: Resultaten van de heuristieken per percentage OS bij 75% negatieve
“cash flows”
75% negatieve “cash flows”
OS = 0.25
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
% verschil # optimale
VOOR
oplossingen
postopt.
58.54
56.83
64.56
89.34
81.92
55.67
220.08
11
16
9
2
1
10
8
% verschil
NA postopt.
#
# optimale
beschouwde
oplossingen
projecten
23.83
23.33
26.37
44.82
46.52
24.00
109.30
51
61
48
30
18
50
46
317
320
320
312
308
318
317
XV
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
Bijlage 1: Resultaten bij 75% negatieve “cash flows”
OS = 0.50
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
63.45
62.48
64.24
88.17
85.56
63.56
64.34
9
10
10
6
2
9
5
23.11
22.28
24.26
42.02
37.53
23.75
24.52
65
79
66
52
37
65
63
352
352
354
352
350
354
354
50.42
50.20
47.82
66.23
81.68
51.13
50.22
20
24
14
6
4
14
13
16.80
17.56
18.70
27.37
40.26
19.60
19.82
97
110
87
79
70
89
89
357
358
354
358
358
357
357
OS = 0.75
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
BRON: zelf gegenereerde resultaten
TABEL 3: Resultaten van de heuristieken per percentage RF bij 75% negatieve
“cash flows”
75% negatieve “cash flows”
RF = 0.25
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
% verschil # optimale
VOOR
oplossingen
postopt.
% verschil
NA postopt.
#
# optimale
beschouwde
oplossingen
projecten
82.82
82.33
91.34
120.28
93.76
84.64
271.41
3
4
4
3
3
4
3
18.23
17.91
20.81
36.69
22.42
18.65
114.65
87
99
83
86
77
85
82
270
270
270
270
270
270
270
63.32
61.10
63.06
82.96
85.87
65.83
67.13
10
11
6
6
3
6
5
25.33
24.88
25.91
37.80
40.68
27.48
28.39
51
63
51
48
34
49
51
265
266
266
262
261
266
265
46.61
47.34
42.95
66.52
85.88
41.34
46.18
11
14
9
4
1
8
8
21.17
22.26
22.85
39.20
57.29
21.91
26.46
40
44
40
17
10
41
37
250
253
253
250
247
253
253
RF = 0.50
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
RF = 0.75
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
XVI
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
Bijlage 1: Resultaten bij 75% negatieve “cash flows”
RF = 1.00
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
33.60
31.90
33.57
49.08
65.04
31.80
32.16
16
21
14
1
0
15
10
19.75
18.72
22.41
37.34
46.45
21.44
21.78
35
44
27
10
4
29
28
241
241
239
240
238
240
240
BRON: zelf gegenereerde resultaten
TABEL 4: Resultaten van de heuristieken per percentage RS bij 75% negatieve
“cash flows”
75% negatieve “cash flows”
RS = 0
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
% verschil # optimale
VOOR
oplossingen
postopt.
% verschil
NA postopt.
#
# optimale
beschouwde
oplossingen
projecten
39.24
38.74
41.95
52.80
75.78
40.28
39.39
12
19
11
3
1
11
8
18.98
18.45
21.73
29.82
48.23
20.28
19.78
59
77
62
42
38
63
62
332
333
334
330
326
335
334
59.17
58.01
60.73
88.88
78.52
60.39
59.19
14
17
10
3
2
9
11
20.86
20.67
22.84
43.58
35.13
22.48
23.60
63
75
61
44
29
59
62
345
347
345
345
344
346
345
72.93
71.76
72.67
99.52
94.52
69.16
219.76
14
14
12
8
4
13
7
23.46
23.66
24.38
39.47
40.67
24.32
102.15
91
98
78
75
58
82
74
349
350
349
347
346
348
349
RS = 0.25
"cash flow"
“cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
RS = 0.50
"cash flow"
"cash flow” per tijdeenheid
toekomstige "cash flows"
duur toekomstige activiteiten
aantal toekomstige activiteiten
gemiddelde toekomstige "cash flow"
toekomstige "cash flow" per tijdeenheid
BRON: zelf gegenereerde resultaten
XVII
Een heuristische benadering voor projectplanningsproblemen met “cash flows”
Download