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