8 std::vector<unsigned> random_batch_permutation_;
12 Writer writer, mpi::environment &env, mpi::communicator &world,
13 std::shared_ptr<MathLoggerDriver> mathLoggerDriver);
16 void BuildCut(
const std::vector<std::string> &batch_sub_problems,
double *sum,
17 std::vector<double> &external_loop_criterion_current_batch);
18 std::string BendersName()
const override {
return "Benders By Batch mpi"; }
21 void InitializeProblems()
override;
22 void BroadcastSingleSubpbCostsUnderApprox();
23 void ComputeXCut()
override;
28 void GetSubproblemCut(
29 SubProblemDataMap &subproblem_cut_package,
30 const std::vector<std::string> &batch_sub_problems,
31 double *batch_subproblems_costs_contribution_in_gap_per_proc);
35 void SeparationLoop();
36 void UpdateRemainingEpsilon();
39 size_t number_of_batch_;
40 unsigned current_batch_id_;
41 int number_of_sub_problem_resolved_;
42 double remaining_epsilon_;
43 double cumulative_subproblems_timer_per_iter_;
45 int first_unsolved_batch_;
void BuildCut(const std::vector< std::string > &batch_sub_problems, double *sum, std::vector< double > &external_loop_criterion_current_batch)
Build subproblem cut Method to build subproblem cuts and add them to the Master problem.
Definition BendersByBatch.cpp:233