55
Optimizaci´ on en Ingenier´ ıa Dr. Carlos A. Coello Coello Optimizaci´ on en Ingenier´ ıa Dr. Carlos A. Coello Coello Departamento de Computaci´ on CINVESTAV-IPN Av. IPN No. 2508 Col. San Pedro Zacatenco exico, D.F. 07300 email: [email protected] Clase No. 2 2009

Optimizaci´on en Ingenier´ıadelta.cs.cinvestav.mx/~ccoello/optimizacion/clase2-opt-2009.pdf · Funciones de Una Variable Comenzaremos por estudiar diversos m´etodos num´ericos

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Optimizaci´on en Ingenier´ıadelta.cs.cinvestav.mx/~ccoello/optimizacion/clase2-opt-2009.pdf · Funciones de Una Variable Comenzaremos por estudiar diversos m´etodos num´ericos

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Optimizacion en Ingenierıa

Dr. Carlos A. Coello Coello

Departamento de Computacion

CINVESTAV-IPN

Av. IPN No. 2508

Col. San Pedro Zacatenco

Mexico, D.F. 07300

email: [email protected]

Clase No. 2 2009

Page 2: Optimizaci´on en Ingenier´ıadelta.cs.cinvestav.mx/~ccoello/optimizacion/clase2-opt-2009.pdf · Funciones de Una Variable Comenzaremos por estudiar diversos m´etodos num´ericos

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Algunas Aplicaciones de

la Optimizacion en Ingenierıa

Diseno de herramientas y demas componentes mecanicos.

Diseno de turbinas, bombas y equipo para transferencia decalor.

Diseno de equipo electrico (motores, generadores ytransformadores).

Clase No. 2 2009

Page 3: Optimizaci´on en Ingenier´ıadelta.cs.cinvestav.mx/~ccoello/optimizacion/clase2-opt-2009.pdf · Funciones de Una Variable Comenzaremos por estudiar diversos m´etodos num´ericos

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Algunas Aplicaciones de

la Optimizacion en Ingenierıa

Diseno de redes electricas.

Planeacion de produccion.

Diseno de redes hidraulicas.

Clase No. 2 2009

Page 4: Optimizaci´on en Ingenier´ıadelta.cs.cinvestav.mx/~ccoello/optimizacion/clase2-opt-2009.pdf · Funciones de Una Variable Comenzaremos por estudiar diversos m´etodos num´ericos

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Algunas Aplicaciones de

la Optimizacion en Ingenierıa

Optimizacion de horarios.

Diseno optimo de procesos quımicos.

Control de inventarios.

Diseno de sistemas de control.

Clase No. 2 2009

Page 5: Optimizaci´on en Ingenier´ıadelta.cs.cinvestav.mx/~ccoello/optimizacion/clase2-opt-2009.pdf · Funciones de Una Variable Comenzaremos por estudiar diversos m´etodos num´ericos

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Planteamiento de un Problema de Optimizacion

Encontrar ~x =

x1x2

.

.

.

xn

que minimice f(~x)

sujeto a:gj(~x) ≤ 0, j = 1, 2, ...,m

hj(~x) = 0, j = 1, 2, ..., p

donde ~x es el vector de variables de decision, f(~x) es la funcionobjetivo, gj(~x) y hj(~x) son las restricciones de desigualdad eigualdad, respectivamente.

Clase No. 2 2009

Page 6: Optimizaci´on en Ingenier´ıadelta.cs.cinvestav.mx/~ccoello/optimizacion/clase2-opt-2009.pdf · Funciones de Una Variable Comenzaremos por estudiar diversos m´etodos num´ericos

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Restricciones de Diseno

En la mayor parte de los problemas de ingenierıa, las variables dediseno no pueden elegirse de manera arbitraria, sino que tienen quesatisfacer ciertos requerimientos.

Las restricciones que deben satisfacer para producir un disenoaceptable son llamadas, genericamente, restricciones de diseno.

Clase No. 2 2009

Page 7: Optimizaci´on en Ingenier´ıadelta.cs.cinvestav.mx/~ccoello/optimizacion/clase2-opt-2009.pdf · Funciones de Una Variable Comenzaremos por estudiar diversos m´etodos num´ericos

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Restricciones de Diseno

Las restricciones que representan limitaciones en elcomportamiento o el desempeno del sistema son denominadasrestricciones funcionales o de comportamiento.

Las restricciones que representan limitaciones fısicas tales comodisponibilidad, facilidad de fabricacion y transportabilidad sondenominadas restricciones geometricas.

Clase No. 2 2009

Page 8: Optimizaci´on en Ingenier´ıadelta.cs.cinvestav.mx/~ccoello/optimizacion/clase2-opt-2009.pdf · Funciones de Una Variable Comenzaremos por estudiar diversos m´etodos num´ericos

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Clasificacion de Problemas de Optimizacion

1. Basandose en la existencia de restricciones

Con restricciones

Sin restricciones

2. Basandose en la naturaleza de las variables de decision

Problemas estaticos o parametricos

Problemas dinamicos o de trayectorias (las variables sonfuncion de un parametro determinado)

Clase No. 2 2009

Page 9: Optimizaci´on en Ingenier´ıadelta.cs.cinvestav.mx/~ccoello/optimizacion/clase2-opt-2009.pdf · Funciones de Una Variable Comenzaremos por estudiar diversos m´etodos num´ericos

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Clasificacion de Problemas de Optimizacion

3. Clasificacion basada en la naturaleza de las ecuacionesinvolucradas

1. Problemas lineales

Si la funcion objetivo y todas las restricciones son lineales.

Encontrar ~x que minimice f(~x) =∑ni=1 cixi

sujeto a:n∑

i=1

aijxi = bj , j = 1, 2, ...,m

xi ≥ 0, i = 1, 2, ..., n

ci, aij y bj son constantes.

Clase No. 2 2009

Page 10: Optimizaci´on en Ingenier´ıadelta.cs.cinvestav.mx/~ccoello/optimizacion/clase2-opt-2009.pdf · Funciones de Una Variable Comenzaremos por estudiar diversos m´etodos num´ericos

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Clasificacion de Problemas de Optimizacion

2. Problemas no lineales.

Si la funcion objetivo y/o las restricciones son no lineales.

3. Problemas de programacion geometrica

Es un problema en el que la funcion objetivo y lasrestricciones se expresan como posinomios de ~x.

Clase No. 2 2009

Page 11: Optimizaci´on en Ingenier´ıadelta.cs.cinvestav.mx/~ccoello/optimizacion/clase2-opt-2009.pdf · Funciones de Una Variable Comenzaremos por estudiar diversos m´etodos num´ericos

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Clasificacion de Problemas de Optimizacion

Una funcion h(~x) es llamada posinomio si h puedeexpresarse como la suma de potencias de la forma:

cixai11 xai22 ...xainn

donde ci y aij son constantes. ci > 0, xj > 0.

De tal forma, un posinomio con N terminos puedeexpresarse como:

h(~x) = c1xa111 xa12

2 · · ·xa1nn + · · ·+ cNx

aN11 xaN2

2 · · ·xaNnn

Clase No. 2 2009

Page 12: Optimizaci´on en Ingenier´ıadelta.cs.cinvestav.mx/~ccoello/optimizacion/clase2-opt-2009.pdf · Funciones de Una Variable Comenzaremos por estudiar diversos m´etodos num´ericos

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Clasificacion de Problemas de Optimizacion

4. Problemas de Programacion Cuadratica

Es un problema no lineal que tiene una funcion objetivocuadratica y restricciones lineales.

min f(~x) = c+∑ni=1 qixi +

∑ni=1

∑nj=1Qijxixj

sujeto a:n∑

i=1

aijxi = bj , j = 1, 2, ...,m

xi ≥ 0, i = 1, 2, ..., n

donde c, qi, Qij , aij y bj son constantes.

Clase No. 2 2009

Page 13: Optimizaci´on en Ingenier´ıadelta.cs.cinvestav.mx/~ccoello/optimizacion/clase2-opt-2009.pdf · Funciones de Una Variable Comenzaremos por estudiar diversos m´etodos num´ericos

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Clasificacion de Problemas de Optimizacion

4. Basandose en los Valores Permisibles de las Variablesde Diseno

• Problemas de Programacion Entera

Son aquellos en los que algunas o todas las variables dediseno pueden tomar solo valores enteros (o discretos).

• Problemas de Programacion con Valores Reales.

Son aquellos en los que las variables de diseno pueden tomarcualquier valor real.

Clase No. 2 2009

Page 14: Optimizaci´on en Ingenier´ıadelta.cs.cinvestav.mx/~ccoello/optimizacion/clase2-opt-2009.pdf · Funciones de Una Variable Comenzaremos por estudiar diversos m´etodos num´ericos

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Clasificacion de Problemas de Optimizacion

5. Basandose en la Naturaleza Determinista de lasVariables

• Problemas Estocasticos

Es aquel en el que alguno o todos los parametros sonprobabilısticos.

• Problemas Deterministas

Es aquel en el que todos los parametros (variables dedecision) son deterministas.

Clase No. 2 2009

Page 15: Optimizaci´on en Ingenier´ıadelta.cs.cinvestav.mx/~ccoello/optimizacion/clase2-opt-2009.pdf · Funciones de Una Variable Comenzaremos por estudiar diversos m´etodos num´ericos

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Clasificacion de Problemas de Optimizacion

6. Basandose en la Separabilidad de las Funciones

• Problemas Separables

Se dice que una funcion f(~x) es separable si puedeexpresarse como la suma de n funciones de una solavariable, f1(x1), f2(x2), ..., fn(xn):

f(~x) =n∑

i=1

fi(xi)

Un problema separable es aquel en el que tanto lasfunciones objetivo como las restricciones son separables.

• No separables.

Clase No. 2 2009

Page 16: Optimizaci´on en Ingenier´ıadelta.cs.cinvestav.mx/~ccoello/optimizacion/clase2-opt-2009.pdf · Funciones de Una Variable Comenzaremos por estudiar diversos m´etodos num´ericos

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Clasificacion de Problemas de Optimizacion

7. Basandose en el Numero de funciones Objetivo

• Mono-objetivo

• Multiobjetivo

Clase No. 2 2009

Page 17: Optimizaci´on en Ingenier´ıadelta.cs.cinvestav.mx/~ccoello/optimizacion/clase2-opt-2009.pdf · Funciones de Una Variable Comenzaremos por estudiar diversos m´etodos num´ericos

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Conceptos Basicos

Normalmente se usa la notacion ~x∗ = {x∗1, ..., x∗n} para denotar elpunto optimo, y el valor correspondiente de f(~x∗) se denomina elvalor optimo de la funcion objetivo. El par ~x∗ y f(~x∗)constituyen una solucion optima.

Clase No. 2 2009

Page 18: Optimizaci´on en Ingenier´ıadelta.cs.cinvestav.mx/~ccoello/optimizacion/clase2-opt-2009.pdf · Funciones de Una Variable Comenzaremos por estudiar diversos m´etodos num´ericos

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Conceptos Basicos

Existen varias categorıas de soluciones optimas si la funcionobjetivo no es unimodal (es decir, si tiene mas de un extremocomo se ilustra en la funcion multimodal de la figura siguiente):

Clase No. 2 2009

Page 19: Optimizaci´on en Ingenier´ıadelta.cs.cinvestav.mx/~ccoello/optimizacion/clase2-opt-2009.pdf · Funciones de Una Variable Comenzaremos por estudiar diversos m´etodos num´ericos

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Conceptos Basicos

Un optimo global (suponiendo minimizacion) es aquel querepresenta el valor mas pequeno de f(~x), mientras que un optimolocal representa el valor mas pequeno de f(~x) en la vecindad dealgun vector ~x.

Clase No. 2 2009

Page 20: Optimizaci´on en Ingenier´ıadelta.cs.cinvestav.mx/~ccoello/optimizacion/clase2-opt-2009.pdf · Funciones de Una Variable Comenzaremos por estudiar diversos m´etodos num´ericos

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Concavidad y Convexidad

Una funcion φ(~x) es llamada convexa sobre el dominio de R sipara 2 vectores cualquiera ~x1 y ~x2 ∈ R,

φ(θ~x1 + (1− θ)~x2) ≤ θφ(~x1) + (1− θ)φ(~x2) (1)

donde θ es un escalar en el rango 0 ≤ θ ≤ 1.

Clase No. 2 2009

Page 21: Optimizaci´on en Ingenier´ıadelta.cs.cinvestav.mx/~ccoello/optimizacion/clase2-opt-2009.pdf · Funciones de Una Variable Comenzaremos por estudiar diversos m´etodos num´ericos

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Concavidad y Convexidad

La funcion φ(~x) es estrictamente convexa si, para ~x1 6= ~x2 , el signo≤ de la ecuacion (1) puede ser reemplazado con una desigualdad(<).

Una funcion convexa no puede tener ningun valor mayor que losvalores de la funcion obtenidos mediante interpolacion lineal entreφ(~x1) y φ(~x2).

Clase No. 2 2009

Page 22: Optimizaci´on en Ingenier´ıadelta.cs.cinvestav.mx/~ccoello/optimizacion/clase2-opt-2009.pdf · Funciones de Una Variable Comenzaremos por estudiar diversos m´etodos num´ericos

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Concavidad y Convexidad

Si la desigualdad reversa de la ecuacion (1) se cumple, la funcion esconcava. De tal forma, una funcion φ(~x) es concava(estrictamente concava) si −φ(~x) es convexa (estrictamenteconvexa). Las funciones lineales son convexas y concavas.

Clase No. 2 2009

Page 23: Optimizaci´on en Ingenier´ıadelta.cs.cinvestav.mx/~ccoello/optimizacion/clase2-opt-2009.pdf · Funciones de Una Variable Comenzaremos por estudiar diversos m´etodos num´ericos

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Conceptos Basicos

El requerimiento de que una funcion sea unimodal es mucho masdebil que el requerimiento de que sea convexa o concava, ya que launimodalidad no demanda ni continuidad ni la existencia de unaderivada unica.

Clase No. 2 2009

Page 24: Optimizaci´on en Ingenier´ıadelta.cs.cinvestav.mx/~ccoello/optimizacion/clase2-opt-2009.pdf · Funciones de Una Variable Comenzaremos por estudiar diversos m´etodos num´ericos

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Conceptos Basicos

Un conjunto (o region) de puntos se define como un conjuntoconvexo en un espacio n-dimensional si, para todos los pares depuntos ~x1 y ~x2 en el conjunto, el segmento rectilıneo que los uneesta tambien enteramente dentro del conjunto. De tal forma, todopunto ~x, donde

~x = θ~x1 + (1− θ)~x2, 0 ≤ θ ≤ 1

esta tambien en el conjunto.

Clase No. 2 2009

Page 25: Optimizaci´on en Ingenier´ıadelta.cs.cinvestav.mx/~ccoello/optimizacion/clase2-opt-2009.pdf · Funciones de Una Variable Comenzaremos por estudiar diversos m´etodos num´ericos

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Conceptos Basicos

Clase No. 2 2009

Page 26: Optimizaci´on en Ingenier´ıadelta.cs.cinvestav.mx/~ccoello/optimizacion/clase2-opt-2009.pdf · Funciones de Una Variable Comenzaremos por estudiar diversos m´etodos num´ericos

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Ventajas de la Optimizacion Numerica

Reduccion en el tiempo de diseno.

Mejoras en el diseno que produce ahorros de algun tipo.

Pueden resolverse problemas mas complejos y grandes que conlos metodos graficos y tabulares.

No esta sesgada por la intuicion o la experiencia, lo quepermite soluciones no tradicionales.

Requiere una mınima interaccion hombre-maquina.

Clase No. 2 2009

Page 27: Optimizaci´on en Ingenier´ıadelta.cs.cinvestav.mx/~ccoello/optimizacion/clase2-opt-2009.pdf · Funciones de Una Variable Comenzaremos por estudiar diversos m´etodos num´ericos

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Desventajas de la Optimizacion Numerica

El tiempo de computo se incrementa conforme crece lacantidad de variables de diseno, hasta llegar a ser prohibitivo.

Rara vez puede garantizarse que un metodo de optimizacionproduzca el optimo global. Por lo tanto, suele ser necesarioejecutar varias veces el mismo algoritmo con puntos distintosde inicio.

Clase No. 2 2009

Page 28: Optimizaci´on en Ingenier´ıadelta.cs.cinvestav.mx/~ccoello/optimizacion/clase2-opt-2009.pdf · Funciones de Una Variable Comenzaremos por estudiar diversos m´etodos num´ericos

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Desventajas de la Optimizacion Numerica

La mayor parte de los metodos de optimizacion tienendificultades para lidiar con funciones discontinuas. Ası mismo,los problemas altamente no lineales pueden converger muylentamente o no hacerlo.

Es importante ser cuidadoso con la precision numerica que semaneje al escribir programas de optimizacion, pues esta puedeimpactar seriamente los resultados.

Clase No. 2 2009

Page 29: Optimizaci´on en Ingenier´ıadelta.cs.cinvestav.mx/~ccoello/optimizacion/clase2-opt-2009.pdf · Funciones de Una Variable Comenzaremos por estudiar diversos m´etodos num´ericos

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Metodos de Optimizacion para

Funciones de Una Variable

Comenzaremos por estudiar diversos metodos numericos paraoptimizar funciones de una sola variable.

Los primeros metodos que veremos son los denominados metodosde acotamiento (bracketing methods), los cuales operan en 2 fases:

Fase de Acotamiento: Se hace una busqueda inicial de grano gruesopara acotar el optimo.

Fase de Refinamiento del Intervalo: Se realiza una secuencia finitade reducciones de intervalo o refinamientos para reducir el intervaloinicial de busqueda a una cierta precision deseable.

Clase No. 2 2009

Page 30: Optimizaci´on en Ingenier´ıadelta.cs.cinvestav.mx/~ccoello/optimizacion/clase2-opt-2009.pdf · Funciones de Una Variable Comenzaremos por estudiar diversos m´etodos num´ericos

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Busqueda Exhaustiva

El primer metodo de acotamiento que estudiaremos es labusqueda exhaustiva, que es el mas simple de todos. En estemetodo, el optimo de una funcion es acotado calculando los valoresde la funcion en un conjunto de puntos equidistantes entre sı.

Clase No. 2 2009

Page 31: Optimizaci´on en Ingenier´ıadelta.cs.cinvestav.mx/~ccoello/optimizacion/clase2-opt-2009.pdf · Funciones de Una Variable Comenzaremos por estudiar diversos m´etodos num´ericos

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Busqueda Exhaustiva

Clase No. 2 2009

Page 32: Optimizaci´on en Ingenier´ıadelta.cs.cinvestav.mx/~ccoello/optimizacion/clase2-opt-2009.pdf · Funciones de Una Variable Comenzaremos por estudiar diversos m´etodos num´ericos

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Busqueda Exhaustiva

Usualmente, la busqueda comienza desde el lımite inferior de lavariable y se calculan 3 valores consecutivos de la funcion a la vez,basandose en la premisa de unimodalidad de la funcion. Basandoseen los resultados de la comparacion, la busqueda se concluye o secontinua reemplazando uno de los 3 puntos por uno nuevo. Labusqueda continua hasta que se acota el mınimo.

Clase No. 2 2009

Page 33: Optimizaci´on en Ingenier´ıadelta.cs.cinvestav.mx/~ccoello/optimizacion/clase2-opt-2009.pdf · Funciones de Una Variable Comenzaremos por estudiar diversos m´etodos num´ericos

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Busqueda Exhaustiva

AlgoritmoPaso 1: x1 = a; ∆x = (b− a)/n

(n es el numero de puntos intermedios)x2 = x1 + ∆x;x3 = x2 + ∆x

Paso 2: IF f(x1) ≥ f(x2) ≤ f(x3) el mınimo se encuentraen (x1, x3). TERMINARELSE x1 = x2;x2 = x3;x3 = x2 + ∆xGOTO Paso 3

Paso 3: ¿Es x3 ≤ b? Si lo es, ir al Paso 2ELSE no existe un mınimo en (a, b) o unpunto extremo (a o b) es el mınimo.

Clase No. 2 2009

Page 34: Optimizaci´on en Ingenier´ıadelta.cs.cinvestav.mx/~ccoello/optimizacion/clase2-opt-2009.pdf · Funciones de Una Variable Comenzaremos por estudiar diversos m´etodos num´ericos

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Busqueda Exhaustiva

Notese que el intervalo final obtenido por este algoritmo es2(b− a)/n. En promedio, se requieren (n/2 + 2) evaluaciones de lafuncion para obtener la precision deseada. Es decir, que se necesitanmas evaluaciones para obtener una mejor precision. Por ejemplo, sia = 0, b = 10 y la precision requerida es de 0,001, entonces tenemos:

2(10− 0)/n = 0,001 (2)

de donde: n = 20, 000. Es decir, que se requieren al menos 20, 000iteraciones para lograr una precision de 0.001.

Clase No. 2 2009

Page 35: Optimizaci´on en Ingenier´ıadelta.cs.cinvestav.mx/~ccoello/optimizacion/clase2-opt-2009.pdf · Funciones de Una Variable Comenzaremos por estudiar diversos m´etodos num´ericos

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Metodo de la Fase de Acotamiento

Este es otro metodo de acotamiento que se conoce en ingles comobounding phase method. El algoritmo comienza con un valorcualquiera y se inicia la busqueda basandose en dos o masevaluaciones de la funcion objetivo en la vecindad del punto inicial.Posteriormente se adopta una estrategia de busqueda exponencialpara alcanzar el optimo.

Clase No. 2 2009

Page 36: Optimizaci´on en Ingenier´ıadelta.cs.cinvestav.mx/~ccoello/optimizacion/clase2-opt-2009.pdf · Funciones de Una Variable Comenzaremos por estudiar diversos m´etodos num´ericos

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Metodo de la Fase de Acotamiento

AlgoritmoPaso 1: Elegir un punto inicial x(0) y un incremento ∆

Hacer k = 0Paso 2: IF f(x(0) − |∆|) ≥ f(x(0)) ≥ f(x(0) + |∆|), THEN

∆ es positivoELSE IF f(x(0) − |∆|) ≤ f(x(0)) ≤ f(x(0) + |∆|), THEN∆ es negativoELSE GOTO Paso 1

Paso 3: x(k+1) = x(k) + 2k∆Paso 4: IF f(x(k+1)) < f(x(k)) THEN k = k + 1 y

GOTO Paso 3ELSE el mınimo se encuentra en el intervalo(x(k−1), x(k+1))TERMINAR

Clase No. 2 2009

Page 37: Optimizaci´on en Ingenier´ıadelta.cs.cinvestav.mx/~ccoello/optimizacion/clase2-opt-2009.pdf · Funciones de Una Variable Comenzaremos por estudiar diversos m´etodos num´ericos

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Metodo de la Fase de Acotamiento

Observaciones:

La efectividad de este metodo depende del valor adoptado para elincremento de ∆. Si ∆ es grande, se obtiene un intervalo inicialgrande y la precision del acotamiento del mınimo es, enconsecuencia, pobre. Si se elige un ∆ pequeno, la precision delacotamiento mejorara, pero se requeriran mas evaluaciones de lafuncion.

Una vez que se ha acotado la ubicacion del optimo, puedenaplicarse esquemas mas sofisticados de reduccion de intervalos paraaproximar el optimo.

Clase No. 2 2009

Page 38: Optimizaci´on en Ingenier´ıadelta.cs.cinvestav.mx/~ccoello/optimizacion/clase2-opt-2009.pdf · Funciones de Una Variable Comenzaremos por estudiar diversos m´etodos num´ericos

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Metodos de Eliminacion de Regiones

Se llama ası a los metodos de busqueda que localizan el optimomediante la eliminacion sucesiva de subintervalos que reducen elintervalo de busqueda restante.

Notese que practicamente todos los metodos de busquedaunidimensionales presuponen unimodalidad de la funcion aresolverse, al menos en el dominio de interes de la misma.

Clase No. 2 2009

Page 39: Optimizaci´on en Ingenier´ıadelta.cs.cinvestav.mx/~ccoello/optimizacion/clase2-opt-2009.pdf · Funciones de Una Variable Comenzaremos por estudiar diversos m´etodos num´ericos

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Metodos de Eliminacion de Regiones

Este tipo de metodos se basan en la llamada propiedad deeliminacion, definida por el siguiente teorema:

Teorema: Supongamos que f es estrictamente unimodal (o sea, esunimodal y no tiene intervalos de longitud finita en los cuales lafuncion sea de valor constante) en el intervalo a ≤ x ≤ b con unmınimo en x∗. Hagamos que x1 y x2 sean 2 puntos en el intervalo,de forma que a < x1 < x2 < b.

Clase No. 2 2009

Page 40: Optimizaci´on en Ingenier´ıadelta.cs.cinvestav.mx/~ccoello/optimizacion/clase2-opt-2009.pdf · Funciones de Una Variable Comenzaremos por estudiar diversos m´etodos num´ericos

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Metodos de Eliminacion de Regiones

Tenemos entonces que:

1. Si f(x1) > f(x2), entonces el mınimo de f(x) no se encuentraen el intervalo (a, x1) En otras palabras, x∗ ∈ (x1, b).

2. Si f(x1) < f(x2), entonces el mınimo de f(x) no se encuentraen el intervalo (x2, b) En otras palabras, x∗ ∈ (a, x2).

Clase No. 2 2009

Page 41: Optimizaci´on en Ingenier´ıadelta.cs.cinvestav.mx/~ccoello/optimizacion/clase2-opt-2009.pdf · Funciones de Una Variable Comenzaremos por estudiar diversos m´etodos num´ericos

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Metodos de Eliminacion de Regiones

Notese que cuando f(x1) = f(x2) podemos eliminar los 2 extremosy x∗ ∈ (x1, x2).

Clase No. 2 2009

Page 42: Optimizaci´on en Ingenier´ıadelta.cs.cinvestav.mx/~ccoello/optimizacion/clase2-opt-2009.pdf · Funciones de Una Variable Comenzaremos por estudiar diversos m´etodos num´ericos

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Metodos de Eliminacion de Regiones

Usando la propiedad de eliminacion, puede organizarse labusqueda de manera que se encuentre el optimo eliminandorecursivamente secciones del intervalo acotado originalmente. Labusqueda termina cuando el subintervalo restante es reducido a unalongitud suficientemente pequena.

Notese que la mayor ventaja de este tipo de metodos es que norequieren que la funcion sea diferenciable (solo requieren evaluarla).

Clase No. 2 2009

Page 43: Optimizaci´on en Ingenier´ıadelta.cs.cinvestav.mx/~ccoello/optimizacion/clase2-opt-2009.pdf · Funciones de Una Variable Comenzaremos por estudiar diversos m´etodos num´ericos

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Metodo de Division de Intervalos por la Mitad

En este metodo de eliminacion de regiones se consideran valores entres puntos diferentes (espaciados de forma equidistante) y se borraexactamente una mitad del intervalo a cada iteracion.

Clase No. 2 2009

Page 44: Optimizaci´on en Ingenier´ıadelta.cs.cinvestav.mx/~ccoello/optimizacion/clase2-opt-2009.pdf · Funciones de Una Variable Comenzaremos por estudiar diversos m´etodos num´ericos

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Metodo de Division de Intervalos por la Mitad

Estos 3 puntos se ilustran en la figura anterior. Dos de los valoresde la funcion se comparan a la vez y una cierta region se elimina.Hay 2 escenarios posibles:

Caso 1: If f(x1) < f(xm) el mınimo no puede encontrarse masalla de xm. Por lo tanto, reducimos el intervalo de (a, b) a (a, xm).Dado que xm es el punto medio del espacio de busqueda, estaeliminacion reduce el espacio de busqueda a la mitad.

Clase No. 2 2009

Page 45: Optimizaci´on en Ingenier´ıadelta.cs.cinvestav.mx/~ccoello/optimizacion/clase2-opt-2009.pdf · Funciones de Una Variable Comenzaremos por estudiar diversos m´etodos num´ericos

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Metodo de Division de Intervalos por la Mitad

Caso 2: If f(x1) > f(xm) el mınimo no puede encontrarse en elintervalo (a, x1). Entonces comparamos los valores de la funcion enxm y x2 para eliminar un 25 % del espacio de busqueda (ya sehabıa eliminado otro 25 % antes, porque x1 estaba a 1/4 dedistancia del lımite inferior de la busqueda).

Clase No. 2 2009

Page 46: Optimizaci´on en Ingenier´ıadelta.cs.cinvestav.mx/~ccoello/optimizacion/clase2-opt-2009.pdf · Funciones de Una Variable Comenzaremos por estudiar diversos m´etodos num´ericos

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Metodo de Division de Intervalos por la Mitad

Este proceso continua hasta que se encuentra un intervalosuficientemente pequeno. Como a cada iteracion se retieneexactamente la mitad del espacio de busqueda, se denomina alalgoritmo el metodo de division de intervalos por la mitad.

Clase No. 2 2009

Page 47: Optimizaci´on en Ingenier´ıadelta.cs.cinvestav.mx/~ccoello/optimizacion/clase2-opt-2009.pdf · Funciones de Una Variable Comenzaremos por estudiar diversos m´etodos num´ericos

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Metodo de Division de Intervalos por la Mitad

AlgoritmoPaso 1: Elegir un lımite inferior a y un lımite superior b.

Definir tolerancia εxm = (a+ b)/2Lo = L = b− aCalcular f(xm)

Paso 2: x1 = a+ L/4; x2 = b− L/4Calcular f(x1) y f(x2)

Paso 3: IF f(x1) < f(xm) b = xm; xm = x1 GOTO Paso 5Paso 4: IF f(x2) < f(xm) a = xm; xm = x2 GOTO Paso 5

ELSE a = x1; b = x2; GOTO Paso 5Paso 5: L = b− a

IF |L| < ε TERMINARELSE GOTO Paso 2

Clase No. 2 2009

Page 48: Optimizaci´on en Ingenier´ıadelta.cs.cinvestav.mx/~ccoello/optimizacion/clase2-opt-2009.pdf · Funciones de Una Variable Comenzaremos por estudiar diversos m´etodos num´ericos

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Metodo de Division de Intervalos por la Mitad

Observaciones:

A cada etapa del algoritmo, se borra exactamente la mitad dela longitud del intervalo de busqueda.

El punto medio de los intervalos subsecuentes es siempre iguala uno de los puntos previos x1, x2 o xm. Por tanto, serequieren, cuando mucho, dos evaluaciones de la funcion a cadapaso subsecuente.

Clase No. 2 2009

Page 49: Optimizaci´on en Ingenier´ıadelta.cs.cinvestav.mx/~ccoello/optimizacion/clase2-opt-2009.pdf · Funciones de Una Variable Comenzaremos por estudiar diversos m´etodos num´ericos

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Metodo de Division de Intervalos por la Mitad

Despues de n evaluaciones de la funcion, el intervalo inicial debusqueda sera reducido a ( 1

2 )n/2Lo.

En consecuencia, el numero de evaluaciones requeridas paraobtener una precision deseada ε puede calcularse resolviendo:

(0,5)n/2(b− a) = ε

Clase No. 2 2009

Page 50: Optimizaci´on en Ingenier´ıadelta.cs.cinvestav.mx/~ccoello/optimizacion/clase2-opt-2009.pdf · Funciones de Una Variable Comenzaremos por estudiar diversos m´etodos num´ericos

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Metodo de Busqueda de Fibonacci

En este metodo de eliminacion de regiones, el intervalo de busquedase reduce de acuerdo a la serie que se atribuye a Leonardo PisanoFibonacci, un matematico del 1200 de nuestra era.

Clase No. 2 2009

Page 51: Optimizaci´on en Ingenier´ıadelta.cs.cinvestav.mx/~ccoello/optimizacion/clase2-opt-2009.pdf · Funciones de Una Variable Comenzaremos por estudiar diversos m´etodos num´ericos

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Metodo de Busqueda de Fibonacci

La propiedad de los numeros de Fibonacci es que, dados dosnumeros consecutivos Fn−2 y Fn−1, el tercer numero se calculausando:

Fn = Fn−1 + Fn−2

donde n = 2, 3, 4, ... Los primeros numeros de Fibonacci son:F0 = 1, F1 = 1, F2 = 2, F3 = 3, F4 = 5, F5 = 8, F6 = 13 yası sucesivamente.

Clase No. 2 2009

Page 52: Optimizaci´on en Ingenier´ıadelta.cs.cinvestav.mx/~ccoello/optimizacion/clase2-opt-2009.pdf · Funciones de Una Variable Comenzaremos por estudiar diversos m´etodos num´ericos

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Metodo de Busqueda de Fibonacci

Los numeros de Fibonacci pueden usarse para crear un algoritmode busqueda que requiera solo una evaluacion de la funcion objetivoa cada iteracion.

El principio de la busqueda de Fibonacci es que de dos puntosrequeridos para el uso de la propiedad de eliminacion de regiones,uno es siempre el punto previo y el otro punto es nuevo. Por ende,solo se requiere una evaluacion de la funcion a cada iteracion.

Clase No. 2 2009

Page 53: Optimizaci´on en Ingenier´ıadelta.cs.cinvestav.mx/~ccoello/optimizacion/clase2-opt-2009.pdf · Funciones de Una Variable Comenzaremos por estudiar diversos m´etodos num´ericos

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Metodo de Busqueda de Fibonacci

En la iteracion k, se eligen dos puntos intermedios, cada uno de loscuales esta a una distancia L∗k de cada extremo del espacio debusqueda (L = b− a). Cuando la propiedad de eliminacion deregiones elimina una porcion del espacio de busqueda, el espacio debusqueda restante es Lk.

Clase No. 2 2009

Page 54: Optimizaci´on en Ingenier´ıadelta.cs.cinvestav.mx/~ccoello/optimizacion/clase2-opt-2009.pdf · Funciones de Una Variable Comenzaremos por estudiar diversos m´etodos num´ericos

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Metodo de Busqueda de Fibonacci

Definiendo L∗k = (Fn−k+1/Fn+1)/L y Lk = (Fn−k+2/Fn+1)/L sepuede mostrar que:

Lk − L∗k = L∗k+1

lo que significa que uno de los dos puntos usados en la iteracion k

se mantiene como uno de los puntos de referencia en la iteracion(k + 1). Ver la figura siguiente:

Clase No. 2 2009

Page 55: Optimizaci´on en Ingenier´ıadelta.cs.cinvestav.mx/~ccoello/optimizacion/clase2-opt-2009.pdf · Funciones de Una Variable Comenzaremos por estudiar diversos m´etodos num´ericos

Optimizacion en Ingenierıa Dr. Carlos A. Coello Coello

Metodo de Busqueda de Fibonacci

Puesto que los dos primeros numeros de Fibonacci son los mismos,el algoritmo usualmente empieza con k = 2.

Clase No. 2 2009