Está en la página 1de 115

SECRETARA DE POSGRADO

OPTIMIZACIN DEL PROCESO DE TEIDO DE TELAS

T
P R

E
E S

S
E

I
N T

S
A:

QUE PARA OBTENER EL GRADO DE:

DOCTOR EN CIENCIAS BSICAS

FELIPE MALDONADO ETCHEGARAY

DIRECTOR DE TESIS: DR. LUIS B. MORALES CO-DIRECTOR DE TESIS: DR. ANIBAL ZANINI

QUILMES, ARGENTINA

2005

INDICE TEMTICO CAPTULO I 1.- INTRODUCCIN 1.1.- El estado del arte en lo textil 1.2.- El estado del arte en lo matemtico 1.3.- El teido 1.4.- Objetivos y estructura del trabajo CAPTULO II 2.- INDUSTRIA TEXTIL E INVESTIGACIN DE OPERACIONES 2.1.- Industria Textil 2.2 Optimizacin 2.3 Aplicaciones 2.3.1 Fabricacin de hilos de algodn 2.3.2 Confeccin 2.3.3 Teido de telas CAPTULO III 3.- COLOR 3.1 La fuente luminosa 3.2 El objeto 3.3 El ojo humano 3.4 El observador estndar 3.5 Espacios de color 3.5.1 El espacio XYZ 3.5.2 Espacio de cromaticidad Yxy 3.6 Elipses de McAdam 3.7 Espacio de color L*a*b* 3.8 Medicin del color CAPTULO IV 4.- OPTIMIZACIN 4.1.- Optimizacin continua 4.1.1 Programacin Lineal 4.1.1.1.- El mtodo Simplex 4.1.1.2.- Mtodos de punto interior 4.2 Optimizacin combinatoria 4.2.1.- El problema de la mochila 4.2.2.- Problemas de redes 4.2.3.- Coloracin de grafos 4.2.4.- El cartero chino 4.2.5.- Problema del agente viajero 4.2.6.- Mtodos de resolucin en Optimizacin Combinatoria 4.2.6.1.- Tcnicas enumerativas

6 7 8 9 10 13 13 16 16 16 18 21 22 23 25 25 26 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 43 43 45 45

4.2.6.2.- Mtodos de relajacin Lagrangiana 4.2.6.3.- Planos cortantes CAPTULO V 5.- TEIDO DE TELAS 5.1.-Modelo 5.2 Diferencias de color 5.3 Determinaciones iniciales 5.3.1.- Optimizacin 5.3.1.1.- Algoritmo basado en permutaciones 5.3.1.2.- Eliminacin de ramas 5.4.- Algoritmos de retroceso 5.4.1.- Ramificacin y acotamiento CAPTULO VI 6.- APLICACIONES INDUSTRIALES 6.1.- Sucesiones ptimas 6.2.- Restricciones 6.2.1.- Uso previo del equipo de teido 6.2.2.- Sensibilidad del ojo humano 6.2.3.- Restricciones de tipo comercial 6.2.4.- Series largas de colores 6.2.4.1.- Mtodo de resolucin 6.3.- Mltiples equipos de teido 6.4.- Lavado de los equipos de teido 6.4.1.- Modelo alternativo 6.4.2.- Polticas de lavado 6.4.2.1.- Solucin I 6.4.2.2.- Solucin II 6.4.2.3.- Solucin III 6.4.3.- Aplicaciones CONCLUSIONES Y RECOMENDACIONES BIBLIOGRAFA APNDICE I APNDICE II APENDICE III

46 47 51 53 54 55 56 57 59 63 64 69 69 70 71 73 74 76 79 80 82 83 86 87 88 89 90 92 94 100 102 106

NDICE DE TABLAS Y FIGURAS

TABLAS TABLA I II III IV V VI VII VIII IX X XI XII XIII XIV XV XVI XVII XVIII Pgina Coordenadas CIELab de un conjunto de 10 colores 55 Matriz de costos para 10 colores: diferencias entre el color 56 deseado y el obtenido 60 Coordenadas CIELab de un conjunto de 37 colores. El nmero entre parntesis indica el orden en que se fueron recibiendo los pedidos Matriz de costos de un conjunto de 37 colores 62 Sucesiones y costos obtenidos por optimizacin y por opinin 69 de expertos Matriz de costos ampliada con rengln y columna correspondiente al ltimo color de la serie teida anteriormente Secuencia ptima del conjunto de 36 colores Secuencia ptima del conjunto de 36 colores con el uso previo del equipo para el color CM Esquema de la matriz de costos ampliada para incorporar los colores que faltaba teir del secuencia anterior Secuencias de colores con y sin la restriccin de evitar diferencias de color observables Costo de secuencias ordenadas con distintos mtodos Costos relativos de secuencias obtenidas por distintos mtodos Esquema de matriz ampliada para incorporar los colores que faltaban teir en cada equipo Coordenadas de ocho pares de colores referenciacontaminante Diferencias ij para los ocho colores contaminados Diferencias de color causadas por el 1% de colorantes residuales y porcentaje mximo de colorante residual permisible para que la diferencia no sea mayor que K Coordenadas Lab del conjunto P en el espacio CIELab Matriz de costos ij 71 72 72 73 74 77 77 81 84 84 86 87 87

FIGURAS Figura 1 2 3 4 5 6 7 8 9 10 11 12 13 14 14-a 14-b 14-c 15 16 Pgina Productos inicial y final en las distintas ramas de la industria 14 textil Estructura paralela de transformacin de la materia prima 15 y de la generacin y flujo de informacin Fabricacin de hilo de algodn 17 Proceso de confeccin de prendas de vestir 18 Distribucin espectral de los iluminantes A, D65 y F2 24 Curva espectral de la luz reflejada por una manzana 25 Igualacin de un haz de luz monocromtica con tres colores 27 bsicos Curvas de respuesta del ojo humano en funcin de la longitud 28 de onda Cono de todos los valores triestmulos posibles 30 Diagrama CIE de cromaticidad 31 Espacio de color L*a*b* 33 Esquema de un fotocolormetro 34 Proceso de podado de ramas 59 Zonas de dispersin de los costos que intervienen en la 78-79 solucin ptima Ordenamiento al azar 78 Ordenamiento por el eje L 78 Ordenamiento de acuerdo a los expertos 79 Representacin de las diferencias |Cj Cj| contra el 85 porcentaje de contaminante Porcentaje mximo de contaminante permisible para que la 86 diferencia causada, |Cj Cj|, no sea mayor que K contra la diferencia causada por el 1% de colorantes residuales

CAPTULO I

INTRODUCCIN

La optimizacin del teido de telas, o ms concretamente, la determinacin de la sucesin ptima de colores en el teido de telas, constituyen en realidad dos problemas, el color y la optimizacin, un problema tecnolgico y un problema matemtico. Esta conjuncin es paradigmtica. En el mbito acadmico se manifiesta asiduamente, la necesidad e importancia de establecer y profundizar la vinculacin entre investigacin y sector productivo. Sin embargo, y a pesar de los esfuerzos que se realizan en forma continua en tal sentido, esta vinculacin est limitada en la prctica, probablemente por razones econmicas e ideolgicas. Lamentablemente hay descreimiento y escepticismo en el sector industrial sobre la ayuda que podra obtener y, por el otro lado, en el sector acadmico, encontramos cierto menosprecio por los problemas industriales. Sin embargo, la industria enfrenta problemas cuya resolucin mejorara su productividad y la calidad de sus productos y distintas ramas de las ciencias bsicas podran participar en la resolucin de problemas industriales; adems de que los problemas industriales pueden motivar y ser fuente de inspiracin en trabajos de investigacin. Ciertamente, las posibilidades de vinculacin entre Ciencias Bsicas (Fsica, Qumica, Matemticas, Informtica) e Industria son inagotables. Nosotros hemos centrado nuestros esfuerzos en la optimizacin de procesos en un subsector de la industria manufacturera, el teido de telas en la industria textil. An as restringido, la riqueza del tema es muy amplia, los logros que se han alcanzado revisten particular trascendencia por la importancia que el teido tiene en toda la cadena del proceso textil, por la incidencia que reviste para la calidad perceptual y factual de los productos y, desde el otro ngulo, porque varios de los problemas que se suscitaron han dado lugar a investigaciones de caractersticas inditas que sustentan y justifican este trabajo de tesis. La confluencia entre ambas disciplinas, la optimizacin y el teido de telas, descansa en un modelo que describe el comportamiento del proceso productivo del sector y, en forma mucho ms general, de cualquier rama de una industria manufacturera (Maldonado 1996) [1]. En particular, la industria textil, en sus diferentes ramas, ha recibido en las ltimas tres o cuatro dcadas avances tecnolgicos que han alterado la estructura de la produccin. Los avances ms significativos estn relacionados con la robotizacin de los procesos y con la velocidad de procesamiento de las materias primas. Sin embargo, en las industrias manufactureras como la textil, junto a las sucesivas transformaciones de los materiales, se encuentra un flujo de informacin que

organiza el proceso productivo, incide sobre la calidad perceptual y factual de los artculos fabricados e influye en la estructura de costos. Las etapas donde se genera esta informacin es donde se pueden detectar y caracterizar problemas cuya resolucin contribuira a optimizar los recursos y mejorar la calidad de los productos diseados; es decir, constituyen el punto nodal para la optimizacin de los segmentos subsiguientes del proceso. El modelo desarrollado seala un paralelismo entre el trnsito de la materia prima que va siendo transformada y un flujo de informacin que establece las acciones sucesivas. En el Captulo II presentamos este modelo y su utilizacin en distintas ramas textiles y, en particular, en nuestro caso especfico.

1.1

El estado del arte en lo textil

En trminos generales, puede decirse que es en los departamentos de Ingeniera del Producto o de Programacin de la Produccin donde se genera la informacin sobre la cual es posible incidir para optimizar los procesos (Chvez 1993) [2]. As sucede en el teido de telas. La programacin del orden en que se teirn sucesivamente las telas en diferentes colores, es crucial para disminuir el nmero de lavados de los equipos de teido y la cantidad de reprocesos de las telas que no han alcanzado el color requerido. Sin embargo, a pesar de los adelantos tecnolgicos con que cuenta la industria del acabado de telas, sistemas computarizados para la medicin del color, formulacin automtica de la cantidad de colorantes necesarios, control de temperatura a lo largo del proceso de teido, se siguen produciendo fallas en la obtencin de los colores requeridos. Uno de los motivos, aunque no el nico, reside en una seleccin incorrecta del orden en que se harn los teidos sucesivos. Y es que la secuencia se establece en la enorme mayora de las fbricas, en todo el mundo, de manera totalmente emprica. Se utilizan criterios que se mantienen, prcticamente, desde el comienzo de la revolucin industrial, pero que tienen un porcentaje significativo de fracasos. Aparece como contradictorio que se mantenga un cuello de botella tecnolgico en el proceso de teido de una tela mientras que el control del color obtenido se efecta con equipos de alta precisin. Para muchas industrias el color es un aspecto esencial en los productos que fabrican y los servicios que proveen. Ms aun, el color es una parte inseparable de nuestro mundo y un elemento esencial en nuestra cultura. Desde tiempos muy remotos el color estuvo asociado con los dioses, con las fuerzas de la naturaleza y con la jerarqua social. Es decir, estuvo presente y jug un papel 7

destacado en la vida social y religiosa de Mesoamrica. La manifestacin de los colores en nuestra cultura no slo ha sido importante en el pasado; se ha prolongado hasta nuestros das en los textiles, las cermicas y los amates. Hoy en da, si el color no es "agradable" al consumidor, los artculos fabricados (las prendas confeccionadas) corren el riesgo de no ser aceptados (AATCC 1991) [3]. As, la tecnologa del color resulta crucial para la industrial textil. En esta industria, el color representa el 70% de todas las causas de rechazo a nivel industrial. En la produccin por lotes, tanto en el teido de telas como en la fabricacin de fibras de polister, una seleccin adecuada de la sucesin de colores podra reducir las diferencias indeseadas de color provocadas por la contaminacin de los equipos, disminuir los costos causados por el lavado de equipos y por el reprocesado, aumentar la calidad perceptual de los productos y atenuar el impacto ecolgico negativo propio de este sector industrial. Hemos desarrollado en el Captulo III los elementos bsicos sobre el color, las componentes que lo caracterizan, los sistemas de medicin y la perceptividad; es decir, su vinculacin con el ojo humano.

1.2

El estado del arte en lo matemtico

La seleccin de una secuencia ptima de colores corresponde matemticamente al tipo de problemas de optimizacin combinatoria (Morales 1996) [4]. Los problemas de optimizacin combinatoria pueden ser atacados con mtodos exactos que garantizan encontrar una solucin ptima. Estos mtodos derivan muchas veces de Programacin Lineal o son tcnicas enumerativas como branch and bound y programacin dinmica. En principio, podra pensarse que los problemas de optimizacin discreta son ms fciles de resolver. Es claro que una enumeracin completa de todas las soluciones posibles conducir a la solucin ptima. Pero este mtodo est limitado, porque hay una clase de problemas donde el tiempo empleado para encontrar la solucin ptima crece exponencialmente con la dimensin del problema. Sucede que an para los problemas de menor porte, el nmero de pasos sera tan grande que una computadora tardara siglos en el proceso de clculo. Por ejemplo, en un problema donde el nmero de soluciones posibles es del orden de n!, s se tarda 10-9 segundos para examinar cada solucin, el tiempo empleado sera de 80 aos para n=20 y 1,680 aos para n=21. La gran variacin observada en el tiempo de ejecucin, cuando el valor de n aumenta linealmente, es conocida en la literatura como explosin exponencial. Los problemas de este tipo son llamados NPcompletos (Campello 1994) [5]. Un ejemplo clsico del tipo de problemas cuya solucin no ha sido alcanzada ms que para instancias pequeas y en algunos casos particulares, es el llamado 8

Problema del Agente Viajero (TSP, por sus siglas en ingls). El TSP es uno de los problemas matemticos que han demandado mayor atencin porque tiene mltiples aplicaciones en problemas cientficos y de ingeniera y se enuncia de manera muy simple. Dada una lista de n ciudades {1, 2, ..., n}, y los costos, cij, de viajar entre dos cualesquiera de ellas; el problema del agente viajero consiste en encontrar un camino de mnimo costo que visite cada ciudad una sola vez y que regrese a la ciudad donde empez el tour. Pero, a pesar de su sencillez, hasta ahora han fracasado todos los intentos por encontrar un algoritmo eficiente para resolverlo; dicindose que es eficiente si el tiempo que tarda para hallar la solucin depende en forma polinomial del tamao del problema, en este caso del nmero de ciudades. El problema se ha transformado en crucial porque si se encuentra un algoritmo eficiente, en los trminos antedichos, se tendran solucionados todos los problemas de la clase NP-completos (Papadimitriou 1982) [6]. El costo computacional elevado asociado con los intentos de obtener soluciones ptimas, sobre todo en situaciones prcticas que comprenden problemas de dimensiones elevadas, tiene como alternativa la obtencin de una buena solucin (no necesariamente ptima) con costo computacional ms reducido. Esto a llevado al desarrollo de un gran nmero de Algoritmos Heursticos (Campello 1994) [5]. En el caso del teido de telas se trata de establecer las condiciones que minimicen el efecto de la contaminacin residual. Efectivamente, un factor que genera diferencias entre el color propuesto y el obtenido en una tela, es la presencia de residuos de los colorantes usados con anterioridad y que contaminan el equipo de teido. El anlisis del proceso de teido y la eleccin de la secuencia ms adecuada lleva a un problema del tipo del agente viajero, aunque esto no implica que el problema de establecer una secuencia ptima no tenga solucin. En realidad, el tamao del problema; es decir, la cantidad de colores que se procesan como un conjunto en cualquier fbrica textil, son resolubles de manera exacta en una PC. La riqueza del problema no est en la dificultad matemtica si no ms bien en la conjuncin y adaptacin de la herramienta de clculo a las mltiples variantes que surgen de los requerimientos del trabajo industrial.

1.3

El teido

El teido del polister con colorantes dispersos se efecta en jet (especie de olla a presin) donde, en cada operacin, se coloca la tela, entre 150 y 300 kilogramos, alrededor de 4000 litros de agua, colorantes y los aditivos necesarios, tales como sustancias que aumentan la solubilidad y dispersantes que evitan que las partculas de colorante se aglutinen entre si. El proceso tiene una duracin media de cuatro horas, con una temperatura de rgimen de 130C. En general, despus del teido, la tela se enjuaga dentro del mismo recipiente para eliminar los colorantes que han quedado adheridos a ella pero que no penetraron en la fibra. Finalmente se

retira la tela y se expulsa el agua, quedando el equipo listo para el siguiente proceso, aunque quedan residuos de los colorantes utilizados. En las empresas que se dedican al acabado se reciben pedidos de sus clientes para teir telas en un conjunto de distintos colores. Se construye una lista ordenada de los colores que sern usados sucesivamente. Las telas son teidas en un mismo equipo que es evacuado pero no es lavado despus de cada proceso. Despus de teir cada tela, la mayor parte de los colorantes empleados pasa a formar parte integral de ella, pero una fraccin permanece en el bao y en el equipo de teido. La cantidad utilizada en el proceso depende del tipo de fibra, la naturaleza del colorante y de los parmetros de operacin tales como tiempo y temperatura. La fraccin no usada representa un elemento contaminante que afecta los procesos de teido subsiguientes; por lo tanto, el color de la tela que es teida en segunda instancia puede diferir del color deseado debido a la presencia de residuos de los colorantes que se utilizaron previamente. La medida en la que los residuos alteran el color del proceso subsiguiente (bajo idnticas condiciones de operacin) depende del color del material residual y del color usado en el nuevo teido. As, en cuanto al efecto que tiene para el proceso de teido, cada par de colores constituye una dada asimtrica. Por eso es que los tcnicos, para reducir las consecuencias, tien primero los colores claros y despus los oscuros, primero los limpios y despus los sucios. Sin embargo, este tipo de procedimiento hace imposible considerar el conjunto de colores como un todo, dado que, para slo 10 colores sera necesario considerar 10! = 3,628,800 secuencias diferentes. En consecuencia, se produce una prdida de calidad por mayores niveles de contaminacin y un aumento en los costos por reprocesamiento de telas y lavado ms frecuente de los equipos. Se hace evidente la importancia de contar con mtodos que permitan obtener la secuencia ptima de colores para que se reduzcan los efectos de la contaminacin.

1.4

Objetivos y estructura del trabajo

Llegado a este punto, enfrentamos el siguiente problema: Dado un conjunto de n colores, es necesario encontrar la secuencia de procesamiento que produzca la mnima diferencia entre los colores deseados y los colores que sern obtenidos. Teniendo en cuenta estos elementos se desarroll un modelo matemtico que se basa en las consecuencias que los residuos de colorantes que permanecen en el equipo tienen sobre el teido subsiguiente (Morales 1996, Maldonado 2000) [4,7]. El modelo obtenido es anlogo al Problema del Agente Viajero Asimtrico (ATSP, por sus siglas en ingls), permite aplicar tcnicas de optimizacin y lo presentamos en el Captulo V. 10

El Captulo IV lo dedicamos al problema de Optimizacin en general y Optimizacin Combinatoria y al ATSP en particular. Para resolver nuestro problema hemos empleado bsicamente dos tcnicas distintas: una enumeracin exhaustiva, para lo cual desarrollamos un programa computacional que puede utilizar computacin en paralelo y que calcula las permutaciones de 15 elementos en orden lexicogrfico en 10 segundos en una PC a 400 Mz; y un programa basado en el mtodo de branch and bound, con el cual hemos resuelto de manera exacta secuencias de hasta 37 colores (Carpaneto 1995) [8]. En el Captulo V desarrollamos este mtodo y mostramos detalladamente un ejemplo sencillo. El Captulo VI lo dedicamos a la resolucin del problema de obtener secuencias ptimas de colores para el teido de telas. En primer lugar resolvemos el caso de un conjunto de 10 colores, sin ningn condicionamiento. Hemos incorporado, entonces, restricciones representativas de las condiciones reales de produccin industrial y desarrollamos mtodos de resolucin utilizables por una empresa fabril. Las restricciones contemplan situaciones relacionadas con el uso previo del equipo de teido, la sensibilidad del ojo humano y las condiciones de carcter comercial (Maldonado 2000) [7]. En los dos primeros casos hemos resuelto el problema con modificaciones adecuadas en la matriz de costos que conducen a la solucin exacta. Para la tercer restriccin suele usarse mtodos conocidos como ventanas de tiempo. Nosotros hemos desarrollado un mtodo heurstico que conduce a soluciones que difieren a lo mximo en una cota conocida de la sucesin ptima y que se basa en realizar modificaciones adecuadas en la matriz de costos y utiliza tambin un algoritmo estndar para el ATSP (Maldonado 2001) [9]. Hemos tenido en cuenta otra condicin ms impuesta por el trabajo industrial: aunque el proceso de encontrar una sucesin ptima para un conjunto de colores de tamao normal en la industria (n<50 colores) puede realizarse actualmente en una PC, subsisten un importante problema prctico. Se debe tener en cuenta que la determinacin de cada valor se realiza en un colormetro por un proceso de simulacin. Entonces, para un conjunto de 50 colores sera necesario determinar 2500 valores, lo que implicara un tiempo excesivo. El problema de encontrar la sucesin ptima para series largas de colores lo resolvimos mediante un mtodo heurstico que permite utilizar solamente los costos que se encuentran en una banda estrecha paralela a la diagonal principal. Las soluciones encontradas han sido en todos los casos mejores a las soluciones propuestas por los expertos y, por lo tanto, vlidas desde el punto de vista de su aplicabilidad industrial (Maldonado 1999) [10].

11

Queremos enfatizar que, tanto la resolucin del caso ms simple pero que incluye el desarrollo del modelo de optimizacin, as como la introduccin de las distintas restricciones y la resolucin de series largas de colores con un conocimiento parcial de la matriz de costos, han dado lugar a trabajos publicados en revistas internacionales (Maldonado 1999a, Maldonado 1999b) [10][59], referenciadas en el Citation Index (Morales 1996, Maldonado 2000, Maldonado 2005) [4][7][56] y presentados en congresos internacionales textiles (Maldonado 1998) [13] y de Investigacin de Operaciones (Maldonado 2001a, Maldonado 2004, Maldonado b) [9][57][73]. Finalmente, incorporamos tres apndices con los programas fuente en Turbo Pascal, que generan las permutaciones de n elementos en orden lexicogrfico, resuelven el problema de encontrar la secuencia ptima para conjuntos de hasta 15 colores y que resuelven por el mtodo de backtracking el ATSP para ms de 50 ciudades.

12

CAPTULO II 2 INDUSTRIA TEXTIL E INVESTIGACIN DE OPERACIONES

La industria textil ha sido y sigue siendo un sector productivo econmicamente importante, tanto por el porcentaje que le corresponde en el PIB de muchos pases como por la generacin de puestos de trabajo. Esta industria empieza a tomar el carcter de tal, aproximadamente, a partir del siglo XI con la multiplicacin de los centros urbanos y el consiguiente crecimiento del intercambio local y comarcal. Ya para entonces se presenta un panorama de produccin artesanal e industrial desarrolladas, que abasteci el comercio internacional, en reas del norte de Italia y a las que, para los siglos XII y XIII, se incorporaron regiones del norte de Europa, bsicamente entre el Loire y Flandes. Los textiles alimentaron una actividad productiva que gener riqueza en los puntos en los que se concentr y domin el mercado nacional e internacional. Le correspondi el mayor protagonismo dentro de la industria europea. Ms an, la industria medieval se desarroll primordialmente en funcin de la fabricacin de tejidos [11]. Claro est, que la produccin textil, con caractersticas semejantes a las que conocemos hoy en da, se alcanza con la revolucin industrial, a fines del 1700. La industria textil fue motor y al mismo tiempo beneficiaria de los cambios que se produjeron entonces, al punto que los historiadores de la economa estn de acuerdo en admitir que fue la industria textil la pionera en esos cambios. "Cualquiera que mencione la Revolucin Industrial est refirindose al algodn", afirma Eric J. Hobsbawm [12].

2.1

Industria Textil

Cuando hablamos de Industria Textil se debe tener en cuenta que comprende cuatro grupos de industrias bien diferenciadas, cuyas ramas principales son: A) La fabricacin de hilos a partir de las fibras. La fabricacin del hilo se realiza partiendo de fibras, ya sean naturales, hechas por el hombre o mezclas, que son alineadas y retorcidas y estiradas hasta obtener el grosor y la resistencia adecuadas. B) La fabricacin de telas a partir de hilos. Las telas se producen mediante hilos unidos por el entrecruzamiento de conjuntos dispuestos perpendicularmente entre si (tejido plano) o por la formacin de mallas (tejido de punto).

13

C) El acabado de las telas. Las telas, para poder usarse en la confeccin de prendas, se someten a procesos de acabado que puede comprender varias acciones, desengomado, teido, apresto, etc. D) La fabricacin de prendas de vestir, utiliza como elemento fundamental la tela, adems de los avos. En base a patrones se corta la tela, que luego es cocida con distintos tipos de mquinas y unida entre si. Los cuatro procesos estn ilustrados esquemticamente en la Figura 1. Cabe aclarar que, aunque los cuatro grupos sealados son los ms importantes, esta clasificacin no es completa. As, por ejemplo, las telas tienen varios usos industriales adems del de la confeccin de ropa, como ser las lonas para cubrir mercancas; tampoco estamos considerando aqu al grupo de los notejidos, con los geotextiles, bajo-alfombras, etc. Al referirse a cualquiera de estos procesos productivos podra pensarse exclusivamente en la sucesin de acciones que van transformando la materia prima. Sin embargo, queremos enfatizar, que paralelamente al trnsito de los materiales en proceso de transformacin se encuentra la generacin y el flujo de informacin.

MATERIAS PRIMAS

FIBRA

HILO

TELA EN CRUDO

TELA

PROCESO PRODUCTIVO

PRODUCTO FINAL

HILO

TELA

TELA TERMINADA

ROPA

Figura 1. Productos inicial y final en las distintas ramas de la industria textil 14

Estas industrias, de manera semejante a lo que sucede con la generalidad de las industrias manufactureras, tienen caractersticas comunes: el proceso productivo de todas ellas comprende, por un lado, una sucesin de acciones, desde manuales hasta totalmente automatizadas, que van transformando la materia prima hasta convertirla en el producto final y una generacin y flujo de informacin paralelo que establece y ordena los procedimientos, como se ilustra en la Figura 2. Esta estructura es independiente del grado de automatizacin alcanzado, inclusive en el caso de que el proceso de integracin mediante computadoras alcance todas las funciones de produccin y que las tareas del hombre se reduzcan a las de mantenimiento y supervisin.

MATERIAS PRIMAS

TRANSFORMACION DE MATERIA PRIMA

GENERACION Y FLUJO DE INFORMACION

PRODUCTO FINAL

Figura 2. Estructura paralela de transformacin de la materia prima y de la generacin y flujo de informacin Este modelo es el que permite establecer el nexo entre los problemas de la industria textil (y otras industrias manufactureras) y la optimizacin de los segmentos del proceso productivo que estn involucrados. La optimizacin de segmentos del proceso productivo tiene tambin distintas connotaciones dependiendo del sector de la estructura a que se refiera. Planteado en trminos de transformacin de la materia prima, los avances tecnolgicos (ms que la optimizacin) estn vinculados al desarrollo de hardware: mayor velocidad, robotizacin, etc. En cambio, en lo referente al flujo de informacin, los avances se centran en las crecientes posibilidades del manejo de grandes volmenes de informacin y a la velocidad de su procesamiento. Pero, donde la optimizacin tiene una vinculacin directa con el proceso productivo es en la generacin de informacin.

15

2.2

Optimizacin

La optimizacin se refiere a encontrar soluciones ptimas en problemas que pueden ser estructurados como funcin de variables de decisin, en presencia de algunos vnculos. En general, problemas que pueden ser formulados de la siguiente manera: Minimizar f(x) sujeto a hi(x) = ci gj(x) bj y j = 1,2,...,n,

con i = 1,2,...,m

donde fi, , gi y hj son funciones generales del parmetro x [6]. En el Captulo IV tratamos todos los aspectos relacionados con la optimizacin que guardan relacin con nuestro trabajo.

2.3

Aplicaciones

Vamos a presentar aqu algunos ejemplos de la optimizacin de procesos en distintas ramas de la industria textil. Para poder plantear de manera simple problemas concretos, poder desarrollar en cada caso el modelo correspondiente e intentar su solucin mediante tcnicas de optimizacin, es conveniente ver, en primer trmino, con ms de detalle, para algunos de los grupos (hilatura, confeccin) el esquema presentado en la Figura 1 [13].

2.3.1 Fabricacin de hilos de algodn El procedimiento consta esencialmente de los siguientes pasos: A) Se mezclan varias pacas de algodn. B) Se produce una napa, es decir, un colchn de fibras de algodn alineadas. C) Se produce una mecha. D) Se estira y retuerce la mecha repetidamente hasta obtener el hilo del dimetro deseado. En la Figura 3 estn representadas la transformacin de la materia prima y la generacin y flujo de informacin.

16

MATERIA PRIMA (FIBRAS) MEZCLA DE PACAS

DISEO E INGENIERIA DEL PRODUCTO

-QUE PACAS SE VAN A MEZCLAR NAPA MECHA HILO -PROCEDIMIENTOS PARA OBTENER EL HILO CON LOS PARAMETROS REQUERIDOS

Figura 3. Fabricacin de hilo de algodn Este proceso responde al esquema que presentamos anteriormente: hay una accin sobre la materia prima y generacin y flujo de informacin. Se parte de una nave llena de pacas de algodn, que tienen distintas caractersticas fisico-qumicas. El color del hilo, la resistencia y la reaccin ante el teido son parmetros que dependen, en primera instancia, de las caractersticas de las fibras. Concretamente, la resistencia del hilo depende de la longitud de las fibras. Entonces, es imprescindible la informacin de los procedimientos a seguir para obtener el hilo con los parmetros deseados. Cuando se va a fabricar hilo de algodn se dispone de la informacin siguiente: -Se conocen los parmetros (banco de datos) de la materia prima (pacas de algodn). -Se conocen los valores finales, en promedio, que se necesita obtener en el producto. El problema para el ingeniero textil consiste en producir un hilo que tenga caractersticas lo ms parecidas posible a los estndares y asegurar la constancia de esas caractersticas en el tiempo. Si llamamos X i al valor estndar del i-simo parmetro, i es el peso que establece el nivel de importancia para el parmetro i, Xij es el valor medido del parmetro i en cada lote j (obviamente, los valores Xij dependen del conjunto de pacas mezcladas); entonces, debemos minimizar las diferencias, en valor absoluto, entre los valores medidos y los valores deseados (vaslores estmdar), y nuestro problema puede expresarse como el siguiente problema de optimizacin Min i X ij X i

2.1

17

2.3.2 Confeccin Esquemticamente, como se muestra en la Figura 4, podemos considerar en el proceso de confeccin de ropa cuatro etapas: Diseo e Ingeniera, Pre-armado, Armado y Terminado.

MATERIA PRIMA (TELA) TRAZO

DISEO E INGENIERIA DEL PRODUCTO

-QUE ROLLOS SE VAN A CORTAR CORTE ARMADO TERMINADO -PROCEDIMIENTOS PARA EVITAR EL DESPERDICIO DE TELA AL FINAL DE CADA ROLLO

Figura 4. Proceso de confeccin de prendas de vestir La generacin de informacin se produce principalmente en la fase de Diseo e Ingeniera. Las decisiones que se toman en esta etapa influyen en la estructura de costos y en la organizacin del proceso de produccin subsiguiente. Las actividades involucradas son tres: a) un patrn industrial que comprende los moldes de cada componente de la prenda, b) un conjunto de instrucciones de ensamble y c) las instrucciones de la organizacin del proceso. En la etapa de pre-ensamble se usan los datos incorporados en el patrn para producir un conjunto de moldes graduados, cuya cantidad depende del tipo de prenda (para un traje de hombre con tallas de la 36 a la 48 pueden llegar a generarse unos 3000 moldes). En esta misma etapa los moldes se utilizan para hacer un trazo; es decir, colocar los moldes uno junto al otro, tan cerca como sea posible, aunque respetando la direccin del tejido y los dibujos que tenga la tela. Los trazos terminados ms los datos del armado, del sector de ventas y del inventario se usan para determinar un esquema de corte. Este esquema deber establecer cuantos trazos se usarn, cuantas telas se tendern y de que longitud y de que rollo ser cada tela tendida. Un objetivo central en toda empresa confeccionadora es optimizar el uso de la tela dado que esta incide en un porcentaje del 50% en el costo total de una prenda y el desperdicio tiene un valor comercial despreciable. El desperdicio de tela se debe a 18

la forma irregular de los moldes, a los extremos de cada capa de tela tendida, a los empalmes y a los trozos de tela de longitud no utilizable que queda como sobrante en los rollos. De la necesidad de disminuir el desperdicio de tela surgen dos problemas de optimizacin.

Rollos de tela El primer problema est relacionado con la administracin de los rollos de tela y puede sintetizarse en la siguiente pregunta: Como utilizar los rollos de tela para disminuir el desperdicio ocasionado por trozos sobrantes? [14][15]. Para la confeccin de un modelo se elaboran los trazos de cada una de las tallas solicitadas en un pedido. Esta claro que no se elabora un trazo por prenda. Se tienden varias capas de tela y con un trazo se cortan de una sola vez toda la pila de telas; pero a cada prenda solicitada le corresponde un trozo de tela de la longitud del trazo. Esto implica que en cada rollo de tela en existencia se deben colocar objetos (los trazos) de longitudes dadas. La cantidad total de objetos a colocar es igual a la cantidad de prendas solicitadas. Sean entonces, b1, b2, ... bn objetos de longitudes l1, l2, ... ln respectivamente, que deben colocarse en los rollos tj de longitudes t1, t2, ... tk; donde n es la cantidad de objetos distintos (tallas) y k es la cantidad de rollos de tela. Un objeto dado i (hay un total de Q = b1+b2+... bn objetos) debe estar en alguno de los rollos tj; o sea que, una variable xij ser 1 cuando el objeto i est en el rollo j y 0 en caso contrario. Entonces,

X
j =1

ij

=1

2.2

Por otro lado, la cantidad de objetos en cualquier rollo no puede exceder su capacidad; entonces,

X
i=1

ij

x Li + y j = T j

2 .3

donde las Yj son variables de holgura; indican la cantidad de tela del rollo Tj que qued sin utilizarse. El objetivo de minimizar el desperdicio de tela puede trasladarse al siguiente: que toda la tela que no se usa quede concentrada en un solo rollo; es decir, formalmente tenemos Maximizar Yk

19

sujeto a los vnculos 2.2 y 2.3. Este aparece como un problema semejante al problema de la mochila. El modelo es formalmente simple, aunque, para un pequeo pedido de 1000 camisas en 6 tallas tendramos 20,000 variables Xij y 1,000 vnculos[15]. Trazos En secciones anteriores de este captulo dijimos que en la etapa de Prearmado se combinan los moldes de cada talla que se va a confeccionar para obtener un trazo; esto es, se dibujan los moldes sobre un largo papel un poco ms ancho que la tela colocndolos tan cerca entre s como sea posible para minimizar el desperdicio de tela. El desperdicio de tela oscila entre un 5% y un 15%, dependiendo del modelo de la prenda. El trazo obtenido sirve de gua para cortar la tela, para lo cual se lo coloca sobre la tela tendida en capas. Al cortar se obtienen de una sola vez, tantas piezas de tela iguales a cada molde como capas de tela se hayan tendido. Desde luego, los moldes de cualquiera de las tallas puede colocarse en el trazo por duplicado obtenindose al cortar el doble de piezas de tela. La realizacin de cada trazo implica el empleo de una cantidad importante de tiempo para acomodar los moldes as como para el tendido de las telas y genera desperdicio, no slo por la superficie no cubierta entre los moldes sino tambin por la cantidad de tela que se emplea en los extremos y en los empalmes. Las planeacin encaminada a satisfacer un pedido de Q prendas de un cierto modelo en m tallas, con b1 prendas de la talla 1, b2 de la talla 2, ... etc., deber establecerse cuantos trazos se realizarn, cuantas telas se tendern y los moldes de que tallas se colocarn 0, 1 2 veces en cada trazo. El problema al que se enfrenta el departamento de Diseo e Ingeniera puede expresarse en los siguientes trminos: Al recibir un pedido de b1, b2, ... bm prendas por talla, se desea saber cual es el nmero mnimo de trazos a realizar para cortar la cantidad exacta de prendas requeridas, suponiendo que los moldes pueden repetirse a lo sumo dos veces. El objetivo de minimizar el nmero de trazos puede formularse entonces de la siguiente manera: Minimizar c = |{ xj : xj = 0}| sujeto a 2.4 2.5 2.6

a
j=1

ij

x j = bi

i = 1,2,...N

xi {0, 1, 2, ....}

20

donde n =3m - 2m, y aij es una matriz cuyas columnas son vectores con componentes 0,1 2, pero con al menos una componente distinta de cero. Este es un problema de programacin lineal entera. 2.3.3 Teido de telas El teido de telas da lugar tambin a un problema de optimizacin. Sin embargo, dado que constituye el tema central de nuestro trabajo de tesis, lo trataremos con todo detalle en los captulos subsiguientes.

21

CAPTULO III 3 COLOR

El color, como lo hemos consignado en la introduccin, es esencial para muchas industrias y, en particular, resulta crucial para la industria textil. Por ello, hemos desarrollado en este captulo los elementos bsicos sobre el color, las componentes que lo caracterizan, los sistemas de medicin y la perceptividad; es decir, su vinculacin con el ojo humano. El arte de colorear empez, seguramente, hace ms de 150,000 200,000 aos y ha sido usado en todas las edades y civilizaciones. Desde tiempo inmemorial, el hombre debe haber visto con asombro y deleite el azul del cielo, los tonos escarlata y naranja de la puesta del sol y la variedad de colores del arco iris y, desde muy temprano, desarroll con el color una empata mstica. El estudio abstracto del color tiene sus orgenes en Grecia, hace ms de 24 siglos cuando Aristteles [16][17] enunci que la luz es necesaria para el color y que los objetos ordinarios aparecen coloreados porque la absorben, pero la moderna ciencia del color fue fundada por Isaac Newton que separ los componentes de la luz blanca en la secuencia de colores que denomin el espectro. Su obra Opticks [18], una clara e interesante introduccin a la ciencia del color, fue publicada en 1704. En el perodo de tiempo comprendido entre ambos, aparecieron varios tratados sobre el color (hemos podido encontrar referencias de 52 trabajos relacionados con el tema), la mayora en latn o en italiano, aunque todos han sido traducidos al ingls y algunos al espaol. En general se refieren al arte, pintura, escultura y arquitectura, aunque existe, de alrededor del ao 400, un documento annimo de alquimistas, conocido como Papiro de Leyde, con recetas para la preparacin de pinturas [19] y un par de tratados sobre el teido de hilos y telas[20][21]. A partir de Newton la bibliografa es cada vez ms amplia. Es interesante observar como se va vinculando, por un lado, la visin del color con un proceso psico-fsico, desde el comienzo de 1800 y, por el otro, como comienza desde 1700 a cobrar importancia la sistematizacin de las tcnicas del teido de telas. Cabe tambin destacar que a principios del siglo XX comienzan a desarrollarse los sistemas de medicin del color. En esa poca, la mayora de los libros y artculos aparecen en ingls y en alemn. La ciencia del color consiste de todos los conocimientos concernientes a la produccin del estmulo del color y a su percepcin visual. Incluye contribuciones de la qumica, la biologa y, fundamentalmente, de la fsica y la psicologa. Por eso est clasificada como una ciencia psicofsica [22].

22

La observacin del color de un objeto depende de una variedad de condiciones. Cada una de las impresiones de color que recibimos y que designamos con los conceptos: amarillo, rojo, verde, azul no dependen solamente de las propiedades del tipo de objeto observado sino tambin de las propiedades de la fuente luminosa y de las caractersticas de nuestros ojos. Si tan solo uno de ellos cambiara, tambin cambiara la percepcin recibida. Una manzana que puede aparecer tan deliciosa bajo la luz del sol en el frente de una frutera, algunas veces no se ve tan buena con una luz fluorescente en el hogar. Muchas personas han pasado por esa experiencia. Es que la luz del sol, una lmpara de tungsteno o una luz fluorescente, cada tipo de iluminacin, hacen que la misma manzana luzca diferente. La sensibilidad de los ojos de cada individuo es levemente distinta; an gente que tiene una visin normal para el color puede tener un desplazamiento hacia el rojo o el azul. Tambin, el alcance visual de una persona cambia con la edad. Por estas razones, los colores pueden aparecer diferentes para distintas personas. Despus de ver una pequea muestra de un papel tapiz que aparece como adecuado, a veces la gente lo considera demasiado brillante cuando ya est colocado en la pared. Los colores que cubren un rea grande suelen aparecer ms brillantes y vvidos que cuando cubren un rea pequea. Tampoco se ve igual una superficie spera que una pulida. Adems, un mismo objeto colocado junto a un fondo brillante aparecer ms opaco que si est frente a un fondo oscuro. Podemos, entonces, identificar tres componentes del proceso visual: La fuente luminosa El observador El objeto observado

3.1

La fuente luminosa

El color es una sensacin visual, que en forma de corriente nerviosa es transmitida al cerebro cuando la retina es estimulada por energa radiante, por la luz. sta es slo una pequea parte de todo el espectro electromagntico, la nica forma que puede ser percibida por el ojo humano y que constituye el espectro visible. Para el estudio de la luz y del color (y de la energa radiante en general) un parmetro bsico es la longitud de onda. Las longitudes de onda son medidas en milmillonsima de metro o nanmetros (nm = 10-9 m). Las longitudes de onda suelen designarse con la letra griega (lambda). La energa radiante de longitudes de onda de aproximadamente 400 a 700 nm comprenden el espectro visible. Al extremo de longitud de onda ms corta le siguen las radiaciones ultravioleta y Rntgen y al de

23

longitud de onda ms larga los rayos trmicos infrarrojos y despus las todava ms largas ondas de radio. Las principales fuentes luminosas que encontramos en la vida diaria son: el sol, las lmparas elctricas incandescentes y las lmparas fluorescentes. Para caracterizar numricamente una fuente luminosa debe indicarse la cantidad de luz que irradia por longitud de onda (distribucin de energa espectral). Para los clculos en colorimetra se han establecido acuerdos de carcter internacional en lo tocante a la distribucin media de energa espectral de cada una de las fuentes luminosas habituales. Los acuerdos son coordinados y las recomendaciones publicadas por la Comisin Internacional de Iluminacin CIE (Commission Internationale de lEclairage) con sede en Pars con representantes de 38 pases industrializados de todo el mundo. La CIE define tres tipos de iluminantes: La luz tipo A que corresponde a una lmpara incandescente de filamento de tungsteno con una temperatura de color de 2856 K. La distribucin de energa espectral muestra que las cantidades de energa varan ampliamente con la longitud de onda. Comparado con la luz de da los objetos vistos bajo este iluminante lucirn ms naranjas. El iluminante tipo D65, recomendado por la CIE como luz de da. La letra D designa la luz diurna y el nmero 65 indica la temperatura de color de 6500 K. Esta luz es la ms aproximada a la luz natural; si observamos su distribucin de energa espectral nos daremos cuenta que todo lo que observemos bajo este iluminante lucir ms azul debido a que su mxima longitud de onda se encuentra en el rea de los azules ste es el iluminante considerado como casi neutral, adems cabe mencionar que la que es aceptada como la mejor luz natural es la proveniente de cielo norte al medio da y que tiene un matiz azuloso. El tercer iluminante es el F2 y corresponde a una lmpara fluorescente fra con una temperatura de color de 4230 K. Bajo este iluminante todo lo que miremos se notar ms verde-naranja ya que suministra ms energa en la regin comprendida entre los 540-620 nm. La distribucin espectral de los tres iluminantes se presenta en la Figura 5.

Figura 5. Distribucin espectral de los iluminantes A, D65 y F2 24

3.2

El objeto

Cuando la luz incide en un objeto coloreado, se producen los siguientes fenmenos: una pequea parte (inferior al 2% en tejidos y papel) se refleja en la superficie, a causa de la diferente densidad ptica material/aire. sta se designa como remisin superficial brillo. La mayor parte de la luz atraviesa la capa exterior y se difunde por todas las fibras, es decir es reflejada en todas direcciones del espacio y por lo tanto sale nuevamente del material. Si las fibras no estn teidas, la luz saliente tiene prcticamente el mismo color que la entrante. Cuando, por el contrario, las fibras estn teidas, una parte de la luz entrante es absorbida por las molculas del colorante y es transformada en calor y por lo tanto no vuelve a ser visible; la parte de la luz que es emitida nuevamente es la que confiere el color al objeto. La Figura 6 muestra una curva tpica de la luz reflejada por un objeto en funcin de la longitud de onda. Las caractersticas de la muestra determinan la forma como sta interacta con la luz. Si la muestra es opaca podremos describirla mediante la medicin de las longitudes de onda que son reflejadas por ella; si la muestra es transparente, podremos describirla midiendo las longitudes de onda de la luz transmitida.

Figura 6. Curva espectral de la luz reflejada por una manzana

3.3

El ojo humano

El tercer componente del proceso visual es el ojo humano. La luz que entra en nuestros ojos a travs de la pupila es puesta en forma de haces por el cristalino y produce en la retina una imagen del objeto observado. En la retina se encuentran los sensores de la luz. Una pequea zona de la retina llamada fosa foveal contiene un elevado nmero de clulas visuales capaces de percibir el color. Estas clulas sensibles al color reciben el nombre de conos. Adems de los conos existe otro tipo de sensores llamados bastones los cuales presentan gran 25

sensibilidad al grado de luz u oscuridad. Por lo tanto los bastones son necesarios para la llamada visin nocturna, es decir, para la percepcin de claros/obscuros en condiciones de escasa luminosidad. En casos de fuerte iluminacin, como por ejemplo en el de la luz diurna, la accin de los bastones se interrumpe y, en estos casos slo tienen una importancia secundaria. En el ojo adaptado a la claridad (la luz del da), los conos se encargan de transmitir al cerebro las impresiones visuales. Hay tres clases de conos con diferencias relativamente amplias de sensibilidad espectral, los mximos de su sensibilidad se hallan en las zonas de onda ms corta (azul), media (verde-amarillo) y larga (rojo) de la regin espectral visible. La luz proveniente de un objeto es percibida por el ojo humano, el cual la separa en sus tres componentes: rojo, verde y azul. Esta informacin es analizada en el cerebro del observador para decirnos que dicho objeto es rojo, azul verde, pero cada persona puede apreciar el color de manera distinta sin contar an las variaciones debidas a factores tales como: cansancio, edad, disposicin de nimo, etc. Esta multitud de elementos, muchas veces cambiantes, son las generan la principal dificultad en la apreciacin del color. Se trata entonces de definir un observador estndar, es decir, un observador que represente a la persona promedio con visin de color sin defectos.

3.4

El observador estndar

En 1931 la CIE [23], basndose en los trabajos de David Wright [24] y John
Guild [25], que haban estudiado la respuesta de un observador ante luces de distintas longitudes de onda, estableci lo que defini como observador estndar. Las personas de prueba tenan que mezclar las luces de los tres colores primarios variando la intensidad de cada uno para poder igualar colores determinados. El observador mira a travs de una pequea abertura hecha a una pantalla blanca la cual esta dividida por una lmina negra, el punto de luz coloreado proviene de una lmpara de prueba e incide sobre una cara de la pantalla blanca, por la otra cara hay un punto de luz creado por una combinacin de luz roja, verde y azul; las tres luces son llamadas primarias. El observador ve simultneamente la lmpara de prueba y la luz creada por los tres primarios y ajustando la intensidad de los primarios puede hacer que el color combinado se iguale al de la lmpara de prueba. Se utilizaron tres colores espectrales: rojo, verde y azul, con longitudes de onda de 700, 546.1 y 435.8 nm, respectivamente, como estmulos primarios de referencia. Entonces, el color producido por las tres luces primarias puede ser descrito ahora como la cantidad de rojo, verde y azul necesarias para producir el color a cada longitud de onda del espectro visible. Cuando este experimento se realiz con suficientes observadores, se hizo un promedio de los valores obtenidos. Esta tabla con valores de respuesta promedio fue definida como el observador estndar [26].

26

En la Figura 7 se observa el esquema del equipo utilizado para lograr la igualacin de un haz de luz monocromtica mediante los tres colores, rojo, verde y azul con las longitudes de onda indicadas.

Figura 7. Igualacin de un haz de luz monocromtica con tres colores bsicos Debido a que algunos colores, magenta, cian, no se podan obtener con ninguna combinacin aditiva de los tres colores primarios; es decir, haba que recurrir a combinaciones sustractivas, la CIE desarrollo algoritmos para generar tres constituyentes primarios hipotticos de color, a los que llam X, Y, Z. Estos colores hipotticos pueden generar todos los colores visibles por el ojo humano combinndose aditivamente. El resultado de los ensayos dio lugar a tres curvas de sensibilidad, x ( ) , y ( ) , z ( ) , con las que se puede describir el comportamiento del ojo humano expuesto a una luz de diferentes longitudes de onda. En la Figura 8 estn representadas las curvas de respuesta del ojo humano a distintas longitudes de onda del espectro visible. Los primeros experimentos del observador estndar se realizaron para un ngulo de visin de 2 grados, que es equivalente a mirar una muestra de aproximadamente el tamao de una moneda mexicana de 10 centavos (11 mm de dimetro) desde una distancia de 45cm e implica que solo era usada el rea central de la retina. Posteriormente se repitieron entonces los experimentos para un ngulo de visin mayor y fue llamado observador a 10 grados. Los datos del observador a 10 grados son recomendados para la mayora de las aplicaciones industriales. Se debe consignar siempre, para que condiciones se han calculado los valores triestmulos (el trmino triestmulo deriva del hecho de que la percepcin del color es

27

el resultado de que la retina del ojo responde, por medio de los conos, a tres tipos de estmulos). Cuando no se indican se sobreentiende que se trata de D65/10 grados.

Figura 8. Curvas de respuesta del ojo humano en funcin de la longitud de onda

3.5

Espacios de color

Un espacio de color es un modelo que trata de representar colores en trminos de valores numricos y que los especifique en trminos de la percepcin humana. Entre los primeros intentos realizados para desarrollar un ordenamiento de los colores, est el del americano, Nicholas Ogden Rood, inicialmente fsico y despus pintor, que propuso usar dos pirmides pegadas por la base. El color blanco deba ser pintado en un extremo y el negro en el otro, una rueda espectral de color deba ser pintada alrededor del empalme entre las dos pirmides, y se deban completar las caras con transiciones suaves a lo largo de todas las superficies [27]. En tanto que fsico, Rood estaba interesado en la mezcla aditiva de colores y se apoy en el disco cromtico desarrollado por Maxwell [28].

28

Otro avance importante es el logrado por el pintor Albert Munsell. ste, siguiendo las ideas de Rood desarroll el que es conocido, justamente, como sistema del color de Munsell. Su espacio de color en 3D se basa en pigmentos, no en luces [29] y aunque su espacio es muy irregular y asimtrico, contina siendo utilizado por los fabricantes de pinturas, artistas y diseadores y presagi el desarrollo de los espacios de color de la CIE. En los siguientes pargrafos describiremos algunos espacios de color, en la lnea que conduce al sistema que es utilizado en la actualidad, especialmente en la industria textil, el CIEL*a*b*.

3.5.1 El espacio XYZ Para tener en cuenta los tres aspectos que intervienen en la visin del color de un objeto, la luz que lo ilumina, la reflexin de la luz por el objeto observado y la respuesta del ojo, se integra el efecto conjunto de las tres funciones de distribucin. En el caso de una muestra determinada, cuya curva de reflectancia se haya medido, se puede calcular los valores triestmulos X, Y, Z para distintas clases de iluminantes.
780

X =

380 780

S ( ) x ( ) R ( ) d

Y =

380 780

S ( ) y ( ) R ( ) d

Z=

380

S ( ) z ( ) R ( ) d

donde:

S ( ): Distribucin espectral del iluminante x ( ) , y ( ) , z ( ): Funciones de comparacin de color del observador estndar R ( ) Reflectancia espectral del objeto

Los valores triestmulo caracterizan unvocamente un determinado color, de acuerdo a las condiciones dadas, fuente luminosa, observador, etc. Cada color puede describirse mediante coordenadas X, Y, Z. Estas letras representan un 29

sistema de coordenadas ortogonales, llamado tambin sistema tridimensional espacial; donde a cada color le corresponde un punto. As todos los colores posibles constituyen un espacio de color [26] y se ubican en el cuadrante positivo (XYZ) dentro del cono mostrado en la Figura 9.

Figura 9. Cono de todos los valores triestmulos posibles Debe notarse que los ejes no pertenecen al slido dado que corresponden a colores ficticios. El color negro est en el origen y los colores espectrales puros; es decir, los de una nica longitud de onda, estn sobre la curva lmite del cono.

3.5.2 Espacio de cromaticidad Yxy Si se aumenta la claridad de un color, aumenta la cantidad de luz necesaria que hace falta de cada primario para igualar el color. El aumento es proporcional, de modo que X:Y:Z permanece constante a medida que el color se aleja del origen. Esto permite construir un diagrama de color bidimensional, independiente de la

30

claridad. Para esto, se normalizan los valores triestmulo en base a la cantidad total de energa luminosa (X+Y+Z), x = X/(X+Y+Z) y = Y/(X+Y+Z) z = Z/(X+Y+Z) Obviamente, x + y +z = 1en todos los casos, esto es, el punto (x,y,z) est sobre el plano X+Y+Z = 1. Los valores (x,y,z) son llamados valores de cromaticidad. Ellos dependen slo de la longitud de onda y de la pureza o saturacin, y son independientes de la luminosidad. El diagrama resultante, que se muestra en la Figura 10, es equivalente a proyectar el cono de color XYZ sobre el plano X+Y+Z =1 y recibe el nombre diagrama de cromaticidad CIE 1931. Representa los atributos de longitud de onda y saturacin del color, separados de la claridad.

Figura 10. Diagrama CIE de cromaticidad

3.6

Elipses de Mcadam en los dos pargrafos anteriores, el XYZ y el un problema que los limita en su utilidad, no son color percibidas no se corresponden con iguales por esa razn estas representaciones apenas se

Los sistemas descriptos diagrama cromtico Yxy, tienen lineales: iguales diferencias de distancias en esos sistemas y, utilizan.

31

En 1942 David McAdam [30] estudi las respuestas del observador humano a pequeas diferencias de color utilizando el diagrama de cromaticidad, Empez con un punto que representaba el color del estndar y basndose en la observacin visual determin una serie de puntos que representaban una diferencia perceptible. Los colores dentro de estos puntos eran considerados iguales al estndar. Repiti el experimento con muestras de distintos colores y grfico los resultados sobre el diagrama de cromaticidad. Encontr que, en vez de crculos de igual radio alrededor de cada color estndar, los puntos que representaban la diferencia de color visualmente perceptibles formaban elipses de tamaos distintos; Es decir, demostr que el diagrama de cromaticidad no es uniforme desde el punto de vista de la percepcin.

3.7

Espacio de color L*a*b*

Hay dos problemas con la especificacin de colores en trminos de los valores triestmulo o de los diagramas de cromaticidad. Uno de ellos es el indicado en el pargrafo anterior, de la no linealidad de esos espacios. El otro se debe a que la especificacin de colores en esos espacios no son fcilmente interpretables en trminos de las dimensiones psicofsicas de la percepcin, la luminosidad, el tono y la saturacin. En el ao 1976, la CIE, consigui desarrollar, mediante transformaciones no lineales del espacio XYZ, un espacio de color mucho ms lineal que sus antecesores, el espacio de color L*a*b*. El eje L* es el de luminosidad y se extiende desde 0, para el color negro, hasta 100 para el color blanco. Las coordenadas a* y b* representan rojo-verde y amarillo azul, respectivamente. Este sistema es el ms utilizado en la actualidad en todos los campos donde haya que medir objetos coloreados, en particular para el control de calidad y el teido de telas en la industria textil, y es, justamente, el sistema que hemos empleado en todos los trabajos que fundamentan esta tesis. Este sistema, llamado tambin de colores opuestos, se basa en el sistema Lab desarrollado por Richard Hunter a principios de los aos 40. El uso del asterisco es para diferenciar el sistema de la CIE de aquel de Hunter. Los valores L*, a*, b*, se obtienen de los valores triestmulo por medio de las siguientes transformaciones: L* = 116(Y/Yn)1/3 -16, a* = 500[(X/Xn)1/3 - (Y/Yn)1/3], b* = 200[(Y/Yn)1/3 - (Z/Zn)1/3],

donde Xn, Yn, y Zn son los valores de X, Y, y Z para el iluminante usado en el clculo de X, Y, y Z de la muestra.

32

El espacio resultante se muestra en la Figura 11.

Figura 11. Espacio de color L*a*b*

3.8

Medicin del color

El color se mide con espectrofotmetros de reflectancia. Estos equipos miden la cantidad de luz reflejada por un a superficie como una funcin de la longitud de onda y producen un espectro de reflectancia. El espectro de reflectancia es usado en conjuncin con la funcin del observados estndar y la distribucin espectral de un iluminante para calcular los valores triestmulos XYZ correspondientes a la muestra. Bsicamente, un espectrmetro funciona iluminando la muestra con luz blanca y calculando la cantidad de luz que es reflejada a cada intervalo de longitud de onda. En general se miden 31 intervalos centrados en 400nm, 410nm, 420nm, ..., 700nm. Esto se hace pasando la luz reflejada por un aparato monocromador que divide la luz en los intervalos de longitud de onda especificados. En la Figura 12 se muestra el esquema de un espectrofotmetro. El instrumento se calibra con un azulejo blanco del que se conoce su reflectancia a cada longitud de onda.

33

Figura 12. Esquema de un fotocolormetro La reflectancia de una muestra se expresa entre 0 y 1 (como una fraccin), o entre 0 y 100 (como un porcentaje). Los valores de reflectancia que se obtienen como respuesta son valores relativos y, en consecuencia, no dependen de la cantidad de luz utilizada para iluminar la muestra. En el Captulo V, al tratar sobre los procedimientos seguidos para el estudio del efecto de los colorantes residuales en el teido de telas, se detalla el uso de un fotocolormetro.

34

CAPTULO IV 4 OPTIMIZACIN

En el Captulo II hemos sealado que nuestro trabajo est orientado a la optimizacin del proceso industrial del teido de telas. El orden que se escoge para teir secuencialmente un conjunto de telas repercute en la fidelidad de los colores obtenidos. Por ello es necesario buscar, en cada caso, la mejor solucin que cumpla con las condiciones industriales y comerciales correspondientes; es decir, es necesario resolver el problema de optimizacin [4]. Como tambin decimos en el Captulo II, la optimizacin se refiere a encontrar soluciones ptimas en problemas que pueden ser estructurados como funcin de variables de decisin, en presencia de algunos vnculos. En general, se trata de problemas que pueden ser formulados de la siguiente manera [6] Minimizar f(x) sujeto a hi(x) = ci gj(x) bj y j = 1,2,...,n, (4.1) (4.2) (4.3)

con i = 1,2,...,m

donde fi, , gi y hj son funciones generales del parmetro x . En los problemas de optimizacin debe considerarse la diferencia entre el mnimo global o un mnimo local de la funcin real f(x), donde x es un vector de n variables reales. Un mnimo global se refiere a la existencia de un x* que minimice f para todos los vectores posibles x. Por mnimo local entendemos un vector, x*, tal que f(x*) f(x) para todo x cercano a x*. La posibilidad de acceder a un mnimo global depende de las caractersticas del problema. Tal como se desprende de las expresiones (4.1) a (4.3), los problemas de optimizacin constan de tres elementos bsicos: Una funcin objetivo que querramos maximizar o minimizar. As, en el caso de la fabricacin de hilos, trataramos de minimizar la desviacin entre los valores observados y los estndares establecidos. Un conjunto de variables o incgnitas que determinan el valor del objetivo. Las variables pueden referirse a las cantidades de diferentes recursos o al tiempo empleados en una actividad. En la bsqueda de datos experimentales apropiados, las incgnitas son los parmetros que definen el modelo.

35

Un conjunto de vnculos que delimitan los valores que pueden tomar las variables. En el caso de la manufactura de prendas, no tendra sentido esperar que se presenten valores negativos de las cantidades fabricadas.

En resumen, un problema de optimizacin es: encontrar valores de las variables que minimicen o maximicen la funcin objetivo mientras satisfacen los vnculos. Sin embargo, en la estructura de un problema de optimizacin, hay excepciones que amplan o eliminan algunos de estos elementos. Aunque casi todos los problemas de optimizacin tiene una funcin objetivo nica, hay dos excepciones importantes: No hay funcin objetivo. En algunos casos, por ejemplo en el diseo de circuitos integrados, la meta es encontrar un conjunto de variables que satisfagan los vnculos del modelo. No se trata de optimizar porque no hay razn para definir una funcin objetivo. Este tipo de problemas reciben el nombre de problemas de factibilidad. Hay mltiples funciones objetivo. Es bastante comn que se quieran optimizar varios objetivos al mismo tiempo, y tambin es usual que los distintos objetivos no sean compatibles. Las variables que optimizan un objetivo pueden estar muy lejos del ptimo de los otros objetivos. En la prctica, los problemas con mltiples objetivos, se reformulan construyendo un solo objetivo con una combinacin pesada de los distintos objetivos o se reemplazan algunos objetivos por vnculos. El problema es conocido como optimizacin multiobjetivo.

Tambin se encuentran problemas no tpicos en cuanto a los vnculos, siendo la optimizacin no-restringida un campo importante, con algoritmos y software disponible para su resolucin . Los problemas de optimizacin se dividen, por sus caractersticas y por los mtodos empleados en su resolucin, en dos clases: problemas de optimizacin continua, en la que todas las variables pueden tomar valores en intervalos de la recta real, y problemas de optimizacin combinatoria, donde se requiere que algunas o todas las variables estn restringidas a tener valores enteros [31] [32].

4.1

Optimizacin continua

El campo de la optimizacin continua se divide tambin en dos reas, la de la optimizacin restringida y la optimizacin no-restringida. En los problemas de optimizacin no-restringida se trata de encontrar el mnimo local de una funcin real f(x). En la optimizacin global se trata de encontrar un x* que minimice f para todos los vectores posibles x. Sin embargo, para muchas aplicaciones, los mnimos locales resultan suficientemente buenos, en particular cuando se dispone de un punto de partida adecuado [33].

36

Muchos de los algoritmos que se utilizan para resolver problemas de optimizacin no-restringida, se basan en el mtodo de Newton [34]. El mtodo de Newton requiere el clculo del vector gradiente f(x) = (i f(x)) y de la matriz Hessiano 2 f(x) = (ji f(x)) El mtodo de Newton genera un modelo cuadrtico de la funcin objetivo en torno al valor, xk, de la k-sima iteracin. El modelo est definido por la funcin qk(s) = f(xk) + f(xk)Ts + sT2f(xk)s En el mtodo de Newton bsico, la siguiente iteracin se obtiene del mnimo de qk. Cuando el Hessiano es definido positivo, el modelo cuadrtico tiene un nico mnimo que se puede obtener resolviendo el sistema lineal simtrico n X n 2f(xk)sk = -f(xk) La siguiente iteracin es entonces xk+1 = xk + sk Si el punto inicial est suficientemente cerca del mnimo local x* en el cual el Hessiano es definido positivo, la convergencia est garantizada. Ms an, la velocidad de la convergencia es cuadrtica, esto es, xk+1 x* xk - x*2, para alguna constante positiva . La optimizacin restringida comprende problemas de optimizacin restringida no lineal, acotada, redes, estocstica y, en particular, programacin lineal.

4.1.1 Programacin lineal El problema bsico de programacin lineal consiste en minimizar una funcin objetivo lineal de variables reales continuas, sujeto a vnculos lineales. El problema puede escribirse, en forma estndar [35] [36], min {cTx : Ax = b, x 0},

37

donde x es el vector de incgnitas, c es el vector de costos, y A es la matriz de vnculos de orden m x n.

La regin factible, descripta por los vnculos es un politopo o simplex, y al menos un elemento del conjunto de las soluciones estar en un vrtice de este politopo. El mtodo Simplex, que toma su nombre por la geometra del conjunto factible y los mtodos de punto interior, son los ms usados para la resolucin de este tipo de problemas.

4.1.1.1 El mtodo Simplex

El mtodo simplex genera una sucesin de iteraciones factibles movindose de un vrtice del conjunto factible al vrtice adyacente que tenga un valor menor de la funcin objetivo. Cuando no es posible encontrar un vrtice adyacente con menor valor de la funcin objetivo, el vrtice corriente es ptimo y la bsqueda concluye [36].
El mtodo fue introducido por Dantzig en 1940. Desde el punto de vista algebraico, se basa en que en los vrtices del conjunto factible, al menos (n m) de las componentes de x son cero. Por lo tanto, las componentes de x pueden ser separadas, en cada vrtice, en un conjunto de m variables bsicas no negativas, y un conjunto de (n m) variables no bsicas iguales a cero. Si se juntan las m variables bsicas en un subvector, xB , y las variables no bsicas en otro n -m subvector xN , podemos particionar las columnas de A como [B N], donde B es una matriz cuadrada que contiene las m columnas que corresponden a xB. En cada iteracin se reclasifica una variable bsica como no bsica y viceversa; es decir, xB y xN. intercambian una componente. Este proceso de intercambio corresponde, geomtricamente, a moverse de un vrtice a otro adyacente de la regin factible. Es necesario elegir que componente de xN entrara a xB (eliminando la restriccin de ser cero) y que componente de xN entrar a xB (ser hecha igual a cero). Para seleccionar cual es la componente que entra se hace uso de que cTx puede expresarse como una funcin de xN solamente. Se puede expresar xB en trminos de xN observando que Ax = b implica que

xB = B (b - NxN)
Por lo tanto, particionando c en cB y cN, se tiene cTx = cTB xB + cTN xN = cTB B-1b + [cN NTB-TcB]TxN, o, lo que es lo mismo, cTx = cTB B-1b + dNxN,

-1

38

donde el vector dN = cN NTB-TcB es el vector de costos reducido. Si todas las componentes de xB son estrictamente positivas y alguna componente de dN es negativa, por ejemplo la i-sima componente, el valor de cTx disminuye permitiendo que la componente i-sima de xN se haga positiva. Si no existe ninguna componente de dN negativa, el punto actual x es el ptimo y el proceso ha concluido. El mtodo Simplex no tuvo rival en la resolucin prctica de problemas de programacin lineal durante 40 aos, hasta 1980. Sin embargo, aunque no sucede en la prctica, el mtodo Simplex tiene un comportamiento exponencial sobre el nmero de incgnitas. In 1970, Klee y Minty [37] construyeron ejemplos en los que el mtodo Simplex necesita un nmero exponencial de pasos, aunque tales casos no se han encontrado nunca en aplicaciones prcticas. La bsqueda de algoritmos con mejor comportamiento computacional culmin con los trabajos de Klachiyan [38] y el desarrollo del mtodo elipsoidal de Karmarkar [39], un algoritmo de tiempo polinomial.

4.1.1.2 Mtodos de punto interior En 1984, N. Karmarkar, public un trabajo mostrando el desarrollo de un algoritmo ms rpido que el simplex iterando por el interior de la regin factible. El mtodo desarrollado por Karmarkar consiste en determinar un punto interior en la regin factible y avanzar en la direccin contraria al vector de costos (gradiente negativo del objetivo) en pasos iguales al radio de la mayor hiper-esfera, centrada en la solucin dada e incluida en la regin factible. El trabajo gener mltiples investigaciones en programacin matemtica y en complejidad computacional. Desde entonces se han desarrollado una variedad de mtodos, para atacar problemas de programacin lineal, de los cuales, el primal-dual ha resultado el ms prometedor desde el punto de vista prctico y el ms favorable para el anlisis terico [39]. Escribiendo el dual de un problema de programacin lineal en la forma estndar, max {bT y : s = c AT y 0 }, se ve que las condiciones de optimalidad para que (x,y,s) sea una solucin del primal-dual son que Ax = b, donde ATy + s = c, SXe = 0, x 0, s 0,

39

S = diag(s1, s2, ...., sn), X = diag(x1, x2, ..., xn), y e es un vector de unos. Los algoritmos de punto interior generan iteraciones (xk, yk, sk) tales que xk > 0 y sk > 0. Los mtodos primal-dual pueden considerarse como una variante del mtodo de Newton aplicado al sistema de ecuaciones formado por las primeras tres condiciones de optimalidad. Dada la iteracin actual (xk, yk, sk) y el parmetro k [0,1], la direccin de bsqueda (wk, zk, tk) se genera resolviendo el sistema lineal Aw = b Axk, ATz + t = c Atyk sk, Skw + Xkt = - SkXke + kke, Donde

k = xTksk/n
El nuevo punto se obtiene, entonces, por la relacin (xk+1, yk+1, sk+1) = (xk, yk, sk) + (kwk, kzk, ktk) Las iteraciones se efectan simultneamente en el primal y en el dual, lo que va disminuyendo la brecha de dualidad (la funcin objetivo del primal tiene como lmite inferior la funcin objetivo del dual). En trminos generales puede decirse que se utilizan dos criterios de parada. El ms directo, aunque ms lento, es continuar el proceso hasta la coincidencia de los valores de ambos objetivos, el del primal y el del dual. El otro criterio utilizado consiste en detener el proceso de iteraciones cuando la diferencia entre los valores de ambos objetivos es menor que una precisin establecida y proseguir el proceso con el mtodo simplex, dado que la solucin ptima est cercana.

4.2

Optimizacin combinatoria

Los problemas de optimizacin combinatoria se refieren a la asignacin eficiente de recursos limitados para resolver objetivos deseados cuando los valores de alguna o de todas las variables deben tomar slo valores enteros. Las limitaciones en recursos bsicos, tales como trabajo, materias primas o capital restringen las alternativas factibles. Sin embargo, en la mayora de estos problemas, hay muchas alternativas posibles a considerar y la meta consiste en determinar cuales son las mejores. La optimizacin combinatoria abarca problemas de las reas ms dismiles. Su amplitud proviene de que en muchos problemas prcticos, las actividades y los recursos, tales como mquinas, vehculos, personas, son indivisibles. Adems, muchos problemas tienen solamente un nmero finito de opciones alternativas y

40

por lo tanto, se pueden formular como problemas de optimizacin combinatoria. La palabra combinatoria se refiere al hecho de que existen slo un nmero finito de alternativas factibles. As, la optimizacin combinatoria es el proceso de encontrar una o ms soluciones ptimas en un espacio discreto. Problemas de este tipo aparecen en casi todos los campos administrativos (finanzas, comercializacin, produccin, control de inventarios, localizacin), y en innumerables ramas de la ingeniera (el diseo ptimo de canales y puentes, diseo de circuitos, determinacin de los estados mnimos de energa en la fabricacin de aleaciones, logstica de la generacin y del transporte de corriente elctrica, programacin de lneas de produccin en fabricas, problemas de cristalografa). En esta seccin trataremos el caso en que, tanto el objetivo como los vnculos son funciones lineales. El modelo general de un problema lineal entero de optimizacin combinatoria tiene la forma min {cTx: Ax = b, x 0, x Z } donde Z es el conjunto de los nmeros enteros. Cuando alguna de las variables x pueden tomar valores reales, el problema se llama problema de programacin entera mixto. Cuando las variables x estn restringidas a los valores 0 y 1, el problema se llama problema de programacin entera 0-1. A continuacin, presentamos algunos problemas clsicos de optimizacin combinatoria.
n

4.2.1 El problema de la mochila Se dispone de un conjunto de n elementos para llenar una mochila de capacidad V. Cada objeto i tiene asociado un valor ci y ocupa un volumen vi. Se trata de determinar el subconjunto de objetos I {1, 2, , n} que se puedan introducir en la mochila y que maximice la funcin objetivo. El problema tiene un nico vnculo lineal, que la suma del peso de todos los artculos no exceda el peso total permitido y una funcin objetivo lineal, la suma del valor de los artculos colocados en la mochila [40]. max

ci
i I

sujeto a

vi V
i I

41

El problema de la mochila tiene mltiples aplicaciones en criptografa, en la proteccin de archivos de computadora, correo electrnico y transferencia electrnica de fondos. La llave de seguridad consiste en la combinacin lineal de un conjunto de datos que deben igualarse a un determinado valor. La generalizacin del problema, con varios vnculos de mochila, tiene tambin aplicaciones importantes. Un ejemplo es el problema de presupuesto. El problema consiste en determinar un subconjunto de centenares de proyectos bajo consideracin que aseguren el mayor retorno de la inversin, satisfaciendo los requerimientos financieros y regulatorios [41].

4.2.2 Problemas de redes Muchos problemas de optimizacin pueden ser representados por una red o grafo, definida por nodos y arcos que los conectan. Algunos surgen de redes fsicas tales como las calles de una ciudad, red de carreteras, sistema ferroviario, redes de comunicacin y circuitos integrados. Adems, hay otros problemas que se pueden modelar como redes aunque no haya una red fsica subyacente. Por ejemplo, el problema de asignacin donde se desea asignar un conjunto de personas a un conjunto de tareas a mnimo costo. Un sistema de nodos representan a las personas que se asignarn y otro sistema de nodos representan a los trabajos y habr un arco que conecta a cada persona con cada trabajo que sea capaz de realizar [42] [43]. El problema puede ser establecido como min cij xij
I,j

sujeto a xij = 1, si el recurso I es asignado a la actividad j xij = 0, de otra manera

xij=1
i=1

j =1,..., n I =1,..., m

xij = 1
j=1

donde cij es el costo de aplicar el recurso i a la actividad j. El problema de asignacin es un caso especial del problema del transporte, el cual, a su vez, es una caso especial del problema de flujo mximo. Todos estos problemas pueden ser resueltos usando el algoritmo del simplex, pero cada

42

problema cuenta con algoritmos ms eficientes diseados para tomar ventaja de su estructura particular.

4.2.3 Coloracin de grafos Hay muchos problemas de teora de grafos que examinan las caractersticas del grafo o de la red subyacente. Tales problemas incluyen el problema de colorear los vrtices, conocido como problema de coloracin de grafos y que consiste en la asignacin de colores a un conjunto de n vrtices, en un grafo no dirigido, con la nica condicin que para todo par de vrtices adyacentes estos no sean coloreados del mismo color. Formalmente, sea un grafo G=(V,E) con el conjunto de vrtices V y conjunto de aristas E. Una k-coloracin de G es una particin de V en K subconjuntos V1,....,Vk tal que no haya dos vrtices en el mismo conjunto que sean adyacentes. Los conjuntos V1,....,Vk se refieren a clases de colores o a colores. El problema de coloracin puede definirse as: Dado un grafo G, encontrar X(G), el mnimo valor de k para el cual G es coloreable [44]. Hay numerosas aplicaciones prcticas de coloracin de grafos, tales como la calendarizacin de exmenes [44], el diseo y operacin de sistemas de manufactura flexible [45] y el problema de los cuatro colores [46] entre otras.

4.2.4 El cartero chino El problema fue estudiado inicialmente por el matemtico chino Kwan MeiKo [47]. Consiste en cubrir todas las calles asignadas y regresar al punto de partida habiendo recorrido la menor distancia posible. Si se construye un grafo G=(V,E) en el que cada arista representa una calle donde hay que entregar correspondencia y cada vrtice representa una interseccin, este problema es equivalente a hallar un ciclo en G que atraviese cada arista al menos una vez y que la distancia total recorrida sea mnima. Hay distintas variantes del problema del cartero chino. El grafo asociado puede ser o no dirigido y, por otro lado, puede ser cerrado o abierto, es decir, puede existir la condicin de que el cartero regrese al punto de partida o que no sea necesario. Este problema tiene varias aplicaciones: en la planeacin del mantenimiento de calles, el manejo de robots de exploracin, la bsqueda en pginas web vinculadas y en sistemas de informacin geogrfica (GIS)[48]. Los mtodos de resolucin se basan en el anlisis de los arcos que deben ser duplicados para convertir el grafo asociado al problema en un grafo de Euler. Un grafo es euleriano cuando existe un camino que regrese al punto de partida recorriendo todas las aristas solamente una vez. Si se agrega la restriccin de que cada nodo debe ser visitado exactamente una vez y elimina la condicin de que se debe recorrer cada arista, el problema se transforma en problema del agente viajero.

43

4.2.5 Problema del agente viajero El problema del agente viajero, TSP por sus siglas en ingls, es uno de los problemas que ha atrado ms la atencin dentro del campo de la Investigacin de Operaciones. Es muy sencillo de enunciar, pero muy difcil de resolver. Dado un conjunto de n ciudades y el costo de viajar entre dos cualquiera de ellas, se trata de encontrar el camino que pasa por todas las n ciudades y que regresa a la de origen con un costo mnimo [49]. En trminos de la teora de grafos la formulacin del problema es la siguiente: Dado un grafo completo con pesos, se trata de encontrar el ciclo hamiltoniano de peso mnimo. Aqu, los nodos representan a las ciudades, las aristas representan a los caminos entre ellas y los pesos de cada arista es el costo del camino que representa. Dependiendo de si el costo de una arista depende o no de la direccin en que se la recorra, el problema del agente viajero ser asimtrico o simtrico. Formalmente, para el caso del agente viajero asimtrico, min cij xij
I,j

sujeto a xij = 1, si se recorre la arista que va del vrtice i al vrtice j xij = 0, de otra manera
i=1 j=1

xij=1 xij = 1

j =1,..., n I =1,..., n

iS, jS*

xij 1

para todas las particiones (S,S*) de los n puntos

donde cij es el peso del arco (I,j). El ltimo vnculo evita que se produzcan subtours. Existen mltiples aplicaciones del problema del agente viajero en problemas reales [49]. Por ejemplo en la distribucin o recoleccin de artculos como puede ser el reparto de correspondencia, el recorrido de mquinas quita nieve, rutas de autobuses escolares, etc., la programacin de servicios de llamadas, optimizacin de las trayectorias de la herramienta en un equipo de fabricacin de piezas, por ejemplo, el brazo de la soldadora asignado para soldar todas las conexiones en un tablero de circuito impreso, un trazador de grficos para dibujar una figura dada, la programacin de la mquina perforadora para agujerear plaquetas para circuitos.

44

En particular, encontrar el orden en que deben teirse un conjunto de telas en la industria textil ser formulado como un TSP.

4.2.6 Mtodos de resolucin en Optimizacin Combinatoria La solucin de problemas de optimizacin combinatoria es una tarea difcil. La dificultad se debe a que, distinto de lo que sucede en programacin lineal donde la regin factible es convexa y, en consecuencia una solucin local es un ptimo global, en los problemas combinatorios se debe buscar en una red de puntos factibles y se tienen mltiples mnimos locales. Bsicamente, hay cuatro mtodos generales para resolver problemas de optimizacin combinatoria, aunque en la prctica se combinan en procedimientos hbridos: Tcnicas enumerativas Tcnicas de relajacin Planos cortantes

Ahora presentaremos estas tcnicas de manera breve. En el siguiente captulo ampliaremos las utilizadas en la resolucin de los problemas encarados en este trabajo.

4.2.6.1 Tcnicas enumerativas El mtodo ms simple para resolver un problema de optimizacin combinatoria es enumerar todas las soluciones factibles determinar cual es la ptima. El nmero de soluciones factibles es finito, sin embargo, debido a que el nmero de soluciones crece exponencialmente con el tamao del problema, la llamada "explosin combinatoria", solamente se podran solucionar con este mtodo los casos ms pequeos. A veces se pueden eliminar muchas posibilidades por argumentos de viabilidad. Adems de la enumeracin implcita o de fuerza bruta, el mtodo enumerativo ms usado se denomina branch and bound, donde la ramificacin se refiere a la enumeracin y el acotamiento se refiere a la eliminacin de soluciones posibles por comparacin con un lmite superior (o inferior) [50]. Para obtener una cota, el problema se relaja de modo que el problema relajado sea fcil de resolver. El mtodo de branch and bound requiere dos herramientas. La primera es contar con una forma de cubrir toda la regin factible con varias sub-regiones factibles ms pequeas, esto es lo que se conoce como ramificacin porque el

45

procedimiento, repetido recursivamente a cada sub-regin, forma una estructura de rbol. La otra herramienta es el acotamiento, que es una forma rpida de encontrar lmites superiores e inferiores para la solucin ptima en cada subregin. La parte medular del mtodo se basa en que, si en un problema de minimizacin, el lmite inferior de una sub-regin P es mayor que el lmite superior para cualquier otra sub-regin Q examinada previamente, entonces, la sub-regin P puede eliminarse del proceso de bsqueda. Este tipo de accin se conoce como podar y, en general, se implementa guardando en una variable global el mnimo lmite superior de todas las sub-regiones examinadas. Puede suceder que el lmite superior en una sub-regin coincida con su lmite inferior. Este valor es el, entonces, el mnimo de la funcin dentro de la correspondiente sub-regin. Se dice que la rama ha sido resuelta. El procedimiento concluye cuando todas las ramas han sido podadas o resueltas, aunque es posible establecer un lmite al nmero de iteraciones, en cuyo caso queda definido un rango de valores que contiene al mnimo global. La eficiencia del mtodo depende en forma crtica de los algoritmos usados para la ramificacin y el acotamiento. Si el procedimiento no es el correcto, por ejemplo, ramificando sin podar, las sub-regiones se irn haciendo cada vez ms pequeas y el procedimiento se reduce a una enumeracin exhaustiva. No hay algoritmos universales para todos los problemas, los algoritmos de ramificacin y acotamiento se disean especialmente para cada aplicacin. Otra forma de ataque consiste en eliminar la condicin de integralidad y resolver el problema de programacin lineal continuo resultante. Si la solucin al problema de programacin linear relajado satisface las restricciones de integralidad, la solucin obtenida es ptima. Si el problema relajado no es factible, entonces tampoco lo es el problema entero. Si, en cambio, alguna de las variables en la solucin del problema de programacin lineal es fraccionaria, se eligen esas variables fraccionarias y se ramifica creando subproblemas que excluyen las soluciones anteriores pero no elimina ninguna solucin factible entera. Estos nuevos problemas constituyen nodos en el rbol de ramificacin y se resuelven nuevamente como problemas de programacin lineal [51]. Este proceso continua hasta que la solucin ptima encontrada es un valor entero.

4.2.6.2 Mtodos de relajacin Lagrangiana El mtodo de relajacin Lagrangiana consiste en eliminar del conjunto de restricciones aquellas que sean ms problemticas y agregarlas en el objetivo en el forma clsica de Lagrange, con multiplicadores que son modificados

46

iterativamente. El sub-problema resultante es ms sencillo de resolver. Esto es imprescindible porque el sub-problema tiene que ser resuelto repetidamente hasta alcanzar valores ptimos para los multiplicadores. Este mtodo proporciona una cota de la solucin entera y puede incorporarse en un algoritmo branch and bound; es decir, es alternativo al de programacin lineal relajada. El de relajacin Lagrangiana es un mtodo de propsitos especial. Aprovecha la estructura especial del conjunto de vnculos y, por lo tanto requiere un conocimiento profundo de las caractersticas del problema [52].

4.2.6.3 Planos cortantes La resolucin de problemas de programacin lineal entera utilizando planos cortantes se debe inicialmente a Gomory [53]. La idea bsica del mtodo es quitar inicialmente el requerimiento de integralidad y resolver el problema de programacin lineal correspondiente, por ejemplo por el mtodo simplex. Esto proporciona un vector ptimo x*. Si, casualmente, todas las componentes de x* resultan enteras, entonces sera tambin la solucin ptima para el problema de programacin entera. En el caso de que no tenga todas las componentes enteras se agrega una nueva desigualdad, un plano, que abarque todas las soluciones enteras pero que deje fuera la solucin x*. La repeticin del procedimiento converge a una solucin ptima entera. Para explicar el proceso detalladamente, conviene rescribir el problema de Programacin Lineal. Sea P un problema de programacin lineal entero maximizar z = cx sujeto a Ax = b x0 x entero donde c n, b m y A mxn son dados y x n es el vector de las variables de decisin. Si eliminamos el ltimo vnculo (x entero), tenemos un problema de programacin lineal relajado, digamos P*. Sea B una submatriz de A, de orden mxm, tal que det(B) 0, entonces, podemos escribir A = (B N), y anlogamente x = (xB xN) y c = (cB cN).

47

El problema de programacin lineal P*, puede escribirse sujeto a maximizar z = cBxB + cNxN bxB + NxN = b xB 0, xN 0 Si despejamos a xB en trminos de xN xB = B-1b B-1NxN el problema P* queda maximizar z = cB B-1b (cB B-1N + Cn)xN sujeto a xB = B-1b B-1NxN xB 0, xN 0 Entonces, designando por aj a cada columna de A, las columnas del tableau del simplex, en el proceso de resolucin, son yj = B-1aj. Los valores de la solucin final viene dados por xB = B-1b. Finalmente, el problema de programacin entera relajado, se puede escribir maximizar z = z - (zj cj)xj jIN sujeto a xB = xB - yjxj jIN xB 0, xj 0, jIN donde IN es el conjunto de ndices de las columnas en N. El vnculo del problema P* puede tambin escribirse xB(i) = xB(i) - yjixj jIN Una vez resuelto el problema P*, B es una base ptima, tal que xB = B-1b 0 y zj cj 0. Al menos una de las variables de la solucin, digamos xB(k), ser no entera, entonces,

48

xB(k) = xB(k) - ykjxj jIN o, lo que es lo mismo xB(k) = xB(k) +

ykjxj

jIN Como todas las x son mayores o iguales que cero, e indicando con el smbolo , la parte entera de, se ve que xB(k) xB(k) +

ykj xj
jIN

dado que los valores originales de las variables en el problema P son enteros, podemos escribir xB(k) xB(k) + ykj xj jIN o, introduciendo una variable de holgura s 0 xB(k) = s + xB(k) + remplazando xB(k) , se tiene xB(k) = s + xB(k) - ykjxj + ykj xj, jIN jIN s = xB(k) - xB(k) + (ykj - ykj )xj jIN Si ahora definimos a fkj = ykj - ykj y a fk0 = xB(k) - xB(k) , se tiene que s = - fk0 + fkj xj jIN Evidentemente fkj y fk0 estn en el intervalo 0-1, y dado que s 0, se tiene que

ykj xj
jIN

fkj xj fk0
jIN Estas desigualdades son conocidas como cortes de Gomory. Estos planos

49

no son nicos y se debe definir una estrategia para su incorporacin sucesiva. Aunque el algoritmo de Gomory converge a una solucin ptima entera en un nmero finito de pasos, su convergencia es muy lenta. Se han logrado avances significativos tanto en el tamao como en la complejidad de los problemas resueltos por medio de la teora polidrica. La idea rectora de la combinatoria polidrica es reemplazar el conjunto de vnculos del problema de programacin entera por una convexificacin de los puntos factibles. Desde 1935, H. Weyl mostr que un poliedro convexo puede definirse alternativamente como la interseccin de un nmero finito de semi-espacios o como la cubierta convexa de un nmero finito de vectores. El teorema de Weyl implica que existen un sistema finito de desigualdades cuyo conjunto de solucin coincide con la cubierta convexa de los puntos enteros del problema. Esta recibe el nombre de conv(S). Las caras de del poliedro conv(S) son los mejores cortes posibles para continuar la bsqueda de las soluciones enteras, pero son ms difciles de determinar y dependen de cada problema particular [54] [55].

50

CAPTULO V 5 TEIDO DE TELAS

Para muchas industrias el color es un aspecto esencial en los productos que fabrican y los servicios que proveen. Ms aun, el color es una parte inseparable de nuestro mundo y un elemento esencial en nuestra cultura. Desde tiempos muy remotos el color estuvo asociado con los dioses, con las fuerzas de la naturaleza y con la jerarqua social. Es decir, estuvo presente y jug un papel destacado en la vida social y religiosa de Mesoamrica. La manifestacin de los colores en nuestra cultura no slo ha sido importante en el pasado; se ha prolongado hasta nuestros das en los textiles, las cermicas y los amates. Hoy en da, si el color no es "agradable" al consumidor, los artculos fabricados corren el riesgo de no ser aceptados (Morales 1996) [4]. En particular, el color desempea un papel fundamental en la fabricacin y comercializacin de los productos textiles; es decir, la tecnologa del color resulta crucial para la industrial textil. Tanto es as, que en esta industria, el color representa el 70% de todas las causas de rechazo a nivel industrial. El segmento del proceso productivo relacionado ntimamente con el color es en el teido de telas. La programacin del orden en que se teirn sucesivamente las telas en diferentes colores, es crucial para la calidad de los artculos, para disminuir el nmero de lavados de los equipos de teido y la cantidad de reprocesos de las telas que no han alcanzado el color requerido. En la produccin por lotes, tanto en el teido de telas como en la fabricacin de fibras de polister, una seleccin adecuada de la sucesin de colores podra reducir las diferencias indeseadas de color provocadas por la contaminacin de los equipos, disminuir los costos causados por el lavado de equipos y por el reprocesado, aumentar la calidad perceptual de los productos y atenuar el impacto ecolgico negativo propio de este sector industrial. El sector industrial del teido de telas utiliza grandes volmenes de agua que deben ser reprocesadas porque incluyen colorantes, cido actico, sosa custica y alteraciones importantes en el PH. En particular, el teido del polister con colorantes dispersos se efecta en jet (especie de olla a presin) donde, en cada operacin, se coloca la tela, entre 150 y 300 kilogramos, alrededor de 4000 litros de agua, colorantes y los aditivos necesarios, tales como sustancias que aumentan la solubilidad y dispersantes que evitan que las partculas de colorante se aglutinen entre si. El proceso tiene una duracin media de cuatro horas, con una temperatura de rgimen de 130C. En general, despus del teido, la tela se enjuaga dentro del mismo recipiente para eliminar los colorantes que han quedado adheridos a ella pero que no penetraron en

51

la fibra. Finalmente se retira la tela y se expulsa el agua, quedando el equipo listo para el siguiente proceso, aunque quedan residuos de los colorantes utilizados. En las empresas que se dedican al acabado se reciben pedidos de sus clientes para teir telas en un conjunto de distintos colores. Se construye una lista ordenada de los colores que sern usados sucesivamente. Las telas son teidas en un mismo equipo que es evacuado pero no es lavado despus de cada proceso. Despus de teir cada tela, la mayor parte de los colorantes empleados pasa a formar parte integral de ella, pero una fraccin permanece en el bao y en el equipo de teido. La cantidad utilizada en el proceso depende del tipo de fibra, la naturaleza del colorante y de los parmetros de operacin tales como tiempo y temperatura. La fraccin no usada, que permanece en el equipo, representa un elemento contaminante que afecta los procesos de teido subsiguientes; por lo tanto, el color de la tela que es teida en segunda instancia puede diferir del color deseado debido a la presencia de residuos de los colorantes que se utilizaron previamente. La medida en la que los residuos alteran el color del proceso subsiguiente (bajo idnticas condiciones de operacin) depende del color del material residual y del color usado en el nuevo teido. As, en cuanto al efecto que tiene para el proceso de teido, cada par de colores constituye una dada asimtrica. Por eso es que los tcnicos, para reducir las consecuencias, tien primero los colores claros y despus los oscuros, primero los limpios y despus los sucios. Los tcnicos en teido consideran limpios a los colores ms puros, esto es, a los que estn en la parte exterior del espacio de color y sucios a los que provienen de mezclas de colores, es decir, los que estn hacia el centro del especio de color, que tienen tonalidades de gris. Sin embargo, este tipo de procedimiento hace imposible considerar el conjunto de colores como un todo, dado que, para slo 10 colores sera necesario considerar 10! = 3,628,800 secuencias diferentes. En consecuencia, se produce una prdida de calidad por mayores niveles de contaminacin y un aumento en los costos por reprocesamiento de telas y lavado ms frecuente de los equipos. Se hace evidente la importancia de contar con mtodos que permitan obtener la secuencia ptima de colores para que se reduzcan los efectos de la contaminacin. Se enfrenta entonces el siguiente problema: Dado un conjunto de n colores, es necesario encontrar la secuencia de procesamiento que produzca la mnima diferencia entre los colores deseados y los colores que sern obtenidos. Teniendo en cuenta estos elementos se desarroll un modelo matemtico que se basa en las consecuencias que los residuos de colorantes que permanecen en el equipo tienen sobre el teido subsiguiente (Morales 1996)(Maldonado 2000) [4][7]. Para resolver este problema hemos empleado bsicamente dos tcnicas distintas: una enumeracin exhaustiva, para lo cual desarrollamos un programa

52

computacional que podra utilizar computacin en paralelo y que calcula las permutaciones de 13 elementos en orden lexicogrfico en 10 segundos en una PC a 400 Mz; y un programa basado en el mtodo de retroceso (backtracking en ingls), con el cual hemos resuelto de manera exacta secuencias de hasta 37 colores (Carpaneto 1995) [8]. Los resultados obtenidos los presentamos en el siguiente captulo. Hemos incorporado, adems, restricciones representativas de las condiciones reales de produccin industrial y desarrollamos mtodos de resolucin utilizables por una empresa fabril. El modelo desarrollado es representativo del comportamiento del proceso de teido bajo mltiples restricciones industriales y comerciales (Maldonado 2000) [7], inclusive ante el uso simultneo de varios equipos de teido.

5.1

Modelo

Hemos sealado ms arriba que al teir una tela una parte de los colorantes no se introduce en las fibras de polister, queda en la superficie de la tela, en el bao y en el equipo. La porcin de colorantes adheridos a la tela se elimina mediante un enjuague y se va en el agua evacuada, pero una parte queda contaminando el equipo de teido. Esta fraccin afecta el siguiente proceso de teido de modo que, aunque se controlen exhaustivamente todos los parmetros y reactivos involucrados, el color que se obtiene es distinto del color que se necesita. La diferencia de color que se produce, debido a la presencia de colorantes residuales en el equipo de teido depende, bajo idnticas condiciones de operacin, de cuales son los dos colores involucrados, el color que se va a teir y cual se ti con anterioridad. Vamos a presentar ahora una descripcin formal del proceso de teido de telas. Dado un conjunto de N colores C1, C2, ..., CN; cuando se tie una tela con un color Cj despus de haber teido otra tela con un color Ci, se obtiene un color Cj. Indicaremos con ij a la distancia euclideana entre las coordenadas L'j, a'j, b'j del color C'j obtenido y las coordenadas Lj, aj, bj del color Cj que se deseaba obtener. Lj, aj, bj son las coordenadas CIELab del color Cj.

ij = ((L'j, - Lj)2 + (a'j - aj)2 + (b'j - bj)2)1/2


A los valores ij le daremos el significado de un costo. Denominamos matriz de las diferencias o matriz de costos al arreglo (ij). Cada sucesin de los N colores a ser teidos corresponden a una permutacin del conjunto {1,2,..., N}(Bose 1984) [58]. Entonces, una permutacin = ((1), (2),..., (N)) define una

53

sucesin de los colores que sern teidos; esto es, (1) es el color que ser teido en primer lugar, (2) ser el segundo color que se teir y as sucesivamente hasta (N), el ltimo color a ser teido. Si -1 es la inversa de la permutacin , entonces -1(i) es la posicin del color Cj en la sucesin de colores a ser teidos. Entonces, el problema de encontrar la sucesin de colores que produce la mnima diferencia entre los colores deseados y los colores obtenidos puede formularse como el problema de optimizacin combinatoria de encontrar una permutacin que minimice el costo de la funcin N-1 z() = (i)(i +1) i=1

(5.1)

El problema descrito previamente es un caso especfico del bien conocido problema del agente viajero asimtrico (ATSP, por sus siglas en ingls) (Papadimitriou 1982) [6].

5.2

Diferencias de color

De acuerdo al modelo desarrollado, al teir, cada color Cj se ve afectado por los residuos de los colorantes usados previamente para teir el color Ci. La cantidad de residuos que permanecen en el equipo de teido despus de cada proceso, depende del equipo en si mismo y de los materiales involucrados, pero, en cada caso puede ser determinada experimentalmente. Las experiencias realizadas a tal efecto muestran una contaminacin de aproximadamente 1% para el equipo utilizado. A continuacin exponemos cual fue el procedimiento seguido para determinarla. 1. Teimos tela de punto circular de polister texturizado con colorantes dispersos en el color Cj, con el equipo limpio. 2. Teimos el mismo tipo de tela en el color Cj despus de haber teido otra tela del mismo tipo en el color Ci, obtenindose el color Cj. En todos los casos se utiliz un equipo Jet Dyeing Machine de alta temperatura (403 K). 3. Se midi la diferencia entre los colores Cj y Cj. El equipo utilizado para realizar las mediciones de color fue un espectrofotmetro HunterLab ULTRASCAN XE. Las condiciones empleadas en las mediciones fueron: geometra del instrumento 0/45, iluminante D65, observador estndar 10. 4. Se efectuaron 8 determinaciones con cada color medido y la contaminacin tuvo un valor de 0, 985%, en promedio. En base a lo anterior, determinamos las diferencias entre cada color Cj, que sera obtenido al teir con el equipo limpio y el color Cj, que se obtendra usando el equipo contaminado con el 1% de los colorantes necesarios para obtener el color Ci. El proceso se efectu, por simulacin, en un espectrocolormetro de las caractersticas ya citadas. El procedimiento seguido fue el siguiente

54

1) 1.1) 1.2) 1.3) 2) 2.1)

2.2) 3) 3.1) 3.2)

Lectura de las formulaciones Se determinaron y almacenaron en memoria las coordenadas Lab del conjunto de colores C1, C2,..., CN. Se determin la formula (cantidad de colorantes necesarios para producirlo) para cada uno de los colores de la muestra. Se calcul el 1% de cada una de las formulas para utilizarlo como contaminante. Sntesis Se recuper de la memoria la formula de cada uno de los colores C1, C2,..., CN y se les agreg el 1% correspondiente a cada color como contaminante. Se determinaron las coordenadas Lab de cada uno de los colores resultantes. Deferencias de color. Se registraron en el equipo las coordenadas de cada color original en calidad de estndar. Se determinaron las diferencias de color E entre las coordenadas de los colores originales (estndares) y las coordenadas de los colores contaminados.

5.3

Determinaciones iniciales

En la Tabla I damos las cordenadas CIELab de un conjunto de los 10 colores utlizados en el primer grupo de determinaciones. Los colores estn puestos en el orden indicado por los expertos Tabla I. Coordenadas CIELab de un conjunto de 10 colores No. 1 2 3 4 5 6 7 8 9 10 Colores utilizados L a 96.56 -23.07 81.70 4.90 57.61 35.27 54.21 46.20 38.69 52.73 20.67 20.24 41.17 1.25 48.98 -36.38 20.26 -9.64 39.47 -3.61 b 68.93 84.71 63.59 38.64 26.16 -25.63 -40.97 10.19 -1.32 -2.49

55

Los valores de las diferencias, ij, entre los colores deseados (equipo limpio) y los colores obtenidos (equipo contaminado), determinados por el proceso de simulacin antes descrito, estn consignados en la Tabla II. Tabla II. Matriz de costos: diferencias entre el color deseado y el obtenido 0.00 5.91 15.03 20.12 42.84 46.33 21.38 14.69 39.28 16.86 .21 0.00 1.98 3.95 16.71 28.01 14.36 11.49 32.15 8.28 .07 .18 0.00 .31 1.89 11.66 7.41 6.59 19.94 3.80 .12 .42 .62 0.00 .82 11.69 8.33 7.72 21.00 4.38 .07 .38 .34 .08 0.00 5.78 4.63 4.95 13.19 2.24 .20 1.31 1.15 .47 .60 0.00 .17 .48 1.13 .22 1.28 7.22 6.50 2.34 3.32 2.64 0.00 1.31 4.77 1.00 .22 1.18 .99 1.25 7.42 8.04 .89 0.00 3.10 .82 .05 .23 .16 .08 .55 .65 .06 .12 0.00 .05 .22 1.39 1.22 .38 2.07 3.26 .46 .44 1.29 0.00

5.3.1 Optimizacin Una vez determinada la matriz de costos, (ij), se presenta el problema de optimizar la expresin (5.1). Nosotros utilizamos, en instancias con N pequeo (hasta 12 colores), un algoritmo basado en la generacin de permutaciones en orden lexicogrfico y una forma simple del mtodo de ramificacin y acotamiento (branch and bound, en ingls) (Papadimitriou 1982) [6], y para instancias con mayor N (hasta 40 colores) un algoritmo ms elaborado, basado en un algoritmo de retroceso (backtacking, en ingls). En esta seccin (Maldonado 1999) [59] y en la siguiente presentamos los algoritmos desarrollados. La generacin de permutaciones ha sido, desde hace varias dcadas, un problema importante en computacin; tanto intrnsecamente, por la bsqueda de mtodos que tratan de disminuir el tiempo de mquina, la memoria utilizada, etc., como por la gran cantidad de aplicaciones que tienen en ciencias e ingeniera. El primer algoritmo computacional data de 1956 y es debido a Tomkins [60]; y a partir de all se han desarrollado una variedad de algoritmos secuenciales que generan permutaciones con cambio mnimo(Tomkims 1956)(Ord-Smith 1970) [61],[62], en orden lexicogrfico (Ord-Smith 1070)(Phillips 1967)(Shen 1963) [61],[63],[64] e inclusive sin un orden especial (Ord-Smith 1970)[61]. Ms recientemente se han publicado varios algoritmos en paralelo (Akl 1987)(Lee 1994) [65]-[71], en arquitecturas SIMD (Gupta) [67], en diseos sistlicos (Gupta 1967) [67] o con procesadores vectoriales (Lin 1990) [68].

56

En un problema tpico de optimizacin combinatoria, tal como el (5.1) donde el objetivo z se debe optimizar sobre un conjunto de permutaciones , se puede desarrollar un algoritmo que genere las permutaciones ordenadamente y que permita eliminar subconjuntos de permutaciones donde, por algn criterio K, se tiene la certidumbre de que el objetivo no alcanzar su ptimo. Nosotros hemos desarrollado un algoritmo que genera las permutaciones en orden lexicogrfico utilizando solamente como informacin la permutacin precedente y cuando es usado para resolver problemas del tipo (5.1) permite eliminar todas las permutaciones de una rama. El algoritmo desarrollado genera todas las permutaciones de N elementos en orden lexicogrfico y es comparado con xito con los algoritmos publicados ms eficientes. Realizamos tambin un anlisis cuantitativo del desempeo de nuestro algoritmo al ser usado en una bsqueda exhaustiva.

5.3.1.1 Algoritmo basado en permutaciones La mayora de los algoritmos que generan las permutaciones de N elementos en orden lexicogrfico utilizan un vector auxiliar, denominado firma, en forma explcita o implcitamente (Tomkings 1963) [60]. Aunque la cantidad de memoria utilizada por el vector es despreciable, la generacin de la firma y su lectura para la determinacin de cada permutacin conllevan el uso de un tiempo considerable. Sin embargo, cuando los elementos a permutar son alfanumricos el vector auxiliar no es necesario. El algoritmo desarrollado utiliza las siguientes caractersticas de las permutaciones ordenadas en forma lexicogrfica: a) Si asignamos el nmero 1 a la primer permutacin, {1,2,...,n}; todas las permutaciones pares se obtienen de la anterior intercambiando los dos primeros elementos. As, si la permutacin k-sima (k, impar) de n elementos es a1, a2, a3, ...., an; entonces, la permutacin k+1-sima se obtiene intercambiando a2 con a1; es decir, a2, a1, a3 ..., an. b) Las permutaciones impares se obtienen intercambiando el primer elemento aj, desde a3 a an, por el primero de su izquierda que sea menor a l; y ordenando de menor a mayor a los elementos de a1 a aj-1. Cuando se llega a an sin haber encontrado un elemento menor a su izquierda el proceso de generacin de las permutaciones a concluido. Ntese, que cuando se ve afectado el elemento aj, los elementos del conjunto {a1, a2, ..., aj-1} estn ordenados en forma lexicogrfica inversa. Por lo tanto, el ordenamiento de menor a mayor de estos elementos no implica un proceso de bsqueda sino solamente de r intercambios; donde r es el entero que resulta de dividir (j-1) entre 2. Si tomamos, por ejemplo, la permutacin 42135

57

(nmero 12 de los cinco elementos 1,2,3,4,5), la siguiente permutacin se obtiene: a) intercambiando el elemento a4, porque es el primero, de izquierda a derecha, que tiene a su izquierda uno menor a l -el a2-, para obtener el arreglo intermedio 43125; y b) ordenando de menor a mayor los primeros 3 elementos (4-1). Para ello se intercambia el elemento a1 por a3 -los primeros parte entera de j/2 elementos. La permutacin nmero 13 es entonces 13425. Formalmente, un pseudo cdigo del algoritmo tiene la estructura presentada a continuacin: Comenzar Escoger un valor de N Generar la primer permutacin Repetir Intercambiar los dos primeros elementos Buscar ak, entre a3 y an, con algn elemento menor a su izquierda. Si existe, intercambiarlos. En caso contrario p es falso Ordenar de menor a mayor el subconjunto {a1, a2, , ak-1} Mientras el criterio p de parada sea verdadero Fin El nmero total de intercambios necesarios para generar, con nuestro algoritmo, las permutaciones de n elementos es 1.543n!. Este nmero se puede obtener con el siguiente anlisis: i) Para obtener las permutaciones pares se efecta un intercambio por cada una. O sea un total de .5n! intercambios. ii) Para obtener las permutaciones impares se efectan dos procesos. Un intercambio del elemento aj por el primero que sea menor a su izquierda y un ordenamiento. O sea, nuevamente, un total de .5n! intercambios; ms los intercambios necesarios para el reordenamiento de menor a mayor de j-1 elementos. Designando con Pj-1 a la cantidad de intercambios realizados por reordenamientos cuando se permutan j-1 elementos; entonces, al permutar j elementos se efectuarn j*Pj-1 + (j-1)*|(j-1)/2| intercambios. El ltimo sumando se debe a que al permutar j elementos, el j-simo elemento es intercambiando una vez con cada uno de los j-1 elementos que le anteceden; y en cada uno de esos casos, al reordenar se producen |(j-1)/2| intercambios. Se obtiene as la relacin de recurrencia

58

Pj = j*Pj-1 + (j-1)*|(j-1)/2| con P3 = 2.

(4.2)

Al sumar la serie para j = 10, se obtiene el valor .54308n!, y puede mostrarse que la serie converge a ese valor. Los trminos posteriores al dcimo, (j=10), son menores que 1/2(j+1). Si se suma la serie 1/210*1/2j (desde j=1 hasta ) se obtiene como cota el valor .0001.

5.3.1.2 Eliminacin de ramas El procedimiento que utilizamos consiste en sumar, para cada permutacin generada, el costo de los caminos parciales, en el orden de menor a mayor velocidad de cambio, e ir controlando si se supera el menor valor, Q, obtenido hasta ese momento. Si al sumar k caminos parciales se supera la cota, entonces se genera la ltima permutacin de esa rama ordenado de mayor a menor los n-k elementos restantes. Dado que, como explicamos anteriormente, el algoritmo utiliza cada permutacin para generar la siguiente, el proceso de bsqueda contina desde la permutacin subsiguiente a la generada por ordenamiento. En la Figura 13 se presenta un esquema del proceso de bsqueda y de eliminacin de una rama cuando se supera una cota mnima, la mejor encontrada hasta ese momento.

Figura 13. Proceso de podado de ramas

59

En el Apndice I mostramos el programa fuente en Turbo Pascal del programa generador de permutaciones en orden lexicogrfico y en el Apndice II el programa fuente del programa de optimizacin basado en la generacin de permutaciones. En el siguiente captulo presentamos los resultados obtenidos al aplicar este algoritmo a un conjunto de 10 colores. Los valores comparan favorablemente con los que resultaran de teir en el orden sugerido por expertos. A continuacin mostramos en las Tablas III y IV los valores, coordenadas en el espacio CIELab y la matriz de costos, correspondientes a un conjunto de 37 colores. Este valor de N es acorde con la cantidad de telas que se programan para teir en una empresa de acabados. Tabla III. Coordenadas CIELab, 37 colores. El nmero entre parntesis indica el orden en que se fueron recibiendo los pedidos.

N 1 (4) 2 (7) 3 (9) 4 (29) 5 (31) 6 (23) 7 (10) 8 (33) 9 (22) 10 (14) 11 (3) 12 (20) 13 (13) 14 (18) 15 (30) 16 (2) 17 (15) 18 (25) 19 (1) 20 (17) 21 (24) 22 (8) 23 (28) 24 (27) 25 (6)

L 96.56 91.86 87.02 84.02 81.70 72.69 60.03 38.69 42.01 47.16 58.02 52.11 52.68 46.79 46.60 39.47 41.05 40.20 54.21 43.03 20.45 48.98 20.03 35.02 46.03

A -23.07 13.70 -15.10 -5.10 4.90 5.10 26.03 52.73 40.13 44.07 26.12 39.69 34.66 22.11 -25.36 -3.61 -4.76 36.31 46.70 -9.76 12.61 -36.38 -8.04 17.31 -23.61

b 68.93 32.20 78.02 70.02 84.71 31.05 -7.85 26.16 15.55 -12.46 60.80 54.06 28.00 16.32 6.51 -2.49 2.78 30.65 38.64 10.04 -16.86 10.19 12.47 -34.74 7.08

60

26 (26) 27 (9) 28 (11) 29 (12) 30 (21) 31 (36) 32 (35) 33 (32) 34 (34) 35 (19) 36 (16) 37 (37)

27.16 30.38 20.33 43.14 20.67 25.36 41.17 32.31 25.18 40.24 20.26 57.51

13.89 -6.84 -3.04 -1.44 20.24 10.18 1.25 -9.10 -8.04 -3.40 -9.64 35.27

-30.04 -1.03 2.47 -24.32 -25.63 -18.02 -40.97 -1.07 -1.32 -14.12 -1.32 63.59

61

TABLA IV. Matriz de costos de un conjunto de 37 colores


* 177 341 509 590 880 1169 2012 1922 1502 1769 1429 1636 2637 1686 3246 1468 1554 1723 2437 713 2137 3823 2557 4284 2051 4359 2914 3363 4436 3969 2763 4524 3430 4633 3431 3927 6 * 231 339 437 697 877 1468 1439 1101 1313 1097 1320 2012 1458 2754 1385 1449 1614 2131 44 1944 3070 2264 3685 1975 3724 2604 2985 3770 3547 2680 4048 3222 4175 3285 3689 11 105 * 220 293 473 537 960 946 710 1000 723 991 1394 1194 2016 1284 1369 1525 1720 38 1768 2416 2004 3088 1912 3186 2250 2648 3041 3169 2581 3379 2906 3608 3179 3519 16 62 48 * 131 200 232 480 553 353 597 454 644 893 988 1324 1187 1270 1394 1443 1527 1542 1892 1703 2370 1837 2593 1943 2308 2418 2655 2499 2852 2633 3176 3045 3282 20 15 10 4 * 66 131 395 350 198 304 178 247 727 827 1037 1148 1225 1293 1159 1370 1435 1310 1645 1670 1763 1923 1831 2050 2157 2382 2434 2471 2494 2801 2963 3215 17 14 11 7 5 * 99 279 270 154 226 132 181 590 682 825 1028 1061 1114 1004 31 1214 982 1389 1313 1571 1473 1645 1820 1781 2016 2157 2073 2236 2383 2535 2855 13 11 12 21 11 27 11 35 11 41 35 47 * 51 196 * 169 10 108 62 167 25 92 58 126 45 441 21 572 438 516 42 901 771 940 780 989 800 888 614 37 817 1033 832 631 64 1136 897 1001 81 1380 1140 1021 318 1446 1157 1518 980 1386 570 1669 1085 1870 1454 1743 894 1993 1589 1920 1168 2183 1832 2536 2100 10 19 24 31 35 41 49 4 * 42 23 46 36 26 434 53 757 767 771 623 1148 813 93 893 93 1127 346 1161 977 603 1082 1433 902 1594 1168 1787 2077 7 9 12 16 18 12 6 31 22 * 15 2 7 68 379 122 659 677 694 685 47 740 156 881 188 988 476 1179 970 749 1063 1316 1058 1613 1165 1619 1994 9 9 16 10 20 12 26 14 29 16 32 18 37 39 13 115 16 62 29 48 * 90 34 * 25 44 41 271 415 458 78 220 727 763 738 819 744 838 641 748 243 1917 789 814 115 370 889 877 120 532 1082 1137 380 658 1167 1271 975 1265 645 944 1075 1296 1390 1579 957 1412 1600 1785 1167 1507 1716 1776 2052 2129 8 12 16 22 24 23 21 22 19 14 18 17 * 56 398 99 692 706 72 1 663 28 766 135 886 156 1036 429 1174 972 693 1070 1358 1011 1608 1166 1665 2027 10 20 27 35 40 43 47 1 10 54 23 53 39 * 383 32 709 705 709 554 773 728 49 799 60 1044 277 1060 841 487 931 1326 747 1404 1031 1640 1846 21 56 84 113 138 135 131 37 51 122 74 126 99 91 * 127 43 44 44 23 45 46 166 96 206 65 234 51 159 273 252 88 299 94 325 107 128 9 19 27 34 40 40 43 4 11 48 21 46 34 13 332 * 644 640 623 505 15 638 35 686 36 919 240 949 703 409 778 1199 618 1218 838 1490 1680 21 33 58 19 94 127 51 73 165 46 245 325 72 152 284 76 371 477 99 231 387 90 518 641 117 201 400 111 567 721 113 158 341 115 539 704 108 194 359 121 537 689 125 138 173 36 207 233 123 159 221 45 287 331 99 224 365 112 509 650 115 179 260 58 372 448 102 278 398 104 519 671 106 199 314 89 414 540 284 281 277 80 272 266 81 84 90 9 95 100 420 412 378 113 336 295 * 15 60 34 103 130 18 * 60 39 83 113 39 44 * 41 65 77 110 114 128 * 144 159 65 64 0 989 * 1653 88 70 41 37 22 * 612 575 498 138 416 322 168 157 118 83 84 41 742 719 585 187 461 331 97 127 161 56 198 230 758 684 554 205 417 317 170 188 218 45 258 287 348 317 254 129 176 117 775 754 606 220 453 296 584 552 429 231 304 202 169 221 259 75 298 338 790 731 575 269 437 278 238 262 306 77 341 378 803 673 539 258 416 264 273 288 335 74 376 417 309 352 401 111 440 476 8 118 17 260 26 385 34 482 38 644 37 558 38 613 6 170 12 277 41 536 19 395 38 531 29 427 8 218 265 90 11 231 573 117 555 101 555 70 454 133 613 42 541 4 * 297 574 * 19 285 788 197 199 257 816 253 561 100 319 245 613 158 1078 296 485 219 1026 335 691 218 1355 359 1471 353 7 16 26 34 37 36 35 7 12 34 19 34 25 6 224 4 494 490 480 425 94 463 2 491 * 705 154 744 519 301 550 971 432 983 578 1194 1318 17 10 14 84 14 51 13 18 8 20 8 5 42 25 34 186 37 128 33 47 22 57 22 9 56 40 55 284 57 201 41 79 36 93 23 14 82 55 67 352 79 233 56 100 43 116 37 19 97 61 75 500 85 331 68 106 50 130 48 23 92 58 85 434 81 278 64 108 56 127 42 20 79 56 90 425 83 275 58 108 56 123 37 18 88 19 26 128 32 87 56 42 17 46 23 7 96 21 36 206 30 126 64 40 22 53 39 9 80 52 79 397 71 250 53 92 50 114 31 15 87 36 43 273 51 168 60 65 28 72 26 12 78 58 79 380 77 253 54 95 51 118 29 17 83 44 60 297 61 200 63 82 38 92 33 14 216 16 60 165 31 99 157 41 42 50 76 20 63 166 2 65 106 39 44 61 3 21 27 5 329 18 85 159 32 108 239 47 64 54 142 35 3 383 26 95 233 67 7 123 19 47 10 11 16 366 28 80 273 59 15 138 20 45 12 11 28 387 32 56 257 47 20 129 20 36 11 9 85 339 13 107 210 70 59 122 8 42 28 4 1785 57 801 35 7 353 729 838 19 26 741 518 64 340 24 8 245 13 36 130 15 17 18 5 464 18 112 214 36 141 291 48 79 57 166 48 129 338 62 26 215 19 87 113 36 12 56 18 560 15 135 227 34 151 342 49 87 60 148 55 * 541 40 157 381 113 56 218 25 63 37 9 541 * 146 190 91 121 369 56 94 41 217 57 121 547 * 194 362 122 76 177 17 66 21 2 252 403 88 * 253 30 152 105 62 7 75 35 568 227 162 175 * 103 372 72 107 22 158 59 461 399 171 108 239 * 315 93 115 4 202 48 129 760 56 227 505 155 * 238 31 82 36 6 605 302 194 157 163 69 393 * 140 5 227 62 186 701 54 265 423 167 117 188 * 85 66 1 561 382 203 144 188 68 372 2 141 * 139 64 192 929 50 292 620 194 106 310 25 102 * 3 212 910 73 275 511 195 114 222 43 112 42 *

62

5.4

Algoritmo de retroceso

El algoritmo desarrollado en las dos secciones anteriores es muy simple y cmodo porque permite imponer condiciones de forma muy directa. Sin embargo, resulta poco eficiente cuando la instancia a resolver es de N>15. Para superar esta limitacin desarrollamos otro algoritmo en el que la bsqueda exhaustiva es atacada con una tcnica que recibe el nombre algoritmo de retroceso. El mtodo consiste en tratar de extender una solucin parcial. Cuando no es posible extender la solucin parcial, se regresa a una solucin parcial ms corta y se trata nuevamente de extenderla. La idea esencial del retroceso se entiende fcilmente si se piensa en como se hace para atravesar un laberinto: se comienza en un punto y se trata de avanzar limitado por la existencia de barreras que impiden ciertos movimientos. Uno puede tratar de atravesar un laberinto siguiendo solamente dos reglas: a) Desde el punto actual, tomar cualquier camino no explorado previamente. b) Si en el punto actual no existe ningn camino no explorado, regresar hasta el punto anterior donde haya estado antes del punto actual. La primer regla permite extender, cuando es posible, el camino actual; la segunda hace regresar cuando se est bloqueado para buscar otra alternativa. Supondremos que la solucin a un problema es un vector (a1, a2, ) de longitud finita pero indeterminada, que satisface ciertos vnculos. Cada ai es miembro de un conjunto finito, linealmente ordenado Ai. Se empieza con un vector nulo ( ) como solucin parcial, y los vnculos dirn cual de los miembros de de A1 son candidatos para a1; sea S1 este subconjunto. Elegimos un elemento de S1 como a1. Tenemos entonces la solucin parcial (a1). En general, las soluciones posibles del subconjunto Sk de Ak dirn cuales son candidatos para extender la solucin parcial (a1, a2, , ak-1) a (a1, a2, , ak-1, ak). Si la solucin parcial (a1, a2, , ak-1) no tiene posibilidades para ak, entonces Sk = , y se debe regresar y hacer una nueva eleccin para ak-1. Un algoritmo para atravesar un laberinto sera el siguiente: S1 k 1 while Sk do while k >0 An = do backtrack k k -1 A1 ak Sk elemento de Sk Sk {ak}

if (a1, a2, , ak) es solucin then registrar k = k -1

63

Si, al finalizar, el valor de k = 0, implica que no hay ningn camino para atravesar el laberinto. Si, en cambio se llega a un cierto An vaco, implica que se ha llegado a la puerta de salida del laberinto.

5.4.1 Ramificacin y acotamiento La aplicacin del algoritmo de retroceso puede mejorarse utilizando distintos mtodos que excluyen soluciones que no resultan adecuadas. Una variante de exclusin muy utilizada recibe el nombre de ramificacin y acotamiento. En el mtodo de ramificacin y acotamiento la exclusin se basa en la suposicin de que cada solucin tiene asociado un costo y que el objetivo es encontrar la solucin de mnimo costo. Para que el mtodo de ramificacin y acotamiento sea aplicable, el costo de cada solucin parcial debe estar bien definido; esto es costo(a1, a2, ..., ak-1) costo(a1, a2, ..., ak-1, ak) Cuando el costo tiene esta propiedad, se puede desechar una solucin parcial (a1, a2, ..., ak) si su costo es mayor o igual que el costo de una solucin calculada previamente. Esta condicin se puede aplicar fcilmente al anterior algoritmo de retroceso, obtenindose costomin costo 0 S1 A1 k 1 while Sk and cost < costomin do if (a1, a2, , ak) es solucin and costo < costomin then k=k+1 calcular Sk k k -1 registrar (a1, a2,..., ak) costomin while k >0 do costo

ak Sk

elemento de Sk Sk {ak}

costo costo(a1, a2,..., ak) Un caso tpico que se puede resolver con el mtodo de ramificacin y acotamiento es el problema del agente viajero. En este problema el agente debe

64

visitar n ciudades y retornar al punto de partida minimizando el costo del viaje. En nuestro problema de secuenciar n colores el camino es abierto; es decir, no se debe retornar al punto inicial (en Investigacin de Operaciones se le conoce como problema del vagabundo viajero). Este efecto se logra agregando un rengln y una columna de ceros en la matriz de costos. La forma ms eficiente de aplicar el anterior algoritmo de ramificacin y acotamiento consiste en partir, en cada etapa, todas las soluciones en dos grupos, el grupo de las soluciones que incluyen el camino entre dos ciudades i y j, y el grupo de las soluciones que la excluyen. Esto genera un rbol binario donde cada nodo tendr asociada una cota inferior del costo de todas las soluciones que descienden de l. El mtodo utiliza el hecho de que si se sustrae una constante a cualquier fila o columna de la matriz de costos, la solucin ptima no se altera. Desde luego, cambia el costo de la solucin pero no el camino en s. El costo de la solucin ptima disminuye exactamente en la cantidad que es sustrada de cualquier fila o columna. La sustraccin se realiza de manera que todo rengln y columna tenga un cero y tal que los dems elementos sean no negativos. Entonces, la cantidad total sustrada ser una cota inferior para el costo de la solucin ptima. Aplicaremos el algoritmo a un ejemplo tomando un subconjunto de la matriz de costos de la Tabla II. Sea n = 6 y la matriz de costos 1 591 1503 2012 4284 4633 0 2 21 198 395 1671 2801 0 3 7 18 31 189 1166 0 4 12 42 62 82 1169 0 5 7 38 34 8 578 0 6 20 131 115 47 60 0 7 0 0 0 0 0 0

1 2 3 4 5 6 7

En este primer paso no es necesario realizar sustracciones en ningn rengln ni columna dado que todos tienen un cero debido al rengln y columna nulos que se agregaron para que el camino resulte abierto. En consecuencia, para cualquier arco que elijamos, la cota mnima ser 0. El arco ms conveniente es el 6-7. Esta eleccin elimina automticamente todo el rbol que excluye este arco. Si tomramos el camino que excluye al arco 6-7, pondramos un valor infinito en el lugar de ese elemento y deberamos restar el valor 578 al sexto rengln para obtener un cero. Entonces, el camino que excluye al arco 6-7 tiene una cota inferior de 578. En general, el procedimiento consiste en elegir el rengln que contiene el valor ms alto del elemento ms pequeo.

65

Al seleccionar el arco 6-7 se elimina el rengln 6 y la columna 7 y se coloca un valor infinito en el elemento 7,6. La matriz queda entonces, 1 591 1503 2012 4284 0 2 21 198 395 1671 0 3 7 18 31 189 0 4 12 42 62 82 0 5 7 38 34 8 0 6 20 131 115 47 60

1 2 3 4 5 7

Ahora hay que transformar la matriz para obtener un cero en cada rengln. Para ello, como dijimos anteriormente, restamos a cada rengln el menor de sus elementos, 7 al primer rengln, 18 al segundo rengln y as sucesivamente. La matriz queda, 1 573 1469 2004 4224 0 2 14 164 387 1611 0 3 0 0 23 129 0 4 5 24 28 22 0 5 0 20 0 0 0 6 13 113 81 39 0

1 2 3 4 5 7

En total se rest 7 + 18 + 34 + 8 + 60 = 127. Este valor, 127 es una cota mnima para la sucesin ptima. En el segundo paso resulta conveniente elegir el arco 3-5. Se elimina entonces el rengln 3 y la columna 5, y el elemento 5,3 se hace infinito. Entonces, la matriz queda, 1 2 3 4 6 1 14 0 5 13 2 573 0 24 113 4 2004 387 23 39 5 4224 1611 22 0 7 0 0 0 0 Para obtener nuevamente un cero en cada rengln, es necesario restar 23 al segundo rengln y 22 al segundo, lo que eleva la cota mnima a 127 +23 + 22 = 172. En cambio, si se elige el camino que excluye al arco 3-5, habra que reemplazar al valor de este elemento por infinito y restar el valor 28 al tercer rengln para volver a obtener un cero en l. En ese caso, la cota inferior pasara a

66

tener un valor de 127 + 28 = 155. En consecuencia, resulta beneficioso hacer un backtracking y explorar esta opcin. Entonces la matriz toma la forma 1 2 3 4 5 7 1 573 1469 2004 4224 0 2 14 164 387 1611 0 3 0 0 23 129 0 4 5 24 0 22 0 5 0 20 0 0 6 13 113 81 39 0

y el arco seleccionado es el 3-4. Al eliminar el rengln 3 y la columna 5 se obtiene la siguiente matriz, que no debe ser transformada porque tiene un cero en cada rengln y columna. 1 2 4 5 7 1 573 2004 4224 0 2 14 387 1611 0 3 0 0 129 0 5 0 20 0 0 6 13 113 39 0

En el tercer paso se debe elegir el arco 5-6 porque el rengln 5 contiene el elemento de mayor valor, 129. Eliminando el rengln 5 y la columna 6 se tiene la siguiente matriz, que contiene, sin modificar, un cero en cada rengln y columna. 1 2 4 7 1 573 2004 0 2 14 387 0 3 0 0 0 5 0 20 0 0

En el cuarto paso se debe elegir el arco 4-5 porque el rengln 4 contiene el elemento de mayor valor, 387. Eliminando el rengln 4 y la columna 5 se tiene la siguiente matriz, que contiene, sin modificar, un cero en cada rengln y columna.

1 2 7

1 573 0

2 14 0

3 0 0 0

67

En el quinto paso se debe elegir el arco 2-3 porque el rengln 2 contiene el elemento de mayor valor, 573. Eliminando el rengln 2 y la columna 3 se tiene la siguiente matriz. Para generar un cero en el primer rengln se resto 14. Ello eleva la cota inferior a 155 +14 = 169. 1 7 1 0 2 0 0

Los paso 6 y 7 son triviales y llevan a elegir los arcos 1-2 y 7-1, respectivamente. La secuencia ptima resulta la 1-2-3-4-5-6-7-1, donde 7 es el color ficticio agregado para abrir la secuencia, y con un costo de 169. Ambos resultados coinciden con los presentados en la Tabla V del Captulo VI.

68

CAPTULO VI 6 APLICACIONES INDUSTRIALES

En este captulo presentamos los resultados obtenidos en la determinacin de sucesiones ptimas, tanto para conjuntos pequeos (hasta 10 colores), como de un tamao semejante al que puede llegar a encontrarse en una empresa textil dedicada a acabado y tintorera. En los primeros ejemplos resueltos, que corresponden a conjuntos de 10 colores se us el algoritmo descrito en 5.3.1.1 y 5.3.1.2. Para resolver instancias con un mayor nmero de colores se utiliz el algoritmo presentado en la seccin 5.4.1. Con este algoritmo se resolvieron instancias con 37 colores y se utiliz para comparar la calidad de las sucesiones obtenidas por mtodos heursticos en la bsqueda iterativa de sucesiones ptimas parciales. Este mismo algoritmo se utiliz para resolver el problema de encontrar la secuencia ptima de colores sujeto a un conjunto de restricciones de carcter industrial, su comportamiento ante la presencia de diferencias de color detectables a simple vista y cuando el equipo se ha utilizado previamente en el teido de otro conjunto de telas, y comercial, atendiendo a la necesidad de teir una tela en posiciones anteriores a la establecida en la secuencia ptima (Maldonado 2000) [7]. Tambin con las instancias ms grandes se resolvi el problema del lavado de equipos de teido y el establecimiento de polticas acordes al mercado atendido por cada empresa, y a la resolucin del problema del teido de conjuntos de telas utilizando varios equipos de teido simultneamente.

6.1

Sucesiones ptimas

Aplicamos, el algoritmo generador de permutaciones, en particular, para el conjunto de colores de la Tabla I. Las sucesiones y los costos obtenidos en el proceso de optimizacin los presentamos en la Tabla V. En esta tabla se muestran las secuencias ptimas y los costos z obtenidos por el proceso de optimizacin, as como las secuencias y los costos de las que propusieron los expertos. Tabla V. Sucesiones y costos obtenidos por optimizacin y por opinin de expertos Colores 4 5 6 7 8 9 10 Secuencia ptima 1243 12345 123456 1235476 12543876 125438769 12354(10)8769 Costos Z .94 1.09 1.69 4.06 4.19 4.84 4.88 Secuencia propuesta 1234 12345 123456 1234567 12345678 123456789 123456789(10) Costos Z 1.01 1.09 1.69 4.33 5.22 5.34 6,63

69

Los resultados obtenidos por el proceso de optimizacin fueron comparados con las sucesiones propuestas por los expertos. En todos los casos los costos de las sucesiones obtenidas por optimizacin fueron menores o iguales a los de las sucesiones propuestas por los expertos. Adems, las sucesiones obtenidas por optimizacin fueron aceptadas, a posteriori, por los expertos como ms convenientes a las propuestas por ellos mismos.

6.2

Restricciones

Explicamos anteriormente que determinando los niveles de contaminacin provocados por los residuos de los colorantes que permanecen en los equipos de teido y analizando las consecuencias cuantitativas, obtuvimos un modelo anlogo al ATSP y, como tal, fue posible aplicar tcnicas de optimizacin y obtener secuencias de teido que minimizan el efecto de la contaminacin. Sin embargo, los requerimientos de la industria imponen nuevas condiciones de tal modo que una secuencia de colores que es matemticamente ptima puede resultar no adecuada desde un punto de vista industrial. Puede suceder que una sucesin sea ptima, lgicamente porque la suma de las diferencias espectromtricas entre los colores obtenidos y los solicitados tenga un valor mnimo, pero que contenga un sumando grande correspondiente a una diferencia de color detectable por el ojo humano. Tambin, cuando se aplica un proceso de optimizacin para determinar una sucesin ptima de colores, debemos tener en cuenta que, en general, el equipo ha sido usado con anterioridad para teir otro conjunto de telas. Como resultado, el primer color a ser teido en la nueva serie no puede ser elegido libremente porque se ver afectado por el ltimo color teido en la serie anterior. En muchas oportunidades, por motivos de tipo comercial, tal como necesidad o exigencia del cliente, no es posible esperar a teir una determinada tela en el momento matemticamente adecuado. Cabe aclarar que en cada teido se emplean unas cinco horas, por lo que un conjunto de 40 telas implica casi diez das entre la primera y la ltima tela teida. En la seccin anterior resolvimos el problema de encontrar una secuencia ptima para un conjunto de diez colores, pero en la industria textil, normalmente se trabaja con conjuntos de 30, 40 o ms colores. Entonces, hay que considerar un factor adicional: para generar cada matriz de costos, se deberan determinar centenares de diferencias de color en un espectrocolormetro, pero el empleo de personal tcnico calificado durante un largo perodo de tiempo puede resultar inviable. A continuacin analizamos cada una de las restricciones descritas. El proceso de optimizacin se efectu en instancias de hasta 36 colores. En la Tabla

70

III del Captulo V se dieron las coordenadas de un conjunto 37 colores, ordenados de acuerdo al orden en que deberan ser teidos, en opinin de los expertos, y en la Tabla IV, del mismo captulo anterior se dio la matriz de costos.

6.2.1 Uso previo del equipo de teido Cuando en una fbrica se recibe un pedido de N telas para teir, la empresa, en general, no tiene un equipo limpio para trabajar. El equipo est tiendo una serie de M telas que fueron solicitas previamente y para las cuales se estableci una cierta secuencia, Co1, Co2,..., CoM. La nueva serie a teir se ver afectada por los colorantes residuales del ltimo de la serie previa, CoM, exactamente como si fuera el primer color de una serie de N+1 colores. El problema puede plantearse como sigue: Dada una serie de N colores, se debe encontrar la sucesin ptima para un a serie de N+1 colores donde el primero est predeterminado. El mtodo de resolucin es bastante sencillo. Consiste en realizar una modificacin adecuada de la matriz de costos. A la matriz de costos se le agrega un rengln y una columna, correspondientes al color CoM, con las siguientes caractersticas: los elementos de la columna, que indican el costo de teir el color CoM, despus de cualquiera de los N colores, son penalizados, asignndoles un costo suficientemente alto. A los elementos del rengln que corresponde a CoM, que representan el costo de teir cualquiera de los N colores despus de haber teido el color CoM, se le asignan los costos reales determinados en el espectrocolormetro. El esquema se presenta en la Tabla VI.

Tabla VI. Matriz de costos ampliada con rengln y columna correspondiente al ltimo color de la serie teida anteriormente

0 c21 ... cn1 cn+1,1

c12 0

C13

...

c1,n

0 cn+1,2 ... ... cn+1,n

Para el proceso de optimizacin utilizamos el conjunto de 36 colores mencionados en la Tabla IV y suponemos que el ltimo color teido de la secuencia previa, CoM, fue el color con coordenadas CIELab 57.51, 35.27, 63.59.

71

La secuencia ptima del conjunto de 36 colores se presenta en la Tabla VII, mientras que en la Tabla VIII presentamos la secuencia ptima encontrada con la condicin de que el color CoM ocupe el primer lugar. Se observa al inicio de la secuencia un retorno de colores oscuros hacia colores ms claros. Tabla VII. Secuencia ptima del conjunto de 36 colores Ordenamiento ptimo
1,2,3,4,5,6,7,11,12,10,9,8,13,15,22,24,26,29,34,32, 30,28,23,21,20,18,17,16,25,31,35,27,14,19,33,36

Costo
11.38

Tabla VIII. Secuencia ptima del conjunto de 36 colores con el uso previo del equipo para el color CM. Ordenamiento ptimo
CM,7,4,2,1,3,5,6,11,12,10,9,8,13,1522,24,26,29,34, 32,30,28,23,21,20,18,17,16,25,31,35,27,14,19,33,36

Costo 17.97

Es claro que, la condicin de procesar un nuevo conjunto no se produce exactamente cuando se est terminando con el ltimo elemento del conjunto anterior. En general, se tiene identificado un nuevo conjunto de n elementos cuando todava faltan procesar q elementos del conjunto anterior. Determinando la sucesin ptima de todo el conjunto de q + n elementos se obtienen sucesiones de un costo menor. La condicin que debe cumplirse es que los q elementos del conjunto anterior deben procesarse antes que ninguno de los elementos del nuevo conjunto. Si no se impusiera esta restriccin se correra el riesgo de que se fuera postergando repetidas veces el procesamiento de un elemento determinado. Desde luego, adems, se debe tener en cuenta, como en el caso anterior, cual fue el ltimo color teido. El aspecto ms importante a destacar es que se puede optimizar el conjunto de q + n elementos, que cumplan la condicin de que los q elementos que faltaban se procesen antes que los n elementos del nuevo conjunto, utilizando un algoritmo estndar para el ATSP, modificando de manera adecuada la matriz de costos. Para lograrlo se arma una matriz de costos orden q+n+1 con las siguientes sub-matrices: a) Una sub-matriz Q, de orden q, donde los elementos son los costos originales de los colores que faltaba procesar; b) Una sub-matriz N, de orden n, donde sus elementos son los costos de los colores del nuevo

72

conjunto; c) Una sub-matriz QN, de q renglones y n columnas, donde los elementos son los costos reales de pasar de un color del conjunto primitivo a un color del nuevo conjunto; d) Una sub-matriz NQ, de n renglones y q columnas, con los costos penalizados (M grande), para inhibir el paso de un color del nuevo conjunto a un color del conjunto anterior. Este artificio asegura que todos los colores del conjunto anterior se procesarn antes que cualquiera de los colores del nuevo conjunto; y, una columna con elementos suficientemente grandes (M grande) y un rengln con los costos reales entre el ltimo color teido y los q que faltan teir. El costo entre el ltimo color teido y los n nuevos colores tambin debe estar penalizado (M grande). El esquema se muestra en la Tabla IX.

Tabla IX. Esquema de la matriz de costos ampliada para incorporar los colores que faltaba teir del secuencia anterior

Sub-matriz Q, de orden q

Sub-matriz QN, de orden q X n

Sub-matriz NQ, de orden n X q

Sub-matriz N, de orden n

Cij

6.2.2 Sensibilidad del ojo humano Desde un punto de vista industrial, el aspecto ms importante no es encontrar una ruta ptima; es decir, una secuencia de colores con el costo matemtico mnimo, si no teir las telas en una secuencia de colores tal que la diferencia entre los colores obtenidos y los solicitados sea imperceptible al ojo humano. Es evidente que puede existir un a ruta de costo mnimo con una mayora de costos pequeos y un costo grande. Si este costo (diferencia entre colores) es mayor que unas cierta cota (observable), entonces, la ruta ptima no es la adecuada en trminos industriales. Para asegurar que ninguno de los colores obtenidos difiera del color solicitado en un grado observable, se debe buscar un camino donde los costos no excedan una cierta cota, K (el valor de la cota K depende de la posicin que el color ocupa en el espacio CIELab). En la instancia resuelta de 36 colores, hay un costo que podramos tomar como ejemplo de una diferencia observable. Suponiendo que este es el caso para

73

la diferencia causado en el color C28 cuando es teido despus del color C30 (C28,30 = 1.08). Para evitar esta diferencia observable, se debe penalizar la secuencia que la contendra; es decir, remplazar en la matriz de costos el valor que corresponde a C28,30 por un valor varios rdenes de magnitud mayor. En este ejemplo, es posible encontrar una secuencia que evite teir el color C28 despus del color C30. Aunque el costo total se ve incrementado (no es la secuencia ptima matemtica), la ventaja es que un observador no detectara una diferencia de color. En la Tabla X se muestran la secuencia original, que incluye el teido del color C28 a continuacin del teido de C30, con un costo total de 11.38 y la secuencia obtenida al impedirlo mediante penalizacin. El costo de la nueva sucesin es 11.86. Tabla X. Secuencias de colores con y sin la restriccin de evitar diferencias de color observables
Sin restriccin Con restriccin 1,2,3,4,5,6,7,11,12,10,9,8,13,15,22,24,26,29,34,32,30, 28,23,21,20,18,17,16,25,31,35,27,14,19,33,36 1,2,3,4,5,6,7,11,12,10,9,8,13,15,22,24,26,29,34,32,30, 36,35, 33, 27,19,14,28,23,21,20,18,17,16,25,31 Costo = 11.38 Costo = 11.86

Desde luego, no siempre es posible encontrar una secuencia que elimine todas las diferencias consideradas observables. En este caso, el equipo de teido debe ser lavado. El tema del lavado de los equipos ser tratado con amplitud ms adelante.

6.2.3 Restricciones de tipo comercial En el pargrafo 4.2, al hablar sobre restricciones, explicamos que, en muchas oportunidades, por motivos de tipo comercial, no era posible respetar el orden establecido en la secuencia ptima y tambin, que en cada proceso de teido se emplean alrededor de cinco horas. Para tener en cuenta el tiempo, incluiremos una restriccin al problema de optimizacin (4.1). Si designamos por al tiempo que se emplea en el proceso de teir una tela, el modelo de optimizacin tendr la forma N-1 z() = (i)(i +1) i=1

(4.1)

74

sujeto a

-1(j) tj/

(4.2)

donde j-1 indica la posicin del color Cj en la sucesin y t es el tiempo mximo permisible para realizar el teido de la tela en ese color Cj. Las restricciones de tiempo son resueltas, generalmente, a travs de ventanas de tiempo o penalizando el objetivo, pero se puede alcanzar el ptimo o soluciones cercanas al ptimo usando un algoritmo estndar para el ATSP iterativamente y alterando la matriz de costos (Maldonado 2001) [9]. Supongamos que necesitamos colocar un color C* en la posicin k y que, cuando determinamos la sucesin ptima el color C* ocupa una posicin posterior. Entonces, el mtodo que hemos desarrollado consiste en resolver sucesivamente el problema para n-1 colores (eliminando C*) y reemplazando el costo k-1,k, correspondiente a los colores que ocupan las posiciones k-1 y k en la sucesin ptima determinada, por el costo que correspondera a colocar al color C* entre esos dos colores; es decir, en la posicin k. Esto es, resolvemos el problema para n-1 colores (sin el color C*); entonces, incrementamos en la matriz de costos el costo, k-1,k, entre los colores que ocupan las posiciones k-1, k, a k-1,k . k-1,k = k-1,j + k,k = k-1,k + donde, por la propiedad triangular (k-1,j + j,k > k-1,k ), > 0, y resolvemos el problema nuevamente. Si se obtiene la misma sucesin con ambos costos (con el costo original k-1,k y el aumentado k-1,k), esto implica que la sucesin obtenida es ptima con el color C* en la posicin k. Si la sucesin es distinta se repite el proceso, incrementando el costo entre los colores que queden en las posiciones k-1 y k, hasta que la sucesin obtenida permanezca invariable. Se puede demostrar que el proceso no es cclico y converge a una solucin acotada en un nmero de iteraciones proporcional a n2. Para demostrarlo, veamos en primer lugar que en la nueva sucesin se rompe el orden de precedencia Ck-1, Ck. Sea C1, C2, , Ck-1, Ck, , Cn-1, la sucesin ptima para n-1 colores, con costo Q Cambiamos el costo k-1,k a k-1,k = k-1,j + k,k = k-1,k + ; entonces, el costo con el color C* en la posicin k sera Q +

75

Si la sucesin, con C* en la posicin k, no es ptima, entonces, el costo de la nueva sucesin ptima ser Q, con Q < Q + . Evidentemente, no puede mantenerse el orden de precedencia de los colores que estaban en las posiciones k-1 y k porque si se regresa su costo al valor original dara para la sucesin un costo menor que Q. Para repetir el proceso, incrementamos el costo entre los nuevos colores que queden en las posiciones k-1 y k. El costo de la sucesin con el color C* en la posicin k, ser Q + . El costo de la nueva sucesin ptima ser Q, con Q < Q + . En caso contrario, la sucesin anterior con C* en la posicin k ser la de menor costo. Tambin, si Q + < Q + , el valor Q + se transforma en una nueva cota superior. Entonces, al encontrar la sucesin ptima se rompe el orden de precedencia de los colores que ocupaban las posiciones k-1 y k y el par anterior no puede rearmarlo. Por lo tanto, al incrementar el costo entre dos colores que ocupan posiciones contiguas k-1 y k, las sucesiones que se obtienen no contienen ninguno de los pares de colores que ocuparon esas posiciones. As, el nmero mximo de iteraciones viene dado (n-1)(n-2) y existe una cota de valor conocido Q + para el mximo valor que puede tomar el costo de la sucesin con el color C* en la posicin k. Repetimos el procedimiento de incrementar el costo de la manera expuesta hasta que se obtiene la misma sucesin o que el costo supera la cota Q + . Entonces, en esa sucesin podemos incorporar al color C* en la posicin k. a) En todas las pruebass realizadas, obtuvimos la mejor solucin en n/3 iteraciones en promedio. b) Se alcanz el ptimo en el 60% de los casos. c) La mejor solucin no estuvo nunca ms alejada del ptimo que un 10%.

6.2.4 Series largas de colores Como es sabido, no existe an un algoritmo capaz de resolver el problema del ATSP de manera eficiente. La dificultad bsica de todos los mtodos exactos es que el tiempo que se tarda para encontrar la solucin ptima crece exponencialmente con el tamao del problema en nuestro caso, el nmero de colores. Sin embargo, el proceso de encontrar una secuencia ptima para un conjunto de colores del tamao que es usual en la industria textil (N<50), puede hacerse en una PC moderna (Miller 1991) [72], subsiste un problema prctico: cada ij que es calculado, se obtiene en un espectrocolormetro por un proceso de simulacin (Morales 1996) [4] y su nmero aumenta con el cuadrado del nmero de

76

colores; es decir, para un conjunto de 50 colores habra que determinar 2500 costos (Maldonado 1999) [10]. Sin embargo, consideraciones heursticas nos permiten determinar la secuencia ptima, o muy cercana al ptimo, usando slo una pequea parte de los valores ij (Maldonado 1999)(Maldonado 2001) [10][73]. El teido secuencial de telas en diferentes colores, tiene caractersticas que permiten, por criterios empricos, la identificacin de secuencias cuyo costo es cercano al ptimo global. Esos criterios, de claridad y limpieza de los colores los vienen utilizando los expertos desde hace ms de una centuria. Las secuencias propuestas por los expertos constituyen una solucin inicial adecuada y son mejores que las obtenidas por otros mtodos. En base a los colores dados en la Tabla I, para ejemplificar, presentamos en la Tabla XI los costos de secuencias de los 10 colores ordenados de acuerdo al criterio de los expertos, de mayor a menor en el eje L del espacio CIELab, la obtenida con un glotn, ordenadas al azar y el costo de la secuencia ptima. Tabla XI. Costo de secuencias ordenadas con distintos mtodos Secuencia 12354(10)8769 123456789(10) 123487(10)569 1967(10)85432 1486539(10)72 Propuesta ptima Expertos Eje L Glotn Azar Costo 4.88 6.63 7.52 13.16 26.33

Se realizaron 50 determinaciones, con matrices de costos entre 10 y 37 colores y siempre obtuvimos el mismo orden de costos: ptimo global < expertos < eje L < glotn < azar En la Tabla XII presentamos el promedio de los costos de las 50 secuencias iniciales, relativos al costo ptimo global Tabla XII. Costos relativos de secuencias obtenidas por distintos mtodos Propuesta ptima Expertos Eje L Glotn Azar Costo relativo 1 1.62 1.97 4.12 6.53

77

El aspecto que queremos destacar especialmente se refiere a la distribucin de los costos en la matriz de costos y su dependencia de la solucin inicial propuesta. Se observa que si los colores son ordenados adecuadamente, los ij que intervienen en la secuencia ptima determinada por algn mtodo exacto, estn dentro de una banda paralela a la diagonal principal, y que esta banda es ms estrecha si el orden inicial es el recomendado por los expertos. Hemos graficado, en las Figuras 14, a), b) y c) la zona de bsqueda; es decir, la zona donde se encuentran los ij que intervienen en la solucin ptima dependiendo del orden inicial. En la Figura 14-a se muestra la zona de la matriz de costos donde se encontraron elementos que aparecieron en la solucin ptima. Se ve que cuando el ordenamiento es al azar, se extienden a toda la matriz. Sin embargo, cuando el ordenamiento original se realiza de acuerdo al eje L, es decir, de colores claros a oscuros, la zona de la matriz donde aparecen elementos usados en el camino ptimo, se restringe (Figura 14-b). Por ltimo, si el ordenamiento sigue las indicaciones de los expertos, la banda donde se encuentran los elementos de la sucesin ptima es an ms estrecha (Figura 14-c).

a) Ordenamiento al azar

b) Ordenamiento por el eje L

78

c) Ordenamiento de acuerdo a los expertos Figura 14. Zonas de dispersin de los costos que intervienen en la solucin ptima Lo anterior implica que los costos involucrados en la secuencia ptima son solo los adyacentes a la diagonal principal, y entonces, no es necesario conocer todos los costos para calcular el ptimo. Se analizaron distintos grupos de colores, de distinto tamao para determinar el ancho de banda necesario. Se estudiaron 50 conjuntos, desde 10 hasta 37 colores y en todos los casos se determin el ancho de banda donde estaban los costos involucrados en la secuencia ptima. Los resultados obtenidos varan desde, aproximadamente la mitad del orden de la matriz, .6N, para las matrices ms pequeas (10 colores) hasta .3N para las matrices ms grandes (37 colores).

6.2.4.1 Mtodo de resolucin Usando este criterio heurstico, se realiz una bsqueda de secuencias ptimas en conjuntos de Q colores (Q = ancho de banda < N), repitiendo el proceso N Q + 1 veces. El mtodo desarrollado consta de dos pasos que son aplicados repetidamente a subconjuntos del conjunto de colores Paso 1 Partiendo de la secuencia propuesta por los expertos, que llamaremos lista inicial, tomamos los primeros Q colores, que llamaremos lista de bsqueda, y determinamos la secuencia ptima, usando un mtodo de branch and bound. Lista inicial: Lista de bsqueda C1, C2, ..., Cq, ... CN C1, C2, ..., Cq

79

Paso 2 De la secuencia optima as obtenida quitamos el primer color, digamos Ck. Este color, Ck, sera el primer color de la secuencia definitive. Formamos un Nuevo conjunto de Q colores agregando el siguiente color de la lista iniciail, Cq+1, y regresamos al paso 1 para efectuar nuevamente la optimizacin de este conjunto Los pasos 1 y 2 se repiten hasta utilizar los N colores de la lista original. En cada iteracin tomamos en cuenta la influencia del color removido como se explic en la seccin 4.2.1. En cada iteracin, la bsqueda se realiz dentro de la delgada banda paralela a la diagonal principal. Los restantes elementos de la matriz no fueron usados para determinar la secuencia ptima. Esto reduce dramticamente el nmero de costos, ij, que deben ser determinados en un colormetro. En el caso de 36 colores, tenemos una matriz de 36X36 elementos que, an quitando los 36 elementos nulos de la diagonal principal, habra que determinar 1260 elementos. Sin embargo, el mtodo heurstico permite trabajar con slo 36X1136=360 elementos (Maldonado 1999) [10]. 6.3 Mltiples equipos de teido

Un caso importante se presenta cuando se tiene ms de un equipo de teido. Este problema es equivalente, en IO, al problema de mltiples agentes viajeros. (Madsen 1988)(Carpaneto 1995) [74]-[76]. En primer lugar es necesario distribuir el trabajo entre los equipos. Esto puede hacerse de manera ptima, aunque en este caso la carga de trabajo no ser uniforme. Si se quiere que el trabajo se distribuya de manera uniforme, las sucesiones que se obtienen son subptimas. La distribucin con sucesiones ptimas se resuelve de forma simple agregando a la matriz original un rengln y una columna de ceros por cada equipo de teido suplementario. Nuevamente, la caracterstica ms significativa reside en que, cada vez que se acumulan nuevos conjuntos de colores, sin que se hayan terminado los procesos en desarrollo, se pueden determinar las nuevas sucesiones ptimas para cada equipo usando un algoritmo estndar del ATSP con modificaciones adecuadas de la matriz de costos (Maldonado 2004) [57]. Sea el siguiente problema: Se est tiendo un conjunto de n telas en K equipos, con distribucin ptima (no uniforme). Cuando el proceso an no ha concluido se tiene un nuevo conjunto de S={1, 2, ..., s} nuevas telas a teir. Para procesar este nuevo conjunto se determinarn sucesiones ptimas en cada equipo. Sean r(i): Cantidad de telas que falta teir en el equipo i, 1 i K

80

ro(i): Ultima tela teida en la mquina i, r(1) + r(2) + + r(k) = R La matriz de costos que permite resolver el problema se construye de la siguiente forma: El orden de la nueva matriz ser K + R + S En la nueva matriz identificamos tres tipos de filas y columnas. Las designaremos T1, T2, T3. Filas y columnas T1: Corresponden a la ltima tela teida en cada equipo, ro(i). Podemos colocarlas en la fila (columna) 1, 2+r(1), ..., K+ r(1)+ r(2)+...+ r(K-1). Filas y columnas T2: Corresponden a las telas que falta teir del primer conjunto. Podemos ubicarlas entre las T1. Filas y columnas T3: Corresponden a las nuevas telas a teir. Las podemos ubicar a continuacin de la ltima fila (columna) T2.

En la Tabla XIII se muestra esquemticamente una matriz de costos con las caractersticas enunciadas. Es importante destacar que el Problema de Mltiples Agentes Viajeros Asimtricos (MATSP) puede resolverse en forma ptima por medio de un algoritmo estndar para el ATSP y que an con varios equipos se puede resolver teniendo en cuenta la historia del proceso de optimizacin con cambios adecuados en la matriz de costos. Tabla XIII. Esquema de matriz ampliada para incorporar los colores que faltaban teir en cada equipo ro(1) r (1) 0 r(1) ro(2) r(2) . . . . o r (K-1) R(K-1) ro(K) r(K) S
o

r(1) ro(2) r(2) ro(K-1) r(K-1) ro(K) r(K) Cij ........ Cij 0 0 0 0 Cij Cij 0 0 . . . . . . 0 Cij 0 Cij 0 Cij 0 0 Cij 0 0 0

S Cij Cij Cij Cij Cij

81

6.4

Lavado de los equipos de teido

Cuando tratamos el problema de la sensibilidad del ojo humano, en la seccin 4.2.2 , vimos que no siempre era posible encontrar una secuencia que no contuviera ninguna diferencia de color, ij, mayor que el nivel de perceptividad. Entonces, como consecuencia de la contaminacin, se produce prdida de calidad de los productos elaborados e incrementos en los costos monetarios de produccin (para evitar confusiones, usaremos el trmino costo monetario al referirnos a la cantidad de dinero gastado y costo cuando se trate del trmino usado en matemticas para indicar la diferencia entre el color deseado y el color obtenido). Desde luego, se pueden eliminar los residuos lavando los equipos o degradando los residuos de colorante despus de cada teido, pero el costo monetario de lavar los equipos es demasiado alto. Por eso es que, para disminuir el efecto producido por los residuos sin realizar el lavado, se establece el orden en que sern utilizados en forma sucesiva, tradicionalmente, sobre la base de claridad y limpieza de los colores o a travs de la bsqueda de sucesiones ptimas que minimicen el efecto de los colorantes residuales. La optimizacin ha sido encarada desde dos pticas diametralmente opuestas: el tiempo necesario para lavar los equipos de teido (Taha 1997) [31] o la diferencia entre los colores requeridos y los colores obtenidos (Morales 1996) [4]. Ambas son equivalentes, conducen a modelos anlogos al conocido problema del agente viajero asimtrico (ATSP) y, en definitiva, a soluciones ptimas con sucesiones idnticas. Ms an, los dos planteamientos se complementan y permiten reducir los costos monetarios cuando el lavado de los equipos se torna imprescindible. Para evitar la presencia de diferencias observables cuando la sucesin Determinada presentaba diferencias de colores detectables por el ojo humano. es suficiente alterar la matriz de costos, incrementando el trmino no deseado a un valor suficientemente alto para que las sucesiones que lo contengan sean rechazadas en el proceso de optimizacin. En algunas instancias es posible encontrar sucesiones que no requieran el lavado del equipo; sin embargo, en otras no es posible evitarlo. Aunque el mtodo no asegura que siempre se lograra disminuir el nmero de veces que el equipo debe ser lavado, permite determinar de antemano cuantas veces habr que hacerlo y cuando suceder. Cuando no es posible encontrar una sucesin sin un trmino tal que la diferencia de color sera observable a simple vista, el equipo deber ser lavado, pero esto no implica que la nica posibilidad sea lavar el equipo en ese momento. Esa es la solucin trivial y no es necesariamente la mejor. Se puede aprovechar el hecho de que se lavar el equipo para obtener dos sucesiones, una antes del lavado y otra despus del mismo, con un costo global menor que el de la inicial; es decir, con colores ms cercanos a los requeridos. A la inversa, tambin es posible, en general, encontrar sucesiones que aunque contengan un trmino mayor que el permitido, su valor sea menor al obtenido inicialmente. Esto permite realizar un

82

lavado con menor cantidad de agua y en menor tiempo, lo cual reduce los costos monetarios.

6.4.1 Modelo alternativo En la seccin 5.1 desarrollamos un modelo basado en la diferencia entre los colores requeridos y los colores obtenidos. En esta seccin mostramos que se puede obtener un modelo equivalente teniendo en cuenta el lavado de los equipos. Para desarrollarlo, analizamos el costo monetario en que se incurre al limpiar el equipo de teido para que los residuos de los colorantes utilizados no afecten al teido subsiguiente en una cantidad K, a partir de la cual las diferencias de color seran observables. Partimos de la hiptesis de que el lavado debe asegurar que la cantidad de colorantes residuales sea menor a la que provocara diferencias de color observables a simple vista; es decir, que no es necesario lavar el equipo para que quede sin rastros de los colorantes utilizados. En primer lugar estudiamos la cantidad de colorantes residuales utilizados para teir el color Ci que pueden permanecer como contaminantes, sin que el color subsiguiente Cj se vea afectado en una diferencia Cij = |Cj Cj| mayor que K (Cj es el color requerido y Cj el color obtenido). Para ello utilizamos un procedimiento de simulacin en un colormetro:

a) Determinamos las cantidades de colorantes necesarios para obtener el color Ci. b) Determinamos la cantidad de colorantes necesarios para obtener el color Cj. c) Determinamos el color Cj que se obtendra con los colorantes necesarios para obtener el color Cj, ms un porcentaje de los colorantes necesarios para obtener el color Ci (contaminante). En cada caso se determin la diferencia ij. d) Para cada par de colores (Ci,Cj) se realizaron diez determinaciones, de 0.1 en 0.1, desde 0 hasta 1%. e) Por interpolacin se determin el porcentaje de colorantes contaminantes que estaran presentes si la diferencia ij fuera igual a 1 (por simplicidad tomamos K = 1, pero las conclusiones son independientes del valor elegido, ms an, en las empresas el valor de K se acuerda con cada cliente).
Usamos ocho pares de colores referencia-contaminante para implementar el protocolo de simulacin descrito. En la Tabla XIV se muestran las coordenadas Lab de estos ocho pares de colores.

Tabla XIV. Coordenadas de ocho pares de colores referencia-contaminante

83

Colour A B C D E F G H

Color de referencia L a B 79.51 -0.3 43.82 73.39 10.13 70.00 73.39 10.13 70.00 79.51 -.03 43.82 45.86 62.70 9.22 48.20 5.40 14.96 44.12 14.08 36.14 48.20 5.40 14.96

Contaminante L A B 24.79 25.58 5.81 0.04 0.05 0.03 37.21 52.75 28.44 25.20 0.37 8.29 31.33 -2.03 -19.59 19.24 13.87 -23.67 29.53 -21.03 -0.93 22.21 -5.01 -9.40

A la cantidad de los colorantes necesarios para obtener cada color de referencia, se le agregaron de 0.1% al 1.0%, de los colorantes necesarios para obtener el contaminante correspondiente. La Tabla XV tiene las diferencias ij obtenidas a travs de este procedimiento. Los valores estn representados en la Figura 15. Tabla XV. Diferencias ij para los ocho colores contaminados A B C D E F G H 0.10% 0.20% 0.30% 0.40% 0.50% 0.60% 0.70% 0.80% 0.90% 1.00% 0.10 0.20 0.29 0.39 0.48 0.57 0.67 0.76 0.85 0.94 0.16 0.32 0.48 0.64 0.79 0.94 1.09 1.24 1.39 1.53 0.21 0.42 0.62 0.82 1.02 1.22 1.41 1.61 1.81 1.98 0.57 0.91 1.30 1.59 1.93 2.20 2.51 2.75 3.03 3.25 0.68 1.26 1.79 2.28 2.73 3.07 3.49 3.87 4.23 4.57 0.73 1.43 2.10 2.73 3.35 3.90 4.44 4.96 5.47 5.95 1.31 2.36 3.25 4.04 4.74 5.37 5.95 6.49 6.99 7.45 1.43 2.75 3.93 5.01 5.98 6.78 7.48 7.86 8.76 9.36

84

Cj'-Cj
10

A
9

C
6

F
2

G H

0 0.10% 0.20% 0.30% 0.40% 0.50% 0.60% 0.70% 0.80% 0.90% 1.00%

% Ci

Figura 15. Representacin contaminante

de las diferencias ij contra el porcentaje de

Determinamos, entonces, el porcentaje de Ci cuando ij = 1. Estos valores estn en la Tabla XVI y representados en la Figura 16. Se obtuvo una curva semejante a una hiprbola exponencial con pendiente negativa. Los resultados obtenidos pueden usarse para determinar el costo monetario en que se incurre cuando se reducen los colorantes residuales a un nivel aceptable ( ij = K) y construir una matriz de costos para aplicar un proceso de optimizacin. Llegamos nuevamente a un modelo matemtico del tipo ATSP, equivalente al (4.1), donde el costo monetario de los lavados y las diferencias de color son proporcionales en primer aproximacin.

85

Tabla XVI. Diferencias de color causadas por el 1% de colorantes residuales y porcentaje mximo de colorante residual permisible para que la diferencia no sea mayor que K.
|Cj Cj| with 1% of contaminant 0.94 1.53 0.62 1.98 0.48 3.25 0.17 4.57 0.15 5.95 0.14 7.45 0.08 9.36 0.07

Percentage of contaminant for |Cj Cj| = 1 1.00

d E=1 Ci (1%)
1.5 1 0.5 0 0 2 1 0.625 0.476 0.175 4 0.147 0.137 6 0.076 8 0.07 10

[Cj'-Cj]

Figura 16 Porcentaje mximo de contaminante permisible para que la diferencia causada, ij, no sea mayor que K vs. la diferencia causada por el 1% de colorantes residuales

6.4.2 Polticas de lavado Esta claro que el modelo de lavados no es conveniente porque, a pesar de que asegura que los colores no sern afectados por los colorantes usados anteriormente, eleva los costos monetarios demasiado. En general, la poltica es lavar solamente cuando es imprescindible. Sin embargo, se pueden adoptar tres actitudes distintas ante la necesidad de lavar: hacerlo cuando aparece un costo que sera detectable a simple vista, buscar otra secuencia que mejore la calidad perceptual del conjunto o, buscar la secuencia que disminuye los costos del lavado. En lo que sigue ampliamos la explicacin de las distintas opciones y lo ejemplificamos con resultados numricos. Sea P un conjunto de 12 colores. La Tabla XVII contiene las coordenadas CIELab de los colores usados en este ejemplo. Este conjunto de colores fue tomado de la programacin real en una empresa textil.

86

Tabla XVII. Coordenadas Lab del conjunto P en el espacio CIELab 1 2 3 4 5 6 7 8 9 10 11 12 L A B 92.85 -16.08 72.88 85.42 -2.09 80.77 81.70 4.90 84.71 56.76 38.00 57.35 45.08 -17.57 -15.39 41.80 -29.70 7.97 39.47 -3.61 -2.49 41.17 1.25 -40.97 38.69 52.73 26.16 30.92 10.75 -33.30 20.26 -9.64 1.32 20.67 20.24 -25.63

Y sea A la matriz de las diferencias ij (como se muestra en la Tabla XVIII). Tabla XVIII. Matriz de costos ij
1 1 2 3 4 5 6 7 8 9 10 11 12 0.00 3.33 4.43 12.84 16.75 19.79 14.71 19.62 36.30 30.68 37.49 41.75 2 0.48 0.00 1.47 5.92 14.20 17.70 10.42 16.11 23.24 24.35 33.93 32.58 3 0.15 0.05 0.00 2.47 12.92 16.65 8.27 14.35 16.70 21.18 32.15 28.01 4 0.12 0.20 0.24 0.00 7.25 10.20 3.94 7.63 1.62 9.65 20.20 11.66 5 1.61 3.33 4.19 3.25 0.00 1.47 0.90 0.44 5.37 2.89 3.93 5.34 6 0.36 0.75 0.94 0.82 0.35 0.00 0.62 0.68 5.70 3.43 2.32 6.19 7 0.51 1.09 1.38 1.00 0.45 0.65 0.00 0.46 2.06 1.85 1.28 3.25 8 9 2.76 0.14 5.73 0.30 7.21 0.37 5.46 0.27 0.65 4.78 2.17 7.00 1.00 2.24 0.00 4.63 3.31 0.00 0.99 5.20 4.76 13.18 2.64 5.78 10 1.62 3.38 4.26 3.21 0.48 1.40 0.61 0.08 1.95 0.00 2.94 1.32 11 0.09 0.18 0.23 0.14 0.08 0.08 0.05 0.05 0.55 0.35 0.00 0.64 12 0.47 1.03 1.30 0.98 0.32 0.64 0.21 0.17 0.60 0.08 1.12 0.00

6.4.2.1 Solucin I La sucesin ptima es: S = 1, 2, 3, 4, 9, 12, 10, 8, 5, 6, 7, 11, con costos parciales, ij = 0.48, 0.05, 0.24, 0.27, 0.60, 1.32, 0.99, 0.44, 0.35, 0.65, 0.05 y costo total Q = 5.44 La presencia del valor 1.32, entre los colores Ci (12) y Cj (10) (mayor que K,

87

la cota mxima admisible) se resuelve lavando el equipo despus de teir el color Ci. Las sucesiones quedan entonces S1 = 1, 2, 3, 4, 9, 12, S2 = 10, 8, 5, 6, 7, 11, con costos Q1 = 1.64 y Q2 = 2.48, y costo total Qt = 4.12

6.4.2.2 Solucin II Cuando no es posible evitar el lavado del equipo, tal como sucede en el ejemplo anterior, se puede aprovechar esta circunstancia para mejorar la calidad de los productos finales disminuyendo la diferencia entre los colores obtenidos y los colores solicitados; es decir, se puede obtener una nueva sucesin tal que los colores que se obtengan sean ms cercanos a los solicitados. Eso es posible porque cada lavado del equipo independiza una sucesin de las otras sucesiones. Si se lava el equipo una vez se tendrn dos sucesiones independientes. Es posible determinar una sucesin tal que el trmino involucrado en el lavado sea lo ms grande posible y, por lo tanto, los dems trminos sern menores a los determinados en la sucesin ptima original. Para lograrlo se agrega en la matriz de costos un rengln y una columna de ceros. Al aplicar el procedimiento de optimizacin se obtendr una sucesin con un color intercalado que no tiene existencia fsica real, cuyo costo de vnculo es cero. Por optimizacin ese cero se colocar en la posicin necesaria para que el costo de la sucesin completa sea lo ms baja posible. Con el mismo conjunto de colores, se obtiene la sucesin S = 1, 2, 3, 4, 9, 11, 13, 8, 5, 6, 7, 10, 12, con el color ficticio C13 intercalado entre los colores C11 y C8, indicando el momento en que el equipo debe ser lavado. Las dos sucesiones, previa y posterior al lavado, son S1 = 1, 2, 3, 4, 9, 11, S2 = 8, 5, 6, 7, 10, 12, con costos Q1 = 1.59 y Q2 = 2.13, y costo total Qt = 3.72 El costo de la sucesin, Qt, es menor a la suma de las dos sucesiones obtenidas con el mtodo simple de lavar cuando aparece un trmino no-permitido.

88

6.4.2.3 Solucin III El mtodo desarrollado en le pargrafo anterior est orientado a aumentar la calidad de los productos, disminuyendo la diferencia entre los colores solicitados y los colores obtenidos. Sin embargo, se puede encarar el problema del lavado de los equipos desde la ptica de los costos monetarios. La compaa puede considerar ms conveniente realizar el lavado de los equipos al menor costo monetario posible, permitiendo que se incremente la diferencia entre los colores solicitados y los obtenidos, aunque respetando siempre que ninguna diferencia sea observable a simple vista. Para disminuir los costos monetarios del lavado de los equipos se debe tener en cuenta las consideraciones desarrolladas en el Modelo 2, donde mostramos que existe proporcionalidad entre la diferencia entre el color observado y el requerido y la cantidad de agua necesaria para lavar el equipo corregir la anomala. Por ello, se pueden disminuir los costos monetarios de lavado si se efecta cuando menor sea el costo no admitido. Para obtener una sucesin tal que el costo que deba eliminarse sea lo menor posible, se realizan dos pasos: a) Se reemplazan en la matriz de costos todos los valores permitidos por cero y se dejan los costos no permitidos (mayores que la cota admisible) sin alterar. Al optimizar se obtiene una sucesin con costo del valor menor, pero que no es posible eliminar (se supone que no es posible impedir el lavado de una vez del equipo). b) Se regresa a la matriz original y ahora se dejan sin alterar todos los costos permitidos y se penalizan todos los costos no permitidos salvo el que apareci en la solucin anterior. Al optimizar se obtiene una sucesin con valores de costos permitidos y un solo costo no permitido pero que es de menor valor. Lavando en ese momento se elimina el problema de los colorantes residuales con una cantidad de agua menor a la que se debera haber utilizado en los dos ejemplos anteriores. En base al procedimiento descrito se obtiene la sucesin S = 1, 2, 3, 4, 9, 12, 11, 7, 10, 8, 5, 6, con costos parciales, ij = 0.48, 0.05, 0.24, 0.27, 0.60, 0.64, 1.28, 0.61, 0.99, 0.44, 0.35, y costo total Q = 4.67

89

Resumiendo, del anlisis de las tres variantes que se presentan cuando es necesario lavar el equipo de teido, se ve que, frente a la tradicional que implica realizar el lavado cuando esta situacin aparece como imprescindible, se puede optar por mejorar la calidad de los productos finales o, perdiendo calidad, disminuir los costos monetarios. Opcin 1 2 3 Costo de la sucesin 4.12 3.72 4.67 Costo eliminado al lavar 1.32 3.72 1.28

6.4.3 Aplicaciones Para validar los resultados obtenidos se realiz un anlisis de los registros histricos de dos empresas textiles que producen tela e hilo para coser en polister 100%, que designaremos como A y B. El estudio se efectu sobre 97 conjuntos de colores, correspondiente cada uno al trabajo de una semana de un equipo de teido. Durante el primer perodo analizado, previo a la implementacin de mtodos de optimizacin, la secuencia de los colores teidos se haba establecido, como es usual, sobre la base de los criterios de claridad y limpieza y la experiencia del personal tcnico. Determinamos actualmente las secuencias ptimas. En la empresa A, hubiera sido posible evitar el 14% de los lavados del equipo estudiado. En la empresa B, hubiera sido posible evitar el 10% de los lavados realizados. La diferencia puede ser atribuida a la habilidad del personal tcnico de cada una de las empresas. Estos porcentajes coinciden exactamente con la reduccin del nmero de lavados de los equipos, comparando perodos anteriores y posteriores a la implementacin de mtodos de optimizacin para detrminar la secuencia de los colores a teir. Una vez que las empresas efectuaron el cambio de metodologa, implementaron la segunda etapa del proceso de optimizacin. La empresa A sigue la poltica de buscar secuencias con menor costo de lavado. Ellos usan hiposulfito de sodio para degradar los colorantes residuales. Como resultado de la nueva metodologa redujeron la cantidad de la sustancia qumica en un 27%. La empresa B sigue la poltica de buscar la secuencia de teido que mejore la calidad del conjunto de colores obtenidos; alcanzaron una disminucin del 12% en la cantidad de productos rechazados por sus clientes. En los dos primeros casos hemos resuelto el problema con modificaciones adecuadas en la matriz de costos que conducen a la solucin exacta. Para la tercer restriccin suele usarse mtodos conocidos como ventanas de tiempo. Nosotros hemos desarrollado un mtodo heurstico que conduce a soluciones que difieren a

90

lo mximo en una cota conocida de la sucesin ptima y que se basa en realizar modificaciones adecuadas en la matriz de costos y utiliza tambin un algoritmo estndar para el ATSP (Maldonado 2001) [9]. Hemos tenido en cuenta otra condicin ms impuesta por el trabajo industrial: aunque el proceso de encontrar una sucesin ptima para un conjunto de colores de tamao normal en la industria (n<50 colores) puede realizarse actualmente en una PC, subsisten un importante problema prctico. Se debe tener en cuenta que la determinacin de cada valor se realiza en un colormetro por un proceso de simulacin. Entonces, para un conjunto de 50 colores sera necesario determinar 2500 valores, lo que implicara un tiempo excesivo. El problema de encontrar la sucesin ptima para series largas de colores lo resolvimos mediante un mtodo heurstico que permite utilizar solamente los costos que se encuentran en una banda estrecha paralela a la diagonal principal. Las soluciones encontradas han sido en todos los casos mejores a las soluciones propuestas por los expertos y, por lo tanto, vlidas desde el punto de vista de su aplicabilidad industrial (Maldonado 1999) [10]. Uno de los problemas ms importantes en el teido de telas es evitar el lavado de los equipos y el reproceso de telas. Ambos implican un alto costo sin ningn beneficio directo. Mediante el proceso de optimizacin es posible evitar un porcentaje alto de lavado de los equipos y tambin disminuir la cantidad de telas reprocesadas. Sin embargo, aunque el mtodo no asegura que siempre se disminuir el nmero de lavado de los equipos, permite determinar por anticipado su nmero y cuando suceder. Cuando es imposible encontrar una secuencia que evite la existencia de diferencias de color detectables por el ojo humano, el equipo deber ser lavado. Sijn embargo, esto no implica que deba ser lavado de inmediato. Esta es una solucin trivial y no es necesariamente la mejor. Se puede sacar ventaja del hecho de que el equipo ser lavado para obtener dos secuencias, una anterior al lavado y otra posterior al mismo, con un costo menos; es decir, con colores ms cercanos a los requeridos. Inversamente, tambin se puede encontrar secuencias que presenten un valor no permitido pero menor al encontrado previamente, lo cual hace posible que el equipo se lave con menos agua y, por lo tanto, con menor costo. Hemos desarrollado un mtodo que abre la posibilidad de escoger la opcin de lavado que se adapte mejor a las polticas de cada empresa en particular (Maldonado 2005) [56]. En prrafos anteriores vimos que al determinar una secuencia de colores se debe tener en cuenta que el equipo viene siendo usado para otros procesos de teido anteriores. En consecuencia, el primer color que se vaya a usar no puede ser elegido libremente y, por lo tanto, la nueva secuencia deber comenzar desde un color especfico. Nosotros generalizamos y ampliamos estos resultados desarrollando mtodos que hacen posible recalcular el orden de los colores que estn pendientes al momento de incorporar nuevos pedidos, tanto para una como para varias mquinas. Estas generalizaciones tambin las hemos resuelto utilizando

91

un algoritmo estndar para el ATSP, con alteraciones adecuadas de la matriz de costos (Maldonado 2004) [57].

92

CONCLUSIONES Y RECOMENDACIONES CONCLUSIONES 1. El modelo propuesto, que relaciona la diferencia entre los colores teidos con la secuencia de los colores usados en trmino de sus coordenadas, hace posible utilizar mtodos de optimizacin. 2. El problema del agente viajero asimtrico (ATSP) es aplicable al problema de optimizar la secuencia de colores en el teido de telas bajo condiciones reales del trabajo industrial. 3. Un algoritmo estndar que resuelva el ATSP puede ser utilizado, sin modificaciones, para resolver el ATSP con mltiples restricciones, inclusive con varios agentes, realizando modificaciones adecuadas en la matriz de costos. 4. La determinacin de secuencias ptimas de colores, en trminos de minimizar las diferencias entre los colores obtenidos y los colores deseados, aumenta la calidad final de los productos textiles. 5. La disminucin de las diferencias entre los colores requeridos y los colores obtenidos, disminuye la cantidad de reprocesos y de rechazos con un impacto directo sobre los costos. 6. La aplicacin de mtodos heursticos reduce el nmero de determinaciones a realizar en un colormetro necesarias para calcular la matriz de costos. 7. El modelo desarrollado permite disminuir el nmero total de lavado de los equipos y adaptarse a las caractersticas especficas de cada compaa.

RECOMENDACIONES 1. Si bien en este trabajo se ha comprobado experimentalmente el papel que juega la contaminacin provocada por los residuos de colorantes que permanecen en el equipo de teido, hay otros factores que pueden alterar el color final obtenido. Un diseo experimental factorial que tuviera en cuenta parmetros tales como temperatura, tiempo, PH y calidad del agua, podra proporcionar informacin para un anlisis de sensibilidad. 2. Un estudio pormenorizado de la influencia del sustrato sobre la diferencia entre el color requerido y el que se obtiene podra conducir a frmulas de

93

correccin disminuyendo estas diferencias a valores inferiores al umbral detectable a simple vista.

3. La modificacin del software usado en un espectrocolormetro para formular cada color requerido, podra evitar el proceso de simulacin empleado para el clculo de la matriz de costos, proporcionando la secuencia ptima en forma directa.`

94

BIBLIOGRAFA 1. AATCC, Color Measurement, Principles and the Textil Industry, (Research Trianglr Park, NC),1991. 2. Ahuja, R.K., T.L. Magnanti, T.L. and Orlin, J., Network Flows: Theory, Algorithms and Applications, Prentice-Hall, New Jersey. 1993. 3. Ahuja, R. K., T.L. Magnanti, T.L., Orlin, J. and M.R.Reddy, M. R., "Applications of network optimization", Chapter 1 of Handbook of Operations Research and Managmeent Science, 7, 1995. 4. Akl, S.G., Adaptative and optimal parallel algorithms for enumerating permutations and combinations, Computer J., 30, 1987. 5. Annimo. 400 aprox. Papyrus leydensis (Thebes, manuscrito). Incluido en R. Halleux, Les alchimistes grecs. Vol. 1, Papyrus de Leyde, Papyrus de Stockholm, Fragments de Recettes (Paris: Les Belles Lettres, 1981). 6. Antenucci, J. C., K. Brown, P. L. Crosswell & M. J. Kevany. Geographic Information Systems: A Guide to the Technology. New York: Van Nostrand Reinhold, 1990. 7. Appel, K. and Haken, W., Every planar map is four colourable, American Mathematical Society Bulletin, 82, 711-712, 1976. 8. Aristteles [384-322 BC]. -350 aprox. Peri Aistheseos Kai Aistheton. Griego. (Atenas, Grecia: manuscrito). Traducido al ingls por G. R. T. Ross, On sense and sensible objects, in Aristotle: On the soul. (Cambridge, Massachusetts: Harvard University Press, 1936). 9. Aristotelic School [c.322-269 BC]. -322-269 aprox. Peri Khromaton. Griego. (Atenas, Grecia: manuscrito). Traducido al ingls por W. S. Hett, On colours, in Aristotle: Minor works (Cambridge, Massachusetts: Harvard University Press, 1936). 10. Bose, R.C., Manvel, B., Introduction to the Combinatorial Theory, J., Wiley & Son, New York, 1984. 11. Campello, R. e Maculan, N., Algoritmos e heursticas, Editora da Universidade Federal Fulmnense, 1994. 12. Carpaneto, G., DelAmico and Toth, H, P., Exact solution of large scale, asymmetric traveling salesman problems, ACM Trans. Math. Softw., 21, 394409, 1995.

95

13. Carpaneto, G., DellAmico, M. and Toth, P., A subroutine for the exact solution of large-scale Asymmetric Traveling Salesman Problem, Transactions on Mathematical Software, 21, No. 4, 410-415, December, 1995. 14. Chvez, B., Aplicacin de un modelo comercial de software hardware a la industria del vestido, Tesis Profesional, IPN, Mxico, 1993. 15. Chen, G.H. and Chern, M.S., Parallel generation of permutations and combinations, BIT, 26, 1986. 16. CIE, International Congress on Cambridge University Press, 1931 Illumination, Proceedings, Cambridge

17. Committee of Colorimetry -Optical Society of America, The Science of Color, New York, 1953. 18. D. B. West, D. B., "Introduction to Graph Theory". Prentice Hall, 1996. 19. Dantzig, G.,B., Linear Programming and Extensions. Princeton University Press, Princeton, NJ. 1963. 20. Dennis, J.,E. and Schnabel, R.,B., Numerical Methods for Unconstrained Optimization and Nonlinear Equations. Prentice-Hall, New Jersey, 1983. 21. Fisher, M., L.., "The Lagrangian method for solving integer programming problems," Management Science, 27, 1-18, 1981. 22. Gass, S., Linear Programming: Methods and Applications, Fifth Edition, McGraw-Hill Book Company, New York, l985. 23. Gomory, R. E., Outline of an algorithm for Integer solution to Linear Programmes, Bulletin Amer. Math. Soc., 64, 5, 1958. 24. Guild, J., The colorimetric properties of the spectrum, Philosophical Transactions of the Royal Society, England, 230, pp. 149-187, 1931. 25. Gupta, P. and Bhattacharjee, G.P., Parallel generation of permutations, Comput. J., 26, 1963. 26. Hobsbawm, E. J., The Age of Empire, Vintage Books, USA, 1989. 27. Hoffman, K.L. and Padberg, M., "LP-based combinatorial problem solving," Annals Operations Research, 4, 145-194, 1985. 28. Horst, R., P. M. Pardalos and N. V. Thoai, Introduction to Global Optimization, Kluwer Academic Publishers, Dordrecht, 1995.

96

29. Johnson, E., L. and Powell, S., "Integer programming codes, "Design and Implementation of Optimization Software (ed. H.J. Greenberg), NATO Advanced Study Institute Series, Sijthoff & Noordhoff, 225-248, 1978. 30. Jonhson, S.M., Generation of permutations by adjacent transposition , Math. Comput., 17, 83, 1963. 31. Karmarkar, N., K., A new polynomial-time algorithm for linear programming, Combinatorica, 4, 373-395, 1984. 32. Klachiyan, L., G., A polynomial algorithm in linear programming, Soviet Mathematics Doklady, 20, 191-194, 1979. 33. Klee, V. and Minty, G., J., How good is the simplex algorithm, O. Shisha (ed.), Inequalities III, 159-175, Academic Press, 1972. 34. Kwan, M., K., Graphic Programming Using Odd or Even Points, Chinese Math., 1:273-277, 1962. 35. La aventura de la historia: Funciones econmicas de la ciudad, Ediciones Dolmen S.L., Espaa, 2001. 36. Land, A., H. and Doig, A. G., "An automatic method for solving discrete programming problems" Econometrica, 28, 97-520, 1960. 37. Lawler, E.L., Lenstra, J., K., Rinnooy Kan, A., H., G. and Shmoys, D., B., , editors. The Traveling Salesman Problem: A Guided Tour of Combinatorial Optimization. John Wiley & Sons, 1985. 38. Lee, W.P and Tsay, J.C., A systolic design for generating permutations in lexicographic order, Parallel C., 20, 1994. 39. Lin, C.J., Parallel generation of permutations on systolic arrays, Parallel Comput., 15, 1990. 40. Madsen, O.B.G., An application of the traveling-salesman routines to solve pattern allocation problems in the glass industry, J. Oper. Res. Soc., 39, 249256, 1988. 41. Maldonado, F., Un panorama de la optimizacin en la industria textil, VI Escuela Nacional de Optimizacin y Anlisis Numrico, Puebla-Pue., Mxico, 1996. 42. Maldonado, F., Optimizacion de procesos textiles, Congreso Brasileo de Ingenieria Textil, S.P., Brasil, Septiembre 1998. 43. Maldonado, F., Ciurlizza, A, Chavez, B., Uso Optimo de Rollos de Tela, Revista Latinoamericana de Tecnologa Textil, 9, 33-37, 1998.

97

44. Maldonado, F., Ciurlizza, A., Algoritmo lexicogrfico paralelizable para la bsqueda de caminos ptimos", Universidad Ciencia y Tecnologa, 3, N 9, 2121, 1999. 45. Maldonado, F., Morales, L and Ciurlizza, A., A heuristc method for searching optimum path in contamination matrices", Investigacion Operativa, 8, 207-211, 1999. 46. Maldonado, F., Ciurlizza, A., Radillo, R and Ponce de Len, E., Optimisation of the colour squense in the dyeing process: industrial applications, JSCD, 116, 359-362, 2000. 47. Maldonado, F., Solving the ATSP with time restrictions, European Operational Research Conference, (Euro 2001), Rtterdam-Holanda, 2001. 48. Maldonado, F., Ponce De Leon, E., and Ciurlizza, A., Solving the ATSP with Multiple Restrictions using a Standard Algorithm, VI International Conference on Approximation and Optimization in the Caribean, Guatemala, 2001. 49. Maldonado, F., Baldoquin, G., Daz, R.R. y Morales, L.B., Aplicacin Industrial del Problema de Mltiples Agentes Viajeros Asimtricos (Matsp), XII Congreso Latino Iberoamericano de Investigacin de Operaciones, La Habana, Cuba, 2004. 50. Maldonado, F., Radillo, R., Baldoquin, G. and, Ruiz, A., Optimisation of the Colour Sequence in the Dyeing Process: washing the equipment, Coloration Technology, 2005 (aceptado para publicacin). 51. Markowitz, H. and Manne, A., "On the solution of discrete programming problems", Econometrica, 25, 84-110, 1957. 52. Martello, S. and Toth, P., Knapsack Problems, John Wiley, New York, 1990. 53. Maxwell, J.C. , Theory of the compound colors, and the relations of the colors of the spectrum, Transactions of the Royal Society of Edinburgh,1857. 54. Mc Adam, D., J. Opt. Soc. Am., 4, 247-276, 1942. 55. Miller, D., and Pekny J., Exact Solution of Large Asymmetric Travelling Salesman Problem", Science, 251, 1991. 56. Mor, M. and Fraenkel, A.S., Permutation generation on vector processors, Comput. J., 25, 1982. 57. Morales, L., Maldonado, F., Radillo, R and Ciurlizza, A., Optimisation of the colour squense in the process of fabric dyeing, JSDC, 112, 361-363, 1996.

98

58. Munsell, A. H., A Color Notation. Munsell Color Company, Baltimore, MD, 1923. 59. Newton, Isaac [1642-1727]. 1704. Opticks: or, a treatise of the reflections, refractions, inflections and colours of light. Ingls (Londres, Inglaterra). Traducido al castellano por Carlos Sols, ptica o tratado de las reflexiones, refracciones, inflexiones y colores de la luz (Madrid: Alfaguara, 1977). 60. Ord-Smith, R.J., Generation of permutation sequence: Part 1, Comput. J., 13, 3, 1970. 61. Padberg, M. and Rinaldi, G, "A branch-and-cut algorithm for the resolution of large-scale symmetric traveling salesman problems," SIAM Review, 33, 60-100, 1991. 62. Papadimitriou, C. H. And Steiglitz, Combinatorial optimisation: algorithms and compexity, New Jersey, Prentice Hall, 1982. 63. Petty, William [1623-1687]. 1667. An apparatus to the history of the common practices of dyeing, editado por T. Sprat. Ingls (Londres, Inglaterra: The Royal Society, History of the Royal Society of London, 2000). 64. Phillips, J.P., Permutation of the elements of a vector in lexicographic order (Algorithm 28), Comput. J., 10, 1967. 65. Plante, R.D., Lowe, T.J. and Chandrasekaran, R., The product matrix traveling salesman problem: an application and solution heuristic, Opns. Res., 35, 772783, 1987. 66. Prawda Witenberg, J., Mtodos y modelos de Investigacin de Operaciones, Limusa, 1976. 67. Ramrez, C., Optimizacin de recursos en la industria de la confeccin, Tesis de Grado ( M. en C.), Mxico, 2002. 68. Ranky, P., G., Computer Integrated Manufacturing, Pretince Hall, 1991. 69. Rood, N. O., Modern Chromatics: Application to Art and Industry, Chicago, USA, 1879. 70. Rosetti, Giovanventura. 1540. Plichto de larte de tentori che insegna a tenger pani telle banbasi et sede si per larthe mahiore come per la comune. Italiano (Venecia, Italia). 71. Shen, M.K., Generation of permutations in lexicographical order (Algorithm 202), Comput. J., 9, 1963. 72. Taha, H., Operation Research, An Introduction, Prentice Hall International (UK) London, pp. 373-375, 1997.

99

73. Tomkins, C., Machine attacks on problems whose variables are Permutations, Proc. 6th. Symp. Maths., Mc. Graw Hill, 1956. 74. Tsay, J.C. and Lee, W.P., An optimal parallel algorithm for generating permutations in minimal change order, Parallel C., 20, 1994. 75. Wright, W. D., A re-determination of the trichromatic coefficients of the spectral colours, Transactions of the Optical Society, London, 30, pp.141-164, 1929.

100

APNDICE I
{PROGRAMA PARA CALCULAR LAS PERMUTACIONES DE N ELEMENTOS EN ORDEN LEXICOGRAFICO} Program permuta (input,output); uses Crt, Dos; var V : array[0..15] of integer; I, N, W, J, KP, KP1, KPF, VER: integer; H, H1, M, M1, S, S1, S100, S1100: word; np:boolean; LABEL DIEZ; {EN EL VECTOR V SE ALMACENAN LAS PERMUTACIONES, LAS VARIABLES H,H1,M,M1,S,S1,S100 Y S1100 SE UTILIZAN PARA CALCULAR EL TIEMPO EMPLEADO POR EL PROGRAMA, NP SE USA PARA CONTROLAR EL FIN DEL CICLO DE GENERACION DE LAS PERMUTACIONES} {EL PROCEDIMIENTO TRES ESCRIBE LAS PERMUTACIONES} PROCEDURE TRES; BEGIN FOR VER:=1 TO N DO WRITE(V[VER]); WRITELN; END; {Principal} BEGIN CLRSCR; {N ES EL NUEMRO DE ELEMENTOS QUE SE PERMUTAN} READLN(N); GETTIME(H1,M1,S1,S1100); {GENERA LA PRIMER PERMUTACION FOR I:=1 TO N DO V[I]:=I; NP:=TRUE; TRES; {COMIENZA EL CICLO DE GENERACION} WHILE NP DO BEGIN {INTERCAMBIA LOS DOS ELEMENTOS DEL EXTREMO} W:=V[1]; V[1]:=V[2]; V[2]:=W; {BUSCA QUE ELEMENTO, A PARTIR DEL TERCERO, TIENE UNO MAYOR A SU IZQUIERDA}

101

FOR KP:=3 TO N DO BEGIN FOR KP1:=1 TO KP-1 DO BEGIN IF V[KP]>V[KP1] THEN BEGIN W:=V[KP]; V[KP]:=V[KP1]; V[KP1]:=W; KPF:=(KP-1) DIV 2; FOR J:=1 TO KPF DO BEGIN W:=V[J]; V[J]:=V[KP-J]; V[KP-J]:=W; END; GOTO DIEZ; END; END; END; {CUANDO NO HAY NINGUN ELEMENTO MAYOR QUE OTRO A LA IZQUIERDA EL PROCESO HA TERMINADO, NP ES FALSO} NP:=FALSE; DIEZ: { TRES; READLN;} END; GETTIME(H,M,S,S100); WRITELN (H1,':',M1,':',S1,':',S1100); WRITELN (H,':',M,':',S,':',S100); READLN; END.

102

APNDICE II
{PROGRAMA PARA OPTIMIZAR UNA SUCESION DE COLORES} {ENCUENTRA LA SUCESION OPTIMA CON UNA O MAS MAQUINAS DE TEIDO} {PUEDE CORRER HASTA 15 COLORES EN UNA SOLA MAQUINA O MENOS COLORRS Y MAS DE UNA MAQUINA TAL QUE LA SUMA DE COLORES Y MAQUINAS NO SUPERE A 16} {PARA 15 COLORES TARDA ALREDEDOR DE 2 MINUTOS TREINTA SEGUNDOS} PROGRAM OPTIMIZAR (INPUT,OUTPUT); USES CRT, DOS; VAR {EN EL VECTOR V SE ALMACENAN LAS PERMUTACIONES, LAS VARIABLES H,H1,M,M1,S,S1,S100 Y S1100 SE UTILIZAN PARA CALCULAR EL TIEMPO EMPLEADO POR EL PROGRAMA, NP SE USA PARA CONTROLAR EL FIN DEL CICLO DE GENERACION DE LAS PERMUTACIONES} {UTILIZA DOS MATRICES A Y B. LA MATRIZ B PERMANECE INALTERADA, EN LA MATRIZ A SE AGREGAN RENGLONES Y COLUMNAS DEPENDIENDO DE LA CANTIDAD DE EQUIPOS DE T4EIDO} {EN EL VECTOR OPT ALMACENA LA MEJOR PERMUTACIN QUE VA DETECTANDO} V,REN,COL : ARRAY[1..50] OF INTEGER; A : ARRAY[1..50,1..50] OF INTEGER; B : ARRAY [1..50,1..50] OF INTEGER; OPT : ARRAY[1..50] OF INTEGER; I, N, W, J, KP, KP1, KPF, VER : INTEGER; R1,COTA,COTA1: LONGINT; SUM,SUMA,LL,KK,L1,L2: INTEGER; H, H1, M, M1, S, S1, S100, S1100: WORD; NP:BOOLEAN; LEA: TEXT; LABEL DIEZ,VEINTE; {PROCEDIMIENTO DE CONTROL. ELIMINA UNA RAMA DE PERMUTACIONES CUANDO SESUPERA LA COTA} PROCEDURE CUATRO; BEGIN SUM:=0; FOR LL:= N DOWNTO 2 DO BEGIN SUM:=SUM+A[V[LL],V[LL-1]]; IF SUM>COTA THEN BEGIN LL:=2; END; END; IF SUM<COTA THEN BEGIN FOR KK:=1 TO N DO OPT[KK]:=V[N+1-KK]; END; END; {REALIZA LAS SUMAS PARCIALES Y CONTROLA SI HA MEJORADO LA COTA}

103

PROCEDURE CINCO; BEGIN SUM:=0; FOR LL:= N DOWNTO 4 DO SUM:=SUM+A[V[LL],V[LL-1]]; FOR LL:= 3 DOWNTO 2 DO BEGIN SUM:=SUM+A[V[LL],V[LL-1]]; IF SUM>COTA THEN BEGIN LL:=2; END; END; IF SUM<COTA THEN BEGIN COTA :=SUM; FOR KK:=1 TO N DO OPT[KK]:=V[N+1-KK]; END; END; {BUSCA QUE ELEMENTO, A PARTIR DEL TERCERO, TIENE UNO MAYOR A SU IZQUIERDA} PROCEDURE SEIS; VAR R2,R3,AUXI:INTEGER; BEGIN FOR R2:= 1 TO LL-3 DO BEGIN FOR R3:= R2+1 TO LL-2 DO BEGIN IF V[R2] < V[R3] THEN BEGIN AUXI:=V[R2]; V[R2]:=V[R3]; V[R3]:=AUXI; END; END; END; END; {EL PROCEDIMIENTO TRES ESCRIBE LAS PERMUTACIONES} PROCEDURE TRES; BEGIN FOR VER:=1 TO N DO WRITE(V[VER]); WRITELN; END; {PRINCIPAL} BEGIN CLRSCR; WRITELN('CUANTAS CIUDADES?'); READLN(N); WRITELN('CUANTOS AGENTES?'); READLN(M); GETTIME(H1,M1,S1,S1100);

104

R1:=0; ASSIGN(LEA,'A:\LAVADON2.DAT'); {LEE LA MATRIZ DE COSTOS DE DISCO Y TRANSFIERE LOS VALORES A LA MATRIZ A} RESET(LEA); FOR I:= 1 TO N DO BEGIN FOR J:= 1 TO N DO BEGIN READ(LEA,B[I,J]); END; END; FOR I:=1 TO N DO BEGIN FOR J:= 1 TO N DO BEGIN A[I,J]:=B[I,J]; WRITE(A[I,J]:6); END; WRITELN; END; {AGREGA UN RENGLON Y UNA COLUMNA DE CEROS, CAMBIA N POR N+1} FOR J:= 1 TO M-1 DO BEGIN FOR I:= 1 TO N DO BEGIN A[I,N+1]:=0; A[N+1,I]:=0; END; N:=N+1; A[N,N]:=20000; END; {CONSTRUYE V CON LA PERMUTACION ORIGINAL: 1,2,.....N} FOR I:=1 TO N DO V[I]:=I; NP:=TRUE; TRES; {CALCULA EL COSTO DE LA PERMUTACION ORIGINAL Y USA ESE VALOR COMO COTA INICIAL GUARDA EN COTA1 EL VALOR DE LA COTA SALVO LOS DOS ULTIMOS SUMANDOS} COTA:=0; FOR LL:= N DOWNTO 4 DO COTA:=COTA+A[V[LL],V[LL-1]]; COTA1:=COTA; FOR LL:= 3 DOWNTO 2 DO COTA:=COTA + A[V[LL],V[LL-1]]; {COMIENZA EL CICLO DE GENERACION} WHILE NP DO BEGIN W:=V[1]; V[1]:=V[2]; V[2]:=W; CINCO; FOR KP:=3 TO N DO BEGIN

105

FOR KP1:=1 TO KP-1 DO BEGIN IF V[KP]>V[KP1] THEN BEGIN W:=V[KP]; V[KP]:=V[KP1]; V[KP1]:=W; SUM:=0; FOR LL:= N DOWNTO KP+1 DO BEGIN SUM:=SUM+A[V[LL],V[LL-1]]; IF SUM>COTA THEN BEGIN IF LL>KP+1 THEN BEGIN SEIS; GOTO DIEZ; END; KP:=2; GOTO VEINTE; END; END; KPF:=(KP-1) DIV 2; FOR J:=1 TO KPF DO BEGIN W:=V[J]; V[J]:=V[KP-J]; V[KP-J]:=W; END; GOTO DIEZ; END; END; VEINTE: END; NP:=FALSE; DIEZ: CUATRO; END; WRITELN('LA COTA ES ',COTA,' Y R1 = ',R1); WRITE('LA PERM. OPT. ES= '); FOR I:=1 TO N DO WRITE(OPT[I],' '); WRITELN; GETTIME(H,M,S,S100); WRITELN (H1,':',M1,':',S1,':',S1100); WRITELN (H,':',M,':',S,':',S100); READLN; END.

106

APNDICE III
{PROGRAMA QUE DETERMINA LA SUCESIN OPTIMA POR BRANCH AND BOUND. USA RAMIFICACIN Y ACOTAMIENTO EN UN PROCESO DE BACKTRACKING.} {EL PROGRAMA COMIENZA RESTANDO EN CADA FILA Y COLUMNA EL MAYOR VALOR QUE NO HACE NEGATIVO NINGN ELEMENTO, DETERMINA EL LIMITE INFERIOR PARA LA SOLUCIN} {EN A[] GUARDA LA MATRIZ DE COSTOS QUE SE VA TRANSFORMANDO, EN REN[] Y COL[] GUARDA LOS VALORES QUE SE FUERON RESTANDO A LA MATRIZ A EN CADA NIVEL, EN ARCOS[] GUARDA EL RENGLON Y COLUMNA SELECCIONADOS, EL VALOR DE LA COTA MINIMA Y EL VALOR ORIGINAL QUE FUE PASADO A INFINITO EN CADA NIVEL, EN ARCOSBEST GUARDA LA MEJOR SUCESION ENCONTRADA, EN BEST GUARDA EL VALOR DE LA MEJOR SUCESION ENCONTRADA} {ESTA INFORMACION SIRVE PARA RECONSTRUIR LA MATRIZ DE COSTOS AL REGRESAR CADA NIVEL} PROGRAM BRANCHANDBOUND; USES CRT; VAR A : ARRAY [1..50,1..50] OF INTEGER; REN : ARRAY [1..50,1..50] OF INTEGER; COL : ARRAY [1..50,1..50] OF INTEGER; ARCOS : ARRAY [1..50,1..6] OF INTEGER; ARCOSBEST : ARRAY [1..50,1..2] OF INTEGER; LABERINTO : ARRAY [1..50,1..50] OF INTEGER; XR,XC : ARRAY [1..50] OF BOOLEAN; I,J,K,L,N,K1,K2 : INTEGER; MENORR, MENORC : ARRAY [1..50] OF INTEGER; SUMA, NIVEL,MAYOR,RENARCO,COLARCO,BEST : INTEGER; LEA: TEXT; LABEL 10,20; {PROCEDIMIENTO QUE ESCRIBE LA MATRIZ DE NXN} PROCEDURE MATRIZ; BEGIN FOR I:= 1 TO N DO BEGIN FOR J:=1 TO N DO BEGIN WRITE (A[I,J]:8,' '); END; WRITELN; END; READLN; END; {PROCEDIMIENTO REGRESAR. RECONSTRUYE LA MATRIZ EN UN NIVEL ANTERIOR} PROCEDURE REGRESAR; BEGIN WRITELN(' AHORA PASE POR REGRESAR CON NIVEL = ',NIVEL);

107

A[ARCOS[NIVEL,2],ARCOS[NIVEL,1]]:=ARCOS[NIVEL,4]; IF ARCOS[NIVEL,6]<>9999 THEN A[ARCOS[NIVEL,1],ARCOS[NIVEL,2]]:=ARCOS[NIVEL,6]; WRITELN(' ARCOS ',NIVEL,' ',ARCOS[NIVEL,1],' ',ARCOS[NIVEL,2]); XR[ARCOS[NIVEL,1]]:=TRUE; XC[ARCOS[NIVEL,2]]:=TRUE; FOR J:=1 TO N DO BEGIN IF XC[J]=TRUE THEN BEGIN FOR I:= 1 TO N DO BEGIN IF (XR[I] = TRUE) AND (A[I,J] <> 9999) THEN A[I,J]:=A[I,J] + COL[NIVEL,J]; END; END; END; FOR I:=1 TO N DO BEGIN IF XR[I] = TRUE THEN BEGIN FOR J:= 1 TO N DO BEGIN IF (XC[J] = TRUE) AND (A[I,J] <> 9999) THEN A[I,J]:=A[I,J] + REN[NIVEL,I]; END; END; END; NIVEL:=NIVEL-1; IF NIVEL<0 THEN BEGIN WRITELN('PAPACITO'); READLN; K2:=1; END; WRITELN('NUEVO NIVEL= ',NIVEL); SUMA:=ARCOS[NIVEL,3]; XR[ARCOS[NIVEL,1]]:=TRUE; XC[ARCOS[NIVEL,2]]:=TRUE; A[ARCOS[NIVEL,2],ARCOS[NIVEL,1]]:=ARCOS[NIVEL,4]; MATRIZ; END; {PROCEDIMIENTO REGRESAR3. RECONSTRUYE LA MATRIZ DOS NIVELES ANTERIORES CUANDO VIENE DE LA DERECHA} PROCEDURE REGRESAR3; BEGIN WRITELN(' AHORA PASE POR REGRESAR3 CON NIVEL = ',NIVEL); FOR J:=1 TO N DO BEGIN A[ARCOS[NIVEL,1],ARCOS[NIVEL,2]]:=ARCOS[NIVEL,4]; WRITELN(' ARCOS ',NIVEL,' ',ARCOS[NIVEL,1],' ',ARCOS[NIVEL,2]); FOR J:=1 TO N DO BEGIN IF XC[J]=TRUE THEN

108

BEGIN FOR I:= 1 TO N DO BEGIN IF (XR[I] = TRUE) AND (A[I,J] <> 9999) THEN A[I,J]:=A[I,J] + COL[NIVEL,J]; END; END; END; FOR I:=1 TO N DO BEGIN IF XR[I] = TRUE THEN BEGIN FOR J:= 1 TO N DO BEGIN IF (XC[J] = TRUE) AND (A[I,J] <> 9999) THEN A[I,J]:=A[I,J] + REN[NIVEL,I]; END; END; END; NIVEL:=NIVEL-1; WRITELN ('NUEVO NIVEL ',NIVEL); MATRIZ; A[ARCOS[NIVEL,2],ARCOS[NIVEL,1]]:=ARCOS[NIVEL,4]; IF ARCOS[NIVEL,6]<>9999 THEN A[ARCOS[NIVEL,1],ARCOS[NIVEL,2]]:=ARCOS[NIVEL,6]; XR[ARCOS[NIVEL,1]]:=TRUE; XC[ARCOS[NIVEL,2]]:=TRUE; FOR J:=1 TO N DO BEGIN IF XC[J]=TRUE THEN BEGIN FOR I:= 1 TO N DO BEGIN IF (XR[I] = TRUE) AND (A[I,J] <> 9999) THEN A[I,J]:=A[I,J] + COL[NIVEL,J]; END; END; END; FOR I:=1 TO N DO BEGIN IF XR[I] = TRUE THEN BEGIN FOR J:= 1 TO N DO BEGIN IF (XC[J] = TRUE) AND (A[I,J] <> 9999) THEN A[I,J]:=A[I,J] + REN[NIVEL,I]; END; END; END; END; NIVEL:=NIVEL-1;

109

A[ARCOS[NIVEL,2],ARCOS[NIVEL,1]]:=ARCOS[NIVEL,4]; XR[ARCOS[NIVEL,1]]:=TRUE; XC[ARCOS[NIVEL,2]]:=TRUE; SUMA:=ARCOS[NIVEL,3]; WRITELN('NUEVO NIVEL ', NIVEL); MATRIZ; END; {PROCEDIMIENTO QUE ALMACENA EN UN VECTOR EL MENOR VALOR DE CADA RENGLON} PROCEDURE MENORESR; BEGIN FOR I:= 1 TO N DO BEGIN IF XR[I]=TRUE THEN BEGIN REN[NIVEL,I]:=9999; FOR J:=1 TO N DO BEGIN IF (XC[J]=TRUE) AND (A[I,J] < REN[NIVEL,I]) THEN REN[NIVEL,I]:=A[I,J]; END; END; END; END; {PROCEDIMIENTO QUE RESTA EN CADA RENGLON EL MENOR VALOR DE ESE RENGLON} PROCEDURE RESTARR; BEGIN FOR I:= 1 TO N DO BEGIN IF XR[I]=TRUE THEN BEGIN IF REN[NIVEL,I]<9999 THEN SUMA:=SUMA + REN[NIVEL,I]; FOR J:=1 TO N DO BEGIN IF (XC[J]=TRUE) AND (A[I,J]<>9999) THEN A[I,J]:=A[I,J] - REN[NIVEL,I]; END; END; END; END; {PROCEDIMIENTO QUE ALMACENA EN UN VECTOR EL MENOR VALOR DE CADA COLUMNA} PROCEDURE MENORESC; BEGIN FOR I:= 1 TO N DO BEGIN IF XC[I]=TRUE THEN BEGIN COL[NIVEL,I]:=9999; FOR J:=1 TO N DO BEGIN

110

IF (XR[J] = TRUE) AND (A[J,I] < COL[NIVEL,I]) THEN COL[NIVEL,I]:=A[J,I]; END; END; END; END; {PROCEDIMIENTO QUE RESTA EN CADA COLUMNA EL MENOR VALOR DE ESA COLUMNA } PROCEDURE RESTARC; BEGIN FOR I:= 1 TO N DO BEGIN IF XC[I] = TRUE THEN BEGIN IF COL[NIVEL,I]<9999 THEN SUMA:=SUMA + COL[NIVEL,I]; FOR J:=1 TO N DO BEGIN IF (XR[J] = TRUE) AND (A[I,J]<>9999) THEN A[J,I]:=A[J,I] - COL[NIVEL,I]; END; END; END; ARCOS[NIVEL,3]:=SUMA; END; {PROCEDIMIENTO QUE DETERMINA CUAL ES EL ARCO QUE DEBE USARSE. BUSCA EN CADA RENGLON DONDE HAYA UN SOLO CERO, EL MENOR VALOR. ELIGE EL RENGLON DONDE ESTE EL MAYOR DE ESOS VALORES MENORES. ANOTA RENGLON Y COLUMNA} PROCEDURE ARCOADEC; BEGIN MAYOR:=0; FOR I:= 1 TO N DO BEGIN IF XR[I] = TRUE THEN BEGIN K:=0; MENORR[I]:=9999; FOR J:= 1 TO N DO BEGIN IF (XC[J]=TRUE) AND (A[I,J] = 0) THEN K:=K + 1; END; IF K=1 THEN BEGIN FOR J:=1 TO N DO BEGIN IF XC[J] = TRUE THEN BEGIN IF (A[I,J] <> 0) AND (A[I,J] < MENORR[I]) THEN BEGIN MENORR[I]:=A[I,J]; COLARCO:=J; END; END;

111

END; IF MENORR[I] > MAYOR THEN BEGIN MAYOR:=MENORR[I]; RENARCO:=I; END; END; END; END; FOR J:=1 TO N DO BEGIN IF (XC[J]=TRUE) AND (A[RENARCO,J]=0) THEN COLARCO:=J; END; ARCOS[NIVEL,1]:=RENARCO; ARCOS[NIVEL,2]:=COLARCO; ARCOS[NIVEL,5]:=MAYOR; END; {PROCEDIMIENTO AVANZAR QUE AVANZA UN NIVEL CUANDO LA SUMA ES MENOR QUE BEST} PROCEDURE AVANZAR1; BEGIN WRITELN(' AHORA PASE POR LAB 0-0 NIVEL= ', NIVEL); LABERINTO[NIVEL,1]:=1; MENORESR; RESTARR; MENORESC; RESTARC; END; PROCEDURE AVANZAR2; BEGIN ARCOADEC; XR[RENARCO]:=FALSE; XC[COLARCO]:=FALSE; ARCOS[NIVEL,3]:=SUMA; ARCOS[NIVEL,2]:=COLARCO; ARCOS[NIVEL,1]:=RENARCO; ARCOS[NIVEL,4]:=A[COLARCO,RENARCO]; A[COLARCO,RENARCO]:=9999; END; {PROGRAMA PRINCIPAL} BEGIN CLRSCR; {PIDE LA CANTIDAD DE CIUDADES, O SEA EL ORDEN DE LA MATRIZ DE COSTOS} WRITELN('CUANTAS CIUDADES?'); READLN(N); {LEE LA MATRIZ DE COSTOS DE ARCHIVO DE DISCO Y LA ASIGNA A LA MATRIZ A} ASSIGN(LEA,'COSTOS2.DAT'); RESET(LEA); FOR I:= 1 TO N DO BEGIN FOR J:= 1 TO N DO BEGIN

112

READ(LEA,A[I,J]); END; END; NIVEL := 1; SUMA:=0; BEST:=10000; K2:=0; {DA VALORES INICIALES A XR, XC, LABERINTO, REN Y COL Y ARCOS(I,6) } FOR I:=1 TO N DO BEGIN XR[I]:=TRUE; XC[I]:=TRUE; ARCOS[I,6]:=9999; END; FOR I:= 1 TO N DO BEGIN FOR J:= 1 TO N DO BEGIN LABERINTO[I,J]:=0; REN[I,J]:=0; COL[I,J]:=0; END; END; {COMIENZA EL PROCESO DE BUSQUEDA} 10: REPEAT K1:=0; IF LABERINTO[NIVEL,1]=1 THEN BEGIN WRITELN(' AHORA PASE POR LAB. 1-0 CON EL NIVEL = ', NIVEL); K1:=0; SUMA := ARCOS[NIVEL,3]; IF (SUMA + ARCOS[NIVEL,5]) >= BEST THEN BEGIN WRITELN(' LA SUMA ES ',SUMA+ARCOS[NIVEL,5],'; ES MAYOR QUE BEST.'); WRITELN(' NO SE PUEDE CONTINUAR POR ESTE CAMINO '); READLN; K1:=1; END ELSE BEGIN ARCOS[NIVEL,6]:=A[RENARCO,COLARCO]; A[ARCOS[NIVEL,1],ARCOS[NIVEL,2]]:=9999; SUMA:=SUMA + ARCOS[NIVEL,5]; WRITELN(' AHORA PUSO INFINITO. EL COSTO ES ',SUMA); MATRIZ; FOR I:= NIVEL TO N DO LABERINTO[I,1]:=0; NIVEL:=NIVEL+1; AVANZAR1; IF SUMA < BEST THEN BEGIN AVANZAR2; END ELSE

113

BEGIN FOR I:= NIVEL-1 TO N DO LABERINTO[I,1]:=1; REGRESAR3; K1:=1; END; IF K1= 1 THEN GOTO 10; END; FOR I:= 1 TO N DO WRITELN(I,' ',LABERINTO[I,1]); IF K2=1 THEN GOTO 20; IF K=1 THEN REGRESAR; GOTO 10; END; IF LABERINTO[NIVEL,1]=0 THEN BEGIN AVANZAR1; IF SUMA < BEST THEN BEGIN AVANZAR2; END ELSE BEGIN REGRESAR3; K1:=1; END; IF K1= 1 THEN GOTO 10; END; IF NIVEL = N THEN BEGIN IF SUMA < BEST THEN BEGIN BEST:=SUMA; FOR I:=1 TO N DO BEGIN ARCOSBEST[I,1]:=ARCOS[I,1]; ARCOSBEST[I,2]:=ARCOS[I,2]; END; END; END; {ESCRIBE EL RESULTADO DE LA COTA MINIMA } WRITELN ('LA COTA MINIMA ES ', SUMA); {ESCRIBE LA MATRIZ REDUCIDA} FOR I:= 1 TO N DO BEGIN FOR J:= 1 TO N DO BEGIN WRITE(A[I,J]:8,' '); END;

114

WRITELN; END; WRITELN('RENGLON ',RENARCO,' COLUMNA ',COLARCO); READLN; NIVEL:=NIVEL+1; UNTIL NIVEL > N; { NIVEL:=NIVEL-1; LABERINTO[NIVEL,2]:=1; LABERINTO[NIVEL-1,2]:=1; } REGRESAR; REGRESAR; { REGRESAR2;} IF K2=1 THEN GOTO 20; GOTO 10; 20: WRITELN('EL MENOR COSTO ES ',BEST); FOR I:= 1 TO N DO WRITELN(ARCOS[I,1],' ',ARCOS[I,2]);

END.

115

También podría gustarte