-
Notifications
You must be signed in to change notification settings - Fork 24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
merge dev/qcqp
to master
#215
base: master
Are you sure you want to change the base?
Conversation
x1 x1 2 | ||
x2 x2 1 | ||
QCMATRIX QC1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@gbyeon looks like you already implemented some code to parse this?
@@ -164,6 +166,83 @@ DSP_RTN_CODE BdSub::loadProblem(DecModel* model) | |||
|
|||
/** load problem */ | |||
cglp_[i]->si_->loadProblem(*mat_reco, clbd_reco, cubd_reco, obj_reco, rlbd_reco, rubd_reco); | |||
/** add quadratic constraints */ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@gbyeon did you implement the benders too?
if (clbd_core_[i][idx] < 0.0) | ||
clbd_core_[i][idx] = 0.0; | ||
if (clbd_core_[i][idx] > 1.0) | ||
cubd_core_[i][idx] = 1.0; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should just set 0 and 1 for the bounds of binary variable. @gbyeon please let me know if you agree.
@@ -57,11 +57,11 @@ if (NOT ${CPLEX_LIB_DIR} STREQUAL "") | |||
endif() | |||
|
|||
if(NOT ${GUROBI_LIB_DIR} STREQUAL "") | |||
find_library(GUROBILIB NAMES gurobi90 PATHS ${GUROBI_LIB_DIR}) | |||
find_library(GUROBILIB NAMES gurobi91 PATHS ${GUROBI_LIB_DIR}) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can this be independent to versions?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Comment to my self: Reviewing the code; still need to review src/Model/StoModel.cpp
Codecov Report
@@ Coverage Diff @@
## master #215 +/- ##
==========================================
- Coverage 13.31% 12.73% -0.58%
==========================================
Files 90 92 +2
Lines 12353 12920 +567
==========================================
+ Hits 1645 1646 +1
- Misses 10708 11274 +566
Continue to review full report at Codecov.
|
@@ -492,8 +512,842 @@ void split(const std::string& str, Container& cont) | |||
back_inserter(cont)); | |||
} | |||
|
|||
void addAffineRowOfL(double * L, int n, vector<int> indices, CoinPackedVector ** &rows_core_temp, int cstart_of_col_to_add, int rstart_of_row_to_add, int linnzcnt, int *linind, double *linval) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@gbyeon Can you add a brief description about this function?
src/Model/StoModel.h
Outdated
DSP_RTN_CODE chgToSocp(vector<int> &qc_rstart); | ||
void getL(double * &Q, int quadnzcnt, int *quadcol, int *quadrow, double *quadval, vector<int> &indices, int &n); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@gbyeon Can you also add a description for each function?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are some questions to be answered. Please find my questions to you @gbyeon
- It eliminates the need to use Chg_To_Socp for solving a problem with coupling qcs using `dd` and `de`, i.e., Chg_To_Socp = false is recommended. - It allows coupling qc to be input both from smps files and DSPopt.jl - Currently, only CPLEX is available for solving a problem with coupling qcs. To extend it to Gurobi and Scip, `addRows` and `chgRhs` should be added in DspOsiScip.h and DspOsiGrb.h
…-Laboratory/DSP into dev/qcqp-gbyeon
…ory/DSP into dev/qcqp-gbyeon
Fix minor bugs when testing
More outputs from binary `runDsp`
Provide reproducible setting
No description provided.