Prévia do material em texto
Profª MsC. Andressa Azevedo1 Unidade 4 – Programação Linear – Solução Analítica PROGRAMAÇÃO LINEAR SOLUÇÃO ANALÍTICA � Conceitos Básicos de Álgebra Linear � Problemas de Programação Linear � Resolução Analítica pelo Método SIMPLEX � Solução Inicial � Decisão de Otimalidade � Variável que Entra na Base � Variável que Sai da Base � Nova Solução Viável Profª MsC. Andressa Azevedo2 Unidade 4 – Programação Linear – Solução Analítica ÁLGEBRA LINEAR =× nmnn m m mn aaa aaa aaa A L MOMM L L 21 22221 11211 Matriz É um conjunto de elementos numéricos dispostos na forma retangular: n linhas m colunasNúmero de linhas Número de colunas Elementos da matriz aij é o elemento que está na linha i e na coluna j Vetor é uma matriz que possui uma única linha ( 1 x m ) ou coluna ( n x 1 ). = n n v v v V M 2 1 Profª MsC. Andressa Azevedo3 Unidade 4 – Programação Linear – Solução Analítica ÁLGEBRA LINEAR = 76 54 32 A = 753 642TA = 100 010 001 L MOMM L L nI AIA =× { } { } nmji T mnij aAaA ×× =⇒= Matriz Identidade Apenas os elementos da diagonal principal da matriz são diferentes de zeros e iguais a 1. Matriz Transposta É obtida através da troca das linhas pelas colunas da matriz original. ( ) AA TT = jia jia ij ij ≠∀= =∀= 0 1 Profª MsC. Andressa Azevedo4 Unidade 4 – Programação Linear – Solução Analítica −−− = 3402 2011 2111 1201 A − − −−− = − 1002 0110 1121 1223 1A O Resultado da multiplicação de uma matriz pela sua inversa é a matriz identidade Matriz Inversa nnnnn IAAAA =×=× −− ×× 11 =× − 1000 0100 0010 0001 1AA ÁLGEBRA LINEAR Profª MsC. Andressa Azevedo5 Unidade 4 – Programação Linear – Solução Analítica = × mpmm p p npnn p p mnmm n n ababab ababab ababab bbb bbb bbb aaa aaa aaa L MOMM L L L MOMM L L L MOMM L L 21 22221 11211 21 22221 11211 21 22221 11211 =×+×+×=×+×+× =×+×+×=×+×+× = × 2836241276867402 2235231161857301 38 27 10 642 531 Multiplicação de matrizes mpnpmn ABBA =× Exemplo = ∑ = ×= n k kjikij baab 1 ÁLGEBRA LINEAR Profª MsC. Andressa Azevedo6 Unidade 4 – Programação Linear – Solução Analítica ÁLGEBRA LINEAR = × 15 6 5,75 32 2 1 x x = + + ⇒ = × 2 1 222121 212111 2 1 2 1 2221 1211 b b xaxa xaxa b b x x aa aa = × 9 6 41 32 2 1 x x Sistemas de Equações Lineares BXA =× Única solução a) Ter uma única solução b) Ter múltiplas soluções c) Não ter soluções = × 10 6 5,75 32 2 1 x x Múltiplas Soluções Sistema impossível [ ]4,26,0=X [ ]θθ5,13 −=X Não admite solução Profª MsC. Andressa Azevedo7 Unidade 4 – Programação Linear – Solução Analítica PROGRAMAÇÃO LINEAR PROPRIEDADES Propriedade 1: A solução de um problema de programação linear está em um dos vértices da região de viabilidade; Propriedade 2: A região de viabilidade possui um número finito de vértices; Propriedade 3: Se um vértice possuir solução melhor do que todos os seus vizinhos este é o ponto ótimo. Profª MsC. Andressa Azevedo8 Unidade 4 – Programação Linear – Solução Analítica PROGRAMAÇÃO LINEAR MÉTODO SIMPLEX � O método simplex percorre os vértices da região viável até encontrar uma solução que não possua soluções vizinhas melhores que ela. � O método simplex percorre os vértices da região viável até encontrar uma solução que não possua soluções vizinhas melhores que ela. � No entanto a solução ótima pode não existir em dois casos: - quando não existe nenhuma solução viável para o problema; - quando não há limite para o valor da função objetivo. Sol. Inicial Sol. Ótima Profª MsC. Andressa Azevedo9 Unidade 4 – Programação Linear – Solução Analítica PROGRAMAÇÃO LINEAR MÉTODO SIMPLEX Terminologia � Variáveis Básicas: m variáveis com valor maior que zero � Variáveis Não Básicas: (n-m) variáveis com valor igual a zero � Solução Básica: Solução com m variáveis básicas e m-n não básicas Sol. Básica Viável ( X1>0; X2>0; F1=0; F2=0 ) Sol. Não Básica ( X1>0; X2>0; F1>0; F2>0 ) Profª MsC. Andressa Azevedo10 Unidade 4 – Programação Linear – Solução Analítica PROGRAMAÇÃO LINEAR MÉTODO SIMPLEX Quadro SIMPLEX ............... bm1...0amn...am10(m)fm b10...1a1n...a110(1)f1 00 ... 0-cn...-c11(0)Z fm...f1xn...x1Z Lado direito CoeficientesE.q. No Variável Básica Variáveis Originais Variáveis de Folga Coeficientes da F.O. Coeficientes das restrições ............... bm1...0amn...am10(m)fm b10...1a1n...a110(1)f1 00 ... 0-cn...-c11(0)Z fm...f1xn...x1Z Lado direito CoeficientesE.q. No Variável Básica Variáveis Originais Variáveis de Folga Coeficientes da F.O. Coeficientes das restrições Profª MsC. Andressa Azevedo11 Unidade 4 – Programação Linear – Solução Analítica PROGRAMAÇÃO LINEAR MÉTODO SIMPLEX Considerações sobre a Classificação das Variáveis � A quantidade de variáveis não básicas coincide com a quantidade de variáveis do problema como foi fornecido, e a quantidade de variáveis básicas coincide com a quantidade de restrições; � A cada nova solução, uma variável básica trocará de lugar com uma não básica; as quantidades se manterão fixas. � As variáveis não básicas do quadro Simplex inicial são as próprias variáveis do problema; � As variáveis básicas do quadro Simplex inicial são as variáveis de folga em um problema na forma padrão, e existe uma variável de folga para cada restrição. Profª MsC. Andressa Azevedo12 Unidade 4 – Programação Linear – Solução Analítica SOLUÇÃO ANALÍTICA MÉTODO SIMPLEX Procedimento de Solução Iterativa Início Determine uma solução viável Solução Ótima? Não Fim Sim Determine uma solução viável melhor InInííciocio • Escrever o problema na forma padrão; • Inclusão das variáveis de folga; • Classificação das variáveis do problema; Profª MsC. Andressa Azevedo13 Unidade 4 – Programação Linear – Solução Analítica Algoritmo SIMPLEX SOLUÇÃO ANALÍTICA Introduzir as variáveis de folga; uma para cada desigualdade. [1]: Montar um quadro para os cálculos, colocando os coeficientes de todas as variáveis com os respectivos sinais e, na primeira linha, incluir os coeficientes da função objetivo transformada. [2]: Estabelecer uma solução básica inicial, usualmente atribuindo valor zero às variáveis originais e achando valores positivos para as variáveis de folga. [3]: Como próxima variável a entrar na base, escolher a variável não básica que oferece, na primeira linha, a maior contribuição para o aumento da função objetivo (ou seja, tem o maior valor negativo). Se todas as variáveis que estão fora da base tiverem coeficientes nulos ou positivos nesta linha, a solução atual é ótima. Se alguma dessas variáveis tiver coeficiente nulo, isto significa que ela pode ser introduzida na base sem aumentar o valor da função objetivo. Em outras palavras temos uma nova solução ótima, com o mesmo valor da função objetivo. [4]: ALGORITMO SIMPLEX Para escolher a variável que deve deixar a base, deve-se realizar o seguinte procedimento: 1. Dividir os elementos da última coluna pelos correspondentes elementos positivos da coluna da variável que vai entrar na base. Caso não haja elemento algum positivo nesta coluna, o processo deve parar, já que a solução seria ilimitada. 2. O menor quociente indica a equação cuja respectiva variável básica deverá ser anulada, tornando-se variável não básica. [5]:Usando operações válidas com as linhas da matriz, transformar o quadro de cálculos de forma a encontrar a nova solução básica. Retornar ao passo quatro para iniciar outra iteração. [6]: ALGORITMO SIMPLEX Profª MsC. Andressa Azevedo14 Unidade 4 – Programação Linear – Solução Analítica Etapas do Algoritmo SIMPLEX SOLUÇÃO ANALÍTICA MÉTODO SIMPLEX 60(2)f2 18100230(3)fm 4001010(1)f1 0000-5-31(0)Z f3f2f1X2x1Z Lado direito CoeficientesE.q. No Variável Básica 01010 Variável que deverá entrar na base: X2 1 Coluna pivô 2 6/1 = 6 (min) 18/2 = 9 3 Variável que deverá sair da base 4 Linha pivô 56 Número Pivô 60(2)f2 18100230(3)fm 4001010(1)f1 0000-5-31(0)Z f3f2f1X2x1Z Lado direito CoeficientesE.q. No Variável Básica 01010 60(2)f2 18100230(3)fm 4001010(1)f1 0000-5-31(0)Z f3f2f1X2x1Z Lado direito CoeficientesE.q. No Variável Básica 01010 Variável que deverá entrar na base: X2 1 Coluna pivô 2 6/1 = 6 (min) 18/2 = 9 3 Variável que deverá sair da base 4 Linha pivô 56 Número Pivô Profª MsC. Andressa Azevedo15 Unidade 4 – Programação Linear – Solução Analítica Construção do Novo Quadro SOLUÇÃO ANALÍTICA MÉTODO SIMPLEX 60(2)x2 0(3)fm 0(1)f1 300500-31(0)Z f3f2f1X2x1Z Lado direito CoeficientesE.q. No Variável Básica 01010 60(2)f2 18100230(3)fm 4001010(1)f1 0000-5-31(0)Z f3f2f1x2x1Z Lado direito CoeficientesE.q. No Variável Básica 01010 1 Variável entra na base 2 / 1 3 - (-5)x(NLP) Nova linha pivô Nova linha 60(2)x2 0(3)fm 0(1)f1 300500-31(0)Z f3f2f1X2x1Z Lado direito CoeficientesE.q. No Variável Básica 01010 60(2)f2 18100230(3)fm 4001010(1)f1 0000-5-31(0)Z f3f2f1x2x1Z Lado direito CoeficientesE.q. No Variável Básica 01010 1 Variável entra na base 2 / 1 3 - (-5)x(NLP) 60(2)x2 0(3)fm 0(1)f1 300500-31(0)Z f3f2f1X2x1Z Lado direito CoeficientesE.q. No Variável Básica 01010 60(2)x2 0(3)fm 0(1)f1 300500-31(0)Z f3f2f1X2x1Z Lado direito CoeficientesE.q. No Variável Básica 01010 60(2)f2 18100230(3)fm 4001010(1)f1 0000-5-31(0)Z f3f2f1x2x1Z Lado direito CoeficientesE.q. No Variável Básica 01010 60(2)f2 18100230(3)fm 4001010(1)f1 0000-5-31(0)Z f3f2f1x2x1Z Lado direito CoeficientesE.q. No Variável Básica 01010 1 Variável entra na base 2 / 1 3 - (-5)x(NLP) Nova linha pivô Nova linha pivônúmero opivlinha opivlinhanova ˆˆ = Nova linha = linha antiga – (coeficiente da coluna pivô) X (nova linha pivô) Profª MsC. Andressa Azevedo16 Unidade 4 – Programação Linear – Solução Analítica Problema-Exemplo Uma marcenaria deseja estabelecer uma programação diária de produção. Atualmente a oficina fabrica apenas dois produtos: mesa e armário, ambos de um só modelo. Supondo que a mercenária apresente limitações em somente dois recursos: madeira e mão-de-obra, cujas disponibilidades diárias são mostradas na tabela a seguir: O processo de produção é tal que, para fazer 1 mesa, a fábrica gasta 2 m2 de madeira e 2 H.h de mão-de-obra. Para fazer um armário, a fábrica gasta 3 m2 de madeira e 1 H.h de mão-de-obra. Além disso, o fabricante sabe que cada mesa dá uma margem de contribuição para o lucro de R$ 4,00 e cada armário dá uma margem de R$ 1,00. O problema do fabricante é encontrar o programa de produção que maximiza a margem de contribuição total para o lucro. SOLUÇÃO ANALÍTICA MÉTODO SIMPLEX 8 H.hMão-de-obra 12 m2Madeira DisponibilidadeRecurso Profª MsC. Andressa Azevedo17 Unidade 4 – Programação Linear – Solução Analítica Modelo Completo MAXIMIZAR Z = 4 x1 + 1 x2 sujeito a: 2 x1 + 3 x2 ≤ 12 2 x1 + 1 x2 ≤ 8 com x1 e x2 ≥ 0 Lucro da mesa Lucro do armário Utilização de madeira Disponibilidade Utilização de mão-de-obra Disponibilidade SOLUÇÃO ANALÍTICA MÉTODO SIMPLEX Profª MsC. Andressa Azevedo18 Unidade 4 – Programação Linear – Solução Analítica Transformando Inequação em Equação Quando afirma-se que , certamente pode-se dizer que existe algum valor c, não negativo, tal que: , em que c é chamado de folga da inequação. ba ≤≤≤≤ bca ====++++ R1 - 2 x1 + 3 x2 + x3 = 12 R2 - 2 x1 + 1 x2 + x4 = 8 com x1 , x2 , x3 e x4 ≥ 0 Utilização de madeira Folga Utilização de mão-de-obra Disponibilidade Folga Disponibilidade REGRA: Uma variável de folga para cada inequação SOLUÇÃO ANALÍTICA MÉTODO SIMPLEXPasso 1 Profª MsC. Andressa Azevedo19 Unidade 4 – Programação Linear – Solução Analítica 0 0 0 0 812 1232 s.a. 14 Z 4 3 2 1 421 321 21MAX ≥ ≥ ≥ ≥ =++ =++ += X X X X XXX XXX XX Modelo Original Modelo Adaptado Sistema Linear SOLUÇÃO ANALÍTICA MÉTODO SIMPLEX 0 0 812 1232 s.a. 14 Z 2 1 21 21 21MAX ≥ ≥ ≤+ ≤+ += X X XX XX XX 812]2[ 1232[1] 014Z [0] 421 321 21 =++ =++ =+− XXX XXX XX � A determinação da solução inicial é feita a partir do quadro inicial. � Em um problema da forma padrão considere as variáveis não básicas assumindo o valor zero e obtenha os outros valores por substituição de valores. Profª MsC. Andressa Azevedo20 Unidade 4 – Programação Linear – Solução Analítica Quadro 1 (Inicial) SOLUÇÃO ANALÍTICA MÉTODO SIMPLEX x4 x3 x2x1Z E.q. Z Z Lado direito CoeficientesE.q. x3 x4 Variável Básica -4 2 2 -1 3 1 0 1 0 0 0 1 0 12 8 1 0 0 [0] [1] [2] Passo 2 Profª MsC. Andressa Azevedo21 Unidade 4 – Programação Linear – Solução Analítica Solução Inicial SOLUÇÃO ANALÍTICA MÉTODO SIMPLEXPasso 3 Solução Viável Inicial: Z= 0 X1 = 0 X2 = 0 X3 = 12 X4 = 8 X3 = 12 - 2X1 - 3X2 Quando, X1 = X2 = 0 X3 = 12 X4 = 8 - 2X1 - 1X2 Quando, X1 = X2 = 0 X4 = 8 Decisão: � Enquanto variáveis não básicas da F.O. tiverem coeficientes positivo, a solução atual pode ser melhorada. � Neste caso, a segunda solução também deverá ter duas variáveis nulas e duas variáveis positivas. O desafio é buscar resposta para as seguintes questões: 1 - Das duas variáveis não básicas (nulas) na primeira solução, qual deverá se tornar positiva? 2 - Das duas variáveis básicas (positivas) na primeira solução, qual deverá ser anulada? Profª MsC. Andressa Azevedo22 Unidade 4 – Programação Linear – Solução Analítica Escolha da variável que entra na base e da que sai da base SOLUÇÃO ANALÍTICA MÉTODO SIMPLEX Passo 4 Passo 5 a variável que entra na base é X1. a variável que sai da base é X4. � Assim, X2 = X4 = 0. � Neste caso, X1 = 4 Primeiro Critério: Iniciar a produção pelo produto que mais contribui para o lucro. Neste caso, a variável que se torna positiva é a que tem maior coeficiente em Z. Segundo Critério: Escolhido o produto, sua produção deve ser estabelecida no maior valor possível. Ou seja, dá-se à variável o maior valor positivo possível. Profª MsC. Andressa Azevedo23 Unidade 4 – Programação Linear – Solução Analítica Construção do Novo Quadro SOLUÇÃO ANALÍTICA MÉTODO SIMPLEXPasso 6 x1 x3 x2x1Z E.q. Z Z Lado direito CoeficientesE.q. x3 x4 Variável Básica -4 2 1 -1 3 1/2 0 1 0 0 0 1/2 0 12 4 1 0 0 [0] [1] [2] 1ª Operação: dividir a terceira linha por 2 2ª Operação: multiplicar a terceira linha por (-2) e somar com a segunda linha do mesmo quadro, colocando o resultado na segunda linha Quadro 1 A x1 x3 x2x1Z E.q. Z Z Lado direito CoeficientesE.q. x3 x4 Variável Básica -4 0 1 -1 2 1/2 0 1 0 0 -1 1/2 0 4 4 1 0 0 [0] [1] [2] Quadro 1 B Profª MsC. Andressa Azevedo24 Unidade 4 – Programação Linear – Solução Analítica Construção do Novo Quadro SOLUÇÃO ANALÍTICA MÉTODO SIMPLEXPasso 6 3ª Operação: multiplicar a terceira linha do Quadro 1B por (4) e somar com a primeira linha, substituindo esta pelo resultado obtido. x1 x3 x2x1Z E.q. Z Z Lado direito CoeficientesE.q. x3 x4 Variável Básica 0 0 1 1 2 1/2 0 1 0 2 -1 1/2 16 4 4 1 0 0 [0] [1] [2] Quadro 2 3ª Linha x (4): 4 2 0 2 16 1ª Linha : -4 -1 0 0 0 -------------------------------------------------------------------Soma Z= 0 1 0 2 16 Profª MsC. Andressa Azevedo25 Unidade 4 – Programação Linear – Solução Analítica Solução Final SOLUÇÃO ANALÍTICA MÉTODO SIMPLEX Como a primeira linha (Função Z transformada), mostra as contribuições líquidas para o Lucro Z, em caso de as variáveis X2 e X4 terem seus valores aumentados de 0 para 1, a novo solução será pior que a anterior. Neste caso, pode-se concluir que a solução encontrada é ótima. Z= 16 X1 = 4 X2 = 0 X3 = 4 X4 = 0 Profª MsC. Andressa Azevedo26 Unidade 4 – Programação Linear – Solução Analítica Resolução Tabular: O Método Simplex In: PASSOS, E. J. P. F. Programação Linear como Instrumento da Pesquisa Operacional. São Paulo: Editora Atlas, 2008 - capítulo 4. Problemas de Programação Linear – Resolução Analítica In: LACHTERMACHER, G. Pesquisa Operacional na Tomada de Decisão. Rio de Janeiro: Editora Elsevier, 2007 - capítulo 2.2 - 2.4. REFERÊNCIAS BIBLIOGRÁFICAS Leitura obrigatória Leitura complementar