Success: the objective function is 40
[1] 40 0
| Aeronave | Quant_manut |
|---|---|
| T25 | 40 |
| T27 | 0 |
AULA 17: MODELAGEM MATEMÁTICA - Problemas de Gerais
Academia da Força Aérea
Verifique ao final desta aula se você é capaz de:
A solução:
Success: the objective function is 40
[1] 40 0
| Aeronave | Quant_manut |
|---|---|
| T25 | 40 |
| T27 | 0 |
| Setores | Tempo_Utilizado |
|---|---|
| Desmontagem | 120 |
| Verificação/Troca | 160 |
| Montagem | 40 |
| Setores | Tempo_Utilizado | Tempo_disp | Sobra |
|---|---|---|---|
| Desmontagem | 120 | 120 | 0 |
| Verificação/Troca | 160 | 160 | 0 |
| Montagem | 40 | 48 | 8 |
library(lpSolve) #precisa instalar o pacote caso não tenha
coef.objetivo = c(1,1)
R1 = c(3, 3.5)
R2 = c(4, 5)
R3 = c(1, 1.5)
R4 = c(0,1) #acrescenta nova restrição
restricoes = rbind(R1,R2,R3,R4) #R4
b = c(120, 160, 48,4) #R4
sinal = c("<=","<=","<=", ">=") #R4
solucao = lpSolve::lp(direction = "max",
objective.in = coef.objetivo,
const.mat = restricoes,
const.dir = sinal,
const.rhs = b, all.int = T)
solucaoSuccess: the objective function is 39
[1] 35 4
x=c(paste0("T",c(25,27)))
y=solucao$solution
knitr::kable(data.frame(Aeronave=x,Quant_manut=solucao$solution))| Aeronave | Quant_manut |
|---|---|
| T25 | 35 |
| T27 | 4 |
Aumentamos no modelo mais uma restrição do tipo \(0x1+1x2\ge4\), forçando a solução mudar para no mínimo 4 aeronaves T-27 em manutenção, com isso, a função objetivo passou para 39 aeronaves em manutenção, comparando com o modelo anterior, observa-se uma redução no total de aeronaves em manutenção.
1- Qual é a variável de decisão de um modelo linear para planejamento da produção?
A quantidade ótima de cada produto a ser fabricado/processado
O lucro ou o custo da produção
Os recursos disponíveis, como matéria-prima, mão-de-obra, máquinas e espaço
As restrições que limitam a capacidade produtiva, como demanda, qualidade e tempo
2- Uma escola de especialização possui três tipos de pilotos: Aviadores, Asas Rotativas e Patrulha ou Reconhecimento. Durante o treinamento, os aviadores utilizam as aeronaves tipo A1; os pilotos de asas rotativas utilizam aeronaves tipo A2 e os pilotos de patrulha ou reconhecimento utilizam as aeronaves tipo A3 para treinamento. Cada tipo de piloto utilizará 120h, 130h e 100h em seu respectivo tipo de aeronave de treinamento. Suponha que haja disponível na previsão orçamentária do próximo ano um quantitativo de no máximo 10.000h para ser distribuída entre os pilotos. O objetivo da escola é determinar o número máximo de vagas disponíveis. Sendo \(x_i\) a quantidade de vagas de pilotos em formação do tipo i, qual é a restrição que representa o limite de horas de voo disponível?
\(x_1+x_2+x_3 \le 1000\)
\(x_1+x_2+x_3 \le 1000/3\)
\(12x_1+13x_2+10x_3 \le 1000/3\)
\(12x_1+13x_2+10x_3 \le 1000\)
\(12x_1+13x_2+10x_3 \le 10000/350\)
1- Qual é a variável de decisão de um modelo linear para planejamento da produção?
2- …Sendo \(x_i\) a quantidade de vagas de pilotos em formação do tipo i, qual é a restrição que representa o limite de horas de voo disponível?
3- Considere a solução ótima para determinado problema de programação linear com \(x_1=3\) e \(x_2=7\). Suponha que seja apenas acrescentada uma nova restrição ao problema: \(5x_1 - 2x_2 \le 2\). Analise as afirmativas e escolha a opção correta:
I - A solução ótima não se altera quando acrescentamos a nova restrição mas modifica o valor da função objetivo.
II - A nova restrição gera uma nova solução ótima com o mesmo valor da função objetivo que a anterior.
III - A nova restrição não modifica a solução ótima e mantém o mesmo valor da função objetivo.
Todas as afirmativas são verdadeiras.
Todas as afirmativas são falsas.
Apenas a alternativa I é verdadeira.
Apenas as alternativas II é verdadeira.
Apenas a alternativa III é verdadeira.
4- Em cada definição de variável de decisão há uma imprecisão. Identifique-a e corrija.
\(x_i\) = número de produtos a ser adquirido pelo setor de compras, \(i=1,2,3,4\)
\(x_i\) = quantidade de arroz a ser adquirido do fornecedor i. \(i=1,2,3\)
\(x_i\) = tempo de manutenção alocado à aeronave do tipo i. \(i=1,2\)
\(x_{ij}\) = produto i cidade j \(i=1,2\) e \(j=1,2,3\)
\(x_{i}\) = ingrediente i \(i=1,2\)
3- Considere a solução ótima para determinado problema de programação linear com \(x_1=3\) e \(x_2=7\). Suponha que seja apenas acrescentada uma nova restrição ao problema: \(5x_1 - 2x_2 \le 2\). Analise as afirmativas e escolha a opção correta:
III - A nova restrição não modifica a solução ótima e mantém o mesmo valor da função objetivo.
pois \(5\cdot3 - 2\cdot 7=1 \le 2\) e a função objetivo não foi modificada.
4- Resposta possível, pode variar, o gabarito é uma sugestão.
Observe a imprecisão quanto à unidade de medida ou a ausência de verbo na definição.
\(x_i\) = número de produtos do tipo i a ser adquirido pelo setor de compras, \(i=1,2,3,4\)
\(x_i\) = quantidade de arroz em kg a ser adquirido do fornecedor i. \(i=1,2,3\)
\(x_i\) = tempo de manutenção em horas alocado à aeronave do tipo i. \(i=1,2\)
\(x_{ij}\) = envio de unidades/lotes/toneladas do produto i para a cidade j. \(i=1,2\) e \(j=1,2,3\)
\(x_{i}\) = quantidade em kg do ingrediente i a ser adquirido. \(i=1,2\)
Veremos nesta aula um modelo complexo aplicado ao planejamento de uma missão especial.
Uma determinada região está sendo ameaçada e deve ser evacuada. São no total 8.000 homens, 7.900 mulheres e 1.850 crianças a transportar em no máximo 10 horas. Cada pessoa poderá levar até 10 quilos de bagagem pessoal. Toda a região foi isolada e só circulam veículos militares autorizados para que se evitem acidentes e engarrafamentos. Para efetuar a evacuação estão disponíveis 6 tipos de meios de transporte com um determinado custo por viagem e restrições quanto a quantidade disponível, a capacidade de transportar pessoas e bagagem e o tempo de deslocamento. O objetivo é elaborar o programa de evacuação que minimize o custo total da operação.
Os tipos de veículos são: veículo de 6 ton (V1), veículo de 1/4 ton (V2), helicóptero (V3), ônibus (V4), microonibus (V5) e carros de passeio (V6).
Os carros de passeio só poderão fazer uma viagem de evacuação, ficando, por segurança, retidos fora da área de perigo.
| Dados | V1 | V2 | V3 | V4 | V5 | V6 |
|---|---|---|---|---|---|---|
| Qte de Unidades Disponíveis | 10 | 20.00 | 15.00 | 10.00 | 5.0 | 60.0 |
| Capacidade de Transporte (n. pessoas) | 20 | 5.00 | 10.00 | 45.00 | 30.0 | 5.0 |
| Capacidade para Bagagem (kg) | 1000 | 20.00 | 50.00 | 1000.00 | 500.0 | 100.0 |
| Custo por Viagem (R$) | 10 | 4.00 | 75.00 | 5.00 | 3.0 | 2.0 |
| Tempo por Viagem (h) | 1 | 0.75 | 0.17 | 0.67 | 0.5 | 0.5 |
Atenção: o tempo por viagem foi convertido para horas, alguns valores sofreram arredondamento o que pode impactar nos parâmetros do modelo e consequentemente na solução. EX: 0.17h é a conversão de 10 min; 0.67h é a conversão de 40 min.
Formular o programa de evacuação que minimize o custo total da operação.
Critério de Otimalidade: Minimizar o custo total da operação.
Definição das variáveis de decisão:
\(x_{i}\): número de viagens do veículo do tipo \(V_i\), \(i=1,2,3,4,5,6\)
Os tipos de veículos são: veículo de 6 ton (V1), veículo de 1/4 ton (V2), helicóptero (V3), ônibus (V4), microonibus (V5) e carros de passeio (V6).
| Dados | V1 | V2 | V3 | V4 | V5 | V6 | |
|---|---|---|---|---|---|---|---|
| 4 | Custo por Viagem (R$) | 10 | 4 | 75 | 5 | 3 | 2 |
Função Objetivo:
min \(z=10x_1+4x_2+75x_3+5x_4+3x_5+2x_6\)
Hipótese simplificadora: 1- Não serão consideradas composições familiares. 2- As cargas não serão transportadas com seu proprietário. 3- Os veículos partem com sua capacidade máxima de carga.
Total de pessoas a ser transportada: 17.750
Total de bagagem a ser transportada: 177.500 kg
| Dados | V1 | V2 | V3 | V4 | V5 | V6 | |
|---|---|---|---|---|---|---|---|
| 2 | Capacidade de Transporte (n. pessoas) | 20 | 5 | 10 | 45 | 30 | 5 |
| 3 | Capacidade para Bagagem (kg) | 1000 | 20 | 50 | 1000 | 500 | 100 |
Restrições Estruturais
\(20x_{1} + 5x_2+10x_3+45x_4+30x_5+5x_6 \ge 17750\)
\(1000x_{1} + 20x_2+50x_3+1000x_4+500x_5+100x_6 \ge 177500\)
Hipótese simplificadora: 4- Não serão considerados os tempos de reposicionamento dos veículos.
Tempo de operação: 10h
| Dados | V1 | V2 | V3 | V4 | V5 | V6 | |
|---|---|---|---|---|---|---|---|
| 1 | Qte de Unidades Disponíveis | 10 | 20.00 | 15.00 | 10.00 | 5.0 | 60.0 |
| 5 | Tempo por Viagem (h) | 1 | 0.75 | 0.17 | 0.67 | 0.5 | 0.5 |
\(x_{1} \le \frac{10}{1} \cdot 10\) ou seja \(x_{1} \le 100\)
\(x_{2} \le \frac{10}{0.75} \cdot 20\) ou seja \(x_{2} \le 266\)
\(x_{3} \le \frac{10}{0.17} \cdot 15\) ou seja \(x_{3} \le 882\) o correto aqui é 900 e não 882 pois 0.17 h é uma aproximação para 10 min.
\(x_{4} \le \frac{10}{0.67} \cdot 10\) ou seja \(x_{4} \le 150\) idem a obs anterior 0.67 é aproximação para 40 min.
\(x_{5} \le \frac{10}{0.5} \cdot 5\) ou seja \(x_{5} \le 100\)
\(x_{6} \le 60\) pois cada veículo de passeio faz apenas uma viagem
Restrições de Sinal: \(x_{i} \ge 0, \space \forall i=1,2,3,4,5,6\)
\(x_{i}\): número de viagens do veículo do tipo \(V_i\), \(i=1,2,3,4,5,6\)
min \(z=10x_1+4x_2+75x_3+5x_4+3x_5+2x_6\)
sujeito a
\(20x_{1} + 5x_2+10x_3+45x_4+30x_5+5x_6 \ge 17750\)
\(1000x_{1} + 20x_2+50x_3+1000x_4+500x_5+100x_6 \ge 177500\)
\(x_{1} \le 100\)
\(x_{2} \le 266\)
\(x_{3} \le 900\)
\(x_{4} \le 150\)
\(x_{5} \le 100\)
\(x_{6} \le 60\)
\(x_{i} \ge 0, \space \forall i=1,2,3,4,5,6\)
Utilize o phpsimplex e veja o resultado. http://www.phpsimplex.com/simplex/simplex.htm?l=pt
Utilize o R e veja o resultado
library(lpSolve) #precisa instalar o pacote caso não tenha
coef.objetivo = c(10,4,75,5,3,2)
R1 = c(10,5,10,45,30,5)
R2 = c(1000,20, 50, 1000,500,100)
R3 = c(1, 0,0,0,0,0)
R4 = c(0, 1,0,0,0,0)
R5 = c(0, 0,1,0,0,0)
R6 = c(0, 0,0,1,0,0)
R7 = c(0, 0,0,0,1,0)
R8 = c(0, 0,0,0,0,1)
restricoes = rbind(R1,R2,R3,R4,R5,R6,R7,R8)
b = c(17750, 177500, 100, 260, 900, 150, 100, 60)
sinal = c(">=",">=","<=","<=","<=","<=", "<=","<=")
solucao = lpSolve::lp(direction = "min",
objective.in = coef.objetivo,
const.mat = restricoes,
const.dir = sinal,
const.rhs = b, all.int = F)
solucaoSuccess: the objective function is 43710
[1] 100 260 540 150 100 60
O modelo indica que deve ser realizado um total de 1210 viagens e a operação terá um custo mínimo de R$43.710,00
| x | y |
|---|---|
| x1 | 100 |
| x2 | 260 |
| x3 | 540 |
| x4 | 150 |
| x5 | 100 |
| x6 | 60 |
Para esta operação serão necessárias 1210 viagens com um custo mínimo de R$43.710,00 sendo, 100 viagens com o veículo de 6 ton (V1), 260 viagens com o veículo de 1/4 ton (V2), 540 viagens com o helicóptero (V3), 150 viagens com o ônibus (V4), 100 viagens com o microonibus (V5) e 60 viagens com os carros de passeio (V6)
[1] 338200
[1] 160700
[1] 9.053521
library(lpSolve) #precisa instalar o pacote caso não tenha
coef.objetivo = c(10,4,75,5,3,2)
R1 = c(10,5,10,45,30,5)
R2 = c(1000,20, 50, 1000,500,100)
R3 = c(1, 0,0,0,0,0)
R4 = c(0, 1,0,0,0,0)
R5 = c(0, 0,1,0,0,0)
R6 = c(0, 0,0,1,0,0)
R7 = c(0, 0,0,0,1,0)
R8 = c(0, 0,0,0,0,1)
restricoes = rbind(R1,R2,R3,R4,R5,R6,R7,R8)
b = c(17750, 20*17750, 100, 260, 900, 150, 100, 60)
sinal = c(">=",">=","<=","<=","<=","<=", "<=","<=")
solucao = lpSolve::lp(direction = "min",
objective.in = coef.objetivo,
const.mat = restricoes,
const.dir = sinal,
const.rhs = b, all.int = F)
solucaoSuccess: the objective function is 68910
[1] 100 260 876 150 100 60
Neste caso mudará os limites de recurso da restrição 3 e 5.
library(lpSolve) #precisa instalar o pacote caso não tenha
coef.objetivo = c(10,4,75,5,3,2)
R1 = c(10,5,10,45,30,5)
R2 = c(1000,20, 50, 1000,500,100)
R3 = c(1, 0,0,0,0,0)
R4 = c(0, 1,0,0,0,0)
R5 = c(0, 0,1,0,0,0)
R6 = c(0, 0,0,1,0,0)
R7 = c(0, 0,0,0,1,0)
R8 = c(0, 0,0,0,0,1)
restricoes = rbind(R1,R2,R3,R4,R5,R6,R7,R8)
b = c(17750, 20*17750, 110, 260, 780, 150, 100, 60)
sinal = c(">=",">=","<=","<=","<=","<=", "<=","<=")
solucao = lpSolve::lp(direction = "min",
objective.in = coef.objetivo,
const.mat = restricoes,
const.dir = sinal,
const.rhs = b, all.int = F)
solucaoSuccess: the objective function is 54010
[1] 110 260 676 150 100 60
Terminou? Revise os conceitos e modelos das aulas anteriores, incluindo o caderno de modelagem. Prepare-se para a avaliação parcial desta unidade.
Revise os conceitos sobre modelagem.
Revise as hipóteses dos modelos de otimização linear.
Revise os itens necessários que um modelo deve conter.
Refaça todos os modelos propostos em aula.