DisjunctiveProgramming.jl
DisjunctiveProgramming.jl copied to clipboard
A JuMP extension for Generalized Disjunctive Programming
It would be useful to support expressions of the type: $$ [AtLeast(1,Y_i) \wedge AtLeast(1,Z_j)] \Leftrightarrow W $$ Where Y and Z are Boolean variables associated to unrelated disjuncts. This is...
This adds an extension such that DisjunctiveProgramming is compatible with InfiniteOpt. It overloads the needed functions and provide the `InfiniteGDPModel` and `InfiniteLogical` functions. A basic example is shown below: ```julia...
Hi there, the documentation advises to create on logical variable per `Disjunct`. I am wondering, whether this can be simplified in the case of only two `Disjunct`s. Maybe one can...
This adds the `MOIDisjunction` reformulation method which transforms disjunctions in vector constraints that use `DisjunctionSet`. This enables us to pass disjunctions directly down to the MOI level.
There is no way to have `GDPModel`s print any information pertaining to `GDPData` automatically since `GDPModel`s are just `JuMP.Model`s. However, we can create our own method(s) (e.g., `print_gdp_model`, `latex_gdp_model`, and...
https://www.sciencedirect.com/science/article/pii/S0098135415000587
Alternate approaches exist for converting to CNF, which involve preserving clause satisfiability rather than clause equivalence. These approaches prevent exponential size increase in clauses and yield logically consistent results. Paul...
Currently, we only cardinality constraints on logical variables. It would be nice to allow arguments to be logical expressions as well.
It would be useful to support methods that query information and modify disjunct constraints. These would include: - [ ] The reformulation constraint (if appropriate) - [ ] `JuMP.set_start_value` and...
It might be useful to allow the user to specify the type of reformulation for each constraint (add a field to DisjunctConstraint to specify method).