A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Método Simplex Resolução Algébrica Prof. Ricardo Santos.

Apresentações semelhantes


Apresentação em tema: "Método Simplex Resolução Algébrica Prof. Ricardo Santos."— Transcrição da apresentação:

1 Método Simplex Resolução Algébrica Prof. Ricardo Santos

2 Método Simplex A função objetivo f(x) pode ser expressa considerando a partição básica: –f(x)=c T x= –c T B : coeficientes das variáveis básicas na função objetivo –c T N : coeficientes das variáveis não-básicas na função objetivo Como x B =B -1 b-B -1 Nx N então: –f(x)=c T B (B -1 b-B -1 Nx N )+c T N x N (1) x B –Valor da função objetivo em x*: f(x*)= c T B x* B +c T N x* N = c T B (B -1 b)+c T N (0)=c T B B -1 b

3 Método Simplex Definição 1(vetor multiplicador simplex): O vetor λ de ordem mx1, dado por –λ T = c T B B -1 –é chamado de vetor multiplicador simplex (ou também, vetor de variáveis duais) –O vetor multiplicador simplex pode ser obtido pela resolução do sistema de equações lineares λB T = c B, que é obtido ao se tomar a transposta de λ T = c T B B -1 e multiplicar ambos os termos da igualdade por B T –Utilizando o vetor multiplicador simplex em (1) temos que: f(x)=f( )- c T B B -1 Nx N )+c T N x N = f(x*)- λ T Nx N +c T N x N = f(x*)+ (c T N -λ T N)x N f(x)=f(x*)+ (c N1 -λ T a N1 )x N1 + (c N2 -λ T a N2 )x N (c Nn-m -λ T a Nn-m )x Nn-m (2)

4 Método Simplex Definição 2(custos relativos): Os coeficientes c* NJ = (c NJ -λ T a NJ ) das variáveis não-básicas da função objetivo (2) são chamados custos relativos ou custos reduzidos –f(x)=f(x*)+ c* N1 x N1 + c* N2 x N c* Nn-m x Nn-m (3) Propriedade 1 (condição de otimalidade): Condição uma partição básica A=[B N] em que a solução básica associada x* B =B -1 b>=0 (solução básica factível), e seja λ T o vetor multiplicador simplex. Se c NJ -λ T a NJ >=0 (todos os custos relativos são não- negativos), então a solução básica é ótima.

5 Método Simplex Definição 3(estratégia simplex): Chamamos de estratégia simplex a perturbação de uma solução básica factível que consiste em alterar as variáveis não-básicas por: x Nk =ε >= 0, (variável com custo relativo negativo) x Nj =0, j=1,2,,,,.n-m, jk Ou seja, apenas uma variável não-básica, x Nk, deixa de ser nula. Com isso, a função objetivo (3) passa a ser: –f(x)=f(x*)+ c* N c* Nk x Nk +...+c* Nn-m 0 –f(x)= f(x*)+c* Nk ε

6 Método Simplex Definição 4(direção simplex): Chamamos de direção simplex o vetor y=B -1 a Nk, o qual fornece os coeficientes de como as variáveis básicas são alteradas pela estratégia simplex. A direção simplex é solução do sistema de equações lineares By=a Nk –Observe que as variáveis básicas podem ser escritas como: x B =B -1 b-B -1 Nx N =x* B -B -1 a Nk ε=x* B -yε, onde y=B -1 a Nk (4) Reescrevendo a equação vetorial (4) em cada uma de suas coordenadas e considerando a não-negatividade das variáveis básicas x Bi =x* Bi -y i ε>=0, i=1,...,m Assim, –Se y i =0, para todo ε>=0 –Se y i >0, como x Bi =x* Bi -y i ε>=0, então ε=x* Bi /y i

7 Método Simplex Logo, o maior valor para ε é dado por –ε*=x* Bl /y l =minimo(x* Bi /y i tal que yi>0)

8 Algoritmo Simplex (algébrico) Fase I: –Determine inicialmente a partição básica factível A=[B N]. A rigor, precisamos de dois vetores de índices básicos e não-básicos: (B 1, B 2,..., B m ) e (N 1, N 2,..., N n-m ) –Os vetores das variáveis básicas e não-básicas são, respectivamente: x T B =(x B1, x B2,..., x Bm ) e x T N = (x N1, x N2,..., x Nn-m ) –Faça iteração=1 Fase II: {início da iteração simplex} –Passo 1: {cálculo da solução básica} x* B =B -1 b //ou, equivalentemente, resolve o sistema Bx B =b x* N =0 –Passo 2: {cálculo dos custos relativos} 2.1) {vetor multiplicador simplex} –λ T = c T B B ) {custos relativos} –c* NJ =c NJ -λ T a NJ j=1,2,..., n-m 2.3) {determinação da variável a entrar na base} –c* Nk =minimo(c* NJ, j=1,2,..., n-m) //a variável x Nk entra na base

9 Algoritmo Simplex (algébrico) Fase II: {continuação} –Passo 3: {teste da otimalidade} Se c* Nk >=0, então: pare //solução na iteração atual é ótima –Passo 4: {cálculo da direção simplex} y=B -1 a Nk –Passo 5: {determinação do passo e variável a sair da base} Se y - Caso contrário, determine a variável a sair da base pela razão mínima –ε*=x* Bl /y l =minimo(x* Bi /y i tal que y i >0) //a variável x Bl sai da base –Passo 6: {atualização: nova partição básica, troque a l- ésima coluna de B pela k-ésima coluna de N} Matriz básica nova: B=[a B1...a B l-1 a Nk a B l+1... a Bm ] Matriz não-básica nova: N=[a N1...a Nk -1 a Bl a Nk+1... a Nn-m ] iteração=iteração+1 Retorne ao passo 1

10 Algoritmo Simplex (algébrico) Exemplo: –Minimizar f(x 1,x 2 )=-x 1 -2x 2 x 1 +x 2 <=6 x 1 -x 2 <=4 -x 1 +x 2 <=4 x 1 >=0, x 2 >=0 Após introduzir as variáveis de folga x 3, x 4 e x 5, temos o problema na forma padrão Na Fase I, obtemos uma partição básica factível: –(B 1, B 2, B 3 )=(3, 4, 5), (N 1, N 2 )=(1, 2), –Ou seja, B=I. Fazendo (x 1, x 2 )=(0,0), temos (trivialmente) os valores das variáveis básicas

11 Algoritmo Simplex (algébrico) Fase II: 1 a. Iteração Índices BásicosNão-básicos B 1 =3B 2 =4B 3 =5N 1 =1N 2 =2b [B | N] [c B | c N ]000-2f=0

12 Algoritmo Simplex (algébrico) Fase II: 1 a. Iteração –Passo 1: {cálculo da solução básica} = x B =(x 3, x 4, x 5 ) Resolver o sistema Bx B =b –x B =(6, 4, 4) Avaliação da função objetivo: –f(x)=c B1 x B1 + c B2 x B2 + c B3 x B3 =0*6+0*4+0*4=0 –Passo 2: {cálculo dos custos relativos} 2.1) {vetor multiplicador simplex}:(c B =(c B1,c B2,c B3 )=(c 3,c 4,c 5 )=(0, 0, 0)). –Solução do sistema B T λ=c B é λ T =(0,0,0) 2.2) {custos relativos}: (N 1 =1, N 2 =2) –c 1 =c 1 - λ T a 1 =-1-(0 0 0) =-1, –c 2 =c 2 - λ T a 2 =-2-(0 0 0) =-2, k=2. (variável x N2 =x 2 entra na base) 2.3) {determinação da variável que entra na base} –Como c 2 =c N2 =minimo{c Nj, j=1,2}=-2<0, então a variável x 2 entra na base

13 Algoritmo Simplex (algébrico) Fase II: 1 a. Iteração –Passo 3: {teste de otimalidade} Como os custos relativos (c 1 =-1, c 2 =-2)são negativos, a solução atual não é ótima! –Passo 4: {cálculo da direção simplex} Resolver o sistema By=a 2 e obtenha y= O vetor y mostra como as variáveis básicas são alteradas: x B =x B -y ε As variáveis não-básicas (x 1 e x 2 ) se alteram conforme a estratégia simplex: x 1 =0 e x 2 =ε –Passo 5: {determinação do passo e variável a sair da base} ε*=minimo(x B1 /y 1, x B3 /y 3 )=minimo(6/1, 4/1)=4= x B3 /y 3 x B3 =x 5 sai da base

14 Algoritmo Simplex (algébrico) Fase II: 1 a. Iteração –Passo 6: {atualização: nova partição básica, troque a l- ésima coluna de B pela k-ésima coluna de N} (B 1, B 2, B 3 )=(3, 4, 2), (N 1, N 2 )=(1, 5), {novo valor da função objetivo: f(x)=f(x*)+c Nk ε*=0-2*4=-8 } Nova Tabela: Índices BásicosNão-básicos B 1 =3B 2 =4B 3 =2N 1 =1N 2 =5b [B | N] [c B | c N ]00-20f=-8

15 Algoritmo Simplex (algébrico) Fase II: 2 a. Iteração –Passo 1: Solução básica: x B =(x 3, x 4, x 2 ) Resolver sistema Bx B =b e obter x* B = –Passo 2: 2.1) {vetor multiplicador simplex} –(c B =(c B1,c B2,c B3 )=(c 3,c 4,c 2 )=(0, 0, -2)). –Resolver sistema B T λ=c B é λ T =(0, 0, -2) 2.2) {custos relativos}: (N 1 =1, N 2 =5) –c 1 =c 1 - λ T a 1 =-1-(0 0 -2) =-3, k=1, x 1 entra na base –c 5 =c 5 - λ T a 5 =0-(0 0 -2) =2, 2.3) {determinação da variável que entra na base} –Como c 1 <0, solução básica não é ótima e x 1 entra na base

16 Algoritmo Simplex (algébrico) Fase II: 2 a. Iteração –Passo 3: {teste de otimalidade} Como há custos relativos (c 1 =-3, c 5 =2) negativos, a solução atual não é ótima! –Passo 4: {cálculo da direção simplex} Resolver o sistema By=a 1 e obtenha y= O vetor y mostra como as variáveis básicas são alteradas: x B =x B -y ε As variáveis não-básicas (x 1 e x 5 ) se alteram conforme a estratégia simplex: x 5 =0 e x 1 =ε –Passo 5: {determinação do passo e variável a sair da base} Como somente y 1 >0, então ε*=minimo(x B1 /y 1 )=minimo(2/2)=1 x B1 =x 3 sai da base

17 Algoritmo Simplex (algébrico) Fase II: 2 a. Iteração –Passo 6: {atualização: nova partição básica, troque a l- ésima coluna de B pela k-ésima coluna de N} (B 1, B 2, B 3 )=(1, 4, 2), (N 1, N 2 )=(3, 5), {novo valor da função objetivo: f(x)=f(x*)+c Nk ε*=-8-3*1=-11 } Nova Tabela: Índices BásicosNão-básicos B 1 =1B 2 =4B 3 =2N 1 =1N 2 =5b [B | N] [c B | c N ]0-200f=-11

18 Algoritmo Simplex (algébrico) Fase II: 2 a. Iteração –Passo 1: Solução básica: x B =(x 1, x 4, x 2 ) Resolver sistema Bx B =b e obter x* B = –Passo 2: 2.1) {vetor multiplicador simplex} –(c B =(c B1,c B2,c B3 )=(c 1,c 4,c 2 )=(-1, 0, -2)). –Resolver sistema B T λ=c B é λ T = (-3/2, 0, -1/2) 2.2) {custos relativos}: (N 1 =3, N 2 =5) –c 3 =c 3 - λ T a 3 =0-(-3/2, 0, -1/2) =3/2, –c 5 =c 5 - λ T a 5 =0- (-3/2, 0, -1/2) =1/2,

19 Algoritmo Simplex (algébrico) Fase II: 2 a. Iteração –Passo 2: 2.1) {vetor multiplicador simplex} –(c B =(c B1,c B2,c B3 )=(c 1,c 4,c 2 )=(-1, 0, -2)). –Resolver sistema B T λ=c B é λ T = (-3/2, 0, -1/2) 2.2) {custos relativos}: (N 1 =3, N 2 =5) –c 3 =c 3 - λ T a 3 =0-(-3/2, 0, -1/2) =3/2, –c 5 =c 5 - λ T a 5 =0- (-3/2, 0, -1/2) =1/2, 2.3) {determinação da variável que entra na base} –Como minimo{c Nj, j=1,2}=1/2>0, segue-se que a solução atual »x* B = e x* N = ou x=


Carregar ppt "Método Simplex Resolução Algébrica Prof. Ricardo Santos."

Apresentações semelhantes


Anúncios Google