The simplest type of mathematical program is a linear program. For your mathematical program to be a linear program you need the following conditions to be true:
Linear expressions are any expression of the form
where the and
are known constants and
are variables. The process
of solving a linear program is called linear programing. Linear programing
is done via the Revised Simplex Method (also known as the Primal Simplex Method),
the Dual Simplex Method or an Interior Point Method. Some solvers like cplex
allow you to specify which method you use, but we won’t go into further detail
here.
Integer programs are almost identical to linear programs with one very important exception. Some of the decision variables in integer programs may need to have only integer values. The variables are known as integer variables. Since most integer programs contain a mix of continuous variables and integer variables they are often known as mixed integer programs. While the change from linear programing is a minor one, the effect on the solution process is enormous. Integer programs can be very difficult problems to solve and there is a lot of current research finding “good” ways to solve integer programs. Integer programs can be solved using the branch-and-bound process.
Note For MIPs of any reasonable size the solution time grows exponentially as the number of integer variables increases.