From ea1896a54454c5ddfec43734bb746fc778ccd58e Mon Sep 17 00:00:00 2001 From: Luciano Silva do Lago Date: Sun, 21 Jun 2026 18:22:00 -0300 Subject: [PATCH] faltou um integrante no grupo --- README.md | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 36a6c41..95a0202 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,23 @@ # Fleet Assignment Optimization - Força Aérea Brasileira ## Integrantes do Grupo + +- 1T Willia - 1T Lago - 1T Figueiredo - 1T Fialho ## Sobre o Projeto -O presente trabalho aborda o problema clássico de **Fleet Assignment** (Alocação de Frota) aplicado ao contexto do transporte logístico aéreo militar. -O sistema foi desenvolvido como uma aplicação interativa (Dashboard Web) acoplada a um modelo matemático avançado. O objetivo é designar de forma ótima os diferentes modelos de aeronaves de transporte (C-97, C-95M, C-105, KC-390, KC-30, C-99A, C-98 e C-98A) de seus respectivos Esquadrões para atender à matriz de passageiros solicitada. +O presente trabalho aborda o problema clássico de **Fleet Assignment** (Alocação de Frota) aplicado ao contexto do transporte logístico aéreo militar. + +O sistema foi desenvolvido como uma aplicação interativa (Dashboard Web) acoplada a um modelo matemático avançado. O objetivo é designar de forma ótima os diferentes modelos de aeronaves de transporte (C-97, C-95M, C-105, KC-390, KC-30, C-99A, C-98 e C-98A) de seus respectivos Esquadrões para atender à matriz de passageiros solicitada. A arquitetura equilibra a maximização do atendimento de passageiros com a **minimização dos custos logísticos** (consumo de combustível em litros e penalidades de pernoite em bases externas), tudo isso balizado por limites de alcance, velocidades, tamanho físico das frotas disponíveis nas bases (Emissores) e capacidade de passageiros de cada aeronave. ### O Modelo Matemático -O núcleo de otimização foi construído utilizando Programação Linear Inteira Mista (MILP) processada pelo solver **SCIP** (implementado com *Google OR-Tools*). A modelagem contempla: + +O núcleo de otimização foi construído utilizando Programação Linear Inteira Mista (MILP) processada pelo solver **SCIP** (implementado com _Google OR-Tools_). A modelagem contempla: - **Função Objetivo:** $\min \sum_{t} \sum_{r} (c_{r} \cdot x_{r,t}) + \sum_{t} \sum_{d} (M \cdot s_{d,t})$ O algoritmo minimiza o custo total de combustível das missões ($c_r$), somado à grande penalidade ($M$) associada às variáveis de folga ($s_{d,t}$), forçando a malha a alocar missões para não deixar passageiros para trás, sempre que exequível. @@ -23,7 +27,9 @@ O núcleo de otimização foi construído utilizando Programação Linear Inteir - **Limites de Estoque:** As decolagens originadas de uma localidade jamais podem exceder a propriedade física do $\text{MaxFleet}$ distribuída para o esquadrão emissor. ### Resultados Obtidos + A ferramenta é capaz de rodar a otimização global e extrair métricas gerenciais comparativas: + - **Baseline Fuel (Não-Otimizado):** O sistema isola qual seria o consumo nominal caso as demandas fossem atendidas de modo bruto. - **Optimized Fuel Consumption:** Retorna o custo de combustível estrito gerado pelo motor SCIP. - **Total Savings:** Revela à chefia o percentual quantitativo de economia gerada pela roteirização matemática contra o plano base. @@ -32,7 +38,9 @@ A ferramenta é capaz de rodar a otimização global e extrair métricas gerenci --- ## 📂 Arquitetura do Projeto + O projeto foi estruturado utilizando padrões modernos de software: + ```text / ├── app/ @@ -54,27 +62,30 @@ O projeto foi estruturado utilizando padrões modernos de software: ## 🛠️ Guia de Instalação e Execução ### 1. Instalar o Python (3.12+) + Abra seu terminal/prompt e utilize o gerenciador de pacotes nativo do seu Sistema Operacional: -* **Windows (Winget):** `winget install Python.Python.3.12` -* **Ubuntu/Debian (APT):** `sudo apt update && sudo apt install python3 python3-pip python3-venv` -* **Fedora (DNF):** `sudo dnf install python3` -* **Arch Linux (Pacman):** `sudo pacman -S python` -* **macOS (Homebrew):** `brew install python` +- **Windows (Winget):** `winget install Python.Python.3.12` +- **Ubuntu/Debian (APT):** `sudo apt update && sudo apt install python3 python3-pip python3-venv` +- **Fedora (DNF):** `sudo dnf install python3` +- **Arch Linux (Pacman):** `sudo pacman -S python` +- **macOS (Homebrew):** `brew install python` ### 2. Instalar o Gerenciador `uv` + O projeto adota o `uv` (gerenciador de ambiente e dependências ultrarrápido em Rust): -* **macOS / Linux:** +- **macOS / Linux:** ```bash curl -LsSf https://astral.sh/uv/install.sh | sh ``` -* **Windows (PowerShell):** +- **Windows (PowerShell):** ```powershell powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex" ``` ### 3. Configurar Ambiente e Executar + Abra o terminal na pasta raiz deste projeto (onde este `README.md` e o arquivo `pyproject.toml` se encontram) e siga os passos abaixo: 1. **Sincronizar Dependências (Instalar tudo e criar a VENV automaticamente):**