Skip to content

Commit

Permalink
updating readthedocs
Browse files Browse the repository at this point in the history
  • Loading branch information
kibaekkim committed Nov 20, 2019
1 parent 8cf9ad9 commit 8671401
Show file tree
Hide file tree
Showing 2 changed files with 44 additions and 14 deletions.
56 changes: 43 additions & 13 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,32 +6,62 @@
DSP --- Decompositions for Structured Programming
=================================================

DSP is an object-oriented open-source software package written in C++ for solving structured programming problems such as stochastic mixed-integer programming (SMIP). The current version of DSP has implemented decomposition methods for solving SMIP problems:
DSP 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:

* Dual decomposition -- DSP has implemented new dual decomposition methods
The current branch ``dsp-bb`` provides **parallel dual decomposition** methods with **branch-and-bound** procedure.

* **Interior-point cutting-plane method with early termination criteria**
* **Eliminating infeasible first-stage solutions**
* Cutting-plane method
* Subgradient method
Interfaces
----------

* Benders decomposition
* Extensive form solution
Stand-alone binary
^^^^^^^^^^^^^^^^^^

**Credits**
DSP will be compiled as a binary file runDsp that can read SMPS, MPS with DEC files and solve the problems.
See more about MPS with DEC file format in http://www.or.rwth-aachen.de/gcg/doc/reader__dec_8h.html and also example in https://github.com/Argonne-National-Laboratory/DSP/tree/dev-coin/examples/mps-dec.

Julia Interface
^^^^^^^^^^^^^^^

DSP can use Julia as a modeling interface for the computational experiments.
Julia is a high level dynamic programming language for technical computing, with syntax that is familiar to users of other technical computing environments such as MATLAB and Python. Julia can be downloaded from http://julialang.org/downloads/ If Julia is successfully installed on your machine, then you can start the Julia command-line tool by typing

julia

Now we need to install four Julia packages required to run DSP in the Julia environment. The packages should be installed in the Julia command-line tool. Please update the package list of Julia by typing

Pkg.update();

JuMP.jl is a algebraic modeling package in Julia for mathematical programming, which can be installed by the following Julia command:

Pkg.add("JuMP");

The Dsp.jl package provides an interface to JuMP.jl. Dsp.jl can be installed by the Julia command

Pkg.clone("https://github.com/kibaekkim/Dsp.jl.git");

MPI.jl is an optional package to run DSP in parallel on high-performance computing machines using MPI library. This is an MPI interface package, which can be installed by the following Julia command. MPICH is required for this package.

Pkg.add("MPI");

Credits
-------

DSP has been developed and is maintained by:

* `Kibaek Kim <http://mcs.anl.gov/~kibaekkim/>`_, Mathematics and Computer Science Division, Argonne National Laboratory.
* `Victor M. Zavala <http://zavalab.engr.wisc.edu/>`_, Department of Chemical and Biological Engineering, University of Wisconsin-Madison.

**Publication**
Publication
-----------

* Kibaek Kim and Brian Dandurand. `Scalable Branching on Dual Decomposition of Stochastic Mixed-Integer Programming Problems`_ Optimization Online, 2018
* Kibaek Kim, Audun Botterud, and Feng Qiu. `Temporal Decomposition for Improved Unit Commitment in Power System Production Cost Modeling`_ IEEE Transactions on Power Systems 33(5), 5276-5287, 2018
* Kibaek Kim and Victor M. Zavala. `Algorithmic innovations and software for the dual decomposition method applied to stochastic mixed-integer programs`_ Mathematical Programming Computation 10(2), 225-266, 2018
* Kibaek Kim, Fan Yang, Victor M. Zavala, and Andrew A. Chien. `Data Centers as Dispatchable Loads to Harness Stranded Power'_ IEEE Transactions on Sustainable Energy 8(1), 208-218, 2017
* Kibaek Kim and Victor M. Zavala. `Large-Scale Stochastic Mixed-Integer Programming Algorithms for Power Generation Scheduling'_ In Alternative Energy Sources and Technologies, 493-512, 2016
* Kibaek Kim, Fan Yang, Victor M. Zavala, and Andrew A. Chien. `Data Centers as Dispatchable Loads to Harness Stranded Power`_ IEEE Transactions on Sustainable Energy 8(1), 208-218, 2017
* Kibaek Kim and Victor M. Zavala. `Large-Scale Stochastic Mixed-Integer Programming Algorithms for Power Generation Scheduling`_ In Alternative Energy Sources and Technologies, 493-512, 2016

**Acknowledgements**
Acknowledgements
----------------

This material is based upon work supported by the U.S. Department of Energy, Office of Science, under contract number DE-AC02-06CH11357. We gratefully acknowledge the computing resources provided on *Blues*, a high-performance computing cluster operated by the Laboratory Computing Resource Center at Argonne National Laboratory. We thank E. Michael Gertz and Stephen Wright for providing the `OOQP <http://pages.cs.wisc.edu/~swright/ooqp/>`_ software package.

Expand Down
2 changes: 1 addition & 1 deletion docs/installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Download

You can clone this repository in your preferred directory by typing::

git clone --recursive https://github.com/Argonne-National-Laboratory/DSP.git
git clone -b dsp-bb --recursive https://github.com/Argonne-National-Laboratory/DSP.git

Prerequisites
^^^^^^^^^^^^^
Expand Down

0 comments on commit 8671401

Please sign in to comment.