From cfc7c5bc97fa0381efc1ce11bfd7b1a95e83df8d Mon Sep 17 00:00:00 2001 From: oblonski <4sschroeder@gmail.com> Date: Mon, 13 Jan 2014 22:40:46 +0100 Subject: [PATCH] add vrph instances --- .../instances/vrph/orig/c100_19mix.txt | 126 +++++++++++++++++ .../instances/vrph/orig/c100_20mix.txt | 128 ++++++++++++++++++ .../instances/vrph/orig/c20_3mix.txt | 29 ++++ .../instances/vrph/orig/c20_4mix.txt | 27 ++++ .../instances/vrph/orig/c20_5mix.txt | 29 ++++ .../instances/vrph/orig/c20_6mix.txt | 27 ++++ .../instances/vrph/orig/c50_13mix.txt | 73 ++++++++++ .../instances/vrph/orig/c50_14mix.txt | 67 +++++++++ .../instances/vrph/orig/c50_15mix.txt | 73 ++++++++++ .../instances/vrph/orig/c50_16mix.txt | 70 ++++++++++ .../instances/vrph/orig/c75_17mix.txt | 94 +++++++++++++ .../instances/vrph/orig/c75_18mix.txt | 124 +++++++++++++++++ .../jsprit/instance/util/Vrph2jsprit.java | 63 +++++++++ 13 files changed, 930 insertions(+) create mode 100644 jsprit-instances/instances/vrph/orig/c100_19mix.txt create mode 100644 jsprit-instances/instances/vrph/orig/c100_20mix.txt create mode 100644 jsprit-instances/instances/vrph/orig/c20_3mix.txt create mode 100644 jsprit-instances/instances/vrph/orig/c20_4mix.txt create mode 100644 jsprit-instances/instances/vrph/orig/c20_5mix.txt create mode 100644 jsprit-instances/instances/vrph/orig/c20_6mix.txt create mode 100644 jsprit-instances/instances/vrph/orig/c50_13mix.txt create mode 100644 jsprit-instances/instances/vrph/orig/c50_14mix.txt create mode 100644 jsprit-instances/instances/vrph/orig/c50_15mix.txt create mode 100644 jsprit-instances/instances/vrph/orig/c50_16mix.txt create mode 100644 jsprit-instances/instances/vrph/orig/c75_17mix.txt create mode 100644 jsprit-instances/instances/vrph/orig/c75_18mix.txt create mode 100644 jsprit-instances/src/main/java/jsprit/instance/util/Vrph2jsprit.java diff --git a/jsprit-instances/instances/vrph/orig/c100_19mix.txt b/jsprit-instances/instances/vrph/orig/c100_19mix.txt new file mode 100644 index 00000000..3eea2cb8 --- /dev/null +++ b/jsprit-instances/instances/vrph/orig/c100_19mix.txt @@ -0,0 +1,126 @@ + 100 + 0 35 35 0 + 1 41 49 10 + 2 35 17 7 + 3 55 45 13 + 4 55 20 19 + 5 15 30 26 + 6 25 30 3 + 7 20 50 5 + 8 10 43 9 + 9 55 60 16 + 10 30 60 16 + 11 20 65 12 + 12 50 35 19 + 13 30 25 23 + 14 15 10 20 + 15 30 5 8 + 16 10 20 19 + 17 5 30 2 + 18 20 40 12 + 19 15 60 17 + 20 45 65 9 + 21 45 20 11 + 22 45 10 18 + 23 55 5 29 + 24 65 35 3 + 25 65 20 6 + 26 45 30 17 + 27 35 40 16 + 28 41 37 16 + 29 64 42 9 + 30 40 60 21 + 31 31 52 27 + 32 35 69 23 + 33 53 52 11 + 34 65 55 14 + 35 63 65 8 + 36 2 60 5 + 37 20 20 8 + 38 5 5 16 + 39 60 12 31 + 40 40 25 9 + 41 42 7 5 + 42 24 12 5 + 43 23 3 7 + 44 11 14 18 + 45 6 38 16 + 46 2 48 1 + 47 8 56 27 + 48 13 52 36 + 49 6 68 30 + 50 47 47 13 + 51 49 58 10 + 52 27 43 9 + 53 37 31 14 + 54 57 29 18 + 55 63 23 2 + 56 53 12 6 + 57 32 12 7 + 58 36 26 18 + 59 21 24 28 + 60 17 34 3 + 61 12 24 13 + 62 24 58 19 + 63 27 69 10 + 64 15 77 9 + 65 62 77 20 + 66 49 73 25 + 67 67 5 25 + 68 56 39 36 + 69 37 47 6 + 70 37 56 5 + 71 57 68 15 + 72 47 16 25 + 73 44 17 9 + 74 46 13 8 + 75 49 11 18 + 76 49 42 13 + 77 53 43 14 + 78 61 52 3 + 79 57 48 23 + 80 56 37 6 + 81 55 54 26 + 82 15 47 16 + 83 14 37 11 + 84 11 31 7 + 85 16 22 41 + 86 4 18 35 + 87 28 18 26 + 88 26 52 9 + 89 26 35 15 + 90 31 67 3 + 91 15 19 1 + 92 22 22 2 + 93 18 24 22 + 94 26 27 27 + 95 25 24 20 + 96 22 27 11 + 97 25 21 12 + 98 19 21 10 + 99 20 26 9 + 100 18 18 17 +//Vehicles characteristics: volume, fixed cost, variable cost, number available +//See E. D. Taillard, "A heuristic column generation method for the heterogeneous fleet vrp" +//RAIRO Rech. Op�r. 33 (1) 1999, pp 1-14) +//see http://ina2.eivd.ch/collaborateurs/etd/articles.dir/vrphen.pdf +v 1 100 500 1.0 4 +v 2 200 1200 1.4 3 +v 3 300 2100 1.7 3 + +15 200 0 1000000 + 5 12 80 68 76 28 546700 + 6 77 3 79 81 33 50 560066 + 7 1 30 20 66 32 70 69 591171 + 9 51 9 71 65 35 34 78 29 24 626544 + 6 26 54 4 72 21 40 564109 + 8 53 73 74 75 22 41 2 58 566885 + 6 56 23 67 39 25 55 601888 + 4 59 85 93 99 546338 + 7 88 62 11 63 90 10 31 578753 + 7 8 46 47 36 49 64 19 623582 + 6 27 52 7 48 82 18 560521 + 4 94 95 87 13 540372 + 9 57 15 43 42 14 38 44 100 92 610131 + 9 89 60 83 45 17 84 5 96 6 571667 + 7 61 86 16 91 98 37 97 575109 diff --git a/jsprit-instances/instances/vrph/orig/c100_20mix.txt b/jsprit-instances/instances/vrph/orig/c100_20mix.txt new file mode 100644 index 00000000..28c6f1c2 --- /dev/null +++ b/jsprit-instances/instances/vrph/orig/c100_20mix.txt @@ -0,0 +1,128 @@ + 100 + 0 35 35 0 + 1 41 49 10 + 2 35 17 7 + 3 55 45 13 + 4 55 20 19 + 5 15 30 26 + 6 25 30 3 + 7 20 50 5 + 8 10 43 9 + 9 55 60 16 + 10 30 60 16 + 11 20 65 12 + 12 50 35 19 + 13 30 25 23 + 14 15 10 20 + 15 30 5 8 + 16 10 20 19 + 17 5 30 2 + 18 20 40 12 + 19 15 60 17 + 20 45 65 9 + 21 45 20 11 + 22 45 10 18 + 23 55 5 29 + 24 65 35 3 + 25 65 20 6 + 26 45 30 17 + 27 35 40 16 + 28 41 37 16 + 29 64 42 9 + 30 40 60 21 + 31 31 52 27 + 32 35 69 23 + 33 53 52 11 + 34 65 55 14 + 35 63 65 8 + 36 2 60 5 + 37 20 20 8 + 38 5 5 16 + 39 60 12 31 + 40 40 25 9 + 41 42 7 5 + 42 24 12 5 + 43 23 3 7 + 44 11 14 18 + 45 6 38 16 + 46 2 48 1 + 47 8 56 27 + 48 13 52 36 + 49 6 68 30 + 50 47 47 13 + 51 49 58 10 + 52 27 43 9 + 53 37 31 14 + 54 57 29 18 + 55 63 23 2 + 56 53 12 6 + 57 32 12 7 + 58 36 26 18 + 59 21 24 28 + 60 17 34 3 + 61 12 24 13 + 62 24 58 19 + 63 27 69 10 + 64 15 77 9 + 65 62 77 20 + 66 49 73 25 + 67 67 5 25 + 68 56 39 36 + 69 37 47 6 + 70 37 56 5 + 71 57 68 15 + 72 47 16 25 + 73 44 17 9 + 74 46 13 8 + 75 49 11 18 + 76 49 42 13 + 77 53 43 14 + 78 61 52 3 + 79 57 48 23 + 80 56 37 6 + 81 55 54 26 + 82 15 47 16 + 83 14 37 11 + 84 11 31 7 + 85 16 22 41 + 86 4 18 35 + 87 28 18 26 + 88 26 52 9 + 89 26 35 15 + 90 31 67 3 + 91 15 19 1 + 92 22 22 2 + 93 18 24 22 + 94 26 27 27 + 95 25 24 20 + 96 22 27 11 + 97 25 21 12 + 98 19 21 10 + 99 20 26 9 + 100 18 18 17 +//Vehicles characteristics: volume, fixed cost, variable cost, number available +//See E. D. Taillard, "A heuristic column generation method for the heterogeneous fleet vrp" +//RAIRO Rech. Op�r. 33 (1) 1999, pp 1-14) +//see http://ina2.eivd.ch/collaborateurs/etd/articles.dir/vrphen.pdf +v 1 60 100 1.0 6 +v 2 140 300 1.7 4 +v 3 200 500 2.0 3 + +17 200 0 100000 1190.858809 + 11*100 + 6*300 = 4090.86 + 2 12 68 143589 + 4 76 3 77 28 144929 + 6 79 78 34 29 24 80 186635 + 7 18 83 8 45 17 84 60 175014 + 4 26 72 73 40 148608 + 5 21 74 75 22 41 165933 + 3 87 97 95 140494 + 3 13 58 53 126834 + 4 50 33 81 1 157707 + 6 42 14 43 15 57 2 183736 + 3 27 89 94 135338 + 8 52 7 48 47 19 11 62 88 383651 + 10 31 10 32 90 63 64 49 36 46 82 429222 + 10 51 9 35 71 65 66 20 30 70 69 415471 + 9 5 61 16 86 38 44 91 98 92 394398 + 8 59 37 100 85 93 99 96 6 352542 + 8 4 56 23 67 39 25 55 54 406754 diff --git a/jsprit-instances/instances/vrph/orig/c20_3mix.txt b/jsprit-instances/instances/vrph/orig/c20_3mix.txt new file mode 100644 index 00000000..9003a6d2 --- /dev/null +++ b/jsprit-instances/instances/vrph/orig/c20_3mix.txt @@ -0,0 +1,29 @@ +20 + 0 30 40 0 + 1 37 52 7 + 2 49 49 30 + 3 52 64 16 + 4 20 26 9 + 5 40 30 21 + 6 21 47 15 + 7 17 63 19 + 8 31 62 23 + 9 52 33 11 + 10 51 21 5 + 11 42 41 19 + 12 31 32 29 + 13 5 25 23 + 14 12 42 21 + 15 36 16 10 + 16 52 41 15 + 17 27 23 3 + 18 17 33 41 + 19 13 13 9 + 20 57 58 28 +//Vehicles characteristics: type, volume, fixed cost +5 +v 1 20 20 +v 2 30 35 +v 3 40 50 +v 4 70 120 +v 5 120 225 diff --git a/jsprit-instances/instances/vrph/orig/c20_4mix.txt b/jsprit-instances/instances/vrph/orig/c20_4mix.txt new file mode 100644 index 00000000..f7dd9eaa --- /dev/null +++ b/jsprit-instances/instances/vrph/orig/c20_4mix.txt @@ -0,0 +1,27 @@ +20 + 0 30 40 0 + 1 37 52 7 + 2 49 49 30 + 3 52 64 16 + 4 20 26 9 + 5 40 30 21 + 6 21 47 15 + 7 17 63 19 + 8 31 62 23 + 9 52 33 11 + 10 51 21 5 + 11 42 41 19 + 12 31 32 29 + 13 5 25 23 + 14 12 42 21 + 15 36 16 10 + 16 52 41 15 + 17 27 23 3 + 18 17 33 41 + 19 13 13 9 + 20 57 58 28 +//Vehicles characteristics: type, volume, fixed cost +3 +v 1 60 1000 +v 2 80 1500 +v 3 150 3000 diff --git a/jsprit-instances/instances/vrph/orig/c20_5mix.txt b/jsprit-instances/instances/vrph/orig/c20_5mix.txt new file mode 100644 index 00000000..5a9c33e7 --- /dev/null +++ b/jsprit-instances/instances/vrph/orig/c20_5mix.txt @@ -0,0 +1,29 @@ +20 + 0 30 40 0 + 1 37 52 7 + 2 49 49 30 + 3 52 64 16 + 4 20 26 9 + 5 40 30 21 + 6 21 47 15 + 7 17 63 19 + 8 31 62 23 + 9 52 33 11 + 10 51 21 5 + 11 42 41 19 + 12 31 32 29 + 13 5 25 23 + 14 12 42 21 + 15 36 16 10 + 16 52 41 15 + 17 27 23 3 + 18 17 33 41 + 19 13 13 9 + 20 57 58 28 +//Vehicles characteristics: type, volume, fixed cost +5 +v 1 20 20 +v 2 30 35 +v 3 40 50 +v 4 70 120 +v 5 120 225 \ No newline at end of file diff --git a/jsprit-instances/instances/vrph/orig/c20_6mix.txt b/jsprit-instances/instances/vrph/orig/c20_6mix.txt new file mode 100644 index 00000000..f7dd9eaa --- /dev/null +++ b/jsprit-instances/instances/vrph/orig/c20_6mix.txt @@ -0,0 +1,27 @@ +20 + 0 30 40 0 + 1 37 52 7 + 2 49 49 30 + 3 52 64 16 + 4 20 26 9 + 5 40 30 21 + 6 21 47 15 + 7 17 63 19 + 8 31 62 23 + 9 52 33 11 + 10 51 21 5 + 11 42 41 19 + 12 31 32 29 + 13 5 25 23 + 14 12 42 21 + 15 36 16 10 + 16 52 41 15 + 17 27 23 3 + 18 17 33 41 + 19 13 13 9 + 20 57 58 28 +//Vehicles characteristics: type, volume, fixed cost +3 +v 1 60 1000 +v 2 80 1500 +v 3 150 3000 diff --git a/jsprit-instances/instances/vrph/orig/c50_13mix.txt b/jsprit-instances/instances/vrph/orig/c50_13mix.txt new file mode 100644 index 00000000..9e58fa13 --- /dev/null +++ b/jsprit-instances/instances/vrph/orig/c50_13mix.txt @@ -0,0 +1,73 @@ +50 + 0 40 40 0 + 1 22 22 18 + 2 36 26 26 + 3 21 45 11 + 4 45 35 30 + 5 55 20 21 + 6 33 34 19 + 7 50 50 15 + 8 55 45 16 + 9 26 59 29 + 10 40 66 26 + 11 55 65 37 + 12 35 51 16 + 13 62 35 12 + 14 62 57 31 + 15 62 24 8 + 16 21 36 19 + 17 33 44 20 + 18 9 56 13 + 19 62 48 15 + 20 66 14 22 + 21 44 13 28 + 22 26 13 12 + 23 11 28 6 + 24 7 43 27 + 25 17 64 14 + 26 41 46 18 + 27 55 34 17 + 28 35 16 29 + 29 52 26 13 + 30 43 26 22 + 31 31 76 25 + 32 22 53 28 + 33 26 29 27 + 34 50 40 19 + 35 55 50 10 + 36 54 10 12 + 37 60 15 14 + 38 47 66 24 + 39 30 60 16 + 40 30 50 33 + 41 12 17 15 + 42 15 14 11 + 43 16 19 18 + 44 21 48 17 + 45 50 30 21 + 46 51 42 27 + 47 50 15 19 + 48 48 21 20 + 49 12 38 5 + 50 15 56 22 +//Vehicles characteristics: type, volume, fixed cost, variable cost, number available +6 +v 1 20 20 1.0 4 +v 2 30 35 1.1 2 +v 3 40 50 1.2 4 +v 4 70 120 1.7 4 +v 5 120 225 2.5 2 +v 6 200 400 3.2 1 + + +best solution with fixed costs: 588.784723 + 20 + 3*35 + 2*50 + 4*400 = 2413.78 + 2 27 13 807876 + 1 26 321656 + 2 17 12 774254 + 2 34 8 828825 + 1 46 573606 + 1 4 491422 + 9 39 31 10 38 11 14 19 35 7 5129601 + 11 2 28 22 1 43 42 41 23 16 33 6 5102713 + 10 40 32 9 25 50 18 24 49 3 44 5096803 + 11 30 48 21 47 36 37 20 15 5 29 45 5011089 diff --git a/jsprit-instances/instances/vrph/orig/c50_14mix.txt b/jsprit-instances/instances/vrph/orig/c50_14mix.txt new file mode 100644 index 00000000..a0689d17 --- /dev/null +++ b/jsprit-instances/instances/vrph/orig/c50_14mix.txt @@ -0,0 +1,67 @@ +50 + 0 40 40 0 + 1 22 22 18 + 2 36 26 26 + 3 21 45 11 + 4 45 35 30 + 5 55 20 21 + 6 33 34 19 + 7 50 50 15 + 8 55 45 16 + 9 26 59 29 + 10 40 66 26 + 11 55 65 37 + 12 35 51 16 + 13 62 35 12 + 14 62 57 31 + 15 62 24 8 + 16 21 36 19 + 17 33 44 20 + 18 9 56 13 + 19 62 48 15 + 20 66 14 22 + 21 44 13 28 + 22 26 13 12 + 23 11 28 6 + 24 7 43 27 + 25 17 64 14 + 26 41 46 18 + 27 55 34 17 + 28 35 16 29 + 29 52 26 13 + 30 43 26 22 + 31 31 76 25 + 32 22 53 28 + 33 26 29 27 + 34 50 40 19 + 35 55 50 10 + 36 54 10 12 + 37 60 15 14 + 38 47 66 24 + 39 30 60 16 + 40 30 50 33 + 41 12 17 15 + 42 15 14 11 + 43 16 19 18 + 44 21 48 17 + 45 50 30 21 + 46 51 42 27 + 47 50 15 19 + 48 48 21 20 + 49 12 38 5 + 50 15 56 22 +//Vehicles characteristics: volume, fixed cost, variable cost, number available +v 1 120 1000 1.0 4 +v 2 160 1500 1.1 2 +v 3 300 3500 1.4 1 + +160 +8 300 0 10000 625.679906 + 7*1000 + 1500 = + 7 26 7 35 19 8 46 34 10530637 + 4 10 38 11 14 10794953 + 8 33 1 43 42 41 23 49 16 10916479 + 6 48 47 36 21 28 22 10931709 + 7 27 13 15 20 37 5 29 10832981 + 6 44 32 50 18 24 3 10862722 + 5 6 2 30 45 4 10469680 + 7 12 39 31 25 9 40 17 15917639 diff --git a/jsprit-instances/instances/vrph/orig/c50_15mix.txt b/jsprit-instances/instances/vrph/orig/c50_15mix.txt new file mode 100644 index 00000000..bdd1a2e5 --- /dev/null +++ b/jsprit-instances/instances/vrph/orig/c50_15mix.txt @@ -0,0 +1,73 @@ +50 + 0 30 40 0 + 1 37 52 7 + 2 49 49 30 + 3 52 64 16 + 4 20 26 9 + 5 40 30 21 + 6 21 47 15 + 7 17 63 19 + 8 31 62 23 + 9 52 33 11 + 10 51 21 5 + 11 42 41 19 + 12 31 32 29 + 13 5 25 23 + 14 12 42 21 + 15 36 16 10 + 16 52 41 15 + 17 27 23 3 + 18 17 33 41 + 19 13 13 9 + 20 57 58 28 + 21 62 42 8 + 22 42 57 8 + 23 16 57 16 + 24 8 52 10 + 25 7 38 28 + 26 27 68 7 + 27 30 48 15 + 28 43 67 14 + 29 58 48 6 + 30 58 27 19 + 31 37 69 11 + 32 38 46 12 + 33 46 10 23 + 34 61 33 26 + 35 62 63 17 + 36 63 69 6 + 37 32 22 9 + 38 45 35 15 + 39 59 15 14 + 40 5 6 7 + 41 10 17 27 + 42 21 10 13 + 43 5 64 11 + 44 30 15 16 + 45 39 10 10 + 46 32 39 5 + 47 25 32 25 + 48 25 55 17 + 49 48 28 18 + 50 56 37 10 +//Vehicles characteristics: volume, fixed cost, variable cost, number available +//See E. D. Taillard, "A heuristic column generation method for the heterogeneous fleet vrp" +//RAIRO Rech. Op�r. 33 (1) 1999, pp 1-14) +//see http://ina2.eivd.ch/collaborateurs/etd/articles.dir/vrphen.pdf +v 1 50 100 1.0 4 +v 2 100 250 1.6 3 +v 3 160 450 2.0 2 + +12 160 0 9999999 798.063541 + 8*100 + 4*250 = 2598.06 + 4 24 43 7 26 1888114 + 3 11 16 38 1470725 + 2 25 14 1476007 + 3 6 23 48 1476130 + 3 28 31 8 1675334 + 3 1 2 32 1476635 + 2 4 18 1395853 + 2 47 27 1341971 + 7 12 37 15 45 33 39 10 3412795 + 7 13 41 40 19 42 44 17 3559482 + 6 5 49 30 34 9 46 3212631 + 8 22 3 36 35 20 29 21 50 3594959 diff --git a/jsprit-instances/instances/vrph/orig/c50_16mix.txt b/jsprit-instances/instances/vrph/orig/c50_16mix.txt new file mode 100644 index 00000000..44d1104c --- /dev/null +++ b/jsprit-instances/instances/vrph/orig/c50_16mix.txt @@ -0,0 +1,70 @@ +50 + 0 30 40 0 + 1 37 52 7 + 2 49 49 30 + 3 52 64 16 + 4 20 26 9 + 5 40 30 21 + 6 21 47 15 + 7 17 63 19 + 8 31 62 23 + 9 52 33 11 + 10 51 21 5 + 11 42 41 19 + 12 31 32 29 + 13 5 25 23 + 14 12 42 21 + 15 36 16 10 + 16 52 41 15 + 17 27 23 3 + 18 17 33 41 + 19 13 13 9 + 20 57 58 28 + 21 62 42 8 + 22 42 57 8 + 23 16 57 16 + 24 8 52 10 + 25 7 38 28 + 26 27 68 7 + 27 30 48 15 + 28 43 67 14 + 29 58 48 6 + 30 58 27 19 + 31 37 69 11 + 32 38 46 12 + 33 46 10 23 + 34 61 33 26 + 35 62 63 17 + 36 63 69 6 + 37 32 22 9 + 38 45 35 15 + 39 59 15 14 + 40 5 6 7 + 41 10 17 27 + 42 21 10 13 + 43 5 64 11 + 44 30 15 16 + 45 39 10 10 + 46 32 39 5 + 47 25 32 25 + 48 25 55 17 + 49 48 28 18 + 50 56 37 10 + +v 1 40 100 1.0 2 +v 2 80 200 1.6 4 +v 3 140 400 2.1 3 + +10 140 0 9999999 741.499345 + 10*200 = 2741.50 + 3 18 4 47 2396248 + 6 15 45 33 39 10 49 2916243 + 5 12 17 44 37 5 2591911 + 4 38 16 2 11 2562466 + 5 24 43 7 23 48 2805845 + 6 29 20 35 36 3 1 2975090 + 5 13 41 40 19 42 3011668 + 6 50 21 34 30 9 46 2813483 + 6 8 26 31 28 22 32 2773629 + 4 27 6 14 25 2568409 + + diff --git a/jsprit-instances/instances/vrph/orig/c75_17mix.txt b/jsprit-instances/instances/vrph/orig/c75_17mix.txt new file mode 100644 index 00000000..c137802e --- /dev/null +++ b/jsprit-instances/instances/vrph/orig/c75_17mix.txt @@ -0,0 +1,94 @@ +75 + 0 40 40 0 + 1 22 22 18 + 2 36 26 26 + 3 21 45 11 + 4 45 35 30 + 5 55 20 21 + 6 33 34 19 + 7 50 50 15 + 8 55 45 16 + 9 26 59 29 + 10 40 66 26 + 11 55 65 37 + 12 35 51 16 + 13 62 35 12 + 14 62 57 31 + 15 62 24 8 + 16 21 36 19 + 17 33 44 20 + 18 9 56 13 + 19 62 48 15 + 20 66 14 22 + 21 44 13 28 + 22 26 13 12 + 23 11 28 6 + 24 7 43 27 + 25 17 64 14 + 26 41 46 18 + 27 55 34 17 + 28 35 16 29 + 29 52 26 13 + 30 43 26 22 + 31 31 76 25 + 32 22 53 28 + 33 26 29 27 + 34 50 40 19 + 35 55 50 10 + 36 54 10 12 + 37 60 15 14 + 38 47 66 24 + 39 30 60 16 + 40 30 50 33 + 41 12 17 15 + 42 15 14 11 + 43 16 19 18 + 44 21 48 17 + 45 50 30 21 + 46 51 42 27 + 47 50 15 19 + 48 48 21 20 + 49 12 38 5 + 50 15 56 22 + 51 29 39 12 + 52 54 38 19 + 53 55 57 22 + 54 67 41 16 + 55 10 70 7 + 56 6 25 26 + 57 65 27 14 + 58 40 60 21 + 59 70 64 24 + 60 64 4 13 + 61 36 6 15 + 62 30 20 18 + 63 20 30 11 + 64 15 5 28 + 65 50 70 9 + 66 57 72 37 + 67 45 42 30 + 68 38 33 10 + 69 50 4 8 + 70 66 8 11 + 71 59 5 3 + 72 35 60 1 + 73 27 24 6 + 74 40 20 10 + 75 40 37 20 +//Vehicles characteristics: volume, fixed cost, variable cost, number available +//See E. D. Taillard, "A heuristic column generation method for the heterogeneous fleet vrp" +//RAIRO Rech. Op�r. 33 (1) 1999, pp 1-14) +//see http://ina2.eivd.ch/collaborateurs/etd/articles.dir/vrphen.pdf50 25 1.0 4 +v 1 120 80 1.2 4 +v 2 200 150 1.5 2 +v 3 350 320 1.8 1 + +7 350 0 1000000 703.124497 + 7 * 150 = 1753.12 + 14 27 57 15 37 20 70 60 71 69 36 47 5 29 45 2685412 + 8 7 53 14 59 11 66 65 38 2518938 + 11 51 16 49 24 18 50 25 55 31 10 58 2837925 + 10 26 12 72 39 9 32 44 3 40 17 2223923 + 12 6 33 63 23 56 41 43 42 64 22 1 73 2669773 + 10 67 34 46 8 35 19 54 13 52 4 2218010 + 10 68 2 62 28 61 21 74 48 30 75 2377261 + diff --git a/jsprit-instances/instances/vrph/orig/c75_18mix.txt b/jsprit-instances/instances/vrph/orig/c75_18mix.txt new file mode 100644 index 00000000..b2bc5cfe --- /dev/null +++ b/jsprit-instances/instances/vrph/orig/c75_18mix.txt @@ -0,0 +1,124 @@ +75 + 0 40 40 0 + 1 22 22 18 + 2 36 26 26 + 3 21 45 11 + 4 45 35 30 + 5 55 20 21 + 6 33 34 19 + 7 50 50 15 + 8 55 45 16 + 9 26 59 29 + 10 40 66 26 + 11 55 65 37 + 12 35 51 16 + 13 62 35 12 + 14 62 57 31 + 15 62 24 8 + 16 21 36 19 + 17 33 44 20 + 18 9 56 13 + 19 62 48 15 + 20 66 14 22 + 21 44 13 28 + 22 26 13 12 + 23 11 28 6 + 24 7 43 27 + 25 17 64 14 + 26 41 46 18 + 27 55 34 17 + 28 35 16 29 + 29 52 26 13 + 30 43 26 22 + 31 31 76 25 + 32 22 53 28 + 33 26 29 27 + 34 50 40 19 + 35 55 50 10 + 36 54 10 12 + 37 60 15 14 + 38 47 66 24 + 39 30 60 16 + 40 30 50 33 + 41 12 17 15 + 42 15 14 11 + 43 16 19 18 + 44 21 48 17 + 45 50 30 21 + 46 51 42 27 + 47 50 15 19 + 48 48 21 20 + 49 12 38 5 + 50 15 56 22 + 51 29 39 12 + 52 54 38 19 + 53 55 57 22 + 54 67 41 16 + 55 10 70 7 + 56 6 25 26 + 57 65 27 14 + 58 40 60 21 + 59 70 64 24 + 60 64 4 13 + 61 36 6 15 + 62 30 20 18 + 63 20 30 11 + 64 15 5 28 + 65 50 70 9 + 66 57 72 37 + 67 45 42 30 + 68 38 33 10 + 69 50 4 8 + 70 66 8 11 + 71 59 5 3 + 72 35 60 1 + 73 27 24 6 + 74 40 20 10 + 75 40 37 20 +//Vehicles characteristics: volume, fixed cost, variable cost, number available +//See E. D. Taillard, "A heuristic column generation method for the heterogeneous fleet vrp" +//RAIRO Rech. Op�r. 33 (1) 1999, pp 1-14) +//see http://ina2.eivd.ch/collaborateurs/etd/articles.dir/vrphen.pdf +v 1 20 10 1.0 4 +v 2 50 35 1.3 4 +v 3 100 100 1.9 2 +v 4 150 180 2.4 2 +v 5 250 400 2.9 1 +v 6 400 800 3.2 1 + + +16 400 0 1000000 + 2 4 75 504563 + 2 40 12 663241 + 2 34 46 584164 + 2 6 33 706263 + 2 26 67 521249 + 4 59 66 65 38 1928889 + 5 30 48 47 21 74 1621004 + 8 36 69 71 60 70 20 37 29 2030669 + 6 8 35 14 19 54 13 1786844 + 6 32 25 55 18 50 3 1957187 + 6 45 5 15 57 27 52 1680991 + 6 17 44 24 49 16 51 1714575 + 5 9 39 31 10 72 1856344 + 4 58 11 53 7 1665558 + 5 2 28 61 22 62 1772896 + 10 63 23 56 41 64 42 43 1 73 68 2874657 + + 2 40 12 663241 + 2 2 30 708780 + 2 34 46 584164 + 2 6 33 706263 + 2 26 67 521249 + 4 59 66 65 38 1928889 + 8 61 69 36 71 60 70 20 37 2163283 + 6 8 35 14 19 54 13 1786844 + 7 63 23 56 41 43 1 73 1845922 + 6 32 25 55 18 50 3 1957187 + 6 45 5 15 57 27 52 1680991 + 6 17 44 24 49 16 51 1714575 + 5 9 39 31 10 72 1856344 + 4 58 11 53 7 1665558 + 5 28 22 64 42 62 1951198 + 2 4 75 504563 + 6 68 74 21 47 48 29 1659867 diff --git a/jsprit-instances/src/main/java/jsprit/instance/util/Vrph2jsprit.java b/jsprit-instances/src/main/java/jsprit/instance/util/Vrph2jsprit.java new file mode 100644 index 00000000..09c918bc --- /dev/null +++ b/jsprit-instances/src/main/java/jsprit/instance/util/Vrph2jsprit.java @@ -0,0 +1,63 @@ +package jsprit.instance.util; + +import java.io.BufferedReader; +import java.io.File; +import java.io.FileReader; +import java.io.IOException; + +import jsprit.core.problem.VehicleRoutingProblem; +import jsprit.core.problem.job.Service; +import jsprit.core.problem.vehicle.Vehicle; +import jsprit.core.problem.vehicle.VehicleImpl; +import jsprit.core.problem.vehicle.VehicleTypeImpl; +import jsprit.core.util.Coordinate; + +public class Vrph2jsprit { + + + public static void main(String[] args) throws IOException { + + for(int i=3;i<7;i++){ + VehicleRoutingProblem.Builder vrpBuilder = VehicleRoutingProblem.Builder.newInstance(); + String instance = "vrph/orig/c20_"+i+"mix.txt"; + BufferedReader reader = new BufferedReader(new FileReader(new File(instance))); + String line = null; + boolean firstline = true; + Coordinate depotCoord = null; + int customerCount=0; + while((line=reader.readLine())!=null){ + String trimedLine = line.trim(); + if(trimedLine.startsWith("//")) continue; + String[] tokens = trimedLine.split("\\s+"); + Integer nuOfCustomer = 0; + if(firstline){ + nuOfCustomer=Integer.parseInt(line); + customerCount=1; + firstline=false; + } + else if(customerCount<=nuOfCustomer) { + if(customerCount == 1){ + depotCoord = Coordinate.newInstance(Double.parseDouble(tokens[1]), Double.parseDouble(tokens[2])); + } + else{ + Service.Builder serviceBuilder = Service.Builder.newInstance(tokens[0], Integer.parseInt(tokens[0])); + serviceBuilder.setCoord(Coordinate.newInstance(Double.parseDouble(tokens[1]), Double.parseDouble(tokens[2]))); + vrpBuilder.addJob(serviceBuilder.build()); + customerCount++; + } + } + else if(trimedLine.startsWith("v")){ + VehicleTypeImpl.Builder typeBuilder = VehicleTypeImpl.Builder.newInstance("type_"+tokens[1], Integer.parseInt(tokens[2])); + typeBuilder.setFixedCost(Double.parseDouble(tokens[3])); + typeBuilder.setCostPerDistance(1.0); + VehicleTypeImpl type = typeBuilder.build(); + Vehicle vehicle = VehicleImpl.Builder.newInstance("vehicle_"+tokens[1]).setType(type).build(); + } + + } + reader.close(); + } + + } + +}