Escolar Documentos
Profissional Documentos
Cultura Documentos
um
ub
et
o8
@
gm
Alberto Mulenga
ai
l.c
om
i
Investigação Operacional
uma abordagem introdutória
Autor: Alberto Chicafo Mulenga
Local: Maputo, Moçambique
Data: 17 de Fevereiro de 2020
om
l.c
ai
gm
@
o8
et
ub
um
m
ii
Prefácio
om
livro. Estes temas actualmente constituem os fundamentos da programação linear
onde o objectivo principal é a optimização das soluções empresariais no processo de
l.c
tomada de decisão tanto na alocação de recursos como para a minimização dos custos
em possı́veis investimentos. Em cada capı́tulo são apresentados os conceitos teóricos
ai
com exemplos ilustrativos fazendo um total de 62 exemplos. No fim de cada capı́tulo é
gm
apresentada uma lista de exercı́cios propostos com indicação de soluções num total de
64 exercı́cios. No final do livro, estão algumas referências que os leitores poderão ler
@
Mulenga
et
Typeset by LATEX 2ε
um
m
Conteúdo
1 Introdução 1
1.1 Definição de Investigação Operacional . . . . . . . . . . . . . . . . . . . 1
om
1.2 Caracterı́sticas da investigação operacional . . . . . . . . . . . . . . . . 4
1.3 Técnicas da investigação operacional . . . . . . . . . . . . . . . . . . . 6
2 Programação linear
l.c 9
ai
2.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
gm
2.1.1 Formulação dos problemas de programação linear . . . . . . . . 10
2.1.2 Definição geral dos problemas de programação linear . . . . . . 16
@
iii
CONTEÚDO iv
om
4.7 Exercı́cios propostos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Bibliografia 195
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
O nome “Investigação Operacional (IO)”, apareceu pela primeira vez durante a Se-
ai
gunda Guerra Mundial, quando equipas de investigadores procuravam desenvolver
gm
métodos para resolver determinados problemas de operações militares. Precisamente
na Inglaterra, entre 1939-1945, pela necessidade militar de solucionar problemas re-
@
académico.
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 sis-
temática da abordagem cientı́fica à investigação de problemas operacionais existentes
ou previstos que requerem decisões pelos administradores. Actualmente, a investigação
1
Investigação Operacional
om
1. A arte de dar respostas óptimas a problemas que tratados de outra forma teriam
respostas piores. (Uso da informação para a tomada de decisão).
l.c
2. O bom censo expresso em termos quantitativos.(Partindo da solução matemática
ai
procura se tomar uma decisão viável).
gm
3. Ciência da preparação das decisões. (Uso do método cientı́fico para a tomada de
decisão).
@
o8
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.
Mulenga 2 2020
Investigação Operacional
om
l.c
ai
gm
@
o8
et
ub
um
m
Mulenga 3 2020
Investigação Operacional
om
pessoal técnico, treinado, mestres, especialistas, etc. de várias áreas de conhecimento
para fazer um esforço conducente a determinação da melhor forma de utilização de
l.c
recursos limitados. Esta caracterı́stica multi-disciplinar de resolver os problemas or-
ai
ganizacionais deu um novo enfoque a investigação operacional – a visão sistémica dos
gm
problemas.
@
considerar a empresa ou cada parte da mesma como um sistema com várias variáveis
um
Mulenga 4 2020
Investigação Operacional
duzirá a maximização dos lucros ou minimização dos custos como primeira visão dos
administradores sem precisar saber os nı́veis de satisfação das diferentes especificida-
des da organização.
om
imenso progresso da Investigação Operacional. Outro facto que actualmente contribuı́
para o uso intensivo de modelos em análise de decisões é a disseminação dos micro-
l.c
computadores, que se tornaram unidades de processamentos descentralizados dentro
ai
das empresas, o que leva aos profissionais da investigação operacional num trabalho
gm
conjunto com os informáticos a desenvolverem softwares apropriados e modelos mais
versáteis, rápidos e interactivos.
@
o8
Apesar das fases não serem seguidas rigosamente, em geral, e segundo Andrade (1998)
e Taha (2003), um trabalho de Investigação Operacional, deve desenvolver-se seguindo
et
as seguintes fases:
ub
1. Definição do problema
um
2. Construção do modelo
m
3. Solução do modelo
4. Validação do modelo
5. Implementação da solução
Mulenga 5 2020
Investigação Operacional
3. Solução do modelo. Como a solução do problema pode ser obtida por terceiros,
nesta fase é necessário analisar todos os procedimentos mais adequados, em termos
do método proposto, rapidez de processamento e precisão da resposta para a solução
do problema e escolhar aquela alternativa que satisfaz os objectivos organizacionais.
Deve-se tomar atenção que mesmo sabendo o conceito e significado de solução viável,
para muitos tomadores de decisão a tendência de chamar solução óptima é patente.
om
4. Validação do modelo. Nesta fase do processo de solução, verifica-se a validade
l.c
do modelo. Um modelo é válido se ele for capaz de fornecer uma previsão aceitável do
ai
comportamento do sistema. Um método comum para testar a validade de um sistema
gm
é analisar seu desempenho com dados passados do sistema e verificar se ele consegue
reproduzir o comportamento que o sistema apresentou.
@
o8
que seja controlada pela equipa responsável, pois, eventualmente os valores da nova
ub
Mulenga 6 2020
Investigação Operacional
Entre muitos autores, destacam-se Quesnay (1759), Walras (1874), Markov (1856 –
1922), von Neumann (1937), Kantorovich (1939), Wicks e Yewdale (1971), Ackoff
(1971), Duckworth (1972), etc., que contribuı́ram significativamente na divisão da In-
vestigação Operacional em diversas categorias.
om
2. Teoria de informação e apoio à decisão: inclui os tópicos relacionados com a
análise de decisão, teoria de jogos, problemas das filas de espera, gestão de estoques,
l.c
planeamento e controlo de projectos, etc. ai
3. Programação matemática: inclui a programação linear, inteira, dinâmica, não
gm
linear, problemas de transporte e distribuição ou afectação de recursos, etc.
4. Simulação e método de Monte Carlo: que inclui a análise da dinâmica indus-
@
que nem todos os problemas são susceptı́veis de solução pelas técnicas quantitativas.
um
Uma aplicação bem-sucedida dos métodos quantitativos, requer uma interacção entre
as ciências matemáticas e as ciências do comportamento, pois, o sistema em estudo
m
Mulenga 7 2020
Investigação Operacional
om
da organização
l.c
ai
gm
@
o8
et
ub
um
m
Mulenga 8 2020
Capı́tulo 2
Programação linear
om
2.1 Introdução
l.c
Desı́gna - se por programação linear (PL), um conjunto de técnicas que permitem re-
ai
solver os problemas de optimização, num sistema de recursos limitados, sendo lineares,
gm
A importância especial da programação linear, resulta não só das potencialidades dos
o8
A programação linear lida-se com problemas que dizem respeito à atribuição e a dis-
tribuı́ção de recursos entre as diversas tarefas ou actividades que devem ser realizadas.
Normalmente, os recursos disponı́veis não são suficientes para que todas as actividades
sejam executadas no nı́vel desejado. Assim, o que se procura, é encontrar 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.
1
George Dantzig (1914-2005), Matemático de Oregon - Estados Unidos da America
9
Investigação Operacional
om
forma de emprego.
l.c
Os estudos de programação linear permitem responder questões como:
ai
• “... sendo conhecidas certas condições de produção, qual é a quantidade de um
gm
determinado produto, entre vários, que se deve produzir para obter o maior lucro
possı́vel?”
@
Mulenga 10 2020
Investigação Operacional
do modelo actual e 80 unidades de medida por cada lâmpada vinda do modelo antigo,
quantas lâmpadas devem ser produzidas em cada modelo de modo que a companhia
maximize o lucro?
Resolução
Este é um exemplo tı́pico de um problema de programação linear. Para tornar claro, 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 linear tem
uma determinada lógica, ainda que esta não seja rigorosamente seguida, comecando
pela análise qualitativa da informação ou problema.
om
Análise qualitativa do problema. Esta análise depende da experiência adqui-
rida anteriormente, isto é, a sensibilidade de analisar e relacionar a informação que
l.c
geralmente apresenta-se uma tabela. ai
Tabela 2.1: Análise qualitativa da informação do problema das lámpadas
gm
De corte 1 2 32
ub
De verificação 3 4 84
um
Lúcro unitário 50 80 -
m
Mulenga 11 2020
Investigação Operacional
diário. A função lúcro deste problema ou função objectiva é: L = 50x1 + 80x2 . Repare
que a função lúcro está ligada aos valores monetários do problema, última linha da
tabela.
om
restrições de não negatividade: x1 ≥ 0 e x2 ≥ 0 ou usualmente x1 , x2 ≥ 0.
l.c
Elaboração do modelo económico matemático: consiste na indicação das relações
ai
entre as variáveis de decisão, a função objectivo e as restrições como um todo. Partindo
gm
das situações anteriores, escreve-se o modelo matemático do problema de programação
linear. Note que modou-se de L para Z por conveniência.
@
1x + 2x2 ≤ 32
1
et
sujeito à 3x1 + 4x2 ≤ 84
ub
x1 , x2 ≥ 0
um
Mulenga 12 2020
Investigação Operacional
om
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
l.c
óptimas. Para o exemplo 2.1, a solução óptima é: x1 = 20; x2 = 6 com Zmax = 1480.
ai
gm
Ora vejamos a verificação nas restrições:
Primeira restrição r1 = 1 × 20 + 2 × 6 = 20 + 12 = 32(= 32) o máximo do rescurso 1.
@
No exemplo 2.1 anterior, assumiu-se que tanto a função objectiva como as restrições
ub
Mulenga 13 2020
Investigação Operacional
Algodão 2 1 16
Seda 1 2 11
om
Lã 1 3 15
Preço de venda 30 50 -
l.c
ai
gm
O modelo económico matemático correspondente é:
maximizar Z = 30x1 + 50x2
@
2x1 + 1x2 ≤ 16
o8
1x1 + 2x2 ≤ 11
sujeito à
et
1x1 + 3x3 ≤ 15
ub
x1 , x2 ≥ 0
um
Mulenga 14 2020
Investigação Operacional
om
contendo 10, 20 e 40 kg de Azoto, Fósforo e Potássio, respectivamente, ao preço de 20
u.m cada saco. Quantas embalagens de cada fonte deverá o agricultor comprar para
l.c
suprir as suas necessidades pelo menor custo.
ai
gm
Tabela 2.3: Informação do problema de adubo
@
Azoto 50 10 100
ub
Fóstoro 20 20 120
um
Potássio 10 40 120
m
Custo unitário 30 20 -
Mulenga 15 2020
Investigação Operacional
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
om
Admite-se que, em lugar de maximizar, haja minimizar, e em lugar de menor ou igual
l.c
(≤) seja maior ou igual (≥) ou mesmo igual (=). ai
gm
Assim, para os problemas com restrições onde existe um recurso máximo disponı́vel
usa-se o sinal (≤) e para os problemas onde no recurso existe uma quantida minima
@
desejável usa-se o sinal (≥). Se uma ou mais restrições apresentar o sinal de igualdade
o8
(=), 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-
et
tivo.
ub
2x + 3x ≤ 4
1 2
Por exemplo: 2x1 + 3x2 = 4 equivale a escrever o sistema
um
2x + 3x ≥ 4
1 2
m
Mulenga 16 2020
Investigação Operacional
Exercı́cio 2.3. Certa empresa fabrica 2 produtos P1 e P2. O lúcro por unidade
de P1 é de 100 unidades de moeda e o lúcro unitário de P2 é de 150 unidades de
moeda. A empresa necessita de 2 horas para fabricar uma unidade de P1 e 3 horas
para fabricar uma unidade de P2. O tempo mensal disponı́vel para essas actividades
om
é 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
l.c
de P1 e 30 unidades de P2 por mês. Elabore o modelo do sistema de produção mensal
ai
que maximiza o lúcro da empresa.
gm
arroz e milho, dispondo para tal de áreas que não excedem, respectivamente, 3 e 4
o8
hectares nos arredores de Boane. Por outro lado, as suas disponibilidades em trabalho
são apenas de 9 horas diárias. Admitindo que, por cada hectare semeado de arroz
et
é necessário 1 hora de trabalho diário e por cada hectare de milho são necessárias 2
ub
horas. Sabendo que por cada hectare de arroz semeado o lúcro é de 5 u.m. e por cada
um
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, uma
tonelada de cortiça, 5 toneladas de trigo e 3 toneladas de peixe. Por cada Y unidades
monetárias concedidas pelo paı́s B, são cobrados anualmente ao paı́s C, uma tonelada
de cortiça, 2 toneladas de trigo e 8 toneladas de peixe. Anualmente o pais C não tem
disponı́veis mais de 20 toneladas de cortiça, 100 toneladas de trigo e 120 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 de programação
linear que maximiza o número de armas que C pode adquirir por este processo.
Mulenga 17 2020
Investigação Operacional
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 por km e
do tipo B é de 40 u.m por km. Formule o problema de programação linear da fábrica
que necessita de transportar os seus produtos.
Exercı́cio 2.7. Uma pequena manufatura produz dois modelos de carteiras esco-
lares. O modelo padrão e o modelo de luxo dessas carteiras. Cada unidade do modelo
om
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
l.c
3 polidores, cada pessoa trabalha 40 horas semanais. As margens de lucro são 24 e 32
ai
unidades monetárias, respectivamente, para cada unidade padrão e luxo. Não existem
gm
restrições de demanda para ambos os modelos. Elabore um modelo de programação
linear que permita calcular a produção semanal que maximiza a margem total de lúcro
@
do fabricante.
o8
que poderá utilizar para fabricar biombos decorativos. No passado, houve dois mode-
ub
los de biombos que se venderam bastante bem, pelo que o fabricante já restringirá a
um
esses dois modelos. Segundo as suas estimativas, cada biombo do modelo I, requer 2
placas de madeira e 7 horas de mão – de – obra, enquanto que um biombo do modelo
m
II, requer uma placa de madeira e 8 horas de mão – de – obra. Os biombos são pro-
duzidos a um custo unitário de 80 e 50 meticais cada. O biombo do modelo 1 é mais
carro por isso é vendido a 120 meticais, enquanto o biombo do modelo II é vendido a
80 meticais. Usando as informações do texto, elabore o modelo económico matemático
como um problema de programação linear.
Exercı́cio 2.9. Uma fábrica de tintas produz dois tipos de tinta: uma tinta para
interiores e uma 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
Mulenga 18 2020
Investigação Operacional
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.
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
seja bem consolidada, exige-se uma nutrição equilibrada que preveja nı́veis mı́nimos de
ingestão de proteinas, hidratos de carbono, gorduras, vitaminas e fósforo. Estes nı́veis
l.c
correspondem de acordo com uma tabela de prescrição clı́nica de autoria dos invsti-
ai
gadores da clı́nica, á 50; 35; 22; 25 e 30 pontos respectivamente. A clı́nica prevê uma
gm
alimentação nacional à base de quatro tipos de refeições oferecidas quatro vezes por
dia, podem ser repetidas ou misturadas se assim for decidido. As refeições apresentam
@
um ı́ndice de sensão de fome diário, calculado com base cientı́fica que corresponde aos
o8
seguintes valores: 0.6, 0.5, 0.4 e 0.5. Adicionalmente, apresenta-se uma classificação
em função dos tipos de elementos nutrientes exigidos.
et
ub
Verde 6 8 5 7 4
m
Branca 9 11 9 10 16
Azul 10 12 14 8 12
Vermelha 12 8 10 11 8
Mulenga 19 2020
Investigação Operacional
om
1x + 0x ≤ 40
1x + 0x ≤ 3
1 2 1 2
2.3) sujeito à 2.4) sujeito à
l.c
0x1 + 1x2 ≤ 30
0x1 + 1x2 ≤ 4
x ,x ≥ 0 x ,x ≥ 0
ai
1 2 1 2
gm
2x1 + 3x2 ≥ 9
5x + 2x ≤ 100
1 2
2.5) sujeito à 2.6) sujeito à 4x1 + 3x2 ≥ 12
et
3x1 + 8x2 ≤ 120
x ,x ≥ 0
ub
1 2
x ,x ≥ 0
1 2
um
3x1 + 1x2 ≤ 80
2x1 + 1x2 ≤ 6
2.7) sujeito à 1x1 + 4x2 ≤ 120 2.8) sujeito à 7x1 + 8x2 ≤ 28
x ,x ≥ 0 x ,x ≥ 0
1 2 1 2
Mulenga 20 2020
Investigação Operacional
om
near pelo método gráfico
l.c
O método gráfico pode ser aplicado para resolver os problemas de programação linear
ai
de forma eficiente, apenas quando a função objectivo e o conjunto das restrições tiver
gm
duas variáveis de decisão.
@
Mulenga 21 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
Figura 2.1: Domı́nio solução de sistema de inequações
l.c
Exemplo 2.6. Determinar o conjunto solução do sistema e calcular o valor máximo e
ai
mı́nimo da função F (x) = 1x1 − 2x2 + 4 sobre o polı́gono convexo dado pelo sistema.
gm
1x1 + 1x2 ≤ 4
@
−1x1 − 2x2 ≤ 2
o8
−1x1 + 1x2 ≤ 2
et
1x1 + 0x2 ≤ 3
ub
x1 , x2 ≥ 0
um
Resolução
Ver a Figura 2.2, onde cada recta tem associada a ela uma secta que indica o semi-
m
Mulenga 22 2020
Investigação Operacional
• Ponto A = r5 ∩ r6 = (x1 = 0 ∩ x2 = 0)
• Ponto B = r4 ∩ r6 = (x1 = 3 ∩ x2 = 0)
om
• Ponto E = r3 ∩ r5 = (−1x1 + 1x2 = 2 ∩ −1x1 − 2x2 = 2)
l.c
Resolvendo os sistemas de equações tem-se as coordenadas de cada ponto.
ai
gm
Tabela 2.4: Cálculo do ponto máximo e mı́nimo de F (x) = 1x1 − 2x2 + 4
@
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.
Mulenga 23 2020
Investigação Operacional
om
l.c
Resolução
O primeiro passo é considerar que temos um sistema de equações em vez de inequações
ai
como está representado no sistema e designar as equações por rectas.
gm
−3x1 + 4x2 = 12 r1
o8
2x + 1x = 14
1 2 r2
et
Sujeito à
2x1 − 3x2 = 6 r3
ub
x = 0, x = 0
1 2 r4 , r5
um
m
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
Mulenga 24 2020
Investigação Operacional
Em seguida estão apresentados todos os pontos das rectas que foram utlizados para
representar as rectas no sistema de coordenadas rectangulares incluindo a recta da
função objectiva.
r1 : x1 x2 r 2 : x1 x2 r 3 : x1 x2 rz : x1 x2
3
0 3 0 14 0 -3 0 0 x2 = − x1
2
-4 0 7 0 3 0 2 -3
om
l.c
ai
gm
@
o8
et
ub
um
m
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.
Mulenga 25 2020
Investigação Operacional
Pmax = r1 ∩ r2
−3x + 4x = 12 −3x + 4x = +12
1 2 1 2
→ somando as duas equações
+2x + 1x = 14 / ∗ (−4) −8x − 4x = −56
om
1 2 1 2
l.c
−11x = −44 x =4 x =4 x =4
1 1 1 1
→ → ai →
− 2a equacao 2x + 1x = 14 x =6
− 1 2 2
gm
Exemplo 2.8. Uma pessoa precisa de 10, 12, e 12 unidades dos produtos quı́micos
et
Resolução
A seguinte tabela resume os dados do problema.
Mulenga 26 2020
Investigação Operacional
Produto A 5 1 10
Produto B 2 2 12
Produto C 1 4 12
om
5x1 + 1x2 ≥ 10
2x + 2x ≥ 12
1 2
l.c
Sujeito á
1x1 + 4x2 ≥ 12 ai
x ,x ≥ 0
gm
1 2
3
@
5x1 + 1x2 = 10; r1
et
2x1 + 2x2 = 12; r2
Sujeito á
ub
1x1 + 4x2 = 12; r3
um
x1 = 0, x2 = 0; r4 , r6
m
r1 : x1 x2 r2 : x1 x2 r 3 : x1 x2 rw : x1 x2
0 10 0 6 0 3 0 0
2 0 6 0 12 0 2 -3
Para os problemas de minimização a recta da função objectiva deve ser traçada até ao
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
Mulenga 27 2020
Investigação Operacional
om
l.c
ai
Figura 2.4: Ilustração da resolução de um problema de minimização
gm
@
5x + 1x = 10 +5x + 1x = +10
o8
1 2 1 2
→ somando as 2 equações
2x + 2x = 12 / : (−2) −1x − 1x = −6
1 2 1 2
et
ub
4x = 4 x =1 x =1
1 1 1
→ →
1a equacao
um
− x = 10 − 5 ∗ 1 = 5
− 2
m
Mulenga 28 2020
Investigação Operacional
Passo 3. Calcular as coordenadas de dois pontos para cada recta incluindo a recta
da função objectiva e representar num sistema de eixos (atenção trocar x1 por x2 não
é permetido), indicando por uma secta a região solução para as inequações.
om
Passo 4. Traçar a recta da função objectivo e deslocar com rectas paralelas até ao
l.c
ponto máximo ou mı́nimo conforme o problema (ponto óptimo). Resolver o sistema
ai
das rectas que intersectam no ponto óptimo. Note, que um problema de programação
gm
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
@
da função objectvo é paralela a uma das rectas das restrições, neste caso a solução é
o8
linear.
Mulenga 29 2020
Investigação Operacional
Resolução
r1 : x1 x2 r 2 : x1 x2 r z : x1 x2
1
0 4 0 6 r3 : x2 ≤ 3 rz : x2 = − x1 0 0
2
4 0 3 0 2 -1
om
l.c
ai
gm
@
o8
et
ub
2x + 2x = 8 / : 2 x +x =4 x =4−3=1
1 2 1 2 1
→ →
m
0x + 3x = 9 / : 3 x =3 x =3
1 2 2 2
Mulenga 30 2020
Investigação Operacional
2x1 + 2x2 ≥ 6
2x + 2x ≤ 8
1 2
sujeito à
3x1 + 1x2 ≥ 4
x ,x ≥ 0
1 2
Resolução
30 5
Para a função objectivo: 30x1 + 12x2 = 0, → x2 = − x1 → x2 = − x1 .
12 2
r1 : x1 x2 r 2 : x1 x2 r3 : x1 x2 rw : x 1 x2
om
0 3 0 4 0 4 0 0
3 0 4 0 3/4 0 1 -5/2
l.c
ai
gm
@
o8
et
ub
um
m
Pmin = r1 ∩ r3
2x + 2x = 6 / : (−2) −1x − 1x = −3
1 2 1 2
→
3x + 1x = 4 +3x + 1x = 4
1 2 1 2
Mulenga 31 2020
Investigação Operacional
1
Depois de somar os coeficientes das duas equações, tem-se x1 = , substituindo na 2a
2
1 5
equação, tem-se x2 = 4 − 3 ∗ = .
2 2
1 5
O valor da função objectiva é: Wmin = 30 ∗ + 12 ∗ = 45
2 2
1 5
Solução: x1 = ; x2 = ; Wmin = 45
2 2
om
armários, ambos de um só modelo. Para efeitos de simplificação, vamos considerar que
l.c
a carpintaria tem limitações em somente dois recursos: a madeira e a mão-de-obra,
cujas disponibilidades diárias são 12 m2 e 8 homens por hora (H.h), respectivamente.
ai
O processo de produção é tal que, para fazer 1 mesa a fábrica gasta 2 m2 de madeira
gm
e 2 H.h de mão-de-obra. Para fazer um armário, a fábrica gasta 3 m2 de madeira 1
H.h de mão-de-obra. Além disso, o fabricante sabe que cada mesa dá uma margem de
@
Exercı́cio 2.12. Uma indústria fabrica dois produtos A e B que utilizam três matérias
m
Mulenga 32 2020
Investigação Operacional
Exercı́cio 2.13. A companhia Cervejas de Moçambique precisa, de 90, 120 e 260 mil
caixas de cerveja de alta, média e baixa qualidades, respectivamente. Existem 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,
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
e satisfazer as necessidades da companhia.
Resposta: x1 = 5; x2 = 2; Wmin = 140 u.m.
om
são adquidas em dois tipos de medicamentos designados A e B. Um medicamento do
tipo A tem 10 unidades de substância 1 e 8 unidades de substância 2. O medicamento
l.c
do tipo B contém 2 unidades da substância 1 e 4 unidades de substância 2. Sabendo
ai
que uma unidade do medicamento A custa 3 u.m e de B custa 1 u.m, quantas unidades
gm
de cada medicamento A ou B, que o paciente deve comprar para tomar por dia de
modo que ele melhore e minimize o seu dinheiro. Qual é o valor mı́nimo que ele vai
@
Exercı́cio 2.15. Usando o método gráfico, resolva as seguintes alı́neas dos problemas
ub
de programação linear.
minimizar W = 10x1 + 30x2
um
1x + 1x ≥ 12
1 2
a) sujeito à 1x1 + 2x2 ≤ 8 b) sujeito à
1x1 + 2x2 ≥ 14
x1 , x2 ≥ 0
x ,x ≥ 0
1 2
maximizar Z = 25x1 + 30x2 minimizar W = 5x1 + 2x2
2x1 + 2x2 ≤ 10
1x1 + 1x2 ≥ 6
1x + 3x ≤ 10
6x + 3x ≥ 18
1 2 1 2
c) sujeito à d) sujeito à
1x1 + 2x2 ≤ 6 2x1 + 3x2 ≥ 12
x ,x ≥ 0 x ,x ≥ 0
1 2 1 2
Mulenga 33 2020
Investigação Operacional
Respostas
a) x1 = 4, x2 = 2, Zmax = 30
b) x1 = 14, x2 = 0, Wmin = 140
c) x1 = 4, x2 = 1, Zmax = 130
d) x1 = 0, x2 = 6, Wmin = 12
om
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 au-
l.c
xiliares.
ai
gm
2.3.1 Variáveis de folga e de excesso
Na resolução dos problemas de programação linear pelo método gráfico usou-se os si-
@
nais ≤ e ≥ nas inequações das restrições para definir a região ou domı́nio das soluções
o8
e resolveu-se os problemas assumindo que todas variáveis eram não negativas. Nesta
et
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
m
Mulenga 34 2020
Investigação Operacional
om
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
l.c
tiver só variáveis de decisão e todas desigualdades for do mesmo sinal. Assim, para
ai
maximização deverá se ter ≤, enquanto, para minimização ≥. Um problema está na
gm
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 ).
@
o8
padrão.
ub
1x1 + 2x2 ≤ 11 2x1 + 2x2 ≥ 12
a) sujeito à b) sujeito à
m
1x1 + 3x2 ≤ 15
1x1 + 4x2 ≥ 12
x1 , x2 ≥ 0
x1 , x2 ≥ 0
Resolução
Como os problemas estão na forma canónica, basta acrescentar as variáveis de folga
ou de excesso.
Mulenga 35 2020
Investigação Operacional
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
1x + 2x + 0x + 1x + 0x = 11 2x + 2x + 0x − 1x + 0x = 12
1 2 3 4 5 1 2 3 4 5
suj à suj à
1x1 + 3x2 + 0x3 + 0x4 + 1x5 = 15
1x1 + 4x2 + 0x3 + 0x4 − 1x5 = 12
x1 , x2 , x3 , x4 , x5 ≥ 0
x1 , x2 , x3 , x4 , x5 ≥ 0
Observação
• 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.
om
• Como as variáveis de excesso e de folga são apenas auxiliaries, elas não contri-
l.c
buem na função objectiva, por isso, tem coeficiente zero.
ai
• Todas as variáveis de decisão e auxiliares são não negativas.
gm
O método simplex pode ser descrito como um processo matricial para resolver proble-
mas de programação linear na forma padrão.
et
ub
dos problemas de programação linear nos diversos casos em que eles se apresentam.
Neste capı́tulo são apresentadas três variantes. O método simplex directo que per-
m
Mulenga 36 2020
Investigação Operacional
• Da tabela inicial, nota-se que as variáveis básicas (base) são todas variáveis de
om
folga e tem 1 ao longo da linha em que estão;
l.c
da coluna pivô, por isso, são chamados indicadores da coluna pivô;
ai
• O elemento no canto inferior direito é zero, ele corresponde ao valor da função
gm
objectivo inicial.
@
gativo (max) ou o maior elemento positivo (min), e a coluna que contém este
um
Se a tabela não tem nenhum indicador negativo (max) ou positivo (min), esta é uma
tabela terminal e não tem pivô.
Mulenga 37 2020
Investigação Operacional
m + n colunas, cujo elemento pivô é aij da matrix A. Uma nova tabela T2 é calculada
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 da coluna
pivô, isto é:
• 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 element pivô terá sempre “1” depois desta divisão.
• Cada uma das outras linhas lk0 da tabela T2 é obtida somando da linha lk o
om
produto −akj lp0 , onde o −akj é o elemento akj da coluna pivô com sinal contrário.
l.c
Isto é: lk0 = lk − akj × lp0 , para k = 1, 2, . . . , n.
ai
4. Interpretação da tabela terminal. Depois de tantas repetições das etapas (2)
gm
e (3), chega-se a uma tabela terminal, a qual não tem nenhum indicador da coluna
pivô negativo (max) ou positivo (min).
@
o8
... ... ... ... ... ... ... ... ... ...
um
Nesta tabela o (*) indica de que os valores já não são os mesmos da tabela inicial.
Também pode notar de que as variáveis que estão na base foram trocadas. Este é
resultado das iterações que foram feitas.
• z ∗ – é o valor óptimo da função objectivo;
• 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 e xm+n .
Mulenga 38 2020
Investigação Operacional
• Assim, a solução seria: x1 = b∗1 , x2 = b∗2 , xm+n = b∗n e Zmax = z ∗ e todas variáveis
que estão fora da base são iguais a zero.
om
x ,x ,x ≥ 0
1 2 3
Resolução
l.c
ai
O problema já está na forma canônica, portanto, vai-se introduzir as variáveis de folga.
gm
1
sujeito à 3x1 + 2x2 + 2x3 + 0x4 + 1x5 = 15
et
x ,x ,x ,x ,x ≥ 0
ub
1 2 3 4 5
um
Tabela 1
Base x1 x2 x3 x4 x5 Bi
m
x4 1 2 3 1 0 9; (9/2=4.5, min) J
x5 3 2 2 0 1 15 (15/2=7.5)
Z -1 -9 -1 0 0 0
min N
Mulenga 39 2020
Investigação Operacional
1
Linha 1: lp0 = (1/2) ∗ lp = ∗2=1
2
Linha 2: l20 = l2 − 2 ∗ lp0 = 2 − 2 ∗ 1 = 0
Linha 3: l30 = l3 − 9 ∗ lp0 = 9 − 9 ∗ 1 = 0
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
om
Solução
81 9
l.c
Zmax = , x1 = 0 , x2 = , x3 = x4 = 0, x5 = 6
2 2 ai
Os valores da função objectivo e das variáveis de folga podem ser obtidos substituindo
gm
os valores de x1 , x2 e x3 na função objectivo e nas restrições.
@
9 81
• Função objectivo: Zmax = 1 ∗ x1 + 9 ∗ x2 + 1 ∗ x3 = 1 ∗ 0 + 9 ∗ +1∗0=
2 2
o8
9
et
• Restrição 1: x4 = 9 − 1 ∗ x1 − 2 ∗ x2 − 3 ∗ x3 = 9 − 1 ∗ 0 − 2 ∗ –1 ∗ 0 = 9 − 9 = 0
2
ub
9
• Restrição 2: x5 = 15–3 ∗ x1 –2 ∗ x2 − 2 ∗ x3 = 15–2 ∗ 0 − 2 ∗ − 2 ∗ 0 = 15 − 9 = 6.
2
um
m
Desta verificação, significa que para produzir 4.5 unidades de x2 foram utilizadas com-
pletamente 9 uniddaes de recurso 1, 9 unidades de recurso 2, não sendo utilizadas 6
unidades que correspondem a diferença 15-9=6 unidades do recurso 2.
Mulenga 40 2020
Investigação Operacional
4x1 + 6x2 ≤ 12
6x + 2x ≤ 24
1 2
sujeito à
2x1 + 1x2 ≤ 10
x1 , x2 ≥ 0
Resolução
Introduzindo as variáveis de folga tem-se.
om
6x1 + 2x2 + 0x3 + 1x4 + 0x5 = 24
sujeito à
l.c
2x1 + 1x2 + 0x3 + 0x4 + 1x5 = 10 ai
x1 , x2 , x3 , x4 , x5 ≥ 0
gm
@
Tabela 1
o8
Base x1 x2 x3 x4 x5 Bi
et
x3 4 6 1 0 0 12 (12/4=3, min)J
ub
x4 6 2 0 1 0 24 (24/6=3, min)
um
x5 2 1 0 0 1 10 (10/2=5)
Z -6 -4 0 0 0 0
m
Repare que na tabela inicial, como tem-se dois valores mı́nimos candidatos para linha
pivô, qualquer linha pode ser escolhida e neste caso, foi escolhida a primeira linha. De
mesmo modo podia se ter mais colunas candidatas para a escolha da coluna pivô.
Como o elemento pivô está na primeira linha, começa-se por esta linha a transfor-
mar e só depois as outras linhas.
Mulenga 41 2020
Investigação Operacional
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
om
confirma o valor que está na tabela.
l.c
Exemplo 2.14. Resolva o seguinte problema de programação linear pelo método
simplex.
ai
gm
maximizar Z = 8x1 + 6x2
@
6x1 + 3x2 ≤ 9
o8
2x1 + 2x2 ≤ 4
sujeito à
et
1x1 + 2x2 ≤ 8
ub
x1 , x2 ≥ 0
um
Resolução
m
Tabela 1
Base x1 x2 x3 x4 x5 Bi
x3 6 3 1 0 0 9 (9/6=1.5)J
x4 2 2 0 1 0 4 (4/2=2)
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
Mulenga 42 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 43 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
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, dize-se que esta tabela
l.c
é preliminar e não básica porque não possue solução básica.
ai
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: o método
@
≤ variável de folga xi
m
= 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 44 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 com sinal negativo o resultado, por exem-
plo para a coluna de x1 teria c01 = −(a11 + a21 + a31 ).
• As colunas das váriaveis articiais ficam com zeros, para garantir que a tabela
inicial tenha solução básixa.
om
se alguma variável articial, Z0 = −(b1 + b2 + b3 ).
l.c
ai
Passo 3. Organizada a tabela inicial, as variáveis artifiais e de folga se existirem
gm
estarão na base. E esta é a tabela básica da primeira fase.
@
Passo 4. Resolver o problema pelo método simplex, tomando-se como função ob-
o8
jectivo a última linha da função de maximização até que na linha Za , haja nas colunas
de xi , ∀ci = 0, nas colunas de ai , ∀ci = 1 e Za = 0. Este é o fim da primeira fase.
et
ub
Como na última linha o valor da função objectiva artificial é igual a zero, a primeira
um
Exemplo 2.15. Usando o método simplex de duas fases, resolva o seguinte pro-
blema de programação linear.
Mulenga 45 2020
Investigação Operacional
2x + 3x2 ≤ 10
1
sujeito à 1x1 + 3x2 ≥ 5
x ,x ≥ 0
1 2
Resolução
Tabela 1 1a Fase
Base x1 x2 x3 x4 a1 Bi
x3 2 3 1 0 0 10 (19/3=3.333)
om
a1 1 3 0 -1 1 5 (5/3=1.666) J
l.c
W -3 -4 0 0 0 0
Za -1 -3N 0 1 0 -5
ai
gm
@
Repare que a linha Za é constinuida pelos coeficientes da segunda restrição com sinal
o8
Tabela 2 1a Fase
ub
Base x1 x2 x3 x4 a1 Bi operações
um
x3 1 0 1 1 -1 5 l10 = l1 − 3 ∗ l20
m
Za 0 0 0 0 1 0 l40 = l4 + 3 ∗ l20
Mulenga 46 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
Solução x1 = 0, x2 = 5/3, x3 = 5, x4 = 0 e Wmin = 20/3.
l.c
Exemplo 2.16. Usando o método de duas fases, resolver o problema de programação
ai
linear.
gm
3x1 + 1x2 ≥ 3
o8
4x1 + 3x2 ≥ 6
sujeito à
et
1x1 + 2x2 ≥ 3
ub
x1 , x2 ≥ 0
um
Resolução
m
Mulenga 47 2020
Investigação Operacional
três iterações na primeira fase para retirar todas variáveis artificiais dela.
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
a2 4 3 0 -1 0 0 1 0 6 (3/2)
a3 1 2 0 0 -1 0 0 1 3 (3)
W -4 -1 0 0 0 0 0 0 0
om
Za -8N -6 1 1 1 0 0 0 -12
l.c
Tabela 2 1a F ai
Base x1 x2 x3 x4 x5 a1 a2 a3 Bi
gm
Tabela 3 1a F
Base x1 x2 x3 x4 x5 a1 a2 a3 Bi
Za 0 0 1 -1 N 1 0 2 0 0
Mulenga 48 2020
Investigação Operacional
Tabela 4 1a F
Base x1 x2 x3 x4 x5 a1 a2 a3 Bi
Za 0 0 0 0 0 1 1 1 0
om
l.c
Como na última linha o valor da função objectivo artificial é igual a zero, a fase 1
termina e a solução encontrada é solução básica inicial para a fase 2. Na segunda
ai
fase, como o problema é de minimização, e temos um elemento positivo, teremos que
gm
continuar as iterações.
@
Tabela 1 2a F
o8
Base x1 x2 x3 x4 x5 Bi
et
ub
Mulenga 49 2020
Investigação Operacional
Tabela 2 2a F
Base x1 x2 x3 x4 x5 Bi
x5 5 0 -2 0 1 3
x2 3 1 1 0 0 3
x4 5 0 -3 1 0 3
W -1 0 -1 0 0 3
om
Exemplo 2.17. Usando o método de duas fases, resolva o problema de programação
l.c
linear.
ai
maximizar Z = 2x1 + 3x2 + 5x3
gm
1x1 + 2x2 + 1x3 ≤ 10
@
2x1 + 3x2 + 1x3 ≥ 6
sujeito à
o8
2x1 + 1x2 − x3 = 3
et
x1 , x2 , x3 ≥ 0
ub
um
Resolução
1a F
m
Tabela 1
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
Za -4 N -4 0 0 1 0 0 -9
Mulenga 50 2020
Investigação Operacional
Tabela 2 1a F
base x1 x2 x3 x4 x5 a1 a2 Bi
Z 0 -2 -6 0 0 0 1 3
Za 0 -2 N -2 0 1 0 2 -3
om
Tabela 3 1a F
l.c
base x1 x2 x3 x4 x5 a1 a2 aiBi
Z 0 0 -4 0 -1 1 0 6
et
ub
Za 0 0 0 0 0 1 1 0
um
Tabela 1 2a F
m
base x1 x2 x3 x4 x5 Bi
Z 0 0 -4 N 0 -1 6
Mulenga 51 2020
Investigação Operacional
Tabela 2 2a F
base x1 x2 x3 x4 x5 Bi
Z 0 4 0 0 -3 N 12
Tabela 3 2a F
om
base x1 x2 x3 x4 x5 Bi
l.c
x5 0 0 0 4/3 1 25/3 ai
x3 0 1 1 2/3 0 17/3
gm
x1 1 1 0 1/3 0 13/3
@
Z 0 4 0 4 0 37
o8
et
De uma forma geral, o método simplex de duas fases consistiu em gerar uma nova
m
Mulenga 52 2020
Investigação Operacional
Passo 3. Para cada variável de folga e de excesso adicionar 0xi e para cada variável
artificial adicionar −M ai na nova função objectivo, onde M é um grande número po-
sitivo inteiro superior a todos outros da tabela simplex em qualquer iteração.
om
Passo 4. Escrever a tabela inicial simplex, onde as variáveis artificiais não estarão
l.c
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,
ai
i.é, procurar eliminar a constante M nas colunas ai até chegar a tabela simplex inicial
gm
com uma solução básica inicial viável.
@
até que todos coeficientes da função objectivo ci sejam positivos, ter-se-à uma tabela
et
terminal.
ub
gramação linear.
maximizar Z = 2x1 + 1x2
m
1x + 1x2 ≤ 10
1
sujeito à −x1 + 1x2 ≥ 2
x ,x ≥ 0
1 2
Resolução
maximizar Z = 2x1 + 1x2 + 0x3 + 0x4 − M a1
Mulenga 53 2020
Investigação Operacional
1x + 1x2 + 1x3 + 0x4 + 0a1 = 10
1
sujeito à −x1 + 1x2 + 0x3 − 1x4 + 1a1 = 2
x ,x ,x ,x ,a ≥ 0
1 2 3 4 1
Tabela 1P
Base x1 x2 x3 x4 a1 Bi
x3 1 1 1 0 0 10
− -1 1 0 -1 1 2 J
om
Z -2 -1 0 0 MN 0
l.c
Vamos procurar encontrar a solução básica inicial viável, para isso temos que eliminar
ai
M na coluna a1 tomando o 1 da segunda linha como pivô.
gm
Tabela 1
@
Base x1 x2 x3 x4 a1 Bi
o8
l10 = l1
et
x3 1 1 1 0 0 10 (10)
l20 = l2
ub
a1 -1 1 0 -1 1 2 (2) J
Z M-2 -M-1N 0 M 0
m
Mulenga 54 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 (-)
Tabela 3
base x1 x2 x3 x4 a1 Bi
om
x1 1 0 1/2 1/2 -1/2 4
x2 0 1 3/2 -1/2 1/2 6
Solução x1 = 4; x2 = 6; x3 = x4 = 0; a1 = 0; Zmax = 14
o8
Observação
et
Note que, como as variáveis artificiais não têm significado nenhum para o problema, e
ub
são iguais a zero na tabela terminal simplex, elas podem não figurar na solução.
um
Mulenga 55 2020
Investigação Operacional
Resolução
maximizar Z = −5x1 − 12x2 + 0x3 + 0x4 − M a1 − M a2
1x1 + 2x2 + 1x3 + 0x4 + 0a1 + 0a2 = 10
2x + 3x + 0x − 1x + 1a + 0a = 12
1 2 3 4 1 2
sujeito à
1x1 + 1x2 + 0x3 + 0x4 + 0a1 + 1a2 = 8
x ,x ,x ,x ,a ,a ≥ 0
1 2 3 4 1 2
Tabela P1
Base x1 x2 x3 x4 a1 a2 Bi
om
x3 1 2 1 0 0 0 10
l.c
− 2 3 0 -1 1 0 12 J
− 1 1 0 0 0 1 8
ai
gm
Z 5 12 0 0 MN M 0
@
Tabela P2
o8
Base x1 x2 x3 x4 a1 a2 Bi
et
ub
x3 1 2 1 0 0 0 10
um
a1 2 3 0 -1 1 0 12
− 1 1 0 M 0 1 8 J
m
Mulenga 56 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
Tabela 2
om
Base x1 x2 x3 x4 a1 a2 Bi
l.c
x3 -1/3 0 1 2/3 -2/3
ai 0 2
x2 2/3 1 0 -1/3 1/3 0 4 J
gm
a2 1/3 0 0 1/3 -1/3 1 4
@
M M 4M
Z − −3 N 0 0 − +4 −4 0 -4M-48
3 3 3
o8
et
Tabela 3
ub
Base x1 x2 x3 x4 a1 a2 Bi
um
Mulenga 57 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
Varificação: W = 5x1 + 12x2 = 5 ∗ 8 + 12 ∗ 0 = 40.
l.c
Exemplo 2.20. Usando o método simplex de grande M, resolva o problema de mini-
ai
mização de programação linear.
gm
2x + 1x2 ≥ 2
1
o8
x ,x ≥ 0
1 2
ub
um
Resolução
Tabela P1
m
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 58 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
Base x1 x2 x3 x4 a1 a2 Bi
om
a1 2 1 -1 0 1 0 2
a2 2 1 0 -1 0 1 6
Base x1 x2 x3 x4 a1 a2 Bi
o8
a2 0 0 1 -1 -1 1 4
ub
Tabela 3
m
Base x1 x2 x3 x4 a1 a2 Bi
Mulenga 59 2020
Investigação Operacional
Resolução
om
Tabela P1
Base x1 x2 x3 x4 x5 a1 a2 Bi
l.c
ai
gm
x4 1 1 0 1 0 0 0 20
− 1 0 1 0 0 1 0 5
@
− 0 1 1 0 -1 0 1 10
o8
et
Z -1 1 -3 0 0 M M 0
ub
Tabela P2
um
Base x1 x2 x3 x4 x5 a1 a2 Bi
m
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 60 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
Tabela 2
om
Base x1 x2 x3 x4 x5 a1 a2 Bi
l.c
x4 1 1 0 1 0 0 0
ai 20
x3 1 0 1 0 0 1 0 5
gm
a2 -1 1 0 0 -1 -1 1 5
@
Tabela 3
ub
Base x1 x2 x3 x4 x5 a1 a2 Bi
um
x4 2 0 0 1 1 1 -1 15
m
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 61 2020
Investigação Operacional
om
b) Escreva-o na formá padrão se necessário.
c) Resolva o problema pelo método simplex e apresente a solução óptima.
l.c
d) Algum recurso não sendo usado competamente?. Qual?
Respostas:
ai
a) Sim o problema está na forma canónica, porque é de maximização e todas desigual-
gm
1x1 + 2x2 ≤ 8
sujeito à
1x1 + 0x2 ≤ 4
x1 , x2 ≥ 0
Mulenga 62 2020
Investigação Operacional
Exercı́cio 2.18. Uma empresa fabrica dois tipos de estantes com madeiras diferentes,
adquirindo a madeira já cortada, e submetendo-a depois a três operações: 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 processadas por hora.
om
Furação 7 6
l.c
Polimento 4 3
Montagem 6 4
ai
gm
u.m, respectivamente.
ub
3 3 3
Mulenga 63 2020
Investigação Operacional
b) Usando a interpretação das variáveis de folga, quais os recursos que não estão sendo
usados completamente.
Resposta: recurso 2, com x4 = 4 unidades não utilizadas.
Exercı́cio 2.20. Uma empresa possui em stock sticks de hóquei e jogos de xadrez que
são processados em três maquinarias M1, M2 e M3. Cada stick de hóquei é vendido
a 5 Dólares americanos e cada jogo de xadrez é vendido a 2 Dólares americanos. Um
stick de hóquei requer uma hora de processamento na maquinaria M1, seis horas na
maquinaria M2 e duas horas na maquinaria M3. Um jogo de xadrez requer uma hora
na maquinaria M1, três horas na maquinaria M2 e três horas na maquinaria M3. A
máquina M1 tem disponı́vel no máximo 6 horas por semana, a máquina M2 tem dis-
om
ponı́vel 18 horas e a máquina M3 tem disponı́vel 12 horas por semana.
a) Apresente o modelo económico matemático do problema de programação linear que
l.c
reporta esta informação. ai
Resposta: maximizar z = 5x1 + 2x2 , sujeito á {r1 : 1x1 + 1x1 ≤ 6, r2 : 6x1 + 3x2 ≤ 18,
gm
r3 : 2x1 + 3x2 ≤ 12 e x1 , x2 ≥ 0}
b) Resolva o problema e apresente a solução óptima.
@
Exercı́cio 2.21. Uma companhia possuia, há 10 anos, duas minas: a mina A produ-
et
zindo por dia 1 tonelada de minério de alto teor, 3 toneladas de minério de médio teor
ub
e 5 toneladas de minério de baixo teor; a mina B produzia por dia 2 toneladas de cada
um
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,
cada mina A ou B funcionou durante 20 dias. O custo total mı́nimo foi de 12000.
unidades de medida.
Mulenga 64 2020
Investigação Operacional
om
mas de programação linear.
l.c
maximizar Z = 1x1 + 2x2 + 3x3
ai
2x1 + 2x2 ≤ 8
1x + 2x2 + 0x3 ≤ 4
1
3x + 0x ≥ 3
1 2
gm
a) sujeito à 1x1 + 0x2 + 2x3 = 5 b) sujeito à
0x1 + 1x2 ≥ 2
x ,x ,x ≥ 0
1 2 3
@
x ,x ≥ 0
1 2
o8
Respostas:
a) x1 = 0, x2 = 2, x3 = 5/2, x4 = 0, Zmax = 23/2
et
b) x1 = 1, x2 = 2, x3 = 2, x4 = 0, x5 = 0, Wmin = 4
ub
um
Respostas:
a) x1 = 0, x2 = 1, x3 = 0, x4 = 6, x5 = 0 Wmin = 12
b) x1 = 0, x2 = 2, x3 = 0, x4 = 11, x5 = 0, Zmax = 6
Mulenga 65 2020
Capı́tulo 3
om
Todo o problema de programação linear que é obtido via formulação chama-se primal,
l.c
tem associado a ele um correspondente problema, chamado dual; ambos são comple-
mentares e relacionados de forma que a solução óptima de um fornece informações
ai
completas sobre o outro. A teoria de dualidade em programação linear é atribuida aos
gm
trabalhos de von Neumann (1963)1 .
@
o8
problema primal.
um
maximizar Z = c1 x1 + c2 x2 + ... + cm xm
a11 x1 + a12 x2 + ... + a1m xm ≤ b1
m
a21 x1 + a22 x2 + ... + a2m xm ≤ b2
sujeito à ...
an1 x1 + an2 x2 + ... + anm xm ≤ bn
x1 , x2 , .., xm ≥ 0
O seu correspondente problema dual pode ser escrito na forma canónica assim.
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
66
Investigação Operacional
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
Tabela 3.1: Régras de transformação de um problema primal para dual
ai
i Problema primal i Problema dual
gm
Exemplo 3.1. Escreva o problema dual dos priblemas primais apresentados nas ali-
near (a) e (b).
Mulenga 67 2020
Investigação Operacional
Problema primal
x1
om
x2
maximizar Z = c1 c2 . . . cm ×
. . .
l.c
xm ai
a a12 . . . a1m x b
11 1 1
gm
a21 a22 . . . a2m x2 b2
sujeito à × ≤
@
. . . ... ... . . . . . . . . .
o8
an1 an2 . . . anm xm bn
et
ub
Problema dual
um
y1
m
y2
minimizar W = b1 b2 . . . bn ×
. . .
yn
a a21 ... an1 y c
11 1 1
a121 a22 ... an2 y2 c2
sujeito à × ≥
... ... ... . . . . . . . . .
a1m a2m ... anm yn cm
Mulenga 68 2020
Investigação Operacional
Resolução
O problema primal tem 3 restrições, portanto 3 variáveis duais sendo a terceira não
om
restrita.
l.c
Etapa 1. Escrever a terceira restrição ou equação na forma de duas inequações.
ai
gm
minimizar W = 4x1 + 8x2
2x1 + 7x2 ≥ 40
@
1x1 − 1x2 ≥ 18
o8
sujeito à 5x1 + 1x2 ≥ 22
et
−5x1 − 1x2 ≥ −22
ub
x1 , x2 ≥ 0
um
+ −
maximizar Z = 40y1 + 18y2 + 22y3 − 22y3
2y + 1y2 + 5y3+ − 5y3− ≤ 4
1
sujeito à 7y1 − 1y2 + 1y3+ − 1y3− ≤ 8
y1 , y2 , y3+ , y3− ≥ 0
Mulenga 69 2020
Investigação Operacional
om
Exemplo 3.3. Uma indústria dispõe de três recursos A, B e C, em quantidades
l.c
limitadas, com os quais pretende produzir dois produtos: P1 e P2. A Tabela 3.2 dá
ai
a utilização unitária de cada recurso em cada um dos produtos e a disponibilidade de
gm
cada recurso. A indústria sabe que cada unidade produzida de P1 dá uma margem
unitária de lúcro de 5 u.m., e cada unidade produzida de P2 dá uma margem unitária
@
lúcro.
ub
Produto 1 Produto 2
A 1 2 14
B 1 1 9
C 7 4 56
lucro unitário 5 6 -
Mulenga 70 2020
Investigação Operacional
Resolução
Problema primal:
Suponhamos que os produtos 1 e 2 no mercado já não estão a ser muito comprados
om
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
l.c
produção dos dois produtos. ai
gm
O problema neste caso é encontrar o valor de cada unidade do recurso. É evidente
que a venda dos recursos deve fornecer um ganho pelo menos igual ao obtido com a
@
Sejam
et
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, 1
unidade de B e 4 unidades de C. As avaliações em termos do conteúdo de cada recurso
são: produto 1, 1y1 + 1y2 + 7y3 e para o produto 2, 2y1 + 1y2 + 4y3 .
Normalmente essas avaliações dos produtos não podem ser inferiores as margens unitárias
de lúcro fornecidas por cada produto quando era vendido. Assim pode-se escrever:
• Para o produto 1. 1y1 + 1y2 + 7y3 ≥ 5
Mulenga 71 2020
Investigação Operacional
Problema dual
minimizar W = 14y1 + 9y2 + 56y3
1y1 + 1y2 + 7y3 ≥ 5
sujeito à 2y1 + 1y2 + 4y3 ≥ 6
om
y1 , y2 , y3 ≥ 0
l.c
ai
Conforme as definições anteriores, para o problema primal as variáveis y1 , y2 , y3 são
gm
duais e podem ser interpretadas como avaliações unitárias dos recursos relativos as
contribuições de cada produto para a obtenção do lúcro total. Isto significa que, resol-
@
função objectiva do primal, para variações unitárias nos nı́veis dos recursos.
et
Repare que as variáveis xi não podem ser negativas porque representam quantida-
ub
des a serem produzidas, por outro lado, as variáveis yi também são não negativas
um
Mulenga 72 2020
Investigação Operacional
Tabela 1
Base x1 x2 y1 y2 y3 Bi
y1 1 2 1 0 0 14 (7)J
om
y2 1 1 0 1 0 9 (9)
l.c
y3 7 4 0 0 1 56 (14)
ai
Z -5 -6 N 0 0 0 0
gm
Tabela 2
@
Base x1 x2 y1 y2 y3 Bi
o8
y3 5 0 -2 0 1 28 (5.6)
um
Z -2N 0 3 0 0 42
m
Tabela 3
Base x1 x2 y1 y2 y3 Bi
x2 0 1 1 -1 0 5
x1 1 0 -1 2 0 4
y3 0 0 3 -10 1 8
Z 0 0 1 4 0 50
Mulenga 73 2020
Investigação Operacional
Problema dual.
minimizar W = 14y1 + 9y2 + 56y3 + 0x1 + 0x2 + 0a1 + 0a2
1y1 + 1y2 + 7y3 − 1x1 + 0x2 + 1a1 + 0a2 = 5
sujeito à 2y1 + 1y2 + 4y3 + 0x1 − 1x2 + 0a1 + 1a2 = 6
om
y1 , y2 , y3 , x1 , x2 , a1 , a2 ≥ 0
l.c
Tabela inicial da 1a fase
ai
Tabela 1 1a F
gm
Base y1 y2 y3 x1 x2 a1 a2 Bi
@
a1 1 1 7 -1 0 1 0 5 (0.71) J
o8
a2 2 1 4 0 -1 0 1 6 (1.50)
et
W -14 -9 -56 0 0 0 0 0
ub
um
Za -3 -2 -11 1 1 0 0 -11
m
Tabela 2 1a F
Base y1 y2 y3 x1 x2 a1 a2 Bi
y3 1/7 1/7 1 -1/7 0 1/7 0 5/7 (5)
a2 10/7 3/7 0 4/7 -1 -4/7 1 22/7 (2.2) J
W 6 -1 0 -8 0 8 0 40
Mulenga 74 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
Tabela 1 2a F
Base y1 y2 y3 x1 x2 Bi
l.c
ai
y3 0 1/10 1 -1/5 1/10 2/5 (4) J
gm
Tabela 2 2a F
ub
Base y1 y2 y3 x1 x2 Bi
um
y2 0 1 10 -2 1 4
m
y1 1 0 -3 1 -1 1
W 0 0 -8 -4 -5 50
Mulenga 75 2020
Investigação Operacional
Relação 2. Os valores das variáveis duais podem ser obtidos da solução do pro-
blema primal, bastando tomar os coeficientes da última linha das variáveis básicas
iniciais. Se o dual é de maximizar, lemos os valores tal como estão, caso contrário
lemos com o sinal oposto, portanto:
om
Saindo de min (dual) para max (primal) - tabela terminal do dual
l.c
⇒ Solução dual: y1 = 1; y2 = 4; y3 = 0; x1 = 0; x2 = 0; Wmin = 50
ai
⇒ Solução primal: x1 = 4; x2 = 5; y1 = 0; y2 = 0; y3 = 8; Zmax = 50
gm
4x + 6x2 + 0x3 ≥ 2
1
sujeito à 6x1 + 2x2 + 1x3 ≥ 4
x ,x ,x ≥ 0
1 2 3
Resolução
a) O problema dual correspondente é:
Mulenga 76 2020
Investigação Operacional
Tabela 1
om
Base y1 y2 x1 x2 x3 Bi
x1 4 6 1 0 0 24 (4) J
x2 6 2 0 1 0 12 (6)
l.c
ai
gm
x3 0 1 0 0 1 5 (5)
Z -2 -4 N 0 0 0 0
@
Tabela 2
o8
Base y1 y2 x1 x2 x3 Bi
et
ub
y2 2/3 1 1/6 0 0 4
um
x2 14/3 0 -1/3 1 0 4
x3 -2/3 0 -1/6 0 1 1
m
Z 2/3 0 2/3 0 0 16
Repare que na solução do primal, os valores das variáveis foram obtidos ao longo
das colunas começando por x1 = 2/3, x2 = 0, x3 = 0 porque são variáveis de decisão
no problema primal e só depois levou-se y1 = 2/3, y2 = 0.
Mulenga 77 2020
Investigação Operacional
om
Resolução
a) O problema dual correspondente é:
maximizar Z = 6x1 + 10x2 + 12x3
l.c
ai
3x + 4x2 + 2x3 ≤ 4
1
gm
sujeito à 3x1 + 3x2 + 1x3 ≤ 5
@
x ,x ,x ≥ 0
1 2 3
o8
Tabela 1
um
Base x1 x2 x3 y1 y2 Bi
m
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
Mulenga 78 2020
Investigação Operacional
Tabela 2
Base x1 x2 x3 y1 y2 Bi
x3 3/2 2 1 1/2 0 2
y2 3/2 1 0 -1/2 1 3
Z 12 14 0 6 0 24
om
Exemplo 3.6. Dado o problema de programação linear seguinte.
y ,y ,y ≥ 0
1 2 3
o8
et
Resolução
a) O problema dual é:
m
Mulenga 79 2020
Investigação Operacional
Tabela 1
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)
y3 1 2 0 0 1 12 (6)
Z -20 -25 N 0 0 0 0
Tabela 2
Base x1 x2 y1 y2 y3 Bi
om
x2 2/3 1 1/3 0 0 4 (6) J
y2 0 0 -1 1 0 4 (∞)
l.c
ai
y3 -1/3 0 -2/3 0 1 4 (-)
gm
Tabela 3
o8
Base x1 x2 y1 y2 y3 Bi
et
x1 1 3/2 1/2 0 0 6
ub
y2 0 0 -1 1 0 4
um
y3 0 1/2 -1/2 0 1 6
m
Z 0 5 10 0 0 120
Mulenga 80 2020
Investigação Operacional
om
y1 , y2 ≥ 0 x ,x ,x ≥ 0
1 2 3
l.c
Exercı́cio 3.2. Escreva os problemas na forma canónica e transforme – os em duais.
ai
maximizar Z = 16y1 + 8y2
gm
minimizar W = 9x1 + 2x2
−1y1 − 1y2 ≥ −10
4x1 + 1x2 ≥ 13
@
1y + 1y ≤ 9
1 2
a) sujeito à −3x1 − 1x2 ≤ −12 b) sujeito à
o8
3y1 + 1y2 ≤ 12
x1 , x2 ≥ 0
et
y1 , y2 ≥ 0
ub
1
1y1 + 1y2 ≤ 9
a) sujeito à 3x1 + 1x2 ≥ 12 b) sujeito à
3y1 + 1y2 ≤ 12
x1 , x2 ≥ 0
y1 , y2 ≥ 0
Correspondentes problemas duais
Mulenga 81 2020
Investigação Operacional
om
l.c
Exercı́cio 3.4. Considere o seguinte problema de programação linear.
maximizar Z = 12x1 + 15x2 ai
4x + 3x2 ≤ 12
1
gm
sujeito à 2x1 + 5x2 ≤ 10
@
x ,x ≥ 0
1 2
o8
dual.
ub
Resposta:
15 8 15 12 300
Primal: X = , , 0, 0 , Dual: Y = , , 0, 0 com Zmax = Wmin = .
um
7 7 7 7 7
m
Mulenga 82 2020
Investigação Operacional
Exercı́cio 3.6. Uma empresa de transporte dispõe de dois tipos de camiões que po-
dem 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.
1 10 10 180
2 12 15 200
3 10 10 220
om
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
l.c
indicados, de modo a minimizar os custos. (use o procedimento dual se necessário).
Resposta: X = (22, 0, 40, 64) com Wmin = 1100 unidades de medida.
ai
gm
Exercı́cio 3.7. Dado o seguinte problema de programação linear:
@
1y + 2y2 ≥ 80
1
et
sujeito à 3y1 + 1y2 ≥ 75
ub
y1 , y2 ≥ 0
um
Mulenga 83 2020
Capı́tulo 4
Análise de sensibilidade em
programação linear
om
l.c
4.1 Introdução
ai
gm
procurar uma nova interpretação a partir da solução obtida. Já que tanto os recursos
o8
para as quais a solução óptima inicial é ainda válida. A solução óptima de um pro-
m
blema é 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 con-
sideradas 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.
Assim, pode-se dizer de que a análise de sensibilidade tem como primeiro objectivo
verificar a validade da solução obtida para um determinado modelo quando submetida
84
Investigação Operacional
om
1x1 + 2x2 ≤ 14
1x1 + 1x2 ≤ 9
l.c
sujeito à
7x1 + 4x2 ≤ 56 ai
x1 , x2 ≥ 0
gm
@
Tabela 1
o8
Base x1 x2 x3 x4 x5 Bi
et
x3 1 2 1 0 0 14
ub
x4 1 1 0 1 0 9
um
x5 7 4 0 0 1 56
Z -5 -6 0 0 0 0
m
Tabela 3
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
Mulenga 85 2020
Investigação Operacional
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 3 sob as
gm
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
Mulenga 86 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
Os valores obtidos por esta propriedade são chamados multiplicadores simplex e
são valores óptimos das variáveis duais. Outros nomes usados são: custos implı́citos,
custos de oportunidade ou preços de sombra.
om
priedade 1, pelo vector coluna contendo os valores originais dos recursos.
l.c
Da tabela 3, os valores das variáveis básicas são:
ai
1 −1
gm
x2 0 14 5
x1 = −1 0 × 9 = 4
2
@
x5 3 −10 1 56 8
o8
et
Atenção, o produto da matriz pelo vector coluna foi efectuado da seguinte forma:
ub
Para x2 = 1 ∗ 14 − 1 ∗ 9 + 0 ∗ 56 = 5
Para x1 = −1 ∗ 14 + 2 ∗ 9 + 0 ∗ 56 = 4
um
Para x5 = 3 ∗ 14 − 10 ∗ 9 + 1 ∗ 56 = 8
⇒ O que confirma os resultados obtidos na iteração final.
m
Mulenga 87 2020
Investigação Operacional
a13 1
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
a33 3 −10 1 0 3
om
Propriedade 4. Em qualquer iteração do método simplex, a substituição das variáveis
l.c
duais pelos respectivos multiplicadores do simplex, relativos a variáveis básicas da
ai
solução inicial, permite obter os coeficientes da equação Z transformada, pela dife-
gm
rença entre o primeiro membro e segundo das restrições correspondentes do dual.
@
Para x1 , ∆1 = 1 ∗ 1 + 1 ∗ 4 + 7 ∗ 0–5 = 0
Mulenga 88 2020
Investigação Operacional
Para x2 , ∆2 = 2 ∗ 1 + 1 ∗ 4 + 4 ∗ 0–6 = 0
om
• O problema primal começa com uma solução viável não óptima que deve ser
l.c
optimizada, enquanto o dual começa com uma solução inviável com valor superior
ao óptimo e continua não viável até que a solução óptima seja atingida
ai
gm
Até agora, nos problemas de programação linear que consideramos era obrigatório que
o8
todos os elementos do lado direito da tabela simplex fossem positivos. Isto significa
et
que todas as soluções eram viáveis. Pela propriedade 4, sabemos que as soluções duais
são não viáveis até que a solução óptima seja obtida. No entanto, é possı́vel que du-
ub
rante o processo de solução, venhamos a ter uma solução dual viável, o que significa
um
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é da dualidade constitui uma alter-
nativa 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á apresentadas
resumem-se nas régras de entrada e saı́da de variáveis na base.
Mulenga 89 2020
Investigação Operacional
Régra 1. A linha pivô corresponde a linha da variável básica com o menor valor
negativo nos recursos. lp = min{−bj }.
Elemento pivô é o elemento −aij que tem o menor valor entre os quocientes encon-
trados, Ele está no cruzamento entre a linha pivô e a coluna pivô, por isso, ecrevemos:
ep = lp × cp
om
Se todas as variáveis básicas tiverem valores positivos nos recursos e os valores da
linha Z transformada apresentar valores que satisfazem a condição de solução óptima,
l.c
isto é: ∀cj ≥ 0 para maximização ou ∀cj ≤ 0 para os problemas de minimização, foi
ai
atingida a solução óptima, caso contrário continuam as iterações.
gm
Exemplo 4.1. Usando o método simplex dual - simplex resolva o seguinte problema
@
de programação linear.
o8
4x + 8x2 ≥ 32
ub
1
sujeito à 3x1 + 6x2 ≥ 36
um
x ,x ≥ 0
1 2
m
Resolução
Vamos multiplicar por (-1) cada linha ou restrição
maximizar W = 2x1 + 3x2
−4x1 − 8x2 ≤ −32
sujeito à −3x1 − 6x2 ≤ −36
x ,x ≥ 0
1 2
Mulenga 90 2020
Investigação Operacional
Tabela 1
base x1 x2 x3 x4 B
x3 -4 -8 1 0 -32 (-32)
x4 -3 -6 0 1 -36 (-36) J
W -2 -3 0 0 0
(2/3) (3/6)N - - -
Tabela 2
om
base x1 x2 x3 x4 B
x3 0 0 1 -4/3 16
x2 1/2 1 0 -1/6 6
l.c
ai
gm
W -1/2 0 0 -1/2 18
@
Observações
et
1. Repare que introduzimos variáveis de folga para resolvermos porque temos res-
ub
Exemplo 4.2. Usando o método simplex dual - simplex resolva o seguinte problema
de programação linear.
minimizar W = 2x1 + 3x2
2x1 + 1x2 ≤ 20
2x + 1x ≥ 10
1 2
sujeito à
1x1 + 2x2 ≥ 8
x ,x ≥ 0
1 2
Mulenga 91 2020
Investigação Operacional
Resolução
Vamos multiplicar por (-1) cada restrição da forma ≥.
maximizar W = 2x1 + 3x2
2x1 + 1x2 ≤ 20
−2x − 1x ≤ −10
1 2
sujeito à
−1x1 − 2x2 ≤ −8
x ,x ≥ 0
1 2
Tabela 1
Base x1 x2 x3 x4 x5 B
om
x3 2 1 1 0 0 20 (+)
l.c
x4 -2 -1 0 1 0 -10 (-10) Jai
x5 -1 -2 0 0 1 -8 (-8)
gm
W -2 -3 0 0 0 0
@
(1)N (3) - - - -
o8
et
Tabela 2
ub
Base x1 x2 x3 x4 x5 B
um
x3 0 0 1 -1 0 10 (+)
m
W 0 -2 0 -1 0 10
- (1.3)N - (2) - -
Mulenga 92 2020
Investigação Operacional
Tabela 3
Base x1 x2 x3 x4 x5 B
x3 0 0 1 -1 0 10
x1 1 0 0 -2/3 1/3 4
x2 0 1 0 1/3 -2/3 2
W 0 0 0 -1/3 -4/3 14
om
Exemplo 4.3. Usando o método simplex dual - simplex resolva o seguinte problema
l.c
de programação linear.
ai
minimizar W = 3x1 + 3x2
gm
3x1 + 3x2 ≥ 5
@
4x1 + 3x2 ≥ 10
sujeito à
o8
2x1 + 1x2 ≥ 12
et
x1 , x2 ≥ 0
ub
um
Resolução
maximizar W = 3x1 + 3x2
m
−3x1 − 3x2 ≤ −5
−4x − 3x ≤ −10
1 2
sujeito à
−2x1 − 1x2 ≤ −12
x ,x ≥ 0
1 2
Mulenga 93 2020
Investigação Operacional
Tabela 1
Base x1 x2 x3 x4 x5 B
x3 -3 -3 1 0 0 -5 (-5)
x4 -4 -3 0 1 0 -10 (-10)
x5 -2 -1 0 0 1 -12 (-12)J
W -3 -3 0 0 0 0
(1.5)N (3) - - - -
om
Tabela 2
l.c
Base x1 x2 x3 x4 x5 B
x3 0 -3/2 1 0 -3/2 13
ai
gm
x4 0 -1 0 1 -2 14
x1 1 1/2 0 0 -3/2 6
@
o8
W 0 -3/2 0 0 -3/2 18
et
ub
Exemplo 4.4. Para ilustrar, vamos utilizar as tabelas simplex inicial e terminal
do exemplo 3.3 do cápitulo 3.
Mulenga 94 2020
Investigação Operacional
Tabela 1
Base x1 x2 x3 x4 x5 Bi
x3 1 2 1 0 0 14
om
x4 1 1 0 1 0 9
l.c
x5 7 4 0 0 1 56
Z -5 -6 0 0 0 0
ai
gm
Tabela T
@
Base x1 x2 x3 x4 x5 Bi
o8
x2 0 1 1 -1 0 5
et
x1 1 0 -1 2 0 4
ub
x5 0 0 3 -10 1 8
um
Z 0 0 1 4 0 50
m
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?
De acordo com a propriedade 2, os novos valores das variáveis básicas são dados pelo
produto:
Mulenga 95 2020
Investigação Operacional
x 1 −1 0 16 7
2
x1 = −1 0 × 9 = 2
2
x5 3 −10 1 56 14
Tabela T
om
Base x1 x2 x3 x4 x5 Bi
x2 0 1 1 -1 0 7
x1 1 0 -1 2 0 2
l.c
ai
gm
x5 0 0 3 -10 1 14
Z 0 0 1 4 0 52
@
o8
Desta tabela, como todos os valores dos recursos são positivos, a solução actual é viável
et
e óptima. Assim X = (2, 7, 0, 0, 14) com Zmax = 52, o que significa que a variação de
ub
Mulenga 96 2020
Investigação Operacional
Tabela 1
Base x1 x2 x3 x4 x5 Bi
x2 0 1 1 -1 0 11
x1 1 0 -1 2 0 -2
x5 0 0 3 -10 1 26
Z 0 0 1 4 0 56
Como x1 é negativo, esta solução não é viável, quer dizer nova iteração deve ser reti-
om
rar x1 da base. Por isso, recorre-se ao método simplex dual-simplex da subsecção 4.1.2.
l.c
Tabela 2
Base x1 x2 x3 x4 x5 Bi
ai
gm
x2 1 1 0 1 0 9
@
x1 -1 0 1 -2 0 2
o8
x5 3 0 0 -4 1 20
et
Z 1 0 0 6 0 54
ub
um
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.
Mulenga 97 2020
Investigação Operacional
Resumindo esta situaçao não é desejosa nem para os clientes nem para a empresa.
Por isso, uma atenção especial para o gestor é pensar sobre o destino dos clientes que
compravam o produto 1 e os trabalhadores especializados na produção de x1 . Mo-
tivo suficiente para que se procure adquirir uma quantidade por forma a conseguir
um equilibrio entre os interesses da organização e a satisfação dos clientes. O cálculo
do intervalo óptimo de oscilação dos recursos dá os limiares máximos e mı́nimos de
recursos a adquirir sem mudança das variáveis de base.
om
Intervalo óptimo de variação dos recursos
l.c
Para se obter os intervalos de oscilação dos recursos podem se usar os limites:
ai
∆+ = limite superior é igual ao menor quociente absoluto entre o valor do recurso
gm
na tabela terminal da variável que era básica na tabela inicial (neste caso o recurso 1
@
+
bi
∆ = min|raz − negativas| = min para aij < 0 (4.1)
aij
ub
um
vas).
bi
∆− = min|raz − positivas| = min para aij > 0 (4.2)
aij
E o intervalo a calcular é bi − ∆− ≤ bi ≤ bi + ∆+
Mulenga 98 2020
Investigação Operacional
om
−1 −10 5 2
4
O intervalor é 9 − 2 ≤ b2 ≤ 9 + , logo 7 ≤ b2 ≤≤ 9.8
l.c
5
ai
d) b3 está associado a x5 = 56 na tabela inicial, logo deve-se usar a coluna de x5
gm
na tabela terminal.
+ −
8
∆ = min |@| = +∞ ↑; ∆ = min = 8 ↓
@
1
o8
2x + 3x ≤ 10
1 2
sujeito à
1x1 + 2x2 ≤ 10
x ,x ≥ 0
1 2
Mulenga 99 2020
Investigação Operacional
Base x1 x2 x3 x4 x5 Bi
x1 1 3/2 1/2 0 0 5
x4 0 0 -1 1 0 0
x5 0 1/2 -1/2 0 1 5
Z 0 5 10 0 0 100
om
l.c
Resolução
a) Solução X = (5, 0,0,0,5) ; Zmax = 100 ai
gm
b) Para b1 = 10, deve-se usar a coluna de x3 na tabela terminal.
@
+
5 0 −
5
∆ = min ; =0↑; ∆ = min = 10 ↓; o intervalo é: 0 ≤ b1 ≤ 10
o8
−1/2 −1 1/2
et
x 1/2 0 0 20 10
1
um
x4 = −1 1 0 × 16 = −4
m
x5 −1/2 0 1 12 2
Tabela 1
Base x1 x2 x3 x4 x5 Bi
Z 0 5 10 0 0 200
Tabela 2
Base x1 x2 x3 x4 x5 Bi
om
x1 1 3/2 0 1/2 0 8
x3 0 0 1 -1 0 4
l.c
ai
x5 0 1/2 0 -1/2 1 4
gm
Z 0 5 10 0 0 160
@
o8
Exemplo 4.7. Vamos supor que no exemplo 4.4, o coeficiente de x2 tenha sido
alterado de 6 para 4. A nova função objectivo 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).
om
Como ∆3 < 0, isto significa que a solução actual não continua óptima e deve – se in-
l.c
troduzir x3 na base. Para isso, o novo valor da função objectivo é calculado tomando
em consideração a nova função objectiva. Z = 5 ∗ 4 + 4 ∗ 5 = 40.
ai
gm
Tabela 1
@
Base x1 x2 x3 x4 x5 Bi
o8
x2 0 1 1 -1 0 5 (5)
et
x1 1 0 -1 2 0 4 (-)
ub
x5 0 0 3 -10 1 8 (8/3)
um
Z 0 0 -1 6 0 50
m
Tabela 2
Base x1 x2 x3 x4 x5 Bi
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
em ∆z = 128/3–50 = −22/3 u.m.
Observação
Caso as variáveis fora da base não pertençam à solução inicial, que geralmente é
formada pelas variáveis de folga, deve-se aplicar a propriedade 4 para calcular os mul-
tiplicadores simplex.
om
O intervalo óptimo de oscilação dos coeficientes da função objectivo pode ser obtido
pelo procedimento usando para os recursos na secção 4.2, mas agora os quocientes
l.c
serão entre os valores dos multiplicadores simplex e da linha da variável que está na
base, como está explicado a seguir.
ai
gm
res simplex da tabela terminal e os coeficientes negativos das variáveis não básicas da
linha correspondente à variável básica associada ao coeficiente considerado.
o8
et
+
cj
∆ = min|raz − positivas| = min para aij < 0 (4.3)
aij
ub
um
Exemplo 4.8. Para o exemplo 4.4, encontrar os intervalos óptimos de oscilação dos
coeficientes das variáveis básicas x1 , x2 e x5 na tabela terminal.
Tabela 1
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
Resolução
om
A função objectivo é Z = 5x1 + 6x2 + 0x3 + 0x4 + 0x5 , e nos interessam apenas os
l.c
coeficientes das variáveis básicas na tabela terminal, portanto c1 = 5, c2 = 6 e c5 = 0
ai
a) c1 = 5, é o coeficiente de x1 que está
na linha 2 na tabela terminal.
gm
1 4
∆+ = min = 1 ↑; ∆− = min = 2 ↓; intervalo 3 ≤ c1 ≤ 6
−1 2
@
+
4 −
1
∆ = min = 4 ↑; ∆ = min = 1 ↓; intervalo 5 ≤ c2 ≤ 10
−1 1
ub
+
4 2 −
1 1 1 2
= ↑; ∆ = min = ↓; intervalo − ≤ c5 ≤
m
∆ = min
−10 5 3 3 3 5
Observação
Repare que, para as variáveis de decisão a interpretação dos intervalos não é problema,
entretanto, para a variável auxiliar x5 que é de folga, é 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
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
l.c
de sensibilidade, essas variações podem fazer com que a actual solução deixe de ser
ai
ó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.
gm
@
As alterações nos coeficientes das variáveis fora da base poderão modificar a solução
et
óptima, pois, a variável alterada poderá vir a se tornar básica. Assim, uma nova veri-
ub
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
Z -4 -6 -1 0 0 -
Tabela 2
om
Base x1 x2 x3 x4 x5 Bi
l.c
x4 4 0 0 1 -1/2 8 (2) J ai
x2 1/2 1 1/4 0 1/8 4 (8)
gm
Z -1 0 1/2 0 3/4 24
@
Tabela 3
o8
Base x1 x2 x3 x4 x5 Bi
et
x1 1 0 0 1/4 -1/8 2
ub
a13 1/4 −1/8 1 1/8
= × =
a23 −1/8 3/16 1 1/16
Como ∆3 é negativo, significa que a solução anterior já não continua óptima, as-
om
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.
l.c
Tabela 1
ai
gm
Base x1 x2 x3 x4 x5 Bi
@
Tabela 2
Base x1 x2 x3 x4 x5 Bi
m
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. Repare que
o produto x3 tem menor contribuição marginal na função objectiva, mas, como ele
om
de produtos a oferecer aos clientes.
l.c
Exemplo 4.10. Analisar o exemplo 4.9, introduzindo agora uma nova variável x4
conforme o modelo apresentado.
ai
gm
sujeito à 4x1 + 8x2 + 2x3 + 2x4 ≤ 32
et
x ,x ,x ,x ≥ 0
1 2 3 4
ub
um
Resolução
Portanto, para fazer o teste de optimidade da solução, precisamos apenas aplicar a
m
a 1/4 −1/8 2 1/4
14 = × =
a24 −1/8 3/16 2 1/8
1 5
problema primal depois da introdução da variável x4 no modelo ∆5 = e ∆6 = ,
4 8
1 5 5
temos 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.
Tabela 1
Base x1 x2 x3 x4 x5 X6 Bi
om
l.c
Tabela 2
Base x1 x2 x3 x4 x5 X6 Bi
ai
gm
x1 4 0 0 1 1 -1/2 8
x2 -1/2 1 1/4 0 -1/4 1/4 2
@
o8
Z 5 0 1/2 0 3/2 0 36
et
Nova solução
ub
• Testar se a nova restrição é satisfeita para a actual solução óptima, em caso afir-
mativo, a nova restrição diz-se redundante e não é necessário fazer mais iterações.
• 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.
om
Note que, analisar neste caso entende-se por:
a) Verificar se a nova restrição é redundante ou não.
l.c
b) Se não for, introduzir a restrição na tabela terminal do exemplo 4.9 e realizar
ai
iterações até encontrar a nova solução.
gm
Resolução
@
6x1 + 4x2 + 1x3 ≤ 24
4x + 8x + 2x ≤ 32
um
1 2 3
sujeito à
2x1 + 8x3 + 1x3 ≤ 24
m
x ,x ,x ≥ 0
1 2 3
novas iterações devem ser feitas. Assim, vamos colocar na tabela terminal anterior os
coeficientes da nova restrição e a correspondente variável de folga.
Tabela 1
Base x1 x2 x3 x4 x5 X6 Bi
om
l.c
As variáveis x1 e x2 nem deveriam ficar na base, mas, como estão na base seus coefici-
entes na nova restrição devem ser zeros, por isso, que tomamos as suas posições como
ai
pivô para que fiquem na base efectivamente.
gm
Tabela 2
@
o8
Base x1 x2 x3 x4 x5 X6 Bi
et
x1 1 0 0 1/4 -1/8 0 2
ub
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
Tabela 4
Base x1 x2 x3 x4 x5 X6 Bi
x1 1 0 0 1/4 -1/8 0 2
x2 0 1 0 0 1/8 1/4 2
x3 0 0 1 -1/2 5/4 -1 4
Z 0 0 0 1/2 0 1/2 24
Nova solução
om
X = (2, 2, 4, 0, 0, 0) com Zmax = 24.
l.c
A introdução da restrição 3, com os coeficientes 2, 8 ,1 e o valor do recurso 24, reduz
o rendimento em ∆z = 24–26 = −2 unidades de medida.
ai
gm
1
6x + 3x ≥ 18
a) sujeito à 2x1 + 3x2 ≥ 4 b) sujeito à
1 2
m
2x1 + 3x2 ≥ 12
x ,x ≥ 0
1 2
x ,x ≥ 0
1 2
5 3
Resposta: X = (2, 1, 0, 0, 2); Wmin = 100 Resposta: X= , 0, , 0, 2 ; Wmin = 10
2 2
om
maximizar Z = 20x1 + 30x2
2x1 + 3x2 ≤ 10
l.c
1x1 + 3x2 ≤ 12
sujeito á
ai
1x1 + 2x2 ≤ 6
gm
x1 , x2 ≥ 0
@
c) Se os recursos mudarem agora para b = (15 12 6)T qual será a nova solução.
Resposta: X= (6, 0, 3, 6, 0); Zmax = 120; ∆z = 120 − 100 = +20.
m
0x1 + 3x2 ≤ 6
4x + 1x ≤ 8
1 2
sujeito á
1x1 + 0x2 ≤ 3
x ,x ≥ 0
1 2
om
Resposta: 0 ≤ b1 ≤ 24, 2 ≤ b2 ≤ 14, 3/2 ≤ b3 < ∞.
l.c
ai
Exercı́cio 4.4. Dado o problema de programação seguinte.
gm
maximizar Z = 30x1 + 40x2
2x1 + 1x2 ≤ 10
@
1x1 + 1x2 ≤ 7
o8
sujeito á
1x1 + 2x2 ≤ 12
et
x1 , x2 ≥ 0
ub
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.
c) Encontre os intervalos óptimos de oscilação dos coeficientes de x1 e x2 na função
objectivo.
Resposta: 20 ≤ c1 ≤ 40, 30 ≤ c2 ≤ 60.
om
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 = 100 − 90 = −10 u.m.
l.c
b) Se o mesmo recurso aumetar para b2 = 200, qual será o efeito.
ai
Resposta: X = (0, 80, 0, 40, 120) com Zmax = 120 e ∆z = 120 − 100 = 20 u.m.
gm
c) Se o coeficiente da função objectiva mudar de 3/2 par 2, qual será o efeito sobre a
solução do problema.
@
d) Encontre os intervalos óptimos tanto dos recursos como dos coeficientes da função
objectiva das variáveis de decisão que estão na base.
et
3 3 520
Resposta: ≤ c1 ≤ , 1 ≤ c2 ≤ 2 120 ≤ b1 ≤ , 100 ≤ b2 ≤ 160.
ub
4 2 3
um
T
3 1 1
Resposta: ai2 = , Bi = (15 9 3)T , ∆2 = 6 e Zmax = 120.
2 2 2
b) Se o preço relativo a variável x1 alterar de 8 para 10, qual será a nova solução do
problema.
Resposta: X = (15, 0, 0, 9, 3) com Zmax = 150, ∆z = 150 − 120 = 30 u.m.
om
x1 , x2 , x3 , x4 ≥ 0
l.c
a) Resolva o problema e apresente a solução óptima.
ai
Resposta: X = (4, 0, 5, 0, 0, 0) com Zmax = 43.
gm
b) Verificar a optimidade da solução, se os coeficientes de x2 forem mudados de (1 2)T
para (2 2)T .
@
6x + 2x2 ≤ 36
1
sujeito à 2x1 + 4x2 ≤ 32
x1 , x2 ≥ 0
Tabela T
maximizar Z = 3x1 + 2x2 Base x1 x2 x3 x4 Bi
4x + 3x2 ≤ 120
1
sujeito á 1x1 + 3x2 ≤ 60 x1 1 3/4 1/4 0 30
x4 0 9/4 -1/4 1 30
x ,x ≥ 0
1 2
om
Z 0 1/4 3/4 0 90
l.c
a) Se os recursos forem alterados de b = (120 60)T para b = (140 40)T determine
ai
gm
a nova solução.
Resposta: X=(35, 0,0, 5), Zmax = 105 com ∆z = 105 − 90 = 15.
@
om
5.1 Introdução
l.c
O termo Programação Inteira (PI), refere-se ao estudo dos problemas de programação
ai
linear nos quais o domı́nio de todas as variáveis do problema é restritamente de va-
gm
lores inteiros, portanto, a Programação Linear Inteira (PLI) é um caso particular dos
@
porte de certos artigos onde o produto a ser transportado são garrafas, tubos, au-
ub
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 linear
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 conjunto 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 até encontrar a solução
óptima inteira.
118
Investigação Operacional
om
Exemplo 5.1. A empresa Coca Cola de Moçambique, produz dois tipos de refresco:
em lata e em garrafa. Cada lata vendida produz um lúcro de 7 unidades de medida e
l.c
cada garrafa produz um lúcro de 6 unidades de medida. A descrição das quantidades
ai
em termos de matéria-prima necessária e a capacidade máxima diária estão apresen-
gm
tados na tabela.
@
em lata em garrafa
um
Materia prima 1 2 3 12
Materia prima 2 6 5 30
m
lúcro unitário 7 6 -
Resolução
a) O modelo matemático do problema é:
maximizar Z = 7x1 + 6x2
2x + 3x2 ≤ 12
1
sujeito á 6x1 + 5x2 ≤ 30
x ∈ Z+
j 0
b) Vamos resolver primeiro o problema pelo método gráfico, sem considerar a igno-
rando a condição de que x1 e x2 devem ser quantidades inteiras.
om
r1 : x1 x2 r 2 : x1 x2 rz : x1 x2
l.c
0 4 0 6 0 0
6 0 5 0 1 -7/6
ai
gm
@
o8
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 apresentado
graficamente que o valor máximo inteiro Zm , não será superior ao valor óptimo da
primeira aproximação, isto é: Zm ≤ Zmax .
Para procurar a solução inteira, deve-se calcular o valor da função objectivo em cada
ponto da região das soluções admissı́veis para os pontos de pares de valores inteiros.
om
l.c
Tabela 5.2: Identificação da solução óptima inteira entre todas possı́veis
ai
Pontos p1 p2 p3 p4 p5 p6 p7 p8 p9
gm
x1 0 1 2 3 4 5 0 1 2
@
x2 0 0 0 0 0 0 1 1 1
o8
F.O. 0 7 14 21 28 35 6 13 20
et
ub
Pontos p10 p11 p12 p13 p14 p15 p16 p17 p18
um
x1 3 4 0 1 2 3 0 1 0
x2 1 1 2 2 2 2 3 3 4
m
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 ou mesmo impossı́vel para grande parte
dos problemas.
De um modo geral, existem dois métodos básicos que são utilizados para resolver
os problemas de programação linear inteira
om
por “Branch and Bound Method”, foram desenvolvidos por Land e Doig (1960) e
melhorados para a presente estrutura por Dakin (1965) no seu livro “A tree search
l.c
algorithm for mixed integer programming problems”. Daı́ em diante a estrutura do
ai
processo de procura da solução óptima inteira, apresentar-se na forma de uma árvore
gm
com restrições uma depois da outra.
@
Devido a dificuldade de procura da solução para os problemas de PLI, estão até agora a
o8
muitos investigadores e autores, por exemplo Taha (1975) entre outros, consideram que
o método promissor para os problemas de programação linear inteira é o Branch and
ub
que apresentar solução não inteira em dois subproblemas e resolvé-los até encontrar
uma solução viável óptima com todos os valores das variáveis inteiros incluindo o valor
m
da função objectivo.
om
mas com restrições adicionais. Por exemplo, se xi = bi onde bi não é inteiro:
- No subproblema 1 adiciona-se a restrição xi ≤ [bi ]
l.c
- No subproblema 2 adiciona-se a restrição xi ≥ [bi ]+1, onde [bi ] é a parte inteira de bi .
ai
Passo 3. Resolver os dois novos problemas de programação linear criados pela adição
gm
de novas restrições.
@
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
de uma nova restrição na análise de sensibilidade. Para que a decisão de sondagem se
torne clara pode-se recorrer ao método gráfico.
Observações
• Só se bifurca uma variável de cada vez e se acrescenta uma restrição em cada
om
subproblema.
l.c
• Quando há mais de uma variável candidata a bifurcação, recomenda-se escolher
ai
a variável que apresentar a parte fraccionária próxima de 0.5 ou que tiver o
gm
maior coeficiente na função objectivo para maximização (menor coeficiente para
minimização).
@
• O problema de programação linear inteira, pode ter mais de uma solução óptima,
o8
1
sujeito á 6x1 + 5x2 ≤ 30
x ∈ Z+
j 0
Resolução
A primeira aproximação é: SPL = {x1 = 3.75, x2 = 1.5, Zmax = 35.25}.
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
bifurcar porque tem parte fraccionária próxima ou igual a 0.5, Portanto B.x2 = 1.5.
subproblema 1 subproblema 2
maximizar Z = 7x1 + 6x2 maximizar Z = 7x1 + 6x2
2x1 + 3x2 ≤ 12
2x1 + 3x2 ≤ 12
6x + 5x ≤ 30
6x + 5x ≤ 30
1 2 1 2
sujeito á sujeito á
x2 ≤ 1
x2 ≥ 2
x ∈ Z+
x ∈ Z+
j 0 j 0
om
1 1
l.c
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
1 1
ai
x = 3.3 ⇒ nao − viavel
gm
om
Como não podemos mais bifurcar e nem podemos aumentar o valor da função ob-
l.c
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}.
ai
gm
Seguindo Dakin (1965), apresenta-se a árvore binária que ilustra as bifurcações e as
soluções das iterações realizadas até a solução óptima inteira na Figura 5.2.
@
o8
et
ub
um
m
om
Resolução
Tabela 1
l.c
ai
gm
Base x1 x2 x3 x4 Bi
x3 -2 -3 1 0 -4
@
o8
x4 -3 -2 0 1 -5
et
W -6 -5 0 0 0
ub
- (2) (2.5) - - -
um
Tabela 2
m
Base x1 x2 x3 x4 Bi
W 0 -1 0 -2 10
- - (0.6) - (2) -
Tabela 3
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}
om
Como a parte fraccionário é igual a 0.4 nas duas variáveis, recorremos aos coeficientes
l.c
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.
ai
gm
subproblema 1 subproblema 2
minimizar W = 6x1 + 5x2 minimizar W = 6x1 + 5x2
@
2x1 + 3x2 ≥ 4
2x1 + 3x2 ≥ 4
o8
3x + 2x ≥ 5
3x + 2x ≥ 5
1 2 1 2
sujeito á sujeito á
et
x2 ≤ 0
x2 ≥ 1
ub
x ∈ Z+
x ∈ Z+
j 0 j 0
um
2x + 3 ∗ 0 = 4 2x + 3 ∗ 1 = 4
1
1
3x + 2 ∗ 0 = 5 3x + 2 ∗ 1 = 5
2
1
x = 2(max) ⇒ W = 12
1 i x = 0.5
1 −
x = 1.66
1 − x = 1(max) ⇒ W = 11
1 i
om
l.c
ai
Figura 5.3: Árvore binária para o exemplo 5.3
gm
−3x1 + 2x2 ≤ 2
ub
2x1 − 4x2 ≤ 3
sujeito á
um
1x1 + 1x2 ≤ 6
xj ∈ Z0+
m
Resolução
r1 : x1 x2 r 2 : x1 x2 r 3 : x1 x2 rz : 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
0.5, por isso vamos recorrer a função objectivo Z = 2x1 − 1x2 , e bifurcar x1 por ter
maior coeficiente na função objectivo. B.x1 = 4.5.
m
subproblema 1 subproblema 2
om
l.c
(a) Subproblema 1 (b) Subproblema 2
ai
Figura 5.5: Gráficos dos subropblemas 1 e 2 do exemplo 5.4
gm
@
om
l.c
(a) Subproblema 1.1 (b) Subproblema 1.2
ai
Figura 5.6: Gráficos dos subproblemas 1.1 e 1.2 do exemplo 5.4
gm
@
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+
j 0 j 0
om
l.c
ai
gm
@
o8
et
om
Dado um problema da programação linear inteira na forma canónica ou padrão:
l.c
Passo 1. Resolver o problema de programação linear ignorando a restrição de que a
ai
solução óptima deve ser inteira, até obter a tabela terminal simplex (1a aproximação).
gm
Passo 2. Para construir a nova restrição, deve-se escolher da tabela terminal simplex
um
qualquer linha que tenha a solução não inteira xj = bi . Para diminuir o número das
iterações necessárias para convergir recomenda-se escolher a linha com a maior parte
m
fraccionária.
a) Supondo que foi escolhida a linha i, a correspondente equação é, (equação 1):
X
ai1 x1 + ai2 x2 + ... + aij xj = bi ou aij xj = 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 fij e fi respectivamente. Assim,
aij = [aij ] + fij e bi = [bi ] + fi e em seguida escreve-se a nova restrição, (equação 2).
X
− fi1 x1 − fi2 x2 − ... − fij xj + xj+1 = −fi ou − fij xj = −fi (5.2)
om
Exemplo 5.6. Usando o método de Gomory e o método simplex dual-simplex como
auxiliar, resolva o seguinte problema de programação linear inteira.
l.c
maximizar Z = −1x1 + 3x2
ai
gm
1x1 − 1x2 ≤ 2
sujeito á 2x1 + 4x2 ≤ 15
@
xj ∈ Z0+
o8
et
Resolução
ub
Tabela 1
um
Base x1 x2 x3 x4 Bi
m
x3 1 1 1 0 2
x4 2 4 0 1 15
Z 1 -3 0 0 -
Tabela 2
Base x1 x2 x3 x4 Bi
om
A solução de programação linear não é inteira e conclui-se que Zm = 0 , Zm < 11.25,
3
e como para x2 e x3 temos a mesma fracção teremos que escolher a linha 2 porque
4
l.c
x2 tem maior coeficiente na função objectivo.
1 1 15
ai
x1 + 1x2 + 0x3 + x4 = , equacao 1
gm
2 4 4
@
1 1
a21 = = 0 +
um
2 2
a22 = 1 = 1 + 0
m
a23 = 0 = 0 + 0
1 1
a24 = = 0 +
4 4
Recurso = bi = [bi ] + fi
15 3
b2 = = 3 +
4 4
de folga.
1 1 3
− x1 + 0x2 + 0x3 − x4 + 1x5 = − , equacao 2
2 4 4
Tabela 1
Base x1 x2 x3 x4 x5 Bi
om
x2 1/2 1 0 1/4 0 15/4
l.c
x5 -1/2 0 0 -1/4 1 -3/4 ai
W 5/2 0 0 3/4 0 45/4
gm
@
Tabela 2
o8
Base x1 x2 x3 x4 x5 Bi
et
x3 1 0 1 0 1 5
ub
x2 0 1 0 0 1 3
um
x4 2 0 0 1 -4 3
m
W 1 0 0 0 0 9
1x + 2x2 + 3x3 ≤ 9
1
sujeito á 3x1 + 2x2 + 2x3 ≤ 15
x ∈ Z+
j 0
Resolução
Tabela 1
Base x1 x2 x3 x4 x5 Bi
x4 1 2 3 1 0 9
x5 3 2 2 0 1 15
om
Z -1 -9 -1 0 0 -
l.c
Tabela 2
ai
gm
Base x1 x2 x3 x4 x5 Bi
@
x5 2 0 -1 -1 1 6
et
9 81
um
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 vamor multiplicamos por (-1) a
equação 2 e introduzimos a variável artificial
1 1 1 1
x1 + 0x2 + x3 + x4 + 0x5 − 1x6 + a1 =
2 2 2 2
Tabela 1 1aF
Base x1 x2 x3 x4 x5 x6 a1 Bi
om
Za -1/2 0 -1/2 -1/2 0 1 0 -1/2
l.c
Tabela 2 1aF ai
Base x1 x2 x3 x4 x5 x6 a1 Bi
gm
x2 0 1 1 1/2 0 1 -1 4
@
x1 1 0 1 1 0 -2 2 1
o8
Z 0 0 9 1 0 7 -7 37
et
ub
Za 0 0 0 0 0 0 1 0
um
Tabela 1 2aF
m
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
Veja que neste exemplo, a variável x5 saiu da tabela por não ter nenhum coefici-
ente ao longo da coluna, se isso acontecer com mais variáveis, em especial variáveis de
decisão significa que este método não alcança a solução inteira.
om
a) Usando o método simplex encontre a primeira aproximação do problema de pro-
l.c
gramação linear inteira.
b) Pelo algoritmo de Corte de Gomory e o método simple dual-simplex, encontre a
ai
solução óptima do problema de programação linear inteira.
gm
Resolução
@
a) Método simplex
o8
Tabela 1
et
Base x1 x2 x3 x4 Bi
ub
x3 2 5 1 0 14
um
x4 3 2 0 1 10
Z -2 -5 0 0 -
m
Tabela 2
Base x1 x2 x3 x4 Bi
Z 0 0 1 0 14
14 4 22 2
SPL = x1 = 0, x2 = = 2 + , x3 = 0, x4 = = 4 + , Zmax = 14
5 5 5 5
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
om
Tabela 1
Base x1 x2 x3 x4 x5 Bi
l.c
x2 2/5 1 1/5 0 0 14/5
ai
gm
x4 11/5 0 -2/5 1 0 22/5
x5 -2/5 0 -1/5 0 1 -4/5
@
o8
Z 0 0 1 0 0 14
et
Tabela 2
ub
Base x1 x2 x3 x4 x5 Bi
um
x2 0 1 0 0 1 2
m
x4 0 0 -3/2 1 11/2 0
x1 1 0 1/2 0 -5/2 2
Z 0 0 1 0 0 14
Respostas:
om
a) SPL = {x1 = 2.25, x2 = 1.5, Zmax = 25.5} ⇒ X = (0,3), Zm = 24
b) SPL = {x1 = 2.5, x2 = 0, Wmin = 2.5} ⇒ X = (3,0), Ws = 3
l.c
ai
Exercı́cio 5.2. Usando o método de bifurcação e limite resolva as alı́neas. Use o
gm
método gráfico como auxiliar para visualizar o domı́nio solução).
@
4x + 2x2 ≤ 10 2x + 3x2 ≤ 20
1 1
a) sujeito à 4x1 + 6x2 ≤ 18 b) sujeito à 1x1 + 3x2 ≥ 10
et
x ∈ Z+ x ∈ Z+
ub
j 0 j 0
um
Respostas:
a) SPL = {x1 = 1.5, x2 = 2, Zmax = 8.5} ⇒ X = (2,1), Zm = 8
m
Respostas:
c) SPL = {x1 = 2.5, x2 = 3.75, Zmax = 45} ⇒ X = (2,4), Zm = 44
d) SPL = {x1 = 0, x2 = 1.67, Wmin = 6.67} ⇒ X = (0,2), Ws = 8
Respostas:
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 = (4,3), Zm = 13
om
maximizar Z = 50x1 + 30x2
maximizar Z = 2x1 − 4x2 + 1x3
2x1 + 4x2 ≤ 8
l.c
1x − 1x2 + 0x3 ≤ 12
1
5x + 2x ≤ 10
1 2
c) sujeito à 0x1 + 2x2 + 3x3 ≤ 28 d)
ai
sujeito à
1x1 + 6x2 ≤ 12
gm
x ∈ Z+
j 0
x ∈ Z+
j 0
@
Respostas:
o8
Problemas de transporte e
afectação
om
l.c
6.1 Introdução
ai
gm
rar um conjunto de máquinas como autocarros ou aviões numa rede permissı́vel com
o8
mas de transporte, estão ligados a autores como Kantorovich que em 1939 publicou
m
145
Investigação Operacional
• Uma variante, desta situação, é aquela em que os produtos não vão directamente
da fonte ao consumidor, eles passam por outras fontes ou destinos (transporte
om
com transbordo ou indirecto).
l.c
• A última variante, é o caso em que se tem um certo número de serviços que
ai
devem ser executados por pessoas, máquinas ou empresas, e cada conjunto ta-
refa - máquina tem seu custo associado de execução da tarefa (problemas de
gm
afectação ou assignação).
@
O que temos em comum nestes três casos é a rede de transporte ligando fontes aos
o8
destinos. Neste capı́tulo, vai-se considerar com maior detalhe o primeiro caso, por este
et
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
absorver uma quantidade bj . E sabe-se que, o custo de transportar de uma unidade
da fonte i para o destino j é cij . O objectivo do administrador é determinar o número
de unidades que devem ser transportadas de cada fonte para cada destino de forma
a minimizar o custo total de transporte. Este problema pode ser representado no se-
guinte esquema.
om
l.c
ai
gm
Como o número de unidades a transportar de uma fábrica (Origem i) para uma loja
et
(Destino j) deve ser um número inteiro, então, os problemas podem ser apresentados
ub
n X
X m
Optimizar Z = cij xij
m
m i=1 j=1
X
xij = ai , i = 1, 2, ..., n
j=1
Xn
xij = bj , j = 1, 2, ..., m
sujeito à i=1
Xn Xm
ai = bj
i=1 j=1
xij ∈ Z +
0
Onde
om
a) Problema de transporte balanceados ou equilibrados, são aqueles em que o total da
l.c
oferta é igual ao total da procura e
b) Problemas de transporte não balanceados, os não equilibrados, quando as somas
ai
da oferta e da procura são diferentes.
gm
nha solução, para os problemas não balanceados são introduzidas origens e destinos
o8
fictı́cios com custo zero (cij = 0), de modo que o total da oferta seja igual ao total da
et
procura.
ub
Esta formulação do problema bem como a sua interpretação dão origem a um quadro
m
om
Origem n xn1 xn2 ... xnm an
Procura b1 b2 ... bm Σai = Σbj
l.c
ai
Exemplo 6.1. Considere uma empresa com duas fábricas que processam mensal-
gm
teira.
c) Construir o quadro modelo do problema de transporte.
um
Resolução
m
a) Neste problema temos duas origens e três destinos como a figura apresenta.
om
l.c
b) Modelo de programação linear
minimizar W = 10x11 + 3x12 + 5x13 + 12x21 + 7x22 + 9x23
ai
x11 + x12 + x13 = 15
gm
x21 + x22 + x23 = 25
@
x + x = 20
11 21
sujeito á
o8
x12 + x22 = 10
et
x13 + x23 = 10
ub
x ∈ Z+
ij 0
um
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
2. Método de Custo mı́nimo (lúcro máximo) (Low Cust Method - LCM).
l.c
3. Método de Aproximação de Vogel (Vogel Approximation Method - VAM).
ai
b) Depois de obtida a primeira aproximação é necessário verificar se a primeira apro-
gm
ximação é solução óptima ou não. Caso não seja procura-se melhorar movimentando
@
as quantidades alocadas para células não ocupadas. Para isso existem dois métodos:
o8
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 quan-
tidade da oferta já foi distribuida pelos destinos. E por coluna satisfeita, se toda a
quantidade necessária num destino já foi recebida).
• se x11 = a1 ⇒ x21 = b1 − a1
• se x11 = b1 ⇒ x12 = a1 − b1
Exemplo 6.2. Usando o método de canto noroeste resolva o exemplo 6.1 e apre-
om
sente o custo total.
l.c
Resolução
ai
gm
Como temos Σai = Σbj = 40, não é necessário introduzir colunas nem linhas fictı́cias.
@
D1 D2 D3 Oferta
o8
10 3 5
et
O1 15 - - 15
ub
12 7 9
um
O2 5 10 10 25
Procura 20 10 10 40
m
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
- 1 2 3 4
A 42 40 40
l.c
44
ai
B 46 31 38 35
gm
C 30 38 46 41
@
Resolução:
o8
1 2 3 4 Oferta
um
42 40 40 44
A 60 30 - - 90
m
46 31 38 35
B - 20 90 - 110
30 38 46 41
C - - - 50 50
Procura 60 50 90 50 250
L1 70 60 60 60
L2 50 80 60 70
om
L3 80 50 80 60
Resolução
l.c
ai
Como Σai = 80 + 100 + 50 = 230 e Σbj = 50 + 40 + 60 + 40 = 190, temos que intro-
gm
duzir um destino fictı́cio bm+1 que necessita de 40 unidades com um custo unitário de
transporte igual a zero. Portanto, b5 = 230 − 190 = 40.
@
o8
A B C D E* Oferta
et
70 60 60 60 0
ub
L1 50 30 - - - 80
um
50 80 60 70 0
m
L2 - 10 60 30 - 100
80 50 80 60 0
L3 - - - 10 40 50
Procura 50 40 60 40 40 230
CT = 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 B, 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
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 3. Repetir o processo para as variáveis com outros custos na ordem cres-
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:
Comparando os dois métodos, pode-se observar que, diminuimos de 370 para 340,
o que significa de que com o método de canto noroeste 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 de-
om
terminada mercadoria nas quantidades 75, 150 e 100 toneladas respectivamente. Esta
mercadoria deve ser enviada para cinco consumidores C1, C2, C3, C4, e C5, que ne-
l.c
cessitam de 100, 60, 40, 75 e 75 toneladas respectivamente. Os custos de transporte
ai
por tonelada entre as várias 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
um
de transporte mı́nimo.
Resolução
Σai = 325, Σbj = 350, precisamos origem fictı́cia 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
- 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
@
CT = 75*1 + 35*4 + 40*2 + 75*4 + 40*1 + 60*0 + 25*0 = 635 unidades de medida.
ub
Observações
um
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 maxi-
mizar 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.
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
20 22 14
gm
F1 28 8 4 40
@
15 20 13
o8
F2 - - 50 50
et
ub
22 23 18
F3 - 30 - 30
um
Procura 28 38 54 120
m
20 22 14
F1 28 12 - 40
15 20 13
Å
F2 - 26 24 50
22 23 18
F3 - - 30 30
om
Procura 28 38 54 120
l.c
Z = ΣΣcij × xij = 1884 ai
gm
Mais uma vez, a solução é melhor com o método de lúcro máximo do que o método
de canto noroeste. Em geral, este método apresenta uma solução mais próxima da
@
dade pi (linha) ou pj (coluna) e respresenta o custo de oportunidade por não ter usado
a melhor rota).
om
com o menor custo unitário (maior lúcro unitário para os problemas de maximização),
xij = min{ai , bj }.
l.c
ai
Passo 4. Eliminar a linha ou coluna que estiver completamente satisfeita depois
gm
desta alocação. A eliminação é feita colocando x0 s ou um traço nas células que não
devem participar mais nos próximos cálculos das penalidades.
@
o8
de 60, 50, 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.
m
- 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 oferta > procura, precismos 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
pj 12 7 2 6 0
om
12 7 2 6 -
l.c
4 9 2 9 -
ai
4 - 2 9 -
gm
4 - 2 - -
@
A penalidade máxima nesta série é de 40, é por isso que escolheu-se a linha 1 (li-
um
nha A) e alocou-se com 10 unidades na posição x15 . Tendo sido satisfeita a coluna 5
colocou-se {-} e repetiu-se o cálculo das segundas penalidades.
m
Exemplo 6.9. Uma empresa possui 4 armazéns onde dispõe de 18, 4, 6, 12 tone-
ladas 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
Resolução
om
Σai = Σbj = 40
l.c
- C1 C2 C3 C4 Oferta pi
9 7 12 8
ai
gm
A1 4 14 - - 18 1 1 1 - -
15 12 12
@
15
4
o8
A2 - - 4 - 0 0 3 3 -
et
8 9 6 12
6
ub
A3 - - 6 - 3 - - - -
14 12 11 12
um
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
* - * *
om
x + x + x = 14
11 21 31
sujeito á
x12 + x22 + x32 = 8
l.c
x13 + x23 + x33 = 12 ai
x14 + x24 + x34 = 9
gm
x ∈ Z+
ij 0
@
o8
O ojbectivo é no fim uma etapa de distribuição obter o maior lúcro possivel. Na ten-
tativa para identificar a melhor distribuição da batata pelos mercados.
et
Resolução
m
- M1 M2 M3 M4 Oferta
12 10 9 11
CP1 x11 x12 x13 x14 15
10 14 13 12
CP2 x21 x22 x23 x24 110
12 9 9 13
CP3 x31 x32 x33 x34 17
Procura 14 8 12 9 43
om
c1) Método de canto noroeste
- M1 M2 M3 M4
l.c
Oferta
ai
gm
12 10 9 11
CP1 14 1 - - 15
@
10 14 13 12
o8
CP2 - 7 4 - 10
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
Z= 14*12 + 9*9 + 8*14 + 3*13 + 8*9 + 9*13 = 517 unidades de medida
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
Definição 2. Uma solução é degenerada, quando o número de células ocupadas
l.c
for menor do que o número de linhas+número de colunas - 1 ou ncelocup < n + m–1.
ai
Esta situação pode ocorrer tanto na primeira aproximação como em qualquer fase de
melhoramento da solução.
gm
@
Quando se tem uma solução degenerada, muitas vezes não se consegue desenvolver
o teste de optimidade de solução. Para que sejam desenvolvidos os métodos de teste
o8
bastante pequena, diga-se uma infinitésima ε (lê-se épsilon), em uma ou mais células
ub
não ocupadas até que a solução seja dgenerada e considera-se que esta célula está
ocupada. Depois de encontrada a solução óptima do problema retira-se da tabela a
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 MIDI ou pelo método de Stepping Stone.
om
l.c
6.3.1 Método de MODI para o teste de optimidade de solução
ai
Determinada a primeira aproximação por qulquer um dos três métodos NWC, LCM
gm
ou VAM, para aplicar o método de MODI, é necessário seguir os seguintes passos.
Atenção verifique antes se a solução é degenerada.
@
o8
lar a zero.
Passo 4. Para todas células não ocupadas calcule os multiplicadores simplex, isto
é:. δij = cij –(ui + vj ) para xij = 0
om
Passo 1. Identificar todas as células não ocupadas ou todas as variáveis não básicas.
l.c
ai
Passo 2. Para cada célula não ocupada, traçar um circuito de avaliação tendo em
gm
conta que cada circuito deve começar e terminar na mesma variável não básica.
@
Passo 4. Para cada variável não básica conforme o circuito de avaliação, calcular
ub
o multiplicador simplex δij como soma de todos os custos ou lúcros com sinal positivo
um
e negativo, isto é: δij = Σ(+cij + Σ(−cij ) (min) ou δij = Σ(+lij + Σ(−lij ) (max).
m
Passo 5. Se todos multiplicadores simplex forem positivos ou iguais a zero (δij ≥ 0),
para minimização ou negativos ou iguais a zero (δij ≤ 0), para maximização a solução
é óptima, caso contrário, a solução deve-ser melhorada. e passe para a subsecção 6.3.3
para melhorar.
1. Identifique a célula com o menor multiplicador simplex (min δij para mini-
4. Depois desta alocação, calcule o novo custo total ou lúcro total e repita o teste
om
de 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.
gm
b) Usando o método de Stepping Stone verifique se a solução é óptima. Caso contário
realize todas iterações até obter o lúcro máximo.
@
o8
Resolução
a) Método de aproximação de Vogel
et
- A1 A2 A3 Oferta pi
ub
20 22 14
um
F1 28 - 12 40 2 6 *
m
15 20 13
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
om
x32 x32 → x33 → x23 → x22 → x32 δ32 = 23 − 18 + 13 − 20 = −2
l.c
Para um problema de maximização, como δ12 = 1 ≥ 0, significa de que a actual solução
ai
não é óptima e deve ser melhorada introduzindo a variável x12 na base. E como o
gm
mı́nimo das alocações no circuito com sinal negativo (-) é 12, então 12 é a quantidade
a somar e substrair as outras células ao longo do circuito. x12 = min{38, 12} = 12.
@
x12 = 0 + 12 = 12
ub
x22 = 38 − 12 = 26
um
x23 = 12 + 12 = 24
x13 = 12 − 12 = 0
m
- 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
LT = 28*20 + 12*22 + 26*20 + 24*13 + 30*18 = 2196, ∆z = 12 u.m
Como todos os preços de sombra (multiplicadores simplex) são negativos (∀δij ≤ 0),
m
então 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
15
om
u1 3 3 - 9
10 14 13 12
l.c
u2 11 - - - 11
ai
12 9 7 13
gm
u3 - 5 12 - 30
@
Procura 14 8 12 9 43
o8
u1 + v1 = 12
u1 = 0, v1 = 12
δ13 =9−0−8=1
u + v = 10 u1 = 0, v2 = 10 δ22 = 14 + 2 − 10 = 6
1 2
= 12 + 2 − 8 = 7
u + v = 11
1 4
u1 = 0, v4 = 11 δ
23
u2 + v1 = 10
u2 = −2, v1 = 12 δ24
= 12 + 2 − 11 = 3
u3 = −1, v2 = 10 = 12 + 1 − 12 = 1
u 3 + v 2 = 9
δ31
u3 = −1, v3 = 8 = 13 + 1 − 11 = 3
u +v =7
δ
3 3 34
Repare que para resolver o sistema, começou-se por fazer u1 = 0, porque esta variável
aparece três vezes no sistema. Em seguida, usando substituições sucessivas foram cal-
culados 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, respectiva-
mente 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
l.c
F1 92 89 90
F2 91
ai
91 95
gm
F3 87 90 92
@
Cada fornecedor está no entanto limitado pelo número de galões que pode abastecer
o8
respectivamente por mês. Estas capacidades são 100, 180 e 300 mil galões respecti-
et
Resolução
a) Método de canto noroeste
Σai = 580, Σbj = 740, precisamos uma origem fictı́cia a4 = 740 − 580 = 150
— 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
160
om
u4 - 10 150
Procura 320 270 150 740
l.c
CT = 100*92 + 180*91 + 40*87 + 260*90 10*0 + 150*0 = 52460.
ai
gm
b) precisamos 4+3-1 = 6 células ocupadas. Como temos x11 , x21 , x31 , x32 , x42 , x43 ,
@
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
= 91 − 91 − 3 = 3
u +v
3 1 = 87 u = 87, v = 0
3 1
δ
22
m
u3 + v2 = 90
u3 = 87, v2 = 3
δ23 = 95 − 91 − 3 = 1
u4 = −3, v2 = 3 = 92 − 87 − 3 = 2
u4 + v2 =0
δ33
u +v =0 u = −3, v = 3
δ =0+3−0=3
4 3 4 3 41
Antes: +x12 (0) − x32 (260) + x31 (40)–x11 (100), x12 = min{260, 100} = 100,
Depois: +x12 (100) − x32 (160) + x31 (140)–x11 (0), O novo quadro do problema é:
— v1 v2 v3 Oferta
92 89 90
u1 - 100 - 100
91 91 95
u2 180 - - 180
87 90 92
300
om
u3 140 160 -
0 0 0
l.c
u4 - 10 150 160 ai
Procura 320 270 150 740
gm
ub
u1 + v2 = 89
u1 = 89, v2 = 0
δ11 = 92 − 89 + 3 = 6
u2 + v1 = 91 u2 = 94, v1 = −3 δ13 = 90 − 89 − 0 = 1
um
u +v = 87 u = 90, v = −3
δ = 91 − 94 − 0 = −3N
3 1 3 1 22
m
u3 + v2 = 90
u3 = 90, v2 = 0
δ23 = 95 − 94 − 0 = 1
= 92 − 90 − 0 = 2
u4 + v2 =0 u4 = 0, v2 = 0 δ33
=0−0+3=3
u +v
4 3 =0 u = 0, v = 0
4 3
δ
41
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
160
om
u4 - 10 150
Procura 320 270 150 740
l.c
CT = 100*89 + 20*91 + 160*91 + 300*87 +10*0 + 150*0 = 51380.
ai
gm
Teste 3 de optimidade
@
o8
u1 + v2 = 89
u1 = 89, v2 = 0
δ11 = 92 − 89 − 0 = 3
u2 + v1 = 91 u2 = 91, v1 = 0 δ13 = 90 − 89 − 0 = 1
et
= 95 − 91 − 0 = 4
u +v
= 91 u = 91, v = 0 δ
ub
2 2 2 2 23
u3 + v1 = 87 u3 = 87, v1 = 0 δ32 = 90 − 87 − 0 = 3
um
= 92 − 87 − 0 = 5
u4 + v2 =0
u4 = 0, v2 = 0
δ33
m
=0−0−3=0
u +v
4 3 =0 u = 0, v = 0
4 3
δ
41
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.
om
Um outro tipo de problema de distribuição é o chamado problema de afectação (alocação).
l.c
O problema de afectar n - pessoas a n - tarefas é um caso particular do problema de
transporte. O modelo de programação linear para os problemas de alocação tem um
ai
custo de alocação cij da pessoa i para a tarefa j e é definido por.
gm
1 se a pessoa i realiza a tarefa j
xij =
@
0 caso contrario
o8
n X
X n
Optimizar Z = cij xij
um
n i=1 j=1
X
xij = 1, i = 1, 2, ..., n
m
j=1
n
sujeito à X
xij = 1, j = 1, 2, ..., n
i=1
xij ∈ Z +
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 pro-
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
l.c
um zero em cada linha e um zero em cada coluna, esta é a solução óptima. O valor
óptimo será Zopt = ΣΣcij × xij com xij = 1.
ai
gm
zontais ou verticais, para cortar os zeros. Começando pela linha ou coluna que tem o
maior número de zeros.
o8
et
menos zeros.
um
Q1 P1 P2 P3 min
om
Subtrair cada elemento da linha o correspondente minimo, obtém-se o quado 2.
l.c
Q2 P1 P2 ai P3
gm
E1 200 400 0
E2 0 1000 400
@
E3 0 1700 1200
o8
min 0 400 0
et
ub
om
Note que, todas células que apresentam zero significa que admitem uma alocação,
assim, as prioridades de afectação são as posições x12 na coluna de P2 e x31 na linha
l.c
de E3 por apresentarem única possibilidade. Outras células são alocadas via eliminação
ai
das possibilidades.
gm
Voltando ao quadro inicial e somando os custos das posições marcadas com zeros
@
Q1 P1 P2 P3 P4
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
Teste 3. Do quadro 5, temos r = 4 e n = 4, já temos solução óptima.
l.c
Custo total: CT = 11.1+17.4+15.9+8.2 = 52.6 unidades de medida.
ai
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 auomóveis, entre
@
outrras actividaes. Por questões de gestão do tempo de serviço, os seus clientes que
o8
podem ser outras empresas ou pessoas singulares são cobrados depoisdo serviço rea-
lizado. A empresa sabe que os seu funcionários não apresentam a mesma habilidade
et
na realização das tarefas, mas também precisa mximizar o lúcro e quanto mais tempo
ub
levar a tarefa a ser executada mais receita para a empresa. A tabela, mostra os tem-
um
pos que cada trabalhador pode levar em cada tarefa. Como os trabalhadores devem
ser distribuidos pelas actividaes de modo que o tempo total seja máximo, já que este
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
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 normalmente. 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
Lúcro total: LT = 15+20 + 16+ 17 + 16 = 84 unidades de medida.
x21 + x22 + x23 = 20
et
x + x = 30
11 21
ub
sujeito à
x12 + x22 = 20
um
x13 + x23 = 20
x ∈ Z+
m
ij 0
— 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: Ca-
pacidade de fornecimento das fontes: a1 = 25; a2 = 25; a3 = 50; capacidade de
ai
absorção dos destinos: b1 = 15; b2 = 20; b3 = 20; b4 = 45. Os custos associados ao
gm
transporte de 1 u.m da fonte i para o destino j estão no quadro.
@
10 5 6 7
o8
8 2 7 6
et
9 3 4 8
ub
a) Usando método de canto noroeste apresente a distribuição possı́vel das 100 unidades
um
pelos mercados.
m
12 10 9 11
10 14 13 12
12 9 7 13
om
b) W2 = 404. O custo total diminuiu em 97 unidades de medida.
l.c
Exercı́cio 6.4. A tabela abaixo represente a rede de distribuição de sacos de ar-
ai
roz partindo de três armazéns situados na cidade de Maputo a quatro mercados. Os
gm
armazéns têm as seguintes capacidades de armazenamento: 10, 14 e 12 mil sacos de
batata, enquanto os mercados podem absorver: 7, 7, 15, 7.
@
o8
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
l.c
Exercı́cio 6.5. Uma empresa transportadora de divresos produtos é alugada para
levar artigos de três fábricas F1, F2 e F3 para 4 armazéns A1, A2, A3 e A4 de onde
ai
são vendidos para os clientes a porta. O lúcro de transporte de uma carrada está
gm
indicado por cada rota, bem como a capacidade das fábricas e dos armazéns.
@
– A1 A2 A3 A4 Oferta
o8
F1 26 26 20 21 450
et
F2 21 24 20 21 300
ub
F3 18 20 19 20 250
um
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
a) Usando o método de aproximação de Vogel encontre a solução inicial do problema.
l.c
b) Mostre de que o problema está degenerado.
c) Pelo método de MODI, teste a optimidade da solução em a). Se não for óptima,
ai
realize as iterações necessárias e apresente a solução óptima. (Quando necessário use
gm
no máximo duas alocações fictı́cias por infinitésimas).
Resposta:
@
Exercı́cio 6.7. A empresa Pep tem 4 armazéns: A1, A2, A3 e A4 cuja capacidade
é de, respectivamente 75, 50, 60 e 15 toneladas de um determinado produto. Os seus
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
a) Usando o método do canto noroeste.
b) Usando o método de aproximação de Vogel.
l.c
Resposta:
a) W1 = 1845 u.m.
ai
gm
b) W2 = 1375 u.m, ∆w = 470 u.m.
@
B4 com, respectivamente, 150, 200, 100 e 150 soldados, e tem como missão atacar
3 alvos diferentes. Os soldados apresentam diferentes especialidades, portanto, com
et
preencheu o seguinte quadro com as toneladas de munições que podem ser disparados
para cada alvo, provenientes de cada base.
um
m
– A1 A2 A3
B1 2 6 5
B2 3 8 9
B3 10 7 7
B4 8 4 7
Sabendo que se pretendem afectar 200 soldários 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
maximiza a quantidade de munições disparados.
Resposta:
a) NWC: Q1 = 3400 toneladas de munições,
b) VAM: Q2 = 4800 toneladas de munições; ∆Q = 1400 toneladas de munições.
om
Gabinete 1 14 15 10 17 12
Gabinete 2 12 18 11 16 9
Procura 3 6 8
l.c 4 21
ai
gm
a) Estabeleça a solução inicial usando o método de aproximação de Vogel.
b) Usando o método de Stepping Stone, verifique se a solução é óptima, Caso nao seja,
@
Resposta:
et
Exercı́cio 6.10. Uma empresa tem três armazéns nas cidades de Maputo, Beira
e Nampula, e tem lojas nas cidades de Xai-Xai, Chimoio, Quelimane e Inhambane.
m
– X C Q I Oferta
Armazém 1 38 30 30 45 17
Armazém 2 60 25 50 32 32
Armazém 3 42 20 16 70 30
Procura 10 14 15 28
om
– Bruços Mariposa Costas Livre
João 2.3 3.0
l.c
2.7 2.1
ai
António 2.5 2.5 2.6 2.0
gm
a) Usando o método Húngaro, determine que estilo cada nadador deverá fazer dentro
et
da equipa de modo a alcançar o menor tempo para percorrer os 200 metros no conjunto
ub
dos 4 percursos.
um
Starlet) que lhe parecem adequados aos 5 potenciais compradores. Numa tentativa de
ponderar as suas preferências, o vendedor construiu o seguinte quadro onde colocou as
ordens de preferência numa escala de de 1 á 50 pontos de cada comprador em relação
a cada um dos carros.
om
E 30 50 30 40 40
l.c
Usando o método Húngaro, apresente a melhor distribuição dos carros para os 5 in-
ai
divı́duos por forma a maximizar a satisfação de cada um.
gm
Resposta:
A → TOYOTA, B → Y10, C → BX, D → R5 GTL, E → UNO.
@
o8
Exercı́cio 6.13. Uma empresa de segurança está a treinar os seus agentes em termo
de flexibilidade, rapidez, velocidade entre outras exigências que a empresa usa nas suas
et
das operações estão identificadas 6 áreas mais fortes que os polı́cias devem ser mais
um
– A1 A2 A3 A4 A5 A6
E1 21 5 21 15 15 28
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 especi-
alidades de modo a minimizar o tempo de intervenção total.
Resposta:
As dustribuição deverá ser: E1A5, E2A4, E3A2, E4A6, E5A3 e E6A1, com TT = 58
minutos.
om
– A1 A2 A3 A4 A5
T1 10 15 10 15 13
T2 12 8 20 16
l.c15
ai
T3 12 9 12 18 16
gm
T4 6 12 15 17 12
@
T5 16 12 8 12 9
o8
Resposta
A distribuição dos trabalhadores é: T1A4, T2A2, T3A3, T4A1, T5A5 e o tempo
um
mı́nimo de 50 minutos.
m
Programação Dinámica
om
l.c
ai
gm
@
o8
et
ub
um
m
194
Bibliografia
[1] Akoff, R.L. e Sasieni, M.W. (1968). Fundamentals of Operations Research. John
Waley & Sans, Inc. USA.
om
[2] Andrade, E.L. (1998). Introdução à Pesquisa Operacional – métodos e modelos
para a análise de decisão, 2a edição, editora LTC, RJ Brasil.
l.c
[3] Barnett, R.A. e Michael, R.Z. (1990). Finite Mathematics for Business, Econo-
ai
mics, Life science and Social sciences. 5th edition, USA.
gm
[4] Churchman, C.W. (1971). The Design of Inquiring Systems, Basic Concepts of
@
[5] Dakin,R.J.(1965). A Tree Search Algorithm for Mixed Integer Programming Pro-
et
[9] Gale, D., Kuhn, H.W. e Tucker, A.W.(1951). Linear Programming and the The-
ory of Games. Activity analysis of production and allocation, 13, pp.317–335.
[10] Gomory, R.E. (1958). Outline of an Algorithm for Integer Solutions to Linear
Programs. Bulletin of the American mathematical Society, 64(5), pp. 275 – 278.
195
Investigação Operacional
[11] Hitchcock, F.L. (1941). The Distribution of a Product from Several Sources to
Numerous Localities, Journal of Mathematics and Physics, 20, pp. 224–230.
[14] Koopmans, T.C. (1947). Optimum Utilization of the Transport system. Econo-
metrica, 17, pp. 136–146.
om
[15] Kuhn, H.W. (1955). The Hungarian Method for the Assignment Problem. In:
l.c
Naval Research Logistics Quartely. 2(1-2), pp. 83 –97.
ai
[16] Land, A.H e Doig, A.G.(1960). An Automatic Method of Solving Discrete Pro-
gm
gramming Problems. Econometrica, 28(3), pp. 497–520.
[17] Render, B., Stair, Jr.R., Hanna, M.E.(2012). Quantitative Analysis for Manage-
@
[18] Taha, H.A. (2007). Operations Research - an introduction. 8th edition, Prentice
et