Giter VIP home page Giter VIP logo

josegcmoraes / projetotcc Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 63 KB

Projeto final do Curso de Sistemas de Informação pela Universidade Federal de Viçosa. O projeto desenvolvido foi para resolver um problema de roteamento de veículos heterogêneos considerando a emissão de carbono, resolvemos o problema de duas formas utilizando algoritmo genético: RKGA e BRKGA. O algoritmo cria as rota otimizada para cada veículo, que atende a demanda de um conjunto de cidades apartir do armázem.

License: MIT License

Java 100.00%
java algoritmos-geneticos biased-random-key-genetic-algorithm

projetotcc's Introduction

Trabalho de conclusão de Curso

Projeto final do Curso de Sistemas de Informação, pela Universidade Federal de Viçosa.

Descrição do Problema

  • O projeto desenvolvido foi para resolver um problema de roteamento de veículos heterogêneos considerando a emissão de carbono (PRVHCEC), neste problemas temos um armázem de onde parte cada veículos que faz sua rotas atendendo a demanda de cada cidade;
  • a frota de veículos contém uma determindada quantidade de veículos com capacidade de transporte e os gastos variáveis e de emissão de carbono, para cada unidade de distância percorrida.
  • Foi desenvolvido um algoritmo que buscou trazer a solução mais otimizada, onde para cada solução foi criada as rotas com os veículos atendendo todas as cidades e respeitando as restrições de quantidade e capacidade dos veículos.
  • O algoritmo desenvolvido utilizou metahéuristicas, com duas versões de algoritmos genéticos: a primeira um RKGA e o segunda BRKGA

Parte escrita

  • Uma descrição mais detalhada do problema, está na parte escrita do projeto, disponível no link do projeto

Linguagens utilizadas

  • Java

Para executar o código deve utilizar

  • Etapa 1

    • baixar jdk
    • configurar variáveis de ambiente e sistema
  • Etapa 2

    • Para compilar o projeto deve entrar pelo terminal até a pasta src,
    • depois execute este comando para compilar os arquivos
    javac projeto \*.java
    
    • mova os arquivos com terminação .class para a pasta build\classes\projeto
    • fazer a excecução do projeto: conforme o exemplo abaixo
    java projeto.Projeto c50_13mix.txt 150 150 normal 0 > saida_rkga_c50_13mix_9.txt
    
  • Argumentos:

    • nome da instância:
    c50_13mix.txt
    c50_14mix.txt
    c50_15mix.txt
    c50_16mix.txt
    c75_17mix.txt
    c75_18mix.txt
    c100_19mix.txt
    c100_20mix.txt
    
    • quantidade de soluções que o serão criadas para o problema
    A população de soluções foram definidas da seguinte forma
    50 clientes  => 150 soluções
    75 clientes  => 225 soluções
    100 clientes => 300 soluções
    
    • máximo de gerações: quantidade de gerações utilizadas para evoluir o conjunto de soluções
    A quantidade de gerações foi definida da seguinte forma
    50 clientes  => 150 soluções
    75 clientes  => 225 soluções
    100 clientes => 300 soluções
    
    • qual dos algoritmos criados será utilizado na etapa de evolução das soluções
    rkga colocar  => normal  
    brkga colocar => brkga  
    
    • semente de números aleatórios
    0 até 10
    
  • salva o resultado em um arquivo

Estado

Projeto finalizado

Licença

MIT License

Copyright (c) 2020 José Geraldo

projetotcc's People

Contributors

josegcmoraes avatar

Stargazers

 avatar

Watchers

 avatar

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.