APOPT (for Advanced Process OPTimizer) is a software package for solving large-scale
optimization
Mathematical optimization (alternatively spelled ''optimisation'') or mathematical programming is the selection of a best element, with regard to some criteria, from some set of available alternatives. It is generally divided into two subfiel ...
problems of any of these forms:
*
Linear programming
Linear programming (LP), also called linear optimization, is a method to achieve the best outcome (such as maximum profit or lowest cost) in a mathematical model whose requirements and objective are represented by linear function#As a polynomia ...
(LP)
*
Quadratic programming
Quadratic programming (QP) is the process of solving certain mathematical optimization problems involving quadratic functions. Specifically, one seeks to optimize (minimize or maximize) a multivariate quadratic function subject to linear constr ...
(QP)
*
Quadratically constrained quadratic program (QCQP)
*
Nonlinear programming (NLP)
*
Mixed integer programming (MIP)
*
Mixed integer linear programming (MILP)
*
Mixed integer nonlinear programming (MINLP)
Applications of the APOPT include
chemical reactor
A chemical reactor is an enclosed volume in which a chemical reaction takes place. In chemical engineering, it is generally understood to be a process vessel used to carry out a chemical reaction, which is one of the classic unit operations in che ...
s,
friction stir welding, prevention of hydrate formation in deep-sea pipelines,
computational biology
Computational biology refers to the use of techniques in computer science, data analysis, mathematical modeling and Computer simulation, computational simulations to understand biological systems and relationships. An intersection of computer sci ...
,
solid oxide fuel cells, and flight controls for
Unmanned Aerial Vehicles (UAVs).
Benchmark Testing
Standard benchmarks such as
CUTEr and
SBML curated models are used to test the performance of APOPT relative to solvers
BPOPT,
IPOPT
IPOPT, short for "Interior Point OPTimizer, pronounced I-P-Opt", is a software library for large scale nonlinear optimization of continuous systems.
It is written in C++ (after migrating from Fortran and C) and is released under the EPL ( ...
,
SNOPT, and
MINOS
Main injector neutrino oscillation search (MINOS) was a particle physics experiment designed to study the phenomena of neutrino oscillations, first discovered by a Super-Kamiokande (Super-K) experiment in 1998. Neutrinos produced by the NuMI ...
. A combination of APOPT (Active Set SQP) and
BPOPT (Interior Point Method) performed the best on 494 benchmark problems for solution speed and total fraction of problems solved.
See also
* APOPT is supported in
AMPL
AMPL (A Mathematical Programming Language) is an algebraic modeling language to describe and solve high-complexity problems for large-scale mathematical computing (e.g. large-scale optimization and scheduling-type problems).
It was developed ...
,
APMonitor,
Gekko
''Gekko'' is a genus of Southeast Asian geckos, Common name, commonly known as true geckos or calling geckos, in the Family (biology), family Gekkonidae. Although species such as ''Gekko gecko'' (tokay gecko) are very widespread and common, some ...
,
Julia,
MATLAB
MATLAB (an abbreviation of "MATrix LABoratory") is a proprietary multi-paradigm programming language and numeric computing environment developed by MathWorks. MATLAB allows matrix manipulations, plotting of functions and data, implementat ...
,
Pyomo
Pyomo is a collection of Python software packages for formulating optimization models.
Pyomo was developed by William Hart and Jean-Paul Watson at Sandia National Laboratories and David Woodruff at University of California, Davis. Significan ...
, and
Python.
References
External links
*
Web interface to solve optimization problemswith the APOPT solver
Download APOPT for AMPL, MATLAB, Julia, Python, or APMonitor
{{DEFAULTSORT:Apopt
Numerical software
Mathematical optimization software