universidad de guayaquilrepositorio.ug.edu.ec/bitstream/redug/45122/1/b-cisc-ptg-1699 ro… ·...
TRANSCRIPT
UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS
CARRERA DE INGENIERÍA EN SISTEMAS
COMPUTACIONALES
ORDENAMIENTO DE ZONAS URBANO MARGINALES
DE GUAYAQUIL MEDIANTE INDICADORES DE
CONSUMO ELÉCTRICO
RESIDENCIAL
PROYECTO DE TITULACIÓN
Previa a la obtención del Título de:
INGENIERO EN SISTEMAS COMPUTACIONALES
AUTOR (ES):
BEATRIZ LUCÍA ROMERO SALTOS
LEONARDO ANTONIO PINCAY SÁNCHEZ
TUTOR:
ING. LUIS MANUEL ALONSO ÁGUILA, PhD
GUAYAQUIL – ECUADOR 2019
REPOSITORIO NACIONAL EN CIENCIA Y TECNOLOGÍA
FICHA DE REGISTRO DE TESIS TÍTULO Y SUBTÍTULO: “ORDENAMIENTO DE ZONAS URBANO-MARGINALES DE GUAYAQUIL MEDIANTE INDICADORES DE CONSUMO ELÉCTRICO RESIDENCIAL” AUTOR/ES: Romero Saltos Beatriz Lucía Pincay Sánchez Leonardo Antonio
TUTOR: Ing. Luis Manuel Alonso Águila, PhD
REVISORES: LSI. Jenny Ortiz Zambrano, M.Sc.
INSTITUCIÓN: Universidad de Guayaquil
FACULTAD: Ciencias Matemáticas y Físicas
CARRERA: Ingeniería en Sistemas Computacionales FECHA DE PUBLICACIÓN:
No. DE PÁGS: 107
TÍTULO OBTENIDO: Ingeniero en Sistemas Computacionales ÁREAS TEMÁTICAS: Logístico, Eléctrico, Matemático PALABRAS CLAVE: Algoritmo de ordenamiento, lógica difusa, indicadores, consumo eléctrico. RESUMEN: Ante una posible eliminación de subsidios por parte del gobierno, el presente trabajo de investigación propone un algoritmo de ordenamiento basado en indicadores subjetivos que permite priorizar una búsqueda de aquellos sectores de la ciudad de Guayaquil que son los más vulnerables a sufrir el impacto de una eventual reducción de los subsidios al consumo eléctrico. Mediante la aplicación del algoritmo, que emplea una metodología basada en lógica difusa, se pudieron realizar pruebas a ocho zonas urbano-marginales de la ciudad de Guayaquil, utilizando un conjunto de 14 características, que dieron como resultado, en forma de tuplas ordenadas, las zonas con mayor a menor prioridad de atención. Por lo tanto, se puede verificar la eficacia del algoritmo de ordenamiento como parte de una solución para la ayuda de la toma de decisiones, que beneficien a las zonas o regiones con mayor prioridad. No. DE REGISTRO (en base de datos):
No. DE CLASIFICACIÓN:
DIRECCIÓN URL (tesis en la web): ADJUNTO PDF: X SI NO CONTACTO CON AUTOR/ES
Teléfono: 0991831850 Teléfono: 0960499492
E-mail: [email protected] E-mail: [email protected]
CONTACTO EN LA INSTITUCIÓN: Nombre: Ab. Juan Chávez Atocha, Esp. Teléfono: (04) 2307729 E-mail: [email protected]
III
APROBACIÓN DEL TUTOR
En mi calidad de Tutor del trabajo de titulación, “ORDENAMIENTO DE ZONAS
URBANO MARGINALES DE GUAYAQUIL MEDIANTE INDICADORES DE
CONSUMO ELÉCTRICO RESIDENCIAL” elaborado por los Sres. BEATRIZ
LUCÍA ROMERO SALTOS Y LEONARDO ANTONIO PINCAY SÁNCHEZ,
alumnos no titulados de la Carrera de Ingeniería en Sistemas Computacionales,
Facultad de Ciencias Matemáticas y Físicas de la Universidad de Guayaquil, previo a
la obtención del Título de Ingeniero en Sistemas Computacionales, me permito
declarar que luego de haber orientado, estudiado y revisado, la Apruebo en todas sus
partes.
Atentamente,
_____________________________________
Ing. Luis Manuel Alonso Águila, PhD
TUTOR
IV
DEDICATORIA
A toda mi familia, en especial a mi esposo e hija, quienes me dan la fuerza para superarme todos los días. Beatriz Lucía Romero Saltos
V
AGRADECIMIENTO
A mi Padre Celestial que me regalo la oportunidad de existir y a quien agradezco todo lo que he recibido en mi vida. Beatriz Lucía Romero Saltos
VI
DEDICATORIA
El presente trabajo investigativo es dedicado primeramente a Dios, el cual me ha dado fortaleza para afrontar los retos del día a día para completar el sueño anhelado. A mis padres quienes me han brindado ese amor y comprensión, y junto a su trabajo y sacrificio me han permitido llegar a ser lo que soy, siento en mi corazón orgullo de ser su hijo. Dedico también este trabajo a Verónica Salazar cuya dedicación y entrega ha sido de vital importancia en la consecución de este logro. Leonardo Antonio Pincay Sánchez
VII
AGRADECIMIENTO
Con la bendición y gracia del creador, que ha sido el motor y fortaleza para llevar cabo el cumplimiento del presente trabajo investigativo y por ende la culminación de una etapa de desarrollo en la vida de todo ser humano. Agradecimiento también a mis padres: Genaro y Betsy, personas que han sido de gran apoyo a lo largo de todos estos años en la adquisición de conocimientos que serán un aporte para la lucha de nuevos retos que nos depara este mundo. Un agradecimiento a los docentes tutores y demás personas que han formado parte también de este aprender día a día, compartiendo sus conocimientos y experiencias. Leonardo Antonio Pincay Sánchez
VIII
TRIBUNAL PROYECTO DE TITULACIÓN
Ing. Fausto Cabrera Montes, M.Sc. DECANO DE LA FACULTAD CIENCIAS MATEMÁTICAS Y
FÍSICAS
Ing. Gary Reyes Zambrano, Mgs. DIRECTOR DE LA CARRERA DE
INGENIERÍA EN SISTEMAS COMPUTACIONALES
Ing. Luis Alonso Águila, PhD PROFESOR TUTOR DEL
PROYECTO DE TITULACIÓN
LSI. Jenny Ortiz Zambrano, M.Sc. PROFESOR REVISOR DEL
PROYECTO DE TITULACIÓN
Ab. Juan Chávez Atocha, Esp. SECRETARIO
IX
DECLARACIÓN EXPRESA
“La responsabilidad del contenido de este Proyecto de Titulación, nos corresponde exclusivamente; y el patrimonio intelectual de la misma a la UNIVERSIDAD DE GUAYAQUIL”
____________________________
BEATRIZ LUCÍA ROMERO SALTOS
____________________________
LEONARDO ANTONIO PINCAY SÁNCHEZ
X
UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS
CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES
ORDENAMIENTO DE ZONAS URBANO MARGINALES
DE GUAYAQUIL MEDIANTE INDICADORES DE
CONSUMO ELÉCTRICO RESIDENCIAL
Proyecto de Titulación que se presenta como requisito para optar por el título
de INGENIERO EN SISTEMAS COMPUTACIONALES
Autores:
Beatriz Lucía Romero Saltos C.I. 0919311860
Leonardo Antonio Pincay Sánchez
C.I. 0925334492
Tutor:
Ing. Luis Manuel Alonso Águila, PhD
Guayaquil, octubre de 2019
XI
CERTIFICADO DE ACEPTACIÓN DEL TUTOR
En mi calidad de Tutor del proyecto de titulación, nombrado por el Consejo Directivo de la Facultad de Ciencias Matemáticas y Físicas de la Universidad de Guayaquil.
CERTIFICO:
Que he analizado el Proyecto de Titulación presentado por los estudiantes BEATRIZ LUCÍA ROMERO SALTOS y LEONARDO ANTONIO PINCAY SÁNCHEZ, como requisito previo para optar por el título de Ingeniero en Sistemas Computacionales cuyo título es: “ORDENAMIENTO DE ZONAS URBANO MARGINALES DE GUAYAQUIL MEDIANTE INDICADORES DE CONSUMO ELÉCTRICO RESIDENCIAL”
Considero aprobado el trabajo en su totalidad.
Presentado por: ___________________________ Beatriz Lucía Romero Saltos Cédula de ciudadanía N° 0919311860 ___________________________ Leonardo Antonio Pincay Sánchez Cédula de ciudadanía N° 0925334492
__________________________________ Tutor: Ing. Luis Manuel Alonso Águila, PhD
Guayaquil, octubre de 2019
XII
UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS
CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES
Autorización para Publicación de Proyecto de Titulación en Formato Digital 1. Identificación del Proyecto de Titulación
Nombre Alumno: Beatriz Lucía Romero Saltos Dirección: Ma. Yolanda Baquerizo Sandoval #3011 y Avda. Alfredo Valenzuela Teléfono: 0991831850 E-mail: [email protected]
Nombre Alumno: Leonardo Antonio Pincay Sánchez Dirección: Cooperativa Juan Montalvo Mz 1753 Villa 4 Teléfono: 0960499492 E-mail: [email protected]
Facultad: Ciencias Matemáticas y Físicas Carrera: Ingeniería en Sistemas Computacionales Proyecto de titulación al que opta: Ingeniero en Sistemas Computacionales Profesor tutor: Ing. Luis Manuel Alonso Águila, PhD
Título del Proyecto de titulación: Ordenamiento de zonas urbano-marginales de Guayaquil mediante indicadores de consumo eléctrico residencial.
Tema del Proyecto de Titulación: Lógica Difusa, Toma de decisiones, electricidad, algoritmo de ordenamiento, indicadores de consumo.
2. Autorización de Publicación de Versión Electrónica del Proyecto de Titulación A través de este medio autorizo a la Biblioteca de la Universidad de Guayaquil y a la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica de este Proyecto de titulación. Publicación electrónica:
Inmediata X Después de 1 año ___________________ ___________________
Beatriz Romero S. Leonardo Pincay S. 3. Forma de envío: El texto del proyecto de titulación debe ser enviado en formato Word, como archivo .Doc. O .RTF y Puf para PC. Las imágenes que la acompañen pueden ser: .gif, .jpg o .TIFF. DVDROM X CDROM
XIII
ÍNDICE GENERAL
CARTA DE APROBACIÓN DEL TUTOR III DEDICATORIA IV AGRADECIMIENTO V ÍNDICE GENERAL XIII ABREVIATURAS XIV ÍNDICE DE CUADROS XV ÍNDICE DE GRÁFICOS XVI RESUMEN XVII ABSTRACT XVIII INTRODUCCIÓN 1 CAPÍTULO I – EL PROBLEMA 3 Ubicación del problema en un contexto 3 Situación conflicto nudos críticos 5 Causas y consecuencias del problema 6 Delimitación del problema 6 Formulación del problema 7 Evaluación del problema 7 Objetivos 8 Objetivo general 8 Objetivo específico 8 Alances del problema 9 Justificación e importancia 9 CAPÍTULO II – MARCO TEÓRICO 11 Antecedentes del estudio 11 Fundamentación teórica 12 Fundamentación legal 31 Definiciones conceptuales 34 CAPÍTULO III – METODOLOGÍA DE LA INVESTIGACIÓN 37 Diseño de la investigación 43 Modalidad de la investigación 43 Tipo de investigación 43 Población y muestra 44 Operacionalización de variables 46 Procesamiento y análisis 52 CAPÍTULO IV RESULTADOS, CONCLUSIONES, RECOMENDACIONES 62 Resultados 62 Conclusiones 65 Recomendaciones 68 BIBLIOGRAFÍA 69 ANEXOS 73
XIV
ABREVIATURAS
CC.MM.FF Facultad de Ciencias Matemáticas y Físicas DAC De alto consumo FCI Fondo Competitivo de Investigación GUI Interfaz gráfica de usuario html Lenguaje de Marcas de Hipertexto http Protocolo de transferencia de hipertexto INEC Instituto Nacional de Estadísticas y Censos Ing. Ingeniero kWh kilovatio hora Msc. Máster PhD Doctor en filosofía RAE Real Academia Española URL Localizador de Fuente Uniforme www world wide web (red mundial) XML Lenguaje de marcado extensible
XV
ÍNDICE DE CUADROS
Pág. Cuadro 1: Causas y consecuencias del problema………………………………. 6 Cuadro 2: Delimitación del problema………………………………………….. 6 Cuadro 3: Tipos de análisis de sensibilidad……………………………………. 17 Cuadro 4: Ventajas y Desventajas de los análisis de sensibilidad……………... 17 Cuadro 5: Representación de Zonas urbano-marginales de Guayaquil………... 38 Cuadro 6: Representación de Descriptores…………………………………….. 39 Cuadro 7: Muestra Representativa por zona…………………………………… 44 Cuadro 8: Promedio del puntaje de estratificación social……………………… 46 Cuadro 9: Promedio tomacorrientes de 120 voltios por región………………... 47 Cuadro 10: Promedio de focos ahorradores por región………………………... 47 Cuadro 11: Promedio de equipos de aire acondicionado………………………. 47 Cuadro 12: Promedio de habitaciones en el hogar……………………………... 48 Cuadro 13: Promedio de años de uso de la refrigeradora……………………… 48 Cuadro 14: Promedio de años de uso de la licuadora………………………….. 48 Cuadro 15: Promedio de años de uso de la lavadora…………………………... 49 Cuadro 16: Promedio de años de uso de equipo de sonido…………………….. 49 Cuadro 17: Promedio de años de uso de radio grabadora……………………… 49 Cuadro 18: Promedio de años de uso de televisor……………………………... 50 Cuadro 19: Promedio de años de uso del computador…………………………. 50 Cuadro 20: Promedio de años de uso del ventilador…………………………… 50 Cuadro 21: Promedio de años de uso de la plancha eléctrica………………….. 51
XVI
ÍNDICE DE GRÁFICOS
Pág.
Gráfico 1: Relación difusa de agrupación de subconjuntos difusos…………… 22 Gráfico 2: Subconjuntos difusos……………………………………………….. 23 Gráfico 3: Matriz de Relación difusa …………………………….……………. 23 Gráfico 4: Matriz resultante por preferencia de propiedades ………...………... 24 Gráfico 5: Matriz con nueva relación difusa …………………………………... 24 Gráfico 6: Matriz Booleana…………………………………………………….. 25 Gráfico 7: Grafo de Matriz Booleana………………………………………..… 25 Gráfico 8: Matriz resultante de primera eliminación………………………….. 26 Gráfico 9: Matriz resultante de segunda eliminación…………………...……... 26 Gráfico 10: Matriz resultante de tercera eliminación………………………...... 27 Gráfico 11: Matriz Booleana Ejemplo 1…………………….…………………. 28 Gráfico 12: Matriz resultante primera eliminación Ejemplo 1…..…………….. 28 Gráfico 13: Matriz resultante segunda eliminación Ejemplo 1………………… 29 Gráfico 14: Matriz resultante tercera eliminación Ejemplo 1………………….. 29 Gráfico 15: Matriz resultante cuarta eliminación Ejemplo 1…………………... 30 Gráfico 16: Relación entre elementos de dos conjuntos……………………….. 38 Gráfico 17: Matriz P * C………………………………………..……………… 40 Gráfico 18: Normalización de la matriz P * C………..………………………... 41 Gráfico 19: Matriz binaria resultante……………………..……………………. 42 Gráfico 20: Ordenamiento obtenido por los umbrales……………….………… 42 Gráfico 21: Diagrama de Flujo de Procesos………………………..………….. 52 Gráfico 22: Ventana de Interfaz de usuario……………………………………. 57 Gráfico 23: Pantalla de carga de documento…..………………………………. 58 Gráfico 24: Ingreso cantidad de registros apreciados…………………………. 59 Gráfico 25: Pantalla de carga de datos desde el archivo………………………. 60 Gráfico 26: Valores ingresados en archivo Excel……………………..………. 62 Gráfico 27: Pantalla de resultados……………..………………………………. 63 Gráfico 28: Pantalla de resultados umbrales extremos……...…………………. 64 Gráfico 29: Pantalla historial de resultados………………....…………………. 65
XVII
UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES
“ORDENAMIENTO DE ZONAS URBANO MARGINALES DE
GUAYAQUIL MEDIANTE INDICADORES DE
CONSUMO ELÉCTRICO
RESIDENCIAL”
Autor(es): Beatriz Lucía Romero Saltos
Leonardo Antonio Pincay Sánchez
Tutor: Ing. Luis Manuel Alonso Águila, PhD
Resumen Ante una posible eliminación de subsidios por parte del gobierno, el presente trabajo de investigación propone un algoritmo de ordenamiento basado en indicadores subjetivos que permite priorizar una búsqueda de aquellos sectores de la ciudad de Guayaquil que son los más vulnerables a sufrir el impacto de una eventual reducción de los subsidios al consumo eléctrico. Mediante la aplicación del algoritmo, que emplea una metodología basada en lógica difusa, se pudieron realizar pruebas a ocho zonas urbano-marginales de la ciudad de Guayaquil, utilizando un conjunto de 14 características, que dieron como resultado, en forma de tuplas ordenadas, las zonas con mayor a menor prioridad de atención. Por lo tanto, se puede verificar la eficacia del algoritmo de ordenamiento como parte de una solución para la ayuda de la toma de decisiones, que beneficien a las zonas o regiones con mayor prioridad.
Palabras claves: Algoritmo de ordenamiento, lógica difusa, indicadores, consumo eléctrico.
XVIII
UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES
“ORDER OF GUAYAQUIL URBAN MARGINAL
AREAS THROUGH RESIDENTIAL POWER
ELECTRICAL CONSUMPTION
INDICATORS”
Authors: Beatriz Lucía Romero Saltos
Leonardo Antonio Pincay Sánchez Advisor:
Ing. Luis Manuel Alonso Águila, PhD
Abstract Given the possible elimination of subsidies by the government, this research paper proposes an ordering algorithm based on subjective indicators that allows prioritizing a search of those sectors of the Guayaquil city that are the most vulnerable to suffer the impact of an eventual reduction subsidies electricity consumption. Through the application of the algorithm, which uses a methodology based on fuzzy logic, tests were carried out on eight urban-marginal areas of Guayaquil city, using a set of 14 characteristics, which resulted in the areas with higher to lower priority attention as form of ordered tuples. Therefore, the effectiveness of the sorting algorithm can be verified as part of a solution for decision-making assistance, which benefits the areas or regions with the highest priority.
Keywords: Sorting algorithm, fuzzy logic, indicators, electricity consumption.
1
INTRODUCCIÓN
La energía en nuestra sociedad actual es de vital importancia ya que la
empleamos en el día a día para iluminar nuestros hogares, cocinar las
comidas y para completar nuestras actividades diarias. Actualmente la
electricidad nos brinda una vida más cómoda, desde la luz que utilizamos
para alumbrar nuestros hogares, la refrigeración que nos permite conservar
los alimentos en buen estado, hasta el funcionamiento de grandes
industrias para la elaboración de toda clase de productos para nuestro
consumo.
Es por estas razones que el consumo de energía eléctrica en el país se ha
incrementado a un ritmo acelerado, en los últimos diez años se han
incorporado más de 900 mil familias a la red eléctrica nacional, y para el
futuro el incremento se espera que se realice en mayor cantidad. (Consejo
Nacional de Electricidad [CONELEC], 2018).
El presente trabajo muestra la implementación de un algoritmo que permite
el ordenamiento de ocho zonas urbano-marginales de la ciudad de
Guayaquil bajo una cantidad determinada de características con la finalidad
de priorizar las zonas que presentan mayor afectación y así puedan
tomarse acciones tanto preventivas como correctivas ya sea por parte del
gobierno o por organizaciones sociales no gubernamentales.
La información considerada para determinar las características del
comportamiento proviene de factores objetivos y subjetivos por lo que el
algoritmo se basa en la matemática de la incertidumbre encargada de
modelar los comportamientos actuales en la sociedad.
Este trabajo forma parte de un Proyecto Fondo Competitivo de Investigación (FCI) que está siendo ejecutado por las Facultades de
Ingeniería Industrial y Ciencias Matemáticas y Físicas de la Universidad de
2
Guayaquil, titulado: “Simulación y Proyección del Comportamiento de la
Demanda de Energía Eléctrica en Zonas Rurales y Urbano-Marginales de
Guayas – Ecuador”.
La demanda de electricidad para los sectores urbano-marginales de la
ciudad de Guayaquil se considera circunstancialmente importante para la
planificación de la producción de la electricidad en Ecuador ya que el
mejoramiento del estatus social da como consecuencia el incremento del
consumo (Hidalgo, González, Coello, Barzola y Alonso, 2019).
3
CAPÍTULO I
EL PROBLEMA
En el presente capítulo se muestra la sustentación del presente trabajo de
tesis en el Proyecto Fondo Competitivo de Investigación - 2017:
“Simulación y Proyección del comportamiento de la demanda de energía
eléctrica en zonas rurales y urbano-marginales de Guayas - Ecuador”.
Adicional, se establecen los objetivos a alcanzar en la realización de este
proyecto.
PLANTEAMIENTO DEL PROBLEMA
UBICACIÓN DEL PROBLEMA EN UN CONTEXTO
Según los últimos informes presentados por el Instituto Nacional de
Estadísticas y Censos (INEC) en octubre de 2018, Ecuador alcanzó una
población de 17,096,789 habitantes de los cuales más del 37% se
encuentra ubicada en zonas rurales y 23% en zonas urbano-marginales.
La ciudad de Guayaquil, capital de la provincia del Guayas, fundada según
registros históricos el 25 de julio de 1547 en las faldas del Cerro Santa Ana
se encuentra estimada entre las ciudades más grandes de América Latina.
Ha experimentado en los últimos 50 años un crecimiento acelerado en su
desarrollo comercial, así como el incremento en su población, que ya
supera los 2,5 millones de habitantes. Uno de los factores de este
incremento es la migración desde otras provincias del Ecuador hacia la que
es considerada Puerto Principal del país. Actualmente se sitúa como un
importante centro de desarrollo para el comercio, las finanzas y la cultura.
A pesar del amplio desarrollo que ha presentado en su actividad comercial,
Guayaquil posee una alta tasa de pobreza. El Instituto Nacional de
4
Estadísticas y Censos INEC (2018) ubica en su Encuesta Nacional de
Empleo, Desempleo y Subempleo al indicador de tasa de pobreza en
Guayaquil en el 14,1%.
Considerando el estancamiento en el crecimiento económico que ha
presentado nuestro país durante los últimos años se hace cada vez más
factible la aplicación de una política de ajuste (Ortiz, 2019). En el mes de
agosto de 2018 el Gobierno ecuatoriano implementó políticas de dureza
para generar un ahorro en el gasto estatal, se prescindió del subsidio a la
gasolina súper con lo cual el estado pretende lograr un ahorro de
aproximadamente mil millones de dólares anuales. (Gaibor, 2018).
De igual manera, de mantenerse la delicada situación económica que
atraviesa el país, una revisión de la aplicación de subsidios otorgados por
el estado es cada vez más probable. De plantearse la eliminación de los
subsidios que implican directamente a los usuarios residenciales esto se
vería reflejado en el incremento de los valores a pagar por el consumo
eléctrico lo que provocaría un serio impacto negativo en el factor económico
de la población ecuatoriana, especialmente a las familias pertenecientes a
las clases media y baja. (González, Hidalgo, Coello, Barzola y Alonso,
2019).
Con la finalidad de identificar el comportamiento del consumo de energía
eléctrica se han seleccionado sectores ubicados en zonas urbano-
marginales de la cuidad de Guayaquil, para los cuales se ha aplicado una
encuesta realizada en base a varios criterios de medición del consumo
eléctrico. La información estadística utilizada en el presente trabajo se tomó
del Proyecto de Fondo Competitivo de Investigación (FCI), titulado:
“Simulación y Proyección del Comportamiento de la Demanda de Energía
Eléctrica en Zonas Rurales y Urbano-Marginales de Guayas – Ecuador”.
(González et al, 2019).
5
SITUACIÓN CONFLICTO NUDOS CRÍTICOS
(Pérez Rebolledo, 2011) en su investigación Ahorro y uso eficiente de la
energía: Alternativas para la reducción del consumo residencial en tarifas
DAC menciona: “Actualmente la energía eléctrica es una necesidad en
todos los procesos industriales, en comercios, en servicios y en todos los
hogares, desde la iluminación de las áreas hasta para el lavado, planchado,
enfriamiento y calentamiento”. (p.: 169) Conscientes del amplio crecimiento
que ha mantenido durante las últimas décadas la ciudad de Guayaquil se
vuelve necesario realizar un estudio del consumo eléctrico basado en
indicadores que permitan establecer un patrón de comportamiento de sus
habitantes.
Si bien es cierto existe una relación directa entre el consumo de energía y
el valor a pagar que se refleja en las planillas, es favorable establecer la
incidencia que mantienen ciertas cualidades o características establecidas
por los hábitos de consumo en la economía familiar.
Dentro de los determinantes que se puede considerar influyen en el
consumo elevado de energía eléctrica se encuentra la cantidad de años de
uso de un aparato electrodoméstico y la marca de este. Como es de
conocimiento general el ahorro energético proviene en gran parte de
respetar la vida útil del electrodoméstico que puede fluctuar en un rango
desde los 2 hasta los 15 años. Esta recomendación se hace difícil de
implementar ya que la capacidad de cumplir con el cambio del
electrodoméstico al culminar su vida útil depende del ingreso económico
familiar y como hemos establecido anteriormente existe una elevada tasa
de pobreza en el país.
Actualmente es necesario generar conciencia en la sociedad con base en
la presente investigación de la importancia de implementar mejoras en los
hábitos de consumo de energía a nivel familiar; considerando que las
viviendas representan la base del consumo eléctrico por lo tanto la
regulación del consumo del país depende del consumo generado en sus
hogares. (Hidalgo, Silva y González, 2019).
6
CAUSAS Y CONSECUENCIAS DEL PROBLEMA
Cuadro 1 Causas y consecuencias del problema
Causas Consecuencias
Falta de implementación de políticas gubernamentales que
signifiquen ayuda social a sectores urbano-marginales
Crecimiento del impacto negativo a nivel socioeconómico
Decrecimiento de la economía del país
Posible eliminación de subsidio a la energía eléctrica (Tarifa de la
dignidad)
Desconocimiento de información significativa que permita mejorar el
consumo energético Pago de elevadas planillas de luz
Incremento a futuro de la demanda de energía eléctrica en la ciudad
Posible afectación a la satisfacción de los futuros abonados
Elaboración: Pincay Leonardo, Romero Beatriz Fuente: Agencia de Regulación y Control de electricidad
DELIMITACIÓN DEL PROBLEMA
Cuadro 2 Delimitación del problema
Campo Ordenamiento Territorial, Urbanismo y Tecnología de Sistemas Constructivos
Área Tecnologías de la construcción, Ingeniería Civil y Diseños Arquitectónicos
Aspecto Informático
Tema Ordenamiento de indicadores de Consumo eléctrico residencial considerando algoritmos de lógica difusa
Elaboración: Pincay Leonardo, Romero Beatriz Fuente: Universidad de Guayaquil
7
FORMULACIÓN DEL PROBLEMA
¿En qué aspectos ayuda a las zonas urbano-marginales de Guayaquil el
desarrollo de un aplicativo de ordenamiento de indicadores de consumo
eléctrico residencial?
EVALUACIÓN DEL PROBLEMA
Dentro del presente proyecto se destacan los siguientes aspectos:
Delimitado: La implementación del presente proyecto se encuentra
delimitado de forma directa a las zonas residenciales y urbano-marginales
de la ciudad de Guayaquil, dentro de la Provincia del Guayas en Ecuador.
La selección de la población se ha enfocado a ocho zonas: Bastión Popular,
Los Esteros, Flor de Bastión, Guasmo, Malvinas, Mapasingue, Monte Sinaí,
Vergeles. González et al (2019).
Evidente: La problemática que se manifiesta en el presente proyecto se
dirige a demostrar los criterios que en orden de importancia influyen en el
comportamiento del consumo eléctrico en la población seleccionada.
Concreto: Se presentan en forma precisa catorce indicadores que detallan
las características del consumo eléctrico a nivel residencial, las que
muestran detalladamente la relación que mantiene cada uno de los
indicadores con la zona urbano-marginal estudiada. Con los resultados
obtenidos se establecerá el orden de jerarquía que mantienen los
indicadores en las zonas residenciales y urbano-marginales evaluadas.
González et al (2019).
Relevante: Mediante los resultados obtenidos en el presente proyecto se
pueden establecer nuevas políticas gubernamentales o planes de interés
social no gubernamental, de eficiencia energética priorizando las zonas que
presentan mayor afectación. González et al (2019).
Original: Se puede considerar el presente proyecto como original ya que
muestra la utilización de un algoritmo de ordenamiento basado en lógica
8
difusa. En los últimos años la aplicación de estos modelos en diferentes
áreas como la economía y la ciencia han tenido un éxito considerable y su
implementación es cada vez más utilizada ya que permite el estudio de
fenómenos de interés social, poco factibles de asimilar con modelos
matemáticos o estadísticos. González et al (2019).
Factible: La factibilidad del presente proyecto se basa en la obtención de
los datos de características de consumo eléctrico en las zonas urbano-
marginales de forma directa, mediante la elaboración y aplicación de
encuestas a la población en base a una muestra determinada; así como
también la utilización de instrumentos de medición para establecer la
demanda de electricidad en los diferentes sectores.
OBJETIVOS
OBJETIVO GENERAL
Implementar un algoritmo de ordenamiento en lenguaje de programación
Python en base a los resultados obtenidos en encuestas realizadas con la
finalidad de identificar el comportamiento de los indicadores de consumo
eléctrico en ocho zonas residenciales y urbano-marginales de la cuidad de
Guayaquil, dentro de la Provincia del Guayas.
OBJETIVOS ESPECÍFICOS
• Examinar el algoritmo basado en los fundamentos de la matemática en la incertidumbre y verificar sus características.
• Analizar el impacto del algoritmo en base a los resultados obtenidos
para comprobar su eficiencia.
• Evaluar el rendimiento del algoritmo para presentar su posible uso en otros ámbitos de la ciencia.
9
ALCANCES DEL PROBLEMA
En el presente proyecto se desarrollará un algoritmo de ordenamiento
basado en las matemáticas en la incertidumbre, mediante el Lenguaje de
Programación Python el cual permitirá establecer por medio de indicadores
de consumo eléctrico la incidencia de afectación en ocho zonas
residenciales urbano-marginales de la ciudad de Guayaquil. La información
estadística utilizada se tomó del Proyecto FCI titulado: “Simulación y
Proyección del Comportamiento de la Demanda de Energía Eléctrica en
Zonas Rurales y Urbano-Marginales de Guayas – Ecuador.”
El ordenamiento que se obtiene mediante la implementación de este
algoritmo establecerá la incidencia de los indicadores de mayor a menor
según las zonas analizadas. González et al (2019)
El rendimiento del algoritmo implementado será verificado en base al grado
de cumplimiento de las características fundamentales que debe cumplir
todo algoritmo. De igual manera se planteará el posible uso de este en otros
ámbitos de investigación.
JUSTIFICACIÓN E IMPORTANCIA
En base a la creciente demanda de energía y la importancia que esta
significa en la vida diaria, se han realizado en las últimas décadas varios
estudios en diferentes países del mundo, en los cuales se plantean
modelos que permitan aclarar la compleja relación entre el consumo de
electricidad y los factores que influyen en dicho consumo.
Son muy variados los modelos empleados en dichos estudios y
actualmente los modelos basados en matemática numérica y no numérica
en la incertidumbre se consideran los más apropiados para ser
considerados para este tipo de estudio. Al tratar diversos fenómenos o
comportamientos que dependen de factores subjetivos como son
conciencia, voluntad, forma de pensar o deseos es prácticamente imposible
abordarlos con modelos matemáticos basados en certeza o aleatoriedad
10
por lo cual este tipo de estudios se fundamentan en la lógica difusa.
González et al (2019).
El desarrollo del presente algoritmo de ordenamiento que permite
establecer patrones de consumo eléctrico en zonas residenciales y urbano-
marginales de la ciudad de Guayaquil, es de importancia social a las
autoridades correspondientes ya que brinda información de interés sobre
los medios de vida de la población y sus condiciones económicas (Hidalgo
et al, 2018). Con dicha información se podrían elaborar políticas apropiadas
que permitan mejorar dichas condiciones de vida y prevenir repercusiones
negativas en el ámbito económico por posibles medidas que puedan ser
implementadas en tiempos de austeridad.
11
CAPÍTULO II
MARCO TEÓRICO
La implementación del presente proyecto como se demostrará en este
capítulo se ha fundamentado en la revisión de literaturas y proyectos que
se han realizado en las últimas décadas con respecto al incremento del
consumo de la energía eléctrica a nivel mundial.
ANTECEDENTES DEL ESTUDIO
La importancia que ha obtenido la energía en nuestra vida ha dado lugar a
una cantidad considerable de investigaciones dedicadas a determinar la
relación que existe entre el consumo de electricidad y los numerosos
factores que determinan dicho consumo.
Con esta finalidad de establecer esta relación se han establecido
numerosos modelos usando diferentes criterios, tales como estáticos,
dinámicos, a corto, mediano, largo plazo, así como modelos que distinguen
las diferentes formas de energía y otros que determinan su consumo a nivel
global sin diferenciar su origen.
Para el desarrollo del presente proyecto se han analizado diversos estudios
que buscan determinar el impacto del precio relativo de la energía y el
ingreso real sobre el consumo de energía. Así también se hace referencia
a la afectación al medio ambiente del planeta debido a que la obtención de
la energía se realiza en mayor parte de combustibles fósiles como el
petróleo o gas natural.
De igual manera se han consultado trabajos de varios autores donde se
examina la teoría de la decisión utilizada para el estudio del
comportamiento de modelos en los cuales se describe el proceder de los in
12
dividuos al momento de tomar decisiones considerando factores objetivos
y subjetivos en su entorno. (Alonso, 2008)
FUNDAMENTACIÓN TEÓRICA
La energía eléctrica
Con el desarrollo alcanzado por la sociedad moderna en las últimas
décadas (1950 – 2000), que se refleja en el poder económico y el alto nivel
de progreso tecnológico que han logrado muchos países, se ha
incrementado también el consumo total de energía en el mundo.
“La corriente eléctrica hace que la tecnología funcione, desde la electrónica
personal hasta la red interconectada de suministro eléctrico. También es
responsable de fenómenos naturales que van desde los rayos a las
membranas celulares” (Rex y Wolfson, 2011, p.415).
La ventaja de la utilización de la electricidad radica en la facilidad con la
que se genera y se transporta hacia los consumidores. El principal
inconveniente se refleja en la forma en que se produce esta energía; las
centrales térmicas producen una gran cantidad de humo y gases
contaminantes perjudiciales para el ambiente; en la energía que se obtiene
de centrales nucleares existe un elevado riesgo de accidentes graves y
además la generación de residuos tóxicos que significan alta contaminación
(Guía comunitaria para la salud ambiental, 2011).
La mayor parte de la electricidad en el planeta se obtiene mediante la
combustión de combustibles fósiles como el carbón, petróleo o gas natural.
Como ejemplo podemos citar el carbón que se extrae de la tierra y se envía
a las centrales eléctricas donde al quemarse calienta grandes cantidades
de agua produciendo vapor y humo tóxico; este vapor enciende turbinas
que generan la electricidad pero el humo tóxico se libera en el aire
generando contaminación ambiental.
13
Con la finalidad de reducir la contaminación ambiental y frenar el cambio
climático se están implementando soluciones para la producción de energía
eléctrica limpia, es decir que no sean contaminantes del ambiente; entre
ellas podemos considerar la energía eólica y la energía solar.
Distribución de energía
El gobierno y las industrias privadas son las encargadas de administrar y
distribuir a las diferentes áreas del país la energía eléctrica mediante la
utilización de un tendido de líneas de alto voltaje y transformadores que
regulan dicho voltaje para que alimente los hogares y el alumbrado en
general.
El uso adecuado de electricidad
Una forma de contribuir con la reducción de la contaminación ambiental es
aprender a utilizar la energía eléctrica de una manera adecuada en todos
los hogares. Los gobiernos deben promover un mejor uso de la energía
eléctrica emprendiendo campañas de educación incentivando un uso más
eficiente de energía en las fábricas, negocios y en los hogares; así como la
utilización de la electricidad en varios horarios para evitar un elevado
consumo en un mismo periodo de tiempo.
El presente trabajo plantea estimar mediante la aplicación de un algoritmo
de ordenamiento la afectación del comportamiento de la demanda de la
energía eléctrica en zonas rurales y urbano-marginales para de esta
manera ponderar los indicadores más importantes que caracterizan el
comportamiento de consumo de la población seleccionada.
Algoritmo
Debemos establecer previamente la definición de algoritmo que se
considera como el tema principal a desarrollar en el presente trabajo de
tesis. “Un algoritmo es un método para resolver un problema” (Joyanes,
Zahonero, 2014, p.42) mediante una serie de pasos precisos, definidos y
finitos.
14
Por lo tanto, podemos considerar que un algoritmo es una secuencia de
instrucciones que se ejecutan en un orden particular mediante el cual se
puede obtener una solución para un problema específico.
Características de un algoritmo
Un algoritmo debe cumplir tres características fundamentales:
• Debe especificar el orden de realización de los pasos, por lo tanto debe ser preciso.
• Debe ser definido, esto quiere decir que si se realiza varias veces el
resultado obtenido debe ser el mismo.
• Debe contener un número determinado de pasos, es finito ya que si se sigue un algoritmo debe producir un resultado en un determinado
momento.
Al momento de desarrollar un algoritmo debemos considerar que sus pasos
sean simples y libres de ambigüedades ya que esto afectaría a la
interpretación y efectividad al momento de resolver el problema (Uriarte,
2018)
Matemáticas en la Incertidumbre
En los últimos cincuenta años se han llevado a cabo intentos de construir
un tipo de matemática basada en la lógica multivalente cuyo principio
menciona que existe una delgada línea entre la verdad total y la completa
falsedad. Los orígenes de esta teoría se remontan a muchos años atrás en
el desarrollo del pensamiento humano considerando a filósofos como
Platón o Heráclito que consideraban situaciones que no encajaban en tales
situaciones extremas. A comienzos del siglo XIX fue Charles S. Pierce
quien diseñó un sistema de Lógica trivalente y aunque no hizo públicos sus
diseños se considera uno de los fundadores de la lógica contemporánea.
Luego de él varios lógicos desarrollaron sistemas de lógica multivalente
tales como Jan Lukasiewicz, M. Wajsberg, J. Slupecki, Boleslaw
15
Sobocinski, etc. También debemos considerar aportaciones en el estudio
algebraico de lógicos como E. Post, Gregor Moisil, Varlet, Rasiowa, Antonio
Monteiro, R. Cignolo, etc. (Uriarte, 2018)
De estos intentos de los investigadores en construir una división de las
matemáticas basada en la lógica multivalente surgió una idea que al pasar
del tiempo abrió el camino hacia las matemáticas de la incertidumbre. Se
desarrollaron elementos numéricos que forman el camino de la aritmética
de la incertidumbre, creando operadores “blandos” con la finalidad de
fusionar elementos subjetivos (Gil-Lafuente, 2014). Actualmente los
investigadores se esfuerzan en el desarrollo de nuevos conceptos que
permitan identificar elementos que componen las matemáticas fusionadas
para de esta forma se logre la expresión con alta fidelidad de la lógica
multivalente por medio de las matemáticas de la incertidumbre numérica y
no numérica.
La importancia de contar con una matemática aplicada en diferentes
campos tales como el ámbito social o económico ha develado la necesidad
de desarrollar instrumentos adecuados para tratar problemas de decisión
que muy difícilmente pueden resolverse con las matemáticas puras. La
construcción de los instrumentos adecuados ha dado paso a la
incorporación de varios algoritmos en donde se permite la sustitución de
los números claros por números inciertos los cuales resultan más
adecuados para manejar la realidad.
El análisis de decisión
Rubio y Rubio (2012) afirman: ‘La toma de decisiones se refiere a cualquier
proceso mediante el cual, los directivos, los profesionales, los expertos o
los poderes públicos competentes adoptan una determinada resolución
ante un problema de gestión de la realidad, eligiendo de entre todas las
disponibles la opción más conveniente al interés individual o colectivo”
(p.3).
16
Podemos así establecer que el proceso de análisis de decisión se basa en
la probabilidad y en la teoría de la utilidad, mediante el cual se intenta
brindar alternativas que permitan optimizar los resultados cuando se tratan
temas de incertidumbre.
La incertidumbre
Cuando una situación no brinda la información suficiente para determinar
su verdadero valor esto se denomina incertidumbre. Esta se puede originar
por las diferencias que existen entre los parámetros de origen que
intervienen en determinado estudio o bien por la utilización de metodologías
que no siguen las prácticas o normas tradicionales. Una forma de disminuir
estos problemas es mediante la aplicación del denominado análisis de
sensibilidad.
El análisis de sensibilidad
Mediante la utilización de análisis de sensibilidad se trata de reducir la
incertidumbre derivada de la variabilidad de los parámetros. Rubio y Rubio
(2012) indican: “Es un proceso analítico que examina los cambios que
experimentarían los resultados de proyectos, programas o servicios, ante
situaciones de incertidumbre que son consecuentes a las posibles
modificaciones que pueden registrarse en los valores de las principales
variables intervinientes en un modelo”.
Se trata de un procedimiento para determinar cuan sensible es la solución
supuestamente óptima a los cambios de las variables empleadas en una
ecuación o modelo, es decir que se puede considerar que se trata de una
forma de predecir el resultado que puede obtenerse de la toma de una
decisión.
Aunque se emplea comúnmente el análisis de sensibilidad con una
orientación a la incertidumbre, existen varios enfoques al momento de
realizar un análisis de sensibilidad. Detallamos en el siguiente cuadro
cuatro tipos de análisis que pueden considerarse como principales.
17
Cuadro 3 Tipos de análisis de sensibilidad
Simple Estudia la afectación de la variación dentro de rangos razonables y como pueden afectar a los resultados obtenidos
De umbral Trata de identificar el valor crítico de los parámetros que pueden modificar los resultados
De extremos Las alternativas se comparan tratando de identificar los casos extremos, es decir el más pesimista y el más optimista
Probabilístico Se asignan rangos o distribuciones a las variables y se seleccionan valores de forma aleatoria dentro de los rangos para determinar un grado de confianza
Elaboración: Pincay Leonardo, Romero Beatriz Fuente: Andrew Briggs. Handling uncertainty in the results of economic evaluation. (p.: 6, 7)
En el cuadro a continuación se resumen las ventajas y desventajas del uso
de cada uno de los principales Tipos de análisis de sensibilidad
mencionados en el cuadro superior.
Cuadro 4 Ventajas y desventajas de los análisis de sensibilidad
Tipos de análisis de sensibilidad Ventajas
Desventajas
Simple Facilidad de uso y
flexibilidad en la elección de la variable
Complicada interpretación en su versión plurivariante
De umbral Utilidad cuando se
desconoce el valor exacto de la variable
Las variables solo pueden analizarse una a una
De extremos Utilidad cuando se aplica a escenarios límite
Incapacidad para estimar valores intermedios
Probabilístico Facilidad de uso si se
dispone de buenos programas informáticos
Debe asumirse la normalidad de la
distribución de frecuencias Elaboración: Santiago Rubio C. y Beltrán Rubio G.
Fuente: Técnicas cuantitativas de ayuda a la evaluación de las tecnologías sanitarias. (p.: 19)
Elementos fundamentales de la Teoría de la Decisión
18
Luego de diversos estudios de campo realizados se pudo determinar el
hecho de que en la mayoría de los casos la aceptación de una decisión
ocurre para establecer una relación o para afectarla. Confirmado esto
podemos definir la existencia de los elementos que constituyen un soporte
a la acción de tomar decisiones, los cuales son: relación, asignación,
agrupación y orden.
En otros casos también se ha podido comprobar que se pueden realizar
agrupaciones de carácter heterogéneo o para establecer un orden fijando
prioridades ya sea de mejor a peor o en dirección contraria.
Cualquiera sea el caso, uno o varios de los elementos fundamentales
mencionados se harán presentes al momento de implementar las acciones.
Relación
Las relaciones son una parte fundamental de la vida cotidiana así como
también lo son dentro del entorno empresarial o económico por lo que
podemos establecer que este ligada a toda nuestra vida. Dentro del ámbito
científico se cumple la misma premisa ya que los estudios y desarrollo de
distintas teorías a lo largo de la historia no son elementos aislados sino por
el contrario mantienen una estrecha relación.
La principal característica de una relación es que cualquier elemento puede
relacionarse con otro de forma directa o indirecta; pero debemos establecer
que esta relación existente entre uno o varios elementos entre sí no
siempre es simétrica ya a que una relación en una determinada dirección
no siempre le corresponde una de forma contrapuesta.
Con la finalidad de expresar las relaciones que se pueden establecer entre
uno o varios elementos en distintas direcciones se incorpora la utilización
de grafos, estos permiten ilustrar la existencia o no de relaciones entre los
elementos y el grado de esta. En este punto se implementa la utilización de
gráficos difusos o algoritmos dentro de la lógica multivalente para poder
determinar qué tan fuertemente se encuentran establecidos los circuitos de
relaciones.
19
La relación se define por lo tanto como la base o soporte principal para la
toma de decisiones y un elemento clave para los conceptos de asignación,
agrupación y orden.
Asignación
Podemos definir la asignación como una representación especial de una
determinada relación, es decir el elemento susceptible de afectación y el
elemento que debe afectarse no pueden intercambiar sus roles bajo
ninguna circunstancia, por lo tanto la dirección de la relación es siempre la
misma.
Para establecer estos roles se debe considerar: un primer conjunto que
incluye los elementos a asignar, un segundo conjunto que incluye los
elementos que deben recibir la asignación y un tercer conjunto que
establece las directrices para la asignación, es decir cualidades,
características, particularidades a lo que se puede nombrar como los
criterios de asignación (Gil-Lafuente et al, 2014).
Esta tarea de asignar un objeto a otro debe cumplirse de forma precisa por
lo que se utilizan algoritmos capaces de establecer el número de
operaciones necesarias para encontrar una solución eficiente al problema.
Son tres los procedimientos especificados para encontrar la respuesta más
acorde al caso: El algoritmo mediante eliminación de filas y columnas, el
algoritmo húngaro y el algoritmo de ramificación y unión.
Agrupación
Son innumerables las áreas en donde la agrupación de objetos se presenta
como un conflicto permanente. Dentro del ámbito económico, de
producción o financiero; el lograr una agrupación de componentes
semejantes se presenta por medio de un problema de decisión.
Dentro de los procesos de agrupación cobró importancia el término
semejanza pero con el avance en el desarrollo de las matemáticas de la
incertidumbre se pudo confirmar que este concepto no era lo
20
suficientemente útil para realizar un agrupamiento eficiente. Por lo tanto se
demostró que emplear relaciones de similitud permiten formar grupos con
la mayor cantidad de objetos posibles y que cuenten con características
similares, para esto se desarrollaron algoritmos como el de Pichat y el de
Lafosse-Marin-Kaufmann.
Estos elementos han sido de gran importancia para realizar agrupaciones
por similitudes, pero a lo largo de la aplicación a la realidad no han sido lo
suficientemente efectivos para resolver problemas de tipo económico o
social.
Orden
Es claro hasta el momento que es cada vez más complicado representar o
definir los problemas actuales de nuestra sociedad en numerosos ámbitos
por medio de uno, dos o más números; debido a esto el concepto de orden
se coloca como fundamental en la teoría de la decisión en términos
inciertos.
Para conseguir ordenaciones sólidas es beneficioso realizar
representaciones en base a gráficos de matriz o flechas, estas
representaciones proporcionan esquemas sólidos que permiten establecer
una relación de orden. Se utiliza el operador convolución máxima para
obtener una matriz latina (matriz cuadrada de n x n en la que todos sus
elementos son ceros salvo los de su fila y columna central cuando n es
impar; o sus dos filas y columnas centrales si n es par) lo que permite
establecer caminos elementales que establecen un orden.
Podemos concluir que el concepto de orden desempeña un papel principal
al momento de tomar una decisión, sobre todo al momento de encontrar
soluciones a los problemas cada vez más confusos que presentan los
sistemas sociales, económicos y demás.
Importancia del orden en la teoría de la decisión
Los conceptos de relación, asignación y agrupación se han justificado como
de gran importancia dentro de las matemáticas en la incertidumbre pero se
21
puede establecer el concepto de orden como el primordial para la toma de
decisiones.
(Gil-Lafuente, 2014) plantea la teoría del orden como una clasificación de
las preferencias de los objetos físicos o mentales, que se establecen sobre
una base de la apreciación objetiva o subjetiva de sus características o
particularidades.
Para establecer un orden se debe considerar previamente las propiedades
que mantienen los objetos con la finalidad establecer un tipo de relación
entre ellos, lo cual nos permite formar conjuntos referenciales y así
comprobar esa relación que existe entre dichos conjuntos.
Lo más factible para representar las relaciones es el uso de matrices o
grafos. Para el caso de matrices los resultados obtenidos pueden ser de
formas rectangulares o cuadradas. Si se busca una relación única entre los
objetos la forma de matriz cuadrada es la más acertada.
Hay varias formas para obtener un grafo que demuestre las interrelaciones
de los elementos de un conjunto pero estableceremos la principal: cómo
encontrar un gráfico que simbolice las relaciones entre los objetos según
sus características o particularidades para obtener un orden.
Consideremos los conjuntos E1 y E2 en donde el conjunto E1 lo forman
objetos aptos de elección y el conjunto E2 lo forman las características o
propiedades de dichos objetos:
E1 = {P1, P2, P3, ……….., Pm}
E2 = {C1, C2, C3, ………., Cn}
Cada objeto del conjunto E1 posee un nivel determinado de las
características dentro del conjunto E2 lo cual se medirá en valores [0,1].
22
El gráfico 1 nos muestra la unión de subconjuntos difusos que se obtiene
para cada uno de los objetos del conjunto E1 y de las características del
conjunto E2.
Gráfico 1
Relación difusa de agrupación de subconjuntos difusos
Elaboración: Pincay Leonardo, Romero Beatriz
Fuente: J. Gil Aluja. Elementos para una teoría de la decisión en la incertidumbre.
Para aclarar el proceso se presenta a continuación un algoritmo
desarrollado en base a una matriz formada por 6 objetos que son
susceptibles de ser ordenados {Pi / i = 1, 2, …, 6} y 5 características sobre
las cuales se basa la valoración de los objetos {Cj / j = 1, 2, …, 5}.
En los siguientes subconjuntos difusos se muestra el grado en que cada
objeto posee determinada característica, es decir el objeto (a) domina la
característica A en 0.8, es decir al 80%; mientras que para el mismo objeto
(a) la característica E la domina tan solo en 0.1, es decir al 10%.
Gráfico 2 Subconjuntos difusos
23
Elaboración: Pincay Leonardo, Romero Beatriz
Fuente: J. Gil Aluja. Elementos para una teoría de la decisión en la incertidumbre.
Esta información puede obtenerse por medidas, utilizando una verificación
objetivas o por medio de estimaciones, utilizando verificaciones subjetivas.
En base a los subconjuntos difusos formados ensamblamos una matriz de
relación difusa [R] como se muestra en el gráfico a continuación:
Gráfico 3
Matriz de Relación difusa
Elaboración: Pincay Leonardo, Romero Beatriz
Fuente: J. Gil Aluja. Elementos para una teoría de la decisión en la incertidumbre.
24
Se debe realizar la comparación de cada elemento dentro de las filas para
determinar la cantidad de veces en que los valores se prefieren uno sobre
otro, sumamos la cantidad de veces y obtenemos la siguiente matriz que
se ilustra a continuación:
Gráfico 4 Matriz resultante por preferencia de propiedades
Elaboración: Pincay Leonardo, Romero Beatriz
Fuente: J. Gil Aluja. Elementos para una teoría de la decisión en la incertidumbre.
Luego convertimos la matriz en una nueva relación difusa que se obtiene
dividiendo cada uno de sus elementos en las celdas por la cantidad de
características o propiedades utilizadas en el ejercicio, en este caso por 5,
lo que nos da la siguiente matriz:
Gráfico 5 Matriz con nueva relación difusa
Elaboración: Pincay Leonardo, Romero Beatriz
Fuente: J. Gil Aluja. Elementos para una teoría de la decisión en la incertidumbre.
25
Consideramos como paso siguiente un umbral, por ejemplo con respecto a
los valores resultantes en la nueva relación difusa elegimos el 0.8. Los
valores menores al elegido como umbral se convierten en 0 y los valores
mayores o iguales al umbral elegido se convierten en 1; de lo cual se
obtiene la siguiente matriz booleana:
Gráfico 6 Matriz Booleana
Elaboración: Pincay Leonardo, Romero Beatriz
Fuente: J. Gil Aluja. Elementos para una teoría de la decisión en la incertidumbre.
Esta matriz se puede representar también mediante un grafo.
Gráfico 7 Grafo de Matriz Booleana
Elaboración: Pincay Leonardo, Romero Beatriz
Fuente: J. Gil Aluja. Elementos para una teoría de la decisión en la incertidumbre.
26
Para obtener el respectivo ordenamiento de las características con
respecto a los objetos de la matriz booleana realizamos la eliminación de
la columna cuyos elementos sean ceros y con la finalidad de mantener la
matriz cuadrada eliminamos también la fila correspondiente.
Gráfico 8 Matriz resultante de primera eliminación
Elaboración: Pincay Leonardo, Romero Beatriz
Fuente: Datos de la investigación
Consideramos la columna (d) como el primer elemento en el ordenamiento
y continuamos con la eliminación por columna y fila correspondiente, en
este caso la columna (a) posee todos sus elementos ceros por lo que es la
segunda eliminación a realizarse:
Gráfico 9 Matriz resultante de segunda eliminación
Elaboración: Pincay Leonardo, Romero Beatriz
Fuente: Datos de la investigación
27
Para la tercera eliminación, como podemos verificar en la matriz del Gráfico
9 las columnas (b) y (c) están formadas por ceros, por lo tanto se eliminan
al mismo tiempo y forman parte del tercer elemento en el ordenamiento.
Gráfico 10
Matriz resultante de tercera eliminación
Elaboración: Pincay Leonardo, Romero Beatriz
Fuente: Datos de la investigación
Para la última eliminación se selecciona la columna (f) y al no existir
columnas adicionales para continuar el último lugar en el ordenamiento lo
posee la columna (e). A continuación se muestra el resultado obtenido por
el proceso de eliminación realizado mediante la aplicación del algoritmo de
ordenamiento.
( d ) > ( a ) > ( b, c ) > ( f ) > ( e )
Debemos puntualizar que el resultado del orden puede tener o no valor
práctico pero tal observación no es una deficiencia del algoritmo, el
resultado en general depende del umbral escogido y de las relaciones de
preferencia que existen al momento de ordenar.
Otras precisiones sobre el algoritmo de ordenamiento
Seguidamente se muestra un ejemplo con una situación extrema; el
primero de un orden difuso y el segundo de un orden casi perfecto.
Ejemplo 1
Supongamos que se tiene la siguiente matriz booleana:
28
Gráfico 11 Matriz Booleana Ejemplo 1
Elaboración: Pincay Leonardo, Romero Beatriz
Fuente: Datos de la investigación
Procedemos a aplicar la eliminación de columna y la fila correspondiente
identificando la que se encuentre formada por ceros, en este caso la
primera columna a eliminar es la (g), luego de lo cual obtenemos la
siguiente matriz:
Gráfico 12
Matriz resultante primera eliminación Ejemplo 1
Elaboración: Pincay Leonardo, Romero Beatriz
Fuente: Datos de la investigación
Podemos identificar por observación que ninguna de las columnas de la
matriz resultante se encuentra formada completamente por ceros por lo que
no se puede mantener el mismo criterio de eliminación. En este caso se
29
selecciona la columna con la mayor cantidad de ceros que para el ejemplo
es la columna (h), luego de lo cual se obtiene:
Gráfico 13 Matriz resultante segunda eliminación Ejemplo 1
Elaboración: Pincay Leonardo, Romero Beatriz
Fuente: Datos de la investigación
Como se puede observar se debe mantener el mismo criterio de eliminación
ya que las columnas se encuentran formadas por ceros y unos,
seleccionamos nuevamente la columna que mantiene la mayor cantidad de
ceros que para este caso es la (c) y realizamos la eliminación.
Gráfico 14 Matriz resultante tercera eliminación Ejemplo 1
Elaboración: Pincay Leonardo, Romero Beatriz
Fuente: Datos de la investigación
Como podemos observar para la cuarta eliminación las columnas (a) y (d)
contienen la misma cantidad de ceros en sus elementos por lo que su
eliminación se realiza de manera simultánea y al final la matriz se ve
30
reducida a tres columnas las cuales tienen la misma cantidad de elementos
ceros y unos en sus columnas por lo que ocupan el último puesto en el
ordenamiento.
Gráfico 15
Matriz resultante cuarta eliminación Ejemplo 1
Elaboración: Pincay Leonardo, Romero Beatriz
Fuente: Datos de la investigación
El orden obtenido luego de la aplicación del algoritmo es:
( g ) > ( h ) > (c ) > ( a, d ) > ( b, e, f )
Python
Existen muchos lenguajes de programación pero se ha seleccionado
Python para la implementación del algoritmo a realizarse en el presente
trabajo.
Python es un lenguaje de programación de muy alto nivel, es decir su
filosofía hace énfasis en que su sintaxis sea de fácil interpretación por el
usuario por lo que es considerado de fácil aprendizaje.
Además es un lenguaje interpretado, es decir no necesita compilarse, lo
que permite ahorrar mucho tiempo durante el desarrollo (Van Rossum,
2017).
Este lenguaje de programación fue creado a finales de los años ochenta
por Guido Van Rossum, programador de origen holandés. Se trata de un
software administrado por una organización sin fines de lucro, la Python
Software Foundation creada en marzo de 2001 con la finalidad de respaldar
31
una comunidad de usuarios con el propósito de mejorar constantemente el
desarrollo del lenguaje.
Por tratarse de un software libre no se necesita adquirir una licencia para
programar. Su descarga se realiza directamente de la página web
www.python.org y al momento se encuentra actualizado a la versión 3.7.4.
Ofrece mucha estructura y soporte para programas grandes. Permite
separar el programa en módulos para que estos puedan ser ejecutados por
otros programas en Python, es decir que puedes tener acceso a módulos
ya creados para cosas como entrada/salida a archivos, interfaces gráficas
entre otros (Van Rossum, 2017).
Soporta tanto programación estructurada como programación orientada a
objetos.
FUNDAMENTACIÓN LEGAL
El presente trabajo de tesis forma parte del Proyecto de Investigación
“Simulación y Proyección del Comportamiento de la demanda de energía
eléctrica en zonas rurales y urbano-marginales del Guayas – Ecuador”
desarrollado por la Universidad de Guayaquil mediante la Facultad de
Ingeniería Industrial y Facultad de Ciencias Matemáticas y Físicas.
La Constitución de la República del Ecuador promueve la investigación
científica con el objetivo de brindar soluciones a los problemas del país.
Indica en su artículo 350:
“El sistema de educación superior tiene como finalidad la formación
académica y profesional con visión científica y humanista; la investigación
científica y tecnológica; la innovación, promoción, desarrollo y difusión de
los saberes y las culturas; la construcción de soluciones para los problemas
del país, en relación con los objetivos del régimen de desarrollo.”
Además brinda la autonomía a las universidades del país con la finalidad
de producir libremente tecnología en búsqueda de la verdad.
32
En su artículo 355 menciona: “El Estado reconocerá a las universidades y
escuelas politécnicas autonomía académica, administrativa, financiera y
orgánica, acorde con los objetivos del régimen de desarrollo y los principios
establecidos en la Constitución.
Se reconoce a las universidades y escuelas politécnicas el derecho a la
autonomía, ejercida y comprendida de manera solidaria y responsable.
Dicha autonomía garantiza el ejercicio de la libertad académica y el derecho
a la búsqueda de la verdad, sin restricciones; el gobierno y gestión de sí
mismas, en consonancia con los principios de alternancia, transparencia y
los derechos políticos; y la producción de ciencia, tecnología, cultura y arte.”
LEY ORGÁNICA DE EDUCACIÓN SUPERIOR
TITULO I
ÁMBITO, OBJETO, FINES Y PRINCIPIOS DEL SISTEMA DE EDUCACIÓN SUPERIOR
CAPÍTULO II
FINES DE LA EDUCACIÓN SUPERIOR
Art. 3.- Fines de la Educación Superior. - La educación superior de
carácter humanista, intercultural y científica constituye un derecho de las
personas y un bien público social que, de conformidad con la Constitución
de la República, responderá al interés público y no estará al servicio de
intereses individuales y corporativos.
Art. 13.- Funciones del Sistema de Educación Superior. - Son funciones
del Sistema de Educación Superior:
m) Promover el respeto de los derechos de la naturaleza, la preservación
de un ambiente sano y una educación y cultura ecológica.
Debemos recordar que como política de estado dentro de nuestro país se
encuentra vigente un subsidio para la electricidad determinado por el
33
consumo que mantiene el abonado del servicio, el mismo que se encuentra
vigente en nuestro país desde el 30 de junio de 2007.
DECRETO No. 451-A
Econ. Rafael Correo Delgado
PRESIDENTE CONSTITUCIONAL DE LA REPÚBLICA
DECRETA:
Artículo 1.- El Estado Ecuatoriano otorga un subsidio a los usuarios
residenciales del país ubicados en los quintiles 1 y 2 de ingresos de la
Encuesta de Condiciones de Vida elaborada por el Instituto Nacional de
Estadísticas y Censos - INEC, que actualmente representan un consumo
mensual de hasta 110 KWh en las empresas eléctricas de distribución de
la Sierra y en las de la Costa, Oriente y Región Insular que actualmente
representan un consumo mensual de hasta 130 kWh.
Artículo 2.- El subsidio consistirá en un valor mensual que cubra la
diferencia entre el valor que actualmente paga cada abonado en los rangos
descritos en el artículo 1 de este decreto ejecutivo y el equivalente al
consumo de energía por el valor de USD 0,04 por KWh mensual registrado
por el abonado, por concepto de consumo y USD 0,71 por concepto de
comercialización de la energía eléctrica.
Artículo 3.- El subsidio detallado en los artículos anteriores beneficiará a
los consumidores residenciales que tienen servicio suministrado por las
empresas de distribución.
El Código Orgánico de la Economía Social de los conocimientos,
creatividad e innovación promueve los procesos de innovación social, para
así generar una mejora de las condiciones de vida de los ciudadanos.
34
CÓDIGO ORGÁNICO DE LA ECONOMÍA SOCIAL DE LOS CONOCIMIENTOS, CREATIVIDAD E INNOVACIÓN
TÍTULO II
DE LA INNOVACIÓN SOCIAL
CAPÍTULO I
DEFINICIÓN, COMPONENTES Y CARACTERÍSTICAS
Artículo 74.- Innovación social. - Es el proceso creativo y colaborativo
mediante el cual se introduce un nuevo o significativamente mejorado bien,
servicio o proceso con valor agregado, que modifica e incorpora nuevos
comportamientos sociales para la resolución de problemas, la aceleración
de las capacidades individuales o colectivas, satisfacción de necesidades
de la sociedad y el efectivo ejercicio de derechos. Está orientada a generar
impactos sociales, económicos, culturales y tecnológicos que fomenten el
buen vivir.
DEFINICIONES CONCEPTUALES
Algoritmo
Un algoritmo es un método para resolver un problema mediante una serie
de pasos precisos, definidos y finitos (Joyanes et al, 2014, p.: 42).
Característica
“Una cualidad que da carácter o sirve para distinguir a alguien o algo de
sus semejantes” (Diccionario de la Real Academia Española, 2014).
Consumo eléctrico
Es la cantidad de energía eléctrica, que mediante un contador, determina
la compañía que suministra la energía como la utilizada por cada vivienda.
35
Decisión
“Resolución que se toma o se da en una cosa dudosa” (Diccionario de la
Real Academia Española, 2014).
Energía eléctrica
La energía eléctrica es una fuente de energía renovable que se produce
mediante el movimiento de electrones en un material conductor. Se
produce en centrales eléctricas a partir de la transformación de una energía
primaria como pueden ser: hidráulica, térmica, solar, nuclear, etc.)
Factores objetivos
“Se entiende por factores objetivos las condiciones que no dependen de los
hombres y determinan la orientación y el marco de su actividad”
(Diccionario de filosofía,1984, p.: 162).
Factores subjetivos
“Es la opinión o sentir que corresponde al modo de pensar de un sujeto en
particular, es decir su conciencia, voluntad o capacidad de obrar”
(Diccionario de filosofía,1984, p.: 162).
Incertidumbre
Falta de conocimiento seguro o claro de algo.
Indicador
Información que sirve para valorar características entre dos o más tipos de
datos con la finalidad de obtener una medida cuantitativa que muestra
cambios y permita medir acontecimientos (Mousalli-Kayat, 2015).
Modelo matemático
Es un sistema mediante el cual se emplean fórmulas matemáticas con el
objetivo de representar un objeto, relaciones o restricciones.
36
Ordenamiento
Es la acción de ordenar, es decir colocar elementos en una determinada
manera para la obtención de un fin determinado.
Zonas
Parte de terreno o de superficie encuadrada entre ciertos límites que son
determinados por razones administrativas, políticas, etc. (Diccionario de la
Real Academia Española, 2014).
37
CAPÍTULO III
METODOLOGÍA DE LA INVESTIGACIÓN
Elementos en la teoría de decisión basados en la incertidumbre.
El algoritmo empleado para realizar el ordenamiento de las zonas está
basado en los principios de la lógica difusa de segundo orden: 𝐺𝐺 ⊂ 𝑃𝑃 ∗ 𝐶𝐶,
donde se pueden establecer las relaciones que existen entre los atributos
o determinantes de un conjunto.
Debido al aumento en la demanda de energía eléctrica en zonas en
constante crecimiento y sin una correcta supervisión, nos resulta útil la
utilización de esta metodología, ya que en la realidad social sufren
convulsiones en las que resulta inútil la aplicación de técnicas lineales.
Las relaciones entre los elementos del conjunto se fijan mediante la
asignación de roles: el objeto que cumple las condiciones para la afectación
y el objeto a ser afectado. Dichos elementos formaran una matriz ordenada,
mediante la cual se puede llevar a establecer si existe una relación entre
ellos, además de explicar el ordenamiento que se forma con ello, de
acuerdo con el patrón de consumo energético.
Visto de una manera más formal, el algoritmo requiere de un conjunto
referencial de m cantidad de elementos 𝑃𝑃 = {𝑃𝑃1,𝑃𝑃2, … . ,𝑃𝑃𝑚𝑚}, compartiendo
una relación a cierto nivel. A su vez se puede establecer una relación entre
los elementos n de otro conjunto referencial (que posee características y
propiedades difusas) el cual será 𝐶𝐶 = {𝐶𝐶1,𝐶𝐶2, … . ,𝐶𝐶𝑛𝑛}
Dado a que las relaciones internas entre los elementos 𝑃𝑃1,𝑃𝑃2, … . ,𝑃𝑃𝑃𝑃 o
𝐶𝐶1,𝐶𝐶2, … ,𝐶𝐶𝐶𝐶 no puede darse. El gráfico 16 nos muestra lo grande o
pequeña que puede ser una la relación entre 𝑃𝑃𝑗𝑗 y 𝐶𝐶𝑖𝑖 si se establecen los
valores para 𝜇𝜇𝑖𝑖𝑗𝑗 𝜖𝜖 [0,1] (𝑖𝑖 = 1,2, … ,𝐶𝐶; 𝑗𝑗 = 1,2, … ,𝑃𝑃).
38
Las relaciones pueden ser representadas mediante una matriz y en un
gráfico de flechas. González et al ( 2019).
Gráfico 16
Relación entre elementos de dos conjuntos
Elaboración: González et al.
Fuente: González et al. Sorting Urban-marginal areas in Ecuador by weighting energy consumption indicators. (p.: 5)
Las zonas urbano-marginales de Guayaquil están representadas por los
elementos del conjunto 𝑃𝑃 = {𝑃𝑃1,𝑃𝑃2, … . ,𝑃𝑃𝑚𝑚}, para el presente trabajo son:
Cuadro 5 Representación de zonas urbano-marginales de Guayaquil
Zona Representación
Bastión Popular P1
Los Esteros P2
Flor de Bastión P3
Guasmo P4
Malvinas P5
Mapasingue P6
Monte Sinaí P7
Vergeles P8 Elaboración: Pincay Leonardo, Romero Beatriz
Fuente: González et al. Sorting Urban-marginal areas in Ecuador by weighting energy consumption indicator
Los descriptores que serán afectados por el consumo energético en la zona
𝑃𝑃𝑗𝑗, están representado por los elementos del conjunto 𝐶𝐶 = {𝐶𝐶1,𝐶𝐶2, … . ,𝐶𝐶𝑛𝑛},
el cual está representado por las características elegidas para la aplicación
del algoritmo:
39
Cuadro 6 Representación de descriptores Descriptor Representación
Promedio del Puntaje de Estratificación
Social C1
Promedio de tomacorrientes 120 voltios
por región C2
Promedio de focos ahorradores por
región C3
Promedio de equipos de aire
acondicionado C4
Promedio de habitaciones en el hogar C5
Promedio de años de uso de la
refrigeradora C6
Promedio de años de uso de la licuadora C7
Promedio de años de uso de la lavadora C8
Promedio de años de uso de equipo de
sonido C9
Promedio de años de uso de
radiograbadora C10
Promedio de años de uso de televisor C11
Promedio de años de uso del
computador C12
Promedio de años de uso del ventilador C13
Promedio de años de uso de la plancha
eléctrica C14
. Elaboración: Pincay Leonardo, Romero Beatriz Fuente: Hidalgo et al. Household Electricity Demand in Marginal Ecuador: Estimation and Impact of
Explanatory Variables.
La teoría de la decisión tradicional toma en consideración los casos de
riesgos e incertidumbre que se relacionan con el concepto de aleatoriedad
de los estados de la naturaleza. En caso de establecer una distribución de
probabilidad para esos estados, por tanto, en caso de incertidumbre, la
40
toma de decisiones es establecida por quien fija las probabilidades sobre
los estados de la naturaleza. Y esto casi siempre se cumple cuando se
intenta establecer un modelo de un sistema que comprenden aspectos
humanos.
El conjunto 𝐶𝐶 será difuso si 𝐶𝐶 𝜖𝜖 𝐺𝐺 y el nivel de pertenencia de sus elementos
sea 1, la función 𝜇𝜇𝑖𝑖𝑗𝑗 (𝐶𝐶𝑖𝑖) expresa la intensidad de pertenencia de un
elemento 𝐶𝐶𝑖𝑖 a un elemento 𝑃𝑃(zonas urbano-marginales), este conjunto
difuso puede ser representado por:
𝐶𝐶 = �𝐶𝐶𝑖𝑖 ,𝜇𝜇𝑖𝑖𝑗𝑗 (𝐶𝐶𝑖𝑖) � 𝐶𝐶𝑖𝑖 𝜖𝜖 𝐺𝐺 }
Gráfico 17 Matriz P * C
𝑃𝑃1 𝑃𝑃2 𝑃𝑃3 𝑃𝑃4 𝑃𝑃5 𝑃𝑃6 𝑃𝑃7 𝑃𝑃8
𝐶𝐶1 551.2 636.3 500.04 579.07 542.9 568.8 410.3 561.8
𝐶𝐶2 6.1 7.7 5 6.7 6.9 5.9 3.6 5.5
𝐶𝐶3 4.9 7.5 4.5 6.2 5 5.5 3.1 4.3
𝐶𝐶4 0.9 1 0.15 0.7 0.42 0.5 0.1 0.6
𝐶𝐶5 3.2 3.8 3.1 3.8 3.5 3.6 2.5 3.2
𝐶𝐶6 6.58 4.89 6.86 6.03 7.26 6.94 5.64 6.25
𝐶𝐶7 4.46 4.32 4.3 3.99 4.2 4.24 4.41 3.9
𝐶𝐶8 4.72 4.86 4.84 4.81 4.89 4.98 3.41 5.09
𝐶𝐶9 5.35 3.82 4.64 4.62 4.22 4.87 4.3 4.17
𝐶𝐶10 6.67 6.55 5.4 5.42 9.4 6.9 5.3 4.45
𝐶𝐶11 5.73 4.74 4.98 4.52 4.99 5.14 4.55 4.5
𝐶𝐶12 4.18 3.49 3.82 4.1 3.05 4.07 3.49 3.77
𝐶𝐶13 2.77 3.67 3.47 3.31 3.72 3.57 3.02 3.21
𝐶𝐶14 4.76 6.64 4.36 4.21 3.89 3.67 3.77 3.53 Elaboración: Pincay Leonardo, Romero Beatriz
Fuente: Datos de la investigación
41
La normalización de la matriz 𝑃𝑃 ∗ 𝐶𝐶 se puede dar utilizando el máximo
argumento [𝜇𝜇𝑖𝑖𝑗𝑗 (𝐶𝐶𝑖𝑖)] tomando en cuenta el promedio de 𝜇𝜇𝑖𝑖𝑗𝑗 (𝐶𝐶𝑖𝑖).
El subconjunto 𝐴𝐴(𝐶𝐶) está conformado por la incidencia resultado de la
comparación numérica de los elementos 𝑃𝑃𝑛𝑛 con 𝑃𝑃𝑛𝑛+1,el gráfico 18 nos
muestra el resultado de este proceso.
Gráfico 18 Normalización de la matriz P * C
𝑃𝑃1 𝑃𝑃2 𝑃𝑃3 𝑃𝑃4 𝑃𝑃5 𝑃𝑃6 𝑃𝑃7 𝑃𝑃8
𝑃𝑃1 𝑋𝑋 0.21 0.57 0.21 0.43 0.43 0.36 0.43
𝑃𝑃2 0.79 𝑋𝑋 0.71 0.57 0.79 0.79 0.64 0.64
𝑃𝑃3 0.43 0.29 𝑋𝑋 0.07 0.36 0.50 0.43 0.07
𝑃𝑃4 0.79 0.43 0.93 𝑋𝑋 0.64 0.86 0.50 0.57
𝑃𝑃5 0.57 0.21 0.64 0.36 𝑋𝑋 0.50 0.57 0.36
𝑃𝑃6 0.57 0.21 0.50 0.14 0.50 𝑋𝑋 0.50 0.29
𝑃𝑃7 0.64 0.36 0.57 0.50 0.43 0.50 𝑋𝑋 0.29
𝑃𝑃8 0.57 0.36 0.07 0.43 0.64 0.71 0.71 𝑋𝑋 Elaboración: Pincay Leonardo, Romero Beatriz
Fuente: Datos de la investigación
Como resultado de aplicar un umbral que permita discriminar los
resultados, se emplea un valor establecido en un rango entre cero y uno,
𝜇𝜇𝑖𝑖𝑗𝑗 (𝐶𝐶𝑖𝑖) [0 − 1]. El gráfico 19 nos muestra el resultado de la matriz binaria.
El resultado es una nueva matriz formada completamente por ceros y unos
para lo cual se establece lo siguiente:
β = {β𝑖𝑖𝑗𝑗 = 1, 𝑠𝑠𝑖𝑖 𝜇𝜇𝑖𝑖𝑗𝑗 ≥ h y β𝑖𝑖𝑗𝑗 = 0, 𝑠𝑠𝑖𝑖 𝜇𝜇𝑖𝑖𝑗𝑗 < h }
42
Gráfico 19 Matriz binaria resultante
𝑃𝑃1 𝑃𝑃2 𝑃𝑃3 𝑃𝑃4 𝑃𝑃5 𝑃𝑃6 𝑃𝑃7 𝑃𝑃8
𝑃𝑃1 𝑋𝑋 0 1 0 0 0 0 0
𝑃𝑃2 1 𝑋𝑋 1 1 1 1 1 1
𝑃𝑃3 0 0 𝑋𝑋 0 0 0 0 0
𝑃𝑃4 1 0 1 𝑋𝑋 1 1 0 1
𝑃𝑃5 1 0 1 0 𝑋𝑋 0 1 0
𝑃𝑃6 1 0 0 0 0 𝑋𝑋 0 0
𝑃𝑃7 1 0 1 0 0 0 𝑋𝑋 0
𝑃𝑃8 1 0 0 0 1 1 1 𝑋𝑋 Elaboración: Pincay Leonardo, Romero Beatriz
Fuente: Datos de la investigación
Obtenida esta matriz 𝛽𝛽 binaria se procede a aplicar el siguiente paso el cual
nos permite obtener las posiciones extrayendo aquellas columnas cuyo
valor sea de ceros, formando así la primera tupla de posiciones obtenidas
como resultado y una vez aplicado este concepto se repite la operación
hasta que se obtenga como resultado las regiones con tuplas ordenadas
con un orden de prioridad de mayor a menor como se muestra a
continuación en el gráfico 20.
Gráfico 20 Ordenamiento obtenido por los umbrales
Elaboración: Pincay Leonardo, Romero Beatriz Fuente: Datos de la investigación
Umbral Ordenamiento obtenido
≥ 0.7 {2,4,8} > {5,6,7,1,3}
≥ 0.6 {2,4} > {8} > {5,7} > {6,1,3}
≥ 0.55 {2} > {4} > {8} > {5,6} > {7} > {1} > {3}
43
DISEÑO DE LA INVESTIGACIÓN
Para el diseño de la investigación se toma el diseño cuantitativo, analizando
las variables con sus respectivas características.
La investigación cuantitativa involucra el análisis de los números para
obtener una respuesta a la pregunta o hipótesis de la
investigación.(Driessnack, Sousa, & Costa, 2007)
Las variables utilizadas en el presente trabajo son variables simples que
pueden medirse directamente, son un indicador en sí mismas. (Mousalli,
2015)
MODALIDAD DE LA INVESTIGACIÓN
El modelo utilizado para este proyecto se basa en los trabajos realizados
por Lofty Zadeh, el cual publica los primeros trabajos en el año 1965 sobre
subconjuntos borrosos y aunque no tuvieron gran acogida con el pasar de
los años se han convertido en una herramienta de gran ayuda en el campo
de la ingeniería y la economía, razón por la cual se adoptaron las ideas
como parte inicial en este proyecto (Hidalgo et al, 2018).
Para el presente trabajo en el cual que aplican un algoritmo de
ordenamiento ya que posee magnitudes medibles. Teniendo en cuenta que
las encuestas realizadas incluyen información objetiva y subjetiva, por lo
que se considera válido aplicar el algoritmo de ordenamiento referenciado.
(Hidalgo et al, 2018)
TIPO DE INVESTIGACIÓN
Para una investigación experimental es una investigación en la cual el
investigador manipula y controla una o más variables independientes y
observa la o las variables dependientes para medir las variaciones
concomitantes. La investigación correlacional, determina la variación en
unos factores en relación con otros (covariación), y está indicada para
44
establecer relaciones estadísticas entre características o fenómenos, pero
no conduce Directamente a establecer relaciones de causa efecto entre
ellos (Agudelo, Aigneren & Compiladores, 2015).
POBLACIÓN Y MUESTRA
Población
La población objetiva estimada, basada en una previa investigación, es de
1,672,000 habitantes en la ciudad de Guayaquil. González et al (2019). Los
datos de la encuesta fueron obtenidos por los estudiantes de la facultad de
Ingeniería Industrial perteneciente a la Universidad de Guayaquil.
Muestra
Se seleccionó de forma aleatoria una muestra representativa en ocho
zonas urbano-marginales de la ciudad de Guayaquil para la aplicación de
la encuesta a un total de 1056 hogares que se encuentran regulados, es
decir aquellos cuya facturación se rige a lo impuesto en el Pliego Tarifario
(CONELEC, 2011) y que sirven de base para la investigación.
Cuadro 7 Muestra representativa por zona
Zona Representación
Bastión Popular 189
Los Esteros 110
Flor de Bastión 135
Guasmo 42
Malvinas 100
Mapasingue 189
Monte Sinaí 164
Vergeles 127 Elaboración: Pincay Leonardo, Romero Beatriz
Fuente: González et al. Sorting Urban-marginal areas in Ecuador by weighting energy consumption indicators.
45
Método estadístico
Conceptualización del estudio
El objetivo de la aplicación del algoritmo es la obtención de un orden de
prioridad sobre las zonas en las que se necesita aplicar criterios o políticas
para mejorar la calidad en cuanto a eficiencia energética en aras de mejorar
la calidad del servicio o mejorar la calidad de vida de los usuarios y de la
comunidad.
El umbral que se ha utilizado para arrojar los resultados de las posiciones
debe dar como resultado un grupo de zonas a las cuales se debe dar
prioridad sobre las demás, el umbral cercano debe dar como resultado un
grupo de zonas igual o un grupo muy similar al obtenido previamente.
El algoritmo de ordenamiento debe ser capaz de arrojar como resultado un
orden de zonas las cuales representan de manera sistemática una escala
de prioridad.
Cabe destacar que las encuestas aplicadas a la muestra mencionada se
encuentran formadas por cinco bloques y cada bloque contiene una
cantidad significativa de preguntas por lo cual se realizó una previa
evaluación del impacto en el consumo y el patrón de demanda de la energía
eléctrica con la finalidad de determinar las variables que mejor describen la
demanda de energía en dichas áreas. González et al, (2019). Luego de la
evaluación se determinaron 14 indicadores como los más representativos
para la aplicación del algoritmo de ordenamiento.
Operacionalización del estudio
Los datos obtenidos para la aplicación del algoritmo se obtuvieron de un
trabajo de encuestas realizadas por los alumnos de las Facultades
Ingeniería Industrial y Ciencias Matemáticas y Físicas de la Universidad de
Guayaquil para el Proyecto Fondo Competitivo de Investigación - 2017:
“Simulación y Proyección del comportamiento de la demanda de energía
eléctrica en zonas rurales y urbano-marginales del Guayas - Ecuador”.
46
La población de estudio comprende ocho zonas urbano-marginales de la
ciudad de Guayaquil.
OPERACIONALIZACIÓN DE VARIABLES
Con la finalidad de obtener la mayor cantidad de información posible, como
destacamos anteriormente, hay un número elevado de preguntas que
formaron parte de la encuesta realizada dentro del presente trabajo pero
para fines de la investigación se determinaron 14 indicadores como los más
significativos para realizar el ordenamiento.
Se seleccionaron las variables que se determinaron como de fácil
ordenación y medición dentro de la encuesta realizada.
A continuación se muestran los cuadros de los indicadores y los respectivos
valores finales por cada uno de ellos detallado para cada zona urbano-
marginal. Los cuadros del 8 al 12 detallan los promedios que mantienen los
indicadores más apreciados, por lo que mientras más elevado sea su valor
es mejor la condición económica de la zona encuestada.
El Cuadro 8 muestra el promedio del puntaje de estratificación social el
mismo que depende de los ingresos y gastos que mantiene el jefe del
hogar, así como todos los miembros de la familia.
Cuadro 8
Promedio del puntaje de estratificación social Variables
independientes Indicadores Valores finales Tipo de variables
Bastión Popular Promedio de consumo 551.2 Continua Esteros Promedio de consumo 636.3 Continua
Flor de Bastión Promedio de consumo 500.04 Continua Guasmo Promedio de consumo 579.07 Continua Malvinas Promedio de consumo 542.9 Continua
Mapasingue Promedio de consumo 568.8 Continua Monte Sinaí Promedio de consumo 410.3 Continua
Vergeles Promedio de consumo 561.8 Continua Elaboración: Pincay Leonardo, Romero Beatriz
Fuente: Datos de la investigación
47
El Cuadro 9 representa el promedio de tomacorrientes de 120 voltios para
cada una de las zonas encuestadas.
Cuadro 9 Promedio tomacorrientes de 120 voltios por región
Variables independientes Indicadores Valores finales Tipo de
variables Bastión Popular Promedio tomacorrientes 6.1 Continua
Esteros Promedio tomacorrientes 7.7 Continua Flor de Bastión Promedio tomacorrientes 5 Continua
Guasmo Promedio tomacorrientes 6.7 Continua Malvinas Promedio tomacorrientes 6.9 Continua
Mapasingue Promedio tomacorrientes 5.9 Continua Monte Sinaí Promedio tomacorrientes 3.6 Continua
Vergeles Promedio tomacorrientes 5.5 Continua Elaboración: Pincay Leonardo, Romero Beatriz
Fuente: Datos de la investigación
El Cuadro 10 muestra el promedio de focos ahorradores con los que cuenta
cada familia dentro de las zonas encuestadas.
Cuadro 10 Promedio de focos ahorradores por región
Variables independientes Indicadores Valores finales Tipo de
variables Bastión Popular Promedio foco ahorrador 4.9 Continua
Esteros Promedio foco ahorrador 7.5 Continua Flor de Bastión Promedio foco ahorrador 4.5 Continua
Guasmo Promedio foco ahorrador 6.2 Continua Malvinas Promedio foco ahorrador 5 Continua
Mapasingue Promedio foco ahorrador 5.5 Continua Monte Sinaí Promedio foco ahorrador 3.1 Continua
Vergeles Promedio foco ahorrador 4.3 Continua Elaboración: Pincay Leonardo, Romero Beatriz
Fuente: Datos de la investigación
En el Cuadro 11 consta el promedio de equipos de aire acondicionado
detallado por cada zona encuestada. Se puede confirmar por comparación
visual que los promedios para este indicador son los más bajos en
comparación con los demás indicadores incluidos en la encuesta.
48
Cuadro 11 Promedio de equipos de aire acondicionado
Variables independientes Indicadores Valores finales Tipo de
variables Bastión Popular Promedio equipos a. a. 0.9 Continua
Esteros Promedio equipos a. a. 1 Continua Flor de Bastión Promedio equipos a. a. 0.15 Continua
Guasmo Promedio equipos a. a. 0.7 Continua Malvinas Promedio equipos a. a. 0.42 Continua
Mapasingue Promedio equipos a. a. 0.5 Continua Monte Sinaí Promedio equipos a. a. 0.1 Continua
Vergeles Promedio equipos a. a. 0.6 Continua Elaboración: Pincay Leonardo, Romero Beatriz
Fuente: Datos de la investigación
Cuadro 12 Promedio de habitaciones en el hogar
Variables independientes Indicadores Valores finales Tipo de
variables Bastión Popular Promedio de habitaciones 3.2 Continua
Esteros Promedio de habitaciones 3.8 Continua Flor de Bastión Promedio de habitaciones 3.1 Continua
Guasmo Promedio de habitaciones 3.8 Continua Malvinas Promedio de habitaciones 3.5 Continua
Mapasingue Promedio de habitaciones 3.6 Continua Monte Sinaí Promedio de habitaciones 2.5 Continua
Vergeles Promedio de habitaciones 3.2 Continua Elaboración: Pincay Leonardo, Romero Beatriz
Fuente: Datos de la investigación
Los cuadros del 13 al 21 muestran los indicadores menos apreciados. Esto
se debe a que los electrodomésticos que cuentan con un mayor tiempo de
uso pierden su eficiencia y aumentan el consumo de energía.
Se puede verificar por comparación que los promedios más elevados
dentro de estos indicadores los mantienen el Cuadro 13 y el Cuadro 17 que
detallan el promedio de años de uso de la refrigeradora y la radio grabadora
respectivamente.
49
Cuadro 13 Promedio de años de uso de la refrigeradora
Variables independientes Indicadores Valores finales Tipo de
variables Bastión Popular Promedio años 6.58 Continua
Esteros Promedio años 4.89 Continua Flor de Bastión Promedio años 6.86 Continua
Guasmo Promedio años 6.03 Continua Malvinas Promedio años 7.26 Continua
Mapasingue Promedio años 6.94 Continua Monte Sinaí Promedio años 5.64 Continua
Vergeles Promedio años 6.25 Continua Elaboración: Pincay Leonardo, Romero Beatriz
Fuente: Datos de la investigación
Cuadro 14 Promedio de años de uso de la licuadora
Variables independientes Indicadores Valores finales Tipo de
variables Bastión Popular Promedio años 4.46 Continua
Esteros Promedio años 4.32 Continua Flor de Bastión Promedio años 4.3 Continua
Guasmo Promedio años 3.99 Continua Malvinas Promedio años 4.2 Continua
Mapasingue Promedio años 4.24 Continua Monte Sinaí Promedio años 4.41 Continua
Vergeles Promedio años 3.9 Continua Elaboración: Pincay Leonardo, Romero Beatriz
Fuente: Datos de la investigación
Cuadro 15 Promedio de años de uso de la lavadora
Variables independientes Indicadores Valores finales Tipo de
variables Bastión Popular Promedio años 4.72 Continua
Esteros Promedio años 4.86 Continua Flor de Bastión Promedio años 4.84 Continua
Guasmo Promedio años 4.81 Continua Malvinas Promedio años 4.89 Continua
Mapasingue Promedio años 4.98 Continua Monte Sinaí Promedio años 3.41 Continua
Vergeles Promedio años 5.09 Continua Elaboración: Pincay Leonardo, Romero Beatriz
Fuente: Datos de la investigación
50
Cuadro 16 Promedio de años de uso de equipo de sonido
Variables independientes Indicadores Valores finales Tipo de
variables Bastión Popular Promedio años 5.35 Continua
Esteros Promedio años 3.82 Continua Flor de Bastión Promedio años 4.64 Continua
Guasmo Promedio años 4.62 Continua Malvinas Promedio años 4.22 Continua
Mapasingue Promedio años 4.87 Continua Monte Sinaí Promedio años 4.3 Continua
Vergeles Promedio años 4.17 Continua Elaboración: Pincay Leonardo, Romero Beatriz
Fuente: Datos de la investigación
Cuadro 17 Promedio de años de uso de radio grabadora
Variables independientes Indicadores Valores finales Tipo de
variables Bastión Popular Promedio años 6.67 Continua
Esteros Promedio años 6.55 Continua Flor de Bastión Promedio años 5.4 Continua
Guasmo Promedio años 5.42 Continua Malvinas Promedio años 9.4 Continua
Mapasingue Promedio años 6.9 Continua Monte Sinaí Promedio años 5.3 Continua
Vergeles Promedio años 4.45 Continua Elaboración: Pincay Leonardo, Romero Beatriz
Fuente: Datos de la investigación
Cuadro 18 Promedio de años de uso de televisor
Variables independientes Indicadores Valores finales Tipo de
variables Bastión Popular Promedio años 5.73 Continua
Esteros Promedio años 4.74 Continua Flor de Bastión Promedio años 4.98 Continua
Guasmo Promedio años 4.52 Continua Malvinas Promedio años 4.99 Continua
Mapasingue Promedio años 5.14 Continua Monte Sinaí Promedio años 4.55 Continua
Vergeles Promedio años 4.5 Continua Elaboración: Pincay Leonardo, Romero Beatriz
Fuente: Datos de la investigación
51
Cuadro 19 Promedio de años de uso del computador
Variables independientes Indicadores Valores finales Tipo de
variables Bastión Popular Promedio años 4.18 Continua
Esteros Promedio años 3.49 Continua Flor de Bastión Promedio años 3.82 Continua
Guasmo Promedio años 4.1 Continua Malvinas Promedio años 3.05 Continua
Mapasingue Promedio años 4.07 Continua Monte Sinaí Promedio años 3.49 Continua
Vergeles Promedio años 3.77 Continua Elaboración: Pincay Leonardo, Romero Beatriz
Fuente: Datos de la investigación
Cuadro 20 Promedio de años de uso del ventilador
Variables independientes Indicadores Valores finales Tipo de
variables Bastión Popular Promedio años 2.77 Continua
Esteros Promedio años 3.67 Continua Flor de Bastión Promedio años 3.47 Continua
Guasmo Promedio años 3.31 Continua Malvinas Promedio años 3.72 Continua
Mapasingue Promedio años 3.57 Continua Monte Sinaí Promedio años 3.02 Continua
Vergeles Promedio años 3.21 Continua Elaboración: Pincay Leonardo, Romero Beatriz
Fuente: Datos de la investigación
Cuadro 21 Promedio de años de uso de la plancha eléctrica
Variables independientes Indicadores Valores finales Tipo de
variables Bastión Popular Promedio años 4.76 Continua
Esteros Promedio años 6.64 Continua Flor de Bastión Promedio años 4.36 Continua
Guasmo Promedio años 4.21 Continua Malvinas Promedio años 3.89 Continua
Mapasingue Promedio años 3.67 Continua Monte Sinaí Promedio años 3.77 Continua
Vergeles Promedio años 3.53 Continua Elaboración: Pincay Leonardo, Romero Beatriz
Fuente: Datos de la investigación
52
PROCESAMIENTO Y ANÁLISIS
Diagrama de Flujo de Procesos
Gráfico 21
Diagrama de flujo de Proceso INICIO
CARGA DEL DOCUMENTO EXCEL CON MATRIZ n * m
INGRESO CANTIDAD DE REGISTROS MAS
APRECIADOS
CANTIDAD INGRESADA ES
VÁLIDA?
INGRESO DE NÚMERO DECIMAL EN PANTALLA
NÚMERODECIMAL ES
VÁLIDO?
TRANSFORMACIÓN MATRIZ PRINCIPAL A
BINARIA
RECORRIDO DE MATRIZ, BÚSQUEDA DE COLUMNAS CON
TODOS SUS ELEMENTOS 0
NORMALIZACIÓN DE DATOS DE
MATRIZ
HAY COLUMNASCON TODOS SUS ELEMENTOS = 0?
PRESENTACIÓN DE RESULTADOS
FIN
SI
NO
SI
NO
NO
SISE GUARDA ÍNDICE
DE COLUMNA HALLADA
ELIMINACIÓN DE ÍNDICE DE COLUMNA HALLADA
Elaboración: Pincay Leonardo, Romero Beatriz
Fuente: Datos de la investigación
53
Carga del Documento
Este es el proceso principal, debido a que permite al usuario buscar en un
directorio previamente configurado un documento de extensión de Excel el
cual contiene los registros de la mediana de los consumos de las zonas a
ordenar, de cada uno de los sectores con sus respectivas características
las cuales son extraídas considerando criterios de prioridad.
Para la aplicación del algoritmo de ordenamiento se debe tener como
requisito principal un archivo de Excel, con los formatos cuyas extensiones
admitidas por el programa son: .xlsx,.xlsm,.xltx,.xltm. Además debe
contener la información de los datos tabulados, en una estructura la cual
debe iniciar con los registros cuyos valores sean los más apreciados y
luego los menos apreciados.
Los datos obtenidos deben estar almacenados en una matriz principal de
(𝐶𝐶 ∗ 𝑃𝑃), dimensiones, en donde:
𝒎𝒎: cantidad de elementos de un conjunto 𝑃𝑃𝑚𝑚 el cual representa las zonas
geográficas que van a ser ordenadas.
𝒏𝒏: cantidad de elementos de un conjunto 𝐶𝐶𝑛𝑛 que representan las
características más relevantes que han sido extraídas mediante un análisis
de los componentes más representativos para la posterior aplicación del
algoritmo.
Ingreso de cantidad de registros más apreciados
Los valores más apreciados se deben tomar en cuenta basándonos en la
problemática planteada. Por ejemplo, si se desea ordenar las zonas por un
orden de mayor a menor de consumo eléctrico, se puede considerar que la
cantidad de tomacorrientes que existen en una casa; entre mayor sea el
número de tomacorrientes más grande es la casa y mejor es la calidad de
vida. Aunque esto no siempre suele ser así, debido a que los valores
obtenidos a partir de la encuesta pueden ser subjetivos, una muestra sería
que en una casa de 2 plantas las personas encuestadas pueden decir que
54
en su casa existen 2 tomacorrientes, lo que no se considera como objetivo,
esta es la razón principal por la cual se aplican los principios de la lógica
difusa para la creación de este algoritmo de ordenamiento. Por otra parte,
los valores menos apreciados para este ejemplo se pueden considerar: la
cantidad de años de uso que posee un electrodoméstico, se sabe que entre
más años tiene un electrodoméstico, genera un mayor consumo.
Este es un proceso llevado a cabo por un módulo que se encarga de validar
que la cantidad ingresada sea correcta, este valor será un número entero
entre cero y la cantidad de registros que posea el documento de Excel
seleccionado. Dicho valor será utilizado para normalizar la matriz principal
con el objetivo de que sea aplicado el algoritmo.
Normalización de la matriz
El objetivo de normalizar los datos de la matriz principal es obtener una
nueva matriz cuyos elementos se encuentren en un intervalo [0,1] para esto
se procede de la siguiente manera:
Primero se cuentan el número de veces que la característica 𝜇𝜇𝑖𝑖𝑗𝑗 supera a
la característica 𝜇𝜇𝑖𝑖𝑗𝑗+1 esto se debe hacer para cada par de características
de la matriz, columna por columna; hasta llegar a la última. El resultado
obtenido se guarda en otra matriz que resume la cantidad de veces que se
cumple la condición establecida.
Se debe establecer que la diagonal principal no es tomada en
consideración ya que no se puede comparar una característica sobre sí
misma. El siguiente paso es dividir 𝜇𝜇𝑖𝑖𝑗𝑗 para el número total de
características obteniéndose de esta forma una matriz formada por valores
entre [0,1].
Ingreso del umbral
Este es un proceso llevado a cabo por un módulo que se encarga de validar
que la cantidad ingresada sea correcta, este valor será un número decimal
55
entre cero y uno y que asume el papel de discriminante para los valores de
la matriz ya normalizada.
Transformación de la matriz principal a binaria
Para aquellos valores 𝜇𝜇𝑖𝑖𝑗𝑗 mayores que el umbral ingresado en pantalla su
nuevo valor asignado es uno y para aquellos valores menores al umbral
ingresado su nuevo valor es cero. Este proceso da como resultado una
matriz binaria, la cual nos permite la aplicación del algoritmo.
Proceso de recorrido de matriz para aplicación de algoritmo
Se busca en cada elemento de 𝜇𝜇𝑖𝑖 aquellas filas cuyo valor sea de ceros y
si cumple con el criterio, el índice de la columna es almacenado para
mostrar como parte de su resultado los valores el o los índices que
pertenecen a cada una de las zonas seleccionadas para su ordenamiento,
y este proceso se repetirá hasta que la matriz ya no tenga elementos para
comparar o no encuentre valores de cero en las columnas.
Presentación de resultados
Una vez aplicado el algoritmo, los resultados pueden ser visualizados en
forma de tuplas ordenadas que representan cada una de las posiciones
según la prioridad que le sea asignada, sea esta de mayor a menor o
viceversa. Los resultados también son almacenados para luego ser
visualizados como parte de un historial, esto nos permitirá saber los
umbrales que han sido digitados y el respectivo listado de posiciones
obtenidas como parte de esos resultados.
Instrumentos
Librería Openpyxl
Es una librería de Python que permite leer y escribir archivos de Excel de
extensiones .xlsx, .xlsm, .xltx, .xltm. Nació de la falta de una biblioteca
existente para leer / escribir de forma nativa desde Python el formato Office
Open XML. scrum(Gazoni & Clark, 2017)
56
Métodos de la librería Openpyxl
load_ workbook: Este método nos ayuda a buscar el libro de Excel para
recolectar los datos para formar nuestra matriz inicial, para lo cual necesita
como parámetro la ruta del documento, la cual es posible obtenerla
utilizando de la librería tkinter el método filedialog y una función llamada
askopenfilename() que es la encargada de devolver como resultado una
cadena que representa la ruta donde se encuentra ubicado el documento.
sheet: Permite obtener la hoja en la cual se encuentran los datos, como
parámetros de entrada necesita el libro de Excel sobre el cual se está
trabajando.
Librería Tkinter
Esta librería nos facilita la interacción del usuario con el aplicativo,
permitiendo crear una GUI (interfaz gráfica de usuario), amigable al usuario.
Métodos de la librería Tkinter
Los principales métodos utilizados para la implementación de la GUI son:
filedialog: Este método nos permite crear una interfaz que permite al
usuario visualizar una lista de documentos de Excel y desde allí seleccionar
el documento del cual se extraerán los datos.
ttk: Es un módulo que proporciona acceso al conjunto de widgets. La idea
básica para tkinter ttk es separar, en la medida de lo posible, el código que
implementa el comportamiento de un widget del código que implementa su
apariencia (Software, 2001).
Messagebox: Es un módulo que provee de funciones las cuales permiten
la creación de cuadros de diálogos para el usuario; sean estos informativos,
de advertencia, de interrogación entre otros. Todas ellas están definidas en
el siguiente módulo tkinter.messagebox (Python, 2013).
57
Módulo Copy: Este módulo permite la creación de copias de distintos
objetos. La función deepcopy() permite una copia profunda de los
elementos de una lista.
Interfaz del aplicativo
Lo primero que se debe hacer al abrir la interfaz es seleccionar el botón
Cargar Documento el cual procede a cargar un documento. Como se
estableció anteriormente las extensiones admitidas por el programa son:
.xlsx,.xlsm,.xltx,.xltm.
Gráfico 22
Ventana de Interfaz de usuario
Elaboración: Pincay Leonardo, Romero Beatriz
Fuente: Datos de la investigación
A continuación en el gráfico 23 se muestra un cuadro de dialogo que
presenta los archivos para seleccionar, se selecciona el documento
requerido y se presiona el botón abrir.
58
Gráfico 23 Pantalla de carga del documento
Elaboración: Pincay Leonardo, Romero Beatriz
Fuente: Datos de la investigación
Una vez seleccionado el documento se procede a extraer las cantidades
contenidas en sus celdas, y las mismas formaran parte de una matriz de
dimensiones (𝐶𝐶 ∗ 𝑃𝑃), donde:
𝒎𝒎: cantidad de columnas que representa la cantidad de zonas a ser
analizadas
𝒏𝒏: cantidad de filas que representan las características más relevantes que
han sido extraídas para la posterior aplicación del algoritmo.
El método de la librería openpyxl que facilita la obtención de los valores del
documento es celda.value dicho método permite obtener una matriz de la
misma dimensión que la hallada en el libro de Excel. Este método sirve de
mucho ya que carga la información como si se tratara de cadenas de
caracteres.
Después de la carga del documento el usuario debe realizar el ingreso por
pantalla de la cantidad de registros más apreciados, en el caso del ejercicio
59
realizado como se detallo anteriormente se cuenta con 5 registro como los
más apreciados. En el gráfico 24 se muestra el cuadro de diálogo que
permitirá al usuario el ingreso de la cantidad de registro apreciados.
Gráfico 24 Ingreso cantidad de registros apreciados
Elaboración: Pincay Leonardo, Romero Beatriz
Fuente: Datos de la investigación
Después de esta especificación, la matriz inicial debe ser transformada sus
dimensiones de (𝐶𝐶 ∗ 𝑃𝑃) a una matriz base de dimensiones (𝐶𝐶 ∗ 𝐶𝐶) como se
puede observar en el gráfico 25.
Este procedimiento se lo efectúa evaluando cada una de las columnas para
su posterior columna y validando sus registros como se procede a
continuación:
60
Gráfico 25
Pantalla de carga de datos desde el archivo
Elaboración: Pincay Leonardo, Romero Beatriz
Fuente: Datos de la investigación
Una vez construida esa matriz se habilitan los botones necesarios para
ingresar y mostrar los datos que se generen. Uno de ellos es un cuadro
para el ingreso de texto que para efectos de la prueba será el umbral
utilizado para comparar con cada uno de los campos pertenecientes a la
matriz inicial, si este campo es mayor que el umbral el valor que tome en
su posición será igual a 1, caso contrario al ser menor su valor se
transformara en 0.
Este procedimiento se lo hace a partir de que el usuario seleccione con el
puntero el botón aplicar, después de aplicar el algoritmo de ordenamiento
los resultados serán visualizados en un cuadro de texto que mostrara las
salidas en forma de tuplas ordenadas con cada una de las posiciones
obtenidas.
Adicional para ayudar con la visualización de los resultados se procede a
agregar un módulo que almacena los datos de cada uno de los umbrales
61
ingresados y sus respectivos resultados lo que facilita verlos todos como
un solo conjunto.
Explicación del algoritmo
La implementación realizada funciona para cualquier matriz n * m, para el
presente ejercicio se ha utilizado la matriz de (8 ∗ 14) correspondiente a los
indicadores y las zonas urbano-marginales del proyecto. La comparación
de los valores se detalla a continuación:
Una vez cargado el documento de Excel y obtenida la matriz base, se
procede a ingresar un número decimal cuyo rango debe oscilar de entre 0
a 1, este valor permite transformar los datos de la matriz inicial que son
números decimales, a una matriz formada de ceros y unos, este proceso
se logra comparando cada uno de los elementos de la matriz inicial para el
umbral ingresado por el usuario, y si este número de la matriz es mayor o
igual que el umbral se lo remplaza por un “1” y si es menor por un “0”.
Una vez obtenida la matriz binaria se procede a aplicar el método de
ordenamiento, este consiste en evaluar cada una de las columnas y
verificando todas las filas pertenecientes a esa columna contenga ceros “0”
si en una de ellas aparece un uno “1” el índice de la columna no se
considerará como válido y se procede a evaluar la siguiente columna
procediendo de la misma manera. Si no se hallara ningún índice de
columna que cumpla con lo anteriormente planteado se procede a indicar
que la matriz no tiene ningún índice de columna valida que permita reducirla
y seguir con el procedimiento, la matriz debe ser reducida una vez hallado
un índice de columna valido, eliminando de la matriz la columna con el
índice hallado y por lo tanto también se eliminará la fila con el mismo índice,
reduciendo la matriz a una dimensión menos que la cantidad de índices
hallados:
Nueva dimensión = dimensión actual – el número de índices hallados.
Igual nuestra matriz quedara de la misma dimensión (𝐶𝐶 ∗ 𝐶𝐶)
62
CAPÍTULO IV
RESULTADOS, CONCLUSIONES Y RECOMENDACIONES
En este capítulo se presentan los resultados obtenidos según el trabajo
detallado en el capítulo III; el análisis en base al cumplimiento del objetivo
general y objetivos específicos planteados en el capítulo I; así como las
recomendaciones para futuros desarrollos en base a la matemática de la
incertidumbre aplicada a otras áreas.
RESULTADOS
Mediante la utilización del lenguaje de programación Python se realizó la
implementación del algoritmo de ordenamiento de indicadores de consumo
para ocho zonas urbano-marginales de la ciudad de Guayaquil con la
finalidad de determinar el sector o zona que mantiene los indicadores más
bajos y de esta manera priorizar, en caso de ser necesario, la
implementación de medidas de asistencia gubernamental o campañas de
capacitación. A continuación se muestra la tabla de valores ingresados
mediante archivo al programa:
Gráfico 26
Valores ingresados en archivo Excel
Elaboración: Pincay Leonardo, Romero Beatriz
Fuente: Datos de la investigación
63
En el gráfico 27 se muestran los resultados obtenidos luego del ingreso por
pantalla del umbral.
Como se puede apreciar las zonas se muestran en tuplas ordenadas con
jerarquía de mayor a menor de izquierda a derecha, lo que significa que el
nombre de la zona a la extrema izquierda corresponde a la que mantiene
los mejores indicadores y el nombre de la zona a la extrema derecha
equivale a la que posee los peores indicadores socioeconómicos.
En casos en los cuales los extremos se encuentren formados por tuplas, es
indiferente el orden de las zonas dentro de esa tupla ya que ambas poseen
valores en los indicadores socioeconómicos muy similares, razón por la
cual se presentan agrupadas.
El orden de posición de las zonas en la pantalla de resultados depende
directamente del umbral ingresado.
Gráfico 27
Pantalla de resultados
Elaboración: Pincay Leonardo, Romero Beatriz
Fuente: Datos de la investigación
64
Como casos especiales, se debe considerar, que para los valores extremos
que sean ingresados como umbral en el programa (0.1 o 0.9), el algoritmo
no presentará resultados ya que dichos valores no permiten la ejecución
correcta del ordenamiento. Se mostrará un mensaje de advertencia en
pantalla.
Gráfico 28
Pantalla de resultados umbrales extremos
Elaboración: Pincay Leonardo, Romero Beatriz
Fuente: Datos de la investigación
En el gráfico 29 se muestra la presentación en pantalla del historial obtenido
después del ingreso de varios umbrales por pantalla. Esto con la finalidad
de comparar las zonas que repiten las posiciones en los diferentes
umbrales.
Este histórico se muestra en un cuadro de texto y en forma ordenada
conforme al ingreso realizado por el usuario en pantalla de los umbrales al
programa.
65
Gráfico 29 Pantalla historial de resultados
Elaboración: Pincay Leonardo, Romero Beatriz
Fuente: Datos de la investigación
CONCLUSIONES
Mediante la revisión del material documental y el estudio del algoritmo de
ordenamiento se comprobó la importancia de la aplicación en nuestra
sociedad actual de la lógica difusa ya que permite estudiar los
planteamientos, en muchos casos subjetivos, al momento de implementar
soluciones o tomar decisiones que no pueden ser determinadas con
estructuras basadas en una certeza que no aplica al desarrollo de la
sociedad en general.
El rendimiento del algoritmo se verificó mediante el cumplimiento de las
características fundamentales al momento de su implementación y
ejecución.
• Se determinó que es preciso ya que especifica de una manera clara
el orden de ejecución de los pasos.
66
• La ejecución del algoritmo en varias ocasiones permitió determinar
que es definido ya que se obtuvieron los mismo resultados en cada
una de sus ejecuciones.
• Cumple también con la característica de ser finito ya que cuenta con un número de pasos que producen en un momento un resultado.
La utilización de las técnicas basadas en las matemáticas de la
incertidumbre nos ha permitido comprender la importancia de su aplicación
en la sociedad actual que crece y cambia a una velocidad muy acelerada
lo que hace relativamente imposible determinar un comportamiento que
pueda ser determinado por la certeza.
Existen, como indicamos anteriormente en el presente trabajo, varios
algoritmos basados en la matemática de la incertidumbre que bajo
procesos similares permiten obtener ordenamientos pero como se ha
demostrado el presente algoritmo propuesto y desarrollado resuelve
correctamente y de una forma sencilla la necesidad de ordenamiento de
zonas urbano-marginales de la ciudad de Guayaquil, basándose en los
indicadores de consumo eléctrico considerando que varios de estos
indicadores utilizados son de carácter subjetivo.
Con los resultados obtenidos en el presente trabajo podemos concluir que
este algoritmo puede ser utilizado en distintos ámbitos de la ciencia y de
manera especial en campos en los cuales la sociedad asume un papel
importante al momento de evaluar su entorno actual con la finalidad de
obtener un beneficio que le permita incrementar su nivel de desarrollo y
mejorar su calidad de vida.
Dentro del entorno educativo presenta una opción viable al momento de
establecer una posible medición de conocimientos en los estudiantes en
todos sus niveles. Esto permitiría descubrir posibles insuficiencias y
establecer un seguimiento a la mejora de la educación dentro del país. Esto
con la finalidad de crear una base de información que permita medir el
progreso del estudiante, así como también ofrezca datos que favorezcan la
implementación de políticas para el control de la calidad en la educación.
67
Dentro de la esfera gubernamental puede aportar información de gran
importancia que permita mejorar las condiciones actuales de vida tanto
para la población a nivel urbano como a nivel marginal.
En el ámbito de la salud como uno de los principales aspectos en los que
se puede obtener un progreso; a través de la verificación de factores que
influyen en brotes de enfermedades en diferentes sectores de la ciudad se
podría establecer aspectos a corregir en el entorno como en la recolección
de basura, acceso al alcantarillado, calidad en el agua potable, entre otros.
En la seguridad se puede determinar la percepción por parte de los
ciudadanos del control policial que mantiene las autoridades en
determinadas zonas establecidas como peligrosas o que cuenten con un
alto índice delictivo.
Como es de conocimiento, el índice de pobreza es considerable en el país.
Mediante la implementación de un estudio en diferentes zonas urbanas y
urbano-marginales se podría obtener información que refleje las
deficiencias en atención que recibe la niñez y adolescencia, es decir la falta
de programas complementarios a la educación que incentiven la práctica
de deportes y otras disciplinas que los mantengan alejados de la formación
de malos hábitos como drogas y alcohol.
En el ámbito privado las industrias pueden utilizar indicadores que permitan
conocer el entorno de vida de sus trabajadores para así desarrollar
programas dentro de los departamentos de Recursos Humanos dedicados
a mejorar la calidad de vida de su personal directo y su familia.
RECOMENDACIONES
Los resultados obtenidos con la implementación del algoritmo nos permiten
considerar su utilización en otras ciudades del país con la finalidad de
contar con datos que nos ayuden a formar una base y prever posibles
impactos económicos negativos con la toma de decisiones
gubernamentales por el agravamiento de la mala situación económica por
la que atraviesa nuestra sociedad actual.
68
Por la facilidad en su implementación podemos recomendar la aplicación
del presente algoritmo en otras áreas mediante la previa realización de un
análisis detenido a la población que permita seleccionar correctamente una
muestra representativa con la finalidad de obtener resultados significativos
para la aplicación de medidas eficientes. De igual manera es necesario
precisar los indicadores a utilizarse para conseguir la delimitación correcta
a la que se dirige el posible estudio.
Por otra parte con el lenguaje de programación Python pudimos comprobar
la factibilidad de mejorar el presente trabajo y la implementación de otros
algoritmos existentes ya que se trata de una herramienta de software libre
a disposición general y que no genera ningún costo al momento de su
utilización.
Se debe resaltar especialmente que por tratarse de un lenguaje de alto
nivel, de propósito general y sobre todo usado ampliamente en el área
científica al momento cuenta con una comunidad dedicada al desarrollo
constante de nuevas bibliotecas que facilitan su utilización. De igual manera
por ser un lenguaje multiplataforma permite realizar los ejecutables de su
código fuente para varios sistemas operativos tales como: Windows, Mac,
Linux.
La implementación realizada en el presente trabajo de investigación brinda
el ordenamiento de las zonas por medio de tuplas que indican el orden de
afectación de los indicadores analizados, esto puede servir como guía para
adicionar en el futuro un entorno gráfico que permita obtener los resultados
mediante representaciones en barras o en ubicaciones geográficas para
mejorar la facilidad de comprensión de los resultados al usuario final.
69
BIBLIOGRAFÍA
Agudelo, G., Aigneren, M., & Compiladores, R. (2015). DISEÑOS DE
INVESTIGACIÓN EXPERIMENTAL Y NO-EXPERIMENTAL Gabriel Agudelo,
Miguel Aigneren y Jaime Ruiz. Compiladores. 1–46.
Alonso, L., Coello, S., González, Y., Hidalgo, J., Barzola, j. (2019). Desarrollo de
habilidades Science, Technology, Engineering and Mathematics en
estudiantes universitarios de Física mediante proyectos I + D + i. Caso:
Estimación de la demanda de la energía eléctrica en zonas rurales y urbano-
marginales.
Alonso, L., Barzola, J., González, Y., Hidalgo, J., Coello, S. (2018). Algoritmo de
Ordenamiento Aplicado en Regiones Geográficas usando Indicadores de
Consumo Eléctrico Residencial. 1–6.
Gazoni, E., & Clark, C. (2017). openpyxl Documentation.
(http://bitbucket.org/openpyxl/openpyxl/issues), 121.
Gil-Lafuente, J., Nicolás Alarcón, C., Gutierrez Caques, A. (2014). Propuestas para
el desarrollo de indicadores éticos diusos en marqueting - Barcelona
Hidalgo, J., Gonzales, Y., Coello, S., Barzola, J., & Alonso, L. (2018). Sorting urban-
marginal areas in Ecuador by weighting energy consumption indicators Y.
Revista Iberica de Sistema e Tecnologias de Informacao.
https://doi.org/10.17013/risti.n.pi-pf
Hidalgo, J., Coello, S., González, Y. (2018). The Determinants of Household
Electricity Demand in Marginal Ecuador: "A Case study at Monte Sinaí"
Hidalgo, J., González, Y., Coello, S., Barzola, J., Alonso, M., Crespo, T. (2018).
Household Electricity Demand in Marginal Ecuador: Estimation and Impact
of Explanatory Variables.
Mousalli, G. (2015). Métodos y Diseños de Investigación Cuantitativa. (October
2015), 39. https://doi.org/10.13140/RG.2.1.2633.9446
70
Python, R. (2013). Cuadros de diálogo (messagebox) en Tcl/Tk (tkinter) - Recursos
Python. Retrieved August 23, 2019, from https://recursospython.com/guias-
y-manuales/cuadros-de-dialogo-messagebox-en-tkinter/
Rodriguez, L. (2015). Python Programación. Esuela Superior Politécnica del
Litoral.
Software, F. P. (2019). tkinter.ttk - Widgets temáticos de Tk - Documentación de
Python 3.7.4. Retrieved August 23, 2019, from
https://docs.python.org/3/library/tkinter.ttk.html
Población de Guayaquil 2019 - Número actual de habitantes de Guayaquil
http://www.forosecuador.ec/forum/ecuador/educaci%C3%B3n-y-
ciencia/166064-poblaci%C3%B3n-de-guayaquil-2019-n%C3%BAmero-
actual-de-habitantes-de-guayaquil
TERCERA CONFERENCIA DE LAS NACIONES UNIDAS SOBRE LA VIVIENDA Y EL
DESARROLLO URBANO SOSTENIBLE HABITAT III ( Octubre 2018)
https://www.habitatyvivienda.gob.ec/wp-
content/uploads/downloads/2017/05/Informe-Pais-Ecuador-Enero-
2016_vf.pdf
Agencia EFE. (2018, octubre 13). La población de Ecuador superó los 17 millones
de habitantes. El Comercio, Recuperado de
https://www.elcomercio.com/actualidad/poblacion-ecuador-supera-
millones-habitantes.html
Gaibor, I. (2018, agosto 22). El Gobierno elimina entidades y sibe el precio de la
Súper. Expreso.ec. Recuperado de
https://www.expreso.ec/actualidad/subsidio-gasolina-super-reformas-
economicas-YE2336890
Julia Máxima Uriarte. Algoritmo, Caracteristicas.co. Última edición: 10 de agosto
de 2018. Disponible en:
71
https://www.caracteristicas.co/algoritmo/#ixzz5wYUiouzX
Peñaloza Palomeque, Mariana, TEORÍA DE LAS DECISIONES. PERSPECTIVAS [en
linea] 2010, (Enero-Junio) : [Fecha de consulta: 14 de agosto de 2019]
Disponible en:<http://www.redalyc.org/articulo.oa?id=425942454012>
ISSN 1994-3733
Peñaloza Palomeque, M. (2010). TEORÍA DE LAS DECISIONES. PERSPECTIVAS,
(25), 227-240.
Seymore, Reyno & D Adams, P & Chitiga-Mabugu, Margaret & van Heerden, Jan
& Blignaut, James. (2010). The impact of an environmental tax on electricity
generation in South Africa. J.STUD.ECON.ECONOMETRICS. 34.
Rubio Cebrián S. Rubio González B. Conceptos e indicadores básicos en economía
[Internet]. Madrid: Escuela Nacional de Sanidad; 2012. Tema 1.2. Disponible
en: http://e-
spacio.uned.es/fez/eserv/bibliuned:500659/n7.5_An__lisis_de_decisi__n.p
df
Céspedes, E. (2009). LA TEORÍA DE LA DECISIÓN DE DAVID LEWIS Y LA PARADOJA
DE NEWCOMB. Límite. Revista Interdisciplinaria de Filosofía y Psicología, 4
(20), 53-68.
Fernando Aguiar González. (octubre, 2004). Teoría de la decisión e
incertidumbre: modelos normativos y descriptivos, Empiria. Revista de
metodología de ciencias sociales; Núm. 8, 139-160. doi:
10.5944/empiria.8.2004.982
Joyanes Aguilar Luis, Zahonero Martinez Ignacio, Programación en C, C++, Java y
UML, 2da edición, Mc Graw Hill, México (2014)
Real Academia Española. (2014). Diccionario de la lengua española (23.a ed.).
Consultado en http://www.rae.es/rae.html
Organización de Servicio SEAT S.A., Conceptos básicos de electricidad,
72
Andrew Rex, Richard Wolfson, Fundamentos de Física, Pearson Educación, 2011,
Madrid
Guía Comunitaria para la Salud ambiental, 2011
Peñaloza Palomeque, Mariana (2010). TEORÍA DE LAS DECISIONES.
PERSPECTIVAS, Vol. num (25), Disponible en
http://www.redalyc.org/articulo.oa?id=4259/425942454012
Guido Van Rossum, El tutorial de Python, Python Software Fundation, 2017
73
ANEXO 1
CÓDIGO DE IMPLEMENTACIÓN DEL ALGORITMO DE ORDENAMIENTO
#librerias #region from sympy import * import openpyxl from tkinter import * import copy from openpyxl import load_workbook from tkinter import ttk from tkinter import messagebox from tkinter import filedialog #endregion
#variables #region variables #FILE_PATH ="datos_prueba.xlsx" FUENTE = "Verdana" #otrasfuentes: Chiller,Comic umbral = "" SHEET = 'Hoja1' listaDatosExcel = [] listaFilasExcel = [] listaDatosExcelAMostrar = [] arrayDatosExcel = [] arrayDatosExcelAMostrar = [] listaColumnaValida = [] listaAMostrar = [] copialistaColumnaValida = [] tuplaElementosOrdenados = [] tuplaElementosOrdenadosAMostrar = [] control_final = False control_final2 = False arregloDatosTabuladosPrincipal = [] #umbral = ""
tuplaPosicionesObtenidas = "" ultimaColumna = 0 workbook = None ws = None
contadorListaPosObt = 0 tuplaElementosOrdenadosAMostrarHistorial = [] tuplaElementosOrdenadosHistorial = [] listaUmbrales = [] arregloDatosTabuladosAux = [] arregloDatosTabuladosHist = [] arregloDatosBusquedaIndices = [] arregloDatosReducirMatriz = []
74
tuplaElementosOrdenadosMostrarHistorial = [] listaUmbralesAMostrarHistorial = [] tuplaFinal = [] listatuplaFinal = [] listatuplaFinalAMostrar = [] listaCabecera = []
#endregion
def listToTuple(lista):
return tuple(lista)
#implementacion del listBoxHistorial def cargarHistorial():
global listaUmbrales global tuplaElementosOrdenadosMostrarHistorial
separador = " : " for listUmbs,tuplaElemenOrdHist in zip (listaUmbrales,tuplaElementosOrdenadosMostrarHistorial): row = str(listUmbs) + str(separador) + str(tuplaElemenOrdHist) listBoxHistorial.insert(END,row)
listBoxHistorial.place(x=90,y=400) listaUmbrales = [] tuplaElementosOrdenadosMostrarHistorial = []
def setVariables():
global listaDatosExcel global listaFilasExcel global listaDatosExcelAMostrar global arrayDatosExcel global arrayDatosExcelAMostrar global listaColumnaValida global listaAMostrar global copialistaColumnaValida global tuplaElementosOrdenados global tuplaElementosOrdenadosAMostrar global arregloDatosTabuladosPrincipal global umbral global tuplaPosicionesObtenidas global ultimaColumna global workbook global ws global contadorListaPosObt global tuplaElementosOrdenadosAMostrarHistorial global tuplaElementosOrdenadosHistorial global listaUmbrales global listatuplaFinalAMostrar global listatuplaFinal global listaCabecera
75
listaDatosExcel = [] listaFilasExcel = [] listaDatosExcelAMostrar = [] arrayDatosExcel = [] arrayDatosExcelAMostrar = [] listaColumnaValida = [] listaAMostrar = [] copialistaColumnaValida = [] tuplaElementosOrdenados = [] tuplaElementosOrdenadosAMostrar = [] arregloDatosTabuladosPrincipal = [] umbral = "" tuplaPosicionesObtenidas = "" ultimaColumna = 0 workbook = None ws = None
tuplaElementosOrdenadosAMostrarHistorial = [] contadorListaPosObt = 0 tuplaElementosOrdenadosHistorial = [] listaUmbrales = []
listatuplaFinalAMostrar = [] listatuplaFinal = [] listaCabecera = []
#limpiar()
##SETEAR LAS LISTAS def borrarListboxPosObt():
listBoxPosicionesObtenidas.delete(1,END) def limpiar():
listBoxDatosExcel.delete(1,END) listBoxPosicionesObtenidas.delete(1,END) listBoxHistorial.delete(1,END)
numeroUmbral.set("") setVariables()
btnAplicar.config(state= DISABLED) btnCargarHistorial.config(state= DISABLED) btnLimpiar.config(state= DISABLED)
btnCargarExcel.config(state=NORMAL)
def
insertarListaPosObtEnListBoxPosObt():
76
for row in tuplaElementosOrdenadosAMostrar: row = str(row) listBoxPosicionesObtenidas.insert(END,row)
txtListaOrdenadaResult.place_forget() listBoxPosicionesObtenidas.place(x=350,y=245)
def getUltimaFila(sheet):
ultimaFila = 0 for i, celda in
enumerate(sheet['A']): if celda.value is None:
ultimaFila = i break
if ultimaFila == 0: ultimaFila = sheet.max_row
return ultimaFila def getultimaColumna(sheet):
return sheet.max_column def getFilePath():
return filedialog.askopenfilename(title = "Abrir",initialdir="C:",filetypes = (("Ficheros Microsoft Office 2007","*.xlsx"),("Ficheros Open XML","*.xlsm"), ("Microsoft Excel 2016","*.xltx"),(" Hojas de cálculo XLSM","*.xltm")))
def
getSheet(SHEET,workbook): return workbook[SHEET]
def cargarDatosExcelaListBox():
for row in listaFilasExcel: row = str(row) listBoxDatosExcel.insert(END,row)
txtDatosExcel.place_forget() listBoxDatosExcel.place(x=350,y=20) txtUmbral.config(state=NORMAL)
#lectura de los datos de Excel def cargarDocumento():
global arregloDatosTabuladosPrincipal global listaDatosExcel global listaFilasExcel global listaDatosExcelAMostrar global arrayDatosExcel global arrayDatosExcelAMostrar global workbook global ultimaColumna
77
global SHEET global listaCabecera global ws
listaCabecera = [] workbook = load_workbook(getFilePath(), read_only= False) ultimaColumna = getultimaColumna(getSheet(SHEET,workbook)) ultimafila = getUltimaFila(getSheet(SHEET,workbook)) ws = workbook.active
for fila in ws.iter_rows(min_row=1, max_col=ultimaColumna, max_row=1):
for columna in fila: listaCabecera.append(columna.value) listaDatosExcelAMostrar.append(columna.value)
for fila in ws.iter_rows(min_row=2, max_col=ultimaColumna, max_row=ultimafila):
for columna in fila: while(columna.value != None):
listaDatosExcel.append(columna.value) listaDatosExcelAMostrar.append(str(' ') + str(Float(columna.value,4))) break
while(listaDatosExcel != []):
arrayDatosExcel.append(listaDatosExcel[:ultimaColumna]) listaDatosExcel = listaDatosExcel[ultimaColumna:]
while(listaDatosExcelAMostrar != []):
filasExcel = tuple(listaDatosExcelAMostrar[:ultimaColumna]) listaFilasExcel.append(filasExcel) listaDatosExcelAMostrar = listaDatosExcelAMostrar[ultimaColumna:]
cargarDatosExcelaListBox() arregloDatosTabuladosPrincipal=[[0]*ultimaColumna for i in range (ultimaColumna)] contador = 0 for columna in range((ultimaColumna)):
for auxCol in range((ultimaColumna)):
for fila in range(len(arrayDatosExcel)): if (arrayDatosExcel[fila][columna]>=arrayDatosExcel[fila][auxCol]):
contador += 1 if (fila == len(arrayDatosExcel) 1):
arregloDatosTabuladosPrincipal[columna][auxCol]=contador contador = 0
for fila in range(ultimaColumna):
for columna in range(ultimaColumna): ultimafila = getUltimaFila(getSheet(SHEET,workbook)) arregloDatosTabuladosPrincipal[fila][columna]/=ultimafila arregloDatosTabuladosPrincipal[fila][columna] = round (arregloDatosTabuladosPrincipal[fila][columna], 2)
btnAplicar.config(state=NORMAL) btnLimpiar.config(state=NORMAL)
78
btnCargarExcel.config(state=DISABLED) umbral = "" numeroUmbral.set("")
def salir(): res = messagebox.askquestion("Salir","¿Desea Salir del Aplicación?") if res == "yes":
raiz.destroy() def
busquedaIndiceColumna(copiaListaDatos,tuplaFinal): global tuplaElementosOrdenados global tuplaElementosOrdenadosAMostrar global listatuplaFinal global listatuplaFinalAMostrar global listaCabecera es_final_recursividad = False for columna in range(len(copiaListaDatos)):
contadorNone = 0 for fila in range(len(copiaListaDatos)):
if (copiaListaDatos[fila][columna] == 1): break
if (copiaListaDatos[fila][columna] == None): contadorNone+=1
if ((fila==(len(copiaListaDatos)) 1)and(contadorNone<=(len(copiaListaDatos)2))):
listaColumnaValida.append(columna) zonaAMostrar = listaCabecera[columna] listaAMostrar.append(zonaAMostrar) tuplaFinal[columna] = None
if columna == (len(copiaListaDatos)) 1 : if len(listaColumnaValida) == 0:
es_final_recursividad = True for columValida in tuplaFinal:
if(columValida != None): listatuplaFinal.append(columValida)
break
if(len(listaColumnaValida)!=0): tuplaElementosOrdenados.append(listToTuple(listaColumnaValida)) tuplaElementosOrdenadosAMostrar.append(str(' ')+str(listToTuple(listaAMostrar)))
for elemento in
reversed(listaColumnaValida): for fila in range(len(copiaListaDatos)):
for columna in range(len(copiaListaDatos)): if ((elemento == columna) or (elemento == fila)):
copiaListaDatos[fila][columna] = None listaColumnaValida.pop() listaAMostrar.pop()
79
if((es_final_recursividad == True) and listatuplaFinal != []): listatuplaFinalAMostrar = tuple(listatuplaFinal) if (tuplaElementosOrdenadosAMostrar != []):
tuplaElementosOrdenadosAMostrar.append(str(' ')+str(listatuplaFinalAMostrar))
else: messagebox.showinfo("INFORMACIÓN","No se logra un buen orden con este umbral: " + str(umbral))
return es_final_recursividad
def reducirMatriz(listaDatos): es_final_recursividad = False contadorCiclos = 0 for columna in range(len(listaDatos)):
contadorNone = 0 for fila in range(len(listaDatos)):
if (listaDatos[fila][columna] == 1): break
if (listaDatos[fila][columna] == None): contadorNone+=1
if ((fila==(len(listaDatos))1)and(contadorNone<=(len(listaDatos)2))) : copialistaColumnaValida.append(columna)
if columna == (len(listaDatos)) 1 :
if len(copialistaColumnaValida) == 0: es_final_recursividad = True break
for elemento in reversed(copialistaColumnaValida): for fila in range(len(listaDatos)):
for columna in range(len(listaDatos)): if (elemento == columna):
del (listaDatos[fila][columna]) for fila in reversed(range(len(listaDatos))):
if (elemento == fila): listaDatos.pop(elemento) copialistaColumnaValida.pop()
contadorCiclos+=1 if((contadorCiclos > 0) and (len(copialistaColumnaValida) == 0)):
es_final_recursividad = True
return
es_final_recursividad
def aplicacionUmbral(): global contadorListaPosObt global SHEET global arregloDatosBusquedaIndices global arregloDatosReducirMatriz
80
global umbral global arregloDatosTabuladosAux global arregloDatosTabuladosPrincipal global tuplaElementosOrdenadosAMostrar #global workbook global tuplaElementosOrdenadosAMostrarHistorial global tuplaElementosOrdenadosHistorial global listaUmbrales global tuplaElementosOrdenadosMostrarHistorial global listaUmbralesAMostrarHistorial global listatuplaFinal global listatuplaFinalAMostrar #global ws
listatuplaFinal = [] listatuplaFinalAMostrar = []
if contadorListaPosObt != 0:
borrarListboxPosObt()
tuplaElementosOrdenadosAMostrar = [] arregloDatosTabuladosAux = copy.deepcopy(arregloDatosTabuladosPrincipal)
#saludo = 'HOLA' if lang=='es' else 'HI'
try: umbral = float((txtUmbral.get()).replace(",", "."))
except ValueError: messagebox.showinfo("ADVERTENCIA","Debe Ingresar un número decimal") umbral = ""
if ((umbral <= 1.00) and (umbral >= 0.00)):
if ((arregloDatosTabuladosAux != []) and umbral != ""): for fila in range(ultimaColumna):
for columna in range(ultimaColumna): if(arregloDatosTabuladosAux[fila][columna] >= umbral):
arregloDatosTabuladosAux[fila][columna] = 1 else:
arregloDatosTabuladosAux[fila][columna] = 0
for fila in range(ultimaColumna): for columna in range(ultimaColumna):
if fila == columna: arregloDatosTabuladosAux[fila][columna] = None
arregloDatosBusquedaIndices = copy.deepcopy(arregloDatosTabuladosAux) arregloDatosReducirMatriz = copy.deepcopy(arregloDatosTabuladosAux)
global control_final global control_final2 global tuplaFinal
control_final = False control_final2 = False
81
tuplaFinal = []
for fila in ws.iter_rows(min_row=1, max_col=ultimaColumna, max_row=1): for columna in fila:
tuplaFinal.append(columna.value)
while control_final == False:
control_final = busquedaIndiceColumna (arregloDatosBusquedaIndices,tuplaFinal)
if control_final == True: while control_final2 == False:
control_final2 = reducirMatriz(arregloDatosReducirMatriz) if control_final2 == True: break
break
insertarListaPosObtEnListBoxPosObt() btnCargarHistorial.config(state=NORMAL) tuplaElementosOrdenadosHistorial.append(tuplaElementosOrdenadosAMostrar) tuplaEleOrednaHist = tuple(tuplaElementosOrdenadosHistorial) tuplaElementosOrdenadosMostrarHistorial.append(tuplaEleOrednaHist) listaUmbrales.append(round(umbral,2)) tuplaUmbralesHist = tuple(listaUmbrales) listaUmbralesAMostrarHistorial.append(tuplaUmbralesHist) umbral = "" numeroUmbral.set("") tuplaElementosOrdenadosHistorial = [] contadorListaPosObt +=1
else: messagebox.showwarning("ADVERTENCIA","Número fuera del rango") umbral = ""
#diseño de interfaz grafica #region STRING_DATOS_EXCEL = "LISTA DE DATOS DEL DOCUMENTO" STRING_POSICIONES_OBTENIDAS = "LISTA ORDENADA DE RESULTADOS" STRING_HISTORIAL = "UMBRAL : POSICIONES"
raiz = Tk() raiz.title("Algoritmo de Ordenamiento") raiz.iconbitmap("iconXLSX.ico")
miFrame = Frame() miFrame.pack(fill="both",expand = "True") miFrame.config(bg="white") miFrame.config(width= "1000",height = "665") miFrame.config(bd = 15) miFrame.config(relief= "groove") miFrame.config(curso = "hand2") btnCargarExcel = Button(miFrame,command =cargarDocumento,text="Cargar Documento",width="16", height="2",font= (FUENTE,18))
btnCargarExcel.place(x=25,y=25)
82
lblUmbral = Label(miFrame,text="Ingrese un Umbral :",bg= "white",font= (18)) lblUmbral.place(x=25,y=220)
numeroUmbral = StringVar() txtUmbral = Entry(miFrame,textvariable = numeroUmbral, state=DISABLED,width =12) txtUmbral.place(x=200,y =220)
listBoxDatosExcel = Listbox(miFrame,width = 95) listBoxDatosExcel.insert(0,STRING_DATOS_EXCEL)
entrada_txtDatosExcel = StringVar() entrada_txtDatosExcel.set(STRING_DATOS_EXCEL) txtDatosExcel = Entry(miFrame,width=95,
textvariable=entrada_txtDatosExcel,state=DISABLED) txtDatosExcel.place(x=350,y=20)
btnAplicar = Button(miFrame,command=aplicacionUmbral ,state= DISABLED,text="Aplicar",width="16", height="2",font= (18))
btnAplicar.place(x=90,y=260) Label(miFrame,text="Posiciones obtenidas :",bg= "white",font= (18)).place (x=350,y=218)
listBoxPosicionesObtenidas = Listbox(miFrame,width = 95, height = 7) listBoxPosicionesObtenidas.insert(0,STRING_POSICIONES_OBTENIDAS) entrada_ListaOrdenadaResult = StringVar() entrada_ListaOrdenadaResult.set(STRING_POSICIONES_OBTENIDAS) txtListaOrdenadaResult = Entry(miFrame,state= DISABLED,width = 95,textvariable=entrada_ListaOrdenadaResult
) txtListaOrdenadaResult.place(x=350,y=245) listBoxHistorial = Listbox(miFrame,width = 125, height = 7) listBoxHistorial.insert(0,STRING_HISTORIAL)
Label(miFrame,text="Historial :",bg= "white",font= (18)).place(x=90,y=370)
btnCargarHistorial=Button(miFrame,command=cargarHistorial ,state= DISABLED,text = "Ver Historial",width="16", height="2",font= (18))
btnCargarHistorial.place(x=200,y=550) btnLimpiar=Button(miFrame,command = limpiar,state= DISABLED,text="Limpiar",width="16", height="2",font= (18))
btnLimpiar.place(x=400,y=550) btnCancelar=Button(miFrame,command=salir,text="Cancelar",width="16", height="2",font=(18))
btnCancelar.place(x=600,y=550) raiz.mainloop() #endregio
83
TABLA DE VALORES DE LOS INDICADORES SOCIOECONÓMICOS DE CADA ZONA URBANA DE GUAYAQUIL
84
ANEXO 2 FORMATO DE ENCUESTAS
PARA OBTENCIÓN DE INDICADORES
85
FECHA:……………………………
NOMBRE DEL ENCUESTADO: ……………………………………………………..
EDAD DEL ENCUESTADO: …………………………………………………………
GÉNERO: 1 ( ) MASCULINO 2 ( ) FEMENINO
NÚMERO DE MIEMBROS DEL HOGAR: ……………………………………
UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE INGENIERÍA INDUSTRIAL
CARRERA DE INGENIERÍA INDUSTRIAL
Mi nombre es............................................... Esta encuesta busca explorar los factores socioeconómicos que afectan el consumo eléctrico en la Ciudad de Guayaquil.
En virtud a lo anterior, se le agradece de forma muy especial su colaboración para responder las preguntas que encontrarán a continuación. No está demás enfatizar que los datos que usted exponga, serán tratados con profesionalismo, discreción y responsabilidad.
1 ( ) La entrevista es administrada al jefe de hogar. 2 ( ) La entrevista es administrada a un miembro cercano de la familia.
Su relación con el jefe de hogar
Identificación y ubicación de la vivienda
“ENCUESTA SOCIOECONÓMICA PARA CONSUMO ELÉCTRICO”
86
87
B. DATOS DE LA VIVIENDA Y EL HOGAR
B1. Registre el número de HOGARES que residen habitualmente en esta vivienda:
B2. VÍA DE ACCESO PRINCIPAL A LA VIVIENDA. (Por observación) - 1. Carretera/ calle pavimentada o adoquinada ( ) - 2. Empedrado.................................................... ( ) - 3. Lastrado/ calle de tierra................................ ( ) - 4. Sendero......................................................... ( ) - 5. Río/ Mar........................................................ ( ) - 6. Otro, cuál ? ................................................... ( )
B3. TIPO DE VIVIENDA (Por observación). -1. Casa/ villa................................................. ( ) -2. Departamento......................................... ( ) -3. Cuarto (s) en casa de inquilinato.............. ( ) -4. Mediagua.................................................. ( ) -5. Rancho/ choza/ covacha........................... ( ) -6. Otro, cuál ? ................................................( )
B4. ¿Cuál es el material de construcción principal? (El Encuestador debe hacer observación y confirmarlo con el Entrevistado - marque solo uno) (Por observación). -1. ( ) Ladrillo -2. ( ) Concreto -3. ( ) Madera -4. ( ) Piedra -5. ( ) Mixta
-6. ( ) Otro (especifique)......................................................
B5. El material predominante del PISO de la vivienda es: (Por observación). - 1. Duela/parquet/ tabloncillo/ tablón tratado/piso flotante ?................................................. ( ) - 2. Cerámica/ baldosa/ vinyl ?............................. ( ) - 3. Mármol/ marmetón ?..................................... ( ) - 4. Cemento/ ladrillo?.......................................... ( ) - 5. Tierra ?............................................................ ( ) - 6. Otro, cuál ? .....................................................( )
B6. ¿Cuál es el estado de propiedad de su casa? 1. ( ) Propietario de la casa 2. ( ) Inquilino (Si es así, ¿cuánto es el alquiler?).................................................... 3. ( ) Proporcionado por el empleador 4. ( ) El usuario no paga el alquiler 5. ( ) Otro.................................................... 6. ( ) No lo sé
C. DISTRIBUCIÓN Y DEMANDA ELÉCTRICA
C1. ¿CUANTOS HABITACIONES HAY EN SU CASA (INCLUIDA LA SALA)? ................... HABITACIONES
C2. ¿La vivienda tiene negocio propio?
1. ( ) Servicios 2. ( ) Ocio 3. ( ) Tecnología 4. ( ) Formación 5. ( ) Otro.................................................... 6. ( ) No aplica
88
C3. ¿En caso de usar equipos eléctricos en su negocio, cuánto tiempo los usa mensualmente?
Tipo de equipo
Número de equipos
Bajo consumo (Taladro, secador de pelo, máquina de coser)
Medio Consumo (Bombas, compresores, etc.)
Alto Consumo (Cortadora industrial, estampadora industrial, sierra industrial, imprenta, soldadora industrial)
C4. En este Hogar se cocina principalmente con: - 1. Gas ( ) - 2. Electricidad ( ) - 3. Otro, cuál? ...................... ( )
C5. Equipamiento del hogar:
Tiene este Hogar (… BIEN …):
Sí 1
No 2
Cuántos (…Bien…) tiene?
Cuántos años tiene este (…Bien…)?
Si es menos de 1 año, registre 00
Cuántas horas usa este (…Bien…) al día?
Si es menos de 1, coloque la fracción
CÓDIGO NÚMERO AÑOS HORAS
1 Refrigeradora 2 Cocina eléctrica de inducción 3 Cocina eléctrica normal 4 Horno Eléctrico (No microondas) 5 Microondas 6 Licuadora 7 Lavadora 8 Máquina de coser 9 Equipo de sonido
10 Radio – Grabadora 11 Televisor a Color 12 Televisor Blanco/Negro 13 Betamax, VHS, DVD? 14 Cámara de Video 15 Computador 16 Aire Acondicionado 17 Ventilador 18 Plancha 19 Tanque Agua Caliente 20 Calentador para baño (Termoducha) 21 Parrilla para asar eléctrica 22 Bomba para agua 23 Olla arrocera
89
24 Aspiradora 25 Focos Ahorradores 26 Focos Incandescentes 27 Focos Led 28 Teléfonos celulares
C6. ¿Cuántos tomacorrientes 110 V o 220 V posee el hogar? Especifique 110 V……………………. 220 V………
C7. Pida el último recibo del servicio eléctrico (o el que tengan más a mano) y anote:
Suministro:
Código Único Eléctrico Nacional:
D. INGRESOS, GASTOS, AHORROS Y ACTIVIDADES COMERCIALES
D1. ¿Cuánto es el promedio de ingresos mensual de su casa como un todo? (La suma de todos los ingresos de
los miembros de la casa)
1. Menor igual a $390.00 ( ) 2. Entre $391.00 a $775.00 ( ) 3. Entre $776.00 a $1200.00 ( )
4. Entre $1201.00 a $1750.00 ( ) 5. Entre $1751.00 a $2250.00 ( ) 6.Entre $2250.00 a $ 5000.00 ( )
D2. Considerando todos los gastos más frecuentes que se realizan mensualmente en este hogar, ¿en cuánto
calcula usted, aproximadamente, dicho gasto?
1. Menor igual a $350.00 ( ) 2. Entre $351.00 a $700.00 ( ) 3. Entre $701.00 a $1000.00 ( )
4. Entre $1001.00 a $1500.00 ( ) 5. Entre $1501.00 a $2000.00 ( ) 6. Entre $2000.00 y $3000.00 ( )
E. HÁBITOS
E1. Habitualmente, en su hogar: Desconectan los aparatos electrónicos y electrodomésticos cuando no los usan? Si ( ) No ( ) No aplica ( )
E2. Habitualmente, en su hogar: Apagan los focos al salir de una habitación? Si ( ) No ( ) No aplica ( )
E3. Habitualmente, en su hogar: Introducen alimentos calientes en el refrigerador? Si ( ) No ( ) No aplica ( )
E4. Habitualmente, en su hogar: Planchan la mayor cantidad de ropa posible de una sola vez?
90
Si ( ) No ( ) No aplica ( )
E5. Habitualmente, en su hogar: Abren las cortinas y persianas para aprovecha la luz del sol? Si ( ) No ( ) No aplica ( )
E6. Habitualmente, en su hogar: Disponen de aparatos electrodomésticos (Refrigerador, lavadora, secadora) ahorradores de energía? Si ( ) No ( ) No aplica ( )
E7. Habitualmente, en su hogar: Disponen de paneles solares? Si ( ) No ( ) No aplica ( )
E8. Al momento de comprar un nuevo producto (electrodomésticos), a Usted le importa el precio? 1. Nada ( ) 2. Poco ( ) 3. Mucho ( )
E9. Al momento de comprar un nuevo producto (electrodomésticos), a Usted le importa la marca? 1. Nada ( ) 2. Poco ( ) 3. Mucho ( )
E10. Al momento de comprar un nuevo producto (electrodomésticos), a Usted le importa el lugar de origen (productos locales o importados? 1. Nada ( ) 2. Poco ( ) 3. Mucho ( )
E11. Al momento de comprar un nuevo producto (electrodomésticos), a Usted le importa la etiqueta ecológica? 1. Nada ( ) 2. Poco ( ) 3. Mucho ( )
E12. Al momento de comprar un nuevo producto (electrodomésticos), a Usted le importa el consumo/ahorro energético? 1. Nada ( ) 2. Poco ( ) 3. Mucho ( )
NÚMERO DE TELÉFONO DEL ENCUESTADO:
Nombre del Encuestador:
Firma del encuestador:
91
MMAANNUUAALL TTÉÉCCNNIICCOO PPAARRAA EELL UUSSOO DDEELL AAPPLLIICCAATTIIVVOO BBAASSAADDOO EENN UUNN
AALLGGOORRIITTMMOO PPAARRAA EELL OORRDDEENNAAMMIIEENNTTOO DDEE ZZOONNAASS UURRBBAANNOO--MMAARRGGIINNAALLEESS DDEE
GGUUAAYYAAQQUUIILL
MANUAL PRELIMINAR
92
INDICE DE CONTENIDO INTRODUCCIÓN ........................................................................................................... 93 I.-OBJETIVOS ................................................................................................................. 94
I.I-OBJETIVO GENERAL .......................................................................................... 94 I.II.-OBJETIVOS ESPECÍFICOS ............................................................................... 94
II.- ALCANCE. ................................................................................................................ 94 III.- REQUISITOS TÉCNICOS....................................................................................... 94 IV.-VÍAS DE ACCESO AL APLICATIVO ................................................................... 94 V. REQUERIMIENTOS MÍNIMOS DE HARDWARE. ............................................... 95 VI. REQUERIMIENTOS MÍNIMOS DE SOFTWARE. ................................................ 95 VII. SCRIPT DEL EJECUTABLE DE INSTALACIÓN ............................................... 95 VIII. INTERFAZ.............................................................................................................. 95 IX. DIAGRAMA DE FLUJO DE PROCESO ................................................................. 96 X. CÓDIGO FUENTE ..................................................................................................... 97
93
IINNTTRROODDUUCCCCIIÓÓNN
Un ordenamiento es una suma de
elementos dispuestos de una determinada manera para lograr la consecución de un fin
determinado. Los algoritmos de ordenamiento han ido evolucionando de la mano con las lógica difusa, en virtud de lo cual la eficiencia en cuanto a las distintas aplicaciones que se le pueda otorgar a los algoritmos, para este proyecto de titulación es el ordenamiento basado en indicadores o características subjetivas. El propósito de este manual es dar a conocer los instrumentos utilizados en la elaboración de este algoritmo y la herramienta que se construyo para tal efecto, detallando cada uno de los elementos y de su interacción en el proceso para la obtención de los resultados además de establecer las particularidades de los resultados que se pudiesen obtener si se lo aplicase a la resolución de problemas que van de lo especifico a lo general lo cual será de gran aporte al desarrollo local, regional, estatal y nacional, tomando en consideración los procesos que conforman el ordenamiento. En esta forma, a fin de responder a la necesidad de ordenar elementos bajo un criterio, el cual se ajusta a las necesidades de una determinada organización, mediante datos previamente organizados, se diseña el presente manual que funge como guía operativa del aplicativo.
Objetivo del manual:
Facilitar el proceso de ordenamiento de zonas urbano-marginales de la ciudad de Guayaquil.
94
II..--OOBBJJEETTIIVVOOSS
I.I-OBJETIVO GENERAL
Se ha creado este documento con el propósito de mostrar cómo fue diseñado el aplicativo, cómo interactuar con el mismo y de cómo prevenir o solucionar algún fallo del aplicativo. Dicho de manera general se diseñó con el propósito de guiar al programador encargado, como se hizo el código fuente y proceso de ejecución. I.II.-OBJETIVOS ESPECÍFICOS
- Guía de instalación del aplicativo. - Mostrar el código fuente para la realización de alguna mejora en el futuro. - Requisitos para la ejecución del aplicativo - Poner de manifiesto las evidencias del diseño del aplicativo
IIII..-- AALLCCAANNCCEE
El presente manual está dirigido a los técnicos o programadores interesados. Conocimientos básicos en programación. IIIIII..-- RREEQQUUIISSIITTOOSS TTÉÉCCNNIICCOOSS
- IDE Visual Studio 2019 : proporciona soporte de código abierto para el
lenguaje Python a través de las cargas de trabajo de Python Development y Data Science (Visual Studio 2017 y posterior) y las extensiones gratuitas de Python Tools para Visual Studio (Visual Studio 2015 y anterior).
- Lenguaje de programación Python: resulta útil para hacer pequeños programas o scripts donde prima más desarrollar de forma rápida y sencilla.
IIVV..--VVÍÍAASS DDEE AACCCCEESSOO AALL AAPPLLIICCAATTIIVVOO
El aplicativo se encuentra accesible través de un archivo.exe, el cual puede ser ejecutado sobre cualquier sistema operativo.
Fig. 1. aplicativo
95
VV.. RREEQQUUEERRIIMMIIEENNTTOOSS MMÍÍNNIIMMOOSS DDEE HHAARRDDWWAARREE..
Procesador: Intel inside 1.5 Ghz. Memoria RAM 512 Mb Disco Duro 64 Gb VVII.. RREEQQUUEERRIIMMIIEENNTTOOSS MMÍÍNNIIMMOOSS DDEE SSOOFFTTWWAARREE..
Privilegios de administrador Si Sistema operativo Windows Xp VVIIII.. SSCCRRIIPPTT DDEELL EEJJEECCUUTTAABBLLEE DDEE IINNSSTTAALLAACCIIÓÓNN
from cx_Freeze import setup, Executable setup( name = "Algoritmo Ordenamiento", version = "0.1" , description = "Proyecto de Tesis" , executables = [Executable("tesis.py")] , ) VVIIIIII.. IINNTTEERRFFAAZZ
96
IIXX.. DDIIAAGGRRAAMMAA DDEE FFLLUUJJOO DDEE PPRROOCCEESSOO
INICIO
CARGA DEL DOCUMENTO EXCEL CON MATRIZ n * m
INGRESO CANTIDAD DE REGISTROS MAS
APRECIADOS
CANTIDAD INGRESADA ES
VÁLIDA?
INGRESO DE NÚMERO DECIMAL EN PANTALLA
NÚMERODECIMAL ES
VÁLIDO?
TRANSFORMACIÓN MATRIZ PRINCIPAL A
BINARIA
RECORRIDO DE MATRIZ, BÚSQUEDA DE COLUMNAS CON
TODOS SUS ELEMENTOS 0
NORMALIZACIÓN DE DATOS DE
MATRIZ
HAY COLUMNASCON TODOS SUS ELEMENTOS = 0?
PRESENTACIÓN DE RESULTADOS
FIN
SI
NO
SI
NO
NO
SISE GUARDA ÍNDICE
DE COLUMNA HALLADA
ELIMINACIÓN DE ÍNDICE DE COLUMNA HALLADA
97
XX.. CCÓÓDDIIGGOO FFUUEENNTTEE #librerias #region from sympy import * import openpyxl from tkinter import * import copy from openpyxl import load_workbook from tkinter import ttk from tkinter import messagebox from tkinter import filedialog from tkinter import simpledialog #endregion #variables #region variables FUENTE = "Verdana" ##otrasfuentes : Chiller,Comic umbral = "" MayorAprec = "" SHEET = 'Hoja1' listaDatosExcel = [] listaFilasExcel = [] listaDatosExcelAMostrar = [] arrayDatosExcel = [] arrayDatosExcelAMostrar = [] listaColumnaValida = [] listaAMostrar = [] copialistaColumnaValida = [] tuplaElementosOrdenados = [] tuplaElementosOrdenadosAMostrar = [] control_final = False control_final2 = False arregloDatosTabuladosPrincipal = [] #umbral = "" tuplaPosicionesObtenidas = "" ultimaColumna = 0 workbook = None ws = None contadorListaPosObt = 0 tuplaElementosOrdenadosAMostrarHistorial = [] tuplaElementosOrdenadosHistorial = [] listaUmbrales = [] arregloDatosTabuladosAux = [] arregloDatosTabuladosHist = [] arregloDatosBusquedaIndices = [] arregloDatosReducirMatriz = [] tuplaElementosOrdenadosMostrarHistorial = []
98
listaUmbralesAMostrarHistorial = [] tuplaFinal = [] listatuplaFinal = [] listatuplaFinalAMostrar = [] listaCabecera = [] #endregion def listToTuple(lista): return tuple(lista) def ingresoMayorAprec(ultimafila): control = False while (control == False ): valor = simpledialog.askinteger("Ingreso de registros más apreciados","Cantidad de registros más apreciados :") if ((valor >= 0.00)and(valor <= ultimafila-1)): control = True return valor else: messagebox.showwarning("ADVERTENCIA","Número fuera del rango. Solo existen : "+ str(ultimafila-1)+" Registros") valor==0 def cargarHistorial(): global listaUmbrales global tuplaElementosOrdenadosMostrarHistorial separador = " : " for listUmbs,tuplaElemenOrdHist in zip (listaUmbrales,tuplaElementosOrdenadosMostrarHistorial): row = str(listUmbs) + str(separador) + str(tuplaElemenOrdHist) listBoxHistorial.insert(END,row) txtHistorial.place_forget() listBoxHistorial.place(x=90,y=400) listaUmbrales = [] tuplaElementosOrdenadosMostrarHistorial = [] def setVariables(): global listaDatosExcel global listaFilasExcel global listaDatosExcelAMostrar global arrayDatosExcel global arrayDatosExcelAMostrar global listaColumnaValida global listaAMostrar global copialistaColumnaValida global tuplaElementosOrdenados global tuplaElementosOrdenadosAMostrar global arregloDatosTabuladosPrincipal
99
global umbral global tuplaPosicionesObtenidas global ultimaColumna global workbook global ws global contadorListaPosObt global tuplaElementosOrdenadosAMostrarHistorial global tuplaElementosOrdenadosHistorial global listaUmbrales global listatuplaFinalAMostrar global listatuplaFinal global listaCabecera listaDatosExcel = [] listaFilasExcel = [] listaDatosExcelAMostrar = [] arrayDatosExcel = [] arrayDatosExcelAMostrar = [] listaColumnaValida = [] listaAMostrar = [] copialistaColumnaValida = [] tuplaElementosOrdenados = [] tuplaElementosOrdenadosAMostrar = [] arregloDatosTabuladosPrincipal = [] umbral = "" tuplaPosicionesObtenidas = "" ultimaColumna = 0 workbook = None ws = None tuplaElementosOrdenadosAMostrarHistorial = [] contadorListaPosObt = 0 tuplaElementosOrdenadosHistorial = [] listaUmbrales = [] listatuplaFinalAMostrar = [] listatuplaFinal = [] listaCabecera = [] def limpiar(): listBoxDatosExcel.delete(1,END) listBoxPosicionesObtenidas.delete(1,END) listBoxHistorial.delete(1,END) numeroUmbral.set("") MayorAprec = "" setVariables() btnAplicar.config(state= DISABLED) btnCargarHistorial.config(state= DISABLED) btnLimpiar.config(state= DISABLED) btnCargarExcel.config(state=NORMAL) txtUmbral.config(state=DISABLED)
100
##SETEAR LAS LISTAS def borrarListboxPosObt(): listBoxPosicionesObtenidas.delete(1,END) def insertarListaPosObtEnListBoxPosObt(): for row in tuplaElementosOrdenadosAMostrar: row = str(row) listBoxPosicionesObtenidas.insert(END,row) txtListaOrdenadaResult.place_forget() listBoxPosicionesObtenidas.place(x=350,y=245) def getUltimaFila(sheet): ultimaFila = 0 for i, celda in enumerate(sheet['A']): if celda.value is None: ultimaFila = i break if ultimaFila == 0: ultimaFila = sheet.max_row return ultimaFila def getultimaColumna(sheet): return sheet.max_column def getFilePath(): return filedialog.askopenfilename(title = "Abrir",initialdir="C:",filetypes = (("Ficheros Microsoft Office 2007","*.xlsx"),("Ficheros Open XML","*.xlsm"),("Microsoft Excel 2016","*.xltx"),(" Hojas de cálculo XLSM","*.xltm"))) def getSheet(SHEET,workbook): return workbook[SHEET] def cargarDatosExcelaListBox(): for row in listaFilasExcel: row = str(row) listBoxDatosExcel.insert(END,row) txtDatosExcel.place_forget() listBoxDatosExcel.place(x=350,y=20) txtUmbral.config(state=NORMAL) #lectura de los datos de Excel def cargarDocumento(): global MayorAprec global arregloDatosTabuladosPrincipal global listaDatosExcel global listaFilasExcel global listaDatosExcelAMostrar global arrayDatosExcel global arrayDatosExcelAMostrar
101
global workbook global ultimaColumna global SHEET global listaCabecera global ws MayorAprec= "" listaCabecera = [] workbook = load_workbook(getFilePath(), read_only= False) ultimaColumna = getultimaColumna(getSheet(SHEET,workbook)) ultimafila = getUltimaFila(getSheet(SHEET,workbook)) ws = workbook.active for fila in ws.iter_rows(min_row=1, max_col=ultimaColumna, max_row=1): for columna in fila: listaCabecera.append(columna.value) listaDatosExcelAMostrar.append(columna.value) for fila in ws.iter_rows(min_row=2, max_col=ultimaColumna, max_row= ultimafila): for columna in fila: while(columna.value != None): listaDatosExcel.append(columna.value) listaDatosExcelAMostrar.append(str(' ') + str(Float(columna.value,4))) break while(listaDatosExcel != []): arrayDatosExcel.append(listaDatosExcel[:ultimaColumna]) listaDatosExcel = listaDatosExcel[ultimaColumna:] while(listaDatosExcelAMostrar != []): filasExcel = tuple(listaDatosExcelAMostrar[:ultimaColumna]) listaFilasExcel.append(filasExcel) listaDatosExcelAMostrar = listaDatosExcelAMostrar[ultimaColumna:] cargarDatosExcelaListBox() MayorAprec = ingresoMayorAprec(ultimafila) #if ((MayorAprec >= 0.00)and(MayorAprec <= ultimafila-1)): arregloDatosTabuladosPrincipal = [[0] * ultimaColumna for i in range(ultimaColumna)] contador = 0 for columna in range((ultimaColumna)): for auxCol in range((ultimaColumna)): for fila in range(len(arrayDatosExcel)): if(fila<MayorAprec): if (arrayDatosExcel[fila][columna] >= arrayDatosExcel[fila][auxCol]): contador += 1 else: if (arrayDatosExcel[fila][columna] <= arrayDatosExcel[fila][auxCol]): contador += 1 if (fila == len(arrayDatosExcel) - 1):
102
arregloDatosTabuladosPrincipal[columna][auxCol] = contador contador = 0 for fila in range(ultimaColumna): for columna in range(ultimaColumna): ultimafila = getUltimaFila(getSheet(SHEET,workbook)) arregloDatosTabuladosPrincipal[fila][columna]/=ultimafila-1 arregloDatosTabuladosPrincipal[fila][columna] = round(arregloDatosTabuladosPrincipal[fila][columna], 2) btnAplicar.config(state=NORMAL) btnLimpiar.config(state=NORMAL) btnCargarExcel.config(state=DISABLED) umbral = "" numeroUmbral.set("") #else: # messagebox.showwarning("ADVERTENCIA","Número fuera del rango. Solo existen : "+ str(ultimafila-1)+" Registros") def salir(): res = messagebox.askquestion("Salir","¿Desea Salir del Aplicación?") if res == "yes": raiz.destroy() def busquedaIndiceColumna(copiaListaDatos,tuplaFinal): global tuplaElementosOrdenados global tuplaElementosOrdenadosAMostrar global listatuplaFinal global listatuplaFinalAMostrar global listaCabecera es_final_recursividad = False for columna in range(len(copiaListaDatos)): contadorNone = 0 for fila in range(len(copiaListaDatos)): if (copiaListaDatos[fila][columna] == 1): break if (copiaListaDatos[fila][columna] == None): contadorNone+=1 if ((fila == (len(copiaListaDatos)) - 1) and (contadorNone <= (len(copiaListaDatos) - 2))) : listaColumnaValida.append(columna) zonaAMostrar = listaCabecera[columna] listaAMostrar.append(zonaAMostrar) tuplaFinal[columna] = None if columna == (len(copiaListaDatos)) - 1 : if len(listaColumnaValida) == 0: es_final_recursividad = True for columValida in tuplaFinal: if(columValida != None): listatuplaFinal.append(columValida) break if(len(listaColumnaValida) != 0): tuplaElementosOrdenados.append(listToTuple(listaColumnaValida)) tuplaElementosOrdenadosAMostrar.append(str(' ') + str(listToTuple(listaAMostrar))) for elemento in reversed(listaColumnaValida):
103
for fila in range(len(copiaListaDatos)): for columna in range(len(copiaListaDatos)): if ((elemento == columna) or (elemento == fila)): copiaListaDatos[fila][columna] = None listaColumnaValida.pop() listaAMostrar.pop() if((es_final_recursividad == True) and listatuplaFinal != []): listatuplaFinalAMostrar = tuple(listatuplaFinal) if (tuplaElementosOrdenadosAMostrar != []): tuplaElementosOrdenadosAMostrar.append(str(' ') + str(listatuplaFinalAMostrar)) else: messagebox.showinfo("INFORMACIÓN","No se logra un buen orden con este umbral: " + str(umbral)) return es_final_recursividad def reducirMatriz(listaDatos): es_final_recursividad = False contadorCiclos = 0 for columna in range(len(listaDatos)): contadorNone = 0 for fila in range(len(listaDatos)): if (listaDatos[fila][columna] == 1): break if (listaDatos[fila][columna] == None): contadorNone+=1 if ((fila == (len(listaDatos)) - 1) and (contadorNone <= (len(listaDatos) - 2))) : copialistaColumnaValida.append(columna) if columna == (len(listaDatos)) - 1 : if len(copialistaColumnaValida) == 0: es_final_recursividad = True break for elemento in reversed(copialistaColumnaValida): for fila in range(len(listaDatos)): for columna in range(len(listaDatos)): if (elemento == columna): del (listaDatos[fila][columna]) for fila in reversed(range(len(listaDatos))): if (elemento == fila): listaDatos.pop(elemento) copialistaColumnaValida.pop() contadorCiclos+=1 if((contadorCiclos > 0) and (len(copialistaColumnaValida) == 0)): es_final_recursividad = True return es_final_recursividad def aplicacionUmbral(): global contadorListaPosObt global SHEET
104
global arregloDatosBusquedaIndices global arregloDatosReducirMatriz global umbral global arregloDatosTabuladosAux global arregloDatosTabuladosPrincipal global tuplaElementosOrdenadosAMostrar global tuplaElementosOrdenadosAMostrarHistorial global tuplaElementosOrdenadosHistorial global listaUmbrales global tuplaElementosOrdenadosMostrarHistorial global listaUmbralesAMostrarHistorial global listatuplaFinal global listatuplaFinalAMostrar listatuplaFinal = [] listatuplaFinalAMostrar = [] if contadorListaPosObt != 0: borrarListboxPosObt() tuplaElementosOrdenadosAMostrar = [] arregloDatosTabuladosAux = copy.deepcopy(arregloDatosTabuladosPrincipal) try: umbral = float((txtUmbral.get()).replace(",", ".")) if ((umbral <= 1.00) and (umbral >= 0.00)): if ((arregloDatosTabuladosAux != []) and umbral != ""): for fila in range(ultimaColumna): for columna in range(ultimaColumna): if(arregloDatosTabuladosAux[fila][columna] >= umbral): arregloDatosTabuladosAux[fila][columna] = 1 else: arregloDatosTabuladosAux[fila][columna] = 0 for fila in range(ultimaColumna): for columna in range(ultimaColumna): if fila == columna: arregloDatosTabuladosAux[fila][columna] = None arregloDatosBusquedaIndices = copy.deepcopy(arregloDatosTabuladosAux) arregloDatosReducirMatriz = copy.deepcopy(arregloDatosTabuladosAux) global control_final global control_final2 global tuplaFinal control_final = False control_final2 = False tuplaFinal = []
105
for fila in ws.iter_rows(min_row=1, max_col=ultimaColumna, max_row=1): for columna in fila: tuplaFinal.append(columna.value) while control_final == False: control_final = busquedaIndiceColumna(arregloDatosBusquedaIndices,tuplaFinal) if control_final == True: while control_final2 == False: control_final2 = reducirMatriz(arregloDatosReducirMatriz) if control_final2 == True: break break insertarListaPosObtEnListBoxPosObt() btnCargarHistorial.config(state=NORMAL) tuplaElementosOrdenadosHistorial.append(tuplaElementosOrdenadosAMostrar) tuplaEleOrednaHist = tuple(tuplaElementosOrdenadosHistorial) tuplaElementosOrdenadosMostrarHistorial.append(tuplaEleOrednaHist) listaUmbrales.append(round(umbral,2)) tuplaUmbralesHist = tuple(listaUmbrales) listaUmbralesAMostrarHistorial.append(tuplaUmbralesHist) umbral = "" numeroUmbral.set("") tuplaElementosOrdenadosHistorial = [] contadorListaPosObt +=1 else: messagebox.showwarning("ADVERTENCIA","Número fuera del rango") except ValueError: messagebox.showinfo("ADVERTENCIA","Debe Ingresar un número decimal") umbral = "" #diseño de interfaz grafica #region STRING_DATOS_EXCEL = "LISTA DE DATOS DEL DOCUMENTO" STRING_POSICIONES_OBTENIDAS = "LISTA ORDENADA DE RESULTADOS" STRING_HISTORIAL = "UMBRAL : POSICIONES" raiz = Tk() raiz.title("Algoritmo de Ordenamiento") raiz.iconbitmap("iconXLSX.ico") miFrame = Frame() miFrame.pack(fill="both",expand = "True") miFrame.config(bg="white") miFrame.config(width= "1000",height = "665") miFrame.config(bd = 15) miFrame.config(relief= "groove") miFrame.config(curso = "hand2")
106
btnCargarExcel = Button(miFrame,command =cargarDocumento,text="Cargar Documento",width="16", height="2",font= (FUENTE,18)) btnCargarExcel.place(x=25,y=25) lblUmbral = Label(miFrame,text="Ingrese un Umbral :",bg= "white",font= (18)) lblUmbral.place(x=25,y=220) numeroUmbral = StringVar() txtUmbral = Entry(miFrame,textvariable = numeroUmbral, state=DISABLED,width =12) txtUmbral.place(x=200,y =220) listBoxDatosExcel = Listbox(miFrame,width = 95) listBoxDatosExcel.insert(0,STRING_DATOS_EXCEL) entrada_txtDatosExcel = StringVar() entrada_txtDatosExcel.set(STRING_DATOS_EXCEL) txtDatosExcel = Entry(miFrame,width = 95, textvariable=entrada_txtDatosExcel,state= DISABLED) txtDatosExcel.place(x=350,y=20) btnAplicar = Button(miFrame,command=aplicacionUmbral ,state= DISABLED,text="Aplicar",width="16", height="2",font= (18)) btnAplicar.place(x=90,y=260) Label(miFrame,text="Posiciones obtenidas :",bg= "white",font= (18)).place(x=350,y=218) listBoxPosicionesObtenidas = Listbox(miFrame,width = 95, height = 7) listBoxPosicionesObtenidas.insert(0,STRING_POSICIONES_OBTENIDAS) entrada_ListaOrdenadaResult = StringVar() entrada_ListaOrdenadaResult.set(STRING_POSICIONES_OBTENIDAS) txtListaOrdenadaResult = Entry(miFrame,state= DISABLED,width = 95,textvariable=entrada_ListaOrdenadaResult) txtListaOrdenadaResult.place(x=350,y=245) listBoxHistorial = Listbox(miFrame,width = 125, height = 7) listBoxHistorial.insert(0,STRING_HISTORIAL) entrada_Historial = StringVar() entrada_Historial.set(STRING_HISTORIAL) txtHistorial = Entry(miFrame,state= DISABLED,width = 125,textvariable=entrada_Historial) txtHistorial.place(x=90,y=400) Label(miFrame,text="Historial :",bg= "white",font= (18)).place(x=90,y=370) btnCargarHistorial = Button(miFrame,command=cargarHistorial ,state= DISABLED,text="Ver Historial",width="16", height="2",font= (18)) btnCargarHistorial.place(x=200,y=550) btnLimpiar = Button(miFrame,command = limpiar,state= DISABLED,text="Limpiar",width="16", height="2",font= (18))
107
btnLimpiar.place(x=400,y=550) btnCancelar = Button(miFrame,command=salir,text="Cancelar",width="16", height="2",font= (18)) btnCancelar.place(x=600,y=550) raiz.mainloop() #endregion