Skip to content

Commit

Permalink
always name additionnal constraint
Browse files Browse the repository at this point in the history
  • Loading branch information
a-zakir committed Feb 9, 2024
1 parent abe1549 commit f24b983
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 5 deletions.
12 changes: 9 additions & 3 deletions src/cpp/benders/benders_core/MasterUpdateBase.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,24 @@

MasterUpdateBase::MasterUpdateBase(pBendersBase benders, double lambda,
double lambda_min, double lambda_max,
double tau, const std::string &name)
double tau)
: benders_(std::move(benders)),
lambda_(lambda),
lambda_min_(lambda_min),
lambda_max_(lambda_max),
additional_constraint_name_(name) {
lambda_max_(lambda_max) {
if (tau >= 0 && tau <= 1) {
// TODO log
tau_ = tau;
}
}

MasterUpdateBase::MasterUpdateBase(pBendersBase benders, double lambda,
double lambda_min, double lambda_max,
double tau, const std::string &name)
: MasterUpdateBase(benders, lambda, lambda_min, lambda_max, tau) {
additional_constraint_name_ = name;
}

void MasterUpdateBase::Update(const CRITERION &criterion) {
switch (criterion) {
case CRITERION::LESSER:
Expand Down
6 changes: 4 additions & 2 deletions src/cpp/benders/benders_core/include/MasterUpdate.h
Original file line number Diff line number Diff line change
Expand Up @@ -13,17 +13,19 @@ class IMasterUpdate {

class MasterUpdateBase : public IMasterUpdate {
public:
explicit MasterUpdateBase(pBendersBase benders, double lambda,
double lambda_min, double lambda_max, double tau);
explicit MasterUpdateBase(pBendersBase benders, double lambda,
double lambda_min, double lambda_max, double tau,
const std::string &name = {});
const std::string &name);
void Update(const CRITERION &criterion) override;

private:
void UpdateConstraints();
// bool IsConstraintInMasterProblem(int &row_index) const;
// void AddCutsInMaster() override;
// rename
const std::string additional_constraint_name_ = "External_Loop_Constraint";
std::string additional_constraint_name_ = "External_Loop_Constraint";
int additional_constraint_index_ = -1;
pBendersBase benders_;
double lambda_ = 0;
Expand Down

0 comments on commit f24b983

Please sign in to comment.