【首席架构师推荐】精选优化软件清单

Chinese, Simplified

给定一个输入和输出值之间的转换,描述一个数学函数f,优化处理生成和选择一个最佳解决方案从一些组可用的替代方案,通过系统地选择输入值在一个允许集,计算的输出功能,录音过程中发现的最好的输出值。许多实际问题都可以用这种方法建模。例如,输入可以是电机的设计参数,输出可以是功耗,或者输入可以是业务选择,输出可以是获得的利润。

优化问题,在本例中是最小化问题,可以用以下方式表示

给定:一个函数f:一个{\displaystyle \to}\to R,从某个集合a到实数

搜索:A中的一个元素x0,使得f(x0)≤f(x)对于A中的所有x。

在连续优化中,A是欧氏空间Rn的某个子集,通常由一组约束、等式或不等式来指定,这些约束、等式或不等式是A的成员必须满足的。在组合优化中,A是离散空间的某个子集,如二进制字符串、排列或整数集。

优化软件的使用要求函数f用合适的编程语言定义,并在编译或运行时连接到优化软件。优化软件将在A中提供输入值,实现f的软件模块将提供计算值f(x),在某些情况下,还将提供关于函数的附加信息,如导数。

这样就得到了一个清晰的关注点分离:不同的优化软件模块可以很容易地在同一个函数f上进行测试,或者给定的优化软件可以用于不同的函数f。

下表提供了根据许可证和业务模型类型组织的值得注意的优化软件列表。

 

Free and open-source software

Applications
Name License Description
ADMB BSD nonlinear optimization framework, using automatic differentiation.
ASCEND GPL mathematical modelling chemical process modelling system.
CUTEr GPL a testing environment for optimization and linear algebra solvers.
GNU_Octave GPL a software package featuring a high-level programming language, primarily intended for numerical computations; well recognized free alternative to MATLAB.
Scilab CeCILL a cross-platform numerical computational package and a high-level, numerically oriented programming language with free numerical optimization framework.
Software libraries
Name License Description
ALGLIB GPL dual licensed (GPL/commercial) nonlinear optimization library (unconstrained, box, linearly, nonlinearly-constrained, nonlinear and QP problems), optionally using automatic differentiation. Cross-language: C++, C#.
COIN-OR SYMPHONY EPL 1.0 integer programming
Dlib Boost Software License Unconstrained/box-constrained nonlinear/QP optimization library written in C++.
GEKKO MIT License machine learning and optimization of mixed-integer and differential algebraic equations in Python.
GLPK GPL GNU Linear Programming Kit, C API.
IPOPT CPL a large scale nonlinear optimizer for continuous systems (requires gradient), C++ (formerly Fortran and C).
J. D. Powell's

optimization suite
LGPL a set of Fortran 95 algorithms for (derivative-free, DFO) optimization subject to box and linear constraints: BOBYQA – DFO, box; COBYLA – DFO, nonlinearly constrained; LINCOA – DFO, linearly constrained; NEWUOA and UOBYQA – DFO, unconstrained; TOLMIN – linearly constrained.
MIDACO Dual (Commercial, BY-NC-ND) a lightweight software tool for single- and multi-objective optimization based on evolutionary computing. Written in C/C++ and Fortran with gateways to Excel, VBA, Java, Python, Matlab, Octave, R, C# and Julia.
MINUIT (now MINUIT2) LGPL an unconstrained optimizer internally developed at CERN.
OpenMDAO Apache License Multidisciplinary Design, Analysis, and Optimization (MDAO) framework, written in Python. The development is led out of the NASA Glenn Research Center, with support from the NASA Langley Research Center.
OptaPlanner Apache License a lightweight, embeddable planning engine written in Java. It solves constraint satisfaction problems with construction heuristics and metaheuristic algorithms.
SciPy BSD a general numeric package for Python, with some support for optimization.

Proprietary software

  • AIMMS – optimization modeling system, including GUI building facilities.
  • ALGLIB – dual licensed (GPL/commercial) constrained quadratic and nonlinear optimization library with C++ and C# interfaces.
  • Altair HyperStudy – design of experiments and multi-disciplinary design optimization.
  • AMPL – modelling language for large-scale linear, mixed integer and nonlinear optimization.
  • ANTIGONE – a deterministic global optimization MINLP solver.
  • APMonitor – modeling language and optimization suite for large-scale, nonlinear, mixed integer, differential and algebraic equations with interfaces to MATLAB, Python, and Julia.
  • Artelys Knitro – large scale nonlinear optimization for continuous and mixed-integer programming.
  • ASTOS – AeroSpace Trajectory Optimization Software for launcher, re-entry and generic aerospace problems.
  • BARON – optimization of algebraic nonlinear and mixed-integer nonlinear problems.
  • COMSOL Multiphysics – a cross-platform finite element analysis, solver and multiphysics simulation software.
  • CPLEX – integer, linear and quadratic programming.
  • FEATool Multiphysics – FEA GUI Toolbox for MATLAB
  • FICO Xpress – integer, linear and quadratic and nonlinear programming.
  • FortMP – integer, linear and quadratic programming.
  • FortSP – stochastic programming.
  • GAMS – General Algebraic Modeling System.
  • Gurobi – integer, linear and quadratic programming.
  • 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) a multiobjective, multidimensional nonlinear optimization technology.
  • Kimeme – an open platform for multi-objective optimization and multidisciplinary design optimization.
  • LINDO - (Linear, Interactive, and Discrete Optimizer) a software package for linear programming, integer programming, nonlinear programming, stochastic programming, and global optimization. The "What's Best!" Excel add-in performs linear, integer, and nonlinear optimization using LINDO.
  • LIONsolver – an integrated software for data mininganalyticsmodeling Learning and Intelligent OptimizatioN and reactive business intelligence approach.
  • modeFRONTIER – an integration platform for multi-objective and multi-disciplinary optimization, which provides a seamless coupling with third party engineering tools, enables the automation of the design simulation process, and facilitates analytic decision making.
  • Maple – linear, quadratic, and nonlinear, continuous and integer optimization. Constrained and unconstrained. Global optimization with add-on toolbox.
  • MATLAB – linear, integer, quadratic, and nonlinear problems with Optimization Toolbox; multiple maxima, multiple minima, and non-smooth optimization problems; estimation and optimization of model parameters.
  • MIDACO a lightweight software tool for single- and multi-objective optimization based on evolutionary computing. Written in C/C++ and Fortran with gateways to Excel, VBA, Java, Python, Matlab, Octave, R, C# and Julia.
  • Mathematica – large-scale multivariate constrained and unconstrained, linear and nonlinear, continuous and integer optimization.
  • ModelCenter – a graphical environment for integration, automation, and design optimization.
  • 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.
  • NMath – linear, quadratic and nonlinear programming.
  • 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.
  • optiSLang – software solutions for CAE-based sensitivity analysis, optimization and robustness evaluation.
  • 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.
  • PottersWheel – parameter estimation in ordinary differential equations (MATLAB toolbox, free for academic use).
  • pSeven — software platform for automation of engineering simulation and analysis, multidisciplinary optimization and data mining, developed by DATADVANCE.
  • SAS – a software suite developed by SAS Institute for advanced analytics (statistics, forcasting, machine learning, optimization, etc.), business intelligence, customer intelligence, data management, risk management, and many more.
  • SmartDO – multidisciplinary global design optimization, specialized in computer-aided engineering (CAE). using the direct global search approaches.
  • SNOPT – large-scale optimization problems.
  • The Unscrambler X – product formulation and process optimization software.
  • TOMLAB – supports global optimization, integer programming, all types of least squares, linear, quadratic and unconstrained programming for MATLAB. TOMLAB supports solvers like GurobiCPLEXSNOPTKNITRO and MIDACO.
  • VisSim – a visual block diagram language for simulation and optimization of dynamical systems.
  • WORHP – a large-scale sparse solver for continuous nonlinear optimization.

Freeware/free for academic use

See also

 

原文:https://en.wikipedia.org/wiki/List_of_optimization_software

本文:

讨论:请加入知识星球或者小红圈【首席架构师圈】

SEO Title
List of optimization software