Module org.maxicp

Class SchedulingLNSRunnableSearch

java.lang.Object
org.maxicp.search.blackbox.RunnableSearch
org.maxicp.search.blackbox.SchedulingLNSRunnableSearch

public class SchedulingLNSRunnableSearch extends RunnableSearch
Large Neighborhood Search (LNS) improvement phase for scheduling and hybrid scheduling+integer models.

Rotates across three scheduling neighborhood operators:

  1. Prefix time-window freeze: fixes tasks starting before a cutoff time tCut while relaxing the suffix so later tasks can be re-sequenced and left-shifted.
  2. Random subset freeze with left-shift allowance: freezes a random subset of non-critical tasks (either fixing start == incStart or bounding start <= incStart).
  3. Optional-presence / contiguous-block relaxation: for optional-interval models (such as Flexible Job Shop), freezes the presence/machine assignment of most tasks while re-optimizing the remaining alternatives and start times; for mandatory-interval models, relaxes a contiguous block of tasks.