sitemeter

    Home    About    Documentation    Install    Newsline    Links    Feedback    Appeal    Guestbook

free html hit
counter
since 2007/10/24

OpenOpt Foreword

(brief introduction to numerical optimization problems and related software)

Numerical optimization problems occur almost everywhere - in physics, economics, chemistry, biology etc. For example:

  • planes, helicopters, vehicles fuel consumption minimizing
  • shop profits maximizing
  • seedlings of crops growth (in greenhouses) maximizing
  • gaskets ways communications minimizing (auto and transportation industries, the Internet network)

with all kinds of restrictions, such as

  • minimum and maximum speed
  • working capital, the risk for devastation, the showcase
  • illumination, water and financial costs on them
  • capacity of branches and nodes

Mathematically, 90% of them are members of one or two dozens of major classes, such as LP, QP, NLP, MILP etc. For example, NEOS staff represents this graphically here.

Software for solving numerical optimization costs thousands, and sometimes tens of thousands $ example
In addition, you should spend approximately 10% on updating software libraries annually.

In recent times, due to sponsorship from various funds, universities, some corporations (IBM), lots of viable free numerical optimization software have appeared. However, most packages have license GPL/LGPL containing copyleft restriction, that prevents using of the software by closed or any other non-free code. Also, most of them is C- or Fortran-written, that doesn't allows RAD (Rapid Application Development) and have lots of cross-platform troubles (Linux, Windows, MacOS etc).
Note: connecting C or Fortran code to Python is much easier than, for example, using MATLAB MEX-functions.

As many experts note, the development of software in Python is approximately 2 times faster than Fortran one, and it should be noted that this is not just programmer man-hours, but other staff as well, rental payments etc.

100%-free OpenOpt (Python-written, license: BSD) consists of few own solvers, and includes interfaces to a number of other (free as well), many of which are written in C/Fortran (BTW, for matrix operations OpenOpt uses C-written NumPy that is BSD-licensed as well).

See also