,

Ejercicio Resuelto – Método Simplex para Minimizar

En este problema, resolveremos un caso de minimización con el método simplex, donde no se utilizan variables artificiales.

Al no utilizarse variables artificiales no será necesario usar el método de las 2 fases o de la M grande.

Minimizar 2x1 – x2

Sujeto a:
2x1 + 3x2 ≤ 10
x1 + x2 ≤ 6
x1, x≥ 0

Solución

Para resolver el problema utilizaremos la versión de membresía de nuestra calculadora de programación lineal:

Función Objetivo

Minimizar: Z = 2X1 – 1X2

Sujeto a:

2X1 + 3X2 ≤ 10

1X1 + 1X2 ≤ 6

X1, X2 ≥ 0

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

  • Restricción 1: Tiene signo “≤” (menor igual) por lo que se agregará la variable de holgura S1.
  • Restricción 2: Tiene signo “≤” (menor igual) por lo que se agregará la variable de holgura S2.

A continuación se muestra el problema en la forma estándar. Se colocará el coeficiente 0 (cero) donde corresponda para crear nuestra matriz:

Función Objetivo

Minimizar: Z = 2X1 – 1X2 + 0S1 + 0S2

Sujeto a:

2X1 + 3X2 + 1S1 + 0S2 = 10

1X1 + 1X2 + 0S1 + 1S2 = 6

X1, X2, S1, S2 ≥ 0

Las letras presentes en las tablas corresponden a:

  • Cj: Vector de costes. Contiene los coeficientes de las variables de la función objetivo.
  • Cb: Coeficientes de los variables que conforman el vector solución.
  • Base: Variables que forman el vector solución.
  • Z: En esta fila encontrarás los valores del vector de costes reducidos. Se calcula multiplicando el vector solución por los coeficientes de las restricciones y se resta el vector de costes.
  • Xn, Sn: En cada una de las columnas se encuentran los coeficientes de su variable correspondiente.
  • R: En esta columna se encuentra el término independiente de cada ecuación.
  • Se agregará un subíndice numérico adicional en las ecuaciones para identificar su posición en la tabla. Ejemplo: X1,2: Coeficiente de X1 en la fila 2. Para Cj y Z los subíndices indicarán su posición en la columna. Ejemplo: Cj,3: Indicaría el coeficiente de Cj en la columna 3.

Solución

Matriz Inicial

Para esta tabla, el valor de la fila Z se calculará así:

Z1 = (Cb,1*X1,1) + (Cb,2*X1,2) – Cj1 = (0*2) + (0*1) – (2) = -2

Z2 = (Cb,1*X2,1) + (Cb,2*X2,2) – Cj2 = (0*3) + (0*1) – (-1) = 1

Z3 = (Cb,1*S1,1) + (Cb,2*S1,2) – Cj3 = (0*1) + (0*0) – (0) = 0

Z4 = (Cb,1*S2,1) + (Cb,2*S2,2) – Cj4 = (0*0) + (0*1) – (0) = 0

Z5 = (Cb,1*R,1) + (Cb,2*R,2) = (0*10) + (0*6) = 0

Tabla 1 Cj 2 -1 0 0
Cb Base X1 X2 S1 S2 R
0 S1 2 3 1 0 10
0 S2 1 1 0 1 6
Z -2 1 0 0 0

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

El vector solución esta compuesto por los siguientes números: [-2, 1, 0, 0]. El mayor valor es = 1 que corresponde a la variable X2. Esta variable ingresará a la base y sus valores en la tabla conformarán nuestra columna pivote.

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 S1 → R1 / X2,1 = 10 / 3 = 3.(3) (Menor Valor)
Fila S2 → R2 / X2,2 = 6 / 1 = 6

Los números entre paréntesis representan decimales periódicos. Ejemplo: 1.(3) = 1.33333…

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

Ingresa la variable X2 y sale de la base la variable S1. El elemento pivote es 3

Iteración 1

Realizaremos las iteraciones de cada valor en la tabla considerando lo siguiente:

  • Nuevo Valor Fila Pivote = Valor Actual Fila Pivote / Elemento Pivote
  • Nuevo Valor = Valor Actual – (Elemento Fila Columna Pivote*Nuevo Valor Fila Pivote)

Cálculos en fila Pivote (Fila N° 1):

Valor Actual Fila Pivote 2 3 1 0 10
Elemento Pivote 3 3 3 3 3
Nuevo Valor Fila Pivote 2 / 3 = 2/3 3 / 3 = 1 1 / 3 = 1/3 0 / 3 = 0 10 / 3 = 10/3

Ahora calcularemos los nuevos valores para las otras filas de la tabla:

Fila 2:

Valor Actual 1 1 0 1 6
Elemento Fila Columna Pivote 1 1 1 1 1
Nuevo Valor Fila Pivote 2/3 1 1/3 0 10/3
Nuevo Valor 1 – (1×2/3) = 1/3 1 – (1×1) = 0 0 – (1×1/3) = -1/3 1 – (1×0) = 1 6 – (1×10/3) = 8/3

Fila 3:

Valor Actual -2 1 0 0 0
Elemento Fila Columna Pivote 1 1 1 1 1
Nuevo Valor Fila Pivote 2/3 1 1/3 0 10/3
Nuevo Valor -2 – (1×2/3) = -8/3 1 – (1×1) = 0 0 – (1×1/3) = -1/3 0 – (1×0) = 0 0 – (1×10/3) = -10/3
Tabla 2 Cj 2 -1 0 0
Cb Base X1 X2 S1 S2 R
-1 X2 2/3 1 1/3 0 10/3
0 S2 1/3 0 -1/3 1 8/3
Z -8/3 0 -1/3 0 -10/3

Dado que no tenemos valores positivos en el vector de costes reducidos (Z) = [-8/3, 0, -1/3, 0], significa que nos encontramos en el punto óptimo (minimización).

La solución óptima es Z = -10/3

X1= 0, X2= 10/3, S1= 0, S2= 8/3

Ver Listado de Problemas Resueltos