CARACTERIZACIÓN DEL CONJUNTO DE SOLUCIONES EN LOS PROBLEMAS DE P.L.

Slides:



Advertisements
Presentaciones similares
Programación entera En muchos problemas reales las variables sólo pueden tomar valores enteros Ejemplos: decisiones sobre inversiones, compras, arranques,
Advertisements

FACTORIZACIÓN LU Bachilleres:
MÉTODO SIMPLEX.
EC. DIFERENCIAL Def: Se llama ecuación diferencial a una relación que contiene una o varias derivadas de una función no especificada “y” con respecto.
Investigación de Operaciones
DERIVADA DE UNA FUNCION REAL
Bivariadas y Multivariadas
Término independiente
Tema 3: Introducción a la programación lineal
Programación Lineal Entera Antonio H. Escobar Z Universidad Tecnológica de Pereira – Colombia Posgrado en Ingeniería – Maestría/Doctorado.
Expresión de un problema de programación lineal Aplicaciones de la programación lineal Soluciones de un problema lineal Resolución gráfica de un problema.
METODO SIMPLEX El método Simplex es un procedimiento iterativo que permite ir mejorando la solución a cada paso. El proceso concluye cuando no es posible.
Investigación Operativa
DERIVADAS PARCIALES Gráficas.
Aplicaciones de la derivada Resuelve problemas de optimización aplicando las ideas básicas relacionadas con extremos de funciones de una variable Bloque.
Sistemas de ecuaciones
2- SIMPLEX.
ESCUELA POLITECNICA DEL EJERCITO COMPUTACIÒN AVANZADA NOMBRES:
Algoritmo Simplex Dual Como sabemos, el método simplex es un algoritmo iterativo que iniciando en una solución básica factible pero no óptima, genera soluciones.
ECUACIONES DE SEGUNDO GRADO
Biograma Introducir datos en una matriz. Elegir método para máximos y mínimos. Calcular los máximos y mínimos observados. Límites.
Universidad de los Andes-CODENSA
Optimización de Procesos.
Resolución de Problemas Método Simplex
EL PODER DE SOLVER.
MAI. Marco Vinicio Monzón Un problema de maximización se presenta en los casos en los que el interés sea optimizar el ingreso o ganancia en una empresa.
Universidad de los Andes-CODENSA
Resolución de Problemas Método Simplex
Programación Lineal Unidad 1 Parte 3.
SISTEMAS DE ECUACIONES
Introducción a Funciones de una variable
2º Bachillerato de Ciencias y Tecnología BC2A – BC2B Curso
Programación Lineal Entera Antonio H. Escobar Z Universidad Tecnológica de Pereira – Colombia Posgrado en Ingeniería – Maestría/Doctorado.
PROGRAMACIÓN LINEAL.
Diseño y análisis de algoritmos
Descomposición Factorial Unidad 5
Variables acotadas Sea: (P) Min c T x / Ax = b x  0, x  u donde c  R n, b  R m y A es una matriz de rango completo mxn con n>m. En una iteración cualquiera.
Programación Lineal ANÁLISIS DE SENSIBILIDAD en Programación Lineal.
Programación entera y optimización combinatoria Mayo 2007 Módulo 2:
3- PROGRAMACION LINEAL PARAMETRICA
PROGRAMACIÓN LINEAL.
5. El Método Simplex En lo que sigue consideremos un problema de programación lineal en su forma estándar ³ =
Modelos Cuantitativos
Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas.
Dualidad Multiplicadores Dualidad Aplicación práctica:
1 Condiciones de extremo Proceso para derivar las condiciones De problema más simple a más complejo Progresión de problemas: Problema sin restricciones.
REGLA DE RUFFINI DÍA 11 * 1º BAD CS
TEMA 5: El problema del flujo con costo mínimo
Ecuaciones Algebraicas
UNIDAD 4 Clase 6.3 Tema: Sistema de Ecuaciones Lineales
Solver complemento de excel
Método SIMPLEX. PPL: Caracterización Objetivo: Encontrar la mejor distribución posible de los recursos escasos entre las diversas actividades o tareas,
MATRICES.
Modelos de Minimización
“CURSO PROPEDÉUTICO PARA EL MEJORAMIENTO DEL PENSAMIENTO MATEMÁTICO”
Prof. Juan José Bravo B., M.Sc. ©
Método Simplex Es un procedimiento sistemático y eficiente para encontrar y probar soluciones situadas en los puntos extremos de la región de soluciones.
Resolución Gráfica de PPL
Resolución de Problemas Método Gráfico
 E Expresión de un problema de programación lineal  A Aplicaciones de la programación lineal  S Soluciones de un problema de programación lineal.
MATRICES.
Hernández Camacho Víctor Jesus Islas Sánchez Karla Vanessa
Método Simplex Es un procedimiento sistemático y eficiente para encontrar y probar soluciones situadas en los puntos extremos de la región de soluciones.
Ing. Haydeli del Rosario Roa Lopez
Álgebra y funciones 3 Índice del libro 1.PolinomiosPolinomios 2.Identidades notablesIdentidades notables 3.Resolución de ecuaciones de primer gradoResolución.
Dirección de Investigación y Postgrado UNEXPO REP Ú BLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD NACIONAL EXPERIMENTAL POLIT É CNICA “ ANTONIO JOS É DE SUCRE.
UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO FACULTAD DE QUÍMICA P.E.L: INGENIERO QUÍMICO U.A: ÁLGEBRA LINEAL Unidad II Conceptos básicos de Álgebra Tema:
Programación Lineal Método Simplex.
Problema Dual INVESTIGACIÓN DE OPERACIONES. Problema Dual.
INVERSIÓN DE PRIMAS NO CAUSADAS DE SURA EVELIN KATHERINE ARAMBULA TOVAR DEBORAH SANCHEZ MORA JUAN SEBASTIAN MENDEZ RPDRIGUEZ.
Transcripción de la presentación:

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.

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

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

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 ³ 0 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.

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).

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

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) > 0 entrara en la base, el valor de z aumentaría. Si una variable no básica que tenga asociado un (cj-zj) < 0 entrara en la base, el valor de z disminuiría. Si una variable no básica que tenga asociado un (cj-zj) = 0 entrara en la base, el valor de z permanecería inalterado.

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 £ 0. En problemas de minimización: La solución es óptima si todos los costes reducidos (cj-zj) son ³ 0. 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.

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.

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.

APLICACIÓN MÉTODO SIMPLEX EN FORMA DE TABLEAU EJEMPLO 5.1 Operación Producto Disponibilidad X Y (horas/periodo) Cortado 10 6 2.500 Cosido 5 2.000 Empaquetado 1 2 500 Beneficio unitario 23 32

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

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.

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

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:

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.

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.

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.

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 2x + 4y - s1 + A1 = 40 3x + 2y - s2 +A2 = 50

APLICACIÓN DEL MÉTODO SIMPLEX EN FORMA DE TABLEAU

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.

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.

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.

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 2x + 4y - s1 + A1 = 40 3x + 2y - s2 +A2 = 50 x, y, s1, s2, A1, A2 ³ 0

APLICACIÓN DEL MÉTODO DE LAS 2 FASES

APLICACIÓN DEL MÉTODO DE LAS 2 FASES

PLANTEAMIENTO FORMAL DEL SIMPLEX EN FORMA DE TABLEAU 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: z – cBxB – cNxN = 0 [1] xB + B-1NxN = B-1b [2]

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 β XN B-1b I B-1N Zj CBB-1N Cj-Zj CN-CBB-1N

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. 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.

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.

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.

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.

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.

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

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.

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

RESOLUCIÓN DE PROBLEMAS CON PROGRAMAS INFORMÁTICOS Informe de respuestas

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.