sleipnirgroup-jormungandr 0.0.1.dev475__cp310-cp310-macosx_14_0_universal2.whl → 0.0.1.dev476__cp310-cp310-macosx_14_0_universal2.whl
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.
- jormungandr/_jormungandr.cpython-310-darwin.so +0 -0
- jormungandr/cpp/docstrings.hpp +4 -0
- jormungandr/cpp/optimization/solver/bind_exit_status.cpp +2 -0
- jormungandr/optimization/__init__.pyi +12 -6
- jormungandr/test/optimization/nonlinear_problem_test.py +19 -0
- {sleipnirgroup_jormungandr-0.0.1.dev475.dist-info → sleipnirgroup_jormungandr-0.0.1.dev476.dist-info}/METADATA +1 -1
- {sleipnirgroup_jormungandr-0.0.1.dev475.dist-info → sleipnirgroup_jormungandr-0.0.1.dev476.dist-info}/RECORD +10 -10
- {sleipnirgroup_jormungandr-0.0.1.dev475.dist-info → sleipnirgroup_jormungandr-0.0.1.dev476.dist-info}/LICENSE.txt +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev475.dist-info → sleipnirgroup_jormungandr-0.0.1.dev476.dist-info}/WHEEL +0 -0
- {sleipnirgroup_jormungandr-0.0.1.dev475.dist-info → sleipnirgroup_jormungandr-0.0.1.dev476.dist-info}/entry_points.txt +0 -0
Binary file
|
jormungandr/cpp/docstrings.hpp
CHANGED
@@ -78,6 +78,10 @@ up.)doc";
|
|
78
78
|
|
79
79
|
static const char *__doc_slp_ExitStatus_FACTORIZATION_FAILED = R"doc(The linear system factorization failed.)doc";
|
80
80
|
|
81
|
+
static const char *__doc_slp_ExitStatus_GLOBALLY_INFEASIBLE =
|
82
|
+
R"doc(The problem setup frontend determined the problem to have an empty
|
83
|
+
feasible region.)doc";
|
84
|
+
|
81
85
|
static const char *__doc_slp_ExitStatus_LINE_SEARCH_FAILED =
|
82
86
|
R"doc(The backtracking line search failed, and the problem isn't locally
|
83
87
|
infeasible.)doc";
|
@@ -17,6 +17,8 @@ void bind_exit_status(nb::enum_<ExitStatus>& e) {
|
|
17
17
|
DOC(slp, ExitStatus, TOO_FEW_DOFS));
|
18
18
|
e.value("LOCALLY_INFEASIBLE", ExitStatus::LOCALLY_INFEASIBLE,
|
19
19
|
DOC(slp, ExitStatus, LOCALLY_INFEASIBLE));
|
20
|
+
e.value("GLOBALLY_INFEASIBLE", ExitStatus::GLOBALLY_INFEASIBLE,
|
21
|
+
DOC(slp, ExitStatus, GLOBALLY_INFEASIBLE));
|
20
22
|
e.value("FACTORIZATION_FAILED", ExitStatus::FACTORIZATION_FAILED,
|
21
23
|
DOC(slp, ExitStatus, FACTORIZATION_FAILED));
|
22
24
|
e.value("LINE_SEARCH_FAILED", ExitStatus::LINE_SEARCH_FAILED,
|
@@ -45,34 +45,40 @@ class ExitStatus(enum.Enum):
|
|
45
45
|
up.
|
46
46
|
"""
|
47
47
|
|
48
|
-
|
48
|
+
GLOBALLY_INFEASIBLE = -3
|
49
|
+
"""
|
50
|
+
The problem setup frontend determined the problem to have an empty
|
51
|
+
feasible region.
|
52
|
+
"""
|
53
|
+
|
54
|
+
FACTORIZATION_FAILED = -4
|
49
55
|
"""The linear system factorization failed."""
|
50
56
|
|
51
|
-
LINE_SEARCH_FAILED = -
|
57
|
+
LINE_SEARCH_FAILED = -5
|
52
58
|
"""
|
53
59
|
The backtracking line search failed, and the problem isn't locally
|
54
60
|
infeasible.
|
55
61
|
"""
|
56
62
|
|
57
|
-
NONFINITE_INITIAL_COST_OR_CONSTRAINTS = -
|
63
|
+
NONFINITE_INITIAL_COST_OR_CONSTRAINTS = -6
|
58
64
|
"""
|
59
65
|
The solver encountered nonfinite initial cost or constraints and gave
|
60
66
|
up.
|
61
67
|
"""
|
62
68
|
|
63
|
-
DIVERGING_ITERATES = -
|
69
|
+
DIVERGING_ITERATES = -7
|
64
70
|
"""
|
65
71
|
The solver encountered diverging primal iterates xₖ and/or sₖ and gave
|
66
72
|
up.
|
67
73
|
"""
|
68
74
|
|
69
|
-
MAX_ITERATIONS_EXCEEDED = -
|
75
|
+
MAX_ITERATIONS_EXCEEDED = -8
|
70
76
|
"""
|
71
77
|
The solver returned its solution so far after exceeding the maximum
|
72
78
|
number of iterations.
|
73
79
|
"""
|
74
80
|
|
75
|
-
TIMEOUT = -
|
81
|
+
TIMEOUT = -9
|
76
82
|
"""
|
77
83
|
The solver returned its solution so far after exceeding the maximum
|
78
84
|
elapsed wall clock time.
|
@@ -116,6 +116,25 @@ def test_minimum_2d_distance_with_linear_constraint():
|
|
116
116
|
assert y.value() == pytest.approx(2.5, abs=1e-2)
|
117
117
|
|
118
118
|
|
119
|
+
def test_conflicting_bounds():
|
120
|
+
problem = Problem()
|
121
|
+
|
122
|
+
x = problem.decision_variable()
|
123
|
+
y = problem.decision_variable()
|
124
|
+
|
125
|
+
problem.minimize(autodiff.hypot(x, y))
|
126
|
+
|
127
|
+
problem.subject_to(autodiff.hypot(x, y) <= 1)
|
128
|
+
problem.subject_to(x >= 0.5)
|
129
|
+
problem.subject_to(x <= -0.5)
|
130
|
+
|
131
|
+
assert problem.cost_function_type() == ExpressionType.NONLINEAR
|
132
|
+
assert problem.equality_constraint_type() == ExpressionType.NONE
|
133
|
+
assert problem.inequality_constraint_type() == ExpressionType.NONLINEAR
|
134
|
+
|
135
|
+
assert problem.solve(diagnostics=True) == ExitStatus.GLOBALLY_INFEASIBLE
|
136
|
+
|
137
|
+
|
119
138
|
def test_wachter_and_biegler_line_search_failure():
|
120
139
|
# See example 19.2 of [1]
|
121
140
|
|
@@ -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.dev476
|
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
|
|
@@ -1,16 +1,16 @@
|
|
1
1
|
jormungandr/__init__.py,sha256=0MOh1_NCDMO8wCiUOsvXRsfdKd5PesipWIi4G9leEV0,154
|
2
2
|
jormungandr/__init__.pyi,sha256=pwQ9tOAXG2iEGd6i9QIBnON0ynPHIdcHf9aoNCcmGR0,101
|
3
|
-
jormungandr/_jormungandr.cpython-310-darwin.so,sha256
|
3
|
+
jormungandr/_jormungandr.cpython-310-darwin.so,sha256=-5TE-or8_xf9pKZrIsnowFd-GRLiWMUMGiQryFxA6tc,2116064
|
4
4
|
jormungandr/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
5
5
|
jormungandr/autodiff/__init__.py,sha256=I2e8ciE5IppQ72nNCepqHz6yIZHUlLXMk54AfvJirwc,1416
|
6
6
|
jormungandr/autodiff/__init__.pyi,sha256=vUsbibOahtnNqOuC0rYjRWufZeq-99GeO1bC73E0ozA,62206
|
7
7
|
jormungandr/control/__init__.py,sha256=Gd7IGIh8mTsW5cjWwHxHpd1nhcjMIdbOqrAs7cvLUVY,37
|
8
8
|
jormungandr/cpp/binders.hpp,sha256=X1_f22P4m-wvT91xO4-iJNWiR1uDxgNAMqC91LN_-AQ,1638
|
9
|
-
jormungandr/cpp/docstrings.hpp,sha256=
|
9
|
+
jormungandr/cpp/docstrings.hpp,sha256=zT2DLriDaOrPLehIYgdwyT2QwrrriYPxYupvYX_csCs,101595
|
10
10
|
jormungandr/cpp/main.cpp,sha256=ctz6_8909dfurpEXifglIooC5NNvj7E6mGbCfBUvYMQ,3333
|
11
11
|
jormungandr/cpp/try_cast.hpp,sha256=9fWt3z0NRNIXzBv020sD5ffDvyJomTjnSoS2RwZOdwM,1286
|
12
12
|
jormungandr/optimization/__init__.py,sha256=xYtHMhKtD4vQdi_XwGIUek8w8RIaqIA8gBgLYmv1SkE,1281
|
13
|
-
jormungandr/optimization/__init__.pyi,sha256=
|
13
|
+
jormungandr/optimization/__init__.pyi,sha256=oUjN9eZ-_amOda7ImWjteJ-nFl_AcUzAJM6aXis_nJc,11804
|
14
14
|
jormungandr/test/cart_pole_util.py,sha256=zbxlK_pOZRZeEf6NfRiJNH1y-70tTQYQfEiETBpu_qI,2667
|
15
15
|
jormungandr/test/differential_drive_util.py,sha256=XSsGMGhA8zC-i74WgqWhycdCGUBGb6iFxEv6grj8lVs,1238
|
16
16
|
jormungandr/test/rk4.py,sha256=5VLagmfxpqTGKWgvXOfsoGPFxjt_ppqd9l8GkAl79l4,586
|
@@ -43,13 +43,13 @@ jormungandr/test/optimization/exit_status_test.py,sha256=LSQfvOZxyGhrjdwz8TMPC8F
|
|
43
43
|
jormungandr/test/optimization/flywheel_problem_test.py,sha256=Cv73kIIcww0LRds2iSu9p1xuGUeAswhtCnoBgbunm9g,3167
|
44
44
|
jormungandr/test/optimization/linear_problem_test.py,sha256=zV-2Yi3GCnd7JdvH3L8tsAM9_wWofG5Q-peqMbpwSq4,1459
|
45
45
|
jormungandr/test/optimization/multistart_test.py,sha256=aKzetp13hRI77P2hUEbzeVhddFULag9Yl1pNHuZ9BjU,1249
|
46
|
-
jormungandr/test/optimization/nonlinear_problem_test.py,sha256=
|
46
|
+
jormungandr/test/optimization/nonlinear_problem_test.py,sha256=IY1mvG40E3vYFuD1VZQs-gNnSS1y4OKFRw8Lx91xw_E,5477
|
47
47
|
jormungandr/test/optimization/quadratic_problem_test.py,sha256=oF1WIeY1aHrODMN2qmOekjWcisOOiewIRsYgseDs2B8,4394
|
48
48
|
jormungandr/test/optimization/trivial_problem_test.py,sha256=Hox6MlGCi0sJwm3dqJGxLtpZODEXclnPVRtDHVnnvqg,1473
|
49
|
-
jormungandr/cpp/optimization/solver/bind_exit_status.cpp,sha256=
|
49
|
+
jormungandr/cpp/optimization/solver/bind_exit_status.cpp,sha256=RdKzfSVJbeDOBxEgbpHu__UM-52HBOBdq0KPVLytQcM,1560
|
50
50
|
jormungandr/cpp/optimization/solver/bind_iteration_info.cpp,sha256=o5BvqW6BkZb4FlTx_ZTN6yVOFhEecLfRQeuGqty1DoU,1091
|
51
|
-
sleipnirgroup_jormungandr-0.0.1.
|
52
|
-
sleipnirgroup_jormungandr-0.0.1.
|
53
|
-
sleipnirgroup_jormungandr-0.0.1.
|
54
|
-
sleipnirgroup_jormungandr-0.0.1.
|
55
|
-
sleipnirgroup_jormungandr-0.0.1.
|
51
|
+
sleipnirgroup_jormungandr-0.0.1.dev476.dist-info/LICENSE.txt,sha256=GO2ESyxbSNqb8hIL18kdV__AfVOlBY3CRXgXLxGamp0,1465
|
52
|
+
sleipnirgroup_jormungandr-0.0.1.dev476.dist-info/METADATA,sha256=ChUq0Ayt4Ts6xK1h4fT6TCHX0cdL5l_goT_wbnuHM9o,12470
|
53
|
+
sleipnirgroup_jormungandr-0.0.1.dev476.dist-info/WHEEL,sha256=yeInA7i3eJWbKg49RLa1hulOTYE3ZqmV0UqwwtJDbkU,106
|
54
|
+
sleipnirgroup_jormungandr-0.0.1.dev476.dist-info/entry_points.txt,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
55
|
+
sleipnirgroup_jormungandr-0.0.1.dev476.dist-info/RECORD,,
|
File without changes
|
File without changes
|