Giter Site home page Giter Site logo

meatwagons's Introduction

Tema 8 - Meat Wagons: transporte de prisioneiros

Enunciado

Os transportes de prisioneiros entre prisões, esquadras e tribunais são feitos usando carrinhas e camionetas adaptadas para o serviço (informalmente chamado de “meat wagons”). Estes veículos têm a necessidade de serem altamente resistentes para garantir que os prisioneiros não fogem.

Para este projeto, queremos optimizar o percurso dos veículos de forma a recolher e entregar os prisioneiros nos pontos de interesse. Inicialmente considere que só existe uma única camioneta para realizar todos os serviços. Numa fase posterior, considere mais veículos com capacidades diferentes e, possivelmente, a especialização dos transportes (por exemplo, veículos mais pequenos para zonas com densidade populacional maior). Pode considerar também eventualmente veículos especializados na entrega de prisioneiros em aeroportos e comboios.

Algumas vezes, obras nas vias públicas podem fazer com que certas zonas tornem-se inacessíveis, inviabilizando o acesso ao destino de alguns prisioneiros. Avalie a conectividade do grafo, a fim de identificar pontos de recolha e de entrega com pouca acessibilidade.

Considere a possibilidade de utilizar mapas reais, extraídos do OpenStreetMaps e coordenadas geográficas dos centros de saúde e hospitais, na implementação desta aplicação.

Calendário de entregas / Submission Schedule

  • 1ª Entrega: Especificação e Formalização - 24 de Abril (até às 24:00)
  • 2ª Entrega: Implementação - 22 de Maio (até às 24:00)

Notas sobre o relatório da 1ª parte / Notes on the 1st report:

O relatório, a ser entregue em formato PDF, deverá incluir:

  • Identificação do trabalho e do grupo: título do trabalho, a identificação do grupo e dos seus elementos (nome, número, email), e data;
  • Descrição do tema a ser implementado;
  • Identificação e formalização do problema, em termos de dados de entrada, dados de saída, restrições e função objetivo;
  • Perspectiva de solução, com identificação das técnicas de concepção e os principais algoritmos a serem considerados para implementação na segunda parte;
  • Identificação dos casos de utilização a serem suportados, e respectivas funcionalidades a serem implementadas;
  • Conclusão do relatório, com análise e principais considerações, e esforço dedicado por cada elemento do grupo (incluindo tarefas realizadas);
  • Sempre que necessário, citar e fornecer as referências da bibliografia utilizada.

Exemplos de relatórios de anos anteriores (parciais):

meatwagons's People

Contributors

ca-moes avatar g-batalhao-a avatar pedrojfs17 avatar

meatwagons's Issues

Conectividade entre diferentes regiões

Já pus a podermos dar load de várias regiões no mesmo gráfico.. O único problema é que não há ligação entre elas. Acho que a unica forma de fazer isso seria utilizar o mapa de portugal inteiro mas isso demora mesmo muito tempo a carregar...

Criar Lista de Prisioneiros

Os ficheiros de mapas estão em ficheiros txt por isso acho que também podemos pôr os dados dos prisioneiros dessa forma a não ser que haja opções melhores

Identificação Trabalho/Grupo

Identificação do trabalho e do grupo: título do trabalho, a identificação do grupo e dos seus elementos (nome, número, email), e data;

Menu

Um Menu básico com algumas opções do relatório:


  • Visualização do mapa, através do GraphViewer;
  • Seleção da origem (um dos estabelecimentos prisionais desse distrito). É de notar que, após esta seleção, o utilizador terá que criar pelo menos um prisioneiro, com informação de ID e Destino;
  • Conectividade da origem: através dos algoritmos de Pesquisa em Largura/Profundidade, será calculada a quantidade de esquadras, prisões e tribunais que podem ser alcançados a partir da origem selecionada. Estes pontos poderão ser apresentados ao utilizador.
  • Edição da lista de prisioneiros: caso não haja um caminho possível entre a origem selecionada ou caso o utilizador queira alterar o destino de um prisioneiro, será possível alterar a lista de prisioneiros;
  • Cálculo do caminho ótimo: esta opção calculará o caminho ótimo através do algoritmo de Dijkstra/Dijkstra Bidireciona/A* e apresentará o caminho ótimo sob forma de um grafo;

Ler Mapas

A partir da escolha do menu vai ser guardado um mapa de uma região em memória em forma de grafo.

Tags - Leitura de ficheiros de tags

Após ter os ficheiros de tags dados para o projeto a partir do moodle + o ficheiro de tags referentes ao nosso tema criado por nós. Estes terão de ser lidos para pôr essa informação no grafo

Função - Analisar conectividade do Grafo

Com a opção no menu:

  • Conectividade da origem: através dos algoritmos de Pesquisa em Largura/Profundidade, será calculada a quantidade de esquadras, prisões e tribunais que podem ser alcançados a partir da origem selecionada. Estes pontos poderão ser apresentados ao utilizador.

É necessário algo que analise a conectividade

Path

Implementar o Algoritmo A* que use o grafo para arranjar o caminho mais curto

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.