Buscar

Trabalho de pesquisa operacional 1 Pronto

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 129 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 129 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 129 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO
CENTRO UNIVERSITÁRIO NORTE DO ESPÍRITO SANTO
Departamento de Matemática Aplicada - DMA
Pesquisa Operacional
Programação Linear
Programação Linear
Em um modelo de programação linear, devemos ter variáveis de decisão não negativas. Os 
critérios usados para selecionar os melhores valores para as variáveis de decisão, podem ser obtidos 
por uma função linear dessas variáveis, normalmente chamada: Função Objetivo.
As regras de operações que governam o processo (ex: recursos escassos), podem ser expressas 
como um conjunto de equações ou inequações lineares.
Formulação de um Modelo de Programação Linear
1. Identificar as incógnitas (variáveis de decisão);
2. Identificar todas as restrições;
3. Identificar a função objetivo;
Exemplo:
Uma companhia produz 3 modelos de acessórios para cozinha, que requerem 2 recurso: trabalho 
e material. Os dados são distribuídos da seguinte forma:
MODELOS
A B C
TRABALHO 7 3 6
MATERIAL 4 4 5
LUCRO 4 2 3
O fornecimento de matéria-prima é limitado a 200 kg/dia e a disponibilidade de trabalho é de 
150hs/dia. Desse modo, os passos a serem seguidos para formular o modelo, são:
1. (Identificando Variáveis de Decisão)
XA - Produção diária do modelo A.
XB - Produção diária do modelo B.
XC - Produção diária do modelo C. 
2. (Identificando as Restrições)
Trabalho:
7XA + 3XB + 6XC ≤ 150.
Material:
4XA + 4XB + 5XC ≤ 200.
3. (Função Objetivo)
Z = 4XA + 2XB + 3XC.
Problema linear Formulado
Maximizar Z = 4XA + 2XB + 3XC.
s.a
7XA + 3XB + 6XC ≤ 150
4XA + 4XB + 5XC ≤ 200
XA ≥ 0, XB ≥ 0, XC ≥ 0. 
Problema de Inspeção
Uma companhia possui inspetores de grau 1 e grau 2. Temos a seguinte tabela:
É requerida a inspeção de 1800 peças/dia (dia = 8 horas). Cada vez que um erro é cometido por um 
inspetor, o custo para a companhia é de 2 $. A companhia possui 8 inspetores de grau 1 e 10 
inspetores de grau 2. Determine a alocação ótima dos inspetores a fim de minimizar o custo da 
inspeção.
Inspetores Verificam cada preço Precisão Salário
Grau 1 25 peças/hora 98% 4 $
Grau 2 15 peças/hora 95% 3 $
Passos para Formulação do Modelo
1. (Identificando as Variáveis de Decisão) 
X1 – número de inspetores grau 1 atribuídos à inspeção.
X2 – número de inspetores grau 2 atribuídos à inspeção.
2. X1 ≤ 8 X2 ≤ 10.
(25∙8)X1 + (15∙8)X2 ≥ 1800 , OU
200X1 + 120X2 ≥ 1800.
Custo/ hora do inspetor de grau 1:
4 + (0,02) ∙ 25 ∙ 2 = 5 $ / hora
Custo / hora do inspetor de grau 2:
3 + (0,05) ∙ 15 ∙ 2 = 4,5 $ / hora.
A função objetivo se configura da seguinte forma:
Z = (5∙8)X1 + (4,5 ∙8)X2 , OU
Z = 40X1 + 36X2.
Problema Formulado
Minimizar Z = 40X1 + 36X2
s.a
5X1 + 3X2 ≥ 45
X1 ≤ 8
X2 ≤ 10
X1 ≥ 0, X2 ≥ 0.
Solução Gráfica
A solução gráfica para esse problema pode ser encontrada graficamente, analisando cada uma de 
suas restrições.
Z = 380 é o valor ótimo, onde (X1, X2) = (8, 5/3) é a solução ótima única.
1. Solução ótima única:
É o caso do exemplo anterior.
2. Soluções ótimas alternadas:
Exemplo:
Maximizar Z = X1 + X2
X1 + 2X2 ≤ 10
X1 + X2 ≥ 1 
X2 ≤ 4
X1 ≥ 0, X2 ≥ 0 
3. Solução Ilimitada:
Seria o caso se, no exemplo anterior, a restrição 
X1 + 2X2 ≤ 10 , 
não fosse dada.
Propriedade 1.
Se existir solução para um problema de programação linear, então pelo menos um dos vértices da 
região factível se qualificará como uma solução ótima.
Programa Linear na Forma Padrão
Minimizar / Maximizar Z = C1X1 + C2X2 + ∙∙∙+ CnXn
s.a
a11X1 + a12 X2+∙∙∙+ a1nXn = b1
∙ . . .
∙ . . .
∙ . . .
am1X1 + am2X2 +∙∙∙+ amnXn = bm
Características da Forma Padrão
1. Função objetivo é do tipo maximização ou minimização.
2. Todas as restrições são equações.
3. Todas as variáveis são não-negativas.
4. O lado direito das restrições é não negativo.
Em Forma Matricial, temos
Maximizar (Minimizar) Z = CX
s.a
AX = b
X ≥ 0
b ≥ 0.
Redução de um problema Linear à Forma Padrão
Desigualdades:
Introduzimos uma nova variável para representar a folga entre o lado direito e esquerdo da 
desigualdade.
A nova variável é chamada de variável de folga ou de excesso.
Exemplo: (exemplo dos inspetores)
X1 ≤ 8 
X1 + X3 = 8
Analogamente,
X2 ≤ 10
X2 + X4 = 10.
Exemplo: Variável de excesso (X5) 
200X1 + 120X2 ≥ 1800
200X1 + 120X2 – X5 = 1800
X5 ≥ 0.
Variável Irrestrita em sinal
X1 + S1 = 100
S1 = X5 – X6
X5 ≥ 0, X5 ≥ 0 , onde
X5 = Quantidade de (R$) investido.
X6 = Quantia disponível para investir.
Exemplo:
Passar o programa linear abaixo para a forma padrão.
Maximizar Z = X1 – 2X2 + 3X3
s.a
X1 + X2 + X3 ≤ 7
X1 – X2 + X3 ≥ 2
3X1 – X2 – 2X3 = -5
X1 ≥ 0, X2 ≥ 0,
X3 é irrestrita em sinal.
Procedimento:
1. Trocar X3 por X4 – X5, X4 ≥ 0; X5 ≥ 0.
2. Multiplicar ambos os membros da última restrição por -1;
3. Introduzir variável de folga na 1ª restrição: X6;
4. Introduzir variável de excesso na 2ª restrição: X7
Desse modo, temos
Maximizar Z = X1 – 2X2 + 3X4 – 3X5
s.a
X1 + X2 + X4 – X5 + X6 = 7
X1 – X2 + X4 – X5 - X7 = 2
-3X1 + X2 +2X4 – 2X5 = 5
Xi ≥ 0, com i= 1, 2, ..., 7.
Sistemas de Equações
Dois sistemas de equações são ditos equivalentes se ambos os sistemas possuem o mesmo 
conjunto solução.
Há dois tipos de operações elementares que podem ser usadas para obter sistemas equivalentes.
1. Multiplicar uma equação do sistema por um numero não-nulo.
2. Adicionar a qualquer equação um múltiplo constante (positivo, negativo ou nulo) de qualquer 
outra equação do sistema.
Exemplo:
(S1) X1 – 2X2 + X3 – 4X4 + 2X5 = 2 (1)
X1 – X2 – X3 – 3X4 – X5 = 4 (2)
Vamos multiplicar a eq.(1) por (-1) e adicionar à eq.(2).
(S2) X1 – 2X2 + X3 – 4X4 + 2X5 = 2 (3)
0X1 + X2 – 2X3 + X4 – 3X5 = 2 (4)
Vamos multiplicar a eq.(4) por 2 e adicionar à eq.(3).
(S3) X1 – 0X2 - 3X3 – 2X4 + 0X5 = 6 (5)
0X1 + X2 – 2X3 + X4 – 3X5 = 2 (6)
É fácil escrever todas as possíveis soluções para (S3).
Exemplo:
X3 = X4 = X5 = 0
X1 = 1
X2 = 2
Outras soluções para S3 podem ser obtidas escolhendo valores para X3, X4 e X5, e resolvendo para 
X1 e X2 .
Sistemas como S3, são chamados de sistemas canônicos. Aqui, as variáveis X1 e X2 são ditas 
variáveis básicas do sistema canônico S3.
Variável Básica
Uma variável Xi é dita básica em uma equação, se ela aparece com coeficiente unitário naquela 
equação e coeficiente nulo em todas as outras equações.
Aplicando operações elementares, uma dada variável pode ser tornada básica, o que é chamada 
de “operações de pivoteamento”.
Solução Básica
A solução básica é a solução do sistema canônico fazendo as variáveis não-básicas iguais a zero.
Exemplo: (sistema S3) 
X1 = 6; X2 = 2; X3 = X4 = X5 = 0.
Solução Básica Factível
É uma solução básica na qual os valores de todas as variáveis são não-negativos.
O número de soluções básicas possíveis no exemplo é:
5
2
= 10.
Em uma sistema com m equações e n incógnitas, o número máximo de soluções básicas é dado 
por:
𝑛
𝑚 .
O número de soluções factíveis é, também, limitado por esse valor.
Pode ser mostrado que todo vértice da região factível corresponde a uma solução básica factível 
do sistema de equações. Assim, uma solução ótima para um programa linear pode ser obtida 
meramente examinando-se suas soluções básicas factíveis. Esse processo é finito, já que o número 
de soluções básicas factíveis não excede
𝑛
𝑚 .
Princípio do Método Simplex
Exemplo 1:
Maximizar Z = 5X1 + 2X2 + 3X3 – X4 + X5
s.a
X1 + 2X2 + 2X3 + X4 = 8
3X1 + 4X2 + X3 + X5 = 7
Xi ≥ 0, para i =1, 2, ..., 5. 
Temos um sistema canônico com X4 e X5como variáveis básicas.
Solução Básica Correspondente:
X1 = X2 = X3 = 0 
X4 = 8
X5 = 7 
Valor da função objetivo:
Z = 5(0) + 2(0) + 3(0) – 1(8) + 1(7) = -1
Solução básica factível adjacente:
Uma solução básica factível adjacente difere da atual solução básica factível em exatamente uma 
variável.
O Método Simplex
Para obter uma solução básica factível adjacente, o método simplex faz uma variável não-básica 
se tornar básica e em seu lugar, uma variável básica é feita não-básica.
Vamos aumentar o valor de uma variável não-básica de 1 unidade e examinaremos a variação 
restante na função objetivo. Para ilustrar, considere X1.
X1 aumenta de zero para 1.
X2 e X3 permanecem em zero. Assim, temos
X1 + X4 = 8 (1)
3X1 + X5 = 7 (2).
A nova solução factível é:
X1 = 1; X2 = X3 = 0; X4 = 7; X5 = 4.
O novo Valor de Z é:
Z = 5(1) + 2(0) + 3(0) – 1(7) + 1(4) = 2.
Então, a variação líquida no valor de Z por aumento unitário em X1 é:
V. Líquida = (novo valor de Z) – (antigo valor de Z)
= (2) - (-1)
= 3 . 
Esse valor de 3 é chamado o lucro relativo à variável X1
X1 não pode ser aumentado indefinidamente.
Quando X1 aumenta, X4 e X5 diminuem, e seus valores precisam se manter não-negativos para a 
solução permanecer factível.
X4 < 0, se X1 for aumentado além de 8.
X5 < 0, se X1 for aumentado além de 
7
3
.
Portanto, o máximo aumento em X1 é: mínimo 8,
7
3
.
Quando X1 aumenta de zero para 1, Z aumenta de 3 unidade. Como X1 pode ser aumentado até 
7
3
, 
então Z aumenta de 
3
7
3
= 7.
Quando X1 aumenta para 
7
3
, X5 diminui para zero e se torna não básica.
A nova solução factível é:
X1 = 
7
3
; X2 = X3 = X5 = 0; X4 = 
17
3
, e
Z = 6.
O novo sistema canônico correspondente a essa solução básica factível é obtido através de 
operações de pivoteamento. São elas,
1. Dividir a 2ª eq. por 3.
2. Multiplicar a 2ª eq. Por 
− 1
3
e adicionar à 1ª eq. Para eliminar X1.
Condição de otimalidade
Em um problema de maximização, uma solução básica factível é ótima se os lucros relativos de 
suas variáveis não-básicas são menores do que ou iguais a zero ( ≤ 0).
Sumário do Método Simplex
Passo 1. Inicie com uma solução básica factível na forma canônica.
Passo 2. Verifique se a solução básica factível atual é ótima (lucros relativos das variáveis não-
básicas todos menores do que ou iguais a zero). Caso contrário, vá para o passo 3.
Passo 3. Selecione uma variável não-básica para se tornar básica. (uma regra geral é selecionar a 
variável não-básica com maior lucro relativo, de forma a obter o maior aumento do valor de Z).
Passo 4. Determine a variável básica que se tornará não-básica. Para isso, examine cada restrição 
para determinar o quanto a variável não-básica pode ser aumentada.
Para as restrições nas quais a variável não-básica possui um coeficiente positivo, o limite é dado 
pela razão entre a constante do lado direito e esse coeficiente positivo. Para outras restrições, o 
limite é feito ∞.
A restrição com menor limite é determinada e a variável básica naquela restrição se tornará não-
básica.
Passo 5. Encontrar um novo sistema canônico e a nova solução básica factível por meio de 
operações de pivoteamento. Retornar ao passo 2.
Tableau
O exemplo anterior em formato tabular:
Solução básica factível:
X4 = 8; X5 = 7; 
X1 = X2 = X3 = 0; 
CB Cj
BASE
5 
X1
2 
X2
3 
X3
-1 
X5
1 
X6
CONSTANTES
-1 X4 1 2 2 1 0 8
1 X5 3 4 1 0 1 7
Linha 𝐶j 3 0 4 0 0 Z = -1
Lucro relativo das variáveis não-básicas
O lucro relativo das variáveis não-básicas é dado pelo diferença entre a Cj e o produto 
interno de CB e a coluna correspondente.
 𝐶j = Cj -
𝑃𝑟𝑜𝑑𝑢𝑡 𝑖𝑛𝑡𝑒𝑟𝑛𝑜 𝑑𝑒 𝐶𝐵 𝑐𝑜𝑚 𝑎
𝑐𝑜𝑙𝑢𝑛𝑎 𝑐𝑜𝑟𝑟𝑒𝑠𝑝𝑜𝑛𝑑𝑒𝑛𝑡𝑒
Pelo exemplo anterior, temos:
 C1 = 5 – (-1 1) 13 = 3
 C2 = 2 - (-1 1) 24 = 0
 C3 = 2 - (-1 1) 21 = 4
Incluindo X3 na base
X3 entra na base (maior lucro relativo).
Para decidir qual variável sai da base, aplicamos a regra da mínima razão.
O menor limite é 4. Portanto, X4 sai da base. 
Linha Variável básica Limite superior 
sobre X3
1 X4 8/2 = 4
2 X5 7/1 = 7
O novo tableau se configura da seguinte forma:
Solução básica factível:
X3 = 4, X5 = 3 ;
X1 = X2 = X4 = 0.
Valor da função objetivo:
Z = (3 1) 4
3
= 15.
CB Cj
BASE
5 
X1
2 
X2
3 
X3
-1 
X5
1 
X6
CONSTANTES
3 X3 1/2 1 1 1/2 0 4
1 X5 5/2 3 0 0 1 3
Linha 𝐶j 1 -4 0 -2 0 Z = 15
Incluir X1 na base
X1 entra na base (maior lucro relativo).
Para decidir qual variável sai da base, aplicamos a regra da mínima razão.
O menor limite é . Portanto, X5 sai na base. 
Linha Variável básica Limite superior 
sobre X3
1 X3 4/(1/2) = 8
2 X5 3/(5/2) = 6/5
O novo tableau se configura da seguinte forma:
Solução básica factível:
X1 = 6/5, X3 = 17/5 ;
X4 = X5 = X2 = 0.
Valor da função objetivo:
Z = (3 5) 17/5
6/5
= 81/5.
OBS: Essa é a solução ótima pois não tem como melhorar. Os lucros relativas das variáveis não-
básicas são todos não-positivos.
CB Cj
BASE
5 
X1
2 
X2
3 
X3
-1 
X5
1 
X6
CONSTANTES
3 X3 0 2/5 1 3/5 -1/5 17/5
5 X1 1 6/5 0 -1/5 2/5 6/5
Linha 𝐶j 0 -26/5 0 -9/5 -2/5 Z = 81/5
Exemplo 2:
Maximizar Z = 3X1 + 2X2
s.a
-X1 + 2X2 ≤ 4 
3X1 + 2X2 ≤ 14
X1 – X2 ≤ 3
X1 ≥ 0; X2 ≥ 0.
O programa acima na forma padrão:
Maximizar Z = 3X1 + 2X2
s.a
-X1 + 2X2 + X3 = 4 
3X1 + 2X2 + X4 = 14
X1 – X2 + X5 = 3
X1 ≥ 0; X2 ≥ 0, X3 ≥ 0, X4 ≥ 0, X5 ≥ 0 .
Exemplo 2 na forma tabular
T-1 : Vértice A
X1 entra na base. Portanto, aplica-se a regra da mínima razão para ver quem sai da base.
CB Cj
BASE
3 
X1
2 
X2
0 
X3
0 
X4
0 
X5
CONSTANTES
0 X3 -1 2 1 0 0 4
0 X4 3 2 0 1 0 14
0 X5 1 -1 0 0 1 3
Linha 𝐶j 3 2 0 0 0 Z = 0
Linha Vaiável básica Limite superior 
sobre X3
1 X3 ∞
2 X4 14/3
3 X5 3
X5 sai da base
T-2
CB Cj
BASE
3 
X1
2 
X2
0 
X3
0 
X4
0 
X5
CONSTANTES
0 X3 0 1 1 0 1 7
0 X4 0 5 0 1 -3 5
3 X5 1 -1 0 0 1 3
Linha 𝐶j 0 5 0 0 -3 Z = 9
Análise gráfica dos vértices
T-1 : Vértice A
X1 ou X2 poderia entrar na base para aumentar Z.
Tendo decidido aumentar X1, fica claro que X1 não pode ser aumentado além de 3 
(vértice B).
Tableau 2 -> vértice B
X2 pode entrar na base para aumentar o valor de Z.
Aplicando a regra da mínima razão, achamos o mínimo entre 
(7/1, 5/5, ∞) .
Desse modo, X4 sai da base. 
T-3
No tableau 3, X5 pode entrar na base e a resultante solução factível básica terá Z = 14.
Qualquer solução factível cujo valor de Z seja igual ao valor ótimo é, também, uma solução ótima.
CB Cj
BASE
3 
X1
2 
X2
0 
X3
0 
X4
0 
X5
CONSTANTES
0 X3 0 0 1 -1/5 8/5 6
2 X2 0 1 0 1/5 -3/5 1
3 X1 1 0 0 1/5 2/5 4
Linha 𝐶j 0 0 0 -1 0 Z = 14
X5 entra na base
X3 sai da base.
T-4 CB Cj
BASE
3 
X1
2 
X2
0 
X3
0 
X4
0 
X5
CONSTANTES
0 X5 0 0 5/8 -1/8 1 15/4
2 X2 0 1 3/8 1/8 0 13/4
3 X1 1 0 -1/4 1/4 0 5/2
Linha 𝐶j 0 0 0 -1 0 Z = 14
Linha Vaiável básica Limite superior 
sobre X5
1 X3 6/(8/5) = 15/4
2 X2 ∞
3 X1 4/(2/5) = 10
A solução alternativa é:
X1 = 5/2; X2 = 13/4; X3 = 0, X4 = 0, X5 = 15/4.
Em geral, uma solução ótima alternativa é indicada quando existe umavariável não-básica cujo 
lucro relativo seja zero no tableau ótimo.
Ótimo Único
Os lucros relativos de todas as variáveis não-básicas têm valores negativos no tableau ótimo.
Problema de Minimização
Passo 4. Se todos os coeficientes da linha C são positivos ou zero, então a atual solução básica 
factível é ótima. Caso contrário, selecione a variável não-básica com menor valor (mais negativo) 
para entrar na base.
Abordagem Alternativa
Minimizar Z = 40X1 + 36X2
s.a
restrições.
Maximizar Z’ = -40X1 – 36X2 = -Z
s.a
restrições.
Assim, 
Minimizar valor de Z = (Maximizar valor de - Z). 
Empate na seleção da Variável Para Entrar Na Base
Selecione uma das variáveis empatadas arbitrariamente.
Empate na regra da mínima razão e degenerância. Vamos ilustrar esse caso.
CB Cj
BASE
0 
X1
0 
X2
0 
X3
2 
X4
0 
X5
3/2 
X6
CONSTANTES
0 X1 1 0 0 1 -1 0 2
0 X2 0 1 0 2 0 1 4
0 X3 0 0 1 1 1 1 3
Linha 𝐶j 0 0 0 2 0 3/2 Z = 0
X4 entra na base. Dessa maneira, a regra da mínima razão dirá quem sairá da base.
Como obtivemos empate na regra da mínima, faremos X1 sair da base arbitrariamente.
CB Cj
BASE
0 
X1
0 
X2
0 
X3
2 
X4
0 
X5
3/2 
X6
CONSTANTES
2 X4 1 0 0 1 -1 0 2
0 X2 -2 1 0 0 2 1 0
0 X3 -1 0 1 0 2 1 1
Linha 𝐶j -2 0 0 0 2 3/2 Z = 4
Linha Vaiável básica Limite superior 
sobre X4
1 X1 2/1 = 2
2 X2 4/2 = 2
3 X3 3/1 = 3
A nova solução básica é:
X1 = 0, X2 = 0, X3 = 1, X4 = 2, X5 = 0, X6 = 0 
Z = 4.
Degenerância
Uma solução básica factível na qual uma ou mais variáveis básicas são zero é chamada de solução 
degenerada.
Se todas as variáveis básicas forem positivas, então a solução é chamada de 
não-degenerativa. 
X5 entra na base. Dessa maneira, a regra da mínima razão dirá quem sairá da base.
X2 sai da base. Perceba que X5 não pode ser aumentado para uma valor positivo. Portanto, o valor 
de Z não vai aumentar na nova base.
CB Cj
BASE
0 
X1
0 
X2
0 
X3
2 
X4
0 
X5
3/2 
X6
CONSTANTES
2 X4 0 1/2 0 1 0 1/2 2
0 X5 -1 1/2 0 0 1 1/2 0
0 X3 1 -1 1 0 0 0 1
Linha 𝐶j 0 -1 0 0 0 1/2 Z = 4
Linha Vaiável básica Limite superior 
sobre X5
1 X4 ∞
2 X2 0/2 = 0
3 X3 1/2 = 1/2
Solução Ilimitada
Ocorre quando nenhum dos coeficientes da variável não-básica (que vai entrar na base) 
nas restrições é positivo. Pois nenhuma razão finita pode ser formada.
X2 entra na base e X4 sai.
CB Cj
BASE
2 
X1
3 
X2
0 
X3
0 
X4
CONSTANTES
0 X3 1 -1 1 0 2
0 X4 -3 1 0 1 4
Linha 𝐶j 2 3 0 0 Z = 0
X1 entra na base. Desse modo, a regra da razão mínima dirá quem sai da base. 
CB Cj
BASE
2 
X1
3 
X2
0 
X3
0 
X4
CONSTANTES
0 X3 -2 0 1 1 6
3 X2 -3 1 0 1 4
Linha 𝐶j 11 0 0 0 Z = 12
Linha Vaiável básica Limite superior 
sobre X1
1 X3 ∞
2 X2 ∞
Como Encontrar Uma base Factível
1. Tentativa e erro:
Escolhe-se as variáveis básicas arbitrariamente para cada restrição
1.1.
Reduzir o sistema à forma canônica com relação a esta base. Se o sistema canônico fornecer uma 
solução básica factível, então o SIMPLEX pode começar. Caso contrário, tente uma outra escolha de 
variável básica.
2. Usar variáveis artificiais:
Exemplo:
Minimizar Z = -3X1 + X2 + X3
s.a
X1 – 2X2 – X3 ≤ 11
-4X1 + X2 + 2X3 ≥ 3
2X1 - X3 = -1
Xi ≥ 0, i = 1, 2, 3. 
Colocar na forma padrão, temos
Minimizar Z = -3X1 + X2 + X3
s.a
X1 – 2X2 – X3 + X4 = 11
-4X1 + X2 + 2X3 - X5 = 3
-2X1 + X3 = 1
Xi ≥ 0, i = 1, 2, 3, 4, 5. 
Para obtermos uma base, acrescentamos variáveis artificiais de maneira a formar uma base. Assim, 
obtemos o seguinte modelo:
Minimizar Z = -3X1 + X2 + X3
s.a
X1 – 2X2 – X3 + X4 = 11
-4X1 + X2 +2X3 -X5 + X6 = 3
-2X1 + X3 + X7 = 1
Xi ≥ 0, i = 1, 2, ...,7. 
O Método Big M
Atribua um alto valor de custo às variáveis artificiais. Para ilustrar:
A função objetivo se torna:
Minimizar Z = -3X1 + X2 + X3 + MX6 + MX7 , 
Onde M é um número muito grande.
CB Cj 
BASE
-3 
X1
1 
X2
1 
X3
0 
X4
0 
X5
M 
X6
M 
X7
CONSTANTES
0 X4 1 -2 1 1 0 0 0 11
M X6 -4 1 2 0 -1 1 0 3
M X7 -2 0 1 0 0 0 1 1
Linha Cj -3 +6M 1 - M 1 – 3M 0 M 0 0 Z = 4M
X3 entra base ( C3 é o mais negativo) e X7 sai da base.
X2 entra na base e X6 sai da base.
CB Cj 
BASE
-3 
X1
1 
X2
1 
X3
0 
X4
0 
X5
M 
X6
M 
X7
CONSTANTES
0 X4 3 -2 0 1 0 0 -1 10
M X6 0 1 0 0 -1 1 -2 1
1 X3 -2 0 1 0 0 0 1 1
Linha Cj -1 1 – M 0 0 M 0 3M - 1 Z = M + 1
CB Cj 
BASE
-3 
X1
1 
X2
1 
X3
0 
X4
0 
X5
M 
X6
M 
X7
CONSTANTES
0 X4 3 0 0 1 -2 2 -5 12
1 X2 0 1 0 0 -1 1 -2 1
1 X3 -2 0 1 0 0 0 1 1
Linha Cj -1 0 0 0 1 M-1 M + 1 Z = 2
X1 entra na base e X4 sai da base.
Note que esse tableau é ótimo, pois a linha Cj é toda não negativa. Portanto, a solução ótima é:
X1 = 4, X2 = 1, X3 = 9; X4 = X5 = X6 = X7 = 0.
Z = -2.
CB Cj 
BASE
-3 
X1
1 
X2
1 
X3
0 
X4
0 
X5
M 
X6
M 
X7
CONSTANTES
-3 X1 1 0 0 1/3 -2/3 2/3 -5/3 4
1 X2 0 1 0 0 -1 1 -2 1
1 X3 0 0 1 2/3 -4/3 4/3 -7/3 9
Linha Cj 0 0 0 1/3 1/3 M–1/3 M-2/3 Z = -2
Método das Duas Fases
Fase 1. Achar uma solução básica factível para o problema original.
(remover as variáveis artificiais).
Cria-se a segunda função objetivo:
W = X6 + X7 (Função dada pela soma de todas as variáveis artificiais).
Fase 2. A solução básica factível encontrada na fase 1 é otimizada com relação à função objetivo 
original.
CB Cj 
BASE
-3 
X1
1 
X2
1 
X3
0 
X4
0 
X5
M 
X6
M 
X7
CONSTANTES
0 X4 1 -2 1 1 0 0 0 11
1 X6 -4 1 2 0 -1 1 0 3
1 X7 2 0 1 0 0 0 1 1
Linha Cj 6 -1 -3 0 1 0 0 Z = 4
Análise de Sensibilidade
É o estudo de como a solução ótima muda com certas mudanças nos coeficientes de 
entrada. Vamos considerar o seguinte exemplo
Max 10X1 + 6X2 + 4X3 
Sujeito a X1 + X2 + X3 ≤ 100 (Trabalho)
10X1 + 4X2 + 5X3 ≤ 600 (Material)
2X1 +2X2 + 6X3 ≤ 300 (Administração)
X1 ≥ 0, X2 ≥ 0, X3 ≥ 0
Uma fábrica produz 3 produtos que requerem 3 recursos, trabalho, material e 
administração. Os lucros relativos destes problemas são $10, $6 e $4 respectivamente. Há 
100 horas de trabalho, 600 Kg de material e 300 horas de administração disponíveis por dia. 
A fim de determinar o mix ótimo de produtos, ou seja, quais produtos deve-se produzir, 
obtemos os seguintes valores 
Análise de Sensibilidade
• Solução ótima: X1 = 33,33 X2 = 66,67 X3 = 0
• Valor ótimo: $ 733,33
• Preço sombra: 
• Custo de oportunidade 
Linha Preço Sombra
1 $ 3,33
2 $ 0,67
3 $ 0,00
Variável Custo de oportunidade
X1 0
X2 0
X3 2,67
• Limites nos coeficientes ou função objetivo
• Limites nas constantes do lado direito
Variável Limite Inferior Valor Presente Limite Superior
X1 6 10 15
X2 -4 6 10
X3 -∞ 4 6,67
Linha Limite Inferior Valor Presente Limite Superior
1 60 100 150
2 400 600 1000
3 200 300 ∞
• O preço sombra dá o impacto líquido no lucro máximo se unidades adicionais de recurso forem 
obtidas.Por exemplo, cada hora adicional de trabalho fornece um aumento de $3,33 no lucro máximo. 
Suponha que é possível aumentar as horas de trabalho em 25%, através do pagamento de hora 
extra cujo custo será de $50. 
Como o aumento no lucro máximo devido as 25 horas de hora extra é 
25 ∙ (3,33) = 83,25
Como esse valor é maior do que o custo de se obter a hora extra ( $50 ), então é interessante 
contratar a hora extra.
• Quando uma constante muda, a solução ótima muda. Entretanto o mix ótimo de produtos ficará 
inalterado (os produtos que iria produzir ainda serão produzidos), desde que a constante varie 
nos limites especificados. 
Os limites para os coeficientes da função objetivo indicam que a solução ótima não é afetada, desde 
que os coeficientes variem dentro desses limites. 
No nosso exemplo, a solução ótima não muda se C1 permanece entre 6 e 15.
• Suponha que o lucro unitário do produto 1 aumente de 10 para 12. A solução ótima continua a 
mesma, mas o valor ótimo aumenta para
$733,33 + (12-10)∙(33,33) = $799,99
• O custo de oportunidade indica o impacto negativo de se produzir o produto. Não é interessante 
produzir o produto 3. Então uma diminuição do lucro unitário do produto 3 (C3) não afetará a 
solução ótima. Para ser interessante produzir o produto 3, seu lucro unitário precisa aumentar 
para 
(Valor presente + Custo de oportunidade) = ( 4 + 2,67) = 6,67
Ou seja se C3 for aumentado para um valor acima de 6,67 será interessante produzir o produto 3
Variação Simultânea de Parâmetros
Quando ocorre variação simultânea dos parâmetros, podemos usar a “regra do 100%”.
 
𝛿𝐶𝑗
Δ𝐶𝑗
≤ 1. (1)
𝛿𝐶𝑗 é o aumento (diminuição) no coeficiente da função objetivo, Δ𝐶𝑗 é o máximo aumento 
(diminuição) permitido (a). Desde que a equação (1) seja satisfeita, a solução ótima do programa 
linear não muda.
Suponha que o lucro unitário do produto 1 diminua de R$ 1, mas aumente de R$ 1 para os produtos 
2 e 3.
Fazendo as devidas substituições, obtemos
Variação nos coeficientes da função objetivo
𝛿C1 = -1
𝛿C2 = 1
𝛿C3 = 1
Máxima variação permitida
ΔC1 = -4
ΔC2 = 4
ΔC3 = 2,67
Verificando para a equação (1), obtemos
 
𝛿𝐶𝑗
Δ𝐶𝑗
= −
1
−4
+
1
4
+
1
2,67
= 0,875 ≤ 1.
Desse modo, a solução não muda, mas o valor ótimo varia de 
(-1)(33,33) + 1(66,67) + 1(0) = R$ 33,34.
Regra 100% para as constantes
 
𝛿𝑏𝑖
Δ𝑏𝑖
≤ 1. (2)
𝛿bi: aumento (diminuição) na constante bi.
𝛥bi : máximo aumento (diminuição) permitido (a).
Se (2) for satisfeito, então o mix ótimo de produtos permanece o mesmo, mas a solução ótima e o 
valor ótimo vão mudar.
Exemplo:
Considere uma diminuição de 10 hs em disponibilidade de trabalho, 10 kg de aumento em 
material, e 50 hs de diminuição em administração.
Temos,
𝛿C1 = -10, 𝛿C2 = 100, 𝛿C3 = -50; ΔC1 = -40, ΔC2 = 400, ΔC3 = -100.
 
𝛿𝑏𝑖
Δ𝑏𝑖
=
−10
−40
+
100
400
+
−50
−100
= 1 .
Portanto, a base ótima e o mix ótimo de produtos não serão afetados.
A variação da solução ótima é dada por:
(3,33)(-10) + (0,67)(100) + (0)(-50) = R$ 33,70.
Método simplex revisado
CB BASE
5
X1 
2 
X2
3
X3
-1
X4
-1
X5
CONSTANTE
S
-1 X4 1 2 2 1 0 8
-1 X5 3 4 1 0 1 7
Linha 𝐶 3 0 4 0 0 Z = -1
3 X3 1/2 1 1 1/2 0 4
1 X5 5/2 3 0 -1/2 1 3
Linha 𝐶 1 -4 0 -2 0 Z = 15
3 X3 0 2/5 1 3/5 -1/5 17/5
5 X1 1 6/5 0 -1/5 2/5 6/5
Linha 𝐶 0 -28/5 0 -9/5 -2/5 Z = 81/15
TABLEAU
1
2
3
Para ir do tableau 2 para o 3 precisamos do valor de C1, da coluna correspondente a X1 e da coluna 
das constantes.
O método simplex revisado trabalha com o principio de que qualquer tableau correspondente a 
uma única solução básica factível pode ser gerado diretamente das equações originais realizando-se 
operações sobre matrizes.
Sejam as colunas originais P1,P2,...,P5 e as colunas das constantes b. 
P1=
1
3
P2=
2
4
P3=
2
1
P4=
1
0
P5=
0
1
e b= 8
7
O tableau 2 no qual X3 e X5 são variáveis básicas pode ser gerado diretamente como segue:
Defina a matriz B, cujo os elementos são as colunas originais correspondentes as variáveis básicas 
X3 e X5.
B = [P3 , P5] = 2 0
1 1
A inversa de B, denotada por 𝐵−1é:
𝐵−1=
1
2
0
−
1
2
1
Qualquer coluna do tableau 2 pode ser obtida como :
 𝑃j = 𝐵−1. b e 𝑏 = 𝐵−1.b
A seleção da variável não básica que vai entrar na base: 
 𝐶1 = C1 – CB. 𝑃1 = 5 – (3,1) . 
1
2
5
2
= 1
 𝐶2 = C2 – CB. 𝑃2 = 2 – (3,1). 1
3
= -4
 𝐶4 = C4 – CB. 𝑃4 = -1 – (3,1). 
1
2
−
1
2
= -2
Em geral seria 𝐶j = Cj – CB. 𝑃j
Mas sabemos que: 𝑃j =𝐵−1.Pj então, Cj = Cj – CB. 𝐵−1.Pj
Denote por CB.𝐵−1por 𝜋 (multiplicador simplex) 
 𝐶j= Cj- 𝜋 .Pj
Para o tableau 2 𝜋 = CB.𝐵−1 = (3,1). 
1
2
0
−
1
2
1
= (1,1) .
 𝐶1 = C1 – 𝜋.P1 = 5 - (1,1). 1
3
= 1
 𝐶2 = C2 – 𝜋 .P2 = 2 – (1,1). 2
4
= -4
 𝐶3= C3– 𝜋 .P4 = -1 – (1,1). 1
0
= -2
Desde que 𝐶1 >0, selecionamos X1 como variável para entrar na base, temos que encontrar a 
variável que sai da base, precisamos das constantes e da coluna referente a X1 relativas ao tableau
 𝑃1= 𝐵−1.P1 = 
1
2
0
−
1
2
1
.
1
3
= 
1
2
5
2
 𝑏 = 𝐵−1.b = 
1
2
0
−
1
2
1
. 8
7
= 4
3
Aplicando a regra a mínima razão X5 sai da base.
TABLEAU 3. base X3, X1 B = [P3, P1] = 
2 1
1 3
e 𝐵−1 = 
3
5
−
1
5
1
5
2
5
 𝑏 = 𝐵−1.b = 
3
5
−
1
5
−
1
5
1
. 8
7
= 
17
5
6
5
A solução básica factível no tableau 3 é X1 = 
6
5
X3 = 
17
5
e X2=X4=X5=0
𝜋 = CB.𝐵−1= (3, 5).
3
5
−
1
5
1
5
2
5
= ( 
4
5
, 
7
5
)
 𝐶2 = C2 – CB. 𝑃2 = 5 – ( 
4
5
, 
7
5
). 2
4
= -
26
5
 𝐶4 = C4 – CB. 𝑃4 = 2 – ( 
4
5
, 
7
5
). 1
0
= -
9
5
 𝐶5 = C5 – CB. 𝑃5 = -1 – ( 
4
5
, 
7
5
). 0
1
= -
2
5
Não vamos calcular a inversa da base explicitamente, mas por meio de pivoteamento sobre a matriz 
inversa anterior.
EXEMPLO: a solução básica factível inicial (tableau 1) tem X4 e X5 como variáveis básicas a matriz 
base inicial é:
B = [P4, P5] = 
1 0
0 1
= 𝐼 .Em qualquer tableau subsequente as novas colunas correspondentes a X4
e X5 são obtidas pré-multiplicando P4 e P5 pela inversa da base atual, isto é : 
 𝑃4= 𝐵−1.P4 e 𝑃5= 𝐵−1.P5, então [ 𝑃4, 𝑃5] = 𝐵−1.[P4,P5] = 𝐵−1.I =𝐵−1.
Em qualquer tableau as colunas relativas a X4 e X5 contém a inversa da base para aquele tableau.
Isto significa que a nova 𝐵−1 pode ser obtida levando adiante as colunas correspondentes à solução 
básica factível inicial, e atualizando –os por meio de pivoteamento.
Similarmente para a coluna das constantes de qualquer tableau levamos a coluna b adiante 
atualizando por pivoteamento.
O segundo tableau por exemplo seria representado como :
Tendo 𝐵−1, calculamos 𝜋 e os elementos, 𝐶1, 𝐶2 e 𝐶4 e determinamos que X1 vai entrar na base.
A coluna correspondente a X1:
 𝑃1= 𝐵−1.P1 =
1
2
0
−
1
2
1
.
4
3
= 
1
2
1
2
.
Usando 𝑃1 e 𝑏 vemos que X5 sai da base isto significa que a coluna 
1
2
5
2
deve ser reduzida a 0
1
.
BASE 𝐵−1 b
X3
X5
½ 0
- ½ 1 
4
3
1.Multiplicando a 2ª linha por −
1
5
e adicione a 1ª linha.
2.Divida 2ª linha por 
5
2
.
Essa operação de pivoteamentoé aplicada do tableau reduzido anterior
Usando a nova 𝐵−1 calculamos 𝜋 e os 𝐶j das variáveis não-básicas e verificar a otimalidade da 
solução.
BASE 𝐵−1 b
X3
X1
3
5
-
1
5
-
1
5
2
5
17
5
6
5
Teoria da dualidade
Exemplo: maximizar Z = X1 + 2X2 - 3X3 + 4X4
sujeito a X1 + 2X2 + 2X3 - 3X4 ≤ 25
2X1 + X2 - 3X3 + 2X4 ≤ 15
X1 ≥ 0,X2 ≥ 0 , X3 ≥ 0 ,X4 ≥0
O dual programa linear acima é:
minimizar W = 25Y1 + 15Y2
Y1 + 2Y2 ≥ 1
2Y1 + Y2 ≥ 2
2Y1 - 3Y2 ≥ -3
-3Y1 + 2Y2 ≥ 4
Y1 ≥ 0,Y2 ≥ 0
Definição: Um programa linear é dito estar na forma simétrica, se todas as variáveis são não-
negativas, e todas as restrições são inequações(em um problema de maximização as restrições 
precisam ser ≤ , enquanto em um problema de minimização precisam ser ≥).
Primal: maximizar Z = C1X1 + C2X2 + ⋯ ⋯ + CnXn
sujeito a a11X1 + a12X2 + ⋯ ⋯ + a1nXn ≤ b1
⋮ ⋮
⋮ ⋮
an1X1 + an2X2 + ⋯ ⋯ + amnXn ≤ bm
X1,X2, ⋯ ,Xn ≥ 0 .
Dual : minimizar W = b1Y1 + b2Y2 + ⋯ ⋯ + bmYm
sujeito a a11Y1 + a12Y2 + ⋯ ⋯ + am1Yn ≥ C1
⋮ ⋮ ⋮
⋮ ⋮ ⋮
a1nY1 + a2nY2 + ⋯ ⋯ + amnYn ≥Cn
Y1,Y2, ⋯ ,Ym≥ 0
Em notação matricial : maximizar Z = CX minimizar W = Yb
sujeito a AX ≤ b sujeito a YA ≥ C
Y ≥ 0; Y ≥ 0; 
Amxn, bmx1, C1xn, Xnx1, Y1xm.
Teorema da dualidade fraca
Considere os programas lineares primal-dual simétricos:
max Z = cx , Ax ≤ b, x ≥ 0
min W = Yb, yA ≥ C, y ≥ 0.
O valor da função objetivo do problema de minimização (dual) para qualquer solução factível é 
sempre maior ou igual que o valor de uma solução factível para o problema de maximização 
(primal).
PROVA: Sejam 𝑋0 e 𝑌0 soluções factíveis para os problemas primal e dual respectivamente, temos 
que provar que 𝑌0b ≥ c𝑋0 como 𝑋0é factível para o primal temos, A𝑋0 ≤ b, 𝑋0 ≥ 0 (1).
Similarmente 𝑌0é factível para o dual temos, 𝑌0 A ≥ C , 𝑌0 ≥ 0 (2).
Multiplicando (1) por 𝑌0: 𝑌0A𝑋0 ≤ 𝑌0b (3)
Multiplicando (2) por 𝑋0: 𝑌0 A𝑋0 ≥ C𝑋0 (4)
(3) e (4) implicam que 𝑌0b ≥ 𝑌0A𝑋0 ≥ C𝑋0.
COROLÁRIO 1. O problema da função objetivo para o problema de maximização é um limitante 
inferior para o problema de minimização .
COROLÁRIO 2. Similarmente o valor da função objetivo do problema de minimização é um limitante 
superior para o valor do problema de maximização.
COROLÁRIO 3. Se o problema primal é factível e seu objetivo é ilimitado (Z→ ∞), então o problema 
dual não pode ter uma solução factível .
COROLÁRIO 4. Similarmente se o problema dual é factível e seu objetivo é ilimitado (W→ −∞), 
então o primal é infactível.
COROLÁRIO 5. Se um problema primal é factível e o dual é infactível, então o primal é ilimitado.
COROLÁRIO 6. Se o primal é factível e o primal é infactível, então o dual é ilimitado.
TEOREMA 2.(Teorema do critério de otimalidade).Se existem soluções factíveis 𝑋0 e 𝑌0 para os 
programas lineares duais simétricos tais que os valores correspondentes as suas funções objetivos 
são iguais, então essas soluções são de fato ótimas para seus respectivos programas.
PROVA: Seja X qualquer solução factível do primal então pelo teorema 1 CX ≤ 𝑌0b, mas nos foi 
dado que C𝑋0 = 𝑌0b, então CX ≤ C𝑋0.Um argumento similar prova a otimalidade de 𝑌0. 
TEOREMA 3.(Principal da dualidade).Se ambos os problemas (primal e dual) são factíveis então 
ambos tem soluções ótimas, tais que seus valores ótimos são iguais . 
PROVA: Quando ambos os problemas são factíveis então pelos corolários 1 e 2 do teorema 1, temos 
um limitante inferior para o mínimo valor de W e um limitante superior para o máximo valor de Z 
(nem o primal nem o dual tem soluções ilimitadas).Então o primal e o dual tem soluções ótimas.
TEOREMA 4.(Teorema de folga complementar).
Considere os problemas:
Dual Primal
minimizar W = Yb maximizar Z = CX
sujeito a yA ≥ C sujeito a Ax ≤ b 
y≥ 0; x ≥ 0; 
Sejam 𝑋0 e 𝑌0 soluções factíveis para os problemas primal e dual respectivamente, então 𝑋0 e 
𝑌0são ótimas para seus respectivos problemas se, e somente se,
(yA - C) 𝑋0 + (b - Ax) 𝑌0 = 0 . 
onde, (yA - C): folga dual e (b – Ax):folga primal
PROVA: Seja o vetor coluna u = 
𝑢1
𝑢2
⋮
𝑢𝑚
, o vetor folga para o primal e V = (v1,v2,⋯,vn) o vetor folga para o 
dual com 𝑋0 e 𝑌0 são soluções factíveis, então:
A𝑋0 + 𝑈0 = b 𝑋0, 𝑈0 ≥ 0 (1)
𝑌0A - 𝑉0 = c 𝑌0, 𝑉0 ≥ 0 (2)
Multiplicando (1) por 𝑌0 e (2) por 𝑋0,temos:
𝑌0 A𝑋0 + 𝑌0𝑈0 = 𝑌0 b (3)
𝑌0A 𝑋0 - 𝑉0𝑋0 = c 𝑋0 (4)
Subtraindo (4) e (3).
𝑌0𝑈0 + 𝑉0𝑋0 = 𝑌0 b - c 𝑋0 (5).
Para provar o teorema o seguinte resultado deve ser provado:
𝑋0 e 𝑌0 ↔ 𝑌0𝑈0 + 𝑉0𝑋0= 0 (6)
Para provar o teorema, o seguinte resultado deve ser provado:
𝑋0 e 𝑌0 ↔ 𝑌0𝑈0 + 𝑉0𝑋0= 0 (6)
(→)Assume que 𝑋0 e 𝑌0 são ótimo e deste modo, pelo teorema 3, C𝑋0 = 𝑌0b
Perceba que a equação (5) se reduz a 𝑌0𝑈0 + 𝑉0𝑋0 = 0
(←)Assume que a equação (6) é verdadeira, deste modo a equação (5) se reduz a 𝑌0b = C𝑋0
Pelo teorema 2 segue que 𝑋0 e 𝑌0 são ótimos.
Condições de folga complementar
A equação (b) do teorema de folga complementar pode ser exemplificado da seguinte forma:
Vj.Xj = 0 ∀j = 1, ⋯ , 𝑛
Yj.Uj = 0 ∀j = 1, ⋯ , 𝑛
Considere as seguintes afirmações:
1 . Se uma variável primal (Xj) for positiva então a restrição dual correspondente será com a 
equação (Yj).
2 . Se a restrição primal é uma desigualdade restrita ótima ( isto é, 𝑈0 > 0), então a correspondente 
variável dual (𝑌𝑗
0) precisa ser zero não ótimo.
3 . Se uma variável dual (𝑌𝑗
0) é positiva então a correspondente restrição primal será satisfeita como 
uma equação no ótimo (isto é, 𝑈0= 0).
4. Se uma restrição dual é uma desigualdade estrita (Vj > 0), então a variável primal 
correspondente (𝑋𝑗
0) precisa ser zero no ótimo.
Problemas primal-dual assimétricos 
Considere um problema na forma assimétrica :
maximizar Z = 4X1 + 5X2
sujeito a 3X1 + 2X2 ≤ 20
- 4X1 + 3X2 ≥ 10
X1 + X2 = 5
X1≥ 0, X2 irrestrito em sinal.
Na forma simétrica teremos:
maximizar Z = 4X1 + 5X3 – 5X4
sujeito a 3X1 + 2X3 - 2X4 ≤ 20
-4X1 + 3X3 - 3X4 ≤ -10
-4X1 + 3X3 - 3X4 ≤ -10
X1 + X3 - X4 ≤ 5
-X1 - X3 + X4 ≤ -5
X1,X3,X4 ≥ 0.
Note que o dual seria: minimizar 20W1 – 10W2 + 5W3– 5W4
sujeito a 3W1 – 4W2 + W3 – W4 ≥ 4
2W1 +3W2 + W3 – W4 ≥5
-2W1 – 3W2 - W3 + W4 ≥0
W1,W2,W3,W4 ≥0.
A tabela abaixo resume a correspondência primal-dual para todos os programas lineares onde o 
primal é um problema de maximização.
PRIMAL (max) DUAL(min)
A: matriz dos coeficientes transposta de A
b: vetor das constantes vetor de custo
C: vetor lucro 
C: vetor lucro vetor das constantes 
i-ésima restrição é um equação j-ésima restrição dual é uma equação 
tipo ≥ Yi ≥ 0
tipo ≤ Yi ≤ 0 
Xj irrestrita em sinal a variável Yi é irrestrita em sinal 
Xj ≥ 0a j-ésima restrição dual é ≥
Xj ≤ 0 a j-ésima restrição dual é ≤
Exemplo:
minimizar 20Y1 + 10Y2 + 5Y3
sujeito a 3Y1 + 4Y2 + Y3 ≥ 4
2Y1 - 3Y2 + Y3 = 5
Y1 ≥ 0, Y2 ≤ 0, Y3 é irrestrito em sinal .
Método Dual Simplex
Minimizar Z = CX onde A =[P1,P2,⋯ ,Pn]
AX = b
X ≥ 0
a base B para o problema primal é uma matriz mxm, consistindo de m colunas independentes da 
matriz A variáveis básicas da correspondentes a matriz B.
BASE PRIMAL FACTÍVEL.
A base B é uma base primal factível se, e somente se, 𝐵−1.b ≥ 0.
Se B é primal factível, então os valores das variáveis básicas são dadas pelo vetor 𝐵−1.b , XN = 0, 
onde XN denota as variáveis não-básicas. O valor correspondente a essa solução factível é:
Z = CB. 𝐵−1.b .
Agora considere o dual do programa linear padrão:
minimizar W = Yb
sujeito a YA≤ C Y é irrestrito em sinal.
A restrição dual pode ser escrita como: 
Y(P1,P2,⋯,Pn) ≤ (C1,C2, ⋯,Cn)
Y.Pj ≤ Cj ∀j = 1, ⋯ , 𝑛
Y.Pj - Cj ≤ 0 ∀j = 1, ⋯ , 𝑛
Verificar as condições de otimalidade no método simplex revisado é nada mais que verificar se os 
multiplicadores simplex (𝜋 ) satisfazem as restrições duais.
Portanto se a base factível primal B é uma base ótima para o primal, então os multiplicadores 
simplex CB.𝐵−1= 𝜋 satisfazem Cj -𝜋 Pj ≥ 0 ∀j = 1, ⋯ , 𝑛.Isto implica que 𝜋 é factível para o 
problema dual.(satisfaz a restrição dual).
O valor objetivo dual é W = 𝜋.b = CB.𝐵−1.b, que é igual ao valor objetivo primal, pelo teorema 2 
segue que 𝜋 é ótimo para o dual.
Base Factível Dual 
Uma base B, para o problema primal 
Min Z = CX
S.a AX = b
X ≥ 0
é dual factível, se , e somente se 
C – Cb.𝐵−1. 𝐴 ≥ 0
Note que a definição de base factível dual é a mesma que nas equações
𝐶𝑗 = Cj – πPj
𝐶𝑗 ≥ 0 
Isto significa que quando a base B é factível para o primal e o dual, então B é ótimo
Simplex Primal
Vai de base primal factível, para outra base primal factível, até a base se tornar dual factível.
Dual Simplex
Vai de uma base dual factível para outra, até a base se tornar primal factível.
Seleção de uma variável básica para sair da base
Base X1 X2 . . . XR . . . Xm Xm+1 . . . Xs . . . Xn Constantes
X1 1 0 . . . 0 . . . 0 𝑏1
X2 0 1 . . . 0 . . . 0 𝑏2
⋮ ⋮ ⋮
XR 0 0 . . . 1 . . . 0 YRs 𝑏𝑅
⋮ ⋮ ⋮
Xm 0 0 . . . 0 . . . 1 𝑏𝑚
Linha 𝐶 0 0 . . . 0 . . . 0 𝐶𝑚 + 1 . . . 𝐶𝑠 . . . 𝐶𝑛
Seleção de uma variável básica para sair da base
Escolha uma variável básica cujo valor na solução seja o mais negativo. 
Seleção de uma variável não básica para entrar na base
1- Somente aquelas variáveis não básicas com coeficientes negativo na linha R são candidatas para 
entrar na base (YRj < 0).
2- O próximo tableau após pivoteamento precisa ser dual factível. Isso é garantido se a variável não 
básica para entrar na base for selecionada usando a regra:
Máximo 
𝐶𝑗
𝑌𝑅𝑗
YRj < 0
Os novos 𝐶𝑗 após o pivoteamento são 
Novo 𝐶𝑗 = Velho 𝐶𝑗 -
𝑌𝑅𝑗
𝑌𝑅𝑠
× (velho 𝐶𝑗 )
Novo 𝐶𝑗 = YRs ×
𝐶𝑗
𝑌𝑅𝑗
−
𝐶𝑠
𝑌𝑅𝑠
(1)
Caso 1- Para aqueles YRj ≥ 0 , temos 
𝐶𝑗
𝑌𝑅𝑗
≥ 0 uma vez que 𝐶𝑗 ≥ 0. Como YRs é o elemento pivô, 
YRs < 0 e 
𝐶𝑠
𝑌𝑅𝑠
≤ 0. Então o novo 𝐶𝑗 da equação (1) é positivo. 
Caso 2- Agora considere os YRj < 0, pela regra 
𝐶𝑠
𝑌𝑅𝑠
= Máx
𝐶𝑗
𝑌𝑅𝑗
onde YRj < 0.
Então o termo nos colchetes da equação (1) é negativo. Já que YRj < 0, o novo 𝐶𝑗 será positivo, e a 
regra garante que o novo tableau após o pivoteamento seja dual factível.
Exemplo 
Minimizar Z = X1 + 4X2 + 3X4
S.a X1 + 2X2 - X3 + X4 ≥ 3
-2X1 - X2 + 4X3 + X4 ≥ 2
X1 ≥ 0, X2 ≥ 0, X3 ≥ 0, X4 ≥ 0 
Na forma padrão temos
Minimizar Z = X1 + 4X2 + 3X4
S.a X1 + 2X2 - X3 + X4 - X5 = 3
-2X1 - X2 + 4X3 + X4 - X6 = 2
X1 ≥ 0, X2 ≥ 0, X3 ≥ 0, X4 ≥ 0, X5 ≥ 0, X6 ≥ 0. 
CB
CJ
BASE
1
X1
4 
X2
0
X3
3 
X4
0 
X5
0 
X6 CONSTANTES
0 X5 -1 -2 1 -1 1 0 -3
0 X6 2 1 -4 -1 0 1 -2
Linha 𝐶 1 4 0 3 0 0 Z = 0
TABLEAU 1
Solução básica X1 = X2 = X3 = X4 = 0 X5 = -3 X6 = -2
Assim, X5 sai da base pois tem o valor mais negativo dentre as variáveis básicas 
Variável não básica Yij 𝐶𝑗 Razão 
X1 -1 1 -1
X2 -2 4 -2
X4 -1 3 -3
Máxima razão, X1
entra na base
Pivoteamento 
1- Dividir a linha pivô por -1
2- Multiplicar a linha pivô por 2 e adicionar a linha dois
3- Multiplicar a linha pivô por 1 e adicionar a linha 𝐶.
Após o pivoteamento o novo tableau será 
TABLEAU 2
CB
CJ
BASE
1
X1
4 
X2
0
X3
3 
X4
0 
X5
0 
X6 CONSTANTES
1 X1 1 2 -1 1 -1 0 3
0 X6 0 -3 -2 -3 2 1 -8
Linha 𝐶 0 2 1 2 1 0 Z = 3
Solução básica X2 = X3 = X4 = X5 = 0; X1 = 3 , X6 = -8.
Pelo último tableau vemos que X6 sai da base, pois possui o valor mais negativo dentre as variáveis 
básicas. Para ver quem entra na base, temos 
Variável não básica Yij 𝐶𝑗 Razão 
X2 -3 2 −2
3
X3 -2 1 −1
2
X4 -3 2 −2
3
Máxima razão, X3
entra na base
Após o pivoteamento o novo tableau será
CB
CJ
BASE
1
X1
4 
X2
0
X3
3 
X4
0 
X5
0 
X6 CONSTANTES
1 X1 1 7
2
0 5
2
-2 −1
2
7
0 X3 0 3
2
1 3
2
-1 −1
2
4
Linha 𝐶 0 1
2
0 1
2
2 1
2
Z = 7
TABLEAU 3
A solução básica do último tableau é X1 = 7, X3 = 4, X2 = X4 = X5 = X6 =0 .
Observe que o tableau 3 é factível para o primal e para o dual, então a solução básica obtida é 
ótima. 
Uso do dual simplex para identificar que o primal é infactível
Quando a regra da razão falha (isto é todos os elementos da linha pivô são não negativos),
o método dual simplex termina com a conclusão de que o problema primal não tem uma solução 
factível.
Resolvendo um problema de maximização com o dual simplex
Elementos da linha 𝐶 são não positivos. Assuma que 𝑏𝑟 < 0 e então Xr deve deixar a base. A variável 
não básica para entrar na base é escolhida de forma que os elementos da linha 𝐶𝑗 permaneçam não 
positivos. Isso pode ser garantido usando a regra
Mínimo 
𝐶𝑗
𝑌𝑅𝑗
Yij < 0 .
Análise de Sensibilidade
Essa análise se trata de mudanças que ocorrem na solução ótima e no valor ótimo, devido a 
mudanças nos coeficientes de entrada. Vamos tratar dos seguintes casos 
1- Mudanças nos coeficientes da função objetivo (Cj)
2- Mudanças nas constantes (bj)
3- Mudanças nas restrições (coeficientes da matriz A)
3.1- Adicionar novas variáveis
3.2- Mudar colunas existentes
3.3- Adicionar novas restrições
Exemplo 
Considere o seguinte programa linear
Maximizar Z = 2X1 + 3X2 + X3 Onde X1, X2, X3 representam a quantidade
s.a
X1
3
+ 
X2
3
+ 
X3
3
≤ 1 dos produtos A, B, C respectivamente
X1
3
+ 
4X2
3
+ 
7X3
3
≤ 3
X1 ≥ 0, X2 ≥ 0, X3 ≥ 0
O tableau ótimo é 
CB
CJ
BASE
2
X1
3 
X2
1
X3
0 
X4
0 
X5 CONSTANTES
2 X1 1 0 -1 4 -1 1
3 X2 0 1 2 -1 1 2
Linha 𝐶 0 0 -3 -5 -1 Z = 8
Variação em Cj
Caso 1- Mudança do coeficiente de uma variável não básica na função objetivo
Se no exemplo anterior C3 diminuir, não haverá efeito na solução ótima.
Se C3 aumentar acima de um certo valor, o produto C pode se tornar interessante de se produzir.
O tableau dado é ótimo desde que 𝐶3 ≤ 0.
𝐶3 = C3 - 2 3 −1
2
= C3 – 4 para que o tableau dado seja ótimo, devemos ter
𝐶3 = C3 – 4 ≤0 , ou seja, C3 ≤ 4.
Por exemplo, suponha que C3 é aumentado para 6, então 𝐶3 = 2 e o mix de produtos não é mais 
ótimo (isto é X3 pode aumentar na base e aumentar Z). O novo tableau ótimo será:
CB
CJ
BASE
2
X1
3 
X2
6
X3
0 
X4
0 
X5 CONSTANTES
2 X1 1 1
2
0 7
2
−1
2
2
6 X3 0 1
2
1 −1
2
1
2
1L
Linha 𝐶 0 -1 0 -4 -2 Z = 10
Caso 2- Mudança do coeficiente da função objetivo de uma variável básica
Se no nosso exemplo C1 diminuir abaixo de um certo valor, não será mais interessante produzir o 
produto A. Então A sai do mix ótimo de produtos. Se C1 aumentar é possível que haja mudança do 
mix ótimo de produtos.
Determinaremos uma faixa de variação para C1, dentre a qual a solução ótima não é afetada. Uma 
mudança em C1 muda o vetor CB = (C1 C2). Note que os lucros relativos as variáveis básica (𝐶1 e 𝐶2) 
não são afetados e permanecem zero.
Entretanto o lucro relativo as variáveis não básicas ( 𝐶3, 𝐶4 e 𝐶5) vão mudar.
𝐶3= 1 - 𝐶1 3 −1
2
= C1 – 5
𝐶4 = 0 - 𝐶1 3 4
−1
= -4C1 + 3 
𝐶5 = 0 - 𝐶1 3 −1
1
= C1 – 3 .
Note que 𝐶3 ≤ 0, desde que C1 ≤ 5 , e também que 
𝐶4 ≤ 0 se C1 ≥
3
4
𝐶5 ≤ 0 se C1 ≤ 3
O tableau permanece ótimo desde que a variação de C1 esteja dentro dos limites impostos para 
todas as variáveis não básicas.
Se a faixa para C1 for escolhida como 
3
4
, 3 , então todo 𝐶𝑗 vai permanecer não positivo e 
consequentemente a solução presente 
X1 = 1, X2 = 2, X3 = 0 ainda é ótima. 
Caso 3- Mudança no coeficiente da função objetivo de variáveis básicas e não basicas
Suponha que no nosso exemplo a função objetivo mude para 
Z = X1 + 4X2 + 2X3
O efeito na solução ótima é verificado olhando se a linha 𝐶 permanece não positiva, temos 
𝐶1 = 𝐶2 = 0
𝐶3 = 2 - 1 4 −1
2
= -5 < 0
𝐶4 = 0 - 1 4 4
−1
= 0
𝐶5 = 0 - 1 4 −1
1
= -3 < 0
Então a solução ótima não muda, continua 
X1 = 1, X2 = 2, X3 = 0, mas o valor de Z se torna Z = 9
Mudança na constante (bi)
Suponha que o vetor de constantes muda de 1
3
para 2
3
. Esta mudança não afeta o tableau ótimo. 
A fim de estudar o efeito da variação do vetor de constantes é suficiente verificar se todas as 
constantes permanecem não negativas.
As colunas básicas correspondem as variáveis X1 e X2 no tableau inicial, então 
B = 
1
3
1
3
1
3
4
3
Como X4 e X5 são as variáveis básicas iniciais, 𝐵−1 possui as colunas correspondentes a estas 
variáveis no tableau ótimo, ou seja
𝐵−1 = 
4 −1
−1 1
O valor do novo vetor de constantes no tableau é 
 𝑏 = 
4 −1
−1 1
∙
2
3
= 
5
1
O novo valor do vetor de constantes no tableau passa a ser 
5
1
o qual é positivo. Então o tableau 
permanece ótimo, e o novo mix ótimo será 
X1 = 5, X2 = 1, X3 = 0 onde o max valor é Z = 13.
Observe que a solução ótima e o valor ótimo mudam, mas a base ótima não muda, isto é, ainda é 
interessante produzir somente os dois produtos A e B. 
Ainda analisando a mudança nas constantes, suponha agora que uma unidade extra de 
trabalho possa ser obtida permitindo hora extra que custa $4 para a companhia. A 
companhia quer saber se é interessante utilizar a hora extra.
Como o aumento no lucro é 13 − 8 = $5 que é maior que o custo da hora extra ($4), 
então é interessante usar a hora extra para se obter um aumento em uma unidade de 
trabalho. O aumento de $5 por unidade de aumento no recurso “trabalho” é chamado 
de “preço sombra da restrição de trabalho”.
• A solução dual ótima corresponde aos preços sombras das restrições do primal
No exemplo anterior, a solução dual ótima é dada por
𝑌10 𝑌20 = Multiplicadores simplex obtidos no tableau ótimo 
𝑌10 𝑌20 = 𝐶𝐵 ∙ 𝐵−1 = 2 3 ∙
4 −1
−1 1
=
5
1
Então a solução ótima dual é 𝑌10 = 5 e 𝑌20 = 1
O preço sombra reflete a variação líquida no valor de Z por unidade de aumento do recurso, desde 
que a variação no recurso não mude a base ótima. Então para usar o preço sombra de forma 
apropriada, temos que calcular a faixa de variação do recurso , de modo que a base ótima 
permaneça inalterada.
Seja b1 a quantidade de recurso disponível, e 𝑏∗ o novo vetor das constantes no tableau inicial, 
então 𝑏∗ = 
b1
3
. Para o tableau final permanecer ótimo, devemos ter 
𝐵−1 ∙ 𝑏∗ ≥ 0
4 −1
−1 1
∙
b1
3
≥ 0
4b1 − 3
−𝑏1 + 3
≥ 0
 
4𝑏1 − 3 ≥ 0
−𝑏1 + 3 ≥ 0
3
4
≤ 𝑏1 ≤ 3
X1 e X2 permanecem na base desde que o recurso trabalho varie entre 
3
4
e 3.
Note que a solução ótima e o valor ótimo mudam, a nova solução ótima será 
X1 = 4b1 - 3, X2 = −b1 +3, X3 = 0 e o lucro máximo 
Z = 2 4𝑏1 − 3 + 3 −𝑏1 + 3 = 5𝑏1 + 3
Ainda analisando o caso anterior, suponha agora que o trabalho seja aumentado para 4 unidades. 
Isso significa que os valores das constantes no tableau inicial serão 
4
3
. E consequentemente os 
novos valores das constantes no ultimo tableau serão 
13
−1
. Portanto , o último tableau não é mais 
ótimo. Temos
Note que o tableau anterior é infactível para o primal, mas é factível para o dual
CB
CJ
BASE
2
X1
3 
X2
1
X3
0 
X4
0 
X5 CONSTANTES
2 X1 1 0 -1 4 -1 13
3 X2 0 1 2 -1 1 -1
Linha 𝐶 0 0 -3 -5 -1 Z = 8
A nova solução ótima pode ser obtida pelo dual simplex, onde vemos que X2 sai da base e X4 entra 
na base. Após o pivoteamento, temos 
O tempo anterior é ótimo, já que as constantes são ≥ 0. O novo mix ótimo de produtos quando o 
trabalho é aumentado para 4 unidades é X1 = 9, X2 = X3 = 0 e o lucro máximo Z = 18.
CB
CJ
BASE
2
X1
3 
X2
1
X3
0 
X4
0 
X5 CONSTANTES
2 X1 1 4 7 0 3 9
0 X4 0 -1 -2 1 -1 1
Linha 𝐶 0 -5 -13 0 -6 Z = 8
Alteração nos elementos da matriz A
Caso 1- Adição de uma nova variável 
Suponha que a companhia avalia a possibilidade de produzir um novo produto D, que requer 1 
unidade de trabalho e 1 unidade de material. O novo produto pode ser vendido por $3. Vamos 
adicionar uma variável X6 e uma coluna 
1
1
no tableau inicial. O mix de produtos ótimos atual 
permanece ótimos desde que
C6 = C6 − 𝜋P6 ≤ 0
𝜋 = 𝐶𝐵 ∙ 𝐵−1 = 2 3 ∙
4 −1
−1 1
=
5
1
C6= 3 − 5 1 ∙ 1
1
= −3
Então o produzir D não melhora o valor atual do lucro, caso C6≥ 0 bastaria adicionar X6 na base e 
fazer 1 iteração do método simplex.
Caso 2- Variação nos requerimentos de recurso de uma atividade existente
• Quando os requerimentos de trabalho ou material de uma atividade não básica ( por exemplo X3
que corresponde a quantidade de produto C) mudam, o efeito pode ser estudado como no caso 1.
• Se os coeficientes das restrições de uma atividade básica mudam ( por exemplo X1 ou X2 referentes 
aos produtos A e B respectivamente), então a matriz base é afetada. Isso pode afetar todas as 
quantidades dadas no tableau ótimo atual. Nesse caso é melhor resolver o programa linear do 
zero.
Caso 3- Adição de uma nova variável 
Suponha que seja adicionada uma restrição de serviços administrativos ao problema, onde os 
produtos A, B e C requerem 1, 2 e 1 horas respectivamente. E suponha ainda que a quantidade de 
horas de serviços administrativos disponível seja de 10 horas, a nova restrição será
X1 + 2X2 + X3 ≤ 10
• Se a solução ótima atual satisfazer essa nova restrição, então essa solução continua ótima.
Observe que no nosso exemplo a solução ótima atual satisfaz a nova restrição e portanto o mix
ótimo de produtos não é alterado.
• Suponha que a nova restrição fosse 
X1 + 2X2 + X3 ≤ 4
A solução atual viola essa restrição, então o tableau atual não é mais ótimo. Usando X6 como a 
variável de folga para a restrição anterior, temos 
X1 + 2X2 + X3 + X6 = 4 . 
Após adicionada a ultima igualdade no tableau ótimo, teremos 
Observe que o tableau anterior não está naforma canônica, obtemos
CB
CJ
BASE
2
X1
3 
X2
1
X3
0 
X4
0 
X5
0
X6 CONSTANTES
2 X1 1 0 -1 4 -1 0 1
3 X2 0 1 2 -1 1 0 2
0 X6 1 2 1 0 0 1 4
Linha 𝐶 0 0 -3 -5 -1 0 Z = 8
CB
CJ
BASE
2
X1 
3 
X2
1
X3
0 
X4
0 
X5
0
X6 CONSTANTES
2 X1 1 0 -1 4 -1 0 1
3 X2 0 1 2 -1 1 0 2
0 X6 0 0 -2 -2 -1 1 -1
Linha 𝐶 0 0 -3 -5 -1 0
Aplicando o método do dual simplex, vemos que X6 sai da base e
Consequentemente X5 entra na base e, após o pivoteamento, temos
O novo mix ótimo de produtos é produzir 2 unidades de A e 1 unidade de B, e o lucro máximo foi 
reduzido de 8 para 7 devido a nova restrição.
Variáveis não básicas Yij 𝐶𝑗 Razão
X3 −2 −3 3
2
X4 −2 −5 5
2
X5 −1 −1 1
CB
CJ
BASE
2
X1
3 
X2
1
X3
0 
X4
0 
X5
0
X6 CONSTANTES
2 X1 1 0 1 6 0 -1 2
3 X2 0 1 0 -3 0 1 1
0 X5 0 0 2 2 1 -1 1
Linha 𝐶 0 0 -1 -3 0 -1 Z = 7
O princípio da decomposição de Dantizig-Wolfe
Considere o seguinte programa linear, onde X é um conjunto poliédrico não vazio e limitado.
Minimizar CX
Sujeito a AX = b
X ∈ X
Qualquer ponto X ∈ X pode ser representado como uma combinação convexa de um número finito 
de pontos extremos de X. Denotando esses pontos por X1, X2, . . . , Xt, qualquer X ∈ X pode ser 
representado como: 
𝑋 = 
𝑗=1
𝑡
𝜆𝑗 ∙ 𝑋𝑗
onde 
 
𝑗=1
𝑡
𝜆𝑗 = 1
𝜆𝑗 ≥ 0
𝑗 = 1, 2, . . . , 𝑡
Então o problema pode ser escrito como
Minimizar 𝑋 = 
𝑗=1
𝑡
(𝐶 ∙ 𝑋𝑗)𝜆𝑗
Sujeito a 
𝑗=1
𝑡
(𝐴 ∙ 𝑋𝑗)𝜆𝑗 = 𝑏
 
𝑗=1
𝑡
𝜆𝑗 = 1
𝜆𝑗 ≥ 0
𝑗 = 1, 2, . . . , 𝑡
Como X é um conjunto poliedral limitado, o valor máximo de qualquer programa linear sobre X
será atingido em um de seus pontos extremos. Portanto 
Máximo 𝑤𝐴 − 𝐶 𝑋𝑗 + α = Máximo 𝑤𝐴 − 𝐶 𝑋 + α
1 ≤ 𝑗 ≤ 𝑡 X ∈ X
Algoritmo de decomposição ( Problema de maximização)
Inicialização
Encontrar uma solução básica factível para o sistema definido por
 
𝑗=1
𝑡
(𝐴 ∙ 𝑋𝑗)𝜆𝑗 = 𝑏
 
𝑗=1
𝑡
𝜆𝑗 = 1
𝜆𝑗 ≥ 0
𝑗 = 1, 2, . . . , 𝑡
Seja B a base, forme o seguinte vetor 
𝑤 , α = 𝐶𝐵 ∙ 𝐵
−1
Definimos 𝐶𝑗 = 𝐶𝑋
𝑗 e 𝑏 = 𝐵−1
𝑏
1
.
𝐵−1 𝑏
(𝑤 , α) 𝐶𝐵 ∙ 𝑏
Passo principal
1- Resolva o problema 
Max 𝐶 − 𝑤𝐴 − α
Sujeito a X ∈ X
Seja 𝑋𝑘 a solução básica factível ótima com valor objetivo 𝐶𝑘. Se 𝐶𝑘 = 0 a solução básica factível do 
último problema mestre resolvido é ótima para o problema global. Caso contrário (𝐶𝑘 > 0), então 
vá para o passo 2.
2- Seja 𝑌𝑘 = 𝐵−1 𝐴𝑋
𝑘
1
Adicionamos 𝑌𝑘 ao tableau revisado. A variável 𝜆r que sai da base é determinada usando a regra da 
razão mínima. A matriz 𝐵−1, variáveis duais, vetor 𝑏 são atualizadas fazendo pivoteamento.
Exemplo numérico
Considere o seguinte exemplo
Minimizar Z = – 2X1 – X2 – X3 + X4 
X1 + X3 ≤ 2
X1 + X2 +2X4 ≤ 3
X1 ≤ 2
X1 + 2X2 ≤ 5 
– X3 + X4 ≤ 2
2X3 + X4 ≤ 6
X1≥0, X2 ≥0, X3 ≥0, X4 ≥0
Se considerarmos o X como o anterior, teremos
𝐴 =
1 0 1 0
1 1 0 2
e 𝑏 =
2
3
.
Consideremos 𝑆 ≥ 0 como o vetor de folga e 𝑋1, 𝑋2, . . . , 𝑋𝑡 como os pontos extremos de X, então 
 𝐶𝑗 = C ∙ 𝑋
𝑗 𝑗 = 1, 2, . . . , 𝑡
O problema reformulado será
𝑀𝑖𝑛 
𝑗=1
𝑡
 𝐶𝑗 ∙ 𝜆𝑗
𝑆𝑢𝑗𝑒𝑖𝑡𝑜 𝑎 
𝑗=1
𝑡
(𝐴𝑋𝑗)𝜆𝑗 + 𝑆 = 𝑏
 
𝑗=1
𝑡
𝜆𝑗 = 1
𝜆𝑗 ≥ 0, 𝑗 = 1,2, . . . , 𝑡 𝑆 ≥ 0 .
Vamos começar com o ponto extremo 𝑋1 =
0
0
⋮
0
de X, então 
 𝐶1 = 𝐶 ∙ 𝑋1 = 0
Minimizar 0𝜆1
Sujeito a X1 + X3 + S1 = 2
X1 + X2 +2X4 + S2 = 3
𝜆1 = 1 .
Note que 𝐵 = 𝐼3, o vetor π , α = 𝐶𝐵 ∙ 𝐵
−1 = 0 ∙ 𝐵−1 = 01𝑥3 e 𝑏 = 𝐵
−1 𝑏
1
=
𝑏
1
Sub Problema 1
Min 𝐶 − 𝜋𝐴 𝑋 − α
s.a X ∈ X
ou seja
Min –2X1 –X2 –X3 + X4
s.a X ∈ X.
BASE 𝐵−1 𝑏
S1 1 0 0 2
S2 0 1 0 3
𝜆1 0 0 1 1
0 0 0 Z = 0
A solução ótima do sub problema 1 é 𝑋2 =
2
3
2
3
0
com valor ótimo −
17
2
. Então 𝑋2 é introduzido na 
base.
Novo problema mestre
𝐴𝑋2 =
1 0 1 0
1 1 0 2
∙
2
3
2
3
0
=
5
7
2
𝐴𝑋2
1
=
5
7
2
1
𝐵−1 ∙ 𝐴𝑋
2
1
=
5
7
2
1
.
Assim, como temos
Após o pivoteamento, teremos
BASE 𝐵−1 𝑏
S1 1 0 0 2
S2 0 1 0 3
𝜆1 0 0 1 1
0 0 0 Z = 0
𝜆2
5
7
2
1
BASE 𝐵−1 𝑏
𝜆2 1
5
0 0 2
5
S2 −7
10
1 0 8
5
𝜆1 −1
5
0 1 3
5
Consequentemente, a melhor solução factível até o momento é
𝑋 = 𝑋1𝜆1 +𝑋2𝜆2
𝑋 =
0
0
0
0
𝜆1 + 
2
3
2
3
0
𝜆2 =
4
5
3
5
6
5
0
.
Referências 
1- Hillier, F. S., and G. J. Lieberman, Introduction to Operations Research, 4th ed.,
Holden-Day, Inc., San Francisco, CA, 1986.
2- Bazaraa, M., Jarvis, J. and Sherali, H Linear Programming and Network Flows,
fourth edition, 2010, Wiley.

Outros materiais