jijmodeling 2.0.0a4__cp38-abi3-manylinux_2_28_x86_64.whl → 2.0.0a6__cp38-abi3-manylinux_2_28_x86_64.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.

Potentially problematic release.


This version of jijmodeling might be problematic. Click here for more details.

jijmodeling/__init__.pyi CHANGED
@@ -7,33 +7,21 @@ import numpy.typing
7
7
  import ommx.v1
8
8
  import typing
9
9
  from . import _jijmodeling
10
- from enum import Enum, auto
10
+ from enum import Enum
11
11
 
12
12
  __version__: builtins.str
13
13
  class Compiler:
14
- def __new__(cls,namespace:Namespace, instance_data:typing.Mapping[builtins.str, builtins.int | builtins.float | numpy.typing.NDArray[numpy.float64] | numpy.typing.NDArray[numpy.int64] | list]): ...
15
14
  def get_constraint_id_by_name(self, name:builtins.str) -> dict:
16
15
  r"""
17
16
  Obtains a dictionary from subscript to constraint Id.
18
17
  """
19
- ...
20
-
21
- def eval_function(self, expr:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> ommx.v1.Function:
22
- ...
23
-
24
- def eval_constraints(self, constraint:Constraint) -> builtins.list[ommx.v1.Constraint]:
25
- ...
26
-
27
- def eval_problem(self, problem:Problem) -> ommx.v1.Instance:
28
- ...
29
-
30
- def get_decision_variable_by_name(self, name:builtins.str, subscript:typing.Optional[typing.Sequence[builtins.int]]=None) -> ommx.v1.DecisionVariable:
31
- ...
32
-
18
+ def eval_function(self, expr:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> ommx.v1.Function: ...
19
+ def eval_constraints(self, constraint:Constraint) -> builtins.list[ommx.v1.Constraint]: ...
20
+ def eval_problem(self, problem:Problem) -> ommx.v1.Instance: ...
21
+ def get_decision_variable_by_name(self, name:builtins.str, subscript:typing.Optional[typing.Sequence[builtins.int]]=None) -> ommx.v1.DecisionVariable: ...
22
+ def __new__(cls, namespace:Namespace, instance_data:typing.Mapping[builtins.str, builtins.int | builtins.float | numpy.typing.NDArray[numpy.float64] | numpy.typing.NDArray[numpy.int64] | list]) -> Compiler: ...
33
23
  @staticmethod
34
- def from_problem(problem:Problem, instance_data:typing.Mapping[builtins.str, builtins.int | builtins.float | numpy.typing.NDArray[numpy.float64] | numpy.typing.NDArray[numpy.int64] | list]) -> Compiler:
35
- ...
36
-
24
+ def from_problem(problem:Problem, instance_data:typing.Mapping[builtins.str, builtins.int | builtins.float | numpy.typing.NDArray[numpy.float64] | numpy.typing.NDArray[numpy.int64] | list]) -> Compiler: ...
37
25
 
38
26
  class Constraint:
39
27
  name: builtins.str
@@ -42,6 +30,26 @@ class Constraint:
42
30
  right: Expression
43
31
  expression: Expression
44
32
  is_equality: builtins.bool
33
+ r"""
34
+ Returns true if the constraint is an equality constraint.
35
+
36
+ Returns
37
+ --------
38
+ `bool`: True if the constraint is an equality constraint. Otherwise, False.
39
+
40
+ Examples
41
+ ---------
42
+
43
+ ```python
44
+ >>> import jijmodeling as jm
45
+ >>> N = jm.Placeholder("N")
46
+ >>> i = jm.Element("i", belong_to=N)
47
+ >>> x = jm.BinaryVar("x", shape=(N,))
48
+ >>> constraint = jm.Constraint("constraint", jm.sum(i, x[i]) == 1)
49
+ >>> assert constraint.is_equality()
50
+
51
+ ```
52
+ """
45
53
  def is_inequality(self) -> builtins.bool:
46
54
  r"""
47
55
  Returns true if the constraint is an inequality constraint.
@@ -63,11 +71,7 @@ class Constraint:
63
71
 
64
72
  ```
65
73
  """
66
- ...
67
-
68
- def __repr__(self) -> builtins.str:
69
- ...
70
-
74
+ def __repr__(self) -> builtins.str: ...
71
75
 
72
76
  class DecisionVar:
73
77
  r"""
@@ -152,360 +156,500 @@ class DecisionVar:
152
156
  shape: tuple
153
157
  lower_bound: Expression | builtins.list[Expression]
154
158
  upper_bound: Expression | builtins.list[Expression]
155
- def __repr__(self) -> builtins.str:
156
- ...
157
-
158
- def __pow__(self, exponent:typing.Any, modulo:typing.Optional[typing.Any]=None) -> Expression:
159
- ...
160
-
161
- def __rpow__(self, base:typing.Any, modulo:typing.Optional[typing.Any]=None) -> Expression:
162
- ...
163
-
164
- def __add__(self, rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
165
- ...
166
-
167
- def __radd__(self, lhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
168
- ...
169
-
170
- def __sub__(self, rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
171
- ...
172
-
173
- def __rsub__(self, lhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
174
- ...
175
-
176
- def __mul__(self, rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
177
- ...
178
-
179
- def __rmul__(self, lhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
180
- ...
181
-
182
- def __truediv__(self, rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
183
- ...
184
-
185
- def __rtruediv__(self, lhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
186
- ...
187
-
188
- def __mod__(self, rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
189
- ...
190
-
191
- def __rmod__(self, lhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
192
- ...
193
-
194
- def min(self, rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
195
- ...
196
-
197
- def max(self, rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
198
- ...
199
-
200
- def __neg__(self) -> Expression:
201
- ...
202
-
203
- def abs(self) -> Expression:
204
- ...
205
-
206
- def sqrt(self) -> Expression:
207
- ...
208
-
209
- def sin(self) -> Expression:
210
- ...
211
-
212
- def cos(self) -> Expression:
213
- ...
214
-
215
- def tan(self) -> Expression:
216
- ...
217
-
218
- def asin(self) -> Expression:
219
- ...
220
-
221
- def acos(self) -> Expression:
222
- ...
223
-
224
- def atan(self) -> Expression:
225
- ...
226
-
227
- def sinh(self) -> Expression:
228
- ...
229
-
230
- def cosh(self) -> Expression:
231
- ...
232
-
233
- def tanh(self) -> Expression:
234
- ...
235
-
236
- def asinh(self) -> Expression:
237
- ...
238
-
239
- def acosh(self) -> Expression:
240
- ...
241
-
242
- def atanh(self) -> Expression:
243
- ...
244
-
245
- def exp(self) -> Expression:
246
- ...
247
-
248
- def ln(self) -> Expression:
249
- ...
250
-
251
- def log10(self) -> Expression:
252
- ...
253
-
254
- def log2(self) -> Expression:
255
- ...
256
-
257
- def ceil(self) -> Expression:
258
- ...
259
-
260
- def floor(self) -> Expression:
261
- ...
262
-
263
- def map(self, func:typing.Callable[[Expression], typing.Any]) -> Expression:
264
- ...
265
-
266
- def roll(self, shift:typing.Any, *, axis:typing.Optional[builtins.int]=None) -> Expression:
267
- ...
268
-
269
- def filter(self, predicate:typing.Callable[[Expression], typing.Any]) -> Expression:
270
- ...
271
-
272
- def flat_map(self, func:typing.Callable[[Expression], typing.Any]) -> Expression:
273
- ...
274
-
275
- def __getitem__(self, subscripts:typing.Any) -> Expression:
276
- ...
277
-
278
- def sum(self, axis:typing.Optional[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | builtins.int | typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]] | typing.Sequence[builtins.int]]=None) -> Expression:
279
- ...
280
-
281
- def prod(self, axis:typing.Optional[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | builtins.int | typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]] | typing.Sequence[builtins.int]]=None) -> Expression:
282
- ...
283
-
284
- def __eq__(self, other:typing.Any) -> Expression:
285
- ...
286
-
287
- def __ne__(self, other:typing.Any) -> Expression:
288
- ...
289
-
290
- def __lt__(self, other:typing.Any) -> Expression:
291
- ...
292
-
293
- def __le__(self, other:typing.Any) -> Expression:
294
- ...
295
-
296
- def __gt__(self, other:typing.Any) -> Expression:
297
- ...
298
-
299
- def __ge__(self, other:typing.Any) -> Expression:
300
- ...
159
+ def __repr__(self) -> builtins.str: ...
160
+ def __pow__(self, exponent:typing.Any, modulo:typing.Optional[typing.Any]=None) -> Expression: ...
161
+ def __rpow__(self, base:typing.Any, modulo:typing.Optional[typing.Any]=None) -> Expression: ...
162
+ def __add__(self, rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
163
+ def __radd__(self, lhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
164
+ def __sub__(self, rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
165
+ def __rsub__(self, lhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
166
+ def __mul__(self, rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
167
+ def __rmul__(self, lhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
168
+ def __truediv__(self, rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
169
+ def __rtruediv__(self, lhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
170
+ def __mod__(self, rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
171
+ def __rmod__(self, lhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
172
+ def min(self, rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
173
+ def max(self, rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
174
+ def __neg__(self) -> Expression: ...
175
+ def abs(self) -> Expression: ...
176
+ def sqrt(self) -> Expression: ...
177
+ def sin(self) -> Expression: ...
178
+ def cos(self) -> Expression: ...
179
+ def tan(self) -> Expression: ...
180
+ def asin(self) -> Expression: ...
181
+ def acos(self) -> Expression: ...
182
+ def atan(self) -> Expression: ...
183
+ def sinh(self) -> Expression: ...
184
+ def cosh(self) -> Expression: ...
185
+ def tanh(self) -> Expression: ...
186
+ def asinh(self) -> Expression: ...
187
+ def acosh(self) -> Expression: ...
188
+ def atanh(self) -> Expression: ...
189
+ def exp(self) -> Expression: ...
190
+ def ln(self) -> Expression: ...
191
+ def log10(self) -> Expression: ...
192
+ def log2(self) -> Expression: ...
193
+ def ceil(self) -> Expression: ...
194
+ def floor(self) -> Expression: ...
195
+ def map(self, func:typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
196
+ def roll(self, shift:typing.Any, *, axis:typing.Optional[builtins.int]=None) -> Expression: ...
197
+ def filter(self, predicate:typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
198
+ def flat_map(self, func:typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
199
+ def rows(self) -> Expression: ...
200
+ def __getitem__(self, subscripts:typing.Any) -> Expression: ...
201
+ def sum(self, axis:typing.Optional[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any] | builtins.int | typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]] | typing.Sequence[builtins.int]]=None) -> Expression: ...
202
+ def prod(self, axis:typing.Optional[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any] | builtins.int | typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]] | typing.Sequence[builtins.int]]=None) -> Expression: ...
203
+ def __eq__(self, other:typing.Any) -> Expression: ...
204
+ def __ne__(self, other:typing.Any) -> Expression: ...
205
+ def __lt__(self, other:typing.Any) -> Expression: ...
206
+ def __le__(self, other:typing.Any) -> Expression: ...
207
+ def __gt__(self, other:typing.Any) -> Expression: ...
208
+ def __ge__(self, other:typing.Any) -> Expression: ...
209
+
210
+ class DecoratedProblem(typing.Protocol):
211
+ r"""
212
+ A variant of `Problem` that is only available in Decorator API provided by `Problem.compile`.
213
+ """
214
+ def __iadd__(self, other:typing.Any) -> DecoratedProblem: ...
215
+ def Placeholder(self, name:typing.Optional[builtins.str]=None, *, ndim:typing.Optional[builtins.int]=None, shape:typing.Optional[typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]]]=None, dtype:DataType | type=DataType.FLOAT, jagged:builtins.bool=False, latex:typing.Optional[builtins.str]=None, description:typing.Optional[builtins.str]=None) -> Placeholder: ...
216
+ def Integer(self, name:typing.Optional[builtins.str]=None, *, ndim:typing.Optional[builtins.int]=None, shape:typing.Optional[typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]]]=None, jagged:builtins.bool=False, latex:typing.Optional[builtins.str]=None, description:typing.Optional[builtins.str]=None) -> Placeholder:
217
+ r"""
218
+ A shorthand for `Problem.Placeholder(dtype=int)`
219
+ """
220
+ def Float(self, name:typing.Optional[builtins.str]=None, *, ndim:typing.Optional[builtins.int]=None, shape:typing.Optional[typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]]]=None, jagged:builtins.bool=False, latex:typing.Optional[builtins.str]=None, description:typing.Optional[builtins.str]=None) -> Placeholder:
221
+ r"""
222
+ A shorthand for `Problem.Placeholder(dtype=DataType.FLOAT)`
223
+ """
224
+ def Natural(self, name:typing.Optional[builtins.str]=None, *, ndim:typing.Optional[builtins.int]=None, shape:typing.Optional[typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]]]=None, jagged:builtins.bool=False, latex:typing.Optional[builtins.str]=None, description:typing.Optional[builtins.str]=None) -> Placeholder:
225
+ r"""
226
+ A shorthand for `Problem.Placeholder(dtype=DataType.NATURAL)`
227
+ """
228
+ def Binary(self, name:typing.Optional[builtins.str]=None, *, ndim:typing.Optional[builtins.int]=None, shape:typing.Optional[typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]]]=None, jagged:builtins.bool=False, latex:typing.Optional[builtins.str]=None, description:typing.Optional[builtins.str]=None) -> Placeholder:
229
+ r"""
230
+ A shorthand for `Problem.Placeholder(dtype=DataType.BINARY)`
231
+ """
232
+ def DecisionVar(self, name:typing.Optional[builtins.str]=None, *, kind:DecisionVarKind, shape:typing.Optional[typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]]]=None, lower_bound:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any] | typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]], upper_bound:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any] | typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]], latex:typing.Optional[builtins.str]=None, description:typing.Optional[builtins.str]=None) -> DecisionVar:
233
+ r"""
234
+ A function to create a decision variable and register to the problem namespace. See `DecisionVar` for more details.
235
+
236
+ Args
237
+ -----
238
+ - `name` (`str`): A name of the binary variable. If omitted, local variable name is used.
239
+ - `kind` (`DecisionVarKind`): A kind of the decision variable.
240
+ - `shape` (`list | tuple`): A sequence with the size of each dimension of the binary variable. Defaults to an empty tuple (a scalar value).
241
+ - Each item in `shape` must be a valid expression evaluating to a non-negative scalar.
242
+ - `lower_bound` and `upper_bound` (`jijmodeling.Expression`): A lower and upper bounds of the binary variable.
243
+ - `kind` (`DecisionVarKind`): A kind of the decision variable.
244
+ - `latex` (`str`, optional): A LaTeX-name of the binary variable to be represented in Jupyter notebook.
245
+ - It is set to `name` by default.
246
+ - `description` (`str`, optional): A description of the binary variable.
247
+
248
+ Examples
249
+ ---------
250
+ Create a scalar binary variable whose name is "z".
251
+
252
+ ```python
253
+ >>> import jijmodeling as jm
254
+ >>> problem = jm.Problem("my_problem")
255
+ >>> z = problem.DecisionVar("z", kind=jm.DecisionVarKind.BINARY, lower_bound=0, upper_bound=1)
256
+
257
+ ```
258
+
259
+ Create a 2-dimensional binary variable whose name is "x" and has a 2x2 shape.
260
+
261
+ ```python
262
+ >>> import jijmodeling as jm
263
+ >>> problem = jm.Problem("my_problem")
264
+ >>> x = problem.BinaryVar("x", shape=[2, 2])
265
+
266
+ ```
267
+
268
+ Create a 1-dimensional binary variable with the index of `123`.
269
+
270
+ ```python
271
+ >>> import jijmodeling as jm
272
+ >>> problem = jm.Problem("my_problem")
273
+ >>> x = jm.BinaryVar("x", shape=[124])
274
+ >>> x[123]
275
+ BinaryVar(name='x', shape=[NumberLit(value=124)])[NumberLit(value=123)]
276
+
277
+ ```
278
+ """
279
+ def BinaryVar(self, name:typing.Optional[builtins.str]=None, *, shape:typing.Optional[typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]]]=None, latex:typing.Optional[builtins.str]=None, description:typing.Optional[builtins.str]=None) -> DecisionVar:
280
+ r"""
281
+ A function to create a binary decision variable and register to the problem namespace. See `DecisionVar` for more details.
282
+
283
+ Args
284
+ -----
285
+ - `name` (`str`): A name of the binary variable. If omitted, local variable name is used.
286
+ - `shape` (`list | tuple`): A sequence with the size of each dimension of the binary variable. Defaults to an empty tuple (a scalar value).
287
+ - Each item in `shape` must be a valid expression evaluating to a non-negative scalar.
288
+ - `latex` (`str`, optional): A LaTeX-name of the binary variable to be represented in Jupyter notebook.
289
+ - It is set to `name` by default.
290
+ - `description` (`str`, optional): A description of the binary variable.
291
+
292
+ Examples
293
+ ---------
294
+ Create a scalar binary variable whose name is "z".
295
+
296
+ ```python
297
+ >>> import jijmodeling as jm
298
+ >>> problem = jm.Problem("my_problem")
299
+ >>> z = problem.BinaryVar("z")
300
+
301
+ ```
302
+
303
+ Create a 2-dimensional binary variable whose name is "x" and has a 2x2 shape.
304
+
305
+ ```python
306
+ >>> import jijmodeling as jm
307
+ >>> problem = jm.Problem("my_problem")
308
+ >>> x = problem.BinaryVar("x", shape=[2, 2])
309
+
310
+ ```
311
+
312
+ Create a 1-dimensional binary variable with the index of `123`.
313
+
314
+ ```python
315
+ >>> import jijmodeling as jm
316
+ >>> problem = jm.Problem("my_problem")
317
+ >>> x = problemm.BinaryVar("x", shape=[124])
318
+ >>> x[123]
319
+ x[123]
320
+
321
+ ```
322
+ """
323
+ def IntegerVar(self, name:typing.Optional[builtins.str]=None, *, shape:typing.Optional[typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]]]=None, lower_bound:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any] | typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]], upper_bound:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any] | typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]], latex:typing.Optional[builtins.str]=None, description:typing.Optional[builtins.str]=None) -> DecisionVar:
324
+ r"""
325
+ A function to create a decision variable and register to the problem namespace. See `DecisionVar` for more details.
326
+
327
+ Args
328
+ -----
329
+ - `name` (`str): A name of the integer variable. If omitted, local variable name is used.
330
+ - `shape` (`list | tuple`): A sequence with the size of each dimension of the integer variable. Defaults to an empty tuple (a scalar value).
331
+ - Each item in `shape` must be a valid expression evaluating to a non-negative scalar.
332
+ - `lower_bound`: The lower bound of the variable.
333
+ - `upper_bound`: The upper bound of the variable.
334
+ - `latex` (`str`, optional): A LaTeX-name of the integer variable to be represented in Jupyter notebook.
335
+ - It is set to `name` by default.
336
+ - `description` (`str`, optional): A description of the integer variable.
337
+
338
+ Raises
339
+ -------
340
+ `ModelingError`: Raises if a bound is a `Placeholder` or `Subscript` object whose `ndim`
341
+ is neither `0` nor the same value as `ndim` of the integer variable.
342
+
343
+ Examples
344
+ ---------
345
+ Create a scalar integer variable whose name is "z" and domain is `[-1, 1]`.
346
+
347
+ ```python
348
+ >>> import jijmodeling as jm
349
+ >>> problem = jm.Problem("my_problem")
350
+ >>> z = problem.IntegerVar("z", lower_bound=-1, upper_bound=1)
351
+
352
+ ```
353
+
354
+ Create a 2-dimensional integer variable...
355
+ - whose name is "x".
356
+ - whose domain is [0, 2].
357
+ - where each dimension has length 2 (making this a 2x2 matrix).
358
+
359
+ ```python
360
+ >>> import jijmodeling as jm
361
+ >>> problem = jm.Problem("my_problem")
362
+ >>> x = problem.IntegerVar("x", shape=[2, 2], lower_bound=0, upper_bound=2)
363
+
364
+ ```
365
+
366
+ Create a 1-dimensional integer variable with the index of `123`.
367
+
368
+ ```python
369
+ >>> import jijmodeling as jm
370
+ >>> problem = jm.Problem("my_problem")
371
+ >>> x = problem.IntegerVar("x", shape=[124], lower_bound=0, upper_bound=2)
372
+ >>> x[123]
373
+ x[123]
374
+
375
+ ```
376
+ """
377
+ def SemiIntegerVar(self, name:typing.Optional[builtins.str]=None, *, shape:typing.Optional[typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]]]=None, lower_bound:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any] | typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]], upper_bound:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any] | typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]], latex:typing.Optional[builtins.str]=None, description:typing.Optional[builtins.str]=None) -> DecisionVar: ...
378
+ def ContinuousVar(self, name:typing.Optional[builtins.str]=None, *, shape:typing.Optional[typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]]]=None, lower_bound:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any] | typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]], upper_bound:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any] | typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]], latex:typing.Optional[builtins.str]=None, description:typing.Optional[builtins.str]=None) -> DecisionVar:
379
+ r"""
380
+ A function to create a decision variable and register to the problem namespace. See `DecisionVar` for more details.
381
+
382
+ Args
383
+ -----
384
+ - `name` (`str`): A name of the continuous variable.
385
+ - `shape` (`list | tuple`): A sequence with the size of each dimension of the continuous variable. Defaults to an empty tuple (a scalar value).
386
+ - Each item in `shape` must be a valid expression evaluating to a non-negative scalar.
387
+ - `lower_bound`: The lower bound of the variable.
388
+ - `upper_bound`: The upper bound of the variable.
389
+ - `latex` (`str`, optional): A LaTeX-name of the continuous variable to be represented in Jupyter notebook.
390
+ - It is set to `name` by default.
391
+ - `description` (`str`, optional): A description of the continuous variable.
392
+
393
+ Raises
394
+ -------
395
+ `ModelingError`: Raises if a bound is a `Placeholder` or `Subscript` object whose `ndim` is neither `0` nor the same value as `ndim` of the continuous variable.
396
+
397
+ Examples
398
+ ---------
399
+ Create a scalar continuous variable whose name is "z" and domain is `[-1, 1]`.
400
+
401
+ ```python
402
+ >>> import jijmodeling as jm
403
+ >>> z = jm.ContinuousVar("z", lower_bound=-1, upper_bound=1)
404
+
405
+ ```
406
+
407
+ Create a 2-dimensional continuous variable...
408
+ - whose name is "x".
409
+ - whose domain is [0, 2].
410
+ - where each dimension has length 2 (making this a 2x2 matrix).
411
+
412
+ ```python
413
+ >>> import jijmodeling as jm
414
+ >>> x = jm.ContinuousVar("x", shape=[2, 2], lower_bound=0, upper_bound=2)
415
+
416
+ ```
417
+
418
+ Create a 1-dimensional continuous variable with the index of `123`.
419
+
420
+ ```python
421
+ >>> import jijmodeling as jm
422
+ >>> x = jm.ContinuousVar("x", shape=[124], lower_bound=0, upper_bound=2)
423
+ >>> x[123]
424
+ ContinuousVar(name='x', shape=[NumberLit(value=124)], lower_bound=NumberLit(value=0), upper_bound=NumberLit(value=2))[NumberLit(value=123)]
425
+
426
+ ```
427
+ """
428
+ def SemiContinuousVar(self, name:typing.Optional[builtins.str]=None, *, shape:typing.Optional[typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]]]=None, lower_bound:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any] | typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]], upper_bound:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any] | typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]], latex:typing.Optional[builtins.str]=None, description:typing.Optional[builtins.str]=None) -> DecisionVar: ...
429
+ def Constraint(self, name:builtins.str, expression:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any], *, description:typing.Optional[builtins.str]=None) -> Constraint:
430
+ r"""
431
+ Constructs `Constraint` object, __WITHOUT__ registering it to the problem.
432
+ Use `+=` operator to register the constraint to the problem.
433
+ """
434
+ def used_placeholders(self) -> builtins.list[Placeholder]: ...
435
+ def get_problem_schema(self) -> dict:
436
+ r"""
437
+ Returns the schema of the problem.
438
+
439
+ Returns
440
+ --------
441
+ - `schema`: The dictionary containing the schema of the problem.
442
+ """
443
+ def generate_random_dataset(self, _default:typing.Any, _options:typing.Any, _seed:typing.Optional[builtins.int]) -> typing.Any:
444
+ r"""
445
+ Generates a dictionary of random `InstanceDataValue` for a given problem.
446
+ To generate `ommx.v1.Instance` object directly, use `InstanceDataValue.generate_random_instance` instead.
447
+
448
+ Args
449
+ -----
450
+ - `options` (optional): a dictionary of range parameters for each separate placeholders. The key must be the name of the placeholder and the value must be range parameter (as described in "Range Parameters and Range Syntax" below).
451
+ - `default` (optional): default range parameters for placeholders which is not specified in `options`.
452
+ - `seed` (optional): seed for random number generation.
453
+
454
+ Returns
455
+ --------
456
+ `dict`: The dictionary from the name of placeholders to the generated `InstanceDataValue` objects. To be fed to `Interpreter.eval_problem`.
457
+
458
+ Range Parameters and Range Syntax
459
+ ----------------------------------
460
+ A range parameter is a dictionary consisting of the following fields:
461
+ - `size` (optional): interval of natural numbers for the size of each array dimension (default: `range(1, 6)`)
462
+ - `value` (optional): interval of real numbers for the value of each array element (default: `range(-1.0, 1.0)` - a uniform distribution on a closed interval $[-1.0, 1.0]$).
463
+
464
+ Example range parameter config:
465
+
466
+ ```python
467
+ {"size": range(2, 10), "value": jm.range.value.closed(100.0, 200.0)}
468
+ ```
469
+
470
+ Intervals are expressed as a range object.
471
+ Currently, the following syntax is supported for range objects:
472
+
473
+ 1. Direct value of type `int` or `float` - it corresponds to a singleton interval $[a, a] = \{a\}$. In random generation context, this just means a constant fixed value.
474
+ 2. Use the functions from `jijmodeling.range`, `jijmodeling.range.size`, or `jijmodeling.range.value` modules.
475
+ - Use functions from `jij.modeling.range.size` to specify (non-negative) integer intervals, and `jij.modeling.range.value` for real intervals. `jij.modeling.range` dynamically determines the type of the range based on the input.
476
+ - These three modules provides the following combinators (see the module documents for more details.):
477
+ - `closed(a, b)`: a closed interval $[a, b]$
478
+ - `open(a, b)`: an open interval $(a, b)$
479
+ - `closed_open(a, b)`: an upper half-open interval $[a, b)$
480
+ - `open_closed(a, b)`: a lower half-open interval $(a, b]$
481
+ - `greater_than(a)`: an open interval $(a, \infty)$
482
+ - `at_least(a)`: a closed interval $[a, \infty)$
483
+ - `less_than(a)`: an open interval $(-\infty, a)$
484
+ - `at_most(a)`: a closed interval $(-\infty, a]$
485
+ 3. Use `range` builtin function: this is equivalent to `jijmodeling.range.value.closed_open(a, b)`.
486
+ - Any python range object with `step = 1` can be used as a size range; otherwise it results in runtime error.
487
+ 4. Use a tuple: raw tuple `(a, b)` is equivalent to `jijmodeling.range.closed_open(a, b)` if `a` and `b` are either `int` or `float`.
488
+ - You can also use bound object as a tuple component; in such case, both tuple components must be one of the following:
489
+
490
+ 1. A string `"Unbounded"` means $-\infty$ (in the first component) or $\infty$ (the second).
491
+ 2. A dictionary `{"Included": a}` means the endpoint is inclusive.
492
+ 3. A dictionary `{"Excluded": a}` means the endpoint is exclusive.
493
+ - Examples:
494
+ - `(1.2, 4)` is equivalent to `closed_open(1.2, 4)`,
495
+ - `(-1, {"Included": 1})` is equivalent to `closed(-1, 1)`,
496
+ - `(-5, {"Excluded": 4})` is equivalent to `closed_open(-5, 4)` and built in function `range(-5, 4)`,
497
+ - `({"Excluded": 1}, {"Excluded": 2.5})` is equivalent to `open(1, 2.5)`,
498
+ - `({"Included": -1}, "Unbounded")` is equivalent to `at_least(-1)`.
499
+ - `(5, "Unbounded")` is **INVALID**; `5` must be bound object.
500
+ 5. The range object: A dictionary of form `{"start": lb, "end": ub}`, where both `lb` and `ub` are the bound object described as above.
501
+
502
+ Examples
503
+ ---------
504
+ ```python
505
+ >>> import jijmodeling as jm
506
+ >>> import builtins
507
+ >>> N = jm.Placeholder("N", dtype=jm.DataType.INTEGER)
508
+ >>> c = jm.Placeholder("c", dtype=jm.DataType.FLOAT, shape=(N,))
509
+ >>> x = jm.BinaryVar("x", shape=(N,))
510
+ >>> i = jm.Element("i", belong_to=N)
511
+
512
+ >>> problem = jm.Problem("problem")
513
+ >>> problem += jm.sum(i, c[i] * x[i])
514
+
515
+ >>> inputs = problem.generate_random_dataset(
516
+ ... options={
517
+ ... 'N': {"value": builtins.range(10, 20)},
518
+ ... 'c': {"value": jm.range.value.closed(-1.0, 1.0)}
519
+ ... # You can also specify "size" for the range of jagged array dimension size.
520
+ ... },
521
+ ... seed=123 # omittable
522
+ ... )
523
+ >>> assert set(inputs.keys()) == {"N", "c"}
524
+ >>> inputs
525
+ {'N': 11.0, 'c': array([ 0.93914459, -0.06511935, -0.7460324 , -0.32443706, 0.99981451,
526
+ -0.24407535, 0.31329469, 0.52206453, -0.1291936 , 0.30443087,
527
+ 0.53125838])}
528
+
529
+ ```
530
+ """
531
+ def generate_random_instance(self, _default:typing.Any, _options:typing.Any, _seed:typing.Optional[builtins.int], _hints:typing.Optional[typing.Any]) -> typing.Any:
532
+ r"""
533
+ Generates random `ommx.v1.Instance` for a given problem.
534
+ See also `InstanceDataValue.generate_random_dataset`.
535
+
536
+ Args
537
+ -----
538
+ - `options` (optional): a dictionary of range parameters for each separate placeholders. The key must be the name of the placeholder and the value must be range parameter (as described in "Range Parameters and Range Syntax" section in :func:`~jijmodeling.Problem.generate_random_dataset`).
539
+ - `default` (optional): default range parameters for placeholders which is not specified in `options`.
540
+ - `seed` (optional): seed for random number generation.
541
+ - `hints` (optional): the hints to be detected during compilation see `Interpreter.eval_problem` for more details.
542
+
543
+ Returns
544
+ --------
545
+ `instance`: The OMMX v1 instance object.
546
+
547
+ Examples
548
+ ---------
549
+ ```python
550
+ >>> import jijmodeling as jm
551
+ >>> import builtins
552
+ >>> import ommx.v1
553
+ >>> N = jm.Placeholder("N", dtype=jm.DataType.INTEGER)
554
+ >>> c = jm.Placeholder("c", dtype=jm.DataType.FLOAT, shape=(N,))
555
+ >>> x = jm.BinaryVar("x", shape=(N,))
556
+ >>> i = jm.Element("i", belong_to=N)
557
+
558
+ >>> problem = jm.Problem("problem")
559
+ >>> problem += jm.sum(i, c[i] * x[i])
560
+
561
+ >>> instance = problem.generate_random_instance(
562
+ ... options={
563
+ ... 'N': {"value": builtins.range(10, 20)},
564
+ ... 'c': {"value": jm.range.value.closed(-1.0, 1.0)}
565
+ ... },
566
+ ... seed=123
567
+ ... )
568
+ >>> assert type(instance) is ommx.v1.Instance
569
+
570
+ ```
571
+ """
572
+ def type_of(self, name:builtins.str) -> Type: ...
573
+ def infer(self, expr:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Type: ...
301
574
 
575
+ class DesugaredProblemBuilder:
576
+ def __call__(self) -> None: ...
302
577
 
303
578
  class Expression:
304
579
  r"""
305
580
  Any expression in Python.
306
581
  """
307
- def __call__(self, *args) -> Expression:
308
- ...
309
-
310
- def shape(self) -> Expression:
311
- ...
312
-
313
- def len_at(self, axis:builtins.int) -> Expression:
314
- ...
315
-
316
- def __repr__(self) -> builtins.str:
317
- ...
318
-
319
- def __pow__(self, exponent:typing.Any, modulo:typing.Optional[typing.Any]=None) -> Expression:
320
- ...
321
-
322
- def __rpow__(self, base:typing.Any, modulo:typing.Optional[typing.Any]=None) -> Expression:
323
- ...
324
-
325
- def __add__(self, rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
326
- ...
327
-
328
- def __radd__(self, lhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
329
- ...
330
-
331
- def __sub__(self, rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
332
- ...
333
-
334
- def __rsub__(self, lhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
335
- ...
336
-
337
- def __mul__(self, rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
338
- ...
339
-
340
- def __rmul__(self, lhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
341
- ...
342
-
343
- def __truediv__(self, rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
344
- ...
345
-
346
- def __rtruediv__(self, lhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
347
- ...
348
-
349
- def __mod__(self, rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
350
- ...
351
-
352
- def __rmod__(self, lhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
353
- ...
354
-
355
- def min(self, rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
356
- ...
357
-
358
- def max(self, rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
359
- ...
360
-
361
- def __neg__(self) -> Expression:
362
- ...
363
-
364
- def abs(self) -> Expression:
365
- ...
366
-
367
- def sqrt(self) -> Expression:
368
- ...
369
-
370
- def sin(self) -> Expression:
371
- ...
372
-
373
- def cos(self) -> Expression:
374
- ...
375
-
376
- def tan(self) -> Expression:
377
- ...
378
-
379
- def asin(self) -> Expression:
380
- ...
381
-
382
- def acos(self) -> Expression:
383
- ...
384
-
385
- def atan(self) -> Expression:
386
- ...
387
-
388
- def sinh(self) -> Expression:
389
- ...
390
-
391
- def cosh(self) -> Expression:
392
- ...
393
-
394
- def tanh(self) -> Expression:
395
- ...
396
-
397
- def asinh(self) -> Expression:
398
- ...
399
-
400
- def acosh(self) -> Expression:
401
- ...
402
-
403
- def atanh(self) -> Expression:
404
- ...
405
-
406
- def exp(self) -> Expression:
407
- ...
408
-
409
- def ln(self) -> Expression:
410
- ...
411
-
412
- def log10(self) -> Expression:
413
- ...
414
-
415
- def log2(self) -> Expression:
416
- ...
417
-
418
- def ceil(self) -> Expression:
419
- ...
420
-
421
- def floor(self) -> Expression:
422
- ...
423
-
424
- def map(self, func:typing.Callable[[Expression], typing.Any]) -> Expression:
425
- ...
426
-
427
- def roll(self, shift:typing.Any, *, axis:typing.Optional[builtins.int]=None) -> Expression:
428
- ...
429
-
430
- def filter(self, predicate:typing.Callable[[Expression], typing.Any]) -> Expression:
431
- ...
432
-
433
- def flat_map(self, func:typing.Callable[[Expression], typing.Any]) -> Expression:
434
- ...
435
-
436
- def __getitem__(self, subscripts:typing.Any) -> Expression:
437
- ...
438
-
439
- def sum(self, axis:typing.Optional[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | builtins.int | typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]] | typing.Sequence[builtins.int]]=None) -> Expression:
440
- ...
441
-
442
- def prod(self, axis:typing.Optional[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | builtins.int | typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]] | typing.Sequence[builtins.int]]=None) -> Expression:
443
- ...
444
-
445
- def __and__(self, rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
446
- ...
447
-
448
- def __rand__(self, lhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
449
- ...
450
-
451
- def __or__(self, rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
452
- ...
453
-
454
- def __ror__(self, lhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
455
- ...
456
-
457
- def __xor__(self, rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
458
- ...
459
-
460
- def __rxor__(self, lhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
461
- ...
462
-
463
- def diff(self, rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
464
- ...
465
-
466
- def bnot(self) -> Expression:
467
- ...
468
-
469
- def __eq__(self, other:typing.Any) -> Expression:
470
- ...
471
-
472
- def __ne__(self, other:typing.Any) -> Expression:
473
- ...
474
-
475
- def __lt__(self, other:typing.Any) -> Expression:
476
- ...
477
-
478
- def __le__(self, other:typing.Any) -> Expression:
479
- ...
480
-
481
- def __gt__(self, other:typing.Any) -> Expression:
482
- ...
483
-
484
- def __ge__(self, other:typing.Any) -> Expression:
485
- ...
486
-
582
+ def __call__(self, *args) -> Expression: ...
583
+ def shape(self) -> Expression: ...
584
+ def len_at(self, axis:builtins.int) -> Expression: ...
585
+ def __repr__(self) -> builtins.str: ...
586
+ def __pow__(self, exponent:typing.Any, modulo:typing.Optional[typing.Any]=None) -> Expression: ...
587
+ def __rpow__(self, base:typing.Any, modulo:typing.Optional[typing.Any]=None) -> Expression: ...
588
+ def __add__(self, rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
589
+ def __radd__(self, lhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
590
+ def __sub__(self, rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
591
+ def __rsub__(self, lhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
592
+ def __mul__(self, rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
593
+ def __rmul__(self, lhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
594
+ def __truediv__(self, rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
595
+ def __rtruediv__(self, lhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
596
+ def __mod__(self, rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
597
+ def __rmod__(self, lhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
598
+ def min(self, rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
599
+ def max(self, rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
600
+ def __neg__(self) -> Expression: ...
601
+ def abs(self) -> Expression: ...
602
+ def sqrt(self) -> Expression: ...
603
+ def sin(self) -> Expression: ...
604
+ def cos(self) -> Expression: ...
605
+ def tan(self) -> Expression: ...
606
+ def asin(self) -> Expression: ...
607
+ def acos(self) -> Expression: ...
608
+ def atan(self) -> Expression: ...
609
+ def sinh(self) -> Expression: ...
610
+ def cosh(self) -> Expression: ...
611
+ def tanh(self) -> Expression: ...
612
+ def asinh(self) -> Expression: ...
613
+ def acosh(self) -> Expression: ...
614
+ def atanh(self) -> Expression: ...
615
+ def exp(self) -> Expression: ...
616
+ def ln(self) -> Expression: ...
617
+ def log10(self) -> Expression: ...
618
+ def log2(self) -> Expression: ...
619
+ def ceil(self) -> Expression: ...
620
+ def floor(self) -> Expression: ...
621
+ def map(self, func:typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
622
+ def roll(self, shift:typing.Any, *, axis:typing.Optional[builtins.int]=None) -> Expression: ...
623
+ def filter(self, predicate:typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
624
+ def flat_map(self, func:typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
625
+ def rows(self) -> Expression: ...
626
+ def __getitem__(self, subscripts:typing.Any) -> Expression: ...
627
+ def sum(self, axis:typing.Optional[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any] | builtins.int | typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]] | typing.Sequence[builtins.int]]=None) -> Expression: ...
628
+ def prod(self, axis:typing.Optional[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any] | builtins.int | typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]] | typing.Sequence[builtins.int]]=None) -> Expression: ...
629
+ def __and__(self, rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
630
+ def __rand__(self, lhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
631
+ def __or__(self, rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
632
+ def __ror__(self, lhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
633
+ def __xor__(self, rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
634
+ def __rxor__(self, lhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
635
+ def diff(self, rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
636
+ def bnot(self) -> Expression: ...
637
+ def __eq__(self, other:typing.Any) -> Expression: ...
638
+ def __ne__(self, other:typing.Any) -> Expression: ...
639
+ def __lt__(self, other:typing.Any) -> Expression: ...
640
+ def __le__(self, other:typing.Any) -> Expression: ...
641
+ def __gt__(self, other:typing.Any) -> Expression: ...
642
+ def __ge__(self, other:typing.Any) -> Expression: ...
487
643
 
488
644
  class Namespace:
489
- def __new__(cls,): ...
645
+ def __new__(cls) -> Namespace: ...
490
646
  @staticmethod
491
- def from_problem(problem:Problem) -> Namespace:
492
- ...
493
-
494
- def add_placeholder(self, placeholder:Placeholder) -> None:
495
- ...
496
-
497
- def Placeholder(self, name:builtins.str, *, ndim:typing.Optional[builtins.int]=None, shape:typing.Optional[typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]]]=None, dtype:DataType | type=..., jagged:builtins.bool=False, latex:typing.Optional[builtins.str]=None, description:typing.Optional[builtins.str]=None) -> Placeholder:
498
- ...
499
-
500
- def add_decision_var(self, var:DecisionVar) -> None:
501
- ...
502
-
503
- def type_of(self, name:builtins.str) -> Type:
504
- ...
505
-
506
- def infer(self, expr:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Type:
507
- ...
508
-
647
+ def from_problem(problem:Problem) -> Namespace: ...
648
+ def add_placeholder(self, placeholder:Placeholder) -> None: ...
649
+ def Placeholder(self, name:builtins.str, *, ndim:typing.Optional[builtins.int]=None, shape:typing.Optional[typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]]]=None, dtype:DataType | type=DataType.FLOAT, jagged:builtins.bool=False, latex:typing.Optional[builtins.str]=None, description:typing.Optional[builtins.str]=None) -> Placeholder: ...
650
+ def add_decision_var(self, var:DecisionVar) -> None: ...
651
+ def type_of(self, name:builtins.str) -> Type: ...
652
+ def infer(self, expr:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Type: ...
509
653
 
510
654
  class Placeholder:
511
655
  r"""
@@ -572,180 +716,65 @@ class Placeholder:
572
716
  Placeholder(name='a', ndim=2, shape=None, dtype=typing.float, jagged=False)
573
717
  ```
574
718
  """
575
- def __repr__(self) -> builtins.str:
576
- ...
577
-
578
- def len_at(self, index:builtins.int) -> Expression:
579
- ...
580
-
581
- def __pow__(self, exponent:typing.Any, modulo:typing.Optional[typing.Any]=None) -> Expression:
582
- ...
583
-
584
- def __rpow__(self, base:typing.Any, modulo:typing.Optional[typing.Any]=None) -> Expression:
585
- ...
586
-
587
- def __add__(self, rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
588
- ...
589
-
590
- def __radd__(self, lhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
591
- ...
592
-
593
- def __sub__(self, rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
594
- ...
595
-
596
- def __rsub__(self, lhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
597
- ...
598
-
599
- def __mul__(self, rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
600
- ...
601
-
602
- def __rmul__(self, lhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
603
- ...
604
-
605
- def __truediv__(self, rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
606
- ...
607
-
608
- def __rtruediv__(self, lhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
609
- ...
610
-
611
- def __mod__(self, rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
612
- ...
613
-
614
- def __rmod__(self, lhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
615
- ...
616
-
617
- def min(self, rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
618
- ...
619
-
620
- def max(self, rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
621
- ...
622
-
623
- def __neg__(self) -> Expression:
624
- ...
625
-
626
- def abs(self) -> Expression:
627
- ...
628
-
629
- def sqrt(self) -> Expression:
630
- ...
631
-
632
- def sin(self) -> Expression:
633
- ...
634
-
635
- def cos(self) -> Expression:
636
- ...
637
-
638
- def tan(self) -> Expression:
639
- ...
640
-
641
- def asin(self) -> Expression:
642
- ...
643
-
644
- def acos(self) -> Expression:
645
- ...
646
-
647
- def atan(self) -> Expression:
648
- ...
649
-
650
- def sinh(self) -> Expression:
651
- ...
652
-
653
- def cosh(self) -> Expression:
654
- ...
655
-
656
- def tanh(self) -> Expression:
657
- ...
658
-
659
- def asinh(self) -> Expression:
660
- ...
661
-
662
- def acosh(self) -> Expression:
663
- ...
664
-
665
- def atanh(self) -> Expression:
666
- ...
667
-
668
- def exp(self) -> Expression:
669
- ...
670
-
671
- def ln(self) -> Expression:
672
- ...
673
-
674
- def log10(self) -> Expression:
675
- ...
676
-
677
- def log2(self) -> Expression:
678
- ...
679
-
680
- def ceil(self) -> Expression:
681
- ...
682
-
683
- def floor(self) -> Expression:
684
- ...
685
-
686
- def map(self, func:typing.Callable[[Expression], typing.Any]) -> Expression:
687
- ...
688
-
689
- def roll(self, shift:typing.Any, *, axis:typing.Optional[builtins.int]=None) -> Expression:
690
- ...
691
-
692
- def filter(self, predicate:typing.Callable[[Expression], typing.Any]) -> Expression:
693
- ...
694
-
695
- def flat_map(self, func:typing.Callable[[Expression], typing.Any]) -> Expression:
696
- ...
697
-
698
- def __getitem__(self, subscripts:typing.Any) -> Expression:
699
- ...
700
-
701
- def sum(self, axis:typing.Optional[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | builtins.int | typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]] | typing.Sequence[builtins.int]]=None) -> Expression:
702
- ...
703
-
704
- def prod(self, axis:typing.Optional[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | builtins.int | typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]] | typing.Sequence[builtins.int]]=None) -> Expression:
705
- ...
706
-
707
- def __and__(self, rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
708
- ...
709
-
710
- def __rand__(self, lhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
711
- ...
712
-
713
- def __or__(self, rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
714
- ...
715
-
716
- def __ror__(self, lhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
717
- ...
718
-
719
- def __xor__(self, rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
720
- ...
721
-
722
- def __rxor__(self, lhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
723
- ...
724
-
725
- def diff(self, rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
726
- ...
727
-
728
- def bnot(self) -> Expression:
729
- ...
730
-
731
- def __eq__(self, other:typing.Any) -> Expression:
732
- ...
733
-
734
- def __ne__(self, other:typing.Any) -> Expression:
735
- ...
736
-
737
- def __lt__(self, other:typing.Any) -> Expression:
738
- ...
739
-
740
- def __le__(self, other:typing.Any) -> Expression:
741
- ...
742
-
743
- def __gt__(self, other:typing.Any) -> Expression:
744
- ...
745
-
746
- def __ge__(self, other:typing.Any) -> Expression:
747
- ...
748
-
719
+ def __repr__(self) -> builtins.str: ...
720
+ def len_at(self, index:builtins.int) -> Expression: ...
721
+ def __pow__(self, exponent:typing.Any, modulo:typing.Optional[typing.Any]=None) -> Expression: ...
722
+ def __rpow__(self, base:typing.Any, modulo:typing.Optional[typing.Any]=None) -> Expression: ...
723
+ def __add__(self, rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
724
+ def __radd__(self, lhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
725
+ def __sub__(self, rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
726
+ def __rsub__(self, lhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
727
+ def __mul__(self, rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
728
+ def __rmul__(self, lhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
729
+ def __truediv__(self, rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
730
+ def __rtruediv__(self, lhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
731
+ def __mod__(self, rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
732
+ def __rmod__(self, lhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
733
+ def min(self, rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
734
+ def max(self, rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
735
+ def __neg__(self) -> Expression: ...
736
+ def abs(self) -> Expression: ...
737
+ def sqrt(self) -> Expression: ...
738
+ def sin(self) -> Expression: ...
739
+ def cos(self) -> Expression: ...
740
+ def tan(self) -> Expression: ...
741
+ def asin(self) -> Expression: ...
742
+ def acos(self) -> Expression: ...
743
+ def atan(self) -> Expression: ...
744
+ def sinh(self) -> Expression: ...
745
+ def cosh(self) -> Expression: ...
746
+ def tanh(self) -> Expression: ...
747
+ def asinh(self) -> Expression: ...
748
+ def acosh(self) -> Expression: ...
749
+ def atanh(self) -> Expression: ...
750
+ def exp(self) -> Expression: ...
751
+ def ln(self) -> Expression: ...
752
+ def log10(self) -> Expression: ...
753
+ def log2(self) -> Expression: ...
754
+ def ceil(self) -> Expression: ...
755
+ def floor(self) -> Expression: ...
756
+ def map(self, func:typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
757
+ def roll(self, shift:typing.Any, *, axis:typing.Optional[builtins.int]=None) -> Expression: ...
758
+ def filter(self, predicate:typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
759
+ def flat_map(self, func:typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
760
+ def rows(self) -> Expression: ...
761
+ def __getitem__(self, subscripts:typing.Any) -> Expression: ...
762
+ def sum(self, axis:typing.Optional[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any] | builtins.int | typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]] | typing.Sequence[builtins.int]]=None) -> Expression: ...
763
+ def prod(self, axis:typing.Optional[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any] | builtins.int | typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]] | typing.Sequence[builtins.int]]=None) -> Expression: ...
764
+ def __and__(self, rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
765
+ def __rand__(self, lhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
766
+ def __or__(self, rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
767
+ def __ror__(self, lhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
768
+ def __xor__(self, rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
769
+ def __rxor__(self, lhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
770
+ def diff(self, rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
771
+ def bnot(self) -> Expression: ...
772
+ def __eq__(self, other:typing.Any) -> Expression: ...
773
+ def __ne__(self, other:typing.Any) -> Expression: ...
774
+ def __lt__(self, other:typing.Any) -> Expression: ...
775
+ def __le__(self, other:typing.Any) -> Expression: ...
776
+ def __gt__(self, other:typing.Any) -> Expression: ...
777
+ def __ge__(self, other:typing.Any) -> Expression: ...
749
778
 
750
779
  class Problem:
751
780
  r"""
@@ -768,44 +797,27 @@ class Problem:
768
797
  - `name` (`str`): A name of the optimization problem.
769
798
  - `sense` (optional): Sense of the optimization problem. Defaults to `ProblemSense.MINIMIZE`.
770
799
  """
771
- def __new__(cls,name:builtins.str, *, sense:ProblemSense=...): ...
772
- def __iadd__(self, other:typing.Any) -> Problem:
773
- ...
774
-
775
- def __repr__(self) -> builtins.str:
776
- ...
777
-
778
- def eval(self, instance_data:dict) -> ommx.v1.Instance:
779
- ...
780
-
781
- def Placeholder(self, name:builtins.str, *, ndim:typing.Optional[builtins.int]=None, shape:typing.Optional[typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]]]=None, dtype:DataType | type=..., jagged:builtins.bool=False, latex:typing.Optional[builtins.str]=None, description:typing.Optional[builtins.str]=None) -> Placeholder:
782
- ...
783
-
784
- def Integer(self, name:builtins.str, *, ndim:typing.Optional[builtins.int]=None, shape:typing.Optional[typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]]]=None, jagged:builtins.bool=False, latex:typing.Optional[builtins.str]=None, description:typing.Optional[builtins.str]=None) -> Placeholder:
800
+ def __iadd__(self, other:typing.Any) -> Problem: ...
801
+ def __repr__(self) -> builtins.str: ...
802
+ def eval(self, instance_data:dict) -> ommx.v1.Instance: ...
803
+ def Placeholder(self, name:builtins.str, *, ndim:typing.Optional[builtins.int]=None, shape:typing.Optional[typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]]]=None, dtype:DataType | type=DataType.FLOAT, jagged:builtins.bool=False, latex:typing.Optional[builtins.str]=None, description:typing.Optional[builtins.str]=None) -> Placeholder: ...
804
+ def Integer(self, name:builtins.str, *, ndim:typing.Optional[builtins.int]=None, shape:typing.Optional[typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]]]=None, jagged:builtins.bool=False, latex:typing.Optional[builtins.str]=None, description:typing.Optional[builtins.str]=None) -> Placeholder:
785
805
  r"""
786
806
  A shorthand for `Problem.Placeholder(dtype=int)`
787
807
  """
788
- ...
789
-
790
- def Float(self, name:builtins.str, *, ndim:typing.Optional[builtins.int]=None, shape:typing.Optional[typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]]]=None, jagged:builtins.bool=False, latex:typing.Optional[builtins.str]=None, description:typing.Optional[builtins.str]=None) -> Placeholder:
808
+ def Float(self, name:builtins.str, *, ndim:typing.Optional[builtins.int]=None, shape:typing.Optional[typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]]]=None, jagged:builtins.bool=False, latex:typing.Optional[builtins.str]=None, description:typing.Optional[builtins.str]=None) -> Placeholder:
791
809
  r"""
792
810
  A shorthand for `Problem.Placeholder(dtype=float)`
793
811
  """
794
- ...
795
-
796
- def Natural(self, name:builtins.str, *, ndim:typing.Optional[builtins.int]=None, shape:typing.Optional[typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]]]=None, jagged:builtins.bool=False, latex:typing.Optional[builtins.str]=None, description:typing.Optional[builtins.str]=None) -> Placeholder:
812
+ def Natural(self, name:builtins.str, *, ndim:typing.Optional[builtins.int]=None, shape:typing.Optional[typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]]]=None, jagged:builtins.bool=False, latex:typing.Optional[builtins.str]=None, description:typing.Optional[builtins.str]=None) -> Placeholder:
797
813
  r"""
798
814
  A shorthand for `Problem.Placeholder(dtype=DataType.NATURAL)`
799
815
  """
800
- ...
801
-
802
- def Binary(self, name:builtins.str, *, ndim:typing.Optional[builtins.int]=None, shape:typing.Optional[typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]]]=None, jagged:builtins.bool=False, latex:typing.Optional[builtins.str]=None, description:typing.Optional[builtins.str]=None) -> Placeholder:
816
+ def Binary(self, name:builtins.str, *, ndim:typing.Optional[builtins.int]=None, shape:typing.Optional[typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]]]=None, jagged:builtins.bool=False, latex:typing.Optional[builtins.str]=None, description:typing.Optional[builtins.str]=None) -> Placeholder:
803
817
  r"""
804
818
  A shorthand for `Problem.Placeholder(dtype=DataType.BINARY)`
805
819
  """
806
- ...
807
-
808
- def DecisionVar(self, name:builtins.str, *, kind:DecisionVarKind, shape:typing.Optional[typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]]]=None, lower_bound:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]], upper_bound:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]], latex:typing.Optional[builtins.str]=None, description:typing.Optional[builtins.str]=None) -> DecisionVar:
820
+ def DecisionVar(self, name:builtins.str, *, kind:DecisionVarKind, shape:typing.Optional[typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]]]=None, lower_bound:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any] | typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]], upper_bound:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any] | typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]], latex:typing.Optional[builtins.str]=None, description:typing.Optional[builtins.str]=None) -> DecisionVar:
809
821
  r"""
810
822
  A function to create a decision variable and register to the problem namespace. See `DecisionVar` for more details.
811
823
 
@@ -852,9 +864,7 @@ class Problem:
852
864
 
853
865
  ```
854
866
  """
855
- ...
856
-
857
- def BinaryVar(self, name:builtins.str, *, shape:typing.Optional[typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]]]=None, latex:typing.Optional[builtins.str]=None, description:typing.Optional[builtins.str]=None) -> DecisionVar:
867
+ def BinaryVar(self, name:builtins.str, *, shape:typing.Optional[typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]]]=None, latex:typing.Optional[builtins.str]=None, description:typing.Optional[builtins.str]=None) -> DecisionVar:
858
868
  r"""
859
869
  A function to create a binary decision variable and register to the problem namespace. See `DecisionVar` for more details.
860
870
 
@@ -898,9 +908,7 @@ class Problem:
898
908
 
899
909
  ```
900
910
  """
901
- ...
902
-
903
- def IntegerVar(self, name:builtins.str, *, shape:typing.Optional[typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]]]=None, lower_bound:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]], upper_bound:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]], latex:typing.Optional[builtins.str]=None, description:typing.Optional[builtins.str]=None) -> DecisionVar:
911
+ def IntegerVar(self, name:builtins.str, *, shape:typing.Optional[typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]]]=None, lower_bound:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any] | typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]], upper_bound:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any] | typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]], latex:typing.Optional[builtins.str]=None, description:typing.Optional[builtins.str]=None) -> DecisionVar:
904
912
  r"""
905
913
  A function to create a decision variable and register to the problem namespace. See `DecisionVar` for more details.
906
914
 
@@ -954,12 +962,8 @@ class Problem:
954
962
 
955
963
  ```
956
964
  """
957
- ...
958
-
959
- def SemiIntegerVar(self, name:builtins.str, *, shape:typing.Optional[typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]]]=None, lower_bound:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]], upper_bound:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]], latex:typing.Optional[builtins.str]=None, description:typing.Optional[builtins.str]=None) -> DecisionVar:
960
- ...
961
-
962
- def ContinuousVar(self, name:builtins.str, *, shape:typing.Optional[typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]]]=None, lower_bound:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]], upper_bound:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]], latex:typing.Optional[builtins.str]=None, description:typing.Optional[builtins.str]=None) -> DecisionVar:
965
+ def SemiIntegerVar(self, name:builtins.str, *, shape:typing.Optional[typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]]]=None, lower_bound:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any] | typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]], upper_bound:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any] | typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]], latex:typing.Optional[builtins.str]=None, description:typing.Optional[builtins.str]=None) -> DecisionVar: ...
966
+ def ContinuousVar(self, name:builtins.str, *, shape:typing.Optional[typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]]]=None, lower_bound:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any] | typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]], upper_bound:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any] | typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]], latex:typing.Optional[builtins.str]=None, description:typing.Optional[builtins.str]=None) -> DecisionVar:
963
967
  r"""
964
968
  A function to create a decision variable and register to the problem namespace. See `DecisionVar` for more details.
965
969
 
@@ -1009,24 +1013,46 @@ class Problem:
1009
1013
 
1010
1014
  ```
1011
1015
  """
1012
- ...
1013
-
1014
- def SemiContinuousVar(self, name:builtins.str, *, shape:typing.Optional[typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]]]=None, lower_bound:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]], upper_bound:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]], latex:typing.Optional[builtins.str]=None, description:typing.Optional[builtins.str]=None) -> DecisionVar:
1015
- ...
1016
-
1017
- def namespace(self) -> Namespace:
1018
- ...
1019
-
1020
- def Constraint(self, name:builtins.str, expression:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any], *, description:typing.Optional[builtins.str]=None) -> Constraint:
1016
+ def SemiContinuousVar(self, name:builtins.str, *, shape:typing.Optional[typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]]]=None, lower_bound:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any] | typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]], upper_bound:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any] | typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]], latex:typing.Optional[builtins.str]=None, description:typing.Optional[builtins.str]=None) -> DecisionVar: ...
1017
+ def namespace(self) -> Namespace: ...
1018
+ def update(self, func:typing.Callable[[DecoratedProblem]]) -> DesugaredProblemBuilder:
1019
+ r"""
1020
+ A function decorator to modify an existing `Problem` using the decorated API.
1021
+ This must be decorated to a function that takes `DecoratedProblem` as the only argument and returns None.
1022
+ You can call `update` multiple times.
1023
+ The given function will automatically be evaluated exactly once by the decocrator, so you DO NOT need to call the original function again.
1024
+
1025
+ Example
1026
+ -------
1027
+
1028
+ ```python
1029
+ >>> import jijmodeling as jm
1030
+ >>> problem = jm.Problem("Knapsack Problem", sense=jm.ProblemSense.MAXIMIZE)
1031
+ >>>
1032
+ >>> @problem.update
1033
+ >>> def my_updater(problem: jm.DecoratedProblem):
1034
+ >>> w = problem.Float(ndim=1, description="Weights of the items")
1035
+ >>> N = w.len_at(0)
1036
+ >>> v = problem.Float(ndim=1, description="Values of the items")
1037
+ >>> W = problem.Float(description="Total weight")
1038
+ >>> x = problem.BinaryVar(shape=(N,), description="Selected items")
1039
+ >>>
1040
+ >>> problem += problem.Constraint("weight", jm.sum(w * x) <= W)
1041
+ >>> problem += jm.sum(v * x)
1042
+ >>>
1043
+ >>> w_data = [10, 20, 30]
1044
+ >>> v_data = [60, 100, 120]
1045
+ >>> instance_data = {"w": w_data, "v": v_data, "W": 50}
1046
+ >>> instance = problem.eval(instance_data)
1047
+ ```
1048
+ """
1049
+ def __new__(cls, name:builtins.str, *, sense:ProblemSense=ProblemSense.MINIMIZE) -> Problem: ...
1050
+ def Constraint(self, name:builtins.str, expression:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any], *, description:typing.Optional[builtins.str]=None) -> Constraint:
1021
1051
  r"""
1022
1052
  Constructs `Constraint` object, __WITHOUT__ registering it to the problem.
1023
1053
  Use `+=` operator to register the constraint to the problem.
1024
1054
  """
1025
- ...
1026
-
1027
- def used_placeholders(self) -> builtins.list[Placeholder]:
1028
- ...
1029
-
1055
+ def used_placeholders(self) -> builtins.list[Placeholder]: ...
1030
1056
  def get_problem_schema(self) -> dict:
1031
1057
  r"""
1032
1058
  Returns the schema of the problem.
@@ -1035,8 +1061,6 @@ class Problem:
1035
1061
  --------
1036
1062
  - `schema`: The dictionary containing the schema of the problem.
1037
1063
  """
1038
- ...
1039
-
1040
1064
  def generate_random_dataset(self, _default:typing.Any, _options:typing.Any, _seed:typing.Optional[builtins.int]) -> typing.Any:
1041
1065
  r"""
1042
1066
  Generates a dictionary of random `InstanceDataValue` for a given problem.
@@ -1125,8 +1149,6 @@ class Problem:
1125
1149
 
1126
1150
  ```
1127
1151
  """
1128
- ...
1129
-
1130
1152
  def generate_random_instance(self, _default:typing.Any, _options:typing.Any, _seed:typing.Optional[builtins.int], _hints:typing.Optional[typing.Any]) -> typing.Any:
1131
1153
  r"""
1132
1154
  Generates random `ommx.v1.Instance` for a given problem.
@@ -1168,145 +1190,119 @@ class Problem:
1168
1190
 
1169
1191
  ```
1170
1192
  """
1171
- ...
1172
-
1173
- def type_of(self, name:builtins.str) -> Type:
1174
- ...
1175
-
1176
- def infer(self, expr:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Type:
1177
- ...
1178
-
1193
+ def type_of(self, name:builtins.str) -> Type: ...
1194
+ def infer(self, expr:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Type: ...
1179
1195
 
1180
1196
  class Type:
1181
1197
  ...
1182
1198
 
1183
1199
  class ConstraintSense(Enum):
1184
- EQUAL = auto()
1185
- LESS_THAN_EQUAL = auto()
1186
- GREATER_THAN_EQUAL = auto()
1200
+ EQUAL = ...
1201
+ LESS_THAN_EQUAL = ...
1202
+ GREATER_THAN_EQUAL = ...
1187
1203
 
1188
1204
  class DataType(Enum):
1189
1205
  r"""
1190
1206
  A datatype for JijModeling expressions
1191
1207
  """
1192
- INTEGER = auto()
1193
- FLOAT = auto()
1194
- BINARY = auto()
1195
- NATURAL = auto()
1208
+ INTEGER = ...
1209
+ r"""
1210
+ INTEGER
1211
+ """
1212
+ FLOAT = ...
1213
+ r"""
1214
+ FLOAT
1215
+ """
1216
+ BINARY = ...
1217
+ r"""
1218
+ BINARY
1219
+ """
1220
+ NATURAL = ...
1221
+ r"""
1222
+ NATURAL
1223
+ """
1196
1224
 
1197
1225
  class DecisionVarKind(Enum):
1198
- BINARY = auto()
1199
- INTEGER = auto()
1200
- CONTINUOUS = auto()
1201
- SEMI_INTEGER = auto()
1202
- SEMI_CONTINUOUS = auto()
1226
+ BINARY = ...
1227
+ INTEGER = ...
1228
+ CONTINUOUS = ...
1229
+ SEMI_INTEGER = ...
1230
+ SEMI_CONTINUOUS = ...
1203
1231
 
1204
1232
  class ProblemSense(Enum):
1205
1233
  r"""
1206
1234
  An optimization sense
1207
1235
  """
1208
- MINIMIZE = auto()
1209
- MAXIMIZE = auto()
1236
+ MINIMIZE = ...
1237
+ MAXIMIZE = ...
1210
1238
 
1211
- def abs(expr:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
1212
- ...
1239
+ def abs(expr:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
1213
1240
 
1214
- def acos(expr:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
1215
- ...
1241
+ def acos(expr:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
1216
1242
 
1217
- def acosh(expr:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
1218
- ...
1243
+ def acosh(expr:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
1219
1244
 
1220
- def asin(expr:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
1221
- ...
1245
+ def asin(expr:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
1222
1246
 
1223
- def asinh(expr:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
1224
- ...
1247
+ def asinh(expr:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
1225
1248
 
1226
- def atan(expr:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
1227
- ...
1249
+ def atan(expr:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
1228
1250
 
1229
- def atanh(expr:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
1230
- ...
1251
+ def atanh(expr:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
1231
1252
 
1232
- def band(lhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any], rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
1233
- ...
1253
+ def band(lhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any], rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
1234
1254
 
1235
- def bnot(expr:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
1236
- ...
1255
+ def bnot(expr:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
1237
1256
 
1238
- def bor(lhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any], rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
1239
- ...
1257
+ def bor(lhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any], rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
1240
1258
 
1241
- def ceil(expr:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
1242
- ...
1259
+ def ceil(expr:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
1243
1260
 
1244
- def cos(expr:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
1245
- ...
1261
+ def cos(expr:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
1246
1262
 
1247
- def cosh(expr:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
1248
- ...
1263
+ def cosh(expr:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
1249
1264
 
1250
- def diff(lhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any], rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
1251
- ...
1265
+ def diff(lhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any], rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
1252
1266
 
1253
- def exp(expr:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
1254
- ...
1267
+ def exp(expr:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
1255
1268
 
1256
- def filter(predicate:typing.Callable[[Expression], typing.Any], operand:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
1257
- ...
1269
+ def filter(predicate:typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any], operand:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
1258
1270
 
1259
- def flat_map(func:typing.Callable[[Expression], typing.Any], arg:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
1260
- ...
1271
+ def flat_map(func:typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any], arg:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
1261
1272
 
1262
- def floor(expr:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
1263
- ...
1273
+ def floor(expr:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
1264
1274
 
1265
- def ln(expr:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
1266
- ...
1275
+ def ln(expr:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
1267
1276
 
1268
- def log10(expr:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
1269
- ...
1277
+ def log10(expr:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
1270
1278
 
1271
- def log2(expr:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
1272
- ...
1279
+ def log2(expr:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
1273
1280
 
1274
- def map(func:typing.Callable[[Expression], typing.Any], arg:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
1275
- ...
1281
+ def map(func:typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any], arg:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
1276
1282
 
1277
- def max(lhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any], rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
1278
- ...
1283
+ def max(lhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any], rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
1279
1284
 
1280
- def min(lhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any], rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
1281
- ...
1285
+ def min(lhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any], rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
1282
1286
 
1283
- def neg(expr:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
1284
- ...
1287
+ def neg(expr:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
1285
1288
 
1286
- def prod(operand:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any], axis:typing.Optional[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | builtins.int | typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]] | typing.Sequence[builtins.int]]=None) -> Expression:
1287
- ...
1289
+ def prod(operand:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any], axis:typing.Optional[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any] | builtins.int | typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]] | typing.Sequence[builtins.int]]=None) -> Expression: ...
1288
1290
 
1289
- def roll(operand:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any], shift:typing.Any, *, axis:typing.Optional[builtins.int]=None) -> Expression:
1290
- ...
1291
+ def roll(operand:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any], shift:typing.Any, *, axis:typing.Optional[builtins.int]=None) -> Expression: ...
1291
1292
 
1292
- def sin(expr:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
1293
- ...
1293
+ def rows(array:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
1294
1294
 
1295
- def sinh(expr:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
1296
- ...
1295
+ def sin(expr:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
1297
1296
 
1298
- def sqrt(expr:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
1299
- ...
1297
+ def sinh(expr:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
1300
1298
 
1301
- def sum(operand:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any], axis:typing.Optional[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | builtins.int | typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]] | typing.Sequence[builtins.int]]=None) -> Expression:
1302
- ...
1299
+ def sqrt(expr:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
1303
1300
 
1304
- def tan(expr:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
1305
- ...
1301
+ def sum(operand:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any], axis:typing.Optional[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any] | builtins.int | typing.Sequence[Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]] | typing.Sequence[builtins.int]]=None) -> Expression: ...
1306
1302
 
1307
- def tanh(expr:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
1308
- ...
1303
+ def tan(expr:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
1309
1304
 
1310
- def xor(lhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any], rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any]) -> Expression:
1311
- ...
1305
+ def tanh(expr:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
1306
+
1307
+ def xor(lhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any], rhs:Expression | builtins.int | builtins.float | DecisionVar | Placeholder | list | tuple | typing.Callable[[Expression], typing.Any] | typing.Callable[[Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression], typing.Any] | typing.Callable[[Expression, Expression, Expression, Expression, Expression], typing.Any]) -> Expression: ...
1312
1308