View
223
Download
1
Category
Preview:
Citation preview
1
Universidade do Minho2007
Investigação OperacionalJosé António Oliveira – zan@dps.uminho.pt
1
Investigação OperacionalMétodos de Programação Linear: Big M, 2 Fases, S Dual
Universidade do Minho - Escola de EngenhariaDepartamento de Produção e Sistemas
(Licenciatura)
Tecnologias e Sistemas de Informação http://dps.uminho.pt/pessoais/zan
Universidade do Minho2007
Investigação OperacionalJosé António Oliveira – zan@dps.uminho.pt
2
Simplex•Como obter um quadro simplex válido para um problema que tenha restrições de igualdade e/ou de maior ou igual?
– Note-se que, se o problema só tiver restrições de "menor ou igual", temos sempre uma base "à mão": a constituída pelas variáveis de folga, i.e.
– O ponto de solução nula pertence ao espaço de soluções válidas, e forma-se a base com as variáveis de folga.
2
Universidade do Minho2007
Investigação OperacionalJosé António Oliveira – zan@dps.uminho.pt
3
Simplex•Modelos (a) e (b) são equivalentes.
– O modelo (b) está na forma estandardizada e inclui uma variável de excesso (primeira restrição) e uma variável de folga (segunda restrição).
– Para a segunda linha é fácil encontrar uma variável básica inicial (tem coeficiente 1 na própria linha e 0 nas restantes).
– Qual a variável básica a associar à primeira linha? Não é claro. Não hánenhuma variável que tenha coeficiente 1 na própria linha e 0 nas restantes.
•Modifica-se o modelo por inclusão de variáveis artificiais
Universidade do Minho2007
Investigação OperacionalJosé António Oliveira – zan@dps.uminho.pt
4
Grande M / 2 fases
Qual é a solução óptima?
1 2
1 2
1 2
2 3. :
2 3, 0
Max z x xs ax xx x
= +
+ ≤≥
1 2 1
1 2 1
1 2 1
2 3 0. :
2 3, , 0
Max z x x Ss ax x Sx x S
= + +
+ + =≥
3
Universidade do Minho2007
Investigação OperacionalJosé António Oliveira – zan@dps.uminho.pt
5
Grande M / 2 fases
Qual é a solução óptima?
1
1 2 1
1 2 1
. :
2 3, , 0
Min z Ss ax x Sx x S
=
+ + =≥
O quadro não é válido
Minimizar a folga
Universidade do Minho2007
Investigação OperacionalJosé António Oliveira – zan@dps.uminho.pt
6
Grande M / 2 fases
Qual é a solução óptima?
1
1 2 1
1 2 1
. :
2 3, , 0
Min z Ss ax x Sx x S
=
+ + =≥
O quadro não é válido
Validação doQuadro Simplex
4
Universidade do Minho2007
Investigação OperacionalJosé António Oliveira – zan@dps.uminho.pt
7
Grande M «» 2 Fases
Variáveis artificiais permitem começar do ponto de solução nula.As variáveis artificiais medem o desvio (distância) do espaço de soluções válidas.O objectivo é anular essa distância / desvio da zona de soluções válidas
1 2
1 2
1 2 1
2 3. :
2 3, , 0
Min z x xs ax xx x S
= +
+ ≥≥
1 2
1 2
2 3, 0x xx x+ ≥
≥
1 2 1
1 2 1 1
1 2 1 1
2 3. :
2 3, , , 0
Min z x x Mas ax x F ax x F a
= + +
+ − + =≥
O quadro não é válido
Universidade do Minho2007
Investigação OperacionalJosé António Oliveira – zan@dps.uminho.pt
8
Grande M «» 2 Fases1 2
1 2
1 2 1
2 3. :
2 3, , 0
Min z x xs ax xx x S
= +
+ ≥≥
1 2
1 2
2 3, 0x xx x+ ≥
≥
1 2 1
1 2 1 1
1 2 1 1
2 3. :
2 3, , , 0
Min z x x Mas ax x F ax x F a
= + +
+ − + =≥
O quadro não é válido
5
Universidade do Minho2007
Investigação OperacionalJosé António Oliveira – zan@dps.uminho.pt
9
Grande M «» 2 FasesSíntese:
Incluem-se no modelo variáveis artificiais com coeficientes na função objectivo de tal forma que, numa solução óptima do modelo modificado, as variáveis artificiais tenham valor nulo. Dessa forma a solução óptima do modelo modificado é também óptima do modelo original.
O coeficiente das variáveis artificiais representa-se por M.
Universidade do Minho2007
Investigação OperacionalJosé António Oliveira – zan@dps.uminho.pt
10
Grande M «» 2 FasesSíntese:
No exemplo, o valor de M pode ser 100. O modelo (c) obtido não é equivalente ao modelo original. Uma solução admissível de (c) só é uma solução admissível de (a) se o valor de a for zero. Se, na solução óptima de (c) a variável artificial a tiver um valor positivo, então o problema (a) é impossível.
6
Universidade do Minho2007
Investigação OperacionalJosé António Oliveira – zan@dps.uminho.pt
11
Grande M «» 2 FasesExemplo:
Validação do Quadro Simplex
Universidade do Minho2007
Investigação OperacionalJosé António Oliveira – zan@dps.uminho.pt
12
Grande M «» 2 FasesExemplo:
mais negativa, entra na base
mais pequenosai da base
Não há artificiais na base, podem ser removidas do quadro e prossegue-se com o Simplex...
7
Universidade do Minho2007
Investigação OperacionalJosé António Oliveira – zan@dps.uminho.pt
13
Grande M «» 2 FasesExemplo:
Ponto actualentra
sai
Solução óptima
Universidade do Minho2007
Investigação OperacionalJosé António Oliveira – zan@dps.uminho.pt
14
Grande M «» 2 Fases
O método das 2 fases resulta do Grande M dividindo a Função Objectivo por M ???
1 22
0 0
x x MaMax zM M M
Max z aMin w a
= + −
= + −=
8
Universidade do Minho2007
Investigação OperacionalJosé António Oliveira – zan@dps.uminho.pt
15
Grande M «» 2 Fases
1ª FASEPara obter uma base inicial, utiliza-se um problema auxiliar que consiste em minimizar a soma das variáveis artificiais.
– Elimina-se a distância à zona de soluções válidas.
Universidade do Minho2007
Investigação OperacionalJosé António Oliveira – zan@dps.uminho.pt
16
Grande M «» 2 Fases
2ª FASESe não houver variáveis artificias na base, procede-se com a função objectivo original
Senão, o problema é impossível !
– É necessário validar o quadro
9
Universidade do Minho2007
Investigação OperacionalJosé António Oliveira – zan@dps.uminho.pt
17
Grande M «» 2 FasesExemplo:
1ª Fase
Validação do Quadro Simplex
Universidade do Minho2007
Investigação OperacionalJosé António Oliveira – zan@dps.uminho.pt
18
Grande M «» 2 FasesExemplo:
1ª Fase
negativa (empate), entra na base
mais pequenosai da base
Não há artificiais na base, podem ser removidas do quadro
e passa-se à 2ª fase...Ponto actual
10
Universidade do Minho2007
Investigação OperacionalJosé António Oliveira – zan@dps.uminho.pt
19
Grande M «» 2 FasesExemplo:
2ª Fase
Validação do Quadro Simplex
Universidade do Minho2007
Investigação OperacionalJosé António Oliveira – zan@dps.uminho.pt
20
Grande M «» 2 FasesExemplo:
2ª Fase
negativa, entra na base
sai da base
Solução óptima
11
Universidade do Minho2007
Investigação OperacionalJosé António Oliveira – zan@dps.uminho.pt
21
Simplex DUALVamos ver uma curiosidade…
Coluna pivot
VAMOS ERRAR !
Sai x4
Universidade do Minho2007
Investigação OperacionalJosé António Oliveira – zan@dps.uminho.pt
22
Simplex DUALHá valores negativos nos termos independentes !!!
O que fazer?
7 5 1 7 50 1 02 4 2− − −
3 1 1 511 0 02 4 210 2 0 1 4 52− − −
50 2 4 0 0 5 7 52
12
Universidade do Minho2007
Investigação OperacionalJosé António Oliveira – zan@dps.uminho.pt
23
Simplex DUALReiniciar a partir do quadro original?
Desfazer o erro?
-sair x1 e entrar x4
E se fosse possível continuar, apesar da asneira !?!?
7 5 1 7 50 1 02 4 2− − −
3 1 1 511 0 02 4 210 2 0 1 4 52− − −
50 2 4 0 0 5 7 52
Universidade do Minho2007
Investigação OperacionalJosé António Oliveira – zan@dps.uminho.pt
24
Simplex DUALO que é necessário fazer para reparar o erro ?
transformar termos independentes em valores positivos
manter a matriz identidade
iterar, escolhendo pivots negativos
7 5 1 7 50 1 02 4 2− − −
3 1 1 511 0 02 4 210 2 0 1 4 52− − −
50 2 4 0 0 5 7 52
sai a mais negativa
Qual é a queentra?Pivots
negativos
13
Universidade do Minho2007
Investigação OperacionalJosé António Oliveira – zan@dps.uminho.pt
25
Simplex DUALO que é necessário fazer para reparar o erro ?
transformar os negativos em positivos
manter a matriz identidade
iterar, escolhendo pivots negativos
7 5 1 7 50 1 02 4 2− − −
3 1 1 511 0 02 4 210 2 0 1 4 52− − −
50 2 4 0 0 5 7 52
sai a mais negativa
Qual é a queentra?Pivots
negativos
Iterar, optimizando,escolhe-se a menorrazão em módulo!
Entra x4
Universidade do Minho2007
Investigação OperacionalJosé António Oliveira – zan@dps.uminho.pt
26
Simplex DUALAinda há valores negativos nos termos independentes !!!
1 4 40 1 0 7 05 5−
4 11 0 0 4 05 53 20 0 1 1 05 5− − −
0 1 2 0 0 4 0 0−
14
Universidade do Minho2007
Investigação OperacionalJosé António Oliveira – zan@dps.uminho.pt
27
Simplex DUALQuadro válido !!!
Falta Optimizar, resolução pelo Simplex PRIMAL
8 7 01 40 0 13 3 3−
8 01 41 0 03 3 3−
5 5 020 1 03 3 3+ −
8 5 1 2 5 00 0 05 3 3+ −
Universidade do Minho2007
Investigação OperacionalJosé António Oliveira – zan@dps.uminho.pt
28
Simplex DUALSolução Óptima
340 0 1 57 1 4−3 21 0 0 2 07 7−
520 1 0 2 57 1 4−
51 20 0 0 4 2 57 1 4
15
Universidade do Minho2007
Investigação OperacionalJosé António Oliveira – zan@dps.uminho.pt
29
Simplex DUALSó mudou a ordem das linhas
340 0 1 57 1 4−3 21 0 0 2 07 7−
520 1 0 2 57 1 4−
51 20 0 0 4 2 57 1 4
Universidade do Minho2007
Investigação OperacionalJosé António Oliveira – zan@dps.uminho.pt
30
Simplex DUALExemplo
1 3
1 2 3
1 2 3
2. :
52 4 80, 1,2,3j
Min z x xs ax x xx x xx j
= +
+ − ≥
− + ≥
≥ =
1 3
1 2 3
1 2 3
- 2. :
52 4 8
0, 1,2,3j
Max z x xs ax x xx x xx j
= − −
− − + ≤ −
− + − ≤ −
≥ =
1 3
1 2 3 1
1 2 3 2
- 2. :
52 4 8
0, 1, 2,3j
Max z x xs ax x x sx x x sx j
= − −
− − + + = −
− + − + = −
≥ =
soluçãobásica
não admissível
16
Universidade do Minho2007
Investigação OperacionalJosé António Oliveira – zan@dps.uminho.pt
31
Simplex DUAL
Síntese:Sai da base a variável com o valor mais negativo (que é“menos admissível”).
Entra na base a variável que tem menor razão em módulo entre o coeficiente da linha da função objectivo e o coeficiente da linha pivot, considerando apenas as que têm coeficientes negativos na linha pivot.
sai
entra
Universidade do Minho2007
Investigação OperacionalJosé António Oliveira – zan@dps.uminho.pt
32
Simplex DUAL
sai
entra
−54 , −
12 , 0 , 1 , 1
4 , − 714 , −
12 , 1 , 0 , −
14 , 2
74 , 1
2 , 0 , 0 , 14 , − 2
SoluçãoÓptima
17
Universidade do Minho2007
Investigação OperacionalJosé António Oliveira – zan@dps.uminho.pt
33
Simplex DUALResumo da Iteração do algoritmo simplex dual:1. Teste de optimalidade (a solução básica actual é óptima se todos
os termos independentes são não negativos e todos os coeficientes da linha da função objectivo são não negativos). Se a solução é óptima, parar. Se não, prosseguir com o passo 2.
2. Decidir qual a variável que sai da base (é aquela que tem o valor mais negativo - em caso de empate decidir arbitrariamente). Prosseguir com o passo 3.
3. Decidir qual a variável não básica que entra na base (é aquela que tem a menor razão em módulo do critério de entrada - excluindo as variáveis que têm coeficiente positivo ou nulo na linha pivot; em caso de empate, escolher maior pivot em módulo). Se não houver nenhuma variável com coeficiente negativo na linha pivot, o problema é impossível, parar. Se não, prosseguir para 4.
4. Actualizar o quadro simplex para a base actual e passar àiteração seguinte (passo 1).
Universidade do Minho2007
Investigação OperacionalJosé António Oliveira – zan@dps.uminho.pt
34
Quadro Inicial
Quadro numa
qualquer iteração
Simplex Matricial «» Revisto
18
Universidade do Minho2007
Investigação OperacionalJosé António Oliveira – zan@dps.uminho.pt
35
Quadro Inicial
Matriz tecnológica (coeficientes das restrições)
Matriz Identidade
Termos independentes
Coeficientes na Função Objectivo
Variáveis de decisão
Variáveis de folga
Simplex Matricial «» Revisto
Universidade do Minho2007
Investigação OperacionalJosé António Oliveira – zan@dps.uminho.pt
36
Simplex Matricial «» Revisto1 2 3
1 2 3
1 2
2 3
5 2 34. :2 2 73 6
6 90 , 1, 2,3j
Max z x x x
s ax x xx x
x xx j
= + +
+ + ≤+ ≤+ + ≤
≥ =
1 2 3 4 5 6
1 2 3 4
1 2 5
2 3 6
52 3 0 0 04. :
2 2 73 6
6 90 , 1, 2,3,4,5,6j
Max z x x x x x x
s ax x x xx x x
x x xx j
= + + + + +
+ + + =+ + =+ + + =
≥ =
2 1 23 1 00 1 6
A =
769
b =
52 34c =
19
Universidade do Minho2007
Investigação OperacionalJosé António Oliveira – zan@dps.uminho.pt
37
Matriz formada pelas colunas da Matriz das variáveis básicas
Matriz Inversa da Matriz
Matriz dos coeficientes na Função Objectivo das variáveis básicas
Vector das variáveis básicas
Na Análise de Sensibilidade é esta forma matricial que se usa.
Quase Sempre a Matriz é dada.
Quadro numa
qualquer iteração
Simplex Matricial «» Revisto
Universidade do Minho2007
Investigação OperacionalJosé António Oliveira – zan@dps.uminho.pt
38
Simplex Matricial «» RevistoA Revisão do Simplex teve como objectivo a definição de uma metodologia mais eficiente para uso do cálculo automático.
Dantzig e Orchard-Hays desenvolveram para a RAND Corporation uma metodologia que visava tratar a informação estritamente necessária para o cálculo automático.O Simplex revisto permite reduzir o número de operações a efectuar em cada iteração, o espaço de memória, e o tempo de computação.
20
Universidade do Minho2007
Investigação OperacionalJosé António Oliveira – zan@dps.uminho.pt
39
Simplex Matricial «» RevistoNo percurso para a solução óptima só importa conhecer os vectores (colunas) fora da base, em termos da base actual (colunas das variáveis básicas):
– calculo dos custos reduzidos;– determinação do vector a sair da base– obtenção da nova solução por mudança de base.
Não se actualiza todo o quadro simplex, somente interessa identificar o novo elemento pivot.A forma revista explora o facto de se poder obter todo o quadro simplex respeitante a qualquer SBA a partir do conhecimento da matriz inversa da base B-1 dessa solução.
Universidade do Minho2007
Investigação OperacionalJosé António Oliveira – zan@dps.uminho.pt
40
Atendendo ao conceito de base de um espaço vectorial, qualquer vector Pj é dado por:
em que Xj é a representação do vector Pj em termos de base B. Donde
em que B-1 designa a matriz inversa da base actual.
Qualquer solução básica resulta de igualar a zero as variáveis não básicas.
Simplex Matricial «» Revisto
, 1, 2, ,j jP BX j n= = …
1j jX B P−=
BBX b= 1BX B b−=
Recommended