Class AbstractAutoFilterConstraint
java.lang.Object
com.dna.jopt.member.unit.filter.auto.filternodeconstraint.AbstractAutoFilterConstraint
- All Implemented Interfaces:
IAutoFilterNodeConstraint
,Serializable
- Direct Known Subclasses:
AfterEndPillarAutoFilterConstraint
,CapacityOverloadAutoFilterConstraint
,DoubleBookingAutoFilterConstraint
,EarlyAutoFilterConstraint
,LateAutoFilterConstraint
,MaximalDistanceExceededAutoFilterConstraint
,RelationMismatchAutoFilterConstraint
,RequiredSkillAutoFilterConstraint
,ResourceMismatchAutoFilterConstraint
,WorkingHoursExceededAutoFilterConstraint
public abstract class AbstractAutoFilterConstraint
extends Object
implements IAutoFilterNodeConstraint
The Class AbstractAutoFilterConstraint.
- Since:
- 06/09/2019
- Version:
- 06/09/2019
- Author:
- DNA
- See Also:
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionabstract double
getAttachedCost
(INode node, ILogicEntityRoute curRoute, IEntity en, com.dna.jopt.framework.inputplausibility.properties.IPropertyProvider provider) getFilterReason
(INode node) Gets thefilter reason
why theNode
was filtered.abstract double
abstract String
getTitle()
boolean
Checks whetheraverage filtering
is allowed for cases where theRoute
has problems but no singleNode
is above thethreshold
.boolean
isInConstraintState
(INode node, ILogicEntityRoute curRoute, IEntity en, com.dna.jopt.framework.inputplausibility.properties.IPropertyProvider provider) Checks whether theNode
(or theRoute
of thatNode
) is in aconstraint state
by checking whether the costs fromconstraints
are higher than 0.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.dna.jopt.member.unit.filter.auto.filternodeconstraint.IAutoFilterNodeConstraint
getThreshold, getThresholdLastRun
-
Constructor Details
-
AbstractAutoFilterConstraint
public AbstractAutoFilterConstraint()
-
-
Method Details
-
getFilterReason
Description copied from interface:IAutoFilterNodeConstraint
Gets thefilter reason
why theNode
was filtered.- Specified by:
getFilterReason
in interfaceIAutoFilterNodeConstraint
- Parameters:
node
- the node- Returns:
- the violation for being filtered
-
getQuotient
-
isInConstraintState
public boolean isInConstraintState(INode node, ILogicEntityRoute curRoute, IEntity en, com.dna.jopt.framework.inputplausibility.properties.IPropertyProvider provider) Description copied from interface:IAutoFilterNodeConstraint
Checks whether theNode
(or theRoute
of thatNode
) is in aconstraint state
by checking whether the costs fromconstraints
are higher than 0.If a
Route
in total has additionalcosts
for being late but is on time on a specificNode
isInConstraintState()
would returntrue
on a not lateNode
nonetheless.- Specified by:
isInConstraintState
in interfaceIAutoFilterNodeConstraint
- Parameters:
node
- the iNodecurRoute
- the iLogicEntityRouteen
- the iEntityprovider
- the provider- Returns:
- the boolean whether the node is in a constraint state
-
getAttachedCost
public abstract double getAttachedCost(INode node, ILogicEntityRoute curRoute, IEntity en, com.dna.jopt.framework.inputplausibility.properties.IPropertyProvider provider) -
getTitle
-
isAverageFilteringAllowed
public boolean isAverageFilteringAllowed()Description copied from interface:IAutoFilterNodeConstraint
Checks whetheraverage filtering
is allowed for cases where theRoute
has problems but no singleNode
is above thethreshold
.Average filtering
filters the most problematicNode
even tough it is not above thethreshold
.- Specified by:
isAverageFilteringAllowed
in interfaceIAutoFilterNodeConstraint
- Returns:
- whether average filtering is allowed
-