gabriel jaime correa henao gloria elena peña zapata edgardo anaya martínez
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 PresentationTRANSCRIPT
![Page 1: Gabriel Jaime Correa Henao Gloria Elena Peña Zapata Edgardo Anaya Martínez](https://reader035.vdocuments.pub/reader035/viewer/2022081513/56814a79550346895db78fe4/html5/thumbnails/1.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081513/56814a79550346895db78fe4/html5/thumbnails/2.jpg)
2
INTRODUCCIÓNINTRODUCCIÓN
![Page 3: Gabriel Jaime Correa Henao Gloria Elena Peña Zapata Edgardo Anaya Martínez](https://reader035.vdocuments.pub/reader035/viewer/2022081513/56814a79550346895db78fe4/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081513/56814a79550346895db78fe4/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081513/56814a79550346895db78fe4/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081513/56814a79550346895db78fe4/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081513/56814a79550346895db78fe4/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081513/56814a79550346895db78fe4/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081513/56814a79550346895db78fe4/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081513/56814a79550346895db78fe4/html5/thumbnails/10.jpg)
10
GENERACIÓN DE GENERACIÓN DE ALGORITMOSALGORITMOS
![Page 11: Gabriel Jaime Correa Henao Gloria Elena Peña Zapata Edgardo Anaya Martínez](https://reader035.vdocuments.pub/reader035/viewer/2022081513/56814a79550346895db78fe4/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081513/56814a79550346895db78fe4/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081513/56814a79550346895db78fe4/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081513/56814a79550346895db78fe4/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081513/56814a79550346895db78fe4/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081513/56814a79550346895db78fe4/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081513/56814a79550346895db78fe4/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081513/56814a79550346895db78fe4/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081513/56814a79550346895db78fe4/html5/thumbnails/19.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081513/56814a79550346895db78fe4/html5/thumbnails/20.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081513/56814a79550346895db78fe4/html5/thumbnails/21.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081513/56814a79550346895db78fe4/html5/thumbnails/22.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081513/56814a79550346895db78fe4/html5/thumbnails/23.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081513/56814a79550346895db78fe4/html5/thumbnails/24.jpg)
24
HERRAMIENTA FUZZY HERRAMIENTA FUZZY ELECCIÓNELECCIÓN
![Page 25: Gabriel Jaime Correa Henao Gloria Elena Peña Zapata Edgardo Anaya Martínez](https://reader035.vdocuments.pub/reader035/viewer/2022081513/56814a79550346895db78fe4/html5/thumbnails/25.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081513/56814a79550346895db78fe4/html5/thumbnails/26.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081513/56814a79550346895db78fe4/html5/thumbnails/27.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081513/56814a79550346895db78fe4/html5/thumbnails/28.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081513/56814a79550346895db78fe4/html5/thumbnails/29.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081513/56814a79550346895db78fe4/html5/thumbnails/30.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081513/56814a79550346895db78fe4/html5/thumbnails/31.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081513/56814a79550346895db78fe4/html5/thumbnails/32.jpg)
32