Forfatter:Søren Aabling
Vejleder:Sanne Wøhlk
Analyse af Transportomkostningerne iIndsamlingsprocessen for Fraktioneret Dagrenovation
Case Study: Reno Djurs I/S
Kandidatafhandling, Maj 2015Institut for Økonomi
School of Business & Social Sciences, Aarhus Universitet
Abstract
The increased focus on sustainability from the European Parliament, the Commission and the Council of
Ministers have inevitably in�uenced the Danish Governments environmental policy, which the waste policy
is part of. The overall goals in the waste policy is consequently to recycle more and burn less of the solid waste.
It is the responsibility of the municipalities to collect and process the solid waste, which for the south and
northern parts of Djursland is handled by the general partnership called Reno Djurs. In order to comply to the
waste policy the company has developed a number of master thesis projects with a focus on the collection process
in collaboration with Associate Professor Sanne Wøhlk from the Department of Economics and Business. This
master thesis is founded in the project concerning synchronization of waste fractions in the collection process
of fractionated solid waste.
This master thesis presents an analysis of the cost of transportation for the collection process of fractionated
solid waste in two di�erent scenarios. The analysis is a part of the restructuring in the waste collection for Reno
Djurs, and results in a recommendation to the decision-making process.
The problem for the two scenarios are viewed as a routing problem that theoretically is identi�ed as a
generalization of the Mixed Capacitated General Routing Problem (MCGRP). This identi�cation is due to the
use of Topology Aggregation in the data process, which reduces the problem instance signi�cantly. The hybrid
metaheuristic Adaptive Iterated Local Search is chosen as solution method and modi�ed to accommodate the
generalization of MCGRP.
Based on the results the scenario containing synchronization of waste fractions is recommended. The crucial
result in this choice is the traverse time, which is assumed to have a linear relation to the cost of the collection
process. The traverse time was lower for the scenario containing synchronization of waste fractions. A sensitivity
analysis showed however that this result was sensitive to changes in the instance.
Finally some areas related to the analysis that could have been interesting to look deeper into are presented.
Also more general subjects within practical and theoretical routing are discussed with suggestions to some
changes of the general practice.
i
Anerkendelse
Først og fremmest vil jeg rette en stor tak til lektor Sanne Wøhlk for sin motiverende og spændende vejledning
gennem specialeskrivningen. Det er tydeligt gennem hendes pædagogiske og grundige vejledning at hun har
en stor interesse for sine specialestuderende. Yderligere vil jeg sige tak for hendes interesse og sparring i mine
fremtidsplaner indenfor ruteplanlægning og for at måtte benytte mig af hendes netværk i den henseende.
Virksomhederne Reno Djurs, Hørkram Foodservice, Grøn Cater og Dansk Pakke Ekspres skal have en tak
for deres samarbejde omkring projekter på min bachelor og kandidat. Deres åbenhed overfor at anvende et
akademisk perspektiv på deres praktiske ruteplanlægingsproblemer har givet mig en dyb forståelse for hvordan
teori kan anvendes i praksis.
Yderligere vil jeg gerne sige tak for den store �eksibilitet som Studenterlauget og Danske Commodities har
vist mig i mine studiejobs. Danske Commodities har givet mig uvurderlig erfaring som man sjælendt �nder i et
studiejob.
Da dette er afslutningen på min skolegang, vil jeg benytte lejligheden til at takke de to af mine lærere der
har haft den største ind�ydelse på hvor jeg er idag. Derfor en stor tak til min klasselærer Lene Krabbe og min
matematiklærer Inge-Lis Andersen for støtten og troen gennem mine første 7 folkeskoleår på Vester Vedsted
Skole.
Jeg vil gerne takke mine forældre, Anders og Tove, for at give mig frihed og støtte til selv at bestemme
hvilken retning jeg vælger. En speciel tanke går til min mor som desværre må se mine bedrifter fra himmels.
Jeg vil naturligvis gerne takke mine to dejlige søstre, Anne og Marie, for mange gode minder, og fordi vi stadig
holder sammen trods vores forskelligheder. En tak går også til min Moster, Else, for at have støttet mig gennem
nogle svære perioder, hvilket jeg sætter mere pris på end jeg kan sige. Vigtigst af alt er jeg taknemlig for
kærligheden, støtten og tolerancen gennem snart 8 år fra min kæreste Katrine Skeby, hun har en stor andel i
hvor jeg er idag.
ii
Indhold
Indhold iii
1 Indledning 1
1.1 Virksomheds- og situationsbeskrivelse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.1.1 Nuværende Dagrenovation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.1.2 Alternativ Dagrenovation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Problemformulering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.3 Metode og Struktur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 Litteraturgennemgang 5
2.1 Renovation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.1.1 Green Logistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.1.2 Reverse Logistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.1.3 Waste Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 Ruteplanlægning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.2.1 The Capacitated Vehicle Routing Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.2.2 The Capacitated Arc Routing Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.2.3 The General Routing Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.2.4 The Mixed Capacitated General Routing Problem . . . . . . . . . . . . . . . . . . . . . . 10
2.3 Beregningskompleksitet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.4 Løsningsmetoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.4.1 Banebaserede Metaheuristikker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.4.1.1 Simulated Annealing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.4.1.2 Tabu Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.4.1.3 Greedy Randomized Adaptive Search Procedure . . . . . . . . . . . . . . . . . . 162.4.1.4 Variable Neigborhood Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.4.1.5 Guided Local Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.4.1.6 Iterated Local Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182.4.1.7 Large Neighborhood Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.4.2 Populationsbaserede Metaheuristikker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192.4.2.1 Evolutionary Computation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192.4.2.2 Ant Colony Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3 Anvendt Teori 21
3.1 Mixed Capacitated General Routing Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213.1.1 Distance-Constrained MCGRP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213.1.2 MCGRP with Probabilistic Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223.1.3 The Periodic MCGRP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223.1.4 The Periodic Distance-Constrained MCGRP with Probabilistic Constraints . . . . . . . . 24
3.2 Topology Aggregation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243.3 Adaptive Iterated Local Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.3.1 Augment-Merge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293.3.2 Local Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293.3.3 Adaptive Large Neighborhood Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4 Emperi 33
iii
iv INDHOLD
4.1 Datagrundlag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334.2 Databeskrivelse og -antagelser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.2.1 Vognpark . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334.2.2 Afstandsmatricer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344.2.3 Efterspørgsel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344.2.4 Beholdere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354.2.5 Anmodninger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354.2.6 Kunder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354.2.7 Chau�ører . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354.2.8 Ruter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354.2.9 Omkostninger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.3 Databehandling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364.3.1 Topology Aggregation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5 Løsningsprocedure 38
5.1 Visual Basics for Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385.2 Implementeret Løsningsmetode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5.2.1 Supplerende betingelser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395.2.2 Augment-Merge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395.2.3 Local Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395.2.4 Adaptive Large Neighborhood Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
6 Tuning 42
6.1 Tuningsproces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426.2 Forudinstillede Parametre & Mekanismer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446.3 Tuningsfase 1 - Undgå Ikke-Produktiv Søgning . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456.4 Tuningsfase 2 - Intensivering i Søgningen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476.5 Tuningsfase 3 - Diversi�cering i Søgningen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
7 Resultater 50
7.1 Scenarieanalyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507.1.1 Scenarie 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
7.1.1.1 Resta�ald . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517.1.1.2 Organisk a�ald . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527.1.1.3 Samlet Vurdering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
7.1.2 Scenarie 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547.1.2.1 Resta�ald . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547.1.2.2 Organisk a�ald . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557.1.2.3 Samlet Vurdering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
7.2 Følsomhedsanalyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577.2.1 Traverseringstid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577.2.2 Udnyttelse af rådighedstiden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 587.2.3 Kapacitetsudnyttelse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 587.2.4 Kvalitet af Ruterne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 597.2.5 Kvalitet af Ruteplanlægning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
7.3 Sammenfatning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 607.4 Diskussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
8 Konklusion 62
9 Perspektivering 63
Litteratur 65
Forkortelser
ACO Ant Colony OptimizationAILS Adaptive Iterated Local SearchALNS Adaptive Large Neighborhood SearchARP Arc Routing ProblemCARP Capacitated Arc Routing ProblemCARPMD Capacitated Arc Routing Problem with Mobile DepotsCARPTW Capacitated Arc Routing Problem with Time WindowsCARPVD Capacitated Arc Routing Problem with Vehicle DependenciesCCPP Capacitated Chinese Postman ProblemCGRP Capacitated General Routing ProblemsCGRP-m Capacitated General Routing Problems on Mixed GraphsCPP Chinese Postman ProblemCVRP Capacitated Vehicle Routing ProblemDCMCGRP Distance-Constrained Mixed Capacitated General Routing ProblemEC Evolutionary ComputationGA Genetic AlgorithmsGIS Geographic Information SystemGLS Guided Local SearchGRASP Greedy Randomized Adaptive Search ProcedureGRP General Routing ProblemsILS Iterated Local SearchLNS Large Neighborhood SearchLS Local SearchMA Memetic AlgorithmMCGRP Mixed Capacitated General Routing ProblemMCGRPPC Mixed Capacitated General Routing Problem with Probabilistic ConstraintsMDCARP Multi Depot Capacitated Arc Routing ProblemMDVRP Multi Depot Vehicle Routing ProblemMGRP Mixed General Routing ProblemNEARP Node, Edge and Arc Routing ProblemNRP Node Routing ProblemPCARP Periodic Capacitated Arc Routing ProblemPDCMCGRPPC Periodic Distance-Constrained Mixed Capacitated General Routing Problem with
Probabilistic ConstraintsPMCGRP Periodic Mixed Capacitated General Routing ProblemPVRP Periodic Capacitated Vehicle Routing ProblemRCL Restricted Candidate ListRich VRP Rich Vehicle Routing ProblemsRPP Rural Postman ProblemSA Simulated AnnealingSCARP Stochastic Capacitated Arc Routing ProblemTSP Traveling Salesman ProblemVBA Visual Basics for ApplicationsVNS Variable Neighborhood SearchVRPB Vehicle Routing Problem with BackhaulsVRPPD Vehicle Routing Problem with Pickup and DeliveryVRPTW Vehicle Routing Problem with Time Windows
v
Kapitel 1
Indledning
I juni 2013 afsluttedes forhandlingerne mellem Europa Parlamentet, Kommissionen og EU's ministerråd om det
nye miljøhandlingsprogram, EU's 7. miljøhandlingsprogram �Living well, within the limits of our planet� [30].
EU's 7. miljøhandlingsprogram er køreplan for et ressourcee�ektivt EU og danner rammen om EU's samlede
miljøpolitikudvikling. I EU's miljøpolitik har man fastsat nogle målsætninger i forhold til øget genanvendelse af
husholdningsa�ald, hvor et af de centrale mål er at udsortere 50 % af det ikke-organiske husholdningsa�ald. Den
danske a�aldspolitik er naturligt in�ueret af EU's miljøpolitik, og i oktober 2013 lancerede den danske regering
ressourcestrategien �Danmark uden a�ald� [68]. Med ressourcestrategien forventes Danmark at opfylde en række
af de EU-mål, der er fastsat i EU's 7. miljøhandlingsprogram. Ressourcestrategien præsenterer overordnet et
Danmark som på sigt genanvender mere og forbrænder mindre a�ald og har følgende fem fokusområder:
• Forbrænd mindre a�ald og udnyt de værdier og ressourcer som er i det.
• Reducér miljøpåvirkningen fra a�ald.
• Kvalitet i genanvendelsen.
• Omlægning af a�aldshåndteringen gennem styrket o�entlig-privat samarbejde.
• Overvåg udviklingen på a�aldsområdet, især genanvendelsen.
Med fokus på disse områder sætter regeringen det mål at Danmark i 2022 skal udsortere og genanvende
50 % både ikke-organisk og organisk husholdningsa�ald. Dette mål skal ses i forhold til 2011-tal hvor 22 % af
husholdningsa�aldet blev genanvendt, hvilket placerer Danmark på en 8. plads bland de 28 EU-landende. Målet
om en fordobling af genanvendelsen af husholdningsa�aldet forventes opnået gennem implementering af nogle
initiativer som retter sig mod fokusområderne.
Det er kommunerne der har det primære ansvar på a�aldsområdet i forhold til husstandes a�ald. Dette ansvar
for at sikre indsamling og behandling af husstandenes a�ald er i de �este tilfælde håndteret af et kommunalt
ejet interessentskab. Det er dennes opgave at indrette indsamlingsordningen i den enkelte kommune, hvilket
er et vigtigt element for at øge genanvendelsen af a�ald fra husholdningerne. Derfor er et centralt initiativ i
ressourcestrategien mod fokusområderne fremsat som følgende:
�Understøttelse af udviklingen af nye indsamlingsordninger i kommunerne, der sikrer borgerne let adgang til at
sortere og dermed genanvende mere husholdningsa�ald, herunder organisk a�ald, plast- og metala�ald.� [68]
Reno Djurs I/S (Reno Djurs) er et af disse kommunalt ejede interessentskaber, ejet af Syddjurs og Norddjurs
kommuner. Det er deres opgave at indrette indsamlingsordningen af a�ald i det geogra�ske område som Syddjurs
kommune og Norddjurs kommune omfatter. Med en genanvendelse i 2013 på 31 % er det nødvendigt at øge
genanvendelsen for at leve op til regeringens målsætning om at genanvende 50 % både ikke-organisk og organisk
1
2 KAPITEL 1. INDLEDNING
husholdningsa�ald i 2022. Reno Djurs mener ikke at genanvendelsesprocenten bør være målet i sig selv, men
ønsker at løfte en endnu større mængde a�ald opad i a�aldshierarkiet til genanvendelse, hvis det giver mening
miljømæssigt og økonomisk [46]. I samarbejde med lektor Sanne Wøhlk fra Institut for Økonomi, Aarhus Uni-
versitet har en række specialeprojekter med fokus på udvikling af nye indsamlingsordninger været udbudt til de
studerende i 2014. Denne afhandling vil tage udgangspunkt i det projekt som omhandler indsamlingsstrategier
og om selve indsamlingensprocessen på tværs af fraktionerne bør synkroniseres eller ej.
1.1 Virksomheds- og situationsbeskrivelse
Reno Djurs er et nonpro�t interessentskab som siden 1996 har været Djurslandkommunernes a�aldsselskab, først
mellem de daværende 8 kommuner på Djursland, og efter kommunalreformen i 2007, mellem Syddjurs Kommune
og Norddjurs Kommune. Det er selskabets opgave at varetage a�aldshåndteringen i de 2 kommuner, og driver
derfor et behandlingsanlæg i Glatved samt 10 genbrugsstationer på Djursland og Anholt. Selskabets hoved-
driftsaktiviteter er behandling af forbrændings- og deponeringsegnet a�ald, dagrenovation, genbrugsstationer,
indsamlingsordninger for bundfældningstanke, olie-, benzin- og fedtudskillere, samt samletanke og indsamling af
klinisk a�ald. Selve indsamlingen af dagrenovation er på nuværende tidspunkt udliciteret til selskabet MiljøTeam
A/S som er specialiseret indenfor a�aldsindsamling. Reno Djurs har 42 medarbejdere, som årligt varetager en
a�aldsmængde på ca. 144.000 tons, heraf er ca. 20 % fra dagrenovation. Dagrenovationen er indsamlet fra ca.
36.000 hustande, 1.200 virksomheder og 15.000 sommerhuse [46].
1.1.1 Nuværende Dagrenovation
Den nuværende dagrenovationsordning (nuværende ordning) omfatter indsamling af a�ald hos Reno Djurs'
kunder; husstande, virksomheder og sommerhuse i de 2 kommuner. Sommerhuse og virksomheder falder udenfor
afgrænsningen af denne afhandling og bliver derfor ikke behandlet yderligere. Den nuværende ordning har en
høj kundetilpasning, da kunderne selv kan vælge en kombination af beholder og tømningsfrekvens. Kunderne
skal til resta�ald vælge mellem 5 typer af beholderstørrelser; 110, 140, 240, 400 eller 600 liter, denne tømmes
en gang hver uge eller hver 14. dag. Til papir kan kunderne vælge mellem 2 typer af beholderstørrelser; 140
eller 240 liter, som tømmes en gang hver 4. uge. På den nuværende ordning er der pålagt et grundgebyr og et
forbrugsgebyr. Grundgebyret er en fast ydelse som giver brugsret til genbrugsstationer og kuber på Djursland
samt tømning af papirbeholder. Forbrugsgebyret er en variabel ydelse for tømning af resta�ald som afhænger af
hvilken beholder og tømningsfrekvens kunderne vælger [46]. Kildesorteringen er opdelt i 4 fraktioner: resta�ald,
papir, glas og batterier. Sammensætningen af disse i 2013 kan ses i tabel 1.1 [47].
Rest Papir Glas Batterier Total
79 % 17 % 4 % 0 % 100 %
Tabel 1.1: Vægtsammensætningen i dagrenovationen af kildesorterede fraktioner for Syd- og Norddjurs kommu-ner i 2013.
Indsamlingen i den nuværende ordning af resta�ald og batterier sker fra adressen, mens glas indsamles fra
kuber og papir indsamles fra begge steder [46].
1.1.2 Alternativ Dagrenovation
I 2011 udgav Miljøstyrelsen et idékatalog som beskriver de tekniske og økonomiske konsekvenser for en række
alternative dagrenovationsordninger, desværre er antagelsen om oplandsstørrelsen ikke repræsentativ for Reno
Djurs [2]. Derfor har Reno Djurs i 2012, med udgangspunkt i Miljøstyrelsens idekatalog, bedt Econet A/S om
1.2. PROBLEMFORMULERING 3
at udarbejde et idékatalog hvor deres nuværende og en række alternative dagrenovationsordninger bliver vurde-
ret [2]. Den nuværende ordning er beskrevet i sektion 1.1.1, men idékataloget tilføjer en væsentlig information
vedrørende a�aldssammensætningen som beskrives her. En udsortering af a�aldet i 2010 opdeler a�aldet i ti
fraktioner, seks af fraktionerne er for enkelthedens skyld aggregeret under betegnelsen "Mindre fraktioner". De
fem fraktioner er opdelt i procent i forhold til vægtsammensætningen og kan ses i tabel 1.2. Det organiske a�ald
er den eneste væsentlige fraktion som i den nuværende ordning ikke kildesorteres, dette trods en andel på 38 %.
Rest Papir Glas Organisk Mindre Fraktioner
19 % 23 % 6 % 38 % 14 %
Tabel 1.2: Vægtsammensætningen i dagrenovationen af udsorterede fraktioner for Syd- og Norddjurs kommuneri 2010.
Idékataloget beskriver 8 alternative dagrenovationsordninger som illustrerer forskellige muligheder for at
øge genanvendelsen i forhold til den nuværende ordning. Det andet alternativ i idékataloget refereres til i
denne afhandling som den alternative ordning, da de resterende alternative dagrenovationsordninger falder
udenfor afgrænsningen af denne afhandling. Den alternative ordning fokuserer på indsamlingen af de �re største
fraktioner i a�aldssammensætningen som kan ses i tabel 1.2; organisk, papir, rest og glas.
I den alternative ordning skal indsamlingen af a�aldet planlægges over to uger, denne planlægning skal så
repeteres gennem året. A�aldet kildesorteres således at det organisk a�ald er sin egen fraktion hvilket i den
nuværende ordning er en del af resta�aldet. Da resta�ald og organisk a�ald er fokusområdet for den alternative
dagrenovation og papir og glas ikke er, falder disse fraktioner udenfor afgrænsningen af denne afhandling.
Indsamlingen af resta�ald og organisk a�ald vil ske i særskilte beholdere fra adressen af forskellige vogne som
transporterer det til behandlingsanlægget i Glatved.
Idékataloget har beregnet at kildesortering af det organiske a�ald vil øge genanvendelsen med 25 %-point.
1.2 Problemformulering
Reno Djurs vil gerne leve op til regeringens målsætning om at genanvende 50 % af husa�aldet i 2022, hvilket
kræver en stigning på 19 %-point i forhold til den nuværende ordning. Ved at kildesorter det organiske a�ald
kan Reno Djurs opnå en stigning på 25 %-point, hvilket vil tilfredsstille regeringens målsætning. Da Reno Djurs
ikke mener at genanvendelsesprocenten i sig selv skal være målet, ønsker de at få undersøgt de økonomiske
omkostninger der følger med en omlægning af den nuværende ordning til den alternative ordning der indeholder
kildesortering af det organiske a�ald. Med udgangspunkt i denne omlægning ønskes en analyse af den økonomiske
forskel mellem følgende to scenarier:
1. Hvad er de økonomiske omkostninger i indsamlingsprocessen ved den alternative dagrenovation hvor ind-
samlingen på tværs af fraktionerne synkroniseres?
2. Hvad er de økonomiske omkostninger i indsamlingsprocessen ved den alternative dagrenovation hvor ind-
samlingen på tværs af fraktionerne ikke synkroniseres?
De økonomiske omkostninger i indsamlingsprocessen ved den alternative ordning kan estimeres ved at betrag-
te problemstillingen som et ruteplanlægningsproblem. I ruteplanlægningsproblemer har de økonomiske omkost-
ninger oftest et lineært forhold med ruteplanlægningen målt i afstand, hvilket også er tilfældet her. Afstanden
er derfor objektet der skal minimeres i de to scenarier, og på baggrund heraf drages en konklusion af hvilket
scenarie der er økonomisk er mest fordelagtigt. Denne konklusion bør ikke være det endelige beslutningskriterie
for hvilket scenarie der skal vælges, men bør være et væsentligt element i Reno Djurs' beslutningsprocess hvor
andre elementer, som f.eks. serviceniveau og omstillingsparathed, også bør inddrages.
4 KAPITEL 1. INDLEDNING
Formålet for denne afhandling formuleres som følgende:
Formålet med denne afhandling er at analysere de økonomiske omkostninger i indsamlingsprocessen ved de to
ovennævnte scenarier med en anbefaling til Reno Djurs om hvilket scenarie, set fra et
ruteplanlægningssynspunkt, der er mest fordelagtig.
1.3 Metode og Struktur
Videnskabsteoretisk har denne afhandling en positivistisk tilgang. Denne tilgang bygger på positive erfaringer,
hvilket vil sige at kun det der kan iagttages og måles accepteres som videnskabelig erkendelse [77]. Ifølge
positivismen skal videnskabslige teorier kunne bekræftes på baggrund af objektive iagttagelser af virkeligheden.
Videnskaben bør kun beskæftige sig med det, der kan gøres til genstand for direkte observation.
I afhandlingen anvendes et casestudie baseret på et empirisk datagrundlag og videnskabelig litteratur in-
denfor Operational Research til at undersøge problemstillingen. Undersøgelsen af problemstilling indebærer en
afgrænsningen af denne, dette vil gøres gennem afhandlingen hvor det �ndes naturligt. Valg af løsningsmetode
til det praktiske ruteplanlægningsproblems teoretiske ækvivalent er baseret på præstationsevnen beskrevet i
litteraturen. Løsningsmetoden er herefter modi�ceret for at passe til det teoretiske ruteplanlægningsproblem og
det anvendte programmeringssprog.
I det følgende kapitel vil der blive foretaget en bred litteraturgennemgang indenfor ruteplanlægning. Dette
omfatter teori vedrørende renovation, ruteplanlægningsproblemer og løsningsmetoder til disse. Herefter er der
lagt vægt på en dyb redegørelse af den teori som anvendes til at løse afhandlingens problemstillingen. Inden
en præsentation af løsningsproceduren, vil datagrundlag, antagelser for problemstillingen og databehandlingen
beskrives. Løsningsproceduren omhandler det valgte programmeringssprog og udviklingen af den implementere-
de løsningsmetode. Nogle udvalgte parametre og mekanismer i den implementerede løsningsmetoden er herefter
tunet. Den tunede løsningsmetode er anvendt på det teoretiske ruteplanlægningsproblem samt nogle modi�cere-
de tilfælde. Resultaterne for disse er præsenteret i en scenarieanalyse og en følsomhedsanalyse. På baggrund af
resultaterne præsenteres afhandlingens konklusion på problemstillingen. Slutteligt perspektiveres der til emner
som relatere sig til afhandlingen samt en diskussion af generelle emner indenfor praktisk og teoretisk ruteplan-
lægning.
Kapitel 2
Litteraturgennemgang
Dette kapitel redegør for den relevante teori i forhold til afhandlingens problemstilling. Der er lagt vægt på en
bred redegørelse af teori indenfor ruteplanlægning, da formålet med dette kapitel er at vise en bred forståelse
af forskningsområdet.
I sektion 2.1 redegøres der for teori vedrørende renovation, dette omfatter Green Logistics, Reverse Lo-
gistics og Waste Management. I sektion 2.2 redegøres der for teori indenfor ruteplanlægning, dette omfatter
Capacitated Vehicle Routing Problem (CVRP), Capacitated Arc Routing Problem (CARP) og Mixed Capacita-
ted General Routing Problem (MCGRP). I sektion 2.2.4 redegøres der for løsningsmetoder indenfor klassen af
Metaheuristikker til førnævnte ruteplanlægningsproblemer.
2.1 Renovation
Reno Djurs ønsker at løfte en større mængde a�ald opad i a�aldshierarkiet til genanvendelse hvis det giver me-
ning miljømæssigt og økonomisk. Da objekterne er de miljømæssige og økonomiske faktorer, inddrages teorierne
Green Logistics, Reverse Logistics og Waste Management da disse er relateret til problemstillingen.
2.1.1 Green Logistics
Green Logistic kan ifølge Shibi et al. [72] de�neres som processen ved at producere eller distribuere varer
på en bæredygtig måde, hvor de miljømæssige og sociale faktorer tages med i overvejelserne. Objektet for
organisationens logistikstrategier er derfor ikke kun den økonomiske e�ekt, men også de større e�ekter på
samfundet. Traditionelt har logistikmodeller til produktion eller distribution primært koncentreret sig om at
minimere en økonomisk faktor i forhold til organisationens begrænsninger i driften. Men når der skal tages hensyn
til objekter indenfor Green Logistics er det nødvendigt at anvende modeller som har dette inkorporeret [72].
Figur 2.1: Komplemetærmængde for Green
Logistics, Reverse Logistics og Waste Mana-
gement.
Udviklingen af selve begrebet Green Logistics er ifølge Murp-
hy et al. [59] svært at sætte et præcist tidspunkt på, men det
menes at have haft et meget begrænset fokus før 1960'erne. Det
vi i dag kender som Green Logistics repræsenterer konvergens
fra �ere grene af teorier som er blevet udviklet siden da. Disse
teorier klassi�ceres med rette ofte under Green Logistics, men i
selve udviklingen af teorierne har det ikke været med det formål.
Derfor har disse teorier en komplementærmængde af problem-
stillinger til Green Logistics. To af disse er Reverse Logistics og
Waste Management, og er illustreret i �gur 2.1.
Ifølge KcKinnon et al. [57] er aktiviteter der genanvender af-
fald eller emballage en væsentlig del af Green Logistics. Denne
fællesmængde af problemstillinger mellem Reverse Logistics og
5
6 KAPITEL 2. LITTERATURGENNEMGANG
Green Logistics klassi�cerer Reverse Logistics under Green Logi-
stics. Ifølge Rogers et al. [69] er det dog vigtigt at kunne skelne mellem Green Logistics og Reverse Logistics.
For eksempel, at designe et produkt der har som objekt at forurene mindre ved at forbruge mindre plastik er
Green Logistics, men ikke Reverse Logistics. Hvis produktet involverer en aktivitet der genanvender emballagen
og dermed forbruger mindre plastik er dette både Green Logistics og Reverse Logistics. Hvis objektet kun er
økonomisk og aktiviteten at indsamle emballagen til genanvendelse har en økonomisk fordel, men forurener mere
end produktion af nyt emballage, så er det Reverse Logistics, men ikke Green Logistics.
Ifølge Shibi et al. [72] er Waste Management en væsentlig proces i at beskytte miljøet og bevare ressourcer.
De aktiviteter der er i forbindelse med transporten af a�ald er de miljømæssige aspekter af Waste Management,
og dermed også en del af Green Logistics.
2.1.2 Reverse Logistics
Reverse Logistics inkluderer alle aktiviteter som er inkluderet i de�nitionen af logistik, forskellen ligger i at
alle disse aktiviteter opererer bagudrettet. Derfor kan Reverse Logistics de�neres som processen at planlæg-
ge, implementere og kontrollere bagudrettede �ows af råmaterialer fra lager, pakning eller anvendelsessted hos
producent, distributør eller anvendelsessted til et sted for genanvendelse eller korrekt bortska�else [23]. Kort
sagt handler processen Reverse Logistics om at tage råvarer fra deres slutdestination med det formål at opnå
en ekstra værdi eller bortska�e det korrekt. Dette inkluderer de åbenlyse aktiviteter som at genanvende be-
holdere og emballage, men per de�nition inkluderer også aktiviteter som at genfremstille og renovere. Reno
Djurs kan implementere Reverse Logistics ved at kildesortere det organiske a�ald. Det organiske a�ald vil blive
transporteret til et biogasanlæg i Vejen og har dermed det formål at opnå en ekstra værdi i form af biogas.
2.1.3 Waste Management
Waste management de�neres som indsamling, transport, behandling og bortska�else af det a�ald der er produ-
ceret af menneskelig aktivitet for at reducere e�ekten på menneskers helbred eller bekvemmelighed [18]. Selvom
Waste Management og Reverse Logistics er relateret til hinanden er det de�nitionen af a�ald der adskiller dem
fra hinanden. Reverse Logistics koncentrerer sig om de bagudrettede �ows som der kan udnyttes til at skabe
værdi og indgå i en ny forsyningskæde, mens Waste Management koncentrerer sig om det a�ald der ikke kan
udnyttes [23].
I forhold til afhandlingens problemstilling er Waste Management de�nitionen meget generel, og da pro-
blemstillingen kun inddrager fast a�ald introduceres Solid Waste Management. Solid Waste Management kan
de�neres som kontrol af dannelse, opbevaring, indsamling, transfer og transport samt behandling og bortska�else
af fast a�ald der er i overenstemmelse med de bedst kendte principper indenfor sundhed, økonomi, ingeniør-
videnskab, konservering, æstetik og miljømæssige overvejelser og som reagerer på den o�entlige holdning [76].
Indsamlingsaktiviteten (Waste Collection) er den problemstilling i Solids Waste Management som er relevant for
denne afhandling. Indenfor Waste Collection �ndes 4 primære problemstillinger, Residential Collection, Com-
mercial Collection, Roll-On/Roll-O� Collection og Hazard Waste Collection. Residential Collection involverer
indsamling af a�aldsbeholdere hos boliger i et vejnetværk. Commercial Collection involverer indsamlingen af
a�aldscontainere hos virksomheder i et lokationsnetværk. Roll-On/Roll-O� Collection involverer indsamling og
uddeling af henholdsvis fulde og tomme containere hos byggepladser i et lokationsnetværk. Og Hazard Wa-
ste Collection involverer indsamling, omlastning og opbevaring af farligt a�ald i et lokationsnetværk [72, 78].
Residential Collection og Commercial Collection er relevante problemstillinger i forhold til afhandlingens pro-
blemstilling og uddybes derfor. I begge problemstillinger er chau�ørerne begrænset af arbejdstiden og vognens
kapacitet. Når en vogn er fuld skal den tømmes på en genbrugsstation eller et behandlingsanlæg før den igen
kan indsamle a�ald.
2.2. RUTEPLANLÆGNING 7
Residential Collection involverer besøg på veje med boliger i et vejnetværk, og de�neres derfor som et
Arc Routing Problem (ARP), se også sektion 2.2. I et ARP ligger efterspørgslen altid på vejen, lokationernes
efterspørgsel er ofte aggregeret, og derfor serviceres vejen. Da boliger ofte har en begrænset mængde a�ald
anvender de a�aldsbeholdere til at opbevare deres a�ald i. Boligerne besøges typisk hver eller hver anden uge
af vogne som tømmer a�aldsbeholderne.
Commercial Collection involverer besøg på lokationer med virksomheder i et lokationsnetværk, og de�neres
derfor som et Node Routing Problem (NRP), se også sektion 2.2. I et NRP ligger efterspørgslen altid på lokatio-
nen, og derfor serviceres denne. Da virksomhederne ofte har en betydelig mængde a�ald anvender de containere
til at opbevare deres a�ald i. Virksomhederne besøges typisk en eller �ere gange om ugen af vogne som tømmer
containerne for a�ald.
2.2 Ruteplanlægning
Ruteplanlægningsproblemer er i litteraturen traditionelt dedikeret til to problemklasser; NRP og ARP. I NRP
forekommer serviceanmodningen i alle eller en delmængde af knuder, hvorimod serviceanmodningen i ARP
forekommer i alle eller en delmængde af kanter. En mere generel og e�ektiv klasse af problemer er General
Routing Problems (GRP), her forekommer serviceanmodningen både i alle eller en delmængde af knuder og i
alle eller en delmængde af kanter [12].
MCGRP er af klassen GRP og en generalisering af denne anvendes her som den teoretiske ækvivalent til
det praktiske ruteplanlægningsproblem for den alternative ordning som beskrevet i sektion 2.1. På baggrund af
datagrundlaget burde den teoretiske ækvivalent være et CARP, dog anvendes Topology Aggregation metoden i
sektion 4.3.1, hvilket omdanner datagrundlaget til et MCGRP.
MCGRP er en generalisering af tre ruteplanlægningsproblemer, CVRP indenfor NRP, CARP indenfor ARP
og GRP indenfor GRP, dette er illustreret i �gur 2.2. Det �ndes nødvendigt at redegøre for CVRP, CARP, GRP
og MCGRP, og det antages at læseren er bekendt med grundlæggende ruteplanlægningsproblemer som f.eks.
the Traveling Salesman Problem (TSP) og the Rural Postman Problem (RPP).
Figur 2.2: Klassi�cering af ruteplanlægningsproblemer og deres relation til hinanden [24].
2.2.1 The Capacitated Vehicle Routing Problem
CVRP er en del af klassen NRP og blev de�neret af Dantzig et al. [21] i 1959 som en generalisering af TSP.
CVRP anvendes i praksis til at modellere f.eks. distribution af varer fra et depot til kunder [78]. Indenfor
8 KAPITEL 2. LITTERATURGENNEMGANG
Operational Research har CVRP været genstand for stor opmærksomhed siden Dantzig et al. de�nerede pro-
blemet. Dette er grundet den brede anvendelighed og betydningen i at optimere operationelle omkostninger i et
distributionsnetværk [52]. For videnskabelig litteratur omhandlende CVRP samt generaliseringer henvises der
til Toth et al. [78], Golden et al. [37] og Laporte et al. [55].
I CVRP forsøges det at identi�cere de ruter med minimale omkostninger under forudsætning af at et givet
sæt knuder er serviceret ved at traversere på et sæt af kanter. Knuderne er typisk anvendt til at repræsentere
den geogra�ske placering af kunder. Til hver kunde er tilknyttet en givet efterspørgsel med en tilsvarende
serviceringsomkostning. Kanterne er ofte anvendt til at repræsentere veje mellem kunderne. Hver vej er tilknyttet
en traverseringsafstand med en tilsvarende traverseringsomkostning.
Mere formelt kan CVRP formuleres som det følgende grafteoretiske problem. Lad G = (N,E) de�nere en
komplet ikke-orienteret graf når omkostningsmatricen c er symmetrisk og G = (N,A) de�nere en komplet
orienteret graf når omkostningsmatricen c er asymmetrisk. Lad N = {0, . . . , n} betegne sættet af knuder hvorknude i = 0 de�nerer depotet, lad E = {(i, j) : i, j ∈ N, i < j} betegne sættet af ikke-orienteret kanter og lad
A = {(i, j) : i, j ∈ N, i 6= j} betegne sættet af orienterede kanter. Lad N ′ ⊆ N betegne sættet af servicekrævende
knuder. Lad cij betegne en ikke-negativ traverseringsomkostning ved at traversere kant (i, j) ∈ E ∨ A. Brugenaf lukkede kredsløb (i, i) er ikke tilladt, og de�neres derfor cii = +∞ for i ∈ N . Lad qi for i ∈ N ′ betegne
efterspørgselsmængden og pi for i ∈ N ′ betegne serviceringsomkostningen. Lad K = {1, . . . ,m} betegne sættetaf homogene vogne til rådighed i depotet med en kapacitet Q. For at sikre gennemførlighed antages det at
qi ≤ Q for i ∈ N ′. Formålet med CVRP er at identi�cere et antal ruter hvor vognen starter og slutter i depotet
sådan at hver knude i ∈ N ′ er serviceret af nøjagtig en vogn hvor den aggregerede leveringsmængde på ruten
ikke overstiger Q og de totale omkostninger er minimerede.
Adskillige generaliseringer af CVRP er blevet præsenteret i litteraturen, de mest væsentlige introduceres kort.
I et VRP with Time Windows (VRPTW) har hver knude tilknyttet et tidsinterval som vognen skal servicere
knuden indenfor. I et VRP with Backhauls (VRPB) er sættet af kunder delt i to, det ene sæt kunder skal have
levering og det andet sæt skal have opsamling. I en rute servicerer vognen først de kunder som har levering og
derefter de kunder der har opsamling. I et VRP with Pickup and Delivery (VRPPD) har hver knude tilknyttet en
levering samt dens oprindelse og/eller en opsamling samt dens destination [78]. I et Periodic VRP (PVRP) skal
knuderne serviceres af vogne en eller �ere gange i løbet af en planlægningshorisont bestående af �ere perioder
med ruter i hver periode [15]. Det kan påvises at PVRP svarer til the Multi Depot VRP (MDVRP) hvis perioder
substitueres med depoter [35].
Løsningsmetoder til CVRP og dens generaliseringer kan kategoriseres indenfor 3 klasser, eksakte, heuristikker
og metaheuristikker. Eksakte løsningsmetoder kan løse tilfælde med op til omtrent 100 knuder indenfor rimelig
tid. Da størrelsen af CVRP i praksis ofte overstiger 100 knuder, er de mest anvendte løsningsmetoder i praksis
heuristikker og metaheuristikker[52]. I sektion 2.4 redegøres for de mest anvendte løsningsmetoder indenfor
klassen af metaheuristikker.
2.2.2 The Capacitated Arc Routing Problem
CARP er en del af klassen ARP og blev de�neret af Golden et al. [38] i 1981 som en generalisering af RPP.
Teoretisk er CARP indenfor ARP modstykket til CVRP indenfor NRP [82]. CARP anvendes i praksis til at
modellere f.eks. indsamling af a�ald, rydning af sne og uddeling af post [78]. CARP har indenfor Operational
Research været genstand for en øget opmærksomhed de seneste 15 år, dog ikke i samme grad som CVRP. Dette
er grundet stigende interesse i praksis hvor kanter frem for knuder har behov for servicering. For videnskabelig
litteratur omhandlende løsningsmetoder til CARP og dens generaliseringer henvises til Assad et al. [3], Dror et
al. [28] og Wøhlk [82].
I CARP forsøges det at identi�cere ruter med minimale omkostninger under forudsætning af at et givet sæt
af kanter er serviceret. Knuderne er typisk anvendt til at repræsentere den geogra�ske placering af vejkryds.
2.2. RUTEPLANLÆGNING 9
Kanterne er typisk anvendt til at repræsentere veje, hvor kunder samt deres tilhørende efterspørgsel er aggregeret
på vejen. Til hver vej er der ofte tilknyttet en traverseringsafstand med en tilsvarende traverseringsomkostning.
Ydermere har hver vej med efterspørgsel også en tilknyttet serviceringsomkostning.
Mere formelt kan CARP formuleres som det følgende grafteoretiske problem. Lad G = (N,E) de�nere en
komplet ikke-orienteret graf når omkostningsmatricen c er symmetrisk og lad G = (N,A) de�nere en komplet
orienteret graf når omkostningsmatricen c er asymmetrisk. Lad N = {0, . . . , n} betegne sættet af knuder hvorknude i = 0 de�nerer depotet, lad E = {(i, j) : i, j ∈ N, i < j} betegne sættet af ikke-orienterede kanter og
A = {(i, j) : i, j ∈ N, i 6= j} betegne sættet af orienterede kanter. Lad E′ ⊆ E betegne sættet af servicekrævende
ikke-orienterede kanter og A′ ⊆ A betegne sættet af servicekrævende orienterede kanter. Lad cij betegne en
ikke-negativ traverseringsomkostning ved at traversere kant (i, j) ∈ E ∨ A. Brugen af lukkede kredsløb (i, i) er
ikke tilladt, og de�neres derfor cii = +∞ for i ∈ N . Lad qij for (i, j) ∈ E′ ∨A′ betegne efterspørgselsmængden
og pij for (i, j) ∈ E′ ∨ A′ betegne serviceringsomkostningen. Lad K = {1, . . . ,m} betegne sættet af homogene
vogne til rådighed i depotet med en kapacitet Q. For at sikre gennemførlighed antages det at qij ≤ Q for
(i, j) ∈ E′ ∨ A′. Formålet med CARP er at identi�cere et antal ruter hvor vognen starter og slutter i depotet
sådan at hver kant (i, j) ∈ E′ ∨ A′ er serviceret af nøjagtig en vogn hvor den aggregerede leveringsmængde på
ruten ikke overstiger Q og de totale omkostninger er minimeret [8].
Adskillige generaliseringer af CARP er blevet præsenteret i litteraturen, de mest væsentlige introduceres
kort. I et Mixed CARP de�neres grafen som en komplet multigraf, hvilket er en graf som både indeholder ikke-
orienterede og orienterede kanter. I et CARP with Time Windows (CARPTW) har hver kant med service et
tilknyttet tidsinterval hvori vognen skal serviceres. I et Multi Depot CARP (MDCARP) er hver vogn tilknyttet
et af �ere depoter hvorfra den skal starte og slutte en rute. I et CARP with Mobile Depots (CARPMD) har
sættet med vogne to 2 typer, en som læsser af ved depotet og en vogn som læsser af på den første type vogn. I et
CARP with Vehicle Dependencies (CARPVD) har sættet med vogne mange typer, hvor hver kant er tilknyttet
en eller �ere vogntyper. I et Periodic CARP (PCARP) skal kanterne serviceres af vogne en eller �ere gange i
løbet af en planlægningshorisont af adskillige perioder med ruter i hver periode. I et Stochastic CARP (SCARP)
er leveringerne på kanterne stokastiske, dvs. efterspørgslen ikke er kendt på forhånd [82].
Ligesom indenfor CVRP kan løsningsmetoderne til CARP og dens generaliseringer kategoriseres indenfor 3
klasser; eksakte, heuristikker og metaheuristikker. Da størrelsesordnen af CARP i praksis ofte også er meget
store, er de mest anvendte løsningsmetoder også her heuristikker og metaheuristikker.
2.2.3 The General Routing Problem
GRP blev de�neret af Orlo� [61] i 1974 som generalisering af TSP og the Chinese Postman Problem (CPP).
GRP er en del af klassen GRP som kombinere klasserne ARP og NRP. GRP anvendes i praksis til at modellere
f.eks. indsamling af a�ald hvor husholdninger repræsenteres på kanterne mens virksomheder og etageboliger
repræsenteres i knuder. For videnskabelig litteratur omhandlende metoder til løsning af GRP og generaliseringer
af GRP henvises til Pandi et al. [63], Corberán et al. [19] og Gutiérrez et al. [39].
GRP forsøger at identi�cere ruter med minimale omkostninger under forudsætning af at et givet sæt af kanter
og knuder er serviceret. Knuderne anvendes typisk til at repræsentere den geogra�ske placering af vejkryds og
kunder. Hver kunde er tilknyttet en given efterspørgsel med en tilsvarende serviceringsomkostning. Kanterne
er ofte anvendt til at repræsentere veje mellem individuelle kunder eller vejkryds, hvor kunder samt deres
tilhørende efterspørgsel kan være aggregeret på vejen. Ydermere har hver vej med efterspørgsel også en tilknyttet
serviceringsomkostning.
Mere formelt kan GRP formuleres som det følgende grafteoretiske problem. Lad G = (N,E) de�nere en
komplet ikke-orienteret graf når omkostningsmatricen c er symmetrisk og lad G = (N,A) de�nere en komplet
orienteret graf når omkostningsmatricen c er asymmetrisk. Lad N = {0, . . . , n} betegne sættet af knuder hvorknude i = 0 de�nerer depotet, E = {(i, j) : i, j ∈ N, i < j} betegne sættet af ikke-orienterede kanter og
10 KAPITEL 2. LITTERATURGENNEMGANG
A = {(i, j) : i, j ∈ N, i 6= j} betegne sættet af orienterede kanter. Lad N ′ ⊆ N betegne sættet af servicekræ-
vende knuder, E′ ⊆ E betegne sættet af servicekrævende ikke-orienterede kanter og A′ ⊆ A betegne sættet af
servicekrævende orienterede kanter. Lad cij betegne en ikke-negativ traverseringsomkostning ved at traversere
kant (i, j) ∈ E ∨ A. Brugen af lukkede kredsløb (i, i) er ikke tilladt, og de�neres derfor cii = +∞ for i ∈ N .
Formålet med GRP er at identi�cere den rute hvor vognen starter og slutter i depotet sådan at hver kant
(i, j) ∈ E′ ∪A′ og hver knude i ∈ N ′ er serviceret og de totale omkostninger er minimeret [60].
GRP har indenfor Operational Research ikke været genstand for lige så stor opmærksomhed som CVRP
og CARP, og derfor introduceres kun de to væsentligste generaliseringer the Mixed General Routing Problem
(MGRP) og the Capacitated GRP (CGRP). I et MGRP de�neres grafen som en komplet multigraf, hvilket er
en graf som både indeholder ikke-orienterede og orienterede kanter [19]. I et CGRP er et sæt af vogne med en
given kapacitet til rådighed i depotet [63].
2.2.4 The Mixed Capacitated General Routing Problem
Der har en tendens i den videnskabelige litteratur til at klassi�cere ruteplanlægningsproblemer som værende
enten et tilfælde af NRP eller et tilfælde af ARP. Der er imidlertid betydningsfulde virkelige ruteplanlægnings-
problemer hvis karaktertræk ikke kan modelleres i hverken CVRP eller CARP, da de indeholder efterspørgsel
både i knuder og på kanter. I nogle tilfælde af a�aldsindsamling i urbane områder er det for det meste til-
strækkeligt at efterspørgslen modelleres på kanterne, men for nogle lokationer med en stor efterspørgsel som
f.eks. private virksomheder eller o�entlige institutioner, er det mere fordelagtigt at modellere efterspørgslen i
knuderne.
Til at løse denne udfordring har forskere for nyligt haft et større fokus på et bestemt ruteplanlægningspro-
blem indenfor klassen GRP. Ruteplanlægningsproblemet MCGRP, også betegnet Node, Edge and Arc Routing
Problem (NEARP), giver mulighed for at modellere nogle virkelige ruteplanlægningsproblemer som ikke før har
været mulige. I MCGRP er efterspørgslen lokaliseret i en delmængde af knuder og kanter i en given vægtet
multigraf, og en vognpark af identiske kapacitetsbegrænsede vogne i et centralt depot er brugt til at tilfredsstille
efterspørgslen til de minimale omkostninger mens kapacitetsbegrænsningerne overholdes.
Ruteplanlægningsproblemer anses generelt for at skulle løses med et praktisk formål, og derfor fokuserer
forskere på at udvikle nye generaliseringer og større benchmark tilfælde. De generaliseringer som kommer tæt
på at modellere alle væsentlige aspekter af virkelige ruteplanlægningsproblemer betegnes i litteraturen som
såkaldte Rich Vehicle Routing Problems (Rich VRP). Introduktion af MCGRP, som er en generalisering af
CVRP og CARP, og en kapacitetsudvidelse af MGRP, var et signi�kant skridt fremad indenfor Rich VRP [4].
MCGRP blev de�neret af Prins et al. [67] i 2004, men på trods af dens vigtige betydning i forhold til prakti-
ske ruteplanlægningsproblemer, er videnskabelig litteratur indenfor dette ruteplanlægningsproblem begrænset.
Uformelt har MCGRP været adresseret tidligere i den videnskabelige litteratur, dog som generaliseringer af
GRP. Dette ses for eksempel hos Pandi et al. [64] der i 1995 præsenterede en generalisering af MCGRP med
en heterogen, fast vognpark og en tidsbegrænsning på den enkelte rute, som betegnes CGRP. De præsenterede
en Route-First Cluster-Second heuristik og testede algoritmen på et benchmark tilfælde indenfor the Capaci-
tated CPP (CCPP) litteraturen. Derudover præsenterede Gutiérrez et al. [39] i 2002 CGRP med en homogen
fast vognpark, som betegnes the Capacitated GRP on Mixed Graphs (CGRP-m). Ruteplanlægningsproblemet
di�erentierer sig fra MCGRP ved at håndtere en begrænset vognpark. Gutiérrez et al. [39] præsenterer en
Cluster-First Route-Second heuristik og sammenligner den med heuristikken af Pandi et al. [64], hvor først-
nævnte opnår bedre beregningsmæssige resultater på benchmarktilfældet når der anvendes en homogen fast
vognpark.
Da Prins et al. [67] i 2004 de�nerede MCGRP, præsenterede de en memetisk løsningsmetode som blev
testet på benchmarktilfælde fra CVRP og CARP litteraturen, og på et sæt MCGRP benchmarktilfælde be-
tegnet CBMix [67]. Kokubugata et al. [51] undersøgte i 2007 CVRP og MCGRP og præsenterede en Simulated
2.2. RUTEPLANLÆGNING 11
Annealing (SA) løsningsmetode. Algoritmen blev testet på CBMix [67] og leverede adskillige nye bedst kendte
løsningsforslag. Hasle et al. [40] diskuterer i 2012 Upper Bound procedure som opnår interessante beregnings-
mæssige resultater med deres kommercielle VRP løser Spider [40]. Bach et al. [5] præsenterede i 2013 den første
Lower Bound procedure til MCGRP, som blev udviklet ved at tilpasse en procedure oprindeligt præsenteret
til CARP af Wøhlk [81] i 2006. Lower Bound proceduren blev testet på CBMix [67] benchmarket og på to
nye MCGRP benchmarktilfælde; BHW [5], DI-NEARP [5], disse kan alle �ndes i bilag 1 - Benchmarks. Bosco et
al. [12] præsenterede i 2013 den første heltalsprogrammeringsformulering af MCGRP, ved anvendelse af 3-index
variable til knuder og 2-index variable til kanter. De udvidede nogle gyldige uligheder til MCGRP, som oprin-
deligt blev introduceret til CARP, og inkorporerede dem i en Branch-and-Cut løsningsmetode. løsningsmetode
blev testet på 12 tilfælde som de havde generaliseret fra CARP benchmarks. De løste kun små tilfælde som
involverede op til syv vogne, og testede løsningsmetoden på de �re mindste CBMix [67] tilfælde, hvor de leve-
rede to optimale løsningsforslag. For nyligt præsenterede Beraldi et al. [9] en generalisering af MCGRP med
stokastisk efterspørgsel, som betegnes MCGRP with Probabilistic Constraints (MCGRPPC). De præsenterer en
formulering der sikrer at kapacitetsbegrænsningen overholdes for en given sandsynlighed. Derefter introducere
de en tilsvarende deterministisk formulering under forudsætning af at efterspørgslen følger en normalfordeling.
De præsenterer en Branch-and-Cut løsningsmetode og en Neighborhood Search løsningsmetode til MCGRPPC.
Formelt kan MCGRP formuleres som det følgende grafteoretiske problem. MCGRP er de�neret på en vægtet
multigraf G = (N,E,A), hvor N = {0, . . . , n} betegner sættet af knuder, E = {(i, j) : i, j ⊆ N, i < j} betegnersættet af ikke-orienterede kanter og A = {(i, j) : i, j ⊆ N, i 6= j} betegner sættet af orienterede kanter. Lad
L = E ∪ A betegne sættet af kanter, hvor cij betegner en ikke-negativ traverseringsomkostning tilknyttet hver
kant (i, j) ∈ L. Traverseringsomkostningen er lig 0 for hver knude i ∈ N , og brugen af lukkede kredsløb (i, i) er
ikke tilladt, og de�neres derfor cii = +∞ for i ∈ N . De tre delmængder NR ⊆ N , ER ⊆ E og AR ⊆ A betegner
anmodninger fra henholdsvis knuder, ikke-orienterede kanter og orienterede kanter som har efterspørgsel. Lad
LR = ER ∪ AR betegne delmængden af kanter med anmodninger og R = |NR|+ |LR| betegne det totale antalanmodninger. Hver kant (i, j) ∈ L kan traverseres hvilket som helst antal gange og hver kant (i, j) ∈ LR skal
serviceres én gang. Hver anmodning har tilknyttet en ikke-negativ efterspørgsel, qi ∈ NR og qij ∈ LR. Lad
knude 0 ∈ N betegne depotet og K = {1, . . . ,m} betegne en ubegrænset vognpark af homogene vogne med
kapaciteten Q, som anvendes til at servicere anmodningerne. Vognparken er lokaliseret i depotknuden. For at
sikre gennemførlighed antages det at qij ≤ Q for (i, j) ∈ LR og qi ≤ Q for i ∈ NR. Hver vogn udfører højest
en rute, det vil sige, den starter i depotet, servicerer et antal anmodninger og slutter i depotet. En rute er
gennemførlig når den aggregerede efterspørgsel på ruten ikke overstiger kapaciteten.
Givet en delmængde S ⊂ N knuder, lad så S betegne dets komplementære sæt S ⊂ N \S. For de orienteredekanter lad δ+A(S) = {(i, j) ∈ A : i ∈ S ∧ j ∈ S} betegne sættet som afgår fra S, lad δ−A(S) = {(i, j) ∈ A : i ∈S ∧ j ∈ S} betegne sættet som tilgår til S, lad δ+AR
(S) = {(i, j) ∈ AR : i ∈ S ∧ j ∈ S} betegne sættet med
anmodninger som afgår fra S, lad δ−AR(S) = {(i, j) ∈ AR : i ∈ S ∧ j ∈ S} betegne sættet med anmodninger som
tilgår til S. For de ikke-orienterede kanter lad δE(S) = {(i, j) ∈ E : i ∈ S ∧ j ∈ S, or i ∈ S ∧ j ∈ S} betegnesættet som er indfaldende i S, lad δER
(S) = {(i, j) ∈ ER : i ∈ S ∧ j ∈ S, or i ∈ S ∧ j ∈ S} betegne sættet med
anmodninger som er indfaldende i S. For kanter generelt lad δL(S) = δ+A(S) ∪ δ−A(S) ∪ δE(S) betegne sættet
af kanter som er indfaldende i S og lad δLR(S) = δ+AR
(S) ∪ δ−AR(S) ∪ δER
(S) betegne sættet af kanter med
anmodninger som er indfaldende i S.
Når S = {v} forbliver den foregående notation gyldig så længe S er erstattet af v, og S af v, eller N \ {v}.Ydermere, lad SR = S ∩NR betegne sættet af knuder med anmodninger tilhørende i S, lad AR(S) = {(i, j) ∈AR : i ∈ S ∧ j ∈ S} betegne sættet af orienterede kanter med anmodninger tilhørende i S, lad ER(S) =
{(i, j) ∈ ER : i ∈ S ∧ j ∈ S} betegne sættet af ikke-orienterede kanter med anmodninger tilhørende i S og lad
R(S) = AR(S) ∪ ER(S) ∪ SR betegne sættet af elementer med anmodning i S.
Ved anvendelse af heltalsprogrammering kan problemet matematisk opstilles som følger. Lad xki og xkij
betegne binære variable, som er lig med 1 hvis henholdsvis knude i ∈ NR og kant (i, j) ∈ LR er serviceret af
12 KAPITEL 2. LITTERATURGENNEMGANG
vogn k. Lad ykij betegne en ikke-negativ variabel, som er lig med antallet af traverseringer uden service på kant
(i, j) ∈ L af vogn k.
min∑
(i,j)∈E
∑k∈K
cij(ykij + ykji) +
∑(i,j)∈A
∑k∈K
cijykij (2.1)
∑k∈K
xki = 1 ∀ i ∈ NR (2.2)
∑k∈K
xkij = 1 ∀ (i, j) ∈ AR (2.3)
∑k∈K
(xkij + xkji) = 1 ∀ (i, j) ∈ ER (2.4)
∑i∈NR
dixki +
∑(i,j)∈AR
dijxkij +
∑(i,j)∈ER
dij(xkij + xkji) ≤ Q ∀ k ∈ K (2.5)
∑j:(i,j)∈δ+AR
(i)
xkij +∑
j:(i,j)∈δ+A(i)
ykij −∑
j:(j,i)∈δ−AR(i)
xkji −∑
j:(j,i)∈δ−A (i)
ykji =
∑j:(i,j)∈δER
(i)
xkji +∑
j:(i,j)∈δ(i)
ykji −∑
j:(i,j)∈δER(i)
xkij −∑
j:(i,j)∈δ(i)
ykij ∀ i ∈ N, k ∈ K (2.6)
∑(i,j)∈δ+AR
(S)
xkij +∑
(j,i)∈δ−AR(S)
xkji +∑
(i,j)∈δER(S)
(xkij + xkji)+
∑(i,j)∈δ+A(S)
ykij +∑
(j,i)∈δ−A (S)
ykji +∑
(i,j)∈δE(S)
(ykij + ykji) ≥
2(xkuv + xkvu),
2xkuv,
2zkh,
∀ (u, v) ∈ ER(S)
∀ (u, v) ∈ AR(S)
∀ h ∈ SR
(2.7)
xkij ∈ {0, 1} ∀ (i, j) ∈ LR, k ∈ K (2.8)
xkji ∈ {0, 1} ∀ (i, j) ∈ ER, k ∈ K (2.9)
xki ∈ {0, 1} ∀ i ∈ NR, k ∈ K (2.10)
ykij ∈ {0, 1} ∀ (i, j) ∈ LR, k ∈ K (2.11)
ykji ∈ {0, 1} ∀ (i, j) ∈ ER, k ∈ K (2.12)
Hej
Det skal noteres at de totale traverseringsomkostninger for kanter der serviceres (i, j) ∈ LR er konstant over
alle gennemførlige løsninger og derfor er disse ikke inkluderet i objektfunktionen, således er det tilstrækkeligt
at minimere de totale traverseringsomkostninger uden service.
Objektfunktionen (2.1) minimerer de totale traverseringsomkostninger uden service. Betingelserne (2.2 - 2.4)
sikrer at hver anmodning er serviceret nøjagtig en gang af en vogn, og betegnes som Assignment Constraint.
Betingelse (2.5), og betegnes som Knapsack Constraint og sikrer en efterspørgselsbegrænsning pålagt af ka-
paciteten på hver vogn. Betingelse (2.6) sikrer et symmetriforhold i hver knude, hvilket betegnes som Flow
Constraint. En Connectivity Constraint (2.7) sikrer hver delmængde af knuder som indeholder en anmodning
serviceret af en vogn, mindst skal have to kanter indfaldende i delmængden til at besøge den. Denne betingelse
eliminerer også delture som ikke er forbundet med depotet. Betingelserne (2.8 - 2.12) sikrer de�nitionsmængden
for beslutningsvariablene.
2.3 Beregningskompleksitet
Problemer kan opdeles i to typer, medgørlige og umedgørlige. Et problem siges at være medgørligt når det
kan løses af en e�ektiv algoritme, og umedgørlig når det ikke kan. En e�ektiv algoritme er deterministisk
2.3. BEREGNINGSKOMPLEKSITET 13
og beregningstiden er opad begrænset af et polynomium, og en ine�ektiv algoritme er ikke-deterministisk og
beregningstiden vokser eksponentielt med størrelsen af inputtet. Problemer som kan løses e�ektivt siges at tilhøre
kompleksitetsklassen P og problemer som ikke kan, siges at tilhøre kompleksitetsklassen NP. P problemer kan
løses med en deterministisk algoritme i polynomiel tid, og NP problemer kan løses ved en ikke-deterministisk
algoritme i polynomiel tid. Et problem X i kompleksitetsklassen NP siges at være NP-komplet hvis ethvert
andet problem Y i kompleksitetsklassen NP kan reduceres til problem X med en e�ektiv algoritme. Det der gør
NP-komplette problemer betydningsfulde er at hvis en e�ektiv algoritme kan �ndes som løsningsmetode til et
af dem, vil ethvert NP problem være løseligt deterministisk indenfor polynomiel tid. Et problem siges at være
NP-hårdt når det er mere vanskeligt end NP-komplette problemer, dog tilhører et NP-hårdt problem ikke
altid kompleksitetsklassen NP da problemet ikke nødvendigvis er et beslutningsproblem [33]. Sammenhængen
mellem kompleksitetsklasserne når P 6= NP og P = NP er illustreret i �gur 2.3.
Figur 2.3: Gra�sk repræsentation af kompleksitetsklasser og deres
sammenhæng [33].
Ruteplanlægningsproblemerne CVRP,
CARP og GRP er alle NP-hårde proble-
mer, og da MCGRP er en generalisering
af disse kan det udledes at MCGRP også
er et NP-hårdt problem [84]. Der �ndes
to typer løsningsmetoder til ruteplanlæg-
ningsproblemer, eksakte og approksimati-
ve. Eksakte løsningsmetoder kan i mod-
sætning til approksimative garanteret det
globale optimum, dog er det kendt at de
er begrænset til NP-hårde problemer af
en moderat størrelse. Approksimative løs-
ningsmetoder, som kan inddeles i klasserne
klassiske heuristikker og metaheuristikker,
er derfor ofte de foretrukne løsningsmetoder til NP-hårde problemer af en praktisk størrelse [43]. Det vurderes
at størrelsen på det praktiske ruteplanlægningsproblem i den alternative ordning ikke er af moderat størrelse,
derfor falder eksakte løsningsmetoder udenfor afgrænsningen af denne afhandling [11].
Klassiske heuristikker omfatter primært konstruktions- og forbedringsheuristikker, og blev overvejende ud-
viklet mellem 1960 og 1990. Siden da er interessen for metaheuristikker vokset, og de er ofte den foretrukne
løsningsmetode til NP-hårde problemer af en praktisk størrelse. Klassiske heuristikker foretager en relativ be-
grænset undersøgelse af løsningsrummet, og producerer kvalitetsmæssigt gode løsninger indenfor en beskeden
beregningstid. I metaheuristikker er der lagt vægt på at foretage en dyb undersøgelse af de mest lovende regio-
ner af løsningsrummet, hvilket ofte involverer nabosøgningsregler, hukommelsesstrukturer og rekombination af
løsninger. Kvaliteten af løsningerne fra metaheuristikker er meget bedre end løsningerne produceret af klassiske
heuristikker, dog er omkostningen for forbedringen en stigning i beregningstiden [78].
Valget af fremgangsmåde bygger på en vurdering af hvilken type løsningsmetode der vil komme tættest på
det globale optimum indenfor rimelig tid. Det vurderes at ruteplanlægningsproblemet i den alternative ordning
kan løses mest optimalt ved anvendelse af approksimative algoritmer. Ydermere vurderes det at metaheuristikker
vil kunne opnå en bedre løsningskvalitet indenfor rimelig tid i forhold til den aktuelle problemstilling. Derfor
vælges klassen af metaheuristikker som udgangspunkt til løsning af den teoretiske ækvivalent til det praktiske
ruteplanlægningsproblem for den alternative ordning, og derfor falder klassen af klassiske heuristikker udenfor
denne afhandling.
14 KAPITEL 2. LITTERATURGENNEMGANG
2.4 Løsningsmetoder
Mange optimeringsproblemer omhandler kon�gurationen af et sæt af variable med det formål at opfylde nogle
mål. Optimeringsproblemer hvor løsningen er repræsenteret af diskrete variable klassi�ceres som kombinatoriske
optimeringsproblemer, og er karakteriseret ved at der søges efter et objekt blandt et endeligt, men ofte meget
stort antal muligheder. Et kombinatorisk optimeringsproblem P = (S, f) kan de�neres som følgende:
• Et sæt variable X = {x1, . . . , xn},
• Et sæt beslutningsvariable D1, . . . , Dn,
• Betingelser mellem variablene,
• En objektfunktion f som skal minimeres,
Lad S = {s = {(x1, v1), . . . , (xn, vn)}|vi ∈ Di, s overholder alle betingelser} betegne løsningsrummet, hvor
alle gennemførlige løsninger er indeholdt. Et kombinatorisk optimeringsproblem løses ved at �nde det globale
optimum s∗ ∈ S hvor objektfunktionen har den optimale, i dette tilfælde minimale, værdi, f(s∗) ≤ f(s),∀s ∈S < [11].
Både CVRP, CARP, GRP og MCGRP er eksempler på kombinatoriske optimeringsproblemer, og der er
grundet deres praktiske betydning udviklet mange algoritmer til at håndtere dem. Som nævnt i sektion 2.3,
omhandler dette afsnit algoritmer i klassen af metaheuristikker, grundet det praktiske ruteplanlægningsproblem
for den alternative ordning.
Metaheuristikker er fundamentalt set en kombination af basale heuristiske metoder i en højere struktur
som bestræber sig på e�ektivt at undersøge løsningsrummet, hvilket ofte involverer en form for lokalsøgning.
Lokalsøgning begynder fra en initialløsning som iterativt ændres og erstatter den nuværende løsning med en
bedre naboløsning fra en de�neret nabolagsstruktur til den nuværende løsning. Nabolagsstrukturen er formelt
de�neret som en funktion N : S → 2S som tilknytter et sæt naboer N(s) ⊆ S til hver s ∈ S, hvor N(s) er
betegnet som nabolaget til s. De�nitionen af nabolagsstrukturen tillader at kunne de�nere lokale optimums som
værende en nuværende løsning s der ikke har en tilknyttet naboløsning af bedre kvalitet, ∀s ∈ N(s) : f(s) ≤ f(s).
Ved anvendelse af pseudokode ses lokalsøgnings strategien i algoritme 1.
s← Initialløsning
while Lokal Optimum = Falsk dos← Forbedre(N(s))
end
Algorithm 1: Pseudokode for lokalsøgning
En lokalsøgning de�nerer en mange-til-en kortlæg-
ning fra S til det mindre sæt S∗ = {s∗} som betegner
løsninger i lokale optimums. Sættet af løsninger s der
er kortlagt til et lokalt optimum gennem lokalsøgnin-
gen betegnes som Basin of Attraction til det lokale
optimum [27]. Det lokale optimum vil altid være på
bunden af det tilknyttede Basin of Attraction.
Betegnelsen metaheuristik blev introduceret af
Glover [36] i 1986, og er a�edt af sammensætningen
af to græske ord. Heuristik er a�edt fra udsagnsordet heuriskein som betyder "at �nde", mens tillægsordet meta
betyder "hensides, på et højere niveau". Selvom denne betegnelse er meget passende, refereres metaheuristikker
også til i litteraturen som Modern Heuristics.
Metaheuristikker er karakteriseret ved, at de har højniveau strategier for hvordan en søgeproces til at ge-
nerere næroptimale eller optimale løsninger i løsningsrummet udføres e�ektivt. Strategierne har inkorporeret
mekanismer som undgår at algoritmen bliver fanget i et lokalt optimum i løsningsrummet. Der �ndes adskillige
måder at di�erentiere og derved klassi�cere metaheuristikker på. I denne afhandling klassi�ceres metaheuristik-
ker som enten banebaserede eller populationsbaserede, og di�erentieres ved antallet af midlertidige løsninger
der anvendes i hvert trin af algoritmen. De Banebaserede metaheuristikker behandler én midlertidig løsning ad
2.4. LØSNINGSMETODER 15
gangen, og derfor er denne hurtig til at �nde et lokalt optimum. Klassen refereres også til som udnyttelsesoriente-
rede metaheuristikker da de intensiverer søgningen i løsningsrummet. De populationsbaserede metaheuristikker
behandler �ere midlertidige løsninger ad gangen, og derfor tager de længere tid om at �nde et lokalt opti-
mum. Klassen refereres også til som udforskningsorienterede metaheuristikker da de diversi�cerer søgningen i
løsningsrummet.
2.4.1 Banebaserede Metaheuristikker
Denne sektion beskriver de banebaserede metaheuristikker der er vurderet som de mest betydningsfulde in-
denfor klassen. Klassen af metaheuristikker betegnes som banebaserede da søgeprocessen danner en bane i
løsningsrummet.
2.4.1.1 Simulated Annealing
SA blev de�neret af Kirkpatrick et al. [50] i 1983. I 1993 foreslog Osman [62] en SA algoritme til løsning af
CVRP hvor nabolagsstrukturen anvender op til λ udvekslinger af noder mellem to ruter [1]. Wøhlk [80] forslog
i 2005 en SA algoritme til løsning af CARP hvor rækkefølgen af kanterne på en Giant Tour ændres i løbet af
algoritmen, og den optimale opdeling af ruten beregnes i hvert trin af algoritmen [82].
Algoritmen begynder ved at generere en initialløsning og initialisere temperaturparameteren T . Initialløs-
ningen genereres enten tilfældigt eller ved anvendelse af en konstruktionsheuristik. Herefter itererer algoritmen
indtil en afslutningsbetingelse er sand, dette kan være den maksimale CPU tid, et maksimalt antal iterationer,
en nuværende løsning s med f(s) som er mindre end en prede�neret grænseværdi eller et maksimalt antal ite-
rationer uden en forbedring. Hver iteration består af en tilfældig udvælgelse af en naboløsning s′ i nabolaget til
den nuværende løsning N(s). Den valgte naboløsning s′ erstatter den nuværende løsning s når f(s′) < f(s) eller
med en sandsynlighed som følger en Boltzmann fordeling exp(− f(s′−f(s))T ) når f(s′) ≥ f(s). Når en naboløs-
ning af ringere kvalitet erstatter den nuværende løsning betegnes det som Hill Climbing hvilket anvendes til at
undslippe det lokale optimums Basin of Attraction. Temperaturen T reduceres gennem søgeprocessen, således
vil algoritmen i begyndelsesfasen være diversi�cerende og i afslutningsfasen være intensiverende. Ved anvendelse
af pseudokodning ses SA strategien i algoritme 2.
s← Initialløsning
T ← T0
while Afslut = Falsk dos′ ← Tilfældig N(s)
if f(s′) < f(s) thens← s′
else if P(T, f(s′), f(s)) > rand[0,1] thens← s′
end
Opdater Tend
Algorithm 2: Pseudokode for SA
Valget af en passende kølingsrate er afgørende for
præstationen af algoritmen. Kølingsplanen er de�ne-
ret som værdien af T i hver iteration k, Tk+1 =
Q(Tk, k), hvor Q(Tk, k) er en funktion af tempera-
turen og antallet af iterationer. Kølingsplanen skal
tilpasses det kombinatoriske optimeringsproblem så-
ledes at der er en balance mellem diversi�cering og
intensivering i søgeprocessen.
2.4.1.2 Tabu Search
Tabu Search (TS) blev de�neret af Glover et al. [36]
i 1986. I 1993 foreslog Taillard [75] den første simple
implementering af TS til CVRP, som stadig er en af
de mest e�ektive [1]. Hertz et al. [41] forslog i 2000 en
TS algoritme kaldet CARPET hvor ugennemførlige løsninger er tilladte, men stra�et i objektfunktionen. Selv i
dag er denne en af de bedst præsterende algoritmer til CARP [82].
Algoritmen anvender lokalsøgning og korttidshukommelse som grundelementer. Lokalsøgningen betegnes
Best Improvement og anvender korttidshukommelsen til at undslippe lokale optimums og undgå løsnings-
kredsløb. Korttidshukommelsen betegnes Tabu List og indeholder nyligt besøgte løsninger og forbyder træk
16 KAPITEL 2. LITTERATURGENNEMGANG
mod dem. Dermed er nabolaget til den nuværende løsning N(s) begrænset til naboløsninger s′ som ikke er
indeholdt i Tabu List.
s← Initialløsning
Tabu List ← ∅while Afslut = Falsk do
s′ ← BedstAf N(s) 6∈ TabuListOpdater(TabuList)
end
Algorithm 3: Pseudokode for TS
TS begynder ved at generere en initialløsning og
initialisere Tabu List. Herefter itererer algoritmen ind-
til en afslutningsbetingelse er sand eller hvis Tabu List
indeholder alle naboløsninger til den nuværende løs-
ning. I hver iteration erstattes den nuværende løsning
af den bedste naboløsning, ligeledes erstattes den tid-
ligst indkomne løsning i Tabu List også af den bedste
naboløsning. Da den nuværende løsning erstattes af
den bedste naboløsning, vil den i lokal optimum ac-
ceptere naboløsninger af ringere kvalitet. På den måde undslipper algoritmen det lokale optimums Basin of
Attraction ved anvendelse af Hill-Climbing. TS strategien ses i algoritme 3.
Længden af tabulisten kontrollerer hukommelsen i søgeprocessen. En større hukommelse diversi�cerer søg-
ningen ved at undersøge et stort område, mens en kortere hukommelse intensiverer søgningen ved at undersøge
et mindre område. Ved at lade længden af Tabu List være dynamisk, kan algoritmen blive mere robust, f.eks.
ved at øge længden af Tabu List når der er tegn på gentagelser af løsninger, og mindske længden af Tabu List
når der ikke er forbedringer.
2.4.1.3 Greedy Randomized Adaptive Search Procedure
Greedy Randomized Adaptive Search Procedure (GRASP) blev de�neret af Feo et al. [56] i 1995. I 2003 foreslog
Baker et al. [7] en GRASP til løsning af CVRP med en gra�sk brugergrænse�ade. Brugeren har i denne kontrol
over løsningsforslagene, og kan derved sikre at de er anvendelige i praksis [1]. Labadi et al. [54] foreslog i 2007
en GRASP with Path Relinking til løsning af CARP med tidsvinduer.
s← ∅α← LængdeRCL
while LøsningKomplet = Falsk doRCLα ← GenererRCL(s)
x← TilfældigtElement(RCLα)
s← s ∪ {x}OpdaterGrådighedsfunktion(s)
end
Algorithm 4: Pseudokode for løsnings-
konstruktion i GRASP
GRASP anvender perturbation og lokalsøgning som grund-
elementer til henholdsvis at konstruere løsninger og forbedre løs-
ninger. Perturbation anvendes til at undslippe lokale optimums
ved at springe fra et Basin of Attraction til et andet. Algoritmen
fortsætter indtil en afslutningsbetingelse er sand, hvorefter den
bedste løsning returneres. I hver iteration gennemgås to faser;
løsningskonstruktion og løsningsforbedring. Løsningskonstruktio-
nen er karakteriseret ved en dynamisk konstruktionsheuristik og
tilfældighed. Under antagelse af at den nuværende løsning s be-
står af en delmængde af løsningselementer, bliver den nuværende
løsning s konstrueret ved at tilføje et nyt element ad gangen.
Elementet som skal tilføjes er valgt tilfældigt fra en kandidatliste, Restricted Candidate List (RCL), bestående
af de α bedste elementer. Elementerne i RCL er rangeret efter en score som er et udtryk for fordelen ved at
indsætte elementet i s. En dynamisk konstruktionsheuristik angiver at scoren for de resterende elementer opda-
teres løbende afhængigt af hvilke elementer der indsættes og på hvilket tidspunkt. Løsningskonstruktionen fra
GRASP strategien ses i algoritme 4.
while Afslut = Falsk dos← KonstruerLøsning()
AnvendLokalSøgning(s)
HuskBedstFundneLøsning()end
Algorithm 5: Pseudokode for GRASP
Løsningsforbedringen er karakteriseret ved en lo-
kalsøgning, som f.eks. kan være en forbedringsheuri-
stik, eller løsningsmetoder som f.eks. SA fra sek-
tion 2.4.1.1 og TS fra sektion 2.4.1.2. GRASP stra-
tegien kan ses i algoritme 5.
2.4. LØSNINGSMETODER 17
2.4.1.4 Variable Neigborhood Search
Variable Neighborhood Search (VNS) blev de�neret af Mladenovic et al. [58] i 1999. I 2003 foreslog Bräysy [13]
en reaktiv Variable Neighborhood Search til CVRPTW.
VNS anvender perturbation og lokalsøgning som grundelementer, og begynder med at udvælge et sæt af
nabolagsstrukturerNk. Dernæst genereres en initialløsning og algoritmen itereres indtil en afslutningsbetingelsen
er sand. Hver iteration består af tre faser; shaking, lokalsøgning ogmove. Variable Neighborhood Search strategien
kan ses i algoritme 6.
VælgSættetAfNabolagsstrukturer Nks← Initialløsning
while Afslut = Falsk dok ← 1
while k < kmaks dos′ ← VælgTilfælig(Nk(s))
s′′ ← LokalSøgning(s′)
if f(s′′) < f(s) thens← s′′
k ← 1else
k ← k + 1
end
end
end
Algorithm 6: Pseudokode for Variable
Neighborhood Search
Ved shaking er naboløsning s′ tilfældigt valgt
i nabolaget k til den nuværende løsning Nk(s).
Lokalsøgningen begynder fra naboløsningen s′ og
kan anvende alle nabolagsstrukturer. Den er der-
for ikke begrænset til sættet Nk. Når afslut-
ningsbetingelsen for lokalsøgningen er opfyldt er-
statter løsningen fra lokalsøgningen s′′ den nu-
værende løsning s hvis den er af bedre kvali-
tet. Såfremt dette ikke er tilfældet, øges k og
en ny rystefase begynder i et nyt naboområde.
Formålet med rystefasen er at give lokalsøgnin-
gen en god startløsning, og valget af nyt nabo-
lag i tilfælde af en ringe løsningskvalitet i lokal-
søgning er anvendt for at diversi�cere søgeprocedu-
ren.
2.4.1.5 Guided Local Search
Guided Local Search (GLS) blev de�neret af Voudouris et al. [79] i 1996, og i 1997 foreslog Kilby et al. [66] en GLS
til løsning af CVRPTW, som i sin samtid leverede fremragende resultater. Buellens et al. [10] udvidede i 2003
GLS til CARP, hvor distancen af hver kant stra�es i forhold til en funktion som tilpasses gennem algoritmen.
GLS anvender en strafbaseret tilgang som ændrer på løsningsrummet, kombineret med en lokalsøgning. Ved
at ændre på objektfunktionen f , ændres landskabet i løsningsrummet, og lokalsøgningen kan på den måde
hjælpes væk fra lokale optimums uden at anvende Hill-Climbing eller Perturbation. I GLS anvendes elementer
der kan di�erentiere mellem løsninger, og derefter anvendes funktionen (2.13) til at indikere om løsningselement
i er repræsenteret i den nuværende løsning s.
Ii(s) =
1 : Element i er repræsenteret s
0 : Element i er ikke repræsenteret s(2.13)
Den oprindelige objektfunktion f er modi�ceret således at den modi�cerede objektfunktion (2.14) er afhængig
afm elementer, hvor pi betegner strafparametre og λ betegner en reguleringsparameter. Strafparametrene vægter
betydningen af elementer, således at elementet har høj betydning ved en høj pi og det giver dermed en højere
omkostning at have elementet i løsningen. Reguleringsparametren balancerer elementernes relevans i forhold til
objektfunktionen f . indikere om løsningselement i er repræsenteret i den nuværende løsning s.
f ′(s) = f(s) + λ
m∑i=1
piIi(s) (2.14)
18 KAPITEL 2. LITTERATURGENNEMGANG
s← Initialløsning
while Afslut = Falsk dos← Lokalsøgning(s, f ′)
for elementer med høj nytteværdi Util(s, i)
dopi ← pi + 1
end
Opdater(f ′, p)end
Algorithm 7: Pseudokode for GLS
Algoritmen starter ved at generere en initialløs-
ning og itererer så indtil en afslutningsbetingelse er
sand. Hver iteration anvender lokalsøgning indtil et
lokalt optimum er nået. Herefter opdateres vektoren
med strafparametre p = (p1, . . . , pm) ved at øge straf-
parameter pi hvis elementet har en høj nytteværdi i
den nuværende løsning. GLS strategien kan ses i al-
goritme 7.
Der er tilknyttet en omkostning ci til hvert element
i, som betegner betydningen i forhold til de andre
elementer i løsningen. En høj omkostning medfører en høj nytteværdi (2.15), og omkostningen er skaleret af
strafparametrene for at forhindre at omkostningen påvirker algoritmen for meget.
Util(s, i) = II(s)ci
1 + pi(2.15)
2.4.1.6 Iterated Local Search
Iterated Local Search er blevet beskrevet af mange forskellige forfattere, og derfor er det svært at de�nere hvem
der oprindeligt de�nerede Iterated Local Search (ILS). Algoritmen er en af de mest anvendte strategier, og
anvendes ofte som struktur for andre metaheuristikker eller implementeres som en komponent. Lokalsøgning og
perturbation er grundelementer i algoritmen.s← Initialløsning
s′ ← Lokalsøgning(s)
while Afslut = Falsk dos′′ ← Perturbation(s′,Historik)
s′′′ ← Lokalsøgning(s′′)
s′ ←AcceptKriterie(s′, s′′,Historik)
end
Algorithm 8: Pseudokode for Iterated Lo-
cal Search
ILS genererer en initialløsning s og anvender lokalsøgning på
denne indtil en naboløsning s′ i et lokalt optimum er nået. I al-
goritmen indgår tre faser i hver iteration der fortsætter indtil
en afslutningsbetingelse er opfyldt. Den første fase er en pertur-
bation, den anden fase er en lokalsøgning og den tredje fase er
et accept kriterie der bestemmer om løsninger skal accepteres.
Accept kriteriet kan fungere ved at acceptere løsninger af bedre
kvalitet, ved altid at acceptere nye løsninger, eller en mellemting
som i SA fra sektion 2.4.1.1. På den måde kan accept kriteriet
fungere som en modvægt til perturbation da den giver feedback
omkring det nyligt opnåede lokale optimum. ILS strategien ses i algoritme 8.
2.4.1.7 Large Neighborhood Search
s← Initialløsning
s∗ ← s
while Afslut = Falsk dos′ ← r(d(s))
s← AcceptKriterie(s′, s)
s∗ ← AcceptKriterie(s, s∗)end
Algorithm 9: Pseudokode for Large Neig-
hborhood Search
Large Neighborhood Search (LNS) blev de�neret af Shaw [74] i
1999. Algoritmen tilhører en klasse af metaheuristikker som søger
i store nabolag for at �nde bedre optimums end dem der ville
være blevet fundet ved søgning i mindre nabolag.
Algoritmen begynder ved at generere en initialløsning s som
også tildeles som den bedste løsning hidtil. Herefter itererer al-
goritmen indtil en afslutningsbetingelse er sand. I hver iteration
anvendes en destroy funktion og en repair funktion til at opnå en
naboløsning s′. Destroy funktionen returnerer en delvis ødelagt
løsning fra den nuværende løsning s, og repair funktionen reparerer den delvist ødelagte løsning til nabo-
løsningen s′. Herefter erstatter naboløsningen den nuværende løsning hvis accept kriteriet er opfyldt, og den
nuværende løsning erstatter den bedste løsning hvis kvaliteten er bedre [66]. Strategien for LNS ses i algoritme 9.
2.4. LØSNINGSMETODER 19
2.4.2 Populationsbaserede Metaheuristikker
Denne sektion beskriver de populationsbaserede metaheuristikker, og de inkluderede algoritmer vurderes som
de mest betydningsfulde indenfor klassen. Klassen af metaheuristikker betegnes som populationsbaseret da
søgeprocessen er karakteriseret ved at behandle en population af løsninger i stedet for en enkel løsning i hver
iteration.
2.4.2.1 Evolutionary Computation
Evolutionary Computation (EC) er algoritmer som er inspireret af naturens evne til at udvikle dyr som er godt
tilpasset til deres omgivelser. Disse algoritmer kan karakteriseres som modeller af en evolutionær proces. Ved
hver iteration anvendes et antal operationer på individer i den nuværende population for at generere individer
til næste generations population. Til at frembringe nye individer kombineres to eller �ere individer ofte ved
anvendelse af operationerne recombination eller crossover. Til at tilpasse det enkelte individ anvendes ofte
operationerne mutation og modi�cation. Drivkraften i disse algoritmer er udvælgelsen af individer baseret på
deres egnethed i populationen, hvilket svarer til deres bidrag til objektfunktionen i den nuværende løsning.
Individer med en høj egnethed beholdes ofte som medlemmer af populationen i den næste generation.
Overordnet set �ndes der tre kategorier af EC algoritmer, Evolutionary Programming, Evolutionary Stra-
tegies og Genetic Algorithms (GA). GA er de mest brugte til kombinatoriske optimeringsproblemer, men den
fundamentale struktur af de tre kategorier er ens.
P ← Initialpopulation
Evaluer(P )
while Afslut = Falsk doP ′ ← Rekombiner(P )
P ′′ ← Mutere(P ′)
Evaluer(P ′′) P ← Vælg(P ′′ ∪ P )
end
Algorithm 10: Pseudokode for Evolutionary Com-
putation
GA blev de�neret af Holland [42] i 1975, og Ba-
ker et al. [6] foreslog i 2003 GA til CVRP. Fleury et
al. [32] foreslog i 2004 en Memetic Algorithm (MA) til
et stokastisk CARP, hvilket resulterede i robuste løs-
ninger uden signi�kant øgede omkostninger i forhold
til det tilsvarende deterministiske CARP. En MA er
en udvidelse af den traditionelle GA, men kategorise-
res under GA.
Algoritmen starter ved at generere en initialpopu-
lation P som evalueres. Operationerne recombination
og mutation generer et afkom. Herefter evalueres den
nuværende population og den næste generations population er valgt som en kombination af den nuværende
population og afkommet. EC strategien ses i algoritme 10.
2.4.2.2 Ant Colony Optimization
Inspirationskilden til Ant Colony Optimization (ACO) er fourageringsadfærden blandt myrer, som gør det muligt
at �nde den korteste vej mellem fødekilden og deres myretue. Mens de vandrer mellem fødekilden og myretuen
udskiller myren et duftstof på vejen. Når de skal afgøre hvilken retning er bedst, vælger de den retning som er
markeret med den højeste koncentration af duftstof. Denne adfærd er fundamentet for et fælles samarbejde som
fører til den korteste vej.
ACO er baseret på en parametriseret probabilistisk model, the Pheromone Model, som bruges til at modellere
kemiske duftstofspor. Kunstige myrer konstruerer trinvist en løsning ved at tilføje løsningselementer til løsningen.
Dette gøres ved at de kunstige myrer følger en tilfældig vej på en komplet graf G = (N,E) hvor knuder er
betegnet som løsningselementerne N og kanterne er betegnet som løsningselementerne E. Hver komponent har
tilknyttet et duftstofspor, hvor sættet af duftstofspor er betegnet T . Yderligere er der tilknyttet en heuristisk
værdi H til hver komponent som repræsenterer en erfaring om problemet. H anvendes af de kunstige myrer
til at tage probabilistiske beslutninger om retningen. Sættet af kunstige myrer betegnes A, hvor hver løsning
konstrueret af en myre betegnes sa.
20 KAPITEL 2. LITTERATURGENNEMGANG
Initialiser(T )
while Afslut = Falsk do
for a ∈ A do
sa ← KonstruktionsLøsning(T,H)
end
Opdater(T, {sa|a ∈ A})end
Algorithm 11: Pseudokode for Ant Colony Optimiza-
tion
I 1975 de�nerede Dorigo [26] ACO og Bullnheimer
et al. [14] udvidede i 1999 den til VRP. Lacomme et
al. [53] foreslog i 2004 ACO til CARP som resultat-
mæssigt var konkurrencedygtig, dog ikke beregnings-
mæssigt.
Algoritmen begynder ved at initialisere sættet
med duftstofsspor T med meget små værdier. I hver
gentagelse konstruerer hver kunstig myre en løsning,
anvendes til at opdatere T . Dette gentages indtil en
afslutningsbetingelse er opfyldt. I algoritme 11 ses ACO strategien.
Kapitel 3
Anvendt Teori
Dette kapitel redegør for den teori der er anvendt til at løse problemstillingen. Der er lagt vægt på en dyb
redegørelse af den anvendte teori, da formålet med dette kapitel er at vise en dyb forståelse for løsningsmodellen
og -metoden.
Sektion 3.1 redegør for den anvendte løsningsmodel The Periodic Distance-Constrained MCGRP with Pro-
babilistic Constraints (PDCMCGRPPC) der betegner den teoretiske ækvivalent til det praktiske ruteplan-
lægningsproblem for den alternative ordning. Selve udledningen af den anvendte løsningsmodel kræver �ere
generaliseringer af MCGRP, som der redegøres for inden beskrivelsen af PDMCGRPPC. I sektion 3.2 redegø-
res der for aggregeringsmetoden, Topology Aggregation, som anvendes på datagrundlaget med det resultat at
løsningsmodellen skal modelleres indenfor klassen GRP. Sektion 3.3 redegør for den anvendte løsningsmetode,
den hybride metaheuristik Adaptive Iterated Local Search (AILS). Motivationen for anvendelse af netop denne
løsningsmetoden er baseret på at den har givet rigtig gode resultater på 5 benchmarktilfældene til MCGRP, 4
benchmarktilfældene til CVRP og 7 standard tilfælde til CARP [24].
3.1 Mixed Capacitated General Routing Problem
I denne sektion redegøres der for 4 løsningsmodeller som er generaliseringer af MCGRP. I sektion 3.1.1 - 3.1.3
præsenteres Distance-Constrained MCGRP (DCMCGRP), MCGRP with Probabilistic Constraints (MCGRP-
PC) og Periodic MCGRP (PMCGRP). I sektion 3.1.4 præsenteres den anvendte løsningsmodel The Periodic
Distance-Constrained MCGRP with Probabilistic Constraints (PDCMCGRPPC) som er en generalisering af de
tre forgående løsningsmodeller.
Da den videnskabelige litteratur ikke omfatter generaliseringerne DMCGRP, PMCGRP og PDCMCGRPPC
er det grafteoretiske problem og heltalsprogrammeringsformuleringen frembragt ved egen udvikling. I sektionerne
som omhandler disse generaliseringer refereres der ikke til videnskabelig litteratur, men der henvises til at
generaliseringernes ækvivalente indenfor CVRP [34, 55, 78], CARP [16, 28, 82] samt MCGRP [9, 24] er anvendt
som inspiration til denne udledning.
3.1.1 Distance-Constrained MCGRP
DMCGRP er en generalisering af MCGRP hvor hver rute har en afstandsbegrænsning som kan måles i enten
distance eller tid, det følger derfor at dette tilføjes til det grafteoretiske problem og heltalsprogrammeringsfor-
muleringen præsenteret i sektion 2.2.4. Lad tij betegne en ikke-negativ traverseringsafstand tilknyttet hver kant
(i, j) ∈ L, og T betegne den maksimale afstand på en rute. Lad si for i ∈ NR og sij for (i, j) ∈ LR betegne servi-
ceringstiden på henholdsvis knuder og kanter når traverseringsafstanden T måles i tid, og traverseringsafstanden
tij for (i, j) ∈ LR er aggregeret ind i servicetiden sij . Generelt er traverseringsomkostningen og traverseringsaf-
standen sammenfaldende, dvs. cij = tij for (i, j) ∈ L, hvorved objektet er at minimere traverseringsafstanden.
21
22 KAPITEL 3. ANVENDT TEORI
∑i∈NR
sixki +
∑(i,j)∈AR
sijxkij +
∑(i,j)∈ER
sij(xkij + xkji)+∑
i∈Ntiy
ki +
∑(i,j)∈A
tijykij +
∑(i,j)∈E
tij(ykij + ykji) ≤ T ∀ k ∈ K (3.1)
Betingelse (3.1) sikrer en afstandsbegrænsning på hver vogn.
3.1.2 MCGRP with Probabilistic Constraints
MCGRPPC er en generalisering af MCGRP hvor efterspørgslen er stokastisk hvilket naturligt påvirker betingelse
(2.5) [9]. Følgende tilføjes til det grafteoretiske problem og heltalsprogrammeringensformuleringen; lad di(ω) og
dij(ω) betegne den stokastiske efterspørgsel som følger en normalfordeling for henholdsvis knude i ∈ NR og kant
(i, j) ∈ LR og lad α betegne signi�kansniveauet som skal overholdes for ikke at forkaste rutens gennemførlighed.
P(∑i∈NR
di(ω)xki +∑
(i,j)∈AR
dij(ω)xkij +∑
(i,j)∈ER
dij(ω)(xkij + xkji) ≤ Q) ≥ α ∀ k ∈ K (3.2)
Betingelse (3.2) sikrer at sandsynligheden for ikke at overstige efterspørgselsbegrænsningen pålagt af kapa-
citeten på hver vogn er større end det valgte signi�kansniveau.
3.1.3 The Periodic MCGRP
PMCGRP er en generalisering af MCGRP hvor en tidshorisont bestående af perioder er inddraget sådan at
knuder og kanter kan anmode om service i en eller �ere perioder. Følgende tilføjes til det grafteoretiske problem;
lad P = {1, . . . , p} betegne planlægningshorisonten. Lad Fi = {1, . . . , f} for i ∈ NR og Fij = {1, . . . , f} for(i, j) ∈ LR betegne et sæt af servicekombinationer for henholdsvis knuder og kanter, hvor en servicekombina-
tionen implicit indeholder antallet af anmodninger i planlægningshorisonten P .
Matematisk kan problemet, ved brug af heltalsprogrammeringsformulering, opstilles som følger; lad xkfpi og
xkfpij betegne binære variable, som er lig med 1 hvis henholdsvis knude i ∈ NR og kant (i, j) ∈ LR er serviceret
af vogn k i periode p over servicekombination f ∈ Fi og f ∈ Fij . Lad ykpij betegne en ikke-negativ variabel,
som er lig med antallet af traverseringer uden service på kant (i, j) ∈ L af vogn k i periode p. Lad zfi og
zfij betegne binære variable, som er lig med 1 hvis henholdsvis knude i ∈ NR og kant (i, j) ∈ LR anvender
servicekombination f ∈ Fi og f ∈ Fij . Servicekombinationer er indekseret fra 1 til f og de�neret ved matricen
A, hvor Afp = 1 når servicekombination f anvendes i periode p.
min∑
(i,j)∈E
∑k∈K
∑p∈P
cij(ykpij + ykpji ) +
∑(i,j)∈A
∑k∈K
∑p∈P
cijykpij (3.3)
∑f∈Fi
zfi = 1 ∀ i ∈ NR (3.4)
∑f∈Fij
zfij = 1 ∀ (i, j) ∈ LR (3.5)
∑k∈K
xkfpi = Afpzfi ∀ i ∈ NR, f ∈ Fi, p ∈ P (3.6)
∑k∈K
xkfpij = Afpzfij ∀ (i, j) ∈ AR, f ∈ Fi, p ∈ P (3.7)
∑k∈K
(xkfpij + xkfpji ) = Afpzfij ∀ (i, j) ∈ ER, f ∈ Fi, p ∈ P (3.8)
3.1. MIXED CAPACITATED GENERAL ROUTING PROBLEM 23
∑ i∈N
R
∑ f∈F
i
dixkfp
i+
∑(i,j)∈A
R
∑f∈F
ij
dijxkfp
ij+
∑(i,j)∈E
R
∑f∈F
ij
dij
(xkfp
ij+xkfp
ji
)≤Q
∀p∈P,k∈K
(3.9)
∑j:(i,j)∈δ+ AR(i)
xkfp
ij+
∑j:(i,j)∈δ+ A(i)
ykpij−
∑j:(j,i)∈δ− AR(i)
xkfp
ji−
∑j:(j,i)∈δ− A(i)
ykpji
=
∑j:(i,j)∈δE
R(i)
xkfp
ji
+∑
j:(i,j)∈δ(i)
ykpji−
∑j:(i,j)∈δE
R(i)
xkfp
ij−
∑j:(i,j)∈δ(i)
ykpij
∀i∈N,f∈Fi,p∈P,k∈K
(3.10)
∑(i,j)∈δ+ AR(S
)
xkfp
ij+
∑(j,i)∈δ− AR(S
)
xkfp
ji
+∑
(i,j)∈δE
R(S
)(xkfp
ij+xkfp
ji
)+
∑(i,j)∈δ+ A(S
)
ykfp
ij+
∑(j,i)∈δ− A(S
)
ykfp
ji
+∑
(i,j)∈δE(S
)(ykfp
ij+ykfp
ji
)≥
2(xkfp
uv
+xkfp
vu
),
2xkfp
uv,
2zkfp
h,
∀(u,v
)∈ER
(S),f∈Fi,p∈P,k∈K
∀(u,v
)∈AR
(S),f∈Fi,p∈P,k∈K
∀h∈SR,f∈Fi,p∈P,k∈K
(3.11)
xkfp
ij∈{0,1}
∀(i,j
)∈LR,f∈Fi,p∈P,k∈K
(3.12)
xkfp
ji∈{0,1}
∀(i,j
)∈ER,f∈Fi,p∈P,k∈K
(3.13)
xkfp
i∈{0,1}
∀i∈NR,f∈Fi,p∈P,k∈K
(3.14)
ykpij∈Z +
∀(i,j
)∈L,p∈P,k∈K
(3.15)
ykpji∈Z +
∀(i,j
)∈E,p∈P,k∈K
(3.16)
zf ji∈{0,1}
∀(i,j
)∈LR,f∈Fi
(3.17)
zf i∈{0,1}
∀i∈NR,f∈Fi
(3.18)
24 KAPITEL 3. ANVENDT TEORI
Objektfunktionen (3.3) minimerer de totale traverseringsomkostninger uden service. Betingelserne (3.4 -
3.5) sikrer at hver anmodning er tilknyttet nøjagtig én servicekombination, hvor betingelserne (3.6 - 3.9), som
betegnes Assignment Constraints, sikrer at anmodningerne er serviceret i forhold til den tilknyttede servicekom-
bination. Betingelse (3.9) sikrer en efterspørgselsbegrænsning pålagt af kapaciteten på hver vogn, og betegnes
som Knapsack Constraint. Betingelse (3.10) sikrer et symmetriforhold i hver knude, og betegnet som Flow Con-
straint. En Connectivity Constraint (3.11) sikrer at hver delmængde af knuder som indeholder en anmodning
serviceret af en vogn, skal have mindst to kanter indfaldende i delmængden til at besøge den. Denne betingelse
eliminerer også delture som ikke er forbundet med depotet. Betingelserne (3.12 - 3.18) sikrer de�nitionsmængden
for beslutningsvariablene.
3.1.4 The Periodic Distance-Constrained MCGRP with Probabilistic Constraints
PDCMCGRPPC er en generalisering af DCMCGRP, MCGRPPC og PMCGRP som blev præsenteret i sek-
tion 3.1.1 - 3.1.3. Denne generalisering medtager det fundamentale fra MCGRP og tilføjer afstandsbegrænsning,
stokastisk efterspørgsel og periodisering, og anvendes som den teoretiske ækvivalent til det praktiske ruteplan-
lægningsproblem for den alternative ordning beskrevet i sektion 2.1.
Matematisk kan problemet, ved brug af heltalsprogrammeringsformulering, opstilles som følger; lad xkfpi og
xkfpij betegne binære variable, som er lig med 1 hvis henholdsvis knude i ∈ NR og kant (i, j) ∈ LR er serviceret
af vogn k i periode p over servicekombination f ∈ Fi og f ∈ Fij . Lad ykpij betegne en ikke-negativ variabel,
som er lig med antallet af traverseringer uden service på kant (i, j) ∈ L af vogn k i periode p. Lad zfi og
zfij betegne binære variable, som er lig med 1 hvis henholdsvis knude i ∈ NR og kant (i, j) ∈ LR anvender
servicekombination f ∈ Fi og f ∈ Fij . Servicekombinationer er indekseret fra 1 til f og de�neret ved matricen
A, hvor Afp = 1 når servicekombination f anvendes i periode p.
min∑
(i,j)∈E
∑k∈K
∑p∈P
cij(ykpij + ykpji ) +
∑(i,j)∈A
∑k∈K
∑p∈P
cijykpij (3.19)
∑f∈Fi
zfi = 1 ∀ i ∈ NR (3.20)
∑f∈Fij
zfij = 1 ∀ (i, j) ∈ LR (3.21)
∑k∈K
xkfpi = Afpzfi ∀ i ∈ NR, f ∈ Fi, p ∈ P (3.22)
∑k∈K
xkfpij = Afpzfij ∀ (i, j) ∈ AR, f ∈ Fi, p ∈ P (3.23)
∑k∈K
(xkfpij + xkfpji ) = Afpzfij ∀ (i, j) ∈ ER, f ∈ Fi, p ∈ P (3.24)
De�nitionen af objektfunktionen (3.19) og betingelserne (3.20 - 3.28) kan �ndes i de foregående sektioner,
og gentages derfor ikke her.
3.2 Topology Aggregation
I ruteplanlægningsproblemer, som f.eks. indsamling af a�ald, hvor det praktiske ruteplanlægningsproblem ofte
betegnes som Large Scale, er det en udfordring for selv de bedste algoritmer at generere løsninger af rimelig kva-
litet. Afstandsmatricen kan i disse tilfælde være så stor at computerens tilgængelige korttidshukommelse (RAM)
ikke kan indeholde dataene, hvilket er strengt nødvendigt for at computerens beregner (Processor) e�ektivt kan
tilgå disse. Operatorerne bliver ligeledes langsommere i takt med at problemstørrelsen øges, hvilket naturligt
giver en lavere løsningskvalitet da færre løsninger vil blive overvejet indenfor den tilgængelige beregningstid.
3.2. TOPOLOGY AGGREGATION 25
P(∑ i∈N
R
∑ f∈F
i
dixkfp
i+
∑(i,j)∈A
R
∑f∈F
ij
dijxkfp
ij+
∑(i,j)∈E
R
∑f∈F
ij
dij
(xkfp
ij+xkfp
ji
)≤Q
)≥α
∀p∈P,k∈K
(3.25)
∑ i∈N
R
s ixkfp
i+
∑(i,j)∈A
R
s ijxkfp
ij+
∑(i,j)∈E
R
s ij(xkfp
ij+xkfp
ji
)+
∑ i∈N
t iykpi
+∑
(i,j)∈A
t ijykpij
+∑
(i,j)∈E
t ij(ykpij
+ykpji
)≤T
∀p∈P,k∈K
(3.26)
∑j:(i,j)∈δ+ AR(i)xkfp
ij+
∑j:(i,j)∈δ+ A(i)
ykpij−
∑j:(j,i)∈δ− AR(i)
xkfp
ji−
∑j:(j,i)∈δ− A(i)
ykpji
=
∑j:(i,j)∈δE
R(i)xkfp
ji
+∑
j:(i,j)∈δ(i)
ykpji−
∑j:(i,j)∈δE
R(i)
xkfp
ij−
∑j:(i,j)∈δ(i)
ykpij
∀i∈N,f∈Fi,p∈P,k∈K
(3.27)
∑(i,j)∈δ+ AR(S
)xkfp
ij+
∑(j,i)∈δ− AR(S
)
xkfp
ji
+∑
(i,j)∈δE
R(S
)(xkfp
ij+xkfp
ji
)+
∑(i,j)∈δ+ A(S
)ykfp
ij+
∑(j,i)∈δ− A(S
)
ykfp
ji
+∑
(i,j)∈δE(S
)(ykfp
ij+ykfp
ji
)≥
2(xkfp
uv
+xkfp
vu
),
2xkfp
uv,
2zkfp
h,
∀(u,v
)∈ER
(S),f∈Fi,p∈P,k∈K
∀(u,v
)∈AR
(S),f∈Fi,p∈P,k∈K
∀h∈SR,f∈Fi,p∈P,k∈K
(3.28)
xkfp
ij∈{0,1}
∀(i,j
)∈LR,f∈Fi,p∈P,k∈K
(3.29)
xkfp
ji∈{0,1}
∀(i,j
)∈ER,f∈Fi,p∈P,k∈K
(3.30)
xkfp
i∈{0,1}
∀i∈NR,f∈Fi,p∈P,k∈K
(3.31)
ykpij∈Z +
∀(i,j
)∈L,p∈P,k∈K
(3.32)
ykpji∈Z +
∀(i,j
)∈E,p∈P,k∈K
(3.33)
zf ji∈{0,1}
∀(i,j
)∈LR,f∈Fi
(3.34)
zf i∈{0,1}
∀i∈NR,f∈Fi
(3.35)
26 KAPITEL 3. ANVENDT TEORI
Topology Aggregation er en teknik til at reducere problemets størrelse og fungerer ved at aggregere data
baseret på dets topologi. Det aggregerede data er en repræsentation af det underliggende data og betegnes derfor
som Aggregated Representation. Når data aggregeres vil det være på bekostning af granularitet, og det er derfor
nødvendigt at lave en afvejning mellem nøjagtighed af data og størrelsen af den aggregerede repræsentation[49].
Litteratur omhandlende Topology Aggregation indenfor ruteplanlægning er begrænset, dog yderst relevant i
forhold til Rich VRP. Ifølge Flatberg et al. [31] kan aggregeringen bestå af to niveauer; første aggregering er
udført af distributionsvirksomheden hvor typisk 5-10 anmodninger aggregeres, �ere i byområder med blokke,
disse betegnes som moduler; anden aggregering udføres typisk af en heuristisk procedure, der aggregerer og
ordner rækkefølgen på alle moduler som tilhører samme vejstykke eller tilstødende veje som ikke er afbrudt af
et vejkryds. Aggregeringen er begrænset af grænseværdier for efterspørgsel og servicetid.
3.3 Adaptive Iterated Local Search
I denne sektion vil metaheuristikken AILS præsenteres som den anvendte løsningsmetode til PDCMCGRPPC.
AILS blev præsenteret af Hasle et al. [24] i 2014 og har præsteret konkurrencedygtige resultater på bench-
marktilfælde indenfor både MCGRP, CVRP og CARP. Formålet med AILS er at undgå en ikke-produktiv
søgeprocess og samtidig sikre en god balance mellem intensivering og diversi�cering. Algoritmen er illustreret i
algoritme 12 og 13. I algoritme refalg:ID449 ses det at algoritmen itererer i et ydre while-loop og et indlejrede
for -loop. Det ydre while-loop sikrer diversi�ceringen i søgeprocessen ved at bruge metaheuristikken ILS, mens
det indre for -loop sørger for intensivering med Adaptive Large Neighborhood Search (ALNS) og Local Search
(LS). ALNS er en adaptiv generalisering af Large Neighborhood Search der er beskrevet i sektion 2.4.1.7.
Hasle et al. [24] præsenterer det overordnede design af AILS som indeholder mange alternativer for de mest
væsentlige mekanismer. Gennem komparative eksperimenter er modellen tunet på fem benchmarktilfælde in-
denfor MCGRP; CBMix [67], BHW [5], DI-NEARP [5], mggdb [12] og mgval [12]. Denne tunede model er fundet
konkurrencedygtig indenfor �ere klasser af ruteplanlægningsproblemer, og danner derfor grundlag for redegø-
relsen af AILS.
Function Ails
IterCount = 0
IterStage = ITER_STAGE
KickCount = KICK_COUNT
ResetScore()
sInit = Initial_Solution(Instance)
sGlobIncu = sLocaIncu = LS_Full(sInit)
while TimeOut() 6= True dosCurr = sStag = sLocaIncu
for IterCountStage = 0 to IterStage doIterCoun += 1
NewBest = Alns_and_LS()
if NewBest = TRUE then
IterStage = ITER_STAGE - 1
KickCount = KICK_COUNT
Break
end
end
IterStage += 1end
Algorithm 12: Pseudokode for AILS
I det følgende gennemgås implementeringen af
AILS algoritmen, de anvendte parametre, variable,
funktioner og procedurer samt tuningen af model-
len. Herefter præsenteres de løsningsmetoder som al-
goritmen anvender som procedure, hvilket omfatter
en redegørelse af Augment-Merge, ALNS og LS i sek-
tion 3.3.1 - 3.3.3. ILS kan �ndes i sektion 2.4.1.6 og
medtages derfor ikke her.
Algoritmen begynder ved en initialisering af de
globale variable, IterCount, IterStage, KickCount, og
φ. IterCount tæller antallet af iterationer og initiali-
seres til nul. IterStage holder styr på antallet af ite-
rationer i det indre loop og initialiseres til værdien af
parametren ITER_STAGE. KickCount tæller ned, og
angiver antallet af iterationer før næste perturbation.
KickCount initialiseres til værdien af parametren KI-
CK_COUNT. Gennem tuning på fornævnte bench-
marks er ITER_STAGE og KICK_COUNT sat til
henholdsvis 20.000 og 10. Score matricen φ holder et
mål for e�ektiviteten af et operatorpar, en Destructor
og en Constructor. Den initialiseres ved at kalde pro-
3.3. ADAPTIVE ITERATED LOCAL SEARCH 27
ceduren ResetScore som sætter alle scorer til 1.
Score matricen bruges til at udvælge et operatorpar baseret på score elementerne φij der er tilknyttet hvert ope-
ratorpar, Destructor i og Constructor j, og opdateres med 1 når den fører til en ny nuværende løsning, sLocaIncueller sGlobIncu. Score matricen er anvendt med inspiration fra ALNS og beskrives yderligere i sektion 3.3.3.
Der genereres en initialløsning sInit med funktionen Initial_Solution, som derefter optimeres til et dybt
lokalt optimum. Det er vist gennem tuning på førnævnte benchmarks at løsningskvaliteten på initialløsningen
ikke har signi�kant e�ekt på kvaliteten af den endelige løsning hvis beregningstiden er tilstrækkelig lang [24]. Da
heuristikken Augment-Merge er beregningsmæssig e�ektiv benyttes denne til at generere sInit. Augment-Merge
bliver beskrevet i sektion 3.3.1. Funktionen LS_Full optimerer initialløsningen til et dybt lokalt optimum og
løsningen tildeles den nuværende lokale løsning sLocaIncu og den nuværende globale løsning sGlobIncu. Lokalsøg-
ningen i funktionen LS_Full bliver beskrevet mere indgående i sektion 3.3.2 som omhandler LS.
Efter initialiseringen påbegyndes det ydre loop indtil den booleske funktion TimeOut returnerer en sand
værdi. Funktionen anvender en given tidsbegrænsning i CPU tid og returnerer falsk så længe denne værdi ikke
er overskredet. Gennem tuningen er det fundet at den mest optimale kon�guration af tidsbegrænsning er 3600
CPU sekunder [24].
Det indre loop eksekveres som et stadie af det ydre loop. Antallet af iterationer i et stadie er bestemt af
den globale variabel IterStage, som øges med en for hvert stadie. Denne forøgelse var et resultat af indledende
eksperimenter der viste at en løbende forøgelse af IterStage var nødvendig for at forstærke intensivering [24].
Det indre loop forøger IterCount med en for hver iteration i et stadie, og tæller dermed det samlede antal
iterationer for modellen. Herefter eksekveres den booleske funktion Alns_and_LS (algoritme 13) som retur-
nerer en sand værdi til variablen NewBest når en eller begge nuværende løsninger er blevet opdateret med en
bedre løsning, ellers returneres en falsk værdi. Når NewBest er sand nulstilles IterStage og KickCount og det
nuværende stadie afbrydes. IterStage nulstilles til ITER_STAGE - 1 da IterStage herefter forøges med en i det
ydre loop.
Funktionen Alns_and_LS udfører søgningen som enten en intensiverende eller diversi�cerende proces. Til
at kontrollere hvilken søgeproces der skal anvendes undersøges det om søgningen er stagneret ved anvendelse af
KickCount. Når KickCount er større end nul, betyder dette at søgningen ikke er stagneret, og dermed anvendes
en intensiverende søgeproces. I hver intensivering mindskes KickCount med en, og nulstilles til 20.000 hver
gang funktionen opdaterer en eller begge de nuværende løsninger med en bedre løsning. Søgningen skal dermed
intensiveres 20.000 gange uden at opdatere en eller begge de nuværende løsninger med en bedre løsning før
søgningen er stagneret. Når søgningen er stagneret diversi�ceres søgningen.
Når søgeprocessen anvender en intensiverende søgeproces nulstilles score matricen φ med funktionen Re-
setScore hver gang der er gået 500 iterationer. Nulstillingen er en ny mekanisme udviklet til denne løsnings-
metode. Herefter trækkes et tilfældigt antal anmodninger K i intervallet [1, Kmax], hvor parameteren Kmax
betegner det maksimale antal anmodninger som behandles af den intensiverende søgeproces i Alns_and_LS.
Gennem tuningen blev Kmax bestemt til at være afhængig af antallet af anmodninger θ, så Kmax er sat til
0.05 ∗ θ når anmodningerne ikke indeholder orienterede kanter og ellers 0.02 ∗ θ. Alns_Roulette generer
efterfølgende en løsning med udgangspunkt i sCurr ved at bruge et antal af tilfældige anmodninger K i funktio-
nen løsningsmetoden ALNS beskrevet i sektion 3.3.3. Løsningskvaliteten af sCurr i forhold til stadie løsningen
sStag, undersøges herefter og accepteres med en kvalitetsdiskrimination afhængig af tilfældets størrelse. Diskri-
minationen er afhængig af parameteren QUAL_FACT som ved tilfælde med færre end 240 anmodninger kun
accepterer løsninger som maksimalt forringer sStag med 5 %. For tilfælde over 240 anmodninger har tuningen
vist at diskriminationen ikke har e�ekt, og alle løsninger accepteres derfor uanset løsningskvalitet. For yderlige-
re intensivering anvendes LS på accepterede løsninger, her vælges tilfældigt mellem funktionerne LS_One og
LS_Two, med 70 % sandsynlighed for funktionen LS_One. Funktionerne LS_One og LS_Two er anvendt
da LS_Full beregningsmæssigt er for tung, disse funktioner beskrives i sektion 3.3.2. Efter intensiveringen
formindskes KickCount med en, og det undersøges om løsningskvaliteten på sCurr er god nok til at erstatte sStag
28 KAPITEL 3. ANVENDT TEORI
Function Alns_and_LS
if KickCount > 0 thenif IterCount modulo SCORE_RESET = 0 then ResetScore() endK = Rand(1,Kmax)sCurr = Alns_Roulette(K)if f(sCurr) ≥ QUAL_FACT ∗f(sStag) then return FALSE end
sCurr = if Rand(0,100) ≤ 70 then LS_One(sCurr) else LS_Two(sCurr) endKickCount −= 1if sCurr < sStag then
sStag = sCurrif f(sCurr) < f(sLocaIncu) then
sLocaIncu = sCurrif f(sCurr) < f(sGlobIncu) then
sGlobIncu = sCurrend
return TRUEend
return FALSEend
elseK = Rand(θ/2, θ)sLocaIncu = Alns_Random(K)sLocaIncu = sCurr = LS_Full(sLocaIncu)if f(sCurr) < f(sGlobIncu) then
sGlobIncu = sCurrend
return TRUEend
Algorithm 13: Pseudokode for ALNS & LS
eller en eller begge af de nuværende løsninger. Hvis sCurr erstatter en eller begge af de nuværende løsninger
returnerer funktionen Alns_and_LS en sand værdi, ellers returneres en falsk værdi.
Alns_Random diversi�cerer søgningen ved at udføre Perturbation eller Kick fra ILS. Først trækkes et
tilfældigt antal anmodninger K i intervallet [θ/2, θ] der efterfølgende gives til funktionen Alns_Random.
Alns_Random anvender kun operatorerne Random Destructor og Random Constructer som er beskrevet
i sektion 3.3.3. Som med initialløsningen, tages denne løsning til et dybt lokalt optimum ved anvendelse af
funktionen LS_Full. Løsningen erstatter her den nuværende lokale løsning, og derfor returnerer funktionen
altid en sand værdi efter en diversi�cering.
Efter at have valgt kon�gurationen af ALNS, som præsenteres i sektion 3.3.3, evalueres andre væsentlige
mekanismer. Tuningen af disse mekanismer er udført separat og resultaterne af denne tuning beskrives her.
• Nulstilling af score: E�ekten af periodisk nulstilling af score matricen φ blev undersøgt i forhold til
tilfældets størrelse. Gode resultater blev opnået uden nulstilling af score matricen for tilfælde som er større
end 240 anmodninger, og den nulstilles derfor kun for tilfælde mindre end dette.
• Kvalitetsdiskrimination: Virkningen af kvalitetsdiskrimination af løsningskvaliteten efter funktionen
Alns_Roulette evalueres. Tuningen viser at det er nødvendigt kun at acceptere en forringelse af løs-
ningskvaliteten på max 5 % for tilfælde der er mindre end 240 anmodninger. Ved større tilfælde diskrimi-
neres der ikke og alle løsninger intensiveres yderligere med lokalsøgning.
• Lokalsøgning: I intensiveringsfasen af algoritmen anvendes en af to lokalsøgningsfunktioner, LS_One
og LS_Two, til at intensivere søgningen efter funktionen Alns_Roulette. Tuningsprocessen viser at
denne mekanisme er nødvendig, da AILS ikke �nder nogle bedste løsninger på benchmarktilfældene uden.
• Diversi�cering: Det vurderes at diversi�ceringsfasen af algoritmen er nødvendig, da algoritmen heller
ikke her �nder nogle bedste løsninger på benchmarktilfældene uden.
3.3. ADAPTIVE ITERATED LOCAL SEARCH 29
• Acceptkriterie: To acceptkriterier af nye løsninger i intensiveringsfasen er blevet evalueret i tuningspro-
cessen; Simple Improvement og Threshold Accepting [29]. Simple Improvement vælges frem for Threshold
Accepting da den gav en bedre løsningskvalitet i tuningen.
Foruden de ovenstående mekanismer, som er udviklet til algoritmen, anvendes forskellige løsningsmetoder
også som procedure. Disse løsningsmetoder inddrages for enkelthedens skyld separat i de følgende afsnit.
3.3.1 Augment-Merge
Augment-Merge (algoritme 14) blev de�neret af Golden et al. [38]. Algoritmen består af tre trin, generering af
initialløsning, Augment ogMerge. Initialløsningen genereres således at hver anmodning er placeret i sin egen rute,
hvor den korteste afstand fra depotet til hver af endeknuderne er anvendt. I Augment rangeres og nummereres
ruterne efter faldende afstand, den længste rute nummereres 1 og så fremdeles. Det undersøges herefter om
s← Initialløsning
s← Augment
while Afslut = Falsk dos← Merge N(s)
end
Algorithm 14: Pseudokode for Augment-Merge
anmodninger fra højere rangerede ruter kan service-
res på en lavere rangeret rute. Dette gøres på følgende
måde; hvis rute i+1 kan serviceres af rute i gøres det-
te og rute i+ 1 kasseres. Ligeledes, hvis rute i+ 2 kan
serviceres af rute i gøres dette og rute i + 2 kasseres
og så fremdeles. Hvis rute i når en begrænsning, fort-
sætter Augment fra den næste højere rangerede rute.
Denne process fortsætter indtil alle ruter er overvejet.
Ruterne kan derved inddeles i tre klasser, ruter der har nået en begrænsning, ruter der er kasseret og ruter som
ikke har nået en begrænsning. I Merge undersøges det om det er muligt at sammenlægge ruter som ikke har
nået en begrænsning. Alle sammenlægninger vurderes ud fra deres besparelse og sammenlægningen med den
højeste besparelse vælges. Den valgte sammenlægning placeres i den lavest rangerede rute af de to, mens den
anden rute kasseres.
3.3.2 Local Search
Local Search i AILS er baseret på fem operatorer, Flip, Swap, Or-opt, 2-Opt og 3-opt, disse stammer fra
litteraturen om Node Routing og Arc Routing [24]. Ydermere medtages operatoren Move da den er en vigtig
operator til løsning af ruteplanlægningsproblemer der indeholder periodisering, det understreges dog at denne
ikke indgår som operator i AILS præsenteret af Hasle et. al [24].
• Flip: Flip er en intra-rute optimeringsoperator som vender retningen på en eller �ere anmodninger i en
rute, og derved forsøger at minimere traverseringsomkostningerne til og fra de påvirkede anmodninger.
• Swap: Swap er både en intra- og inter-rute optimeringsoperator som udveksler positionen af to anmod-
ninger, og derved forsøger at minimere traverseringsomkostningerne til og fra de to anmodninger som har
udvekslet position.
• Move: Move er en optimeringsoperator som �ytter en eller �ere anmodninger til en ny position indenfor
en rute eller to en anden rute, og derved forsøger at minimere traverseringsomkostningerne fra og til de
påvirkede anmodninger.
• Or-Opt: Or-Opt kan fungere som både intra- og inter-rute optimeringsoperator. Den bryder en rute
tre steder og ændrer rækkefølgen på stykkerne og forbinder dem igen på den eneste mulige måde. Det
rutesegment som skal reallokkeres er begrænset til l anmodninger.
30 KAPITEL 3. ANVENDT TEORI
• 2-Opt: Som intra-rute optimeringsoperator bryder 2-Opt en rute i to punkter, vender retningen på den
ene og forbinder dem igen, dette er illustreret i �gur 3.1 under trækket Intra-Rute. Som inter-rute opti-
meringsoperator bryder 2-Opt to forskellige ruter i et punkt hver og forbinder dem igen på alle mulige
måder, hvor det også er muligt at vende retningen for segmenter af ruterne, se �gur 3.1 under trækkene
Inter-Rute1 til Inter-Rute7 [71].
Figur 3.1: Inter- og intra-rutetræk for 2-Opt [71]
• 3-Opt: 3-Opt er en udvidelse af 2-Opt, og bryder en rute i tre punkter. Det er tilladt at vende retningen
på et rutesegment, og herefter forbindes rutesegmenterne igen på alle mulige måder. Hvis en rute består af
tre segmenter A, B og C, så anvender 3-Opt syv kombinationer ved at vende retningen på en eller �ere af
segmenterne. Således vil kombinationerne være, ACB, ACB, ACB, ACB, ACB, ACB og ACB, hvor X
betegner den omvendte retning af rutesegmentet X [24]. Rutesegment B er begrænset til l anmodninger.
3-Opt kan fungere på en rute eller mellem to ruter.
Hasle et al. [24] præsenterer en og mere aggressiv evalueringsstrategi af nabolagene. I hver iteration under-
søges sammenslutningen af nabolag fuldt ud som et resultat af de tilførte operatorer. Alle træk som forbedrer
den nuværende løsning sCurr overvejes efter stigende traverseringsomkostning. Alle uafhængige træk som fører
til en mulig løsning udføres, før LS fortsætter med at undersøge det næste nabolag til den nuværende løsning.
Det kan ses i algoritme 12 og 13 at LS er anvendt i tre forskellige situationer, når Augment-Merge har
genereret en initialløsning, når Alns_Roulette har genereret en nuværende løsning scurr af tilstrækkelig
kvalitet, og efter perturbation. Da forskellige situationer kræver forskellig optimering, er LS opdelt i tre varianter.
Efter generering af en initialløsning er formålet at �nde et dybt lokalt optimum, derfor er alle operatorer
inkluderet og betegnes som LS_Full. I de to andre tilfælde er LS_Full beregningsmæssigt for bekostelig,
og to reducerede varianter er der blevet udviklet; LS_One og LS_Two [24]. LS_One inkluderer Flip, Swap,
Or-opt, og 3-opt, mens LS_Two inkluderer Swap, Or-opt, 2-opt og 3-opt. I LS_Full, LS_One og LS_Two
er segmentlængden l i Or-Opt begrænset til henholdsvis 3, 2 og 2 og i 3-Opt begrænset til henholdsvis 3, 3
og 2. Efter Alns_Roulette har genereret en nuværende løsning af tilskrækkelig kvalitet anvendes LS_One
med en sandsynlighed på 70 % ellers LS_Two med en sandsynlighed på 30 %. Efter perturbation antages det
at LS_One anvendes. Denne antagelse skyldes tvetydige informationer i Hasle et al. [24], her beskrives det at
LS_One anvendes efter perturbation, men pseudokoden anvender LS_Full.
3.3. ADAPTIVE ITERATED LOCAL SEARCH 31
Til godkendelse af nye løsninger forsøger Hasle et al. [24] sig med både Simple Improvement og Treshold
Accepting. Treshold Accepting blev præsenteret af Dueck et al. [29] i 1990, og er et acceptkriterie der modsat
simpel forbedring tillader Hill-Climbing. Grundet bedre resultater anvendes simpel forbedring frem for Treshold
Accepting.
3.3.3 Adaptive Large Neighborhood Search
ALNS blev de�neret af Ropke et al. [70] i 2006 (algoritme 15), og er en generalisering af LNS præsenteret
i sektion 2.4.1.7, hvor en stor mængde variable modi�ceres i hver iteration. Foruden den klare sammenhæng
med LNS, er ALNS også inspireret af strategien Ruin and Recreate eller Ripup and Reroute præsenteret af
henholdsvis Schrimpf et al. [73] i 2000 og Dees et al. [22].
s← Initialløsning
s∗ = s
πj = (1, . . . , 1)
while Stopkriterie = Falsk doVælg Destructor n− ← N− ud fra scoren π
Vælg Constructor n+ ← N+ ud fra scoren π
s′ ← n+(n−(s))
if Acceptkriterie = Sandt thens = s′
end
Opdater scoren πjif f(s) < f(s∗) then
s∗ = s
end
end
Algorithm 15: Pseudokode for Adaptive Large Neig-
hborhood Search
ALNS er en lokalsøgningsstruktur hvor et antal
operatorer konkurrerer med hinanden om at modi�-
cere den nuværende løsning s. I hver iteration vælges
en Destruktor -operator n− til at ødelægge den nuvæ-
rende løsning og en Constructor -operator n+ vælges
til at genopbygge en kandidatløsning fra den ødelagte
løsning. Baseret på tidligere præstationer af operato-
rerne kontrollerer et adaptivt lag stokastisk hvilken
operator eller hvilket nabolag der udvælges. Kandi-
datløsningen s′ accepteres som den nuværende løsning
hvis den opfylder et acceptkriterie [65].
Når en operator bidrager positivt i løsningspro-
cessen tillægges den en højere score πj , og får derved
større sandsynlighed for at blive udvalgt efterfølgen-
de. Der �ndes mange metoder til at måle bidraget fra
en operator i løsningsprocessen, hvor en ny bedste løs-
ning er en der naturligt giver en høj score. Scorerne
πj er nulstillet efter et givet antal iterationer, og ope-
ratorerne kan konkurrere forfra. Det adaptive lag anvender Roulette Wheel Selection til udvælgelse af operatorer
i forhold til deres individuelle score. Det understreges at Destructor -operatoren og Constructor -operatoren væl-
ges uafhængig af hinanden. Sandsynligheden for at en operator udvælges kan beregnes som i ligning (3.36). Lad
her m = {1, . . . , j} betegne sættet af operatorer hvor hver operator j har tilknyttet en score πj .
πj∑i∈m
∀ j ∈ m (3.36)
I tilfælde hvor nogle operatorer beregningsmæssigt er signi�kant langsommere end andre kan scoren π nor-
maliseres ved at anvende et mål for beregningstiden, hvilket sikrer en god afvejning mellem beregningstid og
løsningskvalitet [65].
Ropke et al. [65] anvender i deres implementering af ALNS en række Destructor -opertorer og Constructor -
operatorer som kort præsenteres. En Destructor -opertor tager den nuværende løsning s som input og giver q
anmodninger som er fjernet fra den nuværende løsning som output. En Constructor -opertor tager q anmodninger
som er fjernet fra den nuværende løsning som input og giver en kandidatløsning som output.
• Random Destructor: Fjerner tilfældigt q anmodninger fra den nuværende løsning s.
• Worst Destructor: Fjerner iterativt de q anmodninger fra den nuværende løsning s som minimerer
objektfunktionen mest ved fjernelse.
32 KAPITEL 3. ANVENDT TEORI
• Related Destructor: Fjerner iterativt de q anmodninger fra den nuværende løsning s som har en relation
til den foregående anmodning der blev taget ud. Relationen er et udtryk for distancen mellem foregående
fjernet anmodning og kandidatanmodningen.
• Cluster Destructor: En variant af Related Destructor. q anmodninger fjernes fra speci�cerede ruter i
den nuværende løsning s som har en relation til hinanden og derved danner en klynge, relationen er et
udtryk for distancen mellem anmodningerne.
• Time-Oriented Destructor: En variant af Related Destructor. Fjerner iterativt q anmodninger fra den
nuværende løsning s som har en relation til den foregående fjernede anmodning. Relationen er her de�neret
som forskellen i serviceringstidspunkterne for den foregående fjernede anmodning og kandidatanmodnin-
gen.
• Historical Node-Pair Destructor: Fjerner iterativt q anmodninger fra den nuværende løsning s hvor
de indfaldende kanter til anmodningen historisk set ikke har haft ind�ydelse på nye bedste løsninger.
• Historical Request-Pair Destructor: Fjerner iterativt q anmodninger fra den nuværende løsning s
som har en relation til den den anmodning der senest blev fjernet, hvor relationen er et udtryk for at
anmodningerne historisk set har ligget på samme rute og derved har ind�ydelse på nye bedste løsninger.
• Greedy Constructor: Indsætter iterativt q anmodninger i kandidatløsningen s′. I hver iteration ind-
sættes den anmodning hvis position i kandidatløsningen maksimerer objektfunktionen mest i forhold til
indsættelse af de resterende anmodninger.
• Regret Constructor: Indsætter iterativt q anmodninger i kandidatløsningen s′. I hver iteration indsættes
den anmodning hvis bedste og næstbedste position i kandidatløsningen maksimerer forskellen mellem
objektfunktionsværdierne for de to positioner.
En modi�ceret udgave af ALNS anvendes som komponent i AILS af Hasle et al. [24], motiveret af at
imødekomme MCGRP. En selvtilpasning af ALNS opnås gennem en læringsprocess hvor operatorer i tidligere
iterationer belønnes ud fra et succeskriterie. I den modi�cerede udgave af ALNS baseres læringsprocessen på
succes af operatorpar, og ikke den enkelte operator. Yderligere nulstilles belønningen eller scoren π kun i nogle
Figur 3.2: Gra�sk illustration af søgeproces-
sen Breadth First [44]
problemtilfælde efter et givet antal iterationer. Hasle et al. [24]
har påvist at nulstilling af scoren vil forringe præstation af AILS
for store problemtilfælde. Derfor introduceres en grænseværdi for
størrelsen af problemtilfældet hvor over en nulstilling af scoren
undlades.
Hasle et al. [24] anvender i den modi�cerede udgave af ALNS,
�re Destructor -operatorer og tre Constructor -operatorer, alle til-
passet MCGRP. Foruden førnævnte operatorer (Random De-
structor, Worst Destructor, Related Destructor, Greedy Con-
structor og Regret Constructor) præsenterer de Task Destructor,
Tree-Destructor og Random Constructor. Det viste sig at Task
Destructor -operatoren er over�ødig, og derfor er denne eksklu-
deret [24]. De to nye operatorer, Tree Destructor og Random Constructor, beskrives kort.
• Tree Destructor: Fjerner iterativt q anmodninger fra den nuværende løsning s ved anvendelse af sø-
geprocessen Breadth First. Søgningsprocessen er illustreret i �gur 3.2 og udvælger en tilfældig rod-knude
undersøger herefter alle naboknuder før næste niveau af knuder er undersøgt. Søgeprocessen er stoppet
når den indeholder q anmodninger.
• Random Constructor: Indsætter iterativt q anmodninger i kandidatløsningen s′ tilfældigt.
Kapitel 4
Emperi
I dette kapitel vil det udleverede datagrundlag introduceres. Herefter vil stamdata og væsentlige antagelser
indrages og beskrives. Slutteligt vil den anvendte databehandlingen beskrives. Resultatet af databehandlingen
er det endelige datagrundlag og betragtes derfor ikke som en del af den endelige løsningsmetode.
4.1 Datagrundlag
Datagrundlaget består af tre �ler, OriginalGraphNetwork.xlsm, OriginalCustomerInformation.xlsm og
OriginalDistanceMatrix.xlsm, disse kan �ndes i bilag 2 - Datagrundlag. De er genereret af Reno Djurs
samt tidligere specialestuderende, og indeholder stamdata for kunder og vejnetværket, dette omfatter bl.a.
adresser og beholdertype. Reno Djurs' indsamlingsområde er opdelt i fem, hvor stamdataene er begrænset til
Syddjurs Øst, som tidligere dækkede Ebeltoft Kommune og nu betegnes som Syddjurs Øst. Det data som �ndes
relevant er lagt på databasen og kan ligeledes �ndes i �lerne OriginalData.xlsx og OriginalData.bak i bilag
2 - Datagrundlag).
4.2 Databeskrivelse og -antagelser
I denne sektion vil relevant stamdata og væsentlige antagelser beskrives. Disse vil anvendes fremadrettet i
implementeringen af løsningsmetoden.
4.2.1 Vognpark
Vognene i den nuværende dagrenovation består af et sæt heterogene vogne målt på kapacitet og størrelse. Baseret
på disse egenskaber er de anvendt til at servicere forskellige områder af Syddjurs Øst. Set fra et ruteplanlæg-
ningssynspunkt er dette ikke hensigtsmæssigt, og det antages derfor i den alternative dagrenovation at vognene
er homogene målt på kapacitet og størrelse samt kan servicere alle områder af Syddjurs Øst [83].
En kapacitet på 7.000 kg og 17 m3 antages ifølge Reno Djurs til at være repræsentativ for et sæt af homogene
vogne [46]. Derfor antages dette for det homogene sæt vogne.
Måleenheden vil i denne afhandling være i rumfang, ikke i vægt. Dette er valgt da denne måleenhed er den
begrænsende faktor i forhold til det kapaciteten på vognene. Massefylden for resta�ald og organisk a�ald er
ifølge Reno Djurs på henholdsvis 8 og 25 kg per 100 L [46]. Vægten for 17 m3 resta�ald og organisk a�ald vil
være henholdsvis 1.360 kg og 4.250 kg, hvilket er langt under kapaciteten på 7.000 kg, og dermed er de 17 m3
den begrænsende faktor på kapaciteten.
Vognene har en komprimeringsfaktor på henholdsvis 5 for resta�ald og 1 for organisk a�ald. Komprimerings-
faktoren beskriver forholdet mellem a�aldets rumfang før og efter det er komprimeret i vognen [46]. Gennem-
snitshastigheden for traversering og servicering er henholdsvis 60 km/t og 40 km/t, og antages at gælde uanset
hvilket område der traverseres eller serviceres i Syddjurs Øst.
33
34 KAPITEL 4. EMPERI
Når en vogn servicerer en kant i den alternative dagrenovation, serviceres efterspørgslen på begge sider af
kanten. En serviceringskant vil derfor kun serviceres en gang, men kan serviceres i begge retninger.
4.2.2 Afstandsmatricer
Distancematricen i datagrundlaget er konstrueret med et Geographic Information System (GIS) og Dijkstras
algorithm [25]. GIS er en type software som anvendes til at fremstille et grafnetværk baseret på et geogra�sk
vejnetværk. I grafnetværket repræsenterer en kant ikke nødvendigvis en vej, men oftest en mindre del af en
denne. GIS fremstiller en knude for hver drejning i et vejnetværk, og dermed består en vej, hvis den drejer, af
�ere kanter. Grafnetværket fremstillet af GIS bestod først af 7.553 knuder og 8.865 kanter, og ved anvendelse af
Dijkstras algorithmberegnes den korteste distance mellem alle knuderne. Grafnetværket blev herefter modi�ceret
og reduceret til 5.655 knuder og 6.402 kanter ved at ekskludere følgende traverseringskanter:
• Blinde kanter
• Loop kanter
• Parallelle kanter
• Kanter som ikke anvendes i Dijkstras algorithm
Dette grafnetværk danner datagrundlag for afhandlingens afstandsmatrix. Dog ønskes det at måle afstanden
i tid, ikke afstand, og derfor er afstanden konverteret til tid ved at beregne to tidsmatricer ud fra afstands-
matricen; en for traversering og en for servicering. De to tidsmatricer er omregnet fra distancematricen ved
brug af gennemsnitshastigheden for henholdsvis traversering og servicering, hvor en tidsstraf på 20 sekunder
per anmodning er lagt til serviceringsmatricen. Tidsmatricerne reduceres yderligere med Topology Aggregation
hvilket er beskrevet i sektion 4.3.1.
4.2.3 Efterspørgsel
Efterspørgslen er en anmodning fra kunderne om at få afhentet a�ald bestående af fraktionerne resta�ald og
organisk a�ald. I datagrundlaget er efterspørgslen ikke angivet eksplicit og må derfor antages at være et estimat
af de valgte beholderstørrelser. Yderligere er efterspørgslen i den alternative ordning opdelt i to fraktioner,
resta�ald og organisk a�ald, og derfor skal disse estimeres separat. Det organiske a�ald er i den nuværende
nuværende dagrenovation en del af resta�aldet, og det er derfor nødvendigt at estimere andelen af organisk
a�ald i resta�aldet for at kunne estimere mængden af organisk a�ald i den alternative ordning. Ved anvendelse
af fraktionernes procentvise vægtandel fra den nuværende ordning som vist i tabel 1.2, kan den procentvise
vægtandel af det organiske a�ald i resta�ald estimeres. A�aldssammensætningen i dagrenovationen er opdelt
i fem fraktioner, resta�ald, organisk, papir, glas og mindre fraktioner. Da glas og papir allerede kildesorteres,
antages det at det samlede resta�ald indsamlet i dagrenovationen omfatter fraktionerne resta�ald, organisk
a�ald og mindre fraktioner, dvs. 71 % (tabel 1.2). Den procentvise vægtandel for fraktionen organisk a�ald i
dagrenovationen er 38 %, og dermed er den procentvise vægtfylde for organisk a�ald 38 %71 % ≈ 54 % af vægtandelen
i det samlede resta�ald, mens de resterende 46 % er resta�ald. Både a�aldsbeholdere og vognens kapacitet er
målt i rumfang, og derfor skal vægtandelen konverteres til en rumfangsandel. Resta�ald og organisk a�ald har
en massefylde på henholdsvis 8 og 25 kg per 100 L, og a�aldsbeholdere har en fyldningsgrad på 75 % [48].
Disse informationer danner udgangspunkt for en lineær programmeringsmodel udviklet i Microsoft Excel og
løst med tilføjelsesprogrammet Problemløser, �len X - LineærPrammeringsmodel.xlsx kan �ndes i bilag 3
- Efterspørgsel. Ifølge den lineære programmeringsmodel består rumfanget af en a�aldsbeholder af 55 %
resta�ald og 20 % organisk a�ald hvilket bruges som mål for efterspørgslen.
Det antages at efterspørgsel kun eksisterer på hverdage, da dagrenovation kun indsamles på hverdage. Så-
fremt en helligdag falder på en hverdag, antages det at den alternative dagrenovation er upåvirket af dette.
4.2. DATABESKRIVELSE OG -ANTAGELSER 35
Derudover antages det at det estimerede a�ald følger en normalfordeling med en standard afvigelse på 5 % af
efterspørgslen. Dette forudsætter at efterspørgslen er konstant, og der tages dermed ikke højde for sæsonvaria-
tioner.
4.2.4 Beholdere
I den nuværende dagrenovation har hver kunde sammensat et personligt antal beholdere med varierende størrelse
som er tilknyttet sin lokation. Grundet kildesorteringen af det organiske a�ald vil dette se anderledes ud i den
alternative ordning. Det antages at kunderne har ansvaret for at tilpasse denne sammensætning således at det
passer til den estimerede efterspørgsel for de to fraktioner.
Datagrundlaget indeholder muligheden for en beholderstørrelse på 110 liter, denne er blevet udfaset i 2014
og erstattet med en beholder på 140 liter. Det antages at efterspørgslen ikke ændres, og er derfor beregnet på
baggrund af en beholder på 110 liter.
Det antages at ved indfasning af den alternative dagrenovation vil være obligatorisk for alle kunder at
modtage to beholdere, én til resta�ald og én til organisk, og at disse ved indsamling er placeret på vejnetværket
udenfor kundens private grund. Derudover antages det at en beholder, uanset størrelse, type og fyldningsgrad
kan serviceres på 20 sekunder og har en fyldningsgrad på 75 %.
4.2.5 Anmodninger
Det har i den nuværende dagrenovation været muligt for kunderne at have én eller to anmodninger hver uge, eller
en anmodning hver anden uge. To anmodninger hver uge vil medføre en større kompleksitet i løsningsmetode, og
da det vurderes ikke at have signi�kant forskel på resultatet, modi�ceres de 12 kunder som har to anmodninger
hver uge til at have én anmodning hver uge med dobbelt efterspørgsel.
4.2.6 Kunder
Den nuværende ordning serviceres anmodninger fra 3 typer af kunder, hvilket i denne afhandling er boligtyperne
etageejendomme, hustande og sommerhuse. De økonomiske omkostninger som er forbundet med servicering af
anmodninger fra sommerhuse er sæsonbetonede, og derfor vil resultatet kun kunne generaliseres til de få uger
hvor der er servicering af anmodninger fra sommerhuse. Dette vurderes til at give et dårligt sammenlignings-
grundlag i forhold til afhandlingens problemstilling, og derfor afgrænses afhandlingen til ikke at inkludere denne
type kunder.
Det antages at kunderne modtager information omkring sortering af a�ald, og dermed har tilegnet sig den
nødvendige viden for at kunne sortere a�aldet korrekt.
4.2.7 Chau�ører
Chau�ørerne udfører arbejdet på akkord, og derfor antages det at kørselslederen fordeler ruterne mellem chauf-
førerne således at de overholder hovedreglerne for den gældende overenskomst.
I den nuværende dagrenovation er der en tendens til at chau�ørerne samler efterspørgslen i længere ruter,
for på den måde at forkorte arbejdsugen. I den alternative ordning antages det at en chau�ør er til rådighed
38 timer per uge fordelt på de fem hverdage, hvor chau�øren er til rådighed til indsamling af dagrenovation
7,5 timer om dagen. Det vurderes at sideopgaver i forbindelse med indsamlingen af dagrenovation kan udføres
indenfor den normale arbejdstid, hvilket omfatter pligter i forbindelse med rutestart og slut.
4.2.8 Ruter
I datagrundlaget antages det at ruter skal starte på en holdeplads ved Bysvinget 1, Ebeltoft, og slutte ved
behandlingsanlægget i Glatved. Dette er en forudsætning da Miljø Team A/S, som står for indsamlingen af
36 KAPITEL 4. EMPERI
dagrenovationen, i 2008 vandt udbuddet for Syddjurs Øst med virkning fra 1. januar 2009. Kontrakten blev
udbudt for en periode på 4 år med mulighed for forlængelse i op til 3 år. Muligheden for kontraktforlængelse blev
anvendt i 2012, hvorefter kontrakten ophører med udgangen af 2015. Den nuværende udbudsrunde gennemføres
i skrivende stund, og det kan derfor ikke antages at det vil være Miljø Team A/S som fremadrettet vil stå
for indsamlingen af dagrenovation [45]. Det er derfor besluttet at analysen gennemføres med den antagelse at
ruterne både starter og slutter ved behandlingsanlægget i Glatved uafhængig af hvem der vinder udbudsrunden.
Ruterne vil ikke tage hensyn til midlertidige begrænsninger i grafnetværket som f.eks. vejrforhold, vejarbejde
og tra�ktæthed.
4.2.9 Omkostninger
Der antages at være et lineært forhold mellem traverseringstiden og omkostningerne. Derudover antages det
at den totale serviceringstid er konstant, hvilket også er gældende for de tilhørende omkostninger. Da disse
omkostninger er konstante, er de irrelevante for afhandlingens problemstilling, og disse falder derfor udenfor
afgrænsningen. Afhandlingen afgrænses til omkostninger forbundet med indsamlingen af dagrenovation som
kun ligger i selve indsamlingenprocessen, dette omfatter derfor ikke omkostninger til planlægning, forberedelse,
a�æsning, videretransport m.m. Ydermere ligger direkte og inddirekte omkostninger som er a�edt af de to
scenarier udenfor selve indsamlingsprocessen udenfor afgrænsningen. Disse omkostninger syntes ikke at afvige
fra hinanden i de to scenarier, og bidrager derfor kun med yderligere kompleksitet i valg af scenarie.
4.3 Databehandling
Datagrundlaget er blevet behandlet ad �ere omgange for at reducere problemstillingen og tilpasse dataene til
løsningsmodellen. Dette er gra�sk illustreret i �gur 4.1. Datagrundlaget er først blevet behandlet med Topology
Aggregation som beskrives i sektion 4.3.1, og herefter tilpasset til løsningsmodellen.
Figur 4.1: Gra�sk repræsentation af Databehandlingen.
Filerne som danner datagrundlaget kan �ndes i bilag 2 - Datagrundlag, �lerne med data behandlet af
Topology Aggregation kan �ndes i bilag 4 - TopologyData og �lerne med data tilpasset løsningsmodellen kan
�ndes i bilag 5 - ModelData. Det understreges at alle knuder som ikke er tilknyttet en anmodning er ekskluderet
fra datasættene for at reducere tilfældet yderligere. Data der er tilpasset løsningsmodellen beskrives kort for at
give et overblik over hvordan data i løsningsmodellen er struktureret.
Hver anmodning har tilknyttet et anmodnings id, knude id'er, servicetider, efterspørgselsmængder, service-
ringskombinationer og venner. Anmodningens id anvendes til at kunne spore det underliggende data i Topology
Representation. En anmodning er altid knyttet til to knuder, i tilfælde af at anmodningen er placeret i en knude,
er de to id'er ens. Topology Aggregation gør at serviceringstiden og efterspørgselsmængden ofte varierer mellem
de to uger, og der er derfor knyttet en servicetid og efterspørgselsmængde til hver uge. Kombinationerne holder
orden på hvilken periode serviceringen kan foregå, og i de tilfælde hvor der serviceres i begge uger, at service-
ringen udføres på den samme ugedag. Venner repræsenterer de 50 nærmeste anmodninger, hvilket er inkluderet
for at kunne optimere operatorernes søgeevne.
Sættet med homogene vogne har tilknyttet kapacitet og chau�ørrådighed. Gennemsnitshastigheder er ikke
speci�cerede da disse på forhånd er anvendt til at generere afstandsmatricer. Afstandsmatricerne er bestående
af to traverseringsmatricer, en serviceringssmatrix og en distancematrix.
4.3. DATABEHANDLING 37
4.3.1 Topology Aggregation
Da litteratur omhandlende Topology Aggregation indenfor ruteplanlægning er begrænset, præsenteres her en
Topology Aggregation metode udviklet til denne afhandling hvor Topology Representation oftest vil resultere
i et MCGRP. Metoden indeholder tre elimineringstrin i hver iteration, Dead End, Road Segment og Loops.
Algoritmen itererer indtil et afslutningskriterie er nået. En gra�sk illustration af Topology Aggregation kan ses i
�gur 4.2. I hvert trin aggregeres efterspørgsel, serviceringstid og traverseringstid ind i enten knuder eller kanter.
Afslutningskriteriet er nået når aggregering ikke har fundet sted i nogle af de tre elimineringstrin. Aggregeringen
kan være betinget af grænseværdier for efterspørgsel eller afstand, hvilket dog ikke blev anvendt da aggregeringen
aldrig kom tæt på at nå begrænsningerne.
Figur 4.2.a illustrerer en Topology Representation som endnu ikke er blevet aggregeret, knuder er illustreret
ved punkter og kanter er mellem knuderne. Figur 4.2.b illustrerer en Topology Representation efter elimine-
ringstrinnet Dead End, hvor kanter med en endeknude der kun har en enkelt tilstødende kant aggregeres ind
i en endeknude med �ere tilstødende kanter. Traverseringstiden i dette trin aggregeres to gange, da der både
skal traverseres frem og tilbage. Figur 4.2.c illustrerer en Topology Representation efter elimineringstrinnet Road
Segment, hvor kanter aggregeres ind i en ny kant, når de deler en endeknude som kun har to tilstødende kanter.
Figur 4.2.d illustrerer en Topology Representation efter elimineringstrinnet Loops, her aggregeres kanten ind i
endeknuden, når endeknuderne er ens. Figur 4.2.e-f illustrerer næste iteration, hvor efterspørgsel, serviceringstid
og traverseringstid fra Figur 4.2.a slutteligt er aggregeret ind i en kant. Med denne metode er det vigtigt at
ordne rækkefølgen løbende på det underliggende data, specielt når størrelsen på tilfældet reduceres markant.
Figur 4.2: Gra�sk repræsentation af Topology Aggregation.
Topology Aggregation metoden er implementeret i Microsoft programmeringssproget Visual Basics for Ap-
plications og kan �ndes i �len TopologyAggregation.xlsm i bilag 4 - TopologyData. Metoden reducerer
tilfældet fra 6.538 knuder til 1.416, hvilket må siges at være en markant reduktion. Topology Representation
er visualiseret i �len TopologyRepresentation.png i bilag 4 - TopologyData, som ligeledes giver et over-
blik over vejnetværket for Syddjurs Øst. Topology Representation er lagt på database og kan �ndes i �lerne
TopologyRepresentation.bak og TopologyRepresentation.xlms i bilag 4 - TopologyData.
Kapitel 5
Løsningsprocedure
I dette afsnit redegøres der for løsningsproceduren, hvilket omfatter implementeringen af løsningsmetoden AILS i
programmeringssproget Visual Basics for Applications (VBA). Da anvendelsen af VBA har haft konsekvenser for
implementeringen af AILS, redegøres der for valget af dette programmeringssprog og hvilke modi�kationer der er
lavet for at minimere e�ekten af VBA på løsningskvaliteten. Herefter redegøres der for selve implementeringen af
AILS med udgangspunkt i scenarie 1. Scenarie 1 er en generalisering af scenarie 2, og derfor er løsningsproceduren
udviklet med udgangspunkt i scenarie 1.
5.1 Visual Basics for Applications
Valget af programmeringssprog til implementering af en løsningsmetode til det teoretiske ruteplanlægningspro-
blem var en afvejning mellem programmeringssprog og løsningsmodel. VBA præsterer dårligt i forhold til de
programmeringssprog som anvendes i litteraturen, og indlæring af et andet programmeringssprog blev derfor
overvejet. Dette ville dog få den konsekvens at en mindre kompleks løsningsmetode end AILS skulle anvendes
pga. indlæringstiden af programmeringssproget, samt at overblikket nemt kan mistes ved implementeringen af
en løsningsmodel til kombinatorisk optimering i et nyt programmeringssprog. Valget af løsningsmetoden AILS
blev vurderet til at vægte højere end implementeringen i et højt ydende programmeringssprog. Det noteres
derfor at løsningsmetoden ikke vil præstere på samme niveau som i Hasle et al. [24].
Grundet valg af programmeringssprog, har det været nødvendigt at ændre nogle af operatorerne da bereg-
ningstiden for dem i den oprindelige løsningsmetode var for høj. Disse operatorer vil ikke søge så dybt som
oprindeligt tiltænkt, hvilket er specielt gældende for operatorne i ALNS. Det forsøges i LS at optimere opera-
torne ved at kombinere to operatorer, således at et nabolag med løsninger af høj kvalitet undersøges yderligere
ved at anvende Move eller Flip. Ydermere har alle anmodninger fået tilknyttet de 50 nærmeste anmodninger,
hvilke betegnes som venner, for at målrette søgningen mod nabolag som man på forhånd har høj forventning
til. Ligeledes anvendes dette også for at minimere beregningstiden ved at undgå de nabolag som man har en lav
forventning til.
De anbefalede parameterindstillinger i Hasle et al. [24] er ligeledes blevet modi�ceret, grundet valget af
programmeringssprog, dog har tilfældets størrelse også en stor medvirken hertil.
5.2 Implementeret Løsningsmetode
Her redegøres for den implementerede løsningsmetode, som kan �ndes i AdaptiveIterativeLocalSearch.xlsm
i bilag 6 - ImplementeretLøsningsmetode. Løsningsmetoden følger overordnet den struktur som er beskrevet
i sektion 3.3 og vist i algoritme 12 og gentages derfor ikke her. Fokus vil ligge på løsningsmetodens supplerende
betingelser og de mekanismer som er inspireret fra andre løsningsmetoder. Disse er tilpasset for at imødekomme
det teoretiske ruteplanlægningsproblem og valget af programmeringssprog.
38
5.2. IMPLEMENTERET LØSNINGSMETODE 39
En redegørelse for den implementerede løsningsmetodes parametre, de øvrige mekanismer samt de tilhørende
indstillinger �ndes i kapitel 6, der omhandler tuningen af disse parametre og mekanismer. For enkelthedens skyld
holdes redegørelsen for valg af indstillinger for den implementerede og tunede løsningsmetode samlet.
5.2.1 Supplerende betingelser
Det er nødvendigt at modi�cere dele af AILS algoritmen pga. af tre betingelser som ikke er med i den oprindelige
algoritme af Hasle et al. [24], men som er nødvendige for at løse det teoretiske ruteplanlægningsproblem. De
tre betingelser vedrører afstand, periodisering og stokastisk efterspørgsel. Det undersøges om betingelserne
vedrørende afstand og stokastisk efterspørgsel er overholdt når gennemførligheden af et løsningsforslag beregnes,
mens periodiseringen overholdes når mekanismerne i sektion 5.2.2 - 5.2.4 anvendes på løsningsforslaget.
Afstandsbetingelsen beskrives i sektion 3.1.1 (ligning 3.1). Den begrænser ruternes udførselstid således at
rådighedstiden for chau�ørerne ikke overskrides. I det teoretiske ruteplanlægningsproblem er det ofte denne
betingelse der begrænser ruternes længde, ikke kapacitetsbetingelsen.
Når efterspørgslen i det teoretiske ruteplanlægningsproblem er givet stokastisk, beskrives kapacitetsbetingel-
sen som i sektion 3.1.2 (ligning 3.2). Det antages at efterspørgslen følger en normalfordeling, og at ruterne kun er
gennemførlige ved et signi�kansniveau på 95 %. Dette betyder, at det med 95 % sandsynlighed kan siges at kapa-
citetsbetingelsen ikke overskrides. Et simpelt eksempel på hvordan denne er beregnet og implementeret i den tu-
nede løsningsmetode kan �ndes i �len StokastiskEfterspørgsel.xlsm i bilag 7 - SupplerendeBetingelser.
Periodiseringsbetingelsen beskrives i sektion 3.1.3 (ligning 3.3 - 3.18). Der optimeres over 10 perioder i det
teoretiske ruteplanlægningsproblem, hvilket beskriver to uger med fem arbejdsdage. Dog er efterspørgslen i de
10 perioder delt på to fraktioner, og det er derfor nødvendigt at behandle de to fraktioner i to sæt af 10 perioder.
Synkroniseringen af anmodningerne i disse to sæt er forskellen på de to scenarier, og derfor var det nødvendigt
at opdele dem i sæt af 10.
5.2.2 Augment-Merge
Den implementerede udgave af Augment-Merge er modi�ceret i forhold til den der blev præsenteret i sek-
tion 3.3.1. Det første trin, initialløsning, udføres i overenstemmelse med den oprindelige algoritme. Hver an-
modning er placeret i sin egen rute, hvor afstanden til depotet er de�neret ved afstanden til hver af endeknuderne.
Det andet trin, Augment, er modi�ceret i forhold til den oprindelige algoritme for at tilpasse sig Topology Rep-
resentation. Anmodningerne er rangeret efter faldende afstand, og det undersøges herefter om anmodninger fra
højere rangerede ruter kan serviceres på lavere rangerede ruter. I algoritmen af Golden et al. [38] undersøges
dette ved at acceptere højere rangerede ruter når serviceringskanterne er i overensstemmelse med traverserings-
kanterne i den lavere rangerede rute. Dette er grundet Topology Aggregation ikke muligt, og derfor er det valgt
at anvende et acceptkriterie baseret på traverseringstiden af den lavere rangerede rute. Såfremt den samlede
traverseringstid ikke forringes ved accept gennemføres indlemmelsen. Denne modi�cering er nødvendig, men
ændrer også algoritmen markant fra udgangspunktet. Det tredje trin, Merge, indrages på sin vis i det andet
trin, Augment, hvilket også kan være årsagen til at Merge har svært ved at �nde forbedringer. Denne imple-
mentering af Augment-Merge minder i høj grad om Savings Algorithm af Clarke et al. fra 1964 [17]. Algoritmen
er implementeret i VBA og kan �ndes i �len AugmentMerge.xlsm i bilag 8 - AugmentMerge.
5.2.3 Local Search
Den implementerede udgave af LS er modi�ceret i forhold til sektion 3.3.2 og består af i alt fem operatorer
som er tilpasset det teoretiske ruteplanlægningsproblem; en variant af Swap-Move, to varianter af 2-Opt og to
varianter af 3-Opt.
Operatorer kategoriseres her ud fra to kriterier; om de kan operere med anmodninger på tværs af perioder
og om de opererer på én periode ad gangen eller alle perioder på én gang. Inter-periode operatorer kan operere
40 KAPITEL 5. LØSNINGSPROCEDURE
med anmodninger på tværs af perioder, hvor intra-periode operator kun opererer med anmodninger indenfor én
periode. Det fremhæves at en inter-periode operator godt kan operere med anmodninger indenfor én periode,
mens en intra-periode operator ikke har muligheden for at operere på tværs af perioder. En operator som
iterativt opererer på alle perioder de�neres som multi-periode operator, hvor en operator som kun opererer
indenfor én eller to perioder betegnes som single-periode operator. Operatoren Swap-Move �ndes i varianten
inter/multi-periode, 2-Opt �ndes i varianterne intra/single-periode og intra/multi-periode, og 3-Opt �ndes i
varianterne intra/single-periode og intra/multi-periode.
• Swap-Move: Swap-Move er en operator som kombinerer Swap ogMove. Swap efterprøver ombytningen af
to anmodninger. Hvis de to anmodninger efter udvekslingen ville komme til at have to naboanmodninger
der er deres venner, efterprøves udvekslingen. Hvis løsningen efter udvekslingen forbedrer traverserings-
omkostningerne accepteres den. På et accepteret Swap anvendes herefter Move som efterprøver om en
uafhængig �ytning af de udvekslede anmodninger enten en position frem eller tilbage på ruten kan for-
bedre traverseringsomkostningerne. Hvis dette er tilfældet �yttes anmodningerne.
• 2-Opt-Flip: 2-Opt-Flip er en operator som kombinerer 2-Opt og Flip. 2-Opt efterprøves som beskrevet
i sektion 3.3.2, dog kun når �ertallet af anmodningerne tilknyttet brydningspunkterne er venner, og
accepteres kun når traverseringsomkostningerne i den nuværende løsning forbedres. Når dette er tilfældet,
anvendes Flip som efterprøver om et retningsskift på de anmodninger som er tilknyttet brydningspunkterne
kan forbedre traverseringsomkostningerne. Er dette tilfældet accepteres Flip.
• 3-Opt-Flip: 3-Opt-Flip er en operator som kombinerer 3-Opt (sektion 3.3.2) og Flip på samme måde som
2-Opt-Flip.
Som i den oprindelige løsningsmetode er LS i den implementerede løsningsmetode anvendt i tre funktio-
ner, LS_Full, LS_One og LS_Two. Funktionen LS_Full anvender Swap-Move, 2-Opt-Flip i intra/multi-
periode variationen og 3-Opt-Flip i intra/multi-periode variationen. Funktionen LS_One er udvidet til både
en single-periode og en multi-periode variation. Single-periode variationen af LS_One anvender 2-Opt-Flip
som intra/single-periode variation, mens multi-periode variationen af LS_One anvender Swap-Move, 2-Opt-
Flip i intra/multi-periode variationen. Funktionen LS_Two er ligeledes udvidet til både en single-periode og
en multi-periode variation. Single-periode variationen af LS_Two anvender 3-Opt-Flip i intra/single-periode
variationen, mens multi-periode variationen anvender Swap-Move, 3-Opt-Flip i intra/multi-periode variationen.
Single- eller multi-periode LS_One eller LS_Two vælges til at matche operatorparret der blev valgt i
funktionen ALNS_Roulette. Dog undersøges e�ekten af en krydsning af variationer mellem funktionerne i
sektion 6.3. Swap-Move er implementeret i både LS_One og LS_Two da det er den eneste inter-periode ope-
rator, og derfor har stor ind�ydelse på selve periodiseringen i løsningsforslaget. Sandsynligheden for anvendelse
følger Hasle et al. [24] med 70 % sandsynlighed for LS_One og 30 % sandsynlighed for LS_Two.
5.2. IMPLEMENTERET LØSNINGSMETODE 41
5.2.4 Adaptive Large Neighborhood Search
Den implementerede udgave af løsningsmetoden ALNS er som beskrevet i sektion 3.3.3, og gentages derfor ikke
her. De konkurrerende operatorpar i algoritmen er modi�cerede, og er beskrevet herunder. Implementeringen
af operatorerne består i alt af ni operatorer som tilsammen danner 20 operatorpar. De enkelte operatorer er
tilpasset det teoretiske ruteplanlægningsproblem, da beregningstiden for den oprindelige form af operatorerne
ikke betragtes indenfor hvad der �ndes som rimelig. Denne modi�cering �ndes nødvendig da benchmark til-
fældende som den oprindelige model er tunet på er væsentlig mindre end tilfældet for denne afhandling. For
at holde beregningstiden indenfor hvad der �ndes rimelig er følgende operatorer anvendt, Random Destructor,
Worst Destructor, Worst Deep Destructor, Related Destructor, Tree Destructor, Greedy Constructor, Greedy
Deep Constructor, Regret Constructor og Random Constructor. I implementering er alle operatorerne de�neret
i to varianter; inter/single-periode og inter/multi-periode.
• Random Destructor: Fjerner iterativt og tilfældigt k anmodninger i én (single) eller hver (multi) periode
fra den nuværende løsning.
• Worst Destructor: Fjerner iterativt de k anmodninger i én (single) eller hver (multi) periode fra den
nuværende løsning som minimerer objektfunktionen mest som følge heraf. En anmodning tages kun i
betragtning når begge naboanmodningerne ikke er anmodningens venner.
• Worst Deep Destructor: Som Worst Destructor, men en anmodning tages i betragtning uanset om
naboanmodningerne er anmodningens venner.
• Related Destructor: Fjerner iterativt de k anmodninger i én (single) eller hver (multi) periode fra den
nuværende løsning som har en relation til den foregående anmodning der blev taget ud, relationen er et
udtryk for distancen mellem den foregående fjernet anmodning og kandidatanmodningen. Sættet af venner
er rangeret efter stigende distance, hvilket bidrager til søgeprocessen af denne operator.
• Tree Destructor: Fjerner iterativt k anmodninger i én (single) eller hver (multi) periode fra den nuvæ-
rende løsning ved at anvende søgestrategien Breadth First på sættet af venner til at �nde k anmodninger.
• Random Constructor: Indsætter iterativt og tilfældigt k anmodninger den periode i kandidatløsningen
som anmodningen er fjernet fra.
• Greedy Constructor: Indsætter iterativt k anmodninger i den periode i kandidatløsningen som an-
modningen er fjernet fra. I hver iteration indsættes den tidligst fjernede anmodning i den position i
kandidatløsningen som maksimerer objektfunktionen mest.
• Greedy Deep Constructor: Indsætter iterativt k anmodninger i den periode i kandidatløsningen som
anmodningen er fjernet fra. I hver iteration indsættes den anmodning på den position i kandidatløsningen
som maksimerer objektfunktionen mest.
• Regret Constructor: Indsætter iterativt k anmodninger i den periode i kandidatløsningen som an-
modningen er fjernet fra. I hver iteration indsættes den anmodning hvis bedste og næstbedste position i
kandidatløsningen maksimerer forskellen mellem objektfunktionsværdierne for de to positioner.
Kapitel 6
Tuning
I dette kapitel redegøres for den anvendte tuningsproces, de involverede parametre og mekanismer samt de
tilfælde der vil anvendes i processen. Herefter beskrives de forudindstillede parametre og mekaniser inden selve
resultaterne i de forskellige trin præsenteres.
Tuningen af den implementerede løsningsmetode og den endelige løsningsmetodes beregninger af resultater i
kapitel 7 er programmeret i VBA og kørt på Intel Core i5 @2,10GHz med 8 GB hukommelse under et Windows
7 64-bit operativsystem i applikation Microsoft Excel 2010.
6.1 Tuningsproces
Tuningsprocessen i denne afhandling er inspireret af en procedure præsenteret af Coy et al. [20]. Proceduren
viser hvordan Statistical Design of Experiments kan anvendes til at �nde e�ektive parameterindstillinger for
heuristikker. Proceduren anvender en delmængde af tilfælde hvor gode parameterindstillinger for hvert tilfælde
er fundet og kombinerer dem herefter for at bestemme parameterindstillingerne for den samlede mængde tilfælde.
• Trin 1: En delmængde af tilfælde (Analysis, A) udvælges til at repræsentere hele mængden af tilfælde
(Set, S) (�gur 6.1). Udvælgelsen af tilfælde er baseret på de strukturelle forskelle i mængden af tilfælde,
således at repræsentationen ikke har en skævhed mod en bestemt type tilfælde.
• Trin 2: En initialværdi for hver parameter samt et interval hvor parameteren kan variere indenfor vælges.
Disse beslutninger kræver en vis forståelse for løsningsmetoden på speci�kke tilfælde. Såfremt denne
erfaring ikke er gjort på forhånd udføres et pilot studie på en delmængde af tilfælde (Pilot, P) udvalgt fra
(A) til give et estimat af initialværdien og intervallet for hver parameter.
• Trin 3: Der anvendes et Two-Level Factorial Design, hvor hver parameter tunes ved et højt og et lavt
niveau. Ved et lavt antal parametre anvendes ofte Two-Level Full Factorial Design som ofte forkortes 2k,
hvor k er antallet af parametre. Dette angiver antallet af kombinationer hvis hver parameter kan antage to
værdier. Da antallet af kombinationer stiger eksponentielt med antallet af parametre anvendes Two-Level
Fractional Factorial Design ofte ved et højt antal parametre og forkortes 2k − p, hvor p er antallet af
parametre som holdes konstant. Fraktionens størrelse er angivet som 1/2p, hvor f.eks. en kvart-fraktion
ved �re parametre, 24−2, kræver �re kombinationer. Efter alle kombinationer er afprøvet, anvendes lineær
regression på resultaterne for hver kørsel for at �nde en lineær approksimation af responsover�aden, hvor
respons for ruteplanlægningsproblemer er resultatet af objektfunktionen. Herefter beregnes en rute ved
anvendelse af Steepest Descent på responsover�aden, for at �nde de parameterindstillinger der minimerer
objektfunktionen. For hvert tilfælde i delmængden (A) er parametervektoren for det bedste forsøg gemt.
• Trin 4: Gennemsnittet af de gemte parametervektorer bestemmes og danner grundlag for de endelige
parameterindstillinger.
42
6.1. TUNINGSPROCES 43
Figur 6.1: Gra�sk repræsentation af mængder og del-
mængder af tilfælde, Pilot (P), Analysis (A) og Set
(S) [20].
I litteraturen anvendes benchmark tilfælde inden-
for den klasse af ruteplanlægningsproblemer som al-
goritmen forsøger at løse ofte som tilfælde til tuning
af modellen. I Hasle et al. [24] anvendes CBMix [67],
BHW [5] og DI-NEARP [5] indenfor MCGRP til at tune
parametrene i AILS. Disse benchmark tilfælde blev
overvejet til tuning af den implementerede løsnings-
metode, men da de ikke tager højde for kompleksitet
af den teoretiske problemstilling vil disse ikke blive an-
vendt. Der �ndes ikke andre benchmark tilfælde som
strukturelt ligger tættere på den teoretiske problem-
stilling end førnævnte benchmark tilfælde. Derfor er
en række tilfælde som vil danne grundlag for mæng-
den af tilfælde (S) blevet fabrikeret ved modi�kationer
på tilfælde 3 i tabel 6.1 da denne er identisk med Topology Representation. Modi�kationerne for de fabrikerede
tilfælde beskrives kort.
Tilfælde 1 er reduceret i forhold til antallet af anmodninger således at kun 60 % af det samlede antal
anmodninger er repræsenteret. Tilfælde 2 er ligeledes reduceret i forhold til antallet af anmodninger således
at kun 80 % af det samlede antal anmodninger er repræsenteret. Tilfælde 3 er en identisk repræsentation
af Topology Representation og vil derfor danne udgangspunkt for resultatafsnittet i kapitel 7. I tilfælde 4 er
a�aldsmængden i de to fraktioner reduceret med udgangspunkt i en halvering af gennemsnittet for den enkelte
fraktion i den enkelte periode. I tilfælde 5 er a�aldsmængden i de to fraktioner forøget med udgangspunkt
i en fordobling af gennemsnittet for den enkelte fraktion i den enkelte periode. I tilfælde 6 er efterspørgslen
for anmodningerne tilfældigt ombyttet, derfor karakteristika for tilfælde 3 og 6 i tabel 6.1 overordnet set ens. I
tilfælde 7 er kapaciteten for hver vogn i vognparken reduceret med 5.000 liter. I tilfælde 8 er kapaciteten for hver
vogn i vognparken forøget med 5.000 liter. I tilfælde 9 er chau�ørernes rådighedstid reduceret med halvanden
time, og i tilfælde 10 er chau�ørernes rådighedstid forøget med halvanden time.
Tilfælde 1 - 5 udvalgt som delmængden (A) til at repræsentere hele mængden af tilfælde (S). Denne del-
mængde er baseret på forskellige strukturer af tilfælde og afspejler hele mængden af tilfælde. Det har på forhånd
været muligt at danne en vis forståelse for løsningsmetoden da det er en generalisering af løsningsmetoden i
Hasle et al. [24]. Dog �ndes det alligevel nødvendigt at skabe forståelse for løsningsmetoden ved et pilot studie
og derfor anvendes tilfælde 3 som delmængden af tilfælde (P). I pilot studiet vurderes det at en tuning af alle
parametre og mekanismer i løsningsmodellen vil være for omfattende, og derfor fravælges en delmængde og
forudindstilles på baggrund af observationer i pilot studiet og resultater fra Hasle et al. [24]. Forudindstillede
parametre og mekanismer beskrives i sektion 6.2. Baseret på erfaringerne fra pilot studiet udvælges én mekanis-
me og �re parametre til at indgå i tuningsprocessen. Mekanismen er ALNS, eller mere speci�kt de operatorer
som ALNS anvender, og parametrene er Kmax, SCORE_RESET, KICK_COUNT og RUN_TIME. Parame-
teren RUN_TIME fastholder tidsbegrænsningen og anvendes i den booleske funktion TimeOut som sikrer at
beregningstiden ikke overskrides. RUN_TIME er målt i realtid, ikke CPU tid som i Hasle et al. [24].
Selve tuningsprocessen gennemføres i tre faser, hvor erfaringer omkring parametre og mekanismer fra den
forrige fase medtages i den næste. I første fase tunes alle operatorerne samt Kmax, dette beskrives i sektion 6.3.
I anden fase tunes SCORE_RESET og KICK_COUNT, dette beskrives i sektion 6.4. I tredje fase tunes
RUN_TIME, dette beskrives i sektion 6.4. De enkelte tuningsindstillinger bliver tildelt en normaliseret score for
hvert tilfælde i delmængden (A). Gennemsnittet af de normaliserede scorer for de enkelte tuningsindstillinger
vil danne grundlag for det endelige valg af parameterindstillinger. Gennemsnittet af de normaliserede scorer
anvendes, da det vurderes at lineær regression og Steepest Descent fra den præsenterede procedure af Coy et
al. [20] vil være for tidskrævende i forhold til behovet.
44 KAPITEL 6. TUNING
Uge
1Uge
2
Tilfælde
Anm
odninger
Kapacitet
Rådighedstid
Opsam
linger
Rest
Organisk
Opsam
linger
Rest
Organisk
(L)
(L)
(L)
(L)
(L)
1697
17.000
07:30:00
2.222
44.871
82.488
1.286
27.954
51.300
2929
17.000
07:30:00
3.566
75.248
138.274
2.175
50.409
92.472
31.162
17.000
07:30:00
4.984
106.585
195.852
3.433
78.855
144.704
41.162
17.000
07:30:00
4.984
47.554
87.792
3.433
34.572
64.574
51.162
17.000
07:30:00
4.984
190.008
350.784
3.433
132.864
249.120
61.162
17.000
07:30:00
4.984
106.585
195.852
3.433
78.855
144.704
71.162
12.000
07:30:00
4.984
106.585
195.852
3.433
78.855
144.704
81.162
23.000
07:30:00
4.984
106.585
195.852
3.433
78.855
144.704
91.162
17.000
06:00:00
4.984
106.585
195.852
3.433
78.855
144.704
101.162
17.000
09:00:00
4.984
106.585
195.852
3.433
78.855
144.704
Tabel6.1:
Fabrikeredetilfæ
lde.
Motivationenforde
anvend
tetuningsfaser
erat
analyserede
form
ålaf
AILSsom
Hasleet
al.[24]
frem
sætter
som
demestvæ
sentlige:
Main
goalsare
toensure
agood
balance
betweenintensi�cationanddiversi�cation,andto
avoid
non-productivesearche�orts.
Fase
1fokusererpå
atun
dgåikke-produ
ktiv
søgning,mensfase
2fokusererpå
intensiveringog
fase
3fokuserer
pådiversi�cerend
e.Ifase
2er
parametre
sombåde
harind�
ydelse
påintensiveringog
diversi�cerend
einklud
eret
forat
kunn
e�n
deen
balance,men
hovedformålet
isøgningener
intensivering.
6.2
ForudinstilledeParametre&Mekanismer
Detvurderesat
entuning
afalleparametreog
mekanismerim
odellenerforom
fattende.D
erforeren
delm
ængde
afdissebestem
tpå
forhåndgenn
emheletuningsprocessen,oganvend
esbåde
itun
ingsprocessenog
iden
endelige
løsningsmodel.D
isse
indstillinger
erbaseretpå
enafvejningmellem
deanbefalede
indstillinger
iHasleet
al.[24]
ogindledende
eksperim
enteripilotstud
iet.
6.3. TUNINGSFASE 1 - UNDGÅ IKKE-PRODUKTIV SØGNING 45
Ved accept af en ny løsning efter lokalsøgningen forslår Hasle et al. [24] enten at anvende Simple Improvement
eller Treshold Accepting [29]. Ved Simple improvement accepteres kun forbedrende løsninger, og derved kun en
intensiverende søgning. Ved Treshold Accepting, som beregningsmæssigt er mere e�ektiv end Simulated Anne-
aling, kan forringende løsninger accepteres. Dette kan være med til at diversi�cere søgningen i løsningsrummet
med Hill Climbing. I Hasle et al. [24] opnår Simple Improvement de bedste resultater og vælges derfor. Disse
resultater og det faktum at modellen allerede anvender Perturbation til diversi�cering understøtter beslutningen
om ikke at anvende Treshold Accepting i løsningsmodellen.
Der redegøres i Hasle et al. [24] ikke for baggrunden for indstillingen ITER_STAGE, dog antages denne
indstilling at være passende og anvendes i både tuningsfasen og løsningsmodellen.
Parameteren QUAL_FACT, som er afgørende for diskrimination af løsninger efter ALNS, anvendes kun for
tilfælde mindre end 240. Da de tilfælde som er præsenteret i sektion 6.1 er væsentlig større end dette anvendes
denne diskrimination ikke i den implementerede løsningsmodellen.
Hasle et al. [24] undersøger hvilken e�ekt lokalsøgningen har på løsningskvaliteten, og det konkluderes at
uden denne mekanisme præsterer metoden klart ringere da intensiveringen i modellen svækkes. I tuningsfase 1
i sektion 6.3 undersøges forskellige versioner af lokalsøgningen, og én version vælges og anvendes i den tunede
løsningsmodellen.
6.3 Tuningsfase 1 - Undgå Ikke-Produktiv Søgning
For at ALNS mekanismen kan præstere godt i AILS, er det nødvendigt at analysere de komponenter som
indgår i mekanismen. Erfaringerne fra pilot studiet har vist at operatorerne i ALNS har en meget varierende
beregningstid, og derfor har det ikke været gennemsigtigt hvilke der præsterer godt eller dårligt. For at undgå en
ikke-produktiv søgning, �ndes det nødvendigt at udføre en komparativ analyse af operatorerne. Operatorerne er
beskrevet i sektion 5.2.4, hvor sættet består af fem Destructor og �re Constructor operatorer. Dette resulterer
i 40 operatorpar, da alle operatorpar er kon�gureret som single- og multiperiode operator. I pilot studiet blev
det observeret at det ikke vil give mening at anvende de samme tuningsindstillinger for begge varianter da
det vil give en skævhed i præstationerne for den ene variant. Dette understøttes også af at beregningstiden for
varianterne ligger langt fra hinanden.
Forskellige tuningsindstillinger blev anvendt i pilot studiet, og det vurderes herudfra at følgende indstillinger
for de to varianter af operatorer skal analyseres.
• Single Periode Operator: Parameteren Kmax undersøges i et Two Level Eighth Fraction Factorial De-
sign, hvor det høje og lave niveau for Kmax er henholdsvis fem og ti. Niveauerne er fastsat med inspiration
fra Hasle et al. [24] som beskrevet i sektion 3.3. I den alternative ordning �ndes 1.793 anmodninger over
10 perioder, hvilket giver en parameterindstilling på 1.79310 ∗ 0.05 ≈ 9.
• Multi Periode Operator: Parameteren Kmax anvendes i et One Level Eighth Fraction Factorial Design,
hvor niveauet for Kmax er fem. I pilot studiet observeredes det at en højere værdi forøger beregningstiden
uden for hvad der �ndes rimeligt. Niveauet for Kmax analyseres ud fra en diskrimination af løsningskvali-
teten, dog ikke den der er præsenteret af Hasle et al. [24]. Diskriminationen anvendes i den efterfølgende
lokalsøgning hvor e�ekten på beregningstiden undersøges. I analysen optimeres enten alle perioder eller
en enkelt periode af lokalsøgningen, dette stiller i sidstnævnte scenarie et strengere krav til den anvendte
operator i ALNS samtidig med at det holder beregningstiden nede.
Indstillingerne af de parametre som endnu ikke er tunet, indstilles efter observationer i pilot studiet. Disse er
sat som følger, SCORE_RESET = +∞, KICK_COUNT = +∞ og RUN_TIME = 3600 sekunder. Parameteren
RUN_TIME kunne være sat højere, men da denne fase af tuningsprocessen involverer 400 kørsler og hvert
operatorpar vurderes på fem tilfælde vurderes til at være passende.
46 KAPITEL 6. TUNING
Tabel 6.2 gengiver de væsentlige resultater af tuningsfase 1. I �len Resultater.xlsm i bilag 9 - Tuningsfase
1 �ndes en oversigt over samtlige resultater. Ydermere �ndes �lerne for de enkelte kørsler på de fem tilfælde i
Tilfælde 1 - 5 i bilag 9 - Tuningsfase 1. I de to første kolonner i tabel 6.2 ses de operatorpar som anvendes
i løsningsmodellen, de resterende kombinationer af operatorpar er ikke vist her. Valget af operatorpar er baseret
på scoren i kolonne 6, som er et gennemsnit af de normaliserede scorer som operatorparret har opnået i hvert
af tilfældene i delmængde (A). Af de 40 operatorpar blev de 20 med den bedste score udvalgt. Det bemærkes
dog at der kun er 19 operatorpar i tabel 6.2 da et operatorpar senere i tuningsprocessen blev fravalgt grundet
et problem med implementeringen i VBA. Operatorparret er for enkelthedens skyld fravalgt allerede her, da
den ikke anvendes i den endelige løsningsmodel. Af de resterende 19 operatorpar, er det tydeligt at forskellige
Destructor i kombination med entenGreedy Constructor eller Greedy Deep Constructor præsterer bedst og
derfor har en overvægt i antal. Da 15 ud af 20 mulige operatorpar indeholder en af disse er det et udtryk for at
de er klart overlegne i forhold til Random Constructor og Regret Constructor.
Destructor Constructor Periode Periode Kmax Score(ANLS) (LS)
Tree Greedy Deep Multi Multi/Single 5 97Related Greedy Deep Multi Multi/Single 5 95Related Greedy Multi Multi/Single 5 79Related Greedy Deep Single Single 10 75Worst Greedy Multi Multi/Single 5 73Tree Greedy Multi Multi/Single 5 72
Related Greedy Single Single 10 69Worst Greedy Single Single 10 69Tree Greedy Single Single 10 65Worst Greedy Deep Multi Multi/Single 5 64Worst Greedy Deep Single Single 10 60
Worst Deep Greedy Single Single 5 39Worst Deep Greedy Deep Single Single 5 39Worst Deep Greedy Multi Multi/Single 5 16Worst Deep Greedy Deep Multi Multi/Single 5 16
Tree Random Single Single 10 15Worst Random Single Single 10 15Related Random Single Single 10 12Worst Regret Single Single 10 10
Tabel 6.2: Væsentlige resultater for tuningsfase 1.
Kolonne 3 og 4 beskriver henholdsvis varianten af operatorparret og hvordan den genererede løsning efter-
følgende er optimeret i lokalsøgningen. Det ses i kolonne 4, at alle operatorpar som er af varianten Multi Period
Operator efterfølgende optimeres i lokalsøgningen af enten Multi Period eller Single Period. Da resultaterne ikke
er signi�kant forskellige fra hinanden, vælges det at beholde begge med lige sandsynlighed for at blive anvendt.
Kolonne 5 beskriver parameterindstillingen for Kmax. For Single Period Operator er det tydeligt at operator-
parrene præsterer bedst ved en indstilling på 10 frem for 5. Når Kmax er sat til 5 er resultaterne ikke signi�kant
forskellige fra hinanden, og derfor anvendes 10 når der anvendes single-periode. For Multi Period Operator blev
parameteren holdt konstant på fem, hvilket derfor anvendes for multi-periode.
I tuningsfase 2 anvendes de udvalgte single- og multi-periode operatorer. For Single Period Operators vil
indstillingen på parameteren Kmax blive sat til 10, mens den for Multi Period Operators vil blive sat til 5. For
Multi Period Operators vil den efterfølgende lokalsøgning, med en lige stor sandsynlighed, anvende enten Single
Period eller Multi Period. Det er valgt at score matricen ikke følger initialiseringen og opdateringsproceduren
fra Hasle et al. [24] hvor matricen initialiseres til 1 og opdateres med 1. I stedet anvendes den gennemsnitlige
score fra tuningsfase 1 i både initialiseringen og opdateringsprocessen for at støtte intensiveringen i søgningen,
da det antages at operatorer som klarer sig godt på delmængden af tilfælde i (A) også vil gøre det på mængden
6.4. TUNINGSFASE 2 - INTENSIVERING I SØGNINGEN 47
af tilfælde i (S).
6.4 Tuningsfase 2 - Intensivering i Søgningen
Formålet for AILS er ifølge Hasle et al. [24] at sikre en god balance mellem diversi�cering og intensivering. De pa-
rametre som er medbestemmende for intensiveringen og diversi�ceringen i søgningsprocessen, SCORE_RESET
og KICK_COUNT, er derfor blevet analyseret. Parameteren SCORE_RESET bestemmer hvor ofte score ma-
tricen φ nulstilles, hvilket øger sandsynligheden for at vælge et mindre e�ektivt operatorpar og derved svække
intensiveringen. Dog sikrer en nulstilling af score matricen φ at nogle operatorpar ikke bliver forfordelt fordi
de tilfældigvis ikke vælges oftest nok i startfasen af løsningsmetoden. Parameteren KICK_COUNT bestemmer
hvor ofte perturbation anvendes i løsningsmetoden. Perturbation svækker intensiveringen da der så startes fra
en løsning af ringere kvalitet, dog sikrer det at forskellige områder af løsningsrummet kan undersøges, og derved
�nde dybere optimums.
I denne tuningsfase foretages en krydstuning mellem de to parametre, hvilket øger antallet af kørsler markant.
Tuningen af parametrene SCORE_RESET og KICK_COUNT anvender et Four Level Quarter Fraction Facto-
rial Design, ved niveauerne 25, 100, 200 og +∞ for SCORE_RESET og 5, 10, 15 og +∞ for KICK_COUNT.
Disse værdier afviger markant fra Hasle et al. [24], hvilket skyldes den store forskel i størrelsen af tilfælde.
Indstillingen af parameteren RUN_TIME sættes i denne tuningsfase er tre gange højere end forrige tunings-
fase, hvilket �ndes nødvendigt for at e�ekten af de forskellige parameterværdier bliver tydelig. Det havde været
mere optimalt hvis RUN_TIME havde været højere, men det vurderes at det ville være for tidskrævende da
tuningsfase 2 består af 80 kørsler.
Tabel 6.3 angiver de væsentlige resultater af denne tuningsfase. I �len Resultater.xlsm i bilag 10 -
Tuningsfase 2 �ndes samtlige resultater. Ydermere �ndes �lerne for de enkelte kørsler på de fem tilfælde i
Tilfælde 1 - 5 i bilag 10 - Tuningsfase 2. I de to første kolonner i tabel reftab:ID447 ses indstillingerne
for de to parametre SCORE_RESET og KICK_COUNT, disse er rangeret efter scoren i kolonne 3. Scoren er
som i tuningsfase 1 et gennemsnit af de normaliserede scorer der er opnået på hvert af tilfældene i delmængde
(A).
KICK_COUNT SCORE_RESET Score
+∞ +∞ 98+∞ 200 8710 0 87
+∞ 25 8615 100 8315 200 81
+∞ 100 8110 100 8015 +∞ 7915 25 7410 25 685 +∞ 6710 200 535 100 535 200 495 25 23
Tabel 6.3: Resultater for tuningsfase 2.
Det er tydeligt at de bedste resultater opnås når begge parametre er uendelige. Dette betyder at løsnings-
metoden præsterer bedst når score matricen φ ikke nulstilles og der ikke anvendes perturbation. Nulstillingen
af score matricen φ er helt i overensstemmelse med Hasle et al. [24] som kun anvender den ved tilfælde mindre
48 KAPITEL 6. TUNING
en 240 anmodninger. At der ikke anvendes perturbation er dog ikke i overensstemmelse med Hasle et al. [24]
som anbefaler at dette altid anvendes. Det vurderes at søgningen ikke når at �ade ud når RUN_TIME er sat
til 3 timer, hvilket er årsagen til at KICK_COUNT ikke har den forventede e�ekt på resultatet. På baggrund
af disse resultater ønskes det undersøgt hvornår søgningen �ader ud, hvilket er motivationen for tuningsfase 3.
6.5 Tuningsfase 3 - Diversi�cering i Søgningen
I tuningsfase 3 sættes SCORE_RESET og KICK_COUNT begge til +∞, hvilket er den endelige indstilling
for SCORE_RESET. Tuningsindstillingerne fra tuningsfase 1 vil også �nde anvendelse i tuningsfase 3.
Når KICK_COUNT er uendelig er diversi�ceringen i søgeprocessen udelukkende afhængig af den pertur-
bation som ALNS genererer. Da disse løsninger inden lokalsøgningen ikke er pålagt et acceptkrav vil søgningen
kunne bevæge sig over i nye optimums, dog aldrig langt fra udgangspunktet, se �gur 6.2.a. Når KICK_COUNT
ikke er uendelig, anvendes funktionen Alns_Random til at lave en omfattende perturbation som vil bevæge
søgeprocessen over i et nyt, og måske mere favorabelt område af løsningsrummet, se �gur 6.2.b.
Figur 6.2: Gra�sk illustration af søgeprocessen i løsningsrutet uden og med perturbation
Det ønskes undersøgt om denne omfattende perturbation vil hjælpe søgeprocessen til bedre resultater for
tilfældende i delmængde (A). Til at undersøge om denne omfattende perturbation vil hjælpe søgeprocessen
til bedre resultater for tilfældende i delmængde (A), indstilles parameteren KICK_COUNT først til +∞. På
baggrund denne beregning undersøges det hvornår søgningen er stagneret, hvilket bruges som udgangspunkt til
at vælge en passende indstilling for KICK_COUNT.
I �lerne UdenPerturbation.xlsm og MedPerturbation.xlsm i bilag 11 - Tuningsfase 3 �ndes de væsent-
lige resultater som henholdsvis �gur 6.3 og 6.4 er baseret på. Ydermere �ndes �lerne for de enkelte kørsler i
Tilfælde 1 - 5 i bilag 11 - Tuningsfase 3.
I �gur 6.3 ses resultaterne for tilfældene i delmængde (A) hvor parameteren KICK_COUNT er sat til
+∞. Funktionen Alns_Random er ikke anvendt, hvilket minimerer diversi�ceringen i søgningen. Parameteren
RUN_TIME er sat til 22 timer, hvilket vurderes på baggrund af tuningsfase 2 vil være tilstrækkelig beregningstid
til at undersøge om omfattende perturbationer har en positiv e�ekt på løsningskvaliteten. Det er tydeligt for
alle tilfælde at der for denne parameterindstilling �ndes nye løsninger gennem hele søgeprocessen (�gur 6.3),
dog vurderes det at søgeprocessen ikke er e�ektiv i forhold til beregningstiden ca. 4 til 6 timer. Da det er svært
at vurdere hvornår søgningen reelt er stagneret, forsøges der med et andet mål for stagnering end antallet af
iterationer uden en forbedret løsning. I stedet anvendes den gennemsnitlige forbedring af sLocaIncu per iteration
som alternativ. Det estimeres at 0.5 %� er den nedre grænseværdi for den gennemsnitlige forbedring i forhold til
sLocaIncu per iteration, og søgningen antages at være stagneret når denne værdi overskrides. Ligeledes besluttes
det at beregningen af den gennemsnitlige forbedring i forhold til sLocaIncu per iteration skal baseres på minimum
200 iterationer før Alns_Random kan eksekveres.
I �gur 6.4 ses resultaterne for tilfældene i delmængde (A) hvor perturbation er anvendt. Resultaterne er for
alle tilfældende ringere end når perturbation ikke er anvendt, specielt tilfælde 1 og 2 har svært ved at �nde nye
6.5. TUNINGSFASE 3 - DIVERSIFICERING I SØGNINGEN 49
Figur 6.3: Graf over resultater for tilfældene i delmængde (A) hvor perturbation ikke er anvendt
løsninger gennem søgeprocessen. Da tilfældene er meget store i forhold til de benchmarks som præsenteres i Hasle
et al. [24] har løsningsmetoden svært ved at �nde det lokale optimum indenfor rimelig tid, hvilket gør at søgningen
ikke stagnerer i samme hastighed som ved mindre tilfælde. Det vurderes at den omfattende perturbation som
funktionen Alns_Random udfører, forringer søgeprocessen i en sådan grad at algoritmen har svært ved at
opnå den samme dybde, og derved løsningskvalitet, som hvis funktionen ikke anvendes. På baggrund heraf
besluttes det at diversi�ceringen i Alns_Roulette er tilstrækkelig, og derfor vil den omfattende perturbation
i Alns_Random ikke anvendes i den endelige løsningsmetode.
Figur 6.4: Graf over resultater for tilfældene i delmængde (A) hvor perturbation er anvendt
Parameterindstillingen af RUN_TIME i dette afsnit har vist at en længere beregningstid vil kunne �nde
løsningsforslag dybere i løsningsrummet. Baseret på en samlet vurdering af resultaterne i dette afsnit, størrelsen
på tilfældene i mængden (S) og det valgte programmeringssprog besluttes det at løsningsforslagene præsenteret
i kapitel 7 genereres hvor parameteren RUN_TIME er sat til 40 timer. Den primære motivation for den læn-
gere beregningstid er at sikre et godt fundament for afhandlingens konklusion. Den tunede løsningsmetode vil
fremefter betegnes som den endelige løsningsmetode.
Kapitel 7
Resultater
Dette kapitel præsenteres en scenarieanalyse med udgangspunkt i tilfældet for de to scenarier i den alternative
ordning. Herefter vil nogle udvalgte resultater undersøges yderligere i en følsomhedsanalyse. Disse resultater vil
danne grundlag for afhandlingens konklusion på problemstillingen.
7.1 Scenarieanalyse
I denne sektion præsenteres de overordnede resultater for de to scenarier i den alternative ordning. Resultaterne
er udledt fra de løsningsforslag som er genereret på baggrund af tilfælde 3 der er identisk med Topology Rep-
resentation. Løsningsforslagene for scenarie 1 og 2, som er dannet af den endelige løsningsmetode, kan �ndes
i hhv. AdaptiveIterativeLocalSearch3_1.xlsm og AdaptiveIterativeLocalSearch3_2.xlsm i bilag 12 -
Scenarieanalyse.
Tilfældet indeholder efterspørgsel fra 6201 kunder som med Topology Aggregation er reduceret til 1162
anmodninger med efterspørgsel i en eller to perioder. Servicering af anmodningerne tager i alt 96 timer og
42 minutter, hvor 58 % af serviceringstiden ligger i periode 1 til 5 og 42 % i periode 6 til 10. Serviceringen
omfatter indsamling af 185.440 L resta�ald og 340.556 L organisk a�ald efter komprimering. Serviceringstiden
er beregnet på baggrund af a�aldsmængden, derfor er fordelingen af a�aldsmængden i periode 1 til 5 og 6 til 10
identisk med fordelingen af serviceringstiden. A�aldet indsamles fra 8.417 a�aldbeholdere. Den gennemsnitlige
anmodning tager 5 minutter at servicere, har 160 liter resta�ald, 293 liter organisk a�ald og 7 a�aldsbeholdere.
Figur 7.1: Udvikling af raverseringstiden gennem 40 timers beregning af løsningsforslag for scenarie 1 og 2.Datagrundlag �ndes i �len TotalTraverseringstidGraf.xlsm i bilag 12 - Synkronisering.
I �gur 7.1 ses udviklingen af traverseringstiden for løsningsforslag til scenarie 1 og 2. Den samlede bereg-
ningstid var også her på 40 timer. Traverseringstiden for scenarie 1 hvor indsamlingsprocessen synkroniseres på
50
7.1. SCENARIEANALYSE 51
tværs af fraktionerne ender på 72 timer og 24 minutter. Udviklingen i traverseringstiden er naturligt faldende
gennem hele søgeprocessen men falder mest i de første 2 timer hvor 71 % af det samlede fald �nder sted. Fra
time 4 til time 32 falder traverseringstiden ca. lineært med 25 minutter per times beregningstid. Fra time 32 til
time 40 �ader traverseringstiden ud, og falder kun marginalt. Traverseringstiden for scenarie 2 hvor indsamlings-
processen ikke synkroniseres på tværs af fraktionerne ender på 73 timer og 48 minutter. Faldet i traverseringstid
er ligeledes meget dominerende i de første 2 timer hvor 69 % af det samlede fald �nder sted. Fra time 4 til time
12 falder traverseringstiden med ca. lineært med 45 minutter per times beregningstid og herefter indtil time 40
med 17 minutter per times beregningstid.
Figur 7.2: Fordeling af traverseringstid efter
40 timers beregning af løsningsforslag for sce-
narie 1 og 2. Datagrundlag �ndes i �len
TotalTraverseringstidSøjle.xlsm i bilag 12 -
Synkronisering.
I �gur 7.2 ses traverseringstiden efter beregning af
løsningsforslag med eller uden synkronisering. Her kan
det ses at traverseringstiden for scenarie 1 er 1 time
og 24 minutter lavere end scenarie 2, hvilket svarer til
en forskel på 2 %. Traverseringstiden for resta�ald er
1 time og 52 minutter lavere for scenarie 1 end scena-
rie 2. Dette svarer til 5 % forskel og 2,5 % i forhold
den totale traverseringstid for scenarie 2. Beregningen
af løsningsforslag til resta�ald har dermed været mest
e�ektiv for scenarie 1. Traverseringstiden for organisk
a�ald er 28 minutter højere for scenarie 1 end for sce-
narie 2, hvilket svarer til 1 % forskel og 0,5 % i forhold
den totale traverseringstid for scenarie 2. Beregningen
af løsningsforslag til organisk a�ald har dermed væ-
ret mest e�ektiv for scenarie 2. Forskellen i traverse-
ringstid kan primært forklares ud fra e�ektiviteten i
beregningen af løsningsforslag til resta�ald.
7.1.1 Scenarie 1
Scenarie 1 anvender en indsamlingsprocess hvor indsamlingen synkroniseres på tværs af fraktionerne. Resulta-
terne er udledt fra løsningsforslaget som �ndes i �len AdaptiveIterativeLocalSearch3_1.xlsm i bilag 13 -
Scenarie 1.
Løsningsforslaget indeholder indsamling af resta�ald på 26 ruter og indsamling af organisk a�ald på 31 ruter.
Ruterne gra�sk illustreret i �len RuterGeoKoorSystem i bilag 13 - Scenarie 1 ved brug af anmodningernes
koordinater. Det understreges at ruterne er begrænset af en rådighedsbetingelse på 7 timer og 30 minutter, samt
en kapacitetsbetingelse på 17 m3 som med 95 % sandsynlighed ikke må overskrides.
I �gur 7.3 og 7.4 ses fordelingen af serviceringstid og traverseringstid samt kapacitetsudnyttelsen for de
enkelte ruter ved indsamling af hhv. resta�ald og organisk a�ald. Ruterne er indenfor hver periode rangeret
efter faldende serviceringstid.
7.1.1.1 Resta�ald
I �gur 7.3 ses fordelingen af serviceringstid og traverseringstid samt kapacitetsudnyttelsen for ruterne ved
indsamling af resta�ald. Det er tydeligt at ruterne indenfor hver periode varierer meget i forhold til kørselstiden
og kapaciteten.
Den gennemsnitlige kørselstid for ruterne er på 5 timer og 3 minutter og har dermed en gennemsnitlig udnyt-
telse af rådighedstiden på 67 %. Den gennemsnitlige kørselstid for ruterne har en serviceringsandel på 74 % og
en traverseringsandel på 26 %. Kørselstiden for ruterne ligger i intervallet 23 minutter til 7 timer og 29 minutter
og har en standardafvigelse på 2 timer og 4 minutter. Den gennemsnitlige kapacitetsudnyttelse på ruterne er
52 KAPITEL 7. RESULTATER
42 %, dog kan denne aldrig nå 100 % når den er sikret med et 95 % signi�kansniveau. Kapacitetsudnyttelsen
på ruterne ligger i intervallet 2 % til 84 % og har en standardafvigelse på 23 %.
Til at vurdere kvaliteten af ruterne anvendes grænseværdier som mål for de væsentligste resultater. De
enkelte ruter er vurderet ud fra udnyttelsen af rådighedstiden, kapacitetsudnyttelsen og serviceringsandelen.
Det de�neres at en rute er af god kvalitet når serviceringsandelen er højere end 70 % og enten udnyttelsen af
rådighedstiden er højere end 80 % eller kapacitetsudnyttelsen er højere end 70 %. Den overordnede ruteplan-
lægning er vurderet ud fra standardafvigelsen af kørselstiden for ruterne. Når standardafvigelsen er lavere end
30 minutter �ndes 95 % af kørselstiderne for ruterne maksimalt en time fra gennemsnittet og det de�neres så
at ruterne er i balance.
Af de 26 ruter er 9 af ruterne af god kvalitet. Af dem opfylder 8 af ruterne kravet til udnyttelsen af
rådighedstiden og 3 af ruterne opfylder kravet til kapacitetsudnyttelse. Selve ruteplanlægningen er ikke af god
kvalitet da standardafvigelsen af kørselstiderne for ruterne er på 2 timer og 4 minutter og dermed er højere end
den øvre grænse.
Figur 7.3: Fordelingen af serviceringstid og traverseringstid samt kapacitetsudnyttelsen i procent på ruter iperiode 1 til 10 for resta�ald. Datagrundlag �ndes i �len RuterSøjle.xlsm i bilag 13 - Scenarie 1.
Figur 7.3 viser hvor der er variation i kørselstiderne og kapacitetsudnyttelsen. I �ere perioder �ndes der
meget korte ruter, dette er specielt i perioderne 1, 5, 7 og 8. Disse meget korte ruter forklarer en stor del af
standardafvigelsen. På den geogra�ske illustration af ruterne i �len RuterGeoKoorSystem i bilag 13 - Scenarie
1 ser ruterne ikke helt så ringe ud som resultaterne lægger op til, dog er det tydeligt at ruterne kunne opnå
en højere kvalitet ved at eliminere krydsninger indenfor samme rute. I forhold til det geogra�ske område for
ruterne syntes der at være en tendens til at områderne omkring Ebeltoft og Knebel ofte serviceres af hver deres
rute.
7.1.1.2 Organisk a�ald
I �gur 7.4 ses fordelingen af serviceringstid og traverseringstid samt kapacitetsudnyttelsen for ruterne ved
indsamling af organisk a�ald. Her er det også tydeligt at ruterne indenfor hver periode varierer, endda i højere
grad end for resta�ald.
7.1. SCENARIEANALYSE 53
Den gennemsnitlige kørselstid for ruterne er på 4 timer og 20 minutter og dermed en gennemsnitlig udnyttelse
af rådighedstiden på 58 %, hvilket er lavere end for resta�ald. Ruterne har en gennemsnitlig serviceringsandel
på 72 % og traverseringsandel på 28 %, hvilket er omkring det samme som for resta�aldet. Kørselstiden for
ruterne ligger i intervallet fra 14 minutter til 7 timer og 14 minutter og har en standardafvigelse på 2 timer og
10 minutter. Forskellen i kørselstid for den længste og korteste rute er ca. den samme for organisk- og resta�ald,
men standardafvigelsen er højere for organisk a�ald. Den gennemsnitlige kapacitetsudnyttelse er på 65 %, ligger
i intervallet 0 % til 96 % og har en standardafvigelse på 31 %, hvilket er et større spænd end for resta�ald og
standardafvigelsen er også højere.
Af de 31 ruter er 9 ruter af god kvalitet, af dem opfylder 3 af ruterne udnyttelsen af rådighedstiden og
8 af ruter kapacitetsudnyttelsen. Dermed er ruterne til indsamling af resta�ald ofte begrænset af udnyttelsen
af rådighedstiden og ruterne til indsamling af organisk a�ald er ofte begrænset af kapacitetsudnyttelsen. Selve
ruteplanlægningen er ikke af god kvalitet da standardafvigelsen af kørselstiderne for ruterne er på 2 timer og
10 minutter og dermed højere end den øvre grænse.
Figur 7.4: Tidsfordelingen af serviceringstid og traverseringstid samt kapacitetsudnyttelsen i procent på ruter iperiode 1 til 10 for organisk a�ald. Datagrundlag �ndes i �len RuterSøjle.xlsm i bilag 13 - Scenarie 1.
Figur 7.4 viser variationen i kørselstid og kapacitetsudnyttelse. I �ere perioder �ndes der meget korte ruter,
specielt i perioderne 1, 3, 7 og 10, hvilket giver anledning til en stor del af standardafvigelsen, specielt ruterne
i periode 10. Den geogra�ske illustration af ruterne i �len RuterGeoKoorSystem i bilag 13 - Scenarie 1 viser
i store træk det samme som ved resta�aldet. Dog er det tydeligt at ruterne kunne opnå en højere kvalitet ved
at elimination af krydsninger indenfor samme rute, og der synes at være en tendens til at områderne omkring
Ebeltoft og Knebel ofte serviceres af hver deres rute.
7.1.1.3 Samlet Vurdering
I �gur 7.5 ses fordelingen af serviceringstid og traverseringstid i hver periode for resta�ald og organisk a�ald.
Serviceringstiden varierer ikke mellem de to fraktioner indenfor samme periode, hvilket er et resultat af en
tilfredsstillende synkronisering på tværs af fraktionerne. Da serviceringstiden af den enkelte anmodning er ens
for begge fraktioner, er dette en validering af at alle anmodninger som får indsamlet resta�ald i en periode
også får indsamlet organisk a�ald i samme periode. Traverseringstiden varierer mellem de to fraktioner indenfor
54 KAPITEL 7. RESULTATER
samme periode, hvor der i 9 ud af 10 perioder er en højere traverseringstid for det organiske a�ald end for
resta�aldet. Dette kan forklares ved at det organiske a�ald i højere grad er begrænset af kapacitetsbetingelsen.
Dermed er det nødvendigt at anvende �ere ruter til at servicere det samme antal anmodninger, hvilket for
hver rute giver en ydeligere traverseringstid til og fra depotet. Dette understøttes af at løsningsforlaget for det
organiske a�ald anvender 5 ruter mere end løsningsforslaget for resta�aldet.
Figur 7.5: Fordelingen af serviceringstid og traverseringstid i periode 1 til 10 for resta�ald og organisk a�ald.Datagrundlag �ndes i �len RuterSøjle.xlsm i bilag 13 - Scenarie 1.
7.1.2 Scenarie 2
Scenarie 2 anvender en indsamlingsprocess hvor indsamlingen synkroniseres på tværs af fraktionerne. Resul-
taterne er udledt fra løsningsforslaget som �ndes i �len AdaptiveIteratedLocalSearch3_2.xlsm i bilag 14
- Scenarie 2. Løsningsforslaget indeholder indsamling af resta�ald på 25 ruter og indsamling af organisk
a�ald på 28 ruter. Ved anvendelse af anmodningernes geogra�ske koordinater er ruterne illustreret i �len
RuterGeoKoorSystem i bilag 14 - Scenarie 2.
I �gur 7.6 og 7.7 ses fordelingen af serviceringstid og traverseringstid samt kapacitetsudnyttelsen for de
enkelte ruter ved indsamling af resta�ald og organisk a�ald. Ruterne er indenfor hver periode rangeret efter
faldende serviceringstid.
7.1.2.1 Resta�ald
I �gur 7.6 ses fordelingen af serviceringstid og traverseringstid samt kapacitetsudnyttelsen for ruterne ved
indsamling af resta�ald. Som ved resta�aldet i scenarie 1 er det tydeligt at kørselstiden og kapacitetsudnyttelsen
for ruterne varierer meget indenfor hver periode.
Den gennemsnitlige kørselstid for ruterne er på 5 timer og 20 minutter og den gennemsnitlige udnyttelse af
rådighedstiden er på 71 %, hvilket er 4 % højere end for resta�aldet i scenarie 1. Ruterne har en gennemsnitlig
serviceringsandel på 73 % og traverseringsandel på 27 %, hvilket er næsten det samme som for resta�aldet i
scenarie 1. Kørselstiden for ruterne er mellem 18 minutter og 7 timer og 28 minutter og har en standardafvigelse
på 1 time og 58 minutter, hvilket er ca. den samme forskel imellem den korteste og længste rute som for
7.1. SCENARIEANALYSE 55
ruterne til indsamling af resta�ald i scenarie 1, men standardafvigelse er lavere i scenarie 2. Den gennemsnitlige
kapacitetsudnyttelse på ruterne er på 44 %, hvilket er 2 % højere end for resta�aldet i scenarie 1. Derudover,
ligger kapacitetsudnyttelsen på ruterne mellem 0 % og 97 % med en standardafvigelse på 23 %, hvilket er et
større og højere spænd end for resta�aldet i scenarie 1.
Af de 25 ruter er 13 af ruterne af god kvalitet, og 12 af dem opfylder udnyttelsen af rådighedstiden og
3 opfylder kapacitetsudnyttelsen. Selve ruteplanlægningen er ikke af god kvalitet da standardafvigelsen på
kørselstiden er på 1 time og 58 minutter og dermed højere end den øvre grænse. Der er �ere ruter til indsamling
af resta�ald der er af god kvalitet i scenarie 2 end i scenarie 1, og ruterne er bedre balanceret i ruteplanlægningen.
Figur 7.6: Tidsfordelingen af serviceringstid og traverseringstid samt kapacitetsudnyttelsen i procent på ruter iperiode 1 til 10 for resta�ald. Datagrundlag �ndes i �len RuterSøjle.xlsm i bilag 14 - Scenarie 2.
Figur 7.6 viser variationen i kørselstid og kapacitetsudnyttelse. Der er færre perioder med meget korte ruter
end ved resta�aldet i scenarie 1, de �ndes dog også her i periode 7, 8 og 9. De færre korte ruter forklarer en
stor del af faldet i standardafvigelsen. Ruterne i periode 2 ser rigtige gode ud, og er også alle tre vurderet til
at være af god kvalitet. Den geogra�ske illustrering af ruterne i RuterGeoKoorSystem i bilag 14 - Scenarie 2
viser også her at ruterne kunne opnå højere kvalitet ved elimination af krydsninger indenfor samme rute. Det er
også tilfældet her at der er en tendens til at de geogra�ske områder omkring Ebeltoft og Knebel ofte serviceres
af hver deres rute.
7.1.2.2 Organisk a�ald
Figur 7.7 viser fordelingen af serviceringstid og traverseringstid samt kapacitetsudnyttelsen for ruterne ved
indsamling af organisk a�ald. Som ved det organiske a�ald i scenarie 1 og resta�aldet i dette scenarie er det
tydeligt at kørselstiden og kapacitetsudnyttelsen for ruterne varierer meget indenfor hver periode.
Den gennemsnitlige kørselstid for ruterne er på 4 timer og 48 minutter hvilket giver en gennemsnitlig ud-
nyttelse af rådighedstiden på 64 %, hvilket er 6 %-point højere end for det organiske a�ald i scenarie 1, men
7 %-point lavere end for resta�aldet i dette scenarie. Den gennemsnitlige kørselstid for ruterne har en service-
ringsandel på 72 % og en traverseringsandel på 28 %, hvilket ca. er det samme som for det organiske a�ald i
scenarie 1 og resta�aldet i dette scenarie. Kørselstiden er fra 1 time og 40 minutter til 7 timer og 9 minutter
med en standardafvigelse på 1 time og 34 minutter.
56 KAPITEL 7. RESULTATER
I forhold til organisk a�ald i scenarie 1 og resta�ald i dette scenarie er dette et mindre spænd, kørselstiderne
er generelt længere og har en lavere standardafvigelse. Den gennemsnitlige kapacitetsudnyttelse på ruterne er på
72 %, hvilket er 28 %-point højere end for det organiske a�ald i scenarie 1 og 7 %-point højere end i resta�aldet
i dette scenarie. Kapacitetsudnyttelsen på ruterne ligger i intervallet fra 17 % til 97 %. I forhold til det organiske
a�ald i scenarie 1 er intervallet mindre, udnyttelsen er generelt højere og standardafvigelsen er lavere. Dette er
også gældende i forhold til resta�aldet i dette scenarie.
Af de 28 ruter er 16 af god kvalitet, og af dem opfylder 6 kriteriet for udnyttelse af rådighedstiden og 14
opfylder kriteriet for kapacitetsudnyttelsen. Så, ligesom i scenarie 1 er disse ruter til indsamling af resta�ald
ofte begrænset af udnyttelsen af rådighedstiden og ruterne til indsamling af organisk a�ald er ofte begrænset af
kapacitetsudnyttelsen. Selve ruteplanlægningen er ikke af god kvalitet da standardafvigelsen på kørselstiderne
for ruterne er på 1 time og 34 minutter og dermed højere end den øvre grænse.
Figur 7.7: Tidsfordelingen af serviceringstid og traverseringstid samt kapacitetsudnyttelsen i procent på ruter iperiode 1 til 10 for organisk a�ald. Datagrundlag �ndes i �len RuterSøjle.xlsm i bilag 14 - Scenarie 2.
Figur 7.7 viser variationen i kørselstid og kapacitetsudnyttelse. Der er færre perioder med meget korte ruter
end ved det organiske a�ald i scenarie 1 og resta�aldet i dette scenarie, disse er dog stadig til stede periode 3 og
7. Faldet i korte ruter forklarer en stor del af faldet i standardafvigelsen. Ruterne er generelt bedre balancerede
hvilket også er det indtryk man har fra den geogra�ske illustration af ruterne i �len RuterGeoKoorSystem i
bilag 14 - Scenarie 2. Dog kunne ruterne blive af højere kvalitet hvis krydsninger indenfor samme rute blev
elimineret. De geogra�ske områder omkring Ebeltoft og Knebel serviceres også her ofte af hver deres rute.
7.1.2.3 Samlet Vurdering
I �gur 7.8 ses fordelingen af serviceringstid og traverseringstid i hver periode for resta�ald og organisk a�ald.
Serviceringstiden varierer her mellem de to fraktioner indenfor samme periode, dette er et resultat af at der
ikke synkroniseres på tværs af fraktionerne. Traverseringstiden varierer mellem de to fraktioner indenfor samme
periode, hvor der er en højere traverseringstid for det organiske a�ald end for resta�aldet i 3 ud af 10 perioder.
Dette skyldes også her at det organiske a�ald i højere grad er begrænset af kapacitetsbetingelsen, hvilket giver
3 ruter mere end løsningsforslaget for resta�aldet, og medfører en højere traverseringstid til og fra depotet.
7.2. FØLSOMHEDSANALYSE 57
Figur 7.8: Fordelingen af serviceringstid og traverseringstid samt kapacitetsudnyttelsen i procent på ruter iperiode 1 til 10 for organisk a�ald. Datagrundlag �ndes i �len RuterSøjle.xlsm i bilag 14 - Scenarie 2.
7.2 Følsomhedsanalyse
I denne sektion undersøges udvalgte resultater for de to scenarier i den alternative ordning yderligere. Re-
sultaterne er udledt fra de løsningsforslag som er genereret på baggrund af tilfælde 1 til 10 af den endelige
løsningsmetode, og kan �ndes i folderen AdaptiveIteratedLocalSearch i bilag 15 - Følsomhedsanalyse.
I sektion 7.2.1 undersøges traverseringstiden, da dette er en afgørende faktor i forhold til et valg mellem de to
scenarier. I sektion 7.2.2 og 7.2.3 undersøges de begrænsende faktorer, rådighedstid og kapacitet. I sektion 7.2.4
og 7.2.5 undersøges kvaliteten af ruterne og den overordnede ruteplanlægning.
7.2.1 Traverseringstid
Traverseringstiden er den variabel som minimeres i objektfunktionen, og derfor er en yderligere analyse af
denne relevant. Undersøgelsen af traverseringstiden tager udgangspunkt i �gur 7.2 som viser fordelingen af
traverseringstiden totalt, på resta�ald og på organisk a�ald for de to scenarier. Ved anvendelse af de 10 tilfælde
undersøges det om resultaterne for tilfælde 3 kan generaliseres. Dette er meget relevant for denne afhandling, da
de økonomiske omkostninger for de to scenarier har et lineært forhold med traverseringstiden. Beregningerne bag
resultaterne for denne sektion kan �ndes i �len Følsomhedsberegning.xlsm i bilag 15 - Følsomhedsanalyse.
Den totale traverseringstid er lavere for scenarie 1 end for scenarie 2 (�gur 7.2) med en forskel på 1 time
og 24 minutter, hvilket svarer til 2 % af den totale traverseringstid for scenarie 2. Dette resultat kan dog ikke
generaliseres ud fra resultaterne i de 10 tilfælde, da det kun er i 5 ud af de 10 hvor scenarie 1 har en lavere total
traverseringstid end scenarie 2. Det er vanskeligt at generalisere noget ud fra resultaterne da spredningen ligger
omkring middelværdien, for alle undtagen tilfælde 1. Dette tilfælde indeholder kun 60 % af anmodningerne, og
har en markant forskel i den totale traverseringstid for de to scenarier. Den totale traverseringstid er 5 timer og
2 minutter lavere ved scenarie 2 end ved scenarie 1, en forskel på 9 % i forhold til den totale traverseringstid for
scenarie 1. Dette er 3 gange højere end den gennemsnitlige forskel i den total traverseringstid for de 10 tilfælde.
I �gur 7.2 blev det vist at traverseringstiden for resta�ald var den afgørende faktor i forhold til forskellen i den
totale traverseringstid. I samtlige 10 tilfælde er forskellen i traverseringstiden for resta�aldet positiv korreleret
58 KAPITEL 7. RESULTATER
med den totale traverseringstid, hvilket kun er gældende for 7 ud af 10 tilfælde for det organiske a�ald.
Traverseringstiden for resta�aldet er lavere end for det organiske a�ald i det endelige løsningsforslag. Dette
er også gældende for 8 ud af 10 tilfælde for begge scenarier, hvilket understøtter resultatet nok til at kunne
generalisere. Ydermere understøtter dette til observationen at kapacitetsbetingelsen begrænser minimeringen af
traverseringstiden mere for det organiske a�ald end for resta�aldet.
7.2.2 Udnyttelse af rådighedstiden
Udnyttelsen af rådighedstiden er en væsentlig faktor i forhold til beskæftigelse af chau�ører, og derfor er en
yderligere analyse relevant. Undersøgelsen tager udgangspunkt i sektion 7.1.1 som viser en tendens til at ud-
nyttelsen er højere for resta�ald end for organisk a�ald. Ydermere vil undersøges det om synkroniseringen har
en e�ekt på udnyttelsen af rådighedstiden indenfor den enkelte fraktion. I sektion 7.1.1 var udnyttelsen af rå-
dighedstiden for begge fraktioner højere i scenarie 2. Ved anvendelse af de 10 tilfælde undersøges det om disse
tendenser fra tilfælde 3 kan generaliseres. Beregningerne bag resultaterne for denne sektion kan �ndes i �len
Følsomhedsberegning.xlsm i bilag 15 - Følsomhedsanalyse.
Udnyttelsen af rådighedstiden i scenarie 1 og 2 for tilfælde 3 var på hhv. på 67 % og 71 % for resta�ald og 58 %
og 64 % for det organiske a�ald. Tendensen til at udnyttelsen af rådighedstiden er højere ved resta�aldet end
ved det organiske a�ald kan generaliseres. Gennemsnittet af alle tilfælde giver en udnyttelse af rådighedstiden
for resta�aldet på 65 % og for det organiske a�ald på 55 % med en standardafvigelse på hhv. 10 % og 8 %.
Ruterne til indsamling af resta�ald udnytter rådighedstiden med op til 83 %, hvor ruterne til indsamling af det
organiske a�ald kun udnytter rådighedstiden med op til 64 %.
Der er en tendens til at udnyttelsen af rådighedstiden i tilfælde 3 er bedre i scenarie 2 end i scenarie 1.
Denne tendens kan ikke ud fra de resterende tilfælde generaliseres. Forskellen i den gennemsnitlige udnyttelse
af rådighedstid mellem scenarie 1 og 2 er på 2 % for begge fraktioner hvor scenarie 1 er højere end scenarie 2.
Med så lille en forskel konkluderes det at synkroniseringen ikke har en e�ekt på udnyttelsen af rådighedstiden
indenfor den enkelte fraktion.
Den gennemsnitlige serviceringsandel for alle tilfælde er for resta�ald på 64 % og for organisk a�ald på 63 %.
7.2.3 Kapacitetsudnyttelse
Kapacitetsudnyttelsen er en væsentlig faktor i forhold til hvilke vogne virksomheden i fremtiden skal investere i,
så vognene passer til indsamling af a�ald i det område som serviceres. Undersøgelsen af kapacitetsudnyttelsen
tager udgangspunkt i sektion 7.1.1 som viser en tendens til at udnyttelsen er højere for organisk a�ald end for
resta�ald. Ydermere undersøges det om synkroniseringen har en e�ekt på kapacitetsudnyttelsen. I tilfælde 3 var
kapacitetsudnyttelsen højere for begge fraktioner i scenarie 2. Ved anvendelse af de 10 tilfælde undersøges det
om disse tendenser fra tilfælde 3 kan generaliseres. Beregningerne bag resultaterne for denne sektion kan �ndes
i �len Følsomhedsberegning.xlsm i bilag 15 - Følsomhedsanalyse.
Kapacitetsudnyttelsen i scenarie 1 og 2 for resta�aldet var på hhv. 42 % og 44 % og for det organiske
a�ald hhv. på 65 % og 72 % for tilfælde 3. Tendensen til at kapacitetsudnyttelsen er højere for det organiske
a�ald kan generaliseres. Gennemsnittet af alle tilfældes kapacitetsudnyttelse er for resta�aldet på 40 % og for
det organiske a�ald på 58 % med en standardafvigelse på hhv. 16 % og 10 %. Når man ser på intervallet af
kapacitetsudnyttelsen er grænseværdierne mere yderlige for det organiske a�ald end for resta�aldet. Ligeledes
har det organiske a�ald udnyttet kapaciteten med op til 83 % hvor resta�aldet kun opnår 68 %.
Som ved udnyttelsen af rådighedstiden er der en tendens til at kapacitetsudnyttelsen er højere for scenarie
2 end for scenarie 1. Forskellen i den gennemsnitlige kapacitetsudnyttelse mellem scenarie 1 og 2 er for begge
fraktioner på 2 %. Det konkluderes også her at forskellen ikke er stor nok til at kunne påvise at synkroniseringen
har en e�ekt på kapacitetsudnyttelsen indenfor den enkelte fraktion.
7.2. FØLSOMHEDSANALYSE 59
7.2.4 Kvalitet af Ruterne
Kvaliteten af ruterne vurderes ud fra udnyttelsen af rådighedstiden, kapacitetsudnyttelsen og serviceringsande-
len. En rute de�neres som værende af god kvalitet når den opnår de fastsatte grænseværdier som beskrevet i
sektion 7.1.1.1. Vurderingen tager udgangspunkt i sektion 7.1.1 som viser en tendens til at kvaliteten er højere
for organisk a�ald end for resta�ald. Ydermere undersøges det om synkroniseringen har en e�ekt på kvaliteten
af ruterne, hvilket dog ikke er en tendens i sektion 7.1.1 hvor det gennemsnitlige antal ruter med god kvalitet
er ens for scenarie 1 og 2. Slutteligt undersøges det hvilken e�ekt en udeladelse af målet for serviceringsandelen
har, dette er begrundet af at der i det geogra�ske område i store dele er landområder hvor traverseringsandelen
naturligt vil være høj.
For hver 10. rute var antallet af ruter med god kvalitet i scenarie 1 og 2 for resta�ald var på hhv. 3,5 og 3,6
og for organisk a�ald på hhv. 4,2 og 4,3. Tendensen om at kvaliteten af ruterne er højere for organisk a�ald end
for resta�ald kan ikke generaliseres. Gennemsnittet af ruter af god kvalitet for alle tilfældene er for resta�aldet
på 2,4 og for det organiske a�ald på 2,5, hvilket ikke antages at være en stor nok forskel til at kunne påvise en
generalisering af tilfælde 3.
Synkroniseringen har en moderat e�ekt på kvaliteten af ruterne. Forskellen i gennemsnittet af ruter af god
kvalitet mellem scenarie 1 og 2 er for hver 10. rute på 0,4, hvor scenarie 2 er højere end scenarie 1. Dette er
som udgangspunkt forventet da scenarie 2 er mindre begrænset end scenarie 1. Dette diskuteres yderligere i
sektion 7.4.
Såfremt målet for serviceringsandelen udelades, har det en markant e�ekt på antallet af ruter af god kvalitet.
For hver 10. rute vil antallet af ruter af god kvalitet stige fra 2,4 til 3,9 for resta�aldet og fra 2,5 til 4,8 for
det organiske a�ald. De ruter som typisk ikke opnår målet for serviceringsandelen servicerer ikke det urbane
område omkring Ebeltoft, i stedet serviceres de landlige områder hvor anmodninger ikke er klynget sammen i
samme grad. Da det er svært at sætte et mål for om en rute kan klassi�ceres som værende landlig eller urban,
derfor diskuteres det i sektion 7.4 om dette mål skal udelades.
7.2.5 Kvalitet af Ruteplanlægning
Kvaliteten af den overordnede ruteplanlægning er vurderet ud fra standardafvigelsen for kørselstiderne på ruter-
ne. Ruteplanlægningen de�neres som værende af god kvalitet når standardafvigelsen er lavere end 30 minutter.
Når dette er tilfældet er 95 % af kørselstiderne maksimalt en time fra gennemsnittet og dermed antages det at
ruterne er i balance. Undersøgelsen af kvaliteten af ruteplanlægningen tager udgangspunkt i sektion 7.1.1.
Kvaliteten af den overordnede ruteplanlægning er generelt ikke af god kvalitet da standardafvigelsen for alle
ruter i de 10 tilfælde er på 1 time og 58 minutter og dermed højere end den øvre grænse. Standardafvigelsen af
kørselstiden for de 10 tilfælde er mellem 52 minutter og 2 timer og 57 minutter.
A�aldsmængden for tilfælde 5 er fordoblet i forhold til den gennemsnitlige a�aldsmængde for de to fraktioner.
Det fører til at kapaciteten på ruterne er langt bedre udnyttet end ved de resterende tilfælde, hvilket balancerer
ruterne bedre. Dette skyldes at den begrænsende faktor for tilfælde 5 ikke er rådighedstiden, men i stedet
kapaciteten. Når rådighedstiden er den begrænsende faktor, er der en tendens til at nogle ruter indenfor en
periode er af rigtig god kvalitet, mens andre er af dårlig kvalitet. Løsningsmetoden har svært ved at eliminere
de korte ruter selvom der er plads på andre, hvilket er et emne som diskuteres yderligere i sektion 7.4. Når
kapaciteten er den begrænsende faktor er det ikke i samme grad nødvendigt at eliminere ruter, snarere skal �ere
ruter tilføjes for at overholde kapacitetsbetingelsen. Dette ses som hovedårsagen til at ruteplanlægningen for
tilfælde 5 er bedre balanceret end de andre tilfælde.
60 KAPITEL 7. RESULTATER
7.3 Sammenfatning
Der redegøres i denne sektion for hvorfor scenarie 1 vælges frem for scenarie 2 på baggrund af resultaterne.
Valget af scenarie 1 danner grundlag for afhandlingens konklusion på problemstillingen.
I afhandlingens problemformulering beskrives det at de økonomiske omkostninger har et lineært forhold med
ruteplanlægningen målt i afstand. I denne afhandling er afstandsenheden tid, hvilket er målt i serviceringstid
og traverseringstid. Da serviceringstiden er konstant over alle gennemførlige løsninger er de økonomiske omkost-
ninger i ruteplanlægningen derved afgjort ud fra traverseringstiden. Da dette er gældende anbefales scenarie 1
da den totale traverseringstid i scenarieanalysen er lavere end for scenarie 2. Det skal dog tages i betragtning at
følsomhedsanalysen viser et tvetydigt resultat og at det overordnede resultat derfor er følsomt overfor ændringer.
Traverseringstiden for resta�aldet er markant lavere i scenarie 1 i forhold til scenarie 2, hvilket er den
afgørende faktor for den total traverseringstid. Valget af scenarie 1 som den bedste løsning er desværre vedhæftet
en vis usikkerhed, da resultaterne for scenarieanalysen kunne være bedre og grundlaget for en generalisering
fra følsomhedsanalysen ikke er til stede. Som det forklares i sektion 7.4 menes scenarie 1 alligevel at have nogle
klare fordele i forhold til scenarie 2 som resultaterne i dette kapitel ikke beskriver.
7.4 Diskussion
I denne sektion diskuteres to hovedemner fra resultaterne; hvordan traverseringstiden for scenarie 1 kan være
på højde med scenarie 2 når denne er betinget af synkroniseringen, og årsagen til kvaliteten af resultaterne.
Slutteligt diskuteres andre faktorer som bør have ind�ydelse på valget af scenarie 1.
Det er naturligt at undre sig over hvorfor scenarie 1 i sektion 7.1 opnår en lavere traverseringstid end scenarie
2 når denne er begrænset af synkroniseringen. Dette kan ikke forklares med sikkerhed, men der er to mulige
forklaringer på dette.
Den første mulighed omhandler løsningsrummet som er de�neret ud fra alle gennemførlige løsninger til
problemstillingen for scenarie 2, se �gur 7.9. Problemstillingen for scenarie 1 har et mindre løsningsrum end
scenarie 2, hvilket skyldes at der �ndes et mindre antal gennemførlige løsninger grundet synkroniseringen.
Løsningsrummet til scenarie 1 er indeholdt i scenarie 2 da alle gennemførlige løsninger i scenarie 1 også er
gennemførlige for scenarie 2. I �gur 7.9 er optimums markeret med grå, hvor dybden på optimummet følger
farvens intensitet. I løsningsrummet for scenarie 1 ses regioner med løsninger af høj kvalitet, hvilket også er
indeholdt i løsningsrummet for scenarie 2. Når synkroniseringen har de�neret et løsningsrum for scenarie 1 som
i �gur 7.9 med regioner med løsninger af høj kvalitet er sandsynligheden for at scenarie 1 �nder de bedste
løsninger højere end for scenarie 2.
Den anden mulighed omhandler klyngedannelse af anmodninger ved synkroniseringen som i scenarie 1.
Synkroniseringen gør at anmodningens fraktioner tvinges til at blive serviceret i den samme periode. Derfor er
de servicerede anmodninger i de to fraktioner identiske indenfor den enkelte periode. Når det undersøges om
en anmodning skal �yttes til en anden periode, vil destinationsperiode for anmodningen enten være tiltrækkene
eller frastødende for begge fraktioner. Idéen er at synkroniseringen hjælper til at klynge anmodninger sammen
indenfor en givet periode når de geogra�sk lægger tæt på hinanden. Denne synergi mellem synkronisering og
klyngedannelse kan naturligvis ikke opnås uden synkroniseringen som i scenarie 2.
Ruterne er for mange af perioderne for korte i forhold til hvad der kunne ønskes. Dette skyldes at omkost-
ningen eller stra�en ved at have korte ruter, dvs. traverseringsomkostningen fra og til depotet, ikke er høj nok
i sig selv. Løsningsmetoden gør ikke noget aktivt for at eliminere korte ruter, hvilket også er en del af årsagen.
Selve ruteplanlægningen kunne være af bedre kvalitet, hvilket elimineringen af ruter bærer en del af ansvaret
for. Derudover er tilfældets størrelsesorden væsentligt større end i litteraturen, og det kan derfor være svært
at vurdere om ruteplanlægningen er af god eller dårlig kvalitet. De fastsatte grænseværdier som anvendes som
mål for ruteplanlægning �ndes realistisk for mindre tilfælde, men det er ikke sikkert at disse kan generaliseres
7.4. DISKUSSION 61
Figur 7.9: Gra�sk illustration af muligt løsningsrum for scenarie 1 og 2
på tilfælde af denne størrelsesorden. Derfor er det svært at afgøre om ruteplanlægningen er af god eller dårlig
kvalitet da et sammenligningsgrundlag ikke er til stede.
I valget af scenarie bør andre faktorer end de økonomiske omkostninger i forbindelse med indsamlingsproces-
sen overvejes. Serviceniveau og omstillingsparathed �ndes mest relevant i denne sammenhæng. Serviceniveauet
de�nerer graden af service som Reno Djurs yder til deres kunder. Foruden selve indsamlingen af a�ald, omfatter
service også frekvensen hvormed a�aldet skal stilles ud. Alt andet lige vil en kunde fortrække at fraktionerne
skal stilles ud samlet på én ugedag som i scenarie 1 frem for at fraktioner skal stilles ud separat på to forskellige
ugedage. Kunderne er på nuværende tidspunkt vant til at stille a�ald ud på en fast dag, og vil nok være mere
omstillingsparate hvis det er motiveret af en økonomisk fordel.
En analyse af de direkte og inddirekte omkostninger som er a�edt af de to scenarier udenfor indsamlings-
processen kunne være inddraget i vurderingen af scenarierne. Det er dog besluttet at dette ligger udenfor
afgrænsningen da de a�edte omkostninger af de to scenarier udenfor indsamlingsprocessen ikke synes at afvige
fra hinanden, og dermed ikke er relevante at inddrage her.
Kapitel 8
Konklusion
Denne afhandling har undersøgt de økonomiske omkostninger ved indsamlingsprocessen af dagrenovation for
Reno Djurs. Med udgangspunkt i en omlægning af indsamlingen hvor �ere fraktioner inddrages er den økono-
miske forskel mellem to opstillede scenarier blevet undersøgt. Scenarie 1 omfatter en indsamlingsprocess hvor
indsamlingen på tværs af fraktionerne synkroniseres indenfor den samme periode. i scenarie 2 må fraktionerne
gerne indsamles i forskellige perioder.
Problemstillingen er betragtet som et ruteplanlægningsproblem og en optimering af ruteplanlægningen for
de to scenarier danner grundlag for analysen af den økonomiske forskel mellem de to scenarier. Omkostningerne
i indsamlingsprocessen har et lineært forhold med traverseringsafstanden, og har derfor størst ind�ydelse på
valget mellem scenarie 1 og 2.
Ruteplanlægningsproblemet the Periodic Distance-Constrained Mixed Capacitated General Routing Problem
with Probabilistic Constraints, aggregeringsmetoden Topology Aggregation og løsningsmetoden Adaptive Iterated
Local Search er blevet anvendt til at beregne traverseringstiden for de to scenarier. Da traverseringstiden for
scenarie 1 er lavere end for scenarie 2 anbefales en indsamlingsprocess hvor indsamlingen synkroniseres på tværs
af fraktionerne. Det skal dog tages i betragtning at anbefalingen er følsom overfor ændringer i efterspørgslen fra
kunderne, vognens kapacitet eller chau�ørernes rådighedstid.
Traverseringstiden er et direkte produkt af ruteplanlægningen som er vurderet ud fra nogle mål opstillet for
kørselstidernes standardafvigelse, udnyttelsen af rådighedstiden og kapacitetsudnyttelsen. Resultaterne af disse
levede ikke op til de fastsatte mål, og derfor kunne det ikke påvises at ruteplanlægningen var af god kvalitet.
Det diskuteres i kapitel 9 hvilke områder der kunne inddrages for at hæve kvaliteten af ruteplanlægningen.
62
Kapitel 9
Perspektivering
I dette kapitel perspektiveres der til emner der relaterer sig til denne afhandling som kunne være interessant
at undersøge dybere. Herefter diskuteres nogle generelle emner indenfor praktisk og teoretisk ruteplanlægning
med forslag til ændringer i praksis der vil fremme forskningen og den praktiske anvendelse af ruteplanlægning.
Andre løsningsmetoder, som f.eks. Memetic Algorithm [67] og Simulated Annealing [51] blev overvejet til
løsningen af problemstillingen. Løsningsmetoden Simulated Annealing blev oprindelig valgt og delvis implemen-
teret, men fravalgtes seneres ved publiceringen af AILS. Den primære årsag til ikke at fortsætte med Simulated
Annealing var at AILS var en mere e�ektiv løsningsmetode vurderet ud fra benchmark resultaterne indenfor
MCGRP. Samtidig vægtedes det højt at AILS indeholder en selvtilpassende mekanisme i form af løsningsmeto-
den ALNS. Det blev vurderet at løsningsmetoden på den måde bedre kunne tilpasse sig den generalisering af
MCGRP som det praktiske ruteplanlægningsproblems teoretiske ækvivalent blev identi�ceret som. Dog ville en
implementering af Simulated Annealing have været simpel i forhold til implementeringen af AILS. Dette ville
give den nødvendige tid at lære et programmeringssprog som beregningsmæssigt er mere e�ektivt. En indlæ-
ringsprocess af programmeringssproget C# var påbegyndt i den tidlige implementering af Simulated Annealing,
det syntes dog ikke muligt indenfor tidshorisonten at implementere den mere komplekse løsningsmetode AILS i
C#. En afvejning mellem en e�ektiv løsningsmetode eller et beregningsmæssigt e�ektivt programmeringssprog
var derfor nødvendig. Det kunne have været spændende at undersøge hvor stor en e�ekt C# ville have givet på
resultaterne, men der har været et ønske i denne afhandling om et højere teoretisk niveau, hvilket var årsagen
til at AILS blev valgt.
Til genering af initialløsningen i AILS blev løsningsmetoden Augment-Merge valgt på baggrund af anbefaling
i Hasle et al. [24]. Anvendelse af en anden og mere e�ektiv løsningsmetode har været overvejet, hvilken forhå-
bentlig kunne have fundet et bedre udgangspunkt for søgeprocessen. I �gur 7.1 opnår LS_Full en meget dyb
optimering fra initialløsningen, hvilket sandsynligvis kunne have nået endnu dybere fra en bedre initialløsning.
En undersøgelse af e�ekten af andre løsningsmetoder til generering af initialløsningen havde været spændende.
Det blev vurderet i databehandlingen at tilfældets størrelse var for stort til at beregne løsningsforslag af
rimelig kvalitet. Derfor blev Topology Aggregation anvendt til at mindske størrelsen af tilfældet, dog ved tab af
granularitet. Districting blev overvejet som en alternativ til Topology Aggregation, hvilket i forhold til litteraturen
ville være det oplagte valg. Districting de�neres i følge Muyldermans et al. [14] som opdelingen af et geogra�sk
område i mindre delområder i forhold til nogle kriterier som gerne skulle fremme udførelsen af operationerne i det
geogra�ske område. De mindre delområder betegnes som distrikter, og kunne i et simpel tilfælde for Reno Djurs
gælde postnumrene, 8400 Ebeltoft, 8410 Rønne og 8420 Knebel. I denne afhandling blev Topology Aggregation
anvendt frem for Districting da det ønskes undersøgt om denne kunne være et reelt alternativ til Districting. Det
kunne have været interessant at undersøge e�ekten af Districting i forhold til eller i kombination med Topology
Aggregation.
Resultaterne viste at løsningsmetoden har haft svært ved at eliminere de korte ruter, hvilket naturligt
sænker kvaliteten af ruteplanlægningen. Det kunne være spændende at undersøge, hvilken e�ekt det ville have
63
64 KAPITEL 9. PERSPEKTIVERING
et anvende et strafsystem på de korte ruter. Dette kunne implementeres på enten traverseringskanten til og fra
depotet eller på anmodningerne. Ved at pålægge traverseringskanterne til og fra depotet en høj omkostning, vil
det være mere fordelagtigt for løsningsmetoden at eliminere disse kanter og dermed ruten. En anden tilgang er at
tildele anmodningerne en ekstra omkostning alt efter hvilken rute de bliver serviceret på. Såfremt de serviceres
i en kort rute pålægges en højere omkostning end hvis de serviceres af en lang rute. En anmodning er derved
mere motiveret til at �ytte fra en kort rute til en lang rute end omvendt.
Beregningstiden af resultaterne var på 40 timer, hvilket var en kompensation for tilfældets størrelse og det
anvendte programmeringssprog. Beregningstiden er valgt grundet en antagelse om at et beregningsmæssigt mere
e�ektivt programmeringssprog ville kunne generere løsningsforslag af samme kvalitet ca. 10 gange hurtigere.
Det kunne være spændende at undersøge, hvad denne faktor mellem det programmeringssprog er. Dette kunne
gennemføres ved at afprøve en programmering af AILS præcis som i Hasle et al. [24] og anvende den på de
samme benchmark.
I denne afhandling behandles kun resta�ald og organisk a�ald. Det kunne være spændende at se om scenarie
1 stadig vil være det foretrukne hvis �ere fraktioner som papir, pap og glas er medtaget. Dette ville naturligt
kræve en højere beregningstid, som måske ville give for usikre resultater.
I forhold til egne erfaringer mødes teoretisk ruteplanlægning i praksis med en vis skepsis. Hovedargumentet
er ofte at teorien er for langt fra praksis, hvilket for nogle tilfælde også er sandt. Dog kan det påstås at teoretikere
og praktikere bærer et lige stort ansvar for at minimere denne afstand. Praktiske ruteplanlægningsproblemer
er ofte unødvendigt komplekse, og det må være praktikernes første opgave at minimere denne kompleksitet for
at minimere barriererne til en teoretisk tilgang til ruteplanlægningen. At mindske kompleksiteten behøves ikke
at være forenelig med en lempelse af serviceniveau. Et virkeligt eksempel på dette er en virksomheden som
ikke i sin nuværende lagerstyringsproces rent tidsmæssigt tillader en daglig optimering af ruterne. Et eksempel
på at minimere kompleksitet i ruteplanlægningen og øge serviceniveauet for Reno Djurs kunne være at indføre
en Push-strategi frem for den nuværende Pull -strategi overfor kunderne. Dette kan opnås ved at udvikle en
applikation til smartphone således at kunderne selv kan bestemme hvornår de vil have afhentet a�ald, f.eks.
når a�aldsbeholderen er fyldt og ikke fordi det er en bestemt ugedag. Det vil fjerne det stokastiske element i
efterspørgslen og derved vil nogle mere optimale ruter kunne opnås.
Teoretikere bærer et ansvar overfor praktikere for at tilbyde løsningsmetoder som kan �nde anvendelse i
praksis. Derfor er det også nødvendigt at de benchmarks som der sammenlignes indenfor litteraturen afspejler
virkeligheden. Indenfor MCGRP er der 3 væsentlige benchmarks BHW, CBMix og DI-NEARP, disse kan �ndes i
bilag 1 - Benchmark. Heraf er det kun DI-NEARP som behandler tilfælde over 520 anmodninger, hvilket er for
lavt i forhold til praktiske ruteplanlægningsproblemer. Derfor bør nye og større benchmarks publiceres med det
formål at afspejle alle størrelser af praktiske ruteplanlægningsproblemer, ikke kun de mindste.
Kildekoderne til de algoritmer som publiceres i litteraturen frigives ofte ikke. Dette er grundet en naturlig
konkurrence indenfor forskningen, men kan potentielt være skadelig for udviklingen. Når en kildekode ikke
frigives ved publicering af litteratur opsætter dette en naturlig barriere for andre forskere, da de ikke direkte
kan videreudvikle fra samme udgangspunkt som forfatteren. Ydermere er noget litteratur så mangelfuld i deres
beskrivelse af algoritmen at det kræver en indsigt i kildekoden for at få den absolutte forståelse. I Hasle et
al. [24] anvendes Union of Neighborhoods i en ny og mere aggressiv lokalsøgningsstrategi. Desværre de�nerer
de ikke udtrykket, hvilket i litteraturen er de�neret forskelligt. Dette kunne være afklaret ved at frigive deres
kildekode. I forhold til at en implementering i praksis, er det naturligvis også en barriere at algoritmerne skal
udvikles til et praktisk ruteplanlægningsproblem uden inspiration fra kildekoder.
Et tiltag som �ndes relevant at udforske indenfor forskning af ruteplanlægningen er et større hensyn til tra-
�ktætheden. Dette ville kunne opnås ved at anvende tidsvinduer på traverseringskanterne eller en 3-dimensional
distancematrix. I en 2-dimensional distancematrix kan tra�ktætheden på forskellige tider af døgnet ikke repræ-
senteres. Dette �ndes meget relevant i praksis, og derfor bør dette undersøges nærmere.
Litteratur
[1] S. Anbuudaysankar, K. Ganesh, and S. Mohapatra. Models for Practical Routing Problems in Logistics.
Springer, 2014.
[2] Econet A/S. Idekatalog. Technical report, Econet A/S, 2012.
[3] A. Assad and B. Golden. Arc routing methods and applications. Handbooks in operations research and
management science, 8:375�483, 1995.
[4] L. Bach. Routing and scheduling problems-optimization using exact and heuristic methods. 2013.
[5] L. Bach, G. Hasle, and S. Wøhlk. A lower bound for the node, edge, and arc routing problem. Computers
& Operations Research, 40:943�952, 2013.
[6] B. Baker, M. Barrie, and M. Ayechew. A genetic algorithm for the vehicle routing problem. Computers &
Operations Research, 30:787�800, 2003.
[7] B. Baker and C. Carreto. A visual interactive approach to vehicle routing. Computers & Operations
Research, 30:321�337, 2003.
[8] J. Belenguer, E. Benavent, P. Lacomme, and C. Prins. Lower and upper bounds for the mixed capacitated
arc routing problem. Computers & Operations Research, 33:3363�3383, 2006.
[9] P. Beraldi, M. Bruni, D. Laganà, and R. Musmanno. The mixed capacitated general routing problem under
uncertainty. European Journal of Operational Research, 240:382�392, 2015.
[10] P. Beullens, L. Muyldermans, D. Cattrysse, and D. Oudheusden. A guided local search heuristic for the
capacitated arc routing problem. European Journal of Operational Research, 147:629�643, 2003.
[11] C. Blum and A. Roli. Metaheuristics in combinatorial optimization: Overview and conceptual comparison.
ACM Computing Surveys, 35:268�308, 2003.
[12] A. Bosco, D. Lagana, R. Musmanno, and F. Vocaturo. Modeling and solving the mixed capacitated general
routing problem. Optimization Letters, 7:1451�1469, 2013.
[13] O. Bräysy. A reactive variable neighborhood search for the vehicle-routing problem with time windows.
Journal on Computing, 15:347�368, 2003.
[14] B. Bullnheimer, R. Hartl, and C. Strauss. Applying the ant system to the vehicle routing problem. In
Meta-Heuristics, pages 285�296. Springer, 1999.
[15] A. Campbell and J. Wilson. Forty years of periodic vehicle routing. Networks, 63:2�15, 2014.
[16] F. Chu, N. Labadi, and C. Prins. The periodic capacitated arc routing problem linear programming model,
metaheuristic and lower bounds. Journal of Systems Science and Systems Engineering, 13:423�435, 2004.
[17] G. Clarke and J. Wright. Scheduling of vehicles from a central depot to a number of delivery points.
Operations research, 12:568�581, 1964.
65
66 LITTERATUR
[18] Niir Board Of Consultants. Medical, Municipal and Plastic Waste Management Handbook. National Insti-
tute of Industrial Research, 2009.
[19] A. Corberan, A. Romero, and volume=96 pages=103-137 year=2003 publisher=Springer J. Sanchis, jour-
nal=Mathematical Programming. The mixed general routing polyhedron.
[20] S. Coy, B. Golden, G. Runger, and E. Wasil. Using experimental design to �nd e�ective parameter settings
for heuristics. Journal of Heuristics, 7:77�97, 2001.
[21] G. Dantzig and J. Ramser. The truck dispatching problem. Management science, 6:80�91, 1959.
[22] W. Dees and P. Karger. Automated rip-up and reroute techniques. In Proceedings of the 19th Design
Automation Conference, pages 432�439. 1982.
[23] R. Dekker and M. Fleischmann. Reverse logistics: quantitative models for closed-loop supply chains. Springer
Science & Business Media, 2004.
[24] M. Dell'Amico, G. Hasle, J. Días, and M. Iori. An adaptive iterated local search for the mixed capacitated
general routing problem. Applied Mathematics, 2014:5�16, 2014.
[25] E. Dijkstra. A note on two problems in connexion with graphs. Numerische mathematik, 1:269�271, 1959.
[26] M. Dorigo. Optimization, learning and natural algorithms. Ph. D. Thesis, Politecnico di Milano, Italy,
1992.
[27] J. Dréo, A. Pétrowski, and P. Siarry E. Tailard. Metaheuristics for hard optimization. Springer, 2006.
[28] M. Dror. Arc routing: theory, solutions, and applications. Springer Science & Business Media, 2000.
[29] G. Dueck and T. Scheuer. Threshold accepting: a general purpose optimization algorithm appearing
superior to simulated annealing. Journal of computational physics, 90:161�175, 1990.
[30] Europa-Kommissionen. Eu's 7. miljøhandlingsprogram, 2014.
[31] T. Flatberg, O. Kloster, E. Nilssen, M. Smedsrud, and G. Hasle. Solving node edge arc routing problems
in the distribution of media products. Applied Mathematics, 2009.
[32] G. Fleury, P. Lacomme, and C. Prins. Evolutionary algorithms for stochastic arc routing problems. In
Applications of Evolutionary Computing, pages 501�512. Springer, 2004.
[33] L. Fortnow and S. Homer. A short history of computational complexity. Bulletin of the EATCS, 80:95�133,
2003.
[34] P. Francis and K. Smilowitz. Modeling techniques for periodic vehicle routing problems. Transportation
Research Part B: Methodological, 40:872�884, 2006.
[35] M. Gendreau, J. Potvin, O. Bräumlaysy, G. Hasle, and A. Løkketangen. Metaheuristics for the vehicle
routing problem and its extensions: A categorized bibliography. Springer, 2008.
[36] F. Glover. Future paths for integer programming and links to arti�cial intelligence. Computers & operations
research, 13:533�549, 1986.
[37] B. Golden, S. Raghavan, and E. Wasil. The Vehicle Routing Problem: Latest Advances and New Challenges:
latest advances and new challenges. Springer Science & Business Media, 2008.
[38] B. Golden and R. Wong. Capacitated arc routing problems. Networks, 11(3):305�315, 1981.
LITTERATUR 67
[39] J Gutiérrez, D. Soler, and A. Hervás. The capacitated general routing problem on mixed graphs. Revista
investigación operacional, 23:15�26, 2002.
[40] G. Hasle, O. Kloster, M. Smedsrud, and K. Gaze. Experiments on the node, edge, and arc routing problem.
Applied Mathematics, 2012:05�21, 2012.
[41] A. Hertz, G. Laporte, and M. Mittaz. A tabu search heuristic for the capacitated arc routing problem.
Operations research, 48:129�135, 2000.
[42] J. Holland. Adaptation in natural and arti�cial systems. University of Michigan Press, 1975.
[43] M. Hosny. Heuristic techniques for solving the vehicle routing problem with time windows. Advanced
Materials, 2011.
[44] Ivan I. Bratko. Prolog programming for arti�cial intelligence. Pearson education, 2001.
[45] Reno Djurs I/S. Beslutningsprotokol, 2014.
[46] Reno Djurs I/S. Dagrenovation. Technical report, 2014.
[47] Reno Djurs I/S. Årsrapport 2013. Technical report, RSM Plus P/S, 2014.
[48] Reno Djurs I/S. Vægtfylder af forskellige a�aldsfraktioner. Technical report, 2014.
[49] E. Jung, S. Ranka, and S. Sahni. Topology aggregation for e-science networks. In Proceedings of the 2010
10th IEEE/ACM International Conference on Cluster, Cloud and Grid Computing, pages 530�533. 2010.
[50] S. Kirkpatrick. Optimization by simulated annealing: Quantitative studies. Journal of statistical physics,
34:975�986, 1984.
[51] H. Kokubugata, A. Moriyama, and H. Kawashima. A practical solution using simulated annealing for
general routing problems with nodes, edges, and arcs. In Engineering Stochastic Local Search Algorithms.
Designing, Implementing and Analyzing E�ective Heuristics, pages 136�149. Springer, 2007.
[52] S. Kumar and R. Panneerselvam. A survey on the vehicle routing problem and its variants, 2012.
[53] P. Lacomme, C. Prins, and A. Tanguy. First competitive ant colony scheme for the carp. In Ant Colony
Optimization and Swarm Intelligence, pages 426�427. Springer, 2004.
[54] N. Lambadi, C. Prins, and M. Reghiouni. Grasp with path relinking for the capacitated arc routing problem
with time windows. In Applications of Evolutionary Computing, pages 722�731. Springer, 2007.
[55] G. Laporte. Fifty years of vehicle routing. Transportation Science, 43:408�416, 2009.
[56] H. Lourenço, O. Martin, and T. Stützle. Iterated local search: Framework and applications. In Handbook
of Metaheuristics, pages 363�397. Springer, 2010.
[57] A. McKinnon, S. Cullinane, A. Whiteing, and M. Browne. Green Logistics: Improving the Environmental
Sustainability of Logistics. Kogan Page Publishers, 2010.
[58] N. Mladenovic and P. Hansen. Variable neighborhood search. Computers & Operations Research, 24:1097�
1100, 1997.
[59] P. Murphy, R. Poist, and C. Braunschweig. Role and relevance of logistics to corporate environmentalism:
an empirical assessment. International Journal of Physical Distribution & Logistics Management, 25:5�19,
1995.
68 LITTERATUR
[60] L. Muyldermans, P. Beullens, D. Cattrysse, and D. Van Oudheusden. Exploring variants of 2-opt and 3-opt
for the general routing problem. Operations research, 53(6):982�995, 2005.
[61] C. Orlo�. A fundamental problem in vehicle routing. Networks, 4:35�64, 1974.
[62] I. Osman. Metastrategy simulated annealing and tabu search algorithms for the vehicle routing problem.
Annals of operations Research, 41:421�451, 1993.
[63] R. Pandi and B. Muralidharan. A capacitated general routing problem on mixed networks. Computers &
operations research, 22:465�478, 1995.
[64] R. Pandi and B. Muralidharan. A capacitated general routing problem on mixed networks. Computers &
operations research, 22:465�478, 1995.
[65] D. Pisinger and S. Ropke. A general heuristic for vehicle routing problems. Computers & operations
research, 34:2403�2435, 2007.
[66] D. Pisinger and S. Ropke. Large neighborhood search. In Handbook of metaheuristics, pages 399�419.
Springer, 2010.
[67] C. Prins and S. Bouchenoua. A memetic algorithm solving the vrp, the carp and general routing problems
with nodes, edges and arcs. In Recent advances in memetic algorithms, pages 65�85. Springer, 2005.
[68] Regeringen. Danmark uden a�ald. Technical report, Miljøministeriet, 2013.
[69] D. Rogers, R. Tibben-Lembke, and Reverse Logistics Executive Council. Going backwards: reverse logistics
trends and practices. Reverse Logistics Executive Council Pittsburgh, PA, 1999.
[70] S. Ropke and D. Pisinger. An adaptive large neighborhood search heuristic for the pickup and delivery
problem with time windows. Transportation science, 40:455�472, 2006.
[71] L. Santos, J. Rodrigues, and J. Current. An improved ant colony optimization based algorithm for the
capacitated arc routing problem. Transportation Research Part B: Methodological, 44:246�266, 2010.
[72] A. Sbihi and R. Eglese. Combinatorial optimization and green logistics. Annals of Operations Research,
175:159�175, 2010.
[73] G. Schrimpf, J. Schneider, H. Stamm-Wilbrandt, and G. Dueck. Record breaking optimization results using
the ruin and recreate principle. Journal of Computational Physics, 159:139�171, 2000.
[74] P. Shaw. Using constraint programming and local search methods to solve vehicle routing problems. In
Principles and Practice of Constraint Programming, pages 417�431. Springer, 1998.
[75] E. Taillard. Parallel iterative search methods for vehicle routing problems. Networks, 23:661�673, 1993.
[76] G. Tchobanoglous and F. Kreith. Handbook of Solid Waste Management. McGraw Hill Professional, 2002.
[77] T. Thuren. Videnskabsteori for begyndere. Rosinante Forlag, 2006.
[78] P. Toth and D. Vigo. The vehicle routing problem. Society for Industrial and Applied Mathematics, 2001.
[79] C. Voudouris and E. Tsang. Partial constraint satisfaction problems and guided local search. Proc.,
Practical Application of Constraint Technology (PACT'96), London, pages 337�356, 1996.
[80] S. Wøhlk. Contributions to Arc Routing. PhD thesis, 2006.
[81] S. Wøhlk. New lower bound for the capacitated arc routing problem. Computers & Operations Research,
33:3458�3472, 2006.
LITTERATUR 69
[82] S. Wøhlk. A decade of capacitated arc routing. In The vehicle routing problem: latest advances and new
challenges, pages 29�48. Springer, 2008.
[83] S. Wøhlk. Campusnet spørgsmål, 2014.
[84] G. Woeginger. Exact algorithms for np-hard problems: A survey. In Combinatorial Optimization � Eureka,
You Shrink!, pages 185�207.