Академический Документы
Профессиональный Документы
Культура Документы
INVENTARIOS
MSC. MANUEL SOTO DE LA VEGA
INTRODUCCIN A LA
PROGRAMACIN DE
PRODUCCIN
JERARQUA DE LA PLANEACIN DE
PRODUCCIN
Pronsticos
Planeacin Agregada
Plan Maestro de Produccin
M.R.P.
Programacin Detallada
APLICACIONES DE PROGRAMACIN
1. Programacin de Proyectos
2. Programacin de Operarios
3. Programacin de Tripulaciones
4. Programacin de Produccin
ELEMENTOS DE LA PROGRAMACIN DE
PRODUCCIN
Trabajos
disponibilidad
fecha de entrega
tiempo de proceso
prioridad
tiempo de alistamiento
(setup)
Ruta de proceso
Mquinas
Configuracin
Capacidad
5
OBJETIVOS DE LA PROGRAMACIN
1. Cumplir fechas de entrega
2. Minimizar el trabajo en proceso (WIP).
3. Minimizar el tiempo de flujo
4. Garantizar alta utilizacin de la maquinaria
5. Reducir demora por tiempos de alistamiento
6. Minimizar costos de produccin
IMPORTANCIA
1. Determinar y planear capacidad de produccin
2. Establecer requisitos de mano de obra
PROBLEMTICA DE LA PROGRAMACIN
DE PRODUCCIN EN LA VIDA REAL
1. Los ambientes reales son muy difciles de modelar
2. Hay innumerables reglas implcitas de programacin en las
industrias
3. Las fechas de entrega y las prioridades son variables (no son hard
constraints).
PROBLEMAS EN LA IMPLEMENTACIN
Requerimientos de informacin (ej. rutas de proceso, tiempos
estndar, turnos)
Integracin con el plan de negocio de la compaa (plan maestro de
produccin y de ventas)
Integracin con sistemas de informacin existentes
10
PROBLEMAS EN LA EJECUCIN
Mltiples eventos afectan el plan original
Fallas en las mquinas
Ausencia de los operarios
Retrasos en la ejecucin de los trabajos
Cambio de prioridades
Personal
Requiere alimentacin y actualizacin de datos (est la empresa lista?)
Resistencia al cambio
11
12
13
FLOW SHOP
Lnea de Produccin
Producto 1
Mquinas
Producto 2
Producto 3
14
Clula 2
Clula 3
familia de
productos 1
familia de
productos 2
familia de
productos 3
15
Producto 1
Producto 2
departamento 2
departamento 4
departamento 1
16
Volumen
18
VISUALIZACIN DE UN PROGRAMA
(GRFICA DE GANTT)
M1
M2
10
11
12
13
tiempo
Calcular: (rj = 0 para todos los trabajos)
Makespan
Tiempo de flujo promedio
% Utilizacin
20
1
50
2
60
3
40
4
60
5
40
70
20
80
40
0
100
40
1
30
2
30
3
30
4
40
5
30
30
0
60
30
0
70
30
0.005
0.01
semanas
semanas
tamao lote x
tamao lote x
21
GENERACIN DE RDENES
Cules son los trabajos?
Cules son las fechas de disponibilidad?
22
GENERACIN DE RDENES
Se generan 4 rdenes de produccin
Orden
Producto Disponibilidad Tiempo proceso Fecha de entrega
0001
1
1
0.4
2
0002
2
1
0.6
2
0003
1
3
0.5
4
0004
2
3
0.7
4
23
23
25
26
27
Esto significa que 1// Cj se reduce a ( o es un caso especial de) 1// wjCj
29
REGLAS DE DESPACHO
Son la forma ms simple de programacin.
Una regla de despacho asigna prioridades de procesamiento a los trabajos
que se encuentran en la cola de una mquina en un momento dado.
Infinidad de reglas de despacho para secuenciar trabajos.
Dos tipos de reglas: Estticas y Dinmicas
I j (t )
exp
pj
K p
wj
K: Constante a determinar
EJERCICIOS
Se tienen los siguientes trabajos 1// g:
Trabajos
j
pj
dj
10
wj
Ejemplo Reglas de
Despacho
EDD
pj
Cj
dj
cj-dj
wjTj
wjTj
1
5
5
1
4
2
8
4
8
13
6
7
1
7
2
7
20
9
11
3
33
3
2
22
10
12
2
24
ATC
pj
Cj
dj
cj-dj
wj
wjTj
Flujo promedio
15
Retardo mximo
12
Tardanza ponderada
72
K=1
1
5
5
1
4
2
8
3
2
7
10
-3
2
0
2
7
14
9
5
3
15
4
8
22
6
16
1
16
Flujo promedio
12
Retardo mximo
16
Tardanza ponderada
39
Respuesta n!
n
Factorial (n)
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
1
1
2
6
24
120
720
5040
40320
362880
3628800
39916800
479001600
6227020800
8.7178E+10
1.3077E+12
2.0923E+13
3.5569E+14
6.4024E+15
1.2165E+17
2.4329E+18
Es demasiado!! Un
computador rpido
tardara AOS para el
caso de 20 trabajos
QU OTRAS FORMAS??
Algoritmos exactos
Programacin Dinmica
Programacin Entera Mixta
Ramificacin y Acotacin
SOLUCIONES EXACTAS
1. Programacin matemtica
2. Branch and Bound
3. Programacin Dinmica
4. Enumeracin exhaustiva!
Genricos B&B
1.
Determinar el nodo raz (solucin a un problema relajado) y el valor de la F.O. El nodo raz
ahora es un nodo expandido o abierto.
2.
Ramificar : Seleccionar, de acuerdo a algn criterio, uno de los nodos abiertos. Agregar
iterativamente restricciones al problema relajado y solucionar. Cada nueva solucin
corresponde a un nuevo nodo. Estos nuevos nodos son nodos abiertos. El nodo del que se
originaron las restricciones ahora es un nodo cerrado o explorado.
3.
4.
Si hay un nodo que cumpla con todas las restricciones y cuyo valor de la F.O. es mejor o igual
a la de todos los dems nodos. Si no volver al paso 2.
j
tj
dj
wj
2
7
xx21
1
5
8
1
2
4
6
1
3
8
7
1
Procedimiento B&B
xxxx1// wj Tj
4
6
10
1
15
17
xxx1
xxx2
26
xx31
23
xx41
2
8
xx12
16
29
xx32
13
xxx3
26
xx42
19 nodos generados
2
3
xx13
xxx4
25
xx23
21
xx43
24
22
1243
2143
2
2
xx14
24
xx24
23
xx34
Ejemplo: Para el caso anterior usando la regla ATC (K=1) la F.O. es 22 y con la EDD la F.O. es 27.
Mtodos heursticos bsicos
j
tj
dj
wj
1
5
8
1
2
4
6
1
3
8
7
1
4
6
10
1
Procedimiento B&B
xxxx1// wj Tj
16
13
xxx3
xxx4
21
7 nodos generados
xx43
22
2143
2
2
xx14
23
xx34
La cota
superior es
menor que el
valor de la
F.O. de este
nodo
Beam Search
Expande slo los mejores b (variable) nodos en cada nivel del rbol
Reduce drsticamente el nmero de nodos expandidos
No garantiza la solucin ptima
j
tj
dj
wj
2
7
xx21
1
5
8
1
2
4
6
1
3
8
7
1
4
6
10
1
15
17
xxx1
xxx2
26
xx31
Beam search (b = 2)
xxxx1// wj Tj
16
13
xxx3
xxx4
23
2
2
xx14
xx41
28
30
2341
3241
15 nodos generados
27
29
2314
3214
24
xx24
23
xx34
MQUINAS EN PARALELO
Existen varios mquinas/servidores
El trabajo j tiene un solo proceso y puede ejecutarse en cualquiera de ellas.
Todas las mquinas son idnticas
Para un trabajo, el tiempo de procesamiento es el mismo independientemente de la mquina
Ej.: mquinas de moldeo por inyeccin
58
59
Ejemplo
Trabajos
1
Mquina 1
Mquina 2
60
4
3
p
jS1
p
jS 2
p
i 1
2B
M1
M2
C*max
61
j
pj
62
1
6
2
7
3
4
4
2
1 2
10
11
12
13
14
15
pj
1 3
10
10
11
12
13
13
14
16
18
19
64
Mquina 2
Mquina 3
pj
Cj
pj
Cj
pj
Cj
15
19
19
14
18
18
13
16
16
10
13
32
11
13
31
12
14
30
10
42
11
42
12
42
10
52
51
48
53
54
52
10
11
12
13
14
15
pj
10
10
11
12
13
13
14
16
18
19
Cmax = 54
Cj = 582
65
n 1 n!
m 1 m!
70
MQUINAS PARALELAS: PM | | CJ
Encontrar un programa que minimice el
tiempo total de terminacin de los
trabajos en 3 mquinas paralelas
idnticas.
Job #
pj
10
2
71
MQUINAS PARALELAS: PM | | CJ
Buenas noticia
La regla SPT soluciona a optimalidad Pm | |
Cj
72
Job #
pj
10
El problema es Fm // g
Todos los trabajos siguen la misma ruta:
Mq. 1 Mq. 2 Mq. 3 Mq. M
Ci,j1=
S pl,j1
i=1,,m
l=1
k
C1,jk=
S p1,jl
k=1,,n
l=1
Ci,jk=
i=2,,m; k=2,,n
Ejemplo
J
J1
J2
J3
p1j
3
2
4
p2j
3
1
1
p3j
2
3
3
EJEMPLO
M1
J1
M2
J2
J1
M3
J3
J2
J3
J1
J2
J3
C1,j1=
S pl,j1
l=1
k
C1,jk=
S p1,jl
l=1
Ci,jk=
trabajo
1
2
3
4
5
6
7
mq 1
6
2
4
1
7
4
7
mq 2
3
9
3
8
1
5
6
mq 1
mq 2
6
7
4
7
Secuencia:
5
6
trabajo
p1j
p2j.
Conjunto I
trabajo
p1j
p2j.
Conjunto II
Conjunto II
4, 2, 6, 7, 1, 3, 5
trabajo
mq 1
mq 2
M1 4 2
M2
mq. 2
mq. 1
Secuencia ptima: 4 2 6 7 1 3 - 5
2
9
6
18
5
7
23
1
27
3 5
32 35 36
p p1, j p2, j
'
1, j
'
2, j
p2, j p3, j
p1,j
p2,j
p3,j
4
6
8
9
5
10
8
3
6
6
3
7
5
2
11
Secuenciacin obtenida : ( 5, 4, 1, 2, 3 )
mq 1
mq 2
mq 3
4
5
1
4
5
2
4
3
1
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
Algoritmos metaheursticos
Wik : espera entre las mquinas i e i+1 del trabajo programado en la posicin k
(i =1,,m 1; k =1,,n)
pi(k) : tiempo de procesamiento del trabajo programado en la posicin k en la
mquina i (i =1,,m 1; k =1,,n)
p
i |1
i (1)
n 1
m 1 n
n 1
j |1
i 1 j 1
j |1
I mj x j1 pij I mj
El primer trmino es el tiempo ocioso en la mquina m antes de la llegada del primer trabajo antes y el segundo
trmino son los tiempos ociosos en la mquina m
M1
J1
J2
M2
M3
Tiempos muertos
J3
x j ,k 1 j 1,..., n
k 1
n
x
j 1
j ,k
1 k 1,..., n
puede
j 1
j 1
' (k )
1, j
pi , j ,
i 1
' (k )
2, j
i m k 1
pi , j
k 1,
, m 1
Trabajo 1
Mq. 1
1
Mq. 2 13
Mq. 3
6
Mq. 4
2
2
10
12
18
18
3
17
9
13
4
4
12
17
2
6
5
11
3
5
16
p11+p21+p31
Iteracin 2 ( k = 2 )
Iteracin 1 ( k = 1 )
j
p1
10 17 12 11
p1
14 22 26 29 14
p1
20 40 39 31 19
p2
18
16
p2
36 17
21
p2
21 48 26 25 24
[j]
[j]
[j]
Cmax
= 88
Cmax= 85
1,2,5,4,3
Cmax= 85
5,2,3,1,4
p31+p41
Iteracin 3 ( k = 3 )
5,1,2,3,4
p21+p31+p41
Mejores secuencias
ALGORITMO NEH
Paso 1: Ordenar de los trabajos en orden no creciente de acuerdo a
la suma de los tiempos totales de procesamiento en las mquinas;
Paso 2: Tomar los dos primeros trabajos y programarlos (F.O.
minimizar el makespan parcial ) como si slo se tuvieran esos 2
trabajos
Paso 3: Para k= 3 a n hacer el paso 4
Paso 4: Insertar el k-simo trabajo en la posicin que minimice el
makespan parcial entre las k posibles posiciones.
Nmero total de secuencias= n(n+1)/2 - 1
Trabajo 1
Mq. 1
1
Mq. 2 13
Mq. 3
6
Mq. 4
2
2
10
12
18
18
3
17
9
13
4
4
12
17
2
6
5
11
3
5
16
Trabajo
Mq. 1
Mq. 2
Mq. 3
Mq. 4
1
1
13
6
2
2
10
12
18
18
3
17
9
13
4
4
12
17
2
6
5
11
3
5
16
suma
22
58
43
37
35
orden
J2
J3
J4
J5
J1
NEH
Paso 2 Probar con J2 y J3 y mirar cul programa J2-J3 J3-J2 se logra el mejor
Cmax
Secuencia J2-J3 Cmax = 62
M1
M2
M3
M4
J2
J3
J2
J3
J2
J3
J2
J3
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
NEH
Paso 2 Probar con J2 y J3 y mirar cul programa J2-J3 J3-J2 se logra el mejor
Cmax
Escoger J2-J3
Secuencia J3 -J2 Cmax = 75
M1
M2
M3
M4
J3
J2
J3
J2
J3
J2
J3
J2
5
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 2 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
NEH
Paso 3. Insertar trabajos:
Insertar J4
Investigar las secuencias:
J4-J2-J3 Cmax = 81
J2-J4-J3 Cmax = 68
J2-J3-J4 Cmax = 68
J5-J2-J3-J4 Cmax = 79
J2-J5-J3-J4 Cmax = 84
J2-J3-J5-J4 Cmax = 84
J2-J3-J4-J5 Cmax = 84
NEH
Paso 3. Insertar trabajos:
Insertar J1
Investigar las secuencias:
J1-J5-J2-J3-J4 Cmax = 80
J5-J1-J2-J3-J4 Cmax = 85
J5-J2-J1-J3-J4 Cmax = 81
J5-J2-J3-J1-J4 Cmax = 85
J5-J2-J3-J4-J1 Cmax = 88
mq1
mq2
2
1
mq3
2
1
mq4
10
15
20
1
5
5
25
30
4
2
35
40
45
50
55
60
3
65
70
4
75
80
FLOWSHOP FLEXIBLE
FFc /b/ g
Estacin 1
m1
asignacin
y
de
m2
m3
Estacin 3
m1
m1
m2
m1
m2
m3
m2
m4
Estacin 2
m3
Estacin 4
REGLAS DE PRIORIDAD
La forma ms sencilla de programar
Se ordenan los trabajos de acuerdo con alguna regla de prioridad
Algoritmo de lista en la primera estacin (un Pm o Rm) de acuerdo a la regla
elegida
En las dems se emplea el algoritmo de lista con la regla FIFO
Garantiza el ptimo ?? No, pero soluciona el problema
Ejemplo
Trabajos
Mquina 11
Mquina 12
Mquina 21
Mquina 22
4
3
3
1