{"id":13504894,"url":"https://github.com/Argonne-National-Laboratory/DSP","last_synced_at":"2025-03-29T22:31:23.844Z","repository":{"id":23254771,"uuid":"26612881","full_name":"Argonne-National-Laboratory/DSP","owner":"Argonne-National-Laboratory","description":"An open-source parallel optimization solver for structured mixed-integer programming","archived":false,"fork":false,"pushed_at":"2023-07-13T14:49:27.000Z","size":67231,"stargazers_count":82,"open_issues_count":28,"forks_count":26,"subscribers_count":14,"default_branch":"release","last_synced_at":"2025-03-25T22:21:28.234Z","etag":null,"topics":["julia","mixed-integer-programming","optimization","parallel","stochastic-optimization"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Argonne-National-Laboratory.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-11-13T23:24:20.000Z","updated_at":"2025-02-05T19:16:19.000Z","dependencies_parsed_at":"2024-11-01T02:31:55.906Z","dependency_job_id":"800cb328-a6c4-4d46-b2b4-f81b9cec2255","html_url":"https://github.com/Argonne-National-Laboratory/DSP","commit_stats":null,"previous_names":[],"tags_count":24,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Argonne-National-Laboratory%2FDSP","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Argonne-National-Laboratory%2FDSP/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Argonne-National-Laboratory%2FDSP/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Argonne-National-Laboratory%2FDSP/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Argonne-National-Laboratory","download_url":"https://codeload.github.com/Argonne-National-Laboratory/DSP/tar.gz/refs/heads/release","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246254077,"owners_count":20747946,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["julia","mixed-integer-programming","optimization","parallel","stochastic-optimization"],"created_at":"2024-08-01T00:00:52.978Z","updated_at":"2025-03-29T22:31:18.818Z","avatar_url":"https://github.com/Argonne-National-Laboratory.png","language":"C++","funding_links":[],"categories":["Solvers"],"sub_categories":[],"readme":"# DSP\n\nRelease: ![GitHub tag (latest SemVer)](https://img.shields.io/github/v/tag/Argonne-National-Laboratory/DSP?label=release\u0026sort=semver)\n[![DOI](https://zenodo.org/badge/26612881.svg)](https://zenodo.org/badge/latestdoi/26612881)\n\nDocumentation: [![Documentation Status](https://readthedocs.org/projects/dsp/badge/?version=stable)](https://dsp.readthedocs.io/?badge=stable)\n\nStatus: ![Build Status](https://github.com/Argonne-National-Laboratory/DSP/workflows/Build%20test/badge.svg)\n[![codecov](https://codecov.io/gh/Argonne-National-Laboratory/DSP/branch/master/graph/badge.svg)](https://codecov.io/gh/Argonne-National-Laboratory/DSP)\n\n--------\n\nDSP is an open-source and parallel package that implements decomposition methods for **structured mixed-integer programming** problems. These are structured optimization problems in the following form:\n\n        minimize   c^T x + \\sum_{s=1}^S q_s^T y_s\n        subject to   A x                              = b\n                   T_s x +                    W_s y_s = h_s for s = 1, .., S\n                   some x, y_s are integers\n\nwhere x and y_s are decision variable vectors with dimensions n_1 and n_2, respectively, A, T_s and W_s are matrices of dimensions m_1 by n_1, m_2 by n_1 and m_2 by n_2, respectively, and c, q_s, b, and h_s are vectors of appropriate dimensions.\n\n**DSP Solution Methods:**\n* Extensive form solver (global solver)\n* Serial/parallel dual decomposition (dual bounding solver)\n* Serial/parallel Dantzig-Wolfe decomposition (global solver)\n* Serial/parallel Benders decomposition\n\n**Problem Types:**\n* Two-stage stochastic mixed-integer linear programs\n* Distributionally robust stochastic mixed-integer linear programs\n* Structured mixed-integer linear programs\n\n**Problem Input Formats:**\n* SMPS file format for stochastic programs (`.dro` optionally for distributionally robust)\n* MPS and DEC files for generic block-structured optimization problems\n* Julia modeling package [DSPopt.jl](https://github.com/kibaekkim/DSPopt.jl)\n\n## Installation\n\n```\ngit clone --recursive https://github.com/Argonne-National-Laboratory/DSP.git\n```\n\n## Contributors\n\n* [Kibaek Kim](https://kibaekkim.github.io/), Mathematics and Computer Science Division, Argonne National Laboratory.\n* [Victor M. Zavala](http://zavalab.engr.wisc.edu/), Department of Chemical and Biological Engineering, University of Wisconsin-Madison.\n* Christian Tjandraatmadja, Google Research.\n* Yingqiu Zhang, Industrial and Systems Engineering, Virginia Tech.\n* [Geunyeong Byeon](https://sites.google.com/asu.edu/geunyeongbyeon/home), Industrial Engineering, Arizona State University.\n* Hideaki Nakao, Mathematics and Computer Science Division, Argonne National Laboratory.\n\n*The contributors are listed in chronological order (first-come first-listed).*\n\n## Key Publications\n\n* Kibaek Kim. \"[Dual Decomposition of Two-Stage Distributionally Robust Mixed-Integer Programming under the Wasserstein Ambiguity Set](http://www.optimization-online.org/DB_HTML/2020/04/7723.pdf)\" Optimization Online, 2020\n* Kibaek Kim and Briand Dandurand. \"[Scalable Branching on Dual Decomposition of Stochastic Mixed-Integer Programming Problems](http://www.optimization-online.org/DB_HTML/2018/10/6867.html)\" Mathematical Programming Computation 14(1), 2022\n* Kibaek Kim, Cosmin Petra, and Victor Zavala. \"[An Asynchronous Bundle-Trust-Region Method for Dual Decomposition of Stochastic Mixed-Integer Programming](https://epubs.siam.org/doi/abs/10.1137/17M1148189)\" SIAM Journal on Optimization 29(1), 2019\n* Kibaek Kim and Victor M. Zavala. \"[Algorithmic innovations and software for the dual decomposition method applied to stochastic mixed-integer programs](https://link.springer.com/article/10.1007/s12532-017-0128-z)\" Mathematical Programming Computation 10(2), 2017\n\n\n## Acknowledgements\n\nThis material is based upon work supported by the U.S. Department of Energy, Office of Science, under contract number DE-AC02-06CH11357.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FArgonne-National-Laboratory%2FDSP","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FArgonne-National-Laboratory%2FDSP","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FArgonne-National-Laboratory%2FDSP/lists"}