Skip to content

jump-dev/Dualization.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

457 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dualization.jl

Build Status codecov DOI

Dualization.jl is an extension package for MathOptInterface.jl that formulates the dual of conic optimization problems.

Dualization.jl has two main features:

  • The Dualization.dualize function that computes the dual formulation of either a MathOptInterface.jl or a JuMP model.
  • The Dualization.dual_optimizer function that creates a MathOptInterface-compatible optimizer that solves the dual of the problem instead of the primal.

License

Dualization.jl is licensed under the MIT License.

Installation

Install Dualization using Pkg.add:

import Pkg
Pkg.add("Dualization")

Use with JuMP

To compute the dual formulation of a JuMP model, use dualize:

using JuMP, Dualization
model = Model()
# ... build model ...
dual_model = dualize(model)

To solve the dual formulation of a JuMP model, create a dual_optimizer:

using JuMP, Dualization, SCS
model = Model(dual_optimizer(SCS.Optimizer))
# ... build model ...
optimize!(model)  # Solves the dual instead of the primal

Documentation

The documentation for Dualization.jl includes a detailed description of the dual reformulation, along with examples and an API reference.

About

Automatic dualization feature for MathOptInterface.jl and JuMP

Resources

License

Stars

Watchers

Forks

Contributors

Languages