## What is Optimization?

Sunday, September 21, 2008 | Labels: Artificial Intelligence, Genetic Algorithms, Neural Networks, Optimization | 1 comments |Optimization is the process of finding the best solution (optimal solution) for a given problem. It is generally misunderstood that optimization is synonymous to maximization. The truth is that optimization may represent either maximization or minimization depending upon the type of problem at hand.

For example, the problem of finding a solution that provides the maximum profit for a given set of resources and constraints is a maximization problem. The same problem could be modeled as a minimization problem to find a solution that provides the minimum cost for a given set of resources and constraints.

Optimization can be of two types:

The global optimum is always unique whereas the local optimum could change for every run of the optimization process depending on the initial solution set. While global optimum is desirable, in some cases, it may not be possible to find the global optimum or to verify whether a given solution is the global optimum. Global optimization also requires more computational power.

Even though various optimization techniques exist, the best technique depends on the type of problem, the domain and the business requirements. The following are some of the well known optimization techniques:

For example, the problem of finding a solution that provides the maximum profit for a given set of resources and constraints is a maximization problem. The same problem could be modeled as a minimization problem to find a solution that provides the minimum cost for a given set of resources and constraints.

Optimization can be of two types:

- Global optimization and
- Local optimization

The global optimum is always unique whereas the local optimum could change for every run of the optimization process depending on the initial solution set. While global optimum is desirable, in some cases, it may not be possible to find the global optimum or to verify whether a given solution is the global optimum. Global optimization also requires more computational power.

Even though various optimization techniques exist, the best technique depends on the type of problem, the domain and the business requirements. The following are some of the well known optimization techniques:

- Linear Programming
- Integer Programming
- Mixed-Integer Programming
- Constraint Programming
- Genetic Algorithms
- Simulated Annealing
- Hopfield Neural Network