Antares Xpansion
Investment simulations for Antares studies
Loading...
Searching...
No Matches
CriterionComputation.h
1#pragma once
2
3#include "CriterionInputDataReader.h"
4#include "VariablesGroup.h"
5
6namespace Benders::Criterion
7{
8
10{
11public:
15 explicit CriterionComputation() = default;
16
26 explicit CriterionComputation(const CriterionInputData& criterion_input_data);
27
38 void SearchVariables(const std::vector<std::string>& variables);
39
56 void ComputeCriterion(double subproblem_weight,
57 const std::vector<double>& sub_problem_solution,
58 std::vector<double>& criteria,
59 std::vector<double>& patterns_values);
60
69 std::vector<std::vector<int>>& getVarIndices();
70
80
81 bool IsEmpty() const
82 {
83 return criterion_input_data_.Criteria().empty();
84 }
85
86private:
87 std::vector<std::vector<int>> var_indices_ = {};
88 CriterionInputData criterion_input_data_;
89};
90} // namespace Benders::Criterion
Definition CriterionComputation.h:10
CriterionComputation()=default
default constructor
void ComputeCriterion(double subproblem_weight, const std::vector< double > &sub_problem_solution, std::vector< double > &criteria, std::vector< double > &patterns_values)
Computes the criteria based on subproblem solutions.
Definition CriterionComputation.cpp:6
const CriterionInputData & getCriterionInputData() const
Retrieves the criterion input data.
Definition CriterionComputation.cpp:43
std::vector< std::vector< int > > & getVarIndices()
Retrieves the variable indices.
Definition CriterionComputation.cpp:48
void SearchVariables(const std::vector< std::string > &variables)
Searches for relevant variables based on the provided variable names.
Definition CriterionComputation.cpp:37
this class contains all data read from user input file
Definition CriterionInputDataReader.h:84