# Solving Mathematical Programs

Mathematical program components

A mathematical program consists of

• a set of unknowns to be determined,

• a collection of constraints that has to be satisfied, and

• an (optional) objective function to be optimized.

The aim of a mathematical program is to find a solution with the aid of a solver such that the objective function assumes an optimal (i.e. minimal or maximal) value.

Different types

Depending on the characteristics of the variables and constraints, a mathematical program in AIMMS can be classified as one of the following.

• If the objective function and all constraints contain only linear expressions (in terms of the variables), and all variables can assume continuous values within their ranges, then the program is a linear program.

• If some of the variables in a linear program can assume only integer values, then the program is a linear mixed integer program.

• If the objective is a quadratic function in terms of the variables while the constraints are linear, then the program is a quadratic program.

• If the objective is neither linear nor quadratic, or some of the constraints contain nonlinear expressions, the program is a nonlinear program.

AIMMS will automatically call the appropriate solver to find an (optimal) solution.

This chapter

This chapter first discusses the declaration of a mathematical program, together with auxiliary functions that you can use to specify its set of variables and constraints. The `SOLVE` execution statement needed to solve any type of mathematical program is presented, and, finally, AIMMS’ capabilities to help resolve infeasibilities in your model are discussed.