MÉTODOS DE
OPTIMIZACIÓN
Introducción a las
técnicas Heurísticas
INTRODUCCIÓN
• Esta es una nueva herramienta que nos ayuda en la
resolución de los diferentes tipos de problemas.
• Así el objetivo es de minimizar costes y/o maximizar los
beneficios.
• Estando dados de la siguiente forma:
INTRODUCCIÓN
▪ Un algoritmo eficiente que se puede utilizar
es el simplex.
▪ Para el caso de tener muchas variables este ya
no resulta eficiente, por el tiempo que
requiere para realizar los cálculos.
INTRODUCCIÓN
▪ Existen los llamados Problemas de
Optimización Combinatorios que
contienen variables de decisión enteras y
el espacio de soluciones está formado
por ordenaciones o subconjuntos de
números naturales.
▪ Los más conocidos son:
▪ Problema de la mochila
▪ Problema del viajante
Knapsack problem-De la mochila
▪ Consiste en:
▪ Seleccionar de entre un conjunto de n productos,
cada uno con un valor ci y un volumen vi.
▪ Determinando aquellos que quepan en un recipiente
con volumen V y que tengan el mayor valor posible.
Así se determina un subconjunto para el cual:
Knapsack problem-De la mochila
▪ xi toma el valor de 1 cuando el item se
introduce en la mochila
▪ xi toma el valor de 0 en caso contrario.
Así:
Travelling Salesman Problem(TSP)
Dado un mapa de carreteras, se desea visitar n
ciudades de forma que se recorra el menor número
de kilómetros y solo se visite una sola vez cada
ciudad. Solución Optima es la ruta
<1, 6, 3, 4, 2, 5>
6
Con un cost0 de 61km.
15
20
1 16 7
3
12 20
16 7 8
5
9 21
2 10 4
Complejidad Computacional
Problemas de tipo combinatorio
• La enumeración completa del conjunto de
soluciones y la generación del conjunto de
soluciones factibles no es eficiente.
• El tiempo de cálculo crece
exponencialmente con el número de ítems
del problema.
Problema de la mochila
• Para el problema de la mochila el número de
subconjuntos del conjunto {1..n} es 2n
• Si un computador pudiese generar en un segundo
un millón de esos subconjuntos el tiempo para
hallar la solución sería:
• Con n = 20, 220 = un segundo.
• Con n = 40, 240 = dos semanas.
• Con n = 60, 260 = 365 siglos.
Problemas P
• Aquellos para los cuales se conocen algoritmos
que necesitan un tiempo polinominal para
ofrecer una solución óptima.
• Son resolubles eficientemente.
Problemas NP
• Aquellos para los cuales no se conoce un algoritmo
polinomial de resolución.
• No son algorítmicamente resolubles
eficientemente.
• P es un subconjunto de NP:
Problemas NP-completos
• La mayoría de problemas de interés
empresarial son NP-completos.
• No se ha podido encontrar algoritmos
eficientes para la resolución de problemas NP-
completos.
Heurísticas
HEURÍSTICAS
Del griego heuriskein que significa encontrar.
Son algoritmos que ofrecen soluciones
factibles, que aunque no optimicen la función
objetivo, se supone que al menos se acercan
al valor óptimo.
Las heurísticas son utilizadas como una
herramienta útil que da soluciones a
problemas reales.
HEURÍSTICAS
Definición:
“Procedimientos simples, a menudo basados en el
sentido común, que se supone ofrecerán una buena
solución (aunque no necesariamente la óptima) a
problemas difíciles, de un modo fácil y rápido”
Zanakis, Evans 1981
HEURÍSTICAS
Factores para la utilización de métodos heurísticos:
a. Cuando no existe un método exacto de resolución
o éste requiere mucho tiempo de cálculo o
memoria.
b. Cuando no se necesita la solución óptima.
c. Cuando los datos son poco fiables.
d. Cuando las hay limitaciones de tiempo, espacio,
etc.
e. Como paso intermedio en la aplicación de otro
algoritmo.
HEURÍSTICAS
Ventajas:
• Permiten mayor flexibilidad para el manejo de las
características del problema.
• Ofrecen más de una solución.
HEURÍSTICAS
Inconvenientes:
• No es posible conocer la calidad de la solución.
• Existen métodos para realizar acotaciones. Un
procedimiento es el de relajar el problema, de manera
que sea más fácil de resolver.
• Cuando estos procedimientos no son posibles, se puede
utilizar métodos que indican que la heurística no es
buena.
• Siempre una técnica exacta es mejor que cualquier tipo
de heurística.
TIPOS DE HEURÍSTICAS
TIPOS DE HEURÍSTICAS
• MÉTODOS CONSTRUCTIVOS
• MÉTODOS DE DESCOMPOSICIÓN
• MÉTODOS DE REDUCCIÓN
• MANIPULACIÓN DEL MODELO
• MÉTODOS DE BÚSQUEDA POR ENTORNOS
MÉTODOS CONSTRUCTIVOS
• Añaden paulatinamente componentes
individuales a la solución, hasta que se
obtiene una solución factible.
• ALGORITMOS GOLOSOS O DEVORADORES
(GREEDY)
MÉTODOS DE DESCOMPOSICIÓN
• (“Divide y vencerás”) Dividen el problema
en subproblemas más pequeños, siendo el
output de uno el input de otro.
• APLICACIÓN A UN PROBLEMA DE
PROGRAMACIÓN LINEAL MIXTA.
MÉTODOS DE REDUCCIÓN
• Identificanalguna característica que
presumiblemente deba poseer la solución
óptima.
MANIPULACIÓN DEL MODELO
• Modifican la estructura del modelo,
haciéndolo más sencillo de resolver, y
deduciendo de su solución, la solución del
problema original.
• REDUCIR EL ESPACIO DE SOLUCIONES
• AUMENTAR EL ESPACIO DE SOLUCIONES
MÉTODOS DE BÚSQUEDA POR ENTORNOS
• Partiendo de una solución factible inicial, y
mediante alteraciones de esa solución, pasan de
forma iterativa a otras soluciones factibles de su
entorno.
• CRITERIO DE PARADA
• ALMACENAMIENTO DE SOLUCIÓN ÓPTIMA.
• PASO DE UNA SOLUCIÓN FACTIBLE A OTRA.
(NEIGHBORHOOD)
MÉTODO DE BÚSQUEDA LOCAL O DE DESCENSO
• En cada iteración se pasa de una solución
actual a una de su entorno que sea mejor que
ella, finalizando cuando todas las soluciones
del entorno sean peores.
• OPTIMOS LOCALES.
EJEMPLO DE FUNCIÓN
CON UN ÓPTIMO LOCAL
Metaheurísticas
Recocido Simulado
• Recocer:
• Proceso térmico para obtener estados de baja
energía en un sólido, mediante un baño térmico.
• Para cada temperatura durante el proceso de
recocido, el sólido puede alcanzar el
equilibrio térmico solo si el enfriamiento se
produce lentamente.
• Caso contrario puede llegar a estados meta-
estables.
Recocido Simulado
• La evolución de un sólido en el baño térmico puede
ser simulado mediante el algoritmo de la Metrópolis,
basado en las técnicas Monte Carlo.
• Realiza en paso de un estado a otro según:
• Si el estado generado posee una energía menor
que el estado que actualmente se tiene, se acepta
el estado generado como actual.
• Caso contrario el estado se aceptará con una
determinada probabilidad, la cual está en función
de:
• La temperatura
• La diferencia entre los dos niveles de energía.
Algoritmos genéticos
• “Técnicas de búsqueda basadas en la mecánica de la
selección natural y genética” [Goldberg, 1989]
• Los algoritmos genéticos son flexibles y pueden ser
aplicados en un amplio número de problemas.
Algoritmos genéticos
• En los algoritmos biológicos, la información
hereditaria es pasada a través de los
cromosomas o genes, los cuales a su vez están
formados de un determinado número de
valores (alelos).
• Los organismos pueden agruparse formando
poblaciones, los que mejor se adaptan tienen
mayor probabilidad de sobrevivir y
reproducirse.
Algoritmos genéticos
• Los alelos pueden representar valores de las
variables de decisión, que se corresponderán
con los genes.
• Los cromosomas representan las soluciones.
• Los algoritmos genéticos, trabajan sobre
una población de soluciones generando una
nueva en cada iteración.
Búsqueda Tabú
• Los orígenes de la búsqueda tabú se ubican a
fines de los 60s y principios de los 70s.
• Se atribuye a Fred Glover, quien desarrolló esta
heurística para tratar de resolver problemas de
cubierta no lineal, aunque varios de sus
principios también fueron delineados
independientemente por P. Hansen .
Búsqueda Tabú
• El uso de estructuras flexibles de memoria basadas en atributos,
diseñadas para permitir una mejor explotación de los criterios de
evaluación y la información histórica de la búsqueda que se conseguiría
con estructuras rígidas de memoria o con sistemas carentes de memoria
• Un mecanismo asociado de control basado en la interacción entre las
condiciones que limitan y hacen más flexible el proceso de búsqueda.
Este mecanismo se encuentra inmerso en la técnica en la forma de
restricciones y criterios de aspiración
• La incorporación de memorias de diferente duración (de corto a largo
plazo), para implementar estrategias que intensifiquen y diversifiquen la
búsqueda. Las estrategias de intensificación refuerzan las propiedades de
las combinaciones de movimientos que han demostrado ser buenas,
mientras que las estrategias de diversificación dirigen la búsqueda hacia
nuevas regiones del espacio de soluciones factibles.
GRASP
• Una entre las metaheurísticas más exitosas que
aparecieron en los últimos años del siglo pasado es
GRASP.
• un método multiarranque diseñado para resolver
problemas difíciles en optimización combinatoria. En su
versión básica cada iteración consiste en dos fases: una
fase constructiva cuyo producto es una solución factible
buena, aunque no necesariamente un óptimo local, y una
búsqueda local, durante la cual se examinan vecindades
de la solución, al llegar a un óptimo local la iteración
termina.
• La iteraciones continúan, guardando la mejor solución
encontrada en cada una de ellas, hasta que se alcanza un
criterio de terminación.
Redes Neuronales
• Una de las misiones en una red neuronal consiste en
simular las propiedades observadas en los sistemas
neuronales biológicos a través de modelos
matemáticos recreados mediante mecanismos
artificiales
• Una red neuronal se compone de unidades llamadas
neuronas. Cada neurona recibe una serie de entradas
a través de interconexiones y emite una salida. Esta
salida viene dadas por 3 enlaces:
• Enlace Sináptico
• Enlace de Activación
• Enlace de Transferencia
Redes Neuronales
• Enlace Sináptico: que por lo general consiste
en la sumatoria de cada entrada multiplicada
por el peso de su interconexión (valor neto). Si
el peso es positivo, la conexión se denomina
excitatoria; si es negativo, se denomina
inhibitoria.
• Enlace de activación: que modifica a la
anterior. Puede no existir, siendo en este caso
la salida la misma función de propagación.
• Enlace de transferencia: que se aplica al valor
devuelto por la función de activación. Se utiliza
para acotar la salida de la neurona y
generalmente viene dada por la interpretación
que queramos darle a dichas salidas