Los sistemas de distribución primaria contienen asimetrías en los circuitos ramales y en las cargas que son la fuente del desequilibrio de las corrientes de fase. Este trabajo define el problema de balanceo de fases como la minimización de tres objetivos: el desequilibrio máximo de corriente en puntos seleccionados del circuito para todas las posibles condiciones de funcionamiento; las pérdidas en los conductores del alimentador primario; y el número de reconexiones necesarias para alcanzar los dos objetivos anteriores. Para resolver este problema se ha desarrollado una aplicación de Matlab basada en el algoritmo genético de clasificación no dominada. El programa de optimización se complementa con una aplicación desarrollada para estimar las cargas del circuito a partir de las mediciones disponibles. Los resultados obtenidos en cinco circuitos de distribución de la ciudad de Santa Clara se presentan para mostrar las ventajas del enfoque presentado.