![Page 1: Algoritmo Simplex para Programação Linear Igomide/courses/EA044/transp/EA_044... · 2 Tópicos 1-Introdução 2-Soluções e forma padrão 3-Soluções básicas 4-Algoritmo simplex](https://reader031.vdocuments.net/reader031/viewer/2022020215/5ba242be09d3f26f6e8b7577/html5/thumbnails/1.jpg)
Algoritmo Simplex para
Programação Linear I
EA 044 Planejamento e Análise
de Sistemas de Produção
DCA-FEEC-Unicamp
![Page 2: Algoritmo Simplex para Programação Linear Igomide/courses/EA044/transp/EA_044... · 2 Tópicos 1-Introdução 2-Soluções e forma padrão 3-Soluções básicas 4-Algoritmo simplex](https://reader031.vdocuments.net/reader031/viewer/2022020215/5ba242be09d3f26f6e8b7577/html5/thumbnails/2.jpg)
2
Tópicos
1-Introdução
2-Soluções e forma padrão
3-Soluções básicas
4-Algoritmo simplex
5-Tableau simplex
6-Soluções degeneradas, convergência
DCA-FEEC-Unicamp
![Page 3: Algoritmo Simplex para Programação Linear Igomide/courses/EA044/transp/EA_044... · 2 Tópicos 1-Introdução 2-Soluções e forma padrão 3-Soluções básicas 4-Algoritmo simplex](https://reader031.vdocuments.net/reader031/viewer/2022020215/5ba242be09d3f26f6e8b7577/html5/thumbnails/3.jpg)
3
0x
bAxsa
cxmax
≥≤
� Modelo de programação linear: forma canônica
)1(c),1(b),(A
)1(x
nmnm
n
××××
}0 xb,Ax|Rx(P ≥≤∈= n poliedro
1-poliedros são conjuntos convexos
2- poliedros podem ser limitados ou ilimitados
1-Introdução
DCA-FEEC-Unicamp
![Page 4: Algoritmo Simplex para Programação Linear Igomide/courses/EA044/transp/EA_044... · 2 Tópicos 1-Introdução 2-Soluções e forma padrão 3-Soluções básicas 4-Algoritmo simplex](https://reader031.vdocuments.net/reader031/viewer/2022020215/5ba242be09d3f26f6e8b7577/html5/thumbnails/4.jpg)
4
DCA-FEEC-Unicamp
0,
480024
1750
1500
1000sa
912max
21
21
21
2
1
21
≥≤+≤+≤≤
+
xx
xx
xx
x
x
xx
Exemplo
![Page 5: Algoritmo Simplex para Programação Linear Igomide/courses/EA044/transp/EA_044... · 2 Tópicos 1-Introdução 2-Soluções e forma padrão 3-Soluções básicas 4-Algoritmo simplex](https://reader031.vdocuments.net/reader031/viewer/2022020215/5ba242be09d3f26f6e8b7577/html5/thumbnails/5.jpg)
5
DCA-FEEC-Unicamp
x1
x2
1000
1000
2000
2000
x1 + x
2 ≤ 1750
4x1 + 2x
2 ≤4800
x2 ≤ 1500
x1 ≤ 1000
x*
x* = (650, 1100)max local = max global
Solução gráfica
![Page 6: Algoritmo Simplex para Programação Linear Igomide/courses/EA044/transp/EA_044... · 2 Tópicos 1-Introdução 2-Soluções e forma padrão 3-Soluções básicas 4-Algoritmo simplex](https://reader031.vdocuments.net/reader031/viewer/2022020215/5ba242be09d3f26f6e8b7577/html5/thumbnails/6.jpg)
6
DCA-FEEC-Unicamp
Soluções factíveis
fronteira
interiores
extremos
x1
x2
1000
1000
2000
2000
x3
x0x1
x2
x4
x9
x5
x6 x7x8
fronteira
extremo
interior
não factíveis
Solução ótima
ponto da fronteira
única ⇒ ponto extremo
2-Soluções e forma padrão
![Page 7: Algoritmo Simplex para Programação Linear Igomide/courses/EA044/transp/EA_044... · 2 Tópicos 1-Introdução 2-Soluções e forma padrão 3-Soluções básicas 4-Algoritmo simplex](https://reader031.vdocuments.net/reader031/viewer/2022020215/5ba242be09d3f26f6e8b7577/html5/thumbnails/7.jpg)
7
DCA-FEEC-Unicamp
Modelo na forma padrão
0,,,,,
480024
1750
1500
1000sa
912max
654321
621
521
42
31
21
≥=++=++=+=+
+
xxxxxx
xxx
xxx
xx
xx
xx
Para restrições ≥ : subtrair xi’s ≥ 0
x3
x4
x5
x6
n
m
n
Rx0x
RbbAxsa
Rccx(max)min
∈≥
∈=
∈
forma padrão
variáveis de folga
variáveis de excesso
![Page 8: Algoritmo Simplex para Programação Linear Igomide/courses/EA044/transp/EA_044... · 2 Tópicos 1-Introdução 2-Soluções e forma padrão 3-Soluções básicas 4-Algoritmo simplex](https://reader031.vdocuments.net/reader031/viewer/2022020215/5ba242be09d3f26f6e8b7577/html5/thumbnails/8.jpg)
8
}0xb,Ax|Rx(P ≥=∈= npoliedro forma padrão
n
m
n
Rx0x
RbbAxsa
Rccx(max)min
∈≥
∈=
∈forma padrão
Px ∈ significa que x é uma solução factível
Poliedros: conjuntos convexos e podem ser limitados ou ilimitados
DCA-FEEC-Unicamp
![Page 9: Algoritmo Simplex para Programação Linear Igomide/courses/EA044/transp/EA_044... · 2 Tópicos 1-Introdução 2-Soluções e forma padrão 3-Soluções básicas 4-Algoritmo simplex](https://reader031.vdocuments.net/reader031/viewer/2022020215/5ba242be09d3f26f6e8b7577/html5/thumbnails/9.jpg)
9
x1
x2
1000
1000
2000
2000
x1 + x
2 ≤ 1750 (x5 ≥0)
4x1 + 2x
2 ≤4800 (x
6 ≥0)
x2 ≤ 1500 (x4 ≥0)
x1 ≤ 1000 (x3 ≥0)
x*
Modelo na forma padrão
DCA-FEEC-Unicamp
![Page 10: Algoritmo Simplex para Programação Linear Igomide/courses/EA044/transp/EA_044... · 2 Tópicos 1-Introdução 2-Soluções e forma padrão 3-Soluções básicas 4-Algoritmo simplex](https://reader031.vdocuments.net/reader031/viewer/2022020215/5ba242be09d3f26f6e8b7577/html5/thumbnails/10.jpg)
10
DCA-FEEC-Unicamp
� Pontos extremos
– definidos pelas restrições que estão simultâneamente
ativas somente neste ponto
� Pontos extremos adjacentes
– restrições ativas diferem de um elemento
� Aresta
– segmento de reta que conecta dois pontos extremos
H
B
A
C
GI J
DE
F
LK
x1
x2
x3
x0
x1
x2
x3
x4
x5x6
aresta
![Page 11: Algoritmo Simplex para Programação Linear Igomide/courses/EA044/transp/EA_044... · 2 Tópicos 1-Introdução 2-Soluções e forma padrão 3-Soluções básicas 4-Algoritmo simplex](https://reader031.vdocuments.net/reader031/viewer/2022020215/5ba242be09d3f26f6e8b7577/html5/thumbnails/11.jpg)
11
DCA-FEEC-Unicamp
0,,,,,
480024
1750
1500
1000sa
912max
654321
621
521
42
31
21
≥=++=++=+=+
+
xxxxxx
xxx
xxx
xx
xx
xx
3-Soluções básicas
400,350,1100,650
4800024
17500
1500
1000
4321
21
21
42
31
====
=++=++=+=+
xxxx
xx
xx
xx
xx
básicas
não básicas
![Page 12: Algoritmo Simplex para Programação Linear Igomide/courses/EA044/transp/EA_044... · 2 Tópicos 1-Introdução 2-Soluções e forma padrão 3-Soluções básicas 4-Algoritmo simplex](https://reader031.vdocuments.net/reader031/viewer/2022020215/5ba242be09d3f26f6e8b7577/html5/thumbnails/12.jpg)
12
DCA-FEEC-Unicamp
x1
x2
1000
1000
2000
2000
x1 + x
2 ≤ 1750 (x5 ≥0)
4x1 + 2x
2 ≤4800 (x
6 ≥0)
x2 ≤ 1500 (x4 ≥0)
x1 ≤ 1000 (x3 ≥0)
x*
![Page 13: Algoritmo Simplex para Programação Linear Igomide/courses/EA044/transp/EA_044... · 2 Tópicos 1-Introdução 2-Soluções e forma padrão 3-Soluções básicas 4-Algoritmo simplex](https://reader031.vdocuments.net/reader031/viewer/2022020215/5ba242be09d3f26f6e8b7577/html5/thumbnails/13.jpg)
13
DCA-FEEC-Unicamp
Existência de soluções básicas
4800024
17500
1500
1000
21
21
42
31
=++=++=+=+
xx
xx
xx
xx
480004
17500
150000
1000
61
51
31
=++=++=+=+
xx
xx
xx
solução básica existe se e somente se as colunas das restrições de
de igualdade correspondentes às mvariáveis básicas são linearmente
independentes (formam uma base)(solução não degenerada).
02
0024
0011
1010
0101
det ≠−=
0
1004
0101
0000
0011
det =
![Page 14: Algoritmo Simplex para Programação Linear Igomide/courses/EA044/transp/EA_044... · 2 Tópicos 1-Introdução 2-Soluções e forma padrão 3-Soluções básicas 4-Algoritmo simplex](https://reader031.vdocuments.net/reader031/viewer/2022020215/5ba242be09d3f26f6e8b7577/html5/thumbnails/14.jpg)
14
DCA-FEEC-Unicamp
Solução básica factível: solução básica não negativa
Soluções básicas factíveis: pontos extremos de D
x1
x2
1000
1000
2000
2000
x3
x0 x1
x2
x4
x7
x5
x6
x9
x10
x11 x12
x8 x4 ≥ 0
x3 ≥ 0
x5 ≥ 0
x6 ≥ 0
x2 ≥ 0
x 1≥
0 D
)0,550,1500,200,0,1200(x11 −=
)2200,750,0,0,1500,1000(x9 −−=
)0,350,1100,0,400,1000(x2 =
![Page 15: Algoritmo Simplex para Programação Linear Igomide/courses/EA044/transp/EA_044... · 2 Tópicos 1-Introdução 2-Soluções e forma padrão 3-Soluções básicas 4-Algoritmo simplex](https://reader031.vdocuments.net/reader031/viewer/2022020215/5ba242be09d3f26f6e8b7577/html5/thumbnails/15.jpg)
15
Um ponto x de um conjunto convexo C é um ponto extremo se não
existem dois pontos distintos x1 e x2 em C tal que, para algum α,0 < α < 1, x = α x1 + (1 − α) x2
Ponto extremo
C C
DCA-FEEC-Unicamp
![Page 16: Algoritmo Simplex para Programação Linear Igomide/courses/EA044/transp/EA_044... · 2 Tópicos 1-Introdução 2-Soluções e forma padrão 3-Soluções básicas 4-Algoritmo simplex](https://reader031.vdocuments.net/reader031/viewer/2022020215/5ba242be09d3f26f6e8b7577/html5/thumbnails/16.jpg)
16
Considere um poliedro não vazio P = {x ∈Rn | Ax = b e x ≥ 0} . Um
vetor x é um ponto extremo de Pse e somente se x é uma solução
básica factível de Ax = b, x ≥ 0.
Teorema 1: equivalência pontos extremos e soluções básicas
Considere um modelo de PL na forma padrão e sejam x1,..,xk soluções
básicas factíveis do modelo. Então, qualquer ponto x ∈ P pode ser
escrito como
onde ou d = 0 ou é uma direção ilimitada e
Teorema 2: representação de soluções básicas factíveis
Resultados importantes: resumo
∑ =λ+=
k ii1ixdx
0,11i
≥λ=λ∑ = ik
i
DCA-FEEC-Unicamp
![Page 17: Algoritmo Simplex para Programação Linear Igomide/courses/EA044/transp/EA_044... · 2 Tópicos 1-Introdução 2-Soluções e forma padrão 3-Soluções básicas 4-Algoritmo simplex](https://reader031.vdocuments.net/reader031/viewer/2022020215/5ba242be09d3f26f6e8b7577/html5/thumbnails/17.jpg)
17
Dado um modelo de programação linear na forma padrão, então:
3.1 se existe uma solução factível, então existe uma solução
básica factível,
3.2 se existe uma solução factível ótima, então existe uma
solução básica factível ótima.
Teorema 3: resultado fundamental da programação linear
(resultado fundamental da PL sob o ponto de vista algébrico)
DCA-FEEC-Unicamp
![Page 18: Algoritmo Simplex para Programação Linear Igomide/courses/EA044/transp/EA_044... · 2 Tópicos 1-Introdução 2-Soluções e forma padrão 3-Soluções básicas 4-Algoritmo simplex](https://reader031.vdocuments.net/reader031/viewer/2022020215/5ba242be09d3f26f6e8b7577/html5/thumbnails/18.jpg)
18
Se um poliedro P = {x ∈Rn | Ax = b e x ≥ 0} é não vazio, então Ppossui no mínimo um ponto extremo.
Colorário 1: existência de pontos extremos
Se existe uma solução ótima finita para um modelo de PL, então
existe uma solução ótima finita que é um ponto extremo de P.
Colorário 2: solução ótima finita é um ponto extremo
DCA-FEEC-Unicamp
![Page 19: Algoritmo Simplex para Programação Linear Igomide/courses/EA044/transp/EA_044... · 2 Tópicos 1-Introdução 2-Soluções e forma padrão 3-Soluções básicas 4-Algoritmo simplex](https://reader031.vdocuments.net/reader031/viewer/2022020215/5ba242be09d3f26f6e8b7577/html5/thumbnails/19.jpg)
19
O poliedro P possui no máximo um número finito de pontos extremos.
Colorário 3: número de pontos extremos
Se o poliedro P é limitado e não vazio, então P é o conjunto dos pontos
que são combinações convexas de seus pontos pontos extremos.
Colorário 4: representação de poliedros limitados
DCA-FEEC-Unicamp
![Page 20: Algoritmo Simplex para Programação Linear Igomide/courses/EA044/transp/EA_044... · 2 Tópicos 1-Introdução 2-Soluções e forma padrão 3-Soluções básicas 4-Algoritmo simplex](https://reader031.vdocuments.net/reader031/viewer/2022020215/5ba242be09d3f26f6e8b7577/html5/thumbnails/20.jpg)
20
Uma função objetivo linear f(x) = cx atinge seu mínimo sobre um
poliedro limitado P em um ponto extremo de P.
Teorema 4: resultado fundamental da programação linear
(resultado fundamental da PL sob o ponto de vista geométrico)
Prova (Luenberger, 1973):
Sejam x1, x2, ..., xk pontos extremos de P. Como P é finito e convexo,
todo ponto x ∈ P pode ser expresso como
x = α1 x1 + α2 x2 + ... + αk xk, αi≥ 0, i = 1,....,k; α1 + α2 + ...+ αk = 1
Logo f(x) = cx = α1 (cx1) + α2 (cx2) + ... + αk (cxk)
Seja z = min {cxi, i = 1,....,k}. Então cx ≥ (α1 + α2 + ...+ αk )z = z
Logo, o mínimo de f(x) = cx sobre P é z.
DCA-FEEC-Unicamp
![Page 21: Algoritmo Simplex para Programação Linear Igomide/courses/EA044/transp/EA_044... · 2 Tópicos 1-Introdução 2-Soluções e forma padrão 3-Soluções básicas 4-Algoritmo simplex](https://reader031.vdocuments.net/reader031/viewer/2022020215/5ba242be09d3f26f6e8b7577/html5/thumbnails/21.jpg)
21
4-Algoritmo simplex
x 1 x 2 x 3 x 4 x 5 x 6
max c 12 9 0 0 0 0
1 0 1 0 0 0 1000A 0 1 0 1 0 0 1500
1 1 0 0 1 0 17504 2 0 0 0 1 4800
N N B B B B
x0 0 0 1000 1500 1750 4800
1-solução básica factível inicial: ponto extremo
DCA-FEEC-Unicamp
![Page 22: Algoritmo Simplex para Programação Linear Igomide/courses/EA044/transp/EA_044... · 2 Tópicos 1-Introdução 2-Soluções e forma padrão 3-Soluções básicas 4-Algoritmo simplex](https://reader031.vdocuments.net/reader031/viewer/2022020215/5ba242be09d3f26f6e8b7577/html5/thumbnails/22.jpg)
22
DCA-FEEC-Unicamp
2-Direções de busca (direções simplex)
construídas aumentando-se uma única variável não básica de forma
que as variáveis não básicas restantes não sejam modificadas e
determinando as correções correspondentes para as variáveis básicas
necessárias para preservar as restrições de igualdade
0xA =∆
0
0
1
100024
010011
001010
000101
6
5
4
3
2
1
=
∆∆∆∆
=∆=∆
x
x
x
x
x
x
0
1
0
100024
010011
001010
000101
6
5
4
3
2
1
=
∆∆∆∆
=∆=∆
x
x
x
x
x
x
[ ]410101x −−−=∆ [ ]211010x −−−=∆
aumentando x1 aumentando x2
Direções simplex
![Page 23: Algoritmo Simplex para Programação Linear Igomide/courses/EA044/transp/EA_044... · 2 Tópicos 1-Introdução 2-Soluções e forma padrão 3-Soluções básicas 4-Algoritmo simplex](https://reader031.vdocuments.net/reader031/viewer/2022020215/5ba242be09d3f26f6e8b7577/html5/thumbnails/23.jpg)
23
DCA-FEEC-Unicamp
3-Direções que melhoram objetivo e custo reduzido
09
2
1
1
0
1
0
]0,0,0,0,9,12[;012
4
1
0
1
0
1
]0,0,0,0,9,12[
0
0
xc
x],,,[c(x)cx)x(
21
j
j
j
211
jj
>=
−−−
=>=
−−
−=
<
>
∆=
∀==∇→== ∑=
cc
c
c
c
cccfxcf n
n
jL
custo reduzido∆x = direção simplex que aumenta xj
direção simplex melhora para max
direção simplex melhora para min
![Page 24: Algoritmo Simplex para Programação Linear Igomide/courses/EA044/transp/EA_044... · 2 Tópicos 1-Introdução 2-Soluções e forma padrão 3-Soluções básicas 4-Algoritmo simplex](https://reader031.vdocuments.net/reader031/viewer/2022020215/5ba242be09d3f26f6e8b7577/html5/thumbnails/24.jpg)
24
DCA-FEEC-Unicamp
4-Passo na direção de busca
<∆∆−
=λ 0:min jj
tj xx
xse ∃ ∆xj < 0 modelo é ilimitado
x 1 x 2 x 3 x 4 x 5 x 6
max c 12 9 0 0 0 0
1 0 1 0 0 0 1000A 0 1 0 1 0 0 1500
1 1 0 0 1 0 17504 2 0 0 0 1 4800
N N B B B B
x0 0 0 1000 1500 1750 4800
∆x 1 0 -1 0 -1 -4
1000/-(-1) 1750/-(-1) 4800/-(-4)
{ } 10001200,1750,1000min ==λ
![Page 25: Algoritmo Simplex para Programação Linear Igomide/courses/EA044/transp/EA_044... · 2 Tópicos 1-Introdução 2-Soluções e forma padrão 3-Soluções básicas 4-Algoritmo simplex](https://reader031.vdocuments.net/reader031/viewer/2022020215/5ba242be09d3f26f6e8b7577/html5/thumbnails/25.jpg)
25
x1
x2
1000
1000
2000
2000
x1 + x
2 ≤ 1750 (x5 ≥0)
4x1 + 2x
2 ≤4800 (x
6 ≥0)
x2 ≤ 1500 (x4 ≥0)
x1 ≤ 1000 (x3 ≥0)
x*
x0 x1
=
−−
−+
=∆λ+=
800
750
1500
0
0
1000
4
1
0
1
0
1
1000
4800
1750
1500
1000
0
0
xxx 01
variável x1 entra na base, variável x3 sai da base
5-Atualização da base
DCA-FEEC-Unicamp
![Page 26: Algoritmo Simplex para Programação Linear Igomide/courses/EA044/transp/EA_044... · 2 Tópicos 1-Introdução 2-Soluções e forma padrão 3-Soluções básicas 4-Algoritmo simplex](https://reader031.vdocuments.net/reader031/viewer/2022020215/5ba242be09d3f26f6e8b7577/html5/thumbnails/26.jpg)
26
Algoritmo simplex
Passo 0 Inicialização: com solução básica factível x0 , t ← 0;
Passo 1 Direções simplex: construir ∆x associada com não básica xj
calcular custo reduzido cj = c ∆x;
Passo 2 Otimalidade: se nenhuma direção melhora (∃ cj > 0 para max
cj < 0 para min), então parar, xt é ótima; senão escolher nova
direção ∆x que melhora valor função objetivo; seja xp a variável
que entra na base;
Passo 3 Passo: se todas componentes de ∆x forem não negativas, então
parar, o modelo é ilimitado; senão determinar λ e escolher
variável que deixa a base, xr : λ ← ( xr / – ∆xr );
Passo 4 Novo ponto e base: determinar nova solução xt + 1 = xt + λ ∆xt + 1
e trocar xr por xp; t = t + 1; ir para o Passo 1;
DCA-FEEC-Unicamp
![Page 27: Algoritmo Simplex para Programação Linear Igomide/courses/EA044/transp/EA_044... · 2 Tópicos 1-Introdução 2-Soluções e forma padrão 3-Soluções básicas 4-Algoritmo simplex](https://reader031.vdocuments.net/reader031/viewer/2022020215/5ba242be09d3f26f6e8b7577/html5/thumbnails/27.jpg)
27
x1
x2
1000
1000
2000
2000
x1 + x
2 ≤ 1750 (x5 ≥0)
4x1 + 2x
2 ≤4800 (x
6 ≥0)
x2 ≤ 1500 (x4 ≥0)
x1 ≤ 1000 (x3 ≥0)
x0 x1
x2
x3
DCA-FEEC-Unicamp
![Page 28: Algoritmo Simplex para Programação Linear Igomide/courses/EA044/transp/EA_044... · 2 Tópicos 1-Introdução 2-Soluções e forma padrão 3-Soluções básicas 4-Algoritmo simplex](https://reader031.vdocuments.net/reader031/viewer/2022020215/5ba242be09d3f26f6e8b7577/html5/thumbnails/28.jpg)
28
5-Tableau simplex
Método de eliminação de Gauss e o algoritmo simplex
1- Se ∃ cj > 0 (cj < 0, min) então coluna q = maxj { cj, j ∈ N }linha p = mini { bi/aiq, aiq > 0, i =1,…,m}
Se cj < 0, ∀ j (cj > 0, min) então solução ótima
Se ∃ aiq > 0 então o modelo é ilimitado
2- Atualizar elementos do tableau
x 1 x 2 x 3 x 4 x 5 x 6
a 11 a 12 1 0 0 0 b 1
a 21 a 22 0 1 0 0 b 2
a 31 a 32 0 0 1 0 b 3
a 41 a 42 0 0 0 1 b 4
c 1 c 2 0 0 0 0 -z
DCA-FEEC-Unicamp
![Page 29: Algoritmo Simplex para Programação Linear Igomide/courses/EA044/transp/EA_044... · 2 Tópicos 1-Introdução 2-Soluções e forma padrão 3-Soluções básicas 4-Algoritmo simplex](https://reader031.vdocuments.net/reader031/viewer/2022020215/5ba242be09d3f26f6e8b7577/html5/thumbnails/29.jpg)
29
Atualização do tableau simplex
qx 1 x 2 x 3 …. x q …. x n
y 11 y 12 y 13 …. …. y 1n y 1,n+1
y 21 y 22 y 23 …. …. y 1n y 2,n+1
…. …. …. …. …. …. …. ….p yp1 …. y pq ….
…. …. …. …. …. …. …. ….y m1 y m2 y m3 …. …. y 1n y m,n+1
y m+1,1 y m+1,2 y m+1,3 …. …. y m+1,n y m+1,n+1
piy
yy
piyy
yyy
pq
pj'pj
iqpq
pjij
'ij
==
≠−= ypq = pivô
DCA-FEEC-Unicamp
![Page 30: Algoritmo Simplex para Programação Linear Igomide/courses/EA044/transp/EA_044... · 2 Tópicos 1-Introdução 2-Soluções e forma padrão 3-Soluções básicas 4-Algoritmo simplex](https://reader031.vdocuments.net/reader031/viewer/2022020215/5ba242be09d3f26f6e8b7577/html5/thumbnails/30.jpg)
30
x 1 x 2 x 3 x 4 x 5 x 6
1 0 1 0 0 0 1000
0 1 0 1 0 0 15001 1 0 0 1 0 17504 2 0 0 0 1 4800
12 9 0 0 0 0 0
q = 1
p = 1
{ } { }
{ } 11200,1750,,1000minmin
19,12maxmax
41
4
31
3
21
2
11
1
21
=×=
=
===
ia
b,
a
b,
a
b,
a
b
ip
c,cqjj
t = 0
DCA-FEEC-Unicamp
![Page 31: Algoritmo Simplex para Programação Linear Igomide/courses/EA044/transp/EA_044... · 2 Tópicos 1-Introdução 2-Soluções e forma padrão 3-Soluções básicas 4-Algoritmo simplex](https://reader031.vdocuments.net/reader031/viewer/2022020215/5ba242be09d3f26f6e8b7577/html5/thumbnails/31.jpg)
31
x 1 x 2 x 3 x 4 x 5 x 6
1 0 1 0 0 0 1000
0 1 0 1 0 0 1500
0 1 -1 0 1 0 750
0 2 -4 0 0 1 800
0 9 -12 0 0 0 -12000
q = 2
p = 4
t = 1
{ } { }
{ } 4400,750,1500,minmin
212,9maxmax
42
4
32
3
22
2
12
1
32
=×=
=
=−==
ia
b,
a
b,
a
b,
a
b
ip
c,cqjj
DCA-FEEC-Unicamp
![Page 32: Algoritmo Simplex para Programação Linear Igomide/courses/EA044/transp/EA_044... · 2 Tópicos 1-Introdução 2-Soluções e forma padrão 3-Soluções básicas 4-Algoritmo simplex](https://reader031.vdocuments.net/reader031/viewer/2022020215/5ba242be09d3f26f6e8b7577/html5/thumbnails/32.jpg)
32
x 1 x 2 x 3 x 4 x 5 x 6
1 0 1 0 0 0 10000 0 2 1 0 -0.5 11000 0 1 0 1 -0.5 3500 1 -2 0 0 0.5 400
0 0 6 0 0 -4.5 -15600
t = 2q = 3
p = 3
{ } { }
{ } 3,350,550,1000minmin
35.4,6maxmax
43
4
33
3
23
2
13
1
63
=×=
=
=−==
ia
b,
a
b,
a
b,
a
b
ip
c,cqjj
DCA-FEEC-Unicamp
![Page 33: Algoritmo Simplex para Programação Linear Igomide/courses/EA044/transp/EA_044... · 2 Tópicos 1-Introdução 2-Soluções e forma padrão 3-Soluções básicas 4-Algoritmo simplex](https://reader031.vdocuments.net/reader031/viewer/2022020215/5ba242be09d3f26f6e8b7577/html5/thumbnails/33.jpg)
33
t = 3
x 1 x 2 x 3 x 4 x 5 x 6
1 0 0 0 -1 0.5 6500 0 0 1 -2 0.5 4000 0 1 0 1 -0.5 3500 1 0 0 2 -0.5 1100
0 0 0 0 -6 -1.5 -17700
x* = ( 650 1100 350 400 0 0 )
DCA-FEEC-Unicamp
![Page 34: Algoritmo Simplex para Programação Linear Igomide/courses/EA044/transp/EA_044... · 2 Tópicos 1-Introdução 2-Soluções e forma padrão 3-Soluções básicas 4-Algoritmo simplex](https://reader031.vdocuments.net/reader031/viewer/2022020215/5ba242be09d3f26f6e8b7577/html5/thumbnails/34.jpg)
34
Algoritmo simplex com duas Fases
Passo 0 Modelo Artificial: se ∃ solução básica factível x0 , então ir para 3;
senão criar modelo artificial somando (subtraindo) variáveis arti-
ficiais;
Passo 1 Fase I: inicializar modelo artificial com solução básica artifical
factível e minimizar soma das variáveis artificiais;
Passo 2 Factibilidade: se Fase I termina com soma> 0, então parar (modelo
original infactível); senão utilizar solução final como solução básica
factível inicial para o modelo original;
Passo 3 Fase II: aplicar algoritmo simplex inicializando-o com a solução
básica factível obtida no Passo 2 para obter ou a solução ótima,
ou detetar que o problema é ilimitado.
DCA-FEEC-Unicamp
![Page 35: Algoritmo Simplex para Programação Linear Igomide/courses/EA044/transp/EA_044... · 2 Tópicos 1-Introdução 2-Soluções e forma padrão 3-Soluções básicas 4-Algoritmo simplex](https://reader031.vdocuments.net/reader031/viewer/2022020215/5ba242be09d3f26f6e8b7577/html5/thumbnails/35.jpg)
35
0,,
333
422sa
4min
321
321
321
321
≥=++=++
++
xxx
xxx
xxx
xxx
Fase I
0,,,,
333
422sa
min
54321
5321
4321
54
≥=++++=+++
+
xxxxx
xxxx
xxxx
xx
modelo artificial
Exemplo
DCA-FEEC-Unicamp
![Page 36: Algoritmo Simplex para Programação Linear Igomide/courses/EA044/transp/EA_044... · 2 Tópicos 1-Introdução 2-Soluções e forma padrão 3-Soluções básicas 4-Algoritmo simplex](https://reader031.vdocuments.net/reader031/viewer/2022020215/5ba242be09d3f26f6e8b7577/html5/thumbnails/36.jpg)
36
x 1 x 2 x 3 x 4 x 5
2 1 2 1 0 43 3 1 0 1 3
0 0 0 -1 -1 0
x 1 x 2 x 3 x 4 x 5
2 1 2 1 0 43 3 1 0 1 3
5 4 3 0 0 7
Tableau inicial
Primeiro tableau
DCA-FEEC-Unicamp
![Page 37: Algoritmo Simplex para Programação Linear Igomide/courses/EA044/transp/EA_044... · 2 Tópicos 1-Introdução 2-Soluções e forma padrão 3-Soluções básicas 4-Algoritmo simplex](https://reader031.vdocuments.net/reader031/viewer/2022020215/5ba242be09d3f26f6e8b7577/html5/thumbnails/37.jpg)
37
x 1 x 2 x 3 x 4 x 5
0 -1 4/3 1 -2/3 21 1 1/3 0 1/3 1
0 -1 4/3 0 -5/3 2
x 1 x 2 x 3 x 4 x 5
0 -3/4 1 3/4 -1/2 3/21 5/4 0 -1/4 1/2 1/2
0 0 0 -1 -1 0
Terceiro tableau
Segundo tableau
DCA-FEEC-Unicamp
![Page 38: Algoritmo Simplex para Programação Linear Igomide/courses/EA044/transp/EA_044... · 2 Tópicos 1-Introdução 2-Soluções e forma padrão 3-Soluções básicas 4-Algoritmo simplex](https://reader031.vdocuments.net/reader031/viewer/2022020215/5ba242be09d3f26f6e8b7577/html5/thumbnails/38.jpg)
38
0,,
333
422sa
4min
321
321
321
321
≥=++=++
++
xxx
xxx
xxx
xxx
Tableau inicial
x 1 x 2 x 3
0 -3/4 1 3/21 5/4 0 1/2
-4 -1 -1 0
Fase II
DCA-FEEC-Unicamp
![Page 39: Algoritmo Simplex para Programação Linear Igomide/courses/EA044/transp/EA_044... · 2 Tópicos 1-Introdução 2-Soluções e forma padrão 3-Soluções básicas 4-Algoritmo simplex](https://reader031.vdocuments.net/reader031/viewer/2022020215/5ba242be09d3f26f6e8b7577/html5/thumbnails/39.jpg)
39
x 1 x 2 x 3
0 -3/4 1 3/21 5/4 0 1/2
0 13/4 0 7/2
Primeiro tableau
x 1 x 2 x 3
3/5 0 1 9/5 4/5 1 0 2/5
-13/5 0 0 11/5
Segundo tableau
DCA-FEEC-Unicamp
![Page 40: Algoritmo Simplex para Programação Linear Igomide/courses/EA044/transp/EA_044... · 2 Tópicos 1-Introdução 2-Soluções e forma padrão 3-Soluções básicas 4-Algoritmo simplex](https://reader031.vdocuments.net/reader031/viewer/2022020215/5ba242be09d3f26f6e8b7577/html5/thumbnails/40.jpg)
40
0
5
10
15
20
25
30
35
40
0 5 10 15 20iterações
va
lor
(ma
x)
6-Soluções degeneradas, convergência
Solução básica factível é degenerada: se restrições de não negatividade
para algumas variáveis básicas estão ativas ( algumas variáveis básicas
são nulas ) ↔ várias bases produzem a mesma solução básica
DCA-FEEC-Unicamp
![Page 41: Algoritmo Simplex para Programação Linear Igomide/courses/EA044/transp/EA_044... · 2 Tópicos 1-Introdução 2-Soluções e forma padrão 3-Soluções básicas 4-Algoritmo simplex](https://reader031.vdocuments.net/reader031/viewer/2022020215/5ba242be09d3f26f6e8b7577/html5/thumbnails/41.jpg)
41
H
B
A
C
G
I J
D
EF
LK
x1
x2
x3
x3
x1
x2
DCA-FEEC-Unicamp
![Page 42: Algoritmo Simplex para Programação Linear Igomide/courses/EA044/transp/EA_044... · 2 Tópicos 1-Introdução 2-Soluções e forma padrão 3-Soluções básicas 4-Algoritmo simplex](https://reader031.vdocuments.net/reader031/viewer/2022020215/5ba242be09d3f26f6e8b7577/html5/thumbnails/42.jpg)
42
Convergência e ciclagem
� se a cada iteração existe um valor λ > 0, então o algoritmo simplex
pára após um número finito de iterações, indicando ou a solução
ótima ou concluindo que o modelo é ilimitado.
� com o algoritmo de duas fases, deteta-se também infactibilidade.
� existência de soluções degeneradas pode provocar que λ = 0.
� sequência de soluções pode se repetir → ciclagem
)!(!
!basesdemáximono
mnm
n
−=
DCA-FEEC-Unicamp
![Page 43: Algoritmo Simplex para Programação Linear Igomide/courses/EA044/transp/EA_044... · 2 Tópicos 1-Introdução 2-Soluções e forma padrão 3-Soluções básicas 4-Algoritmo simplex](https://reader031.vdocuments.net/reader031/viewer/2022020215/5ba242be09d3f26f6e8b7577/html5/thumbnails/43.jpg)
43
Este material refere-se às notas de aula do curso EA 044 Planejamento e
Análise de Sistemas de Produção da Faculdade de Engenharia Elétrica e de
Computação da Unicamp. Não substitui o livro texto, as referências
recomendadas e nem as aulas expositivas. Este material não pode ser
reproduzido sem autorização prévia dos autores. Quando autorizado, seu
uso é exclusivo para atividades de ensino e pesquisa em instituições sem
fins lucrativos.
Observação
DCA-FEEC-UnicampProfFernandoGomide