mirror of
https://github.com/graphhopper/jsprit.git
synced 2020-01-24 07:45:05 +01:00
add Getters to get constraints
This commit is contained in:
parent
3bf977784e
commit
257c0a6ebe
3 changed files with 31 additions and 2 deletions
|
|
@ -1,8 +1,9 @@
|
||||||
package jsprit.core.problem.constraint;
|
package jsprit.core.problem.constraint;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
import java.util.Collections;
|
||||||
import org.apache.log4j.Logger;
|
import java.util.List;
|
||||||
|
|
||||||
import jsprit.core.problem.VehicleRoutingProblem;
|
import jsprit.core.problem.VehicleRoutingProblem;
|
||||||
import jsprit.core.problem.VehicleRoutingProblem.Constraint;
|
import jsprit.core.problem.VehicleRoutingProblem.Constraint;
|
||||||
|
|
@ -10,6 +11,8 @@ import jsprit.core.problem.misc.JobInsertionContext;
|
||||||
import jsprit.core.problem.solution.route.activity.TourActivity;
|
import jsprit.core.problem.solution.route.activity.TourActivity;
|
||||||
import jsprit.core.problem.solution.route.state.RouteAndActivityStateGetter;
|
import jsprit.core.problem.solution.route.state.RouteAndActivityStateGetter;
|
||||||
|
|
||||||
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
public class ConstraintManager implements HardActivityStateLevelConstraint, HardRouteStateLevelConstraint{
|
public class ConstraintManager implements HardActivityStateLevelConstraint, HardRouteStateLevelConstraint{
|
||||||
|
|
||||||
public static enum Priority {
|
public static enum Priority {
|
||||||
|
|
@ -96,4 +99,11 @@ public class ConstraintManager implements HardActivityStateLevelConstraint, Hard
|
||||||
return actLevelConstraintManager.fulfilled(iFacts, prevAct, newAct, nextAct, prevActDepTime);
|
return actLevelConstraintManager.fulfilled(iFacts, prevAct, newAct, nextAct, prevActDepTime);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Collection<jsprit.core.problem.constraint.Constraint> getConstraints(){
|
||||||
|
List<jsprit.core.problem.constraint.Constraint> constraints = new ArrayList<jsprit.core.problem.constraint.Constraint>();
|
||||||
|
constraints.addAll(actLevelConstraintManager.getAllConstraints());
|
||||||
|
constraints.addAll(routeLevelConstraintManager.getConstraints());
|
||||||
|
return Collections.unmodifiableCollection(constraints);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -2,6 +2,8 @@ package jsprit.core.problem.constraint;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import jsprit.core.problem.constraint.ConstraintManager.Priority;
|
import jsprit.core.problem.constraint.ConstraintManager.Priority;
|
||||||
import jsprit.core.problem.misc.JobInsertionContext;
|
import jsprit.core.problem.misc.JobInsertionContext;
|
||||||
|
|
@ -28,6 +30,20 @@ class HardActivityLevelConstraintManager implements HardActivityStateLevelConstr
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Collection<HardActivityStateLevelConstraint> getCriticalConstraints(){ return Collections.unmodifiableCollection(criticalConstraints); }
|
||||||
|
|
||||||
|
Collection<HardActivityStateLevelConstraint> getHighPrioConstraints(){ return Collections.unmodifiableCollection(highPrioConstraints); }
|
||||||
|
|
||||||
|
Collection<HardActivityStateLevelConstraint> getLowPrioConstraints(){ return Collections.unmodifiableCollection(lowPrioConstraints); }
|
||||||
|
|
||||||
|
Collection<HardActivityStateLevelConstraint> getAllConstraints(){
|
||||||
|
List<HardActivityStateLevelConstraint> c = new ArrayList<HardActivityStateLevelConstraint>();
|
||||||
|
c.addAll(criticalConstraints);
|
||||||
|
c.addAll(highPrioConstraints);
|
||||||
|
c.addAll(lowPrioConstraints);
|
||||||
|
return Collections.unmodifiableCollection(c);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ConstraintsStatus fulfilled(JobInsertionContext iFacts, TourActivity prevAct, TourActivity newAct, TourActivity nextAct, double prevActDepTime) {
|
public ConstraintsStatus fulfilled(JobInsertionContext iFacts, TourActivity prevAct, TourActivity newAct, TourActivity nextAct, double prevActDepTime) {
|
||||||
ConstraintsStatus notFulfilled = null;
|
ConstraintsStatus notFulfilled = null;
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package jsprit.core.problem.constraint;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
import java.util.Collections;
|
||||||
|
|
||||||
import jsprit.core.problem.misc.JobInsertionContext;
|
import jsprit.core.problem.misc.JobInsertionContext;
|
||||||
|
|
||||||
|
|
@ -14,6 +15,8 @@ class HardRouteLevelConstraintManager implements HardRouteStateLevelConstraint {
|
||||||
hardConstraints.add(constraint);
|
hardConstraints.add(constraint);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Collection<HardRouteStateLevelConstraint> getConstraints(){ return Collections.unmodifiableCollection(hardConstraints); }
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean fulfilled(JobInsertionContext insertionContext) {
|
public boolean fulfilled(JobInsertionContext insertionContext) {
|
||||||
for(HardRouteStateLevelConstraint constraint : hardConstraints){
|
for(HardRouteStateLevelConstraint constraint : hardConstraints){
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue