Package org.cicirello.search.problems.scheduling
Package of classes and interfaces related to representing
and solving scheduling problems, which includes implementations
of constructive heuristics for scheduling problems.

Interface Summary Interface Description SingleMachineSchedulingProblem Implement this interface to define a single machine scheduling problem.SingleMachineSchedulingProblemData Classes that implement single machine scheduling problems should implement this interface to enable heuristic, etc to interact with the data that defines the jobs of the scheduling instance, such as the process times, setup times (if any), duedates, etc of the jobs. 
Class Summary Class Description ApparentTardinessCost This is an implementation of the Apparent Tardiness Cost (ATC) heuristic.ApparentTardinessCostSetupAdjusted This is an implementation of a variation of the Apparent Tardiness Cost (ATC) heuristic, with a simple adjustment for setup times for problems with sequencedependent setups.ATCS This is an implementation of the ATCS (Apparent Tardiness Cost with Setups) heuristic.CommonDuedateScheduling This class represents and generates instances of a common duedate scheduling problem, in which all jobs have both an earliness weight and a tardiness weight, and share a common duedate.DynamicATCS DynamicATCS is an implementation of a variation of the ATCS (Apparent Tardiness Cost with Setups) heuristic, which dynamically updates the average processing and setup times as it constructs the schedule.EarliestDueDate This is an implementation of the earliest due date heuristic.ExponentialEarlyTardyHeuristic This class implements a constructive heuristic, known as EXPET, for scheduling problems involving minimizing the sum of weighted earliness plus weighted tardiness.LinearEarlyTardyHeuristic This class implements a constructive heuristic, known as LINET, for scheduling problems involving minimizing the sum of weighted earliness plus weighted tardiness.MinimizeMakespan Implements the common scheduling cost function known as makespan.MinimizeMaximumFlowtime Implements the scheduling cost function known as maximum flowtime (which we want to minimize).MinimizeMaximumLateness Implements the scheduling cost function known as maximum lateness, which we want to minimize.MinimizeMaximumTardiness Implements the scheduling cost function known as maximum tardiness, which we want to minimize.MinimumSlackTime This is an implementation of the minimum slack time (MST) heuristic.Montagne This is an implementation of Montagne's heuristic heuristic.ShortestProcessingPlusSetupTime This is an implementation of the shortest process time heuristic, adjusted to include setup time.ShortestProcessingPlusSetupTimePrecompute This is an implementation of the shortest process time heuristic, adjusted to include setup time.ShortestProcessingTime This is an implementation of the shortest process time heuristic.SmallestNormalizedSetup This heuristic is smallest normalized setup.SmallestSetup This heuristic is the smallest setup first.SmallestSetupPrecompute This heuristic is the smallest setup first.SmallestTwoJobSetup This heuristic is smallest twojob setup.WeightedCostOverTime This is an implementation of the weighted COVERT heuristic.WeightedCostOverTimeSetupAdjusted This is an implementation of a variation of the weighted COVERT heuristic, adjusted to account for setup times for problems with sequencedependent setups.WeightedCriticalRatio This is an implementation of a variation of the weighted critical ratio heuristic.WeightedCriticalRatioSetupAdjusted This is an implementation of a variation of the weighted critical ratio heuristic, adjusted to account for setup times for problems with sequencedependent setups.WeightedEarlinessTardiness Implements the scheduling cost function known as weighted earliness plus weighted tardiness.WeightedFlowtime Implements the scheduling cost function known as weighted flowtime.WeightedLateness Implements the scheduling cost function known as weighted lateness.WeightedLongestProcessingTime This is an implementation of the weighted longest process time heuristic.WeightedNumberTardyJobs Implements the scheduling cost function known as weighted number of tardy jobs, which we want to minimize.WeightedShortestProcessingPlusSetupTime This class implements a variation the weighted shortest process time heuristic, but adjusted to incorporate setups times for problems with sequencedependent setups.WeightedShortestProcessingPlusSetupTimeLateOnly This class implements a variation the weighted shortest process time heuristic with nonzero heuristic values only for late jobs, but adjusted to incorporate setups times for problems with sequencedependent setups.WeightedShortestProcessingPlusSetupTimePrecompute This class implements a variation the weighted shortest process time heuristic, but adjusted to incorporate setups times for problems with sequencedependent setups.WeightedShortestProcessingTime This is an implementation of the weighted shortest process time heuristic.WeightedShortestProcessingTimeLateOnly This is an implementation of the weighted shortest process time heuristic.WeightedSquaredTardiness Implements the scheduling cost function known as weighted squared tardiness.WeightedStaticScheduling This class provides a representation of, and means of generating, instances of single machine scheduling problems involving weights and due dates, but without release dates (i.e., all jobs are released at the start of the problem at time 0, thus, the term "static" in the class name).WeightedStaticSchedulingWithSetups This class provides a representation of, and means of generating, instances of single machine scheduling problems involving weights, due dates, and sequencedependent setup times, but without release dates (i.e., all jobs are released at the start of the problem at time 0, thus, the term "static" in the class name).WeightedTardiness Implements the scheduling cost function known as weighted tardiness.