You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -192,7 +192,36 @@ The following reformulation methods are currently supported:
192
192
-`final_reform_method`: Reformulation method to apply after cutting plane iterations. Default:`BigM()`.
193
193
-`M_value`: Big-M value to use in the relaxed Big-M reformulation during iterations. Default:`1e9`.
194
194
195
+
## Infinite-Dimensional GDP
196
+
To model disjunctions, logical variables, and logical constraints with infinite-dimensional optimization problems (e.g., dynamic and stochastic optimization), DisjunctiveProgramming is also compatible with [InfiniteOpt.jl](https://github.com/infiniteopt/InfiniteOpt.jl). For this, the syntax is largely the same, users simply need to import`InfiniteOpt` and use `InfiniteGDPModel`. They also can use `InfiniteLogical` to declare infinite logical variables as shown below:
197
+
```julia
198
+
using DisjunctiveProgramming, InfiniteOpt, HiGHS
199
+
200
+
# Create the model
201
+
model = InfiniteGDPModel(HiGHS.Optimizer)
202
+
203
+
# Create the infinite variables
204
+
I = 1:4
205
+
@infinite_parameter(model, t ∈ [0, 1], num_supports = 100)
206
+
@variable(model, 0 <= g[I] <= 10, Infinite(t))
207
+
208
+
# Add the disjunctions and their indicator variables
0 commit comments