mirror of
https://github.com/graphhopper/jsprit.git
synced 2020-01-24 07:45:05 +01:00
added problem states
This commit is contained in:
parent
959b467ac7
commit
2f636fc07b
1 changed files with 32 additions and 2 deletions
|
|
@ -74,12 +74,24 @@ public class StateManager implements RouteAndActivityStateGetter, IterationStart
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean containsKey(StateId stateId){
|
||||||
|
return states.containsKey(stateId);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void clear(){
|
||||||
|
states.clear();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private Map<VehicleRoute,States_> vehicleRouteStates_ = new HashMap<VehicleRoute, States_>();
|
private Map<VehicleRoute,States_> vehicleRouteStates_ = new HashMap<VehicleRoute, States_>();
|
||||||
|
|
||||||
private Map<TourActivity,States_> activityStates_ = new HashMap<TourActivity, States_>();
|
private Map<TourActivity,States_> activityStates_ = new HashMap<TourActivity, States_>();
|
||||||
|
|
||||||
|
private States_ problemStates_ = new States_();
|
||||||
|
|
||||||
|
private States_ defaultProblemStates_ = new States_();
|
||||||
|
|
||||||
private RouteActivityVisitor routeActivityVisitor = new RouteActivityVisitor();
|
private RouteActivityVisitor routeActivityVisitor = new RouteActivityVisitor();
|
||||||
|
|
||||||
private ReverseRouteActivityVisitor revRouteActivityVisitor = new ReverseRouteActivityVisitor();
|
private ReverseRouteActivityVisitor revRouteActivityVisitor = new ReverseRouteActivityVisitor();
|
||||||
|
|
@ -115,8 +127,6 @@ public class StateManager implements RouteAndActivityStateGetter, IterationStart
|
||||||
|
|
||||||
private void addDefaultStates() {
|
private void addDefaultStates() {
|
||||||
defaultActivityStates_.put(StateFactory.LOAD, Capacity.Builder.newInstance().build());
|
defaultActivityStates_.put(StateFactory.LOAD, Capacity.Builder.newInstance().build());
|
||||||
|
|
||||||
|
|
||||||
defaultActivityStates_.put(StateFactory.COSTS, 0.);
|
defaultActivityStates_.put(StateFactory.COSTS, 0.);
|
||||||
defaultActivityStates_.put(StateFactory.DURATION, 0.);
|
defaultActivityStates_.put(StateFactory.DURATION, 0.);
|
||||||
defaultActivityStates_.put(StateFactory.FUTURE_MAXLOAD, Capacity.Builder.newInstance().build());
|
defaultActivityStates_.put(StateFactory.FUTURE_MAXLOAD, Capacity.Builder.newInstance().build());
|
||||||
|
|
@ -141,6 +151,25 @@ public class StateManager implements RouteAndActivityStateGetter, IterationStart
|
||||||
addDefaultStates();
|
addDefaultStates();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public <T> void putDefaultProblemState(StateId stateId, Class<T> type, T defaultState){
|
||||||
|
defaultProblemStates_.putState(stateId, type, defaultState);
|
||||||
|
}
|
||||||
|
|
||||||
|
public <T> void putProblemState(StateId stateId, Class<T> type, T state){
|
||||||
|
problemStates_.putState(stateId, type, state);
|
||||||
|
}
|
||||||
|
|
||||||
|
public <T> T getProblemState(StateId stateId, Class<T> type){
|
||||||
|
if(!problemStates_.containsKey(stateId)){
|
||||||
|
return getDefaultProblemState(stateId, type);
|
||||||
|
}
|
||||||
|
return problemStates_.getState(stateId, type);
|
||||||
|
}
|
||||||
|
|
||||||
|
<T> T getDefaultProblemState(StateId stateId, Class<T> type){
|
||||||
|
return defaultProblemStates_.getState(stateId, type);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @deprecated use the generic methode <code>addDefaultRouteState(StateId stateId, Class<T> type, T defaultState)</code> instead.
|
* @deprecated use the generic methode <code>addDefaultRouteState(StateId stateId, Class<T> type, T defaultState)</code> instead.
|
||||||
* @param stateId
|
* @param stateId
|
||||||
|
|
@ -196,6 +225,7 @@ public class StateManager implements RouteAndActivityStateGetter, IterationStart
|
||||||
public void clear(){
|
public void clear(){
|
||||||
vehicleRouteStates_.clear();
|
vehicleRouteStates_.clear();
|
||||||
activityStates_.clear();
|
activityStates_.clear();
|
||||||
|
problemStates_.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue