System Requirements


What's New

File List


Build Environment



A MINOS-based OPF Solver for MATPOWER

by Carlos E. Murillo-Sánchez

MINOPF is a MINOS-based optimal power flow solver for use with MATPOWER, a MATLAB® power system simulation package. MINOPF is for educational and research use only. It is often MATPOWER's fastest AC OPF solver on small problems.

As of MATPOWER 4, MINOPF no longer becomes the default solver when it is installed. It can be selected manually by setting the '' option to 'MINOPF' (see help mpoption for details).

MINOS1 is a Fortran-based software package, developed at the Systems Optimization Laboratory at Stanford University, for solving large-scale optimization problems.

Download MINOPF

You will be asked to fill out a brief form the first time you download from this site.

Note: We are required, as part of our MINOS sublicensing agreement, to report the names and e-mail addresses of all MINOPF sublicensees to Stanford.

(current stable version is 5.1)

Pre-compiled versions are available for Linux, Mac OS X and Windows.

Terms of Use

  • MINOPF is free of charge.
  • The use of MINOPF under this license is restricted to non-commercial education/research use with MATPOWER only. Commercial use requires licensing MINOS directly from Stanford.
  • We make no warranties, express or implied. Specifically, we make no guarantees regarding the correctness MINOPF's code or its fitness for any particular purpose.
  • Any publications derived from the use of MINOPF must acknowledge MINOS. (Please cite: B. A. Murtagh & M. A. Saunders, "MINOS 5.5 User's Guide", Stanford University Systems Optimization Laboratory Technical Report SOL 83-20R.)
  • MINOPF may not be redistributed. Each user must obtain it directly from the MINOPF web site. As part of our MINOS sublicense agreement we are required to report names and e-mail addresses of MINOPF sublicensees to Stanford.
  • MINOPF may not be modified or reverse engineered.

System Requirements

To use MINOPF you will need:

  • MATLAB® version 7 or later (32-bit versions only, see FAQ below regarding 64-bit)
    • Windows builds may require MATLAB 7.3 or later
  • MATPOWER version 5.0 or later (for MINOPF 5.x)


  1. Unzip the downloaded file.
  2. Place the files in a location on your MATLAB path.

What's New in Version 5.1

Below is a summary of the changes since version 4.1 of MINOPF. See the CHANGES file for all the gory details.

New features:

  • Compatibility with MATPOWER 5.x and new options architecture.
  • No longer requires BPMPD for sqppf() to precondition certain problems.

File List

CHANGES A detailed change history, with Unix line endings
CHANGES.txt A detailed change history, with DOS line endings (for Windows users)
minopf.m Help for the MEX file
minopf.mexglx MEX file for 32-bit Linux
minopf.mexmac MEX file for 32-bit Mac OS X (PowerPC)
minopf.mexmaci MEX file for 32-bit Mac OS X (Intel)
minopf.mexw32 MEX file for 32-bit Windows
minopfver.m Prints or returns version information
mopf.m Top level OPF routine that specifies the MINOPF solver when calling MATPOWER's opf()
mopf_solver.m OPF solver invoked by MATPOWER's opf() which calls minopf() MEX file
mpoption_info_minopf.m Returns MATPOWER option info for MINOPF
README The README file with Unix line endings
README.txt The README file with DOS line endings (for Windows users)
sqppf.m Called by mopf to precondition the problem if minopf() has trouble initially


Questions about MINOPF can be addressed to Carlos E. Murillo-Sánchez via the MATPOWER mailing list.

Build Environment

Linux_old (<= R2007a, 7.4) built Fri, Apr 3, 2009 (build 19)
  VMware Fusion 2.0.2 VM on MacBook Pro
Red Hat 7.3 (Linux kernel 2.4.18)
MATLAB 6.5.1 (R13sp1)
gcc version 2.96 20000731 (Red Hat Linux 7.3 2.96-110)
g77 version 2.96 20000731 (Red Hat Linux 7.3 2.96-110)
(from FSF-g77 version 0.5.26 20000731 (Red Hat Linux 7.3 2.96-110)
Linux (>= R2007a, 7.4) built Fri, Apr 3, 2009 (build 19)
  Dell Optiplex G260, Intel Pentium 4, 3.06 GHz
Red Hat Enterprise Linux 4 (Linux kernel 2.6.9)
MATLAB 7.5 (R2007b)
gcc version 3.4.6 20060404 (Red Hat 3.4.6-10)
g95 - gcc version 4.0.3 (g95 0.90!) Jul 27 2006
Mac OS X (Intel) built Fri, Dec 9, 2011 (build 20)
  MacBook Pro, Intel Core i7, 2.66 GHz
Mac OS X 10.6.8 (Snow Leopard)
MATLAB 7.10 (R2010a)
gcc version 4.2.1 (Apple Inc. build 5666) (dot 3)
gfortran 4.2.1 (from
Mac OS X (PPC) built Fri, Apr 3, 2009 (build 19)
  PowerBook G4, 1 GHz
Mac OS X 10.4.11 (Tiger)
MATLAB 7.2 (R2006a)
gcc version 4.0.1 (Apple Computer, Inc. build 5367)
GNU Fortran (GCC) 3.4.3  (installed via fink: g77 3.4.3-1)
f2c (version 20030320)  (installed via fink: f2c 20030428-2)
Windows built Fri, Dec 9, 2011 (build 20)
  Parallels Desktop 7.0 VM on MacBook Pro, Mac OS X 10.6.8
Windows XP Pro, SP3
MATLAB 7.6 (R2008a)
Microsoft Visual Studio 2005 Pro, SP2, Version 8.0.50727.762
Intel Visual Fortran 10.1.011

Frequently Asked Questions

Q: When will 64-bit versions of MINOPF be made available?

A: We currently have no plans to distribute 64-bit versions of MINOPF. Porting this code to 64-bits turns out to be a bigger task that we have time for. On 64-bit platforms, we recommend using the TSPOPF package or MATPOWER 4's new default primal dual interior point solver.

Q: Why am I getting the following error when running on Windows?
Invalid MEX-file 'C:\minopf3.2_w32\minopf.mexw32': This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem.

A: You need to install the latest Microsoft Visual C++ 2005 Redistributable, available from:

1MINOS is a trademark of Stanford University and is copyright © 1983-1998 by Stanford University.

Copyright © 1997-2017 PSERC
Wed, Nov 15, 2017