In this research, Particle Swarm Optimization (PSO) method, an evolutionary computation technique to find the global optimum value of a function using Matlab programming has been implemented. Effect of different parameters on the convergence of PSO method has been found out through experiments. Performance of PSO method in coping with unconstrained and constrained problems is investigated. For constrained problems a modified Augmented Lagrange Multiplier method is combined with PSO. The obtained results are compared with different evolutionary algorithms. PSO is applied to Multi-Objective Optimization (MO) problems. The ability of the PSO to detect Pareto Optimal points and capture the shape of the Pareto Front is studied. The weighted aggregation technique is considered for MO problems. MO PSO is applied for solving mechanical design problems and the results are encouraging. Original algorithm of PSO is modified to handle discrete and integer variables. Conclusions are derived and directions for future research are exposed.