-
Notifications
You must be signed in to change notification settings - Fork 24
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #4 from OxfordControl/developer
Merge Developer into Master for release v1.1
- Loading branch information
Showing
61 changed files
with
1,346 additions
and
353 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,11 +1,15 @@ | ||
# CDCS | ||
|
||
CDCS (Cone Decomposition Conic Solver) is an open-source MATLAB solver for sparse conic programs with partially decomposable conic constraints. CDCS implements the alternating direction method of multipliers (ADMM) | ||
described in on our paper [_Fast ADMM for Semidefinite Programs with Chordal Sparsity_](https://arxiv.org/pdf/1609.06068v2.pdf) (included in the `doc/` folder). | ||
described in our papers [_Fast ADMM for Semidefinite Programs with Chordal Sparsity_](https://arxiv.org/pdf/1609.06068v2.pdf) and [_Fast ADMM for homogeneous self-dual embeddings of sparse SDPs_](https://arxiv.org/pdf/1611.01828.pdf) (included in the `doc/` folder) | ||
|
||
**Current version:** 1.0 | ||
**Current version:** 1.1 | ||
|
||
**Release notes:** CDCS is based on a temporary research code called ADMM-PDCP, which is no longer maintained. If you downloaded ADMM-PDCP, please replace it with CDCS. | ||
**Release notes:** | ||
|
||
* Homogeneous self-dual embedding is the new default method | ||
* The termination codes have changed. This means that if you use CDCS from YALMIP, the termination code returned by YALMIP will be incorrect. This should be fixed in the next YALMIP release! | ||
* CDCS is based on a temporary research code called ADMM-PDCP, which is no longer maintained. If you downloaded ADMM-PDCP, please replace it with CDCS. | ||
|
||
|
||
## Contents | ||
|
@@ -21,7 +25,7 @@ described in on our paper [_Fast ADMM for Semidefinite Programs with Chordal Spa | |
CDCS solves in the standard primal and dual vectorized forms | ||
|
||
minimize c'x maximize b'y | ||
(1) subject to Ax = b, (2) subject to c - A'y = z, | ||
(1) subject to Ax = b, (2) subject to A'y + z = c, | ||
x \in K z \in K* | ||
|
||
where the conic constraint `x \in K` are partially decomposable. This means that | ||
|
@@ -41,6 +45,9 @@ sparsity pattern. The other supported cone types are not decomposed. | |
This means that CDCS is most suitable for large sparse semidefinite programs (SDPs), | ||
although it can be used for any conic program over the supported cones. | ||
|
||
CDCS offers a choice to solve the primal problem (1) only, the dual problem (2) only, | ||
or the homogeneous self-dual embedding of the two problems. _From version 1.1, the | ||
homogeneous self-dual embedding is the default method._ | ||
|
||
|
||
## Quick start<a name="QuickStart"></a> | ||
|
@@ -72,26 +79,36 @@ you have any suggestions for improvement, or find any bugs, feel free to [contac | |
|
||
## How to cite<a name="References"></a> | ||
|
||
If you find CDCS useful, please cite: | ||
If you find CDCS useful, please cite at least one of the following papers as appropriate: | ||
|
||
``` | ||
@article{ZFPGW2016, | ||
archivePrefix = {arXiv}, | ||
eprint = {1609.06068v2}, | ||
primaryClass = "math-OC", | ||
author = {Zheng, Yang and Fantuzzi, Giovanni and Papachristodoulou, Antonis and Goulart, Paul and Wynn, Andrew}, | ||
title = {{Fast ADMM for Semidefinite Programs with Chordal Sparsity}} | ||
} | ||
@article{{ZFPGWhsde2016, | ||
archivePrefix= {arXiv}, | ||
eprint = {1611.01828}, | ||
primaryClass = "math-OC", | ||
author = {Zheng, Yang and Fantuzzi, Giovanni and Papachristodoulou, Antonis and Goulart, Paul and Wynn, Andrew}, | ||
title = {{Fast ADMM for homogeneous self-dual embeddings of sparse SDPs}} | ||
} | ||
@article{ZFPGWpd2016, | ||
archivePrefix= {arXiv}, | ||
eprint = {1609.06068v2}, | ||
primaryClass = "math-OC", | ||
author = {Zheng, Yang and Fantuzzi, Giovanni and Papachristodoulou, Antonis and Goulart, Paul and Wynn, Andrew}, | ||
title = {{Fast ADMM for Semidefinite Programs with Chordal Sparsity}} | ||
} | ||
@misc{CDCS, | ||
author = {Zheng, Yang and Fantuzzi, Giovanni and Papachristodoulou, Antonis and Goulart, Paul and Wynn, Andrew}, | ||
title = {{CDCS}: Cone Decomposition Conic Solver, version 1.0}, | ||
title = {{CDCS}: Cone Decomposition Conic Solver, version 1.1}, | ||
howpublished = {\url{https://github.com/giofantuzzi/CDCS}}, | ||
month = Sep, | ||
year = 2016 | ||
} | ||
``` | ||
A selection of BibTex styles that support arXiv preprints can be found [here](http://arxiv.org/hypertex/bibstyles/). | ||
|
||
|
||
## Contact us<a name="Contacts"></a> | ||
To contact us about CDCS, suggest improvements and report bugs, email either [Giovanni Fantuzzi](mailto:[email protected]?Subject=CDCS) or [Yang Zheng](mailto:[email protected]?Subject=CDCS). | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.