diff --git a/jsprit-core/src/test/java/algorithms/StateUpdates.java b/jsprit-core/src/test/java/algorithms/StateUpdates.java index 4d6af67c..64041cf2 100644 --- a/jsprit-core/src/test/java/algorithms/StateUpdates.java +++ b/jsprit-core/src/test/java/algorithms/StateUpdates.java @@ -45,7 +45,7 @@ class UpdateStates implements JobInsertedListener, InsertionStartsListener{ routeActivityVisitor.addActivityVisitor(new UpdateActivityTimes(routingCosts)); routeActivityVisitor.addActivityVisitor(new UpdateVariableCosts(activityCosts, routingCosts, states)); routeActivityVisitor.addActivityVisitor(new UpdateLoads(states)); - routeActivityVisitor.addActivityVisitor(new UpdateMaxLoad(states)); + routeActivityVisitor.addActivityVisitor(new UpdateMaxLoad_(states)); revRouteActivityVisitor = new ReverseRouteActivityVisitor(); revRouteActivityVisitor.addActivityVisitor(new TimeWindowUpdater(states, routingCosts)); insertionListeners.addListener(new UpdateLoads(states)); diff --git a/jsprit-core/src/test/resources/pdp_sol.xml b/jsprit-core/src/test/resources/pdp_sol.xml index 3ed7bcdb..fbea3a8b 100644 --- a/jsprit-core/src/test/resources/pdp_sol.xml +++ b/jsprit-core/src/test/resources/pdp_sol.xml @@ -2534,264 +2534,55 @@ - 828.936866942834 + 1206.8889718907435 - 95.94313062205805 + 123.00615945405636 noDriver solomonVehicle 0.0 - - 98 - 0.0 - 0.0 - - - 94 - 0.0 - 0.0 - - - 97 - 0.0 - 0.0 - - - 95 - 0.0 - 0.0 - - - 100 - 0.0 - 0.0 - - - 99 - 0.0 - 0.0 - - - 96 - 0.0 - 0.0 - - - 93 - 0.0 - 0.0 - - - 92 - 0.0 - 0.0 - - - 98 - 30.805843601498726 - 30.805843601498726 - - - 96 - 36.19100840863323 - 95.0 - - - 95 - 97.0 - 196.0 - - - 94 - 199.605551275464 - 285.0 - - - 92 - 288.605551275464 - 368.0 - - - 93 - 370.0 - 475.0 - - - 97 - 480.0 - 561.0 - - - 100 - 566.0 - 647.0 - - - 99 - 652.0 - 743.0 - - 776.5410196624969 - - - 59.403108723710105 - noDriver - solomonVehicle - 0.0 - - 63 - 0.0 - 0.0 - - - 74 - 0.0 - 0.0 - - - 62 - 0.0 - 0.0 - - - 65 - 0.0 - 0.0 - - - 69 - 0.0 - 0.0 - - - 67 - 0.0 - 0.0 - - - 61 - 0.0 - 0.0 - - - 66 - 0.0 - 0.0 - - - 64 - 0.0 - 0.0 - - - 68 - 0.0 - 0.0 - - - 72 - 0.0 - 0.0 - - - 67 - 12.206555615733702 - 12.206555615733702 - - - 65 - 13.206555615733702 - 76.0 - - - 63 - 78.0 - 171.0 - - - 62 - 176.0 - 262.0 - - - 74 - 265.0 - 353.0 - - - 72 - 358.0 - 450.0 - - - 61 - 453.0 - 531.0 - - - 64 - 533.0 - 632.0 - - - 68 - 635.0 - 734.0 - - - 66 - 739.3851648071345 - 826.0 - - - 69 - 828.0 - 916.0 - - 931.8113883008419 - - - 95.88470913081827 - noDriver - solomonVehicle - 0.0 - - 17 - 0.0 - 0.0 - - - 12 - 0.0 - 0.0 - 14 0.0 0.0 + + 2 + 0.0 + 0.0 + + + 1 + 0.0 + 0.0 + + + 18 + 0.0 + 0.0 + + + 16 + 0.0 + 0.0 + 15 0.0 0.0 - - 18 - 0.0 - 0.0 - - - 19 - 0.0 - 0.0 - 13 0.0 0.0 - 16 + 99 + 0.0 + 0.0 + + + 19 0.0 0.0 @@ -2800,14 +2591,9 @@ 30.805843601498726 30.805843601498726 - - 17 - 34.80584360149872 - 99.0 - 18 - 102.0 + 37.80584360149872 179.0 @@ -2831,335 +2617,34 @@ 567.0 - 12 - 570.0 - 652.0 + 99 + 600.3766385365573 + 743.0 - 690.0788655293195 + + 2 + 757.142135623731 + 825.0 + + + 1 + 827.0 + 912.0 + + 930.6815416922694 - 127.29748041459519 + 129.13652582380297 noDriver solomonVehicle 0.0 - - 80 - 0.0 - 0.0 - - - 76 - 0.0 - 0.0 - - - 79 - 0.0 - 0.0 - - - 77 - 0.0 - 0.0 - - - 73 - 0.0 - 0.0 - - - 78 - 0.0 - 0.0 - - - 70 - 0.0 - 0.0 - - - 81 - 0.0 - 0.0 - - - 71 - 0.0 - 0.0 - - - 81 - 47.43416490252569 - 47.43416490252569 - - - 78 - 50.43416490252569 - 109.0 - - - 76 - 111.0 - 203.0 - - - 71 - 208.0 - 293.0 - - - 70 - 298.0 - 387.0 - - - 73 - 390.0 - 478.0 - - - 77 - 482.0 - 574.0 - - - 79 - 575.0 - 668.0 - - - 80 - 673.3851648071345 - 769.0 - - 820.478150704935 - - - 97.2271627850669 - noDriver - solomonVehicle - 0.0 - - 31 - 0.0 - 0.0 - - - 38 - 0.0 - 0.0 - - - 37 - 0.0 - 0.0 - - - 33 - 0.0 - 0.0 - - - 32 - 0.0 - 0.0 - - - 36 - 0.0 - 0.0 - - - 35 - 0.0 - 0.0 - - - 39 - 0.0 - 0.0 - - - 34 - 0.0 - 0.0 - - - 32 - 31.622776601683793 - 31.622776601683793 - - - 33 - 33.622776601683796 - 87.0 - - - 31 - 92.3851648071345 - 200.0 - - - 35 - 205.0 - 283.0 - - - 37 - 288.8309518948453 - 383.0 - - - 38 - 385.0 - 479.0 - - - 39 - 484.0 - 567.0 - - - 36 - 572.0 - 665.0 - - - 34 - 668.0 - 751.0 - - 783.3882694814033 - - - 101.88256760196126 - noDriver - solomonVehicle - 0.0 - - 56 - 0.0 - 0.0 - - - 54 - 0.0 - 0.0 - - - 57 - 0.0 - 0.0 - - - 59 - 0.0 - 0.0 - - - 55 - 0.0 - 0.0 - - - 58 - 0.0 - 0.0 - - - 60 - 0.0 - 0.0 - - - 53 - 0.0 - 0.0 - - - 57 - 35.0 - 35.0 - - - 55 - 37.0 - 95.0 - - - 54 - 100.0 - 186.0 - - - 53 - 191.38516480713452 - 286.0 - - - 56 - 290.0 - 385.0 - - - 58 - 387.0 - 471.0 - - - 60 - 474.0 - 562.0 - - - 59 - 572.4403065089106 - 651.0 - - 686.0570962859163 - - - 76.06956532288787 - noDriver - solomonVehicle - 0.0 - - 87 - 0.0 - 0.0 - - - 86 - 0.0 - 0.0 - 84 0.0 0.0 - 83 - 0.0 - 0.0 - - - 90 - 0.0 - 0.0 - - - 91 - 0.0 - 0.0 - - - 82 - 0.0 - 0.0 - - - 85 + 78 0.0 0.0 @@ -3168,11 +2653,158 @@ 0.0 0.0 + + 81 + 0.0 + 0.0 + + + 65 + 0.0 + 0.0 + + + 76 + 0.0 + 0.0 + + + 67 + 0.0 + 0.0 + + + 91 + 0.0 + 0.0 + + + 85 + 0.0 + 0.0 + 88 0.0 0.0 + + 71 + 0.0 + 0.0 + + + 67 + 12.206555615733702 + 12.206555615733702 + + + 65 + 13.206555615733702 + 76.0 + + + 81 + 113.33630940518894 + 113.33630940518894 + + + 78 + 116.33630940518894 + 116.33630940518894 + + + 76 + 118.33630940518894 + 203.0 + + + 71 + 208.0 + 293.0 + + + 84 + 326.97057550292607 + 458.0 + + + 85 + 460.8284271247462 + 555.0 + + + 88 + 558.0 + 645.0 + + + 89 + 647.8284271247462 + 737.0 + + + 91 + 740.605551275464 + 836.0 + + 858.360679774998 + + + 149.25708620100252 + noDriver + solomonVehicle + 0.0 + + 68 + 0.0 + 0.0 + + + 86 + 0.0 + 0.0 + + + 83 + 0.0 + 0.0 + + + 56 + 0.0 + 0.0 + + + 87 + 0.0 + 0.0 + + + 90 + 0.0 + 0.0 + + + 59 + 0.0 + 0.0 + + + 58 + 0.0 + 0.0 + + + 60 + 0.0 + 0.0 + + + 82 + 0.0 + 0.0 + 90 20.615528128088304 @@ -3199,84 +2831,54 @@ 369.0 - 84 - 374.8309518948453 - 458.0 + 56 + 430.0327780786685 + 430.0327780786685 - 85 - 460.8284271247462 - 555.0 + 58 + 432.0327780786685 + 471.0 - 88 - 558.0 - 645.0 + 60 + 474.0 + 562.0 - 89 - 647.8284271247462 - 737.0 + 59 + 572.4403065089106 + 651.0 - 91 - 740.605551275464 - 836.0 + 68 + 667.5529453572468 + 734.0 - 858.360679774998 + 754.6155281280883 - 64.80747449698114 + 111.83817397895926 noDriver solomonVehicle 0.0 - 45 + 31 0.0 0.0 - 49 + 34 0.0 0.0 - 47 + 32 0.0 0.0 - 51 - 0.0 - 0.0 - - - 46 - 0.0 - 0.0 - - - 44 - 0.0 - 0.0 - - - 43 - 0.0 - 0.0 - - - 42 - 0.0 - 0.0 - - - 40 - 0.0 - 0.0 - - - 52 + 24 0.0 0.0 @@ -3285,11 +2887,673 @@ 0.0 0.0 + + 33 + 0.0 + 0.0 + + + 35 + 0.0 + 0.0 + + + 51 + 0.0 + 0.0 + + + 52 + 0.0 + 0.0 + + + 38 + 0.0 + 0.0 + + + 36 + 0.0 + 0.0 + + + 24 + 15.0 + 65.0 + + + 32 + 83.02775637731995 + 83.02775637731995 + + + 33 + 85.02775637731995 + 87.0 + + + 31 + 92.3851648071345 + 200.0 + + + 35 + 205.0 + 283.0 + + + 38 + 290.0710678118655 + 479.0 + + + 36 + 486.0710678118655 + 665.0 + + + 34 + 668.0 + 751.0 + + + 51 + 773.6715680975093 + 773.6715680975093 + + + 50 + 775.9076360750091 + 815.0 + + + 52 + 818.1622776601683 + 912.0 + + 933.2132034355964 + + + 55.052543438165635 + noDriver + solomonVehicle + 0.0 + + 74 + 0.0 + 0.0 + + + 64 + 0.0 + 0.0 + + + 63 + 0.0 + 0.0 + + + 61 + 0.0 + 0.0 + + + 62 + 0.0 + 0.0 + + + 69 + 0.0 + 0.0 + + + 66 + 0.0 + 0.0 + + + 72 + 0.0 + 0.0 + + + 63 + 14.142135623730951 + 171.0 + + + 62 + 176.0 + 262.0 + + + 74 + 265.0 + 353.0 + + + 72 + 358.0 + 450.0 + + + 61 + 453.0 + 531.0 + + + 64 + 533.0 + 632.0 + + + 66 + 637.0990195135928 + 826.0 + + + 69 + 828.0 + 916.0 + + 931.8113883008419 + + + 132.6513166024448 + noDriver + solomonVehicle + 0.0 + + 29 + 0.0 + 0.0 + + + 39 + 0.0 + 0.0 + + + 22 + 0.0 + 0.0 + + + 20 + 0.0 + 0.0 + + + 27 + 0.0 + 0.0 + + + 21 + 0.0 + 0.0 + + + 23 + 0.0 + 0.0 + + + 28 + 0.0 + 0.0 + + + 25 + 0.0 + 0.0 + + + 26 + 0.0 + 0.0 + + + 37 + 0.0 + 0.0 + + + 30 + 0.0 + 0.0 + + + 20 + 10.0 + 10.0 + + + 25 + 15.385164807134505 + 169.0 + + + 27 + 171.0 + 261.0 + + + 29 + 264.605551275464 + 358.0 + + + 37 + 378.591260281974 + 383.0 + + + 30 + 406.43074902771997 + 449.0 + + + 39 + 471.3606797749979 + 567.0 + + + 28 + 592.0798724079689 + 592.0798724079689 + + + 26 + 594.0798724079689 + 622.0 + + + 23 + 625.0 + 732.0 + + + 22 + 735.0 + 812.0 + + + 21 + 814.0 + 914.0 + + 924.1980390271856 + + + 171.7443518305339 + noDriver + solomonVehicle + 0.0 + + 54 + 0.0 + 0.0 + + + 80 + 0.0 + 0.0 + + + 53 + 0.0 + 0.0 + + + 57 + 0.0 + 0.0 + + + 55 + 0.0 + 0.0 + + + 42 + 0.0 + 0.0 + + + 77 + 0.0 + 0.0 + + + 79 + 0.0 + 0.0 + + + 73 + 0.0 + 0.0 + + + 70 + 0.0 + 0.0 + + + 42 + 19.313207915827967 + 68.0 + + + 57 + 86.38477631085024 + 86.38477631085024 + + + 55 + 88.38477631085024 + 95.0 + + + 54 + 100.0 + 186.0 + + + 53 + 191.38516480713452 + 286.0 + + + 70 + 342.7978872846517 + 387.0 + + + 73 + 390.0 + 478.0 + + + 77 + 482.0 + 574.0 + + + 79 + 575.0 + 668.0 + + + 80 + 673.3851648071345 + 769.0 + + 820.478150704935 + + + 136.307638647898 + noDriver + solomonVehicle + 0.0 + + 100 + 0.0 + 0.0 + + + 17 + 0.0 + 0.0 + + + 94 + 0.0 + 0.0 + + + 92 + 0.0 + 0.0 + + + 95 + 0.0 + 0.0 + + + 4 + 0.0 + 0.0 + + + 97 + 0.0 + 0.0 + + + 93 + 0.0 + 0.0 + + + 17 + 33.301651610693426 + 99.0 + + + 95 + 143.28317965096906 + 196.0 + + + 94 + 199.605551275464 + 285.0 + + + 92 + 288.605551275464 + 368.0 + + + 93 + 370.0 + 475.0 + + + 97 + 480.0 + 561.0 + + + 100 + 566.0 + 647.0 + + + 4 + 668.4009345590327 + 727.0 + + 745.1107702762748 + + + 140.88049577910311 + noDriver + solomonVehicle + 0.0 + + 98 + 0.0 + 0.0 + + + 9 + 0.0 + 0.0 + + + 11 + 0.0 + 0.0 + + + 8 + 0.0 + 0.0 + + + 3 + 0.0 + 0.0 + + + 5 + 0.0 + 0.0 + + + 96 + 0.0 + 0.0 + + + 75 + 0.0 + 0.0 + + + 7 + 0.0 + 0.0 + + + 6 + 0.0 + 0.0 + + + 10 + 0.0 + 0.0 + + + 12 + 0.0 + 0.0 + + + 5 + 15.132745950421556 + 15.132745950421556 + + + 3 + 16.13274595042156 + 65.0 + + + 98 + 83.35755975068582 + 83.35755975068582 + + + 96 + 88.74272455782032 + 95.0 + + + 7 + 119.41311123146741 + 170.0 + + + 8 + 172.82842712474618 + 255.0 + + + 10 + 258.605551275464 + 357.0 + + + 11 + 360.0 + 448.0 + + + 9 + 451.1622776601684 + 534.0 + + + 12 + 553.8494332412793 + 652.0 + + + 6 + 673.9317121994613 + 673.9317121994613 + + + 75 + 680.3348364368942 + 997.0 + + 1012.8113883008419 + + + 57.014680134776974 + noDriver + solomonVehicle + 0.0 + + 40 + 0.0 + 0.0 + + + 47 + 0.0 + 0.0 + + + 44 + 0.0 + 0.0 + 41 0.0 0.0 + + 43 + 0.0 + 0.0 + + + 45 + 0.0 + 0.0 + + + 46 + 0.0 + 0.0 + + + 49 + 0.0 + 0.0 + 48 0.0 @@ -3300,14 +3564,9 @@ 16.55294535724685 16.55294535724685 - - 42 - 19.55294535724685 - 68.0 - 41 - 70.0 + 20.158496632710836 166.0 @@ -3335,24 +3594,9 @@ 543.0 632.0 - - 51 - 635.0 - 725.0 - - - 50 - 727.2360679774998 - 815.0 - - - 52 - 818.1622776601683 - 912.0 - 49 - 915.0 + 637.0 1001.0 @@ -3362,250 +3606,6 @@ 1072.02775637732 - - 50.80359030264955 - noDriver - solomonVehicle - 0.0 - - 20 - 0.0 - 0.0 - - - 21 - 0.0 - 0.0 - - - 23 - 0.0 - 0.0 - - - 27 - 0.0 - 0.0 - - - 30 - 0.0 - 0.0 - - - 25 - 0.0 - 0.0 - - - 24 - 0.0 - 0.0 - - - 26 - 0.0 - 0.0 - - - 28 - 0.0 - 0.0 - - - 29 - 0.0 - 0.0 - - - 22 - 0.0 - 0.0 - - - 20 - 10.0 - 10.0 - - - 24 - 15.0 - 65.0 - - - 25 - 67.0 - 169.0 - - - 27 - 171.0 - 261.0 - - - 29 - 264.605551275464 - 358.0 - - - 30 - 363.0 - 449.0 - - - 28 - 452.0 - 546.0 - - - 26 - 548.0 - 622.0 - - - 23 - 625.0 - 732.0 - - - 22 - 735.0 - 812.0 - - - 21 - 814.0 - 914.0 - - 924.1980390271856 - - - 59.618077542105574 - noDriver - solomonVehicle - 0.0 - - 8 - 0.0 - 0.0 - - - 7 - 0.0 - 0.0 - - - 4 - 0.0 - 0.0 - - - 2 - 0.0 - 0.0 - - - 5 - 0.0 - 0.0 - - - 10 - 0.0 - 0.0 - - - 3 - 0.0 - 0.0 - - - 75 - 0.0 - 0.0 - - - 6 - 0.0 - 0.0 - - - 11 - 0.0 - 0.0 - - - 1 - 0.0 - 0.0 - - - 9 - 0.0 - 0.0 - - - 5 - 15.132745950421556 - 15.132745950421556 - - - 3 - 16.13274595042156 - 65.0 - - - 7 - 67.0 - 170.0 - - - 8 - 172.82842712474618 - 255.0 - - - 10 - 258.605551275464 - 357.0 - - - 11 - 360.0 - 448.0 - - - 9 - 451.1622776601684 - 534.0 - - - 6 - 536.2360679774998 - 621.0 - - - 4 - 623.2360679774998 - 727.0 - - - 2 - 730.605551275464 - 825.0 - - - 1 - 827.0 - 912.0 - - - 75 - 915.0 - 997.0 - - 1012.8113883008419 - diff --git a/jsprit-examples/src/main/java/examples/PickupAndDeliveryExample2.java b/jsprit-examples/src/main/java/examples/PickupAndDeliveryExample2.java index 8d5929c9..e3e92132 100644 --- a/jsprit-examples/src/main/java/examples/PickupAndDeliveryExample2.java +++ b/jsprit-examples/src/main/java/examples/PickupAndDeliveryExample2.java @@ -19,6 +19,9 @@ package examples; import java.io.File; import java.util.Collection; +import org.apache.log4j.Level; +import org.apache.log4j.Logger; + import algorithms.VehicleRoutingAlgorithms; import algorithms.selectors.SelectBest; import analysis.AlgorithmSearchProgressChartListener; @@ -37,6 +40,8 @@ public class PickupAndDeliveryExample2 { public static void main(String[] args) { + Logger.getRootLogger().setLevel(Level.INFO); + /* * some preparation - create output folder */