mirror of
https://github.com/graphhopper/jsprit.git
synced 2020-01-24 07:45:05 +01:00
pd-contraints stuff and tests
This commit is contained in:
parent
8010e0f2c2
commit
a853ad5672
13 changed files with 683 additions and 650 deletions
|
|
@ -23,6 +23,7 @@ import org.junit.Before;
|
|||
import org.junit.Test;
|
||||
|
||||
import util.Solutions;
|
||||
import algorithms.ConstraintManager.Priority;
|
||||
import algorithms.StateManager.StateImpl;
|
||||
import algorithms.acceptors.AcceptNewIfBetterThanWorst;
|
||||
import algorithms.selectors.SelectBest;
|
||||
|
|
@ -62,8 +63,8 @@ public class BuildPDVRPAlgoFromScratchTest {
|
|||
final StateManager stateManager = new StateManager();
|
||||
|
||||
ConstraintManager actLevelConstraintAccumulator = new ConstraintManager(vrp,stateManager);
|
||||
actLevelConstraintAccumulator.addConstraint(new ServiceLoadActivityLevelConstraint(stateManager));
|
||||
actLevelConstraintAccumulator.addConstraint(new TimeWindowConstraint(stateManager, vrp.getTransportCosts()));
|
||||
actLevelConstraintAccumulator.addConstraint(new ServiceLoadActivityLevelConstraint(stateManager),Priority.LOW);
|
||||
actLevelConstraintAccumulator.addConstraint(new TimeWindowConstraint(stateManager, vrp.getTransportCosts()),Priority.HIGH);
|
||||
|
||||
ActivityInsertionCostsCalculator marginalCalculus = new LocalActivityInsertionCostsCalculator(vrp.getTransportCosts(), vrp.getActivityCosts());
|
||||
|
||||
|
|
|
|||
|
|
@ -80,7 +80,7 @@ public class BuildPDVRPWithShipmentsAlgoFromScratchTest {
|
|||
ConstraintManager constraintManager = new ConstraintManager(vrp,stateManager);
|
||||
constraintManager.addTimeWindowConstraint();
|
||||
constraintManager.addLoadConstraint();
|
||||
constraintManager.addConstraint(new HardPickupAndDeliveryShipmentActivityLevelConstraint(stateManager,true));
|
||||
// constraintManager.addConstraint(new HardPickupAndDeliveryShipmentActivityLevelConstraint(stateManager));
|
||||
|
||||
|
||||
ActivityInsertionCostsCalculator marginalCalculus = new LocalActivityInsertionCostsCalculator(vrp.getTransportCosts(), vrp.getActivityCosts());
|
||||
|
|
@ -176,7 +176,7 @@ public class BuildPDVRPWithShipmentsAlgoFromScratchTest {
|
|||
// System.out.println("ini: costs="+iniSolution.getCost()+";#routes="+iniSolution.getRoutes().size());
|
||||
vra.addInitialSolution(iniSolution);
|
||||
|
||||
vra.setNuOfIterations(1000);
|
||||
vra.setNuOfIterations(100);
|
||||
// vra.setPrematureBreak(500);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ public class HardPickupAndDeliveryShipmentActivityConstraintTest {
|
|||
|
||||
Shipment shipment;
|
||||
|
||||
HardPickupAndDeliveryShipmentActivityLevelConstraint constraint;
|
||||
PickupAndDeliverShipmentLoadActivityLevelConstraint constraint;
|
||||
|
||||
InsertionContext iFacts;
|
||||
|
||||
|
|
@ -35,7 +35,7 @@ public class HardPickupAndDeliveryShipmentActivityConstraintTest {
|
|||
shipment = mock(Shipment.class);
|
||||
when(shipment.getCapacityDemand()).thenReturn(1);
|
||||
iFacts = new InsertionContext(null, null, vehicle, null, 0.0);
|
||||
constraint = new HardPickupAndDeliveryShipmentActivityLevelConstraint(stateManager);
|
||||
constraint = new PickupAndDeliverShipmentLoadActivityLevelConstraint(stateManager);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ import org.junit.Test;
|
|||
import util.Coordinate;
|
||||
import util.Locations;
|
||||
import util.ManhattanCosts;
|
||||
import algorithms.ConstraintManager.Priority;
|
||||
import algorithms.HardActivityStateLevelConstraint.ConstraintsStatus;
|
||||
import basics.Shipment;
|
||||
import basics.VehicleRoutingProblem;
|
||||
|
|
@ -188,8 +189,9 @@ public class ShipmentInsertionCalculatorTest {
|
|||
VehicleRoutingProblem vrp = mock(VehicleRoutingProblem.class);
|
||||
|
||||
ConstraintManager constraintManager = new ConstraintManager(vrp,stateManager);
|
||||
|
||||
constraintManager.addConstraint(new HardPickupAndDeliveryShipmentActivityLevelConstraint(stateManager,true));
|
||||
constraintManager.addConstraint(new PickupAndDeliverShipmentLoadActivityLevelConstraint(stateManager),Priority.CRITICAL);
|
||||
constraintManager.addConstraint(new ShipmentPickupsFirstConstraint(),Priority.CRITICAL);
|
||||
|
||||
ShipmentInsertionCalculator insertionCalculator = new ShipmentInsertionCalculator(routingCosts, activityInsertionCostsCalculator,
|
||||
hardRouteLevelConstraint, constraintManager);
|
||||
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue