LINE Solver (C++)
Templated C++ port of the LINE queueing solver
Loading...
Searching...
No Matches
line::opt::DecompositionWorkflow Class Reference

#include <line/opt/decomposition.h>

Public Member Functions

 DecompositionWorkflow (const OptimizationProblem &problem)
DecompositionWorkflowset_solver_options (LineOptSolverOptions options)
DecompositionWorkflowauto_decompose ()
DecompositionWorkflowset_dependency (const std::string &from_problem, const std::string &to_problem)
DecompositionWorkflowadd_subproblem (std::string name, std::vector< VariablePtr > variables, std::vector< std::string > after={})
const std::vector< SubProblem > & subproblems () const
std::vector< SubProblemexecution_order () const
WorkflowResult solve_sequential (std::size_t max_cycles=10, double tolerance=0.01) const
WorkflowResult solve_hierarchical () const
WorkflowResult solve_layered (std::size_t max_cycles=10, double tolerance=0.01, bool auto_freeze=true, double freeze_tolerance=1e-3, std::vector< std::string > frozen_layers={}) const

Static Public Member Functions

static const std::vector< std::string > & default_order ()

Detailed Description

Definition at line 82 of file decomposition.h.

Constructor & Destructor Documentation

◆ DecompositionWorkflow()

line::opt::DecompositionWorkflow::DecompositionWorkflow ( const OptimizationProblem & problem)
inlineexplicit

Definition at line 84 of file decomposition.h.

Referenced by add_subproblem(), auto_decompose(), set_dependency(), and set_solver_options().

Member Function Documentation

◆ add_subproblem()

DecompositionWorkflow & line::opt::DecompositionWorkflow::add_subproblem ( std::string name,
std::vector< VariablePtr > variables,
std::vector< std::string > after = {} )
inline

Definition at line 127 of file decomposition.h.

References DecompositionWorkflow().

◆ auto_decompose()

DecompositionWorkflow & line::opt::DecompositionWorkflow::auto_decompose ( )
inline

Definition at line 99 of file decomposition.h.

References DecompositionWorkflow(), and default_order().

◆ default_order()

const std::vector< std::string > & line::opt::DecompositionWorkflow::default_order ( )
inlinestatic

Definition at line 86 of file decomposition.h.

Referenced by auto_decompose().

◆ execution_order()

std::vector< SubProblem > line::opt::DecompositionWorkflow::execution_order ( ) const
inline

Definition at line 140 of file decomposition.h.

Referenced by solve_sequential().

◆ set_dependency()

DecompositionWorkflow & line::opt::DecompositionWorkflow::set_dependency ( const std::string & from_problem,
const std::string & to_problem )
inline

Definition at line 121 of file decomposition.h.

References DecompositionWorkflow().

◆ set_solver_options()

DecompositionWorkflow & line::opt::DecompositionWorkflow::set_solver_options ( LineOptSolverOptions options)
inline

Definition at line 94 of file decomposition.h.

References DecompositionWorkflow().

◆ solve_hierarchical()

WorkflowResult line::opt::DecompositionWorkflow::solve_hierarchical ( ) const
inline

Definition at line 208 of file decomposition.h.

References solve_sequential().

◆ solve_layered()

WorkflowResult line::opt::DecompositionWorkflow::solve_layered ( std::size_t max_cycles = 10,
double tolerance = 0.01,
bool auto_freeze = true,
double freeze_tolerance = 1e-3,
std::vector< std::string > frozen_layers = {} ) const
inline

Definition at line 210 of file decomposition.h.

◆ solve_sequential()

◆ subproblems()

const std::vector< SubProblem > & line::opt::DecompositionWorkflow::subproblems ( ) const
inline

Definition at line 138 of file decomposition.h.


The documentation for this class was generated from the following file: