sleipnirgroup-jormungandr 0.6.7.dev20__tar.gz → 0.6.7.dev22__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.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/PKG-INFO +1 -1
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/include/sleipnir/optimization/solver/util/feasibility_restoration.hpp +11 -4
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/python/src/sleipnir/__init__.py +1 -1
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/python/test/optimization/flywheel_ocp_test.py +1 -4
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/python/test/optimization/flywheel_problem_test.py +1 -4
- sleipnirgroup_jormungandr-0.6.7.dev22/python/test/optimization/near.py +2 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/CMakeLists.txt +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/LICENSE.txt +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/README.md +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/SleipnirConfig.cmake.in +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/cmake/BuildTypes.cmake +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/cmake/CompilerFlags.cmake +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/cmake/Pybind11Mkdoc.cmake +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/cmake/SubdirList.cmake +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/cmake/arm-none-eabi.cmake +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/include/sleipnir/autodiff/expression.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/include/sleipnir/autodiff/expression_graph.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/include/sleipnir/autodiff/expression_type.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/include/sleipnir/autodiff/gradient.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/include/sleipnir/autodiff/hessian.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/include/sleipnir/autodiff/jacobian.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/include/sleipnir/autodiff/sleipnir_base.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/include/sleipnir/autodiff/slice.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/include/sleipnir/autodiff/variable.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/include/sleipnir/autodiff/variable_block.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/include/sleipnir/autodiff/variable_matrix.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/include/sleipnir/optimization/multistart.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/include/sleipnir/optimization/ocp/dynamics_type.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/include/sleipnir/optimization/ocp/timestep_method.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/include/sleipnir/optimization/ocp/transcription_method.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/include/sleipnir/optimization/ocp.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/include/sleipnir/optimization/problem.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/include/sleipnir/optimization/solver/exit_status.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/include/sleipnir/optimization/solver/ipm.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/include/sleipnir/optimization/solver/ipm_matrix_callbacks.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/include/sleipnir/optimization/solver/iteration_info.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/include/sleipnir/optimization/solver/newton.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/include/sleipnir/optimization/solver/newton_matrix_callbacks.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/include/sleipnir/optimization/solver/options.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/include/sleipnir/optimization/solver/sqp.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/include/sleipnir/optimization/solver/sqp_matrix_callbacks.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/include/sleipnir/optimization/solver/util/all_finite.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/include/sleipnir/optimization/solver/util/append_as_triplets.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/include/sleipnir/optimization/solver/util/bounds.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/include/sleipnir/optimization/solver/util/dense_kkt_solver.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/include/sleipnir/optimization/solver/util/filter.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/include/sleipnir/optimization/solver/util/fraction_to_the_boundary_rule.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/include/sleipnir/optimization/solver/util/inertia.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/include/sleipnir/optimization/solver/util/kkt_error.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/include/sleipnir/optimization/solver/util/kkt_solver.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/include/sleipnir/optimization/solver/util/lagrange_multiplier_estimate.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/include/sleipnir/optimization/solver/util/problem_scaling.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/include/sleipnir/optimization/solver/util/sparse_inf_norms.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/include/sleipnir/optimization/solver/util/sparse_kkt_solver.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/include/sleipnir/util/assert.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/include/sleipnir/util/concepts.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/include/sleipnir/util/empty.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/include/sleipnir/util/function_ref.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/include/sleipnir/util/intrusive_shared_ptr.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/include/sleipnir/util/pool.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/include/sleipnir/util/print.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/include/sleipnir/util/print_diagnostics.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/include/sleipnir/util/profiler.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/include/sleipnir/util/scope_exit.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/include/sleipnir/util/spy.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/include/sleipnir/util/symbol_exports.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/pyproject.toml +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/python/cpp/autodiff/bind_expression_type.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/python/cpp/autodiff/bind_gradient.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/python/cpp/autodiff/bind_hessian.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/python/cpp/autodiff/bind_jacobian.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/python/cpp/autodiff/bind_variable.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/python/cpp/autodiff/bind_variable_block.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/python/cpp/autodiff/bind_variable_matrix.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/python/cpp/binders.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/python/cpp/docstrings.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/python/cpp/for_each_type.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/python/cpp/main.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/python/cpp/optimization/bind_equality_constraints.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/python/cpp/optimization/bind_inequality_constraints.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/python/cpp/optimization/bind_ocp.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/python/cpp/optimization/bind_problem.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/python/cpp/optimization/ocp/bind_dynamics_type.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/python/cpp/optimization/ocp/bind_timestep_method.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/python/cpp/optimization/ocp/bind_transcription_method.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/python/cpp/optimization/solver/bind_exit_status.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/python/cpp/optimization/solver/bind_iteration_info.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/python/cpp/try_cast.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/python/src/sleipnir/autodiff/__init__.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/python/src/sleipnir/optimization/__init__.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/python/test/autodiff/gradient_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/python/test/autodiff/hessian_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/python/test/autodiff/jacobian_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/python/test/autodiff/variable_matrix_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/python/test/autodiff/variable_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/python/test/optimization/arm_on_elevator_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/python/test/optimization/cart_pole_ocp_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/python/test/optimization/cart_pole_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/python/test/optimization/cart_pole_util.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/python/test/optimization/constraints_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/python/test/optimization/decision_variable_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/python/test/optimization/differential_drive_ocp_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/python/test/optimization/differential_drive_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/python/test/optimization/differential_drive_util.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/python/test/optimization/double_integrator_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/python/test/optimization/linear_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/python/test/optimization/multistart_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/python/test/optimization/nonlinear_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/python/test/optimization/problem_spy_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/python/test/optimization/quadratic_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/python/test/optimization/rk4.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/python/test/optimization/solver/exit_status_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/python/test/optimization/trivial_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/src/autodiff/gradient.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/src/autodiff/hessian.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/src/autodiff/jacobian.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/src/autodiff/variable_matrix.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/src/optimization/ocp.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/src/optimization/problem.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/src/optimization/solver/ipm.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/src/optimization/solver/newton.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/src/optimization/solver/sqp.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/src/util/pool.cpp +0 -0
|
@@ -167,11 +167,13 @@ ExitStatus feasibility_restoration(
|
|
|
167
167
|
DenseVector fr_x{num_vars + 2 * num_eq};
|
|
168
168
|
fr_x << x, p_e_0, n_e_0;
|
|
169
169
|
|
|
170
|
-
|
|
170
|
+
// Start the constraints pₑ, nₑ ≥ 0 with zero violation
|
|
171
|
+
DenseVector fr_s{2 * num_eq};
|
|
172
|
+
fr_s << p_e_0, n_e_0;
|
|
171
173
|
|
|
172
174
|
DenseVector fr_y = DenseVector::Zero(num_eq);
|
|
173
175
|
|
|
174
|
-
//
|
|
176
|
+
// Start the duals with perfect complementarity with respect to the slacks
|
|
175
177
|
DenseVector fr_z{2 * num_eq};
|
|
176
178
|
fr_z << fr_μ * p_e_0.cwiseInverse(), fr_μ * n_e_0.cwiseInverse();
|
|
177
179
|
|
|
@@ -428,13 +430,18 @@ ExitStatus feasibility_restoration(
|
|
|
428
430
|
DenseVector fr_x{num_vars + 2 * num_eq + 2 * num_ineq};
|
|
429
431
|
fr_x << x, p_e_0, n_e_0, p_i_0, n_i_0;
|
|
430
432
|
|
|
433
|
+
// Use the original problem's slacks for cᵢ(x) − pᵢ + nᵢ ≥ 0 since
|
|
434
|
+
// cᵢ(x) − pᵢ + nᵢ = s by construction.
|
|
435
|
+
//
|
|
436
|
+
// Start the constraints pₑ, nₑ, pᵢ, nᵢ ≥ 0 with zero violation.
|
|
431
437
|
DenseVector fr_s{s.rows() + 2 * num_eq + 2 * num_ineq};
|
|
432
438
|
fr_s.segment(0, s.rows()) = s;
|
|
433
|
-
fr_s.segment(s.rows(), 2 * num_eq + 2 * num_ineq)
|
|
439
|
+
fr_s.segment(s.rows(), 2 * num_eq + 2 * num_ineq) << p_e_0, n_e_0, p_i_0,
|
|
440
|
+
n_i_0;
|
|
434
441
|
|
|
435
442
|
DenseVector fr_y = DenseVector::Zero(c_e.rows());
|
|
436
443
|
|
|
437
|
-
//
|
|
444
|
+
// Start the duals with perfect complementarity with respect to the slacks
|
|
438
445
|
DenseVector fr_z{c_i.rows() + 2 * num_eq + 2 * num_ineq};
|
|
439
446
|
fr_z << fr_μ * s.cwiseInverse(), fr_μ * p_e_0.cwiseInverse(),
|
|
440
447
|
fr_μ * n_e_0.cwiseInverse(), fr_μ * p_i_0.cwiseInverse(),
|
|
@@ -3,6 +3,7 @@ from collections.abc import Callable
|
|
|
3
3
|
|
|
4
4
|
import numpy as np
|
|
5
5
|
import pytest
|
|
6
|
+
from near import near
|
|
6
7
|
from sleipnir.autodiff import ExpressionType, VariableMatrix
|
|
7
8
|
from sleipnir.optimization import (
|
|
8
9
|
OCP,
|
|
@@ -13,10 +14,6 @@ from sleipnir.optimization import (
|
|
|
13
14
|
)
|
|
14
15
|
|
|
15
16
|
|
|
16
|
-
def near(expected, actual, tolerance):
|
|
17
|
-
return abs(expected - actual) < tolerance
|
|
18
|
-
|
|
19
|
-
|
|
20
17
|
def flywheel_test(
|
|
21
18
|
test_name: str,
|
|
22
19
|
A: float,
|
|
@@ -2,14 +2,11 @@ import math
|
|
|
2
2
|
|
|
3
3
|
import numpy as np
|
|
4
4
|
import pytest
|
|
5
|
+
from near import near
|
|
5
6
|
from sleipnir.autodiff import ExpressionType
|
|
6
7
|
from sleipnir.optimization import ExitStatus, Problem, bounds
|
|
7
8
|
|
|
8
9
|
|
|
9
|
-
def near(expected, actual, tolerance):
|
|
10
|
-
return abs(expected - actual) < tolerance
|
|
11
|
-
|
|
12
|
-
|
|
13
10
|
def test_flywheel_problem():
|
|
14
11
|
TOTAL_TIME = 5.0
|
|
15
12
|
dt = 0.005
|
{sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/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.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/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
|
{sleipnirgroup_jormungandr-0.6.7.dev20 → sleipnirgroup_jormungandr-0.6.7.dev22}/src/util/pool.cpp
RENAMED
|
File without changes
|