Antares Xpansion
Investment simulations for Antares studies
Loading...
Searching...
No Matches
BendersSequential.h
1#pragma once
2
3#include "antares-xpansion/benders/benders_core/BendersBase.h"
4#include "antares-xpansion/benders/benders_core/common.h"
5#include "antares-xpansion/helpers/ArchiveReader.h"
6#include "antares-xpansion/xpansion_interfaces/ILogger.h"
7
13{
14public:
15 explicit BendersSequential(const BendersBaseOptions& options,
16 Logger logger,
17 std::shared_ptr<Output::OutputWriter> writer,
18 std::shared_ptr<MathLoggerDriver> mathLoggerDriver);
19 virtual ~BendersSequential() = default;
20 virtual void launch();
21 virtual void BuildCut();
22 virtual void InitializeProblems();
23
24 std::string BendersName() const
25 {
26 return "Sequential";
27 }
28
29protected:
30 virtual void free();
31 virtual void Run();
32
33 [[nodiscard]] bool shouldParallelize() const final
34 {
35 return true;
36 }
37
38private:
39 ArchiveReader reader_;
40};
Definition ArchiveReader.h:11
Definition BendersBase.h:40
Class use run the benders algorithm in sequential.
Definition BendersSequential.h:13
virtual void BuildCut()
Build subproblem cut and store it in the BendersSequential trace.
Definition BendersSequential.cpp:68
virtual void Run()
Run BendersSequential algorithm.
Definition BendersSequential.cpp:89
virtual void free()
Method to free the memory used by each problem.
Definition BendersSequential.cpp:52
BendersSequential(const BendersBaseOptions &options, Logger logger, std::shared_ptr< Output::OutputWriter > writer, std::shared_ptr< MathLoggerDriver > mathLoggerDriver)
Constructor of class BendersSequential.
Definition BendersSequential.cpp:19
Definition launch.py:1
Definition common.h:208