9
  INTELIGENCIA ARTIFICIAL Trabajo Práctico nº 4 Profesores:  Ing. Mario Figueroa  Ing. Pablo Rovarini Alumnos:  José Daniel Muccela Comisión: 5 k 2 Año 2008 Facultad Regional Tucumán Universidad Tecnológica Nacional Algoritmos Genéticos Optimización Mezcla Motores Nafteros

TPNº4-Algoritmos Genéticos

Embed Size (px)

Citation preview

5/13/2018 TPNº4-Algoritmos Gen ticos - slidepdf.com

http://slidepdf.com/reader/full/tpno4-algoritmos-geneticos 1/8

 

INTELIGENCIA ARTIFICIAL

Trabajo Práctico nº 4 

Profesores:

  Ing. Mario Figueroa  Ing. Pablo Rovarini

Alumnos:

  José Daniel Muccela

Comisión: 5 k 2

Año 2008

Facultad Regional TucumánUniversidad Tecnológica Nacional

Algoritmos Genéticos Optimización 

Mezcla Motores Nafteros 

5/13/2018 TPNº4-Algoritmos Gen ticos - slidepdf.com

http://slidepdf.com/reader/full/tpno4-algoritmos-geneticos 2/8

 Inteligencia Artificial 2008 - TPNº4 - Alg. Genéticos - Muccela José Daniel

UTN FRT1

TP Nº4 – Algoritmos GenéticosProblema: Optimización Mezcla para Motores Nafteros

Desarrollo

En la resolución del presente problema se tratará de encontrar la mejorsolución, esto es, encontrar los mejores valores para las variables queintervienen en el problema: Aire, Combustible y NOS. Estos valoresrepresentarán las partes de los componentes en la mezcla que se usará en elmotor para obtener una mayor potencia.

Se necesitan 3 variables que son los parámetros a considerar para eldesarrollo del modelo.

Estas variables son:

 Aire  Combustible  NOS 

Para resolverlo utilizaremos el software comercial Matlab versión 7.

Para ello seguimos los siguientes pasos:

•  Abrimos la herramienta Matlab.•  Creamos un nuevo archivo *.mat en el directorio que deseemos.En nuestro caso los archivos se crearon en el Current Directory  (‘C:\MATLAB7\work’).•  Se abre la ventana de programación de Matlab. En ella escribimosen la primera línea la definición de la función fitness, que vamos amaximizar y en una segunda línea la función misma.

-Línea 1 function F = tp4Mezcla (X)

-Línea 2  F = ((0.8*X(1))/(0.1*X(2))) + (0.1 * ((0.36*X(3))/(0.64*X(3))))

AIRE

Biela

Válvula

Bujía

Esquema deMotor a

combustión

5/13/2018 TPNº4-Algoritmos Gen ticos - slidepdf.com

http://slidepdf.com/reader/full/tpno4-algoritmos-geneticos 3/8

 Inteligencia Artificial 2008 - TPNº4 - Alg. Genéticos - Muccela José Daniel

UTN FRT2

Para la función fitness consideramos que en la mezcla interviene por unlado el aire con un porcentaje del 80 % de la mezcla y el combustible con unporcentaje del 10 % (variables X1 y X2, respectivamente) y por otro ladointerviene el NOS, otorgando a la mezcla inicial su parte de aire (oxígeno) ynitrógeno (variable X3) las cuales están representadas por su respectivo

porcentaje en que intervienen en la mezcla. O sea le corresponde el 10 %restante de la mezcla. De ese 10 %, 0.36 corresponden al aporte de aire quetiene el NOS; el 0.64 que queda es Nitrógeno, que se agrega al Combustible.

El cociente indica la relación entre el aire y el combustible de la mezcla.Procedemos a guardar el archivo; por defecto se guarda con el mismo

nombre especificado en la definición de la función. En nuestro casomantuvimos el nombre por defecto de la función: tp4Mezcla.mat .

•  Ahora nos dirigimos a la ventana principal del Matlab y en laventana de comandos escribimos gatool  para abrir la caja deherramientas para resolver problemas de Algoritmos Genéticos que

ofrece el programa.>> gatool 

•  Se nos abre una ventana que contiene múltiples opciones para laconfiguración y la inicialización de nuestro problema:

En ella comenzaremos a escribir los parámetros que usará Matlab pararesolver el problema.

5/13/2018 TPNº4-Algoritmos Gen ticos - slidepdf.com

http://slidepdf.com/reader/full/tpno4-algoritmos-geneticos 4/8

 Inteligencia Artificial 2008 - TPNº4 - Alg. Genéticos - Muccela José Daniel

UTN FRT3

En el primer cuadro de texto escribimos la directiva @nombredefunción .Esto significa que llama a la función que previamente creamos en el archivo*.mat (tp4Mezcla ).

En el siguiente cuadro especificamos el número de variables de lafunción de aptitud (fitness) del problema que como dijimos son X1, X2 y X3.

(Aire, Combustible y NOS, respectivamente).En el grupo Plots , se encuentran las opciones de gráfico, esto es, cuáles

serán las salidas que el sistema representará gráficamente para el algoritmogenético. Las más importante son Best fitness, Best individual, Selection.

Ahora configuramos las opciones para nuestro problema.En la sección Population especificamos nuestro tipo de población que

será un Double Vector (número decimal) ya que usaremos cantidades reales.

Especificamos cuantos individuos hay en cada generación en Population size .

Indicamos la función de creación: La creación predefinida function Uniform  crea una población inicial al azar con una distribución uniforme.Dejamos en blanco Inicial Population para que la función predefinida la cree.

Dejamos en blanco Inicial scores  para que el algoritmo compute lospuntajes de acuerdo a la función de aptitud (fitness).

A continuación vamos a especificar cuales serán las opciones para lasfunciones de Selección, Mutación, Reproducción, etc.

Para Fitness scaling nos basamos en posición de los individuos según elranking (Rank) que obtengan por la adecuación a la función fitness .

5/13/2018 TPNº4-Algoritmos Gen ticos - slidepdf.com

http://slidepdf.com/reader/full/tpno4-algoritmos-geneticos 5/8

 Inteligencia Artificial 2008 - TPNº4 - Alg. Genéticos - Muccela José Daniel

UTN FRT4

 

Para la selección elegimos el método de la ruleta, donde a cada

individuo se le asigna una porción de la torta. En este caso, a mayor tamaño dela porción mayor será su probabilidad de salir seleccionado.

Para la reproducción se considerará el método elitista, donde iránconservándose los mejores a medida que surjan las nuevas generaciones.

El porcentaje de cruza lo dejamos en 80 %. El restante es para lamutación.

Para la mutación elegimos hacerlo de manera uniforme con una taza demutación de 1 %. A veces no se llega a realizar la mutación. Caso contrariosólo sería con una frecuencia del 1 %. La mutación permite modificar un gen

del genoma de un individuo cualquiera con el fin de mejorarlo.Por ej:Cadena de bits: representan un individuo.

0 1 1 0 1 1 1 0 0 1

Queremos mutar un gen del genoma, supongamos el tercero. De estamanera el genoma quedaría:

0 1 0 0 1 1 1 0 0 1

Para la opción de Cruza (crossover) elegimos Two point.  Two pointselecciona dos enteros al azar m y n entre 1 y el Número de variables. El

algoritmo selecciona genes numerados menores o iguales a m del primerpadre, selecciona genes numerados m+1 a n del segundo padre, y selecciona

5/13/2018 TPNº4-Algoritmos Gen ticos - slidepdf.com

http://slidepdf.com/reader/full/tpno4-algoritmos-geneticos 6/8

 Inteligencia Artificial 2008 - TPNº4 - Alg. Genéticos - Muccela José Daniel

UTN FRT5

genes numerados mayor que n del primer padre. El algoritmo procede aencadenar estos genes para formar un solo gen. Por ejemplo,

p1 = [a b c d e f g h] p2 = [1 2 3 4 5 6 7 8] Punto de cruza (al azar) = 3,6 

El resultado es el siguiente: p3 = [a b c 4 5 6 g h] 

Por lo tanto para nuestro caso seleccionamos dos puntos de cruza.

Para el criterio de parada del algoritmo elegimos 100 generaciones.El resto de las opciones del criterio podemos dejarlas como están. Esto

producirá que en el caso de que no haya mejores soluciones que las queencontró en el proceso de cómputo del algoritmo parará antes de que se lleguea las 100 generaciones. De todas maneras si queremos probar las 100tenemos que especificar Inf en Time limit, Fitness limit, Stall generations y Stall time limit.

Las configuraciones especificadas hasta aquí son suficientes para correrel problema y analizar los resultados.

Para ello nos dirigimos a la derecha de la caja de herramientas

En esta sección sevisualizará elresultado del

cómputo y el motivoporque se detuvo elalgoritmo

Comenzar a correrel problema

5/13/2018 TPNº4-Algoritmos Gen ticos - slidepdf.com

http://slidepdf.com/reader/full/tpno4-algoritmos-geneticos 7/8

 Inteligencia Artificial 2008 - TPNº4 - Alg. Genéticos - Muccela José Daniel

UTN FRT6

En el momento que se está ejecutando vemos que se abre una ventanamostrando los gráficos que se seleccionamos en la sección Plots . En el sepuede ver como los gráficos van modificándose a medida que se realiza elcómputo. Al final del mismo, el resultado de la función fitness es mostrado en laimagen anterior. El mejor resultado encontrado para las variables se observará

en la siguiente imagen:

Para conservar la configuración que establecimos podemos guardarla dela siguiente manera:

Vamos al botón:

Esto nos abre una pequeña ventana que nos pregunta qué es lo quequeremos exportar:

Podemos seleccionar todas las opciones. Cabe mencionar que antes dela ejecución del problema las opciones 2 y 4 están deshabilitadas porque elalgoritmo todavía no computó el mismo.

Esto permitirá guardar las configuraciones, el problema y los resultadospara posteriores ejecuciones y análisis.

problema

configuración

problema

configuración

5/13/2018 TPNº4-Algoritmos Gen ticos - slidepdf.com

http://slidepdf.com/reader/full/tpno4-algoritmos-geneticos 8/8

 Inteligencia Artificial 2008 - TPNº4 - Alg. Genéticos - Muccela José Daniel

UTN FRT7

Resultados:

Puntos finales encontrados. Corresponden a los valores que toman lasvariables del problema.

Gráficos generados:

•  El primero de ellos muestra el mejor valor para la función fitness.•  El segundo hace referencia al mejor individuo actual.•  El tercero muestra la expectativa de adaptación de cada individuo.•  El cuarto muestra la adaptación de cada individuo.•  El quinto hace referencia a la selección de los individuos, deacuerdo al método de la ruleta que seleccionamos en la configuración.•  El sexto muestra los criterios de parada de ejecución delproblema. Como se ve aquí el problema se detuvo cuando finalizaron decomputarse todas las generaciones (100 en este caso).

El objetivo es encontrar la mejor combinación de los componentes queintervienen en la mezcla. De esta manera se obtiene un valor correspondiente

al Aire, al Combustible y al NOS. Esta será la mejor solución.