Método Simplex Resolução Algébrica

Slides:



Advertisements
Apresentações semelhantes
Métodos Iterativos.
Advertisements

Fluxo em Redes Prof. Ricardo R. Santos.
Pesquisa Operacional Resolução através do Método Gráfico
Teorema Fundamental da Programação Linear
Prof. M.Sc. Fábio Francisco da Costa Fontes Outubro
CÁLCULO DA INVERSA DA BASE
Problemas de Forma Não-padrão
CÁLCULO DA INVERSA DA BASE
SOLUÇÃO MATRICIAL E MÉTODO SIMPLEX REVISADO
PARTIÇÃO DE BENDERS Secundino Soares Filho Unicamp.
Metaheurísticas Prof. Aurora Pozo Departamento de Informática Universidade Federal do Paraná
Métodos Numéricos e Estatísticos
Método SIMPLEX Marcone Jamilson Freitas Souza
O que você deve saber sobre
Problema de designação
Problema de designação
SIMPLEX ANÁLISE COMPLETA ANDERSON BESTETTI 1, EDUARDO RIGHES 1, EVERTON FONTOURA 2, GUILHERME LAZZARI 3, RODRIGO SCHRAMM 3, ROGERIO MARTINS 4 1 {anderson.bestetti,
Resolução de Sistemas Lineares Métodos Exatos Fatoração LU
Teoria e Modelagem Matemática
Sistemas de equações lineares de 1a ordem
Aula 4: Matrizes e Operações Matriciais
Matemática para Economia III
Aula 9: Determinantes (continuação)
Aula 8 e 9: Determinantes (continuação)
Professora: Ana Cristina G. e Silva Natal-RN
SISTEMAS LINEARES.
UNIVERSIDADE FEDERAL DE UBERLÂNDIA FACULDADE DE MATEMÁTICA
Cálculo Numérico / Métodos Numéricos
Cálculo Numérico / Métodos Numéricos
Solução Básica Factível e Método Simplex Introdução ao Método Simplex Fase I e Fase II.
Prof. Guilherme Amorim 26/11/2013
MÉTODOS NUMÉRICOS APLICAÇÃO NO MATLAB
Sistemas Lineares Métodos de Resolução Algébrico Produto de Matrizes
Sistema de equações lineares
Campus de Caraguatatuba Aula 12: Sistemas de Equações Lineares (2)
Cálculo Numérico / Métodos Numéricos
Algoritmos e Estruturas de Dados I – Recursão
Otimização Linear Definições e Solução Gráfica
Aula 8: Determinantes (continuação)
Cálculo da Direção de Caminhada: Gradiente de f(x)
Matemática para Economia III
Matemática Matriz Inversa
Método Simplex Tópicos em Otimização
Eliminação de Gauss. ZIP Decomposição [L][D][L] T de [K]
Sistemas Lineares Fatoração LU
MÚLTIPLOS GRAUS DE LIBERDADE
Introdução Prof. Antonio Carlos Coelho
Otimização Numérica de Processos
Capitulo 5: Simplex Voltando ao exemplo da confecção da D. Maria, e modificando um pouco os valores apenas para facilitar nossos cálculos e o entendimento,
Profa. Mercedes Gonzales Márquez
Capitulo 5: Simplex Voltando ao exemplo da confecção da D. Maria, e modificando um pouco os valores apenas para facilitar nossos cálculos e o entendimento,
Pesquisa Operacional MUROLO ENGENHARIA DE PRODUÇÃO
Campus de Caraguatatuba Aula 16: Sistemas de Equações Lineares (4)
Problemas de Forma Não-Padrão
Prof. Geraldo Nunes Silva
Álgebra Linear Unidade II: Determinantes Prof. Edson Brito
FEAMIG – Faculdade de Engenharia de Minas Gerais
CÁLCULO NUMÉRICO Aula 5 – Sistema de Equações lineares.
Prof. Disney Douglas Sistemas de Equações Lineares e Operações Elementares.
Algoritmo de Transportes Objecto de Aprendizagem Manuel Pina MarquesDEIG
              Investigação Operacional Métodos de Programação Linear: Gráfica, Simplex (Mestrado) Engenharia Industrial
Pesquisa Operacional:
Como ir do tableau da base (j 1,...j s-1,j s, j s+1....j m ) para o da base (j 1,...j s-1,k, j s+1....j m ) lembrando que : na coluna associada à x ji.
Problema de Transporte e Alocação
Professor: Cezar Augusto Pereira dos Santos
PROFESSOR: CÉZAR AUGUSTO PEREIRA DOS SANTOS 1.
SIMPLEX DUAL Bases complementares. Simplex dual O DLC tem matriz [A t –I n ] cuja inversa de base é de dimensão nxn Mas conhecendo uma base primal B=(j.
SIMPLEX Para o problema canônico: Max sujeito a Ax=b e x≥0.
Álgebra Linear Prof(a):Janaína F. Lacerda A matemática não precisa ser uma tortura.
O Método Simplex Prof. Gustavo Peixoto Silva Departamento de Computação Univ. Federal de Ouro Preto.
Transcrição da apresentação:

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

Método Simplex A função objetivo f(x) pode ser expressa considerando a partição básica: f(x)=cTx= cTB: coeficientes das variáveis básicas na função objetivo cTN: coeficientes das variáveis não-básicas na função objetivo Como xB=B-1b-B-1NxN então: f(x)=cTB(B-1b-B-1NxN)+cTNxN (1) xB Valor da função objetivo em x*: f(x*)= cTBx*B+cTNx*N= cTB(B-1b)+cTN(0)=cTBB-1b

Método Simplex Definição 1(vetor multiplicador simplex): O vetor λ de ordem mx1, dado por λT= cTBB-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 λBT= cB, que é obtido ao se tomar a transposta de λT= cTBB-1 e multiplicar ambos os termos da igualdade por BT Utilizando o vetor multiplicador simplex em (1) temos que: f(x)=f( )- cTBB-1NxN)+cTNxN= f(x*)- λT NxN+cTNxN = f(x*)+ (cTN-λT N)xN f(x)=f(x*)+ (cN1-λT aN1)xN1+ (cN2-λT aN2)xN2+...+ (cNn-m-λT aNn-m)xNn-m (2)

Método Simplex Definição 2(custos relativos): Os coeficientes c*NJ= (cNJ-λTaNJ) 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*N1xN1+ c*N2xN2+...+c*Nn-mxNn-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-1b>=0 (solução básica factível), e seja λT o vetor multiplicador simplex. Se cNJ-λTaNJ>=0 (todos os custos relativos são não-negativos), então a solução básica é ótima.

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: xNk=ε >= 0, (variável com custo relativo negativo) xNj=0, j=1,2,,,,.n-m, j≠k Ou seja, apenas uma variável não-básica, xNk, deixa de ser nula. Com isso, a função objetivo (3) passa a ser: f(x)=f(x*)+ c*N10+...+c*NkxNk+...+c*Nn-m0 f(x)= f(x*)+c*Nk ε<f(x*) Observe que a função objetivo decresce quando ε cresce Isso justifica a escolha da variável não-básica a ser perturbada com o menor custo relativo

Método Simplex Definição 4(direção simplex): Chamamos de direção simplex o vetor y=B-1aNk, 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=aNk Observe que as variáveis básicas podem ser escritas como: xB=B-1b-B-1NxN=x*B-B-1aNkε=x*B-yε, onde y=B-1aNk (4) Reescrevendo a equação vetorial (4) em cada uma de suas coordenadas e considerando a não-negatividade das variáveis básicas xBi=x*Bi-yiε>=0, i=1,...,m Assim, Se yi<=0, então xBi>=0, para todo ε>=0 Se yi>0, como xBi=x*Bi-yiε>=0, então ε=x*Bi/yi

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

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: (B1, B2, ..., Bm) e (N1, N2, ..., Nn-m) Os vetores das variáveis básicas e não-básicas são, respectivamente: xTB=(xB1, xB2, ..., xBm) e xTN= (xN1, xN2, ..., xNn-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-1b //ou, equivalentemente, resolve o sistema BxB=b x*N=0 Passo 2: {cálculo dos custos relativos} 2.1) {vetor multiplicador simplex} λT= cTBB-1 2.2) {custos relativos} c*NJ=cNJ-λTaNJ 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 xNk entra na base

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-1aNk Passo 5: {determinação do passo e variável a sair da base} Se y<=0, então: pare //problema não tem solução ótima finita. f(x)-> -∞ Caso contrário, determine a variável a sair da base pela razão mínima ε*=x*Bl/yl =minimo(x*Bi/yi tal que yi>0) //a variável xBl 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=[aB1...aBl-1 aNk aBl+1 ... aBm] Matriz não-básica nova: N=[aN1...aNk-1 aBl aNk+1 ... aNn-m] iteração=iteração+1 Retorne ao passo 1

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

Algoritmo Simplex (algébrico) Fase II: 1a. Iteração Índices Básicos Não-básicos B1=3 B2=4 B3=5 N1=1 N2=2 b [B | N] 1 6 -1 4 [cB | cN] -2 f=0

Algoritmo Simplex (algébrico) Fase II: 1a. Iteração Passo 1: {cálculo da solução básica} = xB=(x3, x4, x5) Resolver o sistema BxB=b xB=(6, 4, 4) Avaliação da função objetivo: f(x)=cB1xB1+ cB2xB2 + cB3xB3=0*6+0*4+0*4=0 Passo 2: {cálculo dos custos relativos} 2.1) {vetor multiplicador simplex}:(cB=(cB1,cB2,cB3)=(c3,c4,c5)=(0, 0, 0)). Solução do sistema BTλ=cB é λT=(0,0,0) 2.2) {custos relativos}: (N1=1, N2=2) c1=c1- λTa1=-1-(0 0 0) =-1, c2=c2- λTa2=-2-(0 0 0) =-2, k=2. (variável xN2=x2 entra na base) 2.3) {determinação da variável que entra na base} Como c2=cN2=minimo{cNj, j=1,2}=-2<0, então a variável x2 entra na base

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

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

Algoritmo Simplex (algébrico) Fase II: 2a. Iteração Passo 1: Solução básica: xB=(x3, x4, x2) Resolver sistema BxB=b e obter x*B= Passo 2: 2.1) {vetor multiplicador simplex} (cB=(cB1,cB2,cB3)=(c3,c4,c2)=(0, 0, -2)). Resolver sistema BTλ=cB é λT=(0, 0, -2) 2.2) {custos relativos}: (N1=1, N2=5) c1=c1- λTa1=-1-(0 0 -2) =-3, k=1, x1 entra na base c5=c5- λTa5=0-(0 0 -2) =2, 2.3) {determinação da variável que entra na base} Como c1<0, solução básica não é ótima e x1 entra na base

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

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

Algoritmo Simplex (algébrico) Fase II: 2a. Iteração Passo 1: Solução básica: xB=(x1, x4, x2) Resolver sistema BxB=b e obter x*B= Passo 2: 2.1) {vetor multiplicador simplex} (cB=(cB1,cB2,cB3)=(c1,c4,c2)=(-1, 0, -2)). Resolver sistema BTλ=cB é λT= (-3/2, 0, -1/2) 2.2) {custos relativos}: (N1=3, N2=5) c3=c3- λTa3=0-(-3/2, 0, -1/2) =3/2, c5=c5- λTa5=0- (-3/2, 0, -1/2) =1/2,

Algoritmo Simplex (algébrico) Fase II: 2a. Iteração Passo 2: 2.1) {vetor multiplicador simplex} (cB=(cB1,cB2,cB3)=(c1,c4,c2)=(-1, 0, -2)). Resolver sistema BTλ=cB é λT= (-3/2, 0, -1/2) 2.2) {custos relativos}: (N1=3, N2=5) c3=c3- λTa3=0-(-3/2, 0, -1/2) =3/2, c5=c5- λTa5=0- (-3/2, 0, -1/2) =1/2, 2.3) {determinação da variável que entra na base} Como minimo{cNj, j=1,2}=1/2>0, segue-se que a solução atual x*B= e x*N= ou x=