{"id":15047691,"url":"https://github.com/xlowz/genetic-algorithm-optimization","last_synced_at":"2026-01-29T03:33:48.632Z","repository":{"id":250063554,"uuid":"833361870","full_name":"xLowZ/genetic-algorithm-optimization","owner":"xLowZ","description":"Versão C++ do AG feito em python anteriormente (encontrado em https://github.com/xLowZ/pin-ga-optimization)","archived":false,"fork":false,"pushed_at":"2025-02-06T20:07:06.000Z","size":28,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-06T21:22:56.841Z","etag":null,"topics":["computational-intelligence","cpp20","genetic-algorithm","optimization"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xLowZ.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":"License","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-24T22:27:30.000Z","updated_at":"2025-02-06T20:07:10.000Z","dependencies_parsed_at":"2025-02-06T21:20:20.872Z","dependency_job_id":"e71e940d-d267-4416-84ce-68f35cd1ff6f","html_url":"https://github.com/xLowZ/genetic-algorithm-optimization","commit_stats":null,"previous_names":["xlowz/genetic-algorithm-optimization"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xLowZ%2Fgenetic-algorithm-optimization","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xLowZ%2Fgenetic-algorithm-optimization/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xLowZ%2Fgenetic-algorithm-optimization/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xLowZ%2Fgenetic-algorithm-optimization/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xLowZ","download_url":"https://codeload.github.com/xLowZ/genetic-algorithm-optimization/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243489778,"owners_count":20298997,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["computational-intelligence","cpp20","genetic-algorithm","optimization"],"created_at":"2024-09-24T21:03:00.462Z","updated_at":"2026-01-29T03:33:48.607Z","avatar_url":"https://github.com/xLowZ.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Algoritmo Genético Genérico\n\n- Versão em C++20 do algoritmo genético [feito em python](https://github.com/xLowZ/pin-ga-optimization) pelo grupo ProTεuS com algumas alterações e utilizando do [OpenMP](https://www.openmp.org/). Portanto, tem o mesmo objetivo: minimizar funções de benchmark para otimização.\n\n### *Aviso*: \n- Há um bug com a função Sphere ao atingir certas condições específicas, então, excepcionalmente para esta, a paralelização interna será desativada.\n\n## Sobre\n\n- O algoritmo conta com as funções de:\n\n    - [Rastrigin](https://en.wikipedia.org/wiki/Rastrigin_function)\n    - [Ackley](https://en.wikipedia.org/wiki/Ackley_function)\n    - [Sphere](https://www.sfu.ca/~ssurjano/spheref.html)\n    - [Easom](https://www.sfu.ca/~ssurjano/easom.html)\n    - [McCormick](https://www.sfu.ca/~ssurjano/mccorm.html)\n\n- Seguem os parâmetros necessários e opções disponíveis, que devem ser passados no formato em que atualmente estão no arquivo de texto disponibilizado (funcionará para qualquer arquivo `.txt` no mesmo formato de `parameters.txt`):\n\n    - Número de iterações\n\n    - Tamanho da população\n    - Taxa de mutação inicial e final\n    - Força da mutação inicial e final (distribuição gaussiana)\n    - Porcentagem do número de indivíduos para manter na próxima geração\n    - Função de otimização\n    - Número de dimensões\n    - Método de seleção:\n        - Torneio (tournament)\n        - Seleção proporcional ao fitness (fps)\n        - Seleção por ranking (ranking)\n    - Número de pontos para recombinação: \n        - Um ponto (one) (automaticamente se  2 dimensões)\n        - Dois pontos (two)\n        - Recombinação uniforme (uniform)\n    - Número de casas decimais desejadas para exibição no terminal\n    - Número de algoritmos a serem executados\n    \n    O resultado exibido será a melhor solução em n execuções (diz-se n execuções o último parâmetro mencionado acima).\n\n## Instalação\nPara executar este projeto, siga os passos abaixo:\n\n1. Clone o repositório:\n    ```bash\n    git clone https://github.com//xLowZ/genetic-algorithm-optimization/.git\n    ```\n2. Navegue até o diretório do projeto:\n    ```bash\n    cd genetic-algorithm-optimization \n    ```\n3. Usando o CMake sem a extensão do VSCode:\n    ```bash\t\n    mkdir build\n    cd build\n    ```\n4. Padrão (gera solução do VisualStudio no Windows):\n    ```bash\t\n        cmake ..\n        cmake --build .\n    ```\n5. Com o MinGW:\n    ```bash\t\n        cmake -G \"MinGW Makefiles\" ..\n        cmake --build .\n    ```\n\n\n**OBS:**\n- Para simplificação das 3 últimas etapas, recomendo as extensões `CMake` e `Cmake Tools` do Visual Studio Code.\n\n## Uso\nPara executar o algoritmo genético, utilize o seguinte comando:\n\n```bash\n.\\gao.exe [caminho_arquivo_de_configurações] # Windows\n\n./gao [caminho_arquivo_de_configurações]     # Linux\n```\n\nOpcionalmente, pode-se executar o programa com o argumento `--help` para descrição adicional:\n\n```bash\n.\\gao.exe --help # Windows\n\n./gao --help     # Linux\n```\n## Observações:\n\n- Está disponibilizada minha pasta `.vscode` com tasks configuradas de debug e release para o compilador gcc para Windows. Se estiver utilizando o mesmo OS, basta verificar e ajustar o caminho para o compilador e para o debugger nos arquivos `.json`.\n- Está disponibilizado também um arquivo Make separado pronto para uso.\n- Há também um arquivo de texto adicional com algumas flags opcionais + uso do Makefile separadamente.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxlowz%2Fgenetic-algorithm-optimization","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxlowz%2Fgenetic-algorithm-optimization","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxlowz%2Fgenetic-algorithm-optimization/lists"}