public interface IViolationSummary
IViolation
, time, distance, type
and cost.
An instance of the class ViolationSummary
will capture all violations of an
ILogicEntityRoute
. For example if
the maximal allowed distance of a CapacityResource
is violated the number of total violations (numViolations) and the number of distance violations
(numViolationsRouteDistance) will be incremented. In addition, a normalized cost will be calculated. It is important
to calculate this normalized cost to add up the costs of different violations to a total cost. The higher this
total cost is the lower is the likeness that this route is the optimal route. The optimization
process always tries to minimize this total cost.
Modifier and Type | Method and Description |
---|---|
double |
getCostAfterEndAnchor()
Gets the costs after the
AnchorNode that were caused by the Optimizer putting Nodes after the anchor Node ,
which might happen because the Route is very full. |
double |
getCostBannedResource()
Gets the cost for banning
Resources . |
double |
getCostCapacity()
Gets the total cost added by
capacity violations in pickup and delivery optimizations, usually for not having loaded
enough or for having loaded too much. |
double |
getCostCapacityOverload() |
double |
getCostColorCapacityUsage()
Gets the cost for
color capacity usage . |
double |
getCostDistance()
Gets the total cost added for the distance.
|
double |
getCostEarly()
Gets the total cost added for being too early.
|
double |
getCostGeoUnclustered()
Deprecated.
|
double |
getCostInjectedRestriction()
Gets the cost for
restrictions that do not have their own violation. |
double |
getCostLate()
Gets the total cost added for being too late.
|
double |
getCostMandatoryResource()
Gets the cost for not getting the
mandatory Resource . |
double |
getCostMaxRouteDistance()
Gets the cost for being above
max route distance |
double |
getCostMaxRouteTime()
Gets the cost for being above
max route time . |
double |
getCostMisc()
Gets miscellaneous costs.
|
double |
getCostMissedServiceHour() |
double |
getCostNodeType()
Gets cost caused by
Node type . |
double |
getCostPreferredResource()
Gets cost for
preferred Resource constraints . |
double |
getCostRelationship()
Gets total cost added by
relationship violations . |
double |
getCostResourceOutOfWork()
Gets the cost for
Resources being out of work |
double |
getCostRouteDistancePattern() |
double |
getCostRouteTime()
Gets the cost for
route time . |
double |
getCostStayOvertime()
Gets the cost for staying overtime
|
double |
getCostTimeCompactness()
Gets the
cost of time compactness . |
double |
getCostUnPreferredResource()
Gets the cost for not getting the
preferred Resource . |
double |
getIMoveCost()
Deprecated.
|
double |
getNodeFixCost()
Gets the
Node fix costs . |
int |
getNumViolations()
Gets the number of
IViolation , the default value is 0. |
int |
getNumViolationsAfterEndAnchor()
Gets the number of
IViolation that were caused by the Optimizer putting Nodes after the anchor Node ,
which might happen because the Route is very full. |
int |
getNumViolationsColorNodeCapacity()
Gets the number of
IViolation that were caused by INodeColor capacity. |
int |
getNumViolationsDailyBreak()
Deprecated.
|
int |
getNumViolationsMissedServiceHours() |
int |
getNumViolationsNodeTimewindow()
Gets the number of
IViolation that were caused by the Node time window, the default value is 0. |
int |
getNumViolationsNodeTimewindowEarly()
Gets the number of
IViolation that were caused by being too early, the default value is 0. |
int |
getNumViolationsNodeTimewindowLate()
Gets the number of
IViolation that were caused by being too late, the default value is 0. |
int |
getNumViolationsNodeType()
Gets the number of
IViolation that were caused by the Node type , the default value is 0. |
int |
getNumViolationsRelationships()
Gets the number of
IViolation that were caused by relationships , the default value is 0. |
int |
getNumViolationsRouteCapacity()
Gets the number of
IViolation that were caused by route capacity , the default value is 0. |
int |
getNumViolationsRouteDistance()
Gets the number of
IViolation that were caused by route distance, the default value is 0. |
int |
getNumViolationsRouteTime()
Gets the number of
IViolation that were caused when the Resource was working
longer than the allowed maximal working time . |
double |
getResourceFixCost()
Gets the
Resource fix costs . |
double |
getStayOutFixCost()
Gets the fix cost for
Resources that have to do a overnight stay . |
int |
getTotalEarlyTime()
Gets total time that a
Resource was early in seconds . |
int |
getTotalLateTime()
Gets total time that a
Resurce was late in seconds . |
int getNumViolations()
IViolation
, the default value is 0.int getNumViolationsRouteTime()
IViolation
that were caused when the Resource
was working
longer than the allowed maximal working time
.IBasicResource.setMaxWorkingTime(Duration)
int getNumViolationsRouteDistance()
IViolation
that were caused by route distance, the default value is 0.int getNumViolationsRouteCapacity()
IViolation
that were caused by route capacity
, the default value is 0.int getNumViolationsNodeTimewindow()
IViolation
that were caused by the Node
time window, the default value is 0.int getNumViolationsNodeTimewindowEarly()
IViolation
that were caused by being too early, the default value is 0.int getNumViolationsNodeTimewindowLate()
IViolation
that were caused by being too late, the default value is 0.int getNumViolationsNodeType()
IViolation
that were caused by the Node type
, the default value is 0.int getNumViolationsRelationships()
IViolation
that were caused by relationships
, the default value is 0.@Deprecated int getNumViolationsDailyBreak()
IViolation
that were caused by breaks, the default value is 0.int getNumViolationsColorNodeCapacity()
IViolation
that were caused by INodeColor
capacity.int getNumViolationsAfterEndAnchor()
IViolation
that were caused by the Optimizer
putting Nodes
after the anchor Node
,
which might happen because the Route
is very full.int getNumViolationsMissedServiceHours()
double getCostMissedServiceHour()
int getTotalLateTime()
Resurce
was late in seconds
.int getTotalEarlyTime()
Resource
was early in seconds
.double getCostEarly()
double getCostLate()
double getCostCapacity()
capacity violations
in pickup and delivery optimizations, usually for not having loaded
enough or for having loaded too much.double getCostRelationship()
relationship violations
.double getCostDistance()
double getCostMaxRouteDistance()
max route distance
double getCostMaxRouteTime()
max route time
.double getCostNodeType()
Node type
.double getCostPreferredResource()
preferred Resource constraints
.double getCostRouteTime()
route time
.double getCostUnPreferredResource()
preferred Resource
.double getCostMandatoryResource()
mandatory Resource
.double getCostBannedResource()
Resources
.double getCostTimeCompactness()
cost
of time compactness
. Time compactness
is when the Optimizers
tries to
make Resources visit Nodes
at the beginning of their OpeningHours
.double getResourceFixCost()
Resource fix costs
.@Deprecated double getCostGeoUnclustered()
ViolationSummary.costGeoUnclustered
, the default value is 0.0.@Deprecated double getIMoveCost()
ViolationSummary.costIMove
, the default value is 0.0.double getStayOutFixCost()
Resources
that have to do a overnight stay
.double getNodeFixCost()
Node fix costs
.double getCostResourceOutOfWork()
Resources
being out of workdouble getCostStayOvertime()
double getCostInjectedRestriction()
restrictions
that do not have their own violation. This is used as a bucket for
restriction costs
.double getCostMisc()
double getCostColorCapacityUsage()
color capacity usage
.double getCostAfterEndAnchor()
AnchorNode
that were caused by the Optimizer
putting Nodes
after the anchor Node
,
which might happen because the Route
is very full.double getCostRouteDistancePattern()
double getCostCapacityOverload()
Copyright © 2017–2023 DNA Evolutions GmbH. All rights reserved.