Métodos generales
description
Transcript of Métodos generales
Métodos generales• Métodos arborescentes: método guiado de
exploración del espacio de soluciones factibles, donde la estrategia de recorrido depende del problema particular a tratar.
• Métodos de programación dinámica: para procesos de decisión secuenciales, fundamentada en una resolución recursiva del problema.
Métodos arborescentes (B&B)
• Sea un problema (IP): Min f(x) / xS
• Los procedimientos de “Branch and Bound” (B&B) permiten determinar por enumeración implícita las soluciones realizables de S y encontrar la solución óptima en S.
• La exploración de soluciones realizables sigue dos principios: “branching” y “bounding”
• Branching: permite reducir el estudio de S al de subconjuntos de S cada vez más reducidos, de forma de terminar resolviendo problemas muy sencillos (por ejemplo de un sólo elemento). Normalmente esta subdivisión de S es una partición.
• Bounding: Para cada subconjunto de S obtenido por branching se calcula una cota por defecto de f(x) en ese subconjunto o función de evaluación (para un problema de mínimo, de lo contrario es una cota superior)
• Proceso de exploración: representado por una arborescencia/ la raíz es todo el conjunto S
• El modo de construcción de la arborescencia depende de la elección del nodo del árbol que se elige para “ramificar” (branching)
• Procedimientos de B&B: en profundidad, el de mejor evaluación
• Un nodo Si de la arborescencia no se divide más si:
– Si no factible, o sea Si = – Se encontró la solución óptima
– Toda solución en Si es un valor dominado: f(x)f(y) x Si para algún y Sj / j i
• Programación entera: una forma de encontrar una cota inferior es relajar las restricciones enteras
• Sea el problema
(IP)i : zi= max cx / xSi, Si Z+n y / S= Si y sea
(IP) : zip= max cx / xS, S Z+n => zip=max zi, i=1..k
(DP)i el dual de (IP)i
sea (RP)i y (RP) relajaciones correspondientes a los problemas IP:
Si SiR (dominio de (RP)i ) y los valores de la función
objetivo cumplen:
zi R(x) zi(x) x Si
TEO: El árbol de enumeración puede dejar Si sin dividir si se da una de las siguientes condiciones:
a) (RP)i es no factible
b) xiR Si
R, xiR es óptimo para (RP)i y satisface xi
RSi, (=>es óptimo también para (IP)i )
c) zi R z-infi , donde z-infi es el valor del objetivo para
alguna solución factible de (IP)
TEO: El árbol de enumeración puede dejar Si sin dividir si se da una de las siguientes condiciones:
a) El valor de la función objetivo de (DP)i es no acotado inferiormente
b) (DP)i tiene una solución factible de valor igual o menor que zi’
Ejemplos
Algoritmo general de B&B
1- Inicialización: ={ IP}, S0=S, z-sup0=, z-inf=-,
2- Test fin: Si = fin
3- Selección y relajación: seleccionar y eliminar un problema (IP)i de . Resolver su relajación Rpi. Sea xi
R la solución óptima si
4- Poda:
a) Si zi R z-inf ir a 2
b) Si xiR Si, ir a 5
c) Si xiRSi, y cxi
R >z-inf => z-inf= cxiR Eliminar de todos los problemas con : z-
supi z-infi. Ir a 2.
5- División: Sea (Sij)j, j=1..k una división de Si, => adicionar los problemas (IP)ij j=1..k a
z-supij= zi R para j=1..k. Ir a 2
Programación dinámica
• técnica para descomponer el problema original en una serie de problemas “embebidos”
• aproximación recursiva para resolver el problema original
• desarrollada originalmente para resolver problemas de decisión secuenciales
• Proceso de decisión secuencial en tiempo discreto: t=1..T, al comienzo del período t el proceso está en estado st-1 que depende de: el estado inicial s0 y de las variables de decisión x1..xt-1 para t=1..T
• Estado: la contribución a la función objetivo en el período t depende solamente de st-1 y de xt y el estado en t+1 solamente de st-1 y de xt
• Formulación de un problema por programación dinámica: z=max gt(st-1,xt) /
st=t(st-1,xt) t=1..T-1 (st son las variables de estado y las xt las de decisión)
s0 dato
El dominio de las variables de estado y de decisión depende de la aplicación
• Política: es un conjunto de decisiones secuenciales que hacen evolucionar el estado del sistema.
T
zk(sk-1)=max gt(st-1,xt)
t=k
/ st=t(st-1,xt) t=k..T-1
s0 dato
TEO: Formula recursiva
zk(sk-1)=max gk(sk-1,xk) + zk+1(sk)
/ sk=t(sk-1,xk)
• La fórmula recursiva anterior permite transformar el problema original con T variables de decisión, T-1 variables de estado y T-1 restricciones de estado en una secuencia de T subproblemas, dado por la fórmula anterior.
• Inicialmente zT+1(sT)=0
• La fórmula recursiva expresa un principio intuitivo de optimalidad para un proceso de decisión secuencial: una vez alcanzado un estado particular, una condición necesaria de optimalidad es que las decicsiones remanentes deben ser elegidas optimamente con respecto al estado (principio de optimalidad de Bellman)