sleipnirgroup-jormungandr 0.0.1.dev475__cp312-cp312-win_amd64.whl → 0.0.1.dev476__cp312-cp312-win_amd64.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.
@@ -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
- FACTORIZATION_FAILED = -3
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 = -4
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 = -5
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 = -6
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 = -7
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 = -8
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.dev475
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=nIqhLHGx0a-3v5s7YOWR85BlvEH9MDLJkpoY5pn16lk,160
2
2
  jormungandr/__init__.pyi,sha256=emqcIBqJMpxEAJ-ql0o54KWlC2eYLqCAeKhzgdcxI2k,106
3
- jormungandr/_jormungandr.cp312-win_amd64.pyd,sha256=SGecqnDZJ-sKTEKvyDmyq6X05Xd_WqaVUs4SAJl8310,1250304
3
+ jormungandr/_jormungandr.cp312-win_amd64.pyd,sha256=A0dOVHpOcMK966YrtIdnnH7w-XtWL1GX1m9s8r44jOU,1256448
4
4
  jormungandr/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
5
  jormungandr/autodiff/__init__.py,sha256=KjtAsCEanXWohdJh2QvSjxXUosRoIrnf0Bn8IZ5CRSk,1474
6
6
  jormungandr/autodiff/__init__.pyi,sha256=Fb5xVh6NSQoEiQpdcAKd2aX424WLVrNWK7vbywwxkMI,64651
7
7
  jormungandr/control/__init__.py,sha256=jj_nLjcfpzTZG6PmamM8fSOyMBFEgQvkXfZToG4TWDg,38
8
8
  jormungandr/cpp/binders.hpp,sha256=VdZiZmF3MYnb09FOeDQwg0Qgkl3SrBU_pq5T6vYKAaU,1684
9
- jormungandr/cpp/docstrings.hpp,sha256=OOp4hImEC9wZJWAamCV7_HnGL1dUDCeCowC_euzsmxo,104770
9
+ jormungandr/cpp/docstrings.hpp,sha256=OzRK5mYdXv5OGmpMH5XFJ12lsBIt7JFM7lUF0zs1098,104933
10
10
  jormungandr/cpp/main.cpp,sha256=LLjWMUIpKsSXxk9nJSQmAOpkwulqhoePFc2OZqfqK90,3419
11
11
  jormungandr/cpp/try_cast.hpp,sha256=cOWtz7uLnLotGklGSsPE6UG9lvRq5rn-Mh4eyEf6xes,1335
12
12
  jormungandr/optimization/__init__.py,sha256=ppi_-zEMxOdHw15R7TfI0kx5iHVA5cg70ezQIqcEdP0,1320
13
- jormungandr/optimization/__init__.pyi,sha256=RUSuDgFUJ7wcCdZhSkkmRaegHfsEpOk3Sbdg1Jnun1Q,12040
13
+ jormungandr/optimization/__init__.pyi,sha256=yqZ-a0WYw0zVuY-yYdvXc8qAhbz7GsgkUIne0sfeOuk,12184
14
14
  jormungandr/test/cart_pole_util.py,sha256=aSb9yqQlIcWcuAo-njtb_WM9EjLy6Y0okG6tSBwgxlo,2775
15
15
  jormungandr/test/differential_drive_util.py,sha256=GAxUxvjSh_91zVCCv5kogkPa_vYWT3Q7YGzT_jkqzZY,1283
16
16
  jormungandr/test/rk4.py,sha256=lvrwddRDj9hepEGUVdwhX1crv4KC-ehDRyD8q37PhIU,610
@@ -43,13 +43,13 @@ jormungandr/test/optimization/exit_status_test.py,sha256=a2ZPDToi6zbtBkGhW5fIWnZ
43
43
  jormungandr/test/optimization/flywheel_problem_test.py,sha256=kGVKHEXeETgFngW9qiogL1q6zTKLKk2nJE0M4U1w7KE,3282
44
44
  jormungandr/test/optimization/linear_problem_test.py,sha256=72tTcoXgaIRBuiFS7GC9xUFKBFtt8I1HOXjg6O0wdNs,1509
45
45
  jormungandr/test/optimization/multistart_test.py,sha256=uZhtvnNiabb4padxLtHO3vFO28dYsXlVXL5pr5Cs2cc,1292
46
- jormungandr/test/optimization/nonlinear_problem_test.py,sha256=dBVbwXs0bkkjo9QL4jfMp3PWxsJC3gv9tdFi5LTEmU4,5042
46
+ jormungandr/test/optimization/nonlinear_problem_test.py,sha256=QI3qvU_J_puZJcQWZc_J3xIrwhLV6wZajkXO7YBIz8o,5645
47
47
  jormungandr/test/optimization/quadratic_problem_test.py,sha256=PLRxn4py61Cxi02V1_x6vPYPP5KeljwHj8OKhkRuSsA,4555
48
48
  jormungandr/test/optimization/trivial_problem_test.py,sha256=I6lgUa1LQPAi4Ig1PSW0vUuOIvWgczvxPJt6DJ5feBA,1520
49
- jormungandr/cpp/optimization/solver/bind_exit_status.cpp,sha256=65ASStJ1Ri15TSULF6jp4Z1OYPTj-GrdtIVbhoB6WAc,1474
49
+ jormungandr/cpp/optimization/solver/bind_exit_status.cpp,sha256=WgEOE8jpJEKoM8xRhIn8P5eaEUUrvCEWPh6oyYQtHMo,1596
50
50
  jormungandr/cpp/optimization/solver/bind_iteration_info.cpp,sha256=ZInsEYYVeUELXU1zw06b8T47AWR5lGHqSm5QUN8e1eA,1128
51
- sleipnirgroup_jormungandr-0.0.1.dev475.dist-info/LICENSE.txt,sha256=nwxb5LL2JfGlD5R530eZ7dm2aEepy57PDyhMunTgahU,1476
52
- sleipnirgroup_jormungandr-0.0.1.dev475.dist-info/METADATA,sha256=8LweHMafWpH4n2IWGCnVQnR29EU0gkZidF8KHLIzpJk,12773
53
- sleipnirgroup_jormungandr-0.0.1.dev475.dist-info/WHEEL,sha256=fngxx-5BTFmd1JNw7KG2qCOQzyJvOBfE0V1DQWvjZmE,96
54
- sleipnirgroup_jormungandr-0.0.1.dev475.dist-info/entry_points.txt,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
55
- sleipnirgroup_jormungandr-0.0.1.dev475.dist-info/RECORD,,
51
+ sleipnirgroup_jormungandr-0.0.1.dev476.dist-info/LICENSE.txt,sha256=nwxb5LL2JfGlD5R530eZ7dm2aEepy57PDyhMunTgahU,1476
52
+ sleipnirgroup_jormungandr-0.0.1.dev476.dist-info/METADATA,sha256=NTV7X1QQ4xc28r7Ri3eEIEsicvX3KAxYOfHx8lU4QkM,12773
53
+ sleipnirgroup_jormungandr-0.0.1.dev476.dist-info/WHEEL,sha256=fngxx-5BTFmd1JNw7KG2qCOQzyJvOBfE0V1DQWvjZmE,96
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,,