Professional Documents
Culture Documents
RESUMEN
La programacin de trabajos es una labor diaria de las empresas del sector de productos y servicios donde se busca
optimizar uno o varios objetivos. Se propone mejorar el tiempo total de ejecucin de todas las tareas. En este
documento se presenta los resultados obtenidos a travs de las diferentes reglas de despacho y la tcnica de
optimizacin Johnson. Se presenta los resultados obtenidos, determinando cual es el mejor tiempo de ejecucin, con
resultados satisfactorios de gran inters para empresas del mismo sector.
El presente artculo se hace una revisin bibliogrfica de las investigaciones realizadas para programacin en
sistemas Flow Shop, y las diferentes heursticas, metaheursticas y reglas de despacho utilizadas; adems se hace una
programacin siguiendo diferentes reglas de despacho y aplicando algoritmo de Johnson, para comparar cual ofrece
mejor solucin en cuanto makespan (Cmax).
Palabras Claves: algoritmo de Johnson, flow-shop, heurstica, productividad, reglas de despacho, secuencias de
trabajos
ABSTRACT
The work schedule is a daily work of the companies products and services that seeks to optimize one or more goals. It
aims to improve the total running time of all tasks. This paper presents the results obtained from different dispatching
rules and the optimization technique Johnson. We present the results obtained which compares what is the best time
achieving successful implementation of major interest to companies in the same sector.
Keywords: algorithm Johnson, flow-shop, heuristic, productivity, rule of dispatch, works sequence,
1. INTRODUCCIN
La productividad tambin conocida como efectividad es la relacin entre la produccin obtenida por un
sistema de produccin o servicios y los recursos utilizados para obtenerla. La preocupacin de una
empresa debe ser aumentar su productividad lo cual es posible produciendo ms con menos recursos, una
de las maneras de lograr esto es haciendo una continua revisin de la forma como se realiza la
programacin de sus trabajos.
Desde hace varios aos, las empresas y organizaciones del mundo tienen la necesidad de contar con una
herramienta comn para cumplir a sus clientes. Hoy en da estas mismas organizaciones le quieren seguir
demostrando al mundo su compromiso con el cliente a travs de una programacin efectiva de la
produccin.
Mediante la realizacin del presente trabajo, se quiere efectuar un anlisis de mejoramiento de la
programacin de la produccin a la empresa ECOLPROD CI LTDA que permita optimizar el uso de los
recursos, de manera que alcance los objetivos globales de produccin.
En Colombia el sector fabricacin de papel cartn y derivados est en va de desarrollado a gran escala.
En la costa atlntica ECOLPROD CI LTDA se convierte en la nica empresa que fabrica vasos
desechables biodegradables en cartn, compitiendo a nivel nacional en el sub sector fabricacin de papel,
cartn ondulado, envases y empaques.
Este sub sector muestra una tendencia creciente en el periodo comprendido entre 2005 y 2008, tanto en
unidades vendidas (al pasar de 383. 258. 258 en el 2005 a 1.064.058.809 en el 2008 (SIREM, 2010) ),
como en nmero de compradores minoristas; adems se resalta el hecho que los costos y gastos variables
mantuvieron unas cifras estables en este periodo de tiempo.
En los ltimos aos se ha podido establecer como factores caractersticos de este sector los siguientes:
Aumento del volumen demandado.
Aumento de los ciclos de vida de los productos. Con objeto de aumentar las ventas no se han variado
muchos los diseos convirtindose en un componente de aceptacin ante la opcin de usar materiales
en un producto que no contamina el medio ambiente
Poca variedad y poca personalizacin de la oferta. Por ser este un mercado maduro, la poca
competencia ha hecho que las empresas disminuyan la oferta lo que finalmente ha incidido en pocos
nmeros de formatos y acabados.
Disminucin de los plazos de entrega. Al disminuir la diferencia entre los propios productos se ha
intentado mejorar el servicio mediante la reduccin de los plazos de entrega.
Estos factores han afectado a la forma de aprovisionamiento, ahora el cliente realiza pedidos pequeos y
frecuentes, lo cual supone un reto en el equilibrio almacenamiento-produccin, y por tanto a la
programacin de la produccin como elemento fundamental en dicho equilibrio. Una forma de favorecer
este equilibrio es ayudando a flexibilizar el sistema productivo; proporcionando tcnicas y herramientas
de programacin de la produccin que permitan la incorporacin de los pedidos en el momento de
producirse la necesidad, sin que ello suponga una perturbacin en el proceso de programacin de la
produccin previamente establecido.
En este contexto, este trabajo presenta el comportamiento de las reglas de despacho ms conocidas en la
literatura, con el fin de poder analizar su comportamiento ante las medidas de prestaciones propuestas en
funcin de los factores tpicos de la industria de fabricacin de papel, cartn ondulado, envases y
empaques.
Se considera como una parte del problema, el sistema flow-shop , que se caracteriza porque todos los
productivos siguen la misma secuencia de trabajos y para ello se podra numerar todas las secuencias
posibles y elegir aquellas que optimizan alguna medida de desempeo mediante la incorporacin de una
regla de despacho. Aqu se propone como alternativa de solucin del problema disminuir el lapso de
tiempo (minimizar el tiempo de ocio) mediante la aplicacin del algoritmo de Johnson.
2. LA EMPRESA Y SU PROCESO PRODUCTIVO
ECOILPROD CI LTDA, es una compaa creada en el ao 1998 como resultado de la inquietud de dos
socios Cartageneros de desarrollar empresarialmente una comercializadora de papel importado para
ofrecer a los clientes una nueva alternativa, diferente de la ofrecida por el nico productor nacional de
papel.
Hoy da, esa misma visin sigue presente, el conocimiento del mercado, le permiti incorporar a su
negocio de importacin, una nueva tecnologa para la fabricacin de vasos desechables biodegradables de
cartn. En nuestro pas este tipo de productos aun siguen en consumo mnimo, por su precio frente a los
2
productos tradicionales desechables cuya materia prima tiene su origen en el petrleo, pero su impacto
ambiental ha creado una necesidad de nuevos productos que por su fcil degradacin triplican en
beneficios a la gran contaminacin del medio ambiente proveniente de los otros productos en plstico o
icopor.
El proceso productivo en esta empresa comienza desde la recepcin de pulpa importada la cual llega en
rollos desde EEUU. y recepcionada en Cartagena, en el cual se lleva a cabo la operacin de Troquelado e
Impresin litogrfica. Una vez estos rollos estn listos se realiza la operacin descartone mediante la
cual se saca el vaso troquelado en el cartn y se procede a armar el vaso en la Mquina formadora de
vasos de papel de alta velocidad JBZ-12H la cual es una mquina automtica con etapas de trabajo
mltiples. Produce vasos de papel con cobertura laminada simple faz por medio del proceso de
alimentado de papel automtico, hermeticidad, lubricacin de aceite de silicona, perforacin al fondo,
calentamiento, moleteado, enrollamiento y descarga del vaso. El funcionamiento de la misma se puede
observar en la figura 1.
Figura 1. Funcionamiento de la mquina
Una vez estos vaso salen de la maquina se someten a estrictos controles de calidad por inspeccin visual
por hombres, pues los controles de resistencias son efectuados por la maquina, donde son seleccionados
los productos conformes para sus respectivo embalaje por cajas de 20 rollos cada uno de 25 unidades,
para ser distribuidos en todo el pas. (ver figura 2)
Figura 2. Muestra de productos
hard son un subconjunto de la clase NP (problemas para los que no se puede tener una solucin en tiempo
polinomial para todas sus instancias) con la caracterstica de que todos los problemas de sta clase pueden
ser reducidos a NP (Pinedo, 1995). Los problemas para los que se puede encontrar un algoritmo de
solucin en tiempo polinomial, forman la clase P, que es un subconjunto de la clase NP (Garey y Johnson,
1979).
Tabla 1. Conceptos sobre Planeacin y Control de la Produccin
En los ltimos aos se han propuesto un gran nmero de enfoques para modelar y solucionar los
diferentes problemas de programacin de tareas, con diferentes grados de xito. Entre estos enfoques
podemos mencionar la programacin matemtica, reglas de despacho, sistemas expertos, redes
neuronales, algoritmos genticos, bsqueda tab, recocido simulado, lgica difusa, entre otros (Jones y
Rabelo, 1998).
En todos los problemas de programacin se considera que el nmero de tareas y el nmero de agentes
(mquinas) es finito. A continuacin se considera la nomenclatura a utilizar:
n = nmero de trabajos (tareas)
m = Nmero de mquinas
j = ndice que se refiere a los trabajos tareas
i = ndice que se refiere a las mquinas o agentes.
La secuenciacin o sequencing es el proceso de definir el orden en el cual los trabajos van a ser
procesados en una mquina. Como se haba especificado antes, el scheduling o programacin, es el
proceso de adicionar los tiempos de arranque y finalizacin para las rdenes de trabajos dictadas por la
secuencia, previamente realizada. (Gershwin 1994).
Los objetivos que se persiguen en la programacin de eventos en la celda de manufactura, son:
1. Cumplir con las fechas de vencimiento o deseadas (due date),
2. Minimizar plazos,
3. Minimizar el tiempo o costo de preparacin (set-up),
4. Minimizar el inventario del trabajo en proceso,
5. Maximizar la utilizacin de las mquinas o de la mano de obra (el ltimo objetivo es controversial, por
que el simple hecho de mantener todo el equipo y/o los empleados ocupados no siempre es la manera ms
eficiente de manejar el flujo a travs del proceso). (Chase 2000)
6. Realizar la programacin de eventos en el controlador jerrquico de la celda
3.2 El Problema de Flow Shop
En el problema del Flow Shop tenemos un conjunto de n trabajos o tareas, (1, . . . , n) que deben
procesarse en m mquinas o estaciones (1, . . . ,m). En un taller de flujo el orden de los trabajos en las
mquinas es el mismo, esto es, primero la mquina 1, despus la 2 y as hasta la mquina m. El objetivo
es encontrar una secuenciacin de los trabajos en las maquinas de tal manera que se optimice algn
criterio dado. El criterio ms utilizado en la literatura es la minimizacin del tiempo de flujo total o
makespan de la secuencia (Cmax). Los tiempos de proceso de los trabajos en las mquinas se definen
como pij , donde i = 1, . . . , n y j = 1, . . . ,m. Para este problema existen una serie de simplificaciones
(Baker (1974)):
Cada trabajo i puede ocupar, como mucho, una mquina j al mismo tiempo.
Cada mquina m puede procesar, a lo sumo, un trabajo i a la vez.
El proceso de un trabajo i en una mquina j no se puede interrumpir.
Todos los trabajos son independientes entre s y se encuentran disponibles en el instante 0.
6
Los tiempos de cambio de partida de los trabajos en las mquinas son independientes de la secuencia
y estn incluidos en los tiempos de proceso.
Las mquinas se encuentran continuamente disponibles.
Se permite almacenar producto en curso.
Para resolver el problema del Flow Shop se han propuesto diferentes tcnicas y metodologas con el fin
de encontrar la secuencia ptima cumpliendo con los diferentes objetivos como la inexistencia de tiempos
muertos de fabricacin, reduccin de tiempo de cambio y ajustes de las maquinas, anulacin de retrasos
entre otros, teniendo en cuenta las restricciones propias de cada situacin especfica como la velocidad de
proceso de las maquinas, capacidad de recursos humanos y materiales etc.
Desde la publicacin del artculo de Johnson en 1954, el estudio terico del Flow Shop ha constituido uno
de los tpicos ms investigados en la teora de la programacin. Su inters no viene motivado
nicamente por su inters prctico, sino por la aparente simplicidad a la hora de plantear y la
consideracin de que an hoy da, constituye un problema difcil de resolver. (Lahdari, 2004) Es bien
conocido que el cado de dos mquinas en el caso del Flow Shop puede ser resuelto utilizando las reglas
de Johnson, que genera una programacin ptima en O (n log n) pasos.
El problema se clasifica como F//Cmax siguiendo la notacin // de Graham et al. (1979) y es NPCompleto cuando m 3 (Garey et al., 1976). En general, hay un total de (n!) m secuencias posibles.
Normalmente el problema se simplifica no permitiendo que un trabajo pase a otro (job passing), o lo que
es lo mismo, la secuencia inicial de los trabajos se mantiene para todas las mquinas. De esta manera slo
existen n! secuencias posibles. En este caso el problema se conoce como taller de flujo de permutacin o
n/m/P/Fmax (Pinedo, 1995). Este trabajo se centra en este ultimo tipo de problema.
En la literatura existen ya comparativas de tcnicas de resolucin para este problema, por ejemplo, en
Ponnambalam et al. (2001), se evalan 5 heursticas diferentes, pero solo contra 21 sencillos problemas
test. Turner y Booth (1987) comparan dos heursticas conocidas con un conjunto de 350 problemas
aleatorios. En el trabajo de Byung Park et al. (1984), se comparan 16 heursticas con un conjunto de 1500
problemas generados aleatoriamente de un tamao de hasta 30 trabajos y 20 mquinas. Dannenbring
(1977) evalu 11 mtodos con 1580 problemas, tambin aleatorios. Finalmente, Ashour (1970), hizo una
comparativa de mtodos exactos para el Flow Shop de permutacin.
Todas estas comparativas tienen varios inconvenientes; no se utilizan sets de datos estndares y/o los
sistemas informticos utilizados no son los mismos, por lo que los resultados no son comparables ni
generalizables. Las comparativas se hacen con tan solo unos pocos mtodos y normalmente son siempre
los mismos. Adicionalmente, no existe ninguna comparativa actual que nos permita evaluar los ltimos
mtodos aparecidos para el problema. Tambin es difcil encontrar comparativas en las que se incluyan
mtodos metaheursticos avanzados como Simulated Annealing o Algoritmos Genticos.
Matemticamente, se podra hablar de un problema que requiere encontrar la permutacin de las tareas
para ser resuelto. Este tipo de problemas de secuenciamiento de sistemas de manufactura es clasificado de
NP-hard, Un problema NP-hard se presenta cuando un algoritmo que intenta solucionarlo, aumenta su
tiempo de ejecucin, en el peor de los casos, de forma exponencial al tamao del problema.
(Johnson,1979) El reto est en encontrar algoritmos que exploren favorablemente la estructura
matemtica del problema, para que sean capaces de obtener una respuesta para la mayora de las
instancias del mismo, en tiempos de ejecucin relativamente pequeos.
3.3 Metaheursticas
El nombre metaheurstica combina el prefijo griego "meta" ("ms all", aqu con el sentido de "nivel
superior") y "heurstico" (de , heuriskein, "encontrar"). Los algoritmos metaheursticos son
El algoritmo de Johnson es una forma de encontrar el camino ms corto entre todos los pares de vrtices
de un grafo dirigido disperso. Permite que las aristas tengan pesos negativos, si bien no permite ciclos de
peso negativo. Funciona utilizando el algoritmo de Bellman-Ford para hacer una transformacin en el
grafo inicial que elimina todas las aristas de peso negativo, permitiendo por tanto usar el algoritmo de
Dijkstra en el grafo transformado. Su nombre viene de Donald B. Johnson, quien fuera el primero en
publicar la tcnica en 1977. El algoritmo de Johnson consiste en los siguientes pasos:
Primero se aade un nuevo nodo q al grafo, conectado a cada uno de los nodos del grafo por una arista
de peso cero.
En segundo lugar, se utiliza el algoritmo de Bellman-Ford, empezando por el nuevo vrtice q, para
determinara para cada vrtice v el peso mnimo h(v) del camino de q a v. Si en este paso se detecta un
ciclo negativo, el algoritmo concluye.
Seguidamente, a las aristas del grafo original se les cambia el peso usando los valores calculados por
el algoritmo de Bellman-Ford: una arista de u a v con tamao w(u, v), da el nuevo tamao w(u, v) +
h(u) h(v)
Por ltimo, para cada nodo se usa el algoritmo de Dijkstra para determinar el camino ms corto entre s
y los otros nodos, usando el grafo con pesos modificados.
En el grafo con pesos modificados, todos los caminos entre un par de nodos s y t tienen la misma cantidad
h(s) h(t) aadida a cada uno de ellos, as que un camino que sea el ms corto en el grafo original
tambin es el camino ms corto en el grafo modificado y viceversa. Sin embargo, debido al modo en el
que los valores h(v) son computados, todos los pesos modificados de las aristas son no negativos,
asegurando entonces la optimalidad de los caminos encontrados por el algoritmo de Dijkstra. Las
distancias en el grafo original pueden ser calculadas a partir de las distancias calculadas por el algoritmo
de Dijkstra en el grafo modificado invirtiendo la transformacin realizada en el grafo.
Hay que establecer la secuencia que cumpliendo las fechas de entrega de los pedidos implique el menor
tiempo total de los mismos. Existen distintas tcnicas para ello aplicamos la regla de Johnson para N
pedidos y 2 mquinas. Es un mtodo heurstico que pretende minimizar el tiempo necesario para obtener
todos los pedidos, as como el tiempo ocioso de las mquinas.
Cuando hay ms de dos Mquinas el Algoritmo de Johnson no funciona excepto en ocasiones especiales.
Un caso Especial se da cuando la mquina intermedia est dominada, por la primera o por la tercera
mquina. Una Mquina est Dominada cuando su tiempo de proceso ms largo es menor o igual que el
tiempo de proceso ms corto de las otras mquinas
Figura 3. Etapas del Algoritmo de Johson
En la imagen de la izquierda tiene dos aristas negativas y no contiene ciclos negativos. En la segunda
imagen se muestra el nuevo vrtice q con peso 0 hacia todos los nodos. En la tercera imagen, se muestra
el rbol de caminos mnimos calculado con el algoritmo de Bellman-Ford con q como vrtice inicial, y
los valores h(v) calculados para cada otro nodo como la longitud del camino ms corto entre q y ese nodo.
A modo de ilustracin, en dicha imagen solo aparecen los caminos que se tomaran para determinar cada
valor h(v). Ntese que todos estos valores h(v) no son positivos, porque q tiene una arista de unin con
cada nodo de peso 0, y por tanto el camino ms corto no puede ser mayor que ese valor. En la parte
derecha se muestra el grafo modificado, hecho reemplazando el peso de cada arista w(u, v) por w(u, v) +
h(u) h(v). En este grafo modificado, todos los pesos de las aristas son positivos y el camino ms corto
entre dos nodos cualesquiera usa la misma secuencia de aristas que en el camino ms corto entre los
mismos dos nodos en el grafo original. El algoritmo concluye aplicando el algoritmo de Dijkstra para
cada uno de los cuatro nodos originales en el grafo modificado (cuarta imagen
Page (1961) propuso tres mtodos basados en tcnicas de ordenacin. Los tres algoritmos son pairing,
merging and exchanging. A partir de los resultados parece que el mtodo de ordenacin merging es el
mejor de entre los tres, aunque las instancias consideradas son muy pequeas para los estndares actuales.
Dudek y Teuton (1964) desarrollaron una regla de M etapas que busca minimizar el tiempo ocioso en la
ltima mquina utilizando una tcnica parecida al algoritmo de Johnson para el caso de 2 mquinas.
Palmer (1965) utiliza un ndice para cada trabajo que denomina slope index que proporciona un orden
de prioridad para secuenciar los trabajos. Campbell et al. (1970) desarrollaron un algoritmo que es
bsicamente una extensin del algoritmo de Johnson. El algoritmo se conoce como CDS y construye un
total de m1 secuencias agrupando las m mquinas originales en grupos de 2 y resolviendo el problema
resultante con la regla de Johnson.
Gupta (1971) propuso una sencilla modificacin a la regla de Palmer. En este caso los trabajos se
secuencian mediante un ndice que explota las similitudes entre los problemas de ordenacin y
secuenciacin.
El algoritmo Rapid Access (RA) de Dannenbring (1977) mezcla las ideas de Johnson y de Palmer. En
este caso se define un problema virtual con dos mquinas, como en la heurstica CDS, pero en vez de
aplicar directamente la regla de Johnson, se definen primero unos esquemas de ponderacin para cada una
de las dos mquinas virtuales y despus se aplica la regla de Johson. RA proporciona una solucin de
buena calidad en poco tiempo.
La heurstica NEH de Nawaz et al. (1983) est considerada como uno de los mejores mtodos para el
PFSP (Taillard, 1990). Se basa en la idea de que los trabajos con un tiempo total de proceso en las
mquinas alto deben secuenciarse lo antes posible.
La heurstica se basa en mltiples inserciones, por lo que se evalan un total de (n(n + 1))/2 1
secuencias. Esto hace que la complejidad del mtodo NEH sea de O(n3m) que puede ser inaceptable para
instancias de tamao medio o superior.
No obstante, Taillard (1990) modific el mtodo y redujo su complejidad a O(n2m). Hundal y Rajgopal
(1988) modificaron el algoritmo de Palmer incidiendo en el hecho de que cuando m es impar, el ndice de
Palmer ignora la mquina (m + 1)/2. Los autores proponen dos ndices alternativos para los trabajos. Con
estos dos ndices y el original se calculan tres secuencias y la mejor se devuelve como resultado.
Koulamas (1998) desarroll una nueva heurstica, a la que llam HFC. En la primera fase, HFC hace un
uso extensivo de la regla de Johnson. En la segunda fase se intenta mejorar la secuencia permitiendo que
algunos trabajos adelanten a otros en las mquinas. De esta manera se permiten secuencias no de
permutacin, lo que es bastante interesante, dado que es conocido que las secuencias de permutacin slo
dominan en el caso de tres mquinas, para el caso con m mquinas, una secuencia de permutacin ya no
10
tiene porque ser ptima (Potts et al. (1991)). Esta heurstica se ha contemplado simplemente para
comprobar su rendimiento y compararla con las dems, aunque debemos tener en cuenta que se puede
beneficiar del hecho de permitir secuencias no de permutacin.
La ltima heurstica que se revisa se debe a Davoud Pour (2001). Esta heurstica se basa en el intercambio
de trabajos. El autor compara el rendimiento con el mtodo NEH y la heurstica CDS. El mtodo parece
comportarse mejor slo en el caso en el que se considera un nmero elevado de mquinas.
3.4 Reglas de despachos
Esta metodologa consiste en planificar primeramente las operaciones cronolgicamente prximas y luego
aquellas ms lejanas. Cada vez que una mquina se desocupa, se asigna una prioridad a cada una de las
operaciones que estn disponibles para ser procesadas. Segn explica Vepsalainen & Morton (1987), esta
prioridad puede depender de los siguientes elementos:
Aquella operacin que obtiene la ms alta prioridad es elegida o despachada como el siguiente trabajo en
la mquina correspondiente, procedindose en forma anloga hasta programar todas las operaciones.
Esta tcnica est ampliamente difundida en la Industria porque es fcil de entender e implementar. No
slo es utilizada por las personas encargadas de la planificacin, sino tambin por la mayora de los
sistemas de programacin automticos. Sin embargo, las soluciones generadas son de muy baja calidad en
problemas de tamao realista. De hecho, esta metodologa es apodada como miope, pues slo considera
informacin inmediata, ignorando el horizonte total de planificacin.
Las reglas de despacho permiten definir las prioridades entre los trabajos que se encuentran en un taller.
Pueden ser sencillas, basadas en un dato del producto, como el tiempo de procesamiento o la fecha de
entrega; tambin se pueden obtener a travs de clculos entre diferentes variables (como la holgura). Se
encuentran Infinidad de reglas de despacho para secuenciar trabajos entre estas tenemos:
EDD (Earliest Due Date). Los trabajos se programan dependiendo del que tenga menor fecha de
entrega. Minimiza el Lmax (retardo mximo).
dJ dk o dj dj+1 donde dJ, dk = son las fecha de entrega del trabajo j
trabajo k
FCFS (First Come First Served). Los trabajos se programan dependiendo del orden de llegada:
Primeros en Entrar Primeros en Servir.
LPT (Longest Processing Time First). Los trabajos se programan dependiendo del que tenga mayor
tiempo de procesamiento.
pJ pk o pj pj+1 donde pJ, pk = tiempo de procesamiento trabajo en la
mquina j maquina k
MS (Minimum Snack). Los trabajos se programan dependiendo del que tenga menor retardo o
snack.
Snack = Max (dJ - pJ -t, 0)
11
WSPT (Weighted Shortest Processing Time First). Los trabajos se programan dependiendo del
que tenga mayor relacin entre el peso o prioridad y tiempo de procesamiento. Esta regla de despacho
es optima para
1 || wjCj
CRj (Critical Ratio). Los trabajos se programan dependiendo del que tenga menor razn crtica
(CR). Cuando hay ms de un trabajo retardado, se secuencia primero el de menor tiempo de proceso.
CRj=
*
Cmx
mx pi1 , pi 2
i 1
i 1
Fuente: Autores
No se sabe que trabajo debe ser primero y su tiempo de proceso en la mquina 1, determina el tiempo
ocioso en la mquina 2.El tiempo ocioso en la mquina 2 debe ser como mnimo el tiempo de proceso
ms pequeo en la mquina 1 y el tiempo ocioso en la Mquina 1 debe ser cmo mnimo el tiempo de
proceso ms pequeo de la mquina 2, lo que lleva al intervalo ms apropiado para que se de el Lapso.
n
n
*
Cmx
mx min i 1,n pi 2 pi1 , min i 1,n pi1 pi 2
i 1
i 1
Si un trabajo tiene un tiempo de proceso corto en la Mquina 1, se debe ir al inicio, mientras que si es un
tiempo de proceso corto en la Mquina 2, se debe ir al final. Para eso utilizaremos el Algoritmo de
Johnson.
13
Fuente: Autores.
5. METODOLOGIA
Para este estudio y sus respectivos datos fueron obtenidos de la empresa ECOLPROD CI LTDA el cual se
utilizaron 28 trabajos y 2 maquinas; las ordenes de trabajo utilizadas son del mes de noviembre. De
manera aclaratoria se hizo la programacin tomando como da 1 el da 10 de noviembre y como da final
16 de diciembre, las unidades de tiempo tomada esta expresa en horas, considerando 8 horas de trabajo
diarias. El software utilizado para realizar los clculos es el Lekin vs 2.4
6. RESULTADOS
La tabla 2 resume las rdenes de trabajo pendiente en el mes de noviembre.
Tabla 2. Ordenes de trabajo Noviembre 2010,
Trabajo
Cliente
Da
Entrega
Horas
Cantidad
Minutos
Horas
tp
Fecha de
entrega
1 UNAB
27
216
24.000
800
13
06-dic
2 UNAB
27
216
18.000
600
10
06-dic
3 Fondcomfenalco
20
160
12.000
400
29-nov
17
136
20.000
667
11
26-nov
5 Frutin Ice
24
192
20.000
667
11
03-dic
6 Aguas de Monteria
24
192
5.000
167
03-dic
7 Aguas de Monteria
24
192
4.000
133
03-dic
8 Uninorte
27
216
26.000
867
14
06-dic
9 Dunord Cafeteria
27
216
14.000
467
06-dic
10 Dunord Cafeteria
27
216
20.000
667
11
06-dic
11 CBI Colombia
24
192
20.000
667
11
03-dic
12 CBI Colombia
24
192
20.000
667
11
03-dic
13 Jackeline De Leon
27
216
30.000
1.000
17
06-dic
14 Jackeline De Leon
27
216
20.000
667
11
06-dic
15 Frappe No. 01
31
248
40.000
1.333
22
10-dic
16 Frappe No. 02
31
248
15.000
500
10-dic
17 Alm Fuller
27
216
60.000
2.000
33
06-dic
18 YMG Distribuciones
24
192
20.000
667
11
03-dic
19 YMG Distribuciones
24
192
20.000
667
11
03-dic
20 Coco Ice
36
288
12.000
400
15-dic
14
Trabajo
Cliente
Da
Entrega
Horas
Cantidad
Minutos
Horas
tp
Fecha de
entrega
21 Maria Grau
24
192
4.000
133
03-dic
22 Irotama Hoteles SA
36
288
16.000
533
15-dic
23 Servihoteles
31
248
20.000
667
11
10-dic
24 Servihoteles
31
248
15.000
500
10-dic
25 Pizzerias Margarita
32
256
8.000
267
11-dic
26
208
60.000
2.000
33
05-dic
36
288
60.000
2.000
33
15-dic
36
288
60.000
2.000
33
15-dic
26 Dist Colombia
Inter Nal de
27 Negocios
Inter Nal de
28 Negocios
Total
Vasos
663.000
4 das
30 piezas/min
Despus de introducir los datos al sofware Lekin se obtuvieron en el software las siguientes secuencias de
trabajos
PROGRAMACIN DE SECUENCIAS DE TRABAJOS
Al analizar la programacin de las rdenes de trabajo de la empresa para el mes de noviembre de 2010,
consideramos diferentes reglas de despacho obteniendo los siguientes resultados:
Figura 6. Regla de Despacho SPT
15
Un resumen de los datos obtenidos para cada una de las reglas de despacho, muestra lo siguiente:
Tabla 3. Resumen de Resultados
Donde:
Cmax: Tiempo mximo de terminacin
Tmax: Tardanza mxima
Uj : Numero de trabajos tardos
16
Se observa que la programacin con mnimo Cmax, fue la realizada por la regla de despacho EDD
(programacin por trabajos con menor tiempo de entrega), siendo adems la que presenta menor tardanza
total. Sin embargo podra elegirse la obtenida por la regla de despacho SPT, la cual muestra un Cmax
bajo en comparacin con las dems y muestra menor nmero de trabajos tardos. A continuacin se
muestra comparaciones graficas para cada una de las reglas de despacho, y ser la administracin de la
empresa quien elige la regla de despacho a utilizar dependiendo el objetivo que busque.
Figura 13. Comparacin Cmax diferentes Regla de Despacho
17
Las secuencias programadas para las maquina siguiendo la regla SPT, es la siguiente
18
Trabajos : 1-7-21-6-25-24-22-11-12-14-18-19-13-26-3-20-9-16-2-4-5-10-23-8-15-17-27-27-28.
19
Trabajos : 7-21-6-25-24-22-11-3-12-14-20-18-19-9-1-13-16-2-26-4-5-10-23-8-15-17-27-28.
20
Se observa que el Cmax calculado con el algoritmo de Johnson es menor que el calculado tomando datos
de manera aleatoria, inclusive que el programado en el software Lekin con las reglas de despacho
descritas anteriormente.
7. CONCLUSINES
Se ha resuelto el problema de secuencia miento de tareas flow-shop utilizando el algoritmo de Johnson
obtenindose grandes resultados de gran inters para empresas del mismo sector
En trabajos futuros se podra aplicar la metodologa propuesta al problema de jop-shop
8. AGRADECIMIENTOS
Debo dar las gracias a la Universidad Tecnolgica de Bolvar y a Jaime Acedo Chedid por la asesora y
realizacin en este trabajo. Los errores en este documento corresponden a los autores, y as debe ser
atribuido sin perjudicar a las personas e institucin mencionadas.
9. BIBLIOGRAFIA
Alvarez A. M., Gonzlez J. L., De-Alba K.(2003): Scatter Search For A Network Design Problem.
Anil P. Kamath, Narendra K. Karmarkar, K.G. (2003) Computational And Complexity Results for a
Interior Point Algorithm on Multicommodity Flow Problems.
Ashour, S. (1970). An experimental investigation and comparative evaluation of flow-shop scheduling
techniques. Operations Research, 18(3):541549.
Baker, K. R. (1974). Introduction to Sequencing and Scheduling. John Wiley & Sons, New York.
Beausoleil R. P. (2004). New Results With Scatter Search Applied To Multiobjective Combinatorial And
Nonlinear Optimization Problems.
Brucker P. Lenstra J. K., Rinnooy Kan A. H. (1977). Complexity of machine scheduling problems.
Annals of Discrete Mathematics
Brucker P., Hurink J.L., Rolfes T. (1999). Routing of railway carriages: A case study.
Byung Park, Y., Pegden, C. D., y Enscore, E. E. (1984). A survey and evaluation of static flowshop
scheduling heuristics. International Journal of Production Research, 22(1):127141.
Campbell, H. G., Dudek, R. A., y Smith, M. L. (1970). A heuristic algorithm for the n job, m machine
sequencing problem. Management Science, 16(10):B630B637
Caves D., Christensen L., Diewert E. (1982). The Economic Theory of Index Numbers and the
Measurement of Input, Output and Productivity. Econometrica. Noviembre. Pp: 1393-1414.
Chase R., Aquilano N.,Jacobs R. (2000). Administracin de produccin y operaciones., Mc Graw Hill
Cobos N. (2004). Bsqueda Tab para un problema de diseo de Red Multiproducto con capacidad finita
en las aristas.
Companys P. R.; Fonollosa G, J. (1989).
Marcombo, Boixareau edit., Espaa,
Cook S. A. (1971). The complexity of theorem-proving procedures. In 3rd Annual ACM Symposium on
Theory of Computing, Association for Computing Machinery.
Crainic T. G., Gendreau M., Farvolden J. M. (2000). A Simplex Based Tabu Search Method For
Capacited Network Design.
D. S. Johnson Garey M. R. (1979). Computers and Intractability. A Guide to the Theory of NPCompleteness. Freemann & Co., San Francisco, CA.,
21
22
Joborn M., Crainic T. G., Gendreau M., Holmberg K., Lundgren J. T. (2004): Economies of Scale in
Empty Freight Car Distribution in Scheduled Railways.
Johnson S. M. (1954). Optimal two and three stage production. Naval Research Logistics Quaterly,
(1):6167
Jones, Albert and Rabelo, Luis C. (1998). Survey of Job Shop Scheduling Techniques., NISTIR,
National Institute of Standards and Technology, Gaithersburg, MD, (on-line publication)
Koulamas, C. (1998). A new constructive heuristic for the flowshop scheduling problem. European
Journal of Operational Research, 105:6671.
Lahdari, T. y Haouari, M.. A Computacional study of the permutation flow shop problem based on a
tight lower bound. Computers & Operations Research. Article in Press, Corrected Proof.
Leung Joseph (2004). Handbook of Scheduling: Algorithms, Models and Performance Analysis. CCR
Computer and Information Sciences Series. Chapman & Hall
Mattfeld D. Branke J (2000). Anticipation in dynamic optimization: The scheduling case. In Parallel
Problem Solving from Nature, VI, pages 253262,
Nawaz, M., Enscore, E. E. J., y Ham, I. (1983). A Heuristic Algorithm for the m-Machine, n-Job FlowShop Sequencing Problem. OMEGA, The International Journal of Management Science, 11(1):9195.
Page, E. S. (1961). An Approach to the Scheduling of Jobs on Machines. Journal of the Royal Statistical
Society, B Series, 23(2):484492
Palmer, D. (1965). Sequencing Jobs through a Multi-Stage Process in the Minimum Total Time - A
Quick Method of Obtaining a Near Optimum. Operational Research Quarterly, 16(1):101107.
Prez F., Alvarez A. M., De Alba K. (2000). Pre-processing a Network Design Problem using GRASP.
Prez F., Alvarez A. M., De Alba K. (2001). A Constructive Procedure for Finding Good Starting
Solutions to the Network Design Problem with Uncertain Parameters.
Prez Gonzlez F (2005). Una Metodologa De Solucin Basada En La Metaheurstica GRASP Para El
Problema De Diseo De Red Con Incertidumbre.
Pinedo, Michael. (1995). Scheduling: Theory, Algorithms, and Systems., Englewood Cliffs, Prentice
Hall, N.J.
Ponnambalam, S. G., Aravindan, P., y Chandrasekaran, S. (2001). Constructive and improvement flow
shop scheduling heuristics: an extensive evaluation. Production Planning and Control, 12(4):335.
Potts, C. N., Shmoys, D. B., y Williamson, D. P. (1991). Permutation vs. nonpermutation flow shop
schedules. Operations Research Letters, 10:281284
P. Hansen y N. Mladenovic. An introduction to variable neighborhood search. En S. Voss, S.Martello, I.
H. Osman, y C. Roucairol, editores, MetaHeuristics - Advances and Trends in Local Search Paradigms
for Optimization, pginas 433-458. Kluver Academic Publishers, Dordrecht, Holanda, 1999.
Resende M. G. C., Ribeiro C. C. (2001). A GRASP With Path-Relinking For Private Virtual Circuit
Routing.
Smith W. E. (1956). Various optimizers for single stage production. Naval Research Logistics Quaterly,
(3):59 66,.
Superintendencia de Sociedades base de datos, SIREM (sistema de informacin y riesgo empresarial)
[online] Disponible: http://sirem.supersociedades.gov.co/SIREM/index.jsp. 2010
23
10.ANEXOS :
El algoritmo de Johnson es el siguiente:
#include<iostream>
#include<string>
#include<fstream>
#include<cmath>
#include<math.h>
#include<time.h>
#include<stdio.h>
#include<vector>
#include<algorithm>
using namespace std;
void Programacion(int Secuencia[], int i, int j, int n, int m, int TOper[200][200], int TiempoMaq, int r);
int main()
{
vector<int> Secuencia1;
char t;
int a;
int min;
int job, maq;
int TOper[200][200];
int TOper1[200][200];
int Secuencia[200];
int SecuenciaOp[200];
float Cmax, CmaxOp;
CmaxOp = 200000;
srand(time(0));
int n, m, i, j;
24
ifstream abrir;
ofstream escribir;
abrir.open("28Job2Maq.txt");
if (abrir.fail()) {
cout << "\nNo se pudo abrir el archivo ";
cout << "\nPresione ENTER para terminar" << endl;
cin.get();
exit(1);
}
abrir >> n;
abrir >> m;
cout <<"\nNumero de Trabajos..."<<n;
cout <<"\nNumero de Maquinas..."<<m<<"\n\n";
for (j=0;j<m;j++){
for(i=0;i<n;i++){
abrir >>a>>t;
TOper[i][j] = a;
TOper1[i][j] = a;
cout << TOper[i][j] << " ";
}
cout << "\n";
}
for (j=0;j<m;j++){
for(i=0;i<n;i++){
cout << TOper1[i][j] << " ";
}
cout << "\n";
}
abrir.close();
for(i=0;i<n;i++){
Secuencia[i]=(0+rand()%n)+1;
Secuencia1.insert(Secuencia1.end(), Secuencia[i]);
for(j=0; j<i; j++){
if(Secuencia[i]== Secuencia[j]){
i=i-1;
}
}
}
cout<<"\nLa Secuencia Inicial (Aleatoria)...\n";
for(i=0; i<n; i++){
cout<<Secuencia[i]<<"; ";
}
cout<<"\n";
int TiempoMaq;
int r;
Programacion(Secuencia, i, j, n, m, TOper, TiempoMaq, r);
25
if(maq==1){
Secuencia[w]=job;
Secuencia1.insert(Secuencia1.end(), Secuencia[w]);
TOper1[job-1][maq-1] = 200000;
TOper1[job-1][maq] = 200000;
w=w+1;
}
else{
Secuencia[z]=job;
Secuencia1.insert(Secuencia1.begin(), Secuencia[z]);
TOper1[job-1][maq-2] = 200000;
TOper1[job-1][maq-1] = 200000;
z=z-1;
}
}
cout<<"\n";
for(i=0; i<n; i++){
cout<<Secuencia[i]<<"; ";
}
cout<<"\n";
Programacion(Secuencia, i, j, n, m, TOper, TiempoMaq, r);
// Espera hasta que el usuario presione la tecla de retorno
cin.ignore(256,'\n');
cout << "\n\nPresione ENTER para terminar" << endl;
cin.get();
return 0;
}
26
void Programacion(int Secuencia[], int i, int j, int n, int m, int TOper[200][200], int TiempoMaq, int r)
{
int TInicio[200][200];
int TInicio1[200][200];
int TTerminacion[200][200];
int TTerminacion1[200][200];
float Cmax, CmaxOp;
for(j=0; j<m; j++){
if(j==0){
TiempoMaq = 0;
for(i=0; i<n; i++){
r=Secuencia[i];
TInicio[r-1][j] = TiempoMaq;
TTerminacion[r-1][j] = TInicio[r-1][j]+TOper[r-1][j];
TiempoMaq = TTerminacion[r-1][j];
}
}
else{
TiempoMaq = 0;
for(i=0; i<n; i++){
r=Secuencia[i];
if(TiempoMaq>TTerminacion[r-1][j-1]){
TInicio[r-1][j] = TiempoMaq;
TTerminacion[r-1][j] = TInicio[r-1][j]+TOper[r-1][j];
TiempoMaq = TTerminacion[r-1][j];
}
else{
TInicio[r-1][j] = TTerminacion[r-1][j-1];
TTerminacion[r-1][j] = TInicio[r-1][j]+TOper[r-1][j];
TiempoMaq = TTerminacion[r-1][j];
}
}
}
}
Cmax = TiempoMaq;
for(j=0; j<m; j++){
cout<<"\n\n";
for(i=0; i<n; i++){
r=Secuencia[i];
cout<<"("<<TInicio[r-1][j]<<", "<<TTerminacion[r-1][j]<<")"<<" ";
}
}
cout<<"\n";
cout<<"\nEl Makespan es (Cmax)..."<<Cmax<<"\n";
CmaxOp = Cmax;
}
27