La Computadora, Herramienta Indispensable - Grid Morelos

Transcripción

La Computadora, Herramienta Indispensable - Grid Morelos
La computadora, herramienta indispensable
en diversas áreas de conocimiento
La computadora, herramienta
indispensable en diversas áreas
de conocimiento
Marco Antonio Cruz Chávez
Jesús del Carmen Peralta Abarca
Martín Gerardo Martínez Rangel
Martín Heriberto Cruz Rosales
(coordinadores)
México, 2014
Esta obra fue desarrollada y compilada por los miembros de la Academia General
de Cómputo (AgeComp) 2011-2014 y el apoyo de la Facultad de Ciencias
Químicas e Ingeniería, Facultad de Contaduría, Administración e Informática,
Facultad de Ciencias y el Centro de Investigaciones en Ingeniería y Ciencias
Aplicadas.
La computadora, herramienta indispensable en diversas áreas de
conocimiento / Marco Antonio Cruz Chávez, Jesús del Carmen
Peralta Abarca, Martín Gerardo Martínez Rangel, Martín Heriberto
Cruz Rosales (coordinadores). - - México : Marco Antonio Cruz
Chávez, 2014.
568 p. : il.
ISBN 978-607-00-7036-5
1. Procesamiento electrónico de datos 2. Programas para computadora
– Desarrollo 3. Algoritmos
LCC QA76
DC 004
La computadora, herramienta indispensable en diversas áreas de conocimiento
Marco Antonio Cruz Chávez, Jesús del Carmen Peralta Abarca, Martín Gerardo
Martínez Rangel, Martín Heriberto Cruz Rosales (coordinadores)
Primera edición, 2014
D.R. © 2014 Marco Antonio Cruz Chávez
Imagen de portada: Gibran Corona, Venas, acrílico y collage sobre papel, 40 x 60
cm, 2009
ISBN: 978-607-00-7036-5
Los artículos incluidos en este libro fueron sometidos a arbitraje ciego. El
contenido de los artículos y las ideas expresadas en ellos son responsabilidad de
los autores.
Impreso en Mexico
Contenido
Capítulo I. Optimización<<<<<<<<<<<<<<.<<
Calendarización
de
Redes
de
Distribución
de
agua<<<<<<<<<<<<<<<<<<<<<<<<<
A Heuristic Approach for Improvement Batch Plant Design
under
Imprecise
Demand
Using
Fuzzy
Logics<<<<<<<<<<<<<<<<<<<.<<<<<.
Propuesta de una Metodología Generalizada para el Diseño de
Micro Algoritmos Bioinspirados<<<<<<<<<..<<.
Estudio de Tres Algoritmos Heurísticos para Resolver un
Problema de Distribución con Ventanas de Tiempo: Sistema
por Colonia de Hormigas, Búsqueda Tabú y Heurístico
Constructivo de una Ruta<<<<<<<<<<<<<<<...
Aplicación de la Optimización por Enjambre de Partículas a un
Problema Inverso de Conducción de Calor<<<<<.<
Algoritmo de recocido simulado secuencial y paralelizado con
memoria distribuida para el problema de máquinas paralelas
no relacionadas ponderadas<<<<<<<<.<.<
Capítulo II. Aplicaciones<<<<<<<<<<<<<<<.<
Diseño de un Sistema de Gestión de la Información para
Tutorías<<<<<<<<<<<<<<<<<<<<.............
Actualización
de
Bases
de
Datos
DBF
a
MySQL<<<<<<<<<<<<<<<<<<<.<<<<..
Proposición de un Modelo para la Acentuación Automática de
Palabras Ambiguas del Español, utilizando Etiquetado de
Texto <<<<<<<<<<<<<<<<<<<.<<<<<
Ladrillo rojo: aplicación de redes de Petri a un proceso
milenario <<<<<<<<<<<<<<<<<<<<..<...
Perspectivas de automatización del proceso de fabricación de
ladrillo rojo en la región de Cholula, Puebla <<<<<<<..
Cloud computing <<<<<<<<<<<<<<<<<<<
Aproximación de un Diagnóstico Neurológico Mediante un
Sistema Multiagente Inteligente <<<<<<<<<<.........
Elección de Software Libre en el Desarrollo de Sistemas Web
5
7
23
43
57
73
85
101
103
117
127
139
151
161
175
187
199
Gestión del Aprendizaje de las Nuevas Tecnologías en Adultos
de la Tercera Edad, en Tijuana, Baja California, México, por la
UABC. Resultados obtenidos en el primer Curso de
Computación Básico. <<
Modelo Matemático Multiobjetivo para la Selección de una
Cartera de Inversión en la Bolsa Mexicana de Valores.
<<<<<<<<<<<<<<<<<<<<.............................
Sistema Estatal de Información y Documentación Científica y
Tecnológica (Siedcyt): el primer paso para la propuesta de
creación de un Parque Tecnológico Virtual, en el estado de
Baja California <<<<<<<<<<<<<<.<<<<........
Advanced Tools for the estimation of basic Knowledge Level
on Education and Training ..........................................................
Relajación del Problema de Calendarización de Trabajos en un
Taller de Manufactura Utilizando un Grafo Bipartita
<<<<<<<<<<<<<<<<<<<<<<<<<<.<
Capítulo III. Electrónica y Métodos Computacionales
<<<<<<<<<<<<<<<<<<<<<<<<<<..<
Diseño e Implementación de un Sistema Digital que Obtenga
la
Máxima
Potencia
Generada
por
un
Haz
L{ser<<<<<<<<<<<<<<<<<<<<<<<<..<
Evolución de las Bases de Datos: de Fijas a Móviles <<<..<.
Grid Computing <<<<<<<<<<<<<<<<<...<<
Herramienta Computacional para Determinar la Confiabilidad
de los Activos Reparables
de Distribución de CFE
<<<<<<<<<<<<<...........................................................
Modelo Eléctrico del Cátodo de una Descarga de Alta Presión
de Sodio <<<<<<<<<<<<<<<<<<<<<.<...
Control difuso de un Sistema no Lineal <<<<.<.................
Automatización de bombas de calor por medio del control de
bombas en un puerto LPT con adquisición de datos en un
Puerto GPIB <<<<<<<<<<<.<<<<<<<<<<.
Numerical Simulation of the Field Confinement in a
Quasiperiodic Multilayered Microsphere as an Application of
the Software Engineering <<<<.<<<<<<<<<<<
The use of Parallel Axtensions Libraries for Scientific and
Engineering Calculations. ..............................................................
Capítulo IV. Inteligencia Artificial y Visión <<<<<<<<.
Complejidad de los datos en las redes neuronales artificiales:
situación actual <<<<<<<<<<<<<<<<<<<.....
207
217
233
241
253
265
267
277
291
301
311
323
337
349
361
371
373
Automatización del Proceso de Ensamble utilizando Visión
Artificial <<<<<<<<<<<<<<<<<<<<<...<..
Quality Measurement of Existing Color Metrics using
Hexagonal Color Fields
<<…………………………………...
381
395
Prefacio
El contenido de los temas que abarca el presente libro, es un esfuerzo por dar a
conocer los trabajos de investigación en el área de ciencias e ingeniería con un
enfoque al uso de herramientas computacionales. Este esfuerzo colegiado se da
entre la Academia General de Cómputo (AGECOMP) y el Cuerpo Académico de
Optimización y Software, con el apoyo del centro de Investigación en Ingeniería
y Ciencias Aplicadas (CIICAp), de la Facultad de Ciencias, de la Facultad de
Contaduría, administración e Informática y también de la Facultad de Ciencias
Químicas e Ingeniería.
El eje principal que agrupa a los trabajos presentados, es el uso de la computadora
como herramienta aplicada en diferentes áreas del conocimiento, la cual hoy en
día es un instrumento esencial para tratar problemas, que por su naturaleza
compleja, requiere de innumerables cálculos y/o de un manejo de gran cantidad
de datos, que sin la computadora, sería muy difícil o prácticamente imposible el
poder tratar estos problemas de manera eficiente. Este medio es un espacio dado a
los investigadores, estudiantes de postgrado y empresas privadas, para que
puedan dar a conocer sus conocimientos de punta a la comunidad académica e
industrial.
La presentación de los trabajos en el área de investigación y tecnología en este
libro, se divide en cuatro capítulos. El primer capítulo presenta temas del área de
optimización, en diversas áreas como calendarización de recursos, la demanda de
recursos en plantas industriales, transporte, térmica. El segundo capítulo presenta
un contenido con aplicaciones a una diversidad de problemas como salud,
educación, producción y tecnología. El tercer capítulo trata de electrónica y
métodos computacionales. Finalmente, el cuarto capítulo presenta temas que
tratan de inteligencia artificial.
Los trabajos aceptados para su publicación en el presente libro, fueron a través de
un comité de expertos formado por investigadores activos de los diversos centros
de investigación del Estado de Morelos, y por supuesto de la UAEM. Cada
trabajo fue evaluado en calidad y aportación a la frontera del conocimiento por un
mínimo de dos y un máximo de tres investigadores expertos en el tema y que
cultivan las mismas líneas de conocimiento, con lo cual se garantiza la calidad de
los trabajos.
Los autores participantes en el presente libro, son de de distintas universidades e
Institutos del país, con ubicación en la Ciudad de México, Estado de México,
Puebla, Morelos, Sinaloa, Tlaxcala, Hidalgo, Baja California, Oaxaca, Coahuila,
Venezuela y España.
Un agradecimiento muy grande a toda la gente que participo en el desarrollo del
presente libro, comenzando por los autores de los temas, quienes con su
investigación de calidad dan realce a esta obra impresa. Agradecemos al comité
de evaluadores por su valiosa aportación para la revisión y aceptación de trabajos
de calidad.
Agradecemos el apoyo recibido de las autoridades de la Secretaria Académica y
de la Dirección de Educación Superior de la Universidad Autónoma del Estado
de Morelos, para el buen término de esta gran obra.
Dr. Marco Antonio Cruz Chávez
Lista de Autores
Abraham Briseño Cerón, Vanessa Guadalupe Félix Aviña, Rogelio Alfonso Noris
Covarrubias. Universidad Politécnica de Sinaloa. México.
P. Toribio, B. G. Rodriguez. Centro Universitario UAEM Atlacomulco,
Universidad Autónoma del Estado de México, México.
R. Alejo. Dept Llenguatges I Sistemes Informátics, Universitat Jaume I,. España.
Juan C. Herrera-Lozada, Hiram Calvo. Centro de Investigación en Computación,
CIC-IPN, U. P. México.
Hind Taud, Edgar A. Portilla-Flores. Centro de Innovación y Desarrollo
Tecnológico en Cómputo, CIDETEC IPN. México.
Irma Delia Rojas-Cuevas. Departamento de Sistemas y Computación. Instituto
Tecnológico de Puebla. México.
José Rafael Mendoza-Vázquez. Departamento de Ingeniería Eléctrica y
Electrónica. Instituto Tecnológico de Puebla. México.
Sergio Javier Torres-Méndez. Departamento de Postgrado e Investigación.
Instituto Tecnológico de Puebla. México.
Obed Cortés-Aburto, Rafael Rojas-Rodríguez, Carlos Marín-Dávila. Mecatrónica,
Universidad Politécnica de Puebla, México.
Carlos Eduardo Mariano Romero. Instituto Mexicano de Tecnología del Agua
(IMTA), Cuernavaca, México.
Raymundo Montiel, Blanca E. Pedroza, María Guadalupe Medina, Carlos Pérez.
Instituto Tecnológico de Apizaco División de Estudios de Posgrado e
Investigación. México.
Mario Peña Cabrera, H. Gómez N. R. Osorio C. Instituto de Investigaciones en
Matemáticas Aplicdas y en Sistemas de la Universidad Nacional Autónoma de
México-IIMAS-UNAM. México.
Ismael López-Juárez. CINVESTAV, Saltillo, Coahuila, México.
J. Cerezo-Román, Oleg Sergiyenko. Instituto de Ingeniería, Universidad
Autónoma de Baja California, México.
Jesús Enrique Vázquez Reyna. Instituto de la Educación Básica del Estado de
Morelos. México.
Juan Fernando García Mejía, Flor del Río González Romero, Arturo Garduño
Aparicio. Departamento de Instrumentación Virtual, Centro Universitario
UAEMEX Atlacomulco. México.
Martha Idalid Rivera González, Gelier Jonathan Reyes Vite.
Ciencias Computacionales, Universidad Autónoma del Estado de Hidalgo,
Instituto de Ciencias Básicas e Ingeniería, Área Académica de Computación.
México.
E. Antúnez-Cerón. Instituto Nacional de Astrofísica, Óptica y Electrónica. Puebla,
México.
Rodolfo Ostos Robles, Ismaylia Saucedo Ugalde, Víctor Javier Sánchez Sánchez .
Universidad Politécnica de Sinaloa. México.
Paola Delgado Fernández. Universidad Autónoma de Baja California, Ensenada,
Baja California, México.
Luis Antonio Gama Moreno. Instituto Tecnológico de Zacatepec, Zacatepec,
Morelos, México.
Hilda Beatriz Ramírez Moreno, Esperanza Manrique Rojas, Maricela Sevilla Caro,
Margarita Ramírez Ramírez. Facultad de Contaduría y Administración,
Universidad Autónoma de Baja California, Campus Tijuana. México.
Vanessa Hamar. Centre de Physique des Particules de Marseille. Francia. Centro
Nacional de Cálculo Científico, Universidad de Los Andes, Corporación Parque
Tecnológico de Mérida, Mérida, Venezuela.
Teresa Natalia Figueroa Ríos, Leopoldo Altamirano Robles.Instituto Nacional de
Astrofísica, Óptica y Electrónica. Puebla. México.
Benjamín Sierra Rodríguez. Gerencia de Normalización, Comisión Federal de
Electricidad, México, D.F.
Manuel González de la Rosa. Unidad Académica Profesional UAEM
Tianguistenco, Universidad Autónoma del Estado de México. México.
Norma Martínez Urbano, Venancio García González, Roberto Alejo Eleuterio.
Centro Universitario UAEM Atlacomulco, Universidad Autónoma del Estado de
México. México.
José Luis Tapia Fabela, Yulia Nikolaevna Ledeneva, René Arnulfo García
Hernández. Departmento de Ingeniería de Software, Unidad Académica
Profesional de Tianguistenco, Universidad Autónoma del Estado de México.
México.
Jorge Ruiz Vanoye. Universidad Juárez Autónoma de Tabasco. Tabasco. México.
Luis Eduardo Espinosa Maya, Godolfredo Sánchez Medina, Horacio George
Haro, René L. Pacheco L., Gerardo Villegas R., Gerardo Mino A., Oscar Morales
P., Honorato Azucena C., Grupo de Mecatrónica, Facultad de Ciencias de la
Electrónica, Benemérita Universidad Autónoma de Puebla. México.
Jorge Barahona Ávalos. Instituto de Electrónica y Computación, Universidad
Tecnológica de la Mixteca, Huajuapan de León, Oaxaca. México.
Nora del Carmen Osuna Millán, Margarita Ramírez Ramírez, Esperanza
Manrique Rojas, María del Consuelo Salgado Soto. Universidad Autónoma de
Baja California-Campus Tijuana. México.
José Alberto Hernández-Aguilar, Martín H. Cruz-Rosales, Messouma
Atakishiyeva. Facultad de Ciencias, Universidad Autónoma del Estado de
Morelos. México.
Marco Antonio Cruz-Chávez, Alina Martínez-Oropeza, Fredy Juárez-Pérez, Erika
Yesenia Ávila Melgar, Sotsil Silva-Sotelo, M. Tecpoyotl-Torres, P. Vargas-Chable,
J. A. Damián-Morales J. Escobedo-Alatorre, A. Zamudio-Lara, Gennadiy Burlak,
V. Grimalsky, Y. El-Hamzaoui, J.A. Hernandez, R. J. Romero, P. A. MárquezAguilar, A. Díaz-de-Anda y S. Koshevaya Atakishiyeva.
Centro de
Investigaciones en Ingeniería y Ciencias Aplicadas (CIICAp), Posgrado en
Ingeniería y Ciencias Aplicadas, Universidad Autónoma del Estado de Morelos.
México.
José Crispín Zavala-Díaz. Facultad de Contaduría, Administración e Informática.
Universidad Autónoma del Estado de Morelos. México.
Jorge Barahona Ávalos. Instituto de Electrónica y Computación, Universidad
Tecnológica de la Mixteca, Huajuapan de León, Oaxaca. México.
Luis Eduardo Espinosa Maya, Godolfredo Sánchez Medina, Horacio George
Haro, René L. Pacheco L., Gerardo Villegas R., Gerardo Mino A., Oscar Morales
P., Honorato Azucena C. Grupo de Mecatrónica, Facultad de Ciencias de la
Electrónica, Benemérita Universidad Autónoma de Puebla, México.
René Santaolaya Salgado, Moisés González García. Departamento de Ciencias
Computacionales, Centro Nacional de Investigación y Desarrollo Tecnológico
CENIDET. México.
Yuriy Kotsarenko, Fernando Ramos. Instituto Tecnológico de Estudios
Superiores de Monterrey. México.
A.Bassam. Centro de Investigación en Energía, Universidad Nacional Autónoma
de México. México.
Alberto Ochoa. Instituto de Ingeniería y Tecnología, Universidad Autónoma de
Ciudad Juárez. México.
R. Vargas-Bernal. Instituto Tecnológico Superior de Irapuato, Electronics
Department. México.
M. Torres-Cisneros. Faculty of Mechanical, Electrical and Electronic Engineering,
FIMEE, University of Guanajuato, Mexico.
Capítulo I
Optimización
5
6
Calendarización de Redes de Distribución de
Agua
Marco Antonio Cruz-Chávez, José Crispín Zavala-Díaz, Fredy Juárez-Pérez, Erika
Yesenia Ávila Melgar, Carlos Eduardo Mariano Romero
Resumen. En este artículo se describe una metodología para la calendarización
de redes de distribución de agua y se hace la conversión de un algoritmo genético
secuencial a un algoritmo genético paralelo aplicado a problemas de
calendarización de este tipo. El problema clásico de diseño de redes de
distribución de agua y su evolución en las últimas décadas se estudian de manera
comparativa. Se muestran dos esquemas de paralelización del algoritmo:
paralelización simple y paralelización funcional, señalando las ventajas y
desventajas de cada esquema. La aplicación de este algoritmo paralelo reduce el
tiempo necesario para obtener soluciones aproximadas para problemas NPCompletos, como lo es el problema de las redes de distribución de agua.
Palabras clave: paralelización de un algoritmo, paralelización simple,
paralelización funcional, algoritmo genético, redes de distribución de agua.
Sumario:
1 Introducción 2 Descripción del problema 3 Estado del arte del problema de
diseño de las redes de distribución de agua
4 Metodología para la
paralelización simple de un algoritmo genético 5 Metodología para la
paralelización funcional de un algoritmo genético 6 Conclusiones Referencias
1 Introducción
Los algoritmos genéticos son algoritmos computacionales basados en la
evolución natural de los seres vivos. A pesar de que no garantizan que la
solución óptima de un problema se encuentre, se han aplicado con éxito en
diferentes áreas de investigación para la solución de una gran variedad de
problemas. Estudios experimentales diversos muestran la eficiencia de los
algoritmos genéticos para encontrar soluciones aproximadas en tiempos de
cómputo razonables. Gracias a sus características, son relativamente fáciles de
llevarlos a ambientes paralelos. La programación paralela es un mecanismo que
reduce el tiempo de cómputo de los algoritmos. La paralelización de un
algoritmo se realiza principalmente para resolver problemas complejos1 en los
7
que los recursos de una sola máquina no son suficientes, o bien, si se pudiera
resolver, la máquina tardaría años en encontrar una solución. La finalidad de
paralelizar un algoritmo es disminuir el tiempo de procesamiento mediante la
distribución de tareas entre los procesadores disponibles. La paralelización se
basa en el concepto de cooperación entre los procesadores, lo que mejora la
calidad de las soluciones de un problema. Actualmente, la paralelización de
algoritmos es un recurso que se usa cuando se quiere resolver problemas de
optimización en los que el espacio de soluciones es muy grande, por ejemplo,
problemas de tipo NP-Completo, como el de las redes de distribución de agua.
El problema de las redes de distribución de agua es de gran interés para los
investigadores, por su aplicación práctica; durante más de tres décadas ha sido
estudiado ampliamente. Una cantidad considerable de formulaciones y métodos
de solución ha sido propuesta; sin embargo, sólo se ha logrado resolver instancias
prácticas pequeñas, pues, de acuerdo con la teoría de la complejidad, el problema
se clasifica dentro de los NP-Duros2 y puede abordarse desde diferentes
perspectivas: diseño, operación, rehabilitación y mantenimiento. Actualmente, la
mayoría de los investigadores ha realizado estudios enfocados en la solución del
diseño.
El problema de diseño consiste en elegir los componentes básicos que forman la
red. Los componentes más comunes son: tuberías, bombas, válvulas y reservorios
o fuentes de abastecimiento. Las tuberías comerciales, disponibles en diferentes
diámetros y materiales, llevan el agua desde las fuentes hasta los usuarios de la
red. Las válvulas regulan la presión de una red de agua. Las bombas son
indispensables cuando la técnica de distribución es el bombeo. Finalmente, las
fuentes de abastecimiento son imprescindibles: ríos, arroyos, manantiales, pozos
y otros recursos acuíferos. La fase de diseño de una red de distribución de agua
es fundamental porque de éste depende, en gran parte, su buen funcionamiento.
Se debe elegir una topología adecuada que represente la ubicación física en la que
se localizarán los componentes de la red —los usuarios, las fuentes de
abastecimiento y los demás elementos que la integran. También deben
considerarse otros factores, como las condiciones topográficas, las características
de los componentes y el número de usuarios. Las redes de distribución de agua
pueden representarse de forma gráfica utilizando la teoría de grafos. 3 En un
grafo, los nodos representan a las fuentes de abastecimiento y a los
consumidores. Los arcos o aristas representan los elementos de conexión, como
tuberías, válvulas, bombas, entre otros.
De acuerdo con Bhave,4 las redes se clasifican en serie, ramificadas y malladas.
Una red en serie es aquella que no contiene mallas ni ramificaciones; es una
conexión entre dos o más nodos de forma lineal. Generalmente, tiene un nodo
fuente, un nodo final o sumidero y uno o más nodos intermedios. Es la topología
más simple que existe para las redes de distribución de agua.
8
Una red ramificada es similar a una estructura de árbol. Es un conjunto de redes
en serie y no contiene mallas. Estas redes presentan un nodo fuente, más de un
nodo final y uno o más nodos intermedios. Generalmente, las redes ramificadas
se utilizan para la distribución de agua en comunidades rurales pequeñas, en
zonas industriales y en zonas de riego. En la práctica, el inconveniente de las
redes ramificadas es la suspensión del servicio en diferentes puntos de la red
cuando ocurren roturas o fugas en alguna tubería. Esto se debe a que sólo tienen
un camino para llegar de un punto a otro, de manera que algunos usuarios se
quedan sin servicio cuando hay fuga.
Las redes malladas contienen ciclos o mallas por donde el agua llega a un punto
de la red por diferentes caminos. En estas redes, la interrupción del servicio
ocasionada por rupturas en las tuberías ocurre con menor frecuencia, ya que el
agua llega a su destino utilizando diferentes trayectorias, de tal manera que una
rotura en una tubería, en general, no afecta gravemente a otros puntos de la red.
A pesar de que el costo de construir redes malladas es más elevado que el de las
redes ramificadas, su uso se justifica por su fiabilidad.5
La operación de una red de distribución de agua es importante también. Un
diseño correcto ayuda a su buen funcionamiento. Sin embargo, no garantiza que
la distribución del agua sea eficiente. En la actualidad, la forma de operar de una
red es lo que hace que el agua llegue a los usuarios en cantidades apropiadas
evitando fugas, desperdicios o desabastecimientos. La distribución de agua en
una red es, en sí misma, un problema de optimización. La función objetivo
consiste en minimizar el costo de distribución con base en la demanda de los
usuarios, la cual es variable a lo largo de cada día.
La mayor parte de la investigación respecto del tema que nos ocupa se ha
enfocado en el diseño de la red. Sin embargo, la forma de operarla merece ser
estudiada a fin de aprovechar los recursos hídricos existentes mediante una
distribución equitativa entre los usuarios. En este trabajo se aborda el problema
de las redes de distribución de agua desde la etapa de operación.
2 Descripción del problema
La operación de una red de distribución de agua consiste básicamente en
encontrar la forma más eficiente de suministrarla cumpliendo una serie de
restricciones para la red y para los usuarios. Las restricciones principales son las
presiones mínimas requeridas por los usuarios y las velocidades en los flujos de
la red, entre otras.
Idealmente, la operación de la red debería brindar a los usuarios un servicio
constante e ininterrumpido. Sin embargo, hasta ahora, en la práctica esto no ha
9
sido posible. Este esquema de operación tiene costos energéticos altos y la
capacidad de los recursos hídricos de las fuentes de abastecimiento disponibles es
limitada. Como una alternativa, en un estudio realizado por Cruz-Chávez et al.,6
se propone un esquema de calendarización del servicio, con el cual la operación
eficiente de la red se garantice y los costos energéticos ocasionados por la
distribución del agua se minimicen. El servicio debe incluir a todos y cada uno de
los usuarios, logrando una distribución equitativa de los recursos hídricos.
A continuación, se retoma la formulación matemática del modelo a resolver
presentado en Cruz-Chávez et al.6
La función objetivo consiste en minimizar el tiempo de distribución óptima del
agua en una red. El método de solución que aquí se propone consiste
precisamente en utilizar un algoritmo genético para la calendarización de las
redes de distribución de agua. Los algoritmos genéticos son técnicas de
optimización estocástica.
Trabajan mediante la generación de soluciones
aleatorias. La teoría de los algoritmos genéticos fue propuesta por Holland 7 y
desarrollada posteriormente por Goldberg8 y se basa en la evolución natural de
los seres vivos. Así, en los algoritmos genéticos, una población se compone de un
conjunto de soluciones computacionales. Cada individuo se representa mediante
un conjunto de valores que describen una solución. Cada solución está codificada
en cromosomas, es decir, cadenas de caracteres análogas a las del ADN. Los
algoritmos genéticos tradicionales utilizan la representación alfabética o binaria
para las cadenas y manejan los operadores clásicos de selección, cruzamiento y
mutación (véase la figura 1).
10
Fig. 1. Algoritmo genético tradicional.
Los algoritmos genéticos ya se han aplicado al problema de las redes de
distribución de agua, y generalmente se obtienen buenos resultados en
problemas complejos. Sin embargo, el tiempo de convergencia para la solución de
un problema oscila entre uno y varios días, por lo mismo, surge la necesidad de
obtener resultados eficaces más eficientemente. Para lograr esto, se plantea aquí
una metodología para llevar un algoritmo secuencial existente a un ambiente
paralelo, aplicándolo al problema de las redes de distribución de agua. La
complejidad mayor de la conversión de un algoritmo genético secuencial a un
algoritmo genético paralelo es la comunicación entre procesadores. El algoritmo
secuencial, que está implementado en lenguaje C, contiene estructuras dinámicas
que deben enviarse, modificarse y recibirse de regreso en los nodos, en cada
iteración del algoritmo (véase la figura 2).
11
Las
estructura
s de datos
“Fuente”
y
“Ciudad”
son
complejas
La
porque
estructura
utilizan
de datos
tipos
de
“Calendar
datos
iza” es
básicos
dinámica,
del
ya que
lenguaje
utiliza
C.
Los
Fig. 2. Estructuras de datos del problema secuencial de la calendarización.
apuntador
tipos
de
es
para
datos
que
Las estructuras dinámicas permiten que la información esté organizada;
referirse a
utilizan
sin embargo, utilizan apuntadores para referirse a otros datos y no se reconocen
otrosson
tipos
(int)
en el entorno MPI.
de datos.
primitivos
.
3 Estado del arte del problema de diseño de las redes de
distribución de agua
Desde hace tiempo este problema ha sido estudiado por una gran cantidad de
investigadores. Por ejemplo, Alperovits y Shamir 9 proponen el problema clásico
de diseño óptimo de un sistema de distribución de agua, el cual consiste en una
red de tuberías que llevan agua de las fuentes a los usuarios. La red puede
contener bombas, válvulas y fuentes de abastecimiento. En este problema, las
restricciones son las demandas conocidas, que deben cumplirse, y las presiones
en los nodos, que deben respetar ciertos límites. Las variables de decisión son los
diámetros de las tuberías y se basan en algunos enfoques de las variables
continuas, lo que significa que entre cada par de nodos un segmento de tubería
puede dividirse en dos o más segmentos con diferentes diámetros. Las variables
de decisión son también las capacidades de las bombas y la elevación de las
fuentes de abastecimiento. En este enfoque clásico, generalmente se utilizan redes
ramificadas como caso de estudio. La formulación del problema es lineal y el
método de solución es el gradiente.
12
Después de Alperovits y Shamir,9 el problema de diseño de redes de distribución
de agua ha sido estudiado por Quindry,10 Goulter et al.,11 Fujiwara y Khang,12
Kessler y Shamir,13 Gupta et al.,2 Eiger et al.,14 entre otros. La mayoría de los
investigadores tratan el problema de manera lineal y proponen algunas técnicas
de solución: modificaciones a los métodos del gradiente, quasi-Newton, Branch
and Bound, entre otros (véase el cuadro 1).
Cuadro 1. Problema de diseño de redes de distribución de agua utilizando
variables continúas
Los costo obtenido por diferentes autores para el problema de diseño de la red,a
pesar de que se han empleado métodos diferentes, los resultados son cercanos.
Generalmente, se aplican a redes ramificadas, se utilizan componentes
adicionales y la técnica de distribución del agua es mediante bombeo.
Con el tiempo, el problema clásico se ha modificado gradualmente, de tal forma
que en las últimas décadas se ha tratado como un problema no lineal, utilizando
los diámetros de las tuberías como variables de decisión discretas. Se han
propuesto diversos tipos de heurísticas para resolver el problema y se han
obtenido resultados experimentales similares (véase el cuadro 2); sin embargo, no
existe la certeza de que las soluciones encontradas sean óptimas, ya que la
mayoría de los métodos propuestos no tienen prueba de optimalidad.
13
Cuadro 2. Problema de diseño de redes de distribución de agua utilizando
variables discretas
Las variables de decisión son discretas. Generalmente, la topología de las redes es
mallada, la mayoría de los métodos de solución se basan en heurísticas. La
estrategia de distribución del agua suele ser por gravedad.
En estos estudios existen algunas diferencias remarcables. En algunos, 6,7,8,9,10,11 se
utilizan componentes en la red; mientras que, en otros, 12 se supone la existencia
de un modelo ideal de red. Además, algunos autores6,7,8,9,10,11 utilizan topologías
ramificadas, mientras que otros consideran el diseño de redes malladas. 15
Finalmente, en algunos trabajos se utiliza la técnica de gravedad porque se
considera que las fuentes de abastecimiento están a mayor altura que los nodos
de demanda;4 en otros se piensa en la técnica de bombeo porque algunos nodos
se encuentran a mayor altura que las fuentes de abastecimiento, 6,7,8,9,10,11 o bien,
simplemente, porque se requiere una mayor presión en los nodos.
4 Metodología para la paralelización simple de un algoritmo
genético
La paralelización de un algoritmo requiere de un modelo de operación. El
modelo de islas26 divide la población original en un conjunto de subpoblaciones
distribuidas entre diferentes procesadores. Cada procesador es responsable de la
gestión de la subpoblación que se le ha asignado, de forma que ejecuta todos los
pasos de la heurística y ocasionalmente envía individuos entre islas. Aunque este
modelo rompe la secuencia del algoritmo, estudios en diferentes aplicaciones han
demostrado que suele superar al modelo maestro-esclavo, debido principalmente
a que permite mantener la diversidad en la búsqueda a la vez que se mantiene un
cierto grado de cooperación entre procesadores. 26 Una primera propuesta de
paralelización para el algoritmo secuencial presentado es una metodología de
paralelización simple (véase la figura 3).
14
Fig. 3. Paralelización simple.
La metodología de paralelización simple se basa en el modelo de islas y en la idea
de competencias entre procesadores. Consiste en los siguientes pasos:
1. Dado un algoritmo secuencial, el primer paso de la paralelización
consiste en el análisis del algoritmo para identificar las secciones críticas que
consumen la mayor cantidad de recursos computacionales y que pudieran
trabajar de forma independiente.
2. Una vez identificadas las funciones críticas se deben dividir de forma
manual o dinámica entre el número de procesadores disponibles.
3. Posteriormente, se asigna una copia del programa a cada procesador y se
le indica qué funciones debe ejecutar.
4. Se define una fórmula para que procesador calcule por sí mismo el
número de iteraciones a realizar en las funciones críticas que le fueron
asignadas. En ellas trabaja durante la ejecución del programa.
5. Se define un conjunto de datos para cada procesador y éste trabaja de
forma independiente. El procesador sólo se comunica con los demás
procesadores en caso de encontrar la solución óptima del problema. En este
momento se termina la ejecución del programa en todos los procesadores.
5 Metodología para la paralelización funcional de un algoritmo
genético
La paralelización funcional (véase la figura 6) consiste en la división de tareas
entre el número de procesadores existentes. Se utiliza el modelo maestro-esclavo,
el cual permite mantener la secuencia del algoritmo original. 26 Un procesador
15
maestro centraliza la población y gestiona la selección y los reemplazos de
individuos. También se encarga del envío de subconjuntos de la población a los
esclavos, los cuales ejecutan tareas de evaluación y mutación. Después, los
esclavos devuelven las soluciones evaluadas al maestro.
Esta metodología de paralelización funcional del algoritmo aplicado al problema
de redes de distribución de agua consiste en los siguientes pasos:
1. Dado un algoritmo secuencial, el primer paso en la paralelización
consiste en el análisis del algoritmo para identificar las secciones críticas que
consumen la mayor cantidad de recursos computacionales. Estas secciones se
dividen entre el número de procesadores.
2. Se debe realizar un análisis exhaustivo del código fuente del programa
secuencial para identificar el grado de cohesión y acoplamiento del programa.
En caso de que sea un programa con alto grado de acoplamiento, la
comunicación entre los procesadores será constante durante el envío y
recepción de los datos que se modifican en las diferentes funciones. Se sabe
que, en cómputo distribuido, las comunicaciones constantes afectan el
rendimiento del programa, por lo que es recomendable en la medida de lo
posible evitar el exceso de comunicaciones entre procesadores.
3. Se debe analizar el tipo de datos que se enviarán a los procesadores. La
existencia de estructuras dinámicas beneficia porque la información está
organizada y no hay necesidad de hacer varios envíos. Sin embargo, debe
realizarse una conversión de datos de lenguaje C a su equivalente en MPI.
Como MPI no reconoce la existencia de estructuras dinámicas, hay que llevar
a cabo un proceso que equivale a serializar y deserializar los datos. En Michel
y Devaney,27 se propone una metodología para la conversión manual de un
tipo de dato en C a MPI. También se propone el uso de una herramienta para
realizar la conversión de forma automática.
4. Una vez definidas las tareas y datos que se asignarán al programa, se
debe identificar el número de procesadores disponibles. Con base en esta
cantidad, se puede realizar una distribución dinámica tanto de los datos como
del número de operaciones a realizar. Esto tiene la finalidad de obtener un
balance de carga para que los procesadores terminen sus actividades casi al
mismo tiempo. Con esto se logra aprovechar al máximo los recursos
disponibles y se evita el tiempo ocioso en los procesadores mientras se les
asignan nuevas tareas.
16
5.
En el caso de los algoritmos genéticos se debe definir necesariamente un
proceso de sincronización porque existe un número de iteraciones que deben
realizarse. En cada iteración, el procesador maestro debe recopilar los datos y
actualizar la población de tal forma que se envíen datos nuevos a los procesos
esclavos. Así se mejoran las soluciones, pues cada procesador trabaja sobre
espacios de soluciones diferentes que pueden combinarse. Para la sincronización
existen las técnicas conocidas como semáforos, barreras, o bien, comunicación
bloqueante, propia de la biblioteca de paralelización MPI.
6.
Finalmente, se deben utilizar instrucciones importantes para el algoritmo
paralelo. Algunas instrucciones son propias del entorno MPI (véase el cuadro 3).
Cuadro 3. Funciones definidas en la biblioteca MPI
Como acabamos de ver, en el modelo maestro-esclavo para la paralelización
funcional del algoritmo genético, se tiene un nodo central (maestro) que se
encarga de distribuir los datos y las tareas a los nodos esclavos. El algoritmo
trabaja con una única población de individuos que se divide en partes iguales
entre el número de nodos disponibles. A cada nodo esclavo le corresponde una
parte de la población total, sobre la cual realizará las operaciones que le
corresponden. Los nodos esclavos se encargan de realizar las operaciones de
mutación sobre la parte de la población que les fue asignada. Una vez que
finalizan las operaciones, los nodos esclavos devuelven sus resultados obtenidos
al nodo maestro. El nodo maestro almacena las soluciones obtenidas por los
esclavos en una nueva población. Sobre esta nueva población, el nodo maestro
realiza las operaciones correspondientes a los operadores de selección y
cruzamiento, y posteriormente envía a los nodos esclavos la nueva población
sobre la cual deben trabajar (véase la figura 4).
17
Fig. 4. Paralelización funcional con comunicación.
La diferencia principal entre los esquemas de paralelización utilizados en este
trabajo es que en el esquema funcional existe una comunicación constante entre el
nodo maestro y los nodos esclavos. También hay cooperación entre los nodos
para encontrar mejores soluciones en cada generación. Sin embargo, una
desventaja de la aplicación funcional es que algún nodo falle o simplemente se
detenga, lo cual puede ocurrir con frecuencia para evitar que los costos
energéticos se eleven a causa de que el clúster de computadoras esté funcionando
de manera ininterrumpida. Si un nodo falla o se detiene, el nodo maestro se
quedará esperando los resultados de todos los nodos esclavos y no podrá
continuar con la siguiente iteración del programa. Por otra parte, la ventaja
principal de la paralelización simple es que no existen dependencias entre los
procesadores y cada uno puede trabajar a diferente ritmo; cualquiera de ellos
puede encontrar la solución óptima global. Llevar un algoritmo secuencial a un
18
ambiente paralelo requiere de un conocimiento exhaustivo del algoritmo.
Además, es necesario asegurarse de que durante la paralelización los datos
conserven su consistencia y lleguen correctamente a los nodos destino durante la
comunicación.
6 Conclusiones
Una de las ventajas de utilizar el cómputo paralelo es la disminución del tiempo
de ejecución de un programa. El cómputo paralelo se usa como una herramienta
para resolver problemas complejos de optimización combinatoria en los que los
recursos de una sola computadora no son suficientes o tardarían años en
solucionar un problema.
En este artículo se presentó un análisis comparativo del problema de las redes de
distribución de agua en las últimas décadas, abordado desde el punto de vista de
su diseño. Se presentaron también dos metodologías de paralelización: la simple
y la funcional. Se compararon las metodologías y se señalaron las dificultades,
ventajas y desventajas de cada esquema. La problemática principal de la
paralelización del algoritmo genético es el envío de las estructuras dinámicas en
el clúster de computadoras. Puede decirse que ambos esquemas de
paralelización, tanto la simple como la funcional, tienen ventajas y desventajas, y
dependiendo de las necesidades que se tengan se puede elegir alguna de ellas.
Las metodologías que aquí se han propuesto pueden ayudar en la conversión de
un algoritmo secuencial a un algoritmo paralelo en un ambiente MPI. En el
presente estudio se logró la conversión de un algoritmo secuencial a su
equivalente en paralelo, el cual puede aplicarse al problema de las redes de
distribución de agua.
Un trabajo que daría continuidad a esta investigación en el futuro sería el de
mostrar los resultados experimentales realizados con ambas metodologías en el
problema de las redes de distribución de agua.
Referencias
1. Blazewicz, J., ‚Handbook on Parallel and Distributed Processing‛, en
International Handbooks on Information Systems, Springer-Verlag, Nueva York,
2000.
2. Gupta, I., J. K., Bassin, A. Gupta y P. Khanna, ‚Optimization of Water
Distribution System‛, Environmental Software, núm. 8, 1993, pp. 101-113.
3. Water Distribution Systems Connectivity Analysis Avi Ostfeld, J. Water
Resour. Plng. and Mgmt. 131, 58 (2005), DOI:10.1061/(ASCE)07339496(2005)131:1(58)
4. Bhave, P. R., Analysis of Flow in Water Distribution Networks, Technomic
Publishing Company, Lancaster, 1991.
19
5. Baños Navarro, R., Metaheurísticas híbridas para optimización monoobjetivo y
multiobjetivo, tesis doctoral, Almería, España, 2006. Disponible en Internet
(www.ace.ual.es/~rbanos/CV.html), página consultada el 12 de mayo de 2009.
6. Cruz-Chávez, M. A. et al., ‚Empirical Transformation of Job Shop Scheduling
Problem to the Hydraulic Networks Problem in a Water Distribution System‛,
ponencia para el Congreso de Electrónica, Robótica y Mecánica Automotriz, 2009
(inédito).
7. Holland, J. H., Adaptation in Natural and Artificial Systems, MIT Press,
Cambridge, Mass., 1975.
8. Goldberg, D. E., Genetic Algorithms in Search, Optimization and Machine Learning.
Addison, Wesley Publishing Co., Reading, Mass., 1989.
9. Alperovits, E. y U. Shamir, ‚Design of Optimal Water Distribution Systems‛,
Resources Research, vol. 13, núm. 6, 1977, pp. 885-900. 10. Quindry, G. E., E. D.
Brill, J. C. Liebman y A. R. Robinson, ‚Comment on ‘Design of Optimal Water
Distribution System’’ by E. Alperovits and U. Shamir‛, Water Resources Research,
vol. 15, núm. 6, 1979, pp. 1651-1654.
11. Goulter, I. C., B. M. Lussier y D. R. Morgan, ‚Implications of Head Loss Path
Choice in the Optimization of Water Distribution Networks‛, Water Resources
Research, vol. 22, núm. 5, 1986, pp. 819-822.
12. Fujiwara, O y D. B. Khang, ‚Correction to ‘A Two-Phase Decomposition
Method for Optimal Design of Looped Water Distribution Networks’ ‛, Water
Resources Research, vol. 27, núm. 5, 1991, pp. 985-986.
13. Kessler, A. y U. Shamir, ‚Analysis of the Linear Programming Gradient
Method for Optimal Design of Water Supply Networks‛, Water Resources
Research, vol. 25, núm. 7, 1989, pp. 1469-1480.
14. Eiger, G., U. Shamir y A. Ben-Tal, ‚Optimal Design of Water Distribution
Networks‛, Water Resources Research, vol. 30, núm. 9, 1994, pp. 2637-2646.
15. Loganathan, G. V., H. D. Sherali y M. P. Shah, ‚A Two-Phase Network Design
Heuristic for Minimum Cost Water Distribution System Under a Reliability
Constraint‛, Eng. Optim., vol. 15, núm. 4, 1990, pp. 311-336.
16. Varma, K. V. K., S. Narasimhan y S. M. Bhallamudi, ‚Optimal Design of
Water Distribution Systems Using NLP Method‛, Journal of Environmental
Engeneering, vol. 123, núm. 4, 1997, pp. 381-388.
17. Savic, D. A. y G. A. Walters, ‚Genetic Algorithms for Least-Cost Design of
Water Distribution Networks‛, Journal of Water Resource Planning Management,
vol. 123, núm. 2, 1997, pp. 67-76.
18. Abebe, A. J. y D. P. Solomatine, ‚Application of Global Optimization to the
Design of Pipe Networks‛, en Proceedings of the International Conference on
Hydroinformatics, A. A. Balkema, Brookfield, Vt., 1998, pp. 989-996.
20
19. Abebe, A. J. y D. P. Solomatine, ‚Two Strategies of Adaptive Cluster Covering
with Descent and Their Comparison to Other Algorithms‛, Journal of Global
Optimization, núm. 14, 1999, pp. 55-79.
20. Montesinos, P., A. García y J. L. Ayuso, ‚Water Distribution Network
Optimisation Using Modified Genetic Algorithm‛, Water Resources Research, vol.
35, núm. 11, 1999, pp. 3467-3473.
21. Cunha, M. C. y J. Sousa, ‚Water Distribution Network Design Optimization:
Simulated Annealing Approach, Journal of Water Resource Planning Management,
vol. 125, núm. 4, 1999, pp. 215-221.
22. Geem, Z. W., J. H. Kim y G. V. Loganathan, ‚A New Heuristic Optimisation
Algorithm: Harmony Search‛, Simulation, vol. 76, núm. 2, 2001, pp. 60-68.
23. Eusuff, M. M. y K. E. Lansey, ‚Optimization of Water Distribution Network
Design Using the Shuffled Frog Leaping Algorithm, Journal of Water Resource
Planning Management, vol. 129, núm. 3, 2003, pp. 210-225.
24. Matías, A., Diseño de redes de distribución de agua contemplando la fiabilidad
mediante algoritmos genéticos, tesis doctoral, Universidad Politécnica de Valencia,
España, 2003.
25. J. Reca, J. Martinez, Genetic algorithms for the design of looped irrigation
water distribution networks, Water Resources Research, Vol. 42, Almeria,
España. 2006.
26. Cantu-Paz, E., ‚A Survey of Parallel Genetic Algorithms‛, reporte técnico
(IlliGAL, núm. 97003), University of Illinois at Urbana, Champaign, 1997.
27. Michel, M. y J. E. Devaney, ‚A Generalized Approach for Transferring DataTypes with Arbitrary Communication Libraries‛, en Proceedings of the VII
International Conference on Parallel and Distributed Systems: Workshops, ICPADSIEEE Computer Society, Washington, DC, del 4 al 7 de
21
22
A Heuristic Approach for Improvement Batch
Plant Design under Imprecise Demand Using
Fuzzy Logics
Y. El-Hamzaoui ,J.A. Hernandez , A.Bassam
Abstract. This paper deals with the problem of the improvement design of
multiproduct batch chemical plants found in chemical engineering with
imprecise demand. The objective of the batch plant design problem is to
minimize the investment cost and find out the number and size of parallel
equipment units in each stage. For this purpose, it is proposed to solve the
problem in two differents ways: The first way is by using Monte Carlo Method
(MC), the second way is by Genetic Algorithm (GA), that takes into account
simultaneously, the imprecise demand using Fuzzy Logics with two criteria
maximization of the Net Present Value (NPV) and Flexibility Index (FI). The
results (number and size of equipment, investment cost, NPV, FI, Hi, CPU time)
obtained by the GA are better than the MC. This methodology can help the
decision makers and constitutes very a promising framework for finding a set of
‚good solutions‛.
Key words: Genetic Algorithm, Monte Carlo, Fuzzy Logics, Batch Plant Design.
1. Introduction 2. Methodology 2.1 Process description 2.2. Fuzzy logics 2.3 Data
Set 2.3 Tools 2.3.1 Monte Carlo Method 2.3.2 Genetic Algorithm 2.4. Assumptions
2.5 Model Formulation 3. Results and discussion 4. Conclusions Nomenclature
References
1. Introduction
In chemical engineering, precisely, in recent years, there has been an increased
interest in the design of batch processes due to the growth of specialty chemical,
food products, pharmaceutical and related industries aroused the current focus
on the batch plant design problem (Cameron, 2008). Also the Process Engineering
framework, batch processes are of growing industrial importance because of their
flexibility and their ability to produce high added-value products in low
volumes.
In economics, demand is the desire to own something and the ability to pay for it
(Henning et al.1988). The term demand is also defined elsewhere as a measure of
23
preferences that is weighted by income, but the market demand for such
products is usually changeable, and at the stage of conceptual design of a batch
plant, it is almost impossible to get the precise information on the future product
demand over the lifetime of the plant. However, decisions must be made about
the plant capacity. This capacity should be able to balance the product demand
satisfaction (Henning et al.1988). In the conventional optimal design of a
multiproduct batch chemical plant (Hasebe et al.1979), a designer specifies the
production requirements for each product and total production time for all
products (Floudas et al.2005). The number required of volume and size of parallel
equipment units in each stage is to be determined in order to minimize the
investment cost.
Basically, batch plants are composed of items operating in a discontinuous way.
Each batch then visits a fixed number of equipment items, as required by a given
synthesis sequence (so-called production recipe) (Ponsich et al.2007).
For instance, the design of a multiproduct batch chemical plant is not only to
minimize the investment cost, but also to minimize the operation cost, to
minimize the total production time to maximize the revenue, and to maximize
the flexibility index, simultaneously (Aguilar Lasserre et al, 2005). On the other
hand, the key point in the improvement designs of batch plants under
imprecision concerns the modeling of demand variations. The market demand
for products resulting from the batch industry is usually changeable, and at the
stage of conceptual design of a batch plant, it is almost impossible to obtain the
precise information on the future product demand over the plant lifetime.
Nevertheless, decisions must be made about on the plant capacity. This capacity
should be able to balance the product demand satisfaction and extra-capacity in
order to reduce the loss on the excessive investment cost or than on market share
due to the varying product demands (Huang et al.2002). The most recent common
approaches treated in the dedicated literature represent the demand uncertainty
with a probabilistic frame by means of Gaussian distributions. Yet, this
assumption does not seem to be always a reliable representation of the reality,
since in practice the parameters are interdependent and do not follow symmetric
distribution rules, which leads to very complex conditional probabilities
computations. An alternative treatment of the imprecision is constituted by using
fuzzy concepts by Zadeh (1975). This approach, based on the arithmetic
operations on fuzzy numbers, differs mainly from the probabilistic models
insofar as distribution laws are not used. It considers the imprecise nature of the
information, thus quantifying the imprecision by means of fuzzy sets that
represent the ‛more or less possible values‛.
In this study, we will only consider multiproduct batch plants, which mean that
all the possible values‛. Products follow the same operating steps (Bautista,
2007), the structure of the variables are the equipment sizes and number of each
24
unit operation that generally takes discrete values. Based on Fuzzy concepts of
the demand, the IBPD (Improvement Batch Plant Design) is solved by two
techniques: Monte Carlo Method (MC) and Genetic Algorithm (GA).
The aim of this work is to treat the improvement of multiproduct batch plant
design under imprecise demand using MC and GA as tools of heuristic methods.
The paper is organized as follows: Section 2 is devoted to the methodology and
an overview of fuzzy set theory involved in the fuzzy framework, section 3
presents results and discussion. Finally the conclusions on this work are drawn.
2. Methodology
02.1 Process description
The case study is a multiproduct batch plant for the production of proteins taken
from the literature by Cao et al. (2002). This example is used as a test bench since
short-cut models describing the unit operations involved in the process. The
batch plant involves eight stages for producing four recombinant proteins; on one
hand, two therapeutic proteins, human insulin (A) and vaccine for hepatitis (B)
and, on the other hand, a food grade protein, chymosin (C), and a detergent
enzyme, cryophilic protease (D). Fig 1 shows the flowsheet of the multiproduct
batch plant considered in this study. All the proteins are produced as cells grow
in the fermenter (Fer).
Fig. 1. Multiproduct batch plant for protein production
Vaccines and protease are considered to be intracellular: the first microfilter (Mf1)
is used to concentrate the cell suspension, which is then sent to the homogenizer
(Hom) for microfilter (Mf2) is used to remove the cell debris from the solution
proteins. The ultrafiltration (Uf1) step is designed to concentrate the solution in
order to minimize the extractor volume. In the liquid–liquid extractor (Ext), salt
concentration (NaCl) is used in solution in order to minimize the extractor
25
volume. In the liquid–liquid extractor (Ext), salt concentration (NaCl) is used to
first drive the product to a poly-ethylene-glycol (PEG) phase and again into an
aqueous saline solution in the back extraction. Ultrafiltration (Uf2) is used again
to concentrate the solution. The last stage is finally chromatography (Chr), during
which selective binding is used to better separate the product of interest from the
other proteins.
Insulin and chymosin are extracellular products. Proteins are separated from the
cells in the first microfilter (Mf1), where cells and some of the supernatant liquid
remain behind. To reduce the amount of valuable products lost in the retentate,
extra water is added to the cell suspension. The homogenizer (Hom) and
microfilter (Mf2) for cell debris removal are not used when the product is
extracellular. Nevertheless, the ultrafilter (Uf1) is necessary to concentrate the
diluted solution prior to extraction. The final step of extraction (Ext),
ultrafiltration (Uf2) and chromatography (Chr) are common to both the
extracellular and intracellular products.
2.2. Fuzzy logics
The emergence of electronic commerce and business-to-business applications has,
in a recent period, considerably changed the dynamics of the supplier–customer
relationship. Indeed, customers can change more rapidly their orders to the
suppliers and many enterprises have to organize their production even if the
demand is not completely known at short term. On the other hand, the increasing
need for integration and optimization in supply chains leads to a greater
sensitivity to perturbations due to this uncertainty. These two elements clearly
show the interest of taking into account as soon as possible the uncertainty on the
demand and to propagate it along the production management mechanisms.
In the context of engineering design, an imprecise variable is a variable that may
potentially assume any value within a possible range because the designer does
not know a priori the final value that will emerge from the design process. The
fuzzy set theory was introduced by Zadeh. (1975), to deal with problems in
which a source of vagueness is involved. It is well recognized that fuzzy set
theory offers a relevant framework to model imprecision.
In this section, only the key concepts from the theory of fuzzy sets that will be
used for batch plant design are presented; more detail can be found in Kaufmann
et al.(1988). Different forms can be used to model the membership functions of
fuzzy numbers. We have chosen to use normalized trapezoidal fuzzy numbers
(TrFNs) for modeling product demand, which can be represented by a
membership function μ(X). The proposed approach involves arithmetic
operations on fuzzy numbers and quantifies the imprecision of the demand by
means of trapezoidal fuzzy sets, as shown in Fig.2.We represent subjective
26
judgments on future demand, given as linguistic values, such as ‚demand is
around a certain value or interval [q2,q3+ ‛ or ‚demand is not lower than a certain
value‛. For the design of the demand, we suppose that the products have a sure
level of acceptance in market, represented by the interval [q 2, q3]: This means that
the demand has, in this interval, a certainty level α=1 that derives in TrFNs. On
the other hand, the intervals [q1,q2] and [q3,q4+ represent the demand ‚more or less
possible values‛. (See Fig. 2).
Fig.2. Demand modeling by fuzzy numbers
Q  (q1 , q2 , q3 , q4 )
A fuzzy demand can be represented by a membership function μQ(x) at μ level
by the following expression:
  0,1,
Q  (q2  q1 )  q1 ,(q4  q3 )  q4 
(1)
The membership function is defined by
x  q1
0,
 xq
1

, q1  x  q2
 q2  q1
(2)

 Q ( x)  1,
q 2  x  q3
q x
 4
, q3  x  q 4
 q 4  q3
0,
x  q4

The arithmetic calculations involve addition, subtraction and symmetric (image),
through the extension principle of Zadeh (1975).
•Addition:A(+)B= (a1,a2,a3,a4)(+)(b1,b2,b3,b4) = (a1+ b1, a2 + b2, a3 + b3, a4+b4)
•Subtraction : A (-) B = (a1,a2,a3,a4) (-) (b1,b2,b3,b4) = (a1 - b4, a2 - b3, a3 - b2, a4 - b1).
Symmetric (image) of a TrFN: -(A) = (-a4, - a2, -a3, a1 )
27
2.3 Data Set
The experimental data of IBPD was initially proposed by Montagna et al. (2000).
In table 1, the plant, divided into sub-processes, consists of six batch stages [B (16)] to manufacture four products A, B, C, D. The table shows the values for
processing times  i , j (h) , size factor for the units, cost data, and the production
requirement for each product quantifying the imprecision of the demand by
using Fuzzy Logic representing the ‚more or less possible values‛.
Table 1. Data used in the problem of batch plant design
The problem involves 16 discrete variables to determine have been spread in the
table 2.
28
Table 2. List of determination variables
Equipement number [n]
Equipement volume[m3]
n1( Fermentación (Fer))
V1( Fermentación (Fer))
n2(Microfilter1 (Mf1))
V2(Microfilter1 (Mf1))
n3(Homogenizer(Hom))
V3(Homogenizer(Hom))
n4(Microfilter2 (Mf2))
V4(Microfilter2 (Mf2))
n5(Ultrafiltration1(Uf1))
V5(Ultrafiltration1(Uf1))
n6(Extractor (Ext))
V6(Extractor (Ext))
n7(Ultrafiltration2(Uf2))
V7(Ultrafiltration2(Uf2))
n8(Chromatographic column(Chr))
V8(Chromatographic column(Chr))
2.3 Tools
In the 1960s and 1970s, witnessed a tremendous development in the size and
complexity of industrial organizations. The administrative decision-making has
become very complex and involves large numbers of workers, materials and
equipment. A decision is a recommendation for the best design or operation in a
given system or process engineering, so as to minimize the costs or maximize the
gains. Using the term "best" implies that there is a choice or set of alternative
strategies of action to make decisions. The term ‚optimal‛ is usually used to
denote the maximum or minimum of the objective function and the overall
process of maximizing or minimizing is called optimization. The optimization
problems are not only in the design of industrial systems and services, but are
also applied in the manufacturing and operation of these systems once they are
designed. Including various methods of optimization, we can mention: Monte
Carlo Method and Genetic Algorithm.
2.3.1 Monte Carlo Method
Enrico Fermi was an early user of what was later called a Monte Carlo Method. A
Monte Carlo Method uses a computer to generate a large number of scenarios
based on probabilities for inputs. For each scenario, a specific value would be
randomly generated for each of the unknown variables (Douglas, 2007). Then
these specific values would go into a formula to compute an output for that
single scenario. This process usually goes on for thousands of scenarios by the
method of inverse transformation and cumulative frequency distributions. The
demand is the random variable of our model. In order to simulate the values of
this variable, we have used a graphical user interface of random number
generation tool. Through calculation we can see the whole values will take the
29
objective function as net present value. Then we made several runs with different
sample sizes to see what happened with the NPV and then calculate the average
results and standard deviation error.
2.3.2 Genetic Algorithm
The term ‚genetic algorithm‛, almost universally abbreviated now a days to GA,
was first used by Holland (1975), whose book Adaptation in Natural and Artificial
Systems was instrumental in creating what is now a flourishing field of research
and application that goes much wider than the original GA. A genetic algorithm
is a search technique used in computing to find exact or approximate solutions to
optimization and search problems. However its implementation in this work
consists of the following steps:
Variable Encoding. Binary system was chosen for encoding as it simplifies the
genetic operators, crossover, and mutation. Encoding system can always be
translated in a binary encoding system. However, the encoding of the solutions
was carried out by dividing the chromosome, i.e. a complete set of coded
variables, into two parts. The first one deals with the items volumes, which are
continuous in the initial formulation. Nevertheless, they were discretized here
with a 50 unit range, while their upper and lower bounds were preserved. The
second part of the chromosome handles the number of equipment items per
stage: the value of these discrete variables is coded directly in the chromosome
(Holland, 1975). Fig. 3 shows an illustration of the encoding method for a small
size example. In this example, we can see that the encoding procedure is adapted
to the variable nature: The item size variables are coded according to a binary,
like a technique, while the item number per stage are copied just as they are
worth in the chromosome (for instance, if nj=2, the corresponding locus will
contain information ‚2‛). The encoding procedure is adapted to the double
nature of the variables: since continuous and integer variables have to coexist in
the same chromosome, this latter is partitioned into two zones. As shown in
Fig.3, the first zone encodes the continuous variables, i.e. the item sizes of each
processing stage, as reduced variables (between 0 and 1, using the lower and
upper bounds) and according to a binary – like technique that is not detailed
here. On the other hand, the integer variables, representing the item number for
each stage, are copied directly in the chromosome without any change: For
instance, the plant illustrated in Fig.3 has 2 items for stage 1, 1 item for stage 2,
and 3 items for stage 3: This corresponds to the integer numbers encoded at the
end of the chromosome: 2, 1, 3.
30
Fig. 3. Illustration of the encoding method for a small size example
Creation of the initial population. The procedure of creating the initial
population corresponds to random sampling of each decision variable within its
specific range of variation. This strategy guarantees a population varied enough
to explore large zones of the search space.
Survival. For a given survival rate, the selection process is achieved via a classical
biased roulette wheel. The selection is performed and each selected individual is
included into the new population.
Crossover Operation. To complete the new population, a classical one-point
crossover is performed on pairs of individuals randomly chosen in the current
population.
Mutation Operation. After selection and crossover, mutation is then applied on
the resulting population, with a fixed mutation rate. The number of individuals
on which the mutation procedure is carried out is equal to the integer part of the
value of the population size multiplied by the mutation rate. These individuals
are chosen randomly among the population and then the procedure is applied.
Elitism. The elitism consists in keeping the best individual from the current
population to the next one.
2.4. Assumptions
The model formulation for IBPD’s problem adopted in this section is proposed by
Karimi et al.(1989). It considers not only treatment in batch stages, which usually
appears in all types of formulation, but also represents semi-continuous units
that are part of the whole process (pumps, heat exchangers, etc). A semicontinuous unit is defined as a continuous unit alternating idle times and normal
activity periods.
Besides, this formulation takes into account mid-term intermediate storage tanks.
They are just used to divide the whole process into sub-processes in order to
31
store an amount of materials corresponding to the difference of each sub-process
productivity.
This representation mode confers on the plant better flexibility for numerical
resolution: It prevents the whole production process from being paralyzed by one
limiting stage. So, a batch plant is finally represented as a series of batch stages
(B), semi-continuous stages (SC) and storage tanks (T).The model is based on the
following assumptions:
(i) Devices used in the same production line can not be used again by the same
product.
(ii) Production is achieved through a series of single product campaigns.
(iii) Units of the same batch or semi-continuous stage have the same type and
size.
(iv) All intermediate tank sizes are finite.
(v) If a storage tank exists between two stages, the operation mode is ‚Finite
Intermediate storage‛. If not, the ‚Zero-Wait‛ policy is adopted.
(vi) There is no limitation for utility.
(vii) The cleaning time of the batch items is included in the processing time.
(viii) The size of the items is continuous bounded variables.
2.5 Model Formulation
The model considers the synthesis of (I) products treated in (J) batch stages and
(K) semi-continuous stages. Each batch stage consists of (mj) out-of-phase parallel
items of the same size (Vj). Each semi-continuous stage consists of (nk) out-ofphase parallel items with the same processing rate (Rk) (i.e. treatment capacity,
measured in volume unit per time unit). The item sizes (continuous variables)
and equipment numbers per stage (discrete variables) are bounded. The (S-1)
storage tanks, with size (Vs*), divide the whole process into (S) sub-processes.
Following the above mentioned notation, IBPD’s problem can be formulated to
minimize the investment cost for all items, maximizing the net present value and
maximizing the flexibility index:
The investment cost (Cost), written as an exponential function of the unit size, is
formulated in terms of the optimization variables, which represent the plant
configuration:
(3)
J

K

S

Min(Cost )   (m j a jV j j )   (nk bk Rk k )   (csVs s )
j 1
k 1
s 1
Where aj and αj, bk and βk, Cs and γs are classical cost coefficients. A complete
nomenclature is available in the Appendix. Eq. (3) shows that there is no fixed
cost coefficient for any item. This may be unrealistic and will not tend towards
minimization of the equipment number per stage. Nevertheless, this information
32
was kept unchanged in order to compare our results with those found in the
literature (Chunfeng et al.1996).
Instead of the investment cost recommended the economic criterion represents
the NPV. This approach allows evaluating the impact of the plant over some
years, taking into account the calculation of the net cash flow in terms of the
present value of the money.
n
Max ( NPV )  Cost  f  
p 1
(V p  D p  A p )(1  a)  A p
(1  i ) n

f
(1  i ) n
(4)
Eq.(4) underlines the fact that the objective function accounts not only for the
investment cost, but also for the incomes from the sells (Vp), the operation costs
(Dp) and depreciation (Ap) computed on n given time periods. Discount rates (r),
taxes (a), and working capital (f) are also involved to update the money value. It
is worth noting that since sales and operation costs depend on the uncertain
demand parameter.
However, the Flexibility Index (FI) is formulated as the ratio between the new
total production and initial demand:
I
Max ( FI ) 
 (Q
i
i 1
 Qi* )
(5)
I
Q
i 1
i
This problem is subjected to three kinds of constraints:
(i) Variable bounding:
j  1,.., j
Vmin  V j  Vmax (6)
k  1,.., k
Rmin  Rk  Rmax (7)
Volume V j of the items of each batch stage j and treatment capacity Rk of each
semi-continuous stage k. However, these variables are not continuous anymore
and were discretized with an interval of 50 units between two possible values.
This working mode was adopted in a view of realism. Indeed, since equipment
manufacturers propose the items following defined size ranges, the design of
operation unit equipments does not require a level of accuracy such as real
number. Note however that the initial bounds on these size variables were kept
unchanged, being for batch and semi-continuous, respectively:
Vmin and Vmax ,
Rmin and Rmax .
Item number m j in batch stage j and item number nk in semi-continuous stage k.
These variables cannot exceed 3 items per stage ( m j  1, n k  3 ).
33
(ii) Time constraint: the total production time for all products must be lower than
a given time horizon H :
I
I
i 1
i 1
H   Hi  
Qi
Pr od i
(8)
Where Qi is the demand for product i.
(iii) Constraint on productivities: the global productivity for product i (of the
whole process) is equal to the lowest local productivity (of each sub-process s).
i  1,..I  Pr od i  Min Pr odlocis 
(9)
sS
These local productivities are calculated from the following equations:
(a) Local productivities for product i in sub-process s:
B
(10)
i  1,.., I , s  1,.., S  Pr odlocis  is
TisL
(b) Limiting cycle time for product i in sub-process s:
i  1,..I , s  1,..S  TisL  Max Tij , it  (11)
Where Js and Ks are, respectively, the sets of batch and semi-continuous stages in
sub-process s.
(c) Cycle time for product I in batch stage j:
  i (t 1)  pij (12)
i  1,.., I , j  1,.., J  T  i ,t
ij
mj
Where k and k+1 represent the semi-continuous stages before and after batch
stage j.
(d) Processing time of product i in batch stage j:
i  1,.., I , j  1,.., J 
s  1,.., S p  p  g B
(13)
(e) Operating time for product i in semi-continuous stage k :
B D (14)
i  1,.., I , k  1,.., Ks, s  1,..,S  ik  is ik
ij
0
ij
ij
dij
is
Rk nk
(f) Batch size of product i in sub-process s :
V 
Bis  Min  j 
 Sij 
i  1,.., I , s  1,..S 
(15)
(g) Finally, the size of intermediate storage tanks is estimated as the greatest size
difference between the batches treated in two successive sub-processes:
 (16)
s  1,.., S  1 V  Max Pr od S * (T  T

s
34
i
is
L
is
L
i ( s 1)
i ( t 1)
3. Results and discussion
The results obtained by Monte Carlo Method, running the model 30 runs of
100000 iterations is given in Table 3, although Fig .5 shows equipment structure
according to this result.
Table 3. Best design of batch plant by MC
Volume [m3]
V1
10000.000
V2
10000.000
V3
10000.000
n1
3
n2
3
n3
3
V4
8692.625
V5
9924.000
V6
10000.000
V7
899.877
V8
6269.000
n6
3
n7
3
n8
2
Equipment number [n]
Max(NPV)
%Std.Dev(NPV)
Max(FI)
%Std.Dev(FI)
Cost
Hi
CPU time
n4
3
1000000[$]
15%
1.00000085
15%
1500000[$]
6000(h)
20000*(s)
n5
3
*CPU time was calculated for MC method on Microsoft Windows XP
Professional Intel(R)D CPU 2.80 GHz., 2.99 GB of RAM.
Fig. 4. Equipment Structure according to the Table 3
However, the Genetic Algorithm parameters are displayed in Table 4.
reference values were taken from (Berard, 2000).
The
35
Table 4. Genetic algorithm parameters
Population size
Generation number
Survival rate
Mutation rate
Elitism
200
1000
0.50
0.40
1
The results inspiring from this technique are treated in Table 5, and in Fig. 6, we
can see the equipments structure according to the results.
Table 5. The Best design of batch plant by GA
Volume [m3]
V1
8043.200
V2
9965.900
V3
9675.300
n1
3
n2
1
n3
1
V4
6554.170
V5
7539.280
V6
9888.000
V7
455.170
V8
4212.000
n6
1
n7
1
n8
1
Equipment number [n]
Max(NPV)
%Std.Dev(NPV)
Max(FI)
%Std.Dev(FI)
Cost
Hi
CPU time
n4
1
1400000[$]
5%
2.08176419
5%
695000[$]
5491.123159(h)
15*(s)
n5
1
*CPU time was calculated for this method on Microsoft Windows XP Professional
Intel(R) D CPU 2.80 GHz., 2.99 GB of RAM.
Fig. 5. Equipment Structure according to Table 5
36
The Monte Carlo Method results where the demand is modeled by a Fuzzy Logic
are shown in Table 3, and Fig.5 shows the structure of equipment including the
number (n) and size (V).
Table 3 shows an acceptable level of NPV showing the feasible process with
respect to the economic aspect due to the rapid depreciation of equipment over
five years of study. Also this configuration offers a set of discrete equipment sizes
and well balanced from the fourth stage. The risk of this configuration is just
ending at 6000h with risk of failing to fulfill the future demand coming from
fluctuation of the market.
The typical results obtained by Genetic Algorithm after thirty runs guarantees
the stochastic nature of the algorithm with demand modeled by a Fuzzy Logic,
maximizing NPV and FI are shown in Table 5, and in Fig.6 had been indicated
the structure of equipment. Also this configuration shows an excellent NPV with
respect to the economical feasibility and indicates great flexibility in the process
to fulfill future demand.
Table 5 shows a better NPV ($1,400,000) from the configuration obtained by GA
optimization with respect to the MC. Also this process shows great flexibility
(FI=2.08), taking into account, that the customers need the product each 6000h,
the configuration created by Table 5 has 5491.12h as a total production time. This
helps fulfill the increase future demand coming from fluctuation of the market.
Also this configuration shows a very small Std. Dev (error): In addition, GA’s
results are faster convergence (CPU=15s), and GA’s yield highly satisfactory
could be touch to the global optimum.
However, the configuration showing by Monte Carlo Method (Table 3 and Fig.5 )
is expensive and the NPV obtained is very small, also The error is also high, and
the time of the process calculation is slow(CPU=20000s~6h).
Finally, the best design of multi-product batch chemical process with the best Net
Present Value (NPV) and best Flexibility Index is shown in Fig.6, and the results
of the optimization variables are presented in Table 6.
Fig.6. Best Design of Multi-product Batch Chemical Process by Genetic
Algorithm
37
Table 6. Results of optimization variables from the best solution by Genetic
Algorithm
Equipment items
Fermenter (Fer)
First Micro Filter
(Mf1)
Homogenizer
(Hom)
Second Micro Filter
(Mf2) Ultra
First
Filter
(Uf1)
Liquid
Extractor
(Ext)
Second
Ultra Filter
(Uf2)
Chromatographic
Column (Chr)
Numbe
r[n]
3
1
1
1
1
1
1
1
Volume
[m3]
8043.20
0
9965.90
0
9675.30
0
6554.17
0
7539.28
0
9888.00
0
455.170
4212.00
0
4. Conclusions
The problem of improvement design of processes with production in multiproduct batch involves the specification of the desired quantity of each product
and the total production time available. Market demand for such products within
the batch production systems is generally variable, and particularly in the design
stage of the process, it is almost impossible to obtain accurate information on
future demand to produce. Therefore, was presented an alternative treatment of
the imprecision of the demand by using a Fuzzy Logic.
Another significant advantage is that a Genetic Algorithm was adapted to solve
Improvement Batch Plant Design problems with high accuracy and faster.
According to the above investigation, we recommend to the decision maker the
configuration mentioned in Figure 5 and Table 6, because it gives us a good NPV,
with a low cost investment for the purchase of equipment, taking a major
advantage to fulfill the possibility if there is an increased demand in the future.
Furthermore, the results provided by the Genetic Algorithm performance are
better with respect to Monte Carlo Method (error=15%), as the Genetic Algorithm
(error=5%) is based on a strong mathematical model algorithm (Meta-heuristics
algorithm) with a well known structured objective function and constraints, and
the computing time is less than that of MC. This demonstrates the effectiveness of
GA in solving the complicated improvement batch plant design problem. In this
framework, the Genetic Algorithm gave us the sample efficiency and justifies its
factibility use for solving non-linear mathematical models with uncertain
parameters. Another advantage of GA is that it is simple in structure and is
38
convenient for implementation, with no more complicated mathematical
calculation than such simple operators as encoding, decoding, testing constraints,
and computing values of objective. Finally, this framework provides an
interesting decision making approach to improve design multi-product batch
plants under conflicting goals.
Nomenclature
a : Tax rate (0).
AP : Depreciation (M$/year).
Bis : Batch size for product i in batch stage s (kg).
dij : Power coefficient for processing time of product i in batch stage j.
Dik :Duty factor for product i in semi-continuous stage k (L/kg).
DP : Operation cost (M$/year).
CP : Unit price of production cost ($/kg).
Co : Unit price of operation cost ($/kg).
CE : Operating cost factors.
f : Working capital (M$).
gij : Coefficient for processing time of product i in batch stage j.
k : Index for semi-continuous stages.
K : Total number of semi-continuous stages.
Ks :Total number of semi-continuous stages in sub-process s.
mj : Number of parallel out-of-phase items in batch stage j.
M :Number of stages.
n : Number of periods.
nk : Number of parallel out-of-phase items in semi-continuous stage k.
pij : Processing time of product i in batch stage j (h).
pij0 : Constant for calculation of processing time of product i in batch stage j( h).
P : Number of products to be produced.
prodi : Global productivity for product i (kg/h).
prodlocis : Local productivity for product i in sub-process s (kg/h).
Qi :Demand for product i.
Rk : Processing rate for semi-continuous satge k (L/h).
Rkmax : Maximum feasible processing rate for semi-continuous stage k (L/h).
Rkmin : Minimum feasible processing rate for semi-continuous stage k (L/h).
S : Total number of sub-processes.
Sij : Size factor of product i in batch stage j (L/kg).
Sis : Size factor of product i in intermediate storage tanks (L/kg).
Tij : Cycling time of product i in batch stage j(h).
TisL : Limiting cycling time of product i in sub-process s(h).
Vj : Size of batch stage j (L).
Vjmax : Maximum feasible size of batch stage j (L).
Vjmin : Minimum feasible size of batch stage j (L).
39
Vp : Revenue (M$/year).
Vs : Size of intermediate storage tank (L).
Greek letters
 j : Cost factor for batch stage j.
 k : Power cost coefficient for semi-continuous stage k.
 s : Power cost coefficient for intermediate storage.
 ik : Operating time of product i in semi-continuous stage k.
References
Aguilar Lasserre, A. A, Azzaro-Pantel C, Pibouleau L, Domenech S. :
Modelisation des imprecisions de la
demande en conception optimale
multicritère d’atelier discontinues.In: Proceedings of the SFGP (Sociètè Francias
de Gènie de procedes), Toulouse, France (2005).
Bautista MA. Modelo y software para la interpretación de cantidades difusas en
un problema de diseño de
procesos .MBA thesis, Instituto Tecnológico de
Orizaba, México, 2007.
Berard, Stratègies de gestion de production dans un atelier flexible de chimie
fine. These de doctorate, INP ENSIGC Toulouse,France(2000).
Cameron, A Survey of industrial process modeling across the product and life
cycle. Computers & Chemical Engineering Volume 32,Issue 3,24 March 2008,
page420-438.
Cao DM, Yuan XG. Optimal design of batch plants with uncertain demands
considering switchover of operating modes of parallel units. Industrial
Engineering and Chemistry Research 2002; 41(18):4616–25.
Chunfeng Wang, Hongying Quan,and Xien Xu ., Optimal Design of
Multiproduct Batch Chemical process Using Genetic Algorithm. Ind. Eng. Chem.
Res. 1996, 35, 3560-3566.
Douglas Hubbard "How to Measure Anything: Finding the Value of Intangibles
in Business" p. 72, John Wiley & Sons, 2007
Floudas C.A., I.G. Akrotirianakis S, Caratzoulas, C.A. Meyer, J. Kallrath Global
Optimization in the 21st century: Advances and challenges. Computers &
Chemical Engineering volume 29, Issue 6, 15 May 2005, pages 1185.
40
Hasebe S.,Takeichiro Takamatsu, Iori Hashimoto
Optimal scheduling and
minimum storage tank capacities in a process system with parallel batch units.
Computers & Chemical Engineering volume 3, Issues 1-4,1979 pages 185-195).
Henning, N, Charles, and piogott William, and Scott, Robert Haney, Financial
Markets and the economy 5th ed, new Jersey, 1988.
Holland, J, Adaptation in Natural and Artificial Systems, 1975. Oxford
University,Press
Huang HJ, Wang WF. Fuzzy decision-making design of chemical plant using
mixed-integer hybrid differential evolution. Computers and Chemical
Engineering 2002; 26(12):1649–60.
Karimi IA Modi AK,. Design of multiproduct batch processes with finite
intermediate storage.Computers and Chemical Engineering 1989;13(1-2):127-39.
Kaufmann, A., Gupta, M. M. Fuzzy mathematical models in engineering and
management s(1988). Science. North Holland.
Montagna, J. M., Vecchietti, A. R., Iribarren, O. A., Pinto, J. M., & Asenjom, J. A.
(2000). Optimal design of protein production plants with time and size factor
process models. Biotechnology Progress, 16, 228–237.
Ponsich A, Azzaro-Pantel C, Domenech S, Pibouleau. Some Guidelines for
Genetic Algorithm Implemenetation in MINLP Batch Plant Design Problems,
Ind. Eng. Chem. Res., 2007, 46 (3).
Zadeh LA. The concept of a linguistic variable and its application to approximate
reasoning.Information Sciences 1975;8(3):199–249.
41
42
Propuesta de una Metodología Generalizada para
el Diseño de Micro Algoritmos Bioinspirados
Juan C. Herrera-Lozada, Hiram Calvo, Hind Taud, Edgar A. Portilla-Flores
Resumen. En este trabajo se sugiere una metodología para diseñar algoritmos
bioinspirados que funcionen con una población de tamaño reducido, para resolver
problemas de optimización. Nuestra idea principal considera tres aspectos
fundamentales para generalizar la propuesta: una convergencia nominal, un
proceso de elitismo y un mecanismo de reinicialización del algoritmo. Para validar
los resultados se diseñó un algoritmo de evolución diferencial con una población
de sólo cinco individuos.
Palabras clave: Algoritmos bioinspirados, evolución diferencial, microalgoritmo,
optimización numérica
1 Introducción 1.1 Fundamentación básica 1.2 Trabajo previo 1.3 Trabajo previo 2
Propuesta generalizada de un microalgoritmo bioinspirado 3 Microalgoritmo de
evolución diferencial 4 Experimentos y resultados 5 Conclusiones y trabajos
futuros. Referencias
43
1 Introducción
Los algoritmos evolutivos y bioinspirados han adquirido gran importancia
dentro del área de la inteligencia artificial, debido a que han demostrado ser
exitosos en la solución de ciertos problemas complejos de aprendizaje de
máquina, clasificación y optimización.1 Este tipo de técnicas son poblacionales, es
decir, utilizan una población de soluciones potenciales, lo que permite una
exploración amplia del espacio de búsqueda. La población se genera de manera
aleatoria y se somete a un proceso iterativo utilizando diferentes estrategias y
operadores de variación para mejorar las soluciones.
La simplicidad de un algoritmo es una de las tendencias actuales en el área de la
computación evolutiva, aunque en la mayoría de los casos se sacrifica el
desempeño en aras de un menor coste computacional. 2,3 Debido a la
manipulación simultánea de un gran conjunto de soluciones, la ejecución de un
algoritmo requiere un espacio suficiente en la memoria de datos, además de un
tiempo de procesamiento generalmente elevado. Para reducir estos factores se
han diseñado algoritmos con poblaciones extremadamente pequeñas, los cuales,
en la mayoría de las aplicaciones abordadas, se desempeñan de manera similar a
los algoritmos de población estándar. No obstante que los microalgoritmos han
demostrado ser competitivos, el tamaño reducido de su población obliga a una
convergencia prematura derivada de una exploración limitada del espacio de
búsqueda, por lo que el número de individuos, así como los mecanismos para
mantener la diversidad son factores definitorios. Para demostrar cómo se utiliza
la metodología generalizada aquí propuesta, de la literatura especializada se
eligió el algoritmo de Evolución Diferencial (ED), el cual es muy representativo
en los algoritmos bioinspirados contemporáneos y conocido por su aplicación
sencilla y su eficiencia.
Fundamentación básica
El problema de la optimización global se establece como:
encontrar
x
tal que optimice
f (x ) ,
en donde
x  n
representa el vector de
soluciones x  x1 , x 2 ,..., x n  y cada xi , i  1,..., n tiene límites inferior y superior
Li  xi  U i .
T
Trabajo previo
Goldberg4 experimentó con un Algoritmo Genético (AG) simple, de
representación binaria, utilizando una población de sólo tres individuos, y afirmó
que éstos eran suficientes para asegurar la convergencia sin que importe el
44
tamaño del cromosoma. En su trabajo, aplicó los operadores genéticos hasta
alcanzar una convergencia nominal conceptualizada como la generación en la
cual los individuos son muy similares o se alcanza cierto número predefinido de
iteraciones, obteniendo un nuevo individuo —el de mejor aptitud—, para
posteriormente generar de manera aleatoria los otros dos individuos que
completarán la nueva población. Krishnakumar5 diseñó un AG con una
población reducida a cinco individuos; a su algoritmo de representación binaria
lo llamó Microalgoritmo Genético (Micro-Genetic Algorithm). Al igual que
Goldberg, Krishnakumar utilizó el elitismo para preservar la mejor cadena
encontrada al término de la convergencia nominal, como uno de los individuos
obligatorios para la siguiente generación. Al comparar el desempeño del microAG contra un AG simple con una población de 50 individuos, se obtuvieron
mejores resultados sobre funciones de un solo objetivo; además, se comprobó que
el AG de población reducida convergía más rápido.
Coello y Toscano6 diseñaron un micro- AG para resolver problemas de
optimización de múltiples objetivos, aportando criterios para el manejo de
restricciones de igualdad y desigualdad, además de proponer un esquema de
dominancia de pareto, con un posicionamiento geográfico para mantener la
diversidad y distribuir uniformemente las soluciones del frente de pareto. Este
algoritmo trabaja con una población de cuatro individuos y utiliza una memoria
secundaria que almacena las soluciones potenciales a lo largo de la búsqueda.
Recientemente, Fuentes y Coello7 diseñaron un microalgoritmo PSO (Particle
Swarm Optimization, Optimización por Cúmulo de Partículas) para resolver
problemas de optimización de un solo objetivo con manejo de restricciones.
Utilizan cinco partículas (individuos) y se apoyan en una convergencia nominal.
Fuentes,8 autor de este mismo algoritmo, hizo una extensión de su primera
propuesta y diseñó un microalgoritmo PSO para resolver problemas de
optimización multiobjetivo.
2 Propuesta generalizada de un microalgoritmo bioinspirado
Si se realiza una revisión de los trabajos anteriores, es posible encontrar
similitudes en el diseño de un algoritmo con un tamaño de población reducido:
1. Población de tres a cinco individuos.
2. Se requiere de una convergencia nominal y de un proceso de
reinicialización.
3. Es necesario considerar el elitismo para preservar, al menos, al mejor
individuo obtenido al término de la convergencia nominal.
45
Otro punto en común de los diseños es que el microalgoritmo que se utiliza para
la optimización monoobjetivo puede adecuarse para manejar restricciones y para
la optimización con objetivos múltiples.9 Con base en lo que hemos expuesto
hasta aquí, presentamos el esquema general de la figura 1 para diseñar —o
adaptar, en su caso— un algoritmo estándar a un modelo de micropoblación. En
ella se aprecia que existen dos ciclos de funcionamiento: uno interno, que se
ejecutará mientras no se haya alcanzado la convergencia nominal, y uno externo,
que se efectuará hasta que se alcance el criterio de paro del algoritmo.
Fig. 1. Esquema general de un microalgoritmo bioinspirado.
46
La metodología generalizada consta de tres partes fundamentales:
1.
Definición del número de individuos de la población. Resulta evidente
que, dependiendo de la complejidad del problema a resolver, los ajustes en
el tamaño de la micropoblación serán necesarios; no obstante, para
cumplir con la metodología que proponemos, el número de cinco
individuos es asequible para resolver las funciones que se probaron
experimentalmente. En la generación inicial, los individuos de la población
se obtienen de manera aleatoria. Éstos se copian a la población de trabajo y
a la población inicial del ciclo interno del microalgoritmo (véase la figura
1). Durante el proceso de evolución, generación tras generación, la
población se mantendrá con un número estático, es decir, el tamaño de la
población no crece ni se disminuye de manera dinámica, aunque se debe
considerar la inclusión de individuos nuevos en cada generación, como se
mencionará posteriormente.
2.
Definición del criterio de la convergencia nominal y aplicación de los
operadores y estrategias del algoritmo bioinspirado en su versión estándar. El
criterio más utilizado para la convergencia nominal es definir un número
de generaciones máximas a realizar; en este rubro, ejecutamos pruebas
funcionales que permitieron precisar que cinco generaciones son
suficientes para los experimentos con el microalgoritmo de Evolución
Diferencial. Cuando se alcanza la convergencia nominal, es necesario
llevar a cabo un proceso de reinicialización para conformar una nueva
población de trabajo. En el ciclo interno, controlado por la convergencia
nominal, se utilizan los operadores y estrategias particulares definidas
para el algoritmo bioinspirado en su versión estándar, siendo posible
aplicarlo sin cambios, o en otro caso, con aquellas modificaciones que
mejoren el desempeño del algoritmo respecto a un problema en particular.
Debido a que la calidad de las soluciones generadas al término de la
convergencia nominal depende de los operadores y de las estrategias
definidas por cada algoritmo estándar, el número de generaciones para
alcanzar la convergencia nominal seguramente será diferente al cambiar
del algoritmo de ED a algún otro algoritmo bioinspirado.
3.
Aplicación del elitismo para garantizar la convergencia. Algunos de
los individuos obtenidos al término de la convergencia nominal —
generalmente los mejores, o al menos, el mejor (elitismo) con base en la
aptitud—deben ser copiados a la población de trabajo, la cual se completa
con individuos generados aleatoriamente —para mantener la diversidad—
, y se incrementa una generación más, en el ciclo externo, hasta que se
alcance la condición de paro del algoritmo. La determinación de cuántos
individuos deben ser copiados a la población de trabajo, como parte del
47
elitismo, depende mucho de la naturaleza de los algoritmos bioinspirados
—respecto a los operadores y las estrategias internas—, además de que
éste garantiza la convergencia del microalgoritmo. En la particularidad de
esta propuesta y del algoritmo elegido para los experimentos, cuando se
alcanza la convergencia nominal en el ciclo interno, se copian los cuatro
mejores individuos —seleccionados mediante un ranking— a la nueva
población del ciclo externo para reinicializar todo el proceso.
3 Microalgoritmo de evolución diferencial
La Evolución Diferencial es un algoritmo evolutivo propuesto por Storn y Price 10
para resolver problemas de optimización, en especial en espacios continuos, y en
el cual las variables se representan mediante números reales. Actualmente se ha
utilizado en problemas de alta complejidad con muy buenos resultados. 11
En la ED se genera de forma aleatoria una población inicial de individuos
(vectores originales), de los cuales se seleccionan tres, también aleatoriamente,
que sean distintos entre sí. A cada uno de estos individuos se le denomina vector
objetivo y se denotan por r1, r2 y r3, en donde r3 es el vector base o principal.
Con ayuda de un operador especial (F) se realiza una combinación lineal con las
diferencias entre r1, r2 y r3, con la intención de generar nuevos vectores ruidosos.
A esta etapa se le conoce como mutación. F es entonces un factor que escala la
diferencia entre vectores. Posteriormente, se generan vectores de prueba a partir
de la recombinación de vectores ruidosos y vectores originales, lo que se logra
por medio de un parámetro denominado tasa de recombinación (CR). Para
finalizar el algoritmo, se procede a seleccionar el vector que se copiará a la
generación siguiente, comparando los vectores de prueba con los originales con
base en su aptitud.
La versión más común de la ED es la denominada DE/rand/1/bin; la cual se
abordó en este trabajo y se lista en la figura 2 (para más detalles, véase Mezura,
Velázquez y Coello).12 La cantidad de generaciones, el tamaño de la población y
los parámetros CR y F son definidos por el usuario.
48
Fig. 2. Evolución Diferencial estándar, versión DE/rand/1/bin
La versión modular de este mismo algoritmo, con población reducida, se observa
en la figura 2. En nuestros experimentos con ED utilizamos una población de
cinco individuos porque se comprobó de manera funcional que con un menor
número de individuos se obtiene una convergencia prematura, y si se utilizan
más de cinco individuos los resultados no mejoran. Se determinó que el criterio
para alcanzar la convergencia nominal fuera al cabo de cinco generaciones,
refiriéndose al ciclo interno del algoritmo. En este rubro, también se realizaron
pruebas con diez generaciones, sin que se observara alguna mejoría en los
resultados.
49
Fig. 3. Diagrama en bloques del micro algoritmo de ED.
En la generación cero, utilizando una población aleatoria de cinco individuos, se
procedió a copiarlos en la población de trabajo y en la población inicial —nótese
que para el ciclo interno, donde se aplica la convergencia nominal, el algoritmo
ED se lleva a cabo sin cambios de operadores y estrategias para evaluar la
metodología de manera básica. Al alcanzarse la convergencia nominal, es
necesario determinar cuántos individuos se copiarán a la población de trabajo y
aplicar el proceso de reinicialización. Después de una serie de experimentos, se
decidió copiar los cuatro mejores individuos y generar el restante de manera
aleatoria. Los experimentos realizados contemplaron respectivamente la copia de
uno, dos, tres y cuatro individuos con la mejor aptitud; sin embargo, con cuatro
individuos se obtuvieron los mejores resultados. En este microalgoritmo la
diversidad se mantiene gracias a las etapas de mutación y recombinación del
50
propio algoritmo base de ED y al individuo aleatorio incorporado a la población
de trabajo.
4 Experimentos y resultados
Para los experimentos se utilizaron las siguientes funciones de alta
dimensionalidad (véase Mezura, Velázquez y Coello); 12 f1 y f2 son funciones
unimodales y separables, f5 es una función multimodal y no separable.
f1 – Esfera de De Jong
30
f ( x )   ( xi ) 2
(1)
i 1
-100 ≤ xi ≥ 100
min (f1 ) = f1 (0, <, 0) = 0
f2 – Función techo
30
f ( x)   ( xi  0.5) 2
(2)
i 1
-100 ≤ xi ≥ 100
min (f2 ) = f2 (0, <, 0) = 0
f5 – Función generalizada de Rosenbrock
29
f ( x)   100( xi 1  xi2 ) 2  ( xi  1) 2
(3)
i 1
-30 ≤ xi ≥ 30
min (f3 ) = f3 (1, <, 1) = 0
Las tres funciones fueron probadas en el microalgoritmo ED, con 20 ejecuciones
para cada una, de donde se obtuvieron los resultados que a continuación se
discutirán. Se definieron los parámetros indicados en el cuadro 1, sugeridos en
Mezura, Velázquez y Coello):12
Cuadro 1. Parámetros utilizados para el microalgoritmo de ED
Función
CR
F
f1
f2
f5
0.9
0.0
0.0
 0.3,0.9
 0.3,0.9
 0.3,0.9
51
En el cuadro 2 se indican las generaciones utilizadas para cada función, así como
los resultados experimentales alrededor del valor óptimo.
Cuadro 2. Veinte ejecuciones del microalgoritmo de ED
Función
Ciclo
externo
Ciclo
interno
Mejo
r
Peor
Media
f1
300
5
0.0
0.006
4
0.00010
f2
200
5
0.0
1.0
0.20
f5
300
5
0.0
0.001
0
0.00012
En la figura 4 se aprecia el comportamiento del algoritmo de ED estándar, en su
versión DE/rand/1/bin, respecto a la aptitud, para f2. Se utilizó una población de
60 individuos, 1000 generaciones y los mismos valores de CR y F listados en el
cuadro 1.
Fig. 4. Aptitud para f2 con ED estándar.
Utilizando una población de 5 individuos y los parámetros indicados en la Tabla
2, se obtuvo la gráfica exhibida en la Figura 5, para f2 probada en el micro
algoritmo de ED.
52
Fig. 5. Aptitud para f2 con microalgoritmo de ED.
Para las funciones experimentales, el desempeño del algoritmo de población
reducida es tan eficiente como el del algoritmo en su versión estándar. La
cantidad de evaluaciones aplicadas a la función objetivo es similar, considerando
el ciclo interno del microalgoritmo.
5 Conclusiones y trabajos futuros
En este artículo se presentó una metodología generalizada que permite diseñar —
o en su caso, adaptar— un algoritmo bioinspirado para que funcione con una
población de tamaño reducido. Los elementos principales en esta metodología
consisten en incorporar una convergencia nominal que se alcance después de un
número fijo de iteraciones, un elitismo que preserve al mejor o mejores
individuos encontrados al término de la convergencia nominal y un criterio para
incorporarlos como parte de una nueva población al momento de reinicializar el
algoritmo. Mantener la diversidad es uno de los mayores retos en los
microalgoritmos, por lo que en este trabajo se aportaron algunos criterios para
cumplir con este requisito.
El microalgoritmo de ED —en su versión DE/rand/1/bin)— generó buenos
resultados con base en la metodología aplicada. En los resultados experimentales
se obtuvo el óptimo para las tres funciones de prueba de alta dimensionalidad, lo
que resulta alentador para continuar con la investigación. Es posible afirmar que
el desempeño del microalgoritmo de ED es tan bueno como el de su contraparte
estándar, aunque con menores requerimientos de espacio en la memoria de
datos, lo que permite enfocar el diseño hacia aplicaciones con un bajo costo
computacional o en circuitos embebidos —por ejemplo, en dispositivos de lógica
programable y en microcontroladores convencionales—, refiriéndose al
denominado hardware evolutivo. El manejo de espacios restringidos y la
optimización con múltiples objetivos se pueden incorporar al esquema básico
53
planteado. Seguramente éste será un trabajo futuro, al igual que la exploración de
la adaptación de otros algoritmos bioinspirados comunes en la resolución de
problemas de optimización.
Referencias
1. Ashlock, D., Evolutionary Computation for Modeling and Optimization,
Springer-Verlag, Nueva York, 2005.
2.
Munetomo, M. y Y. Satake, ‚Enhancing Model-Building Efficiency in
Extended Compact Genetic Algorithms. Systems, Man and Cybernetics, 2006‛,
ICSMC ’06, IEEE International Conference, vol. 3, 8-11 de octubre de 2006, pp.
2362-2367.
3.
Torresen, J., ‚Possibilities and Limitations of Applying Evolvable
Hardware to Real-World Application‛, en R. W. Hartenstein et al. (eds.),
Lecture Notes in Computer, vol. 1896 (Field-Programmable Logic and
Applications: 10th International Conference on Field Programmable Logic and
Applications, FPL-2000), Springer-Science, Heidelberg, 2000, pp. 230-239.
4.
Goldberg, D. E., Genetic Algorithms in Search, Optimization and Machine
Learning, Addison Wesley, Reading, MA, 1989.
5.
Krishnakumar, K., ‚Micro-Genetic Algorithms for Stationary and NonStationary Function Optimization‛, en SPIE Proceedings: Intelligent Control and
Adaptive systems, 1989, pp. 289-296.
6.
G. Toscano, Carlos y A. Coello, ‚A Micro-Genetic Algorithm for
Multiobjective Optimization‛, en Lecture Notes in Computer Science, vol. 1993
(First International Conference on Evolutionary Multi-criterion Optimization),
Springer-Verlag, Neva York, 2001, pp. 126-140.
7.
Fuentes, J. C. y C. A. Coello, ‚Handling Constraints in Particle Swarm
Optimization Using a Small Population Size‛, en Lecture Notes in Computer
Science (MICAI 2007: Advances in Artificial Intelligence), vol. 4827, SpringerVerlag, Nueva York, 2007.
8.
Fuentes, J. C., Un nuevo algoritmo de optimización basado en optimización
mediante cúmulos de partículas utilizando tamaños de población pequeños, tesis de
maestría, CINVESTAV-IPN, México, 2008.
9.
Bäck, T., D. B. Fogel y Z. Michalewicz (eds.), Handbook of Evolutionary
Computation, Institute of Physics Publishing and Oxford University Press,
Nueva York, 1997.
10. Storn, R. y K. Price, ‚Differential Evolution: A Simple and Efficient
Adaptive Scheme for Global Optimization over Continuous Spaces‛, reporte
técnico (TR-95-012), ICSI, marzo de 1995. En Internet (ftp.icsi.berkeley.edu),
página consultada el 20 de junio de 2009.
54
11. Mezura, E., E. A. Portilla, C. A. Coello, J. [lvarez, C y A. Cruz Villar, ‚An
Evolutionary Approach to Solve a Novel Mechatronic Multiobjective
Optimization Problem‛, Advances in Metaheuristics for Hard Optimization, 2008,
pp. 329-351.
12. Mezura, E., J. Vel{zquez y C. A. Coello, ‚A Comparative Study of
Differential Evolution Variants for Global Optimization‛, GECCO, ACM, 2006,
pp. 485-492.
55
56
Estudio de Tres Algoritmos Heurísticos para
Resolver un Problema de Distribución con
Ventanas de Tiempo: Sistema por Colonia de
Hormigas, Búsqueda Tabú y Heurístico
Constructivo de una Ruta
Manuel González de la Rosa, Norma Martínez Urbano, Venancio García González,
Roberto Alejo Eleuterio
Resumen. En este trabajo se presenta la aplicación y comparación, respecto al
número mínimo de rutas construidas, de tres algoritmos heurísticos: sistema por
colonia de hormigas, búsqueda tabú y heurístico constructivo de una ruta, para
un problema de logística de distribución con ventanas de tiempo que debe
resolver diariamente una empresa embotelladora. La empresa debe enviar el
producto terminado, en cargas completas de camión, a sus almacenes de
distribución que tienen ventanas de tiempo para la recepción de la carga. Cada
almacén tiene asociada una demanda que puede expresarse en número de cargas
y debe ser satisfecha diariamente en su totalidad. La solución al problema es un
conjunto de rutas que satisfacen la demanda. Los experimentos realizados con
problemas de prueba en una computadora portátil muestran que el algoritmo del
sistema por colonia de hormigas proporciona mejores soluciones que los otros
dos algoritmos heurísticos.
Palabras clave: heurísticos, búsqueda tabú, sistema por colonia de hormigas,
logística de distribución, optimización combinatoria, NP-Completo.
1 Introducción 2 El algoritmo heurístico constructivo de una ruta 3 El
algoritmo de búsqueda tabú 4 El algoritmo de sistema por colonia de hormigas
5 Experiencia computacional Conclusiones. Referencias
1 Introducción
En los últimos años, ha cobrado relevancia el incremento de la competitividad de
las empresas, y en particular, de sus actividades logísticas de distribución. Para
que una empresa sea competitiva, debe enfocar correctamente su estrategia
logística de distribución para abastecer el producto adecuado, en el momento
adecuado, al precio adecuado, en las mejores condiciones y cantidades que el
cliente solicite. Esta importancia logística ha motivado a investigadores y
compañías privadas a aplicar técnicas de optimización para desarrollar políticas
57
que buscan incrementar la eficiencia en la planeación de la distribución y obtener
ventajas competitivas. Una de las estrategias utilizadas con mayor frecuencia es
el uso de algoritmos heurísticos para la solución de problemas de optimización
combinatoria en el transporte de productos terminados.
El problema en estudio se origina en una empresa embotelladora de la ciudad de
Toluca. La empresa debe entregar diariamente su producto terminado a 12
almacenes regionales. La demanda de cada almacén se conoce con anticipación,
ya que la empresa maneja una política de preventa. La demanda se satisface
mediante camiones que son cargados en su totalidad, por lo que no es necesario
decidir sobre la mezcla de productos ni la consolidación de la carga. El producto
a distribuir se empaca en palets, en los almacenes regionales el producto se separa
y se distribuye a las tiendas minoristas donde acude el consumidor final, lo que
implica decidir políticas de ruteo de vehículos que no forman parte del problema
de investigación. Ya que se trata de un problema de distribución de bebidas
embotelladas, la demanda cambia día con día y semana tras semana, de acuerdo
con la estación del año. Cada almacén tiene ventanas de tiempo para la recepción
del producto, fuera de estas ventanas no es posible atender la entrega. Las
ventanas de tiempo, los tiempos de recorrido desde la planta hasta cada almacén,
así como los tiempos de descarga son conocidos y constantes, ya que no cambian
de un día para otro. Se requieren 20 minutos para cargar un camión en la planta y
sólo puede cargarse uno a la vez; esta condición requiere de una estrategia
adecuada de secuenciación. No se realiza ruteo porque un camión se carga con
palets en la planta embotelladora, viaja al almacén, se descarga y regresa a la
planta para otra posible entrega. De acuerdo con lo anterior, debe construirse un
plan de distribución que considere dos tipos de decisiones:
a) Decidir el conjunto de almacenes que debe atender cada ruta construida.
b) Decidir el orden en que deben cargarse los camiones en la planta.
Al considerar los dos tipos de decisiones, debe analizarse la restricción de
ventanas de tiempo. El problema tiene similitudes con diversos problemas de
transporte, tales como el SDVSP (Single Depot Vehicle Scheduling Problem), el
SPPTW (Shortest Path Problem with Time Windows), el TSPTW (Traveling Salesman
Problem with Time Windows). Para resolver el SDVSP, se han propuesto diversas
estrategias, una de las más exitosas ha sido la propuesta por Desrosiers, Dumas,
Solomon y Soumis,4 la cual utiliza un modelo basado en flujo en redes. Esta
estrategia puede aplicarse a este problema de investigación porque modifica los
arcos entre un almacén y otro e incluye el regreso a la planta. El SPPTW ha
demostrado ser de complejidad computacional NP-Difícil2 y aparece como un
subproblema al construir un conjunto de nodos de decisión en el tiempo y formar
arcos de espera y arcos de entrega. Los arcos de espera tendrán un costo mayor
58
que los arcos de entrega porque se desea minimizar el tiempo ocioso en cada
ruta. El TSPTW se caracteriza por ser una extensión de uno de los problemas
combinatorios más estudiados, el TSP (Traveling Salesman Problem), porque
incluye ventanas de tiempo. Al estudiarlo, se aprecia la creciente complejidad
computacional que depende de la amplitud de las ventanas de tiempo. Las
técnicas de reducción de ventanas de tiempo y eliminación de arcos 3 que han sido
propuestas pueden aplicarse al problema de estudio.
El problema de investigación posee características de secuenciación, manejo de
ventanas de tiempo y optimización de recursos limitados y es de complejidad
computacional NP-Completo.9 En investigaciones previas se han diseñado
estrategias heurísticas para su solución, entre éstas es posible mencionar el
algoritmo heurístico constructivo de una ruta (HC1-R),9 el de recocido simulado
(Simulated Annealing),7 el de la búsqueda tabú (BT o Tabu Search)8 y el sistema por
colonia de hormigas (SPCH o Ant Colony System).10
La estrategia de solución descrita por González de la Rosa y Gaytán Iniestra 9
consiste en modelar el problema utilizando intervalos de tiempo de 20 minutos,
los cuales corresponden al periodo de carga en la planta. Estos intervalos de
tiempo están definidos por un instante de decisión inicial y un instante final. Para
un horizonte de planeación de 24 horas se tiene un total de 72 instantes o nodos
de decisión. De acuerdo con los tiempos de viaje de ida, el tiempo de descarga, el
tiempo de regreso a la planta y las ventanas de tiempo en cada almacén, se
calculan el nodo inicial y el nodo de regreso para cada posible entrega. De esta
forma, se construyen para cada almacén y para cada nodo de decisión los arcos
de entrega que representan todas las alternativas factibles para las ventanas de
tiempo. Los arcos de entrega tienen duraciones diferentes que dependen de los
tiempos de viaje hacia cada almacén.
Los arcos de espera tienen una duración fija de 20 minutos. Cuando se
consideran los arcos de entrega para todos los almacenes, los arcos de espera y
los nodos de decisión, es posible representar el proceso de decisión con el fin de
construir una ruta mediante una red, la cual se muestra en la figura 1. Nótese que
se tienen el costo CB y los periodos de carga de 20 minutos PB asociados a cada
arco.
59
Fig. 1. Grafo que modela la red de decisión para construir una ruta.
Una solución al problema de distribución está formada por un conjunto de rutas
que satisfacen todas y cada una de las demandas asociadas a cada almacén. Una
ruta es una secuencia de entregas realizadas por un camión en un intervalo de 24
horas; se describe por medio de un subconjunto de arcos de entrega y arcos de
espera. Al aplicar la estrategia anterior, todos los arcos de entrega son factibles
respecto a las restricciones de ventanas de tiempo y la duración del plan de
distribución de 24 horas y quedan pendientes por satisfacer las restricciones de
demanda para cada almacén, de secuenciación de carga en la planta y
secuenciación dentro de cada ruta. La función objetivo del problema es satisfacer
la demanda con el número mínimo de rutas.
Todos los posibles arcos de entrega, para cada almacén y para cada nodo de
decisión, forman una lista que se muestra parcialmente en el cuadro 1. La lista se
utiliza como base para formar el espacio de búsqueda y construir las rutas. Cada
nodo de decisión está codificado en minutos, por lo que el nodo 0 corresponde a
las 24:00 horas. En González de la Rosa y Gaytán Iniestra, 9 se resuelve el
problema utilizando un modelo de flujo en redes con variables binarias,
aplicando un algoritmo basado en ramificar y acotar, usando CPLEX 8.0 en una
computadora PC con procesador Pentium 4 y 512 Mb en la memoria RAM. Ya
que el problema es NP-Completo, declarar la solución óptima para las instancias
difíciles puede consumir varias horas e incluso días de tiempo de cómputo, y por
tratarse de una planeación que debe realizarse diariamente, hace poco práctica la
aplicación de un algoritmo exacto para declarar una solución óptima.
60
Cuadro 1. Lista parcial de los arcos de entrega para cada nodo de envío
Nodo de envío
-140
-120
-120
-100
-100
-100
-80
-80
-80
-80
-80
-80
-60
-60
-60
…
Nodo de regreso
200
240
220
260
240
160
160
280
140
260
140
180
180
300
160
Almacén
9
7
9
7
9
11
6
7
8
9
10
11
6
7
8
La experiencia computacional con problemas de prueba construidos —es decir,
cuando se reproduce la demanda de forma aleatoria— muestra que el algoritmo
basado en el sistema por colonia de hormigas proporciona mejores soluciones
porque reporta un menor número de rutas.
2 El algoritmo heurístico constructivo de una ruta
El algoritmo heurístico constructivo de una ruta (HC1-R)9 construye de forma
consecutiva, a partir de la lista de arcos de entrega, un conjunto de rutas que
satisfacen la demanda de cada almacén, considerando una ruta para cada camión
k. Para obtener el mínimo de rutas en una solución, cada una debe llenarse con el
mayor número de arcos de entrega o con el mínimo de arcos de espera. El
algoritmo HC1-R aplica una estrategia de descomposición, ya que cada ruta es
vista como un problema combinatorio del tipo mochila, con una capacidad P de
72 periodos. Para construir una ruta, el algoritmo HC1-R incluye sólo un arco de
entrega a la vez, hasta completar la capacidad de la ruta P. Los arcos de la ruta
deben ser factibles respecto al orden de carga en la planta y a la secuencia de
entregas de la misma ruta. Al incluir un arco de entrega en una ruta, debe
resolverse una serie de subproblemas cuyas alternativas se calculan para cada
estado de decisión y forman el subconjunto M de arcos de entrega. Si la demanda
de cada almacén no ha sido satisfecha, el algoritmo abre otra ruta y repite el
proceso hasta completar el total de entregas D a todos los almacenes. La función
objetivo utilizada tiene la forma siguiente:
61
Min
F Y
k k
(1)
kK
Donde K es el conjunto de rutas construidas y que forma una solución, Fk es el
costo fijo de utilizar una ruta y Yk es una variable binaria que indica la utilización
de la ruta k. El algoritmo HC1-R realiza el siguiente proceso:
Inicio
Comienza con una demanda satisfecha igual
a 0; no se ha construido ninguna ruta.
Paso 1
Se incluye un arco de entrega. El
subproblema consiste en elegir el arco de
entrega que debe incluirse en la ruta para el
almacén l con demanda remanente drl > 0. Se
calcula el conjunto de alternativas M y los
costos para cada arco de entrega.
Paso 2
Se evalúa cada alternativa considerando el
orden en el cual los arcos de entrega se
incluyen en la ruta, por la condición de
secuenciación en la planta embotelladora y
dentro de la ruta. Para evaluar cada
alternativa, se consideran los subconjuntos
de arcos de entrega ya incluidos en la ruta.
Por ejemplo, si una ruta k ya incluye envíos
a los siguientes almacenes {a, b, c}, y se desea
incluir el arco {f}, los subconjuntos
considerados son {(f,a,b,d), (a,f,b,c), (a,b,f,c),
(a,b,c,f)}. Obsérvese que los subconjuntos
crecen rápidamente conforme hay más
entregas en la ruta.
Paso 3
Se elige la mejor alternativa considerando el
costo mínimo y se actualizan la demanda
satisfecha, la demanda remanente y los arcos
de entrega en la ruta k. Si no es posible
incluir más arcos en la ruta debido a espacio
insuficiente o a la secuenciación dentro de la
ruta, ésta se cierra, se abre una nueva ruta
vacía y se continúa con el paso 1. Si la ruta
no se ha cerrado, se regresa al paso 1.
Si la demanda total D de todos los
almacenes ha sido satisfecha, el algoritmo
termina y se reportan todas las rutas
construidas.
62
3 El algoritmo de búsqueda tabú
El algoritmo búsqueda tabú (BT)11 es metaheurístico y está basado en la búsqueda
local; utiliza una estructura de memoria llamada ‚lista tabú‛, la cual permite salir
de óptimos locales para alcanzar un óptimo global. Este algoritmo ha sido
atribuido a Fred Glover, quien, en 1986, dijo: 1
Es mejor una mala decisión basada en información, que una buena
decisión al azar, ya que, en un sistema que emplea memoria, una mala
elección basada en una estrategia proporcionará claves útiles para
continuar la búsqueda. Una buena elección fruto del azar no
proporcionará ninguna información para posteriores acciones.
Un movimiento es una perturbación que se aplica a la solución actual para
encontrar una nueva solución que comparte algunas de sus propiedades. Al
aplicar una serie de movimientos a la solución actual, se construye un conjunto
de soluciones vecinas sobre las cuales se realiza la búsqueda local. El algoritmo
BT se basa en la prohibición de movimientos que empeoran la solución actual. 1 A
partir de los arcos de entrega y los arcos de espera, el algoritmo de búsqueda
tabú sigue los siguientes pasos:
Inicio
Se construye una solución inicial
llamada S0.
Paso 1
Se genera un conjunto de
soluciones
vecinas
N(S0)
mediante la función generadora
de vecinos; estas soluciones
comparten
propiedades
similares.
Paso 2
Se evalúa la función objetivo (1)
para el conjunto de soluciones
vecinas, N(S0).
Paso 3
Se actualiza la mejor solución
encontrada.
Paso 4
Se actualiza la lista tabú,
formada
por
movimientos
63
‚prohibidos‛, ya sea porque
produce soluciones no factibles
o soluciones peores respecto al
valor de la función objetivo.
Paso 5
Se aplica el criterio de
terminación, y en su caso, se
continúa con el paso 1.
Para llevar a cabo el algoritmo de búsqueda tabú, se establecen las siguientes
estrategias:8 para obtener una solución inicial S0, se elige el nodo de decisión
mínimo k disponible en la planta, el cual sirve para construir la primera ruta;
considerando el nodo de regreso de cada arco de entrega, se elije un nuevo arco
de entrega hasta agotar el horizonte de planeación, lo cual produce una nueva
ruta. Si las demandas de los almacenes aún no están satisfechas, se toma el
siguiente nodo de decisión mínimo no utilizado en la posición k + 1 para crear la
siguiente ruta, y esto se repite hasta satisfacer el total de demandas de los
almacenes.
El segundo paso es la creación del conjunto de soluciones vecinas N(S0). La
función generadora de vecinos aplica un movimiento llamado ‚intercambio de
un arco de la solución por un arco libre‛ (IASPAL), que consiste en intercambiar
aleatoriamente un arco de la solución en alguna ruta por otro que no haya sido
utilizado y que no se encuentre en la lista tabú (LT). Este arco se incorpora a una
ruta, siempre y cuando cumpla con las condiciones de secuencia de carga en
planta y secuencia dentro de la ruta, que no haya sido elegido con anterioridad y
que al almacén al que va dirigido sea el mismo. Para el manejo de la LT, se
guardan los últimos t movimientos realizados, lo cual dirige la búsqueda global.
Los valores de t son diferentes en cada instancia y oscilan de 3 a 18.
El criterio de intensificación consiste en combinar las mejores rutas dentro de una
solución; en especial, en aquellas que tienen sólo uno o dos arcos de entrega.
Después de un número determinado de iteraciones, se reporta la mejor solución
encontrada hasta el momento. La ejecución del algoritmo BT se realizó con 1 000
iteraciones.
4 El algoritmo de sistema por colonia de hormigas
Las investigaciones recientes sobre algoritmos han tomado como inspiración el
comportamiento de insectos que viven en colonias, tales como termitas,
hormigas, abejas, etcétera, para resolver problemas combinatorios diversos. Este
conocimiento ha sido aplicado en el desarrollo de algoritmos heurísticos nuevos,
como los de optimización, basados en colonias de hormigas (ACO, Ant Colony
64
Optimization).5 Un requisito para la aplicación de estos algoritmos es que el
problema pueda representarse por medio de un grafo formado por nodos y arcos.
Cada nodo representa un estado de decisión y los arcos representan alternativas
de solución que tienen asociados dos tipos de información, cuya finalidad es
ij
es la información heurística que incluye la preferencia de moverse de un nodo i a
un nodo j
ij representa el
rastro de feromona que depositan las hormigas en el ambiente, modela lo
deseable de una alternativa y guía el comportamiento de búsqueda de la hormiga
artificial. El rastro de feromona es un valor numérico que cambia durante la
ejecución del algoritmo y depende de la calidad de las soluciones encontradas. En
esta investigación se presenta una variante del algoritmo ACO llamada ‚sistema
por colonia de hormigas‛ (SPCH), variante que actualiza la feromona de dos
formas: una vez que las m hormigas artificiales han terminado su recorrido por el
grafo, la cantidad de feromona se actualiza y, posteriormente, se hace una
actualización global de la feromona. El valor de m varía de acuerdo con la
instancia utilizada, con el fin de encontrar buenas soluciones de forma rápida;
este valor oscila entre 30 y 90 hormigas. Los valores cercanos a 30 se utilizan para
instancias con demandas menores y los valores cercanos a 90 para instancias con
demandas mayores.
Del modelo propuesto por González de la Rosa y Gaytán Iniestra, 9 se utilizan los
nodos de decisión, los arcos de entrega y los arcos de espera por cada hormiga
artificial (véase la figura 1). A cada arco se le asocia un valor inicial que
ij sobre el arco (i, j). Cada hormiga
construye una ruta, y mientras construye su recorrido, la hormiga modifica los
rastros de feromona sobre los arcos de entrega elegidos, lo que constituye una
actualización local de feromona. La hormiga artificial k, situada en el nodo r,
escoge el siguiente nodo s que no pertenece a su memoria de arcos ya utilizados
Mk aplicando la política de decisión mostrada en la ecuación 2, 6 donde τij es la
cantidad de feromona sobre el arco (i, j); y ηij = 1/dij; dij son los periodos de espera
en la ruta. Ya que las mejores rutas son las que incluyen una mayor cantidad de
arcos de entrega, la función objetivo (1) se modifica en este algoritmo para
minimizar los arcos de espera incluidos en una ruta. α y β son par{metros
mayores a 1, q es un valor aleatorio [0, 1], Jk es el conjunto de nodos a ser
visitados por la hormiga k y S es una variable aleatoria seleccionada de acuerdo
con la ecuación 2.

 [ ][ ]
arg max 
 ij ij

i  J
s
k


S en otro caso


 si q  q

o

explotaci—n
si q  q o
exploraci—n
(2)
65
Cuando q < q0, la hormiga artificial sigue los rastros de feromona depositados por
las hormigas anteriores, y cuando q ≥ q0, se permite la evaluación de opciones
nuevas utilizando el valor de Pij en (3). Una vez que se elige la mejor alternativa,
la hormiga viaja a través de este arco y llega a un nuevo nodo de decisión en el
cual el proceso se repite hasta que el horizonte de planeación de 24 horas se
agota.
  ij . ij
si (i, j)  M k

 

Pij    il . il
 l

en otro caso
0

(3)
De esta forma, cada hormiga construye el recorrido que realiza un camión
ij, está dada por los
arcos de espera en la ruta durante el horizonte de planeación. Si el valor de
feromona del arco correspondiente es alto, Pij tendrá más posibilidades de ser
elegido. En el proceso de construcción, las hormigas artificiales usan los rastros
de feromona dejados por otras hormigas. El rastro artificial de feromona tiene un
o = 0.0001 y es un valor numérico entre 0 y 1.
La actualización de feromona se realiza de dos formas: primero, se hace una
actualización local una vez que la hormiga k termina de hacer su recorrido por la
red de decisión y se actualizan solamente los arcos utilizados por esta hormiga; la
ij se lleva a cabo mediante la ecuación (4), ρ es un
parámetro con valores entre [0, 1].
 ij  (1   )  ij    o
(4)
Donde τ0 = 1/ nLnn, n es el número de nodos y Lnn representa el costo de la ruta.
La segunda actualización de feromona es global y para ello se usa la ecuación (5).
Esta actualización se realiza una vez que se ha obtenido una solución y considera
a la hormiga artificial que incluyó la menor cantidad de arcos de espera durante
el horizonte de planeación. Sólo se actualizan los valores de feromona de los
arcos que fueron utilizados por esta hormiga.
 ij  (1   ) ij     ij
66
(5)
La notación es como sigue: Δτij = 1/Lgb, Lgb es el costo de la mejor solución
encontrada y δ es el par{metro de evaporación 0< δ < 1. El algoritmo se puede
dividir en tres procedimientos principales, la construcción de la solución, la
actualización de feromona y la evaluación de la solución. Para construir una
solución se crean las hormigas artificiales, cada una puede visitar los nodos de la
red de decisión eligiendo el siguiente nodo a visitar según la ecuación (2). El
procedimiento de actualización de feromona se realiza en los arcos donde se
incrementa el depósito de feromona o se reduce por la evaporación, lo que evita
estancarse en un óptimo local. La evaluación de la solución verifica si la solución
encontrada es válida y si es mejor que la que se haya encontrado anteriormente.
En estos dos últimos procedimientos se busca cumplir con las restricciones del
problema.
5 Experiencia computacional
Para evaluar el desempeño de los algoritmos que se han propuesto, se utilizó un
total de 38 instancias de prueba que fueron construidas por González de la Rosa
y Gaytán Iniestra,9 al variar aleatoriamente la demanda D de cada centro de
distribución y dejando fijos los demás datos, tales como las ventanas de tiempo,
los tiempos de viaje, los tiempos de carga y los tiempos de descarga.
Las rutas construidas para cada instancia de prueba y por cada algoritmo se
muestran en el cuadro 2. Puesto que el problema de investigación es de
complejidad computacional NP-Completo,9 conforme crece la demanda a
satisfacer, crece también la naturaleza combinatoria del problema, haciendo más
difícil encontrar soluciones cercanas al óptimo. Al comparar el algoritmo HC1-R
con el algoritmo de búsqueda tabú, tenemos que en 15 instancias de prueba el
algoritmo de búsqueda tabú construye una ruta más; igualando al algoritmo
HC1-R en 16 instancias de prueba y mejorando los resultados del HC1-R con dos
rutas menos en sólo una instancia. Respecto a los algoritmos HC1-R y el de
sistema por colonia de hormigas, en 14 instancias de prueba este último aventaja
al HC1-R porque construye una ruta menos y ambos tienen un desempeño
similar en 22 instancias de prueba. En general, cuando se consideran las 38
instancias de prueba, el algoritmo de sistema por colonia de hormigas construye
un total de 327 rutas, HC1-R construye un total de 345 rutas y el de búsqueda
tabú 368. Los algoritmos fueron programados en lenguaje de programación C++
en una computadora portátil con procesador AMD Sempron a 1.4 Ghz, 1Gb
RAM. La ejecución de cada algoritmo se realizó bajo el sistema operativo
Windows XP sin otras aplicaciones abiertas. Los tiempos reales de ejecución
oscilan entre 2 y 4 minutos para cada instancia. Una comparación gráfica de los
algoritmos respecto al número de rutas construidas se muestra en la figura 2, en
67
la cual se aprecia un comportamiento similar de los tres algoritmos para
demandas menores a 38.
Cuadro 2. Rutas construidas por cada algoritmo
Número de rutas
Número de rutas
Deman
-da
HC1
R
BT
SPC
H
Deman
-da
HC1
R
BT
SPC
H
20
5
5
4
41
9
10
8
20
5
5
4
41
8
9
8
23
5
5
5
42
11
11
10
24
5
5
5
44
11
12
10
26
6
6
6
44
10
11
10
29
6
7
6
44
9
10
9
32
7
7
7
44
10
11
9
32
8
8
7
44
9
10
9
33
8
8
7
45
11
11
10
34
8
8
7
46
12
13
11
35
8
8
8
46
10
11
10
36
8
8
7
46
10
11
10
38
9
10
9
47
9
11
9
38
8
10
8
49
10
12
10
39
8
9
8
50
10
12
10
39
9
9
9
51
10
11
10
40
8
9
8
53
15
13
13
40
10
10
9
57
12
14
12
41
10
10
9
64
18
18
16
Para demandas mayores, el algoritmo de sistema por colonia de hormigas
construye un menor número de rutas, por lo que es posible concluir que
proporciona un mejor desempeño.
68
Fig. 2. Número de rutas construidas con los algoritmos HC1-R, búsqueda tabú y
sistema por colonia de hormigas, para instancias de prueba con demanda
creciente.
Conclusiones
Esta investigación compara los resultados obtenidos por tres algoritmos
heurísticos para un problema de logística de distribución con complejidad
computacional NP-Completo. La evidencia experimental muestra que el
algoritmo de sistema por colonia de hormigas proporciona mejores resultados
que los algoritmos heurísticos HC1-R y de búsqueda tabú. La estrategia seguida
por el algoritmo de sistema por colonia de hormigas para construir una ruta y
resolver el problema de estudio considera nodos de decisión en el tiempo, arcos
de actividad y la penalización de la inclusión de arcos de espera en la evaluación
de alternativas, de esta manera se explotan adecuadamente los principios que
fundamentan a la familia de algoritmos ACO para encontrar la ruta más corta
entre dos nodos. La estrategia fundamental del algoritmo HC1-R es insertar un
arco de entrega adicional en una ruta a la vez; sin embargo, la naturaleza
combinatoria del problema sugiere que se construya en forma paralela k rutas a la
vez, lo que implica un mayor esfuerzo de análisis y evaluación. Esta estrategia de
inserción paralela puede aplicarse en la función generadora de vecinos y
enriquecer el proceso de generación y búsqueda. El desempeño del algoritmo de
búsqueda tabú es sensible a la calidad de la solución inicial, la función
generadora de vecinos, la longitud de la lista tabú y los criterios de aspiración e
intensificación, los cuales proporcionan una vasta riqueza de posibilidades que
sugieren una investigación más extensa. Los algoritmos utilizados en esta
investigación, además de proporcionar soluciones con el mínimo de rutas,
encuentran soluciones casi óptimas de forma rápida, con tiempos de ejecución de
2 a 4 minutos, lo que permite proponer oportunamente un plan de distribución al
69
personal de la planta embotelladora. Las estrategias de solución que aquí se han
presentado consideran un horizonte de planeación de 24 horas que puede
extenderse a 48 o 72 horas, lo cual hace al problema combinatoriamente más rico
y difícil de resolver. El problema de estudio también puede modelarse aplicando
la optimización de flujo en redes, lo que extendería aún más esta investigación.
Referencias
1. Arts, E. y J. Karel Lenstra, Local Search in Combinatorial Optimization,
Princeton University Press, Nueva Jersey, 2003.
2. Desrochers, M. y F. Soumis, ‚A Reoptimization Algorithm for the Shortest
Path Problem with Time Windows‛, European Journal of Operational Research,
vol. 35, núm. 2, 1988, pp. 242-254.
3. Desrochers, M., J. Desrosiers y M. Solomon, ‚A New Optimization
Algorithm for the Vehicle Routing Problem with Time Windows‛, European
Journal of Operational Research, vol. 40, núm. 2, 1992, pp. 342-354.
4. Desrosiers, J., Y. Dumas, M. Solomon y F. Soumis, ‚Time Constrained
Routing and Scheduling‛, en M. O. Ball, T. L. Magnanti, C. L. Monma y G. L.
Nemhauser (eds.), Handbooks in Operations Research and Management Science,
vol. 8, Network Routing, 1995, pp. 35-139.
5. Dorigo, M., G. Di Caro, y L. M. Gambardella, ‚Ant Algorithms for Discrete
Optimization‛, Artificial Life, vol. 5, núm. 2, 1999, pp. 137-172.
6. Dorigo, M. y L. M. Gambardella, ‚Ant Colonies for the Traveling
Salesman Problem‛, Biosystems, vol. 43, núm. 2, 1997, pp. 73-81.
7. González de la Rosa, M. y R. Cruz Cruz, Implementación del algoritmo
heurístico recocido simulado para un problema de optimización combinatoria de
logística de distribución, tesis de licenciatura, Centro Universitario
Atlacomulco-Universidad Autónoma del Estado de México, México, 2009.
8. González de la Rosa, M. y V. García González, Implementación del algoritmo
heurístico búsqueda tabú para un problema de optimización combinatoria de
logística de distribución, tesis de licenciatura, Centro Universitario
Atlacomulco-Universidad Autónoma del Estado de México, México, 2009.
9. González de la Rosa, M. y J. Gaytán Iniestra, A Heuristic Algorithm for a
Delivery Planning Problem with Time Windows and Side Constraints, tesis
doctoral, Instituto Tecnológico y de Estudios Superiores de Monterrey,
Toluca, México, 2005.
10. González de la Rosa, M. y N. Martínez Urbano, Implementación del
algoritmo heurístico sistema por colonia de hormigas para un problema de
optimización combinatoria de logística de distribución, tesis de licenciatura,
Centro Universitario Atlacomulco-Universidad Autónoma del Estado de
México, México, 2009.
70
11. Meli{n, B., J. A. Moreno Pérez y J. C. Moreno Vega, ‚Metaheurísticas:
una visión global. Inteligencia Artificial‛, Revista Iberoamericana de Inteligencia
Artificial, núm. 19, 2003, pp. 7-28.
71
72
Aplicación de la Optimización por Enjambre de
Partículas a un Problema Inverso de Conducción
de Calor
Obed Cortés-Aburto, Rafael Rojas-Rodríguez, C. Román Marín-Dávila
Resumen. En el presente trabajo se utiliza la optimización por enjambre de
partículas (PSO) para estimar la función de generación de calor de un aparato de
placa caliente con guarda (APCG). Este aparato sirve para la determinación de la
conductividad térmica de materiales aislantes. La aplicación se desarrolla en una
dimensión y en coordenadas cilíndricas. Las geometrías aplicadas son: un disco
—para la placa caliente— y una corona —para la guarda. Se emplean desde uno
hasta cinco parámetros. Los resultados se comparan con los obtenidos con el
método de Levenberg-Marquardt. De esta manera, la capacidad de este método
para recuperar la función analítica se prueba. Los resultados exhiben un buen
ajuste con los valores experimentales.
Palabras clave: optimización por enjambre de partículas, conducción de calor
inversa.
Sumario:
1 Introducción 2 Problema directo 3 Optimización por enjambre de partículas 4
Resultados 5 Conclusión Referencias
1 Introducción
Los problemas inversos en transferencia de calor se valen de las mediciones de
temperatura, o también, de flujo de calor para estimar las cantidades
desconocidas que se presentan en los modelos matemáticos de problemas físicos
en este campo.1,2
El uso de las técnicas de análisis inverso es un nuevo paradigma de investigación.
No se trata simplemente de comparar los resultados obtenidos de las
simulaciones numéricas y de los experimentos a posteriori, sino que existe una
sinergia estrecha entre los investigadores experimentales y los teóricos durante el
desarrollo de los estudios para obtener la mayor cantidad posible de información
a partir del problema físico en cuestión.3 Por tal razón, en años recientes los
problemas inversos han evolucionado de ser un tema de investigación teórica
específica a ser una importante herramienta práctica del análisis de ingeniería.
73
Los problemas inversos se resuelven mediante una metodología de estimación de
parámetros o de estimación de función. Si se tiene alguna idea acerca de la forma
funcional de la cantidad desconocida, el problema inverso se puede reducir a la
estimación de unos pocos parámetros desconocidos. Al contrario, si no tenemos
la información, necesitamos considerar el problema inverso como de estimación
de función en un espacio dimensional infinito de funciones.
Los problemas inversos también se clasifican matem{ticamente como ‚mal
planteados‛, en tanto que los problemas normales de transferencia de calor son
‚bien planteados‛. La solución de un problema bien planteado debe satisfacer las
condiciones de existencia, unicidad y estabilidad respecto a los datos de entrada.
La existencia de un problema inverso de transferencia de calor puede asegurarse
mediante razonamiento físico. Pero la unicidad de la solución de los problemas
inversos se prueba matemáticamente sólo en algunos casos especiales. Además,
el problema inverso es muy sensible a los errores aleatorios de los datos medidos
de entrada, y por lo tanto, requiere técnicas especiales de solución para satisfacer
la condición de estabilidad.
Una solución exitosa de un problema inverso generalmente involucra su
reformulación como un problema bien planteado aproximado, haciendo uso de
algún tipo de método de regularización (estabilización).
En este artículo se prueba un método para la solución de problemas inversos de
transferencia de calor. El problema de prueba involucra la recuperación de la
función de generación de calor en coordenadas cilíndricas en una dimensión. Se
utilizan dos geometrías, un disco y un anillo. Los resultados concuerdan con los
experimentos en forma bastante aceptable.
2 Problema directo
Las mediciones de temperatura se obtienen a partir de la caracterización de un
dispositivo para determinar la conductividad térmica de los materiales aislantes
utilizados en la construcción en México. Este dispositivo se conoce como aparato
de placa caliente con guarda (APCG). El problema se define como:
Una placa caliente tiene una resistencia g t  situada en r1  0.0538 m,
temperatura inicial T0  302.378 K al tiempo t  0 s y pierde calor por convección
en un medio con temperatura Tamb  302.378 K en la frontera ubicada en
r  b  0.0762 m
para tiempos t  0 . La guarda tiene una resistencia g t 
situada en r2  0.0983 m, temperatura inicial T0  300.39 K al tiempo t  0 s y
pierde calor por convección en un medio con temperatura Tamb  300.39 K en
ambas fronteras ubicadas en r  b  0.0762 m y r  d  0.1524 m para tiempos
t  0 . Los dos diagramas se muestran en la figura 1.
74
La formulación matemática de estos problemas directos de conducción de calor
es de la siguiente forma:4
T
2
r
2

1 T
r r

g t     r  r1 
2 kr

1 T
 t
T
 hT  hTamb
r
T  T0
k
0  r  b, t  0
(1a)
r  b, t  0
(1b)
0  r  b, t  0
(1c)
para la placa caliente, y
T
2
r
2
k
k

1 T

1 T
 hT  hTamb
r  b, t  0
(2b)
 hT  hTamb
r  d,t  0
(2c)
b  r  d,t  0
(2d)
r
r
g t     r  r2 
(2a)
T
T

b  r  d,t  0
r r
T  T0
2 kr
 t
para la guarda, donde    es la función delta de DIRAC.
La solución de este problema se obtiene mediante el método de la transformada
integral.4 Para el problema inverso, la fuente de calor g t  variable en el tiempo
se considera como una incógnita. La información adicional que se obtuvo de las
mediciones de temperatura en estado transitorio registradas en la posición
r  rmed en los tiempos ti , i  1, 2, , I se utiliza entonces para la estimación de
g t  .
(a) Placa caliente
(b) Guarda
Fig. 1. Modelo físico del aparato de placa caliente con guarda.
Para este trabajo se considerará una aproximación desde uno hasta cinco
parámetros, expresada de la siguiente forma:
75
g t   P1  P2 t  Pt
 P4 t  Pt
3
5
2
3
4
(3)
La solución de este problema inverso de conducción de calor para la estimación
de los parámetros desconocidos se basa en la minimización de la norma ordinaria
de mínimos cuadrados, dada por:
S P  
I
 Y  T P 
2
i
(4)
i
i 1
Donde:
 Suma de los cuadrados de los
S
P
errores o función objetivo
 P1 , P2 , , PN   Vector
T
de
parámetros desconocidos
Ti  P   T  P, ti   Temperatura estimada
al tiempo ti
 Y ti   Temperatura medida al
Yi
tiempo ti
 Número
total de parámetros
desconocidos
 Número total de mediciones,
donde I  N
N
I
Las temperaturas estimadas Ti  P  se obtienen de la solución del problema
directo en la posición de las mediciones, rmed , utilizando la estimación actual de
los parámetros desconocidos.
Para minimizar la norma de mínimos cuadrados dada por la ecuación (4), se
necesita igualar a cero las derivadas de S  P  respecto a cada uno de los
parámetros desconocidos.
La solución completa para estos problemas4 está dada por:
T r , t  




hbT0
 kN
2

2 kN
  t
2

R0   , r  R0   , r1 
P
2
P4
3
P1

hbTamb

 kN
2
4 2
1  e   P
2
  t
2
P
2
4 2
4

8 4
3
6 3

2
2
2
4 2

 2 t  1  e  t 


2
(5)
  t
2


5
  t  4  t  12  t  24 t  24 1  e
5
10
  
4

  t

  t  3  t  6 t  6 1  e
4
8
  
6 3
2
2

2

R0   , r  R0   , b  1  e
  t
2
3
  t  2 t  2 1  e
3
6
  
Donde:
76
R0   , r  R0   , b  e
2
  t
2

N
h
 k
2
2
2
b R   , b 
2
2
0
2 k
2
2
(6)
R0   , r   J 0   r 
para la placa caliente, y
T  r , t   bR0   , b   dR0   , d 
 bR0   , b   dR0   , d 





2 kN
hT0
 kN
2
hTamb
 kN
2
R0   , r  R0   , r2 

P1

R0   , r  e
2

R0   , r  1  e
  t
2
1  e   P
  t
2
2
2
2

P3
  t
4



 2 t  1  e  t 


2
(7)

 2  4 t 2  2 2 t  2 1  e  t 

  
3
6
P
2

4
  t  3  t  6 t  6 1  e
4
8
  
3
P
6 3
2
4 2
2
  t
2


5
  t  4  t  12  t  24 t  24 1  e
5
10
  
Donde:
N
R0   , r  
h
4
2
8 4
 k
2
2
 d
3
2
6 3
4 2
2
  t
2

R0   , d   b R0   , b 
2
2
2 k
2
J 0  r 
2
2
2
  kJ 1   d   hJ 0   d 

Y0   r 
(8)
  kY1   d   hY0   d 
3 Optimización por enjambre de partículas
El comportamiento de un enjambre se puede modelar con unas cuantas reglas
sencillas. Los enjambres de peces (banco, cardumen) y de pájaros (bandadas,
parvadas) se pueden modelar con tales modelos simples. Por ejemplo, aun si las
reglas de comportamiento de cada individuo (agente) son simples, el
comportamiento del enjambre puede ser complicado. Reynolds 5 utilizó los
siguientes tres vectores como reglas simples en sus investigaciones con boid:
Alejarse del agente más cercano.
Ir hacia el destino.
Ir hacia el centro del enjambre.
El comportamiento de cada agente dentro del enjambre se puede modelar con
simples vectores. Los resultados de la investigación son uno de los antecedentes
básicos de la PSO.
77
Boyd y Richerson6 examinaron el proceso de decisión de los humanos y
desarrollaron los conceptos de ‚aprendizaje individual‛ y ‚transmisión cultural‛.
De acuerdo con su análisis, las personas utilizan dos clases importantes de
información en el proceso de decisión. La primera es su propia experiencia; esto
es, han intentado las diferentes alternativas y conocen cuál estado es el mejor
hasta el momento y saben qué tan bueno es. La segunda es la experiencia de otra
persona; esto es, tienen conocimiento de cómo se han comportado otras personas
a su alrededor. A saber, saben qué alternativas sus vecinos han encontrado más
positivas hasta el momento y qué tan positivo fue el mejor patrón de alternativas.
Cada persona toma su decisión utilizando sus propias experiencias y las
experiencias de los otros. Los resultados de esta investigación también son uno
de los elementos fundamentales básicos de la PSO.
Fig. 2. Concepto de la modificación de un punto de búsqueda en la PSO.
De acuerdo con los antecedentes de la PSO que acabamos de mencionar,
Kennedy y Eberhart7 desarrollaron la PSO mediante la simulación de la bandada
de pájaros en un espacio bidimensional. La posición de cada agente se representa
mediante su posición en los ejes x y y y también su velocidad se expresa
mediante vx (la velocidad en el eje x ) y vy (la velocidad en el eje y ). La
modificación de la posición del agente se lleva a cabo mediante la información de
posición y velocidad.
La bandada de pájaros optimiza cierta función objetivo. Cada agente conoce su
mejor valor hasta el momento ( pbest ) y su posición en x y y . Esta información
es una analogía de las experiencias personales de cada agente. Por otra parte,
cada agente conoce el mejor valor ( gbest ) de todos los pbest que ha obtenido el
grupo hasta el momento. Esta información es una analogía del conocimiento de
cómo se han comportado los otros agentes a su alrededor. Cada agente intenta
modificar su posición utilizando la siguiente información:
Las posiciones actuales ( x , y ).
78
Las velocidades actuales ( vx , vy ).
La distancia entre la posición actual y su pbest .
La distancia entre la posición actual y el gbest .
Esta modificación se representa mediante el concepto de velocidad (el valor
modificado para las posiciones actuales). La velocidad de cada agente se puede
modificar con la siguiente ecuación:
k 1
vi

 wávi  c1rand1  pbesti  si
k
k
 c rand  gbest  s 
k
2
2
(10)
i
Donde vik es la velocidad del agente i en la iteración k , w es una función de
ponderación, c j son coeficientes de ponderación, rand es un número aleatorio
entre 0 y 1, sik es la posición actual del agente i en la iteración k , pbesti es el
pbest del agente i y gbest es el gbest del grupo.
En otras palabras, la velocidad de un agente se puede cambiar utilizando tres
vectores, como en el boid. La velocidad se limita normalmente a cierto valor
máximo. La PSO que se utiliza en la ecuación (10) se llama modelo Gbest. La
siguiente función de ponderación se utiliza normalmente en el modelo Gbest:
w  wmax 
wmax  wmin
 iter
itermax
(11)
Donde wmax es el peso inicial, wmin es el peso final, itermax es el número
máximo de iteraciones e iter es el número actual de iteración.
Fig. 3. Errores en la estimación de la fuente de calor para la PSO, comparados
con el LMM, en el caso de la placa caliente.
79
El significado del lado derecho de la ecuación (10) se explica de la siguiente
manera:8 el lado derecho de la ecuación (10) consta de tres términos (vectores). El
primer término es la velocidad previa del agente. Los términos segundo y tercero
se utilizan para cambiar la velocidad del agente. Sin estos dos términos, el agente
permanecería ‚volando‛ en la misma dirección hasta golpear la frontera. Es decir,
intenta explorar nuevas áreas y, por lo tanto, el primer término se corresponde
con la diversificación en el proceso de búsqueda. Por otro lado, sin el primer
término, la velocidad del agente ‚volador‛ se determina únicamente mediante el
uso de su posición actual y las mejores posiciones de su historia. En otras
palabras, los agentes intentarán converger a su pbest o también, a su gbest y,
por lo tanto, los términos se corresponden con la intensificación en el proceso de
búsqueda.9 Como se mostrará más adelante, por ejemplo, wmax y wmin se ajustan a
0.9 y 0.4 respectivamente. Por consiguiente, al comienzo del proceso de
búsqueda, la diversificación tiene una ponderación muy alta, mientras que la
intensificación está más ponderada al final del proceso de búsqueda en una
forma similar al recocido simulado (SA, Simulated Annealing). Es decir, se puede
calcular una cierta velocidad que gradualmente se acerque a los pbest y al gbest .
La PSO que se utiliza en las ecuaciones (10) y (11) se conoce como ‚el método de
pesos de inercia‛ (IWA, Inertia Weights Approach).
Fig. 4. Errores en la estimación de la fuente de calor para la
PSO, comparados con el LMM, en el caso de la guarda.
La posición actual (el punto de búsqueda en el espacio de solución) puede
modificarse mediante la siguiente ecuación:
80
k 1
si
k 1
 si  vi
k
(12)
En la figura 2 se ilustra el concepto de modificación del punto de búsqueda para
la PSO. Shi y Eberhart8,10 intentaron examinar la selección de los parámetros que
hemos mencionado. De acuerdo con su análisis, son apropiados los siguientes
parámetros y sus valores no dependen del problema en consideración:
ci  2.0,
wmax  0.9,
wmin  0.4
4 Resultados
En la placa caliente del APCG se utilizó una generación eléctrica de calor de 5 W.
Se realizaron mediciones de temperatura cada 1 minuto (durante 624 pasos
temporales) en la posición rmed  0.0762 m. La generación de calor que se utilizó
en la guarda fue 3 W. Las mediciones se realizaron cada 30 segundos (durante
345 pasos temporales) en la posición rmed  0.1524 m. El número de partículas
utilizado para la optimización fue de 20.
Cuadro 1. Valor de la menor norma
ordinaria de mínimos cuadrados para la
placa caliente y para la guarda
Parámetros
Placa caliente
PSO
1
2
3
4
5
1891.6394
1132.1777
919.9884
758.6564
751.0625
LMM
1891.6394
1132.1777
865.1679
758.5913
733.9622
Guarda
PSO
LMM
200.5644
28.4137
13.5919
13.5064
13.3632
200.6026
29.1051
21.5268
17.3220
17.5800
En el cuadro 1 se muestra la norma ordinaria de mínimos cuadrados para los
casos de la placa caliente y de la guarda. Se compara con un método tradicional
de solución de problemas inversos, el método de Levenberg-Marquardt (LMM).
Para el caso de la placa caliente, se observa un mejor desempeño del LMM
conforme aumentamos el número de parámetros. En el caso de la guarda, la PSO
tiene un mejor desempeño en todos los casos, ya que su norma ordinaria de
mínimos cuadrados es la menor.
81
Fig. 5. Campo de temperatura obtenido con la mejor norma ordinaria de
mínimos cuadrados con la PSO y el LMM para la placa caliente.
En el cuadro 2 se enlistan los parámetros estimados para cada caso tanto para la
placa caliente como para la guarda. En la figura 3 se muestran los errores para los
casos que exhibieron el menor error en la estimación de la fuente de calor para la
PSO y el LMM en la placa caliente. La figura 4 exhibe los mismos resultados para
el caso de la guarda. Las figuras 5 y 6 muestran los campos de temperaturas
obtenidos con la estimación que exhibió la menor norma ordinaria de mínimos
cuadrados para la placa caliente y para la guarda, respectivamente.
82
Fig. 6. Campo de temperatura obtenido con la mejor norma ordinaria de
mínimos cuadrados con la PSO y el LMM para la guarda.
5 Conclusión
Se ha aplicado una estrategia para resolver problemas inversos de transferencia
de calor, la optimización por enjambre de partículas. Se comparó con un método
tradicional, el método de Levenberg-Marquardt. El resultado obtenido es
satisfactorio, porque los que se obtuvieron con ambos métodos son muy similares
y en algunos casos la PSO exhibe mejor desempeño. En especial, para la guarda,
la PSO exhibió un mejor desempeño en todos los casos. Sin embargo, es necesario
aplicar la optimización por enjambre de partículas a distintos problemas inversos
para demostrar su capacidad. Los resultados obtenidos son muy alentadores para
seguir trabajando en esta dirección.
83
Referencias
1. Alifanov, O. M., Inverse Heat Transfer Problems, Springer-Verlag, Nueva York,
1994.
2. Ozisik, M. N. y H. R. B. Orlande, Inverse Heat Transfer: Fundamentals and
Applications, Taylor and Francis, Nueva York, 2000.
3 Colaco, M. J., H. R. B. Orlande y G. S. Dulikravich, ‚Inverse and
Optimization Problems in Heat Transfer‛, ponencia en el X Congreso Brasileño
de Ingeniería y Ciencias Térmicas, Río de Janeiro, 2004.
4. Cortés, O., ‚Aplicación del método de Levenberg-Marquardt y del gradiente
conjugado en la estimación de la generación de calor de un aparato de placa
caliente con guarda‛, tesis de maestría, CENIDET, Cuernavaca, 2004.
5. Reynolds, C., ‚Flocks, Herds And Schools: A Distributed Behavioral Model‛,
Computer Graphics, núm. 21, 1987, pp. 25-34.
6. Boyd, R. y P. J. Richerson, Culture and the Evolutionary Process, University of
Chicago Press, 1985.
7. Kennedy, J. y R. Eberhart, ‚Particle Swarm Optimization‛, IEEE International
Conference on Neural Networks, vol. IV, IEEE Press, 1995, pp.1942-1948.
8. Shi, Y. y R. Eberhart, ‚A Modified Particle Swarm Optimizer‛. IEEE
International Conference on Evolutionary Computation, IEEE Press, 1998, pp. 69-73.
9. Fukuyama, Y., ‚Fundamentals of Particle Swarm Optimization Techniques‛,
en K. Y. Lee y M. A. El-Sharkawi (eds.), Modern Heuristics Optimization
Techniques, 2008.
10. Shi, Y. y R. Eberhart, ‚Parameter Selection in Particle Swarm
Optimization‛, Proceedings of the VII Annual Conference on Evolutionary
Programming, MIT Press, San Diego, 1998.
84
Algoritmo de recocido simulado secuencial y
paralelizado con memoria distribuida para el
problema de máquinas paralelas no relacionadas
ponderadas
Marco Antonio Cruz-Chávez, Fredy Juárez-Pérez, Érika Yesenia Ávila-Melgar,
José Crispín Zavala-Díaz,
Resumen. En este artículo se comparan dos soluciones para el problema de
máquinas paralelas no relacionadas con el objetivo de minimizar el tiempo total
de término ponderado (  kCi ). Se aplica el recocido simulado clásico secuencial y
paralelizado, con memoria distribuida sobre un clúster de alto rendimiento. El
problema es modelado como de emparejamiento bipartita ponderado. Se
presentan resultados experimentales con benchmarks y se evalúa la eficiencia y
eficacia de los algoritmos. Los resultados demuestran que el algoritmo de
recocido simulado paralelo tiene un mejor desempeño sobre el recocido clásico
secuencial porque disminuye drásticamente los tiempos de procesamiento.
Ambas soluciones presentan un alto desempeño, debido a que en todas las
pruebas siempre encuentran el óptimo.
Palabras clave: recocido simulado, problema de máquinas paralelas no
relacionadas, programación lineal entera, emparejamiento bipartita ponderado,
interfase de pase de mensajes.
1 Introducción
El problema general de secuenciado de n trabajos sobre m máquinas paralelas no
relacionadas sin interrupciones está clasificado como de tipo NP-Completo (Garey y
Johnson).2 Los investigadores se han enfocado en estos problemas debido a la
dureza que representan cuando se busca la solución óptima. Además, son de
especial interés para su aplicación en la industria de la manufactura. En la búsqueda
de algoritmos que resuelvan este problema en particular, se han hecho muchas
investigaciones. El modelo problema de máquinas paralelas no relacionadas
(PMPNR), por ejemplo, ha sido usado por Koranne7 para resolver problemas de
85
transporte con algoritmos de aproximación y demostrando un rendimiento mejor
que los obtenidos mediante formulaciones de programación lineal entera.
Zhou et al.8 buscaron el total de retrasos ponderados y propusieron el uso de un
algoritmo con colonia de hormigas, el cual incorpora un operador de
transferencia genética en la búsqueda local, con lo que se logra un excelente
desempeño. Mönch9 presenta un método eficiente para optimizar el total de
retrasos ponderados, aplicando la colonia de hormigas y usando rutas de
feromonas artificiales e información de la heurística, con lo que se obtiene una
optimización aproximada. Chun-Lung10 toma en cuenta los tiempos de arranque
para minimizar el número total de trabajos retrasados ponderados y aplica un
algoritmo de búsqueda local interactiva. Pessan et al.11 simplifican el problema,
convirtiéndolo en uno de asignación, con el objetivo de reducir los tiempos de
arranque requeridos para intercambiar la producción de un tipo de producto a
otro. Utilizan un algoritmo de ramificación y acotamiento (branch and bound).
Chun-Lung y Chuen-Lung12 trabajan con un algoritmo de cuello de botella, con el
cual identifican el cuello de botella y construyen su calendarización. Este
algoritmo se utiliza para elaborar calendarizaciones con páginas de retraso en la
asignación de trabajos entre los intervalos identificados como cuellos de botella.
En Anastasova y Dror,13 se describe una aplicación enfocada en el análisis de una
línea automática de soporte de procesos para un centro de computación; las
actividades de consulta en línea del centro se modelan como un grupo de
máquinas paralelas no relacionadas, así los usuarios tienen procesos como
aplicaciones de ayuda en línea a los cuales llega una lluvia de trabajos. Un índice
automático de procesamiento de lenguaje natural (PLN) es aplicado a cada
trabajo con el fin de estimar los tiempos de procesamiento que dependen de una
máquina determinada. En Anil Kumar y Marathe,14 un algoritmo de redondeo es
desarrollado para buscar una calendarización en máquinas paralelas no
relacionadas. Este algoritmo trabaja con modelos de programación lineal,
cuadrática y convexa extendida de una calendarización, para optimizar el
Makespan.
En el presente trabajo se muestran dos soluciones al modelo de programación
lineal entera (PLE) ponderado, de máquinas paralelas no relacionadas, como el
que se muestra en Pinedo.3 El estudio de máquinas paralelas no relacionadas es
muy importante porque es un problema frecuente en la industria. La solución
eficiente y efectiva de modelos teóricos es una aproximación simple al estudio de
los modelos reales que permiten a la industria de la manufactura incrementar su
desarrollo y competitividad. Las dos soluciones al PMPNR que aquí se describen
usan un algoritmo de recocido simulado clásico secuencial y un algoritmo de
recocido simulado paralelo, con memoria distribuida, ejecutado sobre un clúster
de alto rendimiento, para resolverlo como un problema de emparejamiento
bipartita ponderado.
86
2 Modelo de programación lineal entera ponderado
El problema Rm || ΣkCj (Graham et al.),1 es de tipo NP-Completo y puede ser
formulado como un problema de programación lineal entera (PLE), con una
estructura especial que ayuda a resolverlo en tiempo polinomial utilizando un
algoritmo determinista. Esta PLE modela el problema como un conjunto de
máquinas que deben procesar un conjunto de trabajos y cada trabajo requiere una
operación para terminar. Cada máquina puede procesar cualquier trabajo, uno a la
vez. El tiempo de procesamiento de un trabajo depende de la máquina en la cual se
procese.
El problema de PLE presentado en Pinedo3 ha diso formulado como sigue: la
contribución a la función objetivo en (1) de cada trabajo j, depende de la máquina
i donde el trabajo j es procesado, así como de la posición k donde el trabajo es
procesado en la máquina i, el conjunto de trabajos que se procesan en la máquina
i es ordenado. El trabajo j contribuye en kpij al valor de la función objetivo. La
función objetivo optimiza el tiempo total de término ponderado (ΣkCj). En este
modelo, la restricción en (4) indica que las variables x toman sólo el valor de
0 o 1. Si xikj = 1, entonces el trabajo j es asignado a la máquina i en la k-th posición.
Si xikj= 0, en caso contrario. Las restricciones en (2) aseguran que cada trabajo sea
asignado a una sola posición k. Las restricciones en (3) aseguran que en cada
posición k para cada máquina i es tomado por al menos un trabajo j. Este modelo
puede ser mapeado para problemas de transporte (Hillier y Lieberman)4 si las
restricciones del conjunto (4) se reemplazan por un conjunto de restricciones de
valores no negativos, esto es, xikj >= 0. Esto es relevante debido a que con este
modelo relajado se obtendrían límites con algoritmos exactos para problemas
NP-Completos, como el modelo Rm|| Cj. En un modelo con una estructura como
la presente, la formulación relajada tiene resultados de 0 o 1 para las variables x.
De esta manera, es posible usar un algoritmo exacto, como el SIMPLEX, y obtener
una solución para el modelo sin necesidad de relajar las restricciones en (4).
87
3 Modelo de grafos bipartita
Un caso especial del problema de transporte es el problema de emparejamiento
bipartita ponderado (PEBP). El modelo Rm | |
kCj, para la estructura definida
en el modelo de PLE en la sección 2, puede ser representado como PEBP
(Pinedo).3 La figura 1 presenta una instancia de n=3 trabajos y m=2 máquinas para
el problema Rm | |
kCj, usando un grafo bipartita. El grafo está compuesto de
n trabajos en la parte superior y mn posiciones en la parte inferior. Las mn
posiciones se dan en pares (i,k), donde i es la máquina asignada para procesar el
trabajo j y k la posición dentro de la cola de la máquina i, donde cada máquina i
puede procesar a lo más n trabajos. Si el trabajo j que es asignado a la posición ik
presenta un costo kpij, el objetivo es determinar la asignación ik para cada trabajo j
en el grafo bipartita que tenga el mínimo costo de tiempo total.
La interpretación se da con base en la figura 1, como sigue: para la máquina i=1 el
trabajo j=1 puede ser procesado en primer lugar (p11), segundo lugar (2p11) o en
tercer lugar (3p11). El trabajo j=2 puede ser procesado en primer lugar (p12),
segundo lugar (2p12) o en tercer lugar (3p12). El trabajo j=3 puede ser procesado en
primer lugar (p13), en segundo lugar (2p13) o en tercer lugar (3p13).
Fig. 1. Grafo bipartita para ΣkCj.
El modelo del PEBP puede ser solucionado con varias metaheurísticas. La
siguiente es una de recocido simulado (RS) mediante la cual se obtiene la
solución.
4. Algoritmo de recocido simulado
Los fundamentos de la metaheurística denominada RS fueron introducidos por
Kirkpatrick,5 quien propuso un método probabilístico de búsqueda local de
manera que escapara de los óptimos locales. El nombre del método proviene de
su similitud con el proceso metalúrgico de recocido lento, con el que se consigue
un sólido de mínima entropía. El RS sigue un esquema similar para ayudar a
88
resolver problemas de optimización (véase la figura 2). El proceso de RS requiere
del conocimiento de los siguientes parámetros:
so : Solución inicial
del problema.
T : Parámetro de
control de RS.
r : Coefíciente de
control. 0 < r < 1.
MCS > 0: Cadena de
Markov
(Markov
Chain Size).
function
SimulatedAnnealing ( )
Begin
s:= so, T = T0
Repeat
cycle := 1 to MCS
generate new solution,
s’ = N(s)
if C(s’) < C(s) then
s := s’
else
d := C( s’) - C(s)
Random  (0 ,1)
C: Función de costo.
if
N: Estructura
vecindad.
FROZEN:
de paro.
valor de T.
de
Criterio
Mínimo
 e

d
T
then
s := s’
end else
end cycle
T := r T
Until FROZEN
return C(s)
End
Fig. 2. Algoritmo de recocido simulado.
Como se ve en la figura 2, al principio el RS, con una temperatura alta T, acepta
casi todas las transiciones entre las soluciones. Después T disminuye
gradualmente, debido al factor r. Esto hace que la aceptación de movimientos sea
cada vez más y más selectiva. Finalmente, sólo se aceptan aquellos movimientos
que mejoren la solución actual. Un movimiento es un vecino s' de s, obtenido de
una estructura de vecindad. El costo de la función C es la función objetivo del
problema a resolver y permite la evaluación de la calidad de la solución. La
aceptación de los movimientos —la nueva solución— es controlada por el
algoritmo de metrópolis, el cual involucra la función de Boltzmman. En cada
ciclo de T, metrópolis repite MCS ciclos. Para los diferentes valores de T, que
pasan por una secuencia de enfriamiento, un proceso explora las mejores
soluciones. FROZEN considera el criterio de paro, el cual es un valor mínimo al
que T llega y que está controlado por r.
89
5 Metodología de solución
Para solucionar el problema Rm | |kCj usando programación paralela con
memoria distribuida, se proppone la siguiente metodología, basada en el grafo
bipartita (véase la figura 1), que consiste en los siguientes pasos:
1. Representación simbólica del grafo bipartita.
2. Determinación de una estructura de vecindad que obtenga soluciones
factibles.
3. Sintonización de los parámetros de RS: T, r, MCS y FROZEN.
4. Aplicación de la metaheurística de RS secuencial y paralelizado.
5. Aplicación del mecanismo generador de soluciones.
6. Aplicación del mecanismo para recolectar soluciones en el clúster.
5.1 Representación simbólica
Para la representación simbólica del grafo bipartita, se emplea una estructura de
datos unidimensional para representar las mn posiciones que se dan entre las
máquinas (i=0,..., m-1) y las k-ésimas posiciones que un trabajo j (j=0,...,n-1) puede
tomar dentro de una máquina i. Con este estructura, tendremos n trabajos
calendarizados sobre el arreglo de tamaño mn y tendremos mn – 1 posiciones
libres hacia donde se pueden mover los trabajos mediante un intercambio
aleatorio. Una solución a la instancia presentada en la figura 1 se muestra en la
figura 3 usando la representación simbólica.
La estructura representa m=2 máquinas i en serie y n=3 trabajos j, lo que da un
total de seis posiciones posibles para los tres trabajos j. Cada máquina i ocupa
tres posiciones para los tres posibles trabajos j, por lo tanto, la estructura
representa a las máquinas 0 y 1. Las seis posibles posiciones son referenciadas
mediante un índice que va desde la posición 0 hasta la posición 5. La secuencia va
desde k=0 hasta k=2 para representar las tres posibles posiciones dentro de la cola
de la máquina i.
Fig. 3. Representación simbólica del problema.
La interpretación de la figura 3 se da como sigue: el trabajo j = 1 se procesa en
primer lugar k = 0 en la primera máquina i = 0 y con una posición real índice = 0.
90
El trabajo j = 0 se procesa en segundo lugar k=1 en la primera máquina i = 0 y con
una posición real índice = 1 y así sucesivamente. Las posiciones dentro del arreglo
que contengan j = -1 son posiciones disponibles.
5.2 Mecanismo para generar soluciones en RS
La estructura de vecindad esta basada en la representación simbólica de las
posiciones que el grafo bipartita de la figura 1 representa. En este trabajo, se
desarrollo un método de búsqueda local en la estructura de vecindad el cual
incluye los siguientes pasos:
1. Generación de la calendarización inicial aleatoria.
2. Aplicación del mapeo indirecto y directo.
3. Generación del mapeo rápido.
4. Cambio de posición desde un trabajo hasta una posición libre aleatoria.
5. Intercambio de dos trabajos aleatorios.
Para generar la solución inicial aleatoria, se seleccionan un trabajo j y una
máquina i. El trabajo j se pone en posición sobre la máquina seleccionada. En la
figura 4 se da el algoritmo que genera la solución inicial. Un conjunto de trabajos
J y un conjunto de máquinas M se emplean para calendarizar la solución inicial.
Un trabajo j y una máquina i se seleccionan aleatoriamente del conjunto J y M
respectivamente. La posición ki se asigna en la máquina que no tiene un trabajo
asignado (posición libre), entonces el trabajo j se almacena en el Array (véase la
figura 3), en la posición ki; la posición ki se actualiza y el trabajo j queda eliminado
del conjunto J. El procedimiento se repite mientras J no sea un conjunto vacío.
function initial_solution( )
Begin
k = {k1=0,...,km-1=0}
M = {m1 = 0,...,mm=m-1}
J= {0,...,n-1}
Repeat
j = random(J)
i = random(M)
Array[i * n + ki] = j
ki=ki + 1
J = J - {j}
Until j0 ≠ 
End
Fig. 4. Generación de la solución inicial.
91
El mapeo indirecto busca los elementos ikj a partir de la posición real dentro de la
estructura de vecindad. La posición real se obtiene del índice que se utiliza para
acceder al Array. Las funciones son:
j = Array( index )
(5)
i = integer_truncate(index / n )
(6)
k = operator_ module (index, n)
(7)
Por ejemplo, en la figura 3, usando (5), para el índice = 3 se obtiene el trabajo 2.
Con el mismo índice, usando (6), se obtiene la máquina 1. Usando (7), se
encuentra la posición k = 0.
El mapeo directo encuentra la posición real dentro de la estructura de vecindad
denotada por el índice a partir de los elementos ikj. Las funciones son:
index = i * j + k
(8)
En la figura 5 se da un mapeo rápido a partir de la representación simbólica
(véase la figura 3) que genera una calendarización de trabajos en una estructura
de tamaño 2n.
Fig. 5. Mapeo rápido.
El arreglo corresponde a una calendarización —trabajos, máquinas y
posiciones— menor en tamaño que la estructura de vecindad de tamaño mn. Esta
estructura permite seleccionar un trabajo aleatoriamente y localizar su posición
dentro de la estructura de vecindad con base en las funciones de mapeo descritas
anteriormente. Esta estructura aumenta la eficiencia en la búsqueda de una nueva
solución debido a que los mapeos directos e indirectos representan la indexación
de la estructura de vecindad y agilizan el acceso y modificación de las nuevas
soluciones, de la misma manera como lo haría una base de datos indexada. Como
se observa en la figura 5, el ordenamiento de la estructura de vecindad es con
base en el número de máquinas y la estructura de mapeo rápido, con base en el
número de trabajos.
92
El movimiento de un trabajo a una posición libre del arreglo genera un vecino. Se
selecciona un trabajo de forma aleatoria de la estructura de vecindad usando el
mapeo rápido, el cual contiene todos los trabajos calendarizados, como se
muestra en la figura 6. Entonces se realiza la operación de transformación
descrita en (8), para localizar el índice que apunta a ese trabajo en la estructura de
vecindad de la figura 6. Paso seguido, selecciona una posición de la estructura de
vecindad en forma aleatoria, la cual es apuntada por el índice y representa el
lugar hacia donde se moverá el trabajo previamente seleccionado. En la figura 6
se muestra una posición libre (-1).
En la figura 6d se indica el movimiento del trabajo j = 0 de la posición 1 a la
posición 4. Por último, con base en las operaciones de transformación descritas en
(5), (6) y (7), actualizamos las posiciones del trabajo j = 0 como se muestra en la
figura 6.
Fig. 6. Operación mueve.
Fig. 7. Operación intercambia.
El intercambio de un par de trabajos en la solución genera un nuevo vecino. En la
figura 7 se muestra el intercambio de trabajos 0 y 2 contenidos en las posiciones 1
y 3. La selección del par de trabajos es aleatoria y las operaciones de
transformación son las mismas aplicadas anteriormente. Finalmente, en la figura
7 se ve que es necesario actualizar las posiciones de los trabajos 0 y 2 para tener
una referencia correcta.
93
5.3 Mecanismo para recolectar soluciones en el clúster
Se le hizo una modificación al algoritmo de RS para permitir su ejecución en
paralelo. Esta modificación consiste en agregar funciones para el pase de
mensajes entre el proceso de control —llamado ‚proceso maestro‛— y los
diferentes procesos de los nodos del clúster —llamados ‚procesos esclavos‛. El
número de procesos que se ejecutan en cada nodo es igual al número de
procesadores que tenga cada nodo en particular, esto es, a cada proceso le
corresponde un solo procesador. Conocido como interfase de pase de mensajes
(MPI), este estándar permite agregar paralelismo a las aplicaciones con memoria
distribuida.
El algoritmo de RS paralelo maestro recolecta las soluciones obtenidas por los
procesos de RS esclavos. Esto significa que cada proceso de RS esclavo envía el
óptimo encontrado al proceso maestro. De esta manera, el óptimo global de los
RS esclavos puede ser obtenido por el RS maestro. Cuando se encuentra más de
un óptimo global igual, se toma el que tiene menos tiempo de procesamiento.
En algoritmo denominado RSPCJ está compuesto por la parte de control (véase la
figura 8a) y la parte de procesamiento numérico (véase la figura 8b).
function
RSProcesoMaestro ( )
Begin
s:= so, t:= 0
cycle p := 1 to
Procesadores
recibe_del_procesado
r(p,s’,t’)
if C(s’) < C(s) then s
:= s, t:=t’
if C(s’) == C(s) and t
> t’ then t:=t’
end cycle
End
Fig. 8a. Algoritmo
RSPCJ parte de
control.
function
RSProcesoEsclavo( )
Begin
s:= so, ti:= t:=
tiempo_inicial()
Repeat
cycle := 1 to MCS
...
end cycle
T := r T
Until FROZEN or s
==SIMPLEX
t’:= tiempo_final() - t
envia_al_maestro(s,t’)
End
Fig. 8b. Algoritmo
RSPCJ procesamiento
númerico.
Por ejemplo, en la figura 9, los p procesos esclavos de los n nodos del clúster
ejecutan el RS cada uno con su propia solución inicial; en cada ciclo MCS los p
procesos esclavos generan soluciones aleatorias y al término descienden la
94
temperatura. Este proceso se repite hasta llegar al punto de congelación FROZEN
y encontrar el óptimo dado por SIMPLEX.
Fig. 9. El algoritmo RSPCJ recolecta las soluciones.
Finalmente, los p procesadores esclavos envían el resultado final que hayan
encontrado al nodo maestro. Entonces, el nodo maestro escoge la mejor solución
(véase la figura 9). En caso de encontrar resultados iguales en más de un
procesador, se toma el que tenga un tiempo menor de búsqueda.
6 Escenario de pruebas
Cinco problemas de prueba fueron usados. Estos benchmarks son los propuestos
en Arnaut et al.15 Cada benchmark contiene 60 trabajos y cuatro máquinas paralelas
no relacionadas. La información referente a los tiempos de iniciado no son
tomados en cuenta porque el modelo usado para este trabajo no los usa. Para
probar la eficiencia y eficacia del algoritmo de RS, un algoritmo exacto
(SIMPLEX) fue desarrollado en Marco et al.16 para resolver las instancias con un
máximo de 60 trabajos y cuatro máquinas. Con este algoritmo se obtuvo la
solución óptima global. Después de obtener la solución, los algoritmos de RS
secuencial y RS paralelo fueron usados para encontrar el óptimo basado en 30
ejecuciones para cada uno de los cinco benchmarks.
95
La infraestructura utilizada fue un clúster de alto rendimiento compuesto de un
nodo maestro con procesador Intel x86 de 1GB de memoria. Nueve nodos de
procesamiento numérico, cada uno con procesador de doble núcleo Intel Celeron
de 2.0 GHz y 2 Gb Memoria, hicieron un total de 18 núcleos de procesamiento
numérico. El software utilizado fue el sistema operativo Scientific Linux 4.7,
compilador GCC 3.4.3, librerías OpenMPI 1.3.6 y sistema de archivos de red NFS.
7 Resultados experimentales
Para todas las pruebas, el sintonizado de los valores de los parámetros del
algoritmo de RS fueron: T = 25, r = 0.985, FROZEN = 0.0001 y MCS es seis veces el
tamaño de la vecindad. El sintonizado de r = 0.985 fue en el rango de (0.8 <= r <=
0.99) de acuerdo con David et al.6 El criterio de paro fue llegar al punto de
congelamiento FROZEN o encontrar el óptimo dado por SIMPLEX.
En el cuadro 1 se observa que para los cinco benchmarks, el algoritmo de RS
secuencial siempre encuentra el óptimo y el número de veces que lo encuentra es
de al menos tres. Muestra una desviación estándar aceptable y un error relativo
por debajo del 0.02%, en el peor de los casos, para el promedio de 30 pruebas por
cada problema. El mejor resultado obtenido por el RS secuencial fue para el
benchmark 60on4Rp50Rs50_1, debido a que, de las 30 pruebas, el peor resultado
fue de 62659, con una desviación estándar de 3.8201 y un promedio de error
relativo de 0.0073%.
Cuadro 1. Eficacia del algoritmo
RS
secuencial
Para el algoritmo de RS paralelo, en el cuadro 2 se observa que al igual que el RS
secuencial siempre encuentra el óptimo, pero el número de veces es de al menos
28. Muestra una desviación estándar mejor que el RS secuencial y, por lo tanto,
un error relativo por debajo del 0.0003%, en el peor de los casos, para el promedio
de 30 pruebas por cada problema. Los mejores resultados obtenidos por el RS
paralelo fueron para los benchmarks 60on4Rp50Rs50_2, 60on4Rp50Rs50_3 y
60on4Rp50Rs50_5. La eficacia aumenta considerablemente debido a que el
96
paralelismo permite evaluar un mayor número de RS. Así, para una prueba del
algoritmo de RS paralelo, se requiere un proceso maestro y 18 procesos esclavos,
aumentando la eficiencia en 18 veces respecto al RS secuencial.
Cuadro 2. Eficacia del algoritmo
RS
paralelo
El cuadro 3 muestra los resultados de eficiencia. Para el último benchmark, el
algoritmo de RS paralelo muestra que el mejor resultado de las 30 pruebas reduce
el tiempo de ejecución en un 27.38% respecto al secuencial. En general, se observa
que el algoritmo de RS paralelo reduce el tiempo de ejecución en la búsqueda del
óptimo en 24.43% en promedio, más rápido que el RS secuencial. La eficiencia del
RS paralelo se ve aumentada cuando uno de los 18 RS encuentra el óptimo antes
de llegar al punto de congelación FROZEN; en este caso, el tiempo de
procesamiento se reduce y de los 18 procesos se toma el menor.
Cuadro 3. Comparación de eficiencia RS secuencial contra RS paralelo
El speedup calculado para el RS paralelo es muy cercano al óptimo y corresponde
a un speedup sublineal, como se muestra en el cuadro 4. La eficiencia calculada es,
en promedio, del 0.999, muy próximo al ideal. El algoritmo paralelo minimiza el
uso de comunicaciones, lo que le permite alcanzar un excelente desempeño en
eficiencia paralela.
97
Cuadro 4. Cálculo del speedup y eficiencia del RS paralelo
8 Conclusiones
La indexación de la estructura de vecindad, representada por un mapeo rápido
en el algoritmo de RS, causa que la búsqueda del óptimo en el espacio de
soluciones sea más eficiente que con el método SIMPLEX en los cinco benchmarks
analizados. La eficacia del algoritmo de RS paralelo y RS secuencial es del 100%
para los benchmarks analizados debido a que encuentran siempre el óptimo en
todos los benchmarks. El RS paralelo muestra una mejor eficacia debido a que hace
una mayor exploración y explotación del espacio de soluciones. Esto se debe a
que para cada prueba se requiere un proceso maestro y 18 procesos esclavos que
se ejecutan en paralelo, lo que aumenta las posibilidades de encontrar el óptimo
en 18 veces respecto al RS secuencial. Así, para las 30 pruebas, existen 30 x 18
posibilidades de encontrar el óptimo. Las posibilidades de encontrar el óptimo en
un clúster de alto rendimiento aumentan en función del número de procesadores
disponibles en él.
Cuando comparamos la eficiencia del RS secuencial con la del RS paralelo, se
observa que el RS paralelo mejora el tiempo secuencial en un promedio de
24.43%. Esto se debe principalmente a que los 30 x 18 RS aumentan de manera
considerable las posibilidades de encontrar el óptimo antes de llegar al criterio de
paro FROZEN, lo que lleva a una reducción en el tiempo de búsqueda.
El algoritmo presenta un excelente desempeño, con 0.99% de eficiencia y un
speedup muy próximo al óptimo, debido principalmente al diseño, el cual
minimiza el uso de las comunicaciones entre los procesos del RS. Otros trabajos
futuros se centrarán en un uso más extenso de las comunicaciones, a fin de hacer
98
una mejor exploración del espacio de soluciones con el pase de mensajes con
MPI.
Referencias
1. Graham, R. L., E. L. Lawler, J. K. Lenstra y A. H. G. Rinnooy Kan,
‚Optimization and Approximation in Deterministic Sequencing and
Scheduling: A Survey‛, Annual of Discrete Mathematics, 1979, pp. 287-326.
2. Garey, A. M. y D. S. Johnson, Computers and Intractability: A Guide to the
Theory of NP-Completeness, Freeman, San Francisco, 1979.
3. Pinedo, M., Scheduling Theory, Algorithms and Systems, Prentice Hall,
2001, p. 586.
4. Hillier, F. S. y G. J. Lieberman, Introduction to Operation Research, 8a
edición, McGraw-Hill, 2008.
5. Kirkpatrick, S., C. Gelatt y M. Vecchi, ‚Optimization by Simulated
Annealing‛, Science, vol. 220, núm. 4598, 1983, pp. 671-680.
6. David, R., R. Sixto y M. Jacinto, Simulación, Alfaomega, 2009, p. 388.
7. Koranne, S., ‚Formulating SoC Test Scheduling as a Network
Transportation Problem‛, IEEE Transactions on Computer-Aided Design of
Integrated Circuits and Systems, vol. 21, núm. 12, diciembre de 2002.
8. Zhou, H., Z. Li y X. Wu, ‚Scheduling Unrelated Parallel Machine to
Minimize Total Weighted Tardiness Using Ant Colony Optimization‛,
Proceedings of the IEEE International Conference on Automation and Logistics,
Jinan, del 18 al 21 de agosto de 2007, pp. 132-136.
9. Mönch, L., ‚Heuristics to Minimize Total Weighted Tardiness of Jobs on
Unrelated Parallel Machines‛, IV IEEE Conference on Automation Science
and Engineering Key Bridge Marriott, Washington, D.C., del 22 al 26 de
agosto de 2008, pp. 572-577.
10. Chun-Lung, C., ‚An Iterated Local Search for Unrelated Parallel
Machines Problem with Unequal Ready Times‛, Proceedings of the IEEE
International Conference on Automation and Logistics, Qingdao, septiembre de
2008, pp. 2044-2047.
11. Pessan, C., J. L. Bouquard y E. Neron, ‚An Unrelated Parallel Machines
Model for Production Resetting Optimization‛, IEEE International Conference
on Service Systems and Service Management, vol. 2, 2007, pp. 1178-1182.
12. Chun-Lung, C. y C. Chuen-Lung, ‚A Heuristic Method for a Flexible
Flow Line with Unrelated Parallel Machines Problem‛, IEEE Conference on
Robotics, Automation and Mechatronics, 2006, pp. 1-4.
13. Anastasova, K. y M. Dror, ‚Intelligent Scheduler for Processing Help
Requests on Unrelated Parallel Machines in a Computer Support
99
Administration System‛, IEEE Conference on Systems, Man, and Cybernetics,
1998, pp. 372-377.
14. Anil Kumar, V. S. y M. V. Marathe, ‚Approximation Algorithms for
Scheduling on Multiple Machines‛, Proceedings of the XLVI Annual IEEE
Symposium on Foundations of Computer Science, 2005, pp. 254-263.
15. Arnaut, P., R. Musa y G. Rabadi, ‚Ant Colony Optimization Algorithm to
Parallel Machine Scheduling Problem with Setups‛, IV IEEE Conference on
Automation Science and Engineering, Washington, D.C., del 23 al 26 de agosto
de 2008, pp. 578-582.
16. Marco, C., J. Fredy, Y. Erika y M. Alina, ‚Simulated Annealing Algorithm
for the Weighted Unrelated Parallel Machines Problem‛, The Electronics,
Robotics and Automotive Mechanics Conference, 2009.
100
Capítulo II. Aplicaciones
101
102
Diseño de un Sistema de Gestión de la
Información para Tutorías
Irma Delia Rojas-Cuevas, José Rafael Mendoza-Vázquez y Sergio Javier Torres-Méndez
Resumen. En este documento se presenta la propuesta para un sistema de
gestión de la información aplicado a tutorías en educación superior. La propuesta
del sistema está basada en el lenguaje de modelado unificado (UML, por sus
siglas en inglés) y en la ingeniería del software. Tiene siete etapas principales:
determinación de requerimientos, planeación, diseño funcional, diseño
pedagógico, diseño físico, sistema y evaluación. Su ventaja estriba en dos
aspectos primordiales: primero, el modelo obtenido es independiente del
lenguaje de programación que se utiliza para su elaboración y construcción;
segundo, el modelo toma en cuenta la reutilización de sus componentes para que
éstos sean incorporados en las secciones que tengan las mismas características.
Para finalizar, se presentan los diagramas y los documentos principales
producidos durante el proceso de desarrollo del sitio de tutorías.
Palabras clave: educación, tutorías, sistemas de gestión de la información,
ingeniería del software, lenguaje de modelado unificado.
Abstract.
This paper presents the systems for information management for tutoring. The
model is based on Unified Modeling Language (UML) and Software Engineering.
There are seven components: determination of requirements, planning,
functional design, pedagogical design, physical design, system evaluation. The
system have the advantage of considering two aspects: the model obtained is
independent of programming language, the model takes into account the aspect
of reusability of different components are built in sections that have the same.
Finally, the diagrams and the main documents generated are presented.
Keywords: education. tutoring, systems for information management, software
engineering, Unified Modeling Language.
103
1 Introducción
En el artículo 3 de la Constitución de nuestro país, así como en el Programa de
Desarrollo Educativo 2000-2006 y en el Programa para el Mejoramiento del
Profesorado (PROMEP), se señala la importancia estratégica de la educación
integral, necesaria para impulsar el conocimiento. La educación integral debe
operar en las instituciones de educación superior (IES), y como parte de su puesta
en práctica se desarrollan actividades de tutoría en estas instituciones. Por
ejemplo, la ANUIES1 reporta que en su caso sólo 20% de los estudiantes de nivel
superior se titula, además de que otro 25% abandona sus estudios, esto último se
destaca entre otros indicadores de las labores de las IES en México. Las causas de
la deserción, el rezago y el abandono académico son diversas; entre ellas, algunos
alumnos señalan problemas personales. Por esta razón, se busca reducir la
reprobación y el abandono a fin de lograr índices de aprovechamiento y de
eficiencia terminal satisfactorios, de modo que los estudiantes de las IES
concluyan sus estudios y se incorporen al ambiente laboral. Para que esto sea
posible, el papel que ha desempeñado el docente del nivel superior debe cambiar,
pasando de ser el de un simple transmisor de conocimientos, al de ser un
facilitador, tutor y asesor, a fin de que el alumno alcance una formación que le
prepare para un desenvolvimiento acorde con su proyecto de vida y su vida
profesional. Por ello, la ANUIES,2 en La Educación Superior en el Siglo XXI,
propone el desarrollo integral de los alumnos y destaca la institucionalización de
las actividades de tutoría en el año 2000. Posteriormente, en una publicación de
Alejandra Roma López,3 la ANUIES establece los programas institucionales de
tutoría, su organización y funcionamiento en las IES, a partir de los cuales se han
puesto en marcha muchos de los programas de tutoría que actualmente operan
en buena parte de las instituciones de este nivel. A mediados de 2003, la propia
ANUIES4 publica un estudio sobre las modalidades y los procedimientos
utilizados por las instituciones que ya habían puesto en marcha un programa de
tutoría, con resultados interesantes para aquellas IES que también buscan poner
en práctica modelos tutoriales, dado que se muestra la diversidad de estrategias
utilizadas, pero, a la vez, la homogeneidad en los objetivos e intenciones
formativas.
2 Espacios educativos
La ANUIES2,3 propone el establecimiento de universidades virtuales para mejorar
la educación; promueve también el uso de las tecnologías por medios
104
electrónicos, como una necesidad actual. Por su parte, el gobierno mexicano,5 en
su estrategia 14.2, destaca el uso de las tecnologías de información y
comunicación; mientras en España se analizan cuáles son las mejores opciones
para el desarrollo de sistemas en la Web.6 Por ello, los espacios educativos en
Internet que ofrecen diferentes instituciones públicas, como la Universidad
Tecnológica de Puebla, y privadas, como la Universidad de las Américas y el
ITESM, son cada vez más frecuentes. Estas áreas deben estar dirigidas a los
estudiantes, usuarios principales de la red, y reunir características de simpleza,
amenidad y facilidad de uso;7 por lo tanto, se necesita definir sus requerimientos
de acuerdo con el cliente y traducirlos finalmente a los objetivos alcanzables del
aprendizaje significativo,8 como sucede en las tutorías. Para ello, se emplean
principios de diseño funcional, sin perder de vista el diseño pedagógico, 9 el cual
permite al estudiante asimilar en forma ágil los contenidos y los conocimientos.
Del mismo modo, el diseño físico del espacio educativo debe ser agradable, para
que se capte la atención del estudiante y su interés se mantenga, aprovechando la
interactividad del sistema.
Recientemente, en distintas IES de México, se ha desarrollado lo que se ha
dado en llamar ‚tutorías electrónicas‛, cuya característica es la de ofrecer
asistencia apoyada en las nuevas tecnologías de la información, sobre todo en la
computadora y en Internet. Así, las actividades de apoyo y aprendizaje en
general y los objetivos relacionados con la tutoría en especial se realizan
mediante el uso de estas tecnologías. Con base en este tipo de medios se elaboran
tutoriales de contenidos y propósitos educacionales múltiples, con la intención de
que el alumno sea capaz de ‚aprender a aprender‛. Adem{s de que se dispone de
información para el alumno y los tutores, todo esto está orientado a mejorar el
desempeño del alumno durante su estancia en una IES.
En las secciones siguientes se presentan los aspectos fundamentales de la
tutoría y la propuesta para el Instituto Tecnológico de Puebla.
3 La tutoría
La tutoría es una actividad docente que respalda la integración escolar en
general, así como la vida cotidiana extraescolar del estudiante a partir de sus
intereses y necesidades académicas. Su finalidad es impulsar al alumno para que
adquiera madurez e independencia en su proceso educativo. 1 La tutoría también
asegura que la formación sea integral, ya sea personalizada o grupal, o ambas,
pues se basa en la interrelación y el compromiso entre el tutor y el o los alumnos,
mediante el establecimiento de las condiciones de apoyo y seguimiento para el
aprendizaje.
La tutoría es una actividad continua; apoya, orienta y evalúa el proceso de
aprendizaje del alumno;1,2,3,4 propicia la iniciativa propia, está planificada de
105
manera sistemática, contribuye al abatimiento de la deserción y crea un clima de
confianza. Así, las circunstancias o condiciones del aprendizaje mejoran y la
capacidad del estudiante para asumir responsabilidades en el ámbito de su
formación profesional se desarrolla. Por medio del estímulo al interés del
estudiante, se promueven las habilidades de integración en los equipos de
trabajo, así como valores y actitudes que favorecerán su desempeño, tanto en el
ámbito académico y profesional, como en el personal.
4 Modelo
La elaboración de la presente propuesta contempla varios aspectos, los cuales se
desarrollan de manera gradual. Primero, se determinan los requerimientos del
usuario final. Tomando como base estos requerimientos, se establece el diseño
funcional. En seguida se hace el diseño pedagógico y a continuación se elabora el
diseño físico, el cual da la pauta para obtener el sistema en su primera versión, la
cual se evaluará al final. En la figura 1 se muestra este modelo de desarrollo de
tutorías, en él se muestran las seis etapas que acabamos de mencionar:
determinación de requerimientos, diseño funcional, diseño pedagógico, diseño
físico, sistema y evaluación. Con base en la evaluación se pueden hacer mejoras,
en un proceso de retroalimentación. Dentro de este modelo, los requerimientos
del ususario son fundamentales, y a partir de ellos se establecen las bases del
sistema.
Este modelo se distingue porque considera el diseño pedagógico, el cual
permite que los contenidos sean asimilados de forma fácil.
Todos sus componentes se describirán de manera detallada en las siguientes
secciones.
106
Mejoramiento
Determinación de
requerimientos
Retroalimentación
Diseño
funcional
Diseño
pedagógico
Diseño
físico
Sistema
Evaluación
Fig. 1. Modelo para el desarrollo de sistemas de gestión de la información.
4.1 Determinación de requerimientos
Los requerimientos son las necesidades que los usuarios tienen para alcanzar un
objetivo o resolver un problema.9 Los requerimientos son la base para establecer
los objetivos de funcionalidad del sistema y son un punto de verificación para
corroborar que el sistema cumple con el planteamiento original. Por ello, es muy
frecuente escuchar que una cantidad considerable de proyectos de ingeniería de
software fracasan, puesto que no contemplaron una definición, especificación y
administración adecuada de los requerimientos.
La documentación de los requerimientos sirve para especificarlos por escrito y
detallarlos, antes de la elaboración del sistema. 10 Con los requerimientos
definidos, contamos entonces con especificaciones correctas y medibles — que
describen consistentemente, es decir, con claridad y sin ambigüedades, las
necesidades de los usuarios— para involucrarlas en el sistema.
Los requerimientos se subdividen en requerimientos funcionales y no
funcionales.
Los requerimientos funcionales definen las funciones que el sistema debe ser
capaz de realizar y describen las transformaciones que el sistema debe llevar a
cabo sobre las entradas para producir salidas precisas y útiles. Por ello es
importante que se describa lo que el sistema debe hacer. Entre este tipo de
requerimientos se deben establecer todos los aspectos que puedan ser
representados en un diagrama de casos de uso, 11,12 en el cual se refleja la
funcionalidad del sistema, es decir, las funciones que se desea realice el sistema.
107
En este tipo de sistemas, el requerimiento de contenidos es primordial.
Asimismo, deberán especificarse las actividades que puede realizar cada uno de
los actores del diagrama de casos de uso.
Los requerimientos no funcionales tienen que ver con aquellas características
que pueden limitar el sistema, como, por ejemplo, rendimiento, interfaces del
usuario, fiabilidad, mantenimiento, seguridad, portabilidad, estándares, etcétera.
4.2 Diseño funcional
El diseño funcional se realiza con base en los requerimientos del usuario, donde
se establece la forma en que se deberá comportar el sistema y se define lo que se
espera del sistema en acciones concretas. El diseño funcional determina cuáles
son los componentes necesarios para que el sistema funcione adecuadamente,
antes de pasar al diseño físico.
En el diseño funcional se incluye, principalmente, el propósito del sistema; los
objetivos del diseño; definiciones, acrónimos y abreviaturas; referencias;
arquitectura del sistema; la forma en que funcionará el sistema para satisfacer los
requerimientos especificados. Todo ello se establece mediante la arquitectura del
sistema. Para definir la arquitectura del sistema se utilizan los diagramas de casos
de uso y diagramas de secuencia. De esta forma, se determinan las
funcionalidades del sistema. Además, se elaboran los diagramas de secuencia
para establecer con claridad la interacción de cada actor con el sistema. En el
diagrama de casos de uso se debe ubicar quiénes van a ser los actores, cuáles
serán sus funciones y cuál será su interacción con el sistema. Una vez terminadas
estas actividades, se las documenta en formatos preestablecidos. A continuación,
se muestra el diagrama de casos de uso del tutorado y del tutor del
administrador y del gestor (véanse las figuras 2, 3, 4 y 5).
108
Fig. 2. Diagrama de casos de uso del tutorado del sistema de gestión de la
información para tutorías.
Fig. 3. Diagrama de casos de uso del tutor del sistema de gestión de la
información para tutorías.
109
Sistema de Gesti—n de la Informaci—n para
Tutor’as a nivel Licenciatura
ÇusesÈ
ÇusesÈ
ÇusesÈ
Registrarse
BD usuarios
ÇextendsÈ
Autenticarse
Gestor
Depto. acadŽmico
Establecer la
relaci—n alumno-tutor
Reglamento de tutor’as
y Documentos de apoyo
Fig. 4. Diagrama de casos de uso del administrador del sistema de gestión de la
información para tutorías.
4.3 Diseño pedagógico
El diseño pedagógico consiste en establecer los contenidos necesarios y ponerlos
en orden de mayor a menor grado de complejidad, empleando imágenes, a fin de
lograr impacto visual. Dado que esta forma de aprendizaje la tenemos desde
niños, esta sección se ha llamado ‚diseño pedagógico‛ y no ‚diseño
andragógico‛ (véase la figura 5).
Fig. 5. Orden de los contenidos.
110
4.4 Diseño físico
El diseño físico tiene dos vertientes, el diseño conceptual y el diseño detallado,
éstos se muestran en la figura 6.
Fig. 6. Tipos de diseño.
El diseño físico consiste en la definición de la distribución de los elementos en las
páginas principales y secundarias; en la elección de colores, botones, imágenes y
demás, obteniendo como resultado la interfaz gráfica que nos permitirá
interactuar con el sistema.
El diseño conceptual representa la suma de todos los subsistemas que integran el
sistema completo, proponiendo un modelo del producto global que realiza las
funciones necesarias para dar servicio al usuario. En la figura 7 se presenta parte
del diseño conceptual.
Fig. 7. Diseño conceptual del sistema de gestión de la Información para tutorías.
111
(a)
Fig. 8. Diseño conceptual del tutor (a) y del tutorado (b).
(b)
El diseño detallado consiste en definir cuál será el dibujo de cada icono que se
ubicará en la página, así como las imágenes y los colores que se utilizarán —
preferentemente se utilizan colores de tipo institucional (véase la figura 9).
Fig. 9. Diseño detallado de la vista del tutor (a); tutor-tutorado, entrevista inicial
(b); tutor-tutorado, habilidades de estudio (c); tutor-tutorado, análisis FODA (d).
4.5 Sistema
En esta sección se debe determinar con qué software se ha de desarrollar el
sistema. El sistema de tutorías utilizará el lenguaje HTML; sin embargo, para
facilitar el manejo de este lenguaje se utilizará el dreamwear. Así también, se
utilizará PHP para los formatos y el acceso al sistema. Para las animaciones se
utilizará Flash y Swish; para el diseño se utilizará Fireworks y finalmente para la
elaboración del video de bienvenida y el manual del usuario se utilizará
Camtasia y Snagit.
112
4.6 Evaluación
Una vez concluido el desarrollo y su implementación, se procede a realizar la
revisión del sistema a fin de verificar que se cumplió con los requerimientos tanto
funcionales como no funcionales. Este proceso se desarrolla por medio de los
alumnos que realicen la evaluación del sistema y contesten un cuestionario para
disponer de información relevante del sistema y sus acciones (véase la figura 10).
Fig. 10. Cuestionario para evaluar el sistema.
113
4.7 Retroalimentación
Después de analizar la pertinencia de realizar en el sistema los cambios
sugeridos, y en el caso de que no se haya cubierto algún objetivo, se hace la
retroalimentación. El mejoramiento comienza siguiendo el diagrama que se
muestra en la figura 11.
4.8 Mejoramiento
El mejoramiento se da en todas las etapas, empezando por la etapa de definición
de requerimientos, donde se deberán plantear los requerimientos obtenidos en la
etapa de evaluación. Los nuevos documentos generados deben estar actualizados
en versión y fecha, para que posteriormente se hagan los cambios en el sistema
(véase la figura 12).
Fig. 11. Diagrama de retroalimentación del sistema.
5 Conclusiones
Se obtuvo un modelo para el desarrollo de sistemas de gestión de la información
para tutorías en educación superior en el Instituto Tecnológico de Puebla. Este
modelo establece los requerimientos del sistema y de esta manera define los
alcances del sistema a desarrollar, con base en los requerimientos de la DGEST y
la ANUIES.
En el modelo, los módulos y objetos del sistema de tutorías se definieron para
que fueran reutilizables, a fin de aprovechar los elementos desarrollados.
114
El establecimiento del modelo para el desarrollo de SGI permite utilizar
metodologías tipo UML. En este formato, la revisión y el mejoramiento de los
componentes de los sistemas resultan simples.
En el artículo se presentaron algunas de las secciones más remarcables y el diseño
propuesto para el sistema de tutorías.
Para el mejoramiento del sistema, se están empleando, entre otros, los
indicadores expuestos en la sección de evaluación y el formato de la figura 11.
Principalmente, se dispondrá de datos referentes al uso, facilidad y claridad de la
información. También se tendrá evidencia de la rapidez y el número de usuarios.
Para los casos expuestos, la información que den tanto los alumnos como los
tutores será vital para el mejoramiento del sistema, a fin de tener un SGI ameno,
de fácil uso y que permita desarrollar las actividades de tutoría en el Instituto.
Dado que en la actualidad vivimos en la era de la información, donde la ésta es
uno de los bienes más preciados de la empresa, aquel organismo que no esté
actualizado al respecto corre el riesgo de quedar rezagado; por lo tanto, es
recomendable digitalizar la información y colocarla en la red de redes. Esto hará
más ágil su acceso, de tal forma que pueda tenerse a disposición en el momento
en que sea requerida.
En relación con las áreas de oportunidad, se dispondrá de un conjunto de
elementos constructivos en el área de sistemas interactivos, los cuales permitirán
el desarrollo de sistemas de características similares en un tiempo menor.
Finalmente, se dispondrá de elementos humanos con los conocimientos
suficientes y necesarios para desarrollar sus propias aplicaciones, lo cual recae en
el ámbito de reducción de costos en el presente; y en el futuro, se tendrá la
capacidad de atender las necesidades de empresas e industrias en diferentes
zonas industriales, dado que las aplicaciones sobre sistemas interactivos son una
necesidad actual.
Referencias
1.
Asociación Nacional de Universidades e Institutos de Educación
Superior (ANUIES), Programas Institucionales de Tutoría, ANUIES
(Colección de la Biblioteca de la Educación Superior, Serie
Investigaciones), 2000.
2.
ANUIES, La Educación Superior en el Siglo XXI. Líneas estratégicas
de desarrollo, una propuesta de la ANUIES, ANUIES, marzo de 2000.
3.
Roma López, Alejandra, La incorporación de los programas de
tutorías en las instituciones de educación superior, ANUIES (Colección de
documentos), 2003.
4.
Programa Nacional de Extensión de la Cultura y los Servicios,
Aprobado en la XXX Sesión Ordinaria de la Asamblea General de la
ANUIES.
115
5.
Poder Ejecutivo Federal, Plan Nacional de Desarrollo 2007-2012,
objetivo 11, estrategia 14.2.
6.
Pons, J. de P., R. García Pérez, R. Barragán Sánchez y O. Buzón
García, Análisis de páginas Web elaboradas por docentes de tecnología
educativa: una aproximación descriptiva de sus conceptos socioculturales,
Universidad de Sevilla, España.
7.
República de Colombia, Ministerio de la Protección Social,
Informática siglo XXI, documento de especificación de requerimientos no
funcionales del proyecto de Mejoramiento de Procesos, Análisis y Diseño
del Sistema de Información para la Vigilancia de Eventos en Salud
Pública en la Fase 1: Subsistema Básico General y Subsistema de
Vigilancia en Salud Pública.
8.
Zapata Ros, M., ‚Brecha digital y educación a distancia a través
de redes. Funcionalidades y estrategias pedagógicas para el e-learning‛,
Anales de Documentación, núm. 8, 2005, pp. 247-274.
9.
Herrera, J. y Lizka J., ‚Ingeniería de requerimientos, ingeniería
de software‛, 2003.
10.
Ferré Grau, X. y M. I. Sánchez Segura, Desarrollo orientado a objetos
con UML, Facultad de Informática-UPM.
11.
Piattini Velthuis, M. y F. García Rubio, Calidad en el desarrollo y
mantenimiento del software, Alfaomega, México, 2003.
12.
IEEE-SA Standards Board, IEEE Recommend Practice for Software
Requirements Specifications, IEEE (estándar 830), 1998
116
Actualización de Bases de Datos DBF a MySQL
Abraham Briseño Cerón, Vanessa Guadalupe Félix Aviña,
Rogelio Alfonso Noris Covarrubias
Resumen. Con el uso de Internet, las empresas están invirtiendo en la
actualización de sus aplicaciones. El proceso de modernizar los sistemas requiere
del análisis de las estructuras de datos actuales para la construcción de nuevos
modelos de datos. El desarrollador deberá contar con una guía de los
mecanismos de transferencia de información entre las estructuras de datos para
mantener la integridad de los sistemas. En este trabajo se propone una
metodología para actualizar bases de datos que estén en formato DBF
transfiriéndolas al sistema manejador de base de datos MySQL, mediante una
herramienta de migración de datos elaborada en lenguajes XML y PHP.
Palabras clave: actualización de sistemas, bases de datos, migración de datos.
Sumario:
1 Introducción 2 Estado del arte 3 Metodología 3.1 Análisis de sistemas 3.2
Modelado y transformación 3.3 Estructuras y comparadores 3.4 Extractores e
inserción 3.5
Pruebas y revisión 4 Conclusiones y trabajo futuro.
1 Introducción
Las empresas, siguiendo un proceso natural de expansión de su mercado, tienen
necesidad de compartir su información con los usuarios o clientes. Para realizar
esta tarea, optan por desarrollar sistemas nuevos o actualizar sus aplicaciones
vigentes. Aproximadamente 80% de los gastos totales en el software de una
empresa corresponden a la etapa de mantenimiento; 1 en términos económicos,
este porcentaje equivale a los gastos de adquisición de un sistema nuevo, o bien,
a la actualización del ya existente. Si la empresa requiere una modernización de
sus sistemas, debe contemplar el gasto en software, hardware y en la capacitación
tecnológica de los usuarios. En una actualización, así como en el desarrollo de un
sistema nuevo, lo más importante es proteger la integridad de la información; sin
embargo, los sistemas vigentes almacenan la información sin prever las ventajas
que se obtendrían si se le da un formato que permita su uso más allá de la
consulta simple de las bases de datos. El traslado de información, de una
117
estructura de base de datos a otra, es sumamente delicado, debido a la necesidad
de asegurar la integridad de los datos antes, durante y después de la
transferencia. Asimismo, es recomendable utilizar una metodología clara para la
actualización de las bases de datos, facilitando, con este proceso, las consultas
posteriores, el manejo de la totalidad de los datos, la organización de su
almacenamiento, una identificación clara de los campos mediante los nombres
asignados al contenido, el uso de la normalización de datos y el establecimiento
de los niveles de concurrencia. Este proceso de actualización de datos llevará a
los desarrolladores a preguntarse cómo migrarlos. La operación es riesgosa
porque mezcla diferentes formatos, estructuras y parámetros y puede provocar
retrasos prolongados, costos altos y hasta pérdidas de información, inclusive. Lo
anterior depende de la herramienta que se seleccione, por ejemplo, la adquisición
de algún software o el desarrollo de una utilería de migración a la medida. El
presente trabajo se enfoca en la actualización de bases de datos en formato DBF
para su uso en el gestor MySQL, mediante una metodología en la cual se elaboró
una herramienta y se utilizaron lenguajes como XML (Extensible Markup
Language) y PHP, lo que dio como resultado un motor de migración denominado
DB-MY.
2 Estado del arte
La actualización de los datos es un proceso ligado a las bases de datos,
aplicaciones o sistemas de información, por lo tanto, la conservación de la
información existente es primordial porque ésta suele tener un valor histórico
para sus propietarios, o bien, para las organizaciones que la manejan. 2 De ahí
proviene el interés en el desarrollo de metodologías y herramientas diversas para
llevar a cabo transferencias de datos a otros ambientes. Los métodos que se
utilizan pueden ser directos o indirectos; los primeros operan de la siguiente
manera: abren los archivos DBF o MDB, se conectan a la base de datos MySQL y
transfieren sus contenidos a través de esa conexión con la misma estructura de
fila y columna en las tablas origen y destino. Los segundos crean uno o más
archivos temporales, los cuales posteriormente generarán las tablas de la base de
datos, o bien, insertarán los registros conservando la misma estructura. 3 Existen,
además, los generadores automáticos de planes de migración de datos, los cuales
funcionan a partir de la información disponible en los modelos producidos con
las herramientas CASE. Estas herramientas trabajan por comparación —entre los
esquemas que definen el sistema original y los del sistema evolucionado, el cual
admite los cambios—, y así es posible producir de manera automática planes de
migración de datos cuya ejecución migre y transforme la información
almacenada desde la base de datos inicial hasta la final. 4 En cuanto a las
herramientas que se utilizan para llevar a cabo la migración de datos, se tienen
118
las siguentes: dbf2mysql, Ispirer SQLWays, Embarcadero DT/Studio, DBF-toMySQL, DBF Converter, todas las cuales son programas ágiles de conversión de
datos; sin embargo, en algunos casos no soportan un número amplio de registros;
en otros, el tiempo de migración es demasiado y provoca la pérdida de datos,
además de que la transferencia de los datos se realiza sin normalizarlos o
distribuirlos, como se observa en el cuadro 1, donde se comparan estas
herramientas.
Cuadro 1. Comparación de herramientas de migración DBF a MySQL
Este proyecto se basa en la necesidad de actualizar los datos que se encuentran en
formato DBF para su uso en un operador de datos que facilite el trabajo con ellos
en la Web, como lo hace el gestor MySQL. Para llevarlo a cabo, los recursos
económicos de la empresa deben tomarse en cuenta, pues en ocasiones es
preferible el desarrollo de herramientas a la medida, con tendencia al uso de
software libre, lo que disminuye el costo de las licencias. Se recomienda que el
programador cuente con un plan o metodología de trabajo para la migración de
datos, con la finalidad de garantizar la integridad de la información.
3 Metodología
Para actualizar las bases de datos, deben establecerse primero los requerimientos
de información que se manejarán en el nuevo sistema y la relación de los datos
con el antiguo esquema. Es importante conocer al dueño o los dueños de la
información, así como los criterios de depuración que se aplicarán a los datos
seleccionados, asegurando de esta manera una óptima calidad de migración. 5 Si
se establece un buen esquema de trabajo de actualización, se facilitará el traspaso
de datos entre estructuras diversas. En la figura 1 se observan las etapas de este
propuesta de metodología para la actualización de datos, de DBF a MySQL:
119
Fig. 1. Etapas de la actualización de una base de datos.
Este modelo se pondrá en práctica en el departamento de estadística de la
Secretaría de Educación y Cultura durante la actualización de algunos de sus
sistemas —los cuales están elaborados en DBase—, debido a que la ley de
transparencia de la información los obliga a contar con un portal donde se
publiquen las acciones en materia de información educativa y estadística de la
región.
3.1 Análisis de sistemas
En esta etapa se contemplan tanto la definición de los datos como los
requerimientos del nuevo sistema. Para comenzar, se hace una inspección interna
de las bases de datos existentes con el objetivo de diseñar el modelo de datos
correspondiente. Es posible que no se cuente con información previa sobre el
repositorio de datos, por lo que se tendrá que hacer una propuesta. Con este
primer modelo, y atendiendo a las necesidades de información, se construirá el
nuevo modelo de base de datos.
3.2 Modelado y transformación
El resultado del análisis es el modelo de datos. Éste sirve como base para el
modelo nuevo —y en caso de ser necesario, se mejora, por ejemplo,
normalizando los datos. Esta variable es la referencia que se usa en el modelo de
datos, lo que resulta muy complejo para el administrador de una base de datos
como ésta. En este caso, se llevó a cabo una transformación del modelo, pues éste
120
no estaba validado. Se aplicaron entonces las tres primeras formas normales y el
resultado fue un nuevo modelo relacional de datos.
Las tres primeras formas normales son las siguientes:

Primera forma normal: una relación se encuentra en 1FN si y solo si todos
sus renglones columna son atómicos.

Segunda forma normal: se encuentra en 2FN si los atributos no primos
dependen de una la llave primaria.

Tercera forma normal: está en 3FN si está en 2FN y todos los atributos no
primos no dependen transitivamente de la llave primaria.
Como parte de la metodología, se diseñó una herramienta de migración con el
siguiente modelo, el cual consta de tres etapas, como se muestra en la figura 2.
Fig. 2. Esquema para elaborar herramienta de migración.
Las tres etapas del modelo de esta herramienta se describen de esta manera:
Primera etapa: se lleva a cabo la lectura de las estructuras de datos. Segunda
etapa: se hace una comparación entre estructuras y se define un mecanismo de
control para la migración. Tercera etapa: contando con el mecanismo de control,
se traspasa la información a la nueva estructura de datos.
3.3
Estructuras y comparadores
Con el apoyo de los diccionarios de datos, y mediante la elaboración de reglas de
transformación, se construyen las estructuras tanto del modelo anterior como del
nuevo. Esto forma parte de la primera etapa de la migración. El comparador de
campos o mapeo entre las fuentes de origen y destino es necesario. Este paso es
indispensable para que la información se coloque en su cuadro o base de datos
121
correspondiente y se mantenga la relación de datos que permite asegurar la
integridad de la información. Para esto, en lenguaje XML, se elaboraron archivos
con las estructuras de origen y destino, así como los metadatos, los cuales
describen cómo se comportan los datos, de tal manera que, al cargar un DBF, se
haga una inspección por filas. Este mapeo servirá para ir generando las
estructuras pertinentes para la inserción y revisión por columnas en la
comparación de estructuras. La información de definición de datos se envía al
módulo denominado ‚comparador‛, para saber en qué sección del repositorio
nuevo se depositarán los datos. El llamado de la comparación se hace invocando
los dos archivos de las estructuras, como se muestra en el siguiente código:
<?xml version="1.0" standalone="no"?>
<files>
<file dbf=’miarchivo.dbf’ xml=’miarchivo.xml’/>
</files>
Dentro de cada XML se tiene la información correspondiente a cada DBF, además
de su correspondiente en la base de datos nueva, los metadatos que describen
cada archivo DBF —y que contienen el nombre del cuadro del repositorio nuevo
y el identificador del campo—, así como los datos manejados en las variables dbfi
y dbff, los cuales servirán para hacer la comparación semántica del campo y
validar que el tipo de dato corresponda, como puede verse en el siguiente
ejemplo de código:
<?xml version="1.0" standalone="no"?>
<database name=’nombre_base_datos’ server=’servidor’ user=’usuario_conexión’
pass=’password’>
<general>
<table name=’nombre_tabla’>
<campo name=’nombre_campo’ dbfi=’variable_dbf’ dbff=’variable_mys’/>
</table> </general> </database>
Después de la comparación de estructuras vendrá el proceso de lectura y
escritura de datos.
3.4 Extractores e inserción
La construcción de los métodos de lectura de información de las fuentes de datos
se realiza y éstos se vinculan con los módulos de estructuras y comparación. Este
último módulo servirá de vínculo en el proceso de inserción, donde se tendrán
los métodos de escritura y validación del formato para el nuevo sistema operador
122
de base de datos. Este proceso se realiza mediante clases implementadas en PHP,
que forman el core del motor DB-MY. El funcionamiento será el siguiente: una
vez que se identifica el nombre del archivo DBF y se cuenta con el XML que tiene
la estructura de origen y destino, se carga en la memoria, por medio del mapeo,
la ruta del archivo, el cual habrá de recorrerse de manera secuencial para ir
tomando las filas y colocándolas en un ciclo finito, a fin de realizar la lectura y
escritura por medio de los comandos de SQL. Este paso se realizará con la
construcción de funciones desarrolladas en las clases del motor y con la
manipulación de la clase XMLCore (xmlcore.php), la cual va acomodando los
datos al leer los archivos DBF e indica cómo éstos se deben acoplar. Además, se
ejecuta una clase denominada ‚Conversor‛ (conversor.php) para que se encargue
de coordinar el trabajo de lectura y controle la inserción de datos. Con este core,
todo el proceso de lectura y escritura entre la estructuras quedará hecho. Cabe
señalar que los datos se migran a MySQL, pero el core puede hacerlo hacia
cualquier otro sistema operador de datos con características similares a las de
MySQL. Una observación: si al establecer una metodología como ésta no se
cuenta con la posibilidad de desarrollar una herramienta para la migración de
datos durante la actualización, se puede utilizar alguna de las ya existentes, de
acuerdo con el problema.
3.5
Pruebas y revisión
En esta etapa se realizarán evaluaciones de la migración de datos. Primero se
simularán cargas de cuadros de muestra, las cuales servirán para identificar los
inconvenientes que podrían presentar las cargas reales. Esto permitirá hacer las
modificaciones necesarias en el motor o en los archivos de estructura de origen y
destino. Después se empezarán a trasladar cuadros pequeños, verificando si los
datos son correctos. Si es así, entonces, por último, se realizará la migración
restante del repositorio antiguo al nuevo y se proseguirá con la revisión de
resultados. En ocasiones, será necesario diseñar de nuevo algunas funciones de
lectura o de escritura, si es que están provocando pérdidas de información. Para
detectar estas fallas, es importante hacer una revisión a detalle antes de dejar
trabajando por sí solo al motor. Las reglas de control para determinar dónde
podría estar el error son indispensables para hacer una herramienta estable, así el
motor de migración coordinará todo el proceso de transacción y, por ejemplo, si
se presenta algún error, ejecutará una operación de tipo rollback y omitirá lo
actualizado. Por último, se realizaron pruebas con datos reales y se obtuvo que al
pasar un archivo DBF pequeño, de 34 registros, la migración tarda de 2 a 3
segundos. Con un DBF de estructura compleja, de 13 816 registros, tarda de 10 a
15 minutos. Esto es relativamente rápido si se lo compara con la cantidad de
información a transferir o con las veces que se debe repetir un proceso
123
manualmente. Además, se puede realizar desde cualquier máquina conectada a
Internet. Esta herramienta es genérica, de alguna manera, puesto que se la podría
adaptar fácilmente a cualquier otra tarea de migración de datos; es flexible y
expandible para soportar otros gestores de base de datos y para incrementar el
rendimiento de las actividades de traspaso de datos. En la figura 3 se muestra la
interfaz de migración de datos datos y los controles visuales para verificar el
estado de este proceso.
Fig. 3. Interfaz para migrar bases de datos DBF a MySQL.
Una vez concluidos la metodología y el desarrollo de esta herramienta, se tienen
los datos en una plataforma de gestión de datos diferente y lista para generar la
actualización de software o de las aplicaciones necesarias.
4 Conclusiones
Esta metodología proporciona los pasos para llevar a cabo la transferencia de
datos entre las estructuras DBF y MySQL. Se apoya en el desarrollo de una
herramienta hecha a la medida para garantizar la actualización de los datos,
debido a que las existentes en el mercado no servían en las condiciones
específicas de este problema. La renovación de las estructuras de bases de datos
incide en las necesidades globales de información. Para realizar esta tarea, el
análisis es fundamental porque de esta manera se conocen las estructuras de
origen con base en las cuales se proyectarán las estructuras nuevas. Al conocer
ambas estructuras se controlan mejor la definición de datos, la lectura y el paso
de la información a través de las herramientas de migración. Los programadores
pueden optar por el desarrollo de herramientas de migración o por la utilización
de alguna ya existente. Una buena metodología garantizará el éxito de la
actualización de la información. Este trabajo se llevó a cabo para actualizar
sistemas de información estadística que estaban desarrollados en DBase,
mediante cuatro pasos básicos: la lectura de las estructuras, la comparación para
124
indicar el origen y el destino, la escritura de datos y las estructuras de control de
migración. Con este procedimiento, se hizo la actualización de información entre
dos sistemas de operación de datos, se desarrolló una herramienta denominada
‚DB-MY‛ y se utilizaron lenguajes como XML y PHP. Este proyecto permitió
actualizar en poco tiempo todos los registros estatales de educación en cualquier
nivel, de manera eficiente y automática. Esta actualización, ya consolidada, forma
parte de las utilerías del Sistema de Información Estadística y Educativa de la
SEPyC. En el futuro se continuará desarrollando esta herramienta de migración,
tomando en cuenta la compatibilidad con otras extensiones de archivos de datos,
así como con otros sistemas operadores, de tal forma que se su utilización se
generalice entre los diversos gestores de datos.
Referencias
1. Ramos, I. y J. Silva, ‚Un generador de planes de migración‛, Taller de
Evolución, VI Jornadas de Ingeniería del Software y Bases de Datos, Almagro
(Ciudad Real), noviembre de 2001.
2. Talend, ‚Open Data Solutions‛, http://www.talend.com/index.php#.
3. Llarens, Jorge, ‚Migraciones.Mygnet‛,
http://www.mygnet.net/manuales/mysql/manejo_de_base_datos.
4. Carsí, J. A., I. Ramos, J. Silva, J. Pérez y V. Anaya, Un generador automático de
planes de migración de datos, Departamento de Sistemas Informáticos y
Computación, Universidad Politécnica de Valencia.
5.
Data
Migration
Testing
Methodology,
http://www.docstoc.com/docs/document-preview.aspx?doc_id=287735.
125
126
Proposición de un Modelo para la Acentuación
Automática de Palabras Ambiguas del Español,
utilizando Etiquetado de Texto
Raymundo Montiel, Blanca E. Pedroza, María Guadalupe Medina, Carlos Pérez
Resumen. La acentuación de palabras cuando se escribe un texto en español es
un problema de ambigüedad, debido a que muchas palabras llevan acento o no
dependiendo del contexto de la frase. El problema de la ambigüedad está
relacionado con la asignación de etiquetas o categorías gramaticales a las
palabras dentro de una frase, es decir, cuando se indica si se trata de un verbo, un
sustantivo, etcétera. En el presente artículo se propone un modelo que ayuda a
determinar en forma automática si una palabra con acento diacrítico debe llevar o
no acento ortográfico, con base en la asignación de etiquetas y mediante la
aplicación de métodos híbridos —algoritmos supervisado y no supervisado.
Posteriormente, el método se aplica en el diseño de un programa de cómputo
cuya función es de apoyo en la enseñanza de las reglas de acentuación y con el
cual se realiza la acentuación automática de palabras ambiguas. Este método
podría ser una herramienta en un procesador de palabras.
Palabras clave: desambiguación del sentido de la palabra (DSA),
Keywords: word sense disambiguation, accent restoration, part of speech tagger.
Sumario:
1 Introducción 2 Solución 3 Resultados 4 Conclusiones Referencias
1 Introducción
En computación, una de las tareas más difíciles —y que ha suscitado mucho
interés en el ámbito del procesamiento del lenguaje natural (PLN)— se produce
cuando una palabra tiene varios sentidos o significados. Este fenómeno
lingüístico se conoce como ‚polisemia‛ y a él se le asocia lo que en el
procesamiento del lenguaje natural se conoce como desambiguación del sentido
de la palabra (DSA), tarea que consiste en identificar el sentido correcto de una
palabra en un contexto.4 La polisemia está muy relacionada con el problema de la
asignación de categorías gramaticales, el cual consiste en decir si una palabra es
127
un verbo, un artículo, un adjetivo o un sustantivo, 3 dependiendo del significado
que le corresponde en el contexto de la oración.
El proceso de acentuar palabras es también un problema de ambigüedad, debido
a que en el español existen muchas palabras que pueden estar acentuadas o no,
dependiendo de su contexto, del tiempo de la acción en la oración, etcétera. El
acento diacrítico distingue palabras formalmente idénticas, es decir, escritas con
las mismas letras, pero que pertenecen a categorías gramaticales diferentes.
Aunque los procesadores de texto de las grandes compañías de software poseen
funciones muy sofisticadas —como, por ejemplo, un diccionario para corregir la
ortografía—, tienen un límite.
Estos correctores no comprenden el significado de las palabras, sino que se
limitan a ir comparando cada palabra del texto con las existentes en su
diccionario, de modo que si encuentra la palabra en cuestión la dará por válida si
está escrita correctamente, en caso contrario la marca para indicar un error. 1
Sin embargo, cuando aparecen palabras que pueden llevar acento ortográfico o
no, el procesador no las marca como errores si el usuario no les pone acento, y
tampoco le indica que puede estar mal escrita. Entonces, un usuario que no
conozca bien el idioma se quedaría con la idea de que la palabra está escrita
correctamente.
La falta de acentos en algunas palabras de las oraciones es un problema de
ambigüedad. Las ambigüedades más comunes en la acentuación se dan entre las
palabras con terminación ‚o‛, como en ‚completo‛ y ‚completó‛. Se trata de los
tiempos presente y pretérito de los verbos que terminan en ‚ar‛. Otras
ambigüedades son semánticas, como sucede con algunos sustantivos; por
ejemplo, ‚secretaria‛ —persona encargada de escribir la correspondencia— y
‚secretaría‛ —sección de un organismo, institución o empresa.8
En este artículo se describirá el modelo que se usó para diseñar una herramienta
informática de desambiguación semántica para el idioma español, cuya utilidad
es la acentuación correcta de las palabras en los textos escritos, basándose en el
etiquetado de las oraciones. Para llevar a cabo el modelo se aplicó un método
híbrido, esto es, mediante un algoritmo supervisado y uno no supervisado.
2 Solución
El objetivo de este trabajo es crear un sistema que ayude a determinar si una
palabra con acento diacrítico debe o no llevar acento ortográfico, lo cual está
determinado por el contexto en el que se esté ocupando, con ayuda de las
etiquetas asignadas.
La primera tarea del modelo es el análisis léxico, el cual consiste en la eliminación
de los acentos de las palabras de la frase de entrada, ya que para el cálculo de los
128
parámetros del modelo se requieren palabras sin acentos. Además, el analizador
léxico identifica y separa los signos de puntuación de las palabras.
Posteriormente, se establece si existen palabras ambiguas en la oración de
entrada, y al mismo tiempo, el modelo indica la posición en la que éstas se
encuentran. Esto se realiza comparando cada una de las palabras de las oraciones
con las palabras cuyo acento es diacrítico, en el diccionario previamente
construido. El modelo general que se propone para la solución del problema se
ilustra en la figura 1.
Fig. 1. Arquitectura del modelo de solución.
En este método de solución se utilizan los modelos ocultos de Markov (HMM),
los cuales se definen siguiendo la notación presentada por Rabiner, 9 como la una
5-tupla µ = (Q, V, π, A, B), donde:
129
1. Q es el conjunto de estados del modelo. Aunque los estados permanecen
ocultos, para la mayoría de las aplicaciones prácticas se conocen a priori. En
nuestro caso de etiquetado de palabras, cada etiqueta sería un estado. En
general, los estados están conectados de tal modo que cualquiera de ellos se
alcanza desde cualquier otro estado en un solo paso. Los estados se etiquetan
como ,1, 2,<, N}, y el estado actual en el instante de tiempo t se denota como
. Para el etiquetado de palabras no hablaremos de los instantes de tiempo,
sino de las posiciones de cada palabra en la frase.
2. V es el conjunto de los distintos sucesos que se observan en cada uno de
los estados. Cada uno de los símbolos individuales que un estado emite se
denota como {
}. En el etiquetado de palabras, M es el tamaño del
diccionario y cada
es una palabra distinta.
3. π =
es la distribución de probabilidad del estado inicial. Por lo tanto,
(1)
4. A =
es la distribución de probabilidad de las transiciones entre
estados, es decir,
(2)
5. B=
es la distribución de probabilidades de los sucesos
observables, es decir,
(3)
Éste es un método estocástico que necesita parámetros previamente definidos, los
cuales se calculan mediante métodos de entrenamiento supervisado y no
supervisado.
Para la fase del entrenamiento supervisado se utilizó un cuerpo de texto
etiquetado conocido como CONLL, el cual es una colección de artículos
noticiosos del año 2000 ofrecida por la Agencia de Noticias EFE. Los parámetros
130
del modelo se estiman por ‚m{xima verosimilitud‛,5 a partir de las frecuencias
relativas de aparición de los eventos del texto etiquetado (véase la figura 2).
Fig. 2. Entrenamiento supervisado y no supervisado.
Las probabilidades de transición aij se obtienen contando las veces que se transita
del estado si al estado sj y dividiendo el resultado por las veces que se transita por
el estado si.
(1)
Las probabilidades de emisión se obtienen contando las veces que un símbolo (vk)
ha sido emitido en un estado (sj) y dividiendo el resultado por las veces que se ha
transitado por ese estado:
(2)
Una vez que tenemos los parámetros iníciales de µ, se aplica el algoritmo BaumWelch,6 lo que incrementa la probabilidad de las transiciones entre los estados y
sus símbolos, y se mejora en consecuencia la probabilidad de la secuencia de
observaciones dada.
En el modelo de solución (véase la figura 1) se maneja una fase de etiquetado que
utiliza el algoritmo de Viterbi, con algunas modificaciones, ya que no se
consideran todos los estados posibles, es decir, todas las etiquetas del juego de
etiquetas utilizado, sino sólo las etiquetas candidatas asignadas a cada una de las
palabras ambiguas.
131
Para ejemplificar el funcionamiento del modelo, consideremos la oración ‚El jugo
frío est{ sobre la mesa‛, en la cual existen varias palabras ambiguas. Adem{s,
como existen palabras ambiguas al principio de la oración, se recorre t palabras
hasta encontrar una palabra no ambigua, en este caso, ‚frío‛. Una vez encontrada
la primera palabra no ambigua, se le asigna la etiqueta más probable. Después de
esto, se asigna la etiqueta más probable a t-1 a partir de la etiqueta (t), ya
conocida (véase la figura 3), hasta llegar a t=1.
Una vez obtenidas las primeras etiquetas de la oración, el cálculo para obtener las
etiquetas de las palabras ambiguas se realiza sólo sobre las etiquetas asignadas
manualmente a estas palabras. En el cuadro 1 se muestra la oración junto con las
etiquetas asignadas.
Fig. 3. Asignación de etiquetas.
Cuadro 1. Resultado del etiquetado
El
jugo frío
está
sobre la
det_art sust adj_cal vbo_aux prep
mesa
det_art sust
Después de haber obtenido las etiquetas de cada una de las palabras de la
oración, se determina si las palabras ambiguas deberán o no llevar acento, con
base en nuestro diccionario de palabras ambiguas etiquetadas (véase el cuadro 2).
132
Cuadro 2. Ejemplo de palabras ambiguas con sus etiquetas
PALABRA
AMBIGUA
EL
ESTÁ
JUGO
SOBRE
ETIQUETA
PALABRA
det_art
pron_per
det_dem
vbo_aux
sust
vbo_ind
sust
prep
vbo_sub
vbo_ind
el
él
esta
está
jugo
jugó
sobre
sobre
sobre
sobré
Por último, se hace una comparación de las palabras de la oración, con la etiqueta
asignada, y se determina si la palabra debe o no llevar acento. El resultado de
nuestro ejemplo se muestra en el cuadro 3.
Cuadro 3. Resultado de ejemplo
El
jugo
frío
está
sobre
la
mesa
Uno de los problemas que no se resolvió con la asignación de categorías
gramaticales fue el de una palabra con acento diacrítico etiquetada con la misma
categoría gramatical, como se muestra en el cuadro 4.
Cuadro 4. Palabras con terminación ‚o‛
Palabra
Etiqueta
abrazo
sust
abrazo
vbo_ind
abrazó
vbo_ind
Las dos últimas palabras corresponden a la conjugación en modo indicativo del
verbo ‚abrazar‛; sin embargo, la primera corresponde al tiempo presente en
primera persona y la segunda al tiempo pasado en tercera persona. Para
solucionar este problema se creó un conjunto de reglas utilizando ‚listas de
decisiones‛ similares a las utilizadas por Yarowsky.2
En el cuadro 5 se presenta un extracto de las reglas obtenidas, ordenadas de
acuerdo con su aparición en el corpus de entrenamiento, en el cual también se
indica el orden en que se han de ir verificando cada una de las reglas cuando se
obtengan ejemplos nuevos para identificar el patrón que les corresponde.
133
Cuadro 5. Extracto del conjunto de reglas
%
Regla
19.63
YO -o
»
Clasificación
-o
19
SE -o
»
-ó
16.6
-o DE
»
-o
14.6
-o det_art
»
-ó
10.83
sust -o
»
-ó
10.6
-o CON
»
-o
9.09
adv -o
»
-o
8.33
-o det_ind
»
-ó
Además de acentuar las palabras ambiguas, se trata de acentuar las palabras que
siempre llevan acento, es decir, aquellas palabras que tienen acento, pero no
diacrítico. Para esto, se hizo una base de datos de palabras con acento.
3 Resultados
Para la evaluación del modelo, se reunió una colección de 63 artículos de
distintos contextos —deportes, ciencia, salud, etcétera—, obtenidos del periódico
digital El Universal. Los artículos fueron evaluados por el modelo a partir de
frases completas, en el cuadro 6 se muestra un resumen de los resultado
obtenidos.
Cuadro 6. Resumen de los resultados obtenidos
1) Número del artículo. 2) Palabras por artículo. 3) Con acento diacrítico. 4) Con acento
diacrítico, sin acento. 5) Con acento diacrítico, sin acentuar. 6) Con acento diacrítico, con
acento. 7) Con acento diacrítico, acentuadas. 8) Con acento no diacrítico. 9) Con acento no
diacrítico, acentuadas.
134
Con estos datos nos damos cuenta de que:
A continuación, los datos que aparecen en el cuadro 7 son los resultados
obtenidos utilizando las métricas de efectividad de las tasas de recuperación (r),
precisión (p), error (e), exactitud (a), y FB. En la primera parte del cuadro 3 se
muestran los resultados obtenidos a partir de las palabras acentuadas por nuestro
modelo, donde la ‚precisión‛ —total de palabras acentuadas entre el número
total de palabras con acento diacrítico— tiene como resultado 84.11%. Uno de los
problemas que se han identificado est{ en el etiquetado de la palabra ‚el‛, pues
siempre que el sistema encuentra esta palabra al comienzo de la frase, le asigna la
etiqueta ‚pronombre personal‛ y la acentúa; sin embargo, también puede tomar
la etiqueta de ‚artículo‛, en cuyo caso no lleva acento.
Cuadro 7. Resultados
Con base en
palabras
Con base en
palabras
acentuadas
no acentuadas
r = .7153
p = .8411
f-B = .7731
e = 0.0549
a = .945
r = .9796
p = .9580
f-B = .9687
Pero, como ya se ha mencionado, este modelo también determina cuándo una
palabra con acento diacrítico no debe llevar acento ortográfico. En la segunda
parte del cuadro 7 se muestran los resultados obtenidos a partir de las palabras
que no deben llevar acento ortogr{fico. En este caso, la ‚precisión‛ —total de
palabras que el modelo decide no acentuar, entre el número total de palabras con
acento diacrítico— tiene como resultado 95.8%. Sin embargo, el resultado de
‚exactitud‛ —total de decisiones correctas tomadas por el modelo— es de 94.5%,
con un error de 5.49%.
Este modelo se programó en Java y se está trabajando en la creación de un
programa de cómputo que sirva como auxiliar en la enseñanza de las reglas de
acentuación y para acentuar palabras ambiguas que por lo regular los editores de
texto no acentúan. En la figura 4 se muestran algunas de las pantallas del sistema.
135
Fig. 4. Pantallas del sistema para la acentuación de textos en español.
4 Conclusiones
El etiquetado de palabras es una técnica que ayuda a identificar la ambigüedad
en la acentuación de palabras de un texto determinado y a producir herramientas
computacionales que revisen y corrijan la acentuación correcta de textos en
español, ya sea para hacer más fácil la escritura de los documentos o para
utilizarlas en la enseñanza de las reglas gramaticales del español.
Aunque el problema de la ambigüedad en la acentuación de las palabras no es
sencillo de resolver, aún se puede seguir analizando la gramática del idioma para
encontrar patrones de comportamiento en las palabras, de acuerdo con las
características del contexto en el cual se encuentren las oraciones. Además, las
teorías y algoritmos ya existentes para el manejo de las gramáticas son factibles
de aplicación, así como lo son las teorías del área de los sistemas inteligentes,
como el aprendizaje automático. Por lo tanto, todavía hay mucho que investigar
en este tema, si se quieren producir sistemas de cómputo que ayuden al usuario a
corregir sus errores de acentuación y otros errores ortográficos.
Se propone que en el futuro se trabaje en lo siguiente:
1) El aumento de las palabras con acento diacrítico, las palabras con acento no
diacrítico y en las categorías gramaticales para disminuir la ambigüedad en el
etiquetado. 2) La creación de un módulo, dentro del modelo, para el
entrenamiento de los casos no resueltos. 3) El diseño de la interfaz para la
enseñanza de las reglas gramaticales, y en especial, del uso de las palabras con
acento diacrítico. 4) La aplicación del algoritmo de desambiguación semántica,
para mejorar resultados. 5) El análisis sintáctico previo para reducir ambigüedad
en la frase. 6) La creación de un sistema global de apoyo para la enseñanza o
reafirmación de las reglas ortográficas, particularmente, de la acentuación. 7) La
136
identificación de un patrón de ambigüedad para los casos similares al de la
palabra ‚el‛.
Referencias
1. Pascual, F., Domine Microsoft© Office XP Profesional, versión 2002, edición
especial, Alfaomega, México, 2002.
2. Yarowsky, D., ‚Decision List for Lexical Ambiguity Resolution: Application
to Accent Restoration in Spanish and French‛, en Proceeding of the XXXII
Annual Meeting of the Association for Computational Linguistics, 1994, pp. 88-95.
3. Perea, J., Etiquetado de textos y su aplicación a la traducción, University of
Granada (investigación inédita), 2005.
4. Stevenson, M. y Y. Wilks, ‚Combining Independent Knowledge Sources for
Word Sense Disambiguation‛, en R. Mitkov (ed.), Recent Advances in Natural
Language Processing, John Benjamins Publisher, 2000.
5. Dempster A., N. Laird et al., ‚Maximum Likelihood from Incomplete Data
Via the EM Algorithm‛, Journal of Royal Statistical Society (Series B,
Metodological), vol. 39, núm. 1, 1977, pp. 1-38.
6. Baum, L., ‚Statistical Inference for Probabilistic Functions Finite State
Markov Chains‛, Annual Mathematic Statistical, vol. 37, 1966, pp. 1554-1563.
7. Yarowsky, D., ‚A Comparison of Corpus-Based Techniques for Restoring
Accents in Spanish and French Text‛, Proceedings of the II Annual Wordshop on
Very Large Text Corpora, Kyoto, 1994 (en prensa).
8. Real Academia Española, Banco de datos (CREA). Corpus de referencia del
español actual, en Internet (http://www.rae.es), página consultada el 29 de abril
de 2009.
9. Rabiner, L. R., ‚A Tutorial on Hidden Markov Models and Selected
Applications in Speech Recognition‛, IEEE, vol. 77, núm. 2, 1989, pp. 257-286.
10. Wagacha, P., G. De Pauw et al., ‚A Grapheme-Based Approach for Accent
Restoration in Gikuyu‛, en Proceedings of the V International Conference on
Language Resources and Evaluation, 2006, pp. 1937-1940.
11. Bobiceva, V., ‚O altã metodã de restabilire a semnelor diacritice‛, en I.
Pistol, D. Cristea y D. Tufiş (eds.), Resurse Lingvistice şi Instrumente pentru
Prelucrarea Limbii Române, 2008, pp. 179-188.
12. De Pauw, G., P. W. Wagacha y De Schryver, G. M., ‚Automatic Diacritic
Restoration for Resource-Scarce Language‛, en V. Matousek y P. Mautner
(eds.), TSD 2007, LNAI 4629, 2007, pp. 170-179.
137
138
Ladrillo rojo: aplicación de redes de Petri a un
proceso milenario
Carlos Marín, Obed Cortés, Rafael Rojas
Resumen. Durante mucho tiempo, la zona productora de ladrillo rojo en el
estado de Puebla se ha visto marcada por un problema que involucra pobreza y
contaminación relacionadas de tal forma que pocos han intentado abordar su
solución. En este artículo, la Universidad Politécnica de Puebla hace una
propuesta de solución de uno de los puntos ese problema. El objetivo del artículo
es ofrecer una visión general de la industria ladrillera en la región de Cholula,
Puebla, destacando las áreas de oportunidad para la automatización del proceso
mediante técnicas avanzadas de optimización. En primer lugar, se hace una
introducción general sobre cómo ha sido este proceso a lo largo de la historia
para posteriormente tratar la automatización por medio de redes de Petri. Al
final, se muestran las conclusiones respecto al ejemplo de su aplicación a una de
las partes del proceso, con el propósito de evolucionar a otro que se adapte a las
demandas actuales del mercado.
Palabras clave: ladrillo rojo, proceso, automatización, redes de Petri.
1 Introducción
En las antiguas Mesopotamia y Palestina, lugares donde apenas se disponía de
madera y piedras, desde hace unos 9 000 años el ladrillo ha constituido el
principal material de construcción. En lo que respecta a nuestro continente, las
civilizaciones indígenas prehispánicas lo utilizaron, por ejemplo, en la
construcción de las pirámides Olmecas y Mayas.
En la actualidad, un ladrillo es una pieza de cerámica ortoédrica elaborada con
arcillas compuestas principalmente de sílice, alúmina, agua y cantidades
variables de óxidos de hierro y otros materiales alcalinos, como los óxidos de
calcio y los óxidos de magnesio. El ladrillo rojo se distingue de su predecesor, el
adobe, porque sufre cambios físico-químicos al someterse a las altas temperaturas
de cocción. Sin embargo, justo esta parte del proceso y su evolución son lo que
hoy en día hace polémica su fabricación.
139
2 Generalidades
2.1 Situación actual
Una de las actividades distintivas de la región de Cholula, Puebla, es la
fabricación de ladrillo rojo y sus derivados. Aquí se concentra la mayor cantidad
de productores de ladrillo rojo del país. En comunidades como San Diego
Cuachayotla, San Cristóbal Tepontla, San Mateo Cuanalá, Santa María
Coronango y Santa María Zacatepec, por mencionar sólo algunas, ubicadas en los
municipios de San Pedro Cholula, San Andrés Cholula, Juan C. Bonilla y
Coronango, 8 000 familias se dedican a la producción de este ladrillo.
Si bien es cierto que este proceso productivo ha tenido avances notables desde la
utilización de combustible en lugar de leña, prácticamente se ha mantenido
intacto desde el año 200 d. C.
Este hecho simple tiene repercusiones importantes en la sociedad, la economía y
la ecología de la región. En la actualidad, una familia productora de ladrillo que
manufactura a mano 1 100 piezas diarias, obtiene una ganancia neta de 88 pesos
—0.08 pesos por pieza—, lo cual pone en riesgo la integridad del núcleo familiar.
Por otra parte, de acuerdo con la red de monitoreo ambiental (REMA) del
gobierno del estado de Puebla, la región de 3 kilómetros cuadrados donde se
concentran 322 hornos de ladrillo tradicionales, produce anualmente 808
toneladas de contaminantes —partículas de monóxido de carbono, óxidos de
nitrógeno, bióxido de azufre, bifenilos, hidrocarburos aromáticos policíclicos,
policlorados y dioxinas—, lo que repercute en la calidad del aire.
Fig. 1. Combustible tilizado para el proceso de cocción. Los
barriles contienen combustóleo (fuel oil), uno de los
residuos del proceso de la destilación fraccionada del
petróleo.
140
Fig. 2. Vapores emanados por uno de los hornos de producción de ladrillo rojo
en la región de Cholula, Puebla.
No existe acondicionamiento alguno para su deposición a la atmósfera de los
vapores. En un escenario como éste, la tecnificación del proceso requiere de la
consideración de los aspectos sociales, económicos y ecológicos, todos ellos como
variables independientes una de otra. Cabe destacar que el aspecto social ha sido
el menos abordado y es, sin embargo, el más importante, pues por ello muchos
proyectos no han tenido consecución.
2.2 Descripción del proceso
El proceso de fabricación tiene varias etapas: mezclado, moldeado, secado y
cocido.
Primero, se mezclan tres tipos de arcilla y agua. La variación de las proporciones
de los materiales es muy particular, pues se trata de un proceso artesanal, basado
en ‚recetas‛ que han pasado de generación en generación a lo largo de los años.
Las familias con menos recursos realizan esta parte del proceso de manera
manual, amasando la mezcla con palos, palas o rastrillos. Los mejor organizados
hacen uso del tractor agrícola, equipado con una herramienta llamada niveladora
y aprovechando las hendiduras propias del dibujo de las llantas. El mezclado
consiste en pasar repetidamente con el tractor sobre el material a mezclar.
En cualquiera de los casos, la calidad del mezclado varía de semana a semana, lo
que dificulta la obtención de un producto de alta calidad.
141
Fig. 3. Tipos y condición de las arcillas que posteriormente se convertirán en
ladrillos y algunos otros productos derivados.
Fig. 4. Mezcla realizada con la ayuda de un tractor.
Nótese la cantidad de mezcla utilizada para llenar un horno con 4 000 ladrillos y
téngase en cuenta el área de trabajo requerida.
Una vez hecha la mezcla, según las características determinadas por el miembro
de la familia con más experiencia, el moldeado debe llevarse a cabo o de lo
contrario la mezcla comienza a deshidratarse. Con una matriz de 3 x 2, o como le
llaman los locales, una ‚gavera‛, se le da forma a los ladrillos. Este bastidor se
coloca a ras de tierra y se va rellenando por la parte superior con las manos y los
dedos. El objetivo es hacer una semicompactación y eliminar el aire del interior
del molde antes de quitar el material sobrante. El producto terminado va
consumiendo tanto la materia prima como a los mismos productores,
literalmente, pues al secarse la mezcla sobre la piel provoca heridas que pueden
llegar a convertirse en agrietamientos severos.
142
Fig. 5. Ése es el molde o ‚gavera‛ para producir ladrillo.
Fig. 6. Aquí se observa a un productor realizando el moldeo a mano.
Una vez concluido el moldeado, los ladrillos se dejan secar a la intemperie, lo
suficiente como para ser manipulados. El secado limita los periodos de
producción porque tarda entre 15 y 30 días, dependiendo de las condiciones
meteorológicas imperantes.
Cuando la mezcla, ahora en forma de ladrillos, ha perdido la suficiente humedad,
se procede a la colocación de las piezas en el interior del horno. Esta estructura
tiene capacidad para cocer de una vez hasta 40 000 piezas. El tiempo de cocción
varía según la cantidad de ladrillos a cocer y la temperatura lograda por la
quema del combustóleo, la cual oscila entre los 800 y 110 grados centígrados; de
manera que para obtener todos los ladrillos ya cocidos toma entre 30 y 48 horas.
Si bien el empleo de combustóleo sustituyó la quema de árboles y leña, los
contaminantes provenientes de su mala combustión suman más de 10 837
toneladas anuales. Diesel y gas LP también son requeridos para poner en
funcionamiento la caldera; sin embargo, se prefiere el combustóleo por su bajo
costo, a pesar de su baja calidad. La caldera suele colocarse y controlarse a mano.
La etapa de cocción es vital para obtener un producto de mejor calidad, así como
ampliar la gama de productos derivados.
Al término de las 30 o 38 horas, se pasa a una fase de enfriado que dura entre 8 y
10 días, nuevamente al beneplácito de las condiciones climatológicas.
143
Fig. 7. Algunos ladrillos secándose a la intemperie.
Fig. 8. Aquí se observa una caldera rudimentaria ubicada en la base de un horno
para la cocción de ladrillos.
Las áreas de oportunidad de cambio y mejoramiento que resultan de la
descripción que acabamos de hacer son claras: las inclemencias del tiempo, las
cantidades de los ingredientes, el tipo de aspersión y el reaprovechamiento del
calor durante el cocimiento, por mencionar sólo algunas. Si alguno o varios de
estos aspectos se mejora, la calidad de vida de cientos de productores de la región
cambiará también.
3 Redes de Petri para la automatización
Siendo ésta una época con gran énfasis en la competitividad y en la lucha por el
acceso a los mercados, la brecha económica que se abre entre un trabajo artesanal
y uno mecanizado es enorme, lo que deja fuera de la contienda a miles de
pequeños productores de la región. La tendencia a la globalización se refleja en
los mercados y productos, así como en la economía y otros aspectos cotidianos;
sin embargo, la región de Cholula parece no haber sido notificada de esta
realidad y desde hace varios siglos se ha venido menoscabando su economía. Si a
144
esto le agregamos el que los procesos industriales automáticos vienen
evolucionando desde hace décadas, se obtiene un escenario poco alentador para
el desarrollo de esta actividad. Pero existe la posibilidad de avanzar en este rubro
si se adaptan sus instalaciones actuales con tecnologías de automatización, a fin
de conseguir un sistema de producción más moderno y eficaz, y si fuese posible,
incluso, sin recursos económicos excesivos. Por eso se debe tener un cuidado
especial cuando se haga la adaptación, para que ésta se lleve a cabo de manera
coherente y previsora, buscando no solamente la automatización del proceso,
sino también una realización clara, estructurada y sistemática del objetivo, que
condicione lo menos posible la adaptación de las futuras innovaciones que haya
que aplicar, hecho poco frecuente en las industrias pequeña y mediana, donde
reina la solución rápida del problema antes que una solución reflexiva y a futuro.
Con base en lo que hemos explicado hasta aquí, se propone el uso de las redes de
Petri (rdP) como una herramienta para el modelado y diseño de
automatizaciones. Si bien las redes de Petri tienen un sustento teórico extenso
que las avala en todos aquellos campos en los que son empleadas y la producción
científica a su alrededor es amplia, en este caso, se ocuparán para investigar una
de las partes del proceso de producción de ladrillo rojo, y no como objeto de la
investigación.
3.1 Definiciones básicas
Para ubicarnos en el contexto, una red de Petri es un grafo orientado en el que
intervienen dos clases de nudos, los lugares —representados frecuentemente por
circunferencias— y las transiciones —representadas por pequeños segmentos
rectilíneos unidos alternativamente por arcos. Un arco une un lugar con una
transición —o viceversa— pero no puede unir dos transiciones o dos lugares. Un
lugar puede contener un número positivo o nulo de marcas. Una marca se
representa con un punto en el interior del círculo que representa al lugar. El
conjunto de marcas asociadas a cada uno de los lugares en un instante dado
constituye lo que se denomina un marcado de la red de Petri.
Reduciendo un sistema en un grafo, su representación se realiza mediante el
conjunto de estados totales en los que tal sistema se pueda encontrar. En una rdP
el estado está representado por el marcado. Como el marcado puede contener
varios lugares marcados simultáneamente, el estado está definido por un
conjunto de subestados —locales o parciales— del sistema. Esto es indicio de su
eficiencia para la descripción de evoluciones simultáneas.
Matricialmente, una rdP se representa mediante dos matrices. Sea P  n (número
de lugares de la red) y sea
T m
(número de transiciones de la red). Se denomina
145
matriz de incidencia previa a la matriz C   Cij , en la que
nxm
cij   ( pi , t j ) .
Se
denomina matriz de incidencia posterior a la matriz C   Cij
en la que
nxm
cij   (t j , pi ) .
La clasificación de las redes de Petri se realiza en tres niveles. En el nivel uno, se
caracterizan por tener lugares en los que se pueden representar valores
booleanos. El segundo nivel, se caracterizan por tener lugares que representan
valores enteros. En el tercer nivel, se caracterizan por tener lugares que
representan valores de altas prestaciones.
Cabe mencionar que la utilización de los GRAFCET en rdP es más común en la
automatización industrial, debido a que las rdP son más desconocidas. De hecho,
los GRAFCET se pueden aplicar como un subconjunto de las rdP, lo que permite
referirse a ambas herramientas como rdP, de forma genérica.
3.2 Aplicación de las redes de Petri
Para aprovechar las ventajas de las rdP, su potencia y su simplicidad, junto con la
simulación del proceso productivo se realiza la simulación de la rdP que define
su funcionamiento, ya sea lo que se ha empleado para el desarrollo del programa
autómata o una que haga el modelo de tal desarrollo. Con esto, tenemos en el
proceso de monitoreo toda la información del estado del sistema; en cambio, con
la visualización de la planta tan sólo tenemos información de las entradas y
salidas, lo cual no es suficiente en los sistemas secuenciales. Además, así se
emplean todas las posibilidades de análisis, optimización y detección de errores,
ampliamente estudiadas en las rdP, para mejorar el proceso, y de una manera
clara, estructurada y sistemática, para facilitar posteriores modificaciones o
ampliaciones.
Cuando se hace el modelo de un sistema que pudiera llegar a presentar recursos
compartidos, concurrencias, autorizaciones memorizadas, sincronizaciones
mutuas con evoluciones simultáneas o con desactivación de subsistemas, con las
rdP es una labor muy simple, mientras que su programación directa en leguaje
escalera —para un control lógico programable (PLC)— puede resultar
sumamente compleja.
Para modelar el proceso de producción de ladrillo rojo, se debe comenzar con la
representación de cómo van a evolucionar las salidas de algunas de las partes que
lo integran, en función de la secuencia de salidas deseadas, teniendo en cuenta
que el estado interno evoluciona en función de las entradas. Una vez que se ha
realizado el modelo, se procede a su implementación, de tal manera que frente a
las respuestas del sistema y las incógnitas que le proporcione el usuario se
produzcan las correspondientes órdenes al sistema para que éste evolucione
146
como se debe. La automatización suele ser secuencial; su estado interno debe
identificar su comportamiento frente a las entradas a cada momento, de modo
que la información del estado del sistema esté contenida en el estado interno de
la automatización, o también puede recibirse del propio sistema, como parte de la
respuesta.
3.3 Propuesta de automatización
Como ejemplo de la utilización de las rdP, propongamos la automatización de
una cinta para trasportar ladrillos crudos. Se propone la utilización de dos
sensores capacitivos en los extremos de la cinta, la cual tiene que avanzar hasta
que haya un ladrillo en el extremo final para que sea ingresado el siguiente paso
automatizado. Para esto, primero debemos identificar tanto las entradas
(sensores) como las salidas (avance) con lo cual se reconoce inmediatamente una
automatización sin consigna. A partir de aquí también se ve con claridad que la
capacidad máxima de nuestra cinta no es recibida en el sistema como entrada, lo
que implica la generación y el almacenamiento de esta información en el estado
interno de la automatización, la cual se muestra en la figura 9.
ÒhuecosÓ
INICIO
ÒladrillosÓ
AVANZAR
FIN
ÒesperaÓ
FIN
Fig. 9. Red de Petri de la cita trasportadora.1
Automatizada la cinta, se procede a la simulación del sistema —en este caso, sólo
serán los sensores. Hay que tener en cuenta que las salidas del sistema se
147
activarán en función de las órdenes procedentes de la automatización y de los
eventos externos que forman parte del proceso de fabricación, como, por ejemplo,
los procedentes de otras máquinas, del PLC, de los actuadores. Así, para la
simulación, tendremos como entrada a los ladrillos producidos, los ladrillos
entregados y el avance; para las salidas, tendremos solamente los sensores de
‚inicio‛ y ‚fin‛. La rdP así generada se muestra la figura 10.
ÒhuecosÓ
ÒladrillosÓ
INICIO NUEVO
INICIO
AVANZAR
TIM 2
FIN TIM 2
INICIO
TIM1
FIN
FIN TIM 1
QUITAR LADRILLO
Fig. 10. Red de Petri generada para la simulación.1
El sistema parte de que la cinta no ha sido cargada previamente con ningún
ladrillo. Esta acción pertenece al evento externo ‚ladrillo nuevo‛, el cual da pie a
la simulación del comportamiento del sensor ‚inicio‛. Activado éste, con un
temporizador se simula el tiempo que permanece el sensor activado por el paso
del ladrillo mientras la cinta se encuentra en marcha. Si en la cinta se encuentra
algún ladrillo, de igual forma se controla el tiempo que tardaría el ladrillo en
recorrer la cinta hasta la activación del sensor ‚fin‛. Llegado el ladrillo al final de
la cinta, se retira —mediante el evento externo ‚quitar ladrillo‛.
Independientemente del número de ladrillos que se encuentren sobre la cinta o
del tiempo que hayan estado avanzando sin llegar hasta el final, debe observarse
que siempre tardarán el mismo tiempo en recorrer la cinta desde su puesta en
marcha hasta que llegue el primero. Esto no caracteriza a un modelo exacto pero,
para nuestros propósitos, es lo necesario.
Siguiendo con el diseño, se procede a la fusión de la automatización y la
simulación en el PLC, con el fin de detectar anomalías en el funcionamiento y
eliminarlas. Esto se hace relacionando las rdP para simularlas en computación,
como lo muestra la figura 11, e implementarlas una vez traducidas al lenguaje del
dispositivo.
148
Òhuecos 1Ó
INICIO
Òhuecos 2Ó
Òladrillos 1Ó
LUG1
LUG4
Òladrillos 2Ó
ÒesperaÓ
LUG7
Ò
esperaÓ
ÒesperaÓ
INICIO NUEVO
LUG2
AVANZAR
LUG5
INICIO
LUG8
TIM 2
FIN TIM 2
AVANZAR
FIN
LUG6
LUG3
INICIO
LUG9
FIN
ÒesperaÓ
FIN TIM 1
QUITAR LADRILLO
FIN
Fig. 11. Implementación.1
Así, la automatización y la simulación forman un todo en el que se integran las
entradas de los eventos externos de ‚ladillo nuevo‛ y ‚quitar ladrillo‛.
4 Conclusiones
Cuando se hace un medelo de un sistema previo a la automatización que tendrán
los dispositivos que lo integran, se toman en cuenta los aspectos más interesantes
del sistema y se obvian los que no afectan el funcionamiento global, los cuales
muchas veces son más complejos que aquellos que realmente nos interesan; de
esta manera, se trabaja con un sistema simplificado.
Con el modelo del sistema en un programa de simulación, es posible confrontarlo
con el de la automatización, así se sabrá de antemano si la automatización es
correcta o no, además de que se puede hacer un análisis del comportamiento, es
decir, se verá cómo funcionaría idealmente la producción.
Si en el futuro se utilizara un controlador lógico programable (PLC) para llevar a
cabo el control en alguna de las etapas o de las partes que integran el proceso de
producción, como, por ejemplo, el de una banda transportadora, la rdP
permitiría traducir su comportamiento a lenguaje escalera (ladder). De esta forma,
se tendría la simulación en tiempo real dentro del propio dispositivo de control;
es decir, ahora, en vez de controlar la planta, se controlaría el modelo que de ella
tiene introducido. Así, no sólo se comprobaría si la automatización está bien
hecha, sino que también se comprobraría el dispositivo de control.
El diseño de la planta debe llevarse a cabo con la participación de un grupo de
profesionales —y no solamente una persona— porque la integración de
conocimientos correlacionados es fundamental. El objetivo de la integración de
varios profesionales obedece a que el diseño se lleve a cabo en un tiempo y
149
espacio determinados, con el menor costo posible, ofreciendo calidad y duración
en lo instalado.
Desde una perspectiva social, es necesario recordar que el estilo de vida y las
costumbres no son iguales que hace 100 años y que esto es parte de un ciclo
continuado al cual deben de adaptarse rápidamente nuestros productores. Esto
supone, por lo tanto, un cambio de hábitos productivos, y en general, de hábitos
de vida antes de la aplicación de cualquier automatización.
Referencias
1.
Jiménez, E., Técnicas de automatización avanzadas en procesos industriales,
Universidad de La Rioja, España, 2001, pp. 106-108.
2. Astrom. K. J. y B. Wittenmark, Computer Contolled Systems, Prentice HallEnglewood Cliffs, Nueva Jersey, 1997.
3. Xing K. Y., B. S. Hu y H. X. Chen, ‚Deadlock Avoidance Policy for Petri-net
Modeling for Flexible Manufacturing Systems with Shared Resources‛, IEEE
Trans on Automatic Control, núm. 41, 1996, pp. 289-294.
4.
Falkenhainer B. y K. Forbus, ‚Compositional Modeling: Finding the
Right Model for the Job‛, Artificial Intelligence, núm. 51, 1991, pp. 95-143.
5. Gaspar, A., Modelling and Optimization of Single Screw Extrusion, University of
Minho, Brazil, 1999.
6. Elías, X., Optimización de procesos cerámicos industriales, Universidad Pontificia
Bolivariana, Medellin, 2001.
7. Departamento de Ciencias de la Computación del Centro de Investigaciones
y de Estudios Avanzados del Instituto Politécnico Nacional, en Internet
(http://computacion.cs.cinvestav.mx/~ameneses/pub/tesis/mtesis).
8. Facultad de Ciencias Fisicomatemáticas de la Universidad Michoacana de
San Nicolás Hidalgo, en Internet
(http://www.fismat.umich.mx/~crivera/tesis/node25.html).
150
Perspectivas de automatización del proceso de
fabricación de ladrillo rojo en la región de
Cholula, Puebla
Rafael Rojas-Rodríguez, Obed Cortés-Aburto, Carlos Marín-Dávila
Resumen. Las perspectivas para la automatización del proceso de fabricación de
ladrillo rojo en la región de Cholula, Puebla, se discuten en el presente estudio. El
proceso actual se describe paso a paso, según las etapas que lo conforman,
empezando con el mezclado y terminando con el cocido. Se hace también un
diagrama, considerando el promedio de las distancias y los tiempos de dos
hornos ladrilleros de la región, en condiciones climatológicas favorables para la
fabricación del ladrillo. Finalmente, se presentan perspectivas para la
automatización del proceso, considerando una baja inversión.
Palabras clave: automatización, ladrillo, arcilla, construcción, combustóleo.
Sumario:
1 Introducción 2 Descripción del proceso actual 2.1 Etapa de mezclado 2.2 Etapa
de moldeado 2.3 Etapa de secado 2.4 Etapa de cocido 5 Perspectivas para la
automatización 5.1 Etapa de mezclado 5.2 Etapa de moldeado 5.3 Etapa de
secado y cocido 6 Diagrama del proceso actual Conclusiones.Referencias
1 Introducción
El hombre, desde su aparición sobre la tierra, ha buscado la forma de protegerse
de la intemperie y de los depredadores. Los primeros habitantes del mundo
vivían en el interior de las cuevas. Con el tiempo, los hombres desarrollaron
técnicas primitivas para la construcción de viviendas; entre las más antiguas de
las que se tiene registro, están las ubicadas en Çatal Höyük, hoy Turquía, con una
antigüedad que data de los años 10000 a 6000 a.C., y cuyo material de
construcción principal era la arcilla formada en piezas que se secaban al sol
(véase la figura 1).1
En América, los restos de viviendas más antiguos de los que se tiene registro,
están ubicados en la región de La Venta, en el estado de Tabasco, y pertenecen a
la cultura Olmeca, con antigüedades que van de los años 1500 a.C. a 200 d.C. En
ellas, el ladrillo era utilizado como elemento estructural.
151
En la región de Cholula, Puebla, cuyo apogeo constructivo se dio en el periodo
comprendido entre los años 200 y 700 d.C., se observa la utilización del ladrillo
en la construcción de muros y pisos.2 Actualmente, en esta región se encuentra
una de las mayores concentraciones de productores de ladrillo rojo del país, con
alrededor de 4 000 hornos,3 los que a su vez representan la principal o única
fuente de ingresos de alrededor de 8 000 familias, involucrando a comunidades
como San Diego Cuachayotla, San Sebastián Tepalcatepec, San Juan Tlautla, San
Cristóbal Tepontla, San Matías Cocoyotla, San Mateo Cuanalá, Santa María
Coronango y Santa María Zacatepec, por mencionar sólo algunas, ubicadas en los
municipios de San Pedro y San Andrés Cholula, Juan C. Bonilla y Coronango.
El proceso de fabricación de ladrillos rojos no ha variado sustancialmente desde
su aparición, resultando en un atraso tecnológico del sector y en desventajas
competitivas en los ámbitos regional, nacional y mundial.
Las etapas en la que se ha dividido el proceso de fabricación son: mezclado,
moldeado, secado y cocido.
Aquí se exponen las formas de trabajo actuales y sus perspectivas de
automatización.
Fig. 1. Ruinas de Catal Höyül, actual Turquía.
2 Descripción del proceso actual
2.1 Etapa de mezclado
La primera etapa del proceso consiste en el mezclado de la materia prima, que en
este caso son tres diferentes tipos de tierras y agua. Las tierras utilizadas son:
arcilla amarilla, tepetate y arcilla gruesa.
Las proporciones de estos materiales en la mezcla varían de productor a
productor, debido a que se trata de un proceso esencialmente artesanal y las
152
‚recetas‛ dependen de la tradición familiar; es decir, se trata de fórmulas que han
pasado de generación en generación a lo largo de los años.
La mezcla, en algunos casos, se hace de manera totalmente manual. Se agregan
las arcillas y el tepetate empujando con los pies sobre el suelo y se incorpora el
agua; posteriormente, se amasa con palos, palas o rastrillos. Actualmente, en
algunos de los sitios de producción, se hace uso del tractor agrícola equipado con
una herramienta llamada niveladora, y se aprovecha el dibujo de las llantas para
llevar a cabo el mezclado, el cual consiste en el repetitivo paso del tractor sobre el
material a mezclar.
La mezcla resultante no es homogénea debido a lo deficiente del proceso y a la
variación de las cantidades de materia prima involucradas.
Otra desventaja de esta metodología de trabajo es la cantidad de superficie
requerida para llevarla a cabo, debido a que se hacen grandes volúmenes de
mezcla y el espacio requerido para la correcta operación del tractor es grande.
2.2 Etapa de moldeado
En esta etapa se le da forma a los ladrillos, una vez que la mezcla ha adquirido las
características que el productor considere óptimas. Se debe de llevar a cabo en
cuanto se concluye el mezclado y se utiliza una herramienta llamada gavera,
formada por un bastidor que tiene capacidad para moldear 4 o 6 ladrillos por
vez.
Una vez que se acarrea la mezcla al lugar donde se moldearán los ladrillos, se
coloca la gavera a ras de tierra y se toma una porción de mezcla, se coloca en la
parte superior de la gavera y se utilizan las manos y los dedos para compactar los
ladrillos y eliminar los huecos que quedan en el interior del molde. Se agrega otra
cantidad de la mezcla y se repite la operación, hasta que los huecos quedan
completamente llenos. Una vez hecho esto, se utiliza un rasero —una pieza con
forma de solera metálica— para eliminar el material sobrante.
Cuando se ha terminado de llenar los moldes y de pasar el rasero, se retira la
gavera, teniendo cuidado de no dañar la forma de los ladrillos moldeados. La
gavera se coloca junto a los ladrillos que se acaban de moldear y se repite
nuevamente todo el proceso. La disposición de los ladrillos queda en forma
paralela y horizontal, y los fabricantes tienen cuidado de dejar una separación
suficiente entre hilera e hilera para transitar entre ellas.
Este método de trabajo tiene varias desventajas; por ejemplo, las manos de los
productores están en contacto directo con la mezcla, lo cual es riesgoso porque se
producen heridas, o también, cuando el material se seca, reseca la piel y ésta se
agrieta. Otra desventaja es la necesidad de que el terreno tenga una pendiente de
153
5 a 10% para que el exceso de agua escurra por efecto de la gravedad. Además,
un terreno muy amplio es necesario para colocar los ladrillos a ras de tierra para
esperar a que pierdan humedad y puedan ser transportados manualmente al
lugar de secado.
3 Etapa de secado
Los ladrillos se dejan secar lo suficiente como para manipularlos sin que se
rompan o desbaraten. Periódicamente se verifica que este secado se produzca
(véase la figura 1). Cuando los ladrillos están lo suficientemente secos, se
disponen de forma vertical durante unas 24 horas a fin de que sus caras pierdan
humedad por efecto del aire y el calor; después, se acomodan formando muros
de secado, llamados enrejados, para que el aire circule libremente entre los
ladrillos y se pierda una mayor cantidad de humedad. Esto tarda entre 15 y 30
días, dependiendo de las condiciones meteorológicas imperantes.
Fig. 2.Ladrillos en etapa de secado.
4 Etapa de cocido
Una vez que los ladrillos crudos han perdido humedad, se transportan al horno
(véase la figura 3) y se colocan en su interior (véase la figura 4). El horno es una
estructura construida con los mismos ladrillos que se fabrican, con forma
prismática rectangular y rematada en forma piramidal truncada, con un espacio
que queda por debajo del nivel del piso, en el cual se colocan los quemadores y se
lleva a cabo la combustión.
El tiempo de cocción varía, dependiendo de la cantidad de ladrillos a cocer.
Generalmente, un horno para 40 millares tarda entre 30 y 48 horas para obtener
154
un cocido correcto. Después los ladrillos se dajan enfriar durante 8 o 10 días,
dependiendo de las condiciones del clima.
Fig. 3. Transporte de ladrillos secos hacia el horno de cocimiento.
El combustóleo utilizado es de muy baja calidad —en el mercado nacional—, su
costo también es bajo, pero las emisiones de contamintantes a la atmósfera son
muy grandes, en el orden de las 10 837 toneladas anuales.3 Debido a su baja
calidad, no es posible quemarlo con atomización mecánica, por lo que necesita de
un medio atomizante. En la región de Cholula, generalmente, se utiliza vapor de
agua. Al mismo tiempo, es necesario contar con un piloto, operado con gas LP, a
fin de garantizar un encendido confiable, y por último, el combustóleo requiere
de dos etapas de calentamiento antes de ser enviado a los quemadores. La
primera etapa de calentamiento lo lleva a 35 °C, para que alcence a ser
bombeado, y la segunda, a 100 °C para que se pueda quemar.
Para dar comienzo al proceso de cocción, es necesario calentar con Diesel las
líneas de conducción del combustóleo y hacer lo mismo al terminar, para que las
líneas se mantengan limpias y no se formen tapones de combustóleo. También es
necesario, al concluir la cocción, hacer una limpieza profunda de las líneas de
conducción y de las boquillas y filtros, así como deshollinar toda la caldera.
Fig. 4. Horno de cocido.
155
5 Perspectivas para la automatización
La propuesta para la automatización del proceso toca todas las etapas que hemos
descrito hasta aquí. A continuación, se describen las perspectivas de
automatización para cada una de ellas, así como la forma probable de operar de
cada una.
5.1 Etapa de mezclado
La etapa de mezclado se llevará a cabo con una banda transportadora alimentada
por tres tolvas, las que a su vez contendrán los tres tipos de tierra utilizados para
el proceso y un tanque de almacenamiento de agua.
En la banda transportadora se depositarán las cantidades necesarias de cada una
de las tierras, previamente pesadas con galgas elastométricas, a fin de controlar la
cantidad y las proporciones de los materiales.
En el otro extremo de la banda se colocará una máquina para el molido y el
mezclado de los materiales, incorporando la cantidad necesaria de agua, medida
mediante un fluxómetro, a fin de obtener una consistencia óptima. Esta
consistencia óptima se determinará en estudios previos.
5.2 Etapa de moldeado
Para esta etapa también se propone una evolución drástica. Habrá una extrusora
mecánica que será alimentada con la mezcla; un motor eléctrico proporcionará la
potencia necesaria para mover un tornillo sin fin acoplado a una cámara de vacío,
para extraer así la mayor cantidad posible de aire de la mezcla y forzar su salida a
través de una boquilla con dimensiones 250 mm x 120mm, a fin de obtener un
macizo con esas dimensiones y una longitud variable.
A la salida de la boquilla, el macizo descansará sobre otra banda transportadora
que lo trasladará a la zona de cortado, compuesta por una guillotina que lo
cortará en la sección transversal. Posteriormente, se realizarán nuevos cortes
transversales de 50 mm cada uno, a fin de formar el ladrillo de dimensiones
comunes. Esta última parte del moldeado se llevará a cabo utilizando otra
guillotina, pero esta vez con múltiples hojas de corte, las cuales, en realidad,
serán alambres de acero sujetados a un bastidor, con la tensión correcta para que
los cortes sean los adecuados.
156
5.3 Etapa de secado y cocido
En esta etapa se aprovechará el calor emitido por el horno para reducir el tiempo
de secado de los ladrillos moldeados. En el proceso actual se pierde calor por la
parte superior del horno, debido a la porosidad del material del que está
construido y a la separación que existe entre los ladrillos que lo conforman. A fin
de aprovechar al máximo la cantidad de energía que se consume en el proceso, se
procederá a captar el calor desprendido por el horno cuando otros ladrillos se
encuentren en cocimiento. Este calor será conducido hasta una especie de
invernadero en el que se encontrarán los ladrillos recién moldeados, los cuales
perderán humedad por efecto del calor hasta obtener un secado óptimo en un
tiempo menor al que se consume actualmente.
El proceso de cocido, ahora íntimamente ligado al de secado, será modificado por
medio de un análisis de las propiedades térmicas del horno, a fin de optimizar la
colocación de los quemadores y disminuir considerablemente el consumo de
energía. También se realizará un estudio de los requerimientos de energía que
tienen los ladrillos utilizados en las construcciones; así se obtendrán las
características mecánicas óptimas requeridas en la industria de la construcción.
157
Fig.
5. Diagrama del proceso actual.
6 Diagrama del proceso actual
En la figura 5 se observa el diagrama del proceso actual 5 de fabricación de ladrillo
rojo en un horno típico de la región de Cholula y los promedios de distancia y
tiempo de dos hornos pertenecientes a la familia Flores Chapuli. En el diagrama
es posible observar que el proceso de secado de ladrillos tiene una duración
promedio de 22 días, considerando condiciones climatológicas favorables. Este
tiempo puede disminuirse considerablemente si se aprovecha el calor emitido
por el horno para el secado de lso ladrillos recién moldeados.
El enfriamiento del horno tarda en promedio 9 días, durante los cuales la
producción se detiene. Entonces los recursos disponibles están ociosos, lo que
conduce a un incremento en los costos de producción. Desde nuestra perspectiva,
el calor que se debe perder en esta etapa será aprovechado para el proceso de
secado y se propondrá, además, la producción en serie, a fin de disminuir la
duración del ciclo de fabricación.
158
Conclusiones
El proceso que actualmente se sigue para la elaboración de ladrillo rojo en la
región de Cholula no ha sufrido ninguna variación significativa desde la época de
apogeo de la cultura cholulteca, comprendida entre los años 200 y 700 d.C., lo
que deja en una posición de desventaja competitiva a los productores, porque la
presencia de la tecnología es mínima, y en la mayoría de los casos, nula. En el
presente trabajo se expuso una primera propuesta para su automatización,
considerando que el monto de las inversiones debe de ser muy bajo, debido a la
pobre condición económica de los productores. Actualmente, los profesores de la
carrera de Mecatrónica de la Universidad Politécnica de Puebla tienen
acercamiento con un grupo de productores de la región para colaborar con ellos
en la disminución del tiempo del ciclo de trabajo, mejorar las condiciones de estas
pequeñas empresas familiares y aumentar la rentabilidad.
Referencias
1. Bartel, B., ‚The Characteristics of the Çatal Hüyük Supra-Community‛,
documento presentado en el LXXIII General Meeting of the AIA, American
Journal of Archaeology, núm. 76, 1972, pp. 204-205.
2. México en el Tiempo, núm. 19, julio-agosto de 1997, en Internet
(http://www.mexicodesconocido.com.mx/notas/5247-El-ladrillo-en-laarquitectura-prehisp%C3%A1nica).
3. Comunicación Social del Gobierno del Estado de Puebla, en Internet
(http://www.comunicacionsocial.gob.mx/index2.php?option=com_content&do
_pdf=1&id=7932).
4. Kidder, F. E. et al, ‚Manual del arquitecto y del constructor‛, Unión
Tipográfica-Editorial Hispanoamericana, México, 1997.
5. Zandin, K. B. y H. Bright Maynard, ‚Manual del ingeniero industrial‛, vol.
2, McGraw-Hill, 2000.
159
160
Cloud computing
Jesús Enrique Vázquez Reyna
Resumen. Esta ponencia tiene el propósito de dar a conocer el concepto de ‚cloud
computing‛, sus orígenes, aplicaciones en línea y sus ventajas y desventajas; así
como sus aplicaciones presentes y futuras.
Palabra clave: informática en la nube o computación de nube.
Keyword: Cloud Computing.
Sumario:
Introducción 2 Orígenes de la cloud computing 3 Aplicaciones de
la cloud computing 4 Cloud storage 5 ¿Qué se le debe pedir a un
proveedor de cloud storage? 6 Algunos ejemplos de cloud storage 7
Ventajas y desventajas de la cloud computing 8 Riesgos del área de
la cloud computing 9 Las tres clases de cloud computing 10
Proyectos a futuro 11 Conclusiones Referencias
1
1 Introducción
Durante mucho tiempo el concepto de Web 2.0 ha estado rodando sobre los
términos más comunes de la WWW (World Wide Web). En la actualidad, el
concepto m{s nuevo es el de ‚cloud computing‛, es decir, la tendencia a disponer
de archivos y aplicaciones directamente en la Web. En los últimos 10 años las
empresas muestran una tendencia cada vez mayor a guardar en algún lugar de la
red su información, a manera de almacenamiento, por eso la distancia entre el
usuario y la red de redes se ha ido acortando. Cada usuario eventualmente
tendrá que usar algún tipo de aplicación de ofimática y utilidades que
probablemente no tenga instaladas en su computador, por lo cual esta teoría
viene a revolucionar el mundo de la información.
El fundador de la Free Software Foundation y del proyecto GNU, Richard
Stallman, ataca este concepto porque dice que se trata de una campaña de
marketing que hará a los usuarios aún más dependientes del software basado en la
Web, lo que representa un grave riesgo para la libertad y la intimidad. Su
posición se explica cuando se piensa en el hecho de que, si se traslada todo el
software a la Web, se estaría poniendo en manos de las empresas nuestras tareas
cotidianas, con el riesgo de que en algún momento estas compañías decidieran
161
cobrar por nuestros accesos al servicio, con lo cual nos quedaríamos de un día
para el otro sin herramientas de trabajo.
La centralización de los recursos no tiene nada de original, pues es un concepto
que a lo largo de la historia de la informática se ha adoptado y luego abandonado
unas cuantas veces, conforme a los vaivenes provocados por las más recientes
innovaciones tecnológicas. Por lo tanto, esta tendencia o bien llegó para quedarse
o, como ya ha sucedido en otras ocasiones, no es más que una burbuja temporaria
que explotará al exponerse a los primeros vientos de cambio.
El término ‚cloud computing‛ traducido literalmente al español significa
‚computación de nube‛; sin embargo, por sí mismo no explica absolutamente
nada.
Desde los primeros tiempos, la noción de Internet se ha representado
gráficamente como una nube hacia donde se conectan todas las computadoras
del mundo. Pero lo cierto es que Internet es un concepto más complejo. Se trata
de computadoras individuales que conforman redes, las cuales a su vez se
agrupan en conglomerados de redes. Estos conglomerados se conectan entre sí
conformando una red de redes denominada Internet. Para que la explicación sea
más simple, la gráfica de Internet semeja una nube hacia la cual se conecta cada
ordenador para utilizar los servicios y aplicaciones que todos conocemos.
Fig. 1. Cloud computing en la Web.
162
2 Orígenes de la cloud computing
Al comienzo de la década de 1960, los entonces primitivos y gigantescos equipos
informáticos eran diseñados y construidos para ejecutar un único programa —o
trabajo— a la vez. Pero apenas un lustro después, se había hecho inmensamente
popular el concepto de ‚time sharing‛, con el cual, prestando una fracción de los
recursos del sistema —ya fuera tiempo del procesador o capacidad de
almacenamiento— a múltiples usuarios conectados por medio de ‚terminales
bobas‛, era posible que muchos de ellos trabajaran de manera simultánea en un
solo equipo, con los poderes de proceso y almacenamiento de los documentos
concentrados en un gran computador central o ‚mainframe‛. Este enfoque se
tornó de uso masivo al ser adoptado por grandes comunidades de usuarios,
como los científicos o estudiantes universitarios de ciencias exactas, ansiosos de
acceder al poder del cálculo informático. Pero, durante la década de 1980, la
aparición de las computadoras hogareñas acostumbró a muchos usuarios a tener
y operar sus propios equipos. El lanzamiento, en el año de 1981, de la ‚personal
computer‛, un equipo inform{tico lo suficientemente barato como para ser
asequible para una gran cantidad de individuos, pero de notable potencia, con
una arquitectura modular y expansible de IBM, invirtió definitivamente la
tendencia. A partir de entonces, los usuarios se acostumbraron a ser los dueños y
señores de sus computadoras, con el consiguiente monopolio de la capacidad de
proceso y de almacenamiento que éstas ofrecían.
3 Aplicaciones de la cloud computing
Esta tecnología permite acceder a servicios y aplicaciones por medio de Internet,
con un navegador convencional. En este tipo de sistema, el usuario accede a toda
clase de servicios, sin necesidad de instalar un software en su ordenador.
Una forma gráfica de mostrar este punto es con un ejemplo sencillo. Todas las
personas que manejan computadoras tienen cuentas de correo electrónico. Si
tomamos como referencia a Hotmail, Gmail o Yahoo, nos damos cuenta de que
para utilizar sus casillas de correo no es necesario instalar ningún software.
Solamente tenemos que acceder mediante el navegador a la página principal del
cliente de correo y escribir el nombre del usuario y la contraseña. De este modo,
administramos nuestro correo, recibimos mensajes, los enviamos e incluso los
almacenamos. Ahora bien, toda esta información no se aloja en nuestro
ordenador, sino que se almacena en nuestro servidor de la empresa que presta
estos servicios. Otros ejemplos de servicios de este tipo que solemos usar vía Web
son los blogs, los antivirus, el online (en línea), las emisoras de radio y video, entre
otros.
163
Como dijimos anteriormente, la tendencia tecnológica actual es el uso de
aplicaciones en línea (online) y no instaladas en la PC (personal computer). Cuando
hablamos de aplicaciones, nos referimos a aquellos programas informáticos
diseñados para facilitar al usuario la realización de un determinado tipo de
trabajo. Como primer ejemplo, citaremos la ‚suite de oficina‛, que ofrece una
planilla de cálculo, un procesador de texto y una base de datos, entre otras
aplicaciones. Desde un principio, este paquete de programas se ha tenido que
instalar en el ordenador para utilizarlo.
Lo mismo sucede con la reproducción de música. Por ejemplo, para escuchar una
canción, es necesario tener un reproductor y los códecs (codificadordecodificador)1 necesarios para cada tipo de archivo que se va a reproducir. A
partir del concepto de cloud computing, estos requisitos ya no existirán.
Para ilustrar este ejemplo, pensemos en el servicio de Google Docs,2 con el cual
creamos documentos, hojas de cálculo y presentaciones en línea (online). Este
servicio es de uso muy sencillo, similar a programas como Word, Excel o
PowerPoint. Los archivos quedan guardados en servidores externos a nuestra
PC, con la ventaja que ofrece la posibilidad de abrirlos desde cualquier parte del
mundo, con apenas una PC que ofrezca conexión a Intenet.
Otro aspecto a destacar es la posibilidad de manejar un sistema operativo
completo en línea (online). En la actualidad, existen al menos 10 versiones
diferentes de sistemas operativos Web. Un ejemplo de ello es eyeOS, una nueva
forma de sistema operativo donde todo está disponible desde el navegador.
Con estos sistemas operativos tendremos un escritorio, aplicaciones y archivos
siempre a nuestra disposición, ya sea en el hogar, en la universidad, en la oficina,
etcétera. Para acceder al escritorio y a los archivos sólo debemos abrir un
navegador y conectarnos con un servidor eyeOS. Pero de estos aspectos
trataremos con detalle más adelante, a lo largo de este artículo.
4 Cloud storage
El concepto de ‚cloud storage‛ es similar al de cloud computing, pero con la
diferencia de que se trata de la capacidad de almacenamiento. La idea es contar
con la posibilidad de almacenar información en espacios virtuales fuera de los
discos duros alojados en las PC locales. Con el cloud storage, los datos también
residen en la Web, asignados dinámicamente entre varios centros de datos para
garantizar su almacenamiento y entrega con la mayor rapidez allí donde sean
requeridos. Es decir, los usuarios nunca saben dónde están almacenados sus
datos en un momento dado. Geoff Tudor, cofundador de Nirvanix, firma de
reciente introducción en este mercado, compara el cloud storage con el servicio
164
eléctrico: ‚después de todo, cuando enciendes la luz, no sabes exactamente dónde
se origina cada electrón‛.
Fig. 2. Cloud storage o capacidad de almacenamiento en distintos medios.
Aunque son ya muchas las compañías interesadas en entrar en este nuevo
mercado, hoy la oferta de cloud storage mejor conocida es Simple Storage Service
(S3), de Amazon, con dos años de existencia. Cabe mencionar también a
Nirvanix, lanzado en octubre de 2007, y a Mosso, una compañía de Rackspace
que dio a conocer su oferta hace sólo unos meses atrás. Algunas otras grandes
marcas del mundo están ya preparando con entusiasmo sus ofertas de cloud
storage, como Google, que trabaja en el lanzamiento de un servicio de
almacenamiento en línea (online) informalmente conocido como GDrive.
Asimismo, EMC, tras la compra en septiembre del año 2009 de la firma de
backup online Mozy, ultima un servicio masivo con tecnologías denominadas en
código Hulk & Maui. Para alimentar esta estrategia, la compañía adquiría
recientemente la firma Pi, cuyo software y servicios ayudan a los usuarios a seguir
el rastro de sus datos y contenidos personales en la red. La tecnología y la
plantilla de Pi serán integrados en la nueva unidad Cloud Infrastructure and
Services Division, de EMC, en la cual también se encuadran, además de la
tecnología de Mozy, la plataforma de servicios basados en cloud fortness.
Pese a su liderazgo, del servicio de Amazon se conocen pocos detalles sobre la
infraestructura de cloud utilizada. De la de Nirvanix se sabe que utiliza software
personalizado y tecnologías de sistemas de ficheros corriendo sobre servidores de
almacenamiento en Intel, localizados en seis centros de Estados Unidos, Asia y
Europa, aunque el número de estos emplazamientos ascendió a 20 a finales de
165
2009; por motivos de seguridad, los datos del cliente se replican en dos o tres de
estos centros. En cuanto a Mosso, el servicio se suministra desde el centro de
datos de Rackspace, en Dallas, Estados Unidos, al que pronto se añadirá otro
centro en Reino Unido.
FreeDrive, el servicio de distribución de archivos y de almacenamiento personal
para usuarios de redes sociales, como Facebook, MySpace y Bebo, lleva usando el
servicio de Nirvanix desde noviembre de 2009. Gracias a su solución, la
compañía convierte videos a formato flash automáticamente y envía datos
directamente desde ‚la nube‛ a sus m{s de 180 000 clientes; de otro modo, todos
los datos tendrían que ser confiados al propio servidor Web de FreeDrive. Por su
parte, Geezeo, red social centrada en las finanzas personales, utiliza el servicio S3
de Amazon para almacenar sus 251 GB de datos, con la tranquilidad de que, en
caso de que sus necesidades de almacenamiento se multipliquen, nunca tendrá
problemas.
Los clientes de Nirvanix pagan 18 céntimos de dólar al mes por GB de
almacenamiento, más otros 18 céntimos por GB cargado y descargado. En el
mismo rango de precios, S3 de Amazon cobra 15 céntimos de dólar al mes por GB
de almacenamiento, más 10 céntimos por GB por datos transferidos. Un cliente
podría comenzar con sólo unos pocos cientos o miles de usuarios y, con el
tiempo, escalar a Petabytes de almacenamiento sin necesidad de cambiar la
aplicación.
5¿Qué se le debe pedir a un proveedor de cloud storage?
Medidas de seguridad. Los usuarios deben ‚encriptar‛ sus propios ficheros. No
deben permitir que sea el proveedor quien lo haga.

Acceso y auditoría de los datos. El acceso a los datos permite averiguar si
alguien los ha modificado. Algunos proveedores, como Amazon y Nirvanix,
ofrecen esta posibilidad sin coste adicional.

Localización de los datos almacenados. En algunos casos, los clientes
necesitan saber la localización exacta de los datos por motivos de
cumplimiento normativo. Nirvanix ofrece la opción de bloquear los datos en
localizaciones físicas específicas pero Amazon no.

Tiempos de caída del servicio. Los clientes del Simple Storage Service, de
Amazon, sufrieron durante horas una caída del servicio el pasado febrero.
Aún así, los cloud services pueden ser más fiables que el propio centro de datos
del cliente. Amazon y Nirvanix dan créditos a los clientes si el tiempo de
actividad mensual cae por debajo del 99.9%.

Recuperación de desastres. No hay modo de evitarlo, de vez en cuando
se producen catástrofes. Por ello hay que asegurarse de que el proveedor
166
cuenta con un plan de recuperación de desastres que permita acceder sin línea
(offline) a los principales centros de datos.

6 Algunos ejemplos de cloud storage
Google Apps: brinda el servicio de aplicaciones para empresas como Gmail,
Google Talk, Google Calendar y Google Docs, etcétera.
Amazon Web Services: los servicios que ofrece son el Amazon EC2™, Amazon
S3™, SimpleDB™, Amazon SQS™.
Azure de Microsoft: ofrece servicios de sistema operativo, hosting, sistemas para
desarrollo.
Rackspace: es una famosa empresa de hosting que está detrás de Mosso,
compañía que ofrece un paquete de básico de hosting a partir del cual se escala
según se necesite —y sin migrar de servidores. Recientemente, Rackspace
adquirió a JungleDisk, un popular cliente para Amazon S3, el cual pronto estará
integrándose a CloudFiles, otro servicio de Mosso.
7 Ventajas y desventajas de la cloud computing
Las ventajas de la cloud computing son:
 Acceso a la información y los servicios desde cualquier lugar.
 Disponibilidad del servicio y/o aplicación Web 24h/7días/365dias.
 Accesibilidad mediante diferentes tecnologías compatibles, tales como
PDA, teléfonos móviles, ordenadores portátiles, blackberrys, netbooks,
etcétera.
 Servicios gratuitos y de pago según las necesidades del usuario.
 No saturación del uso del disco duro en el ordenador o aplicación que se
usa, debido a que sólo se necesita un navegador Web e Internet.
 Empresas con facilidad de escalabilidad.
 Capacidad de procesamiento y almacenamiento sin instalar máquinas
localmente.
Las desventajas son las siguientes:
 Acceso de toda la información a terceras empresas.
 Dependencia de los servicios en línea.
 En ocasiones, debido a una catástrofe natural o error humano, el servicio
se suspende, con las malas repercusiones para los clientes —nosotros.
 es mejor no guardar datos privados, fotos, videos o información mucho
m{s privada en estos servicios. Hoy parece que ‚no nos molesta‛, pero,
167
¿realmente estamos todos de acuerdo y tranquilos dejando tantos datos al
alcance de terceras personas? ¿Dónde y cuándo comenzaríamos a perder
nuestra privacidad y libertad?
 Descontrol del manejo, almacenamiento y uso de esta información.
 Dependiendo de qué tecnología use ese servicio, un dispositivo podrá
acceder o no al servicio.
 Mayor dependencia de proveedores de Internet y de la velocidad de
ADSL, cable, fibra óptica u otras tecnologías.
 Posibilidad de que delincuentes cibernéticos revienten la seguridad del
servicio y se hagan con datos privados.
 Demasiada necesidad y dependencia de estar conectado, podría generar
apariciones de nuevos tipos de enfermedades —‚internetitis estresis aguda‛.
8 Riesgos del área de la cloud computing
Por su parte, Gartner identifica siete riesgos principales en el área de la cloud
computing:
1 La confianza en el proveedor. Cuando sus aplicaciones y datos corporativos se
externan, usted debe hacerlo con alguien de su total confianza, que le asegure la
calidad del servicio, los términos de confidencialidad de su relación contractual,
etcétera.
2 Conformidad legal. Al final, el responsable en caso de infracción es el propietario
de la información. Por ello, los proveedores de cloud computing deberán estar
abiertos a cualquier tipo de auditoría externa y a tomar y cumplir cuanta medida
sea necesaria para garantizar el cumplimiento de la normativa, ofreciendo, con
ello, seguridad a sus clientes.
3 Localización de los datos. Es uno de los puntos fuertes de la cloud computing pero
también uno de sus riesgos. El tener acceso a los datos en cualquier momento,
independientemente de dónde estén localizados, debe estar garantizado para el
cliente.
4 Protección de la información. Como se comparten recursos, esto no puede ir en
menoscabo de la confidencialidad de los datos del cliente, la cual deberá estar
garantizada en todo momento.
5 Recuperación. El desconocimiento de la localización de la información no puede
implicar jamás la falta de medidas de seguridad y réplica para garantizar su
recuperación en caso de desastre o pérdida de datos.
168
6 Colaboración con la justicia. Se deben acatar las leyes de protección y seguridad
de la información, aunque éstas varíen según las normas propias del país donde
se localicen los datos y aplicaciones del usuario.
7 Una relación “para toda la vida”. La sustentabilidad del proveedor tiene que estar
garantizada. Fusiones, quiebras, cualquier cambio en su negocio no puede dejar
‚indefenso‛ al cliente y, por ello, se establecerá un compromiso de continuidad a
largo plazo en la relación en los propios términos del contrato.
9 Las tres clases de cloud computing
La cloud computing se ha convertido en un concepto comodín. Se puede usar en
múltiples contextos para referirse a cosas de lo más dispares. Pero parece que hay
consenso respecto a tres clases fundamentales, a saber:
Software as a Service (SaaS); en español, ‚software como servicio‛. Modelo de
distribución de software donde una empresa sirve el mantenimiento, soporte y
operación que usará el cliente durante el tiempo que haya contratado el servicio.
El cliente usará el sistema alojado por esa empresa, la cual mantendrá la
información del cliente en sus sistemas y proveerá los recursos necesarios para
explotar esa información. Ejemplos: Salesforce, Basecamp.
Infrastructure as a Service (Iaas); en español, ‚infraestructura como servicio‛.
Modelo de distribución de infraestructura de computación como un servicio,
normalmente mediante una plataforma de ‚virtualización‛. En vez de adquirir
servidores, espacio en un centro de datos o equipamiento de redes, los clientes
compran todos estos recursos a un proveedor de servicios externo. Una
diferencia fundamental con el hosting virtual es que el aprovisionamiento de estos
servicios se hace de manera integral por medio de la Web. Ejemplos: Amazon
Web Services EC2 y GoGrid.
Platform as a Service (PaaS); en español, ‚plataforma como servicio‛. Aunque suele
identificarse como una evolución de SaaS, es más bien un modelo en el que se
ofrece todo lo necesario para soportar el ciclo de vida completo de construcción y
puesta en marcha de aplicaciones y servicios Web completamente disponibles en
Internet. Otra característica importante es que no hay descarga de software que
instalar en los equipos de los desarrolladores. PasS ofrece mútliples servicios,
pero todos aprovisionados como una solución integral en la Web. Aunque a
algunos servicios de Amazon Web Services, como SimpleDB y SQS, yo los
considero PaaS, esta afirmación puede ser discutida. Otro ejemplo: Google App
Engine.
169
10 Proyectos a futuro
El carácter experimental que todavía tiene cloud computing, pese a que ya es
operativo en distintas formas y ofertas, está llevando a la industria y las
instituciones nacionales e internacionales a investigar estas tecnologías con el
objeto de crear modelos de producción válidos tanto para el mercado de
consumo como el de empresa. De las actividades que se están desplegando
alrededor de la cloud computing con propósitos innovadores destacan dos, una en
Estados Unidos y otra en la Unión Europea. En ambas, IBM es protagonista. El
pasado marzo de 2009, IBM lanzó una iniciativa de investigación, en colaboración
con dos entidades universitarias de Estados Unidos, dirigida al suministro de
software de automatización y autogestión del centro de datos en entornos de cloud
computing. En concreto, la alianza con el Georgia Institute of Technology y la
Ohio State University se centra en el desarrollo de tecnologías de autogestión por
la división de autonomic computing de IBM, creada en 2001. La compañía espera
que finalmente los avances conseguidos en este terreno se integren en sus
productos comerciales, especialmente en el software de gestión de Tivoli. ‚IBM
está siendo muy activa en autonomic computing y más recientemente en cloud
computing. Y este proyecto permitirá unir ambas áreas para dar respuestas a los
clientes‛, aseguraba recientemente Matt Ellis, vicepresidente de Autonomic
Computing de IBM, a Network World. Las tendencias hacia entornos
inform{ticos cada vez m{s flexibles ‚incrementan la complejidad de la gestión.
Por ello, se necesita automatización que soporte estos entornos din{micos‛.
Finalmente, la iniciativa desplegará un prototipo de cloud computing que enlace
los centros de datos de las dos universidades, llamado Critical Enterprise Cloud
Computing Services (CECCS). Los investigadores probarán durante los próximos
tres años los beneficios de la automatización en cuestiones como balanceo de
cargas, consolidación de servidores, recuperación de desastres, failover
automatizado y fiabilidad.
El otro gran proyecto en cloud computing es el promovido por la Unión Europea,
dentro de la primera convocatoria del VII Programa Marco, en el capítulo de
Infraestructuras, Ingeniería y Arquitecturas de Software y Servicios. Dotado con
17 millones de euros, Reservoir (Resources and Services Virtualization without
Barriers) persigue ‚explorar el despliegue y gestión de servicios TI a través de
diferentes dominios administrativos, plataformas tecnológicas y geografías‛.
Desde Europa y con España, liderado por IBM, en su laboratorio de investigación
de Haifa, en Reservoir participan un total de 13 socios europeos, entre ellos,
Telefónica Investigación y Desarrollo y el Grupo de Arquitectura de Sistemas
Distribuidos de la Universidad Complutense de Madrid, junto a otras entidades
170
como SAP Research, Sun Microsystems, Thales y universidades de Umea,
Londres, Lugano y Messina. Como apunta en su blog Ignacio Martín Llorente,
catedrático del Grupo de Arquitecturas de Sistemas Distribuidos de la
Universidad Complutense de Madrid:
El objetivo de Reservoir durante los próximos tres años es desarrollar la
tecnología necesaria para desplegar soluciones de infraestructura que
proporcionen servicios bajo demanda, a un precio competitivo y
asegurando calidad de servicio. Esta tecnología será decisiva para los
centros de datos del futuro, virtualizando [sic] la infraestructura que
soporta los servicios y permitiendo que varios centros de datos
compartan su infraestructura con el fin de satisfacer demandas puntuales
que excedan la capacidad local. En otras palabras, una empresa podrá
acceder a servicios o infraestructura adicional por medio de la tecnología
Reservoir en alguno de los sitios de la cloud. Si existe una demanda
puntual para un servicio hospedado en un centro de datos, éste podrá
alquilar dinámicamente servicios adicionales. El proyecto incluye la
validación de la nueva tecnología en escenarios de la administración
pública, procesos de negocio, computación bajo demanda y
telecomunicaciones.
El proyecto está organizado en tres actividades tecnológicas principales:
gestión de servicios, gestión de entornos de ejecución virtuales e
infraestructura de virtualización. El Grupo de Arquitectura de Sistemas
Distribuidos de la Universidad Complutense de Madrid es responsable
de la actividad sobre gestión de entornos de ejecución virtuales. En el
contexto de la actividad se desarrollarán nuevas tecnologías Grid y de
virtualización para satisfacer las demandas fluctuantes de recursos en
entornos tipo cloud computing.
En el modelo cloud de Reservoir se emplea el motor de gestión de
‚virtualización‛ OpenNEbula, una tecnología de código abierto desarrollada por
el grupo de investigación de Martín Llorente, que está siendo adoptada en
numerosas soluciones cloud y datacenter.
11 Conclusiones
Finalmente, la cloud computing está emergiendo. Se ha dado la combinación de
factores para que empiece a despegar. Aún quedan muchas incógnitas que
resolver, especialmente la de cuál será el papel de los medianos y pequeños
proveedores de hosting contra los grandes proveedores. La otra gran pregunta es
qué características arquitectónicas deberán tener las aplicaciones que aprovechen
171
la cloud computing, que pueden correr sobre cientos o miles de máquinas virtuales
iguales:

La aplicación debe poder escalar hacia arriba y hacia abajo de manera
sencilla y rápida.

El software de infraestructura debe estar pensado para correr sobre
máquinas virtuales y no sobre el metal.

Los sistemas hardware deben pasar de diseñarse para racks a diseñarse
para containers. Además, el hardware debe ser energéticamente eficiente
cuando el sistema esté ocioso. Otra cuestión importante es que el hardware
deber{ tener en cuenta la ‚virtualización‛ y sus características —cuellos de
botella de entrada-salida, por ejemplo.
En los años venideros se verá un crecimiento rápido de estos servicios, algo muy
atractivo para las empresas, que estarán interesadas en seguir de cerca su
desarrollo, entender cómo pueden beneficiarse de las alternativas que ofrece y
asegurar que utilizan la tecnología de la información de la forma más beneficiosa
posible.
Referencias:
1. Códecs o codificador-decodificador. Es una especificación que utiliza un
dispositivo o programa para desempeñar transformaciones bidireccionales
sobre datos y señales. Existen códecs de transmisión, compresión y encriptación
[véase Internet (http://www.alegsa.com.ar/
Dic/codec.php)].
2. El concepto de Google Docs cambia el modo de trabajar en equipo. Además,
nos libera de tener que depender de un disco rígido o un pen drive para ir por
allí revisando y actualizando documentos. Todo está en línea, ordenado y
actualizado, para que podamos acceder a cualquier hora y desde cualquier
lugar
[véase
Internet
(http://expediciones-virtuale
s.blogspot.com/2008/05/googledocs.html)].
3. Revista Dr. Max Número 82 Año V, páginas 14-23, edición Dalaga, S.A.
Ciudad de Buenos Aires Argentina.
2. Revista Users Número 21 1Año V, páginas 68-70, edición Dalaga, S.A.
Ciudad de Buenos Aires Argentina.
3. En Internet (http://www.maestrosdelweb.
com/editorial/cloud-computing-nueva-era-de-desarrollo).
4. En Internet (http://www.idg.es/Comunic
aciones/articulo.asp?id=191003).
5. En Internet (http://www.nubeblog.com/
2008/10/15/saas-iaas-y-paas-las-tres-clases-de-cloud-computing/).
172
6. En Internet, (http://www.feliperm.info/2009/
03/04/cloud-computing-ventajas-ydesven
tajas/).
7. En Internet (http://www.itcio.es/cloudcomputing/informes/1005071022902/ventajas-frenos-al-cloudcomputing.1.html).
173
174
Medición del Tremor Parkinsoniano mediante
un Instrumento Virtual Analizado y Diseñado
con SysML
Juan Fernando García Mejía, Flor del Río González Romero, Arturo Garduño Aparicio
Resumen. En este artículo se presenta el análisis y diseño, mediante el lenguaje
de modelado de sistemas, de un instrumento virtual de medición no invasivo de
una señal eléctrica representativa del tremor parkinsoniano, el cual es un signo
de una enfermedad de carácter neurológico-degenerativo conocida como mal del
Parkinson. El sistema propuesto está constituido en su etapa física por una tarjeta
de adquisición de datos, un circuito de medición compuesto por amplificadores
operaciones y fotorresistencias como elemento sensor, la parte lógica se compone
de módulos de adquisición, medición de frecuencia y visualización, los cuales
son codificados en Lab View.
Palabras clave: tremor parkinsoniano, lenguaje de modelado de sistemas.
Sumario:
1 Introducción 1.1 Tremor parkinsoniano 1.2 Lenguaje de modelado de
sistemas 1.2 Lenguaje de modelado de sistemas 2 Análisis y diseño 3
Desarrollo 4 Resultados 5 Conclusiones Agradecimientos Referencias
1 Introducción
El mal de Parkinson es un trastorno degenerativo asociado con el daño a la
sección del cerebro encargada de la movilidad, el cual fue descrito por James
Parkinson, en Inglaterra, en el año de 1817. Este mal pueden padecerlo tanto
hombres como mujeres. Hoy se estima que en los próximos 25 años habrá un
incremento de 100% en la cantidad de casos reportados. Con esto en mente, se
construyó un instrumento virtual de medición del tremor parkinsoniano, de
carácter no invasivo, el cual fue analizado y diseñado mediante el lenguaje de
modelado de sistemas.
Los instrumentos virtuales presentan un problema teórico: la falta de técnicas de
análisis y diseño holístico de las etapas físicas y lógicas que los componen. 1,2,3,4,5,6,7
En los diagramas de flujo, esquemáticos o de bloques que se emplean para
175
representar la funcionalidad de manera general y las expresiones matemáticas, si
se utilizan técnicas de procesamiento digital, tratamiento de los datos medidos o
aspectos de los circuitos de electrónica, esto queda desarticulado del desarrollo
de los componentes lógicos de los instrumentos virtuales. De continuar así, esta
tendencia provocaría en el futuro retrasos en la entrega y un aumento de los
costos de implementación y mantenimiento, tal como se presentan ahora en la
industria del software.
Una solución para este problema8 propone el análisis y diseño holísticos de los
instrumentos virtuales, mediante los diagramas de flujo de datos (DFD). Otra
forma de solucionarlo es recurriendo al lenguaje de modelado de sistemas, el cual
a diferencia de la otra solución, se ha convertido en un estándar aprobado.
1.1 Tremor parkinsoniano
Los signos representativos del mal de Parkinson son la rigidez y la bradicinesia
—pérdida de sensibilidad en los músculos faciales—, la acinesia —pérdida o falta
de movimiento—, la inestabilidad postural y el tremor parkinsoniano, el cual se
define como un movimiento involuntario, rítmico y oscilatorio que se produce
por la contracción alternante de músculos inervados recíprocamente —agonistasantagonistas— y que se presenta en estado de reposo. El tremor parkinsoniano se
ha registrado en 70% de los casos de esta enfermedad. Una de las formas de
seguimiento del mal de Parkinson es mediante la medición del tremor, la cual se
lleva a cabo con las técnicas que se describen en el cuadro 1.
Cuadro 1. Diversos principios de medición del tremor parkinsoniano y sus
desventajas
Técnica
Acelerómetros.9
Medición de señales
mioeléctricas con
equipo de electromiocardiografía.10
Grabación en video
del movimiento para
su posterior análisis.11
176
Desventaja
Su desventaja es su carácter
invasivo, pues los dispositivos se
colocan en el paciente.
Son de carácter invasivo y el
costo de los instrumentos de
medición de EMG es alto.
Su ventaja es su carácter no
invasivo; su desventaja es su alto
costo, debido a las características
de grabación y reproducción del
equipo.
1.2 Lenguaje de modelado de sistemas
El propósito general del lenguaje de modelado de sistemas (SysML) tiene
aplicaciones en ingeniería de sistemas; soporta la especificación, el análisis del
diseño, así como la verificación y validación de un rango amplio de sistemas
complejos. Estos sistemas incluyen hardware, software, información, procesos y
personal.12
En el año 2001, el Consejo Internacional de Ingeniería de Sistemas (INCOSE, por
sus siglas en inglés) decidió hacer del lenguaje de modelado unificado (UML) un
lenguaje estándar para la ingeniería de sistemas. El UML se adapta a necesidades
específicas y a un gran número de herramientas de modelado. Gracias a los
mecanismos de extensión —denominados estereotipos—, se pueden definir
vocabularios de modelado nuevos, lo que permite que el UML se adapte a
dominios específicos y disciplinas diversas. La adaptación del UML para
sistemas de ingeniería recibe el nombre de OMG Systems Modeling Languaje
(OMG SysML™), cuya primera versión (1.0) est{ basada en el UML 2.1.1. 13
Una forma de describir la relación existente entre los lenguajes UML y SysML es
considerando un diagrama de Venn, como se muestra en la figura 1, donde, en
los conjuntos que agrupan a estos lenguajes, la intersección indica los elementos
de UML reutilizados por SysML y la región marcada con la etiqueta ‚SysML
extensions to UML‛ indica los elementos nuevos, que no tienen contraparte en
UML o han sido reemplazados.
se
Fig. 1. Un
diagrama de
Venn donde
muestran los
componentes del estándar SysML, el cual está formado por diagramas
reutilizados de UML y sus extensiones.
177
En la figura 2 se ven los diagramas que componen el estándar del SysML
mostrando tres tipos de diagramas: el de requerimientos, los de comportamiento
y los de estructura.
Fig. 2. Tipos de diagramas que forman el estándar SysML, donde se muestran los
que fueron modificados a partir de los diagramas de UML, los que se ocupan sin
ninguna modificación y los exclusivamente originales.
2 Análisis y diseño
En la figura 3 se muestra el diagrama de contexto del instrumento que aquí se
propone. Éste es el diagrama donde se observan los actores que intervienen en el
instrumento.
<< Diagrama de contexto >>
ibd Instrumento virtual del tremor parkisoniano
ÇSistema È
Instrumento de
medici—n del tremor
parkinsoniano
Paciente
ÇCondiciones
Externas È
Luminocidad
MŽdico
Fig. 3. Diagrama de contexto elaborado con un diagrama de bloques interno, para
mostrar parte del entorno del instrumento.
178
En la figura 4 se ven los casos de uso del sistema que aquí se propone y se
muestra a los usuarios que participan en el instrumento y sus funciones.
<< D iagrama de C asos de U so >>
uc Instrument o de Medici—
n del tremor parkinsoniano
Tremor Parkinsoniano
Tiembla sobre el
sensor
Paciente
Ingresa datos
paciente
MŽdico
Fig. 4. Diagrama de casos de uso del sistema, en el cual se observan dos actores:
el médico y su paciente.
En las figuras 5, 6 y 7 se muestran los diagramas de actividad, requerimientos y
paquetes, respectivamente. También se indican los pasos que se llevan a cabo
para hacer una medición del tremor parkinsoniano y se señalan los requisitos
que debe cumplir el desarrollo, como la portabilidad y la economía, y por último,
en el diagrama de paquetes se ven los componentes de un instrumento virtual,
los cuales son lógicos y físicos; asimismo, se describen los elementos que integran
estas etapas.
act Instrumento de medici—
n del tremor parkinsoniano
Adquiere datos del tremor
Almacenamiento en base de datos
Calculo de la FFT
Determinaci—
n de los componentes de corriente directa y
La frecuencia fundamental
Fig. 5. Diagrama de actividad del sistema, en el cual se observan las actividades
llevadas a cabo por el instrumento.
179
req Name
Requerimientos del
instrumento de medici—n
del tremor parkinosoniano
ÇrequirementÈ
No invasivo
ÇrequirementÈ
Rango de 4 a
6Hz
ÇrequirementÈ
Bajo costo
ÇrequirementÈ
Portatil
Fig. 6. Diagrama de requerimientos del sistema, en el cual se realiza un análisis
de los atributos que se desean que tenga el instrumento a desarrollar.
pkg Name
<<Instrumento vitual de medici—n parkinsoniano
>>
Componente l—gico
Componente f’sico
pkg Name
pkg Name
Circuito de
medici—n
Tarjeta de
adquisici—n de
datos
Adquisici—n de
datos
Determinaci—n
de componentes
frecuenciales
Visualizaci—n
Fig. 7. Diagrama del paquete del sistema en el que se muestran los componentes
del instrumento.
3 Desarrollo
En la figura 8 se muestra el circuito de acondicionamiento de la señal, con el cual
se convierten las variaciones de resistencia del elemento sensor (R2) en una
diferencia de potencial mediante el amplificador operacional número 1. El
componente (R3), con su lazo de retroalimentación, controla las variaciones
luminosas que se presentan en los diversos escenarios de medición.
180
Fig. 8. Diagrama eléctrico del circuito de medición del tremor parkinsoniano,
compensado para variaciones de luz.
El amplificador operacional número 2 tiene como finalidad reducir el voltaje offset
mediante un circuito restador; el número 3 amplifica el voltaje para que éste
pueda ser adquirido por una computadora personal. Uno de los elementos de un
sistema de instrumentación virtual es la tarjeta de adquisición de datos, por lo
que en este artículo se propone el uso de la tarjeta NI USB-6008 de National
Instruments, la cual tiene las siguientes características:







8 entradas analógicas de 12 o 14 bits.
2 salidas analógicas de 12 bits.
12 TTL/CMOS digitales.
12 líneas I/O.
32-bit, 5Mhz Counter.
Digital triggering.
Bus-powered.
El desarrollo lógico que estamos proponiendo en este artículo está basado en la
obtención e interpretación de datos mediante los componentes y herramientas de
adquisición de datos y visualización que proporciona LabView.
En la figura 9 se muestran las rutinas necesarias para adquirir en la computadora
los valores de voltaje obtenidos del sensor antes descrito.
La adquisición de datos se basa en las siguientes actividades:
1) Creación de tarea: se le informa al sistema que ha sido asignada una
nueva tarea de adquisición de datos.
2) Definición de canal analógico: se indica el dispositivo y la entrada
analógica por la cual los datos van a ser obtenidos.
3) Tiempo de muestreo: se define el número de muestras por segundo, así
como la correspondiente frecuencia de muestreo.
181
4) Iniciar tarea: este elemento prepara el dispositivo y el canal analógico.
5) Lectura: en esta fase el instrumento virtual adquiere datos del exterior
mediante una tarjeta de adquisición.
6) Interpretación de datos analógicos: en esta etapa se propone la
integración de un elemento gráfico para visualizar los datos representativos
de las variaciones de voltaje.
7) Terminar y limpiar: esta fase le indica al sistema que el usuario ha decido
terminar con la tarea de adquirir datos.
Fig. 9. Código de LabView para la adquisición de datos en la etapa física del
instrumento virtual.
Las rutinas correspondientes a la visualización y el análisis del espectro de
Fourier se muestran en la figura 10, siguiendo las siguientes actividades:
1) Inverso de la frecuencia de muestreo (dt): esto se realiza con el fin de
obtener el coeficiente correspondiente a la derivada del tiempo.
2) Obtención del la frecuencia diferencial (df): mediante el instrumento
virtual FFT Spectrum (Mag-Phase) proporcionado por LabView, se obtiene
el dato correspondiente a la frecuencia diferencial.
3) Eliminación del coeficiente 0: esta operación es necesaria para descartar el
componente de CD arrojado por el acondicionamiento de la señal, de tal
manera que la cresta más alta del espectro multiplica al coeficiente df, todo
esto con el fin de obtener la magnitud correspondiente a la frecuencia
adquirida.
4) Visualización del espectro: se propone la integración de un elemento
gráfico para visualizar el espectro de Fourier.
5) Obtención de la frecuencia: en esta fase se indica la frecuencia generada
por la señal eléctrica del sensor.
182
Fig. 10. Código de LabView para la medición del tremor parkinsoniano, basado
en la transformada rápida de Fourier.
4 Resultados
Cuando ya se puso en funcionamiento el módulo de adquisición de datos, se
procedió a realizar una prueba del tremor parkinsoniano en un paciente que no
estuviera medicado con Levodopa en las instalaciones de la Asociación de
Enfermos de Mal de Parkinson ubicada en Atlacomulco, Estado de México. Al
paciente se le citó una hora antes de la ingesta de una dosis de Levodopa, con lo
cual el tremor parkinsoniano se vuelve a presentar en el enfermo. En este caso
especifico, el tremor parkinsoniano ha aumentado conforme trascurre el tiempo.
En la figura 11 se ve una señal eléctrica oscilatoria de frecuencia constante (véase
el circuito en la figura 8), la cual es representativa del tremor parkinsoniano. Este
movimiento es involuntario, rítmico y oscilatorio, tal como se le definió en la
sección 1.1 del presente artículo.
El módulo de adquisición de datos, en combinación con el módulo de análisis y
visualización del espectro, da como resultado lo que aparece en la figura 12,
donde se observa que el elemento 28, correspondiente al eje del tiempo, responde
a la magnitud espectral.
Fig. 11. Señal eléctrica representativa del tremor parkinsoniano en un paciente
que no ha ingerido Levodopa.
183
La frecuencia de este signo del mal de Parkinson se incrementa conforme avanza
la enfermedad, esto debido a su carácter crónico degenerativo.
Fig. 12. Espectro de Fourier de la señal eléctrica representativa del tremor
parkinsoniano mostrado en la figura 11. Con el espectro de Fourier se determina
la frecuencia a partir de la magnitud frecuencial.
5 Conclusiones
El uso de una fotorresistencia como elemento sensor, así como del circuito
propuesto en la figura 8, permite medir el tremor parkinsoniano de forma no
invasiva y a un costo bajo, en cuanto al sensor y manejo de señales. Con el uso de
los diagramas SysML, se sistematizan las actividades de análisis y diseño del
instrumento virtual, de tal forma que se garantiza cierta calidad en el producto
obtenido. Sería interesante pensar en un trabajo futuro que utilice alguna
metodología ágil para el desarrollo de software para la parte lógica. A partir de los
datos proporcionados por este instrumento, próximamente será posible elaborar
una caracterización matemática del tremor parkinsoniano, ya que esto no se ha
hecho todavía —si nos atenemos a lo que se reporta en la literatura consultada.
La segunda fase de este desarrollo consistiría en realizar un estudio de
repetibilidad, linealidad e histéresis para garantizar la confiabilidad del
instrumento.
Agradecimientos
Los autores agradecen a la Universidad Autónoma del Estado de México su
apoyo al presente proyecto mediante la Secretaría de Investigación y Estudios
Avanzados, y al C. P. Salvador Escamilla, presidente de la Asociación de
Enfermos de Parkinson del Norte del Estado de México, por su colaboración
durante las pruebas de este estudio.
184
Referencias
1. De la Rosa V{zquez, ‚Sistema para detección de c{ncer cervicouterino
empleando espectroscopía óptica‛, ponencia presentada en el XX Congreso de
Instrumentación Somi, León, Guanajuato, octubre de 2005.
2. Carranza Castillo, ‚Sistema de digitalización de 10 canales para ser
procesados a través del puerto paralelo‛, ponencia presentada en el XX
Congreso de Instrumentación Somi, León, Guanajuato, octubre de 2005.
3. Rangel, D., ‚Sistema port{til para caracterizar l{mparas UV-VIS‛,
ponencia presentada en el XX Congreso de Instrumentación Somi, León,
Guanajuato, octubre de 2005.
4. Arroyo, S., ‚Plataforma de cuatro canales para adquisición y
procesamiento de señal mioeléctrica‛, ponencia presentada en el XXIII
Congreso de Instrumentación Somi, Mérida, Yucatán, octubre de 2008.
5. Cruz, I. ‚Monitoreo de señales electrofisiológicas como apoyo médico en
el tratamiento de pacientes con lesiones musculares‛, ponencia presentada en
el XXIII Congreso de Instrumentación Somi, Mérida, Yucatán, octubre de 2008.
6. Quintana, S., ‚Fotopletismógrafo de bajo consumo en corriente,
alimentado por puerto USB de una computadora‛, ponencia presentada en el
XXIII Congreso de Instrumentación Somi, Mérida, Yucatán, octubre de 2008.
7. Guzmán, R. ‚Medición a distancia de variables eléctricas a través de los
puertos GPIB y Ethernet‛, ponencia presentada en Electro 2006, Creel,
Chihuahua, octubre de 2006.
8. García, M., ‚Un espirómetro virtual: diseño e implementación basados en
análisis estructurado, transformada Wavelet discreta y Matlab‛, ponencia
presentada en el VI Congreso de Cómputo CICOS, Cuernavaca, Morelos, junio
de 2008.
9. Saavedra, J., ‚Efecto del tens en el efecto de la enfermedad del Parkinson‛,
Arch Neurocien, vol. 10, núm. 3, México, octubre de 2005, pp. 133-139.
10. Pérez, M., ‚Demodulador digital para acelerometría din{mica‛, en
Memorias del I Taller de Cómputo Reconfigurable “Óptica y electrónica”,
Coordinación de Sistemas Computacionales-Instituto Nacional de Astrofísica,
Apixaco, Tlaxcala, 2003.
11. Brunetti, F., ‚Un conjunto de herramientas port{tiles para la valoración y el
estudio de desórdenes neuromotores‛, ponencia presentada en las XXVI
Jornadas de Automática, Universidad de Alicante, España, septiembre de
2005.
12. OMG, ‚Systems Modeling Language (OMG SysML™) 2008‛, versión 1.0,
OMG, 2008, pp. 27-31.
13. Weilkiens, T., Systems Engineering with SysML/UML Modeling, Analysis,
Design, Morgan Kaufmann Publishers, Eslsevier, 2007, pp. 22-44.
185
186
Aproximación de un Diagnóstico Neurológico
Mediante un Sistema Multiagente Inteligente
Martha Idalid Rivera González, Gelier Jonathan Reyes Vite
Resumen. Los sistemas multiagentes, con sus capacidades de cooperación y
comunicación, cuando resuelven problemas lo hacen con un enfoque diferente a
los métodos tradicionales; esto ha conducido al replanteamiento de muchos de
los procedimientos médicos que hoy en día se utilizan para la exploración del
paciente y que pueden representarse como árboles de decisión y resolverse por
medio de sistemas multiagentes para obtener un diagnóstico previo sustentado
en el procesamiento de la información de su entorno que los agentes perciban.
Palabras clave: sistemas multiagentes, árboles de decisión, prediagnóstico
neurológico.
Sumario:
1. Introducción 2. Agentes 3. Sistemas multiagentes 4. Análisis del caso de
estudio 5. Diseño del caso de estudio 6. Conclusiones. Referencias.
1 Introducción
Existen diversas ramas de la inteligencia artificial que se han dado a la tarea de
crear soluciones para las diferentes necesidades en el campo de la medicina; una
de ellas es la de los agentes. Los agentes proveen una metáfora natural y algunos
poderosos paradigmas para la construcción y mantenimiento de sistemas
distribuidos, inteligentes y abiertos.
Los sistemas en el ramo de la medicina han tenido una aceptación favorable
sobre todo en tratamiento de enfermedades en áreas especializadas, como las
neurociencias. El desarrollo de estas herramientas avanza continuamente y las
tecnologías nuevas se abren paso llevándonos a la reconsideración de las
soluciones existentes. Los sistemas multiagente son parte de esta nueva tendencia
tecnológica; sus capacidades para resolver problemas que requieren coordinación
y comunicación superan al modelo orientado a objetos en muchos aspectos,
permitiendo la construcción de sistemas dinámicos capaces de adaptarse a los
cambios que sufra su entorno. Una de las aplicaciones de este tipo de sistemas se
centra en el desarrollo de software de prediagnóstico. En este artículo
187
abordaremos el análisis y diseño de un sistema multiagente con el cual, mediante
el uso de árboles de decisión, se obtiene una exploración preliminar y puntual de
un paciente determinado. Como caso de estudio, nos enfocaremos en la
aplicación de un test para detectar estructuras neurológicas posiblemente
dañadas en una persona.
El enfoque del sistema multiagente permitirá obtener las soluciones apropiadas
para lograr las metas que nos hemos propuesto con base en las capacidades
almacenadas en cada uno de los agentes que conforman el sistema. Este enfoque
es flexible y permite la especialización en cada uno de los agentes que conforman
el sistema, lo que brinda la posibilidad de segmentar el problema en varias capas.
La metodología a utilizar en el desarrollo del sistema multiagentes está
sustentada en INGENIAS, la cual resuelve el problema de análisis y diseño de
sistemas multiagente desde cinco puntos de vista: la organización de los agentes,
el agente, las tareas y objetivos, las interacciones —cómo se comunican los
agentes— y el entorno —que define qué es lo que existe alrededor del sistema
multiagente.
El procesamiento del conocimiento adquirido se realizará mediante árboles de
decisión, los cuales se encargarán de clasificar los resultados obtenidos con el
objetivo de hacer estimaciones sobre los datos y mejorar el razonamiento de los
agentes en el sistema. El sistema multiagente será construido sobre la plataforma
JADE (Java Agent Development Framework).
2 Agentes
El concepto de agente es relativamente reciente —años noventa— y con él se ha
producido la fusión de varias disciplinas científicas que abarcan desde la
inteligencia artificial hasta la psicología, pasando por la ingeniería del software,
las bases de datos, los sistemas distribuidos, la sociología, etcétera. Desde un
punto de vista tecnológico, la teoría de agentes aglutina todos los campos
relacionados con la informática.1
Un agente es un sistema informático situado en algún entorno, dentro del cual
actúa de forma autónoma y flexible para así cumplir sus objetivos. Además de su
interacción con el medio, y utilizando la definición de Wooldridge, 2 un agente se
caracteriza por las siguientes propiedades:
1.
Autonomía. Tiene la capacidad de actuar sin intervención humana
directa o de otros agentes
2.
Sociabilidad. Puede interactura con otros agentes, utilizando como
medio algún lenguaje de comunicación entre agentes
188
3.
Reactividad. Un agente está inmerso en un determinado entorno
(hábitat), del que percibe estímulos y ante los que debe reaccionar en un
tiempo preestablecido.
4.
Iniciativa. Un agente no sólo debe reaccionar a los cambios que se
produzcan en su entorno, sino que ha de tener un carácter emprendedor y
tomar la iniciativa para actuar guiado por los objetivos que debe satisfacer.
Para proporcionar una manera simple de caracterizar el espacio de los tipos de
agentes, Moulin3 ha definido tres tipos de agentes con base en el grado de
capacidad de solución de problemas:
1.
2.
3.
Reactivos
Intencionales
Sociales
Los orígenes de la tecnología de agentes4,5 comienzan con la inteligencia artificial
distribuida (IAD), es decir, con la resolución de problemas de forma distribuida
—computación inteligente. El concepto de agente como entidad computacional
aislada evoluciona desde la IAD debido al influjo de la ingeniería del software.
Hoy en día se habla de la programación orientada al agente desde el punto de
vista de la ingeniería del software, como la metodología capaz de superar las
limitaciones de la programación orientada a objetos. Para desarrollar agentes se
pueden utilizar lenguajes de propósito general, entre los que cabe destacar los
orientados a objetos, debido a cierto paralelismo que existe entre éstos y los
agentes, como C++ o JAVA. Los lenguajes específicos de agentes, de los que han
aparecido numerosas propuestas en los últimos años, suelen tener asociadas
plataformas de desarrollo, una de éstas es JADE, de la cual se hará mención más
adelante. Los lenguajes de agentes han de permitir definir la estructura, el estado
y el comportamiento de cada agente.
3 Sistemas multiagentes
Los agentes no funcionan de manera aislada, típicamente deben operar en un
ambiente donde concurran varios agentes para el logro de sus metas. En este
sentido, es importante verles como sistemas sociales. La idea de ver un sistema
como una sociedad es útil cuando éste es manejado en términos de roles. 6 Los
roles dotan al sistema de diferentes grados de especialización, en la medida en
que el problema a resolver así lo requiera, ya que cada agente que conforma el
sistema tendrá una tarea específica que será resuelta con el objetivo de satisfacer
las demandas del sistema. En general, los sistemas multiagente tratan sobre la
coordinación inteligente entre una colección de agentes autónomos; cómo pueden
189
coordinar sus conocimientos, metas, propiedades y planes para tomar una
decisión o resolver un problema.7
Respecto de la terminología de este campo, en primer lugar hay que clarificar la
diferencia entre un sistema basado en agentes y un sistema multiagente.6 Un
sistema basado en agentes es aquel que utiliza el concepto de agente como
mecanismo de abstracción, pero que, aunque sea modelado en términos de
agentes, podría implementarse sin ninguna estructura de software
correspondiente a éstos. Por otro lado, un sistema multiagente es aquel que se
diseña e implementa pensando en que estará compuesto por varios agentes que
interactuarán entre sí, de tal forma que, juntos, alcancen la funcionalidad que se
desea.8 En este caso, hay que hacer un mayor esfuerzo de abstracción, identificar
mecanismos de aprendizaje, coordinación, negociación, etcétera. Los sistemas
multiagente son adecuados para solucionar problemas para los que hay múltiples
métodos de resolución, o bien, múltiples entidades capaces de trabajar
conjuntamente para solucionarlos.9 Por ello, entre los aspectos básicos de estos
sistemas están la interacción entre los diferentes agentes que los forman y la
definición de modelos concretos de cooperación, coordinación o negociación
entre los agentes.
4
Análisis del caso de estudio
Existen actualmente muchos trabajos que hablan sobre el enfoque multiagente
para resolver problemas de diagnóstico; la mayoría de ellos es muy similar en
cuanto a la organización de los agentes, pero difieren en la técnica que utilizan
para llevar a cabo el aprendizaje o los procesos de diagnóstico. Dichas técnicas
pueden ser, por ejemplo, las redes bayesianas mencionadas en el trabajo titulado
A Multi-Agent Intelligent Environment for Medical Knowledge,10 o también, las redes
neuronales incluidas en Case Based Reasoning versus Artificial Neural Networks in
Medical Diagnosis.11 En realidad, el uso de técnicas de inteligencia artificial con
estos sistemas depende mucho de los objetivos particulares que se pretendan
conseguir y que, entre más especializados sean, requerirán de técnicas más finas
o de combinaciones de ambas que resuelvan el problema de diagnóstico.
En el articulo Visualizing a Multiagent-Based Medical Diagnosis System,12 el proceso
de diagnóstico se toma como un proceso distribuido y cooperativo que involucra
a diferentes especialistas, departamentos y fuentes de conocimiento. De manera
similar, y basándose en este modelo, nuestro caso de estudio resolverá una parte
de todo este procedimiento, el cual abarca el diagnóstico diferencial.
El caso de estudio tiene que ver, de forma muy particular, con el proceso de
diagnóstico diferencial. La forma en que un diagnóstico diferencial se lleva a cabo
190
implica una serie de pasos que obligan a considerar un numero abierto de
variables antes de emitir un diagnóstico definitivo. El ser humano no siempre es
capaz de considerar todos los factores que influyen en una determinada
enfermedad, lo que dificulta la elaboración de un perfil de riesgo para un
paciente determinado. Los sistemas multiagentes, gracias a la capacidad de
comunicación, especialización y modificación de su entorno, permiten replantear
las estrategias para obtener las metas y así considerar factores que antes no se
tenían en cuenta.
El diagnóstico diferencial está dividido en dos grandes etapas: la formación de
hipótesis y la recolección de evidencia médica (véase la figura 1).
Fig. 1. Proceso de diagnóstico diferencial.
Las dos etapas se conjuntan para descartar posibles enfermedades en un paciente,
dejando como resultado un diagnóstico final o definitivo. La parte que concierne
directamente a la entrevista médica consiste en la observación del paciente y en la
realización de una serie de preguntas sobre signos y síntomas que presenta la
persona afectada en ese momento; el resultado de esta primera fase del
diagnóstico diferencial sirve como prediagnóstico para el médico y se corrobora
mediante una serie de estudios clínicos detallados. En la literatura médica es
común observar árboles de decisión simples que ordenan las preguntas de tal
forma que en las ramas de los árboles se encuentran las posibles causas del
malestar o la posible zona afectada en un paciente. En conjunto, sistemas
191
multiagentes y árboles de decisión son herramientas tecnológicas que vale la
pena explotar a fin de crear una herramienta más, con la cual dar solución a
nuestro caso de estudio.
5
Diseño del caso de estudio
La metodología elegida para el diseño del sistema se denomina INGENIAS. 13
INGENIAS concibe el sistema multiagente como la representación computacional
de un conjunto de modelos. Cada uno de estos modelos muestra una visión
parcial del sistema multiagente: los agentes que lo componen, las interacciones
que existen entre ellos, cómo se organizan para proporcionar la funcionalidad del
sistema, qué información es relevante en el dominio, las tareas y objetivos que
tienen lugar en el sistema y cómo es el entorno en el que se ubica el sistema a
desarrollar. INGENIAS proporciona herramientas gráficas para generar
especificaciones, validar los diseños, generar códigos de forma automática y
documentos.
Por medio de los modelos de INGENIAS es sencillo representar todos los
aspectos de un sistema de agentes. Cada uno de estos modelos se centra en
aspectos concretos del sistema:

Modelo de organización. Es el equivalente a la arquitectura del sistema.
Describe cómo se agrupan y coordinan los distintos componentes del sistema,
identifica las tareas relevantes para la organización, así como sus objetivos
globales, y define restricciones en las interacciones entre los agentes.

Modelo de agente. Describe agentes particulares, sus tareas, objetivos, los
roles que desempeñan y los estados mentales en que se encontrarán a lo largo
de su vida.

Modelo de objetivos y tareas. Tiene como propósito recoger las motivaciones
del sistema de agentes, definir las relaciones entre objetivos y tareas, indicar
las entradas y salidas de cada tarea, y describir cuáles son sus efectos, tanto en
el entorno como en el estado mental de sus agentes responsables.

Modelo de interacción. Describe cómo se coordinan y comunican los
agentes del sistema. Esto incluye a los actores implicados, las unidades de
interacción, los protocolos utilizados y cómo afecta la interacción en el
contexto.

Modelo de entorno. El propósito de este metamodelo no es representar el
mundo en el que se ubica el sistema, sino, desde un punto de vista más
pragmático, categorizar el tipo de entidades relevantes en el entorno y
192
restringir la interacción con ellas. Así, el entorno contendrá sólo recursos,
aplicaciones y agentes, y se limitará la percepción y actuación de los agentes.
El sistema multiagente inteligente está conformado por cuatro agentes:
a. Agente entrevistador. Se encarga de evaluar al paciente con base en las
preguntas existentes.
b. Agente de datos. Lleva el control de los pacientes distribuyendo la
información obtenida por el agente entrevistador.
c. Agente broker. Lleva el control de las comunicaciones entre los agentes y
distribuye la información que éstos obtienen.
d. Agente de prediagnóstico. Integra un diagnóstico previo con base en la
información recibida del agente de datos.
La organización de estos cuatro agentes se detalla en la figura 2.
Fig. 2. Esquema del sistema multiagente.
La comunicación de los agentes se lleva a cabo mediante ACL (Agent
Comunication Language),14 un lenguaje estándar desarrollado por FIPA (Foundation
for Intelligent Physical Agent)17 y basado en actos del habla, con el cual se definen
protocolos de interacción de alto nivel, llamados conversaciones. Las
conversaciones entre agentes suelen seguir ciertos patrones o secuencias típicas
de mensajes, denominados protocolos de conversación. Existen protocolos
definidos por FIPA para la comunicación. En este artículo se hace uso del
protocolo FIPA-request, el cual permite que un agente haga una petición sobre
una acción a realizar y reciba una respuesta del agente receptor. 15 La
representación del protocolo se muestra en la figura 3.
193
Fig. 3. Protocolo FIPA-request.
El tipo de arquitectura del que hace uso el sistema multiagente es híbrido. Se
trata de una arquitectura centrada en reaccionar a los eventos que tengan lugar
en el entorno pero cuidando que las decisiones se tomen utilizando mecanismos
de razonamiento lógico (véase la figura 4).
Fig. 4. Arquitecturas de agentes.
El funcionamiento del sistema tiene lugar cuando un paciente acude y empieza la
comunicación del agente entrevistador con el agente broker. Éste se encarga de
hacer una petición al agente de datos, solicitando información relativa al paciente
y confirmando si figura en la base de datos de pacientes. Si esto es así, se muestra
la información correspondiente a dicho paciente; de lo contrario, el agente
devuelve un mensaje de paciente no localizado. Ya sea que el paciente se
encuentre dado de alta o no, el agente entrevistador procede con la aplicación del
cuestionario médico que, en este caso, se trata de una serie de preguntas sobre
signos y síntomas neurológicos.
La forma en que se encuentra estructurado el cuestionario se basa en un árbol de
decisión simple, el cual es almacenado en la base de datos de tal manera que el
agente entrevistador se encargue de aplicarlo tal cual lo indica el árbol, con el fin
de integrar un prediagnóstico y almacenarlo en el historial del paciente. El
194
especialista, si así lo decidiese, es capaz de modificar en cualquier momento las
características del sistema con el fin de que se adapten al tipo de prediagnóstico
del cual se quiere tener conocimiento en su momento.
La plataforma utilizada para desarrollar los agentes es JADE (Java Agent
Development Framework), un middleware que proporciona tanto un entorno de
desarrollo como uno de ejecución para la realización y mantenimiento de
sistemas multiagente. El entorno de desarrollo está formado por una serie de
librerías en JAVA que permiten la implementación de agentes de manera limpia e
independiente de la plataforma sobre la que se va a ejecutar. 16
El diseño de las interacciones de los agentes con su entorno estará a cargo de
INGENIAS, el cual basa el diseño del sistema multiagente en los siguientes
aspectos:
1.
2.
3.
4.
5.
Los agentes que componen al sistema.
Las interacciones que existen entre ellos.
Cómo se organizan para proporcionar la funcionalidad del sistema.
Qué información es relevante en el dominio.
Cómo es el entorno en el que se ubica el sistema a desarrollar.
6 Conclusiones
El diagnóstico de enfermedades haciendo uso de sistemas multiagentes resulta
extremadamente útil como una herramienta de apoyo para el personal médico o
personas que carezcan de la infraestructura apropiada para llevar a cabo una
observación mínima de un paciente en riesgo potencial, ya que los agentes
descomponen los procedimientos médicos clásicos en tareas que se resuelven
haciendo uso de las capacidades de comunicación que poseen los agentes,
subsanando las deficiencias humanas que conlleva el considerar un número
indefinido de variables al momento de integrar el diagnóstico diferencial y
adaptándose a las necesidades que un entorno en continuo cambio les exija.
El modelado de este tipo de sistemas depende en gran medida de las necesidades
especificas que quieran atenderse, pero la mayoría de los trabajos descompone la
problemática de manera similar, centrándose generalmente en el mecanismo de
decisión que el agente de diagnóstico adopte para integrar un resultado; los
demás agentes que componen el sistema trabajan para aportar a este agente datos
obtenidos del entorno.
195
En este articulo se abordó el diseño y desarrollo de sólo una parte del diagnóstico
diferencial, haciendo uso de los árboles de decisión en su forma más simple, para
brindar un prediagnóstico que se ajuste a las entrevistas aplicadas por los
médicos a pacientes que padecen enfermedades de tipo neurológico, con el fin de
facilitar y minimizar el error cuando se emite un juicio final sobre el estado de un
paciente o para canalizar de una mejor manera las atenciones que debe recibir el
paciente en determinado momento, si no está presente un especialista.
Referencias
1. Molina López, J. M., J. García Herrero y A. M. Bernardos Barbolla, Agentes
y sistemas multiagentes, Departamento de Informática, Universidad Carlos III
de Madrid, 2004.
2. Wooldridge, M. y n. R. Jennings, ‚Intelligent Agents: Theory and
Practice‛, The Knowledge Engineering Review, vol. 10, núm. 2, 1995, pp. 115152.
3. Moulin, C., ‚Hierarchical Model and Communication by Signs, Signals
and Symbols in Multiagent Mnvironments‛, Journal of Expert. Theory. Artifcial
Intelligence, 1996.
4. Bradshaw, J., Software Agents, AAAI Press-The MIT Press, 1996.
5. Ferber, J., Multi-Agent Systems. An Introduction to Distributed Artificial
Intelligence, Addison-Wesley, 1999.
6. Jennings, R., K. Sycara y M. Wooldridge, ‚A Roadmap of Agent Reasearch
and Development‛, Autonomous Agents and Multiagent Systems, vol. 1, núm.
1, 1998, pp. 275-306.
7. Bond, A. H. y L. Gasser, Readings in Distributed Artificial Intelligence,
Morgan Kaufman,1988.
8. Bussman, S. y H. J. Müller, ‚A Communication Achitecture for
Cooperating Agents‛, Computational Artificial Intelligence, vol. 12, núm. 1,
1993, pp. 37-54.
9. Chu-Carroll, C. y S. Carberry, Conflict Detection and Resolution in
Collaborative Planning Intelligent Agents II: Agent Theories, Architectures and
Languages, M. J. Wooldridge, P. Mueller y M. Tambe (eds.), Springer-Verlag,
Nueva York, 1995, pp. 111-127.
10. Vicaria, R. M. y C. D. Floresa, A Multi-Agent Intelligent Environmentf for
Medical Knowledge, Instituto de Informática-Universidad Federal do Rio
Grande do Sul, Caixa, 2005.
196
11. Alves, V. y P. Novais, Case based reasoning versus artificial neural networks
in medical diagnosis, Departamento de Informática-Universidade do Minho
Braga, Portugal, 2004.
12. Tawfig, A. y M. Elammari, Visualizing a Multiagent-Based Medical
Diagnosis System Using a Methodology Based on Use Case Maps, Institute for
Computer Science and Business Information Systems-University of
Duisburg-Essen, 2004.
13. INGENIAS, Universidad Complutense de Madrid (GRASIA), en Internet
(http://grasia.fdi. ucm.es/ingenias), 2005.
14.
FIPA-ACL,
en
Internet
(http://www.fip
a.org/specs/fipa00061/SC00061G.pdf).
15.
FIPA-Request,
en
Internet
(http://www.fip
a.org/specs/
fipa00026/SC00026H.pdf).
16. Garamendi, J. Agentes inteligentes: JADE, Programa de Doctorado en
Informática y Modelización Matemática, Universidad Rey Juan Carlos, 2004.
17. FIPA (Foundation for Intelligent Physical Agent) es una organización que
promueve estándares de tecnología basada en agentes y la interoperabilidad
con otras tecnologías, de manera normada.
197
198
Elección de Software Libre en el Desarrollo
de Sistemas Web
Rodolfo Ostos Robles, Ismaylia Saucedo Ugalde, Víctor Javier Sánchez Sánchez
Resumen. Los sistemas de información son muy útiles para las organizaciones;
no obstante, se invierten cuantiosos recursos económicos en su desarrollo o
adquisición sin que se tenga la opción de modificarlos o adaptarlos según las
necesidades propias de cada empresa, lo que irrevocablemente conduce a un
círculo vicioso empresa-proveedor de soluciones de software. Las tendencias
actuales en el desarrollo de las tecnologías de sistemas de información se están
orientando al uso de software libre para el manejo de información y comunicación.
Esto, en primera instancia, eliminaría la codependencia empresa-proveedor que
acabamos de mencionar, pero la alternativa produce otro problema: el de la
elección adecuada de las herramientas. En el presente artículo se propone una
metodología que asista al ingeniero en sistemas en su elección de software libre.
Esta metodología fue empleada en el desarrollo de un sistema Web para una
dependencia educativa gubernamental.
Palabras clave: software libre, sistemas de información, tecnologías de la
información y la comunicación, instituciones gubernamentales.
Sumario:
1 Introducción 2 Estado del arte 3 Metodología 4 Resultados experimentales.
Conclusiones. Referencias
1 Introducción
Las tecnologías de la información y la comunicación (TIC) engloban diferentes
aspectos,1 desde el hardware —los dispositivos electrónicos— hasta el software —
los procedimientos de operación de estos dispositivos—; estas tecnologías tienen
muchas ventajas porque reúnen, procesan, almacenan y sirven para consultar y
distribuir información. La iniciativa privada y los gobiernos de los países
desarrollados han entendido esto desde hace tiempo y no han dudado en invertir
cuantiosos recursos económicos en ellas; en cambio, en los países en vías de
desarrollo, especialmente en el sector gubernamental, esto no es así, debido a que
199
sus presupuestos para la adquisición y utilización de nuevas tecnologías son
limitados, especialmente en tiempos de austeridad. A pesar de esto, economizar
en hardware no es una alternativa recomendable; en cambio, reducir los costos del
software es viable. Por ejemplo, países como Brasil, India, China y Alemania
utilizan software libre,2 de tal manera que el presupuesto asignado al pago de
licencias al propietario del software ahora se utiliza para fortalecer otras áreas
tecnológicas, obteniendo así una optimización de los recursos establecidos para
este fin. En este artículo se describe una metodología para elegir las herramientas
de un sistema Web utilizando software libre, con la cual se integraron siete
sistemas de información en una dependencia educativa gubernamental.
2 Estado del arte
El uso de software libre implica que éste se pueda ejecutar, copiar, distribuir,
estudiar, cambiar y mejorar, y esto no es algo nuevo. Los primeros registros de
este uso datan de finales de los años de 1960, con la distribución del sistema
operativo Unix.3 Con el paso del tiempo, este concepto se fue modificando y
adaptando hasta llegar a la actualidad, cuando se puede conseguir una cantidad
importante de software, desde sistemas operativos hasta herramientas ofimáticas
y herramientas para desarrollo de aplicaciones. Debido al uso de este tipo de
software, que no requiere del pago de licencias al propietario —por ejemplo,
sistemas operativos y aplicaciones ofimáticas—, se optimiza el presupuesto
gubernamental invertido en el desarrollo de sistemas de información. En el año
2002, en España y otras regiones de Europa los parlamentos respectivos han
decretado leyes que favorecen el uso de software libre. En Latinoamérica, Perú y
Argentina4 han adoptado medidas similares.Brasil es uno de los ejemplos más
documentados respecto de las leyes que ha instituido para favorecer el uso de
software libre. El gobierno de Cuba, por su parte, ha desarrollado proyectos
estatales utilizando herramientas de software libre, como el Infomed, un portal
dedicado al sector salud.5 Reproducir estos esfuerzos en el gobierno mexicano
sería recomendable. En México ha habido pocos proyectos de software libre y
éstos, en la mayoría de los casos, se han enfocado al ámbito educativo —por
ejemplo, el Proyecto Red Escolar—, con resultados poco favorables6 debido
principalmente a la problemática relacionada con la elección del software. Esta
indecisión ha contribuido a que no se explote el potencial del software libre en los
espacios gubernamentales. En nuestro país no existen políticas que favorezcan el
empleo de este tipo de software. Por lo tanto, aquí se desarrolla una metodología
que eleva la certidumbre cuando se trata de elegir la mejor opción de software
libre.
200
3 Metodología
Debido a la naturaleza del software libre, al comenzar un proyecto es importante
llevar a cabo un análisis profundo de las herramientas disponibles, a fin de que la
elección entre las opciones tecnológicas más recientes se la mejor. Los requisitos
básicos incluyen el que se puedan utilizar desde para la migración de
aplicaciones ofimáticas hasta para el desarrollo y puesta en marcha de sistemas
de información, como es el caso de nuestro proyecto, pues se desarrolló un
sistema de información de estadística educativa con base en la metodología para
la elección del software para el sistema Web que se describe a continuación.
La metodología para la elección del software está dividida en cuatro fases (véase
la figura 1):
Fase conceptual. La función principal de esta fase es la de entender el entorno que
rodeará el proyecto, es decir, el ambiente en el cual será insertado. En esta fase
juegan papeles importantes la amplitud del proyecto, el tipo de sistema que se
implementará y la interacción directa que los usuarios tendrán con el sistema de
información. Habrá que analizar la cultura informática tanto de los usuarios
como de los administradores que se quedarán a cargo de la operación y
mantenimiento del software para que esta información sea tenida en cuenta
durante el proceso de elección.
Fase operacional. En esta fase se toma en cuenta la infraestructura tecnológica.
Generalmente, el equipo con el que operan las instituciones gubernamentales es
obsoleto, por lo tanto, se debe hacer un inventario de todo el equipo de cómputo
en existencia y sus capacidades, lo que dará un panorama claro de la
infraestructura que posee la organización. Esto definirá el tipo de software que se
utilizará.
Esta fase puede llevar a una de dos opciones: a) se utiliza la infraestructura con
las que se cuenta; b) se elabora una propuesta de para la adquisición de equipo
nuevo.
Fase técnica. Con base en la información recopilada en las dos fases anteriores, se
elige la plataforma con la que operará el sistema de información, teniendo en
cuenta las capacidades de los equipos de cómputo que serán utilizados como
clientes y servidores. Además, esto último dictará las características de las
herramientas que se utilizarán para el desarrollo e implementación del sistema de
información.
En esta fase se analizan las opciones para lo siguiente:
A.
B.
C.
D.
El sistema operativo del servidor.
El sistema operativo de los clientes.
El sistema gestor de base de datos.
Las herramientas de desarrollo.
201
 Herramientas de modelado.
 Lenguajes de programación.
 Herramientas de depuración.
Cuando el proyecto es sólo de migración de aplicaciones ofimáticas, esta fase se
divide en el análisis de las opciones para lo siguiente:
A. El sistema operativo del servidor.
B. El sistema operativo de los clientes.
C. Herramientas ofimáticas.
Fase de evaluación del software. Finalmente, en la etapa de evaluación, se hace un
estudio comparativo de las opciones disponibles, las cuales deben cumplir con
los objetivos funcionales y operacionales del proyecto.
Fases para la elección de software libre de
un proyecto informático
Inicio con la
propuesta
del proyecto
Finaliza con
la correcta
elección de
software
libre
Conceptual Operacion
al
Evaluación
Técnica
del
software
libre
Fig. 1. Fases para la elección de software libre.
Esta metodología garantiza una correcta elección del software libre para el
desarrollo o migración y conduce a la optimización de los recursos económicos,
porque el presupuesto ya no tendrá que destinarse al pago de licencias de
software.
4 Resultados experimentales
La metodología fue aplicada en la elección del software libre para el desarrollo de
un sistema de información de una dependencia de gobierno. La aplicación de la
metodología, así como los resultados obtenidos, se describen a continuación.
Fase conceptual. Se hizo el estudio detallado del ambiente organizacional; se
entrevistó tanto a los usuarios potenciales internos y externos, como a los
administradores del sistema, una vez que éste estuvo terminado, y se determinó
lo siguiente:
202
1. Los usuarios del sistema tenían poca cultura informática, lo que influyó
directamente en los requerimientos de diseño de interfaz.
2. Los administradores estaban familiarizados con el manejo de lenguajes
de consulta estructurados.
3. El sistema de información estadístico se limitaría a visualizar y generar
datos.
Fase operacional. Esta fase fue de mucha utilidad porque se obtuvieron datos
valiosos para el proyecto. Se analizó el equipamiento del departamento: sus
equipos, sistemas operativos y capacidades de procesamiento, y se concluyó lo
siguiente:
1. La antigüedad del equipo estaba en un rango de entre 3 y 8 años.
2. La capacidad de procesamiento era de rango bajo.
3. Se utilizaban sistemas operativos de Microsoft, como Windows 98 y
Windows XP.
Como resultado de lo anterior, se realizó una propuesta de equipamiento con
equipo de cómputo nuevo.
Fase técnica. El resultado de esta fase fue la elección de una plataforma Web,
porque era lo que mejor se adaptaba al problema. Una vez decidido lo anterior,
se procedió al análisis de herramientas, lenguajes de programación y sistemas
operativos para servidores.
Fase de evaluación del software. Después de elegir entre las opciones de software
libre probables, se consideraron más adecuados los siguientes:
1.
El sistema operativo del servidor, GNU LINUX Debian.
2.
El sistema operativo de los clientes se conservó.
3.
El sistema gestor de base de datos, Mysql 5.0.
4.
Las herramientas de desarrollo.
 Herramientas de modelado DBDesigner 4.
 Lenguajes de programación PHP, Java Strip,
XML.
 Herramientas de depuración Firebug.
Uno de los factores que contribuyó a la elección de software libre fue la limitación
existente en el presupuesto de las instituciones gubernamentales para la
inversión en una tecnología que diera solución inmediata a todas sus necesidades
de infraestructura tecnológica. Por consiguiente, la adquisición de un ‚software
privativo‛ no era lo m{s viable para que el sistema de información operara
eficientemente. En el cuadro 1 se muestra la información de los costos
aproximados que hubiera representado para la institución gubernamental un
sistema de información desarrollado con base en ‚software privativo‛.
203
Cuadro 1. Costos de inversión en software libre comparados con los del software
privativo
Software
libre
Costo
GNU/Linux
(Debian)
Apache|
MySQL
DBBesigner 4
Sin
costo
PHP
Blueflsh
Sin
costo
Sin
costo
Software
privativo
Costo
Windows
Server 2008
R2 Enterprise
Microsoft
SQL Server
2008
$ 3 999 dlls
(25 licencias
de usuario)
$ 24 999 dlls
(una licencia
de
procesador)
$ 799 dlls
(una licencia)
Microsoft
Visual Studio
2008
Professional
Edition
Cuando una institución pública o privada adquiere un ‚software privativo‛ se
obliga a pagar costosas licencias y no obtiene el código fuente; además, se rige
por la prohibición de copiarlo y/o modificarlo y se enfrenta con la necesidad de
invertir en hardware que pueda soportarlo, todo lo cual implica disponer de más
presupuesto, lo que resulta difícil. Como se mostró en el cuadro 1, no es necesario
que las organizaciones inviertan en ‚software privativo‛ para desarrollar un
sistema que satisfaga sus necesidades operativas y estratégicas cuando existen
otras alternativas, como es el caso del software libre.
Conclusiones
Aunque las tecnologías de información y de comunicación no son una solución
para los problemas de procesos; en cualquier institución pública o privada es
indispensable contar con herramientas tecnológicas para lograr objetivos
institucionales eficientes. La información que se genera es el insumo para la toma
de decisiones de la alta dirección, y cuando no se cuenta con información
oportuna y confiable, puede disminuir la calidad de las decisiones que se tomen.
La utilización de software libre contribuye a que una institución pública deje de
ser dependiente de los proveedores propietarios. La migración de un sistema a
otro se realiza con más sencillez; a esto se aúna el hecho de que todos los datos
almacenados se encuentran en formatos abiertos y se cuenta con el código fuente
de todos los sistemas que se utilizan, reduciéndose así los costos de
mantenimiento y soporte técnico ‚obligatorio‛. El dejar de adquirir la tecnología
cada vez más sofisticada que requieren los ‚software privativos‛ tiene un
impacto económico favorable para la institución.
Es importante que la
capacitación técnica del personal que dará soporte a la nueva tecnología
desarrollada con software libre sea bien llevada a cabo. El código fuente estará
204
disponible para el mantenimiento del sistema, así como para brindar atención
oportuna a las necesidades futuras. El valor que se dé a esta etapa, representará
en gran medida el éxito o fracaso de la tecnología implementada.
Referencias
1. Villatoro S., P. y M. R. Yáñes, Las nuevas tecnologías de la información y la
comunicación (TIC) y la institución social. Hacia una gestión basada en el
conocimiento, Publicación de las Naciones Unidas, mayo de 2005.
2. Brys, C. A., Plan estratégico para el gobierno electrónico de la provincia de
misiones, Editorial Universitaria de Misiones, Argentina, 2005.
3. García Valcárcel, I. y Munilla Calvo, E-Business colaborativo. Cómo
implantar software libre, servicios Web y el grid computing para ahorrar costes y
mejorar las comunicaciones en su empresa, Fundación Confemetal, España,
2003.
4. Conferencia de las Naciones Unidas sobre el Comercio y Desarrollo,
Informe Sobre el Comercio Electrónico y Desarrollo 2003, Publicación de las
Naciones Unidas, 2003.
5. Zúñiga, L., El software libre y sus perspectivas para el desarrollo en América
Latina y el Caribe, Bellanet International Secretariat América Latina y el
Caribe,
marzo
de
2004.
En
Intenet
(http://www.mentores.net/Portals/2/mentores_net_sabemos_software_libre.p
df), página consultada el 9 de junio de 2009.
6. González Barahona, J., J. Seoane Pascual J y G. Robles, Introducción al
software libre, Universitat Oberta de Catalunya, 2003.
205
206
Gestión del Aprendizaje de las Nuevas
Tecnologías en Adultos de la Tercera Edad, en
Tijuana, Baja California, México, por la UABC.
Resultados obtenidos en el primer Curso de
Computación Básico
Hilda Beatriz Ramírez Moreno, Esperanza Manrique Rojas, Maricela Sevilla Caro,
Margarita Ramírez Ramírez
Resumen. Las nuevas generaciones que se integran a la sociedad actual han
hecho que el proceso de enseñanza-aprendizaje tenga la reestructuración
necesaria para satisfacer sus necesidades de tecnología. En cambio, en lo que
respecta a la generación de adultos de la tercera edad (55 años en adelante),
quienes en apariencia concluyeron su proceso de enseñanza-aprendizaje, existe
preocupación porque se sienten aislados y confusos cuando se enfrentan al uso
de las tecnologías de información que ahora se ocupan en la mayoría de las
actividades cotidianas. En México, y en particular, en la ciudad de Tijuana, una
gran parte de la sociedad, ya sea por miedo o por falta de oportunidad, no ha
interactuado con una computadora, lo que ocasiona que se sientan marginados o
excluidos de todas las actividades relacionadas con la tecnología. En la Facultad
de Contaduría y Administración de la Universidad Autónoma de Baja California,
campus Tijuana, se diseñó y se ejecutó un proyecto para introducir a los adultos
de la tercera edad a las áreas de Tecnologías de Información, obteniendo
excelentes resultados.
Palabras clave: tecnologías de información, adultos de la tercera edad,
andragogía.
1 Introducción
El significado de la palabra ‚educación‛ tiene su raíz en los verbos latinos
‚educare‛, que significa cuidar, atender, orientar, conducir, y ‚educere‛, que se
refiere a la acción de sacar, extraer, dar a luz. Etimológicamente, la palabra
‚adulto‛ proviene de la voz latina ‚adultus‛, cuyo significado es crecer. Por lo
tanto, se considera que la educación dirigida a los adultos, es decir, a las personas
de la tercera edad, es un proceso dinámico de formación y modificación de sí
mismo en un contexto histórico dado. Por medio del proceso educativo, se
produce un cambio en el individuo. Este proceso es progresivo en el desarrollo
humano, desde los niños de preescolar hasta los profesionistas que ocuparán
puestos laborales y formarán parte del desarrollo económico. Las generaciones de
207
jóvenes que se van integrando poco a poco a la sociedad han hecho que las
estrategias de enseñanza-aprendizaje se modifiquen, modernizándose. En
México, en el área de educación, se han llevado a cabo cambios en las estrategias
de enseñanza-aprendizaje en todos los niveles, para satisfacer las necesidades
actuales. Estas necesidades provienen, entre otros aspectos, del requerimiento de
concocimientos sobre las tecnologías de información para su uso cotidiano. Las
nuevas generaciones se capacitan para hacer uso de estas tecnologías, pero, ¿qué
sucede con las generaciones cuyo proceso de enseñanza-aprendizaje concluyó
hace años?
Si reflexionamos sobre la cultura del envejecimiento, debemos volver la mirada a
las consecuencias. La misma sociedad parece cerrar un cerco alrededor del grupo
de adultos de la tercera edad, porque, mientras se les ofrece un trato
‚preferencial‛ en algunos asuntos cotidianos, en otros, este trato es excluyente.
El uso de las tecnologías de información no debe satisfacer solamente las
necesidades de las generaciones jóvenes. Hoy en día, una muchos trámites
gubernamentales, no gubernamentales, personales, etcétera, se hacen por medio
de Internet —por ejemplo, los pagos de servicios se hacen en cajeros automáticos
o por medio Internet. Aquellas generaciones que no recibieron una preparación
para hacer uso de estas tecnologías son hoy los adultos de la tercera edad (55
años o más). Estas personas sienten que no son activos dentro de esta sociedad
tecnológica.
Cuando el estudio de la educación se fue definiendo como área de trabajo, las
primeras investigaciones y teorías se referían a los niños; de esta manera surgió la
pedagogía. M{s recientemente, la andragogía (del griego, ‚hombre‛ y ‚guía‛) es
la disciplina que se ocupa de la enseñanza y el aprendizaje del adulto y su
objetivo es lograr un cambio sustancial en las formas de enseñanza destinadas a
personas en etapas de plenitud o declive de vida, para contribuir a su desarrollo
integral en las áreas psicológica, biológica y social, permitiendo con este proceso
incrementar su capacidad de pensamiento, su autogestión, su calidad de vida y
su creatividad. El participante adulto recibe así una oportunidad de realización
propia a una edad mayor. Para el adulto de la tercera edad es necesario ofrecer
programas de acuerdo con sus necesidades y características.
Lo primero que hay que considerar son los cambios físicos que ha experimentado
el adulto; sus potencialidades fisiológicas están desgastándose constantemente,
para la mayoría de ellos la vista falla y esta disminución de agudeza visual los
obliga a utilizar anteojos permanentes; falla también su agudeza auditiva, por lo
cual se les complica la comprensión de ideas a viva voz; sus reflejos son más
lentos y su fuerza muscular y la energía que producen diariamente disminuyen.
En la actualidad, con el avance científico y tecnológico, la esperanza de vida al
nacer aumenta, y por lo tanto, el envejecimiento poblacional también. El adulto
208
mayor, por los cambios físicos y psíquicos que sufre, muchas veces no se siente
parte de la sociedad, se siente inútil. La educación es un proceso saludable que le
ofrece alcanzar un nuevo desarrollo de sus potencialidades y que le dará, además
de conocimiento, un resultado de bienestar personal.
2 Argumentación y desarrollo
El derecho a la educación no debe ser limitado a edades ni condiciones sociales;
para el adulto de la tercera edad, el ejercer este derecho significa una
oportunidad de actualización, de participación social y reafirmación de sus
potencialidades. Para las personas que se encuentran en esa etapa de la vida, la
educación es un auxilio en el desarrollo de una cultura del envejecimiento y una
posibilidad de elevación de su calidad de vida, todo lo cual se traduce en
mejoramiento de la salud, bienestar y felicidad.
La integración básica de la educación de adultos comenzó en Europa y Estados
Unidos de América —bastante tarde, en comparación con su equivalente en el
ámbito de la educación de niños y jóvenes. Apenas a finales de los años cincuenta
empezaron los esfuerzos de sistematización, articulación y difusión de teorías
específicas acerca del aprendizaje del humano adulto, de los cuales surgirían las
estrategias y métodos capaces de expresarse en términos de una didáctica para el
aprendizaje adulto. A partir de entonces, el término ‚andragogía‛ cobra
importancia; acuñado por el maestro alemán Alexander Kapp, su aparición data
de 1833. Como su uso no se generalizó, cayó en el olvido hasta que Eugen
Rosemback, a principios del siglo XX, lo retoma para referirse al conjunto de
elementos curriculares propios de la educación de adultos —profesores, métodos
y filosofía. Otro autor destacado en este terreno es Knowles (1970), considerado el
padre de la educación de adultos porque elaboró una teoría de la andragogía más
acabada, en la que ésta se considera el arte y la ciencia de ayudar a los adultos a
aprender.
La población de adultos mayores ha crecido de manera notable a causa de
numerosos factores que se han conjugado para sustentar una mayor esperanza de
vida. Distintos organismos de las Naciones Unidas han considerado la
elaboración de políticas generales que vayan en beneficio directo de las
condiciones de vida de estas personas; se destacan entre ellas los planes y
programas mudiales emprendidos por la UNESCO en las áreas de cultura y
educación, así como los desarrollados por la Organización Mundial de la Salud
(OMS), que han puesto énfasis en la salud preventiva, en beneficio de una mayor
calidad de vida.
En México, de acuerdo con datos del Consejo Nacional de Población (Conapo), en
el siglo XX hubo un elevado incremento poblacional y el nuevo milenio comenzó
con una tasa de crecimiento natural semejante a la observada 70 años atrás,
209
aunque con un tamaño seis veces mayor, lo que transformó la conformación
poblacional, que ahora se expresa en un proceso gradual de envejecimiento. Se
considera que para el año 2050 habrá 129.6 millones de mexicanos, de los cuales
36.2 millones serán adultos mayores, lo que representaría 27.9% del total de
población. El Instituto Nacional de Estadística y Geografía (INEGI), a su vez,
proyectó que, para los años 2020 y 2030, la esperanza de vida promedio será de
78.5 y 79.1 años, respectivamente. Así, se espera que las mujeres vivan 80.9 años
en 2020 y 82.1 años en 2030; mientras que los hombres alcanzarían los 76.1 y 77.5
años en esas mismas décadas (INEGI, página oficial, abril de 2009).
En nuestro país todavía existe la discriminación laboral de los adultos de la
tercera edad, por distintos motivos, y entre ellos se encuentran el rezago
educativo y el desconocimiento de la tecnología. Estos adultos tienen que ser
atendidos con programas de autosuficiencia económica —despensas y consultas
médicas—, aunque esto no resuelve el problema de discriminación y rezago. Hay
muchas personas de la tercera edad que tienen fuerza física y mental como para
ser trabajadores eficientes, gracias a su experiencia y sabiduría; para que tengan
la oportunidad de participar activamente en el mundo actual, requieren de
capacitación en aspectos técnicos, porque la mayoría de ellos no sabe usar una
computadora o un procesador de palabras ni navegar en Internet.
La Facultad de Contaduría y Administración de la Universidad Autónoma de
Baja California, campus Tijuana, llevó a cabo un proyecto en en el cual se diseñó
un curso de introducción a las tecnologías de información para adultos de la
tercera edad, con el objetivo de proporcionar las bases necesarias para que por
primera vez interactúen con una computadora. Este proyecto se llevo a cabo en
cuatro fases:
Primera fase. Se diseñó el programa del curso, supervisado por expertos en las
áreas de tecnologías de información y educación. El curso contempla una
duración de 24 horas, divididas en seis clases sabatinas de cuatro horas cada una
y en fechas en las que normalmente el clima es bueno, como en mayo y junio. En
el contenido se integraron conceptos generales de computación: introducción a
Windows, procesador de palabras con Word, conceptos generales de Internet,
cómo buscar información, correo electrónico y el mensajero instantáneo.
Segunda fase. Se integró de manera cuidadosa un grupo de egresados de la carrera
de Licenciatura en Informática, algunos con experiencia en docencia. Estos
egresados cumplirían sus horas de servicio social con este proyecto. Con el apoyo
de una licenciada en Educación, se les dio capacitación y herramientas básicas
para el proceso enseñanza-aprendizaje. El grupo se dividió en equipos, algunos
los cuales desarrollaron los manuales y el material audiovisual; otros se
encargaron de impartir el curso. Para esto último se formaron equipos con un
instructor y hasta cinco auxiliares por cada 25 alumnos. Esta fase concluyó con la
210
coordinación de los equipos de trabajo y la revisión de los manuales y material
audiovisual.
Tercera fase. Se realizó la convocatoria para participar en el curso; se dio a conocer
por medio de folletos, correo electrónico, radio y página de Internet. Se publicó el
objetivo del curso, el lugar y la fecha en que se impartiría, y los requisitos —ser
mayor de 55 años, saber leer y escribir y no tener conocimientos del uso de la
computadora. En esta fase también se contó con el apoyo del grupo de egresados
interesados en el proyecto.
Cuarta fase. Se formaron cuatro grupos de 24 adultos cada uno. El promedio de
edad osciló entre los 60 y 70 años. De acuerdo con las reacciones de cada persona,
se fue dando la pauta para el ritmo del curso. El último sábado del curso los
adultos de la tercera edad concluyeron con un convivio. Posteriormente, se les
hizo entrega de su constancia de asistencia. El objetivo se cumplió
satisfactoriamente.
Fig. 1. Adultos de la tercera edad en el curso de computación.
Fig. 2. Los instructores apoyando a sus alumnos.
211
Fig. 3. Festejo que se llevó a cabo el último día del curso.
Fig. 4. Primera Generación de Adultos en Plenitud, FCA, UABC, Tijuana.
3 Conclusiones
En estos tiempos de cambios educativos, la edad no debería ser un impedimento
para seguir estudiando. Desde el año 2000 varias universidades otorgan créditos
por experiencia o estudios previos, ofrecen clases nocturnas y programas
educativos en institutos multidisciplinarios, entre otras actividades dirigidas a
personas de la tercera edad; sin embargo, estas mismas opciones todavía no
satisfacen bien las necesidades psicológicas ni aprovechan plenamente las
características cognitivas de este grupo de edad. La mayoría de los adultos tiene
metas claras respecto de lo que pretende obtener cuando ingresa al sistema
educativo. Entre estos objetivos, sobresalen: 1) ascender en sus profesiones, 2)
emprender negocios, 3) utilizar de manera formativa su tiempo de ocio.
El educador del adulto, además de evaluar estos objetivos primordiales, tendrá
que adaptar sus métodos y materiales de enseñanza tomando en cuenta los
cambios fisiológicos, psicológicos y cognitivos de sus alumnos, motivarlos y
orientar sus metas para que ellos revaloren la etapa que viven, tomando lo mejor
para superarse como miembros de la sociedad, con un sentimiento renovado de
utilidad para sus labores.
La oportunidad de llevar a cabo este tipo de trabajos de investigación, que
involucran diferentes generaciones de seres humanos, es muy enriquecedora. Los
adultos de la tercera edad tienen mucho que expresar y se les debe dar la
212
oportunidad de aprender cosas nuevas, como, por ejemplo, el manejo de la
tecnología, porque en nuestros tiempos esto es indispensable.
Como parte de este estudio, se aplicó una encuesta a las personas que tomaron el
curso, para conocer su opinión; de esta manera, se obtuvo información muy
importante. A continuación, se transcriben algunas de las preguntas, cuáles
fueron las respuestas obtenidas y algunos comentarios generales.
Pregunta 1. ¿Qué opinión tiene del curso de computación del que formó parte?
Fig. 5. La gráfica muestra que 81 personas opinaron ‚excelente‛ y seis ‚bueno‛.
Pregunta 2. ¿Cómo considera lo que ha aprendido?
Fig. 6. La gr{fica muestra que 38 alumnos opinaron ‚excelente‛, 40 ‚bueno‛ y
nueve ‚regular‛.
Pregunta 3. ¿El curso cumplió con sus expectativas?
Fig. 7. La respuesta es alentadora. La gráfica muestra que 80 de las 87 personas
encuestadas piensan que sus expectativas se cumplieron
213
Pregunta
4.
¿Recomendaría
el
curso
a
otras
personas?
Fig. 8. De manera contundente, 100% de los adultos de la tercera edad que
tomaron el curso piensan recomendarlo.
Para finalizar, se transcriben a continuación algunos de los comentarios escritos
en la encuesta:
‚El curso, muy bien, y a gusto con los compañeros, estudiantes y profesores.‛
‚Solamente me gustaría continuarlo.‛
‚Necesito un curso m{s lento y personalizado.‛
‚Espero que se repita y se haga m{s publicidad para que muchas personas se
impulsen a producir m{s.‛
‚Los profesores y el personal de apoyo son personas excelentes en su trato y con
mucha paciencia para con nosotros. Estoy encantada de haber participado en este
curso.‛
‚Felicito a los maestros que tuvieron la iniciativa de llevar a cabo este curso, así
como a los profesionistas que lo impartieron por tomar muy en cuenta a las
personas de la tercera edad, ello nos estimula y deja la opción de continuar
prepar{ndose en lo que es la inform{tica.‛
‚B{sico, pero muy bueno; ojal{ continuemos, ya que debemos ser ejemplo para
nuestros hijos.‛
‚Espero que tenga continuidad el curso y se diseñe la segunda parte para ampliar
nuestros conocimientos como adulto en plenitud.‛
‚Sólo deseo agradecer: gracias, mil gracias por cambiar nuestras vidas de manera
tan positiva.‛
214
‚Nos integramos a la vida moderna y nos sacan del aislamiento d{ndonos
oportunidades que no teníamos‛.
El proyecto de capacitación para adultos de la tercera edad no pretende
prepararlos para enviarlos a buscar empleo, pero si una oportunidad de este tipo
se les presentara, todo el esfuerzo realizado habrá valido aún más la pena.
Referencias
1. García-Mínguez, J., La educación en personas mayores. Ensayo de nuevoscaminos,
Editorial Narcea, México.
2.
Biblioteca
Digital
RAM,
en
Internet
(http://www.reda
dultosmayores.com.ar/educacionA M.htm).
3. Psicología Científica, revista electrónica, en Internet (http://www.psicolo
giacientifica.com/bv/psicologia
-279-1-la-educacion-de-adulto-mayorantecedentes-y-perspectivas.html).
4.
Estadísticas
del
INEGI,
en
Internet
(http://www.inegi.gob.mx/inegi/contenidos/espanol/prensa /contenidos/estad
isticas/2008/edad2.doc).
5.-Consulta, en Internet (http://amdi.files.w ordpress.com).
6.-Consulta, en Internet (http://www.yturral de.com/ andragogia.htm).
215
216
Modelo Matemático Multiobjetivo para la Selección de
una Cartera de Inversión en la Bolsa Mexicana de
Valores
José Crispín Zavala-Díaz, Marco Antonio Cruz-Chavez, Martín H. Cruz-Rosales, Jorge
Ruiz Vanoye
Resumen. Un modelo matemático multiobjetivo para la selección de una cartera
de inversión y su aplicación en la Bolsa Mexicana de Valores (BMV) se presenta y
discute en este artículo. El modelo multiobjetivo se basa en nuestro modelo
matemático de programación lineal publicado recientemente. Se establece el
planteamiento del problema multiobjetivo, sus restricciones, la magnitud de las
mismas y la estrategia de búsqueda, la cual consiste en modificar el parámetro
que acota la magnitud de cada una de las restricciones. Nuestro modelo se
prueba con la selección de una cartera de inversión con 10 acciones de la BMV,
donde nuestros resultados son mejores que los obtenidos con los modelos de
máximo rendimiento y mínimo riesgo resueltos en forma independiente.
Palabras clave: multiobjetivo, programación lineal, cartera de inversión, Bolsa
Mexicana de Valores.
1 Introducción
Una cartera de inversión es una combinación de activos o títulos individuales con
la que se pretende que disminuya el riesgo y aumente la utilidad de las acciones.
Desde el punto de vista teórico, la existencia del equilibrio riesgo-rendimiento es
básica para los modelos de evaluación de activos. Desde el punto de vista
práctico, se debe tener la capacidad de colocar los resultados absolutos en el
contexto de características de riesgo-rendimiento de un programa de inversión.
Los cinco pasos del proceso de la inversión son: 1 1) política de la inversión, 2)
análisis de los valores, 3) construcción de la cartera, 4) revisión de la cartera, y
5) evaluación periódica del desempeño de la cartera. En particular, para la
construcción de la cartera se deben identificar las acciones específicas en las
cuales invertir y en qué cantidad hacerlo. La selectividad, el timing y la
diversificación deben ser tratadas por el inversionista. La selectividad, también
conocida como micropronóstico, se refiere al análisis de valores y se enfoca en el
pronóstico de los movimientos de precios de valores individuales. El timing,
también conocido como macropronóstico, implica el pronóstico de los
movimientos del precio de las acciones ordinarias respecto a los valores de
217
ingreso fijo, como los abonos corporativos y las letras del tesoro. La
diversificación es la construcción de la cartera del inversionista de tal manera que
se minimice el riesgo, el cual está sujeto a ciertas restricciones. En este trabajo
haremos un micropronóstico para obtener una cartera de inversión.
En el problema de la selección de la cartera de inversión se tienen dos funciones
objetivo; la primera es la de maximizar el rendimiento, y la segunda, no menos
importante que la primera, la de minimizar el riesgo.
Dos modelos son fundamentales para la valoración de una cartera de inversión,
el de Markowitz2 y el de Capital Assets Pricing Model (CAPM).3 En el primero, se
considera el planteamiento del problema cuadrático de minimización del riesgo
con dos restricciones; la primera restricción es el rendimiento, cuya magnitud
cambia en función de un parámetro, la segunda es la suma de las variables de
decisión igual a 100%. Con este modelo se obtiene la frontera de carteras
eficientes, considerando el riesgo y el rendimiento en función de la covarianza
entre las acciones. El CAPM, por medio de una aproximación lineal, con las
mismas variables que el modelo de Markowitz, obtiene la cartera de inversión
por medio de una línea tangente que toca la frontera de carteras eficientes.
Con base en estos dos modelos se han desarrollado otros, como el nuestro, 4 en el
cual la cartera de inversión se obtiene resolviendo en forma independiente las
dos funciones objetivo, maximizar el rendimiento y minimizar el riesgo, y sin
considerar la covarianza entre las acciones. En este modelo, la cartera
seleccionada será la que tenga la diferencia mínima entre las soluciones de esos
dos problemas, tal y como lo establece el CAPM. Por otro lado, se han
desarrollado modelos y métodos para seleccionar la cartera de inversión como un
problema multiobjetivo,5,6,7 con los cuales se determina la frontera de carteras
eficientes. Esta frontera constituye el frente de Pareto, donde se encuentran las
soluciones no dominadas. Para determinar esas soluciones, se supone que el
espacio de búsqueda es convexo y su recorrido se hace mediante los algoritmos
llamados evolutivos,8 que se basan en diferentes metaheurísticas.5,6,7 En estos
planteamientos multiobjetivo, el riesgo y el rendimiento no siempre se calculan
como se plantea en el modelo de Markowitz,6 y en algunos otros se utilizan
restricciones, como el precio de venta.7
Por lo tanto, en este trabajo se desarrolla un modelo multiobjetivo lineal que
considera tanto el espacio de búsqueda dado por la frontera de carteras eficientes
determinadas por Markowitz, como las suposiciones del CAPM, el cual establece
que un solo punto de la línea tangente toca a un solo punto de la frontera
mencionada. En la segunda parte de este trabajo se presenta una descripción de
los problemas multiobjetivo; en la tercera, las bases de nuestro modelo, y en la
cuarta, la selección de una cartera de inversión durante un periodo a la alza.
218
2 Fundamentos del problema multiobjetivo
El problema de optimización multiobjetivo es similar al problema de
optimización global, excepto que para el caso multiobjetivo se intenta encontrar
un vector de solución que optimice simultáneamente todas las funciones objetivo.
De antemano se conoce que estas funciones se encuentran en conflicto unas con
otras y el mejorar una de ellas significa empeorar el desempeño de las otras.8
El problema de optimización multiobjetivo se define matemáticamente como:

 que
g i x  0 , i = 1, 2, <, m
(3)
encontrar el vector x *  x1* , x2* ,...xn*
T
satisfaga las m restricciones de la
desigualdad:
Las p restricciones de igualdad:
hi x  0 , i = 1, 2, <, p
(4)
Y que optimice:
f x  f1 x , f 2 x ... f k x 
T
(5)
En otras palabras, se intenta determinar el conjunto de todos aquellos números
que satisfacen las restricciones y optimizan todas las funciones objetivo. Las
restricciones definen la región factible del problema y cualquier vector x que
esté en esta región se considera una ‚solución factible‛.
En la optimización multiobjetivo, el término ‚optimizar‛ cambia respecto a la
optimización monoobjetivo (global), porque se trata de encontrar un ajuste entre
las distintas funciones objetivo en lugar de una sola solución, como en la
optimización global. Wilfredo Pareto, en 1896, dio una definición más formal del
óptimo en problemas multiobjetivo,9 la cual se conoce en la actualidad como
‚óptimo de Pareto‛. La definición formal es la siguiente:
Sea I el conjunto I={1, 2,…}; un vector de variables de decisión x *  F (F es la
región factible) es un óptimo de Pareto si no existe otro x  F tal que:

  y
i  I f i x   f i x *

 
j  I f j x   f j x * . En otras palabras, ‚el óptimo de
Pareto es aquel vector de variables en el cual no se pueden mejorar las soluciones
del problema en una función objetivo sin empeorar cualquiera de las dem{s‛.8,9
Con esto se obtiene un conjunto de soluciones llamado ‚conjunto de óptimos de
219
Pareto‛. Los vectores que corresponden a una solución incluida en el conjunto de
óptimos de Pareto son llamados ‚no dominados‛.
2.1 Conjunto de óptimos de Pareto
Para un problema multiobjetivo f x  , el conjunto de óptimos de Pareto ( P* ) se
define como:

P*  x  F : x« F
f x«

f x 
(6)
2.2 Dominancia de Pareto
El término ‚dominancia de Pareto‛ se define por: un vector u  u1 ,..., u k  domina
a otro v  v1 ,..., vk  (denotado mediante u v ) si, y sólo si u es parcialmente
menor a v:
i  
1,..., k , ui  vi  i  
1,..., k : ui  vi
(7)
Es decir, para que una solución domine a otra, ésta necesita ser estrictamente
mejor en al menos un objetivo y no peor en ninguno de ellos.
2.3 Frente de Pareto
La representación de las funciones objetivo cuyos vectores son no dominados y
est{n en el conjunto de óptimos de Pareto se llama ‚frente de Pareto‛. Su
definición es la siguiente: para un problema multiobjetivo f x  y un conjunto de
óptimos de Pareto P * , el frente de Pareto ( FP * ) se define como:

FP *  f  f1 x ,..., f k x : x  P *

(8)
La mejor forma para encontrar el frente de Pareto es evaluar todos y cada uno de
los puntos en la región factible; al realizar una búsqueda exhaustiva, el problema
se hace no computable. Por lo tanto, se tiene la necesidad de aplicar o desarrollar
heurísticas para producir aproximaciones del frente de Pareto. En la figura 1 se
describe cada uno de los elementos definidos previamente.
220
Fig. 1. Ejemplo de un frente de Pareto de un problema de optimización con dos
funciones objetivo.
2.4 Breve descripción de los algoritmos de solución multiobjetivo
Para obtener el vector de soluciones, frente de Pareto, de los problemas
multiobjetivo, se ha desarrollado la computación evolutiva. La computación
evolutiva consta de un conjunto de heurísticas que basan su funcionamiento en el
mecanismo de la selección natural propuesto por Charles Darwin, y luego
extendido en el denominado neodarwinismo. 8
En la computación evolutiva, una población está compuesta por individuos. Un
individuo es una solución a un problema, codificada según las necesidades del
problema; por ejemplo, en una cadena de bits. El medio donde se desenvuelve
este individuo se representa por la función objetivo, mientras que las
restricciones del problema nos indican qué tan apto es el individuo para
sobrevivir en ese medio. A los individuos de la población, llamados ‚padres‛, se
les aplican operadores probabilísticos, cruza y mutación para obtener nuevos
individuos, llamados ‚hijos‛, los cuales mantienen algunas propiedades de sus
antecesores. Los antecesores se conservan o se eliminan mediante una selección
determinística o probabilística. Este proceso se realiza con cada uno de los
individuos de la población hasta formar una nueva población con nuevos
individuos. Este proceso se repite durante un cierto número de iteraciones,
llamadas ‚generaciones‛ en computación evolutiva.
Respecto a la programación lineal multiobjetivo, son tres los métodos que se
utilizan para resolver este tipo de problemas: el de ponderaciones, e-restricciones
y el SIMPLEX multiobjetivo.10 Los dos primeros también se utilizan en
problemas no lineales, mientras que el último es sólo para problemas lineales.
Cada uno de ellos tiene su ámbito de aplicación, con base en el cual
seleccionamos el método más adecuado para nuestro problema.
221
2.4.1 Método de ponderaciones
Para llevar a cabo el método, se tiene que considerar en forma sistemática una
serie de conjuntos de pesos positivos que multipliquen a cada objetivo del
problema. Usualmente se empieza por la optimización individual de cada
objetivo, lo que equivale a considerar los pesos {1, 0, …, 0}, {0, 1, …, 0}, <, ,0, 0,…,
1}. Posteriormente, se introduce una variación sistemática de estos pesos con una
tasa de aumento prefijada. Cada problema de ponderación es un problema de
programación lineal cuya resolución conduce a una solución eficiente.
Se pueden tener ciertos inconvenientes. Entre ellos, distintos conjuntos de pesos
pueden generar el mismo punto; el tamaño de paso de un conjunto de pesos a
otro puede no permitir generar todos los puntos extremos, y por lo tanto, se
obtendría una aproximación al conjunto eficiente.
2.4.2 Método de las e-restricciones
Consiste en optimizar la función objetivo más importante que las otras, donde
éstas estarán limitadas por las cotas inferiores. Las cotas inferiores representan
preferencias subjetivas del decisor, por lo que si no existiera una solución se
tendría que relajar al menos una de las cotas. La solución del problema será
eficiente si es única.
2.4.3 Método SIMPLEX-multiobjetivo
Este método se compone de tres etapas y es una extensión natural del algoritmo
SIMPLEX, ya que utiliza la misma transformación de pivote para moverse de un
punto extremo eficiente a otro adyacente. Las tres etapas son:
Primera. Se determina una solución básica inicial factible. Ésta se lleva a cabo,
como el uniobjetivo, introduciendo variables de holgura y/o artificiales se
obtiene un punto extremo inicial factible.
Segunda. Se determina un punto extremo eficiente cuya existencia está
garantizada. Si la región factible del problema es no vacía y todas las
funciones objetivo están acotadas en ella, entonces existe al menos un punto
extremo eficiente.
Tercera. Finalmente, se determinan todos los puntos eficientes partiendo de la
solución de la etapa anterior y se generan, a partir de ella, los restantes puntos
extremos.
222
3. Fundamentos de
nuestro algoritmo multiobjetivo lineal
Nuestra primera hipótesis es que se supone que el portafolio de inversión con el
mayor rendimiento y el mínimo riesgo está en la línea de las carteras eficientes,
frente de Pareto; esa cartera estará en equilibrio a causa de que es una solución no
dominada, ya que cualquier modificación afectará el rendimiento o el riesgo. La
segunda suposición es que la determinación de ese portafolio es posible con el
CAPM, ya que con una línea recta tangente a la curva de las carteras eficientes se
determina un punto único, y éste es el portafolio de inversión óptimo. En
consecuencia, el problema es calcular solamente un punto del frente de Pareto, el
determinado por el CAPM. A partir de esta observación, nosotros desarrollamos
el planteamiento para el modelo matemático multiobjetivo. En la figura 2 se
describe la interacción gráfica de los dos modelos, el de Markowitz y el de
CAPM. En la figura 2, la línea FF representa el frente de Pareto de portafolios de
inversión óptimos. La línea SS es la línea de seguridad del mercado, donde el
punto Rf representa el rendimiento libre de riesgo. El punto a sobre la línea FF
representa la cartera de inversión óptima con un rendimiento R y un riesgo . En
consecuencia, el punto a es el punto que tiene la menor diferencia entre el riesgo
y el rendimiento.3
Fig. 2. El CAPM.
La gráfica de la figura 3 se elaboró con los resultados de la selección de una
cartera de inversión de 10 acciones de la Bolsa Mexicana de Valores (BMV),
durante el periodo de julio de 2005 a febrero de 2007. 11 La gráfica muestra que la
determinación del punto a se hace desde la región de las soluciones factibles.
223
Fig. 3. Carteras de inversión de la región factible durante el periodo de julio de
2005 a febrero de 2007.
En la figura 3 se muestra que sólo un punto es la solución; este punto es el que se
encuentra más a la izquierda de todos los puntos, y tiene la diferencia mínima
entre riesgo y rendimiento. A causa de que los dos problemas se resuelven en
forma independiente, el de maximizar el rendimiento y el de minimizar el riesgo,
en las figuras 4 y 5 se hacen las gráficas de rendimiento y riesgo en función de la
diferencia mínima entre ellos.
450
Riesgo-Rendimiento X10-2
400
350
300
250
200
150
100
50
0
1
101
201
301
401
501
601
701
801
901
Riesgo X10-2
Fig. 4. Rendimiento para 10 acciones, en función de la diferencia mínima, durante
el periodo de julio de 2005 a febrero de 2007.
Las gráficas de las figuras 4 y 5 muestran que las áreas son convexas, como se
esperaba, puesto que cuando la solución de un problema se lleva a cabo por
medio de la programación lineal no pueden existir superficies que no sean
convexas.10
En los conjuntos de los elementos cuyas gráficas se muestran en las figuras 4 y 5
estarán el rendimiento y el riesgo que determinen la menor diferencia de la figura
3, es decir, se determina el punto a, con lo cual queda: i  1,2,..., k : Ri   i  a .
224
450
Riesgo-Rendimiento X10-2
400
350
300
250
200
150
100
50
0
1
101
201
301
401
501
601
701
801
901
Riesgo X10-2
Fig. 5. Riesgo en función de la diferencia mínima para 10 acciones, durante el
periodo de julio de 2005 a febrero de 2007.
En consecuencia, se supone que la determinación del punto a se puede hacer por
medio de la búsqueda del rendimiento Ri (véase la figura 4) y del riesgo i (véase
la figura 5). A su vez, esta búsqueda se puede hacer modificando la magnitud de
las restricciones para reducir el espacio de búsqueda y evaluar así la ‚aptitud‛
como la diferencia mínima entre riesgo y rendimiento. Lo anterior coincide con el
método de las e-restricciones.
4 Planteamiento del problema multiobjetivo lineal
En el modelo que estamos considerando se hacen las suposiciones siguientes: 4
Primera suposición. La cantidad mínima de dinero requerida es el costo de la
acción más barata, a partir de esta cantidad se llega a la cantidad de dinero de
la acción más cara.
Segunda suposición. El riesgo mínimo de la cartera de inversión es el riesgo de
la acción que tenga el menor de todas las acciones y éste variará hasta el riesgo
más alto de la acción correspondiente.
Tercera suposición. El rendimiento mínimo de la cartera de inversión es el
rendimiento de la acción que tenga el menor rendimiento de todas las
acciones y éste variará hasta el rendimiento más alto de la acción
correspondiente.
Con las suposiciones anteriores se formularon los modelos que se describen a
continuación.4
225
4.1 Modelo de maximizar el rendimiento
n
Maximizar z1   xi Ri
(9)
i 1
Sujeto a:
n
xi Pvi  Pvmin   1 Pvmax  Pvmin 

i 1
n
xi  i   min  2  max   min 

i 1
n
xi  1 ,

i 1
xi  1
Donde Ri, i y Pvi es el rendimiento, riesgo y precio de venta de la acción i,
respectivamente; xi es el decimal de la acción i que debe comprarse y es una
variable real 0≤ xi≤1, xi= 0 cuando la acción no forma parte de la cartera de
inversión; 1, 2 son variables que se utilizan para recorrer todo el espacio de
soluciones y su valor es 0 ≤ 1,2 ≤ 1.
4.2 Modelo de minimización del riesgo
n
Minimizar z 2   xi i
(8)
i 1
Sujeto a:
n
xi Pvi  Pvmin  1 Pvmax  Pvmin 

i 1
n
 x R
i 1
i
i
 Rmin  2 Rmax  Rmin 
n
xi  1 ,

i 1
xi  1
Las variables son las mismas que las que se describen en la sección 4.1.
226
4.3 Modelo multiobjetivo lineal para la selección de una cartera de inversión
Considerando los dos modelos, (7) y (8), el método de las e-restricciones, así
como las suposiciones consideradas en la sección 3, el modelo multiobjetivo
resultante se muestra a continuación:
n
Minimizar z3   xi  i  Ri 
(9)
i 1
Sujeto a:
n
  min  1  max   min

(10)
i
 Rmin   2 Rmax  Rmin

(11)
i
x
i 1
i
n
x R
i 1
i
n
xi Pv i  Pv min

i 1
(12)
n
xi  1 ,

i 1
xi  1
Donde las variables son las mismas que las que se describen en la sección 4.1. Las
restricciones (10) y (11) son las funciones objetivo de los dos modelos de
optimización base, cuya magnitud variará desde la cota inferior hasta la cota
superior, tal y como lo establece el método de las e-restricciones. Además,
reflejan la segunda y tercera suposición del planteamiento original. La restricción
(12) refleja la primera suposición del modelo original.
Dado que las restricciones (10), (11) y (12) son válidas para los elementos del
conjunto de la región factible, lo primero que se tiene que hacer es considerar
elementos de esa región. Una vez que ya se tiene un elemento de la región
factible, se hace el recorrido al elemento de la cartera óptima. En la figura 6 se
muestra la estrategia de recorrido para determinar el portafolio óptimo.
Fig. 6. Estrategia de búsqueda del planteamiento multiobjetivo.
227
La estrategia consiste en comenzar desde el origen producido por las cotas
mínimas; posteriormente, se incrementa un , primero en la función f1 y después
en la f2, y así sucesivamente, hasta llegar a una solución factible. Una vez que se
ha llegado a una solución factible, se recorre la región convexa manteniendo f1
constante hasta alcanzar el frente de Pareto. Cuando se haya alcanzado el frente
de Pareto, éste se recorre modificando el incremento , lo que consiste en dividir
1
en dos ese incremento cada vez. La primera modificación será  , la segunda
2
1
1
 , y así sucesivamente hasta llegar a m  , donde m es el número de
4
2
modificaciones necesarias para llegar al portafolio óptimo.
5 Aplicación del modelo multiobjetivo para calcular una cartera
de inversión en la Bolsa Mexicana de Valores
De la página de Internet de la Bolsa Mexicana de Valores (BMV) se eligieron las
acciones de las 10 empresas más bursatilizadas y en las cuales se basa el cálculo
del IPC.12 Los datos son del periodo que va de julio de 2005 a febrero de 2007; los
valores de rendimiento y riesgo se obtuvieron como lo establecen los modelos
que hemos considerado aquí y en las ecuaciones (13) y (14). 1
m
Ri 
ri

j 1
m
 r
m
i 
j 1
(13)
j
ij
 Ri

2
(14)
m 1
Donde Ri es el rendimiento promedio de la acción i, ri es el rendimiento de la
acción i en cada periodo j y m es el número de periodos considerados; i es el
riesgo (desviación estándar del rendimiento). En el cuadro 1 están los
rendimientos y riesgos de esas 10 acciones. En el cuadro 2 están los resultados
obtenidos con el modelo multiobjetivo y la estrategia de búsqueda diseñada para
este problema. En este cuadro también están los resultados obtenidos del mismo
problema con los modelos monoobjetivo de maximizar el rendimiento y
minimizar el riesgo.
228
Cuadro 1. Rendimiento, precio de venta y riesgo de 10 empresas, durante el
periodo de julio de 2005 a febrero de 2007 11,12
Var
Empresa
x1
GMEXICOB
x2
WALMEX V
Ri
Pvi
(%)
5.053 76.00
2.230 39.67
9.289
5.985
x3
x4
G MODELOC
CEMEX CPO
2.016 59.11
1.024 35.47
5.381
10.331
x5
x6
TELMEX L
1.834 18.85
TELEVISACPO 2.388 55.56
6.332
6.569
x7
x8
URBI
KIMBERA
4.147 46.42
1.135 43.52
7.851
6.191
x9
TELECOMA1
3.140 49.18
9.459
x10
NAFTRAC02
2.962 30.82
4.527
i (%)
Como lo muestran los resultados del cuadro 2, el rendimiento se acerca al
rendimiento del promedio aritmético de los dos modelos (3.2125%), mientras que
el riesgo se acerca más al riesgo calculado en el planteamiento de minimizar el
riesgo. Es decir, la solución obtenida es más cercana a los óptimos determinados
por el modelo de minimización del riesgo. La obtención de mejores resultados se
debe a que los incrementos de los parámetros fueron más pequeños que los
incrementos utilizados por los modelos uniobjetivo. En los modelos uniobjetivo
se utilizó un incremento constante de 0.1 para recorrer todo el espacio de
búsqueda, mientras que en el modelo multiobjetivo se utilizaron incrementos de
hasta 0.1/25 en las últimas iteraciones. Lo anterior nos permitió obtener una mejor
solución. Para obtener los resultados que se presentan en el cuadro 2, se
requirieron 16 iteraciones y cinco incrementos.
Cuadro 2. Diferencia menor entre el máximo rendimiento y el mínimo riesgo,
229
durante el priodo de julio de 2005 a febrero de 2007
6 Conclusiones
Primera conclusión. El planteamiento multiobjetivo del problema de la selección de
una cartera de inversión es mejor que solucionar en forma independiente los
problemas de maximizar el rendimiento y minimizar el riesgo.
Segunda conclusión. Las suposiciones del CAPM se pueden aplicar al problema
multiobjetivo, y con ellas es posible limitar el espacio de búsqueda a solamente
un punto, sin la necesidad de determinar todo el frente de Pareto.
Tercera conclusión. Los resultados nos muestran que la búsqueda se puede hacer
por medio de la modificación de los parámetros, y no se requiere necesariamente
un algoritmo evolutivo para la generación de los individuos que forman una
solución.
Referencias
1. Messuti, D. J., V. A. Álvarez y H. Romano Graff, Selection of Investment.
Introduction to the Theory of Portfolio, Macchi, 1992, pp. 135-187, 147-151, 175187.
2. Markowitz, H. M., ‚Portfolio Selection‛, Journal of Finance, vol. 7, 1952, pp.
77-91.
3. Fama, E. F. y K. R. French, ‚The Capital Asset Pricing Model: Theory and
Evidence‛, CRSP Working Paper, núm. 550, 2003.
4. Zavala-Díaz, J. C., J. Pérez-Ortega, R. A. Pazos-Rangel, D. V. GarcíaVillagomez y L. Cruz-Reyes, ‚Mathematical Model for Optimizing the
Composition of an Investment Portfolio for the Mexican Stock Market‛, II
International Joint Conference on Computational Sciences and Optimization
(CSO2009), april de 2009, pp. 463-468.
5. Branke, J., B. Scheckenbach, M. Stein, K. Deb y H. Schmeck, ‚Portfolio
Optimization with an Envelope-Based Multiobjective Evolutionary
Algorithm‛, Journal of European Research, núm. 199, 2009, pp. 684-693.
6. Subbu, R., P. P. Bonissone, N. Eklond, S. Bollapragada y K. Chalerm
Kraivuth, ‚Multiobjective Financial Portfolio Design: A Hybrid Evolutionary
Approach‛, Congress on Evolutionary Computation, vol. 2, IEEE, septiembre de
2005, pp. 1722-1729.
7. Fieldsend, J. E. y S. Singh, ‚Pareto Multiobjective Non-Linear Regression
Modelling to Aid CAPM Analogous Forecating‛, Proceedings of IEEE Conference
on Computational Sciences and Optimization, 2002.
8. Coello, C. A., ‚Introduction to Evolutionary Multiobjective Optimization‛,
CINVESTAV-IPN, 2002.
230
9. Santana Quintero, L. V., ‚Un algoritmo basado en evolución diferencial para
resolver problemas multiobjetivo‛, tesis de maestría, CINVESTAV-IPN,
noviembre de 2004.
10. Ríos Insúa S., ‚Investigación operativa: modelos determinísticos y
estoc{sticos‛, Editorial Universitaria Ramón Areces, España, 2004.
11. Zavala-Díaz, J. C., J. A. Ruiz-Vanoye, D. V. García-Villagomez y O. DíazParra, ‚Selection of an Investment Portfolio by Means of a Mathematical
Model of Optimization Applied to Mexican Stockmarket in Period of Debacle‛,
V International Conference on Advanced Information Management and
Service, Seúl, Corea, agosto de 2009.
12. Mexican stock-market, en Internet (http://www.bmv.com.mx).
231
232
Sistema Estatal de Información y Documentación
Científica y Tecnológica (Siedcyt): el primer paso
para la propuesta de creación de un Parque
Tecnológico Virtual, en el estado de Baja California
Nora del Carmen Osuna Millán, Margarita Ramírez Ramírez, Esperanza Manrique
Rojas, María del Consuelo Salgado Soto
Resumen. El objetivo de este proyecto es presentar la propuesta de la creación de
un parque tecnológico virtual llamado Sistema Estatal de Información y
Documentación Científica y Tecnológica, de Recursos Humanos, Materiales, de
Organización y Financieros en el Estado de Baja California. Los insumos del
sistema de información son: instituciones de educación superior, centros de
investigación,
investigaciones
realizadas,
infraestructura
apropiada,
publicaciones científicas y de divulgación, así como otros recursos disponibles en
el estado de Baja California. Todo esto nos proporcionará una estadística de la
actividad científica y tecnológica, así como el conocimiento de los recursos físicos
y económicos con los que cuenta el estado para impulsar el desarrollo de esta
actividad tan importante para esta región. La información será captada de las
siguientes fuentes: a) Consejo de Ciencia y Tecnología del estado de Baja
California —siendo éste un organismo público descentralizado, tiene las tareas de
instrumentar, operar, promover y optimizar el sistema estatal de Ciencia y
Tecnología involucrando a los sectores público, privado y social—; b)
instituciones de educación superior (IES); c) centros de investigación; d) centros
de investigación y desarrollo en empresas y organizaciones privadas.
Palabras clave: innovación, tecnologías de información, sistemas de información.
Sumario:
1 Introducción 2 Estado del arte 2.1 Impacto científico 2.2 Impacto tecnológico 2.3
Impacto social 3 Metodología general 3.1 Objetivo del proyecto 3.2 Objetivos
específicos 3.3 Metas 3.4 Metodología particular 3.5 Recolección de datos y
análisis de la información 3.6 Usuarios específicos 4. El crecimiento de una región
está dictado por la gestión de la innovación que en ella se produzca 4.1 El
escenario local 5. Conclusiones e investigaciones futuras. Referencias
233
1 Introducción
Actualmente, la sociedad depende del desarrollo de la ciencia y la tecnología en
un porcentaje elevado, por lo tanto, el gobierno debe reforzar de una manera
eficiente la toma de decisiones y las actividades científicas y tecnológicas del país.
Es necesario que las entidades federativas estén concentradas en sistemas de
información de la investigación científica y tecnológica para identificar tanto las
áreas principales del conocimiento que demandan las empresas como los grandes
problemas regionales, nacionales e internacionales. ‚Una de las intenciones de
Baja California es convertir a la ciencia, la tecnología y la innovación en los
pilares de su crecimiento económico‛. El desarrollo de una herramienta que
proporcione información sobre las instituciones de educación superior, centros
de investigación, recursos humanos e infraestructura con la que cuenta el estado
de Baja California es imprescindible si se quiere conocer lo que cada uno de estos
organismos está realizando —cuáles son sus líneas de investigación, la
productividad que tienen sus investigadores, etcétera—; todo esto con el objetivo
de unir esfuerzos en áreas de importancia para la región, manteniendo una
relación de conocimiento, colaboración y apoyo entre instituciones,
investigadores, equipo, productos o servicios ya desarrollados y que pueden ser
reutilizados en líneas de investigación futuras por otras instituciones,
investigadores, empresas. Por todo lo anterior, el desarrollo de un sistema donde
se administre la información de cada una de estas fuentes es fundamental.
El presente trabajo presenta la metodología que se lleva a cabo para el desarrollo
del Sistema Estatal de Información y Documentación Científica y Tecnológica, de
Recursos Humanos, Materiales, de Organización y Financieros en el Estado de
Baja California. Este sistema se construirá con el apoyo de recursos de la
convocatoria de fondos mixtos 2008-1 del estado de Baja California.
2 Estado del arte
2.1 Impacto científico
La divulgación y promoción de la ciencia y tecnología es de vital importancia
para la generación de productos y servicios tecnológicos, por ello, el Sistema
Estatal de Información y Documentación Científica y Tecnológica (Siedcyt)
proporcionará la base para su promoción.
2.2 Impacto tecnológico
El desarrollo de herramientas que apoyen el crecimiento tecnológico es
imprescindible en esta nueva era; por ello, el desarrollo del sistema Siedcyt
234
aportará un panorama efectivo, eficiente y competitivo del desarrollo tecnológico
de la región.
2.3 Impacto social
Las comunidades de investigación y desarrollo tecnológico se beneficiarán con la
utilización del sistema Siedcyt porque en él encontrarán información relevante
sobre infraestructura, financiamientos, equipos de trabajo y otros.
3 Metodología general
3.1 Objetivo del proyecto
El objetivo fundamental es la elaboración de un sistema de información
administrado y al cual se accede por medio de un sitio Web, donde se
almacenará, procesará y distribuirá la información relevante de ciencia y
tecnología en el estado de Baja California, con el objetivo de fortalecer la toma de
decisiones en esta área.
3.2 Objetivos específicos
1. Integrar un padrón de instituciones de educación superior (IES) y centros
de investigación (CI) públicos y privados de la entidad.
2. Proporcionar información integrada y clasificada que muestre lo relativo
a políticas, programas y proyectos en el área de ciencia y tecnología en el
estado de Baja California.
3. Crear una base de datos que ofrezca los insumos estratégicos para la
toma de decisiones en lo relativo a la ciencia y la tecnología, la investigación y
la formación de recursos humanos.
4. Creación de un sistema que integre los catálogos de información
referente a ciencia y tecnología.
3.3 Metas

Sistema de información con información integrada de los centros de
investigación públicos y privados e instituciones de educación superior de la
entidad.

Base de datos, con información referente a las áreas en las que se
desarrollan investigación, productos y patentes en el estado de Baja
California.

Página Web, con acceso al sistema de información de los centros de
investigación públicos y privados e instituciones de educación superior.
235
3.4 Metodología particular
La investigación se apoya en el método analítico e incluye una serie de fases o
etapas para la obtención de la información de las entidades involucradas:
instituciones de investigación, centros de desarrollo de investigación y empresas
con infraestructura destinada a investigación científica y tecnológica del estado
de Baja California. La información se obtendrá directamente de las fuentes de
información primaria y secundaria, según sea el caso.
En una primera etapa se trabajará con la información de las instituciones de
educación superior, las cuales tienen entre sus objetivos y políticas institucionales
la investigación. En la seguda etapa se contempla la inclusión de los centros de
investigación y desarrollo de tecnología. En la tercera etapa se analizarán los
centros de investigación privados, los cuales pueden ser subsidiados por
empresas de manufactura y servicios.
3.5 Recolección de datos y análisis de la información
En el trabajo de campo, se aplicarán instrumentos de recolección de información
como investigación documental, cuestionarios y entrevistas semiestructuradas,
siguiendo los siguientes pasos:
1. Planeación del proyecto.
2. Diseño de instrumentos para recopilación de información.
4. Proceso de validación de instrumentos.
5. Aplicación de los instrumentos (entrevistas, cuestionarios).
6. Recopilación de información relativa a las instituciones y proyectos por
diversos medios.
7. Análisis y clasificación de la información.
8. Diseño del sistema de información.
9. Desarrollo del sistema de información.
10. Desarrollo de página Web en la cual se accederá a la información
clasificada para su consulta.
11. Seguimiento.
236
Fig. 1. Modelo del proceso racional unificado (RUP, Rational Unified Process),
cuatro fases esenciales.
3.6 Usuarios específicos
El sistema estará diseñado para su uso en diferentes niveles; esto es, para
usuarios de la administración del sistema, de niveles de gestión y administración
pública, y para los usuarios finales del sistema:
• Instituciones de gobierno.
• Instituciones del sector privado.
4 El crecimiento de una región está dictado por la gestión de la
innovación que en ella se produzca
Para que una región crezca, debe aumentar su capacidad innovadora. El proceso
de innovación y la creación de medios están relacionados con las grandes fuentes
de información: centros de investigación y desarrollo, universidades, empresas
provistas de un personal especializado dedicado a la investigación y el
dessarrollo. Las IES son básicas para el sistema de innovación de una región o un
país, junto con las empresas y las entidades públicas. La concentración y el flujo
de información entre centros de investigación y empresas se propicia mediante el
uso de un sistema de información apoyado en las tecnologías de la información,
impulsando la innovación en su entorno; transmitiéndola mediante la formación,
publicación y divulgación, y transfiriéndola a las organizaciones de su entorno, el
cual estará estructurado como se muestra en la figura 2.
237
Fig. 2. Descripción general del Siedcyt.
4.1 El escenario local
En Baja California existe un ámbito favorable para la creación de un medio
innovador porque su situación es la siguiente:
A. En el sector empresarial se identifican capacidades para producir
innovaciones, integrarse en clústers y responder a demandas de
competitividad internacional con nuevas formas productivas y organizativas.
B. En los sectores educativo, de ciencia y tecnología, las interacciones para
articularse con el sector productivo son escasas y han estado determinadas
por el desarrollo industrial y educativo.
C. El sector público o de gobierno local no tiene observatorios y mecanismos
de información empresarial proclives a la innovación.
D. Recientemente, se ha despertado el interés por el desarrollo de clústers;
destacan aquellos cuyo origen está en el mismo sector productivo, como los
de electrónica, industria automotriz y productos médicos;
aquellos
promovidos por iniciativas empresariales y educativas, como los de software,
y los alentados por las políticas del Estado, como los de las industrias
automotriz y aeronáutica.
5. Conclusiones e investigaciones futuras
En este trabajo se describieron las etapas definidas para la realización del
proyecto. Actualmente, ya se ha elaborado el instrumento que apoyará en la
recolección de información, con acceso por medio de la Web. Este sistema
facilitará y agilizará la recolección de datos. Se considera que el análisis de los
238
resultados obtenidos una vez que se haya aplicado este sistema será una
investigación relevante a desarrollar en el futuro; además, deberá hacerse una
valoración del sistema de información Siedcyt, del recibimiento que éste haya
tenido por parte de la comunidad de ciencia y tecnología del estado de Baja
California y de las implicaciones que este sistema pueda tener en el desarrollo de
esta área.
La innovación y el cambio técnico no son procesos lineales ni tienen las
características de una empresa, sino que son el resultado de un entorno que
promueve espacios para generar, adoptar y difundir innovaciones, conocidos
como ‚espacios emergentes‛, ‚regiones que aprenden‛ o ‚entorno innovador‛.
Un territorio innovador es un sistema productivo vinculado a una o varias
actividades, en el que una buena parte de las empresas y organismos existentes
realizan esfuerzos en el plano de la innovación tecnológica, incorporando mejoras
en los diferentes procesos asociados a su cadena de valor y en los productos que
ofrece. Por lo anterior, consideramos este sistema como una acción concreta para
avanzar en el camino de la innovación tecnológica y apoyar la inversión
tecnológica en la región.
Referencias
1. Baca Urbina, G., Formulación y evaluación de proyectos informáticos, McGraw
Hill, 2006.
2. Bernal Torres, C. A., Metodología de la investigación: para administración,
economía, humanidades y ciencias sociales, Pearson Educación, 2006.
3. Cabrero Mendoza, E., El diseño institucional de la política de ciencia y
tecnología en México, Universidad Nacional Autónoma de México, 2006.
4. Cohen Karen, D., Sistemas de información para los negocios: un enfoque para la
toma de decisiones, McGraw Hill, 2005.
5. Consejo Nacional de Ciencia y Tecnología (Conacyt), Ciencia y tecnología
para la competitividad, Fondo de Cultura Económica, 2006.
6. Consejo Nacional de Ciencia y Tecnología (Conacyt), Informe general del
estado de la ciencia y la tecnología: México 2006, Conacyt, 2006.
7. Gómez Vieites, Á., Sistemas de información: herramientas prácticas para la
gestión empresarial, Alfaomega, 2007.
8. Hernández Sampieri, R., Fundamentos de metodología de la investigación,
McGraw Hill, 2007.
9. Kendall, K. E., Análisis y diseño de sistemas, Pearson educación, 2005.
10. López García, X., Sistemas digitales de información, Pearson Prentice Hall,
2006.
239
11. O’Brien, J. A., Sistemas de información gerencial, McGraw-Hill, 2006.
12. Oros Cabello, J. C., Navegar en Internet: diseño de páginas Web interactivas
con JavaScript y CSS, Alfaomega, 2006.
13. Pacheco Espejel, A., Metodología crítica de la investigación: lógica,
procedimiento y técnicas, Grupo Patria Cultural, 2006.
14. Patten, M. L., Understanding Research Methods: An Overview of the
Essentials, Pyrczak, 2005.
15. Rodríguez Durán, A., Ciencia, tecnología y ambiente, International
Thomson, 2002.
16. Salomon, Jean-Jacques, Una búsqueda incierta: ciencia, tecnología y
desarrollo, Centro de Investigación y Docencia Económicas-Editorial de la
Universidad de las Naciones Unidas-FCE, 1996.
17. Takayanagui, A. D., La universidad del futuro: relaciones entre la educación
superior, la ciencia y la tecnología, UNAM, 2000.
18. Tamayo y Tamayo, M., El proceso de la investigación científica: incluye
evaluación y administración de proyectos de investigación, Limusa, 2007.
19. Uscanga, C., Las políticas para el desarrollo de la ciencia y tecnología en Japón,
UNAM, 2008.
20. Whitten, J. L., Análisis y diseño de sistemas de información, McGraw Hill,
2003.
21. Investigador y Desarrollo, en Internet (http://www.invdes.com.mx/),
página consultada en enero de 2009.
22. Compendio de Revistas Electrónicas Nacionales, en Internet
(http://bivir.uacj.mx/temas/secciones/temarevistasnacionales.htm),
página
consultada en enero de 2009.
23.
Ciencia
y
Desarrollo,
Concyt,
en
Internet
(http://www.conacyt.mx/comunicacion/revista/index.html),
página
consultada en enero de 2009.
24. Índice de Revistas Mexicanas de Investigación Científica y Tecnológica, Concyt,
en Internet (http://www.conacyt.mx/Indice/Index_Indice.html), página
consultada en enero de 2009.
25. Red De Revistas Científicas de América Latina y el Caribe, España y Portugal,
en Internet (http://www.redalyc.com/), página consultada en enero de 2009.
26.
Innovación
Tecnológico-Educativa,
en
Intenet
(http://cv1.cpd.ua.
es/catalogaxxi/c10067ppesii1/s127769/p127740nn1/index.html), página consultada
en enero de 2009.
240
Advanced Tools for the estimation of basic
Knowledge Level on Education and Training
José Alberto Hernández-Aguilar, Gennadiy Burlak, René Santaolaya S., Alberto Ochoa,
Messouma Atakishiyeva
Resumen. Nosotros describimos el uso de nuestro sistema de evaluación en línea
(Cliente-Servidor) equipado con capacidades de reconocimiento biométrico,
aplicado para evaluar el conocimiento básico en una preparatoria. En este reporte
discutimos la posibilidad de la identificación real de estudiantes remotos para
resolver el importante problema de: ¿quién está ahí?. En nuestro experimento,
seleccionamos aleatoriamente una muestra de estudiantes (n=54) y llevamos a
cabo dos evaluaciones: una evaluación normal (en lápiz y papel), y una
evaluación por computadora. En este último caso, nuestro sistema de evaluación
en línea con herramientas biométricas puede autentificar a un estudiante por
medio de la huella digital. Si un estudiante es autentificado, el sistema permite la
evaluación en línea, mientras tanto el estudiante está siendo monitoreado por
cámaras Web. Durante la evaluación en línea los estudiantes fueron afectados
por el ambiente en línea, ellos obtuvieron bajas calificaciones en línea con
respecto a los exámenes tradicionales. El reconocimiento de huella digital fue
muy bien aceptado. Sin embargo, a 13% de los estudiantes evaluados les
disgustó ser monitoreados con cámaras Web, y el 20% de ellos encontraron
alguna forma de hacer trampa. Esta tecnología nos permite obtener estadísticas
comparables de ambas evaluaciones, y discutir recomendaciones generales para
la estrategia, tecnología y equipamiento de las evaluaciones en línea.
Palabras Clave. Reconocimiento de huella digital, Biometría en education,
Evaluación en línea, Multi biometría.
Abstract. We describe the use of our online assessment system (Server-Client)
equipped by biometric recognition capabilities, applied to evaluate the basic
knowledge in a High School. In this Report we discuss the possibilities of real
identification of remote students to solve important problem: ‚Who's there?‛ In
our experiment we randomly selected a sample of students (n=54) and performed
two evaluations: a normal evaluation (paper and pencil), and a computer
assessment. In the latter case our online assessment system with biometric tools
could authenticate a student by means of index fingerprint. If a student is
authenticated, the system allows online assessment, meanwhile such a student is
being monitoring by web cams. During online assessment students were affected
241
by the online environment, they obtained lower grades online than on traditional
tests. Fingerprint recognition was very well accepted. However, 13% of students
tested dislike web cam monitoring, and 20% of them noticed a way to commit
cheat. This technology allows us to obtain the comparable statistics of both
evaluations and discuss general recommendations for strategy, technology and
equipping of online computer assessment.
Sumario
1. Introduction 1.1 The problem at hands 2. Methodology 3. The Online Testing
System with Biometric Recognition 3.1 Technical requirements 3.1.1. The Server
Side 3.1.2. The Client Side 3.2 Performance Schema 3.3 Implementation 3.3.1.
Hardware 3.3.2. Software 3.3.3. Accumulation and analysis of information 4.
Results and Discussion 5. Future work 6. Conclusions. References.
1 Introduction
Nowadays the problems of information security are of great importance, and it is
not surprising that problems of ‚educational security‛ become be common also
[11]. The Faculty who has not taught online often asks about cheating.
Specifically, they ask how you know the person who is taking the class is the one
who signed up. Unless photo IDs are checked and all course work occurs inside
of a monitored classroom, faculty really does not know for sure whether the
student is who they say they are in the classroom or online [10]. On online
assessments in which we are not sure who is taking the test; students will be
under pressure, some students perform unfairly poorly under pressure and this
is a good incentive to cheat [11]. We have a wide spectrum of documented
techniques to commit cheat on online assessments, for instance: modify a grade
in the database (DB), to steal answers for questions, to copy from another student
or cheat sheets, impostor or substitute remote students, to search for answers on
the Internet or in blogs, on the messenger or cellular phone, in single words to
‚commit cheat‛ to obtain a ‚better grade‛ in an online assessment *6+. Biometrics
is becoming a powerful tool to improve security on transactions and reduce
frauds [7].
Most of e-learning tools providing online assessment uses only basic and
standard security measures and normally do not provide advanced security
mechanisms, for instance the Blackboard system [2] that use an username and
password to verify the student identity, and profiles in database (DB) to avoid
unauthorized access.
An advanced security measure can be implemented by means of modern
biometric technologies. Much of the hot discussion about biometrics has come
242
about the level of research and interest was drawn to large-scale implementations
of the technology by Governments [4]. They may provide added robustness in
access and control to high security facilities within higher education. Since the
unit price for biometric devices continues to fall it is possible to employ them to
replace the normal systems used for workstation and network access [13].
1.1 The problem at hands
The main problem on online assessments is how to know ‚who’s there?‛ . In this
paper, we propose the use of biometrics, particularly the use of fingerprint
recognition on real time to authenticate students into the assessment system, and
web cam monitoring during online assessments to deal with the well-known
problem of: who is taking the exam? The contribution of this paper is the use of
biometrics on online assessments as a new approach for remote identification on
real time, we realized several proposals considers this problem, however none
documented implementations of such technologies has been tested with flesh and
bone students. Some of these proposals reflect separated point of views of IT,
educational professionals with different perspectives. However in general such a
problem can be solved by efforts of multidisciplinary team works jointed with
mathematical professors, psychologists, statistics professionals and IT
consultants.
2 Methodology
Sample. For our experiment, we selected a random sample of students (n=54)
from the José María Morelos y Pavón High School, located in Temixco, Morelos,
México. A school located in urban area located near capital city of Cuernavaca,
Morelos. Total population of school is 642 students. The students profile was: 15
to 17 years old, socio-economic level C-, D (low middle class-, upper low class)
89% owns a computer, 65% of their parents complete elementary school studies
only, and just 56% of those are married.
Tests design. Professors of this school designed the tests (from August 5th and
6th 2007); one of such a test was implemented for the discussed online
assessment with the use of our authoring tools. The tests consisted of 30
questions with similar complexity level; we evaluated the mathematics basic
knowledge, specifically: arithmetic, algebra, geometry, statistics, probability and
trigonometry.
Type of task. Typical task is to select one of six answers to proposed question.
i.e. which value of X makes true the next equation 7X-9 = 3X+1?
243
a) 12
b) 8
c) 2.5
d) 5 e) 3.2
f) -5
We carried out two evaluations, a normal evaluation (paper and pencil), and a
computer assessment with our online system equipped with biometric
recognition.
Setting up. Computers were prepared with our online client software installed;
biometric devices and network connectivity was attached.
The traditional test. The paper-and-pencil test was conducted on August 14th.
2007.
Enrollment. Students were enrolled into the system by taking their left-hand
index fingerprint on August 15th 2007. We verified that the students were
identified clearly by the recognition system after their enrollment.
Online assessment with biometric recognition test. Was conducted on the
Computers Network Laboratory located at the High School facilities from August
16th to August 17th 2007, each computer used in the experiment had attached a
Microsoft Fingerprint Reader, a web cam, a broad band connection to our server
as well as our proprietary client system. Students were instructed in how to use
the system, we explained them that a web cam was monitoring their activities,
later students authenticated by means of their fingerprint into our Server. After
that the computerized assessment started. The use of calculator and cellular
phones was avoided.
Statistical Analysis. After termination of assessment, obtained data were
processed using standard statistical tools with the use of Ccount gnu free
software.
3 The Online Testing System with Biometric Recognition
Virtual proctoring involves using biometric technology to monitor students at
remote locations. For virtual proctoring, is recommended using a layered
approach depending on critical maturity of the test. With high stakes tests, video
monitoring and a biometric measure such as iris scanning may be used. For
medium stakes tests, a single biometrics measure may be acceptable [3]. Despite
most of online assessments are located in the middle of both definitions; we
consider the fact of high levels of cheating in remote assessments. In one hand,
fingerprint recognition is a single biometric measure, the cheapest, fastest, most
convenient and most reliable way to identify someone. And the tendency, due to
scale, easiness and the existing foundation, is that the use of fingerprint will only
244
increase [8]. Cars, cell phones, PDAs, personal computers and dozens of products
and devices are using fingerprint recognition more and more [5].
One current trend is to incorporate fingerprint scanners into personal computers,
laptops, and mice. In addition, computer networks and large databases can be
secured using fingerprint technology. This is a hot topic of discussion since the
phenomenon of the Internet and the development of Intranets has spawned new
digital technologies such as E-commerce and on-line services [7]. Besides, users
are more willing to use fingerprint recognition than iris recognition [1], they
believe is more secure for health. Unfortunately, fingerprint recognition is used
just to authenticate into systems, but then what? The student is free to use any
media to commit cheat, to avoid that situation we considered the possibility to
use web cams. Web cams are inexpensive and most of students are used to deal
with them, they form part of their common tools to work and chat. Is for sure that
some students will reject the possibility to be monitored, percentages vary from
country to country, but is our intention to measure this figure as a part of our
research. Based on above exposed, we propose the use the mix of video
monitoring, by means of web cams, and fingerprint recognition to provide a
secure online assessment environment.
3.1 Technical requirements
3.1.1. The Server Side. Keep information of biometrics measures (fingerprints)
and associated student information in database; Scanning of fingerprints
(enrollment of students); Provide a recognition tool to determine validity of
fingerprint and grant authorization to online assessment; Monitor remote
students by means of web cams located in remote locations. Support the online
assessments process; Provide security mechanisms to ensure confidentiality and
validity of data: Encryption of data transmitted and received, and generation of
log files.
3.1.2 The Client Side. Scanning of fingerprints; Enrollment of students (optional);
Avoid the unauthorized access to online assessment; Show the diagnosis of
security. Provide capacity of students' monitoring using web cams during
assessment process; Provide mechanisms for client setup, students’
authentication (using fingerprint), and evaluation preferences; Support the
evaluation process and show final results of evaluation.
3.2 Performance Schema
We separated the application in two main modules: the first one is on charge of
the online assessment conduction, and the second one on charge of the
245
fingerprint recognition and web cam monitoring on real time. Server must be in
listening mode waiting for Clients that requires a service. In order to use
fingerprint recognition, the first step is to enroll students –top, right side in
Figure 1-, the students fingerprint is saved and indexed in the Features Database,
we highly recommend to separate this from the Assessment System Database,
using even separated servers, to improve system overall performance. In the
features database is assigned the Student Personnel ID that is used to link the
students’ personnel information with fingerprint image.
Fig. 1. Fingerprint recognition on real time.
If the Sever is on listening mode and the student has been enrolled, the
assessment process can start. The student enters to the online assessment
application, and when system requires the user and password, his or her uses the
Mouse Id –superior right side of Figure 1- to scan his/her fingerprint.
The fingerprint is verified in the Features Database, and if it is recognized as a
valid, then the Server authorizes access to the online assessment application, else
an error message is sent to the Client to try again. In other hand, if the student’s
fingerprint is valid, the user is authenticated into system, the evaluation process
starts and web cam transmission is initialized at Client Side to conduct real time
monitoring by means of multitasking. If someone else tries to get the control of
the computer during the online assessment, the evaluation process is finished
prematurely, and results are sent to server side to be processed as they are. To
the contrary, the evaluation process is finished successfully, the assessment is
processed at Server Side, and the final results of evaluation and security status
are shown at Client Side.
246
To measure the security level provided by the fingerprint recognition system at
the stage of authorization we used two ratios:
- False Acceptance Rate (FAR). is defined as the ratio of impostors that were
falsely accepted (IFA) over the total number of impostors tested (TNIT) described
as a percentage. This indicates the likelihood that an impostor may be falsely
accepted and must be minimized in high-security applications.
FAR = IFA / TNIT
(1)
- False Reject Rate (FRR). is defined as the ratio of clients that are falsely rejected
(CFR) to the total number of clients tested (TNCT) described as a percentage. This
indicates the probability that a valid user may be rejected by the system.
FFRR = CFR / TNCT
(2)
On fingerprint recognition the speed and storage requirements acquired
relevancy, specifically the time required to enroll, verify or identify a person is of
critical importance to the acceptance and applicability of the system [13]. Below
we listed the specifications of the selected hardware and software.
3.3 Implementation.
We separated the application in two main modules: the first one is on charge of
the online assessment conduction
3.3.1. Hardware.
- Client System Requirements (minimal). Pentium class (i386) processor (200
MHz or above) with 128Mb or higher, 100Mb disk space.
- Fingerprint mouse. 250 DPI (Digits per Inch) or higher, 500 DPI is
recommended.
- Broadband Internet. Minimum 128 Kbps, recommended 256 Kbps.
3.3.2. Software.
- Biometrics SDK. Griaule GrFinger SDK 4.2 [5] allows you to integrate
biometrics in a wide variety of applications. Provides Support for dozens of
programming languages –including Java- and integration with several Database
Management Systems. Besides, provides multiple fingerprint reader support, and
even after application development or deployment, makes you able to change the
fingerprint reader you’re using, without modifying your code.
247
- Fingerprint template size. 900 bytes average.
- Programming language. Java. due the online assessment software tool was
developed using this technology.
- JMF Java Media Framework. To allow transmission of video and/or
photographs over the Internet.
- Web Server. Apache 2.0. Database Management System. MySQL.
- Operating System. Windows 98, and Windows NT. Windows 2000, Windows
XP and 2003.
(a)
(b)
Fig. 2. The Server Application (a) supporting fingerprint recognition in Clientside (b) to authenticate students in online assessments.
In Fig. 2, the left section (a) shows the Server Side and the users connected,
specifying remote IP address, date and connection time. The right section (b) the
client-side, here the user enters to the client application, setup the client and
establish connection with server on a specific port and host, once the server and
the client have established connection, the student authenticates into server by
means of fingerprint using the fingerprint reader, the student can see graphically
displayed her/his fingerprint, if the fingerprint is found at server side, the
interface automatically fills the user and password fields and allows the student
to continue with subject selection to be assessed, and later with the assessment
process.
248
Fig.3. Web cam monitoring while online assessment is in progress.
In Fig. 3, the online assessment interface is shown, the questions and respective
answers are randomly sorted, questions have a limited time to be answered, if a
question can not be answered on assigned time, test will continue with the next
question automatically. Student must select an answer by giving double click or
by selecting one of the available answers and then giving a click on the enter
button. As soon as the assessment starts, web cam monitoring sends information
to server side to know who is in control of the computer. The biometric
information is verified at server side and if an identity error occurs the test is
interrupted and the assessment is processed as it is. Else assessment continues
normally operation. At the end of the assessment, the grade, the protocol of the
assessment and the security report is shown at client side.
3.3.3. Accumulation and analysis of information. The biometric information and
the responses of students were stored in a MySQL Database Version 5.0. We
selected this software, because is a powerful free software that can be
downloaded from the internet for academic purposes, and is strong enough to
support hundreds of online transactions –in our case online assessmentssimultaneously, besides provides security mechanisms that makes applications
work secure. We recommend obtaining a commercial license of this software, if is
required managing thousands of simultaneous transactions, or for commercial
applications.
Quality of analysis depends on how well structured was the database, for this
purpose, we identify the whole relevant entities: Students, Students' Perception,
Results of evaluation, history log, Careers, Subjects, Topics, Students perception,
Subject environment and Professor, and we implemented these on a MySQL
database Schema.
249
4 Results and
Discussion
Considering the number of students enrolled (n=54) on this test with obtain a
FAR of 99.99% and a FRR of 97.09%, only one student could not be recognized
despite several trials, although we try to enroll her using different fingers of her
left hand we could not, she has tiny long fingers and the enrollment results were
always the same. Her fingerprint template is unintelligible to the fingerprint
recognition system, her fingerprints seems like stains. Something related has been
documented in [9], Asiatic persons has similar problems to be identified by
fingerprint readers. We faced this problem by providing to this student an user
and a strong (mix of capital letters, lower letters and numbers) password.
Our results showed that students were affected by the online environment, they
obtained lower grades online versus grades on traditional tests. The average
grade in paper and pencil test was 3.8 meanwhile the online grade was 3.5, this
difference is explained due an small percentage of students must improve their
computer skills, we noticed that video games and chat could improve skills of
students as well as general performance in online assessments. Students
perceived our system as faster, easy to use; fingerprint recognition played an
important role in this perception. However, they disliked time limited questions,
and 13% disliked web cam monitoring. When we asked them directly if they
disliked being monitoring, 33% answered this fact bothers them. They said
feeling under pressure, getting nervous and disliked being monitored or
watched.
A 20% of the students tested, noticed a way to commit cheat using a system like
ours, the identified ways were: turn the camera to some else, use a photo, use a
cheating list, and just one person thinks to dirt the fingerprint reader. We made
in-depth analysis and discovered that students with poor performance (low
grades) are willing to commit cheat. 78 % of the students would like the system
being implemented at their high school. We consider that the online assessment
system with biometric recognition was very well accepted, but must be adapted
to be more user friendly, to improve perception of students, process to enroll
users must be improved too. We believe that our results are quite interesting and
hot, despite in [14] is discussed the application of fingerprint readers and the use
of cameras in online assessments, there are not figures to analyze; as we
explained, we tested our system with flesh and bone students which is an
improvement regarding this previous work. State of the art systems like
Blackboard [2] provide some basic biometric recognition facilities (i.e. photo ids),
but they require that a human proctor verify the identity of students, the purpose
of our system is to perform this task automatically online.
250
5 Future work
We intend to improve the human-computer interface and assessment
methodology with the use of students’ comments and feedback. We want to test
the tool within different groups at different high schools and Universities.
Regarding of the biometric recognition, we intend to improve strongly the
quality of recognition.
6 Conclusions
Biometric recognition is a promising technology to solve the problem of who is
there? As it is shown in this report, this technology already is well accepted in
online assessments, but it still should be subject to improvement.
References
[1]
AIDC.
Automated
Identification
and
Data
Capture
Web
Site,
http://et.wcu.edu/aidc/
[2] Blackboard. Security, http://www.blackboard.com/us/index.aspx
[3] BSU. Ball State University. Technology assessment reports on: The use of
Biometrics in education. http://web.bsu.edu/dpmuller/biometrics/
*4+ Clarke, N. and Furnell, S. ‚Biometrics: The promise versus the practice‛.
Computer Fraud & Security 2005, Issue 9, September 12-16.
[5] Griaule. Biometrics FAQ, http://www.griaule.com/page/en-us/faq_biometrics
[6] Hernández-Aguilar J.A., Ochoa, A., Muñoz, J., and Burlak, G. ‚Detecting
cheats in online student assessments using Data Mining‛. Dmin06, Las Vegas
Nevada, USA 2006. June 26-29, pp. 204-210.
[7] ITEDU. Biometrics, http://et.wcu.edu/aidc/
*8+ Maltoni, D., Maio, D., Jain, A., and Prabhakar, S. ‚Handbook of Fingerprint
Recognition‛, Springer 2003.
[9]
Michigan
Org,
http://www.reachoutmichigan.org/funexperiments/agesubject/lessons/prints_ext.html
*10+ MSU Michigan State University, ‚Quizzes and Exams: Cheating on exams
and
Quizzes‛.
http://teachvu.vu.msu.edu/public/pedagogy/assessment/index.php?page_num=3 .
*11+ Neil, R. ‚Cheating in Online Student Assessment: Beyond Plagiarism‛.
Online Journal of Distance Learning Administration, Volume VII, Number II,
Summer 2004 State University of West Georgia, Distance Education Center.
251
*12+ Savvas, A. ‚Online assessments and biometrics used in new immigration
system‛. Computer Weekly Section IT Management Politics and Law.
3/14/2006, pp .10-10, 1/7p.
*13+ Wasniowski, R. ‚Using Data Fusion for biometric verification‛.
Transactions on Engineering, Computing and Technology APRIL 2005. pp. 7274.
*14+ Wisher, R. Curnow, C. and Belanich J. ‚Verifying the Learner in distance
learning‛. 18 Annual Conference on Distance Teaching and Learning 2005.
252
Relajación del Problema de Calendarización de
Trabajos en un Taller de Manufactura Utilizando
un Grafo Bipartita
Marco Antonio Cruz-Chávez, Alina Martínez-Oropeza, José Crispín Zavala-Díaz,
Martín G. Martínez-Rangel
Resumen. En este artículo se aborda el problema de calendarización de
máquinas en un taller de manufactura. Se establecen las restricciones básicas y el
modelado por medio de un grafo disyuntivo. Con el modelo se mapea el
problema de máquinas en paralelo no relacionadas a través de un grafo bipartita.
Se hace un análisis de las restricciones de ambos problemas para llevar a cabo
una relajación del problema de manufactura. Al llevar a cabo la relajación del
problema de manufactura, se tiene que cualquier operación puede ser asignada a
cualquier máquina, además de que la restricción de precedencia entre par de
operaciones deja de aplicarse. La aplicación del modelo de grafo bipartita
aproximado se muestra como un nuevo modelo alternativo para representar el
problema de máquinas en un taller de manufactura, pudiendo ser éste una
opción para trabajar con este tipo de problemas en lugar de utilizar el modelo de
grafo disyuntivo.
Palabras clave: problema de máquinas paralelas no relacionadas, grafo
disyuntivo, grafo bipartita, problema de calendarización de trabajos en talleres
de manufactura, relajación.
Sumario:
1. Introducción 2. Definición del JSSP 3. Restricciones 4. Modelo de grafo
disyuntivo 5. Modelo de grafo bipartita 6. Relajación del JSSP 7. Conclusiones 8.
Trabajos futuros Referencias.
1 Introducción
El problema de calendarización de trabajos en un taller de manufactura mejor
conocido por su acrónimo en inglés, JSSP (Job Shop Scheduling Problem), está
considerado como uno de los de mayor relevancia en el área de manufactura y
optimización, ya que la administración, así como el manejo eficiente de los
253
recursos, es de vital importancia en las empresas. Debido a su complejidad, el
JSSP ha sido uno de los problemas más estudiados durante las últimas cuatro
décadas; por este motivo, ha obtenido más avances en el área de la
calendarización y sirve como referencia para comparar las técnicas empleadas en
diversos problemas clasificados como difíciles, como el del agente viajero, entre
otros. Además de estar clasificado en la Teoría de la Complejidad como un NPDuro,1 también se le conoce como uno de los más difíciles de resolver en ésta
clasificación. La clase NP-Completo puede definirse alternativamente como la
intersección entre un NP y un NP-Duro. Una característica del tipo NP-Duro es
que no se conoce un algoritmo determinístico que resuelva en tiempo
polinominal problemas de esa clasificación, 23 por lo que muchos investigadores
han tradtado de resolverlos empleando métodos de optimización diversos, como
los siguientes:
Branch and Bound,11 algoritmos genéticos,12 recocido simulado,13 colonia de
hormigas,3 entre otros. Algunos de estos algoritmos han sido diseñados
específicamente para resolver ciertas instancias del problema.
Varios enfoques para resolver el JSSP han sido propuestos usando diversos
modelos. Los modelos más utilizados son los grafos disyuntivos, 14 la satisfacción
de restricciones15 y la programación lineal entera.14 Instancias pequeñas,
medianas y grandes del JSSP modeladas con el grafo disyuntivo se resuelven o
encuentran soluciones aproximadas al óptimo global por medio de
metaheurísticas, las cuales aplican métodos de búsqueda local. Instancias
pequeñas del JSSP modeladas con programación lineal entera se resuelven con
algoritmos exactos. Los métodos de búsqueda de tipo heurísticos llegan a ser
muy rápidos para encontrar una solución factible para una instancia del JSSP,
pero desafortunadamente no existe prueba de optimalidad de que la solución
encontrada sea la óptima. Sin embargo, los métodos de búsqueda proporcionan
un punto de arranque. Los métodos basados en satisfactibilidad, 9,15,17 y reglas de
prioridad20 son algunos ejemplos de métodos de búsqueda. El método de cuello
de botella18,19 es un tipo especial de búsqueda que tiene mejor rendimiento que
muchos otros, pero solamente en instancias pequeñas. En general, las soluciones
de programación lineal entera, mejor conocida por su acrónimo en inglés, ILP
(Integer Linear Programming), y los paquetes de diagramas binarios de decisión,
mejor conocidos por su acrónimo en inglés, BDD (Binary Decisión Diagram),10 son
utilizados para obtener soluciones exactas para muchos problemas de
automatización. El de la calendarización, en cambio, ha sido encaminado por los
investigadores enfocándose en cualquiera de estos métodos. Las formulaciones
basadas en la ILP son más populares para la calendarización, aunque los
calendarizadores basados en los BDD ofrecen también soluciones atractivas. Una
deficiencia de las soluciones basadas en los BDD es que el tamaño del diagrama
binario de decisión llega a ser muy grande para instancias grandes del
254
problema.21 La mayoría de estos métodos requiere una solución inicial factible al
comienzo del proceso.9
El alcance de la investigación es desarrollar un algoritmo con el enfoque de
colonia de hormigas (ACO), el cual se encuentre paralelizado por medio del paso
de mensajes, utilizando lenguaje C y la librería de paso de mensajes MPI, para, de
esta forma, ser implantado en una estructura de clúster. El algoritmo propuesto
resolverá el problema relajado de calendarización en un taller de manufactura. Se
comprobará entonces su eficiencia y eficacia por medio de problemas de prueba
generados de manera aleatoria. Estos benchmarks permitirán probar el
rendimiento del algoritmo, el cual será comparado con algoritmos de búsqueda
local que ya han sido probados, como lo es el de recocido simulado, y un
algoritmo exacto, como el Simplex.
Las pruebas a realizar se harán de acuerdo con lo que propone el área de
estadística, para su evaluación y análisis completos. Es decir, serán utilizados los
mismos problemas (benchmarks) para probar los tres algoritmos a los que nos
hemos estado refiriendo y, de esta forma, calcular su eficiencia, eficacia y error
relativo, comparando estos resultados directamente con los de los otros dos
algoritmos.
La alternativa para representar el JSSP utilizando un grafo bipartita, el cual
puede ser resuelto como un problema de tipo P al relajar el problema, da una
posibilidad muy atractiva para probar algoritmos exactos y de tipo
metaheurístico aplicados en la literatura a la solución del grafo bipartita22 y para
evaluar su eficiencia y eficacia en el JSSP. El reto de encontrar rápidamente una
solución factible es mapear una instancia del JSSP como un problema de
máquinas en paralelo no relacionadas, donde se relajan las restricciones del
problema para representarlo por medio de un grafo bipartita.
En las siguientes secciones del artículo se aborda la definición del JSSP,
explicando la definición general del problema, su objetivo y sus restricciones
básicas; el modelo del JSSP, explicándolo por medio de un grafo disyuntivo y
dando una solución para una instancia de 3 x 3; la definición del grafo bipartita y
sus características, además, en esta sección se lleva a cabo una representación de
la instancia utilizada para el JSSP por medio de un grafo tipo bipartita; luego se
explica como se llevó a cabo la relajación del problema para representarlo por
medio de un grafo bipartita y, por último, se mencionan las conclusiones del
artículo así como los trabajos futuros.
2 Definición del JSSP
El problema se define como conjuntos de máquinas y trabajos, donde cada
trabajo cuenta con cierto número de operaciones que deben ser procesadas
255
durante determinado tiempo en determinada máquina sin interrupciones. Cada
máquina puede procesar únicamente una operación en un instante de tiempo. De
manera que se puede definir el problema clásico del JSSP como un conjunto finito
J de n trabajos {Jj} 1 ≤ j ≤ n, los cuales deben ser procesados en un conjunto finito M
de m máquinas {Mk} 1 ≤ k ≤ m. Cada trabajo es visto como una secuencia de
máquinas en las cuales puede ser procesado. El procesamiento de un trabajo Jj en
una máquina Mk se conoce como Ojk. La operación Ojk requiere el uso exclusivo
de una máquina Mk, donde el tiempo de procesamiento de cada operación no
permite interrupciones y es conocido como tjk.3 A continuación, se presenta una
solución al problema para una instancia de 3 x 3 (véase el cuadro 1). El conjunto
de soluciones para este problema está dado por (n!)m, es decir para un problema
de 3 x 3 tendríamos 216 posibles soluciones, de las cuales, no todas son soluciones
factibles, debido a que algunas de ellas violan restricciones de precendencia.
Cuadro 1. Instancia de un problema de JSSP con tres máquinas y tres trabajos
con tres operaciones cada uno.
Operaciones
Trabajos
1
2
3
Máquinas (tiempo
de procesamiento)
1
2
3
1(1)
2(2)
3(1)
1(3)
3(1)
2(3)
2(2)
1(2)
3(3)
La solución propuesta a este problema con los datos de entrada del cuadro 1
puede ser representada por medio de una gráfica de Gantt (ver figura 1), donde
se representa tanto la calendarización de las operaciones como las unidades de
tiempo que se consumen para procesarlas (makespan). Una característica
importante del JSSP es que la máquina que comienza, no necesariamente empieza
con el primer trabajo, sino que cualquier máquina puede empezar o terminar, ya
que el orden de procesamiento de los trabajos en las máquinas es una restricción
del problema.6
256
Fig. 1. Una de las 216 posibles soluciones para un problema de tres máquinas y
tres trabajos.
3 Restricciones
Para llevar a cabo la calendarización de trabajos en un taller de manufactura, es
necesario definir ciertas restricciones, porque éstas aseguran la integridad de las
operaciones y la eficiencia del proceso. A continuación, se enumeran las
restricciones consideradas para este problema.
 Una máquina puede procesar sólo un trabajo en un instante de tiempo.
 Un trabajo no debe procesarse en una misma máquina dos veces.
 No existen restricciones entre operaciones de trabajos diferentes.
 Una vez que una operación es asignada, no puede ser interrumpida.
 Un trabajo consiste en i número de operaciones.
 Existe una restricción de precedencia entre las operaciones de un mismo
trabajo, lo cual, al igual que los tiempos de procesamiento, son datos
conocidos.
 Existe una restricción de capacidad de recursos, la cual es conocida como
la secuencia de operaciones en una máquina, y son datos conocidos.
 Las operaciones de los trabajos tienen la misma prioridad.
 No se especifican fechas de liberación ni de vencimiento.
La calendarización de trabajos factible puede obtenerse permutando el orden de
las operaciones en las máquinas, cuidando de no violar las restricciones
anteriormente especificadas.6
257
4 Modelo de grafo disyuntivo
El problema del JSSP, puede ser descrito por un grafo disyuntivo
,
donde V es el conjunto de operaciones de los trabajos junto con dos nodos
especiales: fuente y destino, los cuales indican el inicio y fin de la calendarización.
C es el conjunto de arcos conjuntivos que representan la secuencia de las
operaciones (restricción de precedencia). D consiste en el conjunto de arcos
disyuntivos (cliqués) que representan el conjunto de operaciones que deben ser
procesadas en la misma máquina.2 El tiempo de procesamiento para cada
operación se encuentra definido, además de que el tiempo de procesamiento del
último trabajo (Cmax) depende directamente de la secuencia de operaciones en
cada máquina. A continuación se muestra la representación de una instancia del
JSSP de 3 x 3 por medio de un grafo disyuntivo (véanse la figura 2 y el cuadro 1).
Fig. 2. Representación de un problema de 3 x 3 por medio de un grafo disyuntivo.
Un arco disyuntivo puede estar orientado por cualquiera de sus dos extremos. Al
momento de llevar a cabo la calendarización, se fija la orientación de los arcos
disyuntivos; de esta forma, se obtiene la secuencia de operaciones que serán
procesadas en cada máquina. Una vez que se obtiene la secuencia de operaciones,
los arcos disyuntivos cambian a arcos conjuntivos (véase la figura 3).
La calendarización de las operaciones, como se mencionó anteriormente, se
puede representar por medio de una gráfica de Gantt. Para esta solución,
tenemos la calendarización final en la figura 1.
258
Fig.3. Una solución para el problema JSSP con tres trabajos en tres máquinas,
donde se encuentra definida por arcos conjuntivos la secuencia de operaciones en
cada máquina, respetando las restricciones de precedencia y de capacidad de
recursos.
5 Modelo de grafo bipartita
Un grafo bipartita es un grafo no dirigido que tiene la característica de que su
conjunto de vértices V puede ser dividido en dos subconjuntos disjuntos
, de tal forma que cada arco conecta un vértice de cada
subconjunto, es decir, un arco conecta un elemento del subconjunto V1 y uno del
V2, tomando en cuenta que no deben existir adyacencias entre elementos de un
mismo subconjunto.5 A continuación, se enumeran las características básicas de
un grafo bipartita. Los subconjuntos V1 y V2 son disjuntos y no vacíos.
Cada arista de A une un vértice de V1 con uno de V2.
No existen aristas uniendo dos elementos de V1; análogamente para V2.
Tomando en cuenta estas características, se representó el problema del JSSP por
medio de un grafo tipo bipartita (véase la figura 4). Esto fue así debido a que ya
existen algoritmos de programación lineal que resuelven grafos bipartitas, como
es el caso del método Simplex.
Fig. 4. Representación del problema JSSP por medio de un grafo bipartita.
259
De acuerdo con esta representación (véase la figura 4), se dice que es un grafo
tipo bipartita, debido a la restricción de precedencia que prevalece representada
entre las operaciones de cada trabajo. Una vez que se tiene esta representación, es
necesario relajar las restricciones del problema para representarlo como un grafo
bipartita auténtico y de esta forma tratar de resolverlo por medio de algoritmos
de programación lineal.
6 Relajación del JSSP
Para llevar a cabo la relajación del JSSP, fueron analizadas cada una de las
restricciones, llegando a la conclusión de que algunas de las restricciones básicas
del problema pueden ser tomadas de forma implícita, es decir, que no
necesariamente tienen que estar representadas gráficamente en el grafo, por lo
tanto, en general, la representación del grafo bipartita para esta instancia del JSSP
queda de la siguiente manera (véase la figura 5).
Fig. 5. Representación del JSSP relajado por medio de un grafo bipartita para una
instancia de 3 x 3.
Tomando en cuenta esta representación, donde se llevó a cabo la relajación del
problema, obtenemos un mapeo del problema de máquinas en paralelo no
relacionadas (UPM). De acuerdo con la literatura, el problema de las UPM puede
ser definido como el conjunto de n trabajos independientes que necesitan ser
calendarizados en m máquinas en paralelo no relacionadas, de tal manera que se
cumpla la función objetivo: minimizar el tiempo total de completación de todos
los trabajos. Para ello, se debe considerar que una máquina no puede procesar
más de un trabajo a la vez y los trabajos no pueden ser interrumpidos una vez
que han sido asignados.
La diferencia entre el problema de las UPM y el del JSSP radica en que un trabajo
puede ser procesado en cualquier máquina debido a que las máquinas en las que
los trabajos serán procesados son multipropósito. El tiempo de procesamiento Pij
de un trabajo j en una máquina i se encuentra en función del trabajo a procesar y
de la máquina al que fue asignado. Ésta es una característica fundamental del
260
problema, ya que al ser máquinas no relacionadas, el tiempo de procesamiento de
un mismo trabajo varía de una máquina a otra, debido a que sus recursos y
capacidades suelen ser diferentes.
De acuerdo con esta definición, para la instancia utilizada para el JSSP,
tendríamos un grafo bipartita no dirigido (véase la figura 6), donde cada trabajo
podría ser procesado en cualquier máquina, por lo que de esta forma relajaríamos
la restricción de precedencia y tendríamos representada de manera gráfica
únicamente la restricción de la capacidad de recursos.
Fig. 6. Grafo bipartita no dirigido para una instancia de 3 x 3 para el problema de
máquinas en paralelo no relacionadas.
En el grafo bipartita mostrado anteriormente, se utiliza kPij para identificar
dónde se va a procesar cada trabajo. Donde k es la posición en la máquina i
donde se va procesar el trabajo j.
Por lo tanto, para el caso de un grafo no dirigido, tenemos que un trabajo puede
ser asignado a cualquier máquina en cualquier posición. Para representar la
solución utilizada para el JSSP como grafo bipartita, es necesario pasar del grafo
no dirigido como el que se muestra en la figura 6, a un grafo dirigido, es decir,
asignar cada trabajo a una máquina en una posición, tomando en cuenta tanto las
restricciones del problema como las características del grafo bipartita, por lo que
la representación de la solución quedaría de la siguiente manera (véase la figura
7).
261
Fig. 7. Grafo bipartita dirigido, donde para una instancia de 3 x 3, cada trabajo
será asignado a una máquina en k posición, de esta forma se evita la sobrecarga o
máquinas ociosas.
Tomando esta solución para la instancia que aquí hemos propuesto, tendríamos,
de acuerdo con los tiempos de procesamiento establecidos en el cuadro 1, una
calendarización que, como ya se mencionó, se representa por medio de una
gráfica de Gantt (véase la figura 8).
Fig. 8. Calendarización de una instancia de 3 x 3 para el problema de máquinas
en paralelo no relacionadas.
7 Conclusiones
Uno de los problemas más estudiados en el área de la optimización es el de la
calendarización de trabajos en un taller de manufactura (JSSP), el cual ha atraído
la atención de un sinnúmero de investigadores alrededor del mundo debido a su
dificultad y su clasificación como problema intratable. En los últimos años se ha
puesto especial interés en la utilización de algoritmos híbridos y heurísticos para
tratar de resolver este problema.
Se han utilizado diversos modelos para la representación del problema, como,
por ejemplo, el de grafos disyuntivos. En este artículo se realizó una relajación
262
del JSSP, con lo que se consiguió un mapeo del problema de máquinas en
paralelo no relacionadas y con ello un modelado por medio de un grafo bipartita.
8 Trabajos futuros
4
Desarrollar un algoritmo capaz de resolver el grafo bipartita sin
relajación del JSSP.
5
Comparar los resultados del algoritmo antes mencionado con un
algoritmo de grafos disyuntivos y uno de programación lineal.
Referencias
1. Garey R., M., D. S. Johnson y R. Seit, ‚The Complexity of Flor Shop and
Job Shop Scheduling‛, Mathematics of Operation Research, vol. 1, núm. 2. 1976,
pp. 117-129.
2. Takeshi, Y. y N. Ryohei, ‚Genetic Algorithms for Job-Shop Scheduling
Problems‛, Proceedings of Modern Heuristic for Decision Support, UNICOM
Seminar, Londres, 1997, pp. 67-81.
3. Martínez-Rangel, M., Una revisión del problema de calendarizar las tareas en
un taller de trabajo (Job Shop Scheduling Problem) mediante el Modelo de grafos
disyuntivo y el modelo de programación entera mixta, en Internet
(www.uaem.mx/posgrado/mcruz/surveymartin.pdf).
4. Díaz-Pérez, A., Análisis y complejidad de algoritmos, complejidad
computacional,
en
Internet
(http://delta.cs.cinvestav.mx/
~adiaz/anadis/Complexity2k5.pdf), pp. 11.
5. Rosen, K. H., Discrete Mathematics and its Applications, MacGraw Hill, pp.
549.
6. Cortés Rivera, D., Un Sistema inmune artificial para resolver el problema de
Job Shop Scheduling, tesis de maestría en Ciencias con especialidad en
Tecnología eléctrica y opción en Computación, CINVESTAV, marzo de 2004.
7. Morikawa, K., Furuhashi, T. y Y. Uchikawa, ‚Single Populated GA and
its Application to Job Shop Scheduling‛, en Proceedings of the 1992 International
Conference on Industrial Electronics, Control, Instrumentation and Automation,
vols. 1-3, 1992, pp. 1014-1019.
8. Peña, V. y L. Zumelzu, Estado del arte del Job Shop Scheduling Problem,
en Internet (http://www.alumnos.inf.utfsm.cl/~ vpena/ramos/ili295/iajobshop.pdf), 2006.
9. Frausto-Solís, J. y M. A. Cruz-Chávez, ‚A Reduced Codification for the
Logical Representation of Job Shop Scheduling Problems‛, Lecture Notes in
263
Computer Science, vol. 3046, núm. 4, Springer-Verlag, Heidelberg, 2004, pp.
553-562.
10. Ogrenci-Memik, S. y F. Fallah, ‚Accelerated SAT-Based Scheduling of
Control-Data Flow Graphs Computer Design: VLSI in Computers and
Processors‛, Proceedings of IEEE, 16 al 18 de septiembre de 2002, pp. 395-400.
11. Carlier, J. y E. Pinson, ‚An Algorithm for Solving the Job-Shop Problem‛,
Management Sciences, vol. 35, núm. 2, 1989, pp. 164-176.
12. Zalzala, P. y J. Flemming, Genetic Algorithms in Engineering Systems, AMS
Institute of Electrical Engineers, 1997.
13. Yamada, T. y R. Nakano, ‚Job-Shop Scheduling by Simulated Annealing
Combined with Deterministic Local Search‛, en Metaheuristics Intelligence
Conference, Colorado, Estados Unidos, 1995, pp. 344-349.
14. Conway, R. W., W. L. Maxwell y L. W. Miller, Theory of Scheduling,
Addison-Wesley, Reading, Massachusetts, 1967.
15. Smith, S. F. y C. C. Cheng, ‚Slack-Based Heuristics for Constraint
Satisfaction Scheduling‛, en Proceedings of the XI National Conference on
Artificial Intelligence, Washington, D.C., 1993, pp. 139-145.
16. Cruz-Chávez, M. A. y A. Rivera-López, ‚A Local Search Algorithm for a
SAT Representation of Scheduling Problems‛, Lecture Notes in Computer
Science, vol. 4707, núm. 3, Springer-Verlag, Heidelberg, 2007, pp. 697-709.
17. Crawford, J. M. y A. B. Baker, ‚Experimental Results on the Application
of Satisfiability Algorithms to Scheduling Problems‛, en Proceedings of the XII
National Conference on Artificial Intelligence, Austin, Texas, 1994, pp. 1092-1098.
18. Adams, E., E. Balas y D. Zawack, ‚The shifting Bottleneck Procedure for
Job Shop Scheduling‛, Management Science, vol. 34, núm. 3, 1988, pp. 391-401.
19. Schutten, M. J., Practical Job Shop Scheduling, Annals of Operations
Research, vol. 83, 1988, pp. 161-177.
20. Yoshida, T. y H. Touzaki, A Study on Association amount Dispatching Rules
in Manufacturing Scheduling Problems, IEEE, 1999.
21. Rune-Jensen, A., L. Bech Lauritzen y O. Laursen, Optimal Task Graph
Scheduling
with
Binary
Decision
Diagrams,
en
Inernet
(http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.84.1116&rep=rep1
&type=pdf), 2004.
22. Cruz-Chávez, M. A., F. Juárez-Pérez, E. Y. Ávila-Melgar y A. MartínezOropeza, ‚Simulated Annealing Algorithm for the Weighted Unrelated
Parallel Machines Problem, Electronics, Robotics and Automotive Mechanics
Conference, CERMA 2009‛, IEEE-Computer Society, México, 22 al 25 de
septiembre de 2009 (en prensa).
23. Pinedo, M., Scheduling. Theory, Algorithms, and Systems, 3a. ed., Springer
Science-Business Media, Nueva York.
264
Capítulo III. Electrónica y
Métodos Computacionales
265
266
Diseño e Implementación de un Sistema Digital
que Obtenga la Máxima Potencia Generada por
un Haz Láser
E. Antúnez-Cerón, A. Zamudio-Lara, P. A. Márquez-Aguilar
Resumen. En el presente artículo mostraremos el diseño y la puesta en marcha de
un sistema digital cuya función principal esta enfocada a encontrar el punto de
máxima potencia luminosa generada por un haz láser. Para la implementación
del sistema digital se utilizó un circuito microcontrolador de la familia microchip,
un sensor de detección de intensidad y un sistema de desplazamiento XY.
Palabras clave: microcontrolador, haz láser, potencia.
Sumario:
1. Introducción 2. Desarrollo 2.1. Función de escaneo sobre el eje
correspondiente 3. Resultados 4. Conclusiones 5. Trabajo futuro. Referencias
1 Introducción
Existen muchas fuentes de luz, desde las que se manifiestan de forma natural o
por medios físicos hasta las provocadas por reacciones químicas. La fuente de luz
natural más antigua, que afecta de una u otra forma a los seres vivos y las
plantas, es el Sol. Le sigue el fuego, producido por reacciones químicas que tienen
lugar durante la combustión. Durante miles de años el Sol y el fuego fueron los
únicos elementos que utilizó el hombre para alumbrarse, hasta que, a finales del
siglo XIX, Thomas A. Edison desarrolló y comercializó en los Estados Unidos de
América la bombilla eléctrica incandescente como fuente de luz artificial. A partir
de ese momento histórico se comenzaron a crear otras fuentes artificiales de
iluminación. Entre otras fuentes de luz artificial, se encuentra también el rayo
láser, el cual, aunque no se utiliza en alumbrado, da un haz de luz coherente y de
alta energía cuyas aplicaciones son muchas. Hoy en día, los láseres ocupan una
de las áreas más destacadas de la investigación científica aplicada. La medición
de la potencia luminosa emitida por las diversas fuentes de luz artificiales es de
suma importancia en algunos experimentos. En algunas de estas fuentes la
267
potencia luminosa cambia de forma aleatoria debido a diversas causas de tipo
físico o de construcción tecnológica. Una forma de obtener información sobre los
cambios en la potencia de una fuente luminosa es mediante la lectura continua de
sus medidas de intensidad. Por eso, hacer las lecturas automáticas de las medidas
de potencia luminosa en intervalos de tiempo muy cortos, como, por ejemplo, del
orden de unos segundos, o al contrario, de varias horas, es de gran utilidad. 1 La
técnica manual para la detección de la máxima potencia luminosa resulta
complicada y poco confiable; además, otros factores señalan aún más
complicaciones en un proceso de esta naturaleza, como la poca estabilidad con la
que la persona que lo lleva a cabo sostiene el sensor de detección y la escasa
posibilidad de mantener o repetir la lectura de la máxima potencia más de una
vez durante el proceso.
Dada esta problemática, en este artículo se propone la construcción de un
mecanismo de desplazamiento, del orden de las décimas de micras y en dos ejes
espaciales (X, Y), para hacer la exploración y el sensado dentro del diámetro
transversal central de un haz láser, encontrando automáticamente el punto de
máxima potencia luminosa. La automatización es fundamental, por ello se
decidió diseñar e implementar un mecanismo automatizado que haga uso de
recursos tanto ópticos como electrónicos para la creación de un sistema de
autocontrol confiable, de mayor precisión, de bajo costo y con una gama de
aplicaciones amplia.
2 Desarrollo
En un modelo basado en bloques, para un sistema de lazo cerrado, el punto de
suma establece el valor que se va a comparar con el valor de la salida. El valor del
punto de suma puede ser constante o variable. La salida del sistema se
retroalimenta por medio de un instrumento de medición o un sensor con
funciones de retroalimentación. La señal retroalimentada se compara con el
punto de ajuste y la diferencia (error) activa el controlador, el cual, a su vez,
controla la etapa del proceso (véase la figura 1).
268
Fig. 1. Lazo cerrado.
En el modelo del sistema funcional basado en bloques que se muestra en la figura
2 se aplican estas técnicas, como se aprecia con detalle. Los dispositivos que
constituyen cada etapa y las acciones de cada uno de los elementos del circuito de
lazo cerrado se describen con claridad. Este modelo señala las etapas o funciones
que se llevan a cabo en cualquiera de los dos ejes de desplazamiento; es decir, en
el mecanismo de posicionamiento, el bloque anterior es idéntico en operación y
caracterización, tanto en X como en Y.
Fig. 2. Modelado del diagrama de bloques del sistema de posicionamiento
autocontrolable por la intensidad de un haz láser.
En la figura 2 se distingue la caracterización del sistema, desarrollado como un
sistema de lazo cerrado, donde el punto de comparación (ajuste) y la etapa de
adquisición de datos se llevan a cabo en el microcontrolador que gobierna el
sistema (unidad de control). Éste, a su vez, corrige el error que se provoca cuando
se realiza una comparación de datos (variable de entrada y salida). El resultado
269
de esa comparación de datos produce las señales de excitación para las bobinas
de los motores instalados en cada eje de desplazamiento (actuadores u objetos de
control), los cuales, mediante el tren de engranajes adaptado a cada uno de ellos,
hacen un desplazamiento fino en la dirección correspondiente. La
retroalimentación está a cargo del sensor de detección y el medidor de potencia
óptico. Este último proporciona medidas continuas de la intensidad de potencia
en el láser y esta medición es la señal de entrada para el sistema; cuando el
microcontrolador compara las medidas, determina si continúa el desplazamiento
en el eje respectivo hasta encontrar el máximo punto de intensidad durante el
proceso de escaneo; posteriormente, regresa a este máximo para colocarse en la
posición donde se ha registrado la máxima irradiación de luz láser. Una vez que
el sistema ha sido caracterizado como de control de lazo cerrado, tenemos a la
mano un sistema automático en el cual la intervención humana queda limitada
durante el proceso de medición de intensidad sobre el diámetro de un haz láser.
El programa desarrollado para esta aplicación consiste básicamente en tres
funciones principales, cada una de ellas describe el funcionamiento de cualquiera
de los dos ejes de desplazamiento. El diagrama de flujo del programa se muestra
en la figura 3, donde cada uno de los bloques que corresponden a las tres
funciones principales están delimitados por un rectángulo punteado de un color
distinto para cada una de las funciones. El diagrama de flujo muestra las
diferentes funciones que se realizan para cada uno de lo dos ejes de
desplazamiento; es decir, describe el funcionamiento del eje X y del eje Y. A
continuación, se describen con más detalle las tres funciones principales del
programa de control, las cuales se identifican en el diagrama de flujo de la figura
3.
270
Fig. 3. Función de desplazamiento hacia la posición de ‚origen‛.
La posición de ‚origen‛ sobre cada uno de los ejes hace referencia a la posición en
la que se encuentran ubicados los sensores de cada uno de los ejes con el mismo
nombre. Dicha posición se alcanza cuando el sensor de interrupción denominado
271
‚origen‛, en cualquiera de los ejes, es presionado por la proximidad de la guía
móvil del eje correspondiente —es decir, cambia de estado, de 1 a 0, de alto a
bajo. El motor que acciona a cada uno de los ejes es activado por las secuencias de
excitación que produce el microcontrolador, las cuales salen a través del puerto B
para dirigirse al controlador o driver del motor, y mecanizarlo con el giro en
dirección a la posición ‚origen‛ cuando el sensor presente un estado alto (1, sin
interrupción). Una vez alcanzada esta posición, se produce la interrupción del
sensor y éste cambia su estado a un nivel bajo (0), entonces el motor se detiene.
2.1 Función de escaneo sobre el eje correspondiente
Una vez que la guía móvil se encuentra en la posición ‚origen‛, est{ lista para
llevar a cabo el escaneo sobre la parte central del diámetro del haz láser. El
escaneo se realiza sobre todo el eje de barrido, en dirección al eje correspondiente
y hasta la posición ‚fin de escaneo‛; paralelamente, y mediante el uso del sensor
y del medidor de potencia óptica, la señal analógica es dirigida hacia la terminal
de entrada analógica correspondiente al canal 0 del microcontrolador. Ahí se
lleva a cabo la conversión de la señal analógica para ponerla en su formato digital
de 10 bits en los registros correspondientes del convertidor. El convertidor A/D
realiza la captura y conversión de la señal analógica de modo continuo, a la vez
que avanza sobre el eje hasta llegar al sensor ‚fin de escaneo‛ ubicado en el
extremo opuesto a la posición del sensor ‚origen‛. El desplazamiento se realiza
generando las señales de excitación para el motor correspondiente. Al mismo
tiempo que se realiza el escaneo, el microcontrolador guarda el mayor dato
capturado y lo compara con el dato de la siguiente medición, realizando este
proceso en toda la trayectoria del escaneo; al finalizar la operación, queda
almacenado el dato de mayor magnitud. Este dato es la lectura de mayor
intensidad registrada por el medidor de potencia en su formato digital —es decir,
los datos que maneja el microcontrolador—; consecuentemente, éste es el punto
de mayor intensidad registrado en todo el escaneo sobre el eje. Una vez que se
produce la interrupción del sensor “fin de escaneo” —esto quiere decir que se ha
llegado al extremo final del eje de desplazamiento—, el motor se detiene.
3 Resultados
Este proyecto tiene como objetivo principal el diseño y la puesta en marcha de un
sistema de posicionamiento automático controlado por la intensidad de la luz
láser, con el propósito de encontrar el punto de máxima intensidad en los
diámetros principales de la circunferencia de irradiación, la cual incide sobre el
obturador del sensor de potencia. El montaje del sistema de posicionamiento
272
controlado por la intensidad del láser y los diferentes dispositivos de los que hace
uso para su operación se muestran en la figura 4.
Fig. 4. Montaje del sistema de posicionamiento.
En la figura 4 se ve que el sistema está constituido por diferentes dispositivos, los
cuales, interconectados, ayudan a realizar la tarea principal del proyecto. En
términos generales, el sistema está compuesto por tres bloques de dispositivos
diferentes:



Dispositivos ópticos: láser, lente, sensor, medidor.
Dispositivo programable y electrónica.
Mecanismo de posicionamiento.
Las pruebas realizadas con el sistema de posicionamiento se llevaron a cabo bajo
la siguiente condición: la lente convergente (plano convexa) está colocada a 10
centímetros del dispositivo emisor láser y ésta debe alinearse apropiadamente a
la altura y ángulo requeridos para un buen desempeño del haz. A continuación,
el sistema de posicionamiento se coloca a una distancia d. La distancia de prueba
no es más que la distancia existente entre el soporte de la lente utilizada y el eje
que soporta al sensor detector de potencia en el mecanismo de posicionamiento.
Esta distancia es donde el haz tiene un diámetro D; este diámetro aumenta
cuanto mayor sea la distancia d. Lo anterior ocurre debido a la propiedad de la
divergencia de un haz con perfil gaussiano.
El criterio con el cual se realizó la
evaluación de las pruebas y la obtención de los resultados correspondientes se
ilustra en el arreglo experimental de la figura 5 y en la figura 6 se muestra una
foto de este arreglo.
273
Fig. 5. Arreglo experimental.
En la figura 5 se aprecia que la distancia entre el láser y la base del soporte de la
lente óptica es de 10 centímetros y esta distancia entre ambos dispositivos ópticos
se conserva en la realización de las pruebas. El parámetro a modificar es la
distancia de prueba d; y como consecuencia, D cambiará su valor.
Fig. 6. Foto del arreglo experimental.
En el cuadro 1 se dan los resultados de las diferentes pruebas y de la puesta en
marcha del sistema para diversos valores de d y D, respectivamente. Las pruebas
se evaluaron cada 10 centímetros de distancia a partir de la posición del soporte
de la lente y esta medida se incrementó gradualmente hasta llegar a los 150
centímetros. En la práctica, una búsqueda del máximo a 10 o 20 centímetros es un
tanto complicada; sin embargo, se puede ver cómo el sistema ha llevado a cabo
esta tarea, lo cual nos habla de la eficiencia del sistema en estas condiciones.
274
Cuadro 1. Resultados de las pruebas realizadas con el sistema de
posicionamiento para diferentes valores de d
La búsqueda del máximo siempre se hace procurando que el escaneo se lleve a
cabo sobre el diámetro central transversal de la circunferencia sobre el eje Y, y
posteriormente sobre el diámetro central del eje X. Como se puede observar en el
cuadro 1, a medida que la distancia de prueba d aumenta su magnitud, el
diámetro aproximado D del haz incidente sobre la superficie del sensor también
aumenta. El comportamiento de la intensidad (potencia) del haz láser, como era
de esperase, también se ve afectado por la distancia a la cual se realiza la
búsqueda del máximo. Los resultados anteriores nos muestran cómo a mayor
distancia a partir del foco, la potencia láser disminuye al mismo tiempo que el
diámetro o radio del haz se incrementa, cuanto mayor sea el diámetro del haz,
menor será su potencia. Este hecho nos muestra cómo el sistema de
posicionamiento realiza un buen desempeño en pruebas de irradiación en campo
lejano.
275
4 Conclusiones
Se diseñó un sistema caracterizándolo como un sistema automático de lazo
cerrado, es decir, con intervención mínima de la mano humana, lo que da mayor
estabilidad en las lecturas y resultados confiables. Al ser un sistema automático,
tiene la característica de que sus resultados son mucho más precisos, ya que
compara los datos de entrada con los de salida asegurándonos un desempeño
confiable.
5 Trabajo futuro
Este sistema es sólo un prototipo de muchos más que se pueden construir. La
innovación y mejora de este sistema queda abierta a las necesidades y
aplicaciones futuras. Su diseño y puesta en marcha se enfocaron en la tarea de
detectar el máximo de intensidad en la distribución de potencia de un haz láser,
lo cual no descarta la posibilidad de agregarle otras funciones. Para ello, sólo se
requiere un nuevo programa, que amplíe las aplicaciones del sistema. Entre las
aplicaciones a futuro figuran las siguientes: El sistema puede programarse de
forma tal que el microcontrolador guarde en variables internas los datos que el
medidor de potencia le esté enviando sobre la intensidad del láser, y para que,
posteriormente, dirija todos estos datos almacenados hacia el ordenador
mediante una interfaz de tipo serial. Una vez allí, los datos pueden ser analizados
o recibir el tratamiento o análisis requerido para alguna aplicación en particular.
Este sistema podría ser programado de forma que en lugar de proporcionar la
detección del máximo de intensidad nos detecte el punto de intensidad mínima
en la distribución de potencia de un haz láser. El sistema de posicionamiento ya
está hecho; pero su funcionamiento está abierto a las necesidades del usuario. En
este sentido, el usuario puede agregar los módulos de hardware y software que
requiera para personalizar su funcionamiento y ampliar la variedad de
aplicaciones.
Referencias
1. Tapia-V{zquez, A. y A. Padilla Vivanco, ‚Programación para el control
autom{tico de un medidor de potencia óptica‛, en Internet (http://wwwoptica .inaoep.mx/investigadores/apadilla/fotodetector.pdf).
2. Boreman, G. D., Fundamentos de electro-óptica para ingenieros, SPIE Press,
1999, pp. 93, 95.
276
Evolución de las Bases de Datos: de Fijas a
Móviles
Paola Delgado Fernández, Luis Antonio Gama Moreno
Resumen. Los sistemas manejadores de bases de datos (SMBD) han estado en
constante cambio desde sus orígenes como sistemas manuales para la
organización de información, pasando por sistemas mainframes y de escritorio
(desktop), hasta la llegada de la computación móvil. Con el surgimiento de las
bases de datos móviles, las actividades de mantenimiento y consulta de
información se pueden realizar en cualquier momento y lugar desde un
dispositivo móvil —teléfono celular, PDA, etcétera. En este artículo se describe
esta evolución, así como las características de los cinco manejadores de bases de
datos para dispositivos móviles con mayor impacto en el mercado,
particularmente en soporte de transacciones, compatibilidad con la norma ANSISQL92, encriptamiento, conectividad vía JDBC-ODBC, entre otros. Finalmente, se
discuten los enfoques de sincronización con los servidores centrales o el motor
embebido en las aplicaciones.
Palabras clave: SMBD, computación móvil, dispositivos móviles.
Sumario:
1 Introducción 2 Estado del arte 2.1 Tecnologías inalámbricas 2.2 Cómputo
móvil 2.2.1 Dispositivos móviles 3 Manejadores de bases de datos para
dispositivos móviles 3.1 PointBase 3.2 SQLAnywhere 3.3 DB2 EveryPlace 3.4
Oracle Lite 3.5 MSSQL CE 4 Discusión 5 Conclusiones. Referencias
1 Introducción
El desarrollo histórico de las bases de datos comienza con la necesidad de
organizar información utilizando archivos en papel y sistemas manuales. En 1960
los sistemas empiezan a computarizarse, lo que lleva al desarrollo del primer
sistema de bases de datos, el IMS (Information Management System), de la
compañía IBM, el cual permitía al usuario visualizar los datos en forma de árbol
jerárquico.
Para 1970, el doctor E. F. Codd29 propuso el concepto de bases de datos
relacional (BDR), basado en los principios matemáticos de la teoría de conjuntos
277
y la lógica predictiva, y que consistía en el manejo de tablas, filas y columnas
utilizando un conjunto de operaciones lógicas. Asimismo, uno de los avances
más importantes de los años setenta fue el desarrollo del SQL (Structured Query
Language), un lenguaje para el manejo de bases de datos relacionales, basado en
el álgebra relacional.
Sin embargo, el primer producto de BDR comercial fue el SMBD Oracle, lanzado
en 1979 al mercado.22 En esa época las bases de datos relacionales se fueron
aceptando y adoptando poco a poco por empresas y organizaciones, ganando
popularidad y convirtiéndose en una de las principales herramientas para la
gestión de información. A pesar de la popularidad y fuerza que ganó el uso de
los SMBD, la búsqueda de mejores opciones y el desarrollo de nuevas tecnologías
llevó al surgimiento de las bases de datos relacionales orientadas a objetos, las
que más tarde pasarían a ser bases de datos orientadas a objetos,29 aunque sólo
pocos SMBD adoptaron esta propuesta, entre ellos Oracle y PostgreSQL. Para
mediados de 1990 el acceso a una base de datos se logró por medio de Internet, lo
que abrió el camino hacia otras áreas de aplicación de los SMBD; además, los
sitios Web se hicieron más dinámicos e Internet ganó popularidad para el
comercio electrónico, los sistemas de información, etcétera. En los años noventa,
con el auge de Internet y las bases de datos, comienzan a integrarse en las
aplicaciones lenguajes como XML (Extensible Markup Language), además de que
el número de desarrolladores y usuarios aumenta e impulsa el uso de los SMBD.
Con el surgimiento de las nuevas tecnologías de comunicación inalámbrica y de
dispositivos móviles (DM), se logró el desarrollo de la computación móvil (CM),
caracterizada por la independencia de localización, movimiento y plataforma de
los dispositivos.2 Por otra parte, la necesidad de gestionar información desde un
ambiente móvil y la popularidad de las bases de datos motivaron el desarrollo de
los sistemas manejadores de bases de datos móviles (SMBDm). En la figura 1 se
describe el desarrollo histórico de los SMBD.
Fig. 1. Desarrollo histórico de los SMBD.
En el campo de los SMBDm, se han desarrollado aplicaciones importantes, desde
versiones limitadas para ejecutarse en un DM y que después se sincronizan con el
servidor central, hasta productos que van inmersos (embebidos) en las
278
aplicaciones. Oracle Lite,21 por ejemplo, es un SMDBm con una arquitectura de
cliente-servidor dirigido a dispositivos con plataforma de Windows Mobile,
Symbian OS y Linux. IBM DB2 Everyplace Database Edition11 es una base de
datos móvil de alto rendimiento que se integra con IBM WebSphere Everyplace
Access e IBM WebSphere Everyplace Server; es una base de datos relacional para
plataformas PalmOS y Windows CE. MSSQL CE18 es otra base de datos,
compacta, diseñada para admitir una gran lista de dispositivos inteligentes y
Tablets PC; utiliza la sintaxis de SQL para las consultas y permite su integración
con Microsoft SQL Server 2005. PointBase24 es un SMDBm desarrollado en
JAVA, y por lo tanto, compatible con J2ME, el cual se ofrece en cuatro versiones:
Embedded, Micro, Server y UniSync. SQL Anywhere27 es otro SMDBm y provee
tecnología para el intercambio y gestión de datos desde un dispositivo móvil; ha
sido diseñado para plataformas Windows Mobile 5 y 6 —PocketPC y
Smartphone.
2 Estado del arte
2.1 Tecnologías inalámbricas
Desde el surgimiento de las tecnologías inalámbricas como medio de
comunicación e interacción entre dispositivos, su mejoramiento y avances han
sido constantes. Han permitido transmitir información desde puntos que no se
creían accesibles y mejorar la comunicación entre dispositivos móviles y fijos.
Entre las principales tecnologías está LMDS (Local Multipoint Distribution
Service),23 servicio que establece una conexión bidireccional de punto a
multipunto, es de banda ancha y para utilizarlo es necesario tener licencia; ofrece
telefonía, datos, televisión multicanal y servicios interactivos multimedia. Por
otro lado, Wi-Max (Worldwide Interoperability for Microwave Access) es una
tecnología de banda ancha de rápido despliegue, de punto a multipunto y
económica, ya que no requiere de cableado; permite la conexión de múltiples
usuarios, los cuales deben instalar una antena para la recepción de señal, y da
acceso a servicios de voz (VoIP), datos y video. 1 Una de las tecnologías
inalámbricas más populares es Wi-Fi (Wireless Fidelity), la cual facilita la
interconexión de varios dispositivos —computadoras personales, agendas
electrónicas, etcétera— de manera local; su ventaja estriba en que no requiere de
cableado y da movilidad en el área de cobertura, además de que trabaja en las
bandas libres de 2.4 y 5 GHz; solamente precisa un punto de acceso para el área y
una tarjeta Wi-Fi en cada equipo.8 Por otro lado, Internet vía satélite10 o satelital
está basado en el acceso a la red mediante el intercambio de ondas
electromagnéticas a frecuencias muy altas con un satélite en órbita
geoestacionaria, aproximadamente a 36 000 kilómetros. Se requiere de una antena
279
para captar la señal y un módem DVB para decodificarla. Estos instrumentos se
conectan con cable coaxial y para enviar datos hace falta una red telefónica, o
bien, se puede utilizar el mismo satélite. Otra tecnología, para la comunicación de
corto alcance, son las ondas infrarrojas;14 su uso es limitado pero puede
encontrarse en computadoras portátiles e impresoras. Bluetooth28 es también de
corto alcance, inalámbrica, y se creó para sustituir el uso de cables en las redes,
logrando la conexión de dispositivos móviles y de hardware, como impresoras,
escáners y cámaras digitales, a una computadora, lo que facilita el intercambio de
información; el único requisito es estar dentro del alcance de la red.
2.2 Cómputo móvil
El cómputo móvil,12 también conocido como cómputo nómada, es el resultado de
reunir en un mismo ambiente dispositivos móviles de distintas capacidades
físicas, como memoria y energía. Los dispositivos, por medio de una conexión
inalámbrica, acceden a una red para intercambiar información y compartir
recursos, ofreciendo a los usuarios movilidad y portabilidad. El cómputo móvil
ganó popularidad gracias al surgimiento de poderosas tecnologías de
comunicación inalámbrica, como el Bluetooth, Wi-Fi y Wi-Max. Sin embargo, la
computación móvil sigue enfrentando retos considerables, principalmente de
infraestructura, ya que los dispositivos aún presentan ciertas deficiencias en el
rendimiento de energía y en su capacidad de procesamiento, de memoria y
conectividad.
2.2.1 Dispositivos móviles
Entre los dispositivos móviles de mayor interés para los usuarios se encuentran
los teléfonos celulares e inteligentes. Un teléfono celular se compone, en general,
de un CPU, memoria, memoria flash para almacenamiento, conexión a red y
batería, aunque últimamente llevan incluido características como GPS, cámara
fotográfica, reproductor de música y video. 20 Por otra parte, los teléfonos
inteligentes están comenzando a trabajar con procesadores multinúcleo, aunque
el principal enfoque de su diseño es el consumo de energía. Los procesadores
multinúcleo ofrecen una funcionalidad asimétrica que permite al dispositivo
apagarse y encenderse dinámicamente para reducir el consumo de energía.
Todos estos avances en los teléfonos móviles hacen posible que se menejen más
datos, pero requieren de mejores soluciones para la administración de
información.
Los dispositivos móviles presentan las siguientes desventajas:
 Desconexiones frecuentes debido a que los clientes móviles no permanecen
conectados de manera continua en una misma red, algunas veces porque el
280
dispositivo se enciende y se apaga, otras veces porque el cliente decide
desconectarse para conectarse a otra red.
 Presentan limitaciones en los recursos de energía, teniendo muchas veces una
cantidad de carga limitada.
 El tamaño de la pantalla de algunos dispositivos muchas veces es muy
pequeña y la información no se despliega de la mejor manera.
3 Manejadores de bases de datos para dispositivos móviles1
Una base de datos se define como un conjunto de tablas relacionadas entre sí, que
almacenan una gran cantidad de datos de manera estructurada. Estos datos
constituyen un recurso esencial para todas las organizaciones.4 Una base de datos
es como un contenedor o depósito de un conjunto de archivos de datos
computarizados, sobre los cuales un usuario puede realizar gran cantidad de
operaciones: agregar nuevos archivos, insertar datos, recuperar o consultar datos,
hacer modificaciones y eliminar datos.7
Las bases de datos móviles se consideran las bases de datos de nueva generación,
ya que van dirigidas a sistemas informáticos portátiles, como computadoras
personales y dispositivos móviles, los cuales se conectan con las estaciones base
(servidores) mediante redes de comunicación digitales inalámbricas; además,
deben funcionar mientras estén desconectadas de la red, a diferencia de los
sistemas de bases de datos fijos. Las bases de datos móviles utilizan técnicas
especiales para la administración de memoria porque la capacidad de
almacenamiento de sus dispositivos móviles es limitada. 3,26 Además, el hecho de
que se almacenen datos en el teléfono móvil o en la computadora personal
permite a los usuarios hacer operaciones sobre la información sin necesidad de
estar conectados a una red, así como sincronizar o consultar datos de los
servidores en el momento que se tenga acceso a una conexión inalámbrica. 13,26
Todas las funciones de una base de datos y las comunica-ciones inalámbricas las
provee un SMBDm,15 cuya arquitectura se describe en la figura 2.
281
Fig. 2. Sistema móvil de bases de datos.
A continuación, se describen cinco de los SMBDm más comerciales, sus
características, arquitectura, etcétera.
3.1 PointBase
PointBase Inc. comenzó a operar en 1998, desarrollando SMBDs de footprint
pequeño y dirigidos a dispositivos móviles. 19 La compañía desarrolló hasta la
versión 4.7 de PointBase Micro, que fue lanzada al mercado en el año 2003. 24 Ese
mismo año DataMirror Mobile Solutions compró PointBase Incorporated y
continuó con el desarrollo de nuevas versiones del SMBD, empezando con la
versión 4.8 lanzada en el año 2004 6 hasta que IBM adquirió DataMirror en el año
2007. Desde entonces, PointBase Micro ha pasado por varias versiones, de la 5.1 a
la 5.7, la cual es la última versión del manejador disponible hoy en día. 5
PointBase Micro tiene el mejor soporte CLDC/MIDP. 13 Es un manejador de base
de datos relacional muy pequeño, con soporte de SQL, y está optimizado para la
plataforma de JAVA-J2ME. En la figura 3 se aprecia la capa de software que
PointBase Micro utiliza.
Las principales características de PointBase Micro son:
Es portable, permite su ejecución en distintas plataformas.
Footprint pequeño, menor a 45 KB para J2ME CLDC/MIDP y menor a 90
KB para CDC (Connected Device Configuration).
Utiliza un subconjunto de SQL 92 para realizar consultas.
La API se deriva de JDBC para MIDP.
Es compatible con distintos sistemas operativos: Palm OS, Windows
CE/Pocket PC, RIM OS y Symbian OS.
282
Fig. 3. Arquitectura de PointBase.
PointBase provee de dos API para la versión micro:
-
JDBC API para J2SE & J2ME/CDC.
Subconjunto de JDBC API para J2ME/MIDP.
PointBase Micro utiliza la segunda API, también conocida como LiteAPI (véase la
figura 4), la cual fue escrita para proveer al usuario de una interfaz de bases de
datos en J2ME/MIDP, muy similar a JDBC. Las clases que conforman la API están
localizadas en el paquete com.pointbase.me. La diferencia entre la LiteAPI y la
API para JDBC dirigida a plataformas J2SE y J2ME/CDC está en las clases tipo
fecha que son utilizadas para representar los tipos de datos de SQL DATE, TIME,
TIMESTAMP y DECIMAL; esta diferencia se debe a que las clases e interfaces del
paquete java.sql no están disponibles para J2ME/MIDP; LiteAPI usa DATE, TIME
y TIMESTAMP de la clase java.util.Date y para valores decimales utiliza
com.pointbase.me.Decimal.24
Fig. 4. API Lite de PointBase Micro.
3.2 SQLAnywhere
Es una base de datos móvil relacional que provee de tecnología para el
intercambio y la gestión de datos desde un dispositivo móvil. Está diseñada para
dispositivos con plataforma Windows Mobile 5 para Pocket PC y Smartphone, y
Windows Mobile 6. SQL Anywhere tiene soporte para la interfaz ADO.NET,
.NET OLE DB y ODBC; además, permite usar cualquier lenguaje como: .NET,
incluyendo C# y Visual Basic .NET para escribir procedimientos y funciones. 27
283
Como se muestra en la figura 5, su arquitectura es de tipo cliente-servidor, cuenta
con un footprint pequeño, menor a 150 KB, permite conexiones simultáneas y
utiliza el sistema Mobilink Syncronization, un conjunto de tecnologías para la
sincronización entre sistemas fijos y usuarios móviles. 25
Fig. 5. Arquitectura de SQLAnywhere.
3.3 DB2 EveryPlace
Desarrollada por la compañía IBM, DB2 Everyplace Database Edition es una base
de datos móvil de alto rendimiento, que permite ampliar el alcance de las
aplicaciones y datos empresariales a dispositivos móviles, como asistentes
digitales personales y teléfonos inteligentes. Tiene un reducido consumo de
espacio y una de sus ventajas es que se integra con la gama de productos de
informática móvil de IBM WebSphere Everyplace Access y WebSphere
Everyplace Server. Esta base de datos es relacional y está dirigida para
plataformas PalmOS y Windows CE.11 Utiliza una arquitectura cliente-servidor
(véase la figura 6) y ofrece gran cantidad de productos de acuerdo con las
necesidades de desarrollo que se tengan.
Fig. 6. Arquitectura de DB2 Everyplace.
284
3.4 Oracle Lite
Este SMBDm trabaja con una arquitectura cliente-servidor como la descrita en la
figura 7. El cliente incluye un footprint pequeño, de 1 MB, optimizado para
dispositivos de mano, computadoras portátiles y ambientes reducidos, además
de que cuenta con soporte multiusuario. Oracle Lite funciona sobre Windows
Mobile, PocketPC, Symbian OS y Linux. Utiliza SQL 92, procedimientos
almacenados en JAVA, C++ y lenguajes basados en .NET, como C#; cuenta con
soporte de triggers, ODBC, JDBC y ADO .Net. El Servidor Oracle Database Lite
Mobile Server es necesario para que los usuarios móviles sincronicen la
información con la base de datos principal. La sincronización es uno de los
principales elementos de la base de datos de Oracle. Es una solución completa
que ayuda al despliegue de información sin conexión, ofrece métodos de
administración y sincronización de dispositivos, además de una base de datos
relacional segura, ligera y compatible con SQL. 21
Fig. 7. Arquitectura de Oracle Lite.
3.5 MSSQL CE
Desde el principio, SQL Server Compact Edition ha sufrido una serie de cambios
y ha pasado por varias versiones, comenzando con el SQL Server CE, el cual se
incluía en el SQL Server 2000. Con el lanzamiento del SQL Server 2005 al
mercado, el SQL Server CE cambió de nombre a SQL Server 2005 Mobile Edition
y estaba dirigido a Smartphones y PDAs.16
MSSQL CE versión 2005 es una base de datos compacta que necesita menos de 2
MB de espacio en disco y sólo 5 MB de memoria. Tiene gran variedad de
funciones y fue diseñada para admitir una gran lista de dispositivos inteligentes
y Tablets PC. Cuenta con un motor de base de datos compacto y un sólido
optimizador de consultas, permite el acceso a datos remotos y réplica de mezcla
285
para sincronizar datos; utiliza un subconjunto de sintaxis de SQL para las
consultas y se integra fácilmente con Microsoft SQL Server 2005. 18 La arquitectura
está formada por un entorno de desarrollo, un cliente y el servidor (véase la
figura 8), a diferencia de la nueva versión del manejador, que utiliza una
arquitectura embebida. El entorno de desarrollo incluye el equipo donde se
desarrollan las aplicaciones, el cual debe tener Microsoft Visual Studio 2005 con
.NET Compact Framework. El entorno del cliente se compone de uno o varios
dispositivos compatibles donde se lleva a cabo la aplicación y SQL Server
Compact Edition; la sincronización puede ser por medio de Microsoft ActiveSync
o de la red. El entorno del servidor está formado por uno o varios equipos en los
que se ejecutan los servicios de Microsoft Internet Information Server (IIS) y una
instancia de Microsoft SQL Server o datos propagados para un origen de datos
heterogéneo. IIS es necesario para el intercambio de datos entre servidores y
clientes.18
Fig. 8. Arquitectura de MSSQL CE.
Actualmente, están disponible la versión de SQL Server 2008, que ofrece una
nueva solución de Compact Edition y la versión 3.5 Service Pack 1, la cual
permite la instalación de una pequeña base de datos SQL Server en un
dispositivo móvil con plataforma Windows Mobile. Esta última versión de
MSSQL CE es una base de datos servidor SQL ‚embebido‛, gratuito, ideal para la
construcción de aplicaciones independientes y que ocasionalmente están
conectadas; está dirigido a dispositivos móviles, computadoras de escritorio y
clientes Web.
4 Discusión
Las bases de datos se han convertido en una de las herramientas para la
administración de información más utilizadas por empresas, instituciones y
personas. Sin embargo, la necesidad de movilidad llevó al desarrollo de los
SMBDm, permitiendo trabajar con la información almacenada en los grandes
servidores corporativos o de información institucional a distancia, utilizando la
tecnología inalámbrica y dispositivos móviles como medios.
Las grandes empresas como ORACLE, IBM, Microsoft, entre otras, han
comenzado a ofrecer sus productos en plataformas que permiten su uso en
286
teléfonos celulares, agendas personales, etcétera; son soluciones completas, que
permiten el manejo de gran cantidad de información utilizando recursos de
almacenamiento, procesamiento y energía limitados, características que
distinguen a los dispositivos móviles.
En el cuadro 1 se muestran las principales características de los SMBDm
comerciales de mayor uso; estos productos pertenecen a grandes compañías de
desarrollo de Software, también especializadas en el desarrollo de SMBD.
Cuadro 1. SMBDm más importantes y sus principales características
La selección de un sistema manejador de bases de datos móvil depende en gran
medida de las necesidades del usuario a quien va dirigida la aplicación o sistema
y las características de los dispositivos móviles con los que se trabajará.
En todo caso, si ya cuenta con algún SMBD ‚fijo‛ de las compañías ya citadas, la
mejor opción es adquirir una versión del mismo para el dispositivo móvil, por
cuestiones de compatibilidad y facilidad de configuración; por ejemplo, Oracle
Lite para versiones de ORACLE o DB2 Everyplace de IBM, etcétera. Por otra
parte, si la plataforma de desarrollo utilizada es Microsoft, lo mejor es usar
MSSQL CE o SQL Anywhere, soluciones completas para plataformas .NET,
aunque la segunda es un poco más limitada. Si desarrolla en la plataforma de
JAVA, PointBase Micro es una solución excelente ya que la base de datos puede
estar embebida en las aplicaciones; debido al footprint pequeño, es compatible con
287
J2ME y es fácil de implementar. Por otra parte, la nueva versión de MSSQL CE,
incluida en SQL Server 2008, es una solución más para aplicaciones que requieren
una base de datos ‚embebida‛, ya que es ligera y permite el manejo de gran
cantidad de información, además de que su compatibilidad con los productos de
Microsoft la hace una opción interesante.
Una característica que presentan todos los SMBDm (véase el cuadro 1) es el uso
de un subconjunto del lenguaje SQL, uno de los principales para el manejo de
bases de datos. Además la posibilidad de sincronizar de manera inalámbrica la
información de nuestro dispositivo móvil con los grandes servidores, permite la
movilidad de los usuarios así como la disponibilidad y actualización constante de
la información.
Sin duda, las ventajas de manipular una base de datos desde un dispositivo
móvil son muchas; manejos de inventario sin necesidad de cables, consultas de
expedientes o información de clientes, pedidos, alumnos; administración de
recursos, ventas, compras y transacciones; agendas telefónicas y un sin fin de
aplicaciones más, las cuales sin duda facilitan en gran medida las actividades
diarias de empresarios, trabajadores y usuarios.
5 Conclusiones
La necesidad de mantener organizada y almacenada la información de manera
permanente llevó al surgimiento de las bases de datos, las cuales al comienzo se
basaban en sistemas manuales para la administración de archivos en papel; poco
a poco los avances tecnológicos llevaron a estos sistemas a las computadoras,
comenzando así el desarrollo de los grandes sistemas manejadores de bases de
datos que seguimos utilizando en la actualidad. Además de Internet y del
surgimiento de lenguajes de programación que permitían una mejor
manipulación de los SMBD, el cómputo móvil influyó mucho en el desarrollo de
aplicaciones para el manejo de información, ya que la necesidad de gestionar
datos se trasladó a las plataformas móviles, surgiendo así los sistemas
manejadores de bases de datos móviles o SMBDm.
En este artículo se presentaron cinco manejadores de bases de datos móviles con
características ideales para clientes en movimiento, provenientes de compañías
como Microsoft, Oracle e IBM. Estas compañías comenzaron a desarrollar sus
productos para plataformas móviles con la finalidad de ofrecer soluciones
completas a los corporativos, empresas y usuarios que comenzaban a incluir
dispositivos móviles para la realización de sus actividades diarias.
Se explicaron también las principales características de las bases de datos
móviles respecto al soporte de transacciones, la compatibilidad con la norma
ANSI-SQL92, el encriptamiento y la conectividad vía JDBC/ODBC, entre otros
aspectos.
288
Sin duda, la tendencia al uso de los dispositivos móviles seguirá creciendo; el
desarrollo de nuevas y mejores SMBDm continuará y la movilidad seguirá
formando parte de nuestras vidas, por lo tanto, suponemos que el desarrollo de
aplicaciones para dispositivos móviles enfrentará aún más retos en los próximos
años.
Agradecimientos
Este trabajo est{ soportado por el proyecto ‚Suite de Servicios para Usuarios de
Dispositivos Móviles (SUSEDIM)‛ clave 886.08-P, financiado por la DGEST, y ha
sido desarrollado durante el XXI Verano Científico de la AMC y el XIV Verano de
la Investigación Científica del Programa DELFIN.
Referencias
1. Andrews, J. G., A. Ghosh y R. Muhamed, Fundamentals of WiMAX,
Prentice-Hall, 2007.
2. Bagrodia, R., W.W. Chu, L. Keinrock y G. Popek, ‚Vision, Issues and
Architecture for Nomadic Computing‛, en IEEE, Personal Communications, vol.
2, núm. 6, 1995, pp. 14-27.
3. Barbar{, D., ‚Mobile Computing and Databases: A Survey‛, en IEEE
Transactions on Knowledge and Data Engineeing, vol. 11, núm. 1, 1999.
4. Batni, C., S. B. Navathe, S. Ceri, M. García y D. Romero Ibancos, Diseño
conceptual de BD, Adisson Wesley-Díaz de Santos, 2004.
5. DataMirror-IBM Company, PointBase Embedded Developer’s Guide Version
5.7, 2007.
6. DataMirror Mobile Sol, PointBase System Guide Version 4.8, 2004.
7. Date, C. J., Introducción a los sistemas de bases de datos, 7a. edición, Prentice
Hall, México, 2001.
8. Ferro, E. y F. Potorti, ‚Bluetooth and WI-FI Wireless Protocols: A Survey
and a Comparision‛, en IEEE Wireless Communications, vol. 12, núm. 1, 2004,
pp. 12-26.
9. Groff, G. R. y P. N. Weinberg, The Complete Reference SQL, 2a. edición,
McGraw-Hill, 2002.
10. Hu, Y. y O. K. Li, ‚Satellite-Based Internet: A Tutorial, en IEEE,
Communication Magazine, vol. 39, núm. 3, 2001, pp. 154-162.
11. IBM, IBM WebSphere Everyplace Suite Version 1.1, 2000.
12. Imielinski, T. y H. F. Korth, Mobile Computing Chapter 1. Introduction to
Mobile Computing, Kluwer Academic Publishers, 1996.
13. Juntao Yuan, M., Enterprise J2ME Developing Mobile Java Applications,
Prentice Hall, Estados Unidos, 2007.
289
14. Kahn, J. M. y J. R. Barry, ‚Wireless Infrared Communications‛, en
Proceedings of the IEEE, vol. 85, núm. 2, 1997.
15. Kumar, V., Mobile Databases Systems. Computer Science and Informatics
University of Missouri, Wiley-Interscience, 2006.
16. Leiter, C., D. Wood, M. Cierkowski y A. Boettger, Beginning Microsoft
SQL Server 2008 Administration, 2009.
17. McGee, W. C., ‚The Information Management System IMS/VS. Part 1:
General Structure and Operation‛, en IBM System Journal, 1977.
18. Microsoft Corporation, Información General de SQL Server 2005 Compact
Edition, MSDN, 2009.
19. Newswire, P. R., PointBase Extends 100% Pure JAVA Database to Include
Devices Internet Appliances and Embedded Servers, 1999.
20. Nori, A. K., ‚Mobile and Embedded Databases‛, en ACM International
Conference on Management of Data, 2007.
21. Oracle, Oracle Database Lite 10Gr3, Technical White Paper, 2008.
22. Oracle,
Oracle
Timeline,
en
Internet
(http://www.oracle.com/timeline/index.html).
23. Papazian, P. B., G. A. Hufford, R. J. Achatz y R. Hoffman, ‚Study of the
Local Multipoint Distribution Service Radio Channel‛, en IEEE Transactions on
Broadcasting, vol. 43, núm. 2, 2008.
24. PointBase, Micro Developer’s Guide Version 4.7, 2003.
25. Reyna, A. y L. Gama-Moreno, Manejador de Archivos Embebido para
Dispositivos Móviles, tesis de maestría, Instituto Tecnológico de Zacatepec,
2005.
26. Silbershatz, A., H. F. Korth y S. Sudarshan, Fundamentos de diseño de bases
de datos, 5a. edición, McGraw-Hill, Madrid, 2006.
27. SQL Anywhere 11 and Microsoft .NET: A whitepaper from Sybase
iAnywhere. Whitepaper (2008)
28. Tanebaum, A. S., Redes de computadoras, 4a. edición, Pearson-Prentice
Hall, 2003.
29. Ward, P. y G. Dafoulas, Database Management Systems, ThomsonMiddlesex University Press, 2006.
290
Grid Computing
Vanessa Hamar
Resumen. La idea de ‚grid computing‛ o ‚grid‛ no es reciente, aunque en los
últimos años su auge ha ido en aumento, al punto de convertirse en una
herramienta con la cual los usuarios, en su mayoría científicos, hacen uso de
recursos heterogéneos, tanto de cálculo y almacenamiento como de ancho de
banda, porque todos ellos están distribuidos geográficamente alrededor del
mundo. Actualmente, los grids se ocupan para solventar problemas complejos,
asegurando que los datos sean manejados de manera íntegra y segura, gracias a
sus estándares. En este artículo se presentan los conceptos básicos relacionados
con los grids, se esbozan ciertos acontecimientos alrededor de su surgimiento, se
presenta una breve comparación entre los conceptos de ‚grid computing‛ y ‚cloud
computing‛, y al final se describen dos de los middlewares disponibles para los
usuarios que pertenecen al proyecto EELA2.
Palabras clave: grid computing, middleware, gLite, DIRAC.
Sumario:
2 Antecedentes 3 Grid computing 4 Estándares 4.1 Estándares utilizados por la
herramienta Globus 5 Seguridad en el grid 6 Grid computing, cloud computing 7
Middlewares en EELA2 7.1 gLite 7.2 DIRAC Conclusiones Referencias
1 Introducción
Hoy en día los científicos se encuentran con problemas cada vez más complejos
que requieren de un mayor poder de cálculo y del análisis de grandes cantidades
de datos y, por ende, necesitan más capacidad de almacenamiento. Aunado a
esto, como son científicos cuyos centros de trabajo están distribuidos en todo el
mundo y es fundamental que la información que obtienen sea compartida con
sus colegas, ha surgido el concepto de ‚grid computing‛ o ‚grid‛.
El grid es solamente otra forma de computación distribuida; no obstante, permite
la integración de recursos heterogéneos provenientes de organizaciones
distribuidas en distintos lugares del mundo, por medio de Internet, cuya red se
aprovecha como una plataforma de servicios de computación y no sólo como una
fuente de información.
Entre las ventajas de los grids se encuentra el uso de los recursos ociosos de la red
para integrar aplicaciones heterogéneas y diversas, aumentando así la capacidad
de cálculo de las organizaciones sin que éstas tengan que hacer grandes
291
inversiones. Otra ventaja es que los usuarios acceden al grid desde un único
punto de entrada o interfaz desde cualquier parte del mundo.
Otra ventaja más es que integra recursos de control o equipos que generan data
en tiempo real, permitiendo el análisis de los datos en tiempo casi real —por
ejemplo, los datos enviados por los telescopios.
Los grids involucran organizaciones e individuos que comparten recursos
integrados y coordinados sin que por ello dejen de ser autónomos, flexibles y
seguros; estas características obligan a que los procedimientos a seguir por las
organizaciones e individuos estén estandarizados. Los grids incluyen recursos
computacionales y humanos —en gran cantidad—, quienes deben trabajar en la
misma dirección.
En este artículo se exponen brevemente los antecedentes de los grids, los
conceptos básicos relacionados, algunos de los puntos clave repecto de la
seguridad y se hace una comparación entre el grid computing y el cloud computing.
Finalmente, se describen algunos detalles acerca de dos de los middlewares
disponibles para los usuarios del proyecto EELA2, gLite10 y DIRAC.11
2 Antecedentes
Una definición temprana de este concepto fue dada por Len Kleinrock en 1969:
‚probablemente veremos el esparcimiento de las utilidades de computación tal
como se presentan la electricidad y el teléfono, como servicios individuales en
casas y oficinas en todo el país‛.1
El término ‚grid computing‛, originado a comienzos de los años noventa, se
expuso como una metáfora donde el acceso al poder de cómputo debe ser tan
fácil como el acceso de los usuarios a la red eléctrica.2 En esos años empiezan a
surgir proyectos siguiendo la idea de este tipo de computación. El primer
proyecto que utilizó cientos de computadores independientes para crear códigos
encriptados fue el llamado distributed.net, mejor conocido como dnet, en 1997.
La primera definición del grid computing fue de Ian Foster y Carl Kesselman, a
comienzos de 1998: ‚un grid computacional es una infraestructura de hardware y
software que provee acceso consistente a bajo costo a recursos computacionales de
alto nivel‛.
El segundo proyecto exitoso y popular en la historia de la computación
distribuida es el SETI@home_project,12 el cual reunió más de dos millones de
personas voluntarias distribuidas en todo el mundo, quienes instalaron el agente
de software desde que el proyecto comenzó en mayo de 1999, probando de esta
manera que la computación distribuida puede acelerar los resultados de los
proyectos computacionales manteniendo los costos a niveles manejables.
Ian Foster, Carl Kesselman y Steve Tuecke son reconocidos como los padres del
grid,3 siendo los líderes en el desarrollo del Globus Toolkit, 13 el cual incorpora la
292
capacidad de calculo y de almacenamiento, aspectos de seguridad y monitoreo.
Su diseño permite el desarrollo de servicios utilizando la misma infraestructura,
como, por ejemplo, diferentes mecanismos de notificación, servicios de
información de los estados del grid, etcétera. Globus Toolkit es el estándar de
facto para la construcción de las herramientas.4
3 Grid computing
El grid puede definirse como: ‚un sistema de software y hardware heterogéneos
que permite compartir recursos de cálculo y de almacenamiento utilizando la red
para solucionar problemas de usuarios que pertenecen a una o varias
organizaciones que están distribuidas geogr{ficamente‛. Siguiendo las
similitudes de los grids con las redes eléctricas, éstos deben tener ciertas
características básicas: a) la conexión debe estar disponible en cualquier momento
y desde cualquier lugar; b) debe ser altamente confiable, seguro, transparente y
fácil de usar por los usuarios.
En el artículo “What is a Grid? A Three Point Checklist”,2 Ian Foster hace referencia
a tres puntos clave: 1) los recursos de cálculo no son administrados de una
manera centralizada; 2) se utilizan estándares abiertos, y 3) la calidad del servicio
a alcanzar no es trivial.
De esta manera, el hardware que puede ser parte del grid, como es heterogéneo y
está distribuido geográficamente, constituye una gran ventaja porque reúne todo
tipo de recursos, aumentando las capacidades de cómputo. Además, la
administración se hace por medio de varios individuos cuyas prácticas de
seguridad y modos de administración son diferentes. Finalmente, como los
recursos están expuestos a fallas, están conectados a diferentes redes.
El software, por su parte, agrupa tanto los recursos como las aplicaciones, los
CPU, etcétera, y debe permitir que éstos estén disponibles en todo momento de
manera sencilla y segura. El hecho de que se utilicen estándares abiertos pone al
software al alcance de todas las organizaciones. La calidad del servicio de los grids
debe cumplir con las expectativas de los usuarios, garantizando la seguridad e
integridad de los datos, la detección de intrusos, el rendimiento, el monitoreo de
los recursos, balanceo de cargas, manejo de fallas, manejo de recursos y muchos
otros factores.
Otro concepto relacionado con los grids es el de las organizaciones virtuales (VO,
por su siglas en inglés). Éstas son organizaciones que comparten recursos entre sí
y los usuarios pueden pertenecer a una o más de ellas. Por otro lado, un
‚dominio administrativo‛ es una colección de recursos controlados por un grupo
único de soporte encargado de la instalación, el mantenimiento y la seguridad del
sistema, el cual tiene el acceso como su administrador.
El middleware corresponde a una capa que sirve de mediadora entre los recursos
293
distribuidos y los usuarios. Es una herramienta de software que ofrece un
conjunto de tecnologías que permiten el desarrollo de herramientas grid y sus
aplicaciones, además de definir y estandarizar los protocolos del grid y los APIs,
enfocándose en aspectos de las relaciones entre dominios administrativos, pero
no relativos a clústers; es decir, se trata de recursos de colaboración utilizados por
múltiples organizaciones y que están integrados en los dominios internos de cada
dominio, creando una capa de servicio colectivo.
4 Estándares
Los grids son de naturaleza dinámica; cambian constantemente —se agregan
usuarios, se incluyen y se eliminan recursos—, por lo tanto, la estandarización en
esta área tiene mucha importancia. La estandarización asegura tanto la
operabilidad entre los diferentes middlewares e implementaciones —para que el
usuario utilice los componentes que requiera—, como el que el sistema sea
funcional en diversas plataformas.
Globus Alliance y sus socios publicaron una serie de estándares como los
siguientes:
 Open Grid Services Architecture (OGSA). Son un conjunto de estándares y
protocolos que definen técnicamente cómo debe ser el desarrollo mundial
de los grids. OGSA aprovecha los servicios Web con el fin de establecer
una cooperación a gran escala y facilitar el acceso a aplicaciones mediante
Internet.
 Un conjunto de especificaciones diseñadas para integrar el grid y los estándares
del servicio Web. Las nuevas especificaciones del WS-notation y WSResource Framework proveen una infraestructura basada en estándares
para que los usuarios compartan recursos de computación tanto dentro
como fuera de su organización, vía Internet.5
4.1 Estándares utilizados por la herramienta Globus
La herramienta Globus ha sido armada utilizando estándares provistos por
organizaciones tales como Internet Engineering Task Force (IETF), 14 World Wide
Web Consortium (W3C),15 Organization for the Advancement Standards
(OASIS)16 y el Global Grid Forum (GGF).17 Actualmente, convergen los
estándares del grid con los de los servicios Web. Como ejemplo de los protocolos
y estándares pertenecientes a los middleware, se describen a continuación algunos
de los que están relacionados con la herramienta Globus:
 SSL/TLS v1 [Secure Sockets Layer (SSL v2/v3), Transport Layer Security
(TLS v1), de IETF]. Son protocolos de criptografía que permiten establecer
294
una conexión segura durante la transferencia de datos a través de Internet.
 LDAP v3 (Lightweight Directory Access Protocol, de IETF).Es un
protocolo que se utiliza para consultar y modificar servicios de directorio
sobre TCP-IP.

X.509 Proxy Certificates (IETF). Es el estándar utilizado para las
infraestructuras de llave pública (PKI, por sus siglas en inglés), el cual
especifica los formatos estándares para los certificados de clave pública y el
algoritmo que se utiliza para la validación de los certificados.

HTTP [Hyper Text Transfer Protocol (W3C)]. Protocolo de
comunicación utilizado para transferir información en la Web. Es un
protocolo de petición-respuesta entre clientes y servidores que utiliza TCP.

GridFTP v1.0 [Grid File Transfer Protocol (GGF)]. Protocolo de
transferencia de datos basado en el protocolo de Internet FTP, el cual fue
extendido para proveer operaciones de alto rendimiento y satisfacer los
parámetros de seguridad requeridos por el grid.

OGSA-DAI [Database Access and Integration Services (GGF)]. Es un
producto del middleware que permite acceder a las bases de datos por
medio del grid.

WSDL 2.0 [Web Service Description Language (W3C)].
5 Seguridad en el grid
La seguridad en el grid y en los sitios son dos cosas que se atacan de diferente
manera. Los problemas de seguridad en los sitios sólo afectan al sitio en sí
mismo; sus administradores levantan una barrera y tratan de que el problema no
se repita. En cambio, los problemas de seguridad en el grid afectan a todos los
sitios que lo conforman y su solución puede que involucre a más de un
administrador. La meta de la seguridad en el grid incluye a las diferentes
organizaciones virtuales, sin coartar la autonomía de los sitios.
Entre las consideraciones de seguridad que deben ser tomadas en cuenta está el
que los usuarios deben ser reconocidos en todos los sitios que compartan
recursos con la organización virtual a la que pertenezcan. Es decir, es necesario
autentificar y autorizar a los usuarios de tal manera que puedan utilizar todos los
recursos disponibles en el grid con un único log-in. Desde el punto de vista de los
usuarios, el grid debe garantizar la confidencialidad de sus datos; para esto, se
recurre a una serie de algoritmos para pasar de archivos de texto plano a archivos
encriptados y viceversa. El grid garantiza la integridad chequeando la data con
funciones hash, o también, los algoritmos MD5. La autentificación de los usuarios
se logra presentando algún token que no puede ser modificado; por ejemplo, un
295
certificado de usuario firmado por una autoridad de certificación reconocida.
Cada usuario, servidor o servicio en el grid debe ser autentificado. Los
certificados incluyen cuatro atributos de información:
 Distinguish Name (DN): el cual identifica la entidad a la cual representa el
certificado.
 La clave pública que pertenece a la entidad.
 La identidad de la autoridad de certificación (CA, por sus siglas en
inglés) que ha firmado el certificado.
 La firma digital de la CA.
El formato de codificación de estos servicios es el X509, un formato de data para
certificados, establecido por el IETF. Estos certificados pueden ser compartidos
con otro software, como, por ejemplo, los diferentes navegadores Web.
La no repudiación es la firma digital que se utiliza para afirmar que una entidad
es responsable por un mensaje o acción. El algoritmo Digital Signature Algorithm
(DSA) se usa para firmar pero no para encriptar, además, se incluye el Time
Stamp Authority (TSA), el cual sirve para colocar el lugar y el momento en el que
fue realizada la transacción.
La autorización puede ser realizada directamente por el usuario o por un
servidor de proxies cuando el usuario realice la delegación.
La confianza se define como la aceptación de un tercero en la manera de controlar
y monitorear sus recursos, suponiendo que el comportamiento va a ser el
apropiado y que seguirá las políticas de seguridad, autorización y autentificación.
6 Grid computing, cloud computing
Con la cloud computing las compañías escalan a capacidades masivas en un
instante, sin invertir en una nueva infraestructura, entrenar personal o comprar
nuevas licencias de software. La cloud computing es un beneficio para los pequeños
y medianos negocios que quieren hacer outsourcing de su infraestructura de data
o grandes compañías que quieren bajar la carga de la capacidad sin incurrir en el
alto costo de construir centros de datos internamente. En ambos casos, los
consumidores del servicio usan lo que necesitan por medio de Internet y pagan
sólo lo que usan. La idea subyacente es que el consumidor o usuario no tenga
necesariamente una PC y pueda usar una aplicación desde una PC cualquiera o
compre una versión especifica para un PDA u otros dispositivos. El usuario no es
propietario de la infraestructura, software o plataforma en la cloud, no se encarga
del mantenimiento de la red ni de los servidores. El consumidor puede acceder a
múltiples servidores sin saber dónde se encuentran localizados.
Entre las similitudes de estos dos sistemas están:
 Ambos son escalables.
296
 Los usuarios pueden realizar varias tareas de manera simultánea en uno
o varios sitios.
 Ambos poseen acuerdos de niveles de servicio (SLA, por sus siglas en
inglés) que garantizan la disponibilidad.
Entre las diferencias, se encuentran las siguientes:
 El grid computing pone énfasis en almacenamiento de data-intensiva; la
cloud computing permite almacenar una cantidad de objetos, bien sea
archivos de 1 byte, 5 GB o de TB.
 El grid computing se enfoca en operaciones de cálculo intensivo; la cloud
computing ofrece dos tipos de cálculos, los cálculos estándar o el cálculo
intensivo.6
 El grid computing es de código abierto; la cloud computing no lo es.7
 En la cloud computing, los usuarios dependen del proveedor de servicios;
no así en el grid computing.
 La cloud computing es hasta ahora un servicio por el cual el usuario debe
pagar; el grid computing está financiado por los sitios que lo integran y por
proyectos.
La cloud computing es el próximo paso en la evolución de la computación
distribuida; por ahora, se deben buscar y crear herramientas para hacer la
transición de los usuarios y tratar de que el middleware utilizado por la cloud
computing sea de código abierto.
7 Middlewares en EELA2
En el proyecto EELA2 los usuarios pueden escoger entre varios middlewares; en
esta sección se da una introducción de dos de ellos: gLite y DIRAC.
7.1 gLite
gLite es un middleware para hacer grid computing y se está utilizando en los
experimentos del CERN18 LHC y en una gran variedad de dominios científicos.
gLite provee un marco para construir aplicaciones del grid y emplear el poder de
la computación y del los recursos distribuidos por medio de Internet. Ha sido
adoptado por más de 250 centros de computación y más de 15 000 investigadores
en Europa y el resto del mundo, Latinoamérica inclusive.
gLite es un conjunto de componentes distribuidos cuya función es la construcción
de un grid mediante la integración de dichos componentes, entre los que se
cuentan:
User Interface (UI). Es el punto de entrada al grid para los usuarios, quienes
ejecutan comandos sencillos para hacer una lista de los recursos disponibles para
297
ejecutar los trabajos; desde allí se envía, cancela, recupera la salida y se muestra el
estatus de los trabajos; también se maneja la data por medio de sus elementos.
Computing Element (CE). Es un servicio que reúne una parte o todos los recursos
del sitio. Es una interfaz a los clústers, en la cual se instala un sistema de manejo
de recurso locales (LRMS, por sus siglas en inglés) para controlar un conjunto de
nodos de trabajo donde se van a ejecutar los trabajos enviados por los usuarios.
Storage Element (SE). Provee acceso uniforme al almacenamiento y soporta
protocolos de acceso a data e interfaces.
Information Service (IS). Provee información acerca de los recursos que son parte
del grid.
Workload Management System (WMS). Acepta los trabajos y los asigna al mejor CE
que esté disponible. Para esto, se utiliza el Push Model. Los trabajos son
asignados tan pronto como sea posible y quedan en lista de espera hasta que el
recurso esté libre para ser ejecutado.
Virtual Organization Membership Service (VOMS). Es una base de datos
estructurada de manera simple, como base de datos de cuentas con formatos
fijos. Con ella se hace el intercambio de información como un único log-in o
tiempo de expiración. Maneja múltiples organizaciones virtuales.8
7.2 DIRAC
El proyecto DIRAC fue desarrollado inicialmente por el LHCb 19 como un sistema
de producción masivo para la simulación de data. Actualmente, es un marco para
la construcción de sistemas distribuidos que da acceso a diferentes tipos de
recursos computacionales. En este caso, el WMS está compuesto por una cola
central de trabajos y un conjunto de agentes que se ejecutan en los diferentes
recursos de computación. Estos agentes pueden ser ejecutados en un grid, un
clúster o una computadora personal. Los agentes o pilotos son ejecutados como
trabajos normales del grid de gLite, por ejemplo, y cuando el recurso está
disponible se comunica con la cola central de trabajos y le es asignado un trabajo
para su ejecución. Este trabajo será asignado de acuerdo con sus características y
prioridades y con las capacidades del recurso. Es decir, se utiliza el Pull Model y
el trabajo se envía cuando el recurso está disponible. Este modelo ha sido
probado en situaciones extremas.
El DIRAC incluye todos los recursos de cálculo y almacenamiento instalados con
el middleware gLite. El equipo DIRAC desarrolló un Web Portal desde el cual los
usuarios pueden consultar el estado y eliminar o reenviar sus trabajos. El DIRAC
también soporta los trabajos MPI; siguiendo la idea de los trabajos piloto, se
instala en los sitios una implementación de MPI, MPICH2,20 con la idea de que los
trabajos de MPI sean ejecutados en sitios que explícitamente provean o no la
capacidad de ejecutar trabajos de manera paralela.
298
Conclusiones
Los grids son una realidad, continúan desarrollándose y cada día aumenta el
número de posibilidades y de científicos que lo utilizan para resolver los
problemas con los cuales se encuentran y que requieren de las grandes
capacidades de cálculo que proveen organizaciones diferentes.
299
Referencias
1. Foster, I. What is the Grid? A Tree Point Checklist, Argonne National
Laboratory & University of Chicago, julio de 2002.
2. Foster, I. y C. Kesselman, The Grid: Blueprint for a New Computing
Infrastructure, Argonne National Lab & University of Chicago, 1998.
3. Braverman, A., ‚Gather of the Grid‛, University of Chicago Magazine, abril
de
2004.
En
Internet
(http://magazine.uch
icago.edu
/0404/features/indesx.shtml), página consultada el 1 de noviembre de 2009.
4. Grid Computing, en Internet, (http://en.wi ki pe dia.org/
wiki/Grid_computing), página consultada el 1 de noviembre de 2009.
5. Zaglacas, G., Grid Computing: Meeting the Challenges of an On Demand
World,
IBM,
septiembre
de
2004.
En
Internet
(http://www.ibm.com/developerworks/rational/library/content/RationalEdge/sep04/za
glakas/index.html), página consultada el 1 de noviembre de 2009.
6. Myerson, J., Cloud Computing versus Grid Computing, IBM, marzo de 2009.
En Internet (http://www.ibm.com /developer works/web/library/wacloudgrid/), página consultada el 1 de noviembre de 2009.
7. An EGEE Comparative Study: Grids and Clouds. Evolution or Revolution,
CERN, julio de 2008. En Internet (https://edms.cern.ch /file/925013/4 /EGEEGrid-Cloud-1_2.pdf), página consultada el 1 de noviembre de 2009.
8. gLite, en Internet (http://en.wiki pedia.org/wiki/GLite), página consultada
el 1 de noviembre de 2009.
9. DIRAC
Site,
en
Internet
(https://twiki.cern.ch/
twiki/bin
/view/LHCb/DIRAC3Site), página consultada el 1 de noviembre de 2009.
10. En Internet (http://glite.web.cern .ch/glite/).
11. En Internet (https://twiki.cern.ch/twik i/bin/view/LHCb/DIRAC3Site).
12. En Internet (http://setiathome.berk eley.edu/).
13. En Internet (http://www.globus.org/).
14. En Internet (http://www.ietf.org/).
15. En Internet ( http://www.w3.org).
16. En Internet ( http://www.oasis-open.org).
17. En Internet (http://www.globalgrid forum.org).
18. En Internet (http://public.web.cex rn.ch/public/).
19. En Internet (http://lhcb.web.cern.ch /lhcb/).
20. En Internet (http://www.mcs.anl.gov/ research/projects/mpich2/).
300
Herramienta Computacional para Determinar la
Confiabilidad de los Activos Reparables de
Distribución de CFE
Teresa Natalia Figueroa Ríos, Leopoldo Altamirano Robles, Benjamín Sierra
Rodríguez
Resumen. La Comisión Federal de Electricidad (CFE) es una empresa de clase
mundial que tiene que realizar acciones de optimización en el uso de activos fijos,
tomando en consideración que se deben disminuir los tiempos de fuera de
servicio, los costos de mantenimiento, los costos de operación y los accidentes de
trabajo, y elevar la productividad, el desempeño, la vida útil del equipamiento y
la seguridad. Por tal razón, el LVC-INAOE le ha propuesto a la CFE el desarrollo
de un sistema para determinar el índice de confiabilidad de sus equipos y
materiales de distribución. En este trabajo se presentan el estudio, el análisis y la
implementación computacional de las herramientas probabilísticas y estadísticas
que permiten la obtención de la confiabilidad de los activos reparables.
Palabras clave: confiabilidad, estadística, riesgo, herramienta computacional.
Abstract. Federal Commission of Electricity (CFE) is a world-wide class company
that has to develop strategies to optimize the use of fixed assets, which
considering that it has to decrease out-service time, maintenance and operation
costs, and work accidents, and it has to increase productivity, performance,
equipment useful life, and security. For these reasons LVC-INAOE has proposed
CFE develop a system which calculates the equipment and materials reliability
ratio. This paper describes the study, analysis and computer implementation of
the probabilistic and statistical theory to calculate the reparable assets reliability
ratio.
Keywords: Reliability, Statistical, Risk, Computer Tool.
Sumario:
1 Introducción 2 Confiabilidad de equipos reparables 2.1 Modelo de Harkov 3
Diseño y desarrollo de la herramienta computacional que determina la
confiabilidad de los activos reparables 3.1 Descripción de clases 3.1.1 Clase
301
‚activos reparables‛ (ActivosReparables) 3.1.2 Clase ‚par{metros‛ (Parametros)
3.1.3 Clase ‚tiempos de reparación‛ (TiempoReparacion) 3.2 Validación de la
herramienta computacional 4 Conclusiones Referencias
1 Introducción
La Comisión Federal de Electricidad (CFE) tiene como misión asegurar a sus
clientes el servicio de energía eléctrica en condiciones de cantidad, calidad y
precio. Uno de los procesos que le permite cumplir con esta misión es la
prevención de las fallas en equipos; para esto, es necesario hacer estudios
estadísticos que diagnostiquen el comportamiento operativo de los equipos y
obtener modelos probabilísticos para determinar la incidencia de fallas y el índice
de confiabilidad y que posteriormente estos resultados sean considerados como
la base para la toma de decisiones que eviten la ocurrencia de fallas. Es decir, el
estudio y análisis de la confiabilidad de los equipos de la CFE son necesarios para
la toma de mejores decisiones a lo largo de la vida útil de cada equipo, ya que
actualmente la confiabilidad se ha convertido en una herramienta indispensable
para la gestión moderna del diseño, construcción, operación y mantenimiento de
las principales tecnologías existentes, la cual se puede aplicar en todo tipo de
procesos industriales, incluidos la generación, transmisión, transformación y
distribución de energía eléctrica.
En este trabajo se mostrará la herramienta computacional que sirve para la
obtención del índice de confiabilidad y otros índices estadísticos que
complementan la información para la toma de decisiones correspondientes al
mantenimiento, operación, reemplazo o compra de activos reparables.
Un equipo reparable es aquel que después de sufrir una falla se puede arreglar de
tal forma que vuelva a realizar la función para la cual fue diseñado. Los estados
de tales equipos son dos: en operación o en reparación. Es conveniente utilizar un
modelo de Markov que represente el comportamiento del equipo reparable y por
medio de éste obtener la confiabilidad y disponibilidad del equipo.
2 Confiabilidad de equipos reparables
Un equipo reparable es aquel cuya condición operativa puede restaurarse
después de fallar, con una reparación.1 Esta consideración implica que en su vida
puede ocurrir más de una falla, y es ésta la diferencia fundamental con los
equipos ‚no reparables‛, en cuya vida sólo puede ocurrir una única falla. Un
esquema básico del comportamiento de un equipo reparable se muestra en la
figura 1.
302
Fig 1. Representación del ciclo operación-falla-reparación-operación de un
componente.
El equipo es puesto en operación y se encuentra funcionando al tiempo t = 0.
Cuando el equipo falla, es reparado. Tenemos entonces una secuencia de tiempos
de vida o tiempos de funcionamiento T1, T2,... para el equipo; estos tiempos
siguen cierta función de distribución F(t) = P(Ti ≤ t); i = 1, 2, <, y tiempo medio
para la falla MTTF = E(T). Cuando el equipo falla, estará fuera de servicio por un
cierto periodo, al que llamaremos ‚tiempo de reparación del equipo‛.
Asumiremos que los tiempos de reparación D1, D2,< son independientes e
idénticamente distribuidos (i.i.d), con función de distribución F(t) = P(Di ≤ t); i = 1,
2, <, y tiempo medio de reparación MTTR = E(D).
2.1 Modelo de Markov
Un activo reparable en cualquier momento puede estar trabajando normalmente
o tener una falla. Los estados del elemento se representan en la figura 2.
Fig. 2. Representación de los estados de los equipos.
Sobre esto, las variables más importantes al momento de un análisis son, sin
lugar a duda, el número de ocurrencias de fallas y sus duraciones. Por ende, la
estimación de estos datos se torna una misión indispensable. Esta estimación
presenta cierta complejidad debido a que la ocurrencia de una falla es un hecho
fortuito, difícil e incluso imposible de anticipar.
Así, entonces, el sistema es continuo en el tiempo, con estados discretos finitos,
con lo que se ajusta muy bien a una representación mediante los procesos
303
continuos de Markov.2 Cada elemento reparable, cuando falla, se repara, lo cual
permite establecer una condición de operación normal del equipo o de falla. 1
El modelo de los componentes considera sólo dos estados (falla y operación); el
modelo de Markov es perfectamente adecuado para determinar la probabilidad
del estado y la disponibilidad; sin embargo, otros parámetros de confiabilidad,
tales como la frecuencia de encontrarse en un estado y la duración promedio de
residencia en dicho estado entrega información importante. La probabilidad de
que un elemento esté en operación está dada por:
m
(10)
P (op ) 
mr
Donde m es el tiempo promedio de operación y r es el tiempo medio de
reparación. La aplicación de esta técnica puede resumirse en lo siguiente:
1.
2.
3.
Evaluar las probabilidades de los estados.
Evaluar la frecuencia de encuentro en un estado.
Evaluar la duración media de cada estado.
Consideremos un componente reparable con una tasa de fallas  y una tasa de
reparación µ, donde el componente falla y es reparado inmediatamente. El
componente tiene dos estados: el estado 0, donde el activo está en operación, y el
estado 1, donde el activo esta fuera de servicio. 3
A la probabilidad de que un componente experimente una falla por unidad de
tiempo, dado que el componente es reparable, se le llama ‚tasa de falla r(t)‛.
r (t ) 
 m   1
(t )

(11)
El tiempo promedio entre fallas (MTTF) se obtiene mediante:

MTTF   tf (t )dt
(12)
0
Donde f(t) es la función de probabilidad de los tiempos hasta la falla, la cual
depende del tiempo. Si la función de confiabilidad es R(∞)=0, entonces el MTTF
puede expresarse como:

MTTF   R(t )dt
(13)
0
Si consideramos el proceso de falla-reparación como una cadena donde t=0 indica
el tiempo en que el componente ha fallado, a la probabilidad de que el activo sea
304
reparado completamente antes de un tiempo t se le llama ‚distribución de
reparación G(t)‛.
El tiempo de reparación es una variable aleatoria, para la cual podemos tener su
valor esperado; el valor medio de reparación (MTTR) se obtiene de la siguiente
manera:

MTTR   tg (t )dt
(14)
0
Si G(∞) = 1, entonces el MTTR puede escribirse como

(15)
MTTR  1  G(t )dt

0
Para el proceso de falla-reparación-falla, donde X(t) es la variable que define el
estado del elemento; es decir, si x(t) = 0 quiere decir que el componente está en
operación y x(t) = 1 indica que el componente está en estado de falla:
P (1 | 0)  P ( x(t  dt )  1 | x(t )  0)  dt
P (0 | 0)  P ( x(t  dt )  0 | x(t )  0)  1  dt
P (1 | 1)  P ( x(t  dt )  1 | x(t )  1)  1  dt
P (0 | 1)  P ( x(t  dt )  0 | x(t )  1)  dt
(16)
La P( x(t  dt )  1 | x(t )  0) es la probabilidad de que el elemento falle al
tiempo t + dt, dado que la componente esta funcionando al tiempo t.
3 Diseño y desarrollo de la herramienta computacional que
determina la confiabilidad de los activos reparables
Esta herramienta fue creada con el lenguaje de programación orientada a objetos
JAVA.4 El proceso de desarrollo de implementación de la sección anterior en la
herramienta computacional se muestra en el diagrama de flujo de la figura 3, el
cual representa a grandes rasgos las etapas que se siguen para obtener la
confiabilidad de equipos reparables.
305
Fig. 3. Diagrama de flujo del proceso llevado a cabo en la herramienta
computacional.
El funcionamiento de la herramienta se basa en tres clases principales:
 Clase activos reparables
 Clase parámetros
 Clase tiempos de reparación
La interacción entre las clases permite la obtención de la confiabilidad, el tiempo
esperado de falla, el tiempo esperado de reparación y la disponibilidad de un
equipo reparable. En la figura 4 se presenta el diagrama de clases en el cual se
muestra la interacción que existe entre las funciones de las diferentes clases.
306
Fig. 4. Diagrama de clases para obtener la confiabilidad.
3.1 Descripción de clases
Como se mencionó anteriormente, la programación está dividida en tres clases,
donde cada una contiene funciones que permiten obtener la confiabilidad tanto
numérica como gráfica. A continuación se describe cada una de las clases.
3.1.1 Clase “activos reparables” (ActivosReparables)
Ésta es la clase principal, la cual se encarga de la interfaz gráfica que se muestra
al usuario, en dicha interfaz se visualizan gráfica y numéricamente los resultados
obtenidos acerca de la confiabilidad para los activos reparables; además, permite
al usuario calcular la confiabilidad y la tasa de fallas en un tiempo dado.
Esta clase tiene funciones que se encargan de realizar los cálculos estadísticos
para obtener estimadores de los tiempos de falla y reparación, así como la
confiabilidad.
3.1.2 Clase “parámetros” (Parametros)
El objetivo de esta clase es obtener los parámetros de la función de distribución
de probabilidad de la confiabilidad para activos reparables, además de realizar
los cálculos para obtener el número esperado de fallas, el tiempo promedio de
falla, el tiempo esperado para la próxima falla.
3.1.3 Clase “tiempos de reparación” (TiempoReparacion)
307
En esta clase se obtienen estadísticas de los tiempos de reparación, como el
tiempo promedio de reparación y la disponibilidad de un equipo.
3.2 Validación de la herramienta computacional
Para validar que la aplicación sólo admite datos correctos y confiables se
realizaron pruebas con cuatro tipos de datos: datos ficticios, datos erróneos, datos
reales.
 Datos ficticios. Aquellos datos que se generaron sin ninguna metodología
numérica para probar la herramienta
 Datos erróneos. Aquellos datos que se introducen de manera intencional para
probar y comprobar que el sistema los detecta.
 Datos reales. Aquellos con los que el sistema va a trabajar normalmente.
 Datos fortuitos. Aquellos que se generaron mediante un software de forma
aleatoria para probar el programa.
Todos estos datos sirvieron para probar que la herramienta obtiene los resultados
esperados. Además, se ejecutó la aplicación reiteradamente con diferentes
cantidades de datos para obtener la capacidad de procesamiento, concluyendo
que esta herramienta soporta 10 000 000 de datos. Finalmente, depurada y
validada la herramienta, su interfaz se muestra en la figura 5.
Fig. 5. Resultados obtenidos por la herramienta.
308
En la figura anterior se observan las gráficas de confiabilidad y la de la función
de riesgo del lado izquierdo, del lado derecho superior se muestran las diferentes
estadísticas de los tiempos de falla y reparación, así como la confiabilidad del
equipo, y en la parte inferior derecha se permite al usuario introducir
información para obtener las estadísticas principales, como la confiabilidad, el
riesgo y la disponibilidad.
4 Conclusiones
Ésta es una herramienta computacional desarrollada con el lenguaje de
programación JAVA, el cual permite tener interfaces gráficas que el usuario
comprende fácilmente y también realiza cálculos matemáticos de mediana y alta
complejidad. Con esta herramienta computacional se pretende apoyar el manejo
eficiente de los equipos y materiales eléctricos de distribución de la CFE. Con los
resultados que se obtienen mediante de esta herramienta se espera que:
 Se adquieran equipos en función de su confiabilidad operativa, de su vida
útil y de los costos que éstos tengan por operarlos y mantenerlos en buen
estado.
 Se optimice la gestión de operación y mantenimiento de los equipos.
 Se mejore el diseño de los equipos por parte de los fabricantes.
 Se cuente con evidencia técnica para el reclamo de garantía, expectativa de
vida útil y expectativa de vida remanente.
309
Referencias
1. Gnedenko y Ushakov, Probabilistic Reliability Engineering, John Wiley & Sons,
1995.
2. Kumamoto y Henley, Probabilistic Risk Assessment and Management for
Engineers and Scientists, IEEE Press, Nueva York, 1996.
3. Modarres, M., Kaminsky, M. y V. KrivtsoV, Reliability Engineering and
Analysis, CRC Press, Taylor & Francis Group, 1999.
4. JAVA, Developer Resources for JAVA Technology, enero de 2008.
5. Foster, I. y C. Kesselman, The Grid: Blueprint for a New Computing
Infrastructure, Morgan Kaufmann, San Francisco, 1999.
6. Aggarwal, Reliability Engineering, Kluwer Academia Publishers, 1999.
7. Pecht, Product Reliability, Maintainability, and Supportability Handbook, CRC
Press, 2000.
310
Modelo Eléctrico del Cátodo de una Descarga de
Alta Presión de Sodio
José Luis Tapia Fabela, Yulia Nikolaevna Ledeneva, René Arnulfo García
Hernández
Resumen: En este trabajo se presenta el desarrollo de un modelo eléctrico del
cátodo (ECM) de una descarga HPS, basado en las ecuaciones físicas que
describen su comportamiento eléctrico. El modelo evalúa la caída de voltaje
instantánea en la cubierta del cátodo (caída de voltaje predominante en una
lámpara HPS) y la distribución de temperatura en su interior usando como
parámetros de entrada la geometría del cátodo y la corriente de la descarga. El
ECM se basa en la ecuación del transporte de calor del electrodo; dicha ecuación
fue resuelta empleando el método de elementos finitos. Los resultados obtenidos
fueron comparados con los reportados en la literatura, encontrándose una buena
correspondencia. Por lo anterior, se concluye que el ECM es una herramienta que
ayuda a entender la interacción entre la descarga y el cátodo.
Sumario:
1 Introducción 2 Geometría del cátodo 3. Modelo teórico 3.1 Cálculo de la
temperatura en la superficie activa del cátodo 3.2 Ecuación del transporte de calor
del electrodo 3.3 Condiciones de frontera 4 Resultados y discusión 4.1 Cálculo de la
temperatura en la superficie activa del cátodo 4.2 Cálculo de la distribución de
temperatura en el electrodo 4.3 Cálculo del gradiente en la superficie activa del
cátodo 5 Conclusiones Referencias
1 Introducción
Los electrodos de una lámpara de descarga gaseosa constituyen la interfaz entre
la columna positiva y el circuito electrónico. Una fracción importante de la
potencia eléctrica suministrada a la lámpara se disipa en los electrodos
resultando en una pérdida de potencia para efectos de iluminación. Por lo tanto,
resulta esencial comprender la interacción entre los electrodos y la columna
positiva para tratar de reducir las pérdidas de energía y mejorar el desempeño de
la lámpara.
El estudio experimental de la interacción entre el cátodo y la columna positiva de
una descarga resulta difícil de realizar usando lámparas comerciales porque éstas
311
no cuentan con terminales que permitan medir la caída de potencial en los
electrodos, así que es necesario una disposición experimental sofisticada para
realizar las mediciones. Además, en algunos casos, las dimensiones de las
descargas son tan pequeñas que resulta difícil realizar las mediciones.
Consecuentemente, un modelo numérico de la interacción plasma-cátodo
representa una buena opción para llevar a cabo dicho estudio. En este trabajo se
propone un modelo eléctrico del cátodo ECM de una descarga, el cual es capaz
de predecir la caída de voltaje a través de la cubierta del cátodo bajo diferentes
frecuencias y formas de onda de la corriente de alimentación. El ECM se basa en
la ecuación del transporte de calor en el electrodo y la ecuación de las pérdidas
eléctricas en el frente del electrodo propuesta por J. J. de Groot y J. A. van Vlient. 4
Esta ecuación relaciona el gradiente de temperatura en el frente del electrodo
(superficie activa) con la caída de potencial en el mismo.
El ECM fue desarrollado en MatLab aplicando el método de solución de
elementos finitos. El modelo propuesto está basado en ecuaciones físicas que
describen el comportamiento eléctrico del cátodo y por lo tanto es válido bajo
diversas condiciones de operación. El usuario del ECM sólo necesita introducir
amplitud, frecuencia y forma de onda de la corriente de la columna positiva, y
para una geometría del cátodo dada, el modelo predecirá la caída de voltaje
instantánea en el cátodo. Además, usando el ECM es posible calcular la
distribución de temperatura dentro del cátodo. Esto resulta de gran interés
porque la vida útil de una lámpara HPS está fuertemente relacionada con la
distribución de temperatura en los electrodos.9
2 Geometría del cátodo
El cátodo de una descarga HPS alcanza una alta temperatura durante su
funcionamiento, por lo que éste debe ser elaborado con un material refractario,
con un punto de fusión alto. La geometría del cátodo de una descarga HPS se
muestra en la figura 1.
Fig. 1. Sección transversal del cátodo de una lámpara de descarga HPS. 2
312
El cátodo de una descarga HPS está compuesto por una barra de tungsteno
envuelta con una o dos bobinas del mismo material; esto tiene el objetivo de
incrementar la superficie radiativa. Entre las bobinas se deposita una mezcla
activadora de bario que permite una mayor emisión de electrones.
3 Modelo teórico
De acuerdo con J. J. de Groot y J. A. van Vlient,4 las pérdidas eléctricas ( Pk ) en el
frente del cátodo ( y  0 ) de una descarga HPS están definidas por la ecuación
(1):
3
 dT 
1

Pk   d e  2 K 
4
 dy  y 0
(1)
donde: d e simboliza el diámetro
en el frente del electrodo, K es la
conductividad
térmica
del
y  z (d e
tungsteno,
1 2
)
representa la coordenada axial reducida con z igual a la coordenada axial y T
es la temperatura del electrodo. Como se puede observar en la ecuación (1), la
caída de potencial en el cátodo está relacionada con el gradiente de temperatura
en su superficie activa. Por lo tanto, para calcular las pérdidas eléctricas en el
electrodo de una descarga, es necesario obtener la distribución de temperatura a
través del mismo usando una determinada corriente eléctrica y condiciones de
frontera. Una vez que se conoce la distribución de temperatura es posible
especificar el gradiente de temperatura en la superficie activa del electrodo.
3.1 Cálculo de la temperatura en la superficie activa del cátodo
La emisión termoiónica de electrones, en el caso del cátodo de una descarga HPS,
se ve favorecida con el campo eléctrico aplicado y por la presencia de la capa
activadora, que reduce la función de trabajo en la superficie del electrodo.
En este estudio se asume que la densidad de corriente en la superficie activa del
cátodo ( j ) está definida por:
corriente iónica y
j  ji  je , donde ji representa la densidad de
je es la densidad de corriente de electrones compuesta por la
emisión secundaria ( je
sec
) relacionada con el proceso γ-Townsed y por la
th
emisión termo-iónica corregida por el campo eléctrico ( je ) —descrita en la
ecuación de Richardson-Dushman ecuación (4). Por lo tanto: je  je  je
th
sec
. De
acuerdo con Sherman, la emisión de electrones secundarios debida al
bombardeo de iones de sodio sobre el cátodo de tungsteno es igual al 1% de los
iones que alcanzan el c{todo. Usando el coeficiente β-Waymouth, el cual
7
313
establece una relación entre la densidad de corriente iónica
ji y electrónica je en
la cubierta del cátodo de una descarga HPS [Waymouth, 1982] tenemos:
j
ji
 i 
(2)
je j th  j sec
e
e
j e sec   j i
(3)
 e  ( Ek ) 

jeth  A T 2 exp

 k T 

donde: A  4  e me k 2
(4)
h
 1.2  10 6 A m -2  2 , simboliza la constante de
Richardson-Dushman,7 e y me representan la carga y la masa del electrón
respectivamente, h es la constante de Planck, k es la constante de Boltzmann,
Ek
 ( E k )   0   ( E k );
3
 ( E k ) 
e Ek
4  0
(5)
Corresponde al campo eléctrico aplicado en la superficie del cátodo y se relaciona
con la caída de potencial ( Vk ) mediante la ecuación de MacKeown:6
 1  
 e  ( Ek ) 
2
 A Tact

j  
exp
1   
 k Tact 
(6)
Ek2  4 ji  0  mi Vk 2 e donde mi representa la masa iónica del sodio,  0 es
igual a la constante dieléctrica del vacío, y:
Aquí,
0
es la función de trabajo para el tungsteno y  simboliza la corrección
Schottky para la función de trabajo del tungsteno.
Para calcular la temperatura en la superficie activa del cátodo de una descarga
HPS, se asume que el acoplamiento entre el arco y el cátodo es de modo difuso.5
Cuando el cátodo opera en modo difuso, el plasma cubre la superficie activa del
electrodo y sus lados. En el presente estudio se supone que únicamente la
superficie activa del cátodo participa en la emisión termoiónica. Las otras zonas
del electrodo son consideradas inactivas desde el punto de vista de emisión
electrónica.5
Tomando en cuenta los argumentos anteriores y substituyendo las ecuaciones (2)
y (3), en la ecuación (4), es posible derivar la siguiente ecuación que relaciona la
densidad total de corriente con la temperatura en la superficie activa del cátodo (
Tact ):
314
Resolviendo la ecuación anterior se puede deducir la temperatura en la superficie
activa del cátodo que produce una densidad de corriente igual a la corriente de la
descarga. De acuerdo con Waymouth,9 el valor del coeficiente  es considerado
como el 20% de la densidad de corriente de electrones.
3.2 Ecuación del transporte de calor del electrodo
La distribución de temperatura dentro del cátodo y en su superficie activa puede
obtenerse resolviendo la ecuación (7) del transporte de calor del electrodo,
usando las condiciones de frontera dadas (véase la sección 3.3). La ecuación (7)
describe la variación de la cantidad de calor por unidad de volumen en el
electrodo:1
 cp
T
 S  K T 
t
(7)
donde:
densidad,

representa
cp
la
la
capacidad
calorífica específica, T es la temperatura del electrodo, t denota la dependencia
del tiempo de la ecuación y K simboliza la conductividad térmica del tungsteno.
El término S de la ecuación (7) representa la potencia disipada en el electrodo
por unidad de volumen debida al efecto Joule y es dada por la ecuación: 1
S  e j 2
(8)
Aquí j representa la densidad de
corriente de la descarga y
e
la conductividad eléctrica del electrodo. El calor
producido en el cuerpo del electrodo debido a la circulación de la corriente de la
descarga a través del mismo, eleva su temperatura y por consiguiente el valor de
la conductividad eléctrica
e
cambia; este cambio está determinado por la
relación:1
Las
constantes
0
y

 e (T )   o 1   T  Tact 
(9)
dependen del material del cual está constituido el cátodo. Para el caso del
tungsteno sus valores se muestran en el cuadro 1. Además, la condición
suplementaria siguiente, para la corriente total de la descarga, debe ser
verificada:
donde:
r0  d e 2 es el radio del
2
cátodo, r es la coordenada radial
e I representa la corriente en la descarga.
r0
 j r dr  I
(10)
0
315
Cuadro 1. Coeficientes del tungsteno (Cristea, 2003)
Símbolo
Valor
Unidades

19300
[kg m-3]
cp
133
K
0

776/(T0.256)
5.28X10-8
6.76X10-3
[J kg-1 K-1]
[W m-1 K-1]
*Ω-1m-1]
[K-1]
3.3 Condiciones de frontera
El frente (superficie activa) y el extremo posterior del cátodo fueron
caracterizados con una condición de frontera de Dirichlet. La temperatura en el
extremo posterior del cátodo de una descarga HPS similar a la modelada en este
estudio fue medida experimentalmente por Cristea Tend  600K ;1 en el presente
estudio, ante la imposibilidad de realizar esta medición, se usó el valor reportado.
La temperatura en la superficie activa del cátodo Tact se obtiene al resolver la
ecuación (6) para una determinada densidad de corriente de la descarga. Las
condiciones de frontera en los bordes del cátodo se definieron como condiciones
de Neumann; el significado físico de estas condiciones es el intercambio continuo
del flujo energético —radiación, conducción, convección— entre el cátodo y el
medio adyacente. La ecuación que define la condición de frontera es: 1


 T 
4
4
K (Tb ) 
  n  (Tb  Tamb )   (Tb )  (T(11)
b  Tamb )
donde:
representa
la
Tb
 n b
temperatura del cátodo en el
borde, Tamb es la temperatura ambiental,  es el coeficiente de convección, 
simboliza la emisividad del tungsteno y
El término

es la constante de Stefan Boltzmann.
(T n ) b representa la derivada de la temperatura en dirección
normal n a la superficie activa del cátodo.
4 Resultados y discusión
El procedimiento empleado para calcular las características eléctricas del cátodo
se resume en el diagrama de flujo mostrado en la figura 2. En este diagrama los
316
parámetros de entrada y salida son representados mediante rectángulos
redondeados para diferenciarlos de los rectángulos que identifican a los pasos de
proceso.
Como se puede ver, para obtener la temperatura en la superficie activa del
electrodo es necesario conocer la caída de voltaje inicial en el cátodo y la corriente
de la descarga. Con la temperatura obtenida es posible calcular la distribución de
temperatura a través del electrodo, y continuando con los pasos subsecuentes se
puede obtener una nueva caída en el cátodo que cumpla con las condiciones
impuestas. El proceso se repite hasta que el programa converge.
La ecuación (7) fue resuelta en MatLab usando el método de elementos finitos.
Las dimensiones del cátodo empleado fueron: d e =1 mm, r2 =1.5 mm, r3 =1.0
mm, d1 =1.5 mm, d 2 =3 mm, d 3 =5 mm (véase la figura 1). Los resultados
obtenidos se presentan a continuación:
Corriente de la descarga
jcalculada  0
 1   2
 e ( Ek ) 
j 
 ATact exp

 kTact 
 1   
j  jcalculada  .03 j
sí
fin
no
Temperatura en la superficie
activa del cátodo
c p
 1   2
 e ( Ek ) 
jcalculada  
 ATact exp

 kTact 
 1   
T
 S  K T 
t
Distribución de temperatura
en el cátodo
 dT 
 
 dy  y  0
Gradiente de temperatura
en la superfice activa del cátodo
3
 dT 
1

Pk   d e2 K 
4
 dy  y  0
Caída de potencial
en el cátodo
Fig. 2. Solución estructurada para calcular la caída de voltaje en la cubierta del
cátodo de una descarga HPS.2
317
4.1 Cálculo de la temperatura en la superficie activa del cátodo
La temperatura en la superficie activa del cátodo se obtiene mediante la ecuación
(6). La solución fue conseguida por medio de un proceso iterativo que cambia la
temperatura en la superficie activa del cátodo y calcula la corriente necesaria para
alcanzar dicha temperatura, el proceso finaliza cuando se converge con la
corriente impuesta por la descarga. En otras palabras, la solución de la ecuación
(6) es una temperatura que produce una densidad de corriente eléctrica igual a la
de la descarga. Los resultados del proceso anterior, para una densidad de
corriente de la descarga de 1.2732×106 A/m2 en una lámpara HPS (400 W), se
muestran en la figura 3. La temperatura obtenida en la superficie activa alcanza
los 1650 K.
Fig. 3. Solución gráfica para la temperatura de la superficie activa del cátodo
usando una densidad de corriente de la descarga de j  1.2732x106 Am 2 .
4.2 Cálculo de la distribución de temperatura en el electrodo
En la figura 4 se presenta la distribución de temperatura a través del cátodo de
una descarga HPS, obtenida para una temperatura en la superficie activa de
Tact  1650 K , la cual corresponde a una corriente en la descarga de 4 A. Como
se puede observar, la distribución de temperatura presenta simetría axial.
Considerando que en modo difuso la tasa de agotamiento de la capa de emisión
del cátodo es la misma en todos los puntos; entonces, se puede suponer que en
318
este modo de operación el cátodo funcionará apropiadamente hasta la conclusión
de la capa de emisión. La distribución de temperatura dentro del cátodo de una
descarga resulta de gran interés debido a que la vida útil de las lámparas HPS
está íntimamente relacionada con dicha distribución. 3
Fig. 4. Distribución de temperatura (escala de grises) y flujo de calor (flechas) en
el cátodo de un descarga HPS.
4.3 Cálculo del gradiente en la superficie activa del cátodo
Una vez que se cuenta con la distribución de temperatura en el interior del
cátodo, es posible calcular el gradiente de temperatura en el frente del electrodo
(superficie activa). En la figura 5 se muestra el perfil de temperatura en el centro
del cátodo de una descarga HPS. En el frente del electrodo la temperatura es de
1650 K; sin embargo, la temperatura decrece rápidamente cuando se aproximan a
la parte posterior del electrodo alcanzando un valor de 600 K. El decremento de
temperatura es debido a las pérdidas por conducción y radiación del cátodo
definidas en las ecuaciones (7) y (11). Asimismo, en la figura 5 se muestra el
gradiente de temperatura en la superficie activa del electrodo. El perfil de
temperatura fue comparado con las referencias,1 se encontró una buena
correspondencia en cuanto a la pendiente del perfil en los primeros 5 mm; sin
embargo, existe una notable diferencia en la parte posterior del electrodo. Lo
anterior se explica debido al hecho de que para el cálculo del perfil de
temperatura, los autores de las referencias anteriormente citadas, consideran que
el electrodo es una barra de longitud infinita, y el cálculo lo realizan de manera
unidimensional.
319
Fig. 5. Gradiente de temperatura en la parte frontal del cátodo usando una
corriente senoidal de 4 A de 60 Hz.
Usando el gradiente de temperatura de la superficie activa del cátodo, obtenido
en la sección previa, se pueden calcular las pérdidas eléctricas y
consecuentemente se logra determinar la caída de potencial en el cátodo. En la
figura 6 se resume el procedimiento adoptado en este estudio para determinar la
influencia de la frecuencia y forma de onda de la corriente de la descarga en la
operación del cátodo.
ECM
I (f, wf)
Fig. 6. Diagrama del modelo eléctrico del cátodo (ECM).
Como se puede observar, para realizar el estudio descrito, se aplica una fuente de
corriente I con frecuencia (f) y forma de onda (wf) al modelo propuesto ECM.
En el cuadro 2 se reportan algunos resultados típicos obtenidos para cátodos de
tungsteno en descargas HPS, lo anterior con el propósito de validar el modelo
desarrollado. En el cuadro 2 es importante notar un ligero incremento en la caída
de voltaje al aumentar la frecuencia. Las diferencias que aparecen con las
referencias consultadas son debidas probablemente a las simplificaciones
consideradas en el modelo propuesto.
320
Cuadro 2. Caída de voltaje típica obtenida para cátodos de tungsteno en
descargas HPS
5 Conclusiones
En el presente trabajo se diseñó un modelo eléctrico del cátodo de una descarga
HPS dispuesto para el diseño de balastras electrónicas. El modelo se basa en la
ecuación de la transferencia de calor y la ecuación de las pérdidas eléctricas del
electrodo. Fue implementado en MatLab mediante el uso del método de
elementos finitos. Debido a que el modelo propuesto está basado en ecuaciones
físicas que describen el comportamiento eléctrico del cátodo, los resultados
obtenidos con este modelo son validos sobre distintas condiciones de operación.
El ECM es capaz de predecir la caída de voltaje en la cubierta del electrodo, bajo
diferentes frecuencias y formas de onda de la corriente de alimentación. Usando
el ECM es posible determinar la distribución de temperatura en el interior del
cátodo, lo cual es de gran interés debido a que la vida útil de una lámpara HPS
está fuertemente relacionada con ésta. Los resultados obtenidos usando el
modelo fueron comparados con los reportados en la literatura y se encontró que
el modelo predice de una manera satisfactoria los parámetros eléctricos en el
cátodo de una descarga HPS. Por lo anterior se puede concluir que el ECM es una
herramienta que ayuda a entender la interacción entre la descarga y el cátodo con
el objetivo de mejorar el diseño de balastras electrónicas.
321
Referencias
1. Cristea, M. y G. Zissis, ‚Thin Barium Layer Formation and its Influence
on Tungsten Electrode Arc Attachment Modes in HID Lamps‛, Journal of
Optoelectronics and Advanced Materials, núm. 5, 2003, pp. 511-520.
2. Tapia Fabela, J. L., J. O. Pacheco-Sotelo, M. P. Pacheco, J. S. Benitez-Read,
R. Lopez-Callejas, G. Zissis y S. Bhosle ‚Modeling the Voltage Drop Across
the Cathode Sheath in HPS‛, IEEE Plasma Science, núm. 35, 2006, pp. 11041110.
3. Flesch, P., Light and Light Sources, High-Intensity Discharge Lamps,
Springer-Verlag, Nueva York, 2007.
4. De Groot, J. J. y J. A. van Vliet, The High Pressure Sodium Lamp, MacMillan
Education, Deventer, 1986.
5. Lichtenberg, S., D. Nandelstädt, L. Dabringhausen, M. Redwitz, J.
Luhmann y J. Mentel, ‚Observation of Different Modes of Cathodic Arc
Attachment to HID Electrodes in a Model Lamp‛, Journal of Physical
Development: Applied Physics, núm. 35, 2002, pp. 1648-1656.
6. Mackeown, S. S., ‚The Cathode Drop in an Electric Arc‛, Physical Review,
núm. 34, 1929, pp. 611-614.
7. Sherman, J. C., ‚Secondary Electron Emission by Multiply Charged Ions
and its Magnitude in Vacuum Arcs‛, Journal of Physical Development: Applied
Physics, núm. 10, 1977, pp. 355-359.
8. Tielemans, P. y F. Oostvogels, ‚Electrode Temperature in High Pressure
Gas Discharge Lamps‛, Philips Journal Research, vol. 38, 1983, pp. 214-223.
9. Waymouth, J. F., ‚Analysis of Cathode-Spot Behavior in High-Pressure
Discharge Lamps‛, Journal of Light and Vis. Env., núm. 6, 1982, pp. 53-64.
322
Control difuso de un Sistema no Lineal
Luis Eduardo Espinosa Maya, Godolfredo Sánchez Medina, Horacio George
Haro, René L. Pacheco L., Gerardo Villegas R., Gerardo Mino A., Oscar Morales
P., Honorato Azucena C., Jorge Barahona Ávalos
Resumen: En el presente trabajo se describe el diseño y la puesta en
marcha de un controlador difuso para un prototipo no lineal, el cual está
basado en el sistema clásico de la bola y la viga (ball and beam). El control
difuso se implementa en un microcontrolador PIC de la familia 16F, el
cual carece de instrucciones de multiplicación, por lo tanto, el diseño del
algoritmo y su codificación cobran importancia. La funcionalidad del
controlador se demuestra toda vez que resuelve el problema de control no
lineal cuando se desconoce el modelo dinámico de la planta.
Palabras clave: lógica
microcontroladores.
difusa,
control
difuso,
sistema
no
lineal,
Sumario:
1 Introducción 2 Lógica difusa 2.1 Controladores difusos 3.1 Construcción del
sistema 4 Diseño de control difuso 4.1 Estabilidad 4.2 Modelado y simulación 5
Resultados experimentales 6 Conclusiones Referencias
1 Introducción
El modelo de procesamiento de la información, desarrollado a finales del siglo
XIX y principios del siglo XX, que conforma el binomio lógica booleana-máquina
de Turing, es la base de los actuales sistemas de procesamiento digitales; por
ejemplo, los microprocesadores, los microcontroladores, etcétera. Sin embargo, y
sin desestimar sus indiscutibles logros, este esquema causa problemas cuadro se
abordan tareas del mundo real, donde la información se presenta de forma
masiva y típicamente distorsionada.
Algunos modelos alternativos han sido propuestos para abordar el tema; entre
ellos, las redes neuronales artificiales y los sistemas basados en lógica difusa son
los que cuentan con mayor popularidad y se utilizan más. Éstos y otros modelos
de procesamiento y control se engloban bajo el término de ‚inteligencia
323
computacional‛ o ‚soft computing‛, puesto que su inspiración para las soluciones
son las que la naturaleza ha encontrado a lo largo de millones de años de
evolución. Las soluciones naturales se copian en los sistemas artificiales, de los
cuales se espera que contribuyan a resolver problemas tecnológicos importantes.
La inteligencia artificial (IA) es una combinación de la ciencia de las
computadoras, la psicología y la filosofía.
Por otra parte, un controlador clásico es un compensador de atraso-adelanto cuyo
diseño se basa en el conocimiento de un modelo matemático; el éxito del control
reside comúnmente en la fidelidad de la representación del comportamiento de la
planta por parte del modelo, lo que hace que estas técnicas sean de difícil
aplicación cuando se desconoce el modelo o la incertidumbre es demasiada.
Con estas premisas, aquí se propone el diseño y la puesta en marcha de un
controlador difuso para un prototipo no lineal, usando un microcontrolador
como sistema de procesamiento. Para los fines del trabajo, se plantea un sistema
lineal del cual se conoce su representación matemática (sistema de la bola y la
viga o ball and beam); con éste se complementa el diseño y se pone en marcha con
el controlador mediante la simulación del sistema en lazo cerrado.
2 Lógica difusa
El desarrollo de controladores difusos ha emergido como una de las más
prósperas y fructíferas aplicaciones de la teoría de conjuntos difusos. Esta teoría
fue postulada por Lotfi Zadeh, como una generalización de los conjuntos clásicos.
Ya en los trabajos seminales, introduce la idea de formular el problema de control
mediante el uso de reglas expresadas con representaciones lingüísticas. Las
experiencias diarias de la vida real nos dan muchos ejemplos donde esto se
confirma, como cuando el entendimiento, el pensamiento y la habilidad humana
resuelven de manera eficiente el problema del control en una gran variedad de
sistemas y sin hacer uso de los algoritmos sofisticados de la teoría del control.
Mamdani y sus colegas fueron los primeros en aplicar la lógica difusa al control
de procesos, particularmente, en un sistema de control para una máquina de
vapor, y desde entonces el número de aplicaciones de los controladores difusos
ha ido en aumento hasta estar prácticamente en todos los campos de la
Ingeniería. Los controladores difusos tienen potencialmente muchas ventajas
cuando las especificaciones del control requieren robustez, adaptabilidad y
flexibilidad, debido a perturbaciones del entorno o a efectos no modelables de la
dinámica del sistema. Los controladores difusos están basados en reglas que
hacen discreto el espacio de operación continuo, no lineal y multidimensional en
las clases discretas. Utilizando la lógica multivaluada, las variables difusas de las
reglas preservan la información cuantitativa en los valores correspondientes de
clase y de pertenencia a esa clase. El comportamiento del controlador difuso se
324
optimiza mediante una máquina de estados finitos, en términos de las clases
discretas, y finalmente se usa la
(3)
F  u, MembF u | u  U
información de la función de
pertenencia para hacer una
interpolación suave entre los
puntos vecinos del espacio de operación continuo.

 

Proposición 1. Conjuntos difusos. Para cualquier conjunto clásico C, definido en el
universo de discurso U, es posible definir una función característica Memb C : U
→ {0, 1} como:
(17)
.
En la teoría de conjuntos difusos, esta función característica se generaliza como
una función de pertenencia que asigna a cada elemento u є U un valor en el
intervalo unitario [0, 1]. El conjunto F obtenido con base en tal función de
pertenencia se define como conjunto difuso.
Función de pertenencia. La función de pertenencia MembF del conjunto difuso F es:
MembF : U  0,1 ,
(2)
donde, para cada elemento u є U, se asigna el grado de pertenencia MembF (u) є
[0, 1]. De esta manera, F queda completamente determinado por el conjunto de
pares:
Proposición 2. Variable lingüística. La variable lingüística ui es una descripción
simbólica constante utilizada para presentar, en general, una cantidad, variando
en el tiempo dentro del intervalo definido por un universo de discurso Ui. Los
diferentes valores que esta variable puede adquirir son conocidos como valores
lingüísticos.
325
Fig. 1. Variables lingüísticas.
2.1 Controladores difusos
La estructura general de un controlador difuso se muestra en la figura 2 y consta
de cuatro módulos principales: 1) interfaz de fusificación, 2) base de
conocimiento, 3) mecanismo de inferencia, y 4) interfaz de defusificación.
Fig. 2. Arquitectura de un control difuso.
Aquí hemos empleado las metodologías más usadas y estudiadas del control
difuso: la fusificación triangular, la inferencia por Mamdani y una defusificación
tipo centro de área. La base de conocimiento se propuso con base en la
experiencia y fue ajustada por prueba y error.
326
3 Sistema no lineal
El sistema no lineal usado para el trabajo es el sistema de la bola y la viga (ball and
beam). La descripción completa de la dinámica de la bola rodando sobre la barra
es compleja, pero una útil simplificación del modelo se presenta en la figura 3.
Fig. 3. Fuerzas actuantes en el sistema.
Este sistema tiene la siguiente representación matemática en variables de estado:


x x
 0 
 
  
 2
d  x   ( x   g sin  ) 0
 
  0  u
dt    

  
 
 1 
  0



(4)
.
3.1 Construcción del sistema
La construcción del sistema se divide en tres partes: construcción física de la bola
y la viga (ball and beam); construcción electrónica y software del microcontrolador.
327
El sistema físico de la bola en la viga tiene las siguientes características: 50 cm de
longitud de la barra —40 cm de esta longitud es para el desplazamiento de la
bola—, servomotor de 3 Kg/cm y una pelota de poco peso. Con estos elementos
se hizo un acoplamiento directo entre los dispositivos, considerando una base
que soportara la barra. El prototipo quedó como se ve en la figura 4.
Fig. 4. Prototipo del sistema.
En este prototipo del sistema, la pelota saltaba fuera de la barra cuando se
delizaba fuera del centro. Entonces, se construyó un segundo prototipo,
respetando las mismas dimensiones y acoplando la barra directamente al tubo, el
cual, ahora, hacía las veces de viga (véase la figura 5).
Fig. 5. Prototipo final del sistema.
La electrónica del sistema consta de: 1) sensor infrarrojo IR Sharp GP2DXX, el
cual opera con base en el método de triangulación mediante un pequeño sensor
detector de posición (PSD) lineal para determinar la distancia o la presencia de
los objetos dentro de su campo de visión; 2) la señal del sensor se acondiciona por
medio de un amplificador inversor y un filtro paso bajo de segundo orden, con
frecuencia de corte de 100 Hz; 3) a la salida de la etapa de acondicionamiento se
conecta la entrada del ADC de un microcontrolador PIC16F877; 4) un elemento
de interfaz para el usuario, como un LCD de 2 x 16 caracteres y botones; 5)
alimentación del sistema.
328
El software residente en el microcontrolador se implementó para ofrecer
diferentes funciones: interfaz para el usuario (teclado y LCD), adquisición de la
señal del sensor y procesamiento del control difuso. El software se desarrolla con
un compilador C para los PIC de la familia 16F. Este software tiene dos ciclos
principales: 1) el usuario ingresa el punto de partida (setpoint) mediante dos
botones, arriba-abajo (up-down), que van aumentando-disminuyendo el punto de
partida de 1cm a la vez, y 2) una ejecución del ciclo de control, donde el dato del
sensor de posición adquiere, calcula el error actual, procesa la fusifucacióninferencia-defusificación y produce la salida en PWM para el motor.
4 Diseño de control difuso
El sistema procesado obtiene la retroalimentación por medio del AD conectado al
sensor de posición. Una vez adquirida esta información se calcula el error de
posición, el cual se fusifica para aplicarlo al sistema difuso.
Cuadro 1. Términos para el error de posición y el error anterior
Término
lingüístico
Distancia
Voltaje medido
en el sensor
NG
30 cm
1.87 volts
NP
23 cm
0.76 volts
C
20 cm
0.55 volts
PP
17 cm
0.38 volts
PG
10 cm
0.15 volts
Los términos que aparecen en el cuadro 1 expresan funciones de pertenencias
triangulares, con centro en el valor de distancia escrito en el rengón
correspondiente. Para la salida o acción de control, se propone un conjunto de
términos más grande.
329
Cuadro 2. Términos lingüísticos para la variable de salida
Término
lingüístico
Angulo
Nombre
NG
-60
Negativo grande
NM
-35
NP
-10
C
0
Negativo
mediano
Negativo
pequeño
Cero
PP
10
Positivo pequeño
PM
35
Positivo mediano
PG
60
Positivo grande
La inferencia del sistema se propone en función de la experiencia, tal como se
presenta en la figura 6. Aquí se reflejan casos simples, como error negativo
grande (NG) o una acción positiva grande (PG).
Fig. 6. Propuesta para la inferencia.
Con base en esta propuesta se construyó un cuadro de relación para los términos
lingüísticos de entrada y salida, y a su vez, sobre esta base se hizo la construcción
del conjunto (set) de reglas a programar en el microcontrolador.
Fig. 7. Matriz de reglas.
330
4.1 Estabilidad
La estabilidad es una propiedad esencial que debe determinarse en los sistemas
de lazo cerrado planta-controlador. En este caso, y por tratarse de un sistema de
control difuso, aplicamos un criterio propuesto por Mamdani, el cual analiza el
controlador demostrando que sus trayectorias convergen.
Estabilidad en la energía de la relación difusa del controlador. La ecuación básica de un
sistema difuso tiene la forma:
(5)
Donde XK y XK+1 son los conjuntos X K 1  X K U K R
difusos de los estados K-ésimo y K  0,1,2,3,... .
(K-1)-ésimo
instante
respectivamente; UK es la entrada en el instante K, y R es la relación difusa entre
la entrada y la salida. Un sistema dinámico libre se realiza con una entrada cero
(sistema autónomo), tendiendo entonces:
X K 1  X K P ,
(6)
donde P = UK º R para UK = cero para k = 0,1,2,3, <
Entonces, un sistema de este tipo está en estado de equilibrio si X K+1 = XK para
todo K. Un sistema es estable si su energía total es mínima y constante. El sistema
es inestable si la energía se incrementa con el tiempo. Es oscilatorio si ésta fluctúa
periódicamente.
Se define la energía de una relación difusa P como:
E P  
1 n m
 wxi , y j  f  p xi , y j 
n  m i 1 j 1
(7)
Así, el rango de incremento de energía cambia constantemente:
   
E P, i   E P i  E P i 1 ,
(8)
Donde Pi = P º P º P < P son las veces que se aplica la composición m{ximomínimo (max-min) a la relación difusa P.
331
El algoritmo de estabilidad en la energía (ESA) tiene los siguientes estados:

Si ΔE(P, i) ≤ 0 cuando i → ∞, entonces el sistema es estable.

Si ΔE(P, i) > 0 cuando i → ∞, entonces el sistema es inestable.

Si │ΔE(P, i)│ = │ΔE(P, i + τ )│, cuando i

→ ∞, entonces el sistema es oscilatorio con frecuencia 1/ τ.
En nuestro caso, la relación de la entrada y la salida del controlador:
P=
1000
620
620
620
620
P2=
660
760
760
620
620
620
580
620
660
620
620
620
480
480
580
1000
620
620
620
620
620
620
620
620
240
660
760
760
660
620
620
620
620
620
620
620
620
620
620
620
620
620
620
620
620
P3=
1000
620
620
620
620
660
760
760
660
620
620
620
620
620
620
620
620
620
620
620
620
620
620
620
620
Se aprecia que P2 = P3 y, por obviedad, será igual para Pn, por lo que se determina
de igual forma que E(Pi) – E(Pi-1) = 0, sin necesidad de calcular la energía, y por lo
tanto, ΔE(P, i) = 0 cuando i → ∞, entonces la relación difusa es estable.
4.2 Modelado y simulación
La simulación del sistema de la bola y la viga (ball and beam) se presenta junto a
su controlador difuso; para esto, se empleó el SimuLink y el FIS editor de MatLab
6.5. Cuando se trabaja con sistemas de control difuso no es necesario conocer la
dinámica específica del sistema a controlar, por lo cual los coeficientes del
sistema modelado en la simulación no corresponden a los valores del sistema
real.
Con el editor de sistemas difusos (FIS editor), se plantea un sistema con una base
de reglas como las que hemos visto ya en la matriz de la figura 7 (véase la figura
8).
332
Fig. 8. Visor de reglas del FIS editor de MatLab 6.5.
En SimuLink, se dibuja el diagrama general del sistema de lazo cerrado, tal como
se muestra en la figura 9.
Fig. 9. Diagrama en SimuLink.
Los resultados de la simulación muestran que el controlador difuso
efectivamente controla el sistema de la bola y la viga (ball and beam).
333
Fig. 10. Respuesta del sistema contra la entrada.
5 Resultados experimentales
Con el sistema construido, se constituyó una batería de cuatro pruebas para
diferentes puntos de partida (setpoints) 1—8cm a 22cm, en paso de 1cm—,
considerando que la bola se encuentra en una posición inicial = 0cm (extremo de
la viga). A continuación, se muestran los resultados obtenidos del experimento
físico (véase el cuadro 3).
334
Cuadro 3. Resultados finales del sistema
Setpoint
(cm)
18
P1
P2
P3
P4
18.3
19.1
18.7
18.3
19
19.3
19.3
19.2
19.5
20
20.1
19.8
20.2
20.1
21
21.4
21.4
21.2
21.5
22
22.7
22.6
22.6
22.5
Conforme el sistema se aleja un poco del centro de la barra, ubicado a 20 cm
(centro de la variable lingüística C), empieza a tener errores mayores, aunque aun
así las variaciones son pequeñas. Entre las pruebas que se llevaron a cabo, hubo
respuestas muy cercanas al punto de partida (setpoint). El error máximo
registrado en las pruebas fue de 1.1 cm o 2.75%.
6 Conclusiones
Para el diseño de las reglas del control difuso se probó el sistema de forma
manual y se trató de equilibrar la bola, a partir de lo cual se concluyó que cuando
la bola estaba muy cerca del punto deseado había que dar un ángulo pequeño
para mover la bola sólo un poco, pero debido a que la bola estaba prácticamente
frenada, un ángulo demasiado pequeño no la movía y uno algo grande la movía
demasiado —esto, para romper la inercia de la bola. Así que inferimos que,
cuando la bola cae en la vecindad de 1 cm del punto de partida (setpoint) o está
prácticamente frenada, es difícil aproximarse al error cero, pues es difícil romper
nuevamente la inercia para corregir el error, por las características dinámicas de
la bola.
Esta información experimental de primera mano sirvió como base para el ajuste
de los valores de los términos lingüísticos asociados a la entrada y salida del
sistema difuso, y de ahí se planteó la necesidad de incluir un estado anterior del
error.
El software para el control difuso se desarrolló en lenguaje C para
microcontroladores PIC de la familia 16F, lo cual es importante, pues estos
microcontroladores no cuentan con instrucciones tipo Mac y éstas se tienen que
emular; esto implica un tiempo de ejecución muy grande cuando se está
programando la parte difusa —lo que en esencia son sumas y multiplicaciones
(operaciones Mac). El problema se resolvió precalculando algunas operaciones de
constantes y cargando su valor como una constante para el programa. De esta
335
manera, se demostró que un software bien estructurado es capaz de ejecutar su
tarea bajo las especificaciones de tiempo para la aplicación que nos ocupa.
Los resultados de la demostración de la estabilidad del sistema de control difuso
y de la simulación son complementarios y le dan el formalismo requerido al
trabajo en su conjunto.
Referencias
Gómez Galindo, J., ‚Conjuntos y sistemas difusos‛, apuntes de curso de
informática, Departamento de Lenguajes y Ciencias de la Computación,
Universidad de Málaga, España. En Internet (www.uma.es), página consultada
en en agosto de 2006.
Ross, T. J. Fuzzy logic with Engineering Aplications, 2a edición, McGraw Hill, 1998.
Joseph, G., Sistemas expertos. Principios y programación, 2a edición, Ciencias
Thomson, 1999.
Astrom, K. J. et al. Adaptive Control, Addison-Wesley, 1989.
Ibrahim, A. M., Introduction to Applied Fuzzy Electronics, 3a edición, Prentice Hall,
1997.
Angulo, J. M., Microcontroladores diseño y aplicaciones, 2a edición, McGraw-Hill,
2002.
336
Automatización de bombas de calor
por medio del control de bombas en un puerto
LPT
con adquisición de datos en un Puerto GPIB
R. J. Romero, Sotsil Silva-Sotelo, R. Best, J. Cerezo-Román
Resumen. El presente trabajo muestra una primera aproximación para la
automatización de una bomba de calor por absorción, operando en el
modo de transformador térmico, para la recuperación de calor de desecho
industrial. El programa de adquisición de datos fue realizado con
programación dirigida a objetos y se hizo la configuración de la
comunicación. También se muestra la estrategia de automatización con la
señal enviada a través de un puerto LPT. Finalmente, se describe la
operación de este sistema y sus capacidades de operación para la
revalorización de energía de desecho.
Palabras clave: bombas de calor, transformador térmico, programación dirigida
a objetos, adquisición de datos, automatización y control.
1 Introducción
El calentamiento global y el efecto invernadero se deben a la gran cantidad de
personas que llevan a cabo actividades productivas. La mayor parte de la energía
que se consume en el mundo proviene de diversas fuentes; entre ellas, la de
mayor porcentaje corresponde a la quema de combustibles fósiles.1 La mayor
parte de los procesos industriales transforman energía por medio de una reacción
de oxidación de un hidrocarburo, lo que produce vapor de agua y dióxido de
carbono. Sin embargo, esta emisión puede disminuirse mediante estrategias de
menor quema de combustibles por sustitución de fuentes de energía. 2
Algunos procesos industriales no pueden llevarse a cabo con las fuentes
alternativas de energía debido a sus bajos niveles térmicos. 3 La transformación de
energía térmica a niveles altos, más útiles, aún no ha sido posible. La mayor parte
337
de las ampliaciones o crecimientos industriales se hace adquiriendo calderas
nuevas para la quema local de combustibles fósiles, o bien, mediante la conexión
de equipos eléctricos para aumentar la capacidad instalada. Sin embargo, existe
una opción, la cual fue utilizada en varias bombas de calor por absorción, con
bajo consumo de energía eléctrica, desde los años noventa hasta la fecha. 4,5,6,7,8,9
Uno de los principales problemas para la operación continua de este tipo de
ciclos termodinámicos de bombeo de calor es el periodo transitorio previo al
estado estable en que operan exitosamente estas tecnologías.
2 Bombas de calor
Las bombas de calor son máquinas térmicas construidas con varios componentes
de intercambio de calor y materia, en forma simultánea. El ciclo de bomba de
calor se puede describir con base en la figura 1, de la siguiente manera: la energía,
en forma de calor de desecho, está a una temperatura constante (T GE); esta energía
se ingresa en un generador de vapor a baja presión, donde se lleva a cabo una
transferencia de calor a un fluido concentrado en una sal afín a un fluido de
trabajo. La presión en el interior del generador es suficientemente baja como para
que ocurra un proceso de separación de fases. El fluido de trabajo vaporizado se
conduce a un segundo componente que está a la misma presión pero que tiene
retiro de calor por medio de un circuito secundario; el calor retirado de este
componente realiza un cambio de fase y se obtiene fluido de trabajo en forma
líquida. A este componente se le denomina ‚condensador‛ y opera a temperatura
ambiente, siendo ésta (TCO) la menor de todo el sistema. El fluido de trabajo en
forma líquida se bombea por medio de una pequeña cantidad de energía eléctrica
—prácticamente una centésima parte de la energía suministrada por el
generador. El vapor que se produce en la etapa de presión mayor a la misma
temperatura constante de ingreso de la energía, ya sea de energías alternativas o
de desecho industrial, se pone en contacto con la solución concentrada que quedó
en el generador, provocando esto una reacción exotérmica a alta presión y
temperatura, conocida como ‚calor de absorción‛. Este calor es útil y ocurre a la
mayor temperatura del sistema. Después, la solución diluida que se ha formado
pasa por un ‚intercambiador‛ de calor para precalentar la solución concentrada
que va del generador al ‚absorbedor‛; entonces, la solución diluida regresa al
generador para comenzar de nuevo el ciclo de la bomba de calor, operando como
transformador térmico para la revalorización de la energía.
338
Fig. 1. Esquema de un transformador térmico para la revaloración del calor.
3 Estrategia de control
Estos sistemas térmicos tienen un periodo transitorio de mayor tiempo,
comparado con cada una de las operaciones unitarias que tienen cada uno de los
componentes por separado y que forman el ciclo termodinámico. Los periodos
transitorios comienzan con la generación de vapor, cuando la energía
suministrada para realizar el cambio de fase está en función del fluido de trabajo
que se envía al condensador. El fluido de trabajo que se cambia de fase en el
condensador se puede expresar mediante el cálculo del flujo en función lineal de
la potencia del condensador y evaporador:
mWF 
mWF 
QCO
TCO
CO
QEV
TEV
EV
(1)
(2)
El total de este flujo es la variable limitante del proceso y esta variable participa
en todos los balances de materia y energía, en cada uno de los cálculos de las
operaciones unitarias de generación, condensación, evaporación, absorción e
intercambio de calor. Para controlar el flujo que limita al sistema, 10 se ha
propuesto la estrategia siguiente:
339
Fig. 2. Diagrama de control de flujo refrigerante.
Para llevar a cabo este algoritmo, se requiere de la adquisición de datos vía
GPIB,11 y así se conocen los valores asociados en las ecuaciones (1) y (2), mediante
las siguientes ecuaciones:
QCO  mC PTCO (T1  T2 )
(3)
QEV  mC
(4)
EV
P
(T3  T4 )
Donde las temperaturas T1, T2, T3 y T4, cambian durante el periodo transitorio
cada cinco segundos, por lo que se debe hacer el cálculo de las dos potencias
expresadas en las ecuaciones (3) y (4). Se considera que los valores de los fluidos
que retiran energía del condensador y la suministran al evaporador, permanecen
en función de las temperaturas T CO y TEV, respectivamente, y se pueden
determinar por el sistema de adquisición de datos.
340
4 Control automático
Para el control automático del transformador térmico de una etapa, se ha
propuesto un algoritmo de control12 cuyo diagrama se exhibe en la figura 3. Con
este algoritmo, se ha construido un dispositivo acoplable al puerto de
comunicaciones LPT. En este caso, se han modificado los controladores que
operan la bomba que envía el fluido de trabajo del condensador al evaporador
(mEV), para que el potenciómetro opere con un motor a pasos, el cual puede
variar las revoluciones entre 50 y 3500 upm, con variaciones de 5 upm.
Fig. 3. Diagrama de control para el control automático.
En este caso, se han hecho dos programas con programación dirigida a objetos,
en dos partes: 1) un programa de adquisición de datos y cálculo de potencias, y 2)
341
un programa de control de revoluciones por minuto en el controlador de la
bomba del fluido de trabajo. Estos programas se han realizado en HPVEE Pro y
en LabView 6i. Las pantallas del usuario se muestran en las figuras 8 y 9. El
programa realizado en HPVEE Pro se encarga de la adquisición y cálculo de las
20 temperaturas, dos presiones y ocho potencias para el cálculo de los flujos de
las ecuaciones (1) a (4). Con estos valores, se llama al programa de LabView 6i
para modificar el valor de la posición del potenciómetro del controlador del
fluido de trabajo del transformador térmico. Este dispositivo se muestra en las
figuras siguientes.
Fig. 4. Puerto LPT modificado para el control automático.
Fig. 5. Controlador modificado de bomba de fluido de trabajo.
5 Resultados y discusión
Se ha operado un transformador térmico de una etapa en el Laoratorio de
Ingeniería Térmica Aplicada (LITA), del Centro de Investigación en Ingeniería y
Ciencias Aplicadas (CIICAp) de la Universidad Autónoma del Estado de Morelos
(UAEM). Para su operación se ha utilizado la mezcla carrol-agua. Se ha simulado
el calor proveniente de las energías alternativas, con niveles térmicos de
colectores solares de alta eficiencia13 o de calor de desecho industrial, con niveles
térmicos entre 60 y 80 °C.
342
Calibración del sensor de flujo. Para la calibración del sensor de flujo tipo turbina se
siguió la siguiente metodologia:
1. Se consideró como patrón a un sensor de flujo tipo Coriolis.
2. El sensor de flujo a calibrar se colocó en serie con el Coriolis.
3. Se fijó una temperatura de 25 °C y se varió el flujo másico 0.3 1, 3, 5, 10 y 15
kg/min, esperando en cada lectura un tiempo mínimo de condiciones de
estabilidad de 15 minutos para el registro del potencial que mostraba el
sensor. Estos datos se almacenaron en un archivo.
4. Después, se incrementó la temperatura con un incremento de T = 10°C y se
varió el flujo másico descrito en el punto 3, hasta llegar a una temperatura de
150 °C.
5. A continuación, se procedió a calcular el flujo másico contra el voltaje y se
calculó una correlación correspondiente. Las ecuaciones de los extremos de la
calibración fueron las siguientes:
A 20 °C
F = 10.421x - 13.166
A 150°C
F = 10.024x - 12.176
(5)
(6)
Donde F es el flujo masico, en kg/min, y ‚x‛ el potencial en voltios.
Calibración del sensor de temperatura. Para la calibración del sensor de temperatura
se siguió la siguiente metodología:
1. Se fijó una temperatura de 20 °C en un baño térmico.
2. Se introdujo un sensor de temperatura patrón y el testigo.
3. Se tomaron las lecturas de ambos sensores hasta condiciones de estabilidad
y se almacenaron los datos en un archivo.
4. Después, se aumentó la temperatura un T = 10°C y se regresó al punto 3
hasta alcanzar una temperatura de 150 °C.
5. A continuación, se calculó la ecuación de la línea de tendencia del sensor
testigo:
T = 1.0107 (a) - 1.6722
(7)
Donde T es la temperatura calibrada del sensor testigo en °C, válida en un rango
de 20 °C y hasta 150 °C.
El control del flujo refrigerante es fundamental para el control del sistema.
Cuando éste no se controla, no se alcanza el periodo estable del sistema y no se
recupera energía (véase la figura 6). La puesta en marcha del control automático
por medio del fluido de trabajo en el condensador y en el evaporador muestra
que se pueden alcanzar los estados permanentes en los que se han calculado las
potencias de cada una de las operaciones unitarias involucradas en el ciclo
343
termodinámico de recuperación de calor, el cual puede provenir de energías
alternativas o de desecho industrial.
Fig. 6. Transitorio de la operación de un sistema de recuperación de energía de
desecho.
344
Fig. 7. Condiciones de operación para revalorización de energía de 70 °C.
En la figura 7 se muestran las condiciones de operación para la revalorización.
Obsérvese que se llega a recuperar entre 25 y 33% de la energía de desecho con al
menos 20 °C por arriba de la temperatura a la que fueron desechados. El nivel de
recuperación de calor permite obtener 33% a 112 °C y hasta 25% a 120 °C de la
energía simulada en el LITA-CIICAp.
En las figuras 8 y 9 se ven las pantallas del control de fluido de trabajo, por medio
de revoluciones por minuto, realizado en LabView, y la pantalla del usuario para
la adquisición de datos cada cinco segundos, realizada en HPVEE Pro, desde
donde se llama al programa de control cuando es necesario, en función del
algoritmo mostrado en la figura 3.
Fig. 8. Pantalla del usuario para el control de rpm de bomba de fluido
refrigerante.
345
Fig. 9. Pantalla de usuario para adquisición de datos.
Conclusiones
El control automático para un transformador térmico de una etapa, con el
cual se lleva a cabo
la revalorización de energía proveniente de energías alternativas o de
desecho industrial, se puede hacer por medio del control del flujo entre el
condensador y el evaporador, conocido como fluido refrigerante. La
operación se logra por medio del control del flujo mEV, en el cual se puede
hacer una revalorización de energía de 80 °C a 120 °C, en el mejor escenario.
Agradecimientos
Los autores desean expresar su agradecimiento al proyecto Desarrollo y
Aplicación de un Sistema de Refrigeración Termosolar Autosuficiente y
Sustentable para Conservación de Productos Perecederos en Comunidades
Costeras Alejas de la Red, por su apoyo parcial para esta investigación.
346
Referencias
1.
Balance Nacional de Energía (SENER), 2008.
2. Romero, R. J., E. Velasco Uribe y J. Casillas Solano, ‚Comparación de la
producción de CO2 contaminante basada en el rendimiento de bombas de
calor‛, Memorias del XXVIII Encuentro Nacional de la AMIDIQ, Manzanillo,
Colima, 2007.
3.
Beltr{n Couste, J., ‚Evaluación de un sistema experimental de
refrigeración por absorcion, que opera a baja temperatura con la mezcla
monometilamina-agua‛, tesis de licenciatura en Ingeniería Mec{nica, FCQEIUAEM, 2009.
4. Fathalah, K. y S. E. Aly, ‚Theoretical Study of a Solar Powered
Absorption/MED Combined System‛, Energy Conversion and Management, vol.
31, núm. 6, 1991, pp. 529-544.
5. Al-Juwayhel, F., H. El-Dessouky y H. Ettouney, ‚Analysis of Single-Effect
Evaporator Desalination Systems Combined with Vapor Compression Heat
Pumps‛, Desalination, núm. 114, 1997, pp. 253-275.
6. Elshamarka, S., ‚Absorption Heat Pump for a Potable Water Supply in a
Solar House‛, Applied Energy, vol. 40, núm. 1, 1991, pp. 31-40.
7. Nguyen, M., S. B. Riffat y D. Whitman, ‚Solar-Gas-Driven Absorption HeatPump Systems‛, Applied Thermal Engineering, vol. 16, núm. 4, 1996, pp. 347-356.
8. Huicochea, A., J. Siqueiros y R. J. Romero, ‚Portable Water Purification
System Integrated to a Heat Transformer‛, Desalination, núm. 165, 2004, pp.
385-391.
9. Romero, R. J. y A. Rodríguez-Martínez, ‚Optimal Water Purification Using
Low Grade Waste Heat in an Absorption Heat Transformer‛, Desalination, vol.
220, núms. 1-3, marzo de 2008, pp. 506-513.
10. Alanís Navarro, J. A., D. C. Labastida del Toro, M. Fernández Resenos y R.
J. Romero, ‚Control de flujo refrigerante en una bomba de calor por absorción
de una etapa‛, Memorias del Encuentro de Investigación en Ingeniería Eléctrica,
Zacatecas, 2006, pp. 204-208.
11. Romero, R. J., J. A. Sequeiros, M. A. Basurto-Pensado, J. J. Escobedo y J. M.
Sierra, ‚Instrumentación específica para un transformador térmico de una
etapa‛, Memorias de la XXVII Semana Nacional de Energía Solar, Chihuahua, 2003.
12. Barajas Mendoza A., Algoritmo de control y propuesta de control automático
para un transformador térmico por absorción de una etapa para revalorización de
energía térmica, tesis de licenciatura en Ingeniería Química, FCQEI-UAEM,
México, 2007.
13. Romero, R. J., A. Barajas Mendoza y L. Rayón López, ‚Propuesta para el
control de flujo refrigerante en una bomba de calor por absorción de una
347
etapa‛, Memorias de la XXX Semana Nacional de Energía Solar, Puerto de
Veracruz, 2006.
348
Numerical Simulation of the Field Confinement
in a Quasiperiodic Multilayered Microsphere as
an Application of the Software Engineering
Gennadiy Burlak, A. Díaz-de-Anda, René Santaolaya Salgado, Moisés González
García.
Resumen. Estudiamos numéricamente el control del espectro de frecuencias de
nano-emisores puestos en una micro-esfera recubiertas con una pila cuasi
periódica. Se investiga la evolución espectral de transmisión con el cambio de
espesor de bloques de dos capas, construidos siguiendo la secuencia de
Fibonacci. Encontrado básicamente un comportamiento no lineal en dicho
sistema: cuando el número de capas (el orden de Fibonacci) aumenta, la
estructura del espectro de transmisión adquiere una forma fractal. Nuestros
cálculos muestran el confinamiento y una mejora gigantesca del campo, cuando
la relación entre el ancho de las capas en la pila (parámetro de control) está cerca
del valor de la regla de oro. Se discute también la necesidad de un código de
programación estructura orientada a objetos, para el estudio numérico de tal
sistema no lineal.
Keywords: nanosystem, microsphere, quasiperiodic stack, numerical
calculations, control of radiation.
Abstract. We numerically study control of the frequency spectrum of
nanoemitters placed in a recently constructed microsphere with a quasiperiodic
spherical stack. The spectral evolution of transmittance at the change of thickness
of two-layer blocks, constructed following the Fibonacci sequence, is
investigated. We found essentially nonlinear behaviour in such a system: when
the number of layers (Fibonacci order) increases the structure of transmittance
spectrum acquires a fractal form. Our calculations show the confinement and
gigantic field enhancement when the ratio of layers widths in the stack (control
parameter) is close to the golden mean value. The necessity of object-oriented
structure of the program code for numerical study of such a nonlinear system is
also discussed.
349
Sumario:
1 Introduction 2. Basic equations 3. Program realization 3. Program realization
4. Numerical Results 5. Fractal structure 6. Conclusion. Referencias
1 Introduction.
The use of microcavities and microspheres in advanced optoelectronics has
provided a new view of various effects and interactions in highly integrated,
functional photonic devices. A fundamental question in this area is how to
drastically increase the spectral optical field strength, using artificially produced
alternating layers on the surface of a microsphere. Nowadays, the basic regime of
the operation for bare (uncoated) dielectric microspheres is the whispering
gallery mode (WGM) [1]. But since fabricating the coated dielectric spheres of the
submicron sizes [2], the problem arises to study the optical oscillations in
microspheres beyond the WGM regime for harmonics with small spherical
numbers. These possibilities allow expansion of the essential operational
properties of microspheres with attractive artificial light sources for advanced
optical technologies. The important optical property of a periodic alternating
spherical stack is the possibility of confining the optical radiation (see ([3] and
references therein). However, is periodicity necessary for such resonant optical
effects?
In order to answer this question, we have studied the optical radiation of a
nanosource (nanometer-sized light source) placed into a microsphere coated by a
quasiperiodic multilayered structure (stack) constructed following the Fibonacci
sequence.
Such structures are called quasiperiodic and, lie outside the constraints of
periodicity. One of the main properties of such a stack is re-reflections of the
electromagnetic waves from the interfaces of the layers that result in the
collective wave contributions. The collective optical effects in a quasiperiodic
spherical stack are appreciated only if the number of layers in the stack is large
enough. In this case, various approximations based on the decomposition of field
states in the partial spherical modes have insufficient accuracy, so a deeper
insight requires more advanced approaches. Our approach is based on the dyadic
Green's function technique [5] that provides an advanced approximation for a
multilayered microsphere with nanoemitters [6]. We have applied this approach
to a quasiperiodic spherical stack and found substantially enhanced optical
resonances (Green function strength), when the ratio of the layers width in twolayer blocks in the stack (quasiperiodicity parameter) is close to the golden mean
350
value. As far as the author is aware, the optical fields of nanoemitters placed in a
microsphere with a quasiperiodic spherical stack still have been poorly
considered, though it is a logical extension of previous work in this area.
This Report is organized as follows. In Section 2, we formulate our approach and
basic equations for optical fields in a dielectric multilayered microsphere. We
outline the numerical scheme of applying the dyadic Green function (DGF)
technique to evaluate the spectrum of a nanoemitter placed in such a
quasiperiodic system. We found the enhanced field peaks of such a parameter is
close to the golden mean value. Section 3, outlying the structure of our objectoriented program code and the details of uur program realization is discussed.
In Section 4, we present our numerical results on the structure of the cavity field
states and resonances. In the Section 5 the fractal structures of the resonances in a
microsphere with quasiperiodic spherical stackmdependently of the
quasiperiodecity parameter is discussed. We fund the enhanced field peaks if
sunch a parameter is cleso to the golden mean value. In the last Section, we
summarize our results.
2 Basic equations
The A one dimensional quasiperiodic (QP) spherical stack, where a Fibonacci
sequence is considered, can be constructed following a simple procedure [4]. Let
us consider two neighbors 2-layers segments, long and short, denoted,
respectively, by L and S. If we place them one by one onto the surface of a
microsphere, we obtain a sequence: LS. In order to obtain a QP sequence, these
elements are transformed according to Fibonacci rules as follows: L is replaced
by LS, S is replaced by L. As a result, we obtain a new sequence: LSL. Iteratively
applying this rule, we obtain, in the next iteration, a sequence with a five-element
stack LSLLS, and so on. One can control the properties of such a QP stack by the
use of a control parameter . For the stack with N-elements, where N>>1, the
ratio of numbers of long to short elements is the golden mean value, 0=1.618.
Generally, in spherical geometry, the wave field depends on, position of
a source and, it is formed on a distance scale of the order magnitude of the radius
of the microsphere or thickness of nanolayers of a stack. For analysis of such a
spectrum, it is necessary to use a more advanced approach: the Green function
method.
The base of the latter is a representation of the optical field, radiated by a
nanosource in a coated microsphere, as a weighed superposition (sum) of
forward and backward waves (reflected from the layers interfaces). We consider
a situation where the radiating point source (nanoemitter) is placed into
microsphere coated by a quasiperiodic stack. In this case, the frequency spectrum
is not described longer by a spectrum of a bare microsphere slightly perturbed by
351
the external stack. If the number of layers is large enough, we have to study the
photons field taking into account the spectral contributions of both the bottom
microsphere and a quasiperiodic stack. In order to calculate the properties of
such a field, we apply the Green function technique. In this case, a nanosource
corresponds to a nanorod or quantum dot that recently was employed in
experiments with microspheres, see [10], [7] and references therein.
Layer N-1
Media N
TM-case
Er
H
rN
Layer k
rk
E
r1
L S
L
L
S L
S
Media 0
Layer 1
H
Hr
E
Media N
TE-case
Fig. 1: Geometry of system.
The spatial scale of the nanoemitter objects (1÷100)nm is at least one order of
magnitude smaller than the spatial scale of the microspheres (103÷104)nm.
Therefore, in the coated microsphere we can represent the nanoemitter structure
as a point source placed at r´ and having a dipole moment d 0. It is well known
that the solution of the wave equation for the radiated electromagnetic field E(r)
is due to a general source J(r), [8], [9].
( )
(
) ( ) (1)
where G(r, r´, ) is the dyadic Green function (DGF), which contains all the
physical information necessary for describing the multilayered structure.
Following the approach [5], we write down DGF of such a system as follows:
G(r,´r,w)=Gv(r,´r,w)δfs+G(fs)(r,´r,w)
(2)
where GV(r, r´, ) represents the contribution of the direct waves from the
radiation sources in the unbounded medium, and G(fs)(r, r´, ) describes the
contribution of the multiple reflection and transmission waves due to the layer
interfaces. The dyadic Green's tensor GV(r, r´, ) in Eq. (2) is given by
352
G ( fe ) (r, r  ,  ) 
iks
4

m
2m  1
  m(m  1) x
p  e , o m 1 l  0
(m  l )!
f , e
(2   0l )G pml
(r, r  ,  ),
(m  l )!
(3)
where G(fs)(r, r´, ) is the particular Green tensor, m is the spherical, l is the
azimuth quantum numbers, and ki = ωni/c, ni = (i(ω))1/2 is the refraction index.
3
Program realization
Calculation of a frequency spectrum of nanoemitter radiation in a layered
microsphere is a rather difficult problem in the use of computer resources, and
also on the complexity of the program code organization. Our realization
includes two main blocks. The first one contains the code with a description of
the structure of a layered microsphere, while the second block is responsible for
the dynamic calculation of a frequency spectrum and the radial distribution of an
electromagnetic field in the microsphere. Other blocks of the program realize the
graphic support, the data exchange, and also the mathematical library of the
special functions used for evaluation of the Green function.
AbsStruct
BaseLayer
SphericalStack
collection(Spheri
cal-Layers)
BaseGreenTensor
BaseStack
Bound. conditions.
Spectrum of eigenfrequencies.
Iterative calculation or reflection and
transmittance matrices
Calculation optical fields in the
multilayered microsphere
Fig. 2. The hierarchy of main classes in the program code.
The organization of the program with such a level of complexity certainly
requires the object-oriented approach that provides the modularity and structure
of an object-oriented computer program. It is based on several techniques,
353
including inheritance, modularity, polymorphism, and encapsulation. In our
structure (see Fig. 2), the self-contained class AbsStruct defines the abstract
characteristics of a microsphere, including its characteristics (fields or properties)
and the microsphere's behaviors (methods). The base of the class hierarchy of a
microsphere contains two basic classes BaseLayer and BaseStack (with general
parent class AbsStruct); in those, the structure (materials and the sizes) of a
layered microsphere is memorized. The structure of the field is described by the
base class BaseGreenTensor that mainly contains the description of the
distribution of the optical fields equation (2) and scattering matrices (arrays) used
to solve equation (1).
Since a number of analytical approaches for low-layered microspheres (with 1 or
2 layers) was developed, we used a possibility to compare analytical and
numerical solutions to evaluate the accuracy of our calculations. To do that, we
used a general conception of polymorphism that allowed us to treat derived class
members (e.g. 2-layered microspheres) just like their parent class's members.
More precisely, in this case the polymorphism provided us the ability to use
objects belonging to different types of coated microspheres (1 or 2-layers system)
to respond to method calls of methods according to an appropriate type-specific
behavior.
At top of the class hierarchy, there is a class-successor (microsphere + field)
that contains among other data two methods of the class: 1) collections of the
layers that are defined by physical definition of the microsphere parameters, and
2) findings of matrixes of dispersion, calculated in agreement with the boundary
conditions imposed on the field in a microsphere.
Our program has a graphic user interface (GUI) to input all parameters of
a microsphere, nanoemitters and parameters of the optical fields, see Figure 5.
As a result, the program calculates various dependencies, e.g., the frequency
spectrum of coefficient reflection and transmittance of a stack, the spatial
distribution of the optical field, real and imaginary parts of the Green function of
the system, etc. The algorithm is completely realized in C# program language.
The visualization of graphical dependencies is prepared by means of a standard
package TeeChart (Steema Software (R)).
4 Numerical Results
The following parameters have been used in our calculations: the geometry of the
system is A{L(B,C)…S(B,C)…}D, where letters A, B, C, and D indicate the
materials in the spherical stack, respectively. The distinct two-layered blocks
L(B,C) and S(B,C) are stacked according to the Fibonacci generation rule with
control parameter  being the ratio of layers.
354
Fig. 3. Graphical user interface and example calculation of the reflection and
transmittance coefficients.
For L and S blocks we use the notation L=(B,C,1) and L=(B,C,), where  is the
ratio of both thicknesses. In order to study the behavior of the field in the
microsphere, we have calculated the frequency spectrum of the transmittance
coefficient T and the corresponding spectrum of imaginary parts of the Green´s
function W≡Im(Gϕϕ(r,r,ω)), where r is the position of a nanoemitter, ω=2πf. We
have calculated the evolution of a spectrum for different values γ and also for
different numbers of layers in the spherical stack (Fibonacci order F n) for a range
[300-600] THz, or [1000-500] nm. The most intensive optical peak was found for
the F9 stack, where =0.618=1/Γ0 (Γ0=1.618 is the golden mean value). The details
of the field spectra are shown in Figure 1 for 68 layers in the stack (34 of 2-layers
blocks, order Fibonacci is F9). We observe from Figure 1 that such a spectrum
consists of peaks with various amplitudes; however, the most intensive peak
with W=87 is located at 436.1THz (details of this peak are shown in the inset).
Thus, even though the periodicity of the stack is broken, well defined intensive
peak of the field is clearly seen.
355
Fig. 4. (a) imaginary parts of tangential component of the Green´s function
W=Gϕϕ(r,r) for r=900nm; (b) Frequency spectrum of transmittance coefficient T for
spherical quantum number m=9. Microsphere is coated by quasiperiodic stack with
N=68 (34 of 2-layers blocks, order Fibonacci F9) for γ=0.618. See details in text.
Fig. 5 . Spectrum of imaginary part of the Green´s function W=G ϕϕ(r,r) for
r=900nm and 68 layers in stack (34 of 2-layer blocks F9) for different values of
parameter quasiperiodisity γ close to the golden mean value: 1) 0.55, 2) 0.58, 3)
0.6, 4) 0.618, 5) 0.63, 6) 0.65, 7) 0.68.
We have also calculated the evolution of a spectrum for different values  close to
= 1/Γ0 for a fixed number of layers in the spherical stack (Fibonacci order F n). The
results are displayed in Figure 3 for the range [430-440] THz, or [697-681] nm.
356
One can see that in this area, the spectrum consists of rather narrow resonances,
and a set of satellite peaks appears around the main peak. The intensity of this
peak changes with a different γ, giving rise to another main peak, which
corresponds to another quasi-periodic stack.
When γ approaches to 1/Γ0=0.618, the field peaks become sharper, as shown in
Figure 3. We observe that the amplitude of resonances is maximal for case
γ=0.618. In previous figures, the frequency spectrum of the field (Im(Gϕϕ(r,a,f))
for the quasiperiodic stack was shown. The fractal complicity of the transmittance
spectrum is defined by the intrinsic properties of the quasiperiodic spherical
stack independently of the nanoemitter location. However, in experiments, it is
important to identify the spatial distribution of the field radiated by nanosources
located in such a quasiperiodic microsphere. Therefore, it is of interest to consider
the spatial field distribution in a cross-section contained both center of the coated
microsphere and nanoemitter for some resonant frequency. Such a distribution is
shown in Figure 4 for the most intensive resonance at f0=436.098 THz (see Figure
5), when the quasiperiodicity parameter =0.618. We observe from Figure 6 that
Im(Gϕϕ(r, a, ) has a very sharp peak in the place of the nanosource location. Such
a spatial field structure may be treated as a confinement of the electromagnetic
energy Im(Gϕϕ(r, r) [6] inside the coated microsphere. The leakage of photons
through such a structure into the outer space obviously is small.
We observe from Figure 6 that the field structure inside of the quasiperiodic stack
is anisotropic and quite intricate, but the field distribution beyond the coated
microsphere has a periodic character.
Fig. 6. Spatial structure W(r,)=Im(G(r,a, )) in a cross-section 0<r<21μm and
0<<2 of the microsphere with quasiperiodic stack for eigenfrequency
f=436.09THz. A nanoemitter is placed at point a=900nm. Other parameters are as
in Figure 2. One can see the confinement of field in the stack. Outer cycle
indicates the external boundary Rext=13.8μm of the quasiperiodic spherical stack.
357
5 Fractal structure
As mentioned above, with a further increase of the Fibonacci order Fj, the
structure of T becomes more indented, see Figure 4. One can see from Figure
4(a) that in a vicinity f = 425 THz, the splitting occurs, and here a new extreme of
T has arisen. A new maxima (and minima) reshape the initially smooth form
of the transmittancy spectrum to a well expressed fractal structure. In order to
calculate the fractal dimension numerically, it is normally assumed that the
fractal is lying on an evenly-spaced grid; then count how many boxes are
required to cover it. Such a dimension is calculated by seeing how this number
changes as we make the grid finer. If N(c) is the number of boxes of side length c
required to cover the fractal, then the fractal (box-counting) dimension DH is
defined as: DH = lim[lnN(c)/ln(1/c)] at c0 (see e.g. (Mandelbrot, 1982), (Falconer,
1990). Let us note that the numerical estimation DH for a finite set is a rather
difficult problem and requires a great amount of data. In our approach, we have
formed the fractal by sequential elimination of quasiband gaps with values less
then . Such an approach is similar to the Cantor set generation, where the set is
created by repeatedly deleting the middle third of a set of line segments.
It is of interest to calculate the fractal dimension DH for other materials in
a quasiperiodic spherical stack. In particular, we studied the change of DH for a
case where the difference of refraction indexes for neighboring layers in the stack
is less. We have considered DH for stack with MgO (n = 1.72, 1-st layer), while the
material of 2-nd layer SiO2 was the same as before. In this case, the difference of
the refraction indexes  = 0.26 is less with respect to the previous case. Our
calculations show that the transmittance frequency spectrum for such a
configuration is less indented than the previous case. Calculated fractal
dimension for such a stack is DH=0.965; which is close to 1; thus the fractal
properties for a stack with small n is less pronounced.
358
Fig. 7. Fractal (capacity) dimension D_,H}(ε) for Fibonacci stack F_,j} with j=8÷12
and γ=0.5. The last curve shows the periodic stack case with F₁₂ and γ=1. (a)
lossless stack; (b) dissipative stack.
It is worth noting that the details of the optical field radiated by a nanoemitter
incorporated into a microsphere depend on the position of such a nanoemitter. In
general, such a field can be studied with the use of the above developed Green
function technique. However, the latter is not necessary in a case where only the
transmittance properties of a quasiperiodic spherical stack are of interest.
Conclusion
C We have studied the frequency spectrum of nanoemitters placed in a
microsphere with a quasiperiodic subwavelength spherical stack. We found that
the transmittance spectrum of such a stack consists of quasiband gaps and
narrow resonances induced by re-reflection of optical waves. We show that the
width of resonant peaks in the frequency spectrum becomes extremely narrow for
a quasiperiodic spherical stack of a high Fibonacci order. In principle, that allows
creating a narrow-band filter with a transmission state within the forbidden band
gap of nanoemitters, incorporated in such a coated microsphere. We have found
confinement and gigantic enhancement of the optical field in a quasiperiodic
structure when the ratio of layers width in two-layer blocks of the stack is close to
the golden mean value. This allows us to confine resonantly the field energy in
the quasiperiodic stack in a very narrow frequency range in order to create very
selective stop-band filters. Incorporating nanoemitters into such structured
microspheres can open new opportunities for the active control of light
359
nanosources.
References.
[1] Braginsky, V.B., et.al., Quality-factor and nonlinear properties of optical
whispering-gallery modes. 1989. Phys. Lett. A.137, 393. [2] Gourevich, I.,et al.,
Polymer Multilayer Particles: A Route to Spherical Dielectric Resonators. 2006.
Macromolecules. 39, 1449.
[3] Burlak, G.,. The Classical And Quantum Dynamics Of The Multispherical
Nanostructures. Imperial College Press, 2004.
[4] Vyacheslav R. Misko, Sergey Savel'ev, and Franco Nori.: Critical currents in superconductors with quasiperiodic pinning arrays: One-dimensional chains and twodimensional Penrose lattices. Phys. Rev. B. 74 024522 (2006).
[5] Le-Wei Li; Pang-Shyan Kooi; Mook-Seng Leong; Tat-Soon Yee.: IEEE Trans.
Mi-crowave Theory. 42 2302 (1994).
[6] Burlak, G., Chavez, A.: Frequency spectrum and confinement of optical
radiation
of nanorods in multilayered microsphere. Optics Commun. 268 330 (2006).
[7] B. Mller, U. Woggon, M. V. Artemyev, R. Wannemacher.: Mode control by nanoengineering light emitters in spherical microcavities. Appl. Phys. Lett. 83 2686
(2003).
[8] Chew W.: Waves and Fields in Inhomogeneous Media. IEEE Press, New York
(1996).
[9] Jackson J.D.: Classical electrodynamics. JOHN Willey, Sons. (1975)
[10] T. F. Smith, M. S. Waterman.: Identi¯cation of Common Molecular
Subsequences. J. Mol. Biol. 147, 195-197 (1981).
[11] Landau, L.D., Lifschitz, E. M.:Statistical Physics Part 2. Oxford, England,
Perg-amon Press. (1981).
360
The use of Parallel Axtensions Libraries for
Scientific and Engineering Calculations.
Gennadiy Burlak, José Alberto Hernández Aguilar, René Santaolaya Salgado,
Moisés González Garcia
Resumen. Estudiamos el uso de la biblioteca de Ampliación Paralela de
Microsoft de la Estructura .NET 3.5 para cálculos paralelos. Hemos desarrollado
una jerarquía de clases anidadas que tienen una estructura interna complicada y
hemos hecho las pruebas de laboratorio (con una interfase gráfica de usuario
(GUI)) no sólo para los casos estáticos simples sino también para los tipos
dinámicos complicados. Nuestras pruebas han mostrado la alta velocidad de la
biblioteca. El uso de otras bibliotecas que permiten los cálculos en paralelo para
distintas aplicaciones multiplataforma también es discutido.
Palabras Clave. parallel calculations, hierarchy of nesting classes, cross-platform
applications.
Abstract. We studied the use of the library Microsoft Parallel Extensions to .NET
Framework 3.5 for parallel calculations. We have developed a hierarchy of
nesting classes having complicated internal structure and have made the bench
tests (with graphic user interface (GUI)) not only for simple static cases but also
for complex dynamic types. Our tests have shown high speedup of the library.
The use of other libraries allowing calculations in parallel for various crossplatform applications is discussed also.
Sumario:
1. Introduction 2. The structure of classes and working examples 3. Results and
Discussion 4. Conclusions. Referencias
1 Introduction
Dual cores PCs have gradually become the standard in Universities. Quad core
PCs are also getting closer, and PCs with greater number of CPUs/cores are also
available. Modern scientific problems require large amounts of computational
tasks which are well time consuming. Sometimes parallel/ distributed computing
361
of such problems is of critical importance [1], [2]. Nowadays developers have
access to PCs with several CPUs/cores; so there is a great task to use the whole
computing power of such PCs in order to load all the cores to work effectively in
parallel. Recently was published the Parallel Extensions to .NET Framework 3.5
Community Technology Preview (CTP) that provides a managed programming
model for data parallelism, task parallelism, and coordination on parallel
hardware unified. Parallel Extensions makes it easier for developers to write
programs that scale to take advantage of parallel hardware by providing
improved performance as the numbers of cores and processors. Parallel
Extensions provides library based support for introducing concurrency into
applications written with .NET languages, including e.g. C#. In this release
various samples of the library were used for time consuming problems
calculating sequentially and in parallel was done (solve nqueen puzzle, sorting
example, simple matrix multiplication, etc). However in the samples mainly was
used a data with simple numeric static structure. For instance, the product of
random double matrixes with large size was sequentially and in parallel
processed. For such configurations it was demonstrated that performance of in
parallel calculations gives an essential speedup of calculations. However in
engineering calculations frequently one meets more advanced problems in which
it is necessary to use the dynamic data with complicated internal structure.
Typical example is calculations with complex numbers, Fast Fourier
transformations, various numeric transformations with complex matrixes and
vectors. Such structures normally must serve as dynamically distributed objects
rather than being static ones. For such situations in parallel calculations are of
great practical importance. It is well known that among the popular
programming languages only FORTRAN and PYTHON have in-built complex
data type. In languages as C++ and C# such types have to be created by
programmers.
However in languages C ++ and C# we meet other much more important feature:
possibility to overload of the standard mathematical operators: addition,
subtraction, multiplication and division that allows to extend considerably the
meaning of such operators. The operator overloading allows constructing much
more advanced numeric (and not only numeric) classes, such as a complex
vectors and matrices having quite complicate behavior. However speedup of
such structures in parallel mode still has been poorly considered though it is a
logical extension of previous investigation in this area.
In this Report we discuss the computations in parallel for C# that allows
distributing the appropriate tasks effectively at all cores available in the system.
We will take a very brief look at what is provided by Microsoft's in Microsoft
Parallel Extensions to .NET Framework 3.5. The main aim is to discuss how to
implement parallelism for dynamic hierarchies of classes with advanced internal
362
structure. We developed and applied such hierarchy of the nesting classes
(complex matrixes and complex vectors) as working structures at in parallel
calculations and have performed the bench tests. Also we have compared our
results with parallel computations for other library.
2The structure of classes and working examples
Fig.1 shows the structure of our nested classes for complex numbers, vectors and
matrixes. One can see that structural complexity of such objects is much deeper
with respect to a simple double type. For evaluation of real meaning of the MS
parallel library it is important to investigate the speedup of calculation in parallel
for such advanced structures.
Fig.1. Logic diagram and structures of nested classes used in our calculations.
In order to make bench tests of in parallel calculations we used MS VS C# 2008
Express Edition, see Fig.PicrkVS. To handle advanced calculations we had to
extend essentially the code of a testing program. The elaboration consists in the
following. i) The program was added part of code that allow working with
dynamic objects, and ii) the graphic user interface (GUI) has been created. The
latter allow selecting the type of test, and also a desired dimension of the complex
matrixes. Details of our calculations and GUI are depicted in Fig.2. We have
performed the bench tests of library mainly for one of must frequently used in
parallel libraries the cycle operator Parallel.For. We did it not only for static
363
numeric data, but also for complex dynamic structures. Results of this work are
shown in Fig. 3 and summarized in Table 1.
The following technique was used to create the parallel loops over iteration
spaces. For example, let's parallelize the loop, where the iteration range is based
on doubles (for further references see [3])
for(int i = 0; i<1000; i ++)
{
Process(i);
}
The CTP Parallel.For(,,) only contains overloads For where the iteration variable.
As an example, the previously shown loop could be rewritten as:
Parallel.For(0, 1000, i => //using a lambda expression
{
double d = i / 1000.0;
Process(d);
});
The pseudocode for multiplication of dynamic complex matrices by means of
sequential processing and parallel processing is shown below:
Double ParallelMultiplicationOfComplexMatrix(N)
Imaginary number I;
Integer MATRIX_SIZE = N
#Construction of dynamic matrices
MatrixComplex m1a = MatrizComplex(MATRIZ_SIZE)
MatrixComplex m2a = MatrizComplex(MATRIZ_SIZE)
MatrixComplex m1 = MatrizComplex(MATRIZ_SIZE)
MatrixComplex m2 = MatrizComplex(MATRIZ_SIZE)
# Fill Matrices with random Numbers
for i=0 to (MATRIZ_SIZE-1) with increments of 1
for j=0 to (MATRIZ_SIZE-1) with increments of 1
m1a[i, j] = m1[i, j] = generate_rnd_number() + I * generate_rnd_number()
m2a[i, j] = m2[i, j] = generate_rnd_number() + I * generate_rnd_number()
# Sequential product
Timer.start()
m3 = ProductSequential(m1a, m2a)
Timer.stop()
SequentialTime = Timer.getdifference()
364
m3 =null
# Parallel product (Lambda operator => )
Timer.start()
=> m3 = m1 * m2
Timer.stop()
ParallelTime = Timer.getdifference()
# Ratio calculation
ratio = SequentialTime/ParallelTime
return ratio
End ParallelMultiplicationOfComplexMatrix
Fig. 2. In parallel calculations were tested in MS VS C\# 2008 Express Edition.
Getting the full workload of multicore processors can be tricky because, in order
for a program to make use of more than one core, it must divide its workload in
such a way that it does not take more effort than the gains achieved by adding
more cores. Most programming languages were written assuming just one
processor would be working through the code sequentially, line by line [8].
Above example shows that is really easy to add parallel processing using
functional programming and C# extensions.
365
CTP library is quite powerful, easy to use, and provides a lot of different features,
which allow solving the different tasks of parallel computations. It provides
much more than just a single Parallel.For(). However, there are some issues,
which may require other solution for following reasons:
1. The parallel computations extension is targeted for .NET framework 3.5.
Recently the .NET Framework 4 Beta 1 is available for download [4].
However, some applications may still want to support earlier .NET
framework versions, like 2.0, for example that makes difficult for them to
use this extension. The parallel computations extension is not yet included
into the standard .NET framework installation, and requires components
that could not be installed on a target system.
2. The parallel computations extension provided by Microsoft is aimed to
run on Windows systems. However sometimes it is necessary to develop
the cross platform applications that also has to run on Linux, e.g. under the
Mono environment. In this situation one will be left without the paralleling
support.
Therefore further we give attention to the bench tests of parallel CTP library and
the parallel library AFORGE [5]. In the latter the use of the dynamic module
AFORGE.DLL is required only. This library represents a particular interest as it
allows in parallel calculation not only in Windows, but also on cross-platform
situations, for example in system Mono Linux. In this Report the following data
types were used to in parallel bench tests:
366
Fig.3. Simple graphic user interface and our bench tests for in parallel
calculations.
1) static array double [,];
2) dynamic array double [,];
3) static array TcompD [,];
4) dynamic array TcompD [,];
5) dynamic class TCompMatrix and TCompVector with the operators
overloading;
The speedup factor K is defined as K = T_paral/T_seq, where T_paral is
average time of in parallel calculation, while T_ seq is the calculating
average time in a sequentially regime. Table 1 summarizes our calculations.
A computer with Windows XP SR.3, Intel Core2 duo CPU processor (two
processors), and frequency of 2.0 GHz was used
367
3 Results and Discussion
We observe that performance in parallel computations is 0.75, from mean number
of speedup factor K from Table 1, which is evaluated in a simple way, 1.751=0.75, which exceds the sequential calculations. The speedup of Aforge library is
comparable with CTP library at least for Parallel.For operator.For completeness it
is worth noting one interesting project that was developed in Parallel Language
Research Project, see [6]. Besides we have to refer to other more classical direction
of Message Passing Interface (MPI). MPI.NET is a high-performance, easy-to-use
implementation of the Message Passing Interface (MPI) for Microsoft's .NET
environment, for further references see [7].
Table 1. The speedup factor K of calculations in parallel.
Type of data
CTP, 200x200
1.94
Aforge,
200x200
1.72
CTP,
400x400,
1.98
Aforge,
400x400
1.98
static matrixes:
double[,]
dynamic
matrixes:
double[,]
complex static
TcompD[,]
complex
dynamic
TcompD[,]
Multiplication
objects
TCompMatrix()
Mult.
TCompMatrix()
and
TCompVector()
2.04
1.75
2.03
1.80
1.72
1.74
1.72
1.82
1.67
1.76
1.70
1.75
1.675
1.76
1.70
1.7
2.36
2.24
2.38
2.27
Now almost all new servers and computers are running processors with
multiple cores, and the software-design community is trying to figure out
the best way of making use of this new architecture. Now is possible to use
state of the art models and parallel computing programming languages
like Chapel [9] or X10 [10], but if we analyze the sucessful of programming
languajes like Java or C# in last decade, they felt familiar so it was easy to
368
adopt them. According to [11] People with legacy code need tools that have
strong attention to the languages they have written and give them an
incremental approach to add parallelism. If languages like X10 and Chapel
do turn out to be popular, their advancements will be integrated into more
popular languages.
4. Conclusions
We studied the use of the library Microsoft Parallel Extensions CTP to .NET
Framework 3.5 for calculations in parallel. In order to make the test deeper
we developed dynamic hierarchies of classes having complicated internal
structures that were applied as working example of advanced objects. Our
testing program with graphic user interface (GUI) has allowed us to
concentrate various bench tests. In result we have found that for advanced
data the performance in parallel at least on 70%-80% and even more can
exceed the sequential calculations. We believe using extensions like the
proposed in this paper are the best approach to include parallel processing
into new developments.
369
Referencias.
[1] Are Magnus Bruaset, Aslak Tveito, Numerical Solution of Partial
Differential Equations on Parallel Computers (Lecture Notes in
Computational Science and Engineering), Springer, 2006.
[2] Wenhua Yu, Raj Mittra, Tao Su, e.a., Parallel Finite-Difference TimeDomain Method, Artech House Publishers, 2006.
[3]
Eric
Eilebrecht's
blog,
http://blogs.msdn.com/ericeil/archive/2009/04/23/clr-4-0-threadpoolimprovements-part-1.aspx
[4]
Visual
Studio
2010
and
.NET
Framework
4
Beta
1,
http://msdn.microsoft.com/es-mx/netframework/dd582936(en-us).aspx
[5] GNC.com: Does parallel processing require new languages?,
http://www.gcn.com/Blogs/Tech-Blog/2009/06/New-parallel-processinglanguages.aspx.
[6] AForge.NET, http://www.aforgenet.com.
[7] Parallel Language Research Project, http://www.parallelcsharp.com.
[8] MPI.NET: High-Performance C# Library for Message Passing,
http://www.osl.iu.edu/research/mpi.net;http://www.osl.iu.edu/research/mpi.
net/software.
[9]
Chapel:
The
Cascade
High-Productivity
Language,
http://chapel.cray.com/
[10] X10: The New Concurrent Programming Language for Multicore and
Petascale Computing, http://x10-lang.org/
[11] Reinders, James. Intel Threading Building Blocks Outfitting C++ for
Multi-core Processor Parallelism. Publisher O'Reilly Media, 2007.
370
Capítulo IV. Inteligencia
Artificial y Visión
371
372
Complejidad de los datos en las redes neuronales
artificiales: situación actual
P. Toribio, B. G. Rodriguez, R. Alejo
Resumen. En la actualidad, las redes neuronales artificiales son ampliamente
utilizadas para tareas de reconocimiento de patrones, minería de datos y
aprendizaje automático. Lamentablemente, su aplicación a problemas reales
todavía está restringida debido a algunas debilidades, como lentitud en el
proceso de aprendizaje y pobre capacidad de generalización, la cual se ha
mostrado en múltiples aplicaciones prácticas.
En este trabajo se estudian las principales características de los datos de
entrenamiento que tienen un efecto negativo en el proceso de aprendizaje de la
red neuronal, por ejemplo: el ruido, el solapamiento de clases, desbalance de
clases, principalmente. Actualmente, la complejidad de los datos ha atraído la
atención de numerosos investigadores. Se ha observado que la capacidad de
generalización y la convergencia de la red dependen en gran medida del nivel de
complejidad de los datos de entrenamiento.
Palabras clave: Redes neuronales artificiales, costo-sensitivo, over-sampling,
under-sampling, Wilson.
Sumario:
1 Introducción 2 Complejidad de los datos 3 Métodos para tratar la
complejidad de los datos 3.1 Métodos de muestreo (rebalancear la ME) y costosensitivo 3.2 Métodos para eliminar solapamiento, ruido, patrones atípicos y
solapamiento de clases 4 Conclusiones
1 Introducción
Hoy en día las áreas de reconocimiento de patrones, aprendizaje automático y
minería de datos han despertado el interés de muchos investigadores; éstas se
han convertido en herramientas útiles para automatizar procesos en diferentes
campos, como la medicina, la industria y la biología, entre otros. Por ejemplo, la
minería de datos ha surgido como alternativa para la extracción del conocimiento
de grandes cantidades de datos con la finalidad de tomar decisiones o
comprender algún fenómeno social o de la naturaleza.
Actualmente, las redes neuronales artificiales (RNA) son muy utilizadas como
clasificadoras en tareas de minería de datos, aprendizaje automático y
reconocimiento de patrones. El Perceptron Multicapa (PM) ha sido utilizado en la
interpretación de imágenes de lectura remota1 y como aproximador universal,
principalmente. Sin embargo, aún se conoce poco de estos modelos, lo que trae
373
como consecuencia, lentitud en el proceso de aprendizaje y pobre capacidad de
generalización. Varios investigadores han coincidido en que la precisión de estos
clasificadores depende de la calidad de los datos,2,3,4,16 porque las RNA fueron
diseñadas para aprender mediante bases de datos con clases balanceadas y
también con datos que puedan ser linealmente separables, o por lo menos, que
para este tipo de clasificador sea fácil transformar el espacio no linealmente
separable a uno linealmente separable, por lo tanto todos aquellos factores o
características del conjunto de datos que impiden que una RNA aprenda
correctamente reciben el nombre de complejidad de los datos.2,3,5,6,7
Cada investigador define de forma diferente o engloba factores diferentes en
cuanto a la complejidad de los datos; por ejemplo, Barandela3,4 dice que el
conjunto de datos para entrenar la red contiene patrones atípicos y ruidosos que
la afectan negativamente, Visa et al.2 tratan varios factores, como el desbalance —
el problema más grave en redes neuronales—,5,6,7,8 el tamaño de la muestra de
entrenamiento y el solapamiento de clases (véase la figura 1).
Fig. 1. Solapamiento de clases.
2 Complejidad de los datos
Como lo describimos en la sección anterior, la complejidad de los datos son
aquellos factores que disminuyen la calidad de la muestra de entrenamiento (ME)
y que por consiguiente disminuyen la precisión del clasificador. Estos factores se
definen como sigue:
Ruido: son datos con errores originados en su medición o registro —mal
etiquetados, es decir, cuando no pertenecen a la clase donde fueron
colocados.Patrones atípicos: son excepciones a la regla —aunque hayan sido
identificados correctamente, éstos son muy diferentes al resto de los patrones de
la misma clase.
Solapamiento: es cuando dos o más clases se encuentran interceptadas entre sí,
compartiendo elementos en común (véase la figura 1).
374
Desbalance de clases: sucede cuando una clase tiene más patrones que las otras,
es decir, cuando una clase es demasiado pequeña respecto a las demás.
Tamaño de la ME: la cantidad de patrones es directamente proporcional al
tiempo que tarda una RNA en aprender todo el conjunto, por esta razón, entre
más grande sea la muestra, más tiempo consumirá la red en aprender los
patrones, a lo que hay que agregar la carga computacional asociada a este
proceso. Algunos autores8 no sólo asocian el tamaño de la ME a la cantidad de
patrones, sino también a la cantidad de atributos de cada patrón.
Distribución de la los datos: en la figura 2 se muestran dos casos en los cuales se
observa cómo están distribuidos los datos. En la figura 2a se ve una distribución
que, para una red neuronal, sería la óptima. Aquí tomaremos la linealidad dentro
de la distribución de los datos, pues la primera depende de la segunda.
Fig. 2. Distribución de los datos: a) caso óptimo, b) caso no óptimo.
3 Métodos para tratar la complejidad de los datos
El problema más grave, en el cual la mayoría de los investigadores se ha
enfocado de manera particular, es el desbalance de clases.2,5,6,8,10 Sucede que
en una buena parte de los problemas reales los datos están desequilibrados; por
ejemplo, en los fraudes por vía telefónica —los cuales son mucho menos que las
llamadas telefónicas normales— o al tratar con enfermedades como el SIDA —
pues, en comparación con las sanas, hay menos personas contagiadas. Para
corregir el problema del desbalance de datos, varios métodos han sido
propuestos. Entre los más conocidos están los métodos de muestreo,2,10 basados
en el de costo-sensitivo,11 los cuales se describen en la sección 3.1.
Para tratar el solapamiento de clases, patrones atípicos y ruido se utilizan
métodos como la edición de Wilson, basados en la técnica del vecino más cercano
(NN, nearest neighbor rule) y sus variantes, por ejemplo, el 1-NN, k-NN y CNN.
También se han utilizados técnicas basadas en el criterio de vecindad, como el
Grafo de Gabriel (GG, Gabriel Graph) y Grafo de la Vecindad Relativa (RNG,
Relative Neighbourhood Graph),12 las cuales se presentan en un panorama más
amplio en la sección 3.2. Cabe señalar que tanto estos métodos como los de
muestreo para combatir el desbalance modifican la distribución de los datos, así
como el tamaño de la ME. A partir de esto último, nos planteamos la siguiente
375
pregunta: ¿qué tan conveniente es modificar el tamaño y la distribución de los
datos?
3.1 Métodos de muestreo (rebalancear la ME) y costo-sensitivo
Cuando hablamos de corregir el desbalance de datos por muestreo, nos referimos
principalmente al over-sampling, under-sampling.2,10 La función principal del
over-sampling es añadir a la clase minoritaria copias de los patrones de esta
misma clase hasta equilibrar las clases de manera aleatoria, aunque Haibo et al.10
nos dicen que la desventaja de usar este método es que se puede llegar a un
sobreajuste.13 De forma contraria, el under-sampling, elimina patrones de
manera aleatoria de la clase mayoritaria hasta balancear la ME. Además, se ha
popularizado SMOTE, una variación del over-sampling, cuya diferencia consiste
en el hecho de que ya no se duplican patrones aleatoriamente, sino que se crean
patrones sintéticos mediante la interpolación.2
Algunos autores rechazan estos métodos porque el under-sampling involucra
pérdida de información —pues descarta datos potencialmente útiles— y el oversampling incrementa el tamaño de la ME sin ningún aumento de información,
por lo tanto, sugieren que las investigaciones se enfoquen en los algoritmos de
aprendizaje.
Otro enfoque para combatir el desbalance de clases, es el de costo-sensitivo (costsensitive),11 el cual se basa en la afirmación de que el precio de cometer un error
de clasificación debe ser distinto para cada clase.14 En este método se aplica una
matriz de costos para C clases —los valores dependen del problema que se esté
tratando—, donde:
Denota el costo de una clasificación (véase el cuadro 1) errónea de un patrón de
clase i-ésima en la clase j-ésima, , por ejemplo:
Además, en los últimos años se ha popularizado el paradigma de aprendizaje en
conjuntos,11,18 es decir, se entrenan varios clasificadores y se combinan sus
predicciones. En este paradigma, cada clasificador es un aprendiz; entonces, cada
uno de ellos vota por una clase, y la clase que haya recibido más votos es la que
se retorna.
376
Cuadro 7. Ejemplo de una Matriz de Costo (Cost[i, j]) para una ME con tres clases
i
1
2
3
J
1
0
1
1
2
1
0
1
3
8
9
0
3.2 Métodos para eliminar solapamiento, ruido, patrones atípicos y
solapamiento de clases
Diversos autores15,16 hablan del uso de técnicas basadas en la regla del vecino
más cercano para la eliminación de ruido en la ME, lo que mejora el rendimiento
del clasificador. Como en la mayoría de las investigaciones solapamiento, ruido y
patrones atípicos se tratan en conjunto, englobaremos estos tres factores como
‚limpieza de la ME‛. Los algoritmos m{s utilizados para limpiar la ME son los
de Edición, los cuales consisten en descartar prototipos (patrones) que se
encuentren en la región correspondiente a una clase distinta a la suya, es decir,
prototipos cuya probabilidad de pertenencia a su clase se vea superada por la
probabilidad de pertenencia a alguna otra clase. La Edición de Wilson17 propone
eliminar los elementos atípicos de la muestra de entrenamiento mediante la
aplicación del procedimiento k-NN (k, vecinos más cercanos). Dado un patrón de
prueba de la ME, se buscan sus k-vecinos más cercanos, y si la mayoría de éstos
no pertenece a la misma clase, el patrón de prueba se elimina. La Edición de
WilsonCN18 es una modificación del algoritmo de Wilson. Este método se basa
en usar, en vez de la regla k-NN, la regla k-NCN (regla de los k-Vecinos de
Centroides más Cercanos) como clasificador central del método, debido a que con
ella se obtienen mejores resultados, sobre todo cuando el conjunto de
entrenamiento es relativamente pequeño. Este algoritmo presenta el
inconveniente de tener un costo computacional superior a la variante original, lo
que limita su utilización en determinados problemas reales. Además de los
métodos basados en la regla del vecino más cercano y sus variantes, los métodos
basados en el criterio de vecindad han dado buenos resultados para la limpieza
de la ME, aunque su impacto sobre la precisión del clasificador no ha alcanzado
lo esperado.
A continuación, el funcionamiento de estos métodos se describe con más detalle.
La técnica GG (Grafo de Gabriel)18 dice que para un conjunto V de n puntos
(refiriéndose a un vector) V = ,p1, p2,<, pn}, dos puntos pi y pj son vecinos de
Gabriel si:
dist2(pi,pj)<dist2(pi,pk)+dist2(pk,pj)
(1)
377
Uniendo mediante una arista todos los vecinos de Gabriel en pares, se obtiene el
grafo de Gabriel. En un sentido geométrico, los dos puntos pi y pj son vecinos de
Gabriel si el circulo con diámetro igual a la distancia entre pi y pj no contiene
ningún otro punto pk  V.
La técnica Grafo de Vecindad Relativa (RNG)18 basa su funcionamiento en que si
dos puntos x, y son relativamente cercanos entre sí, el área definida por la
intersección del circulo con centro en x y radio xy, y el circulo con centro en y con
el mismo radio no contiene otro punto. Formalmente, el grado de la vecindad
relativa de un conjunto de puntos S tiene una arista entre x e y si:
dist(x,y)≤max[dist(x,z),dist(y,z)]
(4)
La desventaja de estos métodos es que no se tiene control sobre los patrones que
se eliminan de la ME, y su uso en algunos casos aumenta el índice de error en
proceso de aprendizaje.2
4 Conclusiones
En este artículo concluimos que la complejidad de los datos son todos aquellos
factores que afectan la calidad de la muestra de entrenamiento y por consiguiente
disminuyen la presión de clasificación de la RNA. Estos factores son: ruido,
patrones atípicos, solapamiento de clases, desbalance de clases, tamaño de la ME
y distribución de los datos.
Hemos discutido sobre el problema llamado complejidad de los datos y sus
efectos en el entrenamiento de una red neuronal. Describimos también las
soluciones más utilizadas para tratar este problema, lo que nos ayuda a
comprender su magnitud, así como la dirección que deben tomar las
investigaciones futuras para solucionarlo.
Algunas propuestas de investigaciones futuras que podemos mencionar en este
artículo son la búsqueda de métricas que ayuden a medir los factores englobados
en la complejidad de los datos y la modificación de las técnicas anteriores para
obtener mejores resultados. Por ejemplo: hasta ahora, algunos de los métodos
mencionados se han aplicado en el espacio de entrada, pero ¿qué pasaría si se
aplicaran en el espacio oculto de la red neuronal, donde en realidad trabaja la
red?, ¿se mejoraría el desempeño de la red?
378
Referencias
1. Foody, G. M., ‚Using Prior Knowledge in Artificial Neural Network with a Minimal
Training Set‛, International Journal of Remote Sensing, vol. 2, núm. 16, 1995, pp. 301312.
2. Visa, S. y A. Ralescu, A., ‚Issues in Mining Imbalanced Data Sets. A Review Paper‛,
Proceedings of the Sixteen Midwest Artificial Intelligence and Cognitive Science
Conference, 2005, pp. 67-73.
3. Barandela, R., E. Gasca y R. Alejo, ‚Corrección de la muestra para el aprendizaje del
Perceptron Multicapa‛, Revista Iberoamericana de Inteligencia Artificial , año 2, vol. 9,
núm. 13, 2001.
4. Barandela, R., E. Gasca y R. Alejo, ‚Correcting the Training Data. Combinatorial
Optimization‛, Dordrecht, 13, 14, 2002.
5. Anand, R., K. Mehrotra, C. Mohan y S. Ranka, ‚An Improved Algorithm for Neural
Network Classification of Imbalanced Training Sets‛, IEEE Transactions on Neural
Networks, núm. 4, 1993.
6. Murphey, Y., H. Guo y L. Feldkamp, Neural learning from imbalanced data, Applied
Intelligence, núm. 21, 2004.
7. Bruzzone, L. y S. Serpico, ‚Classification of Imbalanced Remote-Sensing Data by
Neural Networks‛, Pattern Recognition Letter, núm. 18, 1997.
8. Lu, Y., H. Guo y L. Feldkamp, ‚Robust Neural Learning from Unbalanced Data
Examples‛, Proceedings of IEEE International Joint Conference on Neural Networks,
1998.
9. Sanchez, J. S., R. A. Mollineda y J. M. Sotoca, An Analisis of how Training Data
Complexity Affects the Nearest Neighbor Classifiers, Springer-Verlag, Londres, 2007.
10. Haibo, He y Edwardo A. Garcia, ‚Learning from Imbalanced Data‛, IEEE
Transactions on Knowledge and Data Engineering, vol. 21, núm. 9, 2009.
11. Zhi-Hua, Xu-Ying Liu, ‚Training Cost-Sensitive Neural Networks with Methods
Addressing the Class Imbalance Problem‛, IEEE Transactions on Knowledge and Data
Engineering, vol. 18, núm. 1, 2006.
12. Sánchez Garreta, José Salvador, Training. Aprendizaje y clasificación basados en
criterios de vecindad: métodos alternativos y análisis comparativo, tesis doctoral,
Universitat Jaume I, 1998.
13. Mease, D., A. J. Wyner y A. Buja, Boosted Classification Trees and Class
Probability/Quantile Estimation, Journal of Machine Learning Research, vol. 8, 2007.
14. Kukar, M. e I. Kononenko, Cost-Sensitive Learning with Neural Networks, XIII
European Conference on Artificial Intelligence, 1998.
15. Gopalakrishnan M., V. Sridhar y H. Krishnamurthy, ‚Some application of clustering
in the desing of neural networks‛, Patter Recognition Letters, vol. 16, núms. 59-65, 1995.
379
16. Barandela, R y E. Gasca, ‚Decontamination of Training Samples for Supervised
Pattern Recognition Methods‛, en F. Ferri et al., Lecture Notes in Computer Science,
1876; Advances in Pattern Recognition, Springer-Verlag, Nueva York, 2000.
17. Wilson, D. L., ‚Asymptotic Properties of Nearest Neighbor Rules Using Edited Data
Sets‛, IEEE. on Systems, Man and Cybernetics, vol. 2, 1972, pp. 408-421.
18. S{nchez, J. S., F. Pla y F. J. Ferri, ‚Using the Nearest Centroid Neighbourhood
Concept for Editing Purpose‛, Proceedings
VII Simposium Nacional de
Reconocimiento de formas y Análisis de Imágenes, núm. 1, 1997, pp. 175-180.
19. T. G. Dietterich, Ensamble Learning. The Handbook of Brain Theory and Neural
Networks, 2a. ed., MIT Press, Cambridge, Mass., 2002.
380
Automatización del Proceso de Ensamble
utilizando Visión Artificial
Mario Peña Cabrera, H. Gómez N., R. Osorio C., Ismael López-Juárez, Oleg
Sergiyenko
Resumen. Desde que el primer robot manipulador en aplicaciones industriales fue
instalado para General Motors, la planeación y ejecución de sus movimientos ha sido
parte del desarrollo de los sistemas robóticos y ha involucrado a investigadores de
diferentes especialidades. La planificación y guía del movimiento en los robots es cada
vez más compleja, debido a la gran variedad de aplicaciones en las que éstos se
utilizan; desde tareas extremadamente repetitivas en las líneas tradicionales de
ensamble hasta la asistencia en los movimientos precisos de las operaciones
quirúrgicas. El artículo muestra un método novedoso basado en la integración de un
algoritmo de reconocimiento y una arquitectura neuronal para aplicaciones de
reconocimiento invariante de objetos, utilizando robots industriales autoadaptables que
realicen tareas de ensamble. El método utilizado en experimentaciones de laboratorio
es ahora presentado como una técnica robusta para el ensamble de piezas con robots
guiados por visión artificial. Los objetos nuevos son reconocidos en milésimas de
segundo y posteriormente clasificados en línea para realizar ensambles en tiempo real.
La arquitectura se entrena primero con pistas que representan objetos diferentes a los
cuales el robot, durante su aplicación, tratará de encontrar dentro de su espacio de
trabajo para formar su base de conocimientos previos (BCP). Esta información dispara
entonces el subsistema de aprendizaje en línea, basado en la red neuronal artificial
FuzzyARTMAP, y el nuevo vector representativo de la imagen se sobreimpone a las
pistas iniciales. El robot aprende a identificar tanto aquellos objetos que le son
familiares como los nuevos, de esta manera se integra un sistema robótico más
complejo con diferentes aplicaciones en manufactura inteligente. La propuesta
tecnológica para el reconocimiento invariante de objetos está basada en el uso de
formas canónicas dentro de la base primitiva de conocimiento y en la utilización de los
aspectos y principios de la Gestalt. De este modo, se construyen las piezas con esas
formas canónicas y se las agrupa de varias maneras, siguiendo el conocimiento a priori
y considerando las formas de agrupamiento como pistas. El artículo muestra el diseño
y los resultados obtenidos con el uso de la técnica descrita para reconocer piezas de
ensamble dentro de una celda de manufactura inteligente.
Sumario:
1 Introducción 2.1 Reconocimiento de objetos sin variante 2.2 Redes neuronales
artificiales 3 Manufactura inteligente 3.1 Ensamble 4. Sistema de visión 4
Metodología 4.1 Generación del vector descriptivo 5 Resultados experimentales
381
5.1 Entrenamiento y reconocimiento en línea 6 Conclusiones y trabajo futuro.
Referencia
1 Introducción
Es deseable que los sistemas de visión actuales sean capaces de ver y percibir objetos e
imágenes de la manera más semejante a como lo hace el ser humano. Esto es cada vez
más necesario cuando se utilizan sistemas robóticos complejos en los cuales la
planificación y guía del movimiento se ha ido complicando debido a la gran variedad
de aplicaciones en las que los robots se utilizan.1 La planeación de los movimientos de
los robots, o bien, la guía en línea para la realización de un proceso de ensamble, se
utilizan de una u otra manera como la trayectoria o el curso planeado o calculado. El
curso o rumbo de un movimiento robótico se define como la búsqueda continua de
secuencias de movimiento sin colisiones entre un principio y una meta de movimiento
a realizar; en cambio, la planeación de una trayectoria tiene que ver también con el
historial o el plan programado de una configuración de secuencias de movimiento.2,3
Los sistemas en los cuales los robots tienen que compartir espacios comunes con otras
máquinas o incluso otros robots manipuladores son el resultado de las demandas
industriales en las que el tiempo, el espacio y la productividad están muy ligados entre
sí. Por ejemplo, tratándose de volúmenes de producción muy grandes y tiempos
prolongados del ciclo de vida de los productos, la planeación de las trayectorias de
movimiento de los robots que van a ser instalados en un proceso de manufactura de
algún producto nuevo se puede hacer ‚fuera de línea‛ y en un tiempo largo; sin
embargo, aun así, puede hacerse necesario el detener la producción de una línea de
manufactura, corroborar de cuando en cuando la exactitud de las trayectorias
planeadas y establecer algún ajuste para luego reestablecer la línea de producción.
Por otro lado, en sistemas en los que el volumen de producción es pequeño o mediano
—producción por lotes— y una sola celda de manufactura tiene que manufacturar una
variedad de productos, el proceso de planeación o cálculo de las trayectorias tiene que
ser muy eficiente para asegurar que el tiempo que la línea de producción esté fuera de
servicio no afecte el costo final de la producción del producto. De acuerdo con esto, la
utilización de metodologías y la creación de algoritmos debe darle más flexibilidad a
los sistemas no estructurados, permitiendo la planeación o c{lculo de trayectorias ‚en
línea‛ e incrementando consecuentemente la productividad de los sistemas. En este
sentido, se considera que la aplicación de técnicas de ‚inteligencia artificial‛ (soft
computing) mejora el desarrollo de la planeación global de las trayectorias de los
movimientos de los robots manipuladores industriales. En este enfoque del problema,
se considera el hecho de que los mismos robots manipuladores tienen que encontrar un
objetivo específico, definido como coordenadas en su área de trabajo, en lugar de llevar
a cabo una configuración de tareas fijas y repetitivas. En los dos últimos decenios, este
problema ha sido estudiado por muchos investigadores.
382
Técnicas de soft computing‛ es el nombre que se le ha dado en la tecnología de la
información al conjunto de métodos que abarcan la ‚lógica difusa‛, las ‚redes
neuronales‛ y los ‚algoritmos genéticos‛ utilizados para resolver los problemas no
lineales que los métodos tradicionales no pueden resolver.
Los algoritmos genéticos fueron desarrollados por Holland y posteriormente
implementados por Goldberg. Un algoritmo genético es una estrategia de búsqueda
que imita la teoría de la evolución de la vida natural. La lógica difusa, propuesta
inicialmente por Zadhe, en 1965, e implementada por primera vez por Madmani, en
1974, es una extensión de la lógica Booleana que permite el procesamiento de
información vaga o difusa. Las redes neuronales artificiales pretenden simular la
manera como el cerebro humano interpreta y procesa la información. Los primeros
trabajos al respecto fueron presentados por McCulloch y Pitts, en 1943.
2 Visión artificial
El advenimiento de sistemas robóticos más complejos, en aplicaciones como
manufactura inteligente, ciencias de la salud y el espacio, han creado la demanda de
mejores sistemas de visión. Los sistemas de visión deben ser capaces de ver y percibir
objetos e imágenes de la manera muy parecida a como el ser humano ve y percibe. Las
ideas que han inspirado el proyecto y nos han otorgado un razonamiento para el
diseño de la metodología han sido tomadas de observar el comportamiento en bebés
humanos de entre tres meses y dos años, así como el comportamiento respecto de la
evolución del desarrollo mental en los humanos, reportado por Piaget. Al observar
cómo los bebés entienden una escena visual para asir un simple objeto o seguir una
trayectoria con la mirada, se encontró que existen dos factores que deben considerarse
como válidos para nuestro proyecto:
 Hay un primer punto dentro de la escena en el cual todos los atributos y la
extracción de características se basan y éste parece ser el centro de masa —el área con
más peso dentro de la imagen.
 Una vez que un objeto ha sido presentado para su visualización y aprendizaje, en
la siguiente ocasión en que se le enseña el objeto al bebé humano, éste busca pistas en la
escena utilizando datos y características previamente aprendidos.
Estas ideas nos han llevado a pensar en la posibilidad de obtener información fiable y
rápida con un análisis simple pero objetivo de lo que un objeto debe mostrar como la
información más adecuada, necesaria y primitiva para tener un conocimiento
sustancial y robusto de lo que se está viendo y memorizar los aspectos más importantes
de la escena —a los que hemos llamado ‚pistas‛. Las pistas pueden utilizarse para
recordar aspectos del objeto ya memorizados sin tener que obtener características más
detalladas. Por medio de las redes neuronales, es posible aprender habilidades para
manipular objetos que puedan ser usados por los robots manipuladores industriales.
De alguna manera, los seres humanos lo hacemos de ese modo cuando ya hemos visto
383
y aprendido algo sobre el objeto, por lo tanto, creemos que aprendiendo formas
canónicas en el proceso inicial de conocimiento será posible reconstruir más tarde todo
el conocimiento acerca del objeto.
2.1 Reconocimiento de objetos sin variante
El reconocer un objeto utilizando un sistema de visión artificial involucra una gran
cantidad de cálculos y procesos matemáticos que tienen que ser codificados e
implementados y probados para su utilización en una aplicación real. Los sistemas de
visión y las tecnologías de estado sólido han evolucionado en forma paralela, es decir,
al tener computadoras más rápidas y sofisticadas, se han podido desarrollar e
implementar mejores y más complejos sistemas de visión con algoritmos más
complejos que anteriormente parecía que no llegarían a ser una realidad. Las ideas
básicas fueron establecidas con representaciones, arquitecturas y algoritmos que
llevaron al desarrollo de esta disciplina en la investigación. Una solución general al
problema de reconocimiento no existe todavía, la mayoría de los métodos clásicos de
reconocimiento de objetos utilizan análisis de formas y extracción de atributos
mensurables de imágenes digitales para alcanzar las soluciones. Las investigaciones
más recientes apuntan al uso de técnicas de inteligencia artificial para buscar las
soluciones al reconocimiento invariante de objetos utilizando la visión artificial. Las
redes neuronales artificiales son técnicas muy representativas para este propósito.
Nuestra propuesta de metodología para el reconocimiento invariante de objetos está
basada en el uso de formas canónicas dentro de la base primitiva de conocimiento.
Estas formas canónicas se pueden representar por un vector descriptivo que hemos
llamado ‚CFD&POSE‛, el cual contiene la información necesaria para llevar a cabo las
ideas que aquí se muestran: el diseño y los resultados obtenidos de la experimentación
con piezas de ensamble dentro de una celda de manufactura inteligente diseñada
alrededor de una arquitectura holónica donde cada componente de la celda es un
agente inteligente.
Al utilizar el modelo de red neuronal FuzzyARTMAP, se aprenden habilidades para
manipular objetos usados por robots manipuladores industriales, emulando de alguna
manera el comportamiento de los humanos.
El reconocimiento se establece al conformar un vector que asimila la información del
objeto con una dimensión fija de datos y basado en la secuencia geométrica de formas
canónicas dentro del proceso inicial de conocimiento, para más tarde hacer posible la
reconstrucción del conocimiento acerca del objeto.
384
2.2 Redes neuronales artificiales
Existen diferentes tipos de redes neuronales artificiales (RNA). Para esta investigación
se utilizó la red FuzzyARTMAP. ART son las iniciales de Adaptive Resonance Theory, un
modelo bien establecido y asociado al funcionamiento cerebral; muy competitivo,
introducido como una teoría del proceso cognitivo del ser humano y desarrollado por
Stephen Grossberg en la Universidad de Boston. Grossberg resumió las situaciones
mencionadas anteriormente en lo que llamó ‚Stability-plasticity dilemma‛ , sugiriendo
que los modelos conexionistas deberían tener la posibilidad de adaptación y cambiar
entre sus estados plásticos y estables. Esto es, un sistema debe exhibir plasticidad para
acomodar la información nueva proveniente de eventos no familiares, pero también
debe permanecer en una condición estable si ocurre información familiar o irrelevante.
Este modelo de red se caracteriza por su capacidad de adquirir conocimiento
incremental y su estabilidad, y además, por su respuesta rápida al reconocimiento de
información.
3 Manufactura inteligente
Recientemente, se ha generalizado la idea de contar con celdas inteligentes de
manufactura que utilicen robots con capacidades sensoriales y algoritmos inteligentes
basadas en las últimas investigaciones y desarrollos de inteligencia artificial (IA), como
la lógica difusa y las redes neuronales. Con estas técnicas se simplifica el manejo de
modelos matemáticos complejos que requieren de bastante tiempo de cómputo para su
aplicación. El uso de sistemas multimodales que obtengan información de diferentes
modos sensoriales con el propósito de manufactura, nos hace pensar en sistemas más
robustos, autoadaptables y parecidos al comportamiento humano, los cuales
necesariamente mejorarían el desempeño y la flexibilidad en aplicaciones comunes con
robots manipuladores.
En los sistemas de manufactura, han sido utilizados diferentes sensores para realizar
tareas muy específicas y por separado, como, por ejemplo, guía de trayectorias para
soldar piezas, sistemas de visión para aplicaciones de inspección y control de calidad, y
sensores de fuerza-torque para realizar tareas de ensamble. La integración de robots
con capacidades sensoriales para realizar tareas de ensamble en una celda flexible de
manufactura es un tema de vanguardia en la investigación y desarrollo de sistemas de
manufactura inteligente. La mayoría de los usuarios y fabricantes que utilizan sistemas
automatizados en la fabricación han puesto su empeño en mejorar la precisión y
velocidad de los sistemas robotizados, pero a un lado de las habilidades cinemáticas de
un robot, sus capacidades sensoriales no han sido desarrolladas y son necesarias para
proveer al robot con un alto grado de flexibilidad y autonomía en sus tareas de
manufactura. Para lograr este objetivo es necesario cumplir con los requerimientos de
385
un ambiente de producción cuyas características resulte un factor crucial en el proceso
de fabricación:
Incertidumbre en la posición de las herramientas o piezas de trabajo. Para solventar esto, se
utilizan partes y accesorios que garantizan posiciones fijas para realizar los ensambles,
pero resultan costosas, muy particularizadas y generalmente con necesidad de ajuste
en ciertos intervalos de tiempo de uso.
Operación de los manipuladores con piezas de trabajo que se mueven.
Evaluación de fuerzas de interacción y torques.
Entonces, se tiene la idea contar con robots autoadaptables, con capacidades sensoriales
y de aprendizaje de habilidades en la fabricación en línea. Para ello, se necesita una
integración de diferentes modos de percepción sensorial, de manera que el desempeño
se parezca al comportamiento humano en sus tareas de aprendizaje y ejecución en
procesos de manufactura orientados a tareas de ensamble.
El interés en desarrollar celdas inteligentes de manufactura con capacidades sensoriales
tiene énfasis en el uso de un sistema de visión.
3.1 Ensamble
El éxito de las operaciones de ensamble con robots industriales está prácticamente
basado en la exactitud del mismo robot y en la precisión del conocimiento de su medio
ambiente —por ejemplo, información de la geometría de las partes que se ensamblan y
su localización en el espacio de trabajo. Los robots manipuladores operan en
situaciones de tiempo real con un alto grado de incertidumbre, como ya se ha
mencionado, y requieren de sistemas de censado que compensen los errores
potenciales durante las operaciones de trabajo. Las incertidumbres provienen de una
variedad de factores, como errores de posicionamiento de los robots, desajuste de los
engranes, deflexión de los brazos, y en general, envejecimiento de los mecanismos. El
control de todos estos aspectos en un proceso de ensamble es realmente una tarea
difícil, pero si se tiene una estrategia más simple, es más conveniente, como sucede
cuando se utilizan robots guiados con visión artificial, en una tarea de ensamble en la
inserción denominada ‚peg-in-hole‛
4 Sistema de visión
Los sistemas de visión, hoy en día, son utilizados en aplicaciones como inspección,
control de calidad y tareas de ensamble; han sido adoptados ahora como tecnología
necesaria en las industrias modernas automatizadas. A continuación, se presenta un
método novedoso para este propósito y pruebas para llevar a cabo un proceso de
ensamble guiado por visión y utilizando para su experimentación piezas de aluminio
386
con diferentes secciones geométricas denominadas circular, cuadrada y radicuadrada.
Estos componentes se muestran en la figura 1 y la operación peg-in-hole en la figura 2.
Radiused-Square
Circular
Square
25 0
12.5R
15
15
15
25
Units in mm
Fig. 1. Componentes de ensamble.
Fig. 2. Operación de ensamble peg-in-hole.
camera
Fig. 3. Espacio de trabajo del sistema de visión.
387
El modo sensorial de visión proporciona al brazo-robot la información espacial en la
localización (POSE) y captura de partes (grasping). La figura 3 muestra el sistema de
visión, el cual está integrado por una cámara de televisión de alta velocidad, del tipo
progresiva, con sensor CCD/B&W, PULNIX 6710,10 colocada en un sistema de
posicionamiento X-Y en la parte superior de la celda de manufactura, lo que permite
tener escenas de ‚partes‛ en diferentes localidades dentro del área de trabajo. La
imagen es adquirida y procesada para obtener información confiable dentro de un
rango de iluminación considerable en tareas de manufactura en un ambiente industrial.
La imagen es procesada para obtener una imagen binaria sobre la cual se aplican
algoritmos que permiten transformar la forma en una colección ordenada de pares
numéricos, la cual es analizada y utilizada para obtener información de las
coordenadas del centroide y puntos importantes de la forma, lo que permite el cálculo
de la orientación del objeto para obtener el POSE.
5 Metodología
La metodología para el reconocimiento sin variante de objetos de ensamble está basada
en el uso de formas canónicas dentro de lo que se ha llamado ‚base de conocimiento
primitiva‛ (BCP), la cual se construye durante la fase de entrenamiento, y una vez
dentro del sistema, la idea es refinarla en línea. Para ilustrar la metodología es
conveniente considerar los componentes de ensamble representados en 2D, como en la
figura 4.
Fig. 4. Representación de piezas de ensamble en 2D.
Estas formas canónicas sirven como ‚pistas‛ insertadas inicialmente en la BPC y en la
que es posible analizar el proceso de agrupamiento. El conocimiento es adquirido al
presentar múltiples instancias del objeto en escena, como se muestra en la figura 5,
donde se da un ejemplo de una pieza circular cuyas vistas son ilustradas en diagramas
sucesivos. El siguiente paso es codificar la información de los objetos para tener un
vector descriptivo sin variante para la rotación, la traslación y la aplicación de la escala.
388
Fig.. 5. Múltiples instancias de una pieza circular.
Teniendo un vector descriptivo como éste, es posible entrenar una red neuronal
artificial para tener una familia de vectores descriptivos generados en línea con el
sistema de visión (véase la figura 6).
Los pasos a seguir en la metodología del sistema de visión para el robot son:









Rápida adquisición de la escena visual de trabajo.
Encontrar la región de interés (ROI).
Cálculo del histograma de la imagen.
Búsqueda de piezas.
Cálculo del centroide.
Orientación de la pieza.
Cálculo de la función boundary object function (BOF).
Generación del vector descriptivo y normalización (CFD&POSE).
Procesamiento de información en la red neuronal.
389
Fig. 6. Módulo CFD&POSE y red neuronal.
4.1 Generación del vector descriptivo
Una vez que la información ha sido procesada, se conforma un vector descriptivo como
entrada a la red neuronal. El vector se llama CFD&POSE y está formado por:
 D1 
D 
 2
 D3 
D 
 n
[CFD & POSE]   X c 
Y 
 c 
 
Z 
 
 ID 
donde:
Di es la distancia del centroide al perímetro;
XC, YC son las coordenadas del centroide;
 es el ángulo de orientación;
390
Z es la altura del objeto;
ID es un número codificado relacionado con la geometría de los componentes.
La función boundary object function (BOF) es la que describe cada pieza específica y
variará de acuerdo con la forma de cada pieza (véase la figura 7).
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
a
1
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
A
15
29
43
57
71
85
C
b
1
99 113 127 141 155 169 183
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
B
15
29
43
57
71
85
99 113 127 141 155 169 183
c
1
15
29
43
57
71
85
99 113 127 141 155 169 183
Fig.. 7. BOF: a) circulo, b) cuadrado, c) radicuadrado.
5 Resultados experimentales
5.1 Entrenamiento y reconocimiento en línea
Para verificar la realización y robustez de las tareas de ensamble con la red neuronal
artificial y esta metodología se hicieron pruebas con las piezas de ensamble y el sistema
de visión, en un trabajo experimental. En un principio, la red fue entrenada con 2 808
patrones diferentes para analizar la capacidad de aprendizaje y reconocimiento de las
piezas de trabajo. Los resultados relacionados con el porcentaje de reconocimiento y el
número de neuronas generadas se muestra en la figura 9. La gráfica muestra cómo el
sistema aprendió todos los patrones en tres épocas, creando solamente 32 neuronas
para clasificar 2 808 patrones. La figura 8 muestra el trabajo experimental con el robot.
El tiempo promedio para el entrenamiento fue de 4.42 ms. y para la prueba de 1.0 ms.
Un proceso de normalización se aplicó al vector descriptivo y el trabajo experimental se
redujo a solo 216 patrones de componentes del mismo tamaño, correspondientes a 72
cuadrados, 72 círculos y 72 radicuadrados.
Fig. 8. Trabajo experimental.
391
Fig. 9. Aprendizaje de la red neuronal.
Los valores de orientación fueron 0, 45, 90, 135, 180, 215, 270 y 315 grados. Con estos
patrones de entrenamiento, el sistema fue capaz de reconocer el 100% de las piezas
presentadas en línea, sin importar si eran de diferente tamaño o estaban en diferente
localidad y rotación y en diferentes condiciones de iluminación. Las piezas utilizadas
para entrenar la red neuronal se muestran en la figura 10. En la figura 11 se muestran
las gráficas para diferentes vectores descriptivos de cada pieza de ensamble y en
diferentes posiciones, tamaños y orientaciones.
Fig. 10. Piezas de ensamble para trabajo experimental.
392
1
a
0.9
0.8
0.7
0.6
0.5
0.4
0.3
1
0.2
0.1
b
0.9
0.8
0
1
11
0.7 31
21
0.6
0.5
41
51
61
71
81
1
11
21
31
41
51
61
31
41
51
61
71
81
91 101 111 121 131 141 151 161 171 181
91 101 111 121 131 141 151 161 171 181
0.4
0.3
0.2
0.1
0
1
c
0.9
0.8
71
81
91 101 111 121 131 141 151 161 171 181
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
1
11
21
Fig. 11. Vectores descriptivos para piezas de ensamble en diferentes posiciones y
tamaños.
6 Conclusiones y trabajo futuro
Una metodología novedosa para el rápido reconocimiento de objetos y la estimación de
su posición se logró con éxito. Los resultados experimentales, con piezas de ensamble
en manufactura, muestran la metodología para el procesamiento de imágenes, los
cálculos del centroide y el perímetro en los componentes. Las pruebas se realizaron en
ambientes de manufactura reales. Los resultados confirman la factibilidad del método
para mandar información de ‚agarre‛ y morfología de las piezas a un robot, en tiempo
real. Se logró también el reconocimiento muy aceptable de los componentes de
ensamble y la identificación de piezas de trabajo, con éxito, utilizando un modelo de
red neuronal FuzzyARTMAP. El desempeño del modelo fue muy satisfactorio, con
tiempos de reconocimiento menores a 5 ms. y rangos de identificación del 100%. Las
medidas experimentales mostraron ±3 milímetros de error en la información enviada al
robot. El ángulo de orientación de las piezas pudo obtenerse hasta ±9 grados, lo cual es
bastante bueno para que el robot pueda asir las piezas.
Referencias
1.
Tombropolous, R. Z., J. R. Adler et al., ‚Carabeamer : A Treatment Planner for a
Robotic Radiocirurgical System with General Kinematics, Medical Image Analysis, vol.
3, núm. 3, 1999, pp. 237-264.
2.
Sugihara, K. y J. Smith, ‚Genetic Algorithms for Adaptive Motion Planning of
Autonomous Mobile Robots‛ (reporte ténico) University of Hawaii, Manoa, 1997.
393
3.
Wise, D. K. y A. Bowyer, ‚A Survey of Global Configuration-Space Mapping
Techniques for a Single Robot in a Static Environment‛, International Journal of
Robotic Research, 2000, pp. 762-769.
4.
Latombe, J. C., Robot Motion Planning, Kluwer Academic, Boston, 1991.
5.
Hwang, Y. K. y N. Ahuja ‚Gross Motion Planning: A Survey‛, ACM Computing
Surveys, vol. 24, núm. 3, 1992, pp. 219-291.
6.
Holland, J. H. Adaptation in Natural and Artificial Systems, University of
Michigan Press, Michigan, 1975.
7.
Goldberg, D. E., ‚Computer-Aided Gas Pipeline Operation Using Genetic
Algorithms and Rule Learning‛, disertación doctoral, University of Michigan, 1983.
8.
Wu, L., S. L. Oviatt y P. R. Cohen, ‚Multimodal Integration. A Statical View‛,
IEEE Transactions on Multimedia, vol. 1, núm. 4, 1999, pp. 334-341.
9.
López-Juárez, I., On-Line Learning for Robotic Assembly Using Artificial Neural
Networks and Contact Force Sensing, tesis doctoral, Nothingham Trent University,
Inglaterra, 2000.
10. En internet
(www.pulnix.com).
11. Peña, M., I. López-Ju{rez y R. Osorio, ‚Invariant Object Recognition Applied to
Machine Robot Vision‛, ponencia presentada en la XVII Conference of the Mexican
Society for Instrumentation, octubre de 2002. Sugihara, K. y J. Smith, ‚Genetic
Algorithms for Adaptive Motion Planning of Autonomous Mobile Robots‛ (reporte
ténico) University of Hawaii, Manoa, 1997.
12. Wise, D. K. y A. Bowyer, ‚A Survey of Global Configuration-Space Mapping
Techniques for a Single Robot in a Static Environment‛, International Journal of Robotic
Research, 2000, pp. 762-769. Latombe, J. C., Robot Motion Planning, Kluwer Academic,
Boston,
1991.
394
Quality Measurement of Existing Color Metrics
using Hexagonal Color Fields
Yuriy Kotsarenko, Fernando Ramos
Abstract. In the area of colorimetry there are many color metrics developed, such
as those based on the CIELAB color space, which measure the perceptual
difference between two colors. However, in software applications the typical
images contain hundreds of different colors. In the case where many colors are
seen by human eye, the perceived result might be different than if looking at only
two of these colors at once. This work presents an alternative approach for
measuring the perceived quality of color metrics by comparing several
neighboring colors at once. The colors are arranged in a two dimensional board
using hexagonal shapes, for every new element its color is compared to all
currently available neighbors and the closest match is used. The board elements
are filled from the palette with specific color set. The overall result can be judged
visually on any monitor where output is sRGB compliant.
Keywords: color metric, perceptual quality, color neighbors, quality estimation.
Sumario:1 Introduction 2 Palette Exhaust on Hexagonal Field 3 The analysis of
resulting fields 4 Conclusions and future work 5 Referencias
1 Introduction
In the software applications there are applications where several colors need to
be compared in order to determine the color that better matches the given
sample. For instance, in stereo vision the colors from two separate cameras are
compared to determine the visible depth. In image compression algorithms the
colors of neighboring pixels are compared to determine what information should
be discarded or preserved. Another example is color dithering – an approach,
where color pixels are accommodated in special way to improve the overall look
of the image. For instance, in Floyd-Steinberg dithering [1] and Riemersma
dithering [2] the color is compared to several existing matches and closest match
is used; the difference between original color and used match is calculated and
propagated to other pixels. In order to measure the difference between the given
colors, each of them has to be specified in a common system, usually referred to
as color space. In computer applications it is very common to use RGB color
space. However, since RGB color space is rather subjective in terms of
specification, of which several exist (such as sRGB, see Rec. 709 [3]), several other
color spaces were developed that are also thought to be more perceptually
uniform (an important property for measuring color differences). The most
commonly used formal color spaces are CIE XYZ, CIELAB and CIELUV [4]. If the
original color is specified in RGB color space and that specification is known, the
color can be converted to CIE XYZ without losing precision through gamma
correction and linear transformation [5]. The transformation from CIE XYZ to
CIELAB and/or CIELUV is made through a series of transforming functions (see
[4] or [5]). Once the colors have been represented in CIELAB color space, several
color difference equations exist (see [6], [7], [8] and [9]). Alternatives to CIELAB
and CIELUV in terms of perceptual accuracy exist, such as DIN99 color space [10]
with its associated color difference formulas [11], ATD95 color space [12] and
HCL color space [13].
The aforementioned color spaces and their associated metrics have their strengths
and weaknesses (see [5] and [14]) in terms of quality and performance. In this
work the focus is made on the quality factor in practical applications – where
color metrics are used in typical software applications. There are recent works
that evaluate the quality of the different color metrics based on specific sample
data (see [6] and [15]). However, as much as scientific background is important
for a given color metric, its practical application’s strengths and weaknesses are
of high priority to a software engineer. The experiments described in this work
provide insight on how each color metric performs when working with colors
typically displayed on a standard computer display. In the reality the human eye
perceives a large variety of colors simultaneously and this work provides an
alternative approach for testing the existing colors metrics with three or more
colors at the same time.
2 Palette Exhaust on Hexagonal Field
In order to measure the quality performance of the given metric, a fixed palette of
colors is given. The color values were specified using two techniques – first
involved uniform distribution of red, green and blue values in sRGB color space
and second using random color generation using linear number distribution. The
396
colors were extracted from the palette one by one depending on the quality
comparison described later on until all colors have been exhausted. The initial
color that was looked for on the palette is gray (CIELAB coordinates
corresponding to L*=50, a*=0 and b*=0). The different choice for the initial color
produces different results and middle gray was selected as a reasonable average
between the entire set of all possible colors.
The colors were filled on a hexagonal two-dimensional field. The hexagonal
shape of field cells was chosen over triangular or square shapes because it has the
largest entropy of all three. The different entropy levels are illustrated on the Fig.
.
Fig. 1. The entropy of triangular (a), square (b) and hexagonal (c) cell
shapes. The number of neighbors is marked with different colors to the
given red cell in the middle.
In the above figure it can be seen that the red cell has different number of
neighbors depending on the shape. In the last image the hexagonal cell has six
neighbors – the largest entropy that can be seamlessly fit on a two-dimensional
field. The largest entropy is important for the context of this work as it allows
measuring the visual difference between seven colors at once (one at the middle
and six neighbors). In the hexagonal field the order at which the cells are filled
with the colors from the source palette is important and affects the final result.
There is a finite but significantly large number of all possible ordering schemes
on two-dimensional field, starting from linear schemes (from left to right, from
top to bottom) to pseudo random ordering such as Hillbert Curve [16]. In this
work a radial ordering scheme was used – the initial cell was considered to be in
the middle and its neighbors were filled in clockwise manner until the entire field
has been filled or the colors from the source palette have been exhausted.
397
3 The analysis of resulting fields
Once the hexagonal color field has been generated using the approach described
earlier, the resulting image was analyzed by several human observers with
healthy vision on the standard computer monitor that fully complies with sRGB
color standard under such environment conditions, where the external
illumination has little significance and can be neglected. It is important to note
that although there were very few human observers involved in the experiments
to be considered statistical evidence (for that matter, a more extensive study is
recommended in the future works) and due to the fact that human color
perception is rather subjective, the results should not be considered as statistics.
The statistical analysis is beyond the scope of this work.
Since the human color comparison is subjective to individual person each
observant was given a complete freedom in terms of metrics and time to observe
each of the generated images and then give each image a quality mark between 0
(unordered colors – all cells are different from their neighbors) and 100 (no
defects or ‚jumps‛ between neighboring colors). The first set of experimental
images is illustrated on the Fig.2.
398
Fig.2. Experimental Image Set 1 (from left to right, top to bottom) using
CIELAB (a), CIELUV (b), HCL (c), DIN99 (d), CIEDE2000 (e) and ATD95
(f) color metrics with the reference palette (g).
The above set of images was generated with the source palette with 1280 random
colors on hexagonal field of dimensions 32x32. The experiments used the color
metrics based on CIELAB [4], CIELUV [17] and HCL [13], and color difference
formulae DIN99 [10], CIEDE2000 [9], and ATD95 [12]. The hexagonal field with
unsorted reference palette is shown in the last image (only the first 1024 colors
shown). The images were created by extracting colors from the original palette
and filling the destination grid, starting from the center. Each color from the
input palette is compared to the neighbor colors of the location where it will be
placed and the best match is selected.
It can be observed that the overall color distribution varies depending on the
chosen color metric, although the observed image is similar (looks like a series of
colored patches). The best color matching results appear closer to the center of
the image and become worse to the edges as the remaining color options left in
the source palette become sparse. The final score chart made by calculating the
average of the human observant scores is illustrated on the Fig..
399
Fig.3. Average score for the different color metrics using the
experimental image set 1 as judged by 10 human observers.
Although it is difficult if not impossible to rule out the subjectivity of human
judgment by observing the experimental images, the chart on Fig. shows that
color metric based on ATD95 and DIN99 generated the best results when
comparing more than two colors at once. In this experiment the colors were
generated randomly, which resulted in some colors being very similar to each
other and some colors very different. Observing the results on the Fig. it can be
concluded that all the tested color metrics can detect similar colors in groups to a
different degree. The average score numbers cannot be used as an exact quality
measurement for each of the color metrics but they show which color metric
performed better than the rest.
The second experimental image set consisted of source palette with 1331 colors
distributed uniformly in sRGB color space with 11 levels for each component of
red, green and blue, with hexagonal field dimensions of 32x32. The results are
illustrated on Fig..
400
Fig.4. Experimental Image Set 2 (from left to right, top to bottom) using
CIELAB (a), CIELUV (b), HCL (c), DIN99 (d), CIEDE2000 (e) and ATD95
(f) color metrics with the reference palette (g).
The peculiar property of this experimental set is that the difference between
colors in the source palette is relatively constant in sRGB color space, so there is
no such color pair where color difference is too small as in the previous
experimental set. In the previous set of images the color distribution was
somewhat similar with different color metrics, while in this set the distribution is
quite different for each color metric.
Fig.5. Average score for the different color metrics using the
experimental image set 2 as judged by 10 human observers.
In the chart on Fig. the average scores given by the jury are shown for the second
experimental set of images. It can be observed that the scores are generally lower
than in the previous experimental set with CIEDE2000 color metric’s generated
image being the best observed. Although the different color metrics are placed
401
differently on the chart, the consensus from both experiments is that ATD95based color metric is better than DIN99 and CIELUV is better than CIELAB, with
the color metric based on HCL color space being the worst in both cases.
4 Conclusions and future work
In this work an alternative approach for measuring the perceived quality of
different color metrics has been presented where three or more colors are
compared at the same time as opposed to color pairs. The motivation behind this
is that the reality is filled with many different colors which are viewed
simultaneously by human eye. In the experiments, the colors were extracted from
a fixed color palette one by one and were placed on two-dimensional field with
hexagon-shaped cells. The colors from the palette were compared to all existing
neighbors on the field and the best match was selected. The resulting images
were presented to various human observes with healthy vision on a computer
display compliant with sRGB standard for the judgment. The average scores
provided by the jury were presented in this work, which indicate the tendency of
certain color metrics performing better than others when working with several
colors at the same time.
Since the experiments described in this work can hardly be considered definitive
for determining which metric performs better, further tests are required with
more extensive color sets and different filling strategies on the two-dimensional
field. In addition, triangular and square shaped fields with less entropy are to be
assessed as potential alternatives to hexagonal fields. The entropy can be further
increased by modeling the color cells each in three-dimensional fields where each
color can have a certain shape such as a pyramid or a cube, although these fields
can be more difficult to visualize and judge.
References
1. Floyd, Robert, and Louis Steinberg. "An Adaptive Algorithm for Spatial
Grey Scale." Proceedings of the Society of Information Display, 1976: 75-77.
2. Riemersma, Thiadmer. "A balanced dithering technique." C/C++ Users
Journal (CMP Media, Inc.) 16, no. 12 (December 1998): 51-58.
3. "Recommendation ITU-R BT.709-5." Parameter values for the HDTV
standards for production and international programme exchange.
International Telecommunication Union, 2008.
402
4. Schanda, Janos. Colorimetry: Understanding the CIE system. Wiley
Interscience, 2007.
5. Poynton, Charles. Digital Video and HDTV Algorithms and Interfaces.
Morgan Kaufmann, 2003.
6. Melgosa, M., J. J. Quesada, and E. Hita. "Uniformity of some recent color
metrics tested with an accurate color-difference tolerance dataset." Applied
Optics (Optical Society of America) 33, no. 34 (1994): 8069-8077.
7. Luo, M. R., G. Cui, and B. Rigg. "The Development of the CIE 2000
Colour-Difference Formula: CIEDE2000." Color Research & Application 26,
no. 5 (2001): 340-350.
8. Imai, F. H., N. Tsumura, and Y. Miyake. "Perceptual color difference
metric for complex images based on Mahalanobis distance." Journal of
Electronic Imaging 10, no. 2 (2001): 385-393.
9. Sharma, Gaurav, Wencheng Wu, and Edul N. Dalal. "The CIEDE2000
Color-Difference Formula: Implementation Notes, Supplementary Test Data,
and Mathematical Observations." Color Research and Application 30, no. 1
(February 2005): 21-30.
10. Büring, Hendrik. "Eigenschaften des Farbenraumes nach DIN 6176
(DIN99-Formel) und seine Bedeutung für die industrielle Anwendung." 8.
Workshop Farbbildverarbeitung der German Color Group, October 2002: 1117.
11. Cui, G., M. R. Luo, B. Rigg, G. Roestler, and K. Witt. "Uniform Colour
Spaces Based on the DIN99 Colour-Difference Formula." Color Research &
Application 27, no. 4 (2002): 282-290.
12. Guth, Lee S. "Further Applications of the ATD Model for Color Vision."
Proc. SPIE (The International Society for Optical Engineering) 2414 (April
1995): 12-26.
13. Sarifuddin, M., and Rokia Missaoui. "A New Perceptually Uniform Color
Space with Associated Color Similarity Measure for Content-Based Image
and Video Retrieval." ACM SIGIR Workshop on Multimedia Information
Retrieval, Salvador, Brazil, 2005.
14. Granger, E. M. "Is CIE L*a*b* Good Enough for Desktop Publishing?"
Proceedings of SPIE, the International Society for Optical Engineering
(Society of Photo-Optical Instrumentation Engineers) 2170 (1994): 144-148.
15. Luo, Ronnier M., Guihua Cui, and Changjun Li. "Uniform Colour Spaces
Based on CIECAM02 Colour Appearance Model." Color Research &
Application (Wiley InterScience) 31, no. 4 (June 2006): 320-330.
403
16. Hilbert, David. "Ueber die stetige Abbildung einer Line auf ein
Flächenstück." Mathematische Annalen (Springer Berlin / Heidelberg) 38, no.
3 (September 1891): 459-460.
17. Carter, Robert C., and Ellen C. Carter. "CIE L*u*v* Color-Difference
Equations for Self-Luminous Displays." Color Research & Application, 1983:
252-253.
404

Documentos relacionados