Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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
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
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.
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.
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
Sujeto a g(x) ≤b
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.
(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.
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í.
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.
(2.5)
(2.6)
(2.7)
(2.8)
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.
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.
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.
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 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.
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.
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.
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.
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.
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.
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.
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)
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.
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).
Su posición actual,
Su velocidad actual,
Las distancias entre la posición actual con p mejor y g mejor.
(2.11)
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.
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.
(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.
9 Aquellos con funciones objetivas no deseables (más altas para un problema de minimización).
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: