• Nenhum resultado encontrado

DECOMPOSIÇÃO EM PROGRAMAÇÃO INTEIRA

N/A
N/A
Protected

Academic year: 2021

Share "DECOMPOSIÇÃO EM PROGRAMAÇÃO INTEIRA"

Copied!
84
0
0

Texto

(1)Decomposição em Programação Inteira. aluno : Kasuo Aoyanagi orientador : Prof. Dr. Marcos Nereu Arenales. Dissertação apresentada ao Instituto de Ciências Matemáticas de São Carlos, da Universidade de São Paulo, como parte dos requisitos necessários para obtenção do título de Mestre em Ciências de Computação e Matemática Computacional.. USP - 1991.

(2) Ao meu pai e ao meu irmão ( In Memorian ) A minha mãe e aos meus irmãos.

(3) Ao Prof. Dr. Marcos Nereu Arenales, por sua orientação segura, dedicada e paciente durante todo o período de preparação deste trabalho; aos professores do "Departamento de Matemática Computacional", pelos ensinamentos recebidos; ao meu pai e ao meu irmão que sempre estiveram ao meu lado; a minha mãe e aos meus irmãos, ,pela compreensão, pelos incentivos recebidos e pelos esforços feitos para que eu conseguisse concluir mais uma etapa de minha vida; aos professores e funcionários do ICMSC - USP, pela acolhida e atenção dispensada; aos professores da UFSCar - Departamento de Matemática, em especial aos professores Artur Darezzo Filho, Dorival Marcos Milani, Carlos Lazarini e principalmente à professora Selma Helena de Vasconcelos Arenales que mostraram que a matemática não é um "bicho de sete cabeças"; aos meus amigos, em especial a Helenice e a Mansa, cuja a amizade sempre honrarei; a Capes, que criou condições para a realização do curso de Mestrado..

(4) Sempre me pareceu estranho que todos aqueles que estudam seriamente esta ciência acabam tomados de uma espécie de paixão pela mesma. Em verdade, o que proporciona o máximo prazer não é o conhecimento e sim a aprendizagem, não é a posse mas a aquisição, não é a presença mas o ato de atingir a meta. "Cari Friedrich Gauss".

(5) Resumo Muitos métodos de resolução de problemas de programação inteira são baseados na decomposição primal ou dual. Nossa proposta é rever alguns algoritmos de decomposição primai, dual e um novo método proposto por Van Roy, o qual designamos por decomposição híbrida, onde procura-se utilizar ambas as decomposições em um único procedimento. Além disso, fizemos uma implementação do algoritmo de decomposição híbrida para resolver uma aplicação prática.. Abstract Some methods for sol ving integer programming problems are based on primai and dual decomposition. In this work, we propose to revirw some algorithms of primai and dual decomposition and a new method proposed by Van Roy, the cross decomposition method, which uses simultaneously both decomposition. Futhermore, we implemented the cross decomposition algorithm to solve a praticai problem..

(6) Prefácio Muitos problemas de otimização, apresentam variáveis que assumem valores reais bem como variáveis que assumem valores inteiros e as relações entre as variáveis são lineares, assim como a função objetivo a ser otimizada é linear nas variáveis de decisão. Isto define um problema de programação linear inteira mista, que será objeto de especial atenção deste trabalho. Um dos primeiros algoritmos estudados para a resolução desse tipo de problema foi apresentado por Gomory, em 1958, que baseia-se em adicionar sistematicamente restrições ( planos de cortes) ao problema original, com a condição de integralidade relaxada, de forma que as "as soluções fracionárias" sejam eliminadas. Muitos dos métodos conhecidos hoje, para a resolução de problemas de programação linear inteira mista, são baseados na decomposição primai ou dual do problema, que segue a idéia de planos de cortes de Gomory. Neste trabalho revemos alguns métodos clássicos que são baseados na decomposição prima! ou dual e um método híbrido apresentado inicialmente por Van Roy, que utiliza ambas as decomposições em um único procedimento e fazemos um estudo de cada caso. No capítulo 1 introduziremos a notação e a terminologia juntamente com alguns teoremas que serão empregados durante o trabalho. No capítulo 2 revemos alguns métodos clássicos de decomposição primal e decomposição dual. No capítulo 3 apresentaremos o método de decomposição Híbrida. No capítulo 4 modelamos um problema de seqiienciamento de uma fundição e apresentamos alguns resultados computacionais. No capítulo 5 apresentamos as conclusões finais..

(7) No apêndice A, encontram-se definições e conceitos básicos utilizados neste trabalho. No apêndice B, encontra-se o método de decomposição de "Rosen", que é utilizado neste trabalho. Ao final, apresentamos as referências bibliograficas usadas na elaboração deste trabalho..

(8) . Conteúdo 1 Definições e Resultados Básicos. 1. 1.1 Introdução . 1. 1.2 Dualidade . 3. 1.2.1 Propriedades do Problema Dual 1.2.2 Dualidade em Programação Linear . 6 10. 2 Métodos de Decomposição. 12. 2.1 Introdução . 12. 2.2 Método de decomposição de lenders . 12. 2.2.1 Algoritmo . 19. 2.2.2. 20. Considerações Finais . 2.3 Relaxação Lagrangeana . 21. 2.3.1 Introdução . 21. 2.3.2 Método do Subgradiente . 22. 2.3.3. Algoritmo . 26. 2.3.4. Convergência . 27. 2.3.5. Considerações Finais . 29.

(9) 3 Decomposição Hinrida. 31. 3.1 Introdução . 31. 3.2 Decomposição Híbrida . 35. 3.3 Equivalência entre os Subproblemas . 36. 3.4 Convergência do Algoritmo de Decomposição Híbrida . 44. 3.5 Algoritmo de Decomposição Híbrida . 45. 3.6 Considerações Finais . 47. 4 Estudo do Caso: Planejamento de uma Fundição. 48. 4.1 Definição do Problema . 48. 4.2 Modelo Matemático . 49. 4.2.1 Formulação . 50. 4.2.2 Exemplo . 51. 4.2.3 Comentários . 54. 4.3 Métoâo de Decomposição Híbrida aplicado ao Modelo. 55. 4.3.1 Introdução . 55. 4.3.2 SubProblema Primal . 56. 4.3.3 Subiroblema Dual . 57. 4.4 Exemplo . 59. 4.4.1 Problema Mestre . 60. 4.5 Solução do Problema Teste: . 61. 4.6 Implementação . 62. 4.7 Considerações Finais . 63 64. 5 Conclusão. iv.

(10) Apêndice A. 66. Apêndice B. 69. Bibliografia. 72.

(11) Capitulo 1 Definições e Resultados Básicos Neste capítulo inicial apresentaremos algumas definições e teoremas de dualidade, que serão referidos durante o trabalho. Omitiremos aqui algumas demonstrações dos teoremas, os quais podem ser encontrados em livros de programação matemática e de análise convexa.. 1.1 Introdução Um problema db programação linear inteira mista consiste em minimizar ( ou maximizar) uma função linear ( função objetivo ) cujas variáveis devem satisfazer ao seguinte conjunto de irestrições: 1. um sistema de equações ou inequações lineares. 2. restrições de integralidade de algumas variáveis. Considere o seguinte problema de programação linear mista: (P) minimizar cTx. { Ax > b sujeito a xES. 1.

(12) onde: c, x. A. vetores n-dimensionais. é um vetor m-dimensional. conjunto do R", em geral indicando não negatividade e integralidade de algumas coordenadas de um vetor x E S. matriz de ordem m x n. São. Em função da integralidade de algumas variáveis e da estrutura especial do conjunto de restrições, podemos particionar a matriz A de tal forma que n = ni+ n2 e m = m1 -I- m2 e o problema (P) pode ser reescrito da seguinte forma: minimizar clxi+ c2 x2. (P). Alxi-1- ilx2 > bi sujeito a{ Alxi 4- Ax2 > b2 (x1, x2 ). E. S. onde: eT cl =c2 XT = (X X2). +2 } S = { xT = (x1, x2) tal que x1 E Rn +1 e x2 E Zn Usaremos a seguinte notação: problema a ser otimizado. valor da função objetivo avaliado numa solução ótima. região factível. é o problema (.) com as restrições de integralidade relaxadas.. 2.

(13) 1.2 Dualidade Considere o seguinte problema de programação matemática: Primai (P) minimizar f (x) { g(x) _5_0. sujeito a xES. onde: S C R. gr (x) = ( gi (x),...,g,n(x)) tal que gi : S R. O que se desenvolverá a seguir é uma análise das condições que um vetor x° deve satisfazer, para ser solução &ima cre (P) Definição 1.2.1 Associado ao problema (P), definimos a "função lagrangeana" da seguinte forma: L(x, u) = f(x) uTg(x) onde u E Rr é chamado vetor multiplicador de Lagrange. Definição 1.2.2 Seja x° E S e ti° > O, então (x°,u9 é um ponto de sela se satifizer: 1. L(x° ,u") < L' x,u° ), para todo x E S. 2. L(x°,u°)> L(x°,u), para todo u> O.. 3.

(14) Isto é, x° minimiza L(x,u°) sobre S e u° maximiza L(x°,u) em todos os pontos u> O. Teorema 1.2.1 Seja u° > O e x° E S então (0,u°) é um ponto de sela para L(x,u) se, e somente se, 1. x° minimiza L(x,J) sobre S. 2. g(x9 O. 8. (uo)T 09_ O. A demonstração pode ser encontrada em Lasdon [15] página 84. Teorema 1.2.2 (suficiência) Seja u° > O e x° E S se (x°,u°) é um ponto de sela para L(x,u), então x° resolve o problema (P). A demonstração pode ser encontrada em Lasdon [15] página 85. Teorema 1.2.3 Suponha que o problema (P) seja convexo, isto é, S é um conjunto convexo, f e gi ( i =1,...,m ) são funções convexas e que exista um ponto x° E S tal que g(x°) < O. Se x° resolve o problema (P), então existe um vetor de multiplicadores u > O tal que (x0, u°) é um ponto de sela de L(x, u). A demonstração pode ser encontrada em Lasdon [15] página 88.. dual:. Iremos assumir as seguintes hipóteses para a análise do problema. • f e g são funções contínuas. • o conjunto S. C Rn é. compacto ( fechado e limitado ).. Definição 1.2.3 Definimos a "função dual h(u)" como o ínfimo de x E S da função lagrangeana, para cada u> O. h(u) infimo(x E S) L(x,u) 4.

(15) Lema 1.2.1 A função dual é côncava. A demonstração pode ser encontrada em Lasdon [15] página 412. Lema 1.2.2 A função dual é continua. A demonstração pode ser encontrada em Rockafellar 1227 página 82. Teorema 1.2.4 O valor da função dual é um limitante inferior do valor da função primal, isto é, h(u) < f(x), para todo u > O e para todo x E S tal que g(x) O. A demonstração pode ser encontrada em Lasdon [15] página 412. O Teorema 1.2.4 sugere o problema de determinar o melhor limitante inferior dentre as infinitas famílias da relaxação {h(u)}„>0 é ZDL(u*), onde u* é solução ótima de: (DL) ZDL = maximizar(u> o) h(u). O problema (DL) é chamado de "Dual Lagrangeano" de (P) em relação ao conjunto de restrições g(x) < O ou problema pseudo-dual. Corolário 1.2.1 (a) Se o valor ótimo de (DL) é ilimitado ( ao ), então (P) é infactível. (b) Se o valor ótimo de (P) é ilimitado ( —ao ), então (DL) é infactível. A demonstração pode ser encontrada em Lasdon [15] página 412. Teorema 1.2.5 Seja u° > O e x° E 5, (x°, u°) é um ponto de sela de L(x,u) se, e somente se, x° for primai factível, u° for dual factível e f(x°) = h(u°). A demonstração pode ser encontrada em Lasdon [15] página 413..

(16) Definição 1.2.4 A diferença entre max { h(u) } e min { f(x)} é definido como sendo o "gap dual" ou seja:. gap dual = max{ h(u) } - min{ f(x) }. 1.2.1 Propriedades do Problema Dual Definição 1.2.5 O vetor m-dimensional -y é um subgradiente em u E Rr da. função Lagrangeana h em reil:f.m se, e somente se,. h(x) — h(u) -yT(x — u) para Odo x E Dom(h) C R.. Lema 1.2.3 Seja x E S uma solução ótima de h(u), então g(x) é o subgradiente. de h(u) no ponto u =. demonstração:. = f (x) + (u°)T g (x) + (u — u ) g (x) = f(x) + uT g(x) h(u) pára todo u> O. Logo g(x) é um subgradiente' de h(u) no ponto u = Definição 1.2.6 O conjunto de todos os subgradientes, denotado por ah(u), de h no ponto u é chamado de subdiferencial. Teorema 1.2.6 Se ah(u) 0, então Oh(u) é fechado e convexo.. demonstração: 8h(u) é convexo De fato, seja -y1 e 72 E Oh(u) então: h(x) 5_ h(u) (-yi)T (x — u) para todo x E S (1.1). h(x) 5_ h(u) + (72 )T ( x — ti) para todo x E S (1.2) 6.

(17) Multiplicando (1.1) o resultado obtemos: h(a:). 5 h(u) +. Assim. ôh(u). e'. (171. [. + (1. 0171 —. para e. (1.2) por (l?-a) , 0 <. + (1. a)72 ]T(:c. —. —. (1. <. u) para todo a:. somando. 1. e. E. 5. 0072 E õh(u). fechado. Suponha por absurdo que [73 seja uma sequência convergente de elementos de ôh(u) com ponto limite igual a 7” , tal que 7' &' âh(u). Então existe. umeS ee>0 talque:. M$). —. 6. = Mª) +. (7*)T(w. - ª). (13). Para qualquer elemento 7; da sequência [')/:] temos: hoc). s h(u) + (7,1)ch. —. (14). u). Substituindo (4.3) em (1.4) e usando a desigualdade de Cauchy— Schwarz ( ver apêndice A ) 'obtemos:. &. S (7; * 7*)T(=º. “73“7.. " Z. - ª) S "72 - “i'll - ªll Hw. e. "Tru—". > Opara todon. O que contradiz o fato que [qq-] —>17* logo 7*. ôh(u) e'fechado.. &. ôh(u). e. portanto D. Lema 1.2.4 Se 7 é um subgradiente de ôh(u) no ponto E, então o conjunto [ u 2 O tal que 'yT(u — ª) Z 0 ] contém todas as soluções ótimas do problema de maximização (DL).. ..

(18) demonstração: Desde que 7 é o subgradiente, temos que para todo u: — rã) h(u) — h(i) Se u é solução ótima para o problema (DL) = h(u) - h(ti)> 0,logo o. (u -tz)T-y > o.. O lema acima afirma, que qualquer subgradiente 7 da função h em um ponto i aponta para ? semi-espaço que contém todas as soluções ótimas do problema (DL). Teorema 1.2.7 A derivada direcional à direita de h em qualquer ponto i e em qualquer direção d, existe e é dada por: V h(F d) = mínimo (,),Eahp )drii , A demonstração pode ser encontrada em Grinald 1111. \, Se ri um ponto de ótimo de (DL), então podemos concluir que Vh(Ti,d) < O em todas as direções, isto é, a função decresce em todas as direções e como a função dual é côncava, o seguinte teorema emerge: Teorema 1.2.8 O ponto ii é ótimo em (DL) se, e somente se, Vh(il,d) < O em todas as direções no ponto ótimo. Para algum Ft > O considere os seguintes conjuntos: Iert) = { i tal que Ti O= } P(U) seu complementar Teorema 1.2.9 O ponto rz > O é solução ótima de (DL) se, e somente se,. máximo( E v) VhN 8. = O. (1.5).

(19) . onde V C R" é o conjunto que satisfaz: O < vi <1, i E —1 < vi < 1, i E P(ii") demonstração: ( ) máximo(v E v) Vh(t7,v) = O > O é solução ótima. u. Seja u > O uma outra solução ótima para o problema (DL) tal que Então u — OV, ( O > O ), v E V. Como MáXiMO(v E V) Vh(u,v) = O = Vh(ii,v) < O, Vv E V. E para qualquer ryEall(fi)evEV obtemos: h(u) h(t7) -V 57T (u — rt) = h(rt) -I- O vTry Como vrry" <O eO>0 ( por hipót0e ) = h(u) h(17). Desde que u é uma solução ótima arbitrária = i é solução ótima. ) MáXiMON E v.) v). > O' tu não é solução ótima.. Note que o máximo do problema (1.5) é maior ou igual a zero, desde que v = O é factível. que:. Por hipótese existe um subgradiente -y E Oh(i) e uma direção v tal h(z-i Ov) — h(ti) V h(ii,v) Hm = >0 e.o+ 9. Isto implica que h(i." Ov) > h(U) ( para algum O > O e Ui- Ov E R'), O logo Ft não é solução ótima. Teorema 1.2.10 A solução ri é ótima para (DL) se, e somente se, O E akt-i). demonstração: 9.

(20) O vetor O E ah(rt) se, e somente se, h(u)— h(ii) < 0(u — t7) para todo u E Rr. Logo h(u) < h(ri) é satisfeito se, e somente se, ri é ponto de ótimo de o. h.. 1.2.2 Dualidade em Programação Linear Considere o seguinte problema de programação linear:. minimizar cTx {Ax > b sujeito a x>O. onde: c, x ER". b E R'n A E Ri"' tal que rank (A) = m e m < n. Assim a função lagrangeana ( cf. definição 1.2.1 ) é escrita da seguinte forma: L(x, u). cT x uT ( b _ Ax), u > O. E a função dual: h(u) = minimizar(c>0) (c — ATu)T x + uT b O mínimo existe se, e somente se, (c — ATu) > O, isto é, ATu < c, caso contrário, se (c — AT u ) < O para algum i, poderíamos tomar xi arbitrariamente grande, assim (c — AT u)T x seria arbitrariamente negativo. Para u satisfazendo ATu < c, o valor mínimo é conseguido quando = O logo h(u) uT b. Assim o dual do problema linear dado, fica da seguinte forma: 1O.

(21) maximizar h( u) uT= b ATu < c sujeito a u>O. 11.

(22) Capítulo 2 Métodos de Decomposição 2.1 Introdução O objetivo principal deste capítulo é apresentar alguns dos mais importantes métodos de otimização para problemas de programação linear inteira mista. Nos últimos anos, a complexidade cada vez maior, dos prol*mas tratados pela programação matemática, estimulou o aparecimento tanto de técnicas preocupadas com o aumento da eficiência computacional dos métodos tradicionais, bem como de novos métodos onde a tônica principal tem sido a decomposição. Os métodos de decomposição ( primal ou dual ) podem ser vistos como uma manipulação que visa transformar o problema original em um problema equivalente ( problema mestre ), onde evidenciam-se simplificações advindas da estrutura original do problema e de uma estratégia de resolução, que tirando proveito destas simplificações, fornecem um procedimento iterativo para solução do problema mestre. A decomposição em subproblemas menores, dessa forma é passível de solução por técnicas conhecidas.. 2.2 Método de decomposição de Benders O algoritmo de decomposição de Benders procura explorar a estrutura primai do problema de programação linear inteira mista com "variáveis complicadas" ( em nosso estudo variáveis inteiras ). Para esta classe de problemas, estudada por Benders [5], fixamos temporariamente o valor destas variáveis. 12.

(23) complicadas, reduzindo à um problema de programação linear ( p.p.l. ), que pode ser resolvido utilizando algum código Simplex. O problema mestre escrito nas “variáveis complicadas” pode ser resolvido adicionandoiterativamemte planos 'de cortes. ta:. Considere o seguinte problema de programação linear inteira mis-. Primal (P). minimizam (x1'x2) & S) sujeito a. + cºmº. ela:]. Alzl + Aºmz 2. b '. S=[. .rT. :. Fixando a variável. (ml,:cg). mº,. tal que. a:]. E. n R$,“ 6 Z.,,z]. obtemos o seguinte p.p.l.:. Problema ( Pl. ). minimizar clxl + cºmº Alm]. sujeito a (131. 2 b '— 142232. Z0. Mas para aplicar a técnica acima, a variável :o; não pode ser escolhida arbitrariamente, uma vez que o problema (Pl) deve ser não vazio. Para expressar esta condição usaremos o Lema de Farkas-Minkowski ( ver Lasdon [15] página 372 ). Aplicando o Lema de Farkas-Minkowiski, o sistema linear. Alzl 2 b _ 33120 13. A2$2.

(24) será factível se, e somente se,. (b — A2. 2. para todo v tal que v TA1 < O. v>O Note que o cone C = { v tal que vT Al < O, v > O } 'é um poliedro que não depende de x2 e existe um número finito de direções extremais ( raios extremos ) que geram o cone, isto é, existem vetores vi, j = 1, ,n,, tal que para qualquer vetor u E C, pode ser escrito como uma combinação linear não negativa das direções extremas. Logo:. .„. vE = Àivi, j=1. > O,. (2.2). (2.3). Substituindo (2.2) e (2.3) em (2.11) obtemos:. np E. -(b — A2x2 )Tvi <O,. j=1. O qual é verdadeiro para todo Ai> O se, e somente se, b A2x2 )T v j. < j np =. (2.4). +2, que satisfaz (2.4) ( necesSeja Jpil o conjunto de vetores x2 E Zn tiver solução ). O problema (P) é então equivalente sariamente JpA se (P) a:. minimizar (.2 E. j pA ) C2 X2+. mínimo( , > o) clzi tal que > b — A2 x2 } 14.

(25) Isto corresponde à noção inicial de fixar a variável x2, resolver o problema linear (P1) e escolher um melhor valor para variável x2. Para x2 fixo, a minimizaçã.o interna acima é um p.p.l. Subproblema Primal (SPx2) minimizar(xi > o) clxi sujeito a Alxi > b— A2x2. Seja u o vetor das variáveis duais associadas à restrição de (SPx2), logo o dual é definido da seguinte forma: Dual do Subproblema Primal (DSPx2) maximizar(i> o) (b — A2x 2 )T u sujeito a uTA1. Considere agora o seguinte conjunto de soluções duais factíveis F(DSPx2 ) = { u tal que uTA1 <e1,u> O }, este conjunto não dependç de x2 e vá ( j = 1, •, np ), como definidos anteriormente, são seus raios extremos. Se o conjunto F(DSPx2 ) for vazio, temos pelo teorema de dualidade ( cf. capítulo 1, corolário 1.2.1 ) que: (a) (SPx2) não tem solução ou (b) (SPx2) é ilimitado Mas por definição x2 E JpA então (SPx2) tem solução e conseqiientemente, se F(DSPx2 ) for vazio então (SPx2) seria ilimitado para x2 E JPA. Portanto o problema (P) será ilimitado.. 15.

(26) O máximo é tomado como ( —oo ) se o dual for infactivel e usando o teorema de dualidade podemos escrever (P) como sendo: minimizar(x2opA) { c2 x2-Fmaximizar{ (b—A2s2 )T u tal que uT Ai < u> O máximo de (DSPx 2) não pode ser ilimitado para x2 E JPA ( de fato, se (DSPx2) for ilimitado então (SPx2) não terá solução, o que contradiz o fato que x2 E JPA). Se (P) for não vazio, a maximização interna pode ser tomada em um ponto extremo ( vértice) de (DSPx2), como exis 'e um número finito de vértices uk, k =1,...,nq. Podemos escrever o problema P) da seguinte forma: minimizar(.2 E j pA){ ê X 2 + maximizar(i < k <. (b nej.). _ A2x2)Tuk, uk > O} }. O qual é equivalente a: minimizar w x2 + o _ A2x2)Tuk, { w > Uk E F(DSPx2 ) sujeito a X2 E JPA. i. problema:. Substituindo JPA, pela restrições que o definem, obtemos o seguinte. Problema Mestre (PM) minimizar (X2EZ+n2) W sujeito a. w > c2x2 (b— A2 x2 )Tuk,. Uk E F(DSPx2). (b— A2s2 )Tvi <O, ui. E JPA. O número de restrições do problema (PM) é igual ao número de vértices e de raios extremos de (DSPx2), que em geral é enorme mesmo para um 16.

(27) problema de dimensão moderada. Entretanto somente uma pequena parte das restrições de (PM) serão ativas na solução ótima, mais precisamente, o número de restrições ativas de um problema nunca excede a n2 1, onde n2 é o número de variáveis de x2, se a solução ótima relaxada, x2 > O, for não degenerada. Isto sugere um problema mestre relaxado (PMR), formado através de subconjuntos Tp C F(DSPx2 ) e Jp C JpA de restrições de (PM). Problema Mestre Relaxado (PMR) minimizar. n2 W 0c2 E Z+ ) ti v > c2x2 + (b __ A2x2 )Tuk , (para todo uk E Tp). sujeito a { (b — A2 x2 )7. <O, (para todo tri E elp). Seja (ig, X-2) solução de (PMR) ( se (PMR) não tem solução factível, então (P) também não tem solução factível ), desde que (PMR) é uma, relaxação, de (PM), 17 é um 'imitante inferior de tv* ( o valor ótimo de (PM) e conseqüentemente de (P) ). Uma condição necessária e suficiente para que (t7, Y2) seja uma sohição ótima de (PM) e conseqüentemente de (P) é que o ponto (Ui,1 -2) satisfaça todas as restrições de (PM) ou seja: w> c2x2. (b _ A2 x 2)T uk. (uk E F(DSPx2 )). (b — A2x2 )Tvi < O, (ei E JPA) Caso contrário, devemos encontrar uma restrição que seja "violada" ( de preferência a mais "violada"). O ideal seria calcular:. máximo(l <i < np) (b — A2x2)Tv3 Embora não tenhamos todos os vértices disponíveis podemos resolver o problema acima através de (DSPx2). 17.

(28) Se excluirmos o caso onde (DSPY2) não tem solução ( caso contrário o problema (P) não teria solução ou é ilimitado ), o problema pode ser dividido em três casos: 1. O valor de (DSPY2) é ilimitado. O método Simplex aplicado à (DSPY2) fornece um raio extremo r, E JpA tal que: (b — A21- 2 )T13 > O (A1)TU < cl Assim a restrição (b — A21 -2)Tii < O não é satisfeita por Y2 logo (Ui, Y2) não é solução de (PM). Então a restrição (b — A2Y2 )TU < O é adicionada à (PMR). 2. O ótimo de (DSPY2) possui um valor finito ( conseqiientemente é obtido um vértice..rt E F(DSPx2 )) tal que: c2w 2. + (b _ A2-±-2 )T ü- -. Desde que ri é um vértice de F(DSPx2 ) que maximiza (b— A2Y2 )Tu, obtemos: c2I 2 (b — A.21-2 )T uk < t7) para todo ti'E F(DSPx2 ). ,. Além disso temos que (b — A2-±-2)T vk < O para todos os raios extremos vk de JpA. De fato, se tivessemos (b — A2Y2 )T vk > O para algum V k , então a solução ótima de (DSPY2) seria ilimitada e o caso 1 seria identificado. Segue que (rã', 1- 2) é solução ótima de (PM) e o algoritmo termina. 3. A solução ótima de (DSPY2) é limitada e obtemos um vértice ii E F(DSPx2 ), mas ao contrário do caso 2, obtemos: c2Y2 (b — A2 2 )Ti > Logo a restrição c2 x2 (b — A2 x 2 )T < w é acrescentada em (PMR). Enquanto o teste de otimalidade não for satisfeito ( caso 2 ) podemos adicionar ao programa mestre relaxado, as restrições que não satisfazem a solução (W, Y2). Assim um novo programa relaxado é resolvido para (w, x2). Se em algum estágio, a solução ótima do problema mestre relaxado não existir, então o problema (P) será infactivel e o algoritmo termina. 18.

(29) Se F(PMR)=0 então F(PM) = Se v(PMR) oo = nada podemos concluir sobre v(PM). Finalmente, se F(DSPx2 ) for vazio e (P) tiver uma solução factível concluimos que (P) será ilimitado e o algoritmo termina.. 2.2.1 Algoritmo 1. Inicialização 1.1. w := ( ); 1.2. x2 := qualquer elemento de S; 1.3. e > O; ( tolerância ); 2. Resolva o problema (DSPx2); 2.1. 5.e (DSPx2) é Ilimitado Então 2.1.1. Gerar corte de Benders 2.1.1.1. Determinar um raio extremo D.; 2.1.1.2. Acrescentar a restrição em (PMR) 2.1.1.2.1. (b — A2 x2 )T"U < O; 2.2. (DSPx2) é Infactível Então 2.2.1. Fim. O problema (P) é ilimitado. 2.3. Se 1w — êx2 — (b— A2 x2 )Tul < e Então 2.3.1. Fim. Solução . ótima; Senão Gerar corte de Benders 2.3.2. Acrescentar a restrição em (PMR) 3.3.2.1. êx2 (b — A2 x2 )Tu < w; 3. Resolva o problema (PMR); 3.1. Se (PMR) é Infactível Então 3.1.1. Fim. O problema (P) é infactível; 3.2. Se (PMR) é Ilimitado Então 3.2.1. w := ( -oo ); 3.2.2. x2 := qualquer elemento de S Senão 19.

(30) 3.2.3. Obtemos uma solução ótima finita w, x2 ); 4. Volte a passo 2; Teorema 2.2.1 O algoritmo converge em um numero finito de iterações. A demonstração pode ser encontrada em Salkin [24] página 264. Para problemas de grande porte, a convergência -pode ser muito lenta, contudo o erro de arredondamento resultante da regra de parada ( caso 2 ) pode não ser satisfeita. Mas em cada iteração, a solução ótima do problema mestre relaxado (PMR) é um 'imitante inferior de w*, além disso, se em um dado estágio o subproblema (SPx2) tiver uma solução ótima, então ("j1,Y2) é solução de (P) e w = c2I 2 -E c171 é um limitante superior de tos. Logo o algoritmo pode ser interrompido quando I — wl < e ( tolerância ).. 2.2.2 Considerações Finais i- A velocidade de convergência do álgoritmô está intimamente ligada com o código Simplex utilizado para resolver o problema (DSPx2) e principalmente com o método utilizado para a reso_ução' do problema linear inteiro (PMR). No problema de otimização em redes, Magnanti e al. [16] observaram que o algoritmo de Benders converge muito lentamente, pois requer a resolução de um número muito grande de problemas inteiros. , ii- Assim a grande dificuldade do algoritmo está justamente na resolução do problema inteiro, pois a cada iteração novos cortes ( restrições ) são adicionadas ao problema mestre relaxado. Côté et al. [6] propõem algumas heurísticas, para a resolução aproximada do problema mestre relaxado, com objetivo de acelerar a busca, contudo os métodos propostos são heurísticos, assim não existe uma garantia que uma solução factível possa ser determinada, ainda que ela exista.. 20.

(31) 2.3 Relaxação Lagrangeana 2.3.1 Introdução Considere 'o seguinte problema de programação linear mista:. Primal (P) minimizar cr x A2x > b2 sujeito a xEX=. n, n2. x1, x2) tal que Ai x > xiE rt+a, x2 E Z+, I. A idéia básica da Relaxação Lagrangeana é de relaxar um conjunto de restrições "complicadas", obtendo-se assim um problema que seja mais "fácil" de se resolver. Para cada restrição "complicada" associamos uma variável ui ( O) chamada de ,multiplicador de Lagrange ou variável dual. Denotemos por u o vetoi formado pelos multiplicadores de Lagrange. Assim podemos definir a função L(x,u) ( cf. capítulo 1, definição 1.2.1 ) da seguinte forma: b2 ( cT _ uT A2 )x L(x,u) = cT x uT (b2 — A2x) uT= E a função dual é dada por: h(u) = minimizara E x). L(x,u)} = uTb2+ minimo(X E 1c). (CT — UTI12)X. O problema h(u) é chamado de relaxação Lagrangeana de (P) em relação ao conjunto de restrições A2x > b2. Podemos observar que h(u) não contém as restrições "complicadas" A2 x > b2 uma vez que estas foram adicionadas na função objetivo com um termo de penalização, logo obtemos um problema "mais fácil" de se resolver. 21.

(32) . â?“. _'. "AW". -—. Desse modo, definimos o seguinte problema ( cf. capítulo. 1.2 ):. 1. seção. -. (DL) ZDL. (u') = maximizar“.. _>_. 0). h(u). A solução de (DL) nos fornece uma escolha mais apropriada da. “variável dual u”, Consequentemente sua resolução é de grande importância para o nosso estudo.. 2.3.2. Método do Subgradiente. Apresentaremos uma aproximação bem simples, do algoritmo de passo ascendente, para a resolução de (DL) chamado de “algoritmo do subgradiente”, que foi proposto inicialmente por Shor ( 1962 ) que é uma generalização do método do gradiente para funções diferenciáveis. Posteriormente foi estudada por Poljak [20], mas a idéia central é baseado nos trabalhos de Agrnon [1], Motzkin e Schoenberg [18]. Basicamente o algoritmo procura gerar uma seqíiência de soluções. [uk] através da seguinte regra:. uª“ = Projuf uª + ºn"|I lhª. ]. (2.5). onde: CJ-. H. Proju. =. 43. III. [utalqueueRͪ].. é o operador projeção de escalar maior que zero. (bz. -—. Agmk) é. Bºª. em U.. um subgradiente de h em ( uk ).. Observe que não temos nenhuma garantia que 'y'ª seja uma direção de subida, dessa forma a convergência do algoritmo depende essencialmente da. 22. ..

(33) ,,. f. “:.?. -. escolha do tamanho do passo O,, em cada iteração. Existem muitos resultados teóricos que determinam o tamanho do passo a ser usado, mas um resultado mais geral é dado pelo seguinte teorema:. Teorema 2.3.1 (Poljak [20]) Seja h uma função côncava e contínua definida em um conjunto compacto X Ç Rºªm. Se 0], ( ºk > 0 ) e' escolhido de tal modo que:. 23200?“. _. & ;. .. Eôk=oo. k=1. então a sequência [uk] com 7h E ôh(uk) 1322,. sup h(u'ª). e'. tal que:. : h(u') : maximizarmenín) [ h(u) ]. demonstração:. O. tal que. N. É suficiente mostrar que dado e > h(u) > h(u ) -- 6]. Suponhamos por absurdo que u'º. Em'outras palavras, h(u'º) Como h. e'. contínua em X. ||u — n*". de ótimo e. 56. O,. &'. 3 k tal que uk. [. E V(e)=. u>. V(e), para todo k.. 5 h(u*) — e, para todo a'“. =*». 35>. O. tal que:. # h(u) > h(u*). —-. 6. Temos 1376 0, para qualquer k ( caso contrário a'“ seria um ponto o algoritmo termina ). Seja. ªk. definido da seguinte forma:. 7. ªkª "ªu?" 23. .. (ªº).

(34) Temos que |ka. if" = 6 e portanto h(u'º) > h(u') — 5.. —. Usando o fato que h(u'º). 5 h(u') — 6 => Mu"). —. Mªk) < 0. Como 7ª é o subgradíente da função h no ponto a'“ temas:. Mªk). —. h(uk) S' (7k)T(uk. uk) para todo k. —. Logo:. (WW — dº) 5 W) — hw) < 0. *.*. Como ||uk+1—. 14. -. '--||2 ||Proju[ uk +———-— “;k"k]— ProjU[ u. usando o fato que o-operador projeção obtemos:. e'. e. '. N. M. .. nuk+l. be. ªw'º. '. '. '. _. It'-[Hz. S. "“I: _un-"2. +. (ver. uma contração. "ªk“ “ “nº É "ªk +. '. (2.7). 0,1;. +. ]"2. Minoux [17]). “ ª . "º. 29 k(7 I: ) T (u k__. ||ka. ª) *. (2.8). (2.6) temos que: ]:. .. WW" — n*) = (fºfo/ª - ªk * "%) (f)-TW“. - ª') = (7'º)T(u'º - ª'“ ) - õlh'ºll. (2.9). Substituindo (2.9) em (2.8) obtemos:. Ilª'º“. —. “”II”. S. Ilª/º. - ª'llº + 913 + 24. 20k(7'º)T(U'º. “7h“. —. ª'“). ——. 260],.

(35) .Já"?. “". De (2. 7) temos que (7k)T(u'º— *) < 0 e como 91, >. então:. "ª““ - “'Nª 5. O. ( por hipótese ). - "'Nª + Mªk - 25). Nª". Como [ºk] é uma seqú'ência que tende para zero quando k tende para infinito então 3 K 6 N tal que k 2 K ºk 5 6.. #. .. 2K. Assim para todo k. Iluk“. - “'Nº 5. Somando sobre k,. 6. K+?. 2. ok. k=K. fato que. Eª]. .k. : K,. IIU'“ —. . . .. ª'llº — ªkª. ,K + p. 5 uu“ — u'uº — uu'ºªª“. —. obtemos:. «ruª. 5 uu“ — «ruª. Tomando p suficientemente grande, obtemos uma contradição do D ºk _oo.. :. ,. Evidentemente o algoritmo baseado no procedimento acima para a determinação do passo, não possui nenhum interesse prático, pois a convergência torna—se excessivamente lenta. Uma outra estratégia para a escolha do passo foi proposta por Poljak [21] onde ºk é definido da seguinte forma: ,,k. _. Akíh(u*)—h(u'º)] "bz. —. Azfºk". ,. ( 2.10). onde:. 0<€1SÃkS2—62(81>0,82>0).. h(u*) é o valor ótimo do problema ( DL ). Usando o resultado acima, obtemos o seguinte algoritmo do. gradiente: 25. sub—.

(36) 2.3.3. Algoritmo. 1. Inicialização 1.1. e Z O; ( tolerância, ) 1.2. k := 1; «. 1.3. uk := O; 1.4 max > 0 ( número máximo de iterações ). 2. Selecione 2.1.. algurn'subgradiente 7,“. aº “nv'ªgu s. &. E. ôh(u'º). Então. 2.1.1, Fim.. Senãº. 2.1..2 uk+l := 3. Teste de 3.1.. _S_g. Projví. uk. + 9157,“ );. Parada max =. k Então 3.1.1; Fim. ( Solução aproximada ). Senão. & '. 3.1.2. k := k + 1;. '.. f. 4.. _. Retorne ao passo. 2. |. onde;. M. h(u*i) é o valor do ponto ótimo no' problema (DL).. &. .. (, '“. =. 7'“. :. II'Y'ºlI2. (bz. — Água,“). é o subgradiente de h(u'ª).. 0<€15Ãk5>2—62(€1>0,62>0). 26.

(37) 2.3.4 Convergência A convergência do algoritmo (2.3.3) é garantida pelo seguinte. remar. teo—. Teorema 2.3.2 Suponha. que a solução ótima uª“ do problema (DL) exista e ao aplicamos o algoritmo da subgradiente com a hipótese adicional de que existe um M > O tal que ||7'ª||ª_ 5 M, para todo 7h E ôh(u) e para todo u pertencente ao conjunto [ u tal que Hu —- n*" 5 "nº — 'a'“ ], então o limk_,ºº h(uk) h(u*) e. .. algum ponto limite da seqíiência (ah]. e'. :. solução ótima.. demonstração: Inicialmente iremos mostrar que a seqíiência [ "u notonicamente; decrescente. projeção. e'. Usando o fato que nª“ = uma contração temos que: Hª'“+1 .. '. Projví. uk. +. Bk'y'º. ). —. e que o. '. ). um"2. e' mo—. operador. _ "'Nº = llPTºJ'ví ª'“ + 9ka ] Prºjví ª' lll2 S "uk + 9ka * “*Nº = Hª'“ "*Nº - ªílhkllº + ”Mªk _ ”*)T'Y'º. -. h(uk). ?Como. h(u*). Ilu'c+1. - “*Nº 5. —. IIU'“ —. Desde que: .,'“. Temos que:. "ªk“ - “*Nº 5. IIU'“. 5 ('yk)T(u*. =. n*llº. ——. uk) temos que:. ºíllv'ºllº. M —. .. —. 2014. Hª') “ Mªk“. Il'r'ºll2. -'ª'IIº + (li. SejaA= lhº”). —-. 2Ãk)[ h(ª*) Il'r'ºll2. —. h(ª'º) ]2. _llv'ºllº. 27. - Mªº). 20. ]2. (2-11).

(38) c—awf'í-fª'ª'. ,:. - 2A,,)A = A,,(Ak. (A:. Desde que0<el SA,, se ). Temos por (2.11) e (2.12) que: .. —. "uk—H. _u. "2. S. “uk—. g —5152A. 52—52 (61. '. ,,. 2)A. “ _ "2 _. ( e 1 e 2)[. (2.12). >0, 62>0) (porhipóte-. h u“. —. ("72“2. h ( u": )] ª. (2.13).Kl). !. Um resultado imediato de (2.13) que a seqiiência [ monotonicamente decrescente, isto implica que: e'. e'. Nuk —. u'llº ]. Iimk_.ºo“uk — u"'||2 existe A existência do limite implica de. ——. Wu“) — . hm. km. ( 2.13 ) que:. W) lª = 0. ,. ll'r'ºllº. “ª. !. Caso contrário teriamos uma subseqiiência infinita de [ "u“1 n*"º ) decrescendo em cada passo para algum 63 Z 0, o que é um absurdo.. —. Desde que "'y'ºllº < M para todo k podemos concluir que: klim. h(uk). : h(u").. Finalmente a seqiiência [uk] possui no mínimo um subseqiiência convergente, pois uk é limitado pelo conjunto u tal que "u — u'" 5 "nº — u'll ]. «[. função h. e'. Seja [nª] uma subseqiiência que converge para continua (cf. capitulo ] lema 1.2.2) temos que:. lim. h(u'º-' ). E assim u". e'. =. 71059510. a'“). ótimo.. _. 28. u". e. desde que a. : Mu") = h(u*) D. =. ...

(39) ”'"vªj. Como desconhecemos o valor ótimo do problema, utiliza-se uma estimativa "217 de h(u*) e o passo é escolhido da seguinte forma:. :. Aki "É—. h(uk)]. (ªª). lh'ºllº. 0<el_<_AkSZ—sz heurística.. (2.15). (. Usando (2.14) e (2.15) Held et al. [12] sugerem a seguinte regra ll, .. i. '' ' 1. Faça Ão = 2 durante no = n iteraçoes ( onde n e' o numero de variaveis do problema ). 2. Para i = 1 até r ( número máximo de iterações ) faça A,- = A;-1/2 durante n,- n,-_1/2 iterações. '. N. I. :. Um outro resultado pode ser encontrado em Allen et al. [2] onde a restrição 0 < 61 < A); < 2 — 62 ( 61 > 0 , 62 > 0 ) é relaxada permitindo que a sequência (kk) aproxime-se de zero.. 2.3.5. Considerações Finais. '. L. /—«. A grande vantagem do algoritmo do subgradiente, reside na sua de simplicidade implementação e no conhecimento de somente um gradiente em cada ponto, mas com o inconveniente de que a taxa de convergência ser geralmente i—. lenta.. ii- A escolha do tamanho do passo é uma decisão crucial. Este profoi estudado inicialmente por Poljak [20,21] e posteriormente por Held et blema al. [12] e Bazaraa e Sherali [2] que fornecem algumas regras heurísticas para a solução deste problema. Contudo estas escolhas sobre o tamanho do passo são de. natureza puramente heurísticas. Assim diferentes variações do tamanho do passo tem diferentes variações na convergência do algoritmo.. iii- Os criterios de parada são completamente arbitrários, dado que não possuimos critérios que assegurem que o ponto encontrado seja de ótimo.. Por exemplo quando a função h(u) é “suave” e [uk] converge para o ponto de máximo n* de h então [7h] 7'“ = 0, isto é, o gradiente converge mas isto ——>. 29.

(40) º.. pode não ocorrer em algumas funções não diferenciáveis, assim critérios do tipo "7" 6 podem se tornar inuteis. Desse modo um dos critérios mais utilizados é o de delimitar o número de iterações. _<_. iv- O algoritmo do subgradiente tem sido considerado apenas em. um esquema heurístico dado que seus limitantes são de natureza especulativa, pelo fato do algoritmo não dar indicação sobre o “gap” de otimalidade. Sen e Sherali [25] propõem uma nova estratégia de resolução usando o algoritmo do subgradiente primal dual. DeSse modo conhecendo o valor do “gap dual”, podemos estabelecer um critério de parada mais confiável. —. v- Podemos observar que o conhecimento “a priori” do valor ótimo ( ou umaiestimativa )'é de grande importância para o desenvolvimento do algoritmo, Kim et al. [16] propõem uma nova estratégia onde este dado não é 7h. conhecido.. '. '. 30.

(41) Capítulo. 3. Decomposição Híbrida 3.1. .. Introdução. Os princípios de decomposição apresentados neste trabalho, tem fornecido muitos algoritmos eficientes para a resolução de problemas de programação linear inteira mista. Os algoritmos de decomposição de Benders e o método relaxação Lagrangeana procuram explorar da estrutllra do problema ( seja nas variáveis ou restrições ), para resolver uma sequência de subproblemas “áceis” .Contudo muitos problemas apresentam um estrutura especial ;tanto para as variáveis como para as restrições. O problema de planejâmento de multi-item [27] é um exemplo, dado que o subproblema resultante da relaxação Lagrangeana é reduzidoa resolução de vários problemas planejamento de um único item, bem como o subproblema de Benders resulta na resolução de um problema de fluxos em redes a custo mínimo. Assim a idéia básica da decomposição híbi'ida [28]é usar ambos os principios de decomposição em um único procedimento. l. .. Considere o seguinte problema de programação linear mista ( cf. definição do capítulo 1 ): '. (P). minimizaqx & s) sujeito a. Art:. 31. 2b. cTa:. '. '.

(42) ,?. Explicitando as variáveis “complicadas”, aqui representadas por mg 6 Ziª e utilizando o método de decomposição de Benders ( ou primal ), o problema (P) é reescrito na seguinte forma:. (P) minimizaqx & 5). ela;]. sujeito a Alxl +. [42:32. + cºm. 2b. “ !,. Assumiremos' que o' conjunto:. [ zl. E. Rida! que Alzl “+ Aªmz 2 Fixando a variável. 132. b] é não vazio para todo. 322. obtemos o seguinte p.p.l.:. Subproblema Primal (Sng). "&. minimizamxl > 0). !. sujeito a Alm]. _>_. ela:). b—. + cºm;. Aºxz. .|. Dessa forma o problema (P) é equivalente &:. Primal (Pl). minimizar. : minimizar. (xz & 232). minimizaqxl (x 2. E. v(SP:v2). > 0). clxl + cºxz. 11. Z +:2). . . snjezto a Alml + A2$2. 011. 32. 2b. 6. Z?..

(43) minimizar. ( :: 2. maximizar-(u 2 0) (b — A2$2)TU + cºmº. n e Z+ 2 ). . . sujelto a uTA1. 5 c1. ou o. .. ' (b max1mo(k)[. .. minimizar(xz. º. 62112). A 2 mz) T u + c2 272, tal que u k E TPA ] ]#. ——. 011. (PM). minimizar. sujeito a. '. (x2. E. 11. 24.2). w. bTu'º + (c2. — ukAº)a,—2. 5 10. a'“ E TPA. |. Onde TPA é um conjunto de todos os pontos extremos de F(DSP), e (DSP) é 0 dual do gsubproblema (Sng). Por simplicidade retiramos mº de F(DSP), desde que F(DSP) não depende desta variável. As restrições decorrentes dos elementos de TPA são chamadas de cortes de Benders e geralmente em um número muito grande, desse modo procuramos resolver um problema relaxado (PMR), onde apenas alguns cortes são considerados.. (PMR) m1n1m1zar(xz & Zilª) w bTu'ª. sujeito a. + (c2. ª'“ € TP. º. —. '. (uk)TA2)3:2. _<_. w. TPA. Explicitando as restrições “complicadas”, aqui representadas por Agº: 2 bz, o procedimento para a decomposição dual é feito reescrevendo o pro— blema (P) na seguinte forma: 33. _. ,.

(44) (P). minimizara E s) CT X >. sujeito a. problema:. A2x > b2. Dualizando em relação à restrição A2 X > b2 obtemos o seguinte. Subproblema Dual (SDuz) minimizara E S ) CT + (b2 — A2 X)T U2 sujeito a Aix > bi. Assumiremos que o conjunto: x e S tal que Ai x > é não vazio e lirnitaido. O dual Lagrangeano do problema (P) é dado por: Dual Lagrangeno (DL) = maximizaN2>o) v(SDuz) maximizar(u2> o). minimizar(xEs) cTx + (b2 — A2 x)Tu2 } sujeito a Aix >. ou maxim1zar(.2>o) inninim1zar( k )CT X k (b2 — A2xk )T u2, tal que X k E TDA 01.1. 34.

(45) Dual Mestre (DM). maximizarmz 20) sujeito a. z. ch'ª + (bg — Azz'º)Tu2 2 z (ck. E Tu,;. Onde TDA é um conjunto de todos os pontos extremos do casco l convexo C,[ F(SD) ]. Por simplicidade retiramos uz de F(SD), desde que F(SD) não depende desta variável. Assim, como no problema de Benders, não resolvemos o problema mestre completo, mas uma relaxação (DMR). '. Dual Mestre Relaxado (DMR) maximizar—(uz 20) z. sujeito a. 3.2. cTzz'ª + (bg. —. Azwk)TU2. iz. Z. ". $,“. 6. TD. º. TDA. Decomposição Híbrida Urna iteração híbrida para a resolução do problema (P) seria:. . .. Escolher o valor da variável. m'; .. Iteração: 1.. Resolver o subproblema primal (Ssz), e seja uk“ as coordenadas da variável dual ótima associadaa restriçao Agx'º < bz.. 2. Resolver o subproblerna dual (SDuz'H), e seja wk“ a solução ótima. primal. O valor ótimo do subproblema primal (S Pazg) fornece um limitante superior ( cf. capítulo 2 seção 1 ) e o valor ótimo do subproblema dual (SDuz) 35.

(46) fornece um limitante inferior ( cf. capítulo 2 seção 2 ) do valor da solução ótima. Desse modo obtemos um procedimento que gera limitantes ( inferior e superior ) para o valor ótimo do problema (P). Porém, o algoritmo composto apenas pelos dois subproblemas não possui uma convergência garantida, para assegurarmos a convergência do método, o “ping-pong” ( troca de informações entre os dois subproblemas ) é imerso em um dos esquemas padrões de decomposição, onde a convergência é comprovada. Quando o “ping-pong” cessa, as soluções previamente ºbtidas são utilizadas na geração de cortes para o problema mestre primal ( ou dual ), que então é re— solvido, gerando assim uma nova solução que servirá como ponto de partida na continuação do “ping-pong” entre os subproblemas.. 3.3. Equivalência entre os Subproblemas. Neste parágrafo vamos mostrar que o “subproblema Lagrangeano” (SDuz) pode ser utilizado como “problema mestre de Benders” (PMR) e analoga— mente o “subpmblema de Benders” (SPzz) pode ser utilizado como problema mestre da decomposição dual (DMR). Necessitamos da seguinte definição: de programação linear inteira mista,—___“. Definição 3.3.1 Sejam (P) e (Q) problemas. Dizemos que (P) e (Q) são problemas equivalentes em relação a um'subconjunto de variáveis ( primal e dual ), se as soluções ótimas de (P), neste subconjunto, são soluções ótimas de (Q e vice - versa.. Por exemplo, o problema (P) e o problema mestre (PM) são equivalentes em relação à. variável mg ( devido a construção ). Similarmente (DL) e (DM) são equivalentes em relação a variável ug. Note que a noção de equivalência envolve também as variáveis primal e dual. '. Considere a seguinte partição nas restrições: Alª?. 2. bi, Agº?. 2. bz.

(47) A2. AFM] Logo podemos escrever (DSP) da seguinte forma:. (DSP). maximizar uf(b1. '. —. Aãml). + aª(bg — Ag) + cºmº. qu; + quf 5 c1. ix,. sujeito. ul Z. a. ,. U2. 0. 2O. Necessitamos ainda. da seguinte notação:. .. '. 'n X. '. F(DSPuz) 'éía região factível do conjunto de restrições de (DSP), com uz. fixo.. ,. .. Tug é o conjunto de todos os a'“. .. Tuz é o conjunto de todos os uk. .. F(DSPu2). F(D.SP)-. : (uiª, tal que nª é ponto extremo de .. : (nf, uz)T, tal que é ponto extremo de u2)T,. u'º. .. (PMRUQ) El (PMR. :. uk E Tug).. Tue. '. TUg. 2 Tu; ; Tuz. _C_. Ç TPA se, e somente se,. 37. (3.1). TPA. Taº. :. TU2. (3.2).

(48) As inclusões (3.1) são ilustradas na figura (3.1). ZY TPA-[ul, u , ua) .. .. “. 56 ' '“2 *T'ªíuujTyºº “2 .. 4-. figura. (. TG ." 2. [u2,u4],. 'Í'a. -' (uz) 2. 3.1 ). E a seguinte desigualdade é verdadeira:. PMRt'ál que u': 6 Tm) 5 v( PMRu2 ) E v( PMR t;al que uk e Tuz ) 5 v( PM ). v(. Teorema 3.3.1. Os cortes pertencentes. à diferença Tuz. —. (3.3). Tug não. pertencem à. (PM). '. demonstração: De fato, seja u 6 Tur—Tu; e u & TPA => u € Tua/vu € Tªg => 11 um ponto não extremo de F(DSP). Desse modo,'u pode ser escrito como uma combinação convem dos pontos extremos de F ( DSP ).. e'. Logo para cada uk E TPA , existem & U. = Zôkuk k. 2 O tal que: '. Zâk =. 1. I:. Um corte gerado por este ponto não extremo é dado por: 38. (3.4). ,. (3.5).

(49) uTb. + (c2. —. uTAº).7:2. 5 ao. (3.6). onde: w e'. a função objetivo de (PM) a ser minimizada.. Substituindo (3.4) em (3.6) obtemos:. %. Zôkuk 'º. )Tb + [62. —. (. Zôkuk. )TA2. 1152. 5 to. (3.7). w. (3.8). 1:. ». Logo: cºm; -. + 26,4 (uk)Tb — (uk)TAºa:2 ] 5 ):. Usando (3.5) obtemos: 62. 261: =. 62. '. w. (3.10). (3f,9). !:. t. ,. w Zôk ]. :. Substituindo (3.9) e (3.10) em (3.8) obtemos:. 21:26“ (uk)Tb + [cº. ——. (uk)TAº].1:2 ]. 5 U; 26):. (3.11). Uma solução que satisfaz (3.11), também satisfaz (3 6), que é uma combinação positiva das restrições de (PM). Logo o conjunto de restrições de D (PM) implica em (3. 6) e portanto redundante. O próximo teorema demonstra que o subproblema Lagrangeano é equivalente ao problema mestre relaxado de Benders (PMRuz) em relação à. variável. 232.. 39. ..

(50) Teorema 3.3.2 O problema mestre primal (PM Rug) E [ PMR tal. Tuz ]. e'. que uk. &. equivalente ao subproblema Lagrangeano (SDuz) em relação a variável. prima! 232,. e. v(PM Ru; ). : o(SDug).. demonstragão: O problema. minimizar sujeito a. (PMRªg) n. (xz & z+2). bTu'º + [c2. e'. escrito da seguinte forma:. w. —. (uk)TA2]mvj. 5 w,_ ulié Tuz '. ou. minimizar (362. nz ) 6 Z,,. máximo[. (b. ——. Aºx2)Tuk + cºm, uk. &. Tu2 ]. ou 2 ' ' max1m1zarwzo) aTb + (e _ u TA2)xº '. minimizar. n (xº 62 + 2 ). .. .. suyezto a (u1)TAÍ. 5 .c1. —. v. —,. ugAâ. '. N.. Desde que a solução ótima do problema de maximização interna e' “ uma solução básica ( ponto extremo do“ poliedro ). Além disso o problema interno possui U2 e 32 fixos. Logo tomanllo 0 dual do problema interno obtemos:. minimizar. minimizar(xlzo)(el-— ag./1%)“ + (c2 (x 2. 62%) +. ——. ªlg—Aikº. + ug'bz. !. sujeito a. Aãml Z bl. Aim;. ——. ou (SDUz) Desde que todos estes problemas são formulados na variável prova está completa. .. .. 332,. a D. Um inconveniente do problema mestre de Benders, é & ilimitação da iteração inicial. A decomposição híbrida, contorna este problema utilizando 40.

(51) o valor da variável (SDU/2).. :::2. obtido da solução ótima do último problema Lagrangeauo. A equivalência entre (S Duz) e. (PM Ruz) não implica que ambos os de matemática subproblemas programação possam ser facilmente resolvidos. A “dificuldade” de um problema linear inteiro misto ( Q ) pode ser definida através do “gap relativo” do problema linear relaxado (Q) e é dado por:. Corolário 3. 3.1 G(SDu2)— — G(PMRu2), isto. e',. blemas de igual dificuldade.. (SDuz)eo(PMRuz) são. pro—. demonstração:. :. Pelo teorema-3.3.2, temos que o(SDug) o(PMRuz), reescrevendo a prova do teorema 33.2 para PA]—133112, isto e', 32 € Ziª é substituída por D mz Z O, obtemos que v(PMRu2) = v(SDu2) e a prova está completa. resolvei Consequentemente resolver o problema (SDuz') em vez de o problema (PM Ruz)e mais atrativo, desde que a estrutura especial do subpro— "ª blema dual seja explorada. |. -. (. Em paralelo com o teorema 3.3.2 0 próximo teorema diz respeito ao uso do subproblema de Benders (513.732) e o problema mestre da decomposição dual.. «. '. Codsideremos agora a partição nas variáveis: =[A1|Aº] e Aº: [All/12]. Dessa forma obtemos: (SD). maximizar. c1 a:]. =. (ml, 272) e sejam. + c2 xº + u1T(b1- Afxg) + u2T(b2— Aãxº) Aâxl +. sujeito a:. :::T. A?.Tg. xl. E. R$. 1172. É. Zi:. Z. bl. Necessitamos ainda da seguinte notação: 41. '.

(52) . F(SDm2) é a região factível do conjunto de restrições de (SD), com mz fixo. . ng é o conjunto de todos os m'ª = (mf,m2)T, tal que m'ª é ponto extremo de é o conjunto de todos. 0 Tm?. m'ª. F(SD). '. . (DMsz) E ( DMR :. (ml, mz). :. tal que. (mf,m2)T,. m'ª. é ponto extremo de. ng ).. Zk E. Uma figura representativa, destes conjuntos é similar à (3.1) com substituindo (ul, uz). Pela definição temos que: Tªªz *. º Tªz; Tªh º. ng Ç TDA. TDA. se, e somente se, Tm?. v( DMR tal que. m'ª. € Tmz). _>_. =. Tmz. v(DMng) Z v(DM). Teorema 3.3.3 O problema mestre dual (DMRm2 ) E (DMR tal que "m'ª 6 Tm; ) e o subproblema de Benders (.?sz) são equivalentes em relação à variável dual. U2 8. v(DMng). : v(Sng);. demonstragão: O problema. (DMng ). e'. escrito da seguinte forma:. minimizarwzzo) z sujeito a ch'º + (b2 — Aºm'º)Tu2 2 z, ou. m'ª. E Tm;. .. maximizarmzzo) mínimoí. ch'º + a.f(bg — Agm'º). ,. m':. 6 Tm ]. OU. maximixaquzzo) '. minimizaqxes) ch'º + «g(bz — Azl'k) .. sujeito a Aâml 42. _>_. bl. —. Afmz.

(53) —. Desde que a solução ótima do problema de minimização interna é uma solução básica ( ponto extremo da região factível ) e todos os seus pontos extremos são dados pelo conjunto Treº, logo tomando 0 dual do p.p,l. interno com HQ e (172 fixos, podemos reescrever (DM Rmz) da seguinte forma:. maximizarmzo) sujeito a qul. 02132. + Uzbg. —. quã :o; + u1T(b1— Aga-2). 2 c1 — ugAã. ou. maximizarmzo) cºm; + uTb. ——. uTAºx—l. sujeito avuTAl S cl Que. e'. justamente. 0. dual de:. minimizar-(xºu) clxl + cºm; sujeito a. Alm]. 2. b—. Aºzg. ou. (SPZz) Desde que todos estes problemas são formulados na variável 372) a O prova está completa. O teorema 3.3.4, mostra como podemos veriíicar se uma solução é. ótima.. Teorema 3. 3. 4 Seja. uma solução otima de (P) e u* uma solução ótima de (D). Então as seguintes afirmações são equivalentes: so'". A relaxacação Lagrangeana relativa a restrição possui “gap dual? , isto é o(P) = 'U(D).. (. a. ). Existe uma solução ótima dual u+ de o(SPa:2. (b ). ). (c) Existe uma solução. : o(SDu;). 112.7:. 2. bg. não. (Ssz) com o(SDuÉ). :. ótima prima! mª" de (SDuÉ) com o(SPmÉ) 43.

(54) demonstração: A. demonstração pode ser encontrada em Van Roy [28]. D. Convergência do Algoritmo de Decomposição Híbrida. 3.4. Nas seções anteriores foi discutido a relação entre a decomposição dual ( via relaxação Lagrangeana ) e a decomposição primal ( Benders). Embora os subproblelrias-(SDug) e (SPrcg) sejam subproblemas mestre de um e de outro ( teorema 3.3.2 e 3.3.4 ), isto não implica que o problema (P) podem ser resolvido usando o “ping—pong” entre os dois subproblemas. Por exemplo, nós nunca iremos terminar o algoritmo se a relaxação Lagrangeana não tiver gap dual zero, além disso, pode ocorrer que o algoritmo fique imerso em um processo de ciclagem ( ainda que a relaxação Lagrangena não tenha gap dual ). Portanto necessitamos ainda de mais alguns resultados a fim de auxiliar nos testes de convergência.. Lema 3.4.1 (11) seja no a solução ótima dual de (Sng) mº2 a menos que u SPazº2 = o P . e SDuºa então nª 2 l. e :P". a solução ótima '. .. ótima dual de. (b. a solução ótima primal de (SDU?) e u+5a solução então u; # ug a menos que o(SDug) = u(P)- ”'. ) seja. (Sng). mº. demonstração:. (ª). .' "|. -Suponha por absurdo que o(Sng) > u(P) e 322 = a;. Como aº solução ótima dual de SPmº2 , P elo teorema 3.3.3, temos '9ue uº2 é ótimo em '. e'. (DM Rat?) e:. ch+ + ug(b2. —. A2m+) Z o(DMRxg). Que contradiz a fatoque. ch+ + nª(bz — A2$+) O item. (b) segue. mª“ e'. = o(Sng). solução ótima de (SDug) desde que:. : o(SDug) 5 o(P) < o(Sng).. a mesma linha de raciocínio do item 44. (a ).. D.

(55) (. Suponha que o método de decomposição híbrida, resolva sucessivamente o subproblemaprimal (SPzã) e o subproblema dual (SDuã), ou seja:. (SPmâ). .. —->. (SDuã) —> (SP::É). ——>. (SDuÉ). ——+. (SPzg). -——». . . .. (3.12). Dessa forma não podemos reaplicar o método em um número de iterações menor que quatro. De fato, pelo lema 3.4.1 temos que v(SPzà) # v(SP:z:ã) desde que 3% = 33% 76 3% ( onde :::; é solução ótima primal associado ao subproblema dual (SDuã) ). Assim é possivel que a:“; mà, pois o lema 3.4.1 só se aplica a soluções consecutivas,.um argumento análogo é usado no subproblerna dual. Van Roy [28] sugere que um teste de convergência seja a contagem do número de iterações, sem que haja uma melhora da solução, desse modo se o contador chegar a quatro devemos resolver um dos problemas mestre e com uma nova solução refniciamos o “ping—pong”.. :. 3.5. Algoritmo de Decomposição Híbrida l. Inicialização. ;. 1.1.-k := 0; 1.2. vp := (. +. oo. );. 1.3..vD := ( - oo ); 1.4. e Z O; ( tolerância) 1.5. 6 := 1; 1.6. Selecione nª. 2 0;. 2. Subproblema Dual 2.1. k := k + 1; 2.2. Resolva o Subproblema Dual (S Du'zº) 2.3. Seja m'ª solução ótima de (SDI/;); 2.4. & vp < v(SDu';) Entiq 2.4.1. vp := v(SDu'2º); 2.4.2. 5 := 1. Senão. 2.4.3. £ := € +. 1';. 45.

(56) ””If;. 2.5.. ªº lvp. —. vp!. _<_. 6. Então. 2.5.1. Fim. ( A solução ótima do problema é a última. solução do subproblema primal ) 2.6.. &. &. >. = 4 Entãº. 2.6.1. Resolva o problema mestre Primal (PMR); 2.6.2. Seja ( w,:zzá'+1 ) solução ótima de (PMR); 2.6.3. 5 := 1; 2.6.4. _Sg va — wl 5 6 Então 2.6.4.1. Fim. ( A solução ótima do problema é a última solução do subproblema. prima] ). 3. Subproblema. Primal. 3.1. k := k + 1; 3.2. Resolva o Subproblema Primal (SPx'zº) 3.3. Seja m'ª e a'; solução ótima primal e dual de (SPaz'zº); 3.4.. ªº vp > v(SP:cã) Então. 3.4.1. 0]: := v(SP$'É); 3.4.2. £ := 1. Senão. 3.4.3. 6 := 6 + 1; 3.5.. & va — vp] 5 e ou va — wl 5 5 Então 3.5.1. Fim. ( Asolução ótima do problema é a última solução do subproblema primal ). 3.6. Sg. &. =. 4. Então. 3.6.1, Resolva o problema mestre Dual (DMR); 3.6.2. Seja ( uo,u'2º+l ) solução ótima; de (DMR); 3.6.3. & := 1; 3.6.4. Se va — ªo! 5 6 Ent㺠3.6.4.1. Fim. ( A solução ótima do problema é a última solução do subproblerna. prima] ). 4. Volte ao passo 2. 46.

(57) :.;19. Teorema 3.5.1. O algoritmo de decomposição híbrida e' finito e resolve (P).. demonstração: de Benders e. Basta usar o lema 3.4.1 e o fato que os algoritmos de decomposição [J dual são finitos e resolvem (P) _. O lema ( 3.4.1 ) assume que o subproblema (5 Pará“ ) possui uma ótima. finita. Se (SPzz) for ilimitado o teste de convergência não pode ser solução utilizado. Holmberg [13], sugere um outro teste de convergência, onde as soluções ilimitadas de (SPmã) são consideradas. ª. !. 3.6. Considerações Finais. O algoritmo de decomposição híbrida apesar de sua dificuldade de implementação, tem se mostrado bastante eficiente para a resolução de alguns problemas de programação linear inteira mista. Van Roy [29] mostra que o problema de alocação utilizando o algoritmo de decomposição híbrida converge mais rapidamente que o método de decomposição de Benders e a relaxação Lagrangeana via algoritmo do subgradiente. i—. (. e. Podemos observar que o problema dos limitantes inferior superior ) da solução ótima é contrlolado no algoritmo de decomposição híbrida, desse modo temos um controle maior sobre a solução do problema. ii—. 47.

(58) Capítulo 4 Estudo. do Caso: Planejamento de 'uma Fundição 4.1. Definição do Problema. Uma fundição possui uma encomenda para a fabricação de várias 'cada peças ( peça deve ser fabricada com um tipo específico de liga metálideterminado horizonte de tempo. Para esta empreitada, a fundição ), ca em um possui um forno, onde somente um ”tipo de liga pode ser utilizada por período e máquinas, onde são fabricadas os moldes, que produzirão as peças requisitadas pelos clientes. O problema consiste em determinar qual liga deve ser utilizada em cada período e como deve ser programada cada máquina para a fabricação de cada peça, tal que o custo de fabricação seja mínimo. (. São fornecidos os seguintes dados:. ||. megw. Número Número Número Número. de de de de. ligas.. máquinas.. períodos. tipos de peças. Quantidade ( tonelada ) de peças do tipo “i” que podem ser produzidas na máquina “m” por hora. Capacidade do forno ( toneladas/hora ) no período “t”. ,. .. F,. =. 48.

(59) E“. ht _1_J_j. L,-. ca. !=. Demanda ( toneladas ) de peças do tipo “i”. Número de horas no período “t”. = [ peça “i” tal que utiliza a liga “j” ]. = [ peça “i” tal que não utiliza a liga “j” ]. — “Custo” de produzir a peça do tipo “i” no período “t”. O custo poderia refletir a urgência de se produzir uma determinada. peça; por exemplo: cj, = de clientes preferênciais.. cJ—tº,. onde cj é um custo associado à peça “_7 ” decorrente. O problema pode ser representado esquematicamente da seguinte forma.: Máquinas. peças. (. 1. ©. matéria prima. 4.2. -; ]. Forno ». , .. liga. :>. _. 2. i. %. ?. Modelo Matemático A programação das máquinas pode ser formulada pela fração de. tempo que será dedicada para produzir uma determinada peça em cada período. As variáveis de decisão são:. 49.

(60) Variáveis. :. = Fração de tempo da máquina “m”, utilizado para produzir a. Tgmg. peça, do tipo “i” no período “t”.. se a liga do tipo “j” for utilizada no período “t” .. 1. 0 caso contrário.. 4.2.1. Formulação. Função Objetivo. '. |. TPM. Ez E htcnaingmz. minimizar. t=1 í=l m=l. Restrições. .. Apenas uma l'iga, pode ser utilizada por período .. &,. Eleªxjt=1. t. I. o Se. a. liga, “j”. fabricadas. :. 1,...,T. (4.1). for utilizada no período “t”, apenas peças de «. teLj). Timí É (1. Eae-13,7) Tim,. S. .. *“. .. $j1)A. +. 1. (1— xjt)A. t. j. >. 0 é. um número grande. 50. _. ,. .,T. podem ser. 1, 1,. t. 1,. = m =. 17. 'aL. 1,. .. .. (4.2). ,L. = m =. .7. A. L,—. '. .,M. . . . ,. T. ,M. (4.3).

(61) 0. Capacidade de Produção do Forno Elf/=]. .. Ex=l E(Í€Lj)aim71imt S. E t =. 17 ' '. ' ,T. (4.4). Demanda das Peças. x=1ªimhtTithbi i = 1,...,P. T=1. 4.2.2. .. (4.5). Exemplo. .. Para ilustrar o problema, considere o seguinte conjunto de dados:. .. Número de Ligas = 3.. o. Número de Máquinas = 4.. o. Número de Períodos = 3.. o. Número de Peças = 5.. .. Capacidade do Forno. ,. -—. o ª,. Ft. —. hl. —. hz. — 113. 12. toneladas/hora. ( i =“. I,. ..,3 ).. :. = =. 12 horas. 18 horas. 24 horas.. Peças por ligas. — —-. —. e. .. Número de horas por período:. ". .. :. :. = [1,2]. Liga 2 = (2,3,4] Liga 3 = [5].. Liga. 1. (. a peça 2 pode ser feita usando a liga. Demanda de Peças: —. bl = 140 toneladas.. —. bz. =. 120 toneladas. 51. 1. ou 2 )..

(62) .. 120 toneladas.. b.,. = =. b5. =. 160 toneladas.. -—. b;,. ——. ——. 120 toneladas.. Quantidade de peças ( toneladas ) “i” produzidas na máquina “m”: Máquina Peça. 1. 1. 1. 2. 2 3. 3. 4. 4 5 ª. o. 3 3 4 5. 2 2 3 4 5 6. 5. 4 4 5 6 7. 6 7. 8. Custo de produção das peças: Período | '. Peça. 1. 1. 2. 2 3. 2 3 4 5. 3. 4. 4 5. 5 6. 6. 7. 52. 3. 4 5 6 7. 8.

Referências

Documentos relacionados

No entanto, maiores lucros com publicidade e um crescimento no uso da plataforma em smartphones e tablets não serão suficientes para o mercado se a maior rede social do mundo

O valor da reputação dos pseudônimos é igual a 0,8 devido aos fal- sos positivos do mecanismo auxiliar, que acabam por fazer com que a reputação mesmo dos usuários que enviam

A assistência da equipe de enfermagem para a pessoa portadora de Diabetes Mellitus deve ser desenvolvida para um processo de educação em saúde que contribua para que a

OBJETO: Contratação de empresa por meio de Sistema de Registro de Preço para eventual aquisição de materiais de descartáveis, visando o atendimento às diversas secretarias

Sou candidato com deficiência autodeclarado preto, pardo ou indígena, com renda familiar bruta per capita igual ou inferior a 1,5 salário-mínimo, cursei e concluí

[r]

Promovido pelo Sindifisco Nacio- nal em parceria com o Mosap (Mo- vimento Nacional de Aposentados e Pensionistas), o Encontro ocorreu no dia 20 de março, data em que também

As equipes de marketing das campanhas eleitorais tem evoluído para identificar os eleitores indecisos pela análise de algoritmos armazenados em big data ou coletados por