/Rotas_de_viagem

Matriz de adjacência de grafos para encontrar a rota cíclica de maior lucro.

Primary LanguageCMIT LicenseMIT

Rotas de viagem

Projeto utilizando matriz de adjacência de grafos para otimização de rotas de viagens de ônibus para maior lucro. Projeto para a disciplina de Análise de Algoritmos e Teoria dos Grafos

Descrição do problema

Uma agência de viagens, com intuito de lançar uma nova rota terrestre (ônibus) fez uma pesquisa listando todas as estradas possíveis conectando diferentes cidades.

Nesta listagem, cada uma das estradas possui uma determinada receita com base na tarifa atual. Entretanto, possui também, despesas associadas ao combustível, custo de manutenção, pagamento de pessoal, impostos, etc.

A agencia de viagens deseja que o ônibus parte de uma cidade qualquer, visite uma ou mais cidades, exatamente uma vez, e retorne para a cidade inicial, ou seja, uma rota cíclica.

Os diretores desta agencia desejam somente rotas que tenham uma proporção de lucro maior ou igual a P. A proporção de lucro para uma rota (P) é a proporção entre as receitas totais e as despesas totais para esta rota

Um de seus amigos trabalha naquela empresa e pede uma ajudinha sua. Tudo que você tem a fazer é determinar se existe tal rota, para que a empresa tem uma taxa de lucro superior ou igual a P Projeto

Cada caso é constituído pelos itens abaixo:

  • A taxa de proporção do lucro desejado P
  • Número de cidades a ser considerada N (5<= N <= 20)
  • Número de ligações rodoviárias (estradas) E (0<= E <= 9900)
  • Taxa de lucro esperada (1 <= P<= 100)
  • Matriz Adjacente que representa a ligação rodoviária direta entre duas cidades e contem as despesas e receitas desta ligação

Como executar

Casos de teste

Os casos de teste são formatados em um arquivo .txt, da seguinte forma (somente números):

<Número do Caso>
<Proporção>
<Quantidade de vértices (Cidades)>
<Quantidade de arestas (Rotas, representadas pelas linhas abaixo)>
<Vértice origem> <Vértice destino> <Receita> <Despesa>
.
.
.

Para executar o algoritmo use o seguinte comando:

make ; ./programa casos_de_teste.txt

Licença

Este projeto está licenciado pela MIT License, consulte LICENSE para mais informações

Autores