programacao linear 1p

Post on 25-Jun-2015

226 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

AAAccceeetttaaatttooosss dddeee aaapppooo iii ooo àààsss

aaauuu lll aaasss TTTeeeóóórrr iii cccooo---ppprrráááttt iii cccaaasss dddeee

OOOpppttt iiimmmiii zzzaaaçççãããooo LLL iii nnneeeaaarrr

Estes acetatos destinam-se exclusivamente a apoiar as aulas teórico-

práticas da disciplina de Optimização Linear, são baseados nos livros

e sebenta constantes da bibliografia da disciplina, nomeadamente:

• Elementos de apoio às aulas de Programação Matemática", "Enunciados de Exercícios de

Programação Matemática", Ruy A. Costa

• "Programação Linear", Guerreiro, Magalhães & Ramalhete, Mc Graw Hill.

e não dispensam a consulta dos mesmos.

Acetatos de Optimização Linear Cecília Rodrigues

1

PPPrrrooobbbllleeemmmaaa gggeeerrraaalll dddeee PPPrrrooogggrrraaammmaaaçççãããooo MMMaaattteeemmmáááttt iii cccaaa

Maximizar (ou minimizar) F (x1, x2, ...xn)

sujeito a:

f1 (x1, x2, ...xn) ≤ ; ≥; = b1

f2 (x1, x2, ...xn) ≤ ; ≥; = b2

.

fm (x1, x2, ...xn) ≤ ; ≥; = bm

Se a função objectivo F e as restrições f1, f2,..., fm forem funções

lineares em relação às variáveis não negativas x1, x2, ...xn estamos

perante um caso particular do problema anterior - um problema de Programação Linear

Max (ou Min) F = c1 x1 + c2 x2 + ... + cN xN

Sujeito a :

a11 x1 + a12 x2 + … + a1N xN ≤ ; ≥; = b1

a21 x1 + a22 x2 + … + a2N xN ≤ ; ≥; = b2

...

...

aM1 x1 + aM2 x2 + … + aMN xN ≤ ; ≥; = bM

As variáveis devem ser não negativas (xi ≥ 0), não positivas (xi ≤ 0) ou

ainda variáveis livres (xi ∈ℜ).

O conjunto dos n-uplos ( v1, v2, ... , vn) associado às variáveis (x1,

x2, ... ,xn) que verificam todas as restrições e a condição de não

negatividade designa-se por Espaço de Soluções Admissíveis .

Acetatos de Optimização Linear Cecília Rodrigues

2

Formulação de problemas de Programação Linear

Exemplo F01 : Um jovem empresário está a pensar montar uma empresa de

transporte de passageiros, para a sua pequena cidade. Para tal terá de adquirir

autocarros de tipo A e B, com lotações, respectivamente, de 30 e 40 passageiros.

Tipo de autocarro Preço (u.m.) Lotação A 15 000 30 B 25 000 40

Dispõe de uma verba de 150 000 u.m. para adquirir os veículos e a frota adquirida

deverá garantir uma lotação de, pelo menos, 200 passageiros. Além disto, deve

ser adquirido, pelo menos, um veículo de tipo B.

Pretende minimizar o custo total de aquisição dos autocarros.

a) Formule o problema com um modelo de Programação Linear adequado

b) Resolva o problema, recorrendo ao método gráfico.

• Qual o objectivo?

minimizar o custo total de aquisição dos autocarros

• Que decisões deverão ser tomadas?

quantos veículos comprar de tipo A e de tipo B

• Que recursos / condicionalismos existem?

dispõe de uma verba de 150 000 u.m. para adquirir os veículos;

a frota adquirida deverá garantir uma lotação de, pelo menos, 200

passageiros;

deve ser adquirido, pelo menos, um veículo de tipo B

Definição das variáveis

xA - nº de autocarros a adquirir do tipo A

xB - nº de autocarros a adquirir do tipo B

Acetatos de Optimização Linear Cecília Rodrigues

3

a)

Min F = 15 000 xA + 25 000 xB (u.m.) Função Objectivo

s.a.

15 000 xA + 25 000 xB ≤ 150 000 u.m. restrição financeira

30 xA + 40 xB ≥ 200 restrição de lotação mínima

xB ≥ 1 restrição de aquisição mínima

xA, xB ≥ 0 e inteiros domínio das variáveis

b) Resolução gráfica

No caso de duas variáveis:

• à função objectivo corresponde uma família de rectas todas com o mesmo

declive, neste caso, -3/5;

• a cada restrição corresponde uma região do plano delimitada por uma recta;

• a não negatividade das variáveis reduz-nos ao 1º quadrante;

• o conjunto dos pontos que respeitam simultaneamente as restrições e a

condição de não negatividade e integralidade designa-se por Espaço de

Soluções Admissíveis.

2

-0.6

Acetatos de Optimização Linear Cecília Rodrigues

4

Interpretação Gráfica

• Num problema de programação Linear, a Função Objectivo

representa um hiperplano.

• Cada restrição representa também um hiperplano.

• Um hiperplano é um conjunto convexo e, a intersecção de

conjuntos convexos é também um conjunto convexo. Logo, o

Espaço de Soluções Admissíveis de um problema de Programação

Linear é um conjunto convexo. Como todas as restrições são

lineares, em termos geométricos, o Espaço de Soluções

Admissíveis é um Politopo Convexo .

Prova-se que o máximo/mínimo de uma função linear sobre um

politopo convexo corresponde a, pelo menos, um vértice do

politopo.

Forma Standard e Forma Canónica

Um problema de Programação Linear diz-se na Forma

Standard se se pretender maximizar a função objectivo, todas as

restrições estiverem na forma de igualdade e todas as variáveis

forem não negativas (xi ≥ 0).

Se se pretender maximizar a função objectivo, sendo todas as

restrições do tipo ≤ e todas as variáveis não negativas (xi ≥ 0), o

problema de Programação Linear diz-se na Forma Canónica.

Acetatos de Optimização Linear Cecília Rodrigues

5

Utilização de variáveis binárias na formulação de p roblemas de Programação Linear Mista

Por vezes não é possível formular um problema de Programação Linear apenas com variáveis não negativas. Neste caso, é comum utilizar-se variáveis binárias - que tomam apenas os valores 0 e 1 - conduzindo a um modelo de Programação Linear Mista , dado que se utilizam variáveis não negativas e binárias. Lote mínimo Esta situação ocorre normalmente quando, ou não se produz um determinado artigo, ou então produz-se, pelo menos, um determinado valor - o lote mínimo . Admita-se, por exemplo que o lote mínimo é de 20. Isto significa que, ou se produz 0 unidades de um artigo, ou então tem de se produzir, pelo menos 20. Seja x a variável que representa o nº de unidades do artigo a produzir. Pretende-se representar a condição x = 0 ou x ≥≥≥≥ 20. Seja z uma variável binária, isto é, z ∈ {0, 1} e M um valor numérico positivo muito elevado (relativamente aos outros coeficientes intervenientes no problema). A condição x = 0 ou x ≥ 20 pode representar-se pela conjunção das condições:

se z = 0, então x ≥ 0 e x ≤ 0, isto é, x = 0 se z = 1, então x ≥ 20 e x ≤ M, isto é, x ≥ 20. Note-se que, como M é um valor muito grande, em termos práticos, x ≤ M nada restringe.

x ≥ 20.z x ≤ M.z z ∈ {0, 1} x ≥ 0

Acetatos de Optimização Linear Cecília Rodrigues

6

Custo de arranque de produção Por vezes a função objectivo de um problema de Programação Linear pode exprimir-se como: Min F = c1.x1 + c2.x2 +...+ cn.xn, ou seja, cada parcela Pi = ci.xi. Se a função F representar o custo mensal, de produção de determinadas peças, é natural que, para se iniciar a produção seja necessário despender um custo fixo de arranque (que não depende do nº de peças a produzir). Relativamente à parcela i, se ki e ci representarem, respectivamente, o custo fixo e o custo unitário, ter-se-á: Pi = 0, se xi = 0 , ou alternativamente, Pi = ki + ci.xi, se xi > 0. Esta condição pode representar-se pela conjunção das condições: se zi = 0, então xi ≤ 0 e xi ≥ 0, isto é, xi = 0 Min F = ... + ki.0+ ci.0 + ... = 0, ou seja Pi = 0 se zi = 1, então xi ≤ M e xi ≥ 0, isto é, xi ≥ 0, ou seja, Min F = ... + ki.1 + ci.xi + ... , ou seja Pi = ki + ci.xi. Recorde-se que, como M é um valor muito grande, em termos práticos, xi ≤ M nada restringe, daí que, xi ≤ M e xi ≥ 0 equivale a xi ≥ 0.

Min F = ... + ki.z + ci.xi + ...

xi ≤ M.z zi ∈ {0, 1} xi ≥ 0

Acetatos de Optimização Linear Cecília Rodrigues

7

Variável que toma valores num dado conjunto discret o Em muitas situações reais, uma variável só pode tomar valores num determinado conjunto discreto. Admita-se que X ∈ { x1, x2, ..., xk}. Esta situação pode modelar-se com a conjunção das seguintes condições: De notar que a conjunção das duas últimas condições obriga a que uma, e só uma, das variáveis z1, z2 , ... , zk tome o valor 1, tomando as restantes variáveis o valor 0. De um modo geral, se zi = 1, então X = xi ( i = 1, 2, ..., k).

X = z1.x1 + z2.x2 + ... + zk.xk z1 + z2 + ... + zk = 1 z1, z2 , ... , zk ∈ {0, 1}

Acetatos de Optimização Linear Cecília Rodrigues

8

Função objectivo com secções lineares de diferentes inclinações

Considere-se a situação em que a função objectivo de um problema de Programação Linear é do tipo: F = ... + ki + ci.xi + ... , em que, Pi = ki + ci.xi. Pretende-se agora representar a situação em que a parcela Pi seja representada por troços lineares de diferentes inclinações. Exemplo F02 : Considere-se a seguinte secção Pi da função objectivo de um problema de P.L.: 0 5 12 20

y1 y2 y3 Admita-se que uma fábrica vende determinado produto em função da quantidade adquirida. Assim, o custo por unidade, será: • 1.0 u.m se a quantidade adquirida for menor ou igual a 5 unidades; • 0.5 u.m para as 7 unidades seguintes (além das 5); • 0.7 u.m. para as 8 unidades seguintes (além das 12). Vamos admitir que a variável xi se exprime como a soma de três variáveis não negativas xi = y1 + y2 + y3, em que:

y1 é a variável correspondente ao intervalo [0, 5] y2 é a variável correspondente ao intervalo [5, 12] y3 é a variável correspondente ao intervalo [12, 20]

Este exemplo pode modelar-se com a introdução de duas variáveis binárias z1 e z2 e conjugando as seguintes condições:

Pi

xi

Acetatos de Optimização Linear Cecília Rodrigues

9

Pi = 1.0. y1 + 0.5. y2 + 0.7 y3 xi = y1 + y2 + y3 se z1 = z2 = 0, então

0 ≤ y1 ≤ 5 0 ≤ y2 ≤ 0 ⇒ y2 = 0 0 ≤ y3 ≤ 0 ⇒ y3 = 0

Pi = 1.0 y1 se z1 = 1, z2 = 0, então

5 ≤ y1 ≤ 5 ⇒ y1 = 5 0 ≤ y2 ≤ 7 0 ≤ y3 ≤ 0 ⇒ y3 = 0

Pi = 1.0 x 5 + 0.5 y2 se z1 = z2 = 1, então

5 ≤ y1 ≤ 5 ⇒ y1 = 5 7 ≤ y2 ≤ 7 ⇒ y2 = 7 0 ≤ y3 ≤ 8

Pi = 1.0 x 5 + 0.5 x 7 + 0.7 y3

Pi = 1.0. y1 + 0.5. y2 + 0.7 y3 xi = y1 + y2 + y3 5.z1 ≤ y1 ≤ 5 7.z2 ≤ y2 ≤ 7.z1 0 ≤ y3 ≤ 8.z2 z1, z2 ∈ {0,1}

Acetatos de Optimização Linear Cecília Rodrigues

10

Activação de uma entre duas restrições (disjunção) Admita-se que se pretende cumprir, pelo menos uma, de entre duas restrições de um problema de Programação Linear. Exemplo F03 : Considere-se, por exemplo

ou 3.x1 + 2.x2 ≤ 18 ou x1 + 4.x2 ≤ 16

Se somarmos ao segundo membro de uma restrição de "≤" um valor positivo muito elevado, M, estamos, em termos práticos a "anular" a restrição. Por exemplo 3.x1 + 2.x2 ≤ 18 + M , nada restringe em termos práticos, já que por muito elevados que sejam os valores de x1 e x2, a restrição continua a ser verificada, já que a quantidade M é ainda maior. A situação de escolha de uma de entre duas restrições, relativa ao exemplo apresentado, pode modelar-se com a conjunção das condições: se z = 0, vem

3.x1 + 2.x2 ≤ 18, isto é, exige-se o cumprimento da 1ª restrição; x1 + 4.x2 ≤ 16 + M, isto é, a 2ª restrição é sempre verificada.

se z = 1, vem 3.x1 + 2.x2 ≤ 18 + M, isto é, a 1ª restrição é sempre verificada; x1 + 4.x2 ≤ 16, isto é, exige-se o cumprimento da 2ª restrição. Notas: • De notar que nada impede a verificação de ambas as restrições; • Se uma restrição for do tipo "≥", a parcela M.z (ou, M.(1-z) ) deverá ser subtraída ao segundo membro da desigualdade.

3.x1 + 2.x2 ≤ 18 + M.z x1 + 4.x2 ≤ 16 + M.(1-z) z ∈ {0, 1}

Acetatos de Optimização Linear Cecília Rodrigues

11

Activação de k restrições de entre um grupo de rest rições Esta situação corresponde à generalização do caso anterior, pretendendo-se agora garantir que, de entre um grupo de mais de k restrições, sejam verificadas, pelo menos k restrições de um problema de Programação Linear. Admita-se que de entre as N restrições seguintes se pretende activar, pelo menos k (k < N)

f1 (x1, x2, ...xn) ≤ d1, f2 (x1, x2, ...xn) ≤ d2,

.

.

. fN (x1, x2, ...xn) ≤ dN.

Tal consegue-se do seguinte modo: De notar que, se zi = 0, a restrição fi (x1, x2, ...xn) ≤ di é activada. Por outro lado a conjunção das condições z1 + z2 + ... + zN = N - k e z1, z2 , ... , zN ∈ {0, 1} garante-nos que exactamente k variáveis zi tomem o valor 0, isto é que exactamente k restrições sejam activadas.

f1 (x1, x2, ...xn) ≤ d1 + M.z1 f2 (x1, x2, ...xn) ≤ d2 + M.z2

.

.

. fN (x1, x2, ...xn) ≤ dN + M.zN z1 + z2 + ... + zN = N - k z1, z2 , ... , zN ∈ {0, 1}

Acetatos de Optimização Linear Cecília Rodrigues

12

Implicação de restrições A utilização de variáveis binárias permite também modelar a implicação entre restrições.

a ⇒ b ⇔ ~a v b Exemplo F04 : Considere-se por exemplo,

Se ( x + y > 15), então (z ≥ 3 ∧ w ≤ 6) Esta implicação é equivalente a

( x + y ≤ 15) v (z ≥ 3 ∧ w ≤ 6),

o que pode representar-se com a conjunção das condições: se z = 0,

x + y ≤ 15, (activada) z ≥ 3 - M, (desactivada) w ≤ 6 + M, (desactivada)

se z = 1

x + y ≤ 15 + M, (desactivada) z ≥ 3, (activada) w ≤ 6, (activada)

x + y ≤ 15 + M.z z ≥ 3 - M.(1-z) w ≤ 6 + M.(1-z) z ∈ {0, 1}

Acetatos de Optimização Linear Cecília Rodrigues

13

Conceitos fundamentais em Programação Linear

Considere o seguinte problema de Programação Linear, na forma

standard:

Max F = c1 x1 + c2 x2 + ... + cn xn [1]

Sujeito a :

a11 x1 + a12 x2 + … + a1n xn = b1

a21 x1 + a22 x2 + … + a2n xn = b2 [2]

...

am1 x1 + am2 x2 + … + amn xn = bm

x1, x2 , … , xn ≥ o [3]

Relativamente a um problema de Programação Linear expresso na forma standard, com n variáveis e m restrições (sendo n > m ), podem apresentar-se as seguintes definições:

Solução é todo o n-uplo ( v1, v2, ... , vn) associado às variáveis (x1, x2, ... ,xn) que verificam as restrições [2].

Solução admissível é toda a solução que verifica as condições de não negatividade [3].

O conjunto das soluções que verificam as condições [2] e [3] designa- -se por Espaço de Soluções Admissíveis . Se as n-m variáveis (xm+1, … , xn ) forem todas iguais a zero, a solução diz-se solução básica admissível . Neste caso, as variáveis x1, … , xm designam-se por variáveis básicas e as variáveis xm+1, … , xn designam-se por variáveis não básicas . Solução básica (s.b.) é toda a solução constituída por, n-m variáveis não básicas (variáveis com valor nulo), sendo as restantes m variáveis básicas determinadas univocamente.

Acetatos de Optimização Linear Cecília Rodrigues

14

Relativamente a uma solução básica, designa-se por base o conjunto das variáveis básicas.

Solução básica admissível (s.b.a.) é toda a solução básica que verifica as condições de não negatividade [3] . Solução básica admissível não degenerada é toda a solução básica admissível cujas variáveis básicas tomem valores estritamente positivos. Se alguma variável de uma s.b.a. for nula, estar-se-á perante uma solução básica admissível degenerada . Solução óptima é toda a solução que torna máximo o valor da função objectivo [1].

Teorema Fundamental da Programação Linear Dado um problema Programação Linear na forma:

Max F = c1 x1 + c2 x2 + ... + cn xn [1]

Sujeito a :

a11 x1 + a12 x2 + … + a1n xn = b1

a21 x1 + a22 x2 + … + a2n xn = b2 [2]

...

am1 x1 + am2 x2 + … + amn xn = bm

x1, x2 , … , xn ≥ o [3]

se existe uma solução admissível , então existe uma solução básica admissível , e se existe uma solução óptima admissível então existe uma solução básica óptima admissível .

Acetatos de Optimização Linear Cecília Rodrigues

15

Quantas soluções básicas admissíveis tem um problema Programação Linear? Num problema de Programação Linear expresso na forma standard, com n variáveis e m restrições (sendo n > m ), uma solução é básica se tiver m variáveis básicas e n-m variáveis não básicas (nulas).

(x, x, x, ... , x, 0, 0, 0, ..., 0)

m n-m O número de soluções básicas de um problema Programação Linear será

nmC =

m)!(n m!n!

Mas nem toda a solução básica é admissível, logo o número de soluções básicas admissíveis de um problema Programação Linear é menor ou igual a n

mC . Exemplo PL01 : Considere o seguinte problema de optimização: Max F = 5x + 6y s.a 2x + 3y ≤ 16 3x + 2y ≤ 17 Utilizando método gráfico, resolva-o, considerando:

a) x ≥ 0, y ≥ 0 (Programação Linear) e identifique as soluções básicas admissíveis; b) x ∈ N0, y ≥ 0; (Programação Linear Mista) c) x ≥ 0, y ∈ N0; (Programação Linear Mista) d) x ∈ N0, y ∈ N0; (Programação Linear Inteira)

Acetatos de Optimização Linear Cecília Rodrigues

16

a) Max F = 5x + 6y s.a

2x + 3y ≤ 16 3x + 2y ≤ 17

x ≥ 0, y ≥ 0

Forma Standard Max F = 5x + 6y + 0F1 + 0F2 s.a 2x + 3y + F1 = 16 3x + 2y + F2 = 17 x ≥ 0, y ≥ 0, F1 ≥ 0, F2 ≥ 0 n - nº variáveis = 4; m - nº restrições = 2 Qualquer solução básica terá m = 2 variáveis básicas e (n-m) = 2 variáveis não básicas (nulas). O número máximo de soluções básicas para este problema será

42C =

2)!(4 2!4!−

= 6

mas nem todas as soluções básicas são necessariamente admissíveis.

(x*, y*) = (3.8, 2.8) F* = 35.8

Acetatos de Optimização Linear Cecília Rodrigues

17

O Espaço de Soluções Admissíveis (E.S.A.) deste problema é um poligono convexo e as soluções básicas admissíveis situam-se nos seus vértices.

vértice x y F1 F2 F (0,0) 0 0 16 17 0

(0, 5.3) 0 5.3 0 6.4 31.8 (5.7, 0) 5.7 0 17.3 0 28.5

(3.8, 2.8) 3.8 2.8 0 0 35.8 Pelo Teorema Fundamental da Programação Linear se existe uma solução óptima admissível então existe uma solução básica óptima admissível, pelo que a solução óptima estará entre estas 4. Como já vimos a solução óptima é (x*, y*) = (3.8, 2.8)

Acetatos de Optimização Linear Cecília Rodrigues

18

b) Max F = 5x + 6y s.a

2x + 3y ≤ 16 3x + 2y ≤ 17

x ∈ N0, y ≥ 0

c) Max F = 5x + 6y s.a

2x + 3y ≤ 16 3x + 2y ≤ 17

x ≥ 0, y ∈ N0

(x*, y*) = (3, 10/3) e (x*, y*) = (4, 5/2) F* = 35.0

(x*, y*) = (3.5, 3) F* = 35.5

Acetatos de Optimização Linear Cecília Rodrigues

19

d) Max F = 5x + 6y s.a

2x + 3y ≤ 16 3x + 2y ≤ 17

x ∈ N0, y ∈ N0

Comparando os resultados obtidos: Max F = 5x + 6y s.a

2x + 3y ≤ 16 3x + 2y ≤ 17

Tipo de variaveis (x*, y*) F* x ≥ 0, y ≥ 0 (3.8, 2.8) 35.8 x ∈ N0, y ≥ 0 (3, 10/3) e (4, 5/2) 35.0 x ≥ 0, y ∈ N0 (3.5, 3) 35.5

x ∈ N0, y ∈ N0, (2, 4) 34.0

(x*, y*) = (2, 4) F* = 34

Acetatos de Optimização Linear Cecília Rodrigues

20

Dado um problema de Programação Linear Inteira, chama-se

Problema Relaxado ao correspondente problema de Programação

Linear, resultante da relaxação da condição de integralidade das

variáveis.

O Espaço de Soluções Admissíveis do problema de Programação

Linear Inteira, está contido no Espaço de Soluções Admissíveis do

correspondente problema relaxado. Logo, o valor óptimo da função

objectivo do problema de Programação Linear Inteira será

sempre "pior ou igual" ao valor óptimo da função ob jectivo do

problema relaxado .

problema de PLI problema de PL Mista problema de PL

valor óptimo de F.O. valor óptimo de F.O.

"pior ou igual" "pior ou igual"

Acetatos de Optimização Linear Cecília Rodrigues

21

Algoritmo Simplex Primal ExemploPL02 : Consideremos o seguinte problema de Programação Linear Max F = 4x + 3y s.a. -x + y ≤ 3 4x + y ≤ 8 x, y ≥ 0 Graficamente, temos o correspondente Espaço de Soluções Admissíveis: y 5 4 3 2 1 0 1 2 3 4 5 x

e sabemos que as soluções básicas admissíveis correspondem aos vértices do Espaço de Soluções Admissíveis:

vértice x y F (0, 0) 0 0 0 (2, 0) 2 0 8 (1, 4) 1 4 16 (0, 3) 0 3 6

Neste exemplo é fácil enumerar os vértices e comparar os correspondentes valores da função objectivo, obtendo-se a solução óptima e respectivo valor óptimo:

(x*, y*) = (1, 4), F* = 16 é evidente que este processo só se pode utilizar em problemas de pequena dimensão.

Acetatos de Optimização Linear Cecília Rodrigues

22

Resolução analiticamente o problema: 1- Re-escrever o problema na forma standard Max F = 4x + 3y + 0F1 + 0 F2 s.a. -x + y + 1F1 + 0F2 = 3 4x + y + 0F1 + 1F2 = 8 x, y, F1, F2 ≥ 0 n - nº variáveis = 4; m - nº restrições = 2 Qualquer solução básica terá m = 2 variáveis básicas e (n-m) = 2 variáveis não básicas (nulas). 2- Arbitrar uma solução básica admissível inicial ( s.b.i.)

Regra usual : sempre que possível, toma-se as variáveis de folga como variáveis básicas iniciais

solução básica inicial: x = 0, y = 0, F1 = 3, F2 = 8 base inicial: F1 = 3, F2 = 8 3 - Verificação da optimalidade da solução em análi se

Para tal é necessário re-escrever a função objectivo apenas em função das variáveis não básicas. F = +4x +3y + 0 F1 + 0 F2 variáveis não básicas variáveis básicas (nulas) (coef. 0 na F.O.)

Vale a pena incrementar alguma das variáveis não básicas? Claro que sim. Critério de optimalidade:

Quando a função objectivo se encontra expressa apenas em função das variáveis não básicas e algum desses coeficientes for positivo, a solução em análise não é óptima.

Acetatos de Optimização Linear Cecília Rodrigues

23

Então a solução em análise

x = 0, y = 0, F1 = 3, F2 = 8 não é óptima. Se se incrementar x ou y a F.O. vai aumentar de valor. 4 - Selecção da variável que entra na base

Critério de selecção da variável que entra na base:

Deve ser escolhida a variável (até aí não básica) cujo incremento unitário se traduz no maior aumento da função objectivo, isto é, deve ser escolhida a variável que, na função objectivo (escrita apenas em função das variáveis não básicas) tenha o maior valor positivo como coeficiente.

F = +4x +3y + 0 F1 + 0 F2

a variável x deve entrar para a base. 5 - Selecção da variável que sai da base Se uma variável entrar na base, outra deverá deixá-la. Se uma variável entrar na base, passará de nula a não nula, isto é sofre um aumento mas, esse aumento terá de ser tal que a solução em análise continue no E.S.A. Torna-se necessário determinar qual o incremento máximo a dar à variável que vai entrar para a base. Relativamente a este exemplo já tínhamos visto que x deverá entrar para a base, y deverá continuar fora da base, ou seja y = 0. De entre as variáveis F1 e F2, uma deve deixar a base.

F1 e F2 têm de ser não negativas, logo:

F1 = 3 + x ≥ 0 ⇔ x ≥ -3, mas como todas as variáveis têm de ser não negativas, vem x ≥ 0. Se x aumentar F1 também aumenta, isto é o incremento de x não é limitado pela 1ª restrição.

=++=++

8 F2 y 4x

3 F1 y x -

=+=+

8 F2 4x

3 F1 x -

y = 0

=+=4x - 8 F2

x 3 F1

Acetatos de Optimização Linear Cecília Rodrigues

24

Por outro lado, F2 = 8 - 4x ≥ 0 ⇔ x ≤ 2 A 2ª restrição limita o crescimento da variável x, sendo o máximo incremento = 2. xmax = 2 ⇒ F2 = 0 F2 vai deixar a base. Nova base: x, F1. Critério de selecção da variável que saí na base:

Considere-se as restrições do problema de Programação Linear, na sua apresentação matricial A. X = b, cada uma delas escrita apenas em função da única variável básica que lhe está associada e da(s)variável(eis) não básicas. Seja Xk a variável que se pretende incrementar. O incremento máximo de Xk será dado por Max Xk = min

i

( bi I aik ) , i = 1, 2, para aik > 0 .

Se o incremento máximo de Xk for obtido pelo quociente relativo à r-ésima restrição, isto é, se

Max Xk = min

i

( bi I aik ) = br I ark ,

a variável básica correspondente à r-ésima restrição deverá deixar a base, cedendo o seu lugar (mas não necessariamente o seu valor) à variável Xk que entra para a base.

Retomando o exemplo, substituindo x por 2 na 1ª restrição e não nos esquecendo que y = 0 -x + y + F1 = 3 ⇒ -2 + F1 = 3 ⇒ F1 = 5 a nova solução básica admissível é x = 2, y = 0, F1 = 5, F2 = 0, F = 8

Acetatos de Optimização Linear Cecília Rodrigues

25

2ª Iteração (x = 2, y = 0, F1 = 5, F2 = 0) , base: x, F1 variáveis básicas: x, F1 variáveis não básicas: y, F2 Temos de verificar a optimalidade da solução em análise, sendo para tal é necessário re-escrever a função objectivo apenas em função das variáveis não básicas. F = 4x + 3y = 0x + ?y + 0F1 + ?F2 Da 2ª restrição:

4x + y + F2 = 8 ⇒ x = 2 - 41

y - 41

F2

F = 4(2 - 41

y - 41

F2) + 3y

F = +2y - 1F2 + 8 a solução em análise não é óptima, y deve entrar na base. F2 deve continuar fora da base. Selecção da variável que deve sair da base:

x = 2 - 41

y - 41

F2

como F2 = 0

Estamos agora em condições de determinar o maior incremento de y.

=++=++

8 F2 y 4x

3 F1 y x -

=++

=++

8 F2 y 4x

3 F1 y ) F2 41

- y 41

- (2-

=+

=+

8 y 4x

5 F1 y 45

Acetatos de Optimização Linear Cecília Rodrigues

26

ymax = min ( 5 / 5/4 ; 8 / 1 ) = 5 / 5/4 = 4 ⇒ F1 deve sair da base.

como F1 = 0, F2 = 0

a nova solução básica admissível será: x = 1, y = 4, F1 = 0, F2 = 0, F = 16 3ª Iteração (x = 1, y = 4, F1 = 0, F2 = 0) , base: x, y variáveis básicas: x, y variáveis não básicas: F1, F2 Temos de verificar a optimalidade da solução em análise, sendo para tal é necessário re-escrever a função objectivo apenas em função das variáveis não básicas. F = 4x + 3y = 0x + 0y + ?F1 + ?F2

F = 4 ( F251

F1 51

1 −+ ) + 3 ( F251

F154

- 4 − )

F = -58

F1 - 57

F2 a solução em análise é óptima

(x*, y*) = (1, 4), F* = 16

=++=++

8 F2 y 4x

3 F1 y x -

=+=+

8 y 4x

3 y x -

==

4 y

1 x

=++=++

8 F2 y 4x

3 F1 y x -

−=

−+=

F251

F154

- 4 y

F251

F1 51

1 x ⇔

Acetatos de Optimização Linear Cecília Rodrigues

27

F = c1 x1 + c2 x2 + ... + cn xn ⇔⇔⇔⇔ F - c1 x1 - c2 x2 - ... - cn xn = 0

1- Re-escrever o problema na forma standard Introduzir variáveis de folga

2- Arbitrar uma solução básica inicial

Regra usual : sempre que possível, toma-se as variáveis de folga como variáveis básicas iniciais

REPETIR

3 - Verificação da optimalidade da solução em análi se

• re-escrever a função objectivo apenas em função das variáveis não básicas

• Critério de optimalidade: Quando a função objectivo se encontra expressa apenas em função das variáveis não básicas e algum desses coeficientes for negativo, a solução em análise não é óptima

4 - Selecção da variável que entra na base

• Critério de selecção da variável que entra na base: Deve ser escolhida a variável (até aí não básica) cujo incremento unitário se traduz no maior aumento da função objectivo, isto é, deve ser escolhida a variável que, na função objectivo (escrita apenas em função das variáveis não básicas) tenha o maior valor negativo como coeficiente.

5 - Selecção da variável que sai da base • Critério de selecção da variável que saí na base: Considere-se as restrições do problema de Programação Linear, na sua apresentação matricial A. X = b, cada uma delas escrita apenas em função da única variável básica que lhe está associada e da(s)variável(eis) não básicas. Seja Xk a variável que se pretende incrementar. O incremento máximo de Xk será dado por Max Xk = min ( bi I aik ) , i = 1, 2, ... , m para aik > O . Se o incremento máximo de Xk for obtido pelo quociente relativo à r-ésima restrição, isto é, se

Max Xk = min ( bi I aik ) = br I ark , a variável básica correspondente à r-ésima restrição deverá deixar a base, cedendo o seu lugar (mas não necessariamente o seu valor) à variável Xk que entra para a base.

ATÉ SE ATINGIR A SOLUÇÃO ÓPTIMA

Acetatos de Optimização Linear Cecília Rodrigues

28

AAAlllgggooorrr iii tttmmmooo SSSiiimmmpppllleeexxx PPPrrr iiimmmaaalll --- FFFooorrrmmmaaa TTTaaabbbuuulllaaarrr ExemploPL04 : Retomemos e exemplo PL03: Max F = 4x + 3y s.a. -x + y ≤ 3 4x + y ≤ 8 x, y ≥ 0 F - 4x - 3y - 0F1 - 0F2 = 0 s.a. -x + y + 1F1 + 0F2 = 3 4x + y + 0F1 + 1F2 = 8 x, y, F1, F2 ≥ 0 Arbitrar uma solução básica admissível inicial (s.b.i.): (x = 0, y = 0), F1 = 3, F2 = 8, F = 0

Regra usual: sempre que possível, toma-se as variáveis de folga como variáveis básicas iniciais. Base inicial: F1, F2

Quadro inicial:

x y F1 F2 t.i. F1 -1 1 1 0 3 F2 4 1 0 1 8 F -4 -3 0 0 0

• É possível identificar uma variável básica associada a uma restrição. Uma variável pode considerar-se básica associada a uma restrição se o seu coeficiente na linha que representa essa restrição no Quadro Simplex (QS) for unitário, sendo nulos os demais coeficientes dessa variável nas restantes linhas do (QS) (incluindo a linha que representa a função objectivo).

• No algoritmo Simplex Primal, um Quadro Simplex corresponde sempre a uma solução básica admissível , isto é, em termos geométricos, a um vértice do espaço de soluções admissíveis.

Acetatos de Optimização Linear Cecília Rodrigues

29

• A função objectivo encontra-se expressa apenas em função das variáveis não básicas (coeficientes da função objectivo relativos às variáveis básicas são nulos). Como na linha que representa a função objectivo existem coeficientes negativos, a solução em análise não é óptima.

x y F1 F2 t.i. ∆i F1 -1 1 1 0 3 - F2 4 1 0 1 8 8/4=2 F -4 -3 0 0 0

x deve entrar para a base; F2 deve deixar a base. 1ª Iteração

x y F1 F2 t.i. ∆i F1 0 5/4 1 1/4 5 5/(5/4)=4 x 1 1/4 0 1/4 2 2/(1/4)=8 F 0 -2 0 1 8

solução básica admissível: (x = 2, y = 0), F1 = 5, F2 = 5; valor da função objectivo: 8 Como na linha que representa a função objectivo existe um coeficiente negativo, a solução em análise não é óptima. y deve entrar para a base; F1 deve deixar a base. 2ª Iteração

x y F1 F2 t.i. ∆i y 0 1 4/5 1/5 4 x 1 0 -1/5 1/5 1 F 0 0 8/5 7/5 16

Como na linha que representa a função objectivo não existe nenhum coeficiente negativo, a solução em análise é óptima. Solução óptima: (x*, y*) = (1, 4) Valor óptimo da função objectivo: 16.

4

1

2

-1/4

top related