Skip to content

danilocamposdev/tcc-2026-lib

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TCC — Otimização de Alocação da Produção em uma Linha de Peças de Borracha no Setor de Mineração

C++ CMake OR-Tools

Barbosa Minerals | UFMG - Engenharia de Produção 2026

Implementação computacional do modelo de otimização desenvolvido no Trabalho de Conclusão de Curso "Otimização de Alocação da Produção em uma Linha de Peças de Borracha no Setor de Mineração".


Sobre o projeto

O modelo resolve o problema de alocação da produção de peças de borracha da Barbosa Minerals, respeitando:

  • Disponibilidade limitada de matrizes metálicas (recurso gargalo)
  • Capacidade diária de operadores
  • Prazos de entrega e prioridade de pedidos/clientes
  • Minimização do total de atrasos ponderados

Ferramentas utilizadas

  • C++ - Linguagem de programação utilizada
  • Google OR-Tools - Biblioteca de otimização
  • CP-SAT - Solver de otimização
  • CMake - Gerenciador de compilação
  • CPM.cmake - Gerenciador de dependências

Estrutura do código

O projeto foi desenvolvido em C++ com Programação Orientada a Objetos e com arquitetura em camadas (model, repository, optimizer) visando um código organizado e encapsulado, preparado para uma possível futura incorporação em um software desktop com interface gráfica em Qt.

tcc-2026/
├── src/
│   ├── main.cpp                        # Runner principal
│   │   
│   ├── model/
│   │   ├── order.h                     # Classe Pedido
│   │   ├── mold.h                      # Classe Matriz
│   │   └── date.h                      # Classe Data
│   │   
│   ├── repository/
│   │   ├── order_repository.h          # Repositório de pedidos
│   │   └── mold_repository.h           # Repositório de matrizes
│   │   
│   └── optimization/
│       ├── allocation_optimizer.h      # Modelo matemático e solver
│       └── problem_data.h              # Armazena os dados do problema (parâmetros)
│
└── tests/
    ├── main.cpp                        # Runner de testes
    ├── instances/
    │   └── test_instances.h            # Instâncias de teste
    └── results/
        └── tests.txt                   # Resultados dos testes já executados

Resultados dos testes

Os resultados das instâncias de teste já executadas estão disponíveis em:

tests/results/tests.txt


Como compilar e executar (se necessário)

Pré-requisitos: CMake 3.24+, compilador C++20 (GCC 11+ ou Clang 13+).

  1. Clonar o repositório

    git clone https://github.com/danilocamposdev/tcc-20262.git
    cd tcc-20262
  2. Compilar o projeto (a primeira vez, por instalar e compilar o Google Or Tools e suas dependências, pode demorar vários minutos)

    cmake -S . -B build
    cmake --build build
  3. Rodar os testes

    ./build/tcc-20262_tests
    # resultado salvo em tests/results/tests.txt

Autores: Danilo Teixeira Gonçalves Campos, Victória Dias de Almeida

Orientador: Prof. Dr. Maurício Cardoso

Curso: Engenharia de Produção - UFMG - 2026

About

Implementação computacional do modelo de otimização desenvolvido no Trabalho de Conclusão de Curso de Engenharia de Produção da UFMG.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors