Dirección de Operaciones. Programación de …...Dirección de Operaciones. Programación de...
Transcript of Dirección de Operaciones. Programación de …...Dirección de Operaciones. Programación de...
Dirección de Operaciones. Programación de operaciones: secuenciación y temporización
Joaquín Bautista Valhondo, Rocío Alfaro Pozo y Alberto Cano Pérez
D-12/2013
Publica: Universitat Politècnica de Catalunya www.upc.edu
Edita:
Cátedra Organización Industrial www.prothius.com
Departamento de Organización de Empresas
Universidad Politécnica de Cataluña
Universitat Politècnica de CatalunyaUPC
IO-T-10
Programación de operaciones: Secuenciación y Temporización
www.prothius.com IO-T-20
Contenido
Decisiones en los sistemas productivos. El problema del Taller Mecánico.
• Clasificación.• Nomenclatura.• Medidas de eficiencia.
Ejemplo de aplicación. Secuencias una máquina. Secuencias varias máquinas.
• Algoritmo de Johnson.• Algoritmo de Johnson generalizado.• Cotas para el problema.• Heurísticas para el Flow Shop.
www.prothius.com
Decisiones de diseño del sistema productivo
1. Previsión y planificación a largoplazo.
2. Diseño productivo de los elementosfabricados.
3. Distribución en planta.
4. Selección de equipos y procesos.
5. Localización del sistema productivo.
6. Diseño de tareas y medida deltrabajo.
Decisiones de dirección de operaciones
1. Previsión de la demanda.
2. Planificación de operaciones.
3. Cálculo de necesidades y gestión demateriales.
4. Programación y control deoperaciones.
5. Fiabilidad y entretenimiento delsistema productivo.
6. Gestión de la calidad.
7. Control de costes y de la mano deobra.
IO-T-30
Decisiones en los sistemas productivos
www.prothius.com
Los 3 Niveles de Decisión en Dirección de Operaciones
IO-T-40
Corto plazo Medio plazo Largo plazoP
LA
NIF
ICA
CIÓ
N D
E
OP
ER
AC
ION
ES
CÁ
LC
UL
O D
E
NE
CE
SID
AD
ES
PR
OG
RA
MA
CIÓ
N
DE
TA
LL
AD
A
SIS
TE
MA
P
RO
DU
CT
IVO
SE
GU
IMIE
NT
O
PL
AN
IF.
AP
RO
VIS
ION
.P
RE
PR
OG
RA
-M
AC
IÓN
Po
lítica de
d
irecció
n
Info
rmació
n
com
ercial
Ap
rovisionamientos
críticos
Ciclo
s sim
plificad
os
PL
AN
M
AE
ST
RO
Situ
ación
sto
cks
Lista d
e
mate
riales
Ob
ra en
cu
rso
ÓR
DE
NE
S
FA
BR
ICA
CIÓ
N
ÓR
DE
NE
S
AP
RO
V./C
OM
PR
A
LA
NZ
AM
IEN
TO
Me
dio
s
Ciclo
s
Disp
on
ibilid
ad
www.prothius.com
El problema del Taller mecánico (Job Shop Problem)
IO-T-60
n, piezas o trabajos. m, etapas, máquinas o estaciones de trabajo. Una operación asignada a cada máquina. Orden establecido de proceso en las máquinas. pi,k, tiempos de proceso para cada trabajo.Máquinas y piezas disponibles en el instante 0.
Objetivo: determinar una secuencia para las piezas, la mismaen cada máquina, que optimice un índice de eficiencia (porejemplo makespan o Cmax)
mn
www.prothius.com
El problema del Taller mecánico: Clasificación (I)
Problema estático
Las piezas en número finito y determinado deben realizarse en un taller con unnúmero finito de máquinas.
En el instante de realizar la programación se conoce la ruta de cada pieza, lasoperaciones que la componen, en que máquina debe realizarse cada operación ysu duración correspondiente.
Todas las piezas y máquinas están disponibles en el mismo instante quehabitualmente se adoptará como inicial o instante 0 en tiempo relativo.
Finalidad del problema: buscar un programa que optimice un índice de eficienciaestablecido, por ejemplo la ocupación total del taller.
IO-T-70
www.prothius.com
El problema del Taller mecánico: Clasificación (II)
Problema semidinámico
Las piezas en número finito y determinado deben realizarse en un taller con unnúmero finito de máquinas.
En el instante de realizar la programación es conocida la ruta de cada pieza, lasoperaciones que la componen, en que máquina debe realizarse cada operación yla duración correspondiente.
Los instantes de disponibilidad de las piezas y/o máquinas pueden no seridénticos, pero sí conocidos, en el instante de realizar la programación.
Finalidad del problema: buscar un programa que optimice un índice de eficienciaadecuado.
IO-T-80
www.prothius.com
El problema del Taller mecánico: Clasificación (III)
Problema dinámico
Horizonte de funcionamiento del taller: ilimitado hacia el futuro. El número depiezas, no el de máquinas, es también ilimitado.
El conocimiento concreto en un instante determinado se limita a la situaciónactual y a una cartera finita de piezas a realizar.
Progresivamente algunas piezas terminan su elaboración en el taller y loabandonan, mientras que otras nuevas llegan a él para ser tratadas.
No podemos pretender hallar aquí un programa único.
Finalidad en este caso: establecer un procedimiento de programación, y juzgar lacalidad de un procedimiento; los índices de eficiencia se asocian a lascaracterísticas medias de los programas a lo largo de un intervalo temporalsuficiente.
IO-T-90
www.prothius.com
El problema del Taller mecánico: Hipótesis de Conway, Maxwell y Miller (1967)
1. Cada máquina está continuamente disponible desde 0 hasta T, con T arbitrariamentegrande.
2. No hay montajes (convergencias) ni particiones en lotes (divergencias). Para cadaoperación i existe una sola precedente inmediata h (se exceptúa la primera operación decada pieza, que no tiene precedente); y una sola siguiente inmediata j (se exceptúa laúltima operación de cada pieza que no tiene siguiente).
3. Cada operación puede hacerse en un solo tipo de máquina del taller.4. Sólo hay una máquina de cada tipo en el taller.5. Cuando una operación ha comenzado debe terminarse antes de empezar otra en la misma
máquina; no se admiten interrupciones.6. No pueden solaparse dos operaciones de la misma pieza (en la misma máquina o en
máquinas distintas).7. Cada máquina puede tratar una sola operación a la vez.8. La única restricción activa en el taller es la relativa a las máquinas; no hay restricciones
de disponibilidad de mano de obra, materiales, etc.
Nótese que las hipótesis descritas únicamente describen problemas estáticos.
IO-T-100
www.prothius.com
Ejemplo
6 piezas (n=6). 3 máquinas (m=3). Flujo regular. Existen buffers de almacenamiento. Medida de eficiencia Cmax
Nomenclatura: Los tiempos de proceso (pi,k) son los siguientes:
IO-T-110
maxCprmuFm
A B C D E F
m1 1 4 9 10 3 1
m2 3 5 9 2 5 4
m3 10 9 6 3 4 1
www.prothius.com
Fm|prmu|Cmax
IO-T-120
Cmax=37
www.prothius.com
Fm|block|Cmax
Flujo regular. No existen buffers de almacenamiento. Medida de eficiencia Cmax
Nomenclatura:
IO-T-130
maxCblockFm
Cmax=39
www.prothius.com
El problema del Taller mecánico: Clasificación del flujo de piezas en el taller
Algunos de los problemas comunes:
Flujo regular (Flow Shop): Todas las piezas tienen la misma ruta. Las m máquinas sepueden numerar 1,2,...,m de tal forma que una pieza cualquiera será procesada por todaslas máquinas en orden creciente. Ninguna pieza sufre más de una operación en cadamáquina.
Flujo permutacional (Permutation Flow Shop): Es un caso particular del flujo regular enel cual la secuencia de piezas es la misma en todas las máquinas. Por lo tanto el programaqueda definido tan solo por una permutación de las piezas, de aquí el nombre.
Flujo aleatorio (Randomly Routed Job Shop): Indica el caso en que la ruta de las piezas escasual, es decir, no responde a un esquema definido.
Flujo general (Job Shop): Existen piezas en las que dos operaciones sucesivas se ejecutanla primera en la máquina j y la segunda en la máquina j’ y otras piezas en que dosoperaciones se ejecutan la primera en j’ y la segunda en j. Además una pieza puede sufrirvarias operaciones en la misma máquina.
IO-T-140
www.prothius.com
El problema del Taller mecánico: Nomenclatura
ri: instante de entrada de la pieza i en el taller. di: fecha de vencimiento de la pieza i. gi: número de operaciones de la pieza i.
• mi,k: máquina para la operación k de la pieza i.• pi,k: duración de la operación k de la pieza i.
ai: tiempo concedido para la realización de la pieza i. wi,k: tiempo de espera de la operación k de la pieza i. ci: instante de finalización de la pieza i en el taller. Fi: tiempo de permanencia de la pieza i en el taller. Ti: retraso de la pieza i en el taller. Algunas equivalencias:
IO-T-150iiiiiiiii
g
kkii
g
kkii
pwrcFpwrc
wwppii
+=−=++=
∑=∑=== 1
,1
,
www.prothius.com
El problema del Taller mecánico: Medidas de Eficiencia
Permiten clasificar los programas en clases ordenadas. Una medida de eficiencia es regular si no disminuye (no mejora) cuando alguno o
todos los valores ci aumentan. Algunas medidas de eficiencia:
• Cmax: instante de finalización de la última pieza del taller.
• Fmax: tiempo de permanencia en el taller de la pieza que permanece más tiempo, es equivalente a la anterior si todos los retrasos son iguales a 0.
• Fmed: tiempo medio de permanencia de las piezas en el taller.
• Tmax: retraso de la pieza que se retrasa más
• Tmed: retraso medio de las piezas.
IO-T-160
}{max iimax cC =
}{max iimax FF =
∑==
n
iimed F
nF
1
1
}{max iimax TT =
∑==
n
iimed T
nT
1
1
www.prothius.com
El problema del Taller mecánico: Nomenclatura de Conway, Maxwell y Miller
A / B / C / D A corresponde a la llegada de las piezas. En los problemas dinámicos puede
indicar una ley de probabilidad; en los estáticos será el número de piezas (se usael símbolo n para indicar un número de piezas arbitrario)
B describe el número de máquinas en el taller (se usa el símbolo m para indicarun número arbitrario)
C se refiere al tipo de flujo de las piezas por el taller, y generalmente toma uno delos valores F, P, R o G:• F indica flujo regular.• P indica flujo permutacional.• R indica flujo aleatorio.• G indica flujo general.
D se refiere al índice de eficiencia elegido para evaluar los programas (Fmax, Cmax,Fmed, Tmax,…)
IO-T-170
www.prothius.com
El problema del Taller mecánico: Nomenclatura de Lawler (I)
α: Se divide en dos partes, α1 y α2.• α1 puede ser:
• ∅: una única máquina.• P: máquinas idénticas en
paralelo.• Q: máquinas en paralelo
uniformes, con un factor develocidad qi para cada máquina.
• R: máquinas en paraleloindependientes unas de otras.
• O: indica que se trata de unproblema Open Shop.
• J: indica que se trata de unproblema Job Shop (flujogeneral).
• F: indica que se trata de unproblema Flow Shop (flujoregular), con máquinas en serie.
• HF: Flow Shop híbrido,generalización del caso anterior,en el cual existen una serie deetapas, cada una formada porunas máquinas en paralelo.
• FF: Flow Shop flexible,representa un flow shop en queno todas las piezas tienen queser procesadas en todas lasetapas.
• α2 presenta el número de máquinas.Puede ser un entero positivo (1 sóloen el caso que α1 sea ∅) o bien m(indicar un número arbitrario).
IO-T-180
α|β|γ
www.prothius.com
El problema del Taller mecánico: Nomenclatura de Lawler (I)
β: indica características de las piezas.• pmtn: una pieza se puede interrumpir
y continuar su ejecución en un momento posterior.
• res: indica la presencia de recursos limitados.
• prmu: indica que se trata de un problema con flujo permutacional (Permutation Flow Shop).
• block: en este tipo de problemas no existen espacios de almacenamiento entre máquinas, con lo cual se ha de esperar a que la máquina siguiente este libre antes de entregarle una pieza. Es un caso particular del problema Permutation Flow Shop.
• prec: existen relaciones de precedencia entre las piezas.
• tree: igual que la anterior, pero el grafo asociado a las precedencias entre piezas corresponde a un árbol.
• rj: fechas de disponibilidad de las piezas diferente de 0.
• mj: existe una cota superior constante para cada máquina (sólo si α1=J)
• pi,j: denota cotas (superior e inferior) sobre los tiempos de proceso de las piezas en las máquinas.
• sh,i: tiempos de preparación dependientes de la secuencia.
• bkdw: indisponibilidad de máquinas. γ: indica la medida de eficiencia
escogida. IO-T-190
α|β|γ
www.prothius.com
Secuencias finitas para una máquina (I)
Datos:• m =1 ; gi = 1 ; pi = pi,1 ; wi = wi,1 ⇒ Hay n! soluciones posibles (potencialmente)• Si además ri = 0 ⇒ ai = di ; ci = Fi = wi + pi ;
• Llamaremos [k]: la pieza que ocupa la k-ésima posición en la permutación:
1. Secuencia conforme a la duración o SPT (Shortest Processing Time):
• Corresponde a la regla heurística: “ejecutar primero la operación más corta”.
• El programa asociado a esta secuencia minimiza Fmed, y también minimiza el stock medio.
IO-T-200
∑==
n
iipF
1max
[ ] [ ] [ ]nccc <<< ...21
[ ] [ ] [ ]nppp <<< ...21
www.prothius.com
Secuencias finitas para una máquina (II)
2. Secuencia conforme a la fecha de vencimiento o EDD (Earliest DueDate):
• Corresponde a la regla heurística: “ejecutar primero lo más urgente”.
• El programa asociado a esta secuencia minimiza Tmax y Lmax (Jackson, 1955).
3. Secuencia conforme al margen o SFT (Shortest Float Time):
• Corresponde a la regla heurística: “ejecutar primero lo que tiene menosmargen”.
• Puede demostrarse que el programa asociado a esta secuencia maximiza Tmin(y Lmin o holgura (negativa: adelanto, positiva: retraso)).
IO-T-210
[ ] [ ] [ ]nddd <<< ...21
[ ] [ ] [ ] [ ] [ ] [ ]nn pdpdpd −<<−<− ...2211
www.prothius.com
Secuencias finitas para una máquina (III)
Secuencias SPT, EDD y SFT en un ejemplar con 8 piezas, 1 máquina.
IO-T-220
i 1 2 3 4 5 6 7 8pi 8 3 6 2 7 9 4 5di 15 20 21 27 29 33 39 42
di-pi 7 17 15 25 22 24 35 37
k 1 2 3 4 5 6 7 8
[k] 4 2 7 8 3 5 1 6
c[k] 2 5 9 14 20 27 35 44
d[k] 27 20 39 42 21 29 15 33
L[k] -25 -15 -30 -28 -1 -2 20 11
k 1 2 3 4 5 6 7 8
[k] 1 2 3 4 5 6 7 8
c[k] 8 11 17 19 26 35 39 44
d[k] 15 20 21 27 29 33 39 42
L[k] -7 -9 -4 -8 -3 2 0 2
Secuencia SPT Secuencia EDD
www.prothius.com
Secuencias finitas para una máquina (IV)
IO-T-230
k 1 2 3 4 5 6 7 8
[k] 1 3 2 5 6 4 7 8
c[k] 8 14 17 24 33 35 39 44
d[k] 15 21 20 29 33 27 39 42
L[k] -7 -7 -3 -5 0 8 0 2
k 1 2 3 4 5 6 7 8
[k] 1 3 2 5 4 6 7 8
c[k] 8 14 17 24 26 35 39 44
d[k] 15 21 20 29 27 33 39 42
L[k] -7 -7 -3 -5 -1 2 0 2
Secuencia SFT Secuencia cualquiera
Fmed Tmax Tmed Lmin Lmed Σ|Li|SPT 19,5 20 3,875 -30 -8,75 132EDD 24,875 2 0,5 -9 -3,375 35SFT 26,75 8 1,25 -7 -1,5 32
X 25,875 2 0,5 -7 -2,375 27
Parámetros característicos
www.prothius.com
Flow-shop: Problema Fm|prmu|Fmax
Si todas las piezas y máquinas disponibles en el instante 0. Lemas de Johnson (1954):
• Lema 1: En un problema Fm|prmu| con todas las piezas y máquinas disponiblessimultáneamente y una medida de eficiencia regular, siempre existe un programaóptimo en el que las piezas tienen la misma secuencia en las dos primeras máquinas,por tanto los programas considerados en la búsqueda de un programa óptimo puedenlimitarse a los de este tipo.
• Lema 2: En un problema Fm|prmu|Fmax con todas las piezas y máquinas disponiblessimultáneamente, siempre existe un programa óptimo en el que las piezas tienen lamisma secuencia en las dos últimas máquinas, por tanto los programas consideradosen la búsqueda de un programa óptimo pueden limitarse a los de este tipo.
Si m = 2 o m = 3, la medida de eficiencia es Fmax (regular), con las piezas ymáquinas disponibles en el instante 0: existe un programa óptimo con lasecuencia de piezas mantenida en todas las máquinas.
Determinación de un programa óptimo: búsqueda de una permutación de las npiezas (no descarta programas óptimos de otro tipo, secuencias no idénticas entodas las máquinas).
IO-T-240
www.prothius.com
Flow-shop: Problema F2|prmu|Fmax
Johnson enunció la siguiente condición, suficiente para que unapermutación sea óptima:
Algoritmo de Johnson:
Paso 1: Se busca la menor de las duraciones de las piezas no ordenadas todavía, pi,j; encaso de empate, se elige cualquiera de ellas.
Paso 2: Si j =1 la pieza i se coloca delante de todas las no ordenadas; si j =2 se colocadetrás de las mismas.
Paso 3: Se marca la pieza i como ordenada; si quedan piezas por ordenar, se vuelve alpaso 1, y en caso contrario, FIN (permutación obtenida).
IO-T-250
“Para todo par de piezas, h e i, tal que min { ph,1 , pi,2 } < min { ph,2 , pi,1 }h ocupa una posición anterior a la de i en la permutación.”
www.prothius.com
Flow-shop: Problema F2|prmu|Fmax
5 piezas, 2 máquinas. Se dispone de los siguientes tiempos de proceso:
Cálculo de Fmax. Sea [k] la pieza situada en la posición k de lapermutación y fj(k) el instante en que termina la k-ésima operación en lamáquina j:•••
IO-T-260
j\i 1 2 3 4 5
1 8 2 4 3 5
2 4 6 1 4 7
Orden de Johnson: 2 – 4 – 5 – 1 – 3.
,...,n, k ,..,m, j pk , fkf kf ,jkjj-j 21;21)}1()(max{)( ][1 ==+−=
jfk kf j ∀=∀= ;0)0(y;0)(0)(max nfF m=
k 1 2 3 4 5
[k] 2 4 5 1 3
f1(k) 2 5 10 18 22
f2(k) 8 12 19 23 24
12 34 5
www.prothius.com
Flow-shop: Algoritmo de Johnson generalizado (I)
Condición de Johnson generalizada, una secuencia la cumple si:
Algoritmo de doble ordenación:Paso 1: Construir una secuencia cualquiera de las n piezas.Paso 2: Mientras se produzcan cambios de orden:
2.1: poner a cero el contador de cambios de orden2.2: recorrer la secuencia haciendo k = 1, 2, ..., n-12.3: hacer h = [k], i = [k+1]2.4: si min {ph,1 , pi,2} > min {ph,2 , pi,1} o min {ph,1 , pi,2} = min {ph,2 , pi,1} y ph,1−ph,2 > pi,1−pi,2
hacer [k] = i, [k+1] = h; anotar un cambio de orden2.5: pasar al siguiente valor de k
Fin mientras
IO-T-270
Para todo par de piezas, h e i, tal quemin { ph,1 , pi,2 } < min { ph,2 , pi,1 } o bien
min { ph,1 , pi,2 } = min { ph,2 , pi,1 } y ph,1 − ph,2 < pi,1 − pi,2h ocupa una posición anterior a la de i en la permutación.
www.prothius.com
Flow-shop: Algoritmo de Johnson generalizado (II)
Johnson extendió su algoritmo a problemas F3|prmu|Fmax cuando lasegunda máquina es poco importante:
Si mini { pi,1 } ≥ maxi { pi,2} o bien maxi { pi,2 } ≤ mini { pi,3 }
Una permutación óptima puede encontrarse aplicando el algoritmo deJohnson a un problema con 2 máquinas “ficticias” cuyos tiempos deproceso sean (pi,1 + pi,2 ; pi,2 + pi,3).
El mismo esquema es válido con 2 máquinas y un tiempo de latencia qiintermedio, la permutación óptima se obtiene aplicando el algoritmo deJohnson a: (pi,1 + qi ; pi,2 + qi).
Ecuaciones recurrentes:
•
IO-T-280
2],[2][121],[11 )}1()({max)(;)1()( kkk p k- , f q k f k f p k- f kf ++=+=
www.prothius.com
Flow-shop: Algoritmo de Johnson generalizado (III)
Si k > j + 1 el subproblema, aunque de menor dimensión que el original, tiene unacomplejidad comparable, sin embargo relajando la condición de que lasoperaciones en las máquinas comprendidas entre la j+1 y k-1, ambas inclusive, nodeben solaparse podemos obtener la solución óptima (mantenemos la condiciónde que la secuencia en las máquinas j y k sean idénticas). Naturalmente el valorde la solución óptima del problema relajado será una cota inferior del valor de lasolución óptima del problema sin relajar. Definamos el tiempo de latencia, qi parala pieza i como:
Si ordenamos las piezas utilizando el algoritmo de Johnson para dos máquinasficticias, asociando unas duraciones ficticias pi,j + qi para la primera máquina ypi,k + qi para la segunda, la permutación obtenida será óptima para el problemarelajado.
IO-T-290
∑=−
+=
1
1,
k
jllii pq
www.prothius.com
Flow-shop: Algoritmo de Johnson generalizado (IV)
Ejemplo:
Nuevo problema:
IO-T-300
A B C D E F
m1 1 4 9 10 3 1
m2 3 5 9 2 5 4
m3 10 9 6 3 4 1
A B C D E F
qi 3 5 9 2 5 4
A B C D E F
m1 4 9 18 12 8 5
m2 13 14 15 5 9 5
1 23 45 6
Orden de Johnson: A-F-E-B-C-D.orden A F E B C D
pi,1 1 1 3 4 9 10pi,2 10 1 4 9 6 3qi 3 4 5 5 9 2
f1(k) 1 2 5 9 18 28f2(k) 14 15 19 28 34 37 2],[2][12
1],[11
)}1()({max)(
)1()(
kk
k
p k- , f q k f kf p k- f kf
++=
+=
www.prothius.com
Flow-shop: Fm|prmu|Fmax Heurísticas de Palmer y Gupta (I)
Sirve para resolver el caso Fm|prmu|Fmax
Se calculan unos índices (estáticos) asociados a las piezas:
Palmer (1965) propone ordenar las piezas en orden creciente de Si,3. Índice para cada pieza:
Gupta (1971) propone ordenar las piezas en orden creciente de Si,4.
IO-T-310
2,1,3,
1,2,
1,1,
)1(
)(
iii
m
jjii
m
jjii
SSS
pjS
pjmS
−=
⋅−=
⋅−=
∑
∑
=
=
1)( sino ; si 1)(
}{min)(
1
1,,114,
= -ix p p = ix
ppixS
i,mi,
jijimji
≥
+=
+−≤≤
www.prothius.com
Flow-shop: Fm|prmu|Fmax Heurísticas de Palmer y Gupta (II)
Ejemplo:
Índices:
IO-T-320
A B C D E F
m1 1 4 9 10 3 1
m2 3 5 9 2 5 4
m3 10 9 6 3 4 1
A B C D E F
Si,1 5 13 27 22 11 6
Si,2 23 23 21 8 13 6
Si,3 -18 -10 6 14 -2 0
Orden de Palmer: A-B-E-F-C-D.
orden A B E F C Dpi,1 1 4 3 1 9 10pi,2 3 5 5 4 9 2pi,3 10 9 4 1 6 3
f1(k) 1 5 8 9 18 28f2(k) 4 10 15 19 28 30f3(k) 14 23 27 28 34 37
2310)13(3)12(1)11(
510)33(3)23(1)13(
2,
1,
=−+−+−=
=−+−+−=
A
A
SS
www.prothius.com
Flow-shop: Fm|prmu|Fmax Heurísticas de Palmer y Gupta (III)
Ejemplo:
Índice:
IO-T-330
A B C D E F
m1 1 4 9 10 3 1
m2 3 5 9 2 5 4
m3 10 9 6 3 4 1
A B C D E F
x(i) -1 -1 1 1 -1 1
den. 4 9 15 5 8 5
Si,4 -0.25 -0.1 0.067 0.2 -0.125 0.2
Orden de Gupta: A-E-B-C-D-F.
orden A E B C D Fpi,1 1 3 4 9 10 1pi,2 3 5 5 9 2 4pi,3 10 4 9 6 3 1
f1(k) 1 4 8 17 27 28f2(k) 4 9 14 26 29 33f3(k) 14 18 27 33 36 37
}103,31min{}{min1101)(
1,,11 ++=+−→≥→
+−≤≤ jijimj ppix
www.prothius.com
Flow-shop: Fm|prmu|Cmax Cotas globales para el problema
Problema Fm|prmu|Cmax con todas las piezas y máquinas disponibles en el instante inicial.
Cota inferior de Cmax para la máquina k:
Cota inferior de Cmax de para todas las máquinas:
Cota inferior de Cmax para la pieza i:
Cota inferior de Cmax considerando todas las piezas:
IO-T-340
KkpppkLBk
k
m
kkkhki
n
i hinhiki ∈∀
∑ ∑+∑ +=
−
= +== ≠=,min)(1
1
1' 1'',',
1 :,...,1),(,
{ })(1max1 kLBLBKk∈
=
{ } nippiLB khm
k ihnh Kkki ,...,1,min)(2 ,
1 :,...,1, =∀∑ ∑+=
= ≠= ∈
{ })(2max2,...,1
iLBLBni=
=
www.prothius.com
Sea ek,t el instante en que la máquina k finaliza la operación en la pieza que ocupa la posición t de la secuencia, y dada una subsecuencia parcial, π, podemos adaptar la cota LB1:
Flow-shop: Fm|prmu|Cmax Cotas para un segmento dado (I)
IO-T-350
++= ∑ ∑
∉= +=∉=∈ π πni
m
kkki
nikitk
KkppetLB
,...,1 1'',
,...,1,, minmax)(1
37minmax)(1,...,1 1'
',,...,1
,, =
∑
∑++=
∉= +=∉=∈ π πni
m
kkki
nikitkKk
ppetLB141,3 =e
∑∉= πni
ip,...,1
1,
∑
+=∉=
m
kki
nip
11'',
,...,1min
π{ }A=π
www.prothius.com
Flow-shop: Fm|prmu|Cmax Cotas para un segmento dado (II)
Ejemplo:
Sumatorio para el resto de máquinas de las piezas no secuenciadas:
Cota LB1(1):
IO-T-360
A B C D E F ek,t
m1 1 4 9 10 3 1 1 27
m2 3 5 9 2 5 4 4 25
m3 10 9 6 3 4 1 14 23
{ }A=π∑∉πi
kip ,
B C D E F
m1 14 15 5 9 5
m2 9 6 3 4 1
m3 0 0 0 0 0
ek,t Valor para k
m1 1 27 5 33
m2 4 25 1 30
m3 14 23 0 37
∑∉πi
kip ,
∑
+=∉=
m
kkki
nip
1'',
,...,1min
π
www.prothius.com
Flow-shop: Fm|prmu|Cmax Cotas para un segmento dado (III)
También es posible adaptar LB2, dada una subsecuencia parcial π :
IO-T-370
{ }
∑ ∑++== ∉≠= ∈∉=
m
kkh
hinh Kkkinit ppetLB
1,
,,...,1,,...,1,1 minmax)(2
ππ
{ }A=π
{ } 35minmax)(21
,,,...,1
,,...,1,1 =
∑ ∑++== ∉≠= ∈∉=
m
kkh
hinh Kkkinit ppetLB
ππ
11,1 =e
π∉∀∑=
ipm
kki ,
1,
{ }khhinh Kk
p ,,,...,1
min∑∉≠= ∈π
www.prothius.com
Flow-shop: Fm|prmu|Cmax Cotas para un segmento dado (IV)
Ejemplo:
Sumatorio para el resto de piezas no secuenciadas:
Cota
IO-T-380
A B C D E F ek,t
m1 1 4 9 10 3 1 1
m2 3 5 9 2 5 4 4
m3 10 9 6 3 4 1 14
{ }A=π
B 18 6+2+3+1=12 30
C 24 4+2+3+1=10 34
D 15 4+6+3+1=14 29
E 12 4+6+2+1=13 25
F 6 4+6+2+3=15 21
∑∉πi
kip , { }khhinh Kk
p ,,,...,1
min∑∉≠= ∈π
{ }∑ ∑+= ∉≠= ∈
m
kkh
hinh Kkki pp
1,
,,...,1, min
π
{ } 35341minmax)1(21
,,,...,1
,,...,1,1 =+=
∑ ∑++== ∉≠= ∈∉=
m
kkh
hinh Kkkinit ppeLB
ππ
www.prothius.com
Procedimiento BDP (Bounded Dynamic Programming) (I)
BDP: Programación dinámica acotada. Combina características de la programación dinámica con características
de brach-and-bound. Genera una parte del grafo desde el nivel 0 hasta T. Los vértices generados pueden formar parte potencialmente de un camino
óptimo. Basado en:
• Construcción segmento óptimo de t etapas.• Evaluación cota para Cmax para alcanzar la etapa T (LB(t)).• Descarte de soluciones menos prometedoras (upperbound o Z0).• Mantiene en cada etapa un máximo de H soluciones (ancho de ventana)
En este caso, veremos un ejemplo para la variante Igualmente, la cota anterior es válida para esta variante (usaremos LB1).
IO-T-390
maxCblockFm
www.prothius.com
Procedimiento BDP (Bounded Dynamic Programming) (III)
Esquema procedimiento:• Entradas: Z0 y H.
IO-T-400
1 etapa:=0;
2 mientras (etapa<T) hacer
3 etapa:=etapa+1;
4 mientras (queden soluciones en la etapa anterior) hacer
5 Escoger();
6 Desarrollar();
7 Filtrar (H, Z0);
8 fin mientras
9 Finalizar_etapa();
10 fin mientras
11 Mejor solución:= mejor solución obtenida en la última etapa (T)
www.prothius.com
Procedimiento BDP (Bounded Dynamic Programming) (IV)
Grafo resultante sobre el ejemplo, H=6, Z0 =40
IO-T-410
Secuencia BDP: A-B-C-D-E-F.Cmax=39