Upload
jesus-mendoza-huillca
View
263
Download
0
Embed Size (px)
Citation preview
7/23/2019 Red Neuronal Codigo C#
1/114
UNIVERSIDAD AUSTRAL DE CHILESEDE PUERTO MONTT
ESCUELA DE INGENIERIA EN COMPUTACION
SISTEMA DE ANLISIS DE VARIABLES ELCTRICAS CONREDES DE NEURONAS ARTIFICIALES
Seminario de Titulacinpara optaral ttulo de Ingeniero en Computacin
PROFESOR PATROCINANTE:Sra. Mnica Gallardo Vargas
RICARDO ANDRS RUBILAR SANHUEZA
PUERTO MONTT CHILE
2008
7/23/2019 Red Neuronal Codigo C#
2/114
7/23/2019 Red Neuronal Codigo C#
3/114
7/23/2019 Red Neuronal Codigo C#
4/114
7/23/2019 Red Neuronal Codigo C#
5/114
7/23/2019 Red Neuronal Codigo C#
6/114
ii
INDICE
SINTESIS EN CASTELLANO
SINTESIS EN INGLS
1 INTRODUCCIN ......................................................................................... 1
2 OBJETIVOS ................................................................................................. 5
2.1 Objetivo General .................................................................................... 5
2.2 Objetivos especficos ............................................................................. 5
3 PLANTEAMIENTO DEL PROBLEMA .......................................................... 6
3.1 Antecedentes ......................................................................................... 63.1.1 Definicin del problema ................................................................... 6
3.1.2 Identificacin de esfuerzos anteriores para resolverlo .................. 10
3.1.3 Solucin propuesta........................................................................ 11
3.1.4 Equipo de trabajo .......................................................................... 14
3.2 Justificacin .......................................................................................... 15
3.2.1 Situacin sin proyecto ................................................................... 15
3.2.2 Situacin con proyecto .................................................................. 15
3.3 Delimitacin .......................................................................................... 16
4 METODOLOGA ........................................................................................ 17
4.1 Desarrollo de Software ......................................................................... 17
4.2 Implementacin de Red Neuronal ........................................................ 18
5 RECURSOS .............................................................................................. 20
5.1 Equipos ................................................................................................ 20
5.2 Software ............................................................................................... 21
5.2.1 Herramientas de desarrollo ........................................................... 21
5.2.2 Usuarios ........................................................................................ 22
6 Inicio del Proyecto ..................................................................................... 23
6.1 Investigacin previa.............................................................................. 23
6.1.1 Teora elctrica respecto de las variables analizadas ................... 23
7/23/2019 Red Neuronal Codigo C#
7/114
iii
6.1.2 Normativa elctrica Chilena Vigente (NCH 2003-04) .................... 31
6.1.3 Equipo de monitoreo elctrico DM-II ............................................. 32
6.1.4 Sistemas de reconocimiento de patrones. .................................... 33
6.1.5 Redes Neuronales ......................................................................... 34
6.1.6 Generalidades de las Redes Neuronales ...................................... 35
6.2 Preparacin del entorno de desarrollo. ................................................ 40
6.3 Modelado Inicial ................................................................................... 41
7 Elaboracin ................................................................................................ 42
7.1 Definicin de requerimientos ................................................................ 42
7.1.1 Modelo del Dominio ....................................................................... 42
7.1.2 Glosario de trminos ..................................................................... 43
7.1.3 Diagramas de Casos de Uso del Sistema. .................................... 47
7.1.4 Especificacin de los Casos de Uso ............................................. 48
7.2 Diagrama de Clases de Base de Objetos ............................................ 55
7.3 Detalle de Clases y relaciones ............................................................. 58
8 Construccin .............................................................................................. 65
8.1 Definicin de Arquitectura .................................................................... 658.2 Anlisis estadstico de la medicin y pre condiciones de bsqueda de
anomalas. ............................................................................................ 66
8.3 Redes Neuronales utilizadas en el anlisis .......................................... 67
8.3.1 Red Neuronal 1. Sugerencias de anlisis. .................................... 68
8.3.2 Red Neuronal 2. Deteccin y clasificacin de anomalas. ............. 72
8.3.3 Sub Redes especializadas ............................................................ 77
9 Interfaz de Usuario .................................................................................... 78
10 Pruebas ................................................................................................... 84
11 Conclusiones y Recomendaciones ......................................................... 88
12 Bibliografa .............................................................................................. 90
13 ANEXOS ................................................................................................. 92
7/23/2019 Red Neuronal Codigo C#
8/114
iv
TABLAS
Tabla 1. Equipo de trabajo. ............................................................................... 14
Tabla 2. Caractersticas tcnicas equipo DM-II................................................. 33
Tabla 3. Detalle de clases. ................................................................................ 58
Tabla 4. Detalle de asociaciones. ..................................................................... 59
Tabla 5. Detalle de atributos clase Cliente ........................................................ 60
Tabla 6. Detalle de atributos clase Consultor ................................................... 61
Tabla 7. Detalle de atributos clase Auditoria ..................................................... 62
Tabla 8. Detalle de atributos clase Medicin .................................................... 63
Tabla 9. Detalle de atributos clase Registro .................................................... 64
Tabla 10. Arreglos de entrada y salida de red neuronal 1. ............................... 69
Tabla 11 Configuraciones de Red Neuronal 1. ................................................. 70
Tabla 12. Error en la iteracin nmero 1.000 del proceso de entrenamiento de lared neuronal 1. ................................................................................. 72
Tabla 13. Arreglos de Entrada y salida Red Neuronal 2. .................................. 73
Tabla 14. Configuraciones Red Neuronal 2. ..................................................... 74
Tabla 15. Error en entrenamiento de distintas configuraciones de la redneuronal 2. ..................................................................................... 75
Tabla 16. Error en la iteracin nmero 1.000 del proceso de entrenamiento de la
red neuronal 2. ................................................................................. 76
7/23/2019 Red Neuronal Codigo C#
9/114
v
FIGURAS
Figura 1. Instalacin tpica de equipo de captura de variables elctricas. .......... 7
Figura 2. Proceso de anlisis de los datos elctricos capturados. ...................... 9
Figura 3. Ciclo de vida de AUP. ........................................................................ 18
Figura 4. Definicin de la tensin elctrica. ...................................................... 24
Figura 5. Definicin de corriente elctrica. ........................................................ 24
Figura 6. Definicin de potencia........................................................................ 25
Figura 7. Ecuacin de la potencia en funcin de la tensin y la corriente ......... 26
Figura 8. Ecuacin y representacin grafica de tensin y la corriente condesfase. ........................................................................................... 27
Figura 9. Funciones de la tensin y la corriente en rgimen sinusoidal. ........... 27
Figura 10. Ecuacin de la potencia en rgimen sinusoidal ............................... 28
Figura 11. Ecuacin de la potencia media. ....................................................... 29
Figura 12. Ecuacin de potencia aparente. ...................................................... 31
Figura 13.Red neuronal genrica ...................................................................... 35
Figura 14. Red neuronal Artificial ...................................................................... 36
Figura 15. Comparacin de resultados obtenidos con Matlab y C#. ................. 41
Figura 16. Modelo del Dominio ......................................................................... 43
Figura 17. Casos de uso del Sistema ............................................................... 48
Figura 18. Diagrama de clases de Base de Objetos. ........................................ 55
Figura 19. Diagrama de clases Red Neuronal .................................................. 57
Figura 20. Capas de Arquitectura de la Aplicacin. .......................................... 65
7/23/2019 Red Neuronal Codigo C#
10/114
vi
Figura 21. Funciones de activacin del perceptron multicapa. ......................... 67
Figura 22. Error en entrenamiento de distintas configuraciones de la redneuronal 1. ....................................................................................... 71
Figura 23. Interfaz de Usuario Ingreso/Edicin de Cliente ............................. 79
Figura 24. Interfaz de Usuario Creacin de Auditora ..................................... 80
Figura 25. Interfaz de Usuario Ingreso/validacin patrones de anlisis. ........ 81
Figura 26 Interfaz de Usuario Proceso entrenamiento Redes Neuronales .... 82
Figura 27. Interfaz de Usuario Generacin/Visualizacin de Reportes .......... 83
Figura 28. Reporte de Visual Studio para pruebas de unidad .......................... 86
Figura 29. Implementacin de Test Clase MedicionHelper ............................... 95
Figura 30. Implementacin de anlisis de sobre carga. .................................... 96
Figura 31. Implementacin mtodo de aprendizaje Back Propagation ............. 97
Figura 32. Implementacin clculo de salida de cada neurona ........................ 98
Figura 33. Implementacin clase Network ...................................................... 100
7/23/2019 Red Neuronal Codigo C#
11/114
vii
SINTESIS EN CASTELLANO
Los requerimientos de esta implementacin nacen de las actividades realizadas
por la Empresa Eficiencia Energtica Integral (EEI) que, en la ejecucin de sus
actividades de consultora, captura la informacin elctrica de sus clientes
mediante la utilizacin de un equipo de medicin autnomo.
La herramienta de software consiste en una aplicacin entrenada para la
deteccin de fallos de acuerdo a la experiencia aportada por los consultores de
EEI, para lo cual se utilizaron redes neuronales de perceptrones distribuidos en
mltiples capas y entrenados mediante el procedimiento de propagacin del
error hacia atrs (Back Propagation). Adems, segn los diagnsticos
obtenidos, la aplicacin cuenta con una base de conocimientos capaz de
asignar a cada hallazgo una posible solucin, lo que provee a los consultores
de una aproximacin del diagnostico lo que incide en una reduccin de las
horas hombre (HH) de ejecucin de los anlisis y un tiempo de respuesta
reducido para el cumplimiento de los requerimientos de los clientes.
Como patrn de este desarrollo se adopt la metodologa gil, la cual provee en
sus distintas etapas entregas parcializadas incrementales, lo que permiti
ajustar las caractersticas de la herramienta a los requerimientos de los
usuarios, que en primera instancia no contaban con una clara definicin.
7/23/2019 Red Neuronal Codigo C#
12/114
viii
La arquitectura del sistema se estructur en tres capas definidas: Capa de
Acceso a Datos, Capa de Negocios e Interfaz de Usuario, que para suimplementacin requirieron de las herramientas Microsoft .Net, Db4o.
Los objetivos propuestos en la definicin inicial del proyecto fueron cubiertos a
cabalidad, obteniendo como producto final una herramienta capacitada para el
diagnstico de fallos en el mbito elctrico y con la capacidad de adaptarse a
nuevas condiciones de falla identificadas en los procesos de asesora
realizados por EEI y su continua investigacin de las nuevas tecnologas
incorporadas al mercado elctrico.
7/23/2019 Red Neuronal Codigo C#
13/114
ix
SINTESIS EN INGLS
Later it is expose the development of a software tool for the analysis of electrical
variables, placed in the Qualification Seminar of the thesiss student. This
development consists in the implementation of an anomalys diagnosis system
on electrical facilities of low tension, by the identification of patterns failures
using artificial neurons networks.
The requirements of this implementation born of the activities done by the
Company Integral Energetic Efficiency (EEI in Spanish) that, in the execution of
its consultancy activities, captures the electrical information of its clients by the
utilization of an autonomous measurement equipment.
The software tool consists of an application trained for the detection of failures
based in the experience contributed by the consultants of EEI, being used for
this, neurons networks of perceptrons distributed in multiple layers and trained
by the procedure of mistake backward propagation (Back Propagation). In
addition, according to the obtained diagnoses, the application relies on a base of
knowledge capable of assign to every find a possible solution, which provides
the consultants of an approximation of the diagnosis wich produce a reduction of
the execution man-hours (HH) in the analyses and a reduce time of response for
the fulfillment of the requirements of the clients.
7/23/2019 Red Neuronal Codigo C#
14/114
x
As a pattern of this development it was adopt the Agile Methodology, which
provides in its different stages incremental parcialized deliveries, which allowedto fit the characteristics of the tool to the users requirements, who in first
instance didnt have a clear definition.
The architecture of the system was constructed in three defined caps: Cap of
Access to Data, Business Cap and User's Interface, which for its implementation
was require of the Microsoft .Net, Db4o tools.
The aims proposed in the initial definition of the project were totally covered,
obtaining as final product a tool qualified for the diagnosis of failures in the
electrical field and with the capability to adapt itself to new conditions of fault
identified in the advising processes done by EEI and its continuous investigation
of the new technologies incorporated into the electrical market.
7/23/2019 Red Neuronal Codigo C#
15/114
7/23/2019 Red Neuronal Codigo C#
16/114
2
estado y cuya finalidad es crear conciencia con respecto al tema para lograr
revertir y controlar el crecimiento de la demanda energtica del pas.
Dentro de este marco, la empresa Eficiencia Energtica Integral Ltda. (EEI) ha
decidido integrarse a este plan pas y realizar Consultoras en materias de
gestin y uso de energas, incluyendo dentro de sus servicios los anlisis
elctricos mediante la utilizacin de un equipo capturador de variables elctricas
marca Amprobe, modelo DM-II, con la finalidad de orientar a las empresas en el
emprendimiento de actividades tendientes a mejorar la eficiencia en el uso de la
energa en sus procesos industriales, las cuales son formalizadas mediante la
entrega de un informe con las sugerencias mediante las cuales el cliente podr
mejorar su desempeo energtico.
Las variables elctricas obtenidas por el capturador, deben ser analizadas por
los ingenieros de EEI, proceso que requiere de un tiempo excesivo lo cual
aumenta los costos en la realizacin de las auditorias, debido al mayor nmero
de Horas Hombre (HH) dedicados exclusivamente al anlisis de los datos.
Adems de los requerimientos de HH dedicadas a los anlisis, es un factor
clave para el anlisis, la experiencia de quien revisa los datos, ya que esta
condicin le permite identificar anomalas que perjudican el desempeo
energtico de la empresa, lo cual incide en los costos de produccin de
7/23/2019 Red Neuronal Codigo C#
17/114
3
diversas maneras y no slo por el desperdicio de energa que es el factor ms
evidente.
La incidencia en los costos del alto nmero de HH dedicados al anlisis, junto
con la condicin de vulnerabilidad por la dependencia directa del conocimiento
prctico de cada unos de los ingenieros de EEI, motivan la necesidad de contar
con una herramienta automatizada de anlisis y que permita adems plasmar el
conocimiento adquirido en cada uno de los anlisis en una base de datos que
permita identificar patrones de fallo y orientar al ingeniero en las posibles
soluciones, basados en las experiencias obtenidas de los anlisis realizados
con anterioridad.
Para el desarrollo de esta herramienta automatizada de anlisis, se ha
seleccionado como pauta del desarrollo los conceptos expuestos en la
Metodologa gil, ya que se acopla a las condiciones de baja definicin inicial
del problema y por la orientacin de la misma hacia el cumplimiento a cabalidad
de los requerimientos del usuario por medio de una participacin activa del
mismo en el proceso de desarrollo.
Los contenidos a continuacin expuestos, detallan el proceso de
implementacin de la herramienta y pueden ser resumidos de la siguiente
manera:
7/23/2019 Red Neuronal Codigo C#
18/114
4
En el captulo 2 se describe el problema abordado y las definiciones
inciales del proyecto a desarrollar. En el captulo 3 se establecen objetivos del proyecto.
En el captulo 4 se describe la metodologa a utilizar para el desarrollo
del software y la implementacin de las redes neuronales.
En el captulo 5 se describen los recursos utilizados en el proyecto.
En el captulo 6 se describe la etapa de inicio del proyecto y los
contenidos bsicos asociados al desarrollo de la aplicacin.
En el captulo 7 se detallan los modelos y definiciones correspondientes
a la etapa de Elaboracin.
En el captulo 8 se expone el proceso de construccin de la herramienta.
En el captulo 9 se exhiben algunas de las implementaciones de la
Interfaz de usuario.
En el captulo 10 se listan las pruebas realizadas en el proceso de
desarrollo de la aplicacin.
En el captulo 11 se indican las conclusiones y recomendaciones.
En el captulo 12 de detalla la bibliografa utilizada
En el captulo 13 se exhiben los anexos.
7/23/2019 Red Neuronal Codigo C#
19/114
5
2 OBJETIVOS
2.1 Objetivo General
Desarrollo de una herramienta de anlisis de variables elctricas capaz de
clasificar mediante redes de neuronas artificiales condiciones anmalas segn
patrones previamente definidos
2.2 Objetivos especficos
Reducir las Horas Hombre requeridas para el anlisis de los datos
elctricos capturados.
Mantener una base de patrones de falla y las soluciones asociadas a los
a mismos.
Determinar el cumplimiento normativo de la energa elctrica analizada
Detectar problemas elctricos derivados del deficiente suministro
elctrico
Detectar problemas elctricos derivados del deficiente estado de las
instalaciones
De acuerdo a la asociacin de variables y la experiencia de los
profesionales de la empresa, determinar causas y sugerir soluciones a
las anomalas detectadas.
7/23/2019 Red Neuronal Codigo C#
20/114
6
3 PLANTEAMIENTO DEL PROBLEMA
3.1 Antecedentes
3.1.1 Definicin del problema
En la matriz energtica de las empresas, la electricidad constituye unos de los
elementos con mayor impacto en la estructura de costos, por lo que controlar y
gestionar este recurso se convierte en una condicin indispensable para la
competitividad de las empresas.
EEI, empresa certificada por el Instituto Nacional de Normalizacin (INN) para la
realizacin de auditoras en Eficiencia Energtica, cuenta con el equipo
Amprobe DM- II, diseado para monitorear las diferentes variables derivadas
del consumo elctrico en las empresas, de manera confiable y con el suficiente
detalle como para tomar decisiones en cuanto a la manera en que se consume
y la identificacin de posibles ineficiencias derivadas de la configuracin o
diseo de los sistemas de potencia presentes en las diversas lneas de
procesos utilizadas en las industrias.
A continuacin se muestra la configuracin tipo de los sistemas elctricos en las
industrias y cmo es instalado el equipo para la captura de los datos.
7/23/2019 Red Neuronal Codigo C#
21/114
7
Figura 1. Instalacin tpica de equipo de captura de variables elctricas.
Las caractersticas descritas anteriormente derivan en la captura simultnea porparte del equipo de 26 variables elctricas, las cuales son asociadas a la fecha
y hora en que fueron capturadas.
Propulsin deagua
Secador
Compresor
Tablero ElctricoGeneral
DM IIEquipo
Medicin
Generador deelectricidad a
Diesel
Suministro
ElctricoPublico
Sistema deenfriamiento de Agua
7/23/2019 Red Neuronal Codigo C#
22/114
8
Para visualizacin de la informacin capturada, la aplicacin provista por el
fabricante del equipo (Download Suite 2.3.0.5), permite desplegar en formatotabla, cada uno de los registros, ordenados cronolgicamente.
Para el posterior anlisis de la informacin, el personal de EEI exporta los datos
a una Hoja de Clculo, mediante la cual realiza una serie de anlisis
estadsticos que permiten tener una primera aproximacin respecto a posibles
anomalas presentes en la instalacin elctrica analizada.
Si son evidenciados por los mtodos estadsticos ciertos patrones de posibles
anomalas, el ingeniero a cargo del anlisis procede a una revisin minuciosa
de cada uno de los registros que en promedio son 6.000, por lo que esta tarea
requiere un nmero de HH elevado, lo que encarece el costo final de las
auditoras realizadas por EEI.
A continuacin se grafica la cronologa del anlisis de los datos:
7/23/2019 Red Neuronal Codigo C#
23/114
9
Figura 2. Proceso de anlisis de los datos elctricos capturados.
Sobre los datos capturados el especialista logra determinar las siguientes
anomalas:
Variacin de Voltaje
Errnea secuencia de las Fases
Datos de laInstalacinElectrica
AnlisisEstadstico Experiencia del
Consultor
Download Suite
++
Informe Final
7/23/2019 Red Neuronal Codigo C#
24/114
7/23/2019 Red Neuronal Codigo C#
25/114
11
3.1.3 Solucin propuesta
Analizando la situacin anteriormente expuesta, se propone lo siguiente:
Desarrollo de una herramienta de anlisis de variables elctricas
capturadas en instalaciones industriales
Para el desarrollo de este proyecto se considera la definicin de los siguientes
aspectos:
3.1.3.1 Arquitectura
Se desarrollar una aplicacin en el cliente, debido a la condicin de utilizacin
de un laptop por parte del Ingeniero y que las labores son desarrolladas en
sitios alejados y no se cuenta con conexin a internet en todos los casos como
para desarrollar una aplicacin web.
Para la actualizacin de la red neuronal encargada de la deteccin de patrones
de fallo, se contar con un servidor en el cual se mantendr la ltima versin
actualizada, que podr ser descargada por cada una de las aplicaciones cliente.
3.1.3.2 Funciones
Para la realizacin de los anlisis, la aplicacin deber contar con las siguientes
caractersticas:
7/23/2019 Red Neuronal Codigo C#
26/114
12
a. Importacin de los datos desde un archivo Excel hacia la aplicacin.
b. Normalizacin de los datos y almacenamiento en formato de laaplicacin.
c. Anlisis de cumplimiento normativo de calidad de suministro.
Para la deteccin de incumplimiento normativo se utilizan los criterios
definidos en la normativa elctrica vigente. Se realiza un anlisis
estadstico el cual incluye la determinacin de mnimos, mximos, media
y desviacin estndar por cada una de las variables capturadas, con la
finalidad de identificar inicialmente posibles anomalas. Una vez
detectadas las primeras evidencias de posibles fallas, se procesa cada
uno de los registros mediante 8 tipos de anlisis, los que son aplicados a
sugerencia de la red neuronal entrenada para estos fines, segn lo
evidenciado inicialmente por la informacin estadstica. Los anlisis a
realizar son los que a continuacin se detallan:
Desbalance de Tensin
Desbalance de Corriente
Secuencia de Fases
Sobre Carga
Normativo
Corriente Reactiva
7/23/2019 Red Neuronal Codigo C#
27/114
13
Corriente de Neutro
ndice de uso de la potencia contratada.d. Deteccin de problemas elctricos derivados del deficiente suministro
elctrico.
Cuando la calidad de la energa entregada por el proveedor no cumple
con los requerimientos tcnicos, se evidencia esta condicin en la
tensin presente en la red, que en condiciones deficientes provocaciertas anomalas en los equipos, las cuales sern identificadas por la
aplicacin mediante la comparacin de los ndices de anomalas de cada
uno de los registros. Estos ndices de anomala estarn determinados por
los anlisis ejecutados segn las inferencias realizadas por el previo
proceso de los ndices estadsticos y las sugerencias aportadas por la
Red Neuronal entrenada para estos fines.
e. Detectar problemas elctricos derivados del deficiente estado de las
instalaciones.
As como las condiciones del suministro afectan el comportamiento de
los consumos, el deficiente estado de las instalaciones y la configuracin
de los equipos pueden producir diversas condiciones no deseadas dentro
de la empresa, lo cual se pretende detectar tambin mediante el anlisis
del comportamiento de la corrientey laenerga, as como la correlacin
7/23/2019 Red Neuronal Codigo C#
28/114
14
que existe entre stos. Se utilizar una red neuronal capacitada para
identificar las fallas y segn la clasificacin que realice de las mismas,indicar las sugerencias para la correccin de dichas anomalas.
f. Entregar informacin detallada de los resultados obtenidos en el proceso
de anlisis.
3.1.4 Equipo de trabajo
Para el desarrollo de este proyecto se contar con el siguiente personal
Nombre Institucin Cargo
Ricardo Toledo EEI Ltda Gerente Tcnico
Edgardo Badilla EEI Ltda Gerente Proyectos
Ricardo Rubilar EEI Ltda Enc. Proyecto
Tabla 1. Equipo de trabajo.
Los componentes de este equipo de trabajo, evidencian un gran potencial, al
ser profesionales de distintas reas que estn vinculadas directamente con el
tipo de proyecto que se desea desarrollar.
7/23/2019 Red Neuronal Codigo C#
29/114
15
3.2 Justificacin
3.2.1 Situacin sin proyecto
La situacin actual presenta una serie de falencias que pudieran forzar a
cometer errores en los anlisis realizados por el personal de EEI. Dentro de
estas falencias podemos mencionar que los criterios de evaluacin no se
encuentran normados y slo se basan en la experiencia de los evaluadores.
El volumen de informacin requerido para realizar cada uno de los anlisis
dificulta, en ocasiones, la correcta identificacin de las fallas, por lo que se han
registrado problemas con algunos de los anlisis realizados anteriormente en
cuanto a la acertividad de los diagnsticos.
El factor humano sigue siendo crtico ya que los parmetros de anlisis de la
informacin son basados en el profesional que lo realiza y no existe un registro
centralizado donde se disponga de esta informacin.
3.2.2 Situacin con proyecto
El desarrollo de este proyecto solucionara las deficiencias que presenta el
procedimiento de anlisis elctrico que tiene la empresa, aportando las
siguientes funcionalidades:
7/23/2019 Red Neuronal Codigo C#
30/114
7/23/2019 Red Neuronal Codigo C#
31/114
7/23/2019 Red Neuronal Codigo C#
32/114
18
El desarrollo iterativo con cuenta con menor tiempo entre iteraciones
manteniendo el mismo esquema de RUP, como se aprecia en el siguientediagrama de tareas.
Figura 3. Ciclo de vida de AUP.
4.2 Implementacin de Red Neuronal
Cuando se aborda un problema utilizando el Perceptron Multicapa, existen dos
pasos base para la implementacin de la arquitectura de la red, segn lo
definido en [Isasi2005], los cuales se detallan a continuacin:
Determinacin de la funcin de activacin.
7/23/2019 Red Neuronal Codigo C#
33/114
19
Su eleccin depende del recorrido deseado, no influyendo
significativamente en la capacidad de resolucin del problema.
Definicin de la cantidad capas y neuronas por capa.
La definicin de neuronas en la capa de entrada, as como en la capa de
salida viene dada por las variables que definen el problema. Para la
determinacin de la arquitectura se parte con el criterio del diseador,
apoyndose en procedimientos de prueba y error, hasta encontrar la
arquitectura adecuada para resolver el problema.
Si bien el nmero de capas ocultas puede influir en el comportamiento de la red,
la capacidad de generalizacin de la red permite al perceptron multicapa
resolver de manera adecuada el mismo problema con distintas arquitecturas de
red.
7/23/2019 Red Neuronal Codigo C#
34/114
20
5 RECURSOS
5.1 Equipos
Desarrollo
HP Pavilion dv 2200
Procesador Intel Core Duo
2Gb de memoria en RAM
WiFi
Clientes
Para este caso se implementar para un cliente que cuenta con un equipo
porttil de las siguientes caractersticas:
HP Pavilion dv 2622
Procesador Intel Core Duo
1Gb de memoria en RAM
WiFi
7/23/2019 Red Neuronal Codigo C#
35/114
21
5.2 Software
5.2.1 Herramientas de desarrollo
Microsoft Windows Vista
Sistema operativo que provee las plataformas base para la ejecucin de las
herramientas productivas y de desarrollo de este proyecto.
Visual Studio 2008
Herramienta Visual que permitir el diseo de las aplicaciones, mediante la
utilizacin del lenguaje de programacin C# y elementos para formularios para
Windows.
DB4oBase de objetos que dar soporte al almacenamiento de datos y su posterior
manejo.
Power Designer
Herramienta para el diseo de diagramas requeridos en la metodologa
seleccionada.
7/23/2019 Red Neuronal Codigo C#
36/114
22
Fireworks MX 2004
Aplicaciones orientadas al diseo grfico de elementos a utilizar en la interfazde usuario.
5.2.2 Usuarios
Sistema Operativo Windows Vista.
7/23/2019 Red Neuronal Codigo C#
37/114
23
6 INICIO DEL PROYECTO
Este proyecto nace de la necesidad de llevar a un nivel superior los anlisis
realizados por EEI Ltda, pudiendo contar con una cantidad de patrones de fallos
incremental que le permita realizar diagnsticos acertados y prestar un servicio
de primer nivel a sus clientes.
6.1 Investigacin previa
6.1.1 Teora elctrica respecto de las variables analizadas
Para determinar cul es la implicancia de cada una de las variables elctricas
analizadas, se detallarn a continuacin los fundamentos tericos detrs de
cada una de ellas. Estos conceptos estn basados en las definiciones obtenidas
de [Nilsson2005].
6.1.1.1 Tensin y corriente.
El concepto de carga elctrica es la base para describir todos los fenmenos y
efectos elctricos pueden atribuirse a la separacin de las cargas y al
movimiento de las mismas.
En teora de circuitos, la separacin de las cargas crea una fuerza elctrica
(tensin), mientras que el movimiento de una carga crea un fluido elctrico
(corriente).
7/23/2019 Red Neuronal Codigo C#
38/114
24
Los conceptos de tensin y corriente son tiles desde el punto de vista del
ingeniero porque pueden expresarse en forma cuantitativa. Cuando se separancargas positivas y negativas, se gastar energa en el proceso. La tensin es la
energa por unidad de carga creada por la separacin. Su expresin en forma
diferencial se describe a continuacin.
Donde v= tensin en voltiosw=energa en juliosq=carga en culombios
Figura 4. Definicin de la tensin elctrica.
Los efectos elctricos causados por las cargas en movimiento dependen de la
tasa de flujo de la carga. La tasa de flujo de la carga se conoce como corriente
elctrica, que se expresa como
Donde i= corriente en amperiosq=carga en culombiost=tiempo en segundos
Figura 5. Definicin de corriente elctrica.
7/23/2019 Red Neuronal Codigo C#
39/114
25
6.1.1.2 Potencia y energa
Los clculos de potencia son tambin importantes en el anlisis de circuitos.
Una de las razones es que, aunque la tensin y la corriente son variables utililes
en el anlisis y diseo de sistemas elctricos, la salida til del sistema es a
menudo de naturaleza no elctrica, y esta salida puede expresarse
convenientemente en trminos de potencia y energa. Otra razn es que todos
los dispositivos prcticos tienen limitaciones en cuanto a la cantidad de potencia
que pueden manejar. Por tanto, en el proceso de diseo, los clculos de
tensiones y corrientes no son suficientes por s mismos.
Ahora se establecer la relacin entre potencia y la energa con la tensin y la
corriente. Matemticamente, la energa por unidad de tiempo se expresa en
forma derivada, de la manera siguiente:
Donde p= potencia en vatiosW=energa en juliost=tiempo en segundos
Figura 6. Definicin de potencia.
7/23/2019 Red Neuronal Codigo C#
40/114
26
La potencia asociada con el flujo de carga se sigue directamente de la
definicin de la tensin y de la corriente, segn las ecuaciones detalladas en lasfiguras 3 y 4 y es:
Figura 7. Ecuacin de la potencia en funcin de la tensin y la corriente
La Figura 7 muestra que la potencia asociada con un elemento de circuito
bsico es, simplemente el producto de la corriente que atraviesa el elemento
por la tensin que cae en el.
6.1.1.3 Fuentes sinusoidales
Una fuente de tensin sinusoidal produce una tensin que varia
sinusoidalmente con el tiempo. Una fuente de corriente sinusoidal produce una
corriente que vara sinusoidalmente con el tiempo. A la hora de analizar las
funciones sinusoidales, vamos se utilizar una fuente de tensin, pero los
resultados tambin deben ser aplicados a fuentes de corriente.
Se expresar una funcin sinusoidal mediante la funcin seno o la funcin
coseno. Aunque las dos resultan adecuadas, no usaremos ambas formas
funcionales simultneamente. Para el anlisis, vamos a utilizar la funcin
coseno, de modo que se describir una tensin sinusoidal de la siguiente forma:
7/23/2019 Red Neuronal Codigo C#
41/114
27
( + )
Figura 8. Ecuacin y representacin grafica de tensin y la corriente con
desfase.
6.1.1.4 Potencia Instantnea
La potencia Instantnea se mide en vatios cuando la tensin esta en voltios y la
corriente en amperios. En primer lugar, se detallan las expresiones
correspondientes para cada trmino:
( + )
( + )
Figura 9. Funciones de la tensin y la corriente en rgimen sinusoidal.
7/23/2019 Red Neuronal Codigo C#
42/114
28
En las ecuaciones, es el ngulo de fase de la tensin y es el ngulo de
fase de la corriente. Al operar en rgimen sinusoidal se puede elegir cualquierinstante conveniente como tiempo cero. Los diseos de ingeniera de
transmisin de grandes cantidades de potencia, utilizan como origen de tiempo
un instante en que la corriente est pasando por un mximo positivo. Este
sistema de referencia requiere un desplazamiento de la tensin y de la corriente
segn un ngulo .
6.1.1.5 Potencia Media y Reactiva
Segn lo descrito en la figura 8, podemos se reescribir la ecuacin como
sigue:
+ 2 + 2
donde
Potencia Media (real) ()
Potencia Reactiva ()
Figura 10. Ecuacin de la potencia en rgimen sinusoidal
P se denomina potencia media y Q se denomina potencia reactiva. La potencia
tambin se llama, en ocasiones, potencia real, porque describe una potencia
7/23/2019 Red Neuronal Codigo C#
43/114
29
que es transformada en un circuito de energa elctrica a energa no elctrica
dentro de un circuito. Aunque los dos trminos son intercambiables, se utilizarprincipalmente el trmino potencia media.
La potencia media asociada con las seales sinusoidales es el promedio de la
potencia instantnea a lo largo de un periodo, lo que se representa a
continuacin:
1
Figura 11. Ecuacin de la potencia media.
En la ecuacin expresada, T es el periodo de la funcin sinusoidal. Los lmites
de la ecuacin implican que se puede iniciar el proceso de integracin en
cualquier instante que resulte conveniente, pero se debe terminar laintegracin exactamente un periodo despus.
6.1.1.6 Factor de potencia
El ngulo juega un papel importante en el clculo tanto de la potenciamedia como de la potencia reactiva, y se lo denomina como ngulo de factor de
potencia. El coseno de este ngulo se denomina factor de potencia (abreviado
fp) y el seno de este ngulo se denomina factor reactivo (abreviado fr).
7/23/2019 Red Neuronal Codigo C#
44/114
30
Conocer el valor del factor de potencia no permite determinar el valor del ngulo
del factor de potencia, porque ( ) (). Para describircompletamente este ngulo, se utilizarn las fases descriptivas Factor de
Potencia en Retardo y Factor de Potencia en adelanto. Un factor de potencia en
retardo implica que la corriente est retrasada con respecto a la tensin, lo que
quiere decir que se tiene una carga inductiva. Un factor de potencia en adelanto
implica que la corriente est adelantada con respecto a la tensin, por lo que se
tendr una carga capacitiva. Tanto el factor de potencia como el factor reactivo
son magnitudes que facilitan la descripcin de las cargas elctricas.
6.1.1.7 Potencia Compleja
La potencia compleja es la suma compleja de la potencia real y de la potencia
reactiva. Desde el punto de vista de las dimensiones, la potencia compleja tienelas mismas que la potencia media o la potencia reactiva. Sin embargo, para
distinguir la potencia compleja de los otros dos tipos de potencia, se utilizara
como unidades los voltio-amperios (VA). As, usaremos los voltio-amperios para
la potencia compleja, lo vatios para la potencia media y los vars para la potencia
reactiva.
La magnitud de la potencia compleja se denomina potencia aparente, lo cual se
grafica en la siguiente frmula:
7/23/2019 Red Neuronal Codigo C#
45/114
31
+
Figura 12. Ecuacin de potencia aparente.
La potencia aparente, como la potencia compleja, se mide en voltio-amperios.
El requisito de consumo de potencia aparente, o de voltio-amperios, para un
dispositivo diseado para convertir energa elctrica en energa no elctrica es
ms importante que el requisito de potencia media. Aunque la potencia media
representa la salida til del dispositivo conversor de energa, la potencia
aparente representa la capacidad en voltio-amperios requerida para suministrar
la potencia media.
Muchos aparatos tiles y la mayora de las cargas industriales funcionan con un
factor de potencia en retardo. El factor de potencia de estas cargas se corrige
en ocasiones aadiendo un condensador al propio dispositivo o conectando
condensadores entre las dos lneas que alimentan la carga.
6.1.2 Normativa elctrica Chilena Vigente (NCH 2003-04)
Para los efectos de estimacin de cumplimiento normativo, se utilizar la
normativa elctrica vigente NCH 2003-04, la cual en el articulo 243 define lo
siguiente:
7/23/2019 Red Neuronal Codigo C#
46/114
32
La norma tcnica fijar las magnitudes de la tensin nominal en 50 Hz. Elproveedor del servicio deber indicar explcitamente, a cada usuario, la tensin
en el punto de conexin entre ambos, en adelante punto de conexin.Las variaciones u holguras permitidas de la tensin nominal en el punto deconexin, sern las siguientes:
En Baja Tensin (BT): Excluyendo periodos de interrupciones desuministro, el valor estadstico de la tensin medido de acuerdo a lanorma tcnica correspondiente, deber estar dentro el rango de -7.5% y7.5% durante el 95% del tiempo de cualquiera semana del ao o de sietedas consecutivos de medicin y registro.
6.1.3 Equipo de monitoreo elctrico DM-II
El equipo disponible para la captura de los datos elctricos es el DM-II de la
marca Amprobe. Este equipo cuenta con la capacidad de capturar informacin
de circuitos de 1 a tres fases y sus registros son en formato TRUE RMS.
Las variables capturadas por el equipo, cumplen con los requerimientos
tcnicos detallados a continuacin:
Entradas
VoltajeTres canales para fases mas un comn, soporte hasta1000 V.
Corriente Cuatro canales (I1, I2, I3, I4)DM-CT: 1 a 1000 A 1% de lectura
Rangos AC Voltaje (True RMS) 5 a 600 VrmsAC Corriente (True RMS) 1 a 1000Arms
Exactitud Voltaje 1% en lecturaCorriente 1% en lectura
7/23/2019 Red Neuronal Codigo C#
47/114
33
Mediciones
True RMS Voltaje y corrienteEn potencia Aparente (VA), Reactiva (VAR), Real (W) y Factor depotenciaEnerga kWh y demanda(kW)
Modos de grabacinIntervalo discreto y continuo
1segundo ,5 segundos,15 segundos ,30segundos,1 minuto, 5 minutos, 15 minutos y 30 minutos.
Tabla 2. Caractersticas tcnicas equipo DM-II.
Para la descarga de los datos se realiza mediante una interfaz RS-232 con la
aplicacin Download Suite, de Amprobe.
6.1.4 Sistemas de reconocimiento de patrones.
Uno de los desafos ms grandes de nuestra era ha sido la construccin de
sistemas inteligentes, a lo que la Inteligencia Artificial (IA) ha surgido como rea
de estudio del diseo e implementacin de los mismos.
Podemos diferenciar dos reas de trabajo bastantes definidas en la IA segn
[Isasi2005], la primera se conoce como IA simblica, la cual define el problema
a resolver y disea el sistema capaz de resolverlo siguiendo esquemas fijados
por la disciplina, como lo hacen por ejemplo los Sistemas Expertos, que utilizan
7/23/2019 Red Neuronal Codigo C#
48/114
34
mecanismos de inferencia parecidos a que utilizamos al razonar para
posteriormente sacar conclusiones.
La segunda rea de la IA es la conocida como Subsimblica, en la cual se
realizan diseos genricos de alto nivel que cuentan con la capacidad de
adaptarse y construir por s mismo una solucin al problema. Dentro de este
campo encontramos las Redes Neuronales. El objetivo de las Redes
Neuronales es llegar a disear mquinas con elementos neuronales de
procesamiento paralelo, con la capacidad de adaptarse a las condiciones del
problema.
Dadas las condiciones del problema abordado y lo anteriormente expuesto, las
Redes Neuronales cumplen con la capacidad de adaptarse a las condiciones
del problema, que inicialmente no cuentan con una clara definicin, por lo que
las capacidades dinmicas de esta herramienta de reconocimiento de patrones
cumple con los requerimientos de la solucin propuesta.
6.1.5 Redes Neuronales
Bajo el nombre genrico de Red Neuronal se engloban diferentes estructuras
de procesamiento paralelo distribuido, algunas de ellas biolgicamente
inspiradas, en las que el nmero de elementos simples de cmputo no lineal se
interconectan en forma ms o menos densa. Estas estructuras son de utilidad
en reconocimiento de patrones, modelado y filtrado no lineal de seales, entre
7/23/2019 Red Neuronal Codigo C#
49/114
35
muchas otras aplicaciones. En general, las redes presentan algn tipo de
plasticidad en su estructura que permite sintonizar su operacin a fin deoptimizar una figura de mrito, como por ejemplo alguna medida de distancia al
comportamiento deseado. De esta forma, la red puede aprender a realizar una
tarea u operacin. Esta caracterstica es de gran utilidad all donde el
conocimiento del problema a resolver es impreciso o variante en el tiempo.
6.1.6 Generalidades de las Redes Neuronales
Segn lo expuesto en [Sierra2006], la red es un operador no lineal formado por
un conjunto de elementos simples de procesamiento o neuronas, que se
conectan entre si y con el medio externo a travs de conexiones o sinapsis, que
poseen un peso asociado, as como se expone en el siguiente diagrama.
Entradas
Sinapsis
Neurona
Figura 13.Red neuronal genrica
7/23/2019 Red Neuronal Codigo C#
50/114
7/23/2019 Red Neuronal Codigo C#
51/114
7/23/2019 Red Neuronal Codigo C#
52/114
38
Red de interconexiones.
Los valores de los pesos de la red de interconexiones imponen lainfluencia que la salida de una neurona tiene sobre las otras. Esta
influencia puede ser excitatoria, cuando tiende a aumentar el valor de la
activacin, o inhibitoria, cuando tiende a disminuirlo. En otras redes,
como las de base radial, los pesos especifican las coordenadas donde la
no-linealidad de cada neurona est centrada.
Algoritmo de entrenamiento.
En los algoritmos supervisados, existe un tutor o salida deseada que
especifica que valor debera tener la salida de la red para cada posible
entrada dentro de un conjunto de datos de entrenamiento. El error entre
la salida actual de la red y la deseada es utilizada por el algoritmo para
sintonizar el valor de los pesos de la red. En los algoritmos nosupervisados, por el contrario, no existe un tutor y el objetivo del
algoritmo de entrenamiento es detectar alguna regularidad, estructura o
caracterstica en particular de los datos, de forma que la red se convierte
en un detector de caractersticas (feature detector). Los algoritmos de
entrenamiento son, generalmente procesos de optimizacin, a menudo
heursticos, y tales sufren de problemas de convergencia y existencia de
mnimos locales en la superficie de bsqueda.
7/23/2019 Red Neuronal Codigo C#
53/114
7/23/2019 Red Neuronal Codigo C#
54/114
40
en su entrenamiento y extender ese conocimiento ms all de esas
situaciones conocidas.
6.2 Preparacin del entorno de desarrollo.
Con los antecedentes estudiados del problema, se procedi a buscar las
herramientas de software que ms se acoplaran con los requerimientos del
proyecto.
Como base para el desarrollo se eligi Visual Studio 2008 .NET, realizando las
implementaciones en C# y para el almacenamiento de los datos se opt por
Db4o ya que se acopla perfectamente al desarrollo orientado a objetos.
Para la implementacin de la red neuronal fueron seleccionadas las clases
definidas en el proyecto Aforge [Kirirlov2005]. Como proceso de verificacin del
correcto funcionamiento de esta implementacin, se compararon los resultados
de las implementaciones de redes de similares caractersticas en Matlab y en
C#. Se procedi a entrenar y probar ambas con un set de datos en comn y
demostraron el siguiente comportamiento con 30 patrones y 10 pruebas,
obteniendo un margen de error no mayor al 3%.
7/23/2019 Red Neuronal Codigo C#
55/114
41
Figura 15. Comparacin de resultados obtenidos con Matlab y C#.
6.3 Modelado Inicial
En el modelado inicial se desarrollaron las primeras aproximaciones del
diagrama de casos de uso, as como se utilizaron diagramas de flujo de datos
para la identificacin de las reglas de negocio. Se identificaron preliminarmente
los requerimientos tcnicos de la aplicacin, as como se incluyeron las
primeras especificaciones en el Glosario de Trminos.
Los diagramas derivados de este modelado inicial fueron mantenidos durante
las etapas siguientes, por lo que su exposicin se realiza en los captulos
posteriores.
0
5
10
15
20
25
30
3540
45
50
0 10 20 30 40
#
7/23/2019 Red Neuronal Codigo C#
56/114
42
7 ELABORACIN
En esta etapa, se busca tener las definiciones de arquitectura del sistema,
diagrama de clases de la base de objetos junto con el diagrama de casos de
uso del sistema. Se desarrollan tambin los prototipos de importacin de datos
desde el archivo Excel as como su almacenamiento en la base de objetos
DbTemp.
7.1 Definicin de requerimientos
7.1.1 Modelo del Dominio
A continuacin se expone el Modelo del Dominio de la solucin a implementar,
como una primera representacin de los requerimientos de acuerdo a lo
expuesto en [Ambler2005]. Este diagrama es el resultado del estudio de
requerimientos realizado en la etapa de inicio segn lo indicado por la
metodologa.
7/23/2019 Red Neuronal Codigo C#
57/114
43
Figura 16. Modelo del Dominio
7.1.2 Glosario de trminos
A continuacin se describen los trminos utilizados en el desarrollo del presenteproyecto. Este diccionario de datos y nomenclatura es definido para contar con
un definicin estandarizada de los trminos empleados para definir los
requerimientos del sistema.
Los trminos se detallan alfabticamente a continuacin:
Amper:Unidad de medida para la corriente.
Anlisis estadstico: Consiste en el anlisis detallado de cada una de las
variables elctricas medidas, con la finalidad de obtener los valores mximos,
Solicita
supervisa
tiene
recomiendarealiza
contiene
Verifica
Cliente
Auditora
Consultor
Mediciones
Diagnosticos
Registros
Anlisis
7/23/2019 Red Neuronal Codigo C#
58/114
44
mnimos, promedio y la desviacin estndar por cada una de las variables
capturadas.
Anomala:Registro derivado de los anlisis realizados por el sistema, el cual es
almacenado en cuanto a la magnitud de desviacin respecto a la condicin
normal de funcionamiento.
Auditoria: Consiste en el proceso de verificacin del funcionamiento de un
sistema elctrico definido, para lo cual se hacen mediciones de los parmetros
elctricos para ser posteriormente analizados con la finalidad de encontrar
anomalas.
Banco de Condensadores: Sistema elctrico para la compensacin de
energa reactiva presente en la red, con la finalidad de optimizar el uso de la
energa elctrica y eliminar multas derivadas por este concepto, segn lo indica
la normativa elctrica vigente.
Cliente:Persona natural o jurdica que cuenta con instalaciones elctricas del
tipo residencial o industrial, que requiere los servicios de la empresa para
solucionar inconvenientes con sus sistemas elctricos, as como optimizar el
uso de los mismos.
Condiciones de Borde: Detalle de las caractersticas tcnicas presentes en la
instalacin elctrica analizada.
7/23/2019 Red Neuronal Codigo C#
59/114
45
Consultor: Ingeniero certificado para la realizacin de consultoras en el rea
de eficiencia energtica segn los estndares definidos por el INN.
Corriente de neutro: Anlisis que busca identificar el momento en el cual la
corriente registrada en el neutro supera al 10% de la corriente presente en las
fases, lo que constituye un riesgo elctrico.
Desbalance de carga:Identificacin del instante en el cual el cociente entre las
fases supera el 30%.
Desbalance de tensin:Identificacin del instante en el cual el cociente entre
las fases supera al 2%.
Diagnstico: Resultado del anlisis realizado por el sistema en el cual se
indican posibles causas de las anomalas registradas, as como las soluciones
para las mismas.
Factor de potencia:Cociente entre la potencia y la energa reactiva.
Fecha de certificacin: Fecha en la que el consultor recibi su ltima
certificacin por parte del INN.
Generacin en Hora Punta (GHP):Generacin de energa elctrica por medio
de equipos electrgenos, con la finalidad de abaratar los costos derivados del
7/23/2019 Red Neuronal Codigo C#
60/114
46
consumo de energa en la red pblica en horas determinadas como de
consumo en punta.
Intervalo:Unidad de tiempo en la cual son capturados los registros.
Malla Baja Tensin (BT):Estructura de cobre enterrada en la tierra que cumple
la funcin de proteger los equipos elctricos conectados a la red de baja
tensin.
Malla Media Tensin (MT): Estructura de cobre enterrada en la tierra que
cumple la funcin de proteger los equipos conectados a la red de media
tensin.
Medicin:Conjunto de registros capturados en una red elctrica, en el cual se
cuantifican las variables como tensin, corriente, potencia y factor de potencia.
Potencia: Unidad de medida elctrica con la que se mide el trabajo generado
por la energa elctrica. Su unidad de medida es el Watt.
Registro: Conjunto de datos que contiene las variables elctricas registradas
en un momento definido.
Secuencia de Fases:Anlisis que identifica la condicin de mala secuencia de
fases en la instalacin analizada.
7/23/2019 Red Neuronal Codigo C#
61/114
7/23/2019 Red Neuronal Codigo C#
62/114
48
Figura 17. Casos de uso del Sistema
7.1.4 Especificacin de los Casos de Uso
Para la especificacin detallada de los requerimientos del sistema se han
realizado las especificaciones de los casos de uso para Importar Medicin,
ClienteConsultor
Ingresar Cliente
Crear Auditoria
Importar Medicion
Analizar Medicion
DM-II
Recomendaciones
7/23/2019 Red Neuronal Codigo C#
63/114
49
Analizar Medicin y Recomendaciones, basndose en las sugerencias de
anlisis detallados expuestas en [Ambler2005].
Caso de Uso: Importar Medicin
Actores: Consultor
Descripcin: Los datos capturados por el equipo DM-II y posteriormente
exportados a un archivo Excel, son importados a la aplicacin de anlisis y
almacenados en la base de objetos segn el formato definido en la clase
Registro.
Pre Condiciones: Datos exportados desde la aplicacin propietaria a archivo
Excel en formato 2003.
Flujo Normal: El consultor debe seleccionar el archivo desde donde se
importarn los datos. El sistema extrae los datos y verifica si el formato del
archivo corresponde a variables elctricas capturadas con el equipo DM-II.
Posteriormente normaliza los datos para ingresarlos a una base de objetos
temporal la cual se utilizar para el posterior anlisis de los datos. Los datos
son almacenados con la clase Registro, la cual consta de la fecha de la captura
y los campos asociados a cada fase en las variables: Tensin, corriente,
potencia, energa reactiva, energa aparente y factor de potencia.
7/23/2019 Red Neuronal Codigo C#
64/114
7/23/2019 Red Neuronal Codigo C#
65/114
7/23/2019 Red Neuronal Codigo C#
66/114
52
como parmetro de la funcin. Como regla general y como indica la
documentacin tcnica este nivel debe ser inferior al 2%.4. Se ejecuta el anlisis Desbalance de Corriente.
Mediante anlisis de los registros se buscan los registros en los cuales la
diferencia entre las corrientes registradas sea superior al valor ingresado
como parmetro de la funcin. Se utiliza como desbalance base un 30%
de variacin entre las fases.
5. Se ejecuta el anlisisSecuencia de Fases.
Las fases deben encontrarse en una correcta secuencia para el normal
funcionamiento de los equipos. Esta condicin es determinada por el
sentido de las corrientes correspondientes a cada una de ellas. Al
momento de registrar una corriente con valor negativo, esto indica que la
secuencia de fase es incorrecta.
6. Se ejecuta el anlisis Sobre Carga.
El ingreso de grandes cargas al sistema elctrico provoca una serie de
variaciones que pueden afectar el desempeo de los otros equipos
presentes en la red, por lo que se registran las condiciones en que se
identifican ingresos de carga al sistema por sobre el 30% del valor de la
media registrada en las ltimas 5 mediciones capturadas.
7. Se ejecuta el anlisis deCumplimiento Normativo.
Segn los estndares definidos en la normativa elctrica se verifica la
condicin de cumplimiento de dicha norma tcnica.
7/23/2019 Red Neuronal Codigo C#
67/114
7/23/2019 Red Neuronal Codigo C#
68/114
54
Precondiciones: Anlisis de anomalas segn las sugerencias basadas en
anlisis estadstico junto con la validacin de las mismas por parte del consultory condiciones pre definidas en la red neuronal encargada de realizar las
sugerencias.
Flujo Normal: Se analizan los registros de anomalas y de acuerdo a los
patrones predefinidos de anomalas elctricas utilizados para el entrenamiento
de la red neuronal, se identifican y categorizan de acuerdo a su ndice de
recurrencia. Una vez procesados todos los registros, se categorizan las
anomalas encontradas y se procede a realizar las sugerencias de mejora al
sistema elctrico analizado.
Flujo Alternativo:
1. No se identifican patrones de falla, por lo que se sugiere realizar una
nueva medicin y realizar el proceso de anlisis nuevamente, para
descartar errores en la captura de los datos.
2. Segn las anomalas detectadas, se utilizan sub redes especializadas
para cada tipo de anomala con la finalidad de determinar con mayor
detalle, las causas de la falla detectada y orientar de mejor manera al
consultor en su posible solucin.
7/23/2019 Red Neuronal Codigo C#
69/114
55
Post Condiciones:
Detalle de las recomendaciones realizadas por el sistema.
7.2 Diagrama de Clases de Base de Objetos
De acuerdo a los requerimientos obtenidos, se identificaron las siguientes
clases y sus relaciones:
Figura 18. Diagrama de clases de Base de Objetos.
0..*
1..1
1..1
1..1
0..*
1..1
1..*
1..1
Cliente
------
RutNombreDireccionGiroTelefonoMail
: int: string: string: string: string: string
Auditoria
---
------
FechaBancoCondensadoresGHP
MallaBTMallaMTMedicionesPotenciaSuministroTarifa
: DateTime: int: int
: int: int: Medicion: int: int: int
Medicion
--------
FechaInicioFechaFinAnomaliasIntervaloUnidadStat1Stat2TotalRegistros
: int: int: int: int: int: int: int: int
Registro
------
VoltajeCorrientePotenciaEnergiaAparenteEnergiaReactivaFactorPotencia
: int: int: int: int: int: int
Consultor
-----
FechaCertificacionRutMailNombreProfesin
: DateTime: int: int: int: int
NeuralNetwork
7/23/2019 Red Neuronal Codigo C#
70/114
56
Para la implementacin de la red neural, se establecieron las clases siguiendo
los patrones de implementacin definidos en [Kirirlov2005], la cual provee laestructura necesaria para la construccin de red neuronal con sus capas y
nodos correspondientes.
Se implementaron las funciones de activacin sigmoidal y sigmoidal bipolar
para la realizacin de las pruebas de comportamiento de la red utilizando
ambas configuraciones en el proceso de construccin.
Para el proceso de aprendizaje supervisado se implement la clase Back
Propagation, la cual contiene la implementacin del mtodo de propagacin de
error hacia atrs.
7/23/2019 Red Neuronal Codigo C#
71/114
57
Figura 19. Diagrama de clases Red Neuronal
function
*neurons
*layers
network
ActivationLayer
+ indexerActivationNeuron
...
Activatio
#
#++
...
ActivationNetwork
+ indexerActivationLayer
...
BackPropagationLearning------++
networklearningRatemomentumneuronErrorsweightsUpdatesthresholdsUpdatesLearningRateMomentum
...
BipolarSigmo
-+
7/23/2019 Red Neuronal Codigo C#
72/114
7/23/2019 Red Neuronal Codigo C#
73/114
59
Nombre
Asociacin Descripcin Multiplicidad
Solicita
Auditoria
El cliente solicita la ejecucin de unaauditoria, con lo cual se crea unanueva instancia de la clase auditoria yse le asigna al cliente
0..*
Consultor
EncargadoAl momento de crear una claseauditoria esta debe tener un consultorencargado de la ejecucin de la misma
1..*
Mediciones
Realizadas
Proceso mediante el cual se realizanmediciones a las instalacioneselctricas de los clientes con lafinalidad de determinar la existencia deanomalas.
0..*
Registros
capturadosLos registros importados desde elarchivo Excel pertenecen a unamedicin.
1..1
Tabla 4. Detalle de asociaciones.
7/23/2019 Red Neuronal Codigo C#
74/114
7/23/2019 Red Neuronal Codigo C#
75/114
61
Nombre Atributo Tipo Descripcin
Rut entero Rol nico Nacional delconsultor
Nombre alfanumricoNombre del consultor
Fecha
Certificacinfecha Fecha del ltimo certificado
obtenido por el consultor,emitido por el INN
Profesin alfanumricoTitulo del consultor
Tabla 6. Detalle de atributos clase Consultor
7/23/2019 Red Neuronal Codigo C#
76/114
62
Nombre Atributo Tipo Descripcin
Fecha fecha Fecha de inicio de laauditoria
Banco de
Condensadoresentero Potencia del banco de
condensadores, si este noexiste el valor es 0
GHP booleano Indica si existe generacinpropia en las horastipificadas como de punta
Malla BT entero
Capacidad de la malla de
proteccin para losconsumos en baja tensin,si esta no existe el valor es0
Malla MT entero
Capacidad de la malla deproteccin para losconsumos en mediatensin, si esta no existe elvalor es 0
Mediciones Medicin Conjunto de medicionespertenecientes a una
auditoriaPotencia entero Potencia contratada alsuministro pblico de
energa
Suministro alfanumricoIndica si la energa esprovista por un proveedorpublico o generada enforma particular
Tarifa alfanumrico Indica la tarifa contratada alproveedor de energapblico.
Tabla 7. Detalle de atributos clase Auditoria
7/23/2019 Red Neuronal Codigo C#
77/114
63
Nombre Atributo Tipo Descripcin
Fecha Inicio fecha Fecha en la que se inicio lacaptura de los datoselctricos
Fecha Fin fecha Fecha en que se captura elltimo registro
Anomalas doubleDetalle de anomalas porcada uno de los registroscorrespondientes a lamedicin
Intervalo entero Unidad numrica delintervalo en que soncapturados los datos
Unidad alfanumrico Indica si el intervalocorresponde a minutos osegundos
Stat1 registro
Arreglo en donde seguardan las mediciones en
donde se registran losmnimos y mximos de lasvariables analizadas
Stat2 doubleArreglo en donde se guardael promedio y la desviacinestndar de cada una delas variables capturadas.
Total Registros entero Nmero total de registroscapturados
Tabla 8. Detalle de atributos clase Medicin
7/23/2019 Red Neuronal Codigo C#
78/114
7/23/2019 Red Neuronal Codigo C#
79/114
65
8 CONSTRUCCIN
8.1 Definicin de Arquitectura
Se utilizo como base para el diseo de la arquitectura de la aplicacin lo
planteado en [Lhotka2005] y se ha definido una arquitectura compuesta por tres
capas, las cuales se detallan en el siguiente diagrama:
Figura 20. Capas de Arquitectura de la Aplicacin.
7/23/2019 Red Neuronal Codigo C#
80/114
66
Cabe destacar que entre las capas solo existe traspaso de objetos, esto gracias
a la implementacin de todas las capas con tecnologas orientadas a Objetos.
8.2 Anlisis estadstico de la medicin y pre condiciones de bsqueda de
anomalas.
Se utiliz como base del desarrollo el procedimiento seguido por el consultor, el
cual mediante el anlisis de la informacin estadstica bsica, determinaba
primeramente las posibles anomalas, tras lo cual, proceda a revisar
detalladamente los 6.000 registros capturados, considerando las 24 variables
para indicar la presencia de una anomala puntual, en un momento determinado
por la fecha y hora del registro analizado.
En la aplicacin se implement un procedimiento que, posterior a la importacin
de los datos, se procesan stos y se determinan los valores: mximos,
mnimos, media aritmtica y desviacin estndar por cada una de las variables
analizadas. Se utiliz este mtodo como una forma de descartar informacin
que no tenga relevancia en el anlisis posterior asistido por las redes
neuronales, ya que como se indica en [Isasi2004], se debe identificar
claramente la informacin mediante la ejecucin de un anlisis previo, las
variables que aportarn informacin a la red y cules no.
7/23/2019 Red Neuronal Codigo C#
81/114
67
8.3 Redes Neuronales utilizadas en el anlisis
Para la implementacin de las redes neuronal se selecciono como estructura
base, una red de perceptrones con multicapas, basada en la teora expuesta en
[Isasi2004], con la implementacin del algoritmo de retroalimentacin hacia
atrs o Back Propagation, en el cual el error registrado en la capa de salida es
propagado hacia atrs para la correccin de los pesos correspondientes a las
neuronas de cada una de las capas ocultas.
Como funcin de activacin se utilizaron el sigmoide y el sigmoide bipolar, cuya
diferencia est en el recorrido de cada una. Ambas cumplen con la condicin de
ser continuamente diferenciable [Sierra2006].
Para cada caso se implementaron pruebas con cada una de ellas.
Funcin Sigmoidal
() 11 +
Funcin Sigmoidal Bipolar
()1
1 +
Figura 21. Funciones de activacin del perceptron multicapa.
7/23/2019 Red Neuronal Codigo C#
82/114
7/23/2019 Red Neuronal Codigo C#
83/114
69
0 5% 0
1 5% 1 2 5% 2
3 3
4 4
5 5
6 6
7 7
8
9 3% /
10 3% /
11 3% /
12 3% /
13 30% /
14 30% /
15 /(+) 40%
16 /(+) 40%
17 /(+) 40%
18 70%
19
20
7/23/2019 Red Neuronal Codigo C#
84/114
70
Para determinar la optima configuracin de la red neuronal, as como el numero
de neuronas en la capa oculta, se utilizaron 5 configuraciones distintas,utilizando el mtodo de ensayo- error definido en [Madan2005] .
Para todas las configuraciones se utilizaron los siguientes parmetros en
comn:
Learning rate: 0.1
Momentum: 0.1
Iteraciones: 1.000
Set de entrenamiento: 1.000
Se precedi a entrenar cada una de las configuraciones, obteniendo el error del
proceso de entrenamiento expuesto a continuacin:
1 2 3 4 5
16 60 19 10 15
Tabla 11 Configuraciones de Red Neuronal 1.
7/23/2019 Red Neuronal Codigo C#
85/114
71
Figura 22. Error en entrenamiento de distintas configuraciones de la red
neuronal 1.
Se realizaron tres procesos independientes de entrenamiento con cada una de
las configuraciones para asegurar el error obtenido posterior a la ejecucin de
cada uno de los procesos.
El error final registrado para cada una de las configuraciones fue el siguiente:
0
100
200
300
400
500
600
700
0 100 200 300 400 500 600 700 800 900 1000
1
2
3
4
5
7/23/2019 Red Neuronal Codigo C#
86/114
72
Conf 1 Conf 2 Conf 3 Conf 4 Conf 5
4,765449 712,00 460,3868 0,558455 2,111243
Tabla 12. Error en la iteracin nmero 1.000 del proceso de entrenamiento
de la red neuronal 1.
Por lo demostrado en el entrenamiento de cada una de las configuraciones, se
ha seleccionado la configuracin nmero 4, como la ms adecuada para las
caractersticas del problema.
8.3.2 Red Neuronal 2. Deteccin y clasificacin de anomalas.
Se defini una red neuronal que contar con la capacidad de identificar y
clasificar anomalas presentes en las instalaciones en donde fueron capturados
los registros analizados.
La necesidad de esta implementacin, y objetivo principal de este seminario,
est dada por la complejidad del anlisis debido a la combinacin de
componentes en cada uno de los diversos tipos de fallos as como la nula
estandarizacin en los procedimientos de identificacin de los patrones de
anomalas.
7/23/2019 Red Neuronal Codigo C#
87/114
7/23/2019 Red Neuronal Codigo C#
88/114
7/23/2019 Red Neuronal Codigo C#
89/114
75
Tabla 15. Error en entrenamiento de distintas configuraciones de la red
neuronal 2.
Se realizaron tres procesos independientes de entrenamiento con cada una de
las configuraciones para asegurar el error obtenido posterior a la ejecucin de
cada uno de los procesos.
El error final registrado para cada una de las configuraciones fue el siguiente:
0
100
200
300
400
500
600
700
0 100 200 300 400 500 600 700 800 900 1000
1
2
3
4
5
7/23/2019 Red Neuronal Codigo C#
90/114
76
Conf 1 Conf 2 Conf 3 Conf 4 Conf 5
5,422242 81,04997 5,894396 5,817642 2,642332
Tabla 16. Error en la iteracin nmero 1.000 del proceso de entrenamiento
de la red neuronal 2.
Segn el anlisis expuesto, la configuracin de red neuronal que ms se
adeca a las condiciones del problema es la nmero 5.
7/23/2019 Red Neuronal Codigo C#
91/114
77
8.3.3 Sub Redes especializadas
Se configuraron adicionalmente dos redes para los diagnsticos asociados con
el Banco de Condensadores y Gestin de Consumos.
Estas redes cuentan con la capacidad de realizar 4 sub diagnsticos para cada
una de las areas sealadas haciendo un segundo anlisis de las entradas de
la Red Neuronal 2.
Se adopt esta modalidad de implementacin debido a los diversos factores
asociados a cada uno de los diagnsticos que, de acuerdo a las pre
condiciones dadas, implican resultados diversos.
Se implementaron ambas sub redes con funciones de activacin sigmoidales y
los patrones de entrenamiento consistieron en el sub conjunto de patrones
extrados de la muestra principal utilizada para el entrenamiento de la Red
Neuronal 2.
7/23/2019 Red Neuronal Codigo C#
92/114
78
9 INTERFAZ DE USUARIO
Se dise la interfaz de usuario de acuerdo a los requerimientos presentados
por los consultores, poniendo especial nfasis en la disposicin de la
informacin y la validacin de la informacin ingresada.
Como gua del desarrollo de la interfaz, se utiliz como base las definiciones de
[Ambler2005], de las cuales a continuacin se exponen las principales:
La Estructura: Las interfaces se deben organizar de acuerdo al propsito de
las mismas utilizando modelos claros y consistentes as como familiares para el
usuario.
La Simplicidad: El diseo debe ser simple, tareas comunes de simple
ejecucin, manteniendo la comunicacin con el usuario en su propio lenguaje.
Se utilizaron los colores institucionales para el diseo de las interfaces.
La Retroalimentacin: Se debe mantener informados a los usuarios respecto
de cambios de estado o condicin, sin caer en redundancia de informacin.
La Reusabilidad: El diseo debe reusar componente internos y externos,
manteniendo la consistencia en toda la aplicacin, reduciendo as la necesidad
del cliente de recordar o repensar el comportamiento de la interfaz.
7/23/2019 Red Neuronal Codigo C#
93/114
79
Durante el proceso de elaboracin se realizaron tres prototipos de interfaces,
los cuales fueron validados por los usuarios y a continuacin se exponenalgunas capturas de los formularios definitivos del sistema.
Figura 23. Interfaz de Usuario Ingreso/Edicin de Cliente
7/23/2019 Red Neuronal Codigo C#
94/114
80
Figura 24. Interfaz de Usuario Creacin de Auditora
7/23/2019 Red Neuronal Codigo C#
95/114
81
Figura 25. Interfaz de Usuario Ingreso/validacin patrones de anlisis.
7/23/2019 Red Neuronal Codigo C#
96/114
82
Figura 26 Interfaz de Usuario Proceso entrenamiento Redes Neuronales
7/23/2019 Red Neuronal Codigo C#
97/114
83
Figura 27. Interfaz de Usuario Generacin/Visualizacin de Reportes
7/23/2019 Red Neuronal Codigo C#
98/114
84
10 PRUEBAS
Segn la definicin inicial del Plan de Pruebas, se desarrollaron las siguientes
actividades en cada una de las respectivas etapas del desarrollo:
Inicio:
Segn la definicin de requerimientos realizada en el modelo del dominio, se
verific el cumplimiento de las condiciones tcnicas predefinidas y se validaronlos requerimientos como los bsicos de la primera iteracin segn lo definido en
la metodologa.
Elaboracin:
Se implement un prototipo de la funcin de importacin de los datos desde la
hoja Excel para validar las condiciones tcnicas de Db4o como motor de Base
de Objetos de la Aplicacin.
Se comprob la persistencia de los objetos al realizar inserciones y
recuperaciones de las estructuras de las redes neuronales definidas en la
aplicacin, las cuales se desarrollaron en completa conformidad.
7/23/2019 Red Neuronal Codigo C#
99/114
85
Construccin:
En esta etapa se utiliz la IDE de Visual Studio 2008 .Net que incorpora los
elementos necesarios para la ejecucin y seguimiento de las pruebas de
unidad.
A continuacin se expone el resultado de la ejecucin del test de unidad de la
clase MedicinHelper, correspondiente a la capa de negocios de la aplicacin.
Debido a la dependencia de datos, se cre un set de datos para cada una de
las clases testeadas, el cual fue manejado de manera independiente a los
utilizados en las pruebas posteriores correspondientes a la fase de transicin.
7/23/2019 Red Neuronal Codigo C#
100/114
86
Figura 28. Reporte de Visual Studio para pruebas de unidad
7/23/2019 Red Neuronal Codigo C#
101/114
87
Transicin:
Se valido en conjunto con los usuarios, el cumplimiento de los requisitos, as
como tambin se ejecutaron test de integracin, en los cuales se evidenci el
correcto funcionamiento del prototipo.
Para las pruebas del funcionamiento de las redes neuronales, se utilizo un set
de pruebas distinto al utilizado en el acondicionamiento inicial de las mismas
para evitar el sobre entrenamiento de la red y descartar la existencia de
mnimos locales. Estas pruebas se realizaron siguiendo los parmetros
definidos en [Krse1996].
7/23/2019 Red Neuronal Codigo C#
102/114
88
11 CONCLUSIONES Y RECOMENDACIONES
Dados los lineamientos inciales del problema presentado por la empresa
Eficiencia Energtica Integral, el alumno consider enfrentar el desarrollo por
dos areas principales: El estudio del peso especfico de la informacin a
procesar y su relacin con las anomalas elctricas posibles de identificar por el
reconocimiento de patrones, as como las diversas condiciones elctricas
presentes en los distintos ambientes industriales.
Este anlisis previo, junto a las caractersticas aportadas por la metodologa
respecto a la inclusin del cliente en las tareas propias del desarrollo del
software, permitieron al alumno lograr un cabal cumplimiento de los objetivos
planteados.
Las redes neuronales aportan un gran potencial a las caractersticas dinmicas
de herramienta final, ya que provee una solucin cercana a las condiciones de
las actividades desarrolladas por EEI, que por ser una empresa pionera en la
regin y pertenecer al selecto grupo de empresas certificadas por el Instituto
Nacional de Normalizacin, aporta da a da al estudio de la Eficiencia
Energtica en la Industria Nacional.
Este proyecto tambin ha permitido a EEI, optimizar el uso de sus recursos,
acortando el tiempo de desarrollo de sus auditoras y permitindole dar una
mejor atencin a sus clientes por medio del desarrollo in-situ de los informes
7/23/2019 Red Neuronal Codigo C#
103/114
89
finales de sus auditoras, condicin que previo a la implementacin del Software
de Anlisis Elctrico, era realizada en los das posteriores a la captura de lainformacin.
Como recomendacin general al proyecto, el alumno ha identificado las
siguientes:
Dadas la caractersticas del prototipo desarrollado, queda la posibilidad de
implementar la interfaz de usuario en formato Web, y con el desarrollo de
algunas aplicaciones de gestin energtica, que posibilitara al cliente auto
gestionar energticamente su empresa, siguiendo los lineamientos entregados
por EEI.
Identificando la tecnologa disponible en el mercado respecto a equipos de
monitoreo elctrico, cabe sealar como nueva rea de desarrollo, la
implementacin de un sistema de deteccin de anomalas elctricas On-line, el
cual permitira anticipar de acuerdo a los patrones previamente definidos
posibles condiciones crticas y anticipar y programar actividades de mantencin
en equipamiento de vital importancia en los diversos procesos productivos.
7/23/2019 Red Neuronal Codigo C#
104/114
90
12 BIBLIOGRAFA
[Isasi2004] Isasi Viuela, P; Galvn Len, I.M. Redes de Neuronas
Artificiales, Un enfoque Practico. Pearson. Primera Edicin.
2004.
[Deitel2006] Deitel, H.M; Deitel, P.J. Visual C# 2005, How to Program.
Pearson. Second Edition. 2006
[Larman2003] Larman, C. UML y Patrones. Una introduccin al anlisis y
diseo orientado a objetos y al proceso unificado. Pearson.
Segunda Edicin.2003.
[Nilsson2005] Nilsson,J.W; Riedel,S.A. Circuitos Elctricos. Pearson.
Sptima Edicin. 2005.
[Ambler2003] Ambler, Scott W. Agile DatabaseTechniques: Effective
Strategies for the Agile Software Developer. Wiley
Publishing, Inc. 2003
[Ambler2005] Ambler, Scott W. The Agile Unified Process (AUP).
Disponible en
http://www.ambysoft.com/unifiedprocess/agileUP.html,
Septiembre 2005.
7/23/2019 Red Neuronal Codigo C#
105/114
91
[Madan2003] Madan, Gupta.Static and Dynamic Neural Networks: From
Fundamentals to Advanced Theory. Wiley Inc. 2003
[Kirillov2008] Kirillov, Andrew .AForge Proyect.
Disponible en
http://code.google.com/p/aforge/
Agosto 2008.
[Krse1996] Krse,Ben. An Introduccin to Neural Network. University of
Amsterdam. Eighth Edition. 1996.
7/23/2019 Red Neuronal Codigo C#
106/114
7/23/2019 Red Neuronal Codigo C#
107/114
93
actual = target.Total;Assert.AreEqual(target.Total, actual);
}
///A test for Mediciones[TestMethod()]publicvoidMedicionesTest(){
MedicionHelpertarget = Medicion;List actual;actual = target.Mediciones;Assert.AreEqual(actual, target.Mediciones);
}///A test for Intervalo[TestMethod()]publicvoidIntervaloTest()
{ MedicionHelpertarget = Medicion;intactual;actual = target.Intervalo;Assert.AreEqual(actual, target.Intervalo);
}///A test for Inicio[TestMethod()]publicvoidInicioTest(){
MedicionHelpertarget = Medicion;DateTimeactual;actual = target.Inicio;Assert.AreEqual(target.Inicio, actual);
}///A test for Fin[TestMethod()]publicvoidFinTest(){
MedicionHelpertarget = Medicion;DateTimeactual;actual = target.Fin;Assert.AreEqual(actual, target.Fin);
}///A test for SobrePotCon[TestMethod()]publicvoidSobrePotConTest()
{MedicionHelpertarget = Medicion;MedicionHelperActual;intPotCont = 0;Actual = Medicion;Actual.SobrePotCon(PotCont);target.SobrePotCon(PotCont);Assert.AreEqual(Actual, target);
7/23/2019 Red Neuronal Codigo C#
108/114
94
}
///A test for SobreCarga
[TestMethod()]publicvoidSobreCargaTest(){
MedicionHelpertarget = Medicion;Medicion.SobreCarga();target.SobreCarga();Assert.AreEqual(target, Medicion);
}///A test for SecuenciaFases[TestMethod()]publicvoidSecuenciaFasesTest(){
MedicionHelpertarget = Medicion;
target.SecuenciaFases();Medicion.SecuenciaFases();Assert.AreEqual(target, Medicion);
}///A test for Normativo[TestMethod()]publicvoidNormativoTest(){
MedicionHelpertarget = Medicion;target.Normativo();Medicion.Normativo();Assert.AreEqual(target, Medicion);
}///A test for GuardaAnomalias[TestMethod()]publicvoidGuardaAnomaliasTest(){
MedicionHelpertarget = Medicion;target.GuardaAnomalias();Medicion.GuardaAnomalias();Assert.AreEqual(target, Medicion);
}///A test for Estadistico[TestMethod()]publicvoidEstadisticoTest(){
MedicionHelpertarget = Medicion;target.Estadistico();Medicion.Estadistico();Assert.AreEqual(target, Medicion);
}///A test for EnergiaReac[TestMethod()]publicvoidEnergiaReacTest()
7/23/2019 Red Neuronal Codigo C#
109/114
95
{MedicionHelpertarget = Medicion;target.EnergiaReac();
Medicion.EnergiaReac();Assert.AreEqual(target, Medicion);
}///A test for DesbalanceTension[TestMethod()]publicvoidDesbalanceTensionTest(){
MedicionHelpertarget = Medicion;doubledt = 0.03;target.DesbalanceTension(dt);Medicion.DesbalanceTension(dt);Assert.AreEqual(target, Medicion);
}
///A test for DesbalanceCargas[TestMethod()]publicvoidDesbalanceCargasTest(){
MedicionHelpertarget = Medicion;doubledc = 0.3;target.DesbalanceCargas(dc);Medicion.DesbalanceCargas(dc);Assert.AreEqual(target, Medicion);
}///A test for CorrientesNeutro[TestMethod()]publicvoidCorrientesNeutroTest(){
MedicionHelpertarget = Medicion;target.CorrientesNeutro();Medicion.CorrientesNeutro();Assert.AreEqual(target, Medicion);
}[TestMethod()]publicvoidMedicionHelperConstructorTest1(){
MedicionHelpertarget = newMedicionHelper();Medicion = newMedicionHelper();Assert.AreEqual(target, Medicion);
}}
}
Figura 29. Implementacin de Test Clase MedicionHelper
7/23/2019 Red Neuronal Codigo C#
110/114
96
publicvoidSobreCarga(){
doublel1 = 0, l2 = 0, l3 = 0, l4 = 0, l5 = 0, al5 = 0,a7=0;
intIndAnom = 0;doubledes1 = 0, des2 = 0, des3 = 0;double[] PASS= newdouble[7];boolflag = false;List col = MedicionDb.GetAll;Medicion.SetAnomalias();
foreach(RegistroDbi incol){
al5 = (l1 + l2 + l3 + l4 + l5) / 5;if((al5 + (Medicion.Stat2[1][10] / 2)) < i.TW& al5>0)
{ a7 = 1-(al5/i.TW);PASS = Medicion.GetAnom(IndAnom);PASS[6] = a7;Medicion.SetAnom(IndAnom, PASS);
}
l1 = i.TW;l2 = l1;l3 = l2;l4 = l3;l5 = l4;IndAnom++;
}
}
Figura 30. Implementacin de anlisis de sobre carga.
7/23/2019 Red Neuronal Codigo C#
111/114
97
publicBackPropagationLearning( ActivationNetworknetwork ){
this.network = network;
// Creacin de error y arreglo deltaneuronErrors = newdouble[network.LayersCount][];weightsUpdates = newdouble[network.LayersCount][][];thresholdsUpdates = newdouble[network.LayersCount][];
// Se inicializa el error y los arreglos delta en cada capafor( inti = 0, n = network.LayersCount; i < n; i++ ){
Layerlayer = network[i];
neuronErrors[i] = newdouble[layer.NeuronsCount];weightsUpdates[i] = newdouble[layer.NeuronsCount][];
thresholdsUpdates[i] = newdouble[layer.NeuronsCount];
// para cada neuronafor( intj = 0; j < layer.NeuronsCount; j++ ){
weightsUpdates[i][j] = newdouble[layer.InputsCount];}
}}
Figura 31. Implementacin mtodo de aprendizaje Back Propagation