Este documento presenta las especificaciones de un trabajo práctico sobre algoritmos genéticos. El objetivo es minimizar dos funciones usando un algoritmo genético implementado en un programa. El estudiante debe diseñar el programa, ejecutar corridas, analizar los resultados y presentar un informe con el código y los hallazgos.
1. 350 TP Lapso 2015-2 1/6
Especialista: María E. Mazzei Ingeniería de Sistemas Evaluador: Sandra Sánchez
TRABAJO PRÁCTICO
ASIGNATURA: Computación Evolutiva
CÓDIGO: 350
FECHA DE ENTREGA AL ESTUDIANTE: Adjunto a la Primera Prueba
Parcial
FECHA DE DEVOLUCIÓN POR PARTE DEL ESTUDIANTE: Adjunto
a la Prueba Integral
NOMBRE DEL ESTUDIANTE:
CÉDULA DE IDENTIDAD:
CORREO ELECTRÓNICO DEL ESTUDIANTE:
TELÉFONO:
CENTRO LOCAL:
CARRERA: 236
LAPSO ACADÉMICO: 2015-2
NUMERO DE ORIGINALES:
FIRMA DEL ESTUDIANTE:
UTILICE ESTA MISMA PÁGINA COMO CARÁTULA DE SU TRABAJO
PRÁCTICO
RESULTADOS DE CORRECCIÓN:
OBJ. N° 8
0:NL 1:L
UNIVERSIDAD NACIONAL ABIERTA
VICERRECTORADO ACADÉMICO
AREA: INGENIERÍA
2. 350 TP Lapso 2015-2 2/6
Especialista: María E. Mazzei Ingeniería de Sistemas Evaluador: Sandra Sánchez
Especificaciones: Este trabajo práctico se basará en el objetivo N° 8,
correspondiente al Módulo IV. En él se evidenciará las destrezas y
habilidades adquiridas por el estudiante, al momento de resolver
problemas del mundo real, empleando conceptos y técnicas
relacionadas con los algoritmos evolutivos, inteligencia social o
enfoques afines.
TRABAJO PRÁCTICO
COMPUTACIÓN EVOLUTIVA (350)
Problema de minimización de dos funciones
El propósito de este trabajo es inducir al estudiante en la
experimentación de la técnica del Algoritmo Genético en la
minimización de dos funciones. Estas funciones pertenecen al banco
de funciones de prueba para problemas de optimización y se emplean
para probar y validar el desempeño y la fortaleza de las diferentes
técnicas evolutivas.
Las funciones a considerar son las siguientes:
1- Función de Ackley 1
1 2 1
1 1
0,02 cos(2 )
1( ) 20 20
D D
i i
i i
D x D x
f x e e e
π− −
= =
− ∑ ∑
= − − + +
-35 ≤ xi ≤ 35
2- Función de Ackley 2
2
1
0,02
2( ) 200
D
i
i
x
f x e =
− ∑
= −
-32 ≤ xi ≤ 32
Para i = 1, 2, 3
3. 350 TP Lapso 2015-2 3/6
Especialista: María E. Mazzei Ingeniería de Sistemas Evaluador: Sandra Sánchez
En este trabajo se propone el empleo del Algoritmo Genético, para la
minimización de cada una de las funciones. Para ello desarrolle un
programa que implemente el algoritmo. A continuación se expone un
esquema del algoritmo AG que se debe emplear:
Algoritmo AG
Comienzo
0:Generar una población de n cromosomas (o individuos).
1:Calcular fitness de cada individuo.
Crear una nueva población:
2:Seleccionar dos padres según algún mecanismo de
selección.
3:Cruzar ambos padres para obtener un hijo(nuevo
individuo).
4:Con una probabilidad p mutar un gen del cromosoma,
obtenido del cruce.
5:Eliminar el peor individuo de la población formada por
la actual más el individuo nuevo.
6:Si se satisface la condición de parada, finalizar.
Si no, repetir desde el paso (2).
Fin
Instrucciones sobre el Programa a elaborar
• Genere una población de 10 o 20 individuos en sus diferentes
pruebas. Para ello emplee números aleatorios tomando en cuenta
el cubo de dominio de la función.
• Guarde en memoria del mejor individuo y su fitness.
• Emplee un mecanismo de selección fijado por Ud.
4. 350 TP Lapso 2015-2 4/6
Especialista: María E. Mazzei Ingeniería de Sistemas Evaluador: Sandra Sánchez
• Elija al azar el gen que se va a mutar según la condición
establecida.
• Para efectuar una mutación se puede fijar un valor m = 0,45. Se
genera un número aleatorio en [0,1], si el número resulta menor que
m se realiza una mutación en cada gen, en caso contrario se deja el
cromosoma sin alteraciones.
• Se debe establecer un criterio de parada, por ejemplo un número
máximo de iteraciones o la cercanía de los valores de f entre dos
soluciones.
• Realice 10 corridas para cada función a minimizar.
El estudiante implementará el programa, bien sea empleando un
lenguaje de programación como Pascal, C, ó C++ o cualquier otro que
le permita emplear las funciones propuestas para obtener la solución
del problema.
Instrucciones generales sobre el Trabajo Práctico
El estudiante debe entregar lo siguiente:
• Una carpeta que contenga un informe que incluya lo siguiente:
1- Explique cómo diseñó cada individuo o solución.
2- Indique cuál es la función de fitness.
3- Explique cómo generó los números aleatorios.
4- Explique cómo manejó qué método empleó para la selección
de los padres que se cruzarán en cada iteración.
5- Indique el lenguaje de programación empleado.
Si emplea algún lenguaje de programación, entregue un
listado documentado del programa fuente y el programa
ejecutable. En el encabezado de cada procedimiento, función
5. 350 TP Lapso 2015-2 5/6
Especialista: María E. Mazzei Ingeniería de Sistemas Evaluador: Sandra Sánchez
o sección del código que lo requiera, debe incluir un breve
comentario del proceso que se realiza. Igualmente es
conveniente hacerlo en la definición de las estructuras de
datos y variables utilizadas.
6- Listado de los resultados, obtenidos en cada corrida. Puede
emplear corridas con diferentes límites de iteraciones, o
niveles de tolerancia al medir la cercanía de las soluciones o
variar el tamaño de la población. Incluya en una tabla las
soluciones obtenidas en cada una de las corridas y si obtuvo
o no diferentes soluciones (algunas subóptimas). Explique a
qué se debe este fenómeno.
5- Conclusiones: Escriba las conclusiones obtenidas al aplicar el
Algoritmo Genético en la resolución del problema. Explique
sus consideraciones sobre la potencialidad de esta técnica en
la resolución de problemas de este tipo. No responda con
aspectos generales tomados de alguna fuente
relacionada con los Algoritmos Genéticos.
• Un disco compacto (CD). El mismo debe contener el programa
fuente y el programa ejecutable (.exe), en caso de requerir un
compilador. Si empleó otro lenguaje deberá enviar las instrucciones
para su ejecución. En este caso procure ejecutarlo desde el CD,
en otro computador, a fin de determinar si el programa funciona. De
esta manera se evitan los retrasos en la entrega de calificaciones,
ya que en algunos casos deben hacerse llamadas urgentes, con las
posibles fallas de comunicación, que podrían perjudicar la
calificación del trabajo.
El CD debe estar libre de virus, rotulado con el nombre del
estudiante, el Centro Local y entregarse en un sobre, conjuntamente
con el listado del programa y los resultados.
• El trabajo desarrollado se entregará completo, adjunto a la prueba
integral.
6. 350 TP Lapso 2015-2 6/6
Especialista: María E. Mazzei Ingeniería de Sistemas Evaluador: Sandra Sánchez
• Recuerde incluir su dirección de correo electrónico con sus datos
personales, en la portada del informe, para establecer contactos,
en caso que se requiera.
Criterio de corrección
Se considera logrado el objetivo si al menos se cumple con lo
siguiente:
El programa funciona correctamente de acuerdo a lo indicado y
obtiene la solución de los dos problemas.
Entrega de un informe que incluya todo lo solicitado en las
secciones previas.
Entrega el listado documentado del programa o código.
Entrega el listado de los resultados.
Entrega de un CD que contenga todo lo especificado en la sección
anterior.
FIN DE LAS ESPECIFICACIONES DEL T.P.
NOTA: Los Trabajos Prácticos son estrictamente individuales y una
producción inédita del estudiante, cualquier indicio que ponga en duda su
originalidad, será motivo para su anulación. Queda a discreción del asesor
o profesor corrector, solicitar una verificación de los objetivos contemplados
en el mismo, únicamente en aquellos casos en los que se vea
comprometida la originalidad de la autoría del presente trabajo práctico.