Engenharia industrial/Investigação operacional: diferenças entre revisões

[edição não verificada][edição não verificada]
Conteúdo apagado Conteúdo adicionado
Lrpereira (discussão | contribs)
Introdução ao Solver do Excel
Lrpereira (discussão | contribs)
m Formulação do problema de programação linear
Linha 4:
A chave para resolver problemas de programação linear numa folha de cálculo é preparar uma folha que contenha tudo de interesse no problema a solucionar (custos ou proveitos, utilização de recursos, etc.). De seguida identificam-se as celulas que podem ser variadas. Estas celulas chamam-se '''células variáveis'''. Depois de se definir as células variáveis, identificam-se as células que contêm a função objectivo. Estas celulas chamam-se '''células alvo'''. Finalmente identificam-se as restrições e pedimos ao Solver que rersolva o problema. Finalmente a solução ótima é colocada na folha de cálculo.
 
==== Apresentação do modelo ====
Primeiro vamos formular um problema de dieta:
 
Existem quatro tipos de comida disponíveis para consumo: bolachas; gelado de chocolate; refregirante e bolo de ananás. Cada bolacha custa 0,50€, cada bola de gelado de chocolate custa 0,20€, cada lata de refregiranterefrigerante custa 0,30€ e cada fatia de bolo de ananás custa 0,80€. Todos os dias é preciso ingerir pelo menos 500 calorias 6 oz de chocolate, 10 oz de açucar e 8 oz de gordura. O conteúdo nutricional de cada tipo de comida é mostrado na tabela 1.
 
{| class="wikitable" style="margin-left: auto; margin-right: auto;"
Começa-se por identificar as variáveis de decisão. Como a decisão final vai indicar quanto de cada tipo de comida vai ser consumido diáriamente, definem-se quatro variáveis de decisão:
|+Tabela 1 - Valores nutricionais por alimento
! style="text-align: center;" | Tipo de
Alimento
! style="text-align: center;" | Calorias
! style="text-align: center;" | Chocolate (oz)
! style="text-align: center;" | Açucar (oz)
! style="text-align: center;" | Gordura
|-
! Bolacha
| style="text-align: center;" | 400
| style="text-align: center;" | 3
| style="text-align: center;" | 2
| style="text-align: center;" | 2
|-
! Gelado
| style="text-align: center;" | 200
| style="text-align: center;" | 2
| style="text-align: center;" | 2
| style="text-align: center;" | 4
|-
!Refrigerante
| style="text-align: center;" | 150
| style="text-align: center;" | 0
| style="text-align: center;" | 4
| style="text-align: center;" | 1
|-
! Bolo
| style="text-align: center;" | 500
| style="text-align: center;" | 0
| style="text-align: center;" | 4
| style="text-align: center;" | 5
|}
 
Começa-se por identificar as '''variáveis de decisão'''. Como a decisão final vai indicar quanto de cada tipo de comida vai ser consumido diáriamente, definem-se quatro variáveis de decisão:
 
<math>x_1</math> = número de bolachas comidas diáriamente
Linha 14 ⟶ 49:
<math>x_2</math> = número de bolas de chocolate comidas diáriamente
 
<math>x_3</math> = número de latas de refrigiranterefrigerante bebidas diáriamente
 
<math>x_4</math> = fatias de bolo de chocolate comidas diáriamente
 
De seguida define-se a função objectivo que minimiza o custo total da dieta: (custo total da dieta) = (custo das bolachas) + (custo dos gelados) + (custo dos refrigerantes) + (custo das fatias de bolo)
 
'''Custo total da dieta''' = 0,50<math>x_1</math>+0,20<math>x_2</math>+0,30<math>x_3</math>+0,80<math>x_4</math>
 
As variáveis de decisão têm que satisfazer as seguintes restrições:
 
'''Restrição 1''' - Ingestão de calorias tem que ser de pelo menos 500 calorias
 
'''Restrição 2''' - Ingestão de chcolate tem que ser de pelo menos 6 oz
 
'''Restrição 3''' - Ingestão de açucar tem que ser de pelo menos 10 oz
 
'''Restrição 4''' - Ingestão de gordura tem que ser de pelo menos 8 oz
 
Então o modelo de programação matemática toma o seguinte aspecto:
 
min <math>z = 0,50x_1+0,20x_2+0,30x_3+0,80x_4</math>
 
Sujeito a : <math>
\begin{matrix} 400x_1 & + 200x_2 & + 150x_3 & + 500x_4 & \geq 500 \\
3x_1 & + 2x_2 & & & \geq 6 \\
2x_1 & + 2x_2 & + 4x_3 & + 4x_4 & \geq 10\\
2x_1 & + 4x_2 & + x_3 & + 5x_4 & \geq 8
\end{matrix}</math>
 
==== Resolução do problema ====
Começa-se por