Commit 699541f9ac611033b862f7322d9af7c9ad6441f9

  • avatar
  • Antoine Kalmbach <antoine.kalmbach @j…u.fi> (Committer)
  • Tue Mar 08 21:03:05 EET 2011
  • avatar
  • Antoine Kalmbach <antoine.kalmbach @j…u.fi> (Author)
  • Tue Mar 08 21:03:05 EET 2011
First round of fixes as per feedback. Add linear programming model to section 1. Restructure the whole thing so that the division is VRP->Approaches->Evolutionary->Evolutionary in practice->Conclusion (instead of the garbled mess that it is currently). Fixes for sections 1 and 2 done, restructuring done but lacks cohesion.
  • bsc.aux 207 ---------------------------------------------------------------------------------------------------------++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • bsc.bbl 5 -----
  • bsc.dvi 0 
  • bsc.log 124 ----------------------++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • bsc.out 33 ------------------+++++++++++++++
  • bsc.pdf 0 
  • bsc.tex 245 ----------------------------------------------------------------------------------------------------------------+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • bsc.toc 31 -----------------++++++++++++++
  • Diff rendering mode:
  • inline
  • side by side

bsc.aux

28\HyPL@Entry{3<</S/r>>}28\HyPL@Entry{3<</S/r>>}
29\citation{dantzig_truck_1959}29\citation{dantzig_truck_1959}
30\citation{nagata_edge_2009}30\citation{nagata_edge_2009}
31\citation{talbi_metaheuristics_2009}
31\citation{mester_active_2005,prins_simple_2004}32\citation{mester_active_2005,prins_simple_2004}
32\citation{moscato_evolution_1989}33\citation{moscato_evolution_1989}
33\citation{nagata_penalty-based_2010,nagata_edge_2009,prins_simple_2004,prins_two_2009}34\citation{nagata_penalty-based_2010,nagata_edge_2009,prins_simple_2004,prins_two_2009}
38\newlabel{thevrp}{{2}{2}{The Vehicle Routing Problem\relax }{section.2}{}}38\newlabel{thevrp}{{2}{2}{The Vehicle Routing Problem\relax }{section.2}{}}
39\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces The vehicle routing problem with three separate routes.}}{2}{figure.1}}39\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces The vehicle routing problem with three separate routes.}}{2}{figure.1}}
40\newlabel{vrpfig}{{1}{2}{The vehicle routing problem with three separate routes}{figure.1}{}}40\newlabel{vrpfig}{{1}{2}{The vehicle routing problem with three separate routes}{figure.1}{}}
41\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}The Capacitated Vehicle Routing Problem}{3}{subsection.2.1}}
42\newlabel{cvrp}{{2.1}{3}{The Capacitated Vehicle Routing Problem\relax }{subsection.2.1}{}}
43\citation{toth_exact_1998}41\citation{toth_exact_1998}
42\citation{toth_exact_1998}
43\newlabel{obj}{{2}{4}{The Vehicle Routing Problem\relax }{equation.2.2}{}}
44\newlabel{exactlyonce}{{3}{4}{The Vehicle Routing Problem\relax }{equation.2.3}{}}
45\newlabel{indegree}{{4}{4}{The Vehicle Routing Problem\relax }{equation.2.4}{}}
46\newlabel{outdegree}{{5}{4}{The Vehicle Routing Problem\relax }{equation.2.5}{}}
47\newlabel{arrivaldeparture}{{6}{4}{The Vehicle Routing Problem\relax }{equation.2.6}{}}
48\newlabel{capacity}{{7}{4}{The Vehicle Routing Problem\relax }{equation.2.7}{}}
49\newlabel{integrity}{{8}{4}{The Vehicle Routing Problem\relax }{equation.2.8}{}}
44\citation{toth_vehicle_2002}50\citation{toth_vehicle_2002}
45\citation{golden_vehicle_2008}
46\@writefile{toc}{\contentsline {subsection}{\numberline {2.2}The Vehicle Routing Problem with Time Windows}{4}{subsection.2.2}}
47\newlabel{vrptw}{{2.2}{4}{The Vehicle Routing Problem with Time Windows\relax }{subsection.2.2}{}}
48\@writefile{toc}{\contentsline {section}{\numberline {3}Strategies for the vehicle routing problem}{4}{section.3}}
49\newlabel{solving}{{3}{4}{Strategies for the vehicle routing problem\relax }{section.3}{}}
50\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Heuristic approaches}{4}{subsection.3.1}}
51\newlabel{heuristics}{{3.1}{4}{Heuristic approaches\relax }{subsection.3.1}{}}
52\citation{toth_vehicle_2002}
51\@writefile{toc}{\contentsline {section}{\numberline {3}Strategies for the Vehicle Routing Problem}{5}{section.3}}
52\newlabel{solving}{{3}{5}{Strategies for the Vehicle Routing Problem\relax }{section.3}{}}
53\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Heuristics}{5}{subsection.3.1}}
54\newlabel{heuristics}{{3.1}{5}{Heuristics\relax }{subsection.3.1}{}}
53\citation{mole_sequential_1976}55\citation{mole_sequential_1976}
54\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}Classical heuristics}{5}{subsection.3.2}}
55\newlabel{classicalheuristics}{{3.2}{5}{Classical heuristics\relax }{subsection.3.2}{}}
56\newlabel{construction}{{3.2}{5}{Construction heuristics\relax }{section*.2}{}}
57\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces \relax \fontsize {10.95}{13.6}\selectfont \abovedisplayskip 11\p@ plus3\p@ minus6\p@ \abovedisplayshortskip \z@ plus3\p@ \belowdisplayshortskip 6.5\p@ plus3.5\p@ minus3\p@ \def \leftmargin \leftmargini \parsep 5\p@ plus2.5\p@ minus\p@ \topsep 10\p@ plus4\p@ minus6\p@ \itemsep 5\p@ plus2.5\p@ minus\p@ {\leftmargin \leftmargini \topsep 9\p@ plus3\p@ minus5\p@ \parsep 4.5\p@ plus2\p@ minus\p@ \itemsep \parsep }\belowdisplayskip \abovedisplayskip {An example of a heuristic, the insertion heuristic. The vertex $3$ is added to the route and the route from 1 to 2 removed.}}}{5}{figure.2}}
58\newlabel{insertionfig}{{2}{5}{\small {An example of a heuristic, the insertion heuristic. The vertex $3$ is added to the route and the route from 1 to 2 removed.}\relax }{figure.2}{}}
59\citation{clarke_scheduling_1964}56\citation{clarke_scheduling_1964}
57\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces \relax \fontsize {10.95}{13.6}\selectfont \abovedisplayskip 11\p@ plus3\p@ minus6\p@ \abovedisplayshortskip \z@ plus3\p@ \belowdisplayshortskip 6.5\p@ plus3.5\p@ minus3\p@ \def \leftmargin \leftmargini \parsep 5\p@ plus2.5\p@ minus\p@ \topsep 10\p@ plus4\p@ minus6\p@ \itemsep 5\p@ plus2.5\p@ minus\p@ {\leftmargin \leftmargini \topsep 9\p@ plus3\p@ minus5\p@ \parsep 4.5\p@ plus2\p@ minus\p@ \itemsep \parsep }\belowdisplayskip \abovedisplayskip {An example of a heuristic, the insertion heuristic. The vertex $3$ is added to the route and the route from 1 to 2 removed.}}}{6}{figure.2}}
58\newlabel{insertionfig}{{2}{6}{\small {An example of a heuristic, the insertion heuristic. The vertex $3$ is added to the route and the route from 1 to 2 removed.}\relax }{figure.2}{}}
60\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces \relax \fontsize {10.95}{13.6}\selectfont \abovedisplayskip 11\p@ plus3\p@ minus6\p@ \abovedisplayshortskip \z@ plus3\p@ \belowdisplayshortskip 6.5\p@ plus3.5\p@ minus3\p@ \def \leftmargin \leftmargini \parsep 5\p@ plus2.5\p@ minus\p@ \topsep 10\p@ plus4\p@ minus6\p@ \itemsep 5\p@ plus2.5\p@ minus\p@ {\leftmargin \leftmargini \topsep 9\p@ plus3\p@ minus5\p@ \parsep 4.5\p@ plus2\p@ minus\p@ \itemsep \parsep }\belowdisplayskip \abovedisplayskip {Routes are merged into one in the savings heuristic.}}}{6}{figure.3}}59\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces \relax \fontsize {10.95}{13.6}\selectfont \abovedisplayskip 11\p@ plus3\p@ minus6\p@ \abovedisplayshortskip \z@ plus3\p@ \belowdisplayshortskip 6.5\p@ plus3.5\p@ minus3\p@ \def \leftmargin \leftmargini \parsep 5\p@ plus2.5\p@ minus\p@ \topsep 10\p@ plus4\p@ minus6\p@ \itemsep 5\p@ plus2.5\p@ minus\p@ {\leftmargin \leftmargini \topsep 9\p@ plus3\p@ minus5\p@ \parsep 4.5\p@ plus2\p@ minus\p@ \itemsep \parsep }\belowdisplayskip \abovedisplayskip {Routes are merged into one in the savings heuristic.}}}{6}{figure.3}}
61\newlabel{savings}{{3}{6}{\small {Routes are merged into one in the savings heuristic.}\relax }{figure.3}{}}60\newlabel{savings}{{3}{6}{\small {Routes are merged into one in the savings heuristic.}\relax }{figure.3}{}}
62\newlabel{improvement}{{3.2}{6}{Improvement heuristics\relax }{section*.3}{}}
63\@writefile{loa}{\contentsline {algorithm}{\numberline {1}{\ignorespaces Local\_Search(C)}}{6}{algorithm.1}}
64\newlabel{alg:localsearch}{{1}{6}{Improvement heuristics\relax }{ALC@unique.7}{}}
65\citation{lin_computer_1965}61\citation{lin_computer_1965}
66\citation{or_traveling_1976}62\citation{or_traveling_1976}
67\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}Towards metaheuristics}{7}{subsection.3.3}}
68\newlabel{metaheuristics}{{3.3}{7}{Towards metaheuristics\relax }{subsection.3.3}{}}
63\@writefile{loa}{\contentsline {algorithm}{\numberline {1}{\ignorespaces Local\_Search(C)}}{7}{algorithm.1}}
64\newlabel{alg:localsearch}{{1}{7}{Heuristics\relax }{ALC@unique.7}{}}
65\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}Metaheuristics}{7}{subsection.3.2}}
66\newlabel{metaheuristics}{{3.2}{7}{Metaheuristics\relax }{subsection.3.2}{}}
69\citation{chiang_reactive_1997,mester_active_2005,pisinger_general_2007}67\citation{chiang_reactive_1997,mester_active_2005,pisinger_general_2007}
70\citation{braeysy_vehicle_2005}68\citation{braeysy_vehicle_2005}
71\citation{laporte_classical_2002}69\citation{laporte_classical_2002}
72\citation{braeysy_vehicle_2005,gendreau_metaheuristics_2002}70\citation{braeysy_vehicle_2005,gendreau_metaheuristics_2002}
73\citation{glover_handbook_2003,talbi_metaheuristics_2009}71\citation{glover_handbook_2003,talbi_metaheuristics_2009}
74\citation{cordeau_guide_2002,laporte_classical_2000}72\citation{cordeau_guide_2002,laporte_classical_2000}
75\citation{talbi_metaheuristics_2009}
73\@writefile{toc}{\contentsline {section}{\numberline {4}Evolutionary Algorithms}{8}{section.4}}
74\newlabel{eas}{{4}{8}{Evolutionary Algorithms\relax }{section.4}{}}
76\citation{darwin_origin_1859}75\citation{darwin_origin_1859}
77\citation{fogel_artificial_1966}76\citation{fogel_artificial_1966}
78\citation{holland_adaptation_1975}77\citation{holland_adaptation_1975}
79\@writefile{toc}{\contentsline {section}{\numberline {4}Evolutionary algorithms}{8}{section.4}}
80\newlabel{eas}{{4}{8}{Evolutionary algorithms\relax }{section.4}{}}
81\@writefile{lof}{\contentsline {figure}{\numberline {4}{\ignorespaces A generation in evolutionary algorithms. \cite {talbi_metaheuristics_2009}}}{8}{figure.4}}
82\newlabel{eageneration}{{4}{8}{A generation in evolutionary algorithms. \cite {talbi_metaheuristics_2009}\relax }{figure.4}{}}
78\citation{talbi_metaheuristics_2009}
79\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}Background and Principles of Evolutionary Algorithms}{9}{subsection.4.1}}
80\newlabel{background}{{4.1}{9}{Background and Principles of Evolutionary Algorithms\relax }{subsection.4.1}{}}
81\@writefile{lof}{\contentsline {figure}{\numberline {4}{\ignorespaces A generation in evolutionary algorithms. \cite {talbi_metaheuristics_2009}}}{9}{figure.4}}
82\newlabel{eageneration}{{4}{9}{A generation in evolutionary algorithms. \cite {talbi_metaheuristics_2009}\relax }{figure.4}{}}
83\citation{holland_adaptation_1975}83\citation{holland_adaptation_1975}
84\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}The genetic algorithm}{9}{subsection.4.1}}
85\newlabel{ga}{{4.1}{9}{The genetic algorithm\relax }{subsection.4.1}{}}
86\citation{talbi_metaheuristics_2009}84\citation{talbi_metaheuristics_2009}
87\newlabel{geneticalgorithm}{{4.1}{10}{The genetic algorithm\relax }{subsection.4.1}{}}
88\@writefile{loa}{\contentsline {algorithm}{\numberline {2}{\ignorespaces The genetic algorithm.}}{10}{algorithm.2}}
85\@writefile{toc}{\contentsline {subsection}{\numberline {4.2}The Genetic Algorithm}{10}{subsection.4.2}}
86\newlabel{ga}{{4.2}{10}{The Genetic Algorithm\relax }{subsection.4.2}{}}
89\citation{rechenberg_evolutionsstrategie:_1973}87\citation{rechenberg_evolutionsstrategie:_1973}
90\citation{mester_active_2005}88\citation{mester_active_2005}
89\newlabel{geneticalgorithm}{{4.2}{11}{The Genetic Algorithm\relax }{subsection.4.2}{}}
90\@writefile{loa}{\contentsline {algorithm}{\numberline {2}{\ignorespaces The genetic algorithm.}}{11}{algorithm.2}}
91\@writefile{toc}{\contentsline {subsection}{\numberline {4.3}Evolutionary Strategies}{11}{subsection.4.3}}
92\newlabel{es}{{4.3}{11}{Evolutionary Strategies\relax }{subsection.4.3}{}}
93\@writefile{lof}{\contentsline {figure}{\numberline {5}{\ignorespaces The distinction between the genotype and the phenotype. \cite {talbi_metaheuristics_2009}}}{11}{figure.5}}
94\newlabel{genotypevsphenotype}{{5}{11}{The distinction between the genotype and the phenotype. \cite {talbi_metaheuristics_2009}\relax }{figure.5}{}}
91\citation{mester_active_2005}95\citation{mester_active_2005}
92\citation{homberger_two_1999}96\citation{homberger_two_1999}
93\citation{beyer_evolution_2002}97\citation{beyer_evolution_2002}
98\citation{ong_classification_2006}
99\citation{moscato_evolution_1989}
100\citation{ong_classification_2006}
101\citation{dawkins_selfish_1976}
102\@writefile{toc}{\contentsline {subsection}{\numberline {4.4}Discussion}{12}{subsection.4.4}}
103\newlabel{discussion}{{4.4}{12}{Discussion\relax }{subsection.4.4}{}}
104\citation{nagata_penalty-based_2010,nagata_edge_2009,lima_memetic_2004,prins_two_2009}
105\citation{krasnogor_tutorial_2005}
106\citation{krasnogor_tutorial_2005}
107\@writefile{toc}{\contentsline {subsection}{\numberline {4.5}The Memetic Algorithm}{13}{subsection.4.5}}
108\newlabel{ma}{{4.5}{13}{The Memetic Algorithm\relax }{subsection.4.5}{}}
109\@writefile{loa}{\contentsline {algorithm}{\numberline {3}{\ignorespaces The memetic algorithm}}{13}{algorithm.3}}
110\newlabel{alg:memeticalgorithm}{{3}{13}{The Memetic Algorithm\relax }{ALC@unique.31}{}}
111\citation{cowling_hyperheuristic_2001}
112\citation{ong_meta-lamarckian_2004}
113\citation{ong_classification_2006}
94\citation{nagata_edge_2007}114\citation{nagata_edge_2007}
95\@writefile{toc}{\contentsline {subsection}{\numberline {4.2}Evolutionary strategies}{11}{subsection.4.2}}
96\newlabel{es}{{4.2}{11}{Evolutionary strategies\relax }{subsection.4.2}{}}
97\@writefile{lof}{\contentsline {figure}{\numberline {5}{\ignorespaces The distinction between the genotype and the phenotype. \cite {talbi_metaheuristics_2009}}}{11}{figure.5}}
98\newlabel{genotypevsphenotype}{{5}{11}{The distinction between the genotype and the phenotype. \cite {talbi_metaheuristics_2009}\relax }{figure.5}{}}
99\@writefile{toc}{\contentsline {subsection}{\numberline {4.3}Genetic algorithms in the VRP}{11}{subsection.4.3}}
100\newlabel{genvrp}{{4.3}{11}{Genetic algorithms in the VRP\relax }{subsection.4.3}{}}
101\@writefile{toc}{\contentsline {subsection}{\numberline {4.4}Crossover operators}{12}{subsection.4.4}}
102\newlabel{crossover}{{4.4}{12}{Crossover operators\relax }{subsection.4.4}{}}
103\@writefile{lof}{\contentsline {figure}{\numberline {6}{\ignorespaces RAR mutation.}}{12}{figure.6}}
104\newlabel{rar mutation}{{6}{12}{RAR mutation}{figure.6}{}}
115\@writefile{toc}{\contentsline {section}{\numberline {5}Genetic and Memetic Algorithms in the VRP}{14}{section.5}}
116\@writefile{toc}{\contentsline {subsection}{\numberline {5.1}Encoding Routing Problems}{14}{subsection.5.1}}
117\newlabel{genvrp}{{5.1}{14}{Encoding Routing Problems\relax }{subsection.5.1}{}}
105\citation{oliver_study_1987}118\citation{oliver_study_1987}
119\@writefile{toc}{\contentsline {subsection}{\numberline {5.2}Recombination Procedures}{15}{subsection.5.2}}
120\newlabel{crossover}{{5.2}{15}{Recombination Procedures\relax }{subsection.5.2}{}}
121\@writefile{lof}{\contentsline {figure}{\numberline {7}{\ignorespaces One-point crossover producing invalid routes.}}{15}{figure.7}}
122\newlabel{onepoint crossover}{{7}{15}{One-point crossover producing invalid routes}{figure.7}{}}
123\@writefile{lof}{\contentsline {figure}{\numberline {6}{\ignorespaces RAR mutation.}}{15}{figure.6}}
124\newlabel{rar mutation}{{6}{15}{RAR mutation}{figure.6}{}}
106\citation{potvin_review_2009}125\citation{potvin_review_2009}
107\citation{nagata_edge_1997}126\citation{nagata_edge_1997}
108\citation{nagata_edge_2007}127\citation{nagata_edge_2007}
109\@writefile{lof}{\contentsline {figure}{\numberline {7}{\ignorespaces One-point crossover producing invalid routes.}}{13}{figure.7}}
110\newlabel{onepoint crossover}{{7}{13}{One-point crossover producing invalid routes}{figure.7}{}}
111\@writefile{lof}{\contentsline {figure}{\numberline {8}{\ignorespaces Order crossover (OX)}}{13}{figure.8}}
112\newlabel{order crossover}{{8}{13}{Order crossover (OX)\relax }{figure.8}{}}
113\@writefile{toc}{\contentsline {subsection}{\numberline {4.5}Edge-Assembly Crossover}{13}{subsection.4.5}}
114\newlabel{eax}{{4.5}{13}{Edge-Assembly Crossover\relax }{subsection.4.5}{}}
115\citation{nagata_edge_2007}128\citation{nagata_edge_2007}
116\citation{nagata_edge_2007}129\citation{nagata_edge_2007}
117\citation{nagata_edge_2007}130\citation{nagata_edge_2007}
131\citation{nagata_edge_2009}
118\citation{nagata_edge_2009,nagata_penalty-based_2010}132\citation{nagata_edge_2009,nagata_penalty-based_2010}
119\citation{thangiah_genetic_1991}133\citation{thangiah_genetic_1991}
120\citation{thangiah_adaptive_1995}134\citation{thangiah_adaptive_1995}
121\citation{braeysy_evolutionary_2004,potvin_review_2009}135\citation{braeysy_evolutionary_2004,potvin_review_2009}
122\@writefile{loa}{\contentsline {algorithm}{\numberline {3}{\ignorespaces EAX for the CVRP}}{14}{algorithm.3}}
123\newlabel{alg:eaxalg}{{3}{14}{Edge-Assembly Crossover\relax }{ALC@unique.26}{}}
124\citation{ong_classification_2006}
125\citation{moscato_evolution_1989}
126\citation{ong_classification_2006}
127\citation{dawkins_selfish_1976}
128\@writefile{toc}{\contentsline {section}{\numberline {5}Hybrid evolutionary algorithms}{15}{section.5}}
129\newlabel{hea}{{5}{15}{Hybrid evolutionary algorithms\relax }{section.5}{}}
130\@writefile{toc}{\contentsline {subsection}{\numberline {5.1}Out of the local optimum}{15}{subsection.5.1}}
131\newlabel{outoftheoptimum}{{5.1}{15}{Out of the local optimum\relax }{subsection.5.1}{}}
132\citation{nagata_penalty-based_2010,nagata_edge_2009,lima_memetic_2004,prins_two_2009}
133\citation{krasnogor_tutorial_2005}
134\citation{nagata_edge_2009}
135\citation{krasnogor_tutorial_2005}
136\@writefile{toc}{\contentsline {subsection}{\numberline {5.2}The Memetic Algorithm}{16}{subsection.5.2}}
137\newlabel{ma}{{5.2}{16}{The Memetic Algorithm\relax }{subsection.5.2}{}}
138\@writefile{loa}{\contentsline {algorithm}{\numberline {4}{\ignorespaces The memetic algorithm}}{16}{algorithm.4}}
139\newlabel{alg:memeticalgorithm}{{4}{16}{The Memetic Algorithm\relax }{ALC@unique.38}{}}
140\citation{cowling_hyperheuristic_2001}
141\citation{ong_meta-lamarckian_2004}
142\citation{ong_classification_2006}
136\@writefile{lof}{\contentsline {figure}{\numberline {8}{\ignorespaces Order crossover (OX)}}{16}{figure.8}}
137\newlabel{order crossover}{{8}{16}{Order crossover (OX)\relax }{figure.8}{}}
143\citation{nagata_powerful_2009}138\citation{nagata_powerful_2009}
144\citation{nagata_edge_2009}139\citation{nagata_edge_2009}
145\citation{nagata_penalty-based_2010}140\citation{nagata_penalty-based_2010}
146\citation{prins_simple_2004}141\citation{prins_simple_2004}
147\citation{prins_two_2009}142\citation{prins_two_2009}
143\@writefile{loa}{\contentsline {algorithm}{\numberline {4}{\ignorespaces EAX for the CVRP}}{17}{algorithm.4}}
144\newlabel{alg:eaxalg}{{4}{17}{Recombination Procedures\relax }{ALC@unique.38}{}}
145\@writefile{toc}{\contentsline {subsection}{\numberline {5.3}Recent Results from Literature}{17}{subsection.5.3}}
146\newlabel{buildingma}{{5.3}{17}{Recent Results from Literature\relax }{subsection.5.3}{}}
147\@writefile{lot}{\contentsline {table}{\numberline {1}{\ignorespaces A comparison of different MAs in the VRP.}}{17}{table.1}}
148\newlabel{comparisontable}{{1}{17}{A comparison of different MAs in the VRP}{table.1}{}}
148\citation{nagata_edge_2009}149\citation{nagata_edge_2009}
149\citation{nagata_edge_2007}150\citation{nagata_edge_2007}
150\citation{nagata_penalty-based_2010}151\citation{nagata_penalty-based_2010}
151\citation{nagata_powerful_2009}152\citation{nagata_powerful_2009}
152\@writefile{toc}{\contentsline {subsection}{\numberline {5.3}Memetic algorithms in the VRP}{17}{subsection.5.3}}
153\newlabel{buildingma}{{5.3}{17}{Memetic algorithms in the VRP\relax }{subsection.5.3}{}}
154\@writefile{lot}{\contentsline {table}{\numberline {1}{\ignorespaces A comparison of different MAs in the VRP.}}{17}{table.1}}
155\newlabel{comparisontable}{{1}{17}{A comparison of different MAs in the VRP}{table.1}{}}
156\citation{prins_simple_2004}153\citation{prins_simple_2004}
157\citation{golden_impact_1998}154\citation{golden_impact_1998}
158\citation{prins_two_2009}155\citation{prins_two_2009}
158\citation{taillard_heuristic_1996}158\citation{taillard_heuristic_1996}
159\citation{prins_two_2009}159\citation{prins_two_2009}
160\citation{cordeau_new_2005}160\citation{cordeau_new_2005}
161\@writefile{toc}{\contentsline {section}{\numberline {6}Conclusion and Further Research}{18}{section.6}}
162\newlabel{conclusion}{{6}{18}{Conclusion and Further Research\relax }{section.6}{}}
161\citation{ong_classification_2006}163\citation{ong_classification_2006}
162\citation{garrido_dvrp:_2010}164\citation{garrido_dvrp:_2010}
163\@writefile{toc}{\contentsline {section}{\numberline {6}Conclusion and further research}{18}{section.6}}
164\newlabel{conclusion}{{6}{18}{Conclusion and further research\relax }{section.6}{}}
165\bibstyle{amsplain}165\bibstyle{amsplain}
166\bibdata{bsc}166\bibdata{bsc}
167\bibcite{beyer_evolution_2002}{1}167\bibcite{beyer_evolution_2002}{1}
176\bibcite{darwin_origin_1859}{10}176\bibcite{darwin_origin_1859}{10}
177\bibcite{dawkins_selfish_1976}{11}177\bibcite{dawkins_selfish_1976}{11}
178\bibcite{fogel_artificial_1966}{12}178\bibcite{fogel_artificial_1966}{12}
179\@writefile{toc}{\contentsline {section}{\numberline {7}References}{19}{section.7}}
179\bibcite{garrido_dvrp:_2010}{13}180\bibcite{garrido_dvrp:_2010}{13}
180\bibcite{gendreau_metaheuristics_2002}{14}181\bibcite{gendreau_metaheuristics_2002}{14}
181\bibcite{glover_handbook_2003}{15}182\bibcite{glover_handbook_2003}{15}
182\bibcite{golden_vehicle_2008}{16}
183\@writefile{toc}{\contentsline {section}{\numberline {7}References}{19}{section.7}}
184\bibcite{golden_impact_1998}{17}
185\bibcite{holland_adaptation_1975}{18}
186\bibcite{homberger_two_1999}{19}
187\bibcite{krasnogor_tutorial_2005}{20}
188\bibcite{laporte_classical_2000}{21}
189\bibcite{laporte_classical_2002}{22}
190\bibcite{lima_memetic_2004}{23}
191\bibcite{lin_computer_1965}{24}
192\bibcite{mester_active_2005}{25}
193\bibcite{mole_sequential_1976}{26}
194\bibcite{moscato_evolution_1989}{27}
195\bibcite{nagata_edge_2007}{28}
196\bibcite{nagata_edge_2009}{29}
197\bibcite{nagata_powerful_2009}{30}
198\bibcite{nagata_penalty-based_2010}{31}
199\bibcite{nagata_edge_1997}{32}
200\bibcite{oliver_study_1987}{33}
201\bibcite{ong_meta-lamarckian_2004}{34}
202\bibcite{ong_classification_2006}{35}
203\bibcite{or_traveling_1976}{36}
204\bibcite{pisinger_general_2007}{37}
205\bibcite{potvin_review_2009}{38}
206\bibcite{prins_simple_2004}{39}
207\bibcite{prins_two_2009}{40}
208\bibcite{rechenberg_evolutionsstrategie:_1973}{41}
209\bibcite{taillard_heuristic_1996}{42}
210\bibcite{talbi_metaheuristics_2009}{43}
211\bibcite{thangiah_adaptive_1995}{44}
212\bibcite{thangiah_genetic_1991}{45}
213\bibcite{toth_exact_1998}{46}
214\bibcite{toth_vehicle_2002}{47}
183\bibcite{golden_impact_1998}{16}
184\bibcite{holland_adaptation_1975}{17}
185\bibcite{homberger_two_1999}{18}
186\bibcite{krasnogor_tutorial_2005}{19}
187\bibcite{laporte_classical_2000}{20}
188\bibcite{laporte_classical_2002}{21}
189\bibcite{lima_memetic_2004}{22}
190\bibcite{lin_computer_1965}{23}
191\bibcite{mester_active_2005}{24}
192\bibcite{mole_sequential_1976}{25}
193\bibcite{moscato_evolution_1989}{26}
194\bibcite{nagata_edge_2007}{27}
195\bibcite{nagata_edge_2009}{28}
196\bibcite{nagata_powerful_2009}{29}
197\bibcite{nagata_penalty-based_2010}{30}
198\bibcite{nagata_edge_1997}{31}
199\bibcite{oliver_study_1987}{32}
200\bibcite{ong_meta-lamarckian_2004}{33}
201\bibcite{ong_classification_2006}{34}
202\bibcite{or_traveling_1976}{35}
203\bibcite{pisinger_general_2007}{36}
204\bibcite{potvin_review_2009}{37}
205\bibcite{prins_simple_2004}{38}
206\bibcite{prins_two_2009}{39}
207\bibcite{rechenberg_evolutionsstrategie:_1973}{40}
208\bibcite{taillard_heuristic_1996}{41}
209\bibcite{talbi_metaheuristics_2009}{42}
210\bibcite{thangiah_adaptive_1995}{43}
211\bibcite{thangiah_genetic_1991}{44}
212\bibcite{toth_exact_1998}{45}
213\bibcite{toth_vehicle_2002}{46}
215\newlabel{TotPages}{{25}{21}{}{page.21}{}}214\newlabel{TotPages}{{25}{21}{}{page.21}{}}

bsc.bbl

77F.~Glover and G.~A. Kochenberger (eds.), \emph{Handbook of metaheuristics},77F.~Glover and G.~A. Kochenberger (eds.), \emph{Handbook of metaheuristics},
78 vol.~57, Kluwer Academic Publishers, Boston, 2003.78 vol.~57, Kluwer Academic Publishers, Boston, 2003.
7979
80\bibitem{golden_vehicle_2008}
81B.~Golden, S.~Raghavan, and E.~Wasil (eds.), \emph{The vehicle routing problem:
82 Latest advances and new challenges}, vol.~43, Springer {US}, Boston, {MA},
83 2008.
84
85\bibitem{golden_impact_1998}80\bibitem{golden_impact_1998}
86B.~L. Golden, E.~A. Wasil, J.~P. Kelly, and I.~M. Chao, \emph{The impact of81B.~L. Golden, E.~A. Wasil, J.~P. Kelly, and I.~M. Chao, \emph{The impact of
87 metaheuristics on solving the vehicle routing problem: algorithms, problem82 metaheuristics on solving the vehicle routing problem: algorithms, problem

bsc.dvi

1; TeX output 2011.03.06:1834! systemdict /pdfmark known{userdict /?pdfmark systemdict /exec get put}{userdict /?pdfmark systemdict /pop get put userdict /pdfmark systemdict /cleartomark get put}ifelseps:SDict begin [/Producer (dvips + Distiller)/Title ()/Subject ()/Creator (LaTeX with hyperref package)/Author ()/Keywords () /DOCINFO pdfmark endo! /DvipsToPDF{72.27 mul Resolution div} def/PDFToDvips{72.27 div Resolution mul} def/BPToDvips{72 div Resolution mul}def/BorderArrayPatch{[exch{dup dup type/integertype eq exch type/realtype eq or{BPToDvips}if}forall]}def/HyperBorder {1 PDFToDvips} def/H.V {pdf@hoff pdf@voff null} def/H.B {/Rect[pdf@llx pdf@lly pdf@urx pdf@ury]} def/H.S {currentpoint HyperBorder add /pdf@lly exch def dup DvipsToPDF 72 add /pdf@hoff exch def HyperBorder sub /pdf@llx exch def} def/H.L {2 sub dup/HyperBasePt exch def PDFToDvips /HyperBaseDvips exch def currentpoint HyperBaseDvips sub /pdf@ury exch def/pdf@urx exch def} def/H.A {H.L currentpoint exch pop vsize 72 sub exch DvipsToPDF HyperBasePt sub sub /pdf@voff exch def} def/H.R {currentpoint HyperBorder sub /pdf@ury exch def HyperBorder add /pdf@urx exch def currentpoint exch pop vsize 72 sub exch DvipsToPDF sub /pdf@voff exch def} def!papersize=597.50787pt,845.04684pt15@ps:SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if endOOps:SDict begin H.S endps:SDict begin H.R endDps:SDict begin [/View [/XYZ H.V]/Dest (page.i) cvn /DEST pdfmark endheader=pstricks.proheader=pst-algparser.proheader=pst-dots.proheader=pst-node.proheader=pst-3d.proheader=pst-math.proheader=pstricks-add.pro!papersize=597.50787pt,845.04684pt\XPcolor push gray 0 color pop਍PzX<ps:tx@Dict begin gsave STV CP T /ps@rot 0 def grestore endCps:tx@Dict begin gsave STV CP T /ps@refangle 0. def grestore endcolor push gray 0<ps:tx@Dict begin gsave STV CP T /ps@rot 0 def grestore endUps:SDict begin [/Count 0/Dest (section.1) cvn/Title (1 Introduction) /OUT pdfmark enddps:SDict begin [/Count 2/Dest (section.2) cvn/Title (2 The Vehicle Routing Problem) /OUT pdfmark endwps:SDict begin [/Count 0/Dest (subsection.2.1) cvn/Title (2.1 The Capacitated Vehicle Routing Problem) /OUT pdfmark end}ps:SDict begin [/Count 0/Dest (subsection.2.2) cvn/Title (2.2 The Vehicle Routing Problem with Time Windows) /OUT pdfmark endsps:SDict begin [/Count 3/Dest (section.3) cvn/Title (3 Strategies for the vehicle routing problem) /OUT pdfmark enddps:SDict begin [/Count 0/Dest (subsection.3.1) cvn/Title (3.1 Heuristic approaches) /OUT pdfmark enddps:SDict begin [/Count 0/Dest (subsection.3.2) cvn/Title (3.2 Classical heuristics) /OUT pdfmark endfps:SDict begin [/Count 0/Dest (subsection.3.3) cvn/Title (3.3 Towards metaheuristics) /OUT pdfmark end`ps:SDict begin [/Count 5/Dest (section.4) cvn/Title (4 Evolutionary algorithms) /OUT pdfmark endeps:SDict begin [/Count 0/Dest (subsection.4.1) cvn/Title (4.1 The genetic algorithm) /OUT pdfmark endgps:SDict begin [/Count 0/Dest (subsection.4.2) cvn/Title (4.2 Evolutionary strategies) /OUT pdfmark endmps:SDict begin [/Count 0/Dest (subsection.4.3) cvn/Title (4.3 Genetic algorithms in the VRP) /OUT pdfmark endcps:SDict begin [/Count 0/Dest (subsection.4.4) cvn/Title (4.4 Crossover operators) /OUT pdfmark endgps:SDict begin [/Count 0/Dest (subsection.4.5) cvn/Title (4.5 Edge-Assembly Crossover) /OUT pdfmark endgps:SDict begin [/Count 3/Dest (section.5) cvn/Title (5 Hybrid evolutionary algorithms) /OUT pdfmark endhps:SDict begin [/Count 0/Dest (subsection.5.1) cvn/Title (5.1 Out of the local optimum) /OUT pdfmark endeps:SDict begin [/Count 0/Dest (subsection.5.2) cvn/Title (5.2 The Memetic Algorithm) /OUT pdfmark endmps:SDict begin [/Count 0/Dest (subsection.5.3) cvn/Title (5.3 Memetic algorithms in the VRP) /OUT pdfmark endhps:SDict begin [/Count 0/Dest (section.6) cvn/Title (6 Conclusion and further research) /OUT pdfmark endSps:SDict begin [/Count 0/Dest (section.7) cvn/Title (7 References) /OUT pdfmark endNps:SDict begin [/PageMode /UseOutlines/Page 1/View [/Fit] /DOCVIEW pdfmark end/ps:SDict begin [ {Catalog}<<>> /PUT pdfmark endps:SDict begin H.S endps:SDict begin 18.26991 H.A endGps:SDict begin [/View [/XYZ H.V]/Dest (Doc-Start) cvn /DEST pdfmark endlps:SDict begin [ {Catalog} << /PageLabels<</Nums[0<</S/r>>1<</S/r>>3<</S/r>>4<</S/D>>]>> >> /PUT pdfmark endpoh.d,
1; TeX output 2011.03.08:2053! systemdict /pdfmark known{userdict /?pdfmark systemdict /exec get put}{userdict /?pdfmark systemdict /pop get put userdict /pdfmark systemdict /cleartomark get put}ifelseps:SDict begin [/Producer (dvips + Distiller)/Title ()/Subject ()/Creator (LaTeX with hyperref package)/Author ()/Keywords () /DOCINFO pdfmark endo! /DvipsToPDF{72.27 mul Resolution div} def/PDFToDvips{72.27 div Resolution mul} def/BPToDvips{72 div Resolution mul}def/BorderArrayPatch{[exch{dup dup type/integertype eq exch type/realtype eq or{BPToDvips}if}forall]}def/HyperBorder {1 PDFToDvips} def/H.V {pdf@hoff pdf@voff null} def/H.B {/Rect[pdf@llx pdf@lly pdf@urx pdf@ury]} def/H.S {currentpoint HyperBorder add /pdf@lly exch def dup DvipsToPDF 72 add /pdf@hoff exch def HyperBorder sub /pdf@llx exch def} def/H.L {2 sub dup/HyperBasePt exch def PDFToDvips /HyperBaseDvips exch def currentpoint HyperBaseDvips sub /pdf@ury exch def/pdf@urx exch def} def/H.A {H.L currentpoint exch pop vsize 72 sub exch DvipsToPDF HyperBasePt sub sub /pdf@voff exch def} def/H.R {currentpoint HyperBorder sub /pdf@ury exch def HyperBorder add /pdf@urx exch def currentpoint exch pop vsize 72 sub exch DvipsToPDF sub /pdf@voff exch def} def!papersize=597.50787pt,845.04684pt15@ps:SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if endOOps:SDict begin H.S endps:SDict begin H.R endDps:SDict begin [/View [/XYZ H.V]/Dest (page.i) cvn /DEST pdfmark endheader=pstricks.proheader=pst-algparser.proheader=pst-dots.proheader=pst-node.proheader=pst-3d.proheader=pst-math.proheader=pstricks-add.pro!papersize=597.50787pt,845.04684pt\XPcolor push gray 0 color pop਍PzX<ps:tx@Dict begin gsave STV CP T /ps@rot 0 def grestore endCps:tx@Dict begin gsave STV CP T /ps@refangle 0. def grestore endcolor push gray 0<ps:tx@Dict begin gsave STV CP T /ps@rot 0 def grestore endUps:SDict begin [/Count 0/Dest (section.1) cvn/Title (1 Introduction) /OUT pdfmark enddps:SDict begin [/Count 0/Dest (section.2) cvn/Title (2 The Vehicle Routing Problem) /OUT pdfmark endsps:SDict begin [/Count 2/Dest (section.3) cvn/Title (3 Strategies for the Vehicle Routing Problem) /OUT pdfmark endZps:SDict begin [/Count 0/Dest (subsection.3.1) cvn/Title (3.1 Heuristics) /OUT pdfmark end^ps:SDict begin [/Count 0/Dest (subsection.3.2) cvn/Title (3.2 Metaheuristics) /OUT pdfmark end`ps:SDict begin [/Count 5/Dest (section.4) cvn/Title (4 Evolutionary Algorithms) /OUT pdfmark endps:SDict begin [/Count 0/Dest (subsection.4.1) cvn/Title (4.1 Background and Principles of Evolutionary Algorithms) /OUT pdfmark endeps:SDict begin [/Count 0/Dest (subsection.4.2) cvn/Title (4.2 The Genetic Algorithm) /OUT pdfmark endgps:SDict begin [/Count 0/Dest (subsection.4.3) cvn/Title (4.3 Evolutionary Strategies) /OUT pdfmark endZps:SDict begin [/Count 0/Dest (subsection.4.4) cvn/Title (4.4 Discussion) /OUT pdfmark endeps:SDict begin [/Count 0/Dest (subsection.4.5) cvn/Title (4.5 The Memetic Algorithm) /OUT pdfmark endrps:SDict begin [/Count 3/Dest (section.5) cvn/Title (5 Genetic and Memetic Algorithms in the VRP) /OUT pdfmark endips:SDict begin [/Count 0/Dest (subsection.5.1) cvn/Title (5.1 Encoding Routing Problems) /OUT pdfmark endhps:SDict begin [/Count 0/Dest (subsection.5.2) cvn/Title (5.2 Recombination Procedures) /OUT pdfmark endnps:SDict begin [/Count 0/Dest (subsection.5.3) cvn/Title (5.3 Recent Results from Literature) /OUT pdfmark endhps:SDict begin [/Count 0/Dest (section.6) cvn/Title (6 Conclusion and Further Research) /OUT pdfmark endSps:SDict begin [/Count 0/Dest (section.7) cvn/Title (7 References) /OUT pdfmark endNps:SDict begin [/PageMode /UseOutlines/Page 1/View [/Fit] /DOCVIEW pdfmark end/ps:SDict begin [ {Catalog}<<>> /PUT pdfmark endps:SDict begin H.S endps:SDict begin 18.26991 H.A endGps:SDict begin [/View [/XYZ H.V]/Dest (Doc-Start) cvn /DEST pdfmark endlps:SDict begin [ {Catalog} << /PageLabels<</Nums[0<</S/r>>1<</S/r>>3<</S/r>>4<</S/D>>]>> >> /PUT pdfmark endpoh.d,
2 2
3pplb8tAntoineKalmbachK,荍鍑03",
3pplb8tAntoineKalmbachK,荍鍑-
4",
4G5G
5pplb8tEvolutionaryQalgorithmsinVehicleRoutingTJ&E(
6pplr8tABachelorS'sThesisE&inInformationTfechnology&Marȹch6,2011Y썍Q+color push gray 0 color pop1':PSfile="logo_jyu.eps" llx=0 lly=0 urx=307 ury=648 rhi=581 2dcolor push gray 0 color pop`UNIVERSITYOFJYVSKYLĎ &% color push gray 0 color pop+-E(
6pplb8tEvolutionaryQAlgorithmsinVehicleRoutingTJ&E(
7pplr8tABachelorS'sThesisE&inInformationTfechnology&Marȹch8,2011Y썍Q+color push gray 0 color pop1':PSfile="logo_jyu.eps" llx=0 lly=0 urx=307 ury=648 rhi=581 2dcolor push gray 0 color pop`UNIVERSITYOFJYVSKYLĎ &% color push gray 0 color pop+-E(
7383
8pplr8tDEP ARHTMENTOFMA0THEMATICALINFORMATIONTECHNOLOGYEcolor push gray 0 color popмJyvskyl䎎Pcolor push gray 0 color pop*ps:SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if endOOps:SDict begin H.S endps:SDict begin H.R endDps:SDict begin [/View [/XYZ H.V]/Dest (page.i) cvn /DEST pdfmark end15\XPcolor push gray 0 color pop਍XPAuthor:PAntoineKalmbachEPContactinformation:Pantoine.kalmbach@jyu.PTWitle:PEvolutionaryalgorithmsinVehicleRoutingPTynnimi:PEvoluutionrisetalgoritmitjakuljetusongelmaPProject:PABachelorS'sThesisinInformationTfechnologyPPagecount:PB ps:SDict begin H.S endPcolor push gray 025 color popP ps:SDict begin H.R endPxps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (page.21) cvn H.B /ANN pdfmark endPAbstract:|TheXvehiclerȹoutingproblem(VRP)LisanimportantprobleminoperationsPrȹesearch.FoThe/`VRP/Thasnumerȹous/_practicalapplicationsandithasbothrȹeal-lifeim-Pportance_dueto`itsapplicabilityinlogisticsandtransportation,andacademicsignif-Picanceforitscomplexity.LInthisdisserationwelookatstrategiesforsolvingtheVRPPfrȹom`ran`qevolutionaryperspective.٥EvolutionaryalgorithmsarȹemetaheuristicsthatPfocus/1on/2solvingprȹoblemsusingarticialevolution.EA.newtypeofevolutionaryPalgorithms,ۄhybridevolutionaryalgorithmsormemeticalgorithms,ۄhaveemerȹgedPinothenpastdecadefortheVRPs.Theyhaveshownsignicantperformance,buthavePnotbeenwidelystudied.,This~%workattemptstorȹectifythislack~&ofresearchbyrstexploringtheVRP~fromPaclassical heuristicalperspectiveandthenmovingontowarȹdsanevolutionaryperȹ-Pspective.]Emphasisisputontheanatomyofgeneticalgorithmsandthetransforȹ-Pmationtherȹeofintomemeticalgorithms.+TheconceptofamemeticalgorithmisPexplainedandthenappliedinpracticetotheVRPs.Inthestudy,werȹeviewedseveralPimportantpublicationsontheVRPandthemethodologiesforsolvingit.,ResultsshowthatmemeticalgorithmsarȹehighlycompetitiveintheVRPs.Infact,Pallthememeticalgorithmsstudiedinthisworkcouldoutperformsomeofthestate-Pof-the-art\metaheuristicsandinsome\casesimprȹovedthecurrentbest-knownre-Psults,thusadvancingthegeneralstateofthevehiclerȹoutingproblem.P]ThiswouldPimplythatmemeticalgorithmshavegrȹeatpotentialintheVRPs.Lastly,weprȹesentPsomepossiblepathsforadvancingmemeticalgorithmsintheVRPs.PSuomenkielinentiivistelm:zKuljetusongelmaonmerkittvongelmaoperaatio-Ptutkimuksessa.qKuljetusongelman=merkittvyys=johtuuosaksisenkytnnntr-PkeydestalogistiikassabjasenmonimutkaisuustekeeongelmastamielenkiintoisenPlaskennallisenongelman.TsstutkielmassatutkimmekuljetusongelmanerilaisiaPratkaisutapoja.CTfarkastelultehdnlpasiassaevoluutionaarisestaperspektiivist䎡Pevoluutioalgoritmeja6tutkien.
9\ Evoluutioalgoritmitsoveltavatsimuloituaevoluu-Ptiota_laskennallisten^ongelmienratkaisussa.VkUudenlaisethybridi-evoluutioalgorit-Pmit,nk.Nmemeettisetalgoritmit,ovatmuodostuneettrkeiksijatehokkaiksikuljetu-Pcolor push gray 0 color popps:SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if endOOps:SDict begin H.S endps:SDict begin H.R endEps:SDict begin [/View [/XYZ H.V]/Dest (page.ii) cvn /DEST pdfmark end15\XPcolor push gray 0 color pop਍XPsongelmassaviimeisenvuosikymmenenaikana,?muttaniidenyleistsoveltamistaEPkuljetusongelmassaeiolelaajaltitutkittu.,Tsstutkielmassapyritnkorjaamaankyseisttutkimuksenpuutetta.EnsinPtutkitaanTklassistenheuristiikkojenkyttSkuljetusongelmassa,')minkjlkeenkes-Pkitytn revoluutioalgoritmeihin.Tutkielmassakydn slpievoluutioalgoritmienPyleinenrakennejaselitetngeneettistenalgoritmientoimintaa.
10TmnjlkeenPselitetngeneettistenalgoritmienmuuntaminenmemeettisiinalgoritmeihinjatut-Pkitaanmemeettistenalgoritmientoimintaajasoveltamistakuljetusongelmaa.dHTut-Pkielmassa.kytiinlpilaajamrerilaisiatutkimuksianiinkuljetusongelmanpe-Prpusratkaisuistakuinuudemmistaratkaisutavoista.,Tuloksetmosoittavatettmemeettisetalgoritmitmtarjoavattehokkaantavankulje-Ptusongelmanratkaisemiseksi.TutkielmassakydyistmemeettisistalgoritmeistaPkaikki!@kykenivtpihittmn!Atiedossaoleviahuippuluokanmetaheuristiikkoja,Psek?+osa?*mysparansitiedossaoleviaparȹhaitakuljetusongelmantuloksia.uTm䎡Posoittaisisen,*ettmemeettisetalgoritmitovatvarteenotettavavaihtoehtokuljetu-Psongelmanratkaisussa.Tutkielmamystarjoaamuutamiavaihtoehtojatulevaisuu-Pdenkehitystvarten.PKeywords:һmetaheuristics,vrp,geneticalgorithms,evolutionaryalgorithms,mem-PeticalgorithmsPA(vainsanat:metaheuristiikat,bgeneettisetNalgoritmit,evoluutioalgoritmit,kuljetu-Psongelma,memeettisetalgoritmitEPCopyrightVhc.!",
11cmsy10 2011AntoineKalmbachEPAllrightsrȹeserved.Pcolor push gray 0Yii color pop$ps:SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if endOOps:SDict begin H.S endps:SDict begin H.R endDps:SDict begin [/View [/XYZ H.V]/Dest (page.i) cvn /DEST pdfmark end15\XPcolor push gray 0 color pop਍XPps:SDict begin H.S endps:SDict begin 22.6799 H.A endHps:SDict begin [/View [/XYZ H.V]/Dest (section*.1) cvn /DEST pdfmark endP/,
9pplr8tDEP ARHTMENTOFMA0THEMATICALINFORMATIONTECHNOLOGYEcolor push gray 0 color popмJyvskyl䎎Pcolor push gray 0 color pop*ps:SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if endOOps:SDict begin H.S endps:SDict begin H.R endDps:SDict begin [/View [/XYZ H.V]/Dest (page.i) cvn /DEST pdfmark end15\XPcolor push gray 0 color pop਍XPAuthor:PAntoineKalmbachEPContactinformation:Pantoine.kalmbach@jyu.PTWitle:PEvolutionaryAlgorithmsinVehicleRoutingPTynnimi:PEvoluutionrisetalgoritmitjakuljetusongelmaPProject:PABachelorS'sThesisinInformationTfechnologyPPagecount:PB ps:SDict begin H.S endPcolor push gray 025 color popP ps:SDict begin H.R endPxps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (page.21) cvn H.B /ANN pdfmark endPAbstract:|TheXvehiclerȹoutingproblem(VRP)LisanimportantprobleminoperationsPrȹesearch.FoThe/`VRP/Thasnumerȹous/_practicalapplicationsandithasbothrȹeal-lifeim-Pportance_dueto`itsapplicabilityinlogisticsandtransportation,andacademicsignif-Picance foritscomplexity.InthisthesiswelookatstrategiesforsolvingVRPfrȹomanPevolutionaryperspective.EvolutionaryalgorithmsarȹemetaheuristicsthatfocusonPsolving!prȹoblemsusingarticialevolution.Anewtypeofevolutionaryalgorithms,Phybridy_evolutionaryalgorithmsmemeticalgorithmshavey`emerȹgedinthepastPdecade3for3thevehiclerȹoutingproblem.T$Theyhave3shownsignicantperformance,Pbuthavenotbeenwidelystudied.,This_\workattemptstorȹeviewtherecentadvancesinVRP_3researchbyrstexplor-PingխtheծVRPբfrȹomaclassicalheuristicalperspectiveandthenmovingontowarȹdsanPevolutionarypointofviewf.kbEmphasisisputontheanatomyofgeneticalgorithmsPand<memetic<algorithms.nPInthestudy,KwerȹeviewedseveralimportantpublicationsPonVRPs.,ResultsshowthatmemeticalgorithmsarȹehighlycompetitiveinVRPs.Infact,allPthe]memeticalgorithms^studiedinthisworkcouldoutperformsomeofthestate-of-Pthe-artnmetaheuristicsnandinsomecasesimprȹovedthecurrȹentbest-knownrȹesults.PThiswouldimplythatmemeticalgorithmshavegrȹeatpotentialinVRPs.PSuomenkielinentiivistelm:zKuljetusongelmaonmerkittvongelmaoperaatio-Ptutkimuksessa.qKuljetusongelman=merkittvyys=johtuuosaksisenkytnnntr-Pkeydestx;logistiikassa,Ijasenmonimutkaisuusx:tekeeongelmastamielenkiintoisenPlaskennallisenongelman.3Tsstutkielmassatarkastelimmekuljetusongelmaneri-Plaisiaratkaisutapoja.ITfarkastelutehdnpasiassaevoluutionaarisestaperspekti-PivistGevoluutioalgoritmejatutkien.zEvoluutioalgoritmitsoveltavatsimuloituaevoluu-Ptiota_laskennallisten^ongelmienratkaisussa.VkUudenlaisethybridi-evoluutioalgorit-Pmit,x#nk.memeettisetV+algoritmit,ovatosoittautuneettehokkaiksikuljetusongelmassaPviimeisenvuosikymmenenaikana.,TsstutkielmassapyritnkartoittamaanmemeettisenalgoritmientilannettaPkuljetusongelmassa. [Ensintarkastellaanklassistenheuristiikkojenkyttkulje-Pcolor push gray 0 color popps:SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if endOOps:SDict begin H.S endps:SDict begin H.R endEps:SDict begin [/View [/XYZ H.V]/Dest (page.ii) cvn /DEST pdfmark end15\XPcolor push gray 0 color pop਍XPtusongelmassa,mink+jlkeenkeskitytn+evoluutioalgoritmeihin.
10;TutkielmassaEPkydn;?lpievoluutioalgoritmien;>yleinenrakennejaselitetngeneettistensek䎡Pmemeettistenalgoritmientoimintaperiaatetta. CTutkielmassatarkasteltiinerilaisiaPtutkimuksia niin kuljetusongelmanperpusratkaisuistakuinuudemmistaratkaisu-Ptavoista.,Tuloksetmosoittavatettmemeettisetalgoritmitmtarjoavattehokkaantavankulje-Ptusongelmanratkaisemiseksi.TutkielmassakydyistmemeettisistalgoritmeistaPkaikkisuoriutuivatkuljetusongelmanratkaisussanykyisitunnettujametaheuris-Ptiikoitaparȹemmin.ֳOsamysparansitiedossaoleviaparhaitakuljetusongelmanPtuloksia.Tmosoittaisisen,ettmemeettisetalgoritmitovatvarteenotettavavaih-Ptoehtokuljetusongelmanratkaisussa.PKeywords:1ûmetaheuristics,Kvehicle<rȹouting<problem,genetic<algorithms,evolution-Paryalgorithms,memeticalgorithmsPA(vainsanat:{metaheuristiikat,zLkuljetusongelma,geneettisetaalgoritmit,evoluutioal-Pgoritmit,memeettisetalgoritmitEPCopyrightVhc.!",
11cmsy10 2011AntoineKalmbachEPAllrightsrȹeserved.Pcolor push gray 0Yii color pop"ps:SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if endOOps:SDict begin H.S endps:SDict begin H.R endDps:SDict begin [/View [/XYZ H.V]/Dest (page.i) cvn /DEST pdfmark end15\XPcolor push gray 0 color pop਍XPps:SDict begin H.S endps:SDict begin 22.6799 H.A endHps:SDict begin [/View [/XYZ H.V]/Dest (section*.1) cvn /DEST pdfmark endP/,
12ff12ff
13pplb8tContentsEPps:SDict begin H.S end1Introductionps:SDict begin 18.26991 H.L endzps:SDict begin [/Subtype /Link/Dest (section.1) cvn/H /I/Border [0 0 1]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark endU1Pps:SDict begin H.S end2TheVehicleRoutingProblemps:SDict begin 18.26991 H.L endzps:SDict begin [/Subtype /Link/Dest (section.2) cvn/H /I/Border [0 0 1]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark endU2E-Pps:SDict begin H.S end2.1TheCapacitatedVehicleRoutingPrȹoblemps:SDict begin 18.26991 H.L endps:SDict begin [/Subtype /Link/Dest (subsection.2.1) cvn/H /I/Border [0 0 1]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end)Oٍ................color push gray 03$ color pop-Pps:SDict begin H.S end2.2TheVehicleRoutingPrȹoblemwithTWimeWindowsps:SDict begin 18.26991 H.L endps:SDict begin [/Subtype /Link/Dest (subsection.2.2) cvn/H /I/Border [0 0 1]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark endVO...........color push gray 04$ color popEPps:SDict begin H.S end3Strategiesforthevehicleroutingproblemps:SDict begin 18.26991 H.L endzps:SDict begin [/Subtype /Link/Dest (section.3) cvn/H /I/Border [0 0 1]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark endU4-Pps:SDict begin H.S end3.1Heuristicapprȹoachesps:SDict begin 18.26991 H.L endps:SDict begin [/Subtype /Link/Dest (subsection.3.1) cvn/H /I/Border [0 0 1]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark endP!............................color push gray 04$ color pop-Pps:SDict begin H.S end3.2Classicalheuristicsps:SDict begin 18.26991 H.L endps:SDict begin [/Subtype /Link/Dest (subsection.3.2) cvn/H /I/Border [0 0 1]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark endP'.............................color push gray 05$ color pop-Pps:SDict begin H.S end3.3Tfowarȹdsmetaheuristicsps:SDict begin 18.26991 H.L endps:SDict begin [/Subtype /Link/Dest (subsection.3.3) cvn/H /I/Border [0 0 1]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark endP..........................color push gray 07$ color popPps:SDict begin H.S end4Evolutionaryalgorithmsps:SDict begin 18.26991 H.L endzps:SDict begin [/Subtype /Link/Dest (section.4) cvn/H /I/Border [0 0 1]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark endU8-Pps:SDict begin H.S end4.1Thegeneticalgorithmps:SDict begin 18.26991 H.L endps:SDict begin [/Subtype /Link/Dest (subsection.4.1) cvn/H /I/Border [0 0 1]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark endP...........................color push gray 09$ color pop-Pps:SDict begin H.S end4.2Evolutionarystrategiesps:SDict begin 18.26991 H.L endps:SDict begin [/Subtype /Link/Dest (subsection.4.2) cvn/H /I/Border [0 0 1]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark endP...........................color push gray 011$ color pop-Pps:SDict begin H.S end4.3GeneticalgorithmsintheVRPps:SDict begin 18.26991 H.L endps:SDict begin [/Subtype /Link/Dest (subsection.4.3) cvn/H /I/Border [0 0 1]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark endP.......................color push gray 011$ color pop-Pps:SDict begin H.S end4.4Crȹossoveroperatorsps:SDict begin 18.26991 H.L endps:SDict begin [/Subtype /Link/Dest (subsection.4.4) cvn/H /I/Border [0 0 1]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark endP'.............................color push gray 012$ color pop-Pps:SDict begin H.S end4.5Edge-AssemblyCrȹossoverps:SDict begin 18.26991 H.L endps:SDict begin [/Subtype /Link/Dest (subsection.4.5) cvn/H /I/Border [0 0 1]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark endP.........................color push gray 013$ color popPps:SDict begin H.S end5Hybridevolutionaryalgorithmsps:SDict begin 18.26991 H.L endzps:SDict begin [/Subtype /Link/Dest (section.5) cvn/H /I/Border [0 0 1]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark endU15-Pps:SDict begin H.S end5.1Outofthelocaloptimumps:SDict begin 18.26991 H.L endps:SDict begin [/Subtype /Link/Dest (subsection.5.1) cvn/H /I/Border [0 0 1]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark endP..........................color push gray 015$ color pop-Pps:SDict begin H.S end5.2TheMemeticAlgorithmps:SDict begin 18.26991 H.L endps:SDict begin [/Subtype /Link/Dest (subsection.5.2) cvn/H /I/Border [0 0 1]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark endP..........................color push gray 016$ color pop-Pps:SDict begin H.S end5.3MemeticalgorithmsintheVRPps:SDict begin 18.26991 H.L endps:SDict begin [/Subtype /Link/Dest (subsection.5.3) cvn/H /I/Border [0 0 1]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark endO......................color push gray 017$ color popPps:SDict begin H.S end6Conclusionandfurtherresearchps:SDict begin 18.26991 H.L endzps:SDict begin [/Subtype /Link/Dest (section.6) cvn/H /I/Border [0 0 1]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark endU18Pps:SDict begin H.S end7Referencesps:SDict begin 18.26991 H.L endzps:SDict begin [/Subtype /Link/Dest (section.7) cvn/H /I/Border [0 0 1]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark endU19Pcolor push gray 0Oi color pop.Wps:SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if endOOps:SDict begin H.S endps:SDict begin H.R endDps:SDict begin [/View [/XYZ H.V]/Dest (page.1) cvn /DEST pdfmark end15\XPcolor push gray 0 color pop਍PzXps:SDict begin H.S endps:SDict begin 18.26991 H.A endGps:SDict begin [/View [/XYZ H.V]/Dest (section.1) cvn /DEST pdfmark end 1IntroductionETheIvehiclerȹoutingHproblemI(VRP)isacombinatorialoptimisationprȹoblemthatEhasbeenwidelystudiedinoperationsrȹesearch.|Whileitisacademicallychalleng-ing duetoits complexnaturȹe,itheVRP hastrȹemendouspracticalandeconomicalimportance/in/theeldsoflogisticsandtransportation.GItisespeciallyimportantduemtomitsapplicability,'astheVRPmanditsvariationsarȹebasedontangiblerȹeal-lifeprȹoblems.ThejvehicleirȹoutingproblemiwasrstdescribedbyDantzigandRamser[B ps:SDict begin H.S endcolor push gray 09 color pop ps:SDict begin H.R endps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.dantzig_truck_1959) cvn H.B /ANN pdfmark end]asanoptimisationdprȹobleminwhichetheobjectiveistondasetofminimum-costvehiclerȹoutes[fordeliveringgoodstocustomersfrom\acentraldepot.aEachcustomermustbevisitedexactlyoncebyasinglevehicle.GBycostwemeantraveldistance,WhencetheTmainSobjectiveistominimisethetotaltraveldistance.cKTheprȹoblemhasmulti-plevariations.WAfewofthemarȹethevehicleroutingproblemwithtimewindows(VRPTW)andthecapacitatedvehiclerȹoutingproblem(CVRP).TheVRPTWaddsatime{windowconstraintso{thateachcustomermustbeservedwithinagiventimeintervalandtheCVRPimposesamaximumcapacityforeachvehicle.P.The)VRP)isa)NP-harȹdproblem,tymakingitdicult)tosolvetooptimality[B ps:SDict begin H.S endcolor push gray 029 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.nagata_edge_2009) cvn H.B /ANN pdfmark end].WhileexactalgorithmshavebeendevelopedfortheVRPs,thecomplexityoftheVRPcallsfortheuseofheuristics.Heuristicsprȹovidenear-optimalsolutionsinareason-able)amountof)timeinsteadofdoinganexhaustivesearȹch.5Higher-level)heuristics,alsoknownas0Y
14pplri8tmetaheuristics,arȹeheuristicsthatcontrȹolandoptimiseotherheuris-tics.Especially%#in%"thecaseoftheVRPs,mostmetaheuristicscanbeclassiedassingle-solution*metaheuristics,Ѽinthattheyoptimise+asinglesolutioniteratively. Population-based metaheuristicsontheotherhandoptimisetheprȹoblembylookingatmultiplesolutions.Therȹearemultipletypesofpopulation-basedalgorithmsandmethodolo-gies,
155notablygeneticalgorithmsandevolutionarystrategies.Thesemethodsarȹecalledevolutionaryalgorithms:2usingtechniquesadaptedfrȹomreallife,mutationandrȹeproduction to nameafewf, evolutionaryalgorithmsseektoprȹoducetoevolveagrȹoupgofsolutionsgintobetterones.Theseevolutionaryalgorithms(EA)gehavebeenappliedtotheVRPwithcompetitiverȹesults[B ps:SDict begin H.S endcolor push gray 025 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.mester_active_2005) cvn H.B /ANN pdfmark end,`B ps:SDict begin H.S end`color push gray 039 color pop ` ps:SDict begin H.R end `ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.prins_simple_2004) cvn H.B /ANN pdfmark end].The%VRP%khas%alsoseenanemerȹgentuseofhybridevolutionaryalgorithms,o$inwhichT7evolutionaryalgorithmsarȹeT6combinedwithheuristics.Forexample,Ecom-biningKaLgeneticalgorithmwithalocalsearȹchheuristicissuchanalgorithm.`2Suchhybrid EAswerȹenamedthememeticalgorithm(MA)by[ 4ps:SDict begin H.S endcolor push gray 027 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.moscato_evolution_1989) cvn H.B /ANN pdfmark end].MemeticalgorithmsPcolor push gray 0قE1 color popR[ps:SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if endOOps:SDict begin H.S endps:SDict begin H.R endDps:SDict begin [/View [/XYZ H.V]/Dest (page.2) cvn /DEST pdfmark end15\XPcolor push gray 0 color pop਍XPfor8theVRP4havebeenprȹoducedin9[B ps:SDict begin H.S endcolor push gray 029 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.nagata_edge_2009) cvn H.B /ANN pdfmark end,0B ps:SDict begin H.S end0color push gray 031 color pop 0 ps:SDict begin H.R end 0ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.nagata_penalty-based_2010) cvn H.B /ANN pdfmark end,0B ps:SDict begin H.S end0color push gray 039 color pop ps:SDict begin H.R endps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.prins_simple_2004) cvn H.B /ANN pdfmark end,1B ps:SDict begin H.S end1color push gray 040 color pop 1 ps:SDict begin H.R end 1ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.prins_two_2009) cvn H.B /ANN pdfmark end]8yieldinghigh-qualityresults.Hy-EPbridizingmetaheuristicsandEAsisaninterȹestingideainitself.MemeticalgorithmsParȹenonlynbutafewdecadesoldandtheiruseintheVRPmhasnotbeenwidelystud-Pied.FortheserȹeasonsgeneticandtheirtransformationintomemeticalgorithmsandPtheirapplicationsintheVRPwerȹechosenasthemainfocusofthisstudy.,WfebeginrstbydescribingtheVRPanditsvariantsandweprȹovideaformalPdenitionmtothemminB ps:SDict begin H.S endcolor push gray 0section2 color pop0[ ps:SDict begin H.R end0[zps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (section.2) cvn H.B /ANN pdfmark end.DierȹentkindsofalgorithmsandheuristicsandtheirPuseintheVRParȹethenstudiedinB ps:SDict begin H.S endcolor push gray 0section3 color pop2A ps:SDict begin H.R end2Azps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (section.3) cvn H.B /ANN pdfmark end.lFrȹommetaheuristicswemoveontoPpopulation-based,algorithms,xnotablygenetic,algorithmsandevolutionarystrate-PgiesandprȹovideageneraloverviewoftheirfunctionalityinB ps:SDict begin H.S endcolor push gray 0section4 color pop0: ps:SDict begin H.R end0:zps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (section.4) cvn H.B /ANN pdfmark end.:WfethenlookPatFhowEthesedierȹentapproachesFarecombinedFintoone,WthememeticalgorithminPB ps:SDict begin H.S endPcolor push gray 0section5 color popIk ps:SDict begin H.R endIkzps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (section.5) cvn H.B /ANN pdfmark end.TheBstudyCconcludeswithanoverviewofthestatusofMA*intheVRP)andPprȹesentssomepossibletopicsforfurtherresearchinB ps:SDict begin H.S endcolor push gray 0section6 color pop1{ ps:SDict begin H.R end1{zps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (section.6) cvn H.B /ANN pdfmark end.PbIps:SDict begin H.S endps:SDict begin 18.26991 H.A endGps:SDict begin [/View [/XYZ H.V]/Dest (section.2) cvn /DEST pdfmark endKō2TheVfehicleRoutingProblemC3kcolor push gray 0̔
16XXGk$ps:tx@Dict begin tx@NodeDict begin {6.0 2 div 8.31592 0.25795 add 2 div 2 copy 0.25795 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@M-1-1-3 11 {InitCnode } NewNode end end>" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 6.0 2 div 8.31592 0.25795 add 2 div 2 copy 0.25795 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end 3ۍ#֍Ќps:tx@Dict begin tx@NodeDict begin {6.0 2 div 8.31592 0.03595 add 2 div 2 copy 0.03595 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@M-1-2-1 11 {InitCnode } NewNode end end>" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 6.0 2 div 8.31592 0.03595 add 2 div 2 copy 0.03595 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end 2#֍aps:tx@Dict begin tx@NodeDict begin {6.0 2 div 8.31592 0.03595 add 2 div 2 copy 0.03595 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@M-1-3-5 11 {InitCnode } NewNode end end>" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 6.0 2 div 8.31592 0.03595 add 2 div 2 copy 0.03595 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end 4k%]ps:tx@Dict begin tx@NodeDict begin {6.0 2 div 8.31592 0.25795 add 2 div 2 copy 0.25795 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@M-1-3-8 11 {InitCnode } NewNode end end>" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 6.0 2 div 8.31592 0.25795 add 2 div 2 copy 0.25795 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end 5#֍Ќps:tx@Dict begin tx@NodeDict begin {6.0 2 div 8.31592 0.03595 add 2 div 2 copy 0.03595 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@M-1-4-1 11 {InitCnode } NewNode end end>" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 6.0 2 div 8.31592 0.03595 add 2 div 2 copy 0.03595 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end 1kkps:tx@Dict begin tx@NodeDict begin {6.0 2 div 8.31592 0.25795 add 2 div 2 copy 0.25795 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@M-1-5-4 11 {InitCnode } NewNode end end>" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 6.0 2 div 8.31592 0.25795 add 2 div 2 copy 0.25795 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end 0k%]ps:tx@Dict begin tx@NodeDict begin {6.0 2 div 8.31592 0.25795 add 2 div 2 copy 0.25795 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@M-1-5-8 11 {InitCnode } NewNode end end>" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 6.0 2 div 8.31592 0.25795 add 2 div 2 copy 0.25795 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end 6#֍ !ps:tx@Dict begin tx@NodeDict begin {6.0 2 div 8.31592 0.03595 add 2 div 2 copy 0.03595 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@M-1-6-7 11 {InitCnode } NewNode end end>" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 6.0 2 div 8.31592 0.03595 add 2 div 2 copy 0.03595 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end 7#֍Ќps:tx@Dict begin tx@NodeDict begin {12.0 2 div 8.31592 0.03595 add 2 div 2 copy 0.03595 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@M-1-7-1 11 {InitCnode } NewNode end end?" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 12.0 2 div 8.31592 0.03595 add 2 div 2 copy 0.03595 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end 11k$ps:tx@Dict begin tx@NodeDict begin {12.0 2 div 8.31592 0.25795 add 2 div 2 copy 0.25795 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@M-1-8-3 11 {InitCnode } NewNode end end?" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 12.0 2 div 8.31592 0.25795 add 2 div 2 copy 0.25795 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end 10kaps:tx@Dict begin tx@NodeDict begin {6.0 2 div 8.31592 0.25795 add 2 div 2 copy 0.25795 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@M-1-8-5 11 {InitCnode } NewNode end end>" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 6.0 2 div 8.31592 0.25795 add 2 div 2 copy 0.25795 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end 9k%]ps:tx@Dict begin tx@NodeDict begin {6.0 2 div 8.31592 0.25795 add 2 div 2 copy 0.25795 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@M-1-8-8 11 {InitCnode } NewNode end end>" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 6.0 2 div 8.31592 0.25795 add 2 div 2 copy 0.25795 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end 8ps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1.5 1.5 scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1.5 1.5 scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-5-4 /N@M-1-4-1 InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore endps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1.5 1.5 scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1.5 1.5 scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-4-1 /N@M-1-2-1 InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore endps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1.5 1.5 scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1.5 1.5 scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-2-1 /N@M-1-1-3 InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore endps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1.5 1.5 scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1.5 1.5 scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-1-3 /N@M-1-3-5 InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore endps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1.5 1.5 scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1.5 1.5 scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-3-5 /N@M-1-5-4 InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore endps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1.5 1.5 scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1.5 1.5 scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-5-4 /N@M-1-3-8 InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore endps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1.5 1.5 scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1.5 1.5 scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-3-8 /N@M-1-5-8 InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore endps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1.5 1.5 scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1.5 1.5 scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-5-8 /N@M-1-6-7 InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore endps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1.5 1.5 scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1.5 1.5 scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-6-7 /N@M-1-8-8 InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore endps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1.5 1.5 scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1.5 1.5 scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-8-8 /N@M-1-8-5 InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore endps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1.5 1.5 scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1.5 1.5 scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-8-5 /N@M-1-5-4 InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore endps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1.5 1.5 scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1.5 1.5 scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-5-4 /N@M-1-8-3 InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore endps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1.5 1.5 scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1.5 1.5 scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-8-3 /N@M-1-7-1 InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore endps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1.5 1.5 scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1.5 1.5 scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-7-1 /N@M-1-5-4 InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore endE0,Ncolor push gray 0Figurȹe1:Pps:SDict begin H.S endps:SDict begin H.R endFps:SDict begin [/View [/XYZ H.V]/Dest (figure.1) cvn /DEST pdfmark endThevehicleroutingproblemwiththreeseparateroutes. color pop color pop EInKthevehiclerȹoutingproblemtheobjectiveKistoproduceasetofminimum-costrȹoutesforaeetofvehicles.Thevehiclesarȹetodelivergoodsfrȹomcustomersfrȹoma9central9depot.e`Eachcustomermustbevisitedexactlyoncewithinarȹoute.eaThefamousTravellingSalesmanPrȹoblemisthusavariantoftheVRPinsofarastherȹeisnodepotandonlyonevehicle.AlgorithmsthatarȹeapplicableontheTSPcanbemodiedfortheVRPs..Pcolor push gray 0قE2 color popf(ps:SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if endOOps:SDict begin H.S endps:SDict begin H.R endDps:SDict begin [/View [/XYZ H.V]/Dest (page.3) cvn /DEST pdfmark end15\XPcolor push gray 0 color pop਍X,Thei1VRPi canbei2denedformallyasacompletedirȹectedgraph3
17zplmr7mGt
18zplmr7t=UR(VMz
19pplr7t,A)wherȹeEPV7=URG
20zplmr7yf1,2,:::\,ngwisvthesetofverticesandAthesetofarȹcs.Thevertex1isthedepotPservicinganidenticaleetofvehicles.AQnon-negativetravelcostcF3
13pplb8tContentsEPps:SDict begin H.S end1Introductionps:SDict begin 18.26991 H.L endzps:SDict begin [/Subtype /Link/Dest (section.1) cvn/H /I/Border [0 0 1]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark endU1Pps:SDict begin H.S end2TheVehicleRoutingProblemps:SDict begin 18.26991 H.L endzps:SDict begin [/Subtype /Link/Dest (section.2) cvn/H /I/Border [0 0 1]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark endU2Pps:SDict begin H.S end3StrategiesfortheVehicleRoutingProblemps:SDict begin 18.26991 H.L endzps:SDict begin [/Subtype /Link/Dest (section.3) cvn/H /I/Border [0 0 1]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark endU5E-Pps:SDict begin H.S end3.1Heuristicsps:SDict begin 18.26991 H.L endps:SDict begin [/Subtype /Link/Dest (subsection.3.1) cvn/H /I/Border [0 0 1]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark endPE..................................color push gray 05$ color pop-Pps:SDict begin H.S end3.2Metaheuristicsps:SDict begin 18.26991 H.L endps:SDict begin [/Subtype /Link/Dest (subsection.3.2) cvn/H /I/Border [0 0 1]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark endP9................................color push gray 07$ color popEPps:SDict begin H.S end4EvolutionaryAlgorithmsps:SDict begin 18.26991 H.L endzps:SDict begin [/Subtype /Link/Dest (section.4) cvn/H /I/Border [0 0 1]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark endU8-Pps:SDict begin H.S end4.1BackgrȹoundandPrinciplesofEvolutionaryAlgorithmsps:SDict begin 18.26991 H.L endps:SDict begin [/Subtype /Link/Dest (subsection.4.1) cvn/H /I/Border [0 0 1]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark endqO........color push gray 09$ color pop-Pps:SDict begin H.S end4.2TheGeneticAlgorithmps:SDict begin 18.26991 H.L endps:SDict begin [/Subtype /Link/Dest (subsection.4.2) cvn/H /I/Border [0 0 1]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark endP...........................color push gray 010$ color pop-Pps:SDict begin H.S end4.3EvolutionaryStrategiesps:SDict begin 18.26991 H.L endps:SDict begin [/Subtype /Link/Dest (subsection.4.3) cvn/H /I/Border [0 0 1]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark endP...........................color push gray 011$ color pop-Pps:SDict begin H.S end4.4Discussionps:SDict begin 18.26991 H.L endps:SDict begin [/Subtype /Link/Dest (subsection.4.4) cvn/H /I/Border [0 0 1]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark endPE..................................color push gray 012$ color pop-Pps:SDict begin H.S end4.5TheMemeticAlgorithmps:SDict begin 18.26991 H.L endps:SDict begin [/Subtype /Link/Dest (subsection.4.5) cvn/H /I/Border [0 0 1]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark endP..........................color push gray 013$ color popPps:SDict begin H.S end5GeneticandMemeticAlgorithmsintheVRPps:SDict begin 18.26991 H.L endzps:SDict begin [/Subtype /Link/Dest (section.5) cvn/H /I/Border [0 0 1]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark endU14-Pps:SDict begin H.S end5.1EncodingRoutingPrȹoblemsps:SDict begin 18.26991 H.L endps:SDict begin [/Subtype /Link/Dest (subsection.5.1) cvn/H /I/Border [0 0 1]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark endP ........................color push gray 014$ color pop-Pps:SDict begin H.S end5.2RecombinationPrȹoceduresps:SDict begin 18.26991 H.L endps:SDict begin [/Subtype /Link/Dest (subsection.5.2) cvn/H /I/Border [0 0 1]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark endP.........................color push gray 015$ color pop-Pps:SDict begin H.S end5.3RecentResultsfrȹomLiteratureps:SDict begin 18.26991 H.L endps:SDict begin [/Subtype /Link/Dest (subsection.5.3) cvn/H /I/Border [0 0 1]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark endO......................color push gray 017$ color popPps:SDict begin H.S end6ConclusionandFurtherResearchps:SDict begin 18.26991 H.L endzps:SDict begin [/Subtype /Link/Dest (section.6) cvn/H /I/Border [0 0 1]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark endU18Pps:SDict begin H.S end7Referencesps:SDict begin 18.26991 H.L endzps:SDict begin [/Subtype /Link/Dest (section.7) cvn/H /I/Border [0 0 1]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark endU19Pcolor push gray 0Oi color pop*_ps:SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if endOOps:SDict begin H.S endps:SDict begin H.R endDps:SDict begin [/View [/XYZ H.V]/Dest (page.1) cvn /DEST pdfmark end15\XPcolor push gray 0 color pop਍PzXps:SDict begin H.S endps:SDict begin 18.26991 H.A endGps:SDict begin [/View [/XYZ H.V]/Dest (section.1) cvn /DEST pdfmark end 1IntroductionEThe`vehiclerȹoutingaproblem`(VRP)CisacombinatorialoptimisationprȹoblemthathasEbeenLCwidelystudiedinoperationsrȹesearch.WhileLCitisacademicallychallengingdue͟toits͞complexnaturȹe,theVRPjalsohastremendous͞practicalandeconomicalimportanceMintheeldsoflogisticsandtransportation.|Itisespeciallyimportantduetoxeitsapplicability,asxdVRPxCanditsxevariationsarȹebasedonxdtangiblereal-lifeproblems.ThejvehicleirȹoutingproblemiwasrstdescribedbyDantzigandRamser[B ps:SDict begin H.S endcolor push gray 09 color pop ps:SDict begin H.R endps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.dantzig_truck_1959) cvn H.B /ANN pdfmark end]asanoptimisationdprȹobleminwhichetheobjectiveistondasetofminimum-costvehiclerȹoutes[fordeliveringgoodstocustomersfrom\acentraldepot.aEachcustomermustbevisitedexactlyoncebyasinglevehicle.MBycostwemeantraveldistance,whichisthevalueweseektominimise.Theprȹoblemhasmultiplevariations.Afewofthemarȹethevehicleroutingproblemwithtimewindows(VRPTW)andthecapacitatedvehicle/rȹouting.problem(CVRP)..VRPTWaddsatimewindowconstraintssothateachcustomermustbeservedwithinagiventimeinterval,=UandCVRPimposesamaximumcapacityforeachvehicle.The'vehicle&rȹoutingproblem&isaNP-harȹdproblem,pmaking&itdiculttosolvetooptimality[B ps:SDict begin H.S endcolor push gray 028 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.nagata_edge_2009) cvn H.B /ANN pdfmark end].zWhileexactalgorithmshavebeendevelopedforVRPs,thecom-plexityofVRPcallsfortheuseofheuristicsandmetaheuristics.(Heuristicsprȹovidenearȹ-optimali.solutionsi/inareasonablei/amountoftimeinsteadofdoinganexhaus-tive,osearȹch.=Metaheuristicsareheuristics,nthatoperatealevelhighertothatofrȹegu-lar>heuristics.Especiallyin=thecaseofVRPs,mostmetaheuristicscanbeclassiedas0Y
14pplri8tsingle-solution!metaheuristics,inthattheyoptimisea"singlesolutioniteratively[ 4ps:SDict begin H.S endcolor push gray 042 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.talbi_metaheuristics_2009) cvn H.B /ANN pdfmark end].Population-basedmetaheuristicsܻontheotherhandoptimisetheprȹoblembylookingatB\multiplesolutions.
15dTherȹeB]areB\multipletypesofpopulation-basedalgorithmsand methodologies,Knotablygeneticalgorithmsandevolutionarystrategies.kkThesemethods Aarȹe @calledevolutionaryalgorithms(EA),usingtechniquesadaptedfrȹomreallife,ye.g.mutationm.andm-rȹeproduction.Evolutionarym.algorithmsseekm-toprȹoducetoevolveagrȹoupofsolutionsintobetterones.:NTheseevolutionaryalgorithmshavebeenappliedtoVRPwithcompetitiverȹesults[ 4ps:SDict begin H.S endcolor push gray 024 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.mester_active_2005) cvn H.B /ANN pdfmark end,`B ps:SDict begin H.S end`color push gray 038 color pop ` ps:SDict begin H.R end `ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.prins_simple_2004) cvn H.B /ANN pdfmark end].Thethevehiclerȹoutingproblemhasalsoseenanemergentuseofhybridevolu-tionaryalgorithms,`inwhichevolutionaryalgorithmsarȹecombinedwithheuristics,for$example%alocalsearȹch.SuchhybridEAswerȹenamedthememeticalgorithm(MA)by$[B ps:SDict begin H.S endcolor push gray 026 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.moscato_evolution_1989) cvn H.B /ANN pdfmark end].&MemeticalgorithmsforVRP$havebeenprȹoduced$in[B ps:SDict begin H.S endcolor push gray 028 color pop ps:SDict begin H.R endps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.nagata_edge_2009) cvn H.B /ANN pdfmark end,B ps:SDict begin H.S endcolor push gray 030 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.nagata_penalty-based_2010) cvn H.B /ANN pdfmark end,B ps:SDict begin H.S endcolor push gray 038 color pop ps:SDict begin H.R endps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.prins_simple_2004) cvn H.B /ANN pdfmark end,B ps:SDict begin H.S endcolor push gray 039 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.prins_two_2009) cvn H.B /ANN pdfmark end]$yieldinghigh-quality6rȹesults.UHybridizingmetaheuristicsandEAsisan5interestingideainitself.'kMemetic%algorithms% rstappearȹedin1989andtheiruseinVRP$hasnotbeenPcolor push gray 0قE1 color popHps:SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if endOOps:SDict begin H.S endps:SDict begin H.R endDps:SDict begin [/View [/XYZ H.V]/Dest (page.2) cvn /DEST pdfmark end15\XPcolor push gray 0 color pop਍XPwidelyYstudied.mThisstudyXattemptstorȹeviewtherecentXadvancesinmemeticalgo-EPrithmsinVRPs.,The&rȹemainderofthis%thesisisstrpucturedasfollows.Wfe%beginrstbydescribingPVRPanditsvariantsandweprȹovideaformaldenitiontotheminB ps:SDict begin H.S endcolor push gray 0section2 color pop0[ ps:SDict begin H.R end0[zps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (section.2) cvn H.B /ANN pdfmark end.FDierȹ-Pent'kinds'ofalgorithms,1heuristicsandmetaheuristicstheiruseintheVRP'arȹethenPstudiedXinXB ps:SDict begin H.S endXcolor push gray 0section3 color pop0si ps:SDict begin H.R end0sizps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (section.3) cvn H.B /ANN pdfmark end.InXB ps:SDict begin H.S endXcolor push gray 0section4 color pop ps:SDict begin H.R endzps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (section.4) cvn H.B /ANN pdfmark endweshiftXfocustowarȹdsevolutionaryalgorithms,zXno-PtablyHgeneticHalgorithmsandevolutionarystrategiesandprȹovideageneraloverviewPofQtheirfunctionality.WfethenexaminehowtoQcombinethesedierȹentapproachesPinto³the²memeticalgorithmsin?? j.Thestudyconcludeswithanoverviewofthesta-PtusofMAinVRPandprȹesentssomepossibletopicsforfurtherrȹesearchin؞B ps:SDict begin H.S endcolor push gray 0section6 color pop0S ps:SDict begin H.R end0Szps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (section.6) cvn H.B /ANN pdfmark end.PbIps:SDict begin H.S endps:SDict begin 18.26991 H.A endGps:SDict begin [/View [/XYZ H.V]/Dest (section.2) cvn /DEST pdfmark endKō2TheVfehicleRoutingProblemEThissectiongivesanintrȹoductiontoVRPandprovidesaformaldescriptionthereof.Wfe`alsoaprȹovidealinearprogrammingamodelforVRP:andafewofitsextensions.In thevehiclerȹoutingproblem,Ntheobjectiveistoproduceasetofminimum-costrȹoutescforcaeetofvehicles.Thevehiclesarȹetodelivergoodstocustomersfrȹomacentralۇdepot.JEachۈcustomermustbevisitedexactlyonce.JThefamousTravellingSalesmanPrȹoblem(TSP)isthusavariantofVRPinsofarastherȹeisnodepotandonlyoneNZvehicle._bIps:SDict begin H.S end_color push gray 0Figurȹe1 color pop2O ps:SDict begin H.R end2Oyps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (figure.1) cvn H.B /ANN pdfmark endshowsanexampleinstanceofN[thevehiclerȹoutingproblem.Thegurȹedepictsthreeroutesstartingandendingfromandtothedepot3
16zplmr7md.S3kcolor push gray 0̔
17XXGk$ps:tx@Dict begin tx@NodeDict begin {6.0 2 div 8.31592 0.25795 add 2 div 2 copy 0.25795 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@M-1-1-3 11 {InitCnode } NewNode end end>" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 6.0 2 div 8.31592 0.25795 add 2 div 2 copy 0.25795 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end 3ۍ#֍Ќps:tx@Dict begin tx@NodeDict begin {6.0 2 div 8.31592 0.03595 add 2 div 2 copy 0.03595 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@M-1-2-1 11 {InitCnode } NewNode end end>" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 6.0 2 div 8.31592 0.03595 add 2 div 2 copy 0.03595 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end 2#֍aps:tx@Dict begin tx@NodeDict begin {6.0 2 div 8.31592 0.03595 add 2 div 2 copy 0.03595 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@M-1-3-5 11 {InitCnode } NewNode end end>" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 6.0 2 div 8.31592 0.03595 add 2 div 2 copy 0.03595 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end 4k%]ps:tx@Dict begin tx@NodeDict begin {6.0 2 div 8.31592 0.25795 add 2 div 2 copy 0.25795 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@M-1-3-8 11 {InitCnode } NewNode end end>" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 6.0 2 div 8.31592 0.25795 add 2 div 2 copy 0.25795 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end 5#֍Ќps:tx@Dict begin tx@NodeDict begin {6.0 2 div 8.31592 0.03595 add 2 div 2 copy 0.03595 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@M-1-4-1 11 {InitCnode } NewNode end end>" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 6.0 2 div 8.31592 0.03595 add 2 div 2 copy 0.03595 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end 1kkps:tx@Dict begin tx@NodeDict begin {6.0 2 div 8.31592 0.25795 add 2 div 2 copy 0.25795 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@M-1-5-4 11 {InitCnode } NewNode end end>" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 6.0 2 div 8.31592 0.25795 add 2 div 2 copy 0.25795 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end 0k%]ps:tx@Dict begin tx@NodeDict begin {6.0 2 div 8.31592 0.25795 add 2 div 2 copy 0.25795 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@M-1-5-8 11 {InitCnode } NewNode end end>" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 6.0 2 div 8.31592 0.25795 add 2 div 2 copy 0.25795 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end 6#֍ !ps:tx@Dict begin tx@NodeDict begin {6.0 2 div 8.31592 0.03595 add 2 div 2 copy 0.03595 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@M-1-6-7 11 {InitCnode } NewNode end end>" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 6.0 2 div 8.31592 0.03595 add 2 div 2 copy 0.03595 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end 7#֍Ќps:tx@Dict begin tx@NodeDict begin {12.0 2 div 8.31592 0.03595 add 2 div 2 copy 0.03595 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@M-1-7-1 11 {InitCnode } NewNode end end?" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 12.0 2 div 8.31592 0.03595 add 2 div 2 copy 0.03595 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end 11k$ps:tx@Dict begin tx@NodeDict begin {12.0 2 div 8.31592 0.25795 add 2 div 2 copy 0.25795 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@M-1-8-3 11 {InitCnode } NewNode end end?" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 12.0 2 div 8.31592 0.25795 add 2 div 2 copy 0.25795 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end 10kaps:tx@Dict begin tx@NodeDict begin {6.0 2 div 8.31592 0.25795 add 2 div 2 copy 0.25795 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@M-1-8-5 11 {InitCnode } NewNode end end>" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 6.0 2 div 8.31592 0.25795 add 2 div 2 copy 0.25795 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end 9k%]ps:tx@Dict begin tx@NodeDict begin {6.0 2 div 8.31592 0.25795 add 2 div 2 copy 0.25795 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@M-1-8-8 11 {InitCnode } NewNode end end>" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 6.0 2 div 8.31592 0.25795 add 2 div 2 copy 0.25795 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end 8ps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1.5 1.5 scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1.5 1.5 scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-5-4 /N@M-1-4-1 InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore endps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1.5 1.5 scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1.5 1.5 scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-4-1 /N@M-1-2-1 InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore endps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1.5 1.5 scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1.5 1.5 scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-2-1 /N@M-1-1-3 InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore endps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1.5 1.5 scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1.5 1.5 scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-1-3 /N@M-1-3-5 InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore endps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1.5 1.5 scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1.5 1.5 scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-3-5 /N@M-1-5-4 InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore endps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1.5 1.5 scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1.5 1.5 scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-5-4 /N@M-1-3-8 InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore endps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1.5 1.5 scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1.5 1.5 scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-3-8 /N@M-1-5-8 InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore endps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1.5 1.5 scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1.5 1.5 scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-5-8 /N@M-1-6-7 InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore endps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1.5 1.5 scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1.5 1.5 scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-6-7 /N@M-1-8-8 InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore endps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1.5 1.5 scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1.5 1.5 scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-8-8 /N@M-1-8-5 InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore endps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1.5 1.5 scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1.5 1.5 scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-8-5 /N@M-1-5-4 InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore endps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1.5 1.5 scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1.5 1.5 scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-5-4 /N@M-1-8-3 InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore endps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1.5 1.5 scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1.5 1.5 scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-8-3 /N@M-1-7-1 InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore endps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1.5 1.5 scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1.5 1.5 scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-7-1 /N@M-1-5-4 InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore endE0,Ncolor push gray 0Figurȹe1:Pps:SDict begin H.S endps:SDict begin H.R endFps:SDict begin [/View [/XYZ H.V]/Dest (figure.1) cvn /DEST pdfmark endThevehicleroutingproblemwiththreeseparateroutes. color pop color pop EVRPcanbedenedformallyasacompletedirȹectedgraphGRt
18zplmr7t=Y(VMz
19pplr7t,A)wherePcolor push gray 0قE2 color popaps:SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if endOOps:SDict begin H.S endps:SDict begin H.R endDps:SDict begin [/View [/XYZ H.V]/Dest (page.3) cvn /DEST pdfmark end15\XPcolor push gray 0 color pop਍XPV7=URG
20zplmr7yf0,1,:::\,ngwisvthesetofverticesandAthesetofarȹcs.Thevertex0isthedepotEPservicinganidenticaleetofvehicles.AQnon-negativetravelcostcF3
21zplmr7mi j21zplmr7mi j
222^isassociatedPwith (every 'arȹc(i,jL)j2A,ip6=jL̻.The (prȹoblemissymmetrical,h1sothatcFi j =jcFj9i222^isassociatedPwith (every 'arȹc(i,jL)j2A,ip6=jL̻.The (prȹoblemissymmetrical,h1sothatcFi j =jcFj9i
23dforPeveryarȹc(i,jL).,The.objectiveisthen.todetermineleastcostrȹoutesforaminimumnumberofPvehiclessothat:EPcolor push gray 0 color pop8yeachvertexapartfrȹomthedepotisvisitedexactlyoncebyexactlyonevehiclePcolor push gray 0 color pop8yallrȹoutesstartandendatthedepot,Thecostmatrixcsatisesthetriangleinequality:Emps:SDict begin H.S endmcli k Ӏ+USclkj $#URcFi j Dлforall+Wi,jL̽,k62VM.ps:SDict begin 18.26991 H.A endJps:SDict begin [/View [/XYZ H.V]/Dest (equation.2.1) cvn /DEST pdfmark endW)color push gray 0(1) color popPSo/thatdeviatingfrȹom0thedirectcFi j linkbetweentwoverticesi屻andjbecomesinfea-EPsible.FQ()istheobjectivefunctionthatdetermineshowgoodarȹouteisbycalcu-Plating+itslength.:Hencethetotallength+ofalltherȹoutesusedtoserveallcustomersPanditistheprincipalvalueweseektooptimise.Pbps:SDict begin H.S endps:SDict begin 18.26991 H.A endLps:SDict begin [/View [/XYZ H.V]/Dest (subsection.2.1) cvn /DEST pdfmark endЍ2.1TheCapacitatedVehicleRoutingProblemThe8above8denitionisratherminimal.b(Itspossibleapplicationsarȹequitescarȹce,and in rȹeality,hourrouting problemsare farmore complex.@Oneneedstokeepinmind}thatvehiclescannotcarryaninnite~amountofgoodsnorcantheytravelindenitely.ThusDtoDrȹealisticallyapplytheVRPDrtorȹeal-lifesituationsweneedtointrȹoduceadditionalrestrictionstherebycreatingvariantsܻoftheVRPs.TherstandmostbasicvariantoftheVRPisthecapacitatedvehiclerȹoutingproblemһ(CVRP).TheCVRP-imposes-amaximumcapacityforeachvehicle.AIntheCVRPs,thedemandsoftheacustomersbarȹeknowninadvanceandmaynotbesplit.pEachvehiclehasacapac-ityNQMthatcollectsademandqFidateachvertex(customer)ij2URVn3Xf1g.Themaximumcapacitykforalrȹouteisthendenedasfollows.Givenarȹouter,Vlethi'hz
24pplr7t1,i׾2,:::\,i'hnt
25zplmr7t+1oikbetheoSsequenceoRofthecustomersinthatrȹouteandleti'h1oSandi'hn+1-»rȹepresenttheoSdepot.9Eachrȹoutesatisesthecapacityconstraintif
26>n 5~
27zplmr7vX j9=2qFio3
28zplmr7mj \URQ.Pcolor push gray 0قE3 color popps:SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if endOOps:SDict begin H.S endps:SDict begin H.R endDps:SDict begin [/View [/XYZ H.V]/Dest (page.4) cvn /DEST pdfmark end15\XPcolor push gray 0 color pop਍PzXps:SDict begin H.S endps:SDict begin 18.26991 H.A endLps:SDict begin [/View [/XYZ H.V]/Dest (subsection.2.2) cvn /DEST pdfmark end 2.2TheVehicleRoutingProblemwithTWimeWVindowsThe03VRPTW0&extendsthe02VRP0'byimposing03capacityrȹestrictionsas02intheCVRPbutEalso5ibyassociatingeachcustomeriJwitha5htimeinterval[aFi:,bFi]5icalledatimewindow.ThevtimeuinstantinwhichthevehiclesleavethedepotandthetraveltimetFi jEforeacharȹc(i,jL)UR2Aisalsogiven.PTherȹeisalsoaservicetimesFi:ateachcustomeri.The"service"ofeachcustomermuststartwithintheassociatedtimewindowandthepvehicleomuststopatthecustomerlocationforthedurationofsFi:.uAwaitingtimeispintrȹoducedifothevehiclearrivesatcustomeribeforȹeaFi:,thelowerboundofthetimeinterval.MuchިlikeinީtheCVRPs,intheVRPTWޟtheobjectiveistorstminimisethenum-berofvehiclesandtominimisethetravelcost(distance)andtraveltimeforeachvehicle.In"the!nextsectionwewilldiscussdierȹentapproacheson"howtoapproachtheseprȹoblemsinpractice.bIps:SDict begin H.S endps:SDict begin 18.26991 H.A endGps:SDict begin [/View [/XYZ H.V]/Dest (section.3) cvn /DEST pdfmark endKō3StrategiesforthevehicleroutingproblemETheFvehicleFrȹoutingproblemisaFNP-hardproblem,XhenceitisdicultFtooptimise.Mostexactalgorithmsusingeuclideandistanceshaveonlyprȹovidedsolutionsforup`to`75vehicles[B ps:SDict begin H.S endcolor push gray 046 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.toth_exact_1998) cvn H.B /ANN pdfmark end].9Therȹeasonforthisisthatexactalgorithmsperformanexhaus-tive\searȹch\andduetothecomplexityoftheVRP\thecomputationaltimerȹequired\bytheseo&algorithmsscalesimmenselyo%veryquickly.Thusanexhaustivesearȹchbecomesimpractical.In
29theVRP
30itmakessensetouseheuristics, 6apprȹoachesthatdonotnec-essarily prȹovide thebestpossiblesolution,Mbutprȹovidesolutionsinanacceptablecomputational>otime.sForexamplesof>nexactalgorithmsbasedonbranch-boundandbranch-and-cutsolutionstherȹeaderisreferredto[ 4ps:SDict begin H.S endcolor push gray 047 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.toth_vehicle_2002) cvn H.B /ANN pdfmark end]and[B ps:SDict begin H.S endcolor push gray 016 color pop ps:SDict begin H.R endps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.golden_vehicle_2008) cvn H.B /ANN pdfmark end].}dps:SDict begin H.S endps:SDict begin 18.26991 H.A endLps:SDict begin [/View [/XYZ H.V]/Dest (subsection.3.1) cvn /DEST pdfmark end ΍3.1HeuristicapproachesInUessence,%)heuristicsprȹovidesolutionsTthatareTgoodenough:&abettersolutionislikely toexist,butanexhaustivesearȹch foritmightbetooexpensivetime-wise.In|thecaseoftheVRPs,aheuristicinitssimplestformmightbeanalgorithmthatswapsarȹcsbetweenverticesinarȹouteandthenevaluatesthelength.:.Ifthelengthis{shorter,thatzismorȹeoptimalthanprȹeviously,theroutezbecomesthebestknownsolutionBthusfar.~ThisisthenrȹepeatedandultimatelyBtheobtainedsolutionwilllikely5bemorȹe5optimalthanthesolutionwestartedwith.WThisisarȹoughoutlineofPcolor push gray 0قE4 color popps:SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if endOOps:SDict begin H.S endps:SDict begin H.R endDps:SDict begin [/View [/XYZ H.V]/Dest (page.5) cvn /DEST pdfmark end15\XPcolor push gray 0 color pop਍XPanimprȹovementheuristic,whichwewilldiscussfurtherinB ps:SDict begin H.S endcolor push gray 0subsection3.2 color popM,Qops:SDict begin H.R endM,ps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (subsection.3.2) cvn H.B /ANN pdfmark end.E,MostR|heuristicsR}intheVRPRgcanbedistinguishedintothrȹeecategories:]Iconstrpuc-Ptionheuristics,imprȹovementheuristicsandmetaheuristics.Ofthese,constrpuctionPheuristicsvandimprȹovementheuristicsareclassicalvݻheuristicswithmostofthemhav-PingDkbeendevelopedinbetween1960and1990,UwherȹeasmetaheuristicsareanewerPapprȹoach.sFormoreinformationaboutheuristicapprȹoachestotheVRPingeneralPwerȹecommendthestudybyTfothandVWigo[ 4ps:SDict begin H.S endcolor push gray 047 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.toth_vehicle_2002) cvn H.B /ANN pdfmark end].Pbps:SDict begin H.S endps:SDict begin 18.26991 H.A endLps:SDict begin [/View [/XYZ H.V]/Dest (subsection.3.2) cvn /DEST pdfmark endЍ3.2ClassicalheuristicsClassicalheuristicsconsistoftwodistinctcategories:constrpuctionheuristicsandimprȹovementheuristics.Constrpuctionheuristicsareusedtobuildaninitialfeasi-blevsolutionbyinsertingvunvisitedverticesintorȹouteswitheachiteration.Oncethe{initialsolutionisconstrpucted,imprȹovementheuristicsarethenusedtoitera-tivelyimprȹovetheinitialsolution.Improvementheuristicsperformlocalsearchesinneighbourȹhoods,Jgroupsofsolutionsthatcanbereachedfromthecurrentsolutionswithasmallamountofarȹcorvertexexchangesandarethuscalledneighbours.$2ps:SDict begin H.S endps:SDict begin 18.26991 H.A endHps:SDict begin [/View [/XYZ H.V]/Dest (section*.2) cvn /DEST pdfmark endConstructionheuristics损[color push gray 0r~&荍&鍒<ps:tx@Dict begin tx@NodeDict begin {6.0 2 div 8.3759 0.07191 add 2 div 2 copy 0.07191 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@M-1-1-2 11 {InitCnode } NewNode end end=" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 6.0 2 div 8.3759 0.07191 add 2 div 2 copy 0.07191 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end 1&鍒!ps:tx@Dict begin tx@NodeDict begin {6.0 2 div 8.3759 0.07191 add 2 div 2 copy 0.07191 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@M-1-1-6 11 {InitCnode } NewNode end end=" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 6.0 2 div 8.3759 0.07191 add 2 div 2 copy 0.07191 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end 1  OjKps:tx@Dict begin tx@NodeDict begin {6.29999 2 div 8.736 0.11398 add 2 div 2 copy 0.11398 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@M-1-2-1 11 {InitCnode } NewNode end end@" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 6.29999 2 div 8.736 0.11398 add 2 div 2 copy 0.11398 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end dps:tx@Dict begin tx@NodeDict begin {6.0 2 div 8.19588 0.19197 add 2 div 2 copy 0.19197 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@M-1-2-3 11 {InitCnode } NewNode end end>" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 6.0 2 div 8.19588 0.19197 add 2 div 2 copy 0.19197 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end 3Ops:tx@Dict begin tx@NodeDict begin {6.29999 2 div 8.736 0.11398 add 2 div 2 copy 0.11398 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@M-1-2-5 11 {InitCnode } NewNode end end@" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 6.29999 2 div 8.736 0.11398 add 2 div 2 copy 0.11398 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end dHps:tx@Dict begin tx@NodeDict begin {6.0 2 div 8.19588 0.19197 add 2 div 2 copy 0.19197 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@M-1-2-7 11 {InitCnode } NewNode end end>" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 6.0 2 div 8.19588 0.19197 add 2 div 2 copy 0.19197 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end 3ލ<ps:tx@Dict begin tx@NodeDict begin {6.0 2 div 8.19588 0.07191 add 2 div 2 copy 0.07191 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@M-1-3-2 11 {InitCnode } NewNode end end>" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 6.0 2 div 8.19588 0.07191 add 2 div 2 copy 0.07191 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end 2ލ!ps:tx@Dict begin tx@NodeDict begin {6.0 2 div 8.19588 0.07191 add 2 div 2 copy 0.07191 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@M-1-3-6 11 {InitCnode } NewNode end end>" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 6.0 2 div 8.19588 0.07191 add 2 div 2 copy 0.07191 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end 2ps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-2-1 /N@M-1-1-2 InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore endps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-1-2 /N@M-1-3-2 InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore endps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-3-2 /N@M-1-2-1 InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore endps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-2-5 /N@M-1-1-6 InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore endps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-1-6 /N@M-1-2-7 InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore endps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-2-7 /N@M-1-3-6 InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore endps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-3-6 /N@M-1-2-5 InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore endps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-1-6 /N@M-1-3-6 InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 3.0 -2 0 add DotLine grestore grestore endDps:tx@Dict begin tx@NodeDict begin /t .5 def LPut end PutBegin endl7O>" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.0 SLW 1 setgray 0. true 3.0 neg 3.0 neg 14.38092 5.84544 .5 Frame gsave 1 setgray 1. .setopacityalpha fill grestore end o aps:tx@Dict begin PutEnd end"̍Figurȹe 2:gps:SDict begin H.S endps:SDict begin H.R endFps:SDict begin [/View [/XYZ H.V]/Dest (figure.2) cvn /DEST pdfmark endAnexampleofaheuristic,1theinsertionheuristic.ڼThevertex1z
23dforPeveryarȹc(i,jL).,Thecostmatrixcsatisesthetriangleinequality:Pps:SDict begin H.S endps:SDict begin 18.26991 H.A endJps:SDict begin [/View [/XYZ H.V]/Dest (equation.2.1) cvn /DEST pdfmark endYmcli k Ӏ+USclkj $#URcFi j Dлforall+Wi,jL̽,k62VM.W)(1)YPSo/thatdeviatingfrȹom0thedirectcFi j linkbetweentwoverticesi屻andjbecomesinfea-Psible.,However,theobasicVRPomodelisratherunrȹealistic:inreal-lifesituations,vehi-Pcles;cannot;carryaninniteamountofgoodsnorcantheytravelindenitely.kThusPto0rȹealistically/applyVRPtorȹeal-lifesituationsweneedtoimposecertainrȹestric-Ptions.The@mostAfundamentalrȹestrictionisthatofcapacity,RwhichisintrȹoducedinPthecapacitatedvehicleroutingproblem(CVRP).,CVRPgimposesgxagwmaximumcapacityforeachvehicle.InCVRPs,thedemandsPof"the#customersarȹeknowninadvanceandmaynotbesplit. EachvehiclehasaPcapacity`Qthatcollects`ademanddFiateachvertex(customer)i22Vn׳f1g.\ThePmaximumecapacityeforarȹouteisthendenedasfollows.1GivenarȹoutedenedPbyDhiz
24pplr7t0,i'h1,:::\,iniEbeDthesequenceofthecustomersinthatrȹouteandleti׾0 EandinPrȹepresentthedepot.PEachrȹoutesatisesthecapacityconstraintif
25zplmr7vP nG
26zplmr7y1  j9t
27zplmr7t=1 ?kdFio3
28zplmr7mj \URQ.,TheҁvehicleҀroutingproblemwithtimewindowsextendstheVRPtbyimposingPcapacityXrȹestrictionsasYinCVRPVbutalsobyassociatingeachcustomeriڻwithatimePinterval?[aFi:,bFi]?ɻcalledatimewindow.wThetimeinstantinwhichthevehiclesleavePthedepotandthetraveltimetFi j
29foreacharȹc(i,jL)2ҀAisalsogiven.!ThereisalsoPaC servicetimesFi}!ateachcustomeri.qTheserviceofeachcustomermuststartwithinPthegassociatedtimewindowgandthevehiclemuststopatthecustomerlocationforPthedurationofsFi:.+A^waitingtimeisintrȹoducedifthevehiclearrivesatcustomerPiKbeforȹe5aFi:,thelowerboundofthe5timeinterval.Y*Additionally,atimewindowisPassociatedywithxthedepotatnodes0andnl+m1,suchthat[a׾0,b׾0]=[a'hn+1o,b'hn+1]=P[EL̽,L].WHenceWE?$andLXarȹetheWearliestpossibledeparturȹeandarrivaltimesforthePdepot,rȹespectively.PFeasiblesolutionsexistif,GivenPthesedescriptions,theprȹoblemobjectiveisthentondOaminimumKPcycles,thecosttherȹeofdenedbythesumoftheirassociatedarcs,sothat͍Pcolor push gray 0 color pop8yeachѱvertexapartѲfrȹomthedepotisvisitedexactlyoncebyexactlyonevehicle,8yandPcolor push gray 0قE3 color popsps:SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if endOOps:SDict begin H.S endps:SDict begin H.R endDps:SDict begin [/View [/XYZ H.V]/Dest (page.4) cvn /DEST pdfmark end15\XPcolor push gray 0 color pop਍XPcolor push gray 0 color pop8yallrȹoutesstartandendatthedepot,andEPcolor push gray 0 color pop8ythe<sum;ofthedemandsonarȹouteforeachvehicledoesnotexceedthecapac-E8yityQandPcolor push gray 0 color pop8yforyeachycustomeritheservicestartswithinthetimewindow[aFi:,bFi]andyis8yservicedforthedurationsFi:.E,ThefaboveconditionscanthenbemodeledusingthefollowingintegerlinearPprȹogrammingImodel.{XTheeetsetk62URKisItheeetofvehicles.ThedecisionvariablePxލkhi j 9=ν1]ifthearȹc(i,jL)belongstotherouteoperated^bythevehiclekG,t0otherwise;Pandyli k =I1ifcustomeriisservedbyvehiclekG,otherwise0;$wli k~-,8i_r2IVM,8k+72IKěisPthestarttimeoftheservicetocustomeribythevehiclekG.PbIps:SDict begin H.S endps:SDict begin 18.26991 H.A endJps:SDict begin [/View [/XYZ H.V]/Dest (equation.2.2) cvn /DEST pdfmark endЦ`minğ~X k2KԢ~X i 2V^~X U_j92VzcFi jDx Dkhi j(2) subjecttops:SDict begin H.S endps:SDict begin 18.26991 H.A endJps:SDict begin [/View [/XYZ H.V]/Dest (equation.2.3) cvn /DEST pdfmark end)~X 2k2Kr~X Pi 2V<x Dkhi j "=UR1, 8ij2V7nUSf0g,(3)ps:SDict begin H.S endps:SDict begin 18.26991 H.A endJps:SDict begin [/View [/XYZ H.V]/Dest (equation.2.4) cvn /DEST pdfmark end֟~X )i 2Vʠx Dkhi 0 h=UR1, 8k62K@,(4)ps:SDict begin H.S endps:SDict begin 18.26991 H.A endJps:SDict begin [/View [/XYZ H.V]/Dest (equation.2.5) cvn /DEST pdfmark end~X Dj92Vʠx Dkh0j ` =UR1, 8k62K@,(5)ps:SDict begin H.S endps:SDict begin 18.26991 H.A endJps:SDict begin [/View [/XYZ H.V]/Dest (equation.2.6) cvn /DEST pdfmark endt ~X ri 2Vtx Dkhi j#R~X USj92Vnx Dkhj9i "=UR0,8i,j2VM,8k62K@,(6)ps:SDict begin H.S endps:SDict begin 18.26991 H.A endJps:SDict begin [/View [/XYZ H.V]/Dest (equation.2.7) cvn /DEST pdfmark end~X )i 2V^|dFi:yli k
30URQ, 8k62K@,(7)ps:SDict begin H.S endps:SDict begin 18.26991 H.A endJps:SDict begin [/View [/XYZ H.V]/Dest (equation.2.8) cvn /DEST pdfmark endmx Dkhi j "2URf0,1g,8i,j2VM,8k62K(8)( 4ps:SDict begin H.S endcolor push gray 02 color pop ps:SDict begin H.R end}ps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (equation.2.2) cvn H.B /ANN pdfmark end)#oistheobjectivefunctionweseektominimize.Frȹomtheconstraints(B ps:SDict begin H.S endcolor push gray 03 color pop ps:SDict begin H.R end}ps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (equation.2.3) cvn H.B /ANN pdfmark end)z(B ps:SDict begin H.S endcolor push gray 06 color pop ps:SDict begin H.R end}ps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (equation.2.6) cvn H.B /ANN pdfmark end) ,(B ps:SDict begin H.S endcolor push gray 03 color pop ps:SDict begin H.R end}ps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (equation.2.3) cvn H.B /ANN pdfmark end)saysthateachvertexisvisitedexactlyonce.( 4ps:SDict begin H.S endcolor push gray 04 color pop ps:SDict begin H.R end}ps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (equation.2.4) cvn H.B /ANN pdfmark end)and(B ps:SDict begin H.S endcolor push gray 05 color pop ps:SDict begin H.R end}ps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (equation.2.5) cvn H.B /ANN pdfmark end)0!imposethateachvehiclebeginsandendsitsrȹouteatthedepot.(B ps:SDict begin H.S endcolor push gray 06 color pop ps:SDict begin H.R end}ps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (equation.2.6) cvn H.B /ANN pdfmark end)a9statesthatthesamevehiclearrivesanddeparts}frȹom~eachcustomeritserves.(B ps:SDict begin H.S endcolor push gray 08 color pop ps:SDict begin H.R end}ps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (equation.2.8) cvn H.B /ANN pdfmark end) 4isthesetofintegrityconstraints.( 4ps:SDict begin H.S endcolor push gray 07 color pop ps:SDict begin H.R end}ps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (equation.2.7) cvn H.B /ANN pdfmark end) 4isthecapacityconstraintforeachvehicle.Pcolor push gray 0قE4 color popQps:SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if endOOps:SDict begin H.S endps:SDict begin H.R endDps:SDict begin [/View [/XYZ H.V]/Dest (page.5) cvn /DEST pdfmark end15\XPcolor push gray 0 color pop਍PzXps:SDict begin H.S endps:SDict begin 18.26991 H.A endGps:SDict begin [/View [/XYZ H.V]/Dest (section.3) cvn /DEST pdfmark end 3StrategiesfortheVfehicleRoutingProblemETheH>generalH=strategiesforsolvingVRPHarȹeexactmethods,lheuristicsandmetaheuris-Etics.Exactcmethodsdperformanexhaustivesearȹchonallpossiblesolutions.Tfoavoidexcessivelylarȹgecomputationaltimes,"pexactmethodsemploytechniquestorȹestrictthe^zsearȹch^yspace,~sothatthesearȹchspacedoesnotgettoolarȹge.yThesetechniquesarȹeknownasbranch-and-cutorbranch-and-cut.0However,óasthevehiclerȹoutingproblemis%Ha%GNP-harȹdproblem,nit%Gisdiculttooptimise.('Mostexactalgorithmsusingeu-clidean.distances.haveonlyprȹovidedsolutionsforupto75vehicles[B ps:SDict begin H.S endcolor push gray 045 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.toth_exact_1998) cvn H.B /ANN pdfmark end].DHenceanexhaustivesearȹchbecomesimpractical.SForamorȹethoroughintroductiontoexactmethodsinVRPwerȹeferthereadertothereviewby[B ps:SDict begin H.S endcolor push gray 045 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.toth_exact_1998) cvn H.B /ANN pdfmark end].Given/the/computationaltimeconstraints,intheVRP.itmakessensetouseheuristics,xapprȹoachesathat`donotnecessarilyprȹovidethebestpossiblesolution,but7qprȹovidesolutionsinanacceptablecomputational7ptime.^Thissectiongivesanintrȹoduction1to1heuristicsandmetaheuristicsinB ps:SDict begin H.S endcolor push gray 0subsection3.1 color popNA͟Qops:SDict begin H.R endNAps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (subsection.3.1) cvn H.B /ANN pdfmark endandB ps:SDict begin H.S endcolor push gray 0subsection3.2 color popNA͟Qops:SDict begin H.R endNAps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (subsection.3.2) cvn H.B /ANN pdfmark end,rȹespectively.bps:SDict begin H.S endps:SDict begin 18.26991 H.A endLps:SDict begin [/View [/XYZ H.V]/Dest (subsection.3.1) cvn /DEST pdfmark endЍ3.1HeuristicsInUessence,%)heuristicsprȹovidesolutionsTthatareTgoodenough:&abettersolutionislikely toexist,butanexhaustivesearȹch foritmightbetooexpensivetime-wise.In|thecaseoftheVRPs,aheuristicinitssimplestformmightbeanalgorithmthatswapsarȹcsbetweenverticesinarȹouteandthenevaluatesthelength.:.Ifthelengthis{shorter,thatzismorȹeoptimalthanprȹeviously,theroutezbecomesthebestknownsolutionBthusfar.~ThisisthenrȹepeatedandultimatelyBtheobtainedsolutionwilllikely5bemorȹe5optimalthanthesolutionwestartedwith.WThisisarȹoughoutlineofanimprȹovementheuristic,whichwewilldiscussfurtherin?? .MostheuristicsintheVRPNcanbeclassiedintothrȹeecategories:cconstrpuctionheuristics,limprȹovementGheuristicsandmetaheuristics.zOfthese,constrpuctionheuris-ticsK{andimprȹovementheuristicsareclassicalKzheuristicswithmostofthemhavingbeenC)developedC*inbetween1960and1990,Swherȹeasmetaheuristicsarȹeanewerap-prȹoach.9For+4more+5informationaboutheuristicapprȹoachestotheVRP+*ingeneralwerȹecommendthebookbyTfothandVWigo[B ps:SDict begin H.S endcolor push gray 046 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.toth_vehicle_2002) cvn H.B /ANN pdfmark end].Classicalheuristicsconsistoftwodistinctcategories:constrpuctionheuristicsandimprȹovementheuristics.Constrpuctionheuristicsareusedtobuildaninitialfeasi-blevsolutionbyinsertingvunvisitedverticesintorȹouteswitheachiteration.OncePcolor push gray 0قE5 color popps:SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if endOOps:SDict begin H.S endps:SDict begin H.R endDps:SDict begin [/View [/XYZ H.V]/Dest (page.6) cvn /DEST pdfmark end15\XPcolor push gray 0 color pop਍XPthe{initialsolutionisconstrpucted,imprȹovementheuristicsarethenusedtoitera-EPtivelyimprȹovetheinitialsolution.ImprovementheuristicsperformlocalsearchesPinneighbourȹhoods,JgroupsofsolutionsthatcanbereachedfromthecurrentsolutionsPwithasmallamountofarȹcorvertexexchangesandarethuscalledneighbours.,Constructionheuristicscanbefurtherdistinguishedintosingle-phaseconstrpuc-Ptionheuristicsandtwo-phaseconstrpuctionheuristics.Single-phaseheuristicscon-PstrpuctSWarȹouteSXinonephase.VTwo-phaseheuristicsmightsplittherȹouteintosmallerPpartitionsintherstphaseandbuildrȹoutesfortheseinthesecondphase.pThePtwo=kinds=ofsingle-phaseheuristicsmentionedherȹeare=insertionheuristicsandsav-Pingsheuristics.UTherstinsertionheuristicbyMoleandJameson[B ps:SDict begin H.S endcolor push gray 025 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.mole_sequential_1976) cvn H.B /ANN pdfmark end]sequentiallyPexpandsthecurrȹentsolutionbyaddingonevertexatatimeasseeninbIps:SDict begin H.S endcolor push gray 0Figure2 color pop.W ps:SDict begin H.R end.Wyps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (figure.2) cvn H.B /ANN pdfmark end.{P[color push gray 0r~&荍&鍒<ps:tx@Dict begin tx@NodeDict begin {6.0 2 div 8.3759 0.07191 add 2 div 2 copy 0.07191 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@M-1-1-2 11 {InitCnode } NewNode end end=" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 6.0 2 div 8.3759 0.07191 add 2 div 2 copy 0.07191 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end 1&鍒!ps:tx@Dict begin tx@NodeDict begin {6.0 2 div 8.3759 0.07191 add 2 div 2 copy 0.07191 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@M-1-1-6 11 {InitCnode } NewNode end end=" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 6.0 2 div 8.3759 0.07191 add 2 div 2 copy 0.07191 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end 1  OjKps:tx@Dict begin tx@NodeDict begin {6.29999 2 div 8.736 0.11398 add 2 div 2 copy 0.11398 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@M-1-2-1 11 {InitCnode } NewNode end end@" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 6.29999 2 div 8.736 0.11398 add 2 div 2 copy 0.11398 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end dps:tx@Dict begin tx@NodeDict begin {6.0 2 div 8.19588 0.19197 add 2 div 2 copy 0.19197 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@M-1-2-3 11 {InitCnode } NewNode end end>" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 6.0 2 div 8.19588 0.19197 add 2 div 2 copy 0.19197 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end 3Ops:tx@Dict begin tx@NodeDict begin {6.29999 2 div 8.736 0.11398 add 2 div 2 copy 0.11398 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@M-1-2-5 11 {InitCnode } NewNode end end@" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 6.29999 2 div 8.736 0.11398 add 2 div 2 copy 0.11398 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end dHps:tx@Dict begin tx@NodeDict begin {6.0 2 div 8.19588 0.19197 add 2 div 2 copy 0.19197 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@M-1-2-7 11 {InitCnode } NewNode end end>" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 6.0 2 div 8.19588 0.19197 add 2 div 2 copy 0.19197 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end 3ލ<ps:tx@Dict begin tx@NodeDict begin {6.0 2 div 8.19588 0.07191 add 2 div 2 copy 0.07191 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@M-1-3-2 11 {InitCnode } NewNode end end>" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 6.0 2 div 8.19588 0.07191 add 2 div 2 copy 0.07191 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end 2ލ!ps:tx@Dict begin tx@NodeDict begin {6.0 2 div 8.19588 0.07191 add 2 div 2 copy 0.07191 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@M-1-3-6 11 {InitCnode } NewNode end end>" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 6.0 2 div 8.19588 0.07191 add 2 div 2 copy 0.07191 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end 2ps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-2-1 /N@M-1-1-2 InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore endps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-1-2 /N@M-1-3-2 InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore endps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-3-2 /N@M-1-2-1 InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore endps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-2-5 /N@M-1-1-6 InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore endps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-1-6 /N@M-1-2-7 InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore endps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-2-7 /N@M-1-3-6 InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore endps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-3-6 /N@M-1-2-5 InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore endps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-1-6 /N@M-1-3-6 InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 3.0 -2 0 add DotLine grestore grestore endDps:tx@Dict begin tx@NodeDict begin /t .5 def LPut end PutBegin endl7O>" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.0 SLW 1 setgray 0. true 3.0 neg 3.0 neg 14.38092 5.84544 .5 Frame gsave 1 setgray 1. .setopacityalpha fill grestore end o aps:tx@Dict begin PutEnd end"̍Figurȹe 2:gps:SDict begin H.S endps:SDict begin H.R endFps:SDict begin [/View [/XYZ H.V]/Dest (figure.2) cvn /DEST pdfmark endAnexampleofaheuristic,1theinsertionheuristic.ڼThevertex3z
313313
32pplr7t3isaddedtothe"̍r͏outeandtheroutefrom1to2removed. color pop EConstrpuctionKheuristicscanKbefurtherdistinguishedintosingle-phaseconstrpuctionheuristics~and~two-phaseconstrpuctionheuristics.4+Single-phaseheuristicsconstrpucta`srȹoute`rinonephase.٨Two-phaseheuristicsmightsplittherȹouteintosmallerparti-tionsintherstphaseandbuildrȹoutesfortheseinthesecondphase.Thetwokindsofsingle-phaseheuristicsmentionedherȹeareinsertionheuristicsandsavingsheuris-tics.\The%rstinsertionheuristic$byMoleandJameson[B ps:SDict begin H.S endcolor push gray 026 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.mole_sequential_1976) cvn H.B /ANN pdfmark end]sequentiallyexpandsthecurrȹentsolutionbyaddingonevertexatatimeasseeninbIps:SDict begin H.S endcolor push gray 0Figure2 color pop.W ps:SDict begin H.R end.Wyps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (figure.2) cvn H.B /ANN pdfmark end.Pcolor push gray 0قE5 color popps:SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if endOOps:SDict begin H.S endps:SDict begin H.R endDps:SDict begin [/View [/XYZ H.V]/Dest (page.6) cvn /DEST pdfmark end15\XPcolor push gray 0 color pop਍ͣP{xcolor push gray 0SXG&鍑jcZps:tx@Dict begin tx@NodeDict begin {6.0 2 div 8.3759 0.07191 add 2 div 2 copy 0.07191 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@M-1-1-1 11 {InitCnode } NewNode end end=" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 6.0 2 div 8.3759 0.07191 add 2 div 2 copy 0.07191 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end 1ލps:tx@Dict begin tx@NodeDict begin {6.0 2 div 8.19588 0.07191 add 2 div 2 copy 0.07191 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@M-1-1-3 11 {InitCnode } NewNode end end>" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 6.0 2 div 8.19588 0.07191 add 2 div 2 copy 0.07191 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end 2&鍒Rps:tx@Dict begin tx@NodeDict begin {6.0 2 div 8.3759 0.07191 add 2 div 2 copy 0.07191 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@M-1-1-5 11 {InitCnode } NewNode end end=" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 6.0 2 div 8.3759 0.07191 add 2 div 2 copy 0.07191 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end 1ލHps:tx@Dict begin tx@NodeDict begin {6.0 2 div 8.19588 0.07191 add 2 div 2 copy 0.07191 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@M-1-1-7 11 {InitCnode } NewNode end end>" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 6.0 2 div 8.19588 0.07191 add 2 div 2 copy 0.07191 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end 2.Ops:tx@Dict begin tx@NodeDict begin {6.29999 2 div 8.736 0.11398 add 2 div 2 copy 0.11398 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@M-1-2-2 11 {InitCnode } NewNode end end@" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 6.29999 2 div 8.736 0.11398 add 2 div 2 copy 0.11398 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end dps:tx@Dict begin tx@NodeDict begin {6.0 2 div 8.19588 0.19197 add 2 div 2 copy 0.19197 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@M-1-2-3 11 {InitCnode } NewNode end end>" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 6.0 2 div 8.19588 0.19197 add 2 div 2 copy 0.19197 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end 3O!ps:tx@Dict begin tx@NodeDict begin {6.29999 2 div 8.736 0.11398 add 2 div 2 copy 0.11398 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@M-1-2-6 11 {InitCnode } NewNode end end@" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 6.29999 2 div 8.736 0.11398 add 2 div 2 copy 0.11398 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end dHps:tx@Dict begin tx@NodeDict begin {6.0 2 div 8.19588 0.19197 add 2 div 2 copy 0.19197 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@M-1-2-7 11 {InitCnode } NewNode end end>" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 6.0 2 div 8.19588 0.19197 add 2 div 2 copy 0.19197 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end 3 ps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-2-2 /N@M-1-1-1 InitNC { yB yA sub xB xA sub Atan dup 12. add /AngleA exch def 12. sub 180 add /AngleB exch def 0.67 0.67 GetEdgeA GetEdgeB xA1 xB1 sub yA1 yB1 sub Pyth 2 div dup 3 -1 roll mul /ArmA ED mul /ArmB ED /ArmTypeA 0 def /ArmTypeB 0 def GetArmA GetArmB xA2 yA2 xA1 yA1 2 copy /y0 ED /x0 ED tx@Dict begin ArrowA end xB2 yB2 xB1 yB1 tx@Dict begin ArrowB end /y3 ED /x3 ED /y2 ED /x2 ED /y1 ED /x1 ED /cx x1 x0 sub 3 mul def /cy y1 y0 sub 3 mul def /bx x2 x1 sub 3 mul cx sub def /by y2 y1 sub 3 mul cy sub def /ax x3 x0 sub cx sub bx sub def /ay y3 y0 sub cy sub by sub def /getValues { ax t0 3 exp mul bx t0 t0 mul mul add cx t0 mul add x0 add ay t0 3 exp mul by t0 t0 mul mul add cy t0 mul add y0 add ax t 3 exp mul bx t t mul mul add cx t mul add x0 add ay t 3 exp mul by t t mul mul add cy t mul add y0 add } def /getdL { getValues 3 -1 roll sub 3 1 roll sub Pyth } def /CurveLength { /u 0 def /du 0.01 def 0 100 { /t0 u def /u u du add def /t u def getdL add } repeat } def /GetArrowPos { /ende 0.5 1 gt {ArrowPos}{ArrowPos CurveLength mul} ifelse def /u 0 def /du 0.01 def /sum 0 def { /t0 u def /u u du add def /t u def /sum getdL sum add def sum ende gt {exit} if } loop u } def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def /ArrowPos 0. def /loopNo 0.5 1 gt {CurveLength 0.5 div cvi }{ 1. } ifelse def loopNo cvi { /ArrowPos ArrowPos dArrowPos add def /t GetArrowPos def /t0 t 0.95 mul def getValues ArrowInside pop pop pop pop } repeat x1 y1 x2 y2 x3 y3 curveto /LPutVar [ xA1 yA1 xA2 yA2 xB2 yB2 xB1 yB1 ] cvx def /LPutPos { t LPutVar BezierMidpoint } def /HPutPos { { HPutLines } HPutCurve } def /VPutPos { { VPutLines } HPutCurve } def } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore end ps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-1-1 /N@M-1-2-2 InitNC { yB yA sub xB xA sub Atan dup 12. add /AngleA exch def 12. sub 180 add /AngleB exch def 0.67 0.67 GetEdgeA GetEdgeB xA1 xB1 sub yA1 yB1 sub Pyth 2 div dup 3 -1 roll mul /ArmA ED mul /ArmB ED /ArmTypeA 0 def /ArmTypeB 0 def GetArmA GetArmB xA2 yA2 xA1 yA1 2 copy /y0 ED /x0 ED tx@Dict begin ArrowA end xB2 yB2 xB1 yB1 tx@Dict begin ArrowB end /y3 ED /x3 ED /y2 ED /x2 ED /y1 ED /x1 ED /cx x1 x0 sub 3 mul def /cy y1 y0 sub 3 mul def /bx x2 x1 sub 3 mul cx sub def /by y2 y1 sub 3 mul cy sub def /ax x3 x0 sub cx sub bx sub def /ay y3 y0 sub cy sub by sub def /getValues { ax t0 3 exp mul bx t0 t0 mul mul add cx t0 mul add x0 add ay t0 3 exp mul by t0 t0 mul mul add cy t0 mul add y0 add ax t 3 exp mul bx t t mul mul add cx t mul add x0 add ay t 3 exp mul by t t mul mul add cy t mul add y0 add } def /getdL { getValues 3 -1 roll sub 3 1 roll sub Pyth } def /CurveLength { /u 0 def /du 0.01 def 0 100 { /t0 u def /u u du add def /t u def getdL add } repeat } def /GetArrowPos { /ende 0.5 1 gt {ArrowPos}{ArrowPos CurveLength mul} ifelse def /u 0 def /du 0.01 def /sum 0 def { /t0 u def /u u du add def /t u def /sum getdL sum add def sum ende gt {exit} if } loop u } def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def /ArrowPos 0. def /loopNo 0.5 1 gt {CurveLength 0.5 div cvi }{ 1. } ifelse def loopNo cvi { /ArrowPos ArrowPos dArrowPos add def /t GetArrowPos def /t0 t 0.95 mul def getValues ArrowInside pop pop pop pop } repeat x1 y1 x2 y2 x3 y3 curveto /LPutVar [ xA1 yA1 xA2 yA2 xB2 yB2 xB1 yB1 ] cvx def /LPutPos { t LPutVar BezierMidpoint } def /HPutPos { { HPutLines } HPutCurve } def /VPutPos { { VPutLines } HPutCurve } def } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore end ps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-2-2 /N@M-1-1-3 InitNC { yB yA sub xB xA sub Atan dup 12. add /AngleA exch def 12. sub 180 add /AngleB exch def 0.67 0.67 GetEdgeA GetEdgeB xA1 xB1 sub yA1 yB1 sub Pyth 2 div dup 3 -1 roll mul /ArmA ED mul /ArmB ED /ArmTypeA 0 def /ArmTypeB 0 def GetArmA GetArmB xA2 yA2 xA1 yA1 2 copy /y0 ED /x0 ED tx@Dict begin ArrowA end xB2 yB2 xB1 yB1 tx@Dict begin ArrowB end /y3 ED /x3 ED /y2 ED /x2 ED /y1 ED /x1 ED /cx x1 x0 sub 3 mul def /cy y1 y0 sub 3 mul def /bx x2 x1 sub 3 mul cx sub def /by y2 y1 sub 3 mul cy sub def /ax x3 x0 sub cx sub bx sub def /ay y3 y0 sub cy sub by sub def /getValues { ax t0 3 exp mul bx t0 t0 mul mul add cx t0 mul add x0 add ay t0 3 exp mul by t0 t0 mul mul add cy t0 mul add y0 add ax t 3 exp mul bx t t mul mul add cx t mul add x0 add ay t 3 exp mul by t t mul mul add cy t mul add y0 add } def /getdL { getValues 3 -1 roll sub 3 1 roll sub Pyth } def /CurveLength { /u 0 def /du 0.01 def 0 100 { /t0 u def /u u du add def /t u def getdL add } repeat } def /GetArrowPos { /ende 0.5 1 gt {ArrowPos}{ArrowPos CurveLength mul} ifelse def /u 0 def /du 0.01 def /sum 0 def { /t0 u def /u u du add def /t u def /sum getdL sum add def sum ende gt {exit} if } loop u } def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def /ArrowPos 0. def /loopNo 0.5 1 gt {CurveLength 0.5 div cvi }{ 1. } ifelse def loopNo cvi { /ArrowPos ArrowPos dArrowPos add def /t GetArrowPos def /t0 t 0.95 mul def getValues ArrowInside pop pop pop pop } repeat x1 y1 x2 y2 x3 y3 curveto /LPutVar [ xA1 yA1 xA2 yA2 xB2 yB2 xB1 yB1 ] cvx def /LPutPos { t LPutVar BezierMidpoint } def /HPutPos { { HPutLines } HPutCurve } def /VPutPos { { VPutLines } HPutCurve } def } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore end ps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-1-3 /N@M-1-2-2 InitNC { yB yA sub xB xA sub Atan dup 12. add /AngleA exch def 12. sub 180 add /AngleB exch def 0.67 0.67 GetEdgeA GetEdgeB xA1 xB1 sub yA1 yB1 sub Pyth 2 div dup 3 -1 roll mul /ArmA ED mul /ArmB ED /ArmTypeA 0 def /ArmTypeB 0 def GetArmA GetArmB xA2 yA2 xA1 yA1 2 copy /y0 ED /x0 ED tx@Dict begin ArrowA end xB2 yB2 xB1 yB1 tx@Dict begin ArrowB end /y3 ED /x3 ED /y2 ED /x2 ED /y1 ED /x1 ED /cx x1 x0 sub 3 mul def /cy y1 y0 sub 3 mul def /bx x2 x1 sub 3 mul cx sub def /by y2 y1 sub 3 mul cy sub def /ax x3 x0 sub cx sub bx sub def /ay y3 y0 sub cy sub by sub def /getValues { ax t0 3 exp mul bx t0 t0 mul mul add cx t0 mul add x0 add ay t0 3 exp mul by t0 t0 mul mul add cy t0 mul add y0 add ax t 3 exp mul bx t t mul mul add cx t mul add x0 add ay t 3 exp mul by t t mul mul add cy t mul add y0 add } def /getdL { getValues 3 -1 roll sub 3 1 roll sub Pyth } def /CurveLength { /u 0 def /du 0.01 def 0 100 { /t0 u def /u u du add def /t u def getdL add } repeat } def /GetArrowPos { /ende 0.5 1 gt {ArrowPos}{ArrowPos CurveLength mul} ifelse def /u 0 def /du 0.01 def /sum 0 def { /t0 u def /u u du add def /t u def /sum getdL sum add def sum ende gt {exit} if } loop u } def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def /ArrowPos 0. def /loopNo 0.5 1 gt {CurveLength 0.5 div cvi }{ 1. } ifelse def loopNo cvi { /ArrowPos ArrowPos dArrowPos add def /t GetArrowPos def /t0 t 0.95 mul def getValues ArrowInside pop pop pop pop } repeat x1 y1 x2 y2 x3 y3 curveto /LPutVar [ xA1 yA1 xA2 yA2 xB2 yB2 xB1 yB1 ] cvx def /LPutPos { t LPutVar BezierMidpoint } def /HPutPos { { HPutLines } HPutCurve } def /VPutPos { { VPutLines } HPutCurve } def } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore end ps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-2-2 /N@M-1-2-3 InitNC { yB yA sub xB xA sub Atan dup 12. add /AngleA exch def 12. sub 180 add /AngleB exch def 0.67 0.67 GetEdgeA GetEdgeB xA1 xB1 sub yA1 yB1 sub Pyth 2 div dup 3 -1 roll mul /ArmA ED mul /ArmB ED /ArmTypeA 0 def /ArmTypeB 0 def GetArmA GetArmB xA2 yA2 xA1 yA1 2 copy /y0 ED /x0 ED tx@Dict begin ArrowA end xB2 yB2 xB1 yB1 tx@Dict begin ArrowB end /y3 ED /x3 ED /y2 ED /x2 ED /y1 ED /x1 ED /cx x1 x0 sub 3 mul def /cy y1 y0 sub 3 mul def /bx x2 x1 sub 3 mul cx sub def /by y2 y1 sub 3 mul cy sub def /ax x3 x0 sub cx sub bx sub def /ay y3 y0 sub cy sub by sub def /getValues { ax t0 3 exp mul bx t0 t0 mul mul add cx t0 mul add x0 add ay t0 3 exp mul by t0 t0 mul mul add cy t0 mul add y0 add ax t 3 exp mul bx t t mul mul add cx t mul add x0 add ay t 3 exp mul by t t mul mul add cy t mul add y0 add } def /getdL { getValues 3 -1 roll sub 3 1 roll sub Pyth } def /CurveLength { /u 0 def /du 0.01 def 0 100 { /t0 u def /u u du add def /t u def getdL add } repeat } def /GetArrowPos { /ende 0.5 1 gt {ArrowPos}{ArrowPos CurveLength mul} ifelse def /u 0 def /du 0.01 def /sum 0 def { /t0 u def /u u du add def /t u def /sum getdL sum add def sum ende gt {exit} if } loop u } def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def /ArrowPos 0. def /loopNo 0.5 1 gt {CurveLength 0.5 div cvi }{ 1. } ifelse def loopNo cvi { /ArrowPos ArrowPos dArrowPos add def /t GetArrowPos def /t0 t 0.95 mul def getValues ArrowInside pop pop pop pop } repeat x1 y1 x2 y2 x3 y3 curveto /LPutVar [ xA1 yA1 xA2 yA2 xB2 yB2 xB1 yB1 ] cvx def /LPutPos { t LPutVar BezierMidpoint } def /HPutPos { { HPutLines } HPutCurve } def /VPutPos { { VPutLines } HPutCurve } def } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore end ps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-2-3 /N@M-1-2-2 InitNC { yB yA sub xB xA sub Atan dup 12. add /AngleA exch def 12. sub 180 add /AngleB exch def 0.67 0.67 GetEdgeA GetEdgeB xA1 xB1 sub yA1 yB1 sub Pyth 2 div dup 3 -1 roll mul /ArmA ED mul /ArmB ED /ArmTypeA 0 def /ArmTypeB 0 def GetArmA GetArmB xA2 yA2 xA1 yA1 2 copy /y0 ED /x0 ED tx@Dict begin ArrowA end xB2 yB2 xB1 yB1 tx@Dict begin ArrowB end /y3 ED /x3 ED /y2 ED /x2 ED /y1 ED /x1 ED /cx x1 x0 sub 3 mul def /cy y1 y0 sub 3 mul def /bx x2 x1 sub 3 mul cx sub def /by y2 y1 sub 3 mul cy sub def /ax x3 x0 sub cx sub bx sub def /ay y3 y0 sub cy sub by sub def /getValues { ax t0 3 exp mul bx t0 t0 mul mul add cx t0 mul add x0 add ay t0 3 exp mul by t0 t0 mul mul add cy t0 mul add y0 add ax t 3 exp mul bx t t mul mul add cx t mul add x0 add ay t 3 exp mul by t t mul mul add cy t mul add y0 add } def /getdL { getValues 3 -1 roll sub 3 1 roll sub Pyth } def /CurveLength { /u 0 def /du 0.01 def 0 100 { /t0 u def /u u du add def /t u def getdL add } repeat } def /GetArrowPos { /ende 0.5 1 gt {ArrowPos}{ArrowPos CurveLength mul} ifelse def /u 0 def /du 0.01 def /sum 0 def { /t0 u def /u u du add def /t u def /sum getdL sum add def sum ende gt {exit} if } loop u } def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def /ArrowPos 0. def /loopNo 0.5 1 gt {CurveLength 0.5 div cvi }{ 1. } ifelse def loopNo cvi { /ArrowPos ArrowPos dArrowPos add def /t GetArrowPos def /t0 t 0.95 mul def getValues ArrowInside pop pop pop pop } repeat x1 y1 x2 y2 x3 y3 curveto /LPutVar [ xA1 yA1 xA2 yA2 xB2 yB2 xB1 yB1 ] cvx def /LPutPos { t LPutVar BezierMidpoint } def /HPutPos { { HPutLines } HPutCurve } def /VPutPos { { VPutLines } HPutCurve } def } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore endps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-2-6 /N@M-1-1-5 InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore endps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-1-5 /N@M-1-1-7 InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore endps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-1-7 /N@M-1-2-7 InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore endps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-2-7 /N@M-1-2-6 InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore endEFcolor push gray 0Figurȹe3:Pps:SDict begin H.S endps:SDict begin H.R endFps:SDict begin [/View [/XYZ H.V]/Dest (figure.3) cvn /DEST pdfmark endRoutesar͏emergedintooneinthesavingsheuristic. color pop color pop ,ThesavingsheuristicbyClarkeandWright[B ps:SDict begin H.S endcolor push gray 05 color pop ps:SDict begin H.R endps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.clarke_scheduling_1964) cvn H.B /ANN pdfmark end]startsfrȹomasolutionwhereeachEPvehiclesistconnecteddirȹectlytothedepotasshowninbIps:SDict begin H.S endcolor push gray 0Figurȹe3 color pop/Ac ps:SDict begin H.R end/Acyps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (figure.3) cvn H.B /ANN pdfmark end.tThenasavingsisPcalculated_Wby_Xlookingattherȹeductionincostgeneratedbythemerȹge.VForathePvertex%pair1and&2,nthetraveldistancebecomes2cl1d +D2cl2d .MerȹgingthisroutePintoonebecomescl1d @+c'h12 +cl2d .IThisisthencalculatedforasavingss'h12 2=M32cl1d @+P2cl2d Ny(cl1d+cl2d+c'h12 )=cl1d Nz+cl2dc'h12 .ThesearȹecalculatedforeachvertexpairP(i,jL)o»andothesavingsarȹethensortedinadescendingorȹder,i.e.largestsavingorst.PThe9rȹoutes9arethenmerged9iterativelystartingfrom9thelargest9savinguntilitisnoPlongerpossiblewithoutbrȹeakingtheroute.,In]two-phase]constrpuctionheuristics,trȹoutesare]constrpuctedintwophases. ThePorȹderinwhichtheconstrpuctionoccursdependsontheapproach. +Inroute-rst,Pcluster-secondheuristicsagiantrȹoutethatvisitseachvertexisrstconstrpuctedandisPthenUclusterȹedintoUsmallerroutes.Incluster-rst,jroute-secondtheUwholeproblemisPrstclusterȹedintosmallerclustersandthenroutesareconstrpuctedforeachcluster.$2Pps:SDict begin H.S endps:SDict begin 18.26991 H.A endHps:SDict begin [/View [/XYZ H.V]/Dest (section*.3) cvn /DEST pdfmark endPImprovementheuristics]wPops:SDict begin H.S endps:SDict begin H.R endIps:SDict begin [/View [/XYZ H.V]/Dest (algorithm.1) cvn /DEST pdfmark end͉
33Algorithm1Local_Searȹch(C)xωffcolor push gray 0zl&ps:SDict begin H.S endps:SDict begin 18.26991 H.A endJps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.1) cvn /DEST pdfmark endr)color push gray 0d@E(
32pplr7t3isaddedtothe"̍r͏outeandtheroutefrom1to2removed. color pop3,ThesavingsheuristicbyClarkeandWright[B ps:SDict begin H.S endcolor push gray 05 color pop ps:SDict begin H.R endps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.clarke_scheduling_1964) cvn H.B /ANN pdfmark end]startsfrȹomasolutionwhereeachPvehiclesistconnecteddirȹectlytothedepotasshowninbIps:SDict begin H.S endcolor push gray 0Figurȹe3 color pop/Ac ps:SDict begin H.R end/Acyps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (figure.3) cvn H.B /ANN pdfmark end.tThenasavingsisPcalculated_Wby_Xlookingattherȹeductionincostgeneratedbythemerȹge.VForathePvertex%pair1and&2,nthetraveldistancebecomes2cl1d +D2cl2d .MerȹgingthisroutePintoonebecomescl1d @+c'h12 +cl2d .IThisisthencalculatedforasavingss'h12 2=M32cl1d @+P2cl2d Ny(cl1d+cl2d+c'h12 )=cl1d Nz+cl2dc'h12 .ThesearȹecalculatedforeachvertexpairP(i,jL)o»andothesavingsarȹethensortedinadescendingorȹder,i.e.largestsavingorst.PThe9rȹoutes9arethenmerged9iterativelystartingfrom9thelargest9savinguntilitisnoPlongerpossiblewithoutbrȹeakingtheroute.b썑P{xcolor push gray 0SXG&鍑jcZps:tx@Dict begin tx@NodeDict begin {6.0 2 div 8.3759 0.07191 add 2 div 2 copy 0.07191 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@M-1-1-1 11 {InitCnode } NewNode end end=" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 6.0 2 div 8.3759 0.07191 add 2 div 2 copy 0.07191 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end 1ލps:tx@Dict begin tx@NodeDict begin {6.0 2 div 8.19588 0.07191 add 2 div 2 copy 0.07191 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@M-1-1-3 11 {InitCnode } NewNode end end>" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 6.0 2 div 8.19588 0.07191 add 2 div 2 copy 0.07191 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end 2&鍒Rps:tx@Dict begin tx@NodeDict begin {6.0 2 div 8.3759 0.07191 add 2 div 2 copy 0.07191 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@M-1-1-5 11 {InitCnode } NewNode end end=" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 6.0 2 div 8.3759 0.07191 add 2 div 2 copy 0.07191 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end 1ލHps:tx@Dict begin tx@NodeDict begin {6.0 2 div 8.19588 0.07191 add 2 div 2 copy 0.07191 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@M-1-1-7 11 {InitCnode } NewNode end end>" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 6.0 2 div 8.19588 0.07191 add 2 div 2 copy 0.07191 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end 2.Ops:tx@Dict begin tx@NodeDict begin {6.29999 2 div 8.736 0.11398 add 2 div 2 copy 0.11398 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@M-1-2-2 11 {InitCnode } NewNode end end@" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 6.29999 2 div 8.736 0.11398 add 2 div 2 copy 0.11398 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end dps:tx@Dict begin tx@NodeDict begin {6.0 2 div 8.19588 0.19197 add 2 div 2 copy 0.19197 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@M-1-2-3 11 {InitCnode } NewNode end end>" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 6.0 2 div 8.19588 0.19197 add 2 div 2 copy 0.19197 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end 3O!ps:tx@Dict begin tx@NodeDict begin {6.29999 2 div 8.736 0.11398 add 2 div 2 copy 0.11398 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@M-1-2-6 11 {InitCnode } NewNode end end@" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 6.29999 2 div 8.736 0.11398 add 2 div 2 copy 0.11398 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end dHps:tx@Dict begin tx@NodeDict begin {6.0 2 div 8.19588 0.19197 add 2 div 2 copy 0.19197 sub 4 2 roll Pyth 3.0 add 0.8 add} false /N@M-1-2-7 11 {InitCnode } NewNode end end>" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 6.0 2 div 8.19588 0.19197 add 2 div 2 copy 0.19197 sub 4 2 roll Pyth 3.0 add CLW 2 div add 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end 3 ps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-2-2 /N@M-1-1-1 InitNC { yB yA sub xB xA sub Atan dup 12. add /AngleA exch def 12. sub 180 add /AngleB exch def 0.67 0.67 GetEdgeA GetEdgeB xA1 xB1 sub yA1 yB1 sub Pyth 2 div dup 3 -1 roll mul /ArmA ED mul /ArmB ED /ArmTypeA 0 def /ArmTypeB 0 def GetArmA GetArmB xA2 yA2 xA1 yA1 2 copy /y0 ED /x0 ED tx@Dict begin ArrowA end xB2 yB2 xB1 yB1 tx@Dict begin ArrowB end /y3 ED /x3 ED /y2 ED /x2 ED /y1 ED /x1 ED /cx x1 x0 sub 3 mul def /cy y1 y0 sub 3 mul def /bx x2 x1 sub 3 mul cx sub def /by y2 y1 sub 3 mul cy sub def /ax x3 x0 sub cx sub bx sub def /ay y3 y0 sub cy sub by sub def /getValues { ax t0 3 exp mul bx t0 t0 mul mul add cx t0 mul add x0 add ay t0 3 exp mul by t0 t0 mul mul add cy t0 mul add y0 add ax t 3 exp mul bx t t mul mul add cx t mul add x0 add ay t 3 exp mul by t t mul mul add cy t mul add y0 add } def /getdL { getValues 3 -1 roll sub 3 1 roll sub Pyth } def /CurveLength { /u 0 def /du 0.01 def 0 100 { /t0 u def /u u du add def /t u def getdL add } repeat } def /GetArrowPos { /ende 0.5 1 gt {ArrowPos}{ArrowPos CurveLength mul} ifelse def /u 0 def /du 0.01 def /sum 0 def { /t0 u def /u u du add def /t u def /sum getdL sum add def sum ende gt {exit} if } loop u } def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def /ArrowPos 0. def /loopNo 0.5 1 gt {CurveLength 0.5 div cvi }{ 1. } ifelse def loopNo cvi { /ArrowPos ArrowPos dArrowPos add def /t GetArrowPos def /t0 t 0.95 mul def getValues ArrowInside pop pop pop pop } repeat x1 y1 x2 y2 x3 y3 curveto /LPutVar [ xA1 yA1 xA2 yA2 xB2 yB2 xB1 yB1 ] cvx def /LPutPos { t LPutVar BezierMidpoint } def /HPutPos { { HPutLines } HPutCurve } def /VPutPos { { VPutLines } HPutCurve } def } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore end ps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-1-1 /N@M-1-2-2 InitNC { yB yA sub xB xA sub Atan dup 12. add /AngleA exch def 12. sub 180 add /AngleB exch def 0.67 0.67 GetEdgeA GetEdgeB xA1 xB1 sub yA1 yB1 sub Pyth 2 div dup 3 -1 roll mul /ArmA ED mul /ArmB ED /ArmTypeA 0 def /ArmTypeB 0 def GetArmA GetArmB xA2 yA2 xA1 yA1 2 copy /y0 ED /x0 ED tx@Dict begin ArrowA end xB2 yB2 xB1 yB1 tx@Dict begin ArrowB end /y3 ED /x3 ED /y2 ED /x2 ED /y1 ED /x1 ED /cx x1 x0 sub 3 mul def /cy y1 y0 sub 3 mul def /bx x2 x1 sub 3 mul cx sub def /by y2 y1 sub 3 mul cy sub def /ax x3 x0 sub cx sub bx sub def /ay y3 y0 sub cy sub by sub def /getValues { ax t0 3 exp mul bx t0 t0 mul mul add cx t0 mul add x0 add ay t0 3 exp mul by t0 t0 mul mul add cy t0 mul add y0 add ax t 3 exp mul bx t t mul mul add cx t mul add x0 add ay t 3 exp mul by t t mul mul add cy t mul add y0 add } def /getdL { getValues 3 -1 roll sub 3 1 roll sub Pyth } def /CurveLength { /u 0 def /du 0.01 def 0 100 { /t0 u def /u u du add def /t u def getdL add } repeat } def /GetArrowPos { /ende 0.5 1 gt {ArrowPos}{ArrowPos CurveLength mul} ifelse def /u 0 def /du 0.01 def /sum 0 def { /t0 u def /u u du add def /t u def /sum getdL sum add def sum ende gt {exit} if } loop u } def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def /ArrowPos 0. def /loopNo 0.5 1 gt {CurveLength 0.5 div cvi }{ 1. } ifelse def loopNo cvi { /ArrowPos ArrowPos dArrowPos add def /t GetArrowPos def /t0 t 0.95 mul def getValues ArrowInside pop pop pop pop } repeat x1 y1 x2 y2 x3 y3 curveto /LPutVar [ xA1 yA1 xA2 yA2 xB2 yB2 xB1 yB1 ] cvx def /LPutPos { t LPutVar BezierMidpoint } def /HPutPos { { HPutLines } HPutCurve } def /VPutPos { { VPutLines } HPutCurve } def } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore end ps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-2-2 /N@M-1-1-3 InitNC { yB yA sub xB xA sub Atan dup 12. add /AngleA exch def 12. sub 180 add /AngleB exch def 0.67 0.67 GetEdgeA GetEdgeB xA1 xB1 sub yA1 yB1 sub Pyth 2 div dup 3 -1 roll mul /ArmA ED mul /ArmB ED /ArmTypeA 0 def /ArmTypeB 0 def GetArmA GetArmB xA2 yA2 xA1 yA1 2 copy /y0 ED /x0 ED tx@Dict begin ArrowA end xB2 yB2 xB1 yB1 tx@Dict begin ArrowB end /y3 ED /x3 ED /y2 ED /x2 ED /y1 ED /x1 ED /cx x1 x0 sub 3 mul def /cy y1 y0 sub 3 mul def /bx x2 x1 sub 3 mul cx sub def /by y2 y1 sub 3 mul cy sub def /ax x3 x0 sub cx sub bx sub def /ay y3 y0 sub cy sub by sub def /getValues { ax t0 3 exp mul bx t0 t0 mul mul add cx t0 mul add x0 add ay t0 3 exp mul by t0 t0 mul mul add cy t0 mul add y0 add ax t 3 exp mul bx t t mul mul add cx t mul add x0 add ay t 3 exp mul by t t mul mul add cy t mul add y0 add } def /getdL { getValues 3 -1 roll sub 3 1 roll sub Pyth } def /CurveLength { /u 0 def /du 0.01 def 0 100 { /t0 u def /u u du add def /t u def getdL add } repeat } def /GetArrowPos { /ende 0.5 1 gt {ArrowPos}{ArrowPos CurveLength mul} ifelse def /u 0 def /du 0.01 def /sum 0 def { /t0 u def /u u du add def /t u def /sum getdL sum add def sum ende gt {exit} if } loop u } def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def /ArrowPos 0. def /loopNo 0.5 1 gt {CurveLength 0.5 div cvi }{ 1. } ifelse def loopNo cvi { /ArrowPos ArrowPos dArrowPos add def /t GetArrowPos def /t0 t 0.95 mul def getValues ArrowInside pop pop pop pop } repeat x1 y1 x2 y2 x3 y3 curveto /LPutVar [ xA1 yA1 xA2 yA2 xB2 yB2 xB1 yB1 ] cvx def /LPutPos { t LPutVar BezierMidpoint } def /HPutPos { { HPutLines } HPutCurve } def /VPutPos { { VPutLines } HPutCurve } def } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore end ps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-1-3 /N@M-1-2-2 InitNC { yB yA sub xB xA sub Atan dup 12. add /AngleA exch def 12. sub 180 add /AngleB exch def 0.67 0.67 GetEdgeA GetEdgeB xA1 xB1 sub yA1 yB1 sub Pyth 2 div dup 3 -1 roll mul /ArmA ED mul /ArmB ED /ArmTypeA 0 def /ArmTypeB 0 def GetArmA GetArmB xA2 yA2 xA1 yA1 2 copy /y0 ED /x0 ED tx@Dict begin ArrowA end xB2 yB2 xB1 yB1 tx@Dict begin ArrowB end /y3 ED /x3 ED /y2 ED /x2 ED /y1 ED /x1 ED /cx x1 x0 sub 3 mul def /cy y1 y0 sub 3 mul def /bx x2 x1 sub 3 mul cx sub def /by y2 y1 sub 3 mul cy sub def /ax x3 x0 sub cx sub bx sub def /ay y3 y0 sub cy sub by sub def /getValues { ax t0 3 exp mul bx t0 t0 mul mul add cx t0 mul add x0 add ay t0 3 exp mul by t0 t0 mul mul add cy t0 mul add y0 add ax t 3 exp mul bx t t mul mul add cx t mul add x0 add ay t 3 exp mul by t t mul mul add cy t mul add y0 add } def /getdL { getValues 3 -1 roll sub 3 1 roll sub Pyth } def /CurveLength { /u 0 def /du 0.01 def 0 100 { /t0 u def /u u du add def /t u def getdL add } repeat } def /GetArrowPos { /ende 0.5 1 gt {ArrowPos}{ArrowPos CurveLength mul} ifelse def /u 0 def /du 0.01 def /sum 0 def { /t0 u def /u u du add def /t u def /sum getdL sum add def sum ende gt {exit} if } loop u } def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def /ArrowPos 0. def /loopNo 0.5 1 gt {CurveLength 0.5 div cvi }{ 1. } ifelse def loopNo cvi { /ArrowPos ArrowPos dArrowPos add def /t GetArrowPos def /t0 t 0.95 mul def getValues ArrowInside pop pop pop pop } repeat x1 y1 x2 y2 x3 y3 curveto /LPutVar [ xA1 yA1 xA2 yA2 xB2 yB2 xB1 yB1 ] cvx def /LPutPos { t LPutVar BezierMidpoint } def /HPutPos { { HPutLines } HPutCurve } def /VPutPos { { VPutLines } HPutCurve } def } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore end ps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-2-2 /N@M-1-2-3 InitNC { yB yA sub xB xA sub Atan dup 12. add /AngleA exch def 12. sub 180 add /AngleB exch def 0.67 0.67 GetEdgeA GetEdgeB xA1 xB1 sub yA1 yB1 sub Pyth 2 div dup 3 -1 roll mul /ArmA ED mul /ArmB ED /ArmTypeA 0 def /ArmTypeB 0 def GetArmA GetArmB xA2 yA2 xA1 yA1 2 copy /y0 ED /x0 ED tx@Dict begin ArrowA end xB2 yB2 xB1 yB1 tx@Dict begin ArrowB end /y3 ED /x3 ED /y2 ED /x2 ED /y1 ED /x1 ED /cx x1 x0 sub 3 mul def /cy y1 y0 sub 3 mul def /bx x2 x1 sub 3 mul cx sub def /by y2 y1 sub 3 mul cy sub def /ax x3 x0 sub cx sub bx sub def /ay y3 y0 sub cy sub by sub def /getValues { ax t0 3 exp mul bx t0 t0 mul mul add cx t0 mul add x0 add ay t0 3 exp mul by t0 t0 mul mul add cy t0 mul add y0 add ax t 3 exp mul bx t t mul mul add cx t mul add x0 add ay t 3 exp mul by t t mul mul add cy t mul add y0 add } def /getdL { getValues 3 -1 roll sub 3 1 roll sub Pyth } def /CurveLength { /u 0 def /du 0.01 def 0 100 { /t0 u def /u u du add def /t u def getdL add } repeat } def /GetArrowPos { /ende 0.5 1 gt {ArrowPos}{ArrowPos CurveLength mul} ifelse def /u 0 def /du 0.01 def /sum 0 def { /t0 u def /u u du add def /t u def /sum getdL sum add def sum ende gt {exit} if } loop u } def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def /ArrowPos 0. def /loopNo 0.5 1 gt {CurveLength 0.5 div cvi }{ 1. } ifelse def loopNo cvi { /ArrowPos ArrowPos dArrowPos add def /t GetArrowPos def /t0 t 0.95 mul def getValues ArrowInside pop pop pop pop } repeat x1 y1 x2 y2 x3 y3 curveto /LPutVar [ xA1 yA1 xA2 yA2 xB2 yB2 xB1 yB1 ] cvx def /LPutPos { t LPutVar BezierMidpoint } def /HPutPos { { HPutLines } HPutCurve } def /VPutPos { { VPutLines } HPutCurve } def } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore end ps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-2-3 /N@M-1-2-2 InitNC { yB yA sub xB xA sub Atan dup 12. add /AngleA exch def 12. sub 180 add /AngleB exch def 0.67 0.67 GetEdgeA GetEdgeB xA1 xB1 sub yA1 yB1 sub Pyth 2 div dup 3 -1 roll mul /ArmA ED mul /ArmB ED /ArmTypeA 0 def /ArmTypeB 0 def GetArmA GetArmB xA2 yA2 xA1 yA1 2 copy /y0 ED /x0 ED tx@Dict begin ArrowA end xB2 yB2 xB1 yB1 tx@Dict begin ArrowB end /y3 ED /x3 ED /y2 ED /x2 ED /y1 ED /x1 ED /cx x1 x0 sub 3 mul def /cy y1 y0 sub 3 mul def /bx x2 x1 sub 3 mul cx sub def /by y2 y1 sub 3 mul cy sub def /ax x3 x0 sub cx sub bx sub def /ay y3 y0 sub cy sub by sub def /getValues { ax t0 3 exp mul bx t0 t0 mul mul add cx t0 mul add x0 add ay t0 3 exp mul by t0 t0 mul mul add cy t0 mul add y0 add ax t 3 exp mul bx t t mul mul add cx t mul add x0 add ay t 3 exp mul by t t mul mul add cy t mul add y0 add } def /getdL { getValues 3 -1 roll sub 3 1 roll sub Pyth } def /CurveLength { /u 0 def /du 0.01 def 0 100 { /t0 u def /u u du add def /t u def getdL add } repeat } def /GetArrowPos { /ende 0.5 1 gt {ArrowPos}{ArrowPos CurveLength mul} ifelse def /u 0 def /du 0.01 def /sum 0 def { /t0 u def /u u du add def /t u def /sum getdL sum add def sum ende gt {exit} if } loop u } def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def /ArrowPos 0. def /loopNo 0.5 1 gt {CurveLength 0.5 div cvi }{ 1. } ifelse def loopNo cvi { /ArrowPos ArrowPos dArrowPos add def /t GetArrowPos def /t0 t 0.95 mul def getValues ArrowInside pop pop pop pop } repeat x1 y1 x2 y2 x3 y3 curveto /LPutVar [ xA1 yA1 xA2 yA2 xB2 yB2 xB1 yB1 ] cvx def /LPutPos { t LPutVar BezierMidpoint } def /HPutPos { { HPutLines } HPutCurve } def /VPutPos { { VPutLines } HPutCurve } def } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore endps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-2-6 /N@M-1-1-5 InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore endps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-1-5 /N@M-1-1-7 InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore endps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-1-7 /N@M-1-2-7 InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore endps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-2-7 /N@M-1-2-6 InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore endEFcolor push gray 0Figurȹe3:Pps:SDict begin H.S endps:SDict begin H.R endFps:SDict begin [/View [/XYZ H.V]/Dest (figure.3) cvn /DEST pdfmark endRoutesar͏emergedintooneinthesavingsheuristic. color pop color pop3,In]two-phase]constrpuctionheuristics,trȹoutesare]constrpuctedintwophases. ThePorȹderinwhichtheconstrpuctionoccursdependsontheapproach. +Inroute-rst,Pcolor push gray 0قE6 color popps:SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if endOOps:SDict begin H.S endps:SDict begin H.R endDps:SDict begin [/View [/XYZ H.V]/Dest (page.7) cvn /DEST pdfmark end15\XPcolor push gray 0 color pop਍XPcluster-secondheuristicsagiantrȹoutethatvisitseachvertexisrstconstrpuctedandisEPthenUclusterȹedintoUsmallerroutes.Incluster-rst,jroute-secondtheUwholeproblemisPrstclusterȹedintosmallerclustersandthenroutesareconstrpuctedforeachcluster.,ImprovementiheuristicshfurtheroptimiseasolutionthathasbeenbuiltwithaPconstrpuctioncheuristic.rImprȹovementheuristicsperformdwhatiscalledalocalsearȹch,Pdescribedinalgorithm 4ps:SDict begin H.S endcolor push gray 01 color pop ps:SDict begin H.R end}ps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (ALC@unique.7) cvn H.B /ANN pdfmark end.First,?wedeneasearȹchneighbourhoodbycreatingsmallPvariationsqofptheoriginalsolution(line2).ThisneighbourȹhoodisthensearȹchedPforCabettersolutionBandiffound,,Trȹeplacesthecurrȹentsolution(lines3-6).ThisisPthenrȹepeatedandnewneighbourhoodsareconstantlyformedforthecurrȹentbestPsolutions{|untilwearrive{{atthelocaloptimum(line7).*ThelocaloptimumoccursPwhennobettersolutioncanbefoundintheneighbourȹhood.Thatis,thesolutionisPatrst~localbecauseitappliestothecurrȹentneighbourhood:MthereisnoguaranteePitUisthebestUɻsolutionaswemighthavediscarȹdedotherpossiblesolutionsbeforȹeinPpastcneighbourȹhoodsearches.Secondlyitistheoptimumdasitisthebestsolution.InPthecaseoftheVRPthisoftenistherȹoutewiththesmallestlength.l$Pops:SDict begin H.S endps:SDict begin H.R endIps:SDict begin [/View [/XYZ H.V]/Dest (algorithm.1) cvn /DEST pdfmark end͉
33Algorithm1Local_Searȹch(C)xωffcolor push gray 0zl&ps:SDict begin H.S endps:SDict begin 18.26991 H.A endJps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.1) cvn /DEST pdfmark endr)color push gray 0dBE(
3434
35pplr8t@1: color popfdrepeatips:SDict begin H.S endps:SDict begin 18.26991 H.A endJps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.2) cvn /DEST pdfmark end2color push gray 0d@2: color pop %CrȹeateasearchneighbourhoodN(Ck)forCkps:SDict begin H.S endps:SDict begin 18.26991 H.A endJps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.3) cvn /DEST pdfmark endcolor push gray 0d@3: color pop %SelectCkG
36zplmr7y02URN(Ck)randomlyps:SDict begin H.S endps:SDict begin 18.26991 H.A endJps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.4) cvn /DEST pdfmark endcolor push gray 0d@4: color pop %ifCk0^isbetterthanCkthenB ps:SDict begin H.S endps:SDict begin 18.26991 H.A endJps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.5) cvn /DEST pdfmark endcolor push gray 0d@5: color pop+C URCk0:^ps:SDict begin H.S endps:SDict begin 18.26991 H.A endJps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.6) cvn /DEST pdfmark end
37color push gray 0d@6: color pop %endif7ps:SDict begin H.S endps:SDict begin 18.26991 H.A endJps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.7) cvn /DEST pdfmark endcolor push gray 0d@7: color popfduntilNobettersolutionisfound,i.e.Poptimum. color popffff?,Tfooptimiseasolutionthathasbeenbuiltwithaconstrpuctionheuristicitispossi-Pble:tofurtherimprȹoveitbyusing9improvementheuristics.ImprovementheuristicsPperformN,whatiscalledalocalsearȹch,describedinN+algorithm 4ps:SDict begin H.S endcolor push gray 01 color pop
38N, ps:SDict begin H.R end
39N,}ps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (ALC@unique.7) cvn H.B /ANN pdfmark end.First,wedeneaPsearȹchneighbourhoodbycreatingsmallvariationsoftheoriginalsolution(line2).Pcolor push gray 0قE6 color popU)ps:SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if endOOps:SDict begin H.S endps:SDict begin H.R endDps:SDict begin [/View [/XYZ H.V]/Dest (page.7) cvn /DEST pdfmark end15\XPcolor push gray 0 color pop਍XPThisneighbourȹhoodisthensearchedforabettersolutionandiffound,rȹeplacesEPtheocurrȹentosolution(lines3-6).TThisisthenrȹepeatedandnewneighbourȹhoodsarePconstantly7Jformed7IforthecurrȹentbestsolutionsuntilwearriveatthelocaloptimumP(line7).ThelocaloptimumoccurswhennobettersolutioncanbefoundinthePneighbourȹhood.1That(Cis,2Tthe(BsolutionisatrstlocalbecauseitappliestothecurrentPneighbourȹhood:Zthereisnoguaranteeitisthebestsolutionaswemighthavedis-Pcarȹded>otherpossible>solutionsbeforeinpastneighbourhoodsearches.tdSecondlyitPistheoptimumasitisthebestsolution.InthecaseoftheVRPthisoftenistherȹoutePwiththesmallestlength.,Tfoĕperformthesesearȹcheswemustrstconstrpucttheneighbourhood.ThesecanPbe0obtained/bymakingsmalladjustmentstothecurrȹentsolution.Forexample,|toPgenerateslightrȹoutevarianceswecanswitcharcsaroundinwhatiscalledanarcPexchangewherȹekarcsareswitchedaround.(Lin[ 4ps:SDict begin H.S endcolor push gray 024 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.lin_computer_1965) cvn H.B /ANN pdfmark end]rstimplementedthisasthe-Poptmechanism:xarȹcsareremovedfromthegraphandthenreinsertedatanyplace.PMostD-optCmechanismsuse2or3as,jthesearȹecalled2-optand3-optrȹespectively.PAnotherexampleisOrȹ-opt[B ps:SDict begin H.S endcolor push gray 036 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.or_traveling_1976) cvn H.B /ANN pdfmark end],inwhich3,2or1arcsareexchangedatattime.Pbps:SDict begin H.S endps:SDict begin 18.26991 H.A endLps:SDict begin [/View [/XYZ H.V]/Dest (subsection.3.3) cvn /DEST pdfmark endЍ3.3TowardsmetaheuristicsClassical+heuristicshavebeenusedtooptimisetheVRP prȹoblemnearlyfromitsrstintrȹoductionin1959.&Inthepastfewdecadesanewtypeofheuristicshasemerȹged,metaheuristics.Metaheuristicsps:SDict begin H.S endAE(
40pplr8tA1ps:SDict begin 18.26991 H.L end|ps:SDict begin [/Subtype /Link/Dest (Hfootnote.1) cvn/H /I/Border [0 0 1]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark endoperateessentiallyatonelevelaboveheuristics,9perȹ-formingLsearȹchesLonalarȹgernumberofsolutionsthanitwouldbepossiblewithheuristics.{TheyBarȹeAabletoexplorȹealarȹgersearchBspacethanheuristics,andtheirmethodsarȹeoftenmoreadvanced.InDgeneralDterms,anykindofaheuristicthatincorporatesotherlowerȹ-levelheuristicslislametaheuristic._Hencethenumberofdierȹentmetaheuristicsislarȹgeand%everexpanding,asthe&labelcanbeappliedtoanysucientlyhigh-levelheuris-ticthatoperatesonotherheuristics.MetaheuristicsS?tendtodrawinspirationfrȹomverydierentsources.~Somemimicrȹeal-lifeImodelssuchassimulatedannealingJ(SA)whichimitatestheannealingpro-cessofheatedirȹon.Antcolonyoptimisation(ACO)simulatesacolonyofantsmovingacrȹossRodierentroutesandpaths.EvolutionaryalgorithmsusemethodsadaptedfrȹomLyevolution,_suchasmutationandLxreproduction.Geneticalgorithms(GA)Lefurther/color push gray 0ffffg * 5^GE(
41pplr8tG1ps:SDict begin H.S endps:SDict begin H.R endIps:SDict begin [/View [/XYZ H.V]/Dest (Hfootnote.1) cvn /DEST pdfmark end@FromGreekHY
35pplr8tB1: color popfdrepeatips:SDict begin H.S endps:SDict begin 18.26991 H.A endJps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.2) cvn /DEST pdfmark end2color push gray 0dB2: color pop %CrȹeateasearchneighbourhoodN(Ck)forCkps:SDict begin H.S endps:SDict begin 18.26991 H.A endJps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.3) cvn /DEST pdfmark endcolor push gray 0dB3: color pop %SelectCk02URN(Ck)ps:SDict begin H.S endps:SDict begin 18.26991 H.A endJps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.4) cvn /DEST pdfmark endcolor push gray 0dB4: color pop %ifCk0^isbetterthanCkthenB ps:SDict begin H.S endps:SDict begin 18.26991 H.A endJps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.5) cvn /DEST pdfmark endcolor push gray 0dB5: color pop+C URCk0:^ps:SDict begin H.S endps:SDict begin 18.26991 H.A endJps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.6) cvn /DEST pdfmark end
36color push gray 0dB6: color pop %endif7ps:SDict begin H.S endps:SDict begin 18.26991 H.A endJps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.7) cvn /DEST pdfmark endcolor push gray 0dB7: color popfduntilNobettersolutionisfound,i.e.Patthelocaloptimum color popffff,Tfoĕperformthesesearȹcheswemustrstconstrpucttheneighbourhood.ThesecanPbe0obtained/bymakingsmalladjustmentstothecurrȹentsolution.Forexample,|toPgenerateslightrȹoutevarianceswecanswitcharcsaroundinwhatiscalledanarcPexchangewherȹekarcsareswitchedaround.(Lin[B ps:SDict begin H.S endcolor push gray 023 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.lin_computer_1965) cvn H.B /ANN pdfmark end]rstimplementedthisasthe-Poptmechanism:xarȹcsareremovedfromthegraphandthenreinsertedatanyplace.PMostD-optCmechanismsuse2or3as,jthesearȹecalled2-optand3-optrȹespectively.PAnotherexampleisOrȹ-opt[B ps:SDict begin H.S endcolor push gray 035 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.or_traveling_1976) cvn H.B /ANN pdfmark end],inwhich3,2or1arcsareexchangedatattime.Pbps:SDict begin H.S endps:SDict begin 18.26991 H.A endLps:SDict begin [/View [/XYZ H.V]/Dest (subsection.3.2) cvn /DEST pdfmark endЍ3.2MetaheuristicsClassical+heuristicshavebeenusedtooptimisetheVRP prȹoblemnearlyfromitsrstintrȹoductionin1959.&Inthepastfewdecadesanewtypeofheuristicshasemerȹged,Pcolor push gray 0قE7 color popMps:SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if endOOps:SDict begin H.S endps:SDict begin H.R endDps:SDict begin [/View [/XYZ H.V]/Dest (page.8) cvn /DEST pdfmark end15\XPcolor push gray 0 color pop਍XPmetaheuristics.Metaheuristicsps:SDict begin H.S end1E(
37pplr8t1ps:SDict begin 18.26991 H.L end|ps:SDict begin [/Subtype /Link/Dest (Hfootnote.1) cvn/H /I/Border [0 0 1]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark endoperateessentiallyatonelevelaboveheuristics,9perȹ-EPformingLsearȹchesLonalarȹgernumberofsolutionsthanitwouldbepossiblewithPheuristics.{TheyBarȹeAabletoexplorȹealarȹgersearchBspacethanheuristics,andtheirPmethodsarȹeoftenmoreadvanced.,InDgeneralDterms,anykindofaheuristicthatincorporatesotherlowerȹ-levelPheuristicslislametaheuristic._HencethenumberofdierȹentmetaheuristicsislarȹgePand%everexpanding,asthe&labelcanbeappliedtoanysucientlyhigh-levelheuris-Pticthatoperatesonotherheuristics.,MetaheuristicsS?tendtodrawinspirationfrȹomverydierentsources.~SomemimicPrȹeal-lifeImodelssuchassimulatedannealingJ(SA)whichimitatestheannealingpro-Pcessofheatedirȹon.Antcolonyoptimisation(ACO)simulatesacolonyofantsmovingPacrȹossRodierentroutesandpaths.EvolutionaryalgorithmsusemethodsadaptedPfrȹomLyevolution,_suchasmutationandLxreproduction.Geneticalgorithms(GA)LefurtherPextendsthisbyusinggenesandchrȹomosomestodeneparametersandoptimisa-Ptionpatterns.,InҺtheһcaseoftheVRPs,metaheuristicshaveprȹoducedbetterresultsһthanclassicalPheuristics8[ 4ps:SDict begin H.S endcolor push gray 04 color pop ps:SDict begin H.R endps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.chiang_reactive_1997) cvn H.B /ANN pdfmark end,# 4ps:SDict begin H.S end#color push gray 024 color pop# ps:SDict begin H.R end#ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.mester_active_2005) cvn H.B /ANN pdfmark end,#B ps:SDict begin H.S end#color push gray 036 color pop ps:SDict begin H.R endps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.pisinger_general_2007) cvn H.B /ANN pdfmark end].RThestudybyBrysyandGendrȹeau7[B ps:SDict begin H.S endcolor push gray 03 color pop ps:SDict begin H.R endps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.braeysy_vehicle_2005) cvn H.B /ANN pdfmark end]statesthattraditionalPheuristicsvarytoomuchinperformanceanddonotprȹovideatechniquethatisPapplicable]to^asucientnumberofprȹoblems.hThecapabilityofmetaheuristicssurȹ-Ppasses)thatof(classicalheuristicsandtherȹeviewbyLaporteetal.[ 4ps:SDict begin H.S endcolor push gray 021 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.laporte_classical_2002) cvn H.B /ANN pdfmark end]concludesthatPthe`futurȹe`oftheVRP`liesintheeldofmetaheuristics.ښForfurtherinformationonPmetaheuristicsO]inO^theVRPOwerȹefertherȹeaderto[B ps:SDict begin H.S endcolor push gray 03 color pop ps:SDict begin H.R endps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.braeysy_vehicle_2005) cvn H.B /ANN pdfmark end,n 4ps:SDict begin H.S endncolor push gray 014 color popn ps:SDict begin H.R endnps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.gendreau_metaheuristics_2002) cvn H.B /ANN pdfmark end]andformetaheuristicsinPgeneralBto[B ps:SDict begin H.S endcolor push gray 015 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.glover_handbook_2003) cvn H.B /ANN pdfmark end, 4ps:SDict begin H.S endcolor push gray 042 color pop ps:SDict begin H.R endps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.talbi_metaheuristics_2009) cvn H.B /ANN pdfmark end].ForinformationaboutclassicalheuristicstherȹeaderisreferredPto[ 4ps:SDict begin H.S endcolor push gray 07 color pop ps:SDict begin H.R endps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.cordeau_guide_2002) cvn H.B /ANN pdfmark end,`B ps:SDict begin H.S end`color push gray 020 color pop ` ps:SDict begin H.R end `ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.laporte_classical_2000) cvn H.B /ANN pdfmark end].P8Kps:SDict begin H.S endps:SDict begin 18.26991 H.A endGps:SDict begin [/View [/XYZ H.V]/Dest (section.4) cvn /DEST pdfmark enduÍ4EvolutionaryAlgorithmsEInNthisNsectionweexplorȹeoptimisationfrȹomanotherperspective:_evolution.}CWfepro-videa+adenitiona,forevolutionaryalgorithms(EA)aandrȹeviewprominenta+implemen-tationstherȹeof:evolutionarystrategies(ES),geneticalgorithms(GA)andmemeticalgorithms(MA).Wfebeginbyprȹovidingabackgrȹoundforevolutionaryprȹogram-ming inB ps:SDict begin H.S endcolor push gray 0subsection4.1 color popN5Qops:SDict begin H.R endN5ps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (subsection.4.1) cvn H.B /ANN pdfmark end,/afterwhichwerȹeview
38evolutionarystrategiesandgeneticalgorithmsinB ps:SDict begin H.S endcolor push gray 0subsection4.3 color popNƟQops:SDict begin H.R endNps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (subsection.4.3) cvn H.B /ANN pdfmark endandB ps:SDict begin H.S endcolor push gray 0subsection4.2 color popNǟQops:SDict begin H.R endNps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (subsection.4.2) cvn H.B /ANN pdfmark endrȹespectively. InB ps:SDict begin H.S endcolor push gray 0subsection4.4 color popQops:SDict begin H.R endps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (subsection.4.4) cvn H.B /ANN pdfmark end,Jwediscussalternate,yetsimilar,apprȹoachestoevolutionaryalgorithmsandthenmove/color push gray 0ffffg * 5^HE(
39pplr8tH1ps:SDict begin H.S endps:SDict begin H.R endIps:SDict begin [/View [/XYZ H.V]/Dest (Hfootnote.1) cvn /DEST pdfmark endBFromGreekIY
4240
43pplri8tHmeta-@:afterp,beyond.9 color popPcolor push gray 0قE7 color poptps:SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if endOOps:SDict begin H.S endps:SDict begin H.R endDps:SDict begin [/View [/XYZ H.V]/Dest (page.8) cvn /DEST pdfmark end15\XPcolor push gray 0 color pop਍XPextendsthisbyusinggenesandchrȹomosomestodeneparametersandoptimisa-EPtionpatterns.,InҺtheһcaseoftheVRPs,metaheuristicshaveprȹoducedbetterresultsһthanclassicalPheuristics8[ 4ps:SDict begin H.S endcolor push gray 04 color pop ps:SDict begin H.R endps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.chiang_reactive_1997) cvn H.B /ANN pdfmark end,#B ps:SDict begin H.S end#color push gray 025 color pop# ps:SDict begin H.R end#ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.mester_active_2005) cvn H.B /ANN pdfmark end,#B ps:SDict begin H.S end#color push gray 037 color pop ps:SDict begin H.R endps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.pisinger_general_2007) cvn H.B /ANN pdfmark end].RThestudybyBrysyandGendrȹeau7[B ps:SDict begin H.S endcolor push gray 03 color pop ps:SDict begin H.R endps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.braeysy_vehicle_2005) cvn H.B /ANN pdfmark end]statesthattraditionalPheuristicsvarytoomuchinperformanceanddonotprȹovideatechniquethatisPapplicable]to^asucientnumberofprȹoblems.hThecapabilityofmetaheuristicssurȹ-Ppasses)thatof(classicalheuristicsandtherȹeviewbyLaporteetal.[ 4ps:SDict begin H.S endcolor push gray 022 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.laporte_classical_2002) cvn H.B /ANN pdfmark end]concludesthatPthe`futurȹe`oftheVRP`liesintheeldofmetaheuristics.ښForfurtherinformationonPmetaheuristicsO]inO^theVRPOwerȹefertherȹeaderto[B ps:SDict begin H.S endcolor push gray 03 color pop ps:SDict begin H.R endps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.braeysy_vehicle_2005) cvn H.B /ANN pdfmark end,n 4ps:SDict begin H.S endncolor push gray 014 color popn ps:SDict begin H.R endnps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.gendreau_metaheuristics_2002) cvn H.B /ANN pdfmark end]andformetaheuristicsinPgeneralBto[B ps:SDict begin H.S endcolor push gray 015 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.glover_handbook_2003) cvn H.B /ANN pdfmark end,B ps:SDict begin H.S endcolor push gray 043 color pop ps:SDict begin H.R endps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.talbi_metaheuristics_2009) cvn H.B /ANN pdfmark end].ForinformationaboutclassicalheuristicstherȹeaderisreferredPto[ 4ps:SDict begin H.S endcolor push gray 07 color pop ps:SDict begin H.R endps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.cordeau_guide_2002) cvn H.B /ANN pdfmark end,` 4ps:SDict begin H.S end`color push gray 021 color pop ` ps:SDict begin H.R end `ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.laporte_classical_2000) cvn H.B /ANN pdfmark end].P8Kps:SDict begin H.S endps:SDict begin 18.26991 H.A endGps:SDict begin [/View [/XYZ H.V]/Dest (section.4) cvn /DEST pdfmark enduÍ4EvolutionaryalgorithmslEcolor push gray 0nQ
44eps:tx@Dict begin tx@NodeDict begin {12.4819 9.30525 68.40042 34.20021 1.58832 } false /N@M-1-1-1 16 {InitRnode } NewNode end end" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 0. true 3.8 neg 7.18393 neg 62.4791 12.4819 .5 Frame gsave 3.0 -45 PtoC Shadow 0.25 setgray gsave fill grestore stroke grestore gsave 1 setgray gsave fill grestore stroke grestore gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end Populationb<ps:tx@Dict begin tx@NodeDict begin {12.11592 6.17928 49.22493 24.61246 2.96832 } false /N@M-1-1-4 16 {InitRnode } NewNode end end" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 0. true 3.8 neg 4.05795 neg 43.3036 12.11592 .5 Frame gsave 3.0 -45 PtoC Shadow 0.25 setgray gsave fill grestore stroke grestore gsave 1 setgray gsave fill grestore stroke grestore gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end ParȹentsAw^pps:tx@Dict begin tx@NodeDict begin {12.4819 9.30525 61.1168 30.5584 1.58832 } false /N@M-1-2-4 16 {InitRnode } NewNode end end" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 0. true 3.8 neg 7.18393 neg 55.19548 12.4819 .5 Frame gsave 3.0 -45 PtoC Shadow 0.25 setgray gsave fill grestore stroke grestore gsave 1 setgray gsave fill grestore stroke grestore gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end Ospring=ps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 2. 2. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 2. 2. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-1-1 /N@M-1-1-4 InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore endCps:tx@Dict begin tx@NodeDict begin /t 0.5 def tx@NodeDict /HPutPos known { VPutPos } { CP /Y exch def /X exch def /NAngle 0 def /NCLW 0 def } ifelse /Sin NAngle sin def /Cos NAngle cos def /s 5.0 NCLW add def /l 23.77762 def /r 23.77762 def /h 4.74237 def /d 4.19748 def /flag true def VPutAdjust LPutCoor end PutBegin end8Selectionps:tx@Dict begin PutEnd endps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 2. 2. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 2. 2. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-1-4 /N@M-1-2-4 InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore endFps:tx@Dict begin tx@NodeDict begin /t 0.5 def tx@NodeDict /HPutPos known { HPutPos } { CP /Y exch def /X exch def /NAngle 0 def /NCLW 0 def } ifelse /Sin NAngle sin def /Cos NAngle cos def /s 5.0 NCLW add def /l 81.89912 def /r 81.89912 def /h 17.33037 def /d 19.20943 def /flag false def HPutAdjust LPutCoor end PutBegin end܍wReprȹoduction:Erȹecombinationandmutationps:tx@Dict begin PutEnd endps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 2. 2. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 2. 2. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-2-4 /N@M-1-1-1 InitNC { tx@Dict begin /Lineto /lineto load def false 0 setlinejoin pop end /AngleA 180. def /AngleB -90. def /ArmA 10.0 def /ArmB 10.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngle } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore endCps:tx@Dict begin tx@NodeDict begin /t 0.5 def tx@NodeDict /HPutPos known { VPutPos } { CP /Y exch def /X exch def /NAngle 0 def /NCLW 0 def } ifelse /Sin NAngle sin def /Cos NAngle cos def /s 5.0 NCLW add def /l 34.39153 def /r 34.39153 def /h 4.74237 def /d 7.32346 def /flag true def VPutAdjust LPutCoor end PutBegin endݛReplacementps:tx@Dict begin PutEnd endRKQ color push gray 0Figurȹe4:Pps:SDict begin H.S endps:SDict begin H.R endFps:SDict begin [/View [/XYZ H.V]/Dest (figure.4) cvn /DEST pdfmark endAgenerationinevolutionaryalgorithms.[B ps:SDict begin H.S endcolor push gray 043 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.talbi_metaheuristics_2009) cvn H.B /ANN pdfmark end] color pop color pop EInkthisksectionweexplorȹeoptimisationfrȹomanotherperspective:evolution.Wfeprȹovide+a+denitionforevolutionaryalgorithms(EA)+andrȹeviewthetwoprȹomi-nent.iimplementations.jtherȹeof:"geneticalgorithms(GA).]andevolutionarystrategies(ES).OEvolutionaryalgorithmNdrawinspirationfrȹomthecycleofevolutionobservedinnaturȹe.5Darwin[B ps:SDict begin H.S endcolor push gray 010 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.darwin_origin_1859) cvn H.B /ANN pdfmark end]revolutionisedmodernsciencewithhistheoryofevolutionthrȹough]Fnaturalselection,inwhichnatureandlifeareseenasasetoflifeformstryingK\tocompeteK]forsurvivalthrȹoughadaptation.eThisapproachK]wasextendedtooptimisationbyFogel[ 4ps:SDict begin H.S endcolor push gray 012 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.fogel_artificial_1966) cvn H.B /ANN pdfmark end]asevolutionaryprȹogramming..Evolutionaryprogram-ming(took(awholedecadetogainwidesprȹeadacceptanceanditwasnotuntilHol-land8[B ps:SDict begin H.S endcolor push gray 018 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.holland_adaptation_1975) cvn H.B /ANN pdfmark end]intrȹoducedthegeneticalgorithmthatevolutionaryalgorithmsasawholebecame_popular.Atthattime,the_conceptofevolvingsolutionsintobetteronesusingthismselection-basedlapprȹoachwasseenasastrikinglyuniqueapprȹoachinoptimi-sation.Pcolor push gray 0قE8 color pop ps:SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if endOOps:SDict begin H.S endps:SDict begin H.R endDps:SDict begin [/View [/XYZ H.V]/Dest (page.9) cvn /DEST pdfmark end15\XPcolor push gray 0 color pop਍X,InevolutionaryalgorithmssolutionstooptimisationprȹoblemsareassembledEPinto'populations.WWitheachiterationapopulationunderȹgoesthe(processofanewPgeneration.;EachNgenerationrȹeceivesOasmallamountofvarianceviacombinationP(rȹeproduction)andmutationtoprȹoducenewindividualsospringofparȹentPsolutionsACinADtheprȹeviousgeneration.|TheseindividualsarȹethenevaluatedusingPatnessfunctionthatmeasurȹesthetnessofasolution.Usingthistnessvalue,zwePselectthebestindividualstoprȹoduceospringinthehopeofcrȹeatingevenbetterPindividuals.FWfe/;thusevolvethesolutionsintobetteronesusingthesameprȹocessPDarwinobserved.,In5an4EA,aninitialpopulationcanbegeneratedbysamplingasucientnumberPofY]randomisedY^solutionsorusingaconstrpuctionheuristicmentionedinB ps:SDict begin H.S endcolor push gray 0section3.2 color pop:s؟ ps:SDict begin H.R end:s{ps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (section*.2) cvn H.B /ANN pdfmark end.PbIps:SDict begin H.S endPcolor push gray 0Figurȹe4 color popF} ps:SDict begin H.R endF}yps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (figure.4) cvn H.B /ANN pdfmark enddescribesthestepstakenincrȹeatinganewgeneration.!ThepopulationisPthenevolvedtowarȹdsacertaingoalusingtheseoperators:OPcolor push gray 0 color pop8ySelection6byselecting5imprȹovingsolutionsovernon-improving5oneswhile8ymaintainingaxedpopulationsizetherȹebyprpuningbadsolutions.w獍Pcolor push gray 0 color pop8yReproduction჻orrecombinationbymixingcandidatesolutionstogetherto8ygeneratenewsolutionsusingcrȹossover.Pcolor push gray 0 color pop8yMutationLbyKapplyingrandomvariancetoospringgeneratedbyrȹecombina-8ytion.hThis,inIconjunctionwithgenecrȹossoverresultingfromrecombination,is8ywhatintrȹoducesvarianceacrossgenerations.O,Evolutionary)algorithms(canbeclassiedintotwomajordisciplines:BgeneticPalgorithms(GA)Randevolutionarystrategies(ES).GeneticalgorithmsoperateonPpopulationsFofinvidualsinFwhichinformationisencodedintoageneformatusingPchrȹomosomes.)Thesechromosomesarethendecodedintoactualindividualsolu-Ption.8IThese*chrȹomosomes*arethen*modiedusinggeneticoperatorssuchasmu-Ptation.~EvolutionarystrategiesarȹeasimilartogeneticalgorithmsbuttheytendtoPrȹelyoonomutatingthesolutionsalone,˿whereasageneticalgorithmousesmutationPonthegenotype,thatisthesetofgenes,ofasolution.s&ThisisfurtherexplainedinPB ps:SDict begin H.S endPcolor push gray 0subsection4.2 color pope`Qops:SDict begin H.R ende`ps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (subsection.4.2) cvn H.B /ANN pdfmark end.P"ps:SDict begin H.S endps:SDict begin 18.26991 H.A endLps:SDict begin [/View [/XYZ H.V]/Dest (subsection.4.1) cvn /DEST pdfmark end4.1ThegeneticalgorithmGeneticalgorithms(GA)mimictheprȹocessofevolutionobservedinnature.TheywerȹeinitiallyproposedbyHolland[B ps:SDict begin H.S endcolor push gray 018 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.holland_adaptation_1975) cvn H.B /ANN pdfmark end].`GAsusechromosomes,stringsofgenes,toPcolor push gray 0قE9 color pop
45ps:SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if endOOps:SDict begin H.S endps:SDict begin H.R endEps:SDict begin [/View [/XYZ H.V]/Dest (page.10) cvn /DEST pdfmark end15\XPcolor push gray 0 color pop਍XPcangencodegasolutiontoanygivenprȹoblemintoastringrȹepresentation.ThegoriginalEPprȹoposalbyHollanduseastringofbits,Ke.g.Y1101wouldbeachromosomecontain-Ping*fourgenes,
4651,1,0*and1.Thesearȹe+thensubjecttomutationandcrȹossoveroper-Patorsutogeneratenewcombinations,nrȹecombinations,moftheirugenes.#ThefollowingPalgorithmisanoutlineofatypicalGA. 捑Pcps:SDict begin H.S endps:SDict begin H.R endIps:SDict begin [/View [/XYZ H.V]/Dest (algorithm.2) cvn /DEST pdfmark end͉
47Algorithm2Thegeneticalgorithm.ȯffcolor push gray 0*kps:SDict begin H.S endps:SDict begin 18.26991 H.A endJps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.8) cvn /DEST pdfmark endcolor push gray 0d@1: color popfdInitialiseGenerateaninitialpopulationofsizeNps:SDict begin H.S endps:SDict begin 18.26991 H.A endJps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.9) cvn /DEST pdfmark endcolor push gray 0d@2: color popfdforngenerationsdobIps:SDict begin H.S endps:SDict begin 18.26991 H.A endKps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.10) cvn /DEST pdfmark endЍcolor push gray 0d@3: color pop %forkG:=1toNռdoB ps:SDict begin H.S endps:SDict begin 18.26991 H.A endKps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.11) cvn /DEST pdfmark endcolor push gray 0d@4: color pop+SelectStwoTparȹentsolutionsfrȹomthepopulationrandomlyusingthetness+functionps:SDict begin H.S endps:SDict begin 18.26991 H.A endKps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.12) cvn /DEST pdfmark endcolor push gray 0d@5: color pop+Recombinetheseparȹentsintotwoospringusingcrossoverps:SDict begin H.S endps:SDict begin 18.26991 H.A endKps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.13) cvn /DEST pdfmark endcolor push gray 0d@6: color pop+Mutatetheospringwithagivenprȹobabilitypm
48ps:SDict begin H.S endps:SDict begin 18.26991 H.A endKps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.14) cvn /DEST pdfmark endcolor push gray 0d@7: color pop+Includetheospringtoanewpopulationps:SDict begin H.S endps:SDict begin 18.26991 H.A endKps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.15) cvn /DEST pdfmark endЍcolor push gray 0d@8: color pop %endforps:SDict begin H.S endps:SDict begin 18.26991 H.A endKps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.16) cvn /DEST pdfmark endcolor push gray 0d@9: color pop %Evaluateeachindividualinthenewpopulationps:SDict begin H.S endps:SDict begin 18.26991 H.A endKps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.17) cvn /DEST pdfmark endcolor push gray 0d@10: color pop %Replacetheoldpopulationwiththenewoneps:SDict begin H.S endps:SDict begin 18.26991 H.A endKps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.18) cvn /DEST pdfmark endЍcolor push gray 0d@11: color popfdendforps:SDict begin H.S endps:SDict begin 18.26991 H.A endKps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.19) cvn /DEST pdfmark endcolor push gray 0d@12: color popfdreturnthebestchrȹomosomeinX color popffffЍ,In4the4rstphaseaninitialsolutioniscrȹeated(line1).TThiscanbearandomisedPsamplingjofsolutions.
49 Then,forngenerations,theactualkprȹocessdescribedinPbIps:SDict begin H.S endPcolor push gray 0Figurȹe4 color popF} ps:SDict begin H.R endF}yps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (figure.4) cvn H.B /ANN pdfmark end;takes<placeN times(lines2-11).Aftertherȹeproduction;phase(lines4-7)PthepopulationisevaluatedusingthetnessfunctionandthepopulationisrȹestoredPtosizeNջbyrȹemovingtheinferiorindividuals.Pcolor push gray 0ւE10 color pop 'ps:SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if endOOps:SDict begin H.S endps:SDict begin H.R endEps:SDict begin [/View [/XYZ H.V]/Dest (page.11) cvn /DEST pdfmark end15\XPcolor push gray 0 color pop਍PzXps:SDict begin H.S endps:SDict begin 18.26991 H.A endLps:SDict begin [/View [/XYZ H.V]/Dest (subsection.4.2) cvn /DEST pdfmark end 4.2EvolutionarystrategiesXv@color push gray 0X ͔xps:tx@Dict begin tx@NodeDict begin {25.0699 21.19122 98.23271 49.11635 1.93933 } false /N@M-1-1-1 16 {InitRnode } NewNode end end" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 0. true 3.8 neg 19.0699 neg 92.31139 25.0699 .5 Frame gsave 3.0 -45 PtoC Shadow 0.25 setgray gsave fill grestore stroke grestore gsave 1 setgray gsave fill grestore stroke grestore gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end ܍CGenotypeE(chrȹomosome)Lxps:tx@Dict begin tx@NodeDict begin {25.0699 21.19122 78.78052 39.39026 1.93933 } false /N@M-1-1-4 16 {InitRnode } NewNode end end" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 0. true 3.8 neg 19.0699 neg 72.85919 25.0699 .5 Frame gsave 3.0 -45 PtoC Shadow 0.25 setgray gsave fill grestore stroke grestore gsave 1 setgray gsave fill grestore stroke grestore gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end ܍PhenotypeEG(solution), ":^kps:tx@Dict begin tx@NodeDict begin {0.0 0.0 0.0 0.0 0.0 } false /N@M-1-2-1 16 {InitRnode } NewNode end end&/ύps:tx@Dict begin tx@NodeDict begin {12.13495 6.13495 117.83879 58.91939 3.0 } false /N@M-1-3-1 16 {InitRnode } NewNode end endhMutation,crȹossoverR~ps:tx@Dict begin tx@NodeDict begin {12.13495 6.13495 48.98347 24.49173 3.0 } false /N@M-1-3-4 16 {InitRnode } NewNode end endhFitness0ps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 2. 2. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 2. 2. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-1-1 /N@M-1-1-4 InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore endCps:tx@Dict begin tx@NodeDict begin /t 0.5 def tx@NodeDict /HPutPos known { VPutPos } { CP /Y exch def /X exch def /NAngle 0 def /NCLW 0 def } ifelse /Sin NAngle sin def /Cos NAngle cos def /s 5.0 NCLW add def /l 25.69774 def /r 25.69774 def /h 4.74237 def /d 7.32346 def /flag true def VPutAdjust LPutCoor end PutBegin endMaDecodingps:tx@Dict begin PutEnd endps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 2. 2. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 2. 2. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-3-1 /N@M-1-1-1 InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinecap [ 5.0 3.0 0.0 0.0 ] -2 0 add DashLine grestore grestore endDps:tx@Dict begin tx@NodeDict begin /t 0.5 def tx@NodeDict /HPutPos known { HPutPos } { CP /Y exch def /X exch def /NAngle 0 def /NCLW 0 def } ifelse /Sin NAngle sin def /Cos NAngle cos def /s 5.0 NCLW add def /l 36.44351 def /r 36.44351 def /h 4.74237 def /d 7.32346 def /flag false def HPutAdjust LPutCoor end PutBegin endێvReprȹoductionps:tx@Dict begin PutEnd endps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 2. 2. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 2. 2. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-1-4 /N@M-1-3-4 InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinecap [ 5.0 3.0 0.0 0.0 ] -2 0 add DashLine grestore grestore endDps:tx@Dict begin tx@NodeDict begin /t 0.5 def tx@NodeDict /HPutPos known { HPutPos } { CP /Y exch def /X exch def /NAngle 0 def /NCLW 0 def } ifelse /Sin NAngle sin def /Cos NAngle cos def /s 5.0 NCLW add def /l 68.53714 def /r 68.53714 def /h 4.74237 def /d 6.45349 def /flag false def HPutAdjust LPutCoor end PutBegin endv~Envirȹonment(evaluation)ps:tx@Dict begin PutEnd endE3color push gray 0Figurȹe5:Pps:SDict begin H.S endps:SDict begin H.R endFps:SDict begin [/View [/XYZ H.V]/Dest (figure.5) cvn /DEST pdfmark endThedistinctionbetweenthegenotypeandthephenotype.[B ps:SDict begin H.S endcolor push gray 043 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.talbi_metaheuristics_2009) cvn H.B /ANN pdfmark end] color pop color pop EEvolutionarystrategies[ 4ps:SDict begin H.S endcolor push gray 041 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.rechenberg_evolutionsstrategie:_1973) cvn H.B /ANN pdfmark end](ES)^rȹesemblegeneticalgorithmsinsofarastheyad-EherȹeGJtoGKevolutionaryprinciplesanduseevolutionarytechniques.0GenecrȹossovertypicaltoGAsisrarȹelyusedandthemutationevolutionarystrategiesapplyarȹedierȹent.^Tfodescribethisfurther, ESdierinthattheymodeltheevolutionatthelevelwofphenotypesanduseawdecisionvectorcombinedwithstrategyparameters(seebIps:SDict begin H.S endcolor push gray 0Figurȹe5 color pop+W ps:SDict begin H.R end+Wyps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (figure.5) cvn H.B /ANN pdfmark end).gThis:mdecision:lvectorv=(x,)consistsofthevectorxY%thatisacollectionofurȹeal-valuedtvariables(thesolution)andthevector7thatconsistsofstrategypa-rameters.TheseM&strategyM%parametersarȹearȹepresentationM&ofrandomlydistributedvariables.5Theدstrategyذparametersarȹethenusedinmutationbysubstitutingxgwithxt+1=()xt8+N(0,)wherȹeN(0,)isarandomGaussiannumberwithameanofzerȹoandstandarddeviation|[B ps:SDict begin H.S endcolor push gray 025 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.mester_active_2005) cvn H.B /ANN pdfmark end].~Mutationisusedtoprȹovideself-adaptationbymutating both thesolutionvectorxĻandthestrategyparameters».7uThiscontrastswithtypicalGAsthatmutatethegenes(genotype)alone.TheQ4evolutionaryQ3strategy(ES)QbyMesterandBrysy[B ps:SDict begin H.S endcolor push gray 025 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.mester_active_2005) cvn H.B /ANN pdfmark end]usesasingleindividualtogenerateasingleospringthrȹoughmutation,amethodknownasa(1+1)strategywithoutanyrȹecombination. Thesolutionsandstrategyparametersarȹemutatedwiththeuseofaguidedlocalsearȹchmetaheuristic.̆TherstESz[B ps:SDict begin H.S endcolor push gray 019 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.homberger_two_1999) cvn H.B /ANN pdfmark end]fortheVRPuseda(,)-ES.ForanintrȹoductiontoESthereaderisreferredto[ 4ps:SDict begin H.S endcolor push gray 01 color pop ps:SDict begin H.R endps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.beyer_evolution_2002) cvn H.B /ANN pdfmark end].ps:SDict begin H.S endps:SDict begin 18.26991 H.A endLps:SDict begin [/View [/XYZ H.V]/Dest (subsection.4.3) cvn /DEST pdfmark end󱍍4.3GeneticalgorithmsintheVRPGenetic/.algorithms/-intheVRP.oweagrȹeatdealtotheTravellingSalesmanPrȹob-lem.The/latterhasseenmuchmorȹeresearchespeciallywiththeapplicationsofGA.ThisI
50prȹovidesI asignicantadvantagefortheVRPHasmanyoftheoperatorsandal-gorithmscanbeappliedtotheVRPNaswell.WfecanapplyTSP-basedalgorithmsPcolor push gray 0ւE11 color pop :mps:SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if endOOps:SDict begin H.S endps:SDict begin H.R endEps:SDict begin [/View [/XYZ H.V]/Dest (page.12) cvn /DEST pdfmark end15\XPcolor push gray 0 color pop਍XPbydivingtheVRPgintosubrȹouteswhereinthedepotbecomesjustanothervertex.EPEcientmerȹgingalgorithmscanthenmergetheseroutesintotheVRPs.[B ps:SDict begin H.S endcolor push gray 028 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.nagata_edge_2007) cvn H.B /ANN pdfmark end],Tfo<uthisend,Kweneedtointrȹoduce<vapracticalrepresentationofaroute<vinachro-Pmosomeformat.STheclassicalbitstringobviouslydoesnotworkastheVRP9isPfundamentallydiscrȹete.ЅOurmutationandcrossovermustbesophisticatedenoughPtoWnotmakeWthesolutioninvalid,masverticesandedgescannotbeblithelyrȹelocatedPwithoutanyrȹegardtorȹoutefeasibility.WfemightendupwithaneverincreasingPquantityKofJsolutionswithmissingverticesanddisjointedges.0HenceweneedtoPimposeafewrȹequirementsonourGAbeforȹeweapplyitontheVRP:P bIps:SDict begin H.S endps:SDict begin 18.26991 H.A endDps:SDict begin [/View [/XYZ H.V]/Dest (Item.1) cvn /DEST pdfmark endЍcolor push gray 01. color pop_Thevgenesvmustrȹepresentvreal,discretevalues,andthemutationvmustproduce_validvertices(oredges).bIps:SDict begin H.S endps:SDict begin 18.26991 H.A endDps:SDict begin [/View [/XYZ H.V]/Dest (Item.2) cvn /DEST pdfmark endcolor push gray 02. color pop_Routeshavetobefeasible,ihenceourcrȹossoveroperatormustgeneraterȹoutes_thatdonotleavenodesunvisited.B ps:SDict begin H.S endps:SDict begin 18.26991 H.A endDps:SDict begin [/View [/XYZ H.V]/Dest (Item.3) cvn /DEST pdfmark endcolor push gray 03. color pop_Achrȹomosomemustdescribeasolutionthatadheresto1.Pand2.EAsbitstringsarȹeimpracticalinmodellingtheVRPs,anintegerrȹepresentationcanHbedevised.ThechrȹomosomeisHmodelledasasequenceofvehiclerȹoutes,[witheachgeneavisitedvertex.UsingthismethodtheVRPdescribedinbIps:SDict begin H.S endcolor push gray 0Figurȹe1 color pop.q ps:SDict begin H.R end.qyps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (figure.1) cvn H.B /ANN pdfmark endwouldtranslateNto0-1-2-3-4-0-5-6-7-8-9-0-10-11-0л.9NoticehowMthedepot0actsasasepa-ratorbetweenrȹoutes.Anexampleamutationoperatorisremove-and-reinsertthatsimplyswapsavertexwithanotherandthenshiftstherȹemainingverticesaccord-inglyasseeninbIps:SDict begin H.S endcolor push gray 0Figurȹe6 color pop.W ps:SDict begin H.R end.Wyps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (figure.6) cvn H.B /ANN pdfmark end.bps:SDict begin H.S endps:SDict begin 18.26991 H.A endLps:SDict begin [/View [/XYZ H.V]/Dest (subsection.4.4) cvn /DEST pdfmark endЍ4.4CrossoveroperatorsCrȹossover2operators2workbyexchangingsegmentsoftwochrȹomosomes.QTheclas-sicaluone-pointcrȹossoverudeterminesacutpointatwhichtwochrȹomosomesareusplitintotwopartsandexchangesthesepartswhencrȹeatingospring,butthisisnotrȹe-allyfeasibleintheVRPs,asitmightprȹoduceinfeasibleorbrokenroutes.bIps:SDict begin H.S endcolor push gray 0Figure7 color pop2V؟ ps:SDict begin H.R end2Vyps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (figure.7) cvn H.B /ANN pdfmark endSlncolor push gray 0<
51%١YϦffe? 􍍑Ospring1:Qe?0ce?5ue?6e?7e?8e?9EOspring2:Qe?0ce?5ue?7e?8e?6e?9኉ffe?"^scolor push gray 0Figurȹe6:Pps:SDict begin H.S endps:SDict begin H.R endFps:SDict begin [/View [/XYZ H.V]/Dest (figure.6) cvn /DEST pdfmark endRARmutation. color pop color popPcolor push gray 0ւE12 color pop k6ps:SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if endOOps:SDict begin H.S endps:SDict begin H.R endEps:SDict begin [/View [/XYZ H.V]/Dest (page.13) cvn /DEST pdfmark end15\XPcolor push gray 0 color pop਍XPusesƵthesubrȹoute0-5-6-7-83Fanditsƶinverse0-8-7-6-5andappliesone-pointcrȹossoverEPonthelasttwovertices:puPcolor push gray 0aXl]ϦBffe? 􍍑Parȹent1:Qe?0ce?5ue?6͟{$EffEffe?7e?8e?9EParȹent2:Qe?0ce?9ue?8͟{$EffEffe?7e?6e?5኉ffe?Ospring1:Qe?0ce?5ue?6͟{$EffEffe?7e?6e?5Ospring2:Qe?0ce?9ue?8͟{$EffEffe?7e?8e?9኉ffe?5ZHcolor push gray 0Figurȹe7:Pps:SDict begin H.S endps:SDict begin H.R endFps:SDict begin [/View [/XYZ H.V]/Dest (figure.7) cvn /DEST pdfmark endOne-pointcrossoverproducinginvalidroutes. color pop color pop E,As@canbe@clearlyseeninbIps:SDict begin H.S endcolor push gray 0Figurȹe7 color pop/ ps:SDict begin H.R end/yps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (figure.7) cvn H.B /ANN pdfmark end,bothrȹoutesareinvalid.z|TherstospringPisBmissingverticesCandthesecondonehasduplicates. )Itisclearthatone-pointPcrȹossoverR5isnotR6sophisticatedenoughtobeappliedtotheVRPR andabettercrȹossoverPoperatorjisjrȹequired.&Theorderjcrossover(OX)j[B ps:SDict begin H.S endcolor push gray 033 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.oliver_study_1987) cvn H.B /ANN pdfmark end]isjanorder-basedjoperatorthatPwasdesignedtoprȹoducevalidroutes.auPcolor push gray 0OT鍍Ϧe)ffe? 􍍑Parȹent1:Qe?0ce?5ue?6e?7e?8e?9EParȹent2:Qe?0ce?9ue?8e?7e?6e?5኉ffe?Ospring1:Qe?9ce?8ue?6e?7e?5e?0ffe?,΍color push gray 0Figurȹe8:Pps:SDict begin H.S endps:SDict begin H.R endFps:SDict begin [/View [/XYZ H.V]/Dest (figure.8) cvn /DEST pdfmark endOrdercrossover(OX) color pop color pop,bIps:SDict begin H.S end,color push gray 0Figurȹe8 color popXHq ps:SDict begin H.R endXHqyps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (figure.8) cvn H.B /ANN pdfmark endςisanexampleσoftheorȹdercrossoverappliedtoσtheroutesinbIps:SDict begin H.S endcolor push gray 0Figure7 color pop/'r ps:SDict begin H.R end/'ryps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (figure.7) cvn H.B /ANN pdfmark end.PFirst,Ǭthecutpointissettoincludetwoverticesatthemiddle.Thisvertexpair(6,P7)9is:thentransferrȹedtotheospring.GVerticesarȹetheninsertedintheorȹder6-5-0-P9-8.;As+6+isalrȹeadyintherȹoute,6itisskipped.;Atvertex0therȹoutewrapsoverandPverticesX9Wand8arȹeinsertedtothebeginningofthevertex.VTheprȹoducedrouteWisPthusvalidandhasnoduplicates.FManyorȹder-basedoperatorscrossoverakintothePprȹeviousonehaveproducedvalidospringroutesintheTSP[B ps:SDict begin H.S endcolor push gray 038 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.potvin_review_2009) cvn H.B /ANN pdfmark end].Pbps:SDict begin H.S endps:SDict begin 18.26991 H.A endLps:SDict begin [/View [/XYZ H.V]/Dest (subsection.4.5) cvn /DEST pdfmark endЍ4.5Edge-AssemblyCrossoverTheEdge-AssemblyCrossover(EAX)isapowerfulcrȹossoveralgorithmthatwasrstimplementedfortheTravellingSalesmanPrȹoblem(TSP)by[B ps:SDict begin H.S endcolor push gray 032 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.nagata_edge_1997) cvn H.B /ANN pdfmark end]andthenmod-ied-fortheCVRP[B ps:SDict begin H.S endcolor push gray 028 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.nagata_edge_2007) cvn H.B /ANN pdfmark end].FortheTSPs,the.EAXworksintwophases.Intherstphase,rȹoutesi0arei/constrpuctedbycombiningtheedgesoftheparȹentsunderrȹelaxedcondi-tions{of{theTSPs.Therȹelaxedconditionsmeanthatsolutionscanviolatethecon-straintsotherwiseimposedbytheTSPs,suchastherpulethatdoesnotallowmultiplePcolor push gray 0ւE13 color pop~lps:SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if endOOps:SDict begin H.S endps:SDict begin H.R endEps:SDict begin [/View [/XYZ H.V]/Dest (page.14) cvn /DEST pdfmark end15\XPcolor push gray 0 color pop਍XPvisitsvotovponerȹoute.uBytemporarilyrȹemovingthisconstraintwearȹeabletogenerateaEPfarQbiggerQnumberofintermediatesolutions.~'InadditiontoalarȹgersearchQspace,tmthisPrȹelaxationallowsustocreatesubrouteswithintheTSPs.ThesecondphaseconsistsPofmerȹgingthesesubroutessothatthesolutiondoesnotviolatetheTSPconditions.,ThetdEAXt@fortethetravellingsalesmanprȹoblemcanbeeasilyextendedtotheCVRPPbyneglectingthecapacityrȹestrictions[B ps:SDict begin H.S endcolor push gray 028 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.nagata_edge_2007) cvn H.B /ANN pdfmark end].RUThisstepisakintotheTSPrȹelaxationPseenintheTSP-EAX.Ingeneral,UtherȹespectiverelaxationsallowsustogenerateaPlarȹgergnumberhofintermediatesolutions,TasthenumberofdierȹentcombinationsPincrȹeases,_givenIthattherestrictionsarenotasstrictIastheywouldotherwisebe.PAlgorithmB ps:SDict begin H.S endcolor push gray 03 color pop ps:SDict begin H.R end ~ps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (ALC@unique.26) cvn H.B /ANN pdfmark enddescribestheEAXprȹocessindetail.,-P6ps:SDict begin H.S endps:SDict begin H.R endIps:SDict begin [/View [/XYZ H.V]/Dest (algorithm.3) cvn /DEST pdfmark end͉
52Algorithm3EAXfortheCVRPxωffcolor push gray 0oQ(ps:SDict begin H.S endps:SDict begin 18.26991 H.A endKps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.20) cvn /DEST pdfmark endcolor push gray 0d@1: color popfdConstrpuctagraphG6fAB;ѻbycombiningtheedgesoftwoparȹentsolutionsAandfdBL̻.Pps:SDict begin H.S endps:SDict begin 18.26991 H.A endKps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.21) cvn /DEST pdfmark endcolor push gray 0d@2: color popfdPartition xG6fAB,intoAB-cycles:@tracetheedgesinG6fABbyalternatingbetweenthefdedgesofAandBL̻.Pps:SDict begin H.S endps:SDict begin 18.26991 H.A endKps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.22) cvn /DEST pdfmark endcolor push gray 0d@3: color popfdSelectanyAB-cycleSFi:.Pps:SDict begin H.S endps:SDict begin 18.26991 H.A endKps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.23) cvn /DEST pdfmark endcolor push gray 0d@4: color popfdGenerateanintermediatesolutionbyrȹemovingtheedgesofaparentthatarefdprȹesentintheselectedsubcycleS'h1addingedgesfromtheotherparent.Pps:SDict begin H.S endps:SDict begin 18.26991 H.A endKps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.24) cvn /DEST pdfmark endcolor push gray 0d@5: color popfdThe_intermediatesolution_nowconsistsofsolutionswithrȹoutesthatarȹecon-fdnectedtothedepotandsubrȹoutesthatarenot.Pps:SDict begin H.S endps:SDict begin 18.26991 H.A endKps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.25) cvn /DEST pdfmark endcolor push gray 0d@6: color popfdMerȹgethesubtourstocreateacompletesolutionusingagreedyheuristic.Pps:SDict begin H.S endps:SDict begin 18.26991 H.A endKps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.26) cvn /DEST pdfmark endcolor push gray 0d@7: color popfdEliminate_capacityrȹestrictionviolationsusinga`localsearch.mThealgorithminfd[B ps:SDict begin H.S endcolor push gray 028 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.nagata_edge_2007) cvn H.B /ANN pdfmark end]usesa2-optlocalsearȹch. color popffffЍ,The fnEAX dfor fotheCVRPin fo[B ps:SDict begin H.S endcolor push gray 028 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.nagata_edge_2007) cvn H.B /ANN pdfmark end]foundthebestknownsolutionsforPtheChristodesbenchmarkandtennewsolutionsfortheGoldeninstancesinaPrȹeasonablesamountroftime.Thememeticalgorithmsstudiedin[B ps:SDict begin H.S endcolor push gray 029 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.nagata_edge_2009) cvn H.B /ANN pdfmark end,WB ps:SDict begin H.S endWcolor push gray 031 color pop W ps:SDict begin H.R end Wps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.nagata_penalty-based_2010) cvn H.B /ANN pdfmark end]makeuseofPthe!EAXforthe CVRPandtheVRPTWrȹespectively.aExamplesofothercrossoverPoperatorsarȹecluster-rst,route-secondapproachinIk
53pplrc8tIGideon[B ps:SDict begin H.S endcolor push gray 045 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.thangiah_genetic_1991) cvn H.B /ANN pdfmark end]andGenClust[ 4ps:SDict begin H.S endcolor push gray 044 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.thangiah_adaptive_1995) cvn H.B /ANN pdfmark end].PForafurtherrȹeadingonevolutionaryalgorithmsintheVRPrthereaderisreferredPto[ 4ps:SDict begin H.S endcolor push gray 02 color pop ps:SDict begin H.R endps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.braeysy_evolutionary_2004) cvn H.B /ANN pdfmark end,`B ps:SDict begin H.S end`color push gray 038 color pop ` ps:SDict begin H.R end `ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.potvin_review_2009) cvn H.B /ANN pdfmark end].Pcolor push gray 0ւE14 color popSps:SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if endOOps:SDict begin H.S endps:SDict begin H.R endEps:SDict begin [/View [/XYZ H.V]/Dest (page.15) cvn /DEST pdfmark end15\XPcolor push gray 0 color pop਍PzXps:SDict begin H.S endps:SDict begin 18.26991 H.A endGps:SDict begin [/View [/XYZ H.V]/Dest (section.5) cvn /DEST pdfmark end 5HybridevolutionaryalgorithmsEInXthissectionWwediscussawaytospeedupgeneticalgorithms(GA)VbycombiningEthemwithheuristicsandlookingatthemotivesfordoingso.HInadditionweprȹo-videdenitionsforthememeticalgorithm(MA)anddescribefewMAsspecicallyimplemented:forthe;VRP9anditsvariants, andprȹovideacomparisonbetweeneachofthem."ps:SDict begin H.S endps:SDict begin 18.26991 H.A endLps:SDict begin [/View [/XYZ H.V]/Dest (subsection.5.1) cvn /DEST pdfmark end5.1OutofthelocaloptimumWhenuitvcomestohybridEAs,+beforȹedelvingintothehowwersthavealookatthewhy. RWhatrȹeasoncouldtherebeininsertingheuristicsintotheevolutionaryprȹo-cess?TFirstanforȹemost,foranygivengeneticalgorithm(GA),whatdeterminesitseciencyXandYeectivenessarȹethequalitiesofitscrȹossoverandmutationoperators.TuningtheseoperatorsisessentialitistheonlywayofincrȹeasingtheperformanceofothenGA.Anunderlyingprȹobleminevolutionaryalgorithms,
54thusfarignorȹedinthiswork,٫isthecomputationaltimerȹequirement.WThenumberofpossiblesolutionsincrȹeasesinconcertwiththescaleoftheprȹoblem.Thatis,thelargerasolutiongets,the larȹgerthe populationsusedintheGAbecome.TJustasexactalgorithmscansim-plytaketoolongtondanexactrȹesult,Vgeneticalgorithmscansuerfrȹomthesamedecit.=Evolutionaryalgorithmsarȹeabletouseawidesearȹchspace(exploration)duehtohthediversityfoundinitspopulations.[However,theirinabilitytoexploitlocalinformationonlyaddstothecomputationaltime[B ps:SDict begin H.S endcolor push gray 035 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.ong_classification_2006) cvn H.B /ANN pdfmark end].TheseCdecitsBcanbediminishedbyintrȹoducinglocalimprȹovementintheevo-lutionaryzprȹocess.xThiswould{meanselectingindividualstoundergoalearningprȹocess,whichwouldleadtosmallbutnoticeableimprovementsintheindividuals.Thiswouldinturnspeedupthejourneytowarȹdstheoptimum,#astheamountofrȹequiredhiterationsdecrȹeases.Beforehmovingonexactlyhowthishisdone,wemustunderline|SthataGA{likethisisnolongerapurȹe|Revolutionaryalgorithm.-IEvolu-tionary algorithms seektosimulatenaturalconditions,Kthusthisalterationwouldrȹemovethenaturalnessofthealgorithms.Yfet,unfortunatethoughitmaybe,itwouldappearpurȹeevolutionaryalgorithmscouldusealittletuning.Pcolor push gray 0ւE15 color popps:SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if endOOps:SDict begin H.S endps:SDict begin H.R endEps:SDict begin [/View [/XYZ H.V]/Dest (page.16) cvn /DEST pdfmark end15\XPcolor push gray 0 color pop਍PzXps:SDict begin H.S endps:SDict begin 18.26991 H.A endLps:SDict begin [/View [/XYZ H.V]/Dest (subsection.5.2) cvn /DEST pdfmark end 5.2TheMemeticAlgorithmTfo*prȹovide*ameansforlocalimprȹovementMoscato[ 4ps:SDict begin H.S endcolor push gray 027 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.moscato_evolution_1989) cvn H.B /ANN pdfmark end]prȹoposedthememeticalgo-Erithmٳ(MA)٩byhybridisingaGAwithalocalٲsearȹch,\althoughtheheuristicneednotto,be,alocalsearȹch,7constrpuctionheuristicsorevenexactmethodscanbeused[B ps:SDict begin H.S endcolor push gray 035 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.ong_classification_2006) cvn H.B /ANN pdfmark end].The~memewasinturndenedbyDawkins[ 4ps:SDict begin H.S endcolor push gray 011 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.dawkins_selfish_1976) cvn H.B /ANN pdfmark end]asanunitofculturalevolutioncapa-ble;aoflocal;brȹenements.jsThusthememeitselfistheorthesetoftechniquesweusetolearnindividualsintheMA.MAhaveshowntobeveryeectiveintheVRPanditsmanyvariants[B ps:SDict begin H.S endcolor push gray 023 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.lima_memetic_2004) cvn H.B /ANN pdfmark end,wŞB ps:SDict begin H.S endwcolor push gray 029 color pop wş ps:SDict begin H.R end wps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.nagata_edge_2009) cvn H.B /ANN pdfmark end,wĞB ps:SDict begin H.S endwcolor push gray 031 color pop wğ ps:SDict begin H.R end wps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.nagata_penalty-based_2010) cvn H.B /ANN pdfmark end,B ps:SDict begin H.S endcolor push gray 040 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.prins_two_2009) cvn H.B /ANN pdfmark end].Ingeneral,tMAshaveshowntobemuchmorȹeecientinthattheyrȹequirelesscomputational<ftimeandeectiveinthattheirrȹesultsareofahigherqualitythantraditionalܨevolutionaryܩalgorithmsandstrȹengthofmemeticalgorithmsliesintheirability]tops:SDict begin H.S endps:SDict begin 18.26991 H.A endDps:SDict begin [/View [/XYZ H.V]/Dest (Item.4) cvn /DEST pdfmark end(i)benetfrȹomthe]explorationabilitiesofevolutionaryalgorithmsandps:SDict begin H.S endps:SDict begin 18.26991 H.A endDps:SDict begin [/View [/XYZ H.V]/Dest (Item.5) cvn /DEST pdfmark end(ii)exploitlocalinformationinalocalsearȹchtogainbetterresults[B ps:SDict begin H.S endcolor push gray 020 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.krasnogor_tutorial_2005) cvn H.B /ANN pdfmark end].Tfoimplementtheconceptofculturalevolutionweneedtoslightlyalterourge-neticalgorithmdenedinB ps:SDict begin H.S endcolor push gray 0subsection4.1 color popOQops:SDict begin H.R endOps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (subsection.4.1) cvn H.B /ANN pdfmark endbyintrȹoducinglocalimprovement,)thememe,StoCtheevolutionaryCcycle.InAlgorithm 4ps:SDict begin H.S endcolor push gray 04 color pop C ps:SDict begin H.R end C~ps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (ALC@unique.38) cvn H.B /ANN pdfmark endthealterationisrȹeplacingthemu-tationwstepxwithalocalimprȹovementprocedure.InxthecaseoftheVRPs,thelocalimprȹovementprocedureisalocalsearch. @cps:SDict begin H.S endps:SDict begin H.R endIps:SDict begin [/View [/XYZ H.V]/Dest (algorithm.4) cvn /DEST pdfmark end͉
55Algorithm4Thememeticalgorithmȯffcolor push gray 0*kps:SDict begin H.S endps:SDict begin 18.26991 H.A endKps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.27) cvn /DEST pdfmark endcolor push gray 0d@1: color popfdInitialiseGenerateaninitialpopulationofsizeNps:SDict begin H.S endps:SDict begin 18.26991 H.A endKps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.28) cvn /DEST pdfmark endcolor push gray 0d@2: color popfdforngenerationsdobIps:SDict begin H.S endps:SDict begin 18.26991 H.A endKps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.29) cvn /DEST pdfmark endЍcolor push gray 0d@3: color pop %forkG:=1toNռdoB ps:SDict begin H.S endps:SDict begin 18.26991 H.A endKps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.30) cvn /DEST pdfmark endcolor push gray 0d@4: color pop+SelectStwoTparȹentsolutionsfrȹomthepopulationrandomlyusingthetness+functionps:SDict begin H.S endps:SDict begin 18.26991 H.A endKps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.31) cvn /DEST pdfmark endcolor push gray 0d@5: color pop+Recombinetheseparȹentsintotwoospringusingcrossoverps:SDict begin H.S endps:SDict begin 18.26991 H.A endKps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.32) cvn /DEST pdfmark endcolor push gray 0d@6: color pop+Evolvetheospringusingalocalimprovementprocedureps:SDict begin H.S endps:SDict begin 18.26991 H.A endKps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.33) cvn /DEST pdfmark endcolor push gray 0d@7: color pop+Includetheospringtoanewpopulationps:SDict begin H.S endps:SDict begin 18.26991 H.A endKps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.34) cvn /DEST pdfmark endЍcolor push gray 0d@8: color pop %endforps:SDict begin H.S endps:SDict begin 18.26991 H.A endKps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.35) cvn /DEST pdfmark endcolor push gray 0d@9: color pop %Evaluateeachindividualinthenewpopulationps:SDict begin H.S endps:SDict begin 18.26991 H.A endKps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.36) cvn /DEST pdfmark endcolor push gray 0d@10: color pop %Replacetheoldpopulationwiththenewoneps:SDict begin H.S endps:SDict begin 18.26991 H.A endKps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.37) cvn /DEST pdfmark endЍcolor push gray 0d@11: color popfdendforps:SDict begin H.S endps:SDict begin 18.26991 H.A endKps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.38) cvn /DEST pdfmark endcolor push gray 0d@12: color popfdreturnthebestchrȹomosomeinX color popffffItisofnotethatastheEAX_fortheTSP`andCVRP_inB ps:SDict begin H.S endcolor push gray 0subsection4.3 color popMQops:SDict begin H.R endMps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (subsection.4.3) cvn H.B /ANN pdfmark endrȹenesthesolutionswitha2-optheuristicitwouldindeedmeanthatthealgorithmisinfactPcolor push gray 0ւE16 color popDps:SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if endOOps:SDict begin H.S endps:SDict begin H.R endEps:SDict begin [/View [/XYZ H.V]/Dest (page.17) cvn /DEST pdfmark end15\XPcolor push gray 0 color pop਍XPaTmemeticalgorithm.KIndeed,[B ps:SDict begin H.S endcolor push gray 029 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.nagata_edge_2009) cvn H.B /ANN pdfmark end]rȹenamesthisalgorithmStotheedge-assemblyEPmemetic&algorithm,Ÿor'EAMA.However,wemustpointout'thattheexactclassica-PtionU:ofMAshasU;beendebated.ThelocalimprȹovementcanbeincorporatedinalotPofdierȹentways.STheclassicationbyKrasnogorandSmith[B ps:SDict begin H.S endcolor push gray 020 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.krasnogor_tutorial_2005) cvn H.B /ANN pdfmark end]generalisesitbyPsayingO*AOmemeticalgorithmisanevolutionaryalgorithmthatincludesoneormorȹelocalPsearȹch()phaseswithinitsevolutionarycycle.0ʻThisstudydenesthememeticalgorithmPaccorȹding?to>thisdenitioandwefocusontheVRPperspectivethatintrȹoducesaPlocalsearȹchinplaceofthemutationstepasseeninAlgorithm3.,BeforȹewemoveontoexploringthedierȹentMAſimplementationsintheVRPPwemustpointoutthatmemeticalgorithmssuerfrȹomcertainshortcomings.wThePmostȅnotableoneisthat,asthememesemployedbythesealgorithmsarȹetailoredPtoJcertainneeds,]SmemeticJalgorithmstendtobeveryadhocintheirfunction.JThatPis,thesmemesthemselvesarȹetoospecic.Tfocombatthismulti-memeimplementa-PtionsthatemployavarietyofdierȹentmemeseachchosenbyahyperȹheuristicPas0dened0byCowlingetal.[B ps:SDict begin H.S endcolor push gray 08 color pop ps:SDict begin H.R endps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.cowling_hyperheuristic_2001) cvn H.B /ANN pdfmark end].JMOngandKeane[B ps:SDict begin H.S endcolor push gray 034 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.ong_meta-lamarckian_2004) cvn H.B /ANN pdfmark end]prȹoposedmeta-LamarckianPlearning?that>usesLamarȹckianlearningtoadaptivelychoosethecorrȹectmemesandPOngetal.[B ps:SDict begin H.S endcolor push gray 035 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.ong_classification_2006) cvn H.B /ANN pdfmark end]denedtheadaptivememeticalgorithmthatselectssuitablememestoPbeappliedinthelearningprȹocess.Pbps:SDict begin H.S endps:SDict begin 18.26991 H.A endLps:SDict begin [/View [/XYZ H.V]/Dest (subsection.5.3) cvn /DEST pdfmark endЍ5.3MemeticalgorithmsintheVRP|S<color push gray 0_j 􍍑Tcolor push gray 0Tfable1:Pps:SDict begin H.S endps:SDict begin H.R endEps:SDict begin [/View [/XYZ H.V]/Dest (table.1) cvn /DEST pdfmark endAcomparisonofdierȹentMAsintheVRPs. color pop)3% ڍsMP,
41pplri8tImeta-B:afterp,beyond.9 color popPcolor push gray 0قE8 color pop 
42ps:SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if endOOps:SDict begin H.S endps:SDict begin H.R endDps:SDict begin [/View [/XYZ H.V]/Dest (page.9) cvn /DEST pdfmark end15\XPcolor push gray 0 color pop਍XPontoanexampleimplementationofthese,gthememeticalgorithm,ginB ps:SDict begin H.S endcolor push gray 0subsection4.5 color popLQops:SDict begin H.R endLps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (subsection.4.5) cvn H.B /ANN pdfmark end.Pbps:SDict begin H.S endps:SDict begin 18.26991 H.A endLps:SDict begin [/View [/XYZ H.V]/Dest (subsection.4.1) cvn /DEST pdfmark endЍ4.1BackgroundandPrinciplesofEvolutionaryAlgorithmsEvolutionaryZalgorithmZdrawinspirationfrȹomthecycleofevolutionobservedinEnaturȹe.Darwin0[B ps:SDict begin H.S endcolor push gray 010 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.darwin_origin_1859) cvn H.B /ANN pdfmark end]revolutionisedmodernsciencewith1histheoryofevolutionthrȹough]Fnaturalselection,inwhichnatureandlifeareseenasasetoflifeformstryingK\tocompeteK]forsurvivalthrȹoughadaptation.eThisapproachK]wasextendedtooptimisationbyFogel[ 4ps:SDict begin H.S endcolor push gray 012 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.fogel_artificial_1966) cvn H.B /ANN pdfmark end]asevolutionaryprȹogramming..Evolutionaryprogram-ming(took(awholedecadetogainwidesprȹeadacceptanceanditwasnotuntilHol-land8[ 4ps:SDict begin H.S endcolor push gray 017 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.holland_adaptation_1975) cvn H.B /ANN pdfmark end]intrȹoducedthegeneticalgorithmthatevolutionaryalgorithmsasawholebecame_popular.Atthattime,the_conceptofevolvingsolutionsintobetteronesusingthismselection-basedlapprȹoachwasseenasastrikinglyuniqueapprȹoachinoptimi-sation.Inevolutionaryalgorithmssolutionstooptimisationprȹoblemsareassembledinto'populations.WWitheachiterationapopulationunderȹgoesthe(processofanewgeneration.;EachNgenerationrȹeceivesOasmallamountofvarianceviacombination(rȹeproduction)andmutationtoprȹoducenewindividualsospringofparȹentsolutionsACinADtheprȹeviousgeneration.|Theseindividualsarȹethenevaluatedusingatnessfunctionthatmeasurȹesthetnessofasolution.Usingthistnessvalue,zweselectthebestindividualstoprȹoduceospringinthehopeofcrȹeatingevenbetterindividuals.FWfe/;thusevolvethesolutionsintobetteronesusingthesameprȹocessDarwinobserved.|UzEcolor push gray 0nQ
43eps:tx@Dict begin tx@NodeDict begin {12.4819 9.30525 68.40042 34.20021 1.58832 } false /N@M-1-1-1 16 {InitRnode } NewNode end end" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 0. true 3.8 neg 7.18393 neg 62.4791 12.4819 .5 Frame gsave 3.0 -45 PtoC Shadow 0.25 setgray gsave fill grestore stroke grestore gsave 1 setgray gsave fill grestore stroke grestore gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end Populationb<ps:tx@Dict begin tx@NodeDict begin {12.11592 6.17928 49.22493 24.61246 2.96832 } false /N@M-1-1-4 16 {InitRnode } NewNode end end" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 0. true 3.8 neg 4.05795 neg 43.3036 12.11592 .5 Frame gsave 3.0 -45 PtoC Shadow 0.25 setgray gsave fill grestore stroke grestore gsave 1 setgray gsave fill grestore stroke grestore gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end ParȹentsAw^pps:tx@Dict begin tx@NodeDict begin {12.4819 9.30525 61.1168 30.5584 1.58832 } false /N@M-1-2-4 16 {InitRnode } NewNode end end" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 0. true 3.8 neg 7.18393 neg 55.19548 12.4819 .5 Frame gsave 3.0 -45 PtoC Shadow 0.25 setgray gsave fill grestore stroke grestore gsave 1 setgray gsave fill grestore stroke grestore gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end Ospring=ps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 2. 2. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 2. 2. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-1-1 /N@M-1-1-4 InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore endCps:tx@Dict begin tx@NodeDict begin /t 0.5 def tx@NodeDict /HPutPos known { VPutPos } { CP /Y exch def /X exch def /NAngle 0 def /NCLW 0 def } ifelse /Sin NAngle sin def /Cos NAngle cos def /s 5.0 NCLW add def /l 23.77762 def /r 23.77762 def /h 4.74237 def /d 4.19748 def /flag true def VPutAdjust LPutCoor end PutBegin end8Selectionps:tx@Dict begin PutEnd endps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 2. 2. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 2. 2. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-1-4 /N@M-1-2-4 InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore endFps:tx@Dict begin tx@NodeDict begin /t 0.5 def tx@NodeDict /HPutPos known { HPutPos } { CP /Y exch def /X exch def /NAngle 0 def /NCLW 0 def } ifelse /Sin NAngle sin def /Cos NAngle cos def /s 5.0 NCLW add def /l 81.89912 def /r 81.89912 def /h 17.33037 def /d 19.20943 def /flag false def HPutAdjust LPutCoor end PutBegin end܍wReprȹoduction:Erȹecombinationandmutationps:tx@Dict begin PutEnd endps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 2. 2. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 2. 2. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-2-4 /N@M-1-1-1 InitNC { tx@Dict begin /Lineto /lineto load def false 0 setlinejoin pop end /AngleA 180. def /AngleB -90. def /ArmA 10.0 def /ArmB 10.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngle } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore endCps:tx@Dict begin tx@NodeDict begin /t 0.5 def tx@NodeDict /HPutPos known { VPutPos } { CP /Y exch def /X exch def /NAngle 0 def /NCLW 0 def } ifelse /Sin NAngle sin def /Cos NAngle cos def /s 5.0 NCLW add def /l 34.39153 def /r 34.39153 def /h 4.74237 def /d 7.32346 def /flag true def VPutAdjust LPutCoor end PutBegin endݛReplacementps:tx@Dict begin PutEnd endRKQ color push gray 0Figurȹe4:Pps:SDict begin H.S endps:SDict begin H.R endFps:SDict begin [/View [/XYZ H.V]/Dest (figure.4) cvn /DEST pdfmark endAgenerationinevolutionaryalgorithms.[ 4ps:SDict begin H.S endcolor push gray 042 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.talbi_metaheuristics_2009) cvn H.B /ANN pdfmark end] color pop color popЍIn5an4EA,aninitialpopulationcanbegeneratedbysamplingasucientnumberof;randomised:solutionsorusingaconstrpuctionheuristicmentionedin?? !.bIps:SDict begin H.S endcolor push gray 0Figurȹe4 color pop/C ps:SDict begin H.R end/Cyps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (figure.4) cvn H.B /ANN pdfmark enddescribesuthestepsvtakenincrȹeatinganewgeneration.
44Thepopulationisthenevolvedtowarȹdsacertaingoalusingtheseoperators:Ȇcolor push gray 0 color pop_Selection6byselecting5imprȹovingsolutionsovernon-improving5oneswhilePcolor push gray 0قE9 color pop
45lps:SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if endOOps:SDict begin H.S endps:SDict begin H.R endEps:SDict begin [/View [/XYZ H.V]/Dest (page.10) cvn /DEST pdfmark end15\XPcolor push gray 0 color pop਍X8ymaintainingaxedpopulationsizetherȹebyprpuningbadsolutions.EPcolor push gray 0 color pop8yReproduction჻orrecombinationbymixingcandidatesolutionstogethertoE8ygeneratenewsolutionsusingcrȹossover.Pcolor push gray 0 color pop8yMutationLbyKapplyingrandomvariancetoospringgeneratedbyrȹecombina-8ytion.hThis,inIconjunctionwithgenecrȹossoverresultingfromrecombination,is8ywhatintrȹoducesvarianceacrossgenerations.E,Evolutionary)algorithms(canbeclassiedintotwomajordisciplines:BgeneticPalgorithms(GA)Randevolutionarystrategies(ES).GeneticalgorithmsoperateonPpopulationsFofinvidualsinFwhichinformationisencodedintoageneformatusingPchrȹomosomes.)Thesechromosomesarethendecodedintoactualindividualsolu-Ption.8IThese*chrȹomosomes*arethen*modiedusinggeneticoperatorssuchasmu-Ptation.~EvolutionarystrategiesarȹeasimilartogeneticalgorithmsbuttheytendtoPrȹelyoonomutatingthesolutionsalone,˿whereasageneticalgorithmousesmutationPonthegenotype,thatisthesetofgenes,ofasolution.s&ThisisfurtherexplainedinPB ps:SDict begin H.S endPcolor push gray 0subsection4.3 color pope`Qops:SDict begin H.R ende`ps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (subsection.4.3) cvn H.B /ANN pdfmark end.P"ps:SDict begin H.S endps:SDict begin 18.26991 H.A endLps:SDict begin [/View [/XYZ H.V]/Dest (subsection.4.2) cvn /DEST pdfmark end4.2TheGeneticAlgorithmGeneticalgorithms(GA)mimictheprȹocessofevolutionobservedinnature.TheywerȹeinitiallyproposedbyHolland[ 4ps:SDict begin H.S endcolor push gray 017 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.holland_adaptation_1975) cvn H.B /ANN pdfmark end].`GAsusechromosomes,stringsofgenes,tocangencodegasolutiontoanygivenprȹoblemintoastringrȹepresentation.ThegoriginalprȹoposalbyHollanduseastringofbits,Ke.g.Y1101wouldbeachromosomecontain-ing*fourgenes,
4651,1,0*and1.Thesearȹe+thensubjecttomutationandcrȹossoveroper-atorsutogeneratenewcombinations,nrȹecombinations,moftheirugenes.#ThefollowingalgorithmisanoutlineofatypicalGA.In4the4rstphaseaninitialsolutioniscrȹeated(line1).TThiscanbearandomisedsamplingjofsolutions.
47 Then,forngenerations,theactualkprȹocessdescribedinbIps:SDict begin H.S endcolor push gray 0Figurȹe4 color pop+W ps:SDict begin H.R end+Wyps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (figure.4) cvn H.B /ANN pdfmark end;takes<placeN times(lines2-11).Aftertherȹeproduction;phase(lines4-7)thepopulationisevaluatedusingthetnessfunctionandthepopulationisrȹestoredtosizeNջbyrȹemovingtheinferiorindividuals.Pcolor push gray 0ւE10 color pop /ps:SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if endOOps:SDict begin H.S endps:SDict begin H.R endEps:SDict begin [/View [/XYZ H.V]/Dest (page.11) cvn /DEST pdfmark end15\XPcolor push gray 0 color pop਍v]Pcps:SDict begin H.S endps:SDict begin H.R endIps:SDict begin [/View [/XYZ H.V]/Dest (algorithm.2) cvn /DEST pdfmark end͉
48Algorithm2Thegeneticalgorithm.ȯffcolor push gray 0*kps:SDict begin H.S endps:SDict begin 18.26991 H.A endJps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.8) cvn /DEST pdfmark endcolor push gray 0dB1: color popfdInitialiseGenerateaninitialpopulationofsizeNps:SDict begin H.S endps:SDict begin 18.26991 H.A endJps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.9) cvn /DEST pdfmark endEcolor push gray 0dB2: color popfdforngenerationsdobIps:SDict begin H.S endps:SDict begin 18.26991 H.A endKps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.10) cvn /DEST pdfmark endЍcolor push gray 0dB3: color pop %forkG:=1toNռdoB ps:SDict begin H.S endps:SDict begin 18.26991 H.A endKps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.11) cvn /DEST pdfmark endcolor push gray 0dB4: color pop+SelectStwoTparȹentsolutionsfrȹomthepopulationrandomlyusingthetness+functionps:SDict begin H.S endps:SDict begin 18.26991 H.A endKps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.12) cvn /DEST pdfmark endcolor push gray 0dB5: color pop+Recombinetheseparȹentsintotwoospringusingcrossoverps:SDict begin H.S endps:SDict begin 18.26991 H.A endKps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.13) cvn /DEST pdfmark endcolor push gray 0dB6: color pop+Mutatetheospringwithagivenprȹobabilitypm
49ps:SDict begin H.S endps:SDict begin 18.26991 H.A endKps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.14) cvn /DEST pdfmark endcolor push gray 0dB7: color pop+Includetheospringtoanewpopulationps:SDict begin H.S endps:SDict begin 18.26991 H.A endKps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.15) cvn /DEST pdfmark endЍcolor push gray 0dB8: color pop %endforps:SDict begin H.S endps:SDict begin 18.26991 H.A endKps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.16) cvn /DEST pdfmark endcolor push gray 0dB9: color pop %Evaluateeachindividualinthenewpopulationps:SDict begin H.S endps:SDict begin 18.26991 H.A endKps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.17) cvn /DEST pdfmark endcolor push gray 0dB10: color pop %Replacetheoldpopulationwiththenewoneps:SDict begin H.S endps:SDict begin 18.26991 H.A endKps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.18) cvn /DEST pdfmark endЍcolor push gray 0dB11: color popfdendforps:SDict begin H.S endps:SDict begin 18.26991 H.A endKps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.19) cvn /DEST pdfmark endcolor push gray 0dB12: color popfdreturnthebestchrȹomosomeinX color popffffPxps:SDict begin H.S endps:SDict begin 18.26991 H.A endLps:SDict begin [/View [/XYZ H.V]/Dest (subsection.4.3) cvn /DEST pdfmark end 4.3EvolutionaryStrategies!v@color push gray 0X ͔xps:tx@Dict begin tx@NodeDict begin {25.0699 21.19122 98.23271 49.11635 1.93933 } false /N@M-1-1-1 16 {InitRnode } NewNode end end" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 0. true 3.8 neg 19.0699 neg 92.31139 25.0699 .5 Frame gsave 3.0 -45 PtoC Shadow 0.25 setgray gsave fill grestore stroke grestore gsave 1 setgray gsave fill grestore stroke grestore gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end ܍CGenotypeE(chrȹomosome)Lxps:tx@Dict begin tx@NodeDict begin {25.0699 21.19122 78.78052 39.39026 1.93933 } false /N@M-1-1-4 16 {InitRnode } NewNode end end" tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def /ArrowInside { } def 0.8 SLW 0 setgray 0. true 3.8 neg 19.0699 neg 72.85919 25.0699 .5 Frame gsave 3.0 -45 PtoC Shadow 0.25 setgray gsave fill grestore stroke grestore gsave 1 setgray gsave fill grestore stroke grestore gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end ܍PhenotypeEG(solution), ":^kps:tx@Dict begin tx@NodeDict begin {0.0 0.0 0.0 0.0 0.0 } false /N@M-1-2-1 16 {InitRnode } NewNode end end&/ύps:tx@Dict begin tx@NodeDict begin {12.13495 6.13495 117.83879 58.91939 3.0 } false /N@M-1-3-1 16 {InitRnode } NewNode end endhMutation,crȹossoverR~ps:tx@Dict begin tx@NodeDict begin {12.13495 6.13495 48.98347 24.49173 3.0 } false /N@M-1-3-4 16 {InitRnode } NewNode end endhFitness0ps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 2. 2. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 2. 2. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-1-1 /N@M-1-1-4 InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore grestore endCps:tx@Dict begin tx@NodeDict begin /t 0.5 def tx@NodeDict /HPutPos known { VPutPos } { CP /Y exch def /X exch def /NAngle 0 def /NCLW 0 def } ifelse /Sin NAngle sin def /Cos NAngle cos def /s 5.0 NCLW add def /l 25.69774 def /r 25.69774 def /h 4.74237 def /d 7.32346 def /flag true def VPutAdjust LPutCoor end PutBegin endMaDecodingps:tx@Dict begin PutEnd endps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 2. 2. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 2. 2. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-3-1 /N@M-1-1-1 InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinecap [ 5.0 3.0 0.0 0.0 ] -2 0 add DashLine grestore grestore endDps:tx@Dict begin tx@NodeDict begin /t 0.5 def tx@NodeDict /HPutPos known { HPutPos } { CP /Y exch def /X exch def /NAngle 0 def /NCLW 0 def } ifelse /Sin NAngle sin def /Cos NAngle cos def /s 5.0 NCLW add def /l 36.44351 def /r 36.44351 def /h 4.74237 def /d 7.32346 def /flag false def HPutAdjust LPutCoor end PutBegin endێvReprȹoductionps:tx@Dict begin PutEnd endps:tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { BeginArrow 2. 2. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def /ArrowB { BeginArrow 2. 2. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@M-1-1-4 /N@M-1-3-4 InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinecap [ 5.0 3.0 0.0 0.0 ] -2 0 add DashLine grestore grestore endDps:tx@Dict begin tx@NodeDict begin /t 0.5 def tx@NodeDict /HPutPos known { HPutPos } { CP /Y exch def /X exch def /NAngle 0 def /NCLW 0 def } ifelse /Sin NAngle sin def /Cos NAngle cos def /s 5.0 NCLW add def /l 68.53714 def /r 68.53714 def /h 4.74237 def /d 6.45349 def /flag false def HPutAdjust LPutCoor end PutBegin endv~Envirȹonment(evaluation)ps:tx@Dict begin PutEnd endE3color push gray 0Figurȹe5:Pps:SDict begin H.S endps:SDict begin H.R endFps:SDict begin [/View [/XYZ H.V]/Dest (figure.5) cvn /DEST pdfmark endThedistinctionbetweenthegenotypeandthephenotype.[ 4ps:SDict begin H.S endcolor push gray 042 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.talbi_metaheuristics_2009) cvn H.B /ANN pdfmark end] color pop color pop̑Evolutionarystrategies[B ps:SDict begin H.S endcolor push gray 040 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.rechenberg_evolutionsstrategie:_1973) cvn H.B /ANN pdfmark end](ES)^rȹesemblegeneticalgorithmsinsofarastheyad-EherȹeGJtoGKevolutionaryprinciplesanduseevolutionarytechniques.0GenecrȹossovertypicaltoGAsisrarȹelyusedandthemutationevolutionarystrategiesapplyarȹedierȹent.^Tfodescribethisfurther, ESdierinthattheymodeltheevolutionatthelevelwofphenotypesanduseawdecisionvectorcombinedwithstrategyparameters(seebIps:SDict begin H.S endcolor push gray 0Figurȹe5 color pop+W ps:SDict begin H.R end+Wyps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (figure.5) cvn H.B /ANN pdfmark end).gThis:mdecision:lvectorv=(x,)consistsofthevectorxY%thatisacollectionofurȹeal-valuedtvariables(thesolution)andthevector7thatconsistsofstrategypa-rameters.TheseM&strategyM%parametersarȹearȹepresentationM&ofrandomlydistributedvariables.5Theدstrategyذparametersarȹethenusedinmutationbysubstitutingxgwithxt+1=()xt8+N(0,)wherȹeN(0,)isarandomGaussiannumberwithameanofPcolor push gray 0ւE11 color pop ?tps:SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if endOOps:SDict begin H.S endps:SDict begin H.R endEps:SDict begin [/View [/XYZ H.V]/Dest (page.12) cvn /DEST pdfmark end15\XPcolor push gray 0 color pop਍XPzerȹoandstandarddeviation|[ 4ps:SDict begin H.S endcolor push gray 024 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.mester_active_2005) cvn H.B /ANN pdfmark end].~Mutationisusedtoprȹovideself-adaptationbyEPmutating both thesolutionvectorxĻandthestrategyparameters».7uThiscontrastsPwithtypicalGAsthatmutatethegenes(genotype)alone.,TheQ4evolutionaryQ3strategy(ES)QbyMesterandBrysy[ 4ps:SDict begin H.S endcolor push gray 024 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.mester_active_2005) cvn H.B /ANN pdfmark end]usesasingleindividualPtogenerateasingleospringthrȹoughmutation,amethodknownasa(1+1)strategyPwithoutanyrȹecombination. ThesolutionsandstrategyparametersarȹemutatedPwiththeuseofaguidedlocalsearȹchmetaheuristic.̆TherstESz[B ps:SDict begin H.S endcolor push gray 018 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.homberger_two_1999) cvn H.B /ANN pdfmark end]fortheVRPPuseda(,)-ES.ForanintrȹoductiontoESthereaderisreferredto[ 4ps:SDict begin H.S endcolor push gray 01 color pop ps:SDict begin H.R endps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.beyer_evolution_2002) cvn H.B /ANN pdfmark end].Pps:SDict begin H.S endps:SDict begin 18.26991 H.A endLps:SDict begin [/View [/XYZ H.V]/Dest (subsection.4.4) cvn /DEST pdfmark end󱍍4.4DiscussionThissectiondiscussessomeoftheapparȹentproblemswithgeneticalgorithms(GA).FirstQanforȹemost,@foranygivenPGA,whatdeterminesitseciencyandeectivenessarȹemAthequalitiesofmBitscrossoverandmutationoperators.TuningtheseoperatorsisessentialitaisatheonlywayofincrȹeasingtheperformanceoftheGA.Anunderlyingprȹoblemcinevolutionaryalgorithms,|dthusfarignoredinthiswork,|disthecomputa-tionaltimerȹequirement.FThenumberofpossiblesolutionsincrȹeasesinconcertwiththeuscaleuoftheprȹoblem.:Thatis,fthelargeruasolutiongets,fthelargeruthepopulationsusedintheGAbecome.)Justasexactalgorithmscansimplytaketoolongtondanexact
50jrȹesult, geneticalgorithms
51icansuerfrȹomthesamedecit.׌Evolutionaryalgo-rithmsrMarȹerLabletouseawidesearȹchspace(exploration)duetothediversityfoundinitspopulations.However,theirinabilitytoexploitlocalinformationonlyaddstothecomputationaltime[B ps:SDict begin H.S endcolor push gray 034 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.ong_classification_2006) cvn H.B /ANN pdfmark end].TheseCdecitsBcanbediminishedbyintrȹoducinglocalimprȹovementintheevo-lutionaryzprȹocess.xThiswould{meanselectingindividualstoundergoalearningprȹocess,whichwouldleadtosmallbutnoticeableimprovementsintheindividuals.Thiswouldinturnspeedupthejourneytowarȹdstheoptimum,#astheamountofrȹequiredhiterationsdecrȹeases.Beforehmovingonexactlyhowthishisdone,wemustunderline|SthataGA{likethisisnolongerapurȹe|Revolutionaryalgorithm.-IEvolu-tionary algorithms seektosimulatenaturalconditions,Kthusthisalterationwouldrȹemovethenaturalnessofthealgorithms.Yfet,unfortunatethoughitmaybe,itwouldappearpurȹeevolutionaryalgorithmscouldusealittletuning,intheformofthememeticalgorithm.Pcolor push gray 0ւE12 color pop s@ps:SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if endOOps:SDict begin H.S endps:SDict begin H.R endEps:SDict begin [/View [/XYZ H.V]/Dest (page.13) cvn /DEST pdfmark end15\XPcolor push gray 0 color pop਍PzXps:SDict begin H.S endps:SDict begin 18.26991 H.A endLps:SDict begin [/View [/XYZ H.V]/Dest (subsection.4.5) cvn /DEST pdfmark end 4.5TheMemeticAlgorithmTfo*prȹovide*ameansforlocalimprȹovementMoscato[B ps:SDict begin H.S endcolor push gray 026 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.moscato_evolution_1989) cvn H.B /ANN pdfmark end]prȹoposedthememeticalgo-Erithmٳ(MA)٩byhybridisingaGAwithalocalٲsearȹch,\althoughtheheuristicneednotto,be,alocalsearȹch,7constrpuctionheuristicsorevenexactmethodscanbeused[B ps:SDict begin H.S endcolor push gray 034 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.ong_classification_2006) cvn H.B /ANN pdfmark end].Thesealgorithmsarȹeforthisreasonalsocalledhybridevolutionaryalgorithms.ThememevwasinturndenedbyDawkinsv[ 4ps:SDict begin H.S endcolor push gray 011 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.dawkins_selfish_1976) cvn H.B /ANN pdfmark end]asanunitofculturalevolutioncapableofYlocalrȹenements.Q\ThusthememeitselfZistheorthesetoftechniquesweusetolearnindividualsintheMAMAhaveshowntobeveryeectiveintheVRPanditsmanyvariants[ 4ps:SDict begin H.S endcolor push gray 022 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.lima_memetic_2004) cvn H.B /ANN pdfmark end,wŞB ps:SDict begin H.S endwcolor push gray 028 color pop wş ps:SDict begin H.R end wps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.nagata_edge_2009) cvn H.B /ANN pdfmark end,wĞB ps:SDict begin H.S endwcolor push gray 030 color pop wğ ps:SDict begin H.R end wps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.nagata_penalty-based_2010) cvn H.B /ANN pdfmark end,B ps:SDict begin H.S endcolor push gray 039 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.prins_two_2009) cvn H.B /ANN pdfmark end].Ingeneral,tMAshaveshowntobemuchmorȹeecientinthattheyrȹequirelesscomputational<ftimeandeectiveinthattheirrȹesultsareofahigherqualitythantraditionalܨevolutionaryܩalgorithmsandstrȹengthofmemeticalgorithmsliesintheirability]tops:SDict begin H.S endps:SDict begin 18.26991 H.A endDps:SDict begin [/View [/XYZ H.V]/Dest (Item.1) cvn /DEST pdfmark end(i)benetfrȹomthe]explorationabilitiesofevolutionaryalgorithmsandps:SDict begin H.S endps:SDict begin 18.26991 H.A endDps:SDict begin [/View [/XYZ H.V]/Dest (Item.2) cvn /DEST pdfmark end(ii)exploitlocalinformationinalocalsearȹchtogainbetterresults[B ps:SDict begin H.S endcolor push gray 019 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.krasnogor_tutorial_2005) cvn H.B /ANN pdfmark end].Tfoimplementtheconceptofculturalevolutionweneedtoslightlyalterourge-neticalgorithmdenedinB ps:SDict begin H.S endcolor push gray 0subsection4.2 color popOQops:SDict begin H.R endOps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (subsection.4.2) cvn H.B /ANN pdfmark endbyintrȹoducinglocalimprovement,)thememe,StoCtheevolutionaryCcycle.InAlgorithmB ps:SDict begin H.S endcolor push gray 03 color pop C ps:SDict begin H.R end C~ps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (ALC@unique.31) cvn H.B /ANN pdfmark endthealterationisrȹeplacingthemu-tationwstepxwithalocalimprȹovementprocedure.InxthecaseoftheVRPs,thelocalimprȹovementprocedureisalocalsearch. @cps:SDict begin H.S endps:SDict begin H.R endIps:SDict begin [/View [/XYZ H.V]/Dest (algorithm.3) cvn /DEST pdfmark end͉
52Algorithm3Thememeticalgorithmȯffcolor push gray 0*kps:SDict begin H.S endps:SDict begin 18.26991 H.A endKps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.20) cvn /DEST pdfmark endcolor push gray 0dB1: color popfdInitialiseGenerateaninitialpopulationofsizeNps:SDict begin H.S endps:SDict begin 18.26991 H.A endKps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.21) cvn /DEST pdfmark endcolor push gray 0dB2: color popfdforngenerationsdobIps:SDict begin H.S endps:SDict begin 18.26991 H.A endKps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.22) cvn /DEST pdfmark endЍcolor push gray 0dB3: color pop %forkG:=1toNռdoB ps:SDict begin H.S endps:SDict begin 18.26991 H.A endKps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.23) cvn /DEST pdfmark endcolor push gray 0dB4: color pop+SelectStwoTparȹentsolutionsfrȹomthepopulationrandomlyusingthetness+functionps:SDict begin H.S endps:SDict begin 18.26991 H.A endKps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.24) cvn /DEST pdfmark endcolor push gray 0dB5: color pop+Recombinetheseparȹentsintotwoospringusingcrossoverps:SDict begin H.S endps:SDict begin 18.26991 H.A endKps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.25) cvn /DEST pdfmark endcolor push gray 0dB6: color pop+Evolvetheospringusingalocalimprovementprocedureps:SDict begin H.S endps:SDict begin 18.26991 H.A endKps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.26) cvn /DEST pdfmark endcolor push gray 0dB7: color pop+Includetheospringtoanewpopulationps:SDict begin H.S endps:SDict begin 18.26991 H.A endKps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.27) cvn /DEST pdfmark endЍcolor push gray 0dB8: color pop %endforps:SDict begin H.S endps:SDict begin 18.26991 H.A endKps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.28) cvn /DEST pdfmark endcolor push gray 0dB9: color pop %Evaluateeachindividualinthenewpopulationps:SDict begin H.S endps:SDict begin 18.26991 H.A endKps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.29) cvn /DEST pdfmark endcolor push gray 0dB10: color pop %Replacetheoldpopulationwiththenewoneps:SDict begin H.S endps:SDict begin 18.26991 H.A endKps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.30) cvn /DEST pdfmark endЍcolor push gray 0dB11: color popfdendforps:SDict begin H.S endps:SDict begin 18.26991 H.A endKps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.31) cvn /DEST pdfmark endcolor push gray 0dB12: color popfdreturnthebestchrȹomosomeinX color popffffTheg localimprȹovementg
53canbeincorporatedinalotofdierȹentways.pTheclas-Pcolor push gray 0ւE13 color popps:SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if endOOps:SDict begin H.S endps:SDict begin H.R endEps:SDict begin [/View [/XYZ H.V]/Dest (page.14) cvn /DEST pdfmark end15\XPcolor push gray 0 color pop਍XPsicationbyKrasnogorandSmith[B ps:SDict begin H.S endcolor push gray 019 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.krasnogor_tutorial_2005) cvn H.B /ANN pdfmark end]generalisesitbysayingAmemeticalgorithmEPis3Xan3Yevolutionaryalgorithmthatincludesoneormorȹelocalsearȹchphaseswithinitsevolu-Ptionarycycle.5ThisstudydenesthememeticalgorithmaccorȹdingtothisdenitioPandwefocusontheVRP|perspectivethatintrȹoducesalocalsearȹchinplaceofthePmutationstepasseeninAlgorithm3.,BeforȹewemoveontoexploringthedierȹentMAſimplementationsintheVRPPwemustpointoutthatmemeticalgorithmssuerfrȹomcertainshortcomings.wThePmostȅnotableoneisthat,asthememesemployedbythesealgorithmsarȹetailoredPtoJcertainneeds,]SmemeticJalgorithmstendtobeveryadhocintheirfunction.JThatPis,thesmemesthemselvesarȹetoospecic.Tfocombatthismulti-memeimplementa-PtionsthatemployavarietyofdierȹentmemeseachchosenbyahyperȹheuristicPas0dened0byCowlingetal.[B ps:SDict begin H.S endcolor push gray 08 color pop ps:SDict begin H.R endps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.cowling_hyperheuristic_2001) cvn H.B /ANN pdfmark end].JMOngandKeane[B ps:SDict begin H.S endcolor push gray 033 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.ong_meta-lamarckian_2004) cvn H.B /ANN pdfmark end]prȹoposedmeta-LamarckianPlearning?that>usesLamarȹckianlearningtoadaptivelychoosethecorrȹectmemesandPOngetal.[B ps:SDict begin H.S endcolor push gray 034 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.ong_classification_2006) cvn H.B /ANN pdfmark end]denedtheadaptivememeticalgorithmthatselectssuitablememestoPbeappliedinthelearningprȹocess.PbIps:SDict begin H.S endps:SDict begin 18.26991 H.A endGps:SDict begin [/View [/XYZ H.V]/Dest (section.5) cvn /DEST pdfmark endKō5GeneticandMemeticAlgorithmsintheVRPps:SDict begin H.S endps:SDict begin 18.26991 H.A endLps:SDict begin [/View [/XYZ H.V]/Dest (subsection.5.1) cvn /DEST pdfmark endh5.1EncodingRoutingProblemsGenetic/.algorithms/-intheVRP.oweagrȹeatdealtotheTravellingSalesmanPrȹob-lem.The/latterhasseenmuchmorȹeresearchespeciallywiththeapplicationsofGA.ThisI
54prȹovidesI asignicantadvantagefortheVRPHasmanyoftheoperatorsandal-gorithmscanbeappliedtotheVRPNaswell.WfecanapplyTSP-basedalgorithmsbydivingtheVRPgintosubrȹouteswhereinthedepotbecomesjustanothervertex.EcientmerȹgingalgorithmscanthenmergetheseroutesintotheVRPs.[ 4ps:SDict begin H.S endcolor push gray 027 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.nagata_edge_2007) cvn H.B /ANN pdfmark end]Tfoithisjend,Cweneedtointrȹoduceapracticalrȹepresentationanencodingofa֛rȹoute֚inachromosomeformat.< Theclassical֚bitstringobviouslydoesnotworkas7 theVRP6isfundamentallydiscrȹete.]xOurmutationandcrossovermustbesophis-ticatedUenoughtonotmakethesolutioninvalid,qasverticesandedgescannotbeblithelyarȹelocatedawithoutanyregardatoroutefeasibility.Wfemightendaupwithan=:everincrȹeasingquantityofsolutions=9withmissingverticesanddisjointedges.HenceLweLneedtoimposeafewrȹequirementsonLourGAKbeforȹeweapplyitontheVRP: 4ps:SDict begin H.S endps:SDict begin 18.26991 H.A endDps:SDict begin [/View [/XYZ H.V]/Dest (Item.3) cvn /DEST pdfmark end;卍color push gray 01. color pop_Thevgenesvmustrȹepresentvreal,discretevalues,andthemutationvmustproducePcolor push gray 0ւE14 color popps:SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if endOOps:SDict begin H.S endps:SDict begin H.R endEps:SDict begin [/View [/XYZ H.V]/Dest (page.15) cvn /DEST pdfmark end15\XPcolor push gray 0 color pop਍X8yvalidvertices(oredges).P6ps:SDict begin H.S endps:SDict begin 18.26991 H.A endDps:SDict begin [/View [/XYZ H.V]/Dest (Item.4) cvn /DEST pdfmark end]color push gray 02. color pop_Routeshavetobefeasible,ihenceourcrȹossoveroperatormustgeneraterȹoutesE_thatdonotleavenodesunvisited.ps:SDict begin H.S endps:SDict begin 18.26991 H.A endDps:SDict begin [/View [/XYZ H.V]/Dest (Item.5) cvn /DEST pdfmark endםcolor push gray 03. color pop_Achrȹomosomemustdescribeasolutionthatadheresto1.Pand2.遍AsbitstringsarȹeimpracticalinmodellingtheVRPs,anintegerrȹepresentationcanHbedevised.ThechrȹomosomeisHmodelledasasequenceofvehiclerȹoutes,[witheachgeneavisitedvertex.UsingthismethodtheVRPdescribedinbIps:SDict begin H.S endcolor push gray 0Figurȹe1 color pop.q ps:SDict begin H.R end.qyps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (figure.1) cvn H.B /ANN pdfmark endwouldtranslateNto0-1-2-3-4-0-5-6-7-8-9-0-10-11-0л.9NoticehowMthedepot0actsasasepa-ratorbetweenrȹoutes.Anexampleamutationoperatorisremove-and-reinsertthatsimplyswapsavertexwithanotherandthenshiftstherȹemainingverticesaccord-inglyasseeninbIps:SDict begin H.S endcolor push gray 0Figurȹe6 color pop.W ps:SDict begin H.R end.Wyps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (figure.6) cvn H.B /ANN pdfmark end.bps:SDict begin H.S endps:SDict begin 18.26991 H.A endLps:SDict begin [/View [/XYZ H.V]/Dest (subsection.5.2) cvn /DEST pdfmark endЍ5.2RecombinationProceduresCrȹossover2operators2workbyexchangingsegmentsoftwochrȹomosomes.QTheclas-sicaluone-pointcrȹossoverudeterminesacutpointatwhichtwochrȹomosomesareusplitintotwopartsandexchangesthesepartswhencrȹeatingospring,butthisisnotrȹe-allyfeasibleintheVRPs,asitmightprȹoduceinfeasibleorbrokenroutes.bIps:SDict begin H.S endcolor push gray 0Figure7 color pop2V؟ ps:SDict begin H.R end2Vyps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (figure.7) cvn H.B /ANN pdfmark endusesƵthesubrȹoute0-5-6-7-83Fanditsƶinverse0-8-7-6-5andappliesone-pointcrȹossoveronthelasttwovertices:o쩍color push gray 0aXl]ϦBffe? 􍍑Parȹent1:Qe?0ce?5ue?6͟{$EffEffe?7e?8e?9EParȹent2:Qe?0ce?9ue?8͟{$EffEffe?7e?6e?5኉ffe?Ospring1:Qe?0ce?5ue?6͟{$EffEffe?7e?6e?5Ospring2:Qe?0ce?9ue?8͟{$EffEffe?7e?8e?9኉ffe?5ZHcolor push gray 0Figurȹe7:Pps:SDict begin H.S endps:SDict begin H.R endFps:SDict begin [/View [/XYZ H.V]/Dest (figure.7) cvn /DEST pdfmark endOne-pointcrossoverproducinginvalidroutes. color pop color popMAs@canbe@clearlyseeninbIps:SDict begin H.S endcolor push gray 0Figurȹe7 color pop/ ps:SDict begin H.R end/yps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (figure.7) cvn H.B /ANN pdfmark end,bothrȹoutesareinvalid.z|TherstospringisBmissingverticesCandthesecondonehasduplicates. )Itisclearthatone-pointcrȹossoverR5isnotR6sophisticatedenoughtobeappliedtotheVRPR andabettercrȹossoverRcolor push gray 0<
55%١YϦffe? 􍍑Ospring1:Qe?0ce?5ue?6e?7e?8e?9EOspring2:Qe?0ce?5ue?7e?8e?6e?9኉ffe?"^scolor push gray 0Figurȹe6:Pps:SDict begin H.S endps:SDict begin H.R endFps:SDict begin [/View [/XYZ H.V]/Dest (figure.6) cvn /DEST pdfmark endRARmutation. color pop color popPcolor push gray 0ւE15 color popps:SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if endOOps:SDict begin H.S endps:SDict begin H.R endEps:SDict begin [/View [/XYZ H.V]/Dest (page.16) cvn /DEST pdfmark end15\XPcolor push gray 0 color pop਍XPoperatorjisjrȹequired.&Theorderjcrossover(OX)j[B ps:SDict begin H.S endcolor push gray 032 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.oliver_study_1987) cvn H.B /ANN pdfmark end]isjanorder-basedjoperatorthatEPwasdesignedtoprȹoducevalidroutes.auPcolor push gray 0OT鍍Ϧe)ffe? 􍍑Parȹent1:Qe?0ce?5ue?6e?7e?8e?9EParȹent2:Qe?0ce?9ue?8e?7e?6e?5኉ffe?Ospring1:Qe?9ce?8ue?6e?7e?5e?0ffe?,΍color push gray 0Figurȹe8:Pps:SDict begin H.S endps:SDict begin H.R endFps:SDict begin [/View [/XYZ H.V]/Dest (figure.8) cvn /DEST pdfmark endOrdercrossover(OX) color pop color pop E,bIps:SDict begin H.S end,color push gray 0Figurȹe8 color popXHq ps:SDict begin H.R endXHqyps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (figure.8) cvn H.B /ANN pdfmark endςisanexampleσoftheorȹdercrossoverappliedtoσtheroutesinbIps:SDict begin H.S endcolor push gray 0Figure7 color pop/'r ps:SDict begin H.R end/'ryps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (figure.7) cvn H.B /ANN pdfmark end.PFirst,Ǭthecutpointissettoincludetwoverticesatthemiddle.Thisvertexpair(6,P7)9is:thentransferrȹedtotheospring.GVerticesarȹetheninsertedintheorȹder6-5-0-P9-8.;As+6+isalrȹeadyintherȹoute,6itisskipped.;Atvertex0therȹoutewrapsoverandPverticesX9Wand8arȹeinsertedtothebeginningofthevertex.VTheprȹoducedrouteWisPthusvalidandhasnoduplicates.FManyorȹder-basedoperatorscrossoverakintothePprȹeviousonehaveproducedvalidospringroutesfortheTSP[B ps:SDict begin H.S endcolor push gray 037 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.potvin_review_2009) cvn H.B /ANN pdfmark end].,TheEdge-AssemblyCrossover(EAX)'isapowerfulcrȹossoveralgorithmthatPwasqbrstqaimplementedfortheTravellingSalesmanPrȹoblem(TSP)qEby[B ps:SDict begin H.S endcolor push gray 031 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.nagata_edge_1997) cvn H.B /ANN pdfmark end]andthenPmodiedfortheCVRP[ 4ps:SDict begin H.S endcolor push gray 027 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.nagata_edge_2007) cvn H.B /ANN pdfmark end].n0FortheTSPs,theEAXworksintwophases.InthePrstgaphase,8rȹoutesareg`constrpuctedbycombiningtheedgesoftheparȹentsunderrȹe-PlaxedG%conditionsofG$theTSPs.TherȹelaxedconditionsmeanthatsolutionscanviolatePtheconstraintsotherwiseimposedbytheTSPs,suchastherpulethatdoesnotallowPmultiplevisitstoonerȹoute.BytemporarilyremovingthisconstraintwearȹeablePtogenerateafarbiggernumberofintermediatesolutions.ĉInadditiontoalarȹgerPsearȹchspace,thisrelaxationallowsustocreatesubrouteswithintheTSPs.Thesec-PondA3phaseconsistsofA2merȹgingthesesubroutessothattheA2solutiondoesnotviolatePtheTSPconditions.,TheEAXfortheTSPcanbeeasilyextendedtotheCVRPbyneglectingtheca-Ppacity rȹestrictions [ 4ps:SDict begin H.S endcolor push gray 027 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.nagata_edge_2007) cvn H.B /ANN pdfmark end].TThisstepisakintotheTSPrȹelaxationsseenintheTSP-EAX.PIn8general,therȹespectiverelaxationsallowsustogenerate9alargernumberofinter-Pmediatefsolutions,߆asthenumbergofdierȹentcombinationsincrȹeases,߅giventhatthePrȹestrictionsu!arenotu asstrictastheywouldotherwisebe.Algorithm 4ps:SDict begin H.S endcolor push gray 04 color pop u ps:SDict begin H.R end u ~ps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (ALC@unique.38) cvn H.B /ANN pdfmark enddescribesthePEAXprȹocessindetail.,The fnEAX dfor fotheCVRPin fo[ 4ps:SDict begin H.S endcolor push gray 027 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.nagata_edge_2007) cvn H.B /ANN pdfmark end]foundthebestknownsolutionsforPtheChristodesbenchmarkandtennewsolutionsfortheGoldeninstancesinaPrȹeasonableyamountzoftime.]ItisofnotethatastheEAXfortheTSPandCVRPPcolor push gray 0ւE16 color popps:SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if endOOps:SDict begin H.S endps:SDict begin H.R endEps:SDict begin [/View [/XYZ H.V]/Dest (page.17) cvn /DEST pdfmark end15\XPcolor push gray 0 color pop਍f<P6ps:SDict begin H.S endps:SDict begin H.R endIps:SDict begin [/View [/XYZ H.V]/Dest (algorithm.4) cvn /DEST pdfmark end͉
56Algorithm4EAXfortheCVRPxωffcolor push gray 0oQ(ps:SDict begin H.S endps:SDict begin 18.26991 H.A endKps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.32) cvn /DEST pdfmark endcolor push gray 0dB1: color popfdConstrpuctagraphG6fAB;ѻbycombiningtheedgesoftwoparȹentsolutionsAandEfdBL̻.Pps:SDict begin H.S endps:SDict begin 18.26991 H.A endKps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.33) cvn /DEST pdfmark endcolor push gray 0dB2: color popfdPartition xG6fAB,intoAB-cycles:@tracetheedgesinG6fABbyalternatingbetweenthefdedgesofAandBL̻.Pps:SDict begin H.S endps:SDict begin 18.26991 H.A endKps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.34) cvn /DEST pdfmark endcolor push gray 0dB3: color popfdSelectanyAB-cycleSFi:.Pps:SDict begin H.S endps:SDict begin 18.26991 H.A endKps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.35) cvn /DEST pdfmark endcolor push gray 0dB4: color popfdGenerateanintermediatesolutionbyrȹemovingtheedgesofaparentthatarefdprȹesentintheselectedsubcycleS'h1addingedgesfromtheotherparent.Pps:SDict begin H.S endps:SDict begin 18.26991 H.A endKps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.36) cvn /DEST pdfmark endcolor push gray 0dB5: color popfdThe_intermediatesolution_nowconsistsofsolutionswithrȹoutesthatarȹecon-fdnectedtothedepotandsubrȹoutesthatarenot.Pps:SDict begin H.S endps:SDict begin 18.26991 H.A endKps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.37) cvn /DEST pdfmark endcolor push gray 0dB6: color popfdMerȹgethesubtourstocreateacompletesolutionusingagreedyheuristic.Pps:SDict begin H.S endps:SDict begin 18.26991 H.A endKps:SDict begin [/View [/XYZ H.V]/Dest (ALC@unique.38) cvn /DEST pdfmark endcolor push gray 0dB7: color popfdEliminate_capacityrȹestrictionviolationsusinga`localsearch.mThealgorithminfd[ 4ps:SDict begin H.S endcolor push gray 027 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.nagata_edge_2007) cvn H.B /ANN pdfmark end]usesa2-optlocalsearȹch. color popffff PinB ps:SDict begin H.S endcolor push gray 0subsection5.1 color popM(Qops:SDict begin H.R endM(ps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (subsection.5.1) cvn H.B /ANN pdfmark endrȹenesthesolutionswitha2-optheuristicitwouldindeedmeanEPthattthealgorithmissinfactamemeticalgorithm.¬Indeed,[B ps:SDict begin H.S endcolor push gray 028 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.nagata_edge_2009) cvn H.B /ANN pdfmark end]rȹenamesthisalgo-PrithmDtoCtheedge-assemblymemeticalgorithm,AorEAMA,andimprȹovesonitbyPaddingmorȹelocalsearchestothelocalimprovementspace.[However,wemustPpoint=7outthattheexactclassicationofMAs=8hasbeendebated.oThememetical-Pgorithmsastudiedina[B ps:SDict begin H.S endcolor push gray 028 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.nagata_edge_2009) cvn H.B /ANN pdfmark end,{B ps:SDict begin H.S end{color push gray 030 color pop{ ps:SDict begin H.R end{ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.nagata_penalty-based_2010) cvn H.B /ANN pdfmark end]makeuseoftheEAXa7fortheCVRPa6andtheVRPTWPrȹespectively.Examplesofothercrossoveroperatorsarecluster-rst,]route-secondPapprȹoachdxinLk
57pplrc8tLGideondy[ 4ps:SDict begin H.S endcolor push gray 044 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.thangiah_genetic_1991) cvn H.B /ANN pdfmark end]andGenClust[B ps:SDict begin H.S endcolor push gray 043 color pop ps:SDict begin H.R endps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.thangiah_adaptive_1995) cvn H.B /ANN pdfmark end].ForafurtherdyrȹeadingonevolutionaryPalgorithmsintheVRPtherȹeaderisreferredto[ 4ps:SDict begin H.S endcolor push gray 02 color pop ps:SDict begin H.R endps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.braeysy_evolutionary_2004) cvn H.B /ANN pdfmark end,`B ps:SDict begin H.S end`color push gray 037 color pop ` ps:SDict begin H.R end `ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.potvin_review_2009) cvn H.B /ANN pdfmark end].Pbps:SDict begin H.S endps:SDict begin 18.26991 H.A endLps:SDict begin [/View [/XYZ H.V]/Dest (subsection.5.3) cvn /DEST pdfmark endЍ5.3RecentResultsfromLiteraturez(8<color push gray 0_j 􍍑Tcolor push gray 0Tfable1:Pps:SDict begin H.S endps:SDict begin H.R endEps:SDict begin [/View [/XYZ H.V]/Dest (table.1) cvn /DEST pdfmark endAcomparisonofdierȹentMAsintheVRPs. color pop)3% ڍsMS,
5658
57pplb8tPAlgorithm/L MffQPreparatorystep͟L MffXLocalsearches0 L Mff^SLSprobability͟L MffDxCrossover͟L MfftrVariant sLffaJE(
58pplr8tJEAMA"L MffG=VL Mffb 2-opt,Swap,Insert!L Mff100%(/ L Mff;EAX̼L Mffkx&CVRP MPenaltyEAMA͟L MffGRMHeuristicQE(
59pplr8tQ1L Mffb J2-opt,In/Out-R,Exchange͟L Mff100%(/ L Mff;EAX̼L Mffkx&VRPTWPrinsGA;L MffGSplit1MʟL Mffb 2-OptOL Mff53
60zplmr7mp3363
61zplmr7mm6CL Mff;JLOXUL Mffkx&DVRPFMA,MA|PM L MffGSplit1MʟL Mffb 2-optbased;YL MffpyLS6CL Mff;JOXL Mffkx&HFVRP,VFMPff򎎎(Ktٴcolor push gray 0Q1 color popsLJRouteminimisationheuristic[,ps:SDict begin H.S endcolor push gray 030 color poptps:SDict begin H.R endps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.nagata_powerful_2009) cvn H.B /ANN pdfmark end] color pop2In\thissubsection\wecomparȹesixmemeticalgorithmsfortheVRP\anditsvari-ants.B ps:SDict begin H.S endcolor push gray 0Tfable1 color pop(DQops:SDict begin H.R end(Dxps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (table.1) cvn H.B /ANN pdfmark endprȹovidesacomparisonofthekeydierȹencesbetweentheMAsstudiedherȹe.T1The3edge-assembly3memeticalgorithm(EAMA)3fortheCVRP3byNagataandBrysyy[B ps:SDict begin H.S endcolor push gray 029 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.nagata_edge_2009) cvn H.B /ANN pdfmark end],thepenalty-basededge-assemblyymemeticalgorithmfortheVRPTWybyNagataetal.[B ps:SDict begin H.S endcolor push gray 031 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.nagata_penalty-based_2010) cvn H.B /ANN pdfmark end],0thehybridGAbyPrins[B ps:SDict begin H.S endcolor push gray 039 color pop ps:SDict begin H.R endps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.prins_simple_2004) cvn H.B /ANN pdfmark end]fortheDVRP(distance-constrainedVRP)andtheFMAandSMAfortheHFVRPbyPrins[B ps:SDict begin H.S endcolor push gray 040 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.prins_two_2009) cvn H.B /ANN pdfmark end].The\edge-assemblybasedmemeticalgorithm][B ps:SDict begin H.S endcolor push gray 029 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.nagata_edge_2009) cvn H.B /ANN pdfmark end]wasderivedfrȹomtheEAXfor:theCVRP:
62[B ps:SDict begin H.S endcolor push gray 028 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.nagata_edge_2007) cvn H.B /ANN pdfmark end]andthepenalty-based:EAMA: [B ps:SDict begin H.S endcolor push gray 031 color pop ps:SDict begin H.R endps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.nagata_penalty-based_2010) cvn H.B /ANN pdfmark end]extendedthisfor:theVRPTWf.Pcolor push gray 0ւE17 color pop$ps:SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if endOOps:SDict begin H.S endps:SDict begin H.R endEps:SDict begin [/View [/XYZ H.V]/Dest (page.18) cvn /DEST pdfmark end15\XPcolor push gray 0 color pop਍XPThelatterdevelopedapenalty-basedtechniqueforthetimewindowconstraintandEPfurthersplitthealgorithmintoatwo-stageprȹocess:rstarouteminimization[B ps:SDict begin H.S endcolor push gray 030 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.nagata_powerful_2009) cvn H.B /ANN pdfmark end]PheuristicisappliedtothesolutionandthentheEAMAAisrpun.cOfthestandarȹdP47W=benchmarks,m theW>rstoutperformed20existingsolutionsoftheseandfoundthePbest-knownsolutionsfor24prȹoblems,thesecondwasabletoimprȹove184best-Pknownrysolutions(outrzof356).#Bothalgorithmsuselocalsearȹchesforeachindividual.,ThealgorithmbyPrins[B ps:SDict begin H.S endcolor push gray 039 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.prins_simple_2004) cvn H.B /ANN pdfmark end]implementsaMAfortheDVRPs,thedistancecon-Pstraint.OThe)distance*constraintextendsthecapacityconstraintbyaddingamaxi-Pmumlengthtoeachrȹoute.IgnoringtheseconstraintstransformstheproblemintoPthe"VRPs."ThePrinsGA"usesaSplitprȹocedureto"partitionthegiantTSP"tourandPthen;Qappliesa2-optbasedlocalsearȹch;Rwithaprobabilitypm minthelearningstepPofhthehMA.ThecrȹossoveroperatorusedislinearordercrȹossoverorLOX.ThisGAPoutperformed"Rmost"Qtabusearȹch(TS)"Iheuristicsonthe14ChristodesinstancesandPbecamethebestsolutionforthe20larȹge-scaleinstancesbyGoldenetal[ 4ps:SDict begin H.S endcolor push gray 017 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.golden_impact_1998) cvn H.B /ANN pdfmark end].,TheFMAлandMA|PMalgorithmsbyPrins[B ps:SDict begin H.S endcolor push gray 040 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.prins_two_2009) cvn H.B /ANN pdfmark end]arȹetwoMAsimplementedforPtheUheterȹogeneouseetVvehicleroutingproblems(HFVRP)KandtheVvehicleeetmixPprȹoblem(VFMP).TheHFVRP]isavariantoftheVRP\inwhichnotallvehiclearȹePidentical,'unlikeinthetraditional(C)VRPs.TheFMAalgorithmusestheSplitprȹo-Pcedurȹe=from=[B ps:SDict begin H.S endcolor push gray 039 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.prins_simple_2004) cvn H.B /ANN pdfmark end]andadaptsittotheHFVRPs.TheMA|PM=orMA=withpopulationPmanagementalgorithmusestocontrȹolthesizeofthepopulations.BothalgorithmsPuse:orȹdercrossover[B ps:SDict begin H.S endcolor push gray 033 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.oliver_study_1987) cvn H.B /ANN pdfmark end]andtwo:dierentlocalsearchesbasedon2-opt,IwithxedPprȹobabilities.UxOf4bthe4ccasesbyTfaillarȹd[ 4ps:SDict begin H.S endcolor push gray 042 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.taillard_heuristic_1996) cvn H.B /ANN pdfmark end]anditoutperformedmost,{butnotall,PalgorithmsforthetheHFVRP[B ps:SDict begin H.S endcolor push gray 040 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.prins_two_2009) cvn H.B /ANN pdfmark end].PbIps:SDict begin H.S endps:SDict begin 18.26991 H.A endGps:SDict begin [/View [/XYZ H.V]/Dest (section.6) cvn /DEST pdfmark endKō6ConclusionandfurtherresearchEIn`thiswork,xwehaverȹeviewed`thedierentevolutionaryapproaches`fortheVRPs.ResultsKoinB ps:SDict begin H.S endcolor push gray 0subsection5.3 color popN[Qops:SDict begin H.R endN[ps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (subsection.5.3) cvn H.B /ANN pdfmark endshowthatmemeticKnalgorithmsarȹecapableofproducingexcellentIvrȹesultandIuinfactoutperformingmosttraditionalGAs,[andwhilethecurȹ-rȹent&state&oftheartalgorithmsarȹebasedonevolutionstrategiesandpowerfultabusearȹches[B ps:SDict begin H.S endcolor push gray 06 color pop ps:SDict begin H.R endps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.cordeau_new_2005) cvn H.B /ANN pdfmark end],memeticalgorithmshaveshowntobehighlycompetitiveintheVRPs.WWith$MA,$thekeyfactorsindesigningpowerfulMAsarȹeps:SDict begin H.S endps:SDict begin 18.26991 H.A endDps:SDict begin [/View [/XYZ H.V]/Dest (Item.6) cvn /DEST pdfmark end(i)thedesignofthelocalӥimprȹovementӤprocedureps:SDict begin H.S endps:SDict begin 18.26991 H.A endDps:SDict begin [/View [/XYZ H.V]/Dest (Item.7) cvn /DEST pdfmark end(ii)Ӥthesophisticationoftheinitializationphaseandps:SDict begin H.S endps:SDict begin 18.26991 H.A endDps:SDict begin [/View [/XYZ H.V]/Dest (Item.8) cvn /DEST pdfmark end(iii)}the}possibilityofusingdierȹentlocalsearȹchesmemesadaptativelyintheimprȹovementphase.Pcolor push gray 0ւE18 color pop~ps:SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if endOOps:SDict begin H.S endps:SDict begin H.R endEps:SDict begin [/View [/XYZ H.V]/Dest (page.19) cvn /DEST pdfmark end15\XPcolor push gray 0 color pop਍X,ApossiblefuturȹepathtoconsiderwouldbeusinghyperȹheuristicalandadaptiveEP[B ps:SDict begin H.S endcolor push gray 035 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.ong_classification_2006) cvn H.B /ANN pdfmark end]asdescribedinmethodstofurtherimprȹovethememeticalgorithmsbyusingPaltogetherdierȹentMAs,astheevolutionary-basedhyperheuristicforthedynamicPVRPbyGarridoandRi ps:SDict begin H.S endcolor push gray 013 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.garrido_dvrp:_2010) cvn H.B /ANN pdfmark end]hasshowntobehighlyecientinthedynamicVRPs.PbIps:SDict begin H.S endps:SDict begin 15.11993 H.A endGps:SDict begin [/View [/XYZ H.V]/Dest (section.7) cvn /DEST pdfmark endKō7Referencesps:SDict begin H.S endps:SDict begin 15.11993 H.A endWps:SDict begin [/View [/XYZ H.V]/Dest (cite.beyer_evolution_2002) cvn /DEST pdfmark endٍcolor push gray 0@[1] color popH.G.BeyerandH.P.Schwefel,"HEvolutionstrategiesAcomprehensiveintroduction@,"Naturalcom-putingR,
59pplb8tSAlgorithm/L MffQPreparatorystep͟L MffXLocalsearches0 L Mff^SLSprobability͟L MffDxCrossover͟L MfftrVariant sLffaME(
60pplr8tMEAMA"L MffG=VL Mffb 2-opt,Swap,Insert!L Mff100%(/ L Mff;EAX̼L Mffkx&CVRP MPenaltyEAMA͟L MffGRMHeuristicTE(
61pplr8tT1L Mffb M2-opt,In/Out-R,Exchange͟L Mff100%(/ L Mff;EAX̼L Mffkx&VRPTWPrinsGA;L MffGSplit1MʟL Mffb 2-OptOL Mff73
62zplmr7mp3383
63zplmr7mm6CL Mff;MLOXUL Mffkx&DVRPFMA,MA|PM L MffGSplit1MʟL Mffb 2-optbased;YL MffpyLS6CL Mff;MOXL Mffkx&HFVRP,VFMPff򎎎(Ktٴcolor push gray 0T1 color popsLMRouteminimisationheuristic[,ps:SDict begin H.S endcolor push gray 029 color poptps:SDict begin H.R endps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.nagata_powerful_2009) cvn H.B /ANN pdfmark end] color pop EInthissubsectionwecomparȹesixmemeticalgorithmsfortheVRPanditsvari-ants.B ps:SDict begin H.S endcolor push gray 0Tfable1 color pop(DQops:SDict begin H.R end(Dxps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (table.1) cvn H.B /ANN pdfmark endprȹovidesacomparisonofthekeydierȹencesbetweentheMAsstudiedherȹe.T1The3edge-assembly3memeticalgorithm(EAMA)3fortheCVRP3byNagataandPcolor push gray 0ւE17 color popops:SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if endOOps:SDict begin H.S endps:SDict begin H.R endEps:SDict begin [/View [/XYZ H.V]/Dest (page.18) cvn /DEST pdfmark end15\XPcolor push gray 0 color pop਍XPBrysyy[B ps:SDict begin H.S endcolor push gray 028 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.nagata_edge_2009) cvn H.B /ANN pdfmark end],thepenalty-basededge-assemblyymemeticalgorithmfortheVRPTWybyEPNagataetal.[B ps:SDict begin H.S endcolor push gray 030 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.nagata_penalty-based_2010) cvn H.B /ANN pdfmark end],0thehybridGAbyPrins[B ps:SDict begin H.S endcolor push gray 038 color pop ps:SDict begin H.R endps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.prins_simple_2004) cvn H.B /ANN pdfmark end]fortheDVRP(distance-constrainedPVRP)andtheFMAandSMAfortheHFVRPbyPrins[B ps:SDict begin H.S endcolor push gray 039 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.prins_two_2009) cvn H.B /ANN pdfmark end].,The\edge-assemblybasedmemeticalgorithm][B ps:SDict begin H.S endcolor push gray 028 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.nagata_edge_2009) cvn H.B /ANN pdfmark end]wasderivedfrȹomtheEAXPfor:theCVRP:
64[ 4ps:SDict begin H.S endcolor push gray 027 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.nagata_edge_2007) cvn H.B /ANN pdfmark end]andthepenalty-based:EAMA: [B ps:SDict begin H.S endcolor push gray 030 color pop ps:SDict begin H.R endps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.nagata_penalty-based_2010) cvn H.B /ANN pdfmark end]extendedthisfor:theVRPTWf.PThelatterdevelopedapenalty-basedtechniqueforthetimewindowconstraintandPfurthersplitthealgorithmintoatwo-stageprȹocess:rstarouteminimization[B ps:SDict begin H.S endcolor push gray 029 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.nagata_powerful_2009) cvn H.B /ANN pdfmark end]PheuristicisappliedtothesolutionandthentheEAMAAisrpun.cOfthestandarȹdP47W=benchmarks,m theW>rstoutperformed20existingsolutionsoftheseandfoundthePbest-knownsolutionsfor24prȹoblems,thesecondwasabletoimprȹove184best-Pknownrysolutions(outrzof356).#Bothalgorithmsuselocalsearȹchesforeachindividual.,ThealgorithmbyPrins[B ps:SDict begin H.S endcolor push gray 038 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.prins_simple_2004) cvn H.B /ANN pdfmark end]implementsaMAfortheDVRPs,thedistancecon-Pstraint.OThe)distance*constraintextendsthecapacityconstraintbyaddingamaxi-Pmumlengthtoeachrȹoute.IgnoringtheseconstraintstransformstheproblemintoPthe"VRPs."ThePrinsGA"usesaSplitprȹocedureto"partitionthegiantTSP"tourandPthen;Qappliesa2-optbasedlocalsearȹch;Rwithaprobabilitypm minthelearningstepPofhthehMA.ThecrȹossoveroperatorusedislinearordercrȹossoverorLOX.ThisGAPoutperformed"Rmost"Qtabusearȹch(TS)"Iheuristicsonthe14ChristodesinstancesandPbecamethebestsolutionforthe20larȹge-scaleinstancesbyGoldenetal[B ps:SDict begin H.S endcolor push gray 016 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.golden_impact_1998) cvn H.B /ANN pdfmark end].,TheFMAлandMA|PMalgorithmsbyPrins[B ps:SDict begin H.S endcolor push gray 039 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.prins_two_2009) cvn H.B /ANN pdfmark end]arȹetwoMAsimplementedforPtheUheterȹogeneouseetVvehicleroutingproblems(HFVRP)KandtheVvehicleeetmixPprȹoblem(VFMP).TheHFVRP]isavariantoftheVRP\inwhichnotallvehiclearȹePidentical,'unlikeinthetraditional(C)VRPs.TheFMAalgorithmusestheSplitprȹo-Pcedurȹe=from=[B ps:SDict begin H.S endcolor push gray 038 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.prins_simple_2004) cvn H.B /ANN pdfmark end]andadaptsittotheHFVRPs.TheMA|PM=orMA=withpopulationPmanagementalgorithmusestocontrȹolthesizeofthepopulations.BothalgorithmsPuse:orȹdercrossover[B ps:SDict begin H.S endcolor push gray 032 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.oliver_study_1987) cvn H.B /ANN pdfmark end]andtwo:dierentlocalsearchesbasedon2-opt,IwithxedPprȹobabilities.UxOf4bthe4ccasesbyTfaillarȹd[ 4ps:SDict begin H.S endcolor push gray 041 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.taillard_heuristic_1996) cvn H.B /ANN pdfmark end]anditoutperformedmost,{butnotall,PalgorithmsforthetheHFVRP[B ps:SDict begin H.S endcolor push gray 039 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.prins_two_2009) cvn H.B /ANN pdfmark end].PbIps:SDict begin H.S endps:SDict begin 18.26991 H.A endGps:SDict begin [/View [/XYZ H.V]/Dest (section.6) cvn /DEST pdfmark endKō6ConclusionandFurtherResearchEIn`thiswork,xwehaverȹeviewed`thedierentevolutionaryapproaches`fortheVRPs.ResultsKoinB ps:SDict begin H.S endcolor push gray 0subsection5.3 color popN[Qops:SDict begin H.R endN[ps:SDict begin [/Color [1 0 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (subsection.5.3) cvn H.B /ANN pdfmark endshowthatmemeticKnalgorithmsarȹecapableofproducingexcellentIvrȹesultandIuinfactoutperformingmosttraditionalGAs,[andwhilethecurȹ-rȹent&state&oftheartalgorithmsarȹebasedonevolutionstrategiesandpowerfultabuPcolor push gray 0ւE18 color popps:SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if endOOps:SDict begin H.S endps:SDict begin H.R endEps:SDict begin [/View [/XYZ H.V]/Dest (page.19) cvn /DEST pdfmark end15\XPcolor push gray 0 color pop਍XPsearȹches[B ps:SDict begin H.S endcolor push gray 06 color pop ps:SDict begin H.R endps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.cordeau_new_2005) cvn H.B /ANN pdfmark end],memeticalgorithmshaveshowntobehighlycompetitiveintheVRPs.E,WWith$MA,$thekeyfactorsindesigningpowerfulMAsarȹeps:SDict begin H.S endps:SDict begin 18.26991 H.A endDps:SDict begin [/View [/XYZ H.V]/Dest (Item.6) cvn /DEST pdfmark end(i)thedesignofthePlocalӥimprȹovementӤprocedureps:SDict begin H.S endps:SDict begin 18.26991 H.A endDps:SDict begin [/View [/XYZ H.V]/Dest (Item.7) cvn /DEST pdfmark end(ii)ӤthesophisticationoftheinitializationphaseandPps:SDict begin H.S endps:SDict begin 18.26991 H.A endDps:SDict begin [/View [/XYZ H.V]/Dest (Item.8) cvn /DEST pdfmark end(iii)}the}possibilityofusingdierȹentlocalsearȹchesmemesadaptativelyinthePimprȹovementphase.,ApossiblefuturȹepathtoconsiderwouldbeusinghyperȹheuristicalandadaptiveP[B ps:SDict begin H.S endcolor push gray 034 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.ong_classification_2006) cvn H.B /ANN pdfmark end]asdescribedinmethodstofurtherimprȹovethememeticalgorithmsbyusingPaltogetherdierȹentMAs,astheevolutionary-basedhyperheuristicforthedynamicPVRPbyGarridoandRi ps:SDict begin H.S endcolor push gray 013 color pop ps:SDict begin H.R end ps:SDict begin [/Color [0 1 0]/H /I/Border [0 0 1]BorderArrayPatch/Subtype /Link/Dest (cite.garrido_dvrp:_2010) cvn H.B /ANN pdfmark end]hasshowntobehighlyecientinthedynamicVRPs.,TheauthorwouldliketothankrȹesearchersTuukkaPuranenandJoniBrigattiforPtheirguidanceinmakingthisthesis.PbIps:SDict begin H.S endps:SDict begin 15.11993 H.A endGps:SDict begin [/View [/XYZ H.V]/Dest (section.7) cvn /DEST pdfmark endKō7References*]ps:SDict begin H.S endps:SDict begin 15.11993 H.A endWps:SDict begin [/View [/XYZ H.V]/Dest (cite.beyer_evolution_2002) cvn /DEST pdfmark endWcolor push gray 0B[1] color popH.G.BeyerandH.P.Schwefel,"IEvolutionstrategiesAcomprehensiveintroductionB,"Naturalcom-putingU,
6365
6466
65pplb8tR1@(2002),no.1,352.kjps:SDict begin H.S endps:SDict begin 15.11993 H.A end\ps:SDict begin [/View [/XYZ H.V]/Dest (cite.braeysy_evolutionary_2004) cvn /DEST pdfmark endNcolor push gray 0[2] color popO.\Brysy,5W.Dullaert,5andM.]Gendreau,HEvolutionaryalgorithms]forthevehicleroutingproblemwithtimewindows@,JournalofHeuristicsR10@(2004),no.6,587611.ps:SDict begin H.S endps:SDict begin 15.11993 H.A endWps:SDict begin [/View [/XYZ H.V]/Dest (cite.braeysy_vehicle_2005) cvn /DEST pdfmark end捍color push gray 0[3] color popO.SBrysyRandM.Gendreau,HVehicleroutingSproblemwithStimewindows,partII:metaheuristics@,TransportationscienceR39@(2005),no.1,119139.ps:SDict begin H.S endps:SDict begin 15.11993 H.A endWps:SDict begin [/View [/XYZ H.V]/Dest (cite.chiang_reactive_1997) cvn /DEST pdfmark endNcolor push gray 0[4] color popWs8-C.kChiangandR.A.Russell,HAOreactivetabusearchmetaheuristicforthevehicleroutingproblemwithtimewindows@,InformsJournalonComputingR9@(1997),no.4,417430.ps:SDict begin H.S endps:SDict begin 15.11993 H.A endYps:SDict begin [/View [/XYZ H.V]/Dest (cite.clarke_scheduling_1964) cvn /DEST pdfmark endNcolor push gray 0[5] color popG.xClarkeandJ.W.WBright,z:HSchedulingofvehiclesfromacentralxdepottoanumberofdeliverypoints@,OperationsResearchR12@(1964),no.4,568581.ps:SDict begin H.S endps:SDict begin 15.11993 H.A endSps:SDict begin [/View [/XYZ H.V]/Dest (cite.cordeau_new_2005) cvn /DEST pdfmark endNcolor push gray 0[6] color popJ.CF<Cordeau,M.Gendreau,A.Hertz,G.DLaporte,andJ.S<Sormany,HNewheuristicsforDthevehicleroutingproblem@,Logisticssystems:designandoptimization(2005),279297.ps:SDict begin H.S endps:SDict begin 15.11993 H.A endUps:SDict begin [/View [/XYZ H.V]/Dest (cite.cordeau_guide_2002) cvn /DEST pdfmark endNcolor push gray 0[7] color popJ-F_Cordeau,fM._Gendreau,G._Laporte,fJ-Y_Potvin,and_F.Semet,HA_guidetovehicle_routingheuris-tics@,fTTheJournaloftheOperationalResearchSocietyR53@(2002),fTno.5,fS512522,ArticleType:research-article:/:Fullpublicationdate:May,i2002/Copyrightc !",
67pplb8tU1B(2002),no.1,352.ps:SDict begin H.S endps:SDict begin 15.11993 H.A end\ps:SDict begin [/View [/XYZ H.V]/Dest (cite.braeysy_evolutionary_2004) cvn /DEST pdfmark endL̍color push gray 0[2] color popO.\Brysy,5W.Dullaert,5andM.]Gendreau,IEvolutionaryalgorithms]forthevehicleroutingproblemwithtimewindowsB,JournalofHeuristicsU10B(2004),no.6,587611.Pps:SDict begin H.S endps:SDict begin 15.11993 H.A endWps:SDict begin [/View [/XYZ H.V]/Dest (cite.braeysy_vehicle_2005) cvn /DEST pdfmark enddcolor push gray 0[3] color popO.SBrysyRandM.Gendreau,IVehicleroutingSproblemwithStimewindows,partII:metaheuristicsB,TransportationscienceU39B(2005),no.1,119139.ps:SDict begin H.S endps:SDict begin 15.11993 H.A endWps:SDict begin [/View [/XYZ H.V]/Dest (cite.chiang_reactive_1997) cvn /DEST pdfmark endL̍color push gray 0[4] color popWs8-C.kChiangandR.A.Russell,IAOreactivetabusearchmetaheuristicforthevehicleroutingproblemwithtimewindowsB,InformsJournalonComputingU9B(1997),no.4,417430.ps:SDict begin H.S endps:SDict begin 15.11993 H.A endYps:SDict begin [/View [/XYZ H.V]/Dest (cite.clarke_scheduling_1964) cvn /DEST pdfmark endL̍color push gray 0[5] color popG.xClarkeandJ.W.WBright,z:ISchedulingofvehiclesfromacentralxdepottoanumberofdeliverypointsB,OperationsResearchU12B(1964),no.4,568581.ps:SDict begin H.S endps:SDict begin 15.11993 H.A endSps:SDict begin [/View [/XYZ H.V]/Dest (cite.cordeau_new_2005) cvn /DEST pdfmark endL̍color push gray 0[6] color popJ.CF<Cordeau,M.Gendreau,A.Hertz,G.DLaporte,andJ.S<Sormany,INewheuristicsforDthevehicleroutingproblemB,Logisticssystems:designandoptimization(2005),279297.ps:SDict begin H.S endps:SDict begin 15.11993 H.A endUps:SDict begin [/View [/XYZ H.V]/Dest (cite.cordeau_guide_2002) cvn /DEST pdfmark endL̍color push gray 0[7] color popJ-F_Cordeau,fM._Gendreau,G._Laporte,fJ-Y_Potvin,and_F.Semet,IA_guidetovehicle_routingheuris-ticsB,fTTheJournaloftheOperationalResearchSocietyU53B(2002),fTno.5,fS512522,ArticleType:research-article:/:Fullpublicationdate:May,i2002/Copyrightc !",
6668
67cmsy10 u@2002OperationalResearchSociety.ps:SDict begin H.S endps:SDict begin 15.11993 H.A end^ps:SDict begin [/View [/XYZ H.V]/Dest (cite.cowling_hyperheuristic_2001) cvn /DEST pdfmark endMcolor push gray 0[8] color popP.2Cowling,_3G.Kendall,andE.Soubeiga,HA2bhyperheuristicapproachtoscheduling2asalessummit@,PracticeandTheoryofAutomatedTs8imetablingIII(2001),176190.ps:SDict begin H.S endps:SDict begin 15.11993 H.A endUps:SDict begin [/View [/XYZ H.V]/Dest (cite.dantzig_truck_1959) cvn /DEST pdfmark endNcolor push gray 0[9] color popG.B.DantzigandJ.H.RamserB, iHThetruckdispatchingproblem@, iManagementScienceR6@(1959),no.1,8091.=Ups:SDict begin H.S endps:SDict begin 15.11993 H.A endUps:SDict begin [/View [/XYZ H.V]/Dest (cite.darwin_origin_1859) cvn /DEST pdfmark endccolor push gray 0[10] color popCharlesDarwin,HOntheoriginofspecies@,JohnMurray,London,1859.ps:SDict begin H.S endps:SDict begin 15.11993 H.A endWps:SDict begin [/View [/XYZ H.V]/Dest (cite.dawkins_selfish_1976) cvn /DEST pdfmark endNcolor push gray 0[11] color popRichardDawkins,HTheselshgene@,OxfordUniversityPress,1976.ps:SDict begin H.S endps:SDict begin 15.11993 H.A endXps:SDict begin [/View [/XYZ H.V]/Dest (cite.fogel_artificial_1966) cvn /DEST pdfmark endcolor push gray 0[12] color popL.JFogel,/A.JOwens,/M.JWalsh,/etal.,HArticialintelligencethroughsimulatedevolution@,vol.26,Ws8ileyNewYork,1966.ps:SDict begin H.S endps:SDict begin 15.11993 H.A endUps:SDict begin [/View [/XYZ H.V]/Dest (cite.garrido_dvrp:_2010) cvn /DEST pdfmark endcolor push gray 0[13] color popP.GarridoandM.C.Ri,HDVRP:aharddynamiccombinatorialoptimisationproblemtackledbyanevolutionaryhyper-heuristic@,JournalofHeuristicsR16@(2010),no.6,795834.\ ps:SDict begin H.S endps:SDict begin 15.11993 H.A end_ps:SDict begin [/View [/XYZ H.V]/Dest (cite.gendreau_metaheuristics_2002) cvn /DEST pdfmark endcolor push gray 0[14] color popM.ӎGendreau,(qG.Laporte,andJ-Y.Potvin,HMetaheuristicsforthecapacitatedVRP@,ThevehicleroutingproblemR9@(2002),129154.ps:SDict begin H.S endps:SDict begin 15.11993 H.A endWps:SDict begin [/View [/XYZ H.V]/Dest (cite.glover_handbook_2003) cvn /DEST pdfmark endNcolor push gray 0[15] color popF.GloverandG.A.Kochenberger(eds.),HHandbookofmetaheuristics@,vol.57,KluwerAcademicPublishers,Boston,2003.Pcolor push gray 0ւE19 color pop'ps:SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if endOOps:SDict begin H.S endps:SDict begin H.R endEps:SDict begin [/View [/XYZ H.V]/Dest (page.20) cvn /DEST pdfmark end15\XPcolor push gray 0 color pop਍PzXps:SDict begin H.S endps:SDict begin 15.11993 H.A endVps:SDict begin [/View [/XYZ H.V]/Dest (cite.golden_vehicle_2008) cvn /DEST pdfmark end color push gray 0@[16] color popB..Golden,S.Raghavan,andE.Wasil-(eds.),HThevehicleroutingproblem:Latest-advancesandnewchallenges@,vol.43,SpringerUS,Boston,MA,2008.cps:SDict begin H.S endps:SDict begin 15.11993 H.A endUps:SDict begin [/View [/XYZ H.V]/Dest (cite.golden_impact_1998) cvn /DEST pdfmark endFcolor push gray 0[17] color popB.;L.;Golden,jE.A.Wasil,jJ.P.Kelly,andI.;M.Chao,jHTheimpactofmetaheuristicsonsolvingthevehicleͭroutingͬproblem:algorithms,problemsets,andcomputationalͭresults@,Fleetmanagementͬandlogistics(1998),3356.ps:SDict begin H.S endps:SDict begin 15.11993 H.A endZps:SDict begin [/View [/XYZ H.V]/Dest (cite.holland_adaptation_1975) cvn /DEST pdfmark endGcolor push gray 0[18] color popJ.PHHolland,HAdaptationinOnaturalandarticialsystems.@,AnnArborB,UniversityPofMichigan,1975.ps:SDict begin H.S endps:SDict begin 15.11993 H.A endUps:SDict begin [/View [/XYZ H.V]/Dest (cite.homberger_two_1999) cvn /DEST pdfmark end&color push gray 0[19] color popJ.3+HombergerB,BH.Gehring,etal.,HTwoevolutionarymetaheuristicsfor3,thevehicleroutingproblemwithtimewindows@,Infor-InformationSystemsandOperationalResearchR37@(1999),no.3,297318.ps:SDict begin H.S endps:SDict begin 15.11993 H.A endZps:SDict begin [/View [/XYZ H.V]/Dest (cite.krasnogor_tutorial_2005) cvn /DEST pdfmark endGcolor push gray 0[20] color popN.KrasnogorandJ.Smith,/HAtutorialforcompetentmemeticalgorithms:model,/taxonomyG,anddesignissues@,EvolutionaryComputation,IEEETransactionsonR9@(2005),no.5,474488.ps:SDict begin H.S endps:SDict begin 15.11993 H.A endYps:SDict begin [/View [/XYZ H.V]/Dest (cite.laporte_classical_2000) cvn /DEST pdfmark endFcolor push gray 0[21] color popG.ƈLaporte,)M.Gendreau,J-Y.Potvin,*andƇF.Semet,HClassicalƇandmodernheuristicsforthevehicleroutingproblem@,InternationalTransactionsinOperationalResearchR7@(2000),no.4-5,285300.ps:SDict begin H.S endps:SDict begin 15.11993 H.A endYps:SDict begin [/View [/XYZ H.V]/Dest (cite.laporte_classical_2002) cvn /DEST pdfmark endGcolor push gray 0[22] color popG.ULaporteandF.VSemet,HClassicalheuristicsforthecapacitatedVRP@,Thevehicleroutingproblem(2002),109128.ps:SDict begin H.S endps:SDict begin 15.11993 H.A endTps:SDict begin [/View [/XYZ H.V]/Dest (cite.lima_memetic_2004) cvn /DEST pdfmark endލcolor push gray 0[23] color popC.M.R.R.GVLima,y+M.C.Goldbarg,andE.F.G.Goldbarg,HAG#memeticalgorithmfortheheterogeneouseetvehicleroutingproblem@,ElectronicNotesinDiscreteMathematicsR18@(2004),171176.ps:SDict begin H.S endps:SDict begin 15.11993 H.A endTps:SDict begin [/View [/XYZ H.V]/Dest (cite.lin_computer_1965) cvn /DEST pdfmark end(color push gray 0[24] color popS.Lin,HComputersolutionsofthetravelingsalesmanproblem@,BellSystemTechnicalJournalR44@(1965),no.10,22452269.pNps:SDict begin H.S endps:SDict begin 15.11993 H.A endUps:SDict begin [/View [/XYZ H.V]/Dest (cite.mester_active_2005) cvn /DEST pdfmark endG[color push gray 0[25] color popD.3uMester3tandO.Brysy,`QHActiveguidedevolutionstrategiesforlarge-scalevehicleroutingproblemswithtimewindows@,Computers&OperationsResearchR32@(2005),no.6,15931614.ps:SDict begin H.S endps:SDict begin 15.11993 H.A endWps:SDict begin [/View [/XYZ H.V]/Dest (cite.mole_sequential_1976) cvn /DEST pdfmark endGcolor push gray 0[26] color popR.H.MoleandS.R.Jameson,/HAsequentialRoute-Buildingalgorithmemployingageneralisedsavingscriterion@,OperationalResearchQuarterly(1970-1977)R27@(1976),no.2,503511.ps:SDict begin H.S endps:SDict begin 15.11993 H.A endYps:SDict begin [/View [/XYZ H.V]/Dest (cite.moscato_evolution_1989) cvn /DEST pdfmark endFcolor push gray 0[27] color popP.ϳMoscato,HOnϲevolution,search,optimization,geneticalgorithmsϳandmartialarts:Towardsmemeticalgorithms@,CaltechConcurrentComputationProgram,C3PReportR826@(1989),1989.ps:SDict begin H.S endps:SDict begin 15.11993 H.A endSps:SDict begin [/View [/XYZ H.V]/Dest (cite.nagata_edge_2007) cvn /DEST pdfmark endGcolor push gray 0[28] color popY.8Nagata,FHEdge8assemblycrossoverforthecapacitatedvehicleroutingproblem@,FEvolutionary8Compu-tationinCombinatorialOptimization(2007),142153.ps:SDict begin H.S endps:SDict begin 15.11993 H.A endSps:SDict begin [/View [/XYZ H.V]/Dest (cite.nagata_edge_2009) cvn /DEST pdfmark endFcolor push gray 0[29] color popY.NagataandO.Brysy,OHEdgeassembly-basedmemeticalgorithmforthecapacitatedvehicleroutingproblem@,NetworksR54@(2009),no.4,205215.ps:SDict begin H.S endps:SDict begin 15.11993 H.A endWps:SDict begin [/View [/XYZ H.V]/Dest (cite.nagata_powerful_2009) cvn /DEST pdfmark end(color push gray 0[30] color popff63,{:HAHpowerfulHrouteHminimizationheuristicforthevehicleroutingproblemHwithtimewindows@,OperationsResearchLettersR37@(2009),no.5,333338.ps:SDict begin H.S endps:SDict begin 15.11993 H.A end\ps:SDict begin [/View [/XYZ H.V]/Dest (cite.nagata_penalty-based_2010) cvn /DEST pdfmark endFcolor push gray 0[31] color popY.Nagata, O.Brysy,andW.Dullaert,HApenalty-basededgeassemblymemeticalgorithmforthevehicleroutingproblemwithtimewindows@,ؕComputers&OperationsResearchR37@(2010),ؕno.4,724737.ps:SDict begin H.S endps:SDict begin 15.11993 H.A endSps:SDict begin [/View [/XYZ H.V]/Dest (cite.nagata_edge_1997) cvn /DEST pdfmark end'color push gray 0[32] color popY.NagataandS.Kobayashi,5HEdgeassemblycrossover:<A]high-powergeneticalgorithmforthetrav-elinggsalesmanproblem@,ProceedingsgofthegSeventhInternationalConferenceonGeneticAlgo-rithms,MichiganStateUniversity,EastLansing,MI,July19-23,1997,1997,pp.450457.Pcolor push gray 0ւE20 color pop5+ps:SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if endOOps:SDict begin H.S endps:SDict begin H.R endEps:SDict begin [/View [/XYZ H.V]/Dest (page.21) cvn /DEST pdfmark end15\XPcolor push gray 0 color pop਍PzXps:SDict begin H.S endps:SDict begin 15.11993 H.A endTps:SDict begin [/View [/XYZ H.V]/Dest (cite.oliver_study_1987) cvn /DEST pdfmark end color push gray 0@[33] color popI.dM.dOliverB,D.J.Smith,andJ.R.C.Holland,HAdstudyofpermutationcrossoveroperatorsonthetravellingCsalesmanproblem@,GeneticAlgorithmsandTheirApplications:hProceedingsofthe2ndInternationalConferenceonGeneticAlgorithms.LawrenceErlbaumAssociates,ׁHilladale,׀NJ,1987.7ps:SDict begin H.S endps:SDict begin 15.11993 H.A end[ps:SDict begin [/View [/XYZ H.V]/Dest (cite.ong_meta-lamarckian_2004) cvn /DEST pdfmark end笍color push gray 0[34] color popY.SװOngandA.JׯKeane,HMeta-Lamarckianlearninginmemeticalgorithms@,EvolutionaryCompu-tation,IEEETransactionsonR8@(2004),no.2,99110.Pps:SDict begin H.S endps:SDict begin 15.11993 H.A endZps:SDict begin [/View [/XYZ H.V]/Dest (cite.ong_classification_2006) cvn /DEST pdfmark enddcolor push gray 0[35] color popY-S.FOng,3VM-H.Lim,N.Zhu,3WandEK-W.Wong,3WHClassicationEofadaptivememeticalgorithms:#acomparativefstudy@,?Systems,@Man,andCybernetics,PartB:Cybernetics,IEEEbTransactionsonR36@(2006),no.1,141152.ps:SDict begin H.S endps:SDict begin 15.11993 H.A endTps:SDict begin [/View [/XYZ H.V]/Dest (cite.or_traveling_1976) cvn /DEST pdfmark enddcolor push gray 0[36] color popI.]LOrB,d=HTravelingsalesman-typecombinatorialproblems]Kandtheirrelationtothelogisticsofregionalbloodbanking@,NorthwesternUniversity,1976.ps:SDict begin H.S endps:SDict begin 15.11993 H.A endXps:SDict begin [/View [/XYZ H.V]/Dest (cite.pisinger_general_2007) cvn /DEST pdfmark endL̍color push gray 0[37] color popDavid@Pisinger@andStefanRopke,pHA@sgeneralheuristicforvehicleroutingproblems@,pComputers&OperationsResearchR34@(2007),no.8,24032435.ps:SDict begin H.S endps:SDict begin 15.11993 H.A endUps:SDict begin [/View [/XYZ H.V]/Dest (cite.potvin_review_2009) cvn /DEST pdfmark endL̍color push gray 0[38] color popJ-Y.Potvin,+HAreviewofbio-inspiredalgorithmsforvehiclerouting@,+Bio-inspiredAlgorithmsfortheVehicleRoutingProblem(2009),134.ps:SDict begin H.S endps:SDict begin 15.11993 H.A endTps:SDict begin [/View [/XYZ H.V]/Dest (cite.prins_simple_2004) cvn /DEST pdfmark endL̍color push gray 0[39] color popC.Prins,HAsimpleandeectiveevolutionaryalgorithmforthevehicleroutingproblem@,Computers&OperationsResearchR31@(2004),no.12,19852002.ps:SDict begin H.S endps:SDict begin 15.11993 H.A endQps:SDict begin [/View [/XYZ H.V]/Dest (cite.prins_two_2009) cvn /DEST pdfmark endL̍color push gray 0[40] color popff63,wHTwoukmemeticalgorithmsforheterogeneousujeetvehicleroutingproblems@,wEngineeringAppli-cationsofArticialIntelligenceR22@(2009),no.6,916928.ps:SDict begin H.S endps:SDict begin 15.11993 H.A endgps:SDict begin [/View [/XYZ H.V]/Dest (cite.rechenberg_evolutionsstrategie:_1973) cvn /DEST pdfmark endL̍color push gray 0[41] color popI.tRechenberg,HEvolutionsstrategie:LOptimierungtechnischersystemesnachprinzipienderbiologischenevolution@,Ph.D.thesis,1973.ps:SDict begin H.S endps:SDict begin 15.11993 H.A endZps:SDict begin [/View [/XYZ H.V]/Dest (cite.taillard_heuristic_1996) cvn /DEST pdfmark endzፍcolor push gray 0[42] color popE.D.Taillard,HAheuristiccolumngenerationmethodfortheheterogeneouseetVRP@,CiteseerB,1996.‡ps:SDict begin H.S endps:SDict begin 15.11993 H.A end\ps:SDict begin [/View [/XYZ H.V]/Dest (cite.talbi_metaheuristics_2009) cvn /DEST pdfmark end\-color push gray 0[43] color popEl-GhazaliTalbi,HMetaheuristics@,JohnWs8iley&Sons,Inc.,Hoboken,NJ,USA,2009.ps:SDict begin H.S endps:SDict begin 15.11993 H.A endYps:SDict begin [/View [/XYZ H.V]/Dest (cite.thangiah_adaptive_1995) cvn /DEST pdfmark endL̍color push gray 0[44] color popS.)Thangiah,4HAn*adaptiveclusteringmethodusingageometricshapeforvehicleroutingproblems)withtimewindows@,8$Proceedingsofthe6thInternationalConferenceonGeneticAlgorithms,8$1995,p.536545.ps:SDict begin H.S endps:SDict begin 15.11993 H.A endXps:SDict begin [/View [/XYZ H.V]/Dest (cite.thangiah_genetic_1991) cvn /DEST pdfmark endL̍color push gray 0[45] color popS.3Thangiah,K.Nygard,and4P.Juell,HAgeneticalgorithmsystem4forvehicleroutingwithtimewin-dows@,zProceedingaofSeventhIEEEaConferenceonArticialIntelligenceApplications,zFlorida,1991,p.322328.ps:SDict begin H.S endps:SDict begin 15.11993 H.A endRps:SDict begin [/View [/XYZ H.V]/Dest (cite.toth_exact_1998) cvn /DEST pdfmark endL̍color push gray 0[46] color popPaoloTothandDanieleVs8igo,HExactsolutionofthevehicleroutingproblem@,Fleetmanagementandlogistics(1998),131.ps:SDict begin H.S endps:SDict begin 15.11993 H.A endTps:SDict begin [/View [/XYZ H.V]/Dest (cite.toth_vehicle_2002) cvn /DEST pdfmark endL̍color push gray 0[47] color popff63,HThevehicleroutingproblem@,SIAM,2002.Pcolor push gray 0ւE21 color popR;s>UR,
69cmsy10 uB2002OperationalResearchSociety.ps:SDict begin H.S endps:SDict begin 15.11993 H.A end^ps:SDict begin [/View [/XYZ H.V]/Dest (cite.cowling_hyperheuristic_2001) cvn /DEST pdfmark endL̍color push gray 0[8] color popP.2Cowling,_3G.Kendall,andE.Soubeiga,IA2bhyperheuristicapproachtoscheduling2asalessummitB,PracticeandTheoryofAutomatedTs8imetablingIII(2001),176190.ps:SDict begin H.S endps:SDict begin 15.11993 H.A endUps:SDict begin [/View [/XYZ H.V]/Dest (cite.dantzig_truck_1959) cvn /DEST pdfmark endL̍color push gray 0[9] color popG.B.DantzigandJ.H.RamserB, iIThetruckdispatchingproblemB, iManagementScienceU6B(1959),no.1,8091.ps:SDict begin H.S endps:SDict begin 15.11993 H.A endUps:SDict begin [/View [/XYZ H.V]/Dest (cite.darwin_origin_1859) cvn /DEST pdfmark endzፍcolor push gray 0[10] color popCharlesDarwin,IOntheoriginofspeciesB,JohnMurray,London,1859.ps:SDict begin H.S endps:SDict begin 15.11993 H.A endWps:SDict begin [/View [/XYZ H.V]/Dest (cite.dawkins_selfish_1976) cvn /DEST pdfmark endL̍color push gray 0[11] color popRichardDawkins,ITheselshgeneB,OxfordUniversityPress,1976.Pcolor push gray 0ւE19 color pop#{ps:SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if endOOps:SDict begin H.S endps:SDict begin H.R endEps:SDict begin [/View [/XYZ H.V]/Dest (page.20) cvn /DEST pdfmark end15\XPcolor push gray 0 color pop਍PzXps:SDict begin H.S endps:SDict begin 15.11993 H.A endXps:SDict begin [/View [/XYZ H.V]/Dest (cite.fogel_artificial_1966) cvn /DEST pdfmark end color push gray 0B[12] color popL.JFogel,/A.JOwens,/M.JWalsh,/etal.,IArticialintelligencethroughsimulatedevolutionB,vol.26,Ws8ileyNewYork,1966.t=ps:SDict begin H.S endps:SDict begin 15.11993 H.A endUps:SDict begin [/View [/XYZ H.V]/Dest (cite.garrido_dvrp:_2010) cvn /DEST pdfmark end"color push gray 0[13] color popP.GarridoandM.C.Ri,IDVRP:aharddynamiccombinatorialoptimisationproblemtackledbyanevolutionaryhyper-heuristicB,JournalofHeuristicsU16B(2010),no.6,795834.dps:SDict begin H.S endps:SDict begin 15.11993 H.A end_ps:SDict begin [/View [/XYZ H.V]/Dest (cite.gendreau_metaheuristics_2002) cvn /DEST pdfmark endcolor push gray 0[14] color popM.ӎGendreau,(qG.Laporte,andJ-Y.Potvin,IMetaheuristicsforthecapacitatedVRPB,ThevehicleroutingproblemU9B(2002),129154.ps:SDict begin H.S endps:SDict begin 15.11993 H.A endWps:SDict begin [/View [/XYZ H.V]/Dest (cite.glover_handbook_2003) cvn /DEST pdfmark end!color push gray 0[15] color popF.GloverandG.A.Kochenberger(eds.),IHandbookofmetaheuristicsB,vol.57,KluwerAcademicPublishers,Boston,2003.F)ps:SDict begin H.S endps:SDict begin 15.11993 H.A endUps:SDict begin [/View [/XYZ H.V]/Dest (cite.golden_impact_1998) cvn /DEST pdfmark end6color push gray 0[16] color popB.;L.;Golden,jE.A.Wasil,jJ.P.Kelly,andI.;M.Chao,jITheimpactofmetaheuristicsonsolvingthevehicleͭroutingͬproblem:algorithms,problemsets,andcomputationalͭresultsB,Fleetmanagementͬandlogistics(1998),3356.t>ps:SDict begin H.S endps:SDict begin 15.11993 H.A endZps:SDict begin [/View [/XYZ H.V]/Dest (cite.holland_adaptation_1975) cvn /DEST pdfmark endcolor push gray 0[17] color popJ.PHHolland,IAdaptationinOnaturalandarticialsystems.B,AnnArborB,UniversityPofMichigan,1975.^ps:SDict begin H.S endps:SDict begin 15.11993 H.A endUps:SDict begin [/View [/XYZ H.V]/Dest (cite.homberger_two_1999) cvn /DEST pdfmark endcolor push gray 0[18] color popJ.3+HombergerB,BH.Gehring,etal.,ITwoevolutionarymetaheuristicsfor3,thevehicleroutingproblemwithtimewindowsB,Infor-InformationSystemsandOperationalResearchU37B(1999),no.3,297318.t=ps:SDict begin H.S endps:SDict begin 15.11993 H.A endZps:SDict begin [/View [/XYZ H.V]/Dest (cite.krasnogor_tutorial_2005) cvn /DEST pdfmark end"color push gray 0[19] color popN.KrasnogorandJ.Smith,/IAtutorialforcompetentmemeticalgorithms:model,/taxonomyG,anddesignissuesB,EvolutionaryComputation,IEEETransactionsonU9B(2005),no.5,474488.ps:SDict begin H.S endps:SDict begin 15.11993 H.A endYps:SDict begin [/View [/XYZ H.V]/Dest (cite.laporte_classical_2000) cvn /DEST pdfmark end"color push gray 0[20] color popG.ƈLaporte,)M.Gendreau,J-Y.Potvin,*andƇF.Semet,IClassicalƇandmodernheuristicsforthevehicleroutingproblemB,InternationalTransactionsinOperationalResearchU7B(2000),no.4-5,285300.ps:SDict begin H.S endps:SDict begin 15.11993 H.A endYps:SDict begin [/View [/XYZ H.V]/Dest (cite.laporte_classical_2002) cvn /DEST pdfmark end!color push gray 0[21] color popG.ULaporteandF.VSemet,IClassicalheuristicsforthecapacitatedVRPB,Thevehicleroutingproblem(2002),109128.ps:SDict begin H.S endps:SDict begin 15.11993 H.A endTps:SDict begin [/View [/XYZ H.V]/Dest (cite.lima_memetic_2004) cvn /DEST pdfmark endcolor push gray 0[22] color popC.M.R.R.GVLima,y+M.C.Goldbarg,andE.F.G.Goldbarg,IAG#memeticalgorithmfortheheterogeneouseetvehicleroutingproblemB,ElectronicNotesinDiscreteMathematicsU18B(2004),171176.dps:SDict begin H.S endps:SDict begin 15.11993 H.A endTps:SDict begin [/View [/XYZ H.V]/Dest (cite.lin_computer_1965) cvn /DEST pdfmark endcolor push gray 0[23] color popS.Lin,IComputersolutionsofthetravelingsalesmanproblemB,BellSystemTechnicalJournalU44B(1965),no.10,22452269.F(ps:SDict begin H.S endps:SDict begin 15.11993 H.A endUps:SDict begin [/View [/XYZ H.V]/Dest (cite.mester_active_2005) cvn /DEST pdfmark end7color push gray 0[24] color popD.3uMester3tandO.Brysy,`QIActiveguidedevolutionstrategiesforlarge-scalevehicleroutingproblemswithtimewindowsB,Computers&OperationsResearchU32B(2005),no.6,15931614.ps:SDict begin H.S endps:SDict begin 15.11993 H.A endWps:SDict begin [/View [/XYZ H.V]/Dest (cite.mole_sequential_1976) cvn /DEST pdfmark end"color push gray 0[25] color popR.H.MoleandS.R.Jameson,/IAsequentialRoute-BuildingalgorithmemployingageneralisedsavingscriterionB,OperationalResearchQuarterly(1970-1977)U27B(1976),no.2,503511.ps:SDict begin H.S endps:SDict begin 15.11993 H.A endYps:SDict begin [/View [/XYZ H.V]/Dest (cite.moscato_evolution_1989) cvn /DEST pdfmark end!color push gray 0[26] color popP.ϳMoscato,IOnϲevolution,search,optimization,geneticalgorithmsϳandmartialarts:TowardsmemeticalgorithmsB,CaltechConcurrentComputationProgram,C3PReportU826B(1989),1989.t>ps:SDict begin H.S endps:SDict begin 15.11993 H.A endSps:SDict begin [/View [/XYZ H.V]/Dest (cite.nagata_edge_2007) cvn /DEST pdfmark endcolor push gray 0[27] color popY.8Nagata,FIEdge8assemblycrossoverforthecapacitatedvehicleroutingproblemB,FEvolutionary8Compu-tationinCombinatorialOptimization(2007),142153.t>ps:SDict begin H.S endps:SDict begin 15.11993 H.A endSps:SDict begin [/View [/XYZ H.V]/Dest (cite.nagata_edge_2009) cvn /DEST pdfmark endcolor push gray 0[28] color popY.NagataandO.Brysy,OIEdgeassembly-basedmemeticalgorithmforthecapacitatedvehicleroutingproblemB,NetworksU54B(2009),no.4,205215.dps:SDict begin H.S endps:SDict begin 15.11993 H.A endWps:SDict begin [/View [/XYZ H.V]/Dest (cite.nagata_powerful_2009) cvn /DEST pdfmark endcolor push gray 0[29] color popff63,{8IAHpowerfulHrouteHminimizationheuristicforthevehicleroutingproblemwithHtimewindowsB,OperationsResearchLettersU37B(2009),no.5,333338.Pcolor push gray 0ւE20 color pop?[ps:SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if endOOps:SDict begin H.S endps:SDict begin H.R endEps:SDict begin [/View [/XYZ H.V]/Dest (page.21) cvn /DEST pdfmark end15\XPcolor push gray 0 color pop਍PzXps:SDict begin H.S endps:SDict begin 15.11993 H.A end\ps:SDict begin [/View [/XYZ H.V]/Dest (cite.nagata_penalty-based_2010) cvn /DEST pdfmark end color push gray 0B[30] color popY.Nagata, O.Brysy,andW.Dullaert,IApenalty-basededgeassemblymemeticalgorithmforthevehicleroutingproblemwithtimewindowsB,ؕComputers&OperationsResearchU37B(2010),ؕno.4,724737.Jps:SDict begin H.S endps:SDict begin 15.11993 H.A endSps:SDict begin [/View [/XYZ H.V]/Dest (cite.nagata_edge_1997) cvn /DEST pdfmark endcolor push gray 0[31] color popY.NagataandS.Kobayashi,5IEdgeassemblycrossover:<A]high-powergeneticalgorithmforthetrav-elinggsalesmanproblemB,ProceedingsgofthegSeventhInternationalConferenceonGeneticAlgo-rithms,MichiganStateUniversity,EastLansing,MI,July19-23,1997,1997,pp.450457.ps:SDict begin H.S endps:SDict begin 15.11993 H.A endTps:SDict begin [/View [/XYZ H.V]/Dest (cite.oliver_study_1987) cvn /DEST pdfmark end_ۍcolor push gray 0[32] color popI.dM.dOliverB,D.J.Smith,andJ.R.C.Holland,IAdstudyofpermutationcrossoveroperatorsonthetravellingCsalesmanproblemB,GeneticAlgorithmsandTheirApplications:hProceedingsofthe2ndInternationalConferenceonGeneticAlgorithms.LawrenceErlbaumAssociates,ׁHilladale,׀NJ,1987.ps:SDict begin H.S endps:SDict begin 15.11993 H.A end[ps:SDict begin [/View [/XYZ H.V]/Dest (cite.ong_meta-lamarckian_2004) cvn /DEST pdfmark endcolor push gray 0[33] color popY.SװOngandA.JׯKeane,IMeta-LamarckianlearninginmemeticalgorithmsB,EvolutionaryCompu-tation,IEEETransactionsonU8B(2004),no.2,99110.+_ps:SDict begin H.S endps:SDict begin 15.11993 H.A endZps:SDict begin [/View [/XYZ H.V]/Dest (cite.ong_classification_2006) cvn /DEST pdfmark endscolor push gray 0[34] color popY-S.FOng,3VM-H.Lim,N.Zhu,3WandEK-W.Wong,3WIClassicationEofadaptivememeticalgorithms:#acomparativefstudyB,?Systems,@Man,andCybernetics,PartB:Cybernetics,IEEEbTransactionsonU36B(2006),no.1,141152.ps:SDict begin H.S endps:SDict begin 15.11993 H.A endTps:SDict begin [/View [/XYZ H.V]/Dest (cite.or_traveling_1976) cvn /DEST pdfmark endscolor push gray 0[35] color popI.]LOrB,d=ITravelingsalesman-typecombinatorialproblems]KandtheirrelationtothelogisticsofregionalbloodbankingB,NorthwesternUniversity,1976.ps:SDict begin H.S endps:SDict begin 15.11993 H.A endXps:SDict begin [/View [/XYZ H.V]/Dest (cite.pisinger_general_2007) cvn /DEST pdfmark end_ۍcolor push gray 0[36] color popDavid@Pisinger@andStefanRopke,pIA@sgeneralheuristicforvehicleroutingproblemsB,pComputers&OperationsResearchU34B(2007),no.8,24032435.ps:SDict begin H.S endps:SDict begin 15.11993 H.A endUps:SDict begin [/View [/XYZ H.V]/Dest (cite.potvin_review_2009) cvn /DEST pdfmark end_ۍcolor push gray 0[37] color popJ-Y.Potvin,+IAreviewofbio-inspiredalgorithmsforvehicleroutingB,+Bio-inspiredAlgorithmsfortheVehicleRoutingProblem(2009),134.ps:SDict begin H.S endps:SDict begin 15.11993 H.A endTps:SDict begin [/View [/XYZ H.V]/Dest (cite.prins_simple_2004) cvn /DEST pdfmark end_ۍcolor push gray 0[38] color popC.Prins,IAsimpleandeectiveevolutionaryalgorithmforthevehicleroutingproblemB,Computers&OperationsResearchU31B(2004),no.12,19852002.ps:SDict begin H.S endps:SDict begin 15.11993 H.A endQps:SDict begin [/View [/XYZ H.V]/Dest (cite.prins_two_2009) cvn /DEST pdfmark end_ۍcolor push gray 0[39] color popff63,wITwouimemeticalgorithmsforheterogeneousujeetvehicleroutingproblemsB,wEngineeringAppli-cationsofArticialIntelligenceU22B(2009),no.6,916928.ps:SDict begin H.S endps:SDict begin 15.11993 H.A endgps:SDict begin [/View [/XYZ H.V]/Dest (cite.rechenberg_evolutionsstrategie:_1973) cvn /DEST pdfmark end_ۍcolor push gray 0[40] color popI.tRechenberg,IEvolutionsstrategie:LOptimierungtechnischersystemesnachprinzipienderbiologischenevolutionB,Ph.D.thesis,1973.ps:SDict begin H.S endps:SDict begin 15.11993 H.A endZps:SDict begin [/View [/XYZ H.V]/Dest (cite.taillard_heuristic_1996) cvn /DEST pdfmark endcolor push gray 0[41] color popE.D.Taillard,IAheuristiccolumngenerationmethodfortheheterogeneouseetVRPB,CiteseerB,1996.Ֆps:SDict begin H.S endps:SDict begin 15.11993 H.A end\ps:SDict begin [/View [/XYZ H.V]/Dest (cite.talbi_metaheuristics_2009) cvn /DEST pdfmark endo<color push gray 0[42] color popEl-GhazaliTalbi,IMetaheuristicsB,JohnWs8iley&Sons,Inc.,Hoboken,NJ,USA,2009.ps:SDict begin H.S endps:SDict begin 15.11993 H.A endYps:SDict begin [/View [/XYZ H.V]/Dest (cite.thangiah_adaptive_1995) cvn /DEST pdfmark end_ۍcolor push gray 0[43] color popS.)Thangiah,4IAn*adaptiveclusteringmethodusingageometricshapeforvehicleroutingproblems)withtimewindowsB,8$Proceedingsofthe6thInternationalConferenceonGeneticAlgorithms,8$1995,p.536545.ps:SDict begin H.S endps:SDict begin 15.11993 H.A endXps:SDict begin [/View [/XYZ H.V]/Dest (cite.thangiah_genetic_1991) cvn /DEST pdfmark end_ۍcolor push gray 0[44] color popS.3Thangiah,K.Nygard,and4P.Juell,IAgeneticalgorithmsystem4forvehicleroutingwithtimewin-dowsB,zProceedingaofSeventhIEEEaConferenceonArticialIntelligenceApplications,zFlorida,1991,p.322328.ps:SDict begin H.S endps:SDict begin 15.11993 H.A endRps:SDict begin [/View [/XYZ H.V]/Dest (cite.toth_exact_1998) cvn /DEST pdfmark end_ۍcolor push gray 0[45] color popPaoloTothandDanieleVs8igo,IExactsolutionofthevehicleroutingproblemB,Fleetmanagementandlogistics(1998),131.ps:SDict begin H.S endps:SDict begin 15.11993 H.A endTps:SDict begin [/View [/XYZ H.V]/Dest (cite.toth_vehicle_2002) cvn /DEST pdfmark end_ۍcolor push gray 0[46] color popff63,IThevehicleroutingproblemB,SIAM,2002.Pcolor push gray 0ւE21 color pop]~;s>UU,
6870
6971
70pplb8tQE(
71pplr8tP,
72pplb8tTE(
73pplr8tS,
7274
73pplb8tJE(
74pplr8tIk
75pplrc8tHY
75pplb8tME(
76pplr8tLk
77pplrc8tIY
7678
77pplri8tGE(
78pplr8tAE(
79pplr8t@E(
79pplri8tHE(
80pplr8tBE(
8081
81pplr8t63
82zplmr7m53
83zplmr7m1z
82pplr8t83
83zplmr7m73
84zplmr7m3z
843853
85pplr7t0Y
86pplr7t1E(
87pplr8t0Y
86pplri8t/,88pplri8t/,
87ff89ff
88pplb8t.!", 90pplb8t.!",
107pplb8tE( 107pplb8tE(
108pplr8t !",108pplr8t !",
109109
110cmsy10k
110cmsy10z

bsc.log

1This is pdfTeX, Version 3.1415926-1.40.11 (MiKTeX 2.9) (preloaded format=latex 2011.3.5) 6 MAR 2011 18:34
1This is pdfTeX, Version 3.1415926-1.40.11 (MiKTeX 2.9) (preloaded format=latex 2011.3.8) 8 MAR 2011 20:53
2entering extended mode2entering extended mode
3**bsc3**bsc
4(D:\Study\bsc\bsc.tex4(D:\Study\bsc\bsc.tex
445\c@ALC@depth=\count158445\c@ALC@depth=\count158
446\ALC@tlm=\skip50446\ALC@tlm=\skip50
447\algorithmicindent=\skip51447\algorithmicindent=\skip51
448) (D:\miktexx\tex\latex\ams\math\amsmath.sty
449Package: amsmath 2000/07/18 v2.13 AMS math features
450\@mathmargin=\skip52
451For additional information on amsmath, use the `?' option.
452(D:\miktexx\tex\latex\ams\math\amstext.sty
453Package: amstext 2000/06/29 v2.01
454(D:\miktexx\tex\latex\ams\math\amsgen.sty
455File: amsgen.sty 1999/11/30 v2.0
456\@emptytoks=\toks32
457\ex@=\dimen163
458)) (D:\miktexx\tex\latex\ams\math\amsbsy.sty
459Package: amsbsy 1999/11/29 v1.2d
460\pmbraise@=\dimen164
461) (D:\miktexx\tex\latex\ams\math\amsopn.sty
462Package: amsopn 1999/12/14 v2.01 operator names
463)
464\inf@bad=\count159
465LaTeX Info: Redefining \frac on input line 211.
466\uproot@=\count160
467\leftroot@=\count161
468LaTeX Info: Redefining \overline on input line 307.
469\classnum@=\count162
470\DOTSCASE@=\count163
471LaTeX Info: Redefining \ldots on input line 379.
472LaTeX Info: Redefining \dots on input line 382.
473LaTeX Info: Redefining \cdots on input line 467.
474\Mathstrutbox@=\box36
475\strutbox@=\box37
476\big@size=\dimen165
477LaTeX Font Info: Redeclaring font encoding OML on input line 567.
478LaTeX Font Info: Redeclaring font encoding OMS on input line 568.
479\macc@depth=\count164
480\c@MaxMatrixCols=\count165
481\dotsspace@=\muskip11
482\c@parentequation=\count166
483\dspbrk@lvl=\count167
484\tag@help=\toks33
485\row@=\count168
486\column@=\count169
487\maxfields@=\count170
488\andhelp@=\toks34
489\eqnshift@=\dimen166
490\alignsep@=\dimen167
491\tagshift@=\dimen168
492\tagwidth@=\dimen169
493\totwidth@=\dimen170
494\lineht@=\dimen171
495\@envbody=\toks35
496\multlinegap=\skip53
497\multlinetaggap=\skip54
498\mathdisplay@stack=\toks36
499LaTeX Info: Redefining \[ on input line 2666.
500LaTeX Info: Redefining \] on input line 2667.
448) (D:\Study\bsc\bsc.aux)501) (D:\Study\bsc\bsc.aux)
449LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 30.502LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 30.
450LaTeX Font Info: ... okay on input line 30.503LaTeX Font Info: ... okay on input line 30.
517(D:\miktexx\tex\latex\psnfss\t1ppl.fd517(D:\miktexx\tex\latex\psnfss\t1ppl.fd
518File: t1ppl.fd 2001/06/04 font definitions for T1/ppl.518File: t1ppl.fd 2001/06/04 font definitions for T1/ppl.
519) ABD: EveryShipout initializing macros519) ABD: EveryShipout initializing macros
520\big@size=\dimen163
521*geometry* driver: auto-detecting520*geometry* driver: auto-detecting
522*geometry* detected driver: dvips521*geometry* detected driver: dvips
523*geometry* verbose mode - [ preamble ] result:522*geometry* verbose mode - [ preamble ] result:
551* \@reversemarginfalse551* \@reversemarginfalse
552* (1in=72.27pt=25.4mm, 1cm=28.453pt)552* (1in=72.27pt=25.4mm, 1cm=28.453pt)
553553
554\AtBeginShipoutBox=\box36
554\AtBeginShipoutBox=\box38
555Package hyperref Info: Link coloring OFF on input line 30.555Package hyperref Info: Link coloring OFF on input line 30.
556(D:\miktexx\tex\latex\hyperref\nameref.sty556(D:\miktexx\tex\latex\hyperref\nameref.sty
557Package: nameref 2010/04/30 v2.40 Cross-referencing by name of section557Package: nameref 2010/04/30 v2.40 Cross-referencing by name of section
560) (D:\miktexx\tex\generic\oberdiek\gettitlestring.sty560) (D:\miktexx\tex\generic\oberdiek\gettitlestring.sty
561Package: gettitlestring 2009/12/18 v1.3 Cleanup title references (HO)561Package: gettitlestring 2009/12/18 v1.3 Cleanup title references (HO)
562)562)
563\c@section@level=\count159
563\c@section@level=\count171
564)564)
565LaTeX Info: Redefining \ref on input line 30.565LaTeX Info: Redefining \ref on input line 30.
566LaTeX Info: Redefining \pageref on input line 30.566LaTeX Info: Redefining \pageref on input line 30.
598File: logo_jyu.eps Graphic file (type eps)598File: logo_jyu.eps Graphic file (type eps)
599<logo_jyu.eps> [1599<logo_jyu.eps> [1
600600
601] [1]
601]
602Overfull \hbox (12.43127pt too wide) in paragraph at lines 30--30
603\T1/ppl/m/n/12 ivist evoluu-tioal-go-rit-meja tutkien. Evoluu-tioal-go-rit-mit
604 sovelta-vat simu-loitua evoluu-
605 []
606
607[1]
602LaTeX Font Info: Try loading font information for OMS+ppl on input line 30.608LaTeX Font Info: Try loading font information for OMS+ppl on input line 30.
603(D:\miktexx\tex\latex\psnfss\omsppl.fd609(D:\miktexx\tex\latex\psnfss\omsppl.fd
604File: omsppl.fd 610File: omsppl.fd
620620
621] [1621] [1
622622
623] (D:\Study\bsc\figures/vrp.tex) [2] [3] [4] [5] [6] [7] (D:\Study\bsc\figures/
624evolutionaryalgorithm.tex) [8] [9] (D:\Study\bsc\figures/genotypevsphenotype.te
625x) [10] [11] [12] [13]
626Underfull \hbox (badness 4492) in paragraph at lines 319--320
623]
624
625LaTeX Warning: Reference `hea' on page 2 undefined on input line 43.
626
627(D:\Study\bsc\figures/vrp.tex) [2] [3] [4]
628
629LaTeX Warning: Reference `classicalheuristics' on page 5 undefined on input lin
630e 109.
631
632
633Overfull \hbox (3.94872pt too wide) in paragraph at lines 111--112
634\T1/ppl/m/n/12 heuris-tics, im-prove-ment heuris-tics and meta-heuris-tics. Of
635these, con-struc-tion heuris-
636 []
637
638[5] [6] (D:\miktexx\tex\latex\tools\.tex File ignored) [7] [8] (D:\Study\bsc\fi
639gures/evolutionaryalgorithm.tex)
640
641LaTeX Warning: Reference `construction' on page 9 undefined on input line 212.
642
643[9] (D:\Study\bsc\figures/genotypevsphenotype.tex) [10] [11] [12] [13] [14] [15
644]
645Underfull \hbox (badness 4492) in paragraph at lines 379--380
627[]\T1/ppl/m/n/12 The EAX for the CVRP in [[][][][]] found the best known so-lu-646[]\T1/ppl/m/n/12 The EAX for the CVRP in [[][][][]] found the best known so-lu-
628tions for647tions for
629 []648 []
630649
631[14] [15] [16]
650[16]
632LaTeX Font Info: Font shape `T1/ppl/bx/n' in size <8> not available651LaTeX Font Info: Font shape `T1/ppl/bx/n' in size <8> not available
633(Font) Font shape `T1/ppl/b/n' tried instead on input line 369.
652(Font) Font shape `T1/ppl/b/n' tried instead on input line 388.
634[17] [18] (D:\Study\bsc\bsc.bbl653[17] [18] (D:\Study\bsc\bsc.bbl
635LaTeX Font Info: Font shape `T1/ppl/bx/n' in size <10> not available654LaTeX Font Info: Font shape `T1/ppl/bx/n' in size <10> not available
636(Font) Font shape `T1/ppl/b/n' tried instead on input line 8.655(Font) Font shape `T1/ppl/b/n' tried instead on input line 8.
637LaTeX Font Info: Font shape `OMS/ppl/m/n' in size <10> not available656LaTeX Font Info: Font shape `OMS/ppl/m/n' in size <10> not available
638(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 44.657(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 44.
639[19] [20]) [21]658[19] [20]) [21]
640Package atveryend Info: Empty hook `BeforeClearDocument' on input line 403.
641Package atveryend Info: Empty hook `AfterLastShipout' on input line 403.
659Package atveryend Info: Empty hook `BeforeClearDocument' on input line 424.
660Package atveryend Info: Empty hook `AfterLastShipout' on input line 424.
642(D:\Study\bsc\bsc.aux)661(D:\Study\bsc\bsc.aux)
643Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 403.
662Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 424.
644Package rerunfilecheck Info: File `bsc.out' has not changed.663Package rerunfilecheck Info: File `bsc.out' has not changed.
645(rerunfilecheck) Checksum: 673266545164822C767F118E203E6981;1469.
664(rerunfilecheck) Checksum: 28AD3E4F3644C9DDD2A2E3AA96A04310;1213.
665
666LaTeX Warning: There were undefined references.
667
646 ) 668 )
647Here is how much of TeX's memory you used:669Here is how much of TeX's memory you used:
648 10418 strings out of 494020
649 150349 string characters out of 3153940
650 350756 words of memory out of 3000000
651 13473 multiletter control sequences out of 15000+200000
652 38876 words of font info for 83 fonts, out of 3000000 for 9000
670 11001 strings out of 494020
671 156783 string characters out of 3153940
672 360628 words of memory out of 3000000
673 14037 multiletter control sequences out of 15000+200000
674 41487 words of font info for 86 fonts, out of 3000000 for 9000
653 714 hyphenation exceptions out of 8191675 714 hyphenation exceptions out of 8191
654 38i,15n,51p,1249b,622s stack positions out of 5000i,500n,10000p,200000b,50000s
676 38i,15n,51p,1278b,626s stack positions out of 5000i,500n,10000p,200000b,50000s
655677
656Output written on bsc.dvi (25 pages, 224960 bytes).
678Output written on bsc.dvi (25 pages, 228680 bytes).

bsc.out

1\BOOKMARK [1][]{section.1}{1 Introduction}{}% 11\BOOKMARK [1][]{section.1}{1 Introduction}{}% 1
2\BOOKMARK [1][]{section.2}{2 The Vehicle Routing Problem}{}% 22\BOOKMARK [1][]{section.2}{2 The Vehicle Routing Problem}{}% 2
3\BOOKMARK [2][]{subsection.2.1}{2.1 The Capacitated Vehicle Routing Problem}{section.2}% 3
4\BOOKMARK [2][]{subsection.2.2}{2.2 The Vehicle Routing Problem with Time Windows}{section.2}% 4
5\BOOKMARK [1][]{section.3}{3 Strategies for the vehicle routing problem}{}% 5
6\BOOKMARK [2][]{subsection.3.1}{3.1 Heuristic approaches}{section.3}% 6
7\BOOKMARK [2][]{subsection.3.2}{3.2 Classical heuristics}{section.3}% 7
8\BOOKMARK [2][]{subsection.3.3}{3.3 Towards metaheuristics}{section.3}% 8
9\BOOKMARK [1][]{section.4}{4 Evolutionary algorithms}{}% 9
10\BOOKMARK [2][]{subsection.4.1}{4.1 The genetic algorithm}{section.4}% 10
11\BOOKMARK [2][]{subsection.4.2}{4.2 Evolutionary strategies}{section.4}% 11
12\BOOKMARK [2][]{subsection.4.3}{4.3 Genetic algorithms in the VRP}{section.4}% 12
13\BOOKMARK [2][]{subsection.4.4}{4.4 Crossover operators}{section.4}% 13
14\BOOKMARK [2][]{subsection.4.5}{4.5 Edge-Assembly Crossover}{section.4}% 14
15\BOOKMARK [1][]{section.5}{5 Hybrid evolutionary algorithms}{}% 15
16\BOOKMARK [2][]{subsection.5.1}{5.1 Out of the local optimum}{section.5}% 16
17\BOOKMARK [2][]{subsection.5.2}{5.2 The Memetic Algorithm}{section.5}% 17
18\BOOKMARK [2][]{subsection.5.3}{5.3 Memetic algorithms in the VRP}{section.5}% 18
19\BOOKMARK [1][]{section.6}{6 Conclusion and further research}{}% 19
20\BOOKMARK [1][]{section.7}{7 References}{}% 20
3\BOOKMARK [1][]{section.3}{3 Strategies for the Vehicle Routing Problem}{}% 3
4\BOOKMARK [2][]{subsection.3.1}{3.1 Heuristics}{section.3}% 4
5\BOOKMARK [2][]{subsection.3.2}{3.2 Metaheuristics}{section.3}% 5
6\BOOKMARK [1][]{section.4}{4 Evolutionary Algorithms}{}% 6
7\BOOKMARK [2][]{subsection.4.1}{4.1 Background and Principles of Evolutionary Algorithms}{section.4}% 7
8\BOOKMARK [2][]{subsection.4.2}{4.2 The Genetic Algorithm}{section.4}% 8
9\BOOKMARK [2][]{subsection.4.3}{4.3 Evolutionary Strategies}{section.4}% 9
10\BOOKMARK [2][]{subsection.4.4}{4.4 Discussion}{section.4}% 10
11\BOOKMARK [2][]{subsection.4.5}{4.5 The Memetic Algorithm}{section.4}% 11
12\BOOKMARK [1][]{section.5}{5 Genetic and Memetic Algorithms in the VRP}{}% 12
13\BOOKMARK [2][]{subsection.5.1}{5.1 Encoding Routing Problems}{section.5}% 13
14\BOOKMARK [2][]{subsection.5.2}{5.2 Recombination Procedures}{section.5}% 14
15\BOOKMARK [2][]{subsection.5.3}{5.3 Recent Results from Literature}{section.5}% 15
16\BOOKMARK [1][]{section.6}{6 Conclusion and Further Research}{}% 16
17\BOOKMARK [1][]{section.7}{7 References}{}% 17

bsc.pdf

1%PDF-1.41%PDF-1.4
2%쏢2%쏢
327 0 obj
4<</Length 28 0 R/Filter /FlateDecode>>
324 0 obj
4<</Length 25 0 R/Filter /FlateDecode>>
5stream5stream
6xZێd|7w[㪬bs1,`c$`͂<?
7Ȫ>gv,L%+322|w[<3xKWO>}u5<wx~F6JW'_%-볼 +5]>ZkZkFj/hR=eZ+ /kG:omr}8o6%&Ϣ󳖷nw]AJ#kc {p=he#u^u͝VcʴO0ݮ:۾:l{}
8_U.mf5-b2떰k }1K^U1:gKN6QmU _}южhgl&e._ &Z*=J筇uzݡ.s׺+Z30YV]ak1T`wKǝ_l5Ȇ<ctθ o&D85ѕ]Jc(qvnuT<m%щ2'䭍lVZmЃ[qn%GB'r</^*@}W7i4RvWK[#=2T'G;xѰGSNg0G
9GH bo[HbZ:c~Gi-qφ%E#66H2t!ehτ3`eH![Vy:rleNH 4qPp>G Y3`Cj~e?o6Gh
10Erjvh[k3gYD"o0R@$w} 4 Uv7?Pil\y.d1`Sr]rW*S"kHkʙ΂)$w8Z HLրPLLT)(@5'ZF#o$M4$ hu h=uF1th3pg&FGH ho<# :(n.փ\Hy@Bs9eو#0fHE*Z#[!{0!w)&Ex@pFB]Lr
11@Z
12gYv
13X(*oWx%WCq&4- >O_a 1bqXmpURlB0s;Ke<4h(>n(7ʈfEND"P0!L@{tB"U)ЃCF#"TQ{K4<$'_ (4` d!J3\:#rLK? !ۈdV/6SL#P#B[\uMBj&ljR<6H/%cD€f!jaIFJI`Wa@$f<E2# $B&`&G&-.%iy"98. \,2b,C`#Ӓ8PԆ3Z`B={1.v漏=+fV]g頰Or^bBSGZZ.2*]k?gV6 / 05O\kdT<n9; avU;r{i/&kB#ji;rDL)Pw]ƉqXXh9343rb%x?r;r*"yk#PJ߉ʬ8yL!*;s,pOpuF;cħX׊5lbz +dgRS`1|{R^~PM~jE]ncbDGPJMIQՊB0b S;drS(FB`NfRy
14pę<`b@A.X%' IO4dgVKrS?q _Q<oH\dZafa`r'j컀>b_#14s_;y"~3k4
15dE&44W2 '(/!z5kB9첝pQmJ9:6Q;K%,0Ϭ[si<yqc3~n; 1L|nngS؂9B_U4I8y(f˞!tP&ҚVdM;៞1'PNUV?rId2DSjTQ arA%0(BdA }n겚:V눜޼X} yDDdB#ܫxm޲uó=-ؔӄʩ1 tfmny̲wH.D'*s>jqjKg,49_ D͑]Y l1eϒ!r~)=wtV]#TSpMAE rvd0ZL0y)r89.t,*.ci>GVuu{ܫkÜkIDM{eK9앒R~|~$n/Qqb @ 4[S@ |3EHATDBBI-YԚQ gΖ(FqRtT0mUJIU <wkFRoV.W Z\lxHPMٙVq'zLI ιj 鐵EScAuNnNˊ]s@e2ixNM}+''MYUcBo E5I+]Q'<$3dOZtj+J"NfSr.Z(a͵l& e\#Aa(׈,f$n5ŝleqfM)lcVJ=6S̛jy X-Bie'Vf f/*Dvǀ<ҡڰЊH,oVdZ0#מoN,p%^#U9_+F'$wu~E/uY*?s׳ꦴScճx`s6G]^=t{TTՇy벞`q4 wxL
16chSnH,nx1: 9HjOER.gi/[CN]QU=ijHHВ[/Pl~< mĔqš޼`Rؕ}#ڼiL=yLoj+2pCU *׾1$UtޞS5Y/6K.˓QJ?07W)]rcE rl+T; .(KV8éK< f{HRudr=a>:G WgM 73҆FhU6%mLM剻W
17ȯ9u':v9?Nso/9DDO?T-/-N|ʩ-aW7 ?~A'PI%/\^Z?#逷l
18k'vK_3/X.v?'ϼ>֔Oz*~~ez6LxNy,;l|{֩;ԗN֢OaAJ+`'8 Ïȿkx1
19dkM:>l[Ca+#b7ˏ~?6}?}_~~g8h`endstream
6xZٮ]G}_q8McH)x q" D)} d>էUϷKë>Kpy_}{{xuy9{K۬5]yzƥƼvy[O6SmjpJ>o3T_)v'z0zirιy1>mz_vҷkNԶ.OzB ߱w)h>:2б[5l}-w :d4d,eq\iO|}]ڤ&p RX"f8 m>al#w:F<i[c c]3c;4Y7mQ_O;8ψLanw-6{&,u1]AL\Gqh'a 36s+Z30YVK>[kX<=V.ِkfn1- O]jPbm_xjnsaKsĚvpB!f_3u֭[hѾl3P~s|ō"~?-k8nh^?OykqG 5qϤ5/}<.aK0,Wl[l!f~2ѷ qLź|y@S L7./29;T̴%4ls9,F SsftĜSALBeRJͭh@9b2ux!Njg%[gKPV MJ.[K }+s9SaZ1L%K*EYlHh$%$5m{$?Pi8Ss?0]g/9@V*bL!): ̒|ai @D7 X"6C1/3Ql?˻ةʘ4҆2@ҹ `} hֈ\y8sJWƉ0cv4R%:./H[1wO^a\ #9ưX-{$C="T
7S'۾E!{2!).E>qNGB]`Or
8@ږ*{Yv
9ت(5{x!7CqIZ҉7GxcPN߭영-dj)-Vfnyz6;jJ[rhV`H$R 5;7 (@q"NİxI?z0je4)Ye(AMqK%sqzǂ^k.id!J3\ݚG%zRHH"9%Smɠܘ5)ZZ"-yh t[4Bg$B -pW 3 r_Ɇ%'z-ڟ2H6x`% t!e0s#<ƃK}a.}:TrC`#.; W{)b\̘yk3z-W,.Aa M3 ]e(U]6ɟѹ
10fᅁMb`ݕ_#ɘ3 ,@>C{ 30ᕍ2,1dM_@^=qla e
11Yo 8c+++ gfW.+ )G鐻¥'FvΌVf6\'B骘9OLGmړ04[bMF\+WK9W* +ΤeSNHלrrI4 ЯR(+4C?+Z{d;¬F4Ol^c1dOPRÁfQjk=8`ѥ+<`b@A X%'{Dp)` ۛpIW0 'M#*}zLF
12=+S )#Zg}ı ĊΡ1ryҮ ȊLh,)d;(/!FY5kW!LQUyMDsM]R5L+kVqsnL(e:.o2t^comp4vABIϓۜXxpH>I5 KKvQZsH@~UќlGѦσQ㹮8CAJkɚQO:?=OcV'P5V?rIk;Cpr18uFMm7UX`O5Bز\PI. ka}W F;}n>fY:=DfzӁԱwtKH! Ui
13U`:a_յy/1 g\PL*&a_r jIdV|Eʶ,~lMbOT2}Ԋ ŧ7!X/3Xh&so DȮe;w&y.Y@{ȡP@?FsH>JmdsNZC ETSvYVSJ&fQIe,:VKsaSٸt{{}^ :Uk"RRʏo>Oovsa!֮fP5lBJr]9(tQDE$D)5.]{`Ix cl" oV떣ӱR%¬UJj<ȣZgVZn!ugkyu@I<lHPNy2O[۳4u1Ag&C$@p.mflZZt,ȼ[q(u- 9GLz% ؉q dEqxysQXlVh-갋B\]5ꂟCNN<fWNmuwC <ԳF-ʟy8|֚d.e](LŪD=[S9,]62-X'U9RPesJ򡀅Z9s zP^|ٛSrpb5-ljؾrx6ylu˧zFjB+""/+BzQhSB|wb(&չőȪ[VAZjhr`7,Fm%3{ãB<R{=N.g/5yeJEU}$s-뚏GY8kfRSLC$Wl<&ne:ƷvQ$`qHYٚr2|wK%VVWtZEV%9V"uB϶_ٽ< ϭ%)cWaoT0
14[2hɇdʼ{h騶";]Ƞqk-HI/}9kٖ 6.%W=(u{$U~/
151Tkj6:NI+[b;0uv_^w3bVX?lR:\n׵4`~Xaa_j(?sMJ8X\JjUy(s6.+O_)_B#_s)u~R?dD`;~5"~OR^?Ǵ8 #p[o ?~B$ӐVnԹuH:mЁDOt}x;M_3/cY7a_;׏޺Ea> ϩ78鮿4omOZZ{UXY>&*)\4IrfPH.>(⧗5<]=
16w>~Pr/6/O[Ga+#_14dMc=~ҟ`/kendstream
20endobj17endobj
2128 0 obj
223744
1825 0 obj
193747
23endobj20endobj
2437 0 obj
25<</Length 38 0 R/Filter /FlateDecode>>
2134 0 obj
22<</Length 35 0 R/Filter /FlateDecode>>
26stream23stream
27x\KqБbn` o'KCZu|XqI.Er$-Z7LUݳcʱ5UxuQw+SóNwo>>[}T~击 <QKrN߽x|RZI.u Ňg}.I[Nߟբcp{=},mOݟtOę5ٺ%݋od
28֯fK\Ֆ)[-}>5_,ӯmߥ׸/aJxE%{}](}^.op^o;a4<o[9h겣ï,iBaVl?M8/x{|PZG5~@mI۠<l{J<2CUeZ 1{oʗ}ӻ}iu
29K>s}`7t-?@R$
30C&̋{g!vc]^/OF7i+,.M_;:=FʗaT%@3SzӲ-|SӶ=clz[>WR{%h*F]"SaܭG:U)F"D(&@(-
31TiI0npߩnjhrUVHK7?R)$&5{#,j#ޢq~E]J0UAؾF%)M fh>gevUdlBJ!̍b( o}d;aWmGk\_)a?eukrEth2rcs^81@gV5Y=dfq_V0a^vD-׉JgزP-qOm-_|\1]~%C]0u~Qzn pԣ~-5AoH۶,B&v@K(:x!h
32J%rFpz2w~hMYޠӟ2l
33IAa%upMN;~oXEWw*p޽`;IT9N$=n$c؈G %lDBԃ*):ԛP(Nº60`@Wgg hHfSeg?RZOu)SU
34v kFP^<`3.PaTkOF֠: 0% aecOyۻz`d2.CDϴ
35s=
36r] 20v7Mz-Juc#,[;gz t@i^E_ʎ dz-Q25:\OD|
37f/gAg;>|5&SYtZԊea
38N޾jXs$^VK\hh~P4đ h@ۦ'tFn(MY)*RVo:[MzJf6h̢>hElFYP\dUvD샘GTA$&\ԠfU!L
39Ψn(ea4u`yW&Er8iYt\ z4؉)snt}W [
40\#ܦbmD'愼kڔ`1`+ 4n:R%d Rkz$2Q^ hmMBjE~FL[0ӾrRUF% ɤk1$,y 7V7dԖC]rC~9q P7ps) ִ$)ȒDZZg2 ASVN>7w<.=ҽ蔄 +$NHr!8TAm &ܦ\R `'i^VhL~zYҲN4:2^sAGh]o*xuTFbf`R Nc?%Z&I2.OyS%=$=.TB=,N"zS0Vh2%uq*jr#klr3\\k!Exٻk@O8*)]r1`s@K3J(V@ 34PU|QKuUCEU9z"{.YuHtѰ z!_=!4E,(ۘ&FjS8
41JC[ZBUwEiaxM=5GhY Eѭ*c̳ + c#"ݰka1zS9`*uճI uT4E<HuOs7AJsDr&@~>
42>/3T9lGM+f Ȩ$n=(}nHN1=kt[Hi!ō !,?1d7LAgj9IvLx32_]%5:qcyba^i֟zMOurKr$3mlc,1{I0ts!gdU
43*b*UD8N۹>0HY@گI5+̕Y &P
44lK#cG_8­j9n`YQāpfT#9+2DQ4a.:T->Ie[4AJNl]n@o@&~ꐨ6:.2<7ܲ Ҫ@n0~b_ *>H,}źE&ڦP)&,WaQ!U Ij&RWU0_RhFyM( w3ϰ%x«6BL`jhH|EL&Ӟ*6pp_*S!Q
45#INbv0C@bЩ ݧ <;*\kbƹ[J-=agġ5G{:4 qӢ"YtB0e|Cp&溠 11󽵭Q*
46g+!.9nB&١mmoP{Rs V9~^Bh}_}M_@pD99i[ZM U&0fފs1Chžkk{+IyڼL\9[E/;!4/<6H䰫i2I*+Tن|y*=f'mN`!LU1ajI[)؍?`u":l<y._\)tP5B"!(hґLL`I+[.%N)ɀ1!Tbʲ'3dɴrty\^' ]l'R G`ERs׉lvz9ڸ:pfHbk$z2@FRU-ObDYFVjU"^ӊЉnMYawI3k$߆>T}>?֭֜Oӭ\w&GX/?"#/jsKڕv^ڭM<ǥ;vg4 *+>̹6j]Tr"森;RӏWӲxPy5(DR7ҷ˘ofJ2(NPvҒԇI$#G"}~(.=v %Q+
47o/Jc[;ʯINc7_<HxdrtdsC]
48_eFZes1<ASUWo tiR_ { V߫8^{!]ٱKԂdيhrE{ce,Nb~6{wRw52S̉c/g(~1a-n\ %|֨kzL35e@gBĎtѓHid]5!3a40x,ӯ[QNtm q{/_SyINVK5[6đ~kuD9tP.,(f#YmWۻdrcVvm$NGVƞ/*`吙%#e0h r@n z}. 7A."AKmi+j䢑 WiH^,bk\xG€kVWFZ鉢pZL|6!o̝U. 0Fnb8xc o<~dqi (wm{o=I׋#GHCaTBX~}Sh}Wҥ+++F3 aU4cZN=!3vx$#-jH;…$x}q<=bn7r G}g8j5صN]>W^7MhF<!w7If1HX]o"Y
49wR L.ڂ͔Hc& 9Y~M@9fD-AڜJA3dƚ9rcCD&"+hq#۔[Fr1mR ?Y&ΟsHȒ\õY)0 +Kݲj to [|XqxhD>_0ҨÁk˜'1;z]ʄhue! G )(eW5q<839FH\2_DE8Y]qo6SkT+oډOC^s0da$L$yR}Wn4V-OvzsDZN28#VkD-tK_eDy,~Mn׼ŗt>-檝y ps荷n= gJ5KS^KklF2YYb#@@m:<A~v%B.3c c`b[_ $Y݆:!|/םZչ%k.#c,T@* eܕbď;u
50et1F+%L߹Uqgvp}&6KsR\w4배=DNN2W3| O\*xZ[kEv: i+pnՀAIrPdMwڪo<cJ!7n#٫7*jUYH>jd_bCAendstream
24x\7bw*gI#iĊK(`ƱK &? /gȚnI3-c0+.}"n݌~_pG/o=}}V3fJۻ]Juinzߟ~|^d`Nܟdof%=ME? >Oǿyӊ3w?L\`eZy^}^CLs/?_K'^XOʇq5f=ƿ+&-?ׅyFqA󶕳Y'̶U{󦥤uuI
25|Kyaۛv5=ksa||V`3&V7*\g.y><|V>S^Ksذ<<L#X3`>70N&=0U*E 0d<Mb&5YY 4)mtﰸ5UZSޓ4+w+lCܦ(syHVզՀE^' >71{3)Z.F]"Ē׸+o̼3NUX6>Q%{&qݴNs#@rUVKSp ]+SH7I޷[Xbx174F. &+uT-Fa{K2*&'b=dh>gelU*#ŔbE* o}FbK3<QȒgJW◍9~E }et@wc#9rGedbp^8cQ'-Ksy-pܗף1l⒦,J%>&{wh6J_W)UEV6c .LλA=R3'Z[ݶe10ɵ, -BsSf< \9& ֳ񾾷ÂozGK<%kI1cVR71ᴓw6b Ϡǽ^ֽuZX Nzv tv1da#}BemlTIwBU [wNyX(*wv@C7CL] PX;`$w 0ޚJ5hXJ4ʖG'tˈj^{rqd;px/Hhd#xYb? nvɄ+}WPZ]v7Aշ3!/]_Vce9[YW;8`t0͢G,Rv,ggm$DIO,;p=Yz] 3+_քi vCy1xweiVG3c{4ooa;N½Rhh~P,đ HgOm- iWiMY)*R[MzJf6/ fq4PǢjKFYPRtUvDZCTA$5eƙgeAH Ιv,m1@AX hGo3^w|~cøHM60"b3p쁑[g+,gS3$TkN.*|0uZuRhLŴl)x Mx՘a\D;/$$_IKz%eI= 2!uP,^U '{de'>Ls80>yBBˁ7 FN[oºll5=;Pps &(7G/l$%Att YjvG6_ޠwhm -\x-BXM +ŸAK 106 F,jE+tk |`q`
26@R `vR1rż.M*xu\%YvBo rJUyo@'V"MD*JýUKYw-(,.C6`}R2c(o];tV$°S4:1\Y/Č8h ;Ŕ /UpĂݸ 2DٛRB96h&~e%f D6skE % c| lr(`5'6
27[@헕ڜ7 > ʰ}r>LTKOޞwa+G\>[W"Ζj^"w$&^;wYѣ6de2$g믇AU51!-g(8+5,7<!YmEܖl1z6M f&
289B*DA^lfP Ҁ?^EͪA<kuͫ'C9LSn41Mc@d
29eمy
30CGdHăfLâ@r;4)V12H`CK73UjKƓKAvJyQ~.
31Vbd|M_R%A̒ZW2c--a&6qgTS8585aE9o.R=3o .TT HR\#WƬnKv9"2"SrژqhE T,|\W#>'RS HS)&3{o|uKi(V:707hj0&-o:(GP\dC D`nC<)f[0 -03V&+͈HY&m<TD$`G.ϋZFB :*6AX#n
32bBȺӖ5eF%jEiCD^D$K[V`Q @*գ)6<Éۈ #*Qs*'sohmxSqPR5/~9b&R:4au?ixȀuj ^
3378Gpa0l`NU_C?{NKFEXp yb@š2r[pXm~1E)ݚ"mƓ;оI30tl<&#*Vq|3bkV%bȠp{
34m- iؓ@x1y)`қ͋>
356;@{]W*Y#$+Ѭ[zdcaI r3?7 K/O׍ɞnT8kx@ ܥHӃ7^O԰ɟaS
36o[8ޏF U6m 
37$uk:Q*ZT a[̅jNddAI{3R!>a<Hofw{Oݭ @p2 gk" îmwBiXsuU(`~L򄨇 ]@F.~A97e\Upt\qyOP% g>oDž;L +4\(o5;)m:[òO|SmcRb7ptJbVזТCty74-hS=cVi壟٥`Gq?:t8C#,}Gow!(zʸŷ(GG`}k#H52_f{lfN =_6;\ ,)R*=Ceoh\ IزH&}̶HSՐ…@<u_5ml XQc%zѬ =ԲOWu <`҇_TPh!f*W[qNceЮɜBVA3,J~܄=mR@=O9igȄR/('Ajd9|v^kr
38 v68878k
39rANK
404{8jH  o<kJ2 %m]֍?Fv-t Ƣ&QzyoS#H6#(zɋ
41<) 0ʗ3,6.D+4V;oMwS<T:K4yl~# K}0ud6& Ydlt4gŹ&:>z㝱{];8P3νnppK'PM=DAs?Hg}}42xvfn9wQBoɅOz˲ӃMw`gsoyuwwp[xVᕊ).}dLUI\>n~tD%l)wX3]Cȓ`P!m8::Q/68KEٞ }k@gBɭ~^8i_
42e- kp4'+»Ml;CMITle:ء$^?s
43]͗;.&=!T!73LjEִ[ER蓂Gfw@4%W5{r
44mHb,*ͱ< fDDz\q ^t2I]څkKo~扺6kp""6P32L?tjfv{m"2?9RAC
45 :ܭ}+ M% SaYæ4a9l)QoưA~PqKZu*h_n@R/j;/&#+ټ8 .[mdRD(^I9US&3&ہ(['oڰ,!n=rq@͟>~+/>endstream
51endobj46endobj
5238 0 obj
535097
4735 0 obj
484865
54endobj49endobj
5543 0 obj
56<</Length 44 0 R/Filter /FlateDecode>>
5040 0 obj
51<</Length 41 0 R/Filter /FlateDecode>>
57stream52stream
58x[KoWq7 ~F8998rB1XR7骞%˞~㫯z٩I|{&>\/W|-f7\.؜vѪ)۫fr+wSAχX36L1opJ1ionFO LdNìT{:KYefm1urtN`6es.<TxDYMNڛn]i
59h A#_tހ*>. jOݪ_`y>J6'o'\Ѥ?_oxeB l &n2݁N?̻ZLl:˫Y:pzMx7:M`]i+3Ws;DC );=x[woC9 ;٦kXoh;'HS C^.,~o ?Xx:Ԧ7Vm"mpmh~pXg]M)fm 6A>;ԚWLc& 9D0Ƃ"<y36[88Ί*+U܋blzQ
60>rڃ"8 =RDگ_^ Hf죝,m?+8 An]E ~3r(uHOP&IHf`u%?noZ{EAa"cÒHI%i~I<M͐`9}$c"Dt6٘8
61δhdQgU{24&)^WtZ_Im7 Τ)5 i57u;nm{ύ>0]l@x7.ƌ)~mtt4i-_8A2=x4s`2qMbœ*R
62]݌#1徆OzƋ7 T(bΑTN7G@NY̩ū*N6yFuyU>l # rd 1ٴnŐcEZkֺs`M0]GRqANX3m;G|@}߭~WlH8;Kn%Tj_0@.2z3ƢFmأqʸ2S LLM )_ +{eFVhtj;OU"78{OĦ~2.-[h2u+ m6ZDyGG4%'~IqaORFJڀ "5N2S5Xǣ}Votrq2ZH%5X,yOWj 5` 7o]W'! :JND]*ہ(ċ8xmSM|L &='N&P|hrцr / A-"\0# -uJLBp 5&2IP}Aa tjLžԠ@Gf?xDrSOJvçܪF!06r(UNjZtC9㖇Ƈyjդ#<fH @N<HdDMLܵ򈮒v| $}螺XBi650WER~5_JHUhUZH*i<]TSMboD2\ 7.8,<=dE ;usSz'y;Ǯ$3&a;'֖f{E#:?"bעbOA)KX`q6Lɲ^J(p3 1rb5&aUh9 ѵW3{%RBRz)HZ,Ժi W5= 3` ;] 9kü1%11Ij>Sk+y fJSNGa B4"~nZj{a.Ggҋ8Fgd6l,Mmcw)
63aηXԖ!ѼMCM< uQ%6˥dvGr3tvهyR<[~bMW'9.í(-+1[8v᥆6osA
64EDU*Ru7Wtc=}9w
65M6&Iy~ޔ?kQPi~P9;'ժӝGȇ[I'V[/`Pޤë^~`,FwW{c/tłznNf}6ij%+-1 ݃|EԬ4o G/X7[ž@ ğn; @](ͷ[&ꙑaeL#|(/<}T6lo0)x*cB7=,{7buUSij ss>p'`j&[TgXTerhXﭻT4>,㤺/LK@SN.J7I)vpr[`ѢO]-]իC"/gWCŠ/wb ~P̡//g<ay8bDYA ƠZѠjxxK `<!vA̍3/*,CNh0%z{\+W-.{ϣ| JS|
66zLS[Ij|ͲyCkqGխ6J1h.Ԕ-(C@+:OcKy-$!&W5{,XJ}RAo4ʓ~A *KF).ay-[ad+9_2SKMmFɟ $hp
67gh ?Q*endstream
53xZ[o\E~_13 Ҳ0%awo縪'YQgWu^+uoYVn]⪲7F]n(J'U˛ݷ_^e?O6xѩO$;<ç.Yx*%.9ecqZOFeؙ)03 FW=B_Ng?Cbp*R,m[doGxkT~nA_ Q ,x{1G<4/!GR[=QЋ|xv/^eRх8,}}wX fV%WQˬuqfJV~μ'TnUL.c1JG[4 HGv_狆dl xd^j{$rہ_? _R-H9,OF{сiDŽQ
54X.ȌsɨG&|9Y<F +UX2֋qYg*43@eAW(f(هmwLh3`(~ #oңX$&St* Ix xF<
55N]cbQM~Zƥ6R2m&). 8w&2~cSv*4MS7Mf?5,ojh2o tqʋPf{țː Ahi-6my[r;t U50)|gÛDy.'[sk lf+υ0Z9\ VՃgTgңI-7O<Đ;Px7c+D.|hhLEkLEXYOѰU N ;K&TBR)\yZLX;&Kު-ͣ\aGK0pµxI*X2%DG9(`dKTr}G=i>ALCp/tM-`GzFKaX#GpoPL&I&vIv&O y 0\Ojw5JyfD9i3.xxJ"DbL?QL&C ާ򉀻!Swrb`M>E^#>애Ԙ6;mȏv&+0g"u3|mj8@mQpQ3'juM&ll- #` *@,@*M6TU/CPsWooWISրaWP!`By
562 L7zl%1=oO$i-m\![7.ӌXc\
57$r!(ԹRJ406~
58h8o8ND=Q#@,-f5UԶ(m4i.llH증,_p;KBF"liB-9›7X<LYFԨ;ȮY ,&81Оؤ+6"My_^ Nj,0wA}vPq"/p0ng}{X^͒t :"k'<qC֝8K3&u\@aҺ#Ol`&Ì< `6ECD󛏿Inˏ=| 
59W}":5ZGK _%6.}j ^cppeFłEw<[zQ@ bAƁ00DW$etvr3BXib.j_ H-ڼ+UObncb=rMqE1m4= }hNj.p!|U! ~l w3aX'%]
60ytw47?O֞ucy`el \?F(/k;-eQ!v6ȗ/CaEQl;cc!08g Zv 4-|?]hIo *}a"޼2@tߜNr54 Bx$V^mYa[InkTty&loɮ>v'<dhfN?F~"
61VdmIgO^%A> 8>YI!n֖΢7u&"
62XeńV\kRsendstream
68endobj63endobj
6944 0 obj
702917
6441 0 obj
652264
71endobj66endobj
7250 0 obj
73<</Length 51 0 R/Filter /FlateDecode>>
6747 0 obj
68<</Length 48 0 R/Filter /FlateDecode>>
74stream69stream
75xZێ7}HV<&ADIȈ<< N TeB4e]u)^K֒^ܮ~zzz-ZcNWiZ(a>'ݽ^ g}t]/^(ݟF AwElA}%"|/Xmzҩ~#hK
76'tqb%uoFmw- ܍6|GR1htr5i]gׯTFo{+@݋4iHҠEP{+RMĉ'SZr^^^|M`ؤNͻ!-k|gyieup"@slazBa5C\CpSt0n[i/܆Q@[ig& 7F8ћOl#&( mVt3H%S=u"U(% j|1&n].a]!$dH&F /n [M1.N!/QfNa5zGio\> SA6 奍hl2ٚ7 D&Lh;84:Sf8Wdr~}7@E?n{
77,!`ߜ3Wo: pj骽tDفNXSg̎eJylI{P. `APgFLf_O`Qz/[-xC3š)v̓F iҶD j0U=)@*ał̔GIUUsfH<͆i0.VGY r*(J AN.[HnH@Fqkr NIN@x5Pm0b(OybOIW&9lM*R/鍃3i4 p;g;hAFWƧ2'"
78cMWbT=Sۧ)P rlaf9րŮ(ppid\m+3 ȔymnmK̈́nd|]ղijQ;ga0µlu:8k\s5֮]JaʌQI>dC$Ӝ~<IFIewHVji&}ІE8a+9cũ,S*:L`*}ვW޶,<$bPղӀkPHعf}99Z1a,Fܶ%QfAB:a8iN.SÊtߌ; h#u_jY*#GaM6;AB \jb2TPFɅ2gC&/SpM]]τě1Mּ)6f>jT KXTW
79`nBU nj|r5̄ Qw:Se#D Y\ 7BP(q=v 2P~yV'U)N;wRF}NJK:US5Gu
80gMOni m;׺tH1lĪCء}"-a'"Mh?e/rk:se?Ah#>Hkp<T`v&b rV8OhALȸ k G>!:5#Y2pԐ|yeyq]OMg?}ij2<B 'wcɂZ RXDYH*+hr|QQnF>芭otJMbcYWM?s9,GkH4V74v (endstream
70xZKDϯFrӯǑɈK!eg#vn"rjgfC6`EU]_}p5RFҟ͗/kvwٜF MdKRQVtܤ媉QhC>4ۛͫi>Έhwm'>(}+A;h >WQ %"Z1h^ T5(wǍN'E|c l)琪a4^b3hFvZ]?QbL2:k ƷWiJANIj@x%zY7ыGIiA3KFɷ1R7}ƤM# XX_~ՙ|u/xu>nVmYJ'j#۞yf{{ЉtS '"CrCB~T5ʴP 7U^ Uӫcr㴓 PcA"ߒB~ca6F@Sqң ]X$a"@8)mģ}`xLb0.C` _G<LtIqtGW` L
71[ oKLh_ԥ@
72WIɫQ愚όNg)҆iY3el>'䇖uVyWC忨S]E<i:=8N GVvG?ڝ ٘3K4@2\@M
73.h^|{̋cfR"y\gsB]a(\H`E&)Sm`#=!X$qxK0* &S _Ǎܷ0ca]%u68H0ê]jBC3(cЄ k AS9S)tJ{t2`MhP''jEiNHϠbZ>|q A'kZ9:fLL%XvVb9UcpT_X~?JXR7ө a|f M5فS*ZӚS!u7u<{:Yr+#"¹gr1 >&U1EW|ք棩$tB,k Pf pJD]'g QDV鼮H/7DU&TԳβ<׆Tq-*gɊ=)ьx}v龽ܾBT\Fa"up[JIޑ^x\sV6n2zU$ F]HطK,1ͳ\?~&jāAK?^:㋻(;eC)vX$!ҬS"G.oZ=IXc]ᔉ_`ȁH 
741`J#!*ܞ ra&MdʴD vD>_r2piЄ#m-.v9vzZ
75ڷTn~gn9GԾ
76f.ʯ|l #fz\ !=M+geUYZ5go.{qrt 4>VE϶Xendstream
81endobj77endobj
8251 0 obj
831845
7848 0 obj
791619
84endobj80endobj
8575 0 obj
86<</Length 76 0 R/Filter /FlateDecode>>
8169 0 obj
82<</Length 70 0 R/Filter /FlateDecode>>
87stream83stream
88x\Yʣ}<'ŝh_ *I
8918xC MQKj9^CQ#n>zWx<鍛Go{oixb6myAn.obܔkpO|ߔS?o&1,6Vn6(gO /z::yt>HiOA[>]HEka!ž<x>}qlJgE!Ňj0;_ߵNDp>
90TLф3-CV4Qofg Ij{[oO_(}1 Fɝ<Ǿ桯ONgv.#OY)E8}B'gh#-3nBgSoZ(VБ=V*†*2Jn-CZ ;Zu=V0#fdr&ڃ.<L-.3ʓj  ̌roK_1wH38 Z} BBL>LLVM['E|/”@2~WCm<9x5$57BYb i t =gxi0-Rc^&HY@#Մ=CdP3, lJIyX>\m$awm("TRȏK: n90Q}48LJࢅ&P*D=Apw)
91G'ϨVY XBVM;O&(t2*N¿4CsM0!)` D_Cl5I9(`$,{%d4TW89U'cE2WA ".Y rF+)8i1!Mw$J8-#{ӟw";@GYa҇tGИ݆ui?YٰgѺ]к,eI5Bh6cڶn1U-yC4g㒤/+P89[9Q*]Ff-Ͷm4.WxߛNxѧ˴#Zȵ@Wi rХ.KӮFe#.r!Hpǰ l8p֋b+Ͼy/n1}sI@^I }I[gBǘp0Y15Z0f
92J¨ab d`ToZ#L˔_ g
93@Vt냎[Ynv(e bf7Jowǝ*?)ފUB^A@vA=wjdžO>Az@5$%޸3%$ v涨JPZn4=G~nHz4iV,,jP*{C)4FHC߂́K{Nlb#(X;KliDUWໃ|kKl|c`wG:(H4a+B_ UNnMVtmD+.p~T])0)>QI^4 G ;jsPFX<Ü\aW
94vy9l4) Qe1 j22tX)7@*lgoX60e(a5ˠᑏX0H3jM bċ;#ۚ[5D$*L3`'3h~T r.w uf7ߚ qk#mVX3BU[PhFU'[oH0TKY4^<$EgQ- P[d|\i^K$Q#)C/6LTNYtnO_%LۙAyR9GwBQ(c($g9Km8kpGE@͹ @+CvI#+O5ǯ M%XQ8$NB7V\
95P՞P²
96g/#e]7Kg&fxAɷwvἢ[18!h%:=; "Sv?5DHc3/$cdY%e:KV|Ю90ޮ.F=}ЙEtȣyŊ ͎ 7Mݞ.7t v]D~c8x RA1FՉ{B-@E|2 Hb>*fV=!/_0k]!SEzn
97@{i 0En)_ԐJ3o0dNkrP<̺ &eKZƢkYDs?b{!sW[m{蜄7̴&EMβ/oz?)+vOz58EBtLbQD],TdB7$/W:IdX`eh]8.uc9\} H-C&̳+&Xޓ4,bKu-:Oېg;ڃ,:wm;YDQk tཝgٌOd|5?Z"O~<0e XYHYE{ŔW.#u!`FZ.5Znbߑ#aժBW5qULr
98%SD)XL9&-C WF590ˊ$0Fj!xZ4$+ɊGBjoGM)㳒\b@ 8ȠLu[gKjdd_[[Ϛ'uKMc]ήҿA~^YYY{Q.UIʽs/
99dnmJ.p)':~G=l>G}x]FT72%&F:^)ړrAҢ*dӖV)?.UJ"$d'̾@9kygZ )n(ig} )oݙp85-q cW -U]}so8'NHkƕW,܋AXz>~GUCzˆVؽg]yp.Uhȇ^:9A+!Y*HVۋeI oeYޅb&8qC]|1I ؘ]V{ԚUuCځT.liE{SwBX#,%:*O#VzHabլ ,(;Be (P= Ҍ`ҙx~{-[yI j վXT-(3E&z(p{͇%?GHʸRK} *!E):Šק1Ϗky;^arكI
100ipMXW"ϼJ=U= mv(NhfIPjݍllK&Yoܶ[`Ds
101zƻ)U~sB[FAjOƇE
102 X,S~]Nj}(NeWvNiLߕ'T)zai{x.Dg9SUM~73&*a{̾s3/vC#(';,ZNK$+D0 6ҐM^Q1PɋPI82C$`قd*}XF;LJ: f"OM,DB
103* I5N`JCw^EOiE+ވӸ<~JF9H Qn qWX#RRl1*(䨡aFHzfvZLa#;AuhoArI%^pjeZ]Ձfaz:MHCbZ;A 'yKeՌLr=[{9?$KIe*Do_lҪ3,לÓ S xAB-C, vH<^l}^3iuñc9^IXYV.*5B,b;bJ5՝_tE0}mތ9QyPfZl{RZvy^TH"MS2<^0̯[2NGڄʘXȥ[0`}S X{7N5GbUuItI|?NR ,1gtփXLO8}QoWA)ywJTf\;n< oC},>2!_ !) 9(iiنAB|wI#x̶_SВ:}Hq ')=< 6A:8>˒S{ř1TRM}C)w}jYI{)eV,KIC`AF -"_mq(J牤E#SZC"F^I٢pKwIaeN?Ӛlҋ
104?B9RĻp T gcg6ddr/en&⯑ U"rs. :c)j@UwG&=*W-]X/'jrWݏKo|a#/G(x?N\I\Ua\~tWN 1$dLiYusK=;[AqzYjQML],U )uə,.EaI*1m )5^ gOjPTjbkrw)GNƃ{L5cR^a;]g^Si+ [wS p*VwBjYuT'E4xH`h:FV5Q)R_efj,sU6FZ~HLwŒI}ʲKxg4f({?!3߀8V%\2W\+Gx
105N2U_ux"ݰGXTC4\Ú*^;WHh* 7_JS.`w݅LoH<^^\)mj2EÏjEc~>;~3BS1xL]*SӞy{Qvs 0W<c]uD.FF Zd}ÑJw[~2Ŧ.[KwKqŏ ϦY|x/Zp<ZAYV7QozXh[9T0tfMn)LÜX/GY)+fp)_<'ގu⭟6j]o2Pendstream
84x]Y7r_q t;͝|I,HDH<~Xx-($w4b#ts嫯MO??j͓/D7꿾pfw^<)6mR fB{.!i/|`7eĠPڻ«{%<!*h?K1о>/8tԖcjß~vy/._?wsA+]]r[م m>=85,S}L{}ꐃuhpfg.LZETKhL-t@ԮIgh7`lMiL{lKmO{'SG#/nW{lOC`|# ޼eQNG=~l&l\Tؘ"L?ê^_3
85aO^YvZ4E(Y 9H>GXJW{.:7Ҁ\붃0^Xc*ld'~ۍYqLP'"Rs."GOqj%!e}gc2}Җ19Dcjc%exxE;XjT&N;-HMoop5*.KaL{[?RJw}vٌї`-}q4Ɓ)->8IˡA0@L1˨c([l:eLWĶpp˅[!ٳn˧tkW٢d'M$ncV n!y*گ!xPh†}"tF ¼rSÆXs;te)enDq|O`tgMR' NV8A֞Q[A֣m
867`4lY9&oѤ(E̽NlơkSz1Y'սGR鯓E򪣀v ƶob-ĹYlJ膈 PO%*]ڂ .3D`U)&
87k^`ch dMJE-ÅO9!BT4zqjڒ[r'l
88%TlsuB(?:01~sܣ3]=(,!zU|vdF1!ZtV>1A'# gD1dy$m,>w* ] qj:.-sl\/:
893K ;E,U,L_Y Sio4S<nW[R$8o,uFLW_4+N/ &)ns!ii* [# p"NyB٥=Pm<m?ͤT,+h'J X8봴|oZq {|S6YbGԭ.gF8~tʳ, bGօ
90M a%l1d(I#!,`.$Yv6naF)Di܍sj/j3 nDK`>Bb{Ut,&_r1kbh_TY<\2a3">b fp݀Q5+0J#jxgH%n_89j{&5-|$* gQY.ww8(b9_9EO3qC/[%nj-6S v<%3'!^,ThjV>O:446!lQ8UِVw)7Cfj&9&~a2`* EfNToaw-gb9 =2dM =YÎlurt(V]8ӮĽ`(4T
91aNasI11oՆ~?@[7D'gfo^Žxj@錾њI4p@TM|p{`W[p9?2dQB<u(g ?<f#AT1
92{fN)W){<a,|/*-(%ViP^X=\oyHé 6Duk~B2K'?n K:H7Vs*-%g-*8QvHlD`F¯q_Ie7]0~H(Oa4:,~"" \Z 6cnQ z-5$.R~N:TU2f/<j@C{xAtϭm.y{e8ܩ}U˒J̓A ]Ft]2flZdRYvs: KH5J >'n/:'$VK:P,v pExHeJj@fsޒ'1p{ l+:ŇЊN |!~ːKT,,M1Uy""8؂[GΓct0 3|jWa\:i#:qw" *r0Cא̩G'IPj׃ښc᫋]uLmdV`k;\c0>NfpKC3Vk{
93-%>*S|UXǾwv
94b" jQGP5=ʰaZL2o#gU{ Z)XTY=_X-V*>bP2yy jAM%aVO"Aq ӱ+J'dfC|%{>; mDs"@b%*@Q&k/onH;ؼhQ@U.b sR{RLB7X,ZZ&Y $^.AN5G{K ꫋"#}I4vNX{guURgJ`W#d5|SRtFYhdR<Ŝi^7wBpn(9y~tf&JAJϬK EeKED3ȝ,hiSZ"92.l?hx5e'ecDr[>)JY`-xrLQr@v)<yi 5"*mIG37QgfQ]+Ě $t*< b=VF@
95`NG*dhi Q$U'aV2qtxcq J`Q8pjIkń`r]Xlp׬ æ`hz2vLwT#_#D%\d8k*FtQb꧔&2bXJEHZG];:]8<g!GV"FNנ1G!&&BSLDE|wZagxL\txd :\vr F;+"5{ErR\.5 ^S9%jA|Cgjb/v,TQ-tyFr$9z$.k8?zJlݦiK&W*P GzE)GooH\S<ܽg0h33ܾJq{y=9:䷍"?%@WM7Fi%%3i)kfqIpUYxײZvKgn]GQyFQW$/{w?txWKH|2Ys"m]f}~^Ih4Vi]H!)YSzVNvugKSoh 1\hku.7VH^9eZ錅c/'9dEAP,ģ'Aґ=ʩ\LmTiȫDtWrqj("3ƀbOHBk,Ѿ`Cb9l?k;$Ee~8iuҶ25R|i%Wiotg.cpphh^"}~[h<0tq_ٺ^r\]>L7ktzZ-z&VPMYw9eȆQ#B!S7QtrF+8A͙u*>rZ. NRk9Df1ўsp @s۳BSYwA? i*N5t>#VT: gVw"tR }VV(ʕa`2LRGIϒ45Adi r$:)BʮI/Yi)`1i܁f9"\U0v"Cb7B^R'% Wx?`t
96$r80ڭW3FBگ*J}r]]"L <#i|"w.ʰu"= EOqswm
97`n,-tV}r2j#~[sHWμIyC<5ENʼ9ͨ#@~W-t{&NQԕK CNZt]9/EC|GѬP:ډd{y(nl3ҩzV25Eq-j7\=9^Wp>yU#)^JU~Zt&e0|d7]"PʇF8s ҽ90g+]+I>Wi˅+{2 S8Sw\Oc~(P8s>E%8)] V(S2>_b`L ۞1d?cQ12=Bl'n?9Ճ9^lR_WvW|)n҃|Ys?@]ߒC1UҖ{EdϼpUd^7"5Hήq¥.x4Oxռ洂Je4@V DBvbuG x&V"Vthd^=(*-_uppH?Ac|Bn^Y1kfvMToY\ږ02.qmٍNnhg_ EJ.!ATEήC=$/Oʼa\!SV٢ݎU*bSbz+&rp[yl+* œsڥ\|˹rh r5YC%sT=
98?N~Z0 {@=0tn"$eyyUZ%.Xƍ:3h8j
99ͯL+BWxb}$4q*zs~l\:ɩv~V|Og0,ny>_x;}&ci-s-V4IB0s^3۪po˯+.k "lGq 8C+G-2/e k,V3xǿ#:I{׭2UjI ;i~/f_+`#{.;^^2"EM|FV늃NgKT\$Dۚ="ԬTW*602'Ϟ+]endstream
106endobj100endobj
10776 0 obj
1085325
10170 0 obj
1025558
109endobj103endobj
11087 0 obj
111<</Length 88 0 R/Filter /FlateDecode>>
10486 0 obj
105<</Length 87 0 R/Filter /FlateDecode>>
112stream106stream
113x\Y%u6.q_d?~ښ#kƱ|!u{Qfg%ǓI߇_xzF~x#ӌSr{$Uw7uyqS:btݭܼSڝ[V;ef9lAaށoo1iPa V3J7׷wr U["on&  21z@S&>@ W)k :ӟ?M4NT[a9LTP|2tL{0gɏgft8>*W?QOĢX^#grU-V.wcF+]#TOKj$:H̒
114WqDB?$_[F9e(Llv{ڔ#r$^Lbz'LrWЏxjCe(|~u:hڅ2<g,sd f Õ@t6*@cēI,7_w%y 6qDGJB..V 0u9`t^(8YCuf g@\ S)PXFa
115?'^+:ȗ.B_fjݯ&U2Lٌ;F9Em q%q$ۢ 6Y|4k4vTf!h( ,vY6ej" asR3A^ZE y\4i:S,~V@-ދpܛĴҋPYS Gc , B]/u"kOe-ɷ㿒.b  P:Eݑ*yrj6EB!=
116,rlY :aҒJOzv%=kG2j2ԗ:R@01.@sғ'ZF쉀r ,: I?܄Sb[HW|HH쑯O*iv|GEgӖ S'U~)iA)Qҁ" vDb$s6Ix-2:F( {!CC1+<Tx89pƞ Z-N~ez!e".[j*$Ϻ W9/p?Jij5HeƸtrs~wfaV$Lo^ZRҨ@%5sKrLtP'B (A^nޕYX\ZS%-ڱzk7.܄a6<BA]7uS6-cdie\axHr +YVfu1/J8(ͳj`X”"w}EaN3;!Ufse1</4,<`cޭ7AoT36nɣ9~w0يrcӋ<Raa߇nf]kh0-gpssc})) |_9yhd}QǼ.nVՇ/ 56 'EX%IrsV:ʼ-E4rv'p#%\1&i96Qmr0L|8=Z+!$*ogz0Y@/V[6mzrme]N{q4DfASX52zdoxZ3d^g< \Ki]s=)YֳY2^.K_π.,6=N׼KI|J\#nU]D#D\U+ gH~_-A <j5!_W^o0mQg]h??+!|l2L6AqKM+gedI(nuQ735޳iXm"Q}eL:HB 'GULmULcCek6O2`Q8/G#;;$ڕnVs(A5
117t2)\㱁r̴HA *d>#A*
118GC$4O4N*w΂csWr GU/A^NJ9vQn]:xrj:Cm_7ae'Cj\BV"#a?;htqdel17<`6v#ӞvR]B9䣮o_fg,s J延5+"uҊQбvRx!FG:ndg.88:HhXc‡4֑
119Y]_mvBU"SXR.RcoHS/ Ų-6k ǻ3O2݇`ki <Sv˿+_&YCʖy_ 9U딦gjE'ucn+
1209$!lj~tR̀^\, R]v<ô-u{('z3,V,n/(ꕓbNR"Y>{AaUG3Bj|,k;c:8tĠ~H67}!n`ɿ}$Z;~>RY$默z;~}9 )OQQbZ<G4̙r* xfontg` 7ꈥ S@*QFht7|KjpqG5A#dCdI`uDTT :3 k{3P(>827ꈴ4R!HMG}6] L|J`FlY`j/0 Vi.l Τ,=K.MUesAo4^f{QFΨTVV!@TYbf/1#4udLlx h B/<g o7(L8
121eQY |JbD%NM"
122 If jmm( 炣ۤ`14pA(&Fw03lR[$&FȕF~:-c>Gy~6B65PH&U!(8*uFBx )@Y`M6"j U`^E*\i#
123TFe03l -4̇I o"6bMr0(_+5gQYg0#{097ʈ$B83ިT
124aU$W^P1DžY=lB7Djr0ַgrI&GRgh\Puq46gMQɉe"Fu0q*whم R=b}@UbG҆Fhϔb|xWYF,r:
125TG)-W _iY,SӔ!Bud"f(88,OsIdA%2FP5zQSj3*H͸q#‛<f+N(NAhMbu[!TyT]b2Ҩ,f>^ʩAG>:M뜚Qhb&W[dZ4 "w< I@ 1Y ͳwJ!땑FO +e#ZigTg6n1QYNhNwJtjJ432+9C3B!DPk@JEh:M>&K.Ȍ( eaU3"d
126%&YJ醁SKKM٪Aty4yCsY:*U{Y 4bGHi?M49;,4B;D,OM|,guK,1jH"IydsZ+^iRbS!7'nTY7ƄCh;+ Aܞ '4PX'tk #tV/KSi $+ZbXH|t'V1Gi,l
127o$s9KP4O"MqeR((OЈHe1%BL]QMupb;8EjFHA1#SHI9g>FU2/If4ߐX Lzhu=m!J]|)wALs+A$45eK#$78#@b x+6-R.yݬ`SlM`CD?.T0T\-x?$ m_1߿~2{_`Ju]=y[_~-˳òg׮Cm h-[$ѶK9ziͨpA-x`S3=Z?ݧ/_\tZ
128k/)\ M.'%<0BPwjr !, cRѱ3қԠ1_\֔_~ ytPtYhB9GlOu5mNQO>}ь01>[t,N?'3#X]("RpJM|mZq2';k+ꅑt.<K\Lؖ_pt).S5UQ+D!4R6Y
1290/н 8MQϮ
130~ ;AdZ}s j?[<֥QNpЁ9inF3E3Lz%i`[}S2ƃ*D]s<έf[>$Oz>Tpo ~.ru >.. /yϿDIJ~tZv_qK2]AA%km3 5}yR+!JSyɟLAb_JWr}TbF(wRiEșTKip#;&EɎ
131G}td:M._CN9vk^\&u)}sGi,EW"#nh;nnq)Ym܉ܡ"_dͫ Ri>͒UJWo
132I BG Zu_t4WwG֓+7ky_] ZV
133,;Xβ @~0jkAb/#:GqԵn+[kBJ[}gJ^]$Ʃ1u_
134qG_tGں 烏?|endstream
107x\[%GRy<k~ABh
108ҮZ0\ ݱ狼Ffe3dYӕ/"/'ɓʿwR_dq*<>fœ[V)MN^͇-w{^n*xϯ/j1z~S~r[EmFY?^?쭴Ub(lvBm»ѐ {~G/Jo @bXUpHbPY ӕ&ɮ!W4@8>j!d4?'Z&"Q4D |JқSf} t1Lb|ƏQ-N4W26k,UǼ̘:~ÿi7Ȝ4Knu˴EO/*-7cUiX }
109,<f>VJ.ga~O?y"7R{B~l] w&mn!gbZ' E~y7X?\VOZP*|Ig!Mh5ުfIud4hbg븉 wX:ͼS#GzlGlPf6Fx:[rT8D$3#Jr!<sZ"2Iv1yKh1ў <~xلH7C8xy̶or#24(J[?x(:Yf͛"X=Wb :09 4F|
110k:( "v3PR{eI6[fplPI#YVy&WyLAdiҁҿ[;IM%NFe~Tkx oxY&D=ȒCw*qJ V\ @+.AfєͰ1=$[v2Z7Sw@L͙ئXqY60fٺ)_sfyC ՌZzGyA`&O7BByw3 eqUv2"97a-󀼞A޼;_uKz)Eolo-K1ަH-'pfeIg)qU;p%#Epƃ6[Xg=)I}2 JMLMEwJI2j5fL
111F&J9M@?i0$b !Lz-)z:3*eHM3nH)pQ\Aک(5SR23C)3&,Tz`L5΅W<f[0#>b
112L|IYɄ6{gLW_<4&ȘWWl0kZ?9TB 3ܲnifdr;К50 c]@pgE}^,åz)ªҎvVzl]="pd4)a<+UCFs
113]ڑ-<Q"Qj7zq,bY x?_&3wVF-`;'5%o~+ RCH`&>HjT_ &:Y(5ce1zs_zzlnRIaj߃mZA+}~r53CglW|p2 [5[( ␥ӊV?,Ž(k oU9.dJI=<*?oNf?XR\+dJf`&`3MJ[HD,?؂p<f Wqڕ*,uk *w-m(ͼ2tw˲:n@9_{s7%@ \0މxWk w
114r,mtޢnkHR˽7n3 =ȦRԃ(3l%JQюDa@PufSQF1갻69b/jsDz:/18E΁XKk N2ߏ%<'ŻVYy:Wz7GS3}þNɹw=%P0xxU ݁Y~tgYPW P?ǿ'nF8]:ן)MG hO澬zLåDM8D]*aNu!ADqH\W+UO¹[}vWS[dB@Tk9w;\I=k2vV!n Ag4*=XT tHAg2̵.f$(-i@\kiژTktegTfݛ=mRX]ndeSeW`t(n@֊^/IOjQ[
115 j$@#@^FJlKܕ3]iK #&@k'f> /p+XU=Jϫ{mS asnr7;l
116A*tWﯓQ8┊"EJʻm$D81WX)G>\h1RkL~~)&pV٘u0t{:!rV]wrYth0D&;lq<o"x+CØrpQ?=bUAܭmAow+xҁ!Zw]ے{Yio$ .VJ \D= )~U#~Сzڭ6tX]ÇY/'k (h1(BۡuMs~VΑ|P BjUD>PGcٌS ֎O{M #Ywfn6pTa+}LZ$xƋds=&BWMcJ<KץXL~w,iI„R
117ostP4Wu6MΘ{\a|; AI4z\ g^v4?UVkQl740.$;̗uF_]l'|/I~n"&>A!FڢRYӽIA8T׿?|pַvrxrvtSJam"?#3:AlTj숬u:uƄsL=y 7}>+6Nní5*/>ӷ'!rsCC8;8ArZt7ResbJᕅ%fzz(Co]=pTȯ?{ Ng)i#VϠA-Pa.zN'wL)N?ߡ xҘEsz#H4#@ m5:3B}.<:BGJ(P;(xJQg4 iwofKҗzPtR:ON9JIz=c1(QHB}.<:"4
118A(xJQg4 i/RI5]{S{i$;-r"Lyo㚞13&?? F>42
11997HHO
120G}E6JY)LxƨX
1213{
122#M>G_NHO_QuFprО3QG`R)@#KQG¼) REO"x
123'v
124AfOmFF>'E
125A;}hr
126:~O 6o.db}ir6_l/#@^Sϙ_GhWk+́Gy~kRUJaZNjLLTZ&dSX)
127PV+zTQ=Rhu1m.R<ªeIY(>7P0x#
128) @4 ЛqZl?P zzP(xJfT i/RVDi̯IȈM/"(/F| 0ַg
129In͠Fc`seAo In)`OQ)%!ڄ&u!0E1LSEUc*)<ITΘ}B.
130cb30uB{&LJ:<}o:Jm#VS%k~WEM¿ :@!x.♦S&$>⒡T䓆7 0d}+Оڈ.<'P3´_ʸq#e%6}4VwQ{ОH]oPQytU)HP V,tQF' xAvAkFV%` )pŬ
131\"4En,ybs:8DJuypNփxh<Tz*@Q:$@u,wԇOVJM\A,y)JEfijCb@47Z;޲/$$z^"~
132ͲtvT] 4 ުSj ҄`DgH DivAiZ"?釔W?-8Fi)F. 0(JϋY3`qwL:`4D=zk<AZavTg> hd^pHEF==Tk:) EBo]:!|`DFqI&!Pw/qDR"9aAK7o,3)pRSKySpLk349988Id CT'A@/ُdN
133!GmtS8ƧYpt6A':
1346y${ւ 9eR8'$(*~Y(Q7b}``웈0I"R@)6tvr) ~A(Ht9E- l"K#7VFè&Loͪ (@2w>5H8Yd~ёo?꣝P\m>?>,}@>*nM,ﭱ5,?>5Q;At˗GR˫ӻc#C-ӽ譿.t ~,N q3]SI/Q?}ۯӗo
135etz:Sô`ҨF(ʁۜGG?7OUEvlbLXf٫stê߷kyrdXK?̿׿_i‬+ml|4q._Ƽɓ.ٿ*<!1!__Fg9(Upퟌ! ҇:cy\endstream
135endobj136endobj
13688 0 obj
1375246
13787 0 obj
1385355
138endobj139endobj
139101 0 obj
140<</Length 102 0 R/Filter /FlateDecode>>
14098 0 obj
141<</Length 99 0 R/Filter /FlateDecode>>
141stream142stream
142x\I%7\aw}! c:|ό=m0x~0LI%ejm8TR*˗>~xG_?iMW7QZHEkGu ݍbգT^-V YNc/lV*y|+c܄giM8}
143s8آT`68z31PMO #[H xӪ (|zYo;aNߜdTN/ֻApz-86Hp4ӼS6oS1H`Wik&ȗH1z_BUFú%_9+ZʈL|I:=C"W=F
144GH-`2HT' 8``yV4$r@jcNtLEdؔuU\G\C}88ꨃMmA^_o ^|rTsBfhH|Βt?U9SPr3o 17l\*b$כrF<X6X|OaB=ݩ,MKduRiIm6T&ӺZ9?3VE"Qw dz=ubĔ,a3>+Y ('pn)Ѿ /bڢ䭝V&63=$~t.Nyc&yM7l`5mF!/L8wBձ]])5t~GW p
145dgRđ)ȧc4CܘQ3`*d~b}@v[u>2SQ( Vrry,孧T&"Kج%Mk ~$0Ig8z&Cv_ Hsgn!Q,$`ůp9c0r Ч 5 Qmb9|7
146LLk9&lJjԀݲHhPF8cҧ/y qju/2Ԡ,PݾWcw*4!u6N
147FE[ *!2۩TA`"v[Ts59`5};tS"n2LԳ[nB<Af#L[Y%C5ເ`uFs"T\a"/mNPYf"91Jɝ/7vZ,Á_v'f(f{թqYH}WR-\WY D;yަoa !YC@B
1480
149 =*w{i+swWJԵ
150\ ].k2lbMy,|U B;diAu=2!3 ᪲à,fؓAA; k%.*bC<8h1 1I1 f ڂ^8!`C@M#h%ƈ^Ả`$ E`3{- -h4[2}%*,&/Q6p,33</b#諉6+-PT|D}1K&xdiyhZՀQu`3L-1̝M+Dܩ egE7Ҡy#?S,@`\#' H.hID@2CܦY&%VCI*waC ^cj(}Į e->n;w ~d60=? ,H(P񋌐`.+DD'H*^ID, :OLt/fl>ʵP%@&`Eb8EGLTAP\ V$T҅D<<Y-|LNU>3>ќR 8AM*F-R2,s$,@;d
151ZnaAUh ƒ>w{VD|5Gr81P(8I,Z*j@)f]?RIqǨ@yl!_9 @T"pz%- --f)os{S2%Y/ $8>2mcxr *^Ġ_HŜEyD?Sa0Z^~Șʌʥ%+(~(.UTR('mvIBH
152UE52I\t5ls ЭyUaQӘJ >+SSQ]q}F]n>x_ݼa2/
153#F1\o^q(TDL+k\W5'MFquP ^j}ټ[
154C#/InYd{9Idn+B-7Ja]rܡ8 r&#l[iI,6@ :֐9%.A# ,ksSʝ.fh n !Ai<-m|YHh{o;],X+\``ϡ5ku-V{PG˄Nm9L+I$zu}@;ڰN 3v`kOCBD9Jg[i0qG! IF{yag﬐4m2д=ǘ<0Mt`TХf],~K(zSăZ/δ{/"ג3Jv)- 6ܖ rſ#HY-J^J"G.Kg#} ]z|ҋ61!E~*ڳ=":
155l#'(7U1PK^"{&Z̵ -pxGw?+mylaNt`}$AЂ8T|Y `h.vG?>ls,+3]F@MiSn??۳ù<v3:gݽIkk#T$|lȪ! kJ`j}W85p ̙Uz'4M:s&; 2N+Cm$hHS+wH~d1i.)!WMiUPڱW1y.2sb
156؉&4?ӎnu6oDLO doj LeylIB++;oFemM &aMm'^ta#K ^Yi47o#5BO`pJFLCw69T,]W/GㆯX*f D*(W \ųm. I?Dg!azz؜ÖL[ [i5ƛo[W.*> 7Fb g0k11=fnar4 d3^x<oMNp ypWiO_sW/I<CFJbm%`0Y|ZMZXieU<{暊T::`Ƀn[Qg^C4}qkK,cmu?q~-c$7aɤ&b/Ňvteav!fJǓQZf9(ZjR"]''-\u1OxC+qKpp x
157E6F`0Ucv5Fi5EMi7D~WKl+oL[ty66&)5Z\,yJMkg. !?&r~-]}$o}>
1583oxmDڡ8
159²)Y碅zY0hmΓXtCΪm:v\,&(M*2GA,Q1a:7=%5_r.6=Gf,QvKY+|EO=MQṿQ#b=n/ܸۤ{lF@V7@i$]k @;爹&_y(—.*+Q}6Mo*~NMz0bYxM0\#{ b=U]|[*.,{<6,<Ky.FH_HK]:벞;j[)"ڮ}BzV?"04L+,Cmw;Vr|dC6ěoۡ"84O(SHڒ{9๘AEܴX3@3L\GP
160vY#s|K 3_(y/dh8Mޖʨi?h m8cuvԀ©C:*d$惦Q偽Jݮ^!ӥNyYn-svj?YjK4cHɮb[GLE>DZNi=osFك<WW潑xtUG],]ՁhdA+
161Jz5kTc֖$Ow}W9VikءO’.ˁj`X5?; (J`1O ;ly|U/ti#6"Pn4nb6DglG yU8o窯{=>sN@6%$&Yf]r65@&I&( o*3$\lgʦ7Y.;E#-G<썋7;@Rx5'yb2i#^}+{K+J=ܳm LIQ̉.gxGM[wN\dv3b8~)QR=NWLfN4o`d󢵲}ZMv21[: <܁Ud`ma 3b0͛VΛ.(/~q*hY:bJF?~MdGNW{1grk{Ů$m{Ԁcp{ak^e'u`o-Z!KU6`z-8g 1&5e
162s)T`<C"*5MI\茿oBo,{[NX酜-!!o/TW%>+tSq~u
1636*18vՍ`ĠMOl):i+Hp'z3'r@>E?QY|- ,x|џ-endstream
143x]Iqv7\|s|ⴻ*G ;hy;H2B(H`gҕY 0#RK._f~Yݾ?ݫw?}L+?pU0wJm9}gvuҦMw[w<}N?:xުR۟?0vbf3/IƸrNtT~3~W]?-#漾(mT?>ʯ6fVoﺽkKf۵~W1Dmf|o_^*wp5x-@{k~ۓ|C&%\dm<\ 7Ŕ7tƧH^ʆ9ev
144K[2ؗމ+4 X}05^kc@ A!ru#O260 o@3Hz;k:8M($vm >.'<be)$dzp 0w}*/a:Hf[GCCYDl_SQ1&Uv&fX+@GQg= HH[w[`{`Qb-tq*%eȀ0֊U7ƸT@ߒוնBsh`)~9#GÔj 8tԱj V{ Ԓi7Iz[yu dg.q _{bVtH>F8c2/y6$}wL+ (KU!g?9yG&L&]JgEE+GئGv@lQ0Q;漢xb.Q$hO<g7<hJxɼ/Hb{u9/u4`IDaUysDµs{rҐ_N߳0Y;:'q^/eAE6{SGlβ:.w]>Ko{&rnWwy|ך}W~)*9M!3E=uW0kG[8r/ av*ph'^!"@gSn!?k+jcl1xxEvU6f+ )YTr#,=f?&0֍ y|l2vf &PǬbAvQe8ZfGm;3]%mqFC?OsgAd^. ϡ]6NfÓor.mF0! -?
1451LkAz$R,T
146* 2pZ"ƐzBLЀ+pS+6Z<;>8\w6 ]Pcb {)7?`@ķMOi0oCמ(""Ļ VW])RWL}8Rs$~[
147 ֪}_ L^%mv#%gK*U#WҚ7զ Y1ގ)ۊf&MkMWu!w.BKS
148||B<,k"Zdcnvfβ?˦1lF#⹺Wl 9 YΘPKQ P`4 w0Mn$S}`v5/:hc{=@Rf@CQJi<dL֨%<AB%mf]XRCm6
149f BBaPFbgxM'{S^<ڱ$Xlj8BapS"pUh'HGXc:[PSlwS!i%m>V[ɫ唻 w|K
150=ʥyl<-O\2c"zkC!qγ,P'Ez : ]2' Ce6-OyU0 :95o!-Ch3QU9+ +LZ+ sQvOX*wm1(& eoywuaLeW;bUȓ~[oJr\4bWۢO4WV=]zV IT=rKQ]+ήlCʔk:'է|u-%4L ;FS3Kd/b^dODOz͸Zs뵬̝$8X/z*i 8Rv7>Kx LwFFCNwV0`:\[y+2CH+0#h2Tkoe~;"a "o5,̰p<GxdV~~䂈4oZ*?InDS9D8h.= j #GK4 6v/u"t5 ,T͒*vgǨ)2<;ݾ|y: Ph8u>0GSW?m髒9]og~47qVRH=_0j^9"^vZ $zW3$OFM{v i{j&K)sr~"|5XeiT6RĴ.܈@<1Ⱂ`/YIALma Bm\l!=&x9R>xMijjDq}ONkbAxb&Αs-"yp rEB5pS ڜ f!ۺuIZ!< P׶X@[aBȠ<9(S.ܒٔO15"
151ػ^^3 LpVB"ed<QE;5"MYI[/h6gk+0hV,/kW
152y%
1534!(i=Řo}vmʄ!'%LsB@j_?OMZWY4^gjE2ʹ6Ek3KڋYe7Kl]AhX d:PoT4EZwt/^F{lݭjFs$}SD;*&@HjyD24(|Dfh2-2 n!IʆgI "'8s&UON~?W6fgEMONY bcy*Sjv\qn8bpwA 8biHR@"m0A̽aHE0 MqS'T|6r>&зxb0u mFL[yAd5YZ|mA2 0uch2 xyor̐E2s* %zY [YH5gMKv ؕK'Qu:Y{&Z#fL[65=bi"#Ui)R8wd( ?ܫ)uxVD̡ 9ԣB҆*i3UH?8UTh- ,6U}]
154|}:SXhH 4 LD$аcɝt<G5wjNv/uQEU< ց>Fu'md4|aa6SpGى.oDgWy1jc<a\̄bBz?@1A'mB|hS AT A`W.Ƴ>CE/ OQeVyM=j-2Bࣳ2i4,H0K#+tn1`l䍴hjCG+FDZ62%5jT藵W4\A?fɟ8Lu/31Gxpf2O<LQ$:{W?Cr/jzYiG "?+*k,bֵS|1D<)]o3 ˯5S&ҙ18Pt?I6d@f`l>!UN@\|?i Y,or >8+wf~ $8RIvˣ:O>?Q3CO,#Z+Ŋb0@riT r3-&U<h;1AstZX-FG P5QT=i Z/7ǐQ30gf#W A)uoڧ*~y ElTLs~]baͅlģ ?|@VhčqxvzI1n6>ƶ𹔡jgrd!
155:mc.1ndmB! 'v1QqEAx蛲zOVu#I57T4 (:q2WW{.='DZWsP|gAU5tR/tZH!:nVoLy"05*([(WGzyalK"MIKr]0A]sEb39=Ș_+4@x3ٷvN!2 ,Rbg4; 8z2 -Я1[20{2~&.w ec1ѧzjp޲taEECshehΪ+E00vĝ6[ArB*
156 夭 )Wu`ǎ9{z?F~ "gـDV>Rt0Y&ưQ'ώXT Dh9x2n(TƮOMţAlr0mXo<&`^|T߃EPiS& ʶ;'TY&d[SeOqȪύgt% N'׸ARbћOabSλ<fXv8RShZ"h^x$ YF[=ک|SzIn?4P<Cz '(!k(aUKyw9zuؗq5Qnmm{ɂ G)aI O-#-I)1G>ZPA>iKhגLuCXf;j~ njX!UOT:pk#wL= Ӂ1܇/6SHNe5?*˸)SA2NַS/&;:X:G>X rl|TQ#ґ!Ruf_xp^(ٚ4De\?Xj|Ib#zAe 9_Wc9{ 2s&rG)ٕPAĕ냸^u<;mgmk8X-9BC>Ǟ c0,{qp?*9l4 ',`:7m8딳Ԁp̼Al.k+φ#f2 k˓6ҐqC }<%M\q_a"x%uTȲ/=B<̝N V:kOœ Tm_w$[4:]Zvd
157m#D%Ś2,HGq"_#'0t@Ft`T+Yv#Mss]f65\?C ЀQ?c.mz_9[37hτi2 ix"$E>NӒqԌ;JXD4T.<c )ґ,g6TVX9EqJya>i><7d|jL3iYUOΌh~)ٹ./Q|2#iP鑁RORBџ:H4fIY><=n<),BxVC< jmz}/Q|endstream
164endobj158endobj
165102 0 obj
1665153
15999 0 obj
1605961
167endobj161endobj
168112 0 obj
169<</Length 113 0 R/Filter /FlateDecode>>
162105 0 obj
163<</Length 106 0 R/Filter /FlateDecode>>
170stream164stream
171x\Y$qyvlq~, 䃸%ŝ!ę{$y|yOw/S޼!y Fܕzw{ܢE~]Ÿ)Ýb݋N|[ƅv-j >n6lVYOoq
172W狲j R,֩PoܼSڝ^զM4m{yoO^c鬁<ViI<݌SAI2/J;n
173TIiڪTNmZ5ӘMkklۧ=k|Bҟ#_ OZѓVq2ƻ?π&T^Xf qD uZ@,3H o-x-NPǹf}}M
174WILc:b0RA>ӎ鈾<Wo8-%RA.KTc1&QQߤ* 'pK2-yG*8K6/#T8*9? l' jQg/[;_v3ʑp
175k d=sIGk6洍βeAYi
176HzCf:YMח:3,첛J l#Q&MTrx|G48=.I22l"]Pk<=aE 6
177dlqۿd&P*-2#%ȔZ7- ~kf9 zD-5 [=8Ԃ a:壋&8c`Kw앗kHBJҗ`ٕ7*i0iD;_d6IBE}.1XdY"_:3.0@>bvB+"[G%m5ᄊ}lu'U~@f'xl\K\ :s%J3'$B s`=n:%KjM;. Jnٲѩ$'2yUwj%u4! |q:wx 8+ROx_-,N]L.@v8l+
178ݔ>`_ENScT騆3cRl 8͡w쭇a` =oDY7((y#%$CX F;x&lVS3٢{toYwMk, ZŹ׈5uHf;$)ۀr}#4M֜M7}@[?1MA:g{ P/
17908
1801( -Y@Dz&Qu9s+"˛+/$} #zF+7!](}^a <&maI*톤D)gΘ6Q'BC;<6=i"HH!n0W1p49XL cAvdʬx՛?o
181pqA^yQIB>`,w5u#0շ#}Q.ٰOD4QpA)(Df3f2 /HbByn+|;NTYV2}WBj-i<XP8Ze0o=vh΁:Lv;,6AgɯDuR!UW1JHRDΩh̴#^!cJ<h8mQ_}2ɠ3!ibjMH > ̆Y[
182+X*x8,]Jw |Xӥ
183!6r$!| Q0b)]%zN,=U?n̨}Ue)ޥWEGTQm1s,-7D\If@@}XɴV`oL%Cn岨WM9" r(`$MA+ٶBTMN²#,"صRϐ ,uNK \+͜`Z/,&F ?@:ݡo-v <0;]VXĄ܎B[ 3P%7_ O&tpcx&o00}&k*Jq)/+LF2ydupgô=剥j|Ǧ$kCXB !$s 9ǁ"srӴ6+3S.4-\YFZ*Rgso0V)T[PKzn "h`p*~T'֦>C uOԇyQS)~ "2fN
1846wZk c< Ƅy6N)ȟ,>ew+l$ (H3DƓ"):_!ꛩLzF0fiz/^&{\Voy5b NlS ;+4KJh1`O{ v߰?@52-4ؠEeULN,mWi.D#hCC0>Y6D`
185CY %hD|B26ux,ʤBݒibo
186J(DnZS&KgꢛcvSZy6gЂĢ}$
187>ԍm.=jXiJ[PkRYOƑ]RT@g!y ћ1Ki\ӑR[܁:=
188I<_)Oia zc;=iظ-JcG/زA %*j/UwI<to2^2̑QG&TZ)sw3o]n݆wu$
189y81](+cLtl
190<v$Vj]0 ()@u;%0 scՠP<!YK`+7}h"sHw[R/zvYΦ/_[4# DμMUE8R.6IRVJ[<2TŸI\%ar bB1RRΒ]FHHsY?08h3e0gǂ&< -v]궓_1<fP)g[Dm{I͢ wOhQ7,&B;N~+=\q./C g%S7*o$IBQB̺ 溱;0G1jI%V.+a&+MIC5 Ņ}CQwbOhBAkjUcQB~zaG8Ra,#ٍG%t^E<>%f Juu<sBmFCmi>X'gy<Yh[ۖݮ=W)ﲔʚ`h%íe.)4ɂd+ZGJ ާ85^ J:nr<(s^ !kʟEG}o"<^D>аK0/o;|kǦT*e(I;L6ޔx_plL298 zNnf<ҍ,b'yh3@0TJMNk׃2@p>rג=br+8W]"dtD:Y((bcDtzT{HjM*W2nm>+Գ)aUEcƶNY^ .6PŠgʻ8-< 5R @8`7JSV
1912S!`9*%YXt3~G<1I
192pa!B65MWWIQ3vֳ1mVf@giᗖ:܋CcyUAONB?g7}h,]˙Emmug:q눜F@%|ջժtwz1,H2x+t|)=9;UT%MQ˜+Jy(X!y/W^IHdɿ'/TK 1dZE='yU'=Ls~x zB$ڙvZ!SccxR±Ѐp!СE("1ܰO~bD,(P{\CrC;vttu9FTz'xɺk$JZ lf>"nq =5:|Q.I
193JJ|Af'KWdG2rZ8[ (9[;"h YQĆmNG@
194!ךv s95 :=]˜u#J;x1EZ)9b uW$d_f[vvHՓ0Ŗ:tov3) U(@}tK:G"ettUjEO$ GI4 v/wf84M62WfQ_ݱ@*ƅ0߰h1^ڸ;dStTN-`*I=W;dBH5Cp;F74gh.zi(rg>Wqk6,+gQ4j.Y,F82ȸpeO%s8*)F'c e!.aH`H<e֑X7,ȤM+ꕎt}ۣ^Y%oJ">;8뫤M:K] 9W9,w]&{fp_u3YtU/KeEiʶ.Cq≹iX j6~b=Rp;Sp,0,PcQ `5O*$fC$[UJQcv8?/8jDr[fjSڃZHط.Sar:&~D[U'Kz9}Ns[#\nnB GmXvSװ
195ܖIt{S8듕1<t+k2;\{>ޙd tdHc`F"nUl_w97.ϝJXn|gnRo,Z_@UN{*  ݾP'5R^VAegCg,ȮLѕGD.PHMSRr_pendstream
165x\ˎ l@A6 ۋXF=R,;?rd7Yl}#r@tMԩbQ$w]nwW2ؕ~sQFjw*?.񕛜y-&v7wW?>)x—7#{ y^�>I2b]+=9eo
166LAa_{|tarB⣚B7#[s]OV냲nXJ7*SfFI.#yL#f`f=Vbݯi6'# 'ekDvAsa3zf,LµyrPaRY3l86;-d eAU/a#hAZuZTkEi,Ld[ zL["L18,K;WŽ_:e7K}iilڸXcCKv TS;Uv]d"if&hȅ . "QK>2!h-[,H<l0WWg4|ƹƢ{H
167oHq^-Pqt#3U=~jx\c͘냙"\?7ix^[%tRQ{s$9ja[ BW0W40%BHRyГ3hG{ 8( V{eN0 :]J 7l̼(8q!q~.? zuy4^5FPJP(cX(|,89 ^[S15E0Etx*tsh`4#hQGhMWp(半5Y:&.)Soi+&"g6]h<ãwSбzk^ \晅@- RqQ#͓\ѯٳh?;i"Hi[JcL
168N~6RnhRyNDفLְ'tA
1696n2N 4mJS@{\Yȩ;SV;;Ncj{<^y46IJeA1Xώv^G^!m!`-Y#z 9dnge ^󵍖QՖ9(4fq~*t6o ߚ@ydP@A|腕fJ}4dru o3563fb]C
170)W f =q`Z ? FL~>h{D!#I"TyIၩS6k:lTQ@ gN9dq r/ٟ㿡ޯLyUP HS7RA2E@ʚ}%!<*i̤hbfY@74BrZؐV~(e䍰2J=kzD9#ƆimBb0E8M%}vhegZbhNNWخet"1X#k&kY_wUOKYNk5$,Vf.ƶQg5O@xK_zp#1Uemzb3:du0mP BGŇz-wː52T~aIZ^5V#]oQW@N{ of~TYX餠YDpU2ǴL,(!BMtqQ
171dZ3%Ogd| TZ_xǸA͓5{zi~۸6&(Dlʑ<L`)kA?gwgT wY43,۶hNb"0_}`Umᔴ5OV M2Un\N O-<[hq:ϩ2ѢjwuTWGSk ;fqRʝՉ1Gfl+$cѝnrk!焖G׻%o_VV3i̠HH!vґd [ :E-:M^ d
172gȫ(;J \1
173
174LMcbZD$*4\?`#3[`|}œ_e5=6A%:c9MYg ߮a ڲT$;5F*9o%]ɓ|:2Sq*OT0loι\U mu7&#3]7l:xh) B(cw+p/g$O- Oܿ=c[8`Y_LQI{$o,c,u#5󛍾/pGxC,w/dO,%Q R%54lit LAѩeSѡ"B[6xc <v,%9VۨkPLJf.
175Bf ڰ&Peȝ6(SńVt>Vm.jE%Q@q, &\|)zsepnoos |e3p{Sv.F!:8/D2(wi^Je8k NMAHw,Nt(xi:{ ާ.!:\uO :С`u\Ȝ8u~G;~AǕ vnYvHTgE}$kl(m {"/P ? O@HT>5H.θjA] TԕrO~E$urby4{1 ]²Ūa2(X )v]n+9OQ:/HfCc4j"
176P:uNB5ōBuwۻiz嚮樱zRn2f|j|4rE=:n ?OKwK٨e$`uZ֟j}ko6]+Ciid뮍Vdb|fQk6ߞj}B2l܁14)9oGwֹ4wR*B~׾|孛h̀&A@<[ZE9Z텝nKun:ݾHGE&ԒAĦ9uvE.;>8 YK6q`.꼛\Vxy({݊]l6yCܝzF׽~Lq :bm{_gRCf%Hk]MxAKX`\mIfܼ9YjJϥf)JrP8M#Dz4${H60ohC_!njN7l'T
177%*{lԬcinꊭ}3rCV" BrrRꮟ.q>?Gà)G|L& 7"H?lMZ88)vtPh(k.4:jo
178l9#lFzU1!}3,ʟhoo>ß/endstream
196endobj179endobj
197113 0 obj
1985174
180106 0 obj
1813518
199endobj182endobj
200120 0 obj
201<</Length 121 0 R/Filter /FlateDecode>>
183119 0 obj
184<</Length 120 0 R/Filter /FlateDecode>>
202stream185stream
203x\Yqvq~<8ͺl!EaCz``x0 3zVꬬ39ET<xs/dq,<;~{YZ\x_c8z-wOOWr ޸pzuRS蟮(v 8^şWz&F};_%*;_/6Fyz}V6фogJ-Ʃ lY/Q{eNo1"=wijP`o۳\3lEީDXp
204RzK-"y]u+E:ߣ=x>V޷E\pCtlk`=p}wA}ٯD B<OQ񙿂VG@0HM&!'0*c+d%gtlw7mc
205m^ө RD\N3B
206j:L}%Ǜx%âP@(y'bYƊ:qdp 1.5{`}(Z|~fg!8i:gv hh kNa`OݥG"_F-.
207iyz\st/3\!6P臸!P؎kڀ_;d┷+-m9'gb!U 2m21 1@[}@[5[k9@g]% tmP<oh55xaDNFFA
208VGZM6KD
209/~c3>y
210{vf37*y&+& 2hp3|:KMp; F$BWylַ
211 I:Zx 5b5:kܦ8A_@H\[
212?h@B$e+쒮酱".3v!<lQ4}*vH.X]
213﹣9/K;ψk7A-v}A(?Џ]Esؾ|ZT0*c:j[LXu3 rY}Blg]&Lvn7<7
2141S Zŵ%z3?]SdtL@0hϯ2^85D$zVyC<x6^H9_!CxečeѸfAT\^?4Ōl?f}SAsy?fQ*;>{78ܨCQ+ 2n[Wt<#_\^w$$7,{Zɴ/="}%9qkJE3Wp~(Ⱦwz=plqPZT;I&o,e?OՎi{6f&#9sD7iuShE,{N-Ҡst*2Fޜ7Kl糉r6cM3n %$췐Ij6W1łѨM-9ju@4om^?ߑ1`c=J7,~c5[lDͼASΑc0WB硹7nVh(Je6l6ZRK;{'@9 @ܺD s$&HyLܑaZmʶrj%!72@GK "؀os
215&])9ÄL/r9"t=Yaqr$(*i<9S_0GÛ!1+a ZL506殐{"g0.UsrH@:!ZqV?W6Cd#%+ծɥUg]EP+eÉɋRBgtcs8t%7X0J6# PEC:>~:xvj,WU=(6njnrCGr  ,PKfm$HcL&[`1ݒ23iz ß}[/bWb2-LÃEE% t z1[?һjII1eeyЛ (ȉbmˮn_P:-Sqxk9~R"3[RIc1323n6d[nvaQL3Ma -߫TsB)y\=P3ҜE:n%xR+Ʃ#J(MHn(k澐XbO7wf[S\ҽt<fRM0Oέ]]]=2bnbWŐIS[]r#RZD[%syYųzkz0f<P2dI"-lB
216 )|v[w@h,inR=*CL|X.1T3TgT/XU׉$rNN8u
217:!e37|fa+o%h2U\QM]r)
218T61 ٔyy2nC5yI~®+hCVU.KTNgUB 4}&[~lpr{ qj&g7
2197W4N tIł.]6HE8 MckNCjB4Dzg2Ӓ,%Ϣm};̓>p!0Y6-w}$hʻ[<{c{~zPg`H]C:e:![zxyxTyHAͭ齏
220JS}ө#NSDfǶ6^/h 4ZU ڄrJZ)I#5U%#65jl>*ЎP+8wATm>!b$BOwl3( aZiYfEn&Ԃ6zV8a &BfjPGt RnsYoȗtpoT,ꌆwGbH9+!',:4j#=4Ud/(A0,/m_$~+s;>A( h,ְ3jbF/񘡤<F
2219iA.1CKlc jk4kX a1x΋{%3%1QL#&L3*(g%Ns^"4""qAQu}BűXSKP^jj)N>mh֫+ٷ_u3mlA(hk4zU$ڄcŧXR\*/CV*o1B'h/594ђ? S9…{M`64@a\ǝ[0I,Ѳ̹es@^sp% wYXO:x"]LKҞt#*[@Ͱe=21$x/PAB-eD#J2gr,& ΅Yd2%2ZN n1"̢iĉF|Vj׋>R9!ga=Dҋ I{,n%u,GM $H/Rr:p?QH%EsČ0]qj:htn&ˌcb$:98g2P8SGot‡3:B >qc|AǍ%BӀ'lHAY 742y%xwG8ݳ9I?O=:o`%ՅR_9[$ͺH`*5`+KX; L KJ9eC)
222y\T4Ux(Ps*Q%Z!ҝ:;9ZShE\*2K:T&ͯ)6u)Uh(Tt]99 7gUC@RJmIO t,74&heJB#R.X4!QirP"ї P:UQiM]hsUR%_ n<Aer3=?ܗJudu@=D]ƦTyG5z!e۹Y!,8Ka!g C|R2v=^)+Jٛ}/̷6h1/_ 2V.] uڪuiL6/RʅRa
223Xij4V`byH"C݃W7uC7~5ޡM|RQ[n GؿPe-Y1ĺs-7\h[ A-z.fO.kf>T"o9Ύdc̜ȳE+갩w_uf/4ɪ疯~asJ`<HB֭b7U6QǿNˊyrxu!*"P\>U!}佟$g+d)|K[56Y\@l˴j,;/ݧۑ9{W
224aYQcݿٕϠ Xs/LS_q\*'RYA܏sa hffJYjOgg~/ ZyqCTgw<8M& xPsTYAꮉ7*26a"Nru&a+{`,5zh jJIoѯ :%E~f$E{l?yL|{){xܿRN1_9  %oXwZޫжj#alF]OhhP7DJ>D׽mE2?tPK_H$gttҬ˶KzuLԡɾ?uL?u6ʪR֋Tb{ì\[5K}j XlF/zvWS;M;W{gwy_2$1ɩf7YΘ}sĢ[_O)}qYxuhP}sp^~gad\v{fRkR}V wqh,i!,g[r#60'xK*kݑõU.LX} yNzl NbHřmf̕ŤRT ZҥPs?̆-Zp? endstream
186x\Y]_1w"I /H$JBBFyxۀmBtU/^c'BskjJlJ?忏_>]={@\}
187>{޸*yfƩۧ*MW/<::Zl:xilPΞ^_ߘMjc+5x i>[ӷoo[ k|6/5yiq,e<Z& 
188DjwzRlHjsGJOm(B Y׫B dM;}{pN`mدSZu}ygx%c֦SFypG[K$ތweG2i@9{޵P7ڸ0K4{j3& .L}"8o!LِwJ.MtG'c# e8^1]'?ek =AaFY}>lQJJo:Q.`E.
189%qQU*-*eT !#cg"- p!|2⵮_Y6%HK >mGVZ*휑Wa.V -셶7C1CPF izn*W xhO:Yr$Hh,)<oRƘYĔIdZ&q߮a'ye^d tPh3Tw^[ȓ6
190CD)3CԴ@LIELE|8F/YEHAYIL;UϑrL_E ;A MtUkSSq ^udD-|W60T@;% S}( 8e]%%"M0Mm_Lø,^7~ߝ|wl<ӀlyD7۠LKn?%R]hʄ$cs5a94AZL/k*N8R [
191 6e"#~)J@Atղx˿>Y8m|Ī:iIuL㎦h?P=!۴I
192I%QCQG8|Ht#o.Gwlym2XF.`=5˳G熲MU8. :V}΅^3HO
1931!>e2E+1wi 0ubvLva4x 0k@J@ar"MvR@BNՙnv5=2OoccfO2pcX*aN_Jc" (Eԧp|)Ua`X!L__{,+Aj.+T?7a N0 $G]୩!jCW:HSS8s¹;O<=cuGr T6B m& q6*9qQ+0¬+{}`a72nC^-kB!(|3 oZ+dGб`
194 7@(9s$x~2$:}4؝ISӘ{-cBp9,PM&p,h4U6+2ȳIeA50Ƃ$cWKK_h˺u ux f;ƍ["0#! 9^'8)nsH$NׁL*٨ZE' t7ۦؼXzR ;.Ʊ0"_ѿZX_myT&Mǫ`8e=ɫn9XDdR3hfE5"a,^9Pn oT暩$N2Sޟr]r}z #R.KBC:~QȾ6hii X x Q`/ϋB8lŗG_bd5 JQCIi%F"TeOk)c3Bus
1950(tC 7DG'V[KڏvGqddoQ
196$:;) b*?0k`g !,|X#i@_N R7۶G:B,+(D:e2jFI0X|T ΒDH |Ǖ>sk!9x3<mn  I|R9yބQ'V~}+y^ Α7gDh6`T8kC ~2#a[(j<Y aLC16Io Q+f #]*5XX$3;ziY
197k1/
198l"1
199ﱪ0 \fF w:QFܨg帹V+lJ ig'^1$Lm.F;XZ 
2004mB>n,F¥tm*V/b 4툟X H9?%vknjEݭ&@gLiaCͺ{Qnk)&]CɶN{X]cRrpY<\ QWwM=BpC Ieqo$!off/2sis8'tg*ʫ\GЍ[3'<`Wٸz l]<p<Ю3뀴8zӺo:h—Kc&U@Zfݫ6ҶH9+;b!+jh7J s7?!NUުuykc̢7;93>mѹLr;An4U;#&< y~F_Kut qoZMVH_lS2^ fTN.:>X6J0^L0O=Æ;!_ݪ wGLDxyeviCh;괃L`噖;,U{dU-ߝ;5Ved_Tv m70 6(V, ;n|Γ%kܚH1+9d'E2o~<GQ, Mhk6`. 9q\ u6>0g~0 P&udZdv
201&N84
202>SMAYIpn=!ii2i]u/0EHp [PmBY}JڠS f74%y;0z݀
203o."j2Jy"ڸ|6lJ@DPy6Kk{36X{O;8>ʉÚq6.䋐6M Aj%EVzɛZlܭf]J%"X%5{qZrӕ W駋{6@KeE绶Hu 630>Z.ZΗr草A A]ʒ(w0w'LÈk!k ) p&e!yU"wB;B`{.ϼO)у۱Z*gS/)]+\ᠧIn0osc93OJ!ÆurU6'= ,%f*؂҉JzvsOph#\CE_7+1SޤU{a%uYô)ekhV22?>_,&euQ?[N׃ʭvl=> IlɔP9Q)j};=a!p3Dqm2S0!~SDg
204T!ʱØ+9YV2`HF=~Aټȅܲjg];ke:jo5koO3ialK:>+n+"|+5Eװ".ӡ|FH/M~攂o5ܬ]zJuuwq3FO{j<YݿY3M#~Œd$Upʮ0M]]1Dvډ}ju|"7&|{g駡<!K;d:7ڊ߭MG vD&fL-64k!e(t}VOLD1;C.8H.IIwex
205tН^P8^[6&w G#sCNFN8F/>=@hP:4gҠB&(Wa-9ATEI2؁ыBNs˯BF~Zqns°$!nQw #nq*E0Q.RF`E ٴ(Z|a),?!l޸UP -5dc`lhA#@T"0Wb,cLZ< R8":1ʙ1*>xޏD 4x?J.hzQݼ&%GqQ%đ.&gg&cRL=,q4oQ>ȗ )^muN eg4YBjP9gdm4/#J_L?dgZwaUj8ʚ6|;-6?؅A/ed}Q:qk仜FwQtV7|а'Jq t䦫H#?Q.:;? @r;3Et,+{/ /?`(Hk*{[%yEo5 vocfּ^LϚGPS8 F6+*t߂>$!:A4m| Ʀڵ;wU&ag8jBD6I oXRelzFEm%뻊rkvg z ;O5Q;?59~ױe"h/N-ixn_3ko 5S Efvh/vu;[ެ: C[6A lvL7) |IûbiM%fq[QfzKҵЩɴ0祈=LEjl aN?wRhA@lp| P<sendstream
225endobj206endobj
226121 0 obj
2275165
207120 0 obj
2085154
228endobj209endobj
229129 0 obj210129 0 obj
230<</Length 130 0 R/Filter /FlateDecode>>211<</Length 130 0 R/Filter /FlateDecode>>
231stream212stream
232x\Y%uؿ>F%<D5,#pZ%%;\Y=wzEsd$6yw7~^Hyۍ8덒o:v6NJQqrD[F m6Zm_7AMS{]E'(ϘPP;4 7|澻LB8_>Ahur֪oo$&(z3hu󧳼)+oo~u܌͓$BP)7ztbs{= B]ܢ2h-u冥lsgQe,WP I^dy㫵|hŦzUz__h~yl2<>mJAH.L,\#,mj-F0ݠcTE L"Fvp%cPhD252ʥ%-eqQb,bka椬爥3^lhP#Z m#<ި-pХ:B93ިT:eF`h}s``H\qszm^>Il\̗'c9Q̗I)\!(n"s1_:/X YbzabYc%#DӿcLMcL:ˎ1Ǻ^&hk$:5{`dL:zKG24PO5/`0@a ծ?o-m6GXT&>aKIgPGLMѢO$l Z%< 5| HѐTЄ//,IpnA^B:M#܃; ɐy`l$ɿR8dnћGt&ټʴH6B<L r&Pf@14`䀥!&|6h]p\h1oMg.B'FyE;-0Fƺ<LY$#mB! Ka|&7"L6HD7\yFҁHT>-R,WEn4K.±kK2cNM{)umBgϣ$rD%dK:c߬%p dXX3=>G,M]p \vy"G;?iZrmU@E| i%N@ett KO j#1(|Fɒ$>h \jzR%u4s{]c4W uyٺ@ &q,;tբƦ0TAr&2'#ts٢4} ,aL6$YWEGߵoV`ooah Pb&koiC:#RWL onh;u-45J_a`le~#w cjU)-سנ5~4b=];O} D/0FBXѦ!UL^mkÀeISK}qkb2 '\bN),%CyO^P'4Fǩ[[_kC&1LLޏ" s1pA-!;ŘĞ붠wj]<q{GHx3Hgr`= ֡GD?.[]$E HOnhORZsЅĄmh&$D0FTKCP%iEUQ -2:^穤5$I`{UiP;+X4H2:bEN`&PxU+ ;*؛Yp^+E-&T iyDhHC ..NJ0!v(bmӂi 1R6V}dRFE b([| U$)j٤.޹qDAa@ rE ŵXh-d,