Sunteți pe pagina 1din 15

Capítulo 2

Técnicas de optimización

2.1. Introducción

En la vida cotidiana, todos nosotros nos enfrentamos a algunas decisiones decisivas. Normalmente,
tratamos de decidir lo mejor. Si alguien va a comprar un producto, él o ella trata de comprar la mejor
calidad, pero con el menor costo. Estos tipos de toma de decisiones se clasifican como problemas
de optimización en los que el objetivo es encontrar las soluciones óptimas; donde el óptimo puede
ser el mínimo o el máximo.

El objetivo de este capítulo es revisar brevemente los conceptos básicos de los problemas de
optimización. Obviamente, los detalles están más allá del alcance de este libro y deben seguirse de
la literatura disponible. Sin embargo, se diseña y resuelve un ejemplo simple usando algunos de los
enfoques; como se detalla en la aplicación

2.2. Descripción del problema

La mayoría de los problemas operacionales y de planificación constan de los siguientes tres pasos
principales:

 Definición
 Modelado
 Algoritmo de solución

En las siguientes subsecciones, las discutimos en algunos detalles.

2.2.1. Definición del problema

En cualquier problema de optimización, el responsable de la toma de decisiones debe decidir sobre


los siguientes elementos:

 Decisión (independiente) y variables dependientes


 Funciones de restricciones
 Funciones objetivas

2.2.1.1. Decisión y variables dependientes

Las variables de decisión son las variables independientes; el responsable de la toma de decisiones
debe determinar sus valores óptimos y, basándose en ellos, se pueden determinar otras variables
(dependientes). Por ejemplo, en un problema de programación de generación óptima, las
generaciones de potencia activa de las centrales eléctricas pueden ser las variables de decisión. Las
variables dependientes pueden ser el consumo total de combustible, las pérdidas del sistema, etc.
que pueden calcularse al determinar las variables de decisión. En un problema de asignación de
condensadores, las ubicaciones y el tamaño de los bancos de condensadores son las variables de
decisión, mientras que las variables dependientes pueden ser voltajes de bus, pérdidas de sistema,
etc.
Un problema variable n-decisión da como resultado un espacio de solución n-dimensional en el que
cualquier punto dentro de ese espacio puede ser una solución. Un caso bidimensional se muestra
en la Fig. 2.1.

2.2.1.2. Funciones de restricciones

En un problema de optimización de la vida real, algunas limitaciones pueden aplicarse al espacio de


la solución. Estas son típicamente limitaciones técnicas, económicas, ambientales y similares;
nombradas como restricciones que, directa o indirectamente, dividen el espacio de la solución en
regiones aceptables (factibles) e inaceptables (no factibles). El que toma las decisiones debe
encontrar un punto de solución dentro de la región factible.

Fig. 2.1 El espacio de solución para un caso bidimensional

Fig. 2.2 Regiones factibles e inviables debido a restricciones

Por ejemplo, en un problema de programación de generación óptima, las generaciones de energía


activa de las plantas de energía deben estar dentro de sus respectivos valores máximos y mínimos;
o, la generación total de las plantas debe satisfacer la carga total y una reserva especificada. En un
problema de asignación de condensadores, una restricción técnica puede ser el número máximo de
bancos de condensadores que pueden emplearse para un bus específico. Una restricción económica
puede ser un límite en el costo total de inversión práctica que no debe ser violado. La forma en que
las restricciones se comportan en un caso bidimensional se muestra en la Fig. 2.2.

2.2.1.3 Funciones objetivas

De los numerosos puntos dentro de la región factible de un problema, el que toma las decisiones
debe seleccionar el más conveniente. Lo deseable debería, sin embargo, definirse de alguna manera.
Por ejemplo, en un salón de clases, un maestro puede seleccionar a un estudiante como el mejor si
la moral es la principal preocupación. Él o ella pueden seleccionar a otro si se observa entusiasmo.
De hecho, una función objetivo es una función en términos de las variables de decisión mediante
las cuales el que toma las decisiones muestra su solución deseable. En la figura 2.3, si la función
objetivo se define como la maximización de x1, la solución termina en el punto A, mientras que si la
función objetivo es minimizar x2, el punto B sería la solución final. En un problema de programación
de generación óptima, la función objetivo puede elegirse como el costo total de combustible a
minimizar. En un problema de asignación de capacitores, la función objetivo puede ser el costo de
inversión o las pérdidas del sistema o ambos (se minimizará). Se considera que el problema es de
objetivo único si se desea optimizar solo una función objetivo. Está en contraste con los problemas
de optimización multiobjetivo en los que varias funciones deben ser optimizadas simultáneamente.
En un caso práctico, un problema de optimización puede tener muchos puntos máximos y mínimos.

Fig. 2.3 Puntos óptimos en un caso bidimensional

Fig. 2.4 Puntos óptimos locales y globales


Por ejemplo, considere el caso representado en la figura 2.4 en el que se considera que la función
objetivo es una función de solo x1 y debe maximizarse. Como se muestra, hay algunos óptimos
locales en el sentido de que son óptimos en las proximidades de los puntos cercanos. A partir de
esos puntos óptimos locales, uno es el óptimo global.

2.2.2 Modelado de problemas

Una vez que se deciden las variables de decisión, las restricciones y los términos de la función
objetivo, el responsable de la toma de decisiones debe modelar el problema en una forma adecuada
para ser resuelto. El modelado depende mucho de las herramientas disponibles y los algoritmos
para la resolución de problemas, la precisión requerida, las simplificaciones posibles, etc. Un modelo
genérico de problema de optimización estaría en la forma dada por

Minimizar o Maximizar C(x)

Sujeto a g(x) ≤b

Donde x es la variable de decisión, C(x) es la función objetivo y g(x) ≤b es la restricción de


desigualdad.

Las variables de decisión pueden ser reales o enteros. Por ejemplo, en un problema de
programación de generación óptima, las generaciones de energía activa son reales mientras que en
un problema de asignación de condensadores, el número de bancos de condensadores que se
instalarán en un bus específico es entero.

C y g pueden ser funciones continuas o discretas de la variable de decisión en una forma explícita o
implícita; lineal o no lineal. En función de eso, el problema de optimización se denomina
apropiadamente. Por ejemplo, un problema de optimización lineal entero es un problema en el que
tanto C como g son funciones lineales de variables de decisión enteras.

En términos generales, como

 Maximizar C es equivalente a minimizar (-C).


 Podemos nombrar la restricción de igualdad como f (x), para separarla de g (x).
 g (x) >glo (ó (g (x) - glo) >0) es equivalente a - (g (x) - glo) < 0.
 Puede haber más de una f (x) o una g (x).
 Puede haber más de una variable independiente x (en cambio, un vector de x).

El problema de optimización general se puede establecer como

(2.2)

(2.3)

(2.4)
2.3 Algoritmos de solución, matemática versus técnicas heurísticas

El problema de optimización restringido como se establece en (2.2), (2.3) y (2.4) puede resolverse
mediante algunas técnicas de optimización disponibles. Estas técnicas se pueden clasificar
generalmente como matemáticas y heurísticas. Ambos han recibido atención en la literatura del
sistema de energía. Estos se revisan en las siguientes subsecciones.

2.3.1 Algoritmos matemáticos

Una técnica de optimización matemática formula el problema en una representación matemática;


como está dado por (2.2) a (2.4). Siempre que la función objetivo y / o las restricciones no sean
lineales, el problema resultante se designa como Problema de optimización no lineal (NLP). Un caso
especial de PNL es la programación cuadrática en la que la función objetivo es una función
cuadrática de x. Si tanto las funciones objetivo como las restricciones son funciones lineales de x, el
problema se designa como un problema de Programación Lineal (LP). También se pueden identificar
otras categorías en función de la naturaleza de las variables. Por ejemplo, si x es de tipo entero, el
problema se denota por programación entera (IP). También pueden existir tipos mixtos tales como
MILP (Programación Lineal Entera Mixta) en la cual, si bien las variables pueden ser tanto reales
como enteros, el problema también es del tipo LP.

Para las formulaciones basadas en matemática, algunos algoritmos, hasta ahora, se han
desarrollado; basado en ellos, también se han generado algunos programas comerciales. En las
siguientes subsecciones, revisamos brevemente estos algoritmos. Sin embargo, debemos tener en
cuenta que, en términos generales, un algoritmo matemático puede sufrir problemas numéricos y
puede ser bastante complejo en la implementación. Sin embargo, su convergencia puede estar
garantizada, pero encontrar la solución óptima global solo puede garantizarse para algunos tipos,
como LP.

No existe una clasificación definida y fija de algoritmos matemáticos. Aquí, no los vamos a discutir
en detalle. En cambio, vamos a presentar algunos temas que son de más interés en este libro y
pueden ser aplicables a problemas de planificación del sistema de energía.1 Algunos temas, como
la teoría de juegos, que son de más interés para otros problemas del sistema de energía (como el
análisis de mercado de los sistemas de energía), no se abordan aquí.

1 Los métodos óptimos de búsqueda se conocen generalmente como técnicas de programación o


investigación de operaciones; una rama de las matemáticas.

2.3.1.1 Métodos de cálculo

Estos tipos de métodos son la forma tradicional de buscar puntos óptimos. Estos son aplicables a las
funciones continuas y diferenciables de los términos objetivo y de restricción. Utilizan el cálculo
diferencial para localizar los puntos óptimos.

Basado en el cálculo diferencial básico desarrollado para encontrar los puntos óptimos de C (x) (ver
(2.2)), el método de multiplicadores de Lagrange se ha desarrollado para encontrar los puntos
óptimos; donde las restricciones de igualdad (2.3) también pueden aplicarse. Si las restricciones de
desigualdad (2.4) también son aplicables, aún se puede usar el método básico; sin embargo, deben
observarse las llamadas condiciones de Kuhn-Tucker. La solución no es tan sencilla en ese caso.
2.3.1.2 Método de programación lineal (LP)

Como ya se señaló, LP es un método de optimización en el que tanto la función objetivo como las
restricciones son funciones lineales de las variables de decisión. Este tipo de problema se reconoció
por primera vez en la década de 1930 por los economistas en el desarrollo de métodos para la
asignación óptima de recursos.

Tomando nota del hecho de que

 Cualquier problema LP puede ser declarado como un problema de minimización; debido al


hecho de que, como ya se ha descrito, maximizar C (x) es equivalente a minimizar (-C (x)).
 Todas las restricciones se pueden establecer como tipo de igualdad; debido al hecho de que
cualquier restricción de desigualdad de la forma dada por

(2.5)

(2.6)

puede transformarse en restricciones de igualdad, dadas por

(2.7)

(2.8)

respectivamente, donde y son variables no negativas, conocidas como variables


excedentes.

 Todas las variables de decisión se pueden considerar no negativas, ya que cualquier xj, sin
restricciones en el signo, se puede escribir como donde

y (2.9)

Se puede ver que xj será negativo, cero o positivo dependiendo de si es mayor que, igual o
menor que .

El problema se puede expresar en una forma conocida como canónico. Entonces, una solución
conocida como el método símplex, ideado por primera vez en la década de 1940, puede usarse para
resolver el problema.

El uso del método símplex normalmente requiere una gran cantidad de almacenamiento y tiempo
en la computadora. El llamado método simplex revisado es un método revisado en el que se
requiere menos tiempo de computación y espacio de almacenamiento.
Otro tema de interés en los problemas de LP es la teoría de la dualidad. De hecho, asociado con
cada problema de LP, se puede formular un llamado problema dual. En muchos casos, la solución
de un problema de LP puede obtenerse más fácilmente del problema dual.

Si el problema de LP tiene una estructura especial, se puede emplear el llamado principio de


descomposición para resolver el problema en el que se requiere menos almacenamiento de la
computadora. De esta manera, el problema se puede resolver de manera más eficiente.

Los problemas de transporte son problemas especiales de PL, que ocurren a menudo en la práctica.
Estos problemas se pueden resolver con algunos algoritmos que son más eficientes que el método
símplex.

2.3.1.3 Método de programación no lineal (NLP)

Anteriormente notamos que si la función objetivo y / o las restricciones son funciones no lineales
de las variables de decisión, el problema de optimización resultante se llama PNL.

Antes de seguir adelante con los problemas de PNL, debemos tener en cuenta que la mayoría de los
problemas prácticos son de tipo limitado en los que se deben cumplir algunas funciones de
restricción. En cuanto a los problemas restringidos, sin embargo, algunos algoritmos trabajan sobre
el principio de transformar el problema en un caso no restringido, inicialmente revisamos algunos
algoritmos existentes para resolver problemas no restringidos.

Los métodos de solución para problemas no restringidos se pueden clasificar generalmente como
métodos de búsqueda directa (o sin gradiente) y métodos de descenso (o gradiente). Los primeros
métodos no usan derivados parciales de la función objetivo y son adecuados para problemas simples
que involucran un número relativamente pequeño de variables. Los últimos métodos requieren las
evaluaciones de la primera y posiblemente, las derivadas de orden superior de la función objetivo.
Como resultado, estos métodos son generalmente más eficientes que los métodos directos.

Todos los métodos de optimización no restringidos son de naturaleza iterativa y comienzan desde
una solución de prueba inicial; moviéndose paso a paso de forma secuencial hacia la solución
óptima. Los métodos de gradiente han recibido más atención en la literatura del sistema de
potencia. Por ejemplo, en el llamado método de descenso más empinado; ampliamente utilizado
en la literatura del sistema de potencia, el vector de gradiente se usa para calcular la longitud de
paso óptima a lo largo de la dirección de búsqueda, de modo que se maximiza la eficiencia del
algoritmo.

Volvamos al caso restringido. Se aplican dos tipos de métodos, a saber, los métodos directos e
indirectos. En los métodos anteriores, las restricciones se manejan de manera explícita, mientras
que en la mayoría de los últimos métodos; el problema restringido se convierte en una secuencia
de problemas no restringidos y se resuelve mediante algoritmos disponibles.

Como un ejemplo de los métodos directos, en el llamado método de aproximación de restricciones,


la función objetivo y las restricciones se linealizan sobre algún punto. El problema de LP aproximado
resultante se resuelve usando técnicas LP. La solución resultante se usa para construir un nuevo
problema de LP. El proceso continúa hasta que se cumple un criterio de convergencia.
Como ejemplo de los métodos indirectos, el llamado método de la función de penalización funciona
según el principio de convertir el problema en un tipo no restringido. A su vez, se clasifica como
métodos de penalización interiores y exteriores. En el primero, la secuencia de mínimos no
restringidos se encuentra en la región factible, mientras que en el último, se encuentran en la región
inviable. En ambos, se mueven hacia la solución deseada.

Fig. 2.5 Combinaciones de unidades durante el período de 24 horas

2.3.1.4 Método de Programación Dinámica (DP)

La Programación Dinámica es una técnica ampliamente utilizada en estudios de sistemas de


potencia. Es, de hecho, una técnica matemática utilizada para problemas de decisión de múltiples
etapas; originalmente desarrollado en 1950s.

Un problema de decisión de múltiples etapas es un problema en el que las decisiones óptimas deben
tomarse en algunas etapas. Las etapas pueden ser tiempos diferentes, espacios diferentes, niveles
diferentes, etc. El punto importante es que la salida de cada etapa es la entrada a la siguiente etapa
en serie.

La función objetivo general debe optimizarse en todas las etapas. Normalmente es una función de
las variables de decisión (xi) de todas las etapas. El hecho importante es que uno no puede comenzar
optimizando la primera etapa; avanzar hacia la etapa final; ya que puede haber algunas
correlaciones entre las etapas, también.

Para aclarar el problema, expresemos un ejemplo de sistema de poder. Supongamos que vamos a
minimizar el costo de generación de un sistema de energía durante un período de 24 horas. Alguna
información es la siguiente

 Hay cuatro unidades de generación disponibles; cada uno de los cuales puede estar apagado
o conectado (de modo que varias combinaciones son posibles, como, 1111, 1101, 1001,
0011, ...).
 Las eficiencias de la unidad son diferentes; de modo que si la carga del sistema es baja y
digamos que dos unidades pueden cumplir con la carga, deberíamos usar las unidades
eficientes más altas para suministrar la carga.
 La carga varía a lo largo del período de 24 horas; cambiando a cada hora (etapa).

El problema de la decisión de varias etapas es, de hecho, decidir sobre las unidades que estarán en
cada etapa para minimizar el costo general de generación durante el período de 24 horas. Notamos
que si no se imponía ninguna otra restricción, deberíamos optimizar nuestro problema en cada
etapa y sumarlo en todas las etapas. En otras palabras, deben resolverse 24 problemas de
optimización de una sola etapa2 para encontrar la solución final.

Supongamos que la solución final se parece a la Fig. 2.5 en la que las combinaciones de unidades se
muestran en cada etapa.
Como se muestra, la unidad 1 está encendida en las horas 1 y 2, apagada en la hora 3 y nuevamente
en la hora 4. Ahora, ¿qué ocurre si se impone una restricción que expresa el hecho de que si la
unidad 1 está apagada, no puede encenderse a menos que transcurra un período de 5 horas? 3.
Entonces, nuestra solución anterior no es práctica. Ahora, ¿cómo podemos encontrar la solución?

2 Es importante tener en cuenta que el problema que se utilizará en cada etapa es irrelevante
para nuestra discusión aquí. De hecho, puede ser LP, NLP o cualquier otro problema.
3 Este tipo de restricción se denomina tiempo mínimo de inactividad de una unidad.

Se puede verificar que en cada etapa, para el caso de las cuatro unidades anteriores, el número de
combinaciones sea . 4 Para el período de 24 horas, el número de combinaciones sería
. ¿Qué sucede si el número de unidades es, por ejemplo, 100 y el número de etapas es, por
ejemplo, 168 (una semana). El número de combinaciones generales sería

En la técnica DP, un problema de decisión de múltiples etapas se descompone en una secuencia de


problemas de una sola etapa; resuelto sucesivamente. La descomposición debe realizarse de tal
forma que se pueda obtener la solución óptima del problema original a partir de la solución óptima
de los problemas de una sola etapa.

4 La combinación 0000 se considera inviable.

5 La llamada, maldición de la dimensionalidad, en los problemas de DP.

2.3.1.5 Método de programación de enteros

En los algoritmos discutidos hasta ahora, cada una de las variables de decisión puede tomar
cualquier valor real. ¿Qué sucede si una variable de decisión está limitada a tomar solo un valor
entero? Por ejemplo, si la variable de decisión es la cantidad de unidades de generación, tomar un
valor real no tiene sentido. Los algoritmos de optimización desarrollados para esta clase de
problemas se clasifican como métodos de IP. Si todas las variables de decisión son de tipo entero,
el problema se aborda como un problema de IP. Si algunas variables de decisión son de tipo entero,
mientras que otras son de tipo no entero, el problema se conoce como problema de programación
de entero mixto.

Además, en función de la naturaleza del problema original, se han desarrollado tanto la


programación lineal entera como los métodos de programación no lineal enteros. Como resultado,
en la literatura del sistema de potencia, han aparecido algunos términos como MILP.

2.3.2 Algoritmos heurísticos

La mayoría de los algoritmos basados en matemática pueden garantizar alcanzar una solución
óptima; mientras que no garantiza necesariamente alcanzar un óptimo global. La optimalidad global
solo puede alcanzarse, verificarse o garantizarse para casos simples.

Por otro lado, muchos problemas de optimización práctica no caen en formas estrictas y
suposiciones de algoritmos matemáticos. Además, si el problema es muy complejo, es probable que
no podamos resolverlo en absoluto mediante algoritmos matemáticos. Además, encontrar el
óptimo global es de interés, ya que encontrar uno local sería un gran inconveniente.
Los algoritmos heurísticos se diseñan para abordar los puntos mencionados anteriormente. Ellos,
normalmente, pueden resolver los problemas combinatorios, a veces muy complejos, pero en un
tiempo razonable. Sin embargo, buscan buenas soluciones, sin poder garantizar la optimalidad, o
incluso cuán cerca están las soluciones del punto óptimo. Además, algunos algoritmos heurísticos
modificados se han desarrollado en la literatura mediante la cual se logran comportamientos
mejorados, alegando que las soluciones óptimas están garantizadas.

Se puede diseñar un algoritmo heurístico simple basado en algunos tipos de análisis de sensibilidad.
Por ejemplo, en un problema de asignación de condensadores, las sensibilidades de la función
objetivo pueden determinarse mediante la aplicación de un banco de condensadores en un bus.
Una vez hecho esto, el condensador se agrega al bus más sensible y el procedimiento se repite hasta
que no se logre ninguna mejora adicional en términos de la función objetivo.

Sin embargo, la mayoría de los algoritmos heurísticos se basan en algunos comportamientos


biológicos. Básicamente, todos comienzan desde un punto o un conjunto de puntos, avanzando
hacia una mejor solución; a través de una búsqueda guiada. Pocos han sido desarrollados hasta
ahora, algunos son dignos de mención aquí

 Algoritmo genético (GA), basado en la genética y la evolución,


 Recocido simulado (SA), basado en algunos principios de termodinámica,
 Enjambre de partículas (PS), basado en los movimientos de aves y peces,
 Búsqueda Tabu (TS), basado en la respuesta de la memoria,
 Colonia de hormigas (AC), basado en cómo se comportan las hormigas.

Aún así, otras técnicas pueden ser citadas. Sin embargo, limitamos nuestras discusiones aquí a los
algoritmos anteriores. El lector interesado debe consultar las referencias al final de este capítulo.

2.3.2.1 Algoritmo genético

En la naturaleza, cada especie se enfrenta a un entorno desafiante y debe adaptarse para la máxima
probabilidad de supervivencia. A medida que transcurre el tiempo, la especie con características
mejoradas sobrevive. De hecho, el llamado tipo más apto es sobrevivido. Este tipo de fenómeno
que ocurre en la naturaleza es la base de la GA basada en la evolución.

El Algoritmo Genético fue desarrollado principalmente por Holanda. Las variables de decisión que
se encuentran son código binario, código de valor real o código entero, en forma de una cadena de
genes. Esta cadena se llama cromosoma problemático, seleccionado del llamado conjunto de
poblaciones. La función objetivo se calcula para este cromosoma como la función de aptitud
problemática. Después de establecer una población inicial, seleccionar un cromosoma y calcular su
aptitud, se genera una próxima población; basado en el procedimiento descrito a continuación. Los
cromosomas iniciales se llaman padres y los cromosomas regenerados se llaman descendientes.
Como veremos, la regeneración da como resultado cromosomas con mejores valores de aptitud
física. El algoritmo continúa hasta que no se logra una mejora adicional en la función de aptitud.

Observamos que GA usa solo la información de la función objetivo y no las derivadas. Como
aleatoriamente, pero de forma guiada, busca el espacio factible, la probabilidad de alcanzar cerca
del óptimo global es alta; aunque converger en el óptimo global en sí mismo no es muy probable.
La selección, el cruce y la mutación como los tres principales operadores de GA se describen a
continuación.

 Selección. Con base en la estructura cromosómica definida, inicialmente se genera una


población de cromosomas, aleatoria o inteligentemente. Se pueden considerar 30-100
cromosomas. Entonces, podemos seleccionar dos cromosomas como padres para un
proceso posterior. El valor de la aptitud se usa como el criterio para la selección de los
padres.
 Crossover. Una vez que se seleccionan los padres, debemos generar nuevas cadenas;
descendientes, a través de dos tipos de operadores. El llamado crossover funciona según el
principio de intercambiar los valores después de una posición específica. Por ejemplo, si A
y B son los dos cromosomas iniciales seleccionados

y el operador de cruce se aplica en la posición 6, los descendientes resultantes se ven como

Este tipo de regeneración se realiza al azar en varias posiciones. Como resultado, se genera una
nueva población de cromosomas en la que, nuevamente, el proceso de selección puede reiniciarse.

 Mutación. Un inconveniente inherente del operador de cruce es el hecho de que en una


posición particular, el valor del gen puede no cambiar en absoluto. Para evitar este
problema, el operador de la mutación intenta alterar el valor de un gen, aleatoriamente de
1 a 0 y viceversa. Sin embargo, debemos mencionar que esto se hace con poca frecuencia.

Deberíamos mencionar que los operadores definidos anteriormente son los tipos más simples. En
la práctica, se desarrollan operadores más sofisticados para mejorar el rendimiento de GA.
Actualmente, GA ha recibido una gran atención en la literatura del sistema de energía.

2.3.2.2 Recocido simulado

Recocido simulado es un algoritmo flexible para tratar los problemas de optimización combinatoria.
Se puede aplicar a problemas complejos, que incluyen funciones no diferenciables, discontinuas y
no convexas.

El recocido es el proceso natural de enfriamiento de un material fundido; desde una temperatura


alta. Si el proceso de enfriamiento se realiza bajo condiciones de equilibrio térmico, el recocido da
como resultado la formación de cristales. La formación de un cristal perfecto es equivalente a un
estado de energía mínima.

Fue en la década de 1980 cuando los principios citados anteriormente aparecieron por primera vez
como un algoritmo para resolver problemas de optimización. Se observó que se puede definir una
correspondencia entre los estados físicos de una materia y el espacio de solución de un problema
de optimización. La energía libre de la materia puede corresponder a la función objetivo del
problema de optimización.

Antes de continuar, primero debemos analizar el algoritmo de Metrópolis como la base del
algoritmo SA.

 Algoritmo de Metrópolis.

Las partículas que forman un material tienen diferentes niveles de energía, de acuerdo con una
distribución de probabilidad y en función de su temperatura (T). El algoritmo de Metrópolis
funciona según el principio de generar un nuevo estado Sj; desde un estado inicial dado Si; con
energía Ei. Este nuevo estado se genera mediante un mecanismo que consiste en una pequeña
perturbación en el estado original. La perturbación se obtiene, de hecho, moviendo una de las
partículas elegidas por el método de Monte Carlo. 6

Para la energía del nuevo estado, Ej (que se encuentra probabilísticamente), se comprueba que
la diferencia Ej - Ei es menor o igual a cero para aceptar el nuevo estado Sj. Si esta diferencia es
positiva, aún Sj es aceptado; pero con una probabilidad dada por

(2.10)

donde T es la temperatura del material y kB es la constante de Boltzmann. El proceso dado


anteriormente normalmente requiere una gran cantidad de transiciones de estado para
alcanzar el estado con el nivel de energía más bajo.

Los principios anteriores se siguen para resolver un problema de optimización. SA consiste


básicamente en dos mecanismos principales. Uno es la generación de alternativas (estados) y el
otro es una regla de aceptación. Inicialmente, para una temperatura dada T0, se genera una
secuencia de configuraciones (N0). La configuración inicial Si se elige. Tk es el parámetro de
control. Inicialmente T es grande; luego se reduce según un cronograma de enfriamiento. El
criterio de aceptación es como se discutió en el algoritmo de Metrópolis.

Temperatura inicial T0, el número de transiciones realizadas en cada nivel de temperatura (Nk),
temperatura final, Tf (como el criterio de parada) y la secuencia de enfriamiento (dada por
; donde g (Tk) es una función que controla la temperatura), son cuatro
parámetros SA principales. Las determinaciones apropiadas de los parámetros anteriores han
recibido atención en la literatura.

6 Para más detalles, consulte la lista de referencias al final del capítulo.

2.3.2.3 Enjambre de partículas

Algunas criaturas naturales como los peces y las aves se comportan como un enjambre. Cada
individuo coordina su movimiento con los otros de tal manera que no colisiona con los demás, se
mueve hacia el destino y se mueve al centro del grupo (enjambre).

Fue a mediados de 1990 que la idea básica de PS se formuló como un algoritmo de optimización.
Las características de cada individuo (el llamado agente) se muestran en un espacio bidimensional
por su posición (x e y) y su vector de velocidad (vx y vy). Cada agente optimiza su movimiento hacia
el destino. Al hacerlo, rastrea

 El mejor valor de la función objetivo que ha logrado hasta ahora (el llamado p-mejor),
 El mejor valor de la función objetivo que los otros agentes han logrado hasta ahora (el
llamado g-mejor).

Entonces, el agente modifica su posición, notando

 Su posición actual,
 Su velocidad actual,
 Las distancias entre la posición actual con p mejor y g mejor.

Matemáticamente hablando, la nueva posición de un agente i en la iteración se puede


determinar a partir de su posición actual (iteración k) ; sabiendo su velocidad en la iteración

se puede determinar como

(2.11)

donde w es un factor de ponderación, C1 y C2 son coeficientes de ponderación y rand 1 y rand 2 son


dos números aleatorios entre 0 y 1.

El primer término da como resultado el movimiento del agente en la misma dirección que antes;
como resultado, explorar un nuevo espacio de búsqueda. Por eso, w, se llama coeficiente de
diversificación. Por lo general, se define como 8

(2.12)

𝑤
̅ y 𝑤 se seleccionan típicamente para que sean 0,9 y 0,4, respectivamente. Con (2.12), inicialmente
la diversificación tiene una gran ponderación y se reduce hacia el final del procedimiento de
búsqueda. Por otro lado, el segundo y el tercer término de (2.11) resultan en la llamada
intensificación. C1 y C2 pueden ser típicamente seleccionados para ser 2.0.

Los pasos involucrados en un algoritmo de optimización PS se pueden describir generalmente como

(a) Genere la condición inicial para cada agente

(b) Evalúe el punto de búsqueda de cada agente

(c) Modificar cada punto de búsqueda

El procedimiento se repite para un número máximo de iteraciones.


Cabe mencionar que algunas variaciones del método de optimización de PS se han desarrollado,
hasta ahora, para dar cuenta de algunos problemas prácticos de optimización combinatoria.

̅ ,𝒘 y 𝒊𝒕𝒆𝒓 son el máximo w, el mínimo w y el número máximo de iteraciones, respectivamente.


8𝒘

2.3.2.4 Búsqueda Tabu

Tabu significa prohibido buscar o considerar. A diferencia de otros enfoques combinatorios, TS no


está relacionado con fenómenos físicos. Inicialmente se propuso a principios de la década de 1980.
Es un procedimiento iterativo que comienza desde una solución inicial y tiende a moverse hacia un
nuevo espacio de solución de una manera más agresiva o más avariciosa que GA o SA. El vecindario,
desde donde se seleccionará la siguiente solución / movimiento, se modifica clasificando algunos
movimientos como tabu, 9 otros como deseables.

En cada iteración del algoritmo, se define una estructura de barrio; un movimiento se realiza a la
mejor configuración. Para escapar de los puntos óptimos locales, también se permiten algunas
transiciones a las configuraciones con mayores costos. De forma similar al algoritmo PS, el uso de la
intensificación y la diversificación dan como resultado una exploración más exhaustiva de las
regiones atractivas y, al mismo tiempo, el traslado a regiones no visitadas previamente. Esto ayuda
a evitar el atrapamiento en puntos óptimos locales.

Los pasos implicados en un algoritmo de optimización TS se pueden resumir como

(a) Generar una solución inicial,

(b) Seleccione movimiento,

(c) Actualice la solución. La siguiente solución se elige de la lista de vecinos que se considera deseada
(aspirante) o no tabu y para la cual la función objetivo es óptima.

El proceso se repite en función de cualquier regla de detención propuesta. A diferencia de otros


algoritmos heurísticos, no hay suficientes antecedentes teóricos para adaptar TS a un problema
práctico en cuestión y los usuarios tienen que recurrir a sus experiencias prácticas.

9 Aquellos con funciones objetivas no deseables (más altas para un problema de minimización).

2.3.2.5 Colonia de hormigas

La técnica de optimización de CA es una técnica de optimización combinatoria, desarrollada


inicialmente a principios de la década de 1990. Se basa en el comportamiento de los insectos,
especialmente las hormigas.

Las hormigas tienen una habilidad maravillosa para encontrar la distancia más corta desde un
alimento hasta su nido. Incluso si se interpone un obstáculo, nuevamente encuentran la distancia
más corta.

Los científicos han descubierto que la herramienta principal de este fenómeno es la llamada
feromona utilizada como el medio de comunicación básico entre los individuos
Al caminar, cada hormiga deposita una sustancia química, llamada feromona, como un rastro en el
suelo. Inicialmente, todas las hormigas se mueven de forma aleatoria para buscar comida. Si se
considera que tienen la misma velocidad, el que encuentra la comida más rápido (es decir, con la
distancia más corta) vuelve al nido antes y deposita la feromona al regresar. El camino será más rico
en feromonas. Otras hormigas pronto lo reconocerán como un camino prometedor y todos lo
seguirán. En base a lo anterior, se han desarrollado algunos algoritmos de CA. Básicamente, los
pasos son los siguientes:

 Inicialización en la que se codifican las variables problemáticas y se genera población inicial;


al azar dentro de la región factible. Se arrastrarán a diferentes direcciones en un radio no
mayor a R.
 Evaluación en la que se calcula la función objetivo para todas las hormigas.
 Complemento que agrega una cantidad de camino para cada hormiga; en proporción a su
función objetivo calculada (la llamada aptitud).
 Envío de hormigas en el que las hormigas son enviadas a sus siguientes nodos, de acuerdo
con la densidad del camino y la visibilidad.
 Ya hemos descrito la densidad del camino a medida que se deposita la feromona. Las
hormigas no son completamente ciegas y se moverán en cierta medida según las
visibilidades de los nodos. Estas dos acciones se asemejan a los pasos involucrados en los
algoritmos PS y TS (intensificación y diversificación) para evitar el atrapamiento en los
puntos óptimos locales.
 Evaporación en la que el rastro depositado por una hormiga se evapora finalmente y el
punto de partida se actualiza con la mejor combinación encontrada.

Los pasos se repiten hasta que se alcanza un criterio de regla de detención.

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