• Nenhum resultado encontrado

TCC para o Curso de Cincia da Computao da UNIVALI

N/A
N/A
Protected

Academic year: 2023

Share "TCC para o Curso de Cincia da Computao da UNIVALI"

Copied!
102
0
0

Texto

Como resultado de uma tese de doutorado na Universidade Federal de Santa Catarina, foi desenvolvido um método de otimização global para ser utilizado na área de logística e transportes, o EGPA-FR. Estes problemas motivaram o desenvolvimento deste trabalho, que tem como objetivo desenvolver uma ferramenta de otimização global baseada no método EGPA-FR.

PROBLEMATIZAÇÃO

Formulação do Problema

Segundo Bez (2005), a determinação dos parâmetros relevantes envolve a maximização ou minimização de funções, o que torna necessária a adoção de métodos numéricos apropriados que possibilitem a resolução de problemas de forma eficaz, com tempos de resolução compatíveis com as necessidades práticas. Nas seções seguintes são apresentados os problemas que motivaram o desenvolvimento deste trabalho, bem como a solução proposta, que consiste em uma ferramenta de otimização global para auxiliar na resolução de problemas de transporte.

Solução Proposta

A acessibilidade alcançada pela ferramenta contribuirá para maximizar a utilização do método EGPA-FR, possibilitando maior divulgação e utilização entre investigadores da área de planeamento de transportes, que constituem o público-alvo do método desenvolvido. Portanto, a maior contribuição deste trabalho é o desenvolvimento de uma nova alternativa para pesquisadores da área de planejamento de transportes.

OBJETIVOS

Objetivo Geral

Segundo Louden (2004), compiladores são usados ​​em quase todas as formas de computação, e o desenvolvimento de interpretadores de comandos e programas de interface é um uso comum de compiladores. O método EGPA-FR pode ser usado para resolver múltiplos problemas, mas foi desenvolvido para atender à necessidade de métodos numéricos robustos para resolver problemas de transporte.

Objetivos Específicos

Existem aplicações que são utilizadas para resolver problemas de otimização, mas a ferramenta foi desenvolvida especificamente para EGPA-FR, o que dá grande importância ao trabalho.

METODOLOGIA

Em seguida, foram analisados ​​os requisitos da ferramenta (através de entrevista com um pesquisador da área de planejamento de transportes), o planejamento de testes e a especificação de casos de uso da ferramenta proposta utilizando a ferramenta EA (Enterprise Architect) para modelagem UML (Unified Modelling). Linguagem). Na segunda fase foi desenvolvida a interface do usuário e a integração dos analisadores gerados na interface, bem como a implementação das rotinas para execução das instruções do código intermediário produzido.

ESTRUTURA DO TRABALHO

Além disso, a ferramenta foi validada em conjunto com especialista da área e todos os aspectos decorrentes do seu desenvolvimento foram documentados. O terceiro capítulo, Desenvolvimento, apresenta os requisitos da ferramenta, sua modelagem em UML, incluindo a especificação dos cenários de utilização da ferramenta proposta, prototipação das telas e alguns diagramas que auxiliam no entendimento do projeto.

PLANEJAMENTO DE TRANSPORTES

Modelos de Previsão de Demanda

Os modelos de previsão de demanda têm sido objeto de muitas pesquisas na área de transportes nas últimas décadas e são atualmente uma das alternativas mais utilizadas. Segundo Bez (2005), os modelos de previsão de demanda podem ser classificados em dois grupos, que são modelos de fatores de crescimento e modelos sintéticos.

Teoria da Otimização

Os métodos de otimização determinística são baseados em algoritmos que geram uma sequência determinística de soluções possíveis. Portanto, torna-se necessário desenvolver métodos de solução mais robustos para resolver problemas de otimização mais complexos.

Método EGPA-FR

A diversidade de métodos de otimização encontrados na bibliografia demonstra a grande quantidade de pesquisas na área que têm sido realizadas para desenvolver métodos de otimização, das quais o EGPA-FR é um exemplo. Na fase de mutação do algoritmo foram utilizados diversos métodos de descida, e dentre estes, o método do gradiente adicionado de perturbações aleatórias foi o que produziu os melhores resultados.

COMPILADORES

  • Estrutura de um Compilador
  • Analisador Léxico
  • Analisador Sintático
  • Analisador Semântico e Gerador de Código

Ao final desta fase, o programa fonte pode assumir uma representação hierárquica, na forma de uma árvore sintática. Repetição (marcada com um asterisco) – A operação de repetição de uma expressão regular é chamada de r*, onde r é uma expressão regular. Processar um autômato finito para reconhecer cada sentença corresponde a aplicar sucessivamente a função de transição a cada símbolo da sentença analisada, até que uma condição de parada seja alcançada.

Um erro no reconhecimento de uma frase é caracterizado pelo aparecimento de um símbolo de frase sem transição associada, ou pelo término do processo de reconhecimento em estado não final (LOUDEN, 2004). Ele recebe os sinais do analisador lexical e a partir deles determina a estrutura sintática da língua construindo uma árvore sintática que representa essa estrutura (Figura 9). A gramática pode ser entendida como uma receita para especificar a sintaxe de uma linguagem.

S é o símbolo inicial da gramática, a partir do qual podem ser geradas sentenças de uma língua.

Figura 3. Um compilador
Figura 3. Um compilador

ANÁLISE DE REQUISITOS

  • Escopo
  • Requisitos Funcionais
  • Requisitos Não-Funcionais
  • Requisitos de Qualidade
  • Regras de Negócio

O método EGPA-FR utiliza vários métodos de descida na fase de mutação, mas neste trabalho foi utilizado apenas o método do gradiente adicionado com perturbações aleatórias, devido a limitações do trabalho e também porque foi o método de descida que deu os melhores resultados. os testes realizados pelo próprio autor no processo de desenvolvimento do método. Por limitações de tempo e considerando o foco do desenvolvimento do trabalho, não foram implementados procedimentos de ajuda para orientar o usuário na utilização do método, a fim de possibilitar o conhecimento da sintaxe a ser utilizada na entrada dos dados. RF01: A ferramenta deve analisar os dados de entrada e verificar se atendem ao padrão estabelecido e, se for o caso, exibir mensagens para tratamento de erros;

RF02: A ferramenta deve aplicar o método EGPA-FR a uma entrada de dados definida pelo usuário; RF03: A ferramenta deve apresentar uma tela com os resultados da aplicação do EGPA-FR na entrada de dados definida; RF04: A ferramenta deve permitir ao usuário abrir, salvar e criar novos arquivos com os dados de entrada para uso posterior;

RN02: O EGPA-FR é realizado apenas com funções pertencentes ao domínio de funções disponíveis na ferramenta.

MODELAGEM

Diagrama de Classe

As classes responsáveis ​​pela análise e interpretação dos dados são responsáveis ​​por passar sentenças, organizar caracteres em tokens, realizar análise gramatical, análise semântica e gerar código intermediário. Caso a frase indicada corresponda à especificação de idioma da ferramenta, será exibida uma mensagem informando que a análise foi realizada com sucesso. Caso contrário, caso ocorra algum erro durante a análise, o processo é interrompido e uma mensagem é exibida indicando o tipo de erro e a posição na frase onde o erro foi identificado, ajudando o usuário a identificar, entender a causa do erro e tomar a ação corretiva apropriada.permitir a execução do método nos dados fornecidos.

A classe MetodoEGPA-FR contém as operações de execução do método, baseadas na implementação desenvolvida pelo próprio autor do método. A classe PilhaDeValores é utilizada neste processo para armazenar os resultados da execução das instruções do código intermediário armazenadas na classe TListInstrucoes.

Figura 11. Diagrama de classes
Figura 11. Diagrama de classes

Casos de Uso

Caso os dados respeitem as especificações de linguagem da ferramenta proposta, será exibida uma mensagem informando que a compilação foi realizada com sucesso; Isso é. Na etapa 4 (quatro) do fluxo principal, caso seja encontrado algum erro nos dados de entrada, a aplicação interrompe a compilação e exibe uma mensagem informando o erro ao usuário; A aplicação exibe um relatório com mensagem sobre o tipo de erro, a posição da linha e coluna onde foi detectado; Isso é.

Permite ao usuário realizar o método EGPA-FR em uma sentença definida desde que a sentença respeite o padrão de linguagem da ferramenta. Caso os dados estejam de acordo com as especificações de linguagem da ferramenta proposta, a aplicação executa o método EGPA-FR nos dados definidos e analisados; Na 4ª (quatro) etapa do fluxo principal, caso seja encontrado algum erro nos dados de entrada, a aplicação aborta a análise e exibe uma mensagem de erro ao usuário;

A aplicação exibe um relatório com mensagem sobre o tipo de erro, a posição onde foi detectado; Isso é.

Figura 13. Diagrama de seqüência do caso de uso Analisar
Figura 13. Diagrama de seqüência do caso de uso Analisar

Interface Gráfica

Após esses procedimentos, opcionalmente é executado o procedimento de extração dos dados para um arquivo, que pode ser utilizado para possibilitar a avaliação de matrizes O-D na resolução de problemas de transporte, entre outras finalidades. Um exemplo de inserção de dados para um campo de texto é mostrado com mais detalhes abaixo. Durante o desenvolvimento da ferramenta, o foco foi na principal funcionalidade proposta, que é possibilitar a execução do método EGPA-FR na entrada dinâmica de dados, definidos pelo usuário em tempo de execução.

Para gerar os analisadores lexicais, sintáticos e semânticos foi utilizada a ferramenta GALS, onde foi definida a linguagem a ser utilizada para inserir os dados e possibilitar a interpretação desses dados. Além da alocação dinâmica utilizada para representar os dados, foram utilizadas estruturas de lista e pilha, também com alocação dinâmica onde sempre houve a preocupação com a produção de código otimizado, levando em consideração que a solução de problemas de otimização direcionados ao transporte geralmente usam grandes quantidades de dados e exigem muito processamento. Os dados do texto devem seguir a especificação da linguagem desenvolvida para inserção de dados na ferramenta.

No processo de implementação, além de possibilitar a entrada dinâmica de dados, foi criada a criação de procedimentos para interpretação e implementação do método, o que foi um grande diferencial.

Figura 15. Tela principal da ferramenta
Figura 15. Tela principal da ferramenta

TESTES

Os valores desses parâmetros podem permitir uma convergência mais rápida de um ponto para o valor ótimo do problema, mas correspondem ao número de iterações dos loops de iteração, o que afeta diretamente o tempo de processamento. Conforme mencionado anteriormente, na resolução de problemas de transporte é comum utilizar grandes quantidades de dados armazenados em vetores e/ou matrizes. O método EGPA-FR foi desenvolvido para ajudar a resolver problemas de transporte, mas como mencionado anteriormente, pode ser utilizado para resolver outros problemas de otimização.

Assumindo que todos os O – D que passam por cada medidor e o volume de tráfego são conhecidos, esses dados são utilizados em conjunto com as variáveis ​​do modelo para determinar os parâmetros que serão utilizados para calcular o número de viagens entre cada par, origem e destino do estudo. região. Existem algumas dificuldades na resolução de problemas com contagens volumétricas, como o facto de apenas sabermos quantos veículos passam por determinado contador e não a origem e destino desses veículos. Após os procedimentos de minimização, os valores dos parâmetros determinados são utilizados para gerar a matriz O - D, calculando assim o número de viagens entre os pares origem e destino.

Neste problema, este cálculo é feito conforme mostrado na Equação 4 onde T(ij) é o número de viagens entre o par i e j.

TRABALHOS FUTUROS

Imagem

Figura 3. Um compilador
Figura 5. Autômato finito para reconhecimento de um identificador.
 Tabela 1. Tabela transição de um autômato finito
Figura 6. Autômato Finito Determinístico.
+7

Referências

Documentos relacionados

O aquecimento leva a um posterior aumento nos valores de ângulo de contato, entretanto, a amostra com PDMSa atinge seu valor máximo após aquecimento à 100ºC enquanto a amostra sem este