Programacao Linear

Propaganda
EEL 6000 - Métodos Numéricos de Otimização
Programação
Linear - PL
Prof.: Edson Luiz da Silva, D. Eng.
[email protected]
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
Técnicas para a Operação de SEE
2
2
Programação Linear
Definição de um PL
EEL6000 – Métodos Numéricos de Otimização
Técnicas para a Operação de SEE
3
3
Forma Padronizada

Estrutura


Função Objetivo Linear
Restrições Lineares de Igualdade
min z  c x
s.a :
Ax  b
x0
t



(1)


c e x, vetores em  n
b, vetor em m
A, matriz mxn (n>m)
Se n = m  Sistema Linear
(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
Técnicas para a Operação de SEE
4
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
para produção
Armazenamento
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
Técnicas para a Operação de SEE
5
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
Técnicas para a Operação de SEE
6
6
Geometria do PL
max z  x1  3x2
s.a :
 x1  x2  1
x1  x2  2
EEL6000 – Métodos Numéricos de Otimização
1
x1  0
3
2
x2  0
4
Técnicas para a Operação de SEE
7
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
z=0 → x2 = -1/3 x1
1
z=1 → x2 = -1/3 x1+1/3
1.5
z=2 → x2 = -1/3 x1+2/3
1
z=5
Região Viável
z=4
2
4
z=3
0.5
1
2
x
z=2 1
3
z=1
EEL6000 – Métodos Numéricos de Otimização
z=0
z=3 → x2 = -1/3 x1+1
z=4 → x2 = -1/3 x1+4/3
z=5 → x2 = -1/3 x1+5/3
Solução ótima limitada
Se z = 2x1 + 2x2 temos
múltiplas soluções
Z=4
Técnicas para a Operação de SEE
8
8
Solução Ilimitada
x2
1
2
1.5
1
Região Viável Ilimitada
0.5
EEL6000 – Métodos Numéricos de Otimização
2
x1
Técnicas para a Operação de SEE
9
9
Solução Inviável

Exemplo
max z  x1  3x2
s.a :
x1  x2  0
x1  x2  2
x2
2
1
1
2
1
2
x1
-1
solução inviável (1,-1)
x1, x2 > 0
EEL6000 – Métodos Numéricos de Otimização
-2
1
Técnicas para a Operação de SEE
10
10
Busca Exaustiva pelos Vértices

Exemplo
max z  x1  3x2
s.a :
 x1  x2  1
x1  x2  2
1
x1  0
3
2
x2  0
4
x2
4 soluções básicas
viáveis (vértices)
1
2
(0, 0) → z = 0
*
1.5
(0, 1) → z = 3
*1
(0.5, 1.5) → z = 5
(2, 0) → z = 2
2
4
*
0.5
2
*
x1
3
EEL6000 – Métodos Numéricos de Otimização
Técnicas para a Operação de SEE
11
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
Técnicas para a Operação de SEE
12
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
B
|
N

    
0   
A
x
EEL6000 – Métodos Numéricos de Otimização
b
Técnicas para a Operação de SEE
13
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
Técnicas para a Operação de SEE
14
14
Matriz Base B

Exemplo
1
 x1  x2  x3

 x4  2
 x1  x2

xi  0, i  1, 4

3
4
1 0 
B
 x1  x2  0 e

0 1 
1
 x1 
 
 1 1 1 0  x2  1 

 

 1 1 0 1   x3   2
 
Base
Base
 x4 
1
2
3
4
 x3  1

 x4  2
4
 1 0
B'  
 x2  x3  0 e

 1 1
EEL6000 – Métodos Numéricos de Otimização
 x1  1 X

 x4  3
Solução Básica não Viável
Técnicas para a Operação de SEE
15
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
Técnicas para a Operação de SEE
16
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!
 NaN


 504  (1680  504)!504!
EEL6000 – Métodos Numéricos de Otimização
Inviável Analisar as
Soluções Básicas de
um PL
Técnicas para a Operação de SEE
17
17
Programação Linear
Pivotamento
EEL6000 – Métodos Numéricos de Otimização
Técnicas para a Operação de SEE
18
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
Técnicas para a Operação de SEE
19
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
s.a :
x1  x2  2
 x1  x2  1
EEL6000 – Métodos Numéricos de Otimização
11 11
01 0.5
22 x1E1+E2 x1  0.5
E
 x(-1)E2+E1    
1.5
31 x0.5E2  x2  1.5 
01 1121 1.5
z5
Técnicas para a Operação de SEE
20
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
Técnicas para a Operação de SEE
21
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
Técnicas para a Operação de SEE
22
22
Método Simplex

PL Original
min z  c x
s.a :
Ax  b
x0
t
 x1
0

0

0
0
x2
0
0
0
0
0
min  cb
 xb 
cN   
 xN 
s.a :
 xb 
N     b 
 xN 
B


0   a1,m1
0  

0 

xm   
 a m,m1
Variáveis Básicas ou
Variáveis Dependentes
EEL6000 – Métodos Numéricos de Otimização
Bxb  NxN  b

a1,m 2

a m,m 2
Forma
Canônica
B1
Ixb  B 1 NxN  B 1b
 x
 
a1,n   m1   b1 
  

 

  


  xn    
a m,n 
b m 

Variáveis não-Básicas ou
Variáveis Independentes
Técnicas para a Operação de SEE
23
23
Método Simplex

Solução
 x1
0

0

0
0
0
x2
0
0
0
0


0   b1   xm 1  0 
  
0    
 
  e
  
0   
   
  
xm 
xn  0 

b
 m 

bi  0, i  1, m

Solução Degenerada

 Se pelo menos um b i  0
EEL6000 – Métodos Numéricos de Otimização
Técnicas para a Operação de SEE
24
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
Técnicas para a Operação de SEE
25
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
Técnicas para a Operação de SEE
26
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
EEL6000 – Métodos Numéricos de Otimização
Variável Básica
Técnicas para a Operação de SEE
27
27
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 20
x1  x2  5 x3  x4  x5  8  8
x1j  60,x2j  1,5
7 x3  x4  5 x5  z  0
Variáveis
básicas iniciais:
x1, x5, (-z)
x j  0, j  1,5
Solução
Forma Canônica:
 0.25 x2  3x3  0.75 x4  5
x5
x1
 0.75 x2  2 x3  0.25 x4  3
( z ) 
8 x2  24 x3 
EEL6000 – Métodos Numéricos de Otimização
5 x4  28
x5  5 x1  3 z  28
x2  x3  x4  0
Solução Ótima? Não!
Técnicas para a Operação de SEE
28
28
Método Simplex
Função Objetivo

z  28  24 x3

Qual o máximo valor que x3 poderá assumir?
x5  5  3x3
x1  3  2 x3

x3 entra na base!
 x3  1.5
x1 sai da base!
Nova Solução
x1  x2  x4  0, x3  1.5, x5  0.5, z  28  24(1.5)  8

Solução Ótima?
 1.5 x1  0.875 x2  0.375 x4  0.5
x5
x3
 0.5 x1  0.375 x2  0.125 x4  1.5
( z )  12 x1 
EEL6000 – Métodos Numéricos de Otimização
x2 
Não!
2 x4  8
Técnicas para a Operação de SEE
29
29
Método Simplex

Função Objetivo
z  8  x2

Qual o máximo valor que x2 poderá assumir?
x5  0.5  0.875 x2
x3  1.5  0.375 x2

x2 entra na base!
4
 x2 
7
x5 sai da base!
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
Técnicas para a Operação de SEE
30
30
Método Simplex

Solução Ótima?
12
3
8
4
x2
 x1  x4  x5 
7
7
7
7
1
2
3
12
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
SIM!
Técnicas para a Operação de SEE
31
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.75x2  2 x3  0.25 x4  0
3

Considere que x3 entra na base
x1  0  2 x3

Solução Ilimitada

x1<0!!!!
x3=0
z=cte
Se ao longo do processo iterativo tivéssemos:
x5  0.5  0.875 x2
x3  1.5  0.375 x2
x2 ILIMITADO!!
z  8  x2
EEL6000 – Métodos Numéricos de Otimização
Técnicas para a Operação de SEE
32
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 aij  0, i  1, m 
 x j ilimitado
Se pelo menos um aij  0  x j limitado
EEL6000 – Métodos Numéricos de Otimização
Técnicas para a Operação de SEE
33
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
Técnicas para a Operação de SEE
34
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
Técnicas para a Operação de SEE
35
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
x1  x2  5 x3  x4  x5
 x7
x1  6 x2  7 x3  x4  5 x5
8
z
x6  x7
EEL6000 – Métodos Numéricos de Otimização
 20
0
w0
(-z) e (-w) são
sempre básicas
Técnicas para a Operação de SEE
36
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
 x1  x2  x3  x4
 x6  x7
2
2
8
8
8
3
7
3
5
13
x1  x2
 x4  x5  x6  x7
2
8
8
8
8
12 x1  x2
 2 x4
 4 x6  9 x7  z
x6 
EEL6000 – Métodos Numéricos de Otimização
x7
3

2
1

2
8
w0
Técnicas para a Operação de SEE
37
37
Método Simplex

Fase II – min z
1
3
1
1
1
 x1  x2  x3  x4
 Xx6  Xx7
2
2
8
8
8
3
7
3
5
13
x1  x2
 x4  x5  Xx6  Xx7
2
8
8
8
8
12 x1  x2
 2 x4
 4X
x6  9Xx7  z

Última Iteração da Fase II
1
2
3
12
x1
 x3  x4  x5

7
7
7
7
12
3
8
4

x1  x2 
 x4  x5

7
7
7
7
72
11
8
60
x1
 x4  x5  z 
7
7
7
7

EEL6000 – Métodos Numéricos de Otimização
3

2
1

2
8
Solução
12
4
x2 
7
7
60
z
7
x1  x4  x5  0
x3 
Técnicas para a Operação de SEE
38
38
Programação Linear
Otimalidade e Dualidade
EEL6000 – Métodos Numéricos de Otimização
Técnicas para a Operação de SEE
39
39
Relacionamento Primal - Dual

Problema Primal
min z  ct x
s.a :
Ax  b
x0

(1)
Problema Dual
max   bt 
s.a :
(5)
At   c
P irrestrito em sinal
EEL6000 – Métodos Numéricos de Otimização
Técnicas para a Operação de SEE
40
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
Técnicas para a Operação de SEE
41
41
Condições de Otimalidade - Revisão

Problema Primal Geral
Min f(x)
s.a.
hi (x*) = 0
gi(x*)  0

i
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*, *)
f(x*) + *i hi(x*) + *i gi(x*) = 0

xL(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
Técnicas para a Operação de SEE
42
42
Condições de Otimalidade
Aplicadas ao PL


Convexidade do problema garante o Mínimo
Global
Lagrangeano
L(x,min
 , sz)  ct x  t (Ax  b)  st x
s.a :
Ax  b
x0
EEL6000 – Métodos Numéricos de Otimização
(2)

s
Técnicas para a Operação de SEE
43
43
Condições de Otimalidade Aplicadas ao
Primal

Condições de Primeira Ordem 
xL(x*, *, s*) = 0
At   s  c
Ax  b
x0 
  xi si  0, i  1, n
s0 

(3)
Ponto Ótimo (x*,π*,s*) que atende KKT
t *
t *
* t *
* t *

b
 

(
A


s
)
x

(
Ax
)

zc x
t

*
Valor do Primal (z) é igual ao Dual (θ) em
(x*,π*,s*)
EEL6000 – Métodos Numéricos de Otimização
Técnicas para a Operação de SEE
44
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  *  ct 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
com
t
x
é o próprio ponto ótimo x*,
x s*  0
EEL6000 – Métodos Numéricos de Otimização
Técnicas para a Operação de SEE
45
45
Condições de Otimalidade Aplicadas ao
Dual

Problema Dual
max   bt 
s.a :
 min  '  bt 

  s.a :
(6)
 c  At   0

(5)
At   c

Lagrangeano de (6)

L( , x)  bt   xt (c  At  )

(7)
Condições de Primeira Ordem de KKT
Ax  b
At   c
x0
EEL6000 – Métodos Numéricos de Otimização
(8)
xi (c  At  )i  0, i  1, n
Técnicas para a Operação de SEE
46
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
Técnicas para a Operação de SEE
47
47
Relacionamento Primal – Dual

Exemplo do Relacionamento Primal-Dual
max z  5 x1  4.5 x2  6 x3
s.a :
6 x1  5 x2  8 x3 
 x60
4
 60
 x5
10 x1  20 x2  10 x3  150
8
x1
 150
 x6  8
x1 , x2 , x3 , x4 , x5 , x6  0

Solução Ótima
min   60 1  150 2  8 3
s.a :
 54
6 1  10 2   3 
5 1  20 2
8 1  10 2
5
 4.5  5
6
 4.5
6  6
 1 ,  2 ,1, 3 2, 03 ,  4 ,  5 ,  6  0
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
Técnicas para a Operação de SEE
48
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
Técnicas para a Operação de SEE
49
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*  ct x*   *b  ct x*   *  z *
min z
Z-θ
Gap de
dualidade
max θ
EEL6000 – Métodos Numéricos de Otimização
Técnicas para a Operação de SEE
50
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
Técnicas para a Operação de SEE
51
51
Relacionamento Primal – Dual

Teorema 3

Primal ilimitado
min z  
z           b

Para que π seja uma solução viável do dual
At  c


b é limitado
π deveria ser ilimitado
e negativo
π é 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
Técnicas para a Operação de SEE
52
52
Programação Linear
Multiplicador Simplex ou
Preço Sombra
EEL6000 – Métodos Numéricos de Otimização
Técnicas para a Operação de SEE
53
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
EEL6000 – Métodos Numéricos de Otimização
8
Demanda de x1
Técnicas para a Operação de SEE
54
54
Multiplicador Simplex

Forma Canônica
6 x1  5 x2  8 x3  x4
10 x1  20 x2  10 x3
x1

Solução Final
x1
5 x1  4.5 x2  6 x3
 60
 x5
 150
 x6
8
z0
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
 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
Técnicas para a Operação de SEE
55
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  5x2  8x3  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
EEL6000 – Métodos Numéricos de Otimização
11
11
z   (1) 
14
14
Técnicas para a Operação de SEE
56
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
Técnicas para a Operação de SEE
57
57
OBRIGADO!
Prof. Edson Luiz da Silva
 [email protected]
Slides Disponíveis
http://www.labplan.ufsc.br/~erlon/EEL6000
Download