public interface IAutoFilterNodeConstraint extends Serializable
Nodes
for specific filter reasons
.
This can also be done on node
-level, to filter out a specific Node
for reason
x.Modifier and Type | Method and Description |
---|---|
INodeFilterReason |
getFilterReason(INode element)
Gets the
filter reason why the Node was filtered. |
double |
getThreshold()
Gets the
threshold of the Node which the constraint factor has to reach in order to be
filtered out. |
double |
getThresholdLastRun()
Gets the threshold from the last run which usually is set to be lower, usually between 0.8 and 0.4.
|
boolean |
isAverageFilteringAllowed()
Checks whether
average filtering is allowed for cases where the Route has problems but
no single Node is above the threshold . |
boolean |
isInConstraintState(INode node,
ILogicEntityRoute curRoute,
IEntity en,
com.dna.jopt.framework.inputplausibility.properties.IPropertyProvider provider)
Checks whether the
Node (or the Route of that Node ) is in a constraint state by
checking whether the costs from constraints are higher than 0. |
INodeFilterReason getFilterReason(INode element)
filter reason
why the Node
was filtered.element
- the nodedouble getThreshold()
threshold
of the Node
which the constraint factor
has to reach in order to be
filtered out.
The Nodes
are evaluated several times whether they are in a constraint
state or not.
The factor
of being in a constraint
state is calculated by number of evaluation divided by the times the Node
was in a
constraint
state.
The value is usually between 0.99 and 0.8
double getThresholdLastRun()
The very last run of an optimization
should have as few problems as possible. This is why the threshold
in the last run is lower in order to filter as many problematic Nodes
as possible.
boolean isInConstraintState(INode node, ILogicEntityRoute curRoute, IEntity en, com.dna.jopt.framework.inputplausibility.properties.IPropertyProvider provider)
Node
(or the Route
of that Node
) is in a constraint state
by
checking whether the costs from constraints
are higher than 0.
If a Route
in total has additional costs
for being late but is on time on a specific Node
isInConstraintState()
would return true
on a not late Node
nonetheless.
node
- the iNodecurRoute
- the iLogicEntityRouteen
- the iEntityprovider
- the providerboolean isAverageFilteringAllowed()
average filtering
is allowed for cases where the Route
has problems but
no single Node
is above the threshold
. Average filtering
filters the most problematic
Node
even tough it is not above the threshold
.Copyright © 2017–2023 DNA Evolutions GmbH. All rights reserved.