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 TypeMethodDescriptionvoid
addConstraint
(IConstraint constraint) Adds aconstraint
which limits theResources
that can serve thisNode
to those that have the specificQualification
to do so.void
addNode2NodeRelation
(INode2NodeRelation relation) Sets twoNodes
in aRelation
.void
addQualification
(IQualification qualification) Adds aIQualification
to theResource
, which means that by adding aIConstraint
to theINode
, they are limited to whichNodes
they can give service.void
addSubsequentSlaveNode
(INode node) Adds a subsequent slave node, which need to be visited in direct succession.void
addSubsequentSlaveNodes
(List<INode> nodes) Adds a list of subsequent slave nodes, which need to be visited in direct succession.void
addViolation
(IViolation violation) Adds aIViolation
toNode
.int
The number ofiterations
theNode
is still protected from being autofiltered.void
void
Removes allIConstraint
.void
detachResourceConstraints
(String resId) Gets theAbstractNode.myAutoFilterViolationCollector
that collected allIViolation
.int
Deprecated.long
int
Deprecated.long
Gets the base visit duration in millisGets theConstraints
which limit theResources
that can serve thisNode
to those that have the specificQualification
to do so.int
Gets theAbstractNode.numCurrentProtectedExecutions
, the default value is0
.int
double
Gets thefixCost
.int
Gets thepriority
.double
Gets a costmultiplier
for this specificNode
.int
getJointVisitDuration
(ILogicEntityRoute ownerRoute) Deprecated.long
getJointVisitDurationMillis
(ILogicEntityRoute ownerRoute) Gets theAbstractNode.getJointVisitDurationMillis(com.dna.jopt.member.bucket.route.ILogicEntityRoute)
, which is the reducedvisitDuration
of aNode
caused by efficiency effects since severalNodes
close to one another.int
double[]
getLoad()
Gets the amount of goods theResource
is getting added by visiting theResource
.long
Deprecated.Gets theRelations
of theNode
.Gets theINodeColor
of theNode
.Map<Class<? extends IQualification>,
IQualification> Gets theIQualification
of theResource
.int
int
Gets the total load of a specific good.int
Gets if it is allowed for aResource
to unload all itsCapacity
of a specific good (dimension
) at thisNode
.Gets theIViolation
of theNode
.long
getVisitDurationMillis
(ILogicEntityRoute ownerRoute) Gets the defined visit duration of a job at aNode
in seconds.boolean
Checks if all the data of theNode
should be saved in aILogicRouteElementDetailItem
.boolean
Checks if theNode
has anyRelations
.boolean
Checks for route dependent visit duration.boolean
boolean
Checks if theNode
is protected from being filtered.boolean
Checks if theNode
can causeidle time
.boolean
Checks whether the job at theNode
has to be done within theIOpeningHours
or if theIResource
only has to arrive and start the job within that time.boolean
Checks if theNode
is aoffered Node
which has its ownAbstractNode.individualOfferedNodeMultiplier
.boolean
ChecksisOptimizable
, the default value istrue
.boolean
Checks if it is anoptional Node
one of which theResource
may visit in order to further be able to do its job (for example a waste dump or a packet station.The default value isfalse
.boolean
Checks if the node is aisPillarNode
.boolean
boolean
Checks if theNode
can be used as for anovernight stay
.boolean
Checks if the node was unassigned by theINodeUnassigner
.boolean
Checks if it is possible for theResource
to unload all itsCapacity
at thisNode
.boolean
Checks if there are beneficial effects of a reducedvisitDuration
since severalNodes
are close to one another.boolean
Checks if theResource
, if arriving early, has to wait until the start of theIOpeningHours
before being able to work.boolean
boolean
Checks if is aNode
is awork Node
which is the default where aResource
has a job to do.boolean
removeConstraint
(IConstraint removeConstraint) Removes theIConstraint
from thisNode
.boolean
removeNode2NodeRelations
(INode2NodeRelation removeRelation) Removes aINode2NodeRelation
from theNode
void
void
void
void
setAllowMoveToReduceFlexTime
(boolean allowMoveToReduceFlexTime) void
setAutoFilterConstraints
(List<IAutoFilterNodeConstraint> autoFilterNodeConstraints) Sets aIConstraint
at aNode
for which it could be filtered.void
setConstraints
(List<IConstraint> constraints) Sets theArrayList constraints
which limit theResources
that can serve this* Node
to those that have the specificQualification
to do so.void
setFirstNodeInRouteImportance
(int importance) void
setFixCost
(double fixCost) Sets thefixCost
for visiting theNode
.void
setHasRouteDependentVisitDuration
(boolean hasRouteDependentVisitDuration) Sets the checks for route dependent visit duration.void
setImportance
(int priority) Sets thepriority/importance
.void
setIndividualOfferedNodeMultiplier
(double individualOfferedNodeMultiplier) Sets themultiplier
of the cost for this specificNode
.void
setIsCausingIdleTimeCost
(boolean isCausingIdleTimeCost) SetsisCausingIdleTimeCost
, the default value istrue
.void
setIsDutyHoursIncludesVisitDuration
(boolean isDutyHoursIncludeVisitDuration) SetsisDutyHoursIncludesVisitDuration
, if set to false, theDutyHours
act as an access window in which the work has to be started.void
setIsOfferedNode
(boolean isOfferedNode) Sets as aoffered Node
.void
setIsOptional
(boolean isOptional) Sets theNode
as anoptional Node
.boolean
setIsReturnStart
(Duration stayAtStartDuration) void
setIsStayNode
(boolean canBeResourceStay) SetsNode
as a possibleovernight stay Node
.void
setIsWorkNode
(boolean isWorkNode) Sets theNode
as awork Node
which is the default where aResource
has a job to do.void
setJointVisitDuration
(Duration visitDuration) If two or moreNodes
are close to one another, thevisitDuration
of theNodes
after the first one can be reduced since for example less loading and unloading time is needed .void
setLastNodeInRouteImportance
(int importance) void
setLoad
(double[] load) Sets the amount of goods theResource
is getting added by visiting theResource
.void
setLockdownTime
(long lockdowntime) void
setMinAutoFilterProtectedExecutions
(int numProtectedExecutions) Sets a number ofiterations
of theOptimizer
in which theNode
is protected from being filtered by theIAutoNodeFilter
.void
setMinimalVisitDuration
(Duration minimalVisitDuration) void
setNodeColor
(INodeColor color) void
setNodeDepot
(INodeDepot depot) void
setOptimizable
(boolean isOptimizable) Sets if theNode
can still be moved around or if it is onlockdown
and is fixed.void
setOptimizable
(boolean isOptimizable, boolean forceKeepLockdownTime) void
setUnassigned
(boolean unassigned) Sets theNode
to beunassigned
, meaning not part of anyRoute
.void
setUnloadAll
(boolean unloadAll) Allows theResource
to unload all itsCapacity
at thisNode
void
setUnloadAllDimension
(int unloadAllDimension, int totalLoadDimension) Allows aResource
to unload all itsCapacity
of a specific good (dimension
) at thisNode
.void
setVisitDuration
(int visitDuration) Deprecated.void
setVisitDurationMillis
(long visitDurationMillis) Sets the visit duration millis.void
setWaitOnEarlyArrival
(boolean waitOnEarlyArrival) Sets whether aResource
has to wait when arriving before theIOpeningHours
of theNode
.void
setWaitOnEarlyArrivalFirstNode
(boolean waitOnEarlyArrival) void
void
tempSetActiveDutyHours
(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 aNode
in 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 aNode
in 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 theNode
to 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 Node
is not part of anyRoute
- Returns:
- boolean true if the node was unassigned
-
addViolation
Adds aIViolation
toNode
. This method is used internally.- Parameters:
violation
- the violation
-
getViolations
List<IViolation> getViolations()Gets theIViolation
of theNode
. Only has a non-empty list in case a result was requested.- Returns:
- the
List<IViolation> violations
-
setFixCost
void setFixCost(double fixCost) Sets thefixCost
for visiting theNode
. The default value of thedouble
is 0.- Parameters:
fixCost
- the double fixCost
-
getFixCost
double getFixCost()Gets thefixCost
. The default value of thedouble
is 0.- Returns:
- the double fixCost
-
isStayNode
boolean isStayNode()Checks if theNode
can be used as for anovernight stay
. The default value isfalse
.This allows the
Resource
to stay at thisNode
at the end of theRoute
instead of returning home and proceeding from there the next day. The Resource also needsIWorkingHours.getIsAvailableForStay()
to be set totrue
in 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) SetsNode
as a possibleovernight stay Node
.This allows the
Resource
to stay at thisNode
at the end of theRoute
instead of returning home and proceeding from there the next day. The Resource also needsIWorkingHours.getIsAvailableForStay()
to be set totrue
in order to be able to stay there at the end of theRoute
.- Parameters:
canBeResourceStay
- if the boolean is set totrue
theNode
can be used forovernight stays
-
isWorkNode
boolean isWorkNode()Checks if is aNode
is awork Node
which is the default where aResource
has a job to do. This method is needed because it is possible to define aNode
as asetIsStayNode(boolean)
but not as awork Node
.- Returns:
- the boolean whether Resources can do work at this Node
-
setIsWorkNode
void setIsWorkNode(boolean isWorkNode) Sets theNode
as awork Node
which is the default where aResource
has a job to do. This method is needed because it is possible to define aNode
as asetIsStayNode(boolean)
but not as awork Node
- Parameters:
isWorkNode
- the boolean for theworkNode
-
isOfferedNode
boolean isOfferedNode()Checks if theNode
is aoffered Node
which has its ownAbstractNode.individualOfferedNodeMultiplier
. Anoffered Node
usually has a higher priority to be integrated into aRoute
which is done by multiplying the cost for this specificNode
when 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 Node
usually has a higher priority to be integrated into aRoute
which is done by multiplying the cost for this specificNode
when being missed.- Parameters:
isOfferedNode
- the boolean to be set- See Also:
-
getIndividualOfferedNodeMultiplier
double getIndividualOfferedNodeMultiplier()Gets a costmultiplier
for this specificNode
.- Returns:
- the double
individualOfferedNodeMultiplier
-
setIndividualOfferedNodeMultiplier
void setIndividualOfferedNodeMultiplier(double individualOfferedNodeMultiplier) Sets themultiplier
of 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 theNode
a 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 theIOpeningHours
before 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 aResource
has to wait when arriving before theIOpeningHours
of 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
WaitOnEarlyArrival
is set totrue
, aResource
will idle until aNode
opens based on its definedIWorkingHours
.- Parameters:
waitOnEarlyArrival
- the boolean to be set
-
isPillarNode
boolean isPillarNode()Checks if the node is aisPillarNode
.PillarNodes
will only be served if theResource
arrives on time. If theResource
is arriving too late thePillarNode
will be skipped.- Returns:
- the boolean
isPillarNode
-
addNode2NodeRelation
Sets twoNodes
in aRelation
. AMasterNode
has to be served before aRelatedNode
.For further explanation and implementation examples please see
INode2NodeRelation
.- Parameters:
relation
- theINode2NodeRelation
to be added
-
getNode2NodeRelations
List<INode2NodeRelation> getNode2NodeRelations()Gets theRelations
of 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 theNode
should be saved in aILogicRouteElementDetailItem
. The default value isfalse
.The only other instance when this data is saved is when a
ILogicRouteElementDetailItem
is requested.- Returns:
- the
boolean hasFullJobLevelRelations
-
hasRelations
boolean hasRelations()Checks if theNode
has anyRelations
.For further explanation and implementation examples of
Relations
please seeINode2NodeRelation
- Returns:
- the boolean
hasRelations
-
addConstraint
Adds aconstraint
which limits theResources
that can serve thisNode
to those that have the specificQualification
to do so.For further explanations and implementation examples please see
TypeConstraint
andTypeQualification
.- Parameters:
constraint
- theIconstraint
to be added
-
getConstraints
List<IConstraint> getConstraints()Gets theConstraints
which limit theResources
that can serve thisNode
to those that have the specificQualification
to do so.For further explanations and implementation examples please see
TypeConstraint
andTypeQualification
.- Returns:
- the
List<IConstraint> constraints
-
setConstraints
Sets theArrayList constraints
which limit theResources
that can serve this* Node
to those that have the specificQualification
to do so. Cannot benull
.For further explanations and implementation examples please see
TypeConstraint
andTypeQualification
- Parameters:
constraints
- theArraylist constraints
to be set
-
setLoad
void setLoad(double[] load) Sets the amount of goods theResource
is 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 theResource
is getting added by visiting theResource
. Can be negative (delivering packages).- Returns:
- the double array loadv
- See Also:
-
setUnloadAll
void setUnloadAll(boolean unloadAll) Allows theResource
to unload all itsCapacity
at thisNode
- Parameters:
unloadAll
- the boolean to be set- See Also:
-
isUnloadAll
boolean isUnloadAll()Checks if it is possible for theResource
to unload all itsCapacity
at thisNode
.- Returns:
- the boolean unloadAll
-
setUnloadAllDimension
void setUnloadAllDimension(int unloadAllDimension, int totalLoadDimension) Allows aResource
to unload all itsCapacity
of a specific good (dimension
) at thisNode
.- Parameters:
unloadAllDimension
- the int unloadAllDimensiontotalLoadDimension
- the int totalLoadDimension
-
getUnloadAllDimension
int getUnloadAllDimension()Gets if it is allowed for aResource
to unload all itsCapacity
of 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.myAutoFilterViolationCollector
that collected allIViolation
.- Returns:
- the myAutoFilterViolationCollector
-
setAutoFilterConstraints
Sets aIConstraint
at aNode
for which it could be filtered.- Parameters:
autoFilterNodeConstraints
- the AutoFilterViolationAndConstraintCollector to be set
-
removeConstraint
Removes theIConstraint
from thisNode
.- Parameters:
removeConstraint
- the constraint to be removed- Returns:
- the
List<IConstraint>
constraints that were removed
-
removeNode2NodeRelations
Removes aINode2NodeRelation
from theNode
- Parameters:
removeRelation
- the INode2NodeRelation that will be removed- Returns:
- the relation that was removed
-
setOptimizable
void setOptimizable(boolean isOptimizable) Sets if theNode
can still be moved around or if it is onlockdown
and 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 theNode
has to be done within theIOpeningHours
or if theIResource
only 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, theDutyHours
act as an access window in which the work has to be started. If set totrue
the 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 moreNodes
are close to one another, thevisitDuration
of theNodes
after the first one can be reduced since for example less loading and unloading time is needed . Sets the reducedvisitDuration
for theseNodes
instead of the normal visit duration.- Parameters:
visitDuration
- the duration of the reduced visit
-
getJointVisitDuration
Deprecated.Gets the jointVisitDuration, which is the reducedvisitDuration
of aNode
caused by efficiency effects since severalNodes
close 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 reducedvisitDuration
of aNode
caused by efficiency effects since severalNodes
close to one another.- Parameters:
ownerRoute
- the owner route- Returns:
- the joint visit duration
-
isUseJointVisitDuration
boolean isUseJointVisitDuration()Checks if there are beneficial effects of a reducedvisitDuration
since severalNodes
are close to one another. The default value isfalse
.Will be set to
true
bysetJointVisitDuration(Duration)
.- Returns:
- the boolean if
visitDuration
is 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 tightIOpeningHours
of 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
isCausingIdleTimeCost
to false, idle time at this node does not generate cost.- Parameters:
isCausingIdleTimeCost
- the boolean to be set
-
isCausingIdleTimeCost
boolean isCausingIdleTimeCost()Checks if theNode
can causeidle time
. If set tofalse
theNode
still causesidle time
but at no cost. The default value istrue
.- Returns:
- the boolean
isCausingIdleTimeCost
-
setIsOptional
void setIsOptional(boolean isOptional) Sets theNode
as anoptional Node
. TheResource
can go to one of manyoptional Nodes
to 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 Node
one of which theResource
may 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 theINodeColor
to theNode
by adding aNodeColorCapacityItem
. By usingIWorkingHours.addNodeColorCapacity(NodeColorCapacityItem)
it limits the amount ofColor
codedNodes
aResource
can give service to. This way can be made sure thatNodes
with a certainColor
are 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 theNode
is protected from being filtered.- Returns:
true
if the condition allows
-
setMinAutoFilterProtectedExecutions
void setMinAutoFilterProtectedExecutions(int numProtectedExecutions) Sets a number ofiterations
of theOptimizer
in which theNode
is protected from being filtered by theIAutoNodeFilter
.- Parameters:
numProtectedExecutions
- the int value
-
decrementCurrentAutoFilterProtectedExecutions
int decrementCurrentAutoFilterProtectedExecutions()The number ofiterations
theNode
is 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 theIResource
with the givenresId
from theIConstraint
that areIConstraintResource
. This method is used internally.- Parameters:
resId
- the string Resource /D
-
getLastKnownAttachedAndRemovedResIds
-
addQualification
Adds aIQualification
to theResource
, which means that by adding aIConstraint
to theINode
, they are limited to whichNodes
they can give service.Used in
UKPostCodeConstraint
.- Parameters:
qualification
- the iQualification that is to be added
-
getQualifications
Map<Class<? extends IQualification>,IQualification> getQualifications()Gets theIQualification
of 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()
-