Solução Básica Factível e Método Simplex Introdução ao Método Simplex Fase I e Fase II.

Slides:



Advertisements
Apresentações semelhantes
Algoritmos de Caminho Mínimo em Grafos
Advertisements

Árvores CC/EC/Mestrado Teoria dos Grafos ‏ 1.
AULA 02 PROGRAMAÇÃO LINEAR INTEIRA
Fluxo em Redes Prof. Ricardo R. Santos.
Pesquisa Operacional Resolução através do Método Gráfico
Método Simplex Resolução Algébrica
Amintas engenharia.
Programação Linear e Seus Teoremas
INVESTIGAÇÃO OPERACIONAL
Teorema Fundamental da Programação Linear
Capítulo 3 - Aplicações das Derivadas
Prof. M.Sc. Fábio Francisco da Costa Fontes Outubro
Prof. M.Sc. Fábio Francisco da Costa Fontes Agosto
CÁLCULO DA INVERSA DA BASE
Problemas de Forma Não-padrão
CÁLCULO DA INVERSA DA BASE
Programação Linear Método Simplex
PARTIÇÃO DE BENDERS Secundino Soares Filho Unicamp.
Transporte em Tempo Mínimo
Método SIMPLEX Marcone Jamilson Freitas Souza
Identificando Linguagens Não Regulares
SISTEMAS LINEARES Métodos Diretos: Método de Eliminação de Gauss
EQUAÇÕES POLINOMIAIS Prof. Marlon.
Sincronização de Processos (2)
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,
3 - Equações Lineares de Segunda Ordem
UNIVERSIDADE FEDERAL DE UBERLÂNDIA FACULDADE DE MATEMÁTICA
Programação Linear Universidade Federal de Itajubá – UNIFEI
Otimização por Colônia de Formigas (ACO)
PROGRAMAÇÃO INTEIRA 27 de maio de 2014.
UNIVERSIDADE FEDERAL DE UBERLÂNDIA FACULDADE DE MATEMÁTICA
Otimização Inteira 5a. Aula Franklina.
Cálculo Numérico / Métodos Numéricos
Resolução de sistemas lineares Métodos Numéricos para Engenharia I
Informática Teórica Engenharia da Computação
Pesquisa Operacional: Método Simplex – Duas Fases
Sistema de equações lineares
Campus de Caraguatatuba Aula 12: Sistemas de Equações Lineares (2)
PROGRAMAÇÃO MATEMÁTICA MÉTODO SIMPLEX
Otimização Linear Definições e Solução Gráfica
Cálculo da Direção de Caminhada: Gradiente de f(x)
Programação Linear Universidade Federal de Itajubá – UNIFEI
Método Simplex Tópicos em Otimização
Otimização Numérica de Processos
Lugar Geométrico das Raízes
Inteligência Artificial
EDO’s de 2ª ordem lineares não homogêneas Método dos coeficientes a determinar Cálculo 2 A – Turma H
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,
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,
Campus de Caraguatatuba Aula 16: Sistemas de Equações Lineares (4)
Métodos de Resolução Solução Analítica Solução Numérica
PROGRAMAÇÃO LINEAR 17 DE SETEMBRO DE Definição 2. Aplicações 3. Problema Ilustrativo 3.1 Enunciado 3.2 Dados Físicos e Econômicos 3.3 Modelo.
Problemas de Forma Não-Padrão
Geometria Computacional Fecho Convexo
Campus de Caraguatatuba Aula 18: Sistemas de Equações Lineares (6)
Métodos de Otimização CIV 7031
Análise e Síntese de Algoritmos
Prof. Geraldo Nunes Silva
FEAMIG – Faculdade de Engenharia de Minas Gerais
Prof. Disney Douglas Sistemas de Equações Lineares e Operações Elementares.
Algoritmo de Transportes Objecto de Aprendizagem Manuel Pina MarquesDEIG
UNIDADE 2 – ZEROS DAS FUNÇÕES REAIS
              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.
Professor: Cezar Augusto Pereira dos Santos
Sistemas de Controle III N8SC3
PROFESSOR: CÉZAR AUGUSTO PEREIRA DOS SANTOS 1.
SIMPLEX Para o problema canônico: Max sujeito a Ax=b e x≥0.
O Método Simplex Prof. Gustavo Peixoto Silva Departamento de Computação Univ. Federal de Ouro Preto.
Transcrição da apresentação:

Solução Básica Factível e Método Simplex Introdução ao Método Simplex Fase I e Fase II

Fundamentação teórica Teorema 1 :O conjunto C das soluções viáveis de um modelo de programação linear é um conjunto convexo. Prova : Seja C o conjunto formado pelos pontos x tais que: A x = b x Se C é convexo então a combinação linear convexa de dois pontos distintos x1, x2 pertencentes a C, também pertence a C. Isto é equivalente a dizer que: {x1, x2} C => x = x1 + (1- x C com 0 1 Sejam duas soluções viáveis de C, x1, x2, tais que x1 x2, então: Ax1 = b, Ax2 = b com x1 x2

Fundamentação teórica E seja x = x1 + (1- x 0 1 Então Ax = A [ x1 + (1- x ] = x1 + (1- x2 = b + (1- b = b Observe que x uma vez que x1, x2 e 0 1 garante x = x1 + (1- x

Teorema 2: Toda solução básica viável do sistema Ax = b é um ponto extremo do conjunto de soluções viáveis, ou seja, um extremo do conjunto C. Prova: Fundamentação teórica

Seja I = {1,2,...,m} uma base x 1 x 2... x m x = 0 Solução Básica Factível

Por absurdo, vamos supor que x não é um ponto extremo de S. Então, existe u S e v S, u v tal que x possa ser representado como combinação convexa de u e v : x = u + (1- )v, 0 < < 1 ou x 1 x 2... x m u 1 u 2... u m u m+1... u n = v 1 v 2... v m v m+1... v n + (1- ) como u 0 e v 0 e 0 < < 1 u i = v i = 0, i I e pela unicidade da solução básica, x = u = v x é ponto extremo de S Fundamentação teórica

Teorema 3: Todo ponto extremo x de um conjunto de soluções viáveis de um sistema Ax=b é uma solução viável. Corolário 1 : O conjunto de pontos extremos de um conjunto de soluções viáveis é finito e limitado em Cm,n. Corolário 2 : Se existe uma solução viável, então existe uma solução básica viável. Fundamentação teórica

Teorema 4: 1. Se uma função objetivo possui um máximo ou mínimo finito, então pelo menos uma solução ótima é um ponto extremo do conjunto convexo C do Teorema Se a função objetivo assume o máximo ou o mínimo em mais de um ponto extremo, então ela toma o mesmo valor de qualquer combinação desses pontos. Prova: Fundamentação teórica

Na demonstração do Teorema 4 vamos utilizar, sem prova, a seguinte afirmação: Em um PL na forma padrão, com bases viáveis v1, v2,..., vk, qualquer ponto x da região viável deste PL pode ser escrito na forma x = d + no qual d é 0 ou uma direção sem limites e =1 e. Fundamentação teórica

Seja x um solução ótima para o PL. Dado que x é viável, x pode ser escrito na forma, na qual d é 0 ou uma direção sem limites e v1, v2,..., vk são bases viáveis do PL. Também, e. Se cd > 0, então para qualquer k > 0, kd + zzzz é viável, e como k cresce indefinidamente a função objetivo tende ao infinito. Isto contradiz o fato que o PL tem uma solução ótima limitada. Se cd < 0, então o ponto viável tem um valor de função objetivo maior que x. Isto contradiz a otimalidade de x. Em resumo, se x é óitmo entao cd = 0. Neste caso o valor da função objetivo para x é dado por Suponha que v1 é a solução viável com maior valor de função objetivo. Dado que e decorre cv1 cx. No entanto, uma vez que x é ótimo, implica que v1 também é ótimo, Fundamentação teórica

Solução Básica Factível é ponto extremo de S Max Z = x 1 + x 2 s.a. 2x 1 + x 2 + x 3 = 8 x 1 + 2x 2 + x 4 = 7 x 2 + x 5 = 3 x 1, x 2, x 3, x 4, x 5 0 I A ={3,4,5}x 3 =8, x 4 =7,x 5 =3 SBFactível J Á ={1,2} x 1 = x 2 = 0 Ponto Extremo A I B ={1,4,5}x 1 =4, x 4 =3,x 5 =3 SBFactível J B ={2,3} x 2 = x 3 = 0 Ponto Extremo B I C ={1,2,5}x 1 =3, x 2 =2,x 5 =1 SBFactível J C ={3,4} x 1 = x 2 = 0 Ponto Extremo C I D ={1,2 3}x 1 =3, x 2 =2,x 3 =1 SBFactível J D ={4,5} x 4 = x 5 = 0 Ponto Extremo D I E ={4,2,3}x 4 =1, x 2 =3,x 3 =5 SBFactível J E ={1,5} x 1 = x 5 = 0 Ponto Extremo E I F ={5,2,3}x 5 =1/2, x 2 =7/2,x 3 =9/2 SBInfactível J F ={1,4} x 1 = x 4 = 0 Ponto Extremo F X1X1 X2X2 4 3 A B C D EFG X 5 =0 X 3 =0 X 4 =0 I H Existem 9 soluções básicas: 5 Soluções Básicas Factíveis (Pontos Extremos) 4 Infactíveis

Método Simplista para Resolver um PL 1) Listar todas as soluções básicas factíveis do PL 2) Avaliar a função objetivo sobre elas e escolher a de maior valor Desvantagens do Método Exaustivo: i) pode ser muito grande ii) solução ilimitada iii) PL inconsistente Método mais inteligente SIMPLEX

Forma Preparada de um PL Seja o PL (MAX) Z = c x s.a.A x = b x 0 A(m n), n >= m e, por hipótese, o sistema A x = b é: - não degenerado - não redundante - não inconsistente Seja uma base factível qualquer I, a forma padrão pode ser escrita: c I x I + c J x J = Z (MAX) s.a.A I x I + A J x J = b x I, x J 0 cIcI cJcJ mn AIAI AJAJ xIxI xJxJ m n = Z b

Pré-multiplicando a forma padrão por (A I ) -1, tem-se: (A I ) -1 (A I x I + A J x J = b) x I = (A I ) -1 b - (A I ) -1 A J x J e substituindo-se na função objetivo: c I [(A I ) -1 b - (A I ) -1 A J x J ] + c J x J = Z (MAX) c I (A I ) -1 b + [c J - c I (A I ) -1 A J ]x J = Z (MAX) Definindo: = c I (A I ) -1 (vetor multiplicador) e Z o = b (f.o.) chega-se a um segundo tipo de forma padrão: c J - A J (A I ) -1 A J xIxI xJxJ = Z - Z o (A I ) -1 b 0 x I + [c J - A J ] x J = Z (MAX) - Z o 1 s.a.1 x I + (A I ) -1 A J x J = (A I ) -1 b x I, x J 0

Forma Preparada de um PL x I variáveis básicas x J variáveis não básicas  J = (A I ) -1 A J b = (A I ) -1 b Ĉ = [ 0, c J - A J ] (vetor de custo relativo a base I) = c I (A I ) -1 (vetor multiplicador relativo a base I) Ĉ x J = Z (MAX) - Z o 1 s.a.1 x I +  J x J = b x I, x J 0 Fazendo x J = 0, x I = (A I ) -1 b 0 solução básica factível Z = Z o (valor da função objetivo para esta solução básica) ^ ^

Procedimento do Método SIMPLEX Passar de solução básica factível a outra, tentando melhorar a função objetivo 1) Escolher uma variável não básica que melhore a função objetivo c j - A j > 0 e colocá-la na base 2) Escolher uma variável básica para sair da base de modo a manter a factibilidade. A questão é como escolher a primeira solução básica factível?

Exemplo x 1 + x 2 = Z (MAX) s.a. 2x 1 + x 2 + x 3 = 8 x 1 + 2x 2 + x 4 = 7 x 2 + x 5 = 3 x 1, x 2, x 3, x 4, x 5 0 Seja a base I = {3,4,5} resultando na solução básica factível x 1 = x 2 = 0, x 3 = 8, x 4 = 7, x 5 = 3 O PL já está na FORMA PREPARADA relativa a base I, portanto, x 1, x 2 são candidatos a entrar na base, pois seus coeficientes são positivos e aumentam Z. Escolho x 2 para aumentar (entrar na base) e conservo x 1 em nível zero (na base), então para manter a factibilidade tenho: x 3 = 8 - x 2 x 2 8 x 4 = 7 - x 2 x 2 7 x 5 = 3 - x 2 x 2 3 (Linha de Bloqueio)

Exemplo CONCLUSÃO: x 2 entrar na base (assume um valor positivo) x 5 sai da base (assume valor zero) I = {3,4,5} I = {3,4,2} Para colocar o PL na forma preparada em relação a base I basta executar a operação de pivoteamento em torno de A 2 3 min b/A j

Exemplo Nova Solução Básica Factível Agora somente x 1 faz crescer Z, portanto faz-se x 1 crescer (entrar na base) e mantém-se x 5 em nível zero (fora da base) para manter a factibilidade tem-se: x 3 = 5 - 2x 1 x 1 5/2 x 4 = 1 - x 1 x 1 1 (Linha de Bloqueio) x 2 = 3 x 1 irrestrito

Exemplo CONCLUSÃO: x 1 entrar na base x 4 sai da base I = {3,4,2} I = {3,1,2} Para colocar o PL na forma preparada em relação a base I basta executar a operação de pivoteamento em torno de  2 1 nova solução básica factível

Exemplo x 5 ainda faz crescer Z e x 3 bloqueia o seu crescimento, portanto: CONCLUSÃO: x 5 entrar na base x 3 sai da base I = {3,1,2} I = {5,1,2} Solução Básica ÓTIMA Todos os coeficientes da função objetivo são não positivos, portanto Z não pode mais aumentar

Observações a respeito do exemplo: SOLUÇÃO ILIMITADA Ĉ 0 e toda coluna A J 0 SOLUÇÃO MÚLTIPLA algum Ĉ não básico = 0 Interpretação Geométrica do SIMPLEX: - caminha de ponto extremo em ponto extremo adjacente através da aresta que os liga no sentido de fazer Z crescer no caso apresentado o algoritmo fez o seguinte percurso: A E D C X1X1 X2X2 4 3 A B C D EFG X 5 =0 X 3 =0 X 4 =0 I H

Algoritmo SIMPLEX (resumido) Supondo CONSISTÊNCIA, NÃO-REDUNDÂNCIA e conhecida uma BASE FACTÍVEL INICIAL 1) Verificar se a base factível atual é ÓTIMA. Se for, PARE. Caso contrário vá para 2 2) Determinar a variável não-básica a entrar na base. 3) Determinar a variável básica a sair da base. 4) Achar a nova solução básica factível (por pivoteamento) e voltar a 1.

Algoritmo SIMPLEX Supondo CONSISTÊNCIA, NÃO-REDUNDÂNCIA e conhecida uma BASE FACTÍVEL INICIAL I 0) Coloque o problema na forma padrão relativa a base I. 1) Determine Ĉ s = Max Ĉ j, para j I (isto é sugestão, o algoritmo funciona com qualquer Ĉ j > 0, para j I) 1.1) Se Ĉ s 0, PARE. A solução básica correspondente a base I é ótima. 1.2) Se Ĉ s > 0, vá para 2. 2) Examine o vetor  s 2.1) Se  s 0 (isto é, todos os seus componentes são não positivos), PARE. O PL tem solução ilimitada. 2.2) Se {i /  s > 0} 0 a) Determine r / ^b/ i s = Min {^b/ i s } para {i /  i s > 0} b) Identifique  r s como elemento pivô. Defina a nova base I trocando s por r. c) Pivoteie em torne de  r s volte a 1

Convergência do Método SIMPLEX Numa iteração do SIMPLEX, quando se passa de uma solução básica factível à outra, a função objetivo cresce de: Z = Ĉ s ^b r /  r s ĈsĈs Z - Z o coluna s ÂrsÂrs linha r ^b r Como por hipótese: Ĉ s > 0 (se Ĉ s 0 solução ótima) ^b r > 0 (não degenerescência)  r s > 0 (se Ĉ s > 0 e  s 0) solução ilimitada Conclui-se que Z > 0

Situações Especiais no Método SIMPLEX Se a função objetivo cresce estritamente, a cada iteração e o número de soluções básicas factíveis é finito, então o método SIMPLEX converge (para uma solução ótima finita ou ilimitada) em um número finito de passos. 1) Problemas de Minimização Min f(x) = - (Max - f(x)) 2) Empate no critério de entrada da variável na base (resolve-se arbitrariamente) 3) Empate no critério de saída da variável na base (resolve-se arbitrariamente) SOLUÇÃO DEGENERADA 4) CICLAGEM Se um PL tem soluções básicas factíveis degeneradas, o método SIMPLEX pode ficar indefinidamente se movendo sobre elas (ciclando). - é muito raro - existem regras que evitam a ciclagem (método lexicográfico)

Obtenção de uma Solução Básica Inicial Factível Faz-se uso de Variáveis Artificiais: -x 1 + 2x 2 = Z (MAX) s.a. x 1 + x 2 2 -x 1 + x 2 1 x 2 3 x 1, x 2 0 Na forma padrão: -x 1 + 2x 2 = Z (MAX) s.a. x 1 + x 2 - x 3 = 2 -x 1 + x 2 - x 4 = 1 x 2 + x 5 = 3 x 1, x 2, x 3, x 4, x 5 0

Não havendo solução factível óbvia: usa-se Variáveis Artificiais: x a Neste caso necessito de duas variáveis artificiais: x 6 e x 7 As restrições ficam: s.a. x 1 + x 2 - x 3 + x 6 = 2 -x 1 + x 2 - x 4 + x 7 = 1 x 2 + x 5 = 3 x 1, x 2, x 3, x 4, x 5, x 6, x 7 0 I = {6,7,5} é uma base factível, portanto, SOLUÇÃO DE PARTIDA PARA O MÉTODO SIMPLEX Cuidado: restrições originais acrescidas das v.a. condição de equivalência Obtenção de uma Solução Básica Inicial Factível

Método das Duas Fases É um procedimento que busca zerar as Variáveis Artificiais: x a FASE I: 1 1x a = (Min) s.a. A x + x a = b x, x a 0 Resolver um problema artificial pelo SIMPLEX. Se o valor ótimo deste problema for = 0 (isto é, x a = 0) então a solução ótima correspondente é uma solução básica factível inicial do problema original. OBS.: 1) Se o valor ótimo de é positivo (x a 0) o problema original não tem solução factível. 2) A solução do problema acima pode ter x a = 0, mas possuir alguma variável artificial na base com valor zero (solução degenerada) FASE II: De posse da solução básica factível achada na Fase I, aplica-se o método SIMPLEX no problema original.

Exemplo do Método das Duas Fases x 6 + x 7 = (Min) s.a. x 1 + x 2 - x 3 + x 6 = 2 -x 1 + x 2 - x 4 + x 7 = 1 x 2 + x 5 = 3 x 1, x 2, x 3, x 4, x 5, x 6, x 7 0 Base Factível óbvia I = {6,7,5}, então coloca-se o PL na forma preparada em relação a base I - 2x 2 + x 3 + x 4 = - 3 (Min) s.a. x 1 + x 2 - x 3 + x 6 = 2 -x 1 + x 2 - x 4 + x 7 = 1 x 2 + x 5 = 3 x 1, x 2, x 3, x 4, x 5, x 6, x 7 0 Obs.: Agora basta zerar os coeficientes das variáveis artificiais na função objetivo.

Exemplo do Método das Duas Fases Colocando em forma de quadro e aplicando o simplex tem-se: I = {6,7,5} I = {6,2,5} I = {1,2,5} Fim da Fase I = 0 e x 6 e x 7 = 0

Exemplo do Método das Duas Fases - FASE II Substituindo no quadro a função objetivo artificial pela função objetivo original e abandonando as variáveis artificiais tem-se: I = {1,2,5} Colocando o PL na forma preparada relativa a base I = {1,2,5} tem-se: Agora o problema real é de Maximização I = {1,2,5}

Exemplo do Método das Duas Fases - FASE II I = {4,2,5} I = {4,2,3} Solução Ótima x 1 = x 5 = 0 x 4 = 2, x 2 = 3, x 3 = 1

Interpretação Geométrica da Solução do Método SIMPLEX - Fase I e Fase II Solução Ótima x 1 = x 5 = 0 x 4 = 2, x 2 = 3, x 3 = 1 x2x2 x1x1 X 3 = 0 X 5 = 0 X 1 = 0 X 2 = 0 X 4 = 0 C Iterações da Fase I Iterações da Fase II

Método SIMPLEX - Fase I e Fase II Observações Finais 1) Ao final da Fase I ainda há variáveis artificiais na base em nível zero. Tentar substituir (por pivoteamento) as variáveis básicas artificiais pelas não-básicas legítimas. - Se for possível, então Base Legítima Factível (vai para Fase II) - caso contrário, então redundância 2) A função objetivo original pode ser acrescentada ao quadro da Fase I e sofrer os pivoteamentos, então pode-se iniciar automaticamente a Fase II 3) Outros métodos para encontrar uma base factível inicial - Método do M-Grande (Big-M) - Método da Variável Artificial Única