9 std::vector<unsigned> random_batch_permutation_;
12 using BendersMpi::BendersMpi;
15 void BuildCut(
const std::vector<std::string>& batch_sub_problems,
16 double* batch_contribution_in_gap,
17 std::vector<double>& external_loop_criterion_current_batch);
19 std::string BendersName()
const override
21 return "Benders By Batch mpi";
25 void InitializeProblems()
override;
26 void BroadcastSingleSubpbCostsUnderApprox();
27 void ComputeXCut()
override;
32 void GetSubproblemCut(SubProblemDataMap& subproblem_cut_package,
33 const std::vector<std::string>& batch_sub_problems);
34 double ComputeBatchContributionInGap(
35 const std::vector<SubProblemDataMap>& gathered_subproblem_map,
36 const std::vector<SubProblemNamesInCut>& subproblems_per_cut)
const;
40 void SeparationLoop();
41 void UpdateRemainingEpsilon();
44 size_t number_of_batch_;
45 unsigned current_batch_id_;
46 double remaining_epsilon_;
47 double cumulative_subproblems_timer_per_iter_;
49 int first_unsolved_batch_;
void BuildCut(const std::vector< std::string > &batch_sub_problems, double *batch_contribution_in_gap, 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:274