Skip to content

Modelos de Programação Linear aplicados a problemas de refinaria e ligas metálicas, desenvolvidos em Python na disciplina de Matemática Computacional.

Notifications You must be signed in to change notification settings

Gans-99/modelagem_e_otimizacao_linear

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 

Repository files navigation

📘 Programação Linear – Matemática Computacional

Modelagem e Otimização com Python (Questões 2 e 4)

Este repositório apresenta a resolução de duas questões selecionadas de Programação Linear propostas na disciplina Matemática Computacional.

As questões faziam parte de uma lista com 5 problemas, ordenados pela docente do mais simples ao mais complexo, sendo informado que:

  • Questões 4 e 5 possuem nível de dificuldade equivalente ao mestrado
  • Os alunos deveriam resolver no mínimo duas questões, à sua escolha

Diante disso, optei propositalmente por resolver:

  • Questão 2 (nível intermediário)
  • Questão 4 (nível avançado / mestrado)

com o objetivo de exercitar modelagem matemática, generalização de restrições e formulação completa de modelos lineares.


📂 Estrutura do Repositório

/
├── README.md
├── refinaria/
│   ├── questao2_refinaria.py
│   └── model_q2.lp
└── ligas_metalicas/
    ├── questao4_ligasMetalicas.py
    └── model_q4.lp

🛠 Tecnologias Utilizadas

  • Python 3
  • Biblioteca Python-MIP
  • Programação Linear
  • Modelos exportados em formato .lp

🛢️ Questão 2 – Planejamento de Produção em uma Refinaria

Descrição do Problema

Uma refinaria produz três tipos de gasolina:

  • Verde
  • Azul
  • Comum

Cada tipo de gasolina é produzido a partir de três componentes:

  • Gasolina pura
  • Octana
  • Aditivo

Esses componentes possuem quantidades semanais limitadas, e cada tipo de gasolina exige proporções específicas de cada insumo.

Além disso, o planejamento de produção impõe regras baseadas na demanda de mercado:

  • A quantidade de gasolina comum deve ser no mínimo 16 vezes a quantidade de gasolina verde
  • A produção de gasolina azul é limitada a um valor máximo semanal

Cada tipo de gasolina gera uma margem de contribuição distinta para o lucro.

Objetivo

Formular um modelo de programação linear que maximize a margem total de contribuição para o lucro, respeitando:

  • As restrições de disponibilidade dos componentes
  • As proporções de mistura
  • As regras de produção impostas pela demanda

📄 Arquivo: ➡ refinaria/questao2_refinaria.py


⚗️ Questão 4 – Produção de Ligas Metálicas (Nível Avançado)

Descrição do Problema

Duas ligas metálicas, A e B, são produzidas a partir de quatro metais distintos (I, II, III e IV).

Esses metais são obtidos a partir da extração de três minérios diferentes, cada um com:

  • Quantidade máxima disponível
  • Percentuais específicos de cada metal
  • Custo por tonelada extraída

Cada liga possui restrições rigorosas de composição, envolvendo:

  • Percentuais máximos
  • Percentuais mínimos
  • Faixas de concentração permitidas

Os preços de venda das ligas A e B são conhecidos.

Objetivo

Formular um modelo de programação linear que determine:

  • Quanto extrair de cada minério
  • Quanto de cada metal utilizar em cada liga

de forma a maximizar o lucro líquido, dado por:

Receita da venda das ligas − custo de extração dos minérios

Este problema exige:

  • Modelagem matricial
  • Uso de restrições condicionais (mínimo/máximo)
  • Generalização das restrições via estruturas de dados

📄 Arquivo: ➡ ligas_metalicas/questao4_ligasMetalicas.py


🚀 Como Executar

  1. Instale a biblioteca necessária:
pip install mip
  1. Execute os modelos:
python refinaria/questao2_refinaria.py
python ligas_metalicas/questao4_ligasMetalicas.py

Os modelos em formato .lp serão gerados automaticamente.


🎯 Objetivo do Repositório

Este repositório tem como objetivo:

  • Consolidar conceitos de Programação Linear
  • Exercitar modelagem matemática aplicada
  • Desenvolver soluções escaláveis e generalizadas
  • Trabalhar problemas de nível avançado, compatíveis com disciplinas de pós-graduação

📝 Observação

Os enunciados foram reinterpretados e descritos textualmente, evitando a reprodução direta do material original da disciplina, com foco na compreensão e formulação matemática dos problemas.


📬 Contato

Fique à vontade para abrir uma issue ou discutir melhorias e extensões dos modelos. É só falar.

About

Modelos de Programação Linear aplicados a problemas de refinaria e ligas metálicas, desenvolvidos em Python na disciplina de Matemática Computacional.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published