Genetic algorithms (GAs) have the characteristic of maintaining a population of solutions and can search in a parallel manner for many nondominated solutions. These features coincide with the requirement of seeking a Pareto optimal set in a multiobjective (multicriteria, vector) optimization problem. The rationale for multiobjective optimization via GAs is that at each generation, the fitness of each individual is defined according to its nondominated property. Because nondominated individuals are assigned the highest fitness values, the convergence of a population will go to the nondominated zone: the Pareto optimal set. Based on this concept, a Pareto GA, whose goal is to locate the Pareto optimal set of a multiobjective optimization problem, is developed. In this GA, to avoid missing Pareto optimal points during evolutionary processes, a new concept called Pareto-set filter is adopted. At each generation, the points of rank 1 are put into the filter and undergo a nondominated check. In addition, a niche technique is provided to prevent genetic drift in population evolution. This technique sets a replacement rule for reproduction procedures. For a constrained optimization problem, a revised penalty function method is introduced to transfer a constrained problem into a nonconstralned one. The transferred function of a point contains information on a point's status (feasible or infeasible), position in a search region, and distance to the Pareto optimal set Two multiobjective optimization examples, a 25-bar space truss optimal design (objectives: structural weight and virtual work, constraints: stresses) and a four-bar pyramid truss with control system (objectives: structural weight and control effort, constraints: closed-loop frequencies) are provided to demonstrate analysis procedures of the proposed Pareto GA.