Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@ file(GLOB UNO_SOURCE_FILES CONFIGURE_DEPENDS
uno/ingredients/inertia_correction_strategies/*.cpp
uno/ingredients/subproblem/*.cpp
uno/ingredients/subproblem_solvers/*.cpp
uno/ingredients/subproblem_solvers/TRON/*.cpp
uno/model/*.cpp
uno/optimization/*.cpp
uno/options/*.cpp
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,13 @@ namespace uno {
}
}
// from now on, the problem has inequalities
/*
// bound-constrained problem: do not reformulate
if (problem.number_constraints == 0 && problem.has_bound_constraints()) {
return std::make_unique<NoInequalityReformulation>("bound-constrained method");
}
*/

const std::string inequality_handling_method = options.get_string("inequality_handling_method");
// inequality-constrained methods
if (inequality_handling_method == "inequality_constrained") {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
#include "InverseNewtonSolver.hpp"
#include "QPSolverFactory.hpp"
#include "WoodburyEQPSolver.hpp"
#include "TRON/TRONSolver.hpp"
#include "ingredients/subproblem/Subproblem.hpp"
#include "options/Options.hpp"
#include "tools/Logger.hpp"
Expand Down Expand Up @@ -52,6 +53,14 @@ namespace uno {
return subproblem_solver;
}
}
/*
// if only bound constraints, allocate bound-constrained solver
else if (subproblem.number_constraints == 0 && subproblem.has_bound_constraints()) {
auto subproblem_solver = std::make_unique<TRONSolver>();
subproblem_solver->initialize_memory(subproblem);
return subproblem_solver;
}
*/
// if no inequality constraint and no trust region, allocate EQP solver
else if (!subproblem.has_inequality_constraints() && !subproblem.has_bound_constraints() && !uses_trust_region) {
if constexpr (std::is_same_v<HessianType, InverseLBFGSHessian>) { // unconstrained
Expand Down
Loading
Loading