R- PROGRAMACIÓN LINEAL
TABLA DE CONTENIDO HISTORIA……………………………………………2,3 DEFINICION…………………………………………4,5 METODOLOGIA………………………………………6,7 SOFTWARE…………………………………………8,10 EJEMPLOS…………………………………………11,19
2
3
EL MÉTODO SIMPLEX Hace uso de la propiedad de que la solución óptima de un problema de Programación Lineal se encuentra en un vértice o frontera del dominio de puntos factibles (esto último en casos muy especiales), por lo cual, la búsqueda secuencial del algoritmo se basa en la evaluación progresiva de estos vértices hasta encontrar el óptimo. Cabe destacar que, para aplicar el Método Simplex a un modelo lineal, este debe estar en un formato especial conocido como formato estándar el cual definiremos a continuación
METODO 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 básicas factibles cada vez mejores hasta encontrar la solución Óptima (sí esta existe). Nótese que la base de su lógica es mantener la factibilidad, mientras busca la optimalidad. Pero surge la posibilidad de usar otro esquema igualmente iterativo que, como contraparte del simplex, comienza en una solución básica óptima, pero no factible y mantiene la inmejorabilidad mientras busca la factibilidad. Con este procedimiento se llega igualmente a la solución óptima. El nuevo algoritmo fue desarrollo en 1954 por C. E. Lemke y se conoce con el nombre de Método Dual-4 Simplex.
PROGRAMACION LINEAL Es un método que se utiliza en la resolución de problemas donde se plantea optimizar el uso de ciertos recursos que se disponen para maximizar utilidades, beneficios, ingresos, eficiencia o minimizar costos, perjuicios, egresos, etc. Es una técnica matemática y de investigación de operaciones que se utiliza en la planificación administrativa y económica para maximizar las funciones lineales de un gran número de variables sujetas a determinadas restricciones. El nombre de programación lineal no procede de la creación de programas de ordenador, sino de un término militar, programar, que significa realizar planes o propuestas de tiempo para el entrenamiento, la logística o el despliegue de las unidades de combate.
5
METODO SIMPLEX: Paso 1: Modelación mediante programación lineal: Las variables. Paso 2: Convertir las inecuaciones en ecuaciones En este paso el objetivo es asignar a cada recurso una variable de holgura, dado que todas las restricciones son "<=". Paso 3: Definir la solución básica inicial El método simplex parte de una solución básica inicial para realizar todas sus iteraciones, esta solución básica inicial se forma con las variables de coeficiente diferente de cero (0) en la matriz identidad. Paso 4: Definir la tabla simplex inicial Paso 5: Realizar las iteraciones necesarias
METODO DUAL SIMPLEX: PASO 1: Definimos el problema dual PASO 2: Ahora preparamos el modelo para ser resuelto mediante Método Simplex, PASO 3: Ahora dado que los signos de las inecuaciones son mayor o igual procedemos a volverlas ecuaciones agregando variables de exceso PASO 4: Recordemos que el Método Simplex solo es posible por la formación de la matriz identidad, sin embargo, en una matriz identidad no pueden ir coeficientes negativos, el cual es el caso, por ende, recurriremos al artificio denominado "Método de la M grande" utilizando variables artificiales, las cuales siempre se suman. PASO 5: Ahora si observamos la matriz identidad formada por las variables artificiales, nuestra función objetivo es la siguiente (varía dada la incorporación de las nuevas variables). PASO 6: Ahora se hace necesario interpretar los resultados de la tabla dual respecto al modelo primal, y esta interpretación se realiza siguiendo los siguientes principios.
6
PROGRAMACIÓN LINEAL: PASO 1: "Formular el problema" PASO 2: Determinar las variables de decisión PASO 3: Determinar las restricciones del problema PASO 4: Determinar la función objetivo PASO 5: Resolver el modelo utilizando software o métodos manuales
7
SOLVER es una herramienta que forma parte de una serie de comandos a veces denominados de "análisis Y si". Con Solver, puede buscarse el valor óptimo para una fórmula de celda, denominada celda objetivo, en una hoja de cálculo. Solver funciona en un grupo de celdas que estén relacionadas, directa o indirectamente, con la fórmula de la celda objetivo. Solver ajusta los valores en las celdas cambiantes que se especifiquen, denominadas celdas ajustables, para generar el resultado especificado en la fórmula de la celda objetivo. Pueden aplicarse restricciones para restringir los valores que puede utilizar Solver en el modelo y las restricciones pueden hacer referencia a otras celdas a las que afecte la fórmula de la celda objetivo, lo cual lo constituyen en una herramienta adecuada para solucionar problemas de programación lineal, y programación lineal entera.
8
TORA de optimización es un programa basado en Windows® que tiene por objeto usarse con muchas de las técnicas presentadas en el libro Investigación de Operaciones de TAHA . TORA es una aplicación muy simple, con una interfaz gráfica de baja calidad. Una de las ventajas de TORA es que puede utilizarse en procesadores de 32 y 64 bits, hoy por hoy su principal desventaja es que deberá ajustarse la configuración de pantalla para adecuarse a sus ajustes de presentación de 800 x 600 y 1024 x 768 pixeles. Se recomienda el segundo ajuste, porque produce una distribución más proporcionada de la pantalla.
LINGO es una herramienta diseñada para construir y resolver modelos de optimización matemática. LINGO proporciona un paquete integrado que incluye un potente lenguaje para expresar modelos de optimización, un ambiente con todas las funciones para los problemas de construcción y edición, y un conjunto de solucionadores rápidos incorporados, capaces de resolver de manera eficiente la mayoría de las clases de modelos de optimización.
9
PHPSIMPLEX es una herramienta online para resolver problemas de programación lineal. Su uso es libre y gratuito. Para acceder a ella basta con pulsar sobre el icono que aparece a la izquierda, o sobre «PHPSimplex» en el menú superior.
WINQSB es un paquete de herramientas muy versátil que permite el análisis y resolución de modelos matemáticos, problemas administrativos, de producción, proyectos, inventarios, transporte, entre muchos otros. Ofrece una interfaz básica pero amigable, y es la aplicación por excelencia utilizada por profesionales de Ingeniería Industrial y áreas administrativas para la resolución de sus modelos de programación lineal, continua o entera
10
FUNCIÓN OBJETIVO Min. Z = 4X1 + 12X2 + 18X3
RESTRICCIONES X1 + 3X3 ≥ 3 2X2 + 2X3 ≥ 5 X1, X2, X3 ≥ 0
SOLUCIÓN PASO 1: Convertir el problema de minimización en uno de maximización. La función objetivo se multiplica por -1.
FUNCIÓN OBJETIVO Max. Z = - 4X1 - 12X2 - 18X3 Las restricciones se multiplican por -1
RESTRICCIONES - X1 - 3X3 ≤ -3 - 2X2 - 2X3 ≤ -5 X 1, X 2, X 3 ≥ 0
PASO 2: Se convierten las inecuaciones en ecuaciones. FUNCIÓN OBJETIVO Z + 4X1 + 12X2 + 18X3 = 0
11
RESTRICCIONES - X1 - 3X3 + S1 = -3 - 2X2 - 2X3 + S2 = -5
PASO 3: Se determinan las variables básicas y no básicas. Básicas: S1 y S2 No Básicas: X1, X2 y X3 PASO 4: Elaborar la tabla inicial del simplex
PASO 5: Determinar la variable que sale (fila pivote) Es el número más negativo de la solución de las restricciones = fila de S2
PASO 6: Determinar la variable que entra (columna pivote) Razón = Coeficiente de Z / coeficiente fila pivote. Razón Mayor = Columna X2 (-12 / 2)
PASO 7: Elaborar la nueva tabla del simplex a) Nueva fila pivote = Fila pivote / elemento pivote
12
b) Nuevas filas = fila anterior - coeficiente de la columna pivote x nueva fila pivote.
Nueva Tabla del Simplex
Se realizan nuevamente los pasos del 5 al 7 obteniendo como solución final:
NOTA: No hay más iteraciones cuando no existan soluciones con coeficientes negativos.
RTA: El valor mínimo se alcanza para un X2 = 3/2 y X3 = 1, para un Z = 36
13
Consideramos el siguiente modelo de Programación Lineal:
Paso 1: Se lleva el modelo a su forma estándar. En el ejemplo se logra agregando variables de exceso en cada una de las restricciones (3 primeras: S1, S2, S3, respectivamente). Luego, se multiplica cada fila de las restricciones por -1 de modo de disponer una solución básica inicial (infactible) en las variables de exceso S1, S2 y S3. De esta forma se obtiene la siguiente tabla inicial.
A
B
C
S1
S2
S3
-15
-2
-1
1
0
0
-200
-7,5
-3
-1
0
1
0
-150
-5
-2
-1
0
0
1
-120
315
110
50
0
0
0
0
Paso 2: Se selecciona el lado derecho "más negativo" lo cual indicará cuál de las actuales variables básicas deberá
14
abandonar la base. En el ejemplo el lado derecho más negativo se encuentra en la primera fila, por tanto, S1 deja la base. Para determinar cuál de las actuales variables no básicas (A, B, C) entrará a la base, se busca el mínimo de {Yj/aij} donde aij es el coeficiente de la respectiva variable no básica en la fija i (del lado derecho más negativo, marcado en verde) y donde Yj es el costo reducido de la respectiva variable no básica. De esta forma se obtiene: Min {-315/-15, -110/-2, -50/-1} = 21, donde el pivote (marcado en rojo) se encuentra al hacer el primer cociente, por tanto, A entra a la base.
Paso 3: Se actualiza la tabla anterior siguiendo un procedimiento similar al utilizado en el Método Simplex. En el ejemplo se debe dejar a la variable A como básica y S1 como no básica. La tabla que resulta es la siguiente:
A
B
C
S1
S2
S3
1
2/15
1/15
-1/15
0
0
40/3
0
-2
-1/2
-1/2
1
0
-50
0
-4/3
-2/3
-1/3
0
1
-160/3
0
68
29
21
0
0
-4.200
Paso 4: Continuar las iteraciones y siguiendo el mismo procedimiento hasta disponer de una solución básica factible. Luego de unas iteraciones se obtiene la siguiente tabla final:
15
A
B
C
S1
S2
S3
1
0
0
-1/10
0
1/10
8
0
1
0
1/4
-1
3/4
10
0
0
1
0
2
-3
60
0
0
0
4
10
36
-6.620
La solución óptima es A=8, B=10, C=60 (marcado en verde) con valor óptimo V(P)=6.620 (marcado en rojo - se obtiene con signo cambiado). También es interesante notar que los costos reducidos de las variables artificiales S1, S2 y S3 (marcado en amarillo), corresponde a la solución óptima del modelo.
16
Es un procedimiento iterativo que permite ir mejorando la solución a cada paso, el proceso concluye cuando no es posible seguir mejorando dicha solución.
METODO DUAL SIMPLEX
METODO SIMPLEX
EMPIEZA: Solución infactible – básica y además optima
EMPIEZA: Solución factible – básica pero no optima
Busca: Optimalidad
Busca: Factibilidad
Solución final: Básica – Factible y optima
17
18
19