Escolar Documentos
Profissional Documentos
Cultura Documentos
Programação
Linear - PL
Prof.: Edson Luiz da Silva, D. Eng.
edson@labplan.ufsc.br
Geometria do PL e definições
Pivotamento
Método Simplex
Otimalidade e Dualidade
Definição de um PL
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
x0 (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
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
x1 x2 2 2 x2 0 4
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
0.5 2
x1
max z x1 3x2 x2
s.a : 2
1
x1 x2 0 1
x1 x2 2 2
1 2
x1
-1
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
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
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
n n!
m (n m)!m !
Inviável
computacionalmente
para problemas reais
Pivotamento
max z x1 3x2
11 1101 0.5
22 x1E1+E2 x1 0.5
s.a : E x(-1)E +E
x1 x2 2 01 1121 1.5
1.5
31 x0.5E2 2 1x2 1.5
z5
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
( 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
Se
a ij 0, i 1, m x
j ilimitado
Se pelo menos um a ij 0 x j limitado
Otimalidade e Dualidade
max bt
s.a : (5)
At c
irrestrito em sinal
Impacto no esforço
computacional
hi(x*) = 0 i
gi(x*) 0 iI
*i 0 iI
*i gi(x*) = 0 iI
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
x0
At s c
Ax b (3)
x0
xi si 0, i 1, n
s0
Ponto Ótimo (x*,π*,s*) que atende KKT
zc x ( A
t
t **
s * t *
) x ( Ax ) bt *
* t *
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
b é limitado
z b
π deveria ser ilimitado
e negativo
Para que π seja uma solução viável do dual
Multiplicador Simplex ou
Preço Sombra
Slides Disponíveis
http://www.labplan.ufsc.br/~erlon/EEL6000