An airfoil shape optimization problem with conflicting objectives is handled using two different multi-objective approaches. These are an a priori scalarization approach where the conflicting objectives are assigned weights and summed together to form a single objective, and the Pareto-optimal multi-objective approach. The optimization formulations for both approaches contain challenging numerical characteristics which include noise, multi-modality and undefined regions. Gradient-, surrogate- and population-based single objective optimization methods are applied to the `a priori' formulations. The gradient methods are modified to improve their performance on noisy problems as well as to handle undefined regions in the design space. The modifications are successful but the modified methods are outperformed by the surrogate methods and population based methods. Population-based techniques are used for the Pareto-optimal multi-objective approach. Two established optimization algorithms and two custom algorithms are implemented. The custom algorithms use fitted unrotated hyper ellipses and linear aggregating functions to search the design space for non-dominated designs. Various multi-objective formulations are posed to investigate different aspects of the airfoil design problem. The non-dominated designs found by the Pareto-optimal multi-objective optimization algorithms are then presented.