Tópicos Método Simplex - s Edna A. Hoshino 1 Facom - UFMS março de 2010 E. Hoshino (Facom-UFMS) Simplex março de 2010 1 / 21 E. Hoshino (Facom-UFMS) Simplex março de 2010 2 / 21 1 Iteração 1 - variáveis básicas: y 1,, y 3 na forma padrão: z = max x 1 + 2x 2 s.a. 2x 1 + x 2 4 x 1 + 3x 2 6 x 1 + x 2 3 z = max x 1 + 2x 2 s.a. 2x 1 + x 2 + y 1 = 4 x 1 + 3x 2 + = 6 x 1 + x 2 + y 3 = 3 x 1, x 2, y 1,, y 3 0 Base B = I e B 1 = I. Uma vez que z = c B B 1 b + (c N c B B 1 N)x N, temos que: z = 0 + 1x 1 + 2x 2. Custo reduzido de x 1 é 1 e de x 2 é 2. Portanto, x 2 é um bom candidato para entrar na base. Quem deve sair da base? Reescrevendo as variáveis básicas em função das variáveis não-básicas, nos dá uma dica de qual variável básica limita o aumento da variável não-básica que está entrando na base (variável x 2 no exemplo). E. Hoshino (Facom-UFMS) Simplex março de 2010 3 / 21 E. Hoshino (Facom-UFMS) Simplex março de 2010 4 / 21
1 (cont.) Iteração 2 - entra x 2 sai Como x B = B 1 b B 1 Nx N temos: y 1 1 0 0 4 = 0 1 0. 6 y 3 0 0 1 3 ou seja, 1 0 0 0 1 0 0 0 1 y 1 = 4 2x 1 x 2 = 6 x 1 3x 2 y 3 = 3 x 1 x 2.. 2 1 1 3 1 1.[ x1 x 2 Portanto, x 2 não pode ser maior que 2, caso contrário, violará a restrição de não-negatividade. Variáveis básicas: y 1,x 2,y 3. 1 1 0 B = 0 3 0 B 1 = 0 1 1 0 1/3 0 Uma vez que z = c B B 1 b + (c N c B B 1 N)x N, temos que: z = [ 0 2 0. 0 1/3 0 [ 1 0 [ 0 2 0.. 4 6 3 0 1/3 0 +. 2 0 1 1 1 0 x1.[ ou seja, z = 4+1/3x 1 2/3 e, portanto, x 1 tem custo reduzido positivo! E. Hoshino (Facom-UFMS) Simplex março de 2010 5 / 21 E. Hoshino (Facom-UFMS) Simplex março de 2010 6 / 21 1 (cont.) Iteração 3 - entra x 1 sai y 1 Como x B = B 1 b B 1 Nx N temos: y 1 4 x 2 = 0 1/3 0. 6 y 3 3 ou seja, y 1 = 2 5/3x 1 + 1/3 x 2 = 2 1/3x 1 1/3 y 3 = 1 2/3x 1 + 1/3. 0 1/3 0. 2 0 1 1 1 0 Portanto, x 1 não pode ser maior que 6/5, caso contrário, y 1 violará a restrição de não-negatividade..[ x1 Variáveis básicas: x 1,x 2,y 3. 2 1 0 B = 1 3 0 B 1 = 1 1 1 3/5 1/5 0 1/5 2/5 0 2/5 1/5 1 Uma vez que z = c B B 1 b + (c N c B B 1 N)x N, temos que: z = [ 1 2 0 3/5 1/5 0 4. 1/5 2/5 0. 6 + 2/5 1/5 1 3 [ 0 0 [ 1 2 0. 3/5 1/5 0 1/5 2/5 0 2/5 1/5 1. 1 0 0 1 0 0 y1.[ E. Hoshino (Facom-UFMS) Simplex março de 2010 7 / 21 ou seja, z = 66/15 1/5y 1 3/5 e, portanto, nenhuma variável não-básica tem custo reduzido positivo! Páre! Solução básica é ótima! E. Hoshino (Facom-UFMS) Simplex março de 2010 8 / 21
Solução ótima Passos principais x 1 = 3/5.4 1/5.6 +0.6 = 6/5 x 2 = 1/5.4 +2/5.6 +0.3 = 8/5 y 3 = 2/5.4 1/5.6 +1.3 = 1/5 = 0 y 1 = 0 E. Hoshino (Facom-UFMS) Simplex março de 2010 9 / 21 z = max cx s.a. Ax = b x 0 (1) Escolha um conjunto de variáveis básicas e defina base B; (2) Resolva o sistema Bx B = b. Como B é base então solução é única e dada por x B = B 1 b, x N = 0 e z = c B x B ; (2) Calcule c j z j, custo reduzido para cada variável não-básica x j. Seja k tal que c k z k 0. Se não existir k então páre. (3) x k entra na base e x r, variável não-básica bloqueante que limita o crescimento de x k e deve sair da base é aquela que minimiza a razão: b r b i = min y rk 1 i m:y i k>0 y ik (5) Atualize a base e volte ao passo (2). E. Hoshino (Facom-UFMS) Simplex março de 2010 10 / 21 lembrando... Exercícios c j = c j B 1 a.j y j = B 1 a.j b = B 1 b. 1 Resolva o seguinte programa linear usando o método simplex: z = min x 1 + x 2 s.a. x 1 + 2x 2 4 x 2 1 2 Resolva o seguinte programa linear 1 graficamente e 2 usando o método simplex. z = max 5x 1 + 4x 2 s.a. x 1 + 2x 2 6 2x 1 x 2 4 5x 1 + 3x 2 15 E. Hoshino (Facom-UFMS) Simplex março de 2010 11 / 21 E. Hoshino (Facom-UFMS) Simplex março de 2010 12 / 21
Tableau Simplex Tableau Simplex - cont. Resolver equivale a Como B é inversível, e z = min c B x B + c N x N s.a. Bx B + Nx N = b x B, x N, 0 min z s.a. z c B x B c N x N = 0 Bx B + Nx N = b x B, x N, 0 x B + B 1 Nx N = B 1 b z + 0x B + (c B B 1 N c N )x N = c B B 1 b. Então, temos o seguinte sistema: z + 0x B + (c B B 1 N c N )x N = c B B 1 b Ix B + B 1 Nx N = B 1 b x B, x N, 0 cuja matriz de coeficientes estendida com o RHS é: [ 1 0 cb B 1 N c N c B B 1 b 0 I B 1 N B 1 b que é exatamente o conteúdo do tableau. E. Hoshino (Facom-UFMS) Simplex março de 2010 13 / 21 E. Hoshino (Facom-UFMS) Simplex março de 2010 14 / 21 Tableau Simplex - cont. Tableau - cont. O conteúdo inicial do tableau é: z x B x N rhs z 1 c B c N 0 x B 0 B N b Após uma seqüência de operações elementares, obtemos I no lugar de [ 1 cb 0 B no tableau. Isso significa que o tableau resultante após essas operações equivale a pré-multiplicar o tableau original pela inversa de [ 1 cb 0 B que é igual a [ 1 cb B 1 0 B 1 E. Hoshino (Facom-UFMS) Simplex março de 2010 15 / 21. Logo, aplicar pivoteamentos no tableau equivale ao resultado da multiplicação: [ 1 cb B 1 [ 1 cb c 0 B 1. N 0 0 B N b = [ 1 0 cb B 1 N c N c B B 1 b 0 I B 1 N B 1 b E. Hoshino (Facom-UFMS) Simplex março de 2010 16 / 21
Tableau Simplex - exemplo - iteração 2 : z = max x 1 + 2x 2 s.a. 2x 1 + x 2 + y 1 = 4 x 1 + 3x 2 + = 6 x 1 + x 2 + y 3 = 3 x 1, x 2, y 1,, y 3 0 Tableau inicial - iteração 1 (y 1, e y 3 variáveis básicas) y 1 y 3 x 1 x 2 rhs z 0 0 0-1 -2 0 y 1 1 0 0 2 1 4 0 1 0 1 3 6 y 3 0 0 1 1 1 3 Solução não é ótima, pois x 2 tem custo reduzido positivo! E. Hoshino (Facom-UFMS) Simplex março de 2010 17 / 21 y 1 y 3 x 1 x2 rhs z 0 0 0-1 -2 0 y 1 1 0 0 2 1 4 0 1 0 1 3 6 y 3 0 0 1 1 1 3 y 1 y 3 x 1 x 2 rhs z 0 2/3 0-1/3 0 4 y 1 1-1/3 0 5/3 0 2 x 2 0 1/3 0 1/3 1 2 y 3 0-1/3 1 2/3 0 1 Solução não é ótima, pois x 1 tem custo reduzido positivo! l 0 l 0 + 2l 2 l 1 l 1 l 2 l 2 l 2 /3 l 3 l 3 l 2 E. Hoshino (Facom-UFMS) Simplex março de 2010 18 / 21 - iteração 3 Exercício y 1 y 3 x1 x 2 rhs z 0 2/3 0-1/3 0 4 y 1 1-1/3 0 5/3 0 2 x 2 0 1/3 0 1/3 1 2 y 3 0-1/3 1 2/3 0 1 y 1 y 3 x 1 x 2 rhs z 1/5 3/5 0 0 0 22/5 x 1 3/5-1/5 0 1 0 6/5 x 2-1/5 6/15 0 0 1 8/5 y 3-2/5-1/5 1 0 0 1/5 l 0 l 0 + l 1 /3 l 1 (3/5)l 1 l 2 l 2 l 1 /3 l 3 l 3 (2/3)l 1 1 Resolva o seguinte problema de programação linear pelo método simplex (utilize o tableau): z = min x 1 3 x 2 s.a. x 1 2x 2 4 x 1 + x 2 3 Solução é ótima! z = 22/5 e solução ótima é x 1 = 6/5, x 2 = 8/5, y 3 = 1/5 e y 1 = = 0. E. Hoshino (Facom-UFMS) Simplex março de 2010 19 / 21 E. Hoshino (Facom-UFMS) Simplex março de 2010 20 / 21
Simplex: caso ilimitado Ocorre sempre que, num problema de minimização (maximização), existir uma variável não-básica x k com custo reduzido negativo (positivo) z k c k > 0 (z k c k < 0) e y k 0. Uma vez que x B = B 1 y k x k, tem-se que x k pode aumentar de valor indefinidamente! Valor ótimo é (+ ) e pode ser obtido movendo o ponto extremo atual em direção ao raio extremo dado por: [ yk d = ou seja, x B = B 1 b + dx k e x k 0. Condição necessária e suficiente: cd = [c B c N d = c B y k + c k = z k + c k < 0. e k E. Hoshino (Facom-UFMS) Simplex março de 2010 21 / 21