sleipnirgroup-jormungandr 0.0.1.dev463__tar.gz → 0.0.1.dev464__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/PKG-INFO +1 -1
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/pyproject.toml +1 -1
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/src/optimization/problem.cpp +15 -44
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/CMakeLists.txt +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/LICENSE.txt +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/README.md +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/SleipnirConfig.cmake.in +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/cmake/modules/BuildTypes.cmake +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/cmake/modules/CompilerFlags.cmake +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/cmake/modules/Pybind11Mkdoc.cmake +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/cmake/modules/SubdirList.cmake +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/include/.styleguide +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/include/sleipnir/autodiff/adjoint_expression_graph.hpp +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/include/sleipnir/autodiff/expression.hpp +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/include/sleipnir/autodiff/expression_graph.hpp +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/include/sleipnir/autodiff/expression_type.hpp +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/include/sleipnir/autodiff/gradient.hpp +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/include/sleipnir/autodiff/hessian.hpp +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/include/sleipnir/autodiff/jacobian.hpp +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/include/sleipnir/autodiff/slice.hpp +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/include/sleipnir/autodiff/variable.hpp +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/include/sleipnir/autodiff/variable_block.hpp +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/include/sleipnir/autodiff/variable_matrix.hpp +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/include/sleipnir/control/ocp.hpp +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/include/sleipnir/optimization/multistart.hpp +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/include/sleipnir/optimization/problem.hpp +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/include/sleipnir/optimization/solver/exit_status.hpp +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/include/sleipnir/optimization/solver/interior_point.hpp +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/include/sleipnir/optimization/solver/iteration_info.hpp +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/include/sleipnir/optimization/solver/newton.hpp +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/include/sleipnir/optimization/solver/options.hpp +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/include/sleipnir/optimization/solver/sqp.hpp +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/include/sleipnir/util/assert.hpp +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/include/sleipnir/util/concepts.hpp +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/include/sleipnir/util/function_ref.hpp +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/include/sleipnir/util/intrusive_shared_ptr.hpp +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/include/sleipnir/util/pool.hpp +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/include/sleipnir/util/print.hpp +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/include/sleipnir/util/small_vector.hpp +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/include/sleipnir/util/spy.hpp +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/include/sleipnir/util/symbol_exports.hpp +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/jormungandr/__init__.py +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/jormungandr/autodiff/__init__.py +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/jormungandr/control/__init__.py +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/jormungandr/cpp/autodiff/bind_expression_type.cpp +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/jormungandr/cpp/autodiff/bind_gradient.cpp +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/jormungandr/cpp/autodiff/bind_hessian.cpp +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/jormungandr/cpp/autodiff/bind_jacobian.cpp +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/jormungandr/cpp/autodiff/bind_variable.cpp +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/jormungandr/cpp/autodiff/bind_variable_block.cpp +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/jormungandr/cpp/autodiff/bind_variable_matrix.cpp +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/jormungandr/cpp/binders.hpp +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/jormungandr/cpp/control/bind_ocp.cpp +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/jormungandr/cpp/docstrings.hpp +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/jormungandr/cpp/main.cpp +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/jormungandr/cpp/optimization/bind_equality_constraints.cpp +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/jormungandr/cpp/optimization/bind_inequality_constraints.cpp +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/jormungandr/cpp/optimization/bind_problem.cpp +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/jormungandr/cpp/optimization/solver/bind_exit_status.cpp +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/jormungandr/cpp/optimization/solver/bind_iteration_info.cpp +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/jormungandr/cpp/try_cast.hpp +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/jormungandr/optimization/__init__.py +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/jormungandr/test/autodiff/gradient_test.py +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/jormungandr/test/autodiff/hessian_test.py +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/jormungandr/test/autodiff/jacobian_test.py +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/jormungandr/test/autodiff/variable_matrix_test.py +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/jormungandr/test/autodiff/variable_test.py +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/jormungandr/test/cart_pole_util.py +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/jormungandr/test/control/cart_pole_ocp_test.py +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/jormungandr/test/control/differential_drive_ocp_test.py +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/jormungandr/test/control/flywheel_ocp_test.py +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/jormungandr/test/differential_drive_util.py +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/jormungandr/test/optimization/arm_on_elevator_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/jormungandr/test/optimization/cart_pole_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/jormungandr/test/optimization/constraints_test.py +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/jormungandr/test/optimization/decision_variable_test.py +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/jormungandr/test/optimization/differential_drive_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/jormungandr/test/optimization/double_integrator_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/jormungandr/test/optimization/exit_status_test.py +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/jormungandr/test/optimization/flywheel_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/jormungandr/test/optimization/linear_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/jormungandr/test/optimization/multistart_test.py +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/jormungandr/test/optimization/nonlinear_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/jormungandr/test/optimization/quadratic_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/jormungandr/test/optimization/trivial_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/jormungandr/test/rk4.py +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/src/.styleguide +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/src/autodiff/variable_matrix.cpp +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/src/optimization/inertia.hpp +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/src/optimization/regularized_ldlt.hpp +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/src/optimization/solver/interior_point.cpp +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/src/optimization/solver/newton.cpp +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/src/optimization/solver/sqp.cpp +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/src/optimization/solver/util/error_estimate.hpp +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/src/optimization/solver/util/filter.hpp +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/src/optimization/solver/util/fraction_to_the_boundary_rule.hpp +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/src/optimization/solver/util/is_locally_infeasible.hpp +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/src/optimization/solver/util/kkt_error.hpp +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/src/util/pool.cpp +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/src/util/print_diagnostics.hpp +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/src/util/scope_exit.hpp +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/src/util/scoped_profiler.hpp +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/src/util/setup_profiler.hpp +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/src/util/solve_profiler.hpp +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: sleipnirgroup-jormungandr
|
3
|
-
Version: 0.0.1.
|
3
|
+
Version: 0.0.1.dev464
|
4
4
|
Summary: A linearity-exploiting sparse nonlinear constrained optimization problem solver that uses the interior-point method.
|
5
5
|
License: Copyright (c) Sleipnir contributors
|
6
6
|
|
{sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/pyproject.toml
RENAMED
@@ -1,7 +1,7 @@
|
|
1
1
|
[project]
|
2
2
|
name = "sleipnirgroup-jormungandr"
|
3
3
|
description = "A linearity-exploiting sparse nonlinear constrained optimization problem solver that uses the interior-point method."
|
4
|
-
version = "0.0.1.
|
4
|
+
version = "0.0.1.dev464"
|
5
5
|
readme = "README.md"
|
6
6
|
requires-python = ">=3.9"
|
7
7
|
dependencies = [ "matplotlib", "numpy", "scipy" ]
|
@@ -83,6 +83,10 @@ ExitStatus Problem::solve(const Options& options, [[maybe_unused]] bool spy) {
|
|
83
83
|
// Solve the optimization problem
|
84
84
|
ExitStatus status;
|
85
85
|
if (m_equality_constraints.empty() && m_inequality_constraints.empty()) {
|
86
|
+
if (options.diagnostics) {
|
87
|
+
slp::println("\nInvoking Newton solver...\n");
|
88
|
+
}
|
89
|
+
|
86
90
|
// Set up Lagrangian Hessian autodiff
|
87
91
|
ad_setup_profilers.emplace_back(" ↳ ∇²ₓₓL").start();
|
88
92
|
Hessian<Eigen::Lower> H{f, x_ad};
|
@@ -103,10 +107,6 @@ ExitStatus Problem::solve(const Options& options, [[maybe_unused]] bool spy) {
|
|
103
107
|
return false;
|
104
108
|
});
|
105
109
|
}
|
106
|
-
|
107
|
-
if (options.diagnostics) {
|
108
|
-
slp::println("\nInvoking Newton solver...\n");
|
109
|
-
}
|
110
110
|
#endif
|
111
111
|
|
112
112
|
// Invoke Newton solver
|
@@ -125,17 +125,11 @@ ExitStatus Problem::solve(const Options& options, [[maybe_unused]] bool spy) {
|
|
125
125
|
return H.value();
|
126
126
|
}},
|
127
127
|
m_iteration_callbacks, options, x);
|
128
|
-
|
129
|
-
#ifndef SLEIPNIR_DISABLE_DIAGNOSTICS
|
130
|
-
if (spy) {
|
131
|
-
m_iteration_callbacks.pop_back();
|
132
|
-
}
|
133
|
-
#endif
|
134
|
-
|
128
|
+
} else if (m_inequality_constraints.empty()) {
|
135
129
|
if (options.diagnostics) {
|
136
|
-
|
130
|
+
slp::println("\nInvoking SQP solver\n");
|
137
131
|
}
|
138
|
-
|
132
|
+
|
139
133
|
VariableMatrix c_e_ad{m_equality_constraints};
|
140
134
|
|
141
135
|
// Set up equality constraint Jacobian autodiff
|
@@ -173,10 +167,6 @@ ExitStatus Problem::solve(const Options& options, [[maybe_unused]] bool spy) {
|
|
173
167
|
return false;
|
174
168
|
});
|
175
169
|
}
|
176
|
-
|
177
|
-
if (options.diagnostics) {
|
178
|
-
slp::println("\nInvoking SQP solver\n");
|
179
|
-
}
|
180
170
|
#endif
|
181
171
|
|
182
172
|
// Invoke SQP solver
|
@@ -205,17 +195,11 @@ ExitStatus Problem::solve(const Options& options, [[maybe_unused]] bool spy) {
|
|
205
195
|
return A_e.value();
|
206
196
|
}},
|
207
197
|
m_iteration_callbacks, options, x);
|
208
|
-
|
209
|
-
#ifndef SLEIPNIR_DISABLE_DIAGNOSTICS
|
210
|
-
if (spy) {
|
211
|
-
m_iteration_callbacks.pop_back();
|
212
|
-
}
|
213
|
-
#endif
|
214
|
-
|
198
|
+
} else {
|
215
199
|
if (options.diagnostics) {
|
216
|
-
|
200
|
+
slp::println("\nInvoking IPM solver...\n");
|
217
201
|
}
|
218
|
-
|
202
|
+
|
219
203
|
VariableMatrix c_e_ad{m_equality_constraints};
|
220
204
|
VariableMatrix c_i_ad{m_inequality_constraints};
|
221
205
|
|
@@ -266,10 +250,6 @@ ExitStatus Problem::solve(const Options& options, [[maybe_unused]] bool spy) {
|
|
266
250
|
return false;
|
267
251
|
});
|
268
252
|
}
|
269
|
-
|
270
|
-
if (options.diagnostics) {
|
271
|
-
slp::println("\nInvoking IPM solver...\n");
|
272
|
-
}
|
273
253
|
#endif
|
274
254
|
|
275
255
|
// Invoke interior-point method solver
|
@@ -307,23 +287,18 @@ ExitStatus Problem::solve(const Options& options, [[maybe_unused]] bool spy) {
|
|
307
287
|
return A_i.value();
|
308
288
|
}},
|
309
289
|
m_iteration_callbacks, options, x);
|
290
|
+
}
|
310
291
|
|
311
292
|
#ifndef SLEIPNIR_DISABLE_DIAGNOSTICS
|
312
|
-
|
313
|
-
|
314
|
-
}
|
315
|
-
#endif
|
316
|
-
|
317
|
-
if (options.diagnostics) {
|
318
|
-
print_autodiff_diagnostics(ad_setup_profilers);
|
319
|
-
}
|
293
|
+
if (spy) {
|
294
|
+
m_iteration_callbacks.pop_back();
|
320
295
|
}
|
296
|
+
#endif
|
321
297
|
|
322
|
-
#ifndef SLEIPNIR_DISABLE_DIAGNOSTICS
|
323
298
|
if (options.diagnostics) {
|
299
|
+
print_autodiff_diagnostics(ad_setup_profilers);
|
324
300
|
slp::println("\nExit: {}", to_message(status));
|
325
301
|
}
|
326
|
-
#endif
|
327
302
|
|
328
303
|
// Assign the solution to the original Variable instances
|
329
304
|
VariableMatrix{m_decision_variables}.set_value(x);
|
@@ -332,7 +307,6 @@ ExitStatus Problem::solve(const Options& options, [[maybe_unused]] bool spy) {
|
|
332
307
|
}
|
333
308
|
|
334
309
|
void Problem::print_exit_conditions([[maybe_unused]] const Options& options) {
|
335
|
-
#ifndef SLEIPNIR_DISABLE_DIAGNOSTICS
|
336
310
|
// Print possible exit conditions
|
337
311
|
slp::println("User-configured exit conditions:");
|
338
312
|
slp::println(" ↳ error below {}", options.tolerance);
|
@@ -345,11 +319,9 @@ void Problem::print_exit_conditions([[maybe_unused]] const Options& options) {
|
|
345
319
|
if (std::isfinite(options.timeout.count())) {
|
346
320
|
slp::println(" ↳ {} elapsed", options.timeout);
|
347
321
|
}
|
348
|
-
#endif
|
349
322
|
}
|
350
323
|
|
351
324
|
void Problem::print_problem_analysis() {
|
352
|
-
#ifndef SLEIPNIR_DISABLE_DIAGNOSTICS
|
353
325
|
constexpr std::array types{"no", "constant", "linear", "quadratic",
|
354
326
|
"nonlinear"};
|
355
327
|
|
@@ -395,7 +367,6 @@ void Problem::print_problem_analysis() {
|
|
395
367
|
slp::println("{} inequality constraints", m_inequality_constraints.size());
|
396
368
|
}
|
397
369
|
print_constraint_types(m_inequality_constraints);
|
398
|
-
#endif
|
399
370
|
}
|
400
371
|
|
401
372
|
} // namespace slp
|
{sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/CMakeLists.txt
RENAMED
File without changes
|
{sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/LICENSE.txt
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/src/.styleguide
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{sleipnirgroup_jormungandr-0.0.1.dev463 → sleipnirgroup_jormungandr-0.0.1.dev464}/src/util/pool.cpp
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|