Class MinimizeMaximumTardiness

java.lang.Object
org.cicirello.search.problems.scheduling.MinimizeMaximumTardiness
All Implemented Interfaces:
IntegerCostOptimizationProblem<Permutation>, Problem<Permutation>, SingleMachineSchedulingProblem

public final class MinimizeMaximumTardiness extends Object implements SingleMachineSchedulingProblem
Implements the scheduling cost function known as maximum tardiness, which we want to minimize. 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 T[j] = max(0, L[j]). So although lateness can be negative, tardiness is never negative. The maximum tardiness cost function is equal to: maxj { T[j] }.
  • Constructor Details

    • MinimizeMaximumTardiness

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

    • 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.
    • value

      public int value(Permutation candidate)
      Description copied from interface: IntegerCostOptimizationProblem
      Computes the value of the candidate solution within the usual constraints and interpretation of the problem.
      Specified by:
      value in interface IntegerCostOptimizationProblem<Permutation>
      Parameters:
      candidate - The candidate solution to evaluate.
      Returns:
      The actual optimization value of the candidate 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.