Cap.5 La resolución de los problemas de PL: El Método Simplex "Sistemas de Decisión Empresarial"...
-
Upload
leopoldo-badia -
Category
Documents
-
view
221 -
download
1
Transcript of Cap.5 La resolución de los problemas de PL: El Método Simplex "Sistemas de Decisión Empresarial"...
Cap.5 La resolución de los problemas de PL: El Método Simplex"Sistemas de Decisión Empresarial" Daniel Villalba y Yolanda Bueno
1
CARACTERIZACIÓN DEL CONJUNTO DE SOLUCIONES EN
LOS PROBLEMAS DE P.L.
Para resolver los problemas de PL se utilizan varios Algoritmos. El más antiguo y más utilizado sigue siendo el Algoritmo del Simplex debido a Dantzig.
La solución de los problemas de programación lineal parte de dos teoremas fundamentales:
• El conjunto factible de un problema de PL puede representarse mediante un poliedro convexo.
• Si un PL tiene solución óptima y finita ésta se encuentra en uno de los vértices del poliedro convexo.
De ellos se deduce que:Puesto que el número de vértices de un poliedro factible es finito, el número de posibles soluciones de un PL también es finito.
Cap.5 La resolución de los problemas de PL: El Método Simplex"Sistemas de Decisión Empresarial" Daniel Villalba y Yolanda Bueno
2
CARACTERIZACIÓN DEL CONJUNTO DE SOLUCIONES EN
LOS PROBLEMAS DE P.L.
Esto sugiere, inicialmente, un algoritmo para calcular la solución óptima:
Calcular el valor de la función objetivo en cada vértice del conjunto factible y escoger el mejor.
Sin embargo, el número de vértices de un conjunto factible es:
m = número de restricciones
n = número de variables
Ejemplos:
m=3 n=2 Vértices=10
m=50 n=80 Vértices=2,97E+36
m)!-n(m m!
n)!(m
m
nm
Cap.5 La resolución de los problemas de PL: El Método Simplex"Sistemas de Decisión Empresarial" Daniel Villalba y Yolanda Bueno
3
CARACTERIZACIÓN DEL CONJUNTO DE SOLUCIONES EN
LOS PROBLEMAS DE P.L. El concepto de vértice es de naturaleza
geométrica y es poco adecuado para construir un algoritmo utilizable por ordenadores.
El Método Simplex se basa en el concepto de la SOLUCIÓN BÁSICA FACTIBLE
Es aquella que tiene al menos n-m componentes nulos o variables no básicas. Las m restantes variables se denominan básicas.
A partir de: Ax = b
x 0
Se dice que x es una SBF si puede realizarse la partición:
A = [ N|B]
xN = 0
xB = B-1b
B
N
x
xx
Cap.5 La resolución de los problemas de PL: El Método Simplex"Sistemas de Decisión Empresarial" Daniel Villalba y Yolanda Bueno
4
CARACTERIZACIÓN DEL CONJUNTO DE SOLUCIONES EN
LOS PROBLEMAS DE P.L. Existen varios tipos de solución básica:
• SB Factible: Todas las variables básicas xB
• SBF No Degenerada: xB > 0
• SBF Degenerada: algún xB = 0
Cada SBF representa un vértice del Conjunto Factible.
Sin embargo, un vértice puede estar representado por más de una SBF si esta es degeneradas.
Cualquier conjunto poliédrico no vacío contiene al menos un vértice, y si hay un vértice, siempre habrá por lo menos una SBF.
Cap.5 La resolución de los problemas de PL: El Método Simplex"Sistemas de Decisión Empresarial" Daniel Villalba y Yolanda Bueno
5
EL ALGORITMO DEL SIMPLEX El algoritmo del Simplex busca el óptimo de un
problema de PL recorriendo algunos de los vértices del poliedro del conjunto de soluciones factibles.
En cada iteración, el algoritmo se desplaza de un vértice a otro de forma que el valor de la función objetivo mejore con el desplazamiento.
La optimización de un PL puede dar 4 posibles resultados:
• Óptimo único• Soluciones Alternativas: Existen varias
soluciones que dan el mismo valor en la función objetivo.
• No factible: No existe ninguna solución que satisfaga simultáneamente todas las restricciones del problema
• No acotado: El valor de la función objetivo en el óptimo es tan grande (pequeño) como se desee en caso de maximización (minimización).
Cap.5 La resolución de los problemas de PL: El Método Simplex"Sistemas de Decisión Empresarial" Daniel Villalba y Yolanda Bueno
6
DIAGRAMA DE FLUJO DEL MÉTODO DEL SIMPLEX
Introducir en la base la variable entrante Extraer de la base la variable que bloquee al crecimiento de la variable entrante. Actualizar XB
Cap.5 La resolución de los problemas de PL: El Método Simplex"Sistemas de Decisión Empresarial" Daniel Villalba y Yolanda Bueno
7
EL ALGORITMO DEL SIMPLEX
LAS 3 PARTES DEL ALGORITMO DEL SIMPLEX:
Costes reducidos (cj-zj ):
Miden el efecto sobre la función objetivo de un aumento unitario en el valor de cada una de las variables no básicas. Por tanto:
• Si una variable no básica que tenga asociado un (cj-zj) > entrara en la base, el valor de z aumentaría.
• Si una variable no básica que tenga asociado un (cj-zj) < entrara en la base, el valor de z disminuiría.
• Si una variable no básica que tenga asociado un (cj-zj) =entrara en la base, el valor de z permanecería inalterado.
Cap.5 La resolución de los problemas de PL: El Método Simplex"Sistemas de Decisión Empresarial" Daniel Villalba y Yolanda Bueno
8
EL ALGORITMO DEL SIMPLEX TEST DE OPTIMALIDAD
• En problemas de maximización: La solución es óptima si todos los costes reducidos (cj-zj) son
• En problemas de minimización: La solución es óptima si todos los costes reducidos (cj-zj) son
REGLA DE ENTRADA EN LA BASE
La variable que entra en la base debe ser aquella que tenga el mayor coste reducido positivo en el caso de maximización (o mayor coste reducido negativo en el caso de minimización), ya que ésta es la variable que aumenta (disminuye) más rápidamente el valor de la función objetivo.
Cap.5 La resolución de los problemas de PL: El Método Simplex"Sistemas de Decisión Empresarial" Daniel Villalba y Yolanda Bueno
9
EL ALGORITMO DEL SIMPLEX REGLA DE SALIDA DE LA BASE
Se selecciona para salir de la base a aquella variable que tenga un menor cociente entre su valor y el coeficiente aik (siendo k la variable que entra) siempre y cuando dicho coeficiente sea estrictamente positivo.
La interpretación de este cociente:
Representa el máximo valor que puede tomar la variable entrante antes de que la variable que se está considerando viole su restricción de no negatividad.
Si todos los aik son 0 la solución no está acotada:
La variable entrante puede crecer indefinidamente sin pérdida de factibilidad.
Cap.5 La resolución de los problemas de PL: El Método Simplex"Sistemas de Decisión Empresarial" Daniel Villalba y Yolanda Bueno
10
DETERMINACIÓN DE UNA SBF INICIAL
En el PL se transforman las inecuaciones en ecuaciones.
Dentro de la matriz A de coeficientes deberá encontrarse una submatriz identidad (I) de orden mxm:
A = [N | I ] Las variables cuyos coeficientes técnicos (aij) se
corresponden con la submatriz identidad, serán las variables consideradas básicas (xB) en la solución inicial y sus valores de solución serán los términos independientes de las restricciones (b).
El resto de variables serán consideradas no básicas (xN) y, por tanto, su valor de solución será cero.
Si A no contiene una submatriz identidad o existe algún componente negativo en b, no resulta inmediato determinar una SBF inicial.
Cap.5 La resolución de los problemas de PL: El Método Simplex"Sistemas de Decisión Empresarial" Daniel Villalba y Yolanda Bueno
11
APLICACIÓN MÉTODO SIMPLEX EN FORMA DE TABLEAU
Operación Producto Disponibilidad
X Y (horas/periodo)
Cortado 10 6 2.500
Cosido 5 10 2.000
Empaquetado 1 2 500
Beneficio unitario 23 32
EJEMPLO 5.1
Cap.5 La resolución de los problemas de PL: El Método Simplex"Sistemas de Decisión Empresarial" Daniel Villalba y Yolanda Bueno
12
APLICACIÓN DEL MÉTODO SIMPLEX EN FORMA DE TABLEAU
EJEMPLO 5.1 El P.L. correspondiente es:
Max (z) = 23x + 32y
sujeto a:
10x + 6y 2500
5x + 10y 2000
x + 2y 500
x, y 0
Para convertir las inecuaciones en ecuaciones se añade una variable de holgura si por cada ecuación:
Max (z) = 23x + 32y + 0 s1+ 0 s2 + 0 s3
10x + 6y + s1 = 2500
5x + 10y + s2 = 2000
x + 2y + s3 = 500
x, y 0
Cap.5 La resolución de los problemas de PL: El Método Simplex"Sistemas de Decisión Empresarial" Daniel Villalba y Yolanda Bueno
13
APLICACIÓN DEL MÉTODO SIMPLEX EN FORMA DE TABLEAU
El proceso de cálculo de la solución utilizando el método del Simplex en forma de tableau es el siguiente:
• PASO 1: Formar el tableau inicial
• PASO 2. Test de Optimalidad. Los costes reducidos de las variables x e y son positivos. Luego no estamos en el óptimo y debe aplicarse la regla de entrada en la base.
Cap.5 La resolución de los problemas de PL: El Método Simplex"Sistemas de Decisión Empresarial" Daniel Villalba y Yolanda Bueno
14
APLICACIÓN DEL MÉTODO SIMPLEX EN FORMA DE TABLEAU
• PASO 3. Regla de entrada. Se introduce la variable con mayor coste reducido, en este caso, la variable y.
• PASO 4. Regla de salida. Para determinar que variable sale de la base se calculan los ratios:
x0Bi / yik
El mínimo es 200, por tanto, sale s2
• PASO 5. Actualización de la solución:
• Se divide la fila entrante por el pivote
• El resto de las filas se actualizan restándoles la fila correspondiente a la nueva variable básica, multiplicada por yik
Cap.5 La resolución de los problemas de PL: El Método Simplex"Sistemas de Decisión Empresarial" Daniel Villalba y Yolanda Bueno
15
APLICACIÓN DEL MÉTODO SIMPLEX EN FORMA DE TABLEAU
• El tableau resultante es:
• Una vez recalculado el tableau, se vuelve al paso 2 y se realiza una nueva iteración. El tableau resultante es:
Cap.5 La resolución de los problemas de PL: El Método Simplex"Sistemas de Decisión Empresarial" Daniel Villalba y Yolanda Bueno
16
DETERMINACIÓN DE UNA SBF INICIAL
Si en la matriz A no existe una submatriz identidad, se deberá seguir uno de los dos siguientes procedimientos:
• Método de Eliminación o de la M Grande
• Método de las 2 Fases En ambos casos se resuelve un
problema de apoyo que:• En A incluye una submatriz
identidad I, por lo que resulta muy sencillo determinar una solución inicial
• Su óptimo, si existe, es una SBF del problema.
Una vez construido el problema de apoyo se aplica el algoritmo del Simplex para su solución final.
Cap.5 La resolución de los problemas de PL: El Método Simplex"Sistemas de Decisión Empresarial" Daniel Villalba y Yolanda Bueno
17
DETERMINACIÓN DE UNA SBF INICIAL
1. MÉTODO DE ELIMINACIÓN O DE LA“M GRANDE”
El término independiente (RHS) debe ser 0.
A las restricciones del tipo se añade una variable de holgura con coeficiente +1
A las restricciones del tipo , se añade una variable de holgura con coeficiente -1 y una variable artificial con coeficiente +1
A las restricciones del tipo = se añade una variable artificial con coeficiente +1
La contribución de las variables de holgura a la función objetivo es 0
La contribución de las variables artificiales a la función objetivo se fijan:
• Min: + M• Max: - M
Siendo M un número suficientemente grande.
Cap.5 La resolución de los problemas de PL: El Método Simplex"Sistemas de Decisión Empresarial" Daniel Villalba y Yolanda Bueno
18
DETERMINACIÓN DE UNA SBF INICIAL
Solución Infactible:
Si no se eliminan todas las variables artificiales de la base cuando se ha llegado al óptimo del problema de apoyo: Solución Infactible.
Solución factible:
Si las variables artificiales se eliminan de la base obtenemos una solución factible.
Cap.5 La resolución de los problemas de PL: El Método Simplex"Sistemas de Decisión Empresarial" Daniel Villalba y Yolanda Bueno
19
APLICACIÓN DEL MÉTODO SIMPLEX EN FORMA DE TABLEAU
EJEMPLO 5.2.MÉTODO DE LA M GRANDE El PL es el siguiente:
Min (z) = 3x + 2,5y
sujeto a:
2x + 4y 40
3x + 2y 50
x, y 0 El problema de apoyo, utilizando el
método de la M Grande:
Min (z) = 3x + 2,5y + 0 s1 + 0 s2 + MA1 + MA2
sujeto a:
2x + 4y - s1 + A1 = 40
3x + 2y - s2 +A2 50
x, y 0
Cap.5 La resolución de los problemas de PL: El Método Simplex"Sistemas de Decisión Empresarial" Daniel Villalba y Yolanda Bueno
20
APLICACIÓN DEL MÉTODO SIMPLEX EN FORMA DE TABLEAU
Cap.5 La resolución de los problemas de PL: El Método Simplex"Sistemas de Decisión Empresarial" Daniel Villalba y Yolanda Bueno
21
MÉTODO DE LAS 2 FASES
2. MÉTODO DE LAS 2 FASES El método de la M Grande incluye
variables de apoyo con un coeficiente muy grande (M) o muy pequeño (-M) en la función objetivo.
Esto da lugar a problemas numéricos que conducen a soluciones erróneas. Esto es especialmente grave en problemas de cierto tamaño.
De ahí que los códigos comerciales utilizan una extensión del algoritmo del Simplex conocida como el Método de las 2 Fases:
• 1ª Fase: Obtener una SBF inicial.• 2ª Fase: Obtener una solución
óptima.
Cap.5 La resolución de los problemas de PL: El Método Simplex"Sistemas de Decisión Empresarial" Daniel Villalba y Yolanda Bueno
22
DETERMINACIÓN DE UNA SBF INICIAL
1ª FASE• La contribución de las variables básicas
(cj) es =0 en la función objetivo.
• Añadir variables de holgura en las restricciones, con contribución a la función objetivo =0
• Añadir variables artificiales pero la contribución a la función objetivo =1
Se minimiza la función objetivo anterior. Si la función objetivo (z) es 0 entonces se ha llegado a una solución factible del problema inicial.
• SBF Inicial hallada. Las variables artificiales se pueden eliminar de la tabla y proceder con la fase 2ª. Ahora ya partimos de una SBF.
• Solución infactible del problema original. Si al final de la 1ª fase hay alguna variable artificial en la base.
Cap.5 La resolución de los problemas de PL: El Método Simplex"Sistemas de Decisión Empresarial" Daniel Villalba y Yolanda Bueno
23
DETERMINACIÓN DE UNA SBF INICIAL
2ª FASE• Se eliminan de la tabla las variables
artificiales.
• Se sustituyen los cj (contribuciones a la función objetivo) por las del problema original.
• Se recalculan zj y cj-zj
Se comprueba si la solución es óptima analizando el valor de los costes reducidos.
• Si es óptima hemos terminado.• Si no lo es, se sigue iterando hasta
alcanzar el óptimo.
Cap.5 La resolución de los problemas de PL: El Método Simplex"Sistemas de Decisión Empresarial" Daniel Villalba y Yolanda Bueno
24
APLICACIÓN DEL MÉTODO DE LAS 2 FASES
EJEMPLO 5.3.MÉTODO DE LAS 2 FASES El PL es el siguiente:
Min (z) = 3x + 2,5y
sujeto a:
2x + 4y 40
3x + 2y 50
x, y 0 El problema de apoyo, utilizando el
método de las 2 Fases:
Min (z) = 0x + 0y + 0 s1 + 0 s2 + A1 +
A2
sujeto a:
2x + 4y - s1 + A1 = 40
3x + 2y - s2 +A2 50
x, y, s1, s2, A1, A2 0
Cap.5 La resolución de los problemas de PL: El Método Simplex"Sistemas de Decisión Empresarial" Daniel Villalba y Yolanda Bueno
25
APLICACIÓN DEL MÉTODO DE LAS 2 FASES
Cap.5 La resolución de los problemas de PL: El Método Simplex"Sistemas de Decisión Empresarial" Daniel Villalba y Yolanda Bueno
26
APLICACIÓN DEL MÉTODO DE LAS 2 FASES
Cap.5 La resolución de los problemas de PL: El Método Simplex"Sistemas de Decisión Empresarial" Daniel Villalba y Yolanda Bueno
27
Una manera más formal de ver la resolución de problemas de P.L. mediante el Simplex es la siguiente :
Sea un PL en forma estándar:
Max cx
sujeto a :
Ax =b
x ≥ 0 Esta formulación equivale a:
Max cx
sujeto a :
z – cBxB – cNxN = 0 [1]
xB + B-1NxN = B-1b[2]
x ≥ 0
PLANTEAMIENTO FORMAL DEL SIMPLEX EN FORMA DE TABLEAU
Cap.5 La resolución de los problemas de PL: El Método Simplex"Sistemas de Decisión Empresarial" Daniel Villalba y Yolanda Bueno
28
PLANTEAMIENTO FORMAL DEL SIMPLEX EN FORMA DE TABLEAU
Sustituyendo [2] en [1] y despejando se obtiene:
z= cB B-1b+(cN - cBB-1N)xN
Por definición: z= cB B-1b, luego:
(cN - cBB-1N)xN = 0 [3]
Formando una tabla en formato de “tableau”con [2] y [3] se obtiene:
donde:
cN - cBB-1N : Costes reducidos
B-1b: Valores de las variables básicas
B-1N: Matriz de los coeficientes
Cj CB CN
XB CB β XB XN
XB CB B-1b I B-1N
Zj CB CBB-1N
Cj-Zj 0 CN-CBB-1N
Cap.5 La resolución de los problemas de PL: El Método Simplex"Sistemas de Decisión Empresarial" Daniel Villalba y Yolanda Bueno
29
PLANTEAMIENTO FORMAL DEL SIMPLEX EN FORMA DE TABLEAU
La obtención de la inversa B-1 se realiza aplicando alguna de las siguientes reglas de álgebra:
• Intercambiar dos filas
• Multiplicar una fila por un valor distinto de cero.
• Intercambiar dos filas
De esta forma, el método simplex aplicado a problemas en forma de tableau se reduce a aplicarle a la tabla estas operaciones de forma que:
• El nuevo tableau representa una nueva solución básica factible.
• Salvo en el caso de soluciones degeneradas, el valor de la función objetivo mejora en cada iteración.
Cap.5 La resolución de los problemas de PL: El Método Simplex"Sistemas de Decisión Empresarial" Daniel Villalba y Yolanda Bueno
30
LAS DIFERENTES SOLUCIONES DE UN PROBLEMA DE P.L. EN EL
SIMPLEX ¿Cómo reconocer todos los casos que
pueden darse en la resolución de un PL?
• Solución única: En el último tableau, los costes reducidos de las variables no básicas son estrictamente negativos (maximización) o estrictamente positivos (minimización).
• Soluciones alternativas: En el último tableau, alguno de los costes reducidos de las variables no básicas es igual a cero.
• Solución no acotada: Si al efectuar el test de salida de la base, todos los coeficientes de la columna correspondiente a la variable entrante son no positivos.
• Problema infactible: Se reconoce porque alguna variable artificial queda en la base en el tableau final.
Cap.5 La resolución de los problemas de PL: El Método Simplex"Sistemas de Decisión Empresarial" Daniel Villalba y Yolanda Bueno
31
EL MÉTODO SIMPLEX EN LOS CÓDIGOS COMERCIALES DE PL
El método Simplex en forma de tableau es útil para los problemas pequeños.
Sin embargo, como proceso de cálculo resulta ineficiente y puede tener problemas de inestabilidad numérica por las siguientes razones:
• Los problemas reales suelen ser relativamente grandes y con una densidad (número de posiciones ocupadas por un número distinto de cero, dividido por el número total de posiciones) baja. Si esta matriz se conserva en forma de tableau, se ocupan m(m+n) posiciones de memoria. Si tan sólo se conservan los valores distintos de cero junto con sus coordenadas, la ocupación en memoria es muchísimo menor.
Cap.5 La resolución de los problemas de PL: El Método Simplex"Sistemas de Decisión Empresarial" Daniel Villalba y Yolanda Bueno
32
EL MÉTODO SIMPLEX EN LOS CÓDIGOS COMERCIALES DE PL
Existe una forma implícita de almacenar la inversa, que ocupa un espacio en memoria inferior a mxm
EJEMPLO:• Un problema real de PL tiene densidades
que oscilan típicamente entre 0,5% y 2%.• Supongamos un problema de PL de 200
restricciones, 500 variables y una densidad del 1%
• Si guardamos explícitamente todos los valores de la matriz A, ocuparemos 200(200+500)= 140.000 posiciones de memoria.
• Si guardamos la misma matriz implícitamente (número de filas, número de columna y valor del coeficiente no cero correspondiente) entonces ocuparemos tan sólo (200x500)x1% x 3= 3000 posiciones de memoria.
Cap.5 La resolución de los problemas de PL: El Método Simplex"Sistemas de Decisión Empresarial" Daniel Villalba y Yolanda Bueno
33
EL MÉTODO SIMPLEX EN LOS CÓDIGOS COMERCIALES DE PL
• La acumulación de errores de redondeo puede originar problemas de cálculo importantes, hasta tal punto que la solución obtenida puede resultar equivocada
Por todos estos motivos, los códigos comerciales no utilizan la versión del Simplex en forma de tableau.
Lo más corriente es que utilicen una versión del método de las dos fases y, dentro de cada una de ellas, alguna variante de un algoritmo conocido como método simplex revisado.
Cap.5 La resolución de los problemas de PL: El Método Simplex"Sistemas de Decisión Empresarial" Daniel Villalba y Yolanda Bueno
34
RESOLUCIÓN DE PROBLEMAS CON PROGRAMAS
INFORMÁTICOS
EJEMPLO: Resolución con Solver
Max (z) = 23x + 32y
sujeto a:
10x + 6y 2500
5x + 10y 2000
x + 2y 500
x, y 0
Pantalla inicial con los datos
Pantalla inicial vista de formulación
Cap.5 La resolución de los problemas de PL: El Método Simplex"Sistemas de Decisión Empresarial" Daniel Villalba y Yolanda Bueno
35
RESOLUCIÓN DE PROBLEMAS CON PROGRAMAS
INFORMÁTICOS
Ventana para incluir restricciones en Solver
Definir celda objetivo: seleccionar la celda objetivo que se desea maximizar o minimizar. La celda debe contener una fórmula.
Igual a: señalar si se desea maximizar o minimizar la celda objetivo, o bien definirla con un valor específico.
Cambiando las celdas: seleccionar las celdas donde se encuentren el valor de las variables.
Sujeto a las siguientes restricciones• Agregar: sirve para añadir restricciones.• Cambiar: seleccionada una restricción, sirve para cambiar alguno de sus términos. • Eliminar: elimina la restricción seleccionada.
• Resolver: solución del problema definido.
Cap.5 La resolución de los problemas de PL: El Método Simplex"Sistemas de Decisión Empresarial" Daniel Villalba y Yolanda Bueno
36
RESOLUCIÓN DE PROBLEMAS CON PROGRAMAS
INFORMÁTICOS
Ventana de resolución del problema en Solver
• En esta ventana podemos aceptar la solución o descartarla, pudiendo regresar a los valores originales. Además podemos seleccionar la elaboración de informes, para este ejemplo seleccionaremos informe de respuestas.
Solución del problema
Cap.5 La resolución de los problemas de PL: El Método Simplex"Sistemas de Decisión Empresarial" Daniel Villalba y Yolanda Bueno
37
RESOLUCIÓN DE PROBLEMAS CON PROGRAMAS
INFORMÁTICOS
Informe de respuestas
Cap.5 La resolución de los problemas de PL: El Método Simplex"Sistemas de Decisión Empresarial" Daniel Villalba y Yolanda Bueno
38
BIBLIOGRAFÍA Villalba D. y Jerez M. “Sistemas de
Optimización para la Planificación y Toma de Decisiones” Pirámide 1990. Agotado.
Ejemplares en Biblioteca de la Facultad de CC EE y EE.
Capítulo 5.