76
Forfatter: Søren Aabling Vejleder: Sanne Wøhlk Analyse af Transportomkostningerne i Indsamlingsprocessen for Fraktioneret Dagrenovation Case Study: Reno Djurs I/S Kandidatafhandling, Maj 2015 Institut for Økonomi School of Business & Social Sciences, Aarhus Universitet

Master Thesis

  • Upload
    soren

  • View
    189

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Master Thesis

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

Page 2: Master Thesis

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

Page 3: Master Thesis

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

Page 4: Master Thesis

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

Page 5: Master Thesis

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

Page 6: Master Thesis

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

Page 7: Master Thesis
Page 8: Master Thesis

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

Page 9: Master Thesis

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

Page 10: Master Thesis

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.

Page 11: Master Thesis

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.

Page 12: Master Thesis

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

Page 13: Master Thesis

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.

Page 14: Master Thesis

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

Page 15: Master Thesis

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.

Page 16: Master Thesis

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

Page 17: Master Thesis

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

Page 18: Master Thesis

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

Page 19: Master Thesis

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

Page 20: Master Thesis

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.

Page 21: Master Thesis

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

Page 22: Master Thesis

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

Page 23: Master Thesis

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.

Page 24: Master Thesis

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)

Page 25: Master Thesis

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.

Page 26: Master Thesis

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.

Page 27: Master Thesis

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.

Page 28: Master Thesis

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

Page 29: Master Thesis

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)

Page 30: Master Thesis

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)

Page 31: Master Thesis

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.

Page 32: Master Thesis

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)

Page 33: Master Thesis

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-

Page 34: Master Thesis

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

Page 35: Master Thesis

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.

Page 36: Master Thesis

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.

Page 37: Master Thesis

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.

Page 38: Master Thesis

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.

Page 39: Master Thesis

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.

Page 40: Master Thesis

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

Page 41: Master Thesis

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.

Page 42: Master Thesis

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

Page 43: Master Thesis

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.

Page 44: Master Thesis

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.

Page 45: Master Thesis

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

Page 46: Master Thesis

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

Page 47: Master Thesis

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.

Page 48: Master Thesis

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.

Page 49: Master Thesis

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

Page 50: Master Thesis

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.

Page 51: Master Thesis

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.

Page 52: Master Thesis

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.

Page 53: Master Thesis

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

Page 54: Master Thesis

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

Page 55: Master Thesis

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

Page 56: Master Thesis

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.

Page 57: Master Thesis

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

Page 58: Master Thesis

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

Page 59: Master Thesis

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.

Page 60: Master Thesis

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

Page 61: Master Thesis

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

Page 62: Master Thesis

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.

Page 63: Master Thesis

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.

Page 64: Master Thesis

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

Page 65: Master Thesis

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.

Page 66: Master Thesis

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.

Page 67: Master Thesis

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

Page 68: Master Thesis

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.

Page 69: Master Thesis

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

Page 70: Master Thesis

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

Page 71: Master Thesis

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.

Page 72: Master Thesis

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

Page 73: Master Thesis

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.

Page 74: Master Thesis

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.

Page 75: Master Thesis

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.

Page 76: Master Thesis

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.