Oscar Dowson

Results 907 comments of Oscar Dowson

To update this issue: * @dourouc05 wrote a blog post https://jump.dev/blog/constraint-programming-update/ * Development effort should go into https://github.com/dourouc05/ConstraintProgrammingExtensions.jl * Extending syntax via `parse_constraint` is now documented: https://jump.dev/JuMP.jl/dev/developers/extensions/#Parse

To update this issue: * MOI v1.4.0 includes a number of new constraint programming sets * MOI v1.6.0 includes a number of new bridges from constraint programming to MILP formulations...

The more I've thought about this, the more sure I am that 1 is the correct way. You really are declaring a vector valued objective, instead of multiple different objectives....

> we have chosen to handle the objectives separately. Adding an index which denote a specific objective as suggested by @odow is our preferred option because we would like in...

So my reasoning is this: - MathOptInterface can support multiple objectives via vector-valued objective functions - MO solvers should declare support for `MOI.ObjectiveFunction{MOI.VectorOfVariables}`, `MOI.ObjectiveFunction{MOI.VectorAffineFunction}` or `MOI.ObjectiveFunction{MOI.VectorQuadraticFunction}`. - If they do...

> The inconvenience I see to the @objective(model, Min, C * x) syntax is that people can get confused when accidentally providing a vector function, compared to having a multi-objective...

> blend functions to minimize and to maximize in the model This is a reasonable point to make. The question of "objective sense" isn't obvious. The hang-up we seem to...

Okay, so I started to implement this, and I found that one thing would have to change in MOI. Essentially, we just need to relax the `AbstractScalarFunction` aspect of this...

So I talked to @mlubin, and we won't be pushing this into JuMP unless there is general agreement on the approach. We definitely don't want to force @xgandibleux et al....

Okay, I now have a proof of concept multi-objective solver: https://github.com/odow/MOO.jl The best place to look is the test, where we solve a trivial 2 variable BOLP: https://github.com/odow/MOO.jl/blob/4a1efcbfe04802ca477932b2c1d7fca55eaccb16/test/nise.jl Arguments for...