Interface IViolationSummary

All Known Implementing Classes:
ViolationSummary

public interface IViolationSummary
This interface provides methods which allow to get information on the summary about the 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.

Since:
26/07/2018
Version:
14/10/2019
Author:
DNA
  • Method Details

    • getNumViolations

      int getNumViolations()
      Gets the number of IViolation , the default value is 0.
      Returns:
      the numViolations
    • getNumViolationsRouteTime

      int getNumViolationsRouteTime()
      Gets the number of IViolation that were caused when the Resource was working longer than the allowed maximal working time.
      Returns:
      the int number of route time violations
      See Also:
    • getNumViolationsRouteDistance

      int getNumViolationsRouteDistance()
      Gets the number of IViolation that were caused by route distance, the default value is 0.
      Returns:
      the int number of route distance violations
    • getNumViolationsRouteCapacity

      int getNumViolationsRouteCapacity()
      Gets the number of IViolation that were caused by route capacity, the default value is 0.
      Returns:
      int number of route capacity violations
    • getNumViolationsNodeTimewindow

      int getNumViolationsNodeTimewindow()
      Gets the number of IViolation that were caused by the Node time window, the default value is 0.
      Returns:
      int number of node time window violations
    • getNumViolationsNodeTimewindowEarly

      int getNumViolationsNodeTimewindowEarly()
      Gets the number of IViolation that were caused by being too early, the default value is 0.
      Returns:
      int number of violations for being too early
    • getNumViolationsNodeTimewindowLate

      int getNumViolationsNodeTimewindowLate()
      Gets the number of IViolation that were caused by being too late, the default value is 0.
      Returns:
      int number of violations for being too late
    • getNumViolationsNodeType

      int getNumViolationsNodeType()
      Gets the number of IViolation that were caused by the Node type, the default value is 0.
      Returns:
      int number of violations because of the node type
    • getNumViolationsRelationships

      int getNumViolationsRelationships()
      Gets the number of IViolation that were caused by relationships , the default value is 0.
      Returns:
      int number of relationship violations
    • getNumViolationsDailyBreak

      @Deprecated int getNumViolationsDailyBreak()
      Deprecated.
      Gets the number of IViolation that were caused by breaks, the default value is 0.
      Returns:
      int number of break violations
    • getNumViolationsColorNodeCapacity

      int getNumViolationsColorNodeCapacity()
      Gets the number of IViolation that were caused by INodeColor capacity.
      Returns:
      the int number of nodeColorCapacity violations
    • getNumViolationsAfterEndAnchor

      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.
      Returns:
      the int number of violations after the anchor node
    • getNumViolationsMissedServiceHours

      int getNumViolationsMissedServiceHours()
    • getCostMissedServiceHour

      double getCostMissedServiceHour()
    • getTotalLateTime

      int getTotalLateTime()
      Gets total time that a Resurce was late in seconds.
      Returns:
      the int total late time
    • getTotalEarlyTime

      int getTotalEarlyTime()
      Gets total time that a Resource was early in seconds.
      Returns:
      int total early time
    • getCostEarly

      double getCostEarly()
      Gets the total cost added for being too early.
      Returns:
      the double early cost
    • getCostLate

      double getCostLate()
      Gets the total cost added for being too late.
      Returns:
      the double late cost
    • getCostCapacity

      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.
      Returns:
      the double cost for capacity violations
    • getCostRelationship

      double getCostRelationship()
      Gets total cost added by relationship violations.
      Returns:
      the double cost for relationship violations
    • getCostDistance

      double getCostDistance()
      Gets the total cost added for the distance.
      Returns:
      the double cost for distance
    • getCostMaxRouteDistance

      double getCostMaxRouteDistance()
      Gets the cost for being above max route distance
      Returns:
      the costMaxRouteDistance
    • getCostMaxRouteTime

      double getCostMaxRouteTime()
      Gets the cost for being above max route time.
      Returns:
      the costMaxRouteTime
    • getCostNodeType

      double getCostNodeType()
      Gets cost caused by Node type.
      Returns:
      the double cost
    • getCostPreferredResource

      double getCostPreferredResource()
      Gets cost for preferred Resource constraints.
      Returns:
      the double cost
    • getCostRouteTime

      double getCostRouteTime()
      Gets the cost for route time.
      Returns:
      the double cost
    • getCostUnPreferredResource

      double getCostUnPreferredResource()
      Gets the cost for not getting the preferred Resource.
      Returns:
      the double cost
    • getCostMandatoryResource

      double getCostMandatoryResource()
      Gets the cost for not getting the mandatory Resource.
      Returns:
      the double cost
    • getCostBannedResource

      double getCostBannedResource()
      Gets the cost for banning Resources.
      Returns:
      the costBannedResource
    • getCostTimeCompactness

      double getCostTimeCompactness()
      Gets the cost of time compactness. Time compactness is when the Optimizers tries to make Resources visit Nodes at the beginning of their OpeningHours.
      Returns:
      the costTimeCompactness
    • getResourceFixCost

      double getResourceFixCost()
      Gets the Resource fix costs.
      Returns:
      the double cost
    • getCostGeoUnclustered

      @Deprecated double getCostGeoUnclustered()
      Deprecated.
      Gets ViolationSummary.costGeoUnclustered, the default value is 0.0.
      Returns:
      the costGeoUnclustered
    • getIMoveCost

      @Deprecated double getIMoveCost()
      Deprecated.
      Gets the ViolationSummary.costIMove, the default value is 0.0.
      Returns:
      the costIMove
    • getStayOutFixCost

      double getStayOutFixCost()
      Gets the fix cost for Resources that have to do a overnight stay.
      Returns:
      the double cost
    • getNodeFixCost

      double getNodeFixCost()
      Gets the Node fix costs.
      Returns:
      the double cost
    • getCostResourceOutOfWork

      double getCostResourceOutOfWork()
      Gets the cost for Resources being out of work
      Returns:
      the double cost
    • getCostStayOvertime

      double getCostStayOvertime()
      Gets the cost for staying overtime
      Returns:
      the double cost
    • getCostInjectedRestriction

      double getCostInjectedRestriction()
      Gets the cost for restrictions that do not have their own violation. This is used as a bucket for restriction costs.
      Returns:
      the double cost
    • getCostMisc

      double getCostMisc()
      Gets miscellaneous costs.
      Returns:
      the double cost
    • getCostColorCapacityUsage

      double getCostColorCapacityUsage()
      Gets the cost for color capacity usage.
      Returns:
      the double cost
    • getCostAfterEndAnchor

      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.
      Returns:
      the double cost
    • getCostRouteDistancePattern

      double getCostRouteDistancePattern()
    • getCostCapacityOverload

      double getCostCapacityOverload()