You are on page 1of 27

Análisis de mejoramiento en la programación en la

producción en Ecolprod CI Ltda.
Arias, E.1, Martínez, D.2, Rodríguez, A.3
Estudiante de Maestría Ingeniería Industrial de la Universidad Tecnológica de Bolívar, Cartagena
ejaca@hotmail.com, damar555@yahoo.com, acromatu@gmail.com .

RESUMEN
La programación 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 ejecución de todas las tareas. En este
documento se presenta los resultados obtenidos a través de las diferentes reglas de despacho y la técnica de
optimización Johnson. Se presenta los resultados obtenidos, determinando cual es el mejor tiempo de ejecución, con
resultados satisfactorios de gran interés para empresas del mismo sector.
El presente artículo se hace una revisión bibliográfica de las investigaciones realizadas para programación en
sistemas Flow Shop, y las diferentes heurísticas, metaheurísticas y reglas de despacho utilizadas; además se hace una
programación siguiendo diferentes reglas de despacho y aplicando algoritmo de Johnson, para comparar cual ofrece
mejor solución en cuanto makespan (Cmax).
Palabras Claves: algoritmo de Johnson, flow-shop, heurística, 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. INTRODUCCIÓN
La productividad también conocida como efectividad es la relación entre la producción obtenida por un
sistema de producción o servicios y los recursos utilizados para obtenerla. La preocupación de una
empresa debe ser aumentar su productividad lo cual es posible produciendo más con menos recursos, una
de las maneras de lograr esto es haciendo una continua revisión de la forma como se realiza la
programación de sus trabajos.
Desde hace varios años, las empresas y organizaciones del mundo tienen la necesidad de contar con una
herramienta común para cumplir a sus clientes. Hoy en día estas mismas organizaciones le quieren seguir
demostrando al mundo su compromiso con el cliente a través de una programación efectiva de la
producción.
Mediante la realización del presente trabajo, se quiere efectuar un análisis de mejoramiento de la
programación de la producción a la empresa ECOLPROD CI LTDA que permita optimizar el uso de los
recursos, de manera que alcance los objetivos globales de producción.
En Colombia el sector fabricación de papel cartón y derivados está en vía de desarrollado a gran escala.
En la costa atlántica ECOLPROD CI LTDA se convierte en la única empresa que fabrica vasos

1

desechables biodegradables en cartón, compitiendo a nivel nacional en el sub sector fabricación de papel,
cartón 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 número de compradores minoristas; además se resalta el hecho que los costos y gastos variables
mantuvieron unas cifras estables en este periodo de tiempo.
En los últimos años se ha podido establecer como factores característicos 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 diseños convirtiéndose en un componente de aceptación ante la opción de usar materiales
en un producto que no contamina el medio ambiente
 Poca variedad y poca personalización 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
números de formatos y acabados.
 Disminución de los plazos de entrega. Al disminuir la diferencia entre los propios productos se ha
intentado mejorar el servicio mediante la reducción de los plazos de entrega.
Estos factores han afectado a la forma de aprovisionamiento, ahora el cliente realiza pedidos pequeños y
frecuentes, lo cual supone un reto en el equilibrio almacenamiento-producción, y por tanto a la
programación de la producción como elemento fundamental en dicho equilibrio. Una forma de favorecer
este equilibrio es ayudando a flexibilizar el sistema productivo; proporcionando técnicas y herramientas
de programación de la producción que permitan la incorporación de los pedidos en el momento de
producirse la necesidad, sin que ello suponga una perturbación en el proceso de programación de la
producción previamente establecido.
En este contexto, este trabajo presenta el comportamiento de las reglas de despacho más conocidas en la
literatura, con el fin de poder analizar su comportamiento ante las medidas de prestaciones propuestas en
función de los factores típicos de la industria de fabricación de papel, cartón 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 podría numerar todas las secuencias
posibles y elegir aquellas que optimizan alguna medida de desempeño mediante la incorporación de una
regla de despacho. Aquí se propone como alternativa de solución del problema disminuir el lapso de
tiempo (minimizar el tiempo de ocio) mediante la aplicación del algoritmo de Johnson.
2. LA EMPRESA Y SU PROCESO PRODUCTIVO
ECOILPROD CI LTDA, es una compañía creada en el año 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 día, esa misma visión sigue presente, el conocimiento del mercado, le permitió incorporar a su
negocio de importación, una nueva tecnología para la fabricación de vasos desechables biodegradables de
cartón. En nuestro país este tipo de productos aun siguen en consumo mínimo, por su precio frente a los
2

calentamiento. pero su impacto ambiental ha creado una necesidad de nuevos productos que por su fácil degradación triplican en beneficios a la gran contaminación del medio ambiente proveniente de los otros productos en plástico o icopor. (ver figura 2) Figura 2. donde son seleccionados los productos conformes para sus respectivo embalaje por cajas de 20 rollos cada uno de 25 unidades. hermeticidad. pues los controles de resistencias son efectuados por la maquina. enrollamiento y descarga del vaso. Funcionamiento de la máquina Fuente: ECOLPROD CI LTDA Una vez estos vaso salen de la maquina se someten a estrictos controles de calidad por inspección visual por hombres. Una vez estos rollos estén listos se realiza la operación descartone mediante la cual se saca el vaso troquelado en el cartón y se procede a armar el vaso en la Máquina formadora de vasos de papel de alta velocidad JBZ-12H la cual es una máquina automática con etapas de trabajo múltiples. perforación al fondo.productos tradicionales desechables cuya materia prima tiene su origen en el petróleo. para ser distribuidos en todo el país. El proceso productivo en esta empresa comienza desde la recepción de pulpa importada la cual llega en rollos desde EEUU. Produce vasos de papel con cobertura laminada simple faz por medio del proceso de alimentado de papel automático. en el cual se lleva a cabo la operación de Troquelado e Impresión litográfica. lubricación de aceite de silicona. y recepcionada en Cartagena. Muestra de productos Fuente: ECLPROD CI LTDA 3 . Figura 1. El funcionamiento de la misma se puede observar en la figura 1. moleteado.

también se han diferenciado dos corrientes sobre lo que es la esencia de la planeación y el control de la producción. A través de la historia muchos autores han definido el término de planeación de la producción según sus conocimientos. Caracterizada por partir de la descomposición del sistema de toma de decisiones en niveles jerárquicos como manufactura.1995). Por ejemplo. y Smith (1956). olifuncionalidad del factor humano. Muchos algoritmos eficientes han sido desarrollados para encontrar soluciones óptimas a este tipo de problemas.. 1998). Machuca. en la tabla 1 se relacionan algunos de estos conceptos: Además de los diferentes conceptos trabajados en las últimas cuatro décadas. El problema de scheduling es de aplicación en las organizaciones y en la industria y en consecuencia tiene un fuerte impacto económico y social. Control Total de Calidad. teniendo en cuenta las actuales tendencias de la manufactura como son producción en lotes pequeños.1 Scheduling Los problemas de planificación abarcan una variedad de problemas de optimización en campos tales como operaciones de producción y despacho en la industria manufacturera. R. planeación y control localizado. Johnson (1954). administración y mercadeo. Se ha demostrado. el scheduling consiste en la asignación de tareas. A. Una programación adecuada puede reducir significativamente los costos de producción y reducir los tiempos de proceso permitiendo cumplir con los compromisos de entrega a tiempo. investigación operativa. tendencia a la eliminación de inventarios. que garantizaba la retroalimentación de la información resultante en los diferentes componentes del sistema. sistemas distribuidos y paralelos. por cierto. donde ciertos objetivos deben ser optimizados y varias restricciones deben ser satisfechas. 1977). etc. 1955). Reflejando la relevancia industrial de los problemas de scheduling y su campo de aplicación se han reportado en la literatura una variedad métodos basados en algoritmos evolutivos de resolución de este tipo de problemas (Mattfeld D et al. 1955).  La corriente de la flexibilidad de la planeación y control de la producción. Con el advenimiento de la teoría de complejidad (Cook S. 2004). Algunos de ellos pueden incluirse dentro de la clase general de problemas de scheduling (Johnson Garey 1979). La planificación y control de la producción se caracterizan por contar con un conjunto de decisiones estructurales interrelacionadas. cuando la disponibilidad de recursos es limitada.3. las cuales permiten definir la actividad productiva de la organización a corto y mediano plazo (Domínguez. Toma en cuenta los niveles jerárquicos pero observados de una manera integral. El estudio de los problemas de scheduling data aproximadamente de 1950 donde investigadores de ingeniería industrial. ESTADO DEL ARTE 3. logística y tráfico. La mayoría de problemas de esta área son problemas de optimización combinatoria y una gran parte de ellos pertenecen a la clase de problemas NP-hard. los cuales contaban con un sistema soporte de información. Muchos de los problemas de scheduling son computacionalmente complejos y el tiempo requerido para calcular una solución óptima se incrementa con el tamaño del problema (Pinedo M. se pueden mencionar los trabajos de Jackson (Jackson J. 1998) son:  La corriente clásica de la planeación y el control de la producción. estas dos corrientes básicas según (Taylor & Francis Publishers. La programación de tareas y el control del flujo de trabajos a través de un ambiente de producción es esencial en los procesos de manufactura (Gideon. y administradores desarrollan nuevos enfoques y algoritmos que tienen como objetivo principal la reducción de los costos de producción en la industria (Leung Joseph. Mantenimiento Productivo Total. muchas investigaciones sobre dicha temática se han desarrollado debido a la inherente dificultad para resolver esta clase de problemas. a través del tiempo. 1971). 2000). Los problemas NP- 4 . En general. que muchos problemas de scheduling pertenecen a la clase de NPHard (Brucker P et al.

que es un subconjunto de la clase NP (Garey y Johnson. 1979). Los problemas para los que se puede encontrar un algoritmo de solución en tiempo polinomial.. Conceptos sobre Planeación y Control de la Producción Fuente: TORRES. 1995). 5 . Tabla 1. 2002.hard son un subconjunto de la clase NP (problemas para los que no se puede tener una solución en tiempo polinomial para todas sus instancias) con la característica de que todos los problemas de ésta clase pueden ser reducidos a NP (Pinedo. forman la clase P. Jairo H.

Minimizar el inventario del trabajo en proceso.m. esto es. .2 El Problema de Flow Shop En el problema del Flow Shop tenemos un conjunto de n trabajos o tareas. lógica difusa.En los últimos años se han propuesto un gran número de enfoques para modelar y solucionar los diferentes problemas de programación de tareas. con diferentes grados de éxito. A continuación se considera la nomenclatura a utilizar: n = número de trabajos (tareas) m = Número de máquinas j = índice que se refiere a los trabajos ó tareas i = índice que se refiere a las máquinas o agentes. recocido simulado. reglas de despacho. (Chase 2000) 6. búsqueda tabú. sistemas expertos. (Gershwin 1994). 4. 2. 5. . Minimizar plazos. donde i = 1. . (1. algoritmos genéticos. Todos los trabajos son independientes entre sí y se encuentran disponibles en el instante 0. . Maximizar la utilización de las máquinas o de la mano de obra (el último objetivo es controversial. El objetivo es encontrar una secuenciación de los trabajos en las m´aquinas de tal manera que se optimice algún criterio dado. Realizar la programación de eventos en el controlador jerárquico de la celda 3. Cumplir con las fechas de vencimiento o deseadas (due date). Para este problema existen una serie de simplificaciones (Baker (1974)):     Cada trabajo i puede ocupar. el scheduling o programación. El proceso de un trabajo i en una máquina j no se puede interrumpir. En un taller de flujo el orden de los trabajos en las máquinas es el mismo. . . redes neuronales. . 3. 6 . . una máquina j al mismo tiempo. . . Los objetivos que se persiguen en la programación de eventos en la celda de manufactura. . primero la máquina 1. En todos los problemas de programación se considera que el número de tareas y el número de agentes (máquinas) es finito. entre otros (Jones y Rabelo. a lo sumo. por que el simple hecho de mantener todo el equipo y/o los empleados ocupados no siempre es la manera más eficiente de manejar el flujo a través del proceso). . Cada máquina m puede procesar. 1998). Los tiempos de proceso de los trabajos en las máquinas se definen como pij . un trabajo i a la vez. n) que deben procesarse en m máquinas o estaciones (1. El criterio más utilizado en la literatura es la minimización del tiempo de flujo total o makespan de la secuencia (Cmax). Como se había especificado antes. previamente realizada. n y j = 1. son: 1.m). La “secuenciación” o sequencing es el proceso de definir el orden en el cual los trabajos van a ser procesados en una máquina. Entre estos enfoques podemos mencionar la programación matemática. . después la 2 y así hasta la máquina m. como mucho. Minimizar el tiempo o costo de preparación (set-up). . es el proceso de adicionar los tiempos de arranque y finalización para las órdenes de trabajos dictadas por la secuencia. . .

3. Todas estas comparativas tienen varios inconvenientes. Ashour (1970). 1976). heuriskein. en Ponnambalam et al. Este tipo de problemas de secuenciamiento de sistemas de manufactura es clasificado de NP-hard.  Las máquinas se encuentran continuamente disponibles. se comparan 16 heurísticas con un conjunto de 1500 problemas generados aleatoriamente de un tamaño de hasta 30 trabajos y 20 máquinas.  Se permite almacenar producto en curso. Un problema NP-hard se presenta cuando un algoritmo que intenta solucionarlo. no se utilizan sets de datos estándares y/o los sistemas informáticos utilizados no son los mismos. Los algoritmos metaheurísticos son 7 . sino por la aparente simplicidad a la hora de plantear y la consideración de que aún hoy día. Su interés no viene motivado únicamente por su interés práctico. que genera una programación óptima en O (n log n) pasos. (1979) y es NPCompleto cuando m ≥ 3 (Garey et al. En este caso el problema se conoce como taller de flujo de permutación o n/m/P/Fmax (Pinedo. Turner y Booth (1987) comparan dos heurísticas conocidas con un conjunto de 350 problemas aleatorios. aquí con el sentido de "nivel superior") y "heurístico" (de ευρισκειν. Finalmente. el estudio teórico del Flow Shop ha constituido uno de los tópicos más investigados en la teoría de la programación. (Johnson. también aleatorios. se evalúan 5 heurísticas diferentes. pero solo contra 21 sencillos problemas test. Adicionalmente. por lo que los resultados no son comparables ni generalizables. constituye un problema difícil de resolver. teniendo en cuenta las restricciones propias de cada situación específica como la velocidad de proceso de las maquinas. (Lahdari. También es difícil encontrar comparativas en las que se incluyan métodos metaheurísticos avanzados como Simulated Annealing o Algoritmos Genéticos. En general. (2001). Normalmente el problema se simplifica no permitiendo que un trabajo pase a otro (job passing). Para resolver el problema del Flow Shop se han propuesto diferentes técnicas y metodologías con el fin de encontrar la secuencia óptima cumpliendo con los diferentes objetivos como la inexistencia de tiempos muertos de fabricación. de forma exponencial al tamaño del problema. aumenta su tiempo de ejecución. la secuencia inicial de los trabajos se mantiene para todas las máquinas. se podría hablar de un problema que requiere encontrar la permutación de las tareas para ser resuelto. "encontrar"). Los tiempos de cambio de partida de los trabajos en las máquinas son independientes de la secuencia y están incluidos en los tiempos de proceso. En el trabajo de Byung Park et al. Matemáticamente. por ejemplo. (1984). Dannenbring (1977) evaluó 11 métodos con 1580 problemas. o lo que es lo mismo. 2004) Es bien conocido que el cado de dos máquinas en el caso del Flow Shop puede ser resuelto utilizando las reglas de Johnson. Desde la publicación del artículo de Johnson en 1954.1979) El reto está en encontrar algoritmos que exploren favorablemente la estructura matemática del problema. en tiempos de ejecución relativamente pequeños. En la literatura existen ya comparativas de técnicas de resolución para este problema. no existe ninguna comparativa actual que nos permita evaluar los ´últimos métodos aparecidos para el problema. en el peor de los casos. Este trabajo se centra en este ´ultimo tipo de problema.. anulación de retrasos entre otros. El problema se clasifica como F//Cmax siguiendo la notación α/β/γ de Graham et al. Las comparativas se hacen con tan solo unos pocos métodos y normalmente son siempre los mismos. De esta manera sólo existen n! secuencias posibles.3 Metaheurísticas El nombre metaheurística combina el prefijo griego "meta" ("más allá". hay un total de (n!) m secuencias posibles. capacidad de recursos humanos y materiales etc. 1995). hizo una comparativa de métodos exactos para el Flow Shop de permutación. reducción de tiempo de cambio y ajustes de las maquinas. para que sean capaces de obtener una respuesta para la mayoría de las instancias del mismo.

La mayoría de las metaheurísticas tienen como objetivo los problemas de optimización combinatoria.. 1999). TS (Cobos N . Crainic T. basta con una de buena calidad. C. Álvarez A. pj2} < min{pj1. pi2} Este algoritmo proporciona una solución ´optima para el PFSP con 2 máquinas y puede generalizarse para el caso general con m máquinas agrupando las m máquinas en dos máquinas “virtuales”. Explorar se refiere a moverse por regiones de soluciones desconocidas y explotar a “sacar el jugo” a la región de soluciones conocida. Las metaheurísticas generalmente se aplican a problemas que no tienen un algoritmo o heurística específica que dé una solución satisfactoria. et al. n 2000. ..5 Heurísticas constructivas (Algoritmo de Johnson) El algoritmo de Johnson (1954) es la primera heurística conocida para el PFSP. GRASP [Pérez F. Una posible clasificación a las distintas metaheurísticas es la siguiente:  Heurísticas constructivas: Parten de una solución inicial vacía y van añadiéndole componentes hasta construir una solución. en problemas que aceptan este tipo de heurísticas crudas (Vélez M.algoritmos aproximados de optimización y búsqueda de propósito general. Las metaheurísticas no son la panacea y suelen ser menos eficientes que las heurísticas específicas.. P. Hedar A . que se basa en la siguiente regla: el trabajo i precede al trabajo j si min{pi1. 2003. 2001).. 2004. Gendron. se pueden aplicar a cualquier problema que se pueda reformular en términos heurísticos. 2007). 2004. 2003. Enfriamiento Simulado (Brucker P. Joborn M. 2004)  Heurísticas basadas en poblaciones: Evolucionan una población de soluciones iterativamente. Resende M. Entre las situaciones más propicias para la aplicación de técnicas metaheurísticas se encuentran:  Cuando no hay un método exacto de resolución. Algoritmos Genéticos (Ericsson M .  Heurísticas basadas en trayectorias: Parten de una solución inicial e iterativamente tratan de reemplazarla por otra solución de su vecindario con mejor calidad. Beausoleil R. 2005). 2004). o bien cuando no es posible implementar ese método óptimo. 3. pero por supuesto. cualquier algoritmo de búsqueda debe establecer un balance adecuado entre dos características contradictorias del proceso:  Intensificación: cantidad de esfuerzo empleado en la búsqueda en la región actual (explotación del espacio)  Diversificación: cantidad de esfuerzo empleado en la búsqueda en regiones distantes del espacio (exploración) El equilibrio entre estas características es necesario para identificar regiones del espacio con soluciones de buena calidad y no estancarse en regiones con soluciones no prometedoras o ya exploradas. 1999. B. 2000 – 2001. en varios órdenes de magnitud. 2001. Para obtener buenas soluciones. por ejemplo en resolución de ecuaciones booleanas. Gendron B. Pérez González F. Scatter Search (De Alba K . 2004.. o éste requiere mucho tiempo de cálculo y memoria (ineficiente)  Cuando no se necesita la solución óptima. 2005). Optimización Basada en Colonias de Hormigas Walkowial K. M .. Son procedimientos iterativos que guían una heurística subordinada combinando de forma inteligente distintos conceptos para explorar y explotar adecuadamente el espacio de búsqueda. 8 .

permitiendo por tanto usar el algoritmo de Dijkstra en el grafo transformado.El algoritmo de Johnson es una forma de encontrar el camino más corto entre todos los pares de vértices de un grafo dirigido disperso. Funciona utilizando el algoritmo de Bellman-Ford para hacer una transformación en el grafo inicial que elimina todas las aristas de peso negativo. para cada nodo se usa el algoritmo de Dijkstra para determinar el camino más corto entre s y los otros nodos. Su nombre viene de Donald B. Si en este paso se detecta un ciclo negativo. Es un método heurístico que pretende minimizar el tiempo necesario para obtener todos los pedidos. El algoritmo de Johnson consiste en los siguientes pasos:  Primero se añade un nuevo nodo q al grafo. asegurando entonces la optimalidad de los caminos encontrados por el algoritmo de Dijkstra. Un caso Especial se da cuando la máquina intermedia está dominada. En el grafo con pesos modificados. Sin embargo. 2010 9 . así que un camino que sea el más corto en el grafo original también es el camino más corto en el grafo modificado y viceversa.  En segundo lugar. usando el grafo con pesos modificados. Una Máquina está Dominada cuando su tiempo de proceso más largo es menor o igual que el tiempo de proceso más corto de las otras máquinas Figura 3. conectado a cada uno de los nodos del grafo por una arista de peso cero. quien fuera el primero en publicar la técnica en 1977. así como el tiempo ocioso de las máquinas. se utiliza el algoritmo de Bellman-Ford. todos los caminos entre un par de nodos s y t tienen la misma cantidad h(s) – h(t) añadida a cada uno de ellos. v) + h(u) – h(v)  Por último. el algoritmo concluye. debido al modo en el que los valores h(v) son computados. para determinara para cada vértice v el peso mínimo h(v) del camino de q a v. Hay que establecer la secuencia que cumpliendo las fechas de entrega de los pedidos implique el menor tiempo total de los mismos. da el nuevo tamaño w(u. 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 transformación realizada en el grafo. v). todos los pesos modificados de las aristas son no negativos. 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 tamaño w(u. Etapas del Algoritmo de Johson Fuente: wikipedia. Permite que las aristas tengan pesos negativos. Existen distintas técnicas para ello aplicamos la regla de Johnson para N pedidos y 2 máquinas. empezando por el nuevo vértice q. Johnson. por la primera o por la tercera máquina. Cuando hay más de dos Máquinas el Algoritmo de Johnson no funciona excepto en ocasiones especiales.  Seguidamente. si bien no permite ciclos de peso negativo.

RA proporciona una solución de buena calidad en poco tiempo. (1983) está considerada como uno de los mejores métodos para el PFSP (Taillard. Koulamas (1998) desarrolló una nueva heurística. Con estos dos índices y el original se calculan tres secuencias y la mejor se devuelve como resultado. En este caso los trabajos se secuencian mediante un índice que explota las similitudes entre los problemas de ordenación y secuenciación. Esto hace que la complejidad del método NEH sea de O(n3m) que puede ser inaceptable para instancias de tamaño medio o superior. el índice de Palmer ignora la máquina (m + 1)/2. 1990). dado que es conocido que las secuencias de permutación sólo dominan en el caso de tres máquinas. En este caso se define un problema virtual con dos máquinas. porque q tiene una arista de unión con cada nodo de peso 0. En la segunda fase se intenta mejorar la secuencia permitiendo que algunos trabajos adelanten a otros en las máquinas. HFC hace un uso extensivo de la regla de Johnson. hecho reemplazando el peso de cada arista w(u. En la tercera imagen. Palmer (1965) utiliza un índice para cada trabajo que denomina “slope index” que proporciona un orden de prioridad para secuenciar los trabajos. A partir de los resultados parece que el método de ordenación merging es el mejor de entre los tres. En este grafo modificado. Nótese que todos estos valores h(v) no son positivos. En la segunda imagen se muestra el nuevo vértice q con peso 0 hacia todos los nodos. El algoritmo se conoce como CDS y construye un total de m−1 secuencias agrupando las m máquinas originales en grupos de 2 y resolviendo el problema resultante con la regla de Johnson. pero en vez de aplicar directamente la regla de Johnson. Campbell et al. se muestra el árbol de caminos mínimos calculado con el algoritmo de Bellman-Ford con q como vértice inicial. como en la heurística CDS. La heurística NEH de Nawaz et al. Se basa en la idea de que los trabajos con un tiempo total de proceso en las máquinas alto deben secuenciarse lo antes posible. todos los pesos de las aristas son positivos y el camino más corto entre dos nodos cualesquiera usa la misma secuencia de aristas que en el camino más corto entre los mismos dos nodos en el grafo original. Hundal y Rajgopal (1988) modificaron el algoritmo de Palmer incidiendo en el hecho de que cuando m es impar. para el caso con m máquinas. Gupta (1971) propuso una sencilla modificación a la regla de Palmer. por lo que se evalúan un total de (n(n + 1))/2 − 1 secuencias. Los tres algoritmos son pairing. (1970) desarrollaron un algoritmo que es básicamente una extensión del algoritmo de Johnson. En la primera fase. v) por w(u. y los valores h(v) calculados para cada otro nodo como la longitud del camino más corto entre q y ese nodo. De esta manera se permiten secuencias no de permutación.En la imagen de la izquierda tiene dos aristas negativas y no contiene ciclos negativos. lo que es bastante interesante. La heurística se basa en múltiples inserciones. una secuencia de permutación ya no 10 . 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 métodos basados en técnicas de ordenación. a la que llamó HFC. En la parte derecha se muestra el grafo modificado. Dudek y Teuton (1964) desarrollaron una regla de M etapas que busca minimizar el tiempo ocioso en la última máquina utilizando una técnica parecida al algoritmo de Johnson para el caso de 2 máquinas. aunque las instancias consideradas son muy pequeñas para los estándares actuales. en dicha imagen solo aparecen los caminos que se tomarían para determinar cada valor h(v). El algoritmo “Rapid Access” (RA) de Dannenbring (1977) mezcla las ideas de Johnson y de Palmer. v) + h(u) – h(v). A modo de ilustración. se definen primero unos esquemas de ponderación para cada una de las dos máquinas virtuales y después se aplica la regla de Johson. No obstante. y por tanto el camino más corto no puede ser mayor que ese valor. Taillard (1990) modificó el método y redujo su complejidad a O(n2m). merging and exchanging. Los autores proponen dos índices alternativos para los trabajos.

(1991)). la prioridad de la operación baja. Sin embargo. El autor compara el rendimiento con el método NEH y la heurística CDS. La proximidad de la fecha de entrega de la orden: fechas cercanas implicarán mayor prioridad. esta prioridad puede depender de los siguientes elementos:     El tiempo de procesamiento de la operación: si este tiempo sube. Las reglas de despacho permiten definir las prioridades entre los trabajos que se encuentran en un taller. No sólo es utilizada por las personas encargadas de la planificación. 3. también se pueden obtener a través de cálculos entre diferentes variables (como la holgura).pJ -t. Pueden ser sencillas.tiene porque ser óptima (Potts et al. las soluciones generadas son de muy baja calidad en problemas de tamaño realista. De hecho. dJ  dk o´ dj  dj+1 donde dJ. Los trabajos se programan dependiendo del orden de llegada: Primeros en Entrar Primeros en Servir. Los trabajos se programan dependiendo del que tenga mayor tiempo de procesamiento. basadas en un dato del producto. La disponibilidad de la operación: si la operación no está inmediatamente lista para ser procesada entonces baja su prioridad. dk = son las fecha de entrega del trabajo j ó trabajo k  FCFS (First Come First Served). Snack = Max (dJ . Aquella operación que obtiene la más alta prioridad es elegida o despachada como el siguiente trabajo en la máquina correspondiente. Se encuentran Infinidad de reglas de despacho para secuenciar trabajos entre estas tenemos: • EDD (Earliest Due Date). se asigna una prioridad a cada una de las operaciones que están disponibles para ser procesadas. Los trabajos se programan dependiendo del que tenga menor fecha de entrega. pJ  pk o´ pj  pj+1 donde pJ. El método parece comportarse mejor sólo en el caso en el que se considera un número elevado de máquinas. Cada vez que una máquina se desocupa.4 Reglas de despachos Esta metodología consiste en planificar primeramente las operaciones cronológicamente próximas y luego aquellas más lejanas. ignorando el horizonte total de planificación. procediéndose en forma análoga hasta programar todas las operaciones.  LPT (Longest Processing Time First). Esta heurística se basa en el intercambio de trabajos. esta metodología es apodada como “miope”. 0) 11 . pues sólo considera información inmediata. Según explica Vepsalainen & Morton (1987). Minimiza el Lmax (retardo máximo). La ponderación de la orden correspondiente: mayores ponderaciones obtendrán prioridades más altas. Esta técnica está ampliamente difundida en la Industria porque es fácil de entender e implementar. pk = tiempo de procesamiento trabajo en la máquina j ó maquina k  MS (Minimum Snack). como el tiempo de procesamiento o la fecha de entrega. aunque debemos tener en cuenta que se puede beneficiar del hecho de permitir secuencias no de permutación. La última heurística que se revisa se debe a Davoud Pour (2001). Los trabajos se programan dependiendo del que tenga menor retardo o snack. sino también por la mayoría de los sistemas de programación automáticos. Esta heurística se ha contemplado simplemente para comprobar su rendimiento y compararla con las demás.

tiempo de proceso. ósea y Pm || w j T j Pm || C j pJ  pk o´ pj  pj+1   donde pJ. n n  * Cmáx  máx  pi1 .  pi 2  i 1  i 1  Figura 4. tiempo de alistamiento (setup). minimizar el lapso. fecha de entrega. minimizar la tardanza máxima. minimizar el tiempo máximo de terminación(makespan). minimizar el número de trabajos retrasados . CRj= Donde pJ = tiempo de procesamiento de trabajo en la maquina j dj = son las fecha de entrega del trabajo j 4. equivale a minimizar los tiempos ociosos. Los trabajos se programan dependiendo del que tenga menor razón crítica (CR). 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 terminación de trabajos total ponderado. Cuando una programación define tiempos ociosos. Sirve para minimizar la tardanza ponderada y la suma de los Cj (tiempos de flujo). patrones de flujo y maquinas. resolver el problema significa determinar la permutación que entregue el menor valor de makespan. se secuencia primero el de menor tiempo de proceso. DEFNICIÓN DEL PROBLEMA Problema de secuenciamiento de las tareas en línea En general en un problema de Scheduling intervienen los siguientes elementos: trabajos. Los objetivos que pueden buscarse pueden ser: minimizar el tiempo de flujo total. minimizar el retraso máximo. Los trabajos se programan dependiendo del que tenga mayor relación entre el peso o prioridad y tiempo de procesamiento. WSPT (Weighted Shortest Processing Time First).  SPT (Shortest Processing Time First). operaciones. tal como se muestra en la figura 4 Por tanto el problema de flow-shop permutacional considera el makespan como función objetivo a ser minimizada. prioridad. Cuando hay más de un trabajo retardado. El problema flow-shop se refiere a una configuración enfocada al producto. minimizar la tardanza total. disponibilidad. El Lapso debe ser tan grande como la suma de los tiempos de proceso en cualquiera de las máquinas. Secuencia de producción lineal 12 . Los trabajos se programan dependiendo del que tenga menor tiempo de procesamiento. pk = tiempo de procesamiento de trabajo en la maquina j ó maquina k Pm = maquinas idénticas en paralelo ∑wjTj = tardanza total ponderada ∑Cj = tiempo de terminación total • CRj (Critical Ratio).

Para que la regla sea valida es necesario que los tiempos menores de la primera y la última máquina de su ruta no sean inferiores al máxima tiempo de la máquina intermedia. pi* j *  mínmíni 1. determina el tiempo ocioso en la máquina 2.El tiempo ocioso en la máquina 2 debe ser como mínimo el tiempo de proceso más pequeño en la máquina 1 y el tiempo ocioso en la Máquina 1 debe ser cómo mínimo el tiempo de proceso más pequeño de la máquina 2.  Una vez seleccionado uno de los trabajos lo eliminamos de la lista y repetimos este proceso. 13 .  Otras técnicas. pero siempre trabajando hacia el centro de la secuencia.n pi 2  El algoritmo de Johnson Requiere una serie de pasos:  Se colocan todos los trabajos en una lista. mientras que si es un tiempo de proceso corto en la Máquina 2. así como el tiempo que requiere cada uno de esos trabajos en cada una de las máquinas.  min i 1.  N pedidos y M máquinas.n pi 2   pi1 . se debe ir al final. lo que lleva al intervalo más apropiado para que se de el Lapso.Fuente: Autores No se sabe que trabajo debe ser primero y su tiempo de proceso en la máquina 1. y si el pedido corresponde a la segunda máquina el pedido se programa el último. se debe ir al inicio. Hay una serie de algoritmos que se basan en la técnica anterior. Para eso utilizaremos el Algoritmo de Johnson. El algoritmo se basa en la creación de 2 máquinas ficticias.  La Regla de Johnson para N pedidos y 3 máquinas.  Seleccionamos aquel pedido que menor tiempo de ejecución tenga. el pedido se programa primero. el tiempo de ejecución 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. M4 y M5.n pi1   pi 2  i 1 i 1    Si un trabajo tiene un tiempo de proceso corto en la Máquina 1. Y se aplica el mismo procedimiento que antes. donde el tiempo en M4. Si este tiempo de ejecución corresponde a la primera máquina.n pí 1 . míni 1. n n    * Cmáx  máx  min i 1.

000 667 11 i 26-nov 5 Frutin Ice 24 192 20. RESULTADOS La tabla 2 resume las órdenes de trabajo pendiente en el mes de noviembre. 02 31 248 15.000 867 14 i 06-dic 9 Dunord Cafeteria 27 216 14. las unidades de tiempo tomada esta expresa en horas. 01 31 248 40.000 400 7 i 15-dic 14 .000 133 2 b 03-dic 8 Uninorte 27 216 26.000 467 8 i 06-dic 10 Dunord Cafeteria 27 216 20.000 600 10 i 06-dic 3 Fondcomfenalco 20 160 12. 5. considerando 8 horas de trabajo diarias.000 667 11 b 03-dic 12 CBI Colombia 24 192 20. Tabla 2. De manera aclaratoria se hizo la programación tomando como día 1 el día 10 de noviembre y como día final 16 de diciembre. 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.000 667 11 i 06-dic 11 CBI Colombia 24 192 20.000 667 11 b 03-dic 13 Jackeline De Leon 27 216 30.4 6.000 400 7 i 29-nov 4 Patacon con Todo 17 136 20.333 22 i 10-dic 16 Frappe No.000 667 11 b 03-dic 19 YMG Distribuciones 24 192 20.000 17 b 06-dic 14 Jackeline De Leon 27 216 20.Fig. Trabajo Cliente Día Entrega Horas Cantidad Minutos Horas tp Fecha de entrega 1 UNAB 27 216 24.000 667 11 i 03-dic 6 Aguas de Monteria 24 192 5.000 1. 5.000 33 i 06-dic 18 YMG Distribuciones 24 192 20.000 800 13 i 06-dic 2 UNAB 27 216 18.000 1.000 167 3 b 03-dic 7 Aguas de Monteria 24 192 4.000 2. Pasos para la regla de Johnson - Fuente: Autores.000 667 11 b 06-dic 15 Frappe No.000 667 11 b 03-dic 20 Coco Ice 36 288 12. El software utilizado para realizar los cálculos es el Lekin vs 2. Ordenes de trabajo – Noviembre 2010. las ordenes de trabajo utilizadas son del mes de noviembre.000 500 8 i 10-dic 17 Alm Fuller 27 216 60.

000 133 2 b 03-dic 22 Irotama Hoteles SA 36 288 16.Trabajo Cliente Día Entrega Horas Cantidad Minutos Horas tp Fecha de entrega 21 Maria Grau 24 192 4.000 500 8 b 10-dic 25 Pizzerias Margarita 32 256 8. i: Vasos Impresos Tiempo de proceso litográfico litogáficos: (Tiempo que se toma litografìa en hacer llegar el trabajo la fabrica) 4 días Tiempo de proceso de fabricación: (Promedio de producción por unida de tiempo-diario) 30 piezas/min Después de introducir los datos al sofware Lekin se obtuvieron en el software las siguientes secuencias de trabajos PROGRAMACIÓN DE SECUENCIAS DE TRABAJOS Al analizar la programación de las órdenes de trabajo de la empresa para el mes de noviembre de 2010.000 33 b 05-dic 36 288 60.000 33 i 15-dic 36 288 60. Regla de Despacho MS 15 .000 533 9 b 15-dic 23 Servihoteles 31 248 20.000 267 4 b 11-dic 26 208 60.000 667 11 i 10-dic 24 Servihoteles 31 248 15. consideramos diferentes reglas de despacho obteniendo los siguientes resultados: Figura 6.000 2. Regla de Despacho SPT Figura 7.000 Fuente: ECOLPROD CI LTDA b: Vasos blancos.000 2.000 33 i 15-dic 26 Dist Colombia Inter Nal de 27 Negocios Inter Nal de 28 Negocios Total Vasos 663.000 2. Regla de Despacho EDD Figura 8.

Resumen de Resultados Donde: Cmax: Tiempo máximo de terminación Tmax: Tardanza máxima ∑Uj : Numero de trabajos tardíos ∑Cj: Tiempo de terminación total ∑Tj: Tardanza total ∑wjCj: Tiempo de terminación ponderado ∑TjCj: Tardanza ponderada 16 . Regla de Despacho FCFS Figura 10. Regla de Despacho LPT Un resumen de los datos obtenidos para cada una de las reglas de despacho. Regla de Despacho CR Figura 12.Figura 9. Regla de Despacho WSPT Figura 11. muestra lo siguiente: Tabla 3.

Se observa que la programación con mínimo Cmax. y será la administración de la empresa quien elige la regla de despacho a utilizar dependiendo el objetivo que busque. la cual muestra un Cmax bajo en comparación con las demás y muestra menor número de trabajos tardíos. Comparación Cmax diferentes Regla de Despacho Figura 14. A continuación se muestra comparaciones graficas para cada una de las reglas de despacho. siendo además la que presenta menor tardanza total. fue la realizada por la regla de despacho EDD (programación por trabajos con menor tiempo de entrega). Figura 13. Comparación ∑Tj diferentes Regla de Despacho 17 . Sin embargo podría elegirse la obtenida por la regla de despacho SPT.

Comparación Tmax diferentes Regla de Despacho Figura 16. es la siguiente 18 .Figura 15. Comparación ∑Uj diferentes Regla de Despacho Las secuencias programadas para las maquina siguiendo la regla SPT.

Secuencia Máquina 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.

Figura 17. PROGRAMACIÓN 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 .. Máquina 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.

inclusive que el programado en el software Lekin con las reglas de despacho descritas anteriormente. A heuristic algorithm for the n job. Lenstra J. Dudek.(2003): Scatter Search For A Network Design Problem. m machine sequencing problem. Rolfes T. (2000)..Se observa que el Cmax calculado con el algoritmo de Johnson es menor que el calculado tomando datos de manera aleatoria. Brucker P. 9. Annals of Discrete Mathematics Brucker P. New York. International Journal of Production Research. New Results With Scatter Search Applied To Multiobjective Combinatorial And Nonlinear Optimization Problems. L. G. Chase R.. Karmarkar. 18(3):541–549. (1989). H.. 16(10):B630–B637 Caves D. y Smith.. CONCLUSIÓNES Se ha resuelto el problema de secuencia miento de tareas flow-shop utilizando el algoritmo de Johnson obteniéndose grandes resultados de gran interés para empresas del mismo sector En trabajos futuros se podría aplicar la metodología propuesta al problema de jop-shop 8. (1999). Gendreau M. (2004). Complexity of machine scheduling problems. M. Freemann & Co. Crainic T. 7. D. A survey and evaluation of static flowshop scheduling heuristics. Y. Fonollosa G. H. M... Diewert E. K. E. (2003) Computational And Complexity Results for a Interior Point Algorithm on Multicommodity Flow Problems. A Guide to the Theory of NPCompleteness. Companys P. Rinnooy Kan A. (1979). (2004). K.. Farvolden J. R. De-Alba K.G. Ashour. R. G. Baker. (1982). Johnson Garey M. Kamath. D. y Enscore. Campbell. (2000). 22(1):127–141. Hurink J. Byung Park. González J.. An experimental investigation and comparative evaluation of flow-shop scheduling techniques. Beausoleil R. E. San Francisco... L.L. Administración de producción y operaciones. Anil P. (1971). (1970). R. Computers and Intractability. Cook S. Búsqueda Tabú para un problema de diseño de Red Multiproducto con capacidad finita en las aristas... Output and Productivity”. Aquilano N.. Noviembre. AGRADECIMIENTOS Debo dar las gracias a la Universidad Tecnológica de Bolívar y a Jaime Acedo Chedid por la asesoría y realización en este trabajo. Management Science.. Pp: 1393-1414.. Marcombo.. 21 . C. Mc Graw Hill Cobos N. Introduction to Sequencing and Scheduling. y así debe ser atribuido sin perjudicar a las personas e institución mencionadas. S. Routing of railway carriages: A case study. John Wiley & Sons. R. J. A Simplex Based Tabu Search Method For Capacited Network Design.. (1984). (1970). Association for Computing Machinery. CA. The complexity of theorem-proving procedures.. (1977). Pegden. P. (1974). BIBLIOGRAFIA Alvarez A. M. España.Jacobs R.. K. Los errores en este documento corresponden a los autores. Econometrica. Operations Research. A. Christensen L. In 3rd Annual ACM Symposium on Theory of Computing. “The Economic Theory of Index Numbers and the Measurement of Input. Boixareau edit. S. Nuevas Técnicas de Gestión de Stocks: MRP y JIT. Narendra K.. A.

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

Superintendencia de Sociedades base de datos. An Approach to the Scheduling of Jobs on Machines. Potts.. N. Anticipation in dynamic optimization: The scheduling case. (3):59– 66. y Williamson. A GRASP With Path-Relinking For Private Virtual Circuit Routing. Aravindan. Lahdari.A Quick Method of Obtaining a Near Optimum. I. T..Joborn M. De Alba K. G. T. (on-line publication) Koulamas. Pérez F. En S. Mladenovic. Operational Research Quarterly. Scheduling: Theory. 23(2):484–492 Palmer. In Parallel Problem Solving from Nature.supersociedades. Page. Voss... (1):61–67 Jones. páginas 433-458. Models and Performance Analysis. (1965). Gaithersburg.. C. A Heuristic Algorithm for the m-Machine. nonpermutation flow shop schedules. Holmberg K. (1983). (1995).Advances and Trends in Local Search Paradigms for Optimization. y Ham. M. Article in Press. (2001).. 105:66–71. Pre-processing a Network Design Problem using GRASP. Roucairol. 12(4):335. Handbook of Scheduling: Algorithms.. Constructive and improvement flow shop scheduling heuristics: an extensive evaluation. editores. Naval Research Logistics Quaterly. Alvarez A. Naval Research Logistics Quaterly. Corrected Proof. M. Production Planning and Control. Optimal two and three stage production. (2001).Martello.. National Institute of Standards and Technology. (2004): Economies of Scale in Empty Freight Car Distribution in Scheduled Railways.J. B. Pérez González F (2005). Lundgren J. n-Job FlowShop Sequencing Problem. pages 253–262. Sequencing Jobs through a Multi-Stage Process in the Minimum Total Time . Smith W. Operations Research Letters. and Systems.co/SIREM/index. Algorithms. S.. Prentice Hall. N. D.gov. S. H. Albert and Rabelo. Branke J (2000).jsp. 10:281–284 P. G. The International Journal of Management Science. C. Dordrecht. J. 2010 23 . Ribeiro C. (2001). (1956). 1999. Leung Joseph (2004). D. I. Survey of Job Shop Scheduling Techniques. SIREM (sistema de información y riesgo empresarial) [online] Disponible: http://sirem.. E. Journal of the Royal Statistical Society. Pérez F. Shmoys. (2000)... P. Hansen y N. NISTIR. C. Una Metodología De Solución Basada En La Metaheurística GRASP Para El Problema De Diseño De Red Con Incertidumbre. OMEGA.. M. MetaHeuristics . Various optimizers for single stage production. A Computacional study of the permutation flow shop problem based on a tight lower bound. Crainic T. y Haouari. Kluver Academic Publishers. B Series. Michael. Luis C. (1954). D. Johnson S. De Alba K. Ponnambalam. y Chandrasekaran. C. E. P. E. (1998). Permutation vs. Gendreau M. S. Nawaz. G.... Pinedo. (1998). E. M.. Chapman & Hall Mattfeld D. S. Resende M. Englewood Cliffs. Holanda. Alvarez A.. y C. CCR Computer and Information Sciences Series. Computers & Operations Research. Enscore. (1961). 16(1):101–107. Osman. MD. 11(1):91–95. European Journal of Operational Research. A new constructive heuristic for the flowshop scheduling problem. A Constructive Procedure for Finding Good Starting Solutions to the Network Design Problem with Uncertain Parameters. An introduction to variable neighborhood search. (1991).. M. VI.

C. 15(1):75–78. E. 24 . y Booth. Pentico. (2002). Thomas E. (2007).J.. j. Some efficient heuristic methods for the flow shop sequencing problem. OMEGA. int TOper[200][200]. int i. editores. Montoya J. int TOper[200][200]. 1998 Taillard. int min. Ant Algorithm For Flow Assignment In Connection-Oriented Networks.. D. páginas 109-133. srand(time(0)). 47:67–74. int TOper1[200][200]. float Cmax.ANEXOS : El algoritmo de Johnson es el siguiente: #include<iostream> #include<string> #include<fstream> #include<cmath> #include<math. Torres. Z. (2005). void Programacion(int Secuencia[]. 6. int SecuenciaOp[200]. Metaheurísticos: Una alternativa para la solución de problemas combinatorios en administración de operaciones. “heuristic scheduling system: with applications to production System and project management” publicado por Wiley-IEEE. (1987). C. D. David W. Morton. char t. Michalewicz. Comparison of heuristics for flow shop sequencing. G. Greedy randomized adaptative search procedures. int TiempoMaq. i. int main() { vector<int> Secuencia1. CmaxOp. A. int job. Planeación agregada en la Pyme. 1995.h> #include<vector> #include<algorithm> using namespace std. The International Journal of Management Science. CmaxOp = 200000. int Secuencia[200]. Bogotá. m. Feo y M. T. int m. int a. 10. (1990).h> #include<stdio. int j. Jairo H. Fogel. Bäck.h> #include<time.T. int r).C Turner. Walkowial K.C. Journal of Global Optimization. European Journal of Operational Research. S. int n. Resende. D. Vélez M. maq. 1993. Handbook of Evolutionary Computation. A. Universidad Distrital F. int n.

TOper.j++){ for(i=0. cout <<"\nNumero de Trabajos. j<i.close(). i<n. } for (j=0. Secuencia[i]).i++){ cout << TOper1[i][j] << " ". i. cout <<"\nNumero de Maquinas.\n". abrir >> m.j<m.i<n.end(). Secuencia1.i++){ abrir >>a>>t. } abrir.fail()) { cout << "\nNo se pudo abrir el archivo ".. ofstream escribir. cout << "\nPresione ENTER para terminar" << endl. n.i++){ Secuencia[i]=(0+rand()%n)+1.. cout << TOper[i][j] << " ".open("28Job2Maq. } } } cout<<"\nLa Secuencia Inicial (Aleatoria). for(i=0. TOper[i][j] = a.i<n. int TiempoMaq. } cout << "\n". Programacion(Secuencia. ". exit(1). for(j=0... j. cin.j++){ for(i=0."<<m<<"\n\n". TOper1[i][j] = a. } cout << "\n"... TiempoMaq. m."<<n.i<n. } abrir >> n. j++){ if(Secuencia[i]== Secuencia[j]){ i=i-1. 25 .txt"). r). if (abrir.j<m. for(i=0. int r. } cout<<"\n".ifstream abrir.insert(Secuencia1.get(). abrir. for (j=0. i++){ cout<<Secuencia[i]<<".

int k. TOper1[job-1][maq] = 200000. w=w+1. cout << "\n\nPresione ENTER para terminar" << endl.ignore(256. z=z-1.end(). w=0. j<m.get().k<n. maq = j+1. i++){ cout<<Secuencia[i]<<". Secuencia1. z=n-1. Secuencia[z]). cin. int w. job = i+1. m.'\n'). } cout<<"\n". } } } if(maq==1){ Secuencia[w]=job.. r). j++){ if(TOper1[i][j]<min){ min = TOper1[i][j]. return 0.insert(Secuencia1. } else{ Secuencia[z]=job. ". //Programación Regla de Jonson min = 2000000. Secuencia[w]). // Espera hasta que el usuario presione la tecla de retorno cin. TOper1[job-1][maq-2] = 200000. Secuencia1.i++){ for(j=0. TOper1[job-1][maq-1] = 200000.. TiempoMaq.cout<<"\nSecuencia aplicando Algoritmo de Johnson es.k++){ min=200000. for(i=0. n. Programacion(Secuencia. } 26 . j. } } cout<<"\n". i<n. TOper.insert(Secuencia1. for(i=0. for(k=0.i<n.\n". TOper1[job-1][maq-1] = 200000.begin(). int z. i.

int TInicio1[200][200]. "<<TTerminacion[r-1][j]<<")"<<" ". for(j=0. if(TiempoMaq>TTerminacion[r-1][j-1]){ TInicio[r-1][j] = TiempoMaq. TTerminacion[r-1][j] = TInicio[r-1][j]+TOper[r-1][j]. j<m. int n. } } cout<<"\n". CmaxOp = Cmax. } else{ TInicio[r-1][j] = TTerminacion[r-1][j-1].void Programacion(int Secuencia[]."<<Cmax<<"\n". int r) { int TInicio[200][200]. i<n. j++){ cout<<"\n\n".. i++){ r=Secuencia[i]. int TTerminacion[200][200]. TTerminacion[r-1][j] = TInicio[r-1][j]+TOper[r-1][j]. TiempoMaq = TTerminacion[r-1][j]. i<n. for(i=0. cout<<"\nEl Makespan es (Cmax). i++){ r=Secuencia[i]. } } else{ TiempoMaq = 0. i++){ r=Secuencia[i]. TiempoMaq = TTerminacion[r-1][j]. TTerminacion[r-1][j] = TInicio[r-1][j]+TOper[r-1][j]. float Cmax. TiempoMaq = TTerminacion[r-1][j]. } 27 . } } } } Cmax = TiempoMaq. for(i=0. int i. int TOper[200][200]. j++){ if(j==0){ TiempoMaq = 0. i<n. int TiempoMaq. int m. j<m. CmaxOp. TInicio[r-1][j] = TiempoMaq. int TTerminacion1[200][200]. for(j=0.. for(i=0. cout<<"("<<TInicio[r-1][j]<<". int j.