Skip to content

Commit 302f414

Browse files
committed
Allow for better setting of MILP cut strategy and better naming of parameters
1 parent 4cf7a75 commit 302f414

File tree

4 files changed

+25
-9
lines changed

4 files changed

+25
-9
lines changed

src/MibSConstants.hpp

+11
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,17 @@ enum MibSSolType{
4646

4747
//#############################################################################
4848

49+
enum MibSMILPCutStrategy{
50+
MibSMILPCutStrategyNotSet = -2,
51+
MibSMILPCutStrategyOn, //blisCutStrategyNotSet
52+
MibSMILPCutStrategyOff, //blisCutStrategyNone
53+
MibSMILPCutStrategyRoot, //blisCutStrategyRoot
54+
MibSMILPCutStrategyAuto, //blisCutStrategyAuto
55+
MibSMILPCutStrategyPeriodic //blisCutStrategyPeriodic
56+
};
57+
58+
//#############################################################################
59+
4960
enum MibSBranchingStrategy{
5061
MibSBranchingStrategyNotSet = -1,
5162
MibSBranchingStrategyFractional,

src/MibSModel.cpp

+10-5
Original file line numberDiff line numberDiff line change
@@ -240,8 +240,8 @@ MibSModel::readParameters(const int argnum, const char * const * arglist)
240240
BlisPar_->readFromArglist(argnum, arglist);
241241
MibSPar_->readFromArglist(argnum, arglist);
242242

243-
BlisPar()->setEntry(BlisParams::cutStrategy,
244-
MibSPar_->entry(MibSParams::blisCutStrategy));
243+
//BlisPar()->setEntry(BlisParams::cutStrategy,
244+
// MibSPar_->entry(MibSParams::milpCutStrategy));
245245
BlisPar()->setEntry(BlisParams::branchStrategy,
246246
MibSPar_->entry(MibSParams::blisBranchStrategy));
247247

@@ -3830,9 +3830,14 @@ MibSModel::adjustParameters()
38303830
}
38313831
}
38323832

3833-
if (isInterdict_){
3834-
MibSPar()->setEntry(MibSParams::blisCutStrategy, 0);
3835-
BlisPar()->setEntry(BlisParams::cutStrategy, 0);
3833+
if (MibSPar()->entry(MibSParams::milpCutStrategy) == MibSMILPCutStrategyNotSet){
3834+
if (isInterdict_){
3835+
MibSPar()->setEntry(MibSParams::milpCutStrategy, MibSMILPCutStrategyOff);
3836+
BlisPar()->setEntry(BlisParams::cutStrategy, BlisCutStrategyNone);
3837+
}else{
3838+
MibSPar()->setEntry(MibSParams::milpCutStrategy, MibSMILPCutStrategyOn);
3839+
BlisPar()->setEntry(BlisParams::cutStrategy, BlisCutStrategyNotSet);
3840+
}
38363841
}
38373842

38383843
if (MibSPar_->entry(MibSParams::cutStrategy) == BRANCHONLY){

src/MibSParams.cpp

+3-3
Original file line numberDiff line numberDiff line change
@@ -106,8 +106,8 @@ MibSParams::createKeywordList() {
106106
keys_.push_back(make_pair(std::string("MibS_objBoundStrategy"),
107107
AlpsParameter(AlpsIntPar, objBoundStrategy)));
108108

109-
keys_.push_back(make_pair(std::string("MibS_blisCutStrategy"),
110-
AlpsParameter(AlpsIntPar, blisCutStrategy)));
109+
keys_.push_back(make_pair(std::string("MibS_milpCutStrategy"),
110+
AlpsParameter(AlpsIntPar, milpCutStrategy)));
111111

112112
keys_.push_back(make_pair(std::string("MibS_blisBranchStrategy"),
113113
AlpsParameter(AlpsIntPar, blisBranchStrategy)));
@@ -349,7 +349,7 @@ MibSParams::setDefaultEntries() {
349349

350350
setEntry(objBoundStrategy, LPBOUND);
351351

352-
setEntry(blisCutStrategy, -1);
352+
setEntry(milpCutStrategy, MibSMILPCutStrategyDefault);
353353

354354
setEntry(blisBranchStrategy, 1);
355355

src/MibSParams.hpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ class MibSParams : public AlpsParameterSet {
5353
bilevelCutTypes,
5454
cutStrategy,
5555
objBoundStrategy,
56-
blisCutStrategy,
56+
milpCutStrategy,
5757
blisBranchStrategy,
5858
branchStrategy,
5959
upperFileFormat,

0 commit comments

Comments
 (0)