Skip to content

Commit

Permalink
give a name to the new constraint
Browse files Browse the repository at this point in the history
  • Loading branch information
a-zakir committed Feb 8, 2024
1 parent 35035c5 commit 3ff614c
Show file tree
Hide file tree
Showing 5 changed files with 18 additions and 12 deletions.
14 changes: 7 additions & 7 deletions src/cpp/benders/benders_core/BendersBase.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -858,11 +858,11 @@ void BendersBase::MasterChangeRhs(int id_row, double val) const {
_master->ChangeRhs(id_row, val);
}

void BendersBase::MasterAddRows(std::vector<char> const &qrtype_p,
std::vector<double> const &rhs_p,
std::vector<double> const &range_p,
std::vector<int> const &mstart_p,
std::vector<int> const &mclind_p,
std::vector<double> const &dmatval_p) const {
_master->AddRows(qrtype_p, rhs_p, range_p, mstart_p, mclind_p, dmatval_p);
void BendersBase::MasterAddRows(
std::vector<char> const &qrtype_p, std::vector<double> const &rhs_p,
std::vector<double> const &range_p, std::vector<int> const &mstart_p,
std::vector<int> const &mclind_p, std::vector<double> const &dmatval_p,
const std::vector<std::string> &row_names) const {
_master->AddRows(qrtype_p, rhs_p, range_p, mstart_p, mclind_p, dmatval_p,
row_names);
}
4 changes: 3 additions & 1 deletion src/cpp/benders/benders_core/MasterUpdateBase.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ void MasterUpdateBase::UpdateConstraints() {
std::vector<char> rtype(newrows, 'L');
std::vector<double> rhs(newrows, lambda_);
std::vector<int> mclind(newnz);
std::vector<std::string> row_names(newrows, ADDITIONAL_ROW_NAME);
size_t mclindCnt_l(0);
std::vector<double> matval(newnz);
for (auto const &[name, cost] : invest_cost) {
Expand All @@ -59,7 +60,8 @@ void MasterUpdateBase::UpdateConstraints() {
std::vector<int> matstart(newrows + 1);
matstart[0] = 0;
matstart[1] = newnz;
benders_->MasterAddRows(rtype, rhs, {}, matstart, mclind, matval);
benders_->MasterAddRows(rtype, rhs, {}, matstart, mclind, matval,
row_names);
}
}

Expand Down
6 changes: 4 additions & 2 deletions src/cpp/benders/benders_core/Worker.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,8 @@ void Worker::AddRows(std::vector<char> const &qrtype_p,
std::vector<double> const &range_p,
std::vector<int> const &mstart_p,
std::vector<int> const &mclind_p,
std::vector<double> const &dmatval_p) const {
solver_addrows(*_solver, qrtype_p, rhs_p, {}, mstart_p, mclind_p, dmatval_p);
std::vector<double> const &dmatval_p,
const std::vector<std::string> &row_names) const {
solver_addrows(*_solver, qrtype_p, rhs_p, {}, mstart_p, mclind_p, dmatval_p,
row_names);
}
3 changes: 2 additions & 1 deletion src/cpp/benders/benders_core/include/BendersBase.h
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,8 @@ class BendersBase {
std::vector<double> const &range_p,
std::vector<int> const &mstart_p,
std::vector<int> const &mclind_p,
std::vector<double> const &dmatval_p) const;
std::vector<double> const &dmatval_p,
const std::vector<std::string> &row_names) const;

protected:
CurrentIterationData _data;
Expand Down
3 changes: 2 additions & 1 deletion src/cpp/benders/benders_core/include/Worker.h
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,8 @@ class Worker {
std::vector<double> const &range_p,
std::vector<int> const &mstart_p,
std::vector<int> const &mclind_p,
std::vector<double> const &dmatval_p) const;
std::vector<double> const &dmatval_p,
const std::vector<std::string> &row_names) const;

public:
SolverAbstract::Ptr _solver =
Expand Down

0 comments on commit 3ff614c

Please sign in to comment.