Skip to content

Learning the dual and automatic DLL completion #31

Open
@klamike

Description

@klamike

We should be able to automate DLL for conic problems by using the projections in https://github.com/matbesancon/MathOptSetDistances.jl/blob/master/src/projections.jl. Hopefully we can differentiate through those functions 🤞

There may be some complexity with detecting the variable decomposition (which variables do we predict then project (y) vs solve for (z)) in general. Probably a good default is to use z for variable-in-set constraints and y for the rest.

Also relevant:
https://github.com/jump-dev/Dualization.jl -- formulate the dual MOI/JuMP model
https://github.com/matbesancon/MathOptSetDistances.jl -- project predicted y onto its cone
https://github.com/jump-dev/ParametricOptInterface.jl -- formulate z completion problem with y as parameters
https://github.com/jump-dev/DiffOpt.jl -- differentiate through z completion (compute dobj/dy jump-dev/DiffOpt.jl#282)

Would also be super cool to detect special cases (e.g. examples 1, 2, 3 in DLL) to handle those efficiently.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions