Skip to content

dim666dim/DistributedOptimizationWithLocalDomains

 
 

Repository files navigation

Distributed Optimization With Local Domains: Applications in MPC and Network Flows

Code to replicate the experiments in

Distributed Optimization With Local Domains: Applications in MPC and Network Flows.
J. F. C. Mota, J. M. F. Xavier, P. M. Q. Aguiar, M. Püschel.
IEEE Transactions on Automatic Control, Vol. 60, No. 7, pp. 2004-2009, 2015.
link, arXiv

The main algorithm is DADMM_Partial.m.

All code is implemented in Matlab. Although all algorithms are distributed, the code is centralized and runs sequentially. The purpose is to simulate distributed algorithms.

Organization

  • DADMM_Partial.m: solves the optimization problem

    where the optimization variable has components , and each set indexes the components of that node depends on. See the documentation in DADMM_Partial, and also the above paper [1] for terminology.

  • UsageExamples: simple examples illustrating how to use DAMM_Partial.m.

  • CompareAlgs: reproduces Figures 4 and 5 in the paper.

  • GenerateData: contains data used in the experiments and also contains code to generate other types of data. Some data is generated in Python/Sage.

  • KekatosADMM: our implementation of the algorithm in

    Distributed Robust Power System State Estimation.
    V. Kekatos, G. B. Giannakis.
    IEEE Transactions on Power Systems, Vol. 28, No. 2, 2013.
    link, arXiv

    Note that the algorithm proposed in this paper was designed to solve (1) with a star-shaped variable, but we generalized it to operate with any connected variable.

  • SpecialPurposeAlgs: our implementation of the algorithms in the references below, which solve (1) only in the case of a star-shaped variable.

    Distributed Optimization and Statistical Learning via the Alternating Direction Method of Multipliers.
    S. Boyd, N. Parikh, E. Chu, B. Peleato, J. Eckstein.
    Foundations and Trends on Machine Learning, Vol. 3, No. 4, 2010.
    (section 7.2).
    link, authors' version

    Introductory Lectures on Convex Optimization: A Basic Course.
    Y. Nesterov.
    Springer Science+Business Media New York, 2004.
    link, Google Books


License: GPLv3

About

Code to replicate experiments in paper

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • MATLAB 84.9%
  • Python 8.7%
  • TeX 6.4%