Antares Xpansion
Investment simulations for Antares studies
Loading...
Searching...
No Matches
StudyUpdateStrategy.h
1//
2// Created by marechaljas on 16/06/22.
3//
4
5#pragma once
6
7#include "antares-xpansion/lpnamer/helper/ProblemGenerationLogger.h"
8#include "antares-xpansion/lpnamer/model/ActiveLinks.h"
9#include "antares-xpansion/xpansion_interfaces/LogUtils.h"
10
12{
13public:
14 [[nodiscard]] virtual int Update(const ActiveLink& link,
15 const std::map<std::string, double>& map)
16 = 0;
17 explicit StudyUpdateStrategy(
18 const std::filesystem::path& study_path,
19 std::shared_ptr<ProblemGenerationLog::ProblemGenerationLogger> logger);
20 virtual ~StudyUpdateStrategy() = default;
21
22 class NoInvestmentComputedForTheCandidate: public LogUtils::XpansionError<std::runtime_error>
23 {
24 using LogUtils::XpansionError<std::runtime_error>::XpansionError;
25 };
26
27protected:
28 void EnsureCandidateInvestmentFound(
29 const std::map<std::string, double>& investments_p,
30 const ActiveLink& link_p,
31 const Candidate& candidate,
32 const std::map<std::string, double>::const_iterator& it_candidate) const;
33
34 const std::filesystem::path antares_link_folder_path;
35
36 std::shared_ptr<ProblemGenerationLog::ProblemGenerationLogger> logger_;
37};
Candidate class.
Definition Candidate.h:35
Definition StudyUpdateStrategy.h:12