89 resultados para Prolog (Linguagem de programação de computador)
Resumo:
Dissertação para obtenção do Grau de Mestre em Engenharia Electrotécnica e de Computadores
Resumo:
O objetivo desta dissertação é a determinação da máxima injeção nodal numa rede de energia elétrica, ou seja, qual o valor total máximo de potência ativa que é possível injetar e qual a sua distribuição pelos diversos nós da rede simultaneamente. Determinámos esta máxima injeção nodal em duas situações distintas: injeção não simultânea, injetando potência em um só nó de cada vez e injeção simultânea, injetando potência em todos os nós da rede simultaneamente. Sendo este um problema de natureza combinatória, utilizámos para esta determinação o algoritmo conhecido como nuvem ou enxame de partículas, adaptando-o ao nosso problema. Desenvolvemos o software na linguagem de programação Python utilizando o ambiente Eclipse. Para resolver o trânsito de energia utilizámos o programa PSSE University.Para os exemplos de aplicação utilizámos duas redes de energia elétrica, uma de 6 e outra de 14 barramentos. Estas redes foram baseadas nas redes IEEE 6 BUS e IEEE 14 BUS respetivamente. Concluímos que o algoritmo nuvem ou enxame de partículas cumpriu o objetivo traçado, obtendo as melhores soluções para cada um dos casos, máxima injeção nodal não simultânea e máxima injeção nodal simultânea. No contexto deste problema, o parâmetro chave do algoritmo, comprovado pelos ensaios feitos, é a velocidade máxima de deslocação das partículas, tomando valores típicos de 7 a 10 para a rede de 6 barramentos e de 20 a 25 para a de 14 barramentos.
Resumo:
O êxito na previsão das consequências da subida do nível do mar à escala global está dependente de uma correcta análise de todos fenómenos que daí poderão resultar. Neste âmbito, o presente estudo incide sobre o efeito da subida do nível do mar na hidromorfologia de rios, parâmetro que não é com frequência um dado de entrada nas simulações numéricas em estudos e projectos de Hidráulica Fluvial. Desenvolveu-se um modelo computacional na linguagem de programação Fortran (FTN 95), que permite simular a longo prazo a evolução do fundo móvel e da superfície livre de um rio. É um modelo de dinâmica sedimentar, unidimensional, que simula escoamentos em regime quase-permanente e em canais de topografia simples, utilizando a fórmula de Engelund-Hansen para o transporte sólido. O modelo foi aplicado no trecho mais a jusante do Mondego, desde Coimbra até à foz no Atlântico, onde o rio flui na zona do chamado Baixo Mondego, planície aluvial, alvo de grandes alterações antropogénicas, nomeadamente obras de regularização fluvial. As que foram realizadas no séc. XVIII modificaram o original percurso do rio atribuindo-lhe uma topografia simples, mas não resolveram o seu principal problema, o excesso de assoreamento a jusante de Coimbra, tendo como consequência frequentes inundações e cheias. Estas obras colocaram em evidência a grande vulnerabilidade do rio aos problemas de transporte sólido e assoreamento. Mais tarde, em finais do séc. XX, as obras realizadas na sequência do Plano de Aproveitamento do Baixo Mondego vieram, de uma forma integrada, contribuir para o seu equilíbrio hidromorfológico. Actualmente, face à subida do nível do mar volta a colocar-se a questão do assoreamento a jusante de Coimbra. Logo, é importante conhecer as previsões a longo prazo de dinâmica sedimentar deste troço, para a sua adequada gestão. Foram realizadas previsões para 20 cenários num horizonte temporal de 100 anos, todos eles consideram o caudal dominante calculado para o rio e variam de acordo com a subida do nível do mar, o caudal sólido e diâmetro médio dos sedimentos. Os resultados obtidos foram os previstos qualitativamente, isto é, a subida do nível do mar poderá alterar o leito aluvionar, elevando as cotas de fundo e aumentando os volumes de assoreamento.
Resumo:
Com o passar do tempo, a aposta em energias renováveis tem vindo a aumentar. De forma a prever o que se irá produzir com os sistemas de energias renováveis, é necessário desenvolver modelos preditivos, específicos para cada situação. No Departamento de Engenharia Electrotécnica (DEE) da Faculdade de Ciências e Tecnologia (FCT) encontra-se um sistema fotovoltaico e um sistema eólico em funcionamento, e assim de forma a ter uma estimativa da produção de energia de ambos os sistemas, propôs-se nesta dissertação desenvolver um modelo de previsão de produção de energia eléctrica para os sistemas fotovoltaico e eólico. Para desenvolver o modelo preditivo pretendido, em primeiro lugar recolheram-se os dados meteorológicos e de produção de energia no ano 2013 e realizou-se um processamento desses mesmos dados, com a linguagem de programação Java, uma vez que não se encontravam na melhor forma para serem analisados e utilizados para construção do modelo. Após realizado o processamento, como os dados do ano de 2014 existentes não eram suficientes para testar o modelo depois de ser desenvolvido, geraram-se dados meteorológicos para 2014 tendo em consideração os dados de 2013. Para os dados de energia produzida, criaram-se superfícies de aproximação a partir dos dados de 2013, e utilizando os dados meteorológicos gerados para 2014 obteve-se uma aproximação da energia produzida. Tendo todos os dados necessários para a construção do modelo e posteriormente para o testar, iniciouse o pré-processamento dos dados com recurso a filtros e à Análise em Componentes Principais. Por fim, construíram-se duas estruturas diferentes de Redes Neuronais Artificiais de modo a verificar qual se adequa melhor aos sistemas existentes. Para validar o modelo construído com base em redes neuronais testou-se o modelo com os dados de 2014, diferentes dos utilizados na sua construção. Com os resultados obtidos concluiu-se que o filtro mais adequado para o pré-processamento é o filtro Savitzky-Golay e a estrutura do modelo mais indicada para o pretendido será a Rede Neuronal Artificial (RNA) com apenas uma camada intermédia.
Resumo:
Trabalho apresentado no âmbito do Mestrado em Engenharia Informática, como requisito parcial para obtenção do grau de Mestre em Engenharia Informática
Resumo:
Dissertação de Doutoramento em Ciências da Comunicação
Resumo:
Trabalho apresentado no âmbito do Mestrado em Engenharia Informática, como requisito parcial para obtenção do grau de Mestre em Engenharia Informática
Resumo:
Dissertação de mestrado em Ciências da Educação: área de Educação e Desenvolvimento
Resumo:
Dissertação de mestrado em Ciências da Educação: área de Educação e Desenvolvimento
Resumo:
Neste trabalho é desenvolvido um algoritmo enumerativo paramétrico de optimização global para a resolução de Problemas de Programação Matemática com Restrições de Equilíbrio ou de Complementaridade (MPEC). A comparação com outras técnicas globais da literatura é efectuada para um leque variado de problemas, de modo a poder avaliar a eficiência do processo proposto. A utilização de algoritmos de MPEC para a resolução de alguns problemas de optimização global é o outro grande objectivo desta tese. Nesse sentido são introduzidas novas formula¸c˜oes de programas bilineares e lineares complementares como MPECs. São ainda analisadas e discutidas formulaçõess MPEC para o problema de programação linear inteira 0-1, para a determinação do Conjunto Independente Máximo de um Grafo (MIS) e para a estimação do Número de Condição de uma Matriz. Para o problema MIS é desenvolvido um algoritmo de ramificação e limitação, baseado na decomposição de uma função quadrática numa diferença de duas funçõess convexas (DC). Finalmente é introduzida uma técnica MPEC local para a estimação do número de condição com a norma l1 e é estabelecido para matrizes de Minkowski que o número de condição nessa norma pode ser estimado com apenas um sistema de equações lineares. Em todos os desenvolvimentos houve uma grande preocupação em testar as novas formulações e algoritmos com problemas conhecidos da literatura, de modo a aferir da qualidade e interesse dessas propostas.
Resumo:
In the past few years Tabling has emerged as a powerful logic programming model. The integration of concurrent features into the implementation of Tabling systems is demanded by need to use recently developed tabling applications within distributed systems, where a process has to respond concurrently to several requests. The support for sharing of tables among the concurrent threads of a Tabling process is a desirable feature, to allow one of Tabling’s virtues, the re-use of computations by other threads and to allow efficient usage of available memory. However, the incremental completion of tables which are evaluated concurrently is not a trivial problem. In this dissertation we describe the integration of concurrency mechanisms, by the way of multi-threading, in a state of the art Tabling and Prolog system, XSB. We begin by reviewing the main concepts for a formal description of tabled computations, called SLG resolution and for the implementation of Tabling under the SLG-WAM, the abstract machine supported by XSB. We describe the different scheduling strategies provided by XSB and introduce some new properties of local scheduling, a scheduling strategy for SLG resolution. We proceed to describe our implementation work by describing the process of integrating multi-threading in a Prolog system supporting Tabling, without addressing the problem of shared tables. We describe the trade-offs and implementation decisions involved. We then describe an optimistic algorithm for the concurrent sharing of completed tables, Shared Completed Tables, which allows the sharing of tables without incurring in deadlocks, under local scheduling. This method relies on the execution properties of local scheduling and includes full support for negation. We provide a theoretical framework and discuss the implementation’s correctness and complexity. After that, we describe amethod for the sharing of tables among threads that allows parallelism in the computation of inter-dependent subgoals, which we name Concurrent Completion. We informally argue for the correctness of Concurrent Completion. We give detailed performance measurements of the multi-threaded XSB systems over a variety of machines and operating systems, for both the Shared Completed Tables and the Concurrent Completion implementations. We focus our measurements inthe overhead over the sequential engine and the scalability of the system. We finish with a comparison of XSB with other multi-threaded Prolog systems and we compare our approach to concurrent tabling with parallel and distributed methods for the evaluation of tabling. Finally, we identify future research directions.
Resumo:
Dissertação de Mestrado em Engenharia Informática
Resumo:
Trabalho apresentado no âmbito do Mestrado em Engenharia Informática, como requisito parcial para obtenção do grau de Mestre em Engenharia Informática
Resumo:
Dissertação apresentada para obtenção do Grau de Mestre em Informática, pela Universidade Nova de Lisboa, Faculdade de Ciências e Tecnologia