Vous êtes sur la page 1sur 14

Ttulo del Proyecto Job-Shop Scheduling

Tema del Desarrollo El presente proyecto tiene por objeto el desarrollo de una aplicacin de gestin de las operaciones en un Taller de trabajo, sistema productivo de tipo Job Shop. Bajo esta configuracin, una organizacin fabrica muchos productos diferentes en volmenes que varan entre la unidad y pocas unidades de cada producto. La fabricacin no se realiza en serie, sino en base a pedidos nicos o de pequeas cantidades, llamados rdenes de trabajo. Usualmente estos pedidos difieren en trminos de requerimientos de procesamiento, de material, tiempo y secuenciamiento de tareas y tiempos de preparacin de las maquinarias. Por lo regular implica productos adaptados, diseados a la medida del Solicitante y de naturaleza muy poco repetitiva. En la produccin Job-Shop lo que se trata es obtener un "producto a medida" del Solicitante. Se tomar como base para implementar el sistema un modelo de taller metalrgico (ver Documentacin Anexa, Minutas de Relevamiento), a fin de poder tener una visin sobre un sistema real el cual desarrolle sus operaciones siguiendo la metodologa de JobShop, pudiendo luego adaptarse el sistema resultante de acuerdo a las caractersticas de talleres o centro de operaciones diferentes sin cambios importantes en la estructura del sistema. El modelo de Taller a ser estudiado es el siguiente: Se reciben por parte de los Solicitantes del Taller los pedidos para la realizacin de un conjunto de determinado de trabajos, como la confeccin de uno o ms productos o la realizacin de reparaciones en productos ya elaborados, conformando las rdenes de Trabajo para el correspondiente Solicitante. Una Orden de Trabajo se compone de una o ms Tareas a realizar, y estas, a su vez, de una o ms Operaciones. La diversidad de trabajos realizados en el Taller ocasiona una alta variabilidad en el detalle de las Operaciones que se llevan a cabo, por lo cual sus caractersticas dependen de las Tareas de cada Orden en particular. A fin de agilizar la asignacin de Tareas a rdenes de Trabajo, se elaboran Productos Base que agrupan un conjunto de tareas que comnmente se realizan juntas. El conjunto de tareas de un Producto Base podra modificarse en una Orden en particular, agregando, quitando o modificando tareas, a fin de obtener un producto distinto del producto base. En el Taller se cuenta adems con determinados Recursos, como ser mquinas, herramientas, entre otros. A dichos Recursos se les asignan las Operaciones correspondientes a las Tareas a realizar en cada Orden, en una determinada fecha y hora. Tal asignacin de las Operaciones en los Recursos conforma una secuenciacin de las actividades en cada Recurso, o calendarizacin de las Operaciones (tambin conocido como Scheduling). La calendarizacin o programacin de actividades en un Taller de trabajos (Job-Shop Scheduling, JSS), en el que se trata de determinar en qu tiempos y

en cules recursos las operaciones sern realizadas, es un problema conocido en materia de optimizacin, debido a la complejidad que representa explorar la vasta cantidad de posibilidades y para el cual no existe ningn procedimiento eficiente que obtenga una Programacin (Schedule) ptima. A fin de dar solucin a la mencionada problemtica, se propone la implementacin de tcnicas heursticas derivadas de la Inteligencia Artificial. Dada la descripcin sobre el modelo de organizacin de inters, el presente proyecto tiene principal objetivo el desarrollo de un sistema de informacin que realice el secuenciamiento de Operaciones utilizando algoritmos heursticos para proveer planificaciones que minimicen el tiempo de ejecucin de las Tareas requeridas en conjunto. Dichas Tareas a realizarse ingresaran al sistema a travs de la definicin de rdenes de Trabajo, conteniendo stas un nmero de Tareas a llevarse a cabo para la completitud de la Orden; a su vez, cada Tarea de una Orden de Trabajo estar compuesta por un conjunto de Operaciones que deben realizarse utilizando Recursos especficos de la organizacin. A cada Orden de Trabajo ser asignada una fecha estimada de terminacin, para la cual el sistema deber determinar la fecha mnima en la cual se podrn completar todas las tareas correspondientes a dicha orden, teniendo en cuenta la carga actual de trabajo pendiente a realizar. La terminacin de las rdenes de Trabajo en la fecha prevista (o con anterioridad) es de gran importancia para la organizacin, por lo cual se pretende que el sistema realice una calendarizacin de Operaciones de manera tal que a lo sumo el 5% de las Ordenes de Trabajo no puedan llevarse a cabo antes de la fecha prevista. La utilizacin eficiente de los Recursos (esto es, el disminuir el tiempo ocioso de los mismo) es un requisito cuya prioridad es menor que la entrega de Trabajo a tiempo. Las rdenes de Trabajo podran ingresar al sistema aun cuando ya se ha realizado una programacin en base a rdenes que ingresaron previamente. Por ello, el sistema debe brindar la capacidad de re-planificar la Calendarizacin de Operaciones para cumplir los nuevos requerimientos de trabajo surgidos de las rdenes recientes. Sin embargo, para evitar re-planificaciones continuas de las actividades, este proceso debera realizarse al final de la jornada o en determinados das de la semana.

Debida a la flexibilidad inherente a este tipo de sistema de produccin, donde cada producto se desarrolla en base a requerimientos especficos de un Solicitante en particular, las Operaciones a realizarse dependen de las Tareas de cada Orden en particular. A modo de ejemplo, en un taller metalrgico, en la Operacin de Perforado, dentro de la Tarea de Formado de la Matriz, el dimetro de la perforacin puede diferir segn las especificaciones del Solicitante. La distribucin que sigue la duracin de cada Operacin puede relevarse a fin de poder conocer probabilsticamente el tiempo de ejecucin de una Operacin en una Tarea en particular. De esta manera, a fin de posibilitar la programacin, podra establecerse por ejemplo que la duracin de una Operacin de Perforado, sin importar los detalles, posee una duracin media de 5 minutos.

Objetivos Investigar acerca de la aplicacin de mtodos heursticos y tcnicas provenientes del campo de la Inteligencia Artificial en la resolucin de problemas de decisin de gran complejidad. Desarrollar un sistema de informacin que utilice procesos de programacin inteligentes para dar solucin a la problemtica planteada. Realizar estudio acerca de la factibilidad de implementacin de dicho sistema como herramienta de soporte a la toma de decisiones en una organizacin.

Para el desarrollo del proyecto, el sistema se desarrollar en vista de resolver la problemtica de la programacin de actividades en un Taller de Trabajo, sistema productivo cuyas particularidades ya han sido detalladas. No obstante, el objetivo real de este proyecto es realizar el estudio sobre la aplicacin de procesos que utilicen mtodos heursticos para la resolucin de actividades de toma de decisiones en entornos complejos. Por lo tanto, la investigacin a realizarse puede abstraerse para ser aplicado al tratamiento de problemas de tipo distinto al de la planificacin en un sistema de produccin.

Marco Talleres de Trabajo Los Talleres de Trabajo son normalmente pequeos o medianos emprendimientos dedicados a la manufactura que maneja la produccin por tareas, la cual consiste en un proceso de produccin personalizado o semi-personalizado, tal como rdenes de Pedido de una cantidad de productos relativamente pequea o trabajos en lote. Los talleres de trabajo tpicamente realizan diferentes trabajos (posiblemente de diferentes Solicitantes) de forma simultnea, utilizando maquinas u operarios para realizar las tareas que surgen de los trabajos solicitados. Talleres de Trabajo hace alusin a la produccin de pequeas series de una gran cantidad de productos diferentes, la mayor parte de los cuales requiere una serie o secuencia distinta de pasos de procesamiento1 (Chase, 2004: 97). Este tipo de organizaciones se caracteriza por un bajo volumen de produccin, as como tambin una baja estandarizacin y, con frecuencia, la comercializacin de uno o pocos productos.

Chase, R. Administracin de produccin y operaciones: manufactura y servicios. Bogot, McGraw Hill, 2004.

Scheduling La tarea de Scheduling, tambin llamada gestin del tiempo, se refiere a la creacin de un programa semanal (u horario), como proceso de asignacin de recursos limitados. Scheduling es utilizada principalmente en administracin de empresas y aplicaciones informticas 2(Blazewicz, 2001). Esta tarea suele ser de gran complejidad en ambientes donde el nmero de tareas es de una magnitud considerable y donde se requiere que estas sigan un orden especifico dentro de un conjunto al cual pertenecen. En la teora de la Optimizacin Combinatoria suele hacerse referencia a este tipo de problemas como clase de problemas N-P. Aqu, un nmero de Operaciones debe realizarse y cada una de ellas consiste en utilizar mquinas durante un cierto periodo de tiempo. El problema es encontrar la programacin que realice todas las Operaciones en cada Recurso en la menor cantidad de tiempo posible. Heurstica y Algoritmos Genticos Una heurstica es una tcnica que aumenta la eficiencia de un proceso de bsqueda, posiblemente sacrificando demandas de completitud. Esto quiere decir, que sin explorar todas las soluciones posibles, se exploran aquellas soluciones que la tcnica considere prometedoras, utilizando conocimiento general y especfico del dominio, para obtener soluciones ptimas o cercanas al ptimo. Cuando se aplican a problemas especficos, la eficacia de las tcnicas de bsqueda heursticas depende en gran medida de la forma en que exploten el conocimiento del dominio particular. Los Algoritmos Genticos, pertenecientes a la rama de Computacin Evolutiva, dentro de la Inteligencia Artificial, son algoritmos evolutivos (es decir, basados en las teoras de la evolucin biolgica) que permiten alcanzar soluciones tiles a problemas de optimizacin. El propsito de dichos algoritmos es obtener, de un conjunto aleatorio de potenciales soluciones iniciales, mejores soluciones en relacin a aquellas previamente generadas, de manera iterativa, mediante la aplicacin de una serie de acciones de seleccin, mutacin y cruzamiento, tendientes a optimizar dicho conjunto de soluciones, en base a una mtrica determinada. Esta mtrica est relacionada directa o indirectamente con la funcin objetivo o funcin a optimizar. Los Algoritmos Genticos (AG) son mtodos adaptativos que pueden ser utilizados para implementar bsquedas y problemas de optimizacin. Ellos estn basados en los procesos genticos de organismos biolgicos, codificando una posible solucin a un problema en un cromosoma compuesto por una cadena de bits o caracteres .(Daz, 1996)
3

Blazewicz, J. Scheduling Computer and Manufacturing Processes. Berlin, Springer, 2001. Auch Zeitablaufsteuerung genannt, versteht man die Erstellung eines Ablaufplanes, der Prozessen zeitlich begrenzt Ressourcen zuweist. Scheduling findet hauptschlich in der Betriebswirtschaftslehre und der Informatik Anwendung.
3

Daz, A. Optimizacin Heurstica y Redes Neuronales. Madrid: Editorial Paraninfo, 1996.

Esta tcnica perteneciente a la amplia disciplina de la Inteligencia Artificial utiliza una analoga de la evolucin biolgica y la seleccin natural para optimizar problemas por medio de una bsqueda iterativa de soluciones mejores, partiendo de un conjunto inicial de soluciones posibles. Los Algoritmos Genticos son tcnicas heursticas ampliamente tiles en el campo de la optimizacin, debido a las mltiples ventajas que los hacen ms eficientes para el tratamiento de problemas complejos, en relacin con las metodologas analticas. Entre estas ventajas, se pueden mencionar la cualidad de explorar espacios de soluciones inmensamente grandes, el manejo simultneo de mltiples parmetros a optimizar y un comportamiento independiente del problema tratado, por lo cual el algoritmo realiza cambios aleatorios en las soluciones y una optimizacin en base a una mtrica y sin tener que depender de informacin definida con anterioridad.

El sistema a producirse podra ser utilizado en organizaciones en las cuales sea necesaria la programacin de una gran cantidad de tareas para cumplir con fechas de entregas de trabajos a tiempo. Organizaciones de tal tipo podran ser empresas del sector productivo, como talleres de trabajo o cualquier otro sistema de produccin con alta flexibilidad en la confeccin de productos. Tambin podra aplicarse a empresas o instituciones de prestacin de servicios. El sistema puede ser aplicado a cualquier entorno donde se lleven a cabo tareas en una determinada secuencia, las cuales tengan una duracin conocida (determinstica o probabilstica) y que, siendo estas tareas subobjetivos de un objetivo mayor (por ejemplo, realizar un producto), deban realizarse en conjunto antes de una determinada fecha. Debido a las intenciones de realizar un sistema genrico, sin que este se aplique de manera especfica a un tipo de organizacin en particular, deberan realizarse las modificaciones necesarias a fin de obtener un sistema que responda a necesidades particulares de cada organizacin. Sin embargo, se pretender realizar un sistema que pueda aplicarse en la generalidad de los casos sin grandes modificaciones. Ventaja Competitiva Mediante la realizacin del sistema se pretende dar una buena solucin a una problemtica aun no resuelta, como ser la programacin asistida por computadora del secuenciamiento de tareas en ambientes complejos. Actualmente este proceso se lleva a cabo utilizando criterios arbitrarios y manuales para establecer soluciones (es decir, elegir una calendarizacin o secuencia en particular), en base a criterios que depende del juicio de quien realiza dicha tarea. Este trabajo se torna difcil, si no imposible, en entornos donde la cantidad de tareas a secuenciar se torna demasiado grande, por lo que sera necesario un sistema que asista en la seleccin de dicha secuenciacin (tambin llamada calendarizacin). Para ello, se requiere que el sistema utilice procesos inteligentes para lograr dicho objetivo.

Problemas de este tipo han sido catalogados como Problemas NP dentro de la teora de la complejidad computacional, categora que contiene muchos problemas de bsqueda y de optimizacin para los que se desea saber si existe una cierta solucin o si existe una mejor solucin que las conocidas, en un tiempo razonable. Se han desarrollado muchos estudios para desarrollar algoritmos que resuelvan problemas genricos que pertenezca a la categora de Problemas NP, por lo que se pretende realizar una aplicacin de la investigacin realizada mediante la realizacin de un sistema que resuelva una problemtica especfica, como la programacin de tareas en un sistema de produccin. De obtener resultados satisfactorios de dicha aplicacin, podran lograrse importantes mejoras en el desempeo de organizaciones que dependan de procesos de programacin de tareas.

Glosario (preliminar) Orden de Trabajo: pedido de un Solicitante para la realizacin de un conjunto de tareas, el cual puede consistir en la fabricacin de un producto nuevo como la reparacin de uno existente. Producto Base: modelos de productos definidos para ser adaptados segn las preferencias del Solicitante. Las ordenes de trabajo pueden tomar como referencia algn producto base y adaptarlo aadiendo o quitando tareas segn sea necesario. Calendarizacin: programacin particular de actividades en el tiempo; definicin particular de la secuencia de operaciones en el sistema, en el tiempo y por cada recurso. Solicitante: persona quien extiende el pedido al taller. Equipo servidor: Aloja la base de datos del sistema y el sistema propiamente dicho. Equipo terminal: Aloja el sistema y accede a la base de datos alojada en el servidor.

Diagrama de Actividades (nivel de Contexto)

Se excluyen de este diagrama las actividades de Generacin de Reportes

Diagrama de Actividad de Registro de rdenes de Trabajo

Requerimientos del Usuario Requisitos Funcionales (bajo nivel de detalle) Alta, Baja, Modificacin y Consulta de Ordenes de Trabajos: o Aadir nuevas rdenes de Trabajo a la lista de Ordenes de Trabajo, marcando las recin creadas como pendientes; o Eliminar rdenes de Trabajo canceladas (la eliminacin puede ser lgica o fsica, dependiendo si se quieren mantener o no registros de la Orden cancelada); o Modificacin equivale al seguimiento de cualquier alteracin o cambio sufrido en la Orden correspondiente desde su creacin hasta su finalizacin (registro de tareas completadas, cambios en requerimientos, cambio de estado de la orden de pendiente a finalizada, entre otros); o Consultar las rdenes de Trabajo registrada en el sistema, ya sea sobre rdenes en particular o en conjunto (funcionalidad complementaria con la emisin de reportes). Alta, Baja, Modificacin y Consulta de Productos Base. o Definicin de esquemas de Productos Base que aglomeren un conjunto de Tareas en particular y su incorporacin a la cartera de Productos personalizables; o Eliminacin (lgica) de Productos Base fuera de comercializacin o reemplazados por otros Productos; o Alteracin de un Producto Base por incorporacin de nuevos diseos de Ingeniera de Producto, plasmando los cambios en las tareas que se necesitan para obtener el producto; o Listado de Productos Bases disponibles para su utilizacin en nuevas rdenes. Alta, Baja, Modificacin y Consulta de Tareas o Incorporacin de nuevas Tareas al sistema; o Eliminacin de Tareas que no sern realizadas en el futuro. Se recomienda la eliminacin lgica (inhabilitacin de uso) para conservar los histricos de utilizacin de esta Tarea en Ordenes de Trabajo realizadas; o Alteracin de Tareas existentes; o Listado de Tareas existentes o bsqueda de Tareas en particular.

Alta, Baja, Modificacin y Consulta de Operaciones o Incorporacin de nuevas Operaciones disponibles; o Eliminacin de Operaciones. o Alteracin de las caractersticas generales de la operacin (las caracterices especficas de la operacin, asociada a una Tarea en una Orden, se modifica en las Operaciones correspondientes a la Orden).

Definicin de Operaciones y Tareas para una Orden de Trabajo o Incorporacin de Operaciones a Tareas Trabajo especificas y de Tareas a Ordenes de

o Personalizacin de caractersticas especficas de las Operaciones para las tareas a las que pertenecen. o Clculo estimado de la duracin media (para la ejecucin ininterrumpida) de las Tareas y de la Orden de Trabajo en funcin de las Operaciones contenidas. Alta, Baja, Modificacin y Consulta de Recursos. o Operaciones de registro de los movimientos sobre los recursos de la organizacin: ingreso/egreso de operarios y maquinaria. Este sistema excluye el manejo de stock de la materia prima, la cual se supone disponible para el funcionamiento del mismo. Actualizar Cronograma de Operaciones por Recurso. o Generacin de la calendarizacin de las Operaciones a realizarse en cada Recurso, clculo de tiempo de utilizacin y tiempo ocioso de los recursos como tambin el registro de las Operaciones completadas en cada Orden. Emisin de Cronograma de Operaciones o Presentacin, en resumen y detalle, de las Operaciones de Ordenes de Trabajo a realizarse durante el tiempo disponible de operacin en los turnos de trabajo de cada da, agrupadas por hora, da y semana. Reportes sobre performance del sistema: porcentaje de tareas realizadas a tiempo, carga total del sistema, ocupacin de recursos, entre otras. o Definicin de Informes para el anlisis de desempeo del Taller de Trabajo e incorporacin al conjunto de Informes disponibles. o Eliminacin o modificacin de Informes. o Emisin de Informes para ser visualizados en pantalla o en forma impresa.

Requisitos no Funcionales Requisitos de rendimiento El 95% de las transacciones de altas, bajas, modificaciones y consultas deben realizarse en menos de 1 segundo. La operacin de generacin de secuenciamiento de operaciones no puede exceder los 15 minutos. La generacin de reportes no puede exceder a 1 minuto por reporte. De existir terminales para acceder al servidor, el acceso al sistema desde las terminales debe ser menor a 30 segundos Seguridad El acceso al sistema desde las terminales y el servidor debe realizarse a travs de Usuario y Contrasea Definicin de Perfiles de Usuario para el sistema. Cierre de Sesin de Usuario tras 15 minutos de inactividad. Contrasea mayor a 8 caracteres. Control de integridad de datos. Validacin de la correcta realizacin de las operaciones de ABM (Integridad de la Base de Datos). Control de integridad en el proceso de secuenciamiento de operaciones.

Fiabilidad Recuperacin de informacin ante cortes de energa o fallas en el sistema. Restauracin del sistema en menos de 2 minutos ante eventual falla Estrictas validaciones, principalmente en el proceso de secuenciamiento de operaciones, para evitar calendarizaciones incorrectas. Disponibilidad El Sistema estar disponible al menos un 95% del tiempo. Debe definirse este porcentaje segn los horarios de operacin de la organizacin o del entorno donde este sistema est operando. Por ejemplo, tomando como ejemplo una organizacin que opere los 7 das de la semana en dos turnos de 8 hs, las operaciones como altas, bajas, modificaciones y consultas deben estar disponibles de Lunes a Sbado, con interrupciones no mayores a una hora por turno de trabajo; la funcionalidad para operaciones que se lleven a cabo al horario de cierre (como, por ejemplo, el proceso de calendarizacin o la

generacin de reportes) debe estar disponibles al final del segundo turno cada da, todos los das de Lunes a Sbado; se requiere la disponibilidad del sistema para dems operaciones administrativas y resguardo de la informacin a realizarse los Domingos, o das de parada de las actividades. Mantenibilidad Respaldo de informacin semanal para datos de rdenes de Trabajo, contenida en estas la informacin sobre tareas y operaciones relacionadas. Respaldo de informacin mensual para datos de Productos Base, Recursos, Operaciones y Tareas. Reporte estadstico semanal de utilizacin de Recursos Reporte estadstico mensual de finalizacin de Ordenes de Trabajo a tiempo Reporte mensual de Productos Base ms utilizados para rdenes de Trabajo. Sugerencias de posibles nuevos Productos Base a incorporarse, en base tareas y operaciones que comnmente se realizan juntas en las rdenes de trabajo.

Portabilidad Soporte de Lenguaje C# Soporte a Base de Datos MySQL

Infraestructura mnima y Sistema Fsico Requerido Software Lenguaje de desarrollo elegido: Lenguaje C#, el cual al ser un lenguaje desarrollado y estandarizado por Microsoft, requiere para su utilizacin ejecutarse bajo Windows, con la adicional instalacin de .NET Framework 4.0 como requerimiento mnimo.

Se requiere adems la instalacin de un servidor MySQL y un programa gestor de bases de datos MySQL como SQLyog. Hardware No se presentan grandes requerimientos de hardware, no obstante debe darse el soporte necesario para la presentacin de reportes grficos, una interfaz grfica que responda a requisitos de usabilidad y, lo que es ms importante, proveer la capacidad de procesamiento necesaria para el proceso de calendarizacin, en el cual se insumir gran parte del tiempo de computo del sistema. Por lo tanto, se plantean como requerimientos de hardware del servidor donde estar alojado el sistema una configuracin mnima de 3GB de memoria RAM, un procesador AMD Athlon X2 4000+ o Intel Core2Duo E6400 y 120 GB de almacenamiento en disco rgido. Debe proveerse el hardware necesario para la aplicacin de una arquitectura clienteservidor, como tarjetas de interfaz de red.

Bibliografa CHASE, Richard. 2004. Administracin de produccin y operaciones: manufactura y servicios. Bogot, McGraw Hill. BLAZEWICZ, Jacek. 2001. Scheduling Computer and Manufacturing Processes. Berln, Springer. DIAZ, Adenso. 1996. Optimizacin Heurstica y Redes Neuronales. Madrid, Editorial Paraninfo.

Vous aimerez peut-être aussi