diff --git a/src/MibSBilevel.cpp b/src/MibSBilevel.cpp index 07f406f5..e086f572 100644 --- a/src/MibSBilevel.cpp +++ b/src/MibSBilevel.cpp @@ -71,7 +71,7 @@ MibSBilevel::createBilevel(CoinPackedVector* sol, bool solveSecondLevelWhenLVarsFixed(model_->MibSPar_->entry (MibSParams::solveSecondLevelWhenLVarsFixed) == PARAM_ON); int cutStrategy(model_->MibSPar_->entry - (MibSParams::cutStrategy)); + (MibSParams::miblpCutStrategy)); MibSSolType storeSol(MibSNoSol); diff --git a/src/MibSConstants.hpp b/src/MibSConstants.hpp index a660d835..16cb0ba3 100644 --- a/src/MibSConstants.hpp +++ b/src/MibSConstants.hpp @@ -48,8 +48,8 @@ enum MibSSolType{ enum MibSMILPCutStrategy{ MibSMILPCutStrategyNotSet = -2, - MibSMILPCutStrategyOn, //blisCutStrategyNotSet - MibSMILPCutStrategyOff, //blisCutStrategyNone + MibSMILPCutStrategyDefault, //blisCutStrategyNotSet + MibSMILPCutStrategyNone, //blisCutStrategyNone MibSMILPCutStrategyRoot, //blisCutStrategyRoot MibSMILPCutStrategyAuto, //blisCutStrategyAuto MibSMILPCutStrategyPeriodic //blisCutStrategyPeriodic diff --git a/src/MibSCutGenerator.cpp b/src/MibSCutGenerator.cpp index d2b09e4e..dbbf8e7a 100644 --- a/src/MibSCutGenerator.cpp +++ b/src/MibSCutGenerator.cpp @@ -5827,7 +5827,7 @@ MibSCutGenerator::generateConstraints(BcpsConstraintPool &conPool) int numCuts(0); int cutStrategy = - localModel_->MibSPar_->entry(MibSParams::cutStrategy); + localModel_->MibSPar_->entry(MibSParams::miblpCutStrategy); int useLinkingSolutionPool(localModel_->MibSPar_->entry (MibSParams::useLinkingSolutionPool)); diff --git a/src/MibSModel.cpp b/src/MibSModel.cpp index 975623ca..ad953b2c 100644 --- a/src/MibSModel.cpp +++ b/src/MibSModel.cpp @@ -2054,7 +2054,7 @@ MibSModel::setupSelf() // Add cut generators. //------------------------------------------------------ - if (MibSPar_->entry(MibSParams::cutStrategy) != BRANCHONLY){ + if (MibSPar_->entry(MibSParams::miblpCutStrategy) != BRANCHONLY){ MibSCutGenerator *cg = new MibSCutGenerator(this); @@ -3832,15 +3832,20 @@ MibSModel::adjustParameters() if (MibSPar()->entry(MibSParams::milpCutStrategy) == MibSMILPCutStrategyNotSet){ if (isInterdict_){ - MibSPar()->setEntry(MibSParams::milpCutStrategy, MibSMILPCutStrategyOff); + MibSPar()->setEntry(MibSParams::milpCutStrategy, MibSMILPCutStrategyNone); BlisPar()->setEntry(BlisParams::cutStrategy, BlisCutStrategyNone); }else{ - MibSPar()->setEntry(MibSParams::milpCutStrategy, MibSMILPCutStrategyOn); + std::cout << "Generic MILP cuts will be generated."; + std::cout << std::endl; + MibSPar()->setEntry(MibSParams::milpCutStrategy, MibSMILPCutStrategyDefault); BlisPar()->setEntry(BlisParams::cutStrategy, BlisCutStrategyNotSet); } + }else{ + BlisPar()->setEntry(BlisParams::cutStrategy, + MibSPar_->entry(MibSParams::milpCutStrategy)); } - - if (MibSPar_->entry(MibSParams::cutStrategy) == BRANCHONLY){ + + if (MibSPar_->entry(MibSParams::miblpCutStrategy) == BRANCHONLY){ turnOffDefaultCuts = true; } @@ -4188,6 +4193,14 @@ MibSModel::printProblemInfo(){ << std::endl; } + if (MibSPar_->entry(MibSParams::milpCutStrategy) == MibSMILPCutStrategyNone){ + std::cout << "Generic MILP cuts will not be generated."; + std::cout << std::endl; + }else{ + std::cout << "Generic MILP cuts will be generated."; + std::cout << std::endl; + } + if(MibSPar_->entry(MibSParams::useBendersBinaryCut) == PARAM_ON){ std::cout << "Benders binary cut generator is on."; std::cout << std::endl; diff --git a/src/MibSParams.cpp b/src/MibSParams.cpp index dc7d36be..04d756f6 100644 --- a/src/MibSParams.cpp +++ b/src/MibSParams.cpp @@ -100,8 +100,8 @@ MibSParams::createKeywordList() { keys_.push_back(make_pair(std::string("MibS_bilevelCutTypes"), AlpsParameter(AlpsIntPar, bilevelCutTypes))); - keys_.push_back(make_pair(std::string("MibS_cutStrategy"), - AlpsParameter(AlpsIntPar, cutStrategy))); + keys_.push_back(make_pair(std::string("MibS_miblpCutStrategy"), + AlpsParameter(AlpsIntPar, miblpCutStrategy))); keys_.push_back(make_pair(std::string("MibS_objBoundStrategy"), AlpsParameter(AlpsIntPar, objBoundStrategy))); @@ -345,7 +345,7 @@ MibSParams::setDefaultEntries() { setEntry(bilevelCutTypes, GENERALONLY); - setEntry(cutStrategy, BRANCHANDCUT); + setEntry(miblpCutStrategy, BRANCHANDCUT); setEntry(objBoundStrategy, LPBOUND); diff --git a/src/MibSParams.hpp b/src/MibSParams.hpp index 4dac0a52..f7fbe229 100644 --- a/src/MibSParams.hpp +++ b/src/MibSParams.hpp @@ -51,7 +51,7 @@ class MibSParams : public AlpsParameterSet { maxNumActiveCons, bilevelProblemType, bilevelCutTypes, - cutStrategy, + miblpCutStrategy, objBoundStrategy, milpCutStrategy, blisBranchStrategy,