summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJérémy Zurcher <jeremy@asynk.ch>2013-07-10 00:31:37 +0200
committerJérémy Zurcher <jeremy@asynk.ch>2013-07-10 00:31:37 +0200
commit4b0d40561c6197236095fa0b62e7522d023e7968 (patch)
tree8e2c3b60df993a97f2537bd73710a982dc411aa3
parent6af474c728d5c00afcc5f4ea335bcc7f1db53415 (diff)
downloadcoursera-4b0d40561c6197236095fa0b62e7522d023e7968.zip
coursera-4b0d40561c6197236095fa0b62e7522d023e7968.tar.gz
Discrete : add 05-vehicle-routing assignment
-rw-r--r--05-vehicle-routing/data/vrp_101_10_1102
-rw-r--r--05-vehicle-routing/data/vrp_101_11_1102
-rw-r--r--05-vehicle-routing/data/vrp_101_11_2102
-rw-r--r--05-vehicle-routing/data/vrp_101_11_3102
-rw-r--r--05-vehicle-routing/data/vrp_101_11_4102
-rw-r--r--05-vehicle-routing/data/vrp_101_14_1102
-rw-r--r--05-vehicle-routing/data/vrp_101_14_2102
-rw-r--r--05-vehicle-routing/data/vrp_101_8_1102
-rw-r--r--05-vehicle-routing/data/vrp_121_7_1122
-rw-r--r--05-vehicle-routing/data/vrp_135_7_1136
-rw-r--r--05-vehicle-routing/data/vrp_151_12_1152
-rw-r--r--05-vehicle-routing/data/vrp_151_12_2152
-rw-r--r--05-vehicle-routing/data/vrp_151_14_1152
-rw-r--r--05-vehicle-routing/data/vrp_151_14_2152
-rw-r--r--05-vehicle-routing/data/vrp_151_14_3152
-rw-r--r--05-vehicle-routing/data/vrp_151_15_1152
-rw-r--r--05-vehicle-routing/data/vrp_16_3_117
-rw-r--r--05-vehicle-routing/data/vrp_16_5_117
-rw-r--r--05-vehicle-routing/data/vrp_200_16_1201
-rw-r--r--05-vehicle-routing/data/vrp_200_16_2201
-rw-r--r--05-vehicle-routing/data/vrp_200_17_1201
-rw-r--r--05-vehicle-routing/data/vrp_200_17_2201
-rw-r--r--05-vehicle-routing/data/vrp_21_4_122
-rw-r--r--05-vehicle-routing/data/vrp_21_6_122
-rw-r--r--05-vehicle-routing/data/vrp_22_4_123
-rw-r--r--05-vehicle-routing/data/vrp_22_6_123
-rw-r--r--05-vehicle-routing/data/vrp_23_3_124
-rw-r--r--05-vehicle-routing/data/vrp_23_5_124
-rw-r--r--05-vehicle-routing/data/vrp_241_22_1242
-rw-r--r--05-vehicle-routing/data/vrp_253_27_1254
-rw-r--r--05-vehicle-routing/data/vrp_256_14_1257
-rw-r--r--05-vehicle-routing/data/vrp_262_25_1263
-rw-r--r--05-vehicle-routing/data/vrp_26_8_127
-rw-r--r--05-vehicle-routing/data/vrp_301_28_1302
-rw-r--r--05-vehicle-routing/data/vrp_30_3_131
-rw-r--r--05-vehicle-routing/data/vrp_30_4_131
-rw-r--r--05-vehicle-routing/data/vrp_31_9_132
-rw-r--r--05-vehicle-routing/data/vrp_321_30_1322
-rw-r--r--05-vehicle-routing/data/vrp_324_16_1325
-rw-r--r--05-vehicle-routing/data/vrp_33_3_134
-rw-r--r--05-vehicle-routing/data/vrp_33_4_134
-rw-r--r--05-vehicle-routing/data/vrp_33_5_134
-rw-r--r--05-vehicle-routing/data/vrp_361_33_1362
-rw-r--r--05-vehicle-routing/data/vrp_36_11_137
-rw-r--r--05-vehicle-routing/data/vrp_386_47_1387
-rw-r--r--05-vehicle-routing/data/vrp_397_34_1398
-rw-r--r--05-vehicle-routing/data/vrp_400_18_1401
-rw-r--r--05-vehicle-routing/data/vrp_41_14_142
-rw-r--r--05-vehicle-routing/data/vrp_421_41_1422
-rw-r--r--05-vehicle-routing/data/vrp_45_4_146
-rw-r--r--05-vehicle-routing/data/vrp_481_38_1482
-rw-r--r--05-vehicle-routing/data/vrp_484_19_1485
-rw-r--r--05-vehicle-routing/data/vrp_48_4_149
-rw-r--r--05-vehicle-routing/data/vrp_51_5_152
-rw-r--r--05-vehicle-routing/data/vrp_5_4_17
-rw-r--r--05-vehicle-routing/data/vrp_72_4_173
-rw-r--r--05-vehicle-routing/data/vrp_76_10_177
-rw-r--r--05-vehicle-routing/data/vrp_76_10_277
-rw-r--r--05-vehicle-routing/data/vrp_76_14_177
-rw-r--r--05-vehicle-routing/data/vrp_76_14_277
-rw-r--r--05-vehicle-routing/data/vrp_76_15_177
-rw-r--r--05-vehicle-routing/data/vrp_76_7_177
-rw-r--r--05-vehicle-routing/data/vrp_76_7_277
-rw-r--r--05-vehicle-routing/data/vrp_76_8_177
-rw-r--r--05-vehicle-routing/data/vrp_76_8_277
-rw-r--r--05-vehicle-routing/data/vrp_76_9_177
-rw-r--r--05-vehicle-routing/data/vrp_76_9_277
-rw-r--r--05-vehicle-routing/data/vrp_76_9_377
-rw-r--r--05-vehicle-routing/handout.pdfbin0 -> 258903 bytes
-rw-r--r--05-vehicle-routing/solver.py83
-rw-r--r--05-vehicle-routing/submit.pycbin0 -> 8195 bytes
71 files changed, 9400 insertions, 0 deletions
diff --git a/05-vehicle-routing/data/vrp_101_10_1 b/05-vehicle-routing/data/vrp_101_10_1
new file mode 100644
index 0000000..4288f9a
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_101_10_1
@@ -0,0 +1,102 @@
+101 10 200
+0 40.0 50.0
+10 45.0 68.0
+30 45.0 70.0
+10 42.0 66.0
+10 42.0 68.0
+10 42.0 65.0
+20 40.0 69.0
+20 40.0 66.0
+20 38.0 68.0
+10 38.0 70.0
+10 35.0 66.0
+10 35.0 69.0
+20 25.0 85.0
+30 22.0 75.0
+10 22.0 85.0
+40 20.0 80.0
+40 20.0 85.0
+20 18.0 75.0
+20 15.0 75.0
+10 15.0 80.0
+10 30.0 50.0
+20 30.0 52.0
+20 28.0 52.0
+10 28.0 55.0
+10 25.0 50.0
+40 25.0 52.0
+10 25.0 55.0
+10 23.0 52.0
+20 23.0 55.0
+10 20.0 50.0
+10 20.0 55.0
+20 10.0 35.0
+30 10.0 40.0
+40 8.0 40.0
+20 8.0 45.0
+10 5.0 35.0
+10 5.0 45.0
+20 2.0 40.0
+30 0.0 40.0
+20 0.0 45.0
+10 35.0 30.0
+10 35.0 32.0
+20 33.0 32.0
+10 33.0 35.0
+10 32.0 30.0
+10 30.0 30.0
+30 30.0 32.0
+10 30.0 35.0
+10 28.0 30.0
+10 28.0 35.0
+10 26.0 32.0
+10 25.0 30.0
+10 25.0 35.0
+20 44.0 5.0
+40 42.0 10.0
+10 42.0 15.0
+30 40.0 5.0
+40 40.0 15.0
+30 38.0 5.0
+10 38.0 15.0
+20 35.0 5.0
+10 50.0 30.0
+20 50.0 35.0
+50 50.0 40.0
+10 48.0 30.0
+10 48.0 40.0
+10 47.0 35.0
+10 47.0 40.0
+10 45.0 30.0
+10 45.0 35.0
+30 95.0 30.0
+20 95.0 35.0
+10 53.0 30.0
+10 92.0 30.0
+50 53.0 35.0
+20 45.0 65.0
+10 90.0 35.0
+10 88.0 30.0
+20 88.0 35.0
+10 87.0 30.0
+10 85.0 25.0
+30 85.0 35.0
+20 75.0 55.0
+10 72.0 55.0
+20 70.0 58.0
+30 68.0 60.0
+10 66.0 55.0
+20 65.0 55.0
+30 65.0 60.0
+10 63.0 58.0
+10 60.0 55.0
+10 60.0 60.0
+20 67.0 85.0
+40 65.0 85.0
+10 65.0 82.0
+30 62.0 80.0
+10 60.0 80.0
+30 60.0 85.0
+20 58.0 75.0
+10 55.0 80.0
+20 55.0 85.0
diff --git a/05-vehicle-routing/data/vrp_101_11_1 b/05-vehicle-routing/data/vrp_101_11_1
new file mode 100644
index 0000000..0b70b31
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_101_11_1
@@ -0,0 +1,102 @@
+101 11 1409
+0 0.0 0.0
+122 -17.0 69.0
+30 -19.0 85.0
+3 9.0 99.0
+5 15.0 82.0
+422 -21.0 102.0
+13 -16.0 68.0
+22 15.0 72.0
+173 12.0 78.0
+41 1.0 102.0
+8 15.0 91.0
+8 9.0 83.0
+110 2.0 82.0
+198 -7.0 76.0
+384 -17.0 79.0
+193 12.0 70.0
+238 -18.0 99.0
+265 -9.0 104.0
+3 9.0 -24.0
+469 23.0 -34.0
+7 9.0 -44.0
+6 12.0 -30.0
+108 16.0 -36.0
+10 40.0 -21.0
+40 39.0 -15.0
+635 42.0 -6.0
+49 29.0 -43.0
+149 20.0 -8.0
+403 24.0 -38.0
+42 47.0 -15.0
+70 34.0 -28.0
+201 41.0 -39.0
+66 39.0 -30.0
+526 23.0 -34.0
+6 38.0 -8.0
+279 20.0 -40.0
+160 21.0 -9.0
+3 46.0 -13.0
+4 90.0 67.0
+105 70.0 39.0
+46 78.0 73.0
+474 49.0 47.0
+7 45.0 75.0
+7 86.0 61.0
+99 86.0 59.0
+126 54.0 65.0
+119 46.0 38.0
+46 63.0 68.0
+273 55.0 74.0
+91 62.0 69.0
+294 58.0 70.0
+4 25.0 17.0
+81 7.0 1.0
+285 8.0 6.0
+90 12.0 -2.0
+462 14.0 -7.0
+65 13.0 -1.0
+6 8.0 12.0
+4 25.0 13.0
+529 11.0 3.0
+165 15.0 -7.0
+4 4.0 -6.0
+394 18.0 -4.0
+3 10.0 -1.0
+60 16.0 -10.0
+899 96.0 5.0
+169 60.0 28.0
+10 75.0 -19.0
+47 107.0 5.0
+37 70.0 -4.0
+23 110.0 -2.0
+25 90.0 3.0
+444 80.0 -17.0
+3 59.0 -21.0
+99 83.0 14.0
+58 -56.0 62.0
+7 -39.0 71.0
+11 -40.0 72.0
+15 -41.0 77.0
+381 -37.0 78.0
+7 -31.0 70.0
+39 -52.0 81.0
+502 -50.0 81.0
+115 -41.0 77.0
+85 -35.0 85.0
+3 -41.0 71.0
+136 -57.0 72.0
+111 -47.0 74.0
+66 -56.0 70.0
+50 -32.0 82.0
+252 -50.0 69.0
+4 -57.0 86.0
+119 -33.0 79.0
+746 -64.0 71.0
+6 -58.0 56.0
+51 -74.0 69.0
+322 -65.0 57.0
+1023 1.0 56.0
+5 12.0 41.0
+10 24.0 53.0
+13 -5.0 70.0
diff --git a/05-vehicle-routing/data/vrp_101_11_2 b/05-vehicle-routing/data/vrp_101_11_2
new file mode 100644
index 0000000..764b107
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_101_11_2
@@ -0,0 +1,102 @@
+101 11 1842
+0 0.0 0.0
+50 72.0 -58.0
+170 70.0 -66.0
+297 45.0 -40.0
+9 39.0 -40.0
+630 60.0 -50.0
+179 42.0 -59.0
+179 31.0 -46.0
+216 44.0 -58.0
+4 45.0 -67.0
+9 69.0 -46.0
+154 24.0 0.0
+117 12.0 -4.0
+63 1.0 -21.0
+436 3.0 29.0
+905 19.0 -13.0
+14 13.0 -14.0
+3 25.0 11.0
+10 24.0 23.0
+166 3.0 7.0
+211 23.0 19.0
+8 2.0 -7.0
+25 5.0 23.0
+139 32.0 5.0
+213 14.0 25.0
+758 -16.0 -4.0
+429 24.0 17.0
+5 0.0 -7.0
+136 -74.0 -22.0
+501 -64.0 -24.0
+93 -71.0 -19.0
+21 -91.0 -15.0
+169 -65.0 -14.0
+22 -91.0 -26.0
+3 -76.0 -7.0
+271 -66.0 -4.0
+433 -87.0 -10.0
+3 -73.0 -8.0
+1079 -81.0 -1.0
+233 -82.0 -24.0
+11 -87.0 -25.0
+10 -76.0 -25.0
+78 -75.0 -6.0
+63 -70.0 -3.0
+4 -64.0 -22.0
+59 -66.0 -5.0
+8 -72.0 -10.0
+34 -89.0 -3.0
+234 -86.0 -3.0
+30 -57.0 -9.0
+40 -22.0 -36.0
+123 -44.0 19.0
+7 -21.0 6.0
+33 -49.0 -4.0
+369 -68.0 -7.0
+11 -42.0 11.0
+23 -69.0 3.0
+208 -49.0 9.0
+4 -68.0 -19.0
+8 -57.0 -7.0
+36 -61.0 -34.0
+504 -36.0 16.0
+16 -56.0 2.0
+574 -67.0 0.0
+19 -17.0 -14.0
+235 -17.0 -20.0
+445 -28.0 -26.0
+6 -70.0 -21.0
+43 -46.0 -14.0
+210 -52.0 36.0
+268 -33.0 62.0
+410 -53.0 49.0
+124 -39.0 59.0
+11 33.0 73.0
+1085 38.0 88.0
+5 43.0 77.0
+529 -60.0 19.0
+107 -61.0 27.0
+274 -66.0 23.0
+23 -61.0 20.0
+156 -55.0 19.0
+32 -5.0 -38.0
+177 -9.0 -41.0
+16 -12.0 -31.0
+8 -9.0 -45.0
+19 -6.0 -33.0
+52 -1.0 -49.0
+47 -14.0 -44.0
+4 85.0 -1.0
+372 67.0 -1.0
+525 60.0 30.0
+101 78.0 12.0
+898 57.0 31.0
+40 63.0 -1.0
+32 88.0 -3.0
+1017 85.0 -13.0
+103 78.0 17.0
+109 56.0 4.0
+76 99.0 -14.0
+1025 53.0 16.0
+50 35.0 -56.0
diff --git a/05-vehicle-routing/data/vrp_101_11_3 b/05-vehicle-routing/data/vrp_101_11_3
new file mode 100644
index 0000000..388951f
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_101_11_3
@@ -0,0 +1,102 @@
+101 11 2043
+0 0.0 0.0
+841 3.0 -1.0
+74 -2.0 7.0
+687 3.0 0.0
+175 7.0 -3.0
+183 -5.0 -1.0
+124 -3.0 0.0
+4 0.0 -3.0
+81 4.0 1.0
+56 4.0 -5.0
+29 -2.0 -4.0
+23 5.0 -5.0
+4 -4.0 1.0
+9 -2.0 3.0
+7 7.0 2.0
+181 -13.0 80.0
+54 -6.0 88.0
+884 -16.0 83.0
+822 -14.0 77.0
+637 -26.0 88.0
+59 -24.0 79.0
+140 -25.0 78.0
+531 -11.0 80.0
+58 -5.0 88.0
+15 -21.0 90.0
+11 -5.0 82.0
+185 -20.0 80.0
+159 -6.0 91.0
+285 -25.0 89.0
+4 -25.0 74.0
+10 -8.0 88.0
+3 -21.0 74.0
+4 -23.0 74.0
+11 -5.0 87.0
+45 -8.0 91.0
+4 -3.0 -8.0
+225 -30.0 15.0
+286 -14.0 24.0
+262 -12.0 11.0
+4 -1.0 7.0
+391 2.0 14.0
+54 -26.0 15.0
+518 -36.0 2.0
+815 -29.0 7.0
+25 -1.0 28.0
+29 -7.0 17.0
+18 -10.0 31.0
+588 -20.0 -2.0
+68 -33.0 20.0
+480 -26.0 0.0
+5 -13.0 9.0
+16 -8.0 12.0
+34 -35.0 -8.0
+5 -33.0 23.0
+9 10.0 -70.0
+22 8.0 -95.0
+120 -12.0 -101.0
+152 6.0 -113.0
+21 -17.0 -76.0
+44 -23.0 -102.0
+676 11.0 -104.0
+17 -19.0 -96.0
+764 -13.0 -79.0
+13 -53.0 -32.0
+6 -78.0 -2.0
+718 -87.0 -61.0
+52 -60.0 -32.0
+11 -6.0 -12.0
+93 10.0 -16.0
+398 -7.0 -11.0
+48 0.0 3.0
+37 10.0 2.0
+3 -1.0 -15.0
+8 1.0 -3.0
+406 15.0 -2.0
+1086 10.0 4.0
+3 8.0 3.0
+52 -58.0 32.0
+88 -88.0 38.0
+28 -76.0 34.0
+686 -83.0 50.0
+25 -67.0 43.0
+101 -75.0 34.0
+4 -91.0 44.0
+15 -24.0 1.0
+445 -20.0 4.0
+4 -17.0 -4.0
+593 -25.0 -1.0
+327 -17.0 2.0
+92 -24.0 2.0
+21 -12.0 -2.0
+12 -14.0 1.0
+44 -18.0 2.0
+773 -20.0 5.0
+4 -14.0 4.0
+14 -23.0 9.0
+783 -22.0 -3.0
+3 -22.0 -2.0
+500 17.0 1.0
+390 5.0 7.0
+1066 -2.0 -5.0
diff --git a/05-vehicle-routing/data/vrp_101_11_4 b/05-vehicle-routing/data/vrp_101_11_4
new file mode 100644
index 0000000..7cada4f
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_101_11_4
@@ -0,0 +1,102 @@
+101 11 1297
+0 0.0 0.0
+12 -7.0 8.0
+17 -15.0 16.0
+619 -2.0 13.0
+61 0.0 3.0
+3 -9.0 6.0
+4 2.0 5.0
+13 -13.0 9.0
+44 -15.0 10.0
+12 -14.0 2.0
+35 1.0 0.0
+114 -40.0 24.0
+29 -54.0 -15.0
+76 -43.0 10.0
+106 -73.0 -2.0
+157 -76.0 4.0
+43 -45.0 31.0
+4 -29.0 36.0
+38 -78.0 11.0
+212 -31.0 25.0
+42 -67.0 17.0
+10 -31.0 4.0
+19 -51.0 10.0
+856 -30.0 -9.0
+13 -51.0 24.0
+67 -80.0 -10.0
+144 -34.0 4.0
+310 -45.0 25.0
+85 73.0 32.0
+1061 78.0 59.0
+344 58.0 53.0
+22 57.0 55.0
+15 20.0 85.0
+219 -12.0 81.0
+44 -8.0 86.0
+370 12.0 33.0
+74 19.0 86.0
+82 -11.0 44.0
+3 -2.0 67.0
+39 25.0 76.0
+54 -29.0 44.0
+22 4.0 80.0
+171 -2.0 84.0
+65 -8.0 54.0
+405 -16.0 34.0
+19 -14.0 80.0
+7 -17.0 32.0
+586 19.0 39.0
+15 -20.0 82.0
+149 17.0 42.0
+141 -4.0 5.0
+9 -20.0 25.0
+261 -12.0 14.0
+4 -11.0 11.0
+5 -12.0 4.0
+21 -1.0 21.0
+25 -1.0 1.0
+86 -9.0 21.0
+86 9.0 3.0
+124 5.0 14.0
+123 -9.0 27.0
+11 -20.0 11.0
+41 0.0 30.0
+279 -12.0 15.0
+149 -3.0 17.0
+9 -58.0 -60.0
+65 -71.0 -58.0
+155 -32.0 -34.0
+6 -59.0 -37.0
+83 -48.0 -19.0
+11 -71.0 -49.0
+735 22.0 -4.0
+4 13.0 -10.0
+56 22.0 -17.0
+26 13.0 12.0
+5 3.0 -5.0
+34 27.0 -4.0
+13 2.0 -3.0
+1017 -2.0 -22.0
+85 30.0 1.0
+10 22.0 -6.0
+7 -27.0 62.0
+6 -20.0 64.0
+524 -26.0 69.0
+16 -20.0 66.0
+15 -29.0 67.0
+117 -84.0 -10.0
+48 -69.0 -22.0
+43 -79.0 -4.0
+64 -84.0 -19.0
+30 -63.0 -12.0
+3 -76.0 -14.0
+21 -70.0 -4.0
+514 30.0 39.0
+625 23.0 39.0
+7 30.0 48.0
+257 36.0 21.0
+603 32.0 16.0
+4 42.0 30.0
+4 62.0 16.0
+94 -7.0 9.0
diff --git a/05-vehicle-routing/data/vrp_101_14_1 b/05-vehicle-routing/data/vrp_101_14_1
new file mode 100644
index 0000000..360922f
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_101_14_1
@@ -0,0 +1,102 @@
+101 14 112
+0 35.0 35.0
+10 41.0 49.0
+7 35.0 17.0
+13 55.0 45.0
+19 55.0 20.0
+26 15.0 30.0
+3 25.0 30.0
+5 20.0 50.0
+9 10.0 43.0
+16 55.0 60.0
+16 30.0 60.0
+12 20.0 65.0
+19 50.0 35.0
+23 30.0 25.0
+20 15.0 10.0
+8 30.0 5.0
+19 10.0 20.0
+2 5.0 30.0
+12 20.0 40.0
+17 15.0 60.0
+9 45.0 65.0
+11 45.0 20.0
+18 45.0 10.0
+29 55.0 5.0
+3 65.0 35.0
+6 65.0 20.0
+17 45.0 30.0
+16 35.0 40.0
+16 41.0 37.0
+9 64.0 42.0
+21 40.0 60.0
+27 31.0 52.0
+23 35.0 69.0
+11 53.0 52.0
+14 65.0 55.0
+8 63.0 65.0
+5 2.0 60.0
+8 20.0 20.0
+16 5.0 5.0
+31 60.0 12.0
+9 40.0 25.0
+5 42.0 7.0
+5 24.0 12.0
+7 23.0 3.0
+18 11.0 14.0
+16 6.0 38.0
+1 2.0 48.0
+27 8.0 56.0
+36 13.0 52.0
+30 6.0 68.0
+13 47.0 47.0
+10 49.0 58.0
+9 27.0 43.0
+14 37.0 31.0
+18 57.0 29.0
+2 63.0 23.0
+6 53.0 12.0
+7 32.0 12.0
+18 36.0 26.0
+28 21.0 24.0
+3 17.0 34.0
+13 12.0 24.0
+19 24.0 58.0
+10 27.0 69.0
+9 15.0 77.0
+20 62.0 77.0
+25 49.0 73.0
+25 67.0 5.0
+36 56.0 39.0
+6 37.0 47.0
+5 37.0 56.0
+15 57.0 68.0
+25 47.0 16.0
+9 44.0 17.0
+8 46.0 13.0
+18 49.0 11.0
+13 49.0 42.0
+14 53.0 43.0
+3 61.0 52.0
+23 57.0 48.0
+6 56.0 37.0
+26 55.0 54.0
+16 15.0 47.0
+11 14.0 37.0
+7 11.0 31.0
+41 16.0 22.0
+35 4.0 18.0
+26 28.0 18.0
+9 26.0 52.0
+15 26.0 35.0
+3 31.0 67.0
+1 15.0 19.0
+2 22.0 22.0
+22 18.0 24.0
+27 26.0 27.0
+20 25.0 24.0
+11 22.0 27.0
+12 25.0 21.0
+10 19.0 21.0
+9 20.0 26.0
+17 18.0 18.0
diff --git a/05-vehicle-routing/data/vrp_101_14_2 b/05-vehicle-routing/data/vrp_101_14_2
new file mode 100644
index 0000000..360922f
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_101_14_2
@@ -0,0 +1,102 @@
+101 14 112
+0 35.0 35.0
+10 41.0 49.0
+7 35.0 17.0
+13 55.0 45.0
+19 55.0 20.0
+26 15.0 30.0
+3 25.0 30.0
+5 20.0 50.0
+9 10.0 43.0
+16 55.0 60.0
+16 30.0 60.0
+12 20.0 65.0
+19 50.0 35.0
+23 30.0 25.0
+20 15.0 10.0
+8 30.0 5.0
+19 10.0 20.0
+2 5.0 30.0
+12 20.0 40.0
+17 15.0 60.0
+9 45.0 65.0
+11 45.0 20.0
+18 45.0 10.0
+29 55.0 5.0
+3 65.0 35.0
+6 65.0 20.0
+17 45.0 30.0
+16 35.0 40.0
+16 41.0 37.0
+9 64.0 42.0
+21 40.0 60.0
+27 31.0 52.0
+23 35.0 69.0
+11 53.0 52.0
+14 65.0 55.0
+8 63.0 65.0
+5 2.0 60.0
+8 20.0 20.0
+16 5.0 5.0
+31 60.0 12.0
+9 40.0 25.0
+5 42.0 7.0
+5 24.0 12.0
+7 23.0 3.0
+18 11.0 14.0
+16 6.0 38.0
+1 2.0 48.0
+27 8.0 56.0
+36 13.0 52.0
+30 6.0 68.0
+13 47.0 47.0
+10 49.0 58.0
+9 27.0 43.0
+14 37.0 31.0
+18 57.0 29.0
+2 63.0 23.0
+6 53.0 12.0
+7 32.0 12.0
+18 36.0 26.0
+28 21.0 24.0
+3 17.0 34.0
+13 12.0 24.0
+19 24.0 58.0
+10 27.0 69.0
+9 15.0 77.0
+20 62.0 77.0
+25 49.0 73.0
+25 67.0 5.0
+36 56.0 39.0
+6 37.0 47.0
+5 37.0 56.0
+15 57.0 68.0
+25 47.0 16.0
+9 44.0 17.0
+8 46.0 13.0
+18 49.0 11.0
+13 49.0 42.0
+14 53.0 43.0
+3 61.0 52.0
+23 57.0 48.0
+6 56.0 37.0
+26 55.0 54.0
+16 15.0 47.0
+11 14.0 37.0
+7 11.0 31.0
+41 16.0 22.0
+35 4.0 18.0
+26 28.0 18.0
+9 26.0 52.0
+15 26.0 35.0
+3 31.0 67.0
+1 15.0 19.0
+2 22.0 22.0
+22 18.0 24.0
+27 26.0 27.0
+20 25.0 24.0
+11 22.0 27.0
+12 25.0 21.0
+10 19.0 21.0
+9 20.0 26.0
+17 18.0 18.0
diff --git a/05-vehicle-routing/data/vrp_101_8_1 b/05-vehicle-routing/data/vrp_101_8_1
new file mode 100644
index 0000000..42d8a72
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_101_8_1
@@ -0,0 +1,102 @@
+101 8 200
+0 35.0 35.0
+10 41.0 49.0
+7 35.0 17.0
+13 55.0 45.0
+19 55.0 20.0
+26 15.0 30.0
+3 25.0 30.0
+5 20.0 50.0
+9 10.0 43.0
+16 55.0 60.0
+16 30.0 60.0
+12 20.0 65.0
+19 50.0 35.0
+23 30.0 25.0
+20 15.0 10.0
+8 30.0 5.0
+19 10.0 20.0
+2 5.0 30.0
+12 20.0 40.0
+17 15.0 60.0
+9 45.0 65.0
+11 45.0 20.0
+18 45.0 10.0
+29 55.0 5.0
+3 65.0 35.0
+6 65.0 20.0
+17 45.0 30.0
+16 35.0 40.0
+16 41.0 37.0
+9 64.0 42.0
+21 40.0 60.0
+27 31.0 52.0
+23 35.0 69.0
+11 53.0 52.0
+14 65.0 55.0
+8 63.0 65.0
+5 2.0 60.0
+8 20.0 20.0
+16 5.0 5.0
+31 60.0 12.0
+9 40.0 25.0
+5 42.0 7.0
+5 24.0 12.0
+7 23.0 3.0
+18 11.0 14.0
+16 6.0 38.0
+1 2.0 48.0
+27 8.0 56.0
+36 13.0 52.0
+30 6.0 68.0
+13 47.0 47.0
+10 49.0 58.0
+9 27.0 43.0
+14 37.0 31.0
+18 57.0 29.0
+2 63.0 23.0
+6 53.0 12.0
+7 32.0 12.0
+18 36.0 26.0
+28 21.0 24.0
+3 17.0 34.0
+13 12.0 24.0
+19 24.0 58.0
+10 27.0 69.0
+9 15.0 77.0
+20 62.0 77.0
+25 49.0 73.0
+25 67.0 5.0
+36 56.0 39.0
+6 37.0 47.0
+5 37.0 56.0
+15 57.0 68.0
+25 47.0 16.0
+9 44.0 17.0
+8 46.0 13.0
+18 49.0 11.0
+13 49.0 42.0
+14 53.0 43.0
+3 61.0 52.0
+23 57.0 48.0
+6 56.0 37.0
+26 55.0 54.0
+16 15.0 47.0
+11 14.0 37.0
+7 11.0 31.0
+41 16.0 22.0
+35 4.0 18.0
+26 28.0 18.0
+9 26.0 52.0
+15 26.0 35.0
+3 31.0 67.0
+1 15.0 19.0
+2 22.0 22.0
+22 18.0 24.0
+27 26.0 27.0
+20 25.0 24.0
+11 22.0 27.0
+12 25.0 21.0
+10 19.0 21.0
+9 20.0 26.0
+17 18.0 18.0
diff --git a/05-vehicle-routing/data/vrp_121_7_1 b/05-vehicle-routing/data/vrp_121_7_1
new file mode 100644
index 0000000..a63b9fc
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_121_7_1
@@ -0,0 +1,122 @@
+121 7 200
+0 10.0 45.0
+25 25.0 1.0
+7 25.0 3.0
+13 31.0 5.0
+6 32.0 5.0
+14 31.0 7.0
+5 32.0 9.0
+11 34.0 9.0
+19 46.0 9.0
+5 35.0 7.0
+15 34.0 6.0
+15 35.0 5.0
+17 47.0 6.0
+13 40.0 5.0
+12 39.0 3.0
+18 36.0 3.0
+13 73.0 6.0
+18 73.0 8.0
+12 24.0 36.0
+17 76.0 6.0
+4 76.0 10.0
+7 76.0 13.0
+12 78.0 3.0
+13 78.0 9.0
+8 79.0 3.0
+16 79.0 5.0
+15 79.0 11.0
+6 82.0 3.0
+5 82.0 7.0
+9 90.0 15.0
+11 84.0 3.0
+10 84.0 5.0
+3 84.0 9.0
+7 85.0 1.0
+2 87.0 5.0
+4 85.0 8.0
+4 87.0 7.0
+18 86.0 41.0
+14 86.0 44.0
+12 86.0 46.0
+17 85.0 55.0
+20 89.0 43.0
+14 89.0 46.0
+16 89.0 52.0
+10 92.0 42.0
+9 92.0 52.0
+11 94.0 42.0
+7 94.0 44.0
+13 94.0 48.0
+5 96.0 42.0
+4 99.0 46.0
+21 99.0 50.0
+13 83.0 80.0
+11 83.0 83.0
+12 85.0 81.0
+14 85.0 85.0
+10 85.0 89.0
+8 87.0 80.0
+16 87.0 86.0
+19 90.0 77.0
+5 90.0 88.0
+17 93.0 82.0
+7 93.0 84.0
+16 93.0 89.0
+14 94.0 86.0
+17 95.0 80.0
+13 99.0 89.0
+17 37.0 83.0
+13 50.0 80.0
+14 35.0 85.0
+16 35.0 87.0
+7 44.0 86.0
+13 46.0 89.0
+9 46.0 83.0
+11 46.0 87.0
+35 46.0 89.0
+5 48.0 83.0
+28 50.0 85.0
+7 50.0 88.0
+3 54.0 86.0
+10 54.0 90.0
+7 10.0 35.0
+12 10.0 40.0
+11 18.0 30.0
+10 17.0 35.0
+8 16.0 38.0
+11 14.0 40.0
+21 15.0 42.0
+4 11.0 42.0
+15 18.0 40.0
+16 21.0 39.0
+4 20.0 40.0
+16 18.0 41.0
+7 20.0 44.0
+10 22.0 44.0
+9 16.0 45.0
+11 20.0 45.0
+17 25.0 45.0
+12 30.0 55.0
+11 20.0 50.0
+7 22.0 51.0
+9 18.0 49.0
+11 16.0 48.0
+12 20.0 55.0
+7 18.0 53.0
+8 14.0 50.0
+6 15.0 51.0
+5 16.0 54.0
+12 28.0 33.0
+13 33.0 38.0
+7 30.0 50.0
+7 13.0 40.0
+8 15.0 36.0
+11 18.0 31.0
+13 25.0 37.0
+11 30.0 46.0
+10 25.0 52.0
+7 16.0 33.0
+4 25.0 35.0
+20 5.0 40.0
+13 5.0 50.0
diff --git a/05-vehicle-routing/data/vrp_135_7_1 b/05-vehicle-routing/data/vrp_135_7_1
new file mode 100644
index 0000000..56772eb
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_135_7_1
@@ -0,0 +1,136 @@
+135 7 2210
+0 -6.0 15.0
+30 3.2 5.1
+226 24.6 8.3
+37 23.3 1.3
+24 27.8 8.3
+36 29.0 8.0
+1 31.0 8.0
+31 33.5 10.5
+24 30.0 10.5
+30 29.0 10.0
+24 26.5 11.7
+24 28.3 14.3
+32 27.0 14.3
+24 23.5 19.0
+24 26.0 20.0
+19 25.0 20.0
+24 20.5 19.0
+18 -20.0 13.0
+36 -21.0 14.0
+115 -30.0 30.0
+24 -5.0 30.0
+24 1.3 17.8
+61 1.8 13.8
+71 1.8 13.1
+36 2.0 13.6
+18 4.8 17.0
+30 7.0 15.0
+31 9.8 16.6
+36 11.4 14.5
+18 14.4 11.3
+1004 11.0 12.0
+18 9.3 10.7
+34 0.6 2.8
+504 -30.0 -10.0
+18 2.0 0.0
+39 14.5 1.0
+24 15.0 1.8
+37 17.2 2.4
+24 17.2 4.2
+99 18.2 4.4
+24 20.3 2.1
+24 22.8 3.1
+36 23.0 4.0
+30 20.8 4.0
+25 20.8 4.0
+24 18.5 6.4
+122 -14.0 16.0
+196 -0.5 6.9
+229 3.2 2.8
+83 5.6 1.8
+18 8.7 2.8
+24 9.0 3.3
+306 9.0 3.5
+18 11.2 3.3
+20 10.8 4.7
+18 11.5 4.6
+24 12.3 4.7
+22 12.3 5.5
+24 11.2 6.9
+18 6.5 9.7
+18 5.8 8.5
+24 7.2 6.0
+24 7.2 4.0
+30 -4.0 -4.0
+24 -3.0 1.2
+40 -40.0 49.0
+166 -15.0 10.0
+254 -11.0 -10.0
+187 -25.0 -20.0
+94 -25.0 -35.0
+17 -24.0 -35.0
+285 -18.0 10.0
+24 -2.0 10.0
+24 -4.0 8.0
+205 -3.0 5.0
+23 2.1 6.2
+28 -1.7 3.0
+51 -3.0 2.0
+49 -7.0 0.0
+19 -3.0 -6.0
+262 -30.0 -11.0
+120 -62.0 -10.0
+266 -8.0 30.0
+704 1.0 60.0
+38 10.0 52.0
+18 10.0 52.0
+30 10.0 51.0
+25 16.0 29.0
+12 26.0 21.0
+18 16.0 21.0
+25 15.5 19.2
+35 0.0 16.5
+18 17.2 14.3
+12 16.5 7.8
+20 16.9 7.7
+1126 18.0 2.0
+9 16.2 4.0
+36 15.0 4.0
+12 15.0 3.0
+31 14.8 2.4
+96 14.5 3.0
+27 13.0 2.6
+54 11.8 3.0
+137 12.0 4.0
+12 12.8 3.6
+58 13.4 5.5
+206 -150.0 8.0
+178 -152.0 1.0
+486 -152.0 0.0
+36 -142.0 -31.0
+261 -78.0 -19.0
+135 -78.0 -18.0
+135 -78.0 -17.0
+373 -80.0 -14.0
+535 -118.0 22.0
+42 -107.0 30.0
+9 -85.0 14.0
+110 -78.0 15.0
+36 -15.0 16.0
+18 -62.0 32.0
+726 -120.0 -20.0
+187 -90.0 -22.0
+23 -79.0 -19.0
+134 -79.0 -18.5
+47 -79.0 -18.0
+51 -78.0 -17.5
+43 -79.0 -17.0
+79 -80.0 -17.0
+112 -80.0 -16.0
+91 -80.0 -15.0
+232 -48.0 37.0
+483 -85.0 15.0
+828 -62.0 -9.0
+11 -15.0 -4.0
+12 -1.0 3.2
diff --git a/05-vehicle-routing/data/vrp_151_12_1 b/05-vehicle-routing/data/vrp_151_12_1
new file mode 100644
index 0000000..8f43000
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_151_12_1
@@ -0,0 +1,152 @@
+151 12 200
+0 35.0 35.0
+10 41.0 49.0
+7 35.0 17.0
+13 55.0 45.0
+19 55.0 20.0
+26 15.0 30.0
+3 25.0 30.0
+5 20.0 50.0
+9 10.0 43.0
+16 55.0 60.0
+16 30.0 60.0
+12 20.0 65.0
+19 50.0 35.0
+23 30.0 25.0
+20 15.0 10.0
+8 30.0 5.0
+19 10.0 20.0
+2 5.0 30.0
+12 20.0 40.0
+17 15.0 60.0
+9 45.0 65.0
+11 45.0 20.0
+18 45.0 10.0
+29 55.0 5.0
+3 65.0 35.0
+6 65.0 20.0
+17 45.0 30.0
+16 35.0 40.0
+16 41.0 37.0
+9 64.0 42.0
+21 40.0 60.0
+27 31.0 52.0
+23 35.0 69.0
+11 53.0 52.0
+14 65.0 55.0
+8 63.0 65.0
+5 2.0 60.0
+8 20.0 20.0
+16 5.0 5.0
+31 60.0 12.0
+9 40.0 25.0
+5 42.0 7.0
+5 24.0 12.0
+7 23.0 3.0
+18 11.0 14.0
+16 6.0 38.0
+1 2.0 48.0
+27 8.0 56.0
+36 13.0 52.0
+30 6.0 68.0
+13 47.0 47.0
+10 49.0 58.0
+9 27.0 43.0
+14 37.0 31.0
+18 57.0 29.0
+2 63.0 23.0
+6 53.0 12.0
+7 32.0 12.0
+18 36.0 26.0
+28 21.0 24.0
+3 17.0 34.0
+13 12.0 24.0
+19 24.0 58.0
+10 27.0 69.0
+9 15.0 77.0
+20 62.0 77.0
+25 49.0 73.0
+25 67.0 5.0
+36 56.0 39.0
+6 37.0 47.0
+5 37.0 56.0
+15 57.0 68.0
+25 47.0 16.0
+9 44.0 17.0
+8 46.0 13.0
+18 49.0 11.0
+13 49.0 42.0
+14 53.0 43.0
+3 61.0 52.0
+23 57.0 48.0
+6 56.0 37.0
+26 55.0 54.0
+16 15.0 47.0
+11 14.0 37.0
+7 11.0 31.0
+41 16.0 22.0
+35 4.0 18.0
+26 28.0 18.0
+9 26.0 52.0
+15 26.0 35.0
+3 31.0 67.0
+1 15.0 19.0
+2 22.0 22.0
+22 18.0 24.0
+27 26.0 27.0
+20 25.0 24.0
+11 22.0 27.0
+12 25.0 21.0
+10 19.0 21.0
+9 20.0 26.0
+17 18.0 18.0
+7 37.0 52.0
+30 49.0 49.0
+16 52.0 64.0
+9 20.0 26.0
+21 40.0 30.0
+15 21.0 47.0
+19 17.0 63.0
+23 31.0 62.0
+11 52.0 33.0
+5 51.0 21.0
+19 42.0 41.0
+29 31.0 32.0
+23 5.0 25.0
+21 12.0 42.0
+10 36.0 16.0
+15 52.0 41.0
+3 27.0 23.0
+41 17.0 33.0
+9 13.0 13.0
+28 57.0 58.0
+8 62.0 42.0
+8 42.0 57.0
+16 16.0 57.0
+10 8.0 52.0
+28 7.0 38.0
+7 27.0 68.0
+15 30.0 48.0
+14 43.0 67.0
+6 58.0 48.0
+19 58.0 27.0
+11 37.0 69.0
+12 38.0 46.0
+23 46.0 10.0
+26 61.0 33.0
+17 62.0 63.0
+6 63.0 69.0
+9 32.0 22.0
+15 45.0 35.0
+14 59.0 15.0
+7 5.0 6.0
+27 10.0 17.0
+13 21.0 10.0
+11 5.0 64.0
+16 30.0 15.0
+10 39.0 10.0
+5 32.0 39.0
+25 25.0 32.0
+17 25.0 55.0
+18 48.0 28.0
+10 56.0 37.0
diff --git a/05-vehicle-routing/data/vrp_151_12_2 b/05-vehicle-routing/data/vrp_151_12_2
new file mode 100644
index 0000000..9a7434d
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_151_12_2
@@ -0,0 +1,152 @@
+151 12 200
+0 35.0 35.0
+7 37.0 52.0
+30 49.0 49.0
+16 52.0 64.0
+9 20.0 26.0
+21 40.0 30.0
+15 21.0 47.0
+19 17.0 63.0
+23 31.0 62.0
+11 52.0 33.0
+5 51.0 21.0
+19 42.0 41.0
+29 31.0 32.0
+23 5.0 25.0
+21 12.0 42.0
+10 36.0 16.0
+15 52.0 41.0
+3 27.0 23.0
+41 17.0 33.0
+9 13.0 13.0
+28 57.0 58.0
+8 62.0 42.0
+8 42.0 57.0
+16 16.0 57.0
+10 8.0 52.0
+28 7.0 38.0
+7 27.0 68.0
+15 30.0 48.0
+14 43.0 67.0
+6 58.0 48.0
+19 58.0 27.0
+11 37.0 69.0
+12 38.0 46.0
+23 46.0 10.0
+26 61.0 33.0
+17 62.0 63.0
+6 63.0 69.0
+9 32.0 22.0
+15 45.0 35.0
+14 59.0 15.0
+7 5.0 6.0
+27 10.0 17.0
+13 21.0 10.0
+11 5.0 64.0
+16 30.0 15.0
+10 39.0 10.0
+5 32.0 39.0
+25 25.0 32.0
+17 25.0 55.0
+18 48.0 28.0
+10 56.0 37.0
+10 41.0 49.0
+7 35.0 17.0
+13 55.0 45.0
+19 55.0 20.0
+26 15.0 30.0
+3 25.0 30.0
+5 20.0 50.0
+9 10.0 43.0
+16 55.0 60.0
+16 30.0 60.0
+12 20.0 65.0
+19 50.0 35.0
+23 30.0 25.0
+20 15.0 10.0
+8 30.0 5.0
+19 10.0 20.0
+2 5.0 30.0
+12 20.0 40.0
+17 15.0 60.0
+9 45.0 65.0
+11 45.0 20.0
+18 45.0 10.0
+29 55.0 5.0
+3 65.0 35.0
+6 65.0 20.0
+17 45.0 30.0
+16 35.0 40.0
+16 41.0 37.0
+9 64.0 42.0
+21 40.0 60.0
+27 31.0 52.0
+23 35.0 69.0
+11 53.0 52.0
+14 65.0 55.0
+8 63.0 65.0
+5 2.0 60.0
+8 20.0 20.0
+16 5.0 5.0
+31 60.0 12.0
+9 40.0 25.0
+5 42.0 7.0
+5 24.0 12.0
+7 23.0 3.0
+18 11.0 14.0
+16 6.0 38.0
+1 2.0 48.0
+27 8.0 56.0
+36 13.0 52.0
+30 6.0 68.0
+13 47.0 47.0
+10 49.0 58.0
+9 27.0 43.0
+14 37.0 31.0
+18 57.0 29.0
+2 63.0 23.0
+6 53.0 12.0
+7 32.0 12.0
+18 36.0 26.0
+28 21.0 24.0
+3 17.0 34.0
+13 12.0 24.0
+19 24.0 58.0
+10 27.0 69.0
+9 15.0 77.0
+20 62.0 77.0
+25 49.0 73.0
+25 67.0 5.0
+36 56.0 39.0
+6 37.0 47.0
+5 37.0 56.0
+15 57.0 68.0
+25 47.0 16.0
+9 44.0 17.0
+8 46.0 13.0
+18 49.0 11.0
+13 49.0 42.0
+14 53.0 43.0
+3 61.0 52.0
+23 57.0 48.0
+6 56.0 37.0
+26 55.0 54.0
+16 15.0 47.0
+11 14.0 37.0
+7 11.0 31.0
+41 16.0 22.0
+35 4.0 18.0
+26 28.0 18.0
+9 26.0 52.0
+15 26.0 35.0
+3 31.0 67.0
+1 15.0 19.0
+2 22.0 22.0
+22 18.0 24.0
+27 26.0 27.0
+20 25.0 24.0
+11 22.0 27.0
+12 25.0 21.0
+10 19.0 21.0
+9 20.0 26.0
+17 18.0 18.0
diff --git a/05-vehicle-routing/data/vrp_151_14_1 b/05-vehicle-routing/data/vrp_151_14_1
new file mode 100644
index 0000000..4ea114c
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_151_14_1
@@ -0,0 +1,152 @@
+151 14 1918
+0 0.0 0.0
+50 80.0 -76.0
+170 79.0 -80.0
+297 64.0 -66.0
+9 61.0 -65.0
+630 73.0 -71.0
+179 63.0 -76.0
+179 57.0 -69.0
+216 64.0 -76.0
+4 64.0 -81.0
+9 78.0 -69.0
+154 20.0 2.0
+117 14.0 0.0
+63 7.0 -9.0
+436 9.0 18.0
+905 17.0 -5.0
+14 14.0 -6.0
+3 20.0 8.0
+10 20.0 15.0
+166 9.0 6.0
+211 19.0 12.0
+8 8.0 -2.0
+25 9.0 15.0
+139 24.0 5.0
+213 14.0 16.0
+758 -2.0 0.0
+429 20.0 11.0
+5 7.0 -2.0
+136 -101.0 -25.0
+501 -94.0 -26.0
+93 -99.0 -22.0
+21 -112.0 -20.0
+169 -95.0 -19.0
+22 -112.0 -27.0
+3 -102.0 -15.0
+271 -96.0 -13.0
+433 -110.0 -17.0
+3 -101.0 -15.0
+1079 -105.0 -10.0
+233 -106.0 -26.0
+11 -109.0 -26.0
+10 -102.0 -26.0
+78 -101.0 -14.0
+63 -99.0 -12.0
+4 -94.0 -24.0
+59 -96.0 -13.0
+8 -100.0 -16.0
+34 -111.0 -12.0
+234 -109.0 -12.0
+30 -66.0 -12.0
+40 -48.0 -27.0
+123 -59.0 3.0
+7 -47.0 -4.0
+33 -62.0 -10.0
+369 -72.0 -11.0
+11 -59.0 -1.0
+23 -73.0 -6.0
+208 -62.0 -3.0
+4 -72.0 -17.0
+8 -67.0 -11.0
+36 -69.0 -25.0
+504 -56.0 1.0
+16 -66.0 -6.0
+574 -72.0 -7.0
+19 -46.0 -15.0
+235 -45.0 -18.0
+445 -51.0 -21.0
+6 -73.0 -18.0
+43 -61.0 -15.0
+210 -57.0 60.0
+268 -46.0 74.0
+410 -57.0 67.0
+124 -49.0 72.0
+11 46.0 101.0
+1085 50.0 113.0
+5 54.0 103.0
+529 -80.0 28.0
+107 -81.0 35.0
+274 -85.0 31.0
+23 -81.0 29.0
+156 -76.0 28.0
+32 -8.0 -53.0
+177 -11.0 -55.0
+16 -12.0 -48.0
+8 -10.0 -57.0
+19 -8.0 -49.0
+52 -5.0 -61.0
+47 -14.0 -57.0
+4 106.0 6.0
+372 96.0 6.0
+525 92.0 23.0
+101 102.0 13.0
+898 90.0 24.0
+40 94.0 6.0
+32 107.0 5.0
+1017 106.0 -1.0
+103 102.0 16.0
+109 90.0 8.0
+76 113.0 -1.0
+1025 88.0 15.0
+53 87.0 21.0
+22 100.0 2.0
+991 108.0 16.0
+4 114.0 18.0
+147 99.0 11.0
+49 87.0 4.0
+276 110.0 16.0
+7 102.0 25.0
+78 -8.0 108.0
+389 -9.0 102.0
+4 -10.0 108.0
+388 -4.0 108.0
+135 -8.0 104.0
+233 -9.0 100.0
+74 -7.0 111.0
+51 -4.0 102.0
+4 -12.0 101.0
+216 -14.0 112.0
+85 -10.0 105.0
+37 15.0 -4.0
+6 30.0 -7.0
+12 31.0 8.0
+12 15.0 1.0
+45 17.0 7.0
+3 19.0 -8.0
+122 19.0 -9.0
+46 14.0 -2.0
+132 21.0 -7.0
+464 24.0 -10.0
+11 26.0 10.0
+11 20.0 -6.0
+16 23.0 3.0
+119 27.0 -5.0
+60 25.0 3.0
+14 27.0 -2.0
+13 17.0 -4.0
+90 31.0 -10.0
+5 22.0 2.0
+458 28.0 -3.0
+6 -5.0 13.0
+3 1.0 18.0
+99 2.0 -2.0
+73 -9.0 10.0
+13 5.0 -4.0
+10 -1.0 1.0
+9 -11.0 19.0
+417 -12.0 3.0
+150 -3.0 -3.0
+49 -18.0 4.0
+271 -21.0 1.0
+50 58.0 -75.0
diff --git a/05-vehicle-routing/data/vrp_151_14_2 b/05-vehicle-routing/data/vrp_151_14_2
new file mode 100644
index 0000000..eefbfac
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_151_14_2
@@ -0,0 +1,152 @@
+151 14 2021
+0 0.0 0.0
+841 3.0 0.0
+74 -1.0 6.0
+687 3.0 0.0
+175 6.0 -3.0
+183 -5.0 -1.0
+124 -2.0 0.0
+4 0.0 -2.0
+81 4.0 1.0
+56 3.0 -4.0
+29 -1.0 -4.0
+23 4.0 -4.0
+4 -3.0 1.0
+9 -1.0 3.0
+7 6.0 2.0
+181 -19.0 109.0
+54 -14.0 115.0
+884 -21.0 111.0
+822 -19.0 107.0
+637 -28.0 114.0
+59 -26.0 108.0
+140 -27.0 107.0
+531 -17.0 109.0
+58 -13.0 114.0
+15 -25.0 116.0
+11 -13.0 111.0
+185 -24.0 108.0
+159 -13.0 117.0
+285 -28.0 115.0
+4 -27.0 105.0
+10 -15.0 115.0
+3 -24.0 104.0
+4 -26.0 104.0
+11 -13.0 114.0
+45 -15.0 117.0
+4 -14.0 5.0
+225 -30.0 18.0
+286 -20.0 23.0
+262 -19.0 15.0
+4 -13.0 13.0
+391 -11.0 17.0
+54 -27.0 17.0
+518 -33.0 10.0
+815 -29.0 13.0
+25 -13.0 25.0
+29 -16.0 19.0
+18 -18.0 26.0
+588 -24.0 8.0
+68 -31.0 20.0
+480 -27.0 9.0
+5 -20.0 14.0
+16 -17.0 16.0
+34 -32.0 4.0
+5 -31.0 22.0
+9 2.0 -108.0
+22 1.0 -122.0
+120 -10.0 -125.0
+152 -1.0 -132.0
+21 -13.0 -111.0
+44 -16.0 -126.0
+676 2.0 -127.0
+17 -14.0 -122.0
+764 -11.0 -113.0
+13 -84.0 -43.0
+6 -97.0 -27.0
+718 -102.0 -58.0
+52 -88.0 -43.0
+11 0.0 -14.0
+93 10.0 -16.0
+398 -1.0 -13.0
+48 4.0 -4.0
+37 10.0 -5.0
+3 3.0 -15.0
+8 4.0 -8.0
+406 13.0 -7.0
+1086 10.0 -3.0
+3 9.0 -4.0
+52 -88.0 50.0
+88 -105.0 53.0
+28 -98.0 51.0
+686 -102.0 61.0
+25 -93.0 56.0
+101 -97.0 51.0
+4 -107.0 57.0
+15 -30.0 3.0
+445 -27.0 5.0
+4 -25.0 -1.0
+593 -31.0 2.0
+327 -25.0 4.0
+92 -30.0 4.0
+21 -21.0 1.0
+12 -22.0 3.0
+44 -26.0 3.0
+773 -27.0 6.0
+4 -22.0 5.0
+14 -30.0 9.0
+783 -29.0 0.0
+3 -29.0 0.0
+500 19.0 1.0
+390 8.0 6.0
+64 15.0 0.0
+90 19.0 1.0
+8 12.0 -1.0
+931 12.0 6.0
+496 14.0 0.0
+19 11.0 6.0
+325 7.0 7.0
+56 14.0 -2.0
+20 11.0 7.0
+338 14.0 4.0
+5 19.0 7.0
+17 30.0 34.0
+222 29.0 28.0
+6 35.0 26.0
+4 24.0 24.0
+8 105.0 19.0
+164 109.0 35.0
+96 125.0 22.0
+6 115.0 9.0
+630 129.0 14.0
+4 121.0 11.0
+115 115.0 14.0
+645 126.0 15.0
+187 134.0 18.0
+260 120.0 25.0
+5 14.0 62.0
+9 24.0 77.0
+9 22.0 69.0
+4 26.0 76.0
+17 28.0 59.0
+167 12.0 67.0
+1026 24.0 60.0
+25 21.0 77.0
+104 20.0 66.0
+7 10.0 73.0
+48 9.0 65.0
+153 4.0 57.0
+30 1.0 61.0
+161 2.0 67.0
+3 0.0 68.0
+12 -8.0 63.0
+4 -7.0 57.0
+55 4.0 59.0
+11 -29.0 -39.0
+3 -23.0 -43.0
+14 -19.0 -47.0
+408 -26.0 -46.0
+49 -22.0 -48.0
+4 -21.0 -37.0
+5 -29.0 -46.0
+1066 -1.0 -4.0
diff --git a/05-vehicle-routing/data/vrp_151_14_3 b/05-vehicle-routing/data/vrp_151_14_3
new file mode 100644
index 0000000..515e04c
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_151_14_3
@@ -0,0 +1,152 @@
+151 14 1874
+0 0.0 0.0
+12 -10.0 11.0
+17 -16.0 17.0
+619 -6.0 15.0
+61 -4.0 7.0
+3 -11.0 10.0
+4 -3.0 9.0
+13 -14.0 12.0
+44 -15.0 13.0
+12 -15.0 7.0
+35 -3.0 5.0
+114 -65.0 22.0
+29 -72.0 1.0
+76 -66.0 14.0
+106 -83.0 8.0
+157 -84.0 11.0
+43 -68.0 26.0
+4 -59.0 28.0
+38 -85.0 15.0
+212 -60.0 22.0
+42 -79.0 18.0
+10 -60.0 11.0
+19 -71.0 14.0
+856 -60.0 5.0
+13 -71.0 22.0
+67 -86.0 4.0
+144 -62.0 11.0
+310 -67.0 22.0
+85 88.0 50.0
+1061 91.0 66.0
+344 79.0 63.0
+22 79.0 64.0
+15 9.0 92.0
+219 -8.0 90.0
+44 -6.0 92.0
+370 4.0 64.0
+74 8.0 92.0
+82 -8.0 70.0
+3 -3.0 83.0
+39 11.0 87.0
+54 -17.0 71.0
+22 0.0 89.0
+171 -3.0 92.0
+65 -6.0 76.0
+405 -10.0 65.0
+19 -9.0 90.0
+7 -11.0 64.0
+586 8.0 68.0
+15 -13.0 90.0
+149 7.0 69.0
+141 -6.0 14.0
+9 -16.0 27.0
+261 -11.0 20.0
+4 -10.0 18.0
+5 -11.0 14.0
+21 -4.0 24.0
+25 -4.0 12.0
+86 -9.0 24.0
+86 2.0 13.0
+124 0.0 20.0
+123 -9.0 28.0
+11 -16.0 18.0
+41 -4.0 30.0
+279 -11.0 20.0
+149 -5.0 22.0
+9 -71.0 -68.0
+65 -78.0 -67.0
+155 -57.0 -54.0
+6 -72.0 -56.0
+83 -66.0 -46.0
+11 -78.0 -62.0
+735 22.0 -5.0
+4 17.0 -9.0
+56 22.0 -13.0
+26 17.0 4.0
+5 11.0 -6.0
+34 25.0 -5.0
+13 10.0 -5.0
+1017 8.0 -16.0
+85 27.0 -2.0
+10 22.0 -6.0
+7 -36.0 83.0
+6 -29.0 85.0
+524 -34.0 90.0
+16 -29.0 87.0
+15 -37.0 88.0
+117 -105.0 -16.0
+48 -94.0 -24.0
+43 -102.0 -11.0
+64 -105.0 -22.0
+30 -90.0 -17.0
+3 -100.0 -19.0
+21 -95.0 -11.0
+514 44.0 50.0
+625 40.0 50.0
+7 44.0 55.0
+257 48.0 40.0
+603 46.0 37.0
+4 51.0 45.0
+4 88.0 24.0
+21 87.0 24.0
+54 85.0 22.0
+9 85.0 20.0
+860 94.0 32.0
+9 95.0 23.0
+62 95.0 23.0
+16 83.0 24.0
+197 96.0 29.0
+14 -96.0 -2.0
+6 -95.0 -2.0
+140 -91.0 13.0
+334 -101.0 1.0
+421 -89.0 1.0
+911 -94.0 13.0
+789 -93.0 11.0
+37 -92.0 12.0
+7 -98.0 6.0
+131 -88.0 6.0
+25 -102.0 10.0
+24 -101.0 0.0
+3 -94.0 -1.0
+1027 -24.0 88.0
+114 -35.0 93.0
+34 -33.0 91.0
+6 -36.0 92.0
+530 -27.0 91.0
+75 -26.0 96.0
+794 -32.0 90.0
+241 -26.0 92.0
+18 -30.0 92.0
+243 -28.0 88.0
+31 -30.0 96.0
+5 -31.0 93.0
+68 35.0 -114.0
+30 46.0 -102.0
+497 28.0 -121.0
+15 36.0 -123.0
+583 34.0 25.0
+911 33.0 26.0
+388 25.0 26.0
+36 31.0 23.0
+7 32.0 31.0
+206 33.0 19.0
+1037 35.0 30.0
+14 32.0 20.0
+22 30.0 19.0
+16 33.0 28.0
+770 34.0 20.0
+148 29.0 19.0
+50 29.0 23.0
+94 -9.0 12.0
diff --git a/05-vehicle-routing/data/vrp_151_15_1 b/05-vehicle-routing/data/vrp_151_15_1
new file mode 100644
index 0000000..f3da927
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_151_15_1
@@ -0,0 +1,152 @@
+151 15 1544
+0 0.0 0.0
+122 -11.0 106.0
+30 -12.0 115.0
+3 4.0 123.0
+5 7.0 113.0
+422 -13.0 125.0
+13 -11.0 105.0
+22 8.0 107.0
+173 6.0 111.0
+41 0.0 125.0
+8 8.0 118.0
+8 4.0 114.0
+110 0.0 113.0
+198 -5.0 109.0
+384 -11.0 112.0
+193 6.0 106.0
+238 -11.0 123.0
+265 -6.0 126.0
+3 26.0 -33.0
+469 34.0 -38.0
+7 26.0 -44.0
+6 28.0 -36.0
+108 30.0 -39.0
+10 44.0 -31.0
+40 43.0 -27.0
+635 45.0 -22.0
+49 37.0 -44.0
+149 32.0 -23.0
+403 35.0 -41.0
+42 48.0 -27.0
+70 41.0 -35.0
+201 45.0 -41.0
+66 43.0 -36.0
+526 34.0 -38.0
+6 43.0 -23.0
+279 32.0 -41.0
+160 33.0 -24.0
+3 48.0 -26.0
+4 102.0 85.0
+105 90.0 69.0
+46 95.0 88.0
+474 79.0 74.0
+7 77.0 89.0
+7 99.0 81.0
+99 99.0 80.0
+126 81.0 84.0
+119 77.0 69.0
+46 86.0 85.0
+273 82.0 89.0
+91 86.0 86.0
+294 84.0 87.0
+4 23.0 14.0
+81 13.0 4.0
+285 13.0 7.0
+90 16.0 2.0
+462 17.0 -1.0
+65 16.0 3.0
+6 13.0 10.0
+4 23.0 11.0
+529 15.0 5.0
+165 17.0 -1.0
+4 11.0 0.0
+394 19.0 1.0
+3 14.0 3.0
+60 18.0 -3.0
+899 118.0 8.0
+169 99.0 21.0
+10 106.0 -5.0
+47 124.0 8.0
+37 104.0 3.0
+23 126.0 4.0
+25 115.0 7.0
+444 110.0 -3.0
+3 98.0 -6.0
+99 111.0 13.0
+58 -67.0 90.0
+7 -56.0 96.0
+11 -56.0 97.0
+15 -57.0 100.0
+381 -54.0 101.0
+7 -50.0 96.0
+39 -64.0 103.0
+502 -63.0 103.0
+115 -57.0 100.0
+85 -53.0 106.0
+3 -57.0 96.0
+136 -67.0 97.0
+111 -61.0 98.0
+66 -66.0 95.0
+50 -51.0 104.0
+252 -62.0 95.0
+4 -67.0 106.0
+119 -51.0 102.0
+746 -86.0 87.0
+6 -82.0 78.0
+51 -92.0 86.0
+322 -86.0 78.0
+1023 6.0 67.0
+5 13.0 59.0
+10 21.0 66.0
+153 8.0 59.0
+29 20.0 70.0
+13 1.0 62.0
+3 19.0 57.0
+4 15.0 70.0
+70 20.0 55.0
+9 8.0 51.0
+147 3.0 54.0
+3 18.0 68.0
+10 12.0 53.0
+4 3.0 65.0
+439 4.0 62.0
+14 19.0 52.0
+729 92.0 -28.0
+29 92.0 -26.0
+3 80.0 -28.0
+98 91.0 -18.0
+113 93.0 -24.0
+122 76.0 -15.0
+11 88.0 -33.0
+90 83.0 -28.0
+789 86.0 -23.0
+6 92.0 -20.0
+179 82.0 -29.0
+3 88.0 -29.0
+3 82.0 -27.0
+21 88.0 -13.0
+869 83.0 -29.0
+246 90.0 -17.0
+10 49.0 -4.0
+36 58.0 -6.0
+14 64.0 -7.0
+134 54.0 -15.0
+175 66.0 -3.0
+32 65.0 -13.0
+20 57.0 -20.0
+212 38.0 -2.0
+45 -44.0 88.0
+173 -36.0 100.0
+240 -37.0 98.0
+16 -39.0 110.0
+27 -34.0 111.0
+61 -47.0 111.0
+203 -28.0 105.0
+5 -38.0 98.0
+369 -32.0 91.0
+81 -25.0 97.0
+128 -46.0 111.0
+406 -36.0 107.0
+32 -35.0 92.0
+13 -4.0 106.0
diff --git a/05-vehicle-routing/data/vrp_16_3_1 b/05-vehicle-routing/data/vrp_16_3_1
new file mode 100644
index 0000000..cbbacfe
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_16_3_1
@@ -0,0 +1,17 @@
+16 3 90
+0 30.0 40.0
+7 37.0 52.0
+30 49.0 49.0
+16 52.0 64.0
+9 20.0 26.0
+21 40.0 30.0
+15 21.0 47.0
+19 17.0 63.0
+23 31.0 62.0
+11 52.0 33.0
+5 51.0 21.0
+19 42.0 41.0
+29 31.0 32.0
+23 5.0 25.0
+21 12.0 42.0
+10 36.0 16.0
diff --git a/05-vehicle-routing/data/vrp_16_5_1 b/05-vehicle-routing/data/vrp_16_5_1
new file mode 100644
index 0000000..bd57861
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_16_5_1
@@ -0,0 +1,17 @@
+16 5 55
+0 30.0 40.0
+7 37.0 52.0
+30 49.0 49.0
+16 52.0 64.0
+9 20.0 26.0
+21 40.0 30.0
+15 21.0 47.0
+19 17.0 63.0
+23 31.0 62.0
+11 52.0 33.0
+5 51.0 21.0
+19 42.0 41.0
+29 31.0 32.0
+23 5.0 25.0
+21 12.0 42.0
+10 36.0 16.0
diff --git a/05-vehicle-routing/data/vrp_200_16_1 b/05-vehicle-routing/data/vrp_200_16_1
new file mode 100644
index 0000000..6b3d108
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_200_16_1
@@ -0,0 +1,201 @@
+200 16 200
+0 35.0 35.0
+10 41.0 49.0
+7 35.0 17.0
+13 55.0 45.0
+19 55.0 20.0
+26 15.0 30.0
+3 25.0 30.0
+5 20.0 50.0
+9 10.0 43.0
+16 55.0 60.0
+16 30.0 60.0
+12 20.0 65.0
+19 50.0 35.0
+23 30.0 25.0
+20 15.0 10.0
+8 30.0 5.0
+19 10.0 20.0
+2 5.0 30.0
+12 20.0 40.0
+17 15.0 60.0
+9 45.0 65.0
+11 45.0 20.0
+18 45.0 10.0
+29 55.0 5.0
+3 65.0 35.0
+6 65.0 20.0
+17 45.0 30.0
+16 35.0 40.0
+16 41.0 37.0
+9 64.0 42.0
+21 40.0 60.0
+27 31.0 52.0
+23 35.0 69.0
+11 53.0 52.0
+14 65.0 55.0
+8 63.0 65.0
+5 2.0 60.0
+8 20.0 20.0
+16 5.0 5.0
+31 60.0 12.0
+9 40.0 25.0
+5 42.0 7.0
+5 24.0 12.0
+7 23.0 3.0
+18 11.0 14.0
+16 6.0 38.0
+1 2.0 48.0
+27 8.0 56.0
+36 13.0 52.0
+30 6.0 68.0
+13 47.0 47.0
+10 49.0 58.0
+9 27.0 43.0
+14 37.0 31.0
+18 57.0 29.0
+2 63.0 23.0
+6 53.0 12.0
+7 32.0 12.0
+18 36.0 26.0
+28 21.0 24.0
+3 17.0 34.0
+13 12.0 24.0
+19 24.0 58.0
+10 27.0 69.0
+9 15.0 77.0
+20 62.0 77.0
+25 49.0 73.0
+25 67.0 5.0
+36 56.0 39.0
+6 37.0 47.0
+5 37.0 56.0
+15 57.0 68.0
+25 47.0 16.0
+9 44.0 17.0
+8 46.0 13.0
+18 49.0 11.0
+13 49.0 42.0
+14 53.0 43.0
+3 61.0 52.0
+23 57.0 48.0
+6 56.0 37.0
+26 55.0 54.0
+16 15.0 47.0
+11 14.0 37.0
+7 11.0 31.0
+41 16.0 22.0
+35 4.0 18.0
+26 28.0 18.0
+9 26.0 52.0
+15 26.0 35.0
+3 31.0 67.0
+1 15.0 19.0
+2 22.0 22.0
+22 18.0 24.0
+27 26.0 27.0
+20 25.0 24.0
+11 22.0 27.0
+12 25.0 21.0
+10 19.0 21.0
+9 20.0 26.0
+17 18.0 18.0
+7 37.0 52.0
+30 49.0 49.0
+16 52.0 64.0
+9 20.0 26.0
+21 40.0 30.0
+15 21.0 47.0
+19 17.0 63.0
+23 31.0 62.0
+11 52.0 33.0
+5 51.0 21.0
+19 42.0 41.0
+29 31.0 32.0
+23 5.0 25.0
+21 12.0 42.0
+10 36.0 16.0
+15 52.0 41.0
+3 27.0 23.0
+41 17.0 33.0
+9 13.0 13.0
+28 57.0 58.0
+8 62.0 42.0
+8 42.0 57.0
+16 16.0 57.0
+10 8.0 52.0
+28 7.0 38.0
+7 27.0 68.0
+15 30.0 48.0
+14 43.0 67.0
+6 58.0 48.0
+19 58.0 27.0
+11 37.0 69.0
+12 38.0 46.0
+23 46.0 10.0
+26 61.0 33.0
+17 62.0 63.0
+6 63.0 69.0
+9 32.0 22.0
+15 45.0 35.0
+14 59.0 15.0
+7 5.0 6.0
+27 10.0 17.0
+13 21.0 10.0
+11 5.0 64.0
+16 30.0 15.0
+10 39.0 10.0
+5 32.0 39.0
+25 25.0 32.0
+17 25.0 55.0
+18 48.0 28.0
+10 56.0 37.0
+18 22.0 22.0
+26 36.0 26.0
+11 21.0 45.0
+30 45.0 35.0
+21 55.0 20.0
+19 33.0 34.0
+15 50.0 50.0
+16 55.0 45.0
+29 26.0 59.0
+26 40.0 66.0
+37 55.0 65.0
+16 35.0 51.0
+12 62.0 35.0
+31 62.0 57.0
+8 62.0 24.0
+19 21.0 36.0
+20 33.0 44.0
+13 9.0 56.0
+15 62.0 48.0
+22 66.0 14.0
+28 44.0 13.0
+12 26.0 13.0
+6 11.0 28.0
+27 7.0 43.0
+14 17.0 64.0
+18 41.0 46.0
+17 55.0 34.0
+29 35.0 16.0
+13 52.0 26.0
+22 43.0 26.0
+25 31.0 76.0
+28 22.0 53.0
+27 26.0 29.0
+19 50.0 40.0
+10 55.0 50.0
+12 54.0 10.0
+14 60.0 15.0
+24 47.0 66.0
+16 30.0 60.0
+33 30.0 50.0
+15 12.0 17.0
+11 15.0 14.0
+18 16.0 19.0
+17 21.0 48.0
+21 50.0 30.0
+27 51.0 42.0
+19 50.0 15.0
+20 48.0 21.0
+5 12.0 38.0
diff --git a/05-vehicle-routing/data/vrp_200_16_2 b/05-vehicle-routing/data/vrp_200_16_2
new file mode 100644
index 0000000..cca0428
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_200_16_2
@@ -0,0 +1,201 @@
+200 16 200
+0 35.0 35.0
+18 22.0 22.0
+26 36.0 26.0
+11 21.0 45.0
+30 45.0 35.0
+21 55.0 20.0
+19 33.0 34.0
+15 50.0 50.0
+16 55.0 45.0
+29 26.0 59.0
+26 40.0 66.0
+37 55.0 65.0
+16 35.0 51.0
+12 62.0 35.0
+31 62.0 57.0
+8 62.0 24.0
+19 21.0 36.0
+20 33.0 44.0
+13 9.0 56.0
+15 62.0 48.0
+22 66.0 14.0
+28 44.0 13.0
+12 26.0 13.0
+6 11.0 28.0
+27 7.0 43.0
+14 17.0 64.0
+18 41.0 46.0
+17 55.0 34.0
+29 35.0 16.0
+13 52.0 26.0
+22 43.0 26.0
+25 31.0 76.0
+28 22.0 53.0
+27 26.0 29.0
+19 50.0 40.0
+10 55.0 50.0
+12 54.0 10.0
+14 60.0 15.0
+24 47.0 66.0
+16 30.0 60.0
+33 30.0 50.0
+15 12.0 17.0
+11 15.0 14.0
+18 16.0 19.0
+17 21.0 48.0
+21 50.0 30.0
+27 51.0 42.0
+19 50.0 15.0
+20 48.0 21.0
+5 12.0 38.0
+7 37.0 52.0
+30 49.0 49.0
+16 52.0 64.0
+9 20.0 26.0
+21 40.0 30.0
+15 21.0 47.0
+19 17.0 63.0
+23 31.0 62.0
+11 52.0 33.0
+5 51.0 21.0
+19 42.0 41.0
+29 31.0 32.0
+23 5.0 25.0
+21 12.0 42.0
+10 36.0 16.0
+15 52.0 41.0
+3 27.0 23.0
+41 17.0 33.0
+9 13.0 13.0
+28 57.0 58.0
+8 62.0 42.0
+8 42.0 57.0
+16 16.0 57.0
+10 8.0 52.0
+28 7.0 38.0
+7 27.0 68.0
+15 30.0 48.0
+14 43.0 67.0
+6 58.0 48.0
+19 58.0 27.0
+11 37.0 69.0
+12 38.0 46.0
+23 46.0 10.0
+26 61.0 33.0
+17 62.0 63.0
+6 63.0 69.0
+9 32.0 22.0
+15 45.0 35.0
+14 59.0 15.0
+7 5.0 6.0
+27 10.0 17.0
+13 21.0 10.0
+11 5.0 64.0
+16 30.0 15.0
+10 39.0 10.0
+5 32.0 39.0
+25 25.0 32.0
+17 25.0 55.0
+18 48.0 28.0
+10 56.0 37.0
+10 41.0 49.0
+7 35.0 17.0
+13 55.0 45.0
+19 55.0 20.0
+26 15.0 30.0
+3 25.0 30.0
+5 20.0 50.0
+9 10.0 43.0
+16 55.0 60.0
+16 30.0 60.0
+12 20.0 65.0
+19 50.0 35.0
+23 30.0 25.0
+20 15.0 10.0
+8 30.0 5.0
+19 10.0 20.0
+2 5.0 30.0
+12 20.0 40.0
+17 15.0 60.0
+9 45.0 65.0
+11 45.0 20.0
+18 45.0 10.0
+29 55.0 5.0
+3 65.0 35.0
+6 65.0 20.0
+17 45.0 30.0
+16 35.0 40.0
+16 41.0 37.0
+9 64.0 42.0
+21 40.0 60.0
+27 31.0 52.0
+23 35.0 69.0
+11 53.0 52.0
+14 65.0 55.0
+8 63.0 65.0
+5 2.0 60.0
+8 20.0 20.0
+16 5.0 5.0
+31 60.0 12.0
+9 40.0 25.0
+5 42.0 7.0
+5 24.0 12.0
+7 23.0 3.0
+18 11.0 14.0
+16 6.0 38.0
+1 2.0 48.0
+27 8.0 56.0
+36 13.0 52.0
+30 6.0 68.0
+13 47.0 47.0
+10 49.0 58.0
+9 27.0 43.0
+14 37.0 31.0
+18 57.0 29.0
+2 63.0 23.0
+6 53.0 12.0
+7 32.0 12.0
+18 36.0 26.0
+28 21.0 24.0
+3 17.0 34.0
+13 12.0 24.0
+19 24.0 58.0
+10 27.0 69.0
+9 15.0 77.0
+20 62.0 77.0
+25 49.0 73.0
+25 67.0 5.0
+36 56.0 39.0
+6 37.0 47.0
+5 37.0 56.0
+15 57.0 68.0
+25 47.0 16.0
+9 44.0 17.0
+8 46.0 13.0
+18 49.0 11.0
+13 49.0 42.0
+14 53.0 43.0
+3 61.0 52.0
+23 57.0 48.0
+6 56.0 37.0
+26 55.0 54.0
+16 15.0 47.0
+11 14.0 37.0
+7 11.0 31.0
+41 16.0 22.0
+35 4.0 18.0
+26 28.0 18.0
+9 26.0 52.0
+15 26.0 35.0
+3 31.0 67.0
+1 15.0 19.0
+2 22.0 22.0
+22 18.0 24.0
+27 26.0 27.0
+20 25.0 24.0
+11 22.0 27.0
+12 25.0 21.0
+10 19.0 21.0
+9 20.0 26.0
+17 18.0 18.0
diff --git a/05-vehicle-routing/data/vrp_200_17_1 b/05-vehicle-routing/data/vrp_200_17_1
new file mode 100644
index 0000000..d636478
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_200_17_1
@@ -0,0 +1,201 @@
+200 17 200
+0 35.0 35.0
+10 41.0 49.0
+7 35.0 17.0
+13 55.0 45.0
+19 55.0 20.0
+26 15.0 30.0
+3 25.0 30.0
+5 20.0 50.0
+9 10.0 43.0
+16 55.0 60.0
+16 30.0 60.0
+12 20.0 65.0
+19 50.0 35.0
+23 30.0 25.0
+20 15.0 10.0
+8 30.0 5.0
+19 10.0 20.0
+2 5.0 30.0
+12 20.0 40.0
+17 15.0 60.0
+9 45.0 65.0
+11 45.0 20.0
+18 45.0 10.0
+29 55.0 5.0
+3 65.0 35.0
+6 65.0 20.0
+17 45.0 30.0
+16 35.0 40.0
+16 41.0 37.0
+9 64.0 42.0
+21 40.0 60.0
+27 31.0 52.0
+23 35.0 69.0
+11 53.0 52.0
+14 65.0 55.0
+8 63.0 65.0
+5 2.0 60.0
+8 20.0 20.0
+16 5.0 5.0
+31 60.0 12.0
+9 40.0 25.0
+5 42.0 7.0
+5 24.0 12.0
+7 23.0 3.0
+18 11.0 14.0
+16 6.0 38.0
+1 2.0 48.0
+27 8.0 56.0
+36 13.0 52.0
+30 6.0 68.0
+13 47.0 47.0
+10 49.0 58.0
+9 27.0 43.0
+14 37.0 31.0
+18 57.0 29.0
+2 63.0 23.0
+6 53.0 12.0
+7 32.0 12.0
+18 36.0 26.0
+28 21.0 24.0
+3 17.0 34.0
+13 12.0 24.0
+19 24.0 58.0
+10 27.0 69.0
+9 15.0 77.0
+20 62.0 77.0
+25 49.0 73.0
+25 67.0 5.0
+36 56.0 39.0
+6 37.0 47.0
+5 37.0 56.0
+15 57.0 68.0
+25 47.0 16.0
+9 44.0 17.0
+8 46.0 13.0
+18 49.0 11.0
+13 49.0 42.0
+14 53.0 43.0
+3 61.0 52.0
+23 57.0 48.0
+6 56.0 37.0
+26 55.0 54.0
+16 15.0 47.0
+11 14.0 37.0
+7 11.0 31.0
+41 16.0 22.0
+35 4.0 18.0
+26 28.0 18.0
+9 26.0 52.0
+15 26.0 35.0
+3 31.0 67.0
+1 15.0 19.0
+2 22.0 22.0
+22 18.0 24.0
+27 26.0 27.0
+20 25.0 24.0
+11 22.0 27.0
+12 25.0 21.0
+10 19.0 21.0
+9 20.0 26.0
+17 18.0 18.0
+7 37.0 52.0
+30 49.0 49.0
+16 52.0 64.0
+9 20.0 26.0
+21 40.0 30.0
+15 21.0 47.0
+19 17.0 63.0
+23 31.0 62.0
+11 52.0 33.0
+5 51.0 21.0
+19 42.0 41.0
+29 31.0 32.0
+23 5.0 25.0
+21 12.0 42.0
+10 36.0 16.0
+15 52.0 41.0
+3 27.0 23.0
+41 17.0 33.0
+9 13.0 13.0
+28 57.0 58.0
+8 62.0 42.0
+8 42.0 57.0
+16 16.0 57.0
+10 8.0 52.0
+28 7.0 38.0
+7 27.0 68.0
+15 30.0 48.0
+14 43.0 67.0
+6 58.0 48.0
+19 58.0 27.0
+11 37.0 69.0
+12 38.0 46.0
+23 46.0 10.0
+26 61.0 33.0
+17 62.0 63.0
+6 63.0 69.0
+9 32.0 22.0
+15 45.0 35.0
+14 59.0 15.0
+7 5.0 6.0
+27 10.0 17.0
+13 21.0 10.0
+11 5.0 64.0
+16 30.0 15.0
+10 39.0 10.0
+5 32.0 39.0
+25 25.0 32.0
+17 25.0 55.0
+18 48.0 28.0
+10 56.0 37.0
+18 22.0 22.0
+26 36.0 26.0
+11 21.0 45.0
+30 45.0 35.0
+21 55.0 20.0
+19 33.0 34.0
+15 50.0 50.0
+16 55.0 45.0
+29 26.0 59.0
+26 40.0 66.0
+37 55.0 65.0
+16 35.0 51.0
+12 62.0 35.0
+31 62.0 57.0
+8 62.0 24.0
+19 21.0 36.0
+20 33.0 44.0
+13 9.0 56.0
+15 62.0 48.0
+22 66.0 14.0
+28 44.0 13.0
+12 26.0 13.0
+6 11.0 28.0
+27 7.0 43.0
+14 17.0 64.0
+18 41.0 46.0
+17 55.0 34.0
+29 35.0 16.0
+13 52.0 26.0
+22 43.0 26.0
+25 31.0 76.0
+28 22.0 53.0
+27 26.0 29.0
+19 50.0 40.0
+10 55.0 50.0
+12 54.0 10.0
+14 60.0 15.0
+24 47.0 66.0
+16 30.0 60.0
+33 30.0 50.0
+15 12.0 17.0
+11 15.0 14.0
+18 16.0 19.0
+17 21.0 48.0
+21 50.0 30.0
+27 51.0 42.0
+19 50.0 15.0
+20 48.0 21.0
+5 12.0 38.0
diff --git a/05-vehicle-routing/data/vrp_200_17_2 b/05-vehicle-routing/data/vrp_200_17_2
new file mode 100644
index 0000000..fa20834
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_200_17_2
@@ -0,0 +1,201 @@
+200 17 200
+0 35.0 35.0
+18 22.0 22.0
+26 36.0 26.0
+11 21.0 45.0
+30 45.0 35.0
+21 55.0 20.0
+19 33.0 34.0
+15 50.0 50.0
+16 55.0 45.0
+29 26.0 59.0
+26 40.0 66.0
+37 55.0 65.0
+16 35.0 51.0
+12 62.0 35.0
+31 62.0 57.0
+8 62.0 24.0
+19 21.0 36.0
+20 33.0 44.0
+13 9.0 56.0
+15 62.0 48.0
+22 66.0 14.0
+28 44.0 13.0
+12 26.0 13.0
+6 11.0 28.0
+27 7.0 43.0
+14 17.0 64.0
+18 41.0 46.0
+17 55.0 34.0
+29 35.0 16.0
+13 52.0 26.0
+22 43.0 26.0
+25 31.0 76.0
+28 22.0 53.0
+27 26.0 29.0
+19 50.0 40.0
+10 55.0 50.0
+12 54.0 10.0
+14 60.0 15.0
+24 47.0 66.0
+16 30.0 60.0
+33 30.0 50.0
+15 12.0 17.0
+11 15.0 14.0
+18 16.0 19.0
+17 21.0 48.0
+21 50.0 30.0
+27 51.0 42.0
+19 50.0 15.0
+20 48.0 21.0
+5 12.0 38.0
+7 37.0 52.0
+30 49.0 49.0
+16 52.0 64.0
+9 20.0 26.0
+21 40.0 30.0
+15 21.0 47.0
+19 17.0 63.0
+23 31.0 62.0
+11 52.0 33.0
+5 51.0 21.0
+19 42.0 41.0
+29 31.0 32.0
+23 5.0 25.0
+21 12.0 42.0
+10 36.0 16.0
+15 52.0 41.0
+3 27.0 23.0
+41 17.0 33.0
+9 13.0 13.0
+28 57.0 58.0
+8 62.0 42.0
+8 42.0 57.0
+16 16.0 57.0
+10 8.0 52.0
+28 7.0 38.0
+7 27.0 68.0
+15 30.0 48.0
+14 43.0 67.0
+6 58.0 48.0
+19 58.0 27.0
+11 37.0 69.0
+12 38.0 46.0
+23 46.0 10.0
+26 61.0 33.0
+17 62.0 63.0
+6 63.0 69.0
+9 32.0 22.0
+15 45.0 35.0
+14 59.0 15.0
+7 5.0 6.0
+27 10.0 17.0
+13 21.0 10.0
+11 5.0 64.0
+16 30.0 15.0
+10 39.0 10.0
+5 32.0 39.0
+25 25.0 32.0
+17 25.0 55.0
+18 48.0 28.0
+10 56.0 37.0
+10 41.0 49.0
+7 35.0 17.0
+13 55.0 45.0
+19 55.0 20.0
+26 15.0 30.0
+3 25.0 30.0
+5 20.0 50.0
+9 10.0 43.0
+16 55.0 60.0
+16 30.0 60.0
+12 20.0 65.0
+19 50.0 35.0
+23 30.0 25.0
+20 15.0 10.0
+8 30.0 5.0
+19 10.0 20.0
+2 5.0 30.0
+12 20.0 40.0
+17 15.0 60.0
+9 45.0 65.0
+11 45.0 20.0
+18 45.0 10.0
+29 55.0 5.0
+3 65.0 35.0
+6 65.0 20.0
+17 45.0 30.0
+16 35.0 40.0
+16 41.0 37.0
+9 64.0 42.0
+21 40.0 60.0
+27 31.0 52.0
+23 35.0 69.0
+11 53.0 52.0
+14 65.0 55.0
+8 63.0 65.0
+5 2.0 60.0
+8 20.0 20.0
+16 5.0 5.0
+31 60.0 12.0
+9 40.0 25.0
+5 42.0 7.0
+5 24.0 12.0
+7 23.0 3.0
+18 11.0 14.0
+16 6.0 38.0
+1 2.0 48.0
+27 8.0 56.0
+36 13.0 52.0
+30 6.0 68.0
+13 47.0 47.0
+10 49.0 58.0
+9 27.0 43.0
+14 37.0 31.0
+18 57.0 29.0
+2 63.0 23.0
+6 53.0 12.0
+7 32.0 12.0
+18 36.0 26.0
+28 21.0 24.0
+3 17.0 34.0
+13 12.0 24.0
+19 24.0 58.0
+10 27.0 69.0
+9 15.0 77.0
+20 62.0 77.0
+25 49.0 73.0
+25 67.0 5.0
+36 56.0 39.0
+6 37.0 47.0
+5 37.0 56.0
+15 57.0 68.0
+25 47.0 16.0
+9 44.0 17.0
+8 46.0 13.0
+18 49.0 11.0
+13 49.0 42.0
+14 53.0 43.0
+3 61.0 52.0
+23 57.0 48.0
+6 56.0 37.0
+26 55.0 54.0
+16 15.0 47.0
+11 14.0 37.0
+7 11.0 31.0
+41 16.0 22.0
+35 4.0 18.0
+26 28.0 18.0
+9 26.0 52.0
+15 26.0 35.0
+3 31.0 67.0
+1 15.0 19.0
+2 22.0 22.0
+22 18.0 24.0
+27 26.0 27.0
+20 25.0 24.0
+11 22.0 27.0
+12 25.0 21.0
+10 19.0 21.0
+9 20.0 26.0
+17 18.0 18.0
diff --git a/05-vehicle-routing/data/vrp_21_4_1 b/05-vehicle-routing/data/vrp_21_4_1
new file mode 100644
index 0000000..7a4ceb2
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_21_4_1
@@ -0,0 +1,22 @@
+21 4 85
+0 30.0 40.0
+19 42.0 41.0
+29 31.0 32.0
+23 5.0 25.0
+21 12.0 42.0
+10 36.0 16.0
+15 52.0 41.0
+3 27.0 23.0
+41 17.0 33.0
+9 13.0 13.0
+28 57.0 58.0
+8 62.0 42.0
+8 42.0 57.0
+16 16.0 57.0
+10 8.0 52.0
+28 7.0 38.0
+7 27.0 68.0
+15 30.0 48.0
+14 43.0 67.0
+6 58.0 48.0
+19 58.0 27.0
diff --git a/05-vehicle-routing/data/vrp_21_6_1 b/05-vehicle-routing/data/vrp_21_6_1
new file mode 100644
index 0000000..5717a50
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_21_6_1
@@ -0,0 +1,22 @@
+21 6 58
+0 30.0 40.0
+19 42.0 41.0
+29 31.0 32.0
+23 5.0 25.0
+21 12.0 42.0
+10 36.0 16.0
+15 52.0 41.0
+3 27.0 23.0
+41 17.0 33.0
+9 13.0 13.0
+28 57.0 58.0
+8 62.0 42.0
+8 42.0 57.0
+16 16.0 57.0
+10 8.0 52.0
+28 7.0 38.0
+7 27.0 68.0
+15 30.0 48.0
+14 43.0 67.0
+6 58.0 48.0
+19 58.0 27.0
diff --git a/05-vehicle-routing/data/vrp_22_4_1 b/05-vehicle-routing/data/vrp_22_4_1
new file mode 100644
index 0000000..0bce43a
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_22_4_1
@@ -0,0 +1,23 @@
+22 4 6000
+0 145.0 215.0
+1100 151.0 264.0
+700 159.0 261.0
+800 130.0 254.0
+1400 128.0 252.0
+2100 163.0 247.0
+400 146.0 246.0
+800 161.0 242.0
+100 142.0 239.0
+500 163.0 236.0
+600 148.0 232.0
+1200 128.0 231.0
+1300 156.0 217.0
+1300 129.0 214.0
+300 146.0 208.0
+900 164.0 208.0
+2100 141.0 206.0
+1000 147.0 193.0
+900 164.0 193.0
+2500 129.0 189.0
+1800 155.0 185.0
+700 139.0 182.0
diff --git a/05-vehicle-routing/data/vrp_22_6_1 b/05-vehicle-routing/data/vrp_22_6_1
new file mode 100644
index 0000000..0e4a6ba
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_22_6_1
@@ -0,0 +1,23 @@
+22 6 4000
+0 145.0 215.0
+1100 151.0 264.0
+700 159.0 261.0
+800 130.0 254.0
+1400 128.0 252.0
+2100 163.0 247.0
+400 146.0 246.0
+800 161.0 242.0
+100 142.0 239.0
+500 163.0 236.0
+600 148.0 232.0
+1200 128.0 231.0
+1300 156.0 217.0
+1300 129.0 214.0
+300 146.0 208.0
+900 164.0 208.0
+2100 141.0 206.0
+1000 147.0 193.0
+900 164.0 193.0
+2500 129.0 189.0
+1800 155.0 185.0
+700 139.0 182.0
diff --git a/05-vehicle-routing/data/vrp_23_3_1 b/05-vehicle-routing/data/vrp_23_3_1
new file mode 100644
index 0000000..d5f048a
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_23_3_1
@@ -0,0 +1,24 @@
+23 3 4500
+0 266.0 235.0
+125 295.0 272.0
+84 301.0 258.0
+60 309.0 260.0
+500 217.0 274.0
+300 218.0 278.0
+175 282.0 267.0
+350 242.0 249.0
+150 230.0 262.0
+1100 249.0 268.0
+4100 256.0 267.0
+225 265.0 257.0
+300 267.0 242.0
+250 259.0 265.0
+500 315.0 233.0
+150 329.0 252.0
+100 318.0 252.0
+250 329.0 224.0
+120 267.0 213.0
+600 275.0 192.0
+500 303.0 201.0
+175 208.0 217.0
+75 326.0 181.0
diff --git a/05-vehicle-routing/data/vrp_23_5_1 b/05-vehicle-routing/data/vrp_23_5_1
new file mode 100644
index 0000000..009fa97
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_23_5_1
@@ -0,0 +1,24 @@
+23 5 4500
+0 266.0 235.0
+125 295.0 272.0
+84 301.0 258.0
+60 309.0 260.0
+500 217.0 274.0
+300 218.0 278.0
+175 282.0 267.0
+350 242.0 249.0
+150 230.0 262.0
+1100 249.0 268.0
+4100 256.0 267.0
+225 265.0 257.0
+300 267.0 242.0
+250 259.0 265.0
+500 315.0 233.0
+150 329.0 252.0
+100 318.0 252.0
+250 329.0 224.0
+120 267.0 213.0
+600 275.0 192.0
+500 303.0 201.0
+175 208.0 217.0
+75 326.0 181.0
diff --git a/05-vehicle-routing/data/vrp_241_22_1 b/05-vehicle-routing/data/vrp_241_22_1
new file mode 100644
index 0000000..89f669a
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_241_22_1
@@ -0,0 +1,242 @@
+241 22 200
+0 0.0 0.0
+40 2.8867 5.0
+40 -2.8868 5.0
+40 -5.7735 0.0
+40 -2.8867 -5.0
+40 2.8868 -5.0
+40 8.6603 5.0
+40 0.0 10.0
+40 -8.6603 5.0
+40 -8.6603 -5.0
+40 0.0 -10.0
+40 8.6603 -5.0
+10 5.3405 0.75
+10 3.3198 4.25
+10 6.4952 -1.25
+20 7.2169 -2.5
+10 7.9386 -3.75
+10 6.4952 1.25
+20 7.2169 2.5
+10 7.9386 3.75
+10 2.0207 5.0
+10 -2.0207 5.0
+10 4.3301 5.0
+20 5.7735 5.0
+10 7.2169 5.0
+10 2.1651 6.25
+20 1.4434 7.5
+10 0.7217 8.75
+10 -3.3198 4.25
+10 -5.3405 0.75
+10 -2.1651 6.25
+20 -1.4434 7.5
+10 -0.7217 8.75
+10 -4.3301 5.0
+20 -5.7735 5.0
+10 -7.2169 5.0
+10 -5.3405 -0.75
+10 -3.3198 -4.25
+10 -6.4952 1.25
+20 -7.2169 2.5
+10 -7.9386 3.75
+10 -6.4952 -1.25
+20 -7.2169 -2.5
+10 -7.9386 -3.75
+10 -2.0207 -5.0
+10 2.0207 -5.0
+10 -4.3301 -5.0
+20 -5.7735 -5.0
+10 -7.2169 -5.0
+10 -2.1651 -6.25
+20 -1.4434 -7.5
+10 -0.7217 -8.75
+10 3.3198 -4.25
+10 5.3405 -0.75
+10 2.1651 -6.25
+20 1.4434 -7.5
+10 0.7217 -8.75
+10 4.3301 -5.0
+20 5.7735 -5.0
+10 7.2169 -5.0
+40 7.2169 0.0
+40 3.6084 6.25
+40 -3.6084 6.25
+40 -7.2169 0.0
+40 -3.6084 -6.25
+40 3.6084 -6.25
+40 10.8253 6.25
+40 0.0 12.5
+40 -10.8253 6.25
+40 -10.8253 -6.25
+40 0.0 -12.5
+40 10.8253 -6.25
+10 6.6756 0.9375
+10 4.1497 5.3125
+10 8.119 -1.5625
+20 9.0211 -3.125
+10 9.9232 -4.6875
+10 8.119 1.5625
+20 9.0211 3.125
+10 9.9232 4.6875
+10 2.5259 6.25
+10 -2.5259 6.25
+10 5.4127 6.25
+20 7.2169 6.25
+10 9.0211 6.25
+10 2.7063 7.8125
+20 1.8042 9.375
+10 0.9021 10.9375
+10 -4.1497 5.3125
+10 -6.6756 0.9375
+10 -2.7063 7.8125
+20 -1.8042 9.375
+10 -0.9021 10.9375
+10 -5.4127 6.25
+20 -7.2169 6.25
+10 -9.0211 6.25
+10 -6.6756 -0.9375
+10 -4.1497 -5.3125
+10 -8.119 1.5625
+20 -9.0211 3.125
+10 -9.9232 4.6875
+10 -8.119 -1.5625
+20 -9.0211 -3.125
+10 -9.9232 -4.6875
+10 -2.5259 -6.25
+10 2.5259 -6.25
+10 -5.4127 -6.25
+20 -7.2169 -6.25
+10 -9.0211 -6.25
+10 -2.7063 -7.8125
+20 -1.8042 -9.375
+10 -0.9021 -10.9375
+10 4.1497 -5.3125
+10 6.6756 -0.9375
+10 2.7063 -7.8125
+20 1.8042 -9.375
+10 0.9021 -10.9375
+10 5.4127 -6.25
+20 7.2169 -6.25
+10 9.0211 -6.25
+40 9.0211 0.0
+40 4.5105 7.8125
+40 -4.5105 7.8125
+40 -9.0211 0.0
+40 -4.5105 -7.8125
+40 4.5106 -7.8125
+40 13.5316 7.8125
+40 0.0 15.625
+40 -13.5316 7.8125
+40 -13.5316 -7.8125
+40 0.0 -15.625
+40 13.5316 -7.8125
+10 8.3445 1.1719
+10 5.1871 6.6406
+10 10.1487 -1.9531
+20 11.2764 -3.9062
+10 12.404 -5.8594
+10 10.1487 1.9531
+20 11.2764 3.9062
+10 12.404 5.8594
+10 3.1574 7.8125
+10 -3.1574 7.8125
+10 6.7658 7.8125
+20 9.0211 7.8125
+10 11.2764 7.8125
+10 3.3829 9.7656
+20 2.2553 11.7187
+10 1.1276 13.6719
+10 -5.1871 6.6406
+10 -8.3445 1.1719
+10 -3.3829 9.7656
+20 -2.2553 11.7187
+10 -1.1276 13.6719
+10 -6.7658 7.8125
+20 -9.0211 7.8125
+10 -11.2764 7.8125
+10 -8.3445 -1.1719
+10 -5.1871 -6.6406
+10 -10.1487 1.9531
+20 -11.2764 3.9062
+10 -12.404 5.8594
+10 -10.1487 -1.9531
+20 -11.2764 -3.9063
+10 -12.404 -5.8594
+10 -3.1574 -7.8125
+10 3.1574 -7.8125
+10 -6.7658 -7.8125
+20 -9.0211 -7.8125
+10 -11.2764 -7.8125
+10 -3.3829 -9.7656
+20 -2.2553 -11.7187
+10 -1.1276 -13.6719
+10 5.1871 -6.6406
+10 8.3445 -1.1719
+10 3.3829 -9.7656
+20 2.2553 -11.7187
+10 1.1276 -13.6719
+10 6.7658 -7.8125
+20 9.0211 -7.8125
+10 11.2764 -7.8125
+40 11.2764 0.0
+40 5.6382 9.7656
+40 -5.6382 9.7656
+40 -11.2764 0.0
+40 -5.6382 -9.7656
+40 5.6382 -9.7656
+40 16.9146 9.7656
+40 0.0 19.5312
+40 -16.9146 9.7656
+40 -16.9146 -9.7656
+40 0.0 -19.5312
+40 16.9146 -9.7656
+10 10.4306 1.4648
+10 6.4839 8.3008
+10 12.6859 -2.4414
+20 14.0955 -4.8828
+10 15.505 -7.3242
+10 12.6859 2.4414
+20 14.0955 4.8828
+10 15.505 7.3242
+10 3.9467 9.7656
+10 -3.9467 9.7656
+10 8.4573 9.7656
+20 11.2764 9.7656
+10 14.0955 9.7656
+10 4.2286 12.207
+20 2.8191 14.6484
+10 1.4095 17.0898
+10 -6.4839 8.3008
+10 -10.4306 1.4648
+10 -4.2286 12.207
+20 -2.8191 14.6484
+10 -1.4095 17.0898
+10 -8.4573 9.7656
+20 -11.2764 9.7656
+10 -14.0955 9.7656
+10 -10.4306 -1.4648
+10 -6.4839 -8.3008
+10 -12.6859 2.4414
+20 -14.0955 4.8828
+10 -15.505 7.3242
+10 -12.6859 -2.4414
+20 -14.0955 -4.8828
+10 -15.505 -7.3242
+10 -3.9467 -9.7656
+10 3.9467 -9.7656
+10 -8.4573 -9.7656
+20 -11.2764 -9.7656
+10 -14.0955 -9.7656
+10 -4.2286 -12.207
+20 -2.8191 -14.6484
+10 -1.4095 -17.0898
+10 6.4839 -8.3008
+10 10.4306 -1.4648
+10 4.2286 -12.207
+20 2.8191 -14.6484
+10 1.4095 -17.0898
+10 8.4573 -9.7656
+20 11.2764 -9.7656
+10 14.0955 -9.7656
+40 5.7735 0.0
diff --git a/05-vehicle-routing/data/vrp_253_27_1 b/05-vehicle-routing/data/vrp_253_27_1
new file mode 100644
index 0000000..7ecb669
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_253_27_1
@@ -0,0 +1,254 @@
+253 27 1000
+0 0.0 0.0
+300 3.0 3.0
+300 1.0 3.0
+300 -1.0 3.0
+300 -3.0 3.0
+300 -3.0 1.0
+300 -3.0 -1.0
+300 -3.0 -3.0
+300 -1.0 -3.0
+300 1.0 -3.0
+300 3.0 -3.0
+300 3.0 -1.0
+180 5.0 1.0
+180 5.0 3.0
+180 5.0 5.0
+180 3.0 5.0
+180 1.0 5.0
+180 -1.0 5.0
+180 -3.0 5.0
+180 -5.0 5.0
+180 -5.0 3.0
+180 -5.0 1.0
+180 -5.0 -1.0
+180 -5.0 -3.0
+180 -5.0 -5.0
+180 -3.0 -5.0
+180 -1.0 -5.0
+180 1.0 -5.0
+180 3.0 -5.0
+180 5.0 -5.0
+180 5.0 -3.0
+180 5.0 -1.0
+128 7.0 1.0
+128 7.0 3.0
+128 7.0 5.0
+128 7.0 7.0
+128 5.0 7.0
+128 3.0 7.0
+128 1.0 7.0
+128 -1.0 7.0
+128 -3.0 7.0
+128 -5.0 7.0
+128 -7.0 7.0
+128 -7.0 5.0
+128 -7.0 3.0
+128 -7.0 1.0
+128 -7.0 -1.0
+128 -7.0 -3.0
+128 -7.0 -5.0
+128 -7.0 -7.0
+128 -5.0 -7.0
+128 -3.0 -7.0
+128 -1.0 -7.0
+128 1.0 -7.0
+128 3.0 -7.0
+128 5.0 -7.0
+128 7.0 -7.0
+128 7.0 -5.0
+128 7.0 -3.0
+128 7.0 -1.0
+100 9.0 1.0
+100 9.0 3.0
+100 9.0 5.0
+100 9.0 7.0
+100 9.0 9.0
+100 7.0 9.0
+100 5.0 9.0
+100 3.0 9.0
+100 1.0 9.0
+100 -1.0 9.0
+100 -3.0 9.0
+100 -5.0 9.0
+100 -7.0 9.0
+100 -9.0 9.0
+100 -9.0 7.0
+100 -9.0 5.0
+100 -9.0 3.0
+100 -9.0 1.0
+100 -9.0 -1.0
+100 -9.0 -3.0
+100 -9.0 -5.0
+100 -9.0 -7.0
+100 -9.0 -9.0
+100 -7.0 -9.0
+100 -5.0 -9.0
+100 -3.0 -9.0
+100 -1.0 -9.0
+100 1.0 -9.0
+100 3.0 -9.0
+100 5.0 -9.0
+100 7.0 -9.0
+100 9.0 -9.0
+100 9.0 -7.0
+100 9.0 -5.0
+100 9.0 -3.0
+100 9.0 -1.0
+81 11.0 1.0
+81 11.0 3.0
+81 11.0 5.0
+81 11.0 7.0
+81 11.0 9.0
+81 11.0 11.0
+81 9.0 11.0
+81 7.0 11.0
+81 5.0 11.0
+81 3.0 11.0
+81 1.0 11.0
+81 -1.0 11.0
+81 -3.0 11.0
+81 -5.0 11.0
+81 -7.0 11.0
+81 -9.0 11.0
+81 -11.0 11.0
+81 -11.0 9.0
+81 -11.0 7.0
+81 -11.0 5.0
+81 -11.0 3.0
+81 -11.0 1.0
+81 -11.0 -1.0
+81 -11.0 -3.0
+81 -11.0 -5.0
+81 -11.0 -7.0
+81 -11.0 -9.0
+81 -11.0 -11.0
+81 -9.0 -11.0
+81 -7.0 -11.0
+81 -5.0 -11.0
+81 -3.0 -11.0
+81 -1.0 -11.0
+81 1.0 -11.0
+81 3.0 -11.0
+81 5.0 -11.0
+81 7.0 -11.0
+81 9.0 -11.0
+81 11.0 -11.0
+81 11.0 -9.0
+81 11.0 -7.0
+81 11.0 -5.0
+81 11.0 -3.0
+81 11.0 -1.0
+69 13.0 1.0
+69 13.0 3.0
+69 13.0 5.0
+69 13.0 7.0
+69 13.0 9.0
+69 13.0 11.0
+69 13.0 13.0
+69 11.0 13.0
+69 9.0 13.0
+69 7.0 13.0
+69 5.0 13.0
+69 3.0 13.0
+69 1.0 13.0
+69 -1.0 13.0
+69 -3.0 13.0
+69 -5.0 13.0
+69 -7.0 13.0
+69 -9.0 13.0
+69 -11.0 13.0
+69 -13.0 13.0
+69 -13.0 11.0
+69 -13.0 9.0
+69 -13.0 7.0
+69 -13.0 5.0
+69 -13.0 3.0
+69 -13.0 1.0
+69 -13.0 -1.0
+69 -13.0 -3.0
+69 -13.0 -5.0
+69 -13.0 -7.0
+69 -13.0 -9.0
+69 -13.0 -11.0
+69 -13.0 -13.0
+69 -11.0 -13.0
+69 -9.0 -13.0
+69 -7.0 -13.0
+69 -5.0 -13.0
+69 -3.0 -13.0
+69 -1.0 -13.0
+69 1.0 -13.0
+69 3.0 -13.0
+69 5.0 -13.0
+69 7.0 -13.0
+69 9.0 -13.0
+69 11.0 -13.0
+69 13.0 -13.0
+69 13.0 -11.0
+69 13.0 -9.0
+69 13.0 -7.0
+69 13.0 -5.0
+69 13.0 -3.0
+69 13.0 -1.0
+60 15.0 1.0
+60 15.0 3.0
+60 15.0 5.0
+60 15.0 7.0
+60 15.0 9.0
+60 15.0 11.0
+60 15.0 13.0
+60 15.0 15.0
+60 13.0 15.0
+60 11.0 15.0
+60 9.0 15.0
+60 7.0 15.0
+60 5.0 15.0
+60 3.0 15.0
+60 1.0 15.0
+60 -1.0 15.0
+60 -3.0 15.0
+60 -5.0 15.0
+60 -7.0 15.0
+60 -9.0 15.0
+60 -11.0 15.0
+60 -13.0 15.0
+60 -15.0 15.0
+60 -15.0 13.0
+60 -15.0 11.0
+60 -15.0 9.0
+60 -15.0 7.0
+60 -15.0 5.0
+60 -15.0 3.0
+60 -15.0 1.0
+60 -15.0 -1.0
+60 -15.0 -3.0
+60 -15.0 -5.0
+60 -15.0 -7.0
+60 -15.0 -9.0
+60 -15.0 -11.0
+60 -15.0 -13.0
+60 -15.0 -15.0
+60 -13.0 -15.0
+60 -11.0 -15.0
+60 -9.0 -15.0
+60 -7.0 -15.0
+60 -5.0 -15.0
+60 -3.0 -15.0
+60 -1.0 -15.0
+60 1.0 -15.0
+60 3.0 -15.0
+60 5.0 -15.0
+60 7.0 -15.0
+60 9.0 -15.0
+60 11.0 -15.0
+60 13.0 -15.0
+60 15.0 -15.0
+60 15.0 -13.0
+60 15.0 -11.0
+60 15.0 -9.0
+60 15.0 -7.0
+60 15.0 -5.0
+60 15.0 -3.0
+60 15.0 -1.0
+300 3.0 1.0
diff --git a/05-vehicle-routing/data/vrp_256_14_1 b/05-vehicle-routing/data/vrp_256_14_1
new file mode 100644
index 0000000..a236e42
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_256_14_1
@@ -0,0 +1,257 @@
+256 14 1000
+0 0.0 -15.0
+300 1.0 -14.0
+180 -2.0 -13.0
+300 0.0 -13.0
+180 2.0 -13.0
+128 -3.0 -12.0
+180 -1.0 -12.0
+180 1.0 -12.0
+128 3.0 -12.0
+100 -4.0 -11.0
+128 -2.0 -11.0
+180 0.0 -11.0
+128 2.0 -11.0
+100 4.0 -11.0
+81 -5.0 -10.0
+100 -3.0 -10.0
+128 -1.0 -10.0
+128 1.0 -10.0
+100 3.0 -10.0
+81 5.0 -10.0
+69 -6.0 -9.0
+81 -4.0 -9.0
+100 -2.0 -9.0
+128 0.0 -9.0
+100 2.0 -9.0
+81 4.0 -9.0
+69 6.0 -9.0
+60 -7.0 -8.0
+69 -5.0 -8.0
+81 -3.0 -8.0
+100 -1.0 -8.0
+100 1.0 -8.0
+81 3.0 -8.0
+69 5.0 -8.0
+60 7.0 -8.0
+52 -8.0 -7.0
+60 -6.0 -7.0
+69 -4.0 -7.0
+81 -2.0 -7.0
+100 0.0 -7.0
+81 2.0 -7.0
+69 4.0 -7.0
+60 6.0 -7.0
+52 8.0 -7.0
+47 -9.0 -6.0
+52 -7.0 -6.0
+60 -5.0 -6.0
+69 -3.0 -6.0
+81 -1.0 -6.0
+81 1.0 -6.0
+69 3.0 -6.0
+60 5.0 -6.0
+52 7.0 -6.0
+47 9.0 -6.0
+42 -10.0 -5.0
+47 -8.0 -5.0
+52 -6.0 -5.0
+60 -4.0 -5.0
+69 -2.0 -5.0
+81 0.0 -5.0
+69 2.0 -5.0
+60 4.0 -5.0
+52 6.0 -5.0
+47 8.0 -5.0
+42 10.0 -5.0
+39 -11.0 -4.0
+42 -9.0 -4.0
+47 -7.0 -4.0
+52 -5.0 -4.0
+60 -3.0 -4.0
+69 -1.0 -4.0
+69 1.0 -4.0
+60 3.0 -4.0
+52 5.0 -4.0
+47 7.0 -4.0
+42 9.0 -4.0
+39 11.0 -4.0
+36 -12.0 -3.0
+39 -10.0 -3.0
+42 -8.0 -3.0
+47 -6.0 -3.0
+52 -4.0 -3.0
+60 -2.0 -3.0
+69 0.0 -3.0
+60 2.0 -3.0
+52 4.0 -3.0
+47 6.0 -3.0
+42 8.0 -3.0
+39 10.0 -3.0
+36 12.0 -3.0
+33 -13.0 -2.0
+36 -11.0 -2.0
+39 -9.0 -2.0
+42 -7.0 -2.0
+47 -5.0 -2.0
+52 -3.0 -2.0
+60 -1.0 -2.0
+60 1.0 -2.0
+52 3.0 -2.0
+47 5.0 -2.0
+42 7.0 -2.0
+39 9.0 -2.0
+36 11.0 -2.0
+33 13.0 -2.0
+31 -14.0 -1.0
+33 -12.0 -1.0
+36 -10.0 -1.0
+39 -8.0 -1.0
+42 -6.0 -1.0
+47 -4.0 -1.0
+52 -2.0 -1.0
+60 0.0 -1.0
+52 2.0 -1.0
+47 4.0 -1.0
+42 6.0 -1.0
+39 8.0 -1.0
+36 10.0 -1.0
+33 12.0 -1.0
+31 14.0 -1.0
+29 -15.0 0.0
+31 -13.0 0.0
+33 -11.0 0.0
+36 -9.0 0.0
+39 -7.0 0.0
+42 -5.0 0.0
+47 -3.0 0.0
+52 -1.0 0.0
+52 1.0 0.0
+47 3.0 0.0
+42 5.0 0.0
+39 7.0 0.0
+36 9.0 0.0
+33 11.0 0.0
+31 13.0 0.0
+29 15.0 0.0
+29 -14.0 1.0
+31 -12.0 1.0
+33 -10.0 1.0
+36 -8.0 1.0
+39 -6.0 1.0
+42 -4.0 1.0
+47 -2.0 1.0
+52 0.0 1.0
+47 2.0 1.0
+42 4.0 1.0
+39 6.0 1.0
+36 8.0 1.0
+33 10.0 1.0
+31 12.0 1.0
+29 14.0 1.0
+29 -13.0 2.0
+31 -11.0 2.0
+33 -9.0 2.0
+36 -7.0 2.0
+39 -5.0 2.0
+42 -3.0 2.0
+47 -1.0 2.0
+47 1.0 2.0
+42 3.0 2.0
+39 5.0 2.0
+36 7.0 2.0
+33 9.0 2.0
+31 11.0 2.0
+29 13.0 2.0
+29 -12.0 3.0
+31 -10.0 3.0
+33 -8.0 3.0
+36 -6.0 3.0
+39 -4.0 3.0
+42 -2.0 3.0
+47 0.0 3.0
+42 2.0 3.0
+39 4.0 3.0
+36 6.0 3.0
+33 8.0 3.0
+31 10.0 3.0
+29 12.0 3.0
+29 -11.0 4.0
+31 -9.0 4.0
+33 -7.0 4.0
+36 -5.0 4.0
+39 -3.0 4.0
+42 -1.0 4.0
+42 1.0 4.0
+39 3.0 4.0
+36 5.0 4.0
+33 7.0 4.0
+31 9.0 4.0
+29 11.0 4.0
+29 -10.0 5.0
+31 -8.0 5.0
+33 -6.0 5.0
+36 -4.0 5.0
+39 -2.0 5.0
+42 0.0 5.0
+39 2.0 5.0
+36 4.0 5.0
+33 6.0 5.0
+31 8.0 5.0
+29 10.0 5.0
+29 -9.0 6.0
+31 -7.0 6.0
+33 -5.0 6.0
+36 -3.0 6.0
+39 -1.0 6.0
+39 1.0 6.0
+36 3.0 6.0
+33 5.0 6.0
+31 7.0 6.0
+29 9.0 6.0
+29 -8.0 7.0
+31 -6.0 7.0
+33 -4.0 7.0
+36 -2.0 7.0
+39 0.0 7.0
+36 2.0 7.0
+33 4.0 7.0
+31 6.0 7.0
+29 8.0 7.0
+29 -7.0 8.0
+31 -5.0 8.0
+33 -3.0 8.0
+36 -1.0 8.0
+36 1.0 8.0
+33 3.0 8.0
+31 5.0 8.0
+29 7.0 8.0
+29 -6.0 9.0
+31 -4.0 9.0
+33 -2.0 9.0
+36 0.0 9.0
+33 2.0 9.0
+31 4.0 9.0
+29 6.0 9.0
+29 -5.0 10.0
+31 -3.0 10.0
+33 -1.0 10.0
+33 1.0 10.0
+31 3.0 10.0
+29 5.0 10.0
+29 -4.0 11.0
+31 -2.0 11.0
+33 0.0 11.0
+31 2.0 11.0
+29 4.0 11.0
+29 -3.0 12.0
+31 -1.0 12.0
+31 1.0 12.0
+29 3.0 12.0
+29 -2.0 13.0
+31 0.0 13.0
+29 2.0 13.0
+29 -1.0 14.0
+29 1.0 14.0
+29 0.0 15.0
+300 -1.0 -14.0
diff --git a/05-vehicle-routing/data/vrp_262_25_1 b/05-vehicle-routing/data/vrp_262_25_1
new file mode 100644
index 0000000..1b55418
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_262_25_1
@@ -0,0 +1,263 @@
+262 25 500
+0 -33.0 33.0
+6 -99.0 -97.0
+72 -59.0 50.0
+93 0.0 14.0
+28 -17.0 -66.0
+5 -69.0 -19.0
+43 31.0 12.0
+1 5.0 -41.0
+36 -12.0 10.0
+53 -64.0 70.0
+63 -12.0 85.0
+25 -18.0 64.0
+50 -77.0 -16.0
+57 -53.0 88.0
+1 83.0 -24.0
+66 24.0 41.0
+37 17.0 21.0
+51 42.0 96.0
+47 -65.0 0.0
+88 -47.0 -26.0
+75 85.0 36.0
+48 -35.0 -54.0
+40 54.0 -21.0
+8 64.0 -17.0
+69 55.0 89.0
+93 17.0 -25.0
+29 -61.0 66.0
+5 -61.0 26.0
+53 17.0 -72.0
+8 79.0 38.0
+24 -62.0 -2.0
+53 -90.0 -68.0
+13 52.0 66.0
+47 -54.0 -50.0
+57 8.0 -84.0
+9 37.0 -90.0
+74 -83.0 49.0
+83 35.0 -1.0
+96 7.0 59.0
+42 12.0 48.0
+80 57.0 95.0
+22 92.0 28.0
+56 -3.0 97.0
+43 -7.0 52.0
+12 42.0 -15.0
+73 77.0 -43.0
+32 59.0 -49.0
+8 25.0 91.0
+79 69.0 -19.0
+79 -82.0 -14.0
+4 74.0 -70.0
+14 69.0 59.0
+17 29.0 33.0
+19 -97.0 9.0
+44 -58.0 9.0
+5 28.0 93.0
+37 7.0 73.0
+100 -28.0 73.0
+62 -76.0 55.0
+90 41.0 42.0
+57 92.0 40.0
+44 -84.0 -29.0
+37 -12.0 42.0
+80 51.0 -45.0
+60 -37.0 46.0
+95 -97.0 35.0
+56 14.0 89.0
+56 60.0 58.0
+9 -63.0 -75.0
+39 -18.0 34.0
+15 -46.0 -82.0
+4 -86.0 -79.0
+58 -43.0 -30.0
+73 -44.0 7.0
+5 -3.0 -20.0
+12 36.0 41.0
+3 -30.0 -94.0
+8 79.0 -62.0
+31 51.0 70.0
+48 -61.0 -26.0
+3 6.0 94.0
+52 -19.0 -62.0
+99 -20.0 51.0
+29 -81.0 37.0
+12 7.0 31.0
+50 52.0 12.0
+98 83.0 -91.0
+4 -7.0 -92.0
+56 82.0 -74.0
+24 -70.0 85.0
+33 -83.0 -30.0
+45 71.0 -61.0
+98 85.0 11.0
+4 66.0 -48.0
+36 78.0 -87.0
+72 9.0 -79.0
+26 -36.0 4.0
+71 66.0 39.0
+84 92.0 -17.0
+21 -46.0 -79.0
+99 -30.0 -63.0
+33 -42.0 63.0
+84 20.0 42.0
+74 15.0 98.0
+93 1.0 -17.0
+25 64.0 20.0
+39 -96.0 85.0
+42 93.0 -29.0
+77 -40.0 -84.0
+68 86.0 35.0
+50 91.0 36.0
+42 62.0 -8.0
+71 -24.0 4.0
+85 11.0 96.0
+78 -53.0 62.0
+64 -28.0 -71.0
+5 7.0 -4.0
+93 95.0 -9.0
+18 -3.0 17.0
+38 53.0 -90.0
+29 58.0 -19.0
+81 -83.0 84.0
+4 -1.0 49.0
+23 -4.0 17.0
+11 -82.0 -3.0
+86 -43.0 47.0
+2 6.0 -6.0
+31 70.0 99.0
+54 68.0 -29.0
+87 -94.0 -30.0
+17 -94.0 -20.0
+81 -21.0 77.0
+72 64.0 37.0
+10 -70.0 -19.0
+50 88.0 65.0
+25 2.0 29.0
+71 33.0 57.0
+85 -70.0 6.0
+51 -38.0 -56.0
+29 -80.0 -95.0
+55 -5.0 -39.0
+45 8.0 -22.0
+100 -61.0 -76.0
+38 76.0 -22.0
+11 49.0 -71.0
+82 -30.0 -68.0
+50 1.0 34.0
+39 77.0 79.0
+6 -58.0 64.0
+87 82.0 -97.0
+83 -80.0 55.0
+22 81.0 -86.0
+24 39.0 -49.0
+69 -67.0 72.0
+97 -25.0 -89.0
+65 -44.0 -95.0
+97 32.0 -68.0
+79 -17.0 49.0
+79 93.0 49.0
+46 99.0 81.0
+52 10.0 -49.0
+39 63.0 -41.0
+94 38.0 39.0
+97 -28.0 39.0
+18 -2.0 -47.0
+3 38.0 8.0
+23 -42.0 -6.0
+19 -67.0 88.0
+40 19.0 93.0
+49 40.0 27.0
+96 -61.0 56.0
+58 43.0 33.0
+15 -18.0 -39.0
+21 -69.0 19.0
+56 75.0 -18.0
+67 31.0 85.0
+10 25.0 58.0
+36 -16.0 36.0
+84 91.0 15.0
+59 60.0 -39.0
+85 49.0 -47.0
+60 42.0 33.0
+33 16.0 -81.0
+62 -78.0 53.0
+70 53.0 -80.0
+79 -46.0 -26.0
+98 -25.0 -54.0
+99 69.0 -46.0
+18 0.0 -78.0
+55 -84.0 74.0
+75 -16.0 16.0
+94 -63.0 -14.0
+89 51.0 -77.0
+13 -39.0 61.0
+19 5.0 97.0
+19 -55.0 39.0
+90 70.0 -14.0
+35 0.0 95.0
+76 -45.0 7.0
+3 38.0 -24.0
+11 50.0 -37.0
+98 59.0 71.0
+92 -73.0 -96.0
+1 -29.0 72.0
+2 -47.0 12.0
+63 -88.0 -61.0
+57 -88.0 36.0
+50 -46.0 -3.0
+19 26.0 -37.0
+24 -39.0 -67.0
+14 92.0 27.0
+18 -80.0 -31.0
+77 93.0 -50.0
+28 -20.0 -5.0
+72 -22.0 73.0
+49 -4.0 -7.0
+58 54.0 -48.0
+84 -70.0 39.0
+58 54.0 -82.0
+41 29.0 41.0
+98 -87.0 51.0
+77 -96.0 -36.0
+57 49.0 8.0
+39 -5.0 54.0
+99 -26.0 43.0
+83 -11.0 60.0
+54 40.0 61.0
+86 82.0 35.0
+2 -92.0 12.0
+14 -93.0 -86.0
+42 -66.0 63.0
+14 -72.0 -87.0
+55 -57.0 -84.0
+2 23.0 52.0
+18 -56.0 -62.0
+17 -19.0 59.0
+22 63.0 -14.0
+28 -13.0 38.0
+3 -19.0 87.0
+96 44.0 -84.0
+53 98.0 -17.0
+15 -16.0 62.0
+36 3.0 66.0
+98 26.0 22.0
+78 -38.0 -81.0
+92 70.0 80.0
+65 17.0 -35.0
+64 96.0 -83.0
+43 -77.0 80.0
+50 -14.0 44.0
+0 33.0 -33.0
+0 -50.0 60.0
+0 -50.0 -60.0
+0 75.0 0.0
+0 0.0 75.0
+0 -75.0 0.0
+0 0.0 -75.0
+0 70.0 0.0
+0 40.0 80.0
+0 40.0 -80.0
+0 -60.0 20.0
+0 -60.0 -20.0
diff --git a/05-vehicle-routing/data/vrp_26_8_1 b/05-vehicle-routing/data/vrp_26_8_1
new file mode 100644
index 0000000..405cc1e
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_26_8_1
@@ -0,0 +1,27 @@
+26 8 48
+0 30.0 40.0
+15 52.0 41.0
+3 27.0 23.0
+41 17.0 33.0
+9 13.0 13.0
+28 57.0 58.0
+8 62.0 42.0
+8 42.0 57.0
+16 16.0 57.0
+10 8.0 52.0
+28 7.0 38.0
+7 27.0 68.0
+15 30.0 48.0
+14 43.0 67.0
+6 58.0 48.0
+19 58.0 27.0
+11 37.0 69.0
+12 38.0 46.0
+23 46.0 10.0
+26 61.0 33.0
+17 62.0 63.0
+6 63.0 69.0
+9 32.0 22.0
+15 45.0 35.0
+14 59.0 15.0
+7 5.0 6.0
diff --git a/05-vehicle-routing/data/vrp_301_28_1 b/05-vehicle-routing/data/vrp_301_28_1
new file mode 100644
index 0000000..931b9f6
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_301_28_1
@@ -0,0 +1,302 @@
+301 28 200
+0 0.0 0.0
+40 2.8867 5.0
+40 -2.8868 5.0
+40 -5.7735 0.0
+40 -2.8867 -5.0
+40 2.8868 -5.0
+40 8.6603 5.0
+40 0.0 10.0
+40 -8.6603 5.0
+40 -8.6603 -5.0
+40 0.0 -10.0
+40 8.6603 -5.0
+10 5.3405 0.75
+10 3.3198 4.25
+10 6.4952 -1.25
+20 7.2169 -2.5
+10 7.9386 -3.75
+10 6.4952 1.25
+20 7.2169 2.5
+10 7.9386 3.75
+10 2.0207 5.0
+10 -2.0207 5.0
+10 4.3301 5.0
+20 5.7735 5.0
+10 7.2169 5.0
+10 2.1651 6.25
+20 1.4434 7.5
+10 0.7217 8.75
+10 -3.3198 4.25
+10 -5.3405 0.75
+10 -2.1651 6.25
+20 -1.4434 7.5
+10 -0.7217 8.75
+10 -4.3301 5.0
+20 -5.7735 5.0
+10 -7.2169 5.0
+10 -5.3405 -0.75
+10 -3.3198 -4.25
+10 -6.4952 1.25
+20 -7.2169 2.5
+10 -7.9386 3.75
+10 -6.4952 -1.25
+20 -7.2169 -2.5
+10 -7.9386 -3.75
+10 -2.0207 -5.0
+10 2.0207 -5.0
+10 -4.3301 -5.0
+20 -5.7735 -5.0
+10 -7.2169 -5.0
+10 -2.1651 -6.25
+20 -1.4434 -7.5
+10 -0.7217 -8.75
+10 3.3198 -4.25
+10 5.3405 -0.75
+10 2.1651 -6.25
+20 1.4434 -7.5
+10 0.7217 -8.75
+10 4.3301 -5.0
+20 5.7735 -5.0
+10 7.2169 -5.0
+40 7.2169 0.0
+40 3.6084 6.25
+40 -3.6084 6.25
+40 -7.2169 0.0
+40 -3.6084 -6.25
+40 3.6084 -6.25
+40 10.8253 6.25
+40 0.0 12.5
+40 -10.8253 6.25
+40 -10.8253 -6.25
+40 0.0 -12.5
+40 10.8253 -6.25
+10 6.6756 0.9375
+10 4.1497 5.3125
+10 8.119 -1.5625
+20 9.0211 -3.125
+10 9.9232 -4.6875
+10 8.119 1.5625
+20 9.0211 3.125
+10 9.9232 4.6875
+10 2.5259 6.25
+10 -2.5259 6.25
+10 5.4127 6.25
+20 7.2169 6.25
+10 9.0211 6.25
+10 2.7063 7.8125
+20 1.8042 9.375
+10 0.9021 10.9375
+10 -4.1497 5.3125
+10 -6.6756 0.9375
+10 -2.7063 7.8125
+20 -1.8042 9.375
+10 -0.9021 10.9375
+10 -5.4127 6.25
+20 -7.2169 6.25
+10 -9.0211 6.25
+10 -6.6756 -0.9375
+10 -4.1497 -5.3125
+10 -8.119 1.5625
+20 -9.0211 3.125
+10 -9.9232 4.6875
+10 -8.119 -1.5625
+20 -9.0211 -3.125
+10 -9.9232 -4.6875
+10 -2.5259 -6.25
+10 2.5259 -6.25
+10 -5.4127 -6.25
+20 -7.2169 -6.25
+10 -9.0211 -6.25
+10 -2.7063 -7.8125
+20 -1.8042 -9.375
+10 -0.9021 -10.9375
+10 4.1497 -5.3125
+10 6.6756 -0.9375
+10 2.7063 -7.8125
+20 1.8042 -9.375
+10 0.9021 -10.9375
+10 5.4127 -6.25
+20 7.2169 -6.25
+10 9.0211 -6.25
+40 9.0211 0.0
+40 4.5105 7.8125
+40 -4.5105 7.8125
+40 -9.0211 0.0
+40 -4.5105 -7.8125
+40 4.5106 -7.8125
+40 13.5316 7.8125
+40 0.0 15.625
+40 -13.5316 7.8125
+40 -13.5316 -7.8125
+40 0.0 -15.625
+40 13.5316 -7.8125
+10 8.3445 1.1719
+10 5.1871 6.6406
+10 10.1487 -1.9531
+20 11.2764 -3.9062
+10 12.404 -5.8594
+10 10.1487 1.9531
+20 11.2764 3.9062
+10 12.404 5.8594
+10 3.1574 7.8125
+10 -3.1574 7.8125
+10 6.7658 7.8125
+20 9.0211 7.8125
+10 11.2764 7.8125
+10 3.3829 9.7656
+20 2.2553 11.7187
+10 1.1276 13.6719
+10 -5.1871 6.6406
+10 -8.3445 1.1719
+10 -3.3829 9.7656
+20 -2.2553 11.7187
+10 -1.1276 13.6719
+10 -6.7658 7.8125
+20 -9.0211 7.8125
+10 -11.2764 7.8125
+10 -8.3445 -1.1719
+10 -5.1871 -6.6406
+10 -10.1487 1.9531
+20 -11.2764 3.9062
+10 -12.404 5.8594
+10 -10.1487 -1.9531
+20 -11.2764 -3.9063
+10 -12.404 -5.8594
+10 -3.1574 -7.8125
+10 3.1574 -7.8125
+10 -6.7658 -7.8125
+20 -9.0211 -7.8125
+10 -11.2764 -7.8125
+10 -3.3829 -9.7656
+20 -2.2553 -11.7187
+10 -1.1276 -13.6719
+10 5.1871 -6.6406
+10 8.3445 -1.1719
+10 3.3829 -9.7656
+20 2.2553 -11.7187
+10 1.1276 -13.6719
+10 6.7658 -7.8125
+20 9.0211 -7.8125
+10 11.2764 -7.8125
+40 11.2764 0.0
+40 5.6382 9.7656
+40 -5.6382 9.7656
+40 -11.2764 0.0
+40 -5.6382 -9.7656
+40 5.6382 -9.7656
+40 16.9146 9.7656
+40 0.0 19.5312
+40 -16.9146 9.7656
+40 -16.9146 -9.7656
+40 0.0 -19.5312
+40 16.9146 -9.7656
+10 10.4306 1.4648
+10 6.4839 8.3008
+10 12.6859 -2.4414
+20 14.0955 -4.8828
+10 15.505 -7.3242
+10 12.6859 2.4414
+20 14.0955 4.8828
+10 15.505 7.3242
+10 3.9467 9.7656
+10 -3.9467 9.7656
+10 8.4573 9.7656
+20 11.2764 9.7656
+10 14.0955 9.7656
+10 4.2286 12.207
+20 2.8191 14.6484
+10 1.4095 17.0898
+10 -6.4839 8.3008
+10 -10.4306 1.4648
+10 -4.2286 12.207
+20 -2.8191 14.6484
+10 -1.4095 17.0898
+10 -8.4573 9.7656
+20 -11.2764 9.7656
+10 -14.0955 9.7656
+10 -10.4306 -1.4648
+10 -6.4839 -8.3008
+10 -12.6859 2.4414
+20 -14.0955 4.8828
+10 -15.505 7.3242
+10 -12.6859 -2.4414
+20 -14.0955 -4.8828
+10 -15.505 -7.3242
+10 -3.9467 -9.7656
+10 3.9467 -9.7656
+10 -8.4573 -9.7656
+20 -11.2764 -9.7656
+10 -14.0955 -9.7656
+10 -4.2286 -12.207
+20 -2.8191 -14.6484
+10 -1.4095 -17.0898
+10 6.4839 -8.3008
+10 10.4306 -1.4648
+10 4.2286 -12.207
+20 2.8191 -14.6484
+10 1.4095 -17.0898
+10 8.4573 -9.7656
+20 11.2764 -9.7656
+10 14.0955 -9.7656
+40 14.0955 0.0
+40 7.0477 12.207
+40 -7.0477 12.207
+40 -14.0955 0.0
+40 -7.0477 -12.207
+40 7.0477 -12.207
+40 21.1432 12.207
+40 0.0 24.4141
+40 -21.1432 12.207
+40 -21.1432 -12.207
+40 0.0 -24.4141
+40 21.1432 -12.207
+10 13.0383 1.8311
+10 8.1049 10.376
+10 15.8574 -3.0518
+20 17.6193 -6.1035
+10 19.3813 -9.1553
+10 15.8574 3.0518
+20 17.6193 6.1035
+10 19.3813 9.1553
+10 4.9334 12.207
+10 -4.9334 12.207
+10 10.5716 12.207
+20 14.0955 12.207
+10 17.6193 12.207
+10 5.2858 15.2588
+20 3.5239 18.3105
+10 1.7619 21.3623
+10 -8.1049 10.376
+10 -13.0383 1.8311
+10 -5.2858 15.2588
+20 -3.5239 18.3105
+10 -1.7619 21.3623
+10 -10.5716 12.207
+20 -14.0955 12.207
+10 -17.6193 12.207
+10 -13.0383 -1.8311
+10 -8.1049 -10.376
+10 -15.8574 3.0518
+20 -17.6193 6.1035
+10 -19.3813 9.1553
+10 -15.8574 -3.0518
+20 -17.6193 -6.1035
+10 -19.3813 -9.1553
+10 -4.9334 -12.207
+10 4.9334 -12.207
+10 -10.5716 -12.207
+20 -14.0955 -12.207
+10 -17.6193 -12.207
+10 -5.2858 -15.2588
+20 -3.5239 -18.3105
+10 -1.7619 -21.3623
+10 8.1049 -10.376
+10 13.0383 -1.8311
+10 5.2858 -15.2588
+20 3.5239 -18.3105
+10 1.7619 -21.3623
+10 10.5716 -12.207
+20 14.0955 -12.207
+10 17.6193 -12.207
+40 5.7735 0.0
diff --git a/05-vehicle-routing/data/vrp_30_3_1 b/05-vehicle-routing/data/vrp_30_3_1
new file mode 100644
index 0000000..6e253c1
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_30_3_1
@@ -0,0 +1,31 @@
+30 3 4500
+0 162.0 354.0
+300 218.0 382.0
+3100 218.0 358.0
+125 201.0 370.0
+100 214.0 371.0
+200 224.0 370.0
+150 210.0 382.0
+150 104.0 354.0
+450 126.0 338.0
+300 119.0 340.0
+100 129.0 349.0
+950 126.0 347.0
+125 125.0 346.0
+150 116.0 355.0
+150 126.0 335.0
+550 125.0 355.0
+150 119.0 357.0
+100 115.0 341.0
+150 153.0 351.0
+400 175.0 363.0
+300 180.0 360.0
+1500 159.0 331.0
+100 188.0 357.0
+300 152.0 349.0
+500 215.0 389.0
+800 212.0 394.0
+300 188.0 393.0
+100 207.0 406.0
+150 184.0 410.0
+1000 207.0 392.0
diff --git a/05-vehicle-routing/data/vrp_30_4_1 b/05-vehicle-routing/data/vrp_30_4_1
new file mode 100644
index 0000000..9cd5954
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_30_4_1
@@ -0,0 +1,31 @@
+30 4 4500
+0 162.0 354.0
+300 218.0 382.0
+3100 218.0 358.0
+125 201.0 370.0
+100 214.0 371.0
+200 224.0 370.0
+150 210.0 382.0
+150 104.0 354.0
+450 126.0 338.0
+300 119.0 340.0
+100 129.0 349.0
+950 126.0 347.0
+125 125.0 346.0
+150 116.0 355.0
+150 126.0 335.0
+550 125.0 355.0
+150 119.0 357.0
+100 115.0 341.0
+150 153.0 351.0
+400 175.0 363.0
+300 180.0 360.0
+1500 159.0 331.0
+100 188.0 357.0
+300 152.0 349.0
+500 215.0 389.0
+800 212.0 394.0
+300 188.0 393.0
+100 207.0 406.0
+150 184.0 410.0
+1000 207.0 392.0
diff --git a/05-vehicle-routing/data/vrp_31_9_1 b/05-vehicle-routing/data/vrp_31_9_1
new file mode 100644
index 0000000..66de44b
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_31_9_1
@@ -0,0 +1,32 @@
+31 9 68
+0 40.0 40.0
+18 22.0 22.0
+26 36.0 26.0
+11 21.0 45.0
+30 45.0 35.0
+21 55.0 20.0
+19 33.0 34.0
+15 50.0 50.0
+16 55.0 45.0
+29 26.0 59.0
+26 40.0 66.0
+37 55.0 65.0
+16 35.0 51.0
+12 62.0 35.0
+31 62.0 57.0
+8 62.0 24.0
+19 21.0 36.0
+20 33.0 44.0
+13 9.0 56.0
+15 62.0 48.0
+22 66.0 14.0
+28 44.0 13.0
+12 26.0 13.0
+6 11.0 28.0
+27 7.0 43.0
+14 17.0 64.0
+18 41.0 46.0
+17 55.0 34.0
+29 35.0 16.0
+13 52.0 26.0
+22 43.0 26.0
diff --git a/05-vehicle-routing/data/vrp_321_30_1 b/05-vehicle-routing/data/vrp_321_30_1
new file mode 100644
index 0000000..f427ab7
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_321_30_1
@@ -0,0 +1,322 @@
+321 30 1000
+0 0.0 0.0
+300 3.0 3.0
+300 1.0 3.0
+300 -1.0 3.0
+300 -3.0 3.0
+300 -3.0 1.0
+300 -3.0 -1.0
+300 -3.0 -3.0
+300 -1.0 -3.0
+300 1.0 -3.0
+300 3.0 -3.0
+300 3.0 -1.0
+180 5.0 1.0
+180 5.0 3.0
+180 5.0 5.0
+180 3.0 5.0
+180 1.0 5.0
+180 -1.0 5.0
+180 -3.0 5.0
+180 -5.0 5.0
+180 -5.0 3.0
+180 -5.0 1.0
+180 -5.0 -1.0
+180 -5.0 -3.0
+180 -5.0 -5.0
+180 -3.0 -5.0
+180 -1.0 -5.0
+180 1.0 -5.0
+180 3.0 -5.0
+180 5.0 -5.0
+180 5.0 -3.0
+180 5.0 -1.0
+128 7.0 1.0
+128 7.0 3.0
+128 7.0 5.0
+128 7.0 7.0
+128 5.0 7.0
+128 3.0 7.0
+128 1.0 7.0
+128 -1.0 7.0
+128 -3.0 7.0
+128 -5.0 7.0
+128 -7.0 7.0
+128 -7.0 5.0
+128 -7.0 3.0
+128 -7.0 1.0
+128 -7.0 -1.0
+128 -7.0 -3.0
+128 -7.0 -5.0
+128 -7.0 -7.0
+128 -5.0 -7.0
+128 -3.0 -7.0
+128 -1.0 -7.0
+128 1.0 -7.0
+128 3.0 -7.0
+128 5.0 -7.0
+128 7.0 -7.0
+128 7.0 -5.0
+128 7.0 -3.0
+128 7.0 -1.0
+100 9.0 1.0
+100 9.0 3.0
+100 9.0 5.0
+100 9.0 7.0
+100 9.0 9.0
+100 7.0 9.0
+100 5.0 9.0
+100 3.0 9.0
+100 1.0 9.0
+100 -1.0 9.0
+100 -3.0 9.0
+100 -5.0 9.0
+100 -7.0 9.0
+100 -9.0 9.0
+100 -9.0 7.0
+100 -9.0 5.0
+100 -9.0 3.0
+100 -9.0 1.0
+100 -9.0 -1.0
+100 -9.0 -3.0
+100 -9.0 -5.0
+100 -9.0 -7.0
+100 -9.0 -9.0
+100 -7.0 -9.0
+100 -5.0 -9.0
+100 -3.0 -9.0
+100 -1.0 -9.0
+100 1.0 -9.0
+100 3.0 -9.0
+100 5.0 -9.0
+100 7.0 -9.0
+100 9.0 -9.0
+100 9.0 -7.0
+100 9.0 -5.0
+100 9.0 -3.0
+100 9.0 -1.0
+81 11.0 1.0
+81 11.0 3.0
+81 11.0 5.0
+81 11.0 7.0
+81 11.0 9.0
+81 11.0 11.0
+81 9.0 11.0
+81 7.0 11.0
+81 5.0 11.0
+81 3.0 11.0
+81 1.0 11.0
+81 -1.0 11.0
+81 -3.0 11.0
+81 -5.0 11.0
+81 -7.0 11.0
+81 -9.0 11.0
+81 -11.0 11.0
+81 -11.0 9.0
+81 -11.0 7.0
+81 -11.0 5.0
+81 -11.0 3.0
+81 -11.0 1.0
+81 -11.0 -1.0
+81 -11.0 -3.0
+81 -11.0 -5.0
+81 -11.0 -7.0
+81 -11.0 -9.0
+81 -11.0 -11.0
+81 -9.0 -11.0
+81 -7.0 -11.0
+81 -5.0 -11.0
+81 -3.0 -11.0
+81 -1.0 -11.0
+81 1.0 -11.0
+81 3.0 -11.0
+81 5.0 -11.0
+81 7.0 -11.0
+81 9.0 -11.0
+81 11.0 -11.0
+81 11.0 -9.0
+81 11.0 -7.0
+81 11.0 -5.0
+81 11.0 -3.0
+81 11.0 -1.0
+69 13.0 1.0
+69 13.0 3.0
+69 13.0 5.0
+69 13.0 7.0
+69 13.0 9.0
+69 13.0 11.0
+69 13.0 13.0
+69 11.0 13.0
+69 9.0 13.0
+69 7.0 13.0
+69 5.0 13.0
+69 3.0 13.0
+69 1.0 13.0
+69 -1.0 13.0
+69 -3.0 13.0
+69 -5.0 13.0
+69 -7.0 13.0
+69 -9.0 13.0
+69 -11.0 13.0
+69 -13.0 13.0
+69 -13.0 11.0
+69 -13.0 9.0
+69 -13.0 7.0
+69 -13.0 5.0
+69 -13.0 3.0
+69 -13.0 1.0
+69 -13.0 -1.0
+69 -13.0 -3.0
+69 -13.0 -5.0
+69 -13.0 -7.0
+69 -13.0 -9.0
+69 -13.0 -11.0
+69 -13.0 -13.0
+69 -11.0 -13.0
+69 -9.0 -13.0
+69 -7.0 -13.0
+69 -5.0 -13.0
+69 -3.0 -13.0
+69 -1.0 -13.0
+69 1.0 -13.0
+69 3.0 -13.0
+69 5.0 -13.0
+69 7.0 -13.0
+69 9.0 -13.0
+69 11.0 -13.0
+69 13.0 -13.0
+69 13.0 -11.0
+69 13.0 -9.0
+69 13.0 -7.0
+69 13.0 -5.0
+69 13.0 -3.0
+69 13.0 -1.0
+60 15.0 1.0
+60 15.0 3.0
+60 15.0 5.0
+60 15.0 7.0
+60 15.0 9.0
+60 15.0 11.0
+60 15.0 13.0
+60 15.0 15.0
+60 13.0 15.0
+60 11.0 15.0
+60 9.0 15.0
+60 7.0 15.0
+60 5.0 15.0
+60 3.0 15.0
+60 1.0 15.0
+60 -1.0 15.0
+60 -3.0 15.0
+60 -5.0 15.0
+60 -7.0 15.0
+60 -9.0 15.0
+60 -11.0 15.0
+60 -13.0 15.0
+60 -15.0 15.0
+60 -15.0 13.0
+60 -15.0 11.0
+60 -15.0 9.0
+60 -15.0 7.0
+60 -15.0 5.0
+60 -15.0 3.0
+60 -15.0 1.0
+60 -15.0 -1.0
+60 -15.0 -3.0
+60 -15.0 -5.0
+60 -15.0 -7.0
+60 -15.0 -9.0
+60 -15.0 -11.0
+60 -15.0 -13.0
+60 -15.0 -15.0
+60 -13.0 -15.0
+60 -11.0 -15.0
+60 -9.0 -15.0
+60 -7.0 -15.0
+60 -5.0 -15.0
+60 -3.0 -15.0
+60 -1.0 -15.0
+60 1.0 -15.0
+60 3.0 -15.0
+60 5.0 -15.0
+60 7.0 -15.0
+60 9.0 -15.0
+60 11.0 -15.0
+60 13.0 -15.0
+60 15.0 -15.0
+60 15.0 -13.0
+60 15.0 -11.0
+60 15.0 -9.0
+60 15.0 -7.0
+60 15.0 -5.0
+60 15.0 -3.0
+60 15.0 -1.0
+52 17.0 1.0
+52 17.0 3.0
+52 17.0 5.0
+52 17.0 7.0
+52 17.0 9.0
+52 17.0 11.0
+52 17.0 13.0
+52 17.0 15.0
+52 17.0 17.0
+52 15.0 17.0
+52 13.0 17.0
+52 11.0 17.0
+52 9.0 17.0
+52 7.0 17.0
+52 5.0 17.0
+52 3.0 17.0
+52 1.0 17.0
+52 -1.0 17.0
+52 -3.0 17.0
+52 -5.0 17.0
+52 -7.0 17.0
+52 -9.0 17.0
+52 -11.0 17.0
+52 -13.0 17.0
+52 -15.0 17.0
+52 -17.0 17.0
+52 -17.0 15.0
+52 -17.0 13.0
+52 -17.0 11.0
+52 -17.0 9.0
+52 -17.0 7.0
+52 -17.0 5.0
+52 -17.0 3.0
+52 -17.0 1.0
+52 -17.0 -1.0
+52 -17.0 -3.0
+52 -17.0 -5.0
+52 -17.0 -7.0
+52 -17.0 -9.0
+52 -17.0 -11.0
+52 -17.0 -13.0
+52 -17.0 -15.0
+52 -17.0 -17.0
+52 -15.0 -17.0
+52 -13.0 -17.0
+52 -11.0 -17.0
+52 -9.0 -17.0
+52 -7.0 -17.0
+52 -5.0 -17.0
+52 -3.0 -17.0
+52 -1.0 -17.0
+52 1.0 -17.0
+52 3.0 -17.0
+52 5.0 -17.0
+52 7.0 -17.0
+52 9.0 -17.0
+52 11.0 -17.0
+52 13.0 -17.0
+52 15.0 -17.0
+52 17.0 -17.0
+52 17.0 -15.0
+52 17.0 -13.0
+52 17.0 -11.0
+52 17.0 -9.0
+52 17.0 -7.0
+52 17.0 -5.0
+52 17.0 -3.0
+52 17.0 -1.0
+300 3.0 1.0
diff --git a/05-vehicle-routing/data/vrp_324_16_1 b/05-vehicle-routing/data/vrp_324_16_1
new file mode 100644
index 0000000..ad28136
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_324_16_1
@@ -0,0 +1,325 @@
+324 16 1000
+0 0.0 -17.0
+300 1.0 -16.0
+180 -2.0 -15.0
+300 0.0 -15.0
+180 2.0 -15.0
+128 -3.0 -14.0
+180 -1.0 -14.0
+180 1.0 -14.0
+128 3.0 -14.0
+100 -4.0 -13.0
+128 -2.0 -13.0
+180 0.0 -13.0
+128 2.0 -13.0
+100 4.0 -13.0
+81 -5.0 -12.0
+100 -3.0 -12.0
+128 -1.0 -12.0
+128 1.0 -12.0
+100 3.0 -12.0
+81 5.0 -12.0
+69 -6.0 -11.0
+81 -4.0 -11.0
+100 -2.0 -11.0
+128 0.0 -11.0
+100 2.0 -11.0
+81 4.0 -11.0
+69 6.0 -11.0
+60 -7.0 -10.0
+69 -5.0 -10.0
+81 -3.0 -10.0
+100 -1.0 -10.0
+100 1.0 -10.0
+81 3.0 -10.0
+69 5.0 -10.0
+60 7.0 -10.0
+52 -8.0 -9.0
+60 -6.0 -9.0
+69 -4.0 -9.0
+81 -2.0 -9.0
+100 0.0 -9.0
+81 2.0 -9.0
+69 4.0 -9.0
+60 6.0 -9.0
+52 8.0 -9.0
+47 -9.0 -8.0
+52 -7.0 -8.0
+60 -5.0 -8.0
+69 -3.0 -8.0
+81 -1.0 -8.0
+81 1.0 -8.0
+69 3.0 -8.0
+60 5.0 -8.0
+52 7.0 -8.0
+47 9.0 -8.0
+42 -10.0 -7.0
+47 -8.0 -7.0
+52 -6.0 -7.0
+60 -4.0 -7.0
+69 -2.0 -7.0
+81 0.0 -7.0
+69 2.0 -7.0
+60 4.0 -7.0
+52 6.0 -7.0
+47 8.0 -7.0
+42 10.0 -7.0
+39 -11.0 -6.0
+42 -9.0 -6.0
+47 -7.0 -6.0
+52 -5.0 -6.0
+60 -3.0 -6.0
+69 -1.0 -6.0
+69 1.0 -6.0
+60 3.0 -6.0
+52 5.0 -6.0
+47 7.0 -6.0
+42 9.0 -6.0
+39 11.0 -6.0
+36 -12.0 -5.0
+39 -10.0 -5.0
+42 -8.0 -5.0
+47 -6.0 -5.0
+52 -4.0 -5.0
+60 -2.0 -5.0
+69 0.0 -5.0
+60 2.0 -5.0
+52 4.0 -5.0
+47 6.0 -5.0
+42 8.0 -5.0
+39 10.0 -5.0
+36 12.0 -5.0
+33 -13.0 -4.0
+36 -11.0 -4.0
+39 -9.0 -4.0
+42 -7.0 -4.0
+47 -5.0 -4.0
+52 -3.0 -4.0
+60 -1.0 -4.0
+60 1.0 -4.0
+52 3.0 -4.0
+47 5.0 -4.0
+42 7.0 -4.0
+39 9.0 -4.0
+36 11.0 -4.0
+33 13.0 -4.0
+31 -14.0 -3.0
+33 -12.0 -3.0
+36 -10.0 -3.0
+39 -8.0 -3.0
+42 -6.0 -3.0
+47 -4.0 -3.0
+52 -2.0 -3.0
+60 0.0 -3.0
+52 2.0 -3.0
+47 4.0 -3.0
+42 6.0 -3.0
+39 8.0 -3.0
+36 10.0 -3.0
+33 12.0 -3.0
+31 14.0 -3.0
+29 -15.0 -2.0
+31 -13.0 -2.0
+33 -11.0 -2.0
+36 -9.0 -2.0
+39 -7.0 -2.0
+42 -5.0 -2.0
+47 -3.0 -2.0
+52 -1.0 -2.0
+52 1.0 -2.0
+47 3.0 -2.0
+42 5.0 -2.0
+39 7.0 -2.0
+36 9.0 -2.0
+33 11.0 -2.0
+31 13.0 -2.0
+29 15.0 -2.0
+27 -16.0 -1.0
+29 -14.0 -1.0
+31 -12.0 -1.0
+33 -10.0 -1.0
+36 -8.0 -1.0
+39 -6.0 -1.0
+42 -4.0 -1.0
+47 -2.0 -1.0
+52 0.0 -1.0
+47 2.0 -1.0
+42 4.0 -1.0
+39 6.0 -1.0
+36 8.0 -1.0
+33 10.0 -1.0
+31 12.0 -1.0
+29 14.0 -1.0
+27 16.0 -1.0
+25 -17.0 0.0
+27 -15.0 0.0
+29 -13.0 0.0
+31 -11.0 0.0
+33 -9.0 0.0
+36 -7.0 0.0
+39 -5.0 0.0
+42 -3.0 0.0
+47 -1.0 0.0
+47 1.0 0.0
+42 3.0 0.0
+39 5.0 0.0
+36 7.0 0.0
+33 9.0 0.0
+31 11.0 0.0
+29 13.0 0.0
+27 15.0 0.0
+25 17.0 0.0
+25 -16.0 1.0
+27 -14.0 1.0
+29 -12.0 1.0
+31 -10.0 1.0
+33 -8.0 1.0
+36 -6.0 1.0
+39 -4.0 1.0
+42 -2.0 1.0
+47 0.0 1.0
+42 2.0 1.0
+39 4.0 1.0
+36 6.0 1.0
+33 8.0 1.0
+31 10.0 1.0
+29 12.0 1.0
+27 14.0 1.0
+25 16.0 1.0
+25 -15.0 2.0
+27 -13.0 2.0
+29 -11.0 2.0
+31 -9.0 2.0
+33 -7.0 2.0
+36 -5.0 2.0
+39 -3.0 2.0
+42 -1.0 2.0
+42 1.0 2.0
+39 3.0 2.0
+36 5.0 2.0
+33 7.0 2.0
+31 9.0 2.0
+29 11.0 2.0
+27 13.0 2.0
+25 15.0 2.0
+25 -14.0 3.0
+27 -12.0 3.0
+29 -10.0 3.0
+31 -8.0 3.0
+33 -6.0 3.0
+36 -4.0 3.0
+39 -2.0 3.0
+42 0.0 3.0
+39 2.0 3.0
+36 4.0 3.0
+33 6.0 3.0
+31 8.0 3.0
+29 10.0 3.0
+27 12.0 3.0
+25 14.0 3.0
+25 -13.0 4.0
+27 -11.0 4.0
+29 -9.0 4.0
+31 -7.0 4.0
+33 -5.0 4.0
+36 -3.0 4.0
+39 -1.0 4.0
+39 1.0 4.0
+36 3.0 4.0
+33 5.0 4.0
+31 7.0 4.0
+29 9.0 4.0
+27 11.0 4.0
+25 13.0 4.0
+25 -12.0 5.0
+27 -10.0 5.0
+29 -8.0 5.0
+31 -6.0 5.0
+33 -4.0 5.0
+36 -2.0 5.0
+39 0.0 5.0
+36 2.0 5.0
+33 4.0 5.0
+31 6.0 5.0
+29 8.0 5.0
+27 10.0 5.0
+25 12.0 5.0
+25 -11.0 6.0
+27 -9.0 6.0
+29 -7.0 6.0
+31 -5.0 6.0
+33 -3.0 6.0
+36 -1.0 6.0
+36 1.0 6.0
+33 3.0 6.0
+31 5.0 6.0
+29 7.0 6.0
+27 9.0 6.0
+25 11.0 6.0
+25 -10.0 7.0
+27 -8.0 7.0
+29 -6.0 7.0
+31 -4.0 7.0
+33 -2.0 7.0
+36 0.0 7.0
+33 2.0 7.0
+31 4.0 7.0
+29 6.0 7.0
+27 8.0 7.0
+25 10.0 7.0
+25 -9.0 8.0
+27 -7.0 8.0
+29 -5.0 8.0
+31 -3.0 8.0
+33 -1.0 8.0
+33 1.0 8.0
+31 3.0 8.0
+29 5.0 8.0
+27 7.0 8.0
+25 9.0 8.0
+25 -8.0 9.0
+27 -6.0 9.0
+29 -4.0 9.0
+31 -2.0 9.0
+33 0.0 9.0
+31 2.0 9.0
+29 4.0 9.0
+27 6.0 9.0
+25 8.0 9.0
+25 -7.0 10.0
+27 -5.0 10.0
+29 -3.0 10.0
+31 -1.0 10.0
+31 1.0 10.0
+29 3.0 10.0
+27 5.0 10.0
+25 7.0 10.0
+25 -6.0 11.0
+27 -4.0 11.0
+29 -2.0 11.0
+31 0.0 11.0
+29 2.0 11.0
+27 4.0 11.0
+25 6.0 11.0
+25 -5.0 12.0
+27 -3.0 12.0
+29 -1.0 12.0
+29 1.0 12.0
+27 3.0 12.0
+25 5.0 12.0
+25 -4.0 13.0
+27 -2.0 13.0
+29 0.0 13.0
+27 2.0 13.0
+25 4.0 13.0
+25 -3.0 14.0
+27 -1.0 14.0
+27 1.0 14.0
+25 3.0 14.0
+25 -2.0 15.0
+27 0.0 15.0
+25 2.0 15.0
+25 -1.0 16.0
+25 1.0 16.0
+25 0.0 17.0
+300 -1.0 -16.0
diff --git a/05-vehicle-routing/data/vrp_33_3_1 b/05-vehicle-routing/data/vrp_33_3_1
new file mode 100644
index 0000000..d387dcd
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_33_3_1
@@ -0,0 +1,34 @@
+33 3 38000
+0 250.0 200.0
+25705 313.0 382.0
+713 467.0 67.0
+2267 205.0 254.0
+447 275.0 34.0
+1847 269.0 262.0
+1437 293.0 269.0
+3720 333.0 212.0
+1115 304.0 202.0
+273 286.0 207.0
+5494 288.0 191.0
+1944 295.0 235.0
+250 50.0 249.0
+1500 484.0 179.0
+3585 447.0 189.0
+140 215.0 204.0
+629 22.0 255.0
+479 267.0 316.0
+17456 391.0 196.0
+1143 399.0 122.0
+1919 363.0 187.0
+826 355.0 236.0
+3264 378.0 203.0
+1570 458.0 218.0
+2215 383.0 181.0
+1239 240.0 326.0
+580 273.0 349.0
+5000 278.0 374.0
+100 352.0 271.0
+201 324.0 295.0
+6747 249.0 250.0
+1260 65.0 248.0
+3500 10.0 260.0
diff --git a/05-vehicle-routing/data/vrp_33_4_1 b/05-vehicle-routing/data/vrp_33_4_1
new file mode 100644
index 0000000..39b5547
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_33_4_1
@@ -0,0 +1,34 @@
+33 4 8000
+0 292.0 495.0
+700 298.0 427.0
+400 309.0 445.0
+400 307.0 464.0
+1200 336.0 475.0
+40 320.0 439.0
+80 321.0 437.0
+2000 322.0 437.0
+900 323.0 433.0
+600 324.0 433.0
+750 323.0 429.0
+1500 314.0 435.0
+150 311.0 442.0
+250 304.0 427.0
+1600 293.0 421.0
+450 296.0 418.0
+700 261.0 384.0
+550 297.0 410.0
+650 315.0 407.0
+200 314.0 406.0
+400 321.0 391.0
+300 321.0 398.0
+1300 314.0 394.0
+700 313.0 378.0
+750 304.0 382.0
+1400 295.0 402.0
+4000 283.0 406.0
+600 279.0 399.0
+1000 271.0 401.0
+500 264.0 414.0
+2500 277.0 439.0
+1700 290.0 434.0
+1100 319.0 433.0
diff --git a/05-vehicle-routing/data/vrp_33_5_1 b/05-vehicle-routing/data/vrp_33_5_1
new file mode 100644
index 0000000..4577d97
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_33_5_1
@@ -0,0 +1,34 @@
+33 5 8000
+0 292.0 495.0
+700 298.0 427.0
+400 309.0 445.0
+400 307.0 464.0
+1200 336.0 475.0
+40 320.0 439.0
+80 321.0 437.0
+2000 322.0 437.0
+900 323.0 433.0
+600 324.0 433.0
+750 323.0 429.0
+1500 314.0 435.0
+150 311.0 442.0
+250 304.0 427.0
+1600 293.0 421.0
+450 296.0 418.0
+700 261.0 384.0
+550 297.0 410.0
+650 315.0 407.0
+200 314.0 406.0
+400 321.0 391.0
+300 321.0 398.0
+1300 314.0 394.0
+700 313.0 378.0
+750 304.0 382.0
+1400 295.0 402.0
+4000 283.0 406.0
+600 279.0 399.0
+1000 271.0 401.0
+500 264.0 414.0
+2500 277.0 439.0
+1700 290.0 434.0
+1100 319.0 433.0
diff --git a/05-vehicle-routing/data/vrp_361_33_1 b/05-vehicle-routing/data/vrp_361_33_1
new file mode 100644
index 0000000..8348270
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_361_33_1
@@ -0,0 +1,362 @@
+361 33 200
+0 0.0 0.0
+40 2.8867 5.0
+40 -2.8868 5.0
+40 -5.7735 0.0
+40 -2.8867 -5.0
+40 2.8868 -5.0
+40 8.6603 5.0
+40 0.0 10.0
+40 -8.6603 5.0
+40 -8.6603 -5.0
+40 0.0 -10.0
+40 8.6603 -5.0
+10 5.3405 0.75
+10 3.3198 4.25
+10 6.4952 -1.25
+20 7.2169 -2.5
+10 7.9386 -3.75
+10 6.4952 1.25
+20 7.2169 2.5
+10 7.9386 3.75
+10 2.0207 5.0
+10 -2.0207 5.0
+10 4.3301 5.0
+20 5.7735 5.0
+10 7.2169 5.0
+10 2.1651 6.25
+20 1.4434 7.5
+10 0.7217 8.75
+10 -3.3198 4.25
+10 -5.3405 0.75
+10 -2.1651 6.25
+20 -1.4434 7.5
+10 -0.7217 8.75
+10 -4.3301 5.0
+20 -5.7735 5.0
+10 -7.2169 5.0
+10 -5.3405 -0.75
+10 -3.3198 -4.25
+10 -6.4952 1.25
+20 -7.2169 2.5
+10 -7.9386 3.75
+10 -6.4952 -1.25
+20 -7.2169 -2.5
+10 -7.9386 -3.75
+10 -2.0207 -5.0
+10 2.0207 -5.0
+10 -4.3301 -5.0
+20 -5.7735 -5.0
+10 -7.2169 -5.0
+10 -2.1651 -6.25
+20 -1.4434 -7.5
+10 -0.7217 -8.75
+10 3.3198 -4.25
+10 5.3405 -0.75
+10 2.1651 -6.25
+20 1.4434 -7.5
+10 0.7217 -8.75
+10 4.3301 -5.0
+20 5.7735 -5.0
+10 7.2169 -5.0
+40 7.2169 0.0
+40 3.6084 6.25
+40 -3.6084 6.25
+40 -7.2169 0.0
+40 -3.6084 -6.25
+40 3.6084 -6.25
+40 10.8253 6.25
+40 0.0 12.5
+40 -10.8253 6.25
+40 -10.8253 -6.25
+40 0.0 -12.5
+40 10.8253 -6.25
+10 6.6756 0.9375
+10 4.1497 5.3125
+10 8.119 -1.5625
+20 9.0211 -3.125
+10 9.9232 -4.6875
+10 8.119 1.5625
+20 9.0211 3.125
+10 9.9232 4.6875
+10 2.5259 6.25
+10 -2.5259 6.25
+10 5.4127 6.25
+20 7.2169 6.25
+10 9.0211 6.25
+10 2.7063 7.8125
+20 1.8042 9.375
+10 0.9021 10.9375
+10 -4.1497 5.3125
+10 -6.6756 0.9375
+10 -2.7063 7.8125
+20 -1.8042 9.375
+10 -0.9021 10.9375
+10 -5.4127 6.25
+20 -7.2169 6.25
+10 -9.0211 6.25
+10 -6.6756 -0.9375
+10 -4.1497 -5.3125
+10 -8.119 1.5625
+20 -9.0211 3.125
+10 -9.9232 4.6875
+10 -8.119 -1.5625
+20 -9.0211 -3.125
+10 -9.9232 -4.6875
+10 -2.5259 -6.25
+10 2.5259 -6.25
+10 -5.4127 -6.25
+20 -7.2169 -6.25
+10 -9.0211 -6.25
+10 -2.7063 -7.8125
+20 -1.8042 -9.375
+10 -0.9021 -10.9375
+10 4.1497 -5.3125
+10 6.6756 -0.9375
+10 2.7063 -7.8125
+20 1.8042 -9.375
+10 0.9021 -10.9375
+10 5.4127 -6.25
+20 7.2169 -6.25
+10 9.0211 -6.25
+40 9.0211 0.0
+40 4.5105 7.8125
+40 -4.5105 7.8125
+40 -9.0211 0.0
+40 -4.5105 -7.8125
+40 4.5106 -7.8125
+40 13.5316 7.8125
+40 0.0 15.625
+40 -13.5316 7.8125
+40 -13.5316 -7.8125
+40 0.0 -15.625
+40 13.5316 -7.8125
+10 8.3445 1.1719
+10 5.1871 6.6406
+10 10.1487 -1.9531
+20 11.2764 -3.9062
+10 12.404 -5.8594
+10 10.1487 1.9531
+20 11.2764 3.9062
+10 12.404 5.8594
+10 3.1574 7.8125
+10 -3.1574 7.8125
+10 6.7658 7.8125
+20 9.0211 7.8125
+10 11.2764 7.8125
+10 3.3829 9.7656
+20 2.2553 11.7187
+10 1.1276 13.6719
+10 -5.1871 6.6406
+10 -8.3445 1.1719
+10 -3.3829 9.7656
+20 -2.2553 11.7187
+10 -1.1276 13.6719
+10 -6.7658 7.8125
+20 -9.0211 7.8125
+10 -11.2764 7.8125
+10 -8.3445 -1.1719
+10 -5.1871 -6.6406
+10 -10.1487 1.9531
+20 -11.2764 3.9062
+10 -12.404 5.8594
+10 -10.1487 -1.9531
+20 -11.2764 -3.9063
+10 -12.404 -5.8594
+10 -3.1574 -7.8125
+10 3.1574 -7.8125
+10 -6.7658 -7.8125
+20 -9.0211 -7.8125
+10 -11.2764 -7.8125
+10 -3.3829 -9.7656
+20 -2.2553 -11.7187
+10 -1.1276 -13.6719
+10 5.1871 -6.6406
+10 8.3445 -1.1719
+10 3.3829 -9.7656
+20 2.2553 -11.7187
+10 1.1276 -13.6719
+10 6.7658 -7.8125
+20 9.0211 -7.8125
+10 11.2764 -7.8125
+40 11.2764 0.0
+40 5.6382 9.7656
+40 -5.6382 9.7656
+40 -11.2764 0.0
+40 -5.6382 -9.7656
+40 5.6382 -9.7656
+40 16.9146 9.7656
+40 0.0 19.5312
+40 -16.9146 9.7656
+40 -16.9146 -9.7656
+40 0.0 -19.5312
+40 16.9146 -9.7656
+10 10.4306 1.4648
+10 6.4839 8.3008
+10 12.6859 -2.4414
+20 14.0955 -4.8828
+10 15.505 -7.3242
+10 12.6859 2.4414
+20 14.0955 4.8828
+10 15.505 7.3242
+10 3.9467 9.7656
+10 -3.9467 9.7656
+10 8.4573 9.7656
+20 11.2764 9.7656
+10 14.0955 9.7656
+10 4.2286 12.207
+20 2.8191 14.6484
+10 1.4095 17.0898
+10 -6.4839 8.3008
+10 -10.4306 1.4648
+10 -4.2286 12.207
+20 -2.8191 14.6484
+10 -1.4095 17.0898
+10 -8.4573 9.7656
+20 -11.2764 9.7656
+10 -14.0955 9.7656
+10 -10.4306 -1.4648
+10 -6.4839 -8.3008
+10 -12.6859 2.4414
+20 -14.0955 4.8828
+10 -15.505 7.3242
+10 -12.6859 -2.4414
+20 -14.0955 -4.8828
+10 -15.505 -7.3242
+10 -3.9467 -9.7656
+10 3.9467 -9.7656
+10 -8.4573 -9.7656
+20 -11.2764 -9.7656
+10 -14.0955 -9.7656
+10 -4.2286 -12.207
+20 -2.8191 -14.6484
+10 -1.4095 -17.0898
+10 6.4839 -8.3008
+10 10.4306 -1.4648
+10 4.2286 -12.207
+20 2.8191 -14.6484
+10 1.4095 -17.0898
+10 8.4573 -9.7656
+20 11.2764 -9.7656
+10 14.0955 -9.7656
+40 14.0955 0.0
+40 7.0477 12.207
+40 -7.0477 12.207
+40 -14.0955 0.0
+40 -7.0477 -12.207
+40 7.0477 -12.207
+40 21.1432 12.207
+40 0.0 24.4141
+40 -21.1432 12.207
+40 -21.1432 -12.207
+40 0.0 -24.4141
+40 21.1432 -12.207
+10 13.0383 1.8311
+10 8.1049 10.376
+10 15.8574 -3.0518
+20 17.6193 -6.1035
+10 19.3813 -9.1553
+10 15.8574 3.0518
+20 17.6193 6.1035
+10 19.3813 9.1553
+10 4.9334 12.207
+10 -4.9334 12.207
+10 10.5716 12.207
+20 14.0955 12.207
+10 17.6193 12.207
+10 5.2858 15.2588
+20 3.5239 18.3105
+10 1.7619 21.3623
+10 -8.1049 10.376
+10 -13.0383 1.8311
+10 -5.2858 15.2588
+20 -3.5239 18.3105
+10 -1.7619 21.3623
+10 -10.5716 12.207
+20 -14.0955 12.207
+10 -17.6193 12.207
+10 -13.0383 -1.8311
+10 -8.1049 -10.376
+10 -15.8574 3.0518
+20 -17.6193 6.1035
+10 -19.3813 9.1553
+10 -15.8574 -3.0518
+20 -17.6193 -6.1035
+10 -19.3813 -9.1553
+10 -4.9334 -12.207
+10 4.9334 -12.207
+10 -10.5716 -12.207
+20 -14.0955 -12.207
+10 -17.6193 -12.207
+10 -5.2858 -15.2588
+20 -3.5239 -18.3105
+10 -1.7619 -21.3623
+10 8.1049 -10.376
+10 13.0383 -1.8311
+10 5.2858 -15.2588
+20 3.5239 -18.3105
+10 1.7619 -21.3623
+10 10.5716 -12.207
+20 14.0955 -12.207
+10 17.6193 -12.207
+40 17.6193 0.0
+40 8.8097 15.2588
+40 -8.8097 15.2588
+40 -17.6193 0.0
+40 -8.8097 -15.2588
+40 8.8097 -15.2588
+40 26.429 15.2588
+40 0.0 30.5176
+40 -26.429 15.2588
+40 -26.429 -15.2588
+40 0.0 -30.5176
+40 26.429 -15.2588
+10 16.2979 2.2888
+10 10.1311 12.97
+10 19.8217 -3.8147
+20 22.0242 -7.6294
+10 24.2266 -11.4441
+10 19.8217 3.8147
+20 22.0242 7.6294
+10 24.2266 11.4441
+10 6.1668 15.2588
+10 -6.1668 15.2588
+10 13.2145 15.2588
+20 17.6193 15.2588
+10 22.0242 15.2588
+10 6.6072 19.0735
+20 4.4048 22.8882
+10 2.2024 26.7029
+10 -10.1311 12.97
+10 -16.2979 2.2888
+10 -6.6072 19.0735
+20 -4.4048 22.8882
+10 -2.2024 26.7029
+10 -13.2145 15.2588
+20 -17.6193 15.2588
+10 -22.0242 15.2588
+10 -16.2979 -2.2888
+10 -10.1311 -12.97
+10 -19.8217 3.8147
+20 -22.0242 7.6294
+10 -24.2266 11.4441
+10 -19.8217 -3.8147
+20 -22.0242 -7.6294
+10 -24.2266 -11.4441
+10 -6.1668 -15.2588
+10 6.1668 -15.2588
+10 -13.2145 -15.2588
+20 -17.6193 -15.2588
+10 -22.0242 -15.2588
+10 -6.6072 -19.0735
+20 -4.4048 -22.8882
+10 -2.2024 -26.7029
+10 10.1311 -12.97
+10 16.2979 -2.2888
+10 6.6073 -19.0735
+20 4.4048 -22.8882
+10 2.2024 -26.7029
+10 13.2145 -15.2588
+20 17.6193 -15.2588
+10 22.0242 -15.2588
+40 5.7735 0.0
diff --git a/05-vehicle-routing/data/vrp_36_11_1 b/05-vehicle-routing/data/vrp_36_11_1
new file mode 100644
index 0000000..ed2563f
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_36_11_1
@@ -0,0 +1,37 @@
+36 11 67
+0 40.0 40.0
+18 22.0 22.0
+26 36.0 26.0
+11 21.0 45.0
+30 45.0 35.0
+21 55.0 20.0
+19 33.0 34.0
+15 50.0 50.0
+16 55.0 45.0
+29 26.0 59.0
+26 40.0 66.0
+37 55.0 65.0
+16 35.0 51.0
+12 62.0 35.0
+31 62.0 57.0
+8 62.0 24.0
+19 21.0 36.0
+20 33.0 44.0
+13 9.0 56.0
+15 62.0 48.0
+22 66.0 14.0
+28 44.0 13.0
+12 26.0 13.0
+6 11.0 28.0
+27 7.0 43.0
+14 17.0 64.0
+18 41.0 46.0
+17 55.0 34.0
+29 35.0 16.0
+13 52.0 26.0
+22 43.0 26.0
+25 31.0 76.0
+28 22.0 53.0
+27 26.0 29.0
+19 50.0 40.0
+10 55.0 50.0
diff --git a/05-vehicle-routing/data/vrp_386_47_1 b/05-vehicle-routing/data/vrp_386_47_1
new file mode 100644
index 0000000..9e6562c
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_386_47_1
@@ -0,0 +1,387 @@
+386 47 65
+0 5332.0 1525.0
+3 5166.0 1480.0
+7 5403.0 1631.0
+7 5030.0 1372.0
+15 5469.0 1830.0
+1 5495.0 1832.0
+23 5394.0 1844.0
+5 5403.0 1868.0
+3 5415.0 1875.0
+3 5426.0 1876.0
+2 5440.0 1885.0
+6 5451.0 1891.0
+1 5457.0 1926.0
+1 5365.0 1877.0
+1 5350.0 1843.0
+2 5322.0 1844.0
+1 5342.0 1861.0
+4 5325.0 1869.0
+8 5302.0 1823.0
+42 5284.0 1862.0
+1 5382.0 1890.0
+1 5385.0 1886.0
+3 5376.0 1887.0
+1 5372.0 1896.0
+1 5374.0 1873.0
+2 5377.0 1863.0
+3 5372.0 1845.0
+4 5365.0 1832.0
+5 5365.0 1822.0
+1 5355.0 1865.0
+1 5401.0 1893.0
+3 5456.0 1933.0
+14 5614.0 1855.0
+13 5636.0 1867.0
+6 5610.0 1913.0
+2 5592.0 1934.0
+2 5644.0 1923.0
+2 5694.0 1892.0
+1 5709.0 1917.0
+24 5697.0 1919.0
+5 5725.0 1953.0
+2 5657.0 1948.0
+2 5673.0 1965.0
+4 5683.0 1971.0
+1 5674.0 1973.0
+1 5712.0 1992.0
+1 5651.0 1974.0
+1 5663.0 1989.0
+6 5680.0 2006.0
+7 5114.0 1669.0
+10 5143.0 1670.0
+2 5176.0 1590.0
+1 5222.0 1620.0
+6 5224.0 1592.0
+1 5232.0 1587.0
+7 5214.0 1635.0
+3 5234.0 1641.0
+3 5211.0 1666.0
+31 5190.0 1739.0
+8 5217.0 1759.0
+2 5249.0 1770.0
+1 5254.0 1761.0
+1 5281.0 1778.0
+1 5278.0 1783.0
+3 5301.0 1784.0
+4 5306.0 1792.0
+3 5333.0 1799.0
+1 5342.0 1796.0
+3 5337.0 1816.0
+3 5288.0 1762.0
+45 5306.0 1748.0
+2 5291.0 1746.0
+1 5282.0 1730.0
+1 5264.0 1739.0
+2 5264.0 1718.0
+4 5253.0 1718.0
+1 5240.0 1730.0
+2 5242.0 1716.0
+4 5198.0 1714.0
+1 5225.0 1689.0
+2 5245.0 1668.0
+1 5263.0 1661.0
+2 5259.0 1632.0
+1 5242.0 1624.0
+2 5252.0 1605.0
+2 5245.0 1583.0
+3 5265.0 1583.0
+4 5287.0 1595.0
+2 5271.0 1614.0
+19 5286.0 1629.0
+1 5277.0 1651.0
+10 5310.0 1588.0
+3 5319.0 1588.0
+6 5330.0 1605.0
+28 5360.0 1595.0
+3 5343.0 1616.0
+2 5329.0 1617.0
+2 5355.0 1636.0
+2 5340.0 1644.0
+12 5310.0 1612.0
+21 5302.0 1629.0
+5 5317.0 1636.0
+7 5301.0 1672.0
+1 5270.0 1678.0
+14 5291.0 1678.0
+7 5289.0 1687.0
+5 5296.0 1718.0
+4 5331.0 1709.0
+20 5334.0 1727.0
+2 5357.0 1749.0
+1 5344.0 1755.0
+2 5365.0 1771.0
+1 5379.0 1773.0
+1 5387.0 1778.0
+1 5401.0 1775.0
+4 5411.0 1790.0
+1 5426.0 1801.0
+1 5433.0 1813.0
+42 5391.0 1811.0
+2 5365.0 1806.0
+4 5362.0 1811.0
+5 5388.0 1740.0
+3 5358.0 1727.0
+2 5360.0 1704.0
+1 5301.0 1688.0
+4 5340.0 1659.0
+4 5359.0 1654.0
+33 5384.0 1658.0
+5 5374.0 1626.0
+1 5351.0 1670.0
+4 5360.0 1678.0
+1 5388.0 1635.0
+7 5367.0 1612.0
+6 5387.0 1676.0
+4 5406.0 1653.0
+1 5412.0 1673.0
+4 5388.0 1610.0
+8 5376.0 1603.0
+17 5385.0 1593.0
+12 5417.0 1613.0
+4 5420.0 1642.0
+1 5430.0 1676.0
+2 5435.0 1666.0
+1 5437.0 1682.0
+3 5422.0 1696.0
+5 5394.0 1708.0
+1 5411.0 1762.0
+3 5432.0 1787.0
+1 5436.0 1768.0
+2 5422.0 1749.0
+1 5428.0 1739.0
+3 5415.0 1724.0
+1 5429.0 1716.0
+7 5441.0 1714.0
+1 5443.0 1751.0
+3 5448.0 1774.0
+1 5456.0 1777.0
+1 5472.0 1790.0
+1 5485.0 1818.0
+2 5494.0 1808.0
+1 5488.0 1802.0
+1 5478.0 1775.0
+1 5466.0 1761.0
+1 5466.0 1753.0
+1 5463.0 1740.0
+4 5477.0 1726.0
+2 5451.0 1735.0
+3 5461.0 1711.0
+1 5450.0 1703.0
+1 5475.0 1679.0
+1 5456.0 1664.0
+1 5445.0 1665.0
+2 5466.0 1673.0
+2 5436.0 1640.0
+2 5455.0 1647.0
+2 5480.0 1657.0
+1 5492.0 1669.0
+1 5494.0 1662.0
+4 5490.0 1636.0
+3 5473.0 1626.0
+4 5467.0 1621.0
+2 5466.0 1593.0
+9 5488.0 1608.0
+6 5492.0 1619.0
+5 5473.0 1582.0
+6 5498.0 1585.0
+2 5498.0 1598.0
+6 5184.0 1614.0
+1 5300.0 1647.0
+1 5515.0 1581.0
+3 5504.0 1632.0
+1 5502.0 1721.0
+1 5502.0 1746.0
+1 5518.0 1675.0
+43 5511.0 1688.0
+1 5519.0 1729.0
+1 5512.0 1736.0
+3 5519.0 1778.0
+1 5513.0 1804.0
+1 5520.0 1708.0
+1 5531.0 1754.0
+2 5526.0 1793.0
+10 5531.0 1580.0
+1 5537.0 1696.0
+21 5542.0 1733.0
+1 5549.0 1703.0
+2 5550.0 1722.0
+1 5544.0 1752.0
+1 5551.0 1585.0
+1 5552.0 1691.0
+1 5560.0 1714.0
+1 5574.0 1723.0
+2 5575.0 1732.0
+2 5572.0 1755.0
+2 5576.0 1770.0
+1 5587.0 1743.0
+11 5575.0 1791.0
+1 5599.0 1777.0
+1 5605.0 1762.0
+2 5609.0 1804.0
+1 5616.0 1779.0
+7 5033.0 1340.0
+17 5050.0 1348.0
+5 5020.0 1365.0
+6 5009.0 1375.0
+1 5040.0 1368.0
+7 5052.0 1374.0
+35 5078.0 1376.0
+24 5077.0 1387.0
+3 5050.0 1386.0
+2 5040.0 1387.0
+7 5028.0 1396.0
+9 5031.0 1405.0
+13 5016.0 1447.0
+8 5051.0 1412.0
+7 5049.0 1427.0
+6 5073.0 1405.0
+3 5077.0 1421.0
+13 5062.0 1434.0
+12 5085.0 1440.0
+5 5086.0 1427.0
+4 5095.0 1419.0
+3 5122.0 1427.0
+3 5103.0 1445.0
+2 5109.0 1447.0
+4 5118.0 1452.0
+2 5129.0 1437.0
+7 5122.0 1458.0
+3 5093.0 1468.0
+13 5057.0 1460.0
+6 5073.0 1466.0
+2 5085.0 1492.0
+7 5076.0 1481.0
+1 5136.0 1467.0
+4 5139.0 1496.0
+1 5133.0 1503.0
+3 5094.0 1500.0
+14 5132.0 1515.0
+2 5150.0 1520.0
+38 5155.0 1458.0
+9 5176.0 1468.0
+4 5199.0 1472.0
+5 5223.0 1472.0
+14 5218.0 1489.0
+23 5196.0 1499.0
+2 5176.0 1502.0
+5 5180.0 1484.0
+18 5491.0 1481.0
+21 5496.0 1501.0
+28 5458.0 1544.0
+3 5470.0 1490.0
+2 5459.0 1494.0
+18 5454.0 1489.0
+17 5445.0 1495.0
+4 5438.0 1496.0
+36 5247.0 1483.0
+4 5242.0 1508.0
+6 5208.0 1506.0
+8 5217.0 1523.0
+3 5193.0 1512.0
+14 5152.0 1546.0
+3 5185.0 1564.0
+1 5155.0 1569.0
+9 5225.0 1561.0
+3 5233.0 1549.0
+2 5235.0 1535.0
+3 5246.0 1524.0
+5 5253.0 1509.0
+15 5259.0 1508.0
+3 5260.0 1565.0
+2 5271.0 1554.0
+1 5252.0 1543.0
+2 5264.0 1536.0
+5 5260.0 1531.0
+12 5280.0 1515.0
+2 5262.0 1525.0
+11 5423.0 1505.0
+12 5409.0 1508.0
+19 5417.0 1523.0
+30 5407.0 1561.0
+3 5493.0 1474.0
+10 5401.0 1512.0
+38 5299.0 1521.0
+14 5295.0 1531.0
+4 5289.0 1565.0
+3 5291.0 1552.0
+3 5290.0 1577.0
+20 5309.0 1541.0
+42 5313.0 1559.0
+10 5311.0 1529.0
+42 5327.0 1535.0
+26 5324.0 1513.0
+4 5331.0 1570.0
+53 5339.0 1562.0
+56 5335.0 1533.0
+8 5343.0 1543.0
+25 5360.0 1572.0
+60 5361.0 1540.0
+47 5385.0 1568.0
+1 5242.0 1556.0
+2 5225.0 1515.0
+8 5275.0 1533.0
+49 5379.0 1521.0
+8 5607.0 1345.0
+3 5600.0 1360.0
+5 5585.0 1365.0
+37 5604.0 1384.0
+7 5607.0 1409.0
+23 5595.0 1422.0
+34 5554.0 1446.0
+4 5542.0 1459.0
+40 5581.0 1460.0
+37 5566.0 1469.0
+32 5540.0 1468.0
+21 5534.0 1469.0
+21 5532.0 1474.0
+11 5542.0 1478.0
+3 5505.0 1471.0
+1 5517.0 1543.0
+1 5519.0 1561.0
+9 5533.0 1561.0
+3 5558.0 1551.0
+2 5565.0 1557.0
+1 5558.0 1577.0
+3 5521.0 1573.0
+2 5502.0 1570.0
+4 5724.0 1463.0
+29 5767.0 1472.0
+8 5824.0 1487.0
+1 5585.0 1572.0
+11 5015.0 1332.0
+18 5041.0 1321.0
+23 5027.0 1305.0
+19 5040.0 1301.0
+11 5026.0 1295.0
+3 4994.0 1302.0
+12 5022.0 1288.0
+9 5710.0 1247.0
+54 5671.0 1223.0
+23 5672.0 1325.0
+51 5658.0 1274.0
+10 5637.0 1296.0
+8 5632.0 1311.0
+3 5631.0 1332.0
+2 5581.0 1332.0
+1 5587.0 1754.0
+1 5503.0 1791.0
+1 5540.0 1584.0
+1 5556.0 1809.0
+5 5418.0 1818.0
+1 5345.0 1825.0
+1 5348.0 1686.0
+8 5357.0 1558.0
+1 5588.0 1786.0
+14 5153.0 1468.0
+8 5708.0 1347.0
+1 5303.0 1653.0
+1 5347.0 1820.0
+14 5487.0 1547.0
+1 5167.0 1495.0
+4 5096.0 1521.0
+2 5460.0 1688.0
+8 5675.0 1187.0
+10 5784.0 1331.0
+2 5695.0 1979.0
+40 5059.0 1597.0
diff --git a/05-vehicle-routing/data/vrp_397_34_1 b/05-vehicle-routing/data/vrp_397_34_1
new file mode 100644
index 0000000..c028917
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_397_34_1
@@ -0,0 +1,398 @@
+397 34 1000
+0 0.0 0.0
+300 3.0 3.0
+300 1.0 3.0
+300 -1.0 3.0
+300 -3.0 3.0
+300 -3.0 1.0
+300 -3.0 -1.0
+300 -3.0 -3.0
+300 -1.0 -3.0
+300 1.0 -3.0
+300 3.0 -3.0
+300 3.0 -1.0
+180 5.0 1.0
+180 5.0 3.0
+180 5.0 5.0
+180 3.0 5.0
+180 1.0 5.0
+180 -1.0 5.0
+180 -3.0 5.0
+180 -5.0 5.0
+180 -5.0 3.0
+180 -5.0 1.0
+180 -5.0 -1.0
+180 -5.0 -3.0
+180 -5.0 -5.0
+180 -3.0 -5.0
+180 -1.0 -5.0
+180 1.0 -5.0
+180 3.0 -5.0
+180 5.0 -5.0
+180 5.0 -3.0
+180 5.0 -1.0
+128 7.0 1.0
+128 7.0 3.0
+128 7.0 5.0
+128 7.0 7.0
+128 5.0 7.0
+128 3.0 7.0
+128 1.0 7.0
+128 -1.0 7.0
+128 -3.0 7.0
+128 -5.0 7.0
+128 -7.0 7.0
+128 -7.0 5.0
+128 -7.0 3.0
+128 -7.0 1.0
+128 -7.0 -1.0
+128 -7.0 -3.0
+128 -7.0 -5.0
+128 -7.0 -7.0
+128 -5.0 -7.0
+128 -3.0 -7.0
+128 -1.0 -7.0
+128 1.0 -7.0
+128 3.0 -7.0
+128 5.0 -7.0
+128 7.0 -7.0
+128 7.0 -5.0
+128 7.0 -3.0
+128 7.0 -1.0
+100 9.0 1.0
+100 9.0 3.0
+100 9.0 5.0
+100 9.0 7.0
+100 9.0 9.0
+100 7.0 9.0
+100 5.0 9.0
+100 3.0 9.0
+100 1.0 9.0
+100 -1.0 9.0
+100 -3.0 9.0
+100 -5.0 9.0
+100 -7.0 9.0
+100 -9.0 9.0
+100 -9.0 7.0
+100 -9.0 5.0
+100 -9.0 3.0
+100 -9.0 1.0
+100 -9.0 -1.0
+100 -9.0 -3.0
+100 -9.0 -5.0
+100 -9.0 -7.0
+100 -9.0 -9.0
+100 -7.0 -9.0
+100 -5.0 -9.0
+100 -3.0 -9.0
+100 -1.0 -9.0
+100 1.0 -9.0
+100 3.0 -9.0
+100 5.0 -9.0
+100 7.0 -9.0
+100 9.0 -9.0
+100 9.0 -7.0
+100 9.0 -5.0
+100 9.0 -3.0
+100 9.0 -1.0
+81 11.0 1.0
+81 11.0 3.0
+81 11.0 5.0
+81 11.0 7.0
+81 11.0 9.0
+81 11.0 11.0
+81 9.0 11.0
+81 7.0 11.0
+81 5.0 11.0
+81 3.0 11.0
+81 1.0 11.0
+81 -1.0 11.0
+81 -3.0 11.0
+81 -5.0 11.0
+81 -7.0 11.0
+81 -9.0 11.0
+81 -11.0 11.0
+81 -11.0 9.0
+81 -11.0 7.0
+81 -11.0 5.0
+81 -11.0 3.0
+81 -11.0 1.0
+81 -11.0 -1.0
+81 -11.0 -3.0
+81 -11.0 -5.0
+81 -11.0 -7.0
+81 -11.0 -9.0
+81 -11.0 -11.0
+81 -9.0 -11.0
+81 -7.0 -11.0
+81 -5.0 -11.0
+81 -3.0 -11.0
+81 -1.0 -11.0
+81 1.0 -11.0
+81 3.0 -11.0
+81 5.0 -11.0
+81 7.0 -11.0
+81 9.0 -11.0
+81 11.0 -11.0
+81 11.0 -9.0
+81 11.0 -7.0
+81 11.0 -5.0
+81 11.0 -3.0
+81 11.0 -1.0
+69 13.0 1.0
+69 13.0 3.0
+69 13.0 5.0
+69 13.0 7.0
+69 13.0 9.0
+69 13.0 11.0
+69 13.0 13.0
+69 11.0 13.0
+69 9.0 13.0
+69 7.0 13.0
+69 5.0 13.0
+69 3.0 13.0
+69 1.0 13.0
+69 -1.0 13.0
+69 -3.0 13.0
+69 -5.0 13.0
+69 -7.0 13.0
+69 -9.0 13.0
+69 -11.0 13.0
+69 -13.0 13.0
+69 -13.0 11.0
+69 -13.0 9.0
+69 -13.0 7.0
+69 -13.0 5.0
+69 -13.0 3.0
+69 -13.0 1.0
+69 -13.0 -1.0
+69 -13.0 -3.0
+69 -13.0 -5.0
+69 -13.0 -7.0
+69 -13.0 -9.0
+69 -13.0 -11.0
+69 -13.0 -13.0
+69 -11.0 -13.0
+69 -9.0 -13.0
+69 -7.0 -13.0
+69 -5.0 -13.0
+69 -3.0 -13.0
+69 -1.0 -13.0
+69 1.0 -13.0
+69 3.0 -13.0
+69 5.0 -13.0
+69 7.0 -13.0
+69 9.0 -13.0
+69 11.0 -13.0
+69 13.0 -13.0
+69 13.0 -11.0
+69 13.0 -9.0
+69 13.0 -7.0
+69 13.0 -5.0
+69 13.0 -3.0
+69 13.0 -1.0
+60 15.0 1.0
+60 15.0 3.0
+60 15.0 5.0
+60 15.0 7.0
+60 15.0 9.0
+60 15.0 11.0
+60 15.0 13.0
+60 15.0 15.0
+60 13.0 15.0
+60 11.0 15.0
+60 9.0 15.0
+60 7.0 15.0
+60 5.0 15.0
+60 3.0 15.0
+60 1.0 15.0
+60 -1.0 15.0
+60 -3.0 15.0
+60 -5.0 15.0
+60 -7.0 15.0
+60 -9.0 15.0
+60 -11.0 15.0
+60 -13.0 15.0
+60 -15.0 15.0
+60 -15.0 13.0
+60 -15.0 11.0
+60 -15.0 9.0
+60 -15.0 7.0
+60 -15.0 5.0
+60 -15.0 3.0
+60 -15.0 1.0
+60 -15.0 -1.0
+60 -15.0 -3.0
+60 -15.0 -5.0
+60 -15.0 -7.0
+60 -15.0 -9.0
+60 -15.0 -11.0
+60 -15.0 -13.0
+60 -15.0 -15.0
+60 -13.0 -15.0
+60 -11.0 -15.0
+60 -9.0 -15.0
+60 -7.0 -15.0
+60 -5.0 -15.0
+60 -3.0 -15.0
+60 -1.0 -15.0
+60 1.0 -15.0
+60 3.0 -15.0
+60 5.0 -15.0
+60 7.0 -15.0
+60 9.0 -15.0
+60 11.0 -15.0
+60 13.0 -15.0
+60 15.0 -15.0
+60 15.0 -13.0
+60 15.0 -11.0
+60 15.0 -9.0
+60 15.0 -7.0
+60 15.0 -5.0
+60 15.0 -3.0
+60 15.0 -1.0
+52 17.0 1.0
+52 17.0 3.0
+52 17.0 5.0
+52 17.0 7.0
+52 17.0 9.0
+52 17.0 11.0
+52 17.0 13.0
+52 17.0 15.0
+52 17.0 17.0
+52 15.0 17.0
+52 13.0 17.0
+52 11.0 17.0
+52 9.0 17.0
+52 7.0 17.0
+52 5.0 17.0
+52 3.0 17.0
+52 1.0 17.0
+52 -1.0 17.0
+52 -3.0 17.0
+52 -5.0 17.0
+52 -7.0 17.0
+52 -9.0 17.0
+52 -11.0 17.0
+52 -13.0 17.0
+52 -15.0 17.0
+52 -17.0 17.0
+52 -17.0 15.0
+52 -17.0 13.0
+52 -17.0 11.0
+52 -17.0 9.0
+52 -17.0 7.0
+52 -17.0 5.0
+52 -17.0 3.0
+52 -17.0 1.0
+52 -17.0 -1.0
+52 -17.0 -3.0
+52 -17.0 -5.0
+52 -17.0 -7.0
+52 -17.0 -9.0
+52 -17.0 -11.0
+52 -17.0 -13.0
+52 -17.0 -15.0
+52 -17.0 -17.0
+52 -15.0 -17.0
+52 -13.0 -17.0
+52 -11.0 -17.0
+52 -9.0 -17.0
+52 -7.0 -17.0
+52 -5.0 -17.0
+52 -3.0 -17.0
+52 -1.0 -17.0
+52 1.0 -17.0
+52 3.0 -17.0
+52 5.0 -17.0
+52 7.0 -17.0
+52 9.0 -17.0
+52 11.0 -17.0
+52 13.0 -17.0
+52 15.0 -17.0
+52 17.0 -17.0
+52 17.0 -15.0
+52 17.0 -13.0
+52 17.0 -11.0
+52 17.0 -9.0
+52 17.0 -7.0
+52 17.0 -5.0
+52 17.0 -3.0
+52 17.0 -1.0
+47 19.0 1.0
+47 19.0 3.0
+47 19.0 5.0
+47 19.0 7.0
+47 19.0 9.0
+47 19.0 11.0
+47 19.0 13.0
+47 19.0 15.0
+47 19.0 17.0
+47 19.0 19.0
+47 17.0 19.0
+47 15.0 19.0
+47 13.0 19.0
+47 11.0 19.0
+47 9.0 19.0
+47 7.0 19.0
+47 5.0 19.0
+47 3.0 19.0
+47 1.0 19.0
+47 -1.0 19.0
+47 -3.0 19.0
+47 -5.0 19.0
+47 -7.0 19.0
+47 -9.0 19.0
+47 -11.0 19.0
+47 -13.0 19.0
+47 -15.0 19.0
+47 -17.0 19.0
+47 -19.0 19.0
+47 -19.0 17.0
+47 -19.0 15.0
+47 -19.0 13.0
+47 -19.0 11.0
+47 -19.0 9.0
+47 -19.0 7.0
+47 -19.0 5.0
+47 -19.0 3.0
+47 -19.0 1.0
+47 -19.0 -1.0
+47 -19.0 -3.0
+47 -19.0 -5.0
+47 -19.0 -7.0
+47 -19.0 -9.0
+47 -19.0 -11.0
+47 -19.0 -13.0
+47 -19.0 -15.0
+47 -19.0 -17.0
+47 -19.0 -19.0
+47 -17.0 -19.0
+47 -15.0 -19.0
+47 -13.0 -19.0
+47 -11.0 -19.0
+47 -9.0 -19.0
+47 -7.0 -19.0
+47 -5.0 -19.0
+47 -3.0 -19.0
+47 -1.0 -19.0
+47 1.0 -19.0
+47 3.0 -19.0
+47 5.0 -19.0
+47 7.0 -19.0
+47 9.0 -19.0
+47 11.0 -19.0
+47 13.0 -19.0
+47 15.0 -19.0
+47 17.0 -19.0
+47 19.0 -19.0
+47 19.0 -17.0
+47 19.0 -15.0
+47 19.0 -13.0
+47 19.0 -11.0
+47 19.0 -9.0
+47 19.0 -7.0
+47 19.0 -5.0
+47 19.0 -3.0
+47 19.0 -1.0
+300 3.0 1.0
diff --git a/05-vehicle-routing/data/vrp_400_18_1 b/05-vehicle-routing/data/vrp_400_18_1
new file mode 100644
index 0000000..5572a82
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_400_18_1
@@ -0,0 +1,401 @@
+400 18 1000
+0 0.0 -19.0
+300 1.0 -18.0
+180 -2.0 -17.0
+300 0.0 -17.0
+180 2.0 -17.0
+128 -3.0 -16.0
+180 -1.0 -16.0
+180 1.0 -16.0
+128 3.0 -16.0
+100 -4.0 -15.0
+128 -2.0 -15.0
+180 0.0 -15.0
+128 2.0 -15.0
+100 4.0 -15.0
+81 -5.0 -14.0
+100 -3.0 -14.0
+128 -1.0 -14.0
+128 1.0 -14.0
+100 3.0 -14.0
+81 5.0 -14.0
+69 -6.0 -13.0
+81 -4.0 -13.0
+100 -2.0 -13.0
+128 0.0 -13.0
+100 2.0 -13.0
+81 4.0 -13.0
+69 6.0 -13.0
+60 -7.0 -12.0
+69 -5.0 -12.0
+81 -3.0 -12.0
+100 -1.0 -12.0
+100 1.0 -12.0
+81 3.0 -12.0
+69 5.0 -12.0
+60 7.0 -12.0
+52 -8.0 -11.0
+60 -6.0 -11.0
+69 -4.0 -11.0
+81 -2.0 -11.0
+100 0.0 -11.0
+81 2.0 -11.0
+69 4.0 -11.0
+60 6.0 -11.0
+52 8.0 -11.0
+47 -9.0 -10.0
+52 -7.0 -10.0
+60 -5.0 -10.0
+69 -3.0 -10.0
+81 -1.0 -10.0
+81 1.0 -10.0
+69 3.0 -10.0
+60 5.0 -10.0
+52 7.0 -10.0
+47 9.0 -10.0
+42 -10.0 -9.0
+47 -8.0 -9.0
+52 -6.0 -9.0
+60 -4.0 -9.0
+69 -2.0 -9.0
+81 0.0 -9.0
+69 2.0 -9.0
+60 4.0 -9.0
+52 6.0 -9.0
+47 8.0 -9.0
+42 10.0 -9.0
+39 -11.0 -8.0
+42 -9.0 -8.0
+47 -7.0 -8.0
+52 -5.0 -8.0
+60 -3.0 -8.0
+69 -1.0 -8.0
+69 1.0 -8.0
+60 3.0 -8.0
+52 5.0 -8.0
+47 7.0 -8.0
+42 9.0 -8.0
+39 11.0 -8.0
+36 -12.0 -7.0
+39 -10.0 -7.0
+42 -8.0 -7.0
+47 -6.0 -7.0
+52 -4.0 -7.0
+60 -2.0 -7.0
+69 0.0 -7.0
+60 2.0 -7.0
+52 4.0 -7.0
+47 6.0 -7.0
+42 8.0 -7.0
+39 10.0 -7.0
+36 12.0 -7.0
+33 -13.0 -6.0
+36 -11.0 -6.0
+39 -9.0 -6.0
+42 -7.0 -6.0
+47 -5.0 -6.0
+52 -3.0 -6.0
+60 -1.0 -6.0
+60 1.0 -6.0
+52 3.0 -6.0
+47 5.0 -6.0
+42 7.0 -6.0
+39 9.0 -6.0
+36 11.0 -6.0
+33 13.0 -6.0
+31 -14.0 -5.0
+33 -12.0 -5.0
+36 -10.0 -5.0
+39 -8.0 -5.0
+42 -6.0 -5.0
+47 -4.0 -5.0
+52 -2.0 -5.0
+60 0.0 -5.0
+52 2.0 -5.0
+47 4.0 -5.0
+42 6.0 -5.0
+39 8.0 -5.0
+36 10.0 -5.0
+33 12.0 -5.0
+31 14.0 -5.0
+29 -15.0 -4.0
+31 -13.0 -4.0
+33 -11.0 -4.0
+36 -9.0 -4.0
+39 -7.0 -4.0
+42 -5.0 -4.0
+47 -3.0 -4.0
+52 -1.0 -4.0
+52 1.0 -4.0
+47 3.0 -4.0
+42 5.0 -4.0
+39 7.0 -4.0
+36 9.0 -4.0
+33 11.0 -4.0
+31 13.0 -4.0
+29 15.0 -4.0
+27 -16.0 -3.0
+29 -14.0 -3.0
+31 -12.0 -3.0
+33 -10.0 -3.0
+36 -8.0 -3.0
+39 -6.0 -3.0
+42 -4.0 -3.0
+47 -2.0 -3.0
+52 0.0 -3.0
+47 2.0 -3.0
+42 4.0 -3.0
+39 6.0 -3.0
+36 8.0 -3.0
+33 10.0 -3.0
+31 12.0 -3.0
+29 14.0 -3.0
+27 16.0 -3.0
+25 -17.0 -2.0
+27 -15.0 -2.0
+29 -13.0 -2.0
+31 -11.0 -2.0
+33 -9.0 -2.0
+36 -7.0 -2.0
+39 -5.0 -2.0
+42 -3.0 -2.0
+47 -1.0 -2.0
+47 1.0 -2.0
+42 3.0 -2.0
+39 5.0 -2.0
+36 7.0 -2.0
+33 9.0 -2.0
+31 11.0 -2.0
+29 13.0 -2.0
+27 15.0 -2.0
+25 17.0 -2.0
+24 -18.0 -1.0
+25 -16.0 -1.0
+27 -14.0 -1.0
+29 -12.0 -1.0
+31 -10.0 -1.0
+33 -8.0 -1.0
+36 -6.0 -1.0
+39 -4.0 -1.0
+42 -2.0 -1.0
+47 0.0 -1.0
+42 2.0 -1.0
+39 4.0 -1.0
+36 6.0 -1.0
+33 8.0 -1.0
+31 10.0 -1.0
+29 12.0 -1.0
+27 14.0 -1.0
+25 16.0 -1.0
+24 18.0 -1.0
+23 -19.0 0.0
+24 -17.0 0.0
+25 -15.0 0.0
+27 -13.0 0.0
+29 -11.0 0.0
+31 -9.0 0.0
+33 -7.0 0.0
+36 -5.0 0.0
+39 -3.0 0.0
+42 -1.0 0.0
+42 1.0 0.0
+39 3.0 0.0
+36 5.0 0.0
+33 7.0 0.0
+31 9.0 0.0
+29 11.0 0.0
+27 13.0 0.0
+25 15.0 0.0
+24 17.0 0.0
+23 19.0 0.0
+23 -18.0 1.0
+24 -16.0 1.0
+25 -14.0 1.0
+27 -12.0 1.0
+29 -10.0 1.0
+31 -8.0 1.0
+33 -6.0 1.0
+36 -4.0 1.0
+39 -2.0 1.0
+42 0.0 1.0
+39 2.0 1.0
+36 4.0 1.0
+33 6.0 1.0
+31 8.0 1.0
+29 10.0 1.0
+27 12.0 1.0
+25 14.0 1.0
+24 16.0 1.0
+23 18.0 1.0
+23 -17.0 2.0
+24 -15.0 2.0
+25 -13.0 2.0
+27 -11.0 2.0
+29 -9.0 2.0
+31 -7.0 2.0
+33 -5.0 2.0
+36 -3.0 2.0
+39 -1.0 2.0
+39 1.0 2.0
+36 3.0 2.0
+33 5.0 2.0
+31 7.0 2.0
+29 9.0 2.0
+27 11.0 2.0
+25 13.0 2.0
+24 15.0 2.0
+23 17.0 2.0
+23 -16.0 3.0
+24 -14.0 3.0
+25 -12.0 3.0
+27 -10.0 3.0
+29 -8.0 3.0
+31 -6.0 3.0
+33 -4.0 3.0
+36 -2.0 3.0
+39 0.0 3.0
+36 2.0 3.0
+33 4.0 3.0
+31 6.0 3.0
+29 8.0 3.0
+27 10.0 3.0
+25 12.0 3.0
+24 14.0 3.0
+23 16.0 3.0
+23 -15.0 4.0
+24 -13.0 4.0
+25 -11.0 4.0
+27 -9.0 4.0
+29 -7.0 4.0
+31 -5.0 4.0
+33 -3.0 4.0
+36 -1.0 4.0
+36 1.0 4.0
+33 3.0 4.0
+31 5.0 4.0
+29 7.0 4.0
+27 9.0 4.0
+25 11.0 4.0
+24 13.0 4.0
+23 15.0 4.0
+23 -14.0 5.0
+24 -12.0 5.0
+25 -10.0 5.0
+27 -8.0 5.0
+29 -6.0 5.0
+31 -4.0 5.0
+33 -2.0 5.0
+36 0.0 5.0
+33 2.0 5.0
+31 4.0 5.0
+29 6.0 5.0
+27 8.0 5.0
+25 10.0 5.0
+24 12.0 5.0
+23 14.0 5.0
+23 -13.0 6.0
+24 -11.0 6.0
+25 -9.0 6.0
+27 -7.0 6.0
+29 -5.0 6.0
+31 -3.0 6.0
+33 -1.0 6.0
+33 1.0 6.0
+31 3.0 6.0
+29 5.0 6.0
+27 7.0 6.0
+25 9.0 6.0
+24 11.0 6.0
+23 13.0 6.0
+23 -12.0 7.0
+24 -10.0 7.0
+25 -8.0 7.0
+27 -6.0 7.0
+29 -4.0 7.0
+31 -2.0 7.0
+33 0.0 7.0
+31 2.0 7.0
+29 4.0 7.0
+27 6.0 7.0
+25 8.0 7.0
+24 10.0 7.0
+23 12.0 7.0
+23 -11.0 8.0
+24 -9.0 8.0
+25 -7.0 8.0
+27 -5.0 8.0
+29 -3.0 8.0
+31 -1.0 8.0
+31 1.0 8.0
+29 3.0 8.0
+27 5.0 8.0
+25 7.0 8.0
+24 9.0 8.0
+23 11.0 8.0
+23 -10.0 9.0
+24 -8.0 9.0
+25 -6.0 9.0
+27 -4.0 9.0
+29 -2.0 9.0
+31 0.0 9.0
+29 2.0 9.0
+27 4.0 9.0
+25 6.0 9.0
+24 8.0 9.0
+23 10.0 9.0
+23 -9.0 10.0
+24 -7.0 10.0
+25 -5.0 10.0
+27 -3.0 10.0
+29 -1.0 10.0
+29 1.0 10.0
+27 3.0 10.0
+25 5.0 10.0
+24 7.0 10.0
+23 9.0 10.0
+23 -8.0 11.0
+24 -6.0 11.0
+25 -4.0 11.0
+27 -2.0 11.0
+29 0.0 11.0
+27 2.0 11.0
+25 4.0 11.0
+24 6.0 11.0
+23 8.0 11.0
+23 -7.0 12.0
+24 -5.0 12.0
+25 -3.0 12.0
+27 -1.0 12.0
+27 1.0 12.0
+25 3.0 12.0
+24 5.0 12.0
+23 7.0 12.0
+23 -6.0 13.0
+24 -4.0 13.0
+25 -2.0 13.0
+27 0.0 13.0
+25 2.0 13.0
+24 4.0 13.0
+23 6.0 13.0
+23 -5.0 14.0
+24 -3.0 14.0
+25 -1.0 14.0
+25 1.0 14.0
+24 3.0 14.0
+23 5.0 14.0
+23 -4.0 15.0
+24 -2.0 15.0
+25 0.0 15.0
+24 2.0 15.0
+23 4.0 15.0
+23 -3.0 16.0
+24 -1.0 16.0
+24 1.0 16.0
+23 3.0 16.0
+23 -2.0 17.0
+24 0.0 17.0
+23 2.0 17.0
+23 -1.0 18.0
+23 1.0 18.0
+23 0.0 19.0
+300 -1.0 -18.0
diff --git a/05-vehicle-routing/data/vrp_41_14_1 b/05-vehicle-routing/data/vrp_41_14_1
new file mode 100644
index 0000000..85c4884
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_41_14_1
@@ -0,0 +1,42 @@
+41 14 60
+0 40.0 40.0
+18 22.0 22.0
+26 36.0 26.0
+11 21.0 45.0
+30 45.0 35.0
+21 55.0 20.0
+19 33.0 34.0
+15 50.0 50.0
+16 55.0 45.0
+29 26.0 59.0
+26 40.0 66.0
+37 55.0 65.0
+16 35.0 51.0
+12 62.0 35.0
+31 62.0 57.0
+8 62.0 24.0
+19 21.0 36.0
+20 33.0 44.0
+13 9.0 56.0
+15 62.0 48.0
+22 66.0 14.0
+28 44.0 13.0
+12 26.0 13.0
+6 11.0 28.0
+27 7.0 43.0
+14 17.0 64.0
+18 41.0 46.0
+17 55.0 34.0
+29 35.0 16.0
+13 52.0 26.0
+22 43.0 26.0
+25 31.0 76.0
+28 22.0 53.0
+27 26.0 29.0
+19 50.0 40.0
+10 55.0 50.0
+12 54.0 10.0
+14 60.0 15.0
+24 47.0 66.0
+16 30.0 60.0
+33 30.0 50.0
diff --git a/05-vehicle-routing/data/vrp_421_41_1 b/05-vehicle-routing/data/vrp_421_41_1
new file mode 100644
index 0000000..a9fa267
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_421_41_1
@@ -0,0 +1,422 @@
+421 41 200
+0 0.0 0.0
+40 2.8867 5.0
+40 -2.8868 5.0
+40 -5.7735 0.0
+40 -2.8867 -5.0
+40 2.8868 -5.0
+40 8.6603 5.0
+40 0.0 10.0
+40 -8.6603 5.0
+40 -8.6603 -5.0
+40 0.0 -10.0
+40 8.6603 -5.0
+10 5.3405 0.75
+10 3.3198 4.25
+10 6.4952 -1.25
+20 7.2169 -2.5
+10 7.9386 -3.75
+10 6.4952 1.25
+20 7.2169 2.5
+10 7.9386 3.75
+10 2.0207 5.0
+10 -2.0207 5.0
+10 4.3301 5.0
+20 5.7735 5.0
+10 7.2169 5.0
+10 2.1651 6.25
+20 1.4434 7.5
+10 0.7217 8.75
+10 -3.3198 4.25
+10 -5.3405 0.75
+10 -2.1651 6.25
+20 -1.4434 7.5
+10 -0.7217 8.75
+10 -4.3301 5.0
+20 -5.7735 5.0
+10 -7.2169 5.0
+10 -5.3405 -0.75
+10 -3.3198 -4.25
+10 -6.4952 1.25
+20 -7.2169 2.5
+10 -7.9386 3.75
+10 -6.4952 -1.25
+20 -7.2169 -2.5
+10 -7.9386 -3.75
+10 -2.0207 -5.0
+10 2.0207 -5.0
+10 -4.3301 -5.0
+20 -5.7735 -5.0
+10 -7.2169 -5.0
+10 -2.1651 -6.25
+20 -1.4434 -7.5
+10 -0.7217 -8.75
+10 3.3198 -4.25
+10 5.3405 -0.75
+10 2.1651 -6.25
+20 1.4434 -7.5
+10 0.7217 -8.75
+10 4.3301 -5.0
+20 5.7735 -5.0
+10 7.2169 -5.0
+40 7.2169 0.0
+40 3.6084 6.25
+40 -3.6084 6.25
+40 -7.2169 0.0
+40 -3.6084 -6.25
+40 3.6084 -6.25
+40 10.8253 6.25
+40 0.0 12.5
+40 -10.8253 6.25
+40 -10.8253 -6.25
+40 0.0 -12.5
+40 10.8253 -6.25
+10 6.6756 0.9375
+10 4.1497 5.3125
+10 8.119 -1.5625
+20 9.0211 -3.125
+10 9.9232 -4.6875
+10 8.119 1.5625
+20 9.0211 3.125
+10 9.9232 4.6875
+10 2.5259 6.25
+10 -2.5259 6.25
+10 5.4127 6.25
+20 7.2169 6.25
+10 9.0211 6.25
+10 2.7063 7.8125
+20 1.8042 9.375
+10 0.9021 10.9375
+10 -4.1497 5.3125
+10 -6.6756 0.9375
+10 -2.7063 7.8125
+20 -1.8042 9.375
+10 -0.9021 10.9375
+10 -5.4127 6.25
+20 -7.2169 6.25
+10 -9.0211 6.25
+10 -6.6756 -0.9375
+10 -4.1497 -5.3125
+10 -8.119 1.5625
+20 -9.0211 3.125
+10 -9.9232 4.6875
+10 -8.119 -1.5625
+20 -9.0211 -3.125
+10 -9.9232 -4.6875
+10 -2.5259 -6.25
+10 2.5259 -6.25
+10 -5.4127 -6.25
+20 -7.2169 -6.25
+10 -9.0211 -6.25
+10 -2.7063 -7.8125
+20 -1.8042 -9.375
+10 -0.9021 -10.9375
+10 4.1497 -5.3125
+10 6.6756 -0.9375
+10 2.7063 -7.8125
+20 1.8042 -9.375
+10 0.9021 -10.9375
+10 5.4127 -6.25
+20 7.2169 -6.25
+10 9.0211 -6.25
+40 9.0211 0.0
+40 4.5105 7.8125
+40 -4.5105 7.8125
+40 -9.0211 0.0
+40 -4.5105 -7.8125
+40 4.5106 -7.8125
+40 13.5316 7.8125
+40 0.0 15.625
+40 -13.5316 7.8125
+40 -13.5316 -7.8125
+40 0.0 -15.625
+40 13.5316 -7.8125
+10 8.3445 1.1719
+10 5.1871 6.6406
+10 10.1487 -1.9531
+20 11.2764 -3.9062
+10 12.404 -5.8594
+10 10.1487 1.9531
+20 11.2764 3.9062
+10 12.404 5.8594
+10 3.1574 7.8125
+10 -3.1574 7.8125
+10 6.7658 7.8125
+20 9.0211 7.8125
+10 11.2764 7.8125
+10 3.3829 9.7656
+20 2.2553 11.7187
+10 1.1276 13.6719
+10 -5.1871 6.6406
+10 -8.3445 1.1719
+10 -3.3829 9.7656
+20 -2.2553 11.7187
+10 -1.1276 13.6719
+10 -6.7658 7.8125
+20 -9.0211 7.8125
+10 -11.2764 7.8125
+10 -8.3445 -1.1719
+10 -5.1871 -6.6406
+10 -10.1487 1.9531
+20 -11.2764 3.9062
+10 -12.404 5.8594
+10 -10.1487 -1.9531
+20 -11.2764 -3.9063
+10 -12.404 -5.8594
+10 -3.1574 -7.8125
+10 3.1574 -7.8125
+10 -6.7658 -7.8125
+20 -9.0211 -7.8125
+10 -11.2764 -7.8125
+10 -3.3829 -9.7656
+20 -2.2553 -11.7187
+10 -1.1276 -13.6719
+10 5.1871 -6.6406
+10 8.3445 -1.1719
+10 3.3829 -9.7656
+20 2.2553 -11.7187
+10 1.1276 -13.6719
+10 6.7658 -7.8125
+20 9.0211 -7.8125
+10 11.2764 -7.8125
+40 11.2764 0.0
+40 5.6382 9.7656
+40 -5.6382 9.7656
+40 -11.2764 0.0
+40 -5.6382 -9.7656
+40 5.6382 -9.7656
+40 16.9146 9.7656
+40 0.0 19.5312
+40 -16.9146 9.7656
+40 -16.9146 -9.7656
+40 0.0 -19.5312
+40 16.9146 -9.7656
+10 10.4306 1.4648
+10 6.4839 8.3008
+10 12.6859 -2.4414
+20 14.0955 -4.8828
+10 15.505 -7.3242
+10 12.6859 2.4414
+20 14.0955 4.8828
+10 15.505 7.3242
+10 3.9467 9.7656
+10 -3.9467 9.7656
+10 8.4573 9.7656
+20 11.2764 9.7656
+10 14.0955 9.7656
+10 4.2286 12.207
+20 2.8191 14.6484
+10 1.4095 17.0898
+10 -6.4839 8.3008
+10 -10.4306 1.4648
+10 -4.2286 12.207
+20 -2.8191 14.6484
+10 -1.4095 17.0898
+10 -8.4573 9.7656
+20 -11.2764 9.7656
+10 -14.0955 9.7656
+10 -10.4306 -1.4648
+10 -6.4839 -8.3008
+10 -12.6859 2.4414
+20 -14.0955 4.8828
+10 -15.505 7.3242
+10 -12.6859 -2.4414
+20 -14.0955 -4.8828
+10 -15.505 -7.3242
+10 -3.9467 -9.7656
+10 3.9467 -9.7656
+10 -8.4573 -9.7656
+20 -11.2764 -9.7656
+10 -14.0955 -9.7656
+10 -4.2286 -12.207
+20 -2.8191 -14.6484
+10 -1.4095 -17.0898
+10 6.4839 -8.3008
+10 10.4306 -1.4648
+10 4.2286 -12.207
+20 2.8191 -14.6484
+10 1.4095 -17.0898
+10 8.4573 -9.7656
+20 11.2764 -9.7656
+10 14.0955 -9.7656
+40 14.0955 0.0
+40 7.0477 12.207
+40 -7.0477 12.207
+40 -14.0955 0.0
+40 -7.0477 -12.207
+40 7.0477 -12.207
+40 21.1432 12.207
+40 0.0 24.4141
+40 -21.1432 12.207
+40 -21.1432 -12.207
+40 0.0 -24.4141
+40 21.1432 -12.207
+10 13.0383 1.8311
+10 8.1049 10.376
+10 15.8574 -3.0518
+20 17.6193 -6.1035
+10 19.3813 -9.1553
+10 15.8574 3.0518
+20 17.6193 6.1035
+10 19.3813 9.1553
+10 4.9334 12.207
+10 -4.9334 12.207
+10 10.5716 12.207
+20 14.0955 12.207
+10 17.6193 12.207
+10 5.2858 15.2588
+20 3.5239 18.3105
+10 1.7619 21.3623
+10 -8.1049 10.376
+10 -13.0383 1.8311
+10 -5.2858 15.2588
+20 -3.5239 18.3105
+10 -1.7619 21.3623
+10 -10.5716 12.207
+20 -14.0955 12.207
+10 -17.6193 12.207
+10 -13.0383 -1.8311
+10 -8.1049 -10.376
+10 -15.8574 3.0518
+20 -17.6193 6.1035
+10 -19.3813 9.1553
+10 -15.8574 -3.0518
+20 -17.6193 -6.1035
+10 -19.3813 -9.1553
+10 -4.9334 -12.207
+10 4.9334 -12.207
+10 -10.5716 -12.207
+20 -14.0955 -12.207
+10 -17.6193 -12.207
+10 -5.2858 -15.2588
+20 -3.5239 -18.3105
+10 -1.7619 -21.3623
+10 8.1049 -10.376
+10 13.0383 -1.8311
+10 5.2858 -15.2588
+20 3.5239 -18.3105
+10 1.7619 -21.3623
+10 10.5716 -12.207
+20 14.0955 -12.207
+10 17.6193 -12.207
+40 17.6193 0.0
+40 8.8097 15.2588
+40 -8.8097 15.2588
+40 -17.6193 0.0
+40 -8.8097 -15.2588
+40 8.8097 -15.2588
+40 26.429 15.2588
+40 0.0 30.5176
+40 -26.429 15.2588
+40 -26.429 -15.2588
+40 0.0 -30.5176
+40 26.429 -15.2588
+10 16.2979 2.2888
+10 10.1311 12.97
+10 19.8217 -3.8147
+20 22.0242 -7.6294
+10 24.2266 -11.4441
+10 19.8217 3.8147
+20 22.0242 7.6294
+10 24.2266 11.4441
+10 6.1668 15.2588
+10 -6.1668 15.2588
+10 13.2145 15.2588
+20 17.6193 15.2588
+10 22.0242 15.2588
+10 6.6072 19.0735
+20 4.4048 22.8882
+10 2.2024 26.7029
+10 -10.1311 12.97
+10 -16.2979 2.2888
+10 -6.6072 19.0735
+20 -4.4048 22.8882
+10 -2.2024 26.7029
+10 -13.2145 15.2588
+20 -17.6193 15.2588
+10 -22.0242 15.2588
+10 -16.2979 -2.2888
+10 -10.1311 -12.97
+10 -19.8217 3.8147
+20 -22.0242 7.6294
+10 -24.2266 11.4441
+10 -19.8217 -3.8147
+20 -22.0242 -7.6294
+10 -24.2266 -11.4441
+10 -6.1668 -15.2588
+10 6.1668 -15.2588
+10 -13.2145 -15.2588
+20 -17.6193 -15.2588
+10 -22.0242 -15.2588
+10 -6.6072 -19.0735
+20 -4.4048 -22.8882
+10 -2.2024 -26.7029
+10 10.1311 -12.97
+10 16.2979 -2.2888
+10 6.6073 -19.0735
+20 4.4048 -22.8882
+10 2.2024 -26.7029
+10 13.2145 -15.2588
+20 17.6193 -15.2588
+10 22.0242 -15.2588
+40 22.0242 0.0
+40 11.0121 19.0735
+40 -11.0121 19.0735
+40 -22.0242 0.0
+40 -11.0121 -19.0735
+40 11.0121 -19.0735
+40 33.0362 19.0735
+40 0.0 38.147
+40 -33.0362 19.0735
+40 -33.0362 -19.0735
+40 0.0 -38.147
+40 33.0363 -19.0735
+10 20.3723 2.861
+10 12.6639 16.2125
+10 24.7772 -4.7684
+20 27.5302 -9.5367
+10 30.2832 -14.3051
+10 24.7772 4.7684
+20 27.5302 9.5367
+10 30.2832 14.3051
+10 7.7085 19.0735
+10 -7.7085 19.0735
+10 16.5181 19.0735
+20 22.0242 19.0735
+10 27.5302 19.0735
+10 8.2591 23.8419
+20 5.506 28.6102
+10 2.753 33.3786
+10 -12.6639 16.2125
+10 -20.3723 2.861
+10 -8.2591 23.8419
+20 -5.506 28.6102
+10 -2.753 33.3786
+10 -16.5181 19.0735
+20 -22.0242 19.0735
+10 -27.5302 19.0735
+10 -20.3723 -2.861
+10 -12.6639 -16.2125
+10 -24.7772 4.7684
+20 -27.5302 9.5367
+10 -30.2832 14.3051
+10 -24.7772 -4.7684
+20 -27.5302 -9.5367
+10 -30.2832 -14.3051
+10 -7.7085 -19.0735
+10 7.7085 -19.0735
+10 -16.5181 -19.0735
+20 -22.0242 -19.0735
+10 -27.5302 -19.0735
+10 -8.2591 -23.8419
+20 -5.506 -28.6102
+10 -2.753 -33.3786
+10 12.6639 -16.2125
+10 20.3723 -2.861
+10 8.2591 -23.8418
+20 5.506 -28.6102
+10 2.753 -33.3786
+10 16.5181 -19.0735
+20 22.0242 -19.0735
+10 27.5302 -19.0735
+40 5.7735 0.0
diff --git a/05-vehicle-routing/data/vrp_45_4_1 b/05-vehicle-routing/data/vrp_45_4_1
new file mode 100644
index 0000000..a7992ff
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_45_4_1
@@ -0,0 +1,46 @@
+45 4 2010
+0 0.0 0.0
+33 3.0 5.0
+15 2.5 9.0
+10 48.0 16.0
+40 48.0 17.0
+15 69.0 16.0
+5 70.0 16.0
+77 64.0 13.0
+435 3.0 -22.0
+165 2.5 1.0
+120 -13.0 11.5
+65 -20.0 45.0
+23 -9.0 52.0
+18 -8.5 53.0
+550 -8.0 52.0
+78 2.0 2.0
+627 -2.0 9.0
+9 -10.0 20.0
+96 -20.0 19.0
+116 -15.0 -21.0
+116 -5.0 -9.0
+83 -4.5 -9.0
+41 -52.0 -36.0
+645 -53.0 -36.0
+694 0.0 0.01
+573 -30.0 -18.0
+1 -51.0 -35.0
+181 81.0 9.0
+106 84.0 -99.0
+52 82.0 -6.0
+117 40.0 -12.0
+52 50.0 -7.0
+1300 51.0 -8.0
+57 63.0 -17.0
+28 45.0 -1.0
+84 54.0 8.5
+1 29.0 4.0
+54 21.0 3.0
+19 22.0 2.0
+88 39.0 -3.0
+41 39.5 -3.0
+238 40.0 -11.0
+66 28.0 -2.0
+44 24.0 -18.0
+42 24.0 -19.0
diff --git a/05-vehicle-routing/data/vrp_481_38_1 b/05-vehicle-routing/data/vrp_481_38_1
new file mode 100644
index 0000000..fa17941
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_481_38_1
@@ -0,0 +1,482 @@
+481 38 1000
+0 0.0 0.0
+300 3.0 3.0
+300 1.0 3.0
+300 -1.0 3.0
+300 -3.0 3.0
+300 -3.0 1.0
+300 -3.0 -1.0
+300 -3.0 -3.0
+300 -1.0 -3.0
+300 1.0 -3.0
+300 3.0 -3.0
+300 3.0 -1.0
+180 5.0 1.0
+180 5.0 3.0
+180 5.0 5.0
+180 3.0 5.0
+180 1.0 5.0
+180 -1.0 5.0
+180 -3.0 5.0
+180 -5.0 5.0
+180 -5.0 3.0
+180 -5.0 1.0
+180 -5.0 -1.0
+180 -5.0 -3.0
+180 -5.0 -5.0
+180 -3.0 -5.0
+180 -1.0 -5.0
+180 1.0 -5.0
+180 3.0 -5.0
+180 5.0 -5.0
+180 5.0 -3.0
+180 5.0 -1.0
+128 7.0 1.0
+128 7.0 3.0
+128 7.0 5.0
+128 7.0 7.0
+128 5.0 7.0
+128 3.0 7.0
+128 1.0 7.0
+128 -1.0 7.0
+128 -3.0 7.0
+128 -5.0 7.0
+128 -7.0 7.0
+128 -7.0 5.0
+128 -7.0 3.0
+128 -7.0 1.0
+128 -7.0 -1.0
+128 -7.0 -3.0
+128 -7.0 -5.0
+128 -7.0 -7.0
+128 -5.0 -7.0
+128 -3.0 -7.0
+128 -1.0 -7.0
+128 1.0 -7.0
+128 3.0 -7.0
+128 5.0 -7.0
+128 7.0 -7.0
+128 7.0 -5.0
+128 7.0 -3.0
+128 7.0 -1.0
+100 9.0 1.0
+100 9.0 3.0
+100 9.0 5.0
+100 9.0 7.0
+100 9.0 9.0
+100 7.0 9.0
+100 5.0 9.0
+100 3.0 9.0
+100 1.0 9.0
+100 -1.0 9.0
+100 -3.0 9.0
+100 -5.0 9.0
+100 -7.0 9.0
+100 -9.0 9.0
+100 -9.0 7.0
+100 -9.0 5.0
+100 -9.0 3.0
+100 -9.0 1.0
+100 -9.0 -1.0
+100 -9.0 -3.0
+100 -9.0 -5.0
+100 -9.0 -7.0
+100 -9.0 -9.0
+100 -7.0 -9.0
+100 -5.0 -9.0
+100 -3.0 -9.0
+100 -1.0 -9.0
+100 1.0 -9.0
+100 3.0 -9.0
+100 5.0 -9.0
+100 7.0 -9.0
+100 9.0 -9.0
+100 9.0 -7.0
+100 9.0 -5.0
+100 9.0 -3.0
+100 9.0 -1.0
+81 11.0 1.0
+81 11.0 3.0
+81 11.0 5.0
+81 11.0 7.0
+81 11.0 9.0
+81 11.0 11.0
+81 9.0 11.0
+81 7.0 11.0
+81 5.0 11.0
+81 3.0 11.0
+81 1.0 11.0
+81 -1.0 11.0
+81 -3.0 11.0
+81 -5.0 11.0
+81 -7.0 11.0
+81 -9.0 11.0
+81 -11.0 11.0
+81 -11.0 9.0
+81 -11.0 7.0
+81 -11.0 5.0
+81 -11.0 3.0
+81 -11.0 1.0
+81 -11.0 -1.0
+81 -11.0 -3.0
+81 -11.0 -5.0
+81 -11.0 -7.0
+81 -11.0 -9.0
+81 -11.0 -11.0
+81 -9.0 -11.0
+81 -7.0 -11.0
+81 -5.0 -11.0
+81 -3.0 -11.0
+81 -1.0 -11.0
+81 1.0 -11.0
+81 3.0 -11.0
+81 5.0 -11.0
+81 7.0 -11.0
+81 9.0 -11.0
+81 11.0 -11.0
+81 11.0 -9.0
+81 11.0 -7.0
+81 11.0 -5.0
+81 11.0 -3.0
+81 11.0 -1.0
+69 13.0 1.0
+69 13.0 3.0
+69 13.0 5.0
+69 13.0 7.0
+69 13.0 9.0
+69 13.0 11.0
+69 13.0 13.0
+69 11.0 13.0
+69 9.0 13.0
+69 7.0 13.0
+69 5.0 13.0
+69 3.0 13.0
+69 1.0 13.0
+69 -1.0 13.0
+69 -3.0 13.0
+69 -5.0 13.0
+69 -7.0 13.0
+69 -9.0 13.0
+69 -11.0 13.0
+69 -13.0 13.0
+69 -13.0 11.0
+69 -13.0 9.0
+69 -13.0 7.0
+69 -13.0 5.0
+69 -13.0 3.0
+69 -13.0 1.0
+69 -13.0 -1.0
+69 -13.0 -3.0
+69 -13.0 -5.0
+69 -13.0 -7.0
+69 -13.0 -9.0
+69 -13.0 -11.0
+69 -13.0 -13.0
+69 -11.0 -13.0
+69 -9.0 -13.0
+69 -7.0 -13.0
+69 -5.0 -13.0
+69 -3.0 -13.0
+69 -1.0 -13.0
+69 1.0 -13.0
+69 3.0 -13.0
+69 5.0 -13.0
+69 7.0 -13.0
+69 9.0 -13.0
+69 11.0 -13.0
+69 13.0 -13.0
+69 13.0 -11.0
+69 13.0 -9.0
+69 13.0 -7.0
+69 13.0 -5.0
+69 13.0 -3.0
+69 13.0 -1.0
+60 15.0 1.0
+60 15.0 3.0
+60 15.0 5.0
+60 15.0 7.0
+60 15.0 9.0
+60 15.0 11.0
+60 15.0 13.0
+60 15.0 15.0
+60 13.0 15.0
+60 11.0 15.0
+60 9.0 15.0
+60 7.0 15.0
+60 5.0 15.0
+60 3.0 15.0
+60 1.0 15.0
+60 -1.0 15.0
+60 -3.0 15.0
+60 -5.0 15.0
+60 -7.0 15.0
+60 -9.0 15.0
+60 -11.0 15.0
+60 -13.0 15.0
+60 -15.0 15.0
+60 -15.0 13.0
+60 -15.0 11.0
+60 -15.0 9.0
+60 -15.0 7.0
+60 -15.0 5.0
+60 -15.0 3.0
+60 -15.0 1.0
+60 -15.0 -1.0
+60 -15.0 -3.0
+60 -15.0 -5.0
+60 -15.0 -7.0
+60 -15.0 -9.0
+60 -15.0 -11.0
+60 -15.0 -13.0
+60 -15.0 -15.0
+60 -13.0 -15.0
+60 -11.0 -15.0
+60 -9.0 -15.0
+60 -7.0 -15.0
+60 -5.0 -15.0
+60 -3.0 -15.0
+60 -1.0 -15.0
+60 1.0 -15.0
+60 3.0 -15.0
+60 5.0 -15.0
+60 7.0 -15.0
+60 9.0 -15.0
+60 11.0 -15.0
+60 13.0 -15.0
+60 15.0 -15.0
+60 15.0 -13.0
+60 15.0 -11.0
+60 15.0 -9.0
+60 15.0 -7.0
+60 15.0 -5.0
+60 15.0 -3.0
+60 15.0 -1.0
+52 17.0 1.0
+52 17.0 3.0
+52 17.0 5.0
+52 17.0 7.0
+52 17.0 9.0
+52 17.0 11.0
+52 17.0 13.0
+52 17.0 15.0
+52 17.0 17.0
+52 15.0 17.0
+52 13.0 17.0
+52 11.0 17.0
+52 9.0 17.0
+52 7.0 17.0
+52 5.0 17.0
+52 3.0 17.0
+52 1.0 17.0
+52 -1.0 17.0
+52 -3.0 17.0
+52 -5.0 17.0
+52 -7.0 17.0
+52 -9.0 17.0
+52 -11.0 17.0
+52 -13.0 17.0
+52 -15.0 17.0
+52 -17.0 17.0
+52 -17.0 15.0
+52 -17.0 13.0
+52 -17.0 11.0
+52 -17.0 9.0
+52 -17.0 7.0
+52 -17.0 5.0
+52 -17.0 3.0
+52 -17.0 1.0
+52 -17.0 -1.0
+52 -17.0 -3.0
+52 -17.0 -5.0
+52 -17.0 -7.0
+52 -17.0 -9.0
+52 -17.0 -11.0
+52 -17.0 -13.0
+52 -17.0 -15.0
+52 -17.0 -17.0
+52 -15.0 -17.0
+52 -13.0 -17.0
+52 -11.0 -17.0
+52 -9.0 -17.0
+52 -7.0 -17.0
+52 -5.0 -17.0
+52 -3.0 -17.0
+52 -1.0 -17.0
+52 1.0 -17.0
+52 3.0 -17.0
+52 5.0 -17.0
+52 7.0 -17.0
+52 9.0 -17.0
+52 11.0 -17.0
+52 13.0 -17.0
+52 15.0 -17.0
+52 17.0 -17.0
+52 17.0 -15.0
+52 17.0 -13.0
+52 17.0 -11.0
+52 17.0 -9.0
+52 17.0 -7.0
+52 17.0 -5.0
+52 17.0 -3.0
+52 17.0 -1.0
+47 19.0 1.0
+47 19.0 3.0
+47 19.0 5.0
+47 19.0 7.0
+47 19.0 9.0
+47 19.0 11.0
+47 19.0 13.0
+47 19.0 15.0
+47 19.0 17.0
+47 19.0 19.0
+47 17.0 19.0
+47 15.0 19.0
+47 13.0 19.0
+47 11.0 19.0
+47 9.0 19.0
+47 7.0 19.0
+47 5.0 19.0
+47 3.0 19.0
+47 1.0 19.0
+47 -1.0 19.0
+47 -3.0 19.0
+47 -5.0 19.0
+47 -7.0 19.0
+47 -9.0 19.0
+47 -11.0 19.0
+47 -13.0 19.0
+47 -15.0 19.0
+47 -17.0 19.0
+47 -19.0 19.0
+47 -19.0 17.0
+47 -19.0 15.0
+47 -19.0 13.0
+47 -19.0 11.0
+47 -19.0 9.0
+47 -19.0 7.0
+47 -19.0 5.0
+47 -19.0 3.0
+47 -19.0 1.0
+47 -19.0 -1.0
+47 -19.0 -3.0
+47 -19.0 -5.0
+47 -19.0 -7.0
+47 -19.0 -9.0
+47 -19.0 -11.0
+47 -19.0 -13.0
+47 -19.0 -15.0
+47 -19.0 -17.0
+47 -19.0 -19.0
+47 -17.0 -19.0
+47 -15.0 -19.0
+47 -13.0 -19.0
+47 -11.0 -19.0
+47 -9.0 -19.0
+47 -7.0 -19.0
+47 -5.0 -19.0
+47 -3.0 -19.0
+47 -1.0 -19.0
+47 1.0 -19.0
+47 3.0 -19.0
+47 5.0 -19.0
+47 7.0 -19.0
+47 9.0 -19.0
+47 11.0 -19.0
+47 13.0 -19.0
+47 15.0 -19.0
+47 17.0 -19.0
+47 19.0 -19.0
+47 19.0 -17.0
+47 19.0 -15.0
+47 19.0 -13.0
+47 19.0 -11.0
+47 19.0 -9.0
+47 19.0 -7.0
+47 19.0 -5.0
+47 19.0 -3.0
+47 19.0 -1.0
+42 21.0 1.0
+42 21.0 3.0
+42 21.0 5.0
+42 21.0 7.0
+42 21.0 9.0
+42 21.0 11.0
+42 21.0 13.0
+42 21.0 15.0
+42 21.0 17.0
+42 21.0 19.0
+42 21.0 21.0
+42 19.0 21.0
+42 17.0 21.0
+42 15.0 21.0
+42 13.0 21.0
+42 11.0 21.0
+42 9.0 21.0
+42 7.0 21.0
+42 5.0 21.0
+42 3.0 21.0
+42 1.0 21.0
+42 -1.0 21.0
+42 -3.0 21.0
+42 -5.0 21.0
+42 -7.0 21.0
+42 -9.0 21.0
+42 -11.0 21.0
+42 -13.0 21.0
+42 -15.0 21.0
+42 -17.0 21.0
+42 -19.0 21.0
+42 -21.0 21.0
+42 -21.0 19.0
+42 -21.0 17.0
+42 -21.0 15.0
+42 -21.0 13.0
+42 -21.0 11.0
+42 -21.0 9.0
+42 -21.0 7.0
+42 -21.0 5.0
+42 -21.0 3.0
+42 -21.0 1.0
+42 -21.0 -1.0
+42 -21.0 -3.0
+42 -21.0 -5.0
+42 -21.0 -7.0
+42 -21.0 -9.0
+42 -21.0 -11.0
+42 -21.0 -13.0
+42 -21.0 -15.0
+42 -21.0 -17.0
+42 -21.0 -19.0
+42 -21.0 -21.0
+42 -19.0 -21.0
+42 -17.0 -21.0
+42 -15.0 -21.0
+42 -13.0 -21.0
+42 -11.0 -21.0
+42 -9.0 -21.0
+42 -7.0 -21.0
+42 -5.0 -21.0
+42 -3.0 -21.0
+42 -1.0 -21.0
+42 1.0 -21.0
+42 3.0 -21.0
+42 5.0 -21.0
+42 7.0 -21.0
+42 9.0 -21.0
+42 11.0 -21.0
+42 13.0 -21.0
+42 15.0 -21.0
+42 17.0 -21.0
+42 19.0 -21.0
+42 21.0 -21.0
+42 21.0 -19.0
+42 21.0 -17.0
+42 21.0 -15.0
+42 21.0 -13.0
+42 21.0 -11.0
+42 21.0 -9.0
+42 21.0 -7.0
+42 21.0 -5.0
+42 21.0 -3.0
+42 21.0 -1.0
+300 3.0 1.0
diff --git a/05-vehicle-routing/data/vrp_484_19_1 b/05-vehicle-routing/data/vrp_484_19_1
new file mode 100644
index 0000000..aaff71f
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_484_19_1
@@ -0,0 +1,485 @@
+484 19 1000
+0 0.0 -21.0
+300 1.0 -20.0
+180 -2.0 -19.0
+300 0.0 -19.0
+180 2.0 -19.0
+128 -3.0 -18.0
+180 -1.0 -18.0
+180 1.0 -18.0
+128 3.0 -18.0
+100 -4.0 -17.0
+128 -2.0 -17.0
+180 0.0 -17.0
+128 2.0 -17.0
+100 4.0 -17.0
+81 -5.0 -16.0
+100 -3.0 -16.0
+128 -1.0 -16.0
+128 1.0 -16.0
+100 3.0 -16.0
+81 5.0 -16.0
+69 -6.0 -15.0
+81 -4.0 -15.0
+100 -2.0 -15.0
+128 0.0 -15.0
+100 2.0 -15.0
+81 4.0 -15.0
+69 6.0 -15.0
+60 -7.0 -14.0
+69 -5.0 -14.0
+81 -3.0 -14.0
+100 -1.0 -14.0
+100 1.0 -14.0
+81 3.0 -14.0
+69 5.0 -14.0
+60 7.0 -14.0
+52 -8.0 -13.0
+60 -6.0 -13.0
+69 -4.0 -13.0
+81 -2.0 -13.0
+100 0.0 -13.0
+81 2.0 -13.0
+69 4.0 -13.0
+60 6.0 -13.0
+52 8.0 -13.0
+47 -9.0 -12.0
+52 -7.0 -12.0
+60 -5.0 -12.0
+69 -3.0 -12.0
+81 -1.0 -12.0
+81 1.0 -12.0
+69 3.0 -12.0
+60 5.0 -12.0
+52 7.0 -12.0
+47 9.0 -12.0
+42 -10.0 -11.0
+47 -8.0 -11.0
+52 -6.0 -11.0
+60 -4.0 -11.0
+69 -2.0 -11.0
+81 0.0 -11.0
+69 2.0 -11.0
+60 4.0 -11.0
+52 6.0 -11.0
+47 8.0 -11.0
+42 10.0 -11.0
+39 -11.0 -10.0
+42 -9.0 -10.0
+47 -7.0 -10.0
+52 -5.0 -10.0
+60 -3.0 -10.0
+69 -1.0 -10.0
+69 1.0 -10.0
+60 3.0 -10.0
+52 5.0 -10.0
+47 7.0 -10.0
+42 9.0 -10.0
+39 11.0 -10.0
+36 -12.0 -9.0
+39 -10.0 -9.0
+42 -8.0 -9.0
+47 -6.0 -9.0
+52 -4.0 -9.0
+60 -2.0 -9.0
+69 0.0 -9.0
+60 2.0 -9.0
+52 4.0 -9.0
+47 6.0 -9.0
+42 8.0 -9.0
+39 10.0 -9.0
+36 12.0 -9.0
+33 -13.0 -8.0
+36 -11.0 -8.0
+39 -9.0 -8.0
+42 -7.0 -8.0
+47 -5.0 -8.0
+52 -3.0 -8.0
+60 -1.0 -8.0
+60 1.0 -8.0
+52 3.0 -8.0
+47 5.0 -8.0
+42 7.0 -8.0
+39 9.0 -8.0
+36 11.0 -8.0
+33 13.0 -8.0
+31 -14.0 -7.0
+33 -12.0 -7.0
+36 -10.0 -7.0
+39 -8.0 -7.0
+42 -6.0 -7.0
+47 -4.0 -7.0
+52 -2.0 -7.0
+60 0.0 -7.0
+52 2.0 -7.0
+47 4.0 -7.0
+42 6.0 -7.0
+39 8.0 -7.0
+36 10.0 -7.0
+33 12.0 -7.0
+31 14.0 -7.0
+29 -15.0 -6.0
+31 -13.0 -6.0
+33 -11.0 -6.0
+36 -9.0 -6.0
+39 -7.0 -6.0
+42 -5.0 -6.0
+47 -3.0 -6.0
+52 -1.0 -6.0
+52 1.0 -6.0
+47 3.0 -6.0
+42 5.0 -6.0
+39 7.0 -6.0
+36 9.0 -6.0
+33 11.0 -6.0
+31 13.0 -6.0
+29 15.0 -6.0
+27 -16.0 -5.0
+29 -14.0 -5.0
+31 -12.0 -5.0
+33 -10.0 -5.0
+36 -8.0 -5.0
+39 -6.0 -5.0
+42 -4.0 -5.0
+47 -2.0 -5.0
+52 0.0 -5.0
+47 2.0 -5.0
+42 4.0 -5.0
+39 6.0 -5.0
+36 8.0 -5.0
+33 10.0 -5.0
+31 12.0 -5.0
+29 14.0 -5.0
+27 16.0 -5.0
+25 -17.0 -4.0
+27 -15.0 -4.0
+29 -13.0 -4.0
+31 -11.0 -4.0
+33 -9.0 -4.0
+36 -7.0 -4.0
+39 -5.0 -4.0
+42 -3.0 -4.0
+47 -1.0 -4.0
+47 1.0 -4.0
+42 3.0 -4.0
+39 5.0 -4.0
+36 7.0 -4.0
+33 9.0 -4.0
+31 11.0 -4.0
+29 13.0 -4.0
+27 15.0 -4.0
+25 17.0 -4.0
+24 -18.0 -3.0
+25 -16.0 -3.0
+27 -14.0 -3.0
+29 -12.0 -3.0
+31 -10.0 -3.0
+33 -8.0 -3.0
+36 -6.0 -3.0
+39 -4.0 -3.0
+42 -2.0 -3.0
+47 0.0 -3.0
+42 2.0 -3.0
+39 4.0 -3.0
+36 6.0 -3.0
+33 8.0 -3.0
+31 10.0 -3.0
+29 12.0 -3.0
+27 14.0 -3.0
+25 16.0 -3.0
+24 18.0 -3.0
+23 -19.0 -2.0
+24 -17.0 -2.0
+25 -15.0 -2.0
+27 -13.0 -2.0
+29 -11.0 -2.0
+31 -9.0 -2.0
+33 -7.0 -2.0
+36 -5.0 -2.0
+39 -3.0 -2.0
+42 -1.0 -2.0
+42 1.0 -2.0
+39 3.0 -2.0
+36 5.0 -2.0
+33 7.0 -2.0
+31 9.0 -2.0
+29 11.0 -2.0
+27 13.0 -2.0
+25 15.0 -2.0
+24 17.0 -2.0
+23 19.0 -2.0
+21 -20.0 -1.0
+23 -18.0 -1.0
+24 -16.0 -1.0
+25 -14.0 -1.0
+27 -12.0 -1.0
+29 -10.0 -1.0
+31 -8.0 -1.0
+33 -6.0 -1.0
+36 -4.0 -1.0
+39 -2.0 -1.0
+42 0.0 -1.0
+39 2.0 -1.0
+36 4.0 -1.0
+33 6.0 -1.0
+31 8.0 -1.0
+29 10.0 -1.0
+27 12.0 -1.0
+25 14.0 -1.0
+24 16.0 -1.0
+23 18.0 -1.0
+21 20.0 -1.0
+20 -21.0 0.0
+21 -19.0 0.0
+23 -17.0 0.0
+24 -15.0 0.0
+25 -13.0 0.0
+27 -11.0 0.0
+29 -9.0 0.0
+31 -7.0 0.0
+33 -5.0 0.0
+36 -3.0 0.0
+39 -1.0 0.0
+39 1.0 0.0
+36 3.0 0.0
+33 5.0 0.0
+31 7.0 0.0
+29 9.0 0.0
+27 11.0 0.0
+25 13.0 0.0
+24 15.0 0.0
+23 17.0 0.0
+21 19.0 0.0
+20 21.0 0.0
+20 -20.0 1.0
+21 -18.0 1.0
+23 -16.0 1.0
+24 -14.0 1.0
+25 -12.0 1.0
+27 -10.0 1.0
+29 -8.0 1.0
+31 -6.0 1.0
+33 -4.0 1.0
+36 -2.0 1.0
+39 0.0 1.0
+36 2.0 1.0
+33 4.0 1.0
+31 6.0 1.0
+29 8.0 1.0
+27 10.0 1.0
+25 12.0 1.0
+24 14.0 1.0
+23 16.0 1.0
+21 18.0 1.0
+20 20.0 1.0
+20 -19.0 2.0
+21 -17.0 2.0
+23 -15.0 2.0
+24 -13.0 2.0
+25 -11.0 2.0
+27 -9.0 2.0
+29 -7.0 2.0
+31 -5.0 2.0
+33 -3.0 2.0
+36 -1.0 2.0
+36 1.0 2.0
+33 3.0 2.0
+31 5.0 2.0
+29 7.0 2.0
+27 9.0 2.0
+25 11.0 2.0
+24 13.0 2.0
+23 15.0 2.0
+21 17.0 2.0
+20 19.0 2.0
+20 -18.0 3.0
+21 -16.0 3.0
+23 -14.0 3.0
+24 -12.0 3.0
+25 -10.0 3.0
+27 -8.0 3.0
+29 -6.0 3.0
+31 -4.0 3.0
+33 -2.0 3.0
+36 0.0 3.0
+33 2.0 3.0
+31 4.0 3.0
+29 6.0 3.0
+27 8.0 3.0
+25 10.0 3.0
+24 12.0 3.0
+23 14.0 3.0
+21 16.0 3.0
+20 18.0 3.0
+20 -17.0 4.0
+21 -15.0 4.0
+23 -13.0 4.0
+24 -11.0 4.0
+25 -9.0 4.0
+27 -7.0 4.0
+29 -5.0 4.0
+31 -3.0 4.0
+33 -1.0 4.0
+33 1.0 4.0
+31 3.0 4.0
+29 5.0 4.0
+27 7.0 4.0
+25 9.0 4.0
+24 11.0 4.0
+23 13.0 4.0
+21 15.0 4.0
+20 17.0 4.0
+20 -16.0 5.0
+21 -14.0 5.0
+23 -12.0 5.0
+24 -10.0 5.0
+25 -8.0 5.0
+27 -6.0 5.0
+29 -4.0 5.0
+31 -2.0 5.0
+33 0.0 5.0
+31 2.0 5.0
+29 4.0 5.0
+27 6.0 5.0
+25 8.0 5.0
+24 10.0 5.0
+23 12.0 5.0
+21 14.0 5.0
+20 16.0 5.0
+20 -15.0 6.0
+21 -13.0 6.0
+23 -11.0 6.0
+24 -9.0 6.0
+25 -7.0 6.0
+27 -5.0 6.0
+29 -3.0 6.0
+31 -1.0 6.0
+31 1.0 6.0
+29 3.0 6.0
+27 5.0 6.0
+25 7.0 6.0
+24 9.0 6.0
+23 11.0 6.0
+21 13.0 6.0
+20 15.0 6.0
+20 -14.0 7.0
+21 -12.0 7.0
+23 -10.0 7.0
+24 -8.0 7.0
+25 -6.0 7.0
+27 -4.0 7.0
+29 -2.0 7.0
+31 0.0 7.0
+29 2.0 7.0
+27 4.0 7.0
+25 6.0 7.0
+24 8.0 7.0
+23 10.0 7.0
+21 12.0 7.0
+20 14.0 7.0
+20 -13.0 8.0
+21 -11.0 8.0
+23 -9.0 8.0
+24 -7.0 8.0
+25 -5.0 8.0
+27 -3.0 8.0
+29 -1.0 8.0
+29 1.0 8.0
+27 3.0 8.0
+25 5.0 8.0
+24 7.0 8.0
+23 9.0 8.0
+21 11.0 8.0
+20 13.0 8.0
+20 -12.0 9.0
+21 -10.0 9.0
+23 -8.0 9.0
+24 -6.0 9.0
+25 -4.0 9.0
+27 -2.0 9.0
+29 0.0 9.0
+27 2.0 9.0
+25 4.0 9.0
+24 6.0 9.0
+23 8.0 9.0
+21 10.0 9.0
+20 12.0 9.0
+20 -11.0 10.0
+21 -9.0 10.0
+23 -7.0 10.0
+24 -5.0 10.0
+25 -3.0 10.0
+27 -1.0 10.0
+27 1.0 10.0
+25 3.0 10.0
+24 5.0 10.0
+23 7.0 10.0
+21 9.0 10.0
+20 11.0 10.0
+20 -10.0 11.0
+21 -8.0 11.0
+23 -6.0 11.0
+24 -4.0 11.0
+25 -2.0 11.0
+27 0.0 11.0
+25 2.0 11.0
+24 4.0 11.0
+23 6.0 11.0
+21 8.0 11.0
+20 10.0 11.0
+20 -9.0 12.0
+21 -7.0 12.0
+23 -5.0 12.0
+24 -3.0 12.0
+25 -1.0 12.0
+25 1.0 12.0
+24 3.0 12.0
+23 5.0 12.0
+21 7.0 12.0
+20 9.0 12.0
+20 -8.0 13.0
+21 -6.0 13.0
+23 -4.0 13.0
+24 -2.0 13.0
+25 0.0 13.0
+24 2.0 13.0
+23 4.0 13.0
+21 6.0 13.0
+20 8.0 13.0
+20 -7.0 14.0
+21 -5.0 14.0
+23 -3.0 14.0
+24 -1.0 14.0
+24 1.0 14.0
+23 3.0 14.0
+21 5.0 14.0
+20 7.0 14.0
+20 -6.0 15.0
+21 -4.0 15.0
+23 -2.0 15.0
+24 0.0 15.0
+23 2.0 15.0
+21 4.0 15.0
+20 6.0 15.0
+20 -5.0 16.0
+21 -3.0 16.0
+23 -1.0 16.0
+23 1.0 16.0
+21 3.0 16.0
+20 5.0 16.0
+20 -4.0 17.0
+21 -2.0 17.0
+23 0.0 17.0
+21 2.0 17.0
+20 4.0 17.0
+20 -3.0 18.0
+21 -1.0 18.0
+21 1.0 18.0
+20 3.0 18.0
+20 -2.0 19.0
+21 0.0 19.0
+20 2.0 19.0
+20 -1.0 20.0
+20 1.0 20.0
+20 0.0 21.0
+300 -1.0 -20.0
diff --git a/05-vehicle-routing/data/vrp_48_4_1 b/05-vehicle-routing/data/vrp_48_4_1
new file mode 100644
index 0000000..82f8df7
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_48_4_1
@@ -0,0 +1,49 @@
+48 4 15
+0 6823.0 4674.0
+1 7692.0 2247.0
+1 9135.0 6748.0
+1 7721.0 3451.0
+1 8304.0 8580.0
+1 7501.0 5899.0
+1 4687.0 1373.0
+1 5429.0 1408.0
+1 7877.0 1716.0
+1 7260.0 2083.0
+1 7096.0 7869.0
+1 6539.0 3513.0
+1 6272.0 2992.0
+1 6471.0 4275.0
+1 7110.0 4369.0
+1 6462.0 2634.0
+1 8476.0 2874.0
+1 3961.0 1370.0
+1 5555.0 1519.0
+1 4422.0 1249.0
+1 5584.0 3081.0
+1 5776.0 4498.0
+1 8035.0 2880.0
+1 6963.0 3782.0
+1 6336.0 7348.0
+1 8139.0 8306.0
+1 4326.0 1426.0
+1 5164.0 1440.0
+1 8389.0 5804.0
+1 4639.0 1629.0
+1 6344.0 1436.0
+1 5840.0 5736.0
+1 5972.0 2555.0
+1 7947.0 4373.0
+1 6929.0 8958.0
+1 5366.0 1733.0
+1 4550.0 1219.0
+1 6901.0 1589.0
+1 6316.0 5497.0
+1 7010.0 2710.0
+1 9005.0 3996.0
+1 7576.0 7065.0
+1 4246.0 1701.0
+1 5906.0 1472.0
+1 6469.0 8971.0
+1 6152.0 2174.0
+1 5887.0 3796.0
+1 7203.0 5958.0
diff --git a/05-vehicle-routing/data/vrp_51_5_1 b/05-vehicle-routing/data/vrp_51_5_1
new file mode 100644
index 0000000..bad9c18
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_51_5_1
@@ -0,0 +1,52 @@
+51 5 160
+0 30.0 40.0
+7 37.0 52.0
+30 49.0 49.0
+16 52.0 64.0
+9 20.0 26.0
+21 40.0 30.0
+15 21.0 47.0
+19 17.0 63.0
+23 31.0 62.0
+11 52.0 33.0
+5 51.0 21.0
+19 42.0 41.0
+29 31.0 32.0
+23 5.0 25.0
+21 12.0 42.0
+10 36.0 16.0
+15 52.0 41.0
+3 27.0 23.0
+41 17.0 33.0
+9 13.0 13.0
+28 57.0 58.0
+8 62.0 42.0
+8 42.0 57.0
+16 16.0 57.0
+10 8.0 52.0
+28 7.0 38.0
+7 27.0 68.0
+15 30.0 48.0
+14 43.0 67.0
+6 58.0 48.0
+19 58.0 27.0
+11 37.0 69.0
+12 38.0 46.0
+23 46.0 10.0
+26 61.0 33.0
+17 62.0 63.0
+6 63.0 69.0
+9 32.0 22.0
+15 45.0 35.0
+14 59.0 15.0
+7 5.0 6.0
+27 10.0 17.0
+13 21.0 10.0
+11 5.0 64.0
+16 30.0 15.0
+10 39.0 10.0
+5 32.0 39.0
+25 25.0 32.0
+17 25.0 55.0
+18 48.0 28.0
+10 56.0 37.0
diff --git a/05-vehicle-routing/data/vrp_5_4_1 b/05-vehicle-routing/data/vrp_5_4_1
new file mode 100644
index 0000000..cf96570
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_5_4_1
@@ -0,0 +1,7 @@
+5 4 10
+0 0 0
+3 0 10
+3 -10 10
+3 0 -10
+3 10 -10
+ \ No newline at end of file
diff --git a/05-vehicle-routing/data/vrp_72_4_1 b/05-vehicle-routing/data/vrp_72_4_1
new file mode 100644
index 0000000..e2daefb
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_72_4_1
@@ -0,0 +1,73 @@
+72 4 30000
+0 0.0 0.0
+7063 -12.0 -6.0
+51 -15.0 -5.0
+23 -1.0 -18.0
+3074 2.0 -21.0
+349 -1.0 -17.0
+1047 -9.0 -12.0
+698 2.0 -22.0
+3001 1.0 -21.0
+31 7.0 -25.0
+1135 -7.0 -17.0
+21611 -11.0 -5.0
+57 -14.0 -9.0
+51 -14.0 -8.0
+551 -11.0 -2.0
+179 -14.0 -5.0
+6 -15.0 -9.0
+528 -15.0 -8.0
+2832 -9.0 -6.0
+1514 -14.0 -4.0
+889 3.0 6.0
+2554 5.0 9.0
+1215 5.0 10.0
+1810 2.0 8.0
+3050 1.0 9.0
+4 1.0 10.0
+1563 2.0 9.0
+741 6.0 14.0
+1532 5.0 12.0
+709 3.0 7.0
+1022 4.0 8.0
+883 -6.0 1.0
+1689 -6.0 2.0
+10235 -8.0 -2.0
+29 -7.0 2.0
+2894 -7.0 -3.0
+450 -7.0 -2.0
+411 -20.0 12.0
+207 -20.0 13.0
+496 -12.0 10.0
+1021 -20.0 15.0
+117 -6.0 8.0
+46 2.0 21.0
+8 2.0 22.0
+18 1.0 21.0
+561 -1.0 24.0
+1877 1.0 22.0
+3542 -2.0 20.0
+801 -2.0 21.0
+967 -4.0 18.0
+62 -4.0 19.0
+1366 -5.0 18.0
+230 -5.0 26.0
+4 1.0 23.0
+12 -6.0 5.0
+145 -6.0 6.0
+7149 -9.0 6.0
+2250 -9.0 7.0
+383 -12.0 5.0
+134 -12.0 6.0
+1947 -11.0 3.0
+182 -11.0 4.0
+3934 -14.0 4.0
+468 -14.0 5.0
+18 -15.0 4.0
+133 -15.0 5.0
+2340 -16.0 7.0
+754 -16.0 8.0
+1264 -15.0 10.0
+806 -20.0 10.0
+3665 -5.0 19.0
+2452 -9.0 -11.0
diff --git a/05-vehicle-routing/data/vrp_76_10_1 b/05-vehicle-routing/data/vrp_76_10_1
new file mode 100644
index 0000000..cb02b48
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_76_10_1
@@ -0,0 +1,77 @@
+76 10 140
+0 40.0 40.0
+18 22.0 22.0
+26 36.0 26.0
+11 21.0 45.0
+30 45.0 35.0
+21 55.0 20.0
+19 33.0 34.0
+15 50.0 50.0
+16 55.0 45.0
+29 26.0 59.0
+26 40.0 66.0
+37 55.0 65.0
+16 35.0 51.0
+12 62.0 35.0
+31 62.0 57.0
+8 62.0 24.0
+19 21.0 36.0
+20 33.0 44.0
+13 9.0 56.0
+15 62.0 48.0
+22 66.0 14.0
+28 44.0 13.0
+12 26.0 13.0
+6 11.0 28.0
+27 7.0 43.0
+14 17.0 64.0
+18 41.0 46.0
+17 55.0 34.0
+29 35.0 16.0
+13 52.0 26.0
+22 43.0 26.0
+25 31.0 76.0
+28 22.0 53.0
+27 26.0 29.0
+19 50.0 40.0
+10 55.0 50.0
+12 54.0 10.0
+14 60.0 15.0
+24 47.0 66.0
+16 30.0 60.0
+33 30.0 50.0
+15 12.0 17.0
+11 15.0 14.0
+18 16.0 19.0
+17 21.0 48.0
+21 50.0 30.0
+27 51.0 42.0
+19 50.0 15.0
+20 48.0 21.0
+5 12.0 38.0
+22 15.0 56.0
+12 29.0 39.0
+19 54.0 38.0
+22 55.0 57.0
+16 67.0 41.0
+7 10.0 70.0
+26 6.0 25.0
+14 65.0 27.0
+21 40.0 60.0
+24 70.0 64.0
+13 64.0 4.0
+15 36.0 6.0
+18 30.0 20.0
+11 20.0 30.0
+28 15.0 5.0
+9 50.0 70.0
+37 57.0 72.0
+30 45.0 42.0
+10 38.0 33.0
+8 50.0 4.0
+11 66.0 8.0
+3 59.0 5.0
+1 35.0 60.0
+6 27.0 24.0
+10 40.0 20.0
+20 40.0 37.0
diff --git a/05-vehicle-routing/data/vrp_76_10_2 b/05-vehicle-routing/data/vrp_76_10_2
new file mode 100644
index 0000000..c5bf258
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_76_10_2
@@ -0,0 +1,77 @@
+76 10 1445
+0 0.0 0.0
+50 72.0 -58.0
+170 70.0 -66.0
+297 45.0 -40.0
+9 39.0 -40.0
+630 60.0 -50.0
+179 42.0 -59.0
+179 31.0 -46.0
+216 44.0 -58.0
+4 45.0 -67.0
+9 69.0 -46.0
+154 24.0 0.0
+117 12.0 -4.0
+63 1.0 -21.0
+436 3.0 29.0
+905 19.0 -13.0
+14 13.0 -14.0
+3 25.0 11.0
+10 24.0 23.0
+166 3.0 7.0
+211 23.0 19.0
+8 2.0 -7.0
+25 5.0 23.0
+139 32.0 5.0
+213 14.0 25.0
+758 -16.0 -4.0
+429 24.0 17.0
+5 0.0 -7.0
+136 -74.0 -22.0
+501 -64.0 -24.0
+93 -71.0 -19.0
+21 -91.0 -15.0
+169 -65.0 -14.0
+22 -91.0 -26.0
+3 -76.0 -7.0
+271 -66.0 -4.0
+433 -87.0 -10.0
+3 -73.0 -8.0
+1079 -81.0 -1.0
+233 -82.0 -24.0
+11 -87.0 -25.0
+10 -76.0 -25.0
+78 -75.0 -6.0
+63 -70.0 -3.0
+4 -64.0 -22.0
+59 -66.0 -5.0
+8 -72.0 -10.0
+34 -89.0 -3.0
+234 -86.0 -3.0
+30 -57.0 -9.0
+40 -22.0 -36.0
+123 -44.0 19.0
+7 -21.0 6.0
+33 -49.0 -4.0
+369 -68.0 -7.0
+11 -42.0 11.0
+23 -69.0 3.0
+208 -49.0 9.0
+4 -68.0 -19.0
+8 -57.0 -7.0
+36 -61.0 -34.0
+504 -36.0 16.0
+16 -56.0 2.0
+574 -67.0 0.0
+19 -17.0 -14.0
+235 -17.0 -20.0
+445 -28.0 -26.0
+6 -70.0 -21.0
+43 -46.0 -14.0
+210 -52.0 36.0
+268 -33.0 62.0
+410 -53.0 49.0
+124 -39.0 59.0
+11 33.0 73.0
+1085 38.0 88.0
+50 35.0 -56.0
diff --git a/05-vehicle-routing/data/vrp_76_14_1 b/05-vehicle-routing/data/vrp_76_14_1
new file mode 100644
index 0000000..29c3f17
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_76_14_1
@@ -0,0 +1,77 @@
+76 14 100
+0 40.0 40.0
+18 22.0 22.0
+26 36.0 26.0
+11 21.0 45.0
+30 45.0 35.0
+21 55.0 20.0
+19 33.0 34.0
+15 50.0 50.0
+16 55.0 45.0
+29 26.0 59.0
+26 40.0 66.0
+37 55.0 65.0
+16 35.0 51.0
+12 62.0 35.0
+31 62.0 57.0
+8 62.0 24.0
+19 21.0 36.0
+20 33.0 44.0
+13 9.0 56.0
+15 62.0 48.0
+22 66.0 14.0
+28 44.0 13.0
+12 26.0 13.0
+6 11.0 28.0
+27 7.0 43.0
+14 17.0 64.0
+18 41.0 46.0
+17 55.0 34.0
+29 35.0 16.0
+13 52.0 26.0
+22 43.0 26.0
+25 31.0 76.0
+28 22.0 53.0
+27 26.0 29.0
+19 50.0 40.0
+10 55.0 50.0
+12 54.0 10.0
+14 60.0 15.0
+24 47.0 66.0
+16 30.0 60.0
+33 30.0 50.0
+15 12.0 17.0
+11 15.0 14.0
+18 16.0 19.0
+17 21.0 48.0
+21 50.0 30.0
+27 51.0 42.0
+19 50.0 15.0
+20 48.0 21.0
+5 12.0 38.0
+22 15.0 56.0
+12 29.0 39.0
+19 54.0 38.0
+22 55.0 57.0
+16 67.0 41.0
+7 10.0 70.0
+26 6.0 25.0
+14 65.0 27.0
+21 40.0 60.0
+24 70.0 64.0
+13 64.0 4.0
+15 36.0 6.0
+18 30.0 20.0
+11 20.0 30.0
+28 15.0 5.0
+9 50.0 70.0
+37 57.0 72.0
+30 45.0 42.0
+10 38.0 33.0
+8 50.0 4.0
+11 66.0 8.0
+3 59.0 5.0
+1 35.0 60.0
+6 27.0 24.0
+10 40.0 20.0
+20 40.0 37.0
diff --git a/05-vehicle-routing/data/vrp_76_14_2 b/05-vehicle-routing/data/vrp_76_14_2
new file mode 100644
index 0000000..29c3f17
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_76_14_2
@@ -0,0 +1,77 @@
+76 14 100
+0 40.0 40.0
+18 22.0 22.0
+26 36.0 26.0
+11 21.0 45.0
+30 45.0 35.0
+21 55.0 20.0
+19 33.0 34.0
+15 50.0 50.0
+16 55.0 45.0
+29 26.0 59.0
+26 40.0 66.0
+37 55.0 65.0
+16 35.0 51.0
+12 62.0 35.0
+31 62.0 57.0
+8 62.0 24.0
+19 21.0 36.0
+20 33.0 44.0
+13 9.0 56.0
+15 62.0 48.0
+22 66.0 14.0
+28 44.0 13.0
+12 26.0 13.0
+6 11.0 28.0
+27 7.0 43.0
+14 17.0 64.0
+18 41.0 46.0
+17 55.0 34.0
+29 35.0 16.0
+13 52.0 26.0
+22 43.0 26.0
+25 31.0 76.0
+28 22.0 53.0
+27 26.0 29.0
+19 50.0 40.0
+10 55.0 50.0
+12 54.0 10.0
+14 60.0 15.0
+24 47.0 66.0
+16 30.0 60.0
+33 30.0 50.0
+15 12.0 17.0
+11 15.0 14.0
+18 16.0 19.0
+17 21.0 48.0
+21 50.0 30.0
+27 51.0 42.0
+19 50.0 15.0
+20 48.0 21.0
+5 12.0 38.0
+22 15.0 56.0
+12 29.0 39.0
+19 54.0 38.0
+22 55.0 57.0
+16 67.0 41.0
+7 10.0 70.0
+26 6.0 25.0
+14 65.0 27.0
+21 40.0 60.0
+24 70.0 64.0
+13 64.0 4.0
+15 36.0 6.0
+18 30.0 20.0
+11 20.0 30.0
+28 15.0 5.0
+9 50.0 70.0
+37 57.0 72.0
+30 45.0 42.0
+10 38.0 33.0
+8 50.0 4.0
+11 66.0 8.0
+3 59.0 5.0
+1 35.0 60.0
+6 27.0 24.0
+10 40.0 20.0
+20 40.0 37.0
diff --git a/05-vehicle-routing/data/vrp_76_15_1 b/05-vehicle-routing/data/vrp_76_15_1
new file mode 100644
index 0000000..0f37836
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_76_15_1
@@ -0,0 +1,77 @@
+76 15 100
+0 40.0 40.0
+18 22.0 22.0
+26 36.0 26.0
+11 21.0 45.0
+30 45.0 35.0
+21 55.0 20.0
+19 33.0 34.0
+15 50.0 50.0
+16 55.0 45.0
+29 26.0 59.0
+26 40.0 66.0
+37 55.0 65.0
+16 35.0 51.0
+12 62.0 35.0
+31 62.0 57.0
+8 62.0 24.0
+19 21.0 36.0
+20 33.0 44.0
+13 9.0 56.0
+15 62.0 48.0
+22 66.0 14.0
+28 44.0 13.0
+12 26.0 13.0
+6 11.0 28.0
+27 7.0 43.0
+14 17.0 64.0
+18 41.0 46.0
+17 55.0 34.0
+29 35.0 16.0
+13 52.0 26.0
+22 43.0 26.0
+25 31.0 76.0
+28 22.0 53.0
+27 26.0 29.0
+19 50.0 40.0
+10 55.0 50.0
+12 54.0 10.0
+14 60.0 15.0
+24 47.0 66.0
+16 30.0 60.0
+33 30.0 50.0
+15 12.0 17.0
+11 15.0 14.0
+18 16.0 19.0
+17 21.0 48.0
+21 50.0 30.0
+27 51.0 42.0
+19 50.0 15.0
+20 48.0 21.0
+5 12.0 38.0
+22 15.0 56.0
+12 29.0 39.0
+19 54.0 38.0
+22 55.0 57.0
+16 67.0 41.0
+7 10.0 70.0
+26 6.0 25.0
+14 65.0 27.0
+21 40.0 60.0
+24 70.0 64.0
+13 64.0 4.0
+15 36.0 6.0
+18 30.0 20.0
+11 20.0 30.0
+28 15.0 5.0
+9 50.0 70.0
+37 57.0 72.0
+30 45.0 42.0
+10 38.0 33.0
+8 50.0 4.0
+11 66.0 8.0
+3 59.0 5.0
+1 35.0 60.0
+6 27.0 24.0
+10 40.0 20.0
+20 40.0 37.0
diff --git a/05-vehicle-routing/data/vrp_76_7_1 b/05-vehicle-routing/data/vrp_76_7_1
new file mode 100644
index 0000000..caea408
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_76_7_1
@@ -0,0 +1,77 @@
+76 7 220
+0 40.0 40.0
+18 22.0 22.0
+26 36.0 26.0
+11 21.0 45.0
+30 45.0 35.0
+21 55.0 20.0
+19 33.0 34.0
+15 50.0 50.0
+16 55.0 45.0
+29 26.0 59.0
+26 40.0 66.0
+37 55.0 65.0
+16 35.0 51.0
+12 62.0 35.0
+31 62.0 57.0
+8 62.0 24.0
+19 21.0 36.0
+20 33.0 44.0
+13 9.0 56.0
+15 62.0 48.0
+22 66.0 14.0
+28 44.0 13.0
+12 26.0 13.0
+6 11.0 28.0
+27 7.0 43.0
+14 17.0 64.0
+18 41.0 46.0
+17 55.0 34.0
+29 35.0 16.0
+13 52.0 26.0
+22 43.0 26.0
+25 31.0 76.0
+28 22.0 53.0
+27 26.0 29.0
+19 50.0 40.0
+10 55.0 50.0
+12 54.0 10.0
+14 60.0 15.0
+24 47.0 66.0
+16 30.0 60.0
+33 30.0 50.0
+15 12.0 17.0
+11 15.0 14.0
+18 16.0 19.0
+17 21.0 48.0
+21 50.0 30.0
+27 51.0 42.0
+19 50.0 15.0
+20 48.0 21.0
+5 12.0 38.0
+22 15.0 56.0
+12 29.0 39.0
+19 54.0 38.0
+22 55.0 57.0
+16 67.0 41.0
+7 10.0 70.0
+26 6.0 25.0
+14 65.0 27.0
+21 40.0 60.0
+24 70.0 64.0
+13 64.0 4.0
+15 36.0 6.0
+18 30.0 20.0
+11 20.0 30.0
+28 15.0 5.0
+9 50.0 70.0
+37 57.0 72.0
+30 45.0 42.0
+10 38.0 33.0
+8 50.0 4.0
+11 66.0 8.0
+3 59.0 5.0
+1 35.0 60.0
+6 27.0 24.0
+10 40.0 20.0
+20 40.0 37.0
diff --git a/05-vehicle-routing/data/vrp_76_7_2 b/05-vehicle-routing/data/vrp_76_7_2
new file mode 100644
index 0000000..caea408
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_76_7_2
@@ -0,0 +1,77 @@
+76 7 220
+0 40.0 40.0
+18 22.0 22.0
+26 36.0 26.0
+11 21.0 45.0
+30 45.0 35.0
+21 55.0 20.0
+19 33.0 34.0
+15 50.0 50.0
+16 55.0 45.0
+29 26.0 59.0
+26 40.0 66.0
+37 55.0 65.0
+16 35.0 51.0
+12 62.0 35.0
+31 62.0 57.0
+8 62.0 24.0
+19 21.0 36.0
+20 33.0 44.0
+13 9.0 56.0
+15 62.0 48.0
+22 66.0 14.0
+28 44.0 13.0
+12 26.0 13.0
+6 11.0 28.0
+27 7.0 43.0
+14 17.0 64.0
+18 41.0 46.0
+17 55.0 34.0
+29 35.0 16.0
+13 52.0 26.0
+22 43.0 26.0
+25 31.0 76.0
+28 22.0 53.0
+27 26.0 29.0
+19 50.0 40.0
+10 55.0 50.0
+12 54.0 10.0
+14 60.0 15.0
+24 47.0 66.0
+16 30.0 60.0
+33 30.0 50.0
+15 12.0 17.0
+11 15.0 14.0
+18 16.0 19.0
+17 21.0 48.0
+21 50.0 30.0
+27 51.0 42.0
+19 50.0 15.0
+20 48.0 21.0
+5 12.0 38.0
+22 15.0 56.0
+12 29.0 39.0
+19 54.0 38.0
+22 55.0 57.0
+16 67.0 41.0
+7 10.0 70.0
+26 6.0 25.0
+14 65.0 27.0
+21 40.0 60.0
+24 70.0 64.0
+13 64.0 4.0
+15 36.0 6.0
+18 30.0 20.0
+11 20.0 30.0
+28 15.0 5.0
+9 50.0 70.0
+37 57.0 72.0
+30 45.0 42.0
+10 38.0 33.0
+8 50.0 4.0
+11 66.0 8.0
+3 59.0 5.0
+1 35.0 60.0
+6 27.0 24.0
+10 40.0 20.0
+20 40.0 37.0
diff --git a/05-vehicle-routing/data/vrp_76_8_1 b/05-vehicle-routing/data/vrp_76_8_1
new file mode 100644
index 0000000..dda8dad
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_76_8_1
@@ -0,0 +1,77 @@
+76 8 180
+0 40.0 40.0
+18 22.0 22.0
+26 36.0 26.0
+11 21.0 45.0
+30 45.0 35.0
+21 55.0 20.0
+19 33.0 34.0
+15 50.0 50.0
+16 55.0 45.0
+29 26.0 59.0
+26 40.0 66.0
+37 55.0 65.0
+16 35.0 51.0
+12 62.0 35.0
+31 62.0 57.0
+8 62.0 24.0
+19 21.0 36.0
+20 33.0 44.0
+13 9.0 56.0
+15 62.0 48.0
+22 66.0 14.0
+28 44.0 13.0
+12 26.0 13.0
+6 11.0 28.0
+27 7.0 43.0
+14 17.0 64.0
+18 41.0 46.0
+17 55.0 34.0
+29 35.0 16.0
+13 52.0 26.0
+22 43.0 26.0
+25 31.0 76.0
+28 22.0 53.0
+27 26.0 29.0
+19 50.0 40.0
+10 55.0 50.0
+12 54.0 10.0
+14 60.0 15.0
+24 47.0 66.0
+16 30.0 60.0
+33 30.0 50.0
+15 12.0 17.0
+11 15.0 14.0
+18 16.0 19.0
+17 21.0 48.0
+21 50.0 30.0
+27 51.0 42.0
+19 50.0 15.0
+20 48.0 21.0
+5 12.0 38.0
+22 15.0 56.0
+12 29.0 39.0
+19 54.0 38.0
+22 55.0 57.0
+16 67.0 41.0
+7 10.0 70.0
+26 6.0 25.0
+14 65.0 27.0
+21 40.0 60.0
+24 70.0 64.0
+13 64.0 4.0
+15 36.0 6.0
+18 30.0 20.0
+11 20.0 30.0
+28 15.0 5.0
+9 50.0 70.0
+37 57.0 72.0
+30 45.0 42.0
+10 38.0 33.0
+8 50.0 4.0
+11 66.0 8.0
+3 59.0 5.0
+1 35.0 60.0
+6 27.0 24.0
+10 40.0 20.0
+20 40.0 37.0
diff --git a/05-vehicle-routing/data/vrp_76_8_2 b/05-vehicle-routing/data/vrp_76_8_2
new file mode 100644
index 0000000..dda8dad
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_76_8_2
@@ -0,0 +1,77 @@
+76 8 180
+0 40.0 40.0
+18 22.0 22.0
+26 36.0 26.0
+11 21.0 45.0
+30 45.0 35.0
+21 55.0 20.0
+19 33.0 34.0
+15 50.0 50.0
+16 55.0 45.0
+29 26.0 59.0
+26 40.0 66.0
+37 55.0 65.0
+16 35.0 51.0
+12 62.0 35.0
+31 62.0 57.0
+8 62.0 24.0
+19 21.0 36.0
+20 33.0 44.0
+13 9.0 56.0
+15 62.0 48.0
+22 66.0 14.0
+28 44.0 13.0
+12 26.0 13.0
+6 11.0 28.0
+27 7.0 43.0
+14 17.0 64.0
+18 41.0 46.0
+17 55.0 34.0
+29 35.0 16.0
+13 52.0 26.0
+22 43.0 26.0
+25 31.0 76.0
+28 22.0 53.0
+27 26.0 29.0
+19 50.0 40.0
+10 55.0 50.0
+12 54.0 10.0
+14 60.0 15.0
+24 47.0 66.0
+16 30.0 60.0
+33 30.0 50.0
+15 12.0 17.0
+11 15.0 14.0
+18 16.0 19.0
+17 21.0 48.0
+21 50.0 30.0
+27 51.0 42.0
+19 50.0 15.0
+20 48.0 21.0
+5 12.0 38.0
+22 15.0 56.0
+12 29.0 39.0
+19 54.0 38.0
+22 55.0 57.0
+16 67.0 41.0
+7 10.0 70.0
+26 6.0 25.0
+14 65.0 27.0
+21 40.0 60.0
+24 70.0 64.0
+13 64.0 4.0
+15 36.0 6.0
+18 30.0 20.0
+11 20.0 30.0
+28 15.0 5.0
+9 50.0 70.0
+37 57.0 72.0
+30 45.0 42.0
+10 38.0 33.0
+8 50.0 4.0
+11 66.0 8.0
+3 59.0 5.0
+1 35.0 60.0
+6 27.0 24.0
+10 40.0 20.0
+20 40.0 37.0
diff --git a/05-vehicle-routing/data/vrp_76_9_1 b/05-vehicle-routing/data/vrp_76_9_1
new file mode 100644
index 0000000..35a35a1
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_76_9_1
@@ -0,0 +1,77 @@
+76 9 1679
+0 0.0 0.0
+841 3.0 -1.0
+74 -2.0 7.0
+687 3.0 0.0
+175 7.0 -3.0
+183 -5.0 -1.0
+124 -3.0 0.0
+4 0.0 -3.0
+81 4.0 1.0
+56 4.0 -5.0
+29 -2.0 -4.0
+23 5.0 -5.0
+4 -4.0 1.0
+9 -2.0 3.0
+7 7.0 2.0
+181 -13.0 80.0
+54 -6.0 88.0
+884 -16.0 83.0
+822 -14.0 77.0
+637 -26.0 88.0
+59 -24.0 79.0
+140 -25.0 78.0
+531 -11.0 80.0
+58 -5.0 88.0
+15 -21.0 90.0
+11 -5.0 82.0
+185 -20.0 80.0
+159 -6.0 91.0
+285 -25.0 89.0
+4 -25.0 74.0
+10 -8.0 88.0
+3 -21.0 74.0
+4 -23.0 74.0
+11 -5.0 87.0
+45 -8.0 91.0
+4 -3.0 -8.0
+225 -30.0 15.0
+286 -14.0 24.0
+262 -12.0 11.0
+4 -1.0 7.0
+391 2.0 14.0
+54 -26.0 15.0
+518 -36.0 2.0
+815 -29.0 7.0
+25 -1.0 28.0
+29 -7.0 17.0
+18 -10.0 31.0
+588 -20.0 -2.0
+68 -33.0 20.0
+480 -26.0 0.0
+5 -13.0 9.0
+16 -8.0 12.0
+34 -35.0 -8.0
+5 -33.0 23.0
+9 10.0 -70.0
+22 8.0 -95.0
+120 -12.0 -101.0
+152 6.0 -113.0
+21 -17.0 -76.0
+44 -23.0 -102.0
+676 11.0 -104.0
+17 -19.0 -96.0
+764 -13.0 -79.0
+13 -53.0 -32.0
+6 -78.0 -2.0
+718 -87.0 -61.0
+52 -60.0 -32.0
+11 -6.0 -12.0
+93 10.0 -16.0
+398 -7.0 -11.0
+48 0.0 3.0
+37 10.0 2.0
+3 -1.0 -15.0
+8 1.0 -3.0
+406 15.0 -2.0
+1066 -2.0 -5.0
diff --git a/05-vehicle-routing/data/vrp_76_9_2 b/05-vehicle-routing/data/vrp_76_9_2
new file mode 100644
index 0000000..6613e48
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_76_9_2
@@ -0,0 +1,77 @@
+76 9 1122
+0 0.0 0.0
+12 -7.0 8.0
+17 -15.0 16.0
+619 -2.0 13.0
+61 0.0 3.0
+3 -9.0 6.0
+4 2.0 5.0
+13 -13.0 9.0
+44 -15.0 10.0
+12 -14.0 2.0
+35 1.0 0.0
+114 -40.0 24.0
+29 -54.0 -15.0
+76 -43.0 10.0
+106 -73.0 -2.0
+157 -76.0 4.0
+43 -45.0 31.0
+4 -29.0 36.0
+38 -78.0 11.0
+212 -31.0 25.0
+42 -67.0 17.0
+10 -31.0 4.0
+19 -51.0 10.0
+856 -30.0 -9.0
+13 -51.0 24.0
+67 -80.0 -10.0
+144 -34.0 4.0
+310 -45.0 25.0
+85 73.0 32.0
+1061 78.0 59.0
+344 58.0 53.0
+22 57.0 55.0
+15 20.0 85.0
+219 -12.0 81.0
+44 -8.0 86.0
+370 12.0 33.0
+74 19.0 86.0
+82 -11.0 44.0
+3 -2.0 67.0
+39 25.0 76.0
+54 -29.0 44.0
+22 4.0 80.0
+171 -2.0 84.0
+65 -8.0 54.0
+405 -16.0 34.0
+19 -14.0 80.0
+7 -17.0 32.0
+586 19.0 39.0
+15 -20.0 82.0
+149 17.0 42.0
+141 -4.0 5.0
+9 -20.0 25.0
+261 -12.0 14.0
+4 -11.0 11.0
+5 -12.0 4.0
+21 -1.0 21.0
+25 -1.0 1.0
+86 -9.0 21.0
+86 9.0 3.0
+124 5.0 14.0
+123 -9.0 27.0
+11 -20.0 11.0
+41 0.0 30.0
+279 -12.0 15.0
+149 -3.0 17.0
+9 -58.0 -60.0
+65 -71.0 -58.0
+155 -32.0 -34.0
+6 -59.0 -37.0
+83 -48.0 -19.0
+11 -71.0 -49.0
+735 22.0 -4.0
+4 13.0 -10.0
+56 22.0 -17.0
+26 13.0 12.0
+94 -7.0 9.0
diff --git a/05-vehicle-routing/data/vrp_76_9_3 b/05-vehicle-routing/data/vrp_76_9_3
new file mode 100644
index 0000000..5f086b6
--- /dev/null
+++ b/05-vehicle-routing/data/vrp_76_9_3
@@ -0,0 +1,77 @@
+76 9 1699
+0 0.0 0.0
+622 71.0 -19.0
+727 81.0 -11.0
+50 80.0 -17.0
+235 74.0 -16.0
+30 75.0 -9.0
+5 76.0 -6.0
+43 86.0 -11.0
+398 85.0 -19.0
+81 83.0 -19.0
+14 70.0 -10.0
+171 48.0 21.0
+209 23.0 33.0
+20 35.0 36.0
+13 38.0 42.0
+93 22.0 26.0
+16 51.0 21.0
+3 30.0 39.0
+391 30.0 26.0
+52 29.0 23.0
+905 27.0 20.0
+56 36.0 23.0
+203 28.0 20.0
+87 45.0 28.0
+1004 -61.0 38.0
+114 -54.0 50.0
+527 -56.0 36.0
+4 -57.0 26.0
+28 -61.0 40.0
+94 -41.0 39.0
+8 -61.0 30.0
+139 -45.0 46.0
+41 -53.0 62.0
+7 -34.0 37.0
+490 -47.0 33.0
+3 -52.0 61.0
+75 -33.0 34.0
+45 -35.0 62.0
+3 -71.0 45.0
+410 -22.0 -10.0
+44 -29.0 -2.0
+678 -29.0 3.0
+24 -30.0 3.0
+10 -33.0 -11.0
+12 -31.0 1.0
+268 -31.0 -10.0
+7 -22.0 -9.0
+51 -25.0 -4.0
+448 -32.0 -12.0
+459 -30.0 -5.0
+4 -34.0 2.0
+20 -31.0 -12.0
+413 -31.0 -10.0
+671 -27.0 1.0
+195 -30.0 -8.0
+16 -31.0 -6.0
+683 -23.0 -1.0
+4 -21.0 -3.0
+43 -33.0 1.0
+45 59.0 -61.0
+62 73.0 -52.0
+14 72.0 -61.0
+76 76.0 -63.0
+101 59.0 -63.0
+846 62.0 -63.0
+157 59.0 -54.0
+3 70.0 -55.0
+13 62.0 -59.0
+397 60.0 -62.0
+23 56.0 19.0
+87 47.0 15.0
+6 49.0 12.0
+3 58.0 9.0
+3 51.0 13.0
+230 57.0 19.0
+643 87.0 -18.0
diff --git a/05-vehicle-routing/handout.pdf b/05-vehicle-routing/handout.pdf
new file mode 100644
index 0000000..9f595aa
--- /dev/null
+++ b/05-vehicle-routing/handout.pdf
Binary files differ
diff --git a/05-vehicle-routing/solver.py b/05-vehicle-routing/solver.py
new file mode 100644
index 0000000..98b1ab7
--- /dev/null
+++ b/05-vehicle-routing/solver.py
@@ -0,0 +1,83 @@
+#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
+import math
+
+def length(customer1, customer2):
+ return math.sqrt((customer1[1] - customer2[1])**2 + (customer1[2] - customer2[2])**2)
+
+def solveIt(inputData):
+ # Modify this code to run your optimization algorithm
+
+ # parse the input
+ lines = inputData.split('\n')
+
+ parts = lines[0].split()
+ customerCount = int(parts[0])
+ vehicleCount = int(parts[1])
+ vehicleCapacity = int(parts[2])
+ depotIndex = 0
+
+ customers = []
+ for i in range(1, customerCount+1):
+ line = lines[i]
+ parts = line.split()
+ customers.append((int(parts[0]), float(parts[1]),float(parts[2])))
+
+ # build a trivial solution
+ # assign customers to vehicles starting by the largest customer demands
+
+ vehicleTours = []
+
+ customerIndexs = set(range(1, customerCount)) # start at 1 to remove depot index
+
+ for v in range(0, vehicleCount):
+ # print "Start Vehicle: ",v
+ vehicleTours.append([])
+ capacityRemaining = vehicleCapacity
+ while sum([capacityRemaining >= customers[ci][0] for ci in customerIndexs]) > 0:
+ used = set()
+ order = sorted(customerIndexs, key=lambda ci: -customers[ci][0])
+ for ci in order:
+ if capacityRemaining >= customers[ci][0]:
+ capacityRemaining -= customers[ci][0]
+ vehicleTours[v].append(ci)
+ # print ' add', ci, capacityRemaining
+ used.add(ci)
+ customerIndexs -= used
+
+ # checks that the number of customers served is correct
+ assert sum([len(v) for v in vehicleTours]) == customerCount - 1
+
+ # calculate the cost of the solution; for each vehicle the length of the route
+ obj = 0
+ for v in range(0, vehicleCount):
+ vehicleTour = vehicleTours[v]
+ if len(vehicleTour) > 0:
+ obj += length(customers[depotIndex],customers[vehicleTour[0]])
+ for i in range(0, len(vehicleTour) - 1):
+ obj += length(customers[vehicleTour[i]],customers[vehicleTour[i + 1]])
+ obj += length(customers[vehicleTour[-1]],customers[depotIndex])
+
+ # prepare the solution in the specified output format
+ outputData = str(obj) + ' ' + str(0) + '\n'
+ for v in range(0, vehicleCount):
+ outputData += str(depotIndex) + ' ' + ' '.join(map(str,vehicleTours[v])) + ' ' + str(depotIndex) + '\n'
+
+ return outputData
+
+
+import sys
+
+if __name__ == '__main__':
+ if len(sys.argv) > 1:
+ fileLocation = sys.argv[1].strip()
+ inputDataFile = open(fileLocation, 'r')
+ inputData = ''.join(inputDataFile.readlines())
+ inputDataFile.close()
+ print 'Solving:', fileLocation
+ print solveIt(inputData)
+ else:
+
+ print 'This test requires an input file. Please select one from the data directory. (i.e. python solver.py ./data/vrp_5_4_1)'
+
diff --git a/05-vehicle-routing/submit.pyc b/05-vehicle-routing/submit.pyc
new file mode 100644
index 0000000..8100a43
--- /dev/null
+++ b/05-vehicle-routing/submit.pyc
Binary files differ