At the beginning of this course, a brief introduction will be given to optimization. The principle of optimization will be explained in detail. The working principles of some traditional tools of optimization, namely exhaustive search method, random walk method, steepest descent method will be discussed with suitable numerical examples. The drawbacks of traditional tools for optimization will be stated. The working principle of one of the most popular non-traditional tools for optimization, namely genetic algorithm (GA) will be explained in detailed. Schema theorem of binary-coded GA will be discussed. The methods of constraints handling used in the GA will be explained. The merits and demerits of the GA will be stated. The working principles of some specialized GAs, such as real-coded GA, micro-GA, visualized interactive GA, scheduling GA will be discussed with suitable examples. The principles of some other non-traditional tools for optimization, such as simulated annealing, particle swarm optimization will be explained in detail. After providing a brief introduction to multi-objective optimization, the working principles of some of its approaches, namely weighted sum approach, goal programming, vector-evaluated GA (VEGA), distance-based Pareto-GA (DPGA), non-dominated sorting GA (NSGA) will be explained with the help of numerical examples.