Skip to content

An algorithmic framework for parallel dual decomposition methods in Julia

License

Notifications You must be signed in to change notification settings

kibaekkim/DualDecomposition.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DualDecomposition.jl

Run tests codecov DOI

This package implements an algorithmic framework for parallel dual decomposition methods in Julia. While not aiming to outperforming the decomposition solvers written in a low-level language (e.g., DSP), this package provides the following features that DSP does not provide:

  • This is designed to solve structured MINLP (and thus NLP) too, as long as the objective function is linear or quadratic.
  • One can use any optimization solvers through MathOptInterface.jl.
  • Of course, user does not need to compile any code for parallel solutions with MPI.jl.

Installation

This package can be installed by cloning this repository:

] add DualDecomposition

Examples

Please see examples in ./examples.

Citing this package

@misc{DualDecomposition.jl.0.3.0,
  author       = {Kim, Kibaek and Nakao, Hideaki and Kim, Youngdae and Schanen, Michel and Zhang, Weiqi and Li, Can},
  title        = {{DualDecomposition.jl: Parallel Dual Decomposition in Julia}},
  month        = July,
  year         = 2021,
  doi          = {10.5281/zenodo.5079761},
  version      = {0.3.0},
  publisher    = {Zenodo},
  url          = {https://doi.org/10.5281/zenodo.5079761}
}

Acknowledgements

This material is based upon work supported by the U.S. Department of Energy, Office of Science, under contract number DE-AC02-06CH11357.