12 boost::mpi::environment* penv_ =
nullptr;
13 boost::mpi::communicator* pworld_ =
nullptr;
14 SOLVER solver_ = SOLVER::BENDERS;
19 criterion_input_holder_;
20 std::shared_ptr<BendersBase> benders_ =
nullptr;
21 Logger logger_ =
nullptr;
22 std::shared_ptr<Output::OutputWriter> writer_ =
nullptr;
23 std::shared_ptr<MathLoggerDriver> math_log_driver_;
24 BENDERSMETHOD method_ = BENDERSMETHOD::BENDERS;
25 std::string context_ = bendersmethod_to_string(BENDERSMETHOD::BENDERS);
26 std::string positive_unsupplied_file_;
27 static constexpr const char*
const LOLD_FILE =
"LOLD.txt";
29 [[nodiscard]]
int RunExternalLoop();
30 [[nodiscard]]
int RunBenders();
31 [[nodiscard]] std::shared_ptr<MathLoggerDriver> BuildMathLogger(
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::environment& env,
41 boost::mpi::communicator& world,
42 const SOLVER& solver);
44 std::filesystem::path LogReportsName()
const;