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

#include <line/opt/evaluator.h>

Public Types

using Model = std::variant<qn::Network<double>, lqn::LqnModel<double>>
using SolveFunction
using LayerSensitivityMap = std::map<std::string, LayerSensitivity>

Public Member Functions

 LineEvaluator (qn::Network< double > model, std::vector< VariablePtr > variables, std::vector< std::pair< VariablePtr, Value > > fixed={}, SolveFunction solve={})
 LineEvaluator (lqn::LqnModel< double > model, std::vector< VariablePtr > variables, std::vector< std::pair< VariablePtr, Value > > fixed={})
 LineEvaluator (Model model, std::vector< VariablePtr > variables, std::vector< std::pair< VariablePtr, Value > > fixed={}, SolveFunction solve={})
bool is_layered () const
std::size_t evaluation_count () const
std::vector< std::pair< double, double > > bounds () const
VariableValues decode (const std::vector< double > &x) const
EvaluationResult evaluate (const VariableValues &values)
std::optional< LayerSensitivityMapevaluate_layered_sensitivities (const VariableValues &values) const

Detailed Description

Definition at line 46 of file evaluator.h.

Member Typedef Documentation

◆ LayerSensitivityMap

Definition at line 51 of file evaluator.h.

◆ Model

using line::opt::LineEvaluator::Model = std::variant<qn::Network<double>, lqn::LqnModel<double>>

Definition at line 48 of file evaluator.h.

◆ SolveFunction

Initial value:
std::function<mva::AvgResult<double>(
A network plus its refreshed NetworkStruct.

Definition at line 49 of file evaluator.h.

Constructor & Destructor Documentation

◆ LineEvaluator() [1/3]

line::opt::LineEvaluator::LineEvaluator ( qn::Network< double > model,
std::vector< VariablePtr > variables,
std::vector< std::pair< VariablePtr, Value > > fixed = {},
SolveFunction solve = {} )
inline

Definition at line 53 of file evaluator.h.

◆ LineEvaluator() [2/3]

line::opt::LineEvaluator::LineEvaluator ( lqn::LqnModel< double > model,
std::vector< VariablePtr > variables,
std::vector< std::pair< VariablePtr, Value > > fixed = {} )
inline

Definition at line 59 of file evaluator.h.

◆ LineEvaluator() [3/3]

line::opt::LineEvaluator::LineEvaluator ( Model model,
std::vector< VariablePtr > variables,
std::vector< std::pair< VariablePtr, Value > > fixed = {},
SolveFunction solve = {} )
inline

Definition at line 63 of file evaluator.h.

Member Function Documentation

◆ bounds()

std::vector< std::pair< double, double > > line::opt::LineEvaluator::bounds ( ) const
inline

Definition at line 84 of file evaluator.h.

◆ decode()

VariableValues line::opt::LineEvaluator::decode ( const std::vector< double > & x) const
inline

Definition at line 87 of file evaluator.h.

◆ evaluate()

EvaluationResult line::opt::LineEvaluator::evaluate ( const VariableValues & values)
inline

◆ evaluate_layered_sensitivities()

std::optional< LayerSensitivityMap > line::opt::LineEvaluator::evaluate_layered_sensitivities ( const VariableValues & values) const
inline

◆ evaluation_count()

std::size_t line::opt::LineEvaluator::evaluation_count ( ) const
inline

Definition at line 83 of file evaluator.h.

◆ is_layered()

bool line::opt::LineEvaluator::is_layered ( ) const
inline

Definition at line 80 of file evaluator.h.

Referenced by evaluate(), and evaluate_layered_sensitivities().


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