0% encontró este documento útil (0 votos)
82 vistas25 páginas

Método Simplex: Guía Paso a Paso

El método simplex es un algoritmo iterativo para resolver problemas de programación lineal, buscando la solución óptima de una función objetivo bajo ciertas restricciones. El proceso implica definir el problema, determinar la solución básica inicial, seleccionar variables de entrada y salida, y actualizar la matriz mediante operaciones de Gauss-Jordan. Se ilustra con ejemplos de maximización y minimización, mostrando cómo convertir restricciones y realizar iteraciones hasta alcanzar la solución óptima.

Cargado por

Rodrigo Servián
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
82 vistas25 páginas

Método Simplex: Guía Paso a Paso

El método simplex es un algoritmo iterativo para resolver problemas de programación lineal, buscando la solución óptima de una función objetivo bajo ciertas restricciones. El proceso implica definir el problema, determinar la solución básica inicial, seleccionar variables de entrada y salida, y actualizar la matriz mediante operaciones de Gauss-Jordan. Se ilustra con ejemplos de maximización y minimización, mostrando cómo convertir restricciones y realizar iteraciones hasta alcanzar la solución óptima.

Cargado por

Rodrigo Servián
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Método Simplex Paso a Paso: Ejemplos de Maximizar y Minimizar

CONTENIDO
PRODUCCIÓN Y OPERACIONES

MÉTODO SIMPLEX PASO A PASO: EJEMPLOS


DE MAXIMIZAR Y MINIMIZAR
Una de las temáticas que nunca falta en el desarrollo del curso de
investigación de operaciones es el algoritmo simplex.

¿Qué es el método simplex?


El método simplex es un procedimiento iterativo para resolver problemas de
programación lineal, donde se busca obtener la solución óptima de la
función objetivo que logre cumplir el conjunto de restricciones.

Este algoritmo fue desarrollado en el año 1947 por el matemático norteamericano


George Dantzig

Conceptos Básicos
Para comprender de mejor manera el método simplex vamos a revisar algunas
definiciones.
El método parte de dos afirmaciones importantes:
1. El conjunto de posibles soluciones o conjunto factible de cualquier
problema de programación lineal puede representarse mediante un
poliedro convexo. Si un problema de programación lineal tiene una solución
óptima y finita, ésta estará en un vértice del poliedro convexo que
representa al problema.
2. El algoritmo simplex parte de uno de los vértices del poliedro, y verifica si
es el óptimo; si no lo es, busca un nuevo vértice adyacentes que va
mejorando el valor de la función objetivo. Se continúa iterando hasta llegar
al vértice que representa la solución óptima.
En la siguiente imagen vemos el poliedro que representa la solución factible y
cómo realiza el recorrido el algoritmo simplex:

1/25
Método Simplex Paso a Paso: Ejemplos de Maximizar y Minimizar

Pasos del Método Simplex


Los pasos para seguir en el método simplex son:

1. Definir el problema en la forma


estándar y generar nuestra matriz.
2. Determinar la solución básica inicial.
3. Seleccionar la variable de entrada
utilizando la condición de optimalidad. Si
no se puede seleccionar una variable de
entrada, quiere decir que estamos en la
condición óptima y
finalizan las iteraciones. De otro modo se
continúa con el siguiente paso.
4. Seleccionar la variable de salida
utilizando la condición de factibilidad.
5. Actualizar nuestra matriz realizando las
operaciones de Gauss-Jordan. Volver al
paso número 3.

2/25
Método Simplex Paso a Paso: Ejemplos de Maximizar y Minimizar

1. Def i nir el problema en la


forma estándar y generar matriz
Un problema de programación lineal tiene la
siguiente forma:

Donde x1, x2 … xn son las variables del problema.

Antes de llevar nuestro modelo a la forma estándar


debemos veri car que todas las restricciones
tienen el lado derecho no negativo. Es decir:

b1, b2 … bm ≥ 0

¿Qué hago si el lado derecho de la


restricción es negativo?

Cuando el término independiente de la restricción


es negativo, se debe multiplicar por -1 a toda la
restricción para convertir el valor del lado derecho
en positivo. Esta multiplicación también afectará al
signo de la restricción de la siguiente forma:

Si la restricción es del tipo mayor igual (≥), se


deberá cambiar a menor igual (≤).
En caso la restricción sea del tipo menor igual
(≤), se deberá cambiar a mayor igual (≥).

3/25
Método Simplex Paso a Paso: Ejemplos de Maximizar y Minimizar

Si la restricción es una igualdad, el signo se


mantiene.

Un caso especial es cuando el término


independiente de la restricción es 0 y el signo es
mayor igual (≥); en dicha situación, podemos
multiplicar la restricción por (-1) para convertirla en
menor igual (≤). Esto nos servirá para no utilizar
variables artificiales como veremos
posteriormente.

Convertir restricciones en igualdades

Para convertir las restricciones en igualdades va a


depender de su signo:

Si la restricción es menor igual (≤): Para este tipo


de restricciones debemos introducir una
variable no negativa llamada de holgura y que
son auxiliares para el problema. Por ejemplo:

Cuando la restricción es mayor igual (≥): En este


tipo de restricciones se debe restar una variable

4/25
Método Simplex Paso a Paso: Ejemplos de Maximizar y Minimizar

de exceso y así mismo agregar una variable


artif i cial. Por ejemplo:

Si la restricción es igual (=): En este tipo de


restricciones debemos agregar una variable
artif i cial de la siguiente forma:

El método Simplex “tradicional” o “básico” que


abordaremos en esta entrada, se utiliza para los
problemas de programación lineal donde todas las
restricciones son del tipo menor e igual (≤). Para las
restricciones que utilizan variables artificiales
5/25
Método Simplex Paso a Paso: Ejemplos de Maximizar y Minimizar

debemos utilizar el método de 2 fases

Generar la matriz

Aplicando lo indicado en los puntos anteriores


tendríamos lo siguiente:

Una vez convertidas nuestras restricciones en


ecuaciones procederemos a generar nuestra
matriz:

En nuestra matriz podemos identif i car lo siguiente:

6/25
Método Simplex Paso a Paso: Ejemplos de Maximizar y Minimizar

Vector de Costes: Es el vector que contiene los


coef i cientes de todas las variables de la
función objetivo. En la parte inferior del vector
se indican las variables en orden.
Vector Solución: En esta columna se coloca la
solución básica inicial y se va actualizando
conforme se realizan las iteraciones. En la
columna Cb se indica el coeficiente que
corresponde a cada variable en el vector de
costes. Así mismo siempre se iniciará con las
variables de holgura en la base cuando el
problema no tenga variables artificiales.
Coef i cientes Restricciones: Se colocan los
coef i cientes de las restricciones en el mismo
orden en que fueron formuladas. La columna R
contiene a los términos independientes también
conocido como vector de recursos.
Vector de costes reducidos: También conocido
como precios sombra. Este vector se calcula
multiplicando el vector solución por los
coef i cientes de las restricciones y se resta el
vector de costes. Este procedimiento lo
explicaremos al detalle en nuestra entrada del
método de las dos fases y de la M Grande,
donde se presentan variables artif i ciales. En
los ejercicios que veremos en esta entrada, al
no existir variables artificiales, el vector de
costes será igual al vector de costes
multiplicado por
“-1”.

7/25
Método Simplex Paso a Paso: Ejemplos de Maximizar y Minimizar

2. Determinar la solución básica inicial:

Como habíamos mencionado, el método simplex


parte de un vértice de la región factible, es decir, un
punto extremo. Con cada iteración avanzaremos de
vértice en vértice hasta llegar a la solución óptima.

En nuestro caso, en la matriz elaborada podemos


ver la solución básica inicial que sería S1=35, S2=18
y S3=26 (cada variable del vector solución se iguala
al valor que se encuentra en la columna R. Estas
variables se denominan variables básicas. El valor
de Z inicial también se muestra en la columna R
que es 0.

Las variables que no se encuentran en la base se


denominan variables no básicas y en este caso

8/25
Método Simplex Paso a Paso: Ejemplos de Maximizar y Minimizar

serían X1 y X2. Ambas tienen un valor de 0. ¿Con


esta solución tenemos el mejor valor de Z? Para
saberlo debemos continuar al siguiente paso:

3. Seleccionar la variable de entrada


utilizando la condición de optimalidad

Con nuestra matriz f i nalizada e identificada nuestra


solución básica inicial revisaremos la condición de
optimalidad.

Condición de Optimalidad:

La condición de optimalidad consiste en veri car si


la solución actual que tenemos en nuestra matriz
es la óptima o si se puede mejorar. Se veri ca de la
siguiente manera:

En un problema de maximización si todos los


coef i cientes del vector de costes reducidos son
mayores o iguales que cero, quiere decir que
estamos en el punto óptimo y f i naliza el
problema.
En un problema de minimización si todos los
coef i cientes del vector de costes reducidos son
menores o iguales que cero, quiere decir que
estamos en el punto óptimo y f i naliza el
problema.

Siguiendo con el ejemplo, siendo el problema de


maximización, podemos ver que en el vector de
costes reducidos existen valores negativos, lo que
significa que no estamos en el óptimo. Eso quiere
decir que debemos iniciar las iteraciones
seleccionando la variable de entrada.

9/25
Método Simplex Paso a Paso: Ejemplos de Maximizar y Minimizar

Variable de Entrada
La variable de entrada hace referencia a una de las
variables no básicas que ingresará a la base y
formará parte de la solución del problema.

Los criterios para seleccionar la variable de entrada


depende si el problema es de maximización o
minimización:

Para problemas de maximización, la variable de


entrada será la variable no básica con el
coeficiente más negativo en el vector de costes
reducidos.
Para problemas de minimización, la variable de
entrada será la variable no básica con el
coeficiente más positivo en el vector de costes
reducidos.

La columna donde está ubicada la variable se


denomina columna pivote.

En el ejemplo nuestra variable de entrada sería X 1


dado que tiene el valor más negativo en el vector
de costes reducidos, es decir “-3”:

10/25
Método Simplex Paso a Paso: Ejemplos de Maximizar y Minimizar

4. Seleccionar la Variable de Salida con


la Condición de Factibilidad

A continuación explicaremos a que se re ere la


condición de factibilidad:

Condición de Factibilidad

La condición de factibilidad, para cualquier


problema ya sea de maximización o minimización,
se veri ca evaluando los valores de los coef i cientes
de la matriz de restricciones que se encuentran en
la columna que corresponde a la variable de
entrada.

Se debe veri car que al menos uno de sus valores


sea mayor que 0 para obtener nuestra variable de
salida. Si no se cumple esa condición signif i ca
que el problema tiene solución ilimitada no
acotada.

Variable de Salida

Para determinar la variable que sale de la base se


debe dividir el valor correspondiente a la columna
R con su respectivo coeficiente en la columna de
la variable de entrada (siempre y cuando este
coef i ciente sea estrictamente positivo).

De los resultados obtenidos, el menor valor


corresponde a la que contiene a la variable de
salida. Esta la llamaremos l a f i l a pivote

Veremos su aplicación con el ejemplo:

11/25
Método Simplex Paso a Paso: Ejemplos de Maximizar y Minimizar

La variable de salida sería S2. El número que se


encuentra al cruzar la f i la pivote y la columna
pivote es el elemento pivote; en nuestro caso sería
3:

5. Actualizar la Matriz

Una vez determinado nuestro elemento pivote,


realizaremos las operaciones de Gauss-Jordan para
formar nuestra matriz identidad

El nuevo valor de cada la se calculará de la


siguiente manera:

12/25
Método Simplex Paso a Paso: Ejemplos de Maximizar y Minimizar

Para la f i la pivote: El nuevo valor se obtendrá


dividiendo el valor actual entre el elemento
pivote.

Nuevo Valor Fila Pivote = Valor Actual Fila Pivote /


Elemento Pivote

Para las otras las: El nuevo valor se calcula


restando del valor actual, la multiplicación del
elemento de la f i la que se encuentra en la
columna pivote por el nuevo valor calculado en
la f i la pivote.

Nuevo Valor = Valor Actual – (Elemento Fila


Columna Pivote*Nuevo Valor Fila Pivote).

Para entenderlo mejor, continuaremos resolviendo


el ejemplo. Iniciaremos con la f i la pivote:

En las otras las realizaremos los cálculos de forma


diferente. Iniciaremos con la f i la de S1:

13/25
Método Simplex Paso a Paso: Ejemplos de Maximizar y Minimizar

Para la la S3 tenemos:

14/25
Método Simplex Paso a Paso: Ejemplos de Maximizar y Minimizar

Finalmente en la f i la Z tenemos:

La matriz resultante sería:

15/25
Método Simplex Paso a Paso: Ejemplos de Maximizar y Minimizar

Cómo puedes ver la posición donde se encontraba


nuestro elemento pivote ahora es 1 y los elementos
que lo acompañan en la columna se convierten en
0. Es así que empezamos a formar nuestra matriz
identidad.

Volver al paso número 3

Con este último resultado, volveremos al paso 3 y


repetiremos el proceso. Cómo existen valores
negativos en el vector de costes reducidos,
podemos seguir optimizando.

El único valor negativo es -4, por lo que la variable


que ingresará es X2.

Para elegir la variable que va a salir, dividimos cada


valor de la columna R por su contraparte de la
columna X2 (este último valor debe ser positivo)

23/(19/3) = 69/19 = 3.632


El valor en la columna X2 es negativo por lo que
no se toma en cuenta.
14/(16/3) = 21/8 = 2.625

El menor valor se encuentra en la la de S3, por lo que es la variable que saldrá


de la base. El elemento pivote es 16/3.

16/25
Método Simplex Paso a Paso: Ejemplos de Maximizar y Minimizar

Realizamos nuevamente las iteraciones obteniendo


el siguiente resultado:

En esta última matriz vemos que el vector de costes


reducidos ya no tiene ningún valor negativo, lo que
quiere decir que nos encontramos en el valor
óptimo. Obtendremos los valores de las variables
básicas y de Z de la siguiente forma:

Las variables que no se encuentran en la base


tendrán valor de 0.

Solución: X1= 31/4, X2= 21/8, S1= 51/8, S2= 0, S3= 0,


Z = 57/2

Ejemplo 1 – Maximizar:
17/25
Método Simplex Paso a Paso: Ejemplos de Maximizar y Minimizar

A continuación se presenta un nuevo problema de


maximización:

Función Objetivo

Maximizar: Z = 2X1 + 5X2

Sujeto a:

X1 + 6X2 ≤ 20

X1 + X2 ≤ 60

X1 ≤ 40

X1, X2 ≥ 0

Solución

El problema se adecuará al modelo estándar de


programación lineal, agregando las variables de
holgura, exceso y/o artif i ciales en cada una de las
restricciones:

Restricción 1: Tiene signo “≤” (menor igual) por


lo que se agrega la variable de holgura S1.
Restricción 2: Tiene signo “≤” (menor igual) por
lo que se agrega la variable de holgura S2.
Restricción 3: Tiene signo “≤” (menor igual) por
lo que se agrega la variable de holgura S3.

A continuación se muestra el problema en la forma


estándar. Se colocará el coeficiente 0 (cero) donde
corresponda para crear nuestra matriz:

18/25
Método Simplex Paso a Paso: Ejemplos de Maximizar y Minimizar

Para encontrar la variable que entra a la base


elegimos el valor más negativo del vector de costes
reducidos: -5. Por lo tanto la variable de entrada
sería X2.

Para la variable de salida dividiremos los valores de


la columna R con los de la columna X2 (siempre y
cuando sean positivos). Los resultados en orden
serían: 20/6, 60 y la última la no se considera
porque su valor correspondiente a X2 no es positivo
(0). Se debe elegir el menor valor de esta división:

19/25
Método Simplex Paso a Paso: Ejemplos de Maximizar y Minimizar

20/6; por lo tanto la variable de salida se encuentra


en la primera la: S1.

El elemento pivote se encuentra en el cruce de X2 y


S1: 6.

Realizamos las reducciones de Gauss-Jordan:

Ingresa la variable X1 y sale de la base la


variable X2. El elemento pivote es 1/6. Repetimos
las operaciones de Gauss-Jordan y obtenemos la
siguiente matriz:

20/25
Método Simplex Paso a Paso: Ejemplos de Maximizar y Minimizar

En esta última matriz, todos los valores del vector


de costes reducidos son positivos lo que indica que
nos encontramos en el punto óptimo. El resultado
sería:

Ejemplo 2 – Minimizar
Se tiene el siguiente problema:

Función Objetivo

Minimizar: Z = 3X1 – 2X2

Sujeto a:

21/25
Método Simplex Paso a Paso: Ejemplos de Maximizar y Minimizar

2X1 + X2 ≤ 18

2X1 + 3X2 ≤ 42

3X1 – 2X2 ≤ 5

X1, X2 ≥ 0

Solución

El problema se adecuará al modelo estándar de


programación lineal, agregando las variables de
holgura, exceso y/o artif i ciales en cada una de las
restricciones:

Restricción 1: Tiene signo “≤” (menor igual) por


lo que se agrega la variable de holgura S1.
Restricción 2: Tiene signo “≤” (menor igual) por
lo que se agrega la variable de holgura S2.
Restricción 3: Tiene signo “≤” (menor igual) por
lo que se agrega la variable de holgura S3.

A continuación se muestra el problema en la forma


estándar. Se colocará el coeficiente 0 (cero) donde
corresponda para crear nuestra matriz:

22/25
Método Simplex Paso a Paso: Ejemplos de Maximizar y Minimizar

Como el ejercicios es de minimización, elegiremos


el mayor valor positivo para la variable de entrada:
2. Por lo tanto la variable de entrada sería X2.

Para la variable de salida dividiremos los valores de


la columna R con los de la columna X2 (siempre y
cuando sean positivos). Los resultados en orden
serían: 18/1, 42/3 y la última la no se considera
porque su valor correspondiente a X2 es negativo
(-2). Se debe elegir el menor valor de esta división:
42/3=14; por lo tanto la variable de salida se
encuentra en la segunda la: S2.

El elemento pivote se encuentra en el cruce de X2 y


S2: 3.

Realizamos las reducciones de Gauss-Jordan:

23/25
Método Simplex Paso a Paso: Ejemplos de Maximizar y Minimizar

En esta última matriz, todos los valores del vector


de costes reducidos son negativos, lo que indica
que nos encontramos en el punto óptimo del
problema de minimización. El resultado sería:

Nota: El valor de Z puede ser negativo ya que el


problema resuelto no restringe su valor.

Ejercicios Resueltos del


Método Simplex
A continuación encontrarás algunos ejemplos
adicionales resueltos con nuestra calculadora
online de programación lineal (versión de
membresía):

24/25
Método Simplex Paso a Paso: Ejemplos de Maximizar y Minimizar

Ref l exión Final


El método simplex es una temática infaltable
cuando se aborda la programación lineal; así que
es indispensable que conozcas cómo aplicarlo en
los diferentes tipos de problemas. Con los ejemplos
mostrados estarás en la capacidad de resolver
ejercicios donde no se requiera el uso de variables
artificiales.

25/25

También podría gustarte