LotSizingDataModel.Solver 2.0.1
Solver-independent modeling, execution, monitoring and adapter infrastructure.
Loading...
Searching...
No Matches
LotSizingDataModel.Solver.Common Namespace Reference

Classes

class  SolverAdapterDescriptor
 Describes a solver adapter without loading or executing its native optimization engine. More...
class  SolverAdapterLoadResult
 Represents the result of attempting to load a solver adapter plugin. More...
class  SolverAvailabilityInfo
 Describes the availability and detected installation details of a mathematical optimization solver. More...

Enumerations

enum  SolverAdapterLoadStatus {
  Unknown = 0 , Discovered = 1 , AssemblyNotFound = 2 , AssemblyLoadFailure = 3 ,
  AdapterTypeNotFound = 4 , InvalidAdapterType = 5 , InstantiationFailure = 6 , NativeDependencyFailure = 7 ,
  Loaded = 8
}
 Describes the result of loading a solver adapter plugin. More...
enum  SolverAvailabilityStatus {
  Unknown = 0 , NotInstalled = 1 , LibrariesMissing = 2 , LoadFailure = 3 ,
  LicenseUnavailable = 4 , AvailableWithLimitations = 5 , Available = 6
}
 Describes the availability state of a solver adapter on the current computer. More...
enum  SolverCapability {
  Unknown = 0 , LinearProgramming = 1 , MixedIntegerLinearProgramming = 2 , QuadraticProgramming = 3 ,
  MixedIntegerQuadraticProgramming = 4 , ProgressCallbacks = 5 , IncumbentCallbacks = 6 , UserCutCallbacks = 7 ,
  LazyConstraintCallbacks = 8 , HeuristicCallbacks = 9 , BranchCallbacks = 10 , NodeCallbacks = 11 ,
  Interruption = 12 , WarmStart = 13 , SolutionPool = 14 , LpExport = 15 ,
  MpsExport = 16 , LpImport = 17 , MpsImport = 18 , InfeasibilityAnalysis = 19 ,
  ConflictRefinement = 20 , DeterministicParallelism = 21 , LogCapture = 22 , OptimalityGapReporting = 23 ,
  SearchStatistics = 24
}
 Identifies an optional capability implemented by a solver adapter. More...
enum  SolverKind {
  Unknown = 0 , Automatic = 1 , Cplex = 2 , Gurobi = 3 ,
  Xpress = 4 , CoinOrCbc = 5
}
 Identifies a supported mathematical optimization solver. More...
enum  SolverProgressStage {
  Unknown = 0 , Initializing = 1 , BuildingModel = 2 , LoadingModel = 3 ,
  Presolving = 4 , SolvingRootRelaxation = 5 , Searching = 6 , IncumbentFound = 7 ,
  ProcessingCallback = 8 , Finalizing = 9 , Completed = 10 , Interrupted = 11 ,
  Failed = 12
}
 Identifies the current stage of a solver execution. More...
enum  SolverTerminationReason {
  Unknown = 0 , Optimal = 1 , Feasible = 2 , Infeasible = 3 ,
  Unbounded = 4 , InfeasibleOrUnbounded = 5 , TimeLimit = 6 , NodeLimit = 7 ,
  IterationLimit = 8 , SolutionLimit = 9 , MemoryLimit = 10 , ObjectiveLimit = 11 ,
  RelativeGapLimit = 12 , AbsoluteGapLimit = 13 , UserInterrupted = 14 , NumericalDifficulty = 15 ,
  LicenseError = 16 , SolverUnavailable = 17 , ModelError = 18 , InternalError = 19
}
 Describes why a solver execution terminated. More...

Enumeration Type Documentation

◆ SolverAdapterLoadStatus

Describes the result of loading a solver adapter plugin.

Enumerator
Unknown 

The adapter load status is unknown.

Discovered 

The adapter was discovered but has not been loaded yet.

AssemblyNotFound 

The adapter assembly file could not be found.

AssemblyLoadFailure 

The adapter assembly could not be loaded.

AdapterTypeNotFound 

The requested adapter type could not be found in the loaded assembly.

InvalidAdapterType 

The adapter type does not implement the required solver adapter contract.

InstantiationFailure 

The adapter could not be instantiated.

NativeDependencyFailure 

One or more native solver dependencies could not be loaded.

Loaded 

The adapter was loaded successfully.

Definition at line 11 of file SolverAdapterLoadStatus.cs.

◆ SolverAvailabilityStatus

Describes the availability state of a solver adapter on the current computer.

Enumerator
Unknown 

The solver availability has not been checked.

NotInstalled 

The solver is not installed or cannot be located.

LibrariesMissing 

The solver installation was detected, but one or more required managed or native libraries are missing.

LoadFailure 

The solver libraries were found, but they could not be loaded by the current process.

LicenseUnavailable 

The solver was detected, but no valid license is currently available.

AvailableWithLimitations 

The solver is available with functional limitations, such as a restricted license or reduced callback support.

Available 

The solver is installed, loadable, licensed when required, and available for use.

Definition at line 12 of file SolverAvailabilityStatus.cs.

◆ SolverCapability

Identifies an optional capability implemented by a solver adapter.

Enumerator
Unknown 

No capability has been specified.

LinearProgramming 

Solves continuous linear programming models.

MixedIntegerLinearProgramming 

Solves mixed-integer linear programming models.

QuadraticProgramming 

Solves quadratic programming models.

MixedIntegerQuadraticProgramming 

Solves mixed-integer quadratic programming models.

ProgressCallbacks 

Reports solver progress during optimization.

IncumbentCallbacks 

Reports newly discovered incumbent solutions.

UserCutCallbacks 

Supports user-defined cut callbacks.

LazyConstraintCallbacks 

Supports lazy-constraint callbacks.

HeuristicCallbacks 

Supports heuristic-solution callbacks.

BranchCallbacks 

Supports callbacks related to branching decisions.

NodeCallbacks 

Supports callbacks related to search-tree nodes.

Interruption 

Supports cooperative interruption of a running solve.

WarmStart 

Supports warm starts or MIP starts.

SolutionPool 

Supports multiple solution retrieval.

LpExport 

Supports exporting a model in LP format.

MpsExport 

Supports exporting a model in MPS format.

LpImport 

Supports importing a model from LP format.

MpsImport 

Supports importing a model from MPS format.

InfeasibilityAnalysis 

Supports infeasibility analysis such as IIS extraction.

ConflictRefinement 

Supports conflict refinement.

DeterministicParallelism 

Supports deterministic parallel optimization.

LogCapture 

Supports solver-native log capture.

OptimalityGapReporting 

Supports obtaining the final best bound and optimality gap.

SearchStatistics 

Supports obtaining explored-node and iteration counts.

Definition at line 12 of file SolverCapability.cs.

◆ SolverKind

Identifies a supported mathematical optimization solver.

Enumerator
Unknown 

No solver has been specified.

Automatic 

The solver is selected automatically from the adapters available on the current computer.

Cplex 

IBM ILOG CPLEX Optimization Studio.

Gurobi 

Gurobi Optimizer.

Xpress 

FICO Xpress Optimizer.

CoinOrCbc 

COIN-OR CBC mixed-integer programming solver.

Definition at line 11 of file SolverKind.cs.

◆ SolverProgressStage

Identifies the current stage of a solver execution.

Enumerator
Unknown 

The execution stage is unknown.

Initializing 

The solver request is being initialized.

BuildingModel 

The mathematical model is being generated.

LoadingModel 

The generated model is being transferred to the selected solver.

Presolving 

The solver presolve phase is running.

SolvingRootRelaxation 

The root linear relaxation is being solved.

Searching 

The branch-and-bound or branch-and-cut search is running.

IncumbentFound 

A new incumbent solution has been found.

ProcessingCallback 

The solver is processing a callback.

Finalizing 

The solver is finalizing the optimization result.

Completed 

The solver execution completed successfully.

Interrupted 

The solver execution was interrupted.

Failed 

The solver execution failed.

Definition at line 11 of file SolverProgressStage.cs.

◆ SolverTerminationReason

Describes why a solver execution terminated.

Enumerator
Unknown 

The termination reason is unknown.

Optimal 

An optimal solution was proven.

Feasible 

A feasible solution was found, but optimality was not proven.

Infeasible 

The mathematical model was proven infeasible.

Unbounded 

The mathematical model was proven unbounded.

InfeasibleOrUnbounded 

The solver could not distinguish between infeasibility and unboundedness.

TimeLimit 

The configured time limit was reached.

NodeLimit 

The configured node limit was reached.

IterationLimit 

The configured iteration limit was reached.

SolutionLimit 

The configured solution limit was reached.

MemoryLimit 

The configured memory limit was reached.

ObjectiveLimit 

The configured objective limit was reached.

RelativeGapLimit 

The configured relative optimality-gap limit was reached.

AbsoluteGapLimit 

The configured absolute optimality-gap limit was reached.

UserInterrupted 

The execution was interrupted by the user or by a cancellation request.

NumericalDifficulty 

The solver stopped because of numerical difficulties.

LicenseError 

The solver could not run because a valid license was unavailable.

SolverUnavailable 

The requested solver was unavailable on the current computer.

ModelError 

The mathematical model was invalid or unsupported.

InternalError 

The solver stopped because of an internal error.

Definition at line 11 of file SolverTerminationReason.cs.