In artificial intelligence, evolutionary algorithms (EAs) have shown to be effective and robust in solving difficult optimization problems. EAs are generic population-based metaheuristic optimization algorithms. The mechanisms used in EAs are inspired by biological evolution: reproduction, mutation, recombination, and selection. The development of EAs can be classified into two categories: single objective and multi-objective optimization. In this thesis, both single objective and multi-objective evolutionary algorithms have been studied. For single objective optimization, various niching techniques are integrated with differential evolution (DE) and particle swarm optimization (PSO) for multi-modal optimization. Multi-modal optimization deals with optimization tasks that involve finding all or most of the global/local peaks in one single run. EAs in their original forms are usually designed for locating one single global solution. To promote and maintain formation of multiple stable subpopulations within a single population, we introduced a neighborhood mutation technique to enhance DE with ability of handling multi-modal problems. We also proposed a locally informed PSO to tackle multi-modal optimization. Beside these, several existing niching techniques from the literature were modified and improved by us. For multi-objective evolutionary algorithms, we proposed a summation of normalized objective values and diversified selection (SNOV-DS) method to replace the classical non-domination sorting. The process of classical non-domination sorting is complex and time consuming. By use of the proposed method, not only the simulation speed is increased, but also the performance of the algorithm is improved. We also introduced an ensemble of constraint handling methods (ECHM) to solve constrained multi-objective optimization problems, where each constraint handling method had its own population. ECHM allows different constraint handling methods to generate offspring and exchange information. In this way, the offspring produced by the most suitable constraint handling method will survive and be set as parents for next generation. Lastly, we applied the proposed algorithm to solve environmental/economic power dispatch problem. We demonstrated the superior performance of the proposed algorithm over other similar evolutionary algorithms reported in literature.