Package org.ddolib.modeling
package org.ddolib.modeling
This package contains the interfaces and abstract classes that must be implemented as problem
specific classes to model a problem.It also contains default implementation.
-
ClassDescriptionAcsModel<T>Defines the structure of an optimization model solved using the Anytime Column Search (ACS) algorithm within the Decision Diagram Optimization (DDO) framework.AwAstarModel<T>Defines the structure of an optimization model solved using the Anytime Weighted A* (AWA*) algorithm within the Decision Diagram Optimization (DDO) framework.DdoModel<T>Defines the interface for a Dynamic Decision Diagram Optimization (DDO) model.Default implementation of the
FastLowerBoundinterface that always returnsInteger.MIN_VALUEas the lower bound estimate.Dominance<T>Defines a dominance relation used to compare and prune states during the exploration of decision diagrams or search spaces.DominanceKey<T,K> Defines a function that extracts a canonical dominance key from a given state.ExactModel<T>Defines the interface for a Dynamic Decision Diagram Optimization (DDO) model, used by theExactSolverInterface for the fast lower bound method Heuristic defining a fast lower bound for statesException thrown byProblem.evaluate(int[])method if its input solution does not respect the problem's constraints.LnsModel<T>Interface representing a model for Large Neighborhood Search (LNS) problems.Model<T>Defines the core model interface for describing an optimization problem to be solved within the Decision Diagram Optimization (DDO) framework.Problem<T>Represents an optimization problem formulated as a labeled transition system, following the semantics of dynamic programming.Relaxation<T>This is the second most important abstraction that a client should provide when using this library.TheSolversclass acts as a unified entry point for running different optimization algorithms within the Decision Diagram Optimization (DDO) framework.StateRanking<T>A state ranking is used to order the states and decides the ones that are kept and the ones that are merged/deleted when a relaxation/restriction occurs.