SeqProMaq v4.0.1
Sumario
Descripción preliminar
Este sistema brinda una herramienta computacional para la optimización de dichas secuencias mediante el uso de una metaheurística conocida como Algoritmo Genético. Este se realizó para la EMPROMEC “Cmdte. Manuel Fajardo Rivero” del municipio de Manzanillo entidad cuyo perfil es la construcción de maquinarias y por ende la fabricación de una gran variedad de piezas y partes de estas. Esta empresa, al igual que todas las de su rama en el país, no contaba con una herramienta que permitiera obtener secuencias de fabricación de piezas por tecnología de maquinado que minimizaran el tiempo total de producción, también conocido como makespan; elemento muy importante a tener en cuenta cuando se habla de producción ya que una deficiente programación implica que la empresa incurra en costos adicionales lo que se traduce al final en pérdidas.
Herramientas utilizadas para el desarrollo de la aplicación
El proceso de análisis y diseño del sistema fue realizado a través del Rational Rose Enterprise Edition 2002. La implementación del software está auxiliada por la plataforma Borland C++ Builder 6.0, software propietario de Borland Corporation, herramienta especializada en el desarrollo rápido de aplicaciones.
¿Por qué se utilizó el lenguaje C++ para implementar la aplicación?
C++ tiene la reputación de ser un lenguaje muy poderoso, pero con el poder viene la responsabilidad, el programador debe de conocer una serie de conceptos y reglas de uso. En la actualidad, el C++ es un lenguaje versátil, potente y general. Su éxito entre los programadores profesionales le ha llevado a ocupar el primer puesto como herramienta de desarrollo de aplicaciones, además mantiene las ventajas del C en cuanto a riqueza de operadores y expresiones, flexibilidad, concisión y eficiencia.
Rational Rose Enterprise Edition 2002
En la definición de sistemas, esta herramienta permite que el equipo de desarrollo entienda mejor el problema, que identifique las necesidades del cliente en forma más efectiva y comunique la solución propuesta en forma más clara.
Requerimientos del Sistema
Los requisitos son una descripción de las necesidades o cualidades de un producto. La meta primaria de la fase de requerimientos es identificar y documentar lo que en realidad se necesita, en una forma que claramente se le comunique al cliente y a los miembros del equipo de desarrollo.
Requerimientos funcionales
Analizando las necesidades del usuario se crearon los siguientes requisitos funcionales.
- Crear un nuevo fichero de datos con la información necesaria para la optimización de las secuencias de producción para procesos tecnológicos de maquinado.
- Modificar los datos cargados de un fichero de datos.
- Obtener soluciones utilizando un algoritmo genético (optimizar).
- Configurar los parámetros del método de optimización utilizado (algoritmo genético).
- Visualizar los mejores resultados obtenidos en Diagramas de Gantt.
- Generar un informe con los resultados obtenidos del proceso de optimización.
Requerimientos no funcionales
Apariencia e Interfaz
Se requiere una interfaz gráfica sencilla y amigable, que facilite la manera en que los usuarios entran y procesan los datos. La interfaz debe brindar la mayor cantidad de información al usuario.
Usabilidad
El sistema debe estar diseñado para ser utilizado por los usuarios avanzados como no avanzados. Debe ser un sistema fácil de usar e intuitivo que le de el control de la aplicación al usuario.
Rendimiento
El procesamiento de los datos se realiza de forma rápida, por lo que la respuesta final se obtiene en un tiempo corto. Los algoritmos matemáticos utilizados tienen un alto grado de eficiencia.
Confiabilidad
Se debe implementar mecanismos de protección contra fallos así como de recuperación con el objetivo de que si existen fallos en el sistema no se pierda la información. Además los resultados brindados por el sistema como resultado de los datos iniciales deben tener el máximo de calidad y un 100% de confiabilidad. Teniendo en cuenta que este resultado formará parte de un proceso productivo y que un error costaría serias perdidas en cuanto a costo y tiempo de trabajo. Requerimientos de Hardware
Para que el sistema trabaje de forma óptima se necesita una computadora con una memoria RAM de 256 MB y un microprocesador de 1.7 GHz o de velocidad como mínimo.
Requerimientos del Software
Es necesario para el correcto funcionamiento del software que se tenga instalado Windows 2000, alguna versión de XP o superior.
En cuanto a Requisitos Legales
El empleo de este producto no deberá violar ninguna ley o licencia asociada a este.
Análisis de los tiempos de ejecución
Para demostrar las mejoras que se obtienen con el empleo del algoritmo genético en cuanto al costo computacional, se creó esta aplicación que utiliza una enumeración completa para resolver el job-shop scheduling. Las pruebas se hicieron en una PC Pentium 4 - DUAL Core a 3.00 GHz de velocidad y 512 de RAM. El algoritmo genético se corrió por 500 generaciones con un tamaño de población de 100 individuos. los tiempos de ejecución que se obtienen con el algoritmo genético son inferiores en casi todos los casos a los que se obtienen mediante el empleo del enfoque enumerativo. Este análisis evidenció lo intratable que se vuelve el jobshop scheduling al usar un enfoque enumerativo, pues los tiempos de ejecución crecen rápidamente a medida que se incluyen más piezas, al punto de hacerse prácticamente incalculable para instancias del problema mayor a 13 piezas, con lo que demuestra la potencia y la efectividad del algoritmo genético frente a problemas de optimización combinatoria.
Logros obtenidos con este sistema
- Se obtuvo un algoritmo para el cálculo del tiempo total de fabricación de una secuencia de tareas (makespan) para la fabricación de piezas mediante tecnología de maquinado convencional.
- La representación del problema mediante un grafo disyuntivo, resultó ser válida.
- Se comprobó que la utilización de un Algoritmo Genético como método de optimización aplicado al problema de la secuenciación de tareas (Job Shop Scheduling Problem) resuelve éste en un tiempo de cómputo razonable ofreciendo buenas soluciones.
- Se logró representar gráficamente la solución del problema mediante un diagrama de Gantt, con lo que se ilustra más detalladamente el desarrollo del proceso de fabricación.
- La obtención de una secuencia de producción óptima influye significativamente en la reducción del tiempo total de ejecución (makespan), con lo que se logra minimizar los tiempos de interrupción del proceso, lo que significa un uso más racional de las máquinas - herramientas y con ello un aumento de su vida útil.
Véase también
Fuentes
- Ing. José M. Márquez Delgado, MsC.
- Ing. Carlos R. Márquez Delgado.