Gabriel Jaime Correa Henao Gloria Elena Peña Zapata Edgardo Anaya Martínez

32
1 IMPLEMENTACIÓN IMPLEMENTACIÓN COMPUTACIONAL PARA EL COMPUTACIONAL PARA EL APOYO A LA TOMA DE APOYO A LA TOMA DE DECISIONES, UTILIZANDO DECISIONES, UTILIZANDO METODOLOGÍAS DIFUSAS METODOLOGÍAS DIFUSAS Gabriel Jaime Correa Henao Gabriel Jaime Correa Henao Gloria Elena Peña Zapata Gloria Elena Peña Zapata Edgardo Anaya Martínez Edgardo Anaya Martínez Evento de Aplicaciones de MATLAB U N IV ER SID A D N ACIO NAL DE C O LO M BIA SEDE M EDELLÍN F A C U L T A D D E M IN A S E S C U E L A D E S IS T E M A S

description

Evento de Aplicaciones de MATLAB. IMPLEMENTACIÓN COMPUTACIONAL PARA EL APOYO A LA TOMA DE DECISIONES, UTILIZANDO METODOLOGÍAS DIFUSAS. Gabriel Jaime Correa Henao Gloria Elena Peña Zapata Edgardo Anaya Martínez. INTRODUCCIÓN. La Lógica Difusa en la Toma de Decisiones. - PowerPoint PPT Presentation

Transcript of Gabriel Jaime Correa Henao Gloria Elena Peña Zapata Edgardo Anaya Martínez

Page 1: Gabriel Jaime Correa Henao Gloria Elena Peña Zapata Edgardo Anaya Martínez

1

IMPLEMENTACIÓN IMPLEMENTACIÓN COMPUTACIONAL PARA EL COMPUTACIONAL PARA EL

APOYO A LA TOMA DE APOYO A LA TOMA DE DECISIONES, UTILIZANDO DECISIONES, UTILIZANDO METODOLOGÍAS DIFUSASMETODOLOGÍAS DIFUSAS

Gabriel Jaime Correa HenaoGabriel Jaime Correa HenaoGloria Elena Peña ZapataGloria Elena Peña ZapataEdgardo Anaya MartínezEdgardo Anaya Martínez

Evento de Aplicaciones de MATLAB

UNIVERSIDAD NACIONAL DE COLOMBIASEDE MEDELLÍN

F A C U L T A D D E M I N A SE S C U E L A D E S I S T E M A S

Page 2: Gabriel Jaime Correa Henao Gloria Elena Peña Zapata Edgardo Anaya Martínez

2

INTRODUCCIÓNINTRODUCCIÓN

Page 3: Gabriel Jaime Correa Henao Gloria Elena Peña Zapata Edgardo Anaya Martínez

3

La Lógica Difusa en la Toma de Decisiones

La lógica difusa es un método de razonamiento que permite especificar los problemas de control del mundo real en términos probabilísticos, sin necesidad de acudir a modelos matemáticos y con un nivel de abstracción mucho más elevado.

No utiliza conceptos absolutos, sino valores variables de pertenencia, siguiendo patrones de razonamiento similares a los del ser humano

Page 4: Gabriel Jaime Correa Henao Gloria Elena Peña Zapata Edgardo Anaya Martínez

4

El Análisis Multiobjetivo (AMO),Análisis Multiobjetivo (AMO), es una rama de la Investigación de Operaciones, que permite evaluar diferentes alternativas en un problema donde se tienen en cuenta unas metas y unas limitaciones o restricciones.

La Toma de DecisionesToma de Decisiones aprovecha técnicas de Análisis Multiobjetivo, para solucionar problemas de trascendencia.

¿Qué significa AMO?

Page 5: Gabriel Jaime Correa Henao Gloria Elena Peña Zapata Edgardo Anaya Martínez

5

Metodologías Discretas

RESTRICCIONESCONJUNTO DE ALTERNATIVAS

OBJETIVOS OBJETIVOS DESEADOSDESEADOS

TOMA DE DECISIONES

Page 6: Gabriel Jaime Correa Henao Gloria Elena Peña Zapata Edgardo Anaya Martínez

6

Metodologías Continuas

Solución de modelos de programación lineal, planteados de la forma:

pixgzn

jjiji ,,2,1,max

1

0~

,,,2,1,~1

j

i

n

jjij

x

mibxA

Page 7: Gabriel Jaime Correa Henao Gloria Elena Peña Zapata Edgardo Anaya Martínez

7

Metodologías ContinuasSolución ProblemaSolución Problema:: Defuzzificación de la Función de Restricción,

usando los valores de la función objetivo con y sin violaciones

- Solución del P.L. Auxiliar.

max

sujeto a:

0,1

x

pbxApzxzzz iiii

Page 8: Gabriel Jaime Correa Henao Gloria Elena Peña Zapata Edgardo Anaya Martínez

8

Metodologías ContinuasFormulación de Modelos con Números Difusos

ā = (m - , m, m + )

Número difuso triangular asimétricoNúmero difuso triangular asimétrico

ui

m + b0

1

m - a m

Page 9: Gabriel Jaime Correa Henao Gloria Elena Peña Zapata Edgardo Anaya Martínez

9

Metodologías Continuas

Transformaciones para la solución del Transformaciones para la solución del problema difusoproblema difuso

max f(x)

s.a:ai1x1 + + ainxn bi, i = 1, , m

xj , j = 1, , n.

Page 10: Gabriel Jaime Correa Henao Gloria Elena Peña Zapata Edgardo Anaya Martínez

10

GENERACIÓN DE GENERACIÓN DE ALGORITMOSALGORITMOS

Page 11: Gabriel Jaime Correa Henao Gloria Elena Peña Zapata Edgardo Anaya Martínez

11

Herramienta ComputacionalHerramienta Computacional

Plataforma en lenguaje, Borland C++ Builder, con interfaces VCL (Visual Components Library)

Implementación de la Metodología Formulada

Algoritmos de Desarrollo en Matlab.

1. Toolbox de Compilación

2. Genera archivos en C++.

3. Potencialidad

Page 12: Gabriel Jaime Correa Henao Gloria Elena Peña Zapata Edgardo Anaya Martínez

12

Implementación de la Metodología Formulada

Intercambio Dinámico de Datos

Interacción con el DecisorComputación con

palabras, teniendo en cuenta las vaguedades e

incertidumbres del lenguaje humano, para

realizar la mejor decisión (optimización difusaoptimización difusa)

Page 13: Gabriel Jaime Correa Henao Gloria Elena Peña Zapata Edgardo Anaya Martínez

13

Programación de los Algoritmos

Se elige la plataforma MATLAB MATLAB ofrece alta capacidad de procesamiento matemático.

Sirve Para generar algoritmos de alta capacidad computacional.

Dichos algoritmos son muy difíciles de implementar en plataforma C++.

Finalmente, se realiza el intercambio dinámico de datos, de archivos compilados, con el lenguaje de Programación Borland C++ Builder.

Page 14: Gabriel Jaime Correa Henao Gloria Elena Peña Zapata Edgardo Anaya Martínez

14

COMPILACIÓN DEL COMPILACIÓN DEL CÓDIGO MATLABCÓDIGO MATLAB

Page 15: Gabriel Jaime Correa Henao Gloria Elena Peña Zapata Edgardo Anaya Martínez

15

Compilación del Código

Uso de la Toolbox de Compilación (Matlab Compiler)

El código compilado puede ser transformado en librerías:

• Archivos tipo DLL. • Archivos compatibles con lenguaje C++. • Archivos compatibles con programas elaborados en Visual Basic, Java y Visual C++.

Page 16: Gabriel Jaime Correa Henao Gloria Elena Peña Zapata Edgardo Anaya Martínez

16

Compilación del Código

El Compilador de MATLAB permite traducir códigos de archivos *.M*.M en archivos C ó C++. C ó C++. .

El Compilador de MATLAB, también genera código compatible Fortran.

La compilación de código también se puede efectuar a partir de archivos Simulink (*.MDL).

Page 17: Gabriel Jaime Correa Henao Gloria Elena Peña Zapata Edgardo Anaya Martínez

17

Ventajas de Compilar Código1. Crear aplicaciones independientes de MATLAB,

que puedan correr en cualquier plataforma.

2. Crear Librerías de Intercambio dinámico de Datos (*.DLL), las cuales son compatibles con la mayoría de los lenguajes de programación.

3. Esconder algoritmos propietarios de MATLAB.

4. Mejorar el tiempo de procesamiento del código

Page 18: Gabriel Jaime Correa Henao Gloria Elena Peña Zapata Edgardo Anaya Martínez

18

Configuración de la Toolbox de Compilación

         mex –setup

-Permite ajustar el tipo de plataforma programación

- La configuración soporta los lenguajes Visual C++, Borland C++ Buider, Fortran, LCC de MATLAB.

• mbuild –setupPermite incluir la librería de gráficos C/C++ en la compilación

Page 19: Gabriel Jaime Correa Henao Gloria Elena Peña Zapata Edgardo Anaya Martínez

19

Uso de la Toolbox de Compilación

•Comando para la generación de Librerías para ser incluidas en aplicaciones Borland C++ Builder

mcc -t -B sgl -L C -W lib:mi_libreria -T link:lib -h archivo1.m archivo2.m ... archivo_n

libmmfile.mlib

Page 20: Gabriel Jaime Correa Henao Gloria Elena Peña Zapata Edgardo Anaya Martínez

20

Uso de la Toolbox de Compilación

•Este procedimiento genera las librerías de intercambio dinámico de datos. Esto es, se crea el archivo mi_libreria.DLL.

•Asimismo, el compilador genera los siguientes archivos:

mi_libreria.libmi_libreria.hmi_libreria.cmi_librerialib.hmi_librerialib.cmi_libreria.dll

Page 21: Gabriel Jaime Correa Henao Gloria Elena Peña Zapata Edgardo Anaya Martínez

21

Uso de la Toolbox de Compilación

Librerías de Matlab necesarias para independizar la aplicación:

• libmmfile.lib

• libmatlb.lib

• libmx.lib

Las librerías ofrecidas por Matlab son compatibles con:

• Borland

• Microsoft (msvc5, msvc6)

• Digital

Page 22: Gabriel Jaime Correa Henao Gloria Elena Peña Zapata Edgardo Anaya Martínez

22

Uso de la Toolbox de Compilación

Creando los .lib que necesita C++builder:

• Comando de Borland “Implib”:

• Se necesita pasar los archivos “.def” a “.lib”

implib %LIBDIR%\libmmfile.lib%MATLAB%\_libmmfile.def

Page 23: Gabriel Jaime Correa Henao Gloria Elena Peña Zapata Edgardo Anaya Martínez

23

Uso de la Toolbox de Compilación

•Para incluir dichos archivos en el entorno de programación C++ Builder, es necesario incluir dichos archivos al proyecto y efectuar un llamado a la función mi_libreriaInitialize()

•Asimismo es necesario efectuar un llamado a la función mi_libreriaTerminate() justo antes de salir de la aplicación C++Builder

Page 24: Gabriel Jaime Correa Henao Gloria Elena Peña Zapata Edgardo Anaya Martínez

24

HERRAMIENTA FUZZY HERRAMIENTA FUZZY ELECCIÓNELECCIÓN

Page 25: Gabriel Jaime Correa Henao Gloria Elena Peña Zapata Edgardo Anaya Martínez

25

Herramienta Computacional

•Permite la solución de problemas de toma de decisiones, en ambiente discretos y continuos, mediante el uso de Metodologías Difusas

Page 26: Gabriel Jaime Correa Henao Gloria Elena Peña Zapata Edgardo Anaya Martínez

26

Herramienta Computacional Generación de Resultados a partir de

razonamientos entregados por el decisor

Respuestas entregadas por Matlab, visualizadas en C++

Page 27: Gabriel Jaime Correa Henao Gloria Elena Peña Zapata Edgardo Anaya Martínez

27

Herramienta ComputacionalVisualización de Resultados entregados por el

Código MATLAB, en interfaces C++ Builder

Page 28: Gabriel Jaime Correa Henao Gloria Elena Peña Zapata Edgardo Anaya Martínez

28

Herramienta ComputacionalEntrada de variables desde interfaz C++

Builder para procesamiento en código compilado de MATLAB

Parámetros de Entrada para funciones programadas en MATLAB

Page 29: Gabriel Jaime Correa Henao Gloria Elena Peña Zapata Edgardo Anaya Martínez

29

Herramienta ComputacionalVisualización de Resultados entregados por

MATLAB para Problemas Discretos

Page 30: Gabriel Jaime Correa Henao Gloria Elena Peña Zapata Edgardo Anaya Martínez

30

Herramienta ComputacionalVisualización de Resultados entregados por

MATLAB para Problemas Continuos

Page 31: Gabriel Jaime Correa Henao Gloria Elena Peña Zapata Edgardo Anaya Martínez

31

ConclusionesSe ha creado una herramienta computacional con algoritmos de alto nivel que permiten solucionar problemas multiobjetivo continuos, mediante el uso de lógica difusa. La misma se convierte en la primera en su género a nivel internacional.

Las metodologías con apoyo en los operadores difusos se convierten en una manera más efectiva para entender el mundo real, toda vez que permiten compensar las inconsistencias debidas a la concepción determinista de las herramientas duras en la Investigación de Operaciones.

Page 32: Gabriel Jaime Correa Henao Gloria Elena Peña Zapata Edgardo Anaya Martínez

32