Optimization is an effort to find the best result within certain condition. In engineering design, an engineer has to make decision at various stages. The purpose of this decision is to minimize effort or to maximize benefit. Since both effort and benefit can be stated as functions of some variables, optimization can be defined as an effort to find condition that can maximize or minimize the value of a function. The function is called objective function

If there is one objective function that must be minimized or maximized the case is called single-objective optimization. Nonetheless, in many engineering design case, there are more than one variable that must be considered. Therefore, there are more than one objective function that has to be optimized simultaneously. This case is called multi-objective optimization.

It is not easy to solve multiobjective optimization problem because there are conflict among the optimized variables. This conflict arises because some variables belong to effort side and the others belong to benefit side. For example, consider the design of an airfoil. There are at least two variables that must be considered, lift force and drag force. Lift force represents the benefit. We always want lift force as high as possible. Drag force represents the effort. We want it as low as possible because it relates to fuel consumption. Design point where the lift is maximum possibly not the point where the drag is minimum.

Therefore, there is no optimum feasible solution for all objectives. The solutions that give minimum conflict among objectives are called pareto optimal solution. If we have two objectives and plot the pareto into Cartesian coordinate with both objectives as the axis, the pareto solution will take form of a line. If we have three variables, it will take form of a surface. These line and surface is called true pareto front. Decision about which solution that should be taken as design point is left for engineering judgment about the importance rank of those variables.

In the past this relative ranks were predetermined before the optimization problem is solved. This gives birth to classic method to solve multi-objective optimization problem, the weighing method. This approach gives weight to the objectives variables, treats them as single variable, and solves it using conventional method for single-objective optimization. This method will only produce one solution point.

Modern approach to solve multi-objective optimization problem is to use meta-heuristic method like genetic algorithm, particle swarm, or ant colony method. These methods are inspired by various autonomous optimization processes that occur in the nature. These methods are superior to weighing method because they can produce the pareto front.

Applying optimization method to design process is different than optimizing existing system. When optimizing an existing system, we are interested in finding input configuration that yield the best output or minimum effort. When designing a system we try to find system configuration (geometry, dimension, component type) that yield the best output.

In reality, the relationship of geometry or dimension to system output is governed not by algebraic equation but by differential equation that mostly partial and non linier. For example, fluid system is governed by Navier-Stokes equation; thermal system is governed by convection-diffusion equation. For complex geometry, those equations can only be solved numerically.

Whether it is single-objective or multi-objective, conventional method that depends on objective function manipulation can’t solve this kind of problem. This is the point where meta-heuristics method takes over. Meta-heuristics method doesn’t depend on objective function manipulation. It only needs to know the value of the objectives regardless the method. Therefore, we can combine mete-heuristics method with numerical method to solve this kind of optimization problem.