aula22 - DMA - Universidade Federal de Viçosa
Transcrição
aula22 - DMA - Universidade Federal de Viçosa
MAT 475 Tópicos em Matemática Aplicada Lana M. R. dos Santos Departamento de Matemática Universidade Federal de Viçosa MAT 475 - Tópicos em Matemática Aplicada (Lana Mara R. dos Santos, [email protected]) Aula 22: Relaxações PI: métodos de solução Seja o Problema de Programação Inteira P: z = max{cx : x ∈ X}, em que X = {x ∈ Zn+ : Ax ≤ b} Como determinar uma solução factı́vel para P? Como provar que uma dada solução factı́vel é ótima? . Usando limitantes primais e duais limitante primal (inferior): usar heurı́sticas, meta-heurı́stiscas, arredondamento da solução fracionária etc. limitante dual (superior): mudar a formulação, fazer relaxações do modelo, resolver o problema dual, inserir restrições adicionais (desigualdades válidas) para eliminar soluções fracionárias da relaxação linear do modelo etc. MAT 475 - Tópicos em Matemática Aplicada (Lana Mara R. dos Santos, [email protected]) Aula 22: Relaxações PI: relaxações Seja o Problema de Programação Inteira P: z = max{cx : x ∈ X}, em que X = {x ∈ Zn+ : Ax ≤ b} Definição (Relaxação) Seja o problema (PR ) zR = max{zR (x) : x ∈ XR }. Diz-se que PR é uma relaxaç~ ao do problema P se: (i) X ⊂ XR (ii) cx ≤ zR (x), ∀x ∈ X. Definição (Relaxação linear) Seja o poliedro P = {x ∈ Rn+ : Ax ≤ b} uma formulação para P. Então zL = max{cx : x ∈ P } é dita uma relaxação linear de P. MAT 475 - Tópicos em Matemática Aplicada (Lana Mara R. dos Santos, [email protected]) Aula 22: Relaxações PI: relaxações Seja o problema (PR ) zR = max{zR (x) : x ∈ XR } uma relaxação do problema (P) z = max{cx : x ∈ X}. Proposição (i) Se PR é infactı́vel, então P é infacı́vel. (ii) Se P é factı́vel e x∗ ∈ X é uma solução ótima de P, então z ≤ zR . (iii) Se P é ilimitado, então PR é ilimitado. Demonstração. (i) Se PR é infactı́vel então X ⊂ XR = ∅. (ii) Como x∗ ∈ X, pela condição (ii) da definição de relaxação, z = cx∗ ≤ zR (x∗ ). Como X ⊂ XR , por definição de ótimo global, zR (x∗ ) ≤ zR . Logo, z ≤ zR . (iii) Imediato pelo fato de X ⊂ XR e cx ≤ zR (x), ∀x ∈ X. MAT 475 - Tópicos em Matemática Aplicada (Lana Mara R. dos Santos, [email protected]) Aula 22: Relaxações PI: relaxações . Pergunta: Quais relaxações são interessantes? Relaxações devem ser significativamente mais tratáveis que o modelo original. Relaxações devem fornecer bons limitantes duais (limitantes superiores em problema de maximização). MAT 475 - Tópicos em Matemática Aplicada (Lana Mara R. dos Santos, [email protected]) Aula 22: Relaxações PI: relaxações . As formas mais comuns de se obter relaxações são: Relaxar um conjunto de restrições (mantendo a mesma função objetivo f (x) = cx); MAT 475 - Tópicos em Matemática Aplicada (Lana Mara R. dos Santos, [email protected]) Aula 22: Relaxações PI: relaxações . Exemplo max s.a 20x1 + 30x2 − 550y1 − 720y2 3x1 + 8x2 ≤ 600 x1 ≤ 200y1 x2 ≤ 75y2 x1 , x 2 ≥ 0 y1 , y2 ∈ {0, 1} Restriç~ oes relaxadas: x∗1 = 200, x∗2 = 0 y1∗ = 1, y2∗ = 0 z = 3450 Caracterı́sticas: elimina a primeira restriç~ ao x1 ≤ 200y1 x2 ≤ 75y2 x1 , x 2 ≥ 0 y1 , y2 ∈ {0, 1} x∗1 = 200, x∗2 = 75, y1∗ = 1, y2∗ = 1 z = 4980 decompõe em problemas independentes MAT 475 - Tópicos em Matemática Aplicada (Lana Mara R. dos Santos, [email protected]) Aula 22: Relaxações PI: relaxações . As formas mais comuns de se obter relaxações são: Relaxar um grupo de termos independentes. Por exemplo, a restrição aT ≤ b poderia ser substituı́da por aT x ≤ αb + β, α ≥ 1, β ≥ 0. MAT 475 - Tópicos em Matemática Aplicada (Lana Mara R. dos Santos, [email protected]) Aula 22: Relaxações PI: relaxações . Exemplo max s.a 20x1 + 30x2 − 550y1 − 720y2 3x1 + 8x2 ≤ 600 x1 ≤ 200y1 x2 ≤ 75y2 x1 , x 2 ≥ 0 y1 , y2 ∈ {0, 1} Restriç~ oes relaxadas: x∗1 = 200, x∗2 = 0 y1∗ = 1, y2∗ = 0 z = 3450 Caracterı́sticas: dobrar capacidades 3x1 + 8x2 ≤ 1200 x1 ≤ 400y1 x2 ≤ 150y2 x1 , x 2 ≥ 0 y1 , y2 ∈ {0, 1} x∗1 = 400, x∗2 = 0, y1∗ = 1, y2∗ = 0 z = 7450 Não é signicativamente mais tratável que o problema original. MAT 475 - Tópicos em Matemática Aplicada (Lana Mara R. dos Santos, [email protected]) Aula 22: Relaxações PI: relaxações . As formas mais comuns de se obter relaxações são: Substituir um conjunto de restrições pela sua combinação linear não negativa. Em particular, se X = {x : Ax ≤ b}, então para todo u ≥ 0, X ⊂ XR = {x : uT Ax ≤ uT b}. MAT 475 - Tópicos em Matemática Aplicada (Lana Mara R. dos Santos, [email protected]) Aula 22: Relaxações PI: relaxações . Exemplo max s.a 20x1 + 30x2 − 550y1 − 720y2 3x1 + 8x2 ≤ 600 x1 ≤ 200y1 x2 ≤ 75y2 x1 , x 2 ≥ 0 y1 , y2 ∈ {0, 1} Restriç~ oes relaxadas: 3x1 + 8x2 ≤ 600 x1 + x2 ≤ 200y1 + 75y2 x1 , x 2 ≥ 0 y1 , y2 ∈ {0, 1} x∗1 = 200, x∗2 = 0 y1∗ = 1, y2∗ = 0 z = 3450 Caracterı́sticas: combinaç~ ao linear n~ ao negativa das restriç~ oes x∗1 = 200, x∗2 = 0, y1∗ = 1 y2∗ = 0 z = 3450 solução ótima inteira. MAT 475 - Tópicos em Matemática Aplicada (Lana Mara R. dos Santos, [email protected]) Aula 22: Relaxações PI: relaxações . As formas mais comuns de se obter relaxações são: Relaxar a condição de integralidade de um grupo de variáveis (no caso particular de todas as variáveis inteiras tem-se a relaxação linear) mantendo a mesma função objetivo cx; MAT 475 - Tópicos em Matemática Aplicada (Lana Mara R. dos Santos, [email protected]) Aula 22: Relaxações PI: relaxações . Exemplo max s.a 20x1 + 30x2 − 550y1 − 720y2 3x1 + 8x2 ≤ 600 x1 ≤ 200y1 x2 ≤ 75y2 x1 , x 2 ≥ 0 y1 , y2 ∈ {0, 1} Variáveis relaxadas: 3x1 + 8x2 ≤ 1200 x1 ≤ 300y1 x2 ≤ 150y2 x1 , x 2 ≥ 0 y1 , y2 ∈ [0, 1] x∗1 = 200, x∗2 = 0 y1∗ = 1, y2∗ = 0 z = 3450 Caracterı́sticas: relaxa a condiç~ ao de integralidade x∗1 = 200 x∗2 = 0, y1∗ = 1 y2∗ = 0 z = 3450 solução ótima inteira. MAT 475 - Tópicos em Matemática Aplicada (Lana Mara R. dos Santos, [email protected]) Aula 22: Relaxações PI: relaxações Adicionar ou mudar um conjunto de variáveis. Como X = {x ∈ Zn+ : Ax ≤ b} é isomorfo a X0 = {(x, 0) ∈ Zn+p : Ax ≤ b}, uma relaxação de P é obtida ao + 0 substituir X0 por Y = {(x, y) ∈ Zn+p + × : Ax + A y ≤ b}. Este tipo de relaxação é útil se a matriz [AA0 ] for mais simples de lidar que a matriz A. Este tipo de construção é usada em alguns algoritmos cujo desenvolvimento é sequencial.