Professional Documents
Culture Documents
e Metodo Simplex
Slide 1
Transparencias de apoio `a leccionacao de aulas teoricas
Vers
ao 1
c
1998
Jos
e Fernando Oliveira, Maria Ant
onia Carravilla FEUP
Programaca
o Linear e Metodo Simplex
Slide 2
Programaca
o Linear e Metodo Simplex
Programacao Matematica
Slide 3
Programac
ao Matem
atica
Construmos modelos muito especiais de Programacao Matematica:
Todas as variaveis tomam valores em R ou em Z.
Ha so um objectivo a maximizar ou a minimizar.
Slide 4
Programaca
o Linear e Metodo Simplex
Programac
ao Matem
atica
Programao
Separvel
Slide 5
Programao
Linear
Programao
Quadrtica
Programao Matemtica
Programao
Inteira
Programao
Convexa
Programao
No-Linear
...
Problema de Programac
ao Matem
atica
min
f (X)
sujeito a:
gi (X) 0
Slide 6
hi (X) = 0
X
i{1,...,m}
i{1,...,l}
S Rn
Programaca
o Linear e Metodo Simplex
Programac
ao Matem
atica: Conceitos Fundamentais
Fun
c
ao Objectivo
min f (X)
Restri
co
es
gi (X) 0 i{1,...,m}
hi (X) = 0 i{1,...,l}
Slide 7
Conjunto admissvel
Solu
c
ao admissvel
Solu
c
ao o
ptima X S
f (X )
f (X) XS
Programac
ao Matem
atica
Exemplo de Programac
ao N
ao-Linear
Curvas de nvel de f
x2
min
Slide 8
suj a : x2
x21
(6, 4)
x2 + x 1 6
x1 , x 2 0
Conjunto
admissvel
x1
x2 = x12
x1 + x2 = 6
Sol: x1 = 2, x2 = 4, f = 16
Programaca
o Linear e Metodo Simplex
Bibliografia
Programaca
o Linear e Metodo Simplex
Programacao Linear
Slide 10
Programac
ao Linear
Modelos
Forma geral
xj - valor da variavel de decisao j;
max/min
Slide 11
sujeito a:
n
X
j=1 cj xj
aij xj
bi
i{1,...,p}
xj
j{1,...,q}
aij xj
= bi
i{p+1,...,m}
qualquer
j{q+1,...,n}
j=1
n
X
Pn
j=1
xj
cj - contribuicao da variavel de
decisao xj , por unidade, para a
funcao objectivo;
z - funcao objectivo a ser maximizada ou minimizada;
aij - quantidade do recurso i gasta
por unidade da variavel de decisao
xj ;
bi - disponibilidade do recurso i.
Programaca
o Linear e Metodo Simplex
Programac
ao Linear
Modelos
Forma normalizada
Pn
max
j=1 cj xj
sujeito a:
Slide 12
n
X
aij xj
= bi
i{1,...,m}
xj
j{1,...,n}
j=1
Programac
ao Linear
Modelos
Equival
encia entre as diversas formas do problema PL
minf (X) = max[f (X)]
x 0 x = y, y 0
Slide 13
x R x = u v, u 0 v 0
Pn
Pn
avel de folga)
a
x
ij
j
i
j=1 aij xj si = bi si 0 (vari
j=1
Pn a x b
i
j=1 ij j
aij xj = bi
Pn aij xj bi
j=1
j=1
n
X
Pn
j=1
Pn
j=1
aij xj bi
aij xj bi
Programaca
o Linear e Metodo Simplex
Programac
ao Linear - Exemplo
Slide 14
Z = 50xBR + 60xC
sujeito a:
50xBR +
30xC
2000
6xBR +
5xC
300
3xBR +
5xC
200
xBR , xC
Qual
a
o
ptima?
produ
c
ao
Programac
ao Linear - Exemplo
Resolu
c
ao gr
afica
solucao optima esta necessariamente num vertice;
xC
50xBR + 30xC = 2000
Sentido de
crescimento de Z
Slide 15
xBR =0
3xBR + 5xC = 200
Z=0
xC =0
xBR
6xBR + 5xC = 300
(restrio redundante)
Solu
c
ao o
ptima:
Programaca
o Linear e Metodo Simplex
Resolu
c
ao gr
afica de problemas de Programa
c
ao Linear
Exemplo 1
x2
max
Z = 4x1 + x2
Z = 4 x1 + x2
8 12
16
20
sujeito a:
x1 - x2 = 2
Slide 16
x1
x2
x1 +
2x2
x1 ,
x2
x1 + 2x2 = 8
x1
Resolu
c
ao gr
afica de problemas de Programa
c
ao Linear
Exemplo 2 (soluc
ao o
ptima n
ao u
nica)
x2
- 34
Z = x1 - x2 - 30
- 32
max
Z = x1 x2 30
sujeito a:
- 30
- 28
x1 - x2 = 2
Slide 17
x1
x2
x1 +
2x2
x1 ,
x2
x1 + 2x2 = 8
x1
Programaca
o Linear e Metodo Simplex
10
Resolu
c
ao gr
afica de problemas de Programa
c
ao Linear
Exemplo 3 (soluc
ao ilimitada)
x2
max
Slide 18
Z = 4x1 + x2
Z = 4 x1 + x2
8 12
16
20
x1 - x2 = 2
sujeito a:
x1
x2
x1
x1 , x 2
Resolu
c
ao gr
afica de problemas de Programa
c
ao Linear
Exemplo 4 (sem soluc
ao admissvel)
x2
x1 - x2 = -5
max
sujeito a:
Slide 19
x1
x2
x1 + 2x2
x1 ,
x2
x1 + 2x2 = 8
x1
Programaca
o Linear e Metodo Simplex
11
Programac
ao Linear abordagem alg
ebrica
max
sujeito a:
Slide 20
n
X
Pn
j=1 cj xj
aij xj
= bi
i{1,...,m}
xj
j{1,...,n}
j=1
Algebra
um exerccio
Dos seguintes sistemas de equacoes apresentados, verifique quais sao os que
tem uma u
nica solucao, um n
umero infinito de solucoes ou nenhuma solucao.
x1
x2
= 5
2x2
= 10
2x1 + 2x2
4x1 + 2x2
= 6
2x1 + 6x2
=4
8x1 + 4x2
= 11
x1 + 3x2
=2
2x1 +
x1 +
x2
= 5
=8
Slide 21
Programaca
o Linear e Metodo Simplex
12
Algebra
Recordando...
Sistemas Equivalentes
Dois sistemas sao equivalentes se tem o mesmo conjunto de solucoes. Uma
solucao de um sistema e logo solucao do outro sistema.
Slide 22
Resolu
c
ao de Sistemas de Equa
co
es Lineares
Para resolver um sistema de equacoes lineares tenta-se obter um sistema
equivalente que seja mais facil de resolver.
Obten
c
ao de um Sistema Equivalente - opera
co
es elementares
Multiplicacao de qualquer equacao do sistema por um n
umero positivo
ou negativo.
Adicao a qualquer equacao de um m
ultiplo de outra equacao do sistema.
Resolu
c
ao de Sistemas de Equaco
es Lineares
Exemplo
Considere-se o seguinte sistema de 2 equacoes a 5 incognitas:
x1
x1
Slide 23
2x2 +
x2
x3 4x4 + 2x5 =
x3 3x4
x5 =
2
4
Sistema equivalente:
x1
2x2 +
x2
x3 4x4 + 2x5 = 2
2x3 +
x4 3x5 = 2
Sistema equivalente:
x1
x2
3x3
2x3 +
2x4
x4
4x5 = 6
3x5 = 2
Programaca
o Linear e Metodo Simplex
13
Resolu
c
ao de Sistemas de Equaco
es Lineares
Exemplo
Sistema Can
onico Sistema em que em cada equaca
o h
a uma vari
avel que nessa
equaca
o tem coeficiente 1 e nas outras equaco
es coeficiente 0 (n
ao existe).
Slide 24
x1
+0x2
3x3
2x4
4x5 =
0x1 +
x2
2x3 +
x4
3x5 =
x1 =
6+
3x3 +
2x4 +
4x5
x2 =
2+
2x3
x4 +
3x5
Vari
aveis n
ao b
asicas
x1 e x 2
x3 , x 4 e x 5
Solu
c
ao b
asica Todas as vari
aveis n
ao b
asicas iguais a zero.
x1 = 6, x2 = 2, x3 = 0, x4 = 0, x5 = 0
Solu
c
ao b
asica admissvel Soluca
o b
asica em que os valores das vari
aveis
b
asicas s
ao n
ao-negativos.
Relac
ao v
ertices - soluco
es b
asicas
max
Z = 4x1 + x2
sujeito a:
x1 x 2 + x 3
x4
x1 , x 2 , x 3 , x 4
x1 + 2x2 +
Slide 25
Base correspondente
a
` soluca
o o
ptima
(numa forma matricial):
"
2/3
1/3
x1
#
x2
1/3
1/3
x3
x4
"
#
4
=
Programaca
o Linear e Metodo Simplex
14
Soluco
es b
asicas e admissibilidade
Soluco
es b
asicas:
(0, 0, 2, 8)
admissvel
fo = 0
(0, 4, 6, 0)
admissvel
fo = 4
(4, 2, 0, 0)
admissvel
f o = 18
(8, 0, 6, 0)
Slide 26
(2, 0, 0, 6)
(0, 2, 0, 12)
n
ao admissvel
admissvel
fo = 8
n
ao admissvel
Algumas observaco
es (importantes)
Sendo Q o conjunto formado pelos pontos X tais que
Slide 27
AX =
(4)
(5)
Programaca
o Linear e Metodo Simplex
15
Generaliza
c
ao/Demonstra
c
ao
Para provar que as observacoes sao correctas e aplicaveis a qualquer problema de Programacao Linear, vai ser necessario provar
que:
1. O espaco das solucoes de um problema de Programacao Linear e um
conjunto convexo.
Slide 28
Algumas noco
es de topologia
Hiperplano
Hiperplano {X <n : aX = , a <n (a 6= 0), <}
Semi-espa
co fechado
Slide 29
Exemplo:
semi-espaco fechado em <2 :
x1 + x 2 1
Observaca
o: Em Programaca
o Linear o conjunto das soluco
es admissveis
ea
intersecca
o de um n
umero finito de semi-espacos fechados.
Programaca
o Linear e Metodo Simplex
16
Conjunto convexo
Um subconjunto Q <n diz-se convexo se, para qualquer par de pontos de
Q, a sua combinacao linear convexa tambem pertencer a Q.
Slide 30
X ,X Q
1
2
Q convexo
01
Conjuntos convexos
X1 + (1 )X2 Q
Poliedro (convexo)
Um poliedro e a interseccao de um n
umero finito de semi-espacos fechados.
Poliedro {X <n : ai X i , i = 1, . . . , m},
Slide 31
Observaca
o: O conjunto das soluco
es admissveis de um problema de Programaca
o
Linear
e um poliedro convexo.
Programaca
o Linear e Metodo Simplex
17
Ponto extremo
O ponto extremo de um conjunto convexo Q e um ponto de Q que nao
pertence a nenhum segmento de recta que una dois outros pontos de Q.
Slide 32
X(k) = X1 X(k) = X2
Observaca
o: Qualquer ponto X Q pode ser expresso como uma combinaca
o linear
convexa dos pontos extremos X(k) k = 1, 2, . . . K de Q
X=
K
X
k X(k) ,
k 0,
k=1
K
X
k = 1
k=1
(a informaca
o relevante do conjunto est
a condensada nos seus pontos extremos).
Problema de Programac
ao Linear
O conjunto de soluco
es admissveis
e convexo
Seja
Q = {X|AX = b, X 0)}
o conjunto de todas as solucoes admissveis de um problema de
Programacao Linear com m equacoes e n incognitas.
Slide 33
A [X1 + (1 )X2 ]
AX1 + (1 )AX2
b + (1 )b
Programaca
o Linear e Metodo Simplex
18
Problema de Programac
ao Linear
Soluc
ao o
ptima
e ponto extremo
A solucao optima de um problema de Programacao Linear:
max z = CX
Slide 34
sujeito a:
AX
=b
O conjunto Q
e limitado se se acrescentar a restrica
o xj M para todos os xj que
n
ao sejam limitados.
Qualquer ponto X0 Q pode ser expresso como uma combinaca
o linear convexa dos
(k)
pontos extremos X
k = 1, 2, . . . K de Q
X0 =
K
X
k X(k) ,
k 0,
k=1
Slide 35
K
X
k = 1
k=1
Agora
e necess
ario mostrar que a nenhum ponto de X0 Q pode corresponder um valor
da funca
o objectivo maior do que z .
z = CX = C
K
X
k=1
k X
(k)
K
X
k=1
k CX(k) CX = z
Programaca
o Linear e Metodo Simplex
19
Problema de Programac
ao Linear
Soluc
ao b
asica admissvel
e ponto extremo
A condicao necessaria e suficiente para que um ponto X seja um ponto
extremo do espaco de solucoes Q e que X seja uma solucao basica
admissvel tal que:
Slide 36
AX
=b
A demonstraca
o (por contradica
o) deste teorema pode ser encontrada nas p
aginas 89 91
de:
Bazaraa, M., Jarvis, J, Sherali (1990). Linear Programming and Network Flows, 2nd
ed. Wiley, New York.
Ent
ao...
Resolver um problema de PL resume-se a determinar todas as bases
admissveis do sistema de equacoes que as suas restricoes formam e escolher
a que tiver melhor valor da funcao objectivo.
Existem
Slide 37
n!
m!(nm)!
Programaca
o Linear e Metodo Simplex
20
Bibliografia
Programaca
o Linear e Metodo Simplex
21
Algoritmo Simplex
Slide 39
Motivac
ao para o Algoritmo Simplex
max
Z = 4x1
+x2
sujeito a:
+2x2
x1
x2
x1 ,
x2
x1
Slide 40
max
Z = 4x1 +
x2
sujeito a:
Introduzindo variaveis de folga . . .
+x3
x1
x2
+2x2
x1 ,
x2 ,
x3 ,
x1
+x4
x4
Programaca
o Linear e Metodo Simplex
max
Z=
4x1
+x2
sujeito a:
x1
Slide 41
x2
x1
+2x2
x1 ,
x2 ,
+x3
+x4
x3 ,
x4
22
Solu
c
ao b
asica admissvel:
x
1
Variaveis nao basicas :
x2
=2
x
3
Vari
a
veis
b
a
sicas
:
=8
x4
0
=0
=0
=2
=8
Z=0
Objectivo: maximizar Z
x2
Escolher vari
avel com coeficiente m
aximo na funca
o
objectivo: x1
x1 cresce de 0 ate um valor tal que, ficando x2 = 0, x3
e x4 mantem-se 0
x1
max
Z=
4x1
+x2
4(2 + x2 x3 )
+x2
+5x2
4x3
sujeito a:
x1
Slide 42
x1 ,
x2
+x3
=2
+3x2
x3
+x4
=6
x2 ,
x3 ,
x4
Solu
c
ao b
asica admissvel:
x2
Vari
aveis n
ao b
asicas :
x
3
x1
Vari
aveis b
asicas :
x4
=0
=0
=2
=6
Z = +8
x2
x2 cresce de 0 at
e um valor tal que, com x3 = 0, x1 e x4 se mant
em 0
x4 anula-se em primeiro lugar quando x2 cresce.
O crescimento de x2 implica o crescimento de x1 , logo x1 n
ao sai da
base.
x1
Programaca
o Linear e Metodo Simplex
max
4x3
Z=
+5x2
+5( 63 + 31 x3 31 x4 ) 4x3
18 73 x3 53 x4
sujeito a:
Slide 43
x1
+x2
x1 ,
x2 ,
+ 23 x3
+ 13 x4
=4
13 x3
+ 13 x4
=2
x4
x3 ,
23
Solu
c
ao b
asica admissvel:
x
3
Variaveis nao basicas :
x
4
x
1
Variaveis basicas :
x
2
=0
=0
=4
=2
Z = +18
x2
Solucao e optima
aumento de x3 ou de x4 diminuicao de Z.
x1
Slide 44
Programaca
o Linear e Metodo Simplex
24
Algoritmo Simplex
Resolu
c
ao de um problema
max
Z=
4x1
max
x2
4x1 +
x2
+x3
x3 ,
+2x2
x1
x1
x2
x1
+2x2
x1 ,
x2 ,
x1 ,
x2 ,
x1
x2
sujeito a:
sujeito a:
Slide 45
Z=
= 2
+x4
= 8
x4
Quadro inicial
variaveis basicas
x1
x2
x3
x4
x3
x4
1
2
Slide 46
custos marginais
o mais
valor simetrico
positivo
da funcao objectivo
Programaca
o Linear e Metodo Simplex
x3
Slide 47
x1
x2
x3
x4
x4
x1
x2
x3
x4
x1
x4
Slide 48
25
x1
x2
x3
x4
x1
x4
x1
x2
x3
x4
x1
x2
2
3
1
3
73
1
3
1
3
5
3
4
2
18
Quadro final
Solucao optima u
nica:
(x1 , x2 , x3 , x4 ) = (4, 2, 0, 0)
Z = 18
Programaca
o Linear e Metodo Simplex
26
Quando, na solucao optima, uma variavel nao basica tem custo marginal
nulo.
3. Solucao nao limitada.
Quando todas as componentes dos vectores a entrar na base forem nao
positivas.
Programaca
o Linear e Metodo Simplex
27
Z=
50xBR +
60xC
50xBR +
30xC
2000
6xBR +
5xC
300
3xBR +
5xC
200
xBR ,
xC
sujeito a:
Slide 51
max
Z=
50xBR +
60xC
sujeito a:
50xBR + 30xC +
6xBR +
5xC +
3xBR +
5xC +
xBR ,
xC ,
s1
= 2000
s2
s1 ,
= 300
s3
= 200
s2 , s3
Slide 52
xBR
xC
s1
s2
s3
s1
50
30
0 2000
s2
300
s3
200
50
60
xBR
s1
160
5
xC
s1
s2
s3
30
5
800
100
s2
xC
3
5
14
1
5
12
40
2400
150
5
Programaca
o Linear e Metodo Simplex
Slide 53
xBR
xC
s1
xBR
s2
xC
5
160
15
160
3
160
7
16
28
s2
s3
3
0 16
25
5
16
75
8
25
7
1 16
0
0
25
2750
Determinac
ao de uma base inicial admissvel
Solucao:
Tentativa e erro resolver sucessivamente o sistema em ordem a
diferentes conjuntos de variaveis, reduzi-lo `a forma canonica e ver se
a solucao resultante e admissvel.
Utiliza
c
ao de vari
aveis artificiais.
Programaca
o Linear e Metodo Simplex
29
Utilizac
ao de vari
aveis artificiais
Pn
c j xj
aij xj
= bi
i{1,...,m}
xj
j{1,...,n}
max
Pn
c j xj
max
1. Converter o problema de PL para
a forma normalizada.
sujeito a:
n
X
j=1
j=1
Slide 55
2. Examinar cada restrica
o e verificar
se existe alguma vari
avel que possa
ser b
asica nessa restrica
o. Se n
ao existir, somar uma vari
avel artificial
yi , yi 0 nessa mesma restrica
o.
Nota: As vari
aveis artificiais n
ao t
em relev
ancia ou siginificado no problema original (da serem designadas por artificiais). Apenas s
ao usadas para facilitar
a construca
o de uma base inicial para o
problema.
sujeito a:
n
X
j=1
aij xj
= bi
i{1,...,k}
aij xj + yi
= bi
i{k+1,...,m}
xj
j{1,...,n}
yi
i{k+1,...,m}
j=1
n
X
j=1
Programaca
o Linear e Metodo Simplex
30
M
etodo das penalidades
Atribuir `as variaveis articiais um custo muito elevado M (problema de
minimizacao) na funcao objectivo.
O proprio metodo simplex se encarregara, ao tentar melhorar a funcao
objectivo, de expulsar as variaveis artificiais da base colocar as variaveis
a valerem zero.
Slide 57
Pn
min
Pm
j=1 cj xj +
sujeito a:
n
X
i=k+1
aij xj
= bi
i{1,...,k}
aij xj + yi
= bi
i{k+1,...,m}
xj
j{1,...,n}
j=1
n
X
M yi
j=1
yi
i{k+1,...,m}
M
etodo das penalidades exemplo
min
3x1
x2
x3
x1
2x2
x3
s1
4x1
x2
2x3
x3
x3
s1
My1
sujeito a:
2x1
x1
x2
s2
s2
11
Slide 58
min
sujeito a:
3x1
x2
x3
x1
2x2
x3
s1
4x1
x2
2x3
x3
x3
2x1
x1
x2
s1
s2
s2
+
+
,
My2
y1
y1
11
y2
y2
Programaca
o Linear e Metodo Simplex
31
x1
x2
x3
s1
s2
y1
y2
s1
11
y1
y2
6M
3M
4M
Slide 59
x1
x2
x3
s1
s2
y1
y2
s1
10
y1
x3
3M
Slide 60
Programaca
o Linear e Metodo Simplex
32
x1
x2
x3
s1
s2
y1
y2
s1
12
x2
x3
+1
x2
x3
s1
s2
y1
y2
23
2
3
53
Slide 61
x1
x1
1
3
x2
43
1
3
4
3
13
73
23
x3
2
3
1
3
Soluca
o o
ptima: (x1 , x2 , x3 , s1 , s2 )? = (4, 1, 9, 0, 0) com Z ? = 2
Notas finais
Programaca
o Linear e Metodo Simplex
33
Bibliografia