1
COMO USAR O EXCEL PARA RESOLVER
PROBLEMAS DE PROGRAMAÇÃO LINEAR
Professor Alexandre Stamford
1. Disponibilizando a Ferramenta de Otimização
Primeiramente deve-se instalar os suplementos.
Abra o Excel vá ao menu Ferramentas e escolha a opção Suplementos.
Aparecerá uma caixa de diálogo com várias opções de suplementos:
Ou
Selecione todos os suplementos. Se preferir selecione apenas os marcados acima. Com
isto você disponibiliza várias funções adicionais, análise de dados e o solver para resolver
problemas de programação linear, não linear e etc.
A ferramenta de otimização Solver estará disponível. Click em OK, na caixa de
diálogo e veja se no menu Ferramentas aparece o opção Solver/ ou na aba de Dados no
final.
2
2. Acompanhando e Resolvendo um Exemplo
O exemplo acompanhado aqui é o mesmo das notas de aula depois serão expostos
outros exemplos e suas respostas para testar o aprendizado.
Uma empresa pode fabricar dois produtos (1 e 2). Na fabricação do produto 1 a
empresa gasta nove horas-homem e três horas-máquina. Na fabricação do produto 2 a
empresa gasta uma hora-homem e uma hora-máquina. Sendo x1 e x2 as quantidades
fabricadas dos produtos 1 e 2 e sabendo-se que a empresa dispõe de 18 horas-homem e
12 horas-máquina e ainda que os lucros dos produtos são $4 e $1 respectivamente, quanto
deve a empresa fabricar de cada produto para obter o maior lucro possível (ou o lucro
máximo ou ainda maximizar o lucro) ?
Este problema tem a seguinte representação matemática:
Max L = 4 x1 + x2
x1, x2
sujeito a
9x1 + x2 £ 18 e
3x1 + x2 £ 12
x1 ³ 0 e x2 ³ 0
Para simplificar sua compreensão a respeito do problema, disponha as células de
maneira equivalente à apresentação do problema. Essa disposição não é necessária mas,
facilitará bastante na implementação.
Note que existem duas incógnitas L = 4 x1 + x2 que só terão valores após a
resolução do problema, porém, duas células devem ser escolhidas para representarem
estas incógnitas. Veja como ficaria este exemplo:
As células C5 e D5 não contêm valores no início da colocação do problema. Elas
são apenas escolhidas. Observe que todas as fórmulas fazem referência a estas células.
3
OBSERVAÇÃO:
A fórmula SOMARPRODUTO
A fórmula somar produto multiplica os componentes correspondentes nas
matrizes fornecidas e retorna a soma destes produtos.
A Sintaxe da função é SOMARPRODUTO(matriz1;matriz2;matriz3; ...)
Matriz1, matriz2, matriz3,... são matrizes de 2 a 30 cujos componentes se
deseja multiplicar e depois somar.
· Os argumentos da matriz devem ter a mesma dimensão. Se não tiverem,
SOMARPRODUTO fornecerá o valor de erro #VALOR!.
· SOMARPRODUTO trata as entradas da matriz não-numéricas como se
fossem zeros.
A seguinte fórmula multiplica todos os componentes das duas matrizes da
planilha anterior e depois soma os produtos — ou seja, 3*2 + 4*7 + 8*6 +
6*7 + 1*5 + 9*3.
SOMARPRODUTO({3.4.8.6.1.9}; {2.7.6.7.5.3}) é igual a 156
Desta maneira as fórmulas são equivalentes ao lado direito das equações do lucro
e restrições do problema.
Após montar o modelo os passos são:
a) Selecionar Solver no menu Ferramentas.
Aparecerá a seguinte tela:
Figura 1
Ou
4
• O endereço E7 ou K8 que contém a função objetivo deve ser colocado na opção:
"Definir célula de destino"
• O objetivo, no caso maximizar, deve ser selecionado nos botões de rádio.
• As células correspondentes às variáveis de decisão devem ser colocadas na opção:
"Células Variáveis"
• Escolha então o botão "Opções" e selecione as opções:
Pressumir modelo linear
Pressumir não negativos
• Click o botão "OK"
Esta é a caixa de diálogo quando se escolhe Opções na caixa de diálogo anterior:
5
Pode-se escolher Ajuda para saber mais detalhes.
b) Agora precisa-se entrar com as restrições.
• Selecione o botão "Adicionar", aparecerá outra caixa de diálogo:
• Adicione as restrições do modelo, usando as células corretas como na Figura
1
c) Escolha então o botão "Resolver"
• Aparecerá uma nova caixa de diálogo:
• No lado direito você deve selecionar os relatórios que lhe interessam.
d) Agora é só interpretar o resultado.
6
3. Interpretando os Relatórios
Como se viu existem três relatórios. O de resposta o de sensibilidade e o de limites.
Existem problemas sérios na tradução de forma que se você não tiver consciência do
método simplex se pede totalmente.
Os resultados são disponibilizados em três planilhas diferentes.
7
3.1 O relatório resposta
Microsoft Excel 8.0 Relatório de resposta
Planilha: [ProglinEEMII.xls]Plan1
Relatório criado: 07/10/97 15:10:01
Célula de destino (Máx)
Célula Nome Valor original Valor final
$E$7 Max 0 13
Células ajustáveis
Célula Nome Valor original Valor final
$C$5 Solução x1 0 1
$D$5 Solução x2 0 9
Restrições
Célula Nome Valor da célula Fórmula Status Transigência
$E$9 HH 18 $E$9<=$G$9 Agrupar 0
$E$10 HM 12 $E$10<=$G$10 Agrupar 0
Obviamente o relatório traz o resultado. O valor final do lucro na seção Célula de
Destino, os valores ótimos a serem produzidos na seção Células Ajustáveis e na seção
Restrições se estas foram atingidas ou se está sobrando algo.
8
3.2 O Relatório de Sensibilidade
Microsoft Excel 8.0 Relatório de sensibilidade
Planilha: [ProglinEEMII.xls]Plan1
Relatório criado: 07/10/97 15:10:01
Células ajustáveis
Valor Reduzido Objetivo Permissível Permissível
Célula Nome Final Custo Coeficiente Acréscimo Decréscimo
$C$5 Solução x1 1 0 4 5 1
$D$5 Solução x2 9 0 1 0,333333333 0,555555556
Restrições
Valor Sombra Restrição Permissível Permissível
Célula Nome Final Preço Lateral R.H. Acréscimo Decréscimo
$E$9 HH 18 0,166666667 18 18 6
$E$10 HM 12 0,833333333 12 6 6
Aqui a tradução foi quase mortal. Não é possível utilizar o relatório diretamente
dado que ninguém entenderia. É necessário trocar as ordens das linhas. Ou seja, onde tem
Permissível Acréscimo você inverte, Sombra Preço é Preço Sombra, Reduzido Custo é
Custo Reduzido, etc. Resolvido isto o relatório é uma rearrumação do quadro final do
método simplex que traz a solução dos dois problemas, o Primal e o Dual. O quadro final
do simplex do exemplo é:
x1 x2 x3 x4 bi
L 0 0 1/6 5/6 13
R1 1 0 1/6 -1/6 1
R2 0 1 -1/2 3/2 9
1/6 é o 0,166666667; 5/6 é o 0,8333333333; o acréscimo permitido nas 18 horas homens
é dado por 9/(|-1/2|)=18 e para horas máquinas 1/(|-1/6|)=6; os decréscimos são dados
respectivamente por 1/(1/6)=6 e 9/(3/2)=6.
A parte correspondente as Células Ajustáveis é equivalente a resolver o problema Primal
Como se fosse o Dual, o que forneceria outro quadro final de onde se poderia tirar os
valores dos acréscimos. Esta é uma informação adicional ao quadro final do simplex
clássico.
9
3.3 O Relatório de Limites
Microsoft Excel 8.0 Relatório de limites
Planilha:
[ProglinEEMII.xls]Plan1
Relatório criado: 07/10/97 15:10:02
Nome
Célula Destino Valor
$E$7 Max 13
Nome Limite Resultado Limite Resultado
Célula Ajustável Valor Inferior Destino Superior Destino
$C$5 Solução x1 1 0 9 1 13
$D$5 Solução x2 9 0 4 9 13
Neste exemplo, este relatório pode parecer um pouco idiota, entretanto em casos
mais complexos ele se torna útil para visualização dos resultados, que é obviamente o
objetivo de um relatório.
4. Exemplos para serem Implementados
4.1 Hillier e Lieberman - Cap.1 pag.26
Uma fabrica produz vidros de alta qualidade, incluindo janelas e portas de vidro.
Ela tem 3 fábricas . Na primeira são feitas esquadrias e ferragens de alumínio; na segunda
as esquadrias de madeira e a terceira é usada para produzir o vidro e montar os produtos.
Dois produtos potenciais:
P1 => Porta de Vidro 2,40m, com esquadrias de alumínio.
P2 => Uma grande janela (1,20x1,80m) de duas folhas e esquadrias de madeira.
- Decidir quantos produtos produzir
Resultado da investigação:
1. Percentagem de capacidade de produção de cada fábrica que estaria disponível para
estes produtos .
2. As percentagem requeridas por produtos para cada unidade produzida por minuto.
3. O lucro unitário de cada produto.
Resumo:
Produto Capacidade usada por produção unitária Capacidade Disponível
Fábrica 1 2
1 1 0 4
2 0 2 12
3 3 2 18
Lucro por unidade U$3 U$5
10
Sejam x1 e x2 o número de unidade dos produtos 1 e 2 por minuto e Z a
contribuição resultante para o lucro por minuto.
x1 e x2 são VARIÁVEIS DE DECISÃO para o modelo.
O objetivo é encontrar x1 e x2 tal que maximizem
Z = 3x1 + 5x2
Sujeito a restrição x1 £ 4
2x2 £ 12
3x1 + 2x2 £ 15
e x1 ³ 0 , x2 ³ 0
Os resultados fornecidos pelo Excel são:
Microsoft Excel 8.0 Relatório de resposta
Planilha: [Exemplo2PL2.xls]Plan1
Relatório criado: 27/09/2000 16:52:40
Célula de destino (Máx)
Célula Nome Valor original Valor final
$F$8 Lucro/unid Max 0 33
Células ajustáveis
Célula Nome Valor original Valor final
$D$6 Solução x1 0 1
$E$6 Solução x2 0 6
Restrições
Célula Nome Valor da célula Fórmula Status Transigência
$F$11 F1 Max 4 $F$11<=$H$11 Agrupar 0
$F$12 F2 Max 12 $F$12<=$H$12 Agrupar 0
$F$13 F3 Max 15 $F$13<=$H$13 Sem agrupar 3
11
Microsoft Excel 8.0 Relatório de sensibilidade
Planilha: [Exemplo2PL2.xls]Plan1
Relatório criado: 27/09/2000 16:52:41
Células ajustáveis
Valor Reduzido Objetivo Permissível Permissível
Célula Nome Final Custo Coeficiente Acréscimo Decréscimo
$D$6 Solução x1 1 0 3 1E+30 3
$E$6 Solução x2 6 0 5 1E+30 5
Restrições
Valor Sombra Restrição Permissível Permissível
Célula Nome Final Preço Lateral R.H. Acréscimo Decréscimo
$F$11 F1 Max 4 0,75 4 4 4
$F$12 F2 Max 12 2,5 12 3 12
$F$13 F3 Max 15 0 18 1E+30 3
Microsoft Excel 8.0 Relatório de limites
Planilha:
[Exemplo2PL2.xls]Plan1
Relatório criado: 27/09/2000
16:52:42
Nome
Célula Destino Valor
$F$8 Lucro/unid Max 33
Nome Limite Resultado Limite Resultado
Célula Ajustável Valor Inferior Destino Superior Destino
$D$6 Solução x1 1 0 30 1 33
$E$6 Solução x2 6 0 3 6 33
Interprete os resultados!!!!