Você está na página 1de 30

A

Acceettaattooss ddee aappooiioo ààss


aauullaass TTeeóórriiccoo--pprrááttiiccaass ddee
O
Oppttiim
miizzaaççããoo LLiinneeaarr

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.


1

P
Prroobblleem
maa ggeerraall ddee P
Prrooggrraam
maaççããoo M
Maatteem
mááttiiccaa

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.

-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 problemas


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:

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

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.

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:

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

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

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.

Acetatos de Optimização Linear Cecília Rodrigues


7

Variável que toma valores num dado conjunto discreto

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:

X = z1.x1 + z2.x2 + ... + zk.xk


z1 + z2 + ... + zk = 1
z1, z2 , ... , zk ∈ {0, 1}

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).

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.:

Pi

0 5 12 20 xi

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:

Acetatos de Optimização Linear Cecília Rodrigues


9

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}

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

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:

3.x1 + 2.x2 ≤ 18 + M.z


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

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.

Acetatos de Optimização Linear Cecília Rodrigues


11

Activação de k restrições de entre um grupo de restriçõ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:

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}

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.

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:

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

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)

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á
n!
C nm =
m! (n − m)!

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 C nm .

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

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

F* = 35.8

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á

4!
C 24 = =6
2! (4 − 2)!

mas nem todas as soluções básicas são necessariamente


admissíveis.

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

(x*, y*) = (3, 10/3) e

(x*, y*) = (4, 5/2)

F* = 35.0

c) Max F = 5x + 6y
s.a
2x + 3y ≤ 16
3x + 2y ≤ 17
x ≥ 0, y ∈ N0

(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

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

F* = 34

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

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 objectivo 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:

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álise

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.

 - x + y + F1 = 3  - x + F1 = 3
  ⇔
4x + y + F2 = 8 y=0 4x + F2 = 8

 F1 = 3 + x

F2 = 8 - 4x 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.

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 ( bi I aik ) , i = 1, 2, para aik > 0 .


i

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 ,


i

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:

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

1 1
F = 4(2 - y - F2) + 3y
4 4
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 + y + F1 = 3
 1 1
4x + y + F2 = 8 x=2- y - F2
4 4
 1 1
- (2 - y - F2 ) + y + F1 = 3
 4 4 como F2 = 0
4x + y + F2 = 8

 5
y + F1 = 5
4
4x + y = 8

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

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.

 - x + y + F1 = 3

4x + y + F2 = 8 como F1 = 0, F2 = 0

-x + y =3

4x + y = 8

 x =1

y=4

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

 - x + y + F1 = 3  1 1
 ⇔  x = 1 + F1 − F2
4x + y + F2 = 8 
5 5
4 1
 y = 4 - F1− F2
 5 5
1 1 4 1
F = 4 (1 + F1 − F2 ) + 3 ( 4 - F1− F2 )
5 5 5 5

8 7
F = - F1 - F2 a solução em análise é óptima
5 5

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

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álise

• 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

A
Allggoorriittm
moo S
Siim
mpplleexx P
Prriim
maall -- FFoorrm
maa TTaabbuullaarr

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
1 F1 0 5/4 1 1/4 5 5/(5/4)=4
x 1 1/4 0 1/4 2 2/(1/4)=8
4
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
-1/4 y 0 1 4/5 1/5 4
x 1 0 -1/5 1/5 1
2
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.

Acetatos de Optimização Linear Cecília Rodrigues

Você também pode gostar