Programação Linear - Parte 2 - UFG

47
Matemática Industrial - RC/UFG Programação Linear - Parte 2 Prof. Thiago Alves de Queiroz 1/2016 Thiago Queiroz (IMTec) Parte 2 1/2016 1 / 47

Transcript of Programação Linear - Parte 2 - UFG

Page 1: Programação Linear - Parte 2 - UFG

Matemática Industrial - RC/UFG

Programação Linear - Parte 2

Prof. Thiago Alves de Queiroz

1/2016

Thiago Queiroz (IMTec) Parte 2 1/2016 1 / 47

Page 2: Programação Linear - Parte 2 - UFG

Hipóteses de Linearidade

Existem algumas hipóteses que as grandezas precisamobedecer;Aditividade: o todo é igual a soma das partes;Exemplo: a mistura de 1 kg de A (contendo 0,2 kg de j) somadoscom 1 kg de B (contendo 0,1 kg de j), resulta em 2 kg contendo0,3 kg de j;Proporcionalidade: a quantidade individual dos componentes éproporcional sua quantidade total;Exemplo: se aij expressa a quantidade do componente i em umaunidade de j, então aijxj expressa a quantidade de i em xjunidades de j;Fracionamento: valores fracionários para as variáveis sãoaceitáveis;

Thiago Queiroz (IMTec) Parte 2 1/2016 2 / 47

Page 3: Programação Linear - Parte 2 - UFG

Hipóteses de Linearidade

Exemplo: posso usar 1 kg de um ingrediente, bem como 0,25 kgdesse ingrediente.Porém, alguns problemas requerem o uso de variáveis inteiras,isto é, o arredondamento não é válido;Exemplo: variáveis que representam o número de máquinas ouveículos a serem comprados;Em outros casos, o arredondamento pode ser feito, como emvariáveis que representam o número de peças a produzir;Apesar destas hipóteses, modelos de otimização linear nãopossuem utilização limitada;Existem aplicações nas mais diversas áreas: alimentos,aeronáutica, civil, computação, florestal, produção, física, minas,naval, etc.

Thiago Queiroz (IMTec) Parte 2 1/2016 3 / 47

Page 4: Programação Linear - Parte 2 - UFG

Conceitos Básicos

Definição 1. A seguinte forma do problema de otimização échamada de forma padrão.

Minimizar z = c1x1 + c2x2 + . . .+ cnxn (i)

sujeito a :

a11x1 + a12x2 + . . .+ a1nxn = b1a21x1 + a22x2 + . . .+ a2nxn = b2... (ii)am1x1 + am2x2 + . . .+ amnxn = bmx1 ≥ 0, x2 ≥ 0, . . . , xn ≥ 0. (iii)

(1)

A função z em (1.i), a ser minimizada, representa a funçãoobjetivo;O sistema de equações lineares em (1.ii) representa as restriçõesdo problema;As condições de não-negatividade das variáveis estão em (1.iii).

Thiago Queiroz (IMTec) Parte 2 1/2016 4 / 47

Page 5: Programação Linear - Parte 2 - UFG

O problema (1) pode ser escrito em notação matricial;

Minimizar z = f (x) = cTx

sujeito a :

{Ax = bx ≥ 0.

(2)

Sendo:

A =

a11 a12 . . . a1na21 a22 . . . a2n

...am1 am2 . . . amn

m×n

a matriz dos coeficientes;

cT = (c1 c2 . . . cn) o vetor de custos;xT = (x1 x2 . . . xn) o vetor das variáveis ou incógnitas;bT = (b1 b2 . . . bm) o vetor dos termos independentes ou derecursos;0T = (0 0 . . . 0) o vetor nulo;

Thiago Queiroz (IMTec) Parte 2 1/2016 5 / 47

Page 6: Programação Linear - Parte 2 - UFG

Solução factível

Os desenvolvimentos que se seguem são para o problema naforma padrão;Definição 2. Uma solução (x1, x2, . . . , xn) é dita factível (ouviável) se satisfizer todas as restrições (1.ii) e as condições denão-negatividade (1.iii). O conjunto de todas as soluções factíveisé chamado de região factível.Exemplo. Para o problema abaixo:

Minimizar z = 2x1 − x2 + 4x3

sujeito a :

x1 + 2x2 + x3 = 3x2 + 2x3 = 4x1 ≥ 0, x2 ≥ 0, x3 ≥ 0.

(3)

a) Coloque-o na forma matricial. Diga quem é cada vetor/matriz;b) Verifique se (x1, x2, x3) = (1,0,2) é uma solução factível. Qualo valor da função objetivo?

Thiago Queiroz (IMTec) Parte 2 1/2016 6 / 47

Page 7: Programação Linear - Parte 2 - UFG

Resolução do Exemplo

a) As matrizes/vetores são:

A =[1 2 10 1 2

]2×3

a matriz dos coeficientes;

c = (2 − 1 4)T o vetor de custos;

x = (x1 x2 x3)T o vetor das variáveis;

b = (3 4)T o vetor dos termos independentes;

b) Sim é uma solução factível, pois satisfaz todas as restrições. Ovalor da função objetivo é: f (1,0,2) = 10.

Thiago Queiroz (IMTec) Parte 2 1/2016 7 / 47

Page 8: Programação Linear - Parte 2 - UFG

Solução Ótima

Definição 3. Uma solução factível que fornece o menor valor àfunção objetivo z é chamada solução ótima, denotada por(x∗1 , x

∗2 , . . . , x

∗n ). Uma solução factível é ótima se:

f (x∗1 , x∗2 , . . . , x

∗n ) ≤ f (x1, x2, . . . , xn) para qualquer solução factível

(x1, x2, . . . , xn);Exemplo. Para o problema abaixo:

Minimizar z = 2x1 − x2 + 4x3

sujeito a :

x1 + 2x2 + x3 = 3x2 + 2x3 = 4x1 ≥ 0, x2 ≥ 0, x3 ≥ 0.

(4)

a) Qual das duas soluções é melhor: (1,0,2) ou (0,25; 0,5; 1,75)?b) Existe alguma solução melhor que as do item (a)? Concluaobservando (0; 2

3 ;53).

Thiago Queiroz (IMTec) Parte 2 1/2016 8 / 47

Page 9: Programação Linear - Parte 2 - UFG

Resolução do Exemplo

a) Observe que f (1,0,2) = 10 e f (0,25;0,5;1,75) = 7;Logo (x1, x2, x3) = (0,25;0,5;1,75) é melhor para o problema;b)Note que f (0; 2

3 ;53) = 6, tem valor melhor que os valores da

função objetivo obtidos com as soluções do item (a);Logo, existe solução (ou soluções) melhor que as do item (a).

Thiago Queiroz (IMTec) Parte 2 1/2016 9 / 47

Page 10: Programação Linear - Parte 2 - UFG

Transformação de problemas

Existem outras formas de problemas de otimização linear, com:maximizar, restrições de desigualdade ou variáveis livres;Porém, existem maneiras de transformar o modelo para a formapadrão;Encontrar uma solução que maximize a função objetivo, ou seja,um x* tal que:f(x*) ≥ f(x), para toda solução x factível, equivale a:Multiplicar a desigualdade por -1, resultando em:-f(x*) ≤ -f(x), para toda solução x factível.Ou seja, equivale a encontrar uma solução x* que minimize -f(x*);Logo: maximizar f(x) é equivalente à minimizar -f(x).

Thiago Queiroz (IMTec) Parte 2 1/2016 10 / 47

Page 11: Programação Linear - Parte 2 - UFG

Restrições de desigualdade

As restrições poderiam aparecer na forma de inequações;Dada uma restrição: a1x1 + a2x2 + . . .+ anxn ≤ b, a quantidadeque falta para alcançar b é:xk = b − a1x1 + a2x2 + . . .+ anxn ≥ 0;Ou seja, a desigualdade a1x1 + a2x2 + . . .+ anxn ≤ b torna-se:a1x1 + a2x2 + . . .+ anxn + xk = b, com a adição da nova variávelxk ≥ 0;Dada uma restrição a1x1 + a2x2 + . . .+ anxn ≥ b, a quantidadeque excede o valor de b é:xk = a1x1 + a2x2 + . . .+ anxn − b ≥ 0;

Thiago Queiroz (IMTec) Parte 2 1/2016 11 / 47

Page 12: Programação Linear - Parte 2 - UFG

Restrições de desigualdade

Ou seja, a desigualdade a1x1 + a2x2 + . . .+ anxn ≥ b torna-se:a1x1 + a2x2 + . . .+ anxn − xk = b, com a adição da nova variávelxk ≥ 0;As variáveis adicionais são chamadas de variáveis de folga;No caso da desigualdade do tipo ≥, a variável introduzidatambém é chamada de variável de excesso;Tais deixam o problema com restrições de igualdade e mantêmas condições de não-negatividade;

Thiago Queiroz (IMTec) Parte 2 1/2016 12 / 47

Page 13: Programação Linear - Parte 2 - UFG

Variáveis livres

É uma variável irrestrita de sinal no problema, isto é, xi ∈ R;Pode ser substituída por outras duas variáveis não-negativas;Observe que qualquer número pode ser sempre escrito como adiferença de dois outros não-negativos. Para uma variável xi ,temos:xi = x+

i − x−i , com x+i ≥ 0 e x−i ≥ 0;

Então, basta substituir xi por x+i − x−i no problema;

Exemplo. Escreva o problema abaixo na forma padrão:

Maximizar z = 2x1 − 3x2 + 3x3

sujeito a :

x1 + 2x2 − x3 ≥ 3−2x1 + x2 + 2x3 ≤ −1x1 ∈ R, x2 ≥ 0, x3 ≥ 0.

(5)

Thiago Queiroz (IMTec) Parte 2 1/2016 13 / 47

Page 14: Programação Linear - Parte 2 - UFG

Resolução do Exemplo

Multiplicar a função objetivo por -1, para ser de minimização;Criar a variável de excesso x4 ≥ 0 para a primeira restrição;Criar a variável de folga x5 ≥ 0 para a segunda restrição;Redefinir a variável livre x1 como x1 = x+

1 − x−1 , criando as novasvariáveis x+

1 ≥ 0 e x−1 ≥ 0;Reescrever o problema com as novas definições/variáveiscriadas, resultando em:

Minimizar − z = −2(x+1 − x−

1 ) + 3x2 − 3x3

sujeito a :

(x+

1 − x−1 ) + 2x2 − x3 − x4 = 3

−2(x+1 − x−

1 ) + x2 + 2x3 + x5 = −1x+

1 ≥ 0, x−1 ≥ 0, x2 ≥ 0, x3 ≥ 0, x4 ≥ 0, x5 ≥ 0.

(6)

Thiago Queiroz (IMTec) Parte 2 1/2016 14 / 47

Page 15: Programação Linear - Parte 2 - UFG

Expressões na forma Padrão

Outras formas de escrever o problema padrão é:

Minimizar z =n∑

j=1

cjxj

sujeito a :

n∑

j=1

ajxj = b

xj ≥ 0, j = 1, . . . ,n.

(7)

Sendo:

aj =

a1ja2j...

amj

: j-ésima coluna da matriz A, que são os coeficientes

que multiplicam xj ;

Thiago Queiroz (IMTec) Parte 2 1/2016 15 / 47

Page 16: Programação Linear - Parte 2 - UFG

Resolução Gráfica

A representação gráfica permite intuir várias propriedades e obterum método de solução geral;Aplica-se a problemas de duas variáveis: a representaçãoacontece no plano cartesiano (x,y);Aplica-se a problemas de três variáveis: a representaçãoacontece no espaço (x,y,z);Desenha-se primeiro a região de todas as soluções factíveis;Em seguida, determina a solução que fornece o menor valor defunção objetivo (minimização);

Thiago Queiroz (IMTec) Parte 2 1/2016 16 / 47

Page 17: Programação Linear - Parte 2 - UFG

O Caso Geral

Para uma reta qualquer a1x1 + a2x2 = b, um vetor perpendicular aessa reta é aT = (a1,a2), ou seja, calculando o gradiente dafunção;O vetor gradiente de uma função é

∇f (x0, y0) = (∂f (x0, y0)

∂x;∂f (x0, y0)

∂y);

O vetor gradiente é perpendicular a função e indica a direção demaior crescimento da função;Para desenhar o vetor perpendicular, considere um ponto x′ sobrea reta como sendo o ponto inicial do vetor;O ponto final do vetor perpendicular é dado por x = x ′ + δa, paraδ > 0;O vetor desenhado desta forma aponta no sentido decrescimento, isto é, para a1x1 + a2x2 > b, pois δ > 0;

Thiago Queiroz (IMTec) Parte 2 1/2016 17 / 47

Page 18: Programação Linear - Parte 2 - UFG

O Caso Geral

A mesma definição se aplica no Rn, de forma que a equaçãoaTx = b define um hiperplano em que o vetor a é perpendicular;Para encontrar a solução ótima, seguimos o mesmo raciocínio;Pegamos inicialmente uma solução factível qualquer x’;Seja f (x′) = cTx′ = f ′ o valor da função objetivo em x’;Traçamos a curva de nível f (x) = f ′, desenhando o gradiente de f,isto é, o vetor c;O gradiente aponta para os pontos tais que f (x) > f ′;Então, seguimos o sentido do gradiente para Maximização e, osentido contrário para minimização, até chegar em uma curva denível limite;

Thiago Queiroz (IMTec) Parte 2 1/2016 18 / 47

Page 19: Programação Linear - Parte 2 - UFG

O Caso Geral

A solução ótima x* é uma solução factível chamada vértice ouponto extremo;Os vértices são determinados pela interseção de (pelo menos)duas retas que definem a fronteira de S;Veremos que se um problema tem uma solução ótima, entãoexiste um vértice ótimo;Exemplo. Determine a solução do problema de programaçãolinear:

Maximizar z = x1 + x2

sujeito a :

−3x1 + x2 ≤ 2x2 ≤ 3x1 + x2 ≤ 93x1 + x2 ≤ 18x1 ≥ 0, x2 ≥ 0.

(8)

Thiago Queiroz (IMTec) Parte 2 1/2016 19 / 47

Page 20: Programação Linear - Parte 2 - UFG

Resolução...

Desenhar a região factível S;Obter a solução ótima a partir das curvas de níveis e sentido decrescimento do vetor gradiente;

Figura: Determinando a solução ótima.

Thiago Queiroz (IMTec) Parte 2 1/2016 20 / 47

Page 21: Programação Linear - Parte 2 - UFG

Exemplo de Resolução Gráfica

Considere o seguinte problema de otimização linear:

Maximizar z = x1 + 2x2

sujeito a :

x1 + x2 ≤ 4x1 ≤ 2x2 ≤ 3x1 ≥ 0, x2 ≥ 0.

(9)

A região factível é dada por:S = {(x1, x2) tal que x1 + x2 ≤ 4, x1 ≤ 2, x2 ≤ 3, x1 ≥ 0, x2 ≥ 0};A região S é chamada de poliedro e consiste no conjunto depontos que satisfazem simultaneamente todas as restrições doproblema.

Thiago Queiroz (IMTec) Parte 2 1/2016 21 / 47

Page 22: Programação Linear - Parte 2 - UFG

Desenhando a Região S

Represente primeiro os pontos (a região) que satisfazem ascondições de não-negatividade;

Figura: Região para x1 ≥ 0, x2 ≥ 0.

Note que corresponde ao primeiro quadrando do planocartesiano;

Thiago Queiroz (IMTec) Parte 2 1/2016 22 / 47

Page 23: Programação Linear - Parte 2 - UFG

Desenhando a Região S

Represente os pontos que também satisfazem a primeirarestrição de desigualdade: x1 + x2 ≤ 4;Primeiro, identifique os pontos que satisfazem: x1 + x2 = 4;Em seguida, identifique os pontos que satisfazem x1 + x2 < 4;Para tanto, considere f (x1, x2) = x1 + x2 − 4 = 0 e calcule ogradiente ∇f (x1, x2) = (1,1);Ou seja, resulta no vetor perpendicular a função x1 + x2 = 4 quecresce na direção do vetor (1,1);

Thiago Queiroz (IMTec) Parte 2 1/2016 23 / 47

Page 24: Programação Linear - Parte 2 - UFG

Desenhando a Região SPortanto, os pontos do “lado” para o qual o vetor (1,1)T apontasão tais que: x1 + x2 > 4;Os pontos do lado oposto à aquele para o qual o vetor (1,1)T

aponta são tais que: x1 + x2 < 4;A reunião dos pontos que satisfazem x1 + x2 < 4 e x1 + x2 = 4 é oque se deseja;

Figura: Região para x1 + x2 ≤ 4, x1 ≥ 0, x2 ≥ 0.

Thiago Queiroz (IMTec) Parte 2 1/2016 24 / 47

Page 25: Programação Linear - Parte 2 - UFG

Desenhando a Região S

Repete-se o raciocínio para as restrições x1 ≤ 2 e x2 ≤ 3;A figura abaixo mostra a região para somente a restrição x1 ≤ 2;

Figura: Região para x1 ≤ 2.

Thiago Queiroz (IMTec) Parte 2 1/2016 25 / 47

Page 26: Programação Linear - Parte 2 - UFG

Desenhando a Região S

A figura abaixo mostra a região para somente a restrição x2 ≤ 3;

Figura: Região para x2 ≤ 3.

Thiago Queiroz (IMTec) Parte 2 1/2016 26 / 47

Page 27: Programação Linear - Parte 2 - UFG

Desenhando a Região S

A figura seguinte mostra a interseção de todas as regiõesrepresentadas nas figuras anteriores;

Figura: Região factível S.

A interseção de todas as regiões define a região factível S;

Thiago Queiroz (IMTec) Parte 2 1/2016 27 / 47

Page 28: Programação Linear - Parte 2 - UFG

Obtendo a Solução Ótima

A função objetivo f (x1, x2) = x1 + 2x2, sobre o conjunto S, podeassumir infinitos valores;Define-se o conjunto de pontos que atribui o mesmo valor àfunção objetivo de curva de nível;Ou seja, para o caso em exemplo, os pontos que fazemf (x1, x2) = f ′, para um f ′ qualquer;Precisamos considerar um f ′, por exemplo f ′ = 0, resultando em:f (x1, x2) = x1 + 2x2 = 0;Ou seja, em x1 + 2x2 = 0 com ∇f (x1, x2) = (1,2);Logo, desenhamos a curva de nível x1 + 2x2 = 0 e marcamos adireção de crescimento de acordo com o vetor gradiente;Se o problema for de maximizar, desenhamos curvas de nível nosentido de crescimento do gradiente até obter uma curva de nível“limite” (fronteira entre a região S é o lado externo);

Thiago Queiroz (IMTec) Parte 2 1/2016 28 / 47

Page 29: Programação Linear - Parte 2 - UFG

Obtendo a Solução ÓtimaPara o problema em questão, traçamos a curva de nívelx1 + 2x2 = 0 e observamos que podemos obter curvas de níveisque permitem melhorar o valor da função objetivo;Por exemplo, a curva x1 + 2x2 = 2. A curva x1 + 2x2 = 7 é a curvalimite;Logo, o ponto extremo (x1, x2) = (1,3) é a solução ótima x∗,resultando em f (x∗) = f (x1, x2) = 7;

Figura: Determinando a solução ótima.

Thiago Queiroz (IMTec) Parte 2 1/2016 29 / 47

Page 30: Programação Linear - Parte 2 - UFG

Outras Situações

Quando a região factível é limitada, então existe uma soluçãoótima;

Figura: Única solução ótima.

Thiago Queiroz (IMTec) Parte 2 1/2016 30 / 47

Page 31: Programação Linear - Parte 2 - UFG

Outras Situações

A região factível pode ser ilimitada, porém podemos ter uma únicasolução ótima;

Figura: Única solução ótima.

Thiago Queiroz (IMTec) Parte 2 1/2016 31 / 47

Page 32: Programação Linear - Parte 2 - UFG

Outras Situações

Podemos ter o caso com infinitas soluções ótimas, mas commesmo valor de função objetivo;

Figura: Infinitas soluções ótimas.

Thiago Queiroz (IMTec) Parte 2 1/2016 32 / 47

Page 33: Programação Linear - Parte 2 - UFG

Outras Situações

O problema pode não ter uma solução ótima, apesar de tersoluções factíveis. Neste caso, a solução é ilimitada;

Figura: Solução Ilimitada.

Thiago Queiroz (IMTec) Parte 2 1/2016 33 / 47

Page 34: Programação Linear - Parte 2 - UFG

Outras Situações

A inexistência de solução ótima pode ocorrer quando inexistesolução factível, isto é, as restrições são conflitantes, S = ∅;

Figura: Não existe região factível.

Thiago Queiroz (IMTec) Parte 2 1/2016 34 / 47

Page 35: Programação Linear - Parte 2 - UFG

Teoria Básica e o Método Simplex

Um dos métodos mais importantes da otimização linear é o ométodo simplex;A teoria é desenvolvida sobre o problema na forma padrão (7);Vejamos algumas propriedades considerando a região factível Sdefinida pelas restrições:

Otimizar z

sujeito a :

x1 + x2 ≤ 6x1 − x2 ≤ 43x1 + x2 ≥ 3x1 ≥ 0, x2 ≥ 0.

(10)

Adicionando variáveis de folga, tem-se o problema na formapadrão:

Thiago Queiroz (IMTec) Parte 2 1/2016 35 / 47

Page 36: Programação Linear - Parte 2 - UFG

Soluções Básicas

Otimizar z

sujeito a :

x1 + x2 + x3 = 6x1 − x2 + x4 = 43x1 + x2 − x5 = 3x1 ≥ 0, x2 ≥ 0.

(11)

O problema passa a ter cinco variáveis (x1, x2, x3, x4, x5);Note, porém, que qualquer ponto de S determina unicamenteessas cinco variáveis;Veja para os pontos (x1, x2) igual a A = (3, 2); B = (1,3); C = (2,4);D = (1, 5);Tais soluções são factíveis, pois satisfazem as restrições doproblema;Por outro lado, os pontos E=(4,5) e F=(6,0) não pertencem aregião factível;

Thiago Queiroz (IMTec) Parte 2 1/2016 36 / 47

Page 37: Programação Linear - Parte 2 - UFG

Soluções BásicasNote que a fronteira da região factível é o lugar em que pelomenos uma variável se anula;Quando uma restrição tem folga nula para alguma solução,dizemos que a restrição é ativa;No caso do ponto D=(5,1), em que x3 = 0 e x4 = 0, a restrição éativa. Em C=(2,4) também;

Figura: Região factível e os pontos A, B, C, D, E e F.Thiago Queiroz (IMTec) Parte 2 1/2016 37 / 47

Page 38: Programação Linear - Parte 2 - UFG

Soluções Básicas

Observa-se que podemos encontrar uma solução ótima entre osvértices da região factível S;Estas soluções são obtidas pela interseção de duas retas,significando que 2 variáveis (de folga) são nulas;Lembre-se do ponto D=(5,1), em que x3 = 0 e x4 = 0, e x1 = 5,x2 = 1 e x5 = 15;Isto mostra uma maneira de obter a solução do sistema Ax = b;Note que no exemplo há m = 3 equações e n = 5 variáveis,portanto 2 variáveis independentes;Por exemplo, fixando x3 = 0 e x4 = 0, obtemos um sistema m×m(3× 3) nas variáveis restantes;

Thiago Queiroz (IMTec) Parte 2 1/2016 38 / 47

Page 39: Programação Linear - Parte 2 - UFG

Soluções Básicas

Fixar duas variáveis em zero não garante que teremos umasolução factível;Veja F=(6,0), sendo x2 = 0 e x3 = 0, satisfaz Ax = b, porém nãosatisfaz às condições de não-negatividade;Conclusão. Podemos obter soluções fixando as variáveisindependentes e resolvendo o sistema restante m ×m de Ax = b;Vejamos como rearranjar o sistema agrupando as n −m variáveisindependentes, que devem ser fixas, e as m variáveisdependentes;Voltando ao exemplo em que x3 e x4 foram escolhidas como fixas.Então:

Ax = b⇔

x1 + x2 + x3x1 − x2 + x4

3x1 + x2 − x5

=

643

⇔ x1 + x2

x1 − x23x1 + x2 − x5

+

x3x40

=

643

Thiago Queiroz (IMTec) Parte 2 1/2016 39 / 47

Page 40: Programação Linear - Parte 2 - UFG

Soluções Básicas

Em notação matricial, BxB + NxN = b, ou seja:1 1 01 −1 03 1 −1

x1x2x5

+

1 00 10 0

[x3x4

]=

643

Denotando as colunas de A = [a1,a2,a3,a4,a5], em que ai é ai-ésima coluna de A, tem-se:

B =

1 1 01 −1 03 1 −1

= [a1 a2 a5] e

1 00 10 0

= [a3 a4]

No sistema Ax = b cada variável multiplica sua respectiva colunade A;Isto é, Ax = b é equivalente a a1x1 + a2x2 + . . .+ anxn = b;Reorganiza-se as variáveis em:

xB =

x1x2x5

e xN =[x3x4

]Thiago Queiroz (IMTec) Parte 2 1/2016 40 / 47

Page 41: Programação Linear - Parte 2 - UFG

Em Resumo

A ideia de reorganizar as colunas para encontrar uma solução éimportante no método simplex;Um modo de resolver o sistema Ax = b é fixando n −m variáveis,resultando em um sistema m ×m;Por outro lado, pode-se escolher m colunas da matriz A queformem uma matriz invertível e fixamos as demais variáveis;E para isto, (sem perda de generalidade), parte-se da hipótese deque posto(A) = m;Por esta hipótese, m ≤ n e o sistema Ax = b tem sempre(infinitas) soluções;O grau de liberdade é n −m, ou seja, tem n −m variáveissobrando;As variáveis sobrando devem ser fixadas para obter soluçãoúnica;

Thiago Queiroz (IMTec) Parte 2 1/2016 41 / 47

Page 42: Programação Linear - Parte 2 - UFG

Partição Básica

Definição 4. Observe uma reorganização nas colunas da matrizda seguinte forma: A = [B N], em que:

I Bm×m, chamada matriz básica, é formada por m colunas de A e éinvertível, dada por B = [aB1 aB2 . . . aBm ];

I Nm×(n−m), chamada matriz não-básica, é formada pelas n-mcolunas restantes de A, dada porN = [aN1 aN2 . . . aN(n−m)];

I Essa partição nas colunas de A é chamada partição básica;

Esta partição introduz uma partição no vetor x: x =[

xBxN

]em que:

xB =

xB1

xB2

...xBm

, chamado vetor de variáveis básicas;

xN =

xN1

xN2

...xN(n−m)

, chamado vetor de variáveis não-básicas.

Thiago Queiroz (IMTec) Parte 2 1/2016 42 / 47

Page 43: Programação Linear - Parte 2 - UFG

Partição Básica

Dada a partição básica, escrevemos o sistema Ax = bequivalentemente como:

Ax = b⇔ [B N][

xBxN

]= b.

Ou seja, BxB + NxN = b com solução geral:xB = B−1b − B−1NxN ;Através da solução geral podemos determinar qualquer soluçãodo sistema, atribuindo valores a xN e determinando as variáveisbásicas em xB;Observação: Ao introduzir o conceito de partição básica, asvariáveis ficam reorganizadas por x = (xB, xN);

Thiago Queiroz (IMTec) Parte 2 1/2016 43 / 47

Page 44: Programação Linear - Parte 2 - UFG

Solução Básica

Definição 5: Considere uma partição básica A = [B N] e aseguinte solução obtida ao se fixar as n −m variáveis de xN emzero, isto é:x̂B = B−1bx̂N = 0.A solução x̂ é chamada de solução básica;Se x̂B = B−1b ≥ 0, dizemos que x̂ é uma solução básica factível;Se x̂B = B−1b > 0, dizemos que a solução básica factível énão-degenerada;Exemplo. Veja no exemplo anterior que D=(5,1) é uma soluçãobásica factível, isto é: xB = (x1, x2, x5) = (5,1,13) exN = (x3, x4) = (0,0) atende a condição x̂B = B−1b ≥ 0 e x̂N = 0;Exemplo. Veja no exemplo anterior que F=(6,0) não é umasolução factível.

Thiago Queiroz (IMTec) Parte 2 1/2016 44 / 47

Page 45: Programação Linear - Parte 2 - UFG

Vértices

Propriedade 1: Considere uma região factívelS = {x ∈ Rn tal que Ax = b, x ≥ 0}. Um ponto x ∈ S é umvértice de S se e somente se x for uma solução básica factível;Como consequência existe um número finito de vértices, pois háum número finito de partições básicas, limitado porCn

m = n!m!(n−m)! ;

Note que, apesar de finito, o número de vértices pode ser muitogrande, principalmente em problemas práticos que envolvamcentenas ou milhares de decisões (n) e m << n;Propriedade 2: Se um problema de otimização linear temsolução ótima, então existe um vértice ótimo;Ou seja, se existe uma solução ótima, existe uma solução básicafactível ótima;

Thiago Queiroz (IMTec) Parte 2 1/2016 45 / 47

Page 46: Programação Linear - Parte 2 - UFG

Vértices

Uma consequência da Propriedade 2 é que basta procurar oótimo entre as soluções básicas factíveis;O método simplex inicia com uma solução básica factível;E, iterativamente, busca apenas por outras soluções básicasmelhores que a corrente.Um método menos eficiente consiste em:

I Determine todas as K soluções básicas factíveis (vértices de S):x1, x2, . . . , xk ;

I Determine a solução ótima xj tal que f(xj ) = mínimo{f (xk ), k = 1,2, . . . ,K}.

Exemplo. Qual o motivo do método acima ser “menos” eficienteque o simplex?Note que pode ocorrer K = Cn

m = n!m!(n−m)! .

Thiago Queiroz (IMTec) Parte 2 1/2016 46 / 47

Page 47: Programação Linear - Parte 2 - UFG

Exemplos

Para uma boa alimentação, o corpo necessita de vitaminas eproteínas. A necessidade mínima de vitaminas é de 32 unidadespor dia e a de proteínas de 36 unidades por dia. Uma pessoa temdisponível carne e ovos para se alimentar. Cada unidade decarne contém 4 unidades de vitaminas e 6 unidades de proteínas.Cada unidade de ovo contém 8 unidades de vitaminas e 6unidades de proteínas. Qual a quantidade diária de carne e ovosque deve ser consumida para suprir as necessidades devitaminas e proteínas com o menor custo possível? Cada unidadede carne custa 3 unidades monetárias e cada unidade de ovocusta 2,5 unidades monetárias.a) Obtenha o modelo de otimização linear para o problema acima;b) Obtenha todas as soluções básicas factíveis para o problemaacima;c) Determine a solução ótima, caso exista, do problema acima;

Thiago Queiroz (IMTec) Parte 2 1/2016 47 / 47