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;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import jsprit.core.problem.VehicleRoutingProblem;
|
||||
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.state.RouteAndActivityStateGetter;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
public class ConstraintManager implements HardActivityStateLevelConstraint, HardRouteStateLevelConstraint{
|
||||
|
||||
public static enum Priority {
|
||||
|
|
@ -96,4 +99,11 @@ public class ConstraintManager implements HardActivityStateLevelConstraint, Hard
|
|||
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.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import jsprit.core.problem.constraint.ConstraintManager.Priority;
|
||||
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
|
||||
public ConstraintsStatus fulfilled(JobInsertionContext iFacts, TourActivity prevAct, TourActivity newAct, TourActivity nextAct, double prevActDepTime) {
|
||||
ConstraintsStatus notFulfilled = null;
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ package jsprit.core.problem.constraint;
|
|||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
|
||||
import jsprit.core.problem.misc.JobInsertionContext;
|
||||
|
||||
|
|
@ -13,6 +14,8 @@ class HardRouteLevelConstraintManager implements HardRouteStateLevelConstraint {
|
|||
public void addConstraint(HardRouteStateLevelConstraint constraint){
|
||||
hardConstraints.add(constraint);
|
||||
}
|
||||
|
||||
Collection<HardRouteStateLevelConstraint> getConstraints(){ return Collections.unmodifiableCollection(hardConstraints); }
|
||||
|
||||
@Override
|
||||
public boolean fulfilled(JobInsertionContext insertionContext) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue