Class MSCTDdoMain

java.lang.Object
org.ddolib.examples.msct.MSCTDdoMain

public class MSCTDdoMain extends Object
Minimum Sum Completion Time (MSCT) with Ddo. Main class for solving the Maximum Sum of Compatible Tasks (MSCT) problem using the Decision Diagram Optimization (DDO) approach.

This implementation constructs a DDO model for the MSCT problem, which defines:

  • The problem instance (MSCTProblem)
  • A relaxation model (MSCTRelax)
  • A ranking strategy for state exploration (MSCTRanking)
  • A dominance checker to remove dominated states (MSCTDominance)
  • A frontier manager controlling active nodes in the diagram
  • A fixed-width heuristic limiting the number of nodes per layer
  • A fast lower bound estimator (MSCTFastLowerBound)
The solver minimizes the given model using the DDO-based method provided by Solvers.minimizeDdo(DdoModel, java.util.function.BiConsumer) and prints the best solution found along with statistics about the search process.

Usage:

 java MSCTDdoMain [instance_file]
 
If no argument is provided, the default instance data/MSCT/msct1.txt is used.

Example:

 java MSCTDdoMain data/MSCT/sample_instance.txt
 
  • Constructor Details

    • MSCTDdoMain

      public MSCTDdoMain()
  • Method Details

    • main

      public static void main(String[] args) throws IOException
      Entry point of the program.

      This method loads the MSCT problem instance, builds the DDO model with the appropriate relaxation, ranking, dominance, and lower bound strategies, and runs the DDO solver to find the minimum-cost solution.

      Parameters:
      args - optional command-line arguments; if provided, the first argument specifies the path to the instance file of the MSCT problem.
      Throws:
      IOException - if an error occurs while reading the problem instance file.