1
0
Fork 0
mirror of https://github.com/graphhopper/jsprit.git synced 2020-01-24 07:45:05 +01:00

rename core.problem.constraint.HardActivityStateLevelConstraint to HardActivityConstraint

rename core.problem.constraint.HardRouteStateLevelConstraint to HardRouteConstraint
This commit is contained in:
oblonski 2014-09-05 16:38:58 +02:00
parent dd2c7625b4
commit e65d36d784
30 changed files with 467 additions and 382 deletions

View file

@ -1,20 +1,18 @@
/*******************************************************************************
* Copyright (c) 2014 Stefan Schroeder.
*
* Copyright (C) 2014 Stefan Schroeder
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* License as published by the Free Software Foundation; either
* version 3.0 of the License, or (at your option) any later version.
*
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
*
* Contributors:
* Stefan Schroeder - initial API and implementation
******************************************************************************/
package jsprit.core.algorithm.recreate;
@ -24,8 +22,8 @@ import jsprit.core.problem.AbstractActivity;
import jsprit.core.problem.JobActivityFactory;
import jsprit.core.problem.VehicleRoutingProblem;
import jsprit.core.problem.constraint.ConstraintManager;
import jsprit.core.problem.constraint.HardActivityStateLevelConstraint;
import jsprit.core.problem.constraint.HardRouteStateLevelConstraint;
import jsprit.core.problem.constraint.HardActivityConstraint;
import jsprit.core.problem.constraint.HardRouteConstraint;
import jsprit.core.problem.cost.VehicleRoutingActivityCosts;
import jsprit.core.problem.cost.VehicleRoutingTransportCosts;
import jsprit.core.problem.driver.Driver;
@ -66,7 +64,7 @@ public class ServiceInsertionAndLoadConstraintsTest {
};
HardActivityStateLevelConstraint hardActivityLevelConstraint = new HardActivityStateLevelConstraint() {
HardActivityConstraint hardActivityLevelConstraint = new HardActivityConstraint() {
@Override
public ConstraintsStatus fulfilled(JobInsertionContext iFacts, TourActivity prevAct,TourActivity newAct, TourActivity nextAct, double prevActDepTime) {
@ -74,7 +72,7 @@ public class ServiceInsertionAndLoadConstraintsTest {
}
};
HardRouteStateLevelConstraint hardRouteLevelConstraint = new HardRouteStateLevelConstraint(){
HardRouteConstraint hardRouteLevelConstraint = new HardRouteConstraint(){
@Override
public boolean fulfilled(JobInsertionContext insertionContext) {
@ -101,7 +99,7 @@ public class ServiceInsertionAndLoadConstraintsTest {
vehicleRoutingProblem = mock(VehicleRoutingProblem.class);
}
private void createInsertionCalculator(HardRouteStateLevelConstraint hardRouteLevelConstraint) {
private void createInsertionCalculator(HardRouteConstraint hardRouteLevelConstraint) {
ConstraintManager constraintManager = new ConstraintManager(mock(VehicleRoutingProblem.class), mock(RouteAndActivityStateGetter.class));
constraintManager.addConstraint(hardRouteLevelConstraint);
insertionCalculator = new ShipmentInsertionCalculator(routingCosts, activityInsertionCostsCalculator, constraintManager);

View file

@ -70,7 +70,7 @@ public class ShipmentInsertionCalculatorTest {
};
HardActivityStateLevelConstraint hardActivityLevelConstraint = new HardActivityStateLevelConstraint() {
HardActivityConstraint hardActivityLevelConstraint = new HardActivityConstraint() {
@Override
public ConstraintsStatus fulfilled(JobInsertionContext iFacts, TourActivity prevAct,TourActivity newAct, TourActivity nextAct, double prevActDepTime) {
@ -78,7 +78,7 @@ public class ShipmentInsertionCalculatorTest {
}
};
HardRouteStateLevelConstraint hardRouteLevelConstraint = new HardRouteStateLevelConstraint(){
HardRouteConstraint hardRouteLevelConstraint = new HardRouteConstraint(){
@Override
public boolean fulfilled(JobInsertionContext insertionContext) {
@ -103,7 +103,7 @@ public class ShipmentInsertionCalculatorTest {
vehicleRoutingProblem = mock(VehicleRoutingProblem.class);
}
private void createInsertionCalculator(HardRouteStateLevelConstraint hardRouteLevelConstraint) {
private void createInsertionCalculator(HardRouteConstraint hardRouteLevelConstraint) {
ConstraintManager constraintManager = new ConstraintManager(mock(VehicleRoutingProblem.class), mock(RouteAndActivityStateGetter.class));
constraintManager.addConstraint(hardRouteLevelConstraint);
insertionCalculator = new ShipmentInsertionCalculator(routingCosts, activityInsertionCostsCalculator, constraintManager);
@ -160,7 +160,7 @@ public class ShipmentInsertionCalculatorTest {
VehicleRoute route = VehicleRoute.emptyRoute();
when(vehicleRoutingProblem.copyAndGetActivities(shipment)).thenReturn(getTourActivities(shipment));
new Inserter(new InsertionListeners(), vehicleRoutingProblem).insertJob(shipment, new InsertionData(0,0,0,vehicle,null), route);
createInsertionCalculator(new HardRouteStateLevelConstraint() {
createInsertionCalculator(new HardRouteConstraint() {
@Override
public boolean fulfilled(JobInsertionContext insertionContext) {

View file

@ -18,7 +18,7 @@ package jsprit.core.algorithm.state;
import jsprit.core.problem.Capacity;
import jsprit.core.problem.VehicleRoutingProblem;
import jsprit.core.problem.constraint.HardActivityStateLevelConstraint.ConstraintsStatus;
import jsprit.core.problem.constraint.HardActivityConstraint.ConstraintsStatus;
import jsprit.core.problem.constraint.PickupAndDeliverShipmentLoadActivityLevelConstraint;
import jsprit.core.problem.job.Service;
import jsprit.core.problem.job.Shipment;

View file

@ -137,9 +137,9 @@ public class LoadConstraintTest {
ServiceActivity newAct = mock(ServiceActivity.class);
when(newAct.getSize()).thenReturn(newSize);
HardActivityStateLevelConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context, serviceRoute.getStart(), newAct, serviceRoute.getActivities().get(0), 0.);
HardActivityConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context, serviceRoute.getStart(), newAct, serviceRoute.getActivities().get(0), 0.);
assertEquals(HardActivityStateLevelConstraint.ConstraintsStatus.FULFILLED,status);
assertEquals(HardActivityConstraint.ConstraintsStatus.FULFILLED,status);
}
@Test
@ -154,9 +154,9 @@ public class LoadConstraintTest {
ServiceActivity newAct = mock(ServiceActivity.class);
when(newAct.getSize()).thenReturn(newSize);
HardActivityStateLevelConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context, serviceRoute.getActivities().get(0), newAct, serviceRoute.getActivities().get(1), 0.);
HardActivityConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context, serviceRoute.getActivities().get(0), newAct, serviceRoute.getActivities().get(1), 0.);
assertEquals(HardActivityStateLevelConstraint.ConstraintsStatus.FULFILLED,status);
assertEquals(HardActivityConstraint.ConstraintsStatus.FULFILLED,status);
}
@Test
@ -171,9 +171,9 @@ public class LoadConstraintTest {
ServiceActivity newAct = mock(ServiceActivity.class);
when(newAct.getSize()).thenReturn(newSize);
HardActivityStateLevelConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context, serviceRoute.getActivities().get(1), newAct, serviceRoute.getEnd(), 0.);
HardActivityConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context, serviceRoute.getActivities().get(1), newAct, serviceRoute.getEnd(), 0.);
assertEquals(HardActivityStateLevelConstraint.ConstraintsStatus.FULFILLED,status);
assertEquals(HardActivityConstraint.ConstraintsStatus.FULFILLED,status);
}
/*
@ -191,9 +191,9 @@ public class LoadConstraintTest {
ServiceActivity newAct = mock(ServiceActivity.class);
when(newAct.getSize()).thenReturn(newSize);
HardActivityStateLevelConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context, serviceRoute.getStart(), newAct, serviceRoute.getActivities().get(0), 0.);
HardActivityConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context, serviceRoute.getStart(), newAct, serviceRoute.getActivities().get(0), 0.);
assertEquals(HardActivityStateLevelConstraint.ConstraintsStatus.NOT_FULFILLED, status);
assertEquals(HardActivityConstraint.ConstraintsStatus.NOT_FULFILLED, status);
}
@Test
@ -208,9 +208,9 @@ public class LoadConstraintTest {
ServiceActivity newAct = mock(ServiceActivity.class);
when(newAct.getSize()).thenReturn(newSize);
HardActivityStateLevelConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context, serviceRoute.getActivities().get(0), newAct, serviceRoute.getActivities().get(1), 0.);
HardActivityConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context, serviceRoute.getActivities().get(0), newAct, serviceRoute.getActivities().get(1), 0.);
assertEquals(HardActivityStateLevelConstraint.ConstraintsStatus.NOT_FULFILLED, status);
assertEquals(HardActivityConstraint.ConstraintsStatus.NOT_FULFILLED, status);
}
@Test
@ -225,9 +225,9 @@ public class LoadConstraintTest {
ServiceActivity newAct = mock(ServiceActivity.class);
when(newAct.getSize()).thenReturn(newSize);
HardActivityStateLevelConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context, serviceRoute.getActivities().get(1), newAct, serviceRoute.getEnd(), 0.);
HardActivityConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context, serviceRoute.getActivities().get(1), newAct, serviceRoute.getEnd(), 0.);
assertEquals(HardActivityStateLevelConstraint.ConstraintsStatus.NOT_FULFILLED, status);
assertEquals(HardActivityConstraint.ConstraintsStatus.NOT_FULFILLED, status);
}
@ -305,9 +305,9 @@ public class LoadConstraintTest {
JobInsertionContext context = new JobInsertionContext(pickup_delivery_route,s,pickup_delivery_route.getVehicle(),null,0.);
PickupService newAct = new PickupService(s);
HardActivityStateLevelConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context, pickup_delivery_route.getStart(), newAct, pickup_delivery_route.getActivities().get(0), 0.);
HardActivityConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context, pickup_delivery_route.getStart(), newAct, pickup_delivery_route.getActivities().get(0), 0.);
assertEquals(HardActivityStateLevelConstraint.ConstraintsStatus.FULFILLED,status);
assertEquals(HardActivityConstraint.ConstraintsStatus.FULFILLED,status);
}
@Test
@ -321,9 +321,9 @@ public class LoadConstraintTest {
JobInsertionContext context = new JobInsertionContext(pickup_delivery_route,s,pickup_delivery_route.getVehicle(),null,0.);
PickupService newAct = new PickupService(s);
HardActivityStateLevelConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context, pickup_delivery_route.getActivities().get(0), newAct, pickup_delivery_route.getActivities().get(1), 0.);
HardActivityConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context, pickup_delivery_route.getActivities().get(0), newAct, pickup_delivery_route.getActivities().get(1), 0.);
assertEquals(HardActivityStateLevelConstraint.ConstraintsStatus.FULFILLED,status);
assertEquals(HardActivityConstraint.ConstraintsStatus.FULFILLED,status);
}
@Test
@ -337,9 +337,9 @@ public class LoadConstraintTest {
JobInsertionContext context = new JobInsertionContext(pickup_delivery_route,s,pickup_delivery_route.getVehicle(),null,0.);
PickupService newAct = new PickupService(s);
HardActivityStateLevelConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context, pickup_delivery_route.getActivities().get(1), newAct, pickup_delivery_route.getEnd(), 0.);
HardActivityConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context, pickup_delivery_route.getActivities().get(1), newAct, pickup_delivery_route.getEnd(), 0.);
assertEquals(HardActivityStateLevelConstraint.ConstraintsStatus.FULFILLED,status);
assertEquals(HardActivityConstraint.ConstraintsStatus.FULFILLED,status);
}
/*
@ -356,9 +356,9 @@ public class LoadConstraintTest {
JobInsertionContext context = new JobInsertionContext(pickup_delivery_route,s,pickup_delivery_route.getVehicle(),null,0.);
PickupService newAct = new PickupService(s);
HardActivityStateLevelConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context, pickup_delivery_route.getStart(), newAct, pickup_delivery_route.getActivities().get(0), 0.);
HardActivityConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context, pickup_delivery_route.getStart(), newAct, pickup_delivery_route.getActivities().get(0), 0.);
assertEquals(HardActivityStateLevelConstraint.ConstraintsStatus.NOT_FULFILLED,status);
assertEquals(HardActivityConstraint.ConstraintsStatus.NOT_FULFILLED,status);
}
@Test
@ -372,9 +372,9 @@ public class LoadConstraintTest {
JobInsertionContext context = new JobInsertionContext(pickup_delivery_route,s,pickup_delivery_route.getVehicle(),null,0.);
PickupService newAct = new PickupService(s);
HardActivityStateLevelConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context, pickup_delivery_route.getActivities().get(0), newAct, pickup_delivery_route.getActivities().get(1), 0.);
HardActivityConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context, pickup_delivery_route.getActivities().get(0), newAct, pickup_delivery_route.getActivities().get(1), 0.);
assertEquals(HardActivityStateLevelConstraint.ConstraintsStatus.NOT_FULFILLED,status);
assertEquals(HardActivityConstraint.ConstraintsStatus.NOT_FULFILLED,status);
}
@Test
@ -388,9 +388,9 @@ public class LoadConstraintTest {
JobInsertionContext context = new JobInsertionContext(pickup_delivery_route,s,pickup_delivery_route.getVehicle(),null,0.);
PickupService newAct = new PickupService(s);
HardActivityStateLevelConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context, pickup_delivery_route.getActivities().get(1), newAct, pickup_delivery_route.getEnd(), 0.);
HardActivityConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context, pickup_delivery_route.getActivities().get(1), newAct, pickup_delivery_route.getEnd(), 0.);
assertEquals(HardActivityStateLevelConstraint.ConstraintsStatus.NOT_FULFILLED,status);
assertEquals(HardActivityConstraint.ConstraintsStatus.NOT_FULFILLED,status);
}
@ -408,9 +408,9 @@ public class LoadConstraintTest {
JobInsertionContext context = new JobInsertionContext(pickup_delivery_route,s,pickup_delivery_route.getVehicle(),null,0.);
DeliverService newAct = new DeliverService(s);
HardActivityStateLevelConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context, pickup_delivery_route.getStart(), newAct, pickup_delivery_route.getActivities().get(0), 0.);
HardActivityConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context, pickup_delivery_route.getStart(), newAct, pickup_delivery_route.getActivities().get(0), 0.);
assertEquals(HardActivityStateLevelConstraint.ConstraintsStatus.FULFILLED,status);
assertEquals(HardActivityConstraint.ConstraintsStatus.FULFILLED,status);
}
@Test
@ -424,9 +424,9 @@ public class LoadConstraintTest {
JobInsertionContext context = new JobInsertionContext(pickup_delivery_route,s,pickup_delivery_route.getVehicle(),null,0.);
DeliverService newAct = new DeliverService(s);
HardActivityStateLevelConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context, pickup_delivery_route.getStart(), newAct, pickup_delivery_route.getActivities().get(0), 0.);
HardActivityConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context, pickup_delivery_route.getStart(), newAct, pickup_delivery_route.getActivities().get(0), 0.);
assertEquals(HardActivityStateLevelConstraint.ConstraintsStatus.NOT_FULFILLED_BREAK,status);
assertEquals(HardActivityConstraint.ConstraintsStatus.NOT_FULFILLED_BREAK,status);
}
@Test
@ -440,9 +440,9 @@ public class LoadConstraintTest {
JobInsertionContext context = new JobInsertionContext(pickup_delivery_route,s,pickup_delivery_route.getVehicle(),null,0.);
DeliverService newAct = new DeliverService(s);
HardActivityStateLevelConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context, pickup_delivery_route.getActivities().get(0), newAct, pickup_delivery_route.getActivities().get(1), 0.);
HardActivityConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context, pickup_delivery_route.getActivities().get(0), newAct, pickup_delivery_route.getActivities().get(1), 0.);
assertEquals(HardActivityStateLevelConstraint.ConstraintsStatus.FULFILLED,status);
assertEquals(HardActivityConstraint.ConstraintsStatus.FULFILLED,status);
}
@Test
@ -456,9 +456,9 @@ public class LoadConstraintTest {
JobInsertionContext context = new JobInsertionContext(pickup_delivery_route,s,pickup_delivery_route.getVehicle(),null,0.);
DeliverService newAct = new DeliverService(s);
HardActivityStateLevelConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context, pickup_delivery_route.getActivities().get(0), newAct, pickup_delivery_route.getActivities().get(1), 0.);
HardActivityConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context, pickup_delivery_route.getActivities().get(0), newAct, pickup_delivery_route.getActivities().get(1), 0.);
assertEquals(HardActivityStateLevelConstraint.ConstraintsStatus.NOT_FULFILLED_BREAK,status);
assertEquals(HardActivityConstraint.ConstraintsStatus.NOT_FULFILLED_BREAK,status);
}
@Test
@ -472,9 +472,9 @@ public class LoadConstraintTest {
JobInsertionContext context = new JobInsertionContext(pickup_delivery_route,s,pickup_delivery_route.getVehicle(),null,0.);
DeliverService newAct = new DeliverService(s);
HardActivityStateLevelConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context, pickup_delivery_route.getActivities().get(1), newAct, pickup_delivery_route.getEnd(), 0.);
HardActivityConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context, pickup_delivery_route.getActivities().get(1), newAct, pickup_delivery_route.getEnd(), 0.);
assertEquals(HardActivityStateLevelConstraint.ConstraintsStatus.FULFILLED,status);
assertEquals(HardActivityConstraint.ConstraintsStatus.FULFILLED,status);
}
@Test
@ -488,9 +488,9 @@ public class LoadConstraintTest {
JobInsertionContext context = new JobInsertionContext(pickup_delivery_route,s,pickup_delivery_route.getVehicle(),null,0.);
DeliverService newAct = new DeliverService(s);
HardActivityStateLevelConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context, pickup_delivery_route.getActivities().get(1), newAct, pickup_delivery_route.getEnd(), 0.);
HardActivityConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context, pickup_delivery_route.getActivities().get(1), newAct, pickup_delivery_route.getEnd(), 0.);
assertEquals(HardActivityStateLevelConstraint.ConstraintsStatus.NOT_FULFILLED_BREAK,status);
assertEquals(HardActivityConstraint.ConstraintsStatus.NOT_FULFILLED_BREAK,status);
}
@Test
@ -505,9 +505,9 @@ public class LoadConstraintTest {
ServiceActivity newAct = mock(ServiceActivity.class);
when(newAct.getSize()).thenReturn(newSize);
HardActivityStateLevelConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context, serviceRoute.getActivities().get(0), newAct, serviceRoute.getActivities().get(1), 0.);
HardActivityConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context, serviceRoute.getActivities().get(0), newAct, serviceRoute.getActivities().get(1), 0.);
assertEquals(HardActivityStateLevelConstraint.ConstraintsStatus.FULFILLED, status);
assertEquals(HardActivityConstraint.ConstraintsStatus.FULFILLED, status);
}
@Test
@ -522,9 +522,9 @@ public class LoadConstraintTest {
ServiceActivity newAct = mock(ServiceActivity.class);
when(newAct.getSize()).thenReturn(newSize);
HardActivityStateLevelConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context, serviceRoute.getActivities().get(1), newAct, serviceRoute.getEnd(), 0.);
HardActivityConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context, serviceRoute.getActivities().get(1), newAct, serviceRoute.getEnd(), 0.);
assertEquals(HardActivityStateLevelConstraint.ConstraintsStatus.FULFILLED, status);
assertEquals(HardActivityConstraint.ConstraintsStatus.FULFILLED, status);
}
/*
@ -542,9 +542,9 @@ public class LoadConstraintTest {
ServiceActivity newAct = mock(ServiceActivity.class);
when(newAct.getSize()).thenReturn(newSize);
HardActivityStateLevelConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context, serviceRoute.getStart(), newAct, serviceRoute.getActivities().get(0), 0.);
HardActivityConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context, serviceRoute.getStart(), newAct, serviceRoute.getActivities().get(0), 0.);
assertEquals(HardActivityStateLevelConstraint.ConstraintsStatus.NOT_FULFILLED, status);
assertEquals(HardActivityConstraint.ConstraintsStatus.NOT_FULFILLED, status);
}
@Test
@ -559,9 +559,9 @@ public class LoadConstraintTest {
ServiceActivity newAct = mock(ServiceActivity.class);
when(newAct.getSize()).thenReturn(newSize);
HardActivityStateLevelConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context, serviceRoute.getActivities().get(0), newAct, serviceRoute.getActivities().get(1), 0.);
HardActivityConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context, serviceRoute.getActivities().get(0), newAct, serviceRoute.getActivities().get(1), 0.);
assertEquals(HardActivityStateLevelConstraint.ConstraintsStatus.NOT_FULFILLED, status);
assertEquals(HardActivityConstraint.ConstraintsStatus.NOT_FULFILLED, status);
}
@Test
@ -576,9 +576,9 @@ public class LoadConstraintTest {
ServiceActivity newAct = mock(ServiceActivity.class);
when(newAct.getSize()).thenReturn(newSize);
HardActivityStateLevelConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context, serviceRoute.getActivities().get(1), newAct, serviceRoute.getEnd(), 0.);
HardActivityConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context, serviceRoute.getActivities().get(1), newAct, serviceRoute.getEnd(), 0.);
assertEquals(HardActivityStateLevelConstraint.ConstraintsStatus.NOT_FULFILLED, status);
assertEquals(HardActivityConstraint.ConstraintsStatus.NOT_FULFILLED, status);
}
@ -612,9 +612,9 @@ pickup(s1) pickup(s2) delivery(s2) deliver(s1)
PickupShipment newAct = new PickupShipment(s);
PickupAndDeliverShipmentLoadActivityLevelConstraint loadConstraint = new PickupAndDeliverShipmentLoadActivityLevelConstraint(stateManager);
HardActivityStateLevelConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context,shipment_route.getStart(),newAct,shipment_route.getActivities().get(0),0.);
HardActivityConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context,shipment_route.getStart(),newAct,shipment_route.getActivities().get(0),0.);
assertEquals(HardActivityStateLevelConstraint.ConstraintsStatus.FULFILLED,status);
assertEquals(HardActivityConstraint.ConstraintsStatus.FULFILLED,status);
}
@ -629,9 +629,9 @@ pickup(s1) pickup(s2) delivery(s2) deliver(s1)
PickupShipment newAct = new PickupShipment(s);
PickupAndDeliverShipmentLoadActivityLevelConstraint loadConstraint = new PickupAndDeliverShipmentLoadActivityLevelConstraint(stateManager);
HardActivityStateLevelConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context,shipment_route.getStart(),newAct,shipment_route.getActivities().get(0),0.);
HardActivityConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context,shipment_route.getStart(),newAct,shipment_route.getActivities().get(0),0.);
assertEquals(HardActivityStateLevelConstraint.ConstraintsStatus.NOT_FULFILLED,status);
assertEquals(HardActivityConstraint.ConstraintsStatus.NOT_FULFILLED,status);
}
@ -646,9 +646,9 @@ pickup(s1) pickup(s2) delivery(s2) deliver(s1)
PickupShipment newAct = new PickupShipment(s);
PickupAndDeliverShipmentLoadActivityLevelConstraint loadConstraint = new PickupAndDeliverShipmentLoadActivityLevelConstraint(stateManager);
HardActivityStateLevelConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context,shipment_route.getActivities().get(0),newAct,shipment_route.getActivities().get(1),0.);
HardActivityConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context,shipment_route.getActivities().get(0),newAct,shipment_route.getActivities().get(1),0.);
assertEquals(HardActivityStateLevelConstraint.ConstraintsStatus.FULFILLED,status);
assertEquals(HardActivityConstraint.ConstraintsStatus.FULFILLED,status);
}
@ -663,9 +663,9 @@ pickup(s1) pickup(s2) delivery(s2) deliver(s1)
PickupShipment newAct = new PickupShipment(s);
PickupAndDeliverShipmentLoadActivityLevelConstraint loadConstraint = new PickupAndDeliverShipmentLoadActivityLevelConstraint(stateManager);
HardActivityStateLevelConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context,shipment_route.getActivities().get(0),newAct,shipment_route.getActivities().get(1),0.);
HardActivityConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context,shipment_route.getActivities().get(0),newAct,shipment_route.getActivities().get(1),0.);
assertEquals(HardActivityStateLevelConstraint.ConstraintsStatus.NOT_FULFILLED,status);
assertEquals(HardActivityConstraint.ConstraintsStatus.NOT_FULFILLED,status);
}
@ -680,9 +680,9 @@ pickup(s1) pickup(s2) delivery(s2) deliver(s1)
PickupShipment newAct = new PickupShipment(s);
PickupAndDeliverShipmentLoadActivityLevelConstraint loadConstraint = new PickupAndDeliverShipmentLoadActivityLevelConstraint(stateManager);
HardActivityStateLevelConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context,shipment_route.getActivities().get(1),newAct,shipment_route.getActivities().get(2),0.);
HardActivityConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context,shipment_route.getActivities().get(1),newAct,shipment_route.getActivities().get(2),0.);
assertEquals(HardActivityStateLevelConstraint.ConstraintsStatus.FULFILLED,status);
assertEquals(HardActivityConstraint.ConstraintsStatus.FULFILLED,status);
}
@ -697,9 +697,9 @@ pickup(s1) pickup(s2) delivery(s2) deliver(s1)
PickupShipment newAct = new PickupShipment(s);
PickupAndDeliverShipmentLoadActivityLevelConstraint loadConstraint = new PickupAndDeliverShipmentLoadActivityLevelConstraint(stateManager);
HardActivityStateLevelConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context,shipment_route.getActivities().get(1),newAct,shipment_route.getActivities().get(2),0.);
HardActivityConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context,shipment_route.getActivities().get(1),newAct,shipment_route.getActivities().get(2),0.);
assertEquals(HardActivityStateLevelConstraint.ConstraintsStatus.NOT_FULFILLED,status);
assertEquals(HardActivityConstraint.ConstraintsStatus.NOT_FULFILLED,status);
}
@ -714,9 +714,9 @@ pickup(s1) pickup(s2) delivery(s2) deliver(s1)
PickupShipment newAct = new PickupShipment(s);
PickupAndDeliverShipmentLoadActivityLevelConstraint loadConstraint = new PickupAndDeliverShipmentLoadActivityLevelConstraint(stateManager);
HardActivityStateLevelConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context,shipment_route.getActivities().get(2),newAct,shipment_route.getActivities().get(3),0.);
HardActivityConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context,shipment_route.getActivities().get(2),newAct,shipment_route.getActivities().get(3),0.);
assertEquals(HardActivityStateLevelConstraint.ConstraintsStatus.FULFILLED,status);
assertEquals(HardActivityConstraint.ConstraintsStatus.FULFILLED,status);
}
@ -731,9 +731,9 @@ pickup(s1) pickup(s2) delivery(s2) deliver(s1)
PickupShipment newAct = new PickupShipment(s);
PickupAndDeliverShipmentLoadActivityLevelConstraint loadConstraint = new PickupAndDeliverShipmentLoadActivityLevelConstraint(stateManager);
HardActivityStateLevelConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context,shipment_route.getActivities().get(2),newAct,shipment_route.getActivities().get(3),0.);
HardActivityConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context,shipment_route.getActivities().get(2),newAct,shipment_route.getActivities().get(3),0.);
assertEquals(HardActivityStateLevelConstraint.ConstraintsStatus.NOT_FULFILLED,status);
assertEquals(HardActivityConstraint.ConstraintsStatus.NOT_FULFILLED,status);
}
@ -748,9 +748,9 @@ pickup(s1) pickup(s2) delivery(s2) deliver(s1)
PickupShipment newAct = new PickupShipment(s);
PickupAndDeliverShipmentLoadActivityLevelConstraint loadConstraint = new PickupAndDeliverShipmentLoadActivityLevelConstraint(stateManager);
HardActivityStateLevelConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context,shipment_route.getActivities().get(3),newAct,shipment_route.getEnd(),0.);
HardActivityConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context,shipment_route.getActivities().get(3),newAct,shipment_route.getEnd(),0.);
assertEquals(HardActivityStateLevelConstraint.ConstraintsStatus.FULFILLED,status);
assertEquals(HardActivityConstraint.ConstraintsStatus.FULFILLED,status);
}
@ -765,9 +765,9 @@ pickup(s1) pickup(s2) delivery(s2) deliver(s1)
PickupShipment newAct = new PickupShipment(s);
PickupAndDeliverShipmentLoadActivityLevelConstraint loadConstraint = new PickupAndDeliverShipmentLoadActivityLevelConstraint(stateManager);
HardActivityStateLevelConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context,shipment_route.getActivities().get(3),newAct,shipment_route.getEnd(),0.);
HardActivityConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context,shipment_route.getActivities().get(3),newAct,shipment_route.getEnd(),0.);
assertEquals(HardActivityStateLevelConstraint.ConstraintsStatus.NOT_FULFILLED,status);
assertEquals(HardActivityConstraint.ConstraintsStatus.NOT_FULFILLED,status);
}
@ -786,9 +786,9 @@ pickup(s1) pickup(s2) delivery(s2) deliver(s1)
DeliverShipment newAct = new DeliverShipment(s);
PickupAndDeliverShipmentLoadActivityLevelConstraint loadConstraint = new PickupAndDeliverShipmentLoadActivityLevelConstraint(stateManager);
HardActivityStateLevelConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context,shipment_route.getStart(),newAct,shipment_route.getActivities().get(0),0.);
HardActivityConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context,shipment_route.getStart(),newAct,shipment_route.getActivities().get(0),0.);
assertEquals(HardActivityStateLevelConstraint.ConstraintsStatus.FULFILLED,status);
assertEquals(HardActivityConstraint.ConstraintsStatus.FULFILLED,status);
}
@ -803,9 +803,9 @@ pickup(s1) pickup(s2) delivery(s2) deliver(s1)
DeliverShipment newAct = new DeliverShipment(s);
PickupAndDeliverShipmentLoadActivityLevelConstraint loadConstraint = new PickupAndDeliverShipmentLoadActivityLevelConstraint(stateManager);
HardActivityStateLevelConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context,shipment_route.getStart(),newAct,shipment_route.getActivities().get(0),0.);
HardActivityConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context,shipment_route.getStart(),newAct,shipment_route.getActivities().get(0),0.);
assertEquals(HardActivityStateLevelConstraint.ConstraintsStatus.NOT_FULFILLED_BREAK,status);
assertEquals(HardActivityConstraint.ConstraintsStatus.NOT_FULFILLED_BREAK,status);
}
@ -820,9 +820,9 @@ pickup(s1) pickup(s2) delivery(s2) deliver(s1)
DeliverShipment newAct = new DeliverShipment(s);
PickupAndDeliverShipmentLoadActivityLevelConstraint loadConstraint = new PickupAndDeliverShipmentLoadActivityLevelConstraint(stateManager);
HardActivityStateLevelConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context,shipment_route.getActivities().get(0),newAct,shipment_route.getActivities().get(1),0.);
HardActivityConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context,shipment_route.getActivities().get(0),newAct,shipment_route.getActivities().get(1),0.);
assertEquals(HardActivityStateLevelConstraint.ConstraintsStatus.FULFILLED,status);
assertEquals(HardActivityConstraint.ConstraintsStatus.FULFILLED,status);
}
@ -837,9 +837,9 @@ pickup(s1) pickup(s2) delivery(s2) deliver(s1)
DeliverShipment newAct = new DeliverShipment(s);
PickupAndDeliverShipmentLoadActivityLevelConstraint loadConstraint = new PickupAndDeliverShipmentLoadActivityLevelConstraint(stateManager);
HardActivityStateLevelConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context,shipment_route.getActivities().get(0),newAct,shipment_route.getActivities().get(1),0.);
HardActivityConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context,shipment_route.getActivities().get(0),newAct,shipment_route.getActivities().get(1),0.);
assertEquals(HardActivityStateLevelConstraint.ConstraintsStatus.NOT_FULFILLED_BREAK,status);
assertEquals(HardActivityConstraint.ConstraintsStatus.NOT_FULFILLED_BREAK,status);
}
@ -854,9 +854,9 @@ pickup(s1) pickup(s2) delivery(s2) deliver(s1)
DeliverShipment newAct = new DeliverShipment(s);
PickupAndDeliverShipmentLoadActivityLevelConstraint loadConstraint = new PickupAndDeliverShipmentLoadActivityLevelConstraint(stateManager);
HardActivityStateLevelConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context,shipment_route.getActivities().get(1),newAct,shipment_route.getActivities().get(2),0.);
HardActivityConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context,shipment_route.getActivities().get(1),newAct,shipment_route.getActivities().get(2),0.);
assertEquals(HardActivityStateLevelConstraint.ConstraintsStatus.FULFILLED,status);
assertEquals(HardActivityConstraint.ConstraintsStatus.FULFILLED,status);
}
@ -871,9 +871,9 @@ pickup(s1) pickup(s2) delivery(s2) deliver(s1)
DeliverShipment newAct = new DeliverShipment(s);
PickupAndDeliverShipmentLoadActivityLevelConstraint loadConstraint = new PickupAndDeliverShipmentLoadActivityLevelConstraint(stateManager);
HardActivityStateLevelConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context,shipment_route.getActivities().get(1),newAct,shipment_route.getActivities().get(2),0.);
HardActivityConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context,shipment_route.getActivities().get(1),newAct,shipment_route.getActivities().get(2),0.);
assertEquals(HardActivityStateLevelConstraint.ConstraintsStatus.NOT_FULFILLED_BREAK,status);
assertEquals(HardActivityConstraint.ConstraintsStatus.NOT_FULFILLED_BREAK,status);
}
@ -888,9 +888,9 @@ pickup(s1) pickup(s2) delivery(s2) deliver(s1)
DeliverShipment newAct = new DeliverShipment(s);
PickupAndDeliverShipmentLoadActivityLevelConstraint loadConstraint = new PickupAndDeliverShipmentLoadActivityLevelConstraint(stateManager);
HardActivityStateLevelConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context,shipment_route.getActivities().get(2),newAct,shipment_route.getActivities().get(3),0.);
HardActivityConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context,shipment_route.getActivities().get(2),newAct,shipment_route.getActivities().get(3),0.);
assertEquals(HardActivityStateLevelConstraint.ConstraintsStatus.FULFILLED,status);
assertEquals(HardActivityConstraint.ConstraintsStatus.FULFILLED,status);
}
@ -905,9 +905,9 @@ pickup(s1) pickup(s2) delivery(s2) deliver(s1)
DeliverShipment newAct = new DeliverShipment(s);
PickupAndDeliverShipmentLoadActivityLevelConstraint loadConstraint = new PickupAndDeliverShipmentLoadActivityLevelConstraint(stateManager);
HardActivityStateLevelConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context,shipment_route.getActivities().get(2),newAct,shipment_route.getActivities().get(3),0.);
HardActivityConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context,shipment_route.getActivities().get(2),newAct,shipment_route.getActivities().get(3),0.);
assertEquals(HardActivityStateLevelConstraint.ConstraintsStatus.NOT_FULFILLED_BREAK,status);
assertEquals(HardActivityConstraint.ConstraintsStatus.NOT_FULFILLED_BREAK,status);
}
@ -922,9 +922,9 @@ pickup(s1) pickup(s2) delivery(s2) deliver(s1)
DeliverShipment newAct = new DeliverShipment(s);
PickupAndDeliverShipmentLoadActivityLevelConstraint loadConstraint = new PickupAndDeliverShipmentLoadActivityLevelConstraint(stateManager);
HardActivityStateLevelConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context,shipment_route.getActivities().get(3),newAct,shipment_route.getEnd(),0.);
HardActivityConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context,shipment_route.getActivities().get(3),newAct,shipment_route.getEnd(),0.);
assertEquals(HardActivityStateLevelConstraint.ConstraintsStatus.FULFILLED,status);
assertEquals(HardActivityConstraint.ConstraintsStatus.FULFILLED,status);
}
@ -939,9 +939,9 @@ pickup(s1) pickup(s2) delivery(s2) deliver(s1)
DeliverShipment newAct = new DeliverShipment(s);
PickupAndDeliverShipmentLoadActivityLevelConstraint loadConstraint = new PickupAndDeliverShipmentLoadActivityLevelConstraint(stateManager);
HardActivityStateLevelConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context,shipment_route.getActivities().get(3),newAct,shipment_route.getEnd(),0.);
HardActivityConstraint.ConstraintsStatus status = loadConstraint.fulfilled(context,shipment_route.getActivities().get(3),newAct,shipment_route.getEnd(),0.);
assertEquals(HardActivityStateLevelConstraint.ConstraintsStatus.NOT_FULFILLED_BREAK,status);
assertEquals(HardActivityConstraint.ConstraintsStatus.NOT_FULFILLED_BREAK,status);
}

View file

@ -1,3 +1,20 @@
/*******************************************************************************
* Copyright (C) 2014 Stefan Schroeder
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 3.0 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
******************************************************************************/
package jsprit.core.problem.constraint;
import jsprit.core.algorithm.state.StateManager;
@ -19,7 +36,7 @@ import static org.junit.Assert.assertTrue;
public class SkillConstraintTest {
private HardRouteStateLevelConstraint skillConstraint;
private HardRouteConstraint skillConstraint;
private VehicleRoute route;

View file

@ -1,33 +1,30 @@
/*******************************************************************************
* Copyright (c) 2014 Stefan Schroeder.
*
* Copyright (C) 2014 Stefan Schroeder
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* License as published by the Free Software Foundation; either
* version 3.0 of the License, or (at your option) any later version.
*
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
*
* Contributors:
* Stefan Schroeder - initial API and implementation
******************************************************************************/
package jsprit.core.problem.constraint;
import static org.junit.Assert.assertEquals;
import static org.mockito.Mockito.mock;
import jsprit.core.problem.VehicleRoutingProblem;
import jsprit.core.problem.solution.route.state.RouteAndActivityStateGetter;
import org.junit.Test;
import java.util.ArrayList;
import java.util.List;
import jsprit.core.problem.VehicleRoutingProblem;
import jsprit.core.problem.solution.route.state.RouteAndActivityStateGetter;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
import static org.mockito.Mockito.mock;
public class TestConstraintManager {
@ -35,7 +32,7 @@ public class TestConstraintManager {
public void whenGettingConstraintsViaConstructor_theyShouldBeResolvedCorrectly(){
List<Constraint> constraints = new ArrayList<Constraint>();
constraints.add(new ServiceDeliveriesFirstConstraint());
constraints.add(mock(HardRouteStateLevelConstraint.class));
constraints.add(mock(HardRouteConstraint.class));
ConstraintManager cManager = new ConstraintManager(mock(VehicleRoutingProblem.class),mock(RouteAndActivityStateGetter.class),constraints);
assertEquals(2,cManager.getConstraints().size());
}
@ -86,7 +83,7 @@ public class TestConstraintManager {
assertEquals(0,man.getConstraints().size());
man.addConstraint(c1);
man.addConstraint(c2);
assertEquals(2,man.getConstraints().size());
assertEquals(2, man.getConstraints().size());
}
}

View file

@ -1,3 +1,20 @@
/*******************************************************************************
* Copyright (C) 2014 Stefan Schroeder
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 3.0 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
******************************************************************************/
package jsprit.core.problem.constraint;
import jsprit.core.algorithm.state.InternalStates;
@ -143,10 +160,10 @@ public class VehicleDependentTimeWindowTest {
JobInsertionContext insertionContext = new JobInsertionContext(route,s4,vehicle,route.getDriver(),0.);
HardActivityStateLevelConstraint twConstraint = new VehicleDependentTimeWindowConstraints(stateManager,routingCosts);
HardActivityConstraint twConstraint = new VehicleDependentTimeWindowConstraints(stateManager,routingCosts);
HardActivityStateLevelConstraint.ConstraintsStatus status = twConstraint.fulfilled(insertionContext, route.getActivities().get(2), serviceAct, route.getEnd(), 30.);
assertTrue(status.equals(HardActivityStateLevelConstraint.ConstraintsStatus.FULFILLED));
HardActivityConstraint.ConstraintsStatus status = twConstraint.fulfilled(insertionContext, route.getActivities().get(2), serviceAct, route.getEnd(), 30.);
assertTrue(status.equals(HardActivityConstraint.ConstraintsStatus.FULFILLED));
}
@ -158,10 +175,10 @@ public class VehicleDependentTimeWindowTest {
JobInsertionContext insertionContext = new JobInsertionContext(route,s4,vehicle,route.getDriver(),0.);
HardActivityStateLevelConstraint twConstraint = new VehicleDependentTimeWindowConstraints(stateManager,routingCosts);
HardActivityConstraint twConstraint = new VehicleDependentTimeWindowConstraints(stateManager,routingCosts);
HardActivityStateLevelConstraint.ConstraintsStatus status = twConstraint.fulfilled(insertionContext, route.getActivities().get(2), serviceAct, route.getEnd(), 30.);
assertFalse(status.equals(HardActivityStateLevelConstraint.ConstraintsStatus.FULFILLED));
HardActivityConstraint.ConstraintsStatus status = twConstraint.fulfilled(insertionContext, route.getActivities().get(2), serviceAct, route.getEnd(), 30.);
assertFalse(status.equals(HardActivityConstraint.ConstraintsStatus.FULFILLED));
}
@ -173,13 +190,13 @@ public class VehicleDependentTimeWindowTest {
JobInsertionContext insertionContext = new JobInsertionContext(route,s4,vehicle,route.getDriver(),0.);
HardActivityStateLevelConstraint twConstraint = new VehicleDependentTimeWindowConstraints(stateManager,routingCosts);
HardActivityConstraint twConstraint = new VehicleDependentTimeWindowConstraints(stateManager,routingCosts);
/*
driverTime = 10 + 10 + 30 + 20 + 30 = 100
*/
// System.out.println("latest act1 " + stateManager.getActivityState());
HardActivityStateLevelConstraint.ConstraintsStatus status = twConstraint.fulfilled(insertionContext, route.getActivities().get(1), serviceAct, route.getActivities().get(2), 20.);
assertTrue(status.equals(HardActivityStateLevelConstraint.ConstraintsStatus.FULFILLED));
HardActivityConstraint.ConstraintsStatus status = twConstraint.fulfilled(insertionContext, route.getActivities().get(1), serviceAct, route.getActivities().get(2), 20.);
assertTrue(status.equals(HardActivityConstraint.ConstraintsStatus.FULFILLED));
}
@ -195,10 +212,10 @@ public class VehicleDependentTimeWindowTest {
driverTime = 10 + 10 + 31 + 21 + 30 = 102
*/
HardActivityStateLevelConstraint twConstraint = new VehicleDependentTimeWindowConstraints(stateManager,routingCosts);
HardActivityConstraint twConstraint = new VehicleDependentTimeWindowConstraints(stateManager,routingCosts);
HardActivityStateLevelConstraint.ConstraintsStatus status = twConstraint.fulfilled(insertionContext, route.getActivities().get(1), serviceAct, route.getActivities().get(2), 20.);
assertFalse(status.equals(HardActivityStateLevelConstraint.ConstraintsStatus.FULFILLED));
HardActivityConstraint.ConstraintsStatus status = twConstraint.fulfilled(insertionContext, route.getActivities().get(1), serviceAct, route.getActivities().get(2), 20.);
assertFalse(status.equals(HardActivityConstraint.ConstraintsStatus.FULFILLED));
}
@ -213,11 +230,11 @@ public class VehicleDependentTimeWindowTest {
JobInsertionContext insertionContext = new JobInsertionContext(route,s4,v2,route.getDriver(),0.);
HardActivityStateLevelConstraint twConstraint = new VehicleDependentTimeWindowConstraints(stateManager,routingCosts);
HardActivityConstraint twConstraint = new VehicleDependentTimeWindowConstraints(stateManager,routingCosts);
HardActivityStateLevelConstraint.ConstraintsStatus status = twConstraint.fulfilled(insertionContext, route.getActivities().get(2), serviceAct, route.getEnd(), 30.);
HardActivityConstraint.ConstraintsStatus status = twConstraint.fulfilled(insertionContext, route.getActivities().get(2), serviceAct, route.getEnd(), 30.);
assertFalse(status.equals(HardActivityStateLevelConstraint.ConstraintsStatus.FULFILLED));
assertFalse(status.equals(HardActivityConstraint.ConstraintsStatus.FULFILLED));
}
@ -232,10 +249,10 @@ public class VehicleDependentTimeWindowTest {
JobInsertionContext insertionContext = new JobInsertionContext(route,s4,v3,route.getDriver(),0.);
HardActivityStateLevelConstraint twConstraint = new VehicleDependentTimeWindowConstraints(stateManager,routingCosts);
HardActivityConstraint twConstraint = new VehicleDependentTimeWindowConstraints(stateManager,routingCosts);
HardActivityStateLevelConstraint.ConstraintsStatus status = twConstraint.fulfilled(insertionContext, route.getActivities().get(2), serviceAct, route.getEnd(), 30.);
assertFalse(status.equals(HardActivityStateLevelConstraint.ConstraintsStatus.FULFILLED));
HardActivityConstraint.ConstraintsStatus status = twConstraint.fulfilled(insertionContext, route.getActivities().get(2), serviceAct, route.getEnd(), 30.);
assertFalse(status.equals(HardActivityConstraint.ConstraintsStatus.FULFILLED));
}
@ -250,10 +267,10 @@ public class VehicleDependentTimeWindowTest {
JobInsertionContext insertionContext = new JobInsertionContext(route,s4,v4,route.getDriver(),0.);
HardActivityStateLevelConstraint twConstraint = new VehicleDependentTimeWindowConstraints(stateManager,routingCosts);
HardActivityConstraint twConstraint = new VehicleDependentTimeWindowConstraints(stateManager,routingCosts);
HardActivityStateLevelConstraint.ConstraintsStatus status = twConstraint.fulfilled(insertionContext, route.getActivities().get(2), serviceAct, route.getEnd(), 30.);
assertFalse(status.equals(HardActivityStateLevelConstraint.ConstraintsStatus.FULFILLED));
HardActivityConstraint.ConstraintsStatus status = twConstraint.fulfilled(insertionContext, route.getActivities().get(2), serviceAct, route.getEnd(), 30.);
assertFalse(status.equals(HardActivityConstraint.ConstraintsStatus.FULFILLED));
}
@ -268,10 +285,10 @@ public class VehicleDependentTimeWindowTest {
JobInsertionContext insertionContext = new JobInsertionContext(route,s4,v6,route.getDriver(),0.);
HardActivityStateLevelConstraint twConstraint = new VehicleDependentTimeWindowConstraints(stateManager,routingCosts);
HardActivityConstraint twConstraint = new VehicleDependentTimeWindowConstraints(stateManager,routingCosts);
HardActivityStateLevelConstraint.ConstraintsStatus status = twConstraint.fulfilled(insertionContext, route.getActivities().get(1), serviceAct, route.getActivities().get(2), 30.);
assertFalse(status.equals(HardActivityStateLevelConstraint.ConstraintsStatus.FULFILLED));
HardActivityConstraint.ConstraintsStatus status = twConstraint.fulfilled(insertionContext, route.getActivities().get(1), serviceAct, route.getActivities().get(2), 30.);
assertFalse(status.equals(HardActivityConstraint.ConstraintsStatus.FULFILLED));
}
@ -286,10 +303,10 @@ public class VehicleDependentTimeWindowTest {
JobInsertionContext insertionContext = new JobInsertionContext(route,s4,v6,route.getDriver(),0.);
HardActivityStateLevelConstraint twConstraint = new VehicleDependentTimeWindowConstraints(stateManager,routingCosts);
HardActivityConstraint twConstraint = new VehicleDependentTimeWindowConstraints(stateManager,routingCosts);
HardActivityStateLevelConstraint.ConstraintsStatus status = twConstraint.fulfilled(insertionContext, route.getActivities().get(0), serviceAct, route.getActivities().get(1), 10.);
assertFalse(status.equals(HardActivityStateLevelConstraint.ConstraintsStatus.FULFILLED));
HardActivityConstraint.ConstraintsStatus status = twConstraint.fulfilled(insertionContext, route.getActivities().get(0), serviceAct, route.getActivities().get(1), 10.);
assertFalse(status.equals(HardActivityConstraint.ConstraintsStatus.FULFILLED));
}
@ -304,10 +321,10 @@ public class VehicleDependentTimeWindowTest {
JobInsertionContext insertionContext = new JobInsertionContext(route,s4,v6,route.getDriver(),0.);
HardActivityStateLevelConstraint twConstraint = new VehicleDependentTimeWindowConstraints(stateManager,routingCosts);
HardActivityConstraint twConstraint = new VehicleDependentTimeWindowConstraints(stateManager,routingCosts);
HardActivityStateLevelConstraint.ConstraintsStatus status = twConstraint.fulfilled(insertionContext, route.getActivities().get(2), serviceAct, route.getEnd(), 30.);
assertTrue(status.equals(HardActivityStateLevelConstraint.ConstraintsStatus.FULFILLED));
HardActivityConstraint.ConstraintsStatus status = twConstraint.fulfilled(insertionContext, route.getActivities().get(2), serviceAct, route.getEnd(), 30.);
assertTrue(status.equals(HardActivityConstraint.ConstraintsStatus.FULFILLED));
}
@Test
@ -320,10 +337,10 @@ public class VehicleDependentTimeWindowTest {
JobInsertionContext insertionContext = new JobInsertionContext(route,s4,v5,route.getDriver(),60.);
HardActivityStateLevelConstraint twConstraint = new VehicleDependentTimeWindowConstraints(stateManager,routingCosts);
HardActivityConstraint twConstraint = new VehicleDependentTimeWindowConstraints(stateManager,routingCosts);
HardActivityStateLevelConstraint.ConstraintsStatus status = twConstraint.fulfilled(insertionContext, route.getActivities().get(2), serviceAct, route.getEnd(), 90.);
assertFalse(status.equals(HardActivityStateLevelConstraint.ConstraintsStatus.FULFILLED));
HardActivityConstraint.ConstraintsStatus status = twConstraint.fulfilled(insertionContext, route.getActivities().get(2), serviceAct, route.getEnd(), 90.);
assertFalse(status.equals(HardActivityConstraint.ConstraintsStatus.FULFILLED));
}