Water resources management presents a large variety of multi-objective problems that require powerful optimization tools to fully characterize the existing trade-offs. Different optimization methods, based on mathematical programming at first and on evolutionary algorithms (EA) more recently, have been applied with various degrees of success. This dissertation presents a multi-objective implementation of a relatively recent evolutionary technique called particle swarm optimization (PSO). The multi-objective PSO (MOPSO) algorithm was implemented as a generalized solver for Microsoft Excel, and applied to a set of test functions commonly used in the EA literature and to selected water resources management problems, including a classic multi-purpose reservoir operation problem, a problem of selective withdrawal from thermally stratified reservoirs, and a reservoir operation problem using storage guide curves with fuzzy objectives. Three other multi-objective solvers were developed: a second EA approach, using the non-dominated sorting genetic algorithm II (NSGA-II), a traditional mathematical programming method, the e-constraint with nonlinear optimization, and a pure random search approach. In most problems, the MOPSO and the NSGA-II algorithms provided good approximations to the true Pareto optimal sets. The NSGA-II algorithm seems to be more robust perfoming well in a wider range of problems, although MOPSO showed better performance for some problems. The main advantage of the MOPSO is associated with the simplicity of the algorithm. The basic MOPSO algorithm is much simpler and easier to implement than the NSGA-II. This makes MOPSO more flexible to accommodate necessary changes to deal with specific problems. A method to visualize and explore solutions of multi-objective optimization was introduced. The Interactive Compromise Coordinate (ICC) method allows the projection of all alternative solutions in a single unit circle graph. The decision maker (DM) can explore Pareto optimal sets and rank alternatives using a compromise programming approach based on weights that can be interactively changed. The method’s basic assumptions are that the DM’s preference structure can be modeled by a set of weights and that all alternatives are transitively comparable to each other, i.e. a complete preorder is obtainable. The mathematical basis for the method is presented and the method of projection is illustrated.