Sunteți pe pagina 1din 222

SOLUCIÓN DE PROBLEMAS

DE PROGRAMACIÓN LINEAL
Introducción
 El Método Simplex es un método analítico de solución de problemas
de programación lineal capaz de resolver modelos más complejos
que los resueltos mediante el método gráfico sin restricción en el
número de variables.

 El Método Simplex es un método iterativo que permite ir mejorando


la solución en cada paso. La razón matemática de esta mejora radica
en que el método consiste en caminar del vértice de un poliedro a un
vértice vecino de manera que aumente o disminuya (según el
contexto de la función objetivo, sea maximizar o minimizar), dado
que el número de vértices que presenta un poliedro solución es finito
siempre se hallará solución.

 Este famosísimo método fue creado en el año de 1947 por el


estadounidense George Bernard Dantzig y el ruso Leonid Vitalievich
Kantorovich, con el ánimo de crear un algoritmo capaz de solucionar
problemas de m restricciones y n variables.
Generalidades
 El algoritmo Simplex requiere que el Modelo Lineal, para ser
solucionado, cumpla las condiciones de Forma Estándar y Sistema
Canónico.
 La Forma Estándar incluye:
a. una Función Objetivo a optimizar,
b. lado derecho de las restricciones con valor positivo,
c. variables de decisión no negativas y
d. las restricciones deben ser expresadas como igualdades.

 Para transformar las restricciones en igualdades se deben incorporar las


llamadas variables de holgura.
 Una variable de holgura tiene coeficiente cero en la Función Objetivo.
Se suman en restricciones del Tipo  y se restan en restricciones del
Tipo .
 En términos matemáticos, expresan la diferencia entre el lado
izquierdo y el lado derecho de las restricciones. Al igual que las
variables de decisión deben ser mayores o iguales a cero.
 En términos del modelo representan la cantidad de recurso no
utilizado con relación a un máximo disponible, o utilizado por encima
de un mínimo disponible. Esto es así cuando la restricción es de un
recurso disponible.
 Cuando la restricción es de una condición o requerimiento,
representan la cantidad de esa condición o requerimiento que se
obtiene por encima de un mínimo o que se deja de tener con relación
a un máximo.
 El Sistema Canónico en un Modelo Lineal significa que debe existir una variable
básica en cada restricción. Esto permite obtener una primera solución posible
que satisface todas las restricciones.

 Una variable básica tiene coeficiente 1 positivo en una restricción y no existe en


las demás.

 Las variables de decisión (estructurales) del modelo y las variables de holgura


pueden ser variables básicas. Cuando ninguna de ellas cumple con la condición
de ser básica, se incorpora una variable como artificio matemático, para cumplir
con el sistema canónico y a esa variable se le llama variable artificial.

 Una variable artificial debe tener incorporado un coeficiente muy alto en la


Función Objetivo, con signo negativo en maximización y con signo positivo en
minimización. Con esto se logra que el procedimiento Simplex las elimine de la
solución en las primeras iteraciones. Estas variables deben valer cero en la
solución óptima del modelo.
Forma estándar

 Definición: Un problema de programación lineal está


en forma estándar si está expresado como:
Notación escalar Notación matricial

Maximizar c1 x1  ...  cn x n Maximizar c T x


Sujeto a : Sujeto a :
a11x1  ...  a1n x n  b1 Ax  b
... x0
am1 x1  ...  amn x n  bm
x1 ,..., x n  0
Paso a la forma estándar

 Las dificultades que podemos encontrar para pasar


un problema a forma estándar, y las soluciones
correspondientes son:
 Aparece una inecuación del tipo aiTxbi. En tal caso,
añadimos una nueva variable, llamada variable de exceso
(o de holgura), si, con la restricción si 0, de tal manera
que la inecuación se convierte en la ecuación aiTx–si=bi. La
nueva variable aparece con coeficiente cero en la función
objetivo.
Paso a la forma estándar

 Aparece una inecuación del tipo aiTxbi. En tal caso,


añadimos una nueva variable, llamada variable de
holgura, si, con la restricción si0, de tal manera que la
inecuación se convierte en la ecuación aiTx+si=bi. La nueva
variable aparece con coeficiente cero en la función
objetivo.
 Aparece una variable xi que no tiene restricción de no
negatividad. En este caso, sustituimos xi en todas las
restricciones y en la función objetivo por la diferencia de
dos variables nuevas xn+1 y xn+2, que sí tienen restricción
de no negatividad: xn+10, xn+20.
Paso a la forma estándar

 El problema es de minimizar, y no de maximizar. En este


caso, tendremos en cuenta que minimizar una función
objetivo F es lo mismo que maximizar la función objetivo
–F. Por tanto, basta con multiplicar por –1 la función
objetivo.
 Siguiendo estas guías podemos pasar cualquier
problema de programación lineal a la forma estándar.
Debemos tener en cuenta que las nuevas variables que
se insertan para resolver un inconveniente no pueden
reutilizarse para resolver otro.
1º Conversión de desigualdades en igualdades (ecuaciones)

a.- Restricción menor o igual (≤)


Para transformar este tipo de restricción a una ecuación de tipo
igualdad se debe aumentar su lado izquierdo con una variable de
“holgura”. Esta representa la cantidad disponible del recurso que excede
al empleo que le dan las actividades.
Ej.
6X1 + 4X2 ≤ 24
F.e
6X1 + 4X2 + s1 = 24 (s1… cantidad no utilizada de recurso)
s1 ≥ 0
b.- Restricción mayor o igual (≥)
Las restricciones de este tipo comúnmente determinan requerimientos mínimos de
especificaciones. En este caso se debe incorporar una variable de superávit que
representa el requerimiento mínimo del lado izquierdo, sobre el requerimiento
mínimo del derecho ( cuanto falta para cumplir con lo pedido).
Ej.
X1 + X2 ≥ 800
X1 + X2 - s1 = 800
s1 ≥ 0

Sin embargo la F.E pasa por hacer un ajuste más:


F.E
X1 + X2 - s1 + t1 = 800
s1, t1 ≥ 0
t1 = variable artificial (se necesita para generar la solución inicial del simplex)
 VARIABLE ARTIFICIAL / MÉTODO DE LA "M"
 Una variable artificial es un truco matemático para convertir
inecuaciones ">=" en ecuaciones, o cuando aparecen igualdades en
el problema original, la característica principal de estas variables es
que no deben formar parte de la solución, dado que no representan
recursos. El objetivo fundamental de estas variables es la formación
de la matriz identidad.
 Estas variables se representa por la letra "A", siempre se suman a las
restricciones, su coeficiente es M (por esto se le denomina Método
de la M grande, donde M significa un número demasiado grande muy
poco atractivo para la función objetivo),
d.- Restricción de igualdad (=)
Aquí la estandarización pasa sólo por incorporar una variable artificial.
Ej.
X1 + X2 = 800
X1 + X2 + t1 = 800
t1 ≥ 0
Como las variables artificiales no tienen sentido, es importante que el
simplex las deje fuera al comienzo del procedimiento y esto se logra al
penalizar la inclusión de las variables artificiales en la función objetivo con
un coeficiente ‘M’ muy grande que para el caso de maximizar es ‘ M’ y para
el caso de minimizar es ‘+ M’.
2º Cambios de variables

a.- Variables no restringidas


Algunas veces las variables de decisión pueden tomar cualquier valor real.
Xi s.r.s
Cambio de variable
Xi = Ui – Vi
Ui …. Parte positiva de Xi
Vi …. Parte negativa de Xi
Ej.
X1 + X2 ≤ 24
X1 ≥ 0, X2 s.r.s
Luego X2 = U2 – V2
F.E.
X1 + U2 – V2 + h1 = 24
b.- Variables negativas
Algunas veces las variables de decisión pueden tomar negativos.
Xi ≤ 0
Cambio de variable
Yi = – Xi Donde Yi ≥ 0
Ej.
X1 + X2 ≤ 40
X1 ≥ 0, X2 ≤ 0
Luego Y2 = – X2, o bien X2 = - Y2
F.E.
X1 - Y2 + h1 = 40
3º Cambio en criterio de optimización

Muchas veces el objetivo no es maximizar.


MIN (Z)
Cambio de variable: Z* = -Z
MIN Z = MAX ( Z*)
Ej.
MIN [ Z = X1 + X2 ]
Z* = -Z
F.E
MAX [ Z* = -X1 – X2]
Ejemplos de paso a la forma estándar

Maximizar x1 + 2x2 Maximizar x1 + 2x2 + 0x3


Sujeto a: Sujeto a:
–1/2 x1 + x2  1 –1/2 x1 + x2 +x3 = 1
x1+ x2  2 x1 + x2 2
x1, x2  0 x1, x2 , x3  0

Maximizar x1 + 2x2 + 0x3 + 0x4


Sujeto a:
–1/2 x1 + x2 +x3 =1
x1 + x2 +x4 = 2
x1, x2 , x3 , x4  0
Ejemplos de paso a la forma estándar

Maximizar 7x1 – 9x2 Maximizar 7x1 – 9x2 + 0x3


Sujeto a: Sujeto a:
– 4 x1 + 8x2  2 – 4 x1 + 8x2 –x3 = 2
3 x1 + x2  8 3 x1 + x2 8
x1, x2  0 x1, x2 , x3  0

Maximizar 7x1 – 9x2 + 0x3 + 0x4


Sujeto a:
–4 x1 + 8x2 – x3 = 2
3 x1 + x2 + x4 = 8
x1, x2 , x3 , x4  0
Ejemplos de paso a la forma estándar

Minimizar 7x1 – 4x2 Maximizar – 7x1 + 4x2


Sujeto a: Sujeto a:
8 x1 + 2x2  1 8 x1 + 2x2  1
– x1 + 5x2 = 6 – x1 + 5x2 = 6
x1, x2  0 x1, x2  0

Maximizar – 7x1 + 4x2 + 0x3


Sujeto a:
8 x1 + 2x2 + x3 = 1
– x1 + 5x2 =6
x1, x2 , x3  0
Situación inicial para aplicar el método simplex

 Partimos de un problema de programación lineal, con m


ecuaciones y n incógnitas (o variables de decisión) expresado
en forma estándar:
Maximizar c1 x1  ...  cn x n
Sujeto a :
a11x1  ...  a1n x n  b1
...
am1 x1  ...  amn x n  bm
x1 ,..., x n  0
 Además el método simplex exige que bi0 i{1, ..., m}
Una vez ha adquirido la destreza para transformar
cualquier problema de Programación Lineal a forma
estándar se enfrenta con el problema de su resolución y el
primer paso que debe llevar a cabo es la construcción de
la primera tabla del Simplex
Se han distinguido los siguientes pasos: determinación del
número de filas y columnas de la tabla, rellenado del
interior de la tabla con las tasas de uso y coeficientes de
las variables introducidas, inclusión de los costos,
identificación de las variables básicas, identificación de los
costes básicos y, finalmente, identificación de la solución
básica inicial.
Max Z  c1 x1  c2 x 2  . . .  c n x n
s.a. a11 x1  a12 x 2  . . .  a 1n x n  b1
a 21 x1  a 22 x 2  . . .  a 2n x n  b 2
 
a m1 x1  a m2 x 2  . . .  a mn x n  bm
x1, . . ., x n  0
Forma estándar

Max Z  c1 x1  c2 x 2  . . .  c n x n  0 s1  0 s2  . . .  0 sm
s.a. a11 x1  a12 x 2  . . .  a 1n x n  1 s1  0 s2  . . .  0 sm  b1
a 21 x1  a 22 x 2  . . .  a 2n x n  0 s1  1 s2  . . .  0 sm  b 2
      
a m1 x1  a m2 x 2  . . .  a mn x n  0 s1  0 s2  . . .  1 sm  bm
x1 , . . ., x n  0; s1 , . . ., s m  0
Max Z  c1 x1  c2 x 2  . . .  c n x n  0 s1  0 s2  . . .  0 sm
s.a. a11 x1  a12 x 2  . . .  a 1n x n  1 s1  0 s2  . . .  0 sm  b1
a 21 x1  a 22 x 2  . . .  a 2n x n  0 s1  1 s2  . . .  0 sm  b 2
      
a m1 x1  a m2 x 2  . . .  a mn x n  0 s1  0 s2  . . .  1 sm  bm
x1 , . . ., x n  0; s1 , . . ., s m  0
Paso 1: Construir la tabla base
- Número de columnas: Igual al número de variables, n+m
- Número de filas: Igual al número de restricciones, m

x1 x2 ... xn s1 s2 ... sm
Max Z  c1 x1  c2 x 2  . . .  c n x n  0 s1  0 s2  . . .  0 sm
s.a. a11 x1  a12 x 2  . . .  a 1n x n  1 s1  0 s2  . . .  0 sm  b1
a 21 x1  a 22 x 2  . . .  a 2n x n  0 s1  1 s2  . . .  0 sm  b 2
      
a m1 x1  a m2 x 2  . . .  a mn x n  0 s1  0 s2  . . .  1 sm  bm
x1 , . . ., x n  0; s1 , . . ., s m  0

Paso 2: Rellenar el interior de la tabla

x1 x2 ... xn s1 s2 ... sm

 
Max Z  c1 x1  c2 x 2  . . .  c n x n  0 s1  0 s2  . . .  0 sm
s.a. a11 x1  a12 x 2  . . .  a 1n x n  1 s1  0 s2  . . .  0 sm  b1
a 21 x1  a 22 x 2  . . .  a 2n x n  0 s1  1 s2  . . .  0 sm  b 2
      
a m1 x1  a m2 x 2  . . .  a mn x n  0 s1  0 s2  . . .  1 sm  bm
x1 , . . ., x n  0; s1 , . . ., s m  0
Paso 3: Añadir los costos

costos
x1 x2 ... xn s1 s2 ... sm
a11 a12 ... a 1n 1 0 ... 0
a 21 a 22 ... a 2n 0 1 ... 0
       
a m1 a m2 ... a mn 0 0 ... 1
Max Z  c1 x1  c2 x 2  . . .  c n x n  0 s1  0 s2  . . .  0 sm
s.a. a11 x1  a12 x 2  . . .  a 1n x n  1 s1  0 s2  . . .  0 sm  b1
a 21 x1  a 22 x 2  . . .  a 2n x n  0 s1  1 s2  . . .  0 sm  b 2
      
a m1 x1  a m2 x 2  . . .  a mn x n  0 s1  0 s2  . . .  1 sm  bm
x1 , . . ., x n  0; s1 , . . ., s m  0
Paso 4: Identificar las variables básicas

costos c1 c2 ... cn 0 0 ... 0


v. básicas x1 x2 ... xn s1 s2 ... sm
s1 a11 a12 ... a 1n 1 0 ... 0
s2 a 21 a 22 ... a 2n 0 1 ... 0
        
sm a m1 a m2 ... a mn 0 0 ... 1
Max Z  c1 x1  c2 x 2  . . .  c n x n  0 s1  0 s2  . . .  0 sm
s.a. a11 x1  a12 x 2  . . .  a 1n x n  1 s1  0 s2  . . .  0 sm  b1
a 21 x1  a 22 x 2  . . .  a 2n x n  0 s1  1 s2  . . .  0 sm  b 2
      
a m1 x1  a m2 x 2  . . .  a mn x n  0 s1  0 s2  . . .  1 sm  bm
x1 , . . ., x n  0; s1 , . . ., s m  0
Paso 5: Identificar los costos básicos

costos c1 c2 ... cn 0 0 ... 0


c. básicos v. básicas x1 x2 ... xn s1 s2 ... sm
0 s1 a11 a12 ... a 1n 1 0 ... 0
0 s2 a 21 a 22 ... a 2n 0 1 ... 0
         
0 sm a m1 a m2 ... a mn 0 0 ... 1
Max Z  c1 x1  c2 x 2  . . .  c n x n  0 s1  0 s2  . . .  0 sm
s.a. a11 x1  a12 x 2  . . .  a 1n x n  1 s1  0 s2  . . .  0 sm  b1
a 21 x1  a 22 x 2  . . .  a 2n x n  0 s1  1 s2  . . .  0 sm  b 2
      
a m1 x1  a m2 x 2  . . .  a mn x n  0 s1  0 s2  . . .  1 sm  bm
x1 , . . ., x n  0; s1 , . . ., s m  0
Paso 6: Identificar la solución básica inicial

costos c1 c2 ... cn 0 0 ... 0


c. básicos v. básicas x1 x2 ... xn s1 s2 ... sm x Bk
0 s1 a11 a12 ... a 1n 1 0 ... 0
0 s2 a 21 a 22 ... a 2n 0 1 ... 0
         
0 sm a m1 a m2 ... a mn 0 0 ... 1
Max Z  c1 x1  c2 x 2  . . .  c n x n  0 s1  0 s2  . . .  0 sm
s.a. a11 x1  a12 x 2  . . .  a 1n x n  1 s1  0 s2  . . .  0 sm  b1
a 21 x1  a 22 x 2  . . .  a 2n x n  0 s1  1 s2  . . .  0 sm  b 2
      
a m1 x1  a m2 x 2  . . .  a mn x n  0 s1  0 s2  . . .  1 sm  bm
x1 , . . ., x n  0; s1 , . . ., s m  0
Paso 6: Identificar la solución básica inicial

costos c1 c2 ... cn 0 0 ... 0


c. básicos v. básicas x1 x2 ... xn s1 s2 ... sm x Bk
0 s1 a11 a12 ... a 1n 1 0 ... 0
0 s2 a 21 a 22 ... a 2n 0 1 ... 0
         
0 sm a m1 a m2 ... a mn 0 0 ... 1
MÉTODO DEL SIMPLEX
Introducción

 El método del simplex es un algoritmo general para


resolver cualquier problema de programación lineal
 Admite cualquier número de variables
 Es un método iterativo que nos conduce progresivamente
hasta la solución final
 En cada iteración examina un punto extremo de la región
factible S
 Antes de usarlo es preciso pasar el problema a la llamada
forma estándar.
 El Método Simplex funciona, en forma general, de la
siguiente forma: Calcula una solución posible inicial y
determina sí esa solución es óptima. Si no lo es, se mueve a
un punto extremo adyacente, en el conjunto convexo de
soluciones posibles, y calcula la nueva solución en ese
punto. De nuevo determina si esa solución es o no óptima; si
no lo es, repite el proceso anterior.
 Así continúa sucesivamente hasta encontrar un punto
extremo cuyo valor objetivo no pueda ser mejorado y allí
concluye, determinando así que ha encontrado la solución
óptima.
 Para calcular la solución posible inicial le otorga valor cero a las
variables que no son básicas y resuelve para las otras variables
básicas. Cada solución posible satisface todas las restricciones.
 Para determinar si la solución inicial es óptima, calcula los
llamados coeficientes relativos de las variables. Estos valores
informan en cuanto variaría el objetivo por cada unidad en que se
incremente el valor de la variable a la que se refiere ese
coeficiente relativo.
 Si la solución no es óptima, al moverse a otro punto extremo
adyacente en el conjunto convexo, el Método Simplex efectúa un
intercambio de una variable básica por una no-básica.

 Para determinar cual variable no-básica debe entrar a formar parte de una
nueva solución, como variable básica, se utiliza como criterio el seleccionar la
variable que mejore en mayor cantidad el objetivo. La medida utilizada para
aplicar este criterio son los llamados Coeficientes Relativos de las variables.
 Para determinar cuál variable básica debe salir de una solución, para pasar a ser
variable no-básica, se utiliza como criterio el seleccionar a la variable básica que
se hace cero al introducir la nueva variable básica. La medida utilizada para
aplicar este criterio es el llamado Ratio Mínimo de la variable. Además de
indicar la variable que se hace cero, el Ratio Mínimo informa cuál será el valor de
la variable entrante en la nueva solución.
 Para calcular una nueva solución posible efectúa operaciones matemáticas que
transforman el sistema actual de ecuaciones, en un sistema de ecuaciones
equivalente. Este es un proceso iterativo. En cada iteración intercambia una
variable básica por una no-básica. Los Coeficientes Relativos y los Ratios
Mínimos tiene fórmulas matemáticas para calcularlos.
 En cada iteración intercambia una variable básica por una no-básica. En cada
solución los Coeficientes Relativos informan si se ha llegado o no al óptimo.
Coeficientes Relativos y los Ratios Mínimos tiene fórmulas matemáticas para
calcularlos.
 En las Tablas Simplex se reconoce que hay una solución óptima ÚNICA cuando
los coeficientes relativos de variables no-básica tienen valor > que cero en
minimización y < que cero en maximización. Esto indicaría que ninguna de esas
variables IGUALARÍA el valor óptimo encontrado y por lo tanto, es única.
 Se reconoce que hay una solución óptima ALTERNA cuando por lo menos uno
de los coeficientes relativos de variables no-básica tiene valor igual a cero Esto
indicaría que esa variables IGUALARIA el valor óptimo encontrado y por lo tanto,
es alterna.
 Se reconoce que hay una solución óptima con valor INFINITO cuando por lo
menos uno de los coeficientes relativos de variables no-básica tiene un valor que
indique que la solución actual puede ser mejorada. Pero al calcular el Ratio
Mínimo, éste indica que esa variable puede crecer indefinidamente y por lo
tanto también el valor del objetivo.
 Se reconoce que hay una solución óptima IMPOSIBLE cuando todos los
coeficientes relativos indican que la solución es óptima pero, por lo menos, una
variable artificial permanece en la solución con valor mayor que cero.
 Se reconoce que hay una solución óptima DEGENERADA cuando por el número
de variable básicas con valor mayor que cero es menor que el número de
restricciones en el modelo.
Condición de parada. Criterio de entrada

 Condición de parada: El bucle se detiene cuando la


tabla actual es tal que en su fila FO no aparece ningún
valor estrictamente negativo
 Elección de la variable que entra: En caso de que el
algoritmo no se haya detenido, hay que elegir qué
variable, de entre las que no están en la base, va a
entrar en dicha base. Para ello nos fijamos en los
valores estrictamente negativos que haya en la fila de
FO. Escogeremos la variable j correspondiente al más
negativo (es decir, mayor valor absoluto) de estos
valores.
Criterio de salida
 Elección de la variable que sale: Para encontrar la variable de
holgura que tiene que salir de la base, se divide cada término de
la última columna (valores solución) por el término
correspondiente de la columna pivote, siempre que estos últimos
sean mayores que cero.
 Si al calcular los cocientes, dos o más son iguales, indica que
cualquiera de las variables correspondientes pueden salir de la
base.
 Si hubiese algún elemento menor o igual que cero no se hace
dicho cociente. En el caso de que todos los elementos fuesen
menores o iguales a cero, entonces tendríamos una solución no
acotada y no se puede seguir.
 La fila donde hemos obtenido este valor mínimo es la de la
variable de la base que sale.

 En la intersección de la fila pivote y columna pivote tenemos el


elemento pivote operacional
Actualización de la tabla

 Los nuevos coeficientes de la fila pivote se obtienen dividiendo


todos los coeficientes de la fila por el element pivote, ya que
este se debe convertir en 1.

 A continuación mediante la reducción gaussiana hacemos ceros


los restantes términos de la columna pivote, con lo que
obtenemos los nuevos coeficientes de las otras filas incluyendo
los de la función objetivo.
Ejemplo de Simplex:

Vamos a resolver el siguiente problema:

Maximizar Z = f(x1,x2) = 3x1 + 2x2

Sujeto a: 2x1 + x2 ≤ 18

2x1 + 3x2 ≤ 42

3x1 + x2 ≤ 24

x1 ≥ 0 , x2 ≥ 0
FORMA ESTANDAR:

2x1 + x2 + s1 = 18

2x1 + 3x2 + s2 = 42

3x1 + x2 + s3 = 24
• Igualar la función objetivo a cero y después agregar la variables de
holgura del sistema anterior:

Z - 3 x1 - 2 x2 = 0
• Para este caso en particular la función objetivo ocupa la ultima fila
del tablero, pero de preferencia siempre se deberá de colocar como
la primer fila
• Cuando minimizamos se toma el valor (+) positivo de FO para
convertirlo en negativo y cuando maximizamos tomamos el valor (+)
negativo de FO para convertirlo en positivo.
• Escribir el tablero inicial simplex:

• En las columnas aparecerán todas las variables del problema y, en


las filas, los coeficientes de las igualdades obtenidas, una fila para
cada restricción y la última fila con los coeficientes de la función
objetivo:
Tablero Inicial

Variable de
Variable de holgura
Base decisión Solución
X1 X2 S1 S2 S3
S1 2 1 1 0 0 18
S2 2 3 0 1 0 42
S3 3 1 0 0 1 24
Z -3 -2 0 0 0 0
Encontrar la variable de decisión que entra en la base y la variable de holgura
que sale de la base
Para escoger la variable de decisión que entra en la base, observamos la
ultima fila, la cual muestra los coeficientes de la función objetivo y escogemos
la variable con el coeficiente más negativo (en valor absoluto).
• En este caso, la variable x1 de coeficiente - 3.
• Si existiesen dos o más coeficientes iguales que cumplan la condición anterior,
entonces se elige cualquiera de ellos.
• Si en la última fila no existiese ningún coeficiente negativo, significa que se ha
alcanzado la solución óptima.
• Por tanto, lo que va a determinar el final del proceso de aplicación del método
del simplex, es que en la última fila no haya elementos negativos.
• La columna de la variable que entra en la base se llama columna pivote.
Para encontrar la variable de holgura que tiene que salir de la base, se divide
cada término de la última columna (valores solución) por el término
correspondiente de la columna pivote, siempre que estos últimos sean
mayores que cero.
• Si hubiese algún elemento menor o igual que cero no se hace dicho cociente.
En el caso de que todos los elementos fuesen menores o iguales a cero,
entonces tendríamos una solución no acotada y no se puede seguir.
• El término de la columna pivote que en la división anterior dé lugar al menor
cociente positivo, el 3, ya 8 es el menor, indica la fila de la variable de holgura
que sale de la base, S3. Esta fila se llama fila pivote.
Iteración No. 1

Variable de decisión Variable de holgura


Base Solución Operación
X1 X2 S1 S2 S3

S1 2 1 1 0 0 18 18/2 = 9

S2 2 3 0 1 0 42 42/2 = 21

S3 3 1 0 0 1 24 24/3 = 8

Z -3 -2 0 0 0 0
Encontrar los coeficientes para el nuevo tablero de simplex.

• Los nuevos coeficientes de la fila pivote se obtienen dividiendo todos los


coeficientes de la fila por el pivote operacional “3”, ya que este se debe
convertir en 1.

• A continuación mediante la reducción gaussiana hacemos ceros los


restantes términos de la columna pivote, con lo que obtenemos los nuevos
coeficientes de las otras filas incluyendo los de la función objetivo Z.
Resultado de Iteración No. 1
Variable de
Variable de holgura
Base decisión Solución Operación
X1 X2 S1 S2 S3
S1 0 1/3 1 0 -2/3 2 f(S1) – 2 f(X1)
S2 0 7/3 0 1 -2/3 26 f(S2) – 2 f(X1)
X1 1 1/3 0 0 -1/3 8 (1/3) X1
Z 0 -1 0 0 1 24 f(Z) + 3 f(X1)

2 1 1 0 0 18

2 2/3 0 0 -2/3 16

0 1/3 1 0 -2/3 2

2 3 0 1 0 42

2 2/3 0 0 -2/3 16

0 7/3 0 1 2/3 26
Como en los elementos de la última fila hay un numero negativo, -1,
significa que no hemos llegado todavía a la solución óptima. Hay que
repetir el proceso:
• La variable que entra en la base es x2, por ser la columna pivote que
corresponde al coeficiente -1
• B. Para calcular la variable que sale o la fila pivote, dividimos los
términos de la columna solución entre los términos de la nueva columna
pivote:

y como el menor cociente positivo es 6, tenemos que la fila pivote y la


variable de holgura que sale es S1.
• C. El elemento pivote, que ahora hay que hacer 1, es 1/3.
• Y se opera de forma análoga a la anterior iteración
Iteración No. 2
Variable de
Variable de holgura
Base decisión Solución Operación
X1 X2 S1 S2 S3
S1 0 1/3 1 0 -2/3 2 2/(1/3) = 6
S2 0 7/3 0 1 -2/3 26 26/(7/3) = 78/7
X1 1 1/3 0 0 -1/3 8 8/(1/3) = 24
Z 0 -1 0 0 1 24

Resultado de Iteración No. 2


Base Variable de Variable de holgura Solución Operación
decisión
X1 X2 S1 S2 S3
X2 0 1 3 0 -2 6 3X2
S2 0 0 -7 0 4 12 f(S2) – (7/3) f(X2)
X1 1 0 -1 0 1 6 f(X1) – (1/3) f(X2)
Z 0 0 3 0 -1 30 f(Z) + f(X2)
Como en los elementos de la última fila hay uno negativo, -1, significa que no hemos llegado
todavía a la solución óptima. Hay que repetir el proceso:

• La variable que entra en la base es S3, por ser la variable que corresponde al
coeficiente -1
• Para calcular la variable que sale, dividimos los términos de la última columna entre los
términos correspondientes de la nueva columna pivote:

6/(-2) [=-3] , 12/4 [=3], y 6:1 [=6]


y como el menor cociente positivo es 3, tenemos que la variable de holgura que sale es S2.

• El elemento pivote, que ahora hay que hacer 1, es 4.


• Obtenemos la tabla:
Iteración No. 3

Variable de decisión Variable de holgura


Base Solución Operación
X1 X2 S1 S2 S3
No se toma por
X2 0 1 3 0 -2 6
ser negativo
S2 0 0 -7 0 4 12 12/4 = 3
X1 1 0 -1 0 1 6 6/1 = 6
Z 0 0 3 0 -1 30
Resultado de Iteración No. 3
Base Variable de Variable de holgura Solución Operación
decisión
X1 X2 S1 S2 S3
X2 0 1 -1/2 0 0 12 f(X2) + 2 f(S3)
S3 0 0 -7/4 0 1 3 (1/4) S3
X1 1 0 -3/4 0 0 3 f(X1) – f(S3)
Z 0 0 5/4 0 0 33 f(Z) + f(S3)

Tablero Final
Base Variable de Variable de holgura Solución
decisión
X1 X2 S1 S2 S3
X2 0 1 -1/2 0 0 12
S3 0 0 -7/4 0 1 3
X1 1 0 -3/4 0 0 3
Z 0 0 5/4 0 0 33
• Como todos los coeficientes de la fila de la función objetivo
son positivos, hemos llegado a la solución óptima.

• Los solución óptima viene dada por el valor de Z en la


columna de los valores solución, en nuestro caso: 33.
X2 0 1 12
X1 1 0 3
Z 0 0 33
Pasos del Simplex:

Paso 0: determinar la solución factible inicial.


Paso 1: seleccione la variable de entrada empleando la condición de
optimalidad. Deténgase si no hay variable de entrada.
Paso 2: seleccione una variable de salida utilizando la condición de
factibilidad.
Paso 3: determine las nuevas soluciones básicas empleando los cálculos
apropiados de Gauss – Jordan, luego vuelva al paso 1.
Ejemplo
Max Z = 7x1 + 4x2 + 5x3

S/A
2x1 + x2  30
3x1 + 2x2 + x3  25
x2 + 2x3  20

x1 , x 2 , x 3  0
Forma tabular

BASE X1 X2 X3 s1 s2 s3
SOLUCION

z -7 -4 -5 0 0 0 0
s1 2 1 0 1 0 0 30

s2 3 2 1 0 1 0 25

s3 0 1 2 0 0 1 20
BASE X1 X2 X3 s1 s2 s3
SOLUCION

z -7 -4 -5 0 0 0 0
s1 2 1 0 1 0 0 30

s2 3 2 1 0 1 0 25

s3 0 1 2 0 0 1 20

BASE X1 X2 X3 s1 s2 s3
SOLUCION

z -7 -4 -5 0 0 0 0 Razón
s1 2 1 0 1 0 0 30 30 / 2

s2 3 2 1 0 1 0 25 25 / 3

s3 0 1 2 0 0 1 20 ___
BASE SOLUCION
X1 X2 X3 s1 s2 s3

z -7 -4 -5 0 0 0 0 Razón

s1 2 1 0 1 0 0 30 30 / 2

s2 3 2 1 0 1 0 25 25 / 3

s3 0 1 2 0 0 1 20 ___

PIVOTE
BASE SOLUCION
X1 X2 X3 s1 s2 s3

z 0 2 0 0 7/3 4/3 85

s1 0 0 0 1 -2/3 1/3 20

X1 1 1/2 0 0 1/3 -1/6 5 ¡Optimo!

s3 0 1/2 1 0 0 1/2 10

SOLUCIÓN
z 85
X1 5
X2 0
X3 0
h1 20
h2 0
h3 10
Ejemplo
Transformar a forma estándar
Forma tabular
Variables de
Variables de holgura
decisión
Var.
Solució Cociente
básica Cb x1 x2 s1 s2 s3 s4 n (b/a)
(Cj)
FO,
1 -5 -4 0 0 0 0 0
Zmax
s1 0 6 4 1 0 0 0 24
s2 0 1 2 0 1 0 0 6
s3 0 -1 1 0 0 1 0 1
s4 0 0 1 0 0 0 1 2
Variables de
Variables de holgura
decisión
Var.
Solució Cociente
básica Cb x1 x2 s1 s2 s3 s4 n (b/a)
(Cj)
FO,
1 -5 -4 0 0 0 0 0
Zmax
s1 0 6 4 1 0 0 0 24 24/6=4
s2 0 1 2 0 1 0 0 6 6/1= 6
s3 0 -1 1 0 0 1 0 1 1/-1=-1
s4 0 0 1 0 0 0 1 2 2/0

Criterio de Factibilidad: Independientemente si el problema es de maximización y


minimización, la variable de salida es la variable básica asociada con la mínima razón no
negativa (con denominador estrictamente positivo). Los empates se rompen en forma
arbitraria.
Variables de
Variables de holgura
decisión
Var.
Solució Cociente
básica Cb x1 x2 s1 s2 s3 s4 n (b/a)
(Cj)
FO,
1 -5 -4 0 0 0 0 0
Zmax
s1 0 6 4 1 0 0 0 24 24/6=4
s2 0 1 2 0 1 0 0 6 6/1= 6
s3 0 -1 1 0 0 1 0 1 1/-1=-1
s4 0 0 1 0 0 0 1 2 2/0
Variables de
Variables de holgura
decisión
Var.
Cociente
básica Cb x1 x2 s1 s2 s3 s4 Solución
(b/a)
(Cj)
FO,
1 -5 -4 0 0 0 0 0
Zmax
x1 5 1 2/3 1/6 0 0 0 4
s2 0 1 2 0 1 0 0 6
s3 0 -1 1 0 0 1 0 1
s4 0 0 1 0 0 0 1 2
Zmax -5 -4 0 0 0 0 0
X1*5 5 10/3 5/6 0 0 0 20
0 -2/3 5/6 0 0 0 20

s2 1 2 0 1 0 0 6
x1 1 2/3 1/6 0 0 0 4
0 4/3 -1/6 1 0 0 2
s3 -1 1 0 0 1 0 1
x1 1 2/3 1/6 0 0 0 4
0 5/3 1/6 0 0 0 5
Variables de
Variables de holgura
decisión
Var.
Cociente
básica Cb x1 x2 s1 s2 s3 s4 Solución
(b/a)
(Cj)
Zmax 1 0 -2/3 5/6 0 0 0 20
x1 5 1 2/3 1/6 0 0 0 4 4*(3/2)=6
s2 0 0 4/3 -1/6 1 0 0 2 2*(3/4)=3/2
s3 0 0 5/3 1/6 0 0 0 5 5*(3/5)=3
s4 0 0 1 0 0 0 1 2 2/1=2
Variables de
Variables de holgura
decisión
Var.
Cociente
básica Cb x1 x2 s1 s2 s3 s4 Solución
(b/a)
(Cj)
Zmax 1 0 -2/3 5/6 0 0 0 20
x1 5 1 2/3 1/6 0 0 0 4
x2 4 0 1 -1/8 3/4 0 0 3/2
s3 0 0 5/3 1/6 0 0 0 5
s4 0 0 1 0 0 0 1 2
Zmax 0 -2/3 5/6 0 0 0 20

X2*2/3 0 2/3 -2/24 1/2 0 0 1


0 0 3/4 1/2 0 0 21

x1 1 2/3 1/6 0 0 0 4
X2*2/3 0 2/3 -2/24 1/2 0 0 1
1 0 3/4 -1/2 0 0 3

s3 0 5/3 1/6 0 0 0 5
X2*5/3 0 5/3 -5/24 5/4 0 0 5/2
0 0 3/8 -5/4 0 0 5/2
Variables de
Variables de holgura
decisión
Var.
Cociente
básica Cb x1 x2 s1 s2 s3 s4 Solución
(b/a)
(Cj)
Zmax 1 0 0 3/4 1/2 0 0 21
x1 5 1 0 3/4 -1/2 0 0 3
x2 4 0 1 -1/8 3/4 0 0 3/2
s3 0 0 0 3/8 -5/4 0 0 5/2
s4 0 0 0 1/8 -3/4 0 0 1/2

s4 0 1 0 0 0 1 2
x2 0 1 -1/8 3/4 0 0 3/2
0 0 1/8 -3/4 0 0 1/2
Como no hay más valores negativos o en otras palabras hay solamente valores
positivos en la fila de Z se detiene el algoritmo simplex quedando Z con 21, X1 con
3 y x2 con 1,5.
MÉTODO SIMPLEX PASO A PASO

 La empresa el SAMÁN Ltda. Dedicada a la fabricación de muebles, ha


ampliado su producción en dos líneas más. Por lo tanto actualmente
fabrica mesas, sillas, camas y bibliotecas. Cada mesa requiere de 2
piezas rectangulares de 8 pines, y 2 piezas cuadradas de 4 pines. Cada
silla requiere de 1 pieza rectangular de 8 pines y 2 piezas cuadradas
de 4 pines, cada cama requiere de 1 pieza rectangular de 8 pines, 1
cuadrada de 4 pines y 2 bases trapezoidales de 2 pines y finalmente
cada biblioteca requiere de 2 piezas rectangulares de 8 pines, 2 bases
trapezoidales de 2 pines y 4 piezas rectangulares de 2 pines. Cada
mesa cuesta producirla $10000 y se vende en $ 30000, cada silla
cuesta producirla $ 8000 y se vende en $ 28000, cada cama cuesta
producirla $ 20000 y se vende en $ 40000, cada biblioteca cuesta
producirla $ 40000 y se vende en $ 60000. El objetivo de la fábrica es
maximizar las utilidades.
PASO 1: MODELACIÓN MEDIANTE
PROGRAMACIÓN LINEAL
 Las variables:
 X1 = Cantidad de mesas a producir (unidades)
 X2 = Cantidad de sillas a producir (unidades)
 X3 = Cantidad de camas a producir (unidades)
 X4 = Cantidad de bibliotecas a producir (unidades)

 La función Objetivo:
 ZMAX = 20000X1 + 20000X2 + 20000X3 + 20000X4

 Las restricciones:
 2X1 + 1X2 + 1X3 + 2X4 <= 24
 2X1 + 2X2 + 1X3 <= 20
 2X3 + 2X4 <= 20
 4X4 <= 16
 X1, X2, X3, X4  0
PASO 2: CONVERTIR LAS INECUACIONES EN
ECUACIONES
 En este paso el objetivo es asignar a cada recurso una variable de
Holgura, dado que todas las restricciones son "<=".
 2X1 + 1X2 + 1X3 + 2X4 + 1S1 + 0S2 + 0S3 + 0S4 = 24
 2X1 + 2X2 + 1X3 + 0X4 + 0S1 + 1S2 + 0S3 + 0S4 = 20
 0X1 + 0X2 + 2X3 + 2X4 + 0S1 + 0S2 + 1S3 + 0S4 = 20
 0X1 + 0X2 + 0X3 + 4X4 + 0S1 + 0S2 + 0S3 + 1S4 = 16
 De esta manera podemos apreciar una matriz identidad (n = 4),
formado por las variables de holgura las cuales solo tienen
coeficiente 1 en su respectivo recurso, por el ejemplo la variable de
holgura "S1" solo tiene coeficiente 1 en la restricción
correspondiente a el recurso 1.
 La función objetivo se puede escribir así:
 ZMAX - 20000X1 - 20000X2 - 20000X3 - 20000X4 = 0
PASO 3: DEFINIR LA SOLUCIÓN BÁSICA INICIAL
 El Método Simplex parte de una solución básica inicial para realizar
todas sus iteraciones, esta solución básica inicial se forma con las
variables de coeficiente diferente de cero (0) en la matriz identidad.
 1S1 = 24
 1S2 = 20
 1S3 = 20
 1S4 = 16
PASO 4: DEFINIR LA TABLA SIMPLEX INICIAL
Variables de decisión Variables de holgura

Var.
básica Cb x1 x2 x3 x4 s1 s2 s3 s4 Solución Cociente (b/a)
(Cj)

FO,
1 -20000 -20000 -20000 -20000 0 0 0 0 0
Zmax
s1 0 2 1 1 2 1 0 0 0 24 24/2=12

s2 0 2 2 1 0 0 1 0 0 20 20/0

s3 0 0 0 2 2 0 0 1 0 20 20/2=10

s4 0 0 0 0 4 0 0 0 1 16 16/4=4 min
Variable entrante
Solución inicial:
Variables de decisión Variables de holgura

Var.
básica Cb x1 x2 x3 x4 s1 s2 s3 s4 Solución Cociente (b/a)
(Cj)

FO,
1 -20000 -20000 -20000 -20000 0 0 0 0 0
Zmax
s1 0 2 1 1 2 1 0 0 0 24 24/2=12

s2 0 2 2 1 0 0 1 0 0 20 20/0

s3 0 0 0 2 2 0 0 1 0 20 20/2=10

s4 0 0 0 0 4 0 0 0 1 16 16/4=4 min

Cj 20000 20000 20000 20000 0 0 0 0

Zj 0 0 0 0 0 0 0 0 0

Cj-Zj 20000 20000 20000 20000 0 0 0 0


Variable que sale Elemento pivote
 Cj = La fila "Cj" hace referencia al coeficiente que tiene cada una de las variables de la fila "solución" en la función
objetivo.
 Zj = En esta fila se consigna la contribución total, es decir la suma de los productos entre término y Cb.
 Cj - Zj = En esta fila se realiza la diferencia entre la fila Cj y la fila Zj, su significado es un "Shadow price", es decir, la
utilidad que se deja de recibir por cada unidad de la variable correspondiente que no forme parte de la solución.
PASO 5: REALIZAR LAS ITERACIONES NECESARIAS
Variables de decisión Variables de holgura

Var.
Solución
básica Cb x1 x2 x3 x4 s1 s2 s3 s4 (b)
Cociente (b/a)
(Cj)

FO,
1 -20000 -20000 -20000 -20000 0 0 0 0 0
Zmax
s1 0 2 1 1 2 1 0 0 0 24 24/2=12

s2 0 2 2 1 0 0 1 0 0 20 20/0

s3 0 0 0 2 2 0 0 1 0 20 20/2=10

x4 20000 0 0 0 1 0 0 0 0.25 4 16/4=4 min

FO, -20000 -20000 -20000 -20000 0 0 0 0 0

X4*20000 0 0 0 20000 0 0 0 5000 80000

-20000 -20000 -20000 0 0 0 0 5000 80000

s1 2 1 1 2 1 0 0 0 24
X4*2 0 0 0 2 0 0 0 0.5 8
2 1 1 0 1 0 0 -0.5 16

s3 0 0 0 2 2 0 0 1 0 20
X4*2 0 0 0 2 0 0 0 0.5 8
0 0 2 0 0 0 1 -0.5 16
PASO 5: REALIZAR LAS ITERACIONES NECESARIAS
Variables de decisión Variables de holgura

Var.
Solución
básica Cb x1 x2 x3 x4 s1 s2 s3 s4 (b)
Cociente (b/a)
(Cj)
FO,
1 -20000 -20000 -20000 0 0 0 0 5000 80000
Zmax

s1 0 2 1 1 0 1 0 0 -0.5 16

s2 0 2 2 1 0 0 1 0 0 20

s3 0 0 0 2 0 0 0 1 -0.5 16

x4 20000 0 0 0 1 0 0 0 0.25 4

Prueba de la solución calculando los renglones de costo de oportunidad (Zj) y del


criterio simplex (Cj-Zj).
Cj 20000 20000 20000 20000 0 0 0 0
Zj 0 0 0 20000 0 0 0 5000 80000
Cj-Zj 20000 20000 20000 0 0 0 0 -5000
PASO 5: REALIZAR LAS ITERACIONES NECESARIAS
 El procedimiento a seguir es el siguiente:
 1. Evaluar que variable entrará y cual saldrá de la solución óptima:

Maximizar Minimizar
Variable que La más positiva de los Cj - Zj La más negativa de los Cj - Zj ,
entra (o la mas negativa de FO) (o la mas positiva de FO)
Siendo b los valores bajo la
celda solución y a el valor Siendo b los valores bajo la celda
correspondiente a la solución y a el valor correspondiente a
Variable que sale
intersección entre b y la la intersección entre b y la variable que
variable que entra. La entra. La más positiva de los b/a.
menos positiva de los b/a.
 De esta manera se culmina la primera iteración, este paso se repetirá
cuantas veces sea necesario y solo se dará por terminado el método
según los siguientes criterios.

Maximizar Minimizar
Cuando todos los Cj - Zj Cuando todos los Cj - Zj
Solución Óptima
sean <= 0 sean >= 0

La solución es optima si todos los valores Cj-Zj son negativos o cero cuando se
está maximizando y positivos o cero cuando se está minimizando
• Continuamos con las iteraciones para lo cual tenemos que
repetir los pasos anteriores
Variables de decisión Variables de holgura

Var.
Solución
básica Cb x1 x2 x3 x4 s1 s2 s3 s4 (b)
Cociente (b/a)
(Cj)

FO,
1 -20000 -20000 -20000 0 0 0 0 5000 80000
Zmax
s1 0 2 1 1 0 1 0 0 -0.5 16 16/1=16

s2 0 2 2 1 0 0 1 0 0 20 20/2=10

s3 0 0 0 2 0 0 0 1 -0.5 16 12/0

x4 20000 0 0 0 1 0 0 0 0.25 4 4/0


• Continuamos con las iteraciones para lo cual tenemos que
repetir los pasos anteriores
Variables de decisión Variables de holgura

Var.
Solución
básica Cb x1 x2 x3 x4 s1 s2 s3 s4 (b)
Cociente (b/a)
(Cj)

FO,
1 -20000 -20000 -20000 0 0 0 0 5000 80000
Zmax
s1 0 2 1 1 0 1 0 0 -0.5 16 16/1=16

x2 20000 1 1 0.5 0 0 0.5 0 0 10 20/2=10

s3 0 0 0 2 0 0 0 1 -0.5 12 12/0

x4 20000 0 0 0 1 0 0 0 0.25 4 4/0

FO, -20000 -20000 -20000 0 0 0 0 5000 80000

X2*20000 20000 20000 10000 0 0 10000 0 0 200000

0 0 -10000 0 0 10000 0 5000 280000

s1 2 1 1 0 1 0 0 -0.5 16

x2 1 1 0.5 0 0 0.5 0 0 10

1 0 0.5 0 1 -0.5 0 -0.5 6


Variables de decisión Variables de holgura

Var.
Solución
básica Cb x1 x2 x3 x4 s1 s2 s3 s4 (b)
Cociente (b/a)
(Cj)

FO,
1 0 0 -10000 0 0 10000 0 5000 280000
Zmax
s1 0 1 0 0.5 0 1 -0.5 0 -0.5 6

x2 20000 1 1 0.5 0 0 0.5 0 0 10

s3 0 0 0 2 0 0 0 1 -0.5 12

x4 20000 0 0 0 1 0 0 0 0.25 4

Cj 20000 20000 20000 20000 0 0 0 0


Zj 20000 20000 10000 20000 0 10000 0 5000 28000
Cj-Zj 0 0 10000 0 0 -1000 0 -5000
Variables de decisión Variables de holgura

Var.
Solución
básica Cb x1 x2 x3 x4 s1 s2 s3 s4 (b)
Cociente (b/a)
(Cj)

FO,
1 0 0 -10000 0 0 10000 0 5000 280000
Zmax
s1 0 1 0 0.5 0 1 -0.5 0 -0.5 6 6/0.5=12

x2 20000 1 1 0.5 0 0 0.5 0 0 10 10/0.5=20

s3 0 0 0 2 0 0 0 1 -0.5 12 12/2=6

x4 20000 0 0 0 1 0 0 0 0.25 4 4/0


Variables de decisión Variables de holgura

Var.
Solución
básica Cb x1 x2 x3 x4 s1 s2 s3 s4 (b)
Cociente (b/a)
(Cj)

FO,
1 0 0 -10000 0 0 10000 0 5000 280000
Zmax
s1 0 1 0 0.5 0 1 -0.5 0 -0.5 6

x2 20000 1 1 0.5 0 0 0.5 0 0 10

x3 0 0 0 1 0 0 0 0.5 -0.25 6

x4 20000 0 0 0 1 0 0 0 0.25 4

FO,
0 0 -10000 0 0 10000 0 5000 280000
Zmax
x3 0 0 10000 0 0 0 5000 -2500 60000
0 0 0 0 0 10000 5000 2500 340000

s1 1 0 0.5 0 1 -0.5 0 -0.5 6


x3 0 0 0.5 0 0 0 0.25 -0.125 3
1 0 0 0 1 -0.5 -0.25 -0.375 3

x2 1 1 0.5 0 0 0.5 0 0 10
x3 0 0 0.5 0 0 0 0.25 -0.125 3
1 1 0 0 0 0.5 -0.25 0.125 7
Variables de decisión Variables de holgura

Var.
Solución
básica Cb x1 x2 x3 x4 s1 s2 s3 s4 (b)
Cociente (b/a)
(Cj)

FO,
1 0 0 0 0 0 10000 5000 2500 340000
Zmax
s1 0 1 0 0 0 1 -0.5 -0.25 -0.375 3 3/1 =1

x2 20000 1 1 0 0 0 0.5 -0.25 0.125 7 7/1=7

x3 20000 0 0 1 0 0 0 0.5 -0.25 6

x4 20000 0 0 0 1 0 0 0 0.25 4

Cj 20000 20000 20000 20000 0 0 0 0


Zj 20000 20000 20000 20000 0 10000 5000 2500 340000
Cj-Zj 0 0 0 0 0 -10000 -5000 -2500

Podemos observar que existe una solución óptima, dado el hecho de que se encuentre
la variable "S1" en la solución óptima con un coeficiente de "3" significa que se
presenta una holgura de 3 unidades del recurso (pieza rectangular de 8 pines).
Si seguimos operando, y eliminamos S1 – obtenemos otra solución optima.
Variables de decisión Variables de holgura

Var.
Solución
básica Cb x1 x2 x3 x4 s1 s2 s3 s4 (b)
Cociente (b/a)
(Cj)

FO,
1 0 0 0 0 0 10000 5000 2500 340000
Zmax
x1 20000 1 0 0 0 1 -0.5 -0.25 -0.375 3 3/1 =1

x2 20000 1 1 0 0 0 0.5 -0.25 0.125 7 7/1=7

x3 20000 0 0 1 0 0 0 0.5 -0.25 6

x4 20000 0 0 0 1 0 0 0 0.25 4

x2 1 1 0 0 0 0.5 -0.25 0.125 7

x1 1 0 0 0 1 -0.5 -0.25 -0.375 3

0 1 0 0 -1 1 0 0.5 4
Variables de decisión Variables de holgura

Var.
Solución
básica Cb x1 x2 x3 x4 s1 s2 s3 s4 (b)
Cociente (b/a)
(Cj)

FO,
1 0 0 0 0 0 10000 5000 2500 340000
Zmax
x1 20000 1 0 0 0 1 -0.5 -0.25 -0.375 3

x2 20000 0 1 0 0 -1 1 0 0.5 4

x3 20000 0 0 1 0 0 0 0.5 -0.25 6

x4 20000 0 0 0 1 0 0 0 0.25 4

Cj 20000 20000 20000 20000 0 0 0 0


Zj 20000 20000 20000 20000 0 10000 5000 2500 340000
Cj-Zj 0 0 0 0 0 -10000 -5000 -2500

Como todos los coeficientes de la fila de la X1 = 3


función objetivo son positivos, hemos llegado X2 = 4
a la solución óptima.
X3 = 6
X4 = 4
Con una utilidad de: $ 340000
Uso de Excel para solución de
problemas por el método de
SIMPLEX
Tabla inicial

Variables de decisión

Var. básica Z,
(Cj) x1 x2 x3 x4 Solución
(Cb)
0 0 0 0
s1 0 2 1 1 2 0  24
s2 0 2 2 1 0 0  20
s3 0 0 0 2 2 0  20
s4 0 0 0 0 4 0  16
Z FO 20000 20000 20000 20000 0
Presionar continuar tantas veces que sea necesario
para generar reportes
Tabla final
Informe de respuestas
Informe de confidencialidad
Informe de limites
WinQSB
WINQSB (Sistema de consultas para negocios)
Módulos de
WinQSB
Módulos de WinQSB
1. Análisis de muestreo de aceptación (Acceptance Sampling Analysis)
2. Planeación agregada (Aggregate Planning)
3. Análisis de decisiones (Decision Analysis)
4. Programación dinámica (Dynamic Programming)
5. Diseño y localización de plantas (Facility Location and Layout)
6. Pronósticos (Forecasting)
7. Programación por objetivos (Goal Programming)
8. Teoría y sistemas de inventarios (Inventory Theory and System)
9. Programación de jornadas de trabajo (Job Scheduling)
10. Programación lineal y entera (Linear and integer programming)
11. Procesos de Markov
12. Planeación de Requerimiento de Materiales
13. Modelación de redes (Network Modeling)
14. Programación no lineal (Nonlinear Programming)
15. PERT y CPM (PERT_CPM)
16. Programación cuadrática (Quadratic Programming)
17. Cartas de control de calidad (Quality Control Chart)
18. Sistemas de cola (Queuing Analysis)
19. Simulación de sistemas de cola (Queuing Analysis Simulation)
MÓDULO 1: Aceptación de análisis de prueba (ASA)
Desarrolla y analiza aceptación de planes de prueba para atributos y
características de calidad de variables. Incluye capacidades
específicas para:
 Prueba Simple
 Prueba Doble
MÓDULO 2 : Planificación agregada (AP)
Permite definir los problemas de planificación agregada en tres
formas: modelo simple, modelo de transporte y modelos de
programación lineal. Este programa permite especificar la
disponibilidad de horas extras, demoras en la entrega de pedidos,
subcontratación, pérdida de ventas, y contratos y despidos de
recursos (Ej. Empleados)
MÓDULO 3 : Análisis de Decisión (DA)
Resuelve cuatro problemas de decisión típicos:
• análisis bayesiano,
• análisis de la mesa de pago,
• análisis de decisión de árbol y
• teoría de juegos
Dibuja el gráfico del árbol de decisión para los problemas mencionados;
y además realiza la simulación de Monte Carlo para el problema del
juego zero-sum.

MÓDULO 4 : Programación Dinámica (DP)


Resuelve tres problemas dinámicos típicos: diligencia, mochila, y problemas de
producción y planificación de inventarios. Incluye capacidades para:
• Resolver los tres problemas dinámicos.
• Encuentra la ruta más corta de cualquier nodo a un destino.
• Encuentra la mejor planificación para minimizar la producción,
inventario y/o costos de las demoras en las entregas de pedidos.
• Muestra el detalle de los pasos de solución y el resultado.
• Realiza el análisis “What – if” (análisis de hipótesis)
MÓDULO 8 : Sistemas y Teorías de Inventarios (ITS)
Resuelve y evalúa problemas de control de inventarios. Incluye
capacidades para:
• Resolver problemas de descuentos de cantidades.
• Resolver problemas probabilísticos de periodos simples
(vendedor de periódicos).
• Resolver problemas dinámicos de muchos tamaños.
• Resuelve, evalúa y simula cuatro sistemas de control de
inventarios.
MÓDULO 9 : Planeamiento de trabajo (JOB)
Resuelve problemas de planeamiento para trabajos que esperan ser
atendidos por algún servidor. Incluye capacidades para:
• 15 reglas de desecho para planeamiento de negocios.
• Muestra el diagrama de Gantt.
• 18 medidas de rendimiento para el programa atendido.
• Muestra un gráfico de análisis de rendimiento.
MÓDULO 11 : Planificación de requerimientos de material
(MRP)
Es un método para determinar qué, cuándo y cuántos componentes y
materiales son requeridos para satisfacer un plan de producción de
productos terminados en un tiempo específico.

• Muestra un gráfico de estructura de producto


• Muestra un reporte en parte de artículos, clase ABC,
originando tipo o tipo de material.
• Muestra el análisis de capacidad.
• Muestra el análisis de costo.
• Introduce el problema en formato de hoja de cálculo.
MÓDULO 12 : Programación Lineal (LP) y Programación Lineal
Entera (ILP)
Se utiliza para resolver problemas de Programación Matemática con función
objetivo y restricciones lineales, usa el método Simplex para determinar la
solución de los problemas con variables continuas y el procedimiento branch
and bound para problemas con variables discretas.
MÓDULO 13 : Modelación de Redes (NET)
Modela y resuelve problemas de redes incluyendo el flujo de trabajo de red,
transportación, y camino de prueba corta que incluye un conjunto de nodos
conectados, donde solo un nodo es considerado como nodo origen, y solo
un nodo es considerado como nodo destino. El objetivo es determinar un
camino de conexiones que minimicen la distancia total desde el origen al
destino.
Incluye capacidades para:
• Resolver problemas de flujo máximo.
• Resolver el algoritmo para el problema del árbol de llave mínima.
• Método de Ramificación y Acotamiento.
• Muestra los pasos de la solución.
• Muestra la solución gráfica.
• Realiza el análisis “What – if” (análisis de hipótesis) y el análisis
paramétrico.
MÓDULO 14 : Programación no lineal
Resuelve funciones objetivo no lineales con o sin restricciones. Las restricciones
también pueden ser no lineales. Incluye capacidades para:
• Resolver problemas sin restricciones de variables.
• Resolver problemas con restricciones.
• Analizar la solución asignada.
• Analizar violaciones a restricciones.
• Generar un análisis de las restricciones con un gráfico y una tabla.
• Generar un análisis de la función objetivo con un gráfico y una tabla.

MÓDULO 15 : PERT–CPM (Métodos de ruta crítica)


Resuelve problemas de planificación de proyectos utilizando el método de ruta
crítica y técnicas de evaluación y revisión.
MÓDULO 16 : Programación cuadrática (QP) y entera
cuadrática (IQP)
Resuelve modelos donde la función objetivo es de tipo cuadrática y está
limitada por un número de restricciones lineales. Las variables de decisión
son consideradas continuas. Incluye :
• Método simplex y gráfico para QP
• Método de ramificación y acotamiento para IQP
• Muestra la tabla del método simplex
• Muestra la solución del método de ramificación y acotamiento
• Realiza el análisis de sensibilidad o análisis paramétrico

MÓDULO 18 : Análisis de colas de espera (QA)


Resuelve sistemas de formación de colas de espera incluyendo la población de
clientes y los servidores (canales). La población de clientes puede ser limitada o
ilimitada. El sistema es evaluado como el número promedio de clientes en el
sistema, el número promedio de clientes en la cola, la probabilidad de que lleguen
más clientes, la probabilidad de que los servidores estén ociosos, la probabilidad
de que un cliente que llega espere, el costo de un servidor ocioso por unidad de
tiempo, el costo del servidor ocupado por unidad de tiempo, etc.
Incluye tres métodos para evaluar cada situación de la formación de colas de
espera: formula de forma cerrada, aproximación y simulación de Monte Carlo.
MÓDULO 19 : Simulación de sistemas de colas de espera
(QSS)
Modela y realiza el sistema de colas simple y múltiple en poblaciones con
llegada de clientes, y servidores. Incluye capacidades para:
• Realizar la simulación de la formación de colas de espera generando los
eventos discretos de llegadas de clientes, la realización del servicio, el
traslado del cliente, y la formación de la cola.
• Utiliza 18 distribuciones de probabilidad para la probabilidad de que lleguen
clientes.
• Utiliza 9 reglas de selección para definir las operaciones del servidor.
• Muestra el análisis en un gráfico.
LINEAR PROGRAMMING (LP) AND
INTEGER LINEAR PROGRAMMING (ILP)
Programación Lineal y Entera

Introducción Ayuda
de datos

Calculadora

Cargar un
problema
existente
Ejemplo
 Planificación de producción
 Se desean construir mesas y sillas. Los recursos
disponibles son de 30 m2 de madera por semana y
48 hs. de trabajo por semana. La demanda de las
sillas es de 5 unidades y la de mesas es de 10
unidades.La utilidad que se obtiene por las mesas
es de $10 y por las sillas es de $8. Además para
construir cada mesa se necesitan 4.5 m2 de madera
y 6 hs. por unidad. Para las sillas : 1.5 m2 de madera
y 3 hs. por cada unidad fabricada.
LP-ILP Especificación del problema

Criterios
para la
función obj.
Tipos de
variable
Formato
para los
datos de
entrada
 Título del problema (Problem Title): Se escribe el título con que identificamos el
problema.
 Número de variables (Number of Variables): Se escribe la cantidad de variables con
que cuenta el sistema en el modelo original.
 Número de restricciones (Number of Constraints): Se anotan la cantidad de
restricciones con que cuenta el modelo (no se debe contar la restricción de no
negatividad).
 Objetivo (Objective Criterion): Los problemas de programación lineal y entera se
clasifican en dos: problemas de Maximización (Maximization) y
 Minimización (Minimization).
 Formato de entrada de datos (Data Entry Format): Permite elegir entre dos
plantillas distintas para introducir los datos del modelo. La primera alternativa se
asemeja a una hoja de calcula, mientras que la segunda, es una plantilla diseñada
especialmente para este fin.
 Tipo de variable (Default Variable Type): En esta parte se indica las características
del modelo:
 Continuas no negativas (Nonnegative continuous): Indica que el modelo lo componen variables
continuas no negativas (iguales o mayores a cero).
 Enteras no negativas (Nonnegative Integer): Variables enteras no negativas.
 Binarias (Binary): Variables cuyo valor solo serán 0 o 1.
 Sin asignar / Irrestrictas (Unsigned/unrestricted): Variables irrestrictas.
Formato de datos de entrada
Max Z = 10 X1 +8X2
Restricciones:
4.5X1 + 1.5X2 <= 30
6.0X1 + 3.0X2 <= 48 X1, X2 <= 0
Formato matricial

Format/Switch to Normal Model Form


Presentación del problema en hoja de cálculo
Formato de datos de entrada
Formato normal

Format/Switch to Matrix Form


La primera fila (Variable ->)
corresponde a los
encabezados de las variables
(en gris)
definidas automáticamente
por el sistema como X1 y X2
(son las dos variables del
ejemplo), seguido por el
operador de relación
(Direction) y la solución de las
restricciones o Lado de la
mano derecha (Right Hand
Side -R. H. S). El nombre de
las variables se puede
cambiar accediendo al
submenú Nombre de
variables (Variables Names)
del menú Editar (Edit).
Cambiar a la Forma Dual

Por último aparecen tres filas donde definimos el valor mínimo aceptado por
cada variable (Lower Bound), el valor máximo (Upper Bound) y el tipo de
variable (Variable Type). En el caso del valor máximo, M significa que la
variable podrá recibir valores muy grandes (tendientes a infinito).
Una vez que ingresamos los datos para el problema
Cambia el ancho Resuelve el Resuelve el
de la columna y problema problema mostrando
el largo de la fila cada iteración

Menú de
Formato resultados
de los
números

Muestra la
solución
gráficamente
(con 2
variables)
Formato de los números
• Estándar 12,354.68
• Dinero $12,354.68
• Fijo 12354.98
• N.Científica 1.23E +04
• 0,00 12354.68
• 0,000 12354.6789

Resolver el problema
• Para variables enteras o binarias
=> Método Ramificar y Acotar
• Para problemas PL
=>Método Simplex, muestra Informe
Combinado
Resolver el problema
Resolver el problema

Si el problema encontró una solución óptima

Informe Combinado
Entendiendo la matriz final
 La columna Valores de la solución (Solution Value) presenta los
valores óptimos encontrados. En este ejemplo se tiene que X1 es 0
unidades, X2 es 2,0000 unidades.
 La columna Costo o Utilidad Unitaria (Unit Cost or Profit) muestra
los coeficientes de la función objetivo para cada variable.
 La columna Contribución Total (Total Contribution) representa el
costo o utilidad generado por cada variable. Por ejemplo, si el valor
de la variable X2 es 2.0000 unidades y la utilidad unitaria es $8.0000,
el beneficio total resultará de la multiplicación de ambos valores
dando como resultado $16.0000. Justo debajo de la última
contribución aparece el valor de Z óptimo ($16.0000).
 La columna Costo Reducido (Reduced Cost) identifica el costo que
genera incrementar una unidad para cada variable no básica. La
siguiente columna llamada Estatus de la Variable (Basis Status)
muestra si una variable es básica (Basic) o no (at bound).
 La siguiente parte de la matriz final (Constraint Summary), presenta
las variables de holgura del sistema (C1, C2).
 La columna Lado de la mano derecha (Left Hand Side)
muestra el valor alcanzado al reemplazar los valores de X1, y
X2 en cada restricción (recuerde que cada restricción se
identifica con su variable de holgura).
 Las dos columnas siguientes (Direction y Right Hand Side)
muestran las especificaciones dadas a las restricciones en
cuanto al operador de relación (=) y los valores originales de
las restricciones (33.0000 y 48.0000).
 La columna Déficit o Superávit (Slack or Surplus) muestran
los valores de las variables de holgura y la columna Precios
Sombras (Shadow Price) corresponde a los precios sombras;
cuánto se estaría dispuesto a pagar por una unidad adicional
de cada recurso.
Resuelve y muestra los pasos
• Problema PL : muestra tabla del M.Simlex
(identifica variables entrantes y salientes)
• Problema con variables enteras o binarias: muestra
la solución utilizando el M.Ramificar y Acotar.

Menú de resultados
• Informe combinado
• Tabla Simplex
• Resumen de la solución
• Resumen de las condiciones
• Análisis de sensibilidad
• Run-Time and Iteration
Resuelve y muestra los pasos

Tabla Simplex

Iteración 1

Iteración 2

Iteración 3
Método gráfico

Eje X Eje Y

X1: mesas
X2: sillas
Método Simplex Penal
o
de la M grande
Introducción al Método

 Los Programas Lineales en los que todas las restricciones son (<=)con
lados derechos no negativos ofrecen una cómoda solución factible
básica de inicio con todas las holguras. Los modelos donde
intervienen restricciones del tipo (=) o (>=) no poseen esta
propiedad.
 El Procedimiento para iniciar programas lineales “de mal
comportamiento” con restricciones (=) y (>=) es permitir que
variables artificiales desempeñen el trabajo de holguras en la primera
iteración, para después, en alguna iteración posterior, desecharlas en
forma legítima. Aquí se presentara uno de los dos métodos muy
relacionados, este es: Método M Grande, o Simplex Mejorado.
Método Simplex penal o de la M grande.
 El simplex penal es una variante del método simplex aplicable en los
casos en que las variables artificiales son necesarias en el problema,
ya sea de maximizar o también de minimizar. El nombre de simplex
penal se explica porque se penaliza con un coeficiente M, que
representa un valor muy grande (mayor que cualquier otro
coeficiente del problema), a cada variable artificial W i que se incluya
en la función objetivo del problema. Para máximo se utiliza la
penalización con signo menos (- M), por otro lado para mínimo se
utiliza signo más (+ M).
 Las variables artificiales se usan para la primera solución básica del
simplex, pero el valor muy grande del coeficiente M, procura su
rápida salida de la base cuando el problema tiene solución factible.
Conversión a la forma estándar
1. Si es negativo el término constante del lado derecho de una
restricción, se intercambian los dos miembros; esto equivale a
cambiar de signo a todos los términos en ambos lados de la
restricción y, adicionalmente, cuando la restricción es de
desigualdad, a invertir el sentido de la desigualdad.
 Es decir, si la restricción es
 si
 en donde bi es negativo
 entonces
 con - bi positivo y, cuando se aplique, con el signo de desigualdad
invertido.
 Se indican algunos ejemplos:
Las operaciones (1), (2) y (3) no
modifican la función objetivo.
Algoritmo del método
 Paso 1: Se debe llevar a la forma estándar del Simple Penal
cambiando cada restricción por una igualdad según sea la
siguiente tabla:
 Paso 2: Se debe Penalizar la Función Objetivo. De acuerdo a la
siguiente tabla:
 Paso 3: Antes de pasar al paso inicial debemos a cada restricción que
pasea una variable inicial, se debe multiplicar por M y sumarla con la
función objetiva. Para obtener la fila de dicha función objetiva en la
tabla inicial.
 Paso 4: crear la tabla con la función objetiva resultante.
 Paso 5: aplicar el método Simplex Conocido (iterar por Gauss Jordan).
 Todas las variables “reales” valen inicialmente 0 y las variables
artificiales son las que satisfacen las ecuaciones. Éstas variables
tienen de coeficiente 1.

En el ópptimo todas las variables artifficiales deben de valer 0.


Se consigue poniendo una alta penalización a las mismas en la función
objetivo, la “gran M”.
Ejemplo
Forma estándar

Añadiremos una variable de holgura y restamos una


excedente para igualar
Llenamos la tabla
Ejemplo de resolución empleando el método
de la gran M
 Convertir el problema a estándar añadiendo variables de holgura
 Añadir variables artificiales para encontrar una solución inicial
factible.
Formular el problema en forma de tabla
Ejemplo
 Los Horses, una empresa dedicada al criadero de caballos de
paso, ha establecido que a cada uno de ellos se le debe
suministrar diariamente un mínimo de 200 miligramos de
vitamina A, un mínimo de 160 miligramos de vitamina B y un
mínimo de 150 miligramos de vitamina C. Los caballos son
alimentados con matas de pasto y mineral, las cuales le
cuestan a la compañía $300 por mata de pasto y $500 por
libra de mineral. ¿Qué cantidad de cada alimento se le debe
suministrar a cada caballo diariamente? si se sabe que una
mata de pasto contiene 4 miligramos de vitamina A, 2
miligramos de vitamina B y 5 miligramos de vitamina C;
mientras que una libra de mineral contiene 5 miligramos de
vitamina A, 8 miligramos de vitamina B y 3 miligramos de
vitamina C.
 Para solucionar problemas de minimización se multiplicará la función
objetivo por -1 (reglas de equivalencia), y se procederá de la misma
manera que en un problema de maximización.
 Si se desea solucionar un problema con función objetivo de
minimización, se lo puede realizar; teniendo en cuenta que
seleccionando la variable que tenga el Zj-Cj más positivo. La solución
óptima se obtendrá cuando todos los valores Zj - Cj sean menores o
iguales a cero. Todos los demás pasos son iguales.
Forma estándar
-Z ci -300 -500 0 0 0 -M -M -M

Cj Var. X1 X2 S1 S2 S3 A1 A2 A3 Sol.
Sol.
-M A1 4 5 -1 0 0 1 0 0 200 200/5=40
-M A2 2 8 0 -1 0 0 1 0 160 160/8=20
-M A3 5 3 0 0 -1 0 0 1 150 150/3=50
Zj -11M -16M M M M -M -M -M -510M
Zj -Cj -11M -16M M M M 0 0 0
+300 +500
-Z ci -300 -500 0 0 0 -M -M -M

Cj Var. X1 X2 S1 S2 S3 A1 A2 A3 Sol.
Sol.
-M A1 4 5 -1 0 0 1 0 0 200
-500 X2 1/4 1 0 -1/8 0 0 1/8 0 20
-M A3 5 3 0 0 -1 0 0 1 150
Zj -11M -16M M M M -M -M -M -510M
Zj -Cj -11M -16M M M M 0 0 0
+300 +500

Eliminar todos los demás elementos del columna pivote

-M A1 4 5 -1 0 0 1 0 0 200
-500 X2*5 5/4 5 0 -5/8 0 0 5/8 0 100 A1 – x2*5
11/4 0 -1 5/8 0 0 -5/8 0 100

-M A3 5 3 0 0 -1 0 0 1 150
-500 X2*3 3/4 3 0 -3/8 0 0 3/8 0 60 A3 – x2*3
17/4 0 0 3/8 -1 0 -3/8 1 90
-Z ci -300 -500 0 0 0 -M -M -M 0

Cj Var. X1 X2 S1 S2 S3 A1 A2 A3 Sol.
Sol.
-M A1 11/4 0 -1 5/8 0 0 -5/8 0 100
-500 X2 1/4 1 0 -1/8 0 0 1/8 0 20
-M A3 17/4 0 0 3/8 -1 0 -3/8 1 90
Zj -7M- -500 M -M+ M 0 M- -M -190M+
125 125/2 125/2 10000
Zj -Cj -7M 0 M -M M 0 2M - 0 -190M+
+175 +125/2 125/2 10000

Calculamos Zj
Col. X1: -11/4M-500/4-17/4M = -28/4M – 125/2=-7M-125/2;
Col. X2: -500;
Col. S1: -1*(-M) = M;
Col. S2: -5/8M-500*(-1/8) - 3/8M = -8/8M + 125/2=-M+125/2;
Col. A1: 0;
Col. A2: 5/8M-500/4+ 3/8 M = M – 125/2;
Col. A3: -M – (-M)=0;
Col. Sol: -100M-10000 -90M = -190 M – 10000;
-Z ci -300 -500 0 0 0 -M -M -M

Cj Var. X1 X2 S1 S2 S3 A1 A2 A3 Sol.
Sol.
-M A1 11/4 0 -1 5/8 0 0 -5/8 0 100 100/11/4=400/11
-500 X2 1/4 1 0 -1/8 0 0 1/8 0 20 20/1/4=80
-M A3 17/4 0 0 3/8 -1 0 -3/8 1 90 90/17/4=360/17
Zj -7M- -500 M -M+ M 0 M- -M -190M+
125 125/2 125/2 10000
Zj -Cj -7M 0 M -M M 0 2M - 0 -190M+
+175 +125/2 125/2 10000
-Z ci -300 -500 0 0 0 -M -M -M

Cj Var. X1 X2 S1 S2 S3 A1 A2 A3 Sol.
Sol.
-M A1 11/4 0 -1 5/8 0 0 -5/8 0 100
-500 X2 1/4 1 0 -1/8 0 0 1/8 0 20
-300 X1 1 0 0 3/34 -4/17 0 -3/34 4/17 360/17
Zj -7M- -500 M -M+ M 0 M- -M -190M+
125 125/2 125/2 10000
Zj -Cj -7M 0 M -M M 0 2M - 0 -190M+
+175 +125/2 125/2 10000

-M A1 11/4 0 -1 5/8 0 0 -5/8 0 100

-300 X1*11/4 11/4 0 0 33/136 -11/17 0 -33/136 11/17 990/17

0 0 -1 13/34 11/17 0 -13/34 -11/17 710/17

-500 X2 1/4 1 0 -1/8 0 0 1/8 0 20

-300 X1*1/4 1/4 0 0 3/136 -1/17 0 -3/136 1/17 90/17

0 1 0 -5/34 1/17 0 5/34 -1/17 250/17


-Z ci -300 -500 0 0 0 -M -M -M

Cj Var. X1 X2 S1 S2 S3 A1 A2 A3 Sol.
Sol.
-M A1 0 0 -1 13/34 11/17 0 -13/34 -11/17 710/17

-500 X2 0 1 0 -5/34 1/17 0 5/34 -1/17 250/17

-300 X1 1 0 0 3/34 -4/17 0 -3/34 4/17 360/17


Zj -300 -500 M -13/34M -11/17M 0 13/34M 11/17M - -710/17M-
+800/17 +700/17 +200/17 700/17 233000/17

Zj -Cj 0 0 M -13/34M -11/17M 0 47/34M 28/17M - -710/17M-


+800/17 +700/17 +200/17 700/17 233000/17

Calculamos Zj
Col. X1: -300;
Col. X2: -500;
Col. S1: -1*(-M) = M;
Col. S2: -13/34M-500*(-5/34) – 300*3/34 = -13/34M + 1600/34=-13/34M+800/17;
Col. S3: -11/17M-500*(1/17) – 300*(-4/17) = -11/17M + 700/17;
Col. A1: 0;
Col. A2: -13/34*(-M) -500*5/34 – 300*(-3/34) = 13/34M + 400/34=13/34M+200/17;
Col. A3: -11/17*(-M) - 500*(-1/17) – 300*(4/17) = 11/17M - 700/17;
Col. Sol: -710/17M – 500*250/17 -300*360/17 = -710/17*M – 233000/17;
-Z ci -300 -500 0 0 0 -M -M -M

Cj Var. Sol. X1 X2 S1 S2 S3 A1 A2 A3 Sol.

0 S3 0 0 -17/11 13/22 1 17/11 -13/22 -1 710/11

-500 X2 0 1 0 -5/34 1/17 0 5/34 -1/17 250/17

-300 X1 1 0 0 3/34 -4/17 0 -3/34 4/17 360/17

Zj -300 -500 M -13/34M -11/17M 0 13/34M+ 11/17M - -710/17M-


+800/17 +700/17 200/17 700/17 233000/17

Zj -Cj 0 0 M -13/34M -11/17M 0 47/34M+ 28/17M - -710/17M-


+800/17 +700/17 200/17 700/17 233000/17

-500 X2 0 1 0 -5/34 1/17 0 5/34 -1/17 250/17

0 S3 0 0 -1/11 13/374 1/17 1/11 -13/374 -1/17 710/187 S3*1/17

0 1 1/11 -2/11 0 -1/11 2/11 0 120/11

-300 X1 1 0 0 3/34 -4/17 0 -3/34 4/17 360/17

0 S3 0 0 -4/11 26/187 4/17 4/11 -26/187 -4/17 2840/187 S3*4/17

1 0 -4/11 5/22 0 4/11 -5/22 0 400/11


-Z ci -300 -500 0 0 0 -M -M -M

Cj Var. Sol. X1 X2 S1 S2 S3 A1 A2 A3 Sol.

0 S3 0 0 -17/11 13/22 1 17/11 -13/22 -1 710/11

-500 X2 0 1 1/11 -2/11 0 -1/11 2/11 0 120/11

-300 X1 1 0 -4/11 5/22 0 4/11 -5/22 0 400/11

Zj -300 -500 700/11 250/11 0 -700/11 -250/11 0

Zj -Cj 0 0 700/11 250/11 0 -700/11 -250/11 M -180000/11


+M +M

Calculamos Zj
Col. X1: -300;
Col. X2: -500;
Col. S1: -500/11 +1200/11 = 700/11;
Col. S2: 1000/11 –1500/22 = 2000/22 – 1500/22 = 500/22 =250/11;
Col. S3: 0;
Col. A1: 500/11 - 1200/11 = - 700/11;
Col. A2: - 1000/11 + 1500/22 = - 2000/22 + 1500/22 = - 250/11;
Col. A3: 0;
Col. Sol: 0*710/11-500*120/11-300*400/11= (-60000-120000)/11= -180000/11;
 De esta tabla se interpreta que a cada caballo diariamente se le
deben suministrar 400/11 matas de pasto y 120/11 libras de mineral
para garantizar los requerimientos vitamínicos. Con base en ello se
obtiene un costo total mínimo de $180.000/11. Además, cada caballo
diariamente está consumiendo 700/11 más de vitamina C (por
encima del nivel mínimo establecido; para este caso por encima de
150 miligramos). Como se puede observar en el último tablero, sólo
las variables básicas tienen valor de cero en el renglón Zj-C; lo que
indica que el problema tiene solución única. (Mismo criterio utilizado
para maximización).
Teoría del método Simplex
MÉTODO SIMPLEX

Es un método iterativo que permite ir mejorando la solución en cada paso. El algoritmo


Simplex requiere del Modelo Lineal, para ser solucionado, cumpla las condiciones de
Forma Estándar y Sistema Canónico.

PASOS PAR RESOLUCIÓN DE


ALGORITMOS

PASO 1 PASO 2 PASO 3 PASO 4 PASO 5 PASO 6


Construir la La S.B.F es Si comprobamos que Calcularlos nuevos En la nueva matriz,
tabla del M.S. y óptima, si y solo hay coeficientes Construimos la comprobamos los
coeficientes de la
rellenar la tabla si todos los negativos en Z
con los matriz. tabla con los coeficientes del
coeficientes del marcamos el mayor en
coeficientes. a) Variable que resultados renglón (Z) si
renglón Z no valor absoluto esta será
Comprobar que entra: se divide el todavía existen
las VB tienen son negativos la V.N.B. que entra a la
base. Para determinar la renglón pivote coeficientes
coeficientes de
1. VB que sale, dividir cada entre número negativos se sigue
elemento del vector pivote. repitiendo los pasos
entrante b) Demás renglones: anteriores de lo
se divide el reglón contrario se ha
nuevo para los terminado.
otros renglones
MÉTODO M O DE
PENALIZACIÓN

Pasos Básicos del método M son los siguientes

PASO 1 PASO 2 PASO3

Expresar el problema en forma Agregar variables de no negatividad al Utiliza las variables artificiales en la
estándar transformando las lado izquierdo de cada una de las solución básica Inicial; sin embargo
inecuaciones en ecuaciones ecuaciones correspondientes a las la funcón objetivo de la tabla inicial
introduciendo variables de restricciones de tipo (>=) o (=). Estas se prepara adecuadamente para
holgura variables se denominan variables expresarse en términos de las
artificiales y su adición hace que las variables no básicas únicamente.
restricciones correspondientes
Casos especiales del método simplex

Existen casos especiales que se encuentran a menudo en las


aplicaciones del método simplex, los más importantes son:
1. Degeneración.
2. Soluciones óptimas múltiples.
3. Soluciones óptimas no acotadas.
4. Soluciones factibles no existentes.
Empate de la variable básica entrante
 Al inicio de cada iteración se elige la variable no básica que tiene el
coeficiente negativo con el mayor valor absoluto en la ecuación (FO)
actual como la variable básica entrante.
 Ahora suponga que dos o más variables no básicas tienen el
coeficiente negativo más grande (en valor absoluto), es decir, que hay
un empate.
 ¿Cómo debe romperse este empate?
 La respuesta es que se puede elegir entre estos dos competidores de
manera arbitraria.
 Tarde o temprano se llegará a la solución óptima, sin importar cuál de
las variables empatadas se haya escogido, y no existe un método
incontrovertible para predecir cuál conduce a la solución óptima con
mayor rapidez.
1. DEGENERACION.
 Ahora suponga que el empate ocurre entre dos o más variables
básicas cuando se elige la variable que sale en el paso 2 de una
iteración. ¿Importa cuál se escoge?
 En teoría, sí, y en una forma crítica debido a lo que puede
ocurrir en la siguiente sucesión de eventos.
 Primero, todas las variables empatadas se hacen cero al mismo tiempo cuando
aumenta el valor de la variable entrante. Por lo tanto, aquellas que no se
eligieron como variable básica saliente también tendrán un valor de cero en la
nueva solución básica factible (BF). (Las variables básicas con valor de cero se
llaman degeneradas, y el mismo nombre se da a la solución BF correspondiente.)
 Segundo, si una de estas variables básicas degeneradas sigue con valor de cero
hasta que se selecciona como variable básica que sale en una iteración posterior,
la variable básica entrante deberá también quedar con valor de cero (ya que no
puede crecer sin que la variable básica que sale se vuelva negativa), por lo que el
valor de Z no cambiará.
 Tercero, si Z permanece igual en lugar de mejorar en cada iteración, el método
símplex puede caer en un ciclo que repite la misma secuencia de soluciones en
forma periódica, en lugar de aumentar en algún momento para llegar a la
solución óptima.
 En realidad, se han construido ejemplos artificiales que se
quedan atrapados en un ciclo perpetuo de este tipo.
 Por fortuna, aunque en teoría es posible que haya ciclos
perpetuos, muy rara vez han ocurrido en problemas reales.
 Si ocurriera un ciclo siempre se puede salir de él al cambiar la elección de la
variable básica que sale. Aún más, se han construido reglas especiales para
romper empates que siempre evitan los ciclos. Sin embargo, con frecuencia
estas reglas se ignoran en las aplicaciones reales.
 Para propósitos prácticos se recomienda romper los empates de modo
arbitrario y seguir el proceso sin preocuparse de las variables degeneradas que
puedan resultar.
 (Las variables básicas con valor de cero se llaman degeneradas y el mismo
nombre se da a la solución básica factible correspondiente.) Segundo, si una
de estas variables básicas degeneradas sigue con valor de cero hasta que se
selecciona como variable básica que sale en una iteración posterior, la
variable básica entrante deberá también quedar con valor de cero (ya que
no puede crecer sin que la variable básica que sale se vuelva negativa),
entonces el valor de Z permanecerá sin cambio. Tercero, si Z permanece
igual en lugar de mejorar cada iteración, el método símplex puede caer en
un ciclo que repite la misma secuencia de soluciones periódicamente, en
lugar de aumentar en algún momento para llegar a la solución óptima.
 Por fortuna, aunque en teoría es posible que haya ciclos perpetuos, ha sido
en extremo raro que tenga lugar en problemas reales. Si ocurriera un ciclo
siempre se puede salir de él cambiando la elección de la variable básica que
sale. Por lo tanto se recomienda romper los empates arbitrariamente y
seguir el proceso sin preocuparse de las variables que puedan resultar
1. DEGENERACION.

8/4=2
4/2=2

Empate
2. SOLUCIONES ÓPTIMAS MULTIPLES.

 Existen problemas que tienen más de una solución


óptima. En este caso se dice que se tienen soluciones
óptimas múltiples debido a que la solución óptima se
encuentra en un segmento de recta que es acotado por
una de las restricciones.
 Un problema de programación lineal tiene solución
óptima múltiple cuando aparte de las variables básicas,
hay por lo menos una variable no básica que tiene
valor de cero en el Zj-Cj.
 MAX Z = 70 X1 + 50X2
 S.A.
 7 X1 + 5 X2 ≤ 350.
 4 X1 + 9 X2 ≤ 360.
 X1 ≤ 40.
 X1, X2 ≥ 0

 MAX Z= 70X1+ 50X2 +0H1 + 0H2 + 0H3


 S.A.
 7 X1 + 5 X2 + H1 = 350
 4 X1 + 9 X2 + H2 = 360
 X1 +H3 = 40
 X1, X2, H1, H2, H3 > 0.
Var. Básicas Var. NO Básica

La variable H3, es una variable no básica que toma valor Zj-Cj igual a cero en
la fila FZ3, lo que indica que el problema tiene soluciones óptimas múltiples, y
una de ellas es la que se presenta en este último cuadro.
 Para establecer la solución del otro extremo o vértice, se entra esta
variable a la base y sale la correspondiente según la regla de salida de
la base.
 Observe que ahora la variable que indica la solución óptima múltiple
es la variable H2 (variable no básica), que toma valor Zj-Cj igual a
cero.
 Min. Z = 2000 X1 + 4000 X2
 S.A.
 4 X1 + 8 X2 ≥ 320
 6 X1 + 5 X2 ≥ 300
 8 X1 + 10 X2 ≤ 800
 X1, X2 ≥ 0.
 Max. (-Z) = -2X1 - 4X2 –MA1 –MA2
 S.A.
 4 X1 + 8 X2 -S1 +A1 = 320
 6 X1 + 5 X2 -S2 +A2 = 300
 8 X1 + 10 X2 +H1 = 800
 X1, X2, S1, S2, A1, A2 , H1 ≥ 0.
Tal como se observa en la fila FZ3 (Zj-Cj) la variable S2, tiene valor de cero; lo
que indica que el problema tiene solución óptima múltiple. La solución
presentada en dicho tablero es una de ellas. Para obtener el otro extremo que
es solución óptima entra a la base S2 y sale X2.
3. SOLUCIONES OPTIMAS NO
ACOTADAS.

 Existe otra posibilidad - no se hablado ninguna variable califica


como variable básica saliente.
 Esta situación puede ocurrir si la variable básica entrante puede
crecer de manera indefinida sin que ninguna de las variables básicas
actuales adquiera valores negativos.
 En la forma tabular, esto significa que todos los coeficientes de la
columna pivote (se excluye el renglón 0) son negativos o cero.
 Máx. Z = 2000 X1 + 3000X2
 Sujeto a
 5X1 + 9 X2 ≥ 450
 X1 < 30
 X2 ≥ 20
 X1, X2 ≥ 0

 Máx. Z = 2X1 + 3X2 +0S1 +0S2 - MA1 +0H1 -MA2


 Sujeto a
 5X1 + 9 X2 - S1 + A1 = 450
 X1 + H1 = 30
 X2 - S2 + A2 = 20
 X1, X2, S1, S2, A1, H1, A2 ≥ 0.
Como se puede apreciar en el tablero, entra a la base la variable S1 y para
determinar que variable sale de la base hay que dividir por el vector de la
misma variable (-1/9, 0, -1/9). Este vector no contiene ningún valor positivo;
por lo tanto no se puede determinar que variable sale de la base y representa
un problema con solución no acotada o ilimitada.
 La interpretación de una tabla símplex como la que se muestra en la
tabla sostiene que las restricciones no impiden el crecimiento
indefinido de la función objetivo Z, de manera que el método símplex
se detiene con el mensaje de que Z es no acotada. Debido a que ni
siquiera la programación lineal ha descubierto la manera de lograr
ganancias infinitas, el mensaje real en problemas prácticos es que se
ha cometido un error.
 Tal vez el modelo esté mal formulado, ya sea por haber omitido una
restricción relevante o por haberla establecido de modo incorrecto.
De manera alternativa, pudo haber ocurrido un error en los cálculos.
 Min Z = 3.000 X1 -10.000 X2
 Sujeto a
 5 X1 + 4 X2 ≥ 20
 2 X1 - 3 X2 ≤ 6
 X1 ≤8
 X1, X2 ≥ 0.
 Max (-Z) = -3 X1 +10 X2
 Sujeto a
 5 X1 + 4 X2 – S1 + A1 = 20
 2 X1 - 3 X2 + H1 =6
 X1 +H2 = 8
 X1, X2, S1, A1, H1, H2 ≥ 0.
 En este tablero se visualiza que debe entrar a la base S1, pero ningún
valor de su vector es positivo; luego no se puede evaluar que variable
sale de la base y por lo tanto el problema tiene solución no acotada o
ilimitada
4. SOLUCIONES FACTIBLES NO
EXISTENTES.

 Se interpreta que un problema solucionado por el método


simplex no tiene solución cuando se llega a las condiciones de
optimalidad (todos los Zj-Cj son mayores o iguales a cero) y
por lo menos una variable artificial que da en la base con valor
diferente de cero.
 Máx. Z = 5000 X1 + 4000 X2
 S.A.
 4 X1 + 5 X2 < 200
 3 X1 + 8 X2 < 240
 X2 > 50
 X1, X2 > 0

 MAX Z = 5 X1 + 4 X2 - MA1
 S.A.
 4 X1 + 5 X2 + H1 = 200
 3 X1 + 8 X2 +H2 = 240
 X2 -S1 +A1 = 50
 X1, X2, S1, H1 , H2, A1 > 0.
 Como se puede apreciar en el tablero final; todos los valores Zj-Cj son
mayores o iguales a cero, por lo tanto la solución óptima del ejercicio
ya está dada; sin embargo la variable artificial A1 está en la base con
valor de 20 (diferente de cero). Por lo tanto se concluye que el
problema no tiene solución.
 Min Z = 5000 X1 + 4000 X2
 S.A.
 3 X1 + 6 X2 ≤ 180
 X1 ≤ 30
 X2 ≥ 40
 X1, X2 ≥ 0
 Max (-Z) = - 5 X1 - 4 X2 –MA1
 S.A.
 3 X1 + 6 X2 +H1 = 180
 X1 +H2 = 30
 X2 – S1 +A1 = 40
 X1, X2, S1, H1, H2, A1 ≥ 0.
 En este tablero están dadas las condiciones de optimalidad; pero la
variable artificial quedo en la base con valor diferente de cero
(A1=10), lo que indica que el problema no tiene solución.
Solución degenerada

 Un problema de programación lineal genera solución básica factible


degenerada cuando dentro del mismo hay restricciones de carácter
redundante; es decir, hay más de una restricción que genera la
misma área factible, por lo tanto la solución no varia si se elimina una
de estas restricciones (si hay más de dos restricciones que generen la
misma área factible, se pueden eliminar todas, menos una y la
solución no cambiará). Lo anterior en el método simplex se refleja en
el hecho que una variable básica en la solución tomará valor de cero.
 Min Z = 20000 X1 +40000 X2
 Sujeto a
 8 X1 + 3 X2 ≤ 240.
 6 X1 + 7 X2 ≤ 420.
 16 X1 + 6 X2 ≤ 480.
 X1 + X2 ≥ 40.
 X1, X2 ≥ 0
 Máx. (-Z) = -20X1 -40X2 –MA1
 Sujeto a
 8 X1 + 3 X2 +H1 = 240.
 6 X1 + 7 X2 H2 = 420.
 16 X1 + 6 X2 +H3 = 480.
 X1 + X2 -S1 +A1 = 40.
 X1, X2 , S1, H1, H2 , H3, A1 ≥ 0.
 Como se puede apreciar la variable básica H3 toma valor de cero
estando en la base; lo que indica que el problema tiene solución
básica factible degenerada (hay restricciones redundantes).

S-ar putea să vă placă și