Sunday, October 12, 2008

A Brief Introduction to Mathematical Programming

Mathematical Programming is a powerful framework for decision making. It helps us to systematically model a set of possible decisions and search for the optimal one(s). In this framework, the objective and constraints are formulated as mathematical functions of parameters and variables x, let say f(x) and g(x), respectively. Notice that bold faces indicate that they are vectors and matrices. These functions are typically algebraic. Thus, the general form of a mathematical program is the following:

minimize f(x)

subject to g(x) = 0

Maximize f(x) can be treated as minimize -f(x). Inequalities can be transformed into equalities g(x) = 0 by introducing slack and surplus variables.


There are several classes of mathematical programming. Linear Programming (LP) concerns with cases in which f(x) and g(x) are linear functions while Nonlinear Programming (NLP) deals with cases with at least one of the functions is nonlinear. All variables involved in LP and NLP are continuous, they can take any real numbers satisfying the constraints. If some variables have to take discrete values then the corresponding equivalents for LP and NLP are Mixed Integer Linear Programming (MILP) and Mixed Integer Nonlinear Programming (MINLP).

How can we utilize mathematical programming to attack The Farmer Bill's Problem ?

No comments: