Otimiza¸˜o de Grande Porte       ca       Alexandre Salles da Cunha        DCC-UFMG, Maio 2010Alexandre Salles da Cunha   ...
Escopo do Cap´             ıtulo   Gera¸˜o de Colunas       ca   Princ´ de Decomposi¸˜o de Dantzig-Wolfe        ıpio      ...
O Problema de Cortes UnidimensionalDados do problema:    Uma quantidade irrestrita (t˜o grande quanto queiramos) de bobina...
Formula¸˜o de Kantorovich (1960)       ca   Seja K um limite superior para o n´mero m´                                    ...
Formula¸˜o de Gilmore e Gomory (1961)       caDefini¸˜o - padr˜o de corte     ca        aDizemos que um padr˜o (pattern) de...
Formula¸˜o de Gilmore e Gomory (1961)       ca   Vari´vel de decis˜o: xj ∈ Z+ que representa o n´mero de vezes que o      ...
Como se utiliza a formula¸˜o anterior ?                         ca    Relaxamos a integralidade das restri¸˜es, substituin...
Gera¸˜o de Colunas    caVamos considerar o PL (Master Restrito):                min                       xj              ...
Gera¸˜o de Colunas    ca   Resolvemos o Programa Linear dado pelo Master Restrito (definido a   partir de P) atrav´s do M´t...
Resolvendo o Problema de Precifica¸˜o                                 ca   Ao inv´s de enumerar todas as colunas e calcular...
O M´todo de Gera¸˜o de colunas   e            ca   Vamos assumir que o Problema de Precica¸˜o tenha sido resolvido e      ...
Gera¸˜o de Planos de Corte    ca      Vamos considerar o Programa Linear Master e seu Dual:                    n          ...
Gera¸˜o de Planos de Corte    caConsiderando que o Dual Relaxado foi resolvido e que obtivemos p ∗ comosua solu¸˜o ´tima, ...
Gera¸˜o de Colunas    caO Problema de Separa¸˜o                    ca                        min       cj − (p ∗ )′ Aj    ...
Geometria do algoritmo de Gera¸˜o de Planos de Corte                              ca              Alexandre Salles da Cunh...
Decomposi¸˜o de Dantzig-Wolfe         caVamos considerar o seguinte Programa Linear com estrutura:                        ...
Reformulando o Problema   Vamos considerar os seguintes poliedros:                            Pi = {xi ∈ Rni : Fi xi = bi ...
Reformulando o Problema   Vamos considerar ent˜o que {xij : j ∈ Ji } denota o conjunto de                       a   pontos...
Reformulando o ProblemaProblema Master:min          λj c1 x1 +              1                 ′ j                         ...
Reformulando o problemaNa forma matricial, o conjunto de restri¸˜es do Problema Master fica:                               ...
O algoritmo de Decomposi¸˜o                        caVamos assumir que dispomos de um conjunto de colunas inicial, isto ´,...
O algoritmo de Decomposi¸˜o                        ca   Assumimos ent˜o que B denote a matriz b´sica associada ao         ...
O algoritmo de Decomposi¸˜o                        caCustos reduzidos    Os custos reduzidos de uma vari´vel λj s˜o dados ...
O algoritmo de Decomposi¸˜o                        caCustos reduzidos    Os custos reduzidos de uma vari´vel λj s˜o dados ...
Problema de Precifica¸˜o - para P1 (P2 an´logo)                    ca                  a                       min       (c...
Inicializa¸˜o do Algoritmo          ca    Precisamos encontrar uma solu¸˜o b´sica inicial para o Programa                 ...
Próximos SlideShares
Carregando em…5
×

[Robson] 6. Otimização de Grande Porte

623 visualizações

Publicada em

Publicada em: Educação
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
623
No SlideShare
0
A partir de incorporações
0
Número de incorporações
82
Ações
Compartilhamentos
0
Downloads
35
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

[Robson] 6. Otimização de Grande Porte

  1. 1. Otimiza¸˜o de Grande Porte ca Alexandre Salles da Cunha DCC-UFMG, Maio 2010Alexandre Salles da Cunha Otimiza¸˜o de Grande Porte ca
  2. 2. Escopo do Cap´ ıtulo Gera¸˜o de Colunas ca Princ´ de Decomposi¸˜o de Dantzig-Wolfe ıpio ca Aplica¸˜o em do Princ´ em PL ca ıpio Aplica¸˜o de CG e DW em Programa¸˜o Inteira ca ca Alexandre Salles da Cunha Otimiza¸˜o de Grande Porte ca
  3. 3. O Problema de Cortes UnidimensionalDados do problema: Uma quantidade irrestrita (t˜o grande quanto queiramos) de bobinas a de papel de largura W e altura H. Um conjunto de m perfis de tiras de papel. Cada perfil possui altura H (a mesma altura da bobina) e largura wi ∈ Z+ , wi ≤ W . Demandas bi ∈ Z+ associadas a cada perfil i de tiras de papel.ObjetivoCortar bobinas de forma a atender a demanda de cada perfil de tiras depapel, de forma que o n´mero de bobinas cortadas seja o menor poss´ u ıvel. Alexandre Salles da Cunha Otimiza¸˜o de Grande Porte ca
  4. 4. Formula¸˜o de Kantorovich (1960) ca Seja K um limite superior para o n´mero m´ u ınimo de bobinas a serem cortadas, por exemplo, K = m ⌈ j bi k ⌉ i W wi Vari´veis de decis˜o: a a ◮ xik ∈ Z+ indicando quantos perfils i s˜o cortados na k−´sima bobina. a e ◮ y k ∈ B assumindo valor 1 caso a k−´sima bobina seja usada (0, cc) e K min yk (1) k=1 K xik ≥ bi ∀i (2) k=1 m wi xik ≤ Wy k ∀k (3) i =1 k xk ∈ Z + ∀k, i (4) j y ∈B ∀k (5) Alexandre Salles da Cunha Otimiza¸˜o de Grande Porte ca
  5. 5. Formula¸˜o de Gilmore e Gomory (1961) caDefini¸˜o - padr˜o de corte ca aDizemos que um padr˜o (pattern) de corte j ´ um modo v´lido de cortar a a e abobina de largura W se a restri¸˜o da Mochila Inteira: ca m aij wi ≤ W i =1onde aij denota a quantidade de perfis do tipo i cortados no padr˜o j. As asobras do padr˜o de corte n˜o s˜o reaproveitadas. a a aVamos assumir que: P denota o conjunto de todos os poss´ ıveis padr˜es de corte vi´veis e o a que |P| = n. O vetor m dimensional de entradas inteiras Aj denota o n´mero de u perfis de cada tipo cortados no padr˜o j ∈ P. a Alexandre Salles da Cunha Otimiza¸˜o de Grande Porte ca
  6. 6. Formula¸˜o de Gilmore e Gomory (1961) ca Vari´vel de decis˜o: xj ∈ Z+ que representa o n´mero de vezes que o a a u perfil j ∈ P for empregado. n min xj (6) j=1 n Aj xj = bi i = 1, . . . , m (7) j=1 xj ∈ Z j = 1, . . . , n (8) Esta formula¸˜o compreende m restri¸˜es e um n´mero ca co u exponencialmente grande de vari´veis de decis˜o (colunas). a a Assim sendo ´ impratic´vel resolver o problema atrav´s de um m´todo e a e e que use explicitamente todas as colunas da formula¸˜o. ca Alexandre Salles da Cunha Otimiza¸˜o de Grande Porte ca
  7. 7. Como se utiliza a formula¸˜o anterior ? ca Relaxamos a integralidade das restri¸˜es, substituindo xj ∈ Z+ por co xj ≥ 0. Resolvemos o Problema de Programa¸˜o Linear associado, obtendo-se ca limites de Relaxa¸˜o Linear que ser˜o usados em um procedimento ca a enumerativo do tipo Branch-and-bound (na verdade s˜o chamados de a Branch-and-price). Para resolver a Relaxa¸˜o Linear da formula¸˜o, precisamos usar as ca ca colunas implicitamente e n˜o explicitamente, atrav´s do procedimento a e de Gera¸˜o de Colunas. ca Alexandre Salles da Cunha Otimiza¸˜o de Grande Porte ca
  8. 8. Gera¸˜o de Colunas caVamos considerar o PL (Master Restrito): min xj (9) j∈P Aj xj = bi i = 1, . . . , m (10) j∈P xj ≥ 0 j ∈P (11)onde P ⊆ P : |P| << |P|. Exemplo: fazemos cada padr˜o de P ser exatamente equivalente ao a corte de um unico perfil i (|P| = m). ´ Vamos assumir que uma solu¸˜o b´sica vi´vel para o PL acima seja ca a a poss´ de ser encontrada. No caso da escolha de P acima ´ claro ıvel e que xj = bi ´ uma solu¸˜o b´sica vi´vel. e ca a a Alexandre Salles da Cunha Otimiza¸˜o de Grande Porte ca
  9. 9. Gera¸˜o de Colunas ca Resolvemos o Programa Linear dado pelo Master Restrito (definido a partir de P) atrav´s do M´todo Simplex, obtendo uma solu¸˜o b´sica e e ca a vi´vel associada a uma base B e o valor zP para o seu m´ a ınimo. Para garantir que zP seja o valor do ´timo do Programa Linear o Original (Master), precisamos garantir que n˜o existam colunas a atrativas n˜o inclu´ a ıdas em P. Para decidir sobre esta quest˜o, precisamos verificar se existe coluna a j ∈ P P que possua custo reduzido c j = 1 − p ′ Aj < 0, onde p ′ = cB B −1 ´ o vetor de vari´veis duais ´timas. ′ e a o Como determinar se existe j : c j < 0 sem enumerar todas as colunas ? Alexandre Salles da Cunha Otimiza¸˜o de Grande Porte ca
  10. 10. Resolvendo o Problema de Precifica¸˜o ca Ao inv´s de enumerar todas as colunas e calcular c j , formulamos um e Problema de Otimiza¸˜o que nos permite decidir sobre a existˆncia de ca e j : c j < 0. Formulamos e resolvemos o Problema de Precifica¸˜o max p ′ Aj para ca todo j (recorde que Aj = (a1j , . . . , amj )′ ) Neste caso, o Problema de Precifica¸˜o consiste no Problema da ca Mochila Inteira: m max pi aij (12) i =1 m aij wi ≤ W (13) i =1 aij ∈ Z+ (14) que pode ser resolvido em tempo pseudo polinomial O(mW ) atrav´s e de Programa¸˜o Dinˆmica. ca a Alexandre Salles da Cunha Otimiza¸˜o de Grande Porte ca
  11. 11. O M´todo de Gera¸˜o de colunas e ca Vamos assumir que o Problema de Precica¸˜o tenha sido resolvido e ca que o perfil k ∈ P seja sua solu¸˜o ´tima. ca o Se ck = 1 − m pi aki < 0, a coluna k deve ser introduzida no i =1 modelo. Neste caso, fazemos P ← P ∪ {k}, redefinindo um novo Problema Master Restrito, que ´ reotimizado e o procedimento se e repete, dando origem a uma nova itera¸˜o do M´todo de Gera¸˜o de ca e ca Colunas. Caso contr´rio, se ck = 1 − m pi aki ≥ 0, o valor do Programa a i =1 Master Restrito corresponde ` solu¸˜o ´tima da Relaxa¸˜o Linear do a ca o ca problema de corte unidimensional. Al´m disto, a solu¸˜o b´sica ´tima e ca a o do Master restrito ´ uma solu¸˜o b´sica ´tima do Programa Master. e ca a o Podemos adotar v´rios crit´rios para descartar ou n˜o vari´veis a e a a (colunas) em P ao longo de cada itera¸˜o do M´todo. ca e Alexandre Salles da Cunha Otimiza¸˜o de Grande Porte ca
  12. 12. Gera¸˜o de Planos de Corte ca Vamos considerar o Programa Linear Master e seu Dual: n mmin xj j=1 max pi bi n i =1 m Aj xj = bi , i = 1, . . . , m pi aij , ≤ cj j = 1, . . . , n j=1 i =1 xj ≥ 0 j = 1, . . . , n Ao inv´s de resolver o Dual, vamos resolver uma relaxa¸˜o para o e ca Dual, escrito em termos apenas de um conjunto P de restri¸˜es: co m max pi bi i =1 m pi aij , ≤ cj j ∈ P i =1 Alexandre Salles da Cunha Otimiza¸˜o de Grande Porte ca
  13. 13. Gera¸˜o de Planos de Corte caConsiderando que o Dual Relaxado foi resolvido e que obtivemos p ∗ comosua solu¸˜o ´tima, temos duas possibilidades: ca o Caso 1 - p ∗ ´ uma solu¸˜o vi´vel para o problema dual original. Neste e ca a caso, p ∗ tamb´m ´ solu¸˜o ´tima para o problema dual original, e e ca o porque qualquer solu¸˜o p deste ´ vi´vel para o relaxado e ent˜o: ca e a a p ′ b ≤ (p ∗ )′ b. Caso 2 - p ∗ ´ invi´vel para o problema dual original. Neste caso, e a existe uma restri¸˜o dual violada por p ∗ . Identificamos esta restri¸˜o, ca ca introduzimos a mesma no dual Relaxado e reotimizamos.Para proceder com este algoritmo, precisamos resolver o Problema deSepara¸˜o que consiste em identificar uma restri¸˜o dual violada ou ca cagarantir que restri¸˜es violadas n˜o existam. co a Alexandre Salles da Cunha Otimiza¸˜o de Grande Porte ca
  14. 14. Gera¸˜o de Colunas caO Problema de Separa¸˜o ca min cj − (p ∗ )′ Aj j∈P Se o valor ´timo deste Programa Linear, obtido para a restri¸˜o k, ´ o ca e n˜o negativo, garantimos que p ∗ ´ vi´vel para o Problema Dual a e a Original. Caso contr´rio, se ck < (p ∗ )Ak para a coluna que resolveu o a Problema de Separa¸˜o, introduzimos a correspondente restri¸˜o no ca ca Dual Relaxado, fazendo P ← P ∪ {k}Aplicar o algoritmo de Gera¸˜o de Colunas no Problema Primal equivale a caaplicar o algoritmo de Gera¸˜o de Planos de Cortes no seu dual. ca Alexandre Salles da Cunha Otimiza¸˜o de Grande Porte ca
  15. 15. Geometria do algoritmo de Gera¸˜o de Planos de Corte ca Alexandre Salles da Cunha Otimiza¸˜o de Grande Porte ca
  16. 16. Decomposi¸˜o de Dantzig-Wolfe caVamos considerar o seguinte Programa Linear com estrutura: ′ ′ min c1 x1 + c2 x2 D 1 x1 + D 2 x2 = b0 F 1 x1 = b1 F 2 x2 = b2 x1 , x2 ≥ 0onde x1 , x2 , b0 , b1 , b2 s˜o vetores de dimens˜es n1 , n2 , m0 , m1 , m2 , a orespectivamente e as matrizes D1 , D2 , F1 , F2 possuem dimens˜es oapropriadas.Observe que: as primeiras m0 restri¸˜es fazem o acoplamento dos vetores x1 , x2 co os sistemas F1 x1 = b1 , F2 x2 = b2 s˜o independentes de x2 , x1 a respectivamente. Alexandre Salles da Cunha Otimiza¸˜o de Grande Porte ca
  17. 17. Reformulando o Problema Vamos considerar os seguintes poliedros: Pi = {xi ∈ Rni : Fi xi = bi } + e assumir que Pi : i = 1, 2 s˜o n˜o vazios. a a Podemos ent˜o reescrever o Programa Linear da seguinte forma: a ′ ′ min c1 x1 + c2 x2 D 1 x 1 + D 2 x 2 = b0 x1 ∈ P1 x2 ∈ P2 Alexandre Salles da Cunha Otimiza¸˜o de Grande Porte ca
  18. 18. Reformulando o Problema Vamos considerar ent˜o que {xij : j ∈ Ji } denota o conjunto de a pontos extremos do poliedro Pi : i = 1, 2. De modo similar, vamos considerar que {wik : k ∈ Ki } denota o conjunto de raios extremos de Pi : i = 1, 2. Observe ent˜o que pelo Teorema de Minkowski, um ponto qualquer a xi ∈ Pi : i = 1, 2 pode ser escrito como: xi = λj xij + i θik wik j∈Ji k∈Ki λj = 1 i j∈Ji λij ≥ 0, j ∈ Ji θik ≥ 0, k ∈ Ki Alexandre Salles da Cunha Otimiza¸˜o de Grande Porte ca
  19. 19. Reformulando o ProblemaProblema Master:min λj c1 x1 + 1 ′ j k∈K1 k ′ k θ1 c1 w1 + λj c2 x2 + 2 ′ j k ′ k θ2 c2 w2 j∈J1 j∈J2 k∈K2 λj D 1 x 1 + 1 j k∈K1 k k θ1 D1 w1 + λj D2 x2 + 2 j k k θ2 D2 w2 = b0 j∈J1 j∈J2 k∈K2 λj = 1 1 j∈J1 λj = 1 2 j∈J2 λij ≥ 0 j ∈ Ji , i = 1, 2 θik ≥ 0 k ∈ Ki , i = 1, 2 Alexandre Salles da Cunha Otimiza¸˜o de Grande Porte ca
  20. 20. Reformulando o problemaNa forma matricial, o conjunto de restri¸˜es do Problema Master fica: co j j 2 3 2 3 2 k 3 2 k 3 2 3 D1 x 1 D2 x 2 D1 w1 D2 w2 b0 λjX X j X X k 4 k 4 1 4 1 5+ λ2 4 0 5+ θ1 0 5+ θ2 0 5=4 1 5j∈J1 0 j∈J2 1 k∈K1 0 k∈K2 0 1 Observe que, diferentemente do Programa Linear Original que possuia m0 + m1 + m2 restri¸˜es, o Programa Reformulado possui apenas co m0 + 2 linhas. Uma base para este programa deve envolver ter dimens˜o m0 + 2. a Por outro lado, o novo programa possui |J1 | + |J2 | + |K1 | + |K2 | vari´veis. a Alexandre Salles da Cunha Otimiza¸˜o de Grande Porte ca
  21. 21. O algoritmo de Decomposi¸˜o caVamos assumir que dispomos de um conjunto de colunas inicial, isto ´, esubconjuntos J 1 , J 2 , K 1 , K 2 que nos permita resolver e obter uma solu¸˜o cab´sica vi´vel para o Programa Master Restrito: a amin λj c1 x1 + 1 ′ j k∈K 1 k ′ k θ1 c1 w1 + λj c2 x2 + 2 ′ j k ′ k θ2 c2 w2 j∈J 1 j∈J 2 k∈K 2 λj D 1 x 1 + 1 j k∈K 1 k k θ1 D1 w1 + λj D 2 x 2 + 2 j k k θ2 D2 w2 = b0 j∈J 1 j∈J 2 k∈K 2 λj 1 =1 j∈J 1 λj = 1 2 j∈J 2 λj ≥ 0 i j ∈ J i , i = 1, 2 θik ≥ 0 k ∈ K i , i = 1, 2 Alexandre Salles da Cunha Otimiza¸˜o de Grande Porte ca
  22. 22. O algoritmo de Decomposi¸˜o ca Assumimos ent˜o que B denote a matriz b´sica associada ao a a Programa Master Restrito, resolvido ` otimalidade. a Seja p ′ = cB B −1 o vetor m0 + 2 dimensional de vari´veis duais ′ a o ´timas, do Programa Dual do Master Restrito. Vamos dizer que p = (q, r1 , r2 ), onde r1 e r2 s˜o as vari´veis duais a a associadas `s restri¸˜es de convexidade. a co Alexandre Salles da Cunha Otimiza¸˜o de Grande Porte ca
  23. 23. O algoritmo de Decomposi¸˜o caCustos reduzidos Os custos reduzidos de uma vari´vel λj s˜o dados por a 1 a  j  D 1 x1 ′ j j  1  = (c1 − q ′ D1 )x1 − r1 ′ c1 x1 − q ′ r1 r2 0 k a Os custos reduzidos de uma vari´vel θ1 s˜o dados por a  j  D1 w1 ′ j j  0  = (c1 − q ′ D1 )w1 ′ c1 w1 − q ′ r1 r2 0 Alexandre Salles da Cunha Otimiza¸˜o de Grande Porte ca
  24. 24. O algoritmo de Decomposi¸˜o caCustos reduzidos Os custos reduzidos de uma vari´vel λj s˜o dados por a 2 a  j  D 2 x2 ′ j j  0  = (c2 − q ′ D2 )x2 − r2 ′ c2 x2 − q ′ r1 r2 1 k a Os custos reduzidos de uma vari´vel θ2 s˜o dados por a  j  D2 w1 ′ j j  0  = (c2 − q ′ D2 )w2 ′ c2 w2 − q ′ r1 r2 0 Alexandre Salles da Cunha Otimiza¸˜o de Grande Porte ca
  25. 25. Problema de Precifica¸˜o - para P1 (P2 an´logo) ca a min (c1 − q ′ D1 )x1 ′ x1 ∈ P1 Se o problema acima for ilimitado (custo = −∞), o M´todo Simplex e nos fornece um raio extremo w1  k que satisfaz (c ′ − q ′ D )w k < 0. 1 2 1 k  D1 w1 Neste caso, inserirmos a coluna  0  no master restrito 0 k (associada a vari´vel θ1 ) e reotimizamos usando o primal Simplex. a j Se o problema possui ´timo finito, atingido por x1 , de forma que o j (c1 − q ′ D1 )x1 ≥ r1 , a solu¸˜o do Programa Master Reduzido resolve o ca j Programa Master. Caso (c1 − q ′ D1 )x1 < r1 , uma coluna com custo k   D 1 x1 reduzido negativo foi encontrado. Introduzimos a coluna  1  e 0 reotimizamos. Alexandre Salles da Cunha Otimiza¸˜o de Grande Porte ca
  26. 26. Inicializa¸˜o do Algoritmo ca Precisamos encontrar uma solu¸˜o b´sica inicial para o Programa ca a Master. Para tanto, aplicamos o Simplex Fase I para cada um dos subproblemas Pi , separadamente. Com o simplex Fase I, obtemos os 1 1 pontos extremos x1 e x2 de P1 e P2 . Construimos o Master Auxiliar e resolvemos o Simplex Fase I para obter solu¸˜o b´sica para o Master Original. ca a m0 min yt t=1    λj Di xij + i θik Di wik  + y = b0 i =1,2 j∈Ji k∈Ki λj = 1, i = 1, 2 i j∈Ji λj i ≥ 0, θik ≥ 0, yt ≥ 0, ∀i , k, j, t Alexandre Salles da Cunha Otimiza¸˜o de Grande Porte ca

×