APOPT Development

Users of the Latest Release

One of the most accessible ways to be involved in the development of the software is to use the online software interface. There is an AMPL/Pyomo version of APOPT or an APMonitor version of APOPT and BPOPT.

Development Plans

Constraints

Two popular approaches for constraint handling are active-set and interior point methods. The APOPT solver uses an active-set method while the BPOPT solver uses an interior point method.

Detection of Infeasibility

For mixed-integer problems, an NLP solver that can quickly solve from a nearby solution or eliminate infeasible points is critical for overall convergence. A focus area in APOPT solver development is in detection of sub-optimal or infeasible solutions.

Parallel Computing

The best solvers are designed to exploit the abilities of multi-core computer architectures. With increasingly parallelized architectures, a solver must exploit these resources.

Source Code for Solver Development

APOPT maintains a development environment for mixed integer nonlinear programming (MINLP) solvers in MATLAB. The solvers are written in both a higher level programming language (MATLAB) and as an efficient compiled version (C++/Fortran). The development platform aids the testing of exploratory algorithms and techniques.