The NLPC Nonlinear Optimization Solver

Overview

In nonlinear optimization, we try to minimize or maximize an objective function that can be subject to a set of constraints. The objective function is typically nonlinear in terms of the decision variables. If the problem is constrained, it can be subject to bound, linear, or nonlinear constraints. In general, we can classify nonlinear optimization (minimization or maximization) problems into the following four categories:

Since a maximization problem is equivalent to minimizing the negative of the same objective function, the general form of nonlinear optimization problems can, without loss of generality, be mathematically described as follows:

\displaystyle\mathop{\rm minimize}_{x\in{\mathbb r}^n} & f(x) \    \textrm{subject to}& c(x) \:\{\le | = | \ge\}\: b \    & l \le x \le u
where f(x): \mathbb{r}^n\mapsto\mathbb{r} is the nonlinear objective function; c(x):\mathbb{r}^n\mapsto\mathbb{r}^m are the functions of general nonlinear equality and inequality constraints, also referred to as the body of constraints ; b\in\mathbb{r}^m are the constant terms of the constraints, also referred to as the right-hand side (RHS); and l and u are lower and upper bounds on the decision variable x. If c(x) are all linear in x, the nonlinear optimization problem becomes a linearly constrained problem, which can be expressed as follows:
\displaystyle\mathop{\rm minimize}_{x\in{\mathbb r}^n} & f(x) \    \textrm{subject to}& a x \:\{\le | = | \ge\}\: b \    & l \le x \le u
where a\in \mathbb{r}^{mx n}. If a x \:\{\le | = | \ge\}\: b is not present, we have a bound constrained problem. If it is also true that l_i = -\infty and u_i = \infty for all i=1, ... ,n, we have an unconstrained problem in which x can take values in the entire {\mathbb r}^n space.

These different problem classes typically call for different types of algorithms to solve them. The algorithm(s) devised specifically to solve a particular class of problem might not be suitable for solving problems in a different class. For instance, there are algorithms that specifically solve unconstrained and bound constrained problems. For linearly constrained problems, the fact that the Jacobian of the constraints is constant enables us to design algorithms that are more efficient for that class.




Optimization Techniques and Types of Problems Solved

Previous Page | Next Page | Top of Page