Sunteți pe pagina 1din 64

INSTITUTO POLITÉCNICO NACIONAL

ESCUELA SUPERIOR DE INGENIERÍA QUÍMICA E INDUSTRIAS EXTRACTIVAS

Apuntes de
Optimización y Simulación de Procesos

Gabriel E. Santana Rodríguez

Julio 2007
Contenido

Optimización _________________________________________________________ 1
¿Porqué optimizar? ________________________________________________________ 1
Clasificación de modelos ________________________________________________ 1
Función objetivo ______________________________________________________ 1
Características esenciales de los problemas de optimización_______________________ 1
Pasos para la solución de problemas de optimización ____________________________ 1
Ejemplo 1 ________________________________________________________________ 1
Ejemplo 2 ________________________________________________________________ 1
Métodos analíticos _____________________________________________________ 1
Derivación Univariable _____________________________________________________ 1
Primera derivada ________________________________________________________________1
Segunda derivada________________________________________________________________1
Ejemplo 1______________________________________________________________________1
Ejemplo 2______________________________________________________________________1
Derivación Multivariable ___________________________________________________ 1
Gradiente ______________________________________________________________________1
Hessiano_______________________________________________________________________1
Ejemplo 1______________________________________________________________________1
Ejemplo 2______________________________________________________________________1
Ejemplo 3______________________________________________________________________1
Multiplicadores de Lagrange ________________________________________________ 1
Ejemplo 1______________________________________________________________________1
Ejemplo 2______________________________________________________________________1
Métodos numéricos ____________________________________________________ 1
Fibonacci_________________________________________________________________ 1
Ejemplo _______________________________________________________________________1
Sección dorada ____________________________________________________________ 1
Ejemplo _______________________________________________________________________1
Simplex __________________________________________________________________ 1
Ejemplo 1______________________________________________________________________1
Ejemplo 2______________________________________________________________________1
Nelder-Mead______________________________________________________________ 1
Ejemplo 1______________________________________________________________________1
Ejemplo 2______________________________________________________________________1
Máxima Pendiente _________________________________________________________ 1
Ejemplo 1______________________________________________________________________1
Ejemplo 2______________________________________________________________________1
Programación lineal ___________________________________________________ 1
Método gráfico. ___________________________________________________________ 1
Ejemplo _______________________________________________________________________1
Método Simplex ___________________________________________________________ 1
Ejemplo _______________________________________________________________________1

i
Programación geométrica _______________________________________________ 1
Ejemplo de polinomios con términos positivos __________________________________ 1
Ejemplo de polinomios con términos positivos y negativos ________________________ 1
Programación dinámica ________________________________________________ 1
Ejemplo 1 ________________________________________________________________ 1
Ejemplo 2 ________________________________________________________________ 1
Bibliografía __________________________________________________________ 1

ii
GESR

Optimización [1]
La optimización es el uso de métodos específicos para determinar la solución más
rentable y más eficiente a un problema o a un diseño para un proceso. Esta técnica es
una de las herramientas cuantitativas principales en la toma de decisión industrial. Una
amplia variedad de problemas en el diseño, la construcción, la operación, y el análisis
de plantas químicas (así como muchos otros procesos industriales) se puede resolver por
la optimización.

El objetivo de la optimización es encontrar los valores de las variables en el proceso que


produzcan el mejor valor del criterio establecido tal como el costo mínimo.
Normalmente existe una compensación entre los costos de capital y de operación.

¿Porqué optimizar?

¿Por qué los ingenieros están interesados en la optimización? ¿Qué beneficios resultan
de usar este método en vez de tomar decisiones intuitivamente? Los ingenieros trabajan
para mejorar el diseño inicial del equipo y se esfuerzan para mejorar la operación de ese
equipo una vez que esté instalado de tal modo que realice la mayor producción, el
máximo beneficio, el costo mínimo, el menor uso de energía y así sucesivamente. El
valor monetario proporciona una medida conveniente de objetivos diversos, pero no
todos los problemas tienen que ser considerados en un marco monetario (costo contra
rédito).

En operaciones de planta, las ventajas surgen del funcionamiento mejorado de la planta,


tal como mejores producciones de productos valiosos (o producciones reducidas de
contaminantes), del consumo de energía reducido, de velocidades de procesamiento
mayores y de tiempos más largos entre paros. La optimización puede también conducir
a costos de mantenimiento reducidos, a menos desgaste del equipo y a una utilización
mejor del personal. Además, las ventajas intangibles surgen de las interacciones entre
operadores de planta, ingenieros y la gerencia. Es extremadamente provechoso
identificar sistemáticamente el objetivo, las restricciones y los grados de libertad en un
proceso o una planta, conduciendo a beneficios tales como calidad mejorada del diseño,
una localización de averías más rápidamente y más confiables, y una toma de decisión
más rápida.

Los beneficios pronosticados se deben hacer con cuidado. Las variables de operación y
diseño en la mayoría de las plantas se relacionan siempre de cierta manera. Si la cuenta
del combustible para una columna de la destilación es $3000 por día, un ahorro del 5
por ciento puede justificar un proyecto sobre conservación de energía. Sin embargo, en
una operación unitaria tal como destilación, es incorrecto simplemente sumar los
servicios del intercambiador de calor y hacer una reducción en el calor total requerido.
Una reducción en el servicio de calentamiento del rehervidor puede influenciar en la
pureza del producto, que se puede traducir en un cambio en las ganancias y en los
requerimientos de enfriamiento en el condensador. Por lo tanto, puede ser engañoso no
hacer caso de los efectos indirectos y de relación que tienen las variables del proceso en
los costos.

1
GESR

¿Qué hay acerca de la discusión, de que el uso formal de la optimización realmente no


está garantizado debido a la incertidumbre que existe en la representación matemática
del proceso o de los datos utilizados en el modelo del proceso? Tal discusión tiene
ciertamente cierto mérito. Los ingenieros tienen que usar un juicio en la aplicación de
técnicas de optimización a los problemas que tienen una incertidumbre considerable
asociada a ellos, desde el punto de vista de la exactitud y del hecho de que los
parámetros de operación de la planta y los alrededores no son siempre estáticos. En
algunos casos puede ser posible realizar un análisis vía optimización determinista y
después agregar características estocásticas al análisis para producir predicciones
cuantitativas del grado de incertidumbre. Siempre que el modelo de un proceso se
idealice y los datos de la entrada y los parámetros se conozcan aproximadamente, los
resultados de la optimización se deben tratar juiciosamente. Pueden proporcionar límites
superiores a las expectativas. Otra manera de evaluar la influencia de parámetros
inciertos en el diseño óptimo es realizar un análisis de sensibilidad. Es posible que el
valor óptimo de una variable de proceso no es afectado por ciertos parámetros
(sensibilidad baja); por lo tanto, tener valores exactos para estos parámetros no será
crucial para encontrar el óptimo verdadero.

Clasificación de modelos

Basados en la teoría física Basados en descripciones


estrictamente empíricas

Involucra balances de masa y energía, Provienen de la experiencia como de


termodinámica, cinética de la reglas heurísticas a consecuencia de
reacción química, etc. falta de tiempo o de recursos.

Linear No linear
f (x) f (x)

x x

Estado estacionario (estático) Estado no estacionario (dinámico)

∂ ∂
=0 ≠0
∂t ∂t

No hay variación respecto al tiempo. Si hay variación respecto al tiempo.

2
GESR

Parámetro agrupado Parámetro distribuido

∂ ∂
=0 ≠0
∂V ∂V

Las variaciones espaciales se ignoran Existen variaciones espaciales y las


y las propiedades del sistema son propiedades del sistema son
iguales en todo el volumen diferentes en todo el volumen

Variable discreta Variable continua

La variable tiene un número finito de La variable tiene un número infinito


valores, por ejemplo, el número de de valores, por ejemplo, los diferentes
compresores. valores de presión y temperatura en
cada etapa de compresión.

Determinísticos Estocásticos

Son sistemas que exhiben el mismo Son sistemas que funcionan por azar
comportamiento bajo las mismas en función de probabilidades. Por
condiciones y no suceden al azar. Por ejemplo, la forma que toma el vapor
ejemplo, un líquido hervirá bajo es aleatoria.
ciertas condiciones.
3
GESR

Función objetivo [1]


Formular el problema es quizás el paso más crucial de la optimización. La formulación
del problema requiere identificar los elementos esenciales de una declaración
conceptual o verbal de una aplicación dada y organizarlos en una forma matemática
prescrita, a saber,

1. La función objetivo (criterio económico)

2. El modelo de proceso (restricciones)

La función objetivo representa los factores tales como beneficio, costo, energía, y
producción en términos de las variables claves del proceso que es analizado. El modelo
del proceso y las restricciones describen las correlaciones de las variables clave.

Características esenciales de los problemas de optimización

Debido a que la solución de los problemas de optimización implica varias características


de las matemáticas, la formulación de un problema de optimización debe utilizar
expresiones matemáticas. Tales expresiones no necesitan necesariamente ser muy
complejas. No todos los problemas se pueden indicar o analizar cuantitativamente, pero
restringiremos nuestra cobertura a los métodos cuantitativos. Desde un punto de vista
práctico, es importante relacionar correctamente la declaración del problema con una
técnica de solución anticipada.

Una variedad amplia de problemas de optimización tiene estructuras asombrosamente


similares. De hecho, es esta semejanza la que ha permitido el progreso reciente en las
técnicas de optimización. Los ingenieros químicos, ingenieros petroleros, físicos,
químicos e ingenieros de tráfico, entre otros, tienen un interés común en la misma
estructura matemática del problema, cada uno con un diverso uso en el del mundo real.
Podemos hacer uso esta semejanza estructural para desarrollar un marco o una
metodología dentro de la cual puede ser estudiado cualquier problema.

Cada problema de optimización contiene tres categorías esenciales:

1. Por lo menos una función objetivo que se optimizará (función beneficio, función
costo, etc.)
2. Restricciones de igualdad (ecuaciones)
3. Restricciones de desigualdad (desigualdades)

Las categorías 2 y 3 constituyen el modelo del proceso o del equipo; la categoría 1 a


veces se llama el modelo económico. Por solución factible del problema de
optimización se quiere decir que se trata de un conjunto de variables que satisfacen las
categorías 2 y 3 al grado deseado de precisión.

4
GESR

Pasos para la solución de problemas de optimización

1. Analizar el proceso para definir las variables de proceso y las características


específicas del interés; es decir, hacer una lista de todas las variables. Puede incluir un
diagrama o esquema.

2. Determinar el criterio de optimización (minimizar o maximizar), especificar la


función objetivo en términos de las variables definidas en el paso 1 junto con los
coeficientes. Este paso proporciona el modelo de optimización (a veces llamado modelo
económico cuando sea apropiado).

3. Con expresiones matemáticas, desarrolle un modelo válido del proceso o del equipo
que relacione las variables de entrada-salida del proceso y los coeficientes asociados.
Incluir las restricciones de igualdad y desigualdad. Utilizar principios físicos bien
conocidos (balances de masa, balances de energía), relaciones empíricas, conceptos
implícitos y restricciones externas. Identificar las variables independientes y
dependientes para obtener el número de grados de libertad.

4. Si la formulación del problema es demasiado grande en alcance:

(a) Divida el problema en partes manejables o,


(b) simplifique la función objetivo y el modelo.

5. Aplique una técnica de optimización adecuada a la declaración matemática del


problema.

6. Compruebe las respuestas y examine la sensibilidad del resultado a los cambios en


los coeficientes del problema y las suposiciones.

Ejemplo 1
Se desea enfriar un gas [Cp=0.3 Btu/(lb ºF)] de 195 a 90 ºF, usando agua de
enfriamiento a 80 ºF. Los costos del agua son $0.20/1000 pies3 y los cargos fijos
anuales para el intercambiador son $0.50/pie2 de superficie interna, con un diámetro de
0.0875 pies. El coeficiente de transferencia de calor es U=8 Btu/(h pie2 ºF) para un
gasto másico de gas de 3000 lb/h. Grafique los costos anuales del agua de enfriamiento
y los cargos fijos del intercambiador como una función de la temperatura del agua de
salida. ¿Cuál es el costo total mínimo?

Solución:

Paso 1.

Suposición: Intercambiador de calor de un solo paso por tubos y un solo paso por
coraza en contracorriente y sin cambio de fase.

El perfil de temperatura es:

5
GESR

195ºF

T0
90ºF
80ºF

0.20 $
C agua =
1000 pies 3
$
C fijos = 0.50
pie 2 año
lb
m gas = 300
h
Btu
Cp gas = 0.3
lb º F
Btu
U =8
h pie 2 º F

Paso 2.

Minimizar Costos totales como una función de la temperatura del agua de salida.

$
Costostotales = f (T0 ) =
año
Paso 3.

Sumar todos los costos y dejarlos en $/año. Para eso se necesita las ecuaciones que
describen el proceso:

Suposiciones: Pérdidas de calor despreciables


Se laboran 365 días al año, 24 horas al día.
Btu lb
Cp agua = 1 , ρ agua = 62.4
lb º F pie 3

Q = magua cpagua (T0 − 80)


Q = m gas cp gas (195 − 90)
Q = UAΔTml
(195 − T0 ) − (90 − 80)
ΔTml =
⎛ (195 − T0 ) ⎞
ln⎜⎜ ⎟⎟
⎝ (90 − 80) ⎠

6
GESR

Los costos son:

0.20 $ ⎛⎜ 1 pie 3 ⎞⎟⎛ lb ⎞⎛ (24)(365)h ⎞ $


C agua = ⎜ magua ⎟⎜ ⎟ =
1000 pies ⎝ ρ agua lb ⎟⎠⎝
3 ⎜
h ⎠⎝ año ⎠ año
$ $
C fijos = 0.50 2
( A pies 2 ) =
pie año año

Donde:

Q m gas cp gas (195 − 90) (3000)(0.3)(195 − 90) lb


magua = = = =
cpagua (T0 − 80) cpagua (T0 − 80) (1)(T0 − 80) h

Q (3000)(0.3)(195 − 90)
A= = = pies 2
UΔTml ⎧ ⎫
⎪ ⎪
⎪ (195 − T0 ) − (90 − 80) ⎪
(8)⎨ ⎬
⎪ ln⎛⎜ (195 − T0 ) ⎞⎟ ⎪
⎪⎩ ⎜ (90 − 80) ⎟ ⎪
⎝ ⎠ ⎭

Paso 4.

No hay nada que simplificar

Paso 5.

Una técnica de solución, es derivar la función objetivo en términos de la variable T0.


Igualar a cero y encontrar la solución.

dCtotal
=
dT0

T0 = 120.5 °F
$
Ctotal = 249.40
año

Paso 6.

Para comprobar la solución, se puede graficar.

7
GESR

Ejemplo 2
Un compuesto orgánico se produce en un proceso por lotes donde no se obtiene ningún
producto hasta que se termine el procesamiento del lote. Cada ciclo consiste de un
tiempo de operación necesario para completar la reacción más un tiempo adicional de
1.4 h requeridas para descarga y carga. El tiempo de operación por ciclo es igual a
1.5P0.25, donde P son los kilogramos de producto producido por lote. Los costos de
operación durante el periodo de operación son $20 por hora, mientras que los costos
durante el periodo de descarga-carga son $15 por hora. Los costos fijos anuales (Cf) del
equipo, varían con el tamaño del lote de la siguiente forma:

⎡ $ ⎤
C f = 340 P 0.8 ⎢
⎣ año ⎥⎦

Los cargos por almacenamiento e inventario se pueden despreciar. De ser necesario


asuma que la planta puede operar 24h/día por 300 días/año. La producción anual es 106
kg de producto. A esta capacidad, los costos de las materias primas y misceláneas,
diferentes a los ya mencionados, son de $260 000 por año. Determine el tiempo del
ciclo para obtener el mínimo costo anual total.

Paso 1.

⎡h ⎤
1.4 ⎢ muerto ⎥ tiempo para descarga y carga.
⎣ ciclo ⎦
⎡ hoperación ⎤
1.5P0.25 ⎢ ⎥ tiempo de operación por ciclo (se asume en horas)
⎣ ciclo ⎦
⎡ Kg producto ⎤
P ⎢ ⎥ kilogramos de producto producido por lote (1 lote por cada
⎣ ciclo ⎦
ciclo)

8
GESR

⎡ $ ⎤
20 ⎢ ⎥ Costo durante el periodo de operación
⎣⎢ hoperación ⎦⎥
⎡ $ ⎤
15 ⎢ ⎥ Costo durante el periodo de descarga-carga
⎣ hmuerto ⎦
⎡ $ ⎤
C f = 340 P 0.8 ⎢ Costos fijos anuales
⎣ año ⎥⎦

⎡ Kg producto ⎤
106 ⎢ ⎥ Producción anual
⎣ año ⎦

⎡ $ ⎤
260 000 ⎢ Costos de las materias primas y misceláneas
⎣ año ⎥⎦

De ser necesario asuma que la planta puede operar 24h/día por 300 días/año.

Paso 2.

Minimizar los costos totales anuales en función de la única variable P.

$
Costostotales = f ( P) =
año

Paso 3.

Convertir todos los costos a $/año y después sumarlos.

Costo durante el periodo de operación,

⎛ ⎞⎛ ⎞
⎜ 20 $ ⎟⎜1.5P 0.25 operación ⎟⎛⎜ 1 ciclo ⎞⎟⎛⎜10 6 Kg ⎞⎟ = ⎛⎜ $ ⎞⎟
h
⎜ h

⎟⎜
operación ⎠⎝ ciclo ⎟⎠⎜⎝ P Kg ⎟⎠⎝ año ⎠ ⎝ año ⎠

Costo durante el periodo de descarga-carga,

⎛ $ ⎞⎛ hmuerto ⎞⎛ 1 ciclo ⎞⎛ 6 Kg ⎞ ⎛ $ ⎞
⎜⎜15 ⎟⎟⎜1.4 ⎟⎜ ⎟⎜10 ⎟=⎜ ⎟
⎝ hmuerto ⎠⎝ ciclo ⎠⎜⎝ P Kg ⎟⎠⎝ año ⎠ ⎝ año ⎠

El costo total es,

Paso 4.

No hay nada que simplificar

9
GESR

Paso 5.

Una técnica de solución, es derivar la función objetivo en términos de la variable P.


Igualar a cero y encontrar la solución.

dCtotal
=
dP
Kg
P = 1625.840
ciclo
$
Ctotal =
año

El tiempo de cada ciclo es,


h
1.4 + 1.5P 0.25 = 1.4 + 1.5(1625.84) 0.25 = 10.9
ciclo

El tiempo total al año es,

⎛ h ⎞⎛ 1 ciclo ⎞⎛ 6 Kg ⎞ 10.9 ⋅ 10 6 h
⎜10.9 ⎟⎜⎜ ⎟⎟⎜10 ⎟= = 6704.2
⎝ ciclo ⎠⎝ P Kg ⎠⎝ año ⎠ 1625.84 año

El tiempo total disponible es de (24)(300)=7200 h/año, es decir, a condiciones óptimas


no se requerirá todo el tiempo disponible de operación.

Paso 6.

Para comprobar la solución, se puede graficar.

10
GESR

Métodos analíticos [2]


Derivación Univariable

Primera derivada. Es la pendiente de una recta y se define como:

f ( x + h) − f ( x )
f ' ( x) = lim
h→0 h

Para una función dada f (x) , la pendiente en un punto estacionario (punto mínimo,
máximo o de inflexión) es cero.

f (x)

Máximo
f ' ( x) = 0

Inflexión
f ' ( x) = 0
Mínimo
f ' ( x) = 0
(x)

Segunda derivada. Sigue siendo una pendiente, pero su significado es diferente.

La serie de Taylor, es una serie infinita que puede representar una función como:

( x − x0 ) 2 ( x − x0 ) n
f ( x) = f ( x 0 ) + f ' ( x0 )( x − x0 ) + f ' ' ( x0 ) + L + f ( n) ( x0 )
2! n!

Donde: x0 es un punto estacionario


x es un punto alrededor de x0

Si la serie se trunca hasta el tercer término,

0 (en un punto estacionario)


( x − x0 ) 2
f ( x) = f ( x 0 ) + f ' ( x0 )( x − x0 ) + f ' ' ( x0 )
2!

( x − x0 ) 2
f ( x) = f ( x 0 ) + f ' ' ( x 0 )
2!

11
GESR

Se despeja f ' ' ( x0 ) ,

2!( f ( x ) − f ( x0 ) )
f ' ' ( x0 ) =
( x − x0 ) 2

En está última ecuación, el término f ( x) − f ( x0 ) varía de signo, los otros términos son
siempre positivos.

Para un mínimo

f (x)

f ( x)
Como f ( x) > f ( x0 ) :
f (x)
f ( x) − f ( x0 ) siempre es positivo
f ( x0 )
∴ f ' ' ( x0 ) > 0 es un mínimo

x x0 x (x)

Para un máximo

f ( x)

f ( x0 )
f ( x) Como f ( x) < f ( x0 ) :

f ( x)
f ( x) − f ( x0 ) siempre es negativo

∴ f ' ' ( x0 ) < 0 es un máximo


x x0 x ( x)

12
GESR

El resultado anterior se puede generalizar.

Si el orden de la derivada es un número par (n):

Si f(n)(xopt)>0 se trata de un mínimo


Si f(n)(xopt)<0 se trata de un máximo
Si f(n)(xopt)=0 se necesita de una derivada de orden mayor para definirlo

Si el orden de la derivada es un número impar (m):

Si f(m)(xopt)>0 se trata de un punto de inflexión


Si f(m)(xopt)<0 se trata de un punto de inflexión
Si f(m)(xopt)=0 se necesita de una derivada de orden mayor para definirlo

Ejemplo 1
x4 x2
Encontrar el punto estacionario de la función f (x) = − . Decir de qué tipo se trata.
2 2
Solución:

La primera derivada de la función es,

f ' ( x) = 2 x 3 − x = 0

La solución de la ecuación anterior es,

x=0
x=+ 12
x=− 12

Hasta el momento se sabe que existen 3 puntos estacionarios, pero no se puede decir si
se trata de un punto mínimo, máximo o de inflexión.

La segunda derivada de la función es,

f ' ' ( x) = 6 x 2 − 1

Se evalúa cada punto estacionario y se obtiene,

f ' ' ( x = 0) = −1 f ' ' ( x0 ) < 0 ∴ Se trata de un máximo


f ''(x = + 1 2) = 2 f ' ' ( x0 ) > 0 ∴ Se trata de un mínimo
f ''(x = − 1 2) = 2 f ' ' ( x0 ) > 0 ∴ Se trata de un mínimo

En la siguiente grafica se pueden ver los puntos estacionarios de la función.

13
GESR

Ejemplo 2

Encontrar el punto estacionario de la función f(x)=x5. Decir de qué tipo se trata.

Solución:

La primera derivada es,

f’(x)=5x4=0

La solución de la ecuación anterior es x=0.

La segunda derivada de la función es,

f’’(x)=20x3
f’’(x=0)=0 Se necesita de una derivada de orden mayor

La tercera derivada de la función es,

f(3)(x)=60x2
f(3)(x=0)=0 Se necesita de una derivada de orden mayor

La cuarta derivada de la función es,

f(4)(x)=120x
f(4)(x=0)=0 Se necesita de una derivada de orden mayor

La quinta derivada de la función es,

f(5)(x)=120
f(5)(x=0)=120 como el orden de la derivada es impar (m=5), se trata de un
punto de inflexión.

14
GESR

La gráfica de la función es:

x=0
Punto de inflexión

15
GESR

Derivación Multivariable

Gradiente

El gradiente es la derivada parcial de una función respecto a cada una de las variables
independientes:
⎡ ∂f ⎤
⎢ ∂x ⎥
⎢ 1⎥
⎢ ∂f ⎥
∇f ( x1 , x2 ,L, xn ) = ⎢ ∂x2 ⎥
⎢ M ⎥
⎢ ∂f ⎥
⎢ ⎥
⎣⎢ ∂xn ⎦⎥

Para una función dada f ( x1 , x2 ,L, xn ) , su gradiente en un punto estacionario (mínimo,


máximo u otro) es cero.

Por ejemplo, para la función: f ( x, y ) = ( x − 2) 2 + ( y − 1) 2

T
⎡ ∂f ∂f ⎤
∇f ( x , y ) = ⎢ = [2( x − 2) 2( y − 1)]
T
Su gradiente es: ⎥
⎣ ∂x ∂y ⎦

Su gradiente representa la pendiente de un plano. En el punto mínimo de la función, la


pendiente de este plano respecto al eje “x” y “y” es cero

f(x, y)
f ( x, y )

y x

plano

Hessiano

La serie de Taylor se puede usar para desarrollar el criterio de un mínimo o un máximo


de una función de dos variables,
( x − x0 ) 2
f ( x, y ) = f ( x0 , y0 ) + f x ( x0 , y0 )( x − x0 ) + f y ( x0 , y0 )( x − x0 ) + f xx ( x0 , y0 ) +
2!
( x − x0 )( y − y0 ) ( y − y0 ) 2
+ f xy ( x0 , y0 ) + f yy ( x0 , y0 ) +L
2! 2!

16
GESR

Donde los subíndices “x”,”y” indican diferenciación parcial respecto a aquellas


variables.

Si truncamos la serie de Taylor hasta los términos de segundo orden y puesto que las
primeras derivadas evaluadas en el punto estacionario (x0, y0) son cero:
0 0
( x − x0 ) 2
f ( x, y ) = f ( x0 , y0 ) + f x ( x0 , y0 )( x − x0 ) + f y ( x0 , y0 )( x − x0 ) + f xx ( x0 , y0 ) +
2!
( x − x0 )( y − y0 ) ( y − y0 ) 2
+ f xy ( x0 , y0 ) + f yy ( x0 , y0 )
2! 2!

( x − x0 ) 2 ( x − x0 )( y − y0 ) ( y − y0 ) 2
f ( x, y ) = f ( x0 , y0 ) + f xx ( x0 , y0 ) + f xy ( x0 , y0 ) + f yy ( x0 , y0 )
2! 2! 2!

En forma matricial,
⎡f f xy ⎤ ⎡ ( x − x0 ) ⎤
f ( x, y ) = f ( x0 , y 0 ) +
1
[( x − x0 ) ( y − y0 )]⎢ xx ⎥
2 ⎢⎣ f yx f yy ⎥⎦ ⎢⎣( y − y 0 )⎥⎦
Donde:
⎡ f xx f xy ⎤
⎢ ⎥ es la matriz de segundas derivadas parciales evaluada en el
⎣⎢ f yx f yy ⎦⎥
punto estacionario (x0, y0), a esta matriz se le llama matriz Hessiana.

Para una función de n variables, la matriz Hessiana se puede escribir como,

⎡ ∂2 f ∂2 f ∂2 f ∂2 f ⎤
⎢ L ⎥
⎢ ∂2x1 ∂x1∂x2 ∂x1∂x3 ∂x1∂xn ⎥
2

⎢ ∂ f ∂2 f ∂2 f ∂2 f ⎥
⎢ ∂x ∂x L
∂x22 ∂x2 ∂x3 ∂x2 ∂xn ⎥
H = ⎢ ∂2 f ⎥
2 1

⎢ ∂2 f ∂2 f ∂2 f ⎥
L
⎢ ∂x3∂x1 ∂x3 ∂x2 ∂x32 ∂x3 ∂xn ⎥
⎢ M M M M M ⎥
⎢ ∂2 ∂2 f ∂2 f ∂ f ⎥⎥
2
⎢ f
L
⎣⎢ ∂xn ∂x1 ∂xn ∂x2 ∂xn ∂x3 ∂xn2 ⎦⎥

r
f ( x0 ) es un mínimo si:
H0 tiene determinantes Di > 0 donde i = 1, 2, …, n
(H0 se denomina positiva definida)
r
f ( x0 ) es un máximo si:
H0 tiene determinantes Di < 0 para i = 1, 3, …, impares y
H0 tiene determinantes Di > 0 para i = 2, 4, …, pares
(H0 se denomina negativa definida)

Donde: i, representa el tamaño de la matriz H0 (filas y columnas)

17
GESR

Si el resultado es cero para cualquier valor de Di, se dice que la matriz es semi-definida
positiva o semi-definida negativa, no se puede definir si se trata de un mínimo o un
máximo y por lo tanto se requiere de una derivada de orden mayor para definirlo.

Ejemplo 1

Para una función de dos variables: f ( x, y ) = ( x − 2) 2 + ( y − 1) 2 . Encontrar los puntos


estacionarios y decir si se trata de un mínimo, un máximo o que no se pueda definir
como tal.

Su gradiente es:
⎡ ∂f ⎤
⎢ ⎥ ⎡ f x ⎤ ⎡2( x − 2)⎤
∇f ( x, y ) = ⎢ ∂∂fx ⎥ = ⎢ ⎥ = ⎢ ⎥
⎢ ⎥ ⎣ f y ⎦ ⎣ 2( y − 1) ⎦
⎣⎢ ∂y ⎦⎥

En el punto estacionario, el gradiente es cero:

f x = 2( x − 2) = 0
f y = 2( y − 1) = 0

La solución del sistema de ecuaciones anterior es:

x0 = 2
y0 = 1

Las derivadas parciales del gradiente, se vuelven a derivar para formar la matriz
Hessiana, es decir:

⎡ ∂f x ∂f x ⎤ ⎡ ∂ (2( x − 2)) ∂ (2( x − 2)) ⎤


⎢ ∂x ∂y ⎥ ⎢ ∂x ∂y ⎥ ⎡ 2 0⎤
H= ⎢ ⎥= ⎥=
⎢ ∂f y ∂f y ⎥ ⎢⎢ ∂ (2( y − 1)) ∂ (2( y − 1)) ⎥ ⎢⎣0 2⎥⎦
⎢⎣ ∂x ∂y ⎥⎦ ⎢⎣ ∂x ∂y ⎥⎦

Evaluada en el punto estacionario x0 = 2, y0 = 1

⎡ 2 2⎤
H0 = ⎢ ⎥
⎣ 2 2⎦

La matriz Hessiana es de tamaño i=2, se calcula la determinante de la matriz H0 de


tamaño (1 x 1) y de (2 x 2), como:

18
GESR

D1 = 2
2 0
D2 = =2
0 2

Como D1 >0 y D2 >0, la matriz H0 es positiva definida, por lo tanto se trata de un


mínimo.
f ( x0 = 2, y0 = 1) = 0
La gráfica de la función es:

Ejemplo 2

Para la siguiente función: . Encontrar los puntos


estacionarios y decir si se trata de un mínimo, un máximo o que no se pueda definir
como tal.

Su gradiente es:
⎡ ∂f ⎤
⎢ ⎥
∇f ( x, y ) = ⎢ ∂∂fx ⎥ =
⎢ ⎥
⎣⎢ ∂y ⎦⎥
En el punto estacionario, el gradiente es cero:

⎡0 ⎤
=⎢ ⎥
⎣0 ⎦

19
GESR

La solución del sistema de ecuaciones anterior es:

Las derivadas parciales del gradiente, se vuelven a derivar para formar la matriz
Hessiana:

En el punto 1:

H0 =

D1 =
D1 =

D2 =

D2 =
Como D1 =0 y D2 <0, no se trata ni de un mínimo, ni de un máximo, se necesitan de
derivadas de orden mayor para definirlo.

f ( x0 = 0, y0 = 0) = 3

En el punto 2:

H0 =

D1 =
D1 =

D2 =

D2 =

Como D1 >0 y D2 >0, se trata de un mínimo.

f ( x0 = 0.6541, y0 = −0.91618) = 2.3611

La gráfica de la función es:

20
GESR

Ejemplo 3

Para la siguiente función: . Encontrar los


puntos estacionarios y decir si se trata de un mínimo, un máximo o que no se pueda
definir como tal.

Su gradiente es:
⎡∂f ∂x ⎤
∇f ( x, y ) = ⎢⎢∂f ∂y ⎥⎥ =
⎢⎣ ∂f ∂z ⎥⎦

En el punto estacionario, el gradiente es cero:

⎡0 ⎤
= ⎢⎢0⎥⎥
⎣⎢0⎦⎥

La solución del sistema de ecuaciones anterior es:

Las derivadas parciales del gradiente, se vuelven a derivar para formar la matriz
Hessiana:

21
GESR

En el punto estacionario:

H0 =

D1 =
D1 =

D2 =

D2 =

D3 =

D3 =

Como D1 >0, D2 <0 y D3 <0 no se trata ni de un mínimo, ni de un máximo, se necesitan


de derivadas de orden mayor para definirlo.

22
GESR

Multiplicadores de Lagrange
Se aplica a problemas de optimización multivariable con restricciones de igualdad y
desigualdad

Ejemplo 1

Optimizar: f ( x1 , x2 ) = x1 + x2

Sujeto a: h( x1 , x2 ) = x12 + x22 − 1 = 0

En tercera dimensión, el problema se ve como:

El plano inclinado es la función


objetivo a optimizar que corta al
cilindro que es la restricción.

Si se ve desde arriba, obtendremos una gráfica que se llama de contornos

Cada recta representa un valor


constante de f ( x1 , x2 ) y el valor
óptimo debe estar sobre el círculo
f = 1.4142 (porque es una restricción de
igualdad).
f = 0.7000
f = 0.0000
f = -0.7000
f = -1.4142

De la gráfica anterior se puede ver que el problema tiene dos valores óptimos, un
mínimo en f ( x1 = −0.7071, x2 = −0.7071) =-1.4142 y un máximo en
f ( x1 = 0.7071, x2 = 0.7071) = 1.4142.

23
GESR

Sólo en un punto estacionario, los vectores ∇h y ∇f se pueden relacionar


vectorialmente, en este caso:

∇h

∇f

∇f ∇f = λ∇h

∇h

El valor y signo de la variable λ (llamada multiplicador de Lagrange) no tiene ningún


significado cualitativo, solo relaciona el gradiente de la función objetivo con el
gradiente de las restricciones de igualdad.

Resolviendo el problema por multiplicadores de Lagrange.

La restricción se iguala acero y la función L es:

Se calcula el gradiente de L y cada una de las ecuaciones se iguala a cero:

Resolviendo el sistema de ecuaciones anterior, la solución es:

Solución 1 Solución 2

24
GESR

Cuando existen restricciones de desigualdad que llegan a formar parte de la solución, es


decir, desigualdades que se convierten en igualdades, los multiplicadores de Lagrange
se conoce como condiciones de Kuhn-Tucker o Karush- Kuhn-Tucker.

Hasta el momento no se puede definir si se trata de un mínimo o un máximo. Para eso


se tendrían que calcular las condiciones de segundo orden.

Ejemplo 2

Optimizar: f = x + 2y2 + z2
Sujeta a: x + y + z =1
x – y = -2

Las restricciones se igualan acero y la función L es:

Se calcula el gradiente de L y cada una de las ecuaciones se iguala a cero:

Resolviendo el sistema de ecuaciones, la solución es:

25
GESR

Métodos numéricos [2]

Fibonacci

El método de Fibonacci es considerado como uno de los mejores métodos para


optimización univariable.

A partir de un intervalo de solución dado (a, b), el método de Fibonacci reduce éste
intervalo calculando dos puntos intermedios simétricos (x1, x2), la función objetivo f(x)
se evalúa en estos dos puntos; Para minimizar se elimina el punto con el mayor valor de
f(x) y para maximizar se elimina el punto con el menor valor de f(x)); el proceso de
eliminación se repite hasta un número determinado de intervalos.

f(x2)
f(x1)

a x1 x2 b

Para la siguiente
iteración este intervalo
se elimina

En la gráfica de abajo se muestra un ejemplo del método de Fibonacci. Se realizan 4


iteraciones con 5 intervalos calculados. Se supone que el punto “b” no cambia.

26
GESR

| ∆1
Iteración 1
∆3 ∆2
Δ1 = Δ 2 + Δ 3

a x1 x2 b

∆2
Iteración 2
∆4 ∆3
Δ2 = Δ3 + Δ4

x1 x2 x3 b

∆3
Iteración 3 ∆5 ∆4
Δ3 = Δ4 + Δ5

x2 x3 x4 b

Iteración 4 ∆4
∆5
Δ δ
Δ5 = 4 +
2 2
δ

x3 x4 x5 b

En la última iteración 4, si δ es muy pequeño δ → 0 .

Δ4
Δ5 =
2

Despejando Δ 4 y sustituyendo de la iteración 4 hasta la iteración 1,

Δ 4 = 2Δ 5
Δ 3 = Δ 4 + Δ 5 = 2Δ 5 + Δ 5 = 3Δ 5
Δ 2 = Δ 3 + Δ 4 = 3Δ 5 + 2Δ 5 = 5Δ 5

27
GESR

Δ1 = Δ 2 + Δ 3 = 5Δ 5 + 3Δ 5 = 8Δ 5

Igualando el intervalo Δ 5 de la iteración 1 y la iteración 2,


Δ Δ
Δ5 = 1 = 2
8 5

En la iteración 1,

Δ1 = (b − a )

Δ 2 = (b − x1 ) ó Δ 2 = ( x2 − a )

(b − a) (b − x1 ) (b − a) ( x2 − a)
= ó =
8 5 8 5

5(b − a) 5(b − a)
x1 = b − ó x2 = a +
8 8

Si se realizarán “n” iteraciones,

x1 = b − Δ
x2 = a + Δ

Donde:
fm
Δ= (b − a )
f m +1

m 0 1 2 3 4 5 6 7 8 9 10 … m
fm 0 1 1 2 3 5 8 13 21 34 55 … f m = f m−1 + f m−2

m: es el número de intervalos calculados, m=n+1


n: es el número de iteraciones

Ejemplo

Maximizar: y = 3 + 6x − 4x 2
Intervalo inicial: a=0, b=1
Iteraciones: n = 4 (m=n+1=5 intervalos)

Solución:

Con m= 5 intervalos, f 5 = 5 y f 6 = 8

28
GESR

5
Δ = (1 − 0) = 0.625
8

Iteración 1

a=0 x1 = b − Δ = 1.0 − 0.625 = 0.375 x2 = a + Δ = 0.0 + 0.625 = 0.625 b=1


f 1 = f ( x1 = 0.375) = 4.6875 f 2 = f ( x 2 = 0.625) = 5.1875
f1 < f 2
Se elimina el punto a=0

El nuevo intervalo es:


a=0.375 < x < b=1.0
Δ = (1.0 − 0.625) = 0.375
Iteración 2

a=0.375 x1 = 0.625 x 2 = a + Δ = 0.375 + 0.375 = 0.750 b=1


f1 = 5.1875 f 2 = f ( x 2 = 0.750) = 5.2500
f1 < f 2
Se elimina el punto a=0.375

El nuevo intervalo es:


a=0.625 < x < b=1.0
Δ = (1.0 − 0.750) = 0.250

Iteración 3

a=0.625 x1 = 0.750 x 2 = a + Δ = 0.625 + 0.250 = 0.875 b=1.0


f1 = 5.2500 f 2 = f ( x 2 = 0.875) = 5.1875
f1 > f 2
Se elimina el punto b=1.0

El nuevo intervalo es:


a=0.625 < x < b=0.875
Δ = (0.750 − 0.625) = 0.125

Iteración 4

a=0.625 x1 = b − Δ = 0.875 − 0.125 = 0.750 x2 = 0.750 b=0.875


f1 = f ( x1 = 0.750) = 5.2500 f 2 = 5.2500
f1 = f 2

La solución es x= 0.750

29
GESR

Sección dorada

El método de sección dorada es similar al método de Fibonacci.

∆1
Iteración 1
∆3 ∆2
Δ1 = Δ 2 + Δ 3

Δ1 Δ 2
= +1
Δ3 Δ3 a x1 x2 b

∆2
Iteración 2
∆4 ∆3
Δ2 = Δ3 + Δ4

Δ 2 Δ3
= +1
Δ4 Δ4 x1 x2 x3 b

∆3
Iteración 3 ∆5 ∆4
Δ3 = Δ 4 + Δ5

Δ3 Δ 4
= +1 x2 x3 x4 b
Δ5 Δ5

∆4
Iteración 4
∆6 ∆5
Δ 4 = Δ5 + Δ6

Δ4 Δ5
= +1
Δ6 Δ6
x3 x4 x5 b

De la gráfica anterior, se puede obtener lo siguiente:

30
GESR

Δ 2 Δ3 Δ4 Δ5
= = = =ϕ ( ϕ es una constante)
Δ3 Δ4 Δ5 Δ6
En la iteración 2 tenemos,

Δ2 Δ3
= +1
Δ4 Δ4

Si dividimos y multiplicamos el lado izquierdo por Δ 3 ,

Δ 2 Δ3 Δ3
= +1
Δ3 Δ4 Δ4

ϕϕ = ϕ + 1

ϕ 2 − ϕ −1 = 0

En la iteración 1,

Δ2

Δ3

Δ1 = (b − a )

Δ 2 = (b − x1 ) ó Δ 2 = ( x2 − a )

(b − a ) (b − a )
=ϕ ó =ϕ
(b − x1 ) ( x2 − a )

(b − a ) (b − a)
x1 = b − ó x2 = a +
ϕ ϕ

Ejemplo

Minimizar f ( x) = 0.5 − x exp(− x 2 )


En el intervalo: a=0, b=2
Iteraciones: n=4
Tolerancia t=0.1

31
GESR

(b − a) (2 − 0)
Δ= = = 1.2361
ϕ 1.618
Iteración 1

a=0 x1 = b − Δ = 2 − 1.2361 = 0.7639 x1 = a + Δ = 0 + 1.2361 = 1.2361 b=2


f1 = f ( x1 = 0.7639) = 0.0738 f 2 = f ( x2 = 1.2361) = 0.2318
f1 < f 2
Se elimina el punto b=2

El nuevo intervalo es: a=0 < x < b=1.2361


error = 1.2361 − 0 = 1.2361
Δ = (0.7639 − 0) = 0.7639
Iteración 2

a=0 x1 = b − Δ = 1.2361 − 0.7639 = 0.4721 x1 = 0.7639 b=1.2361


f1 = f ( x1 = 0.4721) = 0.1222 f 2 = 0.0738
f1 > f 2
Se elimina el punto a=0

El nuevo intervalo es: a=0.4721 < x < b=1.2361


error = 1.2361 − 0.4721 = 0.7640
Δ = (1.2361 − 0.7639) = 0.4722

Iteración 3

a=0.4721 x1 = 0.7639 x1 = a + Δ = 0.4721 + 0.4722 = 0.9443 b=1.2361


f1 = 0.0738 f 2 = f ( x2 = 0.9443) = 0.1129
f1 < f 2
Se elimina el punto b=1.2361

El nuevo intervalo es: a=0.4721 < x < b=0.9443


error = 0.9443 − 0.4721 = 0.4722
Δ = (0.7639 − 0.4721) = 0.2918

Iteración 4

a=0.4721 x1 = b − Δ = 0.9443 − 0.2918 = 0.6525 x1 = 0.7639 b=0.9443


f1 = f ( x1 = 0.6525) = 0.0737 f 2 = 0.0738
f1 < f 2
Se elimina el punto b=0.9443

El nuevo intervalo es: a=0.4721 < x < b=0.7639


error = 0.7639 − 0.4721 = 0.2918

32
GESR

Se cumplen las 4 iteraciones, pero no se cumple la tolerancia. El mejor punto obtenido


es x1=0.6525
Simplex [3]
El método de máxima pendiente se aplica a problemas multivariables sin restricciones.

En geometría, un simplex o n-simplex es el análogo en “n” dimensiones de un triángulo.


Por ejemplo, un 0-simplex es un punto; un 1-simplex un segmento de una línea; un 2-
simplex un triángulo; un 3-simplex es un tetraedro; y un 4-simplex es un pentácoron.

En la optimización problemas multivariables, para resolver un problema de 2 variables


independientes necesitaremos un triángulo, para 3 variables un tetraedro, para 4
variables un pentácoron y así sucesivamente.

Por ejemplo, un simplex regular para 2 variables independientes es,

x2

centroide
3

x1

La función f ( x1 , x2 ) se evalúa en los puntos 1, 2 y 3, para minimizar se elimina el


punto que produzca el menor valor de f ( x1 , x2 ) (para maximizar se elimina el punto que
produzca el mayor valor de f ( x1 , x2 ) ). Si se elimina el punto 1, este punto se proyecta
al lado contrario para encontrar un nuevo punto 4. El proceso se repite hasta que ya no
sea posible minimizar más la función.

De los textos de geometría analítica se puede demostrar que las coordenadas de los
vértices de un simplex regular se pueden obtener de la siguiente tabla:

33
GESR

n variables
m puntos
1 2 3 ... n
1 x1 x2 x3 … xn
2 d1 + x1 d2 + x2 d2 + x3 … d2 + xn
3 d2 + x1 d1 + x2 d2 + x3 … d2 + xn
4 d2 + x1 d2 + x2 d1 + x3 … d2 + xn
M M M M M M
m=n+1 d2 + x1 d2 + x2 d2 + x3 … d1 + xn

Donde:
d1 =
n 2
t
( n + 1 + n −1 )
d2 =
t
n 2
( n + 1 −1 )
t , es la distancia entre dos puntos del simplex (o bien, es la tolerancia)

Ejemplo 1

Minimizar: f ( x1 , x2 ) = ( x1 − 3) 2 + ( x2 − 4) 2
Punto inicial: x1=0.5, x2=1.0
Tolerancia: t=0.1

Solución:

El problema es de 2 variables independientes “x1” y “x2”, se necesitan m=2+1=3 puntos.

d1 =
n
t
2
( n + 1 + n −1 = )
0.1
2 2
(
2 + 1 + 2 − 1 = 0.0966 )
d2 =
n 2
t
( )
n + 1 −1 =
0.1
2 2
(
2 + 1 − 1 = 0.02589 )

Punto x1 x2 f(x1, x2) Triángulo


1 0 .5 1 .0 15.2500
2 0.0966 + 0.5 0.0259 + 1.0 14.6218
3 0.0259 + 0.5 0.0966 + 1.0 14.5510 1, 2, 3

Para minimizar, se elimina el punto con el mayor valor de f ( x1 , x2 ) , en este caso es el


punto 1.

Punto x1 x2 f(x1, x2) Triángulo


1 0.5 1.0 15.2500
2 0.5966 1.0259 14.6218

34
GESR

3 0.5259 1.0966 14.5510 1, 2, 3


Centroide:

x1C =
1
n
[(∑ x ) − x ]
1
e
1 x2C =
1
n
[(∑ x ) − x ]
2
e
2

Donde el superíndice “c” es para centroide y “e” es para eliminado

x1C =
1
[(0.5 + 0.5966 + 0.5259) − 0.5] = 0.56125
2

x 2C =
1
[(1.0 + 1.0259 + 1.0966) − 1.0] = 1.06125
2

Punto reflejado:

x1 = 2 x1C − x1e x2 = 2 x2C − x2e

x1 = 2(0.56125) − 0.5 = 0.6225 x2 = 2(1.06125) − 1.0 = 1.1225

Como el valor de la función en el punto 4, es menor que el punto eliminado 1, el


proceso se repite de lo contrario se detiene.

Para minimizar, se elimina el punto con el mayor valor de f ( x1 , x2 ) , en este caso es el


punto 2.

Punto x1 x2 f(x1, x2) Triángulo


1 0.5 1.0 15.2500
2 0.5966 1.0259 14.6218
3 0.5259 1.0966 14.5510 1, 2, 3
4 0.6225 1.1225 13.9328 2, 3, 4

Centroide:

x1C =
1
[(0.5966 + 0.5259 + 0.6225) − 0.5966] = 0.5742
2

x2C =
1
[(1.0259 + 1.0966 + 1.1225) − 1.0259] = 1.10955
2

Punto reflejado:

x1 = 2(0.5742) − 0.5966 = 0.5518 x2 = 2(1.10955) − 1.0259 = 1.1932

35
GESR

Como el valor de la función en el punto 5, es menor que el punto eliminado 2, el


proceso se repite de lo contrario se detiene.

Se elimina el punto con el mayor valor de f ( x1 , x2 ) , en este caso es el punto 3.

Punto x1 x2 f(x1, x2) Triángulo


1 0.5 1.0 15.2500
2 0.5966 1.0259 14.6218
3 0.5259 1.0966 14.5510 1, 2, 3
4 0.6225 1.1225 13.9328 2, 3, 4
5 0.5518 1.1932 13.8721 3, 4, 5

La tabla completa de resultados es,

Punto x1 x2 f(x1,x2) Triángulo


1 0.5000 1.0000 15.2500
2 0.5966 1.0259 14.6218
3 0.5259 1.0966 14.5510 1 2 3
4 0.6225 1.1225 13.9328 4 2 3
5 0.5518 1.1932 13.8721 4 5 3
6 0.6484 1.2191 13.2638 4 5 6
7 0.5776 1.2898 13.2131 7 5 6
8 0.6742 1.3157 12.6149 7 8 6
9 0.6035 1.3864 12.5741 7 8 9
10 0.7001 1.4123 11.9859 10 8 9
M M M M M M M
81 2.7374 3.6616 0.1835 81 80 78
82 2.7632 3.7582 0.1145 81 80 82
83 2.6925 3.8289 0.1238 83 80 82
84 2.7891 3.8548 0.0655 83 84 82
85 2.8598 3.7841 0.0663 85 84 82
86 2.8857 3.8807 0.0273 85 84 86
87 2.8150 3.9514 0.0366 87 84 86
88 2.9116 3.9773 0.0083 87 88 86
89 2.9823 3.9066 0.0090 89 88 86
90 3.0082 4.0032 0.0001 89 88 90

En el punto 90, se obtiene el resultado final de:

x1 = 3.0082
x2 = 4.0032
f ( x1 = 3.0082, x2 = 4.0032) = 0.0001

36
GESR

Ejemplo 2

Minimizar: f ( x1 , x 2 ) = ( x1 − 3) 2 + ( x2 − 4) 2 + ( x3 − 5) 2
Punto inicial: x1=0.0, x2=0.0, x3=0.0
Tolerancia: t=0.1

Solución:

Punto x1 x2 x3 f(x1,x2,x3) Tetraedro


1 0.0000 0.0000 0.0000 50.0000 1 2 3 4
2 0.0943 0.0236 0.0236 49.0201 1 2 3 4
3 0.0236 0.0943 0.0236 48.8786 1 2 3 4
4 0.0236 0.0236 0.0943 48.7372 1 2 3 4
5 0.0943 0.0943 0.0943 47.7639 5 2 3 4
6 0.0000 0.1179 0.1179 47.9065 5 6 3 4
7 0.0550 0.0629 0.1807 47.3998 5 6 7 4
8 0.0759 0.1598 0.1676 46.6496 5 6 7 8
9 0.1502 0.0934 0.1772 46.6424 5 9 7 8
10 0.0931 0.1164 0.2561 46.0372 10 9 7 8
M M M M M M M M M
230 2.9066 3.8418 4.8971 0.0443 229 230 228 227
231 2.9671 3.8929 4.8361 0.0394 229 230 231 227
232 2.9335 3.9353 4.9202 0.0150 229 230 231 232
233 3.0006 3.8614 4.9249 0.0249 233 230 231 232
234 3.0275 3.9513 4.8903 0.0152 233 234 231 232
235 3.0073 3.9390 4.9875 0.0039 233 234 235 232
236 2.9782 4.0224 4.9405 0.0045 236 234 235 232
237 2.9185 3.9799 5.0085 0.0071 236 237 235 232
238 3.0026 4.0256 5.0374 0.0021 236 237 235 238
239 3.0736 4.0115 4.9685 0.0065 236 239 235 238

En el punto 239, se obtiene el resultado final de:

x1 = 3.0736
x2 = 4.0115
x2 = 4.9685
f ( x1 = 3.0736, x2 = 4.0115, x3 = 4.9685) = 0.0065

37
GESR

Nelder-Mead [4]
El método de Nelder-Mead es una versión más eficiente del método simplex que
permite que las figuras geométricas se reflejen agregando un coeficiente α , se
contraigan con un coeficiente β o se expandan con un coeficiente γ . El método es muy
robusto para hacerlo manualmente, pero se implementa fácilmente en un código de
computadora.

Los valores de los coeficientes α , β y γ recomendados por los autores del método son:
α =1
β = 0.5
γ =2

Ejemplo 1

Minimizar: f ( x1 , x2 ) = ( x1 − 3) 2 + ( x2 − 4) 2
Punto inicial: x1=0.5, x2=1.0
Tolerancia: t=0.1

Solución:

Punto x1 x2 f(x) error


1 0.5259 1.0970 14.5500 0.3142
2 0.7449 1.2450 12.6800 0.9012
3 0.7519 1.6050 10.7900 1.5360
4 1.4160 2.4110 5.0340 3.2500
5 2.1010 4.2980 0.8971 4.0560
6 2.1010 4.2980 0.8971 1.8680
7 2.1010 4.2980 0.8971 0.1990
8 2.1790 4.1280 0.6909 0.2410
9 2.1790 4.1280 0.6909 0.0889

En el punto 9, se obtiene el resultado final de:

x1 = 2.1790
x2 = 4.1280
f ( x1 = 2.1790, x2 = 4.1280) = 0.6909

38
GESR

Ejemplo 2

Minimizar: f ( x1 , x 2 ) = ( x1 − 3) 2 + ( x2 − 4) 2 + ( x3 − 5) 2
Punto inicial: x1=0.0, x2=0.0, x3=0.0
Tolerancia: t=0.1

Solución:

iteración x1 x2 x3 f(x) error


1 0.0236 0.0236 0.0943 48.7400 0.4958
2 0.1886 0.1886 0.1886 45.5800 1.4310
3 0.1886 0.1886 0.1886 45.5800 1.4320
4 0.2959 0.2409 0.5474 41.2700 2.7050
5 0.6591 0.7429 0.9393 32.5800 5.4930
6 0.6591 0.7429 0.9393 32.5800 5.4530
7 1.6400 1.5470 2.6650 13.3200 10.2900
8 1.6400 1.5470 2.6650 13.3200 9.8120
9 3.2390 3.5000 5.3030 0.3992 11.4800
10 3.2390 3.5000 5.3030 0.3992 6.1800
11 3.2390 3.5000 5.3030 0.3992 5.0450
12 3.2390 3.5000 5.3030 0.3992 1.4960
13 3.2390 3.5000 5.3030 0.3992 0.6770
14 3.2390 3.5000 5.3030 0.3992 0.5322
15 3.2390 3.5000 5.3030 0.3992 0.4255
16 3.2390 3.5000 5.3030 0.3992 0.1239
17 3.2370 3.6360 5.4530 0.3938 0.1386
18 3.2370 3.6360 5.4530 0.3938 0.1132
19 3.2370 3.6360 5.4530 0.3938 0.0095

En el punto 239, se obtiene el resultado final de:

x1 = 3.2370
x2 = 3.6360
x2 = 5.4530
f ( x1 = 3.2370, x2 = 3.6360, x3 = 5.4530) = 0.3938

39
GESR

Máxima Pendiente [1]


El método de máxima pendiente se aplica a problemas multivariables sin restricciones.
r r
Para una función objetivo de la forma: f = f (x ) donde x es un vector. El
procedimiento de cálculo es el siguiente:

Paso 1. Estimar un punto inicial [x ]


r1
Paso 2. Calcular el gradiente de la función ∇f ( x ) = [∂f ∂x1 ∂f ∂x2 L ∂f ∂xn ]
r

Paso 3. Sustituir el punto inicial [x ] en: [xr ]n +1 = [xr ]n − α [∇f ( xr )]n


r1
Donde n = 1, 2 , …, número máximo de iteraciones
Paso 4. Sustituir [x ] en la función objetivo: f = f ([x ] − α [∇f ( x )] ) = f (α )
r n +1 rn r n
Paso 5. Minimizar la función f (α ) y sustituir α
Paso 6. Repetir pasos 3 a 5 hasta cumplir la tolerancia o un número máximo de
iteraciones.

Ejemplo 1

Minimizar: f = f (x, y ) = ( x − 2) 2 + ( y − 6) 2
Punto inicial x=0.5, y=0.8
Número máximo de iteraciones: 5
Tolerancia: 0.01

Solución:

Se calcula el gradiente de la función objetivo:

∂f
= 2( x − 2)
∂x
∂f
= 2( y − 6)
∂x

Calcular un nuevo punto (x, y):

∂f
x = x −α = x − α (2( x − 2))
∂x
∂f
y = y −α = y − α (2( y − 6))
∂y
Iteración 1

Se hace la sustitución del punto inicial en el sistema de ecuaciones,

40
GESR

Se sustituye en la función objetivo, se deriva respecto a α y se obtiene el valor de α,

Se sustituye α y se obtiene un nuevo punto inicial,

El error es,

Iteración 2

Se hace la sustitución del punto inicial,

Como ya no aparece la variable α, se termina y el valor final es,

El error es,

Los resultados se resumen en la siguiente tabla,

Iteración x y f(x, y) error=máx║xn+1-xn║


0 0.5 0.8 29.29 -
1 2.0 6.0 0 5.2
2 2.0 6.0 0 0

41
GESR

Ejemplo 2

Minimizar: f = f ( x, y , z ) = 2 x 2 + y 2 + 3 z 2
Punto inicial x=2, y= -2, z= 1
Número máximo de iteraciones: 5
Tolerancia: 0.5

Se calcula el gradiente de la función objetivo:

∂f
= 4x
∂x
∂f
= 2y
∂x
∂f
= 6z
∂z

Calcular un nuevo punto (x, y, z):

∂f
x = x −α = x − α (4 x)
∂x
∂f
y = y −α = y − α (2 y )
∂y
∂f
z = z −α = z − α (6 z )
∂z

Iteración 1

Se hace la sustitución del punto inicial,

Se sustituye en la función objetivo, se deriva respecto a α y se obtiene el valor de α,

Se sustituye α y se obtiene un nuevo punto inicial,

42
GESR

El error es,

Iteración 2

Se hace la sustitución del punto inicial,

Se sustituye en la función objetivo, se deriva respecto a α y se obtiene el valor de α,

Se sustituye α y se obtiene un nuevo punto inicial,

El error es,

43
GESR

Iteración 3

Se hace la sustitución del punto inicial,

Se sustituye en la función objetivo, se deriva respecto a α y se obtiene el valor de α,

Se sustituye α y se obtiene un nuevo punto inicial,

El error es,

Los resultados se resumen en la siguiente tabla,

Iteración x y z f(x, y) error=máx║xn+1-xn║


0 2 -2 1 15 -
1 0.15873 -1.07937 -0.38095 1.65079 1.8412
2 0.00424 -0.55409 0.17522 0.39916 0.55617
3 -0.00011 -0.26956 -0.09471 0.09957 0.28453

44
GESR

Programación lineal [1,2]


En este método, la palabra programación significa optimización y no a la generación de
un código de computadora. Un problema de programación lineal involucra la
optimización de una función objetivo lineal sujeta a restricciones de igualdad y
desigualdad, que también son lineales.

Los métodos utilizados para resolver un problema de programación lineal son:

Gráfico, solo aplicable a problemas de 2 variables independientes.


Simplex, aplicable a problemas de 2 o más variables independientes.
Punto interior, aplicable a problemas de 2 o más variables independientes.

Método gráfico.

Ejemplo

Maximizar: f = x1 + 3x2

Sujeto a: − x1 + x2 ≤ 1 (1)
x1 + x2 ≤ 2 (2)
x1 + x2 ≥ 1 (3)
x1 ≥ 0, x2 ≥ 0

Solución:

Graficar

Se grafican las restricciones que son rectas (para graficar una recta se necesitan dos
puntos):

Para la restricción 1: − x1 + x2 ≤ 1 , se toma como igualdad, − x1 + x2 = 1

Si x1=0, entonces x2=-1, punto 1 (x1,x2)=(0,1)


Si x2=0, entonces x1=1, punto 2 (x1,x2)=(-1,0)

Para la restricción 2: x1 + x2 ≤ 2 , se toma como igualdad, x1 + x2 = 2

Si x1=0, entonces x2=2, punto 1 (x1,x2)=(0,2)


Si x2=0, entonces x1=2, punto 2 (x1,x2)=(2,0)

Para la restricción 3: x1 + x2 ≥ 1 , se toma como igualdad, x1 + x2 = 1

Si x1=0, entonces x2=2, punto 1 (x1,x2)=(0,1)


Si x2=0, entonces x1=2, punto 2 (x1,x2)=(1,0)

45
GESR

x2
x1 + x2 ≤ 2 − x1 + x2 ≤ 1
2

x1 + x2 ≥ 1
1

x1
-1 0 1 2

Región factible

Se toma un punto de referencia, por ejemplo el origen que tiene coordenadas


(x1,x2)=(0,0). Se sustituye en cada una de las restricciones:

− x1 + x2 ≤ 1 : − 0 + 0 ≤ 1 , 0 ≤ 1 Verdadero
x1 + x2 ≤ 2 : 0 + 0 ≤ 2 , 0 ≤ 2 Verdadero
x1 + x2 ≥ 1 : 0 + 0 ≥ 1 , 0 ≥ 1 Falso
x1 ≥ 0 , x2 ≥ 0 indican el primer cuadrante

La región factible de cada recta apunta hacia el punto de referencia, en este caso, si el
resultado es verdadero hacia el origen, si es falso hacia el lado opuesto del origen.

x2
x1 + x2 ≤ 2 − x1 + x2 ≤ 1
2

x1 + x2 ≥ 1
1

x1
-1 0 1 2

46
GESR

Se señala la región factible que satisface a todas las restricciones. Es la región, cuyos
lados señalan todos hacia adentro.

x2
x1 + x2 ≤ 2 − x1 + x2 ≤ 1
2

x1 + x2 ≥ 1
1

x1
-1 0 1 2

Punto óptimo

Se evalúan las coordenadas de c/u de las esquinas de la región factible

x2
x1 + x2 ≤ 2 − x1 + x2 ≤ 1
2

x1 + x2 ≥ 1
1

x1
-1 0 1 2

Punto x1 x2 f(x1,x2)
A 0.5000 1.500 5.000
B 0.000 1.000 3.000
C 2.000 0.000 2.000
D 1.000 0.000 1.000

El punto con el mayor valor de f(x1, x2) es el punto A.

47
GESR

Método Simplex
Ejemplo

Maximizar: f = x1 + 3x2
Sujeto a: − x1 + x2 ≤ 1 (1)
x1 + x2 ≤ 2 (2)
x1 + x2 ≥ 1 (3)
x1 ≥ 0, x2 ≥ 0

Las variables de la función objetivo y las restricciones se pasan al lado izquierdo,


dejando las constantes del lado derecho.

f − x1 − 3 x 2 = 0
− x1 + x 2 ≤ 1
x1 + x2 ≤ 2
x1 + x2 ≥ 1
x1 ≥ 0, x2 ≥ 0

Las desigualdades se convierten a igualdades, agregando una variable de holgura


positiva por cada restricción.

Por ejemplo, si tuviéramos la desigualdad 3 ≤ 5 , tenemos dos opciones para convertirla


a igualdad agregando el número positivo 2.

Opción 1: sumar del lado menor 3+ 2 = 5


Opción 2: restar del lado mayor 3= 5−2

Para nuestro problema,

f − x1 − 3 x 2 = 0
− x1 + x2 + x3 = 1
x1 + x 2 + x 4 = 2
x1 + x2 − x5 = 1
x1 ≥ 0, x2 ≥ 0, x3 ≥ 0, x4 ≥ 0, x5 ≥ 0

Se hace una tabla con los coeficientes de la función objetivo y las restricciones,

Tabla 1

f x1 x2 x3 x4 x5 b
E1 1 -1 -3 0 0 0 0
E2 0 -1 1 1 0 0 1
E3 0 1 1 0 1 0 2
E4 0 1 1 0 0 -1 1

48
GESR

Solución parcial

Variables básicas. Una variable es básica si tiene solamente un coeficiente diferente de


cero y su valor es la división de la constante “b” entre el coeficiente.

Variables no básicas. Una variable es no básica si tiene más de un coeficiente diferente


de cero y su valor es cero.

1 2 1
Básicas: x3 = = 1 , x4 = = 2 , x5 = = −1
1 1 −1
No básicas: x1 = 0 , x 2 = 0

El valor de la función objetivo es f ( x1 = 0, x 2 = 0) = 0 (valor en la esquina superior


derecha de la tabla)

Pivote

Columna pivote. En el primer renglón (función objetivo), se elige el menor número


negativo. Si no hay negativos, se detiene el proceso iterativo.

Renglón pivote. Se divide la constante “b” entre su respectivo coeficiente de la columna


pivote. Se elige el menor número positivo diferente de cero.

El pivote es la intersección de la columna pivote y el renglón pivote.

f x1 x2 x3 x4 x5 b
1 -1 -3 0 0 0 0
0 -1 1 1 0 0 1 1/1= 1
0 1 1 0 1 0 2 2/1= 2
0 1 1 0 0 -1 1 1/1= 1

Eliminación

Se hacen ceros los coeficientes arriba y abajo del pivote. El modo de eliminación es:

Ecuación = Ecuación – (número a eliminar/ pivote) Ecuación pivote

f x1 x2 x3 x4 x5 b
E1=E1-(1/-3)E2 1-(-3/1)0 -1-(-3/1)-1 -3-(-3/1)1 0-(-3/1)1 0-(-3/1)0 0-(-3/1)0 0-(-3/1)1

E2=E2 0 -1 1 1 0 0 1
E3=E3-(1/1)E2 0-(1/1)0 1-(1/1)-1 1-(1/1)1 0-(1/1)1 1-(1/1)0 0-(1/1)0 2-(1/1)1
E4=E4-(1/1)E2 0-(1/1)0 1-(1/1)1 1-(1/1)1 0-(1/1)0 0-(1/1)1 -1-(1/1)0 1-(1/1)2

49
GESR

Tabla 2

f x1 x2 x3 x4 x5 b
E1 1 -4 0 3 0 0 3
E2 0 -1 1 1 0 0 1
E3 0 2 0 -1 1 0 1
E4 0 2 0 -1 0 -1 0

Solución parcial
1 1 0
Básicas: x 2 = = 1 , x 4 = = 1 , x5 = =0
1 1 −1
No básicas: x1 = 0 , x3 = 0
El valor de la función objetivo es: f ( x1 = 0, x 2 = 1) = 3

Pivote

f x1 x2 x3 x4 x5 b
1 -4 0 3 0 0 3
0 -1 1 1 0 0 1 1/-1= -1
0 2 0 -1 1 0 1 1/2= 0.5
0 2 0 -1 0 -1 0 0/2= 0

Eliminación

f x1 x2 x3 x4 x5 b
E1=E1-(-4/2)E3 1-(4/2)0 -4-(4/2)2 0-(4/2)0 3-(4/2)-1 0-(4/2)1 0-(4/2)0 3-(4/2)1
E2=E2-(-1/2)E3 0-(-1/2)0 -1-(-1/2)2 1-(-1/2)0 1-(-1/2)-1 0-(-1/2)1 0-(-1/2)0 1-(-1/2)1

E3 0 2 0 -1 1 0 1
E4=E4-(2/2)E3 0-(2/2)0 2-(2/2)2 0-(2/2)0 -1-(2/2)-1 0-(2/2)1 -1-(2/2)0 0-(2/2)1

Tabla 3

f x1 x2 x3 x4 x5 b
1 0 0 1 2 0 5
0 0 1 0.5 0.5 0 1.5
0 2 0 -1 1 0 1
0 0 0 0 -1 -1 -1

Solución final (porque ya no hay números negativos en el primer renglón)


1 1.5 −1
Básicas: x1 = = 0.5 , x2 = = 1.5 , x5 = =1
2 1 −1
No básicas: x3 = 0 , x 4 = 0
El valor de la función objetivo es: f ( x1 = 0.5, x2 = 1.5) = 5

50
GESR

Programación geométrica [2]


La programación geométrica se aplica a polinomios.

Ejemplo de polinomios con términos positivos


0.286 0.286
⎛P ⎞ ⎛ 1000 ⎞
0.286
⎛ P ⎞
Minimizar: W =⎜ 2 ⎟ + ⎜⎜ 3 ⎟⎟ + ⎜⎜ ⎟⎟
⎝ 100 ⎠ ⎝ P2 ⎠ ⎝ P3 ⎠

Es recomendable que las variables y constantes que están dividiendo, pasen del
denominador al numerador.

−0.286 −0.286
W = 100 −0.286 P2 + P2 + 1000 0.286 P3
0.286 0.286
P3

A cada sumando se le divide por una variable wi y esta división se eleva a la misma wi,
con i =1,2, …, # total de sumandos. Para formar una multiplicatoria:

w1 w2 w3
⎛ 100 −0.286 P2 0.286 ⎞ ⎛ P2 −0.286 P30.286 ⎞ ⎛ 1000 0.286 P3 −0.286 ⎞
W = ⎜⎜ ⎟ ⎜ ⎟ ⎜ ⎟
⎟ ⎜ ⎟ ⎜ ⎟
⎝ w 1 ⎠ ⎝ w 2 ⎠ ⎝ w 3 ⎠

Se separan las constantes de las variables:

w1 w3
⎛ 100 −0.286 ⎞ ⎛ 1 ⎞ ⎛ 10000.286 ⎞
w2

W = ⎜⎜ ⎟⎟ ⎜ ⎟ ⎜⎜ ⎟⎟ P2 0.286 w1−0.286 w 2 P30.286 w 2−0.286 w3


⎝ w1 ⎠ ⎝ w2 ⎠ ⎝ w3 ⎠

El exponente de cada variable se iguala a cero:

0.286 w1 – 0.286 w2 = 0
0.286 w2 – 0.286 w3 = 0

Y se agrega una ecuación que es la sumatoria de todas las wi igual a 1.

w1 + w2 + w3 = 1

Se resuelve el sistema de ecuaciones:

0.286 w1 – 0.286 w2 = 0
0.286 w2 – 0.286 w3 = 0
w1 + w2 + w3 = 1

La solución del sistema de ecuaciones es:

w1=1/3
w2=1/3
w3=1/3

51
GESR

Se sustituyen los valores de wi:

1/ 3 1/ 3
1 1
⎛ 100 −0.286 ⎞ ⎛ 1 ⎞ ⎛ 1000 0.286 ⎞
1/ 3

= ⎜⎜ ⎟⎟ ⎜ 1 / 3 ⎟ ⎜⎜ 1 / 3 ⎟⎟ P2 P3 = 3.73
0 0
W mínimo
⎝ 1/ 3 ⎠ ⎝ ⎠ ⎝ ⎠

Cada sumando se divide entre su wi y se iguala al valor óptimo de la función objetivo,

100 −0.286 P2 100 −0.286 P2


0.286 0.286

W mínimo
= 3.73 =
w1 1/ 3

−0.286 0.286 −0.286 0.286


P2 P3 P2 P3
W mínimo
= 3.73 =
w2 1/ 3

−0.286 −0.286
1000 0.286 P3 1000 0.286 P3
W mínimo
= 3.73 =
w3 1/ 3

De las ecuaciones anteriores, se obtiene el valor de las variables independientes:

P2=215.44
P3=464.16

Ejemplo de polinomios con términos positivos y negativos

115
Minimizar: y = 3 x10.25 − 3 x11.1 x 20.6 − − 2 x3
x 2 x3

Es recomendable que las variables y constantes que están dividiendo, pasen del
denominador al numerador.

y = 3 x10.25 − 3 x11.1 x 20.6 − 115 x 2−1 x3−1 − 2 x3

A cada término se le divide por un peso wi y esta división se eleva a la misma wi. con
i=1,2, …, # total de términos.

Se hace la división de la multiplicatoria de los términos positivos entre la multiplicatoria


de los términos negativos.

w1
⎛ 3 x10.25 ⎞
⎜⎜ ⎟⎟ Términos positivos
y= ⎝ w 1 ⎠
w2 w2
⎛ 3 x11.1 x 20.6 ⎞ ⎛ 115 x 2−1 x3−1 ⎞ ⎛ 2 x3 ⎞
w3

⎜⎜ ⎟⎟ ⎜⎜ ⎟ ⎜ ⎟ Términos negativos
⎝ w2 ⎠ ⎝ w3 ⎟⎠ ⎝ w4 ⎠

52
GESR

Se separan las constantes de las variables:

w1
⎛ 3⎞
⎜ ⎟
y= ⎝ w1 ⎠ x10.25w1−1.1w2 x2−0.6 w2+ w3 x3w3− w4
w2 w3 w4
⎛ 3 ⎞ ⎛ 115 ⎞ ⎛ 2 x3 ⎞
⎜ ⎟ ⎜ ⎟ ⎜ ⎟
⎝ w2 ⎠ ⎝ w3 ⎠ ⎝ w4 ⎠

El exponente de cada variable se iguala a cero:

0.25w1 − 1.1w2 = 0
− 0.6w2 + w3 = 0
w3 − w4 = 0

Y se agrega una ecuación que es la sumatoria de todas las wi de los términos positivos
menos la suma de todas las wi de los términos negativos igual a 1.

w1 − w2 − w3 − w4 = 1

Se resuelve el sistema de ecuaciones:

0.25w1 − 1.1w2 = 0
− 0.6 w2 + w3 = 0
w3 − w4 = 0
w1 − w2 − w3 − w4 = 1

La solución del sistema de ecuaciones es:

w1=2
w2=5/11
w3=3/11
w4=3/11

Se sustituyen los valores de wi:

2
⎛ 3⎞
⎜ ⎟ 1 1 1
y mínimo
= ⎝ 2⎠
x x20 x30 = 0.1067
0
5 / 11 3 / 11 3 / 11 1
⎛ 3 ⎞ ⎛ 115 ⎞ ⎛ 2 x3 ⎞
⎜ ⎟ ⎜ ⎟ ⎜ ⎟
⎝ 5 / 11 ⎠ ⎝ 3 / 11 ⎠ ⎝ 3 / 11 ⎠

Cada término se divide entre su wi y se iguala al valor óptimo de la función objetivo,

3x10.25 3x10.25
y mínimo = 0.1067 =
w1 2

53
GESR

3 x11.1 x20.6 3x11.1 x20.6


y mínimo = 0.1067 =
w2 5 / 11

115 x2−1 x3−1 115 x 2−1 x3−1


y mínimo = 0.1067 =
w3 3 / 11

2 x3 2 x3
y mínimo = 0.1067 =
w4 3 / 11

De las ecuaciones anteriores, se obtiene el valor de las variables independientes:

x1 = 2.560 × 10-5, x2 = 2.716 × 105, x3 = 1.455 × 10-2

54
GESR

Programación dinámica [2]


La programación dinámica resuelve un problema de optimización por etapas y obtiene
el óptimo con un número de combinaciones menor a todas las combinaciones posibles.

Cada etapa tiene 4 variables:

Ri (Resultado)

Si (Estado) Etapa i S~i (Transición)

Di
(Decisión)

Para múltiples etapas:

F3=F2+R3 F2=F1+R2 F1=R1

R3 R2 R1

Etapa 3 Etapa 2 Etapa 1 ~


~ S1
S3 S~3 S2 S 2 S1

d3 d2 d1

El problema se comienza a resolver, a partir de la etapa final (etapa 1), debido a que
cualquier decisión que se tome en esta etapa (d1) no tendrá efecto en etapas
subsecuentes, el flujo de información es de izquierda a derecha. El diagrama de etapas
puede tener ramificaciones que no se contemplan aquí.

55
GESR

Ejemplo 1

Un carro tanque transporta un producto fabricado en San Francisco que debe ser
entregado a cualquier puerto importante en la costa este para su envío a Europa. El costo
de envío a través del Atlántico es esencialmente igual en todos los puertos principales
de la costa del este. Se desea para seleccionar la ruta óptima (el kilometraje de camino
más bajo) de San Francisco a la costa este. Las distancias relativas entre las ciudades a
lo largo de las rutas posibles se muestran en el siguiente diagrama:

N0

C4 C0

S0

Diagrama por etapas.

Para este problema, las etapas son el traslado de un nodo a otro:

F4=F3+R4 F3=F2+R3 F2=F1+R2 F1=R1

R4 R3 R2 R1

Etapa 4 Etapa 3 Etapa 2 Etapa 1 ~


~ ~ S1
S4 S 4 S3 S~3 S2 S 2 S1

d4 d3 d2 d1
~
Identificar las variables de cada etapa (Si, di, Ri, S i )

Variable de estado (Si): El nodo de salida


Variable de decisión (di): Seleccionar una ruta
Variable de resultado (Ri): El kilometraje acumulado
~
Variable de transición ( S i ): El nodo de llegada

56
GESR

Definir todos los estados posibles para todas las etapas

Los estados de cada etapa son todos los nodos de salida.

S4 d4 F4 S~4 S3 d3 F3 S~3 S2 d2 F2 S~2 S1 d1 F1 S~1


C4 N3 N2 N1 1 1 N0
C3 C2 C1 3 3 N0
S3 S2 S1 7 7 C0

Combinaciones

Combinaciones de la etapa 2

S2 R2 F2 S~2 F2=F1+R2
N2 8 8 N1 9 ←menor
N2 7 7 C1 10

C2 6 6 N1 7 ←menor
C2 5 5 C1 8
C2 4 4 S1 11

S2 3 3 C1 6 ←menor
S2 2 2 S1 9

Combinaciones de la etapa 3

S3 R3 F3 S~3 F3=F2+R3
N3 1 1 N2 10 ←menor
N3 3 3 C2 10 ←menor

C3 5 5 N2 14
C3 6 6 C2 13 ←menor
C3 7 7 S2 13 ←menor

S3 8 8 C2 15 ←menor
S3 9 9 S2 15 ←menor

Combinaciones de la etapa 4

S4 R4 F4 S~4 F4=F3+R4
C4 6 6 N3 16 ←menor
C4 5 5 C3 18
C4 4 4 S3 19

Se eligen las mejores combinaciones (los que tiene el menor kilometraje) y se obtiene la
siguiente tabla:

57
GESR

S4 d4
~
F4 S 4 S3 d3 F3 S~3 S2 d2 F2 S~2 S1 d1 F1 S~1
C4 6 16 N3 N3 1,3 10 N2,C2 N2 8 9 N1 N1 1 1 N0
C3 6,7 13 C2,S2 C2 6 7 N1 C1 3 3 N0
S3 8,9 15 C2,S2 S2 3 6 C1 S1 7 7 C0

Ejemplo 2

Un flujo másico de 700 lb/h se debe de distribuir entre tres reactores químicos que
operan en paralelo:

R3 = 0.08F3 - 3(N3/100)2 R2 = 0.08F2 - 2(N2/100)2 R1 = 0.08F1 - (N1/100)2

Reactor Reactor Reactor


3 2 1

N3 N2 N1
700

Cada reactor tiene un catalizador diferente y condiciones de operación diferentes. El


beneficio que se obtiene en cada reactor se determina por el flujo másico que se
alimenta a cada reactor y es B1, B2 y B3 para N1, N2 y N3 respectivamente. Maximizar el
beneficio.

Diagrama por etapas

Para este problema las etapas son cada reactor:

F3=F2+R3 F2=F1+R2 F1=R1

R3 R2 R1

Etapa 3 Etapa 2 Etapa 1

d3 d2 d1
~ ~
S3 S~3 S2 S 2 S1 S1
~
Identificar las variables de cada etapa (Si, di, Ri, S i )

58
GESR

Definir todos los estados posibles para todas las etapas

Es el flujo disponible antes de pasar por un reactor y lo dividiremos en incrementos de


100 (entre menor el incremento, más exacta la solución pero más combinaciones y
viceversa)

S3 d3 F3 S~3 S2 d2 F2 S~2 S1 d1 F1 S~1


700 0 0 0 0 -
100 100 100 7 -
200 200 200 12 -
300 300 300 15 -
400 400 400 16 -
500 500 500 15 -
600 600 600 12 -
700 700 700 7 -

Combinaciones

Combinaciones de la etapa 2

S2 d2 R2 S~2 F2=F1+R2
700 700 -42 0 -42
700 600 -24 100 -17
700 500 -10 200 2
700 400 0 300 15
700 300 6 400 22
700 200 8 500 23 ←mayor
700 100 6 600 18
700 0 0 700 7

600 600 -24 0 -24


600 500 -10 100 -3
600 400 0 200 12
600 300 6 300 21
600 200 8 400 24 ←mayor
600 100 6 500 21
600 0 0 600 12

500 500 -10 0 -10


500 400 0 100 7
500 300 6 200 18
500 200 8 300 23 ←mayor
500 100 6 400 22
500 0 0 500 15

400 400 0 0 0
400 300 6 100 13
400 200 8 200 20

59
GESR

400 100 6 300 21 ←mayor


400 0 0 400 16

300 300 6 0 6
300 200 8 100 15
300 100 6 200 18 ←mayor
300 0 0 300 15

200 200 8 0 8
200 100 6 100 13 ←mayor
200 0 0 200 12

100 100 6 0 6
100 0 0 100 7 ←mayor

0 0 0 0 0 ←mayor

Combinaciones de la etapa 3

S3 d3 R3 S~3 F3=F2+R3
700 700 -91 0 -91
700 600 -60 100 -53
700 500 -35 200 -22
700 400 -16 300 2
700 300 -3 400 18
700 200 4 500 27
700 100 5 600 29 ←mayor
700 0 0 700 23

Se eligen las mejores combinaciones (los que tiene el mayor beneficio, F) y se obtiene
la siguiente tabla:

S3 d3 F3 S~3 S2 d2 F2 S~2 S1 d1 F1 S~1


700 100 29 600 0 0 0 0 0 0 0 -
100 0 7 100 100 100 7 -
200 100 13 100 200 200 12 -
300 100 18 200 300 300 15 -
400 100 21 300 400 400 16 -
500 200 23 300 500 500 15 -
600 200 24 400 600 600 12 -
700 200 23 500 700 700 7 -

60
GESR

Bibliografía

[1] T.F. Edgar, D.M. Himmelblau and L.S. Lasdon, “Optimization of Chemical
Processes”. McGraw-Hill, 2nd ed. 2001

[2] R.W. Pike, “Optimization for Engineering Systems”,


http://www.mpri.lsu.edu/bookindex.html, 2001

[3] D.M. Himmelblau, “Applied nonlinear programming”, McGraw-Hill, 1972

[4] J.A. Nelder and R. Mead, “A simplex method for function minimization”, Computer
Journal, vol 7, p 308-313, 1965

61

S-ar putea să vă placă și