Descargar

Programación lineal (Powerpoint) (página 2)

Enviado por Pablo Turmero


Partes: 1, 2, 3
edu.red

Programación lineal Condiciones simplificadas: cb BT 0 = ? + , ?n ? 0 cn NT ?n Equivalentes a cb = BT? , cn = NT? + ?n , ?n ? 0 o bien cn – NTB -T cb ? 0 Se resuelve un sistema de dimensión m ? m

edu.red

Programación lineal Comprobación de las condiciones: Paso 1. Se resuelve el sistema de ecuaciones BT? = cb Paso 2. Se calcula el multiplicador como ?n = cn – NT? Paso 3. Se comprueba la condición ?n ? 0

edu.red

Programación lineal Condiciones de óptimo en un vértice Esfuerzo a realizar: Factibilidad Multiplicar matriz por vector Existencia de multiplicadores Resolver un sistema de ecuaciones Dimensión n ? n Signo de los multiplicadores Comparación simple

edu.red

Programación lineal Cálculo de los multiplicadores para ( 3 1 2 0 0 )T 1 2 -1 1 1 2 3 B = 2 4 1 N = 2 -1 cB = 1 cN = 1 4 1 -1 2 -1 0 B T? = cb ? ? = ( 5/6 4/3 -3/2 )T ?n = cn – NT? = ( -2 7/2 )T Como (?n )1 < 0 , el punto no es solución

edu.red

Programación lineal Método Simplex Nos dan un vértice factible Si es solución, se termina Si no lo es, buscar un nuevo vértice Cálculo de un nuevo vértice Para alcanzar la solución más rápidamente, se calcula un vértice mejor Para facilitar el cálculo del nuevo vértice, se elige un vértice contiguo

edu.red

Programación lineal Cálculo del nuevo vértice Buscar entre vértices contiguos Problema en forma estándar: Un vértice contiguo comparte n – 1 restricciones activas Un vértice contiguo comparte n – m – 1 variables no básicas Una variable no básica diferente Existen n – m vértices contiguos

edu.red

Programación lineal ¿Qué vértice contiguo escoger? El mejor: Vértice contiguo con el menor valor de la función objetivo Demasiado caro de calcular El que resulte más prometedor: Vértice contiguo en la arista con el mayor descenso en la función objetivo

edu.red

Programación lineal Vértice más prometedor ?

edu.red

Programación lineal Selección de vértice contiguo Clave: valor de los multiplicadores Multiplicador: cambio en la función objetivo al alejarse de la restricción Supongamos que ?i < 0 Si aumenta xi , la función objetivo disminuye a un ritmo dado por ?i Multiplicador más negativo: decrecimiento más rápido

edu.red

Programación lineal Cálculo del vértice contiguo Si el vértice no es solución, existe algún multiplicador negativo Seleccionar el multiplicador más negativo Desplazarse a lo largo de la arista asociada Expresión de la arista: x + ?p , ? ? 0 p vector que representa la dirección de la arista ? escalar que indica distancia sobre la arista Cuanto mayor es ? , más nos alejamos del vértice

edu.red

Programación lineal Cálculo de dirección de movimiento, p Dirección p tal que a lo largo de x + ?p : Aumente xi Las restricciones de igualdad se cumplan Las demás variables no básicas sean cero Cálculo de componentes básicas y no básicas: pb p = pn

edu.red

Programación lineal Información de partida: vértice factible x xb x = , A x = b , x ? 0 , xn = 0 xn Condiciones que debe cumplir p : Debe aumentar (xn)i ? (pn)i > 0 Demás variables no básicas iguales a cero ? (pn)j = 0 ?j ? i

edu.red

Programación lineal Condiciones que debe cumplir p : Se deben cumplir las restricciones de igualdad A x = b , A (x + ?p ) = b ? Ap = 0 ? Bpb + Npn = 0 ? Bpb = -Npn ¿Qué queda por determinar? Componente no básica a aumentar, i Valor de la componente (pn)i Se toma el valor 1

edu.red

Programación lineal Resumen Forma de p : pn = ei , Bpb = -Nei ¿Qué i se selecciona? Variable no básica con (?n)i más negativo Justificación: cT (x + ?p ) = cTx + ? cTp cTp = cnTpn + cbTpb = ( cn + N TB -Tcb )T ei = (?n )i

edu.red

Programación lineal Cálculo de p Dado un vértice factible no solución Paso 1. Encontrar el multiplicador más negativo, (?n )i Paso 2. Definir pn como pn = ei Paso 3. Resolver el sistema de ecuaciones Bpb = -Nei

edu.red

Programación lineal Ejemplo: min 2×1 + x2 – x3 + 3×4 s.a x1 + 2×2 – x3 + x4 + x5 = 3 2×1 + 4×2 + x3 + 2×4 – x5 = 12 x1 + 4×2 + x3 – x4 + 2×5 = 9 x ? 0 Estudiar el punto ( 3 1 2 0 0 )T -2 ?n = cn – NTB -Tcb = 7/2

edu.red

Programación lineal Definición de p Componentes no básicas: pn = e1 Componentes básicas: 1 2 1 1 1 -1 -3 Bpb = -Ne1 ? 2 4 1 pB = – 2 -1 e1 = -2 ? pB = 1 1 4 1 1 2 1 0 Dirección de movimiento: p = ( -3 1 0 1 0 )T

edu.red

Programación lineal Justificación de la condición de óptimo ¿Se tiene ascenso en el vértice a lo largo de todas las aristas? Cálculo de todas las aristas en un vértice: pn = ei ?i , Bpb = -Npn Puntos a lo largo de la arista: x + ? p ¿Descenso o ascenso? cT ( x + ? p ) – cT x = ? cT p cT p < 0 descenso, cT p > 0 ascenso

edu.red

Programación lineal Justificación de la condición de óptimo Expresión formal cT p = cnT pn + cbT pb = cnT ei + cbT (-B -1Nei ) = eiT ( cn – NTB -T cb ) = eiT ?n donde ?n = cn – NTB -T cb Se tiene una solución (para minimización) si ?n ? 0

edu.red

Programación lineal Cálculo de la longitud de paso ? xk+1 = xk + ?pk ¿Cómo interesaría moverse? A lo largo de pk la función objetivo decrece linealmente Moverse tan lejos como sea posible Unica limitación: Restricciones de cota de las variables básicas

edu.red

Programación lineal Cálculo de la longitud de paso ? Condición: xi + ?pi ? 0 ?i ? B Para cada componente i básica calculamos el mayor paso factible, -xi /pi El paso se define como el menor de los cocientes para los pasos positivos ? = min { -xi /pi | pi < 0 }

edu.red

Programación lineal Ejemplo: min 2×1 + x2 – x3 + 3×4 s.a x1 + 2×2 – x3 + x4 + x5 = 3 2×1 + 4×2 + x3 + 2×4 – x5 = 12 x1 + 4×2 + x3 – x4 + 2×5 = 9 x ? 0 En ( 3 1 2 0 0 )T hemos obtenido p = ( -3 1 0 1 0 )T Solo existe una componente negativa en p ? = -3/(-3) = 1 , x’ = x + p = ( 0 2 2 1 0 )T

edu.red

Programación lineal Cálculo del vértice factible inicial Para aplicar el método Simplex falta un vértice inicial Pero el método Simplex es capaz de generar vértices factibles Las soluciones de un problema lineal lo son Basta con encontrar un problema lineal con las propiedades adecuadas

Partes: 1, 2, 3
 Página anterior Volver al principio del trabajoPágina siguiente