Académique Documents
Professionnel Documents
Culture Documents
O tema da Programação Linear, com as suas particularizações do Problema dos Transportes e do Problema da
Afectação de Recursos, é hoje estudado em cursos diversos onde uma disciplina de Investigação Operacional esteja
presente.
Trata-se, em última análise, de um problema de cálculo de extremos condicionados, seja de máximo ou de mínimo,
que apresenta características muito particulares e de grande elegância simbólica.
Também os Problemas dos Transportes e da Afectação de Recursos se podem resolver como problemas de
Programação Linear, através do Algoritmo Simplex, embora seja preferível o recurso a algoritmos próprios, de
muitíssimo maior simplicidade: o Algoritmo dos Transportes e o Algoritmo Húngaro, respectivamente.
De molde a facilitar a compreensão do que realmente está em jogo, consideram-se aqui dois casos de
determinação de extremos e de extremos condicionados, mas ao nível do final do ensino secundário.
EXEMPLO. Pretende estudar-se a existência de extremos para a função real, de variável real, definida em [−2,1] por:
f ( x) = 1 − x 2 .
A função é constituída por um polinómio incompleto do segundo grau, pelo que é possível recorrer, em princípio, à
utilização de derivadas da função.
f ' ( x ) ≡ −2 x = 0 ⇔ x=0
f '' ( x ) = −2 < 0
que já não se anula no ponto de estacionaridade encontrado, sendo negativa em todo o seu domínio. Assim, x = 0 é um
maximizante da função dada, onde ocorre o máximo local:
f (0) = 1 − 0 2 = 1.
É fácil constatar que em [−2,0[ a função dada é crescente, uma vez que, neste intervalo, se tem:
f ' ( x) > 0
f ' ( x) < 0 .
Assim, em x = 0 ocorre igualmente o máximo absoluto da função, sendo x = −2 e x = 1 pontos de mínimo local,
o primeiro dos quais também de mínimo absoluto, com o valor:
f ( −2) = 1 − ( − 2) = −3. •
2
Um outro caso, que envolve a determinação de extremos condicionados de certa função, é o que se apresenta no
seguinte
EXEMPLO. Pretende determinar-se os extremos da função apresentada no exemplo anterior, mas sujeitos à condição:
x − y = 1.
Como se torna evidente, o anterior maximizante já aqui o não é, dado que é falsa a igualdade numérica:
0 − 1 = 1 ⇔ − 1 = 1.
f ( x) = 1 − x 2
condicionados por:
x− y =1
y = 1 − x2
x − y = 1
cujas soluções, muito fáceis de encontrar, são:
x = −2 ∨ x =1
tendo-se que:
− 2 ∈[ − 2,1] ∧ 1 ∈[ − 2,1] .
f ( −2 ) = 1 − ( − 2 ) = −3 ∧
2
f (1) = 1 − 12 = 0
f ( x) = 1 − x 2
sujeito à condição:
x− y =1
x ∈[ − 2,1] .
De igual modo:
f ( −2 ) = −3
é o mínimo de:
f ( x) = 1 − x 2
sujeito à condição:
x− y =1
e também à condição:
x ∈[ − 2,1] .
Max f ( x) = 1 − x 2
x− y =1
x ∈[ − 2,1]
ou:
Min f ( x) = 1 − x 2
x− y =1
x ∈[ − 2,1] . •
Com estes dois exemplos pode agora entender-se melhor o Problema da Programação Linear. De um modo
puramente matemático, ele consiste na resolução do problema seguinte:
Max Z = c1 x1 + c2 x 2 + ...... + cn x n
xj ≥ 0
÷ o conjunto de todas as soluções possíveis do primal, gerado pelo das restrições, é um conjunto convexo.
Neste ponto, já conhecido o que se entende em Programação Linear por primal, pode definir-se o conceito de dual
do problema apresentado, como sendo o novo problema:
Min D = b1 y1 + b2 y 2 + ...... + b1 y m
......... .. ......... .. ........ .. ..........
a11 y1 + a 21 y 2 + ...... + a m1 y m ≥ c1
a12 y1 + a 22 y 2 + ...... + a m2 y m ≥ c2
......... .. ......... .. ...... .. .......... .. ....
a1n y1 + a 2 n y 2 + ...... + a mn y m ≥ cn
yi ≥ 0
com i ∈ { 1,..., m} . Ou seja, pretende aqui determinar-se o ponto ( y1 ,..., y m ) ∈ Dg , que torna mínima a função
D = g: G ⊆ R m → R, onde G é o conjunto dos pontos de R m definido pelas n inequações - restrições - indicadas. As
variáveis yi , ( i = 1,..., m) , são não negativas, sendo c j ∈ R, ( j = 1,..., n) , e bi ∈ R, ( i = 1,..., m) . É a este problema
de Programação Linear que se dá o nome de dual (do primal).
∂ a função objectivo do primal deve ser maximizada, enquanto que a do dual deve ser minimizada;
• as constantes dos segundos membros das restrições do primal são os coeficientes da função objectivo do dual;
÷ os coenficientes da função objectivo do primal são as constantes dos segundos membros do dual;
… os coeficientes dos primeiros membros das restrições do primal formam uma matriz que é transposta da dos
coeficientes dos primeiros membros das restrições do dual;
Na formulação dos problemas primal e dual aceitaram-se as condições que se indicaram. Pode acontecer, porém,
que ocorram excepções.
Assim, admita-se que certa restrição do primal é uma igualdade. Neste caso, a correspondente variável do dual é
um número real. Um exemplo esclarece o que está em jogo.
Max Z = c1 x1 + c2 x 2 + c3 x 3
Min D = b1 y1 + b2 y 2 + b3 y 3
a11 y1 + a 21 y 2 + a 31 y 3 ≥ c1
a12 y1 + a 22 y 2 + a 32 y 3 ≥ c2
a13 y1 + a 23 y 2 + a 33 y 3 ≥ c3
y1 ≥ 0 , y 2 ≥ 0 , y 3 ∈ R. •
Max Z = c1 x1 + c2 x 2 + c3 x 3
x1 ≥ 0 , x 2 ≥ 0 , x 3 ≥ 0.
Min D = b1 y1 + b2 y 2 + b3 y 3
a11 y1 + a 21 y 2 + a 31 y 3 ≥ c1
a12 y1 + a 22 y 2 + a 32 y 3 ≥ c2
a13 y1 + a 23 y 2 + a 33 y 3 ≥ c3
y 2 ≥ 0 , y1 , y 3 ∈ R. •
Admita-se, agora, que certa variável do primal é um número real qualquer. Então, a restrição correspondente do
dual é uma igualdade, É o que se mostra no seguinte
Max Z = c1 x1 + c2 x 2 + c3 x 3
x1 , x 2 ∈ R , x 3 ≥ 0.
O dual deste problema é, nos termos do que se disse:
Min D = b1 y1 + b2 y 2 b3 y 3
a11 y1 + a 21 y 2 a 31 y 3 = c1
a12 y1 + a 22 y 2 a 32 y 3 = c2
a13 y1 + a 23 y 2 a 33 y 3 ≥ c3
y1 ≥ 0 , y 2 ≥ 0 , y 3 ≥ 0. •
Max Z = c1 x1 + c2 x 2 + c3 x 3
x1 ≥ 0 , x 2 , x 3 ∈ R.
Min D = b1 y1 + b2 y 2 + b3 y 3
a11 y1 + a 21 y 2 + a 31 y 3 ≥ c1
a12 y1 + a 22 y 2 + a 32 y 3 = c2
a13 y1 + a 23 y 2 + a 33 y 3 = c3
x1 ∈ R , x 2 ≥ 0 , x 3 ≥ 0. •
Nos casos em que se está perante uma variável sem restrição de sinal, seja x j ∈ R, ( j = 1,..., n) , basta escrever
a variável em causa na forma:
x j = x 'j − x ''j
'
já com x j ≥ 0 e x ''j ≥ 0 , uma vez que qualquer número real pode sempre escrever-se como a diferença de dois outros
não negativos. Assim se cai, pois, nas condições inicialmente apresentadas, para o primal e para o dual, no respeitante
à respectivas variáveis.
De igual modo, no sentido de se ser conduzido à situação inicial, quando surge uma igualdade em certa condição, a
mesma pode ser substituída por duas desigualdades, uma do tipo ≥, outra do tipo ≤. É o que se mostra com o seguinte
x1 ≥ 0 , x 2 ≥ 0 , x 3 ≥ 0.
Max Z = c1 x1 + c2 x 2 + c3 x 3
x1 ≥ 0 , x 2 ∈ R, x 3 ≥ 0
ou, ainda:
Max Z = c1 x1 + c2 x 2 + c3 x 3
x1 ≥ 0 , x 2 ∈ R, x 3 ≥ 0
Admita-se, agora, que certa variável do primal é não positiva. Neste caso, a correspondente restrição do dual é do
tipo ≤. Do mesmo modo, se certa restrição do primal é do tipo ≥, a correspondente variável do dual é não positiva. É o
que se mostra com o novo
Max Z = c1 x1 + c2 x 2 + c3 x 3
x1 ≥ 0 , x 2 ≤ 0 , x 3 ≥ 0 .
a11 y1 + a 21 y 2 + a 31 y 3 ≥ c1
a12 y1 + a 22 y 2 + a 32 y 3 ≤ c2
a13 y1 + a 23 y 2 + a 33 y 3 ≥ c3
x1 ≥ 0 , x2 ≥ 0 , x 3 ≤ 0. •
Para um dado problema de Programação Linear, no caso de existir o óptimo do primal, também existe o do dual e
são iguais. Mas para soluções possíveis do primal inferiores ao seu óptimo, existirão soluções possíveis do dual
superiores ao seu óptimo, e portanto soluções não óptimas do primal serão menores que as correspondentes - não
óptimas - do dual.
Finalmente, se a solução do primal crescer positivamente para infinito, o dual não tem qualquer solução possível.
Em contrapartida, se a solução do dual decrescer negativamente para infinito, também o primal não terá qualquer
solução possível. Para lá destes casos, podem mesmo não existir soluções possíveis para ambos os problemas, primal
e dual.