Anda di halaman 1dari 47

Curso: Optimización I

Clase 7: Método Simplex. Parte 1.


Dudas de la Clase 5 (5 minutos).
• ¿Qué dudas quedaron de la clase anterior?
• ¿Qué dudas tuvieron en el desarrollo de las actividades online?
Estructura del curso
Clase 1: Programación lineal. Introducción.
Unidad 1: Programación Lineal
Clase 2: Fases de un estudio de Investigación de Operaciones.

Clase 3: Modelamiento en Programación Lineal.

Clase 4: Modelamiento en Programación Lineal.


Unidad 2: Modelamiento en Programación Lineal
Clase 5: Modelamiento en Programación Lineal.

Optimización I Clase 6: Solemne

Clase 7: Método Simplex. Parte 1.

Clase 8: Método Simplex. Parte 2.

Clase 9: Dualidad.
Unidad 3: Solución de Modelos de Programación
Clase 10: Análisis de Sensibilidad (gráfica y algebraica).
Lineal
Clase 11: Algoritmo simplex y casos especiales.

Clase 12: Problemas de asignación.

Clase 13: Solemne


Estructura del curso
Clase 1: Programación lineal. Introducción.
Unidad 1: Programación Lineal
Clase 2: Fases de un estudio de Investigación de Operaciones.

Clase 3: Modelamiento en Programación Lineal.

Clase 4: Modelamiento en Programación Lineal.


Unidad 2: Modelamiento en Programación Lineal
Clase 5: Modelamiento en Programación Lineal.

Optimización I Clase 6: Solemne

Clase 7: Método Simplex. Parte 1.

Clase 8: Método Simplex. Parte 2.

Clase 9: Dualidad.
Unidad 3: Solución de Modelos de Programación
Clase 10: Análisis de Sensibilidad (gráfica y algebraica).
Lineal
Clase 11: Algoritmo simplex y casos especiales.

Clase 12: Problemas de asignación.

Clase 13: Solemne


Resultado de Aprendizaje de la Clase
Aplica el procedimiento del método simplex para la solución de
problemas propuestos.
¿Por qué es importante este tema?
Este tema es importante debido a que explica la solución de problemas
de programación lineal mediante el método algebraico.
Introducción
La solución gráfica para problemas de programación lineal, sólo es
posible para los problemas que constan de dos variables de decisión
(en algunos pasos puede utilizarse hasta con tres variables).

El método simplex ofrece una solución a problemas de programación


lineal que puede ser aplicado en modelos de dos o más variables de
decisión.

La clase de hoy consiste en la explicación del método simplex,


específicamente, se detallará la transición de la solución gráfica (SG) a
la solución algebraica (SA), la naturaleza iterativa del método y el
detalle de cálculo de algoritmo simplex.
Modelo de PL en Forma de Ecuación
El desarrollo de los cálculos con el método simplex se facilita
si se imponen dos requerimientos a las restricciones de
programación lineal:

1. Todas las restricciones son ecuaciones con lado derecho


no negativo.
2. Todas las variables son no negativas.
Modelo de PL en Forma de Ecuación
Para convertir una desigualdad ≤ en ecuación se agrega una
variable de holgura al lado izquierdo de la restricción.

Ejemplo:
Inecuación Ecuación
6x1 + 4x2 ≤ 24 6x1 + 4x2 + s1 = 24, s1 ≥ 0

La variable no negativa s1 es la holgura (o cantidad no


utilizada) del recurso M1 del modelo de Reddy Mikks utilizado
en clases anteriores.
Modelo de PL en Forma de Ecuación
Una restricción (≥) establece un límite inferior en la actividades
económicas de la programación lineal, así que la cantidad en la cual el lado
izquierdo excede el límite mínimo representa un superávit.
Para convertir una desigualdad ≥ en ecuación se resta una variable de
superávit no negativa del lado izquierdo de la desigualdad.

Inecuación Ecuación
x1 + x2 ≥ 800 x1 + x2 - S1 = 800, S1 ≥ 0

El lado derecho de la ecuación resultante no puede ser negativo. Si el lado


derecho resulta negativo, el requerimiento se satisface multiplicando
ambos lados de la ecuación por -1.
Transición de la solución gráfica a la
solución algebraica

Fuente: Taha Hamdy (2004)


Método Simplex
Considere el siguiente ejemplo:
Maximizar z= 2X + 3Y
Sujeto a:
2X + Y ≤ 4
X + 2Y ≤ 5
X, Y ≥ 0
Método Simplex
Algebraicamente, el espacio de soluciones de la PL está
representado por las siguientes m=2 ecuaciones y n=4
variables:
2X + Y + S1 = 4
X + 2Y + S2 = 5
X, Y, S1, S2 ≥ 0
Las soluciones básicas se determinan estableciendo las n - m = 4
- 2 = 2 variables iguales a cero y resolviendo las m = 2 variables
restantes.
Método Simplex
Por ejemplo, si establecemos X=0 y Y=0, las ecuaciones
proporcionan la solución básica única:
S1 = 4, S2 = 5
Puede determinarse otro punto con S1=0 y S2=0 y
resolviendo luego las dos ecuaciones resultantes:
2X + Y + S1 = 4
X + 2Y + S2 = 5
La solución básica asociada es X=1, Y=2.
Método Simplex
De forma gráfica:
Método Simplex
Probablemente se pregunte cuáles variables n - m deben igualarse a
cero en busca de un punto de esquina específico. Sin el beneficio del
espacio de soluciones gráficas (el cual está disponible a lo sumo sólo
con tres variables), no podemos especificar las (n - m) variables cero
asociadas con un punto de esquina dado. Pero eso no nos impide
enumerar todos los puntos de esquina del espacio de soluciones.
Simplemente considere todas las combinaciones en las que n-m
variables son iguales a cero y resuelva las ecuaciones resultantes.
Una vez hecho, la solución óptima es la solución básica factible
(punto de esquina) con el mejor valor objetivo.
Método Simplex
En el espacio de soluciones algebraicas (definido por mxn ecuaciones,
m < n), las soluciones básicas corresponden a los puntos de esquina en
el espacio de soluciones gráficas.
Se determinan igualando n-m variables a cero y resolviendo las m
ecuaciones para las m variables restantes, siempre que la solución
resultante es única. Esto significa que la cantidad máxima de puntos de
esquina es:
n!
C n

m!(n  m)!
m
Método Simplex
Para determinar los puntos de esquina asociados al ejemplo,
aplicamos la fórmula:
4! 4 x3 x 2 x1 24
C 
4

2
  6
2!2! (2 x1)(2 x1) 4

Para completar la transición de la solución gráfica a la algebraica, las


n-m variables cero se conocen como variables no básicas. Las m
variables restantes se llaman variables básicas, y su solución
(obtenida resolviendo las m ecuaciones) se conoce como solución
básica.
Método Simplex
La siguiente tabla muestra todas las soluciones básicas y no básicas del
ejemplo:

Fuente: Taha Hamdy (2004).


Método Simplex
En lugar de enumerar todas las soluciones básicas (puntos de esquina)
del problema de Programación Lineal, el método simplex investiga sólo
“algunas” de estas soluciones.

A continuación se describe la naturaleza iterativa del método y se


presentan detalle de cálculo del algoritmo simplex.
Naturaleza Iterativa del Método Simplex

Retomando el ejemplo anterior: Por lo común, el método


simplex se inicia en el origen,
Maximizar z= 2X + 3Y
donde X= 0, Y=0, y el valor
Sujeto a: objetivo, z, es cero. La pregunta
2X + Y ≤ 4 lógica es si un incremento en X
X + 2Y ≤ 5 y/o Y (o ambas) no básicas por
X, Y ≥ 0 encima de sus valores actuales
de cero puede mejorar
(incrementar) el valor de z.
Naturaleza Iterativa del Método Simplex

Podemos responder esta pregunta investigando la función


objetivo:
Maximizar z = 2X + 3Y

Un incremento de X o Y (o ambas) sobre sus valores actuales


de cero mejorará el valor de z.
Naturaleza Iterativa del Método Simplex

• El diseño del método simplex no permite el incremento


simultáneo de las variables. En cambio, incrementa una a la
vez.
• La variable que va a aumentar es la que tenga mayor grado
de mejora en z. En el ejemplo presente, el grado de mejora
del valor de z es de 2 unidades para X y de 3 para Y. Por lo
tanto se elige Y para que crezca (la variable con el mayor
grado de mejora entre todas las variables no básicas).
Naturaleza Iterativa del Método Simplex
En la siguiente figura se muestra Y

que el valor de Y debe


incrementarse hasta que se
llegue al punto de esquina B
(recordemos que no llegar al
punto de esquina B no es una
opción porque un candidato Óptimo (X=1, Y=2)

para el óptimo debe ser un


punto de esquina).En el punto B,
el método simplex incrementará
el valor de X para llegar al punto
de esquina mejorado C, el cual X
Fuente: Adaptación de Taha Hamdy (2004)
es el óptimo.
Naturaleza Iterativa del Método Simplex
La trayectoria del algoritmo simplex se define como A→B→C.
Cada punto de esquina a lo largo de la trayectoria está
asociado con una iteración.

Es importante hacer notar que el método simplex se mueve a


lo largo de los bordes del espacio de soluciones, lo cual
significa que el método no puede cruzarlo, es decir, irse
directamente de A a C.
Detalles de cálculo de Algoritmo Simplex
Considere el modelo de Reddy Mikks expresado en forma de ecuación
Maximizar z = 5x1 + 4x2 + 0s1 + 0s2 + 0s3 + 0s4
sujeto a
6x1 + 4x2 + s1 = 24 (materia prima M1)
x1 + 2x2 + s2 = 6 (materia prima M2)
-x1 + x2 + s3 = 1 (Límite del mercado)
x2 + s4 = 2 (Límite de la demanda)
Las variables s1,s2,s3 y s4 son las holguras asociadas con las
restricciones respectivas.
Detalles de cálculo de Algoritmo Simplex
A continuación escribimos la ecuación objetivo como:
Z - 5x1 - 4x2 = 0
De esta manera, la tabla inicial simplex se representa como sigue:

Fuente: Taha Hamdy (2004)


El diseño de la tabla simplex provee automáticamente la solución en la iteración inicial. La solución
se inicia en el origen (x1,x2) = (0,0),por lo que (x1,x2) se definen como las variables no básicas y (s1,
s2, s3, s4) como las variables básicas.
Detalles de cálculo de Algoritmo Simplex
¿Es óptima la solución inicial?
La función objetivo z=5x1 + 4x2 muestra que la solución puede mejorarse si
se incrementa el valor de la variable x1 o de la x2 no básica por encima de
cero.
Siguiendo el argumento explicado anteriormente, x1 tiene que
incrementarse porque tiene el coeficiente objetivo más positivo.
De forma equivalente, en la tabla simplex donde la función objetivo aparece
como z - 5x1 - 4x2 = 0, la variable seleccionada es la variable no básica con el
coeficiente más negativo en la ecuación objetivo. Esta regla define la llamada
condición de optimalidad simplex.
En la terminología del algoritmo simplex, x1 se conoce como la variable de
entrada porque ingresa la solución básica.
Detalles de cálculo de Algoritmo Simplex

¿Es óptima la solución inicial?


Si x1 es la variable de entrada, una de las variables básicas actuales
debe salir; es decir, se vuelve no básica a un nivel cero (recordemos que
la cantidad de variables no básicas debe ser siempre n - m).
La mecánica para determinar la variable de salida implica calcular las
relaciones del lado derecho de las ecuaciones (columna Solución) con
los coeficientes de restricción estrictamente positivos (imposibilitando
así al cero) bajo la variable de entrada, x1, como se muestra en la
siguiente tabla:
Detalles de cálculo de Algoritmo Simplex

Fuente: Taha Hamdy (2004).


Detalles de cálculo de Algoritmo Simplex
¿Cómo determinan las relaciones calculadas la variable de
salida y el valor de la variable de entrada?
La siguiente figura muestra que las relaciones calculadas son en realidad las
intersecciones de las líneas de restricción con el eje x1 (variable de entrada).
Podemos ver que el valor de x1 debe incrementarse hasta la intersección no
negativa mínima con el eje x1 (=4) para alcanzar el punto de esquina B.
Cualquier incremento más allá de B no es factible. En el punto B, la variable
básica actual s1 asociada con la restricción 1 asume un valor de cero y se
transforma en la variable de salida.
La regla asociada con las relaciones calculadas se conoce como condición de
factibilidad simplex porque garantiza la factibilidad de la nueva solución.
Detalles de cálculo de Algoritmo Simplex
El nuevo punto de solución B se
determina “intercambiando” la
variable de entrada x1 y la variable de
salida s1 en la tabla simplex para
obtener:
• Variables no básicas (cero) en B:
(s1,x2)
• Variables básicas en B:(x1,s2,s3,s4)
El proceso de intercambio se basa en
las operaciones de filas de Gauss-
Jordan. Identifica la columna de la
variable de entrada como columna
pivote y la fila de la variable de salida
como fila pivote.
Fuente: Taha Hamdy (2004)
Detalles de cálculo de Algoritmo Simplex
La intersección de la columna pivote y la fila pivote se conoce como
elemento pivote. La siguiente tabla es un replanteamiento de la tabla inicial
con sus filas y columnas pivote resaltadas.

Fuente: Taha Hamdy (2004).


Detalles de cálculo de Algoritmo Simplex
Los cálculos de Gauss-Jordan necesarios para obtener la nueva
solución básica son de dos tipos:
1. Fila pivote
a. Reemplace la variable de salida en la columna Básica con la
variable de entrada.
b. Nueva fila pivote = Fila pivote actual / Elemento pivote.
2. Todas las demás filas, incluyendo z
Nueva fila = (Fila actual) - (Coeficiente de la columna pivote) x
(Nueva fila pivote).
Detalles de cálculo de Algoritmo Simplex
Estos cálculos se aplican al ejercicio de la siguiente manera:

Fuente: Taha Hamdy (2004)

De forma análoga se hace para obtener la nueva fila S2, S3 y S4


Detalles de cálculo de Algoritmo Simplex
La nueva solución básica es (x1,s2,s3,s4),y la nueva tabla es:

Fuente: Taha Hamdy (2004)


Detalles de cálculo de Algoritmo Simplex
Observe que la estructura de la nueva tabla es similar a la de la tabla inicial, en
el sentido de que los coeficientes de las restricciones de la variable básica
forman una matriz de identidad.
Por consiguiente, cuando igualamos las nuevas variables no básicas x2 y s1 a
cero, la columna Solución de forma automática da la nueva solución (x1= 4,
s2=2, s3=5, s4=2).
Este “acondicionamiento” de la tabla es el resultado de la aplicación de las
operaciones de filas de Gauss-Jordan.
El nuevo valor objetivo es z=20, el cual es consistente con:
Nueva z= Anterior z + (Nuevo valor de x1) X(su coeficiente objetivo).

Por otra parte, z= 4 X valor de x1 + 0 X valor de s2 + 0 X valor de s3 + 0 X valor de


x4 = 4x5 + 0x2 + 0x5 + 0x2 = 20.
Detalles de cálculo de Algoritmo Simplex
En la última tabla, la condición de optimalidad muestra que x2 es la variable de
entrada. La condición de factibilidad produce la siguiente información:

Fuente: Taha Hamdy (2004)


Detalles de cálculo de Algoritmo Simplex
Por lo tanto, s2 sale de la solución básica, y el nuevo valor de x2 es 1.5. El
incremento correspondiente en z es el cual da la nueva z = 20 + 1 = 21. Si
reemplazamos s2 en la columna Básica con la x2 de entrada, se aplican las
siguientes operaciones de filas de Gauss-Jordan:

Fuente: Taha Hamdy (2004)


Detalles de cálculo de Algoritmo Simplex
Estos cálculos producen la siguiente tabla:

Fuente: Taha Hamdy (2004)

Según la condición de optimalidad, ninguno de los coeficientes de la fila z


son negativos. De ahí que la última tabla sea óptima.
Detalles de cálculo de Algoritmo Simplex
La solución óptima puede leerse en la tabla simplex de la siguiente manera.
Los valores óptimos de las variables en la columna Basic aparecen en la
columna Solución del lado derecho y se interpretan como sigue:

Fuente: Taha Hamdy (2004)


Detalles de cálculo de Algoritmo Simplex
La solución también da el estado de los recursos. Un recurso se designa
como escaso si la variable de holgura asociada es cero, es decir, las
actividades (variables) del modelo consumieron el recurso por completo. De
lo contrario, si la holgura es positiva, entonces el recurso es abundante. La
siguiente tabla clasifica las restricciones del modelo:

Fuente: Taha Hamdy (2004)


Preguntas
• ¿Qué se debe hacer para convertir una desigualdad ≥ en
ecuación?
• Según la condición de optimalidad, ¿qué característica poseen
los coeficientes de la fila z que indica que nos encontramos en
la tabla óptima?
Resumen de la clase
Modelo PL en forma de
ecuación

Transición de SG a SA

Método Simplex (MS)

Naturaleza Iterativa del


MS

Detalles de cálculo de
algoritmo simplex
Bibliografía
Bibliografía Obligatoria:
• Investigación de Operaciones
– Taha Hamdy (2004), Pearson Educación.
Taller Práctico Colaborativo
Título
• Aplicación del método simplex.

Resultado de Aprendizaje
• Aplica el procedimiento del método simplex
para la solución de problemas propuestos.

Tiempo
• 105 minutos (5 min. organización, 100 min. desarrollo
del taller)
Actividad online Clase 7
Guía
• Método simplex. Parte 1
• Tiempo de Desarrollo: 160 minutos.
• Lleve el desarrollo de la Guía y las principales
dudas a la siguiente Clase presencial.

Anda mungkin juga menyukai