120 likes | 382 Views
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.
E N D
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 / ji
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 dejarSi sin dividir si se da una de las siguientes condiciones: a) (RP)i es no factible b) xiR SiR,xiR es óptimo para (RP)i y satisface xiRSi, (=>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 dejarSi 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’
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 xiR la solución óptima si 4- Poda: a) Si zi R z-infir a2 b) Si xiR Si, ir a 5 c) Si xiRSi, y cxiR >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)