Programação Matemática Maristela Santos Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo Forma Padrão - Definição ç Características 9Problema da forma padrão: de minimização 9Todas as restrições são de igualdade 9Todas as variáveis são não não-negativas negativas 9 Considerar b ≥ 0. Partição ç básica • Seja Ax=b, Ax=b onde Amxn , bmx1 , xnx1 (m< n). n) • Se é possível reorganizar as colunas de A de tal modo A=[B,N] e que: • Bmxm é formada por m colunas linearmente independentes de A dada por: Onde B1, B2,,...,, Bm são os índices das colunas escolhidas da matriz A (índices básicos) Partição ç básica • Nmx (n-m) - formada pelas n-m colunas restantes de A. • N pode ser escrita como: Onde N1, N2,..., Nm são os índices das colunas da matriz A q que p pertencem a N ((índices não-básicos)) Esta reorganização é definida como partição básica Partição básica (partição das variáveis) • Consequentemente, a partição de A em [B N] cria i uma partição ti ã d das variáveis: iá i variáveis básicas variáveis não básicas Solução ç g geral do sistema • A última expressão de xB é conhecida como solução geral do sistema. Solução ç básica • Considere uma partição básica A=[B,N]. Uma solução é dita básica quando: ^ • Se xB≥0 então temos uma solução básica factível. Caso contrário, temos uma solução básica não-factível. que a solução ç básica factível é • Se xB>0 dizemos q não degenerada. Voltando ao exemplo Solução básica factível.. Voltando ao exemplo p • Vértice F: Solução básica não-factível.. Propriedades p Se um problema de otimização linear tem uma solução ç ótima,, então existe um vértice ótimo Considere a região factível S={x∈Rn tal que Ax=b, x≥0}. Um ponto x ∈ S é um vértice se e somente se x for uma solução básica factível. Método possível p • Enumerar todas as soluções básicas factíveis (vértices) x1, x2, ... xK • Escolher aquela com melhor função objetivo. • Problema: K pode ser muito grande! Simplex p Idéia: •Partir de uma solução básica factível •Visitar apenas as soluções básicas factíveis melhores que ela. Mét d Si Método Simplex l Simplex p Perguntas g • Dada uma solução básica factível (ou j , um vértice)) seja, • 1) Esta solução é ótima ? • 2)Caso não seja ótima, como encontrar uma ma sol solução ção básica factí factível el melhor ? Pergunta 1: A solução atual é ótima ? • Considere uma solução básica factível: • E a solução geral do sistema usando a es a partição pa t ção : mesma ⎡ xB ⎤ x=⎢ ⎥ ⎣ xN ⎦ Pergunta 1: A solução atual é ótima ? • A função objetivo pode ser expressa considerando a partição básica: ⎡ xB ⎤ x=⎢ ⎥ ⎣ xN ⎦ Pergunta 1: A solução atual é ótima ? valor da solução básica associada a esta partição: • Então Pergunta 1: A solução atual é ótima ? • Definição (vetor multiplicador simplex): O vetor λmx1, dado por: é chamado vetor multiplicador simplex (ou t bé vetor também, t de d variáveis iá i d duais). i ) O vetor multiplicador p simplex p p pode ser obtido por: λ T = cTB B −1 ( ) c B ⇔ BT λ = c B ⇔λ= B −1 T Retornando ... Pergunta 1: A solução atual é ótima ? Vamos expressar por coluna: Custos relativos Definição: Os coeficientes das variáveis não-básicas não básicas na função objetivo descrito acima são chamados custos relativos ou custos reduzidos. Exemplo p (Arenales ( et al,, 2.22)) • Considere o problema: reescrito na forma padrão: • Resolução gráfica: Intersecção ç das retas: x1 + x2 = 4 e x1 = 3 • x1 + x2 = 4 (variável de folga associada: x3) • x1 = 3 (variável de folga associada: x4) Logo, o vértice (solução básica) deve ser obtido com a partição: B = (1,2,5) , N = (3,4) • Atribuindo zero às variáveis não-básicas: x3=x4 = 0 Todos positivos: solução básica factível. • Vamos calcular os custos relativos: n-m variáveis nãonão-básicas B = (B1,B2,B3) = (1,2,5) , NB = (NB1,NB2) = (3,4) m variáveis básicas Vamos calcular os custos relativos Vamos calcular os custos relativos outra t maneira i de d calcular l l λT λ T = cTB B −1 ( ) c B ⇔ BT λ = c B ⇔λ= B −1 T Vamos calcular os custos relativos Condição ç de otimalidade Solução básica factível e custos relativos maiores que zero problema de minimização Solução ótima Resumo • Já vimos: – Soluções básicas estão associadas a vértices (pontos extremos) – Se há uma solução ótima, então há um ponto extremo t (solução ( l ã bá básica) i ) óti ótima. – Podemos definir os custos relativos de variáveis não básicas como: – Se, em um problema de minimização (maximização), para uma dada solução básica básica, todos os custos relativos são positivos (negativos), a solução é ótima. Perguntas g • 1) A solução atual é ótima ? Respondida p ((ver último item do slide anterior)) • 2)) Como C encontrar uma solução básica factível melhor ? A solução ç não é ótima • Existe ao menos uma variável não-básica para a q qual: xNk p (Ou a p propriedade op edade 2.3 3 esta estaria a ate atendida d da e a solução seria ótima). *problema de minimização Exemplo p Exemplo p (B = B-11 = I)) A solução ç não é ótima Estratégia g simplex p •Vamos perturbar a solução básica factível de modo a diminuir o valor da função objetivo . •Definição D fi i ã ((estratégia t té i simplex). i l ) Ch Chamamos d de estratégia t té i simplex a perturbação de uma solução básica factível que consiste em alterar as variáveis não básicas por: isto é é, escolhemos uma variável com custo relativo negativo e adicionamos uma pequena perturbação. Estratégia g simplex p A nova função objetivo vale: Resultado na função ç objetivo j Pergunta: a solução perturbada é factível ? Si se a perturbação Sim, t b ã é suficientemente fi i t t pequena e a solução l ã básica original é não degenerada. qual o maior ε ? Direção simplex e tamanho do passo • Mudando as variáveis não-básicas, obrigatoriamente temos que mudar as variáveis básicas: direção simplex! Direção simplex e tamanho do passo • As novas variáveis básicas (perturbadas) devem continuar não-negativas: • A rigor rigor, d = ((− y, y ek) é a direção simplex simplex, de modo que a nova solução é x = x^+εd, Direção simplex e tamanho do passo • Temos, Temos pois: Oq que acontece se... • Se no momento de calcular o passo máximo, todos os yi são negativos... ... significa que para qualquer valor de ε, a nova solução é factível factível. Como quanto maior ε, maior o decrescimento da função objetivo, a solução ótima será ilimitada! Exemplo p Considere o exemplo anterior: (obtida para xNi =0) Exemplo p A solução é ótima ? Não é ótima. (Por quê ?) Exemplo p A direção simplex indica a maneira como as variáveis básicas se modificam modificam, ao se aumentar uma dada variável nãonão-básica (no caso, N1=1) Exemplo p No caso geral: g • Ao resolvermos: determinamos a variável da base que vai se anular (sair da base). • Anteriormente, ao escolhermos uma variável não-básica com custo relativo negativo, escolhemos a variável não-básica que vai assumir valor positivo (entrar na base). No caso geral g • Partição anterior: escolhida para entrar (custo relativo negativo) escolhida para sair (primeira ao se an anular lar ao a aumentarmos mentarmos xNk) A nova solução ç • Pode-se mostrar que a nova matriz B é invertível. • Como os valores das variáveis da nova B são não-negativos, trata-se de uma solução factível. • Seu custo é: Graficamente,, no exemplo p * Índice da variável não-básica escolhida para entrar (N1 = 1) (escolhemos aquela com menor custo relativo) * Índice da variável básica escolhida para sair (B2 = 4) ((escolhemos aquela q q que p primeiro se anulava ao aumentarmos ε.)) Nova partição: B = (3,1,5) N=(4,2) Simplex p - Fase II Simplex p - Fase II Simplex p - fase II Introduzindo variáveis de folga, temos: temos: Fácil, pois os coeficientes das variáveis de folga formam uma matriz identidade. 26 Sep 2008 . 22:00 26 Sep 2008 . 22:00 Exercício: continue até obter a solução ótima