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 [[nodiscard]] std::shared_ptr<MathLoggerDriver> BuildMathLogger(
bool benders_log_console)
const;
32 void EndMessage(
const double execution_time);
33 void AddCriterionOutputs();
34 bool isCriterionListEmpty()
const;
38 explicit BendersApp(
const std::filesystem::path& options_file,
39 boost::mpi::communicator& world,
40 const SOLVER& solver);
42 std::filesystem::path LogReportsName()
const;