Sei sulla pagina 1di 27

Anlisis de mejoramiento en la programacin en la

produccin en Ecolprod CI Ltda.


Arias, E.1, Martnez, D.2, Rodrguez, A.3
Estudiante de Maestra Ingeniera Industrial de la Universidad Tecnolgica de Bolvar, Cartagena
ejaca@hotmail.com, damar555@yahoo.com, acromatu@gmail.com .

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

Fuente: ECOLPROD CI LTDA

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

Fuente: ECLPROD CI LTDA

3. ESTADO DEL ARTE


3.1 Scheduling
Los problemas de planificacin abarcan una variedad de problemas de optimizacin en campos tales
como operaciones de produccin y despacho en la industria manufacturera, sistemas distribuidos y
paralelos, logstica y trfico. Algunos de ellos pueden incluirse dentro de la clase general de problemas de
scheduling (Johnson Garey 1979). En general, el scheduling consiste en la asignacin de tareas, a travs
del tiempo, cuando la disponibilidad de recursos es limitada, donde ciertos objetivos deben ser
optimizados y varias restricciones deben ser satisfechas. El problema de scheduling es de aplicacin en
las organizaciones y en la industria y en consecuencia tiene un fuerte impacto econmico y social. El
estudio de los problemas de scheduling data aproximadamente de 1950 donde investigadores de
ingeniera industrial, investigacin operativa, y administradores desarrollan nuevos enfoques y algoritmos
que tienen como objetivo principal la reduccin de los costos de produccin en la industria (Leung
Joseph, 2004). Muchos algoritmos eficientes han sido desarrollados para encontrar soluciones ptimas a
este tipo de problemas. Por ejemplo, se pueden mencionar los trabajos de Jackson (Jackson J. R, 1955),
Johnson (1954), y Smith (1956). Con el advenimiento de la teora de complejidad (Cook S. A, 1971),
muchas investigaciones sobre dicha temtica se han desarrollado debido a la inherente dificultad para
resolver esta clase de problemas. Muchos de los problemas de scheduling son computacionalmente
complejos y el tiempo requerido para calcular una solucin ptima se incrementa con el tamao del
problema (Pinedo M., 1955).
Se ha demostrado, por cierto, que muchos problemas de scheduling pertenecen a la clase de NPHard
(Brucker P et al, 1977). Reflejando la relevancia industrial de los problemas de scheduling y su campo de
aplicacin se han reportado en la literatura una variedad mtodos basados en algoritmos evolutivos de
resolucin de este tipo de problemas (Mattfeld D et al, 2000).
La planificacin y control de la produccin se caracterizan por contar con un conjunto de decisiones
estructurales interrelacionadas, las cuales permiten definir la actividad productiva de la organizacin a
corto y mediano plazo (Domnguez, Machuca, 1998). A travs de la historia muchos autores han definido
el trmino de planeacin de la produccin segn sus conocimientos; en la tabla 1 se relacionan algunos de
estos conceptos: Adems de los diferentes conceptos trabajados en las ltimas cuatro dcadas, tambin se
han diferenciado dos corrientes sobre lo que es la esencia de la planeacin y el control de la produccin,
estas dos corrientes bsicas segn (Taylor & Francis Publishers, 1998) son:
La corriente clsica de la planeacin y el control de la produccin. Caracterizada por partir de la
descomposicin del sistema de toma de decisiones en niveles jerrquicos como manufactura,
administracin y mercadeo, los cuales contaban con un sistema soporte de informacin, que
garantizaba la retroalimentacin de la informacin resultante en los diferentes componentes del
sistema.
La corriente de la flexibilidad de la planeacin y control de la produccin. Toma en cuenta los niveles
jerrquicos pero observados de una manera integral, teniendo en cuenta las actuales tendencias de la
manufactura como son produccin en lotes pequeos, planeacin y control localizado, tendencia a la
eliminacin de inventarios, Control Total de Calidad, olifuncionalidad del factor humano,
Mantenimiento Productivo Total, etc.
La programacin de tareas y el control del flujo de trabajos a travs de un ambiente de produccin es
esencial en los procesos de manufactura (Gideon,1995). Una programacin adecuada puede reducir
significativamente los costos de produccin y reducir los tiempos de proceso permitiendo cumplir con los
compromisos de entrega a tiempo. La mayora de problemas de esta rea son problemas de optimizacin
combinatoria y una gran parte de ellos pertenecen a la clase de problemas NP-hard. Los problemas NP-

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

Fuente: TORRES, Jairo H., 2002.

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

algoritmos aproximados de optimizacin y bsqueda de propsito general. Son procedimientos iterativos


que guan una heurstica subordinada combinando de forma inteligente distintos conceptos para explorar
y explotar adecuadamente el espacio de bsqueda. Explorar se refiere a moverse por regiones de
soluciones desconocidas y explotar a sacar el jugo a la regin de soluciones conocida. Las
metaheursticas no son la panacea y suelen ser menos eficientes que las heursticas especficas, en varios
rdenes de magnitud, en problemas que aceptan este tipo de heursticas crudas (Vlez M. C., 2007).
Las metaheursticas generalmente se aplican a problemas que no tienen un algoritmo o heurstica
especfica que d una solucin satisfactoria; o bien cuando no es posible implementar ese mtodo ptimo.
La mayora de las metaheursticas tienen como objetivo los problemas de optimizacin combinatoria,
pero por supuesto, se pueden aplicar a cualquier problema que se pueda reformular en trminos
heursticos, por ejemplo en resolucin de ecuaciones booleanas. Entre las situaciones ms propicias para
la aplicacin de tcnicas metaheursticas se encuentran:
Cuando no hay un mtodo exacto de resolucin, o ste requiere mucho tiempo de clculo y memoria
(ineficiente)
Cuando no se necesita la solucin ptima, basta con una de buena calidad. Para obtener buenas
soluciones, cualquier algoritmo de bsqueda debe establecer un balance adecuado entre dos
caractersticas contradictorias del proceso:
Intensificacin: cantidad de esfuerzo empleado en la bsqueda en la regin actual (explotacin del
espacio)
Diversificacin: cantidad de esfuerzo empleado en la bsqueda en regiones distantes del espacio
(exploracin)
El equilibrio entre estas caractersticas es necesario para identificar regiones del espacio con soluciones
de buena calidad y no estancarse en regiones con soluciones no prometedoras o ya exploradas.
Una posible clasificacin a las distintas metaheursticas es la siguiente:
Heursticas constructivas: Parten de una solucin inicial vaca y van aadindole componentes hasta
construir una solucin. GRASP [Prez F., 2000 2001; Resende M., 2001; Prez Gonzlez F., 2005),
Optimizacin Basada en Colonias de Hormigas Walkowial K., 2005).
Heursticas basadas en trayectorias: Parten de una solucin inicial e iterativamente tratan de
reemplazarla por otra solucin de su vecindario con mejor calidad. Enfriamiento Simulado (Brucker
P. et al. 1999), TS (Cobos N , 2004; Gendron, B, 1999; Gendron B, 2003; Hedar A , 2004; Crainic T.
n 2000; Joborn M., , 2004)
Heursticas basadas en poblaciones: Evolucionan una poblacin de soluciones iterativamente.
Algoritmos Genticos (Ericsson M , 2001), Scatter Search (De Alba K , 2004; lvarez A. M , 2003;
Beausoleil R. P, 2004).
3.5 Heursticas constructivas (Algoritmo de Johnson)
El algoritmo de Johnson (1954) es la primera heurstica conocida para el PFSP, que se basa en la
siguiente regla: el trabajo i precede al trabajo j si min{pi1, pj2} < min{pj1, pi2} Este algoritmo
proporciona una solucin optima para el PFSP con 2 mquinas y puede generalizarse para el caso
general con m mquinas agrupando las m mquinas en dos mquinas virtuales.

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

Fuente: wikipedia. 2010

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:

El tiempo de procesamiento de la operacin: si este tiempo sube, la prioridad de la operacin baja.


La ponderacin de la orden correspondiente: mayores ponderaciones obtendrn prioridades ms altas.
La proximidad de la fecha de entrega de la orden: fechas cercanas implicarn mayor prioridad.
La disponibilidad de la operacin: si la operacin no est inmediatamente lista para ser procesada
entonces baja su prioridad.

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

Donde: wJ wk = peso del trabajo j del trabajo k


pJ pk = tiempo de procesamiento trabajo en la maquina j k
= tiempo de terminacin de trabajos total ponderado.
SPT (Shortest Processing Time First). Los trabajos se programan dependiendo del que tenga menor
tiempo de procesamiento. Sirve para minimizar la tardanza ponderada y la suma de los Cj (tiempos de
flujo), sea
y
Pm || w j T j
Pm || C j
pJ pk o pj pj+1

donde pJ, pk = tiempo de procesamiento de trabajo en la maquina j maquina k


Pm = maquinas idnticas en paralelo
wjTj = tardanza total ponderada
Cj = tiempo de terminacin total

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=

Donde pJ = tiempo de procesamiento de trabajo en la maquina j


dj = son las fecha de entrega del trabajo j
4. DEFNICIN DEL PROBLEMA
Problema de secuenciamiento de las tareas en lnea
En general en un problema de Scheduling intervienen los siguientes elementos: trabajos, disponibilidad,
fecha de entrega, tiempo de proceso, prioridad, tiempo de alistamiento (setup), operaciones, patrones de
flujo y maquinas.
Los objetivos que pueden buscarse pueden ser: minimizar el tiempo de flujo total, minimizar la tardanza
total, minimizar el tiempo mximo de terminacin(makespan), minimizar la tardanza mxima, minimizar
el nmero de trabajos retrasados , minimizar el retraso mximo. El problema flow-shop se refiere a una
configuracin enfocada al producto, tal como se muestra en la figura 4
Por tanto el problema de flow-shop permutacional considera el makespan como funcin objetivo a ser
minimizada, resolver el problema significa determinar la permutacin que entregue el menor valor de
makespan.
Cuando una programacin define tiempos ociosos, minimizar el lapso, equivale a minimizar los tiempos
ociosos. El Lapso debe ser tan grande como la suma de los tiempos de proceso en cualquiera de las
mquinas.
n
n

*
Cmx
mx pi1 , pi 2
i 1
i 1

Figura 4. Secuencia de produccin lineal


12

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.

pi* j * mnmni 1,n p 1 , mni 1,n pi 2


El algoritmo de Johnson Requiere una serie de pasos:
Se colocan todos los trabajos en una lista, as como el tiempo que requiere cada uno de esos trabajos
en cada una de las mquinas.
Seleccionamos aquel pedido que menor tiempo de ejecucin tenga. Si este tiempo de ejecucin
corresponde a la primera mquina, el pedido se programa primero, y si el pedido corresponde a la
segunda mquina el pedido se programa el ltimo.
Una vez seleccionado uno de los trabajos lo eliminamos de la lista y repetimos este proceso, pero
siempre trabajando hacia el centro de la secuencia.
La Regla de Johnson para N pedidos y 3 mquinas. El algoritmo se basa en la creacin de 2 mquinas
ficticias, M4 y M5, donde el tiempo en M4, el tiempo de ejecucin para el pedido i ser igual a la
suma de M1 y M2; y el tiempo en M5 ser igual a la suma de M2 y M3. Y se aplica el mismo
procedimiento que antes. Para que la regla sea valida es necesario que los tiempos menores de la
primera y la ltima mquina de su ruta no sean inferiores al mxima tiempo de la mquina intermedia.
N pedidos y M mquinas. Hay una serie de algoritmos que se basan en la tcnica anterior.
Otras tcnicas.

13

Fig. 5. Pasos para la regla de Johnson -

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

4 Patacon con Todo

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

Fuente: ECOLPROD CI LTDA

b: Vasos blancos; i: Vasos Impresos


Tiempo de proceso litogrfico litogficos:
(Tiempo que se toma litografa en hacer llegar el trabajo la fabrica)

4 das

Tiempo de proceso de fabricacin:


(Promedio de produccin por unida de tiempo-diario)

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

Figura 7. Regla de Despacho EDD

Figura 8. Regla de Despacho MS

15

Figura 9. Regla de Despacho FCFS

Figura 10. Regla de Despacho WSPT

Figura 11. Regla de Despacho CR

Figura 12. Regla de Despacho LPT

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

Cj: Tiempo de terminacin total


Tj: Tardanza total
wjCj: Tiempo de terminacin ponderado
TjCj: Tardanza ponderada

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

Figura 14. Comparacin Tj diferentes Regla de Despacho

17

Figura 15. Comparacin Tmax diferentes Regla de Despacho

Figura 16. Comparacin Uj diferentes Regla de Despacho

Las secuencias programadas para las maquina siguiendo la regla SPT, es la siguiente

18

Figura 17. Secuencia Mquina 1

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

Figura 17. Mquina 2

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.

PROGRAMACIN SIGUIENDO ALGORITMO DE JONSON


Se realiz un algoritmo que permitiera comparar el Cmax y secuencia calculada tomando datos de manera
aleatoria y otra siguiendo el algortimo de Jonson,; dando como resultado:

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,

Nuevas Tcnicas de Gestin de Stocks: MRP y JIT,

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

Dannenbring, D. G. (1977). An evaluation of flow shop sequencing heuristics. Management Science,


23(11):11741182.
Davoud Pour, H. (2001). A new heuristic for the n-job, m-machine flow-shop problem. Production
Planning and Control, 12(7):648653.
De Alba K. (2004). Un Procedimiento Heurstico Para Un Problema De Diseo De Redes Multiproducto
Con Capacidad Finita Y Cargos Fijos.
Dudek, R. A. y Teuton, Ottis, J. F. (1964). Development of M-stage decision rule for scheduling n jobs
through M machines. Operations Research, 12(3):471497
E. H. L. Aarts, J. H. M. Korst, y P. J. M (/1997). van Laarhoven. Simulated annealing. En E. H. L. Aarts
y J.K. Lenstra, editores, Local Search in Combinatorial Optimization, pginas 91-120. John Wiley &
Sons, Chichester, 1997.
E.L.Lawler, J.K. Lenstra, A.H.G Rinnoy Kan y D Shmoys. Sequencing and scheduling: Algorithms and
complexity. En S.S Graves, A.H.G. Rinnoy Kan y P. Zipkin, Vol 4 : logist of production and inventory,
Pp 445-522 . North-Holland, New York, 1993.
Ericsson M., Resende M.G.C., Pardalos P.M. (2001) A Genetic Algorithm For The Weight Setting
Problem In Ospf Routing.
Garey, M., Johnson, D., y Sethi, R. (1976). The complexity of flowshop and jobshop scheduling.
Mathematics of Operations Research, 1(2):117129.
Garey, Michael R. and Johnson, David S. (1979). Computers and Intractability: A guide to the theory of
NP-Completeness., W.H. Freeman and Company, New York
Gendron, B. (1999). Tabu Search With Exact Neighbor Evaluation For Multicommodity Location With
Balancing Requirements.
Gendron B., Potvin J. Y., Soriano P. (2003). A Tabu Search with Slope Scaling for the Multicommodity
Capacitated Location Problem with Balancing Requirements.
Gershwin. (1994). Manufacturing Systems Engineering., Chapter 4, Prentice Hall.
Gideon, Weiss, A Tutorial in Stochastic Scheduling., Editors: Chretienne, P. and Coffman, E.G. Jr. and
Lenstra, J.K. and Liu, Z. (1995)., Scheduling: Theory and its applications, chapter 3, pages 33-64, John
Wiley & Sons.
Graham, R., Lawler, E., Lenstra, J., y Rinnooy Kan, A. (1979). Optimization and approximation in
deterministic sequencing and scheduling: A survey. Annals of Discrete Mathematics, 5:287326.
Gupta, J. N. (1971). A Functional Heuristic Algorithm for the Flowshop Scheduling Problem. Operational
Research Quarterly, 22(1):3947.
Hedar A.-R., Fukushima M. (2004). Tabu Search directed by direct search methods for nonlinear global
optimization.
H. R. Loureno, O. C. Martin, y T. Sttzle. Iterated local search. En F. Glover and G. Kochenberger,
editores, Handbook of Metaheuristics, pginas 321-353. Kluwer Academic Publishers, 2003.
Hundal, T. S. y Rajgopal, J. (1988). An extension of Palmers heuristic for the flow shop scheduling
problem. International Journal of Production Research, 26(6):11191124.
Jackson J. R. Scheduling a production line to minimize maimum tardiness (1955). Technical Report
43,Management Science Research Project. University of California, Los Angeles.

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

T. A. Feo y M. G. C. Resende. Greedy randomized adaptative search procedures. Journal of Global


Optimization, 6, pginas 109-133, 1995.
T. Bck, D. Fogel, Z. Michalewicz, editores, Handbook of Evolutionary Computation, 1998
Taillard, E. (1990). Some efficient heuristic methods for the flow shop sequencing problem. European
Journal of Operational Research, 47:6774.
Thomas E, Morton, David W. Pentico, heuristic scheduling system: with applications to production
System and project management publicado por Wiley-IEEE, 1993.
Torres, Jairo H. (2002). Planeacin agregada en la Pyme, Universidad Distrital F.J.C., Bogot, D.C
Turner, S. y Booth, D. (1987). Comparison of heuristics for flow shop sequencing. OMEGA, The
International Journal of Management Science, 15(1):7578.
Vlez M. C., Montoya J. A. (2007). Metaheursticos: Una alternativa para la solucin de problemas
combinatorios en administracin de operaciones.
Walkowial K. (2005). Ant Algorithm For Flow Assignment In Connection-Oriented Networks.

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

cout<<"\nSecuencia aplicando Algoritmo de Johnson es...\n";


//Programacin Regla de Jonson
min = 2000000;
int w;
w=0;
int z;
z=n-1;
int k;
for(k=0;k<n;k++){
min=200000;
for(i=0;i<n;i++){
for(j=0; j<m; j++){
if(TOper1[i][j]<min){
min = TOper1[i][j];
job = i+1;
maq = j+1;
}
}
}

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

Potrebbero piacerti anche