Professional Documents
Culture Documents
Coimbra
Fundamentos e Ensino de lgebra
Programao Linear
Pgina 2 de 45
Programao Linear
ndice
Introduo
Nota Histrica
Onde se aplica?
A quem se destina?
10
Definies
11
13
Exemplo 1
14
Exemplo 2
18
Exemplo 3
25
Sintetizando
32
Mtodo Simplex
33
Concluso
43
Bibliografia
45
Pgina 3 de 45
Programao Linear
Introduo
No dia-a-dia, o Homem debate-se com problemas, levando-o a decidir
ou escolher entre as alternativas viveis. Este, por vezes, de forma
inconsciente, define o problema, formula o objectivo, tem em conta as
limitaes com que se defronta e avalia as alternativas possveis; s ento
escolhe a melhor via.
Quando se trata de problemas simples, apela frequentemente
intuio e experincia, que mostram ser suficientes para a tomada de
decises. No entanto, a complexidade crescente dos problemas leva
necessidade de uma abordagem segundo uma ptica cientfica, o que exige o
recurso a mtodos (primeiro manuais e numa segunda abordagem,
computacionais) que permitam tirar o maior proveito das situaes.
neste contexto que entra a Programao Linear. Esta aparece no
programa de Matemtica A do 11 ano como contedo obrigatrio,
contrariamente ao que acontecia no programa anterior, onde aparecia como
contedo facultativo.
Neste trabalho, vamos comear por uma breve introduo histrica
para, de seguida, resolver analtica e geometricamente problemas de
Programao Linear envolvendo duas variveis, pois o seu tratamento
simples e preconizado no programa de Matemtica A. Poderamos tambm
resolver geometricamente problemas com trs variveis, no entanto no o
faremos. Aproveitamos sim, para os resolver utilizando o Mtodo Simplex
(que no dado no Ensino Secundrio pois muito complexo e normalmente
s estudado em Matemtica Aplicada ou Computacional) e deste modo,
trabalharmos o clculo algbrico e resolver problemas com muitas variveis.
Pgina 4 de 45
Programao Linear
Nota Histrica
semelhana de outros ramos cientficos, a Programao Linear tem
as suas razes na Antiguidade Clssica ou talvez na Antiguidade Oriental,
uma vez que a optimizao um tema que sempre
preocupou o Homem. Euclides, (sculo III a. C.) no seu
livro III, tentava encontrar a maior e a menor distncia
de um ponto a uma circunferncia, e no seu livro IV
descreveu uma forma de obter um paralelogramo de rea
mxima com um dado permetro.
Durante os sculos XVII e XVIII, desenvolveramse mtodos de clculo que permitiram resolver os
Euclides
problemas
de
optimizao,
como
por
exemplo,
problemas
de extremos condicionados com restries de igualdade,
sendo notveis os contributos dados por Newton, Fermat,
Leibniz, Lagrange e Bernoulli.
Cournot considerado um dos percursores da
programao matemtica uma vez que o seu estudo se
baseou na igualdade entre receita marginal e custo
marginal, logo implicitamente, na determinao do ponto
Cournot
de equilbrio que origina o lucro mximo.
Quesnay, em 1759, publica o Tableau Economique que pode ser
considerado a primeira grande tentativa de modelizar a economia. Surge
assim, o primeiro marco no caminho dos modelos de
programao ao macroeconmico.
O Sistema de Equilbrio Geral, publicado em 1874 por
Walras, representa, em termos tericos, um considervel
avano na procura da melhor forma de interpretar a
Quesnay
economia como um todo. Na sequncia dos trabalhos
realizados sob a gide do governo dos Estados Unidos da Amrica, Leontief
apresenta, em 1936, o modelo input-output para a
economia americana. Este considerado o segundo
marco.
Em 1937, publicado por Von Neumann, A Model
of General Economic Equilibrium onde formulado o
modelo de Programao Linear dinmica, em que admite
mtodos alternativos de produo simples ou conjunta.
Kantorovich, em 1939, formulou rigorosamente
Walras
um problema de Programao Linear no trabalho Mtodos
Matemticos de Organizao e Planeamento da Produo , mas no
apresentou um algoritmo de resoluo. No entanto, este trabalho, no teve
Pgina 5 de 45
Programao Linear
Pgina 6 de 45
Programao Linear
Pgina 7 de 45
Programao Linear
Pgina 8 de 45
Programao Linear
Onde se aplica?
Os domnios de aplicao da Programao Linear so vastssimos,
podendo citar-se fundamentalmente os seguintes:
_ Economia e especialmente Economia de Empresa, onde se situam as
aplicaes mais frteis e os estmulos mais fortes para os desenvolvimentos
tericos da Programao Linear;
_ Matemtica, onde a Programao Linear tem impulsionado a
obteno de importantes resultados tericos e o aperfeioamento das
tcnicas de anlise numrica;
_ Militar, onde as aplicaes so numerosas mas normalmente pouco
divulgadas por razes de segurana.
Programao Linear
A quem se destina?
Destina-se, essencialmente, a administradores, engenheiros, tcnicos,
, com o objectivo de, por exemplo, minimizar custos ou maximizar lucros.
Pgina 10 de 45
Programao Linear
Definies
Funo Objectivo_ uma funo linear, que vamos pretender
optimizar, isto , maximizar ou minimizar;
Restries_ consiste em relacionar cada actividade e recursos
utilizados e respeitar a disponibilidade de recursos. Muitas das vezes, as
restries so escritas atravs de inequaes ou equaes lineares.
Usualmente so considerados dois tipos de restries:
Restries de no negatividade_ muitas das vezes, as
variveis que entram na formulao do problema no podem
assumir valores negativos. Por isso, em geral, a no negatividade
das variveis considerada uma restrio natural, que acontece
pelo facto de muitas das actividades s poderem ser executadas a
nveis no negativos;
Restries do problema ou restries propriamente ditas_
aquando da formulao de um problema deve elaborar-se uma lista
de todos os itens que impliquem restries s possveis solues;
Programao Linear
Pgina 12 de 45
Programao Linear
Programao Linear
Exemplo 1
A Direco de Marketing do IKEA sugere o lanamento de um novo
modelo de secretria e de estante em substituio dos modelos actuais.
Aquela Direco no v dificuldade de colocao no mercado para as
estantes enquanto que aconselha que a produo mensal de secretrias no
ultrapasse as 160 unidades.
Aps estudos levados a cabo pela Direco de Produo, conclui-se
que:
_A disponibilidade mensal do Departamento de Estampagem de
720 horas-mquina;
_ A disponibilidade mensal do Departamento de Montagem e
Acabamento de 880 horas-homem;
_ Cada secretria necessita de 2 horas-mquina de Estampagem e 4
horas-homem de Montagem e Acabamento;
_ Cada estante necessita de 4 horas-mquina de Estampagem e 4
horas-homem de Montagem e Acabamento.
Por outro lado, as margens brutas unitrias estimadas so de 60
euros para as secretrias e 30 euros para as estantes.
A empresa pretende determinar o plano de produo mensal para
estes novos modelos que maximiza a margem bruta.
Formalizao
Sejam x e y o nmero de secretrias e de estantes dos novos
modelos, respectivamente, a produzir mensalmente e z a margem bruta
total no mesmo perodo. Tem-se, evidentemente, x e y como variveis de
deciso e como objectivo determinar valores para estas variveis que
maximizem
z = 6x + 3y (em 10 euros),
tendo em conta as restries impostas pelas limitaes da capacidade
produtiva e do mercado.
Relativamente, ao Departamento de Estampagem, sabe-se que:
_ Cada secretria necessita de 2 horas-mquina, pelo que o nmero
total de horas-mquina necessrias produo de x secretrias 2x;
_ Cada estante necessita de 4 horas-mquina, pelo que o nmero
total de horas-mquina necessrias produo de y estantes 4y;
_ A disponibilidade mensal de 720 horas-mquina.
Pgina 14 de 45
Programao Linear
Tempo total
de mquina
gasto
na
produo de
secretrias
Mais
Tempo total
de mquina
gasto
na
produo de
estantes
No pode
exceder
Disponibilidade
em
HorasMquina
Programao Linear
Pgina 16 de 45
Programao Linear
Pgina 17 de 45
Programao Linear
Exemplo 2
Uma das tarefas propostas para a Quinta das Celebridades consiste
em determinar as quantidades de cada tipo de rao que devem ser dadas
diariamente a cada animal de forma a conseguir uma certa qualidade
nutritiva a um custo mnimo.
Os dados relativos ao custo de cada tipo de rao, s quantidades
mnimas dirias de ingredientes nutritivos bsicos a fornecer a cada animal,
bem como s quantidades destes existentes em cada tipo de rao (g/kg)
constam no quadro seguinte:
Rao
Ing. Nutritivos
Hidratos de
carbono
Vitaminas
Protenas
Custo (cnts/kg)
Granulado
Farinha
Quantidade
mnima requerida
20
50
200
50
30
10
10
30
5
150
210
Formalizao
Designemos, respectivamente, por x e y, as quantidades em
quilogramas de granulado e farinha a fornecer diariamente a cada animal.
O custo total (em euros) a suportar diariamente com a alimentao de
cada animal pois
z = 10x + 5y.
O objectivo dos concorrentes minimizar o custo total, sabendo que
as suas possibilidades de escolha esto limitadas pelas seguintes restries
relativas ao regime alimentar de cada animal:
20x + 50y 200.
O primeiro membro desta desigualdade exprime a quantidade (g) de
hidratos de carbono a fornecer diariamente. O segundo membro exprime,
por sua vez, a quantidade quotidiana mnima necessria destes nutrientes.
Analogamente para as vitaminas,
50x + 10y 150,
Pgina 18 de 45
Programao Linear
e para as protenas,
Programao Linear
Pgina 20 de 45
Programao Linear
Casos particulares
Nos exemplos 1 e 2, as solues ptimas so nicas (ver figuras 1.2 e
1.4). Contudo, nem sempre assim acontece. Com efeito, considere-se o
seguinte problema:
maximizar z = 2x + y
sujeito a 3x + 4y 12
4x + 2y 10
x, y 0.
A representao grfica deste problema encontra-se na figura 1.5.
Conclui-se, sem dificuldade, que z = 5 o valor mximo da Funo Objectivo.
Igualmente se conclui que quer o ponto extremo A quer o ponto extremo B
so solues ptimas do problema; por outras palavras, neste caso, dois
pontos extremos conduzem ao mesmo valor (mximo) para a Funo
Objectivo. Mais, qualquer ponto da aresta AB tambm soluo ptima,
dado que a recta de nvel z = 5 assenta sobre aquela aresta; existe pois uma
infinidade de solues ptimas.
Programao Linear
Programao Linear
Pgina 23 de 45
Programao Linear
Pgina 24 de 45
Programao Linear
EXEMPLO 3
Para angariarem fundos para o Carro da Queima das Fitas, os alunos
do 3ano de Matemtica optaram por vender 300 t-shirts e 600
esferogrficas. Para tal, decidiram fazer dois tipos de lotes:
tipo A: uma t-shirt e uma esferogrfica;
tipo B: duas t-shirts e cinco esferogrficas.
Os lotes do tipo A foram vendidos a 8 e os do tipo B a 18.
Quantos lotes de cada tipo convm formar para obter o lucro
mximo com a sua venda?
Resoluo: Tal como j foi mencionado anteriormente, o mtodo da
Programao Linear consiste em procurar a soluo ptima de um problema
sendo satisfeitas vrias condies.
As equaes e inequaes utilizadas so do 1grau (da a palavra
linear).
O problema que vamos resolver de seguida um exemplo simplificado
de outros problemas idnticos que, frequentemente, apresentam uma
complexidade que exige a resoluo por via computacional.
H 300 t-shirts e 600 esferogrficas.
Comecemos por identificar as incgnitas do problema que so:
x, nmero de lotes de tipo A
y, nmero de lotes de tipo B
Graficamente, x e y podem ser tomados, respectivamente, como
coordenadas de um ponto.
_Organizemos os dados numa tabela para podermos relacion-los mais
facilmente:
Pgina 25 de 45
Programao Linear
Tipo A
Tipo B
Total
Nmero de
lotes
x
y
x+y
Nmero de
t-shirts
x
2y
x + 2y
Nmero de
esferogrficas
x
5y
x + 5y
Lucro
8x
18y
8x + 18y
Programao Linear
Figura 3.1
Figura 1.11: representao da recta y = 120 1/5x.
x + 2y = 300
x = -2y + 300
x = -2y + 300
x + 5y = 600
x + 5y = 600
x = -2y + 300
x = 100
3y = 300
y = 100
Pgina 27 de 45
Programao Linear
Programao Linear
2 SITUAO:
E se os preos dos lotes fossem outros?
A Tesoureira argumentou que se poderiam mudar os preos dos lotes
sendo o lote do tipo A vendido a 4 e o lote do tipo B a 20. Todas as
restries anteriores se mantm, mudando apenas a Funo Objectivo que
passa a ser
L = 4x + 20y.
Qual ser agora a soluo ptima?
Ora, y = -1/5x + L/20.
Faa-se, por exemplo, L = 2000.
Obtm-se ento, y = - 1/5x + 100.
Pgina 29 de 45
Programao Linear
3 SITUAO:
Atendendo ao notvel decrscimo do lucro, o presidente do Carro
apresentou uma nova proposta de preos:
E se cada lote A for vendido a 10 e cada lote B a 20?
A Funo Objectivo agora:
L = 10x + 20y.
Tracemos, por exemplo, a recta de equao 10x + 20y = 4000 que
corresponde recta y = 200 1/2x. Fazendo com que deslize at encontrar
a regio de validez, verificamos que isso acontece nos pontos (100, 100),
(102, 99), , (300, 0).
Pgina 30 de 45
Programao Linear
Pgina 31 de 45
Programao Linear
SINTETIZANDO
O fundamental da resoluo do problema consiste em:
_ identificar as incgnitas x e y;
_ exprimir as vrias restries por equaes ou inequaes lineares
em funo de x e y, (graficamente, essas condies representam rectas ou
semiplanos);
_ efectuar a sua conjuno, o que significa determinar graficamente
a interseco dos conjuntos por elas definidos e delimitar uma regio de
validez onde se situam os pontos admissveis;
_ algebricamente, devemos utilizar as equaes definidas pelas
restries para determinar as coordenadas dos pontos de interseco das
rectas duas a duas e, assim, obter os vrtices do polgono (regio de validez
);
_ identificar a funo objectivo, linear em x e y, e determinar um
elemento da famlia de rectas que lhe corresponde, para a partir dela,
encontrar a soluo ptima.
Pgina 32 de 45
Programao Linear
Mtodo Simplex
Para a resoluo de problemas de Programao Linear, existe um
mtodo conhecido como Mtodo Simplex (o nome simplex vem do facto do
conjunto de restries lineares representarem geometricamente uma figura
chamada simplexo, que o equivalente aos poliedros no espao e aos
polgonos no plano).
Exemplo
Vamos introduzir o Mtodo Simplex, aplicando-o ao exemplo seguinte:
maximizar 5x1 + 4x2 + 3x3
sujeito a
2x1 + 3x2 + x3 5
4x1 + x2 + 2x3 11
3x1 + 4x2 + 2x3 8
x1, x2, x3 0.
(2)
(4)
Programao Linear
maximizar z
sujeito a x1, x2, x3, x4, x5, x6 0.
(5)
Pgina 34 de 45
Programao Linear
Pgina 35 de 45
Programao Linear
(9)
Pgina 36 de 45
Programao Linear
Programao Linear
maximizar
sujeito a
1 j n cjxj
1 j n aij xj bi ( i = 1, 2, , m)
xj 0 ( j = 1, 2, , n)
1 j n cjxj
Mudando variveis
Caso uma varivel xk seja no positiva, tomamos xk= -xk, que no
negativa. Caso uma varivel x l seja real, fazemos xl = x+l - x-l,fazendo x+l e x-l
no negativas:
se xl 0 temos x+l = 0 e x-l 0
se xl 0 temos x+l 0 e x-l = 0
Mudando restries
Podemos transformar uma restrio numa restrio multiplicando
os dois membros por -1. Uma restrio f(x) = 0 pode ser transformada em
duas restries: uma do tipo f(x) 0 (que equivalente a f(x) 0) e outra
do tipo f(x) 0.
Assim, podemos resolver qualquer tipo de problema de Programao
Linear utilizando o mtodo descritivo. Na verdade, podemos programar um
computador para resolver estes problemas. Existem vrios softwares que
resolvem problemas de Programao Linear.
Programao Linear
sujeito a
1 j n aijxj bi
xj 0
( i = 1, 2, , m e j = 1, 2, , n).
x0
1 j n aijxj x0 bi,
xj 0
( i = 1, 2, , m e j = 0, 1, 2, , n)
x1 - x2 + x3
2x1 - x2 + 2x3 4
2x1 - 3x2 + x3 -5
-x1 + x2 - 2x3 -1
x1, x2, x3 0
O problema auxiliar
maximizar -x0
sujeito a: 2x1 - x2 + 2x3 - x0 4
2x1 - 3x2 + x3 - x0 -5
-x1 + x2 - 2x3 - x0 -1
x1, x2, x3, x0 0
Introduzindo as variveis de folga x4, x5 e x6, temos o sistema:
Pgina 39 de 45
Programao Linear
x4 = 4 - 2x1 + x2 - 2x3 + x0
x5 = -5 - 2x1 + 3x2 - x3 + x0
x6 = -1 + x1 - x2 + 2x3 + x0
w = - x0
claro que no podemos adoptar x4 = 4, x5 = -5 e x6 = -1. A ideia
tomarmos a varivel de valor mais negativo (no caso, x 5) e trocar por x0.
Assim, temos o sistema
x0 = 5 + 2x1- 3x2 + x3 + x5
x4 = 9
- 2x2 - x3 + x5
x6 = 4 + 3x1 - 4 x2 +3x3 + x5
w = - 5 - 2x1 + 3x2 - x3 - x5
Aumentando x2 para 1, temos:
x2 = 1 + 3/4x1 + 3/4 x3 + 1/4x5 - 1/4x6
x0 = 2 - 1/4x1 - 5/4 x3 + 1/4x5 + 3/4x6
x4 = 7 - 3/2x1 - 5/2 x3 + 1/2x5 + 1/2x6
w = -2 + 1/4x1 + 5/4 x3 - 1/4x5 - 3/4x6
Agora aumentamos x3 e temos:
x3 = 8/5 - 1/5x1 + 1/5 x5 + 3/5x6 - 4/5x0
x2 = 11/5 + 3/5x1 + 2/5 x5 + 1/5x6 - 3/5x0
x4 = 3 - x1 - x6 + 2x0
w=
-x 0
que a soluo ptima. Assim, temos uma soluo para o problema original.
Podemos agora voltar ao problema original. Ainda falta escrever z = x 1 - x2 +
x3 em funo das variveis nulas. Basta substituir x 2 e x3, obtendo z = -3/5
+ 1/5x1 - 1/5 x5 + 2/5x6. Alm disso, podemos omitir x0 e escrever o sistema
inicial
Pgina 40 de 45
Programao Linear
Pgina 41 de 45
Programao Linear
Pode ser que o mtodo simplex entre em ciclo, sem nunca encontrar
uma soluo ptima. Isto depende dos critrios utilizados para escolher a
varivel a ser aumentada e a equao onde esta varivel deve ser isolada no
sistema. Por exemplo, se os critrios forem, escolher a varivel cujo
coeficiente em z mais positivo e escolher, no caso de empate, a equao
cujo primeiro termo tem a varivel de menor ndice (que so os critrios
mais utilizados), o problema cujo sistema
x5 = -1/2x1 + 11/2 x2 + 5/2x3 - 9x4
x6 = -1/2x1 + 3/2 x2 + 1/2x3 - x4
x7 = 1 - x1
z = 10x1 - 57x2 - 9x3 - 24x4
ir entrar em ciclos de 6 iteraes (isto , a cada 6 iteraes
obtemos o mesmo sistema).
Na verdade, problemas deste tipo so raros. Todavia, existem
critrios que nunca deixam os sistemas entrarem em ciclo. Os seguintes
critrios evitam ciclos:
Concluso
Pgina 42 de 45
Programao Linear
Programao Linear
Pgina 44 de 45
Programao Linear
Bibliografia
Antunes, Carlos Henggeler e Tavares, Lus Valadares; Casos de
Aplicao da investigao operacional; McGraw-Hill;
Ferreira, Manuel A.M; Amaral, Isabel; Programao Matemtica;
Lisboa; Edies Silado; 1995;
Jorge, Ana Maria Brito; Alves Conceio Barroso; Fonseca Graziela;
Barbedo Judite; Infinito 11, volume 1; Areal Editores;
Sites Consultados:
www.google.pt
www.sapo.pt
Pgina 45 de 45