Você está na página 1de 58

EEL 6000 - Métodos Numéricos de Otimização

Programação
Linear - PL
Prof.: Edson Luiz da Silva, D. Eng.
edson@labplan.ufsc.br

Laboratório de Planejamento de Sistemas de Energia Elétrica


Centro Tecnológico – Departamento de Engenharia Elétrica
Tel. +55 (48) 331.9731/9933 – Fax +55 (48) 331.7538
Homepage: htto://www.labplan.ufsc.br
Conteúdo
 Definição e Formulação de um PL

 Geometria do PL e definições

 Pivotamento

 Método Simplex

 Otimalidade e Dualidade

 Multiplicador Simplex ou Preço Sombra


EEL6000 – Métodos Numéricos de Otimização 2
Técnicas para a Operação de SEE 2
Programação Linear

Definição de um PL

EEL6000 – Métodos Numéricos de Otimização 3


Técnicas para a Operação de SEE 3
Forma Padronizada
 Estrutura
 Função Objetivo Linear
 Restrições Lineares de Igualdade

min z  c x t  c e x, vetores em n
s.a :
 b, vetor em m
(1)  A, matriz mxn (n>m)
Ax  b  Se n = m  Sistema Linear
x0 (não é PL)
 Conversão das Restrições de Desigualdade em de
Igualdade
Ax  b  Ax  z  b, z  0
Ax  b  Ax  y  b, y  0
EEL6000 – Métodos Numéricos de Otimização 4
Técnicas para a Operação de SEE 4
Formulação de um PL
 Uma fábrica de copos deseja maximizar os seus lucros
produzindo copos de suco, coquetel e champagne. O gerente de
produção tem as seguintes informações*:
Copo Lucro Unitário Tempo requerido Armazenamento
para produção Requerido

Suco 5 6 10

Coquetel 4,5 5 20

Champagne 6 8 10

* Todas as informações referem-se a centena de unidades


EEL6000 – Métodos Numéricos de Otimização 5
Técnicas para a Operação de SEE 5
Formulação de um PL
 Adicionalmente, o gerente sabe que a
capacidade de produção semanal é limitada em
60 horas, a capacidade de armazenamento é
limitada em 150 unidades e a demanda semanal
por copos de suco não ultrapassa 8 unidades.
 Auxilie o gerente, formulando o PL adequado.

max z  5 x1  4.5 x2  6 x3
s.a :
6 x1  5 x2  8 x3  60
10 x1  20 x2  10 x3  150

EEL6000 – Métodos Numéricos de Otimização


x1 8 6
Técnicas para a Operação de SEE 6
Geometria do PL
max z  x1  3 x2
s.a :
 x1  x2  1 1 x1  0 3

x1  x2  2 2 x2  0 4

EEL6000 – Métodos Numéricos de Otimização 7


Técnicas para a Operação de SEE 7
Geometria do PL
 Exemplo
 Solução Geométrica de um PL
 x1 z
z  x1  3x2  x2  
3 3
x2

Variando z = 1 a 5:
2
1 z=0 → x2 = -1/3 x1
1.5 z=1 → x2 = -1/3 x1+1/3
z=2 → x2 = -1/3 x1+2/3
1 z=3 → x2 = -1/3 x1+1
z=5 z=4 → x2 = -1/3 x1+4/3
Região Viável
2 z=4 z=5 → x2 = -1/3 x1+5/3
4 z=3
0.5 1 2
Solução ótima limitada
z=2 1
x
3 Se z = 2x1 + 2x2 temos múltiplas
z=1 soluções
EEL6000 – Métodos Numéricos de Otimização z=0 Z=4
Técnicas para a Operação de SEE
8
8
Solução Ilimitada

x2

2 1

1.5

Região Viável Ilimitada

0.5 2
x1

EEL6000 – Métodos Numéricos de Otimização 9


Técnicas para a Operação de SEE 9
Solução Inviável
 Exemplo

max z  x1  3x2 x2
s.a : 2
1
x1  x2  0 1

x1  x2  2 2
1 2
x1

-1

solução inviável (1,-1) -2 1


x1 , x2 > 0

EEL6000 – Métodos Numéricos de Otimização 10


Técnicas para a Operação de SEE 10
Busca Exaustiva pelos Vértices
 Exemplo
max z  x1  3 x2
s.a :
 x1  x2  1 1 x1  0 3

x1  x2  2 2 x2  0 4

x2
4 soluções básicas
viáveis (vértices)
2 1

(0, 0) → z = 0
1.5 *
*1
(0, 1) → z = 3
(0.5, 1.5) → z = 5
2 (2, 0) → z = 2
4
*
* 0.5 2
x1
3

EEL6000 – Métodos Numéricos de Otimização 11


Técnicas para a Operação de SEE 11
Conjunto Viável
 O conjunto viável é definido pelas restrições
lineares formando um “politopo”
 As soluções viáveis (*) encontram-se nos
vértices do “politopo”

EEL6000 – Métodos Numéricos de Otimização 12


Técnicas para a Operação de SEE 12
Definições
 Uma solução viável para o PL é um vetor x que
satisfaz o conjunto de restrições
 Uma matriz base B [mxm] é uma matriz não
singular formada por conjuntos de colunas de A
 Uma solução básica para um PL é um vetor
único (x), determinado pela escolha de uma
matriz base B, tal que todas as (n-m) variáveis
correspondentes às colunas de A, não colocadas
na base, assumam valores nulos, e o sistema de
equações resultante seja resolvido para m
variáveis x   
        
B | N b

 0   
A  
x b
EEL6000 – Métodos Numéricos de Otimização 13
Técnicas para a Operação de SEE 13
Definições
 A matriz base B somente é viável, se e somente
se, xb forem não negativos
 Uma solução básica viável é uma solução básica
onde todas as variáveis são não-negativas
 Uma solução básica viável não-degenerada é
uma solução básica viável com exatamente m
valores positivos de x
 Uma solução ótima é uma solução viável que
minimiza z

EEL6000 – Métodos Numéricos de Otimização 14


Técnicas para a Operação de SEE 14
Matriz Base B
 Exemplo
1 2 3 x1 
4
 x1  x2  x3 1  
  1 1 1 0   x2  1 
 x1  x2  x4  2    
 xi  0, i  1, 4  1 1 0 1   x3   2 
  
Base Base
 x4 
3 4

1 0   x3  1
B   x1  x2  0 e 
0 1   x4  2
1 4

 1 0   x1  1 X
B'     x2  x3  0 e  Solução Básica não Viável

 1 1  x4  3

EEL6000 – Métodos Numéricos de Otimização 15


Técnicas para a Operação de SEE 15
Complexidade Computacional
 Um método elementar de solução do PL é
percorrer as soluções viáveis x (vértices) e
identificar a solução que maximiza ou minimiza
a função objetivo z
 Limite superior do número de soluções básicas

n n!
 
 m  (n  m)!m !

Inviável
computacionalmente
para problemas reais

EEL6000 – Métodos Numéricos de Otimização 16


Técnicas para a Operação de SEE 16
Limite Superior das Soluções
 Exemplo
 Considere o seguinte problema típico de
planejamento da operação de um sistema
hidrotérmico 4080 variáveis de geração e 504
restrições

Quantidade de Soluções Viáveis do PL:

1680  1680! Inviável Analisar as


   NaN
Soluções Básicas de um
 504  (1680  504)!504!
PL

EEL6000 – Métodos Numéricos de Otimização 17


Técnicas para a Operação de SEE 17
Programação Linear

Pivotamento

EEL6000 – Métodos Numéricos de Otimização 18


Técnicas para a Operação de SEE 18
Pivotamento
 Sistemas de Equações Lineares Equivalentes -
SELE
 Definição: Dois sistemas de equações são ditos
equivalentes se eles possuem as mesmas soluções

Multiplicar qualquer equação, Ei, por uma constante k≠0

Substituir qualquer equação, Et, pela equação Et+kEi, onde
Ei é qualquer outra equação do sistema
 Pivotamento
 Sequência de operações elementares entre as
equações do sistema, que substitui um SEL por um
SELE
 O SELE possui coeficiente unitário para uma variável
e zero para as demais

EEL6000 – Métodos Numéricos de Otimização 19


Técnicas para a Operação de SEE 19
Pivotamento
 Etapas
 Selecionar um termo arsxs na linha r, coluna s, com
ars≠0
 Substituir a r-ésima equação pela r-ésima

multiplicada por 1/ars


 Para cada i=1,m exceto i=r, substituir a i-ésima

equação, Ei, por Ei-(ais/ars)Er


 Exemplo

max z  x1  3x2
11 1101 0.5
22 x1E1+E2 x1   0.5
s.a : E  x(-1)E +E    
x1  x2  2 01 1121 1.5
1.5
31 x0.5E2 2 1x2  1.5 
z5
 x1  x2  1
EEL6000 – Métodos Numéricos de Otimização 20
Técnicas para a Operação de SEE 20
Solução do PL: Método Simplex

George Bernard Dantzig (08/11/1914 – 13/05/2005)


Matemático americano, que introduziu o algoritmo Simplex em 1947 e é
considerado "pai da programação linear”. Recebeu muitas honras,
incluindo a Medalha Nacional de Ciência em 1975 e o prêmio a teoria
John von Neumann em 1974

EEL6000 – Métodos Numéricos de Otimização 21


Técnicas para a Operação de SEE 21
Método Simplex
 “O ponto ótimo sempre se localiza em um ponto
extremo da solução viável”

 Método de Solução é percorrer os vértices da


região viável (“politopo”) até encontrar a
solução que tenha o menor valor de função
objetivo

EEL6000 – Métodos Numéricos de Otimização 22


Técnicas para a Operação de SEE 22
Método Simplex
 PL Original  xb 
min z  c x t
min  cb cN   
s.a :  xN 
s.a :
Ax  b Bxb  NxN  b  B 1
 xb 
x0 B N      b
Ixb  B 1 NxN  B 1b
 xN 
   
 x  
 x1 0 0 0   a1,m 1 a1, m 2  a1, n   m 1   b1 
0 x2 0 0      
    
0 0  0          
    xn    
0 0 0 xm     
 a m,m 1 a m ,m  2  a m ,n  b m 
Variáveis Básicas ou Forma Variáveis não-Básicas ou
Variáveis Dependentes Canônica Variáveis Independentes
EEL6000 – Métodos Numéricos de Otimização 23
Técnicas para a Operação de SEE 23
Método Simplex
 Solução
0   b1   xm 1  0 
 
 x1 0 0
0 x2 0 0       
   e  
0 0  0         
       
0 0 0 xm 
 m 
b  xn  0 

bi  0, i  1, m
 Solução Degenerada 
 Se pelo menos um
bi  0

EEL6000 – Métodos Numéricos de Otimização 24


Técnicas para a Operação de SEE 24
Método Simplex
 Artifício para uso do Método
 Função Objetivo como Restrição Adicional
 z  ci xi  0, i  1, n
 Variáveis Básicas
xi , i  1, m e ( z )
 Nova Solução

xi  bi , i  1, m
xm  j  0, j  1, n  m

( z )   z
 Esta Solução é Ótima?

EEL6000 – Métodos Numéricos de Otimização 25


Técnicas para a Operação de SEE 25
Método Simplex
 Teste de Otimalidade (Minimização)
 Teorema
 Uma solução
 Básica Viável é uma solução ótima com custo
mínimo z se todas as constantes cm+1,..., cn (fatores de custo
relativo) são não negativas
 Prova
 Função Objetivo 
z  z  cm 1 xm 1  ...  cn xn
 No momento xj=0, j=m+1,n
 A única forma de variação é se uma variável não-básica se
tornar positiva
 No entanto, o valor da função objetivo (z) não decresce, pois
c j x j  0, j  m  1, n
 Portanto, a presente solução é ótima

EEL6000 – Métodos Numéricos de Otimização 26


Técnicas para a Operação de SEE 26
Método Simplex
 Conclusão
 Uma solução Básica Viável é uma solução viável
mínima e única se cj>0, j=m+1,n
 Caso cj<0 , j=m+1,n :
 Neste caso o valor da função objetivo pode ser reduzido,
com o incremento de xj

Variável Não Básica Variável Básica

EEL6000 – Métodos Numéricos de Otimização 27


Técnicas para a Operação de SEE 27
Método Simplex
 Exemplo
min z  x1  6 x2  7 x3  x4  5 x5
s.a :
5 x1  4 x2  13 x3  2 x4  x5  20 20
Variáveis
x1  x2  5 x3  x4  x5  8  8 básicas iniciais:
x1, x5, (-z)
x1j  60,x2j  1,5
7 x3  x4  5 x5  z  0
x j  0, j  1,5
Solução
Forma Canônica:
x5  0.25 x2  3 x3  0.75 x4  5 x5  5 x1  3 z  28
x1  0.75 x2  2 x3  0.25 x4  3 x2  x3  x4  0
( z )  8 x2  24 x3  5 x4  28 Solução Ótima? Não!
EEL6000 – Métodos Numéricos de Otimização 28
Técnicas para a Operação de SEE 28
Método Simplex
 Função Objetivo
z  28  24 x3 x3 entra na base!

Qual o máximo valor que x3 poderá assumir?
x5  5  3x3
 x3  1.5 x1 sai da base!
x1  3  2 x3
 Nova Solução
x1  x2  x4  0, x3  1.5, x5  0.5, z  28  24(1.5)  8
 Solução Ótima?
x5  1.5 x1  0.875 x2  0.375 x4  0.5
x3  0.5 x1  0.375 x2  0.125 x4  1.5 Não!

( z )  12 x1  x2  2 x4  8
EEL6000 – Métodos Numéricos de Otimização 29
Técnicas para a Operação de SEE 29
Método Simplex
 Função Objetivo
z  8  x2 x2 entra na base!

Qual o máximo valor que x2 poderá assumir?
x5  0.5  0.875 x2 4
 x2  x5 sai da base!
x3  1.5  0.375 x2 7
 Nova Solução
4 12 4 60
x1  x4  x5  0, x2  , x3  , z  8   
7 7 7 7

EEL6000 – Métodos Numéricos de Otimização 30


Técnicas para a Operação de SEE 30
Método Simplex
 Solução Ótima?
12 3 8 4
x2  x1  x4  x5 
7 7 7 7
1 2 3 12 SIM!
x3  x1  x4  x5 
7 7 7 7
72 11 8 60
( z )  x1  x4  x5 
7 7 7 7

EEL6000 – Métodos Numéricos de Otimização 31


Técnicas para a Operação de SEE 31
Método Simplex
 Solução degenerada
 Considere a segunda restrição do sistema original
(forma canônica), com a alteração do valor de b2
x1  0.75 x2  2 x3  0.25 x4  03
 Considere que x3 entra na base
x1  0  2 x3 x3=0
x1<0!!!!
z=cte
 Solução Ilimitada
 Se ao longo do processo iterativo tivéssemos:
x5  0.5  0.875 x2
x2 ILIMITADO!!
x3  1.5  0.375 x2
z  8  x2
EEL6000 – Métodos Numéricos de Otimização 32
Técnicas para a Operação de SEE 32
Método Simplex
 Melhoria de uma Solução Viável Não-Ótima
(caso geral para problemas de minimização)
 Se pelo menos um cj<0 e se todos bi>0   Outra solução
de menor custo

 Se mais que um cj<0 a variável xj a ser incrementada


(que irá para a base) será aquela de menor cj
 As demais variáveis não-básicas permanecem nulas. Então,
o efeito sobre as atuais
 variáveis básicas é:
xi  bi  a ij x j , i  1, m
  
z  z c j x j , c j  0

 Se
a ij  0, i  1, m  x
 j ilimitado
 Se pelo menos um a ij  0  x j limitado

EEL6000 – Métodos Numéricos de Otimização 33


Técnicas para a Operação de SEE 33
Método Simplex
 Teorema
 Assumindo não-degenerância em cada iteração, o
algoritmo simplex termina em um número finito de
iterações

EEL6000 – Métodos Numéricos de Otimização 34


Técnicas para a Operação de SEE 34
Fases do Método Simplex
 Fase I: Determinação de uma solução básica
inicial
 Variáveis artificiais
 z e w – variáveis básicas

 Fase II: Determinação da Solução Ótima

EEL6000 – Métodos Numéricos de Otimização 35


Técnicas para a Operação de SEE 35
Método Simplex
 Exemplo
min z  x1  6 x2  7 x3  x4  5 x5
s.a :
5 x1  4 x2  13x3  2 x4  x5  20
x1  x2  5 x3  x4  x5  8
x j  0, j  1,5
 Fase I – min w
5 x1  4 x2  13x3  2 x4  x5  x6  20
x1  x2  5 x3  x4  x5  x7 8
x1  6 x2  7 x3  x4  5 x5 z 0 (-z) e (-w) são
x6  x7 w0 sempre básicas

EEL6000 – Métodos Numéricos de Otimização 36


Técnicas para a Operação de SEE 36
Método Simplex
 Solução
x3  1.5 x5  0.5 z  8 w  0
x1  x2  x4  x6  x7  0
 Última Iteração da Fase I
1 3 1 1 1 3
 x1  x2  x3  x4  x6  x7 
2 2 8 8 8 2
3 7 3 5 13 1
x1  x2  x4  x5  x6  x7 
2 8 8 8 8 2
12 x1  x2  2 x4  4 x6  9 x7  z 8
x6  x7 w0

EEL6000 – Métodos Numéricos de Otimização 37


Técnicas para a Operação de SEE 37
Método Simplex
 Fase II – min z
1 3 1 1 1 3
 x1  x2  x3  x4  Xx6  Xx7 
2 2 8 8 8 2
3 7 3 5 13 1
x1  x2  x4  x5  Xx6  Xx7 
2 8 8 8 8 2
12 x1  x2  2 x4  4Xx6  9Xx7  z 8
 Última Iteração da Fase II Solução
1 2 3 12
 x1  x3  x4  x5  12 4
7 7 7 7 x3  x2 
7 7
12 3 8 4
 x1  x2   x4  x5  60
7 7 7 7 z
7
72 11 8 60
x1  x4  x5  z  x1  x4  x5  0
7 7 7 7
EEL6000 – Métodos Numéricos de Otimização 38
Técnicas para a Operação de SEE 38
Programação Linear

Otimalidade e Dualidade

EEL6000 – Métodos Numéricos de Otimização 39


Técnicas para a Operação de SEE 39
Relacionamento Primal - Dual
 Problema Primal
min z  c t x
s.a :
(1)
Ax  b
x0
 Problema Dual

max   bt 
s.a : (5)
At   c
 irrestrito em sinal

EEL6000 – Métodos Numéricos de Otimização 40


Técnicas para a Operação de SEE 40
Relacionamento Primal Dual
 Exemplo 1: PL com 20 restrições de
desigualdade e 2 variáveis
 Necessita 20 variáveis de folga
 Base 20 x 20
 Exemplo 2: PL com 2 restrições e 20 variáveis
 Necessita 2 variáveis de folga
 Base 2 x 2

Impacto no esforço
computacional

EEL6000 – Métodos Numéricos de Otimização 41


Técnicas para a Operação de SEE 41
Condições de Otimalidade - Revisão
 Problema Primal Geral
Min f(x)
s.a.
hi (x*) = 0 i
gi(x*)  0 iI
 Seja x* um mínimo local e que as restrições ativas em x* estão
qualificadas. Assim, existe um vetor *, i    I , tal que as
seguintes condições são satisfeitas em (x*, *)
 xL(x*, *) = 0  f(x*) + *i hi(x*) + *i gi(x*) = 0

 hi(x*) = 0 i
 gi(x*)  0 iI
 *i  0 iI
 *i gi(x*) = 0 iI
EEL6000 – Métodos Numéricos de Otimização 42
Técnicas para a Operação de SEE 42
Condições de Otimalidade
Aplicadas ao PL
 Convexidade do problema garante o Mínimo
Global

 Lagrangeano

 , sz)  ct x  t (Ax  b)  s t x
L(x,min (2)
s.a :

Ax  b s
x0

EEL6000 – Métodos Numéricos de Otimização 43


Técnicas para a Operação de SEE 43
Condições de Otimalidade Aplicadas ao
Primal
 Condições de Primeira Ordem  xL(x*, *, s*) = 0

At   s  c
Ax  b (3)
x0 
  xi si  0, i  1, n
s0 
 Ponto Ótimo (x*,π*,s*) que atende KKT

zc x  ( A
t

t **
 s * t *
) x  ( Ax )   bt  *  
* t *

 Valor do Primal (z) é igual ao Dual (θ) em


(x*,π*,s*)

EEL6000 – Métodos Numéricos de Otimização 44


Técnicas para a Operação de SEE 44
Condições de Otimalidade Aplicadas ao
Primal
 x* é uma solução global?

 Considere x uma solução viável do primal


t *
c x  ( A  s ) x  b   x s  bt  *  c t x*
t * * t t *
(4)

 A inequação (4) ilustra que não existe uma solução


viável com menor valor de função objetivo que ctx*

 Ou então, o ponto x é o próprio ponto ótimo x*,


com t
x s*  0

EEL6000 – Métodos Numéricos de Otimização 45


Técnicas para a Operação de SEE 45
Condições de Otimalidade Aplicadas ao
Dual
 Problema Dual
max   bt  min  '  bt 

s.a : (5)   s.a : (6)
 c  At   0
At   c 
 Lagrangeano de (6)

L( , x)  bt   x t (c  At  ) (7)
 Condições de Primeira Ordem de KKT
Ax  b
At   c (8)
x0
xi (c  At  )i  0, i  1, n
EEL6000 – Métodos Numéricos de Otimização 46
Técnicas para a Operação de SEE 46
Condições de Otimalidade Aplicadas ao
Dual
 Substituindo s=c-Atπ em (8)  xisi = 0
e introduzindo variáveis de folga na restrição
desigualdade  At+ L = c  L = c - Ats
 At+ s = c  s é a própria variável de folga
do problema dual
 Conclusão
 As condições de KKT (3) e (8) são idênticas
 Os multiplicadores de Lagrange, π, no problema
primal são, de fato, as variáveis ótimas no problema
dual
 Da mesma forma, os multiplicadores de Lagrange, x,
no problema dual são, de fato, as variáveis ótimas do
problema primal

EEL6000 – Métodos Numéricos de Otimização 47


Técnicas para a Operação de SEE 47
Relacionamento Primal – Dual
 Exemplo do Relacionamento Primal-Dual
max z  5 x1  4.5 x2  6 x3 min   60 1  150 2  8 3
s.a : s.a :
6 x1  5 x2  8 x3 
 x60
4  60 6 1  10 2   3   54 5
10 x1  20 x2  10 x3  150
 x5  150 5 1  20 2  4.5  5  4.5
x1 8  x6  8 8 1  10 2 6 6  6
x1 , x2 , x3 , x4 , x5 , x6  0  1 ,  2 ,1, 3 2, 03 ,  4 ,  5 ,  6  0

 Solução Ótima
x*   6.4286 4.2857 0  *   0.7857 0.0286 0
 *   0.7857 0.0286 0 x*    6.4286 4.2857 0
z *  51.4286  *  51.4286
EEL6000 – Métodos Numéricos de Otimização 48
Técnicas para a Operação de SEE 48
Relacionamento Primal – Dual
 Teoremas
 1. Se (x* e π*) são soluções do primal e dual, então

z *  c t x*   *b   *
 2. Se (1) ou (5) tem uma solução com valor ótimo de
função objetiva finito, então, a solução do outro
problema é igual
 3. Se (1) ou (5) tem uma função ilimitada então o
outro problema não terá uma solução viável

EEL6000 – Métodos Numéricos de Otimização 49


Técnicas para a Operação de SEE 49
Relacionamento Primal – Dual
 Provas
 Teorema 1
 Dado que x* é uma solução viável do primal (1), então x* é
positivo e Ax*=b (I)
 Da mesma forma, para o dual (5), At  *  c (II)
 Pré-multiplicando (I) por π* e (II) por x*:
 * Ax*   *b
x* At  *  x* c
 Aplicando a transposta na última inequação, tem-se:
 * At x*  c t x*   *b  c t x*   *  z *
min z
Gap de
Z-θ
dualidade
max θ

EEL6000 – Métodos Numéricos de Otimização 50


Técnicas para a Operação de SEE 50
Relacionamento Primal – Dual
 Teorema 2
 x* é uma solução viável do primal (1)
 B* é a base ótima associada B* xb*  b e xb*  0

xb* é o vetor das variáveis básicas
 * é o vetor de multiplicadores associados à solução
Da Formulação do Dual
At = c  [B:N] = [cb: cn]
B*t  *  cb   *  cbt B*1
 Valor da função objetivo do dual (θ*)
 *   *b  cbt B*1b  cbt xb*  z *
 Portanto
 θ*= z*
 max θ= min z
EEL6000 – Métodos Numéricos de Otimização 51
Técnicas para a Operação de SEE 51
Relacionamento Primal – Dual
 Teorema 3
 Primal ilimitado min z  

b é limitado
z           b
π deveria ser ilimitado
e negativo
 Para que π seja uma solução viável do dual

At c π é limitado!

 É impossível um valor que tende ao infinito negativo ser


maior ou igual a um valor limitado

 Portanto, se o primal ou o dual tem uma solução ilimitada,


então o outro problema é inviável

EEL6000 – Métodos Numéricos de Otimização 52


Técnicas para a Operação de SEE 52
Programação Linear

Multiplicador Simplex ou
Preço Sombra

EEL6000 – Métodos Numéricos de Otimização 53


Técnicas para a Operação de SEE 53
Multiplicador Simplex
 Problema da Fábrica de Copos
 x1: copos de suco, em centenas
 x2: copos de cocktail, em centenas
 x1: copos de champagne, em centenas
max z  5 x1  4.5 x2  6 x3
s.a :
6 x1  5 x2  8 x3  60 Capacidade de produção -horas
10 x1  20 x2  10 x3  150 Capacidade de armazenamento
x1 8 Demanda de x1

EEL6000 – Métodos Numéricos de Otimização 54


Técnicas para a Operação de SEE 54
Multiplicador Simplex
 Forma Canônica 6 x1  5 x2  8 x3  x4  60
10 x1  20 x2  10 x3  x5  150
x1  x6 8
5 x1  4.5 x2  6 x3 z0
 Solução Final
2 1 3 30
x2  x3  x4  x5 
7 7 35 7
11 2 1 11
 x3  x4  x5  x6 
7 7 14 7
11 2 1 45
x1  x3  x4  x5 
7 7 14 7
4 11 1 360
 x3  x4  x5 z
7 14 35 7
EEL6000 – Métodos Numéricos de Otimização 55
Técnicas para a Operação de SEE 55
Multiplicador Simplex
 O Multiplicador Simplex associado a uma
particular restrição corresponde à mudança do
valor ótimo da função objetivo por unidade de
incremento do lado direito da restrição,
permanecendo o restante do problema
inalterado
 1º restrição 6 x1  5 x2  8 x3  x4  60
 Incrementando o recurso de 60 para 61, qual é a
contribuição para a função objetivo?

O incremento é equivalente a permitir x4=-1
4 11 1 360
z  0 x1  0 x2  x3  x4  x5  0 x6 
7 14 35 7
11 11
z   (1) 
EEL6000 – Métodos Numéricos de Otimização
14 14 56
Técnicas para a Operação de SEE 56
Multiplicador Simplex
 Conclusão
11 1
1  2  3  0
14 35
 π = -(coeficientes das variáveis de folga na retrição
correspondente à função objetivo final)
 π = vetor de preços para os recursos  Shadow
Price

EEL6000 – Métodos Numéricos de Otimização 57


Técnicas para a Operação de SEE 57
OBRIGADO!

Prof. Edson Luiz da Silva


 edsonls@labplan.ufsc.br

Slides Disponíveis
http://www.labplan.ufsc.br/~erlon/EEL6000

Você também pode gostar