Many, if not most, optimization problems have multiple objectives. Historically, multiple objectives have been combined ad hoc to form a scalar objective function, usually through a linear combination (weighted sum) of the multiple attributes, or by turning objectives into constraints. The genetic algorithm (GA), however, is readily modified to deal with multiple objectives by incorporating the concept of Pareto domination in its selection operator, and applying a niching pressure to spread its population out along the Pareto optimal tradeoff surface. We introduce the Niched Pareto GA as an algorithm for finding the Pareto optimal set. We demonstrate its ability to find and maintain a diverse "Pareto optimal population " on two artificial problems and an open problem in hydrosystems. I. Introduction Genetic algorithms (GAs) have been applied almost exclusively to single-attribute 1 problems. But a careful look at many real-world GA applications reveals that the objective functions...