Вы находитесь на странице: 1из 91

MODELOS DE PRODUCCIN E

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

3. Determinar fechas de entrega


4. Rastrear trabajos en el piso de la planta
5. Minimizar tiempos de alistamiento por programacin inadecuada
6. Se pueden evaluar los efectos de reprogramar trabajos

VARIOS PROBLEMAS (ANTES DE


PROGRAMAR)
Cmo consolidar los trabajos? rdenes de pedido no son iguales a rdenes de
produccin. Por qu?
Se puede fabricar para stock
Varios pedidos con las mismas referencias pueden consolidarse (cmo y para
qu?)

Cmo determinar fechas de entrega?


Pueden interrumpirse los trabajos? a qu costo?
Cmo determinar el framework? Muchas veces una nica mquina es la que
se programa. Las dems siguen una disciplina FIFO para procesar los trabajos
Cul es la funcin objetivo?
8

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).

4. Las funciones objetivo industriales no corresponden a las clsicas


usadas en programacin de produccin

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

TIPOS DE SISTEMAS DE MANUFACTURA


Una Mquina
Se tienen n trabajos para secuenciarse en la nica mquina.
Mquinas en paralelo
Se tienen estaciones con mltiples mquinas (idnticas o no idnticas)
Los trabajos pueden ir a cualquier mquina de la estacin, pero un
trabajo slo visita una nica mquina.

12

TIPOS DE SISTEMAS DE MANUFACTURA


Lnea de Produccin (Flow Line, Flow Shop): Sistema de produccin en el
cual n trabajos se procesan en el mismo orden en las m mquinas. Poca
variedad de productos y alta produccin.
Sistema Flexible de Manufactura (FMS): Sistema de produccin
automatizado en el cual se procesan productos de la misma familia en
lotes medianos.
Taller (Job Shop): Sistema en el cual n trabajos en m mquinas pero no
necesariamente siguiendo la misma ruta o con el mismo nmero de
operaciones. Alta variedad y poco volumen.

13

FLOW SHOP
Lnea de Produccin

Producto 1

Mquinas

Producto 2

Producto 3

14

SISTEMA FLEXIBLE DE MANUFACTURA


Clula 1

Clula 2

Clula 3

familia de
productos 1

familia de
productos 2

familia de
productos 3

15

SISTEMAS DE TALLER DE PRODUCCIN


departamento 3

Producto 1

Producto 2

departamento 2
departamento 4

departamento 1
16

Volumen

GRFICA DE VOLUMEN VS. VARIEDAD EN


SISTEMAS DE PRODUCCIN
Lnea de
Produccin
Sistema
Flexible
Taller de
Produccin
Variedad
17

DEFINICIONES BSICAS (PARMETROS)


1. pij: Tiempo de proceso del trabajo j en la mquina i
2. rj: Tiempo de disponibilidad (release) del trabajo j
3. dj: Fecha de entrega del trabajo j
4. wj: Prioridad del trabajo j

18

DEFINICIONES BSICAS (INDICADORES)


Fecha de terminacin (trabajo j): Cj

Makespan: Cmax = Max (Cj)


Tiempo Flujo Promedio: (Cj - rj)/ n (nmero de trabajos)
Retardo Lj (trabajo j): Cj - dj

Tardanza Tj (trabajo j): Max (Lj, 0)


Trabajo Tardo Uj (trabajo j): Uj {0,1}. Uj = 1 si Tj >0; 0 dlc.
Tardanza Media: Tj / n
Tardanza Ponderada Total: wjTj
Total Trabajos tardos: Uj
Anticipo = Max (-Lj, 0)
19

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

Registros del MRP generan rdenes en planta


Producto 1
Requerimientos Brutos
Recepciones Programadas
Inventario Proyectado
Colocacin de rdenes
L= 1
Producto 2
Requerimientos Brutos
Recepciones Programadas
Inventario Proyectado
Colocacin de rdenes
L=1
Tiempo de proceso
producto 1
producto 2

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?

Cules son las fechas de entrega?


Cul es el tiempo de proceso?

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

tamao de lote x 0.005


80 x 0.005 = 0.4 semanas

23
23

CLASIFICACIN DE LOS PROBLEMAS DE


SCHEDULING
Esta es la notacin de Graham et al (1979). a/b/g
a : Framework
1 Single machine
Pm m identical parallel machines
Fm flow shop with m machines
Jm job shop with m machines
FFc Flexible Flow Shop
FJc Flexible Job Shop
Om Open Shop with m machines

25

CLASIFICACIN DE LOS PROBLEMAS DE


SCHEDULING
b : Restricciones
rj
(release dates)
skj
(sequence dependent setup times)
Mj (restriccin de elegibilidad de mquinas). Mj es el conjunto de mquinas en paralelo que pueden
procesar el trabajo j.
prmp (pre-emptions, interrupciones)
prec (precedence constraints). Relaciones de precedencia entre trabajos. Un orden predefinido
arbitario.
prmu (permutation). Todas las mquinas tienen la misma secuencia de trabajos
block (blocking). Un trabajo no puede continuar hacia la siguiente mquina a menos que sta se
encuentre vaca.
no-wait
(no interrupcin). Un trabajo una vez inicia su proceso, nunca espera en cola.
recrc
(recirculacin). Los trabajos pueden visitar una mquina ms de una vez

26

CLASIFICACIN DE LOS PROBLEMAS DE


SCHEDULING
g : Funcin objetivo
Tardanza Ponderada Total
Makespan
Retardo Mximo
Tiempo (ponderado) de Flujo Total
Anticipo Ponderado Total (Earliness)

27

JERARQUA DE LOS PROBLEMAS


En ocasiones algoritmos pueden usarse en varios problemas.
Ej: Si un algoritmo funciona en 1// wjCj entonces tambin funcionar en 1// Cj
.

Esto significa que 1// Cj se reduce a ( o es un caso especial de) 1// wjCj

29

PROGRAMACIN DE UNA MQUINA


Problema: secuenciar n trabajos en la mquina de tal forma que se
minimice un objetivo:
Posibles Objetivos: Tiempo promedio de flujo, Tardanza Ponderada,
Retardo mximo, Nmero de trabajos tardos, etc.
En general los problemas de secuenciacin de trabajos en una
mquina son NP-hard!!

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

Estticas: Dependen de los parmetros de los trabajos (fecha de entrega,


tiempo de proceso, etc.) pero no del tiempo o status de las mquinas.
Dinmicas: Dependientes del tiempo o status de las mquinas.

REGLAS DE DESPACHO ESTTICAS


FCFS (First Come First Served)
SPT (Shortest Processing Time) First
p[j] p[j+1] (p[j] es el tiempo de proceso del trabajo programado en la j-sima
posicin)
EDD (Earliest Due Date) First
d[j] d[j+1] (d[j] es la fecha de entrega del trabajo programado en la j-sima posicin)

WSPT (Weighted Shortest Processing Time)


w[j]/p[j] w[j+1]/p[j+1]. Programa primero los trabajos con mayor prioridad y menor
tiempo de proceso

Reglas de Despacho Dinmicas


MS (Minimum Slack)
El slack es el tiempo remanente para cumplir con la fecha de entrega.
sj = max (dj pj t, 0)
Secuenciacin: s[k] s[k+1]

ATC (Aparent Tardiness Cost)


max( d j p j t ,0)

I j (t )
exp
pj
K p

wj

K: Constante a determinar

p : Tiempo promedio de los trabajos no programados


Secuenciacin I[k] I[k+1]

EJERCICIOS
Se tienen los siguientes trabajos 1// g:
Trabajos
j

pj

dj

10

wj

Programe los trabajos con FIFO, SPT, EDD y ATC


Demuestre que la regla WSPT minimiza el flujo ponderado promedio
Demuestre que la regla EDD minimiza el retardo mximo

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

SOLUCIONES PTIMAS CON REGLAS DE


DESPACHO?
Excepto en unos pocos casos, NO existen reglas de despacho (ej. SPT,
CR, etc) que garanticen optimalidad.
Estas son unas excepciones:
La regla WSPT minimiza el flujo promedio ponderado 1// wjCj

La regla EDD minimiza el retardo mximo 1// Lmax

REGLAS DE DESPACHO CUANDO LOS TRABAJOS NO


ESTN TODOS DISPONIBLES EN TODO MOMENTO
Idea: En el tiempo t ordenar los trabajos de la cola de la mquina de
acuerdo a un criterio (regla), seleccionar algn trabajo (digamos j*) y
programarlo.
Una vez programado el trabajo j*, actualizar el tiempo t (se actualiza
por eventos) y seleccionar el siguiente trabajo a programar. Repetir
hasta que no haya nuevos trabajos que programar.
Los eventos pueden ser la llegada de nuevos trabajos o la liberacin
de la mquina o

Existe alguna otra forma de hallar una solucin


ptima al problema de una mquina??
Supongamos que tenemos n trabajos para una mquina y
queremos minimizar Tardanza Ponderada Total.
Qu se puede hacer?
Enumeracin exhaustiva: Cuntas posibles secuencias hay??

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

Se usan los algoritmos exactos en la industria?


Hay algunas aplicaciones, la mayora en lneas de produccin (flow shop) .
Pero en general la programacin es tan compleja que no existen modelos
exactos y el caso es de hallar una buena programacin que los encargados
entiendan.

SOLUCIONES EXACTAS
1. Programacin matemtica
2. Branch and Bound

3. Programacin Dinmica
4. Enumeracin exhaustiva!

BRANCH AND BOUND (RAMIFICACIN Y


ACOTACIN)
Ampliamente utilizada en IO para problemas de programacin entera mixta
(PEM).
Se forma un rbol al que se le agregan iterativamente nodos (soluciones
parciales o relajadas).

Un nodo es una solucin al problema relajado y su valor (funcin objetivo) es


una cota inferior (lower bound) al problema no relajado dado que se tiene una
solucin parcial.
El desafo es encontrar cotas inferiores y superiores bastante aproximadas a la
solucin ptima y as reducir el nmero de nodos expandidos.

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.

Acotar: Hallar el valor de la F.O. para cada nuevo nodo.

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

Mejoras al procedimiento anterior


Hallar cotas superiores
Una cota superior es el valor de la F.O. correspondiente a una solucin factible.
Si un nodo abierto tiene un valor de la F.O. mayor que el de la cota superior se elimina del rbol.
Cotas comunes
Reglas de despacho

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

Con propiedades del problema


Se pueden eliminar nodos si se tienen ciertas condiciones del problema
Si pj pk y dj dk entonces j va antes que k en el caso 1// Tj

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

Sabemos ahora que 21,3,4


1 4 y que una cota superior es 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

Mquinas no idnticas (o no homogneas)


Las mquinas tienen diferentes velocidades de procesamiento y el tiempo de proceso
depende de la mquina elegida
Ej.: impresoras

58

El Pm/b/g es una extensin del 1/b/g


No existen reglas de despacho que GARANTICEN la solucin ptima, excepto
algunos casos particulares
Las reglas de despacho se implementan usando ALGORITMOS DE LISTA.
Una LISTA es una secuencia de trabajos ordenados de acuerdo a la regla de
despacho seleccionada.
El programa de produccin se genera asignando los trabajos en la lista a la
mquina con menor carga asignada (menor tiempo de terminacin).

59

Ejemplo
Trabajos
1

Diagrama de Gantt (2 mquinas)

Mquina 1

Mquina 2

60

4
3

MQUINAS PARALELAS: MINIMIZAR


CMAX
Se tiene: P2| |Cmax

Equivalente al problema de particin


Se tienen n enteros, con
Existe una particin en 2 conjuntos S1 y S2 tal que

p
jS1

p
jS 2

p
i 1

2B

M1
M2

C*max

61

MQUINAS PARALELAS: PM | | CMAX


Cmo lo solucionamos?
Supongamos esta instancia:

j
pj

62

1
6

2
7

3
4

4
2

MQUINAS PARALELAS: PM | | CMAX


Ejercicio: Encuentre un programa que minimice el makespan en 3
mquinas paralelas.

1 2

10

11

12

13

14

15

pj

1 3

10

10

11

12

13

13

14

16

18

19

64

MQUINAS PARALELAS: PM | | CMAX


Mquina 1

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

CMO HALLAMOS EL PTIMO?


Enumeracin
Notar que es un problema doble: Asignacin y secuenciacin
Cuntas soluciones hay?
El nmero de soluciones se puede calcular as:

n 1 n!

m 1 m!

Modelo matemtico Programacin Mixta


Branch & Bound

70

MQUINAS PARALELAS: PM | | CJ
Encontrar un programa que minimice el
tiempo total de terminacin de los
trabajos en 3 mquinas paralelas
idnticas.

Existir alguna regla de despacho que


garantice la solucin ptima?

Job #

pj

10

2
71

MQUINAS PARALELAS: PM | | CJ
Buenas noticia
La regla SPT soluciona a optimalidad Pm | |
Cj

Mquina 1: Jobs 6-7-8-4


Mquina 2: Jobs 10-9-2
Mquina 3: Jobs 3-1-5
Cj = 81
Cmax = 18

72

Job #

pj

10

FLOW SHOP Fm /b/ g


Configuracin:
n trabajos.
m mquinas en serie.

El problema es Fm // g
Todos los trabajos siguen la misma ruta:
Mq. 1 Mq. 2 Mq. 3 Mq. M

DIFICULTAD del Fm /b/ g


Los problemas de Fm /b/ g son NP-Hard. No hay algoritmos que en
tiempo polinomial brinden soluciones ptimas.
Excepto en unos pocos casos

RESTRICCIN DE PERMUTACIN (PRMU)


Permutacin
Todas las mquinas tienen la misma secuencia de trabajos
Es la regla FIFO a partir de la mquina 2
Definiendo la permutacin se genera la programacin en todas las
mquinas! Es una ventaja.
Se pueden adaptar las reglas de despacho a la permutacin sin
dificultad.

Para F2||Cmax y F3||Cmax existe una permutacin que es


ptima

Calcular el makespan para una


permutacin
Sea j1,,jn una permutacin dada e.j., el trabajo jk es el k-simo trabajo en
todas las mquinas
Ci,j= tiempo de terminacin del trabajo j en la mquina i
i

Ci,j1=

S pl,j1

i=1,,m

l=1
k

C1,jk=

S p1,jl

k=1,,n

l=1

Ci,jk=

max(Ci-1,jk, Ci,j,k-1) + pi,jk

i=2,,m; k=2,,n

Ejemplo
J
J1
J2
J3

p1j
3
2
4

p2j
3
1
1

p3j
2
3
3

Halle los tiempos de terminacin de todas las operaciones


Dada la permutacin J1-J2-J3

EJEMPLO
M1

J1

M2

J2
J1

M3

J3
J2

J3

J1

J2

J3

C1,j1=

S pl,j1

C1,j1 = 3, C2,j1 = 6, C3,j1 = 8

l=1
k

C1,jk=

S p1,jl

C1,j1 = 3, C1,j2 = 5, C1,j3 = 9

l=1

Ci,jk=

max(Ci-1,jk, Ci,j,k-1) + pi,jk

C2,j2 = max (C1,j2, C2,j1) + p2, j2


= max (5, 6) + 1 = 7

Problema F2 | | Cmax: algoritmo de


Johnson
Hacer dos particiones: Conjunto I y Conjunto II
En el conjunto I colocar todos los trabajos en los cuales p1j < p2j y en el
conjunto II todos los trabajos en los cuales p1j > p2j. Trabajos con p1j =
p2j, se colocan en cualquier conjunto. Los trabajos en el conjunto 1 se
ordenan por SPT segn el tiempo de proceso en la mquina 1 (p1j ) y los
del conjunto II por LPT segn el tiempo de proceso en la mquina 2 (p2j
). Los empates se rompen arbitrariamente.
Los trabajos siguen la permutacin que es la unin de la secuencia en
M1 con la secuencia de M2.
La secuencia se llama SPT(1)-LPT (2)

Problema F2 | | Cmax Ejemplo


Considerar el siguiente caso:
2 mquinas en serie.
7 trabajos.
Minimizar makespan: Cmax

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

Problema F2||Cmax: algoritmo de


Johnson
Conjunto I
trabajo

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

Problema F ||Cmax: algoritmo de


Johnson
2

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

ALGORITMO DE JOHNSON: EXTENSIN A 3


MQUINAS
Con 3 o ms mquinas, el algoritmo de Johnson no puede utilizarse.
Excepto en algunos casos especiales en que puede adaptarse
Para F3||Cmax, cuando la mquina intermedia est dominada ( Cuando el
tiempo de procesamiento ms largo de algn trabajo es menor o igual
que el tiempo de procesamiento ms corto de alguna de las otras dos
mquinas )

max p2, j max min p1, j ,min p3, j


j

ALGORITMO DE JOHNSON: EXTENSIN A 3


MQUINAS
Entonces, el problema F3 | | Cmax se puede transformar en un problema
equivalente F2 | | Cmax

Los tiempos de proceso equivalentes son:

p p1, j p2, j
'
1, j

'
2, j

p2, j p3, j

ALGORITMO DE JOHNSON: EXTENSIN A 3


MQUINAS
trabajo

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

Y PARA EL CASO GENERAL?


Programacin entera mixta
Algoritmos heursticos

Algoritmos metaheursticos

Problema Fm||Cmax : Programacin Mixta


Binaria
Variables
xjk=1 si el trabajo j es programado en la posicin k; 0 si no
Iik : tiempo ocioso de la mquina i entre la finalizacin del trabajo en la
posicin k (i =1,,m; k =1,,n1) y la llegada del trabajo en la posicin k+1

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)

Problema Fm||Cmax : Programacin


Mixta Binaria

Funcin objetivo (minimizar tiempo ocioso en la ltima mquina)


m 1

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

Problema Fm||Cmax : Programacin


Mixta Binaria
Restricciones de asignacin:
restricciones de asignacin en las
mquinas
n

x j ,k 1 j 1,..., n
k 1
n

x
j 1

j ,k

1 k 1,..., n

Un trabajo slo puede asignarse a


una posicin
Una
posicin
slo
asignarse a un trabajo

puede

Problema Fm||Cmax : Programacin Mixta Binaria


Restricciones de tiempos muertos
n

j 1

j 1

I ik x j ,k 1 pij Wi ,k 1 Wik x jk pi 1, j I i 1,k

Restriccin de equivalencia de tiempos muertos (e.j. si el trabajo en la posicin k


en la mquina i espera a que la mquina i+1 se desocupe entonces Wik > 0 y la
mquina (i+1) no tiene tiempo ocioso Ii+1,k-1 = 0 )
De igual forma si la mquina i tiene tiempo ocioso Ii,k > 0, entonces el trabajo en
la posicin k+1 no esper en la cola de la mquina i. Entonces Wi-1,k+1 = 0

Relacin entre Ii,k y Wi,k

Fm | | Cmax, m > 2 : heursticos


Un heurstico directo es forzar el problema para que se vea
como uno de 2 mquinas y usar el algoritmo de Johnson.
El problema est en hallar las dos mquinas equivalentes y
los tiempos de los trabajos.

Fm | | Cmax, m > 2 : heurstico CDS


Capmbell, Dudek y Smith(1970)
El uso del algoritmo de Johnson para convertir un problema de tres mquinas
en uno de dos mquinas, an sin cumplir el criterio de optimalidad, brinda
buenas soluciones como mtodo de programacin. CDS utiliza el anterior
resultado, es decir convierte un problema de n trabajos con m mquinas en ( m1 ) sub-problemas y se selecciona el mejor programa entre stos.
k

' (k )
1, j

pi , j ,
i 1

' (k )
2, j

i m k 1

pi , j

k 1,

, m 1

De acuerdo con el experimento realizado por Dannenbring (1977), el algoritmo


encontr soluciones ptimas para el 55% de un conjunto de 1.580 problemas.

Fm | | Cmax , m > 2 : Ejercicio


Resolver por el mtodo CDS

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

Fm | | Cmax, m > 2 : Ejercicio CDS


p11+p21

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

El algoritmo NEH Fm | | Cmax, m > 2


Heurstica de Insercin

Nawaz, Enscore, Ham son los autores por eso el nombre


M. Nawaz, E. Enscore Jr. and I. Ham, A heuristic algorithm for the mmachine, n-job flow-shop sequencing problem, Omega, the
International Journal of Management Science 11 (1983), pp. 9195.
Considerada una de las mejores heursticas para el Fm//Cmax

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

Fm | | Cmax , m > 2 : Ejercicio


Resolver por el mtodo NEH

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

NEH Fm | | Cmax, m > 2


Paso 1 Ordenar por LPT de acuerdo a la suma de tiempos totales

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

Arbitrariamente escoger J2-J3-J4


Insertar J5

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

Variacin del Flow shop


Ahora hay mquinas en paralelo
en cada estacin (pueden ser
idnticas o no)
Dos problemas
secuenciacin

asignacin

Problema MUUUYY difcil


solucionar a optimalidad

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

Diagrama de Gantt (2 mquinas)


Estacin 1
Estacin 2
109

Mquina 11

Mquina 12

Mquina 21

Mquina 22

4
3

3
1

Вам также может понравиться