18.05.2013 Views

2- NOÇÕES DE CONVEXIDADE E FORMULAÇÃO MATEMÁTICA ...

2- NOÇÕES DE CONVEXIDADE E FORMULAÇÃO MATEMÁTICA ...

2- NOÇÕES DE CONVEXIDADE E FORMULAÇÃO MATEMÁTICA ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

2- <strong>NOÇÕES</strong> <strong>DE</strong> CONVEXIDA<strong>DE</strong> E <strong>FORMULAÇÃO</strong> <strong>MATEMÁTICA</strong> <strong>DE</strong><br />

PROBLEMAS <strong>DE</strong> PROGRAMAÇÃO LINEAR<br />

2.1 – Noções de Convexidade<br />

2.1.1 - Combinação Convexa de pontos<br />

Considere C um conjunto contendo os pontos x 1 e x 2 e α ∈ [0,1]. Diz-se que o<br />

ponto b = αx 1 + (1 -α)x 2 é o resultado de uma combinação convexa de x 1 e x 2 . Além<br />

disso, se fizer-se α + (1- α) terá como resultado o número 1. Pode-se estender esta<br />

definição para um conjunto de pontos:,<br />

Diz que o ponto<br />

x 1 , x 2 ,...,x n . Então,<br />

α1 + α2 + ........ + αn = α i<br />

Teorema 2.1.1:<br />

b x x nx i n<br />

n<br />

= α1 + α + + α<br />

αi<br />

≥ =<br />

1<br />

2 2<br />

....<br />

é uma combinação convexa dos pontos<br />

0 ( 1, 2,...,<br />

)<br />

n<br />

i=<br />

1<br />

= 1<br />

Sejam os pontos u 1 e u 2 , pertencentes ao ℜ n , e u 3 um ponto qualquer entre u 1 e u 2 .<br />

Para algum 0 ≤ α ≤ 1 tem-se:<br />

α ( u 1 - u 2 ) = u 3 - u 2 .<br />

u 3 =α u 1 + (1-α ) u 2 (1).<br />

Como cada coeficiente de (1) é maior ou igual a 0, e a soma deles é igual a 1,<br />

então u 3 é uma combinação convexa de u 1 e u 2 .<br />

2.1.2- Conjuntos Convexos<br />

Um subconjunto C∈ R n é chamado convexo, se e somente se, para quaisquer<br />

pontos u 1 e u 2 pertencentes a C qualquer combinação convexa<br />

b = α 1 u 1 +α 2 u 2<br />

também pertencer a C. Em outras palavras, se C é convexo, então<br />

1<br />

u ∈C<br />

2<br />

u ∈C<br />

1 2<br />

αu + ( 1 − α)<br />

u ∈C<br />

(0 ≤ α ≤ 1).<br />

Portanto, um conjunto C é considerado convexo se todos os pontos do segmento<br />

de uma reta que une dois pontos de C também pertencem a C.<br />

18


2.1.3- Ponto Extremo (ou Vértice)<br />

Seja C um conjunto convexo. Diz-se que u∈ C é um ponto extremo de C se<br />

não for possível expressá-lo como uma combinação convexa de quaisquer outros dois<br />

pontos distintos pertencentes ao conjunto C.<br />

2.1.4- Intersecção de Conjuntos Convexos<br />

Sejam A e B dois conjuntos convexos. Seja S o conjunto intersecção, ou seja,<br />

S = A ∩ B. Se dois pontos p e q pertencem a S, então o segmento pq pertence a S.<br />

Portanto, todos os pontos pertencentes a S satisfazem a condição de<br />

convexidade. É imediato concluir que a intersecção de um número finito de conjuntos<br />

convexos é um conjunto convexo.<br />

2.2 – Formulação Matemática de P.P.L’S em R 2<br />

A formulação matemática para os Problemas de Programação Linear é uma<br />

idealização da realidade, pois emprega símbolos matemáticos para representar as<br />

variáveis do sistema real. Essas variáveis são relacionadas por equações lineares que<br />

expressam as restrições do problema através de sistemas lineares e da função<br />

matemática a ser otimizada, que também é linear.<br />

A solução consiste em encontrar valores adequados das variáveis de decisão que<br />

otimizem o desenvolvimento do sistema, segundo o critério desejado (maximizar ou<br />

minimizar).<br />

A formulação matemática consiste em:<br />

i) Identificar as variáveis de decisão e determinar a grandeza a ser otimizada,<br />

expressando-a como uma função matemática (função objetivo).<br />

ii) Identificar todas as exigências, restrições e limitações estipuladas, expressando-as<br />

matematicamente (restrições).<br />

iii) Expressar todas as condições implícitas. Tais condições não são estipuladas<br />

explicitamente no problema relativo à situação física sendo assim, modeladas.<br />

Exemplo 2.1:<br />

Uma pessoa em dieta necessita ingerir pelo menos:<br />

- 20 unidades de vitamina A; ( Vitamina A ≥ 20)<br />

19


- 10 unidades de vitamina B; ( Vitamina B ≥ 10)<br />

- 2 unidades de vitamina C. ( Vitamina C ≥ 2)<br />

Ela deve conseguir estas vitaminas a partir de dois tipos diferentes de alimentos<br />

A1 e A2. A quantidade de vitaminas que esses produtos contém por unidade e o preço de<br />

cada um estão na tabela:<br />

Vitamina A Vitamina B Vitamina C Preço Unitário<br />

Alimento A1 4 1 1 30 u.m.<br />

Alimento A2 1 2 0 20 u.m.<br />

Qual a programação de compras dos alimentos A1 e A2 que essa pessoa deve<br />

fazer para cumprir sua dieta a menor custo possível?<br />

Resolução:<br />

Variáveis de decisão:<br />

x1: quantidade de alimento A1 a ser comprado.<br />

x2: quantidade de alimento A2 a ser comprado.<br />

Função objetivo:<br />

z = 30x1 + 20x2<br />

Conjunto de restrições:<br />

Problema:<br />

4x1 + x2 ≥ 20<br />

x1 + 2x2 ≥ 10<br />

x1 ≥ 2<br />

x2 ≥ 0<br />

min z = 30x1 + 20x2<br />

s.a 4x1 + x2 ≥ 20<br />

Exemplo 2.2:<br />

x1 + 2x2 ≥ 10<br />

x1 ≥ 2<br />

x2 ≥ 0 .<br />

Um fabricante de artigos de plásticos possui um estoque de 1200 caixas de<br />

envôlucos transparentes em uma de suas fábricas e outras 1000 caixas em uma segunda<br />

20


fábrica. O fabricante recebeu pedidos deste produto provenientes de três diferentes<br />

varejistas nas quantidades de 1000, 700 e 500 caixas respectivamente. Os custos<br />

unitários de expedição desde as fábricas até os varejistas são os seguintes:<br />

Varejista 1 Varejista 2 Varejista 3<br />

Fábrica 1 14 13 11<br />

Fábrica 2 13 13 12<br />

Determine o programa de expedição que atenda todas as demandas a partir do<br />

estoque disponível a um custo mínimo.<br />

Resolução:<br />

Variáveis de decisão:<br />

xij : número de caixas a serem expedidas da fábrica i para o varejista j.<br />

i = 1, 2 , j = 1, 2, 3.<br />

Função objetivo:<br />

z = 14 x11 + 13 x12 + 11 x13 + 13 x21 + 13 x22 + 12 x23<br />

Conjunto de restrições:<br />

Problema:<br />

x11 + x12 + x13 = 1200<br />

x21 + x22 + x23 = 1000<br />

x11 + x21 = 1000<br />

x12 + x22 = 700<br />

x13 + x23 = 500<br />

xij ≥ 0 , i = 1, 2 ; j = 1,2,3.<br />

min z = 14 x11 + 13 x12 + 11 x13 + 13 x21 + 13 x22 + 12 x23<br />

s.a. x11 + x12 + x13 = 1200<br />

21<br />

x21 + x22 + x23 = 1000<br />

x11 + x21 = 1000<br />

xij ≥ 0 , i = 1, 2 ; j = 1,2,3.<br />

x12 + x22 = 700<br />

x13 + x23 = 500


Exemplo 2.3:<br />

Uma pequena indústria produz artigos A1 e A2 que são vendidos a 200 u.m. e<br />

300 u.m., respectivamente. Na sua produção são utilizados três tipos de matérias-<br />

primas, P1, P2 e P3, que são gastas da seguinte forma:<br />

- 2 unidades de P1 para fabricar 1 unidade de A1;<br />

- 4 unidades de P2 para fabricar 1 unidade de A1;<br />

- 1 unidade de P1 para fabricar 1 unidade de A2;<br />

- 1 unidade de P3 para fabricar 1 unidade de A2.<br />

Por razões econômicas, as matérias-primas P1, P2 e P3, estão disponíveis no<br />

máximo em 20, 32 e 10 unidades, respectivamente.<br />

O dono da empresa deseja saber as quantidades dos produtos A1 e A2 que devem<br />

ser produzidos para que a receita bruta seja a menor possível.<br />

Resolução:<br />

Variáveis de decisão:<br />

x1: quantidade do produto A1 a ser produzida;<br />

x2: quantidade do produto A2 a ser produzida.<br />

Função objetivo:<br />

z = 200 x1 + 300 x2<br />

Conjunto de restrições:<br />

Problema:<br />

2 x1 + x2 ≤ 20<br />

4 x1 ≤ 32<br />

x2 ≤ 10<br />

x1 , x2 ≥ 0<br />

min z = 200 x1 + 300 x2<br />

2 x1 + x2 ≤ 20<br />

4 x1 ≤ 32<br />

x2 ≤ 10<br />

x1 , x2 ≥ 0.<br />

22


2.3- Resolução Gráfica dos Problemas de Programação Linear no ℜ 2<br />

A resolução de Problemas de Programação Linear no ℜ 2 , pode ser determinada<br />

graficamente se o problema tem:<br />

- Solução única;<br />

- Múltiplas soluções;<br />

- Solução ilimitada;<br />

- Infactível (não tem solução).<br />

Para isso determina-se inicialmente a região de factiblidade do problema, ou<br />

seja, a região determinada pelas restrições. A seguir, utiliza-se as curvas de nível e o<br />

vetor gradiente da função objetivo para determinar o sentido em que a função cresçe<br />

ou diminui mais rapidamente.<br />

Veja alguns exemplos:<br />

Exemplo 2.3.1 (Solução única):<br />

23<br />

x2 -x1+x2 ≤ 1<br />

Curva de Nível<br />

max z = 2 x1 + x2 Solução ótima<br />

s.a -x1 + x2 ≤ 1 x2 ≤ 2<br />

x1 ≤ 3<br />

x2 ≤ 2<br />

x1 e x2 ≥ 0 x1 ≤ 3 x1<br />

Exemplo 2.3.2 (Múltiplas soluções):<br />

max z = x1 + x2<br />

s.a x1 ≤ 3<br />

vetor gradiente<br />

x2 ≤ 4 x2≤4<br />

2x1 + 2x2 ≤ 9 2x1 + 2x2≤9<br />

x1 e x2 ≥ 0<br />

x2 Infinitas Soluções<br />

x* = α x 1 + (1 - α) x 2 (0 ≤ α ≤ 1). x1≤3<br />

x1


Exemplo 2.3.3 (Solução Ilimitada): x2<br />

max z = x1 + 2 x2 x1+2x2 ≥ 10 x1 ≥ 2<br />

4 x1 + x2 ≥ 20<br />

x1 + 2 x2 ≥ 10 soluções ilimitadas<br />

x1 ≥ 2<br />

x1 e x2 ≥ 0<br />

24<br />

4x1+x2 ≥ 20 x1<br />

Este problema não possui solução ótima finita, pois o valor da função pode<br />

crescer indefinidamente dentro da região de factibilidade. Dizemos que este é um<br />

problema ilimitado.<br />

Exemplo 2.3.4 (Infactível):<br />

min. z = x1 + x2 -2x1+x2 ≥ 20<br />

s.a -2 x1+ x2 ≥ 20<br />

x1 - x2 ≥ 2 x1-x2 ≥ 2<br />

x1 , x2 ≥ 0<br />

Neste problema, o conjunto de pontos viáveis é um conjunto vazio, pois não há<br />

região no plano que satisfaça as quatro restrições. Diz-se que este é um problema<br />

inviável ou infactível.<br />

2.4– Formulação Geral de um Problema de Programação Linear<br />

Nessa seção, será definida um Problema de Programação Linear (P.P.L.) em sua<br />

forma geral, padrão e canônica, necessárias para a definição de um método para<br />

resolução desses problemas a ser visto no capítulo 3.<br />

.<br />

x2<br />

x1


2.4.1- Diferentes formas de um Problema de Programação Linear<br />

2.4.1.1 Forma Geral<br />

Diz-se que um Problema de Programação Linear está na forma geral se este se<br />

encontrar na seguinte forma:<br />

Max (ou Min) z = c1x1 + c2x2 +…+ cnxn ;<br />

s.a.<br />

a11x1 + a12x2 + ... + a1nxn ≤ b1<br />

.<br />

.<br />

.<br />

ap1x1 + ap2x2 + ... + apnxn ≤ bp<br />

a(p+1)1x1 + a(p+1)2x2 + ... + a(p+1)nxn ≥ b(p+1)<br />

.<br />

.<br />

.<br />

aq1x1 + aq2x2 + ... + aqnxn ≥ bq<br />

a(q+1)1x1 + a(q+1)2x2 + ... + a(q+1)nxn = b(q+1)<br />

.<br />

.<br />

.<br />

am1x1 + am2x2 + ... + amnxn = bm<br />

x1, ..., xp’ ≥ 0<br />

x(p’+1), , xq’ ≤ 0<br />

xq’, ..., xn : irrestrita, onde 1 ≤ p ≤ m , 1 ≤ p’ ≤ q’ ≤ n, 1≤q≤m<br />

Exemplo 2.4.1:<br />

max z = 5x1+3x2+x3+2x4-4x5<br />

s.a.: x1+5x2-3x3 - x4+7x5 ≤ 10<br />

3x1-2x2+5x3+ x4+4x5 ≥ 15<br />

x1+7x2 - x3+2x4+3x5 ≥ 20<br />

5x1+2x2+2x3+3x4- x5 = 8<br />

x1≥0, x2≥0, x3≤0, x4 : irrestrita, x5 : irrestrita<br />

2.4.1.2- Forma Canônica<br />

Dizemos que um Problema de Programação Linear está na forma Canônica ou<br />

na forma de Desigualdade do tipo “≤” se este se encontrar na seguinte forma:<br />

Max. (ou Min.) z = c1x1 + c2x2 +…+ cnxn ;<br />

s.a.: a11x1 + a12x2 + ... + a1nxn ≤ b1<br />

....<br />

am1x1 + am2x2 + ... + amnxn ≤ bm<br />

25


Na forma matricial:<br />

max (ou min) z = c T x<br />

s.a. Ax ≤ b<br />

x ≥ 0<br />

onde x,c ∈ ℜ n , b ∈ ℜ m , A ∈ ℜ mxn<br />

Exemplo 2.4.2: Max z 2x1 + 3x2<br />

s.a. 5x1 + x2 ≤ 0<br />

3x1 + 2x2 ≤ 0<br />

x1 + 4x2 ≤ 0<br />

x1, x2 ≥ 0<br />

2.4.1.3- Forma Padrão<br />

Dizemos que um Problema de Programação Linear está na forma Padrão ou na<br />

forma standard se este se encontrar na seguinte forma matricial:<br />

max (ou min) z = c T x<br />

s.a. Ax = b<br />

x ≥ 0<br />

onde x,c ∈ ℜ n , b ∈ ℜ m , A ∈ ℜ mxn<br />

2.4.5- Transformação de PPL´s gerais na forma padrão.<br />

Para transformar um Problema de Programação Linear (que se apresenta em<br />

forma de um sistema de inequações e equações lineares) em um sistema de somente<br />

equações lineares, deve-se fazer:<br />

2.4.5.1) Se bi < 0:<br />

Deve-se multiplicar a linha i do sistema por (-1).<br />

Exemplo 2.4.3:<br />

Max. 5x1 + 3x2 ≈ Max. 5x1 + 3x2<br />

sa 2x1 + x2 ≤ 8 sa 2x1 + x2 ≤ 8<br />

-x1 + 2x2 ≤ -3 (bi < 0) x1 - 2x2 ≥ 3<br />

x1, x2 ≥ 0 x1, x2 ≥ 0<br />

2.4.5.2) Se xi no modelo for livre de sinal ou irrestrito:<br />

xi é qualquer ou livre de sinal xi ≥ 0 ou xi ≤ 0.<br />

26


Escreve-se xi em função de xi’ e xi” , ou seja:<br />

Exemplo 2.4.4:<br />

Observação:<br />

xi = xi’ - xi” com xi’ ≥ 0 e xi” ≥ 0.<br />

Max. 5x1 + 3x2 ≈ Max. 5x1 + 3(x2’ – x2’’)<br />

sa 2x1 + x2 ≥ 8 sa 2x1 + (x2’ – x2’’) ≥ 8<br />

x1 + 2x2 ≥ 3 x1 - 2(x2’ – x2’’) ≥ 3<br />

x1 ≥ 0, x2 livre x1, x2’, x2’’ ≥ 0<br />

x2 = x2’ – x2’’<br />

Se xi’ = xi” xi =0.<br />

Se xi’ > xi” xi > 0.<br />

Se xi’ < xi” xi < 0.<br />

2.4.5.3) Ocorrência de xi ≤ 0:<br />

Troca-se xi por - xi’, onde xi’ ≥ 0.<br />

Exemplo 2.4.5:<br />

Max. 5x1 + 3x2 ≈ Max. 5x1 – 3x2’<br />

sa 2x1 + x2 ≥ 8 sa 2x1 – x2’ ≥ 8<br />

n<br />

x1 + 2x2 ≥ 3 x1 – 2x2’ ≥ 3<br />

x1 ≥ 0, x2 ≤ 0 x1, x2, x2’ ≥ 0<br />

x2 = – x2’<br />

2.4.5.4) Se: a x ≤ b ::<br />

j=<br />

1<br />

ij<br />

j<br />

Soma-se xn+i no membro da esquerda da linha i do sistema e considera-se o<br />

novo n = n + i (variável de folga), com xn+i ≥ 0.<br />

i<br />

27


Exemplo 2.4.5:<br />

Max. 5x1 + 3x2 ≈ Max. 5x1 + 3x2<br />

sa 2x1 + x2 ≤ 8 sa 2x1 + x2 + x3 = 8<br />

2.4.5.5) Se aijx j ≥ bi<br />

n<br />

j = 1<br />

-x1 + 2x2 ≤-3 x1 - 2x2 + 0x3 + x4 = 3<br />

x1, x2 ≥ 0 x1, x2 ,x3, x4 ≥ 0<br />

Subtrair-se xn+i no membro da esquerda da linha i e considerar-se o novo n<br />

= n + j (variável de excesso), com xn+i ≥ 0.<br />

Exemplo 2.4.6:<br />

Max. 5x1 + 3x2 ≈ Max. 5x1 + 3x2<br />

sa 2x1 + x2 ≥ 8 sa 2x1 + x2 - x3 = 8<br />

x1 + 2x2 ≥ 3 x1 - 2x2 - 0x3 - x4 = 3<br />

x1, x2 ≥ 0 x1, x2 ,x3, x4 ≥ 0<br />

2.4.5.6) Maximizar uma função objetivo é equivalente a minimizar o seu simétrico, ou<br />

seja:<br />

Máx. z = c T x Min. -z = -c T x.<br />

28

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!