Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

MÉTODOS QUANTITATIVOS – TEMA 4 
MÉTODOS SIMPLEX 
 
DESCRIÇÃO - O método simplex para a solução de modelos de programação linear e a 
utilização do solver na solução de problemas de programação linear. 
PROPÓSITO - Dominar a solução de problemas de programação linear, seja por meio do método 
simplex, ou pela utilização de softwares, permitirá que você aplique a técnica de modelagem no 
processo de decisão de problemas complexos de diversas origens, em especial em sua atuação 
profissional. 
 
INTRODUÇÃO - A modelagem matemática nos permite representar, de forma simplificada, um 
problema complexo por meio de linguagem matemática. Com isso, conseguimos analisar 
diferentes cenários de forma mais rápida e barata do que se a situação fosse avaliada na 
realidade, auxiliando-nos, assim, no processo de tomada de decisão. 
No contexto da programação linear, que se aplica, por exemplo, no planejamento de redes 
logísticas, há métodos, como o método gráfico, que se restringem à solução de problemas com 
apenas duas ou no máximo três variáveis de decisão. Como solucionar, então, problemas mais 
complexos, com maior número de variáveis de decisão? Este é o assunto a ser tratado neste 
tema. A seguir, abordaremos o método simplex para a solução de problemas de programação 
linear e aprenderemos a utilizar o solver do Excel para a solução desse tipo de problema! 
 
MÓDULO 1 - Empregar o método simplex para a solução de problemas de programação 
linear 
APRESENTAÇÃO DO TEMA - O vídeo aborda o método simplex e sua importância para a 
resolução de problemas. 
O MÉTODO SIMPLEX PARA A SOLUÇÃO DE MODELOS DE PROGRAMAÇÃO LINEAR - 
Podemos resolver, de forma simples, problemas de programação linear com duas variáveis de 
decisão por meio do método gráfico. Entretanto, são poucos os problemas de programação linear 
no mundo real que envolvem apenas duas variáveis de decisão, de modo que a aplicação do 
método gráfico é bastante limitada. 
Então, como fazemos para solucionar problemas mais complexos, com um maior número de 
variáveis de decisão? 
Existe uma série de técnicas matemáticas para resolver problemas de programação linear com 
qualquer número de variáveis sem a necessidade de visualizar em gráficos as regiões viáveis. 
Dentre tais técnicas, destaca-se o algoritmo simplex, que foi o primeiro método desenvolvido para 
resolver problemas de programação linear. 
O algoritmo simplex foi desenvolvido por George B. Dantzig, em 1947, enquanto trabalhava como 
consultor em matemática para o controle da Força Aérea norte-americana. O método simplex é 
específico para a solução de problemas de otimização linear (equações ou inequações lineares). 
Trata-se de um algoritmo eficiente que se baseia na solução sucessiva de sistemas de equações 
indeterminados, em que sistemas adjacentes são avaliados de forma iterativa, sendo, assim, 
adaptável ao cálculo computacional. Na época, os computadores estavam começando a surgir, e 
a resolução desse tipo de problema se tornava importante na prática! 
O simplex é considerado uma das grandes contribuições à programação matemática. 
Antes de estudarmos o algoritmo simplex, é importante entendermos o conceito do simplex e 
recordarmos alguns pontos sobre a solução de problemas de programação linear com duas 
variáveis de decisão por meio do método gráfico. 
O QUE É UM SIMPLEX? Um simplex é um polígono convexo, ou seja, com propriedade 
especial: uma reta que passe por quaisquer dois pontos pertencentes a um simplex deve estar 
contida inteiramente dentro do simplex. Logo, na figura a seguir, observa-se que o polígono 
representado em (a) não é convexo, enquanto o ilustrado em (b) é um simplex. 
 
 
 
 
As restrições de um problema de programação 
linear sempre definem hiperespaços convexos. Esta 
é a premissa do algoritmo simplex e de boa parte da 
teoria de otimização convexa. Assim, o espaço de 
soluções de um problema de programação linear, ou 
seja, a área formada pela intersecção das restrições 
do problema, é uma forma geométrica simplex. 
MÉTODO GRÁFICO - Para encontrar a solução ótima pelo método gráfico, precisamos seguir os 
seguintes passos: 
• Desenhe as retas correspondentes às restrições do problema e encontre o espaço de 
soluções. 
• Desenhe o vetor z (função objetivo). 
• Desenhe linhas ortogonais ao vetor z. Essas são as linhas de isocusto, isto é, são as retas 
que têm o mesmo valor de z. 
• Calcule o valor de z no ponto ótimo, ou seja, a linha de isocusto com maior z que ainda 
pertence ao espaço de soluções. 
Em um caso bidimensional, o espaço de soluções viáveis é um plano, e a função objetivo é 
representada por um vetor. Assim, por meio do método gráfico, buscamos a reta (x2=z-ax1) 
perpendicular ao vetor da função objetivo com o maior (ou menor) z possível dentro do espaço de 
soluções. Como o espaço de soluções é simplex, a reta x2=z-ax1 para z ótimo que corta o plano, 
obrigatoriamente, corta as retas de restrições. Ainda, como nos pontos de interseção (vértices) 
temos mudança de inclinação (retas diferentes), garante-se que a solução ótima se dá na 
interseção entre retas de restrições (nos vértices), de modo que o algoritmo simplex analisa 
apenas os pontos de interseção do espaço de soluções. 
Na verdade, esta foi a grande ideia de Dantzig para o desenvolvimento do algoritmo simplex: 
dado que a solução ótima está em um vértice do espaço de soluções viáveis, por que não 
percorrê-los em busca da melhor solução possível? 
MÉTODO SIMPLEX - Conforme verificamos, a chave do algoritmo simplex está no formato da 
região limitada pelas restrições. Portanto, apesar de ser um procedimento algébrico, os conceitos 
subjacentes ao método simplex são geométricos. 
O simplex é um algoritmo iterativo, que se utiliza de um ferramental baseado em álgebra linear 
para a resolução sucessiva de sistemas de equações, embora as restrições de problemas de 
programação matemática sejam tipicamente inequações. Desse modo, a primeira etapa do 
método simplex consiste em converter as restrições de desigualdade em restrições de 
igualdade equivalente. O algoritmo simplex só pode ser rodado se o problema estiver escrito 
na forma canônica, que é a forma de se representar programas matemáticos por meio de 
equações. Para isso, precisamos criar as chamadas variáveis de folga ou de excesso. 
VARIÁVEIS DE FOLGA (F) - Exemplo (forma canônica): 
x1≤10 → x1 +f1=10 
f1 = Variável de folga 
Assim, se x1=8, então teríamos que a variável de folga f1 seria igual a 2. Se x1=3, então teríamos 
que a variável de folga f1 seria igual a 7. 
 
VARIÁVEIS DE EXCESSO (E) - Exemplo (forma canônica): 
x1≥10 → x1 -e1=10 
e1 = Variável de excesso 
Assim, se x1=12, então teríamos que a variável de excesso e1 seria igual a 2. Se x1=15, então 
teríamos que a variável de excesso e1 seria igual a 5. 
 
Veja o caso do problema da Fitwear, apresentado a seguir. Será que conseguimos escrevê-lo em 
sua forma canônica? 
Caso Fitwear S/A - A Fitwear S/A é uma confecção de roupas esportivas, tendo uma linha fitness 
feminina, na qual produz roupas de ginástica exclusivas para mulheres, como tops e calças de 
lycra. 
Cada top de ginástica é vendido por R$80,00 e utiliza R$20,00 de matéria-prima, como tecido e 
alinhamentos, e R$32,00 de mão de obra. Trinta minutos de corte e 15 minutos de costura são 
demandados para a confecção de um top de ginástica. 
Cada calça de ginástica é vendida por R$120,00 e utiliza R$35,00 de matéria-prima, como tecido 
e alinhamentos, e R$40,00 de mão de obra. Quinze minutos de corte e 30 minutos de costura são 
demandados para a confecção de uma calça de ginástica. 
A Fitwear só pode contar com 100 horas de corte por semana e 160 horas de costura. A 
confecção não tem problemas no fornecimento de matérias-primas, de modo que seu suprimento 
pode ser considerado ilimitado, bem como a demanda semanal de seus produtos. 
A Fitwear deseja planejar sua produção semanal de modo a maximizar seus lucros. 
Quando modelamos o problema, consideramos as seguintes variáveis de decisão:• x1 - Número de tops de ginástica confeccionados a cada semana. 
• x2 - Número de calças de ginástica confeccionadas a cada semana. 
Assim, chegamos à seguinte formulação matemática em sua forma-padrão. 
Máx Z= 28 x1+ 40x2 
Sujeito a (forma-padrão): 
0,5x1 +0,25x2≤100 → restrição de horas de corte 
0,25x1 +0,5x2≤160 → restrição de horas de costura 
x1, x2≥0 → restrição de não negatividade das variáveis de decisão 
Observe que tanto a restrição referente às horas de corte quanto a restrição referente às horas de 
costura são do tipo ≤. Logo, precisaremos de duas variáveis de folga, f1 e f2, para passar o 
problema para sua forma canônica. 
Máx Z= 28 x1+ 40x2 
Sujeito à (forma canônica): 
0,5x1 +0,25x2+f1=100 
0,25x1 +0,5x2+f2=160 
x1, x2≥0 
Uma vez adicionadas as variáveis de folga, o problema da Fitwear é dito no formato canônico e 
pronto para ser resolvido pelo método simplex! 
Para resolver o problema de programação linear, o algoritmo simplex se baseia na solução 
sucessiva de sistemas de equações, utilizando-se do conceito de variáveis básicas e não básicas: 
Variáveis básicas: São aquelas para as quais o sistema de equações é resolvido. 
Variáveis não básicas: São aquelas que são zeradas para que o sistema de equações 
apresente uma solução, ou seja, para que o número de equações seja igual ao número de 
variáveis, permitindo, assim, a solução do sistema de equações. 
 
No problema da Fitwear, por exemplo, temos quatro variáveis (x1, x2, f1 e f2) e apenas duas 
equações (restrições). Entretanto, para que um sistema de equações lineares seja resolvido, é 
necessário que o número de equações seja igual ao número de variáveis. De tal modo, para 
resolver o problema da Fitwear, devemos considerar duas variáveis como nulas (não básicas) e 
resolver o problema para outras duas (variáveis básicas), e assim fazemos por iterações 
sucessivas, até que encontremos o par de variáveis básicas que nos dá a solução ótima. 
Em linhas gerais, o algoritmo simplex parte de uma solução viável do sistema de equações que 
constituem as restrições do problema de programação linear, solução essa normalmente extrema 
(vértice). A partir dessa solução inicial, o algoritmo adota um critério de escolhas para encontrar 
novos e melhores vértices da envoltória convexa do problema, e outro critério para determinar se 
o vértice escolhido (solução básica) é ou não um vértice ótimo (GOLDBARG; LUNA, 2005). 
Assim, pelo método simplex, devemos: 
1. Transformar o modelo em sua forma canônica, ou seja, transformar o sistema de 
inequações em sistema de equações. 
2. Determinar uma solução básica inicial, que será iterativamente melhorada. 
javascript:void(0)
javascript:void(0)
3. Realizar o teste da otimalidade, ou seja, verificar se a iteração atual é ótima ou se outras 
variáveis não base (ou seja, que estão zeradas) devem entrar na base, pois têm potencial 
para contribuir para melhorar a solução. 
4. Realizar o teste da mínima razão, que determinará qual variável básica deve sair da base, 
ou seja, verificará quais das variáveis devem passar a ser nulas para que a nova variável 
entre na base. 
5. Calcular a nova solução básica e voltar ao passo 3. 
 
Arenales et al. (2007) descrevem o algoritmo simplex em duas fases. A fase 1 traz o 
procedimento de como determinar uma solução inicial, enquanto o método simplex propriamente 
dito é apresentado na fase 2. 
PASSO 1 - Escreva o problema na forma canônica 
Minimizar f(x)=cTx 
Ax=b, sendo A uma matriz mxn 
x≥0 
 
PASSO 2 - Determine inicialmente uma partição básica factível A=[B.N], ou seja, com dois 
vetores de índices básicos e não básicos: (B1, B2, …, Bm) e (N1, N2, …, Nn-m). 
Faça iteração=1. 
 
Fase 2: {início da iteração simplex} 
PASSO 1: {CÁLCULO DA SOLUÇÃO BÁSICA} 
𝑥�̂�=B-1b (equivalentemente, resolva o sistema Bxb=b) 
𝑥�̂�=0 
 
PASSO 2: {CÁLCULO DOS CUSTOS RELATIVOS} 
{vetor multiplicador simplex} 
𝜆𝑇 = 𝐶𝐵
𝑇𝐵−1 (equivalentemente, resolva o sistema 𝐵𝑇𝜆 = 𝑐𝑏) 
{custos relativos} 
𝐶𝑁�̂� = 𝐶𝑁𝐽 − 𝜆
𝑇𝑎𝑁𝐽, 𝑗 = 1,2, … , 𝑛 − 𝑚 
 
{determinação da variável a entrar na base} 
𝐶𝑁�̂� = 𝑚í𝑛𝑖𝑚𝑜 {𝐶𝑁𝑗, 𝑗 = 1,2, … , 𝑛 − 𝑚} (𝑎 𝑣𝑎𝑟𝑖á𝑣𝑒𝑙 𝑥𝑁𝑘 𝑒𝑛𝑡𝑟𝑎 𝑛𝑎 𝑏𝑎𝑠𝑒̂ 
 
PASSO 3: {TESTE DA OTIMALIDADE} 
Se 𝐶𝑁𝑗̂ ≥ 0 , então pare {solução na iteração atual é ótima} 
 
PASSO 4: {CÁLCULO DA DIREÇÃO SIMPLEX} 
y=B-1aNk(equivalentemente, resolva o sistema By=aNk) 
 
PASSO 5: {DETERMINAÇÃO DO PASSO E VARIÁVEL A SAIR DA BASE} 
Se y≤0, então: pare {problema não tem solução ótima finita: f(x)→-∞} 
Caso contrário, determine a variável a sair da base pela razão mínima: 
�̂� =
𝒙𝑩�̂�
𝒚𝒍
= 𝒎í𝒏𝒊𝒎𝒐{
𝒙𝑩�̂�
𝒚𝒊
, 𝒕𝒂𝒍 𝒒𝒖𝒆 𝒚𝒊 > 𝟎, 𝒚𝒊 > 𝟎, 𝒊 = 𝟏, 𝟐, … 𝒎}(𝒂 𝒗𝒂𝒓𝒊á𝒗𝒆𝒍 𝒙𝑩𝒍 𝒔𝒂𝒊 𝒅𝒂 𝒃𝒂𝒔𝒆) 
 
PASSO 6: {ATUALIZAÇÃO: NOVA VARIÁVEL BÁSICA, TROQUE A L-ÉSIMA COLUNA DE B 
PELA K-ÉSIMA COLUNA DE N} 
Matriz básica nova: 
B=[aB1 … aBl-k aNk aBl+1 … aBm] 
Matriz não básica nova: 
N=[aN1 …aNk-1 aBl aNk+1 … aNn-m] 
Iteração = iteração +1 
Retorne ao passo 1 
{fim da iteração simplex} 
 
Na forma de algoritmo, como apresentado por Arenales et al. (2007), o método simplex pode 
parecer difícil, mas vamos entender o que Dantzig propôs por meio de um exemplo. 
Caso da empresa Glass Co. 
A empresa Glass Co., que possui três fábricas, produz janelas e portas de vidro. As esquadrias e 
ferragens em aço são feitas na fábrica 1, as esquadrias de madeira são produzidas na fábrica 2 e 
a fábrica 3 produz o vidro e monta os produtos. 
A direção da empresa decidiu modernizar sua linha de produtos e propôs o lançamento de dois 
novos produtos: 
• Produto 1: porta de vidro de 2,5m com esquadria de alumínio. 
• Produto 2: janela adornada com esquadria de madeira 1,2m x 1,8m. 
O produto 1 requer capacidade produtiva das fábricas 1 e 3. O produto 2 precisa das fábricas 2 e 
3. A divisão de marketing concluiu que a empresa poderia vender tanto quanto fosse possível 
produzir desses produtos por essas fábricas. Porém, ambos os produtos competem por 
capacidade produtiva da fábrica 3, não estando claro qual mix dos dois seria mais lucrativo. 
Determine quais devem ser as taxas de produção para maximizar o lucro total, sujeitas às 
restrições impostas pela capacidade produtiva: 
Fábrica Tempo de produção por lote (em 
horas) 
Tempo de produção disponível 
por semana (horas) 
Produtos 
1 2 
1 1 0 4 
2 0 2 12 
3 3 2 18 
Lucro por 
lote 
R$3.000,00 R$5.000,00 
 
Inicialmente, devemos escrever o modelo matemático para o problema da Glass Co., seguindo os 
passos do procedimento para construção do modelo de programação linear: 
• Identificação das variáveis de decisão 
• Identificação da função objetivo 
• Identificação do conjunto de restrições 
A seguir, vamos seguir cada um dos passos indicados. 
IDENTIFICAÇÃO DAS VARIÁVEIS DE DECISÃO - No caso da Glass Co., a empresa deve 
decidir os produtos a serem fabricados. Logo, a definição da variável de decisão seria: 
xi — quantidade de produto i confeccionada 
Assim, temos: 
x1 - Quantidade de lotes produtos 1 fabricados. 
x2 - Quantidade de lotes produtos 2 fabricados. 
IDENTIFICAÇÃO DA FUNÇÃO OBJETIVO - No caso da Glass Co., a empresa deseja 
maximizar seu lucro total: 
Determine quais devem ser as taxas de produção para maximizar o lucro total (…). 
Para cada lote de portas de vidro de 2,5m com esquadria de alumínio (produto 1) vendido, a 
empresa lucra R$3.000,000, enquanto o lucro de venda de cada lote de janela adornada com 
esquadria de madeira 1,2m x 1,8m (produto 2) equivale a R$5.000,00. Logo, o lucro total é igual 
a 3000x1+5000x2., de modo que a função objetivo para o problema é: 
Max Z=3x1+5x2 
 
IDENTIFICAÇÃO DO CONJUNTO DE RESTRIÇÕES - No caso do problema da Glass Co., 
foram consideradas ilimitadas a demanda por seus produtos e a oferta de matéria-prima, de modo 
que não entram como restrições no modelo matemático. Porém, há restrições relacionadas ao 
tempo de produção disponível por semana em cada fábrica. 
Produção empresa Glass 
Co.Extraída de Hillier e 
Lieberman, 2013, pág. 
21. 
Há, ainda, a restrição de 
não negatividade das 
variáveis de decisão, 
uma vez que não se 
pode produzir um número negativo de portas ou janelas. Logo, a restrição 4 é dada por: x1, x2≥0 
Logo, temos as seguintes restrições: 
x1≤4 
2x2≤12 → x2≤6 
3x1+2x2≤18 
Enfim, temos o seguinte modelo matemático para o problema da Glass Co.: 
Max Z=3x1+5x2 
s.a. 
x1≤4 
2x2≤12 
3x1+2x2≤18 
x1, x2≥0 
x1, x2≥0 
 
Mas qual é o mix de produção que nos dá a solução ótima? 
O primeiro passo do algoritmo simplex é transformar o modelo em seu formato canônico. 
Passando para o formato canônico, temos: 
Max Z=3x1+5x2 
s.a. 
x1+f1 = 4 → restrição 1 
2x2+f2 =12→ restrição 2 
3x1+2x2+f3=18 → restrição 3 
x1,x2, f1, f2, f3>=0 
Em seguida, devemos escolher uma solução básica inicial. Observe que temos três equações no 
sistema de equações e cinco variáveis. Dessa forma, devemos ter três variáveis-base e duas não 
base. O modo mais fácil de resolver esta etapa é escolher as variáveis x1 e x2 como variáveis não 
básicas, uma vez que essa opção elimina o trabalho necessário para encontrar a solução quando 
as variáveis básicas são as variáveis de folga (ou excesso) (f1, f2 e f3 ). Nesse caso, 
se x1=0 e x2=0, z seria igual a zero também, enquanto f1=4, f2=12 e f3=18. 
Função objetivo: Z=3x1+5x2, logo, para a solução inicial de x1=0 e x2=0, temos Z=0. 
• Restrição 1: x1 +f1 = 4 → 0 +f1 = 4 → f1 = 4 
• Restrição 2: 2x2 +f2 =12 → 0 +f2 = 12 → f2 = 12 
• Restrição 3: 3x1+2x2 +f3 =18 → 0+0+f3 = 18 → f2 = 18 
Portanto, temos a solução inicial de (0,0,4,12,18). 
Passamos, então, para o teste da otimalidade. Como Z=3x1+5x2, verificamos que o coeficiente 
de cada variável não básica (x1 e x2) fornece a taxa de crescimento em Z. 
Como as taxas de crescimento são positivas (3 e 5) e este é um problema de maximização, 
concluímos que a solução inicial (0,0,4,12,18) não é a solução ótima! 
Já sabemos que a solução básica inicial não é ótima, então uma variável não básica (x1 ou x2) 
deve entrar na base. Porém, devemos aumentar x1 ou x2? 
Para determinar isso, devemos verificar a direção de deslocamento. Observe que, para cada 
unidade que aumentarmos x1, temos uma taxa de crescimento em Z de 3. Ao mesmo tempo, para 
cada unidade que aumentarmos x1, temos uma taxa de crescimento em Z de 5. Sendo 5>3, 
devemos optar por x2 para crescer. Logo, x2 é a variável básica que entra. 
Entretanto, para que x2 passe a ser uma variável básica, uma das variáveis-base da solução 
inicial (f1, f2 e f3) precisa sair da base. Porém, como determinar qual delas? 
Fábrica Tempo de produção por 
lote (em horas) 
Tempo de produção disponível por 
semana (horas) 
Produtos 
1 2 
1 1 0 4 
2 0 2 12 
3 3 2 18 
Para essa etapa, devemos ter em mente que, ao aumentar x2, eleva-se Z. Contudo, não podemos 
sair do espaço de soluções, ou seja, da região de soluções viáveis. Assim, devemos aumentar x2, 
mantendo a variável não básica x1=0 e respeitando que todas as variáveis sejam não negativas. 
x1=0 (variável não básica) 
x1+f1= 4→ f1=4 
2x2+f2=12 → f2=12-2x2 
3x1+2x2+f3=18 → f3=18-2x2 
Como x1, x2, , f1,f2, f3≥0: 
Teste da mínima razão 
f1=4 → não implica em limite superior em x2 
f2=12-2x2 ≥=0→ x2≤12/2=6 ← MÍNIMO 
f3=18-2x2 ≥0→x2≤18/2=9 
 
Verificamos, então, que x2 passa a receber o valor de 6, enquanto f2 se torna uma variável não 
base e nula. Assim, deduzimos intuitivamente o teste da mínima razão. 
O objetivo do teste da mínima razão é determinar qual variável básica cai a zero primeiro à 
medida que a variável básica que entra é aumentada. 
Podemos descartar imediatamente a variável básica em qualquer equação cujo coeficiente da 
variável básica que entra é zero ou negativo, já que uma variável básica não decresceria à 
medida que a variável básica que entra aumentasse. 
No caso do problema da Glass Co., ao aumentarmos o valor de x2 de 0 a 6, temos mudanças na 
solução. 
Solução inicial 
x1=0 
x2=0 
F1=4 
F2=12 
F3=18 
 
Nova solução 
x1=0 
x2=6 
F1=? 
F2=0 
F3=? 
 
Temos que x2 é igual a 6 e x1 continua sendo zero. Portanto, temos que Z=3x1+5x2=3*0+5*6=30. 
Devemos determinar, então, os valores de f1, f2 e f3. 
x1+f1 = 4→ 0+ f1 = 4→ f1 = 4 
2x2+f2 =12 → 2*6+f2 =12f2=0 
3x1+2x2 +f3 =18→ 3*0+2*6+f3=18→ f3=6 
A nova solução é (0,6,4,0,6) e Z=30! 
 
Então, devemos verificar se essa solução é ótima ou não, por meio do teste de otimalidade. 
Sendo Z=3x1+5x2, verificamos que x1 tem o coeficiente positivo (=3), de modo que 
aumentar x1 implica em aumentar Z. Portanto, a solução atual não é ótima e devemos realizar 
nova iteração, analisando a entrada de x1 como variável básica. Dessa forma, devemos realizar o 
teste da mínima razão para determinar qual variável básica deve se tornar nula, saindo então da 
base, para permitir a “entrada” de x1. 
Z -3x1-2,5x2=30 
x1+f1= 4 
2x2+f2=12 
3x1+2x2+f3=18 
Teste da mínima razão 
f1=4-x1 ≥0→ x1≤ 4/1→ x1≤ 4 
f2=12-2x2≥0 → nenhum limite superior em x1 
f3=6-3x1≥0 → x→≤6/3→x1≤2 → mínima razão 
Logo, f3 sai da base para x1 entrar com o valor igual a 2. Porém, ao aumentarmos o valor de x1 de 
0 a 2, temos mudanças na solução. 
javascript:void(0)
javascript:void(0)
Solução inicial 
x1=0 
x2=6 
F1=4 
F2=0 
F3=18 
 
Nova solução 
x1=2 
x2=6 
F1=? 
F2=0 
F3=? 
 
Temos que x2 é igual a 6 e x1 equivale a 2. Logo, temos que Z=3x1+5x2=3*2+5*6=36. Devemos 
determinar, então, os valores de f1, f2 e f3. 
x1 +f1 = 4→ 2+ f1 = 4→ f1 = 2 
2x2+f2 =12 → 2*6+f2 =12→f2 =0 
3x1+2x2 +f3 =18→ 3*2+2*6+f3 =18→ f3 =0 
Portanto, concluímos que x1 substitui f3 como variável básica, sendo a nova solução igual a 
(2,6,2,0,0) e Z=36. As variáveis não básicas agora são f2 e f3. Verificamos que aumentar as atuais 
variáveis não básicas não implica em aumento em Z, o que garante que esta é a solução ótima. 
 
MÉTODO SIMPLEX EM SUA FORMA TABULAR - Aprendemos até agora a forma algébrica do 
simplex, que é a melhor para aprender a lógica por trás do algoritmo. Porém, não é a forma mais 
conveniente para realizar cálculos necessários. As operações realizadas no método simplex 
podem ser organizadas em tabelas, chamadas tabelas simplex. Essa organização é a mais 
indicada para quando estivermos resolvendo um problema de programação linear manualmente. 
Considere um problema de otimização linear: 
Minimizar f(x)=cx 
Ax=b 
x≥0. 
Nesse problema, temos as variáveis x1, x2 … xn. Os coeficientes da função objetivo 
são c1, c2 … cn. Os coeficientes das restrições são a1, a2 … an e b. 
Arenales et al. (2007) descrevem as operações realizadas em cada iteração do algoritmo simplex 
em tabelas, em duas fases. 
Fase 1: 
• Determine a tabela simplex inicial. 
• A matriz dos coeficientes contém uma matriz identidade mxm (m é o número de equações) 
e o vetor independente b≥0. 
• A função objetivo é escrita em termos das variáveis não básicas, isto é, os coeficientes das 
variáveis básicas são nulos. 
• Faça a iteração =0. 
Fase 2: 
• Determine o menor dos custos relativos: ck= mínimo {cj para toda variável não básica}. 
• Se ck≥0, então pare (a solução básica na iteração é ótima). Se não, a variável xk entra na 
base. 
• Se aik≤0, i=1, …, m, então f→-∞ e o problema não tem solução ótima finita. Nesse caso, 
pare. Se não, determine 
𝑏𝑙
𝑎𝑙𝑘
 mínimo {
𝑏𝑖
𝑎𝑖𝑘
 tal que aik>0,i=1,…,m}. (a variável básica da linha l 
sai da base). 
 
• Atualize a tabela simplex (pivoteamento do elemento (l,k)). A variável xk passa a ser a 
variável básica na linha l. Faça a iteração = iteração +1 e retorne ao passo 1. 
 
Na forma de algoritmo, como apresentado por Arenales et al. (2007), o método simplex tabular 
pode parecer difícil, mas vamos entendê-lo resolvendo o exemplo da Glass Co., cujo modelo em 
formato canônico é apresentado a seguir. 
Max Z=3x1+5x2 
javascript:void(0)
javascript:void(0)
s.a. 
x1 +f1= 4 → restrição 1 
2x2+f2 =12 → restrição 2 
3x1+2x2+f3=18 → restrição 3 
x1,x2, f1, f2, f3>=0 
Inicialmente, vamos definir o formato da tabela de maneiraa facilitar sua compreensão. A tabela 
simplex tem, do lado esquerdo, as variáveis básicas e, do lado direito, as constantes das 
equações. No meio da tabela, ficam todos os coeficientes das restrições e da função objetivo. Por 
padronização, colocaremos na primeira linha (zero) a equação que representa a função objetivo, 
conforme apresentado na figura a seguir. 
 
Uma escolha viável para a primeira base para o problema 
da Glass Co. seria (f1, f2, f3), pois facilitaria o 
preenchimento da tabela simplex inicial, dado 
que B=I e B-1=I. 
Max Z=3x1+5x2 
x1 +f1 = 4 
2x2 +f2 =12 
3x1 +2x2 +f3 =18 
 
 
a3 a4 a5 a1 a2 
 
𝑨 = [𝑩𝑰𝑴] = [
𝟏 𝟎 𝟎
𝟎 𝟏 𝟎
𝟎 𝟎 𝟏
 𝑰 𝟏 𝟎
𝑰 𝟎 𝟐
𝑰 𝟑 𝟐
] 
 
f1 f2 f3 x1 x2 
𝑩 = [
𝟏 𝟎 𝟎
𝟎 𝟏 𝟎
𝟎 𝟎 𝟏
] 𝑩−𝟏 [
𝟏 𝟎 𝟎
𝟎 𝟏 𝟎
𝟎 𝟎 𝟏
] 
 
Quando as variáveis de folga constituem a primeira base, na primeira linha da tabela simplex, 
apenas escrevemos o negativo dos coeficientes de custo das variáveis não básicas. 
Como zj-cj representa a potencial melhoria no valor de z da função objetivo representada pela j-
ésima variável, as variáveis atualmente básicas devem receber o valor zero, pois já se encontram 
na base. Assim, a primeira linha da tabela simplex para o exemplo da Glass Co. é: 
O valor atual de z, z0, para esta primeira tabela, com as 
variáveis básicas sendo f1, f2, f3, seria igual a zero, 
pois Z=3x1+5x2 e x1=x2=0. Assim, atualizando a tabela, 
tem-se: 
Em seguida, devem-se escrever as linhas que 
compõem as restrições da tabela simplex, conforme 
indicado na figura a seguir. 
 
Para cada variável do problema, deve-se determinar yj. 
Como as variáveis de folga foram escolhidas como a 
primeira base, temos B=I e B-1=I. Logo, temos yj=aj, de 
modo que as linhas que compõem as restrições no 
tableau são copiadas diretamente do problema. Ainda, 
as variáveis atualmente na base (f1, f2, f3) são 
identificadas à esquerda da tabela simplex, como pode 
ser identificado na figura a seguir. 
Max Z=3x1+5x2 
s.a. 
 
x1 x2 f1 f2 f3 RHS 
Z -3 -5 0 0 0 Z0 
 
x1 x2 f1 f2 f3 RHS 
Z -3 -5 0 0 0 0 
 
Observa-se, por meio da figura 
anterior, que os únicos elementos 
faltantes estão do lado direito da 
tabela simplex e correspondem à 
fórmula: 
b¯=B-1b=Ib=b 
 
 
 
Desse modo, para a tabela inicial, 
basta copiar os valores de b no lado 
direito da tabela, conforme 
apresentado na figura a seguir. 
Max Z=3x1+5x2 
s.a. 
 
Uma vez preenchida a tabela inicial, 
devemos identificar as variáveis 
candidatas a entrar na base na 
primeira linha da tabela. Para isso, 
devemos analisar os valores dos 
coeficientes de cada variável 
apresentados na segunda linha da 
tabela simplex, levando em 
consideração o tipo de problema 
apresentado, maximização ou 
minimização: 
Problema de maximização - Em um 
problema de maximização, a variável 
cujo coeficiente é negativo e apresenta o maior valor absoluto é aquela que entrará na base. 
≠ 
Problema de minimização - Em um problema de minimização, a variável a entrar na base será a 
que tiver o maior valor positivo. 
 
Por meio da figura da Tabela simplex inicial para o problema da Glass Co., observamos que a 
variável a entrar na base no problema da Glass Co. é x2, uma vez que tanto xx quanto x2 têm 
valores negativos na segunda linha da tabela, sendo 5>3. 
Depois de identificarmos a variável que entra na base, é preciso determinar a variável básica que 
deve dar lugar para que x2 entre na base. Para isso, aplicamos o teste da mínima razão, 
conforme indicado na figura a seguir. Observa-se que o menor valor é 6, de modo que a variável 
a sair da base é f2. 
 
Para completar a iteração do 
simplex, devemos, então, proceder 
com as operações elementares que 
utilizam a linha que contém o 
elemento de pivot, de modo que a 
coluna x2 (da variável entrante) 
assuma a configuração da 
coluna f2 (variável que sai da base). 
Observe, na figura a seguir, que a linha pivot é a quarta linha da tabela (atual linha do f2 no lado 
esquerdo da tabela) e que os valores para as colunas x2 e f2 não coincidem, de modo que é 
necessário executar a operação elementar. Portanto, sendo a linha (3)´ a quarta linha da tabela 
(3) após a operação elementar, tem-se que a operação que transformará 2 em 1 é: (3)´=(3)/2. 
 
Observe, na segunda tabela da figura 
anterior, que, para a 
coluna x2 assumir a configuração 
anterior da coluna f2, é preciso ainda 
realizar operações elementares nas 
linhas (1) e (4) da tabela simplex. 
Assim, para a linha (4)´, é preciso 
que (4)´=(4)-2*(3)´, enquanto para a 
linha (1)´ devemos 
fazer (1)´=(1)+5*(3)´, conforme 
indicado na próxima figura. 
Dica: Para a linha (2), não é preciso 
realizar nenhuma operação, uma vez 
que os valores para as 
colunas x2 e f2 já são coincidentes. 
 
 
 
 
Verifique, na figura anterior, que a 
coluna x1 ainda apresenta um valor 
negativo na segunda linha da tabela 
simplex, de modo que esta variável 
deve entrar na base, sendo 
necessária, então, mais uma 
iteração. Logo, faz-se o teste da 
mínima razão, conforme indicado na figura a seguir, sendo verificado que a variável a sair da 
base para que x1 entre é f3. Portanto, são necessárias as operações elementares para que a 
coluna x1 receba os valores da coluna f3. 
 
Observa-se, na figura do Teste 
da mínima razão para o 
problema da Glass Co. — 2a 
iteração, que a quinta linha (4) da 
tabela simplex é a linha pivot. 
Assim, para que a 
coluna x1 receba os valores da 
coluna f3, a primeira operação 
elementar a ser feita é: (4)´=(4)/3, tal como apresentado na figura a seguir. 
 
Para a coluna x1 assumir a 
configuração anterior da coluna f3, 
ainda é preciso realizar operações 
elementares nas linhas (1) e (2) da 
tabela simplex. Assim, para a 
linha (2)´, é preciso que (2)´=(2)-
(4)´, enquanto para a 
linha (1)´ devemos 
fazer (1)´=(1)+3* (4)´, conforme 
indicado na próxima figura. 
 
Dica: Para a linha (3) não é preciso 
realizar nenhuma operação, uma 
vez que os valores para as 
colunas x1 e f3 já são coincidentes 
nesta linha. 
 
 
Atenção! Verifique, na figura 
anterior, que não há mais 
valores negativos na segunda 
linha da tabela simplex (1), de 
modo que não há mais variáveis 
para entrar na base. Logo, 
concluímos que a solução ótima 
para o problema da Glass Co. 
é x1=2, x2=6 e z=36, tal como apresentado na seção método simplex, quando resolvemos este 
mesmo problema por meio do método simplex em sua forma analítica. 
 
VERIFICANDO O APRENDIZADO 
1. A Fitwear S/A é uma confecção de roupas esportivas, tendo uma linha fitness feminina, na qual 
produz roupas de ginástica exclusivas para mulheres, como tops e calças de lycra. 
Cada top de ginástica é vendido por R$80,00 e utiliza R$20,00 de matéria-prima, como tecido e 
alinhamentos, e R$32,00 de mão de obra. Trinta minutos de corte e 15 minutos de costura são 
demandados para a confecção de um top de ginástica. 
Cada calça de ginástica é vendida por R$120,00 e utiliza R$35,00 de matéria-prima, como tecido 
e alinhamentos, e R$40,00 de mão de obra. Quinze minutos de corte e 30 minutos de costura são 
demandados para a confecção de uma calça de ginástica. 
A Fitwear só pode contar com 100 horas de corte por semana e 160 horas de costura. A 
confecção não tem problemas no fornecimento de matérias-primas, de modo que seu suprimento 
pode ser considerado ilimitado, bem como a demanda semanal de seus produtos. 
Considerando que seria possível produzir números não inteiros, qual deve ser a produção 
semanal a ser adotada pela Fitwear de modo a maximizar seus lucros? Considere as seguintes 
variáveis de decisão: 
 
 • x1 = número de tops de ginástica confeccionados a cada semana 
 
 • x2 = número de calças de ginástica confeccionadas a cada semana 
a) x1=320, x2=160 
b) x1=200, x2=160 
c) x1=160, x2=320 
d) x1=280, x2=220 
e) x1=280, x2=120 
 A alternativa "A" está 
correta. O modelo 
matemático para este 
problema é: 
Máx Z= 28 x1+ 40x2 
Sujeito a: 
0,5x1 +0,25x2≤100 → restrição de horas de corte 
0,25x1 +0, 5x2≤160→ restriçãode horas de costura 
x1, x2≥0 → restrição de não negatividade das variáveis de decisão 
Em sua forma canônica, temos: 
Máx Z= 28 x1+ 40x2 
Sujeito a: 
0,5x1 +0,25x2+f1=100 
0,25x1 +0, 5x2+f2=160 
x1, x2≥0 
 
2. Utilize o método simplex para a solução desta programação linear: 
MAX: 350X1 + 300X2 
a) Sujeito a: 
X1 + X2 <= 200 
9X1 + 6X2 <= 1566 
12X1 + 16X2 <= 2880 
X1 >= 0 
X2 >= 0< O valor de z para a solução ótima do problema apresentado é igual: 
a) Zero 
b) 54.000 
c) 60.900 
d) 64.000 
e) 66.100 
 A alternativa "E" está correta. 
A resposta correta é a letra E, 
conforme pode ser verificado 
na solução obtida pelo 
método gráfico, apresentada 
na figura a seguir. 
 
 
 
 
MÓDULO 2 - Aplicar o solver para solução de problemas de programação linear 
UTILIZAÇÃO DO SOLVER PARA SOLUÇÃO DE PROBLEMAS DE PROGRAMAÇÃO 
LINEAR - No módulo 1, aprendemos a resolver problemas de programação linear por meio do 
método simplex, tanto o analítico quanto o tabular. Aplicamos essas técnicas em alguns 
exemplos, de modo a entender a lógica do algoritmo. Porém, pudemos verificar que são muitos 
os cálculos que precisam ser feitos para resolvermos problemas de programação linear 
manualmente, e apenas um erro em uma conta nos levaria a um resultado errado. Contudo, 
felizmente, existem diversos softwares de computador que podem ser utilizados para nos auxiliar 
a encontrar a solução ótima para problemas de programação matemática, por exemplo: 
• LINDO 
• CPLEx 
• Aimms 
• GAMS 
• MathPro 
Usando o software de computador adequado, podemos resolver facilmente quaisquer problemas 
de programação linear. 
As técnicas para a solução de problemas de programação linear são, inclusive, desenvolvidas por 
meio de pacotes de planilhas eletrônicas. Assim sendo, aprenderemos nesta seção a utilizar o 
solver do pacote de planilhas eletrônicas Excel para solução de problemas de programação 
linear. 
Dica: Os mesmos conceitos e técnicas que apresentaremos a seguir também podem ser 
aplicados em outros pacotes de planilhas, dadas as necessidades de alterações em detalhes de 
implementação. 
PASSOS PARA IMPLEMENTAR UM PROBLEMA DE PROGRAMAÇÃO LINEAR EM 
PLANILHA - Ragsdale (2009) apresenta cinco passos que devem ser feitos para implementar 
qualquer problema de programação linear em uma planilha: 
1. Organize os dados para o modelo (os coeficientes das restrições, os coeficientes da 
função objetivo etc.) na planilha. 
2. Reserve as células separadas na planilha para representar cada variável de decisão do 
modelo algébrico. Isso é útil na determinação de fórmulas para a função e restrições do 
objetivo. 
3. Crie uma fórmula para cada célula da planilha que corresponda à função objetivo no 
modelo algébrico. 
4. Para cada restrição, crie uma fórmula em uma célula separada na planilha. Muitas das 
fórmulas de restrição têm estrutura semelhante, de modo que, quando possível, crie 
fórmulas de restrição que possam ser copiadas para implementar outras fórmulas de 
restrição. 
5. Use sombras e cores de fundo e/ou bordas para identificar as células que representam as 
variáveis de decisão, restrições e funções objetivos do modelo. 
 
INSTALANDO O SOLVER - 
Demonstraremos, neste módulo, 
como usar o solver do Excel 
resolvendo o problema enfrentado 
pela Fitwear. No entanto, antes de 
iniciarmos a resolução do problema, 
é preciso instalar o solver nos 
pacotes de planilhas eletrônicas 
Excel. Para isso, siga o passo a 
passo: 
Clique em arquivos > opções no 
Excel, conforme indicado na figura. 
 
 
O segundo passo é clicar 
em suplementos na tela que foi aberta. 
 
 
 
 
 
 
 
 
 
 
 
 
 
Na tela seguinte, clique 
no botão ir, 
em gerenciar 
suplementos do Excel. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Na próxima tela, clique na opção solver. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Para finalizar, basta clicar 
na aba dados para 
visualizar a opção solver. 
 
UTILIZANDO O SOLVER 
- Agora que já temos o 
solver instalado no nosso Excel, vamos iniciar a resolução do problema da Fitwear visto no 
módulo 1. 
 
 
Dica: Caso seja necessário, retorne ao módulo anterior e relembre como desenvolvemos o 
modelo matemático do problema. 
Observe a seguir o modelo matemático, considerando as variáveis de decisão: 
• x1 - Número de tops de ginástica confeccionados a cada semana. 
https://stecine.azureedge.net/repositorio/01767/index.html#casofw
• x2 - Número de calças de ginástica confeccionadas a cada semana. 
Temos a formulação matemática em sua forma-padrão. 
Máx Z= 28 x1+ 40x2 
Sujeito a: 
0,5x1 +0,25x2≤100 → restrição de horas de corte 
0,25x→ +0, 5x→≤160→ restrição de horas de costura 
x1, x2≥0 → restrição de não negatividade das variáveis de decisão 
Uma das primeiras etapas para a solução do problema deve ser a organização dos dados. Vamos 
começar representando as variáveis de decisão, como indicado na figura a seguir. Observe que 
descrevemos as variáveis de decisão na planilha, bem como os ganhos semanais com a venda 
de cada produto (x1 e x2), deixando destacado em amarelo as células variáveis (ou ajustáveis), 
que reservamos na planilha para representar as variáveis de decisão do modelo. 
 
O próximo passo é criar uma fórmula que 
represente a função objetivo de acordo com as 
variáveis de decisão indicadas na figura. Para 
isso, devemos utilizar a função “somarproduto” 
do Excel, que faz o produto escalar entre dois 
vetores. 
 
 
A figura a seguir ilustra como inserimos a função 
objetivo na planilha eletrônica no caso do 
problema da Fitwear. Observe que fizemos a 
função “somarproduto” entre o vetor (28,40), que 
corresponde aos coeficientes da função objetivo, e 
as células que destinamos para receber o valor 
das variáveis de decisão. Com isso, teremos que a célula destacada em amarelo para a função 
objetivo recebeu a fórmula 28*x1+40*x2. 
 
De maneira análoga à que fizemos a 
representação da função objetivo, precisamos 
representar as restrições. Para isso, também 
vamos utilizar a função “somarproduto” do 
Excel. Veja a seguir como inserimos as duas 
restrições para o problema da Fitwear na 
planilha eletrônica. 
RESTRIÇÃO DE HORAS DE CORTE - 
Observe que fizemos a função “somarproduto” entre os vetores que indicam os coeficientes das 
restrições e as células que destinamos para receber o valor das variáveis de decisão. Com isso, 
teremos que a célula destacada em amarelo na figura restrição de horas de corte recebeu a 
fórmula 0,5x1+0,25x2. 
 
RESTRIÇÃO DE HORAS DE COSTURA - 
Observe que a célula destacada em amarelo 
na figura restrição de horas de 
costura recebeu a fórmula 0,25x1+0, 5x2. 
 
 
Finalmente, terminamos a implementação do 
modelo do problema de programação linear 
da Fitwear no Excel. Entretanto, ainda 
precisamos resolvê-lo. 
 
Para isso, é preciso indicar para o solver o 
que cada célula da planilha representa: 
• A função objetivo 
• As variáveis de decisão 
• As restrições 
Assim sendo, devemos definir a 
célula de destino, ou seja, aquela 
que representa a função objetivo 
na caixa de diálogo parâmetros 
do solver, como indicado na 
próxima figura. Observe que a 
célula E9 contém a fórmula que 
representa a função objetivo para 
o nosso problema, como 
havíamos preparado 
anteriormente. Neste momento, 
devemos instruir também o solver 
para tentar maximizar seu valor, 
especificando o botão max. 
 
O próximo passo consiste em 
indicar as células que 
representam as variáveis de 
decisão no modelo. Observe, na 
figura a seguir, que as 
células C8 e D8, em nossa 
planilha, representam as 
variáveis de decisão para o 
modelo. O solver determinará 
os valores ótimos para essas 
células. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A seguir, devemos definir as células 
de restrição na planilha e as 
restrições que se aplicam a essas 
células. 
Atenção! As células de restrição 
são aquelas em que implementamos 
as fórmulas para cada restrição. 
Para definir as células de restrição, 
siga os passos: 
Clique no botão incluir. 
 
 
Preencha a caixa de diálogo incluir restrições.Observe que as células E13 e E14 representam 
as células de restrição cujos valores devem ser 
menores ou iguais aos indicados nas 
células G13 e G14, respectivamente. 
 
 
Já especificamos as restrições, mas ainda 
precisamos determinar que as variáveis 
de decisão devem ser iguais ou maiores 
do que zero. Para isso, basta clicar 
em tornar variáveis irrestritas não 
negativas na caixa de diálogo parâmetros 
do solver, conforme indicado na figura a 
seguir. Enfim, para encontrarmos a 
solução ótima para o problema, basta 
clicar no botão resolver. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A figura a seguir apresenta a tela de saída do 
Excel com a solução ótima para o problema da 
Fitwear. 
 
 
Observe que x1 deve ser 53,33, x2 recebe 293,333 
e o valor ótimo de z é igual a 13.226,67. 
 
UTILIZAÇÃO DO SOLVER PARA A SOLUÇÃO 
DE PROBLEMAS DE PROGRAMAÇÃO 
LINEAR - O vídeo mostra um passo a passo para 
a resolução de um problema de programação 
linear no solver do Excel. 
VERIFICANDO O APRENDIZADO 
1. A fábrica XYZ produz rações para a 
alimentação de gado. As rações são 
elaboradas a partir da mistura de três 
diferentes tipos de grãos: 1, 2 e 3. Três 
nutrientes são considerados no produto 
final: A, B e C. 
Sabe-se que o grão do tipo 1 custa 
R$35,00 por kg. Um quilo de grão 1 possui 
30mg de nutriente A, 10mg de nutriente B e 
43mg de nutriente C. O grão do tipo 2 custa 
R$23,00 por kg. Ainda, um quilo do grão 2 
possui 28mg do nutriente A, 17mg do 
nutriente B e 40mg do nutriente C. O grão do tipo 3 possui apenas 70mg do nutriente tipo A e um 
quilo deste tipo de grão custa R$78,00. 
A ração para gado deve conter, no mínimo, 1250mg de nutriente A, 380mg do nutriente B e 
980mg do nutriente C. 
O analista deseja determinar uma composição da ração que minimize os custos de produção, 
considerando que as necessidades mínimas dos nutrientes sejam atendidas. Desse modo, é 
possível afirmar que a solução ótima para o problema tem um valor de z igual a: 
a) 262,84 
b) 1262,84 
c) 2262,84 
d) 3262,84 
e) 4262,84 
 A alternativa "B" está correta. Como as rações são elaboradas a partir de três diferentes tipos de 
grãos, temos que as variáveis de decisão são: 
• x1 = quilos de grão tipo 1 usados na produção de um quilo de ração 
• x2 = quilos de grão tipo 2 usados na produção de um quilo de ração 
• x3 = quilos de grão tipo 3 usados na produção de um quilo de ração 
Como se deseja minimizar o custo de produção e sabe-se o custo do quilo de cada tipo de grão, 
temos a seguinte função objetivo: 
Min Z= 35x1+23x2+78x3 
Logo, podemos afirmar que a resposta certa para o exercício é a Letra E. Porém, vamos 
continuar a construção do modelo matemático para este problema. 
A ração deve conter, no mínimo, 1250mg de nutriente A, 380mg do nutriente B e 980mg do 
nutriente C. Assim, teremos três restrições com relação à quantidade dos diferentes tipos de 
nutrientes. São elas: 
30x1+28x2+70x3≥1250 → Nutriente A 
10x1+17x2≥380 → Nutriente B 
43x1+40x3≥980 → Nutriente C 
Portanto, temos que o modelo para este 
problema é: 
Min Z= 35x1+23x2+78x3 
Sujeito a: 
30x1+28x2+70x3≥1250 
10x1+17x2≥380 
43x1+40x3≥980 
x1,x2,x3,x4≥0 
A figura apresenta a tela de saída do Excel 
com a solução ótima para o problema. 
Observe que x1 deve ser 22,79, x2 recebe 
20,22 e x3 é nulo, sendo o valor ótimo de z igual a 1262,84. 
 
2. Uma mãe está muito preocupada com a alimentação de seus filhos. Ela deseja que as crianças 
tenham uma alimentação equilibrada e, por isso, consultou uma nutricionista que lhe recomendou 
que eles comam, no mínimo, 10mg de vitamina A, 70mg de vitamina C e 250mg de vitamina D 
por dia. 
Porém, além de se preocupar com a qualidade da alimentação, essa mãe também está 
preocupada com os custos. Ela deseja oferecer aos seus filhos essa dieta equilibrada, porém ao 
menor custo possível. Por isso, ela fez uma pesquisa e descobriu as informações nutricionais 
para diferentes tipos de alimento, conforme apresentado na tabela. 
A mãe também foi ao supermercado e 
verificou que um litro de leite custa 
R$2,00, um quilo de carne custa 
R$20,00, um quilo de peixe custa 
R$25,00 e para preparar 100g de 
salada ela gastaria R$3,00. Desse modo, é possível afirmar que a solução ótima para o problema 
tem um valor de z igual a: 
a) 2,46 
b) 3,46 
c) 4,46 
d) 5,46 
e) 6,46 
A alternativa "E" está correta. A variável de 
decisão deve ser xi, sendo x a quantidade 
de alimento do tipo “i” a ser consumida por 
dia. Logo, temos: 
• x1 = litros de leite a serem 
consumidos por dia pelas crianças 
• x2 = quilos de carne a serem 
consumidos por dia pelas crianças 
• x3 = quilos de peixe a serem 
consumidos por dia pelas crianças 
• x4 = 100g de salada a serem consumidos por dia pelas crianças 
O modelo para este problema é: 
Min Z= 2x1+20x2+25x3+3x4 
Sujeito a: 
2x1+2x2+10x3+20x4≥10 
50x1+20x2+10x3+30x4≥70 
80x1+70x2+10x3+80x4≥250 
x1,x2,x3,x4≥0 
A figura apresenta a tela de saída do Excel com a solução ótima para o problema. Observe 
que x1 deve ser 2,91 litros de leite, x2 e x3 são nulos, enquanto x4 é igual a 208,33g de salada, 
sendo o valor ótimo de z igual a 6,46. 
 
Vitamina Leite (l) Carne (kg) Peixe (kg) Salada (100g) 
A 2 2 10 20 
C 50 20 10 80 
D 80 70 10 80

Mais conteúdos dessa disciplina