Está en la página 1de 243

ÍNDICE

Capítulo I GRÁFICAS
1

1.1 Conceptos Generales


1
1.2 Conceptos para Gráfica Orientada
2
1.3 Conceptos para Gráfica No Orientada 4

Capítulo II REDES DE TRANSPORTE 5

2.1 Definiciones
5
2.2 Teorema Del Mínimo Corte-Máximo Flujo
7
2.3 Algoritmo De Ford y Fulkerson 7
2.4 Problemas De Transporte
10
2.5 Algoritmo De Desviaciones
17
2.6 Problemas Resueltos
34

Capítulo III PROGRAMACIÓN POR EL CAMINO CRÍTICO 42

3.1 Definiciones
42
3.2 Construcción De La Red
42
3.3 Determinación De La Duración Del Programa
Y De Las Holguras De Las Actividades 44
3.4 Aspectos Probabilísticos Del Método 48
3.5 Asignación De Recursos (MAR)
51
3.6 Optimización De Programas
59
3.7 Problemas Resueltos
67

Capítulo IV MÉTODOS DE RAMIFICAR Y ACOTAR 84

4.1 Introducción
84
4.2 Definiciones
84
4.3 Problemas
85
4.4 Asignación De Recursos (Alg. Little)
100
4.5 Secuenciación
107

Capítulo V PROGRAMACIÓN DINÁMICA 134

5.1 Definiciones
134
5.2 Características De Los Problemas De
Programación Dinámica
134
5.3 Elementos Básicos De Programación
Dinámica
135
5.4 Problemas Resueltos
147

2
CAPÍTULO I

GRÁFICAS

1.1 CONCEPTOS GENERALES

Gráfica de orden n

Sea un cierto conjunto finito de puntos denominados vértices X ={X i}, i=1,
2, ..., n; y el conjunto A de segmentos dirigidos (Xi , Xj) llamados arcos, que unen
todos o algunos de los vértices tales que X i,Xj X. La pareja G= (X, A) constituye
una gráfica de orden n.

X3
U5
U1 U2
U4
X4
U3
X1

X2
X5

Fig. 1.1

En la figura 1.1 está representada la gráfica, cuyos vértices y arcos son:

X = { X1, X2, X3, X4, X5 }


A = {(X1, X1), (X3, X2), (X3, X4), (X3, X5), (X4, X5), (X5, X3)}

El número de vértices y de arcos son:

|X| = 5 |A|= 6

3
1.2 CONCEPTOS PARA GRÁFICA ORIENTADA

Extremos.-
Sea u A tal que u = (Xi ,Xj)
Xi: Extremo inicial o predecesor
Xj: Extremo final o sucesor

Arcos Adyacentes
Dos arcos son adyacentes si tienen un vértice común. Así, en la figura 1.1, los arcos
(X3, X4) y (X4 , X5) son adyacentes.

Vértices Adyacentes
Dos vértices son adyacentes si son diferentes y existe al menos un arco que va de
Xi a Xj o de Xj a Xi .

Arco Incidente a un Vértice


Un arco u es incidente al vértice X i si llega al vértice o sale del mismo. Si X i es el
extremo inicial del arco u, se dice que el arco es incidente hacia el exterior de X i
caso contrario se dice que es incidente hacia el interior de X i.

Arcos Incidentes a un Conjunto de Vértices


Sean YX pertenecientes a la gráfica G=(X,A). Se dice que u es incidente a Y
hacia el exterior si xi Y, xj Y.
El conjunto de arcos incidentes a Y hacia el exterior, se representa con W +(Y). Si Xi
Y y Xj Y, se dice que u es incidente hacia el interior y se representa con W -(Y).

Al conjunto W+(Y) U W-(Y), se le representa con W(Y) .Por ejemplo sea en la fig.
1.1 el conjunto Y = X2, X3, X5 entonces :

W+(Y) = { u5 } W-(Y) = { u6 }

W(Y) = W+(Y) U W-(Y) ={ u5 ,u6 }

Sub gráfica
Se denomina sub gráfica de G = (X, A), a aquella constituida por Y  X y por
arcos de A que unen vértices de Y. Por ejemplo, la fig. 1.2(b) es subgráfica de
1.2(a).

Gráfica Parcial

4
Se denomina gráfica parcial de G = (X, A) a la que está constituida por el conjunto
de vértices de X y por B  A. Ejemplo: La fig. 1.2(c) es una gráfica parcial de
1.2(a)

X
U U U X X
X U
4 U X c3 U
X 1 X4 1 4
1 4
5 1 U 7
1 3 X X
U U U X U X
3
2
v 3 7 5 2 v U
5
3
5

vX U
X
v X
U
6
2 2 6
(a 6 (b 2 (c
) ) )
Fig. 1.2

Camino
Se denomina camino a la secuencia de arcos u = ( u 1 ,u2,...,uk ), en el cual el
extremo final de cada arco coincide con el extremo inicial del arco que le sigue. En
la fig. 1.2 (a) se puede mencionar por ejemplo el camino:
( u3 ,u4 ,u5 ) , ( u2 ,u3 ,u7 )

Un camino puede representarse por los vértices del ejemplo anterior se tiene:
(x2, x3, x4, x5) , (x1, x2, x3, x5)

Un camino es simple si no utiliza más de una vez el mismo arco. Un camino es


elemental si no utiliza más de una vez el mismo vértice.
Longitud de un Camino
Es el número de arcos que contiene la secuencia y se representa por l(u). Si u =
(u2, u3, u7) , l(u) = 3.

Circuito
Es un camino finito N = (x1, x2, ..., xk) en el que el vértice inicial x1 es igual al
vértice final xk. Así, en la fig. 1.2(a), u = ( x2, x3, x5, x2 ) es un circuito.

Anillo
Es un circuito constituido por un solo vértice y un solo arco. En la fig. 1.2(a), u 1 =
(x1, x1) es un anillo.

1.3CONCEPTOS
1.3CONCEPTOS PARA GRÁFICA NO ORIENTADA
5
Los conceptos de arco, camino y circuito se sustituyen por los de arista, cadena y
ciclo.

Arista
Se denomina arista de una gráfica G, a un conjunto de vértices X i , Xj tales que Xi
Xj , (Xi , Xj) A y/o (Xj , Xi) A; es decir que es el segmento que une dos
vértices adyacentes. La gráfica de la fig. 1.3 tiene 5 arcos y 3 aristas.

X1 X3
X2

Fig. 1.3

Arcos = {(X1, X1), (X1, X3), (X2, X1), (X2, X3), (X3, X1)}
_____ ____ _____
Aristas = {(X1 ,X2) , (X1 ,X3), (X2 ,X3)}

Si en la constitución de una arista figura un solo arco dirigido, se dice que es una
arista simple, en caso contrario que es múltiple.

Cadena
Se dice cadena a una secuencia de aristas.
Ejemplo: v = (X1, X2, X3) es una cadena de la gráfica no orientada de la fig. 1.4

X 3
X 2

X 4
X 1

X 5

Fig. 1.4

6
Es de notar que cada arco de la fig. 1.4 tiene las dos orientaciones (X i, Xj) y (Xj ,
Xi).

Ciclo
Se denomina ciclo a la cadena finita en el que coinciden los vértices inicial y final.
De la fig. 1.4, v = (X1, X2, X3, X4, X5) constituye un ciclo.

7
CAPÍTULO II

REDES DE TRANSPORTE

2.1 DEFINICIONES

Red de Transporte
Se denomina red de transporte al grafo finito sin anillos donde se cumple que:

a) Cada arco u tiene asociado un número C(u)  0, llamado capacidad del arco.
b) Existe un solo vértice x0, tal que W-(X0) = 0, este vértice se llama fuente de la
red o salida de la red.
c) Existe un solo vértice xn tal que W+(Xn) = 0, este vértice se llama sumidero de
la red o salida de la red.

Flujo

Se dice que una función entera (u), definida sobre el conjunto A de los arcos, es
un flujo para una red de transporte si satisface las siguientes condiciones:

0 ≤ (u) ≤ C (u), u  A


 (u) =  (u)
u W-(Xi) , u  W+(Xi), Xi  X0

La función (u) puede considerarse como la cantidad de materia que fluye por el
arco u. Como la materia que entra es igual a la que sale entonces:

 (u) =  (u) = (Xn)


u  W+(X0), u  W (Xn)
-

La magnitud (Xn) se denomina magnitud del flujo de la red.

Arco Saturado
Se dice que un arco u A está saturado si se tiene  (ui) = C(ui)

8
Flujo Completo
Un flujo es completo si todo camino que va de la fuente al sumidero contiene al
menos un arco saturado.

La fig. 2.1 es un ejemplo de red de transporte donde:

- Las cifras ubicadas en las discontinuidades de los arcos, señalan sus


capacidades: [C(u)].
- Las flechas indican la dirección de los flujos.
- Las cifras ubicadas al final de las flechas indican las magnitudes de los
flujos: [(u)].
- Las cifras que se encuentran en el inicio de las flechas nos muestran la
diferencia entre la capacidad y la magnitud de flujo: [C(u) - (u)]

Obsérvese que los arcos (X0, X2) y (X1, X3), mostradas en la figura 2.1, están
saturados y que el flujo es completo dado que los caminos (X 0, X1, X3) y (X0, X2,
X3) tienen un arco saturado.

1 X1

2
3 ° 1 1

° X 3

X0
°2 2
2
4 2
Corte Y
2
°
X2
Fig. 2.1

Corte
Sea un conjunto Y  X de vértices que contienen el sumidero X n y no contienen la
fuente X0. El conjunto W-(Y) (incidentes hacia el interior de Y) se le denomina
corte de la red. Por ejemplo, si en la fig. 2.1 se tiene Y=(X 1, X3) entonces el corte
correspondiente a Y está dado por:

W-(Y) = { (X0, X1), (X2, X3) }

Capacidad de Corte

9
A la expresión:
C [W-(Y)] =  C(u)
u  W-(Y)

Se le llama capacidad de corte. Así en el ejemplo se tiene:


C [W-(Y)] = 3 + 4 = 7

2.2 TEOREMA DEL MÍNIMO CORTE - MÁXIMO FLUJO

Sea un flujo (Xn) y un corte W-(Y) se tendrá:


(Xn) ≤ C [ W-(Y)]
Luego, si existe un flujo (Xn) y un corte W-(Y0) tales que:
(Xn) = C [W-(Y0)]
Entonces el flujo (Xn) tiene un valor máximo y el corte W -(Y0) tiene una
capacidad mínima. Lo anterior origina el siguiente teorema:

TEOREMA:

En una red de transporte dado, el valor máximo de un flujo es igual a la capacidad


mínima de un corte, esto es:

Máx.  (Xn) = Mín. C [W-(Y)]

Dicho de otro modo, si se logra encontrar un flujo igual a la capacidad de un corte,


se estará seguro de que dicho flujo es máximo.

2.3 ALGORITMO DE FORD Y FULKERSON (FLUJO MÁXIMO)

Consiste en el aumento paulatino del flujo (Xn) hasta que éste llegue a ser
máximo.
La búsqueda del flujo máximo se realiza en dos etapas :

Búsqueda del flujo completo


Se determinan los caminos de X0 a Xn; luego se hace pasar un flujo por cada
camino el cual es igual a la menor capacidad del arco integrante del camino. La
suma de estos flujos parciales nos determina un flujo completo.
10
Búsqueda del flujo máximo
Sea (Xn) el flujo completo, a partir de allí se marca la red como sigue:

a) Se marca la fuente (X0) con (+) si el vértice X i está marcado y el Xj no lo está,


entonces:
- Marcar Xj con (+Xi) si existe el arco (Xi, Xj), no saturado
- Marcar Xj con (-Xi) si (Xi, Xj) con flujo mayor que cero.

b) Si con este procedimiento se marca el sumidero, entonces se considera la


cadena que pasa por los vértices marcados con (+) o (-).
El incremento en el flujo se determina de la manera siguiente:

∆ (x0) = Min.{[C(u)- (u)], para (Xi, Xj), o (u) para (Xj, Xi)}
Xi, Xj pertenecen a la cadena.

Luego se corrigen los flujos en la red, esto es, se aumenta el flujo a los arcos (X i,
Xj), y se disminuye en el sentido contrario, se repiten los pasos a y b hasta que no
sea posible etiquetar el último vértice. Si esto ocurre, el flujo hallado es el máximo
y el corte mínimo se deriva de separar los vértices etiquetados de los no
etiquetados.

Ejemplo: Determinar el flujo máximo de la red señalada en la fig. 2.2.

X1 X3
6

5
° 2
° 5

°X 5

X0
° 7 3
6

X2° 3
°X 4

Fig. 2.2

Búsqueda del flujo completo

11
1 = (X0, X1, X3, X5), (1) = 5, se saturan los arcos (X0, X1 ) y (X3, X5).

2 = (X0, X2, X4, X5),(2) = 3, se satura el arco (X2, X4 ).


( X5) = 8 (flujo completo)

Se puede observar en la fig. 2.3 que todos los caminos tienen al menos un arco
saturado.

X 1 1 5 X 3
5 6
° °
0
5 5
2 5
0
°X 5

°
3
X 0 6
4 7 3

3
X °
2
0
3
3 X
3
4

Fig. 2.3

Búsqueda del flujo máximo


La aplicación del paso(a) se muestra en la fig. 2.4

(-X3) (+X2)
X 1 1 5 X 3
5 6 0
5 ° 2
° 5
5
0
°X
3
5 ( +X4 )

(+) X 0
°
4 7 3 6

( +X0 )
3
X °
2
0
3
3
°X
3
4
( +X1 )

12
Fig. 2.4

Aplicando el paso (b) se tiene:


∆( X5) = mín [(7-3), (3-0), 5, (2-0), (6-3)] = 2

Luego se corrige la red y se aplica nuevamente el paso (b) fig. 2.5.

( - X3 ) ( +X2 )
X 1 1 3 X 3 CORTE
6 0
5 ° 0
2 °
2 5
5
0
°X 5

°
5
( +) X 0 6
2 7 3
1 2

X °
2
0
3
3
°X 4

Fig. 2.5

Como se observa en la fig. 2.5, no es posible etiquetar X 5 lo que nos indica que
estamos frente al flujo máximo. (X 5) = 10 y la capacidad del corte mínimo que es
también se obtiene sumando las capacidades de los arcos incidentes al interior de
los vértices (Y0) no etiquetados.

Y0 = [ X4, X5 ]

W-(Y0)= [ (X1,X4), (X2,X4), (X3,X5) ]

C [W-(Y0) ] = C(X1,X4) + C(X2,X4) + C(X3,X5) = 2 + 3 + 5 = 10

2.4 PROBLEMAS DE TRANSPORTE

13
A continuación se presenta ejemplos referentes a dos tipos de problemas de
transporte, los cuales son:

- Problema de transporte según el criterio de la capacidad.


- Problema de transporte según el criterio del tiempo.

Problema de transporte según el criterio de la capacidad.

Existen tres fábricas que producen 10,15 y 25 piezas de construcción y cuatro


consumidores (obras) en cantidades de 5, 10, 20 y 25 piezas.
(Cuadro2.1).
Por limitaciones de flota de vehículos, caminos de acceso, etc. la capacidad de
traslado de la fábrica a la obra se halla en el cuadro 2.2.

PRODUCCIÓN Y CONSUMO

X1 X2 X3 X4 X5 X6
FABRICA 10 15 25
OBRAS 5 10 20
Cuadro 2.1 d
CAPACIDAD DE TRANSPORTE

DESTI NO X4 X5 X6 X7
ORI GEN

X1 8 3 5 2

X2 4 1 6 7

X3 1 9 4 3
|
Cuadro 2.2

Se pide determinar el máximo número de piezas que se pueden enviar a las obras.
14
Solución
El problema se puede representar gráficamente de la manera siguiente
(Fig. 2.6):

X 4

°
X 1

°
8
3 X 5

°
0 5
2 5
10
10
X 2
4
1
I X8
X
° °
0 15
6
7 20

25
X 6 15
1
X 3 9
4 °
° 3

X 7

Fig. 2.6 °
Para aplicar el algoritmo se asume la existencia de una fuente (vértice X 0) y un
sumidero (vértice X8).
Los resultados que se extraen de la fig. 2.11 se resumen en el cuadro 2.3.

15
( +X2 )
X 4

°
5

( X4 )
X1 3
°
8
10 3 3 X 5

°
5
5
2 1
10 6 10 5 ( +X4 )
( +X0 ) X 4 10
2
I X8
° °
1
X 0 15
14 6
12
7 20 10
25 6 2 X 6 15
1
13 X 3 9
4 °
°
4 ( +X1 )
3

7
X 7

°
3 5

Fig. 2.7

( +X3 )
X4

°
4
1
( -X4 )
X1 4

°
8
10 3 3 X5

°
5
2 1 5
10
6 10 5 ( +X7 )
15 X2 4 10
+X 0 1
I X8
° °
15 13
6
7 20
12 6 3 10
25 X6 15
1
13 X3 9
4
° 7

°
4
3
( +X0 )
7
X7
3 5
( +X1 )

Fig. 2.8

16
X4

°
3
1 1
( -X5 )
X1
°
8
10 3 3 X5

°
5
2 1 5
10
( +X3 )
6 10 5 ( +X6 )
15 X2 4 10
I X8
° °
1
+X 0 15
6 13
7 20
11 6 3 11
25 X6 15

°
1
14 X3 9
4 ( +X1)
7

°
4
3
( +X0 )
7 1
X7
4
°
3
Fig. 2. 9

X 4

°
3
1
1
( - X5 )
X1 4
°
8
10 3 3 X 5

°
5
2 1 5
10
( +X3 )
6 10 5 ( +X6 )
15 X 2
4 10
+X 1
I X8
° °
0 15 13
6
7 20
11 11
25
6 3 X 6 15
1
14 X 3 9
4 4 ( +X1 ) ° 7

°
( +X0 )
3

7 1
X 7
4
3
°
Fig. 2.10

17
X 4

°
3
1
1

X 1 5

°
8
10 2 3 X 5

°
5
5
10 2 1
9 10 5
X 2
4 10
X0 I X8
° °
15 1
6 15
20
( +) 8 7
6 5 X 12
25 6 15

°
1
17 X 5
3 9
4

°
4
3
( +X0 )
7 2
X 7
3
°
Fig. 2.11

Y0 = [X1, X2, X4, X5, X6, X7, X8]

W-(Y0) = [(X0, X1), (X0, X2), (X3,X4), (X3, X5), (X3, X6), (X3, X7)]

[W-(Y0)] = C(X0, X1) + C(X0, X2) + C(X3, X4) + C(X3, X5) + C(X3, X6) +
C(X3, X7)

= 10 + 15 + 1 + 9 + 4 + 3 = 42

Respuesta: El máximo número de piezas que pueden enviarse a las obras es como
sigue:

N° DE
OBRA
PIEZAS
X4 5
X5 10
X6 15
X7 12
TOTAL 42
18
NUMERO DE PIEZAS ENTREGADAS A LA OBRA

DESTI NO X4 X5 X6 X7
ORI GEN
X1 3 0 5 2
X2 1 1 6 7
X3 1 9 4 3
TOTAL 5 10 15 12

Problema de transporte según el criterio del tiempo

Sobre la base del problema anterior, consideraremos ahora que, en lugar de


capacidad de transporte (Cuadro 2.2) se ha de considerar como costo de transporte.
Por consiguiente se pide hallar las rutas más económicas.
La asignación en la figura 2.12 se efectúa considerando los costos de menor a
mayor.
X 4

°
5
X1 5

° 2 3
8
X 5

°
5
2 10 5
10
X2 4 10 10 5
X0 I X8
° °
1
15 20
6
5 7 20
15
25
5 X 6
1 15
X3
°
15
9 5
4
° 3
10
X 7

Fig. 2.12
5
°
19
TIEMPO DE TRANSPORTE

DESTINO X4 X5 X6 X7
ORIGEN

X1 8 3 5 2

X2 4 1 6 7

X3 1 9 4 3
|

Como se observa en la figura 2.12, se han trasladado las piezas a los consumidores
usando los arcos que consignan el menor tiempo de transporte.

El tiempo necesario para trasladar todas las cargas de X 0 a X8 va a determinarse


por el camino que tiene la mayor duración de paso de flujo. En la figura 2.13 se
observa que el mayor tiempo es de 6 unidades (arco X 2, X6) por consiguientes se
eliminan los arcos iguales o mayores de 6 unidades de tiempo y se reordena el flujo
(Fig. 2.13 y Fig. 2.14).

( +X2 )
X4
°
5
X1
° 3 X5

°
5
2 10 5
10
10 5 ( +X6 )
X0 10 X2 4 10
I X8
° °
1
15 15
( +X0 ) X6 20
15
25 1 15
X3
°
15
( +X3 )
°
4
3
( - X4
10
5
X7

Fig. 2.13
°
20
( +X2 )
X4

°
5
X1
° 3 X5

°
5
2 10 5
10
10
X0 10 X2 4
1
I X8
° °
15
20
25 X6
1 15

°
X3 20
4

° 3

10
5
X7
Fig. 2.14 °
El tiempo de transporte obtenido tal como se muestra en la fig. 2.14 es de 4
unidades, allí también se observa que no es posible continuar reduciéndolo ya que
el punto x6 (centro de consumo) quedaría desconectado de las fábricas.

2.5 ALGORITMO DE DESVIACIONES

Este algoritmo resuelve el problema de flujo con costo mínimo de una red.
La red debe ser circulatoria, es decir cualquier punto de la red pertenece a un
circuito por lo que se asume que flujo circula continuamente a través de la red.
Los elementos que conducen a la obtención del algoritmo son la formulación
primal, la formulación dual y el teorema de holgura complementaria.
Para poder expresar en forma general lo que son el primal y dual de este problema,
partiremos del siguiente ejemplo:
Minimizar el costo total del flujo que pasa por el camino S, L,T.
Puesto que el flujo debe ser circulatorio se crea el arco (T, S).

21
S L T

Fig. 2. 15

Cada arco (i, j) de la red debe tener la siguiente información:

Lij = Capacidad mínima

Uij = Capacidad máxima

Cij = Costo unitario de transporte

Xij = flujo

La formulación es como sigue:

PRIMAL
min Z = C SLXSL + CLT XLT + CTSXTS

sa :
Flujo que entra a un nodo = Flujo que sale del nodo

Variable dual
XSL - XTS =0 (WS)

-XSL + XLT =0 (WL)

22
- XLT + XTS =0 (WT)

Flujo en un arco ≥ Capacidad mínima del arco


XST ≥ LSL (VSL)

XLT ≥ LLT (VLT)

XTS ≥ LTS (VTS)

Flujo en un arco ≤ Capacidad máxima o


-(Flujo en un arco) ≥ -(Capacidad máxima)

-XSL ≥ -USL (hSL)

-XLT ≥ -ULT (hLT)

-XTS ≥ -UTS (hTS)

DUAL

Max G = LSLVSL + LLTVLT + LTSVTS - USLhSL - ULThLT - UTShTS

Sa : VD

WS - WL + VSL - hSL ≤ CSL XSL

WL - WT + VLT - hLT ≤ CLT XLT

-WS + WT + VTS - hTS ≤ CTS XTS

WS, WL, WT no restringidas.

VSL, VLT, VTS, hSL, hLT, hTS ≥ 0


Forma general de la formulación del problema.

PRIMAL

m m
23
mín Z =  Ci jXij
i=1 j=1

Sa:

m m
 Xi,j -  X k,j = 0 (Wi)
j=1 k=1

i = 1, ..., m

Xi j ≥ Li j (Vij) i,j = 1...m

-Xi j ≥ -Ui j (hij) i,j = 1...m

DUAL
m m
máx G =  (Lij Vij - Uijhij )
i=1 j=1

Sa: VD
Wi - Wj + Vij - hij = Cij Xij
i, j = 1,......,m

hi j, Vi j ≥ 0 i, j = 1...m

Wi no restringida i = 1...m

La diferencia Wi - Wj de la restricción del dual equivalen a las diferencias de las


correspondientes variables duales del problema ejemplo.
El teorema de holgura complementaria señala que si en las soluciones óptimas del
primal y dual, la holgura de una restricción es positiva entonces la correspondiente
variable dual es igual a cero o si la variable dual es positiva la holgura
correspondiente es cero.
Aplicando el teorema de la holgura complementaria a la forma general de la
formulación se tiene:

24
(Xij - Lij)Vij = 0 ;
Si Vij >0 entonces Xij = Lij

(Uij - X ij)hij = 0 ;
Si hij >0 entonces Xij = Uij

(Wi - W j + Vij - hij - Cij)Xij = 0;


Si Xij > 0 entonces: hij - Vij = Wi -W j -Cij

Como Xij no tiene al mismo tiempo los niveles Lij y Uij a menos que
Lij = Uij

Si: hij >0 entonces Vij = 0

Vij>0 entonces hij = 0

hij = Vij = 0 entonces Lij ≤ Xij ≤ Uij

De hij - Vij = Wi - Wj - Cij si se define a

Zij = Wi - Wj, entonces:

hij - Vij = Zij - Cij

RESUMEN :

Zi j - Ci j < 0  Vi j > 0  Xi j = Li j

Zi j - Ci j > 0  hi j > 0  Xi j = Ui j

Zi j - Ci j = 0  hi j = Vi j = 0  Li j ≤ Xi j ≤ Ui j

Fig. 2.16

Cualquier flujo que satisface a la fig.2.16 es óptimo, entonces el problema consiste


en buscar valores para W i, Wj y Xij para llegar al óptimo, esta labor se realiza con
cada uno de los arcos de una red dada.
25
La información para cada arco usualmente se señala así:

Fig. 2.17

os valores iniciales de las variables duales y el flujo Xij, son señalados


arbitrariamente, luego de este procedimiento se evalúa cada arco con respecto a la
información de la fig. 2.18, la que ha sido elaborada basándose en el resumen (fig.
2.16)
La información que no se ajuste al resumen se le denomina no conformable, en
caso contrario es un arco conformable.

ESTADOS CONFORMABLES Y NO CONFORMABLES

Zij-Cij<0 Zij-Cij=0 Zij-Cij>0

Xij Uij No Conf. No Conf. No Conf.


Xij = Uij “ Conform. Conform.
lij<Xij<Uij “ “ No Conf.
Xij = lij Conform. “ “
Xij < lij No Conf. No Conf. “

Fig. 2.18

Existen dos formas para cambiar los estados conformables:


- Cambio de flujo (fase primal)
- Cambio de los valores de las variables duales Wi (fase dual)
26
FASE PRIMAL

El objetivo de esta fase es incrementar el flujo de la red siempre que exista un


circuito en la red parcial G’

Pasos:

a) Construir una red G’ que contenga:


-Todos los vértices de la red original y
-Todos los arcos que cambian de flujo
b) Los cambios de flujo permitidos según lo señalado en la fig. 3, debe estar
indicados en los arcos correspondientes a G’.
c) Los arcos de la red original G con :

Lij <= Xij <= Uij y Zij - Cij = 0 ,

producirán dos arcos(i,j)y (j,i) con cambios de flujo señalados en la fig.2.19

d) Se selecciona un circuito en G’ que contenga al menos un arco no conformable


(p,q).
e) Se calcula el máximo flujo del circuito de G’
f) Se traslada la información de (e) a la red G
g) Si no existe ningún circuito en G’ se debe pasar a la fase dual

CAMBIOS EN LOS FLUJOS PARA ALCANZAR UN ESTADO


CONFORMABLE

27
Fig. 2.19

FASE DUAL

Cuando no exista ningún circuito en G’, el camino a seguir, en esta fase, conduce a
aumentar el número de arcos en G’ con la finalidad de formar circuitos, para lo cual
se deberá cambiar los Zi j-Ci j modificando los valores de W de los arcos
pertenecientes al conjunto X en una cantidad >0.

Sea :
(p,q) = Arco no conformable
N = Número total de nodos de la red
X = Conjunto de nodos en G’ que se puede alcanzar desde q a lo
largo de un camino en G’.
_
X = N-X
_ _
Si se logra ingresar a G’, arco de los conjuntos (X,X) y/o (X,X), modificando los
valores de Zij - Cij, se estará en el camino de formar circuitos en G’.
_
Cambios en (X,X)
_
Si iX y jX se obtiene :

(Zij - Cij)’ = (Wi +  ) - Wj - Cij


= (Zij - Cij) + 
_
Cambios en (X,X)

28
_
Si iX y jX se obtiene :

(Zij - Cij)’ = Wj - (Wj +  ) - Cij

= (Zij - Cij) - 
_
En la determinación de  para el conjunto de arcos (X, X) se debe examinar la fig.
2.20, aquí es necesario destacar que los arcos con:

Xi j< Li j y Zi j - Ci j < 0
_
no pertenecen a (X,X) pues tal arco en G vendría a ser un arco en G’, con el
resultado de que si i puede ser alcanzado desde (q) entonces j también y ambos
vértices pertenecen a X.

29
_
POSIBLES ESTADOS CONFORMABLES PARA ARCOS DE X A X EN G Y
LÍMITES SOBRE 

Z ij -C ij <0 Z ij -C ij =0 Z ij -C ij >0
X ij  U ij

X ij = U   
ij
  
l ij <X ij <U ij 

X ij = l  
ij

X ij < l ij  

Fig. 2.20
_
El conjunto de arcos Si (X,X) que pueden cambiar el valor de Zij-Cij tienen las
siguientes características
_
S1 = { (i,j) : i  X, j  X, Zij- Cij <0, Xij ≤ Uij}
_
Un análisis similar de la fig. 5 nos dará el conjunto de arcos, S2  (X,X) que deben
cambiar los valores de Zij-Cij

30
_
POSIBLES ESTADOS CONFORMABLES PARA ARCOS DE X A X EN G Y
LIMITES SOBRE 

Z ij -C ij <0 Z ij -C ij =0 Z ij -C ij >0
X ij ³ U ij

X ij = U ij
  Z ij -C i

l ij <X ij <U ij
  Z ij -C i

X ij = l ij   

X ij < l ij   

Fig. 2.21
_
S2 = { (i,j) : i  X, j X, Zi j-Cij>0, Xij>=Lij }

1 = mínimo { |Zi j-Ci j| }


(i,j)  S1

1 = mínimo { |Zi j-Ci j| }


(i,j)  S2

 = mínimo ( 1, 2 )

en donde i =  si Si es vacío. Asímismo  es un entero positivo o 

Caso 1: 0 <  < 


En este caso se hacen los cambios apropiados en :
31
Wi ( Wi’= Wi +  si iX y Wi’= W si iX )
y se pasa a la fase primal del algoritmo.

Caso 2:  = 
En este caso el problema no tiene solución factible

EJEMPLO DE APLICACION DEL ALGORITMO DE DESVIACIONES:

Se pide calcular el flujo máximo a costo mínimo desde el origen O al vértice 5 de


la siguiente red.

Fig. 2.22

Para la solución inicial se asume que los valores de las variables duales y el flujo
de los arcos son iguales a cero, además para hacer circulatorio el flujo en la red se
adiciona el arco (5,0) con las características para alcanzar el objetivo del problema.

L50 = mín { L01 + L02 , L35 + L45} = 0


U50= mín { U01 + U02 , U35 + U45} =2
C50 = - M

El costo negativo muy grande del arco (5,0), es como se sabe, un beneficio que
sirve para hacer que el flujo por (5,0) sea 2 y con ello (5,0) sea conformable.

32
W=0
1

1 ( 0 ,1
,1)
W=0 (0,1 =0 W=0 X = , 2) W=0 W
0 X 01 2 13 0 3
(0,1,1) (0,1,2) (0,1,1)
0 X02=0 2 X23=0 3 X35=0 5
(0,1
,2)
X ,2) W=0 (0,1 =0
24 =0 4
X 45
4
(0,2,-M)
X50=0

Fig. 2.23

En adelante los valores de (Zi j - Ci j , Xi j) y Wi se indicarán en la red tal como


sigue:

Fig. 2.24

Z01 - C01 = W0 - W1 - C01 = -1

33
La gráfica G’ (fig. 2.25) muestra el único arco no conformable (5,0) y a
continuación los cálculos para obtener.

GRAFICA G’

Fig. 2.25

De la fig. 2.25:

(p,q) = (5,0)

X= { 0 }
_
X= { 1,2,3,4,5 }

34
De la fig. 2.24 :

S1= { (0,1) , (0,2) }

1= mín { |-1 | , |-1 | }

S2 = { (5,0) }

2 = | M |

= mín (1 ,2 )

=1

El valor de  se incrementa a la variable dual correspondiente al vértice 0 que es el


único elemento de X.
Los cambios se registran en G (fig. 2.26).

35
0

(0,0) 1 (-2,0)
1 0 0 0
(0,0) (-2,0) (-1,0)
0 2 3 5

(-2,0)
0 G
(-2,0)
(M-1,0)
4

1
1
1
0 2 3 5
G'
2
4

Fig. 2.26

Como el Zi j- Ci j de los arcos (0,1) y (0,2) de G (fig. 2.26) es cero, entonces el


flujo Xi j puede incrementarse hasta alcanzar el máximo valor Ui j y continuar
siendo conformable, estos incrementos se registran en G’ (fig. 2.26)

De G’ (fig. 2.26) se tiene:

(p,q) = (5,0)

X = {0, 1,2}
_
X= {3, 4,5}

36
De G ( fig. e) se tiene:

S1 = { (1,3), (2,3), (2,4) }

1 = mín { |-2|, |-2|, |-2| }

S2 = { (5,0) }

2 = | M - 1 |

=2

El incremento  se registra en las variables duales correspondientes al conjunto de


vértices X (gráfica G, fig. 2.27)

(0,0) 1 (0,0)
3 2 0 0
(0,0) (0,0) (-1,0)
0 2 3 5

(0,0)
0 G
(-2,0)
(M-3,0)
4

1
1 1
1 1
0 2 3 5
1 1
G'
2
4

Fig. 2.27

37
Como se observa en G’ (fig. 2.27) aún no se tiene un circuito por consiguiente se
continua con la fase dual.

De G’ (fig. 2.28) se tiene:

(p,q)= (5,0)

X= { 0,1,2,3,4 }
_
X= { 5 }

De G ( fig. 2.27) se tiene:

S1 = { (3,5), (4,5), (2,4) }

1 = mín { |-1|, |-2|}

S2 = { (5,0) }

2 = | M - 3 |

 = 1

Los cambios se registran en G (fig. 2.28)

38
3

(0,0) 1 (0,0)
4 3 1 0
(0,0) (0,1) (0,0)
0 2 3 5

(0,0)
1 G
(-1,0)
(M-4,0)
4

1
1 1
1 1 1
0 2 3 5
1
G'
2
4

Fig. 2.28

En G’ (fig. 2.28) existen dos circuitos los que indica que se puede incrementar el
flujo.

Tomando el circuito (0,2,3,5,0), se observa que el incremento en el flujo es igual a


1 (G, fig. 2.29)

39
3

(0,0) 1 (0,0)
4 3 1 0
(0,1) (0,1) (0,1)
0 2 3 5

(0,0)
1 G
(-1,0)
(M-4,1)
4

1
1 1
1 1 1
0 2 3 5
1 1
G'
1
4

Fig. 2.29

Los arcos (0,2), (2,3) y (3,5) de G (fig. 2.29) pueden disminuir el flujo hasta L ij y
continúan siendo conformables, tal hecho se señala en G’.

(p,q) = (5,0)

X= { 0,1,3,2,4 }
_
X= { 5 }

De G ( fig. 2.29) se tiene:

S1 = { (4,5) }

1 = 1
40
S2 = { (5,0) }

2 = M - 4

= 1

Los cambios se registran en G (fig. 2.30)

(0,0) 1 (0,0)
5 4 2 1
(0,1) (0,1) (1,1)
0 2 3 5

(0,0)
2 G
(0,0)
(M-5,1)
4

1
1 1
1 1 1
0 2 3 5
1 1
G'
1
4

Fig. 2.30

41
En G’ (fig. 2.30) se observa que el flujo puede incrementarse en la unidad a través
del circuito (0,1,3,2,4,5,0).
En la fig. 2.31 se señala el incremento según la orientación de G’ (fig. 2.30)

Fig. 2.31

Finalmente se tiene que todos los arcos de la fig. 2.31 son conformables.

El costo total es 9 unidades

ARCO COSTO FLUJO COSTO DEL


UNIT. FLUJO

(0,1) 1 1 1
(0,2) 1 1 1
(1,3) 2 1 2
(2,3) 2 0 0
(2,4) 2 1 2
(3,5) 1 1 1
(4,5) 2 1 2

COSTO TOTAL

42
2.6 PROBLEMAS RESUELTOS

1. La matriz que se muestra indica el número de trabajos que se pueden hacer en


una fábrica. Si cada máquina puede ejecutar sola-mente dos trabajos. ¿Cuál es el
máximo número de trabajos que se pueden procesar al mismo tiempo en la fábrica?

A = TORNO
B = FRESADORA
C = TALADRO
D = SOLDADURA

¦ MAQUINAS
¦
Trab. ¦TORNO FRESADORA TALADRO SOLDADURA
--------+-------------------------------------
1 ¦ • •
2 ¦ • • •
3 ¦ • • •
4 ¦ • •
5 ¦ • •
6 ¦ • •
7 ¦ •
8 ¦ • • • •
9 ¦ • • •
10 ¦ • •
11 ¦ • •
12 ¦ • •
¦

Y = {F}
W-(Y) = {(A,F), (B,F), (C,F), (D,F)}
C[W-(Y)] = C(A,F) + C(B,F) + C(C,F) + C(D,F)
=8

43
(+A)
1
(-A)
2 (+A)

(-B) A
3
(-D)
4
(-B)
(+9)
5
(-C)
B 2

+ I 6
(+A)
7 2

(+1) (+10)

8 C
(-C) 2
9
(+1)

10
(+2)
(-D)

11 D
(+1)

12

ASIGNACIÓN

TRABAJOS
MAQUINAS 1 2 3 4 5 6 7 8 9 10 11 12
TORNO * *
FRESADORA * *
TALADRO * *
SOLDADURA * *

44
Si se parte de un flujo completo diferente, es posible encontrar otras alternativas de
asignación.

2. Considérese el proceso de producción que se muestra, el cual indica las


diferentes rutas que puede seguir un proceso en una planta, en su camino al
ensamblado. El número en cada círculo representa el límite superior de los
artículos por hora que se puede procesar en cada estación.
¿Cuál es el máximo de partes por hora que puede procesar la planta?

Solución:
Se asume que cada círculo representa un arco (Ui) con capacidad [C(Ui)] y las
conexiones entre estos son arcos que tienen, cada uno, una capacidad muy grande
(M unidades); asimismo, por comodidad, se asume la existencia de dos arcos como
inicio y fin de la red con espacidad de M unidades cada uno.

45
Las líneas a trazos significa que el arco está saturado y sólo es posible etiquetar el
extremo inicial del arco U1, en consecuencia, 10 es el máximo número de partes
por hora que puede procesar la planta.

3. Suponga que la compañía «PERU S.A.» tiene un programa anual de envase. Los
envases los compra de dos fábricas: A y B. La fábrica A, con capacidad de
producción máxima de 10 millones de envases al año y la fábrica B, con una
capacidad de producción mínima de 7 millones de envases al año. El excedente de
la fábrica A puede transferirse a la planta B. La disponibilidad de transporte entre
las dos fábricas permite un máximo de 8 millones de envases al año. La compañía
PERU S.A. cuenta con 3 almacenes: P, Q y R. La siguiente matriz proporciona la
capacidad máxima anual de transporte de las fábricas a los almacenes.

(En millones de envases por año)

Destino
Orígen P Q R

A 2 3 3
46
B 8 4 -

El excedente de P y R puede transferirse a Q. La capacidad máxima anual de


transporte es de 3 y 4 millones de envase respectivamente. Una vez en los
almacenes, los envases se entregan a los usuarios de la región. La capacidad
máxima anual de entrega del almacén P es de 4 millones, 7 millones en el almacén
Q y 5 millones de envases en el almacén R. ¿Cuál es el flujo máximo anual de
envases que puede circular en este sistema?

Solución:

(+A)

1
0

3
P
2
(+1) 1

7
A 0
3
3 4

10 6
3
3 (+P) 4
3
0 7 7
+ I 8 4 Q
8 3

5 4
7
7 8 3
4
B 3
2
(-P)
R

Y = {R,F}
W(Y) = {(A,R), (P,F), (Q,F)}
C[W(Y)] = {C(A,R) + C(P,F) + C(Q,F)
= 14

47
4. La Compañía Nacional de Cerveza S.A. posee 3 plantas productoras, con
capacidad de producción semanal de 20, 30 y 15 mil cajas las cuales deben ser
remitidas a 5 centros de almacenamiento y distribución. La capacidad de entrega de
los centros a los intermediarios de venta es de 10,10,15,25 y 5 mil cajas semanales.
Las capacidades de transporte de las fábricas hacia los almacenes se muestran el el
siguiente cuadro:

A1 A2 A3 A4 A5
F1 6 4 8 8 -
F2 6 6 6 8 6
F3 - 4 3 7 3

Calcular el flujo máximo que atraviesa la red.

Solución:

48
(+F1)
4
6
A1
6

(+A3) 2 (+F1) 10
4
20
F1 8 6 A2
4
20 8
0 6 (+F3) 10 10
(+A3) 6 6 8
30 30 6 6 0 15 15
I F2 8 1 A3 23 F
2 8 3 5
25
15 2 8
2 8
13 2
0 7 7
F3 A4 5
2
(+1) 3
4
1 0
A5
(+F3)

Y = {A4, F}
W(Y) = { (F1,A4), (F2,A4), (F3,A4), (A1,F), (A2,F), (A3,F), (A5,F)}
C[W(Y)] = 63 (miles de cajas)

5. La Compañía XYZ posee como parte de sus activos fijos 4 maquinarias que
pueden producir un determinado artículo de consumo duradero. Para ello antes de
que éste salga para su distribución y venta deben pasar por centros de control de
calidad para la verificación de su estado.
Posteriormente una vez que el artículo a pasado el control de calidad éste llega al
almacén, que a la vez sirve de centro de distribución de donde es entregado a los
centros de los consumidores finales. Se posee la siguiente información:

49
Producc.mensual Capacidad de transporte
por cada máquina de las máq. a los centros
de control de calidad
¦M1 M2 M3 M4 ¦M1 M2 M3 M4
---+---------------- ----+----------------
Q O 20 15 15 12 C1¦12 8 9 7
¦ C2¦11 9 10 7

Capacidad de traslado de los centros


de Control de Calidad a los almacenes
¦ A1 A2 A3 A4 A5
----+-------------------------------
C1 ¦ 8 12 15 7 --
C2 ¦ -- 9 11 8 5
¦
Capacidad de distribución de los
almacenes de los consumidores finales.

A1 A2 A3 A4 A5
------------------------------------
7 14 22 12 8

Se pide optimizar la secuencia.

50
(-C1) (+C1)

20 7
M1 A1
12
8
(+M1)
12 1 (+C1)
(-C1) 7
20 8 7 12 5
C1 A2
15 M2 7 15
9
14
4 3
15
9 7 15 14 7
(-C1)
22 22
QC 15
15
2
9
7
A3 E
12
2 M3 2 7 11 5
7 8 (+C2) 12
10
12 8 4
4
8 8
10 3
6
C2 A4 8
7
1 5
M4 (+M2) (+C1)
5 3
(+QC)
A5

Y = {A5 ,C}
-
W (Y) = {(C2,A5), (A1,C), (A2,C), (A3,C), (A4,C)}
C[W-(Y)] = 60

La secuencia óptima se muestra en el gráfico.

6. La Producción mensual de aceite es como sigue:

FAB TM
F1 20,000
F2 10,000
F3 15,000

Esta producción debe trasladarse a los almacenes en las siguientes cantidades:

51
ALMACENES TM
A1 15,000
A2 15,000
A3 22,000

De los almacenes se distribuye a los centros de consumo siguientes:

CENTRO TM
C1 28,000
C2 22,000

Las capacidades de transporte son (miles de TM):

DESTINO DESTINO
¦ ¦ ¦ ¦ ¦
ORIG. ¦A1 ¦ A2 ¦ A3 ORIG.¦ C1 ¦ C2
------+---+----+---- -----+------+------
F1 ¦ 8 ¦ 10 ¦12 A1 ¦ 20 ¦ --
F2 ¦10 ¦ -- ¦ 5 A2 ¦ 12 ¦ 12
F3 ¦15 ¦ 8 ¦ 8 A3 ¦ 10 ¦ 15

Determine la máxima cantidad de aceite recibido en C1 y C2 .

52
(+F3) (-C1)
(-I1)
1 15 15
8 I1 A1 20
20
F1 7
10
12 7
15

8 C1 28
10
20 (-I1) (+F3) 12 5 28
10
10 10 2 2 15 15
+ X0 F2 I2 A2 X1
3 12 22
5 (-C1) 22
7
25 15
8 9 10
C2
20 3
8 8 2 22 20 15 15
F3 I3 A3

(+X0) (+F1) (+I3)

Y = {X1}
W-(Y) = {(C, X1), (C2, X1)}
C[W-(Y)] = 50

La máxima cantidad de aceite recibida es de 28 y 22 mil TM en los centros C1 y


C2 respectivamente.

PROBLEMAS DE FLUJO MAXIMO A COSTO MINIMO

1. Cada hora un promedio de 900 automóviles entra en la red de la


figura en el nodo 1, y buscan viajar al nodo 6. El tiempo que tarda un
automóvil en recorrer cada arco se muestra en la tabla. En la figura, el
número de cada flecha indica el número máximo de automóviles que
pasan por cualquier punto en el arco durante un periodo de una hora.
Formule un FMOCM que minimice el tiempo total requerido para que
los automóviles viajen del nodo 1 al nodo 6.

53
Tabla Figura

Formulación del Problema:


ARCO TIEMPO(min)
(1,2) 10
(1,3) 50
(2,5) 70
(2,4) 30
(5,6) 30
(4,5) 30
(4,6) 60
(3,5) 60
(3,4) 10

54
55
Solución del Storm:

Desde Hasta Flujo


* 1 900
1 2 700
1 3 200
2 4 600
2 5 100
3 4 200
3 5 0
4 5 500
4 6 300
5 6 600
6 * 900

Shipping Cost : -9000000


Total Cost: - 8905000
Costo Real: 94000

2. Durante los próximos dos meses, “Makina” debe satisfacer(a tiempo)


las demandas de tres tipos de productos, mostradas en la tabla
siguiente:

Mes Producto 1 Producto 2 Producto 3


1 50 70 80 unidades
unidades unidades
2 60 90 120
unidades unidades unidades

Hay dos máquinas para producir estos productos. La máquina 1 sólo


puede producir los productos 1 y 2 y la maquina 2 puede producir los
productos 2 y 3. Se puede utilizar cada maquina durante 40 horas
mensuales. La siguiente tabla muestra el tiempo requerido para
producir una unidad de cada producto (independiente del tipo de
maquina); el costo de producción de 1 unidad de cada producto en

56
cada tipo de maquina; y el costo de mantener 1 unidad de cada
producto en el inventario por un mes.

Product Tiempo de Costo de Producción Costo de


o producción Maquina ($) Maquina inventari
1 (minutos)
30 1
40 2 o
15
2 20 45 60 10
3 15 55 5

Formule un MCNFP que sirva para minimizar el costo total para todas
las demandas a tiempo.

Formulación del Problema:

57
58
Solución del Storm:

Desde Hasta Flujo


* 0 9500
0 1 2400
0 2 2300
0 3 2400
0 4 2400
1 5 1500
2 6 500
2 7 1200
2 10 600
3 8 1800
3 9 600
4 9 1200
4 10 1200
5 11 1500
6 11 1400
7 11 1200
8 11 1800
9 11 1800
10 11 1800
11 * 9500

Shipping Cost: -158333.33


Total Cost: -134258.33

Costo Real: 24075

3. Un gerente del área de sistemas va a realizar una serie de proyectos


en determinados plazos, por lo que necesita algunos requerimientos.
Los datos de los plazos y requerimientos se dan en la siguiente tabla:

59
Proyecto Plazo Requerimiento
(meses-hombre)
1 3 meses 8 m-h
2 4 meses 10 m-h
3 2 meses 12 m-h

Además se tienen que tomar las siguientes consideraciones:

En cada mes se dispone de 8 personas.


No más de 6 personas pueden trabajar en un proyecto en 1 mes.

Formulación del Problema:

(Distribución de los trabajadores)


No hay costo, sólo se busca el flujo máximo.

Solución del Storm:

60
Desde Hasta Flujo
* 0 30
0 1 8
0 2 8
0 3 8
0 4 6
1 5 2
1 7 6
2 6 2
2 7 6
3 5 6
3 6 2
4 6 6
5 8 8
6 8 10
7 8 12
8 * 30

Shipping Cost: -300000


Total Cost: -30000

Costo Real: 270000

4. Fordco produce automóviles en Detroit y en Dallas. La fábrica en


Detroit puede producir hasta 6500 automóviles, y la fábrica en Dallas
puede producir hasta 6000 automóviles. Cuesta $2000 producir un
automóvil en Detroit y $1800 producir un automóvil en Dallas. Hay
que enviar los automóviles hacia tres ciudades. La ciudad 1 debe
recibir 5000 automóviles; la ciudad 2, 4000; y la cuidad 3, 3000. En la
siguiente tabla se da el costo por enviar un automóvil de cada fábrica
hacia cada ciudad.

HACIA
DESDE Ciudad 1 Ciudad 2 Ciudad 3
(dólares) (dólares) (dólares)
Detroit 500 600 300
Dallas 500 200 200

61
Formulación del Problema:

Solución del Storm:

Desde Hasta Flujo


* 1 6000
* 2 6000
1 3 5000
1 4 0
1 5 1000
2 3 0
2 4 4000
2 5 2000
3 6 5000
4 6 4000
5 6 3000
6 * 12000

Total Cost: -1173200000


5. Una universidad tiene 3 profesores que enseñan cada uno, cuatro
cursos al año. Cada año hay que ofrecer 4 secciones de Mercadotecnia,

62
Finanzas y producción. Se debe ofrecer por lo menos una sección de
cada curso durante cada semestre (otoño y primavera). En la siguiente
tabla se dan las preferencias de horario de cada profesor y las
preferencias con respecto a sus cursos.

PROFESOR 1 PROFESOR 2 PROFESOR 3


Preferencia para la
3 5 4
primavera
Preferencia para el
4 3 4
otoño
Mercadotecnia 6 4 5
Finanzas 5 6 4
Producción 4 5 6

La satisfacción total que obtiene un profesor al enseñar un curso es la


suma de la satisfacción del curso. Así, el profesor 1 obtiene una
satisfacción de 3+6.=9 de la enseñanza de mercadotecnia durante el
semestre de otoño. Formule un MCNFP que se pueda utilizar para
asignar a los profesores a los cursos, para maximizar la satisfacción
total de los tres profesores

Formulación del Problema:

63
Solución del Storm:

Desde Hasta Flujo


* 1 12
0 1 4
0 2 4
0 3 4
1 5 3
1 7 1
2 4 1
64
2 6 3
3 8 3
3 9 1
4 10 1
5 10 3
6 11 3
7 11 1
8 12 3
9 12 1
10 13 4
11 13 4
12 13 4
13 * 12

Shipping Cost: -120000


Total Cost: -120121

Costo Real: -121

6. Makonsel es una compañía integrada por completo que produce


bienes y los vende en sus propias tiendas. Después de la producción los
bienes se colocan en dos almacenes hasta que las tiendas los necesitan.
Se usan camiones para transportar los bienes a los almacenes y luego a
las otras tiendas.
Utilice una carga completa de camión como unidad; la siguiente tabla
muestra la producción mensual de cada planta, su costo de transporte
por carga enviada a cada almacén y la cantidad máxima que se puede
enviar al mes a cada uno.

Costo unitario de Capacidad de envío Producción


A envío
De Almacén Almacén Almacén Almacén
1 2 1 2
Planta1 $425 $560 125 150 200
Planta2 $510 $600 175 200 300

Para cada tienda (T), la siguiente tabla contiene su demanda mensual,


el costo de transporte por carga desde cada almacén y la cantidad
máxima que se puede enviar al mes desde cada uno.
65
A Costo unitario de envío Capacidad de envío
De T1 T2 T3 T1 T2 T3
Almacen1 $470 $505 $490 100 150 100
Almacen2 $390 $410 $440 125 150 75
Demanda 150 200 150 150 200 150

La administración desea determinar un plan de distribución (numero de


cargas enviadas al mes de cada planta a cada almacén y de cada uno de
estros a cada tienda) de modo que se minimice el costo total de
transporte.

a) Trace una red que describa la red de distribución de la compañía.


Identifique en ella los nodos fuente, de trasbordo y demanda.
b) Formule este problema como un problema del flujo de costo mínimo
colocando todos los datos necesarios.

Formulación del Problema:

66
Solución del Storm:

Desde Hasta Flujo


* 0 500
0 1 200
1 2 300
1 4 125
2 3 75
2 4 125
3 5 175
3 6 100
3 7 50
4 5 100
4 6 50
4 7 150
5 8 50
6 8 150
7 8 200
8 * 150

Shipping Cost: -5000000


Total Cost: -4511875

Costo Real: 488125

7. Una empresa está interesada en cubrir dos puestos, uno de gerente de


ventas y otro de gerente de logística. Para el puesto se presentan 3
personas (egresados de la carrera de administración, o con maestría en
administración de empresas), los cuales son sometidos a unas pruebas
para comprobar su capacidad para cada puesto.
Los resultados se muestran en la siguiente tabla:

Postulante Puesto 1 Puesto 2


1 13 17
2 15 10

67
3 12 14

Mediante la teoría de redes, diseñe un modelo que permita escoger a


los mejores postulantes para los dos puestos.

Formulación del Problema:

Se plantea una tabla cuyos valores (equivalentes a los costos) son


complementos respecto a 17 de los datos obtenidos anteriormente

Postulante Puesto 1 Puesto 2


1 4 0
2 2 7
3 5 3

Solución del Storm:

Desde Hasta Flujo


68
* 0 2
0 1 1
0 2 1
0 3 0
1 4 0
1 5 1
2 4 1
2 5 0
3 4 0
3 5 0
4 6 1
5 6 1
6 * 2

Flujo Máximo: 2
Total cost = -1998

Es decir, el postulante 1 es designado al puesto 2 y el postulante 2 al


puesto 1.

8. Una compañía elabora un producto en dos fábricas: fabrica 1 y


fabrica 2. En la siguiente tabla se da el costo unitario de producción y
la capacidad de producción para cada periodo.

COSTO UNITARIO DE CAPACIDAD


PRODUCCION(dólares)
Fabrica1(periodo1) 33 7
Fabrica1(periodo2) 43 4
Fabrica2(periodo1) 30 9
Fabrica2(periodo2) 41 9

Se envía el producto de inmediato el producto al único cliente de la


compañía según los costos unitario de envío dados en la siguiente
tabla:

69
PERIODO 1 (dólares) PERIODO 2(dólares)
Fabrica 1 al cliente 51 60
Fabrica 2 al cliente 42 71

Si se produce y se envía una unidad durante el periodo 1, todavía


podría ser utilizado para satisfacer la demanda del periodo 2, pero se
cargara un costo por mantenimiento del inventario de 13 dólares por
unidad. Al terminar el periodo1, se pueden tener a lo más seis unidades
del inventario. Las demandas son las siguientes: periodo 1, 9; periodo
2, 11. Formule un MCNFP que se puede utilizar para minimizar el
costo de satisfacer todas las demandas a tiempo. Dibuje la red y
determine el flujo total.

Formulación del Problema:

Solución del Storm:

Desde Hasta Flujo


* 0 20
70
0 1 6
0 2 9
0 3 4
0 4 1
1 6 6
2 5 9
3 7 4
4 7 1
5 8 9
6 7 6
7 8 11
8 * 20

Shipping Cost: -20000


Total Cost: -18246

Costo Real: 1754

9. Data Corporal produce computadoras en Boston y en Raleigh.


Boston puede producir anualmente hasta 400 computadoras y Raleigh
puede producir anualmente hasta 300 computadoras. Los clientes en
Los Ángeles tienen que recibir anualmente 400 computadoras y hay que
enviar anualmente 300 computadoras a los clientes de Austin. Cuesta
$800 producir una computadora en Boston y $900 producir una
computadora en Raleigh. Se transportan las computadoras en avión y se
puede mandarlas vía Chicago. En la siguiente tabla se muestran los
costos para enviar una computadora entre dos ciudades.

HACIA
DESDE
Chicago ($) Austin ($) Los Ángeles ($)
Boston 80 220 280
Raleigh 100 140 170
Chicago - 40 50

Formulación del Problema:

71
Solución del Storm:

Desde Hasta Flujo


* 0 700
0 1 400
0 2 300
1 3 400
2 5 300
3 4 400
4 6 400
5 6 300
6 * 700

Shipping Cost: -7000000


Total Cost: -6316000

Costo Real: 684000

10. Oilco tiene campos de petróleo en San Diego y en Los Ángeles. El


campo de San Diego puede producir diariamente hasta 500,000 barriles,
y el campo de Los Ángeles puede producir diariamente hasta 400,000
72
barriles. Se manda el petróleo de los campos a una refinería en Dallas o
Houston (supóngase que cada refinería tiene una capacidad limitada).
Cuesta 700 dólares refinar 100,000 barriles de petróleo en Dallas y 900
dólares refinar 100,000 barriles de petróleo en Houston. Se envía el
petróleo refinado a clientes de Chicago y en Nueva York. Los clientes
de Chicago necesitan diariamente 400,000 barriles de petróleo
refinado, y los de Nueva York 300,000 barriles de petróleo refinado.
En la siguiente tabla se muestran los costos para transportar 100,000
barriles de petróleo (refinado o no) entre dos ciudades.

Formule un MCNFP que se pueda utilizar para determinar cómo


minimizar el costo total para satisfacer todas las demandas.

Formulación del Problema:

Solución del Storm:

Desde Hasta Flujo

73
1 * 7
0 1 4
0 2 3
1 4 4
2 3 3
3 5 3
4 6 4
5 8 3
6 7 4
7 9 4
8 9 3
9 * 7

Shipping Cost: -70000


Total Cost: -59530

Costo Real: 10470

11. Durante los próximos tres meses, Shoemaker,Inc. Debe satisfacer(a


tiempo) las siguientes demandas de zapatos: mes1, 1000 pares; mes2,
1500 pares; mes 3, 1800 pares. Se necesita 1 hora de trabajo para
producir un par de zapatos. Durante cada uno de los próximos tres
meses, se dispone del siguiente numero de horas de trabajo regular:
mes1, 1000 horas; mes2, 1200 horas; mes3, 1200 horas. Cada mes, la
compañía puede exigir de los trabajadores hasta 400 horas de tiempo
extra. A los trabajadores se les paga solamente por las horas que
trabajan, a razón de 4 dólares la hora de tiempo regular y 6 dólares la
hora de tiempo extra.
Al final de cada mes se incurre en un costo por mantenimiento del
inventario de 1.5 dólares por par de zapatos. Formule un MCNFP que
se puede utilizar para minimizar el costo total incurrido al satisfacer
las demandas de los próximos tres meses. Una formulación apropiada
requiere un dibujo de red apropiada.

Formulación del Problema:

74
Solución del Storm:

Desde Hasta Flujo


* 0 4300
0 1 3400
0 2 900
1 3 1000
1 4 1200
1 5 1200
2 3 100
2 4 400
2 5 400
3 6 1000
3 8 100
4 7 1500
4 8 100
5 8 1600

75
6 9 1000
7 9 1500
8 9 1800
9 * 4300

Shipping Cost: -430000


Total Cost : -410550

Costo Real: 19450

12. El consejo académico de una universidad esta buscando una


representación entre 6 estudiantes que están afiliados a 4 sociedades de
honor. La representación de consejo académico incluyen tres áreas:
Matemáticas Artes e ingeniería. Cuando mucho dos estudiantes de cada
área pueden estar en el consejo. La siguiente tabla muestra la
membresía de los seis estudiantes en las cuatro sociedades de honor.

Sociedades Estudiantes afiliados


1 1,2,3
2 1,3,5
3 3,4,5
4 1,2,4,6

Los estudiantes que poseen habilidades en las áreas de matemáticas,


artes e ingeniería, se muestran en la siguiente tabla:

Área Estudiantes con habilidades


Matemáticas 1,2,4
Artes 3,4
Ingeniería 4,5,6

Un estudiante que posee habilidades en más de un área se debe asignar


exclusivamente a un área. ¿Es posible que las cuatro sociedades de
honor estén representadas en el consejo?
Formulación del problema:
76
La red está construida para que se obligue a tener un representante de
cada sociedad, sin embargo es posible que el problema no tenga
solución, en ese caso se dirá que no están representadas las sociedades
por uno por lo menos.

13. Suponga que cuesta $10,000 comprar un automóvil nuevo. El costo


de operación anual y el valor de reventa de un automóvil usado se
muestran en la tabla. Suponiendo que en la actualidad se tiene un
automóvil nuevo, determine una política de reemplazo que minimice
los costos netos de poseer y operar un auto durante los siguientes 6
años.

77
EDAD VALOR DE COSTO DE OPERACIÓN ($
(años) REVENTA($) por año)
1 7000 300
2 6000 500
3 4000 800
4 3000 1200
5 2000 1600
6 1000 2200

Formulación del problema:

El gasto acumulado de acuerdo a los años de operación, luego de


venderlo transcurridos dichos años:

EDAD(años) Gasto acumulado Costo de operación


1 300 3300
2 800 4800
3 1600 7600
4 2800 9800
5 4400 12400
6 6600 15600

78
CAPÍTULO III

PROGRAMACIÓN POR EL CAMINO


CRÍTICO

3.1 DEFINICIONES

El método de programación por el camino crítico es una herramienta de


control, que la dirección utiliza con el objeto de definir, integrar y
analizar las operaciones necesarias para ejecutar un programa de
actividades de manera óptima.

PROCESO PRODUCTIVO. - Es un conjunto de actividades para


lograr un resultado.

FASES DEL PROCESO PRODUCTIVO . - Existen tres fases estas


son: planificación, programación y control.

a. -Planificación. - La planificación consiste en la determinación de


actividades, recursos y tiempos requeridos. La planeación da como
resultado una secuencia entre pares de actividades.

b. -Programación. - Se ocupa de la construcción de la red de


actividades, considerando las relaciones de precedencia permitiendo
de esta manera, calcular el tiempo de ejecución de todo el proceso
planeado (Ruta Crítica) y los tiempos de comienzo y de término más o
menos probables de todas las actividades.

c. -Control. - Es el conjunto de actividades tales como el control de


costos, control de tiempo, etc. , que se realizan paralelamente a la
ejecución de las actividades del proceso con el fin de asegurar el
cumplimiento del programa y reaccionar oportunamente frente a las
desviaciones que se presentan con referencia a las dos fases enunciadas
anteriormente.

79
3.2 PROCEDIMIENTO PARA LA CONSTRUCCIÓN DE UNA RED,
TERMINOLOGIA Y SIGNOS CONVENCIONALES

ACTIVIDAD. - Es una acción que requiere de tiempo para su


ejecución; la representación está dada por un círculo en donde se
identifica la actividad (A) y el tiempo requerido para su ejecución (d).

PRECEDENCIA. - La precedencia es una relación establecida en la


planificación y que determina el orden de sucesión de las actividades.

Ejemplo:

A < B, C significa que la actividad A precede o se ejecuta antes que


las actividades B y C.
Sin considerar el tiempo esta relación de precedencia, se grafica como
sigue:

Fig. 3. 1

RED. - La red o grafo es la representación gráfica del orden de


realización de las actividades necesarias para ejecutar un programa.
Ejemplo: Sea el siguiente programa

80
TIEMPO Relación de
ACTIVIDAD
(semanas) Precedencia
A 4 A < D, F
B 5 B < E, G, H
C 3 C < G, H
D 3 D<E
E 6 E< I
F 1 F<J
G 5 G< I
H 6
I 2
J 4

81
(+F3) (-C1)
(-I1)
1 15 15
8 I1 A1 20
20
F1 7
10
12 7
15

8 C1 28
10
20 (-I1) (+F3) 12 5 28
10
10 10 2 2 15 15
+ X0 F2 I2 A2 X1
3 12 22
5 (-C1) 22
7
25 15
8 9 10
C2
20 3
8 8 2 22 20 15 15
F3 I3 A3

(+X0) (+F1) (+I3)

Fig 3.2

Las actividades INICIO y FIN de duración igual a cero son ficticias, se


usan para señalar los puntos de inicio y término del programa.

3.3 DETERMINACIÓN DE LA DURACIÓN DEL PROGRAMA Y DE


LAS HOLGURAS DE LAS ACTIVIDADES

Con la ayuda del programa de la fig. 3. 2, se procederá a aplicar las


definiciones que siguen a continuación:

DEFINICIONES Y CALCULOS
Tiempo más próximo de inicio ( TPI). - El TPI de una actividad es el
tiempo más cercano en que es posible iniciar su ejecución. La
representación en la red es como en la fig. 3. 3.

TPI
82
d
Act.
Fig. 3. 3

El TPI de la actividad INICIO es cero. Para determinar el TPI de la


actividad j se hace el cálculo siguiente:

TPI(j) = max{TPI(i)+d(i)}, i<j


i = A, B, C, . .
d(i) : tiempo de ejecución de la actividad i

El TPI de la actividad I (fig. 3. 5) se determina de la forma siguiente:


TPI(I) = max {TPI(E)+d(E), TPI(G)+d(G)}
= max {7+6, 5+5} = 13

El TPI del último evento nos da el tiempo total de ejecución del


programa.

Tiempo más próximo de término (TPT). -

El TPT de una actividad i se calcula como sigue:


TPT(i) = TPI(i) + d(i)

Con referencia a la fig. 3. 1 el TPT de G es:


TPT(G) = TPI(G) + d(G) = 10

Holgura libre (HL) . -

La HL de una actividad (i) se calcula como sigue:


HL(i) = min { TPI(j) } - TPT(i) , i < j
J = A, B, C, . .

83
La HL es el tiempo adicional al programado que posee una actividad,
cuyo uso no afecta al TPI de las actividades que siguen a su ejecución.

La HL de la actividad C (fig 3. 1) se determina como sigue:


HL(C) = min{TPI(G), TPI(H)} - TPT(C)
= min{ 5, 5 } - 3 = 2

Tiempo más lejano de inicio (TLI). -

El TLI de una actividad es el tiempo más lejano en que es posible


iniciar su ejecución.
La representación en la red es como sigue:

TLI
TPI
d
Act.
Fig. 3. 4

El TLI de la actividad FIN es igual al TPI de esta actividad. Para


determinar el TLI de la actividad i, se hace el calculo siguiente:

TLI(i) = min {TLI(j)} - d(i) , i<j


j = A, B, C, . .

El TLI de la actividad B (fig. 3. 1) se determina


de la forma siguiente:

TLI(B) = min{TLI(E), TLI(G), TLI(H)} - d(B)


= min{7, 8, 9}- 5 = 2

Tiempo más lejano de termino ( TLT). -


El TLT de una actividad i se calcula como sigue:
84
TLT(i) = TLI(i) + d(i)

Con referencia a la fig. 1 el TLT de C es:

TLT(C) = TLI(C) + d(C) = 8

Holgura total (HT) . -

La HT de una actividad i se calcula como sigue:

HT(i) = TLI(i) - TPI(i)

Si por algún motivo se usa toda la HT de una actividad en el desarrollo


de esta es posible que los TPI de las actividades que siguen sufran
Variaciones.

La HT de la actividad F se determina como sigue:

HT(F) = TLI(F) - TPI(F) = 6

Si la actividad F (FIG 3.5) consume toda su HT entonces el tiempo


mas lejano de termino es:

TLT(F) = TLI(F) + d(F) = 11

Como se observa de la fig. 3. 1, el inicio de J empieza en la unidad


11.

Ruta crìtica (RC) . -

La RC es un camino formado por actividades cuya HT de cada una de


ellas es igual a cero.
Este camino se inicia en el primer nudo y termina en el final.
Aplicando esta definición a la fig. 3. 1 se concluye que la RC esta
formada por las actividades conectadas por el doble trazo, siendo
éstas: A, D, E, I.

85
10 11
4 5
1 4
F J

0 4
0 4
4 3
A D

0 2 7 13 15
0 0 7 13 15
0 5 6 2 0
INI B E I FIN

5 8
0 5
3 5
C G

9
5
6
H

Fig 3.5
Fig. 3.14

86
TIEMPOS Y HOLGURAS EN LA RED

ACT.
ACT DUR TPI TPT TLI TLT HL HT
CRI

A 4 0 4 0 4 0 0 *

B 5 0 5 2 7 0 2

C 3 0 3 5 8 2 5

D 3 4 7 4 7 0 0 *

E 6 7 13 7 13 0 0 *

F 1 4 5 10 11 0 6

G 5 5 10 8 13 3 3

H 6 5 11 9 15 4 4

I 2 13 15 13 15 0 0 *
J 4 5 9 11 15 6 6
Fig
Fig. 3.8 3.6

3.4 ASPECTOS PROBABILÍSTICOS DEL MÉTODO

La parte anterior del presente capítulo se ha tratado solamente con


actividades de duración fija (caso determinístico) pero no siempre es
posible predecir la duración de las actividades para este caso, o sea
cuando existe incertidumbre en el tiempo de duración de las
actividades es conveniente aplicar la técnica de la evaluación y control
de programas (PERT).

ESTIMACIONES DE TIEMPO.- La variación de las duraciones de


ejecución se halla a partir de las tres estimaciones de tiempo
necesarias para cada una de las actividades:

a : Estimación optimista de la duración.

87
b : Estimación pesimista de la duración.

m : Estimación más probable de la duración.

Con las tres estimaciones se calcula el tiempo esperado de la actividad


i

ai  4mi  bi
ui 
6

El tiempo esperado o medio para una actividad, indica el tiempo de


duración de una actividad con la mayor aproximación de acertar, la
medida para expresar la incertidumbre, en la duración, es la varianza
( 2 i ) la cual indica el riesgo de no acertar la duración media calculada
de la actividad.

(bi  ai ) 2
 i
2

62

Cuanto más pequeño sea el valor de la varianza, mayor será la


confianza que se puede tener en las cifras de la duración esperada.

ESTIMACIÓN DE LAS PROBABILIDADES EN EL


CUMPLIMIENTO DE LA DURACIÓN TOTAL DEL PROYECTO.
Para determinar la duración total del proyecto (T c ) se suman todos los
tiempos medios de las actividades del camino crítico.

Tc =  ui i: actividad crítica

Según el teorema del límite central la varianza total del proyecto será
también la suma de las varianzas de las actividades críticas.

2T =  2 i i: actividad crítica

88
Si deseamos conocer la probabilidad de que el proyecto termine antes o
después del tiempo calculado (T c ) se aplica la siguiente fórmula:

Td  T
Z
T

T d : Tiempo deseado

Z: Factor de probabilidad que se ubica en la tabla de valores de la


Función de Distribución Normal, a fin de determinar la probabilidad de
termino del proyecto.

Ejemplo:

Sean las actividades, restricciones y los tiempos a, m, b ; determinar :

a. La ruta crítica, T c .
b. La probabilidad de que el proyecto termine hasta en 17 semanas.
c. La probabilidad de que el proyecto termine después de 17 semanas.
d. El tiempo para un 90% de probabilidad de que ocurra.

La red y el tiempo esperado de cada actividad corresponden a la fig. 3.


2, la varianza de las actividades críticas y de la ruta crítica están en el
cuadro siguiente:

89
TIEMPO (SEMANAS)
RELACION ACTIV
ACTV i
PRECEDEN CRITI
a m b u

A A< D,F 3 4 5 4 * 0.11


B B< E,G,H 3 5 7 5
C C< G,H 2 3 4 3
E
D D< F 1 3 5 3 * 0.44
E E< I 5 6 7 6 * 0.11
F F< J 1 1 1 1
G G< I 3 4 11 5
H ____ 4 5 12 6
I ____ 1 2 3 2 * 0.11
J ____ 4 4 4 4

2T
= 0. 77
Ejemplo de cálculo para hallar u:

5  4 x6 x7 (7  5) 2
uF  ; uF   0.11
6 62

a. - La ruta crítica está formada por los arcos señalados con doble
trazo (fig. 3. 2)
- Tiempo de duración

T c = u 1, 2 + u 2, 4 + u 4, 6 + u 6, 8

= 4 + 3 + 6 + 2 = 15

- Varianza

Tc = A + D + E + I
= 0. 11 + 0. 44 + 0. 11 + 0. 11
Tc = 0. 77

90
Desviación estándar Tc = 0. 88

b. - Para que termine hasta en T d = 17, la probabilidad es de:

Td  Tc 17  15
Z   2.3
Tc 0.88

para z = 2. 3 la probabilidad es de 98. 9%

c. - Para que termine después de 17, la probabilidad es:

100 - 98. 9 = 1. 1 %, calculado en base a la respuesta anterior.

d. - El tiempo para un 90% de probabilidad es:


De la tabla, probabilidad de 90% z = 1. 29 por consiguiente de

Td  Tc
Z
Tc

Se obtiene que T a = 16. 1

3.5 ASIGNACIÓN DE RECURSOS (SHAFFER)

El método de asignación de recursos (MAR) consiste en la


modificación de la secuencia de las actividades en forma tal que se
respete las disponibilidades de recursos y se minimice los posibles
incrementos en la duración del proyecto obtenido del plan original.
Para aplicar el método de asignación de recursos
Se requiere la siguiente información:

a) Diagrama de flechas

b) Duración estimada y cantidad de recursos de las actividades

c) Nivel máximo de cada recurso

METODO DE ASIGNACION DE RECURSOS (MAR)


91
El MAR se aplicará al siguiente programa:

TIEMPO RELACION DE RECURSOS


ACT.
(sem) PRECEDENCIA R1 R2
A 4 A < D, F 3 1
B 5 B < E, G, H 1 0
C 3 C < G, H 3 1
D 3 D<E 3 1
E 6 E< I 1 2
F 1 F<J 4 1
G 5 G<I 0 1
H 6 2 0
I 2 2 1
J 4 1 1
RECURSOS DISPONIBLES 7 4

En las tres primeras semanas sólo se dispone de 6 unidades del recurso


R1

La red del programa es la fig. 3.7

92
10 11
4 5
1 4
F J

0 4
0 4
4 3
A D

0 2 7 13 15
0 0 7 13 15
0 5 6 2 0
INI B E I FIN

5 8
0 5
3 5
C G

9
5
6
H

Fig. 3.14 Fig 3.7

93
TIEMPOS Y HOLGURAS EN LA RED

ACT.
ACTV DUR TPI TPT TLI TLT HL HT
CRI
A 4 0 4 0 4 0 0 *
B 5 0 5 2 7 0 2
C 3 0 3 5 8 2 5
D 3 4 7 4 7 0 0 *
E 6 7 13 7 13 0 0 *
F 1 4 5 10 11 0 6
G 5 5 10 8 13 3 3
H 6 5 11 9 15 4 4
I 2 13 15 13 15 0 0 *
J 4 5 9 11 15 6 6
Fig. 3.8

94
95
Aplicación del MAR

1.-Calcular el TPI, el TLI, TPT y HT de cada actividad (fig. 3.8).


2.-Dibujar el diagrama de barras del plan original (fig. 3.9), aquí se
observa que las actividades A, B y C se ejecutan simultáneamente,
para lo cual requieren de unidades del recurso R, y se dispone
de sólo 6 unidades, por consiguiente debe modificarse la secuencia de
estas actividades de la manera siguiente:
a.- De las actividades se eligen dos: i y j.
b.- La actividad i es aquella que posee el mínimo TPT.
c.- La acitividad j es aquella que posee el máximo TLI.
d.- Se crea la restricción i < j.
Si i = j, se considera, como i ó j, dentro de las actividades no
seleccionadas, aquella actividad qçue tenga el tPT o el TLI más
próximo a los valores hallados.
e.- Se construye el diagrama de flechas modificado, incluyendo las
restricciones determinadas en (d) y se repite el proceso cuantas veces
sea necesario.

En el ejemplo anterior, la actividad C tiene el mínimo TPT y el máximo


TLI

ACT TPT TLI


A 4 0
B 5 2
C 3 5

El TPT más cercano a la actividad C (TPT = 3) lo tiene la actividad a


(TPT = 4), la diferencia es 1. El TLI más cercano a la actividad C (TLI
= 5) lo tiene la actividad B (TLI =2), la diferencia es 3.

Entonces la menor diferencia corresponde al TPT de la actividad A, en


consecuencia A < C y se incluye esta restricción en el diagrama de
flechas. Fig. 3.10.

96
10 11
4 5
1 4
F J

0 4
0 4
4 3
A D

0 2 7 13 15
0 0 7 13 15
0 5 6 2 0
INI B E I FIN

5 8
4 7
3 5
C G

9
7
6
H

Fig. 3.14

97
ACTV DUR TPI TPT TLI TLT HT

A 4 0 4 0 4 0
B 5 0 5 2 7 2
C 3 4 7 5 8 1
D 3 4 7 4 7 0
E 6 7 13 7 13 0
F 1 4 5 10 11 6
G 5 7 12 8 13 1
H 6 7 13 9 15 2
I 2 13 15 13 15 0
J 4 5 9 11 15 6
Fig. 3.11

Con la información de la Fog. 3.11, se elabora la Fig. 3.12 en la que se


observa que se requiere de 10 unidades del recurso R1 y 3 de R2, y se
dispone de sólo 7 y 4 unidades de R1 y R2 respectivamente. También se
observa que las actividades B, C, D y F se debe ejecutar
simultáneamente en la quinta semana.

Entre las actividades B, C, D y F, según la Fig. 3.11, las actividades


con el mínimo TPT son b y F, y con el máximo TLI, la actividad F, en
consecuencia s adiciona B < F.

Se continúa aplicando el algoritmo hasta obtener la Fig. 3.13

98
Fig. 3.12

99
Fig. 3.13

100
3.6 OPTIMIZACIÓN DE PROGRAMAS

El tiempo de ejecución de cada actividad puede ser variada en


función a los recursos que se emplee para su ejecución, cuando se
incrementan los recursos o se hace uso de tecnología más avanzada,
para la ejecución de las actividades, se tiene como consecuencia un
menor tiempo de ejecución y un incremento en los costos de
producción o fabricación consiguiéndose además una disminución en
los costos indirectos.

El problema consiste en determinar qué actividades se han de


acortar en su duración para que obtenga como resultado un costo total
mínimo.

El método se explica mediante el ejemplo siguiente:


Ejemplo: Determinar el costo total mínimo del siguiente programa:

TIEMPO COSTO DIRECTO


ACTIVIDAD NORMAL LIMITE NORMAL LIMITE
PRECEDENCIA

A 4 2 20 26
D,F
B 5 3 15 21
E,G,H
C 3 3 17 17
G,H
D 3 2 25 29
E
E 6 4 16 20
I
F 1 1 30 30
J
G 5 4 18 20
I
H 6 6 40 40
-
I 2 2 30 30
-
101
J 4 3 10 11
-

Costo Indirecto (CI) = 50 + 4 t

Siendo (t) el tiempo de duración del programa:

a) Construcción de la red de actividades Fig. 3.14


b) Se construye la tabla fig.3.15.

10 11
4 5
1 4
F J

0 4
0 4
4 3
A D

0 2 7 13 15
0 0 7 13 15
0 5 6 2 0
INI B E I FIN

5 8
0 5
3 5
C G

9
5
6
H

Fig. 3.14
TIEMPO DIF. C. DIRECTO DIF.

102
ACT. NOR. LIM. dT. NOR. LIM. dC. dC/ dT

A 4 2 2 20 26 6 3
B 5 3 2 15 21 6 3
C 3 3 - 17 17 - -
D 3 2 1 25 29 4 4
E 6 4 2 16 20 4 2
F 1 1 - 30 30 - -
G 5 4 1 18 20 2 2
H 6 6 - 40 40 - -
I 2 2 - 30 30 - -
J 4 3 1 10 11 1 1

TOTAL COSTO DIRECTO: 221

Fig. 3.15

c) EVALUACION DE LA RUTA CRÍTICA .-

El procedimiento es el siguiente:
Se determinan todos los cambios de la red desde el origen hasta el
final.
Se calcula la duración de cada camino a fin de obtener la ruta crítica y
se calcula el costo total del programa. Los resultados obtenidos se
hallan en la fig. 3.16.

DURACION DE LOS CAMINOS

CAMINOS NORMAL RED. 1 RED.2 RED.3 RED.4

A,F,J 9 9 8 7 7
A,D,E,I 15 13 12 11 10
B,E,I 13 11 11 11 10
B,G,I 12 12 12 11 10
C,G,I 10 10 10 9 9
103
C,H 9 9 9 9 9

DURACIÓN 15 13 12 11
10

COSTOS:
DIRECTO 221 225 228 233 240
INDIRECTO 110 102 98 94 90

TOTAL 331 327 326 327 330

(a) (b) (c) (d) (e)

Fig.3.16

d) ACELERACION DE LAS ACTIVIDADES .-

Para acortar la duración del programa, se deberá acelerar aquellas


actividades que pertenezcan a la ruta crítica .El procedimiento que se
sigue es:
Se construye una sub gráfica parcial conteniendo las actividades
críticas. (fig. 3.17)
Se asocia a cada actividad el costo unitario de reducción (C/T),
el que se ha de asumir como capacidad de flujo, aquella actividad
que no tenga costo unitario de reducción, se asume que este es M
(un número muy grande); se asume además que las capacidades de
los arcos incidentes al interior y exterior de cada actividad es
también M y se calcula el flujo máximo aplicando el algoritmo de
Ford y Fulkerson para determinar las actividades que deberán
acortar su duración. Obtenidas estas, se calcula el T, siendo este
el menor valor entre el T de la(s) actividad(es) y la diferencia de
tiempo entre la ruta crítica y el camino que le sigue en valor.

Con la nueva información se procede a calcular la duración de


los caminos y costo total fig. 3.16 a, b, c, d, y e.

104
Lo descrito anteriormente, se aplica para el ejemplo de la
manera siguiente:

REDUCCION 1

En la tabla 3.16 se tiene que la ruta crítica es A, D, E, I, los


C/T se ubican en cada uno de los círculos de la fig. 3.17.

CT
(+ INICIO) (+ A) ACTIVIDAD

3 2 2 4
M
2
A D
2

M
M

2
2 M
(+) INICIO M
E 2 2 I 2

Se observa que el máximo flujo es 2 unidades (costo unitario de


reducción de actividad E) y corresponde por lo tanto acelerar al
actividad E.
Acortamiento de E :
T = min. (2, 15-13) = 2

105
Donde 2 es el T de la Act. E y (15-13) es la diferencia de la ruta
crítica y el camino que sigue en valor. Con la información se produce a
llenar la parte (b) de la fig. 3.16; de la siguiente manera:

Costo directo = 221+ 2x2 = 225

Costo Indirecto = 50 + 4 x 13 = 102


Costo total= 327

REDUCCION 2

3 3 3 4
M
A D
3

M
M

M M
(+) INICIO M M
3 3 3 I 3

Fig 3.18

Acortamiento de la duración de la actividad A en la unidad (resultados


en la parte (C) de la fig. 3.16 )

106
REDUCCIÓN 3

3 3 3 4
M
A D
3
3

M M

3 2 M
INICIO M M FIN
B E I
3 3 5 5
(+) (+ INICIO) 2
2

2
2
2 G

Fig. 3.19

Acortamiento de la duración de las actividades A y G en la unidad


(resultados en la parte (d) de la fig. 3.16)

107
REDUCCION 4

(+ INICIO)

3 4 4 4
M
A D
4
4

M M

4
3 3 3 3 2 M
INICIO M M M M FIN
B E I
7 7 7 7
(+ INICIO)

M M

2
G M
M

M
H

Fig. 3.20

Acortamiento de la duración de las actividades B y D en la


unidad (resultados en parte (e) de la fig. 3.16).

No es posible acortar más el programa ya que como se observa,


en la fig. 3.21 las actividades del camino A, D, E, I, han sido
reducidas al límite.

108
M M
A D

3 M M
INICIO FIN
B E I

M
G

M
H

Fig. 3.21

Finalmente se concluye que la REDUCCION 2 es la óptima ya que con


ella se obtiene el menor costo total (326 unidades), por otra parte si se
desea saber cuál es el costo y el tiempo mínimo de ejecución del
programa, el resultado está en la REDUCCION 4, donde se tiene que
el costo total es de 330 unidades, siendo el tiempo de 10 unidades
(tabla 3.16 e).

109
3.7 PROBLEMAS RESUELTOS

1. Armar la red y hallar la ruta crítica.

TABLA DE ACTIVIDADES TIEMPO


RESTRIC.

A Pedido y recep. de unidad para aire......................... 14


A<H,K
B Pedido y recepción de tuberías ............................... 4
B<I
C Pedido y recep. de rejillas, registros y lumbreras ... 11
C<F
D Pedidos y recepción de canalización de aire .......... 8
D<F
E Determinar el trazado de la canalización de aire ..... 3
E<D,G
F Inst. canalización de aire, registros y lumbreras ... 18
F<G
G Instalar rejillas ......................................................... 1
G<M
H Instalar la unidad de acondicionamiento de aire ..... 1
H<L,J
I Montar tuberías auxiliares ...................................... 10
I<J
J Conectar tuberías a la unidad ................................ 1
J<M
K Inst. eléctrica, línea principal y termostato ............. 4
K<L
L Dispositivos de control y cables complementarios . 2
L<M
M Pruebas y ensayos ................................................. 2
M<N
N Aislamiento y limpieza ............................................ 4

Solución :

110
0 11 29
0 11 29

C F G
11 18 1
3
3
0 24
0 14
D
0 E 8 K 28 30 32
0 3 4 18 30 32

INICIO L M N
0 10 27 2 2 4
0 14

A H
14 1
29
15
15 19
0 4 J
1
B I
4 10

En la red se observa que no es necesario considerar la restricción E<G


por no ser actividades vecinas, como se observa en el gráfico la
restricción es superflua.

El tiempo de duración total del proyecto es = 36


Se tiene 2 Rutas Críticas:
RC1 : Inicio - C - F - G - M - N - FIN
RC2 : Inicio - E - D - F - G - M - N - FIN

2. Considere la siguiente red correspondiente al lanzamiento de un


producto al mercado. Las 3 estimaciones usuales para c/u de las
actividades son (en semanas):
111
ACT. PRECED. NOMBRE DE ACTIVIDAD a m b

A A<C,D,G Diseño del producto 1 2 9


B B<E,F Análisis de publicidad 3 4 5
C C<F Fab. Y ensayo de muestras 2 4 6
D D<F Programación de ventas 3 5 13
E E<F Evaluación de ensayo 4 4.5 8
F - Campaña de publicidad 4 4 4
G - Preparación de producción 1 2 3
H - Producción. 2.5 3 3.5

a) Determinar la ruta crítica y el número de semanas necesarias


para tener un 80% de probabilidad de que se cumpla el
programa.
b) Cuál es la probabilidad de cumplir con el programa entre *TRC-
1 semana TRC+3 semanas

*TRC = Tiempo de Ruta Crítica

Solución :

Calculando los Te = a+4m+b


6

ACT. a m b Te s2 s2

A 1 2 9 3 - 1.78
112
B 3 4 5 4 0.11 -
C 2 4 6 4 - -
D 3 5 13 6 - 2.78
E 4 4.5 8 5 0.44 -
F 4 4 4 4 0 0
G 1 2 3 2 - -
H 2.5 3 3.5 3 - -

0.55 4.56

4
4
0
0 5
E
4 9
B 9
5
3
0 4
0 0 4 F
0 C
0 3
INICIO A 3
3

6
D
13
13
11
3 0
FIN
2
G

10
0

1
H

113
Se toma la ruta crítica A - D - F porque tiene mayor varianza.
____
T R C = 13 y  R C = 4.56 = 2 ,135

a) La ruta crítica es A - D - F

80%

Z = 0.84

Td  TRC
Z => T d = T R C +  R C .Z
 RC

El número de semana es:

T d = 13+(0.84)(2,135) = 14.79 semanas.

b) T d =T R C - 1 = 12
T d =T R C + 3 = 16

Td  13 12  13
Z1    0.468
2.135 2.135

Td  13 16  13
Z2    1.405
2.135 2.135

114
32% 92%

Z = -0.468 Z = 1.405

60%

La probabilidad de cumplir entre 12 y 16 semanas es del


60%

3. La empresa que ejecuta el programa:

ACT. PRECEDENCIA TIEMPO

A A<D,F,G 6
B B<G 9
C C<G,H 15
D D<E 9
E E<I 12
F F<I,J 7
G G<I,J,K 10
H H<K 11
I - 7
J - 10
K - 9

Dispone de los siguientes recursos:


RECURSO (unid)

a) Hasta la 5ta. Semana 10


b) Inicio de la 6ta. Semana 25
y término de la 14a.

ACT. A B C D E F G H I J K
RECURSO 4 5 6 8 7 9 10 6 3 7 11

115
Desde la semana 15 hasta el final se puede considerar que los recursos
son ilimitados. Determine cuál deberá ser la secuencia de las
actividades a fin de usar solo los recursos disponibles.

Solución

RED ORIGINAL

16
7 15
6
1
0
9 12
D E 28
6 27
A
18
6 7
0 I
0 6
0 7
F 25 35
0 9 25 35
INICIO B 15
15 10 0
J FIN
10
0 26
G
0 26

15 15 9
C 15 K

11
H

116
117
RED CORREGIDA

16
7 15
6
1
0
9 12
D E 28
6 27
A
18
15 7
0 I
0 6
6 7
F 25 35
0 9 25 35
INICIO B 15
15 10 0
J FIN
10
0 26
G
0 26

15 15 9
C 15 K

11
H

ACT DURAC TPI * TLI TPT * HT *

A 6 0 1 6 1
B 9 0 6 6 9 15 6 0
C 15 0 0 15 0
D 9 6 7 15 1
E 12 15 16 27 1
F 7 6 15 18 13 22 12 3
G 10 15 15 25 0
H 11 15 15 26 0
I 7 27 28 34 1
J 10 25 25 35 0
K 9 26 26 35 0

* Indica los tiempos corregidos en las iteraciones

118
5 10 15 20 25 30 35

C 6
G 10
J 7
H 6

K 11
A 4
B 5
D 8
E 7
F 9
I 3

R1 15
R2 10 10 10 10 10 10 18
R3 10 10 10 10 10 10 19 19 19 19 19 19 19 19 19 32
RECURSOS ILIMITADOS

TPT TLI TPT TLI


C 15 0 C 15 0
A 6 1 B 15 6
B 9 6 D 15 7
F 13 18

A<B D<F

119
Para cumplir con la disponibilidad de recursos se necesita adicionar las
restricciones:

A<B
D<F

120
4. Optimice el programa a partir de la siguiente información:

ACTIVIDAD PRECEDENCIA DURACION


COSTO DIRECTO
(meses) (mill. Soles)

NORMAL LIMITE
NORMAL LIMITE
A A<D,E 9 7 40
54
B B<E 8 5 120
126
C C<H 12 11 50
52
D D<H,G,F 7 2 60
75
E E<H,G,F 7 6 75.5
81
F - 2 1 60
62
G G<I 13 11 80
86
H H<I 6 4 50
60
I - 9 7 100
118

El costo indirecto es: CI = 50 + 10T

Solución:

Cálculo deT, C y C/T y trazado de la red.

ACT T C C/T

A 2 14 7
121
B 3 6 2
C 1 2 2
D 5 15 3
E 1 5.5 5.5
F 1 2 2
G 2 6 3
H 2 10 5
I 2 18 9

A D G I

INICIO C H FIN

B E F

Definición de los caminos y cálculos de tiempo y costos de cada


alternativa.
Act.Tiem A B C D E F G H I DURACION ALT ALT ALT ALT ALT
CAMINO 9 8 12 7 7 2 13 6 9 NORMAL I II III IV V
A,D,G,I 9 7 13 9 38* 37* 36* 35* 34* 30*
A,D,H,I 9 7 6 9 31 31 31 30 29 25
A,D,F 9 7 2 18 18 18 17 16 14
A,E,G,I 9 7 13 9 38* 37* 36* 35* 34* 32*
A,E,F 9 7 2 18 18 18 17 16 16
A,E,H,I 9 7 6 9 31 31 31 30 29 27
C,H,I 12 6 9 27 27 27 27 27 25
B,E,H,I 8 7 6 9 30 30 30 30 29 27
B,E,F 8 7 17 17 17 16 15 15
B,E,G,I 8 7 13 9 37 36 35 35* 34* 32*
DURACION 38.0 37.0 36.0 35* 34.0 32.0
C. INDIRECTO 635.5 638.5 641.5 648.5 657.5 675.5
C. DIRECTO 430.0 420.0 410.0 400.0 390.0 370.0
C.TOTAL 1065.5 1058.5 1051.5 1048.5 1047.5 1045.5

ALTERNATIVA I

122
(+A2) (+E2)

3 3 3 3 3 9
(+INICIO) D G I
5 2 2
7
A
3 2

INICIO FIN
(+A2)
 C/  T
ACT
5.5 T
E
1

T - ALT I = mín (2, 38-37) = 1 (disminuye G en la


unidad)
C.DIRECTO ALT.I = 635.5 + 3.1 = 638.5
C.INDIRECTO ALT.I = 50 + 10x37 = 420

123
ALTERNATIVA II

(+A2) (+E2)

3 3 3 3 3 9
(+INICIO) D G I
5 1 2
7
A
3 2

INICIO FIN
(+A2)

5.5
E
1

T - ALT II = mín (1, 37-36) = 1 (disminuye G en la


unidad)
C.DIRECTO ALT. II = 638.5 + 3 = 641.5
C.INDIRECTO ALT. II = 50 + 10x36 = 410

ALTERNATIVA III

124
(+A2) (+E2)

3 3 3 M 7 9
(+INICIO) D G I
5 0 2
7
A 4
3 2

INICIO FIN
(+A2)

4 5.5
E
1

T - ALT III = mín (2, 36-35) = 1 (disminuye A en la


unidad)
C.DIRECTO ALT.III = 641.5 + 7 = 648.5
C.INDIRECTO ALT.III = 50 + 10x35 = 400

125
ALTERNATIVA IV

(+A2) (+E2)

3 3 3 M 9 9
(+INICIO) D G I
5 0 2
7
A 6
3 2

INICIO FIN
(+A2)
4
2 2 5.5
B E
3 1

T - ALT IV = mín (1,3, 35-30) = 1 (disminuye A y B en la


unidad)
C.DIRECTO ALT. IV = 648.5 + 7 +2 = 657.5
C.INDIRECTO ALT. IV = 50 + 10x34 = 390

ALTERNATIVA V

126
(+A2) (+E2) (+G2)

3 3 3 M 9 9
(+INICIO) D G I
5 0 2
7
A 6
9 2

INICIO FIN
6
2 M
B E
3 0

(+A2)

T - ALT V = mín (2, 34-29) = 1 (disminuye D e I en 2


unidades)
C.DIRECTO ALT. V = 657.5 + 9x2 = 675.5
C.INDIRECTO ALT. V = 50 + 10x32 = 370

127
La red siguiente muestra los últimos valores de los costos unitarios de
reducción.

3 M M 9
(+INICIO) D G I
5 0 0
M
A M
9 0

INICIO FIN
M
2 M
B E
3 0

(+B2)

El camino: INICIO,A,E,G,I,FIN es irreductible por consiguiente la


alternativa V es la última.

RESPUESTA
DURACION
ACTIVIDAD
ÓPTIMA
A 7
B 7
C 12
D 5
E 7
F 2
G 11
H 6
I 7

La duración del programa es de 32 semanas con un costo total de


1,045.5 millones de soles.

128
5. A partir de la gráfica mostrada en la figura y los datos consignados
en la tabla, calcular:

a) Duración y Costo normal del proyecto.


b) Si los Costos indirectos son de $50 diarios. Calcular la duración
optima del proyecto.
c) Duración y costo límite del proyecto.

129
ACTIVIDAD NORMAL LIMITE
DURAC.
DURAC. COSTOS

1-2 5 100 2 190


1-3 4 80 3 120
2-3 7 150 4 300
2-4 8 70 6 110
3-5 6 50 4 100
4-5 6 70 5 105

2 D 4

C F

1 B 3 E 5

El desarrollo del problema será elaborado con la siguiente red


equivalente.

130
INICIO A D E

FIN
C

B E

ACTIVIDAD TIEMPO T COSTO DIRECTO C C/T


NORMAL LIMITE NORMAL LIMITE
A 5 2 3 100 190 90 30
B 4 3 1 80 120 40 40
C 7 4 3 150 300 150 50
D 8 6 2 70 110 40 20
E 6 4 2 50 100 50 25
F 6 5 1 70 105 35 35

ACTIVID. A B C D E F NORM. A1 A2 A3 A4
CAMINOS 5 4 7 8 6 6
A-D-F 5 8 6 19 18 15 14 13
A-C-E 5 7 6 18 18 15 14 13
B-E 4 6 10 10 10 9 8
DURACION 19 18 15 14 13
C. DIRECTO 520 540 630 675 735
C. INDIRECTO 950 900 750 700 650
C. TOTAL 1470 1440 1380 1375 1385

131
ALTERNATIVA 1

(+INICIO)

M 20 30 20 20 20 35 20
M
INICIO M A M D M F M FIN
0 3 2 1 0

ACORTAMIENTO DE D: Mín (2,19-18) = 1

ALTERNATIVA 2

(+INICIO)

M 20 30 20 20 20 35
INICIO M A M D M F
0 3 1 1 20
M
FIN
0
10 10
50 10 25
C M E
3 2

ACORTAMIENTO DE A: Mín (3,8) = 3

ALTERNATIVA 3

132
(+INICIO) (+A)

M 45 M 20 20 20 35
INICIO M A M D M F
0 0 1 1 20
M
FIN
0
25 25
50 25 25
C M E
3 2
(+C)

ACORTAMIENTO DE D y E: Mín (1,2,5) = 1

133
ALTERNATIVA 4

(+INICIO) (+A)
(+D)

M 35 M 35 M 35 35
INICIO M A M D M F
0 0 0 1
M
FIN
35 0
25 25
50 25 25
C M E
3 1

(+A) (+C)

ACORTAMIENTO DE F y E : Mín (1,1,5) = 1

M M M 35
INICIO M A M D M F
0 0 0 1
M
FIN
0
40
50
C
3
40

40 25
B M E
1 1

Como se observa en este último gráfico no es posible continuar


reduciendo el tiempo de ejecución puesto que el camino A,D,F es
irreductible.

Respuesta:

a) La duración normal es 19 días y el costo normal es $1,470.


134
b) La duración óptima es de 14 días.
c) La duración y costo límite son 13 días y $1,385
respectivamente.

135
CAPÍTULO IV

MÉTODOS DE RAMIFICAR Y
ACOTAR

4.1 INTRODUCCIÓN

Existen problemas en optimización donde la técnica de


ramificar y acotar, permite resolverlos de la manera más sencilla y
eficiente.
La técnica de ramificar y acotar consiste en :

A. Formular todas las alternativas o caminos que conducen a la


solución del problema.
B. Evaluar estos caminos.
C. Elegir el camino más adecuado ó de mejor valor y trazar a partir de
él, las alternativas que se presenten.

La aplicación sucesiva de estos tres pasos nos ha de conducir a la


solución del problema ó lo que lo mismo, encontrar el camino óptimo.

4.2 DEFINICIONES

ARBOL.- Es un grafo conexo finito no orientado desprovisto de


ciclos. La fig. 4.1. es un ejemplo de árbol.

La fig. 4.1. es un ejemplo de árbol.

136
a

b c

d e

Fig. 4.1

Al vértice inicial (a) se le denomina raíz del árbol, a los demás se les
denomina nudos u hojas del árbol.

Las aristas ( a , b ) , ( b , e ) etc.; se les denomina también ramas del


árbol. El árbol más sencillo consta de dos vértices unidos por una
arista. Cada vez que añade una arista se adiciona también un vértice,
por consiguiente un árbol con n vértice tiene n-1 aristas.

Para la solución de los problemas tanto de maximización como de


minimización, se deberá asociar a cada nudo u hoja del árbol una cota,
la que ha de servir como referencia en el proceso de solución de los
problemas.

Para el caso de maximización (minimización), la hoja que tenga la


mayor (menor) cota, se ha de denominar hoja activa, a partir de la
cual se continúa el proceso de solución.

4.3 PROBLEMAS

Los problemas que se presentan en esta sección son:

- Camino de valor mínimo.


- Cadenas múltiples económicas.
- Asignación de recursos.

137
a. CAMINO DE VALOR MÍNIMO

Teniendo como origen un punto de una gráfica, se pide calcular el


camino del valor mínimo, desde ese punto a otro elegido como destino,
cabe notar que, si se desea se puede considerar como destinos todos los
demás puntos de la gráfica.

Método para calcular los caminos de valor mínimo de una gráfica

1. Se construye una tabla que muestre el conjunto de arcos incidentes


al exterior de cada vértice, con los correspondientes costos (tiempo).
2. Se inicia la construcción de un árbol con una cota T = 0 para el
vértice asumido como origen y se elimina en la tabla, el conjunto de
arcos incidentes al interior del vértice elegido.
3. Se traza los arcos incidentes al exterior del vértice de menor cota.
4. Se calcula la cota de cada uno de los vértices extremos,
Tj=Ti+C(i,j) Tj=Ti+C(i, J); C(i, J): valor del arco (i,j)
5. Se determina la menor cota de los vértices extremos del árbol.
6. Se eliminan en el árbol aquellos arcos cuyo vértice final, sea igual
al del arco determinado y en la tabla se elimina la columna
correspondiente al vértice final.
7. Se repite los pasos (3) a (6) hasta obtener la solución.

EJEMPLO

Calcular los caminos de valor mínimo con origen en xo, de la fig. 4.2.

138
X 2
9 X 4

1
4 2 5
3
3
8 4
X 0 5 X 7
X X
4 3
6
9 3
8 2 3
10
X 1
X 5

Fig. 4.2

SOLUCION

1. Se construye una tabla que muestre W + (Xi), con los (i, j) de cada
arco (tabla 4.1).
2. La cota de X o es T o =0 (fig. 4.3), luego se elimina la columna con
xo (líneas a trazos discontinuos (a), en tabla 4.1)

X0 X1 X2 X3 X4 X5 X6 X7
X0 - 8 4 - - - - -
X1 - - - 2 - 10 9 -
X2 - 5 - 2 9 - - -
X3 - 4 3 - 1 - 8 -
X4 - - - 3 - - 5 -
X5 - - - - - - - 3
X6 - - - - - 3 - 4
X7 - - - - - - - -
(a) (b)

Tabla 4.1

139
3. Se traza W + (xo) estos son (X 0 , X 1 ) y (X 0 , X 2 ), ver fig. 4.3.

4. Las cotas de X 1 y X 2 son :

X 1 : T 1 = To+C(0, 1) = 0+8 = 8

X 2 : T 2 = To+C(0, 2) = 0+4 = 4

5. La menor cota pertenece al vértice X 2

6. Se elimina la columna X 2 (líneas a trazos discontinuos (b) en tabla


4.1). Se continúa repitiendo los pasos del (3) al (6) hasta obtener
los caminos de valor mínimo que se hallan a doble trazo en la fig.
4.3.

Rpta.: Camino de valor mínimo Xo, X 1


Xo, X 2 , X 3 , X 4 , X 6

b. CADENAS MÚLTIPLES ECONÓMICAS DE UNA RED

En esta sección se dará un método que calcula la ruta más económica


entre cualquier par de nodos de una red; el algoritmo fue formulado por
Gomory y Hu.

140
T= 0

X 0
8 4

8 4
9
X 1 X 2
10 9
5 2 *

* * *
18 17 9 6 13

X 5 X 6 X 1 X 3 X 4
4 8
1
* *
10 7 14

X 1
X 4
X 6

12
X
*   arcos eliminados 6
3 4

15 16

X 5 X 7

3
*
18

X 7

Fig . 4.3

141
Sea la siguiente red (fig. 4.4)

k
c(i,k) : costo del
c(i,j) c(j,k) arco A(i,k)

Fig. 4.4

C(i, k): costo del arco A (i, k)

En esta red se puede tener que:

C(i, k) < C(i, j) + C(j, k)


(en este caso el arco A(i, k), se le denomina arco básico).
C(i, k) > C(i, j) + C(j.k)

El algoritmo está basado en la construcción de arcos básicos entre


cualquier par de vértices de una red.

Dado un vértice intermedio j se define la siguiente operación:

C(i, k)= min C(i, k) , C(i, j) + C(J, k)

Esta operación compara el costo de (i, k) con la suma de los costos de


los arcos(j, k), y sustituye el mínimo de ambos como el nuevo costo
del arco (el resultado se consigna en la matriz de costos mínimos).
Aplicando esta operación (i, k) se convierte en un arco básico. Este
algoritmo requiere un sistema de etiquetado el que se define de la
siguiente manera:

(i, k) = (i, j), si C(i, k) > C(i, j) + C(j, k)

(i, k), si C(i, k) ≤ C(i, j) + (j, k)

142
El etiquetado se efectúa en la matriz de nodos intermedios.

EJEMPLO

Encontrar las rutas más económicas existentes entre


cualquier pareja de vértices que se muestran en la red de la fig. 4.5

2 4
2

3 6 4

1 5 3

6
3 5

Fig. 4.5

La matriz de costos asociada a la red es:

1 2 3 4 5
1 0 3 1 M M
2 3 0 5 2 6
3 1 5 0 4 6
4 M 2 4 0 3
5 M 6 6 3 0

Tabla 4.2

143
Como j, i, k, son diferentes el número total de operaciones para
obtener el resultado es: 5x4x3=60.
Si j es el vértice intermedio entre i y k, entonces la variación de j es:
j=1.....5, por consiguiente existe 5 iteraciones.

Para j =1

Se tiene:

C(1, k) = min [C(i, k), C(i, l)+C(1, k)]

C(2, 3) = C(3, 2) = min [C(2, 3) , C(2, 1) + C(1, 3)] = min [5 , 3 + 1]


=4

C(2, 4) = C(4, 2) = min [C(2, 4) , C(2, 1) + C(1, 4)] = min [2 , 3 +


M] = 2

C(2, 5) = C(5, 2) = min [C(2, 5) , C(2, 1) + C(1, 5)] = min [6 , 3 +


M] = 6

C(3, 4) = C(4, 3) = min [C(3, 4) , C(3, 1) + C(1, 4)] = min [4 , 1 +


M] = 4

C(3, 5) = C(5, 3) = min [C(3, 5) , C(3, 1) + C(1, 5)] = min [6 , 1 +


M] = 6

C(4, 5) = C(5, 4) = min [C(4, 5) , C(4, 1) + C(1, 5)] = min [3 , M +


M] = 3

Los resultados obtenidos para j=1 se consignan en las tablas 4.3 y 4.4.

MATRIZ DE COSTO MINIMO

1 2 3 4 5
1 0

144
2 0 4 2 6
3 4 0 4 6
4 2 4 0 3
5 6 6 3 0

TABLA 4.3

MATRIZ DE VERTICES INTERMEDIOS


CON RUTAS OPTIMAS

1 2 3 4 5
1 1
2 2 1 4 5
3 1 3 4 5
4 2 3 4 5
5 2 3 4 5

TABLA 4.4

Estos resultados son susceptibles de ser modificados, conforme


se continúa operando con los demás valores de j.

Los valores finales se presentan en las tablas 4.5 y 4.6.

MATRIZ DE COSTO MINIMO

1 2 3 4 5
1 0 3 1 5 7
2 3 0 4 2 5
3 1 4 0 4 6
4 5 2 4 0 3
5 7 5 6 3 0

TABLA 4.5

145
MATRIZ DE VERTICES INTERMEDIOS
CON RUTAS OPTIMAS

1 2 3 4 5
1 1 2 3 2 5
2 1 2 1 4 4
3 1 1 3 4 5
4 2 2 3 4 5
5 3 4 3 4 5

TABLA 4.6

La interpretación de las dos matrices anteriores es como sigue:

Suponga que se quiere encontrar la ruta más económica y el


costo de p a q. Si la entrada (p, q), en la matriz de vértices
intermedios es k, se va a la entrada (k, q) si ésta es j, se varia
entonces (j, q) y así sucesivamente. La cadena más corta sería
entonces p, k, j, ...q. La entrada (p, q) en la matriz de costos daría el
costo de la ruta más económica de p a q.

Por ejemplo: La ruta más económica de 3 a 2 se identifica


con la matriz de vértices intermedios de la siguiente manera:

(3, 2) = 1
(1, 2) = 2

por consiguiente, la ruta es 3, 1, 2 y el costo es C(3, 2) = 4


información extraída de la matriz de costos mínimos.

Otra manera de resolver el problema de cadenas múltiples


económicas, es aplicando el método para calcular los caminos de valor
mínimo de una gráfica.

Aplicando este método al problema anterior se tiene:

MATRIZ DE COSTO ASOCIADO A LA RED

146
1 2 3 4 5
1 - 3 1 - -
2 3 - 5 2 6
3 1 5 - 4 6
4 - 2 4 - 3
5 - 6 6 3 -

8
VERTICE 1 1

3 1

3 1
2 3
2 6 5 4 6
5 9 6 5 7
4 5 2 4 5
*
3
8
5
*    Existen dos caminos para l egar
a 4 : (1,3,4) y (1,2,4)

Fig. 4.6

La información del árbol se pasa a las siguientes matrices:

MATRIZ DE COSTO MINIMO

1 2 3 4 5
1 1 2 3 3 5

147
2 1 2 4
3 1 3 4 5
4 3 3
5 3 3

MATRIZ DE VERTICES INTERMEDIOS CON


RUTAS ÓPTIMAS

1 2 3 4 5
1 0 3 1 5 7
2 3 0 2
3 1 0 4 6
4 5 2 4 0
5 7 6 0

Como se observa, aún falta información en las matrices


motivo por el cual se construye el árbol de la fig. 4. 7.

0
6
VERTICE 2 2
3 2
5
3 5 2 6
1 3 4 5 *
4 3
1
4 6 5
3 3 * 5
6
18
5 *

Fig. 4.6

148
Fig. 4.7

MATRIZ DE COSTO ASOCIADO A LA RED

1 2 3 4 5
1 - 3 1 - -
2 3 - 5 2 6
3 1 5 - 4 6
4 - 2 4 - 3
5 - 6 6 3 -

La información se continúa colocando en las matrices de costos y de


vértices intermedios anteriores:

MATRIZ DE COSTO MINIMO

1 2 3 4 5
1 0 3 1 5 7
2 3 0 4 2 5
3 1 4 0 4 6
4 5 2 4 0 3
5 7 5 6 3 0

MATRIZ DE VERTICES INTERMEDIOS


CON RUTAS ÓPTIMAS

1 2 3 4 5
1 1 2 3 3 3
2 1 2 1 4 4
3 1 1 3 4 5
4 2 2 3 4 5
5 3 4 3 4 5

149
Tal como se observa se ha obtenido el resultado final, por la
naturaleza de la información, ha sido suficiente la aplicación del
método en solo dos vértices.

C. ASIGNACION DE RECURSOS

Se presenta a continuación dos métodos, que se aplicarán al problema


de asignación de personal.
Los métodos son:

- Ramificación y acotación.
- Algoritmo de Little.

ASIGNACION DE PERSONAL (ramificación y acotación)

Se tiene una matriz construida con la calificación de cada uno de los


postulantes (i), en cada uno de los empleos (j) ofrecidos; donde el
número de empleos es igual al número de postulantes, se pide asignar
maximizando el rendimiento.

MÉTODO

1. Calcular la cota de la raíz (Bo), esta se logra sumando los mayores


puntajes obtenidos por empleo ofrecido (entrada i, j de la matriz).
2. Ramificar a partir del nudo de mayor valor todas las alternativas de
asignación de uno de los j trabajos restantes a cada postulante que
queda.
3. Evaluar las cotas de cada alternativa sumando el puntaje obtenido
por cada postulante en el empleo (hoja Ai, j), y la suma de los
mayores puntajes de cada columna restante (Bj). La suma se
representa como Dij = Aij+ Bj.
4. Analizar si existe una solución factible, ésta se presenta cuando
cada postulante tiene asignado un solo puesto de trabajo, la cota de
una solución factible elimina la búsqueda por nudos de cota inferior.
5. Se elige la cota de mayor valor, si la asignación es factible se tiene
el resultado, en caso contrario se repite el proceso a partir de 2.

Sea la siguiente matriz de resultados de una evaluación de personal,


donde se pide una asignación óptima.
150
1 2 3 4
j
i
1 4 7 9 8
2 6 5 8 13
3 10 9 8 14
4 8 7 9 13

i: postulante.
j: empleo ofrecido.
C(i, j): puntos obtenidos.

Cuando no existe asignación:

Bo= 10 + 9 + 9 + 14 = 42

- La cota de la raíz es 42 (valor cuando no existe asignación).


- Las alternativas de asignación para el primer empleo (j=l) son 4, por
ser este el número de postulantes.

La ramificación se presenta de la forma siguiente:

151
1,1

42 2,1

3,1

4,1

- Obtención de la cota para cada nudo.

Para j=1, se identifican las hojas Aij, de acuerdo a la matriz de


resultados se tiene:

A 11 = 4, A 2 1 = 6, A 3 1 = 10, A 4 1 =8

Los mayores puntajes de las columnas restantes de la matriz de


resultados son:

B 1 = 9 + 9 + 14 = 32

Por consiguiente la cota de cada nudo es:

D 11 = A 11 + B 1 = 4 + 32 = 36
D21 = A 2 1 + B 1 = 6 + 32 = 38
D31 = A 3 1 + B 1 = 10 + 32 = 42
D41 = A 4 1 + B 1 = 8 + 32 = 40

- Obtención de solución factible:

Si se analiza la asignación del primer trabajo al primer


postulante y la procedencia de los valores de B 1 , en la matriz de
resultados, se tiene que los valores de B 1 se lograron asignando al
152
postulante 3 los puestos 2 y 4 lo que hace infactible éstas y las demás
soluciones.

Continuando con la ramificación, se tiene que la mayor cota


corresponde al nudo (3, 1), el número de hojas en la rama es igual a
uno (solo existe la asignación del empleo j=1), por consiguiente el
número de ramificaciones que sale del nudo (3, 1) es 4 - 1 = 3.

Repitiendo los pasos anteriores se tiene que:

Para j = 2

A12 = 10 + 7 = 17
A22 = 10 + 5 = 15
A42 = 10 + 7 = 17
B2 = 9 + 14 = 23

El valor de A12 resulta de sumar el puntaje obtenido de asignar


al postulante 3 al puesto 1 (A31) con el puntaje obtenido por el
postulante 1 en el puesto 2 (en la tabla, C (1, 2) = 7 ).

Cota de cada nudo:

D 1 2 = A 1 2 + B 2 = 17 + 23 = 40
D 2 2 = A 2 2 + B 2 = 15 + 23 = 38
D 4 2 = A 4 2 + B 2 = 17 + 23 = 40

- Factibilidad:

Como se tiene asignado al postulante 3 el empleo 1, (asignación


para j=1), y siendo uno de los elementos de B 2 , la asignación (3, 4),
por consiguiente no es posible encontrar aún una solución factible.

La representación gráfica de los resultados es la siguiente

153
36
1,1

30 40
42 2,1 1,2

0
42 30
3,1 2,2

40 40
4,1 4,2

Los nudos de máxima cota son (1, 2) y (4, 2), las ramas que salen de
cada uno de los nudos es igual a 2, entonces:

j=3

1. Nudo A 1 2 2. Nudo A 4 2

A 2 3 = 17 + 8 = 25 A 1 3 = 17 + 9 = 26

A 4 3 = 17 + 9 = 26 A 2 3 = 17 + 8 = 25

B 3 = 14 B 3 = 14

D 2 3 = 25 + 14 = 39 D 1 3 = 26 + 14 = 40

D 4 3 = 26 + 14 = 40 A 2 3 = 25 + 14 = 39

- Factibilidad:

Como se tiene asignado al postulante 3, el empleo 1 y también el


empleo 4 (por B3) no es posible la existencia de solución factible.

154
Se continúa ramificando por los nudos de máxima cota, hasta
asignar el último empleo.

Los resultados se muestran en la fig. 4.6.

En la gráfica se observa que los máximas cotas corresponden a


las dos soluciones factibles, en consecuencia ambas soluciones son
óptimas. Las alternativas de solución en la asignación extraídas del
gráfico anterior son:

EMPLEO
POSTULANTE
1a. ALT. 2a. ALT. 3a. ALT.
1 2 3 3
2 4 4 4
3 1 1 2
4 3 2 1

Para el caso de minimización el proceso de solución es análogo al de


maximización.

155
36
1,1 39

2,3
38

2,1 40 40 39
42 1,2 4,3 2,4

0
42 38

3,1 2,2 40 39

1,3 2,4
40 40

4,1 4,2
39
38 2,3
1,2

36 40 39

2,2 1,3 2,4

40 39 33

3,2 2,3 1,4

Fig. 4.6

En un problema de costos se ha de determinar una cota mínima para la


raíz y las ramificaciones se efectuarán a partir de las hojas que poseen
las cotas mínimas.

4.4 ASIGNACIÓN DE RECURSOS (ALGORITMO DE LITTLE)


156
Para asignar minimizando los pasos son:

1. Reducción de la matriz en filas (h1) y columnas (h2) de tal forma


que se tenga al menos un cero en cada fila y columna. La reducción
total h = h1 + h2, viene a ser la cota de la raíz.
2. A cada cero de la matriz se le asocia un número (h’) denominado
penalización.
La penalización se obtiene sumando, a excepción del elemento cero
al que se le ha de penalizar, el menor elemento de la fila más el
menor elemento de la columna donde se halla ubicado el cero.
3. Se elige el cero con la más alta penalización.
4. Se ramifica considerando dos ramas:
- La primera rama contiene la hoja de la no asignación (i, j), que se
expresa como (i, j), con cota h+h’ (se asume que el elemento (i, j)
es un valor muy grande por lo que se ha de reducir la matriz en h’
unidades).
- La segunda rama contiene la hoja de la asignación (i, j) con cota h
+ h’’, es la reducción de la matriz que queda luego de la asignación.
5. Se continúa ramificando por la menor cota aplicando los
procedimientos señalados a partir de 2.

EJEMPLO
Sea la siguiente matriz de costos:

i\j 1 2 3 4
1 4 7 9 8
2 6 5 8 13
3 10 9 8 14
4 8 7 9 13

i: empleo
j: trabajo
C(i, j) : costo incurrido por el empleado i al efectuar el trabajo
j.

157
SOLUCIÓN

Este es un problema donde se ha de asignar minimizando el costo total


de los cuatro trabajos.
Aplicación del algoritmo:
- Reducción en filas y columnas:

REDUCCION EN FILAS Y COLUMNAS

4 7 9 8 4
6 5 8 13 5
10 9 8 14 8
8 7 9 13 7
_______

h 1 = 24

RESULTADOS

0 3 5 4
1 0 3 8
2 1 0 6
1 0 2 6

REDUCCION EN COLUMNAS RESULTADO

0 3 5 4 0 3 5 0
1 0 3 8 1 0 3 4
2 1 0 6 2 1 0 2
1 0 2 6 1 0 2 2

h2 = 0 + 0 + 0 + 4 = 4
158
Reducción total: h = h 1 + h 2 = 28 (cota de la raíz)
Si en la matriz resultado se tiene que cada empleado posee un trabajo
diferente con costo cero, se tendría la solución, pero como esto no
ocurre se continúa aplicando al algoritmo.

Penalización:

1 2
3 5
0 0
1
1 3 4
0
3
2 1 2
0
1
1 2 2
0

EJEMPLO:

Cálculo de la penalización del elemento (3, 3) :


h’ = min (2, 1, 2) + min(5, 3, 2)
h’ = 3

El elemento (3, 3) tiene la más alta penalización.


Las cotas de la ramificación son :

Cota para ( 3 , 3 ) = h + h’ = 28 + 3 = 31

Cota para ( 3 , 3 ) = h + h’’ = 28 + h’’

h’’ se obtiene reduciendo la matriz que queda luego de asignar al


empleado 3 el puesto 3, lo cual significa eliminar la fila 3 y columna
3.

159
0 3 0

1 0 4

1 0 2

Como se observa la reducción de esta matriz es h’’ = 0 , la cota para


(3, 3) = 28 + 0 = 28.

La gráfica siguiente señala los resultados.

28

3,3

28

31

3,3

Se continúa por la hoja (3, 3) que es de menor cota.

Penalización:

1 2
3
0 0
1
1 4
0

1
1 2
0

El elemento (1, 4) tiene la más alta penalización.


Cotas de la ramificación:
160
Cota para (1, 4) = cota de (3, 3) + h’ = 28 + 2 = 30
Cota para (1, 4) = cota de (3, 3) + h’’ = 28 + h’’

Cálculo de h’’ :
Se elimina la fila 1 y columna 4 y luego se reduce la matriz.

1 0

1 0

h’’ = 1

MATRIZ REDUCIDA

0 0

0 0

La cota para (1, 4) = 28 + 1 = 29

La gráfica siguiente señala los resultados:

Como la matriz reducida tiene sus 4 elementos iguales a cero, se


presenta dos alternativas de asignación, si a 2 se le asigna 1 queda la
asignación (4, 2) y si a 2 se le asigna 2 queda para asignar finalmente
al empleado 4 el trabajo 1.

161
ALTERNATIVAS DE ASIGNACION DE TRABAJOS

EMPLEADOS ALTERNATIVA 1 ALTERNATIVA 2


1 4 4
2 1 2
3 3 3
4 2 1

162
EJERCICIO

Con igual enunciado del ejemplo precedente resolver, por el


método de Little, la siguiente matriz :

5 4 6 4
7 4 9 8
9 4 7 10
4 5 4 6

El árbol que señala los resultados es :

16

19 19

2,2 2,2

22 19 19 22

3,2 3,2 1,4 1,4

21 19 19 21

1,4 1,4 4,1 4,1

21 19 19

2,1 2,1 3,3

19

4,3

163
ALGORITMO DE LITTLE- Caso de maximización

El algoritmo de Little se aplicará minimizando los complementos


respecto a una constante K cuyo valor puede ser por ejemplo el mayor
elemento de la matriz.

EJEMPLO:
MATRIZ INICIAL

4 7 9 8
6 8 5 13
10 9 8 14
8 7 9 13

MATRIZ COMPLEMENTO

10 7 5 6
8 6 9 1
4 5 6 0
6 7 5 1

Si la matriz dada es de beneficio el resultado que se obtiene de aplicar


el algoritmo a la matriz complemento es:

164
13

16 17

1,2 1,2

19 17 17 18

2,4 2,4 3,1 3,1

20 17 17 18

1,3 1,3 2,4 2,4

17 17 17

3,1 3,1 4,3

17 17

3,2 4,2

17

4,1

Siendo el beneficio total:

14 x 4 - 17 = 39

4.5 SECUENCIACIÓN

Cuando se tiene la siguiente información:

165
- Numero de trabajos
- Numero de operaciones requeridas por trabajo
- Secuencia de operaciones requeridas por trabajo
- Tiempo de operación en cada máquina
- Tiempo de preparación de máquina

Se hace necesaria la aplicación de un método para encontrar


un orden adecuado de ejecución a fin de minimizar el tiempo total
de ejecución de todos ellos.
Los casos que se presentan a continuación son:
- Hallar el orden de ejecución de n trabajos en una máquina
- Hallar el orden de ejecución de n trabajos en m máquinas,
donde todos los trabajos siguen una misma secuencia de
proceso.
- Hallar el orden de ejecución de n trabajos en m
máquinas donde cada trabajo tiene una secuencia de
proceso dife- rente.

CASO I : HALLAR EL ORDEN DE EJECUCION DE N TRABAJOS EN


UNA MÁQUINA

En relación a este primer caso, la información requerida para


optimizar el orden de ejecución puede ser el costo o el tiempo de
preparación de la máquina para ejecutar el trabajo que sigue a
cualquiera de los n-1 trabajos.

EJEMPLO
Se tiene una máquina y 4 trabajos, la matriz de costos de preparación
de máquina es:

166
j
i 1 2 3 4

1 M 6 4 5

2 3 M 8 4

3 6 7 M 3

4 7 5 4 M

( i , j ) : trabajos
C(i ,j) : costo de preparación de máquina para ejecutar el trabajo j,
luego de haber ejecutado el trabajo i.
M : costo muy alto

Se pide encontrar el orden óptimo de ejecución de los trabajos.

SOLUCION

Este problema es de minimizaron y puede ser resuelto aplicando el


algoritmo de Little, como se quiera ejecutar todos los trabajos se ha de
evitar la formación de ciclos cambiando al valor M el valor del
elemento de la matriz que puede inducir al ciclo.

167
Reducción de filas y columnas:

M 6 4 5 (4) M 2 0 1
(3)
3 M 8 4 0 M 5 1
(3)
6 7 M 3 3 4 M 0
(4)
7 5 4 M 3 1 0 M

h =114 (1) h =2 1

M 1 0 1

0 M 5 1

3 3 M 0

3 0 0 M

h1 = h + h =1 15 2

168
1
M 1 0 1 M 0 1
4
0 M 5 1
4
3 3 M 0 3 M 0
1 0
3 0 0 M 0 0 M

h` = 4 h`` = 0

15

19 15
___
2,1 2,1

Se asigna (2, 1) significa que a continuación del trabajo 2 , se ejecuta


el 1 , y C(1, 2) = M (para evitar el ciclo 2-1-2) luego se obtiene h’’=0

169
1
M 0 1 M 0

3 M 0 4
3
0 0 0 M 0 M

h` = 4

15

19 15
___
2,1 2,1
19 15
___
3,4 3,4

Se asigna (3, 4) , C(4, 3) = M y por consiguiente h’’=0

170
M
M 0 M 0

M
0 M 0 M

h` = M

Se asigna (1, 3), h’’ = 0 y finalmente se asigna (4, 2)

15

19 15
___
2,1 2,1
19 15
___
3,4 3,4
19 15
___
1,3 1,3

15 15
___
4,2 4,2

171
RESPUESTA

El orden de ejecución de los trabajos, partiendo del trabajo 1, es


1-3-4-2-1 y el costo total es de 15 unidades.

CASO II: HALLAR EL ORDEN DE EJECUCION DE N TRABAJOS


EN M MÁQUINAS PARA IGUAL SECUENCIA DEL
PROCESO (ALGORITMO DE LOMNICKI)

La solución de este caso se presenta mediante el siguiente ejemplo:

EJEMPLO

MAQUINA
TRABAJO M1 M2 M3
T1 3 5 8
T2 7 6 4
T3 6 3 2
T4 8 9 9

Sea la misma secuencia de operación para cada trabajo. Se


pide hallar el orden óptimo de ejecución.

SOLUCION

Suponiendo un orden arbitrario de ejecución de los trabajos:


W=(W 1 , W 2 , W 3 , W 4 )=(T 1 , T 3 , T 4 , T 2 )

El tiempo total de ejecución de éste orden se obtiene gráficamente :

172
M3 T1 T3 T4 T2

M2 T1 T3 T4 T2

M1 T1 T3 T4 T2

10 20 30 39

En la figura se observa que el tiempo total empleado para el orden


asumido es de 39 unidades. Se alcanza el mismo resultado sabiendo
que:

f(Wi, j ) = ma x { f ( Wi-1, j), f(Wi, j-1)} + d ( W i, j) . . . (4.1)


f ( W i , j ) : tiempo medido desde el inicio del proceso hasta que el
trabajo Wi es terminado en la máquina j.
d ( W i , j ) : tiempo de operación del trabajo Wi en la máquina j.

Los dos términos que siguen en la ecuación 4.1 tienen definiciones


análogas.

Aplicaciones de la ecuación 4.1

a. Cálculo del tiempo en que T 4 (W 3 ) es terminado en M 2 :

f(W 3 , 2 ) = m a x {f(W 2 , 2 ), f(W 3 , 1 )} +d(W 3 , 2 )

Reemplazando W 3 y W 2 por T 4 y T 3 respectivamente se tiene:


f (T 4 , 2 ) = m a x { f(T 3 , 2 ), f(T 4 , 1 )} +d(T 4 , 2 )

Con ayuda del gráfico se obtiene:


f ( T 4 , 2 ) = m a x { 12 , 17 }+3 = 20

b. Cálculo del tiempo en que T 2 (W 4 ) es terminado en M 3 :

f ( W4 , 3 ) = m a x{f(W 3 , 3 ), f(W 4 , 2 )} +d(4, 3)


173
f ( T2 , 3 ) = m a x { f ( T 4 , 3 ) , f ( T 2 , 2 )} +d(2, 3)
= m a x { 35 , 32 } + 4 = 39

c. Aplicar la ecuación 4.1 desde el inicio del proceso para el orden


fijado (T 1 , T 3 ,T 4 ,T 2 )

f(W 1 , 1 ) = f(T 1 , 1 ) =
d(T 1 , 1 ) = 3
f(W 1 , 2 ) = f(T 1 , 2 ) =
f(T 1 , 1 ) + d(T 1 , 2 ) = 3+5 = 8
f(W 1 , 3 ) = f(T 1 , 3 ) =
f(T 1 , 2 ) + d(T 1 , 3 ) = 8+8 = 16
f(W 2 , 1 ) = f(T 3 , 1 ) =
f(T 1 , 1 ) + d(T 3 , 1 ) = 3+6 = 9
f(W 2 , 2 ) = f(T 3 , 2 ) =
max {f(T 1 , 2 ), f(T 3 , 1 )} + d(T 3 , 2 )
= max (8, 9) + 3 = 12
f(W 2 , 3 ) = f(T 3 , 3 ) = max {f(T 1 , 3 ), f(T 3 , 2 )} + d(T 3 , 3 )
= max {16, 12} + 2 = 18

Se continúa hasta obtener la matriz de resultados siguientes:

M1 M2 M3

W1 = T1 3 8 16

W2 = T3 9 12 18
f (wi , j ) =
W3 = T4 17 26 35

W4 = T2 24 32 39

Aplicación práctica de la ecuación (4.1):

Comparando el gráfico con esta matriz de resultados, se observa que


para calcular los elementos de ésta, se procede de la siguiente manera:

a. La primera fila del matriz resultado se obtiene así:


f(T 1 , 1 ) = d(T 1 , 1 ) = 3
f(T 1 , 2 ) = d(T 1 , 1 ) + d(T 1 , 2 ) = 8
f(T 1 , 3 ) = d(T 1 , 1 ) + d(T 1 , 2 ) + d(T 1 , 3 ) = 16

b. La primera columna del matriz resultado se obtiene así:


f(T 1 , 1 ) = d(T 1 , 1 ) =3

174
f(T 3 , 1 ) = d(T 1 , 1 ) + d(T 3 , 1 ) =9
f(T 4 , 1 ) = f(T 3 , 1 ) + d(T 4 , 1 ) = 17
f(T 2 , 1 ) = f(T 4 , 1 ) + d(T 2 , 1 ) = 24

c. Para calcular los demás elementos de la matriz se procede como


sigue:

- Para calcular f(W2, 2) o sea el elemento (T3, 2) de la matriz de resultados se efectúa


la siguiente operación con los datos (T1, 2) y (T3, 1) obtenidos de a y b.
f(W 2 , 2 )= f(T 3 , 2 )= m a x { 9, 8} +d(T 3 , 2 ) = 9+3 = 12

- Para f(W 2 , 3 ) se tiene:


f(W 2 , 3 ) =f(T 3 , 3 ) = m a x{12, 16} +d(T 3 , 3 ) = 16+2 = 18

Donde 12 y 16 son los elementos (T 3 , M 2 ) y (T 1 , M 3 ) de la matriz de


resultados y d(T 3 , 3 ) se obtuvo de la matriz del problema.

- Para f(W 3 , 2 ), se tiene:


f(W 3 , 2 )= f (T 4 , 2 ) = m a x{17, 12} +d(T 4 , 2 ) = 17+9 = 26

Para la obtención de los elementos que faltan se procede de manera


similar a lo anterior; es conveniente relacionar el procedimiento de
cálculo con el gráfico, para la deducción de la regla de formación de
los tiempos.

Si se tiene n trabajos, el número de secuencias diferentes que se pueden


analizar es n! , para evitar este trabajo se presenta a continuación un
algoritmo que minimiza el esfuerzo de cálculo.

175
ALGORITMO DE LOMNICKI

Este algoritmo hace uso del método de ramificación y acotación, es


aplicable cuando la secuencia de operaciones en las máquinas es la
misma para todos los trabajos.
El algoritmo se presentará y se aplicará para el caso de 3 máquinas,
siendo también aplicable cuando el número de máquinas es mayor.
Para acotar se encontrará las duraciones de 3 trayectorias (una por cada
máquina) .De acuerdo al siguiente teorema la cota del nudo será la
mayor de esas duraciones.

TEOREMA

La duración L(W), del total de los trabajos, siguiendo una secuencia W,


es igual a la duración mayor de las trayectorias que van del W 1 en la
máquina 1 a Wn en la máquina n.

Sea un nudo intermedio donde se tiene fijada la secuencia W 1 , W 2 ,


W 3 , ..., W k y falta definir cuales son los Wk+1, ..., Wn.

Para el caso de 3 máquinas se tiene las siguientes trayectorias:

a. Primera trayectoria (g’)

Aquí se supone que la máquina 3 no tiene tiempos de espera para los


trabajos que aún no se ha definido el orden de ejecución, luego:

g’=fk(Wk, 3)+d(Wk+1, 3)+d(Wk+2, 3)+..+d(Wn, 3)

el subíndice k de f señala la existencia de k trabajos en orden.

176
M3 W1 W2 W k + W k+1 +...+W n

M2 W1 W2 W k

M1 W1 W2 W k

n
f k (W k , 3) d(W i , 3)
i=k+1

b. Segunda trayectoria: g’’

Aquí se supone que en la máquina 2 no hay tiempo de espera


entre los trabajos que no tienen definido el orden de ejecución y el
último trabajo a ejecutarse en la máquina 3 es aquel que tenga la
mínima duración entre aquellos que faltan ordenar.

M3 W i

M2 W1 W2 W k + W k+1 +...W n +

M1 W1 W2 W k
n
f k (W k , 2) d(W i , 2)
i=k+1 min d(Wi,3)

i=k+1,...,n

g’’= f k ( Wk , 2) + d ( Wk+1, 2) + .. +d( Wn , 2) + min d ( W i ,


3)
i= k+1, .., n

c. Tercera trayectoria: g’’’

177
Se asume que el último trabajo podrá ejecutarse en todas las máquinas
sin pérdida de tiempo entre el paso de una máquina a la otra , lo cual
equivale a considerar como un bloque los trabajos en M 1 y escoger
como último trabajo aquel cuya suma de duraciones en las máquinas 2
y 3 sea mínima.

M3 W i

M2 W k+1 +.. +W n

M1 W1, W2, W3,. . .,W n +

f k (W k , 2) min{d(W i , 2))+d(W i , 3)}


i=k+1,n

g’’’ = d ( W 1 , 1 ) +..+ d ( W n , 1 ) + min { d( W i , 2 ) +d( W i , 3 )}

i=k+1, .., n

178
Finalmente la cota del nudo k es:

G k = max { g ‘, g ‘’, g ‘’’ }


Para hallar el óptimo de ejecución de trabajos del ejemplo
anteriormente propuesto:

M1 M2 M3
T1 3 5 8

T2 7 6 4

T3 6 3 2

T4 8 9 9

Se observa en la matriz que existen solamente 4 posibilidades de


iniciar el orden de ejecución de los trabajos.

RAIZ

T1 T2 T3 T4

Para encontrar las cotas de estas alternativas se procede a aplicar el


algoritmo. Para la primera alternativa, T 1 como primer trabajo se tiene:

Como W k = T 1 entonces:
Calculo de g’:
f 1 (T 1 , 3 ) = 3+5+8 = 16
g’ = f 1 (T 1 , 3 ) + d(T 2 , 3 ) + d(T 3 , 3 ) + d(T 4 , 3 )
= 16 + 4 + 2 + 9 = 31

179
M3 T1 T2, T3, T4

M2 T1

M1 T1

10 20 30

Calculo de g’’ :

g’’=f 1 (T 1 , 2 )+d(T 2 , 2 )+d(T 3 , 2 )+d(T 4 , 2 )+min{d(T 2 , 3 ), d(T 3 , 3 ), d(T 4 , 3 ) }


g’’ = 8 + 6 + 3 + 9 + 2 = 28

Calculo de g’’’:

g’’’=d(T 1 , 1 )+d(T 2 , 1 )+d(T 3 , 1 )+d(T 4 , 1 )+min{d(T 2 , 2 )+d(T 2 , 3 ), d(T 3 , 2 )+d(T 3 ,


3 ), d(T 4 , 2 )+d(T 4 , 3 )}
g’’’= 3+7+6+8+min{6+4, 3+2, 9+9} = 29

M3 T3

M2 T3

M1 T1, T2, T3, T4

10 20 30
GT 1 = max {31, 28, 29} = 31

180
El procedimiento de cálculo se puede simplificar a partir de la tabla
siguiente:

M1 M2 M3 g` g`` g``` G
f1(T1, j) 3 8 16 31 28 29 31

f1(T2, j) 7 13 17 36 32 29 36

f1(T3, j) 6 9 32 33 34 34
11

f1(T4, J) 8 17 26 40 33 29 40

La primera parte del cuadro (hasta la columna que encabeza M 3 ) , se


consigna información referente al tiempo total transcurrido desde el
inicio hasta que cada trabajo haya concluido sus operaciones en cada
una de las máquinas, como se sabe , la información en referencia es
útil para efectuar el calculo de trayectorias (segunda parte del cuadro) ,
que se logra con el auxilio de la matriz de tiempos de operación
propuesta en el problema.

El gráfico siguiente muestra las cotas de las alternativas

181
RAIZ

31 40
36 34
T1 T2 T3 T4

T1T2 T1T3 T1T4

Tal como se observa en el gráfico la menor cota corresponde a T 1 , por


consiguiente este trabajo encabeza el orden de ejecución existiendo
entonces 3 alternativas para el segundo lugar.

Si se supone que T 2 es el segundo trabajo entonces se tiene el


siguiente gráfico:

M3 T1 T2

M2 T1 T2

M1 T1 T2

10 20

Aplicando la ecuación 4.1 se encuentra el mismo resultado:

f 2 (T 2 , 1 ) = f 1 (T 1 , 1 ) + d(T 2 , 1 ) = 3+7 =10


f 2 (T 2 , 2 ) = m a x { f 1 (T 1 , 2 ) , f 2 (T 2 , 1 )} +d(T 2 , 2 )

182
= max{8, 10}+6 = 16
f 2 (T 2 , 3 ) =max{f 1 (T 1 , 3 ), f 2 (T 2 , 2 )} +d(T 2 , 3 )
=max{16, 16}+4 = 20

Como se podrá observar esta información representa el punto de partida


del algoritmo y como ya se ha visto anteriormente, esta se obtiene
fácilmente partiendo de los datos de la primera fila y primera columna
de la matriz de resultados la cual es:

M1 M2 M3

T1 : f1(T1, j) 3 8 16 g` g`` g```

T1,T2 : f1(T2, j) 16 20 31 30 29
10

T1,T3 : f1(T3, j) 9 12 18 31 31 34

T1,T4 : f1(T4, J) 11 20 29 35 31 29

Se tiene por ejemplo que para el calculo de g’ para la secuencia T 1 , T 2


se procede de la forma siguiente:

g’ = f 2 ( T 2 , 3 )+ d ( T 3 , 3 )+d(T 4 , 4 ) = 20+2+9 = 31

La siguiente gráfica muestra los resultados:

183
RAIZ

31
36 34
T1 T2 T3 T4

31 34 35

T1T2 T1T3 T1T4

42 38

T1T2T3 T1T2T4

La menor cota corresponde a T 1 , T 2 las alternativas para ocupar el


tercer lugar en el orden , son dos y corresponden a los trabajos T 3 y T 4 .

Aplicando nuevamente el algoritmo para las dos alternativas se tiene:

M1 M2 M3
T1,T2 : f2(T2, j) 10 16 20 g` g`` g```

T1,T2,T3 : f3(T3, j) 16 19 22 31 37 42

T1,T2,T4 : f3(T4, j) 18 27 36 38 32 29

184
Las cotas obtenidas son altas en comparación con los que se tiene en el
gráfico , en consecuencia se continua ramificando por la alternativa de
menor cota hasta lograr el resultado que se tiene en el siguiente árbol ,
donde se señala que la duración optima es de 35 unidades y las
alternativas del orden de ejecución son: T 1 , T 4 , T 3 , T 2 y T 1 , T 4 , T 2 , T 3 .

RAIZ

31 40
36 34
T1 T2 T3 T4

31 34 35 35 41 44

T1T2 T1T3 T1T4 T3T1 T3T2 T3T4

42 42 35 39
42

T1T2T3 T1T3T2 T1T4T2 T3T1T2 T3T1T4

38 35
39

T1T2T4 T1T3T4 T1T4T3

185
M3 T1 T4 T3 T2

M2 T1 T4 T3 T2

M1 T1 T4 T3 T2

35

T1 T4 T2 T3
M3
T1 T4 T2 T3
M2

T1 T4 T2 T3
M1

35

CASO III : HALLAR EL ORDEN DE EJECUCION DE N


TRABAJOS EN N MÁQUINAS DONDE CADA
TRABAJO TIENE UNA SECUENCIA DE PROCESO
DIFERENTE

Cuando cada trabajo tiene una secuencia diferente de ejecución, se


hace conveniente la aplicación del algoritmo de H. Greenberg; con el
cual se determina el tiempo óptimo de inicio de operación de cada
trabajo en cada máquina logrando así que la duración total del proceso
sea mínima.

186
La información requerida para aplicar el algoritmo es :

a. Duración de la operación en máquina de cada trabajo que se


denota como:
D= d(i, j) .......... 4.2
b. Secuencia del proceso de cada trabajo:
L=l(i, k) .......... 4.3
El conocimiento del algoritmo de H. Greenberg se alcanzará a
través de un ejemplo.

187
EJEMPLO

Sea la siguiente matriz de tiempos:

MAQUINA j
TRABAJO i M1 M2 M3
A 3 _ 8

D= B 7 3 _

C 5 4 3

d (i, j ) : tiempo de operación del trabajo i en la máquina j

Sea la secuencia de operaciones de cada uno de los trabajos:

SECUENCIA K
TRABAJO i M1 M2 M3
A M3 M1 _

L= B M2 M1 _

C M1 M3 M2

Por ejemplo, la secuencia del trabajo C es: M1, M3, M2.

Se pide determinar el tiempo mínimo de ejecución de los trabajos.

SOLUCION :

Si: S(i, j) : tiempo de inicio del trabajo i en la máquina j,

Por (4.2) y (4.3) se tiene las siguientes restricciones:

188
S [i, l(i, k)] + d [i, l(i, k)] <= S [i, l(i, k+1)] ...(k=1 ... m-1)...4.4
Sq : Tiempo en que termina el último trabajo.
Sq es el máximo de los S [i, l(i, m)] + d [i, l(i, m)], resumiendo
se tiene la siguiente formulación :

min Z = Sq

Sujeto a:
S [i, l(i, k)] + d[i, l(i, k)] <= S[i, l(i, k+1)] ; K= 1... m-1
S [ix(i, m)] + d[i, l(i, m)] <= Sq ...4.5

El algoritmo de H. Greenberg consiste en:

1. Resolver (4.5), hacer r=0, dibujar la raíz, etiquetar con Yr y


acotar con Z.
2. Hacer dos ramificaciones, en la primera el trabajo W debe
iniciarse antes que el trabajo T en la máquina p.

W < T ...... S(W, p) + d(W, p) <= S(t, p)

y la segunda es :

T < W ...... S(T, P) + d(t, p) <= S(w, p)


.... condición que no debe existir en Yr

Se tienen dos nudos, cuya cota será la solución de Yr más su


respectiva restricción adicional. Hacer r=r+1 y etiquetar el nudo cuya
cota sea menor con Yr.

3. Si todas las secuencias en las máquinas especificadas en Yr , esa


es la solución óptima en caso contrario ir a (2).

APLICACION DEL ALGORITMO EN EL EJEMPLO

r=0
min Z = Sq

Sujeto a:
189
S(A, 3) + d(A, 3) <= S(A, 1);
S(A, 3) + 8 <=S(A, 1)
S(B, 2) + d(B, 2) <= S(B, 1);
S(B, 2) + 3 <= S(B, 1)
S(C, 1) + d(C, 1) <= S(C, 3);
S(C, 1) + 5 <= S(C, 3)

Yo :

S(C, 3) + d(C, 3) <= S(C, 2);


S(C, 3) + 3 <= S(C, 2)
S(A, 1) + d(A, 1) <= Sq ;
S(A, 1) + 3 <=Sq
S(B, 1) + d(B, 1) <= Sq ;
S(B, 1) + 7 <=Sq
S(C, 2) + d(C, 2) <= Sq ;
S(C, 2) + 4 <=Sq

Problema cuya solución es :


Sq = 12 ,

luego : ........ Yo

Se hacen dos ramificaciones y se resuelven dos problemas :

a. Yo con la restricción S(A, 1) + 3 <= S(B, 1)

b. Yo con la restricción S(B, 1) + 7 <= S(A, 1)

Las respuestas son 18 y 13 respectivamente por lo que Y1 es Yo


con

S(B, 1) + 7 <= S(A, 1).

A partir de Y1 se continua ramificando todas las alternativas


que aun faltan. Las alternativas de acuerdo al uso de las máquinas por
los traba
os son:

190
- Para la máquina M1 (Trabajos; A, B, C)
A<B ó B<A
A<C ó C<A
B<C ó C<B

- Para M2 (Trabajos; B y C)
B<C ó C<B

- Para M3 (Trabajos; A y C)
A<C ó C<A

Ramificando con la aplicación del algo ritmo se tiene los


siguientes resultados:

n RESTRICCION ADICIONAL COTA


S(A, 1) + 3 <= S(C, 1) 25
2 S(C, 1) + 5 <= S(A, 1) 13
S(B, 1) + 7 <= S(C, 1) 22 Y3
3 S(C, 1) + 5 <= S(A, 1) 15
S(B, 2) + 3 <= S(C, 2) 15 Y4
4 S(C, 1) + 4 <= S(A, 1) 25
S(A, 3) + 8 <= S(C, 3) 15 Y5
5 S(C, 3) + 3 <= S(A, 3) 19

Como se agotaron todas las alterna tivas en Y5, el tiempo mínimo


es de 15 unidades con los siguientes tiem pos de inicio.

S(A, 1) =12 S(B, 1) =5 S(C, 1) = 0


S(A, 3) =0 S(B, 2) =0 S (C, 2) =11
S(C, 3) = 8

El árbol final es :

191
12

Y0

18 13

S(A,1) + 3 < S(B, 1) Y1 S(B, 1) + 7 < S(A, 1)

25 13

S(A, 1) + 3 < S(C,1) Y2 S(C, 1) + 5 < S(A, 1)

22 15

S(B, 1) + 7 < S(C, 1) Y3 S(C, 1) + 5 < S(B, 1)

25 15

S(C, 2) + 4 < S(B, 2) Y4 S(B, 2) + 3 < S(C, 2)

19 15

S(C, 3) + 3 < S(A, 3) Y5 S(A, 3) + 8 <S(C, 3)

La solución se representa grá ficamente

192
M3 A C

M2 B C

M1 C B A

3 5 8 11 12 15

Una manera más sencilla de resolver el proble ma es haciendo uso del


método de la ruta crítica para resolver todos los pa sos del algoritmo.

Con los datos del ejemplo se procede como si gue:

Para facilitar la confección del gráfico se denota con las letras A, B, C


a los trabajos y con los números 1, 2 y 3 a las máquinas M1, M2 y M3
respectivamente; así se tiene por ejemplo que para indicar que el
trabajo A está ubicado en la máquina M3 , basta expresarlo como A, 3.

Tiempo de duracion del programa

193
0 8
8 3
A,3 A,1

0 3 12
0 3 7 0
Inicio B,2 B,1 Fin

0 5 8
5 3 4
C,1 C,3 C,2

12

Y0

Para M1 :

A, 1 < B, 1

194
0 8
8 3
A,3 A,1

0 11 18
0 3 7 0
Inicio B,2 B,1 Fin

0 5 8
5 3 4
C,1 C,3 C,2 12

Yo

18

A,1 < B,1

195
Para :
B, 1 < A, 1

0 10
8 3
A,3 A,1

0 3
0 3 7 0
Inicio B,2 B,1 Fin

0 5 8
5 3 4
C,1 C,3 C,2

12

Yo

18 13

A,1 < B,1 Y1 B,1 < A,1

196
Para :
A, 1 <C, 1

0 10
8 3
A,3 A,1

0 3 25
0 3 7 0
Inicio B,2 B,1 Fin

13 18 21
5 3 4
C,1 C,3 C,2

13

Y1

25

A,1 < C,1

197
Para :
C, 1 < A, 1

0 10
8 3
A,3 A,1

0 3 13
0 3 7 0
Inicio B,2 B,1 Fin

0 5 8
5 3 4
C,1 C,3 C,2

13

Y1

25 13

A,1 < C,1 Y2 C,1 < A,1

198
Para :
B, 1 < C, 1

0 15
8 3
A,3 A,1

0 3 22
0 3 7 0
Inicio B,2 B,1 Fin

15 18
5 3 4
C,1 C,3 C,2
10

13

Y1

22

B,1 < C,1

Continuando con el procedimiento se obtiene finalmente lo siguiente:

199
0 12
8 3
A,3 A,1

0 5 15
0 3 7 0
Inicio B,2 B,1 Fin

8
5 3 4
C,1 C,3 C,2
0 11

15

Y3

25 15

C,1 < B,1 Y4 B,1 <C,1

C,3 < A,3 Y5 A,3 < C,3

Cabe notar que a partir de la red re sulta fácil efectuar el gráfico de


barras donde se señala el orden de ejecución de los trabajos en cada

200
máquina ya que se cuenta con las pre cedencias, los TPI y la duración
de cada trabajo en cada máquina.

201
202
CAPÍTULO V

PROGRAMACIÓN DINÁMICA

5.1 DEFINICIÓN

Es un método de optimización de los sistemas sobre los que se opera


por fases o etapas. El punto de partida de este méto do es el llamado
Teorema de Optimidad.

TEOREMA DE OPTIMIDAD

«Una política óptima sólo puede es tar formada por subpolíticas


óptimas».

5.2 CARACTERÍSTICAS DE LOS PROBLEMAS DE


PROGRAMACIÓN DINÁMICA

a. El problema se descompone en subproblemas denominados etapas,


cada una de éstas se optimiza sobre sus al ternativas.
b. En cada etapa existe un número de estados posibles por ejemplo para
el caso de un problema de inventarios los estados posi bles son los
stocks.
c. La decisión que se toma en una etapa de terminada implica la
transición de un estado de esta etapa a un estado de la si guiente etapa.
d. Al igual que otros proble mas de optimización existe una función
objetivo sujeta a restricciones.
e. La función objetivo se identi fica mediante una fórmula de
recurrencia o rendimiento con la previa identificación de la variable de
decisión.
f. La ecuación recursiva per mite que se optimice cada etapa por
separado, también mantiene información de rendimiento óptimo acu-
mulado de las anteriores etapas conside radas, de manera que cuando se
llega a la última etapa se tiene el ren dimiento óptimo total para el
problema completo.
g. El proceso de solución empieza generalmente optimizando la última
etapa y se progresa incluyendo una etapa cada vez hasta llegar a la
primera.
203
204
5.3 ELEMENTOS BASICOS DE LA PROGRA MACIÓN DI NÁMICA

Existen tres elementos básicos:


- Etapa
- Estado del sistema en cada etapa
- Alternativas o variable de decisión en cada etapa con su función de rendimiento
asociada.

a. Etapa
La etapa representa una porción del problema para la cual se debe
tomar una decisión.
b. Estado del Sistema
El estado representa las condiciones iniciales de cada etapa y sir ve de
liga a través de la aplicación de la función de rendimiento entre las
etapas subsecuentes.
c. Alternativa o variable de Decisión
La deteminación de alternativas dentro de cada etapa es par te integral
de la definición de la etapa y por consiguiente deberá ser fácil mente
identificable.
Asociado a cada etapa está la fun ción de rendimiento de una variable
de decisión la cual evalúa cada alternativa.

EJEMPLO DE OPTIMIZACIÓN SECUENCIAL

Se propone construir una carre tera que pasará por la cerca nía de diver-
sas ciudades y tendría M tramos. Para cada uno de estos tramos se ha
estudiado y evaluado el costo de diversas variables.
La red representada en la fig. 5.1 mues tra los costos de construcción de
cada tramo. Se pide encontrar el cami no de valor mínimo entre (1) y
(10).

205
Fig. 5.1

206
SOLUCION:

Para obtener la solución, el procedimiento de cálculo que se va a em-


plear se le conoce como «Procedimiento de cálculo hacia adelante: f 1 ,
f2.... F N . Donde f 1 y F N son las funciones: inicial y final de la función
recursiva.

Etapas: Como se observa en la fig. 5.1, exis ten 4 etapas

Estado: (s.f.) o punto de partida o inicio de cada etapa.


Por ejemplo el estado de la etapa 2 está com prendido por los
vértices 2, 3,4.

Variable de decisión:(s.f.), como destino o extremo final de cada


etapa.

Función de rendimiento:

f n(Sn,Xn) = min[C(Sn,Xn) + f n-1(Xn-1)]

f n(Sn,Xn): Costo total cuando se ha


recorrido n etapas.

C(Sn,Xn) : Costo de la etapa n.

f n-1(Xn-1) : El mejor costo total cuan do se ha recorrido


n-1 etapas.

Aplicando la función de rendimiento se tiene.


a) Para n =1

f1(S 1 ,X 1 ) = C(S 1 ,X 1 ) + f* 0 (x 0 )
S 1 =1
X 1 = 2,3,4
X 0 =1

Cuando X 1 =2
f 1 (1,2) = C(1,2) + f* 0 (1) = 2 + 0 = 2
Mejor costo total para llegar a (2) es:
f* 1 (2) = 2
207
Cuando X 1 = 3
f 1 (1,3= C(1,3) + f* 0 (1) = 3 + 0 = 3
Mejor costo total para llegar a (3) es:
f* 1 (3) = 3

Cuando X 1 = 4
f 1 (1,4) = C(1,4) + f* 0 (1) = 4 + 0 = 4
Mejor costo total para llegar a (4) es:
f* 1 (4) = 4

b.) Para n=2


f 2 (S 2 ,X 2 ) = C(S 2 ,X 2 ) + f* 1 (X 1 ), pero como X 1 = S 2 entonces:
f 2 (S 2 ,X 2 ) = C(S 2 ,X 2 ) + f* 1 (S 2 )
S 2 =2,3,4
X 2 = 5,6,7

Si X 2 = 5 se tiene :
f 2 (S 2 , 5 ) = min [C(S 2 , 5 ) + f*1(S 2 )], S 2 : 2,3,4
= min [C(2,5) + f* 1( 2), C(3,5) + f*1( 3),C(4,5) +
f*1(4)]
= min [7+2, 3+3, 4+4] = 6

Mejor costo para llegar a (5) es:


f*2(5) = 6

Resumiendo y continuando con la aplicación de a fórmula recursiva, se


obtiene los siguientes resultados:

208
n=1
+------------------------+
¦ x1 ¦ ¦ ¦ ¦
¦ S1 ¦2 ¦3 ¦4 ¦
+---------+----+----+----¦
¦ 1 ¦2 ¦3 ¦4 ¦
+---------+----+----+----¦
¦ f1(x1) ¦ 2 ¦ 3 ¦ 4 ¦
+---------+----+----+----¦
¦ S1 = xo ¦ 1 ¦1 ¦1 ¦
+------------------------+

En la última fila se indica el estado correspondiente al menor costo

n = 2
+-------------------------+
¦ x2 ¦ ¦ ¦ ¦
¦ S2 ¦ 5 ¦ 6 ¦ 7 ¦
+----------+----+----+----¦
¦ 2 ¦ 9 ¦ 8 ¦ 6 ¦
+----------+----+----+----¦
¦ 3 ¦ 6 ¦ 5 ¦ 7 ¦
+----------+----+----+----¦
¦ 4 ¦ 8 ¦ 5 ¦ 9 ¦
+----------+----+----+----¦
¦ f2(x2) ¦ 6 ¦ 5 ¦ 6 ¦
+----------+----+----+----¦
¦ S2 = x1 ¦ 3 ¦ 3 ¦ 2 ¦
+-------------------------+

EJEMPLO DE CÁLCULO:

PROBLEMA 1
209
Si se desea calcular el mejor costo para lle gar a X2 =6 se procede de la
siguiente manera:

f 2(S2,6) = min [C(S2,6) + f* 1(S2)]

S2 : 2,3,4
= min [C(2,6) + f*11(2), C(3,6) + f* 1(3), C(4,6)
+ f* 1(4)]

= min [6+2,2+3,1+4] = 5

f 2(S2,6) = f* 2(6) = 5

210
n=3
+------------------+
¦ x3 ¦ ¦ ¦
¦ S3 ¦8 ¦9 ¦
+--------+----+----¦
¦ 5 ¦ 7 ¦ 10 ¦
+--------+----+----¦
¦ 6 ¦ 11 ¦ 8 ¦
+--------+----+----¦
¦ 7 ¦9 ¦9 ¦
+--------+----+----¦
¦ f3(x3) ¦ 7 ¦ 8 ¦
+--------+----+----¦
¦ S3 = x2¦ 5 ¦ 6 ¦
+------------------+
n = 4
+-----------------+
¦ x4 ¦ ¦
¦ S4 ¦ 10 ¦
+-----------+-----¦
¦ 8 ¦ 10 ¦
+-----------+-----¦
¦ 9 ¦ 12 ¦
+-----------+-----¦
¦ f4(x4) ¦ 10 ¦
+-----------+-----¦
¦ S4 = x3 ¦ 8 ¦
+-----------------+
El costo total de construcción es 10 unidades.
El camino se localiza de la forma si guiente:

Para n =4, X4 = 10 y S4 = X3 = 8

Para n =3, X3 = 8 y S3 = X2 = 5
211
Para n =2, X2 = 5 y S2 = X1 = 3

Para n =1, x1 = 3 y S1 = Xo = 1

Entonces el camino (Xo, X1, X2, X3, X4) es (1,3,5,8,10).

El camino se muestra en la fig. 5.2.

Fig. 5.2

212
PROBLEMA 2
Se tiene un contrato para entregar 3 uni dades mensuales de cierto
producto durante 4 meses, la capacidad de producción de la planta es
de 5 unidades mensuales como máximo.
El stock a fin de mes no puede ser mayor de 4 unidades.
El costo de fabricación C(X) es como si gue:

C(o) = O, C(1) = 15, C(2) = 17,


C(3) = 19, C(4) = 21 y C(5) = 23

El costo de almacenamiento por uni dad-mes es 2.


El inventario inicial : II = 0
El inventario final : IF = 0
Se pide optimizar la producción en un horizon te de 4 meses.

SOLUCION :

Etapas : 4 ( número de etapas)


Estado del Sistema : IIn, Inventario ini cial en la etapa n
Variable de decisión : Xn, número de uni dades a producir en la etapa n
para un inventario Inicial (IIn) (II).
Función de Costo : f n (IIn,Xn):
fn(IIn,Xn) = min [C(X) + (IIn + Xn-3)2 + f* n-1(IIn + Xn-3)]

C(X) : Costo de Producción de X unidades


(IIn + Xn-3) : Inventario final de la etapa n (IFn) o Inventario
Inicial de
la etapa n-1, (II n-1)

(IIn + Xn-3)2 : Costo del Inventa rio.

f* n-1 (IIn + Xn -3) : mejor costo total en la etapa n-1

Explicación de los estados:


MES 1 MES 2 MES 3 MES 4

213
¦II4 IF4=II3 IF3=II2 IF2=II1 IF1
¦ ¦ ¦ ¦ ¦
¦ 0 0 ¦ 0 0 ¦ 0 0 ¦ 0 0 ¦
¦ ¦ ¦ ¦ ¦
¦ 0 1 ¦ 1 1 ¦ 1 1 ¦ 1 ¦
¦ ¦ ¦ ¦ ¦
¦ 0 2 ¦ 2 2 ¦ 2 2 ¦ 2 ¦
¦ ¦ ¦ ¦ ¦
¦ ¦ 3 ¦ 3 3 ¦ 3 ¦
¦ ¦ ¦ ¦ ¦
¦ ¦ 4 ¦ 4 ¦ ¦
¦ 4 ¦ 3 ¦ 2 ¦ 1 ¦

ETAPA 4 ETAPA 3 ETAPA 2 ETAPA 1

Con la información de capacidad de produc ción, entrega mensual,


capacidad del almacenamiento, inventario inicial de la primera etapa e
inventario final de la última etapa, se deduce fácilmente los II e IF de
todas las etapas (gráfico anterior), así por ejemplo se tiene que para el
mes 4 (etapa 1) el inventario final debe ser cero y el inventario inicial,
puede valer desde 0 a hasta 3 que es el compromiso de entrega; con el
inventario final de esta etapa se procede a generar las cifras
correspondientes a la etapa 3 y así hasta el final.

Aplicación de la fórmula de rendi miento

Para la primera etapa : n =1


Alternativa de producción : (IF = II + Prod. - Entrega)

II 1 + Producción - Entrega = IF 1
0 + 3 - 3 = 0
1 + 2 - 3 = 0
2 + 1 - 3 = 0
3 + 0 - 3 = 0

Aplicando :

f n (II n,X n) = min [C(X n) + (II n + X n-3)2 + f* n-1(II n + X n-1)]

Para n = 1, se tiene:

214
n = 1
+-------------------------------------------+
¦ x1 ¦ ¦ ¦ ¦ ¦f1 ¦ x1 ¦
¦II1 ¦ 0 ¦ 1 ¦ 2 ¦ 3 ¦(II1)¦(II1)¦
+------+---+------+------+------+-----+-----¦
¦ 0 ¦ - ¦ - ¦ - ¦19+0+0¦ 19 ¦ 3 ¦
+------+---+------+------+------+-----+-----¦
¦ 1 ¦ - ¦ - ¦17+0+0¦ - ¦ 17 ¦ 2 ¦
+------+---+------+------+------+-----+-----¦
¦ 2 ¦ - ¦15+0+0¦ - ¦ - ¦ 15 ¦ 1 ¦
+------+---+------+------+------+-----+-----¦
¦ 3 ¦ - ¦ - ¦ - ¦ - ¦ 0 ¦ 0 ¦
+-------------------------------------------+
EJEMPLO DE CÁLCULO:

II 1 = 0
f 1(0,X 1) = min { C(3) + (0 + 3 -3)2 + f*o(0) }
= 19 + 0 + 0 = 19
f*o(C): Mejor costo en la etapa anterior para n = 2

ALTERNATIVA DE PRO DUCCION

II 2 + Producción - Entrega = IF 2

0 3 3 0
0 4 3 1
0 5 3 2
1 2 3 0
1 3 3 1
1 4 3 2
1 5 3 3
. . . .
. . . .
. . . .
215
. . . .
4 2 3 3
n = 2
+--------------------------------------------+
¦ x2¦ ¦ ¦ ¦ ¦ ¦ ¦
+---¦ 0 ¦ 1 ¦ 2 ¦ 3 ¦ 4 ¦ 5 ¦
¦II2¦ ¦ ¦ ¦ ¦ ¦ ¦
+---+-----+------+------+------+------+------¦
¦ 0 ¦ - ¦ - ¦ - ¦19+ ¦21+ ¦23+ ¦
¦ ¦ ¦ ¦ ¦ 0+19¦ 2+17¦ 4+15¦
+---+-----+------+------+------+------+------¦
¦ 1 ¦ - ¦ - ¦17+ ¦19+ ¦21+ ¦23+ ¦
¦ ¦ ¦ ¦ 0+19¦ 2+17¦ 4+15¦ 6+0 ¦
+---+-----+------+------+------+------+------¦
¦ 2 ¦ - ¦15+ ¦17+ ¦19+ ¦21+ ¦ - ¦
¦ ¦ ¦ 0+19¦ 2+17¦ 4+15¦ 6+0 ¦ ¦
+---+-----+------+------+------+------+------¦
¦ 3 ¦0+ ¦15+ ¦17+ ¦19+ ¦ - ¦ - ¦
¦ ¦ 0+19¦ 2+17¦ 4+15¦ 6+0 ¦ ¦ ¦
+---+-----+------+------+------+------+------¦
¦ 4 ¦0+ ¦15+ ¦17+ ¦ - ¦ - ¦ - ¦
¦ ¦ 2+17¦ 4+15¦ 6+0 ¦ ¦ ¦ ¦
+--------------------------------------------+

216
+-----------------------------+
¦ ¦ ¦ ¦
¦ II2 ¦ f2 (II2) ¦ x2 (II2) ¦
+-------+----------+----------¦
¦ 0 ¦ 38 ¦ 3 ¦
+-------+----------+----------¦
¦ 1 ¦ 29 ¦ 5 ¦
+-------+----------+----------¦
¦ 2 ¦ 27 ¦ 4 ¦
+-------+----------+----------¦
¦ 3 ¦ 19 ¦ 0 ¦
+-------+----------+----------¦
¦ 4 ¦ 19 ¦ 0 ¦
+-----------------------------+

EJEMPLO DE CÁLCULO:

Si II 2 = 2

f 2(2,X 2) = min (C(X 2) + (2 + X 2 - 3)2 + f* 1(2 + X 2 - 3))

X 2 = 1,2,3,4

f* 1(2 + X 2 -3) : mejor costo de la etapa 1


para un II 1 = 2 + X 2 - 3

f 2(2, X 2) = min ( 15 + 0 + 19, 17 + 2 + 17, 19 + 4 + 15, 21 + 6 + 0)


= 27

217
n = 3
+--------------------------------------------+
¦ x3¦ ¦ ¦ ¦ ¦ ¦ ¦
+---¦ 0 ¦ 1 ¦ 2 ¦ 3 ¦ 4 ¦ 5 ¦
¦II3¦ ¦ ¦ ¦ ¦ ¦ ¦
+---+-----+------+------+------+------+------¦
¦ 0 ¦ - ¦ - ¦ - ¦19+ ¦21+ ¦23+ ¦
¦ ¦ ¦ ¦ ¦ 0+38¦ 2+29¦ 4+27¦
+---+-----+------+------+------+------+------¦
¦ 1 ¦ - ¦ - ¦17+ ¦19+ ¦21+ ¦23+ ¦
¦ ¦ ¦ ¦ 0+38¦ 2+29¦ 4+27¦ 6+19¦
+---+-----+------+------+------+------+------¦
¦ 2 ¦ - ¦15+ ¦17+ ¦19+ ¦21+ ¦23+ ¦
¦ ¦ ¦ 0+38¦ 2+29¦ 4+27¦ 6+19¦ 8+19¦
+--------------------------------------------+
+-----------------------------+
¦ ¦ ¦ ¦
¦ II3 ¦ f3 (II3) ¦ x3 (II3) ¦
+-------+----------+----------¦
¦ 0 ¦ 52 ¦ 4 ¦
+-------+----------+----------¦
¦ 1 ¦ 48 ¦ 5 ¦
+-------+----------+----------¦
¦ 2 ¦ 46 ¦ 4 ¦
+-----------------------------+

n = 4
+--------------------------------------------+
¦ x4¦ ¦ ¦ ¦ ¦ ¦
+----¦ 3 ¦ 4 ¦ 5 ¦f4(II4)¦x4(II4)¦
¦II4 ¦ ¦ ¦ ¦ ¦ ¦
+----+-------+-------+-------+-------+-------¦
¦ 0 ¦19+0+52¦21+2+48¦23+4+46¦ 71 ¦ 3,4 ¦
+--------------------------------------------+
218
La respuesta se deduce de la manera si guiente:
n = 4 (Para X4 = 3)

II4 = 0
X4 = 3
IF4 = X4 + II4 - 3 = 0

n=3

II3 = IF4 = 0
X3 (II3) = X3(0) = 4
IF3 = X3 + II3 - 3 = 1

n=2

II2 = IF3 = 1
X2 (II2) = X2(1) = 5
IF2 = X2 + II2 - 3 = 3

n=1

II1 = IF2 = 3
X1 (II1) = X1(3) = 0
IF1 = X1 + II1 - 3 = 0

En el caso de X4 = 4 se procede de igual forma.


Los resultados de producción por mes son:

219
PRODUCCION
+-------------------------------+
¦ Mes ¦ ¦ ¦ ¦ ¦
¦ Alt. ¦ 1 ¦ 2 ¦ 3 ¦ 4 ¦
+-----------+----+----+----+----¦
¦ ¦ ¦ ¦ ¦ ¦
¦ 1 ¦ 3 ¦ 4 ¦ 5 ¦ 0 ¦
+-----------+----+----+----+----¦
¦ ¦ ¦ ¦ ¦ ¦
¦ 2 ¦ 4 ¦ 5 ¦ 0 ¦ 3 ¦
+-------------------------------+

220
5.4 PROBLEMAS RESUELTOS

1. Una empresa desea lanzar su producto lo más rápido posible, con el


fin de adelantarse a la competencia. Existen cuatro fases que deben
llevarse a cabo y cuyas duraciones dependen del nivel de conducción
TIEMPOS
+--------------------------------------------------------+
¦ NIVEL ¦ FASE I ¦ FASE II ¦ FASE III ¦ FASE IV ¦
+---------+----------+----------+------------+-----------¦
¦Normal ¦ 5 ¦ - ¦ - ¦ - ¦
¦Prioridad¦ 4 ¦ 3 ¦ 5 ¦ 2 ¦
¦Quiebra ¦ 2 ¦ 2 ¦ 3 ¦ 1 ¦
+--------------------------------------------------------+
Se cuenta con $20 millones para concluir las 4 fases. El costo en los
diferentes niveles es:

COSTOS
+--------------------------------------------------------+
¦ NIVEL ¦ FASE I ¦ FASE II ¦ FASE III ¦ FASE IV ¦
+---------+----------+----------+------------+-----------¦
¦Normal ¦ 2 ¦ - ¦ - ¦ - ¦
¦Prioridad¦ 4 ¦ 4 ¦ 6 ¦ 2 ¦
¦Quiebra ¦ 6 ¦ 6 ¦ 8 ¦ 4 ¦
+--------------------------------------------------------+
¿A qué nivel se debe conducir cada una de las 4 fases para minimizar el
tiempo total de presentación del producto al mercado, sujeto a las
restricciones antes señaladas?

Solución :

Cada fase representa una etapa por consiguiente existen 4 etapas, la


función objetivo es la de minimizar el tiempo total de lanzamiento del
producto.

i = 0, 1, 2, 3, 4, etapas
Xi = Costo de la etapa i
Si = Dinero disponible en la etapa i
Ti(Si, Xi) = Tiempo de ejecución de la etapa i cuando se invierte Xi del
total disponible Si.
fi(Si,Xi) = Mejor tiempo total de ejecución de las i etapas.
fi-1(Si-1, Xi-1) = Mejor tiempo total de ejecución de las i-1 etapas.
221
fi(Si,Xi) = mín [ti(Si,Xi) + fi-1(Si-1, Xi-1)]

Para el desarrollo de las alternativas (costo de al etapa i) se requiere


conocer la cantidad de dinero disponible en esa etapa para ello se
deberá efectuar la siguiente comparación:

INVERSION MONTO TOTAL SUMA DE LAS


INVERSIONES
MINIMA EN ≤ Si ≤ DISPONIBLE - MINIMAS
REQUERIDAS PARA
ETAPA i PARA LAS 4 LAS
SIGUIENTES ETAPAS
ETAPAS

ETAPA I

Límites para el estado S1 :


2 ≤ S1 ≤ 20 - ( 2 + 4 + 6)
2 ≤ S1 ≤ 8

+----------------------------------+
¦\ X1¦ ¦ ¦* ¦* ¦
¦S1 \ ¦ 2 ¦ 4 ¦f1(S1,X1)¦X1(S1)¦
+-----+-----+-----+---------+------¦
¦ 2 ¦ 2 ¦ - ¦ 2 ¦ 2 ¦ * X(S1)= mejor
+-----+-----+-----+---------+------¦ tiempo para
¦ 3 ¦ 2 ¦ - ¦ 2 ¦ 2 ¦ la inversión S1
+-----+-----+-----+---------+------¦
¦ 4 ¦ 2 ¦ 1 ¦ 1 ¦ 4 ¦
+-----+-----+-----+---------+------¦
¦ 5 ¦ 2 ¦ 1 ¦ 1 ¦ 4 ¦
+-----+-----+-----+---------+------¦
¦ 6 ¦ 2 ¦ 1 ¦ 1 ¦ 4 ¦
+-----+-----+-----+---------+------¦
¦ 7 ¦ 2 ¦ 1 ¦ 1 ¦ 4 ¦
+-----+-----+-----+---------+------¦
¦ 8 ¦ 2 ¦ 1 ¦ 1 ¦ 4 ¦
+----------------------------------+

222
Ejemplo de Cálculo :
Sea :
S1 = 4
X1 = 2,4
f1(S1,X1) = mín [ t1(S1,X1) + fo(So,Xo) ]
X1 = 2,4
= mín [ t1(4,2) + 0 , t1(4,4) + 0 ]
= mín [ 2 + 0, 1 + 0 ] = 1

ETAPA II
Estado : 8 ≤ S 2 ≤ 20 - (2 + 4)
+----------------------------------+
¦ X2¦ ¦ ¦ * ¦* ¦
¦ S2 ¦ 6 ¦ 8 ¦f2(S2,X2)¦X2(S2)¦
+-----+-----+-----+---------+------¦
¦ 8 ¦ 5+2 ¦ - ¦ 7 ¦ 6 ¦
+-----+-----+-----+---------+------¦
¦ 9 ¦ 5+2 ¦ - ¦ 7 ¦ 6 ¦
+-----+-----+-----+---------+------¦
¦ 10 ¦ 5+1 ¦ 3+2 ¦ 5 ¦ 8 ¦
+-----+-----+-----+---------+------¦
¦ 11 ¦ 5+1 ¦ 3+2 ¦ 5 ¦ 8 ¦
+-----+-----+-----+---------+------¦
¦ 12 ¦ 5+1 ¦ 3+2 ¦ 4 ¦ 8 ¦
+-----+-----+-----+---------+------¦
¦ 13 ¦ 5+1 ¦ 3+1 ¦ 4 ¦ 8 ¦
+-----+-----+-----+---------+------¦
¦ 14 ¦ 5+1 ¦ 3+1 ¦ 4 ¦ 8 ¦
+----------------------------------+

ETAPA III
Estado : 12 ≤ S3 ≤ 20 - 2

223
+----------------------------------+
¦\ X3¦ ¦ ¦ * ¦* ¦
¦S3 \ ¦ 4 ¦ 6 ¦f3(S3,X3)¦X3(S3)¦
+-----+-----+-----+---------+------¦
¦ 12 ¦ 3+7 ¦ - ¦ 10 ¦ 4 ¦
+-----+-----+-----+---------+------¦
¦ 13 ¦ 3+7 ¦ - ¦ 10 ¦ 4 ¦
+-----+-----+-----+---------+------¦
¦ 14 ¦ 3+5 ¦ 2+7 ¦ 8 ¦ 4 ¦
+-----+-----+-----+---------+------¦
¦ 15 ¦ 3+5 ¦ 2+7 ¦ 8 ¦ 4 ¦
+-----+-----+-----+---------+------¦
¦ 16 ¦ 3+4 ¦ 2+5 ¦ 7 ¦ 4 o 6¦
+-----+-----+-----+---------+------¦
¦ 17 ¦ 3+4 ¦ 2+5 ¦ 7 ¦ 4 o 6¦
+-----+-----+-----+---------+------¦
¦ 18 ¦ 3+4 ¦ 2+4 ¦ 6 ¦ 6 ¦
+----------------------------------+

ETAPA IV
Estado : 20
+----------------------------------------+
¦\ X4¦ ¦ ¦ ¦ * ¦* ¦
¦S4 \ ¦ 2 ¦ 4 ¦ 6 ¦f4(S4,X4)¦X4(S4)¦
+-----+-----+-----+-----+---------+------¦
¦ 20 ¦ 5+6 ¦ 4+7 ¦ 2+8 ¦ 10 ¦ 6 ¦
+----------------------------------------+

RESPUESTA
+-----------------+
¦ FASE ¦ NIVEL ¦
+-------+---------¦
¦ I ¦QUIEBRA ¦
+-------+---------¦
¦ II ¦PRIORIDAD¦
+-------+---------¦
¦ III ¦QUIEBRA ¦
+-------+---------¦
¦ IV ¦PRIORIDAD¦
+-----------------+

224
2. Una corporación de desarrollo se encuentra en la decisión de
seleccionar proyectos de inversión dado su presupuesto de capital. Se
tiene 5 proyectos a elegir cada uno de ellos ofrece un Valor Actual
Neto (VAN) como retorno, requiriendo una determinada inversión de
capital. Si se dispone de 100 millones de soles optimice la inversión
aplicando la programación dinámica.

(en millones de soles)


PROYECTO 1 2 3 4 5
VAN 63 52 40 28 20
INV 51 42 32 23 15

Solución :
Cada proyecto representa una etapa. La función objetivo es la de
maximizar el VAN de la inversión en proyecto.

225
i = 0, 1 .......5 etapas
Xi = 0,1, decisión de inversión, en el proyecto de la etapa i.
Ii = Inversión en el proyecto de la etapa i.
Si = Dinero disponible en la etapa i.
VAN (Ii) = Valor actual neto Ii
fi(Si,Xi) = Mejor valor actual neto cuando se tiene Si y Xi.
*fi-1(Si-1, Xi-1) = Mejor valor actual neto en la etapa i-1 .
fi(Si,Xi) = max [VAN(Ii) + *fi-1(Si-1, Xi-1)]

Para el desarrollo de las alternativas se requiere conocer la cantidad de


dinero disponible en la etapa.

INVERSION MONTO TOTAL SUMA


DE LAS INVERSIONES
MINIMA EN ≤ Si ≤ DISPONIBLE - PARA LAS
SIGUIENTES ETAPAS
ETAPA i PARA LAS 5
ETAPAS

ETAPA I (Inversión en el proyecto 5)

Límites para el estado S1

0 ≤ S1 ≤ 100 - (X2I2 + X3I3 + X4I4 + X5I5)

Sí X2 = X3 = X4 = X5 = 0, S1 = 100;
Sí X2I2 + ..... X5I5 = 100, S1 = 0

Como se observa S1 puede tener como límites los valores, 0 ó 100 por
tal razón y por efectos prácticos se ha de considerar como valores para
S1 a 0 y 15 (se necesita 15 millones para el proyecto 5)

ETAPA II (Inversión en el proyecto 4)

Siguiendo el criterio de la etapa anterior se asume que los valores para


S2 pueden ser los siguientes :

226
+--------------------------------+
¦ ALTERNATIVAS ¦DINERO DISPONIBLE¦
¦ DE INVERSION ¦ ESTADO S2 ¦
+--------------+-----------------¦
¦Ningún proyec.¦ 0 ¦
¦Proyecto 5 ¦ 15 ¦
¦Proyecto 4 ¦ 23 ¦
¦Proyecto 5 y 4¦ 38 ó más ¦
+--------------------------------+
+----------------------------------+
¦ \ X2 ¦ ¦ ¦ ¦ ¦
¦S2 \____¦ 0 ¦ 1 ¦f2(S2)¦X2(S2)¦
+--------+-----+-----+------+------¦
¦ 0 ¦ 0 ¦ - ¦ 0 ¦ 0 ¦
+--------+-----+-----+------+------¦
¦ 15 ¦ 20 ¦ - ¦ 20 ¦ 0 ¦
¦--------+-----+-----+------+------¦
¦ 23 ¦ 20 ¦ 28 ¦ 28 ¦ 1 ¦
+--------+-----+-----+------+------¦
¦38 ó más¦ 20 ¦ 48 ¦ 48 ¦ 1 ¦
+----------------------------------+

ETAPA III (Inversión en el Proyecto 3)

+-----------------------------------------------------------+
¦ALTERNATIVAS DE ¦ \ X3¦ ¦ ¦ * ¦* ¦
¦INVERSION EN PROYECT.¦ S3 \ ¦ 0 ¦ 1 ¦ f3(S3,X3)¦ X3(S3)¦
+---------------------+--------+-----+-----+---------+------¦
¦ 0 ¦ 0 ¦ 0 ¦ - ¦ 0 ¦ 0 ¦
+---------------------+--------+-----+-----+---------+------¦
¦ 5 ¦ 15 ¦ 20 ¦ - ¦ 20 ¦ 0 ¦
+---------------------+--------+-----+-----+---------+------¦
¦ 4 ¦ 23 ¦ 28 ¦ - ¦ 28 ¦ 0 ¦
+---------------------+--------+-----+-----+---------+------¦
¦ 3 ¦ 32 ¦ 28 ¦ 40 ¦ 40 ¦ 1 ¦
+---------------------+--------+-----+-----+---------+------¦
¦ 4,5 ¦ 38 ¦ 48 ¦ 40 ¦ 48 ¦ 0 ¦
+---------------------+--------+-----+-----+---------+------¦
¦ 3,5 ¦ 47 ¦ 48 ¦ 60 ¦ 60 ¦ 1 ¦
+---------------------+--------+-----+-----+---------+------¦
¦ 3,4 ¦ 55 ¦ 48 ¦ 68 ¦ 68 ¦ 1 ¦
+---------------------+--------+-----+-----+---------+------¦
¦ 3,4,5 ¦70 ó más¦ 48 ¦ 88 ¦ 88 ¦ 1 ¦
+-----------------------------------------------------------+

227
228
ETAPA IV (Inversión en el Proyecto 2)

-----------------------------------------------------------+
¦ALTERNATIVAS DE ¦ \ X4 ¦ ¦ ¦ * ¦* ¦
¦INVERSION EN PROYECT.¦ S4\ ¦ 0 ¦ 1 ¦f4(S4,X4) ¦X4(S4) ¦
+---------------------+--------+-----+-----+---------+------¦
¦ 0 ¦ 0 ¦ 0 ¦ - ¦ 0 ¦ 0 ¦
+---------------------+--------+-----+-----+---------+------¦
¦ 5 ¦ 15 ¦ 20 ¦ - ¦ 20 ¦ 0 ¦
+---------------------+--------+-----+-----+---------+------¦
¦ 4 ¦ 23 ¦ 28 ¦ - ¦ 28 ¦ 0 ¦
+---------------------+--------+-----+-----+---------+------¦
¦ 3 ¦ 32 ¦ 28 ¦ - ¦ 28 ¦ 0 ¦
+---------------------+--------+-----+-----+---------+------¦
¦ 4,5 ¦ 38 ¦ 48 ¦ - ¦ 48 ¦ 0 ¦
+---------------------+--------+-----+-----+---------+------¦
¦ 2 ¦ 42 ¦ 48 ¦ 52 ¦ 52 ¦ 1 ¦
+---------------------+--------+-----+-----+---------+------¦
¦ 3,5 ¦ 47 ¦ 60 ¦ 52 ¦ 60 ¦ 0 ¦
+---------------------+--------+-----+-----+---------+------¦
¦ 3,4 ¦ 55 ¦ 60 ¦ 52 ¦ 60 ¦ 0 ¦
+---------------------+--------+-----+-----+---------+------¦
¦ 2,5 ¦ 57 ¦ 68 ¦52+20¦ 72 ¦ 1 ¦
+---------------------+--------+-----+-----+---------+------¦
¦ 2,4 ¦ 65 ¦ 68 ¦52+28¦ 80 ¦ 1 ¦
+---------------------+--------+-----+-----+---------+------¦
¦ 3,4,5 ¦ 70 ¦ 88 ¦52+28¦ 88 ¦ 1 ¦
+---------------------+--------+-----+-----+---------+------¦
¦ 2,3 ¦ 74 ¦ 88 ¦52+40¦ 92 ¦ 1 ¦
+---------------------+--------+-----+-----+---------+------¦
¦ 2,3,5 ¦ 89 ¦ 88 ¦52+60¦ 112 ¦ 1 ¦
+---------------------+--------+-----+-----+---------+------¦
¦ 2,3,4 ¦97 ó más¦ 88 ¦52+68¦ 120 ¦ 1 ¦
+-----------------------------------------------------------+

ETAPA V (Inversión en el Proyecto 1)

+----------------------------------+
¦\ X5¦ ¦ ¦* ¦* ¦
¦S5 \ ¦ 0 ¦ 1 ¦f5(S5,X5)¦X5(S5)¦
+-----+-----+-----+---------+------¦
¦ 100 ¦ 120 ¦63+60¦ 123 ¦ 1 ¦
+----------------------------------+

RESPUESTA

229
PROYECTO INVERSION RENDIMIENTO
1 51 63
2 0 0
3 32 40
4 0 0
5 15 20

TOTAL 98 123

3. Un inversionista tiene $500 para invertir y ha limitado sus


posibles alternativas a 3 compañías. En la tabla se presentan los
retornos estimados para diferentes cantidades de capital invertido
en cada compañía. La asignación 0 retorna $0. ¿Cuál es la
estrategia óptima de inversión?

CANTIDAD COMPAÑÍA
S/. 1 2 3
100 10 20 10
200 10 20 20
300 30 20 20
400 40 30 30
500 40 30 40

Solución :
Cada compañía representa una etapa. El objetivo es maximizar el
retorno total.

230
i = 0, 1, 2, 3 etapas
Xi = Cantidad invertida en la etapa i
ri(Xi) =Retorno estimado cuando se invierte Xi
fi(Si,Xi) = Mejor retorno total cuando se tiene Si y Xi .
*fi-1(Si-1, Xi-1) = Mejor retorno total en la etapa i-1 .
fi(Si,Xi) = max [ri(Xi) + *fi-1(Si-1, Xi-1)]

La cantidad disponible en cada etapa (Si), i diferente de 3, así como la


cantidad a invertir (Xi) luctuará entre $0 y $500 .

231
ETAPA I (Inversión en C)

+-------------------------------------------------------------+
¦\ X1¦ ¦ ¦ ¦ ¦ ¦ ¦* ¦* ¦
¦S1 \ ¦ 0 ¦ 100 ¦ 200 ¦ 300 ¦ 400 ¦ 500 ¦f1(S1,X1) ¦ X1(S1) ¦
+-----+-----+-----+-----+-----+-----+-----+---------+---------¦
¦ 0 ¦ 0 ¦ - ¦ - ¦ - ¦ - ¦ - ¦ 0 ¦ 0 ¦
+-----+-----+-----+-----+-----+-----+-----+---------+---------¦
¦ 100 ¦ 0 ¦ 10 ¦ - ¦ - ¦ - ¦ - ¦ 10 ¦ 100 ¦
+-----+-----+-----+-----+-----+-----+-----+---------+---------¦
¦ 200 ¦ 0 ¦ 10 ¦ 20 ¦ - ¦ - ¦ - ¦ 20 ¦ 200 ¦
+-----+-----+-----+-----+-----+-----+-----+---------+---------¦
¦ 300 ¦ 0 ¦ 10 ¦ 20 ¦ 20 ¦ - ¦ - ¦ 20 ¦200 ó 300¦
+-----+-----+-----+-----+-----+-----+-----+---------+---------¦
¦ 400 ¦ 0 ¦ 10 ¦ 20 ¦ 20 ¦ 30 ¦ - ¦ 30 ¦ 400 ¦
+-----+-----+-----+-----+-----+-----+-----+---------+---------¦
¦ 500 ¦ 0 ¦ 10 ¦ 20 ¦ 20 ¦ 30 ¦ 40 ¦ 40 ¦ 500 ¦
+-------------------------------------------------------------+

ETAPA II (Inversión en B)

+-------------------------------------------------------------+
¦\ X1¦ ¦ ¦ ¦ ¦ ¦ ¦* ¦* ¦
¦S1 \ ¦ 0 ¦ 100 ¦ 200 ¦ 300 ¦ 400 ¦ 500 ¦f2(S2,X2) ¦ X2(S2) ¦
+-----+-----+-----+-----+-----+-----+-----+---------+---------¦
¦ 0 ¦ 0 ¦ - ¦ - ¦ - ¦ - ¦ - ¦ 0 ¦ 0 ¦
+-----+-----+-----+-----+-----+-----+-----+---------+---------¦
¦ 100 ¦ 10 ¦ 20 ¦ - ¦ - ¦ - ¦ - ¦ 20 ¦ 100 ¦
+-----+-----+-----+-----+-----+-----+-----+---------+---------¦
¦ 200 ¦ 20 ¦ 30 ¦ 20 ¦ - ¦ - ¦ - ¦ 30 ¦ 100 ¦
+-----+-----+-----+-----+-----+-----+-----+---------+---------¦
¦ 300 ¦ 20 ¦ 40 ¦ 30 ¦ 20 ¦ - ¦ - ¦ 40 ¦ 100 ¦
+-----+-----+-----+-----+-----+-----+-----+---------+---------¦
¦ 400 ¦ 30 ¦ 40 ¦ 40 ¦ 30 ¦ 30 ¦ - ¦ 40 ¦100 ó 200¦
+-----+-----+-----+-----+-----+-----+-----+---------+---------¦
¦ 500 ¦ 40 ¦ 50 ¦ 40 ¦ 40 ¦ 40 ¦ 30 ¦ 50 ¦ 100 ¦
+-------------------------------------------------------------+

ETAPA III (Inversión en A)

+-------------------------------------------------------------+
¦\ X1¦ ¦ ¦ ¦ ¦ ¦ ¦* ¦* ¦
¦S1 \ ¦ 0 ¦ 100 ¦ 200 ¦ 300 ¦ 400 ¦ 500 ¦f3(S3,X3) ¦ X3(S3) ¦
+-----+-----+-----+-----+-----+-----+-----+---------+---------¦
¦ 500 ¦ 50 ¦ 50 ¦ 50 ¦ 60 ¦ 60 ¦ 40 ¦ 60 ¦300 ó 400¦
+-------------------------------------------------------------+

232
De la última etapa se tiene que el máximo retorno esperado es $60,
existiendo para ello dos alternativas de inversión

+--------------------------+
¦ ¦ALTERNATIVAS DE ¦
¦ ¦INVERSION ¦
¦COMPAÑIA ¦ 1 2 ¦
+---------+----------------¦
¦ A ¦ 300 400 ¦
¦ B ¦ 100 100 ¦
¦ C ¦ 100 0 ¦
+--------------------------+
4. Determinar el número de sacos conteniendo granos, que deben
incluirse en el cargamento de una camioneta de capacidad de 1,600
kgs. si se trata de que el cargamento total sea de máximo valor
posible, y necesariamente debe remitirse al menos un saco de cada
tipo de grano.

+------------------------------------+
¦ ¦ PESO DE ¦ VALOR DE ¦
¦GRANO ¦ CADA SACO ¦ CADA SACO ¦
¦ ¦ (Kg) ¦ (pesos) ¦
+---------+-----------+--------------¦
¦Garbanzo ¦ 400 ¦ 125.00 ¦
¦Maíz ¦ 200 ¦ 75.00 ¦
¦Frijol ¦ 300 ¦ 100.00 ¦
+------------------------------------+

Solución :
Cada producto ha de representar una etapa

233
i = 0, 1, 2, 3 etapas
Si = Capacidad disponible del camión en la etapa i
Xi = Número de sacos de alimento cargados en la camioneta

Si
Xi =
peso del saco

r i Xi = Valor cargado en la etapa i


= (valordel saco)Xi

f i (Si, Xi) = Mejor valor cuando se tiene i etapas

= max[(valor del saco)Xi + *fi-1(Si-1, Xi-1]

Para el desarrollo de las alternativas se requiere conocer los límites de


la capacidad disponible del conjunto de camionetas, teniendo en cuenta
que se deberá tener por lo menos un saco de cada alimento.

234
i 3
 Pk ≤ Si ≤ 2600 - Pk
k=1 k=i+1

Pk = peso de un saco de alimento k (frijol, maíz, garbanzo)

ETAPA I (sacos de frijol) :


El límite inferior de S1 = 300 Kg (un saco de frijol)
El límite superior de S1 =1600 - 600 (un saco de garbanzos más uno de
maíz)

300 ≤ S1 ≤ 1600 - (200 + 400)

Asimismo el límite inferior de X1 = 1 (un saco de frijol)


El límite superior de X1 es:
X1 = 1000/300

1 ≤ X1 ≤ 3
+------------------------------------------------+
¦ \ X1 ¦ ¦ ¦ ¦
¦S1 \ ¦ 1 2 3 ¦ *f1(S1,X1) ¦ X1(S1) ¦
+-------+------------------+------------+--------¦
¦ 300 ¦ 100 - - ¦ 100 ¦ 1 ¦
¦ 400 ¦ 100 - - ¦ 100 ¦ 1 ¦
¦ 500 ¦ 100 - - ¦ 100 ¦ 1 ¦
¦ 600 ¦ 100 200 - ¦ 200 ¦ 2 ¦
¦ 700 ¦ 100 200 - ¦ 200 ¦ 2 ¦
¦ 800 ¦ 100 200 - ¦ 200 ¦ 2 ¦
¦ 900 ¦ 100 200 300 ¦ 300 ¦ 3 ¦
¦ 1000 ¦ 100 200 300 ¦ 300 ¦ 3 ¦
+------------------------------------------------+

235
ETAPA II 200 + 300 ≤ S 2 ≤ 1600 - 400
1 ≤ X 2 ≤ (1600 - 700)/200
+---------------------------------------------------------+
¦ \ X2 ¦ ¦ ¦ ¦
¦S2 \ ¦ 1 2 3 4 ¦*f2(S2,X2) ¦ *X2(S2) ¦
+--------+--------------------------+-----------+---------¦
¦ 500 ¦ 175 - - - ¦ 175 ¦ 1 ¦
¦ 600 ¦ 175 - - - ¦ 175 ¦ 1 ¦
¦ 700 ¦ 175 250 - - ¦ 250 ¦ 2 ¦
¦ 800 ¦ 275 250 - - ¦ 250 ¦ 2 ¦
¦ 900 ¦ 275 250 325 - ¦ 325 ¦ 3 ¦
¦ 1000 ¦ 275 350 325 - ¦ 325 ¦ 3 ¦
¦ 1100 ¦ 375 350 325 400 ¦ 400 ¦ 4 ¦
¦ 1200 ¦ 375 350 425 400 ¦ 400 ¦ 4 ¦
+---------------------------------------------------------+

ETAPA III

+-----------------------------------------+
¦ \ X3 ¦ ¦ ¦ ¦
¦S3 \ ¦ 1 2 ¦ *f3(S3,X3) ¦ *X3(S3)¦
+-------+-------------+-----------+-------¦
¦ ¦ ¦ ¦ ¦
¦ 1600 ¦ 375 500 ¦ 500 ¦ 2 ¦
+-----------------------------------------+

RESPUESTA

GRANO NÚMERO DE
SACOS

Garbanzo 2
Maíz 2
Frijol 1

236
C0LOCAR AL FINAL DEL CAPITULO5
PROBLEMAS RESUELTOS CON PROGRAMACION LINEAL
(LINGO)

! Problema de PROGRAMACION DINAMICA;


! EL PROBLEMA DE LA DILIGENCIA;
! PROGDIN2;
SETS:
NODO/1..8/:F;
RED(NODO,NODO)/1,2 1,3 1,4
2,5 2,6
3,5 3,6 3,7
4,6 4,7
5,8 6,8 7,8/:COSTO;
ENDSETS
DATA:
COSTO =3 4 5
43
456
76
5 6 7;
ENDDATA
N=@SIZE(NODO);
F(N)=0;
@FOR(NODO(I) | I #LT# N :
F(I)=@MIN(RED(I,J):COSTO(I,J)+F(J));
);
MIN=F(1);

MODEL:
[_2] MIN= 0 + 12 ;
END

Objective value: 12.00000


Variable Value Reduced Cost
N 8.000000 0.000000
F( 1) 12.00000 0.000000
F( 2) 9.000000 0.000000

237
F( 3) 9.000000 0.000000
F( 4) 13.00000 0.000000
F( 5) 5.000000 0.000000
F( 6) 6.000000 0.000000
F( 7) 7.000000 0.000000
F( 8) 0.000000 0.000000
COSTO( 1, 2) 3.000000 0.000000
COSTO( 1, 3) 4.000000 0.000000
COSTO( 1, 4) 5.000000 0.000000
COSTO( 2, 5) 4.000000 0.000000
COSTO( 2, 6) 3.000000 0.000000
COSTO( 3, 5) 4.000000 0.000000
COSTO( 3, 6) 5.000000 0.000000
COSTO( 3, 7) 6.000000 0.000000
COSTO( 4, 6) 7.000000 0.000000
COSTO( 4, 7) 6.000000 0.000000
COSTO( 5, 8) 5.000000 0.000000
COSTO( 6, 8) 6.000000 0.000000
COSTO( 7, 8) 7.000000 0.000000
! PROBLEMA DE PROGRAMACION DINAMICA;
! PROBLEMA DE LA MOCHILA ENTERO;
! PROGDIN3;
SETS:
STATE/1..3/:W,C,F,X;
ENDSETS
DATA:
C =2 1 3;
W =3 3 4;
B =8;
ENDDATA
N=@SIZE(STATE);
F(N)=C(N)*X(N);
@FOR(STATE(I) | I #LT# N :
F(I)=@MAX(STATE(J)|J #GT# I:C(I)*X(I)+F(J));
);
@SUM(STATE:W*X)<=B;
@FOR(STATE:
@GIN(X);
);

238
MAX=F(1);
MODEL:
[_2] 3 * X_1 + 3 * X_2 + 4 * X_3 <= 8 ;
[_4] F_3 - 3 * X_3 = 0 ;
[_5] F_1 = @SMAX( 2 * X_1 + F_2 , 2 * X_1 + F_3 ) ;
[_6] F_2 - X_2 - F_3 = 0 ;
@GIN( X_1); @GIN( X_2); @GIN( X_3);
END
…………………………………………………………………………………
…………………………………………………………………………………
………………………….
Linearization components added:
Constraints: 5
Variables: 3
Integers: 2

Global optimal solution found.


Objective value: 6.000000
Extended solver steps: 0
Total solver iterations: 8

Variable Value Reduced Cost


B 8.000000 0.000000
N 3.000000 0.000000
W( 1) 3.000000 0.000000
W( 2) 3.000000 0.000000
W( 3) 4.000000 0.000000
C( 1) 2.000000 0.000000
C( 2) 1.000000 0.000000
C( 3) 3.000000 0.000000
F( 1) 6.000000 0.000000
F( 2) 6.000000 0.000000
F( 3) 6.000000 0.000000
X( 1) 0.000000 -2.000000
X( 2) 0.000000 -1.000000
X( 3) 2.000000 -3.000000

! PROBLEMA DE PROGRAMACION DINAMICA;


! PROBLEMA DE ASIGNACION DE AMBULANCIAS;

239
! PROGDIN4;
SETS:
AMBULANCIAS/1..3/:F,X,S;
CANTIDAD/1..3/;
TABLA(CANTIDAD,AMBULANCIAS):TIEMPOS;
ENDSETS
DATA:
TIEMPOS =12 15 12
10 11 8
8 9 7;
B =5;
ENDDATA
N=@SIZE(AMBULANCIAS);
S(1)=B;
!F(N)=TIEMPOS(X(N),N);
@FOR(AMBULANCIAS(J) | J #LT# N:
F(J)=@MIN(CANTIDAD(I):TIEMPOS(I,J)
+F(J+1));
S(J+1)=S(J)-X(J);
);
!@SUM(AMBULANCIAS:X)=B;
@FOR(AMBULANCIAS:
@GIN(X);
X>=1;
X<=3;
);
MAX=F(1);
…………………………………………………………………………………
………………………………………………………………………………….

MODEL:
[_9] MAX= F_1 ;
[_4] X_1 <= 3 ;
[_5] X_2 >= 1 ;
[_6] X_2 <= 3 ;
[_7] X_3 >= 1 ;
[_8] X_3 <= 3 ;
[_3] X_1 >= 1 ;
[_10] F_1 = @SMAX( 12 + F_2 , 10 + F_2 , 8 + F_2 ) ;
240
[_11] X_1 + S_2 = 5 ;
[_12] F_2 = @SMAX( 15 + F_3 , 11 + F_3 , 9 + F_3 ) ;
[_13] X_2 - S_2 + S_3 = 0 ;
@GIN( X_1); @GIN( X_2); @GIN( X_3);
END
…………………………………………………………………………………
……………………………………………………………
Linearization components added:
Constraints: 14
Variables: 8
Integers: 6

Global optimal solution found.


Objective value: 100000.0
Extended solver steps: 0
Total solver iterations: 10

Variable Value Reduced Cost


B 5.000000 0.000000
N 3.000000 0.000000
F( 1) 100000.0 0.000000
F( 2) 99992.00 0.000000
F( 3) 99983.00 0.000000
X( 1) 1.000000 0.000000
X( 2) 1.000000 0.000000
X( 3) 1.000000 0.000000
S( 1) 5.000000 0.000000
S( 2) 4.000000 0.000000
S( 3) 3.000000 0.000000
TIEMPOS( 1, 1) 12.00000 0.000000
TIEMPOS( 1, 2) 15.00000 0.000000
TIEMPOS( 1, 3) 12.00000 0.000000
TIEMPOS( 2, 1) 10.00000 0.000000
TIEMPOS( 2, 2) 11.00000 0.000000
TIEMPOS( 2, 3) 8.000000 0.000000
TIEMPOS( 3, 1) 8.000000 0.000000
TIEMPOS( 3, 2) 9.000000 0.000000
TIEMPOS( 3, 3) 7.000000 0.000000

241
Row Slack or Surplus Dual Price
1 0.000000 0.000000
2 0.000000 0.000000
3 0.000000 0.000000
4 2.000000 0.000000
5 0.000000 0.000000
6 2.000000 0.000000
7 0.000000 0.000000
8 2.000000 0.000000
9 100000.0 1.000000
10 0.000000 1.000000
11 0.000000 0.000000
12 0.000000 0.000000
13 0.000000 0.000000

PROBLEMA DE PROGRAMACION DINAMICA CON STOCKS Y


LÍMITES SUPERIOR E INFERIOR DE CARGA

Se tienen 5 productos cada uno con un peso de 150, 225, 285, 390,300,
se tiene existencias de cada uno de 5, 15, 10, 10, 10; con un costo de
300, 490, 610, 900, 650 por paquete, por motivos de necesidad solo se
pude llevar un mínimo de 4, 9, 8, 3, 7 por motivos de conservación solo
se pueden llevar un máximo de 9, 17, 11, 6, 4. Se pide hallar el número
de paquetes que maximice el valor transportado, sabiendo que no puede
cargar más de 10000.

Formulación LINGO 10:

¡W=peso de cada producto;


¡COSTO=costo por paquete;
¡Xmax=cantidad máxima a transportar;
¡Xmin=cantidad mínima a transportar;
¡T=peso máximo de carga;
¡TotalW=peso que se carga;
¡X=paquetes óptimos a cargar;

SETS:
Tipo/1..5/:W,Costo,Xmin,Xmax,F,X,L;
242
Total/1/:T,TotalW;
M/1,2/;
Ma(M,Tipo):Maxmin;
ENDSETS

DATA:
Xmax=9,17,11,6,14;
Xmin=4,9,8,3,7;
W=150,225,285,390,300;
Costo=300,490,610,900,650;
Maxmin=4,9,8,3,7,5,15,10,6,10;
T=10000;

ENDDATA

MAX=F(1);
N=@SIZE(Tipo);
F(N)=Costo(N)*X(N);
@FOR(Tipo(I)|I#LT#N:F(I)=@MAX(Tipo(J)|
J#GT#I:Costo(I)*X(I)+F(J));
@FOR(Tipo(I):Xmin(I)<=X(I));
@FOR(Tipo(I):X(I)<=Xmax(I));
@SUM(Tipo(i):W(I)*X(I))=TotalW(1);
@FOR(Tipo(I):L(I)=@MIN(M(J):Maxmin(J,I)));
@SUM(Tipo:W*X)<=T(1);
@FOR(Tipo:@GIN(X));

243

También podría gustarte