1
0
Fork 0
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:
oblonski 2013-11-14 10:01:32 +01:00
parent 8010e0f2c2
commit a853ad5672
13 changed files with 683 additions and 650 deletions

View file

@ -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());

View file

@ -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);
}

View file

@ -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

View file

@ -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