Dr. Carlos Artemio Coello Coello Tarea No de mayo de 2012

Documentos relacionados
Introducción a la Computación Evolutiva. Variantes de representación y selección

Tarea 0. Fecha de entrega: 10 de octubre de de octubre de La tarea se entrega en una única exhibición.

Análisis Numérico: Soluciones de ecuaciones en una variable

Análisis Numérico para Ingeniería. Clase Nro. 7

Optimización en Ingeniería

Lenguajes de Programación

3 RAÍCES REALES DE ECUACIONES NO-LINEALES. 3.1 Método de la bisección

EXAMEN PARCIAL DE METODOS NUMERICOS (MB536)

OCW-V.Muto El algoritmo de bisección Cap. VI CAPITULO VI. EL ALGORITMO DE BISECCION 1. INTRODUCCION Y METODO

Análisis Numérico para Ingeniería. Clase Nro. 7

SOLUCIÓN NUMÉRICA DE ECUACIONES ALGEBRAICAS Y TRASCENDENTES

310. T. P. Versión 1 Trabajo Práctico 1/5 Lapso

Optimización en Ingeniería

Dada f : [a, b] R R, continua, se plantea el problema de encontrar ceros de f, es decir raíces de la ecuación

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERÍA DEPARTAMENTO DE MATEMÁTICA. CLAVE V _sR

SOLUCIÓN NUMÉRICA DE ECUACIONES ALGEBRAICAS Y TRASCENDENTES

PROBABILIDAD Y ESTADÍSTICA ININ4010 Prof. DAVID GONZÁLEZ BARRETO SOLUCIÓN ASIGNACIÓN 6

Soluciones de ecuaciones de una variable

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS, DEPARTAMENTO DE MATEMATICA

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERÍA DEPARTAMENTO DE MATEMÁTICA CLAVE M

OCW-V.Muto Métodos de interpolación Cap. XI CAPITULO XI. METODOS DE INTERPOLACION 1. EL METODO DE INTERPOLACION DE LA POSICION FALSA

APÉNDICE A ESCUELA SUPERIOR POLITECNICA DEL LITORAL INSTITUTO DE CIENCIAS MATEMATICAS INGENIERIA EN ESTADISTICA E INFORMATICA

PRÁCTICA No. 2 RAÍCES DE ECUACIONES CON MÉTODOS ABIERTOS

METODOS NUMERICOS TALLER 3, SEMESTRE

Análisis Numérico para Ingeniería. Clase Nro. 7

ANÁLISIS NUMÉRICO. 4 horas a la semana 6 créditos Cuarto semestre

UNIVERSIDAD DE SONORA Unidad Regional Centro División de Ingeniería Departamento de Ingeniería Química y Metalurgia Asignatura: Métodos Numéricos

Curso: Métodos de Monte Carlo. Unidad 2, Sesión 3: Estimación de volúmenes

ANÁLISIS NUMÉRICO. 4 horas a la semana 8 créditos Cuarto semestre

Nombre del Documento: Formato para Planeación del curso, Avance Programático (SYLLABUS).

Solución de Ecuaciones No Lineales.

MÉTODOS NUMÉRICOS. Curso o. B Resolución de ecuaciones I (ecuaciones generales f (x) = 0)

Modelos para variables aleatorias continuas en R

Práctica 8 Resolución de ecuaciones y sistemas de ecuaciones con Mathematica

Despejando, se tienen las siguientes ecuaciones de la forma : a) b)

Benemérita Universidad Autónoma de Puebla Facultad de Ciencias de la Computación Área de Programación

E.T.S. Minas: Métodos Matemáticos Ejercicios Tema 4 Métodos iterativos para sistemas de ecuaciones

Tarea 3 Búsqueda por Interpolación y Extrapolación

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS, DEPARTAMENTO DE MATEMATICA

1. Una variable aleatoria X sigue una distribución binomial con parámetros m = 3 y p =0.2.

Planteamiento del problema del servidor de video

Tema 5: Resolución aproximada de ecuaciones

SESIÓN DE EJERCICIOS E1

Para verificar que el sistema converge se deberán cumplir con las siguientes condiciones en las formulas con derivadas parciales:

COMPUTACIÓN BIOLÓGICA

Tema: Funciones, Procedimientos y Recursividad en C#.

Tema: Funciones, Procedimientos y Recursividad en C#.

Pineda Fecha de elaboración: 28 de mayo de 2010 Fecha de última actualización: Seriación implícita Conocimientos de cálculo diferencial e integral

Laboratorio 02: Ejercicios de programación en C

Tema 3. Estructuras de Datos

E.T.S. Minas: Métodos Matemáticos Soluciones Tema 3 Resolución aproximada de ecuaciones

Parte 1: Errores de redondeo. 1. Calcule el error absoluto y el error relativo en las aproximaciones de p mediante p para:

MATERIA: ESTADÍSTICA EJEMPLOS DE POSIBLES PREGUNTAS DE EXAMEN. a. Cuáles son las escalas en que pueden estar los datos en un análisis estadístico.

Unidad VI Algoritmos Genéticos

Introducción a la optimización con algoritmos. Ejercicios. 0 2 f(x + t(y x))(y x)dt. J(x + t(y x))(y x)dt siendo J la matriz Jacobiana de F.

Métodos Numéricos CÓDIGO: Teórico - Práctico. Agosto 5 de 2018.

EXAMEN PARCIAL DE METODOS NUMERICOS (MB536)

E.T.S. Minas: Métodos Matemáticos Soluciones Tema 3: Resolución aproximada de ecuaciones

Optimización. Escuela de Ingeniería Informática de Oviedo. (Dpto. de Matemáticas-UniOvi) Computación Numérica Optimización 1 / 19

Ejercicios de optimización sin restricciones

GUIA 2: Repaso sobre uso de C#. Funciones, métodos y arreglos.

CÁLCULO DE RAÍCES DE ECUACIONES NO LINEALES. Por Frednides Guillén

Metodos Numéricos Tema: Solución de ecuaciones no lineales

Centro Universitario UAEM Zumpango Ingeniería en Computación

UNL - FICH - Departamento de Informática - Ingeniería en Informática. Inteligencia Computacional. Guía de trabajos prácticos 3.

350 -M/R Versión 1 2da Prueba Parcial 1/8 SEMANA 48 LAPSO ASIGNATURA: COMPUTACIÓN EVOLUTIVA CÓDIGO: 350

Examen de Teoría de (Introducción al) Reconocimiento de Formas

OPERADORES LÓGICOS Y RELACIONALES. CICLOS Y ESTRUCTURAS DE CONTROL. MÉTODOS DE RESOLUCIÓN DE UNA ECUACIÓN NO LINEAL.

Práctica IV: Métodos de Newton-Raphson y de la secante, para encontrar las raíces de una función.

Descripción del problema:

Optimización en Ingeniería

Introducción al algoritmo de máxima pendiente. Análisis de estabilidad y convergencia

Método de la secante

CURSO DE METODOS NUMERICOS Año Académico Curso Tercero de Matemáticas EXAMEN FINAL FEBRERO

Inteligencia Artificial

Relación de ejercicios 5

CC3001 Algoritmos y Estructuras de Datos Tarea 1: Algoritmos simples de ordenación

Ecuaciones No-Lineales y raices polinomiales

1. Método de bisección

Conocimientos previos

cte xdx indeterminado x nn

MÉTODO DE NEWTON RAPHSON

FACULTAD DE INGENIERÍA DIVISIÓN DE CIENCIAS BÁSICAS EXAMENFINALDEANÁLISIS NUMÉRICO SEMESTRE

UNIVERSIDAD DE SANTIAGO DE CHILE FACULTAD DE INGENIERÍA

CEROS DE FUNCIONES. Laboratori de Càlcul Numèric (LaCàN) Universitat Politècnica de Catalunya (UPC)

Práctica 2. Algoritmos de búsqueda local (local search algorithms) y algoritmos avariciosos (greedy algorithms)

Solve[polinomio==0,x]

Aplicar este algoritmo para resolver el sistema de ecuaciones: º «« º ««

1.- DATOS DE LA ASIGNATURA. Nombre de la asignatura: Métodos Numéricos. Carrera: Ingeniería en Materiales. Clave de la asignatura: MAM 0522

Métodos Numéricos (SC 854) Solución de ecuaciones no lineales. 1. Definición del problema: raíces de ecuaciones no lineales

Java Avanzado. Guía 1. Java Avanzado Facultad de Ingeniería. Escuela de computación.

Estadística y sus aplicaciones en Ciencias Sociales 5. Estimación. Facultad de Ciencias Sociales, UdelaR

Solución numérica de sistemas de ecuaciones diferenciales con condiciones iniciales

Elabore el análisis, diseño orientado a objetos e implementación de una aplicación de consola que resuelva cada una de las siguientes situaciones:

CAPITULO 2: MARCO TEÓRICO. En el desarrollo de este capítulo se presentan descripciones generales,

Resolución de Ecuaciones no lineales. Juan Manuel Rodríguez Prieto

TALLERES DE METODOS NUMERICOS SOLUCION NUMERICA DE ECUACIONES NO LINEALES

INSTITUCIÓN EDUCATIVA HÉCTOR ABAD GÓMEZ

Transcripción:

Introducción a la Computación Evolutiva Dr. Carlos Artemio Coello Coello Tarea No. 1 16 de mayo de 2012 1. Métodos de optimización 1. Busque en un libro de métodos numéricos información sobre alguna de las siguientes técnicas para resolver ecuaciones trascendentes de una sola variable (elija sólo uno): Bisección (o Bolzano), Newton-Raphson, Regla Falsa o Secante. Se recomienda consultar el siguiente libro: Richard L. Burden y J. Douglas Faires, Análisis Numérico, 6a. Edición, International Thompson Editores, 1998. a) (10 puntos) Usando como base el seudo-código del método, impleméntelo en C/C++ (la función a resolverse puede proporcionarse directamente dentro del código del programa). Incluya el código fuente en su reporte. b) (20 puntos) Dos escaleras se cruzan en un pasillo, tal y como se muestra en la figura 1. Cada escalera está colocada de la base de una pared a algún punto de la pared opuesta. Las escaleras se cruzan a una altura H arriba del pavimento. Dado que las longitudes de las escaleras son x 1 = 20 m y x 2 = 30 m, y que H = 8 m, encontrar A, que es el ancho del pasillo, usando el programa escrito en el inciso anterior (una solución real es suficiente). Muestre el procedimiento analítico utilizado para derivar la ecuación trascendente que se resolverá con el método numérico elegido. Imprima las iteraciones efectuadas por su programa al resolver este problema. Bonificación: (10 puntos). El problema del inciso b) tiene más de una solución real. Encuentre al menos una solución real más (distinta de la reportada en el inciso anterior). Adicionalmente, encuentre una solución real que sea válida pero que no tenga sentido reportar dada la interpretación física del problema. Discuta brevemente acerca de esto. 1

x2 x1 H A Figura 1: Escalareas entrecruzadas del problema 2.1.b. Algoritmo de Fletcher-Reeves Paso 1: Elegir un punto inicial X (0) y tolerancias ǫ 1, ǫ 2 y ǫ 3 Paso 2: Encontrar f(x (0) ) y hacer: s (0) = f(x (0) ) Paso 3: Encontrar λ (0) tal que: f(x (0) + λ (0) s (0) ) se minimice con una tolerancia ǫ 1. Hacer X (1) = X (0) + λ (0) s (0) y k = 1 Calcular f(x (1) ) Paso 4: Hacer: s (k) = f(x (k) ) + f(x(k) ) 2 s (k 1) f(x (k 1) ) 2 Paso 5: Encontrar λ (k) tal que: f(x (k) + λ (k) s (k) ) sea mínima con una tolerancia ǫ 1 Hacer X (k+1) = X (k) + λ (k) s (k) Paso 6: Es X(k+1) X (k) X (k) ǫ 2 o f(x (k+1) ) ǫ 3? Si es así, terminar. ELSE k = k + 1. GOTO Paso 4. 2. (10 puntos) Use el método de Fletcher-Reeves para minimizar f(x 1, x 2 ) = x 2 1 + 2x2 2 4x 1 2x 1 x 2, usando el punto inicial (1, 1). Utilice la versión de este algoritmo que aquí se muestra (ver también las notas del curso). NO implemente el algoritmo. Debe mostrarse su ejecución detallada, a mano, hasta alcanzar convergencia. Las búsquedas unidireccionales deben realizarse de manera exacta (a mano). Indique claramente cuál es el valor de las variables x 1 y x 2 para los cuales se alcanza el óptimo. 3. El método de operación evolutiva (EVOP) fue propuesto por el estadístico inglés 2

George E.P. Box en 1957. Este algoritmo requiere (2 N +1) puntos (N es el número de variables del problema), de los cuales 2 N son las esquinas de un hipercubo, con centro en el otro punto. Se comparan entre sí los (2 N +1) valores de la función y se identifica el mejor punto entre ellos. En la siguiente iteración, se forma otro hipercubo alrededor del mejor punto. Si en cualquier iteración no se mejora el punto actual, entonces se reduce el tamaño del hipercubo. Este proceso continúa hasta que el hipercubo se vuelve muy pequeño. El algoritmo es el siguiente: Paso 1: Paso 2: Paso 3: Paso 4: Elegir un punto inicial x (0) y parámetros de reducción de tamaño i para todas las variables de decisión, i = 1, 2,..., N. Elegir una tolerancia ǫ. Hacer x = x (0) IF < ǫ THEN Terminar ELSE crear 2 N puntos sumando y restando i /2 de cada variable en el punto x Calcular los valores de la función en los (2 N + 1) puntos. Encontrar el punto con el menor valor de la función. Hacer que el punto mínimo sea x. IF x = x (0), reducir los parámetros de tamaño i = i /2. GOTO Paso 2. ELSE x (0) = x. GOTO Paso 2. Nótese que en el algoritmo, x (0) siempre contiene al mejor punto. Por tanto, al final de su ejecución, x (0) se vuelve nuestra mejor aproximación al óptimo. Implemente en C/C++ este algoritmo. Las entradas del programa deben ser x (0), i (i = 1, 2,..., N y N es el número de variables de decisión del problema) y la tolerancia ǫ. El código fuente de su programa deberá incluirse en el reporte de su tarea y deberá incluirse también en un CD (el programa deberá ser capaz de compilar y ejecutarse correctamente usando GNU C/C++ bajo ambiente Linux). La salida del programa deberá ser el valor de x, y el valor correspondiente de f(x ) a cada iteración, así como el obtenido al final. (10 puntos) Resuelva el problema siguiente usando su implementación de EVOP: Min f(x 1, x 2 ) = 50(x 2 x 2 1) 2 + (2 x 1 ) 2 (1) Utilice: x (0) = [0, 0] T y ǫ = 1 10 4. Defina los valores de i que considere adecuados. Discuta brevemente en su reporte el por qué de su elección. Recuerde que el objetivo es que el método logre llegar al óptimo del problema. En su reporte debe incluirse el valor final de x y el de f(x ) correspondiente. Indique también el número de iteraciones que realizó su programa. 3

2. Estrategias evolutivas El objetivo de este problema es que se familiarice con el funcionamiento de las estrategias evolutivas. Para ello, tendrá que implementar la denominada (µ + 1) EE (con µ = 4), cuyo algoritmo es el siguiente: t = contador de generaciones, n = número de variables Gmax = número máximo de generaciones t 0 inicializar semilla de aleatorios Inicializar variables x, Evaluar f( x) while (t Gmax) do generar µ = 4 mutaciones del vector x i usando: x µ i = x i + σ[t] N i (0, 1) i n, µ = 4 Generar un solo individuo a partir de µ = 4 padres (elegir cada { vez el padre del cual se tomará una variable): x x i = 2 i if flip(0.5)=0 x 1 i de lo contrario Evaluar f( x ) Comparar x con x y seleccionar el mejor Imprimir en un archivo los resultados t = t+1 if (t mod n == 0) then σ[t n]/c if p s > 1/5 σ[t] = σ[t n] c if p s < 1/5 σ[t n] if p s = 1/5 else σ[t] = σ[t 1] Algunos puntos importantes que deben observarse en este programa son los siguientes: El valor de la constante c oscila entre 0.817 y 1.0, aunque muchos suelen establecerlo en 0,817 ó 0,85. Use el valor que desee, pero indíquelo claramente en su reporte y en su programa. p s es la frecuencia de éxito de las mutaciones. Para calcularla, se registrará como exitosa aquella mutación en la que el hijo reemplace a su padre. La actualización de p s se efectuará cada 10 n iteraciones. Usaremos σ[0] = 3.0. Gmax será proporcionada por el usuario (puede usar cualquier valor entero 10). 4

La semilla de aleatorios se inicializará con time(0), que es una función en C que devuelve un entero con base en el reloj interno de la computadora. N(0, 1) es una función que genera números aleatorios Gaussianos (distribución normal) con media cero y desviación estándar uno. Esta función está disponible en la página web del curso. Cuidar que los valores de las variables no se salgan del rango especificado. Si eso ocurre, deberá contarse con algún mecanismo que vuelva a generar el valor de la variable o que lo ajuste al rango deseado. Explique en su reporte qué mecanismo fue el que utilizó. Escriba un programa en C/C++ que implemente el algoritmo arriba indicado y utilizarlo para minimizar: ( ) f(x 1, x 2 ) = 4 2,1x 2 1 + x4 1 x 2 1 + x 1 x 2 + ( 4 + 4x 2 3 2) x 2 2 (2) donde 3 x 1 3, 2 x 2 2. Se efectuarán varias corridas de prueba y se entregará un reporte que contenga lo siguiente: 1. (60 puntos) El código fuente del programa, con comentarios. Deberá entregarse una versión impresa y una en CD, incluyendo los archivos de TODAS las corridas de ejemplo efectuadas. El programa deberá ser capaz de compilarse y ejecutarse bajo Linux (usando gcc o g++) y, de ser necesario, podría requerirse al autor que demuestre el uso del programa personalmente al instructor. 2. (10 puntos) Una gráfica de la función a optimizarse dentro de los rangos permisibles para las variables. La gráfica deberá estar en 3 dimensiones. 3. (30 puntos) Las estadísticas de al menos 20 corridas diferentes en las que se use el mismo valor de Gmax, pero diferentes valores para la semilla de aleatorios y para las variables de inicio x. Las estadísticas deben incluir la media, la varianza, la desviación estándar, el mejor y el peor valor de f( x). Incluya también la salida producida por su programa para una sola corrida (puede abreviarla en caso de que el texto sea muy largo), pero ponga TODAS las demás corridas en el CD. 4. (Bonificación : 10 puntos) Hay dos puntos que hacen que esta función llegue al óptimo. Muestre 2 corridas de la estrategia evolutiva que obtenga estas 2 soluciones. Se darán 5 puntos de bonificación por cada una de estas soluciones óptimas que se obtengan. No olvide incluir todos los parámetros utilizados. Los valores iniciales de la estrategia evolutiva deberán ser distintos de los que producen estas soluciones óptimas. 5

Antecedentes Biológicos 1. (10 puntos) Investigue en qué consiste el equilibrio acentuado (punctuated equilibrium, en inglés) e indique si considera que se opone a los preceptos del Neo-Darwinismo o no. Fundamente bien sus argumentos. 2. (10 puntos) Investigue qué son los transposones (transposons) o genes saltarines (jumping genes). Qué relación guardan con la mutación? 3. (10 puntos) Investigue en qué consiste la teoría del Darwinismo Molecular. En qué se basa esta teoría? Discuta los mecanismos moleculares principales de variación genética en el marco de esta teoría. 4. (10 puntos) Investigue en qué consisten las mutaciones neutrales (neutral mutations, en inglés), e indique si considera que se opone o no a los preceptos del Neo-Darwinismo. Fundamente bien sus argumentos. Responda a las preguntas anteriores de forma concisa y directa, sin recurrir a explicaciones elípticas o barrocas. Cite toda la información utilizada (artículos, libros, páginas web) y explique cualquier concepto complementario que pueda ser necesario para fundamentar sus argumentos. Fecha de entrega: Viernes 25 de mayo a las 12:00hrs. Toda tarea entregada tarde será penalizada con 10 % (sobre la calificación obtenida) por cada periodo de 24 horas que se retrase su entrega. 6