Monografias.com > Sin categoría
Descargar Imprimir Comentar Ver trabajos relacionados

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




Enviado por Pablo Turmero



Partes: 1, 2, 3

Monografias.com

Programación lineal
Problema lineal auxiliar (fase I)
Problema lineal relacionado con el de partida, pero distinto de él
Propiedades deseadas:
Debe tener un vértice factible que se pueda calcular de forma trivial
La solución del problema auxiliar debe ser un vértice factible del problema de partida

Monografias.com

Programación lineal
Supondremos que b ? 0
Problema auxiliar
min cTx min eTw
s.a Ax = b ? s.a Ax + w = b
x ? 0 x ,w ? 0
Vértice inicial: ( x , w ) = ( 0 , b )
Si la solución del problema modificado resultase ser ( x , 0 ) , x sería un vértice factible del problema original

Monografias.com

Programación lineal
Paso 1. Asegurar que b ? 0
Paso 2. Construir el problema modificado
Paso 3. Resolver dicho problema partiendo de ( 0 , b )
Paso 4. Si en la solución w = 0 , resolver el problema original desde x
Paso 5. Si en la solución w ? 0 , el problema original no es factible

Monografias.com

Programación lineal
Ejemplo:
max 2×1 – 3×2 – x3 + 2×4
s.a x1 + x2 – x3 – x4 ? -2
2×1 – x2 + 2×3 + x4 ? 1
-x1 + x2 + x3 – 2×4 = -2
x ? 0
Lado derecho mayor que cero:
max 2×1 – 3×2 – x3 + 2×4
s.a -x1 – x2 + x3 + x4 ? 2
2×1 – x2 + 2×3 + x4 ? 1
x1 – x2 – x3 + 2×4 = 2
x ? 0

Monografias.com

Programación lineal
Problema en forma estándar
max 2×1 – 3×2 – x3 + 2×4
s.a -x1 – x2 + x3 + x4 + s1 = 2
2×1 – x2 + 2×3 + x4 – s2 = 1
x1 – x2 – x3 + 2×4 = 2
x , s ? 0
Problema auxiliar:
min w1 + w2
s.a -x1 – x2 + x3 + x4 + s1 = 2
2×1 – x2 + 2×3 + x4 – s2 + w1 = 1
x1 – x2 – x3 + 2×4 + w2 = 2
x , s , w ? 0

Monografias.com

Programación lineal
Ejemplo
Punto inicial del problema auxiliar:
x = ( 0 0 0 0 )T , s = ( 2 0 )T , w = ( 1 2 )T
Punto solución del problema auxiliar:
x = ( 0 0 0 1 )T , s = ( 1 0 )T , w = ( 0 0 )T
Vértice factible del problema inicial:
x = ( 0 0 0 1 )T

Monografias.com

Programación lineal
Los cálculos del método Simplex:
Paso 1. Obtener un vértice factible inicial
Paso 1.1
Asegurar que b ? 0
Añadir variables auxiliares
Formar problema auxiliar
Paso 1.2 Fase I
Resolver el problema auxiliar
Determinar un vértice factible para el problema original

Monografias.com

Programación lineal
Paso 2.
Comprobar si el vértice factible es solución
BT? = cb , ?n = cn – NT?
?n ? 0 ?
Paso 3.
Calcular la dirección de movimiento p
i = arg mink (?n )k
pn = ei , Bpb = -Nei

Monografias.com

Programación lineal
Paso 4.
Calcular la longitud de paso ?
? = min { -xi /pi | pi < 0 }
Paso 5.
Obtener el nuevo vértice
x’ = x + ?p

Monografias.com

Programación lineal
Ejemplo
min x1 – 2×2 – x3
s.a x1 + x3 ? 1
x1 + 2×2 + 2×3 ? 2
x ? 0
Paso 0. Poner en forma estándar
min x1 – 2×2 – x3
s.a x1 + x3 – s1 = 1
x1 + 2×2 + 2×3 + s2 = 2
x , s ? 0

Monografias.com

Programación lineal
Paso 1. Vértice factible inicial
Problema auxiliar:
min a
s.a x1 + x3 – s1 + a = 1
x1 + 2×2 + 2×3 + s2 = 2
x , s , a ? 0
Vértice factible inicial:
x = ( 0 0 0 )T , s = ( 0 2 )T , a = 1
Solución:
x = ( 1 0 0 )T , s = ( 0 1 )T , a = 0

Monografias.com

Programación lineal
Paso 2. Solución del problema original
Variables básicas: x1 , s2
¿Es solución el vértice?
? = B -Tcb = ( 1 0 )T , ?n = cn – NT? = ( -2 -2 1 )T
Dirección de movimiento:
pn = ( 1 0 0 )T , pb = -B -1Npn = ( 0 -2 )T , p = ( 0 1 0 0 -2 )T
Longitud de paso: ? = 1/2
Nuevo vértice: x’ = ( 1 1/2 0 0 0 )T

Monografias.com

Programación lineal
Siguiente iteración:
Variables básicas: x1 , x2
¿Es solución el vértice?
? = B -Tcb = ( 2 -1 )T , ?n = cn – NT? = ( -1 2 1 )T
Dirección de movimiento:
pn = ( 1 0 0 )T , pb = -B -1Npn = ( -1 -1/2 )T , p = ( -1 -1/2 1 0 0 )T
Longitud de paso: ? = min{ 1/1 , (1/2)/(1/2) } = 1
Nuevo vértice: x’ = ( 0 0 1 0 0 )T

Monografias.com

Programación lineal
Siguiente iteración:
Variables básicas: x1 , x3
¿Es solución el vértice?
? = B -Tcb = ( 3 -2 )T , ?n = cn – NT? = ( 2 3 2 )T
El vértice es solución
Vértice degenerado
¿Qué habría sucedido si hubiésemos considerado como variables básicas x2 , x3 ?

Monografias.com

Programación lineal
Convergencia del método Simplex
Un problema lineal puede ser:
No factible
No acotado
max x1 + x2
s.a x ? 0
Factible y acotado ? óptimo

Monografias.com

Programación lineal
Convergencia del método Simplex
Si el problema no tiene solución
Basta con poder identificar la situación
Si el problema no es factible:
La fase I acaba con una solución w ? 0
Si el problema no está acotado:
El método Simplex encuentra un paso ? = ?
En alguna iteración pb ? 0

Monografias.com

Programación lineal
Si el problema es óptimo
En cada iteración la función objetivo decrece
Descenso: cTp = (?n )i < 0
Siempre que ? > 0
Se sigue descendiendo hasta que ?n ? 0
Existe un número finito de vértices
El argumento solo puede fallar si ? = 0

Monografias.com

Programación lineal
Vértices degenerados
Para que ? = 0 se debe tener que
?i , (xb )i = 0 y (pb )i < 0
Puede suceder en vértices degenerados
Posibilidad de ciclos:
Intercambiar variables básicas y no básicas
Sin modificar el valor de x

Monografias.com

Programación lineal
Cómo evitar ciclos:
Si no hay empate, no pueden existir ciclos
En caso de empates: regla de Bland
Variable que entra en la base:
Primera con el menor valor del multiplicador
Variable que sale de la base:
Primera con el menor cociente para ?
Orden de variables: cualquiera pero fijo
Ineficiencia en la práctica

Monografias.com

Programación lineal
Organización de los cálculos
Para su aplicación manual
Se disponen los datos en una tabla,
cT 0
A b
En un vértice, la tabla se reajusta como
cT – cbTB -1A -cbTB -1b
B -1A B -1b

Monografias.com

Programación lineal
¿Qué información proporciona la tabla?
cT – cbTB -1A -cbTB -1b
B -1A B -1b
Multiplicadores Función objetivo
Dir. de movimiento Valores de variables
Cada vértice corresponde a diferentes valores de B y cB

Monografias.com

Programación lineal
¿Cómo actualizar la tabla al cambiar B ?
Cambio de B
Variable no básica ? básica: multiplicador
Variable básica ? no básica: longitud de paso
Una columna de B cambia por otra
B = ( b1 … bk … bm ) ? ( b1 … bj … bm ) = B’
B’ = B + (bj – bk )ekT = B (I + ( B -1bj – ek )ekT ) = BE

Monografias.com

Programación lineal
La matriz de interés en la tabla es la inversa,
B’ -1 = E -1B -1 , E -1 = I – (1/ekTB -1bj )( B -1bj – ek )ekT
N’ = B -1N , nj’ = B -1nj
B’ -1A = B -1A – (1/ekTnj’ )(nj’ – ek )ekTB -1A
Operaciones sobre la tabla:
A cada fila i se le resta la fila k multiplicada por nij’ /nkj’
Se pivota sobre el elemento kj

Monografias.com

La misma operación de pivotaje se aplica al lado derecho y a la fila superior
Ejemplo:
Introducir en la base x3 y eliminar x1
0 -5 3 0 -1 26 -3 -2 0 0 2 20
0 2 -3 1 1 2 ? 3 -1 0 1 -2 8
1 -1 1 0 -1 2 1 -1 1 0 -1 2
Propiedad de las columnas básicas:
Matriz identidad más ceros en la fila superior
Programación lineal

Monografias.com

Programación lineal
Ejemplo
min x1 – 2×2 – x3
s.a x1 + x3 ? 1
x1 + 2×2 + 2×3 ? 2
x ? 0
Problema auxiliar:
min a
s.a x1 + x3 – s1 + a = 1
x1 + 2×2 + 2×3 + s2 = 2
x , s , a ? 0

Monografias.com

Programación lineal
Tablas para el problema auxiliar
1 -2 -1 0 0 0 0 1 -2 -1 0 0 0 0
0 0 0 0 0 1 0 -1 0 -1 1 0 0 -1
1 0 1 -1 0 1 1 ? 1 0 1 -1 0 1 1
1 2 2 0 1 0 2 1 2 2 0 1 0 2
Paso 2.1. ¿Son positivos los multiplicadores?
Paso 2.2. Dir. de movimiento y long. de paso:
Columna multipl. más negativo, fila cociente menor
Se pivota sobre el valor 1

Monografias.com

Programación lineal
Nueva tabla:
1 -2 -1 0 0 0 0 0 -2 -2 1 0 -1 -1
-1 0 -1 1 0 0 -1 0 0 0 0 0 1 0
1 0 1 -1 0 1 1 ? 1 0 1 -1 0 1 1
1 2 2 0 1 0 2 0 2 1 1 1 -1 1
Nueva tabla es óptima para problema auxiliar
0 -2 -2 1 0 -1
1 0 1 -1 0 1
0 2 1 1 1 1

Monografias.com

Programación lineal
De vuelta al problema original:
0 -2 -2 1 0 -1 0 0 -1 2 1 0
1 0 1 -1 0 1 ? 1 0 1 -1 0 1
0 2 1 1 1 1 0 1 1/2 1/2 1/2 1/2
¿Es solución? No
Siguiente vértice:
0 0 -1 2 1 0 0 2 0 1 2 1
1 0 1 -1 0 1 ? 1 -2 0 -2 -1 0
0 1 1/2 1/2 1/2 1/2 0 2 1 1 1 1

Monografias.com

Programación lineal
Resumen:
En la tabla se selecciona:
Columna del multiplicador más negativo
Fila con menor cociente bik’ /nik’ para nik’ > 0
Se pivota sobre el elemento nik’
El proceso se repite hasta que los multiplicadores tienen el signo correcto

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

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Categorias
Newsletter