LINE Solver (C++)
Templated C++ port of the LINE queueing solver
Loading...
Searching...
No Matches
results.h File Reference

What an evaluation and a solve return. More...

#include <cmath>
#include <limits>
#include <map>
#include <memory>
#include <numeric>
#include <string>
#include <vector>
Include dependency graph for results.h:

Go to the source code of this file.

Classes

class  line::opt::SensitivityData
struct  line::opt::EvaluationResult
struct  line::opt::OptimizationResult

Namespaces

namespace  line
namespace  line::opt

Typedefs

using line::opt::Value = std::vector<double>
using line::opt::VariableValues = std::map<std::string, Value>

Functions

double line::opt::scalar_value (const Value &v)
std::string line::opt::metric_key (const std::string &station, const std::string &jobclass)

Detailed Description

What an evaluation and a solve return.

A Value is the vector a decision variable decodes to, and VariableValues maps a variable name to one. EvaluationResult carries the metrics read back from the solved model, keyed by metric_key(station, jobclass) – the station||jobclass spelling – with accessors that sum over classes when the class is left empty.

SensitivityData is a three-level map (kind, metric, parameter), accumulated rather than overwritten, so several sources can contribute to one entry. OptimizationResult is the outcome: the variable values, the objective, the feasibility flag and the per-constraint violations, plus the iteration and model-evaluation counts and what terminated the search.

Definition in file results.h.