divisiÓn deestudios de posgrado · industrial saltillo se está convencido que se dará inicio a...

69
CORPORACIÓN MEXICANA DE INVESTIGACIÓN EN MATERIALES DIVISIÓN DE ESTUDIOS DE POSGRADO 5* *S& CIENCIA Y TECNOLOGÍA COMIMSA EXPLORACIÓN DE TÉCNICAS DE OPTIMIZACION PARA LA PROGRAMACIÓN DE TAREAS CON PRECEDENCIA POR JAVIER ALEJANDRO HERRERA ZAMORA TESIS MAESTRO EN CIENCIA Y TECNOLOGÍA CON ESPECIALIDAD EN INGENIERÍA INDUSTRIAL Y DE MANUFACTURA SALTILLO, COAHUILA. 13 DE MARZO DEL 2009

Upload: others

Post on 11-Mar-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

CORPORACIÓN MEXICANA DE INVESTIGACIÓN EN MATERIALES

DIVISIÓN DE ESTUDIOS DE POSGRADO

5*

*S&CIENCIA Y

TECNOLOGÍA

COMIMSA

EXPLORACIÓN DE TÉCNICAS DE OPTIMIZACION PARA LA PROGRAMACIÓN DETAREAS CON PRECEDENCIA

POR

JAVIER ALEJANDRO HERRERA ZAMORA

TESIS

MAESTRO EN CIENCIA Y TECNOLOGÍA CON ESPECIALIDAD EN INGENIERÍAINDUSTRIAL Y DE MANUFACTURA

SALTILLO, COAHUILA. 13 DE MARZO DEL 2009

Corporación Mexicana de Investigación de MaterialesGerencia de Desarrollo Humano

División de Estudios de Posgrado

Los miembros del Comité Tutorial recomendamos que la Tesis "Exploración deTécnicas de Optimización para la Programación de Tareas con Precedencia"realizada por el alumno Javier Alejandro Herrera Zamora con matrícula 026IM3029se aceptada para su defensa como Maestro en Ciencia y Tecnología conEspecialidad en Ingeniería Industrial y de Manufactura

El Comité Tutorial

Tdtor Académico

Dr. Luís Torres Treviño

ínyPlantalos Cruz Murillo

Rodríguez

psgrado

Corporación Mexicana de Investigación en Materiales

Gerencia de Desarrollo Humano

División de Estudios de Postgrado

Los abajo firmantes, miembros del Jurado del Examen de Grado del alumno Javier

Alejandro Herrera Zamora, una vez leída y revisada la tesis titulada "Exploración de

Técnicas de Optimización para la programación de tareas con precedencia",

aceptamos que la referida tesis revisada y corregida sea presentada por el alumno

para aspirar al grado de Maestro en Ciencia y Tecnología con Especialidad en

Ingeniería Industrial y de Manufactura durante el Examen de Grado

correspondiente.

Y para que así conste firmamos la presente a los trece días del mes de marzo del

año dos mil nueve.

Dr. Sergio Ma

Campos

Vocal

Dr. Pedro

Vocal

ueva

Dr. Fra

Ordóñez

Secretario

Javier Barriga

artín Torres Treviño

I. DEDICATORIA

Quiero dedicar este trabajo a quienes han hecho posible que mi vida sea plena yllena de agradecimiento:

Para Karla por su amor incondicionable, su generosidad, su entrega, sudedicación de tiempo completo a nuestros hijos y su apoyo durante estos dos

años que me han permitido conseguir una meta más.

Para Gabriel y Leonardo

Para mis padres Francisco y Elvira

Para mis hermanos Sergio e Imelda

"El ignorante afirma mientras el sabio pregunta"Aristóteles

II. AGRADECIMIENTOS

Este trabajo fue posible gracias a:

La tutoría académica del Dr. Luís Torres quien confió en este proyecto y quien meapoyó en todo momento en el desarrollo de la metodología. Gracias por estar unpaso delante de la investigación y que nos favoreció grandemente para alcanzar laprofundidad que se le dio a esta temática.

Al Ing. Carlos Sergio Cruz aquien considero como tutor en mi carrera profesionaldentro de la compañía Deacero. Gracias por las aportaciones y tiempo que sededicó a este proyecto.

Deacero Planta Aceria Laminación bajo la dirección del Ing. Ernesto Reja y despuésdel Ing. Gabriel Gutiérrez, quienes me permitieron tomar eltiempo para dedicarmeal desarrollo de este trabajo de investigación.

Al Equipo de trabajo Sicade Manufactura quienes durante mi ausencia de labores enlos días de escuela pudieron llevar acabo las funciones y tareas que la organizaciónocupó.

II

III. RESUMEN

La problemática de la programación de tareas para el caso de tipo taller engeneral es difícil de resolver. La complejidad del problema radica en que si setienen m máquinas y n tareas del número total de trabajos a programar serepresenta de la siguiente forma (n!)m. Entonces, un ejemplo que ayuda ver lamagnitud de la problemática es imaginar una situación donde se tienen n=20 ym=10 el número posible de soluciones esde 7.2651 x 10 183.

Adicionalmente la complejidad se incrementa cuando las tareas se identificancomo un conjunto de subtareas que a su vez cuentan con cierta precedencia lacual puede ser única o múltiple. Otro asunto que aumenta la dificultad pararesolver y generar la mejor solución está cuando en el escenario existe unacantidad mayor a uno de maquinas del mismo tipo. Con estas consideracionesse coloca ante una situación aún más desafiante y entonces la utilización de latécnica apropiada para encontrar la solución óptima se convierte en unacuestión a descifrar.

Este trabajo presenta los resultados obtenidos al explorar los beneficios yalcances logrados al aplicar diferentes técnicas de optimización a laproblemática de la programación de tareas en un escenario real. Durante laexperimentación se aplicaron las reglas de secuenciación comunes (heurísticas),búsqueda aleatoria, búsqueda del método del alpinista y algoritmos genéticoscon representación de llaves aleatorias y permutación con el propósito decompararlas como técnicas de optimización para la programación de tareasconsiderando las precedencias múltiples.

III

IV. CONTENIDO

a. Capítulo 1: Introduccióna. Prólogo 01b. Antecedentes 02

c. Objetivos 13> General

> Específicosd. Resultados e impactos esperados 14e. Justificación 15

f. Hipótesis 18

b. Capítulo 2: Planteamiento del problemaa. Representación del problema 19b. Preguntas de investigación 20c. Variables de investigación 21d. Delimitaciones 23

c. Capítulo 3: Marco Teórico para la programación de tareasa. Programación abierta 25b. Programación de tareas (Tipo taller) 25c. Precedencia única 26d. Precedencia múltiple 27

d. Capítulo 4:Técnicas de optimización para la programación de tareasa. Reglas de secuenciación (Heurísticas) 28b. Búsqueda aleatoria 29c. Búsqueda método del alpinista 30d. Algoritmos Evolutivos con representación de:

i. Permutaciones y 32ii. Llaves aleatorias 34

e. Capítulo 5: Metodología para la Exploración de Técnicas de Optimización para laProgramación de tareasa. Análisis del tipo de tareas 35b. Método de optimización 37

f. Capítulo 6: Aplicación casode la programación: Taller Sicade DeAcero 39g. Conclusiones 55

IV

1. INTRODUCCIÓN

1.1 Prólogo

Este trabajo presenta una comparación entre diversos algoritmos deoptimización, de búsqueda local y reglas de secuenciación (heurísticas) aplicados aun taller de máquinas y herramientas en donde los mismos trabajos contienenmúltiples precedencias.

El problema es extraído de un escenario real donde se maquinan diferentesproductos con la finalidad de entrenar a los usuarios en el manejo de los equiposconvencionales del taller así como simular un proceso productivo controlado quepermita capitalizar el aprendizaje al trabajar en este tipo de ambientes.

La programación de las actividades de fabricación y ensamble de estosdispositivos se llevan a cabo siguiendo la regla de secuenciación (heurística) deprimera llegada, primera salida o bien por sus siglas en inglés FIFO, sin embargo, sepuede mejorar el desempeño del taller para fabricar más piezas y optimizar el usodel equipo si las actividades son programadas por medio de alguna técnica deoptimización distinta.

Con el objetivo de conocer el mejor método se somete este escenario a lassiguientes herramientas de optimización: las reglas de secuenciación, la búsquedaaleatoria, la búsqueda del método del alpinista y los algoritmos genéticos conrepresentación de llavesaleatoriasy permutaciones.

tiÜMÉÜÜil

1.2 Antecedentes

Actualmente la globalización ha permitido que entre las organizaciones delmismo sector las ventajascompetitivasse reduzcan teniendo así retos cada vez másexigentes en el desarrollo de nuevas tecnologías y/o sistemas que permitan laflexibilidad en los procesos, la reducción de los costos operativos y la variedad deproductos.

Ante estos nuevos retos, existen algunas preguntas que se deben plantear:

> ¿Estaremos visualizando en qué lugar quedaría el factor de competenciaspersonales?

> El capital intelectual se ha convertido en el nombre del juego, sin embargo,¿Qué estamos haciendo para desarrollarlo?

En Deacero, se cuenta con un Centro de Desarrollo de Competencias buscandogarantizar una preparación sólida en habilidades técnicas y sociales de nuestroscolaboradores.

Actualmente el Centro de Desarrollo de Competencias brinda entrenamiento através de los conocimientos teóricos y la aplicación práctica en la operación demáquinas y herramientas convencionales como la fresadora y el torno con el fin deque el personal adopte diferentes facultades. Ver Tabla 1.1

Tabla 1.1 Hábitos del Taller Sicade

Disciplina Planeación

Respeto Oden y Limpieza

Honradez Conciencia en Seguridad

Responsividad Apego a Procedimientos

Puntualidad Logro de Metas

Competitividad Pericia

Constancia Trabajo en Equipo

Apertura Ahorro

Con el propósito de garantizar el objetivo de desarrollar estas facultades en elpersonal se cuenta con el Proceso de Entrenamiento llamado Inmersión, el cualconsiste en tener durante 15 semanas consecutivas de jornadas diarias de 8 horas atrabajadores previamente seleccionados con un máximo de 10 personas por turno.

En un total de 720 horas los participantes del Programa de Inmersión seenfrentan a un escenario retador con el objetivo de obtener una formaciónprofesional a través de un ambiente simulado de producción tipo taller. Con esto selogra que durante 90 días tomen decisiones importantes sobre la programación detareas y objetivos de producción que deben cumplir.

Con todo ello se busca asegurar que los alumnos adquieran la capacidad para lasolución de problemas, aprendan a implementar tareas en cooperación con otros,desarrollen las competencias técnicas, administrativas y sociales que le permitanenfocarse para lograr que los objetivos se cumplan y a su vez se conviertan en unagente de cambio para los diferentes entornos en donde se relacionan.

En la figura 1.1 se describe la programación de tareas durante el proceso dedesarrollo de las 15 semanas de entrenamiento.

N'E

jerc

ido

i1

23

45

Figu

ra1.

1P

rog

ram

ació

nS

ema

78

91

0U

12

13

ial

Tall

er

Sic

a

14

15

16

de 1

7

;v1-

11

19

20

21

22

23

24

i2

S2

62

7

Act

ivid

ad.f

C^J

-!.

...

*=

3^

>i.,

m5T

5.••

ffl

'V

l^

>m

•e.

"¿^5

>s

RT

fn

aa

¡^•1

AIU

ST

AN

DO

«IM

AN

OO

••1

•!

DO

MA

ND

O

—J

ri

HB

M

im

•A

VIL

LA

NA

DO

AtO

CA

AO

AD

O

TA

IAD

UN

DO

;*

•C

OR

TA

ND

OA

TU

UA

•C

INC

HA

ND

O

j^

•C

ITA

MM

OO

1IN

OIK

2A

ND

O

l](C

HIM

AN

DO

CO

NM

AU

TIU

O

C0

*1

AN

DO

CO

NU

GL

K1

A

•"•

rtM

TfA

ND

O

•_

•L

IMA

ND

O

•M

M

1_

f•

Jm

•.

MID

IEN

DO

I"

nA

HU

TA

KM

Ti.

'/

MO

CK

Y

—~

En la tablg 1.2 se destaca la distribución de horas de trabajo en los distintostópicos:

Tabla 1.2 Distribución de temáticas por horas

Tópicos Objetivos Hrs

Dibujo técnico industrial Percepción Espacial Habilidad de Interpretación 192

Ajuste fino en banco Aplicación Metrología Ensambles Precisión 192

Máquinas y herramientas Proceso Integrador Simular proceso fabricación 288

Hidráulica básica Aplicaciones Prácticas Conservación y Mantenimiento 48

720

Así mismo, el proceso de inmersión pretende los siguientes beneficios:

a. Apoyar el desarrollo de la empresa con base en colaboradores calificadosquienes tendrían mas oportunidades de conoceravances tecnológicos

b. Instalar en los participantes la cultura de trabajo basada en principios

c. Formar colaboradores dinámicos y flexibles de acuerdo con las exigencias dela organización

d. Incorporar colaboradores motivados y con los conocimientos teóricos yprácticos necesarios para operar con disciplina

e. Lograr un entrenamiento y formación vivencial

Con todo este esfuerzo organizacional que grupo Deacero realiza en el ComplejoIndustrial Saltillo se está convencido que se dará inicio a la creación de un nuevomodelo de educación para adultos sin precedentes en la empresa. Y bajo la premisade marcar una pauta para esfuerzos similares en el futuro se está en la búsquedaconstante de enriquecer el programa de inmersión con las mejores condiciones deaprendizaje y desempeño del personal durante las 15 semanas de entrenamiento.Esto representa revisar los procesos actuales con respecto al diseño de contenidosasí como de la misma ejecución de las tareas que se realizan en el taller, los tiemposinvertidos para los diferentes tipos de actividades y ello conduce a tomar esteescenario de aplicación como fuente de análisis e investigación bajos losparadigmas recientes de optimización.

En la figura 1.2 se representa en diagrama de flujo la manera en que cada ejerciciose conduce bajo el diseño general típico.

Figura 1.2 Diagrama de Conducción del Ejercicio

Adquisición de

ConocimientoInterpretar

y Definir

Planearla

Ejecución

Mejorar lo

Realizado

Ejecutar la

Operación

Evaluar y

Controlar

El taller Sicade inició operaciones en febrero del 2006 buscando dar énfasis alproceso de planeación durante el entrenamiento reconociendo que éste elementopermite tomar decisiones de manera anticipada y además ésta competenciaorganizacional representa un aspecto clave para la operación de la planta. Esteénfasis permitió además otorgar una ponderación subjetiva a cada proceso descritaen la tabla 1.3 y de esta forma permitir priorizar el nivel de detalle para cadaelemento.

Tabla 1.3 Peso por Elemento de Diseño de Contenidos

No. Elemento Ponderación

1 Adquisición de Conocimiento 20%

2 Interpretar y Definir 10%

3 Planear la Ejecución 25%

4 Tomar Decisiones 15%

5 Ejecutar la Operación 15%

6 Evaluar y Controlar 5%

7 Mejorar lo realizado 10%

Con ello se busca que el proceso de planeación además de ser el elemento quetiene mas porcentaje de ponderación durante el proceso de inmersión se conviertaen el punto a desarrollar de la mejor manera ya que es precisamente en función delmismo se alcanza el nivel de éxito del programa de entrenamiento.

Los datos que se muestran en las tablas 1.4, 1.5, 1.6, 1.7 y1.8 así como las figuras1.3,1.4 y1.5 representan el promedio de los primeros seis grupos que recibieron suentrenamiento. Información adicional sobre los datos particulares pueden serconsultadas en el Anexo 3.

Los conceptos que están directamente relacionados con el proceso de planeaciónson los siguientes:

a) Distribución de tiemposb) Fechas de entregac) Tiempo promedio de ejecución ydesviación estándar por ejerciciod) Problemas de entrega oportuna o tardanzae) Cantidad de subtareas por productof) Costo de fabricacióng) Diferencia entre turnosh) Cumplimiento en la ejecución

Acontinuación cada uno de los conceptos anteriores se define yse proporciona unareferencia sobre el mismo.

Distribución de tiempos

En la figura 1.3 describe el porcentaje del tiempo que se invierte en las actividadesdel taller al inicial el proceso de investigación.

Figura 1.3 Distribución de Tiempos

Tiempo Muerto. Planear 11.0?%21.14% I

Mantenimiento

Autónomo 11.84%|

Ejecutar 35.40%

Habilitar 20.33%

Fechas de Entrega

Los compromisos representados para cada maquinado que se pueden desarrollaren el Taller a fin de dar la cobertura total al programa logrando satisfactoriamentecubrir las horas disponibles están expresados en la tabla 1.4

Tabla 1.4 Fechas de Entrega

No. Orden Producto Fecha Entrega (Hrs)1-4 Cuñas (De la 1 a la 4 - 12c/u) 48

5 Bloque en V 96

6 Martillo de Piezas Intercambiables 144

7 Mecanismo de 2 Levas 216

8 Taladro 264

9 Fresadora 312

10 Transportador de Balines 360

11 Torno 408

12 Cruceta 432

Tiempos Promedio de Ejecución y Desviación Estándar de los Ejercicios

En gran medida las desviaciones que presentaba el sistema obedecen al descontrolexistente en la programación de tareas y la falta del uso apropiado de la capacidaddel taller provocando con esto los tiempos muertos. Ver tabla 1.5.

Tabla 1.5 Tiempo Promedio

Promedio (Hrs) Desviación Std

1 Mecanismo 2 Levas 30.63 5.65

2 Taladro 24.8 5.15

3 Cuña 1401125 3.10 0.73

4 Cuña 1401123 2.92 1.12

5 Cuña 1401118 3.02 1.07

6 Cuña 14158016 2.52 0.77

7 Martillo 12 2.92

8 Bloque en V 3.46 1.28

Problemas de Entrega Oportuna o TardanzaEn la tabla 1.6 se muestra la situación del escenario de trabajo al iniciar los estudiosde análisis en lo que respecta al concepto de tardanza.

La tardanza es la diferencia positiva entre el tiempo de terminación (tiempo deflujo) y la fecha de entrega de un trabajo según Nahmias (1997). Un trabajo tardíoes aquel que se concluye después de su tiempo de entrega. El retardo se refiere a ladiferencia entre el tiempo de terminación del trabajo y su fecha de entrega, y esdiferente de la tardanza porque el retardo puede ser positivo o negativo.

Cuando en un escenario similar al que hemos descrito cuenta con una tardanzapequeña o nula podemos suponer que lleva un proceso de planeación integrado yun control de proceso de ejecución adecuado debido a que están concretando lastareas en las fechas compromiso establecidas.

Tabla 1.6 Tardanza

Producto Compromiso (Hrs) Terminó (Hrs) Diferencia

1 Cuña 14158016 12 16.56 4.56

2 Cuña 1401123 36 36.53 0.53

3 Cuña 1401118 24 55.47 31.47

4 Cuña 14011125 48 72.56 24.56

5 Bloque en V 96 93.59 0

6 Martillo 144 163.73 19.73

7 Mecanismo 2 Levas 216 299.83 83.83

8 Taladro 264 475.53 211.53

Estos datos identifican varias aristas en la problemática que se tiene aladministrar y programar las tareas en el taller bajo las siguientes características:

> Tiempo promedio de procesamientos altos

> Diferencias elevadas de tiempo entre el primer y el último trabajo de cadaejercicio y por lo tanto las desviaciones estándar son de rango amplio

> Fechas de entrega definidas a partir de un programa global

> Resultado de fabricación de solo 8 ejercicios cuando la expectativa es de 12

> Diferencias entre el tiempo de entrega y el tiempo de procesamientoaltos

> Conforme se avanza en el programa de inmersión la tardanza incrementaproporcionalmente por tener tareas pendientes

Cantidad (Je Subtareas por ProductoLa tabla 1.7 muestra para cada producto la cantidad de subtareas que ésta contiene.Esta interpretación adicional de planteamiento del problema trae una afectacióndirecta ya que se incrementa la cantidad de tareas a considerar durante laprogramación y porconsecuencia la complejidad aumenta.

Tabla 1.7 Subtareas por Producto

Producto Tiempo Proceso (Hrs) Subtareas

1 Cuña 14158016 1.55 4

2 Cuña 1401118 1.69 4

3 Cuña 1401123 1.87 4

4 Cuña 14011125 2.49 4

5 Bloque en V 3.418 3

6 Martillo 11.160 8

7 Mecanismo 2 Levas 19.46 38

8 Cruceta 5.93 7

9 Taladro 18.35 44

amp iar el concepto de progranlación al nivel de subtareas se obtiene

situación distinta ya que bajo este concepto implica situarse en un esquema detrabajo que permite la interacción a undetalle y permutación mayor.

Costo de FabricaciónEn la tabla 1.8 cada producto tiene un costo de fabricación el que particularmenteinteresa medirse y mejorar.

Tabla 1.8 Costo de Fabricación

Costo (Pesos)

1 Cuña 14158016 $3.56

2 Cuña 1401118 $5.34

3 Cuña 1401123 $2

4 Cuña 14011125 $12

5 Bloque en V $41.11

6 Martillo $ 67.94

7 Mecanismo 2 Levas $ 69.81

8 Taladro $ 78 .78

10

Diferencia entre Turnos

En la figura 1.4 se muestra la diferencia que existe entre los dos turnos en los queopera el taller en las principales actividades que se realizan durante el proceso deinmersión.

Figura 1.4 Diferencia entreTurnos (Comparación Grupo 5y6)

15 00%

Ejecuta! Mantenimiento tiempo MuertoAutónomo

i leí Tumo B2do Turno

Cumplimiento en la EjecuciónEn la figura 1.5 se identifica el porcentaje de cumplimiento al programa deactividades llamado cumplimiento. En promedio, ambos turnos tienen un 86% decumplimiento.

Figura 1.5 Cumplimiento por Turnos (Comparación Grupo 5y 6)78% ao-% 82% 84% 8*% 88% TO% »2%

40 60 80 100 120 140

• tiempo fsttmodo • TiempoBeal «Asertlvtdad

160 180

11

Con todos estos elementos se proporciona el marco de referencia general sobre elestado inicial del proceso de Inmersión al iniciar la investigación científica, dejandoen claro que el siguiente listado es el resumen de las características operativas parael taller Sicade:

> Se invierte un 11% del Tiempo en la planeación

> Se cuenta con método empírico para la asignación de tareas

> El tiempo muerto o tiempo no registrado promedia el 21.14%

> Existe una falta de estandarización para la fabricación de las piezas

> El nivel de cumplimiento promedio es del 86%

12

1.3 Objetivos

El objetivo de investigación que se persigue está declarado como:

Encontrar la mejor solución al problema de programación de tareas conprecedencia múltiple, explorando y comparando diversas técnicas de optimización,como el uso de reglas especificas de secuenciación (heurísticas), algoritmos debúsqueda local como método del alpinista y búsqueda aleatoria, además dealgoritmos evolutivos con representación de llaves aleatorias y permutaciones, en lafabricación de piezas maquinadas en fresadoras, taladros y tornos convencionalesmanuales.

Adicionalmente, se tienen los siguientes objetivos específicos y operativos:

• Minimizar la tardanza promedio y la máxima tardanza

• Minimizar el costo de oportunidad al fabricar en tiempo y de acuerdo alprograma las tareas correspondientes

• Aprovecharal máximo el tiempo disponible de fabricación

• Reducir el tiempo muerto del taller en la programación de tareas

• Aprovecharla programación de tareas aplicando tareas simultaneas

13

1.4 Resultados e Impactos Esperados

Los impactos que se alcanzaron al final de esta investigación son:

Desarrollo de una herramienta práctica de aplicación en Matlab® que utilizadiferentes técnicas de optimización y garantiza la mejor solución para laproblemática de programación de tareas con precedencia

Implementación de la práctica de optimización para reducir el tiempo deplaneación original y los tiempos muertos así como familiarizarse con losconceptos de inteligencia artificial en la programación de tareas conprecedencia al utilizar el concepto de algoritmos genéticos en un escenarioreal.

Estandarización de las prácticas de planeación de tareas para ambos turnose incrementar el nivel de cumplimiento en 95 % para la ejecución de lasmismas.

Desarrollo de una nueva metodología para el análisis de la programación detareas con precedencia múltiple utilizando algoritmos genéticos como lamejor práctica para la definición de secuencias óptimas.

14

1.5 Justificación

En general la problemática de la programación tipo taller es difícil de resolver. Lacomplejidad radica en que se tienen m máquinas y n tareas del número total detrabajos a programar de tal manera que este escenario típico del problema sepuede representar como (n!)m así que si tienes una n= 20 y una m = 10 el número

183total de posibles soluciones esta dado por 7.2651 x 10

La problemática tipo taller es NP completo si se tiene una m > 3 o n > 3, dondem representa la cantidad de máquinas y n la cantidad de tareas. Hablamos de queun problema es NP completo si el algoritmo de solución puede traducirse a uno queresuelvacualquier problema en un tiempo polinomio no determinístico.

Para el caso en particular se tienen las siguientes características identificadas bajo lafigura 1.6:

Figura 1.6 Diagrama de Secuencias

Mecanismo 2 Levas

(iH»}-*®—

(=M=M3-

Cruceta

Cuñas©—i

(*H2K5H5)(SMEM^@ •<&(HHHM5H5) (£)-

©-

Martillo

Taladro

(•*)—•(•*)—»{88}

Bloque en V

Q-Q—@

15

De tal manera que se puede decir que para la fabricación de 9 artículosdiferentes en el Centro de Desarrollo de Competencias de Grupo Deacero en elComplejo Industrial Saltillo utilizando tornos, fresadoras y taladros convencionales,así como bancos de trabajo para el ensamble de las piezas tenemos:

• m = 23 donde son las máquinas o estaciones de trabajo disponibles• n = 116 subtareas para 9 artículos diferentes

23Yla representación de esta situación sería: (116!)

Cabe mencionar además que de las 23 máquinas se clasifican en 5 tipos distintos lascuales son:

1. Mesa de Trazo,

2. Torno,

3. Fresadora,

4. Taladro y

5. Mesa de Ensamble

Además de la representación gráfica mostrada anteriormente, se da a conocer latabla 1.9 con las características de la programación tipo taller donde se identificanlas variables claves de entrada para atender esta problemática.

Tabla 1.9 Variables Claves de Entrada para Problemática

TareaSub

Tarea

Tipo de

Máquinas

Máxima Cantidad

de Precedencias

Tiempo de

Procesamiento (Hrs)Bloque en V 3 1,3,5 1 34.18

Martillo 8 2,3,5 2 111.60

Cuña3 4 1,3,4,5 1 18.72

Cuña5 4 1,3,4,5 1 20.95

Cuña6 4 1,3,4,5 1 15.53

Cuña8 4 1,3,4,5 1 16.95

Cruceta 7 3,5 6 59.30

Mee. 2 Levas 38 1,2,3,4,5 6 194.66

Taladro 44 1,2,3,4,5 10 183.54

Entonces, el problema incrementa en su complejidad cuando las tareas sedividen en subtareas y estas a su vez cuentan con precedencia ya sea única omúltiple. Adicionalmente, en los escenarios reales se cuenta con diferentes

máquinas del mismo tipo dando un desafío aún más retador ya que los resultadosesperados tienen que ver con encontrar el menor tiempo de procesamiento y elmáximo aprovechamiento de las máquinas.

16

Con esto se dice que encontrar la técnica de optimización más adecuada y queproporcione el mejor resultado se convierte en la pregunta aresolver yla cuestión adescifrar.

Existen diferentes técnicas para la solución de problemas de la programación detareas yla optimización de representaciones combinatorias, sin embargo, se decideaplicar yplantear tres grupos de diferentes alternativas las cuales fueron:

> Reglas de secuenciación especifica (Open Shop)> Algoritmos de Búsqueda Local (Job Shop precedencia única) y> Búsqueda Local usando el Método del Alpinista (Job Shop precedencia

múltiple)> Algoritmos Genéticos (Open Shop yJob Shop precedencia múltiple)

Este grupo de técnicas de optimización fueron seleccionadas por el interésparticular del autor de esta tesis y su tutor académico con el propósito deconocerlas yconstruir un escenario de comparación entre las mismas. Este trabajoes un estudio preliminar para este tipo de problemática en este grupo deherramientas de optimización.

17

1.6 Hipótesis

Dado el problema anteriormente citado, se describe que es necesario encontrarla técnica de optimización más adecuada haciendo una exploración inicial con reglasde secuenciación y después sometiendo el mismo escenario a algoritmos debúsqueda local para finalmente aplicar los algoritmos genéticos con representaciónde llaves aleatorias y permutaciones. Esta secuencia de exploración ayudó a evaluary conocer las ventajas y beneficios que cada técnica tiene en la utilización de estaproblemática de programación de tareas con precedencia múltiple.

Tenemos entonces como hipótesis nula la siguiente declaración:

Ho: Para la programación tipo taller en un escenario donde existen precedenciasmúltiples y se tienen 9 trabajos completos por fabricar se sugiere que las reglas desecuenciación (heurísticas) pueden ofrecer mejores soluciones que la aplicación delosalgoritmos de búsqueda local y algoritmos genéticos.

Y la hipótesis alternativa se expresa como:

Ha: Para la programación tipo taller en un escenario donde existen precedenciasmúltiples y se tienen 9 trabajos completos por fabricar se sugiere que las reglas desecuenciación (heurísticas) no pueden ofrecer mejores soluciones que la aplicaciónde los algoritmos búsqueda local y algoritmos genéticos.

18

2 PLANTEAMIENTO DEL PROBLEMA

2.1 Representacióndel Problema

La manera más adecuada de representar el problema es que en función delacomodo de la programación de tareas tenemos distintos tiempos totales de flujo

La Figura 2.1 servirá para ilustrar el comentario anterior.

Figura 2.1 Tiempos totales de termino con diferente permutación

5eq.l

Seq.2

Cuñas

141*8016

16.56

Curtes Cuñas

14011123 í 140111»

19.97 118.94

+Cuite* ¡ Bíoqu*

14011125 ! ««V

17,09! 21,03

8

Martillo !\ Mee. 2

UvasTaladro

70.14 i 136.1 175.7

1208.4

1261.8

En este ejemplo en particular se hace la comparación de dos representaciones depermutaciones, una lista de enteros que representan las tareas yque no se repiten,acomodadas en diferente orden debido a la utilización de diferentes reglas desecuenciación. Para la secuencia numero uno (Sec.l) se tiene la regla desecuenciación de tiempo mínimo de procesamiento mientras que para la secuencianumero dos (Sec.2) se aplica el concepto de relación critica ycon ello se observadiferentes tiempos totales de flujo. En el anexo 3 se describen los cálculos paraestas operaciones.

Entonces, se tiene que el resultado del tiempo total del flujo está directamenterelacionado en función del acomodo de las diferentes tareas entre sí ycon ello seidentifica la variedad de oportunidades que ofrece esta problemática^ Paraaprovechar esta diversidad de alternativas de solución, se propone trabajar bajo elmodelo exploratorio de distintas técnicas de optimización que ayuden asimular,predecir y optimizar los procesos de planeación en la fabricación de piezasmaquinadas. La tarea de investigación estará enfocada en encontrar yaplicar lasvarias herramientas que ofrezcan trabajar con diferentes esquemas derepresentación de permutaciones.2.2 Preguntas de Investigación

19

Las preguutas de investigación alas que se dará respuesta con el proyecto de tesispresentado en este documento son:

• ¿Cuál es la capacidad de fabricación del taller durante las 720 horasdisponibles si logramos aplicar una metodología de planeación de tareasadecuadas?

• ¿Qué tipo de programación es la más conveniente para optimizar lostiempos deejecución: Paralelo o Secuencial?

• ¿Qué herramientas o técnicas de optimización se deben utilizar cuando lacomplejidad de la naturaleza de la propia tarea aumenta (precedenciasmúltiples)?

• ¿Qué beneficios se obtienen al utilizar los algoritmos evolutivos comotécnica de optimización para la programación de tareas?

• ¿Qué técnica de optimización logrará reducir el tiempo total de flujo deltaller de acuerdo a las condiciones actuales de su propio proceso?

20

2.3 Variable&de Investigación

Las variables en un proceso de investigación representan un concepto de vitalimportancia ya que es a través de ellas que se delimita de manera estructurada elambiente de trabajo en donde se situará el análisis de las circunstancias,problemáticas o fenómeno experimental.

Las variables son características de la realidad determinadas por la observaciónque pueden mostrar diferentes valores de una unidad de observación a otra dandoasí diferentes explicaciones en función del ámbito en donde se desenvuelve elsentido de la investigación.

Esta breve explicación respecto al concepto sobre las variables se quiere dejarlopreviamente declarado ya que es en gran medida que el proyecto de investigaciónesta acotado y contextualizado bajo los paradigmas que estas mismas variables hanpermitido desarrollar el estudio.

De acuerdo al escenario que se esta planteando referente a la programación detareas tipo taller se encuentra que las variables estarán representadas de lasiguiente forma:

Variables dependientes:

Este tipo de variables se refieren a las características de la realidad de laproblemática que se ven determinadas o que dependen del valor que asuman otrosfenómenos de manera independiente.

• Tiempo total de término que está dado como el tiempo total que transcurredesde el inicio del primer trabajo en la primera máquina hasta laterminación total de los trabajos. En forma equivalente, es la cantidad detiempo que pasa el trabajo en el sistema de operación total.

• Tiempo máximo de término se define como el máximo valor de los tiemposcompletados, es equivalente al tiempo de término del último trabajo cuandodeja el sistema. Cuando se hace comparación entre valores de tiempomáximo de término el valor mínimo implica una alta utilización de máquinas.

• Secuencia óptima (Ordenamiento). Está descrita como el orden de trabajosque nos ofrece la solución óptima al aprovechar al máximo la utilización demáquinas, cumplir con las reglas de precedencia, tomar en cuenta lasrestricciones y por consecuencia obtener el menor tiempo total de flujo.

21

Variables independientes:

Para este tipo de variables independientes se puede decir que su definición está enfunción de los cambios que hay en el valor de estas variables, entonces, estasvariables determinarán los cambios en el valor de la variable dependiente.

• Tipos de programación son las maneras distintas en las que se puedevisualizar el conjunto de trabajos por procesarse en un conjunto demáquinas. Para nuestro modelo de investigación estaremos utilizandoprogramación abierta y programación tipo taller.

• Técnicas de optimización son las estrategias sobre las cuales se resolverá laproblemática de los tipos de programación. Estas a su vez cuentan concaracterísticas específicas y proponen desde un entorno particular unapropuesta de solución bajo determinadas premisas.

• Cantidad de trabajos esta dado por el número total de productoscompletados que serán objeto del análisis durante la investigación

• Cantidad de subtareas es la manera en como se desglosa una actividad,tarea o trabajo. Este modo de división trae ventajas en nuestro sistema yaque hace que el escenario de decisión aumente exponencialmente almomento de buscar el ordenamiento o secuencia óptima.

• Tipos de máquinas está dado por los diferentes equipos de transformacióncon los que se cuenta en el escenario tipo taller para fabricar las tareas ytrabajos

• Precedencia es la prioridad que se le da a una tarea o subtareas en funciónde un protocolo determinado, para nuestro caso de análisis está dado por lasecuencia para completar el trabajo o producto.

• Tiempo de procesamiento es la cantidad en unidad de tiempo que llevatransformar un producto en una estación de trabajo

22

2.4 Delimjtaciones

A fin de clarificar los alcances que esta investigación propuso se tienen que definirbajo el contexto en el que se sitúa tomando en cuenta los siguientes conceptos:

• Centro de Desarrollo de Competencias

El análisis de la programación tipo taller para este estudio aplica solo para elescenario que se presenta en el taller Sicade o Centro de Desarrollo deCompetencias, teniendo por ventaja que se trata de un escenario controladoy donde la prioridad de demanda de producción está dada por los objetivosdel contexto educativo. Con ello se dice que el objetivo de conseguir unamejor programación es para reducir el tiempo total de flujo y buscarprincipalmente ganar más tiempo para tener mayores oportunidades derealizar prácticas o ejercicios distintos y con ello beneficiar el aprendizaje.

• Proceso de Planeación

Se distinguen dos procesos de planeación en el escenario de estudio. Unoreferente a un trabajo en equipo que permite desarrollar algunascompetencias especificas referentes al como estructurar una actividad paraconcretar un trabajo o producto y que se lleva a cabo en el aula deentrenamiento. El otro tipo de planeación se refiere a la manera en comoconjuntar y programar las diferentes tareas al mismo tiempo y que permitanaprovechar al máximo los recursos con que se cuenta. Básicamente este otrotipo de planeación se lleva a cabo en el taller y es precisamente donde seconcentró este proceso de investigación.

• Tiempos de Entrega

Inicialmente se consideró oportuno manejar esta variable debido a que en elestudio que se hizo del estado del arte este concepto era utilizado pararealizar los cálculos de tardanza, sin embargo, pasado el tiempo y analizandolas conclusiones iniciales se encontró que este tiempo de entrega no era unavariable determinante y que quedaría fuera de nuestro planteamiento.En la primer parte de la investigación (Open Shop) aparecerá incluida estavariable y después dejará de formar parte del estudio.

23

• Contexto Didáctico

Una restricción importante de la aplicación de los mejores resultados de lainvestigación sin duda es el contexto didáctico ya que por tratarse de unproceso donde se busca desarrollar competencias orientadas a la generaciónde una cultura de hábitos de clase mundial a través de cumplir con unprograma de trabajo que permite la iteración y el desarrollo gradual de lashabilidades de operar en los equipos de maquinas y herramientasconvencionales están en determinado momento contrarios a losplanteamientos de solución bajo ciertas premisas como pueden ser las de laprogramación tipo taller.

Soluciones Factibles

El alcance que se dio a la investigación va mas allá de las soluciones factiblesque tuvieron una aplicación directa en el escenario real debido a que sebuscó con la metodología propuesta explorar en la medida de lo posible losbeneficios que ofrecen las técnicas de optimización que se han seleccionadocomo son las reglas de secuenciación, la búsquedas locales y los algoritmosgenéticos tanto para la programación abierta y de tipo taller.

Sin duda en el método exploratorio que se propone se encontró solucionesque dieron mejores resultados que los actuales y con ello se mejorósignificativamente los resultados sin embargo también se reconoce quehubo soluciones óptimas que no se pudieron validar en al práctica ycomprobar en la realidad pero que dieron el beneficio de haber aprendidosu naturaleza y ventajas de aplicación.

24

., 3 MARCO TEÓRICO PARA LA PROGRAMACIÓN DE TAREAS

Sobre los conceptos de programación que Michael Pinedo (2002) propone comola definición de un tipo de clasificación para los escenarios donde se desenvuelve lasecuencia de tareas en función de la naturaleza en como se toman las decisionespara planear y en la forma de visualizar la complejidad del trabajo. Para nuestrocaso en particular estaremos utilizando el contexto conceptual de la programaciónabierta (Open Shop) y la programación de tareas o tipo taller (Job Shop).

3.1 Programación Abierta

Este tipo de programación se define así debido a que la secuencia de trabajosdepende del programador. Esto quiere decir, que es en base a la experiencia,necesidades y juicios subjetivos que la planeación de las tareas del taller se llevan acabo figurando como elemento principal el tomador de decisiones.

Y se dice que es una programación sin retrasos ya que si hay un trabajoesperando para ser procesado, cuando una máquina este libre, se programainmediato en esta máquina a fin de tener un escenario donde las máquinas no seles permita estar sin trabajar.

3.2 Programación de Tareas (Tipo Taller)

Para este tipo de programación cada trabajo tiene su propia secuencia deoperación en las máquinas y el flujo de las tareas sigue siempre la misma rutaademás de que si un trabajo debe ser procesado en la misma máquina más de unavez se deberá aplicar el concepto de recirculación.

Otro concepto clave para esta investigación esta en el tipo de precedencia. Donde laprecedencia esta definida como la prioridad que se le da auna tarea o subtareas enfunción de un protocolo determinado, para nuestro caso de análisis esta dado por lasecuencia para completar el trabajo o producto.

Sedistingue además dos tiposde precedencias definidas como:

25

3.3 Precedencia única

Para este caso se tiene que una tarea o subtarea tiene un sólo antecesor dandoasí una representación donde existe una secuencia de ordenaciónprácticamente en línea.

Un ejemplo de ello se tiene en la figura 3.1:

Figura 3.1 Precedencia Única

Cuñas

(2M5MSMS)0-<S

^(SHS)O

26

B.4 Precedencia Múltiple

Para este caso se tiene que una tarea osubtarea tiene varios antecesores dandoasí una representación donde existe una secuencia de ordenación a manera dediagrama de espagueti

Un ejemplo de ello se tieneen la figura 3.2:

Figura 3.2 Precedencia Múltiple

Taladro @ (£) (S>

"86W87)—J8S

75 76

79 80 -W 85

84 /~v,

@-<íW5>

89Ww}—K»)—K92

100

w-*(116 H~

96W/97W98W99/\-

101V—K 102 M 103

104 )—M 105 M 106

í09\-j noV-k i" >—n112)—K113 j—V14

27

Maaiü«Mtfül

4 TÉCNICAS DE OPTIMIZACION PARA LA PROGRAMACIÓN DE TAREAS

4.1 Reglas de Secuenciación

Las reglas de secuenciación especifica (heurísticas) son políticas preestablecidasque consideran algunos criterios para el ordenamiento de las tareas en función yaseadel tiempo de procesamientoo de lostiempos de entrega.

Según Nahmias (1997) por sus siglas en ingles son conocidas como:

• FIFO - Primero Llegar, Primero en Salir. Los trabajos se procesan en lasecuencia en que entraron.

• UFO - Último en Llegar, Primero en Salir. Los trabajos se procesanempezando con el último que llegó y así de manera consecutiva hastaterminar con el primero que llegó

• SPT - Tiempo Mínimo de Procesamiento. Los trabajos se ordenan entiempos crecientes de procesamiento.

• LPT - Tiempo Máximo de Procesamiento. Los trabajos se ordenan del másalto tiempo de procesamiento al menor.

• EDD - Fecha Mínima de Entrega. Los trabajos se ordenan de acuerdo con lasfechas de entrega creciente.

• CR - Relación Crítica. Esta programación requiere considerar el cociente deltiempo de procesamiento dividido entre el tiempo de procesamientodividido entre el tiempo remanente hasta la fecha de entrega, de tal maneraque se programa el trabajo con mayor relación critica como el siguiente aprocesar.

28

4.2 Búsqueda Aleatoria

Busca mejorar interactivamente una asignación de variables hasta que lasrestricciones se satisfacen. Típicamente, modifica el valor de una variable a la vezlogrando que cada asignación nueva sea más cercana a la solución. La principaldesventaja que presenta el método radica es que puede ser lento para encontraruna solución óptima o muy cercana a la óptima según Russell and Norvig (2003).

El algoritmo se puede expresar de la siguiente manera:

Sea fíe) una función a minimizar donde/es una función de la solución de e y sea Eel conjunto de las posibles soluciones entonces,

Generar una solución inicial eOEE

hO <- F(e0)

eoptimo <- eO y Hacer hoptimo <- hO

k <r 1

Mientras que k < N

Generar una solución aleatoria ek

Calcular hkf(ek)

Si hk < hoptimo entonces

eoptimo <- ekhoptimo <r hk

Fin Si

k <- k+1

Fin Mientras

29

4.3 Búsqueda del Método del Alpinista

Empieza con una solución aleatoria, luego la cadena se muta y si la mutaciónproporciona una solución con mayor aptitud que la solución anterior, se conservacomo la nueva solución; en caso contrario, se conserva la solución actual. Luego elalgoritmo se repite hasta que no se pueda encontrar una mutación que provoqueun incremento en la aptitud de la solución actual y esta solución se devuelve comoresultado.

Se emplean sobre todo para resolver problemas de optimización, como porejemplo encontrar la secuencia óptima para procesar un conjunto de tareas.

El algoritmo

i) Inicio: Generar una solución inicial S2) Evaluar S -> fe (función de evaluación)3)Si la fe>femax entonces femax=fe; Smax=S;4) Generar un solución vecindario Sn: Sn <- DeltaS +S; S=Sn;4) Si la condición se satisface terminar si no se ha satisfecho ir a (2)5) Fin

30

4.4 Algoritmos Evolutivos

Son procedimientos de búsqueda y optimización que tienen sus orígenes einspiración en el mundo biológico. Se caracterizan por imitar los procesosadaptativos de los sistemas naturales y se basan en la supervivencia del mejorindividuo, siendo un individuo una solución potencial del problema que seimplementa como una estructura de datos. Trabajan sobre poblaciones desoluciones que evolucionan de generación en generación mediante operadoresgenéticos adaptados al problema.

Los Algoritmos Genéticos fueron desarrollados por Holland (1975) y ha crecidocomo el paradigma mas usado para resolver los problemas de optimización segúnMitsuo Gen (2000). Los algoritmos genéticos son los más usados dentro de laComputación Evolutiva. El procedimiento general de desarrollo para los AlgoritmosGenéticos consiste de las siguientes etapas: Evaluación de una población deindividuos, selección de los mejores individuos, mecanismos de cruce y finalmentemutación de individuos según Goldberg (1989) y Mitchell (1996).

La secuencia de población inicia con una solución aleatoria que usualmente tienebajo desempeño y alta diversidad. Los procedimientos de evolución (evolución,selección, cruce y mutación) son aplicados de modo cíclico. Se obtiene solucionesde un mejor desempeño y la diversidad se pierde. Esta es una manera másinteligente de encontrar soluciones a través de la práctica común de "prueba yerror".

Según A.E Eiben y J. E. Smith (2003) las ventajas de Algoritmos Genéticos son:

• Simplicidad conceptual

• Amplia aplicabilidad

• Superiores a las técnicas tradicionales en muchos problemas del mundo real• Tienen el potencial para incorporar conocimiento sobre el dominio para

hibridarse con otras técnicas de búsqueda y optimización

• Son inherentemente paralelos por lo que pueden explotar adecuadamenteeste tipo de arquitecturas

• Son robustas a los cambios dinámicos

• Generalmente pueden auto adaptarse a sus parámetros• Son capaces de resolver problemas para los cuales no se conoce solución

alguna

31

Algoritmo

t:=0;

Crear una población inicial BO = (bl,0,..., bm,0);

MIENTRAS no se complete la condición HACER

INICIO

Para i := 1 hasta m hacer

Selecciona un individuo bi,t+l desde Bt;

Para i := 1 hasta m - 1 paso 2 hacer

Si Aleatorio [0,1] _ pC entonces

Cruce bi,t+l with bi+l,t+l;

Para i := 1 hasta m hacer

Eventualmente mutar bi,t+l;

t := t + 1

FIN

4.4.1 Representación de Permutaciones

Para el caso en estudio no se puede emplear los mecanismos de cruce ymutación tradicional debido a que pudieran generar soluciones no factibles, debido

a ello se emplearon los siguientes algoritmos de cruce:

• CX - Operador de Ciclo

Fue propuesto por Oliver (1987) y se trata de pasar información de los padres alos hijos empezando en una posición al azar, posteriormente se crea unasecuencia ligando el número con su sucesor.

• ÍNTER - Cruce por Intercambio

Fue propuesto por Torres (2004). La idea básica es elegir un elemento al azar enambos cromosomas e intercambiarlos entre sí, cada padre influye en la formade intercambiar los elementos para formar cada hijo

32

• PMX - Parcialmente Trazado

Fue propuesto por Goldberg y Linge en 1985. El procedimiento principal es elprocedimiento pmxcross donde se genera un individuo a partir de dossecuencias o padres. El procedimiento final consiste en aplicar dos veces elprocedimiento pmxcross para generar dos hijos

• ERX - Recombinación de Extremos

Fue propuesto por Whitley y Starweather en 1990. El procedimiento tomas dospadres ¡1 e ¡2 (secuencias) y genera dos hijos usando los extremos de cadaelemento por cada vector padre.

Un ejemplo de este tipo de representación esta dado bajo la figura 4.1:

Figura 4.1 AG con Representación de Permutaciones

Permutaciones

1 3 5 2 6 4 7 8

8 7 6 5 4 3 2 1

1 3 5 4 2 8 7 6

8 7 6 2 4 1 3 5

33

4.4.2 Representación de Llaves Aleatorias

Esta representación dentro de los algoritmos genéticos se consigue mediante laasignación de un número aleatorio entre los valores del 0 al 1 para cada elementode la cadena y al adquirir este valor permite hacer un ordenamiento de menor amayor número aleatorio.

Debido a la aleatoriedad que ofrece y presenta este enfoque de representación seconsigue incrementar la cantidad de opciones para generar una solución, lograndode esta forma una amplitud mayor.

Un ejemplo de este tipo de representación esta dado bajo la figura 4.2:

Figura 4.2 AG con Representación de Llaves Aleatorias

Llaves Aleatorias

*> 1 2 3 4 5 6 7 -; : 8

0.3 0.25 0.1 0.78 0.002 0.67 0.03 0.9

>: 5.'.

7 3 2 1 6 4 •*:-

34

5 METOBOLOGIA PARA LA EXPLORACIÓN DE TÉCNICAS DE OPTIMIZACIÓN PARALA PROGRAMACIÓN DE TAREAS

La programación es una de las actividades más vitales en un proceso productivo.Actualmente, es un prerrequisito para la utilización efectiva de los recursosdisponibles y asíbrindar la rentabilidad en los negocios.

Existen diferentes enfoques que han sido utilizados para resolver la programaciónde tareas tipo taller las cuales han sido categorizadas de acuerdo a los algoritmosutilizados. Dos de los métodos más comunes son Branch. and Bound por Brucker(1994) y Annealing Simulated (Recocido Simulado) por Van Laarhoven (1992) y porYamada y Nakano (1995). Otros métodos incluyendo las Reglas de Secuenciaciónpor Conway (1967), Shuffle Algorithm por Applegate y Cook (1991), el ShiftingBottlenec Procedure (Procedimiento de Desplazamiento del Cuello de Botella) porAdams (1988) y uno de los mas imaginativos métodos la búsqueda Tabú porDell'Amico y Trubian (1993).

Sin embargo eneste trabajo de investigación se esta planteando una exploración dediferentes técnicas de optimización que permitan aportar otras premisas para lasolución de la programación tipo taller.

4.6 Análisis de tipo de tareas

La programación ha sido definida por Dempster, Lenstra y Kan (1981) como el artede asignar recursos a tareas para asegura el término de las mismas en un tiemporazonable. De acuerdo con French (1982), el problema general de la programaciónconsiste en encontrar una secuencia que permita que cada trabajo pase a través delos recursos en un calendario factible y óptimo con respecto a algunos criterios dedesempeño. Por otro lado, Graves (1981) presenta un esquema funcional declasificaciones para la problemática de programación el cual contempla lassiguientes dimensiones:

1. Generación de requerimientos

2. Complejidad del Procesamiento3. Criterio de Programación4. Variabilidad de los Parámetros

5. Ambiente de programación

35

Basado en Ja generación de requerimiento según Jones y Rabelo (1998) el procesode programación puede clasificarse como abierto (open shop) o cerrado (closedshop). El abierto se considera como "fabricar por orden" y sin inventarios enalmacén. En el sistema cerrado las órdenes son completadas del inventarioexistente.

Entonces, se tienen básicamente dos escenarios sobre los cuales se estarátrabajando y que prácticamente están en función de la disponibilidad de losinventarios.

La complejidad del procesamiento de acuerdo con Jones yRabelo (1998) se refiereal número de pasos para procesar y la cantidad de estaciones de trabajo asociadasal proceso de fabricación. Esta dimensión puede ser presentada como sigue:

1. Una etapa, Un Procesador2. Una etapa, Procesadores múltiples3. Etapas Múltiples, Programación de Flujo (Flow Shop)4. Etapas Múltiples, Programación Tipo Taller (Job Shop)

Con estas referencias entonces de decidió generar una secuencia de investigacióndonde inicialmente se dará prioridad al análisis de los elementos de estudio en unescenario tipo open shop para después llevarlos al escenario de job shop. Y paraambos escenarios se estará trabajando con las técnicas de optimización de reglasheurísticas, búsquedas locales y algoritmos genéticos.

En la siguiente sección se muestra el modelo de exploración que se armó ycon elcual se obtuvieron datos y referencias interesantes que seguramente serán deutilidad para trabajos futuros en esta área tan interesante como es la programaciónde tareas con precedencias yaprovechando al máximo las herramientas ytécnicasque arecientes fechas se han desarrollado yque podemos aprovechar cada vez mascon lasvelocidades de las computadoras.

36

4.7 Métodp de Optimización propuesto para el desarrollo de la investigación

Los pasos a seguir para diseñar el estudio están representados en el siguiente

diagrama de flujo expresado en la Figura 5.1:

Figura 5.1 Metodología de Estudio

Metodología Propuesta

Identificar

Defina:

¿Cual es la técnica de

Optimización a explorar '-.

Medir

Determine:

¿Cual es la manera de

medir y recolectar la

información?

Entender

Investigue:

¿Cuales es el

comportamiento del

problema al aplicar latécnica de Optimización

seleccionada?

Controlar

¿Muestra

Resultados

Consistentes?

Trabaje para que su

proceso sea consistente

Mejorar - Comparar

Trabaje para cambiar eíSistema

¿Resultados

Aceptables?

¡>)

Considere nuevas

oportunidades para Explorar

otra técnica

Donde primeramente se define la técnica a explorar para después validar lamanera de medir y registrar la información obtenida y entonces familiarizarse con laaplicación y los beneficios que se obtienen con los resultados de la técnica utilizada.Finalmente se valida la consistencia del resultado y la satisfacción que el resultado

ofrece.

37

La secuencia de exploración puede expresarse de manera sintetizada bajo elsiguiente diagrama expresado en la Figura 5.2:

Figura 5.2 Secuencia de Exploración

Donde se tiene que el desarrollo fue partiendo de la revisión bibliográfica a fin deencontrar los autores, asi como la información más reciente tanto en el tema de la

programación de tareas como en el tema de técnicas de optimización.

Por otro lado, se realizó la labor de registrar los tiempo de los diferentesejercicios y generaciones de entrenamiento a fin de ir validando los promedios deejecución así como los datos que el sistema va generando a través del tiempo.

Una vez teniendo los datos confiables y los conceptos teóricos a desarrollardurante el proceso de investigación se decide trabajar con la comparación de:

I. Técnicas de optimización: Heurísticas vs Búsqueda local y Algoritmos

Genéticos

II. Escenario de Open Shop y escenario de Job Shop en sus dos modalidades

(Precedencia única y Precedencia múltiple)

Con este plan de exploración se lograron cubrir aspectos relevantes de análisis ydejando algunas preguntas más para futuras investigaciones como por ejemplo quepasaría con los diferentes tipo de funciones de distribución si aplicas un tipo para

los tiempos de entrega y uno diferente para los tiempos de procesamiento.

38

^6 APLICACIÓN DEL CASO DE PROGRAMACIÓN: TALLER SICADE

OPEN SHOP

6.1 Comparación entre Reglas de Secuenciación (Heurísticas)

Partiendo de los datos sobre el escenario real, se realiza la aplicación y

comparación entre las reglas de secuenciación (heurísticas) utilizando políticas de

primeras llegadas primeras salidas, esto se muestra en la Tabla 6.1, tiempo mínimode procesamiento se muestra en la Tabla 6.2, fechas mínima de entrega se muestraen la Tabla 6.3 así como radio crítico que se muestra en Tabla 6.4.

Tabla 6.1 Primero en Llegar Primero en Servir - FIFO

No. Producto Fecha

Entrega

Tiempo

Proceso

Término

de Tarea

Tardanza

1 Cuña 14158016 12 16.56 16.56 4.56

2 Cuña 14011123 36 19.97 36.53 0.53

3 Cuña 14011118 24 18.94 55.47 31.47

4 Cuña 14011125 48 17.09 72.56 24.56

5 Bloque en V 96 21.03 93.59 0

6 Martillo Pzas Intercambiables 144 70.14 163.73 19.73

7 Mecanismo 2 Levas 216 136.1 299.83 83.83

8 Taladro 264 175.7 475.53 211.53

Suma 1213.8 376.21

Tiempo Promedio de Flujo 151.72

Tardanza Promedio 47.02

Cantidad de Trabajos Tardíos 7

39

Tabla 6.2 Tiempo Mínimo de Procesamiento -SPT

No. Producto Fecha

Entrega

Tiempo

Proceso

Termino

de Tarea

Tardanza

1 Cuña 14158016 12 16.56 16.56 4.56

4 Cuña 14011125 48 17.09 33.65 0

3 Cuña 14011118 24 18.94 35.5 11.5

2 Cuña 14011123 36 19.97 55.47 19.47

5 Bloque en V 96 21.03 76.5 0

6 Martillo Pzas Intercambiables 144 70.14 146.64 2.64

7 Mecanismo 2 Levas 216 136.1 282.74 66.74

8 Taladro 264 175.7 458.44 194.44

Suma 1105.5 299.35

Tiempo Promedio de Flujo 138.18

Tardanza Promedio 37.41

Cantidad de Trabajos Tardíos 6

Tabla 6.3 Fecha Mínima de Entrega - EDD

No. Producto Fecha

Entrega

Tiempo

Proceso

Termino

de Tarea

Tardanza

1 Cuña 14158016 12 16.56 16.56 4.56

3 Cuña 14011118 24 18.94 35.5 11.5

2 Cuña 14011123 36 19.97 55.47 19.47

4 Cuña 14011125 48 17.09 72.56 24.56

5 Bloque en V 96 21.03 93.59 0

6 Martillo Pzas Intercambiables 144 70.14 163.73 19.73

7 Mecanismo 2 Levas 216 136.1 299.83 83.83

8 Taladro 264 175.7 475.53 211.53

Suma 1212.77 375.18

Tiempo Promedio de Flujo 151.59

Tardanza Promedio 46.89

Cantidad de Trabajos Tardíos 7

40

Tabla 6.4 Relación Critica - CR

No. Producto Fecha

Entrega

Tiempo

Proceso

Relación

Critica

Termino

de Tarea

Tardanza

1 Cuña 14158016 12 16.56 0.72 16.56 4.56

3 Cuña 14011118 24 18.94 0.39 35.5 11.5

2 Cuña 14011123 36 19.97 0.02 55.47 19.47

4 Cuña 14011125 48 17.09 -0.43 72.56 24.56

6 Martillo Pzas 144 70.14 1.01 142.7 0

5 Bloque en V 96 21.03 -2.22 163.73 67.73

7 2 Levas 216 136.1 0.38 299.83 83.83

8 Taladro 264 175.7 0.57 475.53 211.53

Suma 1261.88 423.18

Tiempo Promedio de Flujo 157.73

Tardanza Promedio 52.89

Cantidad de Trabajos Tardíos 7

En el anexo 3 se describe el procedimiento de cómo se obtuvo la relación criticapara cada tarea y la forma en que se fueron asignando las secuencias.

Los datos que interesan de las cuatro tablas anteriores son:

• Flujo promedio que se obtiene como el cociente de dividir sumatoria de lostiempos de término entre la cantidad de trabajos

• Tardanza promedio que se obtiene como el cociente de dividir sumatoria delas tardanzas entre la cantidad de trabajos

• Cantidad de trabajos tardíos que se representa como las veces en que latardanza fue mayor a cero para el escenario de análisis.

Una tabla comparativa entre estas primeras reglas de secuenciación en el escenariode programación abierta (open shop) se muestra en la Tabla 6.5

41

Tabla 6.5 Comparación entre Reglas deSecuenciación

No. Regla Secuenciación Flujo

Prom

Tardanza

Prom

Cantidad

Tardíos

1 FIFO - Primero Llega Sale 151.73 47.04 7

2 SPT-Tiempo Minimo Proceso 138.18 37.41 6

3 EDD - Fecha Minima Entrega 151.60 46.90 7

4 CR - Relación Critica 157.74 52.90 7

Con estos resultados se identifica que la regla de tiempo mínimo de procesomuestra mejor desempeño que el resto de reglas para el escenario de trabajo yquese logro tener un trabajo tardío menos.

Después de aplicar las reglas de secuenciación (heurísticas) haciendo operacionesmanuales se decidió generar un programa en Matlab® ,donde los pseudocódigos semuestran en el anexo 2 como el programa para formar distribuciones y aplicardiferentes reglas de secuenciación.

Este programa en particular, se desarrolla con el proposito de incrementar eltamaño de la población de tareas, ya que solo se contaba con 8 tareas y suscorrespondientes tiempos de procesamiento, y de esta manera observar elcomportamiento de las reglas de secuenciación con una mayor cantidad de tareaspor ordenar. Se generaron poblaciones aleatorias de 100 datos tanto para t.emposde procesamiento como para fechas de entrega tomando como referencia los datosdel escenario real.

Adicionalmente, como parte de un ejercicio didáctico y cumpliendo con losobjetivos del programa de formación se opta por hacer una combinación defunciones de distribución para las variables de tiempo de procesamiento yfecha deentrega.

42

De tal m^pera que se puede hacer la comparativa para apreciar que sucedería conlos tiempos totales de término y la cantidad de trabajos tardíos cuando:

La fecha de entrega y el tiempo de procesamiento tuvieran una distribuciónuniforme. En la Figura 6.1 se muestra la generación de datos y en la Tabla6.6 se muestra los resultados obtenidos en cuanto a trabajos tardíos y eltiempo total de término aplicando las cuatro reglas de secuenciación.

La fecha de entrega y el tiempo de procesamiento presenten unadistribución uniforme. En la Figura 6.2 se muestra la generación de datos y laTabla 6.7 contiene los resultados de trabajos tardíos y tiempo total determinación para las cuatro reglas de secuenciacin.

3. La fecha de entrega con distribución uniforme y el tiempo de procesamientotuvieran con distribución normal. En la Figura 6.3 se muestra la generaciónde datos y la Tabla 6.8 contiene los resultados de trabajos tardíos y tiempototal de terminación para las cuatro reglas de secuenciación.

La fecha de entrega con distribución normal y el tiempo de procesamientotuvieran una distribución uniforme. En la Figura 6.4 se muestra la generaciónde datos y la Tabla 6.9 contiene los resultados de trabajos tardíos y tiempototal de terminación para las cuatro reglas de secuenciación.

43

Figura 6.1 Distribución Uniformes para Fecha de Entrega y para Tiempo de Proceso

Figura 6.2 Distribución Normales para Fecha de Entrega y para Tiempo de Proceso

44

Figura 6.3 Distribución Uniforme para Fecha de Entrega y Nomal para Tiempo deProcesamiento

Figura 6.4 Distribución Normal para Fecha de Entrega y Uniforme para TiempodeProcesamiento

45

En el anexo 3se incluyen la tabla de los datos de cada escenario de distribuciónanteriormente mencionado.

Tabla 6.6 Distribución Uniforme para Fecha de Entrega yTiempo ri* Pmrp„mifln,Regla Retrasos

98.83

Tiempo de FlujoFIFO

SPT

EDD

CR

Promedios

94.50

100

100

98.33

486631.99

355266.53

487654.82

569825.78

474484.78

Tabla 6.7 Distribución Normal nara P^rha de Entrega vTiempo de ProcesamientoRetrasosRegla

Tiempo de Flujo

299443.20FIFO 98.63

SPT

EDD

CR

Promedios

94.30

99.91

99.71

237484.24

300349.74

346061.50

98.14 295834.67

Tabla 6.8 Distribución Uniforme para Fecha de Entrega yNormal para Tiempo deProcesamiento

Regla

FIFO

Retrasos

SPT

EDD

CR

Promedios

98.99

Tiempo de Flujo

484990.70

98.77

100

100

99.44

462997.08

484999.47

488306.24

480320.62

Tabla 6.9 Distribución Normal para Fecha de Entrega yUniforme para Tiempo deProcesamiento

Regla

FIFO

SPT

EDD

CR

Promedios

Retrasos

98.90

94.19

99.30

100

98.10

Tiempo de Flujo

483820.41

350297.78

480695.69

610353.48

481291.84

46

Para esta experimentación se realizan 10 corridas con 100 datos cada corrida ylostiempos de flujo mostrados son promedio de las corridas.

Particularmente, este ejercicio sirve para establecer comparaciones entre las reglasde secuenciación bajo diferentes escenarios donde la funciones de distribución delos datos son distintas yademás hacer las siguientes conclusiones respecto a losresultados:

• Haciendo combinaciones entre la manera en que se distribuyen los datostenemos:

• Mejor tiempo total de flujo es cuando las Fechas de Entrega y losTiempos de Procesamiento se comportan de manera normal

• La menor desviación estándar en los tiempos de flujo se encontrócuando las Fechas de Entrega secomportan de manera uniforme

• La menor cantidad de trabajos tardíos se encontraron cuando el Tiempode Proceso se comporto de manera uniforme y las Fecha de Entreganormales

• La regla heurística que mostró consistentemente mejores resultados fue eltiempo mínimo de procesamiento (SPT) independiente al tipo dedistribución que seguían los datos

6.2 Desarrollo de Programa en Matlab para Algoritmos Genéticos y realizarcomparación contra Heurísticas

Posteriormente se desarrolla otro programa en Matlab®, el cual se puedeconsultar en la parte de anexos 3 con el nombre de programa para hacer lascomparaciones entre heurísticas y algoritmos genéticos en el escenario deprogramación abierta (Open shop).

Este programa permitió hacer la comparación entre los datos que se obtuvieroncon los diferentes escenarios de funciones de distribución aplicando reglas desecuenciación contra los algoritmos genéticos con diferentes representancionestanto de permutacionescomo de llaves aleatorias.

Se utilizó el mismo universo de datos que cuando se hizo la comparación entre lascuatro reglas de secuenciación afin de tener una referencia más pareja.

Los datos con los que se estuvieron trabajando pueden ser consultados en la partede anexos 3de este documento ya que se hicieron tres fases de exploración yeldetalle de las mismas se incluye también.

47

La Tabla 6.10 ofrece los datos obtenidos al finalizar la comparación:

Tabla 6.10 Comparación entre diferentes representación de Algoritmos Genéticosen Open Shop

Pe 0.9 0.8 0.95

Pm 0.14 0.25 0.05

Retrasos Tiempo

FlujoRetrasos Tiempo

FlujoRetrasos Tiempo

FlujoCx 43.33 244751.14 43.33 244512.74 41.67 245491.22

Pmx 46 250598.68 46.67 249685.33 46.33 251601.23

ínter 43.67 248537.51 44.33 247584.02 43.67 246180.96

Erx 48.67 264889.96 49 265320.08 48 266203.19

IP 48 261005.25 45.33 260719.96 49.33 259998.21

2P 46.33 260234.59 47.67 259156.21 46.67 250149.20

Donde pe = porcentaje de cruce, pm = porcentaje de mutación, los mecanismos decruce con permutaciones fueron operador de ciclo (cx) parcialmente trazado (pmx),cruce por intercambio (inter) recombinación de extremos (erx), los mecanismos decruce con llaves aleatorias fueron un punto (IP) y dos puntos (2P). Los datos sonexpresados en horas para el tiempo de flujo y canitidad de trabajos para retrasos.

Cabe mencionar que las corridas hechas cumplen con las siguientes características

• Mismo grupo de individuos, cantidad 100 datos en 100 generaciones• Se hicieron 3 repeticiones

Con estas comparaciones entre diferentes mecanismos de cruce se concluye que elmejor operador fue el de ciclo ya que con este se obtuvo la menor cantidad deretrasos y el menor tiempo de flujo.

Posteriormente, para el mismo universo de datos se comparan los resultados de

los algoritmos genéticos contra la aplicación de las reglas de secuenciaciónmostradas en la siguiente tabla:

48

Tabla 6.11 Comparación entre Heurísticas y AG para Open Shop

Técnica de Optimizacion Retrasos (Trabajos) Tiempo de Flujo (Hrs)

SPT 38 224674.78

AGCX pe 0.95 pm 0.05 41.67 245491.22

AG CX pe 0.8 pm 0.25 43.33 244512.74

AG1P 45.33 260719.96

FIFO 54 279805.78

EDD 55 285917.03

CR 68 334410.61

6.3 Conclusiones para Open Shop

Con ambos ejercicios, tanto en el escenario real como el escenario virtual depoblación de 100 datos, podemos concretar las siguientes conclusiones para estacondición de programación tipo abierta (open shop):

• Se comprueba que Teorema de la Regla de Secuenciación SPT es el óptimopara este caso así como lo expone Michael Pinedo (2002)

• Las Reglas Heurísticas se muestran como mejor Herramienta deOptimizacion que los Algoritmos Genéticos

• Cuando las fechas de entrega y los tiempos de procesamiento tienen una

Función de Distribución Normal obtenemos los mejores tiempos

• En el uso de Algoritmos Genéticos tenemos :

o Permutaciones mostraron mejor desempeño que las Llaves

Aleatorias

49

Programación tipo Taller (JOB SHOP)

6.4 Comparativas entre Técnicas de Optimizacion para Job Shop

Para el caso real que esta investigación presenta, la representación del problemautilizo una matriz de 116 individuos con sus respectivas precedencias, fechas deentrega, tiempos de procesamiento y máquinas donde la tarea es procesada.El detalle de la matriz puede ser consultada en el anexo 3 como matriz paraprogramación tipo taller (Job shop).

Partiendo de los datos presentados en la tabla 1.9 sobre el escenario real, serealiza la aplicación y comparación entre las técnicas de heurísticas utilizandopolíticas de primeras llegadas primeras salidas, tiempo mínimo y máximo deprocesamiento, fechas mínimas y máximas de entrega, además de las técnica deoptimizacion locales como búsqueda aleatoria y método del alpinista parafinalmente aplicar algoritmos genéticos con representación de llaves aleatorias ypermutaciones.

La comparación se realiza en dos fases:

• Primero, haciendo una comparación entre heurísticas contra las técnicas debúsqueda local (búsqueda aleatoria) y los algoritmos genéticos conrepresentación de llaves aleatorias y permutaciones utilizando el principiode incluir solo aquellas tareas que tuvieran precedencia única. Para estaexploración se utiliza el caso hipotético de fabricar 10 bloques en V y 20Martillos de piezas intercambiables. Los resultados comparativos obtenidosse muestran en la Tabla 6.12.

• Segundo, se realiza la comparación nuevamente entre heurísticas contra labúsqueda aleatoria, el método del alpinista (hill climbing) y los algoritmosgenéticos con representación de permutaciones (CX, ÍNTER, PMX, ERX)aplicadas ahora al escenario de tareas con precedencia múltiple simulandola fabricación de 10 piezas de cada uno de los 9 ejercicios. Para este caso setuvo la matriz de 116 subtareas y considerando la interacción entre todas laspartes, todas las piezas y todas las máquinas. Los resultados comparativosobtenidos se muestran en la tabla 6.13.

50

Tabla 6.12 Comparación entre Heurísticas (Reglas de Secuenciación), Algoritmos deBúsqueda Local y Algoritmos Genéticos (Precedencia única)

Tiempo Flujo Tiempo CPU

AG Permutaciones 156.6 37.25

Regla de Secuencia LPT 161.78 0.65

Regla de Secuencia CR 161.78 0.65

AG Llaves Aleatorias 165.06 40.71

Búsqueda Local Aleatoria 177.09 1.09

Regla de Secuencia FIFO 213.64 0.65

Regla de Secuencia SPT 213.64 0.65

Regla de Secuencia DT Min 213.64 0.65

Regla de Secuencia DTMax 213.64 0.65

Los datos presentados en la Tabla 6.12 se obtuvieron al utilizar la aplicacióndesarrollada en Matlab® que lleva por nombre programa para trabajar bajo laspremisas de programación tipo taller y precedencia única y cuyos códigos puedenser consultados en el anexo 2.

Tabla 6.13 Comparativa entre Técnicas de Optimizacion (Precedencia Múltiple)

Técnica de OptimizacionTiempo de

Flujo (hrs)Diferencia en

Horas% Efectividad

AlgoritmosGenéticos

CX 79.51 - -

ÍNTER 82.12 2.61 3.28%

PMX 85.43 5.92 7.44%

RK2P 85.67 6.16 7.75 %

RK1P 85.76 6.26 7.87 %

ERX 89.58 10.07 12.67%

Búsqueda LocalAlpinista 89.84 10.33 12.99%

Aleatoria 97.25 17.74 22.31%

Reglas deSecuenciación

Heurísticas

SPT 101.87 22.36 28.12%

UFO 113.29 33.78 42.48%

FIFO 129.64 50.13 63.04%

LPT 129.66 50.15 63.07%

Los datos presentados en la tabla 6.13 se obtuvieron al utilizar la aplicacióndesarrollada en Matlab® que lleva por nombre programa para trabajar bajo laspremisas de programación tipo taller y precedencia múltiple y cuyos códigospueden ser consultados en el anexo 2.

51

, ♦ on pI anexo 3se cuenta con la información respecto ala cantidadAdicionalmente, en el anexo 3se cuem opt¡m¡zación así como la

Las comparaciones mostradas en*^££Ü^£Z£Zque ofrecen los-^«£^~^££ÍEE£.-» grado de¡sErrr-ísks* -.«? *,as habii,dades de ,osoperadores como lo menciona Oduguwa yTiwan (2005).65conclusiones sobre comparativas entre Técnicas de Optimizad para lob Shop

tiene corno características que las tareas tienen precedencia mu**.

Sin embargo por otro lado, *>^<£ *£££?££

r„rr:-Ltrzrrrreps. -.p*—->heurística de tiempo máximo de procesam.ento LPT.

6.6 Programa de Trabajo para la Secuencia Óptima

Finamente, se arma el programa de -bf'^

comparaciones entre las diferentes técnicas de opt.m.zac.on.

La secuencia de trabajos óptima obtenida^¡^J^™^correspondientes se muestra en el anexo 3yla cual *T^ ™ ra8 en que ,as

S^rogr=^^^^dándonos el tiempo de flujo (término) mejor.

52

Figura 6.5 Programación de Tareas con Secuencia Óptima (1/3)

I • I •—• I • I « I « o I •• I •< I •• - i » i » I » *~T » I » I - I "

Figura 6.5 Programación de Tareas con Secuencia Óptima (2/3)

i » i » i i « i « ¡n~="

53

n

Figura 6.5 Programación de Tareas con Secuencia Óptima (3/3)

| » | H | Sí M | M | M | CI (1 | U | M | « M [ (7 | M | M » » | » | H | N ÍT~] ÍT"] " |

i~s—i

H

54

7 CONCLUSIONES

Finalmente, se concluye que a través del desarrollo de la aplicación ordenada dediferentes técnicas de optimizacion y en diferentes escenarios de programación selogra incrementar la capacidad de fabricación del taller obteniendo una ventajasignificativa con la aplicación de las reglas de secuenciación.

Los resultados que se obtuvieron de esta investigación brindaron escenariosdistintos a los que actualmente existen y con ello se favorece contar con un procesode planeación de tareas más robusto aplicando diferentes paradigmas deoptimizacion. Además, los resultados finales mostraron una mejoría significativaque entonces se logro obtener un mayor tiempo disponible para la ejecución detareas, por lo tanto mayor oportunidad para fabricar mas piezas con los mismosrecursos y como consecuencia se logra conseguir mayor cantidad de ejerciciosprácticos que reforzaran el entrenamiento y formación para los alumnos que esteCentro de Competencias busca.

Sin embargo, cuando se abrió la aplicación a considerar de combinar lassubtareas de los diferentes trabajos y utilizar como herramienta de apoyo para lasolución del problema los algoritmos genéticos consiguieron no solo incrementar lavelocidad de fabricación, aumentar el tiempo disponible de los equipos sino quetambién se encontró el balance ideal de utilización de los recursos físicos como son

la maquinaria para un escenario donde actualmente están siendo clave para larentabilidad y permanencia de los negocios.

Adicionalmente, se observó que el tipo de programación mas conveniente paraoptimizar los tiempos de ejecución se encuentra cuando se opera bajo la premisade trabajo paralelo ya que se aprovecha para estar realizando varios trabajos a lavez y con ello los tiempos de set up se reducen significativamente ya que opera mascomo un proceso continuo. Con este escenario de operación se aprovecha mejor losrecursos y se obtiene como beneficio que para el tiempo final tienes las piezas queincluíste en el escenario.

Cabe mencionar que el trabajo de programación paralelo requiere de mayorcontrol sobre la logística antes, durante y después del procesode fabricación ya quese incrementan las variables de oportunidad de error al estar trabajando en variascosas a la vez y de acuerdo a la experiencia de personal trabajando bajo este ámbitoel factor o error humano puede colocarse como una variable de alto impacto en losresultados y causar consecuencias que pudieran hacer ver el desarrollo de este tipode programación con poca popularidad en escenarios reales.

55

Se sugiere a través de este trabajo para aquellas personas interesadas enoptimizar los tiempos de programación de las diferentes formas en las que esta sepresenta que la riqueza de las soluciones y opciones estará en función de lacantidad de técnicas que apliquen en los escenarios de trabajo y que una manera deconseguir esta variedad de resultados tiene que ver con entender y dominar losprocesos de trabajo y la naturaleza además que una metodología de exploraciónpara iravanzando en la solución traerá ventajas adicionales.

Y se espera que la metodología aquí propuesta pueda ser de utilidad paratrabajos y referencias futuras por otros investigadores.

También, se propone que cuando la complejidad de la naturaleza de la propiatarea aumenta como es el caso de contar con precedencias múltiples las técnicas deoptimizacion que se pueden utilizar son los algoritmos genéticos para la solución dela programación de máquinas ya que estos ofrecen al usuario una diversidad mayorde soluciones al trabajar bajo el paradigma de la genética evolutiva donde seencuentra que el nivel de competencias y la supervivencia son elementos clave paraseguir avanzando.

Finalmente, se declara que los Algoritmos Evolutivos están cada vez máspresentes como una técnica de optimizacion útil, productiva y rentable donde en eltrabajo de investigación se busca generar una experiencia más en el campo de laprogramación de tareas bajo los escenarios mostrados. También se reconoce que laaplicación de este nuevo concepto esta en desarrollo y que sin duda para lospróximos años se encontrará con mayores aplicaciones prácticas y que se buscaapelar a que sean para una búsqueda de mejorar la calidad de vida como personas ypara el beneficio global de los habitantes de esta tierra.

56

V. BIBLIOGRAFÍA

REFERENCIAS

^^^^^rPtÍmÍZatÍ°n °fmaChÍnÍng teChnÍ^- "—Applegate, D., and Cook, W. (1991). AComputational Study of the Job-ShooSchedulmg Probiem, ORSA Journal of Computing, Vol.3, pp.149-156

tZT'r V' r' "^ P3rkS' CM- (1991) AüaSSÍfÍer Based APProoch to Flow ShopSchedulmg ,Computers Industrial Engineering, Vol.21 No.1-4, pp.329-333.

TrhTr V' r" and ParkS' CM- (1991 b° A°aSSÍfÍer Based APPr°°c* to Flow ShopSchedulmg,Computers Industrial Engineering, Vol.21 No.1-4, pp.401-405.

SE^^srDM-'and mndskopf' d (i988)- <««*•**** «Blackstone, j HPhilips, D. T., and Hogg, G. L. (1982) AState-of-the-Art Survey ofProduction Research, Vol.20 No.l, pp. 27-45.

Tblho/^' B,;a1d S¡eVerS' B- (1"4M Bmnch °»*BoundA,gorithmfortheJob-Shop Schedulmg Probiem, Discrete Applied Mathematics, Vol.49 No.1-3, pp.107-

SSe^^"' * "' "* ^ LW" (1967) "^ ****^Ca'mbdLt J2°°6)hf,/o/üf/o^ Ctunputoí/on a unified Approach The M.T PressCambridge, Massachusetts, London England ISBN 0-262-04194- 4.

^w7°'JVnd TmbÍan' M- (1"3)- ApP'yÍng Tabu -Search ^ the Job-ShopSchedulmg Probiem, Annais of Operations Research, Vol.4, pp.231-252.

ÍZTr M'o *"*? 3nd "• Kan'(1981) Determini^ic andstochastic scheduling-Z [?°?¿ Pr0CeekdmgS 0f the NAT0 Advanced Study and Research Institute onTheoretrca. Approaches to Scheduling Prob.ems, D. Reide. Pub.ishing Company 3

pÍZ^Í^ll2? Production to Evolutionary Computing, Springer i«ed. ISBN 978-3-540-40184-1

57

FQgel. D.B. (2000) What is Evolutionary computation? ,EEE Spectrum (2000, pag

French S. (1982) Sequencing and Scheduling. New York: Halsted Press.

»^'LJ^^,,,ld*B,,t SySt6mS '" M°"»f°«»™° Optimization.Application methodolog,es of computational intelligence in integrated desian andmanufacturmg, Doctora, thesis. Norwegian University of Science and Technology

ll^'sTns ZTs ^(2°00)- GenetÍCAI^Íth™ *Bering Optimization, John

Graves S. (1981) AReview of Production Scheduling. Operations Research, 646 -675.

t°^TJníníUT, *(1985)- Alle'eS'l0d and the t™»"* solesman probiemrpní- GArrfe"f (Ed°' Proceed¡ngs of the first international conference onGenet.c Algonthms and their app.ications (pp 154-159) Lawrence Erlbaum

Goldberg David E.. (1989) Genetic algorithms in search, optimization, and machinelearnmg, Add.son-Wesley Pub. Co., Reading, MA.

Hidalgo Pérez José I, Cervigon Ruckauer Carlos. (2002) Una revisión de los&S"y sus aplicaciones'Madrid España- — £& 2Holland, j H. (1975) Adaptation in natural and artificial systems: An introductora:zz:z^z:°biology'^ -°*-~-c

|T' t"?f ajkaran' K- and Pined°. M. (1992). X/fewfctít í0 M/ram/se ^ ,-.,„,ZTcll HM^ "** **""" DePm*nt *"*»-. T-Woil Rpot SDept, Columbia University, NY.

JEZSSJ / jS"E7' SB l".a"d Slgal '• Kh' (1989> "* r™"*3 Mmx»

MKchell. M(1996). *, to** „ „«*^^ Cambr|(|ge> ^ ^

58

Tnttm c ll PmdUCtÍ°n ^ °Perat,0n Ana'ysis>3ed- M^raw Press,(pag 390) Santa Clara University McGraw Hill

--e^ Al90rithms< -—*- —'

S ftIU,art '• c&^rVÍg' P6ter (2°03)- Art¡fÍCÍal ^elligence: AModern Approach(2nd ed.), Upper Saddle River, NJ: Prentice Hall, pp. 111-114, ISBN 0-13-790395-2

Smith ,.M. and Holland D.J. (1987) "A study of permutatión crossover operators onhe travelmgsalesman problema j.j. Grefenstette (Ed.) Proccedings of the se ond"e^^ ^ Genet¡C «~ -d ~* (PP --0)Torres L.M. (2004) "Exaptaciñon: Reutilización yretención de conocimiento en losalgontmos evolutivos" Disertación doctoral no pub.icada Centro de Lemainteligentes ITESM Campus Mty sistemas

Torres-Treviño Luis M., Pérez Villanueva P., and Herrera-Zamora j., Carrum-Siller ETd TheCaim2 KA(2°?,MOChÍnÍn9 SeqU6nCe Plann¡ng ^ Ev0lu«°™y^~CD The 12th Annual International Conference on Industrial Engineering TheoryAppl.crt.ons and Practice. Cancun, México. November 4-7, 2007. Editors 7e%¡^£?££F*'SE Butt'TK Fredericks-Copyright @2007 isbn ™-°-V. Oduguwa*, ATiwari, R. Roy. (2005) Evolutionary computing in manufacturingmdustryan overview ofrecent applications, Applied Soft Computing

Van Laarhoven, P. J. M., Aarts, E. H. L, and Lenstra, j. K. (1992) Job-Shop SchedulingbyS.mulatedAnnealing", Operations Research, Vol.40 No.l, PP.113-125

Sltr' í' m' M°rt0n'T" L(198?) Pri°rity RulesforJob Shops with WeightedTardmess Costs, Management Science, Vol.33, pp. 1035-1047.

White, Jr. K. P. (1990). Advances in the Theory and Practice of ProductionScheduling, Control and Dynamic Systems, Vol.37, pp.115-157.

Z^hZD' ^ndrStaTather T- (1991) The traveli"° salesman and sequenceTt7<Q"al'ty S°'UtÍOnS USÍng genetic edge recombination In L. Davis (EdTHandbook of Genetic Algorithms (pp. 350-372)Reinhold, New York: Van Nostrand '

lZltJ''Tn Tkan°' "• (1"5) J°b Sh°P Scheduling * Si™'"*d AnnealingCombmed w,th Determm.stic Local Search, Metaheuristics International ConferenceH.lton, Breckenridge, Colorado, USA, pp.344-349. ""rerence,

59

VI. LISTA DE TABLAS

Tabla 1.1 Hábitos del Taller Sicade 02

Tabla 1.2 Distribución de temáticas por horas 05Tabla 1.3 Peso por elemento de diseño de contenidos 06Tabla 1.4 Fechasde entrega 08Tabla 1.5 Tiempo promedio 08Tabla 1.6 Tardanza 09Tabla 1.7 Subtareas por producto 10Tabla 1.8 Costo de fabricación 10Tabla 1.9 Variables claves de entrada para problemática 16Tabla 6.1 Primero en llegar primero en servir FIFO 39Tabla 6.2 Tiempo mínimo de procesamiento 40Tabla 6.3 Fecha mínima de entrega 40Tabla 6.4 Relación crítica 41Tabla 6.5 Comparación entre reglas de secuenciación 42Tabla 6.6 Distribución uniforme para fecha entrega y tiempo de proceso 46Tabla 6.7 Distribución normal para fecha entrega y tiempo de proceso 46Tabla 6.8 Distribución uniforme fecha entrega y normal tiempo de proceso 46

Tabla 6.9 Distribución normal fecha entrega y uniformetiempo de proceso 46Tabla 6.10 Comparación entre diferentes representaciones para Algoritmos

Genéticos para Open Shop 48Tabla 6.11 Comparación Heurísticas y Algoritmos Genéticos en Open Shop 49

Tabla 6.12 Comparación entre Heurísticas, Búsqueda Local y Algoritmos Genéticos

para precedencia única en Job Shop 51Tabla 6.13 Comparación entre técnicas de optimizacion para precedencia múltiplepara Job Shop 51

VI

Vil. LISTA DE FIGURAS

Figura 1.1 ProgramaciónSemanal del Taller Sicade 04Figura 1.2 Diagrama de conducción del ejercicio 06Figura 1.3 Distribución de tiempos 07Figura 1.4 Diferencia entre turno 11Figura 1.5 Cumplimiento por turnos 11Figura 1.6 Diagrama de secuencias 15Figura 2.1 Tiempos totales de flujo 19Figura 3.1 Precedencia única 26Figura 3.2 Precedencia múltiple 27Figura 4.1 Algoritmo Genético con representación de permutaciones 33Figura 4.2 Algoritmo Genético con representación de llaves aleatorias 34Figura 5.1 Metodología de estudio 37Figura 5.2 Secuencia de exploración 38Figura 6.1 Distribución uniforme para fecha entrega y tiempo de proceso 44Figura 6.2 Distribución normal para fecha entrega y tiempo de proceso 44Figura 6.3 Distribución uniforme fecha entrega y normal tiempo de proceso 45Figura 6.4 Distribución normal fecha entrega y uniforme tiempo de proceso 45Figura 6.5 Programación de tareas con secuencia óptima 53

VII