Escolar Documentos
Profissional Documentos
Cultura Documentos
um
ub
et
o8
@
gm
ai
l.c
om
om
l.c
ai
gm
@
o8
et
ub
um
m
– ??? –
Alberto Chicafo Mulenga
Maputo, Moçambique
13 de Outubro de 2020
i
Prefácio
Este livro, com a denomicação Investigação Operacional - uma abordagem introdutória, é
um resumo de conteúdos que são leccionados nos cursos de licenciatura de diversas áreas
do conhecimento como Administração e Gestão de Empresas, Contabilidade e Auditoria,
Economia, Engenharia, Estatı́stica, Informática, Matemática, entre outras. Esta versão
basicamente tem conteúdos relacionados à Programação linear. Assim, a definição da
investigação operacional sua caracterização, os métodos gráfico e simplex com as variantes
do método simplex de duas fases, método simplex de Grande M e o método simplex dual-
simplex, dualidade em programação linear, análise de sensibilidade em programação linear,
om
programação linear inteira, problemas de transporte e afectação, constituem os conteúdos
deste livro. Estes temas actualmente constituem os fundamentos da programação linear
l.c
onde o objectivo principal é a optimização das soluções empresariais no processo de
ai
tomada de decisão tanto na alocação de recursos como para a minimização dos custos em
gm
possı́veis investimentos sem deixar de lado a noção de solução viável. Em cada capı́tulo,
são apresentados os conceitos teóricos com exemplos ilustrativos fazendo um total de
@
com indicação de soluções num total de 71 exercı́cios. No final do livro, estão algumas
et
Alberto Mulenga
Maputo, 13 de Outubro de 2020
m
Typeset by LATEX 2ε
Conteúdo
Lista de Figuras v
om
Lista de Tabelas vii
l.c
1 Introdução
ai 1
gm
1.1 Definição de Investigação Operacional . . . . . . . . . . . . . . . . . . 1
1.2 Caracterı́sticas da investigação operacional . . . . . . . . . . . . . . . 4
@
2 Programação linear 9
et
2.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
ub
ii
CONTEÚDO iii
om
4.2 Variação nas quantidades dos recursos . . . . . . . . . . . . . . . . . 100
4.3 Variação nos coeficientes da função objectivo . . . . . . . . . . . . . . 107
l.c
4.4 Variações nos coeficientes das actividades . . . . . . . .
ai . . . . . . . . 111
4.5 Adição de uma nova variável . . . . . . . . . . . . . . . . . . . . . . . 114
gm
4.6 Adição de uma nova restrição . . . . . . . . . . . . . . . . . . . . . . 116
4.7 Exercı́cios propostos . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
@
o8
om
7.5 Exercı́cios propostos . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
l.c
Bibliografia 222
ai
gm
@
o8
et
ub
um
m
Lista de Figuras
om
2.1 Domı́nio solução de sistema de inequações . . . . . . . . . . . . . . . 23
l.c
2.2 Domı́nio solução e pontos máximo e mı́nimo de F(x) . .
ai . . . . . . . 24
2.3 Ilustração da resolução de um problema de maximização . . . . . . . 26
gm
2.4 Ilustração da resolução de um problema de minimização . . . . . . . 29
2.5 Gráfico do exemplo 2.9 . . . . . . . . . . . . . . . . . . . . . . . . . . 31
@
v
LISTA DE FIGURAS vi
om
l.c
ai
gm
@
o8
et
ub
um
m
Lista de Tabelas
om
2.1 Análise qualitativa da informação do problema das lámpadas . . . . . 11
l.c
2.2 Relacionamento da informação do problema de alfaiate . . . . . .
ai . . 14
2.3 Relacionamento da informação do problema de dieta . . . . . . . . . 15
gm
2.4 Informação do problema de adubo . . . . . . . . . . . . . . . . . . . . 16
2.5 Cálculo do ponto máximo e mı́nimo de F(x) = 1x1 − 2x2 + 4 . . . . . 24
@
vii
LISTA DE TABELAS viii
om
l.c
ai
gm
@
o8
et
ub
um
m
Capı́tulo 1
Introdução
om
1.1 Definição de Investigação Operacional
l.c
ai
gm
O nome “Investigação Operacional (IO)”, apareceu pela primeira vez durante a Se-
gunda Guerra Mundial, quando equipas de investigadores procuravam desenvolver
@
Churchman (1971), no seu livro intitulado conceitos básicos dos sistemas e orga-
nizações, considerou a investigação operacional, como a aplicação de instrumentos,
técnicas e métodos cientı́ficos a problemas referentes ao funcionamento de um sistema,
permitindo que os encarregados do seu controle, alcancem soluções óptimas para tais
problemas. Segundo Richard (1974), a investigação operacional é uma aplicação
1
Investigação Operacional
om
sariais ao nı́vel da administração.
l.c
A investigação operacional pode ser definida como:
ai
1. A arte de dar respostas óptimas a problemas que tratados de outra forma teriam
gm
respostas piores. (Uso da informação para a tomada de decisão).
de decisão).
ub
decisão viável).
Mulenga 2 acm@2020
Investigação Operacional
A investigação operacional tem sido vista pelos gestores e outros utilizadores sob
dois enfoques diferentes quanto à abordagem, mas coerentes e complementares na
aplicação do processo de resolução de problemas empresariais.
(a) Enfoque clássico – busca da solução óptima. O investigador nesta abor-
dagem tem um conjunto de variáveis quantitativas, ele faz relações funcionais ou
sistema de equações, resolve e obtém uma solução óptima.
om
tanto variáveis quantitativas como qualitativas, o investigador relaciona as variáveis
e produz modelos económico-matemáticos. Dos modelos derivam – se alternativas de
l.c
solução e finalmente é escolhida uma destas alternativas como solução viável para o
problema.
ai
gm
@
o8
et
ub
um
m
Mulenga 3 acm@2020
Investigação Operacional
om
As principais caracterı́sticas da investigação operacional são:
l.c
• Abordagem por equipa: consiste no uso de conhecimentos cientı́ficos por equipes
inter-disciplinares, isto é, formação de conjuntos e subconjuntos de equipes entre o
ai
pessoal técnico, treinado, mestres, especialistas, etc. de várias áreas de conhecimento
gm
para fazer um esforço conducente a determinação da melhor forma de utilização de
recursos limitados. Esta caracterı́stica multi-disciplinar de resolver os problemas or-
@
problemas.
et
ub
Mulenga 4 acm@2020
Investigação Operacional
om
mento de um sistema real, que não pode ser compreendido tal como está, recorrendo
a uma representação adequada para fins experimentais ou de estudo do sistema real,
l.c
desde que o sistema real seja determinı́stico e não estocástico.
ai
O desenvolvimento dos computadores digitais, face a sua velocidade de processa-
gm
dentro das empresas, o que leva aos profissionais da investigação operacional num
ub
Apesar das fases não serem seguidas rigosamente, em geral, e segundo Andrade
m
1. Definição do problema
2. Construção do modelo
3. Solução do modelo
4. Validação do modelo
5. Implementação da solução
Mulenga 5 acm@2020
Investigação Operacional
om
por conceber.
l.c
3. Solução do modelo. Como a solução do problema pode ser obtida por ter-
ceiros, nesta fase é necessário analisar todos os procedimentos mais adequados, em
ai
termos do método proposto, rapidez de processamento e precisão da resposta para
gm
óptima é patente.
et
ub
Mulenga 6 acm@2020
Investigação Operacional
Entre muitos autores, destacam-se Quesnay (1759), Walras (1874), Markov (1856
om
– 1922), von Neumann (1937), Kantorovich (1939), Wicks e Yewdale (1971), Ackoff
l.c
(1971), Duckworth (1972), etc., que contribuı́ram significativamente na divisão da
Investigação Operacional em diversas categorias. ai
gm
O critério usado na sucinta descrição foi o de tratar em separado, quando possı́vel,
as várias técnicas, teorias, métodos e modelos que precisamente são discutidas em
@
Mulenga 7 acm@2020
Investigação Operacional
om
• O desejo de confrontar demais os métodos quantitativos pode ser perigoso, pois,
l.c
chega-se a soluções matemáticas que carecem de uma interpretação social.
ai
gm
Tabela 1.1: Modelos de investigação operacional
@
Mulenga 8 acm@2020
Capı́tulo 2
Programação linear
om
2.1 Introdução
l.c
ai
gm
Desı́gna - se por programação linear (PL), um conjunto de técnicas que permitem
resolver os problemas de optimização, num sistema de recursos limitados, sendo li-
@
A importância especial da programação linear, resulta não só das potencialidades dos
ub
9
Investigação Operacional
trar a melhor distribuição possı́vel dos recursos, de forma a atingir um valor óptimo
objectivo que pode ser a maximização dos lúcros ou a minimização dos custos.
Assim, um problema de programação linear é caracterizado por três elementos básicos:
om
de decisão.
l.c
3. Um conjunto de restrições: como as empresas utilizam recursos para pro-
duzir quantidades de produtos, é evidente que haja restrições relacionadas à
ai
utilização destes recursos, tanto em relação às quantidades disponı́veis como
gm
em relação a forma de emprego.
@
determinado produto, entre vários, que se deve produzir para obter o maior
ub
lúcro possı́vel?”
um
Mulenga 10 acm@2020
Investigação Operacional
om
Resolução
Este é um exemplo tı́pico de um problema de programação linear. Para tornar claro,
l.c
as relações entre o objectivo e as restrições, é necessário apresentar esta informação
numa tabela. O método usado para a formulação dos problemas de programação
ai
linear tem uma determinada lógica, ainda que esta não seja rigorosamente seguida,
gm
De corte 1 2 32
De verificação 3 4 84
Lúcro unitário 50 80 -
Mulenga 11 acm@2020
Investigação Operacional
om
última linha da Tabela 2.1.
l.c
Conjunto de restrições: restrições são inequações ou equações que representam as
relações entre as quantidades produzidas, o número de horas necessárias para produ-
ai
zir uma unidade de cada produto considerando a disponibilidade máxima do recurso.
gm
Assim, tem-se:
• A restrição para o departamento de corte: 1x1 + 2x2 ≤ 32
@
Mulenga 12 acm@2020
Investigação Operacional
om
Caso 3. O par de valores x1 = 8 e x2 = 13 tem Z = 1440. As restrições de
l.c
não negatividade são satisfeitas porque os valores são positivos. Mas, deve-se ve-
rificar também as restrições relativas aos recursos. Na primeira restrição tem-se:
ai
r1 = 1 × 8 + 2 × 13 = 8 + 26 = 34 < 32 não é verdadeiro, mas na segunda restrição
gm
restrição não é satisfeita o par (8, 13) com Z = 1440, não é solução viável.
o8
soluções possı́veis, uma solução óptima possı́vel. Para que o processo não seja por
tentativas, existem métodos especı́ficos que são usados para encontrar as soluções
um
óptimas. Para o exemplo 2.1, a solução óptima é: x1 = 20, x2 = 6 com Zmax = 1480.
m
No exemplo 2.1, assumiu-se que tanto a função objectivo como as restrições são
todas lineares. Intrinsecamente são utilizadas duas proposições.
Mulenga 13 acm@2020
Investigação Operacional
om
1 m2 de lã, e um vestido gasta 1, 2 e 3 m2 dos mesmos tecidos, respectivamente. Se
um fato é vendido à 30 unidades de medida (u.m.) e um vestido por 50 u.m., quantas
l.c
unidades de cada artigo fato ou vestido deve o alfaiate confeccionar de modo a obter
maior lúcro?
ai
gm
Tabela 2.2: Relacionamento da informação do problema de alfaiate
@
Algodão 2 1 16
ub
Seda 1 2 11
um
Lã 1 3 15
m
Preço de venda 30 50 -
Mulenga 14 acm@2020
Investigação Operacional
om
nutritivo A B C D E
l.c
Calorias 1 0 1 1 2
Vitaminas 0 1
ai 0 1 1
gm
Custo unitário 2 20 3 11 12
@
sujeito à 0x1 + 1x2 + 0x3 + 1x4 + 1x5 ≥ 50
m
x ,x ,x ,x ,x ≥ 0
1 2 3 4 5
Mulenga 15 acm@2020
Investigação Operacional
Azoto 50 10 100
Fóstoro 20 20 120
Potássio 10 40 120
om
Custo unitário 30 20 -
l.c
O modelo matemático correspondente é:
ai
gm
minimizar W = 30x1 + 20x2
50x1 + 10x2 ≥ 100
@
20x1 + 20x2 ≥ 120
o8
sujeito à
10x1 + 40x2 ≥ 120
et
x1 , x2 ≥ 0
ub
um
maximizar Z = c1 x1 + c2 x2 + ... + cm xm
a11 x1 + a12 x2 + ... + a1m xm ≤ b1
a21 x1 + a22 x2 + ... + a2m xm ≤ b2
sujeito à ...
an1 x1 + an2 x2 + ... + anm xm ≤ bn
x1 , x2 , ..., xm ≥ 0
Mulenga 16 acm@2020
Investigação Operacional
Assim, para os problemas com restrições onde existe um recurso máximo disponı́vel
usa-se o sinal (≤) e para as restrições onde no recurso existe uma quantida mı́nima
desejável usa-se o sinal (≥). Se uma ou mais restrições apresentar o sinal de igualdade
(=), esta pode ser substituida por duas inequações, em seguida uma das inequações
deverá ser multiplicada por (-1), caso seja necessário, para satisfazer a função objec-
tivo.
om
2x + 3x ≤ 4
1 2
Por exemplo: 2x1 + 3x2 = 4 equivale a escrever o sistema
2x + 3x ≥ 4
1 2
l.c
2.1.3 Exercı́cios propostos
ai
gm
Exercı́cio 2.1. Um padeiro dispõe de 150, 90 e 150 unidades dos ingredientes A, B
e C respectivamente. Cada pão necessita de 1 unidade de A, 1 de B e 2 de C, e um
@
Exercı́cio 2.3. Certa empresa fabrica 2 produtos P1 e P2. O lúcro por unidade
de P1 é de 100 unidades de medida e o lúcro unitário de P2 é de 150 unidades de
medida. A empresa necessita de 2 horas para fabricar uma unidade de P1 e 3 horas
Mulenga 17 acm@2020
Investigação Operacional
para fabricar uma unidade de P2. O tempo mensal disponı́vel para essas actividades
é de 120 horas. As demandas esperadas para os dois produtos levaram a empresa a
decidir que os montantes produzidos de P1 e P2 não devem ultrapassar 40 unidades
de P1 e 30 unidades de P2 por mês. Elabore o modelo do sistema de produção mensal
que maximiza o lúcro da empresa.
om
balho são apenas de 9 horas diárias. Admitindo que, por cada hectare semeado de
arroz é necessário 1 hora de trabalho e por cada hectare de milho são necessárias 2
l.c
horas. Sabendo que por cada hectare de arroz semeado o lúcro é de 5 u.m. e por
cada hectare de milho 2 u.m, formule o problema como um problema de programação
ai
linear.
gm
@
Exercı́cio 2.5. Dois paı́ses A e B, emprestam dinheiro a outro pais C. Por cada
X unidades monetárias concedidas pelo pais A, este cobra anualmente do pais C,
o8
unidades monetárias concedidas pelo paı́s B, são cobrados anualmente ao paı́s C, uma
ub
toneladas de peixe. Sabendo que por cada unidade monetária emprestada, o paı́s C
recebe do paı́s A 500 espingardas e do paı́s B 300 metralhadoras, formule o problema
m
de programação linear que maximiza o número de armas que C pode adquirir por
este processo.
Exercı́cio 2.6. Uma companhia de aluguel de camiões possuı́ dois tipos de camiões:
o tipo A com 2 m3 de espaço refregerado e 4 m3 de espaço não refregerado e o tipo
B com 3 m3 de espaço refregerado e 3 m3 de espaço não refregerado. Uma fábrica
de produtos alimentı́cios precisou transportar 9 m3 de produto refregerado e 12 m3
de produto não refrigerado. Quantos camiões de cada tipo devem ser alugados de
modo a minimizar o custo total, se o aluguel de um camião do tipo A é de 30 u.m
Mulenga 18 acm@2020
Investigação Operacional
Exercı́cio 2.7. Uma pequena manufatura produz dois modelos de carteiras es-
colares. O modelo padrão e o modelo de luxo dessas carteiras. Cada unidade do
modelo padrão requer 3 horas de lixação e 1 hora de polimento. Cada unidade do
modelo de luxo exige 1 hora de lixação e 4 horas de polimento. A fábrica dispõe de
2 lixadores e 3 polidores, cada pessoa trabalha 40 horas semanais. As margens de
lúcro são 24 e 32 unidades monetárias, respectivamente, para cada unidade padrão e
om
de luxo. Não existem restrições de demanda para ambos os modelos. Elabore o mo-
delo de programação linear que permita calcular a produção semanal que maximiza
l.c
a margem total de lúcro do fabricante.
ai
Exercı́cio 2.8. Uma fábrica de imóveis dispõe de 6 placas de madeira e 28 ho-
gm
ras que poderá utilizar para fabricar biombos decorativos. No passado, houve dois
@
modelos de biombos que se venderam bastante bem, pelo que o fabricante já restrin-
girá a esses dois modelos. Segundo as suas estimativas, cada biombo do modelo I,
o8
do modelo II, requer uma placa de madeira e 8 horas de mão – de – obra. Os biombos
ub
Exercı́cio 2.9. Uma fábrica de tintas produz dois tipos de tinta: uma tinta para
interiores e outra tinta para exteriores. Para isso, a fábrica recorre a dois tipos de
matéria prima A e B, que possuı́ 25 e 35 unidades de medida respectivamente, em
stock que não poderá ser reforçado ao longo do processo. Para produzir um litro de
tinta interior é necessário uma unidade de medida da matéria prima A e três unida-
des de matéria prima B. Para produzir um litro da tinta exterior é necessário duas
unidades da matéria prima A e 4 unidades de B. Um estudo de mercado indica que a
procura de tinta interior não excede em mais de 1 unidade de medida a tinta exterior.
Mulenga 19 acm@2020
Investigação Operacional
O preço de venda da tinta interior é de 30.00 meticais por litro e da tinta exterior
de 45.00 meticais por litro. Formule o problema como um problema de programação
linear.
om
correspondem de acordo com uma tabela de prescrição clı́nica de autoria dos invs-
tigadores da clı́nica, à 50; 35; 22; 25 e 30 pontos respectivamente. A clı́nica prevê
l.c
uma alimentação nacional à base de quatro tipos de refeições oferecidas quatro ve-
zes por dia, podem ser repetidas ou misturadas se assim for decidido. As refeições
ai
apresentam um ı́ndice de sensão de fome diário, calculado com base cientı́fica que
gm
corresponde aos seguintes valores: 0.6, 0.5, 0.4 e 0.5. Adicionalmente, apresenta-se
@
Verde 6 8 5 7 4
Branca 9 11 9 10 16
um
Azul 10 12 14 8 12
m
Vermelha 12 8 10 11 8
Mulenga 20 acm@2020
Investigação Operacional
om
maximizar Z= 100x1 + 150x2 maximizar Z= 5x1 + 2x2
2x1 + 3x2 ≤ 120
1x1 + 2x2 ≤ 9
l.c
1x + 0x ≤ 40
1x + 0x ≤ 3
1 2 1 2
2.3) sujeito à 2.4) sujeito à
ai
0x1 + 1x2 ≤ 30
0x1 + 1x2 ≤ 4
gm
x ,x ≥ 0 x ,x ≥ 0
1 2 1 2
@
o8
2x1 + 3x2 ≥ 9
5x + 2x ≤ 100
ub
1 2
2.5) sujeito à 2.6) sujeito à 4x1 + 3x2 ≥ 12
3x1 + 8x2 ≤ 120
um
x ,x ≥ 0
1 2
x ,x ≥ 0
1 2
m
Mulenga 21 acm@2020
Investigação Operacional
om
2.2 Resolução dos problemas de programação li-
near pelo método gráfico
l.c
ai
gm
O método gráfico pode ser aplicado para resolver os problemas de programação linear
de forma eficiente, apenas quando a função objectivo e o conjunto das restrições tiver
@
Mulenga 22 acm@2020
Investigação Operacional
Resolução
Ver a Figura 2.1, onde cada recta tem associada a ela uma secta que indica o semi-
plano onde a desigualdade é verdadeira.
om
l.c
(a) (b) (c)
ai
Figura 2.1: Domı́nio solução de sistema de inequações
gm
e mı́nimo da função F(x) = 1x1 −2x2 +4 sobre o polı́gono convexo dado pelo sistema.
o8
1x1 + 1x2 ≤ 4
et
−1x1 − 2x2 ≤ 2
ub
−1x1 + 1x2 ≤ 2
um
1x1 + 0x2 ≤ 3
x1 , x2 ≥ 0
m
Resolução
Ver a Figura 2.2, onde cada recta tem associada a ela uma secta que indica o semi-
plano onde a desigualdade é verdadeira.
Mulenga 23 acm@2020
Investigação Operacional
om
Figura 2.2: Domı́nio solução e pontos máximo e mı́nimo de F(x)
• Ponto A = r5 ∩ r6 = (x1 = 0 ∩ x2 = 0)
l.c
ai
gm
• Ponto B = r4 ∩ r6 = (x1 = 3 ∩ x2 = 0)
Mulenga 24 acm@2020
Investigação Operacional
Observações:
1. Devido as condições de não negatividade para as variáveis de decisão nos modelos
de programação linear, a recta 3 na Figura 2.2, não pertence ao domı́nio solução.
2. Para obter as coordenadas dos pontos é necessário resolver um sistema de duas
equações com duas varáveis, para tal, qualquer método já conhecido serve.
3. O ponto máximo ou mı́nimo na resolução dos problemas de programação linear
om
pelo método gráfico depende da função objectivo e não da sua aparente posição ge-
ográfica.
l.c
Exemplo 2.7. Usando o método gráfico resolver o problema de programação li-
ai
near.
gm
@
2x + 1x ≤ 14
et
1 2
Sujeito à
2x1 − 3x2 ≤ 6
ub
x1 , x2 ≥ 0
um
m
Resolução
O primeiro passo é considerar que temos um sistema de equações em vez de ine-
quações como está representado no sistema e designar as equações por rectas.
Mulenga 25 acm@2020
Investigação Operacional
O segundo passo é calcular as coordenadas de dois pontos para cada recta, por exem-
12
plo para a recta 1, se x1 = 0 então x2 = = 3, por outro lado se x2 = 0, então
4
12
x1 = = −4, assim em diante todos os pontos das rectas são obtidos.
−3
om
Desta recta, se x1 = 0 então x2 = 0, se x1 = 2, então x2 = − × 2 = −3.
2
l.c
Em seguida estão apresentados todos os pontos das rectas no sistema de coorde-
ai
nadas rectangulares incluindo a recta da função objectivo.
gm
r1 : x1 x2 r2 : x1 x2 r3 : x1 x2 r z : x1 x2
3
0 3 0 14 0 -3 0 0 x 2 = − x1
@
2
-4 0 7 0 3 0 2 -3
o8
et
ub
um
m
Mulenga 26 acm@2020
Investigação Operacional
O terceiro passo, é depois de traçar cada recta, escolher um ponto em um dos semi-
planos P(x̃1 , x̃2 ) e substituir na inequação corresponde. Se a desigualdade for verda-
deira colocar a seta virada para este lado, caso contrário, a seta deverá ficar virada
para o outro semi-plano. Por exemplo para a recta 2, tendo-se escolhido o ponto
P(2,1), tem-se r2 = −3 × 2 + 4 × 1 = −2 < 12. Como esta desigualdade é veradeira
a seta está virada para o simi-plado onde se encontra o ponto P(2,1) na Figura 2.3.
O quarto passo é identificar o ponto máximo ou mı́nimo. Para os problemas de maxi-
mização, deve-se traçar rectas paralelas à recta da função objectivo e deslocar até ao
último ponto da área tracejada. Este ponto é o ponto máximo da função objectivo.
om
Em seguida deve-se resolver o sistema de equações de rectas que intersectam neste
ponto para determiner os valores de x1 e x2 . Conhecidos estes valores substitui-se na
l.c
função objectivo e finalmente apresenta-se a solução do problema.
ai
Pmax = r1 ∩ r2
gm
−3x + 4x = 12 −3x + 4x = +12
@
1 2 1 2
→ somando as equações
o8
ub
−11x = −44 x =4 x =4 x =4
1 1 1 1
→ → →
− 2a equacao 2x + 1x = 14 x =6
um
− 1 2 2
Exemplo 2.8. Uma pessoa precisa de 10, 12, e 12 unidades dos produtos quı́micos
A, B e C, respectivamente para o seu jardim. Um produto lı́quido contém 5, 2 e 1
unidades de A, B e C, respectivamente por litro; um produto em pó contém 1, 2 e 4
unidades de A, B e C, respectivamente por caixa. Se o produto lı́quido custa 3 u.m.
por litro e o produto em pó custa 2 u.m. por caixa.
a) Formule o problema como um problema de programação linear.
b) Resolva o problema pelo método gráfico de modo a determinar quantos litros e
caixas devem ser compradas para minimizar o custo e satisfazer as necessidades?
Mulenga 27 acm@2020
Investigação Operacional
Resolução
A seguinte tabela resume os dados do problema.
Produto A 5 1 10
Produto B 2 2 12
Produto C 1 4 12
om
Preço por u.m. 3 2 –
l.c
O modelo matemático é: ai
minimizar W = 3x1 + 2x2
gm
5x1 + 1x2 ≥ 10
2x + 2x ≥ 12
@
1 2
Sujeito à
1x1 + 4x2 ≥ 12
o8
x ,x ≥ 0
et
1 2
ub
3
minimizar W = 3x1 + 2x2 rw : x2 = − x 1
um
2
5x1 + 1x2 = 10; r1
m
2x1 + 2x2 = 12; r2
Sujeito à
1x1 + 4x2 = 12; r3
x1 = 0, x2 = 0; r4 , r6
r1 : x1 x2 r 2 : x1 x2 r3 : x1 x2 r w : x1 x2
0 10 0 6 0 3 0 0
2 0 6 0 12 0 2 -3
Mulenga 28 acm@2020
Investigação Operacional
om
l.c
ai
gm
Para os problemas de minimização a recta da função objectivo deve ser traçada até ao
et
primeiro ponto da área tracejada como ilustra a Figura 2.4. Neste caso, a intersecção
é entre as rectas 1 e 2, portanto Pmin = r1 ∩ r2
ub
um
5x + 1x = 10 +5x + 1x = +10
1 2 1 2
→ somando as 2 equações
2x + 2x = 12 / : (−2) −1x − 1x = −6
m
1 2 1 2
4x = 4 x =1 x =1
1 1 1
→ →
− 1a equacao x = 10 − 5 × 1 = 5
− 2
Mulenga 29 acm@2020
Investigação Operacional
om
Passo 2. Escrever o modelo económico matemático do problema conforme as in-
l.c
formações obtidas no passo 1 sem esquecer das restrições de não negatividade.
ai
gm
Passo 3. Calcular as coordenadas de dois pontos para cada recta incluindo a recta
da função objectivo e representar num sistema de eixos (atenção trocar x1 por x2 não
@
Passo 4. Traçar a recta da função objectivo e deslocar com rectas paralelas até ao
et
das rectas que intersectam no ponto óptimo. Note, que um problema de programação
um
linear pode ter um, dois ou mais pares de valores de (x1 , x2 ), com o mesmo valor da
função objectivo. Um caso especial desta multiplicidade de soluções é quando a recta
m
da função objectvo é paralela a uma das rectas das restrições, neste caso a solução é
dada para um intervalo de valores de x1 e x2 .
Mulenga 30 acm@2020
Investigação Operacional
Resolução
r 1 : x1 x2 r2 : x1 x2 rz : x1 x2
om
1
0 4 0 6 r3 : x2 ≤ 3 rz : x2 = − x1 0 0
2
l.c
4 0 3 0 2 -1
ai
gm
@
o8
et
ub
um
m
Mulenga 31 acm@2020
Investigação Operacional
om
Resolução
l.c
30 5
Para a função objectivo: 30x1 + 12x2 = 0, → x2 = − x1 → x2 = − x1 .
ai12 2
gm
r1 : x1 x2 r2 : x1 x2 r 3 : x1 x2 rw : x1 x2
0 3 0 4 0 4 0 0
@
o8
3 0 4 0 4/3 0 1 -5/2
et
ub
um
m
Mulenga 32 acm@2020
Investigação Operacional
Pmin = r1 ∩ r3
2x + 2x = 6 / : (−2) −1x − 1x = −3
1 2 1 2
→
3x + 1x = 4 +3x + 1x = 4
1 2 1 2
1
Depois de somar os coeficientes das duas equações, tem-se x1 = , substituindo na
2
a 1 5
2 equação, tem-se x2 = 4 − 3 ∗ = .
2 2
1 5
O valor da função objectivo é: Wmin = 30 × + 12 × = 45
2 2
om
1 5
Solução: x1 = ; x2 = ; Wmin = 45
2 2
l.c
2.2.3 Exercı́cios propostos
ai
gm
Exercı́cio 2.11. Uma carpintaria deseja estabelecer um programa diário de produção
dos seus artigos. Actualmente, a carpintaria faz apenas dois produtos: mesas e
@
obra, cujas disponibilidades diárias são 12 m2 e 8 homens por hora (H.h), respecti-
vamente. O processo de produção é tal que, para fazer 1 mesa a fábrica gasta 2 m2
ub
madeira 1 H.h de mão-de-obra. Além disso, o fabricante sabe que cada mesa dá uma
margem de contribuı́ção para o lúcro de 4 u.m, e cada armário, de 1 u.m.
m
Exercı́cio 2.12. Uma indústria fabrica dois produtos A e B que utilizam três
matérias primas: madeira, quandidades de matéria prima em plástico e compos-
tos de aço. No estoque do armazém da fábrica estão disponı́veis 24 m2 de madeira,
37 unidades de plástico e 18 quilos de aço. O produto A requer 1, 3 e 2 unidades de
Mulenga 33 acm@2020
Investigação Operacional
medida de cada uma das metérias primas madeira, plástico e aço respectivamente.
O produto B requer 3, 4 e 1 unidades de medida das mesmas matérias prima, res-
pectivamente. Se A é vendido por 20 u.m e B por 30 u.m, quantas unidades de cada
produto devem zer produzidas de modo a obter o máximo rendimento bruto. Elabore
o modelo e resolva-o gráficamente.
Resposta: x1 = 3; x2 = 7; Zmax = 270 u.m.
om
duas fábricas: a cerveja 2M que produz por dia 10, 30 e 40 mil caixas de alta, média
e baixa qualidades e a cerveja Laurentina que produz por dia 20, 10 e 30 mil caixas,
l.c
respectivamente. Se o custo operacional de cada fábrica for de 20 u.m por dia, du-
rante quantos dias deve funcionar cada fábrica de modo a se minimizar o custo total
ai
e satisfazer as necessidades da companhia.
gm
tomar por dia de modo que ele melhore e minimize o seu dinheiro. Qual é o valor
mı́nimo que ele vai gastar por dia.
Resposta: x1 = 4, x2 = 22, Wmin = 34 u.m.
Exercı́cio 2.15. Usando o método gráfico, resolva as seguintes alı́neas dos pro-
blemas de programação linear.
Mulenga 34 acm@2020
Investigação Operacional
om
1x1 + 2x2 ≤ 6
2x1 + 3x2 ≥ 12
x ,x ≥ 0 x ,x ≥ 0
1 2 1 2
l.c
Respostas
ai
gm
a) x1 = 4, x2 = 2, Zmax = 30
b) x1 = 14, x2 = 0, Wmin = 140
@
c) x1 = 4, x2 = 1, Zmax = 130
o8
d) x1 = 0, x2 = 6, Wmin = 12
et
ub
O método simplex é um algorı́tmo proposto por Dantzig (1947), para resolver os pro-
blemas de programação linear. Para uma aplicação correcta do método, é necessário
a introdução no modelo ora elaborado com apenas variáveis de decisão, variáveis
auxiliares.
Mulenga 35 acm@2020
Investigação Operacional
Variável de folga. Introduz-se uma variável de folga, para cada restrição do tipo
≤ no primeiro membro da inequação e transfoma-se esta em equação. Por exemplo,
na restrição 6x1 + 4x2 ≤ 24, temos.
6x + 4x ≤ 24 6x + 4x + x = 24 x = 24 − 6x − 4x
1 2 1 2 3 3 1 2
→ →
x1 , x2 ≥ 0 x1 , x2 , x3 ≥ 0 x1 , x2 , x3 ≥ 0
om
A variável x3 é a variável de folga, ela representa a quantidade do recurso que não foi
l.c
utilizado, isto é, representa a diferença entre a quantidade do recurso máximo dis-
ai
ponı́vel (b = 24) e a quantidade de recusro que foi utilizado (6x1 + 4x2 ) nas diferentes
gm
actividades.
@
ub
2x + 3x ≥ 80 2x + 3x − x = 80 x = 2x + 3x − 80
1 2 1 2 3 3 1 2
→ →
um
x1 , x2 ≥ 0 x1 , x2 , x3 ≥ 0 x1 , x2 , x3 ≥ 0
m
Para que seja claro entre um problema com variáveis só de decisão e com variáveis
auxiliares, são definidas as designações. Um problema está na forma canónica, se
tiver só variáveis de decisão e todas desigualdades forem do mesmo sinal. Assim,
para maximização deverá ter ≤, enquanto, para minimização ≥. Um problema está
na forma padrão quando todas as inequações são transformadas em igualdades por
uma adição de uma variável auxiliar que pode ser de folga (+xi ) ou de excesso (−xi ).
Mulenga 36 acm@2020
Investigação Operacional
om
Resolução
Como os problemas estão na forma canónica, basta acrescentar as variáveis de folga
ou de excesso.
l.c
ai
gm
a) max Z = 30x1 +50x2 +0x3 +0x4 +0x5 b) min W = 3x1 + 2x2 + 0x3 + 0x4 + 0x5
@
2x1 + 1x2 + 1x3 + 0x4 + 0x5 = 16
5x1 + 1x2 − 1x3 + 0x4 + 0x5 = 10
o8
1x + 2x + 0x + 1x + 0x = 11 2x + 2x + 0x − 1x + 0x = 12
1 2 3 4 5 1 2 3 4 5
suj à suj à
et
1x1 + 3x2 + 0x3 + 0x4 + 1x5 = 15
1x1 + 4x2 + 0x3 + 0x4 − 1x5 = 12
ub
x1 , x2 , x3 , x4 , x5 ≥ 0
x1 , x2 , x3 , x4 , x5 ≥ 0
um
Observação
m
• Note que para cada restrição só temos uma variável de folga ou excesso, e nesta
restrição tem coeficiente 1 e zeros nas outras restrições ao longo da coluna.
• Como as variáveis de excesso e de folga são apenas auxiliares, elas não contri-
buem na função objectivo, por isso, tem coeficiente zero.
Mulenga 37 acm@2020
Investigação Operacional
om
O método simplex dual-simplex será apresentado mais tarde no capı́tulo 4. Deve-se
salientar que, em qualquer uma das variantes pode se destacar 4 etapas fundamentais
l.c
do método simplex. ai
gm
1. Tabela simplex inicial. A tabela simplex inicial de um problema de ma-
ximização de programação linear como apresentado na subsecção 2.1.2 é como se
@
segue.
o8
... ... ... ... ... ... ... ... ... ...
xm+n an1 an2 ... anm 0 0 ... 1 bn
Z −c1 −c2 ... −cm 0 0 ... 0 0
• Da tabela inicial, nota-se que as variáveis básicas (base) são todas variáveis de
folga e tem 1 ao longo da linha em que estão;
Mulenga 38 acm@2020
Investigação Operacional
om
positivo da coluna pivô. A linha
que apresentar o menor quociente positivo é
bi
l.c
chamada linha pivô: lp = min para aij > 0 e aij ∈ cp ;
aij ai
• O elemento que situa-se no cruzamento entre a linha pivô e a coluna pivô é
gm
chamado elemento pivô: ep = cp × lp .
@
Se a tabela não tiver nenhum indicador negativo (max) ou positivo (min), esta é uma
o8
e m + n colunas, cujo elemento pivô é aij da matrix A. Uma nova tabela T2 é calcu-
um
lada a partir da tabela T1, usando operações elementares sobre as linhas da matriz
A de tal forma que apareça um ”1”na posição pivô e zeros ”0”nas outras posições
m
• Divide-se cada elemento da linha pivô lp da tabela T1 pelo elemento pivô aij ,
1
obtendo-se a correspondente linha na tabela T2 (lp0 ). lp0 = ∗ lp . Observe que
aij
na posição do elemento pivô terá sempre “1” depois desta divisão.
Mulenga 39 acm@2020
Investigação Operacional
• Cada uma das outras linhas lk0 da tabela T2 é obtida somando da linha lk o
produto −akj lp0 , onde o −akj é o elemento akj da coluna pivô com sinal contrário.
Isto é: lk0 = lk − akj × lp0 , para k = 1, 2, . . . , n.
om
Base x1 x2 ... xm xm+1 xm+2 ... xm+n recursos
x1 1 0 ... a1m ∗ a1(m+1) ∗ a1(m+2) ∗ ... 0 b1 ∗
l.c
x2 0 1 ... a2m ∗ a2(m+1) ∗ a2(m+2) ∗
ai ... 0 b2 ∗
... ... ... ... ... ... ... ... ... ...
gm
Na Tabela 2.7 o sinal (*) indica de que os valores já não são os mesmos da tabela
ub
inicial 2.6. Também pode notar de que as variáveis que estão na base foram trocadas.
um
• xi – tem um valor diferente de zero se estiver marcado por 1 numa única posição
da coluna correspondente e zeros nas restantes linhas e diz-se que xi está na
base. É o caso das variáveis x1 , x2 , ..., xm+n .
• Assim, a solução seria: x1 = b∗1 , x2 = b∗2 ,..., xm+n = b∗n , Zmax = z ∗ e todas
variáveis que estão fora da base são iguais a zero.
Mulenga 40 acm@2020
Investigação Operacional
Resolução
om
O problema já está na forma canônica, portanto, vai-se introduzir as variáveis de
folga.
l.c
maximizar
ai
Z = 1x1 + 9x2 + 1x3 + 0x4 + 0x5
gm
1x + 2x2 + 3x3 + 1x4 + 0x5 = 9
1
sujeito à 3x1 + 2x2 + 2x3 + 0x4 + 1x5 = 15
@
o8
x ,x ,x ,x ,x ≥ 0
1 2 3 4 5
et
Tabela 1
ub
Base x1 x2 x3 x4 x5 Bi
um
x4 1 2 3 1 0 9; (9/2=4.5, min) J
x5 3 2 2 0 1 15 (15/2=7.5)
m
Z -1 -9 -1 0 0 0
min N
Mulenga 41 acm@2020
Investigação Operacional
Tabela 2
Base x1 x2 x3 x4 x5 Bi Transformação
x2 1/2 1 3/2 1/2 0 9/2 lp0 = (1/2) × lp
x5 2 0 -1 -1 1 6 l20 = l2 − 2 × lp0
Z 7/2 0 25/2 9/2 0 81/2 l30 = l3 + 9 × lp0
Solução
81 9
Zmax = , x1 = 0 , x2 = , x3 = x4 = 0, x5 = 6
om
2 2
Os valores da função objectivo e das variáveis de folga podem ser obtidos substi-
l.c
tuindo os valores de x1 , x2 e x3 na função objectivo e nas restrições.
ai
9 81
• Função objectivo: Zmax = 1x1 + 9x2 + 1x3 = 1 × 0 + 9 × +1×0=
gm
2 2
9
@
9
• Restrição 2: x5 = 15–3x1 –2x2 − 2x3 = 15–2 × 0 − 2 × − 2 × 0 = 15 − 9 = 6
et
2
ub
Desta verificação, significa que para produzir 4.5 unidades de x2 foram utilizadas
um
Mulenga 42 acm@2020
Investigação Operacional
Resolução
Introduzindo as variáveis de folga tem-se.
om
Tabela 1
l.c
Base x1 x2 x3 x4 x5 Bi
x3 4 6 1 0 0 12
ai
(12/4=3, min)J
gm
x4 6 2 0 1 0 24 (24/6=4)
x5 2 1 0 0 1 10 (10/2=5)
@
o8
Z -6 -4 0 0 0 0
N
et
ub
Repare que na tabela inicial, a coluna pivô é a coluna 1, e como tem o valor mı́nimo
um
na primeira linha, o elemento pivô foi escolhido na primeira linha. Como o elemento
pivô está na primeira linha, começa-se por esta linha a transformar e só depois as
m
outras linhas.
Tabela 2
Base x1 x2 x3 x4 x5 Bi Transformação
x1 1 3/2 1/4 0 0 3 lp0 = (1/4) × lp
x4 0 -7 -3/2 1 0 6 l20 = l2 − 6 × lp0
x5 0 -2 -1/2 0 1 4 l30 = l3 − 2 × lp0
Z 0 5 3/2 0 0 18 l40 = l4 + 6 × lp0
Mulenga 43 acm@2020
Investigação Operacional
om
6x1 + 3x2 ≤ 9
2x1 + 2x2 ≤ 4
l.c
sujeito à
1x1 + 2x2 ≤ 8 ai
x1 , x2 ≥ 0
gm
@
Resolução
o8
Tabela 1
et
ub
Base x1 x2 x3 x4 x5 Bi
x3 6 3 1 0 0 9 (9/6=1.5)J
um
x4 2 2 0 1 0 4 (4/2=2)
m
x5 1 2 0 0 1 8 (8/1=8)
Z -8 N -6 0 0 0 0
Por comodidade, em vez de escrever sempre lp0 vai-se escrever o número da linha em
que estiver o elemento pivô, por exemplo l10 .
Mulenga 44 acm@2020
Investigação Operacional
Tabela 2
Base x1 x2 x3 x4 x5 Bi Transformação
x1 1 1/2 1/6 0 0 3/2 l10 = (1/6) × l1 (3)
x4 0 1 -1/3 1 0 1 l20 = l2 − 2 × l10 (1) J
x5 0 3/2 -1/6 0 1 13/2 l30 = l3 − 1 × l10 (13/3)
Z 0 -2N 4/3 0 0 12 l40 = l4 + 8 × l10
Tabela 3
om
Base x1 x2 x3 x4 x5 Bi Transformação
x1 1 0 1/3 -1/2 0 1 l10 = l1 − (1/2) × l20
x2 0 1 -1/3 1 0 1 l20 = l2
l.c
ai
x5 0 0 1/3 -3/3 1 5 l30 = l3 − 3/2 × l20
gm
O processo iterativo do método simplex sempre exige uma solução básica inicial onde
um
para cada linha existe uma variável básica, a partir da qual se procura melhorar até
uma solução óptima. Nos problemas de maximização esta solução básica inicial era
m
formada pelas variáveis de folga, já que as restrições eram do tipo (≤). Quando as
restrições são do tipo (≥) ou (=), não existe essa solução básica inicial, como se
ilustra no exemplo a seguir:
Mulenga 45 acm@2020
Investigação Operacional
Base x1 x2 x3 x4 x5 Bi
x3 (-) 1 1 -1 0 0 5
x4 (-) 6 1 0 -1 0 18
x5 (-) 2 3 0 0 -1 12
W -5 -2 0 0 0 0
om
Nesta tabela, as variáveis de excesso x3 , x4 e x5 tem valores negativos se pretender-
l.c
mos ler a solução inicial deste exemplo (x3 = −5, x4 = −18, x5 = −12), violando a
condição de não negatividade. Para não violar esta restrição, diz-se que esta tabela
ai
é preliminar e não básica porque não possue solução básica.
gm
Para resolver este tipo de problemas são introduzidas algumas modificações nas
@
equações das restrições em seguida pode se usar duas variantes do método simplex:
o8
≤ variável de folga xi
= variável artificial ai
≥ variável de excesso + artificial −xi + ai
Para resolver os problemas de programação linear pelo método simplex de duas fases
segue-se os seguintes passos:
Mulenga 46 acm@2020
Investigação Operacional
• Para cada variável xi , deve-se somar os coeficientes das restrições que possuem
alguma variável artificial e multiplicar por (-1) o resultado, por exemplo para
a coluna de x1 teria c01 = −1(a11 + a21 + a31 ) = −(a11 + a21 + a31 ).
• As colunas das váriaveis artificiais ficam com zeros, para garantir que a tabela
om
inicial tenha solução básica.
l.c
se alguma variável artificial e multiplicar o resultado por (-1) como está exem-
ai
plificado, Za = −(b1 + b2 + b3 ).
gm
Passo 4. Resolver o problema pelo método simplex, tomando-se como função objec-
ub
tivo a última linha da função de maximização até que na linha Za , haja nas colunas
um
Como na última linha o valor da função objectivo artificial é igual a zero, a pri-
meira fase termina. Em seguida as variáveis artificiais e a linha Za são retiradas, a
tabela que fica dá o inı́cio da segunda fase.
• Para os problemas de maximização, se existir algum elemento negativo na linha
indicadora de pivô, as iterações devem continuar até obter a solução óptima.
• Para os problemas de minimização, se existir algum elemento positivo as iterações
devem continuar usando a linha Wmin , caso contrário esta é tabela terminal.
Exemplo 2.15. Usando o método simplex de duas fases, resolva o seguinte pro-
blema de programação linear.
Mulenga 47 acm@2020
Investigação Operacional
Resolução
Tabela 1 1a Fase
om
Base x1 x2 x3 x4 a1 Bi
x3 2 3 1 0 0 10 (10/3=3.333)
a1 1 3 0 -1 1 5
l.c
(5/3=1.666) J
ai
gm
W -3 -4 0 0 0 0
@
Za -1 -3N 0 1 0 -5
o8
et
Repare que a linha Za é constinuida pelos coeficientes da segunda restrição com sinal
ub
Tabela 2 1a Fase
m
Base x1 x2 x3 x4 a1 Bi operações
x3 1 0 1 1 -1 5 l10 = l1 − 3 × l20
x2 1/3 1 0 -1/3 1/3 5/3 l20 = (1/3) × l2
Za 0 0 0 0 1 0 l40 = l4 + 3 × l20
Mulenga 48 acm@2020
Investigação Operacional
Tabela 1 2a Fase
Base x1 x2 x3 x4 Bi
x3 1 0 1 1 5
x2 1/3 1 0 -1/3 5/3
om
l.c
Nos problemas de minimização termina-se quando na linha indicadora de pivô não
existem elementos positivos, portanto, esta é a tabela terminal. ai
Solução x1 = 0, x2 = 5/3, x3 = 5, x4 = 0 e Wmin = 20/3.
gm
programação linear.
o8
et
3x1 + 1x2 ≥ 3
4x1 + 3x2 ≥ 6
um
sujeito à
1x1 + 2x2 ≥ 3
m
x1 , x2 ≥ 0
Resolução
minimizar W = 4x1 + 1x2 + 0x3 + 0x4 + 0x3 + 0a1 + 0a2 + 0a3
3x1 + 1x2 − 1x3 + 0x4 + 0x5 + 1a1 + 0a2 + 0a3 = 3
4x + 3x + 0x − 1x + 0x + 0a + 1a + 0a = 6
1 2 3 4 5 1 2 3
sujeito à
1x1 + 2x2 + 0x3 + 0x4 − 1x5 + 0a1 + 0a2 + 1a3 = 3
x ,x ,x ,x ,x ,a ,a ,a ≥ 0
1 2 3 4 5 1 2 3
Mulenga 49 acm@2020
Investigação Operacional
Tabela 1 1a F
Base x1 x2 x3 x4 x5 a1 a2 a3 Bi
a1 3 1 -1 0 0 1 0 0 3 (1) J
om
a2 4 3 0 -1 0 0 1 0 6 (3/2)
a3 1 2 0 0 -1 0 0 1 3 (3)
l.c
W -4 -1 0 0 0 0 0 0
ai 0
gm
Za -8N -6 1 1 1 0 0 0 -12
@
Tabela 2 1a F
o8
Base x1 x2 x3 x4 x5 a1 a2 a3 Bi
et
ub
Mulenga 50 acm@2020
Investigação Operacional
Tabela 3 1a F
Base x1 x2 x3 x4 x5 a1 a2 a3 Bi
om
Za 0 0 1 -1 1 0 2 0 0
- - - - N - - - - -
Tabela 4 1a F
l.c
ai
gm
Base x1 x2 x3 x4 x5 a1 a2 a3 Bi
Za 0 0 0 0 0 1 1 1 0
m
Como na última linha o valor da função objectivo artificial é igual a zero, os coefi-
cientes de xi são iguais a zero e para ai são iguais a 1, a fase 1 termina e a solução
encontrada é solução básica inicial para a fase 2. Na segunda fase, como o problema
é de minimização, e temos um elemento positivo, teremos que continuar as iterações.
Mulenga 51 acm@2020
Investigação Operacional
Tabela 1 2a F
Base x1 x2 x3 x4 x5 Bi
2a F
om
Tabela 2
Base x1 x2 x3 x4 x5 Bi
x5 5 0 -2 0 1 3
l.c
ai
gm
x2 3 1 -1 0 0 3
x4 5 0 -3 1 0 3
@
o8
W -1 0 -1 0 0 3
et
Mulenga 52 acm@2020
Investigação Operacional
Resolução
Tabela 1 1a F
Base x1 x2 x3 x4 x5 a1 a2 Bi
x4 1 2 1 1 0 0 0 10 (10)
a1 2 3 1 0 -1 1 0 6 (3)
a2 2 1 -1 0 0 0 1 3 (1.5) J
Z -2 -3 -5 0 0 0 0 0
om
Za -4 N -4 0 0 1 0 0 -9
l.c
Tabela 2 1a F ai
Base x1 x2 x3 x4 x5 a1 a2 Bi
gm
a1 0 2 2 0 -1 1 -1 3 (1.5) J
o8
Z 0 -2 -6 0 0 0 1 3
ub
Za 0 -2 N -2 0 1 0 2 -3
um
Tabela 3 1a F
m
Base x1 x2 x3 x4 x5 a1 a2 Bi
Z 0 0 -4 0 -1 1 0 6
Za 0 0 0 0 0 1 1 0
Mulenga 53 acm@2020
Investigação Operacional
Tabela 1 2a F
Base x1 x2 x3 x4 x5 Bi
Z 0 0 -4 N 0 -1 6
om
Tabela 2 2a F
l.c
Base x1 x2 x3 x4 x5 Bi ai
x4 0 0 0 1 3/4 25/4 (8.33) J
gm
Z 0 4 0 0 -3 N 12
et
ub
Tabela 3 2a F
um
Base x1 x2 x3 x4 x5 Bi
m
x5 0 0 0 4/3 1 25/3
x3 0 1 1 2/3 0 17/3
x1 1 1 0 1/3 0 13/3
Z 0 4 0 4 0 37
Mulenga 54 acm@2020
Investigação Operacional
om
Procedimento do método simplex de grande M
l.c
ai
Passo 1. Introduzir as variáveis de folga, excesso e artificial conforme apresentado
na Tabela 2.8.
gm
@
Passo 3. Para cada variável de folga e de excesso adicionar 0xi e para cada variável
ub
Passo 4. Escrever a tabela inicial simplex, onde as variáveis artificiais não estarão
na base. Esta é a tabela preliminar simplex. Antes de usar o procedimento normal
para a escolha do elemento pivô, deve-se passar para básicas as variáveis artificiais,
i.é, procurar eliminar a constante M nas colunas ai até chegar a tabela simplex inicial
com uma solução básica inicial viável.
Mulenga 55 acm@2020
Investigação Operacional
Resolução
maximizar Z = 2x1 + 1x2 + 0x3 + 0x4 − M a1
om
1x + 1x2 + 1x3 + 0x4 + 0a1 = 10
1
sujeito à −x1 + 1x2 + 0x3 − 1x4 + 1a1 = 2
l.c
x ,x ,x ,x ,a ≥ 0
ai
1 2 3 4 1
gm
Tabela P1
@
Base x1 x2 x3 x4 a1 Bi
o8
x3 1 1 1 0 0 10
et
− -1 1 0 -1 1 2 J
ub
Z -2 -1 0 0 MN 0
um
m
Vamos procurar encontrar a solução básica inicial viável, por isso, temos que eliminar
M na coluna a1 tomando o 1 da segunda linha como pivô.
Tabela 1
Base x1 x2 x3 x4 a1 Bi
x3 1 1 1 0 0 10 l10 = l1 (10)
a1 -1 1 0 -1 1 2 l20 = l2 (2) J
Mulenga 56 acm@2020
Investigação Operacional
Tabela 2
Base x1 x2 x3 x4 a1 Bi
x3 2 0 1 1 -1 8 (4) J
x2 -1 1 0 -1 1 2 (-)
om
Z -3 N 0 0 1 M+1 2 l30 = l3 + (M + 1) × l20
l.c
Tabela 3 ai
Base x1 x2 x3 x4 a1 Bi
gm
Solução x1 = 4; x2 = 6; x3 = x4 = 0; a1 = 0; Zmax = 14
m
Observação
Note que, como as variáveis artificiais não têm significado nenhum para o problema,
e são iguais a zero na tabela terminal simplex, elas podem não figurar na solução.
Mulenga 57 acm@2020
Investigação Operacional
Resolução
maximizar Z = −5x1 − 12x2 + 0x3 + 0x4 − M a1 − M a2
1x1 + 2x2 + 1x3 + 0x4 + 0a1 + 0a2 = 10
om
2x + 3x + 0x − 1x + 1a + 0a = 12
1 2 3 4 1 2
sujeito à
l.c
1x1 + 1x2 + 0x3 + 0x4 + 0a1 + 1a2 = 8
x ,x ,x ,x ,a ,a ≥ 0
ai
1 2 3 4 1 2
gm
Tabela P1
@
Base x1 x2 x3 x4 a1 a2 Bi
o8
et
x3 1 2 1 0 0 0 10
ub
− 2 3 0 -1 1 0 12 J
− 1 1 0 0 0 1 8
um
Z 5 12 0 0 MN M 0
m
Tabela P2
Base x1 x2 x3 x4 a1 a2 Bi
x3 1 2 1 0 0 0 10
a1 2 3 0 -1 1 0 12
− 1 1 0 M 0 1 8 J
Mulenga 58 acm@2020
Investigação Operacional
Tabela 1
Base x1 x2 x3 x4 a1 a2 Bi
x3 1 2 1 0 0 0 10
a1 2 3 0 -1 1 0 12 J
a2 1 1 0 0 0 1 8
om
Tabela 2
l.c
Base x1 x2 x3 x4 a1 ai a2 Bi
M M 4M
Z − −3 0 0 − +4 −4 0 -4M-48
et
3 3 3
- N - - - - - -
ub
um
Tabela 3
m
Base x1 x2 x3 x4 a1 a2 Bi
Mulenga 59 acm@2020
Investigação Operacional
Tabela 4
Base x1 x2 x3 x4 a1 a2 Bi
x3 0 1 1 0 0 -1 2
x1 1 1 0 0 0 1 8
x4 0 -1 0 1 -1 2 4
Z 0 7 0 0 M M-5 -40
om
Solução x1 = 8, x2 = 0, x3 = 2, x4 = 4, com Wmin = −Zmax = −(−40) = 40.
l.c
Varificação: W = 5x1 + 12x2 = 5 × 8 + 12 × 0 = 40.
ai
Exemplo 2.20. Usando o método simplex de grande M, resolva o problema de
gm
minimização de programação linear.
@
2x + 1x2 ≥ 2
1
et
sujeito à 2x1 + 1x2 ≥ 6
ub
x ,x ≥ 0
1 2
um
Resolução
m
Tabela P1
Base x1 x2 x3 x4 a1 a2 Bi
- 2 1 -1 0 1 0 2
- 2 1 0 -1 0 1 6
Z 3 4 0 0 M M 0
Mulenga 60 acm@2020
Investigação Operacional
Tabela P2
Base x1 x2 x3 x4 a1 a2 Bi
a1 2 1 -1 0 1 0 2
- 2 1 0 -1 0 1 6
Tabela 1
om
Base x1 x2 x3 x4 a1 a2 Bi
l.c
a1 2 1 -1 0 1 0 2
a2 2 1 0 -1 0 1 6
ai
gm
Z -4M+3 -2M+4 M M 0 0 -8M
@
Tabela 2
o8
Base x1 x2 x3 x4 a1 a2 Bi
et
a2 0 0 1 -1 -1 1 4
um
Tabela 3
Base x1 x2 x3 x4 a1 a2 Bi
Mulenga 61 acm@2020
Investigação Operacional
om
Resolução
Tabela P1
l.c
ai
gm
Base x1 x2 x3 x4 x5 a1 a2 Bi
@
x4 1 1 0 1 0 0 0 20
o8
− 1 0 1 0 0 1 0 5
et
− 0 1 1 0 -1 0 1 10
ub
Z -1 1 -3 0 0 M M 0
um
Tabela P2
m
Base x1 x2 x3 x4 x5 a1 a2 Bi
x4 1 1 0 1 0 0 0 20
a1 1 0 1 0 0 1 0 5
− 0 1 1 0 -1 0 1 10
Mulenga 62 acm@2020
Investigação Operacional
Tabela 1
Base x1 x2 x3 x4 x5 a1 a2 Bi
x4 1 1 0 1 0 0 0 20
a1 1 0 1 0 0 1 0 5
a2 0 1 1 0 -1 0 1 10
om
Tabela 2
l.c
Base x1 x2 x3 x4 x5 a1 a2
ai Bi
x4 1 1 0 1 0 0 0 20
gm
x3 1 0 1 0 0 1 0 5
@
a2 -1 1 0 0 -1 -1 1 5
o8
Tabela 3
um
Base x1 x2 x3 x4 x5 a1 a2 Bi
m
x4 2 0 0 1 1 1 -1 15
x3 1 0 1 0 0 1 0 5
x2 -1 1 0 0 -1 -1 1 5
Z 3 0 0 0 1 M+4 M-1 10
Mulenga 63 acm@2020
Investigação Operacional
om
a) O problema está na forma canónica ou não?
l.c
b) Escreva-o na formá padrão se necessário.
c) Resolva o problema pelo método simplex e apresente a solução óptima.
ai
d) Algum recurso não está sendo usado competamente? Qual?
gm
Respostas:
a) O problema está na forma canónica, porque todas desigualdades são da forma ≤
@
e é de maximização.
o8
Mulenga 64 acm@2020
Investigação Operacional
om
Exercı́cio 2.18. Uma empresa fabrica dois tipos de estantes com madeiras dife-
rentes, adquirindo a madeira já cortada, e submetendo-à depois a três operações:
l.c
furação, polimento e montagem. Suponha que são as seguintes capacidades fabris,
traduzidas pelas taxas de produção horária, ou seja, pelo número de estantes proces-
ai
sadas por hora.
gm
Furação 7 6
et
Polimento 4 3
ub
Montagem 6 4
um
Mulenga 65 acm@2020
Investigação Operacional
om
sendo usados completamente.
Resposta: recurso 2, com x4 = 4 unidades não utilizadas.
l.c
Exercı́cio 2.20. Uma empresa possui em stock sticks de hóquei e jogos de xa-
ai
drez que são processados em três maquinas M1, M2 e M3. Cada stick de hóquei é
gm
vendido a 5 Dólares americanos e cada jogo de xadrez é vendido a 2 Dólares ame-
ricanos. Um stick de hóquei requer uma hora de processamento na maquina 1, seis
@
horas na maquina 2 e duas horas na maquina 3. Um jogo de xadrez requer uma hora
o8
Exercı́cio 2.21. Uma companhia possuia, há 10 anos, duas minas: a mina A pro-
duzindo por dia 1 tonelada de minério de alto teor, 3 toneladas de minério de médio
teor e 5 toneladas de minério de baixo teor; a mina B produzia por dia 2 toneladas
de cada um dos teores. A companhia precisou de 80 toneladas de minério de alto
teor, 160 de médio teor e 200 de baixo teor. Usando o método simplex de duas fases,
Mulenga 66 acm@2020
Investigação Operacional
quantos dias cada mina funcionou, se custava 200 unidades de medida por dia para
se fazer funcionar cada uma?
Resposta: x1 = 40, x2 = 20, x3 = x4 = 0, x5 = 40, Wmin = 12000 u.m. Portanto,
a mina A funcionou durante 40 dias e a mina B funciona durante 20 dias. O custo
total mı́nimo foi de 12000. unidades de medida.
om
3x1 + 1x2 ≥ 8
1x1 + 3x2 + 3x3 ≥ 6
l.c
4x + 4x ≥ 15
1x + 5x + 6x ≥ 4
1 2 1 2 3
a) sujeito à b) sujeito à
1x1 + 1x2 ≥ 6 2x1 + 2x2 + 3x3 ≥ 8
ai
gm
x ,x ≥ 0 x ,x ,x ≥ 0
1 2 1 2 3
Respostas:
@
a) x1 = 1, x2 = 5, x3 = 0, x4 = 9, x5 = 0, Wmin = 25
o8
b) x1 = 3, x2 = 1, x3 = 0, x4 = 0, x5 = 5, x6 = 0, Wmin = 26
et
ub
2x1 + 2x2 ≤ 8
1x + 2x2 + 0x3 ≤ 4
1
3x + 0x ≥ 3
1 2
a) sujeito à 1x1 + 0x2 + 2x3 = 5 b) sujeito à
0x1 + 1x2 ≥ 2
x ,x ,x ≥ 0
1 2 3
x ,x ≥ 0
1 2
Respostas:
a) x1 = 0, x2 = 2, x3 = 5/2, x4 = 0, Zmax = 23/2
b) x1 = 1, x2 = 2, x3 = 2, x4 = 0, x5 = 0, Wmin = 4
Mulenga 67 acm@2020
Investigação Operacional
om
Respostas:
a) x1 = 0, x2 = 1, x3 = 0, x4 = 6, x5 = 0 Wmin = 12
l.c
b) x1 = 0, x2 = 2, x3 = 0, x4 = 11, x5 = 0, Zmax = 6
ai
gm
@
o8
et
ub
um
m
Mulenga 68 acm@2020
Capı́tulo 3
om
l.c
Todo o problema de programação linear que é obtido via formulação chama-se pri-
ai
mal, tem associado a ele um correspondente problema, chamado dual; ambos são
gm
complementares e relacionados de forma que a solução óptima de um fornece in-
formações completas sobre o outro. A teoria de dualidade em programação linear é
@
problema primal.
m
maximizar Z = c1 x1 + c2 x2 + ... + cm xm
a11 x1 + a12 x2 + ... + a1m xm ≤ b1
a21 x1 + a22 x2 + ... + a2m xm ≤ b2
sujeito à ...
an1 x1 + an2 x2 + ... + anm xm ≤ bn
x1 , x2 , .., xm ≥ 0
1
John von Neumann (1903 - 1957): Cientı́sta Húngaro, trabalhou em áreas como Matemática,
Fı́sica, Estatı́stica e Ciências de computação
69
Investigação Operacional
O seu correspondente problema dual pode ser escrito na forma canónica assim.
minimizar W = b1 y 1 + b2 y 2 + · · · + bn y n
a11 y1 + a21 y2 + · · · + an1 yn ≥ c1
a12 y1 + a22 y2 + · · · + an2 yn ≥ c2
sujeito à ...
a1m y1 + a2m y2 + · · · + anm yn ≥ cm
y1 , y2 , . . . , yn ≥ 0
om
l.c
blema dual, para os modelos em que o conjunto das restrições tem um único tipo de
ai
desigualdade por exemplo ≤ ou ≥, é construı́do a partir do primal da seguinte forma:
gm
@
Exemplo 3.1. Escreva o problema dual dos priblemas primais apresentados nas
alinear (a) e (b).
Mulenga 70 acm@2020
Investigação Operacional
om
2y + 1y2 + 1y3 ≤ 2 2y + 1y2 + 1y3 ≥ 30
1 1
a) sujeito à 1y1 + 2y2 + 1y3 ≤ 3 b) sujeito à 1y1 + 1y2 + 2y3 ≥ 40
l.c
y1 , y2 , y3 ≥ 0 y1 , y2 , y3 ≥ 0
ai
gm
As operações da transformação são feitas sobre matrizes dos coeficientes das variáveis
@
bem como de vectores dos recursos, por isso, as transformações podem ser represen-
o8
Problema primal
ub
x1
um
x2
maximizar Z = c1 c2 . . . cm ×
. . .
m
xm
a a12 . . . a1m x b
11 1 1
a21 a22 . . . a2m x2 b2
sujeito à × ≤
. . . ... ... . . . . . . . . .
an1 an2 . . . anm xm bn
Mulenga 71 acm@2020
Investigação Operacional
Problema dual
y
1
y2
minimizar W = b1 b2 . . . bn ×
. . .
yn
a a21 ... an1 y c
11 1 1
a12 a22 ... an2 y2 c2
sujeito à × ≥
om
... ... ... . . . . . . . . .
l.c
a1m a2m ... anm yn cm
ai
Exemplo 3.2. Escrever o problema dual correspondente ao problema primal.
gm
@
1x1 − 1x2 ≥ 18
et
sujeito à
5x1 + 1x2 = 22
ub
x1 , x2 ≥ 0
um
Resolução
m
O problema primal tem 3 restrições, portanto 3 variáveis duais sendo a terceira não
restrita.
Mulenga 72 acm@2020
Investigação Operacional
2x1 + 7x2 ≥ 40
1x1 − 1x2 ≥ 18
sujeito à 5x1 + 1x2 ≥ 22
−5x1 − 1x2 ≥ −22
x1 , x2 ≥ 0
om
+ −
maximizar Z = 40y1 + 18y2 + 22y3 − 22y3
2y + 1y2 + 5y3+ − 5y3− ≤ 4
l.c
1
sujeito à 7y1 − 1y2 + 1y3+ − 1y3− ≤ 8 ai
y1 , y2 , y3+ , y3− ≥ 0
gm
@
o8
2y + 1y2 + 5y3 ≤ 4
1
sujeito à 7y1 − 1y2 + 1y3 ≤ 8
m
y , y ≥ 0, y ∈ R
1 2 3
Mulenga 73 acm@2020
Investigação Operacional
om
Tabela 3.2: Resumo da informação do problema primal
l.c
Recurso Horas para produzir 1 unidade de
ai Disponibilidade
Produto 1 Produto 2
gm
A 1 2 14
@
B 1 1 9
o8
C 7 4 56
et
lúcro unitário 5 6 -
ub
um
Resolução
m
Problema primal:
Suponhamos que os produtos 1 e 2 no mercado já não estão a ser muito comprados
Mulenga 74 acm@2020
Investigação Operacional
devido a concorrência, enquanto que os recursos ainda são apreciados. Neste caso, a
indústria tem a alternativa de vender os recursos A, B e C, em vez de empregá-los
na produção dos dois produtos.
Sejam
om
y1 o valor do recurso A por unidade de medida,
y2 o valor do recurso B por unidade de medida e
l.c
y3 o valor do recurso C por unidade de medida.
O valor total do recurso em estoque é dado pela soma VT = 14y1 + 9y2 + 56y3
ai
gm
Por outro lado, cada um dos produtos pode ser avaliado, levando em conta a uti-
@
lização dos recursos por unidade fabricada. Assim, o produto 1 gasta 1 unidade do
recurso A, 1 unidade de B e 7 unidades de C. O produto 2, gasta 2 unidades de A,
o8
recurso são: produto 1, 1y1 + 1y2 + 7y3 e para o produto 2, 2y1 + 1y2 + 4y3 .
ub
Normalmente, vendendo os recursos, o valor total não deve ser inferior a margem
um
unitária de lúcro fornecida por cada produto quando era vendido. Assim, pode-se
escrever:
m
Mulenga 75 acm@2020
Investigação Operacional
Problema dual
minimizar W = 14y1 + 9y2 + 56y3
1y1 + 1y2 + 7y3 ≥ 5
sujeito à 2y1 + 1y2 + 4y3 ≥ 6
y1 , y2 , y3 ≥ 0
om
contribuições de cada produto para a obtenção do lúcro total. Isto significa que, re-
solvidos os problemas, as variáveis duais indicam as avaliações que ocorrem no valor
l.c
da função objectivo do primal, para avaliações unitárias nos nı́veis dos recursos.
ai
Repare que as variáveis xi não podem ser negativas porque representam quanti-
gm
dades a serem produzidas, por outro lado, as variáveis yi também são não negativas
@
do dual
um
Para compreender melhor as relações entre as soluções duais, vamos resolver os dois
m
Mulenga 76 acm@2020
Investigação Operacional
Tabela 1
Base x1 x2 y1 y2 y3 Bi
y1 1 2 1 0 0 14 (7)J
y2 1 1 0 1 0 9 (9)
y3 7 4 0 0 1 56 (14)
Z -5 -6 N 0 0 0 0
om
Tabela 2
Base x1 x2 y1 y2 y3 Bi
Z -2N 0 3 0 0 42
et
Tabela 3
ub
Base x1 x2 y1 y2 y3 Bi
um
x2 0 1 1 -1 0 5
m
x1 1 0 -1 2 0 4
y3 0 0 3 -10 1 8
Z 0 0 1 4 0 50
Mulenga 77 acm@2020
Investigação Operacional
Problema dual.
om
Tabela 1 1a F
l.c
Base y1 y2 y3 x1 x2 a1 a2 Bi
a1 1 1 7 -1 0 1 0 5
ai
(0.71) J
gm
a2 2 1 4 0 -1 0 1 6 (1.50)
@
W -14 -9 -56 0 0 0 0 0
o8
Za -3 -2 -11 1 1 0 0 -11
et
ub
Tabela 2 1a F
um
Base y1 y2 y3 x1 x2 a1 a2 Bi
m
W 6 -1 0 -8 0 8 0 40
Mulenga 78 acm@2020
Investigação Operacional
Tabela 3 1a F
Base y1 y2 y3 x1 x2 a1 a2 Bi
y3 0 1/10 1 -1/5 1/10 1/5 -1/10 2/5
y1 1 3/10 0 2/5 -7/10 -2/5 7/10 11/5
Za 0 0 0 0 0 1 1 0
om
Como Za = 0; a1 = 0 e a2 = 0, termina-se a primeira fase e começa-se a segunda fase.
Tabela 1 2a F
l.c
ai
gm
Base y1 y2 y3 x1 x2 Bi
y3 0 1/10 1 -1/5 1/10 2/5 (4) J
@
Tabela 2 2a F
um
Base y1 y2 y3 x1 x2 Bi
m
y2 0 1 10 -2 1 4
y1 1 0 -3 1 -1 1
W 0 0 -8 -4 -5 50
Para comparar as duas tabelas terminais e as soluções obtidas pelos dois problemas
primal e dual, apresenta-se a Tabela 3.3.
Mulenga 79 acm@2020
Investigação Operacional
Base x1 x2 y1 y2 y3 Bi Base y1 y2 y3 x1 x2 Bi
x2 0 1 1 -1 0 5 y2 0 1 10 -2 1 4
x1 1 0 -1 2 0 4 y1 1 0 -3 1 -1 1
y3 0 0 3 -10 1 8
W 0 0 -8 -4 -5 50
Z 0 0 1 4 0 50
om
l.c
Relação 1. As soluções óptimas dos dois problemas guardam entre se a relação:
ai
maximizar Z = minimizar W ⇒ Zmax = Wmin = 50. Quer dizer as tabelas óptimas
gm
têm o mesmo valor da função objectivo.
@
Relação 2. Os valores das variáveis duais podem ser obtidos da tabela terminal
o8
Mulenga 80 acm@2020
Investigação Operacional
om
a) Escreva o dual correspondente.
b) Resolva o problema dual e apresente as soluções dos problemas primal e dual.
Resolução
l.c
ai
a) O problema dual correspondente é:
gm
4y1 + 6y2 ≤ 24
o8
6y1 + 2y2 ≤ 12
et
sujeito à
0y1 + 1y2 ≤ 5
ub
y1 , y2 ≥ 0
um
m
Tabela 1
Base y1 y2 x1 x2 x3 Bi
x1 4 6 1 0 0 24 (4) J
x2 6 2 0 1 0 12 (6)
x3 0 1 0 0 1 5 (5)
Z -2 -4 N 0 0 0 0
Mulenga 81 acm@2020
Investigação Operacional
Tabela 2
Base y1 y2 x1 x2 x3 Bi
y2 2/3 1 1/6 0 0 4
x2 14/3 0 -1/3 1 0 4
x3 -2/3 0 -1/6 0 1 1
Z 2/3 0 2/3 0 0 16
om
Solução primal X=(2/3, 0, 0, 2/3, 0); com Wmin = 16
Solução dual Y=(0, 4, 0, 4, 1); com Zmax = 16
l.c
Repare que na solução do primal, os valores das variáveis foram obtidos ao longo das
ai
colunas começando por x1 = 2/3, x2 = 0, x3 = 0 porque são variáveis de decisão no
gm
problema primal e só depois levou-se y1 = 2/3, y2 = 0.
@
3y1 + 3y2 ≥ 6
ub
4y1 + 3y2 ≥ 10
sujeito à
um
2y1 + 1y2 ≥ 12
y1 , y2 ≥ 0
m
Resolução
a) O problema dual correspondente é:
maximizar Z = 6x1 + 10x2 + 12x3
3x + 4x2 + 2x3 ≤ 4
1
sujeito à 3x1 + 3x2 + 1x3 ≤ 5
x ,x ,x ≥ 0
1 2 3
Mulenga 82 acm@2020
Investigação Operacional
Tabela 1
Base x1 x2 x3 y1 y2 Bi
y1 3 4 2 1 0 4 (2) J
y2 3 3 1 0 1 6 (5)
Z -6 -10 -12 N 0 0 0
om
Tabela 2
l.c
Base x1 x2 x3 y1 y2 Bi
x3 3/2 2 1 1/2 0 2
ai
gm
y2 3/2 1 0 -1/2 1 3
@
Z 12 14 0 6 0 24
o8
et
Mulenga 83 acm@2020
Investigação Operacional
Resolução
a) O problema dual é:
om
b) Resolução do problema dual
Tabela 1
l.c
ai
gm
Base x1 x2 y1 y2 y3 Bi
y1 2 3 1 0 0 12 (4) J
@
y2 2 3 0 1 0 16 (5.33)
o8
y3 1 2 0 0 1 12 (6)
et
ub
Z -20 -25 N 0 0 0 0
um
Tabela 2
Base x1 x2 y1 y2 y3 Bi
m
Mulenga 84 acm@2020
Investigação Operacional
Tabela 3
Base x1 x2 y1 y2 y3 Bi
x1 1 3/2 1/2 0 0 6
y2 0 0 -1 1 0 4
y3 0 1/2 -1/2 0 1 6
Z 0 5 10 0 0 120
om
l.c
3.4 Exercı́cios propostos ai
Exercı́cio 3.1. Escrever os problemas duais correspondentes aos seguintes proble-
gm
mas de programação linear.
@
5y1 + 1y2 ≥ 10
1x + 2x2 ≤ 32
1
et
2y + 2y ≥ 12
1 2
a) sujeito à 3x1 + 4x2 ≤ 84 b) sujeito à
ub
1y1 + 4y2 ≥ 12
x ,x ≥ 0
1 2
y1 , y2 ≥ 0
um
Mulenga 85 acm@2020
Investigação Operacional
om
maximizar Z = 16y1 + 8y2
minimizar W = 9x1 + 2x2
1y1 + 1y2 ≤ 10
4x + 1x2 ≥ 13
l.c
1
1y1 + 1y2 ≤ 9
a) sujeito à 3x1 + 1x2 ≥ 12 b) sujeito à
ai
3y1 + 1y2 ≤ 12
x1 , x2 ≥ 0
gm
y1 , y2 ≥ 0
Correspondentes problemas duais
@
o8
1 1
a) sujeito à 1y1 + 1y2 ≤ 2 b) sujeito à 1x1 + 1x2 + 1x3 ≥ 8
ub
y ,y ≥ 0 x ,x ,x ≥ 0
1 2 1 2 3
um
m
Mulenga 86 acm@2020
Investigação Operacional
Resposta:
a) (—), b) X = (0, 8, 0, 2, 4) com Wmin = 16
om
x ,x ≥ 0
1 2
l.c
Usando o método simplex resolva o problema e apresente as soluções do primal e
dual.
ai
Resposta:
gm
15 8 15 12 300
Primal: X = , , 0, 0 , Dual: Y = , , 0, 0 com Zmax = Wmin = .
7 7 7 7 7
@
o8
2y + 3y2 ≥ 6
1
sujeito à 2y1 + 1y2 ≥ 7
m
y ,y ≥ 0
1 2
Resposta:
Primal: Y = (0,7,15,0); Dual: X=(0,2,1,0); Wmin = Zmax = 14.
Exercı́cio 3.6. Uma empresa de transporte dispõe de dois tipos de camiões que
podem operar em três percursos diferentes. A capacidade semanal de transporte em
cada um dos tipos de camiões e a procura semanal mı́nima de serviços de carga,
expressos em toneladas estão indicados no quadro seguinte.
Mulenga 87 acm@2020
Investigação Operacional
1 10 10 180
2 12 15 200
3 10 10 220
Sabendo que os custos de operação de cada camião são 50 e 80 u.m por semana
respectivamente, quantos veı́culos de cada tipo deve a empresa utilizar nos percursos
indicados, de modo a minimizar os custos. (use o procedimento dual se necessário).
om
Resposta:
l.c
X = (22, 0, 40, 64) com Wmin = 1100 unidades de medida.
ai
Exercı́cio 3.7. Dado o seguinte problema de programação linear:
gm
1y + 2y2 ≥ 80
o8
1
sujeito à 3y1 + 1y2 ≥ 75
et
y1 , y2 ≥ 0
ub
um
Resposta:
11 3
Primal Y =(14,33,0,0), Dual X = , , 0, 0 com Wmin = Zmax = 221.
5 5
Mulenga 88 acm@2020
Capı́tulo 4
Análise de sensibilidade em
om
programação linear
l.c
ai
gm
4.1 Introdução
@
procurar uma nova interpretação a partir da solução obtida. Já que tanto os recursos
et
condições para as quais a solução óptima inicial é ainda válida. A solução óptima de
um problema é calculada com base nos dados do modelo, que podem sofrer variações
por várias razões como por exemplo:
• Os dados estimados já não traduzem a realidade.
• Novas possibilidades apareceram após a formulação do modelo e que devem ser
consideradas na implementação da solução.
• Os preços da matéria prima mudaram e não é possı́vel comprar ou produzir mesmas
quantidades que se tinham estimado no modelo inicial.
89
Investigação Operacional
Assim, pode-se dizer de que a análise de sensibilidade tem como primeiro objec-
tivo verificar a validade da solução obtida para um determinado modelo quando
submetida a variações nos recursos ou nos coeficientes do modelo original. Em se-
gundo lugar outras necessidades podem surgir e neste caso devem ser incorporadas
no modelo para que este responda as novas exigências da sociedade.
om
exemplo 3.3 e apresentemos apenas as tabelas inicial e terminal do problema primal.
7x1 + 4x2 ≤ 56
o8
x1 , x2 ≥ 0
et
Tabela 4.1: Tabela simplex inicial e terminal para ilustrar as propriedades usadas
ub
na análise de sensibilidade
um
Base x1 x2 x3 x4 x5 Bi Base x1 x2 x3 x4 x5 Bi
x3 1 2 1 0 0 14 x2 0 1 1 -1 0 5
x4 1 1 0 1 0 9 x1 1 0 -1 2 0 4
x5 7 4 0 0 1 56 x5 0 0 3 -10 1 8
Z -5 -6 0 0 0 0 Z 0 0 1 4 0 50
Mulenga 90 acm@2020
Investigação Operacional
folga x3 , x4 , x5 ), pode ser usada para gerar as contribuições unitárias para o valor
da função objectivo (coeficientes da última linha do quadro simplex, designados por
∆i ). A prática desta propriedade pode ser vista em três passos.
om
(x2 x1 x5 ) → (6 5 0)
l.c
Passo 2. Multiplicar o vector resultante pela matriz que aparece sob as variáveis
ai
iniciais na respectiva iteração. Neste caso, a matriz que aparece na Tabela 4.1(b) sob
gm
as variáveis básicas iniciais (x3 x4 x5 ), é chamada matriz fundamental.
@
1 −1 0
o8
−1
2 0
et
3 −10 1
ub
Multiplicando o vector linha pela matriz dos coeficientes das variáveis básicas tem-se:
um
1 −1 0
m
6 5 0 × −1 0 = 1 4 0
2
3 −10 1
Passo 3: A função objectivo da Tabela 4.1(a) é Z = 6x1 + 5x2 + 0x3 + 0x4 + 0x5 e
da Tabela 4.1(b) é Z = 0x1 + 0x2 + 1x3 + 4x4 + 0x5 .
Mulenga 91 acm@2020
Investigação Operacional
Subtraindo o vector resultante aos valores iniciais das variáveis básicas iniciais obte-
mos os resultados da terceira linha na iteração final.
• Para a variável x3 : ∆3 = 1–0 = 1
• Para a variável x4 : ∆4 = 4–0 = 4
• Para a variável x5 : ∆5 = 0–0 = 0
om
Propriedade 2. Em qualquer iteração do primal ou dual os valores das variáveis
l.c
na base podem ser obtidos pela multiplicação da matriz fundamental definida na
propriedade 1, pelo vector coluna contendo os valores originais dos recursos.
ai
gm
x 1 −1 0 14 5
2
o8
x1 = −1 0 × 9 = 4
2
et
x5 3 −10 1 56 8
ub
Atenção, o produto da matriz pelo vector coluna foi efectuado da seguinte forma:
um
Para x2 = 1 × 14 − 1 × 9 + 0 × 56 = 5
Para x1 = −1 × 14 + 2 × 9 + 0 × 56 = 4
m
Para x5 = 3 × 14 − 10 × 9 + 1 × 56 = 8
⇒ O que confirma os resultados obtidos na iteração final, Tabela 4.1(b).
Mulenga 92 acm@2020
Investigação Operacional
a 1
13
a23 = 0
a33 0
Na segunda iteração ou tabela terminal, os coeficientes de x3 são obtidos pelo produto
a 1 −1 0 1 1
13
a23 = −1 0 × 0 = −1
2
om
a33 3 −10 1 0 3
l.c
Propriedade 4. Em qualquer iteração do método simplex, a substituição das
ai
variáveis duais pelos respectivos multiplicadores do simplex, relativos a variáveis
gm
básicas da solução inicial, permite obter os coeficientes da equação Z transformada,
pela diferença entre o primeiro membro e segundo das restrições correspondentes do
@
dual.
o8
et
Mulenga 93 acm@2020
Investigação Operacional
Para x1 , ∆1 = 1 × 1 + 1 × 4 + 7 × 0–5 = 0
Para x2 , ∆2 = 2 × 1 + 1 × 4 + 4 × 0–6 = 0
om
é viável, o que leva a concluir que:
l.c
ai
• As restrições do dual, correspondentes às variáveis básicas, são satisfeitas como
gm
equações, o que significa que a respectiva variável de excesso é nula.
• O problema primal começa com uma solução viável não óptima que deve ser op-
@
timizada, enquanto o dual começa com uma solução inviável com valor superior
o8
ao óptimo e continua não viável até que a solução óptima seja atingida
et
ub
Até agora, nos problemas de programação linear que consideramos era obrigatório
que todos os elementos do lado direito da tabela simplex fossem positivos. Isto signi-
m
fica que todas as soluções eram viáveis. Pela propriedade 2, o vector coluna resultante
do produto matricial, pode ter valores negativos tornando a solução não viável.
O método simplex dual-simplex, permite resolver tais situações onde os valores dos
recursos são negativos. Assim, este método para além da dualidade, constitui uma al-
ternativa para resolver os problemas de minimização bastando ter recursos negativos
no problema. As diferenças em relação aa variantes do método simplex já apresen-
tadas resumem-se nas régras de entrada e saı́da de variáveis na base.
Mulenga 94 acm@2020
Investigação Operacional
≥, para resolvé-lo pelo método simple dual - simplex deve-se: (a) transformar as ine-
quações do tipo ≥ para ≤ multiplicando por (-1) a linha, (b) introduzir uma variável
de folga em cada restrição, em seguida aplicar as régras 1 e 2 para o problema.
Régra 1. A linha pivô corresponde a linha da variável básica com o menor va-
lor negativo nos recursos. lp = min{−bj }.
om
vos da linha pivô. cp = min para aij < 0.
aij
l.c
Elemento pivô é o elemento −aij que tem o menor valor entre os quocientes encon-
ai
trados, Ele está no cruzamento entre a linha pivô e a coluna pivô, por isso, ecrevemos:
gm
ep = lp × cp
@
Exemplo 4.1. Usando o método simplex dual - simplex resolva o seguinte pro-
blema de programação linear.
m
Resolução
Vamos multiplicar por (-1) cada linha ou restrição
Mulenga 95 acm@2020
Investigação Operacional
Tabela 1
Base x1 x2 x3 x4 B
om
x3 -4 -8 1 0 -32 (-32)
x4 -3 -6 0 1 -36 (-36) J
W -2 -3 0 0 0
l.c
ai
gm
(2/3) (3/6)N - - -
Tabela 2
@
o8
Base x1 x2 x3 x4 B
et
x3 0 0 1 -4/3 16
ub
x2 1/2 1 0 -1/6 6
um
W -1/2 0 0 -1/2 18
m
Observações
1. Repare que introduzimos variáveis de folga para resolvermos porque temos res-
trições da forma menor ou igual.
2. Nos problemas de maximização a tabela terminal tinha na linha z todos valores
não negativos. Para os problemas de minimização a solução é atingida se na linha z
não temos valores positivos.
Mulenga 96 acm@2020
Investigação Operacional
Exemplo 4.2. Usando o método simplex dual - simplex resolva o seguinte pro-
blema de programação linear.
om
Resolução
l.c
Vamos multiplicar por (-1) cada restrição da forma ≥.
minimizar W = 2x1 + 3x2
ai
gm
2x1 + 1x2 ≤ 20
−2x − 1x ≤ −10
1 2
@
sujeito à
−1x1 − 2x2 ≤ −8
o8
x ,x ≥ 0
1 2
et
ub
Tabela 1
um
Base x1 x2 x3 x4 x5 B
x3 2 1 1 0 0 20 (+)
m
x4 -2 -1 0 1 0 -10 (-10) J
x5 -1 -2 0 0 1 -8 (-8)
W -2 -3 0 0 0 0
(1)N (3) - - - -
Mulenga 97 acm@2020
Investigação Operacional
Tabela 2
Base x1 x2 x3 x4 x5 B
x3 0 0 1 -1 0 10 (+)
x1 1 1/2 0 -1/2 0 5 (+)
x5 0 -3/2 0 -1/2 1 -3 (-3) J
W 0 -2 0 -1 0 10
om
- (1.3)N - (2) - -
l.c
Tabela 3 ai
Base x1 x2 x3 x4 x5 B
gm
x3 0 0 1 -1 0 10
@
x1 1 0 0 -2/3 1/3 4
o8
x2 0 1 0 1/3 -2/3 2
et
W 0 0 0 -1/3 -4/3 14
ub
um
Exemplo 4.3. Usando o método simplex dual - simplex resolva o seguinte problema
de programação linear.
Mulenga 98 acm@2020
Investigação Operacional
Resolução
minimizar W = 3x1 + 3x2
−3x1 − 3x2 ≤ −5
−4x − 3x ≤ −10
1 2
sujeito à
−2x1 − 1x2 ≤ −12
x ,x ≥ 0
1 2
Tabela 1
om
Base x1 x2 x3 x4 x5 B
l.c
x3 -3 -3 1 0 0 -5 (-5)
x4 -4 -3 0 1 0 -10
ai
(-10)
gm
x5 -2 -1 0 0 1 -12 (-12)J
@
W -3 -3 0 0 0 0
o8
(1.5)N (3) - - - -
et
ub
Tabela 2
um
Base x1 x2 x3 x4 x5 B
x3 0 -3/2 1 0 -3/2 13
m
x4 0 -1 0 1 -2 14
x1 1 1/2 0 0 -3/2 6
W 0 -3/2 0 0 -3/2 18
Mulenga 99 acm@2020
Investigação Operacional
Exemplo 4.4. Para ilustrar, vamos utilizar as tabelas simplex inicial e terminal
om
do exemplo 3.3 do cápitulo 3.
7x1 + 4x2 ≤ 56
o8
x1 , x2 ≥ 0
et
Base x1 x2 x3 x4 x5 Bi Base x1 x2 x3 x4 x5 Bi
m
x3 1 2 1 0 0 14 x2 0 1 1 -1 0 5
x4 1 1 0 1 0 9 x1 1 0 -1 2 0 4
x5 7 4 0 0 1 56 x5 0 0 3 -10 1 8
Z -5 -6 0 0 0 0 Z 0 0 1 4 0 50
a) Vamos supor que o recurso b1 = 14 seja alterado de 14 para 16. Como esta
mudança afectará os valores da solução original?
om
l.c
O valor da função objectivo depois deste produto é Z = 5 × 2 + 6 × 7 = 52, subs-
ai
tituindo o vector coluna e o valor de Z na Tabela 4.2(b), obtemos uma nova tabela
gm
terminal.
@
Base x1 x2 x3 x4 x5 Bi
o8
x2 0 1 1 -1 0 7
et
x1 1 0 -1 2 0 2
ub
x5 0 0 3 -10 1 14
um
Z 0 0 1 4 0 52
m
Desta tabela, como todos os valores dos recursos são positivos, a solução actual é
viável e óptima. Assim, X = (2, 7, 0, 0, 14) com Zmax = 52, o que significa que a
variação de b1 de 14 para 16 trouxe um aumento no lúcro de ∆z = 52–50 = +2 u.m.
x 1 −1 0 20 11
2
x1 = −1 0 × 9 = −2
2
x5 3 −10 1 56 26
om
Base x1 x2 x3 x4 x5 Bi
l.c
x2 0 1 1 -1 0 11 ai
x1 1 0 -1 2 0 -2
gm
x5 0 0 3 -10 1 26
@
Z 0 0 1 4 0 56
o8
et
Como x1 é negativo, esta solução não é viável, quer dizer nova iteração deve ser
ub
feita para retirar x1 da base. Por isso, recorre-se ao método simplex dual-simplex da
subsecção 4.1.2, e x3 entra na base.
um
Tabela 2
m
Base x1 x2 x3 x4 x5 Bi
x2 1 1 0 1 0 9
x3 -1 0 1 -2 0 2
x5 3 0 0 -4 1 20
Z 1 0 0 6 0 54
Observação
Comparando as três soluções, pode-se observar que ao passar da primeira para a se-
gunda solução óptima, a empresa aumentou 2 unidades de medida no seu rendimento
global, entretanto, deixou de satisfazer alguns dos seus clientes porque só passou a
produzir 2 u.m. de x1 , para além de ter aumentado a quantidade de recurso 3 que é
comprado e não utilizado de 8 para 14 unidades.
om
Também observar que a produção de 9 u.m. de x2 precisa mão-de-obra superior
da que se tinha antes. A quantidade de recurso 3 não utilizado aumentou consi-
l.c
derávelmente passando para 20 e ainda 2 unidades do recurso 1.
ai
Resumindo esta situação não é desejosa nem para os clientes nem para a empresa.
gm
Por isso, uma atenção especial para o gestor é pensar sobre o destino dos clientes que
@
E o intervalo a calcular é bi − ∆− ≤ bi ≤ bi + ∆+
om
exemplo 4.4, e da Tabela 4.2(b).
l.c
a) b1 está associado a x3 = 14 na tabela inicial, logo vamos usar a coluna de x3
ai
na tabela terminal.
gm
+
4 −
5 8 8
∆ = min = 4 ↑; ∆ = min ; = ↓
−1 1 3 3
@
8 34
o8
O intervalo é 14 − ≤ b1 ≤ 14 + 4, logo ≤ b1 ≤ 18
3 3
et
na tabela terminal.
um
+
5 8 4 −
4
∆ = min ;
= ↑; ∆ = min = 2 ↓
−1 −10 5 2
m
4
O intervalor é 9 − 2 ≤ b2 ≤ 9 + , logo 7 ≤ b2 ≤ 9.8
5
om
é dada no quadro abaixo onde x3 , x4 e x5 são variáveis de folga.
l.c
Base x1 x2 x3 x4 x5 Bi
x1 1 3/2 1/2 0 0 5
ai
gm
x4 0 0 -1 1 0 0
x5 0 1/2 -1/2 0 1 5
@
o8
Z 0 5 10 0 0 100
et
ub
c) Se o vector dos recursos alterar de (10 10 10)T para (20 16 12)T , qual será
a nova solução óptima do problema.
m
Resolução
a) Solução X = (5, 0,0,0,5) ; Zmax = 100
om
vamos usar o método simplex dual - simplex para encontrar a nova tabela terminal.
l.c
Tabela 1
Base x1 x2 x3 x4 x5 Bi
ai
gm
x4 0 0 -1 1 0 -4 J
o8
Z 0 5 10 0 0 200
ub
Tabela 2
um
Base x1 x2 x3 x4 x5 Bi
m
x1 1 3/2 0 1/2 0 8
x3 0 0 1 -1 0 4
x5 0 1/2 0 -1/2 1 4
Z 0 5 10 0 0 160
om
Exemplo 4.7. Usando o exemplo 4.4, com as tabela inicial e terminal reprodu-
l.c
zidas na Tabela 4.3, vamos supor que o coeficiente de x2 tenha sido alterado de 6
ai
para 4. Qual é o efeito desta mudança?
gm
Tabela 4.3: Variação dos coeficientes da função objectivo
@
Base x1 x2 x3 x4 x5 Bi Base x1 x2 x3 x4 x5 Bi
et
x2 0 1 1 -1 0 5
ub
x3 1 2 1 0 0 14
x4 1 1 0 1 0 9 x1 1 0 -1 2 0 4
um
x5 7 4 0 0 1 56 x5 0 0 3 -10 1 8
m
Z -5 -6 0 0 0 0 Z 0 0 1 4 0 50
Resolução
A nova função objectivo depois da madança será Z = 5x1 + 4x2 + 0x3 + 0x4 + 0x4 e os
coeficientes que nos interessam são os das variáveis que estão na base (x2 x1 x5 )
ou seja o vector (4 5 0). Usando a propriedade 1 temos:
1 −1 0
4 5 0 × −1 0 = −1 6 0
2
3 −10 1
om
em consideração a nova função objectivo. Z = 5 × 4 + 4 × 5 = 40.
l.c
Tabela 1
ai
Base x1 x2 x3 x4 x5 Bi
gm
x2 0 1 1 -1 0 5 (5)
@
x1 1 0 -1 2 0 4 (-)
o8
x5 0 0 3 -10 1 8 (8/3)
et
Z 0 0 -1 6 0 40
ub
Tabela 2
um
Base x1 x2 x3 x4 x5 Bi
m
Como todos ∆i são maiores ou iguais a zero a nova solução é: X = (20/3, 7/3, 8/3, 0, 0)
com Zmax = 128/3. Sendo assim, a variação de c2 de 6 para 4 diminuiu o rendimento
Observação
Como as variáveis de decisão não pertençam à solução básica inicial, que geralmente
é formada pelas variáveis de folga, deve-se aplicar a propriedade 4 para calcular os
multiplicadores simplex para estas variáveis.
om
pelo procedimento usando para os recursos na secção 4.2, mas agora os quocientes
serão entre os valores dos multiplicadores simplex e da linha da variável que está na
base, como está explicado a seguir.
l.c
ai
gm
∆+ = limite superior é igual ao menor quociente absoluto entre os multiplica-
dores simplex da tabela terminal e os coeficientes negativos das variáveis não básicas
@
cj
et
+
∆ = min|raz− positivas| = min para aij < 0 (4.3)
aij
ub
Tabela 4.3(b)
Base x1 x2 x3 x4 x5 Bi
x2 0 1 1 -1 0 5
x1 1 0 -1 2 0 4
x5 0 0 3 -10 1 8
Z 0 0 1 4 0 50
om
Resolução
Na função objectivo Z = 5x1 + 6x2 + 0x3 + 0x4 + 0x5 , nos interessam apenas os
l.c
coeficientes das variáveis básicas na tabela terminal, portanto c1 = 5, c2 = 6 e c5 = 0
ai
gm
a) c1 = 5, é o coeficiente
de x1 que está
na linha 2 na tabela terminal.
1 4
∆+ = min = 1 ↑; ∆− = min = 2 ↓; intervalo 3 ≤ c1 ≤ 6
@
−1 2
o8
4 1
ub
+ −
∆ = min = 4 ↑; ∆ = min = 1 ↓; intervalo 5 ≤ c2 ≤ 10
−1 1
um
+
4 2 −
1 1 1 2
∆ = min
= ↑; ∆ = min = ↓; intervalo − ≤ c5 ≤
−10 5 3 3 3 5
Observação
Para as variáveis de decisão a interpretação dos intervalos não é problema, entretanto,
para a variável de folga x5 é necessário tomar certa cautela, pois, se o seu coeficiente
for diferente de zero, ela passa a não ser auxiliar, e o modelo deve ser reformulado
para considerar esta variável como de decisão. Por outro lado, se seu coeficiente for
negativo, significa que esta variável diminui o rendimento global, devendo-se esperar
que a soma de todas as contribuições marginais seja positiva.
om
l.c
As alterações nos coeficientes dessas variáveis afectam os elementos da matriz fun-
damental definida na propriedade 1, e como esta matriz é utilizada em toda análise
ai
de sensibilidade, essas variações podem fazer com que a actual solução deixe de ser
gm
óptima ou mesmo viável. A forma mais simples de resolver este problema é admitir
que temos um novo problema, portanto, deve-se procurar uma nova solução.
@
o8
As alterações nos coeficientes das variáveis fora da base poderão modificar a solução
óptima, pois, a variável alterada poderá vir a se tornar básica. Assim, uma nova
um
a = (1 2)T para a = (1 1)T , qual será o efeito desta mudança na solução óptima
do problema?
Resolução
Tabela 1
Base x1 x2 x3 x4 x5 Bi
x4 6 4 1 1 0 24 (6)
x5 4 8 2 0 1 32 (4)J
om
Z -4 -6 -1 0 0 -
l.c
Tabela 2
Base x1 x2 x3 x4 x5 Bi
ai
gm
x4 4 0 0 1 -1/2 8 (2) J
@
Z -1 0 1/2 0 3/4 24
et
Tabela 3
ub
Base x1 x2 x3 x4 x5 Bi
um
x1 1 0 0 1/4 -1/8 2
m
om
∆3 = 1 × ∆4 + 1 × ∆5 –1 = 1 × + 1 × –1 = − < 0
4 8 8
l.c
Como ∆3 é negativo, significa que a solução anterior já não continua óptima, as-
ai
sim, depois de colocar na tabela os novos valores na coluna de x3 nova iteração deve
ser realizada para obter a nova solução óptima.
gm
@
Tabela 1
o8
Base x1 x2 x3 x4 x5 Bi
et
Tabela 2
Base x1 x2 x3 x4 x5 Bi
x3 8 0 1 2 -1 1
x2 -1/2 1 0 -1/4 1/4 2
Z 1 0 0 1/2 1/2 28
Como todos os multiplicadores simplex são positivos ou iguais a zero já temos a nova
solução óptima. X = (0, 2, 16, 0, 0) com Zmax = 28. Portanto, com esta variação dos
coeficientes de x3 aumentou o rendimento em ∆z = 28 − 26 = +2 u.m. Note que
o produto x3 tem menor contribuição marginal na função objectivo, mas, como ele
apresenta maior rotação no mercado consegue contribuir com 16 unidades, enquanto
o produto x2 contribui com 12 para o mesmo intervalo de tempo.
om
Este caso pode ser considerado como variações simultâneas nos coeficientes da função
objectivo e nos coeficientes do vector actividade correspondente à nova variável, que
l.c
não é básica. Pois, no problema inicial a nova variável é considerada como se tivesse
ai
coeficientes iguais a zero. Em termos de significado empresarial, a adição de uma
gm
variável significa, uma introdução de um novo produto que vai partilhar os recuros
já existentes em quantidades diferentes como resultado da extensão ou variante da
@
Exemplo 4.10. Analisar o exemplo 4.9, introduzindo agora uma nova variável x4
et
Resolução
Tratando-se de uma variável de decisão, para fazer o teste de optimidade da solução,
precisamos aplicar a propriedade 3 e a propriedade 4 como foi explicado na secção 4.4.
om
1 5 5
Finalmente, o multiplicador simplex para a nova variável, ∆4 = 2× +2× −3 = − .
4 8 4
O multiplicador simplex mostra de que novas iterações devem ser feitas.
l.c
Tabela 1
ai
gm
Base x1 x2 x3 x4 x5 x6 Bi
@
Tabela 2
Base x1 x2 x3 x4 x5 x6 Bi
m
x1 4 0 0 1 1 -1/2 8
x2 -1/2 1 1/4 0 -1/4 1/4 2
Z 5 0 1/2 0 3/2 0 36
Nova solução
X = (0, 2, 0, 8, 0, 0) com Zmax = 36. O que significa de que a introdução da variável
x4 com o coeficiente 3 na função objectivo e 2 nas restrições aumenta o rendimento
em ∆z = 36–26 = 10 unidades de medida.
om
O procedimento para a análise tem sido o seguinte:
l.c
• Testar se a nova restrição é satisfeita para a actual solução. Em caso afirmativo,
a nova restrição diz-se redundante e não é necessário fazer mais iterações.
ai
gm
• Se não for redundante, ela deve ser introduzida na tabela terminal e novas
iterações devem ser feitas para-se obter a nova solução óptima.
@
o8
Resolução
O novo modelo com a terceira restrição é
om
Tabela 1
l.c
Base x1 x2 x3 x4 x5 x6 Bi ai
x∗1 1 0 0 1/4 -1/8 0 2
gm
x6 2 8 1 0 0 1 24
o8
As variáveis x1 e x2 nem deveriam ficar na base, mas, como estão na base seus co-
um
eficientes na nova restrição devem ser zeros, por isso, que tomamos as suas posições
como pivô para que fiquem na base efectivamente.
m
Tabela 2
Base x1 x2 x3 x4 x5 x6 Bi
x1 1 0 0 1/4 -1/8 0 2
x∗2 0 1 1/4 -1/8 3/16 0 3
x6 0 8 1 -1/2 1/4 1 20
Tabela 3
Base x1 x2 x3 x4 x5 x6 Bi
x1 1 0 0 1/4 -1/8 0 2
x2 0 1 1/4 -1/8 3/16 0 3
x∗6 0 0 -1 1/2 -5/4 1 -4
om
Tabela 4
Base x1 x2 x3 x4 x5 x6 Bi
x1 1 0 0 1/4 -1/8 0 2
l.c
ai
gm
x2 0 1 0 0 1/8 1/4 2
x3 0 0 1 -1/2 5/4 -1 4
@
o8
Z 0 0 0 1/2 0 1/2 24
et
Nova solução
ub
om
x ,x ≥ 0
1 2
Resposta: Resposta:
l.c
X = (3, 0, 0, 2); Wmin = 6 X = (0, 6, 1, 0, 6); Wmin = 12
ai
gm
minimizar W = 30x1 + 40x2 minimizar W = 4x1 + 5x2
2x1 + 2x2 ≥ 6 3x1 + 3x2 ≥ 6
@
4x + 2x ≥ 10
1x1 + 2x2 ≥ 4
o8
1 2
c) sujeito à d) sujeito à
1x1 + 5x2 ≥ 5
2x1 + 1x2 ≥ 3
et
x ,x ≥ 0
x1 , x2 ≥ 0
ub
1 2
um
Resposta: Resposta:
5 3
X = (2, 1, 0, 0, 2); Wmin = 100 X= , 0, , 0, 2 ; Wmin = 10
m
2 2
om
Exercı́cio 4.3. Dado o problema de programação seguinte.
l.c
maximizar Z = 2x1 + 1x2
ai
0x1 + 3x2 ≤ 6
gm
4x1 + 1x2 ≤ 8
sujeito à
@
1x1 + 0x2 ≤ 3
o8
x1 , x2 ≥ 0
et
b) Se o recurso b1 = 6 for mudado para 4, qual será o efeito desta mudança na solução
óptima do problema.
m
2x1 + 1x2 ≤ 10
1x + 1x ≤ 7
1 2
sujeito à
1x1 + 2x2 ≤ 12
x ,x ≥ 0
1 2
om
desta mudança na solução do problema. Encontre a nova solução caso seja necessário.
Resposta: X = (3, 4, 0, 0, 1) com Zmax = 310 e ∆z = 50.
l.c
c) Encontre os intervalos óptimos de oscilação dos coeficientes de x1 e x2 na função
ai
objectivo.
gm
Resposta: 20 ≤ c1 ≤ 40, 30 ≤ c2 ≤ 60.
@
3 Base x1 x2 x3 x4 x5 Bi
et
maximizar Z = 1x1 + x2
2
ub
2x1 + 2x2 ≤ 160 x1 1 0 1 -1 0 40
x2 0 1 -1/2 1 0 40
um
x1 , x2 ≥ 0
Z 0 0 1/4 1/2 0 100
A solução óptima do problema é: X = (40, 40, 0, 0, 40) com Zmax = 100.
a) Se o recurso b2 , variar de 120 para 100 qual será o efeito sobre a solução óptima.
Resposta: X = (60, 20, 0, 0, 0), com Zmax = 90 e ∆z = 90 − 100 = −10 u.m.
b) Se o mesmo recurso aumetar para b2 = 200, qual será o efeito.
Resposta: X = (0, 80, 0, 40, 120) com Zmax = 120 e ∆z = 120 − 100 = 20 u.m.
c) Se o coeficiente da função objectivo mudar de 3/2 par 2, qual será o efeito sobre
a solução do problema.
om
1x1 + 2x2 ≤ 24
x4 0 a22 -1/2 1 0 b2
sujeito à
l.c
1x1 + 2x2 ≤ 18 x5 0 a32 -1/2 0 1 b3
x1 , x2 ≥ 0
Z
ai
0 c2 4 0 0 Z∗
gm
@
Resposta: ai2 =
2 2 2
ub
b) Se o lúcro marginal relativo a variável x1 alterar de 8 para 10, qual será a nova
solução do problema.
um
om
3x1 + 4x2 ≤ 6
l.c
sujeito à 10x1 + 8x2 ≤ 10
x1 , x2 ≥ 0
ai
gm
a) Usando o método simplex resolva o problema.
Resposta:. X = (1, 0, 3, 0) com Zmax = 10.
@
Resposta: 0 ≤ b2 ≤ 20.
c) Se os coeficientes nas restrições de x2 , mudarem de (4 8)T para (2 5)T , qual
et
bela terminal.
maximizar Base x1 x2 x3 x4 Bi
Z = 3x1 + 2x2
4x + 3x2 ≤ 120
1 x1 1 3/4 1/4 0 30
sujeito à 1x1 + 3x2 ≤ 60
x4 0 9/4 -1/4 1 30
x ,x ≥ 0
1 2
Z 0 1/4 3/4 0 90
om
Base x1 x2 x3 x4 x5 B
maximizar Z = −5x1 + 5x2 + 13x3
−1x1 + 1x2 + 3x3 ≤ 20
l.c
x2 -1 1 a13 1 0 20
sujeito à 12x1 + 4x2 + 10x3 ≤ 90
x5 16 0 a23 -4 1 10
ai
x1 , x2 , x3 ≥ 0
gm
Z 0 0 c3 5 0 100
@
o8
om
5.1 Introdução
l.c
ai
gm
O termo Programação Inteira (PI), refere-se ao estudo dos problemas de programação
linear nos quais o domı́nio de todas as variáveis do problema é restritamente de valo-
@
res inteiros, portanto, a Programação Linear Inteira (PLI) é um caso particular dos
o8
A abordagem comum dos problemas de programação linear inteira, tem sido de usar
o método simplex analı́tico ou gráfico para resolver o problema de programação li-
near ignorando a restrição de que as variáveis devem ser inteiras. Tendo-se obtido
a solução óptima inicial, procura-se arredondar para os dois valores inteiros mais
próximos caso estes não forem inteiros. Se os valores inteiros pertencerem ao con-
junto solução, então, está encontrada a solução do problema de programação linear
inteira, caso contrário, a solução torna-se não viável e procura-se uma nova solução
125
Investigação Operacional
om
Admite-se que em vez de maximizar possa se usar minimizar e em vez de ≤ possa
l.c
se usar ≥.
ai
Exemplo 5.1. A empresa Coca - Cola de Moçambique, produz dois tipos de re-
gm
fresco: em lata e em garrafa. Cada lata vendida produz um lúcro de 7 unidades de
medida e cada garrafa produz um lúcro de 6 unidades de medida. A descrição das
@
em lata em garrafa
Matéria prima 1 2 3 12
Materia prima 2 6 5 30
lúcro unitário 7 6 -
resolva o problema de tal modo que se determine o número de latas e de garrafas que
devem ser produzidas para maximizar o lúcro diário.
Resolução
a) O modelo matemático do problema é:
maximizar Z = 7x1 + 6x2
2x1 + 3x2 ≤ 12
sujeito à 6x1 + 5x2 ≤ 30
x ∈ Z+
om
i 0
b) Vamos resolver primeiro o problema pelo método gráfico, sem considerar ou igno-
l.c
rando a condição de que x1 e x2 devem ser quantidades inteiras.
ai
gm
r1 : x1 x2 r2 : x1 x2 r z : x1 x2
@
0 4 0 6 0 0
o8
6 0 5 0 1 -7/6
et
ub
um
m
Como a solução inicial não é inteira, diz-se que o valor máximo inteiro da função
objectivo é igual a zero, Zm = 0, e também sabe-se pelo conjunto solução apresen-
om
tado graficamente que o valor máximo inteiro Zm , não será superior ao valor óptimo
da primeira aproximação, isto é: Zm ≤ Zmax .
l.c
Para procurar a solução inteira, deve-se calcular o valor da função objectivo em
ai
cada ponto da região das soluções admissı́veis para os pontos de pares de valores
gm
inteiros.
@
o8
Pontos p1 p2 p3 p4 p5 p6 p7 p8 p9
ub
x1 0 1 2 3 4 5 0 1 2
um
x2 0 0 0 0 0 0 1 1 1
m
F.O. 0 7 14 21 28 35 6 13 20
Pontos p10 p11 p12 p13 p14 p15 p16 p17 p18
x1 3 4 0 1 2 3 0 1 0
x2 1 1 2 2 2 2 3 3 4
F.O. 27 34 12 19 26 33 18 25 24
O procedimento ilustrado pelo exemplo 5.1 para encontrar a solução óptima inteira é
viável para alguns e poucos problemas de programação linear inteira, mas, o processo
de procura neste procedimento torna-se difı́cil e não pratico para grande parte dos
problemas.
De um modo geral, existem dois métodos básicos que são utilizados para resolver
om
os problemas de programação linear inteira
l.c
ai
• Método de Corte de Gomory (Gomory’s Cutting Plane Method)
gm
melhorados para a presente estrutura por Dakin (1965) no seu livro “A tree search
ub
om
Procedimento do método de bifurcação e limite
l.c
Passo 1. Resolver o problema original usando os métodos já conhecidos de pro-
ai
gramação linear. Se a primeira aproximação de solução do problema tiver todos
gm
valores inteiros, termina-se o processo. Se não, o valor da função objectivo determina
o limite superior (Zm ) ou inferior (Ws ) do problema de programação linear inteira.
@
o8
om
neste subproblema.
l.c
Passo 5. Examine todos os subproblemas e verifique se o limite superior (infe-
rior) é igual ao valor máximo da função objectivo. Se o limite superior (inferior) é
ai
igual ao limite inferior (superior), termine o processo. Caso contrário repita o passo 2.
gm
@
Cada um dos modelos ou subproblemas pode ser resolvido como um novo problema de
programação linear usando o método simplex, gráfico e ou mesmo como uma adição
o8
Observações
um
• Só se bifurca uma variável de cada vez e se acrescenta uma restrição em cada
m
subproblema.
Resolução
A primeira aproximação é: SPL = {x1 = 3.75, x2 = 1.5, Zmax = 35.25}.
om
Das propriedades e passo 1, temos as condições Zm = 0, Zm ≤ Zmax = 35.25.
Na solução óptima tanto x1 como x2 podem ser bifurcados, nós vamos escolher x2 para
l.c
bifurcar porque tem parte fraccionária próxima ou igual a 0.5, Portanto B.x2 = 1.5.
ai
gm
subproblema 1 subproblema 2
maximizar Z = 7x1 + 6x2 maximizar Z = 7x1 + 6x2
@
2x1 + 3x2 ≤ 12
2x1 + 3x2 ≤ 12
o8
6x + 5x ≤ 30
6x + 5x ≤ 30
1 2 1 2
sujeito à sujeito à
et
x2 ≤ 1
x2 ≥ 2
ub
x ∈ Z+
x ∈ Z+
i 0 i 0
um
2x + 3 × 1 = 12 2x + 3 × 2 = 12
1 1
6x + 5 × 1 = 30 6x + 5 × 2 = 30
1 1
x = 4.5 ⇒ Z = 37.7, nao − viavel x = 3(min) ⇒ Z = 33, viavel
1 1 i
x = 4.16(min) ⇒ Z = 35.16, viavel x = 3.3 ⇒ nao − viavel
1 1
om
sujeito à x2 ≤ 1 sujeito à x2 ≤ 1
≤4 ≥5
x1 x1
l.c
x ∈ Z+
x ∈ Z+
i 0 ai i 0
6 × 5 + 5x = 30
2
o8
x =4
1
et
x2 = 1 x = 0.66
2
ub
Z = 28 + 6 = 34
i x = 0(min) ⇒ Z = 35
2 i
um
Como não podemos mais bifurcar e nem podemos aumentar o valor da função ob-
jectivo, já alcançamos a solução óptima inteira do problema de programação linear
inteira dada pelo subproblema 1.2. SPLI = {x1 = 5, x2 = 0, Zm = 35}.
om
l.c
ai
gm
2x + 3x2 ≥ 4
1
um
sujeito à 3x1 + 2x2 ≥ 5
x ∈ Z+
m
i o
Resolução
Tabela 1
Base x1 x2 x3 x4 Bi
x3 -2 -3 1 0 -4
x4 -3 -2 0 1 -5
W -6 -5 0 0 0
om
- (2) (2.5) - - -
Tabela 2
l.c
ai
gm
Base x1 x2 x3 x4 Bi
@
W 0 -1 0 -2 10
ub
- - (0.6) - (2) -
um
Tabela 3
m
Base x1 x2 x3 x4 Bi
Solução: SPL = {x1 = 7/5 = 1.4, x2 = 2/5 = 0.4 e Wmin = 52/5 = 10.4}
Como a parte fraccionário é igual a 0.4 nas duas variáveis, recorremos aos coeficientes
da função objectivo. Portanto, para o problema de minimização vamos bifurcar x2
porque tem menor coeficiente na função objectivo, isto é: B.x2 = 0.4.
subproblema 1 subproblema 2
minimizar W = 6x1 + 5x2 minimizar W = 6x1 + 5x2
2x1 + 3x2 ≥ 4
2x1 + 3x2 ≥ 4
3x + 2x ≥ 5 3x + 2x ≥ 5
om
1 2 1 2
sujeito à sujeito à
x2 ≤ 0
x2 ≥ 1
l.c
x ∈ Z+
x ∈ Z+
i 0 ai i 0
gm
Para x2 = 0 tem-se Para x2 = 1 tem-se
@
2x + 3 × 0 = 4 2x + 3 × 1 = 4
1
1
o8
3x + 2 × 0 = 5 3x + 2 × 1 = 5
2
1
et
ub
x = 2(max) ⇒ W = 12
1 i x = 0.5
1 −
um
x = 1.66
1 − x = 1(max) ⇒ W = 11
1 i
m
Solução
SPLI = {x1 = 1, x2 = 1} com Ws = 11.
om
Figura 5.3: Árvore binária para o exemplo 5.3
l.c
ai
Exemplo 5.4. Dado o seguinte problema de programação linear inteira
gm
−3x1 + 2x2 ≤ 2
o8
2x1 − 4x2 ≤ 3
sujeito à
et
1x1 + 1x2 ≤ 6
ub
xi ∈ Z0+
um
Resolução
r1 : x1 x2 r2 : x1 x2 r3 : x1 x2 r z : x1 x2
0 1 0 -3/4 0 6 0 0
-2/3 0 3/2 0 6 0 2 4
om
l.c
ai
gm
Figura 5.4: Gráfico da primeira aproximação de solução do problema de programção
linear inteira, exemplo 5.4
@
o8
subproblema 1 subproblema 2
om
l.c
(a) Subproblema 1 ai (b) Subproblema 2
om
l.c
ai
(a) Subproblema 1.1 (b) Subproblema 1.2
gm
Resolução
r1 : x1 x2 r2 : x1 x2 rw : x1 x2
0 3 0 8/3 0 0
3/2 0 4 0 2 -5/2
om
l.c
ai
gm
@
o8
et
ub
um
m
Pmin = r1 ∩ r2
1 5 45
SPL = x1 = = 0.25, x2 = = 2.5 e Wmin = = 22.5.
4 2 2
Portanto, Ws = ∞ e Ws ≥ Wmin
Vamos difurcar x2 por ter a parte fraccionária igual a 0.5. B.x2 = 2.5
subproblema 1 subproblema 2
minimizar W = 10x1 + 8x2 minimizar W = 10x1 + 8x2
2x1 + 1x2 ≥ 3
2x1 + 1x2 ≥ 3
4x + 6x ≥ 16
4x + 6x ≥ 16
1 2 1 2
sujeito à sujeito à
x2 ≤ 2
x2 ≥ 3
x ∈ Z+ x ∈ Z+
i 0 i 0
om
l.c
ai
gm
@
o8
et
ub
um
om
De forma geral, o método de corte de Gomory dá uma possibilidade de diminuir o
l.c
número das iterações, no entanto, ele pode não chegar a uma solução inteira, ainda
que tenha uma convergência rápida. ai
gm
Procedimento do método de Gomory
@
solução óptima deve ser inteira, até obter a tabela terminal simplex (1a aproximação).
ub
Passo 2. Para construir a nova restrição, deve-se escolher da tabela terminal sim-
plex qualquer linha que tenha a solução não inteira xi = bi . Para diminuir o número
das iterações necessárias para convergir recomenda-se escolher a linha com a maior
fracção própria depois da decomposição.
a) Supondo que foi escolhida a linha i, a correspondente equação é, (equação 1):
X
ai1 x1 + ai2 x2 + ... + aij xi = bi ou aij xi = bi (5.1)
b) Decompõe-se cada coeficiente fraccionário aij bem como o termo bi não inteiro
como soma de um inteiro [aij ], [bi ] e de uma fracção própria extritamente positiva fij
e fi respectivamente. Assim, aij = [aij ] + fij e bi = [bi ] + fi e em seguida escreve-se
a nova restrição multiplicada por (-1) mais a variável de folga xi+1 , (equação 2).
X
− fi1 x1 − fi2 x2 − ... − fij xi + xi+1 = −fi ou − fij xi = −fi (5.2)
om
nova restrição (equação 2) na tabela terminal simplex e resolver o novo problema. Se
esta nova solução não for inteira volte e repita o passo 2.
l.c
b) Para usar o método simplex de duas fases, basta considerar a equação 1, a equação
ai
2 multiplicada por (-1) e introduzir a variável artificial ai , em seguida resolver o pro-
gm
blema com as duas restrições, a função objectivo 1 e a função objectivo Za . Se depois
da segunda fase não tiver solução inteira, volte ao passo 2.
@
o8
Resolução
Tabela 1
Base x1 x2 x3 x4 Bi
x3 1 -1 1 0 2
x4 2 4 0 1 15
Z 1 -3 0 0 -
Tabela 2
om
Base x1 x2 x3 x4 Bi
l.c
x3 3/2 0 1 1/4 23/4
x2 1/2 1 0 1/4 15/4
ai
gm
W 5/2 0 0 3/4 45/4
@
15 3 23 3 45
SPL = x1 = 0, x2 = = 3 + , x3 = = 5 + , x4 = 0, Zmax = = 11.25
o8
4 4 4 4 4
et
e como para x2 e x3 temos a mesma fracção teremos que escolher a linha 2 porque
4
x2 tem maior coeficiente na função objectivo.
um
1 1 15
x1 + 1x2 + 0x3 + x4 = , equacao 1
m
2 4 4
1 1 3
− x1 + 0x2 + 0x3 − x4 + 1x5 = − , equacao 2
2 4 4
om
Tabela 1
l.c
Base x1 x2 x3 x4 x5 Bi
Tabela 2
um
Base x1 x2 x3 x4 x5 Bi
x3 1 0 1 0 1 5
m
x2 0 1 0 0 1 3
x4 2 0 0 1 -4 3
W 1 0 0 0 0 9
Resolução
om
Tabela 1
l.c
Base x1 x2 x3 x4 x5 Bi
ai
x4 1 2 3 1 0 9
gm
x5 3 2 2 0 1 15
@
Z -1 -9 -1 0 0 -
o8
et
Tabela 2
ub
Base x1 x2 x3 x4 x5 Bi
um
x5 2 0 -1 -1 1 6
1 3 1 9
x1 + 1x2 + x3 + x4 + 0x5 = , equacao 1
2 2 2 2
Depois da decomposição
1 1 1 1
− x1 + 0x2 − x3 − x4 + 0x5 + 1x6 = − , equacao 2
2 2 2 2
Como pretendemos usar o método de duas fases vamos multiplicar por (-1) a equação
2 e introduzir a variável artificial.
1 1 1 1
x1 + 0x2 + x3 + x4 + 0x5 − 1x6 + a1 =
2 2 2 2
om
Tabela 1 1aF
l.c
Base x1 x2 x3 x4 x5 x6 a1 Bi
ai
x2 1/2 1 3/2 1/2 0 0 0 9/2
gm
Tabela 2 1aF
um
Base x1 x2 x3 x4 x5 x6 a1 Bi
m
x2 0 1 1 1/2 0 1 -1 4
x1 1 0 1 1 0 -2 2 1
Z 0 0 9 1 0 7 -7 37
Za 0 0 0 0 0 0 1 0
Tabela 1 2aF
Base x1 x2 x3 x4 x5 x6 Bi
x2 0 1 1 1/2 0 1 4
x1 1 0 1 1 0 -2 1
Z 0 0 9 1 0 7 37
om
SPLI: X = (1, 4, 0, 0, 0), com Zm = 37
l.c
Veja que neste exemplo, a variável x5 não está na solução por não ter nenhum coefi-
ai
ciente ao longo da coluna, se isso acontecer com mais variáveis, em especial variáveis
gm
de decisão, significa que este método não alcança a solução inteira.
@
2x + 5x2 ≤ 14
ub
1
sujeito à 3x1 + 2x2 ≤ 10
um
x ∈ Z+
i 0
m
Resolução
a) Método simplex
Tabela 1
Base x1 x2 x3 x4 Bi
x3 2 5 1 0 14
x4 3 2 0 1 10
Z -2 -5 0 0 -
om
Tabela 2
Base x1 x2 x3 x4 Bi
l.c
ai
gm
x2 2/5 1 1/5 0 14/5
x4 11/5 0 -2/5 1 22/5
@
o8
Z 0 0 1 0 14
et
14 4 22 2
SPL = x1 = 0, x2 = = 2 + , x3 = 0, x4 = = 4 + , Zmax = 14
ub
5 5 5 5
um
b) Usando o método de corte de Gomory, vai-se escolher a linha 1, por ter maior
fracção.
2 1 14
x1 + 1x2 + x3 + 0x4 = equacao 1
5 5 5
2 1 4
− x1 − 0x2 − x3 − 0x4 + 1x5 = − equacao 2
5 5 5
Tabela 1
Base x1 x2 x3 x4 x5 Bi
Z 0 0 1 0 0 14
om
Tabela 2
Base x1 x2 x3 x4 x5 Bi
l.c
x2 0 1 0 0 1 2
ai
gm
x4 0 0 -3/2 1 11/2 0
x1 1 0 1/2 0 -5/2 2
@
o8
Z 0 0 1 0 0 14
et
Respostas:
om
x ∈ Z+ x ∈ Z+
i 0 i 0
Respostas:
l.c
a) SPL = {x1 = 1.5, x2 = 2, Zmax = 8.5} ⇒ X = (2,1), Zm = 8
ai
b) SPL = {x1 = 0, x2 = 3.33, Wmin = 26.67} ⇒ X = (1,3), Ws = 30
gm
5x + 2x2 ≤ 20 2x + 3x2 ≤ 10
1 1
o8
xi ∈ Z0+ xi ∈ Z0+
ub
Respostas:
c) SPL = {x1 = 2.5, x2 = 3.75, Zmax = 45} ⇒ X = (2,4), Zm = 44
um
Respostas:
SPL = {x1 = 5.5, x2 = 0, Zmax = 110} ⇒ X = (5,0), Zm = 100
Respostas:
om
a) SPL = {x1 = 4.43, x2 = 2.86, Zmax = 10.14} ⇒ X = (4,2), Zm = 8
d) SPL = {x1 = 4.29, x2 = 3.43, Zmax = 14.57} ⇒ X = (3,3), Zm = 13
l.c
ai
maximizar Z = 12x1 + 14x2
maximizar Z = 2x1 − 4x2 + 1x3
2x1 + 4x2 ≤ 10
gm
1x − 1x2 + 0x3 ≤ 12
1
3x + 2x ≤ 9
1 2
c) sujeito à 0x1 + 2x2 + 3x3 ≤ 28 d) sujeito à
@
5x1 + 3x2 ≤ 12
o8
x ∈ Z+
i 0
x ∈ Z+
i 0
et
Respostas:
ub
Problemas de transporte e
om
afectação
l.c
ai
gm
6.1 Introdução
@
produto em relação aos locais de vendas de tal forma que o lúcro das vendas seja
máximo. Este e outros casos, são problemas que afectam a rede de transporte.
um
mas de transporte, estão ligados a autores como Kantorovich que em 1939 publicou
o primeiro trabalho realacionado aos modelos de transporte “On the translocation of
masses”(Kantorovich, 1958), por sua vez Hitchcock (1941), publicou o segundo tra-
balho, “The distribution of a product from several sources to numerous localities”.
Dai em diante, vários outros autores contribuiram para o desenvolvimento dos al-
gorı́tmos de transportes e afectação como Koopmans (1947), Cooper (1954), Dantzig
(1965), Churchman et al (1966), entre outros.
154
Investigação Operacional
transporte leva lugar de destaque, pois, não adianta nada, do ponto de vista do mer-
cado, o fornecedor dispor de um bom produto que não é encontrado pelo cliente no
momento que ele o deseja.
om
respeitando a capacidade das fábricas e dos depósitos (transporte directo).
l.c
• Uma variante, desta situação, é aquela em que os produtos da fonte não vão di-
rectamente ao consumidor, eles passam por outras fontes ou destinos (transporte
ai
com transbordo ou indirecto).
gm
de afectação ou assignação).
ub
O que temos em comum nestes três casos é a rede de transporte ligando fontes aos
destinos. Neste capı́tulo, vai-se considerar com maior detalhe o primeiro caso, por
um
Suponhamos que existem m - fábricas de um certo produto, cada fonte pode for-
necer uma quantidade ai e por outro lado, existem n – mercados, cada um pode
om
l.c
ai
gm
@
Como o número de unidades a transportar de uma fábrica (Origem i) para uma loja
ub
(Destino j) deve ser um número inteiro, então, os problemas podem ser apresentados
um
n X
X m
Optimizar Z = cij xij
m i=1 j=1
X
xij = ai , i = 1, 2, ..., n
j=1
n
X
xij = bj , j = 1, 2, ..., m
sujeito à i=1
n m
X X
ai = bj
i=1 j=1
xij ∈ Z +
0
Onde
• xij – é a quantidade transportada de origem i para o destino j.
• cij – é o custo de transporte de uma unidade de ai para bj .
• ai – é a quantidade disponı́vel na origem i (oferta).
• bj – é a quantidade necessária no destino j (procura).
om
i=1 j=1
l.c
porte. Esta condição, sugere a existência de dois tipos de problemas de transporte:
ai
a) Problema de transporte balanceados ou equilibrados, são aqueles em que o total
gm
da oferta é igual ao total da procura e
b) Problemas de transporte não balanceados, os não equilibrados, quando as somas
@
tenha solução, para os problemas não balanceados são introduzidas origens e desti-
ub
nos fictı́cios com custo zero (cij = 0), de modo que o total da oferta seja igual ao
um
total da procura.
a) se Σai > Σbj , introduz-se um destino fictı́cio bm+1 = Σai − Σbj .
m
b) se Σai < Σbj , introduz-se uma origem fictı́cia an+1 = Σbj − Σai .
Esta formulação do problema bem como a sua interpretação dão origem a um quadro
padrão dos problemas de transporte do seguinte tipo:
om
cn1 cn2 ... cnm
Origem n xn1 xn2 ... xnm an
Procura b1 b2 ... bm
l.c
Σai = Σbj
ai
gm
@
Exemplo 6.1. Considere uma empresa com duas fábricas que processam mensal-
mente 15 e 25 mil sacos de arroz respectivamente. Os sacos devem ser transportados
o8
Os custos de transporte são: c11 = 10, c12 = 3, c13 = 5, c21 = 12, c22 = 7 e c23 = 9.
ub
inteira.
c) Construir o quadro modelo do problema de transporte.
m
Resolução
a) Neste problema temos duas origens e três destinos como a Figura 6.2 apresenta.
om
Figura 6.2: Representação da rede de transporte do exemplo 6.1
x + x = 20
11 21
sujeito á
et
x12 + x22 = 10
ub
x13 + x23 = 10
x ∈ Z+
um
ij 0
m
D1 D2 D3 Oferta
10 3 5
O1 x11 x12 x13 15
12 7 9
O2 x21 x22 x13 25
Procura 20 10 10 40
om
1. Método de Canto Noroeste (Northwest Conner Method – NWC).
l.c
2. Método de Custo mı́nimo (lúcro máximo) (Low Cust Method - LCM).
ai
gm
3. Método de Aproximação de Vogel (Vogel Approximation Method - VAM).
alocadas para células não ocupadas. Para isso, existem dois métodos:
et
Passo 2. Ajustar a linha ou coluna satisfeita com zero e depois passar a coluna ou
linha pela sequência. Note que, entende-se por linha satisfeita, se toda a quantidade
da oferta já foi distribuida pelos destinos. E por coluna satisfeita, se toda a quanti-
dade necessária num destino já foi recebida).
• se x11 = a1 ⇒ x21 = b1 − a1
• se x11 = b1 ⇒ x12 = a1 − b1
om
Σxij = bj .
l.c
Exemplo 6.2. Usando o método de canto noroeste resolva o exemplo 6.1 e apresente
o custo total.
ai
gm
Resolução
@
Como temos Σai = Σbj = 40, não é necessário introduzir coluna nem linha fictı́cias.
o8
D1 D2 D3 Oferta
et
10 3 5
ub
O1 15 - - 15
um
12 7 9
25
m
O2 5 10 10
Procura 20 10 10 40
Ordem de preenchimento:
x11 = min{15, 20} = 15; x12 = 0; x13 = 0; linha 1 satisfeita.
x21 = min{25, 20 − 15} = min{25, 5} = 5 , coluna 1 satisfeita.
x22 = min{20, 10} = 10, coluna 2 satisfeita.
x23 = min{10, 10} = 10, linha 2 e coluna 3 satisfeitas.
Observações
1. As variáveis : x11 = 15; x21 = 5; x22 = 10 e x23 = 10 são básicas (xij 6= 0).
2. As variáveis x12 = 0 e x13 = 0 são não básicas (xij = 0).
3. Como existem variáveis não básicas, então, existe uma outra alocação com o
mesmo custo total ou valor da função objectivo: W = ΣΣcij xij = 370.
om
pelo método de canto noroeste a alocação óptima de modo que o custo de transporte
seja mı́nimo.
- 1 2 3
l.c
4
ai
gm
A 42 40 40 44
B 46 31 38 35
@
C 30 38 46 41
o8
et
Resolução
Σai = 90 + 110 + 50 = 250, Σbj = 60 + 50 + 90 + 50 = 250
ub
um
1 2 3 4 Oferta
42 40 40 44
m
A 60 30 - - 90
46 31 38 35
B - 20 90 - 110
30 38 46 41
C - - - 50 50
Procura 60 50 90 50 250
Custo total W = 60×42+30×40+20×31+90×38+50×41 = 9810 unidades de medida.
- A B C D
L1 70 60 60 60
om
L2 50 80 60 70
L3 80 50 80 60
l.c
Resolução
ai
gm
Como Σai = 80 + 100 + 50 = 230 e Σbj = 50 + 40 + 60 + 40 = 190, temos que introduzir
um destino fictı́cio bm+1 que necessita de 40 unidades com um custo unitário de transporte
@
A B C D E* Oferta
et
70 60 60 60 0
ub
L1 50 30 - - - 80
um
50 80 60 70 0
100
m
L2 - 10 60 30 -
80 50 80 60 0
L3 - - - 10 40 50
Procura 50 40 60 40 40 230
W = 50×70 + 30×60 + 10×80 + 60×60 + 30×70 + 10×60 + 40×0 = 12400 mil unidades
de medida.
Observações
Neste preenchimento, temos por exemplo, no local 1 havia 80 mil galões, destes, 50 foram
entregues ao posto A e 30 foram entregues ao posto B. No local 3, havia 50 mil galões,
onde 10 mil foram entregues ao posto D, os outros 40 mil galões não foram entregues a
nenhum posto porque todos já tinham a quantidade recessária. O custo zero, significa que
a quantidade não foi transportada, permaneceu no local.
om
inicial viável de menor custo ou maior lúcro. O procedimento do método é seguinte:
l.c
Passo 1. Começar por alocar o máximo possı́vel na célula ou variável de menor custo
unitário (maior lúcro) e colocar zero nas células da linha ou coluna satisfeita.
ai
gm
Passo 2. Ajustar os elementos ou a quantidade que resta na linha ou coluna não ajustada,
a partir da variável com menor custo (maior lúcro).
@
o8
Passo 3. Repetir o processo para as variáveis com outros custos na ordem crescente
et
Resolução
m
- D1 D2 D3 Oferta
10 3 5
O1 - 10 5 15
12 7 9
O2 20 - 5 25
Procura 20 10 10 40
O preenchimento do quadro agora seguiu a sequência crescente dos custos:
c12 = 3 ⇒ x12 = min{15, 10} = 10, coluna 2 satisfeita
Comparando os dois métodos, pode-se observar que, diminuimos de 370 para 340, o que
significa de que com o método de custo mı́nimo, o custo total diminui em 30 unidades de
medida.
Exemplo 6.6. Uma empresa tem três fábricas F1, F2, F3 onde produz uma determinada
om
mercadoria nas quantidades 75, 150 e 100 toneladas respectivamente. Esta mercadoria deve
ser enviada para cinco consumidores C1, C2, C3, C4, e C5, que necessitam de 100, 60, 40,
l.c
75 e 75 toneladas respectivamente. Os custos de transporte por tonelada entre as várias
ai
fábricas e os consumidores são os seguintes:
gm
- C1 C2 C3 C4 C5
@
F1 3 2 3 4 1
o8
F2 4 1 2 4 2
et
F3 1 0 5 3 2
ub
Usando o método de custo mı́nimo, determine qual é a programação que a empresa deve
um
adoptar por forma a satisfazer as necessidades dos consumidores com um custo de trans-
porte mı́nimo.
m
Resolução
Σai = 325, Σbj = 350, precisamos uma origem fictı́cia com F4 = 350 − 325 = 25
Ordem de preenchimento
c41 = 0 ⇒ F4C1 = 25, linha 4 satisfeita
c32 = 0 ⇒ F3C2 = 60, coluna 2 satisfeita
c31 = 1 ⇒ F3C1 = 40, linha 3 satisfeita
c15 = 1 ⇒ F1C5 = 75, linha 1 e coluna 5 satisfeitas
c23 = 2 ⇒ F2C3 = 40, coluna 3 satisfeita
- C1 C2 C3 C4 C5 Oferta
3 2 3 1 1
F1 - - - - 75 75
4 1 2 4 2
F2 35 - 40 75 - 150
om
1 0 5 3 2
l.c
F3 40 60 - - -
ai 100
0 0 0 0 0
gm
F4* 25 - - - - 25
@
W = 75×1 + 35×4 + 40×2 + 75×4 + 40×1 + 60×0 + 25×0 = 635 unidades de medida.
ub
Observações
um
2. Neste preenchimento e em muitos casos, quando existem células com custos ou lúcros
unitários iguais pode se começar por qualquer uma das células.
Exemplo 6.7. Uma empresa manufactura cadeiras em três fábricas e manda-as para três
armazéns onde posteriormente os clientes compram-nas. A gerência deseja maximizar o
lúcro no fim de cada lote vendido. Os lúcros unitários variam com as distâncias entre os
armazéns e as fábricas conforme a tabela ilustra.
A1 A2 A3 Oferta
F1 20 22 14 40
F2 15 20 13 50
F3 22 23 18 30
Procura 28 38 54 -
om
Resolução
a) Método de lúcro máximo
l.c
A1 A2 A3 Oferta
ai
gm
20 22 14
F1 28 8 4 40
@
o8
15 20 13
50
et
F2 - - 50
ub
22 23 18
30
um
F3 - 30 -
Procura 28 38 54 120
m
A1 A2 A3 Oferta
20 22 14
F1 28 12 - 40
15 20 13
F2 - 26 24 50
22 23 18
om
F3 - - 30 30
l.c
Procura 28 38 54 120 ai
gm
Z = ΣΣcij × xij = 1884
@
Mais uma vez, a solução é melhor com o método de lúcro máximo do que o método de
o8
canto noroeste. Em geral, este método apresenta uma solução mais próxima da solução
et
Passo 2. Identificar a linha ou coluna com o maior custo de oportunidade (máxima pena-
lidade), se houver empate, escolhe-se a linha ou coluna com o menor custo nuitário (maior
om
lúcro unitário).
l.c
Passo 3. Na linha ou coluna escolhida, alocar o máximo possı́vel para a variável com
o menor custo unitário ou maior lúcro unitário para os problemas de maximização, lembre-
ai
se que xij = min{ai , bj }.
gm
Passo 4. Eliminar a linha ou coluna que estiver completamente satisfeita depois desta
@
alocação. A eliminação é feita colocando x0 s ou um traço nas células que não devem par-
o8
85 e 45 unidades de medida. Sendo dada a matriz dos custos, determinar pelo método de
aproximação de Vogel a primeira aproximação de solução do problema.
- D1 D2 D3 D4
A 41 40 40 44
B 46 31 38 35
C 30 38 46 41
Resolução
Σai = 90 + 110 + 50 = 250, Σbj = 60 + 50 + 85 + 45 = 240
Como temos a oferta maior do que a procura, precisamos b5 = 250 − 240 = 10
- D1 D2 D3 D4 D5 Of. pi
42 40 40 44 0
A 10 - 70 - 10 90 40 0 0 2 2
46 31 38 35 0
B - 50 15 45 - 110 31 4 4 3 8
30 38 46 41 0
C 50 - - - - 50 30 8 - - -
Proc. 60 50 85 45 10 250
om
pj 12 7 2 6 0
l.c
12 7 2 6 -
4 9 2 9 -
ai
gm
4 - 2 9 -
4 - 2 - -
@
o8
A penalidade máxima nesta série é de 40, é por isso que escolheu-se a linha 1 (linha A) e
alocou-se com 10 unidades na posição x15 . Tendo sido satisfeita a coluna 5 colocou-se {-}
m
Exemplo 6.9. Uma empresa possui 4 armazéns onde dispõe de 18, 4, 6, 12 toneladas
de arroz. Estes armazéns abastecem 4 cidades que necessitam, respectivamente de 6, 14,
15 e 5 toneladas deste arroz. Considere o quadro seguinte onde se apresentam os custos de
transporte em mil meticais por tonelada transportada.
- C1 C2 C3 C4
A1 9 7 12 8
A2 15 12 12 15
A3 8 9 6 12
A4 14 12 11 12
om
Resolução
Σai = Σbj = 40
l.c
- C1 C2 C3 C4
ai
Oferta pi
gm
9 7 12 8
A1 4 14 - - 18 1 1 1 - -
@
15 12 12 15
o8
A2 - - 4 - 4 0 0 3 3 -
et
8 9 6 12
ub
A3 - - 6 - 6 3 - - - -
um
14 12 11 12
A4 2 - 5 5 12 1 1 1 2 2
m
Procura 6 14 15 5 40
pj 1 2 5 4
5 5 1 4
5 - 1 4
1 - 1 3
* - * *
Exemplo 6.10. Uma transportadora aluga os seus camiões para o transporte de batata
dos centros de produção da zona centro para 4 mercados na zona sul de Moçambique. O
gestor das operações depois de uma análise cuidadosa elaborou um modelo de programação
linear ilustrado.
om
x31 + x32 + x33 + x34 = 17
l.c
x11 + x21 + x31 = 14
sujeito á ai
x12 + x22 + x32 = 8
gm
x13 + x23 + x33 = 12
x14 + x24 + x34 = 9
@
xij ∈ Z +
0
o8
et
O objectivo é no fim de uma etapa de distribuição obter o maior lúcro possivel. Na tenta-
ub
Resolução
a) O quadro padrão dos problema de transporte
- M1 M2 M3 M4 Oferta
12 10 9 11
CP1 x11 x12 x13 x14 15
10 14 13 12
CP2 x21 x22 x23 x24 11
12 9 9 13
CP3 x31 x32 x33 x34 17
Procura 14 8 12 9 43
om
l.c
b1) Método de canto noroeste
- M1 M2 M3 M4
ai
Oferta
gm
12 10 9 11
@
CP1 14 1 - - 15
o8
10 14 13 12
CP2 - 7 4 - 11
et
12 9 9 13
ub
CP3 - - 8 9 17
um
Procura 14 8 12 9 43
m
- M1 M2 M3 M4 Oferta
12 10 9 11
CP1 14 - 9 - 15
10 14 13 12
CP2 - 8 3 - 11
12 9 9 13
CP3 - - 8 9 17
Procura 14 8 12 9 43
om
l.c
Z2 = 14×12 + 9×9 + 8×14 + 3×13 + 8×9 + 9×13 = 589 unidades de medida
- M1 M2 M3 M4 Oferta pi
@
12 10 9 11
o8
CP1 6 8 1 - 15 1 1 2 2
et
10 14 13 12
ub
CP2 - - 11 - 11 1 - - -
um
12 9 9 13
CP3 8 - - 9 17 1 1 3 -
m
Procura 14 8 12 9 43
pj 0 2 4 1
0 1 0 2
0 1 0 -
* * * -
om
de minimização, e menor ou igual a zero (δij ≤ 0), para os problemas de maximização.
l.c
Definição 2. Uma solução é degenerada, quando o número de células ocupadas for
menor do que o número de linhas+número de colunas - 1 ou número de células ocupadas
ai
N CO < n + m–1. Esta situação pode ocorrer tanto na primeira aproximação como em
gm
qualquer fase de melhoramento da solução.
@
Quando se tem uma solução degenerada, muitas vezes não se consegue desenvolver o teste
o8
da solução é introduzida uma alocação artificial com uma quantidade bastante pequena,
diga-se uma infinitésima ε (lê-se épsilon), em uma ou mais células não ocupadas até que a
ub
solução seja não degenerada e considera-se que esta célula está ocupada. Depois de encon-
um
Como já referido na subsecção 6.1.2, o teste de optimidade de solução pode ser feito usando
o método de MODI ou pelo método de Stepping Stone.
om
6.3.1 Método de MODI para o teste de optimidade de solução
l.c
ai
Determinada a primeira aproximação por qulaquer um dos três métodos NWC, LCM ou
VAM, para aplicar o método de MODI, é necessário seguir os seguintes passos. Atenção
gm
verifique antes se a solução é degenerada.
@
Passo 1. Partindo do quadro da primeira aproximação, para cada variável básica (xij 6= 0),
o8
Passo 2. Igualar a zero ui ou vj que aparecer mais vezes no sistema. Se houver mais
um
de uma variável com igual frequência, qualquer uma pode-se escolher para igualar a zero.
m
Passo 3. Usando o método de substituição, calcular os valores dos outros u0i s e vj0 s con-
siderando cij = ui + vj para todas variáveis básicas (xij 6= 0). Se não for possı́vel calcular
os valores de ui e vj para uma ou mais equações significa que o problema está degenerado,
neste caso use a definição 2 e escreva uma equação para esta célula. Em seguida, termine
a resolução do sitema.
Passo 4. Para todas variáveis não básicas calcule os multiplicadores simplex, usando
a equação, δij = cij –(ui + vj ) para xij = 0
zero (δij ≥ 0), para minimização, negativos ou iguais a zero (δij ≤ 0), para maximização a
solução é óptima, caso contrário, passe para a subsecção 6.3.3, para fazer o melhoramento.
om
Passo 1. Identificar todas as células não ocupadas ou todas as variáveis não básicas.
l.c
Passo 2. Para cada célula não ocupada, traçar um circuito de avaliação tendo em conta
ai
que cada circuito deve começar e terminar na mesma variável não básica.
gm
Passo 3. Escrever os custos ou lúcros em todos os cantos onde o circuito passou asso-
@
Passo 4. Para cada variável não básica conforme o circuito de avaliação, calcular o multi-
et
plicador simplex δij como soma de todos os custos ou lúcros com sinal positivo e negativo,
ub
isto é: δij = Σ(+cij ) + Σ(−cij ) (min) ou δij = Σ(+lij ) + Σ(−lij ) (max).
um
Passo 5. Se todos multiplicadores simplex forem positivos ou iguais a zero (δij ≥ 0),
para minimização, negativos ou iguais a zero (δij ≤ 0), para maximização a solução é
m
óptima, caso contrário, a solução deve-ser melhorada. e passe para a subsecção 6.3.3 para
melhorar.
1. Identificar a célula com o menor multiplicador simplex (min δij para minimização)
ou maior multiplicador simplex (max δij para maximização) e a variável não básica
xij correspondente a esta célula entra na base. Se houver empate deve-se escolher
uma entre as variáveis com os preços de sombra empatados.
2. Traçar um circuito de avaliação para a variável que deve entrar na base e coloque os
valores das alocações nas células ao longo do circuito.
4. Depois desta alocação, calcule o novo custo total ou lúcro total e repita o teste de
om
melhoramento 6.3.1 ou 6.3.2 até obter a solução óptima.
l.c
Exemplo 6.11. Usando os dados do exemplo 6.7 para maximização.
ai
a) Estabeleça a solução inicial pelo método de aproximação de Vogel.
b) Usando o método de Stepping Stone verifique se a solução é óptima. Caso contrário,
gm
realize todas iterações até obter o lúcro máximo.
@
Resolução
o8
- A1 A2 A3 Oferta pi
ub
20 22 14
40
um
F1 28 - 12 2 6 *
15 20 13
m
F2 - 38 12 50 5 2 -
22 23 18
F3 - - 30 30 1 4 *
Procura 28 38 54 120
pj 2 1 4
2 - 4
- - 4
Tabela 6.1: Teste de optimidade de solução pelo método de Steppig Stone, circuitos
do exemplo 6.11
om
x31 x31 → x33 → x13 → x11 → x31 δ31 = 22 − 18 + 14 − 20 = −2
l.c
x32 x32 → x33 → x23 → x22 → x32 δ32 = 23 − 18 + 13 − 20 = −2
ai
gm
Para um problema de maximização, como δ12 = 1 ≥ 0, significa de que a actual solução
não é óptima e deve ser melhorada introduzindo a variável x12 na base. E como o mı́nimo
@
das alocações no circuito com sinal negativo (-) é 12, então 12 é a quantidade a somar e
o8
x12 = 0 + 12 = 12
x22 = 38 − 12 = 26
m
x23 = 12 + 12 = 24
x13 = 12 − 12 = 0
- A1 A2 A3 Oferta
20 22 14
F1 28 12 - 40
15 20 13
F2 - 26 24 50
22 23 18
F3 - - 30 30
Procura 28 38 54 120
om
Z2 = 28×20 + 12×22 + 26×20 + 24×13 + 30×18 = 2196, ∆z = 12 u.m
l.c
Teste 2 de optimidade de solução
ai
gm
Como todos os preços de sombra (multiplicadores simplex) são negativos (∀δij ≤ 0), então
m
já encontramos o lúcro máximo, isto é, a solução óptima, Zmax = 2196.
Resolução
a). Método do custo mı́nimo
- v1 v2 v3 v4 Oferta
12 10 9 11
om
u1 3 3 - 9 15
l.c
10 14 13 12
11
u2 11 - - -
ai
gm
12 9 7 13
u3 - 5 12 - 17
@
Procura 14 8 12 9 43
o8
et
u1 + v1 = 12
u1 = 0, v1 = 12
δ13 =9−0−8=1
u1 + v2 = 10 u1 = 0, v2 = 10 δ22 = 14 + 2 − 10 = 6
u1 + v4 = 11 u1 = 0, v4 = 11 δ23 = 13 + 2 − 8 = 7
u2 + v1 = 10
u2 = −2, v1 = 12
δ24 = 12 + 2 − 11 = 3
u3 + v2 =9
u3 = −1, v2 = 10
δ31 = 12 + 1 − 12 = 1
u3 + v3 =7 u3 = −1, v3 = 8 δ34 = 13 + 1 − 11 = 3
Neste caso, para resolver o sistema, começou-se por fazer u1 = 0, porque esta variável apa-
rece três vezes no sistema. Em seguida, usando substituições sucessivas foram calculados os
outros u0i s e vj0 s. Para terminar o teste, foram calculados os δij para variáveis não básicas.
E como todos preços de sombra são positivos, então Wmin = 404.
Exemplo 6.13. Uma companhia aérea pode comprar o seu combustı́vel a qualquer um dos
seus três fornecedores. As necessidades da companhia para um mês em cada um dos três
aeroportos em que ela opera são: 320, 270 e 150 mil galões, respectivamente no aeroporto
1, 2 e 3. Cada fornecedor pode abastecer cada um dos aeroportos com os preços em mil
meticais o galão, dados na seguinte tabela.
om
Fornecedor A1 A2 A3
F1 92 89
l.c
90
ai
F2 91 91 95
gm
F3 87 90 92
@
o8
Cada fornecedor está no entanto limitado pelo número de galões que pode abastecer por
mês. Estas capacidades são 100, 180 e 300 mil galões respectivamente para os fornecedores
et
contrário, optimize-a.
Resolução
a) Método de canto noroeste
Σai = 580, Σbj = 740, precisamos uma origem fictı́cia a4 = 740 − 580 = 160
– v1 v2 v3 Oferta
92 89 90
u1 100 - - 100
91 91 95
u2 180 - - 180
87 90 92
u3 40 260 - 300
0 0 0
om
u4 - 10 150 160
l.c
Procura 320 270 150 740
ai
W1 = 100×92 + 180×91 + 40×87 + 260×90 + 10×0 + 150×0 = 52460.
gm
b) Precisamos 4+3-1 = 6 células ocupadas. Como temos x11 , x21 , x31 , x32 , x42 , x43 , 6 celulas
@
u1 + v1 = 92
u1 = 92, v1 = 0
δ12 = 89 − 92 − 3 = −6N
um
u2 + v1 = 91 u2 = 91, v1 = 0 δ13 = 90 − 92 − 3 = −5
u3 + v1 = 87 u3 = 87, v1 = 0 δ22 = 91 − 91 − 3 = −3
m
u +v
3 2 = 90 u = 87, v = 3
3 2
δ23 = 95 − 91 − 3 = 1
u4 + v2 =0
u4 = −3, v2 = 3
δ33 = 92 − 87 − 3 = 2
u4 + v3 =0 u4 = −3, v3 = 3 δ41 =0+3−0=3
— v1 v2 v3 Oferta
92 89 90
u1 - 100 - 100
91 91 95
u2 180 - - 180
87 90 92
u3 140 160 - 300
om
0 0 0
u4 - 10 150 160
l.c
Procura 320 270 150 740 ai
gm
W2 = 100×89 + 180×91 + 140×87 + 160×90 +10×0 + 150×0 = 51860.
@
u1 + v2 = 89 u1 = 89, v2 = 0 δ11 = 92 − 89 + 3 = 6
et
u2 + v1 = 91 u2 = 94, v1 = −3 δ13 = 90 − 89 − 0 = 1
ub
u3 + v1
= 87 u3 = 90, v1 = −3
δ22
= 91 − 94 − 0 = −3N
um
u +v
3 2 = 90 u = 90, v = 0
3 2
δ23 = 95 − 94 − 0 = 1
u4 + v2 =0 u4 = 0, v2 = 0 δ33 = 92 − 90 − 0 = 2
m
u4 + v3 =0 u4 = 0, v3 = 0 δ41 =0−0+3=3
A solução ainda não é óptima, já que δ22 = −3, e a variável x22 deve entrar na base.
Antes: +x22 (0) − x32 (160) + x31 (140)–x21 (180), x22 = min{160, 180} = 160,
Depois: +x22 (160) − x32 (0) + x31 (300)–x21 (20), o novo quadro do problema é:
— v1 v2 v3 Oferta
92 89 90
u1 - 100 - 100
91 91 95
u2 20 160 - 180
87 90 92
u3 300 - - 300
0 0 0
om
u4 - 10 150 160
l.c
Procura 320 270 150 740
ai
W3 = 100×89 + 20×91 + 160×91 + 300×87 + 10×0 + 150×0 = 51380.
gm
u1 + v2 = 89
u1 = 89, v2 = 0
δ11 = 92 − 89 − 0 = 3
et
u2 + v1 = 91 u2 = 91, v1 = 0 δ13 = 90 − 89 − 0 = 1
ub
u2 + v2 = 91 u2 = 91, v2 = 0 δ23 = 95 − 91 − 0 = 4
u3 + v1 = 87 u3 = 87, v1 = 0 δ32 = 90 − 87 − 0 = 3
um
u4 + v2 =0
u4 = 0, v2 = 0
δ33 = 92 − 87 − 0 = 5
m
u4 + v3 =0 u4 = 0, v3 = 0 δ41 =0−0−0=0
Agora ∀δij ≥ 0, para os problemas de minimização já temos a solução óptima, e o custo
total mı́nimo é de 51380 mil meticais.
Observações
1. Já observeu que por qualquer um dos métodos usados para o teste de solução, quando
esta não é óptima o procedimento de melhoramento é sempre necessário.
4. O método de Stepping Stone é rápido, mas, a maior dificuldade neste método re-
side na identificação dos circuitos, enquanto o método de MODI é moroso e mais
estruturado, por isso, é mais preferido.
om
6.4 Problemas de afectação e o método Húngaro
l.c
Um outro tipo de problema de distribuição é o chamado problema de afectação (alocação).
O problema de afectar n - pessoas a n - tarefas é um caso particular do problema de
ai
transporte. O modelo de programação linear para os problemas de alocação tem um custo
gm
de alocação
cij a pessoa i para a tarefa j e é definido por.
1 se a pessoa i realiza a tarefa j
@
xij =
0 caso contrario
o8
seguinte maneira.
ub
n X
X n
Optimizar Z = cij xij
um
i=1 j=1
n
X
m
xij = 1, i = 1, 2, ..., n
j=1
n
sujeito à X
xij = 1, j = 1, 2, ..., n
i=1
x ∈ Z+
ij 0
Observações
1. A matriz dos custos ou lúcros deve ser quadrada, caso contrário, usa - se linhas ou
colunas fictı́cias.
2. Todos os problemas de alocação podem ser resolvidos pelos métodos vistos nos proble-
mas de transporte, mas, como se trata de um problema de transporte degenerado temos
Passo 2. Repetir o passo 1 para colunas do novo quadro, e formar um outro novo quadro.
om
Passo 3. Se existirem no quadro resultante k - zeros, de modo que haja apenas um
zero em cada linha e um zero em cada coluna, esta é a solução óptima. O valor óptimo
l.c
será Zopt = ΣΣcij × xij com xij = 1.
ai
Passo 4. Se o passo 3 não se verifica, traçar um número mı́nimo de rectas horizontais ou
gm
verticais, para cortar os zeros. Começando pela linha ou coluna que tem o maior número
de zeros.
@
o8
zeros.
ub
• Se o número de rectas for menor que o número de linhas da matriz, passe ao passo
um
de transporte das equipas para cada provı́ncia são dados no quadro. Qual é a equipa que
deve ir em cada provı́ncia de modo a minimizar o custo total. Calcule este custo total.
Q1 P1 P2 P3 min
om
Q2 P1 P2 P3
E1 200 400
l.c0
ai
gm
E2 0 1000 400
E3 0 1700 1200
@
min 0 400 0
o8
et
om
Note que, todas células que apresentam zero significa que admitem uma alocação, assim, as
l.c
prioridades de afectação são as posições x12 na coluna de P2 e x31 na linha de E3 por apre-
ai
sentarem única possibilidade. Outras células são alocadas via eliminação das possibilidades.
gm
Voltando ao quadro inicial e somando os custos das posições marcadas com zeros no quadro
@
Exemplo 6.15. Uma empresa de consultoria foi solicitada para avaliar 4 projectos. A
ub
Q1 P1 P2 P3 P4
m
Resolução
Os mı́nimos das linhas do quadro 1 são: 8.6, 6.4, 9.1, 8.2.
Q2 P1 P2 P3 P4
om
Os mı́nimos das colunas do quadro 2 são: 1.7, 9.6, 7.3, 0.
l.c
ai
gm
@
o8
et
ub
um
om
l.c
Teste 3. Do quadro 5, temos r = 4 e n = 4, já temos solução óptima.
ai
Custo total: Wmin = 11.1+17.4+15.9+8.2 = 52.6 unidades de medida.
gm
Exemplo 6.16. Uma empresa de serviço de intervenção para acidentes, abertura de portas
@
quando trancadas sem a devida necessidade, reboque de automóveis, entre outras activi-
dades. Por questões de gestão do tempo de serviço, os seus clientes que podem ser outras
o8
empresas ou pessoas singulares são cobradas depois do serviço realizado. A empresa sabe
et
que os seus funcionários não apresentam a mesma habilidade na realização das tarefas, mas
ub
também, precisa maximizar o lúcro e quanto mais tempo levar a tarefa a ser executada
mais receita para a empresa. A tabela, mostra os tempos que cada trabalhador pode levar
um
em cada tarefa.
m
Q0 A1 A2 A3 A4 A5
T1 10 15 10 15 13
T2 12 8 20 16 15
T3 12 9 12 18 16
T4 6 12 15 17 12
T5 16 12 8 12 9
Já que o tempo define o rendimento final, usando o método Húngaro, determine a distri-
buição óptima dos trabalhadores de modo que o tempo total de realização das 5 tarefas
seja máximo.
Resolução
Como o algorı́tmo está desenvolvido para os problemas de minimização, primeiro deve-se
identificar o maior elemento no quadro inicial, em seguida subtrair a este máximo todos
outros obtendo-se um quadro de minimização. Finalmente aplicar o método Húngaro nor-
malmente. Para este caso, o máximo é igual a 20.
Q1 A1 A2 A3 A4 A5
om
T1 10 5 10 5 7
l.c
T2 8 12 0 4 5
T3 8 11 8
ai
2 4
gm
T4 14 8 5 3 8
T5 4 8 12 8 11
@
o8
Q2 A1 A2 A3 A4 A5
um
T1 5 0 5 0 2
m
T2 8 12 0 4 5
T3 6 3 6 0 2
T4 11 5 2 0 5
T5 0 4 8 4 7
om
Teste 1. Do quadro 3, temos r = 5 e n = 5, já temos solução óptima.
l.c
Lúcro total: Zmax = 15+20 + 16+ 17 + 16 = 84 unidades de medida.
ai
gm
6.5 Exercı́cos propostos
@
x11 + x12 + x13 = 50
ub
x21 + x22 + x23 = 20
um
x11 + x21 = 30
sujeito à
x12 + x22 = 20
m
x13 + x23 = 20
xij ∈ Z0+
— M1 M2 M3 Oferta
2 4 10
A1 x11 x12 x13 50
8 2 8
A2 x21 x22 x23 20
Procura 30 20 20 70
om
b) x11 = 30, x12 = 20, x23 = 20, W = 300.
l.c
Exemplo 6.2. São dadas as seguintes condições do problema de transporte: Capaci-
ai
dade de fornecimento das fontes: a1 = 25; a2 = 25; a3 = 50; capacidade de absorção dos
gm
destinos: b1 = 15; b2 = 20; b3 = 20; b4 = 45. Os custos associados ao transporte de 1 u.m
da fonte i para o destino j estão no quadro.
@
o8
10 5 6 7
et
8 2 7 6
ub
9 3 4 8
um
a) Usando o método de canto noroeste apresente a distribuição possı́vel das 100 unidades
pelos mercados.
m
12 10 9 11
10 14 13 12
12 9 7 13
om
a) W1 = 501
l.c
b) W2 = 404. O custo total diminuiu em 97 unidades de medida.
ai
Exercı́cio 6.4. A tabela abaixo represente a rede de distribuição de sacos de arroz par-
gm
tindo de três armazéns situados na cidade de Maputo a quatro mercados. Os armazéns têm
as seguintes capacidades de armazenamento: 10, 14 e 12 mil sacos de batata, enquanto, os
@
M1 M2 M3 M4
et
A1 10 11 8 15
ub
A2 13 12 13 5
um
A3 15 8 5 6
m
x11 + x12 + x13 + x14 = 10
x21 + x22 + x23 + x24 = 14
x31 + x32 + x33 + x34 = 12
x11 + x21 + x31 = 7
sujeito à
x12 + x22 + x32 = 7
x13 + x23 + x33 = 15
x14 + x24 + x34 = 7
xij ∈ Z0+
om
b) W = 273, ∀δij ≥ 0 então a solução é óptima Wmin = 273.
l.c
Exercı́cio 6.5. Uma empresa transportadora de diversos produtos é alugada para le-
ai
var artigos de três fábricas F1, F2 e F3 para 4 armazéns A1, A2, A3 e A4 de onde são
gm
vendidos para os clientes a porta. O lúcro de transporte de uma carrada está indicado por
cada rota, bem como a capacidade das fábricas e dos armazéns.
@
o8
– A1 A2 A3 A4 Oferta
et
F1 26 26 20 21 450
ub
F2 21 24 20 21 300
F3 18 20 19 20 250
um
a) Usando o método de lúcro máximo determine a melhor distribuição dos artigos pe-
los armazéns de modo que a transportadora maximize o seu lúcro.
b) Usando o método de MODI, verifique se a solução é óptima. Caso contrário, procure
encontrar a melhor solução.
Resposta:
a) Z1 = 23170 u.m.
b) ∀δij ≤ 0, logo Zmax = 23170.
Exercı́cio 6.6. Uma companhia tem três camiões que abastecem batata a cinco super-
mercados. As distâncias que os camiões devem percorrer até a cada supermercado, as
necessidades dos supermercados e as capacidades dos camiões estão na seguinte tabela.
– S1 S2 S3 S4 S5 Oferta
C1 6 4 5 4 8 15
C2 7 6 7 4 3 48
C3 8 7 6 9 5 33
Procura 12 15 21 24 24 96
om
l.c
a) Usando o método de aproximação de Vogel encontre a solução inicial do problema.
b) Mostre de que o problema está degenerado. ai
c) Pelo método de MODI, teste a optimidade da solução em a). Se não for óptima, realize
gm
as iterações necessárias e apresente a solução óptima. (Quando necessário use no máximo
duas alocações fictı́cias por infinitésimas).
@
Resposta:
o8
Exercı́cio 6.7. Uma empresa tem 4 armazéns: A1, A2, A3 e A4 cuja capacidade é de 75,
m
– B1 B2 B3 B4
A1 7 10 12 30
A2 10 0 10 20
A3 11 5 12 5
A4 2 10 20 10
om
ferentes. Os soldados apresentam diferentes especialidades, portanto, com estratégias de
ataque variados e considerando as várias posições dos alvos, o general preencheu o seguinte
l.c
quadro com as toneladas de munições que podem ser disparados para cada alvo, proveni-
ai
entes de cada base.
gm
– A1 A2 A3
@
B1 2 6 5
o8
B2 3 8 9
et
B3 10 7 7
ub
B4 8 4 7
um
Sabendo que se pretendem afectar 200 soldados por dia em cada alvo, use os métodos de
NWC e VAM para ajudar o general a encontrar o programa óptimo de ataque que maxi-
m
om
b) Usando o método de Stepping Stone, verifique se a solução é óptima, Caso não seja,
determine a solução óptima do problema.
l.c
Resposta:
a) W1 = 276 mil meticais. ai
b) δ23 = −2, a Solução não é óptima, Wmin = 272 mil meticais. ∆w = 4 mil meticais.
gm
Exercı́cio 6.10. Uma empresa tem três armazéns nas cidades de Maputo, Beira e Nam-
@
pula, e tem lojas nas cidades de Xai-Xai, Chimoio, Quelimane e Inhambane. Os custos de
o8
uma viagem no transporte dos produtos dos armazéns às lojas apresentam-se na tabela.
et
– X C Q I Oferta
ub
Armazém 1 38 30 30 45 17
um
Armazém 2 60 25 50 32 32
Armazém 3 42 20 16 70 30
m
Procura 10 14 15 28
om
Vasco 2.4 2.9 2.6 2.1
l.c
a) Usando o método Húngaro, determine qual é o estilo que cada nadador deverá fazer
ai
dentro da equipa de modo a alcançar o menor tempo para percorrer os 200 metros no
conjunto dos 4 percursos.
gm
b) Qual será esse tempo mı́nimo.
Resposta:
@
Usando o método Húngaro, apresente a melhor distribuição dos carros para os 5 indivı́duos
om
por forma a maximizar a satisfação de cada um.
Resposta:
l.c
A → TOYOTA, B → Y10, C → BX, D → R5 GTL, E → UNO. ai
gm
Exercı́cio 6.13. Uma empresa de segurança está a treinar os seus agentes em termos
de flexibilidade, rapidez, velocidade entre outras exigências que a empresa usa nas suas
@
actividades de segurança de edifı́cios, viaturas, pessoas singulares. Segundo o seu chefe das
o8
operações estão identificadas 6 áreas mais fortes que os polı́cias devem ser mais aptos. A
tabela abaixo apresenta as marcas dos primeiros 6 instruendos escolhidos e as especialida-
et
des que estes podem intervir associados aos tempos que os mesmos podem levar para tal
ub
intervenção.
– A1 A2 A3 A4 A5 A6
um
E1 21 5 21 15 15 28
m
E2 30 11 16 8 16 4
E3 26 2 11 16 25 25
E4 19 16 17 15 19 8
E5 26 21 22 28 29 24
E6 3 21 21 11 26 28
Usando o método Húngaro, determine a distribuição óptima dos agentes pelas especialida-
des de modo a minimizar o tempo de intervenção total.
Resposta:
As dustribuição deverá ser: E1A5, E2A4, E3A2, E4A6, E5A3 e E6A1, Wmin = 58 min.
Exercı́cio 6.14. Cinco trabalhadores estão a concorrer para realizar 5 tarefas. O tempo
que cada trabalhador pode levar em cada tarefa está apresentado na tabela abaixo. Como
as actividades devem ser prontas com máxima brevidade possı́vel, cada trabalhador só po-
derá realizar exactamente uma e única tarefa.
– A1 A2 A3 A4 A5
T1 10 15 10 15 13
T2 12 8 20 16 15
T3 12 9 12 18 16
om
T4 6 12 15 17 12
T5 16 12 8 12 9
l.c
ai
Usando o método Húngaro, determine a distribuição óptima dos trabalhadores de modo
gm
que o tempo total de realização das 5 tarefas seja mı́nimo.
Resposta
@
A distribuição dos trabalhadores é: T1A4, T2A2, T3A3, T4A1, T5A5 e o tempo mı́nimo é
o8
de 50 minutos.
et
ub
um
m
Programação dinâmica
om
7.1 Introdução
l.c
ai
gm
A programação Dinâmica (PD) é uma técnica quantitativa que tem aplicações em muitos
problemas, que são resolvidos mediante uma sequência de decisões. De todas as técnicas
@
blin (1989), a de conceito mais sı́mples e de mais difı́cil de aplicação. O termo programação
dinâmica é usado para investigar problemas de optimização em que o factor tempo é muito
et
crucial.
ub
1. Na programação dinámica não existe um algoritmo como por exemplo o método simplex
que pode ser usado para resolver todos os problemas de programação linear;
m
A análise dos fenómenos dinâmicos em função do tempo é muito importante nos problemas
203
Investigação Operacional
Enquanto muitas das aplicações da programação linear são feitas de uma forma geral,
a programação dinámica está mais virada a problemas especı́ficos, tais como:
om
• Plano de procura para a localização de recursos;
l.c
• Selecção de meios de publicidade para promover um novo produto;
ai
• Planeamento de operações de manutenção em grande escala quando o equipamento
gm
é complexo;
@
usando modelos deterministicos quando os problemas a resolver não incluem na sua for-
um
Exemplo 7.1 Maura Liote, uma aluna universitária, pretende viajar durante as suas férias
da universidade para o seu distrito. O rede que ilustra as possı́veis rotas com distâncias em
km, desde a universidade (nó 1) até ao distrito (nó 7) está apresentada na Figura 7.1. Qual
deve ser a rota que a estudante Maura, deve usar de modo que ela minimize a distância
total percorrida.
om
l.c
Para resolvermos este exemplo vamos dividir o problema em 3 estágios:
ai
gm
O estágio 1, possui os seguintes arcos ou distâncias entre nós:
1 → 2; distância = 22;
@
1 → 3; distância = 18;
o8
1 → 4; distância = 20;
et
2 → 5; distância = 18;
2 → 6; distância = 36;
um
3 → 6; distância = 28;
4 → 6; distância = 39;
m
2. Estado das variáveis: é a possı́vel situação inicial que a variável possa estar ou
a condição de um determinado estágio. Estas variáveis também são chamadas de
variáveis de entrada.
om
3. Variáveis de decisão: são alternativas ou decisões possı́veis que existem num de-
terminado estágio.
l.c
4. Critério de decisão: é um curso de acções que tem em vista alcançar um determi-
ai
nado objectivo.
gm
Voltando a Figura 7.1, pode se ver que para qualquer estágio, tem-se: uma variável de
entrada, uma decisão, uma variável de saida e o valor retornado por uma função recursiva.
• A decisão no estágio 2, d(x2 , x3 ) terá de ser escolhida entre todos os arcos que ligam
com o estágio 3. Os possı́veis arcos são: 4 – 6; 3 – 6; 2 – 6 e 2 – 5.
• Finalmente, cada estágio retorna um valor que é atribuı́do a função fi (xi ). Para o
estágio 2, este valor é a distância dos arcos representados pela função f2 (x2 ):
om
d(4, 6) = 39 km,
l.c
d(3, 6) = 28 km,
d(3, 6) = 36 km,
ai
d(2, 5) = 18 km.
gm
@
o8
et
ub
variáveis de entrada, saı́da, a decisão tomada e o valor retornado pela função recursiva.
om
técnicas dividem o problema em subproblemas “estágios”, e procura optimizar a solução
de um estágio em função das decisões passadas e finalmente obtém-se a solução óptima
l.c
dependente das soluções óptimas parciais. Portanto, o método da programação dinámica
ai
é um método multi – estágio e é aplicado para problemas com etapas múltiplas.
gm
procedimento recursivo, i.é, dado um problema com n - variáveis, este pode ser decom-
o8
porção da sequência e depois liga-se todas porções optimizadas tornando-se uma solucção
optimizada.
m
Teorema. Qualquer que seja o estado inicial e o comando inicial, os comandos seguintes
devem ser óptimos em relação ao estado que representa o resultado da escolha do primeiro
comando.
om
um processo multi - estágio consiste apenas na escolha dos comandos seguintes.
l.c
Exemplo 7.2. Suponhamos que um indivı́duo pretende seleccionar a rota mais curta
ai
entre a cidade da Matola e a praia do Costa do Sol, passando obviamente pelas artérias da
gm
cidade de Maputo. As possı́veis rotas que ligam os dois pontos estão indicadas no diagrama
e os números de 1 à 7 são entroncamentos onde se pode parar e os números ao longo das
@
Resolução
Para resolver usando a programação dinámica, primeiro decompõe-se o problema em estágios.
A ideia básica é calcular a distância mı́nima acumulada do nó 1 até ao nó 7.
Asssim, usando a equação 7.1, tem-se:
Para x1 = 1; f0 (x0 ) = 0, por consequência d(x0 , x1 ) = 0 e f1 (x1 ) = 0
Estágio 1. A variável x1 tem arcos que se ligam com x2 e este pode tomar os valores 2,
3 e 4. Por isso, vai-se calcular as distâncias mı́nimas acumuladas nas rotas 1- 2, 1 – 3 e 1 – 4
Estágio 2. Como existem dois nós destino, vai-se calcular as distâncias mı́nimas acu-
om
muladas para chegar aos nós 5 e 6. Atenção que x2 pode tomar os valores 2, 3 e 4.
f3 (x3 ) = min {d(x2 , x3 ) +
f2 (x2 )} onde x3pode ser 5 e 6.
l.c
7 + 12 = 19
ai
Se x3 = 5 f3 (x3 ) = min 8 + 8 = 16 = 12 para x2 = 4
gm
i=2,3,4
5 + 7 = 12
@
o8
9 + 8 = 17
Se x3 = 6 f3 (x3 ) = min = 17 para x2 = 3
i=3,4
13 + 5 = 18
et
Estágio 3. A última etapa onde o destino é o nó 7, está ligado aos nós 5 e 6, por-
ub
tanto
um
9 + 12 = 21
f4 (x4 ) = min = 21 para x2 = 5
i=5,6
6 + 17 = 23
Nos exemplos 7.1 e 7.2, os problemas foram resolvidos usando dois procedimentos recursi-
vos nas direcções diferentes. No primeiro caso começou-se a resolver o problema partindo
do estágio 3 e no último começou-se pelo estágio 1. Diz-se que no primeiro caso usou-se a
recursividade regressiva e no segundo caso a recursividade progressiva.
Tanto a recursividade progressiva como a regressiva dão a mesma solução óptima. Ape-
sar da recursividade progressiva ser desenvolvida na lógica como foram aparecendo os nós,
porém, a maior parte da literatura dos problemas de programação dinâmica usa o procedi-
mento regressivo. A preferência por este procedimento deve-se até certo ponto a eficiência
que ele apresenta ao dispor os cálculos numa tabela. A equação correspondente a recursi-
vidade regressiva é:
om
Exemplo 7.3. Resolver o exemplo 7.2, mas agora usando a recursividade regressiva.
l.c
ai
gm
@
o8
et
ub
um
Resolução
1. O problema tem 3 estágios, 4 variáveis, 7 nós e 10 arcos.
2. Dado que vamos usar a recursividade regressiva f4 (x4 ) = 0 para x4 = 7.
3. A ordem dos cálculos associados aos estágios é f3 (x3 ) → f2 (x2 ) → f1 (x1 )
om
Estágio 2. Distância acumulada de x4 até x2
l.c
f2 (x2 ) = d(x2 , x3 ) + f3 (x3 ) solução óptima
x2 x3 = 5 x3 = 6
ai f2 (x2 ) x∗3
gm
2 12 + 9 = 21 – 21 5
3 8 + 9 = 17 9 + 6 = 15 15 6
@
o8
4 7 + 9 =16 13 + 6 = 19 16 5
et
rota mais curta seria passar pelo ponto 5, e se estivermos no ponto 3 a rota curta seria
passar pelo ponto 6.
um
Como chegamos ao fim, a solução do estágio 1, mostra que 1 deve estar ligado com 4. e
sucessivamente temos as ligações entre os arcos: 1 - 4 –5 – 7 que corresponde a rota mais
om
l.c
ai
gm
@
o8
et
ub
um
m
Resolução
Inicialização. Para x6 = P , f6 (x6 ) = 0
om
Estágio 4. Temos arcos entre os nós (M, N, O) e (J,K,L). Distância de x6 até x4
l.c
f4 (x4 ) = d(x4 , x5 ) + f5 (x5 )
ai solução óptima
x4 x5 = M x5 = N x5 = O f4 (x4 ) x∗5
gm
J 3+1=4 3+3=6 – 4 M
@
L – 4+3=7 2+2=4 4 O
et
ub
Estágio 3. Temos arcos entre os nós (J, K, L) e (F,G,H, I). Distância até x3
um
F 1+4=5 3+3=6 – 5 J
G 2+4=6 1+3=4 3+4=7 4 K
H 4+4=8 1+3=4 2+4=6 4 K
I – 5+3=8 1+4=5 5 L
Estágio 2. Temos arcos entre os nós (F,G, H, I) e (C, D, E). Distância até x2
Estágio 1. Temos arcos entre os nós (C,D,E) e (A, B). Distância até x1
om
f1 (x1 ) = d(x1 , x2 ) + f2 (x2 ) solução óptima
x1 x2 = C x2 = D x2 = E
l.c f1 (x1 ) x∗2
ai
A 1+6=7 3+5=8 3 + 7 = 10 7 C
gm
B 5 + 6 = 11 4+5=9 1+7=8 8 E
@
o8
Fazendo uma leitura no sentido inverso de modo a ligar os nós que pertencem ao percurso
da solução óptima temos: (1) Do ponto A, o percurso mı́nimo para P é: A → C → F→
et
diligenciar as passagens em cada etapa. Porque há um custo da polı́tica a tomar, a execução
de qualquer diligência foi baseada em uma avaliação dos custos da segurança. O avaliador
decidiu que a rota mais recomendada deve ser aquela com o valor total de apólice de seguro
de vida mais barata. O custo de cada rota, isto é, do estado i ao estado j, indicado por
cij , é apresentado na Figura 7.8.
om
l.c
ai
gm
Usando o procedimento regressivo eonsiderando de que os valores que estão nos arcos
ub
representam custos, qual deverá ser a rota que o candidao deverá percorrer. Apresente
também o custo total da apólice. (1 um = $100 americanos).
um
Resolução
m
Inicialização f5 (x5 ) = 0
Estágio 3. Temos arcos entre os nós (E,F,G) e (H, I). Distância até x3
om
Estágio 2. Temos arcos entre os nós (B,C,D) e (E,F,G). Distância até x2
l.c
f2 (x2 ) = d(x2 , x3 ) + f3 (x3 ) ai solução óptima
x2 x3 = E x3 = F x3 = G f2 (x2 ) x∗3
gm
B 7 + 4 = 11 4 + 7 = 11 6 + 6 = 12 11 E ou F
@
C 3+4=7 2+7=9 4 + 6 = 10 7 E
o8
D 4+4=8 1+7=8 5 + 6 = 11 8 E ou F
et
ub
Estágio 1. Temos arcos entre o nó (A) e os nós (B,C,D). Distância até x1
um
A 2 + 11 = 13 4 + 7 = 11 3 + 8 = 11 11 C ou D
om
Apresenta-se em seguida a descrição ssucinta de três aplicações:
Modelo de dimensionamento da força de trabalho. Alguns projectos de construção,
l.c
lidam-se com problemas de como manter a força de trabalho num determinado perı́odo,
ai
pois, a actividade de despedimento e aquisição de novos funcionários inclui custos. O ob-
jectivo nestas situações é procurar uma polı́tica de quando contratar, quando despedir e
gm
quando manter um funcionário de modo que no fim de um perı́odo X, o rendimento seja
máximo.
@
o8
de manutenção por outro lado tendem a aumentar. Este problema pode ser reduzido a de-
terminar a viabilidade económica entre comprar uma nova máquina ou manter a máquina
um
Modelo de investimento. Se uma pessoa pretende investir num banco, ele tem ini-
cialmente um capital X, que depois de um prazo Z, deve decidir se continua a investir
ou não, e assim em diante. Este problema pode ser considerado como um problema de
programação dinâmica, onde a decisão referente a quantidade a investir em cada perı́odo
corresponde a um estágio.
deve – se:
a) ao tamanho dos problemas que aumenta de forma exponencial a medida que aumenta o
número dos estágios.
c) a formulação dos modelos dos problemas de programação dinâmica não é geral, sendo es-
om
pecı́fica para cada caso. A tı́tulo de exemplo, cada uma das aplicações citadas na secção 7.3
tem sua própria equação recursiva, etc.
l.c
ai
7.5 Exercı́cios propostos
gm
encontrar a rota mais rápida possı́vel. Repare que quanto mais clientes o taxista transpor-
tar por unidade de tempo mais rendimento terá no fim da jornada.
om
Resposta. A rota mais curta é: 1 - 3 - 7 - 10 - 12, com um tempo mı́nima de 13 minutos.
l.c
ai
Exercı́cio 7.3 O prédio K está a ser construido num dos arredores da cidade de Ma-
gm
puto, A e B são tanques de água localizados no interior da cidade. Usando a recursividade
regressiva da equação de Bellman, determine o percurso mı́nimo e o tanque que deverá
@
Exercı́cio 7.4. Um dos vôos de uma companhia aérea está prestes a descolar da cidade
X para a cidade Y. Existe alguma flexibilidade na escolha da rota exacta a ser tomada,
dependendo das condições climáticas. A rede a seguir mostra as rotas possı́veis em consi-
deração, onde X e Y são as cidades de origem e destino, respectivamente, e os outros nós
representam cidades intermédias. O vento nos percursos entre as cidades afecta bastante
o tempo de vôo e o consumo de combustı́vel. Com base nos relatórios meteorológicos, os
tempos de vôo em horas para esse vôo especı́fico são mostrados ao lado dos arcos. Como
o combustı́vel consumido é muito caro, a administração da companhia aérea estabeleceu
uma polı́tica de escolher a rota que minimiza o tempo total de voo.
om
l.c
(a) O que desempenha o papel de “distâncias” na interpretação deste problema como um
problema de caminho mais curto. ai
Resposta. O tempo de vôo em cada arco.
gm
(b) Usando o procedimento regressivo da equação de Bellman, resolva o problema.
Resposta. A rota com menor tempo é X – C – E – Y, e vai durar 11 horas e 18 minutos.
@
o8
Exercı́cio 7.5. A rede abaixo representa o percurso que uma pessoa pode realizar para
sair dos pontos 1 ou 2 até o ponto 11, os números entre as setas representam o tempo gasto
et
para sair de i para j em minutos. Usando o algoritmo proposto por Bellman na sua versão
ub
da recursividade regressiva encontre a rota que o indivı́duo deve seguir gastando o mı́nimo
um
tempo possı́vel.
m
Resposta. Deve-se partir do ponto 2 e usar a rota 2 – 5 - 7 - 8 - 11. Com uma distáncia
mı́nima de 10 km.
[1] Ackoff, R.L. e Sasieni, M.W. (1968). Fundamentals of Operations Research. John
om
Waley & Sans, Inc. USA.
[2] Andrade, E.L. (1998). Introdução à Pesquisa Operacional – métodos e modelos para
l.c
a análise de decisão, 2a edição, editora LTC, RJ Brasil.
ai
[3] Barnett, R.A. e Michael, R.Z. (1990). Finite Mathematics for Business, Economics,
gm
Life science and Social sciences. 5th edition, USA.
@
[4] Bellman, R. E. (1954). The Theory of Dynamic Programming. Bulletin of the Ame-
o8
[5] Churchman, C.W. (1971). The Design of Inquiring Systems, Basic Concepts of Sys-
ub
[6] Dakin,R.J.(1965). A Tree Search Algorithm for Mixed Integer Programming Pro-
blems.The Computer Journal, 8(3), pp.250–255.
m
222
Investigação Operacional
[10] Gale, D., Kuhn, H.W. e Tucker, A.W.(1951). Linear Programming and the Theory
of Games. Activity Analysis of Production and Allocation, 13, pp.317–335.
[11] Gomory, R.E. (1958). Outline of an Algorithm for Integer Solutions to Linear Pro-
grams. Bulletin of the American Mathematical Society, 64(5), pp. 275 – 278.
[12] Hillier, F.S. e Liemberman, G.J. (2015). Introduction to Operations Research. Late
of Stanford University, 10th Edition. ISBN 978-0-07-352345-3.
[13] Hitchcock, F.L. (1941). The Distribution of a Product from Several Sources to Nu-
merous Localities, Journal of Mathematics and Physics, 20, pp. 224–230.
om
[14] Kantorovich, L.V.(1958). On The Translocation of Masses. Management Science,
5(1). pp.1–4.
l.c
[15] Kantorovich, L.V. (1939). Mathematical Methods of Organizing and Planning Pro-
ai
duction. Management Science, 6(4), pp. 366–422.
gm
[16] Koopmans, T.C. (1947). Optimum Utilization of the Transport system. Econome-
trica, 17, pp. 136–146.
@
o8
[17] Kuhn, H.W. (1955). The Hungarian Method for the Assignment Problem. In: Naval
Research Logistics Quartely. 2(1-2), pp. 83 –97.
et
[18] Land, A.H e Doig, A.G.(1960). An Automatic Method of Solving Discrete Program-
ub
[19] Render, B.; Stair, Jr.R. e Hanna, M.E.(2012). Quantitative Analysis for Management.
11th edition, Prentice – Hall International, Pearson Inc. USA.
m
[20] Taha, H.A. (2007). Operations Research - an introduction. 8th edition, Prentice –
Hall International, Inc, USA.
[21] Taha, H.A. (1975). Integer Programming: Theory, Applications and Computations.
Academic Press, Orlando, FL.
[22] Von Neumann, J.(1947). Duality Theory. Privately circulated notes, Princeton.
[23] Winston, W.L. (2004). Operations Research - applications and algorithms. Fourth
edition, Thomson Brooks/Cole.
om
(Portugal), Mestre em Estatı́stica Aplicada pela
Matemática e Fı́sica pela Universidade
Universidade de Orebro (Suécia), Pós-Graduado
Edurado Mondlane (Moçambique). O
l.c
em Gestão de Empresas pelo INDEG - Business
autor é docente de Estatı́stica e Inves-
School ISCTE/ISPU (Moçambique), Licenciado ai tigação Operacional na Universidade
em Informática e Bacharel em ensino de Ma-
Eduardo Mondlane, Universidade à
gm
temática e Fı́sica pela Universidade Edurado
Politécnica, Universidade Técnica de
Mondlane (Moçambique). O autor é docente
Moçambique. É investigador do Cen-
@