Class WeightedTardiness

  • All Implemented Interfaces:
    IntegerCostOptimizationProblem<Permutation>, Problem<Permutation>, SingleMachineSchedulingProblem

    public final class WeightedTardiness
    extends Object
    implements SingleMachineSchedulingProblem
    Implements the scheduling cost function known as weighted tardiness. The lateness L[j] of job j is: L[j] = C[j] - d[j], where C[j] is the time it is completed by the machine, and d[j] is its due date. The tardiness of job j is: T[j] = max(0, L[j]). That is, although lateness can be negative, tardiness is never negative (i.e., no reward for a job completing early). The weighted tardiness cost function is the weighted sum over the jobs of: w[j]T[j], where w[j] is job j's weight.
    • Constructor Detail

      • WeightedTardiness

        public WeightedTardiness​(SingleMachineSchedulingProblemData instanceData)
        Constructs a single machine scheduling problem for minimizing weighted tardiness.
        Parameters:
        instanceData - An encapsulation of the job characteristics, such as processing times, etc.
        Throws:
        IllegalArgumentException - if instanceData.hasDueDates() returns false.
    • Method Detail

      • cost

        public int cost​(Permutation candidate)
        Description copied from interface: IntegerCostOptimizationProblem
        Computes the cost of a candidate solution to the problem instance. The lower the cost, the more optimal the candidate solution.
        Specified by:
        cost in interface IntegerCostOptimizationProblem<Permutation>
        Parameters:
        candidate - The candidate solution to evaluate.
        Returns:
        The cost of the candidate solution. Lower cost means better solution.
      • minCost

        public int minCost()
        Description copied from interface: IntegerCostOptimizationProblem
        A lower bound on the minimum theoretical cost across all possible solutions to the problem instance, where lower cost implies better solution. The default implementation returns Integer.MIN_VALUE.
        Specified by:
        minCost in interface IntegerCostOptimizationProblem<Permutation>
        Returns:
        A lower bound on the minimum theoretical cost of the problem instance.