Interface SingleMachineSchedulingProblem

All Superinterfaces:
IntegerCostOptimizationProblem<Permutation>, Problem<Permutation>
All Known Implementing Classes:
MinimizeMakespan, MinimizeMaximumFlowtime, MinimizeMaximumLateness, MinimizeMaximumTardiness, WeightedEarlinessTardiness, WeightedFlowtime, WeightedLateness, WeightedNumberTardyJobs, WeightedSquaredTardiness, WeightedTardiness

public interface SingleMachineSchedulingProblem extends IntegerCostOptimizationProblem<Permutation>
Implement this interface to define a single machine scheduling problem. A class that implements this interface should implement the cost function for the problem (i.e., the function we are optimizing) and must utilize a class implementing the SingleMachineSchedulingProblemData interface to represent the data describing the instance, such as processing times, due dates, etc. You may have a single class that implements both interfaces, if desired, in which case, the getInstanceData() could just return the this reference.
  • Method Details

    • getInstanceData

      Gets an object that encapsulates the data describing the scheduling problem instance, such as number of jobs, and the characteristics of the jobs, such as processing times, setup times, due dates, weights, etc.
      Returns:
      an encapsulation of the data describing the scheduling problem instance