discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/270340184
CITATIONS READS
0 2,562
42 authors, including:
Some of the authors of this publication are also working on these related projects:
Parallel Computing in grid environment. Water Networks. Evolutionary Algorithms View project
All content following this page was uploaded by Marco Antonio Cruz Chávez on 03 January 2015.
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.
ISBN 978-607-00-7036-5
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.
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.
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.
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.
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.
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
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
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.
10
Fig. 1. Algoritmo genético tradicional.
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
en el entorno MPI.
otrosson
(int) tipos
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).
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.
13
Cuadro 2. Problema de diseño de redes de distribución de agua utilizando
variables discretas
14
Fig. 3. Paralelización simple.
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.
17
Fig. 4. Paralelización funcional con comunicación.
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
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)0733-
9496(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 Data-
Types with Arbitrary Communication Libraries‛, en Proceedings of the VII
International Conference on Parallel and Distributed Systems: Workshops, ICPADS-
IEEE 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
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
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.
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).
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 (1-
6)] 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‛.
The problem involves 16 discrete variables to determine have been spread in the
table 2.
28
Table 2. List of determination variables
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.
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.
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
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 semi-
continuous 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.
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-of-
phase 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 (V p D p A p )(1 a) A p f
Max ( NPV ) Cost f (4)
p 1 (1 i ) n (1 i ) n
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
(Q i Qi* )
(5)
Max ( FI ) i 1
I
Q
i 1
i
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 .
33
(ii) Time constraint: the total production time for all products must be lower than
a given time horizon H :
I I
Qi
H Hi (8)
i 1 i 1 Pr od i
34
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.
35
Table 4. Genetic algorithm parameters
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.
*CPU time was calculated for this method on Microsoft Windows XP Professional
Intel(R) D CPU 2.80 GHz., 2.99 GB of RAM.
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.
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
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.
Henning, N, Charles, and piogott William, and Scott, Robert Haney, Financial
Markets and the economy 5th ed, new Jersey, 1988.
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.
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
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
Fundamentación básica
El problema de la optimización global se establece como:
Li xi U i .
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 micro-
AG 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.
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.
46
La metodología generalizada consta de tres partes fundamentales:
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.
48
Fig. 2. Evolución Diferencial estándar, versión DE/rand/1/bin
49
Fig. 3. Diagrama en bloques del micro algoritmo de ED.
50
propio algoritmo base de ED y al individuo aleatorio incorporado a la población
de trabajo.
4 Experimentos y resultados
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
-30 ≤ xi ≥ 30
min (f3 ) = f3 (1, <, 1) = 0
Función CR F
f1 0.9 0.3,0.9
f2 0.0 0.3,0.9
f5 0.0 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.
52
Fig. 5. Aptitud para f2 con microalgoritmo de ED.
Referencias
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
1 Introducción
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.
60
Cuadro 1. Lista parcial de los arcos de entrega para cada nodo de envío
62
3 El algoritmo de búsqueda tabú
[ ][ ] si q q explotaci—n
arg max
ij ij
o
i J
s k
(2)
S en otro caso si q q o exploraci—n
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 (3)
l
0 en otro caso
ij (1 ) ij o (4)
ij (1 ) ij ij (5)
66
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
67
la cual se aprecia un comportamiento similar de los tres algoritmos para
demandas menores a 38.
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
Referencias
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
Sumario:
1 Introducción
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
74
La formulación matemática de estos problemas directos de conducción de calor
es de la siguiente forma:4
T 1 T g t r r1 1 T
2
0 r b, t 0 (1a)
r r r 2 kr t
2
T
k hT hTamb r b, t 0 (1b)
r
T T0 0 r b, t 0 (1c)
para la placa caliente, y
T 1 T g t r r2 1 T
2
b r d,t 0 (2a)
r r r 2 kr t
2
T
k hT hTamb r b, t 0 (2b)
r
T
k hT hTamb r d,t 0 (2c)
r
T T0 b r d,t 0 (2d)
para la guarda, donde es la función delta de DIRAC.
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
2 3 4
3 5 (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:
I
S P Y T P
2
i i (4)
i 1
Donde:
S Suma de los cuadrados de los
errores o función objetivo
P1 , P2 , , PN Vector
T
P de
parámetros desconocidos
Ti P T P, ti Temperatura estimada
al tiempo ti
Yi Y ti Temperatura medida al
tiempo ti
N Número total de parámetros
desconocidos
I Número total de mediciones,
donde I N
kN kN
2 2
2 kN
R0 , r R0 , r1
P1
2 1 e P t
2
2
2
4
2 t 1 e t
2
P
t 2 t 2 1 e t
2
2 4 2 2
(5)
3
3 6
P4
t 3 t 6 t 6 1 e t
2
3 6 3 2 4 2 2
4 8
P
t 4 t 12 t 24 t 24 1 e t
2
5 4 8 4 3 6 3 2 4 2 2
5 10
Donde:
76
N
h 2
k
2 2
b R , b
2 2
0
2 k
2 2
(6)
R0 , r J 0 r
kN
2
bR0 , b dR0 , d
hTamb
R0 , r 1 e t
2
kN
2
2 kN
R0 , r R0 , r2
P1
2 1 e P t
2
2
2
4
2 t 1 e t
2
(7)
P3
2 4 t 2 2 2 t 2 1 e t
2
3 6
P
t 3 t 6 t 6 1 e t
2
4 3 6 3 2 4 2 2
4 8
P
t 4 t 12 t 24 t 24 1 e t
2
5 4 8 4 3 6 3 2 4 2 2
5 10
Donde:
N
h 2
k
2 2
d 2
R0 , d b R0 , b
2 2 2
2 k
2 2
J 0 r Y0 r
(8)
R0 , r
kJ 1 d hJ 0 d kY1 d hY0 d
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.
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:
(10)
k 1
vi
wávi c1rand1 pbesti si
k k
c rand gbest s
2 2
k
i
wmax wmin
w wmax iter (11)
itermax
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.
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).
80
k 1 k 1
si vi
k
si (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
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
83
Referencias
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,
1 Introducción
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
87
3 Modelo de grafos bipartita
89
5 Metodología de solución
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.
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
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)
index = i * j + k (8)
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.
93
5.3 Mecanismo para recolectar soluciones en el clúster
function function
RSProcesoMaestro ( ) RSProcesoEsclavo( )
Begin Begin
s:= so, t:= 0 s:= so, ti:= t:=
cycle p := 1 to tiempo_inicial()
Procesadores Repeat
cycle := 1 to MCS
recibe_del_procesado ...
r(p,s’,t’) end cycle
if C(s’) < C(s) then s T := r T
:= s, t:=t’ Until FROZEN or s
if C(s’) == C(s) and t ==SIMPLEX
> t’ then t:=t’ t’:= tiempo_final() - t
end cycle
End envia_al_maestro(s,t’)
End
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.
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
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.
97
Cuadro 4. Cálculo del speedup y eficiencia del RS paralelo
8 Conclusiones
Referencias
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
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.
103
1 Introducción
2 Espacios educativos
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
4 Modelo
106
Mejoramiento
Determinación de
requerimientos
Diseño Retroalimentación
funcional
Diseño
pedagógico
Diseño
físico
Sistema
Evaluación
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.
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.
109
Sistema de Gesti—n de la Informaci—n para
Tutor’as a nivel Licenciatura
ÇusesÈ
Registrarse
ÇusesÈ BD usuarios
Reglamento de tutor’as
y Documentos de apoyo
110
4.4 Diseño físico
111
(a) (b)
Fig. 8. Diseño conceptual del tutor (a) y del tutorado (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
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
4.8 Mejoramiento
5 Conclusiones
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
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
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.
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.
Tercera forma normal: está en 3FN si está en 2FN y todos los atributos no
primos no dependen transitivamente de la llave primaria.
Las tres etapas del modelo de esta herramienta se describen de esta manera:
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:
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.
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.
4 Conclusiones
Referencias
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
Sumario:
1 Introducción 2 Solución 3 Resultados 4 Conclusiones Referencias
1 Introducción
2 Solución
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.
(1)
(2)
(3)
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).
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 Baum-
Welch,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.
132
Cuadro 2. Ejemplo de palabras ambiguas con sus etiquetas
PALABRA ETIQUETA PALABRA
AMBIGUA
det_art el
EL
pron_per él
det_dem esta
ESTÁ
vbo_aux está
sust jugo
JUGO vbo_ind jugó
sust sobre
prep sobre
SOBRE vbo_sub sobre
vbo_ind 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.
133
Cuadro 5. Extracto del conjunto de reglas
% Regla Clasificación
19.63 YO -o » -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
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:
Cuadro 7. Resultados
Con base en Con base en
palabras palabras
acentuadas no acentuadas
135
Fig. 4. Pantallas del sistema para la acentuación de textos en español.
4 Conclusiones
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
1 Introducción
139
2 Generalidades
140
Fig. 2. Vapores emanados por uno de los hornos de producción de ladrillo rojo
en la región de Cholula, Puebla.
141
Fig. 3. Tipos y condición de las arcillas que posteriormente se convertirán en
ladrillos y algunos otros productos derivados.
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.
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.
145
matriz de incidencia previa a la matriz C Cij , en la que cij ( pi , t j ) . Se
nxm
cij (t j , pi ) .
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.
ÒhuecosÓ
INICIO
ÒladrillosÓ
AVANZAR
FIN
ÒesperaÓ
FIN
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
TIM 2
INICIO
FIN TIM 2
AVANZAR
INICIO FIN
TIM1
148
Òhuecos 1Ó
INICIO
Òhuecos 2Ó Òladrillos 2Ó
Òladrillos 1Ó
LUG4 ÒesperaÓ LUG7 Ò
esperaÓ
LUG1 ÒesperaÓ
INICIO NUEVO
LUG5 INICIO
LUG8 TIM 2
LUG2 AVANZAR
4 Conclusiones
Referencias
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
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
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.
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.
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.
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.
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.
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.
Referencias
159
160
Cloud computing
Sumario:
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.
162
2 Orígenes de la cloud computing
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 (codificador-
decodificador)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
164
eléctrico: ‚después de todo, cuando enciendes la luz, no sabes exactamente dónde
se origina cada electrón‛.
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.
169
10 Proyectos a futuro
11 Conclusiones
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:
172
6. En Internet, (http://www.feliperm.info/2009/
03/04/cloud-computing-ventajas-ydesven
tajas/).
7. En Internet (http://www.itcio.es/cloud-
computing/informes/1005071022902/ventajas-frenos-al-cloud-
computing.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
Sumario:
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.
176
1.2 Lenguaje de modelado de sistemas
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.
Fig. 1. Un
diagrama de
Venn donde
se muestran los
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
Paciente
ÇCondiciones
Externas È
Luminocidad
Mdico
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
Mdico
Fig. 4. Diagrama de casos de uso del sistema, en el cual se observan dos actores:
el médico y su paciente.
179
req Name
Requerimientos del
instrumento de medici—n
del tremor parkinosoniano
ÇrequirementÈ ÇrequirementÈ
ÇrequirementÈ ÇrequirementÈ
No invasivo Rango de 4 a
Bajo costo Portatil
6Hz
pkg Name
Componente l—gico
Componente f’sico
pkg Name
pkg Name
Tarjeta de
Circuito de
adquisici—n de
medici—n
datos
Determinaci—n
Adquisici—n de
de componentes
datos Visualizaci—n
frecuenciales
Fig. 7. Diagrama del paquete del sistema en el que se muestran los componentes
del instrumento.
3 Desarrollo
180
Fig. 8. Diagrama eléctrico del circuito de medición del tremor parkinsoniano,
compensado para variaciones de luz.
182
Fig. 10. Código de LabView para la medición del tremor parkinsoniano, basado
en la transformada rápida de Fourier.
4 Resultados
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.
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
184
Referencias
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
2 Agentes
1. Reactivos
2. Intencionales
3. Sociales
3 Sistemas multiagentes
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.
193
Fig. 3. Protocolo FIPA-request.
6 Conclusiones
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
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.
Sumario:
1 Introducción 2 Estado del arte 3 Metodología 4 Resultados experimentales.
Conclusiones. Referencias
1 Introducción
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
Inicio con la
propuesta Conceptual Operacion
del proyecto
al
Evaluación
Finaliza con del Técnica
la correcta
elección de
software
software libre
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
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
Conclusiones
Referencias
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
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
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.
211
Fig. 3. Festejo que se llevó a cabo el último día del curso.
3 Conclusiones
Pregunta 1. ¿Qué opinión tiene del curso de computación del que formó parte?
213
Pregunta 4. ¿Recomendaría el curso a otras personas?
‚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
215
216
Modelo Matemático Multiobjetivo para la Selección de
una Cartera de Inversión en la Bolsa Mexicana de
Valores
1 Introducción
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
g i x 0 , i = 1, 2, <, m (3)
hi x 0 , i = 1, 2, <, p (4)
Y que optimice:
f x f1 x , f 2 x ... f k x
T
(5)
219
Pareto‛. Los vectores que corresponden a una solución incluida en el conjunto de
óptimos de Pareto son llamados ‚no dominados‛.
P* x F : x« F f x« f x (6)
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.
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.
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.
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
Fig. 2. El CAPM.
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
400
350
Riesgo-Rendimiento X10-2
300
250
200
150
100
50
0
1 101 201 301 401 501 601 701 801 901
Riesgo X10-2
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
400
350
Riesgo-Rendimiento X10-2
300
250
200
150
100
50
0
1 101 201 301 401 501 601 701 801 901
Riesgo X10-2
225
4.1 Modelo de maximizar el rendimiento
n
(9)
Maximizar z1 xi Ri
i 1
Sujeto a:
n
i 1
xi 1 , xi 1
Sujeto a:
n
x R
i 1
i i Rmin 2 Rmax Rmin
i 1
xi 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)
x
i 1
i i
n
Rmin 2 Rmax Rmin (11)
x R
i 1
i i
n
(12)
i 1
xi Pv i Pv min
i 1
xi 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.
Ri
m
r
m
(14)
Ri
2
ij
j 1
i
m 1
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
Ri
Var Empresa (%) Pvi i (%)
x1 GMEXICOB 5.053 76.00 9.289
x2 WALMEX V 2.230 39.67 5.985
x3 G MODELOC 2.016 59.11 5.381
x4 CEMEX CPO 1.024 35.47 10.331
x5 TELMEX L 1.834 18.85 6.332
x6 TELEVISACPO 2.388 55.56 6.569
x7 URBI 4.147 46.42 7.851
x8 KIMBERA 1.135 43.52 6.191
229
durante el priodo de julio de 2005 a febrero de 2007
6 Conclusiones
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, 175-
187.
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ía-
Villagomez 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íaz-
Parra, ‚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
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
234
aportará un panorama efectivo, eficiente y competitivo del desarrollo tecnológico
de la región.
3 Metodología general
3.3 Metas
235
3.4 Metodología particular
236
Fig. 1. Modelo del proceso racional unificado (RUP, Rational Unified Process),
cuatro fases esenciales.
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.
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.
Referencias
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.
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
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
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.
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.
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.
- 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.
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 Client-
side (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 assessments-
simultaneously, 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
6 Conclusions
References
252
Relajación del Problema de Calendarización de
Trabajos en un Taller de Manufactura Utilizando
un Grafo Bipartita
1 Introducción
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.
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.
Operaciones
Máquinas (tiempo
Trabajos
de procesamiento)
1 2 3
1 1(1) 2(2) 3(1)
2 1(3) 3(1) 2(3)
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
257
4 Modelo de 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.
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.
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.
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).
7 Conclusiones
8 Trabajos futuros
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/ia-
jobshop.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ínez-
Oropeza, ‚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
Sumario:
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.
2 Desarrollo
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.
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.
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
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.
273
Fig. 5. Arreglo experimental.
274
Cuadro 1. Resultados de las pruebas realizadas con el sistema de
posicionamiento para diferentes valores de d
275
4 Conclusiones
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://www-
optica .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
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
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.
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.
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.
3.1 PointBase
282
Fig. 3. Arquitectura de PointBase.
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
3.2 SQLAnywhere
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.
284
3.4 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
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
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
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, Thomson-
Middlesex University Press, 2006.
290
Grid Computing
Vanessa Hamar
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
4 Estándares
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:
7 Middlewares en EELA2
7.1 gLite
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
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
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
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
302
Fig 1. Representación del ciclo operación-falla-reparación-operación de un
componente.
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 )
mr
m 1 (11)
r (t ) (t )
MTTF tf (t )dt
(12)
0
MTTF R(t )dt
(13)
0
(14)
MTTR tg (t )dt
0
305
Fig. 3. Diagrama de flujo del proceso llevado a cabo en la herramienta
computacional.
306
Fig. 4. Diagrama de clases para obtener la confiabilidad.
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.
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.
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
309
Referencias
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
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
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
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
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
(4)
k T
donde: A 4 e me k 2 h
1.2 10 6 A m -2 2 , simboliza la constante de
3
e Ek
( E k ) 0 ( E k ); ( E k ) (5)
4 0
1 e ( Ek )
j A Tact
2
exp (6)
1 k 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.
T
S K T
donde: representa la
cp (7)
t densidad, cp 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
e (T ) o 1 T Tact (9)
Las constantes 0 y
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:
r0
315
Cuadro 1. Coeficientes del tungsteno (Cristea, 2003)
cp [J kg-1 K-1]
133
K [W m-1 K-1]
776/(T0.256)
0 5.28X10-8
*Ω-1m-1]
[K-1]
6.76X10-3
T
K (Tb )
n (Tb Tamb ) (Tb ) (T(11)
b Tamb )
4 4
n b donde: Tb representa la
temperatura del cátodo en el
borde, Tamb es la temperatura ambiental, es el coeficiente de convección,
simboliza la emisividad del tungsteno y es la constante de Stefan Boltzmann.
El término (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
Corriente de la descarga
jcalculada 0
1 2 e ( Ek )
j ATact exp
1 kTact
sí
j jcalculada .03 j fin
no
Temperatura en la superficie
activa del cátodo
T
c p S K T
t
Distribución de temperatura
1 2 e ( Ek ) en el cátodo
jcalculada ATact exp
1 kTact
dT
dy y 0
Gradiente de temperatura
en la superfice activa del cátodo
1 3
dT
Pk d e2 K
4 dy y 0
Caída de potencial
en el cátodo
317
4.1 Cálculo de la temperatura en la superficie activa del cátodo
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)
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
321
Referencias
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
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
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
(17)
.
325
Fig. 1. Variables lingüísticas.
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.
(4)
x x 0
2
d x ( x g sin ) 0
0 u
dt
1
0
.
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.
329
Cuadro 2. Términos lingüísticos para la variable de salida
330
4.1 Estabilidad
X K 1 X K P , (6)
wxi , y j f p xi , y j
1 n m (7)
E P
n m i 1 j 1
E P, i E P i E P i 1 , (8)
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/ τ.
P= P2=
1000 660 620 620 620 1000 660 620 620 620
620 760 580 620 620 620 760 620 620 620
620 760 620 480 620 620 760 620 620 620
620 620 660 480 620 620 660 620 620 620
620 620 620 580 240 620 620 620 620 620
P3=
1000 660 620 620 620
620 760 620 620 620
620 760 620 620 620
620 660 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.
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.
333
Fig. 10. Respuesta del sistema contra la entrada.
5 Resultados experimentales
334
Cuadro 3. Resultados finales del sistema
Setpoint P1 P2 P3 P4
(cm)
18 18.3 19.1 18.7 18.3
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
1 Introducción
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
QCO
mWF (1)
TCO
CO
QEV
mWF (2)
TEV
EV
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.
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
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.
5 Resultados y discusión
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:
343
termodinámico de recuperación de calor, el cual puede provenir de energías
alternativas o de desecho industrial.
344
Fig. 7. Condiciones de operación para revalorización de energía de 70 °C.
Conclusiones
Agradecimientos
346
Referencias
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
349
Sumario:
1 Introduction.
2 Basic equations
H Er
Media N
rN
Layer k rk E
r1
L S L L S L S
Media 0
Layer 1
H
Hr E
Media N
TE-case
( ) ( ) ( ) (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
iks m
2m 1
G ( fe ) (r, r , )
4
m(m 1) x
p e , o m 1 l 0
(3)
(m l )!
(2 0l )G pml
f , e
(r, r , ),
(m l )!
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
AbsStruct BaseGreenTensor
BaseLayer BaseStack
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.
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 c0 (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
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 su-
perconductors with quasiperiodic pinning arrays: One-dimensional chains and two-
dimensional 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 na-
noengineering 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
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 cross-
platform 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.
Fig.1. Logic diagram and structures of nested classes used in our calculations.
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])
Double ParallelMultiplicationOfComplexMatrix(N)
Imaginary number I;
Integer MATRIX_SIZE = N
# 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
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;
367
3 Results and Discussion
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 Time-
Domain Method, Artech House Publishers, 2006.
[3] Eric Eilebrecht's blog,
http://blogs.msdn.com/ericeil/archive/2009/04/23/clr-4-0-threadpool-
improvements-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-processing-
languages.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
1 Introducción
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.
376
Cuadro 7. Ejemplo de una Matriz de Costo (Cost[i, j]) para una ME con tres clases
J
1 2 3
1 0 1 8
i 2 1 0 9
3 1 1 0
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. 301-
312.
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.
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.
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.
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.
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.
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
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
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
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.
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
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.
12.5R 25 0
15 15
15
25
Units in mm
camera
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
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:
389
Fig. 6. Módulo CFD&POSE y red neuronal.
D1
D
2
D3
D
n
[CFD & POSE] X c
Y
c
Z
ID
donde:
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 1
0.9 0.9
0.8
0.7 a A 0.8
0.7 b
0.6
0.5
0.4
0.3
0.6
0.5
0.4
0.3
B
0.2 0.2
0.1 0.1
0 0
1 15 29 43 57 71 85 99 113 127 141 155 169 183 1 15 29 43 57 71 85 99 113 127 141 155 169 183
1
0.9
0.8
0.7
0.6
0.5
c
0.4
C 0.3
0.2
0.1
0
1 15 29 43 57 71 85 99 113 127 141 155 169 183
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.
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.
392
1
a
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2 1
0.1
0
b
0.9
0.8
1 11 0.7 31
21 41 51 61 71 81 91 101 111 121 131 141 151 161 171 181
0.6
0.5
0.4
0.3
0.2
0.1
0
1
c
0.9
0.8
1 11 21 31 41 51 61 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 31 41 51 61 71 81 91 101 111 121 131 141 151 161 171 181
Referencias
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
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.
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.
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.
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 ATD95-
based 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.
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: 11-
17.
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