首页 > 代码库 > 科研常用优化代码软件介绍

科研常用优化代码软件介绍

Free and Open Source software

 

 

 

Name License Brief info
ADMB BSD nonlinear optimization framework, using automatic differentiation
ALGENCAN GPL Fortran code for general nonlinear programming. Interfaces with AMPL, C/C++, CUTEr, Matlab, Python, Octave and R.
APMonitor BSD MATLAB Toolbox and Python APIs to Mixed Integer Nonlinear Programming Solvers
ASCEND GPL mathematical modelling system
BOBYQA   An algorithm that seeks the least value of a nonlinear function subject to bound constraints, without using derivatives of the objective function. ByMichael J. D. Powell. Source code is freely available online.
COBYLA   An algorithm that seeks the least value of a nonlinear function subject to nonlinear inequality constraints, without using derivatives of the objective function or the constraints. By Michael J. D. Powell. Source code is freely available online.
CONDOR GPL Non-linear Continuous Objective Function for small dimension (n<20) with linear and non-linear constraints. Only the value of the objective function is used. Stand-Alone C++ code.
COIN-OR SYMPHONY GPL integer programming
CUTEr GPL testing environment for optimization and linear algebra solvers
dlib Boost A stand-alone C++ library with a variety of linear and non-linear solvers for small and large scale problems
GLPK GPL GNU Linear Programming Kit
IPOPT CPL large scale nonlinear optimization for continuous system (requires gradient)
JOptimizer Apache License Java library for convex optimization
L-BFGS BSD limited-memory quasi-Newton method optimization; for large scale optimization
Liger LGPL Liger is an open source integrated optimization environment for single and multi-objective nonconvex problems
LINCOA   An algorithm that seeks the least value of a nonlinear function subject to linear inequality constraints, without using derivatives of the objective function. By Michael J. D. Powell. Source code is freely available online.
MIDACO BY-NC-ND Global optimization software, Limited Version, MINLP (Matlab, Octave, Python, C/C++ and Fortran)
MINUIT/MINUIT2 (L)GPL multivariate function minimizer for real-valued functions with analytic or numerical gradients
NEWUOA   An algorithm that solves unconstrained optimization problems without using derivatives. By Michael J. D. Powell. Source code is freely availableonline.
NLopt LGPL,MIT many algos, many language bindings, global and local optimizers, derivative-free and gradient-driven
NOMAD LGPL generic black-box (no gradients required) optimization package
OpenOpt BSD free numerical optimization framework in Python language for solving NLP, LP, MIP, QP, etc with automatic differentiation features.
OptaPlanner ASL OptaPlanner is a lightweight, embeddable planning engine written in Java?. It helps normal Java? programmers solve constraint satisfaction problems efficiently. Under the hood, it combines optimization heuristics and metaheuristics with very efficient score calculation.
PPL GPLv3 integer programming problems, polyhedra
Scilab CeCILL cross-platform numerical computational package and a high-level, numerically oriented programming language with free numerical optimization framework.
TAO BSD

large-scale optimization, focus on parallel algos.

Proprietary software

  • AIMMS — optimization modeling system, including GUI building facilities
  • AMPL — modelling language for large-scale linear, mixed integer and nonlinear optimization
  • APMonitor — for large-scale, nonlinear, differential and algebraic optimization
  • ASTOS — AeroSpace Trajectory Optimization Software for launcher, re-entry and generic aerospace problems
  • BARON — for global optimization of algebraic nonlinear and mixed-integer nonlinear problems
  • CPLEX — integer, linear and quadratic programming
  • FortMP — integer, linear and quadratic programming
  • FortSP — stochastic programming
  • General Algebraic Modeling System
  • Gurobi — integer, linear and quadratic programming
  • HillStormer — Nelder–Mead nonlinear optimization with linear constraints
  • HEEDS MDO — multidisciplinary design optimization using SHERPA, a hybrid, adaptive optimization algorithm.
  • IMSL Numerical Libraries Linear, quadratic, nonlinear, and sparse QP and LP optimization algorithms implemented in standard programming languages C, Java, C# .NET, Fortran, and Python.
  • IOSO — (Indirect Optimization on the basis of Self-Organization) is a multiobjective, multidimensional nonlinear optimization technology
  • Kimeme — an open platform for multi-objective optimization and multidisciplinary design optimization
  • Lingo — Linear, integer, nonlinear and stochastic programming. Global optimization
  • LIONsolver — an integrated software for data mining, modeling, Learning and Intelligent OptimizatioN and reactive business intelligence
  • modeFRONTIER — multidisciplinary design optimization, for computer-aided engineering
  • Maple (software) — Linear, quadratic, and nonlinear, continuous and integer optimization. Constrained and unconstrained. Global optimization with add-on toolbox.
  • MATLAB — Linear, quadratic, and nonlinear problems with Optimization Toolbox; multiple maxima, multiple minima, and non-smooth optimization problems; estimation and optimization of model parameters.
  • Mathematica — large-scale multivariate constrained and unconstrained, linear and nonlinear, continuous and integer optimization.
  • MIDACO Global optimization software based on evolutionary computing, MINLP (Matlab, Octave, Python, C/C++ and Fortran)
  • MOSEK — linear, quadratic, conic and convex nonlinear, continuous and integer optimization.
  • NAG — Linear, quadratic, nonlinear, sums of squares of linear or nonlinear functions; linear, sparse linear, nonlinear, bounded or no constraints; local and global optimization; continuous or integer problems.
  • Nexus — multidisciplinary optimization and design process integration
  • NMath — linear, quadratic and nonlinear programming
  • IOSO — multidisciplinary design optimization, for computer-aided engineering
  • OptimJ — Java based modeling language. Premium Edition includes support for Gurobi, Mosek and CPLEX solvers
  • Optimus platform — a process integration and design optimization platform developed by Noesis Solutions
  • OptiY - a design environment providing modern optimization strategies and state of the art probabilistic algorithms for uncertainty, reliability, robustness, sensitivity analysis, data-mining and meta-modeling.
  • OptiStruct — Award-winning CAE technology for conceptual design synthesis and structural optimization.
  • PHX ModelCenter — a graphical environment for automation, integration, and design optimization.
  • PottersWheel — Parameter estimation in ordinary differential equations (Matlab toolbox, free for academic use).
  • SmartDO — multidisciplinary global design optimization, specialized in computer-aided engineering (CAE). using the direct global search approaches.
  • SNOPT — large-scale optimization problems.
  • Unscrambler Optimizer product formulation and process optimization software
  • TOMLAB — TOMLAB supports global optimization, integer programming, all types of least squares, linear, quadratic and unconstrained programming for MATLAB. TOMLAB supports solvers like Gurobi, CPLEX, SNOPT and KNITRO.
  • VisSim — a visual block diagram language for simulation and optimization of dynamical systems.
  • WORHP — a large-scale sparse solver for continuous nonlinear optimization.

Freeware

  • AIMMS — free for academic use.
  • AMPL — free student license.
  • APMonitor — free for academic or commercial use with interfaces to Python and MATLAB.
  • ASTOS — free for academic use.
  • Galahad library — free for academic use.
  • LIONsolver — free license for academic use.
  • MIDACO Global optimization software based on evolutionary computing, MINLP (Matlab, Octave, Python, C/C++ and Fortran)
  • MINTO — integer programming solver using branch and bound algorithm. Freeware for personal use.
  • OptimJ — Java based modeling language. Free Edition includes support for lp_solve, GLPK and LP or MPS file formats
  • PottersWheel — Parameter estimation in ordinary differential equations (Free Matlab toolbox for academic use).
  • SCIP — Free only for research purpose as a member of a non-commercial and academic institution.
  • WORHP — free of charge for academic use.

HLBFGS算法建议使用微软刘洋老师的code

详见:http://research.microsoft.com/en-us/um/people/yangliu/software/hlbfgs/