MIPS – MATPOWER Interior Point Solver for nonlinear optimization problems.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
docs
lib
.gitignore
.travis.yml
AUTHORS
CHANGES.md
CONTRIBUTING.md
LICENSE
README.md

README.md

MIPS - MATPOWER Interior Point Solver

The MATPOWER Interior Point Solver (MIPS) is a package of MATLAB/Octave M-files for solving non-linear programming problems (NLPs) using a primal dual interior point method. MIPS is based on code written in C language by Hongye Wang as a graduate student at Cornell University for optimal power flow applications. It was later ported to the MATLAB/Octave language by Ray D. Zimmerman for use in MATPOWER.

System Requirements

Installation

Installation and use of MIPS requires familiarity with the basic operation of MATLAB or Octave, including setting up your MATLAB path.

  1. Clone the repository or download and extract the zip file of the MIPS distribution from the MIPS project page to the location of your choice. The files in the resulting mips or mipsXXX directory, where XXX depends on the version of MIPS, should not need to be modified, so it is recommended that they be kept separate from your own code. We will use <MIPS> to denote the path to this directory.

  2. Add the following directories to your MATLAB or Octave path:

    • <MIPS>/lib
    • <MIPS>/lib/t
  3. At the MATLAB prompt, type test_mips to run the test suite and verify that MIPS is properly installed and functioning. (Note: The tests require a functioning installation of MP-Test) The result should resemble the following:

  >> test_mips
  t_mplinsolve....ok
  t_mips..........ok
  t_qps_mips......ok
  All tests successful (136 of 136)
  Elapsed time 0.11 seconds.

Documentation

There are two primary sources of documentation for MIPS. The first is the MIPS User's Manual, which gives an overview of the capabilities and structure of MIPS and describes the formulations behind the code. It can be found in your MIPS distribution at <MIPS>/docs/MIPS-manual.pdf and the latest version is always available at: https://github.com/MATPOWER/mips/blob/master/docs/MIPS-manual.pdf.

And second is the built-in help command. As with the built-in functions and toolbox routines in MATLAB and Octave, you can type help followed by the name of a command or M-file to get help on that particular function. All of the M-files in MIPS have such documentation and this should be considered the main reference for the calling options for each function, namely: mips, mipsver, and qps_mips.

Publications

  1. H. Wang, C. E. Murillo-Sánchez, R. D. Zimmerman, R. J. Thomas, "On Computational Issues of Market-Based Optimal Power Flow," Power Systems, IEEE Transactions on, vol. 22, no. 3, pp. 1185-1193, Aug. 2007.
    DOI: 10.1109/TPWRS.2007.901301.

  2. H. Wang, On the Computation and Application of Multi-period Security-constrained Optimal Power Flow for Real-time Electricity Market Operations, Ph.D. thesis, Electrical and Computer Engineering, Cornell University, May 2007.

Citing MIPS

We request that publications derived from the use of MIPS explicitly acknowledge that fact by citing reference [1] above, namely:

H. Wang, C. E. Murillo-Sánchez, R. D. Zimmerman, R. J. Thomas, "On Computational Issues of Market-Based Optimal Power Flow," Power Systems, IEEE Transactions on, vol. 22, no. 3, pp. 1185-1193, Aug. 2007.

Contributing

Please see our contributing guidelines for details on how to contribute to the project or report issues.

License

MIPS is distributed under the 3-clause BSD license.