When using AIMMS, there are several ways to use a broad set of solvers to solve your mathematical programs:
AIMMS, as a complete optimization modeling system, comes with all functionality to develop and create complete optimization applications. This means that a large set of mathematical model types (Linear, Mixed Integer, Nonlinear, Mixed Integer Nonlinear etc.) can be formulated within AIMMS. Depending on the solvers available with your license, you are able to solve the models at a requested performance (high and low performance solvers do exist for some model type).
As a service, we include the distributables of the COIN-OR solvers CBC (LP/MIP) and IPOPT (NLP) inside the installation package of AIMMS. These solvers are not owned or serviced by Paragon - they are by the open source community - but are providing a great basic set of solvers to start creating optimization applications without a direct need to purchase a commercial solver add-on.
In addition, AIMMS gives you the ability to solve models with mixed integer nonlinear programs (MINLP) using the AIMMS Outer Approximation (AOA) algorithm that is available in every AIMMS system. This AOA algorithm helps you with specifying an individual algorithm to obtain better performance and/or a better solution.
Additional solvers such as CPLEX, GUROBI, MOSEK, XA, CONOPT, MINOS, BARON, LGO, KNITRO, CP Optimizer etc. are available for extending your optimization capabilities in AIMMS. These commercially supported solvers are offered as add-ons to support a broader class of mathematical programs, or to boost performance and/or use alternative algorithms.
The AIMMS Open Solver Interface allows solver developers to link their solvers to AIMMS themselves. Any LP, MIP, NLP, QP or MCP solver can be linked to AIMMS using the AIMMS Open Solver Interface. In order for your solver to use the AIMMS Open Solver Interface your solver needs to be authorized by Paragon Decision Technology B.V. For this purpose you can apply for a so-called solver provider code that you need to include in your solver.