sleipnirgroup-jormungandr 0.6.6.dev31__tar.gz → 0.6.6.dev32__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.
Potentially problematic release.
This version of sleipnirgroup-jormungandr might be problematic. Click here for more details.
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/PKG-INFO +1 -1
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/include/sleipnir/optimization/problem.hpp +6 -7
- sleipnirgroup_jormungandr-0.6.6.dev31/include/sleipnir/optimization/solver/interior_point.hpp → sleipnirgroup_jormungandr-0.6.6.dev32/include/sleipnir/optimization/solver/ipm.hpp +27 -28
- sleipnirgroup_jormungandr-0.6.6.dev31/include/sleipnir/optimization/solver/interior_point_matrix_callbacks.hpp → sleipnirgroup_jormungandr-0.6.6.dev32/include/sleipnir/optimization/solver/ipm_matrix_callbacks.hpp +1 -1
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/include/sleipnir/optimization/solver/util/feasibility_restoration.hpp +23 -23
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/python/src/sleipnir/__init__.py +1 -1
- sleipnirgroup_jormungandr-0.6.6.dev31/src/optimization/solver/interior_point.cpp → sleipnirgroup_jormungandr-0.6.6.dev32/src/optimization/solver/ipm.cpp +3 -3
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/CMakeLists.txt +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/LICENSE.txt +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/README.md +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/SleipnirConfig.cmake.in +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/cmake/BuildTypes.cmake +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/cmake/CompilerFlags.cmake +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/cmake/Pybind11Mkdoc.cmake +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/cmake/SubdirList.cmake +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/cmake/arm-none-eabi.cmake +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/include/sleipnir/autodiff/expression.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/include/sleipnir/autodiff/expression_graph.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/include/sleipnir/autodiff/expression_type.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/include/sleipnir/autodiff/gradient.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/include/sleipnir/autodiff/hessian.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/include/sleipnir/autodiff/jacobian.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/include/sleipnir/autodiff/sleipnir_base.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/include/sleipnir/autodiff/slice.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/include/sleipnir/autodiff/variable.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/include/sleipnir/autodiff/variable_block.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/include/sleipnir/autodiff/variable_matrix.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/include/sleipnir/optimization/multistart.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/include/sleipnir/optimization/ocp/dynamics_type.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/include/sleipnir/optimization/ocp/timestep_method.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/include/sleipnir/optimization/ocp/transcription_method.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/include/sleipnir/optimization/ocp.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/include/sleipnir/optimization/solver/exit_status.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/include/sleipnir/optimization/solver/iteration_info.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/include/sleipnir/optimization/solver/newton.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/include/sleipnir/optimization/solver/newton_matrix_callbacks.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/include/sleipnir/optimization/solver/options.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/include/sleipnir/optimization/solver/sqp.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/include/sleipnir/optimization/solver/sqp_matrix_callbacks.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/include/sleipnir/optimization/solver/util/all_finite.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/include/sleipnir/optimization/solver/util/append_as_triplets.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/include/sleipnir/optimization/solver/util/bounds.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/include/sleipnir/optimization/solver/util/dense_regularized_ldlt.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/include/sleipnir/optimization/solver/util/filter.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/include/sleipnir/optimization/solver/util/fraction_to_the_boundary_rule.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/include/sleipnir/optimization/solver/util/inertia.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/include/sleipnir/optimization/solver/util/kkt_error.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/include/sleipnir/optimization/solver/util/lagrange_multiplier_estimate.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/include/sleipnir/optimization/solver/util/problem_scaling.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/include/sleipnir/optimization/solver/util/regularized_ldlt.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/include/sleipnir/optimization/solver/util/sparse_inf_norms.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/include/sleipnir/optimization/solver/util/sparse_regularized_ldlt.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/include/sleipnir/util/assert.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/include/sleipnir/util/concepts.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/include/sleipnir/util/empty.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/include/sleipnir/util/function_ref.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/include/sleipnir/util/intrusive_shared_ptr.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/include/sleipnir/util/pool.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/include/sleipnir/util/print.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/include/sleipnir/util/print_diagnostics.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/include/sleipnir/util/profiler.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/include/sleipnir/util/scope_exit.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/include/sleipnir/util/spy.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/include/sleipnir/util/symbol_exports.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/pyproject.toml +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/python/cpp/autodiff/bind_expression_type.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/python/cpp/autodiff/bind_gradient.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/python/cpp/autodiff/bind_hessian.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/python/cpp/autodiff/bind_jacobian.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/python/cpp/autodiff/bind_variable.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/python/cpp/autodiff/bind_variable_block.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/python/cpp/autodiff/bind_variable_matrix.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/python/cpp/binders.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/python/cpp/docstrings.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/python/cpp/for_each_type.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/python/cpp/main.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/python/cpp/optimization/bind_equality_constraints.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/python/cpp/optimization/bind_inequality_constraints.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/python/cpp/optimization/bind_ocp.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/python/cpp/optimization/bind_problem.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/python/cpp/optimization/ocp/bind_dynamics_type.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/python/cpp/optimization/ocp/bind_timestep_method.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/python/cpp/optimization/ocp/bind_transcription_method.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/python/cpp/optimization/solver/bind_exit_status.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/python/cpp/optimization/solver/bind_iteration_info.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/python/cpp/try_cast.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/python/src/sleipnir/autodiff/__init__.py +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/python/src/sleipnir/optimization/__init__.py +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/python/test/autodiff/gradient_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/python/test/autodiff/hessian_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/python/test/autodiff/jacobian_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/python/test/autodiff/variable_matrix_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/python/test/autodiff/variable_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/python/test/optimization/arm_on_elevator_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/python/test/optimization/cart_pole_ocp_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/python/test/optimization/cart_pole_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/python/test/optimization/cart_pole_util.py +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/python/test/optimization/constraints_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/python/test/optimization/decision_variable_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/python/test/optimization/differential_drive_ocp_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/python/test/optimization/differential_drive_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/python/test/optimization/differential_drive_util.py +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/python/test/optimization/double_integrator_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/python/test/optimization/flywheel_ocp_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/python/test/optimization/flywheel_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/python/test/optimization/linear_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/python/test/optimization/multistart_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/python/test/optimization/nonlinear_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/python/test/optimization/problem_spy_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/python/test/optimization/quadratic_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/python/test/optimization/rk4.py +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/python/test/optimization/solver/exit_status_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/python/test/optimization/trivial_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/src/autodiff/gradient.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/src/autodiff/hessian.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/src/autodiff/jacobian.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/src/autodiff/variable_matrix.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/src/optimization/ocp.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/src/optimization/problem.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/src/optimization/solver/newton.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/src/optimization/solver/sqp.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/src/util/pool.cpp +0 -0
|
@@ -25,8 +25,8 @@
|
|
|
25
25
|
#include "sleipnir/autodiff/variable.hpp"
|
|
26
26
|
#include "sleipnir/autodiff/variable_matrix.hpp"
|
|
27
27
|
#include "sleipnir/optimization/solver/exit_status.hpp"
|
|
28
|
-
#include "sleipnir/optimization/solver/
|
|
29
|
-
#include "sleipnir/optimization/solver/
|
|
28
|
+
#include "sleipnir/optimization/solver/ipm.hpp"
|
|
29
|
+
#include "sleipnir/optimization/solver/ipm_matrix_callbacks.hpp"
|
|
30
30
|
#include "sleipnir/optimization/solver/iteration_info.hpp"
|
|
31
31
|
#include "sleipnir/optimization/solver/newton.hpp"
|
|
32
32
|
#include "sleipnir/optimization/solver/newton_matrix_callbacks.hpp"
|
|
@@ -619,7 +619,7 @@ class Problem {
|
|
|
619
619
|
x_ad.set_value(x);
|
|
620
620
|
const ProblemScaling<Scalar> scaling{g.value(), A_e.value(), A_i.value()};
|
|
621
621
|
|
|
622
|
-
|
|
622
|
+
IPMMatrixCallbacks<Scalar> matrix_callbacks{
|
|
623
623
|
num_decision_variables,
|
|
624
624
|
num_equality_constraints,
|
|
625
625
|
num_inequality_constraints,
|
|
@@ -664,12 +664,11 @@ class Problem {
|
|
|
664
664
|
scaling};
|
|
665
665
|
|
|
666
666
|
// Invoke interior-point method solver
|
|
667
|
-
status =
|
|
668
|
-
interior_point<Scalar>(matrix_callbacks, iteration_callbacks, options,
|
|
667
|
+
status = ipm<Scalar>(matrix_callbacks, iteration_callbacks, options,
|
|
669
668
|
#ifdef SLEIPNIR_ENABLE_BOUND_PROJECTION
|
|
670
|
-
|
|
669
|
+
bound_constraint_mask,
|
|
671
670
|
#endif
|
|
672
|
-
|
|
671
|
+
x);
|
|
673
672
|
}
|
|
674
673
|
|
|
675
674
|
if (options.diagnostics) {
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
#include <gch/small_vector.hpp>
|
|
14
14
|
|
|
15
15
|
#include "sleipnir/optimization/solver/exit_status.hpp"
|
|
16
|
-
#include "sleipnir/optimization/solver/
|
|
16
|
+
#include "sleipnir/optimization/solver/ipm_matrix_callbacks.hpp"
|
|
17
17
|
#include "sleipnir/optimization/solver/iteration_info.hpp"
|
|
18
18
|
#include "sleipnir/optimization/solver/options.hpp"
|
|
19
19
|
#include "sleipnir/optimization/solver/util/all_finite.hpp"
|
|
@@ -59,15 +59,14 @@ namespace slp {
|
|
|
59
59
|
/// variables.
|
|
60
60
|
/// @return The exit status.
|
|
61
61
|
template <typename Scalar>
|
|
62
|
-
ExitStatus
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
const Options& options,
|
|
62
|
+
ExitStatus ipm(const IPMMatrixCallbacks<Scalar>& matrix_callbacks,
|
|
63
|
+
std::span<std::function<bool(const IterationInfo<Scalar>& info)>>
|
|
64
|
+
iteration_callbacks,
|
|
65
|
+
const Options& options,
|
|
67
66
|
#ifdef SLEIPNIR_ENABLE_BOUND_PROJECTION
|
|
68
|
-
|
|
67
|
+
const Eigen::ArrayX<bool>& bound_constraint_mask,
|
|
69
68
|
#endif
|
|
70
|
-
|
|
69
|
+
Eigen::Vector<Scalar, Eigen::Dynamic>& x) {
|
|
71
70
|
using DenseVector = Eigen::Vector<Scalar, Eigen::Dynamic>;
|
|
72
71
|
|
|
73
72
|
DenseVector s =
|
|
@@ -78,11 +77,11 @@ ExitStatus interior_point(
|
|
|
78
77
|
Scalar μ = Scalar(0.1) * matrix_callbacks.scaling.f;
|
|
79
78
|
int iterations = 0;
|
|
80
79
|
|
|
81
|
-
return
|
|
80
|
+
return ipm(matrix_callbacks, iteration_callbacks, options, false,
|
|
82
81
|
#ifdef SLEIPNIR_ENABLE_BOUND_PROJECTION
|
|
83
|
-
|
|
82
|
+
bound_constraint_mask,
|
|
84
83
|
#endif
|
|
85
|
-
|
|
84
|
+
x, s, y, z, μ, iterations);
|
|
86
85
|
}
|
|
87
86
|
|
|
88
87
|
/// Finds the optimal solution to a nonlinear program using the interior-point
|
|
@@ -119,18 +118,18 @@ ExitStatus interior_point(
|
|
|
119
118
|
/// @param[in,out] iterations The iteration counter.
|
|
120
119
|
/// @return The exit status.
|
|
121
120
|
template <typename Scalar>
|
|
122
|
-
ExitStatus
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
const Options& options, bool in_feasibility_restoration,
|
|
121
|
+
ExitStatus ipm(const IPMMatrixCallbacks<Scalar>& matrix_callbacks,
|
|
122
|
+
std::span<std::function<bool(const IterationInfo<Scalar>& info)>>
|
|
123
|
+
iteration_callbacks,
|
|
124
|
+
const Options& options, bool in_feasibility_restoration,
|
|
127
125
|
#ifdef SLEIPNIR_ENABLE_BOUND_PROJECTION
|
|
128
|
-
|
|
126
|
+
const Eigen::ArrayX<bool>& bound_constraint_mask,
|
|
129
127
|
#endif
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
128
|
+
Eigen::Vector<Scalar, Eigen::Dynamic>& x,
|
|
129
|
+
Eigen::Vector<Scalar, Eigen::Dynamic>& s,
|
|
130
|
+
Eigen::Vector<Scalar, Eigen::Dynamic>& y,
|
|
131
|
+
Eigen::Vector<Scalar, Eigen::Dynamic>& z, Scalar& μ,
|
|
132
|
+
int& iterations) {
|
|
134
133
|
using DenseVector = Eigen::Vector<Scalar, Eigen::Dynamic>;
|
|
135
134
|
using SparseMatrix = Eigen::SparseMatrix<Scalar>;
|
|
136
135
|
using SparseVector = Eigen::SparseVector<Scalar>;
|
|
@@ -193,7 +192,7 @@ ExitStatus interior_point(
|
|
|
193
192
|
auto& c_i_prof = solve_profilers[16];
|
|
194
193
|
auto& A_i_prof = solve_profilers[17];
|
|
195
194
|
|
|
196
|
-
|
|
195
|
+
IPMMatrixCallbacks<Scalar> matrices{
|
|
197
196
|
matrix_callbacks.num_decision_variables,
|
|
198
197
|
matrix_callbacks.num_equality_constraints,
|
|
199
198
|
matrix_callbacks.num_inequality_constraints,
|
|
@@ -847,13 +846,13 @@ ExitStatus interior_point(
|
|
|
847
846
|
}
|
|
848
847
|
|
|
849
848
|
extern template SLEIPNIR_DLLEXPORT ExitStatus
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
849
|
+
ipm(const IPMMatrixCallbacks<double>& matrix_callbacks,
|
|
850
|
+
std::span<std::function<bool(const IterationInfo<double>& info)>>
|
|
851
|
+
iteration_callbacks,
|
|
852
|
+
const Options& options,
|
|
854
853
|
#ifdef SLEIPNIR_ENABLE_BOUND_PROJECTION
|
|
855
|
-
|
|
854
|
+
const Eigen::ArrayX<bool>& bound_constraint_mask,
|
|
856
855
|
#endif
|
|
857
|
-
|
|
856
|
+
Eigen::Vector<double, Eigen::Dynamic>& x);
|
|
858
857
|
|
|
859
858
|
} // namespace slp
|
|
@@ -15,7 +15,7 @@ namespace slp {
|
|
|
15
15
|
///
|
|
16
16
|
/// @tparam Scalar Scalar type.
|
|
17
17
|
template <typename Scalar>
|
|
18
|
-
struct
|
|
18
|
+
struct IPMMatrixCallbacks {
|
|
19
19
|
/// Type alias for dense vector.
|
|
20
20
|
using DenseVector = Eigen::Vector<Scalar, Eigen::Dynamic>;
|
|
21
21
|
/// Type alias for sparse matrix.
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
#include <gch/small_vector.hpp>
|
|
15
15
|
|
|
16
16
|
#include "sleipnir/optimization/solver/exit_status.hpp"
|
|
17
|
-
#include "sleipnir/optimization/solver/
|
|
17
|
+
#include "sleipnir/optimization/solver/ipm_matrix_callbacks.hpp"
|
|
18
18
|
#include "sleipnir/optimization/solver/iteration_info.hpp"
|
|
19
19
|
#include "sleipnir/optimization/solver/options.hpp"
|
|
20
20
|
#include "sleipnir/optimization/solver/sqp_matrix_callbacks.hpp"
|
|
@@ -26,18 +26,18 @@
|
|
|
26
26
|
namespace slp {
|
|
27
27
|
|
|
28
28
|
template <typename Scalar>
|
|
29
|
-
ExitStatus
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
const Options& options, bool in_feasibility_restoration,
|
|
29
|
+
ExitStatus ipm(const IPMMatrixCallbacks<Scalar>& matrix_callbacks,
|
|
30
|
+
std::span<std::function<bool(const IterationInfo<Scalar>& info)>>
|
|
31
|
+
iteration_callbacks,
|
|
32
|
+
const Options& options, bool in_feasibility_restoration,
|
|
34
33
|
#ifdef SLEIPNIR_ENABLE_BOUND_PROJECTION
|
|
35
|
-
|
|
34
|
+
const Eigen::ArrayX<bool>& bound_constraint_mask,
|
|
36
35
|
#endif
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
36
|
+
Eigen::Vector<Scalar, Eigen::Dynamic>& x,
|
|
37
|
+
Eigen::Vector<Scalar, Eigen::Dynamic>& s,
|
|
38
|
+
Eigen::Vector<Scalar, Eigen::Dynamic>& y,
|
|
39
|
+
Eigen::Vector<Scalar, Eigen::Dynamic>& z, Scalar& μ,
|
|
40
|
+
int& iterations);
|
|
41
41
|
|
|
42
42
|
/// Computes initial values for p and n in feasibility restoration.
|
|
43
43
|
///
|
|
@@ -181,7 +181,7 @@ ExitStatus feasibility_restoration(
|
|
|
181
181
|
const ProblemScaling<Scalar> fr_scaling{Scalar(1), matrices.scaling.c_e,
|
|
182
182
|
DenseVector::Ones(2 * num_eq)};
|
|
183
183
|
|
|
184
|
-
|
|
184
|
+
IPMMatrixCallbacks<Scalar> fr_matrix_callbacks{
|
|
185
185
|
static_cast<int>(fr_x.rows()),
|
|
186
186
|
static_cast<int>(fr_y.rows()),
|
|
187
187
|
static_cast<int>(fr_z.rows()),
|
|
@@ -302,12 +302,12 @@ ExitStatus feasibility_restoration(
|
|
|
302
302
|
},
|
|
303
303
|
fr_scaling};
|
|
304
304
|
|
|
305
|
-
auto status =
|
|
306
|
-
fr_matrix_callbacks, iteration_callbacks, options, true,
|
|
305
|
+
auto status =
|
|
306
|
+
ipm<Scalar>(fr_matrix_callbacks, iteration_callbacks, options, true,
|
|
307
307
|
#ifdef SLEIPNIR_ENABLE_BOUND_PROJECTION
|
|
308
|
-
|
|
308
|
+
Eigen::ArrayX<bool>::Constant(2 * num_eq, true),
|
|
309
309
|
#endif
|
|
310
|
-
|
|
310
|
+
fr_x, fr_s, fr_y, fr_z, fr_μ, iterations);
|
|
311
311
|
|
|
312
312
|
x = fr_x.segment(0, x.rows());
|
|
313
313
|
|
|
@@ -365,7 +365,7 @@ ExitStatus feasibility_restoration(
|
|
|
365
365
|
/// @return The exit status.
|
|
366
366
|
template <typename Scalar>
|
|
367
367
|
ExitStatus feasibility_restoration(
|
|
368
|
-
const
|
|
368
|
+
const IPMMatrixCallbacks<Scalar>& matrix_callbacks,
|
|
369
369
|
std::span<std::function<bool(const IterationInfo<Scalar>& info)>>
|
|
370
370
|
iteration_callbacks,
|
|
371
371
|
const Options& options,
|
|
@@ -449,7 +449,7 @@ ExitStatus feasibility_restoration(
|
|
|
449
449
|
const ProblemScaling<Scalar> fr_scaling{Scalar(1), matrices.scaling.c_e,
|
|
450
450
|
fr_d_c_i};
|
|
451
451
|
|
|
452
|
-
|
|
452
|
+
IPMMatrixCallbacks<Scalar> fr_matrix_callbacks{
|
|
453
453
|
static_cast<int>(fr_x.rows()),
|
|
454
454
|
static_cast<int>(fr_y.rows()),
|
|
455
455
|
static_cast<int>(fr_z.rows()),
|
|
@@ -619,12 +619,12 @@ ExitStatus feasibility_restoration(
|
|
|
619
619
|
fr_bound_constraint_mask.segment(num_ineq, 2 * num_eq + 2 * num_ineq) = true;
|
|
620
620
|
#endif
|
|
621
621
|
|
|
622
|
-
auto status =
|
|
623
|
-
fr_matrix_callbacks, iteration_callbacks, options, true,
|
|
622
|
+
auto status =
|
|
623
|
+
ipm<Scalar>(fr_matrix_callbacks, iteration_callbacks, options, true,
|
|
624
624
|
#ifdef SLEIPNIR_ENABLE_BOUND_PROJECTION
|
|
625
|
-
|
|
625
|
+
fr_bound_constraint_mask,
|
|
626
626
|
#endif
|
|
627
|
-
|
|
627
|
+
fr_x, fr_s, fr_y, fr_z, fr_μ, iterations);
|
|
628
628
|
|
|
629
629
|
x = fr_x.segment(0, x.rows());
|
|
630
630
|
s = fr_s.segment(0, s.rows());
|
|
@@ -687,4 +687,4 @@ ExitStatus feasibility_restoration(
|
|
|
687
687
|
|
|
688
688
|
} // namespace slp
|
|
689
689
|
|
|
690
|
-
#include "sleipnir/optimization/solver/
|
|
690
|
+
#include "sleipnir/optimization/solver/ipm.hpp"
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
// Copyright (c) Sleipnir contributors
|
|
2
2
|
|
|
3
|
-
#include "sleipnir/optimization/solver/
|
|
3
|
+
#include "sleipnir/optimization/solver/ipm.hpp"
|
|
4
4
|
|
|
5
5
|
#include "sleipnir/util/symbol_exports.hpp"
|
|
6
6
|
|
|
7
|
-
template SLEIPNIR_DLLEXPORT slp::ExitStatus slp::
|
|
8
|
-
const
|
|
7
|
+
template SLEIPNIR_DLLEXPORT slp::ExitStatus slp::ipm(
|
|
8
|
+
const IPMMatrixCallbacks<double>& matrix_callbacks,
|
|
9
9
|
std::span<std::function<bool(const IterationInfo<double>& info)>>
|
|
10
10
|
iteration_callbacks,
|
|
11
11
|
const Options& options,
|
{sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/CMakeLists.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
|
{sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/pyproject.toml
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
|
{sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/python/cpp/main.cpp
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
|
{sleipnirgroup_jormungandr-0.6.6.dev31 → sleipnirgroup_jormungandr-0.6.6.dev32}/src/util/pool.cpp
RENAMED
|
File without changes
|