Você está na página 1de 14

CAPÍTULO 2

Introdução à Programação Linear

1. Definição

Um problema de PL consiste em determinar valores não negativos para as variáveis de decisão,


de forma que satisfaçam as restrições impostas e que optimizem (minimizem ou maximizem) uma
função (real) linear dessas variáveis.

2. Formalização e modelação matemática de problemas de PL

Existem 2 formas diferentes de apresentar o modelo, conforme se pretenda maximizar ou


minimizar, que são as seguintes :
Maximizar (Minimizar) Z = c 1 x 1 + c 2 x 2 +L+ c n x n (1.1)

Sujeito a
a 11 x 1 + a 12 x 2 +L+ a 1n x n { ≤, =, ≥ } b1

a 21 x 1 + a 22 x 2 +L+ a 2n x n { ≤, =, ≥ } b2
(1.2)
...

a m1 x 1 + a m2 x 2 +L+ a mn x n { ≤, =, ≥ } bm

x 1 , x 2 , L, x n ≥ 0 (1.3)

onde,
aij (i = 1, ...,m; j = 1, ...,n) → coeficientes técnicos ou tecnológicos,

b1, b2, ..., bm → termos independentes (constantes de restrição ou segundos membros),

c1 , c2, . . . , cn → coeficientes da função objectivo (coeficientes de custo),


14 Formalização e modelação matemática de problemas de PL

x1 , x2, . . . , xn → variáveis de decisão (principais ou controláveis),

(1.1) → função objectivo (económica ou critério),


(1.2) → restrições (restrições funcionais), em que apenas se verifica uma das relações,
(1.3) → condições de não negatividade.

No entanto, o modelo é frequentemente apresentado nas seguintes formas típicas :


Maximizar (Minimizar) Z = c 1 x 1 + c 2 x 2 +L+ c n x n (2.1)

Sujeito a
a 11 x 1 + a 12 x 2 +L+ a 1n x n ≤ ( ≥ ) b 1

a 21 x 1 + a 22 x 2 +L+ a 2n x n ≤ ( ≥ ) b 2
(2.2)
...

a m1 x 1 + a m2 x 2 +L+ a mn x n ≤ ( ≥ ) b m
x 1 , x 2 ,L, x n ≥ 0 (2.3)

Estas duas formas são tão gerais quanto (1.1), (1.2) e (1.3), pois, mediante operações
convenientes, é sempre possível dar a qualquer problema uma daquelas formas. Com efeito, qualquer
problema pode ser reduzido a uma destas formas, da seguinte maneira :
qualquer problema de minimização pode converter-se num de maximização, pois
Minimizar Z = − Maximizar (− Z)
restrições do tipo (≥) pode ser convertida em restrições do tipo (≤), mediante a multiplicação por (-
1) de ambos os membros,
a i1 x 1 + a i2 x 2 + L + a in x n ≥ b i ⇔ − a i1 x 1 − a i2 x 2 − L − a in x n ≤ − b i
restrições do tipo (=) pode ser convertida em 2 do tipo (≤) equivalentes, em conjunto, àquela,

a i1 x 1 + a i2 x 2 + L + a in x n ≤ b i
a i1 x 1 + a i2 x 2 + L + a in x n = b i ⇔  ⇔
a i1 x 1 + a i2 x 2 + L + a in x n ≥ b i

a i1 x 1 + a i2 x 2 + L + a in x n ≤ b i
⇔ 
− a i1 x 1 − a i2 x 2 − L − a in x n ≤ − b i

variável livre (sem restrição de sinal) pode ser substituída pela diferença de variáveis não

negativas1 ( x j = x 'j − x 'j' com x 'j , x 'j' ≥ 0 ), formulando-se de novo o problema em termos

destas variáveis.

1 Qualquer número pode ser obtido como a diferença de dois números não negativos.

Introdução à Programação Linear


Formalização e modelação de alguns problemas de PL 15

3. Formalização e modelação de alguns problemas de PL

Problema 1 :
Uma empresa de mobiliário de escritório pretende lançar um modelo de secretárias e estantes.
Pensa-se que o mercado pode absorver toda a produção de estantes, mas aconselha-se que a
produção mensal de secretárias não ultrapasse as 160 unidades.
Ambos os produtos são processados nas unidades de estampagem (UE) e de montagem e
acabamento (UMA).
A disponibilidade mensal em cada uma destas unidades é de 720 horas−máquina (h−m) na UE
e 880 horas−homem (h−h) na UMA.
Cada secretária necessita de 2h−m na UE e de 4 h−h na UMA.
Cada estante necessita de 4 h−m na UE e de 4 h−h na UMA.
As margens de lucro unitárias estimadas são de 6 contos para as secretárias e de 3 contos para
as estantes.
Qual o plano de produção mensal para as secretárias e estantes que maximiza a margem de
lucro.

Formalização do problema :
Variáveis de decisão :
• quantidade de secretárias a produzir por mês (x1)

• quantidade de estantes a produzir por mês (x2)

Função objectivo :
• maximizar a margem bruta total por mês (Z = 6 x1 + 3 x2)

Restrições :
• disponibilidade mensal na unidade de estampagem

• disponibilidade mensal na unidade de montagem e acabamento

• produção mensal de secretárias

Secretárias Estantes Capacidade disponível


UE 2 4 720
UMA 4 4 880
Mercado 1 0 160
Lucro 6 3

Introdução à Programação Linear


16 Formalização e modelação de alguns problemas de PL

Modelação matemática :
Relativamente ao Departamento de Estampagem, sabe-se que :
• cada secretária necessita de 2 h−m, pelo que o nº total de h−m necessárias à produção de

x1 secretárias é de 2 x1;

• cada estante necessita de 4 h−m, pelo que o nº total de h−m necessárias à produção de x2

secretárias é de 4 x2;

• a disponibilidade mensal é de 720 h−m.

Logo, a restrição relativa a este Departamento é :

Total de h−m gasto nas + Total de h−m gasto nas ≤ Disponibilidade


secretárias estantes em h−m

que se traduz algebricamente na desigualdade linear : 2 x1 + 4 x2 ≤ 720

Da mesma forma se determinam as restantes restrições.

Resumindo, o problema consiste em determinar x1 e x2 por forma a

Maximizar Z = 6 x1 + 3 x2 (lucro mensal em contos)

sujeito a 2 x1 + 4 x2 ≤ 720 (UE)

4 x1 + 4 x2 ≤ 880 (UMA)

x1 ≤ 160 (mercado)

x1, x2 ≥ 0 (não negatividade)

Problema 2 :
Um criador de porcos, pretende determinar a quantidade de cada tipo de ração a dar
diariamente a cada animal, para conseguir uma dada qualidade nutritiva a custo mínimo.
Os dados relativos ao custo de cada tipo de ração, às quantidades mínimas diárias de
ingredientes nutritivos básicos a fornecer a cada animal, bem como às quantidades destes existentes
em cada tipo de ração (g/kg) constam do quadro em baixo.

Granulado Farinha Quantidade mínima


(gr/Kg) (gr/Kg) requerida
Hidratos de carbono 20 50 200
Vitaminas 50 10 150
Proteínas 30 30 210
Custo (esc./Kg) 10 5

Introdução à Programação Linear


Formalização e modelação de alguns problemas de PL 17

Formalização do problema :
Variáveis de decisão :
• quantidade (Kg) de granulado existente na ração diária (x1)

• quantidade (Kg) de farinha existente na ração diária (x2)

Função objectivo :
• minimizar o custo da ração diária (Z = 10 x1 + 5 x2)

Restrições :
• quantidade mínima diária de hidratos de carbono

• quantidade mínima diária de vitaminas

• quantidade mínima diária de proteínas

Modelação matemática :

Pretende-se determinar x1 e x2 de modo a


minimizar Z = 10 x1 + 5 x2 (custo diário)
sujeito a 20 x1 + 50 x2 ≥ 200 (hidratos de carbono)
quantidade a fornecer quantidade mínima
diariamente necessária por dia
50 x1 + 10 x2 ≥ 150 (vitaminas)
30 x1 + 30 x2 ≥ 210 (proteínas)
x1, x2 ≥ 0 (não negatividade)

Problema 3 :
As Caravanas Marco Polo L.da. usam dromedários (1 bossa) e camelos (2 bossas) para
transportar figos secos de Bagdade para Meca. Um camelo pode levar no máximo 1000 lbs e um
dromedário 500 lbs. Durante a viagem um camelo consome 3 fardos de feno e 100 galões de água. Um
dromedário consome 4 fardos de feno e 80 galões de água. As estações da Marco Polo, situadas em
vários oásis ao longo do caminho, apenas têm disponíveis 1600 galões de água e 60 fardos de feno.
Os camelos e os dromedários são alugados a um pastor perto de Bagdade a 11 pazuzas por
camelo e 5 pazuzas por dromedário. Se as Caravanas Marco Polo L.da. tiverem uma carga de 10000
lbs de figos para transportar, quantos camelos e dromedários devem ser usados para minimizar a
renda a pagar ao pastor ?

Formalização do problema :
Variáveis de decisão :
• quantidade de camelos a usar (x1)

• quantidade de dromedários a usar (x2)

Função objectivo :

Introdução à Programação Linear


18 Representação e resolução gráfica de problemas de PL

• minimizar a renda a pagar ao pastor (Z = 11 x1 + 5 x2)

Restrições :
• capacidade da caravana

• disponibilidade de feno

• disponibilidade de água

Camelos Dromedários Capacidade disponível


Capacidade 1 000 500 10 000
Feno 3 4 60
Água 100 80 1 600
Renda a pagar 11 5

Modelação matemática :
Pretende-se determinar x1 e x2 de modo a

Minimizar Z = 11 x1 + 5 x2 (renda)

sujeito a
1 000 x1 + 500 x2 ≥ 10 000 (capacidade)

3 x1 + 4 x2 ≤ 60 (feno)

100 x1 + 80 x2 ≤ 1 600 (água)

x1, x2 ≥ 0 (não negatividade)

4. Representação e resolução gráfica de problemas de PL

A representação gráfica de problemas de PL só é possível, quando os problemas têm 2 ou 3


variáveis de decisão. No entanto, aqui, apenas serão analisados os problemas com 2 variáveis, os
quais são representados através de um gráfico a 2D.
Para representar graficamente um problema de PL, começa-se por construir um sistema de
eixos cartesianos x1 e x2.

O passo seguinte consiste em identificar os valores de x1 e x2 que satisfaçam todas as restrições

 construção do espaço das soluções.


Por último, procuram-se os pontos situados nesta região que maximizem (minimizem) o valor
de Z. Esta fase vai proceder-se por tentativas (mais adiante será enunciada uma regra prática que
permite resolver esta questão de uma forma quase automática).
O processo baseia-se na representação gráfica da recta Z = F (x1, x2) = constante para um

conjunto de valores. A ideia é traçar rectas Z = constante, até que contenha pelo menos um ponto da

Introdução à Programação Linear


Representação e resolução gráfica de problemas de PL 19

região admissível e esteja o mais distante possível da recta Z = 0 (maximizar) ou o mais perto possível
(minimizar).

Resolução gráfica do Problema 1 :

Solução óptima do problema : xopt = (160, 60) ⇔ Zopt = 1140.

Introdução à Programação Linear


20 Representação e resolução gráfica de problemas de PL

Resolução gráfica do Problema 2 :

Solução óptima do problema : xopt = (2, 5) ⇔ Zopt = 45

Introdução à Programação Linear


Forma padrão ou “standard” de um problema de PL 21

Resolução gráfica do Problema 3 :

Solução óptima do problema : xopt = (4, 12) ⇔ Zopt = 104.

5. Forma padrão ou “standard” de um problema de PL

Um PL diz-se estar na forma padrão, se todas as restrições propriamente ditas (não incluindo as
de não negatividade) são equações. Todo o PL pode escrever-se na sua forma padrão, por introdução
de variáveis folga (“slack”) nas restrições que são inequações, da seguinte forma :
f(x) ≤ b ⇒ f(x) + x = b, x ≥ 0 (x variável “slack”)
f(x) ≥ b ⇒ f(x) − x = b, x ≥ 0 (x variável “slack”)

A forma padrão apresenta a seguinte estrutura :


Maximizar Z = c 1 x 1 + c 2 x 2 +L+ c n x n (3.1)

Sujeito a a 11 x 1 + a 12 x 2 + L + a 1n x n = b1

a 21 x 1 + a 22 x 2 + L + a 2n x n = b2
(3.2)
...

a m1 x 1 + a m2 x 2 + L + a mn x n = b m

x1 , x2 , L , xn ≥ 0 (3.3)

Introdução à Programação Linear


22 Terminologia associada às soluções do PL

A redução à forma padrão do problema de PL


Maximizar Z = c1x1 + c2 x 2 + L + cn xn

Sujeito a a 11 x 1 + a 12 x 2 + L + a 1n x n ≤ b 1

a 21 x 1 + a 22 x 2 + L + a 2n x n ≤ b 2

...
a m1 x 1 + a m2 x 2 + L + a mn x n ≤ b m

x 1 , x 2 , L, x n ≥ 0

conduz ao seguinte problema equivalente :


Maximizar Z = c 1 x 1 + c 2 x 2 + L + c n x n + 0 x n +1 + 0 x n + 2 + L + 0 x n +m

Sujeito a a 11 x 1 + a 12 x 2 + L + a 1n x n + x n +1 = b1

a 21 x 1 + a 22 x 2 + L + a 2n x n + x n+2 = b2

...
a m1 x 1 + a m2 x 2 + L + a mn x n + x n +m = b m

x 1 , x 2 , L , x n , x n +1 , x n + 2 , L , x n +m ≥ 0

em que,
x 1 , x 2 , L , x n  são as variáveis de decisão (principais)

x n + 1 , x n + 2 , L , x n +m  são as variáveis folga (“slack”)

Também é frequente o modelo de PL ser apresentado em forma matricial :


Maximizar Z=CX
Sujeito a AX=b
X≥0
em que,
C = [ c1 c2 . . . cn ] é a matriz dos custos
A = [ aij ] (m×n) é a matriz das restrições

X = [ x1 x2 . . . xn ]T é a matriz das variáveis

b = [ b1 b2 . . . bm ]T é a matriz dos termos independentes

0 = [ 0 0 . . . 0 ]T (1×m) é a matriz nula

6. Terminologia associada às soluções do PL

Solução  qualquer conjunto de valores assumidos pelas variáveis de decisão satisfazendo as


restrições funcionais (3.2).
Solução admissível  solução que satisfaz as condições de não negatividade (3.3).
Região admissível  é o conjunto de todas as soluções admissíveis.

Introdução à Programação Linear


Tipos de soluções 23

Solução óptima  é a solução admissível que tem o melhor valor da função objectivo.
Solução não limitada  não existe um valor máximo (mínimo) para a função objectivo.

7. Tipos de soluções

óptima única : problema tem apenas uma solução (Problemas 1, 2 e 3).

óptimas alternativas : o valor óptimo da função objectivo pode ser obtido através de

infinitas combinações de recursos.

não limitada : não existe um valor máximo finito para a função objectivo (Z → ∞).

Introdução à Programação Linear


24 Tipos de soluções

óptima (com região admissível não limitada) : facto do conjunto das soluções admissíveis ser não
limitado, não implica necessariamente que a solução seja não limitada (Z → ∞).

valor óptimo da FO finito (variáveis podem assumir valores arbitrariamente grandes) : conjunto
das soluções é não limitado e o valor óptimo de Z é finito, com as variáveis de decisão a
poderem assumir valores arbitrariamente grandes na solução óptima.

Introdução à Programação Linear


Análise convexa 25

inexistente (problema impossível) : esta situação, normalmente deriva de erros de formalização.


Isto pode acontece por não existirem valores das variáveis a satisfazerem as restrições do
problema ou as condições de não negatividade, ou ambas simultaneamente.

8. Análise convexa

Chama-se combinação linear convexa de um nº finito de pontos x1, ..., xn ao ponto

λ1 x1 + λ2 x2 + . . . + λn xn

com os escalares λi ≥ 0 e λ1 + λ2 + . . . + λn = 1.

O segmento de recta que une 2 pontos do espaço, é o conjunto de todas as combinações


convexas desses pontos.
Conjunto convexo X, é um conjunto tal que o segmento de recta que une dois quaisquer dos
seus pontos, está contido no conjunto. Por outras palavras, X é um conjunto convexo, se quaisquer
que sejam x1 e x2, ∈ X e 0 ≤ λ ≤ 1, se tem

λ x1 + (1 - λ) x2 ∈ X

Um conjunto convexo é fechado se compreende a sua fronteira.

Conjunto convexo Conjunto não convexo


Resultado : A intersecção finita de conjuntos convexos é um conjunto convexo.

Introdução à Programação Linear


26 Propriedades fundamentais

Ponto extremo de um conjunto convexo X, é um ponto que não pertence ao segmento de recta a
unir dois outros pontos quaisquer de X. Por outras palavras, um ponto extremo de X não pode ser
obtido por combinação linear convexa positiva de pontos de X.
Algebricamente : x = λ x1 + (1-λ) x2 , com λ ∈ ]0, 1[ e x1, x2 ∈ X ⇒ x = x1 = x2

Um conjunto convexo da forma


X = { x : A x = b, x ≥ 0 } (X é o conjunto de soluções admissíveis do PL)
chama-se um politopo convexo.
Um politopo convexo limitado, chama-se poliedro convexo. Em R2, um poliedro convexo
chama-se polígono convexo.
Chama-se vértice (ou ponto extremo) dum politopo ou poliedro convexo X, a um qualquer
ponto x ∈ X que não possa ser expresso como combinação linear de outros pontos y ∈ X (y ≠ x).

9. Propriedades fundamentais

n
O conjunto convexo (politopo ou poliedro) X, tem um nº finito de vértices v(X) ( ≤ C m ).

Todo o ponto dum poliedro convexo X ⊂ Rn é combinação convexa dos vértices de X.


O conjunto das soluções admissíveis, X, de um problema de PL é um conjunto convexo fechado
(compreende a sua fronteira).
Optimalidade num vértice :

• O óptimo duma função linear num poliedro convexo X ⊂ Rn é obtido em, pelo menos, um

vértice de X;
• Se ele for obtido em mais que um vértice, então será obtido em todo o ponto que é uma

combinação linear convexa desses vértices.


• Se X é um politopo convexo, então existe pelo menos um ponto extremo de X que

optimiza a função objectivo.

Introdução à Programação Linear

Você também pode gostar