Interface INode
- All Superinterfaces:
IOptimizationElement,Serializable
- All Known Subinterfaces:
IPillarEventNode,IPillarExtendableNode,IPillarNode,IPillarTimeWindowGeoNode
- All Known Implementing Classes:
AbstractNode,EventNode,InducedIdleEventNode,PillarEventNode,PillarExtenbdableEventNode,PillarTimeWindowGeoNode,TimeWindowGeoNode
INode. Nodes are single work orders
to be performed within a schedule
(IOpeningHours). Each
node has different properties like skills, workload,
time-window, loading restrictions. Together with
IResource, Nodes build
the input for the optimization run.- Since:
- 21/08/2018
- Version:
- 30/09/2019
- Author:
- DNA
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.dna.jopt.member.unit.IOptimizationElement
IOptimizationElement.OptimizationElementFlavour -
Method Summary
Modifier and TypeMethodDescriptionvoidaddConstraint(IConstraint constraint) Adds aconstraintwhich limits theResourcesthat can serve thisNodeto those that have the specificQualificationto do so.voidaddNode2NodeRelation(INode2NodeRelation relation) Sets twoNodesin aRelation.voidaddQualification(IQualification qualification) Adds aIQualificationto theResource, which means that by adding aIConstraintto theINode, they are limited to whichNodesthey can give service.voidaddSubsequentSlaveNode(INode node) Adds a subsequent slave node, which need to be visited in direct succession.voidaddSubsequentSlaveNodes(List<INode> nodes) Adds a list of subsequent slave nodes, which need to be visited in direct succession.voidaddViolation(IViolation violation) Adds aIViolationtoNode.intThe number ofiterationstheNodeis still protected from being autofiltered.voidvoidRemoves allIConstraint.voiddetachResourceConstraints(String resId) Gets theAbstractNode.myAutoFilterViolationCollectorthat collected allIViolation.intDeprecated.longintDeprecated.longGets the base visit duration in millisGets theConstraintswhich limit theResourcesthat can serve thisNodeto those that have the specificQualificationto do so.intGets theAbstractNode.numCurrentProtectedExecutions, the default value is0.intdoubleGets thefixCost.intGets thepriority.doubleGets a costmultiplierfor this specificNode.intgetJointVisitDuration(ILogicEntityRoute ownerRoute) Deprecated.longgetJointVisitDurationMillis(ILogicEntityRoute ownerRoute) Gets theAbstractNode.getJointVisitDurationMillis(com.dna.jopt.member.bucket.route.ILogicEntityRoute), which is the reducedvisitDurationof aNodecaused by efficiency effects since severalNodesclose to one another.intdouble[]getLoad()Gets the amount of goods theResourceis getting added by visiting theResource.longDeprecated.Gets theRelationsof theNode.Gets theINodeColorof theNode.Map<Class<? extends IQualification>,IQualification> Gets theIQualificationof theResource.intintGets the total load of a specific good.intGets if it is allowed for aResourceto unload all itsCapacityof a specific good (dimension) at thisNode.Gets theIViolationof theNode.longgetVisitDurationMillis(ILogicEntityRoute ownerRoute) Gets the defined visit duration of a job at aNodein seconds.booleanChecks if all the data of theNodeshould be saved in aILogicRouteElementDetailItem.booleanChecks if theNodehas anyRelations.booleanChecks for route dependent visit duration.booleanbooleanChecks if theNodeis protected from being filtered.booleanChecks if theNodecan causeidle time.booleanChecks whether the job at theNodehas to be done within theIOpeningHoursor if theIResourceonly has to arrive and start the job within that time.booleanChecks if theNodeis aoffered Nodewhich has its ownAbstractNode.individualOfferedNodeMultiplier.booleanisOnBlackList(IResource res) booleanChecksisOptimizable, the default value istrue.booleanChecks if it is anoptional Nodeone of which theResourcemay visit in order to further be able to do its job (for example a waste dump or a packet station.The default value isfalse.booleanChecks if the node is aisPillarNode.booleanbooleanChecks if theNodecan be used as for anovernight stay.booleanChecks if the node was unassigned by theINodeUnassigner.booleanChecks if it is possible for theResourceto unload all itsCapacityat thisNode.booleanChecks if there are beneficial effects of a reducedvisitDurationsince severalNodesare close to one another.booleanChecks if theResource, if arriving early, has to wait until the start of theIOpeningHoursbefore being able to work.booleanbooleanChecks if is aNodeis awork Nodewhich is the default where aResourcehas a job to do.voidbooleanremoveConstraint(IConstraint removeConstraint) Removes theIConstraintfrom thisNode.booleanremoveNode2NodeRelations(INode2NodeRelation removeRelation) Removes aINode2NodeRelationfrom theNodevoidvoidvoidvoidsetAllowMoveToReduceFlexTime(boolean allowMoveToReduceFlexTime) voidsetAutoFilterConstraints(List<IAutoFilterNodeConstraint> autoFilterNodeConstraints) Sets aIConstraintat aNodefor which it could be filtered.voidsetConstraints(List<IConstraint> constraints) Sets theArrayList constraintswhich limit theResourcesthat can serve this* Nodeto those that have the specificQualificationto do so.voidsetFirstNodeInRouteImportance(int importance) voidsetFixCost(double fixCost) Sets thefixCostfor visiting theNode.voidsetHasRouteDependentVisitDuration(boolean hasRouteDependentVisitDuration) Sets the checks for route dependent visit duration.voidsetImportance(int priority) Sets thepriority/importance.voidsetIndividualOfferedNodeMultiplier(double individualOfferedNodeMultiplier) Sets themultiplierof the cost for this specificNode.voidsetIsCausingIdleTimeCost(boolean isCausingIdleTimeCost) SetsisCausingIdleTimeCost, the default value istrue.voidsetIsDutyHoursIncludesVisitDuration(boolean isDutyHoursIncludeVisitDuration) SetsisDutyHoursIncludesVisitDuration, if set to false, theDutyHoursact as an access window in which the work has to be started.voidsetIsOfferedNode(boolean isOfferedNode) Sets as aoffered Node.voidsetIsOptional(boolean isOptional) Sets theNodeas anoptional Node.booleansetIsReturnStart(Duration stayAtStartDuration) voidsetIsStayNode(boolean canBeResourceStay) SetsNodeas a possibleovernight stay Node.voidsetIsWorkNode(boolean isWorkNode) Sets theNodeas awork Nodewhich is the default where aResourcehas a job to do.voidsetJointVisitDuration(Duration visitDuration) If two or moreNodesare close to one another, thevisitDurationof theNodesafter the first one can be reduced since for example less loading and unloading time is needed .voidsetLastNodeInRouteImportance(int importance) voidsetLoad(double[] load) Sets the amount of goods theResourceis getting added by visiting theResource.voidsetLockdownTime(long lockdowntime) voidsetMinAutoFilterProtectedExecutions(int numProtectedExecutions) Sets a number ofiterationsof theOptimizerin which theNodeis protected from being filtered by theIAutoNodeFilter.voidsetMinimalVisitDuration(Duration minimalVisitDuration) voidsetNodeColor(INodeColor color) voidsetNodeDepot(INodeDepot depot) voidsetOptimizable(boolean isOptimizable) Sets if theNodecan still be moved around or if it is onlockdownand is fixed.voidsetOptimizable(boolean isOptimizable, boolean forceKeepLockdownTime) voidsetUnassigned(boolean unassigned) Sets theNodeto beunassigned, meaning not part of anyRoute.voidsetUnloadAll(boolean unloadAll) Allows theResourceto unload all itsCapacityat thisNodevoidsetUnloadAllDimension(int unloadAllDimension, int totalLoadDimension) Allows aResourceto unload all itsCapacityof a specific good (dimension) at thisNode.voidsetVisitDuration(int visitDuration) Deprecated.voidsetVisitDurationMillis(long visitDurationMillis) Sets the visit duration millis.voidsetWaitOnEarlyArrival(boolean waitOnEarlyArrival) Sets whether aResourcehas to wait when arriving before theIOpeningHoursof theNode.voidsetWaitOnEarlyArrivalFirstNode(boolean waitOnEarlyArrival) voidvoidtempSetActiveDutyHours(Set<Integer> tempActivateIndicesSet) Methods inherited from interface com.dna.jopt.member.unit.IOptimizationElement
forceSetId, getConstraintAliasId, getDistMatrixId, getDutyHours, getExtraInfo, getFlavour, getId, getLatitude, getLocationId, getLongitude, getNodeConnection, getNodeConnectionKeySet, getNodeConnections, getPosition, getPreferredHoursInteractionController, hasRealGeoLocation, putNodeConnection, putNodeConnectionFromElement, removeNodeConnection, setConstraintAliasId, setDistMatrixId, setDutyHours, setExtraInfo, setId, setLatitude, setLocationId, setLongitude, setPosition
-
Method Details
-
getVisitDurationMillis
Gets the defined visit duration of a job at aNodein seconds.- Parameters:
ownerRoute- the owner route- Returns:
- the long visit duration in millis.
-
hasRouteDependentVisitDuration
boolean hasRouteDependentVisitDuration()Checks for route dependent visit duration.- Returns:
- true, if successful
-
setHasRouteDependentVisitDuration
void setHasRouteDependentVisitDuration(boolean hasRouteDependentVisitDuration) Sets the checks for route dependent visit duration. Keep in mind: Some internal node classes do not accept a manipulation of the visit duration.- Parameters:
hasRouteDependentVisitDuration- the new checks for route dependent visit duration
-
getBaseVisitDurationMillis
long getBaseVisitDurationMillis()Gets the base visit duration in millis- Returns:
- the base visit duration
-
getBaseVisitDuration
int getBaseVisitDuration()Deprecated.Gets the base visit duration in seconds- Returns:
- the base visit duration
-
setVisitDuration
void setVisitDuration(int visitDuration) Deprecated.Sets the visit duration of a job at aNodein seconds.- Parameters:
visitDuration- the int new visit duration seconds.
-
setVisitDurationMillis
void setVisitDurationMillis(long visitDurationMillis) Sets the visit duration millis.- Parameters:
visitDurationMillis- the new visit duration millis
-
setMinimalVisitDuration
-
getMinVisitDurationMillis
long getMinVisitDurationMillis()Deprecated.Gets the min visit duration millis.- Returns:
- the min visit duration millis
-
setUnassigned
void setUnassigned(boolean unassigned) Sets theNodeto beunassigned, meaning not part of anyRoute. The default value isfalse.This method es bing used internally.
- Parameters:
unassigned- the boolean for the new unassigned
-
isUnassigned
boolean isUnassigned()Checks if the node was unassigned by theINodeUnassigner. Anunassigned Nodeis not part of anyRoute- Returns:
- boolean true if the node was unassigned
-
addViolation
Adds aIViolationtoNode. This method is used internally.- Parameters:
violation- the violation
-
getViolations
List<IViolation> getViolations()Gets theIViolationof theNode. Only has a non-empty list in case a result was requested.- Returns:
- the
List<IViolation> violations
-
setFixCost
void setFixCost(double fixCost) Sets thefixCostfor visiting theNode. The default value of thedoubleis 0.- Parameters:
fixCost- the double fixCost
-
getFixCost
double getFixCost()Gets thefixCost. The default value of thedoubleis 0. If using, e.g. inCompany or optional node feature setting a non-zero fixcost can make sense.- Returns:
- the double fixCost
-
isStayNode
boolean isStayNode()Checks if theNodecan be used as for anovernight stay. The default value isfalse.This allows the
Resourceto stay at thisNodeat the end of theRouteinstead of returning home and proceeding from there the next day. The Resource also needsIWorkingHours.getIsAvailableForStay()to be set totruein order to be able to stay there at the end of theRoute.- Returns:
- the boolean if a Resource can stay there
-
setIsStayNode
void setIsStayNode(boolean canBeResourceStay) SetsNodeas a possibleovernight stay Node.This allows the
Resourceto stay at thisNodeat the end of theRouteinstead of returning home and proceeding from there the next day. The Resource also needsIWorkingHours.getIsAvailableForStay()to be set totruein order to be able to stay there at the end of theRoute.- Parameters:
canBeResourceStay- if the boolean is set totruetheNodecan be used forovernight stays
-
isWorkNode
boolean isWorkNode()Checks if is aNodeis awork Nodewhich is the default where aResourcehas a job to do. This method is needed because it is possible to define aNodeas asetIsStayNode(boolean)but not as awork Node.- Returns:
- the boolean whether Resources can do work at this Node
-
setIsWorkNode
void setIsWorkNode(boolean isWorkNode) Sets theNodeas awork Nodewhich is the default where aResourcehas a job to do. This method is needed because it is possible to define aNodeas asetIsStayNode(boolean)but not as awork Node- Parameters:
isWorkNode- the boolean for theworkNode
-
isOfferedNode
boolean isOfferedNode()Checks if theNodeis aoffered Nodewhich has its ownAbstractNode.individualOfferedNodeMultiplier. Anoffered Nodeusually has a higher priority to be integrated into aRoutewhich is done by multiplying the cost for this specificNodewhen being missed.- Returns:
- the boolean
isOfferedNode
-
setIsOfferedNode
void setIsOfferedNode(boolean isOfferedNode) Sets as aoffered Node. The default value isfalse. When a node is marked as offered node more costs can arise when violating any of the constraints of the node. Anoffered Nodeusually has a higher priority to be integrated into aRoutewhich is done by multiplying the cost for this specificNodewhen being missed.- Parameters:
isOfferedNode- the boolean to be set- See Also:
-
getIndividualOfferedNodeMultiplier
double getIndividualOfferedNodeMultiplier()Gets a costmultiplierfor this specificNode.- Returns:
- the double
individualOfferedNodeMultiplier
-
setIndividualOfferedNodeMultiplier
void setIndividualOfferedNodeMultiplier(double individualOfferedNodeMultiplier) Sets themultiplierof the cost for this specificNode. The default value is 1. When using a higher value the default costs arising from not fulfilling any constraints of the node are multiplied by this factor, therefore giving theNodea higher priority to be given service on time.- Parameters:
individualOfferedNodeMultiplier- the double to be set
-
setImportance
void setImportance(int priority) Sets thepriority/importance. The default value is 1.- Parameters:
priority- the int priority to be set.
-
getImportance
int getImportance()Gets thepriority.- Returns:
- the int
priority
-
isWaitOnEarlyArrival
boolean isWaitOnEarlyArrival()Checks if theResource, if arriving early, has to wait until the start of theIOpeningHoursbefore being able to work. The default value istrue, in which case arriving too early meansidle time.- Returns:
- the boolean
waitOnEarlyArrival
-
setWaitOnEarlyArrival
void setWaitOnEarlyArrival(boolean waitOnEarlyArrival) Sets whether aResourcehas to wait when arriving before theIOpeningHoursof theNode. The default value istrue.When wait on early arrival is set to false, a visiting resource will start working right away. In contrast, if
WaitOnEarlyArrivalis set totrue, aResourcewill idle until aNodeopens based on its definedIWorkingHours.- Parameters:
waitOnEarlyArrival- the boolean to be set
-
isPillarNode
boolean isPillarNode()Checks if the node is aisPillarNode.PillarNodeswill only be served if theResourcearrives on time. If theResourceis arriving too late thePillarNodewill be skipped.- Returns:
- the boolean
isPillarNode
-
addNode2NodeRelation
Sets twoNodesin aRelation. AMasterNodehas to be served before aRelatedNode.For further explanation and implementation examples please see
INode2NodeRelation.- Parameters:
relation- theINode2NodeRelationto be added
-
getNode2NodeRelations
List<INode2NodeRelation> getNode2NodeRelations()Gets theRelationsof theNode.For further explanation and implementation examples please see
INode2NodeRelation.- Returns:
- the arraylist
List<INode2NodeRelation> node2NodeRelation
-
hasFullJobLevelRelations
boolean hasFullJobLevelRelations()Checks if all the data of theNodeshould be saved in aILogicRouteElementDetailItem. The default value isfalse.The only other instance when this data is saved is when a
ILogicRouteElementDetailItemis requested.- Returns:
- the
boolean hasFullJobLevelRelations
-
hasRelations
boolean hasRelations()Checks if theNodehas anyRelations.For further explanation and implementation examples of
Relationsplease seeINode2NodeRelation- Returns:
- the boolean
hasRelations
-
addConstraint
Adds aconstraintwhich limits theResourcesthat can serve thisNodeto those that have the specificQualificationto do so.For further explanations and implementation examples please see
TypeConstraintandTypeQualification.- Parameters:
constraint- theIconstraintto be added
-
getConstraints
List<IConstraint> getConstraints()Gets theConstraintswhich limit theResourcesthat can serve thisNodeto those that have the specificQualificationto do so.For further explanations and implementation examples please see
TypeConstraintandTypeQualification.- Returns:
- the
List<IConstraint> constraints
-
setConstraints
Sets theArrayList constraintswhich limit theResourcesthat can serve this* Nodeto those that have the specificQualificationto do so. Cannot benull.For further explanations and implementation examples please see
TypeConstraintandTypeQualification- Parameters:
constraints- theArraylist constraintsto be set
-
setLoad
void setLoad(double[] load) Sets the amount of goods theResourceis getting added by visiting theResource. Can be negative (delivering packages).- Parameters:
load- the double array- See Also:
-
getLoad
double[] getLoad()Gets the amount of goods theResourceis getting added by visiting theResource. Can be negative (delivering packages).- Returns:
- the double array loadv
- See Also:
-
setUnloadAll
void setUnloadAll(boolean unloadAll) Allows theResourceto unload all itsCapacityat thisNode- Parameters:
unloadAll- the boolean to be set- See Also:
-
isUnloadAll
boolean isUnloadAll()Checks if it is possible for theResourceto unload all itsCapacityat thisNode.- Returns:
- the boolean unloadAll
-
setUnloadAllDimension
void setUnloadAllDimension(int unloadAllDimension, int totalLoadDimension) Allows aResourceto unload all itsCapacityof a specific good (dimension) at thisNode.- Parameters:
unloadAllDimension- the int unloadAllDimensiontotalLoadDimension- the int totalLoadDimension
-
getUnloadAllDimension
int getUnloadAllDimension()Gets if it is allowed for aResourceto unload all itsCapacityof a specific good (dimension) at thisNode.- Returns:
- the int unloadAllDimension
-
getTotalLoadDimension
int getTotalLoadDimension()Gets the total load of a specific good.- Returns:
- the int totalLoadDimension
-
getAutoFilterViolationCollector
IAutoFilterViolationAndConstrainCollector getAutoFilterViolationCollector()Gets theAbstractNode.myAutoFilterViolationCollectorthat collected allIViolation.- Returns:
- the myAutoFilterViolationCollector
-
setAutoFilterConstraints
Sets aIConstraintat aNodefor which it could be filtered.- Parameters:
autoFilterNodeConstraints- the AutoFilterViolationAndConstraintCollector to be set
-
removeConstraint
Removes theIConstraintfrom thisNode.- Parameters:
removeConstraint- the constraint to be removed- Returns:
- the
List<IConstraint>constraints that were removed
-
removeNode2NodeRelations
Removes aINode2NodeRelationfrom theNode- Parameters:
removeRelation- the INode2NodeRelation that will be removed- Returns:
- the relation that was removed
-
setOptimizable
void setOptimizable(boolean isOptimizable) Sets if theNodecan still be moved around or if it is onlockdownand is fixed.- Parameters:
isOptimizable- the boolean isOptimizable to be set
-
isOptimizable
boolean isOptimizable()ChecksisOptimizable, the default value istrue.- Returns:
- the boolean isOptimizable
-
isDutyHoursIncludesVisitDuration
boolean isDutyHoursIncludesVisitDuration()Checks whether the job at theNodehas to be done within theIOpeningHoursor if theIResourceonly has to arrive and start the job within that time.- Returns:
- the boolean isDutyHoursIncludesVisitDuration
- See Also:
-
setIsDutyHoursIncludesVisitDuration
void setIsDutyHoursIncludesVisitDuration(boolean isDutyHoursIncludeVisitDuration) SetsisDutyHoursIncludesVisitDuration, if set to false, theDutyHoursact as an access window in which the work has to be started. If set totruethe work has to be finished within theDutyHours.- Parameters:
isDutyHoursIncludeVisitDuration- the boolean if the work has to be done within the Dutyhours
-
setJointVisitDuration
If two or moreNodesare close to one another, thevisitDurationof theNodesafter the first one can be reduced since for example less loading and unloading time is needed . Sets the reducedvisitDurationfor theseNodesinstead of the normal visit duration.- Parameters:
visitDuration- the duration of the reduced visit
-
getJointVisitDuration
Deprecated.Gets the jointVisitDuration, which is the reducedvisitDurationof aNodecaused by efficiency effects since severalNodesclose to one another.- Parameters:
ownerRoute- the owner route- Returns:
- the joint visit duration
-
getJointVisitDurationMillis
Gets theAbstractNode.getJointVisitDurationMillis(com.dna.jopt.member.bucket.route.ILogicEntityRoute), which is the reducedvisitDurationof aNodecaused by efficiency effects since severalNodesclose to one another.- Parameters:
ownerRoute- the owner route- Returns:
- the joint visit duration
-
isUseJointVisitDuration
boolean isUseJointVisitDuration()Checks if there are beneficial effects of a reducedvisitDurationsince severalNodesare close to one another. The default value isfalse.Will be set to
truebysetJointVisitDuration(Duration).- Returns:
- the boolean if
visitDurationis reduced
-
setIsCausingIdleTimeCost
void setIsCausingIdleTimeCost(boolean isCausingIdleTimeCost) SetsisCausingIdleTimeCost, the default value istrue. WhenisWaitOnEarlyArrival()is true, a resource can generate idle time at a node. However, in a partially loaded optimization (so the amount of available working time of the resources is much higher than the required working time at the nodes) with tightIOpeningHoursof the nodes, a lot of idle time can arise, as resources have to wait till nodes are opening and have nothing else to do. This can lead to bad optimization results, as the optimizer tries to avoid idle time and whitespace.By setting
isCausingIdleTimeCostto false, idle time at this node does not generate cost.- Parameters:
isCausingIdleTimeCost- the boolean to be set
-
isCausingIdleTimeCost
boolean isCausingIdleTimeCost()Checks if theNodecan causeidle time. If set tofalsetheNodestill causesidle timebut at no cost. The default value istrue.- Returns:
- the boolean
isCausingIdleTimeCost
-
setIsOptional
void setIsOptional(boolean isOptional) Sets theNodeas anoptional Node. TheResourcecan go to one of manyoptional Nodesto do a task (for example dump waste, get new packets to deliver) but does not have to go to a specificoptional Node.- Parameters:
isOptional- the boolean to set the Node as an optional Node
-
isOptional
boolean isOptional()Checks if it is anoptional Nodeone of which theResourcemay visit in order to further be able to do its job (for example a waste dump or a packet station.The default value isfalse.- Returns:
- the boolean to be checked
-
setNodeColor
Sets theINodeColorto theNodeby adding aNodeColorCapacityItem. By usingIWorkingHours.addNodeColorCapacity(NodeColorCapacityItem)it limits the amount ofColorcodedNodesaResourcecan give service to. This way can be made sure thatNodeswith a certainColorare not overrepresented and can be used for white space generation. The default value isNodeColors.DEFAULT.- Parameters:
color- theiNodeColor
-
getNodeColor
INodeColor getNodeColor()- Returns:
- the
iNodeColor
-
isAutoFilterProtected
boolean isAutoFilterProtected()Checks if theNodeis protected from being filtered.- Returns:
trueif the condition allows
-
setMinAutoFilterProtectedExecutions
void setMinAutoFilterProtectedExecutions(int numProtectedExecutions) Sets a number ofiterationsof theOptimizerin which theNodeis protected from being filtered by theIAutoNodeFilter.- Parameters:
numProtectedExecutions- the int value
-
decrementCurrentAutoFilterProtectedExecutions
int decrementCurrentAutoFilterProtectedExecutions()The number ofiterationstheNodeis still protected from being autofiltered.- Returns:
- the int numCurrentProtectedExecutions
-
getCurrentLeftAutoFilterProtectedExecutions
int getCurrentLeftAutoFilterProtectedExecutions()Gets theAbstractNode.numCurrentProtectedExecutions, the default value is0.- Returns:
- the
-
detachResourceConstraints
void detachResourceConstraints()Removes allIConstraint. This method is used internally. -
detachResourceConstraints
Removes theIResourcewith the givenresIdfrom theIConstraintthat areIConstraintResource. This method is used internally.- Parameters:
resId- the string Resource /D
-
getLastKnownAttachedAndRemovedResIds
-
addQualification
Adds aIQualificationto theResource, which means that by adding aIConstraintto theINode, they are limited to whichNodesthey can give service.Used in
UKPostCodeConstraint.- Parameters:
qualification- the iQualification that is to be added
-
getQualifications
Map<Class<? extends IQualification>,IQualification> getQualifications()Gets theIQualificationof theResource.- Returns:
- the node qualifications
- See Also:
-
addSubsequentSlaveNode
Adds a subsequent slave node, which need to be visited in direct succession. The slave node should not be added directly to the optimization.- Parameters:
node- the subsequent slave node
-
addSubsequentSlaveNodes
Adds a list of subsequent slave nodes, which need to be visited in direct succession. The slave nodes should not be added directly to the optimization.- Parameters:
nodes- the subsequent slave nodes
-
getSubsequentSlaveNodes
-
resetSubsequentSlaveNodes
void resetSubsequentSlaveNodes() -
getOriginalDutyHours
List<IDutyHours> getOriginalDutyHours() -
tempSetActiveDutyHours
-
resetDutyHoursTempActivation
void resetDutyHoursTempActivation() -
setNodeDepot
-
getNodeDepot
Optional<INodeDepot> getNodeDepot() -
detachNodeRelations
void detachNodeRelations() -
setWaitOnEarlyArrivalFirstNode
void setWaitOnEarlyArrivalFirstNode(boolean waitOnEarlyArrival) -
isWaitOnEarlyArrivalFirstNode
boolean isWaitOnEarlyArrivalFirstNode() -
setFirstNodeInRouteImportance
void setFirstNodeInRouteImportance(int importance) -
getFirstNodeInRouteImportance
int getFirstNodeInRouteImportance() -
setLastNodeInRouteImportance
void setLastNodeInRouteImportance(int importance) -
getLastNodeInRouteImportance
int getLastNodeInRouteImportance() -
setLockdownTime
void setLockdownTime(long lockdowntime) -
getLockdownTime
-
getBaseJointVisitDuration
Deprecated. -
getBaseJointVisitDurationMillis
long getBaseJointVisitDurationMillis() -
setOptimizable
void setOptimizable(boolean isOptimizable, boolean forceKeepLockdownTime) -
isReturnStart
boolean isReturnStart() -
setIsReturnStart
-
getStayAtStartDuration
Duration getStayAtStartDuration() -
resetLockdownTime
void resetLockdownTime() -
tempIncreaseImplausibleScore
void tempIncreaseImplausibleScore() -
getTempImplausibleScore
int getTempImplausibleScore() -
setAllowMoveToReduceFlexTime
void setAllowMoveToReduceFlexTime(boolean allowMoveToReduceFlexTime) -
isAllowMoveToReduceFlexTime
boolean isAllowMoveToReduceFlexTime() -
putResourceToBlacklist
-
isOnBlackList
-