Está en la página 1de 23

Generación de trayectorias de referencias para

plantas con optimización multiobjetivo de índices


económicos y técnicos 2. Optimización multi objetivo

2. OPTIMIZACIÓN MULTIOBJETIVO

La optimización intenta dar respuesta a un tipo general de problemas donde se desea elegir
el mejor entre un conjunto de elementos. En matemáticas, y en un lenguaje coloquial, la
optimización está relacionada con el proceso de obtener el máximo / mínimo de una o más
funciones de evaluación de un sistema, en cuyos casos se habla de optimización de un solo
objetivo u optimización a secas y de optimización multiobjetivo.

2.1 Optimización mono objetivo

Está definida como:

Optimizar [minimizar / maximizar]

f (x ) , con x ∈ Y (2.1)
sujeto a hi ( x ) = 0 y g i ( x ) ≥ 0 , (2.2)
que son restricciones a la evaluación f ( x ) .

La función f ( x ) recibe el nombre de función objetivo en el contexto del problema de


optimización.
El vector x es el conjunto de variables independientes, denominadas variables de deci-
sión.

Se pueden definir tres conjuntos de vectores solución:

1. Un conjunto universal Y , que incluye todos los posibles valores de x , factibles y no


factibles.
2. El conjunto de soluciones factibles S, un subconjunto de Y que comprende todos los
valores de x que cumplen con las condiciones impuestas por las restricciones
hi ( x ) = 0 y g i ( x ) ≥ 0 .
3. El conjunto de soluciones óptimas x * , que cumplen con lograr un óptimo (máximo o
mínimo) de f ( x ) en un intervalo [a,b] o en un contexto global (–∞,∞).
Aquí, el conjunto de valores óptimos puede ser único o múltiple. En este último caso,
para dos valores óptimos x1* y x 2* debe verificarse que f ( x1* ) = f ( x2* ) .

Para el caso monovariable, la interpretación gráfica es muy simple. El problema de la


optimización se reduce a encontrar por algún método –por lo general basado en el gra-
diente- un extremo de la función f(x) en el rango S. La Fig. 2.1 muestra un ejemplo para
el caso de un mínimo.

En este ejemplo, Y es todo el eje x, el conjunto S incluye a todas las x comprendidas en


el intervalo [x1 , x2] y el algoritmo debe encontrar el mínimo global x* obviando cualquier
tipo de mínimo local.

3
Generación de trayectorias de referencias para
plantas con optimización multiobjetivo de índices
económicos y técnicos 2. Optimización multi objetivo

Fig. 2.1. Optimización mono objetivo.

2.2 Optimización multiobjetivo

El problema de optimización multiobjetivo puede ser definido formalmente como sigue


(Donoso y Fabregat, 2007):

Encontrar el vector de n variables de decisión


x * = [x1* , x2* , ..., xn* ] (2.3)

que satisfaga las m restricciones de desigualdad


g i ( x ) ≥ 0 para i = 1, 2, …, m (2.4)

las t restricciones de igualdad


hi ( x ) = 0 para i = 1, 2, …, t (2.5)

y optimice (maximice / minimice) el vector de q funciones de evaluación


[
f ( x ) = f 1 ( x ), f 2 ( x ),... , f q ( x ) ] (2.6)

De más está decir que es necesario contar con un modelo matemático del proceso que se
desea optimizar, el cual de alguna manera está “embebido” en estas q funciones de eva-
luación.

Cuando hay un solo objetivo el concepto de óptimo es claro: aquel vector que minimiza
/ maximiza la función objetivo. Cuando hay más de una función objetivo para optimizar,
el concepto de óptimo cambia, ya que lo más probable es que las funciones objetivo
compitan entre sí, por lo cual no es posible encontrar un óptimo sino que se trata de en-
contrar una solución de compromiso o un grupo de soluciones óptimas.

La noción de óptimo en optimización multiobjetivo fue propuesta por Francis Ysidro Ed-
geworth en 1881 y luego generalizada por Vilfredo Pareto en 1896.

4
Generación de trayectorias de referencias para
plantas con optimización multiobjetivo de índices
económicos y técnicos 2. Optimización multi objetivo

2.2.1 Definición del criterio de optimalidad de Pareto (Pareto Optimality)


Se dice que un vector de variables de decisión x * ∈ S es óptimo en el sentido de Pareto
(“Pareto optimal”) si no existe otro vector x ∈ S tal que

f i ( x ) ≤ f i ( x * ) para todos los i = 1, . . . , q y (2.7)


f j ( x ) < f j ( x * ) para al menos un j. (2.8)

Expresado en palabras, esta definición dice que x * es un vector óptimo de Pareto si no


existe un vector factible de decisiones x ∈ S que haga decrecer algún criterio sin causar
que simultáneamente se incremente en al menos otro criterio. Este criterio deriva inde-
fectiblemente no en una solución única, sino en un conjunto de soluciones denominado
Conjunto óptimo de Pareto (Pareto optimal set). Un vector x * perteneciente al Conjunto
óptimo de Pareto se dice que “es preferible” o “domina” a un vector cualquiera x que
no pertenece al mismo. La notación es

x*≺ x

Luego, una forma más compacta de definir el Conjunto óptimo de Pareto es

X P = {x ∈ S / ∃/ x * ∈ S : x * ≺ x} (2.9)

Los vectores x * que están incluidos en el Conjunto óptimo de Pareto se denominan en-
tonces “no dominados” (nondominated) o “no inferiores”. La graficación del conjunto
de funciones cuyos vectores no dominados pertenecen al Conjunto óptimo de Pareto es
llamado Perfil de Pareto. Véase la Fig. 2.2.

Fig. 2.2: Mapeo de variables de decisión en funciones objetivo.

Ejemplo: sea el problema de optimizar un sistema en el que compiten dos funciones de


costo:

5
Generación de trayectorias de referencias para
plantas con optimización multiobjetivo de índices
económicos y técnicos 2. Optimización multi objetivo

f 1 ( x) = x 2 + 1
f 2 ( x ) = ( x − 2) 4 + 2

sujeto a − 1 ≤ x ≤ 3

A simple vista se puede determinar de la graficación de ambas funciones (Fig. 2.3) que
el Conjunto óptimo de Pareto que cumple con las condiciones (2.7) y (2.8) es

X P = {x / 0 ≤ x ≤ 2} , marcado con rojo en la figura.

Fig. 2.3: Funciones objetivo a optimizar y Conjunto de Pareto

El perfil de Pareto correspondiente está graficado en la Fig. 2.4.

Fig. 2.4: Perfil de Pareto

6
Generación de trayectorias de referencias para
plantas con optimización multiobjetivo de índices
económicos y técnicos 2. Optimización multi objetivo

Intuitivamente se tiende a decir –aunque es falso- que el mejor de todos estos puntos es
el que más se acerca a lo que se define como vector objetivo o vector ideal f * , que es
el conformado por lo óptimos de cada función objetivo considerada independientemen-
te:

[ * *
f * = f 1 , f 2 ,... , f q
*
] (2.10)

Para el caso bajo consideración, f * está conformado por los mínimos de f1(x) y f2(x):

f * = [1, 2]

2.2.2 Conjuntos convexos y no convexos


Definición 1
Un conjunto S de ℜ n es convexo si para cualquier par de puntos P1 y P2 ∈ S y para
cualquier λ ∈ [0, 1] se puede probar que P = λ P1 + (1-λ) P2 ∈ S. P es una combinación li-
neal de P1 y P2.

Dicho de otra manera, S ⊆ ℜ n es convexo si una combinación lineal de cualquier par de


puntos pertenecientes a S permanece en S.

Por otro lado, un conjunto es no convexo si por lo menos un punto P de S no puede ser
representado como una combinación lineal de puntos de S.

Tomando en cuenta estas definiciones, la Fig. 2.5 muestra conjuntos convexos y la Fig.
2.6 conjuntos no convexos.

Fig. 2.5: Conjuntos convexos

Fig. 2.6: Conjuntos no convexos

7
Generación de trayectorias de referencias para
plantas con optimización multiobjetivo de índices
económicos y técnicos 2. Optimización multi objetivo

2.2.3 Funciones convexas


Definición 2
Sea S un subconjunto de ℜ n , convexo y no vacío, y f una función de S en ℜ . La función
f es convexa en S sí y solo sí para cualquier par de puntos P1 y P2 ∈ S y para cualquier
λ ∈ [0, 1] se puede probar que f(λ P1 + (1-λ) P2) < λ f( P1) +(1-λ)f(P2)

Definición 3
Sea S un subconjunto de ℜ n , convexo y no vacío, y f una función de S en ℜ . La función
f es estrictamente convexa en S sí y solo sí para cualquier par de puntos P1 y P2 ∈ S y
para cualquier λ ∈ [0, 1] se puede probar que f(λ P1 + (1-λ) P2) < λ f( P1) +(1-λ)f(P2).

2.3 Métodos de solución de problemas de optimización multiobjetivo

2.3.1 Suma ponderada


La estrategia de la suma ponderada convierte el problema multiobjetivo de optimizar el
[ ]
vector f ( x ) = f 1 ( x ), f 2 ( x ),... , f q ( x ) en un problema escalar de un solo objetivo por
medio de la definición de una suma ponderada de todos los objetivos fi:

q
min f ( x) = ∑ wi f i ( x )
x∈S
i =1

Este problema puede ser resuelto por cualquier algoritmo de optimización estándar. El
problema se centra más bien en la elección de los pesos wi.

Para el caso particular, que puede ser graficado, de dos objetivos, se reduce a

min f ( x ) = w1 f1 ( x ) + w2 f 2 ( x )
x∈S

Fig. 2.7: Solución por medio de la suma ponderada

8
Generación de trayectorias de referencias para
plantas con optimización multiobjetivo de índices
económicos y técnicos 2. Optimización multi objetivo

En el plano (f1 , f2) la ecuación representa una recta L cuya pendiente está definida por
w1 y w2. Geométricamente, el problema puede ser planteado entonces como encontrar el

vector x * que minimice f ( x ) de tal manera que la recta cuya pendiente está definida
por w1 y w2 se acerque hasta tocar tangencialmente al conjunto Ω en el punto
( )
f 1 ( x * ) , f 2 ( x * ) , tal como lo muestra la figura 2.7. Está claro que no se obtiene con este
método el Perfil de Pareto completo sino un punto óptimo. El punto será distinto para
una combinación distinta de w1 y w2.

Todo lo dicho es válido si el conjunto de soluciones Ω es convexo, ya que cualquiera de


los puntos no dominados puede ser representado por una combinación lineal de puntos
del conjunto. En el caso de espacios no convexos como el de la Fig. 2.8, el conjunto de
soluciones no dominadas entre A y B no puede ser hallado con este método.

Fig. 2.8: Suma ponderada sin solución para funciones no convexas.

El método tiene una dificultad adicional: las distintas funciones objetivo habitualmente
tienen valores absolutos muy diferentes unas de otras, por lo cual se debe tener muy en
cuenta la elección de los pesos wi para que tengan el mismo valor relativo dentro de la
suma y sean luego correctamente considerados en la minimización.

2.3.2 Restricción ε
Una forma de resolver al menos parcialmente el problema de la convexidad consiste res-
tringir la evaluación a una sola función objetivo, mientras que a las demás funciones se
las trata como restricciones que no deben superar un cierto valor ε. El problema puede
ser planteado entonces como

Minimizar f i (x )
sujeto a f j ( x ) ≤ ε j j = 1,2,..., q / j ≠ i

que satisfaga las m restricciones de desigualdad


g i ( x ) ≥ 0 para i = 1, 2, …, m

9
Generación de trayectorias de referencias para
plantas con optimización multiobjetivo de índices
económicos y técnicos 2. Optimización multi objetivo

las t restricciones de igualdad


hi ( x ) = 0 para i = 1, 2, …, t

Al igual que en el método de la suma ponderada, se está convirtiendo un problema de


optimización multi objetivo en uno de una sola dimensión. Para el caso bidimensional de
la Figura 2.9, si se toma f2 como una restricción que no debe bajar de ε2, luego el valor
que resulta de minimizar f1 es el que corresponde al punto A.

Fig. 2.9: Método de la restricción ε.

Desafortunadamente, para encontrar los puntos óptimos pertenecientes al Perfil de Pa-


reto, hay que disponer de un muy buen conocimiento previo de las funciones para esta-
blecer las restricciones εi.

2.3.3 Método del Alcance de un objetivo (Goal Attainment)


Se plantea como

Minimizar γ, con γ ∈ ℜ, x ∈ S
tal que f i ( x ) − wi γ ≤ f i para i = 1,2,…, q
*

*
En esta expresión, f i son las componentes del vector ideal u objetivo f * definido en
(2.10) y wi son pesos para cada uno de los objetivos.

La elección de los pesos wi permite que los q objetivos puedan estar más o menos teni-
dos en cuenta, permitiendo al diseñador ser en principio un tanto impreciso en cuanto a
los objetivos de diseño iniciales.

El término wi γ introduce un cierto grado de elasticidad en el método, sin el cual los ob-
jetivos deberían ser rígidamente cumplidos.

10
Generación de trayectorias de referencias para
plantas con optimización multiobjetivo de índices
económicos y técnicos 2. Optimización multi objetivo

El funcionamiento del método, que puede ser resuelto con algoritmos de optimización
como SQP (sequential quadratic programming), está descrito geométricamente para el
caso bidimensional en la Figura 2.10.

Los pesos wi definen la dirección de búsqueda desde el vector objetivo f * hacia el espa-
cio factible Ω(γ). Durante la optimización se va cambiando el valor de γ, lo que cambia el
tamaño de la región factible. La restricción impuesta en el planteamiento del método
conduce a un único punto A = f( x * ).

Fig. 2.10. Interpretación gráfica del Método del Alcance de un objetivo.

Debe remarcarse que ninguno de los métodos citados hasta el momento da el Perfil de
Pareto en una sola operación, sino que entregan un solo punto. De ahí que para obtener
todo el perfil se debe hacer, al igual que en los métodos anteriormente descriptos, un
barrido de toda la zona factible.

2.3.4 Métodos heurísticos1


Los métodos citados anteriormente, caracterizados por una programación matemática
basada casi con exclusividad en la consideración del gradiente, tienen algunos inconve-
nientes:

 Es necesario un alto conocimiento previo del comportamiento de las funciones ob-


jetivo.

1
La heurística es la ciencia que estudia los procesos de decisión respecto a un campo de conocimiento concreto,
como son las estrategias cognitivas. Su contrapartida formal en computación es el algoritmo.

La palabra heurística proviene de la palabra griega heuriskein (comparte la raíz con eureka) que significa descu-
brir, encontrar. Por heurística entendemos una estrategia, método, criterio o truco usado para hacer más sencilla
la solución de problemas difíciles. El conocimiento heurístico es un tipo especial de conocimiento usado por los
humanos para resolver problemas complejos. En este caso el adjetivo heurístico significa medio para descubrir.

11
Generación de trayectorias de referencias para
plantas con optimización multiobjetivo de índices
económicos y técnicos 2. Optimización multi objetivo

 No se obtiene el perfil en una sola operación.


 Tienen dificultades cuando el espacio solución es convexo o discontinuo.
 Se debe ser cuidadoso en el diseño de las funciones objetivo. Por ejemplo, las
funciones del tipo 1 / f(x) suelen generar errores de ejecución.
 Pueden caer en un mínimo local.

Los métodos heurísticos son particularmente apropiados para solucionar problemas de


optimización multi objetivo, debido a que son menos susceptibles a la forma o continui-
dad del Perfil de Pareto (o sea que pueden tratar fácilmente con perfiles no convexos o
discontinuos). Además, la mayoría de los métodos heurísticos están basados en la exis-
tencia de una población, de tal manera que pueden generar todos los elementos del Per-
fil de Pareto en una sola operación.

Los métodos heurísticos con más desarrollo en la actualidad son los siguientes:

 Recocido simulado (Simulated Annealing), (Suman, B., 2002). Basado en un algoritmo


originalmente propuesto por Metropolis en 1953 para similar la evolución de un sólido
en un baño caliente hasta alcanzar su estado de equilibrio térmico. El algoritmo fue
propuesto por Kirkpatrick et al. (1983) e independientemente por Černy (1985); se
registran aplicaciones prácticas a partir de 1994.

 Sistemas de colonias de hormigas (Ant colony System, Dorigo y Blum, 2005). Es un al-
goritmo meta-heurístico inspirado en el comportamiento de las colonias de hormigas,
que depositan en el suelo una sustancia denominada feromona. Esta sustancia luego
influencia el comportamiento de otras hormigas, que tienden a tomar los caminos
donde hay mayores cantidades de feromonas.

 Optimización de enjambre de partículas (Particle Swarm Optimization). Basado en el


comportamiento de bandadas en búsqueda de alimento.

 Inmunidad artificial (Artificial Immune System).

 Algoritmos culturales

 Búsqueda tabú

 Algoritmos genéticos o evolutivos: sin duda los más usados, y que merecerán un
próximo apartado.

En algunas ocasiones se utilizan combinaciones de dos de estas técnicas, como la hibridi-


zación de enjambres de partículas y colonias de hormigas planteada por Shelokar et al.
(2007).

2.3.5 Algoritmos genéticos o evolutivos


Un algoritmo genético (Goldberg, 1989; Holland, 1992) es una herramienta computacio-
nal de optimización que imita el principio evolutivo de la supervivencia del individuo
más apto, propuesto a nivel biológico por Darwin (1859). En la aplicación computacional,
la función de costo f ( x ) es la que dicta, para cada individuo, cual es su posibilidad de
sobrevivir y reproducirse en una próxima generación. Los algoritmos genéticos combinan
la capacidad de exploración del universo S, característicos de los métodos extensivos de

12
Generación de trayectorias de referencias para
plantas con optimización multiobjetivo de índices
económicos y técnicos 2. Optimización multi objetivo

fuerza bruta con la explotación intensiva en una zona propia de los métodos de progra-
mación matemática basados en el gradiente.

La idea básica es que el conjunto de soluciones factibles S, está constituido por un con-
junto o generación de pop individuos xl = [xl1 , xl 2 , ..., xl j ,... , xln ] . Véase la Figura 2.11.

Fig. 2.11. Codificación de la información en un algoritmo genético.

Se dice que cada uno de los elementos del individuo xl es un cromosoma, y realizando
una codificación binaria de cada elemento, se identifica cada bit con un gen.

A partir de esta idea, el algoritmo genético emula todas las operaciones involucradas en
la reproducción biológica: reproducción, cruzamiento y mutación (Lin y Lee, 1996).

Para cada generación, en la reproducción se seleccionan los individuos más aptos según
su función de costo y, con una cierta probabilidad, se forman parejas (mating), las que
participarán de la próxima etapa: el cruzamiento. En la misma, a la manera en que los
cromosomas de los padres se combinan en un punto pivote compartiendo su información,
dos cromosomas de elementos homólogos de individuos apareados, por ejemplo xlm y xln
pueden cruzarse digitalmente en un punto definido también en forma aleatoria, tal co-
mo se grafica en la Figura 2.12. Por supuesto que, de la misma manera en que biológi-
camente se pueden producir múltiples cruzamientos, también se pueden implementar en
la correspondiente programación del algoritmo genético.

La última operación a realizar es la mutación. De la misma manera que, al formarse un


nuevo individuo, aleatoriamente algún gen puede mutar, generando así una característi-
ca nueva no presente en los padres o abuelos, el algoritmo provoca –con muy baja pro-
babilidad- una basculación (cambio de 0 a 1 o viceversa) en algún bit de algún cromo-
soma de los individuos de la nueva generación. Esto permite explorar nuevos ambientes

13
Generación de trayectorias de referencias para
plantas con optimización multiobjetivo de índices
económicos y técnicos 2. Optimización multi objetivo

dentro del dominio que quizás presenten un mejor desempeño en términos de la función
de costo. Véase la Figura 2.13.

Fig. 2.12. Operación de cruzamiento cromosomático biológico y digital

Fig. 2.13. Operación de de mutación a nivel de bits.

En resumen, un seudocódigo muy resumido del algoritmo genético podría ser el siguien-
te:

• Definir población inicial

• loop (generación)
– Evaluar a los individuos
– Reproducción (mating)
– Cruzamiento (crossover)
 los individuos más aptos
 Formación de una Generación intermedia.
 Sobreviven los más aptos, quedando el tamaño de población constante.
– Mutación
 Nueva evaluación y supervivencia de los más aptos.
• repetir el loop hasta que se cumpla un criterio

14
Generación de trayectorias de referencias para
plantas con optimización multiobjetivo de índices
económicos y técnicos 2. Optimización multi objetivo

Existen algoritmos genéticos con una sola función objetivo que resuelven el problema
definido en (2.1) y (2.2). En este caso, una vez que se ha concluido con una cierta canti-
dad de generación que asegura el cumplimiento de un criterio, se elige de la última ge-
neración al individuo que mejor función de evaluación f ( x ) presenta.

El autor ha usado esta herramienta para la estabilización de sistemas controlados con al-
goritmos predictivos GPC multivariables con alta tasa de muestreo (Chuk, 2000), entre-
namiento de redes neuronales (Chuk, 1999), control robusto (Chuk y Núñez, 2003), mí-
nimos cuadrados no lineales (Chuk et al., 2008) y, echando mano del procedimiento de
la suma ponderada detallado en 2.3.1, diseño óptimo multi objetivo de hidrociclones
(Chuk et al., 2004).

La estructura del algoritmo genético, basada en la existencia de una población, hace


que sea natural su extensión al problema multi objetivo. La herramienta recibe el nom-
bre de Algoritmos evolutivos multi objetivo (Multi – Objective Evolutionary Algorithms,
MOEAs, Coello Coello et al., 2002), caracterizados por clasificar la población según la
dominancia de Pareto.

Existe una amplia variedad de MOEAs. En este trabajo se ha usado una variante propia
del NSGA II: Nondominated Sorting Genetic Algorithm II, propuesto por Deb et al. (2002).
Se trata de uno de los algoritmos evolutivos más eficientes –computacionalmente
hablando- usados en la actualidad.

El algoritmo clasifica a la población total en “frentes”, según su desempeño medido se-


gún f ( x ) . Los elementos no dominados son colocados en el frente 1; de los que restan,
los no dominados conforman el frente 2, y así siguiendo. Como ejemplo, si se dispone de
una población de 30 individuos, clasificados según dos criterios f1 y f2, los individuos son
clasificados como muestra la figura:

Fig. 2.14: Clasificación de la población en frentes.

Luego, los individuos de los frentes I, II y III tienen muchas más probabilidades de repro-
ducirse en una próxima generación que los restantes.

15
Generación de trayectorias de referencias para
plantas con optimización multiobjetivo de índices
económicos y técnicos 2. Optimización multi objetivo

El algoritmo usa operadores de cruzamiento con un mecanismo de selección, recombina-


ción tipo ruleta binario y mutación para crear una población descendiente de tamaño
pop.

La recombinación entre los mejores exponentes de una generación es fundamental para


generar nuevos individuos que combinen las características de sus predecesores. La mu-
tación es el operador necesario para evitar los mínimos locales por medio de la explora-
ción de todo el universo de discurso.

Dado que el concepto de elitismo es importante para la efectividad de la búsqueda, el


NSGA II lo implementa incluyendo todas las poblaciones, actual y anteriores, y generan-
do una población combinada intermedia de tamaño 2 pop, la cual es ordenada nueva-
mente según su no dominación, quedando como resultado una nueva población de tama-
ño pop.

Otra característica del algoritmo es la definición de un parámetro denominado “crow-


ding distance”, que mide la distancia de un elemento a sus vecinos próximos, a los fines
de asegurar una buena distribución de los individuos a lo largo de todo el Perfil de Pare-
to.

Al igual que en el caso de un solo objetivo, las operaciones de evaluación, selección,


cruzamiento, mutación y nueva evaluación para producir descendientes se repite una
cierta cantidad de generaciones, o hasta que un cierto criterio de bondad de la solución
final se cumple.

2.4 Elección de una “solución preferida” del Perfil de Pareto

Debe notarse en primera instancia que el Conjunto de Pareto XP definido por (2.9) es
único y contiene infinitos puntos en la gran mayoría de los casos. Sin embargo el propósi-
to de los algoritmos de optimización multi objetivo es encontrar un subconjunto finito –
tantos como el tamaño pop de la población P que se defina- de puntos de XP representa-
tivos del mismo distribuidos a lo largo del Perfil, que denotamos como X P´ .

Ahora bien, para el caso del diseño de optimización de sistemas de control, X P´ es un


conjunto de posibles vectores de referencias, todos óptimos en el sentido de Pareto, y el
diseñador tiene el trabajo de elegir solo un vector –que se denomina “solución preferi-
da” x p* - a aplicar al sistema de control, por lo cual el perfil debe ser clasificado de al-
guna manera.

La forma tradicional, como lo expresan entre otros Blasco et. al.(2008), es clasificar el
Perfil de acuerdo a su proximidad al vector ideal f * definido en (2.10). Más adelante,
en el Capítulo 4, se mostrará una ampliación de este concepto que se ha desarrollado en
este trabajo.

Por el momento, baste decir que para esta clasificación, y debido a que los valores abso-
lutos de las distintas funciones objetivo pueden ser muy disímiles y de distintas dimen-
siones, se normalizan los valores de cada función objetivo con respecto a sus valores
máximos y mínimos, que se definen como

16
Generación de trayectorias de referencias para
plantas con optimización multiobjetivo de índices
económicos y técnicos 2. Optimización multi objetivo

f i M = max´ f i ( x * ) , f i m = min´ f i ( x * ) i = 1, . . . , q
x∈X P x∈X P

m M
Se tiene en consecuencia un vector de mínimos f y uno de máximos f .

El valor normalizado de cada función objetivo se define como

fi ( x * ) − fi m
f in ( x * ) = (2.11)
fi M − fi m

Luego se evalúa la distancia normalizada ∆f n ( x * ) = f n ( x * ) − f n* de las funciones normali-


zadas de cada individuo x * del Perfil X P´ al vector ideal f * , también normalizado.

Cada elemento de ese vector de distancia se puede calcular como

fi ( x * ) − fi m fi* − fi m f i ( x * ) − f i*
∆f in ( x ) = f in ( x ) − f =
* * *
in − M = M
fi M − fi m fi − fi m fi − fi m

Posteriormente se aplica una norma para evaluar la distancia ∆f n ( x * ) . Se pueden aplicar


distintas normas que destaquen diversas características del individuo. Las más habituales
son

q
Norma 1: ∆f n ( x * ) =
1
∑ ∆f
i =1
in (x* )
1
 k  2
Norma 2 o Norma euclídea: ∆f n ( x ) =  ∑ ∆f in ( x * ) 2  *
2
 i =1 
Norma infinito: ∆f n ( x ) = max{∆f in ( x )}
* *

Dependiendo de la norma seleccionada y de la dimensión del vector objetivo, los valores


de estas normas estarán respectivamente en los siguientes rangos:

0 ≤ ∆f n ( x * ) ≤ q
1

0 ≤ ∆f n ( x ) *
≤ q
2

0 ≤ ∆f n ( x * ) ≤1

La norma euclídea provee una apropiada evaluación de la distancia geométrica conven-


cional al vector ideal, por lo cual ha sido usada en este trabajo. A los fines de eventual-
mente potenciar una función objetivo por encima de otras, se modifica la norma euclí-
dea ponderando el vector con un peso W, de dimensión q. La nueva versión de la norma
será

17
Generación de trayectorias de referencias para
plantas con optimización multiobjetivo de índices
económicos y técnicos 2. Optimización multi objetivo

1
 k  2
∆f n ( x )W
* T
=  ∑ wi ∆f in ( x * ) 2  , con W 1
=1 (2.12)
2
 i =1 

Luego el proceso se completa eligiendo como solución preferida x p* a la que tiene la


menor norma 2 ponderada. Si bien esta aproximación es similar a la de la agregación de
objetivos en una suma ponderada que convierte el problema multi objetivo en uno mono
objetivo, la diferencia fundamental es que la agregación está realizada después de
haber realizado la optimización multi objetivo, manteniendo así la diversidad de la solu-
ción no dominada. Por supuesto que la otra gran ventaja es obviar los problemas plan-
teados por los conjuntos de soluciones no convexos o discontinuos.

En un ejemplo semejante al anterior de dos funciones objetivo, esto permite clasificar a


los elementos del Perfil según sus normas, definiendo zonas de isolineas en el plano de
funciones objetivo normalizadas, tal como muestra la siguiente Figura, para el caso de la
norma 1:

Fig. 2.15: Clasificación de individuos del Perfil de Pareto con norma 1.

En este esquema de cosas, el Punto A es una solución preferida frente a otros individuos
del Perfil como el Punto B.

A manera de ejemplo introductorio al problema de la optimización de la columna de flo-


tación2, se puede realizar un planteo de optimización con dos funciones objetivo referi-
das a la Ley de concentrado cf y la Recuperación Rfcf, las que dependen fundamental-
mente de dos variables de decisión: la Profundidad de Espuma Hf y el Gas Holdup Eg res-
pectivamente3 (Chuk y Kuchen, 2009), donde las funciones objetivo tienen la forma

f 1 ( H f , E g ) = (c f − 1) 2 y
f 2 ( H f , E g ) = ( R fcf − 1) 2

2
La descripción del proceso se detallará en el Capítulo 5.
3
Para el significado de estas variables e indicadores mineralúrgicos véase el Capítulo 6.

18
Generación de trayectorias de referencias para
plantas con optimización multiobjetivo de índices
económicos y técnicos 2. Optimización multi objetivo

Una vez realizada la optimización, el perfil de Pareto es el que se grafica en la parte su-
perior de la siguiente Figura, mientras que el conjunto óptimo de Pareto se muestra en
la parte inferior, en el plano de decisión (Hf ,Eg).

Fig. 2.16: Clasificación de individuos del Perfil de Pareto.

Al efectuar una clasificación de los individuos del Perfil de Pareto según la distancia al

vector ideal f * = c f * , R fcf *  = [1,1], se los puede distribuir en cuatro grupos asociados a
cuatro colores: los más alejados están graficados en rojo, luego en orden de mayor cer-
canía los graficados en amarillo y en magenta y finalmente –los más cercanos- en verde.
El mejor de estos últimos, o sea el que presenta menor norma 2 al objetivo está marca-
do con un asterisco azul. Como es previsible, la solución preferida marcada con un aste-
risco azul se ubica en los valores más altos tanto de Hf como de Eg.

2.5 Mejoras efectuadas al algoritmo NSGA II

2.5.1 Definición de un vector inicial x0 .


El NSGA II original parte con una población inicial aleatoriamente distribuida a lo largo
de todo el espacio S, el cual está definido en principio por los límites inferior lb y supe-
rior ub . Sin embargo, si ya se conoce un cierto individuo x0 que tiene un buen desem-
peño, se puede reducir sustancialmente el tiempo de convergencia tomando al mismo
como punto de partida. En realidad, como la esencia del algoritmo depende de la exis-
tencia de una población con cierta diversidad, no se puede proponer solo un vector de
partida sino que se propone como población inicial a aquella que está aleatoriamente

19
Generación de trayectorias de referencias para
plantas con optimización multiobjetivo de índices
económicos y técnicos 2. Optimización multi objetivo

distribuida alrededor de x0 y en un rango de un 10% del espacio comprendido entre lb y


ub .

2.5.2 Modificación de la probabilidad de mutación pm


El algoritmo original está diseñado con probabilidad de mutación fija. A los fines de po-
der modificar esta variable y, en consecuencia potenciar ya sea capacidad de explora-
ción de todo el espacio S o la velocidad de convergencia, se ha introducido esta varia-
ble como argumento en la línea de llamado de la función que ejecuta el algoritmo.

2.5.3 Aumento de la velocidad de convergencia.


A los fines de aumentar la velocidad de convergencia del algoritmo, se propone un me-
canismo de “búsqueda orientada”, que echa mano asimismo de las dos mejoras descrip-
tas anteriormente.

Como ya se expuso, el algoritmo genético usa operadores de selección, cruzamiento, re-


combinación y mutación para crear una nueva generación. El mecanismo se repite una
cierta cantidad de generaciones, pero en cada una de ellas el algoritmo original utiliza
un mismo espacio de búsqueda S, definido por los límites lb y ub y la misma probabili-
dad de mutación pm.

La modificación introducida en este trabajo para aumentar la velocidad de convergencia


se basa en la idea de que luego de una cierta cantidad de generaciones relativamente
pequeña, el algoritmo con seguridad ha eliminado los mínimos locales y ha concentrado
la búsqueda en un espacio más estrecho So alrededor de un cierto valor. En esta circuns-
tancia, mantener como espacio de búsqueda a todo el conjunto original consume una
energía computacional innecesaria, y resulta mucho más eficiente restringir la búsqueda
a dicho espacio So.

Al mismo tiempo, como la búsqueda se ha especializado más, no es necesario mantener


una probabilidad de mutación pm tan alta como resulta conveniente al inicio de la eje-
cución del algoritmo.

En resumen, se ha logrado aumentar exponencialmente la velocidad de convergencia con


un mecanismo que se ha denominado “búsqueda orientada”, ya usado anteriormente por
el autor en su versión mono objetivo (Chuk et al., 2004), y que está caracterizado por
las siguientes acciones:

 Se subdivide el proceso de búsqueda en n iteraciones, cada una con menos genera-


ciones que las usadas en el proceso estándar; típicamente, si en el proceso habitual se
utilizan gen generaciones, en cada iteración se usan gen / n generaciones.

 En cada iteración i:
• Se toma como vector de partida x0 a la “solución preferida” de la iteración an-
terior.
• Se reduce el universo de búsqueda, definiendo el espacio entre lb y ub como la
mitad del anterior, y centrado en la solución preferida anterior.
• Se reduce la probabilidad de mutación en una forma exponencial:

20
Generación de trayectorias de referencias para
plantas con optimización multiobjetivo de índices
económicos y técnicos 2. Optimización multi objetivo

pm(i) = 0.2 / e(i-1). Es decir que se parte con una probabilidad de mutación de
0.2 (20%) y en 5 iteraciones (máximo por lo general) se ha reducido a 0.0037.

La Figura 2.17 muestra, para un caso de optimización mono objetivo típico, la conver-
gencia de la Función de evaluación en función de la cantidad de ciclos ejecutados, para
dos probabilidades de mutación iniciales.

Fig. 2.17: Convergencia típica de una función de evaluación para dos


probabilidades de mutación iniciales.

2.5.4. Reducción de la dispersión en la primera iteración


Adicionalmente, se ha realizado una mejora que asegura mayor consistencia a los datos:
sobre todo en la primera iteración suele producirse mucha dispersión en las característi-
cas de la población que constituye el Conjunto óptimo de Pareto, aún en los elementos
con menor norma 2, debido a la naturaleza aleatoria del procedimiento. Para reducir es-
te efecto, se busca entre los p/10 mejores –en el sentido de la norma ∆f n (x * ) -, los p1
2

< p/10 que están más cerca de x0 –en el sentido de la norma x − xo - , y se los pro-
*
2
media con un peso que es la inversa de la norma 2 de las funciones de costo. De esta
manera, tan solo para el valor que se pasa a la iteración 2 como valor inicial, se calcula
la solución preferida como
p1
1
x m* = 1 p1
1 ∑ ∆f n ( x )
*
xi*

i =1 ∆f n ( x )
*
i =1 i 2
i 2

Como ejemplo, para el caso de la profundidad de espuma Hf, una de las variables de de-
cisión para el caso de la Columna de flotación que se desarrollará en detalle en la se-

21
Generación de trayectorias de referencias para
plantas con optimización multiobjetivo de índices
económicos y técnicos 2. Optimización multi objetivo

gunda sección de este trabajo, tomando n = 4iteraciones, la graficación de los resultados


de las 4 iteraciones se muestra en la siguiente figura:

Fig. 2.18: Búsqueda orientada en n = 4 iteraciones.

2.6 Aplicación de los conceptos de la búsqueda orientada con algoritmos genéticos multi
objetivo al cálculo óptimo de trayectorias.

Los conceptos de la búsqueda orientada pueden usarse por extrapolación en la búsqueda


de trayectorias óptimas.

En primer lugar se espera que, a los fines de no producir variaciones abruptas en el sis-
tema y evitar asimismo el stress de actuadores, para un cierto intervalo de muestro k el
vector de referencias óptimas x * (k ) no estará muy lejos de su antecesor x * (k − 1) , es-
to en el sentido de la norma x * (k ) − x * (k − 1) . Para asegurar esto, es apropiado pro-
2
poner como valor inicial de búsqueda para el instante de muestreo k la solución preferi-
da anterior

x0 (k ) = x * (k − 1)

En segundo lugar, se puede aplicar la idea de reducción del espacio de búsqueda. Solo
que en este caso es conveniente realizar tal reducción en relación con algún parámetro
de calidad de la solución preferida anterior. Dado que a medida que nos vamos acercan-
do al óptimo la norma ∆f n (x * ) se va haciendo más pequeña, resulta lógico usar esta
2
medida para definir el próximo espacio de búsqueda alrededor del vector de referencias
obtenido en la muestra anterior k-1.

Definido el espacio inicial de búsqueda S por medio de las restricciones (2.4) y (2.5), que
incluyen los límites iniciales lb ini y ub ini , el rango o span inicial de búsqueda es

span ini = ub ini − lb ini

22
Generación de trayectorias de referencias para
plantas con optimización multiobjetivo de índices
económicos y técnicos 2. Optimización multi objetivo

A cada intervalo de muestreo k los nuevos límites inferior y superior de búsqueda que
definen un espacio de búsqueda más estrecho Sk se calculan como

lb(k ) = xo (k ) − span ini spanconstr = x * (k − 1) − span ini span constr


ub(k ) = x o (k ) + span ini span constr = x * (k − 1) + span ini span constr

donde spanconstr es un escalar función de la norma ∆f n (x * ) , definido como


2

spanconstr = spanmconstr para K span ∆f n ( x * (k − 1)) ∈[0 , spanmconstr)


2

spanconstr = K span ∆f n ( x * (k − 1)) para K span ∆f n ( x * (k − 1)) ∈[spanmconstr , spanM-


2 2

constr]
spanconstr = spanMconstr para K span ∆f n ( x * (k − 1)) ∈(spanMconstr , ∞)
2

En estas últimas expresiones spanmconstr y spanMconstr son cotas mínimas y máximas para
spanconstr que suelen ubicarse en 0.2 y 0.6 respectivamente. Es decir que el espacio de
búsqueda Sk (asociado a los valores lb(k ) y ub(k ) que se han definido arriba) oscilará en-
tre el 20% y 60% del conjunto inicial S definido por span ini . Kspan es un factor de propor-
cionalidad.

Por supuesto que una vez definidos para cada k los valores de lb(k ) y ub(k ) se aplica el
procedimiento de búsqueda orientada descripto en el punto 2.5.3 referido a las mejoras
efectuadas al NSGA II.

La gráfica de la Figura 2.18 se amplía con este concepto a la de la siguiente Figura 2.19.

Fig. 2.19: Acotamiento del espacio de búsqueda en función de la norma 2 de las funciones de evaluación.

23
Generación de trayectorias de referencias para
plantas con optimización multiobjetivo de índices
económicos y técnicos 2. Optimización multi objetivo

En la misma se muestra como los valores definidos de lb(k) y ub(k) para k=2 (signo
+)sufren luego una progresiva reducción en virtud de la búsqueda orientada en 4 itera-
ciones hasta llegar al valor preferido de Hf marcado con un asterisco azul * de mayor
tamaño. En la fracción inferior de la gráfica se aprecia como el valor de la norma 2
∆f n (x * ) decrece para k=3 y por lo tanto los valores iniciales de búsqueda (signo +) in-
2
dicados en la parte superior de la gráfica son más estrechos.

En términos de diagramas de Venn, quedan así definidos tres conjuntos S, Sk y So tales


que

So ⊂ Sk ⊂ S

Sk depende de la solución preferida anterior x0 (k ) = x * (k − 1) y de la norma


∆f n ( x * (k − 1)) . So coincide con Sk para la primera iteración de la búsqueda orientada y
2
luego se va reduciendo progresivamente hasta descender de una cota predeterminada.

Fig. 2.20: Subconjuntos de S en la búsqueda orientada.

La Figura 2.21 muestra la evolución de una variable que será objeto de optimización en
el resto del trabajo, la profundidad de espuma Hf, y sus límites de búsqueda inferior lb y
superiro ub – en líneas de trazos- implementados con el procedimiento descripto en esta
sección, y que será aplicado en el desarrollo del próximo capítulo, aunque no se lo cite
explícitamente.

Se aprecia como, dado un espacio Sk inicial que se utiliza en la primera muestra, rápi-
damente a partir de la segunda muestra en k = 2 el espacio Sk se reduce drásticamente,
con lo que aumenta la velocidad de convergencia al poder reducir la cantidad de gene-
raciones necesarias del algoritmo genético.

24
Generación de trayectorias de referencias para
plantas con optimización multiobjetivo de índices
económicos y técnicos 2. Optimización multi objetivo

Fig. 2.21: Evolución de una variable y sus límites de búsqueda.

2.7 Tiempo de cálculo necesario

El tiempo necesario para calcular un vector de referencias para un sistema depende fun-
damentalmente del tiempo necesario ts para simular la respuesta del sistema y calcular
las funciones de evaluación correspondientes, frente a un cierto vector de referencias.
Este valor depende de la complejidad del modelo, del idioma de programación usado y
de la potencia de cálculo del procesador usado.

Intervienen también la cantidad de generaciones gen usadas en cada iteración, el núme-


ro de iteraciones Ni, el tamaño de la población pop y, para la solución particular que se
dará en este trabajo al problema del cálculo de trayectorias, el horizonte de predicción
Nc, cuyo significado se detallará en el Capitulo 3. Todos estos elementos se conjugan en
la siguiente expresión que permite encontrar el tiempo de cálculo Tc del algoritmo gené-
tico modificado:

Tc = pop gen Ni Nc ts (2.12)

Los algoritmos genéticos son lentos por naturaleza, en comparación con los métodos ba-
sados en el cálculo del gradiente. Sin embargo, son perfectamente aplicables a la gran
mayoría de los procesos industriales con dinámicas relativamente lentas, usando como
herramienta de cálculo una computadora personal. Particularmente, tiene tiempos de
cálculo aceptables para el proceso de flotación en columna utilizado en la segunda mi-
tad de este trabajo.

25

También podría gustarte