Avance Pnz.docx
-
Upload
ludi-alvarez -
Category
Documents
-
view
66 -
download
0
Transcript of Avance Pnz.docx
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
FACULTAD DE INGENIERIA DE SISTEMAS E INFORMÁTICA
Sistema de estimación del consumo de gas natural basado en redes neuronales artificiales
ALUMNA
Nuñez Zender Pamela
ASESOR
Hugo Vega Huerta
Lima – Perú
2012
Resumen
La tesis presenta una investigación sobre la estimación del consumo de gas natural
utilizando redes neuronales. Se ha considerado como caso de estudio a la empresa Peruana
de gas natural, cuyo negocio principal es la venta de gas natural.
1
Se comenzará con los aspectos técnicos y teóricos que sustentan la presente tesis y la
metodología de trabajo para su desarrollo.
También se describirán las ventajas que se obtiene con la predicción de ventas en una
empresa así como los recursos necesarios para la implementación de este proyecto.
2
Tabla de contenido
VISIÓN DEL PROYECTOIntroducciónDefinición del problema
El negocio Descripción del problema
Fundamentación del problema Marco teórico
Definición de la demandaFactores determinantesPronóstico de ventasMétodos de pronósticoMétodos cuantitativosAnálisis de series de tiempoMétodos cuantitativosInteligencia artificialSistema ExpertoNeurona biológicaRedes neuronales artificialesPerceptron multicapa
Estado del arteRedes Neuronales Artificiales en predicción de Series de Tiempo: Una Aplicación a
la Industria Sistema de pronóstico de la demanda de productos farmacéuticos basado en redes
neuronales artificialesSistema híbrido para pronosticar demandas de producto de telecomunicaciones
Objetivo generalObjetivos específicos
Beneficios del proyectoBeneficios tangiblesBeneficios intangibles
Alcance del proyectoConclusiones
MODELADO DEL NEGOCIOIntroducción Reglas del negocioCasos de uso del negocioConclusiones
REQUERIMIENTOS DEL PROYECTOIntroducciónRequerimientos del software
Relación de requerimientosEspecificación de requerimientos
Casos de uso del sistemaDiagrama de actores del sistemaDiagrama de paquetesCasos de uso del sistema (CUS)
Relación de los CUSDiagrama de los CUSEspecificación de los CUS
MODELO CONCEPTUAL DEL SISTEMABENCHMARKING
3
PROTOTIPOS DE LA SOLUCIONCONCLUSIONES
BIBLIOGRAFIA
4
Introducción
La estimación de la demanda/consumo constituye el fundamento para cualquier
planeación de productos o servicios que se requieran fabricar, comprar o vender. Si
las organizaciones cuentan con un pronóstico altamente eficiente (es decir que se tiene
la mínima variación entre el valor pronosticado y valor real en un periodo de tiempo),
contarán con un nivel de artículos disponibles más sano, que proporcionará a las
compañías mayor flexibilidad para el cumplimiento de pedidos, lo que incrementará el
nivel de servicio y por consiguiente la satisfacción por parte del cliente.
Pronosticar la demanda futura que tendrá algún producto o servicio, (lo cual implica
el nivel de éxito de la compañía), se ha caracterizado por ser una actividad sumamente
riesgosa y atrevida. La principal razón es la gran incertidumbre y la falta de información
que caracteriza a las etapas de diseño, creación y desarrollo de este tipo de productos.
La falla más importante en el proceso de lanzamiento de un producto ha resultado ser
la estimación errónea del potencial del mercado meta, de la rapidez de su aceptación o
difusión y, por lo tanto, de las ventas del producto.
En un inicio los pronósticos de demandas se elaboraban por expertos que realizaban
el análisis de un simple crecimiento sobre resultados anteriores mostrados en reportes
históricos de ventas (instinto y experiencia). Luego, se pasó a utilizar métodos
estadísticos convencionales (lineales) tales como los modelos básicos de regresión, el
Análisis de Series de Tiempo, etc. Estos métodos estadísticos convencionales usan en
general determinados parámetros o datos asociados a períodos de tiempo cuya relación
con la previsión de demanda es complicada; la realidad es que muchos de los que
toman decisiones en el campo de la previsión de demanda lo hacen basándose en sus
instintos y experiencias, las cuales son utilizadas para valorar el impacto de campañas
promocionales, de introducción de nuevos productos u otros. Por muchos años, este tipo
de análisis ha estado dominado por la utilización de métodos estadísticos lineales que
se pueden implementar de manera conveniente; sin embargo, la existencia de relaciones
no lineales entre los datos muchas veces limitaron la aplicación de estos modelos. La
idea de utilizar RNA en pronóstico de series de tiempo fue aplicada por primera vez en
5
1964 cuando Hu utilizo una RNA lineal adaptable de Widrow para el pronóstico del
clima. Debido a la ausencia de un algoritmo de entrenamiento para RNA multicapa en
el tiempo, la investigación quedó limitada. En 1974 Werbos formuló primero la retro
propagación pero no fue conocido por los investigadores en RNAs. A partir de 1986
cuando el algoritmo de retro propagación fue introducido por Rumelhart, el desarrollo de
RNAs para pronóstico de series de tiempo ha ido en incremento. Werbos reportó que la
RNAs entrenada por retro propagación supero el desempeño de los métodos estadísticos
tradicionales tales como los procedimientos de regresión y BoxJenkins en varios casos.
En años recientes, las RNAs han llegado a ser muy populares en el pronóstico de series
de tiempo en un gran número de las áreas incluyendo finanzas, generación de energía,
medicina, recursos del agua y ciencia ambientales, entre otras.
Actualmente, las redes neuronales artificiales son una de las técnicas más usadas para
la resolución de pronósticos debido a sus óptimos resultados y su fácil metodología de
resolución, es así que se pueden encontrar muchos trabajos sobre este tema.
6
Visión del proyecto
Introducción
Para el final del presente proyecto, la empresa Peruana de gas natural contará con un
sistema que le permitirá estimar el consumo de gas natural en cada una de sus estaciones
de servicio. Esta estimación será más precisa que la que se realiza de manera manual, ya
que el sistema brindará un menor margen de error.
La ventaja proporcionada por este sistema permitirá que la empresa pueda saber el
comportamiento que tendrá las ventas en un determinado periodo y de acuerdo a ellos
tomar las decisiones más convenientes.
Definición del problema
El negocioPeruana de Gas Natural (Pgn) es una empresa dedicada a la comercialización de
gas natural vehicular, fue creada en el año 2005 mediante la alianza estratégica de
dos grandes empresas; Pecsa, la cadena más grande de Estaciones de Servicio del
Perú y Terpel de Colombia, una de las principales compañías de hidrocarburos de
Latinoamérica.
Tiene como misión: “Desarrollar integralmente el negocio de gas natural vehicular
a través de propuestas que agreguen valor a sus accionistas, colaboradores,
clientes y a la sociedad”
Tiene como visión: “Ser la empresa líder del sector y la mejor cadena de gas
natural vehicular del Perú, reconocida por ser una empresa innovadora, enfocada
en el cliente y comprometida con el desarrollo social del país”
Actualmente Pgn cuenta con 40 estaciones de servicio distribuidas en más de 20
distritos de la capital, además que también abastece de GNV a las flotas de buses
7
del Metropolitano; convirtiéndose así, en la red más grande de estaciones de GNV
en el país.
Descripción del problemaSe pretende resolver el problema de la estimación inexacta del consumo de gas
natural respecto a la demanda real.
La dificultad del problema se encuentra en el cálculo del pronóstico dentro de
un ambiente imprevisto que proyecta una tasa de error relativamente alta ante
los resultados obtenidos en la realidad, esto debido al uso de herramientas de
pronóstico informales que utilizan métodos cualitativos basados básicamente en la
opinión, experiencia, intuición o simplemente recurren a la consulta de un experto.
Para la empresa, sobre todo para el área comercial y la gerencia, es muy
importante poder tener una estimación del consumo en un determinado mes, ya
que esto les permitirá saber si las ventas serán favorables y podrán cumplir con
el presupuesto de cada estación; o en caso contrario, de que manera deberán
comportarse para lograrlo (ya sea mediante promociones, manejo de precios,
competencia, etc.).
Fundamentación del problema
Marco teórico
Definición de la demanda
“La demanda se refiere a las cantidades de una bien que las personas están
dispuestas a (y en capacidad de) adquirir a diferentes precios, durante un
periodo determinado, y suponiendo que otras condiciones del mercado
permanezcan constantes. Un análisis más detallado de esta definición revela
que consta de tres partes distintivas. La primera consiste en lo que se ha
llamado la ley de la demanda, la cual establece que existe una relación inversa
entre el precio del bien y la cantidad que se adquiere o consume del mismo.
Este es un hecho que se puede observar con relativa facilidad en la realidad
8
y que los economistas racionalizan en términos de dos efectos. Por ejemplo,
si el precio de un bien aumentara, y si el consumidor tuviera un presupuesto
limitado, la cantidad que podría adquirir del mismo seria menor que antes;
es decir, pareciera que el presupuesto del consumido hubiera sido reducido,
ya que su poder adquisitivo efectivamente disminuyo. A este fenómeno se le
denomina efecto ingreso. Sin embargo, el consumidor tiene otra opción que
podría permitirle contrarrestar el efecto negativo del aumento en el precio; esto
es, el (o ella) podría adquirir otro bien similar de menor precio que sustituya al
original. A este otro efecto se le denomina efecto sustitución. La combinación
del efecto sustitución y el efecto ingreso resulta una relación inversa entre el
precio y la cantidad consumida de un bien; es decir, la ley de la demanda.
La demanda representa un flujo de bienes y servicios; es decir, que estos
son adquiridos o consumidos en cierto periodo, por ejemplo, el numero de
automóviles por mes, numero de acciones por hora, cantidad de maíz por
año, etc. El periodo a utilizar depende del propósito que se de conseguir con
el proceso de toma de desaficiones y de la naturaleza del bien que se desea
analizar.
La relación inversa entre precio y cantidad, dentro de un periodo determinado,
ocurre mientras otros factores que también pueden afectar las decisiones de
consumo de las personas permanecen contrastes.” [12]
“La demanda de un producto mercado suele estar definida por la cantidad
vendida física o monetaria en un lugar y periodo dados. Desde la perspectiva
estratégica de Marketing y su base conceptual (la satisfacción de los deseos
y necesidades de las partes implicadas en las relaciones de intercambio), la
demanda está definida por Capacidad de reacción de un mercado potencial
antes unos estímulos y esfuerzos de Marketing concretos y limitada por las
condiciones actuales del entorno.
Según la dimensión de análisis utilizada, existen múltiples conceptos de
demanda, relacionados entre sí, correspondientes a distintas definiciones,
9
aunque integradas en el concepto general de demanda. Las dimensiones de
análisis de la demanda son:
Dimensión producto: que estudia las posibilidades de agregación de los bienes
y servicios comercializados y permite el reconocimiento de las demandas de
marca, de línea, de empresa y global.
Dimensión comprador: que especifica los potenciales conjuntos de
destinatarios o consumidores de los productos, base para la compresión
de la demanda individual, de segmentos, de mercado y total, así como su
utilidad final o intermedia con la denominada demanda primaria y demanda
derivada, respectivamente.
Dimensión espacial: que reconoce las limitaciones o extensiones de los
posibles consumos de los productos, diferenciando estratégicamente los
territorios y dando origen a los términos de demanda local, regional,
nacional, internacional, global.
Dimensión temporal: que considera el tiempo como variable de análisis,
originando los conceptos de demanda a corto, a medio y largo plazo.
Los distintos aspectos de las dimanadas generan múltiples combinaciones
que cada organización considera en función de sus objetivos estratégicos
para el análisis de la situación de los mercados. así para lanzar un nuevo
producto al mercado, la organización analiza la demanda global del mismo
tipo (demanda por producto) para conocer la potencialidad de su crecimiento,
considera también las diferentes formas de satisfacer las necesidades de un
grupo concreto de compradores o segmento (demanda por comprador) para
conocer su posicionamiento y venta competitiva en el mercado, así como el
ámbito geográfico del lanzamiento (demanda espacial) y tiene en cuenta la
posible demanda a corto y medio plazo (demanda temporal) a fin de conocer su
probabilidad de éxito en el mercado.” [13]
10
Factores determinantes“Muchos factores influyen para determinar lo que una persona decide consumir.
De hecho, existe una teoría desarrollada por varios economistas, entre ellos
Walras (1954), denominada teoría del equilibrio general, que en resumen
establece que el consumo de un bien es afectado por el consumo de todos
los demás bienes existentes en la economía. Dado que el análisis económico
dentro del contexto de esta teoría seria impráctico, al menos en lo que prefiere
al mundo de los negocios, se utilizara el principio desarrollado por Marshall
(1920) que se denomina teoría del equilibrio parcial, en el cual solo los
factores más importantes son considerados, y aquellos cuyos efectos sean
lo suficientemente pequeños como para influenciar de manera apreciable el
resultado final del análisis, son ignorados.
La lista no exhaustiva proporcionada incluye los principales factores que
determinan la cantidad demandada de un bien por el consumidor:
Precio propio del bien.Ingreso del consumidor.Precios de bienes relacionados.Expectativas de precios en periodos futuros.Gustos y preferencias.Tamaño del mercado.Promoción y publicidad.Otros.” [12]
“La variabilidad de la capacidad de respuesta de la demanda está en función
de un conjunto interrelacionado de factores determinantes, cuyas sinergias
pueden modificar las hipótesis comúnmente asumidas sobre la demanda, como
la tradicional influencia de tipo económico como renta y precios. En otras
ocasiones, el comportamiento habitual puede ser modificado por elementos
como la moda, la deseabilidad de los productos o su escasez o restricción para
el consumo y otros aspectos de tipo personal o social.
Los factores determinantes de la demanda se pueden clasificar en dos grandes
grupos dependiendo del grado de control que la empresa puede ejercer en su
11
estimulo sobre la demanda: factores bajo control y factores fuera de control
de la organización. A su vez, cada uno de estos grupos integra factores de
compradores, del entorno y de competencia, en el primer grupo y de Marketing
y de la empresa, en el segundo:” [13]
FACTORES FUERA DE CONTROL DE LA EMPRESA
FACTORES DE LOS COMPRADORES
Deseos, gustos y necesidades.Situación personal.Distribución geográfica y temporal.Capacidad de compra.Comportamiento de compra.
FACTORES DEL ENTORNO
Económicos. Tecnológicos.Legales.Ecológicos.Políticos.Sociales.Demográficos.
FACTORES DE COMPETENCIA
Clase y tipo de competidores.Actitud de los competidores actuales.Entrada de nuevos competidores.Acciones de Marketing de la competencia.
FACTORES BAJO CONTROL DE LA EMPRESA
FACTORES DE MARKETING
Producto. Precio.Distribución.Comunicación.Organización y coordinación de las acciones.
12
FACTORES DE LA EMPRESA
Estructura organizativa.Fortalezas y debilidades.Sistemas de información.Estilo directivo.Objetivos y misión organizacional.
Pronóstico de ventas“Es una predicción de "cuanto de un producto o servicio se puede vender de un
mercado dado un periodo definido. Se puede definir en dinero o en unidades. Si
se define en dinero, se llama pronóstico de ingresos, lo que también le será de
ayuda.
Si se determina claramente su segmento de mercado, y tiene suficiente
información sobre el mismo, algunos cálculos serán más objetivos (como el
pronóstico).
El pronóstico "representa la meta que se espera alcanzar mediante la
combinación de estrategias de mercadotecnia, de establecimiento de precios y
de ventas.” [14]
“El pronóstico tiene mucha importancia dentro de la administración de ventas,
en virtud de ser elemento básico de planeación para la toma de decisiones de un
Gerente de Ventas.
Al pronóstico de ventas se le define como un cálculo estimado de ventas para
un periodo determinado, con el fin de preparar un plan de comercialización.
Todos los departamentos de la empresa deben orientar su planeación alrededor
del pronóstico de ventas, es decir: producción, compras, finanzas y personal
utilizan el pronóstico para planear respectivas operaciones.
13
Se debe considerar los siguientes objetivos del pronóstico de ventas:
Fijar metas de ventas.Ayudar a la preparación del presupuesto de ventas.Ayudar a la preparación de los presupuestos de los demás departamentos de
la empresa.Administrar adecuadamente el departamento de ventas.” [15]
Métodos de pronóstico“Se dispone de varios métodos de pronóstico estandarizados, los cuales han sido
dividido en tres grupos: cualitativos, de proyección histórica y causal.
Métodos cualitativos: Utilizan el juicio, la intuición, las encuestas o técnicas
comparativas para generar estimados cuantitativos acerca del futuro. Generalmente,
la información utilizada es no cuantitativa, intangible y subjetiva. La información
histórica tal vez esté disponible o quizá no sea muy relevante para el pronóstico. La
naturaleza no científica de los métodos los hace difíciles de estandarizar y de validar su
precisión.
Métodos de proyección histórica: Cuando se dispone de una cantidad razonable de
información histórica y las variaciones de tendencia y estacionales en las series de
tiempo son estables y bien definidas, la proyección de esta información al futuro puede
ser una forma efectiva de pronóstico para el corto plazo. La premisa básica es que
el patrón del tiempo futuro será una réplica del pasado, al menos en gran parte. La
naturaleza cuantitativa de las series de tiempo estimula el uso de modelos matemáticos
y estadísticos como las principales herramientas de pronóstico.
Métodos causales: La premisa busca sobre las que se construyen los métodos causales
para pronósticos es que el nivel de variable pronosticada se deriva del nivel de otras
variables relacionadas. Por ejemplo, si se sabe que el servicio al cliente tiene un efecto
positivo sobre las ventas, entonces al conocer el nivel proporcionado del servicio al
cliente podrá proyectarse el nivel de las ventas. Se podría decir que el servicio "causa"
las ventas. En la medida que puedan describirse adecuadas relaciones de causa y
efecto, los modelos causales pueden ser bastante buenos ara anticipar cambios mayores
14
en las series de tiempo y para pronosticar de manera precisa un periodo de mediano a
largo.” [6]
“Dado que existen muchos métodos de pronósticos, es necesario comprender su
clasificación. Las categorías posibles incluyen:
Series de tiempo o causales.
A corto, mediano o largo plazo.
Cuantitativos o cualitativos: Estas categorías no son mutuamente excluyentes y, de
hecho, cualquier método particular puede describirse de varias formas.
Los métodos de análisis de series de tiempo utilizan solo datos históricos para la
variable que se pronostica. Al generar proyecciones al futuro, suponen de manera
implícita que lo que ha sucedido en el pasado proporciona información de lo que
va a suceder en el futuro. Se analizan los valores pasados de la variable que se está
pronosticando con objeto de hacer pronósticos del futuro.
Por otra parte, los métodos causales consideran los factores que influyen o están
relacionados con lo que se está pronosticando. Mientras que puede no haber una
relación causa-efecto directa, es típico que exista una relación lógica entre las variables
que se usan para generar el pronóstico y el pronóstico que resulta.
Cuando se piensa en los métodos de pronóstico, casi siempre vienen a la mente
diferentes métodos cuantitativos. Aunque varía su complejidad, todos emplean
modelos matemáticos que requieren datos para las variables independientes con objeto
de generar un pronóstico.
Por otra parte, los métodos cualitativos con frecuencia se usan para situación a largo
plazo, altamente inciertos.” [7]
Métodos cuantitativos“Los métodos cuantitativos necesitan de una serie histórica de datos. Entre estas
técnicas cuantitativas se encuentran las siguientes:
- Medidas móviles
- Alisados exponenciales
- Métodos de descomposición
15
- Ajuste a curvas conocidas
- Filtros adaptativos.
- Modelos ARIMA.
Las técnicas cuantitativas de pronóstico se subdividen, a su vez, en técnicas de series
de tiempo y causales. Las primeras suponen que la serie histórica tiene un patrón de
combinación de patrones que se repiten con el tiempo. Las segundas suponen que el
valor de una variable es función de otras variables.” [11]
Análisis de series de tiempo
“En una serie histórica de datos, conocida como serie de tiempo, existen cuatro
patrones básicos que pueden o no presentarse en la serie y que son fundamentales
para la selección de la técnica de pronósticos: la horizontalidad, la tendencia, la
estacionalidad y el ciclaje.
El patrón de tendencia existe cuando una serie histórica tiende a disminuir o aumentar
sus valores medios con el tiempo. Por ejemplo, el producto interno bruto, o la
generación de energía eléctrica de un país.
Cuando una serie de tiempo no tiene una tendencia determinada se dice que existe el
patrón de horizontalidad. La serie en este caso estacionaria. Un caso típico lo forma el
número de productos defectuosos en una línea de producción, que por lo general es una
constante de la misma.
El patrón de estacionalidad existe cuando una serie de tiempo fluctúa de acuerdo con
un factor que depende del periodo del año. Por ejemplo, la venta de refrescos aumenta
en los meses de calor y disminuye en los fríos. Las ventas de píldoras y vitaminas C
contra la gripe aumenta en la época de lluvias y disminuye en épocas secas.
El patrón cíclico es similar al de estacionalidad, pero las fluctuaciones ocurren más
lentamente.
Una serie de tiempo puede combinar los patrones de tendencia, ciclaje y
estacionalidad. Sin embargo, alguno de estos patrones puede dominar la serie: por
lo tanto, existen técnicas (de descomposición) que permiten identificar el elemento
dominante.
16
A estos cuatro patrones se agrega un elemento indeseable, pero que siempre existe, la
aleatoriedad de la observaciones. El valor real sería suma del patrón mas el elemento
aleatorio.” [11]
Métodos cualitativos
“Los métodos o técnicas cualitativas, que se basan, no en datos puramente
cuantitativos, sino en el juicio subjetivo de una persona o grupo de personas que
realizan un análisis sobre determinada situación, considerando o no la información que
se tenga sobre el pasado. Algunas de las principales técnicas que podría e encuadrarse
en este grupo, son:
Método Delphi.Análisis morfológico.Encuestas e investigaciones de mercado.Consenso de grupo.Teoría de la decisión.
En el método Delphi un grupo de expertos crean un panel de ideas, mediante la
respuesta a una serie de preguntas. El grupo de expertos crean un panel de ideas,
mediante la respuesta a una serie de preguntas. El grupo de expertos incorpora estas
respuestas a sucesivas fases de trabajo, estas respuestas no son conocidas entre las
diferentes personas preguntadas. Para homogeneizar las respuestas, estas se cuantifican
y se establecen las probabilidades de ocurrencia de los acontecimientos futuros o las
fechas en que pueden suceder. La realimentación de la información pretende guardar
la incomunicación entre los miembros del panel, ya que el anonimato es una de las
principales características del método.
El análisis morfológico, establece previsiones examinando los principales componente
de un fenómeno, identificando todos los posibles estados de cada elemento para
posteriormente determinar el número concreto de posibles combinaciones futuras de
los mismos. La probabilidad de ocurrencia de los acontecimientos puede ser utilizada
si se incorpora un carácter meramente exploratorio, como etapa precedente para otras
17
previsiones posteriores, o si se tomara como técnica normativa, establecer un orden de
posibles soluciones ante los problemas planteados.
Las encuestas e investigaciones de mercado, bien sea de intenciones, bien de actitudes,
incorporar el comportamiento o las expectativas de este. Considerando las respuestas
obtenidas, se pueden establecer las intenciones o índices de "sentimiento" con relación
a determinadas conductas futuras. Estas características hacen que las predicciones
sean, tal vez, mas útiles a corto que a largo plazo.
El consenso de grupos fomenta la comunicación de un grupo de personas,
generalmente expertos, en forma de discusión abierta para que lleguen a conclusiones
concretas sobre el futuro desarrollo de ciertos acontecimientos. Son utilizados
principalmente en previsión tecnológica, y por medio de los denominados comités
de dirección. La idea principal es que varios expertos pueden dar predicciones más
precisas que los individuos aisladamente.
La teoría de decisión donde se tienen diferentes criterios para varios estados de la
naturaleza, es otra herramienta que permite hacer previsiones. El método Electra I nos
dice que decisión debemos de tomar y el Electra II nos hace un ordenamiento cardinal
entre las decisiones.” [11]
Inteligencia artificial
“La IA es un campo de la ciencia y la ingeniería que se ocupa de la
comprensión, desde el punto de vista informático, de lo que denomina
comúnmente comportamiento inteligente. También se ocupa de la creación
de artefactos que exhiben este comportamiento. La Inteligencia Artificial
es el estudio de las ideas que permiten ser inteligentes a los ordenadores
(H. Winston).Parte de la informática que estudia procesos simbólicos,
razonamientos no algorítmicos y representaciones simbólicas del conocimiento
(B.G. Buchanan Y E.A. Feigenabaum)” [1]
18
“La inteligencia artificial es una rama de la informática que tiene como objetivo
tratar las funciones inteligentes complejas - por ejemplo, hacer un diagnostico
- o tratar inteligentemente funciones simples, como buscar un documento
mediante un sistema informático.
La inteligencia se define como "la facultad de comprender las relaciones
entre los hechos y las cosas"(Hachette enciclopedique, 1994). En otra
acepción, la inteligencia se refiere a la noción de entendimiento que hay en la
expresión "actuar inteligentemente".
La inteligencia artificial persigue, pues, dos objetivos: servirse de la máquina
para probar las funciones cognitivas del hombre e intentar reproducir los
mencionados mecanismos.” [2]
“Se puede definir la IA como una ciencia que tiene como objetivo el diseño y
construcción de maquinas capaces de imitar el comportamiento inteligente de
las personas. Una rama especializada de la Informática que investiga y produce
razonamiento por medio de maquinas automáticas y que pretende fabricar
artefactos dotados de la capacidad de pensar.” [3]
“Definitions of artificial intelligence according to eight recent textbooks are
shown in the table below.
"The exciting new effort to make computers think...machines with minds, in the full and literal sense" (Haugeland, 1985)"The automation of activities that we associate with human thinking, activities such as desicion-making, problem solving, learning..." (Bellman, 1978)
"The study of mental faculties through the use of computational models" (Charmiak and McDermott, 1985)"The study of the computations that make it possible to perceive, reason, and act" (Winston, 1992)
19
"The art of creating machines that perform functions that require intelligence when performed by people" (Kurzweil, 1990)"The study of how to make computers do things at which, at the moment, people are better" (Rich and Knight, 1991)
"A field of study that seeks to explain and emulate intelligent behavior in terms of computational processes" (Schalkoff, 1990)"The branch of computer science that is concerned with the automation of intelligent behavior" (Luger and Stubvlefield, 1993)
The above definitions vary along two main dimensions. A system is rational if
it does right thing. The definitions on top are concerned with thought processes
and intelligence, which is called rationality. The definitions on the right
measure against an ideal concept, which deals with helping machines, finds
solutions to complex problems in a more human-like fashion. The definitions
on the left measure success in terms of human performance. This gives us four
possible goals of artificial intelligence:
Systems that think like humans Systems that think rationally
Systems that act like humans Systems that act rationally
Historically, all four approaches have been followed. As one might expect, a
tension exists between approaches centered on humans and approaches centered
on rationality.” [4]
Traducción (Por Pamela Nuñez)
En la siguiente tabla se presentan definiciones de inteligencia artificial de
acuerdo con ocho textos recientes.
"El esfuerzo nuevo y emocionante para hacer que las computadoras que piensen ... máquinas con mentes, en el sentido pleno y literal" (Haugeland, 1985)"La automatización de las actividades
"El estudio de las facultades mentales mediante el uso de modelos computacionales" (Charmiak and McDermott, 1985)"El estudio de los cálculos que hacen que sea posible percibir, la razón y
20
que asociamos con el pensamiento humano, actividades tales como, toman de decisiones, resolución de problemas, el aprendizaje..." (Bellman, 1978)
acto" (Winston, 1992)
"El arte de crear máquinas que realizan funciones que requieren inteligencia cuando es realizada por personas" (Kurzweil, 1990)"El estudio de cómo hacer que las computadoras hagan las cosas en las que, por el momento, la gente está mejor" (Rich and Knight, 1991)
" Un campo de estudio que trata de explicar y emular el comportamiento inteligente en función de procesos computacionales" (Schalkoff, 1990)" La rama de la informática que se ocupa de la automatización de la conducta inteligente" (Luger and Stubvlefield, 1993)
Estas definiciones varían a lo largo de dos dimensiones principales. Un sistema
es racional si hace lo correcto. Las definiciones en la parte superior tienen que
ver con los procesos del pensamiento y la inteligencia, es decir, la racionalidad.
Las definiciones ce centran en un concepto ideal, que trata de máquinas que
ayudan, encuentra soluciones a los problemas complejos. Esto nos da cuatro
posibles objetivos de la inteligencia artificial:
Sistemas que piensan como humanos Sistemas que piensan racionalmente
Sistemas que actúan como humanos Sistemas que actúan racionalmente
Históricamente, los cuatro enfoques se han seguido. Como era de esperar,
existe una tensión entre los enfoques centrados en los seres humanos y los
enfoques centrados en la racionalidad.
Sistema Experto“Un Sistema Experto se puede definir como aquel programa de ordenador que
contiene la erudición de un especialista humano versado en un determinado campo de
aplicación. Esto es, un modelo computarizado de las capacidades de razonamiento y
habilidades en resolución de problemas del especialista humano.
21
Dado que un sistema experto pretende emularla actividad de los expertos humanos,
debería ser capaz, en principio, de:
Resolver el problema que se les plantea de la misma manera que el experto humano.Trabajar con datos incompletos o información insegura (como hace el experto
humano en ocasiones).Explicar el resultado obtenido.Aprender conocimientos nuevos sobre la marcha.Reestructurar los conocimientos de que dispone en función de datos nuevos.Saltarse las normas, cuando se llega a la conclusión de que estas no son aplicables a
nuestro caso concreto.” [1]
“Un sistema experto se define como un entorno lógico capaz de gestionar la propia
base de conocimientos, resolver problemas bien delimitados y específicos, producir
nuevos conocimientos y explicar su razonamiento.
En los sistemas expertos convergen tres grandes ámbitos del conocimiento: lógica,
psicología cognitiva y asistencia a la decisión.” [2]
“Los sistemas expertos, también llamados sistemas basados en el conocimiento,
representan uno de los éxitos más importantes de la IA, al menos por lo que se refiere
al éxito de sus aplicaciones en el ámbito de los sistemas de información.
La finalidad principal de los sistemas expertos es la correcta reproducción del
comportamiento de un experto humano en su dominio de competencia.
Un sistema experto es un sistema elaborado con técnicas de IA que, de igual forma que
el experto humano al que intenta emular, resuelve los problemas complejos y difíciles
que se circunscriben a un dominio específico y delimitado.
El sistema experto utiliza procesos que imitan el razonamiento humano (deducción,
inducción, estrategias de búsqueda de soluciones, etc.) en el momento de resolver
problemas. Y todo esto lo consigue utilizando los conocimientos base, suministrados
en origen por un experto humano, a los que incorpora los conocimientos que el sistema
experto informático "aprende" durante su actividad como "experto".
22
Además el sistema experto tiene que ser capaz de justificar las decisiones y los
resultados obtenidos y atribuirles grados de credibilidad. También, como hacen a veces
los expertos humanos, debe ser capaz de razonar a partir de datos inciertos.
A continuación se muestra la estructura básica de un sistema experto en el que se
percibe claramente un aspecto fundamental: la separación de los datos que forman
el conocimiento, de las estrategias de resolución o procedimientos con los que se
elaboran las soluciones.
Los conocimientos se almacén en la base de conocimientos y en la base de hechos, y
los procedimientos capaces de razonar se implementan en el motor de inferencia.
En el esquema también se muestra la necesidad de interfaces que permitan el acceso
al sistema, tanto del experto humano que alimenta la base de conocimientos como
del usuario del sistema experto que proporciona los hechos que determinan una
utilización concreta del sistema experto. El usuario también obtiene las respuestas que
proporciona el sistema.” [5]
23
Neurona biológica“Desde el punto de vista estructural, la mayor parte de las neuronas consisten en un
cuerpo celular que presenta una serie de ramificaciones denominadas dendritas y una
ramificación más larga que se denomina axón. El axón transporta la señal de salida
de la neurona hacia otras neuronas. Por otro lado, las entradas le llegan a través de las
dendritas, procedentes de los axones de otras células. Las conexiones existentes entre
el axón de una neurona y la dendrita de otra se denominan sinapsis. A través de estas
sinapsis, una neurona recibe señales de muchas otras y envía señales a un número
también elevado de ellas. Así una neurona se activara si la influencia colectiva de todas
sus entradas supera un nivel mínimo de potencial eléctrico. Esta activación se traduce
en un impulso electroquímico que se propaga a lo largo del axón hasta otras neuronas,
activándolas o inhibiéndolas a su vez.
Aunque no se conocen los mecanismos exactos, se sabe que las capacidades de
aprendizaje y memorización que poseen los seres vivos se basan en la plasticidad del
cerebro.” [8]
Redes neuronales artificiales“Las Redes Neuronales Artificiales (RNAs) son modelos computacionales que
surgieron como un intento de conseguir formalizaciones matemáticas acerca de la
estructura del cerebro. Las RNAs imitan la estructura hardware del sistema nervioso,
centrándose en el funcionamiento del cerebro humano, basado en el aprendizaje a
través de la experiencia, con la consiguiente extracción de conocimiento a partir de la
misma.
Los elementos básicos de un sistema neuronal biológico son las neuronas, agrupadas
en redes compuestas por millones de ellas y organizadas a través de una estructura de
capas, que constituyen un sistema con funcionalidad propia. En un sistema neuronal
artificial puede establecerse una estructura jerárquica similar, de forma que una
RNA pueda concebirse como una colección de procesadores elementales (neuronas
artificiales), conectadas a otras neuronas o bien a entradas externas y con una salida
que permite propagar las señales por múltiples caminos.
24
Las RNAs pueden considerarse modelos de cálculo caracterizados por algoritmos muy
eficientes que operan de forma masivamente paralela y permiten desarrollar tareas
cognitivas como el aprendizaje de patrones, la clasificación o la optimización.” [9]
“Artificial Neural Netwoks (ANNs) have been motivated right from their inception
by the recognition that the human brain computes in an entirely different way from
the conventional digital computer. The brain is a highly complex, non-linear, and
parallel computer (information-processing system). It has the capability to organise
its structural constituents, know as neurons in a massively distributed and parallel
network, so as to perform certain computations many times quicker than the fastest
digital computer in existence today.
ANNs consist of a large number of simple processing elements called neurons or
nodes. Each node is then connected to other nodes by means of direct links. Each
link is associated with a weight that represents the strength of outgoing signal. The
processing of each node is carried out in two steps, that is, the weighted sum of the
imputs is taken, and is followed by the application of the activation function.
ANNs are usually implemented by using electronic components or are simulated in
software on a digital computer. They are characterised by:
Their patterns of connections between the neurons.Their methods of determining the weights on the connections.Their activation function.Their number of layers: single (Hopfield nets), bilayer (Carpenter/Grossberg
adaptive resonance networks) and multilayer (most back-propagation networks).” [10]
Traducción (Por Pamela Nuñez)
Redes neuronales artificiales (RNA) han sido motivadas desde sus inicios por el
reconocimiento de que el cerebro humano calcula de una forma completamente
diferente que computadora digital convencional. El cerebro es un muy complejo, no
lineal, y paralelo. Tiene la capacidad para organizar sus componentes estructurales,
en una red de neuronas distribuida masivamente y en paralelo, con el fin de realizar
ciertos cálculos; muchas veces, más rápido que la computadora.
25
RNAs consisten en un gran número de elementos de procesamiento simples llamadas
neuronas o nodos. Cada nodo se conecta a otros nodos por medio de enlaces directos.
Cada enlace está asociado con un peso que representa la fuerza de la señal de salida.
El procesamiento de cada nodo se lleva a cabo en dos pasos, es decir, se toma la suma
ponderada de los inputs, y es seguido por la aplicación de la función de activación.
RNAs se implementan normalmente mediante el uso de componentes electrónicos o se
simulan en el software en un ordenador digital. Se caracterizan por:
Sus patrones de conexiones entre las neuronas.Sus métodos de determinación de los pesos de las conexiones.Su función de activación.El número de niveles: individual (redes de Hopfield), bicapa (Carpenter
Grossberg redes adaptables de resonancia) y de múltiples capas (la mayoría de las redes de propagación hacia atrás).
Perceptron multicapaUna de las ventajas que presenta el Perceptron Multicapa (PM), tal como se demostró en 1989, por Cybenko y Hornik, entre otros, es que es un aproximador universal de funciones, de modo que cualquier función continua en el espacio multidimensional real se puede aproximar mediante una red PM, también es de relativa dificultad de uso y aplicación, dado que es una red sin recurrencias y feed-fordward. Posee además una elevada capacidad de generalización y robustez, que provoca que la pérdida de una neurona no afecte al resultado.
Es por ello que, aunque no sea la solución óptima en muchos casos, sobre todo por su elevado tiempo de entrenamiento en estructuras complejas, esta red está ampliamente extendida, teniendo aplicaciones en campos como:
El reconocimiento del habla El reconocimiento óptico de caracteresEl control de procesosLa predicción de series temporalesLa conducción de vehículos
26
La arquitectura del PM está basada en una red feed-fordward o con conexiones hacia delante, en la que se disponen de 3 tipos de capas:
La capa de entrada, en la que las neuronas actúan como buffer y no se disponen de pesos ni umbrales.
Las capas ocultas.La capa de salida, que actúa como un buffer de salida.
Todas las neuronas de la red (excepto las de la entrada, en general) llevan asociado un umbral. Además, cada neurona de una capa tiene conexiones con todas las de la capa anterior, aunque puede suceder que en ciertos casos no sea así, y que el peso de una conexión sea 0, es decir, que no exista. El entrenamiento de este tipo de redes, es decir, su aprendizaje, se realiza utilizando el algoritmo de Retropropagación.
27
Estado del arte
Redes Neuronales Artificiales en predicción de Series de Tiempo: Una Aplicación a la
Industria
El objetivo principal de este artículo es evaluar la capacidad de las Redes
Neuronales Artificiales para poder predecir, utilizando el tipo de Red Neuronal
más comúnmente utilizado en problemas de predicción: Perceptrón Multicapa y
los algoritmos de aprendizaje Backpropagation y Resilient Propagation.
Como se mencionaba en el marco teórico, una RNA, así como el cerebro,
procesa la información y está compuesta por un conjunto de neuronas
artificiales o procesadores elementales, los cuales interconectados de alguna
manera trabajan para obtener la solución de un problema específico.
En esta investigación, la aplicación de Redes Neuronales Artificiales a la
predicción de series de tiempo se realiza tomando en cuenta las siguientes
etapas: Búsqueda de las variables de entrada, preparación del conjunto de
datos, creación de la red, entrenamiento, validación y cálculo de los factores de
comparación.
La secuencia que se sigue en la investigación es la siguiente:
Se identifica las variables de entrada en la red neuronal.
Se normaliza los datos en el intervalo [0,1].
Se determina cada elemento que compone la arquitectura de la red.
Se define el algoritmo de entrenamiento. Para la presente investigación,
se consideraron dos algoritmos de entrenamiento: Backpropagation
y Resilient Propagation.
Se realiza la validación del proceso de aprendizaje de la red.
Se presenta a la red el conjunto de datos seleccionados para este fin y se
obtienen los valores de la predicción del siguiente periodo para cada
patrón de datos.
Se compara los distintos modelos de redes neuronales obtenidos
y se elige la más efectiva en la predicción de una serie de
28
tiempo específica. Para llevar a cabo esta tarea se consideran los
siguientes factores: Error Absoluto Medio Porcentual (EAMP),
Coeficiente de correlación (R), Representación gráfica de las series,
Representación gráfica del EAMP.
Esta investigación se enfoco en el campo de la industria: Generación de
Electricidad Mensual y Consumo Mensual de Gas Natural.
Para ambos casos, para la búsqueda de las variables de entrada se consideraron
los siguientes criterios: comportamiento de la serie y periodos sucesivos
correspondientes a un ciclo.
Se utilizó en primer lugar el algoritmo Backpropagation y luego Resilient
Propagation, con las configuraciones de parámetros correspondientes a cada
algoritmo.
Al finalizar la investigación, para ambos casos, se comparó los resultados
obtenidos con cada configuración en ambas series y se llegó a la conclusión
que el algoritmo Resilient Propagation presenta una gran ventaja sobre
Backpropagation, ya que se obtuvo mejores resultados y un tiempo de
procesamiento bastante menor en la mayoría de los casos de estudio.
Utilidad en el proyecto:
Este artículo permite evaluar la capacidad que tienen las redes neuronales
artificiales en la predicción de series de tiempo, resultando efectivas en esta
tarea y demostrando que son una herramienta útil en la predicción de series
de tiempo. Además de mostrar la ventaja que presenta el algoritmo Resilient
Propagation sobre Backpropagation, el cual logró obtener mejores resultados.
29
Sistema de pronóstico de la demanda de productos farmacéuticos basado en redes
neuronales artificiales [Gil+10]
Con este sistema se pretende resolver la predicción inexacta de la cantidad demandada
de ciertos productos farmacéuticos respecto a la demanda real que genera inventarios
en exceso o en falta.
En esta tesis se pronostica la demanda de productos farmacéuticos OTC (Over the
counter – venta libre) con las que cuenta la empresa FARMOTC ya que poseen
demandas variables.
Los pasos seguidos para la elaboración del sistema propuesto son los siguientes:
Construcción de la red neuronal base.
Recopilación de la data histórica brindada por la empresa.
Normalización de los datos para las pruebas.
Entrenamiento de la red con los datos normalizados.
Validación de la red con los datos normalizados.
Definición de la configuración de la red más adecuada.
Implementación de la interfaz de usuario (Máscara).
La construcción de la red neuronal base se determina a partir de los parámetros de
entrada y salida de la red que corresponden a las variables influyentes en el pronóstico
de la demanda y la cantidad demandada del producto farmacéutico.
El tipo de red neuronal que se utiliza es un perceptrón multicapa el cual consta de
cinco capas (1 de entrada, 3 ocultas y 1 de salida), la capa de entrada está compuesta
por 9 neuronas que representa la cantidad de variables de entrada, las 3 capas ocultas
constan de 5 neuronas y la capa de salida con una neurona, que representa el resultado
del sistema.
Con la normalización se pretende uniformizar la data ya que las unidades de cada
variable son disímiles (Por ejemplo las unidades de los precios son demasiado altas a
comparación de las unidades del resto de variables) y se diferencian de manera notable.
Con este proceso de normalización se pretende obtener valores uniformes de entrada
en un rango de 0-1.
30
La fase de entrenamiento de una red neuronal sirve para asociar un patrón de entradas
a un patrón de salidas de tal manera que la red neuronal pueda aprender a pronosticar
de forma casi exacta la cantidad demanda de cada producto farmacéutico de acuerdo al
correcto mapeo y conocimiento almacenado (configuración de pesos y vías).
El proceso de entrenamiento de las redes neuronales se realizó usando las funciones del
Neural NetWork de la Caja de Herramientas del Matlab (estas funciones se describen
detalladamente en el Anexo B) con las cuales se diseñaron varias configuraciones que
constan de distintos algoritmos de aprendizaje así como variación de parámetros. A
continuación se mostrarán las configuraciones de las redes pronosticadoras para los 3
productos correspondientes.
La fase de validación representa el grado de generalización de la red neuronal, en otras
palabras, es la capacidad de la red de dar una respuesta correcta ante patrones que no
han sido usadas en su entrenamiento.
Sistema híbrido para pronosticar demandas de producto de telecomunicaciones
[Cox+02]
Un desafío crucial para las empresas de telecomunicaciones es cómo pronosticar
cambios de la demanda de productos específicos durante los 6 a 18 próximos meses:
la longitud de una planificación, capacidad de gama corta típica y la hechura de un
presupuesto, capital que planea el horizonte. El problema es, sobre todo, el acento
agudo cuando sólo las historias cortas de ventas de producto están disponibles. Este
papel presenta un acercamiento nuevo de dos niveles al pronóstico de la demanda
de datos a corto plazo. Uno de los niveles consiste en algoritmos de identificación
de sistemas adaptables tomados prestado del tratamiento de señal. Aunque ellos
principalmente hayan sido usados en la ingeniería, como el reconocimiento de
discurso automatizado y la informática sísmica, las técnicas también parecen ser
muy prometedoras para predecir las probabilidades de comportamientos de cliente
individuales de las muestras relativamente cortas de historias recientes adquisitivas de
producto.
El nivel superior de nuestro acercamiento aplica un algoritmo de árbol de clasificación
para combinar la información del nivel inferior que pronostica algoritmos.
31
En contraste con otros algoritmos de combinación pronóstico, como ponderado
haciendo un promedio o fórmulas de agregación Bayesiana, el árbol de clasificación se
acerca a interacciones de orden alta (pedido alto) de proezas entre el modelo de error
de sistemas proféticos diferentes. Esto crea un híbrido, pronosticando el algoritmo
que supera cualquiera de los algoritmos individuales en los que es basado. Este
acercamiento basado por árbol a pronósticos de hybridizing proporciona un modo
nuevo, general de combinar y mejorar pronósticos individuales, si realmente ellos son
basados en varios algoritmos. El papel concluye con los resultados de las pruebas de
validación.
Objetivos del proyecto
Objetivo general
Desarrollar un sistema que permita estimar el consumo de gas natural basado en
la técnica de redes neuronales artificiales para la obtención de una menor tasa de
error entre la demanda estimada y la demanda real.
Objetivos específicos
Identificar las variables que puedan ser cuantificadas.
Analizar la intervención de las variables identificadas con la elaboración de los
pronósticos.
Averiguar el proceso de pronóstico actual de demanda de productos.
Evaluar y seleccionar el método más adecuado para la estimación del consumo de gas
natural.
Obtener una base de datos del consumo de gas natural, que será usada para
entrenamiento.
Elaborar y desarrollar la arquitectura de la red neuronal más apropiada para la
estimación del consumo de gas natural.
Revisar los algoritmos existentes para el entrenamiento de la red neuronal y seleccionar
el algoritmo adecuado para su aprendizaje.
Diseñar un software de predicción basado en la técnica de redes neuronales e
implementarlo a partir de las tecnologías empleadas en la actualidad.
32
Beneficios del proyecto
Beneficios tangibles
Beneficios intangibles
Alcance del proyecto
El desarrollo contempla los siguientes aspectos:
Obtención de los datos de entrada (información de ventas de la empresa Peruana de gas
natural).
Diseño e implementación de la solución planteada.
Pruebas del sistema con la información brindad por la empresa.
Capacitación de los stakeholders para la administración con la herramienta.
Se realizará el estudio acerca del consumo de gas natural, utilizando como datos de
entrada información de la empresa Peruana de gas natural.
La plataforma a utilizar contempla la TECNOLOGÍA JAVA, IDE NetBeans para
la implementación de la capa de interfaz de usuario, el lenguaje de programación
MATLAB para la implementación de la red neuronal de la capa de proceso.
Conclusiones
El desarrollo de este sistema permitirá que la empresa pueda tomar mejores desiciones
basándose en la estimación del consumo de cada una de sus estaciones de servicio.
33
Justificación
Los métodos tradicionales utilizados para estimar la difusión de un nuevo producto,
métodos cualitativos basados básicamente en la opinión, experiencia, intuición y
feeling del emprendedor, pueden llegar a ser demasiado subjetivos y riesgosos como
para basarse solamente en ellos en la toma de decisiones del lanzamiento de un nuevo
producto.
El problema del pronóstico de la demanda se presenta hoy en día en casi todas las
aplicaciones de las empresas, ya sea dedicada a bienes (productos) o servicios;
así mismo, es un punto que no se puede obviar en la planificación de la cadena de
suministro o en la administración de demanda. Al trabajar con predicciones, la empresa
tendrá una visión de lo que necesitará en el futuro para satisfacer la demanda, además
tendrá información de la cantidad y duración de ésta.
Actualmente, el ambiente competitivo empresarial ha motivado el reconocimiento
de la función de planeación como una necesidad indispensable en el proceso de
administración de negocios. Un estudio hecho por el Institute of Business Forecasting
titulado “Why Forecasting?” menciona que: “hoy en día es ineludible un proceso más
formal de elaborar los pronósticos sin importar en qué tipo de negocio y/o industria
se localice la empresa o qué función realiza. Siempre hay una necesidad de estimar el
futuro sobre la cual construir un plan”.
Por lo tanto se necesita de un buen pronóstico para optimizar la planeación de ventas,
ya que con esto se logrará un mejor nivel de servicio, un menor costo de capital y una
máxima rentabilidad de la empresa.
34
Modelado del negocio
Introducción
A continuación se presenta el proceso del negocio como parte esencial para el desarrollo
de la solución planteada.
Reglas del negocio
Casos de uso del negocio
Conclusiones
Requerimientos del proyecto
Introducción
En esta sección se detallarán todos los requerimientos que han sido identificados a lo
largo de la etapa del análisis de la empresa Peruana de gas natural (Pgn).
Los requerimientos (funcionales y no funcionales) identificados han sido el resultado
de un estudio basado en entrevistas y encuestas a los stakeholders del proyecto que
incluyen a los gerentes, vendedores y clientes de la empresa.
Requerimientos del software
Relación de requerimientos
A continuación se listan los requerimientos que debe cubrir el sistema. En la
etapa de análisis de la situación actual de la empresa Pgn, se han identificado los
siguientes requerimientos que el sistema debe satisfacer funcionalmente:
Modulo de gestión de usuario:
RF1: Gestionar usuarios RF2: Gestionar usuarios
35
RF3: Gestionar usuarios
Modulo Nueva red:
RF4: Crear red neuronal:RF5: Crear red neuronal: RF6: Entrenar red neuronal:RF7: Entrenar red neuronal:
Modulo de validación de red
RF8: Validar red neuronal:RF9: Validar red neuronal:RF10: Validar red neuronal:
Modulo de Pronóstico
RF11: Realizar pronóstico:RF12: Realizar pronóstico:
Modulo de reportes
RF13: Consultar registro de redes:RF14: Consultar registro de redes:RF15: Consultar reportes de pronósticos:RF16: Consultar reportes de pronósticos:
Modulo mantenimiento de redes
RF17: Eliminar red neuronal:
36
Especificación de requerimientos
A continuación se especifican los requerimientos que fueron mencionados en la
relación e requerimientos. Se incluyen tanto los requerimientos funcionales como
los no funcionales:
Requerimientos funcionales
Módulo de gestión de usuarios:
RF1: Gestionar usuarios:
El sistema deberá permitir la creación y eliminación de un usuario, así como
la modificación del tipo de cuenta.
RF2: Gestionar usuarios:
El sistema deberá restringir el uso de diferentes funcionalidades para cada cuenta creada dependiendo del tipo de usuario (administrador u operador).
RF3: Gestionar usuario:
El sistema deberá permitir (al usuario administrador) cambiar el tipo de cuenta de otros usuarios.
Modulo de nueva red
RF4: Crear red neuronal:
El sistema deberá permitir crear una nueva red, para lo cual el usuario
administrador podrá ingresar los parámetros de entrada.
RF5: Crear red neuronal:
El sistema deberá almacenar la red neuronal creada, a la cual le asignará el
estado de creada.
RF6: Entrenar red neuronal:
37
El sistema deberá permitir entrenar la red neuronal previamente creada,
utilizando información histórica de ventas, la cual deberá ser extraída de la
base datos asociada a la aplicación.
RF7: Entrenar red neuronal:
El sistema deberá almacenar la red neuronal entrenada, a la cual le deberá
cambiar el estado a “entrenada”.
Modulo de validación de red
RF8: Validar red neuronal:
El sistema deberá permitir validar una red neuronal previamente entrenada,
utilizando información histórica de ventas, la cual deberá ser extraída de la
base de datos asociada a la aplicación.
RF9: Validar red neuronal:
El sistema deberá mostrar los resultados obtenidos de la validación de la red
neuronal, tales como: data real, data obtenida, margen de error, etc.
RF10: Validar red neuronal:
El sistema deberá almacenar la red neuronal validada, a la cual le deberá
cambiar el estado a “validada”.
Modulo de Pronóstico
RF11: Realizar pronóstico:
El sistema deberá permitir realizar un nuevo pronóstico, donde el usuario
deberá ingresar los parámetros de entrada y deberá elegir la red neuronal que
más le convenga.
RF12: Realizar pronóstico:
38
El sistema deberá generar el pronóstico de ventas, de acuerdo a la
información que ingreso el usuario.
Modulo de reportes
RF13: Consultar registro de redes:
El sistema deberá mostrar un reporte con la información de las redes
neuronales existentes en la base de datos.
RF14: Consultar registro de redes:
El sistema deberá permitir que el reporte se pueda exportar, para lo cual es
usuario deberá escoger el tipo de archivo en el cual desea exportar el reporte.
RF15: Consultar reportes de pronósticos:
El sistema deberá mostrar un reporte con la información de los pronósticos
existentes en la base de datos.
RF16: Consultar reportes de pronósticos:
El sistema deberá permitir que el reporte se pueda exportar, para lo cual es
usuario deberá escoger el tipo de archivo en el cual desea exportar el reporte.
Modulo mantenimiento de redes
RF17: Eliminar red neuronal:
El sistema deberá permitir que el usuario administrador pueda eliminar una
red neuronal, la red neuronal deberá cambiar de estado a deshabilitado.
Requerimientos no funcionales
RNF1: La aplicación será implementada en una PC o Laptop con sistema
operativo Windows XP o superior.
39
RNF2: Solo algunos empleados podrán ser uso del sistema a través de su usuario y
contraseña.
RNF3: Se requiere una memoria de 256 Mb o superior para el correcto
funcionamiento del sistema, así como un procesador de 1.6 GHz o superior, y un
disco duro de 80 Gb o superior.
RNF4: Es necesario que la PC o Laptop tenga instalada la última versión del JRE
(Java Runtime Environment) ya que el sistema será desarrollado con el lenguaje
Java.
RNF5: El sistema deberá ser fiable, un error en la aplicación puede hacer que no
se generé la información correcta, lo cual podría originar que la empresa tome
decisiones erróneas.
RNF6: El sistema deberá tener un grado de escalabilidad aceptable de acuerdo al
flujo de trabajo de la empresa.
RNF7: El diseño del sistema debe contemplar el uso óptimo de los recursos tales
como la conexión a la base de datos.
RNF8: El sistema deberá ser de interfaces intuitivas y de fácil uso para los
usuarios.
RNF9: El sistema deberá estar disponible 24 horas al día, los 7 días de la semana
durante todo el año.
RNF10: Las operaciones transaccionales del sistema no deben exceder los 2
segundos.
RNF11: El código debe ser mantenible e implementado de tal forma que no
obligue a generar nuevas versiones en el caso que existan cambios en los
parámetros del negocio.
40
Casos de uso del sistema
Diagrama de actores del sistema
Administrador
Usuario principal del sistema que podrá manejarlo sin restricción alguna y gozar
de todas las funcionalidades que incluyen:
Operador
Usuario secundario del sistema que tendrá acceso limitado a las funcionalidades
en algunos módulos. A continuación se especifican las funciones con su respectivo
nivel de acceso:
41
Diagrama de paquetes
Paquete Seguridad:
Es el paquete que controla el acceso a los usuarios del sistema. Los usuarios
accederán mediante el nombre de usuario y contraseña.
Paquete Redes neuronales
Contiene la lógica principal del sistema y permite la creación y uso de las redes
neuronales.
Paquete Consultas
Permite al usuario realizar las consultas sobre el registro de redes y pronósticos,
así como la eliminación de los mismos.
42
Casos de uso del sistema (CUS)
Relación de los CUS
Iniciar sesiónModificar datos de la cuentaGestionar usuario
Realizar pronósticoCrear red neuronalIngresar parámetros de entradaEntrenar red neuronalIngresar parámetros de entrenamientoValidar red neuronal
Consultar registro de redesConsultar reporte de pronósticosEliminar red neuronal
Diagrama de los CUS
43
44
45
46
Especificación de los CUS
Iniciar sesión:
Mediante este caso de uso el usuario podrá acceder al sistema ingresando el
nombre de usuario y su contraseña.
Flujo básico
Usuario: Ingresa su nombre de usuario y contraseña.
Sistema: Muestra la aplicación.
Flujo alternativo
En el paso 1, si el nombre de usuario o la contraseña son incorrectos:
2a) Sistema: Muestra mensaje de error.
47
Modificar datos de la cuenta
Este caso de uso permite a los usuarios modificar los datos personales
registrados anteriormente en el sistema.
Flujo básico
Usuario: Inicia sesión ingresando su nombre de usuario y contraseña.
Sistema: Muestra la aplicación.
Usuario: Selecciona la pestaña “Usuario” y presiona el botón “Modificar datos de
la cuenta”.
Sistema: Habilita los campos que serán modificados.
Usuario: Modifica los datos y los guarda.
Sistema: Confirma que los datos fueron modificados y regresa a la pestaña
“Usuario”.
Flujo alternativo
En el paso 5, si el usuario cancela la modificación de los datos:
5a) Sistema: Regresa a la pestaña “Usuario”.
En el paso 5, si los datos ingresados por el usuario son
inconsistentes:
5b) Sistema: Muestra un mensaje de error.
Gestionar usuarios:
Este caso de uso permite exclusivamente al usuario administrador la creación,
modificación o eliminación de los usuarios.
Flujo básico
48
Administrador: Inicia sesión ingresando su nombre de usuario y contraseña.
Sistema: Muestra la aplicación.
Administrador: Selecciona la pestaña “Usuario” y escoge la opción “Crear
usuario”, “Eliminar usuario” o “Modificar tipo de cuenta”.
3a) Si escoge la opción “Crear usuario” ver subflujo “Crear usuario”.
3b) Si escoge la opción “Eliminar usuario” ver subflujo “Eliminar usuario”.
3c) Si escoge la opción “Modificar tipo de cuenta” ver subflujo “Modificar tipo
de cuenta”.
Subflujos
Crear usuario:
Sistema: Muestra los campos necesarios para ser llenados.
Administrador: Llena los campos y agrega el usuario al sistema.
Sistema: Confirma que el usuario fue agregado y regresa a la pestaña “Usuario”.
Eliminar usuario:
Sistema: Muestra todos los usuarios que existen en el sistema.
Administrador: Selecciona el usuario o usuarios que desea eliminar y presiona el
botón eliminar.
Sistema: Confirma que el usuario fue eliminado y regresa a la pestaña “Usuario”.
Modificar tipo de cuenta:
Sistema: Muestra todos los usuarios que existen en el sistema a excepción de la
cuenta actual.
49
Administrador: Selecciona el usuario que desea modificar y presiona el botón
“Modificar”.
Sistema: Muestra los datos del usuario seleccionado.
Administrador: Modifica el tipo de cuenta del usuario seleccionado y presiona el
botón “Guardar”.
Sistema: Confirma que el usuario fue eliminado y regresa a la pestaña “Usuario”.
Flujo alternativo
Para todos los Subflujos en el paso 2), si el administrador decide
cancelar la agregación, modificación o eliminación de algún usuario:
2a) Sistema: Regresa a la pestaña “Usuario”.
Para el subflujo Crear usuario en el paso 2), si los datos ingresados
por el administrador son inconsistentes:
2a) Sistema: Muestra un mensaje de error.
Crear red neuronal
Administrador: Ingresa al sistema con su usuario y contraseña.
Sistema: Muestra la aplicación.
Administrador: Selecciona la pestaña “Nueva Red”.
Sistema: Muestra el formulario para ingresar los datos de la nueva red.
50
Administrador: Ingresa los parámetros de entrada de la red; al finalizar selecciona
la opción “Crear red”.
Sistema: Valida los datos ingresados y crea la red. Confirma la creación de la red.
Flujo alternativo
En el paso 5 si el usuario decide cancelar la creación de la red:
4a) Sistema: Regresa a la pantalla principal.
En el paso 6 los datos ingresados por el usuario son inconsistentes:
6a) Sistema: Muestra un mensaje de error.
Entrenar red neuronal
Administrador: Ingresa al sistema con su usuario y contraseña.
Sistema: muestra la aplicación.
Administrador: Selecciona la pestaña “Entrenar red”.
Sistema: Muestra la interfaz “Entrenar red”.
Administrador: Selecciona la red que desea entrenar (previamente creada), los
valores para el entrenamiento de la red y la opción “Entrenar red”.
Sistema: Procesa la información ingresada y muestra los valores generados por
el entrenamiento.
Administrador: Selecciona la opción “Guardar red”.
Sistema: Cambia el estado de la red a “entrenada” y confirma.
Flujo alternativo
En el paso 5 si el administrador decide cancelar:
5a) Sistema: Regresa a la pantalla principal.
51
En el paso 7 si el administrador decide cancelar.
7a) Sistema: Regresa a la pantalla principal.
Validar red neuronal
Administrador: Ingresa al sistema con su usuario y contraseña.
Sistema: Muestra la aplicación.
Administrador: Selecciona la opción “Validar red”.
Sistema: Muestra la interfaz “Validar red”.
Administrador: Selecciona la red que desea validar (previamente entrenada), los
valores para la validación y la opción “Validar red”.
Sistema: Procesa la información ingresada y muestra los valores generados.
Cambia el estado de la red a “validada”.
Flujo alternativo
En el paso 5 si el administrador decide cancelar:
5a) Sistema: Regresa a la pantalla principal.
Realizar pronóstico
Usuario: Ingresa al sistema con su usuario y contraseña.
Sistema: Muestra la aplicación.
Usuario: Selecciona la opción “Pronóstico”.
Sistema: Muestra la interfaz “Pronóstico”.
Usuario: Selecciona el nombre del pronóstico, ingresa los parámetros de
entrada y selecciona la red neuronal con la que realizará el pronóstico.
Sistema: Procesa la información ingresada y muestra el pronóstico generado.
52
Flujo alternativo
En el paso 5 si el usuario decide cancelar:
5a) Sistema: Regresa a la pantalla principal.
En el paso 6 si el usuario ingresó datos inconsistentes:
6a) Sistema: Muestra un mensaje de error.
Consultar registro de redes
Usuario: Ingresa al sistema con su usuario y contraseña.
Sistema: Muestra la aplicación.
Usuario: Selecciona la opción “Reportes”.
Sistema: Muestra la interfaz “Reportes”.
Usuario: Selecciona el reporte “Redes neuronales”.
Sistema: Muestra el reporte de las redes neuronales existentes en la base de
datos (nombre de la red, parámetros, margen de error, estado de la red, etc.).
Usuario: Si desea puede exporta el reporte. Si escoge la opción “Exportar
reporte”, ver subflujo exportar reporte.
Subflujo
53
Exportar reporte
Usuario: Selecciona la opción “Exportar reporte”.
Sistema: Muestra una ventana para elegir las preferencias del reporte.
Administrador: Selecciona el tipo de archivo en que desea guardar el reporte,
ingresa el nombre del reporte y elige la ruta en que desea guardar el reporte.
Sistema: Guarda el reporte de acuerdo a los datos ingresados.
Flujo alternativo
En el paso 3 si el usuario decide cancelar:
3a) Sistema: Regresa a la pantalla principal.
Consultar reporte de pronósticos
Usuario: Ingresa al sistema con su usuario y contraseña.
Sistema: Muestra la aplicación.
Usuario: Selecciona la opción “Reportes”.
Sistema: Muestra la interfaz “Reportes”.
Usuario: Selecciona el reporte “Pronósticos”.
Sistema: Muestra el reporte de los pronósticos registrados en la base de datos.
Usuario: Si desea puede exporta el reporte. Si escoge la opción “Exportar
reporte”, ver subflujo exportar reporte.
Subflujo
Exportar reporte
Usuario: Selecciona la opción “Exportar reporte”.
Sistema: Muestra una ventana para elegir las preferencias del reporte.
54
Administrador: Selecciona el tipo de archivo en que desea guardar el reporte,
ingresa el nombre del reporte y elige la ruta en que desea guardar el reporte.
Sistema: Guarda el reporte de acuerdo a los datos ingresados.
Flujo alternativo
En el paso 3 si el usuario decide cancelar:
3a) Sistema: Regresa a la pantalla principal.
Eliminar red neuronal
Administrador: Ingresa al sistema con su usuario y contraseña.
Sistema: Muestra la aplicación.
Administrador: Selecciona la opción “Eliminar red neuronal”.
Sistema: Muestra la interfaz “Eliminar red neuronal”.
Administrador: Selecciona la red neuronal a eliminar y la opción “eliminar
red”.
Sistema: Cambia de estado la red neuronal y muestra un mensaje de
confirmación.
Flujo alternativo
En el paso 5 si el administrador decide cancelar:
5a) Sistema: Regresa a la pantalla principal.
Matriz CUN vs. CUS
Modelo conceptual del sistema
Diagrama de modelo conceptual
Diccionario de clases
55
Atributos de los casos de uso del sistema
Benchmarking
Soluciones encontradas
Prototipos de la solución
Conclusiones
56
REFERENCIAS
[1] Raul Pino Diez - Alberto Gómez Gómez - Nicolás de Abajo Martínez, 2001,
Introducción a la Inteligencia Artificial: Sistemas Expertos, Redes Neuronales Artificiales y
Computación Evolutiva, I.S.B.N.: 84-8317-249-6
[2] Daniele Bourcier, 2003, Inteligencia Artificial y Derecho, I.S.B.N.: 84-8318-974-7
[3] Luis Álvarez Munarriz, 1994, Fundamentos de Inteligencia Artificial, I.S.B.N.: 84-
7684-563-4
[4] Neta Deshpande, 2008, Artificial Intelligence, I.S.B.N.: 978-81-8431-337-6
[5] Miguel Barceló García, 2008, Inteligencia artificial
[6] Ballou Ronald H, 2004, Logística, Administración de la cadena de suministro, I.S.B.N.:
970-26-0540-7
[7] Jairo Amaya Amaya, Toma de decisiones gerenciales-Métodos cuantitativos para la
administración
[8] Francisco Escolano Ruiz - Miguel Ángel Cazorla Quevedo, Inteligencia Artificial,
2003, I.S.B.N.: 849732-183-9
[9] Jean Pierre Levy Mangin, 2008, La Redes Neuronales Artificiales, I.S.B.N.: 978-84-
9745-246-5
[10] Pichaid Varoonchotikul, 2003, Flood Forecastign using Artificial Neural Networks,
I.S.B.N.: 905-80-9631-9
[11] David de la Fuente Garcia-Raul Pino Diez-Jose Parreño Fernandez, Métodos
cuantitativos de previsión, Universidad de Oviedo, I.S.B.N: 84-7468-883-3
[12] Hector Viscencio Brambila, Economía para la toma de decisiones, ISBN: 970-686-
213-7.
[13] Jesús García de Madariaga, Jose Narros Gonzales, Agueda Esteban Talaya, Principios
de marketing 3era edición, 2008, ISBN: 978-84-7356-572-1
[14] Olmos Arrayales Jorge, tu potencial emprendedor, 2007, ISBN: 970-26-0968-2
[15] Editorial Limusa, Mercadotecnia programada: Principios y aplicaciones para orientar a
la empresa, 2004, ISBN: 968-18-5400-4
57