solução básica factível e método simplex introdução ao método simplex fase i e fase ii
TRANSCRIPT
Solução Básica Factível e Método Simplex
Introdução ao Método Simplex
Fase I e Fase II
Fundamentação teórica
• Teorema 1 :O conjunto C das soluções viáveis de um modelo de programação linear é um conjunto convexo.
Prova : Seja C o conjunto formado pelos pontos x tais que:
A x = b
x
Se C é convexo então a combinação linear convexa de dois pontos distintos x1, x2 pertencentes a C, também pertence a C. Isto é equivalente a dizer que:
{x1, x2} C => x = x1 + (1- xC com 0 1
Sejam duas soluções viáveis de C, x1, x2, tais que x1 x2, então:
Ax1 = b , Ax2 = b com x1 x2
Fundamentação teórica
E seja x = x1 + (1- x 0 1
Então
Ax = A [ x1 + (1- x] = x1 + (1-x2 = b + (1-b = b
Observe que x uma vez que x1, x2 e 0 1 garante
x = x1 + (1- x
• Teorema 2: Toda solução básica viável do sistema Ax = b é um ponto extremo do conjunto de soluções viáveis, ou seja, um extremo do conjunto C.
Prova:
Fundamentação teórica
Fundamentação teórica
Seja I = {1,2,...,m} uma base
x1
x2
...xm
...0...0
x = 0 Solução Básica Factível
Por absurdo, vamos supor que x não é um ponto extremo de S. Então, existe u S e v S, u v tal que x possa ser representado como combinação convexa de u e v : x = u + (1-)v , 0 < < 1 ou
x1
x2
...xm
...0...0
u1
u2
...um
um+1
...un
=
v1
v2
...vm
vm+1
...vn
+ (1-)
como u 0 e v 0 e 0 < < 1 ui = vi = 0, iI e pela unicidade da solução básica, x = u = v x é ponto extremo de S
Fundamentação teórica
• Teorema 3: Todo ponto extremo x de um conjunto de soluções viáveis de um sistema Ax=b é uma solução viável.
• Corolário 1 : O conjunto de pontos extremos de um conjunto de soluções viáveis é finito e limitado em Cm,n.
• Corolário 2 : Se existe uma solução viável, então existe uma solução básica viável.
Fundamentação teórica
• Teorema 4:
1. Se uma função objetivo possui um máximo ou mínimo finito, então pelo menos uma solução ótima é um ponto extremo do conjunto convexo C do Teorema 1.
2. Se a função objetivo assume o máximo ou o mínimo em mais de um ponto extremo, então ela toma o mesmo valor de qualquer combinação desses pontos.
Prova:
Fundamentação teórica
Na demonstração do Teorema 4 vamos utilizar, sem prova, a seguinte afirmação:
Em um PL na forma padrão, com bases viáveis v1, v2, ... , vk, qualquer ponto x da região viável deste PL pode ser escrito na forma
x = d +
no qual d é 0 ou uma direção sem limites e =1 e .
Fundamentação teórica
∑ σ i vi
∑ σ i σ i≥0
Seja x um solução ótima para o PL. Dado que x é viável, x pode ser escrito na forma , na qual d é 0 ou uma direção sem limites e v1, v2, ..., vk são bases viáveis do PL. Também, e .
Se cd > 0, então para qualquer k > 0, kd + zzzz é viável, e como k cresce indefinidamente a função objetivo tende ao infinito. Isto contradiz o fato que o PL tem uma solução ótima limitada.
Se cd < 0, então o ponto viável tem um valor de função objetivo maior que x. Isto contradiz a otimalidade de x.
Em resumo, se x é óitmo entao cd = 0. Neste caso o valor da função objetivo para x é dado por
Suponha que v1 é a solução viável com maior valor de função objetivo. Dado que e decorre cv1 cx. No entanto, uma vez que x é ótimo, implica que v1 também é ótimo,
Fundamentação teórica
x=d ∑ σ i vi
∑ σ i=1 σ i≥0
∑ σ i vi
cx=cd ∑ σ i cv i=∑ σ i cv i
∑ σ i=1 σ i≥0
Solução Básica Factível é ponto extremo de S• Max Z = x1 + x2
s.a. 2x1 + x2 + x3 = 8
x1 + 2x2 + x4 = 7
x2 + x5 = 3
x1 , x2 , x3 , x4 , x5 0IA={3,4,5} x3=8, x4=7,x5=3 SBFactívelJÁ={1,2} x1 = x2 = 0 Ponto Extremo A
IB={1,4,5} x1=4, x4=3,x5=3 SBFactívelJB={2,3} x2 = x3 = 0 Ponto Extremo B
IC={1,2,5} x1=3, x2=2,x5=1 SBFactívelJC={3,4} x1 = x2 = 0 Ponto Extremo C
ID={1,2 3} x1=3, x2=2,x3=1 SBFactívelJD={4,5} x4 = x5 = 0 Ponto Extremo D
IE={4,2,3} x4=1, x2=3,x3=5 SBFactívelJE={1,5} x1 = x5 = 0 Ponto Extremo E
IF={5,2,3} x5=1/2, x2=7/2,x3=9/2 SBInfactívelJF={1,4} x1 = x4 = 0 Ponto Extremo F
X1
X2
4
3
A
BC
DE F G
X5=0
X3=0
X4=0
I
H
Existem 9 soluções básicas: 5 Soluções Básicas Factíveis (Pontos Extremos) 4 Infactíveis
Método Simplista para Resolver um PL1) Listar todas as soluções básicas factíveis do PL
2) Avaliar a função objetivo sobre elas e escolher a de maior valor
Desvantagens do Método Exaustivo:
i) pode ser muito grande
ii) solução ilimitada
iii) PL inconsistente
Método mais inteligente SIMPLEX
Forma Preparada de um PLSeja o PL (MAX) Z = c x
s.a. A x = b x 0
A(m n), n >= m e, por hipótese,o sistema A x = b é:- não degenerado- não redundante- não inconsistente
Seja uma base factível qualquer I, a forma padrão pode ser escrita: cI xI + cJ xJ = Z (MAX) s.a. AI xI + AJ xJ = b
xI , xJ 0
cI cJ
m n
AI AJ
xI
xJ
m
n=
Z
b
Pré-multiplicando a forma padrão por (AI)-1, tem-se:
(AI)-1 (AI xI + AJ xJ = b) xI = (AI)-1 b - (AI)-1AJ xJ
e substituindo-se na função objetivo:
cI [(AI)-1 b - (AI)-1AJ xJ] + cJ xJ = Z (MAX)
cI(AI)-1 b + [cJ - cI(AI)-1AJ]xJ = Z (MAX)
Definindo: = cI(AI)-1 (vetor multiplicador) e Zo = b (f.o.)
chega-se a um segundo tipo de forma padrão:
0 0 ... 0 cJ - AJ
11
1(AI)-1AJ
xI
xJ
=
Z - Zo
(AI)-1b
0 xI + [cJ - AJ] xJ = Z (MAX) - Zo
s.a. 11 xI + (AI)-1AJ xJ = (AI)-1 b xI , xJ 0
Forma Preparada de um PL
xI variáveis básicasxJ variáveis não básicasÂJ = (AI)-1AJ
b = (AI)-1 bĈ = [ 0 , cJ
- AJ] (vetor de custo relativo a base I) = cI(AI)-1 (vetor multiplicador relativo a base I) Ĉ xJ = Z (MAX) - Zo s.a. 11 xI + ÂJ xJ = b
xI , xJ 0
Fazendo xJ = 0, xI = (AI)-1 b 0 solução básica factível
Z = Zo (valor da função objetivo para esta solução básica)
^
^
Procedimento do Método SIMPLEX
Passar de solução básica factível a outra, tentandomelhorar a função objetivo
1) Escolher uma variável não básica que melhore a função objetivo cj
- Aj > 0 e colocá-la na base
2) Escolher uma variável básica para sair da base de modo a manter a factibilidade.
A questão é como escolher a primeira solução básica factível?
Exemplo x1 + x2 = Z (MAX)
s.a. 2x1 + x2 + x3 = 8
x1 + 2x2 + x4 = 7
x2 + x5 = 3 x1 , x2 , x3 , x4 , x5 0
Seja a base I = {3,4,5} resultando na solução básica factívelx1 = x2 = 0, x3 = 8, x4 = 7, x5 = 3O PL já está na FORMA PREPARADA relativa a base I, portanto,x1 , x2 são candidatos a entrar na base, pois seus coeficientes são positivos e aumentam Z.Escolho x2 para aumentar (entrar na base) e conservo x1 em nível zero (na base), então para manter a factibilidade tenho:x3 = 8 - x2 x2 8
x4 = 7 - x2 x2 7
x5 = 3 - x2 x2 3 (Linha de Bloqueio)
ExemploCONCLUSÃO: x2 entrar na base (assume um valor positivo)
x5 sai da base (assume valor zero)I = {3,4,5} I’ = {3,4,2}
Para colocar o PL na forma preparada em relação a base I’ bastaexecutar a operação de pivoteamento em torno de A2
3
x1 x2 x3 x4 x5
1 1 Z
2 1 1 8
1 2 1 7
1 1 3
min b/Aj
Exemplox1 x2 x3 x4 x5
1 -1 Z-3
2 1 -1 5
1 1 -2 1
1 1 3
Nova Solução Básica Factível
Agora somente x1 faz crescer Z, portanto faz-se x1 crescer (entrarna base) e mantém-se x5 em nível zero (fora da base) para manter afactibilidade tem-se:x3 = 5 - 2x1 x1 5/2x4 = 1 - x1 x1 1 (Linha de Bloqueio)x2 = 3 x1 irrestrito
ExemploCONCLUSÃO: x1 entrar na base
x4 sai da baseI’ = {3,4,2} I’’ = {3,1,2}
Para colocar o PL na forma preparada em relação a base I’’ bastaexecutar a operação de pivoteamento em torno de Â2
1
x1 x2 x3 x4 x5
-1 1 Z-4
1 -2 3 3
1 1 -2 1
1 1 3
nova soluçãobásica factível
Exemplo
x1 x2 x3 x4 x5
-1/3 -1/3 Z-5
1/3 -2/3 1 1
1 2/3 -1/3 3
1 -1/3 2/3 2
x5 ainda faz crescer Z e x3 bloqueia o seu crescimento, portanto:CONCLUSÃO: x5 entrar na base
x3 sai da baseI’’ = {3,1,2} I’’’ = {5,1,2}
Solução Básica ÓTIMA
Todos os coeficientes da função objetivo são não positivos, portanto Z não pode mais aumentar
Observações a respeito do exemplo:SOLUÇÃO ILIMITADA Ĉ 0 e toda coluna AJ 0SOLUÇÃO MÚLTIPLA algum Ĉ não básico = 0
Interpretação Geométrica do SIMPLEX:- caminha de ponto extremo em ponto extremo adjacente atravésda aresta que os liga no sentido de fazer Z crescer
no caso apresentado o algoritmo fez o seguinte percurso:A E D C
X1
X2
4
3
A
BC
DE F G
X5=0
X3=0
X4=0
I
H
Algoritmo SIMPLEX (resumido)
Supondo CONSISTÊNCIA, NÃO-REDUNDÂNCIA e conhecida uma BASE FACTÍVEL INICIAL
1) Verificar se a base factível atual é ÓTIMA. Se for, PARE. Caso contrário vá para 2
2) Determinar a variável não-básica a entrar na base.
3) Determinar a variável básica a sair da base.
4) Achar a nova solução básica factível (por pivoteamento) e voltar a 1.
Algoritmo SIMPLEXSupondo CONSISTÊNCIA, NÃO-REDUNDÂNCIA e conhecida uma BASE FACTÍVEL INICIAL I0) Coloque o problema na forma padrão relativa a base I.1) Determine Ĉs = Max Ĉj, para j I (isto é sugestão, o algoritmo funciona com qualquer Ĉj > 0, para j I) 1.1) Se Ĉs 0, PARE. A solução básica correspondente a
base I é ótima. 1.2) Se Ĉs > 0, vá para 2.2) Examine o vetor Âs
2.1) Se Âs 0 (isto é, todos os seus componentes são não positivos), PARE. O PL tem solução ilimitada. 2.2) Se {i / Âs > 0} 0 a) Determine r / ^b/Âi
s = Min {^b/Âis} para {i / Âi
s > 0} b) Identifique Âr
s como elemento pivô. Defina a nova base I’ trocando s por r. c) Pivoteie em torne de Âr
s volte a 1
Convergência do Método SIMPLEX
Numa iteração do SIMPLEX, quando se passa de uma soluçãobásica factível à outra, a função objetivo cresce de:
Z = Ĉs ^br / Ârs
Ĉs Z - Zo
coluna s
Ârslinha r ^br
Como por hipótese: Ĉs > 0 (se Ĉs 0 solução ótima) ^br > 0 (não degenerescência)Âr
s > 0 (se Ĉs > 0 e Âs 0) solução ilimitadaConclui-se que Z > 0
Situações Especiais no Método SIMPLEX
Se a função objetivo cresce estritamente, a cada iteração e o número de soluções básicas factíveis é finito, então o método SIMPLEX converge (para uma solução ótima finita ou ilimitada) em um número finito de passos.
1) Problemas de Minimização Min f(x) = - (Max - f(x))2) Empate no critério de entrada da variável na base (resolve-se arbitrariamente)3) Empate no critério de saída da variável na base (resolve-se arbitrariamente) SOLUÇÃO DEGENERADA4) CICLAGEM Se um PL tem soluções básicas factíveis degeneradas, o método SIMPLEX pode ficar indefinidamente se movendo sobre elas (ciclando).- é muito raro- existem regras que evitam a ciclagem (método lexicográfico)
Obtenção de uma Solução Básica Inicial Factível
Faz-se uso de Variáveis Artificiais:
-x1 + 2x2 = Z (MAX) s.a. x1 + x2 2
-x1 + x2 1
x2 3 x1 , x2 0
Na forma padrão:-x1 + 2x2 = Z (MAX)
s.a. x1 + x2 - x3 = 2
-x1 + x2 - x4 = 1
x2 + x5 = 3 x1 , x2 , x3 , x4 , x5 0
Não havendo solução factível óbvia: usa-se Variáveis Artificiais: xa
Neste caso necessito de duas variáveis artificiais: x6 e x7
As restrições ficam:s.a. x1 + x2 - x3 + x6 = 2
-x1 + x2 - x4 + x7 = 1
x2 + x5 = 3 x1 , x2 , x3 , x4 , x5 , x6 , x7 0
I = {6,7,5} é uma base factível, portanto,SOLUÇÃO DE PARTIDA PARA O MÉTODO SIMPLEX
Cuidado:
A x=bx≥0
A xx a=b
x , xa≥0
{} {}≡¿{}{}⇒ xa=0
restrições originais restrições originaisacrescidas das v.a.
condição deequivalência
Obtenção de uma Solução Básica Inicial Factível
Método das Duas FasesÉ um procedimento que busca zerar as Variáveis Artificiais: xa
FASE I: 11xa = (Min)
s.a. A x + xa = b x , xa 0
Resolver um problema artificial pelo SIMPLEX. Se o valor ótimo deste problema for = 0 (isto é, xa = 0) então a solução ótima correspondente é uma solução básica factível inicial do problema original. OBS.:1) Se o valor ótimo de é positivo (xa 0) o problema original não tem solução factível.2) A solução do problema acima pode ter xa = 0, mas possuir alguma variável artificial na base com valor zero (solução degenerada)FASE II: De posse da solução básica factível achada na Fase I, aplica-se o método SIMPLEX no problema original.
Exemplo do Método das Duas Fases x6 + x7 = (Min)
s.a. x1 + x2 - x3 + x6 = 2
-x1 + x2 - x4 + x7 = 1
x2 + x5 = 3 x1 , x2 , x3 , x4 , x5 , x6 , x7 0
Base Factível óbvia I = {6,7,5}, então coloca-se o PL na forma preparada em relação a base I
- 2x2 + x3 + x4 = - 3 (Min)s.a. x1 + x2 - x3 + x6 = 2
-x1 + x2 - x4 + x7 = 1
x2 + x5 = 3 x1 , x2 , x3 , x4 , x5 , x6 , x7 0
Obs.: Agora basta zerar os coeficientes das variáveis artificiais na função objetivo.
Exemplo do Método das Duas FasesColocando em forma de quadro e aplicando o simplex tem-se:
x1 x2 x3 x4 x5 x6 x7
-2 1 1 -3
1 1 -1 1 2
-1 1 -1 1 1
1 1 3
I = {6,7,5}
x1 x2 x3 x4 x5 x6 x7
-2 1 -1 2 -1
2 -1 1 1 -1 1
-1 1 -1 1 1
1 1 1 -1 2
I = {6,2,5}
x1 x2 x3 x4 x5 x6 x7
1 1 0
1 -1/2 1/2 1/2 -1/2 1/2
1 -1/2 -1/2 1/2 1/2 3/2
1/2 1/2 1 -1/2 -1/2 3/2
I = {1,2,5}Fim da Fase I = 0 e x6 e x7 = 0
Exemplo do Método das Duas Fases - FASE IISubstituindo no quadro a função objetivo artificial pela função objetivo original e abandonando as variáveis artificiais tem-se:
x1 x2 x3 x4 x5
-1 2 0
1 -1/2 1/2 1/2
1 -1/2 -1/2 3/2
1/2 1/2 1 3/2
I = {1,2,5}
Colocando o PL na forma preparada relativa a base I = {1,2,5} tem-se: x1 x2 x3 x4 x5
1/2 3/2 -5/2
1 -1/2 1/2 1/2
1 -1/2 -1/2 3/2
1/2 1/2 1 3/2
Agora o problemareal é de MaximizaçãoI = {1,2,5}
Exemplo do Método das Duas Fases - FASE IIx1 x2 x3 x4 x5
-3 2 -4
2 -1 1 1
1 1 -1 2
-1 1 1 1
I = {4,2,5}
I = {4,2,3}Solução Ótimax1 = x5 = 0x4 = 2, x2 = 3, x3 = 1
x1 x2 x3 x4 x5
-1 -2 -6
1 1 1 2
1 1 3
-1 1 1 1
Interpretação Geométrica da Solução do Método SIMPLEX - Fase I e Fase II
Solução Ótimax1 = x5 = 0x4 = 2, x2 = 3, x3 = 1
x2
x1
X3 = 0
X5 = 0
X1 = 0
X2 = 0
X4 = 0C Iterações da Fase I
Iterações da Fase II
Método SIMPLEX - Fase I e Fase IIObservações Finais
1) Ao final da Fase I ainda há variáveis artificiais na base em nível zero. Tentar substituir (por pivoteamento) as variáveis básicas artificiais pelas não-básicas legítimas. - Se for possível, então Base Legítima Factível (vai para Fase II) - caso contrário, então redundância2) A função objetivo original pode ser acrescentada ao quadro da Fase I e sofrer os pivoteamentos, então pode-se iniciar automaticamente a Fase II3) Outros métodos para encontrar uma base factível inicial - Método do M-Grande (Big-M) - Método da Variável Artificial Única