REVISTA NATURALEZA Y TECNOLOGIA UNIVERSIDAD DE GUANAJUATO NO 1, MAYO DEL 2013 04-2013-050913451000-20 Visualización de puntos óptimos factibles en superficies tridimensionales usando funciones difusas Visualization of optimal feasible values in a three dimensional set, by fuzzy functions Héctor Ismael Olmos Castillo Departamento de Ingeniería Química, Universidad de Guanajuato, Col. Noria Alta S/N, Guanajuato, Gto. México 36050 olmoshi@ugto.mx Abstract A fuzzy switch type activation function is employed on two variable constrained optimization problems in order to discriminate feasible from unfeasible constrained regions; Fuzzy switch defines boundaries of the constrained sets. The tasks are performed in order to visualize for educative purposes, a 3 dimensional surface and their optimal values. Operations are performed for linear or non linear two variable constrained optimization problems, convex or non convex sets as well for pattern generation that are useful in procedures of graphic identification (for instance characters or smiling). Resumen Se emplea una función de activación tipo conmutador difuso, para discriminar en problemas de optimización constreñida de dos variables, la región factible de la inviable. Las tareas se realizan con propósitos educativos, a fin de que el estudiante visualice en una superficie de 3 dimensiones, los valores óptimos tanto numéricos como gráficos. Esto se aplicaría de manera general para problemas lineales como no lineales, convexos o no convexos y para la generación de patrones de utilidad en las tareas de identificación gráfica. Introducción La solución de los problemas de optimización constreñida es de gran utilidad pues prácticamente todos los sistemas en la vida real tienen limitaciones físicas u operacionales. La representación gráfica de las funciones es una herramienta de apoyo didáctico, pero solo puede efectuarse en dos y tres dimensiones, para el caso de optimización restringida se usarían la representación en tres dimensiones. La lógica difusa propuesta por (Zadeth Lofti, 1965) es una estrategia de cómputo que permitiría hacer conjuntos de funciones con zonas de transición y a partir de ella definir zonas factibles de solución de problemas de optimización, conviene entonces definir las operaciones lógicas básicas de los conjuntos difusos que ayudaran a construir dichas zonas. Cada uno de los conjuntos difusos para las operaciones lógicas tiene solo valores entre cero y uno. * Operaciones lógicas difusas 39 REVISTA NATURALEZA Y TECNOLOGIA UNIVERSIDAD DE GUANAJUATO NO 1, MAYO DEL 2013 04-2013-050913451000-20 De acuerdo con Wesley 1997, Las operaciones lógicas de conjuntos difusos son AND OR y NOT y se definen de la siguiente manera. La operación AND es el valor mínimo entre varias funciones lógicas que se comparan. La operación OR es el valor máximo entre varias funciones que se comparan y la operación NOT es 1 menos la función original. Operación AND difusa Operación OR difusa Operación NOT difusa *Funciones de activación De acuerdo con Wesley Hines. Las funciones de activación más comunes son al valor de uno, en el límite de comparación la función vale 0, a) El switch lógico.- es aquella función que inmediatamente en el límite de comparación la salida pasa de cero lógico a uno lógico o viceversa, c) el switch lógico difuso es aquella función que paulatinamente pasa del valor de cero lógico al uno lógico, en el límite de comparación la función vale 0.5; en este artículo nos referiremos a esta última únicamente, en las referencias se le nombra como función logística. b) función sigmoidal.- es una función que paulatinamente pasa del valor de menos uno Función logística La función logística tiene dos parámetros importantes el valor de referencia x y el factor de difusión s, entre más pequeño sea el factor de difusión s más se parecerá la función logística a una función switch lógico, esta aseveración se ilustra con la figura 2. 1.5 1 Salida 1 Salida 0.8 0.6 X<3 X>3 0.5 X<3 X>3 0 0.4 0.2 s=0.1 0 -0.2 -10 -0.5 -10 s=1 -5 0 X X -5 0 5 10 s=0.01 5 10 Figura 2: El factor de difusión influye en la suavidad de la curva Figura 3 En la función logística 40 cuando el valor es mayor de 0.5 X es mayor que el valor de referencia, en este caso x de referencia es 3 REVISTA NATURALEZA Y TECNOLOGIA UNIVERSIDAD DE GUANAJUATO NO 1, MAYO DEL 2013 04-2013-050913451000-20 La función de activación se puede manejar como un elemento indicativo de restricción, cuando los valores de la función de activación son mayores de 0.5 la variable independiente es mayor de la x de referencia, y si los valores de la función de activación son menores a 0.5 la variable independiente es menor x de referencia, como también se ilustra en las figura 2, con un valor de s=0.001. Restricciones de dos variables La desigualdad Figura 5.- La negación difusa de fL, tiene como significado un cambio en el sentido de la desigualdad original. Convergencia de restricciones Figura 4, Una f(x,y)>3, es la porción de la función logística fL en color rojo y verde. La convergencia de varios restricciones en el problema de restricción constreñida se logra con la operación AND difusa, por ejemplo si x1+x2>3 x1-x2<8, x1>5 y x1+x2<30; F1=1./(1+exp(-(x1+x2-3)/0.001)); La desigualdad F2=1-1./(1+exp(-(x1-x2-8)/0.001)); F3=1./(1+exp(-(x1-5)/0.001)); Es la negación de la función original o sea. F4=1-1./(1+exp(-(x1+x2-30)/0.001)); % La operación lógica AND de todas las restricciones A1=min(F1,F2); A2=min(F3,F4); S=min(A1,A2); % Gráfico en superficie mesh(x1,x2,S) 41 REVISTA NATURALEZA Y TECNOLOGIA UNIVERSIDAD DE GUANAJUATO NO 1, MAYO DEL 2013 04-2013-050913451000-20 Figura 6.- Area donde convergen todas las restricciones % Gráfico en curvas de nivel contour(x1,x2,S) Figura 7.- Area restringida en curvas de nivel Es posible también usar campos difusos para identificación de patrones, por ejemplo las cámaras fotográficas los usan para identificar rostros y cuando esos rostros están sonriendo. Los sistemas OCR los usan para identificar caracteres y poder tener la posibilidad de poder transformar un texto escrito a mano, a un documento de texto en formato electrónico. Casos de estudio Los siguientes casos de estudio son basados en la plataforma de MATLAB a) Problema de optimización. graficarían los valores, hay dos posibilidades de graficación. 1.- En una superficie de tres dimensiones y 2.- En una gráfica donde se indiquen las curvas de nivel. El color rojo indica el nivel más alto y el azul el más bajo. La función objetivo multiplicaría a la función restricción resultante y se x=[0:0.1:20] y=x' 42 REVISTA NATURALEZA Y TECNOLOGIA UNIVERSIDAD DE GUANAJUATO NO 1, MAYO DEL 2013 04-2013-050913451000-20 X=ones(size(y))*x Y=y*ones(size(x)); Z=8*X.*sin(X)+tan(Y)+cos(X.*Y) %gráfica de la función sin restricciones mesh(X,Y,Z) Figura 9.- Gráfica del espacio constreñido % Graficación de la función a optimizar dentro del espacio constreñido Figura 8 Función no linear sin restricciones mesh(X,Y,R.*Z); % Construcción de las restricciones S=0.0001; R1=1-1./(1+exp(-(X+5*x+8*x*y-80)./s)); R2=1./(1+exp(-(X-3*Y+X.*Y+40)./s)); R3=1-1./(1+exp(-(2*X+5*Y+X.*Y35)./s)); % La restricción de X,Y>0 se contempló en la definición de X eY Figura 10.- Superficie de la función dentro del espacio constreñido R=min(R1,R2); R=min(R,R3); %Graficación del espacio constreñido mesh(X,Y,R) %Graficación de la función a optimizar dentro del espacio contreñido en curvas de nivel Con áreas de niveles coloreados contourf(X,Y,R.*Z); curvas de nivel contour(X,Y,R.*Z); 43 REVISTA NATURALEZA Y TECNOLOGIA UNIVERSIDAD DE GUANAJUATO NO 1, MAYO DEL 2013 04-2013-050913451000-20 Figura 11.- Curvas de nivel de la función dentro del espacio constreñido En las gráficas de nivel se puede hacer acercamiento a donde según el color da el menor valor y comparar con el valor numérico que se calcula por los siguientes comandos. [S,Ix]=min(min(R.*Z)); [S,Iy]=min(min((R.*Z)’); S es -62.14 Se encuentra en Ix=27 e Iy=43; o bien el mínimo valor de -62.14 se encuentra en X(Ix,1)=2.6, Y(1,Iy)=4.2, como puede visualizarse también en la figura 11. b) Generación de un patrón de carácter. Se puede representar por cuatro conjuntos que se limitan según las siguientes desigualdades. Usando las ecuaciones de interruptor difuso, haciendo la operación and entre los límites. 44 REVISTA NATURALEZA Y TECNOLOGIA UNIVERSIDAD DE GUANAJUATO NO 1, MAYO DEL 2013 04-2013-050913451000-20 La unión de todos los conjuntos es la operación OR entre ellos. contourf(X,Y,Z) S=max(Sa1,Sa2) % La graficación del patrón mesh(X,Y,S) Figura 13.- Areas coloreadas según el valor del espacio constreñido. Figura 12.- Espacio formando el carácter A. constreñido Conclusiones Aunque el presente artículo estuvo limitado a la visualización de sistemas y optimización de dos variables, se recomendaría utilizar las funciones difusas para la resolución numérica por aproximaciones sucesivas, usando el factor de difusión como elemento de enfoque sucesivo en sistemas multi-variables, tema que discutiremos en un artículo posterior. Referencias Wesley Hines J. Matlab Supplement to Fuzzy and Neural approaches in engineering, 1997 John Wiley & Sons Inc. ISBN 0-471-19247-3 Fuzzy sets based Heuristics for Optimization. Springer Verlag Heidelberg 2003 Blanco Armando, David Pelta, Verdegay José, Fuzzy Adaptive Neighborhood Search: Examples of Application, Fuzzy sets based Heuristics for Optimization. Springer Verlag Heidelberg 2003 LA Zadeth Fuzzy Sets, Information and control, 8, pp 338-353, 1965 45