Ejemplo de Programacion Lineal - Método de la M Grande

Datos del Problema

Se requiere Minimizar el siguiente problema:

Función Objetivo
Z = X1 - 2X2
Sujeto a las siguientes restricciones
  • X1 + X2 2
  • -X1 + X2 1
  • 0X1 + X2 3

X1, X2 ≥ 0

Solución

Para resolver el problema se realizarán las iteraciones del método simplex hasta encontrar la solución óptima.

A continuación se adecuará el problema al modelo estándar de programación lineal, agregando las variables de holgura, exceso y/o artificiales en cada una de las restricciones y convirtiendo las inecuaciones en igualdades:

  • Restricción 1: Tiene signo “” (mayor igual), por lo tanto se restará la variable de exceso S1 y se sumará la variable artificial A1. En la matriz inicial, A1 estará en la base.
  • Restricción 2: Tiene signo “” (mayor igual), por lo tanto se restará la variable de exceso S2 y se sumará la variable artificial A2. En la matriz inicial, A2 estará en la base.
  • Restricción 3: Tiene signo “” (menor igual), por lo tanto se agregará la variable de holgura S3. Esta variable se ubicará en la base en la matriz inicial.

Dado que el problema tiene variables artificiales, se utilizará el método de la M grande. Como el problema es de minimización, se sumarán las variables artificiales a la función objetivo multiplicadas por un número muy grande (representado por la letra M) de esta forma el algoritmo simplex las penalizará y eliminará de la base.

Ahora mostraremos el problema en la forma estándar. Se colocará el coeficiente 0 (cero) donde corresponda para crear nuestra matriz inicial:

Función Objetivo:

Minimizar Z = X1 - 2X2 + 0S1 + 0S2 + 0S3 + MA1 + MA2

Sujeto a:

  • X1 + X2 - S1 + 0S2 + 0S3 + A1 + 0A2 = 2
  • -X1 + X2 + 0S1 - S2 + 0S3 + 0A1 + A2 = 1
  • 0X1 + X2 + 0S1 + 0S2 + S3 + 0A1 + 0A2 = 3

Matriz Inicial

Utilizaremos los coeficientes de las ecuaciones para elaborar nuestra primera tabla:

Tabla 1Cj1-2000MM
CbBaseX1X2S1S2S3A1A2R
MA111-100102
MA2-110-10011
0S301001003
Z-12M + 2-M-M0003M

a) Cálculo de Vector de Costes Reducidos (Z):

Los valores registrados en la fila Z se obtuvieron de la siguiente forma:

  • Z1 = (Cb,1×X1,1) + (Cb,2×X1,2) + (Cb,3×X1,3) - Cj,1 = (M×1) + (M×-1) + (0×0) - (1) = -1
  • Z2 = (Cb,1×X2,1) + (Cb,2×X2,2) + (Cb,3×X2,3) - Cj,2 = (M×1) + (M×1) + (0×1) - (-2) = 2M + 2
  • Z3 = (Cb,1×S1,1) + (Cb,2×S1,2) + (Cb,3×S1,3) - Cj,3 = (M×-1) + (M×0) + (0×0) - (0) = -M
  • Z4 = (Cb,1×S2,1) + (Cb,2×S2,2) + (Cb,3×S2,3) - Cj,4 = (M×0) + (M×-1) + (0×0) - (0) = -M
  • Z5 = (Cb,1×S3,1) + (Cb,2×S3,2) + (Cb,3×S3,3) - Cj,5 = (M×0) + (M×0) + (0×1) - (0) = 0
  • Z6 = (Cb,1×A1,1) + (Cb,2×A1,2) + (Cb,3×A1,3) - Cj,6 = (M×1) + (M×0) + (0×0) - (M) = 0
  • Z7 = (Cb,1×A2,1) + (Cb,2×A2,2) + (Cb,3×A2,3) - Cj,7 = (M×0) + (M×1) + (0×0) - (M) = 0
  • Z8 = (Cb,1×R1) + (Cb,2×R2) + (Cb,3×R3) = (M×2) + (M×1) + (0×3) = 3M

b) Condición de Optimalidad (Variable Entrante):

En el vector de costes reducidos (Z) tenemos valores positivos, por lo que debemos seleccionar el mayor valor para la columna pivote (minimización).

En el vector Z (excluyendo el último valor), tenemos los siguientes números: [-1, 2M + 2, -M, -M, 0, 0, 0]. El mayor valor es = 2M + 2 que corresponde a la variable X2. Esta variable ingresará a la base y sus valores en la tabla conformarán nuestra columna pivote.

Nota: Para comprobar el valor elegido, basta con reemplazar la variable M por un número grande (p. ej. M = 1000000) en el vector de costes reducidos.

d) Condición de Factibilidad:

Se verificará la condición de factibilidad, dividiendo los valores de la columna R entre la columna pivote X2. Para procesar la división, el denominador debe ser estrictamente positivo (Si es cero o negativo se colocará N/A = No aplica). El menor valor definirá la variable que saldrá de la base:

  • Fila A1 → R1 / X2,1 = 2 / 1 = 2
  • Fila A2 → R2 / X2,2 = 1 / 1 = 1 (Menor Valor)
  • Fila S3 → R3 / X2,3 = 3 / 1 = 3

El menor valor corresponde a la fila de A2. Esta variable saldrá de la base. El elemento pivote corresponde al valor que cruza la columna X2 y la fila A2 = 1.

Ingresa la variable X2 y sale de la base la variable A2. El elemento pivote es 1

Aprende con explicaciones paso a paso

En Plan de Mejora nos esforzamos para ayudarte a superar esas materias complicadas de forma más fácil.

Membresía

Con el acceso a nuestra membresía tendrás acceso a 13 aplicativos para aprender proyectos, programación lineal, estadística entre otros.

¿Qué calculadoras incluyen?

  • Ruta Crítica PERT y CPM

  • Método Gráfico de Programación Lineal

  • Distribución Normal

  • Punto de Equilibrio y más