Beruflich Dokumente
Kultur Dokumente
Al pulsar el botn para introducir los datos, aparece la siguiente pantalla que debemos cumplimentar
El nombre de las variables utilizadas por WinQSB son X1, X2, X3, .....
Identificacin de Variables/Restricciones: A veces puede ser interesante cambiar los nombres de las variables y las restricciones
para facilitar su identificacin. Puede hacerse en el men Edit (Edicin).
Una vez introducido el problema es conveniente guardarlo utilizando la opcin Save del men File o el icono correspondiente (men
situado en la cabecera).
1.-Seleccionar "Solve the problem" (Resolver el problema) desde el men "Solve and Analyze" (Resolver y Analizar), o utilizar el
icono "Solve" (Resolver) que se encuentra en la parte superior de la pantalla. Esto genera un "Combined Report" (Informe
Combinado) que muestra la solucin y los resultados adicionales (anlisis de sensibilidad, precios sombra, valor de las variables de
holgura, etc). Este informe se muestra en la siguiente figura:
Infinitas soluciones (si es que existen): Despus de resolver el problema, si aparece un mensaje que le informa: "Alternate
solution exists!!" ("Existe una solucin alternativa").
En la siguiente tabla se observa la indicacin de infinitas soluciones (esta tabla no se corresponde con el problema estudiado)
Resolver mediante el Mtodo Grfico: Seleccione el mtodo grfico desde el men "Solve and Analyze" (Resolver y Analizar)
(slo se puede utilizar para problemas de dos variables). Tambin puede hacer clic en el cono Graph (Grfico) en la parte
superior de la pantalla. Puede ajustar los rangos X- Y despus de resolver el problema y de que aparezca el grfico. Elija el men
Option (Opcin) y seleccione los nuevos rangos.
Ejercicio 1:
Resolver utilizando Winqsb los siguientes problemas:
1)
2)
3)
4)
5)
6)
7)
8)
Ejercicio 2:
Una determinada empresa fabrica 4 productos que requieren para su elaboracin los siguientes recursos:
Producto
1 2
3
4
2 2 3/2 4
Materia Prima (ton/unidad)
2 5/2 2 3/2
Espacio (m2/unidad)
15 30 10 15
Tasa de produccin
(unidades/hora)
Para ello dispone de 180 toneladas de materia prima diaria, de un espacio total para su almacenamiento
de 230 m2 y para la produccin se dispone de 7 horas diarias como mximo. Las ganancias por unidad de
producto son 5 para el producto 1, 65 para el producto 2, 5 para el producto 3 y 55 para el producto 4.
Determinar el nmero de unidades de cada producto que deben fabricarse diariamente para maximizar el
beneficio.
5
Prctica 2: Dualidad
Resolucin:
Una vez introducidos los datos en WinQsb, en formato matrix, obtendremos la siguiente tabla del
simplex:
B 1 =
0.333 0.667
Una vez obtenida la solucin ptima pasemos a contestar a las cuestiones que se nos plantea.
(a) La primera de ellas era determinar la formulacin del problema dual.
Para ello, seleccionaremos:
Como se observa, la solucin ptima viene dada por y1=033 e y2=333, obtenindose un valor para la
funcin objetivo de 160 como ocurre con el problema primal.
Si observamos la tabla resumen que obtuvimos para el problema primal, estos valores son los
denominados precios sobra (Shadow price) o precios marginales asociados a las restricciones y su
interpretacin econmica es la siguiente:
Estos valores representan el precio que la empresa est dispuesta a pagar por un incremento unitario del
recurso disponible.
Nunca se pagar ms de ese precio por una unidad suplementaria de recurso, ya que en caso
contrario, la empresa pagara por el uso de esta cantidad adicional un precio superior a la mejora que se
produce en la funcin objetivo.
(b) La segunda cuestin que nos plantean es Cunto se estara dispuesto a pagar para que el valor de la
primera restriccin aumentase a 40?
Para responder a esta cuestin, basta considerar que la variable dual en el ptimo mide el incremento de
la funcin objetivo del problema primal por unidad de recurso adicional, siempre que la base no cambie. As,
para 10 unidades ms de recurso para la primera restriccin (40-30) como mucho deberemos pagar
10*0333=3.33. De manera anloga, para el segundo recurso, como mximo pagaremos 5*333=16.66.
Si hubisemos resuelto el problema:
Max z = 4 x1 + 7 x2 + 3 x3
s.a.
2 x1 + x2 + 2 x3 < 30+10=40
x1 + x2 + 2 x3 <45
x1 , x2 , x3 >0
Obtendramos la siguiente tabla ptima
y si hubisemos resuelto:
Max z = 4 x1 + 7 x2 + 3 x3
s.a.
2 x1 + x2 + 2 x3 < 30
x1 + x2 + 2 x3 <45+5=50
x1 , x2 , x3 >0
8
obtendramos:
Como se observa en el primer caso obtendramos un valor de 16333 para la funcin objetivo (333 ms que en
el problema original), y en el segundo 17666 (1666 ms que en el original).
(c) Para finalizar comprobemos si la solucin que nos proporciona puede ser la ptima. Para ello tenemos
tres opciones: la primera sera resolver el problema primal y ver si la solucin propuesta es la ptima; la
segunda, sera aplicar el teorema de dualidad fuerte; y la tercera mediante la aplicacin del teorema de holguras
complementarias
(c1) Por la prctica 1 sabemos que la solucin ptima nica del primal es X1=5 X2=20 y X3=0, por
tanto la solucin propuesta no es la ptima.
(c2) Como sabemos que el valor ptimo del problema dual es 160, el valor ptimo del primal
tambin debe ser 160. El valor de la funcin objetivo en el punto x1=5 x2=10 y x3=5 es:
4x1 + 7 x2 + 3 x3 = 4 * 5 + 7 * 10 + 3 * 5 =105
por tanto la solucin que nos indican no es la ptima.
(c3) Como la solucin del dual tiene todas sus componentes no nulas (y1=033 , y2=333), en el
ptimo, las restricciones del problema primal sern igualdades. Comprobemos si se verifica en
el punto propuesto:
Si x1=5 x2=10 y x3=5, la primera restriccin del problema primal se verificara como una
igualdad:
2 x1 + x2 + 2 x3 = 2*5+10+2*5=30
Pero en la segunda restriccin, esta se verifica como desigualdad estricta:
x1 + 2 x2 + 2 x3 =5 + 2*10+2*5=35<45
Ejercicio:
Consideremos el problema propuesto en la prctica 1. Responder de manera razonada a las siguientes
cuestiones:
(1) Plantear y resolver el problema dual.
(2) A partir de la solucin del dual, obtener la solucin del primal aplicando las condiciones de holgura
complementaria.
2
(3) Nos plantean alquilar otro almacn de 100m . Determinar el precio mximo que debemos pagar diariamente
por el alquiler.
Prctica 3: Ciclado
Resolucin:
Una vez introducidos los datos en WinQsb, obtendremos la siguiente tabla del simplex:
10
Con la opcin:
Results-> Show Run Time and Iteration
Obtenemos que el nmero de iteraciones es
307 (cota para Winqsb)
Como podemos evitar el ciclado? Debemos aplicar la regla de Bland de manera manual.
Para poder aplicarla debemos ir viendo las sucesivas tablas del simplex y en el momento de empate seleccionar
la variable que debe entrar en la base. As, en la 5 iteracin nos encontramos con la siguiente tabla:
Winqsb propone pivotar sobre la casilla marcada en azul (entra Slack C1 y sale X3), si aplicamos la regla de
Bland deberamos pivotar sobre la casilla marcada (entra X1 y sale Slack_C3).
Para ello seleccionaremos la opcin
Simplex Iteration -> Choose Entering
Variable
11
[Nota.- Recordemos que en la ltima fila Winqsb representa los valores cj-zj (al revs que nosotros), por tanto
el proceso finaliza cuando todos los valores de la ltima fila son < 0.]
Una vez resuelto el problema, podemos pedir la tabla resumen y en este caso si obtenemos la solucin
correcta:
12
Ejercicio 1:
Una determinada empresa fabrica 4 productos que requieren para su elaboracin los siguientes recursos:
Producto
1
2
3
4
2
3/2
4
2
Materia Prima
(ton/unidad)
5/2
2
3/2
Espacio (m2/unidad) 2
30
10
15
Tasa de produccin 15
(unidades/hora)
Para ello dispone de 180 toneladas de materia prima diaria, de un espacio total para su almacenamiento
de 230 m2 y para la produccin se dispone de 7 horas diarias como mximo. Las ganancias por unidad de
producto son 5 para el producto 1, 65 para el producto2, 5 para el producto 3 y 55 para el producto 4.
a) Determinar el nmero de unidades de cada producto que deben fabricarse diariamente para
maximizar el beneficio.
b) Podemos reducir la disponibilidad de materias primas?, y las horas de trabajo diario?
c) Plantear y resolver el problema dual.
d) A partir de la solucin del dual, obtener la solucin del primal aplicando las condiciones de holgura
complementaria.
e) Nos plantean alquilar otro almacn de 100m2. Resulta interesante realizar una oferta?
f) Si deseamos aumentar la produccin, Qu resultara mas rentable aumentar las disponibilidad de
trabajo diario en 1 hora ms o aumentar la disponibilidad de materia prima en 2 toneladas da?
Ejercicio 2:
Una determinada se dedica a la pintura de tableros Y cajas metlicas suministrados por otros
proveedores-clientes. La propia empresa fabrica sus pinturas, y en el proceso de pintura que se realiza
diariamente, se desprenden una serie de productos que son contaminantes del medio ambiente.
La empresa dispone de un almacn donde guardar los productos que se pintan diariamente. El almacn
dispone de 2.000 metros cuadrados de superficie til. Todos los elementos pintados diariamente se retiran al
final de la jornada laboral, con lo que al inicio de la siguiente est disponible la totalidad de la superficie til.
La pintura de cada tablero desprende 0.02 metros cbicos de materia contaminante, mientras que la
pintura de cada caja desprende 0.03 m3 de aire contaminado. La normativa europea aplicable a este tipo de
empresas establece un mximo de emisiones contaminante de 1 m3 diario.
Cada tablero, una vez pintado, ocupa en el almacn un equivalente a 20 m2 , aproximadamente, es decir,
incluidos pasillos de acceso y otros. Las cajas una vez pintadas ocupan un equivalente a 10 m2 (tngase en
cuenta que no se pueden apilar para facilitar el secado de la pintura).
La empresa percibe de los proveedores-clientes por cada tablero pintado 100.000 pesetas, mientras que
el precio de las cajas es de 50.000 pesetas.
Con esta informacin, el gerente de la empresa debe determinar la cantidad de elementos metlicos
(tableros y cajas) que debe pintar diariamente la empresa con el fin de maximizar los ingresos de la firma.
Adems de esto, el gerente de la empresa tiene una oferta verbal del director de planta de una fabrica
adyacente, que estara dispuesto a cederle una parte de su almacn a un precio unitario de 700 ptas. /m2. Le
interesara al gerente de la empresa entrar a negociar una oferta en firme sobre el almacn de la empresa
adyacente?.
El Departamento de Medio Ambiente est estudiando una nueva normativa para restringir los agentes
contaminantes del medio ambiente. Ello repercutira en la empresa en que el mximo de emisin diaria
permitida se situara en 0.9m3. Si la empresa mantiene el actual nivel de emisiones (1 m3) recibira una sancin
de 70.000 ptas. diarias. Ante la entrada en vigor de esta nueva normativa: Le interesara a la empresa seguir
manteniendo el actual nivel de emisiones contaminantes?, sera econmicamente posible?.
13
Resolucin:
Una vez introducidos los datos en WinQsb, en formato matrix, obtendremos la siguiente tabla final del simplex
donde observamos que las variables bsicas son x1 y x2, el valor ptimo de la funcin objetivo es: 160.
Una vez obtenida la solucin ptima pasemos a contestar a las cuestiones que se nos plantea. La primera de
ellas era Hasta dnde puede variar cada coste de manera individual para que la solucin siga siendo
ptima?
Para ello seleccionaremos:
en donde se observa la variacin que pueden sufrir los costes de manera individual para que la solucin
obtenida siga siendo ptima:
c 1 puede variar dentro del intervalo [35,14].
c2 puede variar dentro del intervalo [2,8].
c3 puede variar dentro del intervalo (-inf,7'33].
14
en donde se observa que el primer recurso (la primera restriccin) puede variar dentro del intervalo [225,90] y
el segundo entre [15,60] para que la base que obtuvimos siga siendo ptima.
De manera sencilla podemos obtener una
tabla resumen de estos resultados
seleccionando:
Results->Combined Report
15
y posteriormente:
Objetive Function->X3
16
17
En =-1/3 (-0333) volvemos a tener soluciones alternativas, la variable X1 saldr de la base y entrar
primera variable de holgura, es decir, la base ptima es{holgura 1, X2}.
Si el valor del parmetro vara dentro del intervalo (-inf, -0333) el valor de la funcin objetivo variar
desde 165 en adelante, con una variacin por unidad de de 22.5 unidades. Para poder obtener la solucin
ptima necesitamos volver a resolver el problema para un determinado valor del parmetro <1/3, por
ejemplo =-1 (el nuevo vector de costes ser (3,8,2)). En este caso obtenemos:
X1=0 , X2=225 y X3=0.
Caso (2):
Para el caso (2), seleccionaremos:
Results-> Perform Parametric Analysis
->Right hand side->Perturbation
Vector
y posteriormente el vector de perturbacin,
por ejemplo:
(-1,-1)
obteniendo la siguiente tabla:
As:
Si el valor del parmetro vara dentro del intervalo (-inf,15) el valor de la funcin objetivo variar de 105
en adelante, la base ptima estar formada por los vectores {X1,X2}. Para =15 se produce un cambio en la
base ptima pasando a ser {X2, holgura 2}
Si el valor del parmetro vara dentro del intervalo (15,30) el valor de la funcin objetivo variar en el
intervalo (0,105) con una variacin por unidad de incremento de de 7 y base ptima {X2, holgura 2}
Si = 30 la variable X2 abandona la base (nos quedamos sin recurso en la primera restriccin) y la
solucin ptima es X1=0, X2=0 y X3=0.
Para > 30 el problema pasa a ser infactible (puesto que el recurso asociado a la primera restriccin se
vuelve negativo).
Ejercicio:
Consideremos el problema propuesto en la prctica 1. Responder de manera razonada a las siguientes
cuestiones:
(4) Qu ocurre si el beneficio de nuestra variable X1 cambia a 6.55?.
(5) Hasta dnde podemos variar el beneficio de la variable X2 manteniendo la misma solucin ptima?, y el
asociado a la variable X3?.
(6) Si se produce una etapa con escasez de materia prima limitada a 130 toneladas/da, ser posible mantener
el plan de produccin actual?, y si es posible, cmo afecta esta limitacin a la funcin objetivo?.
(7) Consideremos que por necesidades del mercado necesitamos fabricar al menos 20 unidades del primer
producto. Es posible satisfacer la demanda?, cul ser ahora el beneficio mximo que se puede obtener
satisfaciendo la demanda?.
18
EJEMPLO
Una determinada empresa debe determinar el plan de envasado de tres de sus productos
(producto tipo l, 2 y 3). Estos productos se empaquetan en cajas con peso diferentes a partir de tres
componentes bsicos (A, B y C). Los beneficios obtenidos por cada caja son de 25, 30 y 35 unidades
monetarias, respectivamente.
Cada caja tiene una mezcla diferente de componentes, as el tipo 1 requiere 10 kilos de
componente A, 20 de la clase B y 18 de clase C. Para el tipo 2 los requerimientos son de 13,22 y 20 kilos
de cada
uno de los componentes, mientras que para el tipo 3 los requerimientos son de 18, 20 y 24,
respectivamente.
La empresa dispone en el almacn actualmente de 2324 kilos de componente A, de
2550 de B y de 1568 de C. Con estos datos determinar el nmero de cajas de cada tipo que la empresa
puede suministrar al mercado de forma que se maximice su beneficio.
Solucin:
Para resolver este problema usaremos el mtodo de ramificacin y acotacin y sobre l describiremos el
funcionamiento de este procedimiento. Para el planteamiento formal de este problema representaremos la
cantidad de cajas a envasar de cada uno de los productos por X1, X2, y X3, con lo cual el problema ser:
Max Z = 25 X1 + 30 X2 + 35 X3
S.a:
10 X1 + 13 X2 + 18 X3 < 2324
20 X1 + 22 X2 + 20 X3 < 2550
18 X1 + 20 X2 + 24 X3 < 1568
X1 , X2 , X3 > 0
X1 , X2 , X3 enteras
10 X1 + 13 X2 + 18 X3 < 2324
20 X1 + 22 X2 + 20 X3 < 2550
18 X1 + 20 X2 + 24 X3 < 1568
X1 , X2 , X3 > 0
La solucin a este problema es: X1 = 0 , X2 = 78.4, X3 = 0 y para la funcin objetivo un valor de 2352.
Como la solucin debe ser entera, y en este caso no lo es, procederemos a ramificar a partir de la solucin del
problema anterior, y para ello generamos dos nuevos subproblemas (problema 1 y problema 2):
Problema 1
Max Z = 25 X1 + 30 X2 + 35 X3
S.a:
10 X1 + 13 X2 + 18 X3 < 2324
20 X1 + 22 X2 + 20 X3 < 2550
18 X1 + 20 X2 + 24 X3 < 1568
X2 < 78 (*)
19
Problema 2
Max Z = 25 X1 + 30 X2 + 35 X3
S.a:
10 X1 + 13 X2 + 18 X3 < 2324
20 X1 + 22 X2 + 20 X3 < 2550
18 X1 + 20 X2 + 24 X3 < 1568
X2 > 79 (*)
X1 , X2 , X3 > 0
Problema 2: Infactible.
La solucin del problema 1 sigue siendo no entera, por tanto procedemos a ramificarla de nuevo
generando los siguientes subproblemas:
Problema 1.1
Max Z = 25 X1 + 30 X2 + 35 X3
S.a:
10 X1 + 13 X2 + 18 X3 < 2324
20 X1 + 22 X2 + 20 X3 < 2550
18 X1 + 20 X2 + 24 X3 < 1568
X2 < 78
X3 < 0 (*)
X1 , X2 , X3 > 0
Problema 1.2
Max Z = 25 X1 + 30 X2 + 35 X3
S.a:
10 X1 + 13 X2 + 18 X3 < 2324
20 X1 + 22 X2 + 20 X3 < 2550
18 X1 + 20 X2 + 24 X3 < 1568
X2 < 78
X3 > 1 (*)
X1 , X2 , X3 > 0
20
Problema 1.1.1
Max Z = 25 X1 + 30 X2 + 35 X3
S.a:
10 X1 + 13 X2 + 18 X3 < 2324
20 X1 + 22 X2 + 20 X3 < 2550
18 X1 + 20 X2 + 24 X3 < 1568
X2 < 78
X3 < 0
X1 < 0 (*)
X1 , X2 , X3 > 0
Problema 1.1.2
Max Z = 25 X1 + 30 X2 + 35 X3
S.a:
10 X1 + 13 X2 + 18 X3 < 2324
20 X1 + 22 X2 + 20 X3 < 2550
18 X1 + 20 X2 + 24 X3 < 1568
X2 < 78
X3 < 0
X1 > 1 (*)
X1 , X2 , X3 > 0
El problema 1.1.1, tiene solucin entera, por tanto, el valor de la funcin objetivo de este problema
actuar como cota inferior para todos los problemas sucesivos. La solucin al problema 1.1.2 sigue siendo no
entera. No obstante no seguiremos la ramificacin a partir de este problema, dado que anteriormente hemos
dejado el problema 1.2 con un valor de la funcin objetivo de 2351, que es mayor que la solucin del problema
1.1.2, por tanto en este caso ramificaremos el problema 1.2 aadiendo a cada uno de los subproblemas las
restricciones correspondientes, es decir: X2 < 77 y X2 > 78, con lo que tenemos los siguientes problemas:
Problema 1.2.1
Max Z = 25 X1 + 30 X2 + 35 X3
S.a:
10 X1 + 13 X2 + 18 X3 < 2324
20 X1 + 22 X2 + 20 X3 < 2550
18 X1 + 20 X2 + 24 X3 < 1568
X2 < 78
X3 > 1
X2 < 77 (*)
X1 , X2 , X3 > 0
Problema 1.2.2
Max Z = 25 X1 + 30 X2 + 35 X3
S.a:
10 X1 + 13 X2 + 18 X3 < 2324
20 X1 + 22 X2 + 20 X3 < 2550
18 X1 + 20 X2 + 24 X3 < 1568
X2 < 78
X3 < 0
X2 > 78 (*)
X1 , X2 , X3 > 0
Podemos observar que en el problema 1.2.1, las restricciones X2 < 77 y X2 < 78, son redundantes, ya que
solamente es posible la restriccin X2 < 77. De la misma forma, en el problema 1.2.2, las restricciones X2 > 78
y X2 < 78, son redundantes, ya que solamente es posible la restriccin X2 =78.
Las soluciones de ambos problemas son:
La solucin del problema 1.2.1, sigue sin ser entera, por tanto hemos de decidir ahora cual es el problema que
se ramificara de entre los vrtices activos. En este caso la comparacin la debemos realizar, entre el problema
1.2.1 y el problema 1.1.2.. Analizando los valores de la funcin objetivo de ambos problemas observamos que
el valor de Z = 2350.83 es el mayor, por tanto procederemos a ramificar el problema 1.2.1.
Problema 1.2.1.1
Max Z = 25 X1 + 30 X2 + 35 X3
S.a:
10 X1 + 13 X2 + 18 X3 < 2324
20 X1 + 22 X2 + 20 X3 < 2550
18 X1 + 20 X2 + 24 X3 < 1568
X2 < 78
X3 > 1
X2 < 77
X3 < 1 (*)
X1 , X2 , X3 > 0
22
Problema 1.2.1.2
Max Z = 25 X1 + 30 X2 + 35 X3
S.a:
10 X1 + 13 X2 + 18 X3 < 2324
20 X1 + 22 X2 + 20 X3 < 2550
18 X1 + 20 X2 + 24 X3 < 1568
X2 < 78
X3 > 1
X2 < 77
X3 > 2 (*)
X1 , X2 , X3 > 0
Para estos dos problemas podemos hacer consideraciones similares a las expuestas anteriormente sobre la
redundancia de las restricciones en los problemas.
Las soluciones de ambos problemas son:
La solucin del problema 1.2.1.2 ya es entera, por tanto el valor de Z = 2350, lo vamos a tomar como cota
inferior para analizar las restantes soluciones pendientes de ramificar. Con esto podemos saturar de forma
inmediata el problema 1.1.2 ya que el valor de la funcin objetivo es el mismo que en este caso, puesto que al
intentar ramificar el problema 1.1.2 las soluciones de los subproblemas generados seran menores que este
valor.
No obstante, aun no podemos asegurar que la solucin del problema 1.2.1.2 sea la optima ya que el
subproblema 1.2.1.1 tiene un valor de la funcin objetivo mayor, por tanto ramificando este problema tenemos:
Problema 1.2.1.1.1
Max Z = 25 X1 + 30 X2 + 35 X3
S.a:
10 X1 + 13 X2 + 18 X3 < 2324
20 X1 + 22 X2 + 20 X3 < 2550
18 X1 + 20 X2 + 24 X3 < 1568
X2 < 78
X3 > 1
X2 < 77
X3 < 1
X1 < 0 (*)
X1 , X2 , X3 > 0
Problema 1.2.1.1.2
Max Z = 25 X1 + 30 X2 + 35 X3
S.a:
10 X1 + 13 X2 + 18 X3 < 2324
20 X1 + 22 X2 + 20 X3 < 2550
18 X1 + 20 X2 + 24 X3 < 1568
X2 < 78
X3 > 1
X2 < 77
X3 < 1
X1 > 1 (*)
X1 , X2 , X3 > 0
23
La solucin del problema 1.2.1.1.1 es entera, pero el valor de la funcin objetivo (2345) es menor que el
valor de la cota inferior actual de los problemas enteros (2350 de 11.2.1.2.), para el problema 1.2.1.1.2. el
valor de la funcin tambin es inferior a la cota actual y aunque no es solucin entera ya podemos saturar
este nodo. Por tanto, ya no queda ningn problema con un valor de la funcin objetivo mayor que 2350, por
lo que ya podemos considerar esta solucin como la solucin ptima, es decir la obtenida en el problema
1.2.1.2. y que es: X1 = 0, X2 = 76 y X3 = 2 con un valor para la funcin objetivo de Z = 2350.
En el cuadro siguiente se recoge el rbol de ramificacin y acotacin de este problema, en el que recoge en cada
vrtice el valor de la funcin objetivo del problema analizado anteriormente:
Aspectos computacionales:
A la hora de determinar que rama se estudia primero existen varios criterios. Los ms comunmente
utilizados por los problemas comerciales son el criterio > y el criterio de la mejor cota.
Winqsb utiliza el criterio > para determinar que rama se estudia primero, es decir, al plantear un nuevo
subproblema se estudia primero la rama correspondiente a la desigualdad > y hasta que esta no finaliza no
se vuelve sobre el subproblema con la restriccin < . En el siguiente cuadro se muestra orden en el que
Winqsb realiza el proceso de ramificacin y acotacin en el problema anterior.
24
25
Veamos, gracias a un ejemplo, como podemos resolver este tipo de problemas utilizando Winqsb.
Ejercicio
El profesor Michell ha terminado 4 captulos de su libro y est pensando en pedir ayuda para
terminarlo. Ha elegido a 4 secretarias que podran pasar a mquina cada uno de sus captulos. El
costo asociado refleja la velocidad de la secretaria y la exactitud con la que realiza el trabajo. Adems
los captulo difieren en la cantidad de hojas y en la complejidad. Qu puede hacer el profesor si
conoce la siguiente tabla de costos?
Captulos
Secretaria
13
14
Juana
96
99
Mara
116 109
Jackeline 120 102
Edith
114 105
15
16
105 108
107
96
113 111
118 115
Resolucin:
Con el fin de resolver este tipo de problemas seleccionaremos el mdulo de Network Modeling de
Winqsb:
26
Winqsb utiliza el mtodo Hngaro para resolver este tipo de problemas. La asignacin ptima viene dada en la
siguiente tabla:
27
Veamos, gracias a un ejemplo, como podemos resolver este tipo de problemas utilizando Winqsb.
Ejercicio
Un determinado representante de una firma comercial tiene asignada una zona formada por 6
ciudades. Las red de carreteras que unen estas 6 ciudades vienen reflejadas en la siguiente grfica donde
las cantidades indicadas en cada arco representan las distancias en Km. que existen entre ellas.
Determinar la ruta ptima con el fin de minimizar el nmero de km. recorridos semanalmente, sabiendo
que debe pasar una nica vez por cada ciudad y que debe volver a su residencia al final de las semana.
Resolucin:
Con el fin de resolver este tipo de problemas seleccionaremos el mdulo de Network Modeling de
Winqsb:
28
Nota.- A la hora de introducir las distancias, debemos tener en cuenta que si no existe ruta entre dos ciudades
debemos dejar la casilla correspondiente en blanco.
tras lo cual debemos seleccionar el mtodo por el que queremos obtener la solucin ptima. Winqsb nos
propone tres mtodos heursticos (que proporcionan soluciones aproximadas) y la solucin exacta por
ramificacin y acotacin:
Nota.- Observar que el procedimiento Vecino ms cercano no nos garantiza que se pueda cerrar el
ciclo, depender del nodo de partida. Winqsb selecciona siempre el primer nodo de la tabla como nodo
inicial.
29
Two-way Exchange Improvement Heuristic: Este mtodo est basado en la biseccin de una
solucin inicial. As se define la biseccin de un ciclo (two-way exchange) como sigue:
Biseccin de un cilo: Dada una solucin del problema, se eliminan dos arcos no adjacentes (i,j) y (k,l) de
tal manera que se generan dos conjuntos disjuntos de nodos A y B. Formar un nuevo ciclo conectando A y
B mediante los arcos (k,i) y (l,j) y calcular el valor de la nueva funcin objetivo, teniendo en cuenta que se
cambia el sentido en uno de los conjuntos (A B).
Las soluciones que nos proporciona Winqsb por estos mtodos son las siguientes:
30
Observar que las soluciones que nos proporciona el tercer heurstico nunca sern peores que las obtenidas por
dos primeros.
Planteamiento y resolucin grfica
Al igual que ocurra en el problema del transporte Winqsb tambin nos permite un planteamiento y resolucin
de manera grfica como un problema de flujo en redes. As, una vez introducido el problema podemos pasarlo a
forma grfica seleccionando la opcin:
y obtenemos el siguiente grfico, semejante al del enunciado, en el que los costes aparecen dos veces puesto
que es el mismo en ambas direcciones:
31
si resolvemos grficamente
Ramificacin y acotacin:
32
Veamos, gracias a un ejemplo, como podemos resolver este tipo de problemas utilizando Winqsb
Una determinada empresa multinacional dispone de tres plantas de produccin situadas en tres
puntos distintos (P1,P2 y P3) y cuatro almacenes de distribucin situados en 4 ciudades distintas D1, D2,
D3 y D4. Los costes de transporte, as como disponibilidad y demanda de cada planta y almacn se
encuentran resumidos en la siguiente tabla:
Produccin
De/A
D1
D2
D3
D4
P1
5
4
5
6
100
P2
3
3
6
6
200
P3
2
5
7
8
400
Demanda
200
100
150
250
Determinar cul debe de ser el plan de distribucin con el fin de minimizar el coste total.
Resolucin:
En primer lugar observamos que se trata de un problema equilibrado (la oferta total es igual a la
demanda total). En el caso en que el problema no est equilibrado, si no lo equilibramos nosotros Winqsb
tambin encuentra la solucin ptima pero en la tabla inicial hace cosas raras.
Con el fin de resolver este tipo de problemas seleccionaremos el mdulo de Network Modelin de
Winqsb:
33
Tras introducir los datos, la tabla inicial que obtenemos debe de ser la siguiente:
Seguidamente, debemos indicar que procedimiento vamos a utilizar para seleccionar la solucin inicial.
Para ello seleccionaremos: Solve and Analyze->Select Initial Solution Method
35
Seguidamente seleccionamos:
Estas son las tres soluciones ptimas de nuestro problema con un valor para la funcin objetivo de 3350.
36
Ejercicio:
Comprobar que el nmero de iteraciones que debemos realizar si utilizamos cualquiera de los otros dos
criterios para obtener la solucin inicial son 1 y 2 respectivamente.
y obtenemos el siguiente grfico, donde los productores se encuentran en lo nodos etiquetados por P1,P2 y P3 y
la disponibilidad de producto est etiquetada por valores positivo, mientras que los almacenes D1, D2 , D3 y
D4 tienen etiquetadas sus demandas con valores negativos. Sobre cada arco se indica el coste asociado al envo
de una unidad de un nodo al otro.
si resolvemos grficamente obtenemos el siguiente grfico asociado a una de las soluciones ptimas, donde
sobre cada arco se representa el nmero de unidades que se enva de un nodo a otro.
37
Consideremos un problema mixto de transporte en el que existen nodos con oferta pura, nodos con demanda
pura y nodos de transbordo que a su vez presentan oferta y demanda. El objetivo es minimizar el coste total del
transporte satisfaciendo las demandas.
La siguiente tabla nos muestra el coste de transporte de un nodo a otro, as como las distintas ofertas y
demandas de los distintos nodos.
Resolucin
Como se observa, los puntos de transbordo T1 y T4 son puntos que adems de ser de transbordo tienen
una demanda propia (200 y 100 respectivamente), y los puntos T2 y T3 son puntos en los que tambin son
puntos de produccin con una oferta de 350 y 200 unidades respectivamente.
El grfico que obtendremos ser:
38
Para resolverlo utilizaremos la opcin Network Flow del mdulo Network Modeling de Winqsb
Tras introducir los costes y las distintas disponibilidades debemos seleccionar el mtodo de obtencin de la
solucin inicial al igual que lo hicimos en el problema del transporte.
La solucin que obtenemos viene dada por:
Como se observa, nos aparece un nuevo nodo con la etiqueta "Unfilled_demand" que nos aparece en el nuevo
nodo nos indica que es imposible satisfacer toda la demanda (el problema no estaba equilibrado) y las 100
unidades que no se envan (la oferta era de 1950 unidades y la demanda de 2050) la deja de recibir el destino 2.
En forma de tabla se observa este resultado de una manera ms clara.
39
Consideremos el problema de encontrar la mnima distancia entre un conjunto de nodos en una red. La
distancia entre cada nodo viene dado en la siguiente tabla
Resolucin:
Para resolver este tipo de problema seleccionaremos la opcin Network Modeling de Winqsb.
Como se trata de un problema de mnima distancia entre nodos, seleccionaremos la opcin Shortest Path
Problem, e introduciremos el nmero de nodos de nuestra red (7 en este caso) e indicaremos que se trata de un
problema de mnima distancia
Una vez introducidas las distancias, podemos ver de forma grfica la red sobre la que trabajamos. Para ello
seleccionaremos la opcin Format-> Switch to Graphic Model
40
Con el fin de resolver el problema, seleccionaremos la opcin Solve and Analyze-> Solve and Display Steps
(Network)
41
Consideremos la siguiente red en que la cantidad de cada arco representa la capacidad mxima del arco
correspondiente. Nuestro problema ser obtener el mximo flujo que somos capaces de llevar del nodo 1 al 6.
Para resolver este tipo de problema seleccionaremos la opcin Network Modeling de Winqsb.
Como se trata de un problema de flujo mximo, seleccionaremos la opcin Maximal Flow Problem, e
introduciremos el nmero de nodos de nuestra red (6 en este caso)
Tras resolver el problema obtenemos que el flujo mximo que podemos enviar es de 32 unidades:
42
obtenemos:
Como se observa, la solucin obtenida es distinta de la obtenida en clase, aunque el valor de la funcin
objetivo (flujo mximo coincide 32).
En este supuesto podramos plantearnos: De todas las posibles soluciones cual tendr coste
mnimo? (Flujo mximo a coste mnimo) Desgraciadamente Winqsb no resuelve este tipo de problemas.
43
Consideremos un proyecto formado por 8 tareas. La siguiente tabla muestra el orden en el que deben
realizarse dichas tareas hasta finalizar el proyecto (etapa h), as como los tiempos necesarios para su ejecucin.
Actividad
Predecesores
Tiempo tij
a
5
b
6
c
a ,b
2
d
a,b
9
e
C
4
f
e, d
6
g
e,d
8
h
f ,g
1
es decir, para que se pueda realizar la tarea "c" es necesario que estn finalizadas las tareas a y b y as
sucesivamente.
Recordemos que la idea general de mtodo CPM es mostrar la interdependencia entre las tareas
del proyecto en un grafo y determinar el camino crtico, entendiendo este como la sucesin de
actividades que determina la ruta ms larga a travs de la red y que determina el tiempo mnimo en que
el proyecto puede concluir.
Resolucin
Para resolver este tipo de problema seleccionaremos el mdulo PERT-CPM de Winqsb.
En primer lugar introduciremos el nmero de nodos (8 en nuestro caso) e indicaremos que se trata de un
problema CPM (Crtical Path Method)
44
y obtenemos :
donde se observa que no se introduce ningn nodo ficticio y que sobre cada nodo tenemos el tiempo necesario
para realizar la tarea.
Para resolver el problema seleccionaremos la opcin Solve and Analyze-> Solve Critical Path y
obtendremos la llamada ruta crtica es decir aquellas tareas cuya demora producira un aumento el la
duracin total del proyecto
donde:
PC(=Earliest Start)-> Tiempo ms Pronto en el que puede Comenzar la tarea
PT(=Earliest Finish)-> Tiempo ms Pronto en que puede Terminar la tarea (=PC+tij)
TC(Latest Start)-> Tiempo ms Tarde en el que puede Comenzar la tarea (=TT-tij)
TT(Latest Finish)-> Tiempo mas tarde en el que puede Terminar la tarea
Hogura (Slack)
Se observa que la duracin del proyecto es de 24 das y que slo existe una ruta critica.
45
Si deseamos ver cual es dicha ruta seleccionaremos Results-> Show Critical Path
y obtendremos que dicha ruta viene determinada por las actividades B-D-G-H
y obtenemos:
en la que se encuentra marcada la ruta crtica en color rojo, as como los instante en los que se
Otro problema importante es conocer que tareas se deben encontrar finalizadas en un instante determinado.
Para ello seleccionaremos Results->Proyect Completion Analysis
y supongamos por ejemplo que deseamos saber que ocurre a los 19 das del comienzo de la actividad.
Introduciremos:
46
Dicho grfico sirve para calcular la duracin del proyecto y para el control del mismo. Se construye de la
siguiente manera:
En unos ejes de coordenadas se representan las actividades de un proyecto en forma de barras con la
extensin de su duracin y en las abscisas el tiempo
En las ordenadas se representan las actividades. Teniendo en cuenta precedencias.
En este caso el grfico obtenido viene dado por:
47
adems de las opciones de determinar la ruta crtica en ambas situaciones, en el men Solve and Analyze nos
aparece una nueva opcin Perform Crashing Analysis
y obtenemos la siguiente ventana en la que podemos introducir penalizaciones o incentivos por retraso o
adelanto del proyecto segn la fecha de finalizacin introducida. Adems podemos seleccionar tres opciones:
Meeting the desired completion time: Es decir, fijado el tiempo deseado para finalizar el proyecto
determinar la secuencia de ejecucin as como el coste estimado.
Meeting the desired budget cost: Es decir, fijado el coste del proyecto determinar la secuencia y duracin.
Finding the minimum cost schedule: Es decir determinar la secuencia de mnimo coste.
Otra opcin intersante que nos proporciona es obtener la evolucin de los costes a lo largo del proyecto, bien en
formato tabla o grfico (PERT/Cost)
48
en forma de grfico
o en formato tabla
49
Consideremos un proyecto formado por 8 tareas. La siguiente tabla muestra el orden en el que deben
realizarse dichas tareas hasta finalizar el proyecto (etapa h), as como los tiempos necesarios para su ejecucin
segn tres puntos de vista.
Actividad
a
b
C
D
E
F
G
h
Predecesores Tiempo
mnimo
3
4
A ,b
1
A,b
6
c
3
E, d
5
E,d
5
F ,g
1
Tiempo
mas probable
5
6
2
9
4
6
8
1
Tiempo
mximo
6
8
4
11
6
8
10
2
Recordemos que la idea general de mtodo Pert es construir un modelo probabilista a partir del
modelo CPM que nos permita considerar la variabilidad inherente en este tipo de problemas.
Resolucin
Para resolver este tipo de problema seleccionaremos el mdulo PERT-CPM de Winqsb.
En primer lugar introduciremos el nmero de nodos (8 en nuestro caso) e indicaremos que se trata de un
problema CPM (Crtical Path Method)
50
Para resolver el problema seleccionaremos la opcin Solve and Analyze-> Solve Critical Path y
obtendremos la llamada ruta crtica es decir aquellas tareas cuya demora producira un aumento el la
duracin total del proyecto
donde la ruta crtica se ha obtenido a partir de los tiempos promedio y las desviaciones tpica a partir de las
siguientes expresiones:
t + 4t0 + t M
= m
6
(t t ) 2
2 = M m
36
Se observa que la duracin estimada del proyecto es de 23.83 das y que slo existe una ruta critica, formada
por las tareas B-D-G-H
Como sabemos, el modelo Pert nos permite realizar una prediccin de tipo probabilstico sobre el fin del
proyecto. Recordar que si la duracin promedio es de 23.83 esto nos indica que segn el modelo normal, la
probabilidad de que el proyecto est finalizado antes de ese instante es del 50%. As, supongamos que estamos
interesados en determinar la posibilidad de que el proyecto este finalizado en 25 das. Para ello,
seleccionaremos la opcin Solve and Analyze-> Perform Probability Analysis
51
tras lo cual introduciremos el instante de finalizacin deseado y el nmero de simulaciones que deseamos
realizar (en el primer cuadro nos pide la semilla para la generacin de nmeros aleatorios):
por ejemplo, si seguimos con una estimacin de 25 das, y generamos 1000 simulaciones, obtenemos que en el
79.9% de las simulaciones el proceso ha concluido.
52
Si seleccionamos la casilla Show Analysis obtenemos la tabla resumen de los resultados de la simulacin:
En dicho grfico se nos muestra el histograma de las frecuencias de finalizacin de las tareas as como la
curva de distribucin asociada al modelo normal. Las lneas verticales representan el instante de finalizacin
promedio (azul) y el deseado (rojo). En punto de corte de dicha recta con la curva de distribucin nos dar la
probabilidad de que el proyecto est finalizado antes de ese instante.
53