Skip to content

Commit

Permalink
WIP
Browse files Browse the repository at this point in the history
  • Loading branch information
galabovaa committed Feb 19, 2025
1 parent f22d9e1 commit 14ac63d
Show file tree
Hide file tree
Showing 7 changed files with 80 additions and 11 deletions.
60 changes: 60 additions & 0 deletions difflogs
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
[ 0%] Building CXX object src/CMakeFiles/highs.dir/mip/HighsDomain.cpp.o
[ 0%] Building CXX object src/CMakeFiles/highs.dir/mip/HighsImplications.cpp.o
[ 0%] Building CXX object src/CMakeFiles/highs.dir/mip/HighsCliqueTable.cpp.o
[ 1%] Building CXX object src/CMakeFiles/highs.dir/mip/HighsDebugSol.cpp.o
[ 2%] Building CXX object src/CMakeFiles/highs.dir/mip/HighsLpAggregator.cpp.o
[ 2%] Building CXX object src/CMakeFiles/highs.dir/lp_data/Highs.cpp.o
[ 2%] Building CXX object src/CMakeFiles/highs.dir/mip/HighsCutGeneration.cpp.o
[ 2%] Building CXX object src/CMakeFiles/highs.dir/mip/HighsMipWorker.cpp.o
[ 3%] Building CXX object src/CMakeFiles/highs.dir/mip/HighsConflictPool.cpp.o
[ 4%] Building CXX object src/CMakeFiles/highs.dir/mip/HighsNodeQueue.cpp.o
[ 5%] Building CXX object src/CMakeFiles/highs.dir/mip/HighsMipSolverData.cpp.o
[ 5%] Building CXX object src/CMakeFiles/highs.dir/mip/HighsModkSeparator.cpp.o
[ 5%] Building CXX object src/CMakeFiles/highs.dir/mip/HighsMipSolver.cpp.o
[ 5%] Building CXX object src/CMakeFiles/highs.dir/mip/HighsLpRelaxation.cpp.o
[ 5%] Building CXX object src/CMakeFiles/highs.dir/mip/HighsCutPool.cpp.o
[ 6%] Building CXX object src/CMakeFiles/highs.dir/mip/HighsPathSeparator.cpp.o
[ 6%] Building CXX object src/CMakeFiles/highs.dir/mip/HighsPrimalHeuristics.cpp.o
[ 6%] Building CXX object src/CMakeFiles/highs.dir/mip/HighsObjectiveFunction.cpp.o
[ 6%] Building CXX object src/CMakeFiles/highs.dir/mip/HighsSearch.cpp.o
[ 8%] Building CXX object src/CMakeFiles/highs.dir/mip/HighsSeparation.cpp.o
[ 8%] Building CXX object src/CMakeFiles/highs.dir/mip/HighsRedcostFixing.cpp.o
[ 8%] Building CXX object src/CMakeFiles/highs.dir/mip/HighsPseudocost.cpp.o
[ 8%] Building CXX object src/CMakeFiles/highs.dir/mip/HighsSeparator.cpp.o
[ 9%] Building CXX object src/CMakeFiles/highs.dir/mip/HighsTableauSeparator.cpp.o
[ 9%] Building CXX object src/CMakeFiles/highs.dir/mip/HighsTransformedLp.cpp.o
[ 9%] Building CXX object src/CMakeFiles/highs.dir/presolve/HPresolve.cpp.o
[ 10%] Building CXX object src/CMakeFiles/highs.dir/presolve/HighsSymmetry.cpp.o
[ 11%] Building CXX object src/CMakeFiles/highs.dir/presolve/HPresolveAnalysis.cpp.o
[ 11%] Building CXX object src/CMakeFiles/highs.dir/presolve/PresolveComponent.cpp.o
gmake[2]: *** [src/CMakeFiles/highs.dir/build.make:1014: src/CMakeFiles/highs.dir/presolve/PresolveComponent.cpp.o] Interrupt
gmake[2]: *** [src/CMakeFiles/highs.dir/build.make:762: src/CMakeFiles/highs.dir/mip/HighsRedcostFixing.cpp.o] Interrupt
gmake[2]: *** [src/CMakeFiles/highs.dir/build.make:664: src/CMakeFiles/highs.dir/mip/HighsMipWorker.cpp.o] Interrupt
gmake[2]: *** [src/CMakeFiles/highs.dir/build.make:958: src/CMakeFiles/highs.dir/presolve/HPresolveAnalysis.cpp.o] Interrupt
gmake[2]: *** [src/CMakeFiles/highs.dir/build.make:832: src/CMakeFiles/highs.dir/mip/HighsTransformedLp.cpp.o] Interrupt
gmake[2]: *** [src/CMakeFiles/highs.dir/build.make:944: src/CMakeFiles/highs.dir/presolve/HPresolve.cpp.o] Interrupt
gmake[2]: *** [src/CMakeFiles/highs.dir/build.make:734: src/CMakeFiles/highs.dir/mip/HighsPrimalHeuristics.cpp.o] Interrupt
gmake[2]: *** [src/CMakeFiles/highs.dir/build.make:748: src/CMakeFiles/highs.dir/mip/HighsPseudocost.cpp.o] Interrupt
gmake[2]: *** [src/CMakeFiles/highs.dir/build.make:230: src/CMakeFiles/highs.dir/lp_data/Highs.cpp.o] Interrupt
gmake[2]: *** [src/CMakeFiles/highs.dir/build.make:608: src/CMakeFiles/highs.dir/mip/HighsLpRelaxation.cpp.o] Interrupt
gmake[2]: *** [src/CMakeFiles/highs.dir/build.make:804: src/CMakeFiles/highs.dir/mip/HighsSeparator.cpp.o] Interrupt
gmake[2]: *** [src/CMakeFiles/highs.dir/build.make:776: src/CMakeFiles/highs.dir/mip/HighsSearch.cpp.o] Interrupt
gmake[2]: *** [src/CMakeFiles/highs.dir/build.make:594: src/CMakeFiles/highs.dir/mip/HighsLpAggregator.cpp.o] Interrupt
gmake[2]: *** [src/CMakeFiles/highs.dir/build.make:496: src/CMakeFiles/highs.dir/mip/HighsCutGeneration.cpp.o] Interrupt
gmake[2]: *** [src/CMakeFiles/highs.dir/build.make:706: src/CMakeFiles/highs.dir/mip/HighsObjectiveFunction.cpp.o] Interrupt
gmake[2]: *** [src/CMakeFiles/highs.dir/build.make:720: src/CMakeFiles/highs.dir/mip/HighsPathSeparator.cpp.o] Interrupt
gmake[2]: *** [src/CMakeFiles/highs.dir/build.make:468: src/CMakeFiles/highs.dir/mip/HighsCliqueTable.cpp.o] Interrupt
gmake[2]: *** [src/CMakeFiles/highs.dir/build.make:524: src/CMakeFiles/highs.dir/mip/HighsDebugSol.cpp.o] Interrupt
gmake[2]: *** [src/CMakeFiles/highs.dir/build.make:678: src/CMakeFiles/highs.dir/mip/HighsModkSeparator.cpp.o] Interrupt
gmake[2]: *** [src/CMakeFiles/highs.dir/build.make:636: src/CMakeFiles/highs.dir/mip/HighsMipSolver.cpp.o] Interrupt
gmake[2]: *** [src/CMakeFiles/highs.dir/build.make:790: src/CMakeFiles/highs.dir/mip/HighsSeparation.cpp.o] Interrupt
gmake[2]: *** [src/CMakeFiles/highs.dir/build.make:818: src/CMakeFiles/highs.dir/mip/HighsTableauSeparator.cpp.o] Interrupt
gmake[2]: *** [src/CMakeFiles/highs.dir/build.make:930: src/CMakeFiles/highs.dir/presolve/HighsSymmetry.cpp.o] Interrupt
gmake[2]: *** [src/CMakeFiles/highs.dir/build.make:538: src/CMakeFiles/highs.dir/mip/HighsDomain.cpp.o] Interrupt
gmake[2]: *** [src/CMakeFiles/highs.dir/build.make:580: src/CMakeFiles/highs.dir/mip/HighsImplications.cpp.o] Interrupt
gmake[2]: *** [src/CMakeFiles/highs.dir/build.make:482: src/CMakeFiles/highs.dir/mip/HighsConflictPool.cpp.o] Interrupt
gmake[2]: *** [src/CMakeFiles/highs.dir/build.make:650: src/CMakeFiles/highs.dir/mip/HighsMipSolverData.cpp.o] Interrupt
gmake[2]: *** [src/CMakeFiles/highs.dir/build.make:692: src/CMakeFiles/highs.dir/mip/HighsNodeQueue.cpp.o] Interrupt
gmake[2]: *** [src/CMakeFiles/highs.dir/build.make:510: src/CMakeFiles/highs.dir/mip/HighsCutPool.cpp.o] Interrupt
gmake[1]: *** [CMakeFiles/Makefile2:912: src/CMakeFiles/highs.dir/all] Interrupt
gmake: *** [Makefile:166: all] Interrupt
2 changes: 2 additions & 0 deletions src/mip/HighsConflictPool.h
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,8 @@ class HighsConflictPool {

void removePropagationDomain(HighsDomain::ConflictPoolPropagation* domain) {
for (HighsInt k = propagationDomains.size() - 1; k >= 0; --k) {
// assert(propagationDomains.size() > k);
// assert(propagationDomains)
if (propagationDomains[k] == domain) {
propagationDomains.erase(propagationDomains.begin() + k);
return;
Expand Down
3 changes: 3 additions & 0 deletions src/mip/HighsDomain.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -541,6 +541,9 @@ void HighsDomain::CutpoolPropagation::updateActivityUbChange(HighsInt col,
assert(val < 0);
HighsCDouble deltamin = computeDelta(val, oldbound, newbound, kHighsInf,
activitycutsinf_[row]);

std::cout << activitycuts_.size() << std::endl;

activitycuts_[row] += deltamin;

if (deltamin <= 0) {
Expand Down
2 changes: 2 additions & 0 deletions src/mip/HighsDomain.h
Original file line number Diff line number Diff line change
Expand Up @@ -633,6 +633,8 @@ class HighsDomain {
HighsInt numModelNonzeros() const { return mipsolver->numNonzero(); }

bool inSubmip() const { return mipsolver->submip; }

// ~HighsDomain() {}
};

#endif
13 changes: 8 additions & 5 deletions src/mip/HighsMipSolver.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -221,14 +221,16 @@ void HighsMipSolver::run() {
// HighsSearch& search = *mipdata_->workers[0].search_ptr_.get();

// HighsMipWorker master_worker(*this, mipdata_->lp);
// HighsSearch& search = *master_worker.search_ptr_.get();


HighsMipWorker master_worker(*this, mipdata_->lp);
HighsSearch search{master_worker, mipdata_->pseudocost};

mipdata_->debugSolution.registerDomain(search.getLocalDomain());
HighsSeparation sepa(*this);

search.setLpRelaxation(&mipdata_->lp);
// search.setLpRelaxation(&mipdata_->lp);

sepa.setLpRelaxation(&mipdata_->lp);

Expand Down Expand Up @@ -321,16 +323,17 @@ void HighsMipSolver::run() {

if (mipdata_->incumbent.empty()) {
analysis_.mipTimerStart(kMipClockRens);
mipdata_->heuristics.RENS(
mipdata_->lp.getLpSolver().getSolution().col_value);
// mipdata_->heuristics.RENS(
// mipdata_->lp.getLpSolver().getSolution().col_value);
analysis_.mipTimerStop(kMipClockRens);
} else {
analysis_.mipTimerStart(kMipClockRins);
mipdata_->heuristics.RINS(
mipdata_->lp.getLpSolver().getSolution().col_value);
// mipdata_->heuristics.RINS(
// mipdata_->lp.getLpSolver().getSolution().col_value);
analysis_.mipTimerStop(kMipClockRins);
}

// sync goes with flush maybe
mipdata_->heuristics.flushStatistics();
analysis_.mipTimerStop(kMipClockPrimalHeuristics);
}
Expand Down
4 changes: 1 addition & 3 deletions src/mip/HighsMipSolverData.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2210,9 +2210,7 @@ void HighsMipSolverData::evaluateRootNode() {
if (upper_limit != kHighsInf && !moreHeuristicsAllowed()) break;

if (checkLimits()) return;

heuristics.RENS(rootlpsol); // here

// heuristics.RENS(rootlpsol);
heuristics.flushStatistics();

if (checkLimits()) return;
Expand Down
7 changes: 4 additions & 3 deletions src/mip/HighsMipWorker.h
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,6 @@ class HighsMipWorker {
// HighsMipWorker(const HighsMipSolver& mipsolver__);
HighsMipWorker(const HighsMipSolver& mipsolver__, const HighsLpRelaxation& lprelax_);

// ~HighsMipWorker();

const HighsMipSolver& getMipSolver();

HighsLpRelaxation lprelaxation_;
Expand Down Expand Up @@ -73,8 +71,11 @@ class HighsMipWorker {
const bool checkLimits(int64_t nodeOffset = 0) const;

// ... implement necessary methods for HighsSearch

~HighsMipWorker() {
search_ptr_.release();
}


};

#endif

0 comments on commit 14ac63d

Please sign in to comment.