Package org.ddolib.examples.msct
Class MSCTDdoMain
java.lang.Object
org.ddolib.examples.msct.MSCTDdoMain
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)
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 Summary
Constructors -
Method Summary
-
Constructor Details
-
MSCTDdoMain
public MSCTDdoMain()
-
-
Method Details
-
main
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.
-