12 boost::mpi::communicator* pworld_ =
nullptr;
13 SOLVER solver_ = SOLVER::BENDERS;
18 criterion_input_holder_;
19 std::shared_ptr<BendersBase> benders_ =
nullptr;
20 Logger logger_ =
nullptr;
21 std::shared_ptr<Output::OutputWriter> writer_ =
nullptr;
22 std::shared_ptr<MathLoggerDriver> math_log_driver_;
23 BENDERSMETHOD method_ = BENDERSMETHOD::BENDERS;
24 std::string context_ = bendersmethod_to_string(BENDERSMETHOD::BENDERS);
25 std::string positive_unsupplied_file_;
26 static constexpr const char*
const LOLD_FILE =
"LOLD.txt";
28 [[nodiscard]]
int RunExternalLoop();
29 [[nodiscard]]
int RunBenders();
30 void InitializeBendersEnvironment(
bool outer_loop);
31 void SetupMathLogger(
bool benders_log_console)
const;
33 void EndMessage(
const double execution_time);
34 void AddCriterionOutputs();
35 bool isCriterionListEmpty()
const;
39 explicit BendersApp(
const std::filesystem::path& options_file,
40 boost::mpi::communicator& world,
41 const SOLVER& solver);
43 std::filesystem::path LogReportsName()
const;