La representación tabular del método simplex |
Es importante establecer que todas las variables del sistema son positivas (no negativas Xij≥0), esto es importante para el desarrollo del método de solución para la programación lineal. |
![]() |
Simbología
|
Formulación de modelo matemático. |
La programación lineal es una técnica utilizada para resolver problemas de optimización en los que las relaciones entre las variables se pueden representar mediante ecuaciones lineales. En la formulación de modelos de programación lineal con dos variables, se busca encontrar los valores óptimos de las variables de decisión que maximicen o minimicen una función objetivo, sujeta a un conjunto de restricciones lineales.
|
Solución gráfica de modelos de programación lineal con dos variables. |
La solución gráfica es un método visual para resolver modelos de programación lineal con dos variables. Consiste en representar gráficamente las restricciones del problema en un sistema de coordenadas y encontrar el punto de intersección de las rectas que representan las restricciones. El punto óptimo de la solución se encuentra en el vértice de la región factible, que es el área común a todas las restricciones. Si el problema es de maximización, el vértice más alejado de la región factible será el óptimo. Si el problema es de minimización, el vértice más cerca del área factible será el óptimo.
|
Método Simplex. |
|
Conversión de desigualdades en ecuaciones. |
En el método Simplex, las desigualdades del modelo de programación lineal se convierten en ecuaciones mediante la introducción de variables de holgura.
|
El Método Simplex |
El propósito de este método es desarrollar procedimiento algebraico para resolver problemas lineales conocido como el método simplex. La Presentación iniciamos con una solución gráfica del problema de dos variables. La cual subsecuentemente se utiliza para desarrollar una compresión del procedimiento simplex. Solución gráfica de programación lineal con dos variables. El método consiste en plantear cada problema siguiendo una serie de pasos:
Formulación y planteamiento de un problema en programación lineal Problema con dos variables, método gráfico. Restricciones ( ≤,≥,=) |
G. 01 | ![]() |
![]() |
![]() |
Formulación del Modelo |
Usar un modelo matemático para la resolución de problemas es la base de la programación lineal recordando que modelo se refiere a la representación simplificada de la realidad; los modelos matemáticos en específico hacen uso de símbolos matemáticos y presentan elementos como:
Representa la meta que se pretende alcanzar y en la cual se basan las decisiones principales para maximizar los beneficios o bien para minimizar los costos (considere que en la programación lineal el calificativo "lineal* hace referencia que las ecuaciones usadas en el modelo serán siempre de primer grado).
Sin embargo, los resultados no siempre deberán tomarse literalmente, pues es deber del interprete considerar que hay factores externos como el cambio climático, la competencia, las condiciones de seguridad, entre otros; por lo tanto, los resultados del modelo deberán ser usados como una base para el tomador de decisiones con el objetivo de conseguir los mejores resultados en diferentes situaciones. Es importante señalar cuestiones que debe considerar la persona encargada del modelo.
|
G. 02 | ![]() |
![]() |
Solución del problema programación lineal PL |
Planteamiento o formulación del problema Para empezar a resolver un problema de programación lineal se debe tener en cuenta las restricciones y la cantidad de variable, si el problema costa de dos variables podría resolverse con el método gráfico, y en cuanto las restricciones no hay inconveniente con dicho método. El método simplex tabular, es utilizado para resolver problemas con dos o más variables y restricciones del tipo ≤ El método de la M es un método tabular, es utilizado para resolver problemas con dos o más variable y restricciones del tipo ≥, = o una combinación de ambas (≥,≤,=) |
|
G. 03 | ![]() |
![]() |
Método Gráfico |
|
Ejemplo Empresa comercial tiene dos clases de aceites, la fabricación de los aceites se realiza en tres procesos como se muestra en la siguiente tabla. Cada proceso requiere como máximo de 4, 12, 18 lts. ¿Cuántos litros de cada uno hay que procesar para obtener el mayor beneficio? Paso 1 Definir las variables de decisión X1: cantidad de aceite 1 X2: cantidad de aceite 2
Paso 2 definir la función objetivo Como son beneficio maximizaremos (si fueran costos minimizaremos) Max Z = 3x1 + 5x2 Paso 3 Definir las restricciones Tomando en cuenta que las restricciones serán del tipo ≤ debido a que es lo máximo permitido Restringido a: X1. ≤. 4 proceso 1 2x2 ≤.12 proceso 2 3x1+ 2x2 ≤.18 proceso 3 X1,x2. ≥ 0 Restricciones de no negatividad, porque no necesitamos valores negativos de x1, x2 Paso 4 Para iniciar el proceso trabajaremos con cada una de las restricciones encontrando los pares ordenados para graficar cada una de las inecuaciones. X1. ≤. 4 2x2 ≤.12 3x1+ 2x2 ≤.18 X1+x2. ≥ 0. Restricciones de no negatividad Trabajando con X1. ≤. 4 Para calcular él puntos donde intercepta el eje, momentáneamente se vuelve una ecuación X1 = 4 Graficando la primera restricción Es un gráfico de una constante por lo tanto se representa así P(4,0) |
Graficando segunda restricción 2x2 ≤.12 2X2 =12 Despejando. X2= 6. Gráfico de una constante P (0,6) Graficando Tercera restricción 3x1+ 2x2 ≤.18 3x1+ 2x2 =18 Hacemos una suposición para encontrar la coordenada donde corta al eje. Si X1= 0 3(0)+ 2x2 =18. 2X2=18 X2. = 9. Coordenada (0,9) Si X2 = 0 3x1+ 2(0) = 18 3X1= 18 X1 = 6. Coordenada (6,0) Encontrando el Área factible que es donde se intercepta las restricciones (recordando graficar las restricciones de no negatividad). El área factible es el área punteada en el gráfico. Encontramos los valores de los puntos donde se intercepta la ecuación 2: B= (0,6) Encontrando punto C. donde se intercepta ecuación dos y tres ( Ec2 = Ec3) Por cualquiera de los métodos que conoce (igualación, sustitución, reducción). 2x2 =12 3x1+ 2x2 = 18 Utilizando el método sustitución 2X2 = 12. X2= 6
3x1+ 2x2 = 18. 3X1 + 2(6) = 18 X1= 18-12 = 6 Punto de intersección es. C= (2,6)
Encontrando punto D Se intercepta la ecuación Ec1=Ec3
X1. = 4. Sustituyendo 3x1+ 2x2 = 18. 3(4)+ 2x2 = 18. 12 + 2X2= 18 2X2= 18-12. X2=6/2=3 D= (4,3) Procedemos a evaluar los puntos que limitan el área factible en la función Objetivo A = (0,0) B = (0,6) C = (2,6) D = (4,3) E = (4,0) Como estamos maximizando tomamos el valor mayor, por lo tanto Es óptimo en la coordenada X1=2. X2 = 6. Z= 36 Interpretación de los resultados Se producirán 2 litro de aceite tipo 1 y 6 lts de aceite tipo2 obteniendo un beneficio de… $36 dólares |
G. 04 | ![]() |
Ejercicio 2 Imaginemos que las necesidades semanales mínimas de una persona proteínas y grasa son 6, 10 unidades respectivamente Supongamos que debemos obtener un preparado con esa composición mínima mezclando los productos A y B cuyos contenidos por kg son los que se indican en la siguiente tabla ¿Cuántos kg de cada producto deberán comprarse semanalmente para que el costo de prepara la dieta sea mínimo? Paso 1 Definir las variables X1: cantidad kg de producto A X2: cantidad kg de producto B Paso 2 Definir la función objetivo en base a los costos (los costos se minimizan) Minimizar. Z= 4X1 + 2X2 Paso3 Definir las restricciones (como dice necesidades mínimas la restricción es del tipo≥ Restricciones X1 ≥ 6 X1+ X2. ≥. 10 X1, X2. ≥.0 Restricciones de no negatividad Paso 4 Trabajando con restricción uno X1 ≥ 6 X1 = 6. (6,0) es un gráfico de una función constante Trabajando con restricción dos X1+ X2. ≥. 10 X1+ X2. = 10 Si X1= 0. 0+X2= 10 (0,10) Si X2=0. X1 +0=10. (10,0) Como estamos minimizando tenemos dos coordenadas Primera la intersección de las rectas X1 ≥ 6 X1+ X2. ≥. 10 Encontrando el punto donde se intercepta En X1 = 6. Sustituyendo X1+ X2. = 10 6+ X2 =10. X2 = 4. Coordenada (6,4) Coordenadas (0,10) Cuando se minimiza se toma el valor pequeño en este caso será Z=32. Cuando X1= 6. Y X2= 4 En conclusión, se deben comprar 6kg del producto A y 4 kg del producto B para tener un costo mínimo de $32 |
G. 05 | ![]() |
Método Simplex Tabular |
Introducción |
|
Paso 4 expresar las restricciones en forma estándar
a1x1+a2 x2+a3x3+…+.anxm≤bi a1x1+a2 x2+a3x3+…+.anxm+s1=bi
a1x1+a2 x2+a3x3+…+.anxm≥bi a1x1+a2 x2+a3x3+…+.anxm-s1=bi Paso 5 expresar en forma tabular Paso 5 preguntar ¿es óptimo? En Cada tabla (it= iteración)
Paso 6 encontrar la variable de entrada Si el problema de maximización la variable de entrada (Ve), es la variable que tiene el coeficiente mas negativo en la ecuación cero (Z) Si el problema es de minimización la variable de entrada (Ve), es la variable que tiene el coeficiente mas positivo en la ecuación cero (Z) Paso 7 Encontrar la variable de salida (vs) Nota: los valores que no se toman en cuenta son: los valore no definidos (#/0=∄), y los negativos Paso 8 encontrar el elemento pivote y la ecuación pivote El interceptó entre la variable de entrada y la salida, será el elemento pivote Y la fila se convierte en la fila pivoté Paso 9 Hacer uno el elemento pivote Se divide toda la ecuación entre el número pivoté para convertirla en uno Paso 10 Hacer cero los coeficientes de la variable de entrada Cada coeficiente de la ecuación cero se multiplica por su inverso a la fila pivoté y se suma por la fila. |
G. 06 | ![]() |
Bases del método simplex |
Desarrollado en 1947 por George B. Dantzing, el método simplex se ha convertido en el método general para resolver problemas de programación lineal, a diferencia del método gráfico puede ser usado cuando las variables del problema son más de 2 variables y la restricción del tipo ≤ Las variables S1, S2, S3 son las holguras utilizadas para convertir desigualdades en ecuaciones. |
Modelo Simplex paso a paso |
Considerando el modelo lineal como se conoció en el paso anterior (forma original), el método simplex requiere que éste se convierta a la forma estándar, es decir, cada restricción se convertirá en una igualdad además de incorporar variables holgura que permiten expresar la cantidad de recurso no utilizado durante las actividades (Si) Ejemplo 1 Se plantea el siguiente modelo en su forma original: Max Z = 100X1 + 125X2 Sujeto a: 6X1 + 4X2 ≤ 24 X1 + X2 ≥ 800 X1,X2 ≥ 0 Restricciones de no negatividad Paso 1. Cambiar el modelo a forma estándar Las desigualdades del tipo ≤ generan variables de holgura (S1) que se entenderá la cantidad no usada u holgura del simplex, se adiciona una variable holgura al lado izquierdo de la ecuación (Si), de tal forma que: 6X + 4X2 ≤ 24 Se convertirá en 6X1 + 4X2 + S1 = 24 Por su parte una restricción del tipo ≥ representará un límite inferior para las actividades a las que se encuentra sujeta la función objetivo; por lo tanto, la cantidad por la que el lado izquierdo de la ecuación es mayor al lado derecho o limite se considera un excedente y para convertirla en una igualdad será necesario restar la variable de excedencia (holgura). X1 + X2 ≤ 800 Se convertirá en X1 + X2 +S2 = 800 Deberán ponerse tantas variables de holgura como restricciones existan. Por su parte, la función objetivo deberá cambiar de signo (de positivo a negativo y viceversa), de tal modo que: Max Z = 100X1 + 125X2 Max Z - 100X1 - 125X2=0 Paso 2 escribir en forma tabular De tal forma que el modelo estándar completo se escribirá así: Max Z - 100X1 - 125X2 =0 6X1 + 4X2 + S1 = 24 X1 + X2 + S2 = 800
X1, X2, S1, S2 ≥ 0 Note que las variables holgura también se consideraran positivas, mayor a cero. Los valores del modelo serán introducidos a la tabla simplex Observe que las holguras (Si) están a nivel de cero en la función objetivo (z) y en las filas, de acuerdo con dicha variable, se coloca la restricción. Cuando las variables holgura no aparecen el valor que tomará será cero. Paso 3 Preguntar es óptima la it=0. Si se maximiza es óptima si los coeficientes de la función objetivo son positivos o cero. Si se minimiza es óptima si los coeficientes de la variable de entrada son negativos o cero. It=0 No es óptima. Paso 4 Elegimos la VE la más negativa X2.(-125) VARIABLE DE ENTRADA = X2 CUANDO SE MAXIMIZA SE TOMA LA MAS NEGATIVA Paso 5 VARIABLE DE SALIDA SE TOMO EL MENOR Paso 6 Variable de salida (vs)= S1; se sustituye en la columna de las básicas por la variable de entrada. (X2) Paso 7 se reconoce el elemento pivote 4. Paso 8 Se procede hacer uno el elemento pivote (dividiendo toda la fila entre el elemento pivote). Paso 9 Se hace cero los coeficientes de la variable de entrada, multiplicando por el inverso. Nueva ecuación cero NE(0) = inverso por ecuación pivote (E(p)+ E(0) Resultado ¿Por cada interacción se pregunta es Optima? Debe tener encuentra que si está maximizando es óptima si los coeficientes de la función objetivo son ceros o positivo, en efecto es optima |
G. 07 | ![]() |
Ejemplo 2 |
Representación del espacio de soluciones en la forma estándar |
El desarrollo del método simplex está basado en el uso de la forma estándar, en la cual todas las restricciones se convierten en ecuaciones a fin de hacer la transición de las representaciones gráficas a las algebraicas el ejemplo siguiente, muestra cómo se representa el espacio de soluciones en la forma estándar. Debemos de tener en cuenta que el método tabular se utiliza cuando tenemos dos variables o más utilizaremos el método simplex siempre y cuando tengamos inecuaciones menores o iguales. La forma estándar del siguiente ejemplo 3 Maximizar Z = 4X1 + 3X2. Restringido a :2X1 + 3X2 ≤.6 - 3x1+ 2X2≤.3 2X2 ≤.5 2x1 + X2 ≤.4 X1,X2 ≥.0 Restricciones de no negatividad
Ejercicio 3 Maximizar Z = 4X1 + 3X2. Restringido a :2X1 + 3X2 + S1. ≤.6 - 3x1+ 2X2 +S2 ≤.3 2X2 +S3. . ≤.5 2x1 + X2 +S4 ≤.4 X1, X2 ≥.0 restricciones de no negatividad Practique resolviendo por el método simplex tabular
|
Método de la Gran M |
El método de la gran M consiste en modificar el problema original, para dar lugar a un nuevo problema agregando una variable llamada artificial (A) y que se penalizará mediante un costo M de valores grandes y positivos. El método de la gran M, se podrá aplicar para resolver el problema mediante la suma de unas variables artificiales al problema naturalmente. La función objetivo de la programación lineal original se tiene que las variables artificiales sean iguales a cero en la conclusión del algoritmo simplex. Pasos Básicos pasar a la forma estándar el modelo matemático
Si la restricción es una ecuación (=) a1x1+a2x2+a3x3+…+anxn=b1 Se agregar una variable Artificial a1x1+a2x2+a3x3+…+anxn+A1=b1 Si la restricción es del tipo mayor o igual ≥ a1x1+a2x2+a3x3+…+anxn≥b1 Se agrega una variable Artificial a1x1+a2x2+a3x3+…+anxn+A1=b1
Minimizar Z= C1x1+C2x2+…..+Cnxm + MA1
Maximizar Z= C1x1+C2x2+ …+Cnxm – MA1
Si la restricción es una ecuación (=) no se agrega holgura (Si) a1x1+a2x2+a3x3+…+anxn=b1 a1x1+a2x2+a3x3+…+anxn+A1=b1
La holgura entra restando y para equilibrar se suma la Artificial a1x1+a2x2+a3x3+…+anxn≥b1 a1x1+a2x2+a3x3+…+anxn-S1+A1=b1
La solución inicial contiene variables artificiales en la función objetivo (Z), las holguras entran a nivel de cero en la función objetivo. Inicia el proceso en eliminar M de las artificiales y así empezamos con las tablas del método simplex, se resuelve con los mismos pasos del método simplex. |
G. 08 | ![]() |
Ejemplo 1 Imaginémonos que las necesidades semanales máximas de una persona en proteína y grasas son 12 y 24 unidades respectivamente; hidratos de carbono debe contener exactamente 18. Supongamos que debemos obtener un preparado con esa composición mezclando los productos A y B cuyos contenidos por kilogramos son los que se indican en la siguiente tabla. Encontrar la cantidad de mezcla de A y B que maximice los beneficios. Paso 1 Definir las variables X1: cantidad del producto A X2: Cantidad del producto B Función objetivo maximizar Z = 5x1 + 6X2 Sujeto a: 2X1 + 3x2 =1 8 2x1 +x2 <=12 3x1 + x2 <=24 Restricciones de no negatividad x1, x2 >=0 Las restricciones de no negatividad no necesitamos que las variables básicas (X1, X2) tome valores negativos.
Paso 2 Escribir en forma estándar Agregando Variables holgura 2x1 +x2 + s1 <=12 3x1 + x2+0s1 + s2 <=24 Añadiendo Variable artificial 2x1 + 3x2 + A1 =18 Agregando variable artificial a la función objetivo Z Z=5x1+6x2-MA1 Z-5x1-6x2+MA1=0
X1, x2>=0 Restricciones de no negatividad
Variables decisión X1. X2 Variables de holgura S1, S2 Variable artificial A1
Resumen Paso 2 Escribir en forma tabular Para iniciar tenemos que eliminar M de la variable artificial multiplicando por su inverso (-M) y la ecuación que la genero que es la restricción 1 (ecuación 1). La nueva ecuación cero Nec (0) será igual a multiplicar el inverso de M que sería -m por la Ec1 más Ec0 este resultado obtendremos la nueva Ecuación cero Nec (0)= -m Ec (1) + Ec (0) Sustituimos en la tabla simplex, la nueva ecuación cero, las restricciones se copian igual como están en la tabla anterior; puede observar que sigue siendo la it=0 Empezamos a resolver utilizando el método simplex Paso 3 ¿Debemos preguntar si la interacción (it=0) es óptima? Para ser optima los coeficientes de la función objetivo deben ser cero o positivos (debido a que estamos maximizando); la respuesta es No. No olvidemos que M toma valores positivos grandes (sustituir m= 100 y evaluar) x1 (-2*100 - 5), tendría el valor de -205; x2= sustituir 100 (-3*100 - 6) = -306 como estamos maximizando tomamos el valor más negativo en este caso sería x2 la variable de entrada --------------- Paso 4 La variable de salida (vs) tomamos valor que aparece al lado derecho de la solución entre los coeficientes de la variable de entrada. Paso 5 Reconocer al elemento pivote. La intersección de la variable de entrada y la variable de salida es el elemento pivote en este caso 3. Paso 6 Hacer uno el elemento pivote. Hacemos uno el elemento pivote, dividiendo entre el mismo elemento pivote y se genera el reglón pivote. Reglón pivote Paso 7 Procedemos hacer cero los coeficientes de la variable de entrada Utilizando el inverso de cada uno. Encontramos la ecuación cero Nec0= (3m+6) ecuación pivote+ Ec0 Podemos observar en la it 1; se realizo el cambio de la variable de salida A1, por la variable de entrada x2
En la tabla siguiente se hace la sustitución de la nueva Ec3 Encontramos la nueva ecuación 2 |
Al terminar la tabla empezamos con el paso 1 ¿Debemos preguntar es óptima la it 1? Recordemos que estamos maximizando y en la ecuación cero deben ser positivos o ceros. La respuesta es no, porque en x1 aparece -1 es un valor negativo empezamos el proceso para la siguiente it 2. Paso 1 Empezamos eligiendo la variable de entrada (la variable más negativa) x1 Paso 2 La variable de salida (vs) es igual al lado derecho de la solución entre los coeficientes de la variable de entrada. Variable de salida 6/ (2/3) = 9 6/ (4/3) = 4.5 variable de Salida s1 6/1 = 6 Se sustituye la variable de entrada (x1), por la de la variable de salida s1. Paso 3 Encontrando el elemento pivote 4/3 hacemos uno el elemento Pivote dividiendo la fila entre el mismo. Se sustituye la variable de entrada (x1), por la de la variable de salida s1. Paso 3 Encontrando el elemento pivote 4/3 hacemos uno el elemento Pivote dividiendo la fila entre el mismo
Al dividir entre 4/3 nos queda
Este sería el reglón pivote para it=2 Paso 4 Hacemos cero los coeficientes de la variable de entrada Nueva ecuación cero. Nueva ecuación 1 y 2 Nec0= 1 ecuación pivote + Ec0 Ne1= -2/3Ecuacion pivote + Ec0 1 (1 0 -1/4 ¾ 0 9/2 ) -2/3 (1 0 -1/4 ¾ 0 9/2 ) (1 0 -1/4 ¾ 0 9/2 -2/3 0 1/6 -1/2 0 -3 -1 0 m+2 0 0 36 2/3 1 1/3 0 0 6 0 0 m+7/4 ¾ 0 81/2 0 1 ½ -1/2 0 3 Nueva ecuación 3 Nec3 = -1 ecuación pivote + ec3 -1(1 0 -1/4 ¾ 0 9/2 ) - 1 0 ¼ -3/4 0 -9/2 1 0 -1 0 1 6 0 0 ¾ -3/4 1 3/2 Sustituir las ecuaciones la tabla siguiente queda de la siguiente manera:
¿Debemos preguntar Es optima la it=2? Como estamos maximizando los coeficientes de Z deben ser positivo o ceros Se cumple por lo tanto la it=2 es optima
Solución X1 = 9/2 kg cantidad del producto A X2 = 3 kg cantidad del producto b Con un excedente de producto en S2 = 3/2 kg de grasa. Beneficio máximo de $81/2 |