En este módulo presentaremos algunas aplicaciones de los algoritmos genéticos en diferentes campos, como es la hidráulica, finanzas, biologÃa y combinatoria. El campo de aplicación de los algoritmos genéticos es muy vasto y abarca áreas como la hidráulica, economÃa, finanzas, medicina, investigación de operaciones, diseño, control, aeronáutica, sociales, quÃmica, por mencionar algunas de ellas. A continuación, presentaremos algunos ejemplos de aplicación, los cuales muestran la robustez de estos algoritmos. En las redes de distribución de agua potable, uno de los principales problemas son las fugas. Esta problemática puede tener diversas causas. Una de ellas es cuando se tienen presiones muy elevadas, lo cual provoca rompimiento en las tuberÃas. Para controlar las presiones se instalan válvulas reductoras de presión, para lo cual se debe de estimar el número mÃnimo de ellas, ya que cada válvula implica un costo, y la posición de dichas válvulas dentro de la red para poder regular las presiones. El problema crece cuando se habla de redes reales, las cuales presentan un gran número de tubos y conexiones. Para darle solución a este problema se planteó el uso de un algoritmo genético con una codificación binaria, con individuos de una longitud igual al número de tubos o tramos en la red. Un "cero" representa la ausencia de válvula en dicho tubo y un "uno", la presencia de válvula. Claramente, la función objetivo es minimizar el número de "unos", lo cual está asociado a un factor de costo y puede verse como la minimización de los costos de instalar, mantener y operar un cierto número de válvulas para mantener la red en funcionamiento. Esto es, el gasto, que es el suministro de agua, debe ser el adecuado en cada nodo, y las presiones deben estar dentro de los rangos de funcionamiento. Un planteamiento muy simple, pero efectivo. A partir de una red de un sector de la Ciudad de México, el algoritmo genético encontró una solución ingeniosa, la cual cumplÃa con los criterios y restricciones de evaluación pero con una válvula menos que la solución presentada por un experto, conocida hasta ese momento. Dicha solución permitÃa aislar sectores de la red en caso de fuga o reparaciones, sin afectar la red por completo. Otro ejemplo es el problema del plegado de proteÃnas, el cual ha sido uno de los eventos más estudiados durante el siglo XX en el campo de la bioquÃmica y la biofÃsica. Este problema, en primera instancia, se ha estudiado por medio de cristalizar las proteÃnas para, después, realizar una investigación empÃrica de su conformación. Pero, no todas las proteÃnas son susceptibles de estudiarlas mediante este proceso. Por lo anterior, se han buscado diversas alternativas para poder predecir su conformación. Uno de los métodos más utilizados es establecer modelos matemáticos para representar las proteÃnas, y el problema se reduce a uno de optimización por el hecho biológico de que la conformación buscada es la que desprende la menor energÃa termodinámica. El problema de plegado de proteÃnas es un problema NP. Asimismo, por la complejidad, se han propuesto diversos modelos simplificados de las proteÃnas para reducir tiempo de cómputo, necesario para tener una aproximación a la solución buscada, como los modelos basados en redes, modelos HP en dos y tres dimensiones. El modelo HP-2D está basado en el concepto de "colapso hidrofóbico del plegado", donde cada residuo de aminoácido se clasifica como "H", hidrofóbico, o "P", polar. Estos residuos se pliegan en una malla bidimensional sin que se enzimen. Los enlaces que unen a cada monómero sólo pueden ser verticales u horizontales. Este modelo sólo considera la interacción entre vecinos de monómeros H no enlazados, en lugar de los otros efectos no locales causados por los pares PP, HP y los PH, que no son vecinos. Tiene la ventaja de que el cálculo de su energÃa es muy eficiente porque sólo basta con sumar las contribuciones de los contactos HH no enlazados, que contribuyen con una energÃa de menos uno. Por lo tanto, la función objetivo a optimizar es la minimización de la energÃa dada por las interacciones de los residuos HH, y su codificación estará dada por una secuencia de bits de longitud "nr menos uno, por dos", donde "nr" representa el número de residuos en la secuencia de aminoácidos y se requieren dos bits para representar los movimientos de 90, 180, 270 y 360 grados. La selección de portafolios de inversión es un componente esencial de la administración de fondos ya que contribuye al crecimiento económico del inversionista. Esta selección consiste en una asignación eficiente de capital que le permite al inversionista obtener ganancias futuras en un ambiente de riesgo. AsÃ, la construcción de portafolios de inversión radica en encontrar la combinación óptima de rentabilidad de riesgo del portafolio, en función de una adecuada asignación de capital a los diversos activos. Por tanto, es un problema de optimización en el cual la función objetivo estará definida por la minimización del riesgo, sujeto a alcanzar cierto rendimiento con la restricción de no exceder el capital disponible. La codificación estará dada por "na por precisión", donde "na" es el número de activos y "precisión" es el número de bits para representar un porcentaje del capital a invertir en cada activo. El problema del agente viajero, "TSP" por sus siglas en inglés, tiene como objetivo encontrar la ruta que recorra todos los puntos o nodos de una red pasando sólo una vez por cada uno de ellos, la cual minimiza la distancia o tiempo del recorrido. Este problema es de sumo interés en el campo de la logÃstica, distribución y problemas de ruteo, cuyo espacio de búsqueda crece de manera exponencial al incrementar los nodos en la red, por lo que es un problema NP. La instancia más sencilla de este problema es cuando todos los nodos están conectados y es simétrico, esto es, la distancia de un nodo "i" a un nodo "j" es igual a la distancia del nodo "j" al nodo "i". Sin embargo, se tienen diversas variantes. Pero, partiendo de la instancia más sencilla, podemos formular el problema como la minimización de la distancia del recorrido al pasar por todos los nodos una sola vez, esto será la función objetivo. Y la codificación del individuo estará dada por una cadena binaria de longitud "n por logaritmo base dos de n", donde "n" representa el número de nodos de la red. Cabe mencionar que, al utilizar una codificación binaria, se tendrán nodos repetidos en el recorrido. Para este caso, la función objetivo deberá ser penalizada por cada nodo repetido que se encuentre en la secuencia. Es importante mencionar que se tienen propuestas de algoritmos genéticos con otro tipo de codificación, como es real o entera, lo cual permite tener una representación más acorde al problema. Sin embargo, el algoritmo genético binario es lo suficientemente robusto para aplicarlo en la solución de diversos problemas en diversos dominios.