[Minotaur-dev] [minotaur-solver/minotaur] cd23a5: Avoid recursion in TreeManager
Ashutosh Mahajan
noreply at github.com
Wed Dec 18 05:32:29 CST 2019
Branch: refs/heads/master
Home: https://github.com/minotaur-solver/minotaur
Commit: cd23a506cb42ca6285a9d78a97bb4caa29f8ef4d
https://github.com/minotaur-solver/minotaur/commit/cd23a506cb42ca6285a9d78a97bb4caa29f8ef4d
Author: Ashutosh Mahajan <amahajan at iitb.ac.in>
Date: 2019-12-18 (Wed, 18 Dec 2019)
Changed paths:
M src/base/TreeManager.cpp
M src/base/TreeManager.h
Log Message:
-----------
Avoid recursion in TreeManager
While removing a node from the tree, we check if its parent and parent's
parent and so on can also be removed. It was done recursively -- and
hit stack size limits when the tree is just too deep. Replaced recursion
by a while loop.
Commit: 91af4fee4665eca6d20d0bbf77d4c5862f05e8dd
https://github.com/minotaur-solver/minotaur/commit/91af4fee4665eca6d20d0bbf77d4c5862f05e8dd
Author: Ashutosh Mahajan <amahajan at iitb.ac.in>
Date: 2019-12-18 (Wed, 18 Dec 2019)
Changed paths:
M CMakeLists.txt
M Makefile.manual
M README.md
M scripts/daily-lnx-iit-test.sh
M src/algorithms/Bnb.cpp
M src/algorithms/Bnc.cpp
M src/algorithms/CMakeLists.txt
M src/algorithms/Glob.cpp
M src/algorithms/LSTOA.cpp
M src/algorithms/McBnb.cpp
M src/algorithms/McQG.cpp
M src/algorithms/MiDfo.cpp
M src/algorithms/MsBnb.cpp
M src/algorithms/OA.cpp
M src/algorithms/QG.cpp
M src/algorithms/QGAdv.cpp
M src/algorithms/QPDive.cpp
M src/base/Branch.cpp
M src/base/BranchAndBound.cpp
M src/base/CMakeLists.txt
M src/base/Constraint.cpp
M src/base/Engine.h
M src/base/Environment.cpp
M src/base/Function.cpp
M src/base/Function.h
M src/base/IntVarHandler.cpp
M src/base/LPRelaxation.cpp
M src/base/LinConMod.cpp
M src/base/LinearFunction.cpp
M src/base/LinearHandler.cpp
M src/base/LinearHandler.h
A src/base/Linearizations.cpp
A src/base/Linearizations.h
M src/base/MaxVioBrancher.cpp
M src/base/Modification.h
M src/base/MultilinearTermsHandler.cpp
M src/base/NLPRelaxation.cpp
M src/base/NlPresHandler.cpp
M src/base/NlPresHandler.h
M src/base/NlWriter.cpp
M src/base/Node.cpp
M src/base/Node.h
M src/base/NodeHeap.cpp
M src/base/NodeHeap.h
M src/base/NodeIncRelaxer.cpp
M src/base/OAHandler.cpp
M src/base/OAHandler.h
M src/base/Objective.cpp
M src/base/Objective.h
M src/base/Option.cpp
M src/base/PCBProcessor.cpp
M src/base/PCBProcessor.h
M src/base/ParBranchAndBound.cpp
M src/base/ParBranchAndBound.h
M src/base/ParCutMan.cpp
M src/base/ParNodeIncRelaxer.cpp
M src/base/ParPCBProcessor.cpp
M src/base/ParPCBProcessor.h
M src/base/ParQGBranchAndBound.cpp
M src/base/ParQGBranchAndBound.h
M src/base/ParQGHandler.cpp
M src/base/ParQGHandler.h
M src/base/ParReliabilityBrancher.cpp
M src/base/ParReliabilityBrancher.h
M src/base/ParTreeManager.cpp
M src/base/ParTreeManager.h
M src/base/PerspCon.cpp
M src/base/PerspCutHandler.cpp
M src/base/PolynomialFunction.cpp
M src/base/Presolver.cpp
M src/base/Problem.cpp
M src/base/Problem.h
A src/base/QGHandler.MotivationStats.cpp
A src/base/QGHandler.MotivationStats.h
M src/base/QGHandler.cpp
M src/base/QGHandler.h
A src/base/QGHandlerAdvance.cpp
A src/base/QGHandlerAdvance.h
M src/base/QPDProcessor.cpp
M src/base/QuadHandler.cpp
M src/base/QuadraticFunction.cpp
M src/base/RCHandler.cpp
M src/base/RandomBrancher.cpp
M src/base/Relaxation.cpp
M src/base/ReliabilityBrancher.cpp
M src/base/SOS1Handler.cpp
M src/base/SOS2Handler.cpp
M src/base/STOAHandler.cpp
M src/base/STOAHandler.h
M src/base/SimpleTransformer.cpp
M src/base/SimpleTransformer.h
M src/base/SolutionPool.cpp
M src/base/SolutionPool.h
M src/base/TransPoly.cpp
M src/base/TreeManager.cpp
M src/base/TreeManager.h
M src/base/Types.h
M src/base/Variable.cpp
M src/base/Variable.h
M src/base/WarmStart.h
A src/base/YEqQfBil.cpp
A src/base/YEqQfBil.h
M src/engines/Bqpd/BqpdEngine.cpp
M src/engines/Bqpd/BqpdEngine.h
M src/engines/Cbc/CbcEngine.cpp
M src/engines/Cbc/CbcEngine.h
M src/engines/Cplex/CplexLPEngine.cpp
M src/engines/Cplex/CplexLPEngine.h
M src/engines/Cplex/CplexMILPEngine.cpp
M src/engines/Cplex/CplexMILPEngine.h
M src/engines/FilterSQP/FilterSQPEngine.cpp
M src/engines/FilterSQP/FilterSQPEngine.h
M src/engines/Ipopt/IpoptEngine.cpp
M src/engines/Ipopt/IpoptEngine.h
M src/engines/Ipopt/IpoptEngineTnlp.h
M src/engines/OsiLP/OsiLPEngine.cpp
M src/engines/OsiLP/OsiLPEngine.h
M src/engines/qpOASES/qpOASESEngine.h
M src/interfaces/ampl/AMPLInterface.cpp
M src/testing/AMPLBqpdUT.cpp
M src/testing/AMPLCGraphUT.cpp
M src/testing/AMPLCbcUT.cpp
M src/testing/AMPLCbcUT.h
M src/testing/AMPLFilterSQPUT.cpp
M src/testing/AMPLFilterSQPUT.h
M src/testing/AMPLInstanceUT.cpp
M src/testing/AMPLIpoptUT.cpp
M src/testing/AMPLOsiUT.cpp
M src/testing/AMPLOsiUT.h
M src/testing/CGraphUT.cpp
M src/testing/FunctionUT.cpp
M src/testing/FunctionUT.h
M src/testing/HessianOfLagUT.cpp
M src/testing/IpoptEngineUT.cpp
M src/testing/JacobianUT.cpp
M src/testing/LinearFunctionUT.cpp
M src/testing/NLPBnbUT.cpp
M src/testing/NLPBnbUT.h
M src/testing/OperationsUT.cpp
M src/testing/PerspRefUT.cpp
M src/testing/PolySolverUT.cpp
M src/testing/PolySolverUT.h
M src/testing/PolyUT.cpp
M src/testing/ProblemUT.cpp
M src/testing/QuadraticFunctionUT.cpp
M src/testing/TimerUT.cpp
M src/testing/TransformerUT.cpp
M third-party/build_third_party
Log Message:
-----------
Merge branch 'master' of github:minotaur-solver/minotaur
Compare: https://github.com/minotaur-solver/minotaur/compare/76d9cae4d6ed...91af4fee4665
More information about the Minotaur-dev
mailing list