Você está na página 1de 519

OTIMIZAO COMBINATRIA E

PROGRAMAO LINEAR
Modelos e Algoritmos

Preencha a ficha de cadastro no final deste


livro e receba gratuitamente
informaes sobre os lanamentos
e as promoes da Elsevier.
Consulte nosso catlogo completo,
ltimos lanamentos e servios no site
www.elsevier.com.br

OTIMIZAO COMBINATRIA E
PROGRAMAO LINEAR
Modelos e Algoritmos

2005, Elsevier Editora Ltda.


Todos os direitos reservados e protegidos pela Lei no 9.610 de 19/02/1998.
Nenhuma parte deste livro, sem autorizao prvia por escrito da editora,
poder ser reproduzida ou transmitida sejam quais forem os meios empregados:
eletrnicos, mecnicos, fotogrficos, gravao ou quaisquer outros.

Editorao Eletrnica
Estdio Castellani
Reviso Grfica
Roberto Mauro Facce
Singular Tradues e Servios Editoriais
Projeto Grfico
Elsevier Editora Ltda.
Conhecimento sem Fronteiras
Rua Sete de Setembro, 111 16 andar
20050-006 Centro Rio de Janeiro RJ Brasil
Rua Quintana, 753 8 andar
04569-011 Brooklin So Paulo SP Brasil
Servio de Atendimento ao Cliente
0800-0265340
sac@elsevier.com.br
ISBN 978-85-352-1520-5
Nota: Muito zelo e tcnica foram empregados na edio desta obra. No entanto, podem ocorrer erros de digitao,
impresso ou dvida conceitual. Em qualquer das hipteses, solicitamos a comunicao ao nosso Servio de
Atendimento ao Cliente, para que possamos esclarecer ou encaminhar a questo.
Nem a editora nem o autor assumem qualquer responsabilidade por eventuais danos ou perdas a pessoas
ou bens, originados do uso desta publicao.

CIP-Brasil. Catalogao na fonte.


Sindicato Nacional dos Editores de Livros, RJ
G654o
2.ed.
Goldbarg, Marco Cesar
Otimizao combinatria e programao linear: modelos e
algoritmos / Marco Cesar Goldbarg, Henrique Pacca L. Luna.
-2.ed. Rio de Janeiro: Elsevier, 2005 10a reimpresso.
il.
Inclui bibliografia
ISBN 978-85-352-1520-5
1. Otimizao combinatria. 2. Programao linear.
I. Luna, Henrique Pacca L. (Henrique Pacca Loureiro).
II. Ttulo.
04-2886.

CDD 519.4
CDU 519.68

PREFCIO

Os autores so professores reconhecidos nas reas de otimizao, programao matemtica e pesquisa


operacional. Orientam teses de ps-graduao, lecionam disciplinas de graduao e de ps-graduao
nos assuntos tratados neste livro, publicam em revistas cientficas indexadas e exercem liderana acadmica em suas universidades.
Marcos C. Goldbarg e Henrique P. L. Luna foram felizes em lanar este livro, pois escolheram um
momento propcio em que h muitos estudantes e profissionais no Brasil interessados nos processos
cientficos de apoio deciso.
Otimizao Combinatria e Programao Linear: Modelos e Algoritmos consegue um equilbrio entre a
arte de modelagem matemtica em otimizao e os algoritmos para solucionar esses modelos. A partir
do mtodo do simplex para solucionar problemas de programao linear os autores percorrem de maneira muito didtica temas importantes como fluxo em redes, caminho mais curto em um grafo e
rvore geradora mnima de um grafo, onde o leitor ou a leitora pode perceber a necessidade ou no
de orientar um grafo. Est muito bem introduzida a noo de programao linear com variveis inteiras e suas aplicaes em problemas de deciso, nos quais algumas variveis so bivalentes (0-1). A modelagem 0-1 de grande utilidade para problemas de localizao de facilidades, concepo de redes de
servio, de percursos de veculos.
H problemas clssicos de otimizao combinatria para os quais mtodos especficos de programao linear com variveis bivalentes foram desenvolvidos. Dentre esses problemas, os autores descrevem com muita clareza os seguintes: do caixeiro viajante, de particionamento, de recobrimento, de
corte, de carregamento, de empacotamento e de percurso de veculos.
Dada a exploso combinatorial de alguns problemas de otimizao combinatria muitas vezes no
se consegue obter uma soluo tima; assim sendo, os autores consideraram tambm mtodos heursticos, com complexidade numrica polinomial, visando busca de solues boas.
O livro est bem redigido, bem ilustrado, contendo bons exerccios e uma bibliografia atualizada.
Considero um trabalho essencial para o ensino de otimizao combinatria no Brasil.
NELSON MACULAN
Secretrio de Ensino Superior do Ministrio da Educao
Professor Titular
Universidade Federal do Rio de Janeiro

INTRODUO SEGUNDA EDIO

A segunda edio do livro Otimizao Combinatria e Programao Linear: Modelos e Algoritmos chega
num momento oportuno, em que se aliam a necessidade de atualizao da matria e a maturidade dos
autores com relao obra. Cinco anos se passaram, quatro milheiros foram impressos, com uma mdia de mais de uma tiragem por ano. As melhorias agora introduzidas esto calcadas na experincia
oriunda do prprio uso do livro em sala de aula e nos comentrios de colegas professores que nos honraram com o uso da primeira edio.
Constituindo uma verso atualizada que preserva o contedo original e melhora a forma de apresentao, esta segunda edio contempla uma significativa incluso de referncias produo cientfica do primeiro lustre do novo milnio. A atualizao resultou em um saldo positivo de dezenas de pginas, com a supresso de algumas pginas do apndice que no eram referenciadas no texto principal
da primeira edio. A rica ilustrao do livro foi reorganizada com a numerao restrita ao escopo de
cada captulo, abrangendo as referncias a figuras, equaes, quadros e tabelas, que por sua vez tiveram apresentao padronizada.
A presente edio buscou principalmente atualizar as citaes bibliogrficas, especialmente no
concernente aos algoritmos de soluo dos problemas de otimizao combinatria abordados, e revisar as taxonomias utilizadas nos captulos aplicados. Por exemplo, o Captulo 9, que trata de Problemas de Roteamento, foi completamente refeito com um esquema mais atual de classificao da literatura pertinente. Por sua vez, os Captulos 8 e 10, tratando, respectivamente, do Problema do Caixeiro
Viajante e dos problemas de Cobertura, Particionamento e Localizao foram tambm enriquecidos
e atualizados. Algum material migrou de captulo, com o fim de aglutinar matrias afins e de dar maior
aderncia aos nomes que rotulam os captulos.
Esta segunda edio surge numa poca em que se consolida a ligao entre otimizao combinatria e programao linear, o que ratifica o acerto do nome do livro e a importncia da matria nele ensinada. Outra tendncia que tambm j havia sido antecipada na primeira edio se refere ao interesse
do uso de heursticas clssicas e de meta-heursticas na abordagem de problemas de otimizao combinatria. Essas duas tendncias mundiais so realadas no livro e se refletem no prprio trabalho de
pesquisa dos autores e de seus alunos de ps-graduao, cujos artigos cientficos, teses e dissertaes
possuem carter mais avanado e complementar temtica fundamentada no livro. No mbito da otimizao combinatria, busca-se um equilbrio entre o ensino de algoritmos exatos, que em regra passam pelo uso de programao linear inteira mista, e de algoritmos aproximados, que em regra hoje
usam meta-heursticas. O estudante deve se conscientizar que a busca da otimalidade global sempre
um ideal a ser perseguido, mas que face complexidade dos problemas do mundo real muitas vezes
necessrio cunhar um mtodo heurstico para a resoluo do problema em questo. A lio que o
bom senso, a avaliao crtica e a competncia devem prevalecer na abordagem de um problema, evitando-se tanto o medo da complexidade quanto a obsesso pela exatido.
Lanada no comeo do segundo lustre do novo milnio, esta segunda edio muito se beneficia de
uma poca em que as redes de comunicao se tornaram um agente efetivo de apoio ao ensino e pesquisa. A falta de boas bibliotecas deixou de ser, em termos de capacidade de busca de conhecimento,
um dos fatores determinantes das desigualdades regionais.

XIV

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

ELSEVIER

Do Nordeste brasileiro os autores obtiveram praticamente todo o acervo da produo cientfica,


cuja referncia fica acrescida nesta segunda edio. Naturalmente cabe ao leitor o aproveitamento direto dessa rica informao eletrnica. Nesse perodo entre a primeira e a segunda edio cresceu muito a
acessibilidade ao conhecimento gerado no mundo. O material complementar que os autores disponibilizam na Web apenas parte da informao que o leitor mais interessado deve recuperar. Nosso meio
acadmico precisa ser incentivado a tirar maior proveito da gratuidade de ricas fontes de informao
pela Internet e, principalmente, do pagamento e difuso pela CAPES das edies eletrnicas dos principais peridicos cientficos.
H muitos exerccios resolvidos no livro e, embora a maioria dos exerccios propostos sejam tratveis, h todo grau de dificuldade nos exerccios sugeridos, alguns constituindo em si problemas para
dissertaes de mestrado ou mesmo teses de doutorado. normal, portanto, que haja alguns exerccios
em aberto, e o leitor professor ou aluno deve entender que nesses casos a resoluo pode eventualmente ser obtida depois de um esforo de pesquisa que ainda no foi empreendido nem mesmo pelos autores. Nesse sentido, o livro deve ser entendido como um trampolim para a atividade de pesquisa, e por
isso que serve tambm a cursos de ps-graduao.
A propsito, alm do stio da editora, o leitor interessado tambm pode recuperar informao
em repositrios de cursos de ps-graduao e de laboratrios de pesquisa. Inclusive, a CAPES
atualmente recomenda transparncia e contedo eletrnico para todo curso de ps-graduao, disponibilizando na rede seu material de ensino e incentivando homepages dos prprios alunos, nas
quais devem exibir seus exerccios resolvidos e seus trabalhos de computao cientfica. Essa recomendao adotada no Programa de Ps-Graduao em Modelagem Computacional de Conhecimento da UFAL, em Macei (http://www.tci.ufal.br/mcc). Em particular, nesse programa esto lanando suas homepages os onze alunos matriculados no segundo semestre de 2004 da disciplina de
Otimizao Contnua e Combinatria, ministrada pelo autor Henrique Pacca L. Luna, na qual nosso livro adotado, e os alunos devem rodar em diferentes pacotes de otimizao muitos dos exerccios resolvidos e propostos no livro. Devido a uma grande quantidade de informao, com o devido cuidado, o leitor pode usar diretamente esse tipo de homepage como fonte de informao complementar para o livro. Outra fonte de carter complementar est nos stios de laboratrios de pesquisa e do CNPq, em particular do sistema Lattes, no qual se encontram currculos e diretrios de
grupos de pesquisa brasileiros. Em particular, o Ncleo de Excelncia em Otimizao de Sistemas
Complexos, que articula um consrcio de pesquisa de instituies nordestinas, mineiras e francesas, e disponibiliza material digital em http://nexos.tci.ufal.br, em que se encontram artigos, teses,
dissertaes, palestras, figuras, modelos computacionais e exerccios resolvidos de nossos livros e
notas de aula.
Reafirmamos nossos agradecimentos a todos que foram citados explcita ou implicitamente na
introduo primeira edio. A eles se somam colegas de ensino e alunos de graduao e de
ps-graduao, dos quais muitos se graduaram ou viraram mestres e doutores nesse perodo de cinco anos entre a primeira e a segunda edio do livro. Os colegas professores da rea continuam aqui
representados pelo professor Nelson Maculan, hoje Secretrio de Educao Superior do MEC, que
muito nos honrou com a apresentao do livro. A professora Elizabeth Ferreira Gouveia, da UFRN,
nos ajudou tambm nesta segunda edio e merece um agradecimento especial. Dessa vez tambm,
apesar de todo o esforo de reviso, erros que eventualmente persistirem so de responsabilidade
dos autores, que continuam disposio, por meio dos endereos eletrnicos gold@dimap.ufrn.br e
pacca@tci.ufal.br para receber crticas e sugestes. E finalmente agradecemos aos leitores, cujo interesse suscitou a viabilidade econmica desta segunda edio num tema que tanto nos fascina.
Marco C. Goldbarg
Henrique P. L. Luna
novembro de 2004

INTRODUO PRIMEIRA EDIO

A utilizao do ferramental da Pesquisa Operacional na promoo da eficincia e eficcia organizacional em todos os nveis da gesto uma realidade tornada vivel pelo microcomputador e pelo avano do estado da arte. De fato, a relevncia da rea de sistemas de apoio deciso vem crescendo com o
advento das estaes de trabalho, que a um baixo custo, e com maior proximidade fsica dos executivos, oferecem capacidade de clculo, de armazenamento e recursos grficos antes disponveis apenas
em mquinas de grande porte.
Dentro desse cenrio, torna-se cada vez mais crucial o pleno domnio desse ferramental, especialmente pelos profissionais das reas de cincias exatas e de administrao. Nesse sentido o presente trabalho foi elaborado para facilitar o acesso e o domnio das tcnicas de otimizao combinatria e programao linear.
O livro busca cobrir uma lacuna existente na literatura nacional no que diz respeito ao desenvolvimento de habilidades necessrias modelagem matemtica e soluo de importantes problemas de
otimizao. O objetivo principal desta obra propiciar subsdios tcnicos, descrever modelos matemticos, debater algoritmos de soluo e sugerir temas de aplicao, dentro da viso quantitativa de anlise do fenmeno de tomada de deciso, principalmente aos alunos de graduao das engenharias, cursos de administrao e de cincia da computao.
Aceito como um texto introdutrio, o livro poder ser utilizado tambm no contexto da psgraduao. Objetivando tal possibilidade, vasta e atualizada a reviso bibliogrfica que acompanha
cada tema especfico, de modo que o estudante de ps-graduao possa, com mais facilidade, alcanar
o aprofundamento necessrio.
O contedo programtico coberto pelos Captulos de 1 a 5 engloba o que normalmente exigido
em disciplinas que so denominadas classicamente como Pesquisa Operacional, Otimizao de Sistemas de Engenharia, Programao Linear etc. O professor dessas disciplinas de graduao poder
tambm optar pela substituio do Captulo 5 pelas partes iniciais dos Captulos 6 e 7, principalmente
se o curso contar com apenas uma disciplina bsica nessa rea do conhecimento.
O contedo dos Captulos 6 a 10 aborda temas em otimizao combinatria que so objeto de disciplinas como Otimizao Combinatria, Algoritmos em Grafos, Fluxos em Redes etc. Essa segunda parte do livro contm material um pouco mais avanado, servindo tipicamente a disciplinas optativas de nossos cursos de graduao ou a disciplinas de ps-graduao.
Dessa forma o texto foi organizado para auxiliar os docentes no decurso de sua tarefa de incentivar
e facilitar o processo de construo do conhecimento dos alunos, por meio da disponibilizao de um
arcabouo de consulta adequado, consistente e compacto.
Uma outra caracterstica marcante deste trabalho so as vrias aplicaes prticas retiradas da realidade brasileira, o que permite aproximar a disciplina ao dia-a-dia do estudante, aumentando o incentivo motivao. No mbito da programao linear, o livro caracterizado pelo uso intensivo de interpretao econmica do mtodo simplex e das relaes de dualidade e sensibilidade. A ideia insistir
no ponto de que as ferramentas de otimizao indicam as atividades de maior produtividade nas empresas, e de que o uso dessas ferramentas tambm indicam os preos de maior competitividade.
No mbito da otimizao combinatria, como o prprio nome indica, o livro se caracteriza pela
apresentao dos problemas atravs do uso deliberado de formulaes de programao linear inteira
mista. Alm do interesse terico, a formulao de problemas combinatrios atravs da programao in-

XVI

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

ELSEVIER

teira abre caminho para o uso dos eficientes pacotes comerciais de programao matemtica, cujo
avano na soluo exata de importantes problemas prticos tem sido marcante. Mesmo para heursticas que dispensam a formulao de programao linear inteira, avaliaes de qualidade de soluo podem ser feitas muitas vezes mediante o uso de relaxao do problema de programao linear.
Lanado na virada do milnio, o livro se beneficia de uma poca em que as redes de comunicao
se tornaram um agente efetivo de apoio ao ensino, inserindo-se em uma proposta da editora em disponibilizar material complementar por meio da Internet, principalmente para os professores cadastrados. Mais detalhes sero fornecidos no site correspondente, em funo da dinmica da interao com
professores e alunos. Para ajud-lo a obter o mximo proveito deste livro, colocamos alguns cones associados aos exerccios resolvidos e a resolver. Assim, os smbolos J, K, L, M e N indicam o grau de dificuldade do exerccio, em ordem crescente.
O material desta primeira edio foi experimentado e revisado durante um ano, em disciplinas de
graduao e de ps-graduao, tanto na UFRN quanto na UFMG. A lista seria muito longa, mas agradecemos com ateno especial a todos esses alunos que serviram de cobaias. Alguns colegas da rea nos
ajudaram de diferentes formas, e entendemos que todos esto aqui representados pelo Professor Nelson
Maculan, que muito nos honra com a apresentao do livro. Um papel importante tambm coube ao pessoal de monitoria das disciplinas de Pesquisa Operacional da UFMG durante o ano de 1999. O doutorando Ricardo Poley Martins Ferreira produziu uma srie de transparncias que permitiram o acompanhamento do livro nas aulas. A mestranda Renata Couto Moreira (renatacm@lapo.dcc.ufmg) e o graduando
Adriano Csar Machado Pereira (adrianoc@dcc.ufmg.br) continuam trabalhando conosco no apoio ao ensino e na produo de material didtico, principalmente na resoluo de exerccios. Foi graas a esse pessoal de apoio que pudemos disponibilizar material complementar pela Internet.
professora Elizabeth Ferreira Gouva nossos agradecimentos pelas importantes observaes feitas na fase da reviso final.
Apesar de todo o esforo de reviso, erros que eventualmente persistirem so naturalmente de responsabilidade dos autores, que se colocam disposio, por meio dos endereos eletrnicos gold@dimap.ufrn.br
e pacca@dcc.ufmg.br, para receber observaes, crticas e sugestes julgadas oportunas. Esperamos que o livro contribua para o apoio ao ensino dessa rea do conhecimento que tanto nos fascina.
M. C. Goldbarg
H. P. L. Luna
novembro de 1999

MODELAGEM
DE PROBLEMAS

1.1 PRINCPIOS DO PROCESSO DE MODELAGEM


1.1.1 Conceito Intuitivo de Modelo
O homem sempre desejou entender o seu planeta e o mundo em geral. As imposies da sobrevivncia
assim o determinaram. Rodeada de elementos materiais, a primeira necessidade da humanidade foi conquistar o domnio de seu meio ambiente. A segurana contra predadores e fenmenos naturais, a busca
da alimentao, a organizao social dos ncleos humanos etc. despertaram os primeiros questionamentos do homem, privilegiando a ao sobre o concreto. medida que as necessidades do esprito humano
foram se tornando mais complexas, cresceram as carncias por aperfeioar o processo de compreenso
do mundo. J na Antiguidade, inmeras e sofisticadas estruturas de abstrao foram se apresentando
para representar as propriedades e os diversos graus de interao entre os vrios interferentes desse
todo. Na impossibilidade de lidar diretamente com a complexidade do mundo, o homem tem se mostrado cada vez mais hbil na criao de metforas para a representao e soluo de sua relao com esse
mesmo mundo.
Esse processo de busca de uma viso bem estruturada da realidade (esclarecimento) fundamentalmente um fenmeno de modelagem. A palavra modelo pode ter diversos significados. Modelo como
representao substitutiva da realidade distingue-se do verbo modelar. O verbo introduz a ideia de simulao da realidade, que mais ampla que a simples representao.
Um modelo um veculo para uma viso bem estruturada da realidade. Um modelo pode tambm ser
visto, com os devidos cuidados, como uma representao substitutiva da realidade.
Todos ns j lidamos com modelos, mesmo em ocasies nais quais no possuamos a mnima conscincia disso. Quando explicamos algo a uma pessoa usando fotografias ou grficos, ou quando representamos planos ou slidos atravs de equaes matemticas, nada mais estamos fazendo do que
transmitir e interpretar a estranha realidade atravs de metforas de substituio ou modelos.
A Geometria Euclidiana um modelo que satisfaz a um conjunto de axiomas, ou a um modelo de
contexto axiomtico. De forma semelhante, nessa linha podemos identificar outros modelos que vo
desde as transformadas de Laplace e sua Mcanique Cleste at a Teoria Quntica e o tomo de Bohr.
Obviamente no existem somente modelos axiomticos. O contexto epistemolgico um exemplo disso. Lidando com o concreto ou abordando o imaginrio, a mente do homem trabalha com estruturas de
substituio que visam a facilitar o raciocnio, estruturas essas que denominaremos genericamente
de modelos.
Os modelos, para serem implementveis, devem ser livres de pequenos detalhes onerosos. Nessa
abordagem a importncia do equilbrio simplificao vezes validade bsica. Conclumos que:

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

Os modelos so representaes simplificadas da realidade


que preservam, para determinadas situaes e enfoques,
uma equivalncia adequada
O poder de representatividade a caracterstica do modelo que o torna desejvel. A capacidade de
simplificao lhe confere factibilidade operacional. Existem vrios critrios de medida da adequao
ou aderncia do modelo realidade representada. Em vrias ocasies a representatividade do modelo
pode ser aperfeioada de forma interativa. O processo de verificao da representatividade denominado de validao do modelo, sendo uma etapa indispensvel em qualquer procedimento cientfico.

1.1.2 Desdobramento do Conceito Tratamento da Eficincia


O conceito de modelo como uma representao substituta da realidade possui um alcance limitado. O
aspecto da eficincia fundamental. Para alcanarmos modelos eficientes, so necessrias pelo menos
trs habilidades:
4

Foco Holstico
Quando estamos procurando solucionar um problema, na maioria das ocasies a preocupao
com a concatenao e o manejo dos vrios impactos de nossa soluo sobre outros contextos
significativa. Se nossa soluo puder criar outros problemas que possam, posteriormente, anular a contribuio de nosso esforo, o foco holstico indispensvel.

Tratamento Ecltico da Dimenso da Anlise


Os mtodos de soluo a serem utilizados devem ser o mais livremente dispostos. Epistemologia e Axiologia no devem ser consideradas bases de modelagem dicotmicas, mas sim complementares. A construo de modelos um processo que possui, como Jano, duas faces: o rosto
que articula a teoria (hipottico-dedutivo) e a face que representa a validade da deduo (indutiva) na prtica.

Traduo Adequada
Um bom modelo exige uma conveniente traduo contextual. Uma boa traduo contextual
pode ser expressa atravs de um correto isomorfismo entre o fenmeno e seu modelo. A Figura
1.1 esclarece o processo de traduo, ressaltando seu aspecto simplificador e estruturador.
Foco
Simplificador
Traduo

Modelo

Realidade
Complexa

FIGURA 1.1 O processo de traduo.

Obviamente nem todos os problemas so iguais. O processo de traduo contextual deve ser capaz
de identificar os elementos fundamentais da questo e transport-los para uma representao capaz de
ser manipulada por artifcios ou mtodos de soluo. As dificuldades dos processos de traduo e soluo so de naturezas diferentes, contudo profundamente interferentes. A traduo visa claramente a

MODELAGEM DE PROBLEMAS

cooperar com uma certa abordagem de soluo. Na medida em que a traduo produz uma representao mais ou menos tratvel pelos mtodos existentes, a utilizabilidade do modelo definida. O conceito que representa esse fenmeno de interferncia da traduo na possibilidade de soluo denominado de complexidade.
Modelos menos complexos ou simples so mais facilmente abordados por mtodos empricos,
ao passo que modelos complexos dificilmente deixaro de necessitar do apoio das tcnicas hipottico-dedutivas. Observamos que a facilidade de compreenso do modelo, ou sua inteligibilidade, no
pode ser confundida com a sua complexidade de soluo. Alguns dos mais difceis problemas combinatrios possuem modelos de faclimo entendimento e representao, mas de extraordinria dificuldade de soluo. Nesse sentido, indispensvel esclarecer melhor o fenmeno da complexidade.

1.1.3 Desdobramento do Conceito Tratamento da Complexidade


Para definirmos complexidade escolheremos identificar as propriedades que ocasionam e interferem com o fenmeno. Essa opo permite uma viso bastante operacional sem prejudicar um possvel
aprofundamento terico. O primeiro aspecto a destacar na constituio da complexidade de um modelo sua permeabilidade ao meio ambiente circunvizinho. Um modelo simples possui um permetro
de interferncia simples e bem definido. Um segundo ponto diz respeito sua estrutura interna. Um
modelo simples possui uma estrutura homognea, uma morfologia uniforme e um nmero reduzido
de variveis. A ltima dimenso engloba a dinmica, correspondendo considerao de como a estrutura interna se altera ao longo do tempo.
Analisando essas trs dimenses principais, a saber (ver Figura 2):

Meio Ambiente.
Domnio.
Dinmica.
Diremos que um modelo simples quando:

pouco influenciado pelas variaes em seu meio ambiente.


estruturalmente estvel, homogneo e possui poucas variveis.
Possui comportamento facilmente previsvel.
1.2 O METAMODELO SISTMICO
1.2.1 Conceito de Sistema
Coube Engenharia de Sistemas uma significativa parcela de contribuio no processo de estruturar e sistematizar os esforos de modelagem. Como esclarecemos anteriormente, o fenmeno de
produo de traduo para as entidades do mundo real uma atividade extremamente complexa e
dificilmente passvel de realizao em uma s etapa. O Metamodelo Sistmico1 surge como uma
proposta interessante no sentido de auxiliar, no mais alto nvel, o processo de traduo.
O conceito de sistema permite a configurao de um extremamente til pr-mapeamento entre a realidade e o modelo de representao. Dentro da abordagem sistmica, modelar significa representar a realidade ou os sistemas originais atravs de outros sistemas de substituio, estruturados e comparveis, denominados modelos.
1 Usamos o termo metamodelo porque esse modelo uma grande abordagem que suporta a elaborao de outros mode-

los mais especficos.

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

ELSEVIER

Definimos sistema como qualquer unidade conceitual ou fsica,


composta de partes inter-relacionadas, interatuantes
e interdependentes
Sistemas so componentes no atmicos (sob o ponto de vista da observao) de um determinado universo. Os sistemas, de uma forma geral, possuem ainda as seguintes propriedades:
4

Simbiose interna ou propriedade de compartilhar funes que torna cada parte indispensvel
dentro da constituio do sistema.

Simbiose externa ou propriedade de ser um componente participante e indispensvel (pelo menos em tese) de um ecossistema social.

Sinergia ou o efeito multiplicador que permite ao sistema alcanar patamares de desempenho


superior ao obtido pela soma do desempenho de cada parte isolada.

Homeostase ou a capacidade de conservar seu estado de equilbrio.

Entropia negativa ou a capacidade de importar a energia necessria de seu ecossistema social


para compensar a natural degradao entrpica e realizar autoajustes em direo ao equilbrio
organizacional meio ambiente.

Outro elemento fundamental no conceito a concepo da propriedade recursiva. As partes de um sistema podem ser igualmente consideradas subsistemas gozando da mesma natureza de propriedades
previstas para o todo. Essa propriedade permite uma enorme flexibilidade de raciocnio. Com essa poderosa ferramenta, muitas situaes complexas da realidade, antes de difcil abordagem, puderam ser
organizadas conceitualmente com facilidade. Na verdade a abordagem sistmica facilitou muito o
processo de representao da realidade e, em consequncia, sua melhor compreenso.
Podemos denominar de modelo cada interpretao de um
sistema formal criado axiomaticamente
No processo de representao substitutiva, muitos so os fatores a considerar. Na verdade, praticamente impossvel levar em conta todos os elementos intervenientes em um problema real. Como o
objetivo bsico do processo alcanar uma compreenso aceitvel da realidade, os modelos devem ser
formulados de modo a captarem apenas os elementos fundamentais no processo de traduo, simplificando ao mximo o mtodo de soluo a ser utilizado.
Os modelos possuem diversas vantagens, alm do fato de simplificarem a representao de determinado sistema. Os modelos podem revelar relacionamentos no aparentes, bem como facilitar a experimentao (ou o aprendizado por tentativa e erro controlado), o que no , normalmente, vivel em
sistemas reais. Como a estrutura do modelo independe dos dados de operao ou instncia, a anlise
altamente auxiliada. Procurando satisfazer aos requisitos de qualidade, modelos quantitativos de otimizao buscam alternativas de mxima produtividade e, alguns deles, determinam automaticamente
preos de mxima competitividade.

1.3 MODELOS DE OTIMIZAO


1.3.1 O Contexto dos Modelos de Otimizao
Um modelo no igual realidade, mas suficientemente similar para que as concluses obtidas atravs
de sua anlise e/ou operao possam ser estendidas realidade.
Em consequncia, para a formalizao desse modelo indispensvel definir:

MODELAGEM DE PROBLEMAS

A estrutura relacional do sistema representado.

O comportamento funcional de cada subsistema ou componente atmico.

Os fluxos de inter-relacionamento.

Como nosso objetivo perseguir uma proposta factvel de modelagem, vamos examinar as condies para executar uma boa traduo luz da complexidade. A Figura 1.2 resume as trs dimenses debatidas no item nmero 1 e que representam as possibilidades de aplicao prtica da abordagem sistmica (Suntherland [1975] e Bertalanffy [1968]).
Dinmica
Indeterminado

Estocstico

Poucas Variveis
e Homogeneidade

Determinstico

Muitas Variveis
e Heterogeneidade

Domnio
Tratvel

Intratvel

Meio Ambiente
FIGURA 1.2 Dimenses da complexidade de modelos.

claro que o icongrafo da figura pode ser aplicado para a anlise de toda a sorte de sistemas, inclusive os socioeconmicos (que podem representar uma sociedade ou um pas). Concentrando-nos
no objetivo do presente trabalho, os modelos de otimizao, podemos identificar sua rea de restrio face complexidade de traduo entre os dois planos representados pela Figura 1.3. O plano interior, que define modelos determinsticos, tratveis e de pequeno porte, denominado plano dos mecanismos.
A estrutura relacional dos sistemas modelados pode ser representada por desenhos ou smbolos.
O comportamento funcional pode ser representado por funes de desempenho em que as possveis entradas nos subsistemas so associadas s sadas geradas pelo mesmo.
Da prpria definio de modelo e de seus objetivos, derivam as principais caractersticas dos modelos de otimizao:
4

O primeiro tema se refere obteno das propriedades analticas do modelo.

O segundo tema est na nfase em uma melhoria mensurvel no processo. Nesse ponto so envolvidos conceitos de otimizao face s possibilidades de o problema possuir mais de uma soluo
possvel. Os modelos de otimizao so normalmente amparados em variveis quantitativas
bem definidas como o icongrafo evidencia.

O terceiro tema o reconhecimento explcito das interaes no modelo e sobre o modelo.

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

Dinmica
Indeterminado

Estocstico

Muitas Variveis
e Heterogeneidade

Determinstico

Domnio
Tratvel

Intratvel

Meio Ambiente
FIGURA 1.3 Espao vivel para a atuao dos modelos de otimizao.

Um problema de otimizao contnua pode ser formalizado matematicamente da seguinte forma (ver
Luenberger [1984]):
Minimizar f(x)
sujeito a:
hi(x) = 0,
gj(x) 0,

i = 1, ..., mh
j = 1, ..., mg

x n
Em que f: n , h: n e g: n so funes contnuas, geralmente diferenciveis em problemas tratveis de grande porte. Dado um conjunto finito E = {1, 2, 3, ..., n} e uma coleo de subconjuntos F de E expresso como:
F 2 E
e uma funo objetivo:
C:F
um problema de otimizao discreta pode ser entendido como o desejo de obter um conjunto S* F satisfazendo:
C(S*) C(S), "S F
C(S*) C(S), "S F

(problema de maximizao)
(problema de minimizao)

e sujeito a uma srie de restries.


S tambm denominada uma configurao do problema. S* chamada a melhor dentre todas as configuraes segundo o critrio de otimizao C(S). F o espao das configuraes. C a funo objetivo. Essa
formalizao bastante geral, obviamente voltaremos a esse modelo adotando as nomenclaturas clssicas
para as configuraes S (denominadas tambm solues viveis) e F (espao das solues viveis).

MODELAGEM DE PROBLEMAS

1.4 CLASSIFICAO DE MODELOS


Os modelos podem ser construdos sob diversas arquiteturas. Como muitos so os enfoques pelos
quais podemos abordar o processo de construo de modelos, podemos distinguir vrias classificaes
possveis:

Classificao Quanto Natureza do Modelo


A Figura 1.4 apresenta uma classificao quanto natureza dos modelos:
Fsicos
Concretos

Modelos

Geomtricos
Matemticos

Abstratos

Lgicos
Esquemticos

FIGURA 1.4 Uma classificao geral dos modelos.

1.4.1 Classificao Quanto s Propriedades dos Modelos


Pode-se abordar a classificao dos modelos pelas propriedades que os mesmos so capazes de representar. Sob esse aspecto, segundo Ackoff (1971), destacam-se os seguintes grupos:

Modelos icnicos.

Modelos analgicos.

Modelos simblicos.

Nos modelos icnicos as propriedades relevantes dos objetos reais so representadas como tais. Nesse tipo de modelo, uma das mais significativas diferenas entre a realidade e o modelo est na escala.
Os modelos icnicos so imagens da realidade. Alguns exemplos desse tipo de modelo so as fotografias e os mapas. Os modelos icnicos so, geralmente, concretos e de manipulao experimental difcil.
Os modelos analgicos usam um conjunto de propriedades inerentes ao modelo para representar o
conjunto de propriedades da realidade. Um exemplo clssico a substituio de sistemas hidrulicos por
eltricos. Os grafos so modelos analgicos que utilizam grandezas geomtricas e posies no plano para
representar diversas variveis e suas relaes, representando, em muitas situaes, problemas de deciso.
Os modelos simblicos usam letras, nmeros e outros smbolos para representar as variveis e suas relaes. Em grande parte dos casos, tomam a forma de relaes lgicas ou matemticas (equaes). De uma
forma geral, todos os modelos e, em especial, os modelos simblicos so desenvolvidos de uma forma interativa por aproximaes. Os fluxogramas e os DFD (Diagrama de Fluxo de Dados) so tpicos modelos
simblicos desenvolvidos, normalmente, em etapas de aproximao. Os modelos elaborados nas primeiras fases da modelagem so, muitas vezes, denominados de modelos conceituais. Nesses modelos conceituais, no raro as relaes entre os elementos do sistema so descritas de forma qualitativa. Os DFD e as Redes de Petri so exemplos disso. Em otimizao objetiva-se, sempre que possvel, a construo de modelos
simblicos porque permitem o tratamento quantitativo do sistema e de suas propriedades.

1.4.2 Classificao Quanto s Variveis Controladas


Uma outra importante distino entre os modelos pode ser feita atravs da natureza das variveis envolvidas. Alguns modelos possuem variveis controlveis, outros no. Em geral, os modelos com variveis controlveis so explanatrios, e os demais, descritivos.

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

1.4.3 Classificao de Emshoff (1970)


Segundo Emshoff, os modelos podem ser classificados como:
4

Descritivos.

Fsicos.

Simblicos.

Procedimentais.

Os modelos descritivos so expressos em linguagem corrente. So muito limitados, uma vez que seu
mtodo de predio interno.
Os modelos fsicos variam desde as representaes em miniatura para organizao de layout at
os tneis de vento. Possuem alto custo e so muito especficos.
Os modelos procedimentais podem ser tambm denominados de simulao.

1.5 O PROCESSO DE MODELAGEM


1.5.1 Passos para a Modelagem
possvel, de uma forma bastante geral, resumir o processo de modelagem ou de construo de modelos
na tica operacional, pelos passos sugeridos pelo fluxograma da Figura 1.5.
A definio do problema uma das fases mais importantes do processo e compreende a clara percepo do desafio colocado. O problema deve ser traduzido em elementos palpveis englobando:
4

Objetivos.

Variveis de deciso ou controle.

Nveis de detalhe.

Definio do Problema

Formulao e Construo
do Modelo Inicial

Simulao do Modelo

Validao do Modelo

Reformulao do Modelo

Aplicao do Modelo

FIGURA 1.5 O processo de construo de modelos.

MODELAGEM DE PROBLEMAS

O segredo do sucesso do modelo de otimizao depende da adequao de sua traduo, tambm


denominada formulao. O prprio termo formular, largamente empregado para exprimir o processo de construo de modelos de otimizao, traz consigo uma enorme carga quantitativa e matemtica. Por outro lado, a adequao pretendida depende tambm de elementos que escapam ao contedo
estritamente tcnico, envolvendo a percepo do elaborador do modelo (ou equipe de elaborao),
uma faculdade cognitiva de alto nvel. As frmulas ou equaes do modelo no existem prontas e acabadas na natureza, elas tm de ser identificadas ou criadas. Estranhamente, o rigor da traduo obtido
atravs de processos pouco rigorosos ou conhecidos, envolvendo:
4

Intuio.

Experincia.

Criatividade.

Poder de sntese etc.

Temos da duas consequncias imediatas para o desenvolvimento de modelos:


4

Existe uma enorme dificuldade de modelar o processo de formulao.

Existe uma forte tendncia a considerar a atividade de formulao de um modelo como uma arte.

A abordagem artstica do fenmeno de formulao tem suas justificativas, mas ela poder trazer
em si um elemento perverso: deslocar o foco do desenvolvimento das tcnicas de modelagem para um
contexto pouco conhecido e controlvel. Se, por um lado, a construo de um modelo inegavelmente
uma atividade subjetiva, podendo exigir caractersticas inatas do modelador, por outro, na maioria das
ocasies, conjugar o verbo modelar implicar um esforo absolutamente tcnico. Apesar do lado genial
e quase mstico, na maioria dos casos da vida real, os fatores predominantes da elaborao sero conhecimentos e habilidades paroquiais, cuja aprendizagem e desenvolvimento estaro perfeitamente ao alcance do indivduo mediano.
Na fase de formulao do modelo de otimizao so definidos os tipos de variveis a utilizar na representao, bem como o nvel apropriado de agregao dessas variveis. Ainda na formulao devem ser
representadas as restries do problema, tanto as quantitativas como as de natureza lgica. O modelo dever ser adequado natureza dos dados de entrada e de sada, bem como ser capaz de expressar as funes de desempenho que possivelmente sero exigidas no processo de otimizao. As funes de desempenho, via de regra, sero denominadas de funes objetivo. A formulao ser completada com o
estabelecimento das hipteses de representao que iro orientar a escolha e a possvel utilizao de modelos j existentes e de tcnicas de soluo (exatas, heursticas etc.) para o caso.
A construo de modelos determina a incluso de parmetros e constantes que sero responsveis
pela definio e dimensionamento das relaes entre as variveis do modelo (constantes de similaridade).
Na fase de validao do modelo, cumpre comparar seu comportamento com a realidade e, se necessrio, atuar sobre esses elementos de forma a aproximar ao mximo o comportamento do sistema modelo
ao do sistema real.

1.5.2 Padres para a Construo de Modelos de Otimizao


Apesar de no considerarmos a tcnica de construo de modelos como verdadeiramente uma arte, dificilmente seria possvel reunir em um algoritmo especfico e autocontido todos os passos indispensveis para modelarmos um sistema genrico. Buscando o equilbrio entre a arte e a tcnica, podemos
propor uma sistematizao, se no completa, pelo menos parcial desse processo. Segundo Ackoff
(1971), podero ser considerados cinco padres de construo de modelos:
Padro 1: quando a estrutura do sistema suficientemente simples e evidente para ser compreendida por
inspeo. Nesse caso, o modelo pode ser construdo com facilidade, o que no significa que no possa

10

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

ELSEVIER

ser muito difcil ou at mesmo impossvel avaliar as variveis no controladas e diversos outros parmetros. O nmero de variveis controladas pode tambm tornar impossvel a soluo prtica do problema. O padro 1 de modelagem aplica-se claramente aos sistemas pertencentes ao plano do mecanismo do icongrafo da Figura 1.3.
Padro 2: quando a estrutura do sistema relativamente aparente, mas a representao simblica no to aparente. Nessa situao, a busca de um sistema anlogo com estrutura j conhecida uma boa opo. O
sistema anlogo poder auxiliar na descoberta das propriedades do sistema em estudo.
Exemplificamos a aplicao do padro 2 no caso do modelo de simulated annealing, em que os mximos de uma complexa funo so pesquisados atravs de uma analogia com o processo de recozimento de certos materiais.
Padro 3: quando a estrutura do sistema no aparente, contudo, uma anlise estatstica do mesmo pode
atender ao desejado. Nesse caso, o sistema considerado uma caixa preta, em que conhecemos, com segurana, as respostas para determinados estmulos.
Padro 4: quando a estrutura do sistema no aparente e nem possvel isolar os efeitos das diversas variveis
atravs de uma anlise estatstica. Nesse caso, uma boa poltica ser o projeto de experimentos, de forma a
determinar variveis e correlaes relevantes e reduzir o caso ao padro 3.
Padro 5: quando verificamos as situaes do padro 4, porm as experimentaes possveis sobre o modelo
so limitadas para o fim desejado. Ser o fim da linha? Nesse caso, existem ainda os modelos de conflitos
e jogos de operaes (ver Ackoff [1971]). Se isso ainda no for suficiente, ento a dimenso criativa da
modelagem deve ser ativada.

1.6 MODELAGEM MATEMTICA


1.6.1 Fundamentos da Modelagem Matemtica
Conceitos Bsicos
As tcnicas e algoritmos que abordaremos no presente trabalho destinam-se a estruturar e a solucionar os modelos quantitativos que podem ser expressos matematicamente. Nesse ramo do conhecimento humano, destaca-se a Pesquisa Operacional (PO), uma tradicional disciplina que congrega diversas das mais consagradas tcnicas da modelagem matemtica. Os modelos de PO so estruturados de forma lgica e amparados no ferramental matemtico de representao, objetivando claramente a determinao das melhores condies de funcionamento para os sistemas representados. Os
principais modelos de PO so denominados de Programao Matemtica e constituem uma das mais
importantes variedades dos modelos quantitativos. Inicialmente, cabe desfazer uma pequena dvida que pode ocorrer aos iniciantes, especialmente devido ao uso da palavra programao. Programao aqui entendida no sentido de planejamento. Apesar do termo ter se consagrado ultimamente como associado ao processo de comando computacional ou programao computacional, ele
igualmente adequado para expressar as atividades genricas de programao de atividades. Inevitavelmente, contudo, a Programao Matemtica ir implicar programao computacional, uma vez
que o nmero de variveis de deciso e restries enorme na prtica. Obviamente, isso ser levado
em conta pela modelagem e pelas tcnicas de soluo empregadas. No momento oportuno ressaltaremos esse fato.
O campo da Programao Matemtica enorme, e suas tcnicas consagraram-se em face sua
grande utilidade na soluo de problemas de otimizao. Em virtude das vrias peculiaridades
inerentes aos diversos contextos de programao (planejamento), os mtodos de soluo sofreram
especializaes e particularizaes. O processo de modelagem matemtica, em si, pouco varia;
contudo, as tcnicas de soluo acabaram agrupadas em vrias subreas como:

MODELAGEM DE PROBLEMAS

11

Programao Linear
Um caso particular dos modelos de programao em que as variveis so contnuas e apresentam comportamento linear, tanto em relao s restries como funo objetivo. Caso extremamente importante devido eficincia dos algoritmos de soluo existentes e possibilidade da transformao dos
modelos de Programao No-linear em modelos de Programao Linear. A literatura nessa classe de
problemas particularmente rica, cabendo citar, entre os autores brasileiros, Barroso e Ellenrieder
(1971), Puccini (1975), Maculan e Pereira (1980), Humes e Humes (1987) e Gonzaga (1989).

Programao No linear
Um modelo de otimizao constitui um problema de Programao No linear se exibir qualquer tipo
de no linearidade, seja na funo objetivo ou em qualquer de suas restries. A introduo de no linearidade bem tratvel nos casos de convexidade, situao em que se preservam propriedades importantes tanto sob a tica da Programao Matemtica como da teoria econmica. Em tais casos, algoritmos eficientes podem resolver grandes problemas reais, e o comportamento descentralizado de maximizao de lucros fica sintonizado com a maximizao do benefcio social lquido no setor econmico em questo.

Programao Inteira
Um modelo de otimizao constitui um problema de Programao Inteira se qualquer varivel no puder assumir valores contnuos, ficando condicionada a assumir valores discretos. O requisito de que
variveis tenham de ser inteiras normalmente implica maior complexidade computacional do que a
oriunda de situaes de no linearidade de funes. O livro de Maculan (1978) uma tradicional referncia da literatura brasileira nessa rea.
Cada tpico relacionado desenvolve tcnicas e modelos especficos para a soluo de uma famlia de problemas do mundo real. Muitas dessas tcnicas e modelos encontram abordagens similares
em outros campos do conhecimento. Um exemplo disso so algumas tcnicas de busca da Programao Inteira que utilizam metforas como a da evoluo gentica ou do resfriamento de metais.

1.6.2 As Situaes de Tomadas de Deciso e o Contexto da Programao Matemtica


Sem dvida, o estudo por diletantismo um atrativo para algumas pessoas, mas no para todas. De
fato a maioria das pessoas sente-se mais motivada ao estudo quando capaz de vislumbrar que o conhecimento adquirido ser til, far diferena em sua vida. Imaginamos ser esse o caso do leitor. Antes
de nos debruarmos sobre as elegantes e, eventualmente, trabalhosas tcnicas de Programao Matemtica, convm estabelecer o convencimento de sua utilidade. Nesse ponto, interessante responder
seguinte pergunta:
Em que situaes da vida real poderemos utilizar
a Programao Matemtica?
A Programao Matemtica, na prtica, fortemente direcionada ao apoio da tomada de deciso no
gerenciamento de sistemas de grande porte, especialmente no que diz respeito ao tratamento de variveis quantificadas. A tcnica permite a modelagem de inter-relaes entre variveis que dificilmente seriam visveis de forma intuitiva. Com a utilizao dos meios de processamento automtico de dados, os
chamados programas de Programao Matemtica podem examinar inmeras configuraes viveis do
problema proposto pelo tomador de deciso e selecionar, dentro de certos critrios, as melhores.
A tomada de deciso um tema de grande importncia no mundo atual. Decises e aes so o
produto final do trabalho de gerentes, executivos, engenheiros e polticos. A tomada de deciso o ato

12

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

ELSEVIER

de selecionar, dentre vrias decises possveis, a mais adequada para o alcance de certo objetivo. Precede a essa escolha, normalmente, um processo elaborado de:
4

Representao adequada das variveis e restries do problema.

Levantamento das alternativas viveis.

Estabelecimento de critrios de avaliao dessas alternativas.

Comparao das alternativas.

Anlise de impacto da tomada de deciso.

Os passos citados no so facilmente executados, uma vez que existem muitas razes e empecilhos
que obstruem o processo. Talvez o primeiro obstculo seja a prpria deficincia de informaes a respeito do ambiente e as incertezas em relao ao futuro. Um outro pacote de problemas reside nos conflitos de interesse e dificuldade de padronizao de valores de avaliao. Para superar esses desafios,
surgiu a Teoria da Deciso, uma disciplina orientada para a tomada de deciso, atravs de uma abordagem sistemtica, quantitativa e normativa. Assim sendo, a teoria da deciso procura explicar o comportamento do homem racional, e visa ao desenvolvimento de mtodos e tcnicas capazes de auxiliar
os decisores a realizarem escolhas de uma forma eficiente e eficaz.
Podemos contextualizar a Teoria da Deciso como uma disciplina que incorpora a Teoria de Utilidade, a Teoria de Probabilidade e a Pesquisa Operacional. A Teoria da Utilidade visa ao estudo de uma base
comum para a comparao de valores e riscos diferentes, propiciando o conhecimento de preferncias
de agentes econmicos. A Teoria da Probabilidade fornece um mecanismo para lidar com incerteza ou
com informaes incompletas. Finalmente, a Pesquisa Operacional visa o desenvolvimento de mtodos e tcnicas para resoluo de problemas e tomada de deciso. Os seguintes elementos so comuns
em tomada de decises, independentemente da natureza ou situao:
4

Decisor: refere-se ao indivduo ou grupo de indivduos responsvel pela escolha da estratgia a


seguir.

Objetivo: a especificao do que se pretende alcanar.

Escala de valor ou preferncia: refere-se ao critrio adotado pelo decisor para selecionar alguma
alternativa, medindo a situao ou valor de utilidade que o decisor associa a cada resultado.

Solues ou estratgias alternativas: correspondem s diferentes alternativas de ao que o decisor pode escolher.

Estado da natureza ou ambiente: refere-se condio do ambiente em que as decises esto, geralmente, fora do controle do decisor.

Resultado ou consequncia: refere-se ao resultado que pode ocorrer na implementao de uma


determinada estratgia em um determinado estado da natureza ou ambiente.

O objetivo primordial da tomada de deciso empresarial a maximizao da utilidade do decisor,


na prtica traduzida pela maximizao do lucro ou pela minimizao do custo. Esse objetivo ocorre em
qualquer das seguintes situaes em que se pode conceber o uso de um sistema de apoio tomada de
deciso:
Situao de certeza: em que se tem informaes completas, conhecendo-se a priori o resultado associado
a cada ao. Essa situao tipicamente indicada para o uso das tcnicas de Programao Matemtica.
Situao de risco ou incerteza: em que se tem informaes parciais, sabendo-se que para cada ao
podem resultar duas ou mais consequncias, cada uma associada a um estado da natureza cuja probabilidade seja conhecida. A complexidade computacional imposta por esses modelos pode nos induzir
ao uso de mtodos heursticos, em detrimento do ideal de otimizao.

MODELAGEM DE PROBLEMAS

13

Situao de conflito: aquela em que o estado da natureza substitudo por um oponente racional que
visa, ao mesmo tempo, a maximizar a sua utilidade e a minimizar a utilidade do adversrio. Tomada
de deciso em situao de conflito estudada em Teoria dos Jogos.
A Programao Matemtica tipicamente ampara a Pesquisa Operacional em seu contexto de atuao. De uma forma geral, podemos dizer que a contribuio da Programao Matemtica dentro da
modelagem e soluo de problemas de deciso direciona-se preferencialmente s situaes de certeza
permitindo, em casos reais:
4

Estabelecer melhorias mensurveis na operao do sistema.

Automatizar processos e identificar gargalos operacionais.

Fornecer pontos de referncia para a anlise e a avaliao da adequao de planos diretores e


operacionais elaborados.

Ajudar nas tomadas de decises sobre as necessidades de expanso de instalaes ou implantao de novas infraestruturas.

Desenvolver anlises comparativas de desempenho operacional.

Determinar valores de referncia para os diversos produtos em diferentes estgios da cadeia de


produo, processamento, estocagem e transporte.

Como veremos no decorrer deste trabalho, a Programao Matemtica poder ser til em quase todas as reas das atividades produtivas. Nesse ponto, estamos aptos a completar a apresentao do
grande quadro que emoldura o processo de modelagem, abordando a dimenso do fluxo das informaes que permeia a atividade. A Figura 1.6 ser til nesse sentido. O esquema complementa o fluxograma da Figura 1.5, na medida em que detalha a inter-relao entre a elaborao do modelo e o processo
cognitivo do modelador.
A fase de aquisio de conhecimento sobre o sistema normalmente iniciada atravs de uma abordagem analtica. O sistema examinado e, via de regra, decomposto em uma rede de relacionamentos
causa x efeito para que possa ter sua arquitetura e desempenho entendidos e justificados. Aps a anlise, cabe ao modelador identificar as partes mais importantes e significativas do sistema, elaborando,
para o caso, uma representao simplificada e eficiente. O processo de sntese caminha no sentido inverso ao da anlise, reorganizando as partes j analisadas anteriormente s que agora sobre uma nova
estrutura, a do modelo. A sntese elaborada sobre uma representao tentativa que vai se adaptando
na prpria medida de sua construo. Trata-se de uma etapa pouco precisa, por alguns considerada
Sntese

Decomposio

Dados

Sistema Real

Aplicao do Modelo

Feedback
Consistncia

FIGURA 1.6 Modelagem matemtica.

Informaes

14

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

como uma arte, que resulta em um modelo prottipo. Concludo o desenho do modelo, cumpre test-lo
junto ao problema real. A fase de confrontao entre o modelo e o sistema representado tambm denominada de validao, e sua aplicao prospectiva, de simulao (ver Figura 1.5). Como regra geral, a
validao exige um procedimento iterativo que vai refinando paulatinamente o ajuste entre o modelo e
a realidade. A base da validao o funcionamento do modelo quando alimentado com dados reais e
sua comparao com o desempenho do sistema original. Na maioria das ocasies, isso possvel de ser
feito, mas nem sempre. A operao de feedback ou realimentao da Figura 1.6 representa esse processo
iterativo de ajuste (ver tambm etapa de reformulao do modelo), observado sob a face da interferncia
da consolidao das informaes e sua transformao em conhecimento.

1.6.3 Caractersticas dos Modelos de Programao Matemtica


Como o processo de modelagem depende do esprito criativo do homem, talvez no possamos to
cedo definir claramente os limites dos modelos de Programao Matemtica e de suas aplicaes. Apesar disso, eles so indiscutivelmente mais habilitados a abordar o contexto tecnolgico (sugerindo-se o
uso de variveis numricas) dentro das decises em situaes de certeza. Genericamente, poderamos
dizer que seu emprego clssico seria:
Alocar de forma eficiente recursos limitados e que podem
ser disputados por atividades alternativas
Nos modelos matemticos, a representao de determinado sistema geralmente realizada por
um conjunto de equaes ou expresses matemticas. Se existem n decises quantificveis a serem tomadas, ento pode-se associar a cada deciso uma varivel do modelo denominada de forma mnemnica de varivel de deciso, cujos valores o prprio modelo dever determinar. Simbolicamente, as variveis de deciso so representadas por letras minsculas com ndices como: xi, i = 1, 2, ..., n.
Para expressar a medida da eficcia procurada, normalmente uma funo numrica das variveis de
deciso estruturada. Essa funo z = f (xi , ...., xn) normalmente denominada funo objetivo. O comportamento matemtico dessa funo pode ser o mais variado possvel. Em programao linear essa
funo e todas as restries impostas s variveis so expresses lineares.
A limitao dos recursos pode ser traduzida para o modelo atravs de restries aos valores das variveis, que podem ser expressas matematicamente por meio de equaes e inequaes.
Podemos resumir de forma sucinta os passos do processo de anlise quantitativa conforme expresso
na Figura 1.7:

Formulao do
problema

Construo do
Modelo

Execuo das
Anlises

Implementao e
Utilizao

FIGURA 1.7 Fluxo de anlise quantitativa.

Como um modelo complexo, via de regra, no pode ser elaborado em uma s etapa, as caractersticas das fases descritas na Figura 1.7 so:
A etapa da formulao ou traduo das condies do problema para o contexto de modelagem:
4

A definio de variveis controlveis (de deciso ou controle) e no controlveis (externa ou de


estado).

A elaborao da funo objetivo e do critrio de otimizao.

A formalizao das restries do modelo.

MODELAGEM DE PROBLEMAS

15

A etapa da construo do modelo engloba:


4

A elaborao da estrutura de entrada e sada de informaes.

As frmulas de inter-relao.

Os horizontes de tempo.

A etapa de execuo das anlises compreende:


4

Anlise da sensibilidade da soluo.

Levantamento da preciso dos dados.

Estudo da estabilidade computacional.

Levantamento das demais especificaes do modelo.

A etapa de implementao dos resultados e atualizao do modelo compreende:


4

Um grande processo de feedback repassando as etapas anteriores, vivenciando o uso do modelo no


sistema de produo ou prestao de servios.

Um modelo construdo da forma anteriormente descrita tambm denominado modelo de otimizao. interessante observar ainda que os modelos de otimizao, por objetivarem a reduo do contexto
em busca da simplificao, podem ser caracterizados pelas seguintes dicotomias:

Determinstico
Restrito
Monocritrio
Contnuo
Unidecisor
Univarivel
Linear
Uniobjetivo

Probabilstico
Irrestrito
Multicritrio
Discreto
Diversos decisores
Multivarivel
No linear
Multiobjetivo

1.6.4 Dificuldades de Representao na Modelagem Matemtica


A dificuldade de formular um problema semelhante de representar adequadamente um sistema do
mundo real. O primeiro nvel de dificuldade incide sobre o modelador (ou a equipe) e est associado
sua capacidade de perceber os relacionamentos entre causa e efeito e encontrar as causas fundamentais. Um segundo nvel engloba o domnio das tcnicas de representao do fenmeno em um contexto
diferente do original, o contexto do modelo. Apenas para introduzir o tema, levantaremos alguns obstculos modelagem:

Dificuldade face aos instrumentos de representao


Nem todos os fenmenos podem ser expressos em termos da lgica convencional, ou podem ter o seu
comportamento representado por meio de variveis de deciso. Eventualmente ser necessria a identificao ou a criao de variveis artificiais ou lgicas para a compatibilizao e consistncia da representao.

16

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

Dificuldade face ao grau de incerteza do comportamento das variveis


Como vimos anteriormente, existem situaes de risco e de conflito que dificultam a previso do
comportamento das variveis no futuro, mesmo quando estas esto bem definidas. Alguns fenmenos, contudo, podem ultrapassar os limites do risco e ter um comportamento imprevisvel por natureza. Tais casos so atualmente estudados dentro da Teoria do Caos. Em alguns casos, apenas parte do
problema possui essa caracterstica, o que representa um desafio ainda maior para as hipteses simplificadoras.

Dificuldade com a ferramenta de soluo


Os modelos devem ser implementveis. Na atualidade a ferramenta de consenso para a anlise quantitativa o computador. Apesar de seus extraordinrios recursos, em algumas situaes, face natureza
das variveis de deciso e de seu inter-relacionamento, mesmo ele pode ser inadequado representao necessria. Infelizmente, esse instrumento pode impor severas restries s concluses tericas de
desempenho em virtude de, por exemplo, degenerescncia numrica. A Figura 1.8 resume os hiatos
acumulados nas etapas de traduo e construo de um modelo de otimizao.
Hiato Lgico

Problema
Real

Hiato Ferramental

Modelo
Lgico

Modelo
Computacional

FIGURA 1.8 Etapas de traduo de um modelo matemtico.

As dificuldades anteriormente elencadas implicam um nmero significativo de situaes, que o


modelo acaba se afastando do ideal pretendido para a otimizao, ou por tornar-se muito complexo,
ou pelo estado da arte no dispor das tcnicas exatas necessrias. Nesse caso, os modelos podero ser
solucionados por tcnicas no necessariamente exatas denominadas de heursticas. Dessa forma,
uma tcnica heurstica admite sacrificar o ideal de perfeio sugerido pela otimizao em troca de
melhorar a eficincia de um processo de busca. Ressaltamos que essa alternativa razovel apenas
quando no existe outra alternativa computacionalmente aceitvel, ou quando o prprio modelo j
abriu mo do ideal de perfeio.
Murphy (1997) apresenta uma interessante reviso e taxonomia da evoluo dos modelos de Programao Linear. Trata-se de um texto de referncia para quem deseja iniciar o aprofundamento no
tema.

1.6.5 Outras Tcnicas para a Soluo de Sistemas de Tomada de Deciso


Nas condies em que o ideal da otimizao se torna praticamente pouco razovel, outras abordagens
se apresentam bastante competitivas. Dentre elas destacaremos: a Simulao (SM) e a Inteligncia Artificial (IA).

Simulao
A abordagem de simulao aplica-se quando situaes de incerteza ou a prpria complexidade do sistema dificulta o esforo de compreenso para o exato equacionamento do sistema, ou quando a magnitude do modelo de otimizao o torna computacionalmente invivel. Os modelos de simulao contornam ento essas dificuldades com um uso mais intensivo de dados estatsticos e com um maior esforo

MODELAGEM DE PROBLEMAS

17

de validao do modelo. A desvantagem dessa abordagem a necessidade de um esforo maior dos especialistas na identificao de solues no examinadas pelo modelo.

Inteligncia Artificial
A Inteligncia Artificial (IA) o ramo da informtica que concerne automao do comportamento inteligente. No seu surgimento as expectativas da disciplina englobavam um ramo do conhecimento que procuraria retratar a mente com o uso de simulaes no computador (ver LeDoux [1996]). Os primeiros problemas em IA envolviam jogos (o xadrez sobressaiu-se inicialmente) e provas automticas de teoremas, pois
tais problemas envolvem claramente funes cognitivas superiores. Essa tradio construiu uma ponte entre IA e PO, tanto pelo carter lgico-matemtico desses primeiros problemas, como pelas relaes entre a
lgica e a Programao Inteira (que sero exploradas no Captulo 5 deste livro). Outro ponto comum dizia
respeito ao inevitvel uso das ento emergentes tcnicas de busca em grafos. Desde ento, aprendeu-se
que inteligncia requer tambm a manipulao de uma conveniente base de conhecimento e que nenhum
computador seria rpido o suficiente para dominar a exploso combinatria decorrente desses problemas.
Essa realidade novamente uniu IA e PO na busca de algoritmos eficientes para o processamento do conhecimento. Alm de diversas questes filosficas envolvendo a prpria definio de inteligncia, conscincia
etc., a rea de IA rica em formalismos lgico-matemticos envolvendo a representao e o processamento
do conhecimento. O fundamento filosfico da disciplina desenvolveu-se principalmente associado ao funcionalismo (ver Neisser ([1976]). As tcnicas de IA e PO se complementam em vrios contextos, sendo marcante o uso, por ambas, de tcnicas heursticas.
Talvez um dos maiores obstculos integrao entre as tcnicas de PO e IA resida nas diferenas
conceituais entre os paradigmas utilizados para a representao do conhecimento em cada uma das
abordagens. O icongrafo da Figura 1.3, proposto por Suntherland (1975), pode auxiliar nessa compreenso. Os modelos de otimizao so menos sensveis dos que os de IA em relao a variaes no eixo
do domnio e mais sensveis em relao ao eixo da dinmica. Por outro lado, para ser possvel retratar
os processos mentais de tomada de deciso, mesmo na linha do funcionalismo, o aspecto da redundncia da arquitetura neuronal do crebro de difcil modelagem em ambas as tcnicas. Modernos trabalhos na linha de inteligncia computacional indicam novos paradigmas de representao do conhecimento como, por exemplo, o hologrfico. Tambm acena-se com a incluso de abordagens filosficas
mais amplas do que a proposta pelo funcionalismo (ver Emery [1969], Pribram [1976] e Teuber [1972],
[1974]).

1.7 O PAPEL DOS MODELOS QUANTITATIVOS DENTRO DA GESTO MODERNA


Apesar do contedo predominantemente especializado e tcnico deste livro, cremos ser oportuno
abordar, mesmo que rapidamente, o contexto maior em que essa tecnologia sofisticada ser empregada. Alis, essa uma tendncia cada vez mais visvel na cincia, seu questionamento em favor do fim
maior que o homem, e sua qualidade de vida. Cremos ser indispensvel despertar a conscincia para
a importncia crescente do uso intensivo das ferramentas quantitativas dentro dos sistemas produtivos da atualidade, bem como alertar para seus limites e futuros desafios.

1.7.1 O Problema da Gesto em um Mundo em Crise


O debate da busca da qualidade e produtividade como estratgia de aumento de competitividade ,
atualmente, um ponto central para a gesto. O mundo globalizado est sofrendo uma extraordinria
mutao no sentido de expandir a conscincia dos clientes. As mudanas atuais so to substanciais
que algumas empresas questionam at mesmo a natureza de seus problemas. O comportamento humano, as presses sociais, a ingerncia do estado, a ecologia etc. acabaram transformando o ambiente
organizacional em uma sopa de letras. fundamental para quem pretende investir em um ferramental
mais sofisticado para o apoio tomada de deciso ser capaz de responder bem s seguintes perguntas:

18

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

ELSEVIER

Como podemos estar certos de que de fato estaremos tratando o problema principal quando
usarmos os modelos quantitativos para solucionar nossos casos?

No seriam os modelos quantitativos muito simplificados e afastados da complexa e incerta


realidade organizacional?

Esse ponto to srio que utilizaremos as palavras do filsofo Karl R. Popper para o resumir:
Para entender um problema, temos de tentar ao menos algumas
das solues mais bvias e descobrir que elas falham;
ento, redescobrimos que existe uma dificuldade um problema
Karl R. Popper

Para podermos responder com sinceridade s perguntas anteriormente concretizadas e perceber


que na prtica a teoria diferente especialmente no caso de modelos incompletos ou mal formulados, indispensvel desenvolver a viso estratgica do papel dos modelos quantitativos dentro do processo de
suporte da tomada de deciso. Na realidade prtica, uma empresa pretende:

4 Proporcionar emprego eficiente para os fatores de produo.


4 Proporcionar um justo retorno dos fatores de entrada.
4 Satisfazer s necessidades e expectativas dos clientes em bens

e servios.
4 Proporcionar condies para a satisfao das necessidades

dos funcionrios.
4 Aumentar o bem-estar da sociedade.

Diante de um conjunto to grande de objetivos natural que se imponha o estabelecimento de


prioridades. A busca da produtividade, a nfase na otimizao de tarefas e o princpio da maximizao2 no so atratores aleatrios. As organizaes so fenmenos em que o esforo por reduzir a variabilidade de respostas uma tarefa crtica e, por isso, demanda substancial ateno e esforo. A prioridade por estabilizao de processos e previsibilidade acaba resultando em uma natural polarizao focal na otimizao de processos. claro que devemos reconhecer que existem outros importantes aspectos a considerar para se desenvolver uma boa estratgia de gesto. No apenas no ideal
quantitativo que se esgotam os problemas, o homem o foco. exatamente reconhecendo isso que
poderemos melhor entender a importncia do amparo das tcnicas de PO na tomada de deciso.
Um bom gestor deve ser capaz de perceber que nem tudo poder ser quantificado e que sua primeira prioridade , de fato, o ser humano. Um bom gestor deve saber que o material humano que far
a diferena; contudo, dever tambm saber que para atender dimenso humana, sua forma de administrar dever equilibrar o emocional com o racional. Dominar a dimenso da ao racional no uma
opo poltica ou uma boa peculiaridade pessoal, atualmente algo absolutamente indispensvel, uma
obrigao.
certo que no na otimizao de recursos que a sobrevivncia a longo prazo da empresa estar
sendo garantida, mas sem ela a organizao no tem qualquer chance no futuro. O problema da gesto

Esse princpio afirma que as organizaes procuraro sempre adquirir mais dos recursos que lhe fornecero energia
investida em produo. Isso resulta em fuses e crescimento de funes na tentativa de controlar o ambiente externo.

MODELAGEM DE PROBLEMAS

19

em um mundo globalizado tem deslocado seu eixo competitivo para a criatividade e a motivao humana, isso indiscutvel, mas cabe sempre alertar que sem fazer certo as coisas, no h como fazer as coisas
certas de modo economicamente aceitvel. Sem buscarmos o ideal da otimizao no poderemos criar
uma plataforma firme na qual a criatividade e a viso empreendedora possam se sustentar.

1.7.2 O Dilema Competitividade Vivacidade


As regras de sucesso da dcada de 1980 apontavam para um binmio que se convencionou denominar: qualidade e produtividade. Muitos de ns hoje falamos automaticamente essas palavras quando
pensamos em competitividade. Na poca em que esse binmio se difundiu, a qualidade era vista
como um elemento adjetivo do produto e um fator de atrao e valor. A produtividade, por outro
lado, abordaria o aspecto da higidez organizacional. Resumindo, poderamos dizer que produtividade
consistiria em fazer certo a coisa, enquanto qualidade em fazer a coisa certa.
Nessa viso, os modelos quantitativos estariam mais fortemente associados ao aspecto da produtividade do que ao da qualidade. Pensando assim, alguns at seriam tentados a arriscar a velha e errada mxima de que qualidade custa mais. Edward Deming, com sua extraordinria capacidade de viso, j na
dcada de 1970 sugeria a inadequao da dicotomia qualidade produtividade. O problema dos modelos mentais que eles normalmente acabam interferindo sobre a realidade que tentavam entender. Uma
viso simplista da organizao contribui para a criao de uma realidade igualmente simplista. Uma empresa pensada apenas sob um ponto de vista acaba realmente reduzindo-se a isso. Nem mquina nem
instrumento de caridade, uma empresa quase um organismo vivo que dever ser capaz de equilibrar
de forma saudvel a substncia tcnica e a excelncia na ao, com seres humanos motivados por terem
suas necessidades e expectativas respeitadas na parceria capital trabalho. H de encontrar o equilbrio.
O problema da atualidade que as empresas precisam ser cada vez mais adaptativas para sobreviver em um mundo em mudanas. Ser adaptativo no uma tarefa fcil.
A adaptao um conceito especial e oneroso, que
deve ser empregado somente quando necessrio.
G. C. Willians

Na atualidade importante saber qual a melhor estratgia a adotar para compatibilizar as respostas das empresas s constantes mudanas no meio ambiente organizacional. Nessa busca por respostas pelo menos quatro so os fatores a serem levados em conta:

Previsibilidade das mudanas


Mudanas imprevisveis normalmente no possuem respostas prontas nos esquemas organizacionais.
Nesse caso, no existe o que otimizar, h o que criar.

Complexidade dos esquemas disponveis


Quanto menor e mais simples forem os esquemas da organizao no momento da crise, menor chance
ter ela de ter sucesso com a utilizao de apenas uma estratgia de otimizao dos recursos j existentes (estratgia ofensiva).

Tempo mximo para a resposta


As estratgias demandam tempo para sua implementao. A estratgia defensiva mais rpida do que
profundas reestruturaes no tecido organizacional (estratgia evolutiva). A otimizao disponibiliza
rapidamente o melhor desempenho organizacional.

20

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

ELSEVIER

Natureza das mudanas ambientais ocorridas


Quanto mais profundas forem as mudanas, menos adequadas sero as respostas baseadas em pequenas reestruturaes.

A Estratgia da Vivacidade para sobrevivncia


Se falamos na sobrevivncia contra a concorrncia via competitividade estamos considerando que as regras que definiro o que seja a competitividade sero fixas, o que significa que estamos falando em concorrncia leal, mercado livre etc. dentro desse tipo de competio que o modelo biolgico sugere preferencialmente as estratgias defensivas de adaptao. Na realidade atual do mundo empresarial, a competio biolgica tradicional est ficando cada vez mais rara. Como a ocorrncia de mudanas ambientais na atualidade no uma hiptese possvel mas um fato esperado, uma importante concluso pode
ser alcanada em relao s conhecidas estratgias de aumento de competitividade:
As estratgias que focalizam a competitividade como soluo
esto apostando que a abordagem adaptativa defensiva
o caminho para a reduo das ameaas organizacionais.
Como nem todas as situaes de mudana so iguais, cabe pensar na possibilidade de outros padres de resposta. Usar a mesma soluo para problemas diferentes pode no ser uma boa ideia. Se o
meio ambiente muda, parece sbio o uso de uma estratgia voltada para fora da organizao, ou seja,
uma estratgia ofensiva. Isso implicaria pensar na segurana organizacional levando em conta conceitos como:
4

Promover o maior nmero possvel de esquemas diferentes em competio dentro da organizao.

Flexibilidade para a adoo dos novos esquemas.

Boa sade organizacional para suportar o constante estresse das reestruturaes.

A sobrevivncia um intrincado resultado em uma teia de relacionamento. Na tica da sobrevivncia s mudanas ambientais, o desejvel no simplesmente uma capacidade competitiva relativa
mas, em ltima anlise, uma habilidade definitiva de adaptao mais profunda ou de segunda ordem:
a vivacidade.
Vivacidade organizacional pode ser compreendida como o
resultado final obtido por um corpo saudvel, treinado e
adaptado ao seu meio ambiente.
O poder de vivacidade um resultado complexo obtido da interao dos inmeros atuadores
do ecossistema organizacional. Um detalhe interessantssimo da vivacidade que ela representa,
em ltima anlise, uma estratgia ampla para a mudana e, consequentemente, generalista. Com
ela existe uma boa capacidade de resistir concorrncia desde que o cenrio da mudana seja amplo ou intenso, incluindo a inovao (Porter [1990]). Buscando a vivacidade, o corpo organizacional se prepara para resistir fortes mudanas ambientais e ser competitivo pela inovao. Atravs
das estratgias defensivas a organizao prepara-se para ser competitiva atravs da otimizao do
antigo arcabouo.
Um aspecto importante perceber que as necessidades e expectativas de uma organizao razoavelmente complexa devem estar voltadas para ambas as ameaas: concorrncia e mudanas ambientais.
Nesse sentido a preservao da vivacidade parece ser uma necessidade mais premente do que o foco
nico na concorrncia por trs razes:

MODELAGEM DE PROBLEMAS

21

A vivacidade automaticamente traz consigo um razovel grau de competitividade.

Independe do sentido da mudana. Trata-se de uma prontido generalista para a sobrevivncia


pelo investimento no prprio organismo.

Por estar fortemente associada aos elementos internos, sobre eles repercute diretamente. A palavra competitividade pode soar como uma abstrao para o tecido organizacional, todavia a sade da entidade e suas trocas com o meio ambiente repercutem diretamente sobre as pessoas.

Um outro modo de entender a importncia da vivacidade como habilidade fundamental para a sobrevivncia perceber que a essncia dos movimentos rumo autoadaptao est muito mais associada perseguio de objetivos de compensao de desequilbrios e harmonizao com o meio ambiente,
do que do exerccio do poder em benefcio prprio. Edward Deming (Deming [1990] ) percebeu essa
verdade e por isso alertou que, de uma forma geral, a competio exacerbada , ao contrrio do que
muita gente pensa, altamente danosa tanto como cultura (Judd [1995] e Winder [1994]) como para o
aperfeioamento de um contexto. A lgica da razo ao vencedor cria perversos desequilbrios que se
encarregaro de, em ltima anlise, reduzir a vivacidade de todos os participantes do contexto. A lgica da harmonia e autoajuste ressalta que no suficiente simplesmente sobreviver. A sobrevivncia uma
habilidade para ser exercida de forma contnua e sustentvel. A lgica da luta por um lugar ao sol ou
da conquista dos primeiros postos pode no incluir os principais elementos para a sustentabilidade
dessa mesma posio. Otimizando o corpo organizacional para uma luta feroz no presente, a gesto
poder estar eliminando a possibilidade da continuidade desse organismo altamente especializado
quando as regras mudarem. O objetivo da harmonizao mais amplo e poderoso. A vivacidade como
habilidade mestre est voltada para garantir o desempenho futuro. De nada adianta vencer um combate e perder a guerra.
A capacidade de vencer a concorrncia no mantm a
vivacidade ao longo do tempo.
Vivacidade inclui a preservao da habilidade de resposta de uma organizao frente s incertezas
da fluida realidade e representa um estgio alm do domnio do mercado, lucro lquido ou aumento de
produtividade. O truque est associado identificao de atratores mais adequados e ao desenvolvimento das habilidades de ruptura e reestruturao dos esquemas de resposta. na interao com o
meio ambiente e suas peculiaridades que est a resposta. Mas, falando em segurana, seguro at quando?
Seguro at a prxima mudana...
Voltando ao ponto de debate: no centro do problema encontramos a necessidade de conduzir uma
entidade quase viva pelos caminhos ou descaminhos da nua e crua realidade. Na periferia encontramos a necessidade de perceber o que fundamental e o que acessrio nesse processo.
Quando alguma coisa mudou na Terra e fez com que os dinossauros desaparecessem, o que aconteceu no foi um problema de concorrncia. Grandes ou pequenos, carnvoros ou herbvoros, depois
de milhes de anos de continuado sucesso... todos morreram.
O que ocasionou a extino dos dinossauros no foi uma
concorrncia fraticida. Possivelmente foi uma surpreendente
mudana ambiental que os varreu da face da Terra.
O que acontece que sempre que houver uma mudana, algum saber tirar partido do fato e isso
no um problema de haver ou no haver uma guerra em curso. A capacidade de aproveitar a situao
depende da capacidade de se adequar ou at mesmo da sorte. Ter sucesso em um novo contexto completamente diferente de vencer o concorrente dentro do antigo contexto. No caso organizacional a especializao desenfreada torna o corpo organizacional pronto para o momento atual, mas acaba criando a sua maior

22

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

ELSEVIER

fragilidade futura: a falta de esquemas redundantes que possam competir para auxiliar na sua adaptao futura...
e, em algumas reas, atualmente isso parece ser to ou mais importante do que a prpria ameaa da
concorrncia. Um bom modelo de concepo de gesto deve procurar uma posio que otimize todas as variveis
do risco e no somente as associadas sobrevivncia imediatista. necessrio encontrar uma posio de
equilbrio entre a realizao dos potenciais adaptativos pela especializao e sua preservao em formato generalista para os tempos futuros.
Vivacidade representa uma posio de Especializao Flexvel.
Basicamente, o tema que estamos discutindo est relacionado a duas estratgias de sobrevivncia
com modelos mentais sutilmente diferentes. A estratgia da competitividade concentra ateno nas
ameaas da concorrncia e predadores. Seu modelo mental o da confrontao e conquista. O meio
ambiente pouco notado nos aspectos oportunsticos e mais percebido nos pontos ameaadores. As
tcnicas desse modelo de concepo do prioridade produtividade e aos impactos de curto e mdio
prazo, pois cada novo momento uma nova batalha. A ideia bsica que o futuro pertence a quem for um
vencedor no presente. Sua filosofia poderia ser resumida em dois pensamentos falaciosos:
4

Se no sobrevivermos ao hoje no chegaremos ao futuro.

Se formos sempre os primeiros, sempre estaremos vivos.

A estratgia da vivacidade concentra ateno no ser humano e na sua adequao ao meio ambiente. O impacto das aes organizacionais sobre o meio ambiente um dos fatores fundamentais na medida dessa adequao. evidente que a ameaa da concorrncia percebida como um dos componentes desse mesmo meio ambiente, contudo o modelo de resposta no obrigatoriamente a confrontao
direta e nem exige a vitria. A estratgia objetiva a harmonizao com o meio ambiente e dentro desse contexto que os concorrentes sero considerados. Na mentalidade da vivacidade o objetivo no ser o primeiro sempre e sim estar bem o tempo inteiro. O objetivo no ser o maior ou o melhor e sim estar muito bem. O alvo no conquistar todos os clientes do mundo mas os clientes certos. No necessrio ser o
campeo em todas as competies para se alcanar qualidade de vida; pelo contrrio, o estresse da luta
paranoica esvazia os louros da vitria e erradica a sade.
Esse um dos mais danosos paradigmas que a mentalidade da competitividade impe: O sucesso s
pode ser alcanado aps a vitria na guerra da concorrncia. Talvez a vitria sobre a concorrncia s possa
ser obtida com uma bela guerra, contudo os levantamentos estatsticos de desempenho no permitem
afirmar que para se alcanar uma longa, saudvel e profcua vida, obrigatoriamente algum tenha de
se envolver e vencer guerras. A histria dessa mentalidade parece estar cheia de vencedores, mas possui
poucos sobreviventes. Um trivial estudo nos mostra que os vencedores do passado simplesmente sumiram. Foram to hbeis em conquistar o mercado... e da? Seu nico legado a mentalidade que se perpetua, modelo mental que capitaliza as glrias e repassa para outros culpados os insucessos. Felizmente
nem todos pensam que os vencedores tm razo.

1.7.3 Os Modelos Quantitativos e a Vivacidade


Como ferramentas sofisticadas e poderosas, os modelos quantitativos so capazes de permitir ao tomador de deciso a necessria ampliao em seu campo de viso. As tcnicas de otimizao permitem no
mnimo:
4

O aumento do conhecimento sobre o comportamento do meio ambiente organizacional.

O aumento do conhecimento sobre a prpria organizao.

A antecipao de impactos e a simulao de polticas de ao.

A economia de meios e recursos.

MODELAGEM DE PROBLEMAS

23

Os modelos quantitativos no so capazes de, sozinhos, fazerem uma empresa vencedora na tarefa
de estar bem, mas evitam que as energias sejam gastas de forma irracional. Permitem que o tomador de
deciso possa tirar o melhor proveito possvel daquilo que ele dispe. Os modelos quantitativos no
definem uma estratgia para o futuro, mas podem ser capazes de examinar inmeros cenrios e ajudar
o gestor a informar seus sentimentos das possibilidades mais provveis. impossvel ao tecido organizacional alcanar um patamar razovel de vivacidade trabalhando longe da melhor realizao de
seus potenciais.
O papel dos modelos quantitativos no momento atual oferecer ferramentas poderosas para assistir ao tomador de deciso e proteg-lo de erros evitveis. Talvez uma das piores decises que algum
possa tomar atualmente no mundo empresarial seja subutilizar ou desconhecer o uso do ferramental
quantitativo, porque talvez no seja essa a deciso de seus concorrentes ou parceiros.

1.7.4 Concluso
No contexto descrito, em que muitas so as dvidas e poucas as certezas, os modelos quantitativos permitem a ampliao da capacidade de abordar racionalmente aquilo que assim possa ser feito. Os modelos quantitativos so poderosos instrumentos para que o gestor possa ampliar seu sentido e sua percepo, economizando energias e aproveitando oportunidades. Finalmente:
Os modelos quantitativos no tomam as decises,
mas podem torn-las muito mais claras e fceis.

MODELOS DE
PROGRAMAO LINEAR

2.1 MODELOS DE PROGRAMAO LINEAR


2.1.1 Caractersticas do Modelo de Programao Linear
Dentre os diversos modelos j citados, concentraremos nossa ateno inicialmente no modelo de Programao Linear (PL). Esse modelo bsico para a compreenso de todos os outros modelos da Programao Matemtica. Os conceitos nele firmados sero estendidos aos demais, concedendo suporte a estudos mais avanados. Uma outra vantagem desse modelo est na extraordinria eficincia dos algoritmos de soluo hoje existentes, disponibilizando alta capacidade de clculo e podendo ser facilmente
implementado at mesmo atravs de planilhas e com o auxlio de microcomputadores pessoais.
Os modelos de Programao Linear constituem um tipo especial de modelos de otimizao. Para
que um determinado sistema possa ser representado por meio de um modelo de PL, ele deve possuir
as seguintes caractersticas:
Proporcionalidade: a quantidade de recurso consumido por uma dada atividade deve ser proporcional ao nvel dessa atividade na soluo final do problema. Alm disso, o custo de cada atividade proporcional ao nvel de operao da atividade.
No Negatividade: deve ser sempre possvel desenvolver dada atividade em qualquer nvel no negativo, e qualquer proporo de um dado recurso deve sempre poder ser utilizado.
Aditividade: o custo total a soma das parcelas associadas a cada atividade.
Separabilidade: pode-se identificar de forma separada o custo (ou consumo de recursos) especfico
das operaes de cada atividade.
Um modelo de Programao Linear um modelo matemtico de otimizao no qual todas as funes so lineares da varivel contnua x.

Formulao algbrica geral


Podemos formular de uma forma geral o Problema de Programao Linear (PPL) como se segue:

26

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

ELSEVIER

Otimizar z =

cj xj

j= 1

sujeito a:
n

aij xj bi

i = 1, 2, ..., p

aij xj = bi

i = p + 1, p + 2, , m

j= 1
n

j= 1

xj 0, j = 1, 2, ..., q
xj , j = q + 1, q + 2, ..., n
Adotaremos as seguintes notaes:
M = {1, 2, ..., m}, o conjunto dos ndices das restries do problema;
N = {1, 2, ..., n} o conjunto dos ndices das variveis.
M1 M e N1 N;
A = {aij} matriz de restries;
aj j-sima coluna de A;
x = (xj), j N / vetor coluna de n componentes;
c = (cj), j N / vetor linha de n componentes;
d = (di), i M / vetor coluna de m componentes.
O termo otimizar utilizado aqui para, genericamente, representar as possibilidades de maximizar
ou minimizar a funo objetivo. O problema consiste em, dados a matriz A e os vetores b e c, achar o vetor de variveis contnuas x que satisfaa ao conjunto de restries e que otimize o valor do critrio z.

2.1.2 Formulaes Equivalentes


Alm da forma mista, existem mais duas formas distintas de se desenvolver um PPL:
Forma Cannica
Otimizar z = cx
sujeito a:
Ax b ou Ax b
x0
Forma Padro
Otimizar z = cx
sujeito a:
Ax = b
x0
sendo b 0 dado.

MODELOS DE PROGRAMAO LINEAR

27

As formulaes so absolutamente equivalentes pois atravs de operaes elementares podemos


transform-las conforme a Figura 2.1.

Cannica

Padro

Mista

FIGURA 2.1 Transformaes de formulaes.

Operaes elementares
Um mesmo modelo de PL, composto pelo conjunto de equaes anteriormente apresentadas, pode,
sem qualquer perda para suas propriedades matemticas, ser reescrito em cada uma das formas bsicas. Esse processo de traduo realizado atravs das seguintes operaes elementares:
Operao 1: mudana no critrio de otimizao, ou seja, transformao de maximizao para minimizao e vice-versa. Essa mudana pode ser realizada atravs da seguinte propriedade:
Maximizar (f(x)) corresponde a Minimizar (f(x)) e
Minimizar (f(x)) corresponde a Maximizar (f(x)).
Operao 2: transformao de uma varivel livre (xj ), em varivel no negativa. Nesse caso, a mudana exigir a substituio da varivel em transformao por duas variveis auxiliares, ambas maiores ou iguais a zero, mas cuja soma igual varivel original, ou seja:
xn = x n1 x n2 e x n1 0, x n2 0
Operao 3: transformao de desigualdades em igualdades e vice-versa. Nessa situao, temos dois casos a examinar:
4

Caso de transformao de restries de menor ou igual em restries de igualdade


Supondo a restrio que se segue:
x1 + x2 + + xn b

Para transform-la em uma restrio de igualdade, podemos introduzir uma varivel de folga xn+1 capaz de completar a desigualdade, o que permite representar a restrio da seguinte forma:
x1 + x2 + + xn + xn+1 = b,
4

xn+1 0

Caso de transformao de restries de maior ou igual em restries de igualdade


Supondo a restrio que se segue:
x1 + x2 + + xn b

28

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

Para transform-la em uma restrio de igualdade, podemos introduzir uma varivel de folga xn+1
com coeficiente negativo capaz de completar a desigualdade, passando a representar a restrio da
seguinte forma:
x1 + x2 + + xn xn+1 = b,

xn+1 0

2.2 MODELANDO PROBLEMAS ATRAVS DA PROGRAMAO LINEAR


2.2.1 Passos para a Formulao de um PPL
Podemos decompor o processo de organizao de um modelo de Programao Linear nas seguintes
etapas:
4

Definio das atividades

Aps a anlise do problema, as atividades que o compem so definidas. Normalmente, associada


a cada atividade uma unidade de medida deve ser adotada.
4

Definio dos recursos

Considerando os insumos disponveis dentro de cada atividade, determinam-se os recursos que


esto sendo usados e produzidos em cada uma.
4

Clculo dos coeficientes de insumo/produo

indispensvel estabelecer claramente como as atividades e os recursos esto relacionados em termos de recursos necessrios por unidade de atividade produzida.
4

Determinao das condies externas

Considerando que os recursos so limitados, cumpre determinar a quantidade de cada recurso disponvel para o processo modelado. Essas so as denominadas condies externas do modelo.
4

Formalizao do Modelo

Consiste em associar quantidades no negativas x1 , x2 ,..., xn a cada uma das atividades, escrever as
equaes de balanceamento e indicar o uso de cada recurso.
Para exemplificar o processo descrito anteriormente, apresentaremos agora uma srie de exemplos
simples de formulao de modelos de Programao Linear (PL). Esses problemas de formulao apresentam pequena dificuldade de traduo e objetivam exemplificar o processo de identificao de variveis e constituio da estrutura do programa. Atravs do exame das formulaes propostas, voc poder perceber as nuances bsicas da modelagem matemtica. Ao lado esquerdo de cada problema de
formulao vamos sugerir um cone conforme a seguinte escala:
J fcil
K pequeno grau de dificuldade
L razovel grau de dificuldade
M difcil
N desafio
que estar associado a sua dificuldade de elaborao. Trata-se de uma graduao subjetiva que visa apenas a permitir uma orientao ao leitor. Na Seo 2.2.2, exemplificamos modelos de PL em que todas as
variveis so contnuas, o que facilita o clculo do timo. Na Seo 2.2.3, apresentamos exemplos em que
variveis inteiras podem ser aproximadas por valores contnuos. Finalmente, na Seo 2.2.4, mostramos
exemplos em que essa aproximao no vlida, resultando nos modelos de programao linear inteira,
de muito maior dificuldade computacional.

MODELOS DE PROGRAMAO LINEAR

29

2.2.2 Exemplos de Modelagem de Problemas de PL Contnua

1 O Problema das Ligas Metlicas

Uma metalrgica deseja maximizar sua receita bruta. A Tabela 2.1 ilustra a proporo de cada material
na mistura para a obteno das ligas passveis de fabricao. O preo est cotado em Reais por tonelada
da liga fabricada. Tambm em toneladas esto expressas as restries de disponibilidade de matria-prima. Formular o modelo de Programao Matemtica.
T A B E LA 2. 1 R ES T R I ES / CUS T O S DO E XE M P L O 1

Liga Especial de Baixa


Resistncia (*)

Liga Especial de
Alta Resistncia (*)

Disponibilidade
de Matria-prima

Cobre

0,5

0,2

16 Ton

Zinco

0,25

0,3

11 Ton

Chumbo

0,25

0,5

15 Ton

R$5.000

Ton de minrio
(*)
Ton de liga

Preo de Venda
(R$ por Ton)

R$3.000

Soluo
O primeiro passo para a constituio de um modelo de Programao Matemtica normalmente diz respeito definio das variveis de deciso. Essa etapa simples quando a funo objetivo e as restries
esto diretamente associadas a essas variveis. No exemplo, o objetivo maximizar a receita de uma
produo cujos quantitativos relativos so passveis de programao. O problema est colocado exatamente no planejamento desses quantitativos; portanto, nada mais natural que as variveis do programa sejam os quantitativos das ligas produzidas.
1. Escolha da varivel de deciso
xi quantidade em toneladas produzidas da liga especial de baixa resistncia (i = 1) e especial de
alta resistncia (i = 2).
Com as variveis de deciso escolhidas devemos expressar a funo objetivo como uma funo
dessas variveis:
2. Elaborao da funo objetivo
z = Maximizar {f(x) = 3.000x1 + 5.000x2}
Receita bruta em Reais em funo da quantidade produzida em toneladas de ligas especiais de baixa e
alta resistncia.
Evidentemente, nos programas lineares as variveis de deciso devero estar sujeitas s limitaes
tecnolgicas e/ou econmicas. No presente exemplo, as restries produo das ligas esto associadas disponibilidade dos metais de composio. Como para cada metal existe um nvel de estoque mximo, teremos trs restries de disponibilidade de material. Eventualmente uma restrio pode englobar mais de uma exigncia do enunciado, outras vezes uma exigncia poder necessitar de vrias restries tecnolgicas para ser modelada.
3. Formulao das restries tecnolgicas
a) Restrio associada disponibilidade do cobre:
0,5x1 + 0,2x2 16

30

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

b) Restrio associada disponibilidade do zinco:


0,25x1 + 0,3x2 11
c) Restrio associada disponibilidade do chumbo:
0,25x1 + 0,5x2 15
Na maioria dos problemas reais as variveis s podem assumir valores nulos ou no negativos. So
exemplos tpicos variveis que englobam peso, espao, nmero de itens, configuraes, pessoas etc.
Eventualmente podemos dar sentido a valores negativos de tempo, unidades monetrias etc. Em ltima anlise, contudo, os valores negativos das variveis podem ser eliminados por convenientes transformaes de variveis dentro dos modelos de Programao Matemtica (ver Figura 2.1 e operao
elementar 2). Assim sendo, trabalharemos com variveis no negativas.
4. Restries de no negatividade
x1 0, x2 0
Chegando finalmente ao problema completo:
Maximizar z = 3.000x1 + 5.000x2
sujeito a:
0,5x1 + 0,2x2 16
0,25x1 + 0,3x2 11
0,25x1 + 0,5x2 15
x1 0, x2 0

2 O Problema da Dieta

O objetivo do presente programa determinar, em uma dieta para a reduo calrica, as quantidades
de certos alimentos que devero ser ingeridos diariamente, de modo que determinados requisitos nutricionais sejam satisfeitos a custo mnimo. Existem vrios problemas abordando esse tema, o presente
exemplo um dos mais simples possveis.
Suponha que, por motivos justificveis, uma certa dieta alimentar esteja restrita a leite desnatado,
carne magra de boi, carne de peixe e uma salada de composio bem conhecida. Sabendo-se ainda que
os requisitos nutricionais sero expressos em termos de vitaminas A, C e D e controlados por suas
quantidades mnimas (em miligramas), uma vez que so indispensveis preservao da sade da
pessoa que estar se submetendo dieta. A Tabela 2.2 resume a quantidade de cada vitamina em disponibilidade nos alimentos e a sua necessidade diria para a boa sade de uma pessoa.
T A B E LA 2. 2 R E S T R I ES DE N UT R I EN T ES NA D I E T A A L I M E NT A R D O E XE M P L O 6

Leite (litro)

Carne (kg)

Peixe (kg)

Salada (100g)

Requisito
Nutricional
Mnimo

2 mg

2 mg

10 mg

20 mg

11 mg

50 mg

20 mg

10 mg

30 mg

70 mg

80 mg

70 mg

10 mg

80 mg

250 mg

Custo

2 reais

4 reais

1,5 real

1 real

Vitamina

Formular o programa para a otimizao dos recursos envolvidos:

MODELOS DE PROGRAMAO LINEAR

31

Soluo
1. Escolha da varivel de deciso
xi quantidade do alimento do tipo i = (l-leite, c-carne, p-peixe, s-salada) a ser utilizada na dieta escolhida.
2. Elaborao da funo objetivo
z = Minimizar {f(x) = 2xl + 4xc + 1,5xp + xs}
Nmero total de unidades monetrias gastas com a dieta.
3. Formulao das restries tecnolgicas
a) Restrio associada demanda de vitamina A:
2xl + 2xc + 10xp + 20xs 11
b) Restrio associada demanda de vitamina C:
50xl + 20xc + 10xp + 30xs 70
c) Restrio associada demanda de vitamina D:
80xl + 70xc + 10xp + 80xs 250
4. Restries de no negatividade
xl 0, xc 0, xp 0, xs 0.

3 O Problema do Stio

Um sitiante est planejando sua estratgia de plantio para o prximo ano. Por informaes obtidas nos
rgos governamentais, sabe que as culturas de trigo, arroz e milho sero as mais rentveis na prxima
safra. Por experincia, sabe que a produtividade de sua terra para as culturas desejadas a constante na
Tabela 2.3:
T A B E LA 2. 3 R ES T R I ES DO PR O B L EM A D O P L A NT I O

Cultura

Produtividade em kg por m2 (experincia)

Lucro por kg de Produo


(Informaes do Governo)

Trigo

0,2

10,8 centavos

Arroz

0,3

4,2 centavos

Milho

0,4

2,03 centavos

Por falta de um local de armazenamento prprio, a produo mxima, em toneladas, est limitada
a 60. A rea cultivvel do stio de 200.000 m2. Para atender s demandas de seu prprio stio, imperativo que se plante 400 m2 de trigo, 800 m2 de arroz e 10.000 m2 de milho.

Soluo
1. Escolha da varivel de deciso
Neste exemplo poderamos ficar em dvida sobre qual varivel de deciso a utilizar: quantidade de
quilos a ser produzida em cada cultura ou rea a ser plantada. Optaremos pela rea a ser plantada calculando-se, em consequncia, as variveis em rea.
xi rea em m2 a ser plantada da cultura do tipo i = (T-Trigo, A-Arroz, M-Milho).
2. Elaborao da funo objetivo

32

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

Os coeficientes da funo objetivo devero ser calculados multiplicando-se a produtividade por quilo
pelo lucro previsto para cada quilo. O resultado do coeficiente ser uma unidade monetria, no caso, o
centavo.
z = Maximizar {f(x) = 2,16xT + 1,26xA + 0,812xM}
Lucro em centavos.
3. Formulao das restries tecnolgicas
a) Restries associadas demanda do stio (em unidade de rea m2):
xT 400
xA 800
xM 10.000
b) Restrio associada a rea total disponvel:
xT + xA + xM 200.000
c) Restrio associada ao armazenamento (em quilos):
Nesse caso teremos de utilizar os coeficientes da produtividade por unidade de rea para obter um
valor final em quilos:
0,2xT + 0,3xA + 0,4xM 60.000
4. Restries de no negatividade
xT 0, xA 0, xM 0

4 O Problema da Cooperativa Agrcola

Uma cooperativa agrcola opera trs fazendas que possuem produtividades aproximadamente iguais
entre si. A produo total por fazenda depende fundamentalmente da rea disponvel para o plantio e
da gua de irrigao. A cooperativa procura diversificar sua produo de modo que vai plantar este
ano trs tipos de cultura em cada fazenda, a saber: milho, arroz e feijo. Cada tipo de cultura demanda
por uma certa quantidade de gua. Para reduzir o conflito no uso das colheitadeiras, que so alugadas
pela cooperativa, estabeleceram-se limites de rea de produo dentro de cada tipo de cultura. Para
evitar a concorrncia entre os cooperados, acordou-se que a proporo de rea cultivada seja a mesma
para cada uma das fazendas. As Tabelas 2.4 e 2.5 resumem os dados tecnolgicos. Pede-se a elaborao
de um programa de produo que defina a rea de cada cultura que ser plantada em cada fazenda, de
modo a otimizar o lucro total da produo da cooperativa.
T A B E LA 2. 4 G UA DI SPO N V EL E R EA DE C U L T I VO P O R F A ZE ND A

Fazenda

rea Total para Cultivo (Acres)

gua Disponvel (Litros)

400

1.800

650

2.200

350

950

Soluo
1. Escolha da varivel de deciso
A varivel de deciso est imposta no prprio enunciado.
xij rea em acres que, na fazenda i (i = 1, 2, 3), ser destinada cultura j (j = M-Milho, A-Arroz, F-Feijo).

MODELOS DE PROGRAMAO LINEAR

33

TABELA 2.5 CONSUMO DE GUA, REA DE CULTIVO E LUCRO POR CULTURA

Cultura

rea Mxima de Cultivo


(Acres)

Consumo de gua
(Litros por Acre)

Lucro
(R$/Acre)

Milho

660

5,5

5.000

Arroz

880

4.000

Feijo

400

3,5

1.800

2. Elaborao da funo objetivo


z = Maximizar {f(x) = 5.000 (x1M + x2M + x3M ) + 4.000 (x1A + x2A + x3A ) + 1.800 (x1F + x2F + x3F )} soma dos
lucros em cada cultura em cada fazenda.
3. Formulao das restries tecnolgicas
a) Restries associadas rea de cultivo:

Fazenda 1

x1M + x1A + x1F 400

Fazenda 2

x2M + x2A + x2F 650

Fazenda 3

x3M + x3A + x3F 350

b) Restries associadas ao consumo de gua:

Fazenda 1

5,5x1M + 4x1A + 3,5x1F 1.800

Fazenda 2

5,5x2M + 4x2A + 3,5x2F 2.200

Fazenda 3

5,5x3M + 4x3A + 3,5x3F 950

c) Restries associadas ao plantio por cultura:

Milho

x1M + x2M + x3M 660

Arroz

x1A + x2A + x3A 880

Feijo

x1F + x2F + x3F 400

d) Restries associadas proporo de rea cultivada:


x 1M+ x 1A+ x 1F x 2 M+ x 2 A+ x 2 F x 3 M+ x 3 A+ x 3 F
=
=
400
650
350
4. Restries de no negatividade
x1M 0, x1A 0, x1F 0, x2M 0, x2A 0, x2F 0, x3M 0, x3A 0, x3F 0

34

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

5 O Problema da Mistura de Petrleo

Uma refinaria processa vrios tipos de petrleo. Cada tipo de petrleo possui uma planilha de custos
diferente, expressando condies de transporte e preos na origem. Por outro lado, cada tipo de petrleo representa uma configurao diferente de subprodutos para a gasolina. Na medida em que um certo tipo de petrleo utilizado na produo da gasolina, possvel a programao das condies de octanagem e outros requisitos. Esses requisitos implicam a classificao do tipo da gasolina obtida.
Supondo que a refinaria trabalhe com uma linha de quatro tipos diferentes de petrleo e deseje
produzir as gasolinas amarela, azul e superazul, programar a mistura dos tipos de petrleo atendendo
s condies que se seguem nas Tabelas 2.6 e 2.7:
T A B E LA 2. 6 QUAN T I DADE DI S P O N V EL DE P E T R L E O

Tipo de Petrleo

Quantidade Mxima Disponvel


(Barril/dia)

Custo por Barril/dia


(R$)

3.500

19

2.200

24

4.200

20

1.800

27

T A B E LA 2. 7 P E RCEN T UAI S PAR A L I MI T ES D E Q U A L I D A D E D A S G A S O L I NA S

Preo de Venda
R$/Barril

Tipo de Gasolina

Especificao

Superazul

No mais que 30% de 1


No menos que 40% de 2
No mais que 50% de 3

35

Azul

No mais que 30% de 1


No menos que 10% de 2

28

Amarela

No mais que 70% de 1

22

Soluo
1. Escolha da varivel de deciso
Para auxiliar na percepo da varivel de deciso a adotar, o esquema a seguir poder ser til.
Verificamos no esquema que existe uma quantidade de cada tipo de petrleo em cada tipo de gasolina (no caso, a gasolina azul). Neste problema podemos adotar como varivel de deciso:
xij nmero de barris de petrleo do tipo j, j = 1, 2, 3, 4, que sero destinados produo da gasolina i, (i = A-gasolina Amarela, Z-gasolina aZul, S-gasolina Superazul).
2. Elaborao da funo objetivo
z = Maximizar {f(x) = 22 (xA1 + xA2 + xA3 + xA4 ) + 28 (xZ1 + xZ2 + xZ3 + xZ4 ) + 35 (xS1 + xS2 + xS3 + xS4 ) 19
(xA1 + xZ1 + xS1) 24 (xA2 + xZ2 + xS2) 20 (xA3 + xZ3 + xS3) 27 (xA4 + xZ4 + xS4) = soma do lucro resultante da venda dos diversos tipos de gasolina, abatidos os custos dos diversos tipos de petrleo utilizados.

MODELOS DE PROGRAMAO LINEAR

35

Mistura de tipos
de petrleo para
obter a gasolina
azul

2
Gasolina
azul
3

FIGURA 2.2 Percentagem de mistura de petrleos.

3. Formulao das restries tecnolgicas


a) Restries associadas quantidade de petrleo disponvel:

Tipo 1

xA1 + xZ1 + xS1 3.500

Tipo 2

xA2 + xZ2 + xS2 2.200

Tipo 3

xA3 + xZ3 + xS3 4.200

Tipo 4

xA4 + xZ4 + xS4 1.800

b) Restries associadas s especificaes da mistura:

Para a gasolina superazul

xS1 0,3 (xS1 + xS2 + xS3 + xS4)


xS2 0,4 (xS1 + xS2 + xS3 + xS4)
xS3 0,5 (xS1 + xS2 + xS3 + xS4 )

Para a gasolina azul

xZ1 0,3 (xZ1 + xZ2 + xZ3 + xZ4)


xZ1 0,1 (xZ1 + xZ2 + xZ3 + xZ4 )

Para a gasolina amarela

xA1 0,7 (xA1 + xA2 + xA3 + xA4)

4. Restries de no negatividade
xA1 0, xA2 0, xA3 0, xA4 0, xZ1 0, xZ2 0, xZ3 0, xZ4 0,
xS1 0, xS2 0, x S3 0, xS4 0.

6 O Problema do Fluxo de Petrleo na Refinaria

Uma refinaria produz dois tipos de leo, I e II, que passam por refino em quatro centros de processamento, conforme a Figura 2.3. As linhas cheias do grfico indicam o fluxo normal de refino para os leos

36

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

do tipo I e II. Havendo capacidade ociosa, possvel processar o tipo de leo I atravs do esquema alternativo representado pelas linhas tracejadas.
No esquema de produo, sabe-se que a distribuio custo capacidade de produo :
leo I

Centro 2
Fluxo
Tipo 1
Centro 1

Centro 4
leo II

Fluxo
Tipo 2
Centro 3

Fluxo Tipo I Alternativo

leo I

FIGURA 2.3 Fluxos de leo.

T A B E LA 2. 8 C USTO S E CAP ACI DADES DE P RO D U O

Produto

Centro

Capacidade l/h

% de Recuperao

Custo $/h

1
2
4
2
3

300
450
250
400
350

90
95
85
80
75

150
200
180
220
250

II

1
3
4

500
480
400

90
85
80

300
250
240

Por outro lado, as relaes econmicas que regem a funo lucro so:
T A B E LA 2. 9 C USTO S/ P R EO S DO S PR O DU T O S

Produto

Custo da
Matria-prima ($/l)

Preo de
Venda ($/l)

Venda Diria
Mxima (l)

20

1.700

II

18

1.500

Os centros 1 e 4 operam 16 horas por dia. Os centros 2 e 3 operam 12 horas por dia. A refinaria possui a capacidade de transportar somente 2.500 l/dia, pois seu oleoduto est em manuteno. Formule
matematicamente o problema de otimizar a produo dos dois tipos de leo.

Soluo
1. Escolha da varivel de deciso
xi nmero de litros do leo do tipo i, (i = I, para o leo do tipo I, II, para o leo do tipo II) refinados diariamente. Nesse caso, vamos necessitar distinguir na varivel de deciso o esquema de refino. Ento,

MODELOS DE PROGRAMAO LINEAR

37

podemos desdobrar a varivel xI em uma soma de duas parcelas, a saber: a parcela do fluxo tipo I normal, xI N, e a parcela obtida via fluxo tipo I alternativo, xI A:
x I = xI N + x I A
2. Formulao das restries tecnolgicas
Neste problema mais interessante nos debruarmos inicialmente sobre as restries tecnolgicas. A
funo objetivo depender dos coeficientes de aproveitamento de refino que sero calculados na ocasio da organizao das restries tecnolgicas.
Inicialmente indispensvel perceber que medida que o petrleo vai sendo refinado em cada
centro, existe uma perda percentual na matria-prima. Essa perda acumulada em cada circuito. A seguir representamos o fluxo de perda de xI e xII .
a) Fluxo de perdas de xI:
0,9 0,95 0,85 0,8xIN
centro 2
centro
centro1 1

centro
centro 22

centro
centro44

x I 0, 9x I 0, 9 0, 95x I 0, 9 0, 95 0, 85xI
centro 3

0,9 0,95 0,85 0,75xI A


b) Fluxo de perdas de xII:
centro 1
centro 1

centro 3
centro 3

centro 4
centro 4

x II 0, 9x II 0, 9 0, 85x II 0, 9 0, 85 0, 80x II
c) Restries associadas capacidade de processamento:
Centro 1:
x IA
x IN
x
+
+ II 16
300 300 500
Centro 2:
0, 9x IN
0, 9x IA
0, 9 0, 95 0, 85x IN
+
+
12
450
450
400
Centro 3:
0, 9x II
480

0, 9 0, 95 0, 85x IA
12
350

Centro 4:
0, 9 0, 85x II
0, 9 0, 95x IN
0, 9 0, 95x IA
+
+
16
250
250
400

38

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

d) Restrio de transporte:
0,9 0,95 0,85 0,8x IN + 0,9 0,95 0,85 0,75x IA + 0,9 0,85 0,80xII 2.500
e) Restrio de venda:

leo tipo I

0,9 0,95 0,85 0,8x IN + 0,9 0,95 0,85 0,75x IA 1.700

leo tipo II

0,9 0,85 0,80xII 1.500

3. Restries de no negatividade
xI 0, x IN 0, x IA 0
4. Elaborao da funo objetivo
aN = 0,9 0,95 0,85 0,8
aA = 0,9 0,95 0,85 0,75 e
b = 0,9 0,85 0,80

Denominando por:

z = Maximizar {f(x) = Receita Despesa}, onde


Receita:
20aN x IN + 20aA x IA + 18bxII
Despesa:

Matria-prima

5x IN + 5x IA + 6xII

Custos Operacionais:
Centro 1:
150x IN 150x IA
300x IN
+
+
300
300
500
Centro 2:
200 0, 9x IN
200 0, 9x IA
220 0, 9 0, 95 0, 85x IN
+
+
450
450
400
Centro 3:
250 0, 9x II
480

250 0, 9 0, 95 0, 85x IA
350

Centro 4:
240 0, 9 0, 85x II
180 0, 9 0, 95x IN 180 0, 9 0, 95x IA
+
+
250
250
400

ELSEVIER

MODELOS DE PROGRAMAO LINEAR

39

Representao matricial
Como constatamos facilmente, o nmero de variveis dos problemas de PL pode ser muito grande, de
modo que a representao que adotamos nos exemplos da srie introdutria pode tornar-se rapidamente impraticvel, recomendando-se a forma matricial.

7 O Problema da Otimizao de Padres de Corte

Uma fbrica necessita cortar uma fita de ao de 12 cm de largura em tiras de 2,4 cm, 3,4 cm e 4,5 cm de largura. As necessidades globais das tiras so:
T A B E LA 2. 10 N ECESSI DADES GL O B AI S D E T I RA S

Tipo de Tira

Largura (cm)

Comprimento Mnimo

Tira 1

2,4

2.500 m

Tira 2

3,4

4.500 m

Tira 3

4,5

8.000 m

Formule o problema que permite otimizar o consumo da fita a ser cortada minimizando a perda de
material.

Soluo
Diferentemente do modelo 11, as configuraes possveis para o corte no esto ainda definidas. A Figura 2.4 mostra uma das configuraes viveis de corte. A Tabela 2.11 resume as demais configuraes:
12 cm

Tira Tipo III

Perda de
0,6 cm
Tira Tipo I

4,5 cm 4,5 cm 2,4 cm

FIGURA 2.4 Padro de corte nmero 5 (ver Tabela 2.11).

40

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

T A B E LA 2. 11 P A DR ES DE CO R T E DA FI T A

Padro de
Corte (i)

Nmero de Tiras Tipo


1 2,4 cm

Nmero de Tiras Tipo


2 3,4 cm

Nmero de Tiras Tipo


3 4,5 cm

Perda no Padro (Pi )

Padro 1

Padro 2

1,4

Padro 3

0,3

Padro 4

0,4

Padro 5

0,6

Padro 6

1,8

Padro 7

0,7

1. Escolha da varivel de deciso


xi comprimento de corte no padro i , (i = l, , 7) e folga das restries a), b) e c) (i = 8, 9, 10), a serem
utilizadas na produo.

Tira Tipo III

X5 Comprimento de
corte no padro 5
Tira Tipo I

FIGURA 2.5 Varivel de deciso: comprimento do corte no padro i.

2. Formulao das restries tecnolgicas


a) Restrio associada demanda da tira do tipo I:
5x1 + 3x2 + 3x3 + 2x4 + x5 2.500
b) Restrio associada demanda da tira do tipo II:
x2 + 2x4 + 3x6 + 2x7 4.500
c) Restrio associada demanda da tira do tipo III:
x3 + 2x5 + x7 8.000
3. Elaborao da funo objetivo
z = Minimizar {perdas nos padres + perdas no excesso de tiras}

MODELOS DE PROGRAMAO LINEAR

41

a) Perdas nos padres de corte:


1,4x2 + 0,3x3 + 0,4x4 + 0,6x5 + 1,8x6 + 0,7x7
b) Perda pelo excesso de tiras:
Chamando por x8, x9 e x10 (em metros) as folgas das restries a, b e c, respectivamente, temos:
2,4x8 + 3,4x9 + 4,5x10
4. Restries de no negatividade
x1 0, x2 0, x3 0, x4 0, x5 0, x6 0, x7 0, x8 0, x9 0, x10 0.

8 O Problema da Competio entre os Engenheiros

Duas equipes de fabricantes de carros de corrida esto praticamente disputando sozinhas o campeonato. A cada ms so disputadas trs provas. A equipe vencedora aquela que acumula o maior nmero
de vitrias durante todas as corridas do ano. Assim que o campeonato se iniciou, a Equipe B passou a
vencer a Equipe A em cerca de 60% das provas. O carro da Equipe B acabava sempre ultrapassando nas
curvas o carro da equipe A. Tentando anular essa vantagem, os engenheiros da Equipe A desenvolveram um aeroflio especial para dar mais estabilidade ao carro nas curvas. Apesar de ficar com o carro
mais pesado, o piloto da Equipe A podia, agora, usar sua habilidade e impedir a ultrapassagem do carro da Equipe B nas curvas, mantendo ou ganhando sua posio nas retas. Com a melhoria tecnolgica,
a Equipe A passou a vencer cerca de 80% das corridas. Vendo o desastre se aproximar, os engenheiros
da Equipe B contra-atacaram criando um estabilizador de suspenso para melhorar a manobrabilidade
nas curvas. O resultado anulou a habilidade do piloto da Equipe A em bloquear o carro da Equipe B
nas curvas e esta passou a vencer cerca de 80 % das provas. Acuada e sem ter como aumentar mais a
aderncia do carro nas curvas, a Equipe A, em uma reunio de emergncia, tentou uma estratgia suicida: retirar o aeroflio para ganhar com o alvio de peso e tentar compensar nas retas o que fatalmente
perderia nas curvas. Surpreendentemente, com essa estratgia passou a ganhar 80% das provas, pois o
estabilizador de suspenso especial dos carros da Equipe B era muito pesado e intil nas retas, reduzindo sobremaneira o desempenho do carro fora das curvas. Imediatamente, a Equipe B retirou seu
equipamento e as escuderias voltaram ao ponto de partida com vantagem novamente para a Equipe B.
A essa altura do campeonato, as duas equipes estavam rigorosamente empatadas em nmero de vitrias. O chefe da Equipe A resolveu contratar um assessor de Pesquisa Operacional para decidir a melhor poltica para sua equipe e, quem sabe, dar-lhe o ttulo daquele conturbado ano. Formule e solucione o problema de encontrar a poltica tima de equipagem para o carro da Equipe A. Sabe-se que a instalao do estabilizador especial e do aeroflio leva cerca de 4 horas e no pode ser desfeita ao longo da
corrida, e que os boxes de cada equipe podem ser fechados, de forma que a equipe concorrente no saiba qual configurao ser adotada em uma corrida pela sua adversria.

Soluo
O que o consultor de Pesquisa Operacional dever ser capaz de responder a frequncia com a qual os
carros da Equipe A, seu contratante, devero ser equipados com o aeroflio.
1. Escolha da varivel de deciso:
Seja x1 a probabilidade da Equipe A resolver equipar seu carro com o aeroflio. Nesse caso, x2 = 1 x1
ser a probabilidade de o aeroflio no ser empregado. Pelas experincias declaradas no enunciado, a
situao do confronto tecnolgico pode ser resumida como:

42

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

Equipe B
Estratgia

Sem Estabilizador

Com Estabilizador

Sem Aeroflio

40 %

80%

Com Aeroflio

80%

20%

Equipe A

A varivel de deciso deve ser avaliada pelo valor esperado E(.) do ganho obtido pela Equipe A
nas condies de resposta da equipe B, ou seja, com ou sem estabilizador.
Vamos inicialmente considerar o evento S1, a condio de ganho da Equipe A, quando a Equipe B
permanece sem seu fantstico estabilizador de suspenso. Nesse caso, a esperana de vitria da Equipe
A ser:
E (S1) = 40x1 + 80 (1 x1) = 80 40x1
Temos ainda uma outra condio a levar em conta: o caso de a Equipe B estar utilizando seu estabilizador. Vamos chamar esse evento de S2. Nessa alternativa, a esperana de vitria da Equipe A torna-se:
E (S2) = 80x1 + 20 (1 x1) = 60x1 + 20
2. Formulao das restries tecnolgicas
Seja G, o menor ganho obtido pela Equipe A quando usar sua poltica. Nesse caso:
E (S1) G
E (S2) G
ou seja:
40x1 + G 80
60x1 + G 20
As equaes acima podem ser consideradas restries de um programa linear no qual a varivel
de deciso a probabilidade da Equipe A utilizar seu aeroflio. Elas representam o conjunto das possibilidades para o valor do ganho G.
3. Funo objetivo
bvio que a Equipe A deseja maximizar seu ganho, ou seja:
z = Maximizar {f(x) = G}
4. Restrio de no negatividade e definio do valor probabilstico
Como sabemos que a probabilidade varia entre 0 e 1:
1 x1 0
Para esclarecer melhor a soluo desse interessante modelo, apresentamos na Figura 2.6 a soluo
grfica do problema 8.

MODELOS DE PROGRAMAO LINEAR

43

5. Soluo Grfica
G

60x1 + G = 20
80

60

G* = 56%
x1 =1

40

40x1 + G = 80

20

x1

FIGURA 2.6 Soluo grfica do problema das equipes de corrida.

Que nos leva aos valores de x1 = 0,6 e G = 56%. Conclumos com isso que a Equipe A pode ser campe se tiver, alm do tal bom piloto, auxlio da Pesquisa Operacional!

2.2.3 Exemplos de Modelagem de Problemas de PL Inteira


com Possibilidade de Aproximao Contnua

1 O Problema da Fbrica de Mveis

Uma grande fbrica de mveis dispe em estoque de 250 metros de tbuas, 600 metros de pranchas e
500 metros de painis de conglomerado. A fbrica normalmente oferece uma linha de mveis composta por um modelo de escrivaninha, uma mesa de reunio, um armrio e uma prateleira. Cada tipo
de mvel consome uma certa quantidade de matria-prima, conforme a Tabela 2.12. A escrivaninha
vendida por 100 unidades monetrias (u. m.), a mesa por 80 u.m., o armrio por 120 u.m. e a prateleira por 20 u.m. Pede-se exibir um modelo de Programao Linear que maximize a receita com a venda
dos mveis.
T A B E LA 2. 12 R ES T R I ES / CUS T O S DO E XE M P L O 2

Quantidade de material em metros


consumidos por unidade de produto

Disponibilidade do Recurso (m)

Escrivaninha

Mesa

Armrio

Prateleira

Tbua

250

Prancha

600

Painis

500

100

80

120

20

Valor de
Revenda (u.m.)

44

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

ELSEVIER

Soluo
Nesse caso, a escolha das variveis de deciso segue o mesmo raciocnio do modelo anterior. O objetivo
continua sendo maximizar a receita de uma produo cujos quantitativos relativos so passveis de
planejamento. A diferena ocorre por conta do maior nmero de quantitativos (ou variveis a programar).
1. Escolha da varivel de deciso
xi quantidade em unidades a serem produzidas do produto escrivaninha (i = 1), mesa (i = 2), armrio
(i = 3), prateleira (i = 4).
Com as variveis de deciso escolhidas, devemos expressar a funo objetivo como uma funo
dessas variveis:
2. Elaborao da funo objetivo
z = Maximizar {f(x) = 100x1 + 80x2 + 120x3 + 20x4}
Receita bruta em unidades monetrias em funo do nmero de unidades produzidas de cada tipo de
mvel.
O levantamento das restries de produo apontam para a disponibilidade nos tipos de madeira.
3. Formulao das restries tecnolgicas
a) Restrio associada disponibilidade de tbuas:
x1 + x2 + x3 + 4 x4 250
b) Restrio associada disponibilidade de pranchas:
x2 + x3 + 2x4 600
c) Restrio associada disponibilidade de painis:
3x1 + 2x2 + 4x3 500
4. Restries de no negatividade
x1 0, x2 0, x3 0, x4 0

2 O Problema do Atleta Indeciso

Um jovem atleta sente-se atrado pela prtica de dois esportes: natao e ciclismo. Sabe por experincia que:
A natao exige um gasto em mensalidade do clube e deslocamento at a piscina que pode ser expresso em um custo mdio de 3 (trs) reais por seo de treinamento de duas horas.
O ciclismo, mais simples, acaba custando cerca de 2 (dois) reais pelo mesmo tempo de prtica.
O oramento do rapaz dispe de 70 reais para seu treinamento.
Seus afazeres de aluno de graduao na universidade lhe do liberdade de empregar, no mximo,
18 horas mensais e 80.000 calorias para os esforos fsicos.
Cada seo de natao consome 1.500 calorias, enquanto cada etapa ciclstica dispende 1.000 calorias. Considerando que o rapaz goste igualmente de ambos os esportes o problema consiste em planejar seu treinamento de forma a maximizar o nmero de sees de treinamento.

Soluo
O presente modelo um exemplo de programao de atividades. Obviamente as variveis de deciso
no esto limitadas a modelar quantitativos que dizem respeito apenas a produtos. O problema se prope a tratar o nmero de sees esportivas.

MODELOS DE PROGRAMAO LINEAR

45

1. Escolha da varivel de deciso


xi nmero de prticas de natao (i = 1) e do ciclismo (i = 2).
2. Elaborao da funo objetivo
z = Maximizar {f(x) = x1 + x2}
Nmero total de sees de prtica desportiva.
Em relao s restries, o presente problema diferencia-se dos anteriores por incluir vrios aspectos associados prtica desportiva do rapaz.
3. Formulao das restries tecnolgicas
a) Restrio associada aos recursos financeiros do rapaz:
3x1 + 2x2 70
b) Restrio associada disponibilidade de energia:
1.500x1 +1.000x2 80.000
c) Restrio associada disponibilidade de tempo:
2x1 + 2x2 18
4. Restrio de no negatividade
x1 0, x2 0.

3 O Problema da Pequena Fbrica

Considere a situao de decidir sobre o nmero de unidades a serem produzidas por certo fabricante
de dois diferentes tipos de produto.
Os lucros por unidade do produto_1 e do produto_2 so, respectivamente, 2 e 5 u.m. Cada unidade
do produto_1 requer 3 horas de mquina e 9 unidades de matria-prima, enquanto o produto_2 requer
4 horas de mquina e 7 unidades de matria-prima.
Os tempos mximos disponveis de horas de mquina e de matria-prima so 200 horas e 300 unidades, respectivamente.
Formule o problema de forma a otimizar o lucro total.

Soluo
1. Escolha da varivel de deciso
xi quantidade de unidades do produto_1 (i = 1) e do produto_2 (i = 2) fabricadas.
2. Elaborao da funo objetivo
z = Maximizar {f(x) = 2x1 + 5x2}
Nmero total de unidades monetrias obtidas como lucro pela venda dos produtos 1 e 2. Nesse
caso otimizar o lucro total sinnimo de maximizar. Em certas ocasies, a funo objetivo pode no
ser explicitamente evidenciada.
3. Formulao das restries tecnolgicas
a) Restrio associada disponibilidade do tempo de mquina:
3x1 + 4x2 200
b) Restrio associada disponibilidade de matria-prima:
9x1 + 7x2 300
4. Restries de no negatividade
x1 0, x2 0.

46

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

4 O Problema da Fbrica de Camisas

ELSEVIER

Uma companhia produz dois tipos de camisas: manga longa e manga curta. Na companhia, o nico
ponto crtico a mo-de-obra disponvel.
A camisa de manga longa consome 50% a mais de mo de obra do que a de manga curta. Sabe-se
tambm que se toda a produo fosse concentrada na disponibilizao de camisas de manga curta a
companhia poderia entregar 400 camisas de manga curta por dia.
O mercado limita a produo diria das camisas em 150 mangas longas e 300 mangas curtas. O lucro bruto por camisa de manga longa de 5,00 u.m. e por camisa de manga curta, 3,5 u.m.
Formular o problema de modo a permitir a determinao das quantidades de camisas a produzir
de modo a otimizar o lucro.

Soluo
1. Escolha da varivel de deciso
xi quantidade de unidades de camisas de manga longa (i = 1) e de manga curta (i = 2) a serem fabricadas.
2. Elaborao da funo objetivo
z = Maximizar {f(x) = 5x1 + 3,5x2}
Nmero total de unidades monetrias obtidas como lucro pela venda das camisas.
A novidade introduzida pelo presente problema a existncia de um acoplamento de variveis.
Uma restrio tecnolgica evidencia limites para cada uma das variveis; contudo, outra trata a produo das duas variveis concomitantemente.
3. Formulao das restries tecnolgicas
a) Restrio associada demanda de mercado:
x1 150
x2 300
b) Restrio associada ao acoplamento das variveis:
(3/2)x1 + x2 = 400
Observar que o relacionamento entre as variveis linear. O enunciado do problema fornece o termo independente da equao geral da reta, 400, atravs do ponto (0,400) em que a produo de camisas
de manga longa nula. O segundo dado necessrio determinao da equao vem da relao entre os
coeficientes das variveis: 1 e 1 + 0,5 ou 1 e 3/2.
4. Restries de no negatividade
x1 0, x2 0

5 O Problema da Otimizao de Padres de Produo

Uma determinada fbrica produz panelas de metal mdias e grandes a partir de elementos circulares
de dimetros de 0,25 e 0,40 metro, respectivamente. A primeira operao para obter as panelas um
corte desses elementos circulares sobre chapas de dimenso de 1,40 0,50 metro. Os elementos planos
circulares so transformados em panelas em uma segunda operao de estamparia. Para o corte existem quatro tipos de matrizes conforme mostra a Figura 2.7. A fbrica deseja uma produo diria mnima de 500 panelas mdias (obtidas do elemento circular de dimetro 0,25) e 350 grandes (obtidas do
elemento circular de dimetro de 0,40). Os custos em reais por chapa pelo uso de cada matriz de corte
so respectivamente: 1, 2, 3, 2. Elaborar o modelo de Programao Linear que planeje a produo de
modo a minimizar o custo com o uso das chapas.

MODELOS DE PROGRAMAO LINEAR

Matriz 1

Matriz 2

Matriz 3

Matriz 4

47

FIGURA 2.7 Padres de corte do problema 5.

Soluo
1. Escolha da Varivel de Deciso
xi quantidade de chapas cortadas de acordo com a matriz, (i = l, 2, 3, 4), a serem utilizadas na produo.
2. Elaborao da funo objetivo
z = Minimizar {f(x) = x1 + 2x2 + 3x3 + 2x4} Nmero total de reais gastos com a produo.
3. Formulao das restries tecnolgicas
a) Restrio associada demanda de panelas mdias (elemento de 0,25 de dimetro):
8x1 + 4x2 + 2x3 500
b) Restrio associada demanda de panelas grandes (elemento de 0,40 de dimetro):
x2 + 2x3 + 3x4 350
4. Restries de no negatividade
x1 0, x2 0, x3 0, x4 0.

2.2.4 Exemplos de Modelagem de Problemas de PL Inteira sem Aproximao Contnua


1 O Problema de Alocao de Pessoal

Um hospital trabalha com um atendimento varivel em demanda durante as 24 horas do dia. As necessidades distribuem-se segundo a Tabela 2.13:

48

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

T A B E LA 2. 13

Turno de Trabalho

Horrio

Nmero Mnimo de Enfermeiros

1
2
3
4
5
6

08:00-12:00
12:00-16:00
16:00-20:00
20:00-00:00
00:00-04:00
04:00-08:00

50
60
50
40
30
20

O horrio de trabalho de um enfermeiro de oito horas quando ele entra nos turnos 1, 2, 3, 4 e 6. O
enfermeiro que entra no turno 4 recebe uma gratificao de 50% sobre o salrio e o enfermeiro que entra no turno 5 trabalha apenas quatro horas.
Elaborar o modelo de programao linear inteira que minimiza o gasto com a mo de obra.
Soluo:
1. Escolha da varivel de deciso
xi nmero de enfermeiros que entram em servio no incio do turno i, (i = 1, 2, ..., 6).
2. Elaborao da funo objetivo
Como praticamente todos os enfermeiros ganham o mesmo salrio, poderemos considerar que minimizar o gasto com a mo de obra ser equivalente a minimizar o nmero total de trabalhadores, ponderando-se o nmero de trabalhadores do quarto turno na medida de seu salrio, ento:
z = Minimizar {f(x) = x1 + x2 + x3 + 1, 5x4 + 2x5 + x6}

nmero total de
enfermeiros
trabalhando em um dia.

O coeficiente de 1, 5 para os enfermeiros que entram no quarto turno e 2 para os que ingressam no
quinto igualam, em termos de salrio, a contribuio desses turnos na despesa. Os trabalhadores do
quinto turno ganham um salrio completo por uma meia-jornada, ou seja, ganham o dobro dos enfermeiros dos turnos 1, 2, 3 e 6.
3. Formulao das restries tecnolgicas
a) Restrio associada aos seis turnos:
4

1o turno:
x6 + x1 50

2o turno:
x1 + x2 60

3o turno:
x2 + x3 50

4o turno:
x3 + x4 40

5o turno:
x4 + x5 30

6o turno:
x6 20

MODELOS DE PROGRAMAO LINEAR

49

4. Condies de integralidade e no negatividade


x1, x2 Z+ (conjunto dos inteiros positivos).

2 O Problema do Jantar de Nero

O imperador romano Nero, em um momento de inspirao, resolveu promover um jantar para eliminar seus melhores inimigos. Consultando seu mdico de confiana, soube que ele dispunha de dois
tipos de venenos, alfa e beta. Tratavam-se de frmacos prprios para serem misturados no molho de
carneiro. Havia no estoque da farmcia do facultativo 0, 5 kg do veneno alfa e 2 kg do veneno beta. Para
que os convidados no sentissem o gosto do veneno, era indispensvel misturar em peso trs pores
do veneno alfa para cada poro de beta. Cada 12 gramas de alfa ou 6 de beta eram capazes de sozinhas
liquidarem um homem. O efeito do veneno sobre as mulheres era cerca de 50% mais poderoso do que
sobre os homens. Nero, satisfeito com a informao, deu suas ordens ao mdico: prepare a mistura
mais eficiente e elimine pelo menos 20 homens e 10 mulheres!
Elaborar o modelo de programao matemtica que maximize o efeito do veneno sobre os prezados inimigos do imperador e evite que o mdico perca o emprego e acabe queimado vivo no dito jantar.
Soluo:
1. Escolha da varivel de deciso
xij nmero de envenenados i, do sexo masculino (i = 1), do feminino (i = 2), pelo veneno j, veneno alfa
(j = A), veneno beta (j = B).
2. Elaborao da funo objetivo
z = Maximizar {f(x) = x1A + x2A + x1B + x2B} nmero total de envenenados.
3. Formulao das restries tecnolgicas
a) Restries de disponibilidade de veneno
4

Tipo alfa:
12x1A + 6x2A 500

Tipo beta:
6x1B + 3x2B 2.000

b) Restrio devida ao paladar


12 x 1A + 6x 2 A
=3
6x 1B + 3x 2 B
c) Restries de demanda
4

Homens envenenados:
x1A + x1B 20

Mulheres envenenadas
x2A + x2B 10

4. Condies de integralidade e no negatividade


x1A, x2A, x1B, x2B Z+ (conjunto dos inteiros positivos).

50

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

3 O Problema da Otimizao de Padres de Corte

Uma metalrgica deve entregar uma partida de 2.500 placas retangulares de 2 4 cm (placas do tipo I)
e 1.000 de 4 11 cm (placas do tipo II). Existem, em estoque, uma tira metlica com 15 cm de largura e
20 metros de comprimento e outra com 14 centmetros de largura e 30 metros de comprimento. As tiras
com 30 metros de comprimento so cerca de 20% mais caras por quilo do que as de 20 metros, devido a problemas de transporte. So possveis as seguintes configuraes de corte ou padres de corte nos equipamentos da empresa:
Padro 1

4 cm
Padro 3
2 cm

12 cm

4 cm

Padro 2
2 cm

11 cm

2 cm

4 cm

11 cm

FIGURA 2.8 Padres de corte.

Formular o modelo que permita minimizar a perda ao corte.1


Soluo:
1. Escolha da varivel de deciso
x ij nmero de vezes em que o padro i, i = 1, 2, 3 de corte ser aplicado chapa j de 15 2.000
( j = A) e de 14 3.000 (j = B).
cij perdas da configurao i aplicada na chapa j.

2. Formulao das restries tecnolgicas


a) Restries de demanda:
4

Placas 2 4:
7x1A + 7x1B + 2x2A + x3A + x3B 2.500

Placas 4 11:
x2A + x3A + x2B + x3B 1.000

1. Interessantes trabalhos sobre o tema de perdas ao corte so encontrados em Hinxman (1980), Farley (1988) e

(1990), lvares-Valdi et al. (2002), Morabito e Arenales (2000).

MODELOS DE PROGRAMAO LINEAR

51

b) Restrio de disponibilidade de estoque:


4

Chapa 15 2.000:
4x1A + 4x2A + 4x3A 2.000

Chapa 14 3.000:
4x1B + 4x3B 3.000

3. Elaborao da funo objetivo


z = Minimizar {f(x) = x1A + x3A + 1, 2 x3B} perda total.
4. Condies de integralidade e no negatividade
x1A, x2A, x3A, x1B, x2B, x3B Z+ (conjunto dos inteiros positivos)

4 O Problema da Cmara de Segurana

Um laboratrio biolgico est construindo um sala de desinfeo e segurana para proteger a entrada
de suas instalaes mais perigosas. A finalidade da sala isolar agentes biolgicos como vrus e bactrias que so manipulados em instalaes hermeticamente fechadas, permitindo, contudo, o trnsito
dos pesquisadores e demais materiais. A sala composta de trs cmaras visando a aumentar a segurana (ver Figura 2.9).
A desinfeo basicamente realizada atravs de uma sofisticada unidade de irradiao. Como essa
unidade extremamente sensvel e o objeto em trnsito pode ter um comportamento inesperado, existe uma probabilidade de falha da atuao de uma unidade isolada de desinfeo. Essa probabilidade
varia basicamente em funo da cmara em que a unidade esteja localizada. Existem restries de espao e peso para a distribuio das unidades de desinfeo no teto das cmaras. Os custos das unidades tambm variam por cmara devido variao de temperatura e isolamento de umidade, tudo conforme a Tabela 2.14, a seguir.
Espao
de Alocao

Unidade de
Desinfeco

rea de
Atuao
Efetiva

Forro
Perfil
Cmara 1

Cmara 2

Cmara 3
Acesso
aos
Laboratrios

Acesso
rea
Externa
Planta
Possveis Posies
de Alocao das
Unidades nas Cmaras
FIGURA 2.9 Planta e perfil da cmara.

52

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

T A B E LA 2. 14

Espao

Peso

Custo

(m3)

(kg)

(R$)

Probabilidade de Falha da
Unidade

1
2
3

2,5
4,0
3,0

150
130
100

30.000
70.000
40.000

0,20
0,15
0,30

Limitaes

60

1.500

600.000

Cmara

Formular o problema de minimizar a probabilidade da ocorrncia de um trnsito na sala de desinfeo sem que ocorra uma perfeita desinfeo, considerando-se inaceitvel mais que 3% na probabilidade de que uma cmara isolada falhe na desinfeo.
1. Escolha da varivel de deciso
xj nmero de unidades de desinfeo alocadas na cmara j, (j = 1, 2, 3).
xj

p j probabilidade de falha (j = 1, 2, 3).


2. Formulao das restries tecnolgicas
a) Restries de espao:
2,5x1 + 4x2 + 3x3 60
b) Restrio de peso:
150x1 + 130x2 + 100x3 1.500
c) Restrio de custo:
30x1 + 70x2 + 40x3 600
d) Restrio de falha de uma cmara:
com p1 = 0,2; p2 = 0,15; p3 = 0,3
xj

p j 0,03, j = 1, 2, 3
3. Elaborao da Funo Objetivo
x

z = Minimizar {f(x) = p 1 1 p 2 2 p 3 3 } probabilidade de falha total.


4. Condies de integralidade e no negatividade
x1, x2, x3 Z+ (conjunto dos inteiros positivos).
5. Transformaes de linearizao
xj

p j 0, 03, j = 1, 2 , 3 (1n pj)xj log(0,03)


3

f (x) = p 1 1 p 2 2 p 3 3 ln( f ( x)) = (1n pj)xj


x

j=1

MODELOS DE PROGRAMAO LINEAR

53

5 O Problema de Carregamento de Avies

Um avio de transporte possui quatro compartimentos para carga a saber: compartimento frontal,
compartimento central, compartimento da cauda e poro de granel. Os trs primeiros compartimentos
s podem receber carga em containers, enquanto o poro recebe material em granel. A Tabela 2.15 resume a capacidade do aparelho:
T A B E LA 2. 15

Compartimento

Peso Mximo
(ton)

Espao Mximo
(m3)

5
7
6
7

35
55
30
30

Compartimento Frontal
Compartimento Central
Compartimento da Cauda
Poro de Granel

Objetivando o equilbrio de voo, indispensvel que a distribuio da carga seja proporcional entre os compartimentos. Para carregar o avio, existem trs tipos de containers e duas cargas em granel.
Os dois tipos de carga em granel podem ser facilmente transportados conjuntamente, por isso essa carga aceita em qualquer quantidade.
T A B E LA 2. 16

Peso por Container ou


por m3 (ton)

Volume por Container


(m3)

Lucro
$/ton

1 (container)

0,7

0,5

200

2 (container)

0,9

220

3 (container)

0,2

0, 25

175

4 (granel)

1,2/m3

235

5 (granel)

1,7/m3

180

Carga Tipo

Elaborar o problema de programao linear que otimize a distribuio da carga de forma a maximizar o lucro do voo do cargueiro.
1. Escolha da varivel de deciso
xij quantidade da carga do tipo i (i = 1, 2, 3 nmeros de containers, i = 4, 5 toneladas do granel i), alocada ao compartimento j (j = 1 frente, j = 2 centro, j = 3 cauda, j = 4 poro).
2. Formulao das restries tecnolgicas
a) Restries de peso por compartimento:

5, j = 1
x ij 7 , j = 2

i=1
6, j = 3
3

1,2x4j + 1,7x5j 7, j = 4

54

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

b) Restries de espao:

35, j = 1
0,5x1j + x2j + 0,25x3j 55, j = 2

30, j = 3
x4j + x5j 30, j=4;*
c) Restries de equilbrio geral
3

xi 1

i= 1

xi 2

= i= 1
7

xi 3

= i= 1
6

1, 2 x 44 + 1, 7 x 54
7

Cabe aqui observar que essa restrio dever, provavelmente, possuir limites de tolerncia, uma
vez que as variveis envolvidas no somatrio so inteiras, o que tornaria, possivelmente, invivel o
atendimento simultneo desse conjunto de restries. Essa tolerncia tambm perfeitamente justificada na viso prtica do carregamento de aeronaves. Nesse caso uma das possibilidades de representar a situao seria como:

i= 1

xi 1

xi 2

+ x f 1 = i= 1
7

xi 3

+ x f 2 = i= 1
6

+x f 3 =

1, 2 x 44 + 1,7 x 54
+x f 4
7

para adequadas variveis de tolerncia xfi , i = {1, ..., 4}


3. Elaborao da funo objetivo
z = Maximizar
3

j=1

j=1

j=1

{ f ( x) = 200 x 1 j +220 x 2 j +175 x 3 j + 1, 2 235x 44 + 1, 7 180x 54 }


4. Condies de integralidade e no negatividade
x1j, x2j, x3j Z+, j = 1, 2, 3; x4j, x5j 0, j = 4.

6 O Problema da Auditoria Bancria

Fase 1: Processo normal de auditoria


Um banco deve decidir quantos auditores ser necessrio contratar em um horizonte de seis meses de
operao a saber: maro agosto. As necessidades do esforo de auditoria so contabilizadas em termos de mo de obra de auditores experientes da seguinte forma:
*Os coeficientes volumtricos dos granis so considerados iguais a 1 por segurana.

MODELOS DE PROGRAMAO LINEAR

55

T A B E LA 2. 17

Ms

Necessidade em Homens x Hora

Maro
Abril
Maio
Junho
Julho
Agosto

7.000
8.000
10.000
11.000
7.000
11.000

Cada auditor contratado como funcionrio do banco, apesar de formado e aprovado em concurso,
tem de ser treinado por um ms antes de poder atuar plenamente em sua funo. Nesse treinamento so
utilizados auditores experientes do prprio banco que, deixando de trabalhar na auditoria normal, dedicam 100 horas para cada auditor a ser treinado. Um auditor trabalha 150 horas por ms. Em 1o de
fevereiro o banco dispe de 60 auditores experientes. O programa de contratao ter incio em 1o
de maro.
Sabe-se tambm que o mercado de trabalho para os auditores est muito instvel, de forma que 10%
da fora de trabalho desses profissionais experientes deixa o banco a cada ms em busca de melhores salrios. Um auditor experiente recebe do banco cerca de R$ 2.000, 00 por ms, enquanto o auditor em treinamento s recebe uma ajuda de custo de R$ 150,00. Quando o nmero de auditores excede as necessidades, a carga de trabalho reduzida, mas no so feitas demisses devido ao elevado custo do processo
de acordo na justia. Quando isso acontece, novos auditores no so contratados e a evaso normal equilibra a fora de trabalho.
Formular o problema objetivando minimizar os custos de operao do sistema de auditoria.

Fase 2: Utilizando o processo de terceirizao


Paralelamente ao sistema de contratao formal para auditores existe a possibilidade de obter-se a
mo de obra para as auditorias via uma empresa de terceirizao: a Burocrticos ao seu Dispor.
Essa organizao oferece auditores experientes (possivelmente evadidos do sistema normal) e licenciados pela Cmara de Auditores Juramentados. Esse profissional custa R$ 2.500, 00 ao ms e
pode ser includo e retirado da folha a qualquer ms sem qualquer custo de admisso ou demisso.
A Burocrticos s exige a garantia mnima de um ms de trabalho para o profissional e que ele no
trabalhe em treinamentos, at porque a empresa promove o curso para licenciar auditores juramentados como um servio adicional. Reformular o problema levando em conta essa nova possibilidade.
Desafio: Reformule o problema para o caso em que a empresa Burocrticos passe a exigir uma garantia
mnima de trs meses de emprego para seus auditores e uma indenizao proporcional a K vezes o nmero de meses trabalhado alm desses trs meses.
Soluo
Fase 1
1. Escolha da varivel de deciso
xj quantidade de auditores em treinamento no ms j, (j = 0, ..., 6).
i ser utilizado como um ndice auxiliar, i = 1, ..., 6.
di vetor demanda = (7.000, 8.000, 10.000, 11.000, 7.000, 11.000)

56

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

2. Formulao das restries tecnolgicas


a) Restries de demanda:
x0 = 60

150

i1

0,9i j xj 100xi di,

i = 1, ..., 6

j= 0

O nmero de auditores experientes que inicializa o processo de planejamento pode ser considerado, em
termos de modelagem, como treinados em fevereiro. Um auditor treinado, ou seja, experiente, incorpora-se
ao contingente de evaso ao fim do ms. Em ltimas palavras 10% dos profissionais treinados evade-se no
primeiro ms comportando-se, para fins de fora de trabalho, como auditores experientes. necessrio, contudo, lembrar que eles s recebem um ajuda de custo nesse primeiro ms.
b) Restrio de capacidade de treinamento
Considerando a restrio a) que estabelece as condies iniciais para o nmero de auditores seniores,
ento:
i1

0,9i j x j 15x i ,

i = 1, ..., 6

j= 0

3. Configurao da funo objetivo


z = Minimizar { f ( x) =

i1

i= 1

j= 0

2000( 0,9i j xj) +150xi }

4. Condies de integralidade e no negatividade


xj Z+, j = 1, ..., 6.
Fase 2
1. Escolha da varivel de deciso
As mesmas anteriores e mais:
yi nmero de auditores juramentados contratados para trabalhar no ms i, i = 1, ..., 6
2. Formulao das restries tecnolgicas
a) Restries de demanda:
x0 = 60

150

i1

0,9i j xj + yi 100xi di,


j 0

i = 1, ..., 6

MODELOS DE PROGRAMAO LINEAR

57

b) Restrio de capacidade de treinamento:


A mesma da primeira fase.
3. Elaborao da funo objetivo

i1
6

z = Minimizar { f (x) = 2.000( 0, 9i j x j ) + 150x i + 2.500y i }

j=0
i=1

4. Condies de integralidade e no negatividade


xj Z+, j = 1, ..., 6; yi Z+, i = 1, ..., 6.

7 O Problema do Incndio Florestal Ataque Massivo


Fase 1: Ataque massivo

Uma reserva florestal est em chamas e o governo planeja uma operao fulminante de combate ao
fogo para amanh. O incndio de pequenas propores e est se propagando lentamente, devendo
ser extinto em cerca de trs horas de operao logo aps o amanhecer. Esto sendo mobilizados avies
e helicpteros especializados nesse tipo de operaes. As caractersticas dos aparelhos constam da Tabela 2.18:
T A B E LA 2. 18

Eficincia no
Incndio (m2/Hora)

Custo
(R$/Hora)

Necessidade em
Pessoal

Helicptero AH-1

15.000

2.000

2 Pilotos

Avio Tanque

40.000

4.000

2 Pilotos 1 Operador

Avio B67

85.000

10.000

2 Pilotos 3 Operadores

Aparelho

A rea de floresta a ser coberta pelo combate ao fogo de 3.000.000 m2, envolvendo a frente de fogo
(para paralisao do avano do dano), reas j queimadas que necessitam de rescaldo (para proteo
de animais e segurana contra recrudecimento) e reas de acero (proteo preventiva indispensvel).
Nas bases de apoio so disponveis 14 pilotos de avio e 10 de helicptero, bem como 22 operadores especializados em combate areo de fogo.
Formular o problema de programao matemtica que minimize os custos da operao.
Soluo:
1. Escolha da varivel de deciso
xi nmero de aparelhos a serem empregados i (i = 1 Helicptero; i = 2 Avio tanque; i = 3 Avio
B67).
2. Formulao das restries tecnolgicas
a) Restrio de demanda da rea de fogo:

58

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

ELSEVIER

Como a operao deve ser concluda em trs horas, podemos imaginar um horizonte de planejamento
timo para uma hora sendo repetido trs vezes, ento:
15x1 + 40x2 + 85x3 1.000
b) Restrio de disponibilidade de mo de obra
4

Helicptero:
2x1 10 (pilotos)

Avies:
2x2 + 2x3 14 (pilotos)
x2 + 3x3 22 (operadores)

3. Elaborao da funo objetivo


z = Minimizar {f(x) = 2.000x1 + 4.000x2 + 10.000x3}
4. Condies de integralidade e no negatividade
xj Z+, j = 1, 2, 3.

8 O Problema do Sistema de Defesa Antiarea

Fase 1: Alocao arma alvo


Um determinado conjunto de armas antiareas est distribudo de forma a defender uma cidade de um
ataque. So n plataformas de msseis. Sabe-se que dij a distncia entre a plataforma da arma i e a ameaa j (avio inimigo ou mssil), que o alcance mximo dos msseis de ri, que o custo de cada tiro sobre
uma ameaa j de cij e o valor da neutralizao da ameaa vj. Em cada ataque, o sistema de defesa
deve selecionar, dentre m ameaas, apenas k possveis alvos.
Elaborar o modelo matemtico de alocao arma alvo que minimiza o custo da defesa.

Fase 2: Considerao da eficcia


Sabe-se que a cada alocao arma alvo devam ser disparados p ij msseis para que o alvo seja neutralizado. Sabendo-se que existem mi msseis disponveis em cada plataforma, reformular o problema
de minimizar o custo da defesa.
Soluo:
Alocao arma alvo
1. Escolha da varivel de deciso
1, caso a arma i seja designada ameaa j
i = 1, ... , n ; j = 1, ... , m
xij =
0, caso contrrio

2. Formulao das restries tecnolgicas


a) Restrio de alcance, visando a no permitir que uma arma atire em alvo fora do seu alcance:

MODELOS DE PROGRAMAO LINEAR

(ri dij) xij 0 i = 1, ..., n j

59

j = 1, ..., k, ..., m

b) Restrio do nmero de alocaes de alvos, visando que o sistema global atue sobre k alvos.
n

x ij = k

i=1 j=1

c) Restrio de disparo que evita que um alvo seja designado a mais de uma arma.
n

xij 1, j = 1, ..., m

i= 1

d) Restrio de disparo que evita que uma arma seja designada a mais de um alvo.
m

xij 1, i = 1, ..., n

j=1

3. Elaborao da funo objetivo


m

j=1

i= 1

i= 1

z = Maximizar {f(x) = (vj xij cijxij)}

Considerao da eficcia
1. Escolha da varivel de deciso
1, caso a arma i seja designada a ameaa j
xij = 0, caso contrrio
i =1, ..., n ; j = 1, ..., m

2. Formulao das restries tecnolgicas


a) As restries de alcance, alocao aos k alvos e uma s plataforma designada a um alvo e vice-versa
permanecem as mesmas.
b) Restrio de nmero de disparos.
No modelo anterior a alocao arma alvo e o disparo constituam uma mesma deciso. No presente
caso a alocao implica pij disparos. Para uma alocao ser vlida agora necessrio que mi pij , j = 1,
...m, ento:
m

xijpij mi i = 1, ..., n

j=1

3. Elaborao da funo objetivo


m

z = Maximizar {f(x) =

j=1

i= 1

i= 1

(vj xij cijpijxij)}

60

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

9 O Problema dos Anncios na Rede de TV

Uma rede de televiso resolveu estabelecer preos competitivos para o tempo de comercial em certos
horrios. Existem trs horrios para a propaganda em promoo na rede: horrio nobre noturno (horrio 1), horrio da tarde em fins de semana (horrio 2), horrio da tarde em dias da semana (horrio 3). O
preo de um mdulo mnimo de propaganda em cada horrio p1, p2 e p3, respectivamente. A rede
vende grandes espaos de tempo dentro da programao, denominados pacotes promocionais. Os
anunciantes desejam entrar no programa de pacotes de propaganda promocional porque podem obter, com isso, melhores preos unitrios. Um pacote representa um esquema de desconto baseado em
economia de escala. Existem trs faixas de preos sendo praticadas nos pacotes. A faixa 1, ou de
desconto zero, a faixa 2, em que o desconto de 10 unidades monetrias e a faixa 3, com desconto de 30
unidades monetrias. A tabela que se segue resume as regras da promoo:
T A B E LA 2. 19 R EGR AS DE P R O MO O

Descontos

Somatrio de tempo

Valor do desconto
(em unidades monetrias)

Faixa 1

sem exigncia

Faixa 2

comprar, no mnimo,
f unidades de tempo

10

Faixa 3

comprar, no mnimo,
g unidades de tempo

30

Os anunciantes que competem na disputa do uso da mdia so n e dispem, cada um deles, de sn


unidades monetrias para investir em propaganda.
Os anunciantes, reunidos em uma associao, desejam estabelecer a melhor estratgia de negociao com a rede, objetivando maximizar, dentro das disponibilidades oramentrias de cada cliente, o
tempo global de utilizao da mdia.
Formular o modelo que maximiza o ganho dos anunciantes.
Soluo:
Sob o ponto de vista dos anunciantes, o desejvel maximizar o desconto, atendidas as restries prprias de cada anunciante.
1. Escolha da varivel de deciso
ti tempo disponvel para propaganda no horrio i, i = 1, 2, 3.
xik tempo adquirido no horrio i, i = 1, 2, 3, pelo anunciante k, k = 1, ..., n.
1, caso o anunciante k tenha adquirido mais do que f mdulos de tempo
yk 0, caso contrrio

1, caso o anunciante k tenha adquirido mais do que g mdulos de tempo

wk 0, caso contrrio

sk montante mximo de recursos disponibilizado pelo anunciante k


pi preo do tempo de anncio no horrio i.
ck custo total que ser pago pelo anunciante k, face ao total de desconto que lhe cabe.
2. Formulao das restries tecnolgicas
a) Restries relativas ao montante pago pelo anunciante, face aos possveis descontos

MODELOS DE PROGRAMAO LINEAR

61

pgk = xik pi k = 1, ..., n


i=1

ck = pgk 10yk 20wk


sk ck k = 1, ..., n
b) Restrio de tempo mximo disponvel nos horrios
n

x ik ti

i = 1, 2, 3

k=1

3. Elaborao da funo objetivo


3

z = Maximizar {f(x) =

xik}

i=1 k=1

4. Condies de no negatividade
xik 0, i = 1, 2, 3, k = 1, ..., n.

10 O Problema das Equipes de Natao

Problema 1: A constituio de um grupo para uma competio


Um clube de natao, o Flamingo, foi desafiado pelo Botabolo em uma competio de revezamento
quatro estilos em 200 m. Existem 100 nadadores treinando no clube. O departamento tcnico possui a
ficha de cada nadador onde constam os tempos nos estilos peito (P), costas (C), borboleta (B) e livre (L),
para 200 metros. O treinador deseja selecionar, dentre os nadadores em treinamento, a melhor equipe possvel. Formular o problema de programao matemtica que auxilie o tcnico em sua tarefa.

Problema 2: A constituio de um time de treinamento


Infelizmente, o Flamingo acabou derrotado no desafio com seu arqui-inimigo na natao por um acontecimento imprevisto: um de seus nadadores, o melhor no estilo borboleta, sentiu, na beira da piscina,
uma pequena distenso no brao que passou a dificultar os movimentos para aquela especialidade.
Como ele era um nadador que tinha excelente tempo no nado livre, o treinador tentou reorganizar na
hora a designao dos estilos. O problema que sua equipe era de especialistas. Os demais possuam
pssimos tempos fora de sua especialidade. A melhor troca possvel foi feita, mas a equipe acabou derrotada pelo baixo tempo no nado borboleta. O treinador, revoltado pelo ocorrido, resolveu tomar
duas providncias:
a) Constituir um time de elite para treinamento com 4 equipes de 4 nadadores, evitando com isso problemas de sade de ltima hora.
b) Identificar nadadores polivalentes.
Formular o problema de programao matemtica que auxilie o tcnico em sua tarefa.

62

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

ELSEVIER

Problema 3: A seleo de uma equipe de competio


O Flamingo no podia deixar sem uma resposta a derrota no torneio. Treinando a equipe de elite o tcnico do clube sentiu-se seguro em devolver o desafio. S que dessa vez as regras seriam diferentes: a
equipe teria um reserva polivalente. Formular o problema de ajudar o Flamingo a escolher a melhor
equipe para uma competio, considerando que o grupo inclui um nadador de reserva. Justifique os
critrios que foram adotados.

Problema 4: A competio final (desafio)


Na prova de revezamento a equipe dos pernaltas (Flamingo) venceu o Botabolo. Dessa vez foi um
dos nadadores do Botabolo que afundou na piscina. Os bolenses foram loucura. A diretoria, irritada, culpou a escalao das equipes e ao seu treinador que nada entendia de reservas. Para tirar a
dvida sobre quais dos dois clubes seria o rei das piscinas o Botabolo desafiou dessa vez o Flamingo
para uma grande gincana de natao. Um tudo ou nada. A ideia seria promover uma competio entre trs equipes dos dois clubes. A pontuao seria feita por equipe do primeiro ao ltimo lugar, de
modo a eliminar a possibilidade de algum acidente ocasional e acabar com a histria de reservas (que
havia claramente beneficiado o Flamingo). Segundo as palavras do diretor do Botabolo: Assim
ns vamos ver quem o bom dentro dgua... vamos acabar com a loteria dos torneios isolados e os
truques dos tcnicos. A pontuao do primeiro ao ltimo lugar para as seis equipes seria respectivamente: 8, 6, 4, 3, 2, 1. Humilhados, os bolenses resolveram jogar duro: conseguiram as fichas com os
tempos dos pernaltas e contrataram voc para formular o problema de escolher as suas trs equipes
de modo a maximizar as possibilidades de resultado positivo e afogarem os pernaltas na piscina com
sete palmos de gua em cima. Existem 100 nadadores treinando no Botabolo e seus melhores tempos
esto igualmente disponveis.
Soluo:
Constituio de uma equipe de competio
1. Escolha da varivel de deciso
xij

1, caso o nadador i seja designado a nadar o estilo j


0 , caso contrrio
i = 1, ..., 100; j {P, C, B, L}

tij tempo do nadador i no estilo j (para 200 m).


2. Formulao das restries tecnolgicas
a) Restrio que garante que todos os estilos tero um nadador alocado:
100

xij = 1 j {P, C, B, L}

i=1

b) Restrio que garante que um nadador no ser alocado a mais de um estilo:


L

j=P

xij 1, i = 1, ..., 100

MODELOS DE PROGRAMAO LINEAR

63

3. Elaborao da funo objetivo


100

z = Minimizar {f (x) =

tij xij}

i=1 j=P

4. Condies de integralidade e no negatividade


x ijk { 0, 1}
Constituio do time de treinamento com 16 nadadores polivalentes
1. Escolha da varivel de deciso
1, caso o nadador i seja designado a nadar o estilo j
i = 1, ..., 100 ; j {P, C, B, L};
xijk na equipe k
0, caso contrrio

k = 1, 2, 3, 4

tij tempo do nadador i no estilo j (para 200 m).


2. Formulao das restries tecnolgicas
a) Restrio que garante que todos os estilos em cada equipe tero um nadador alocado:
100

x ijk = 1

j {P, C, B, L}; k = 1, 2, 3, 4

i=1

b) Restrio que garante que um nadador no ser alocado a mais de um estilo:


L

xijk 1,

i = 1, ..., 100; k = 1, 2, 3, 4

j=P

3. Configurao da funo objetivo das equipes


4

z = Minimizar {f (x) =

100

(tij xijk )}

k=1 i=1 j=P

4. Condies de integralidade e no negatividade (ressaltando a condio)


x ijk {0, 1}
5. Identificao dos nadadores polivalentes
Relaxar a restrio 2 b), permitindo que um nadador seja alocado a mais de um estilo na relao dos 16
nadadores de elite. Os polivalentes sero aqueles com mltiplas alocaes.

64

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

Soluo:
Constituio do time de competio 4 200 com um reserva
Escolhida a equipe de competio segundo os critrios do problema 1, o reserva, um novo componente
do grupo, poderia ser escolhido pelos critrios de polivalncia do problema 2 ou minimizando o aumento de tempo da equipe pelo afastamento de um de seus componentes, como abaixo:
1. Escolha da varivel de deciso
1, caso o nadador i seja designado como reserva
xi 0, caso contrrio
i = 1, ..., 96

tij, tempo do nadador i no estilo j (para 200 m).


Considerando o ndice dos nadadores selecionados pelo critrio dos especialistas como: a, b, f, q
2. Formulao das restries tecnolgicas
a) Restrio que garante que um nadador indicado como reserva:
96

xi = 1

i= 1

3. Configurao da funo objetivo que minimiza a reduo do tempo pela substituio de um dos
nadadores.
z = Minimizar
96
96
96
96

+ t x t + t x t + t x t }
{ f ( x) =
t
x

iP i
iC i
iB i
B
iL i
L
P
C

i= 1
i= 1
i= 1
i= 1

11 O Problema da Expedio de Pesquisa a Marte

Aps criteriosos estudos, um determinado pas decidiu enviar uma expedio de pesquisa ao planeta
Marte. Escolher uma tripulao adequada ao esforo da jornada e trabalho no planeta uma das maiores dificuldades do comando da misso. O centro de treinamento, possuindo mais de 300 candidatos
qualificados, resolveu utilizar um modelo matemtico para auxiliar essa tarefa. Para adquirir confiana no modelo, o comando da misso achou por bem simul-lo em um pequeno conjunto de candidatos
altamente qualificados e, nesse conjunto menor, estudar as vantagens do modelo. A Tabela 2.20 resume os atributos do grupo de 11 pessoas selecionadas para testar o modelo:
T A B E LA 2. 20
Homens
Critrio

Mulheres

Fbio

Gallo

Saulo

Paulo

Jos

Bruno

Maria

Ana

Linda

Dina

Carla

Peso

80

85

70

65

90

75

50

45

55

60

65

Sade

150

150

95

140

90

105

145

145

105

140

95

MODELOS DE PROGRAMAO LINEAR

65

T A B E LA 2. 20 CO N T I N UAO
Homens
Critrio

Mulheres

Fbio

Gallo

Saulo

Paulo

Jos

Bruno

Maria

Ana

Linda

Dina

Carla

E
C
I

M
F
C
G

F
B
A

E
A

C
I
A

A
C

F
B
M
I

F
E
G

M
E
I

P
C
I

P
B
M

Treinamento
no Simulador
(h)

150

200

180

240

220

100

200

250

200

180

100

Incompat.

Jos

Fbio

Linda

Bruno

Ana

Consumo
Energtico
(kcal)

20

29

30

35

23

40

25

30

25

17

15

Bagagem
(kg)

35

25

30

40

17

40

30

40

30

20

30

reas de
Habilitao

Siglas das especialidades: medicina (M), engenharia (E), geologia (G), psicologia (P), fsica (F), astronomia (A), comando (C),
informtica (I) e biologia (B).

As exigncias do comando da misso podem ser resumidas, inicialmente, como:


A nave conduzir 5 pessoas sendo pelo menos 2 homens e 1 mulher. Existem a bordo 2 vagas para
pessoas habilitadas em comando (C) que devero ser obrigatoriamente ocupadas. Outras habilidades
so indispensveis ao cumprimento da misso em Marte e na viagem. Para tal so ainda necessrios a
bordo pelo menos:
2 pessoas habilitadas em medicina (M).
1 pessoa habilitada em psicologia (P).
1 pessoa em astronomia (A).
1 pessoa em informtica (I).
Para os engenheiros do comando da misso o fator primordial da otimizao o peso. Existe o peso
fixo, independentemente da tripulao, e o peso varivel. A otimizao dessa etapa deve se concentrar
sobre o peso da tripulao e de sua bagagem. Os custos estimados so de R$10.000,00 por kg de peso da
tripulao ou bagagem. O comando da misso entende por bagagem os elementos necessrios ao exerccio das habilitaes de cada tripulante. Se o peso total das pessoas e bagagens exceder 1.000 kg, a misso necessitar de um mdulo extra de acondicionamento ao custo de cerca de R$10 milhes.
Existem tambm severas limitaes para o uso do simulador de voo, um equipamento muito caro e
que no possui capacidade para ser ampliado. At o lanamento, sero disponveis, de fato, 1.000 horas
para treinamento. A tabela resume o tempo ainda necessrio para treinar cada componente do grupo em
anlise.
Conforme estudos clnicos de contgio e progresso epidemiolgica em populaes isoladas,
para proteger a misso, nenhum subgrupo de trs tripulantes pode somar menos de 290 pontos no
teste de sade.
Se o consumo energtico da tripulao e de suas atividades profissionais ultrapassar 150 kcal/dia,
sero possveis duas solues: equipar a nave com uma bateria extra de energia a um custo de R$10 milhes ou com um mdulo biolgico de equilbrio e reciclagem de energia em que a cada kcal de demanda alm de 150 kcal custar R$55.000,00 a mais.
Formular o problema de escolher a tripulao de modo a minimizar os custos totais.
Aps algumas reunies tcnicas, o comando da misso se viu obrigado a repensar alguns pontos
nos critrios de seleo:
Com base em um estudo da psicologia do trabalho em times:

66

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

ELSEVIER

Se o nmero de homens na tripulao exceder o de mulheres em mais de duas pessoas o comandante da nave ser obrigatoriamente uma mulher e vice-versa.

As pessoas designadas em vaga de comando no exercero outra habilitao.


As pessoas que possuem habilitao ao comando mas que no foram designadas para tal podem
ocupar qualquer outra vaga de habilitao.

Com base em um estudo tcnico:

Na hiptese do aparelho de reciclagem ambiental equipar a nave, a presena de um bilogo ser


indispensvel na tripulao.

Reformular o problema de escolher a tripulao de modo a atender tambm s restries derivadas


do estudo da psicologia de trabalho em times e da exigncia de reciclagem ambiental.
Soluo do primeiro pedido
Escolheremos uma varivel binria para decidir a escolha de cada pessoa para compor a misso. Como
as exigncias envolvem distino de sexo, as variveis levaro isso em conta:
1. Escolha da varivel de deciso
1, caso o homem i seja escolhido
i = F, G, S, P, J, B, o ndice dos homens desse grupo.
hi 0, caso contrrio

1, caso a mulher j seja escolhida


mj 0, caso contrrio
j = M, A, L, D, C, o ndice das mulheres desse mesmo grupo.

2. Formulao das restries tecnolgicas


a) Restrio associada ao nmero de homens e mulheres na misso:
B

hi 2

i= F
C

mj 1

j=M

(*) O enunciado no deixa claro por que o nmero de vagas mnimo para cada sexo possui essa distribuio aparentemente discriminatria.
b) Restrio associada exigncia da habilidade de comando:
hF + hG + hJ + hB + mD 2
c) Restrio associada exigncia da habilidade de psicologia:
m D + mc 1

MODELOS DE PROGRAMAO LINEAR

67

d) Restrio associada exigncia da habilidade de astronomia:


h P + h B + hS 1
e) Restrio associada exigncia da habilidade de informtica:
h F + h J + mM + m L + m D 1
f) Restrio associada ao uso do simulador:
15hF + 20hG + 18hJ + 24hP + 22hJ + 10hB + 20mM + 25mA + 20mL + 18mD + 10mC 1.000

g) Restrio de compatibilidade pessoal:


hF + hJ 1 (Fbio e Jos)
hB + mL 1 (Bruno e Linda)
mD + mA 1 (Dina e Ana)
h) Restrio associada aos aspectos epidemiolgicos:
Essa restrio pode ser um problema significativo para o modelo pois seu nmero basicamente explosivo, uma vez que resulta da combinao do nmero de candidatos trs a trs. Considerando o desempenho sanitrio si e sj associado respectivamente aos tripulantes do sexo masculino (ndice i) e feminino (ndice j), considerando ainda os conjuntos j {F, G, S, P, J, B} e p {M, A, L, D, C}, podemos
modelar a exigncia atravs das seguintes restries:

si h i + s j m j

+ =3

290

No presente caso visvel que vrias das restries seriam redundantes.


3. Elaborao da funo objetivo
Devido a complexidade da F.O. vamos dividi-la em trs parcelas a saber:
z = Minimizar {f (x) = A + B + C}
onde:
A: a parcela relativa ao custo pelo peso dos tripulantes e suas bagagens.
B: a parcela do mdulo adicional de transporte (agregado se a carga varivel total exceder 1.000 kg).
C: a parcela devida ao mdulo de energia ou ao reciclador biolgico.
4

Parcela A

A = 104 [somatrio do peso transportado] =


= 104 [(35 + 80)hF + (25 + 85)hG + (30 + 70)hS + (40 + 60)hP + (17 + 90)hJ + (40 + 75)hB +
+ (30 + 50)mM + (40 + 45)mA + (30 + 55)mL + (20 + 60)mD + (30 + 65)mC]

68

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

Parcela B

A modelagem dessa parcela necessita de um raciocnio complementar. O problema diz que se o peso
contabilizado na parcela A ultrapassar 1.000 kg, uma nova parcela deve ser acrescentada funo objetivo. Resumindo:
Se [somatrio do peso transportado] >1.000, ento existe a parcela B. Vamos modelar essa condio
atravs da varivel binria s da seguinte forma:
Se [pesos > 1.000] s = 1
Se [pesos 1.000] s = 0
A condio lgica anteriormente definida pode ser representada pela restrio que se segue:
(pesos 1.000) s 0, para s uma varivel binria {0,1}.
Com a varivel binria podemos ento controlar a condio de ativao da parcela de R$107 na funo objetivo. Nesse caso:
B = 107 s
com a seguinte restrio lgica que ser acrescentada no conjunto das restries do problema:

{(115hF + 110hG + 100hS + 100hP + 107hJ + 115hB + 80mM +


+ 85mA + 85mL + 80mD + 95mC) 1.000} s 0
4

Parcela C

A parcela C exige um controle da condio de ativao para duas situaes diferentes. Quando o somatrio do dispndio energtico ultrapassa 150 kcal/dia, duas hipteses podem ser possveis: a ativao de
um mdulo de reciclagem biolgica ou um mdulo-bateria. Nesse caso, necessitamos de duas variveis
binrias de controle e a condio da deciso lgica da modelagem pode ser assim descrita:
a=1
Se [Demanda de energia > 150 kcal]

ou (exclusivo)
b=1

Condio que pode ser formulada como:


(Demanda 150) (a + b) 0 e
(a + b) 1
com a, b {0, 1}
ou seja:
a{(20hF + 29hG +30hS +35hP +23hJ +40hB +25mM + 30mA + 25mL +
+ 17mD + 15mC) 150} (a + b) 0
b (a + b) 1
Acrescentando as duas restries anteriores ao conjunto de restries do problema e utilizando as
duas variveis binrias para controlar a deciso da funo objetivo podemos escrever a parcela C como:

MODELOS DE PROGRAMAO LINEAR

69

C = 107 a + 55.000 b{(20hF + 29hG + 30hS + 35hP + 23hJ + 40hB +


+ 25mM + 30mA + 25mL + 17mD + 15mC) 150}
Observamos que a incluso de restries lgicas dessa natureza torna o problema no linear.
Soluo do segundo pedido
4

Exigncia da dedicao exclusiva ao comando

A considerao de uma distino entre as pessoas que ocupam a vaga de comando na designao de tarefas no possvel de ser feita no modelo anterior. Para atender ao pedido do comando da misso, o
modelo dever receber uma varivel que torne esse controle possvel, ento:
xi, varivel binria que assume o valor 1 quando o tripulante i designado para a vaga de comando
e 0 em caso contrrio, i = F, ..., C.
A considerao da varivel xi nos leva a uma implicao lgica. Se xi = 1, obviamente os hi e mi correspondentes sero igualmente 1 (ningum pode ocupar uma vaga de comando se no for designado
misso). Nesse caso, a restrio de comando, que foi no primeiro pedido escrita em termos de hi e mi,
pode agora ser reescrita com a nova varivel de deciso.
Para garantir a condio lgica de que se xi = 1 hi = 1 ou mi = 1, nos ndices correspondentes temos a possibilidade de introduzir as seguintes restries:
xi hi 0 ou xi mi 0
Assim sendo, acrescentaremos as seguintes restries ao modelo:
xF hF 0 ; xM mM 0; xG hG 0 ou xA mA 0 etc.
e mais a nova restrio para o comando que substitui a do pedido 1:
b) Restrio associada a exigncia da habilidade de comando
x F + x G + x J + xB + x D 2
Nesse ponto, insistimos em ressaltar que o controle sobre o sexo do tripulante representado pela
varivel x perfeitamente possvel de ser realizado por seu ndice. Isso poderia ter sido levado em conta desde o primeiro pedido.
4

Exigncia do equilbrio de poder entre os sexos

O comando da misso deseja equilibrar o poder entre os sexos da tripulao. Chamando de R o seguinte balano entre os tripulantes:
C
B

R = h i m i 2

i=F

i= M

Ento:
Se R > 0 pelo menos uma mulher ser designada ao comando.
Se R < 0 pelo menos um homem ser designado ao comando.
Se R = 0 permanece as condies do pedido 1.

70

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

ELSEVIER

O pedido nos leva necessidade de controlar a ativao e desativao de restries no problema da


seguinte forma:
Se R > 0

xi 1, onde V o conjunto das mulheres habilitadas ao comando.

xi 1, onde W o conjunto dos homens habilitados ao comando.

i V

Se R < 0

i W

Para o caso:
a) 5xD R 0
b) 5(xF + xG + xJ + xB) + R 0
Observar que se R < 0 a restrio a) trivialmente atendida e, para o caso de R > 0, a restrio (b)
que ser trivialmente atendida.
O valor do coeficiente 5 foi escolhido convenientemente igual ao nmero de tripulantes da nave
para evitar problemas de inconsistncia como, por exemplo, impedir que uma das pessoas do grupo
minoritrio fosse designada ao comando.
4

Exigncia da presena de um bilogo

A presena de um bilogo pode ser controlada pela varivel b. A restrio da obrigatoriedade da presena de um bilogo ser ativada quando b = 1. No caso especfico:
(hS + mM + mC) b 0
Observar que quando b = 0 a condio trivialmente atendida.

12 O Problema das Lagoas de Estabilizao

Um determinado sistema de tratamento de esgotos foi concebido de forma a estruturar a coleta de efluentes industriais e domsticos e reduzir o dbito de oxignio nas guas servidas (DBO) atravs de tratamentos aerbicos em duas lagoas de estabilizao e um canal de ligao. A Figura 2.9 esclarece a arquitetura geral da coleta e tratamento:
As normas de proteo ambiental exigem que as guas lanadas pelo emissrio no mar tenham
no mximo 2% de resduos no processados pelas lagoas e canal do sistema de tratamento. Ambas as
lagoas recebem carga de esgoto bruto e efluentes industriais no tratados. O volume de poluio a
ser tratado em cada descarga Pi, varia percentualmente em funo do tipo de descarga. O tratamento
consiste em uma decomposio da poluio atravs de bactrias e aerao. Basicamente os elementos
principais do processo so uma profundidade conveniente (garantida pela engenharia) das lagoas e
um tempo adequado de reteno do poluente. A parcela de aerao ser garantida pela declividade
do canal (possuir degraus de aerao). A reteno ser garantida pelo volume de cada lagoa. Considerando que as descargas industriais possuam um percentual de poluio de 40% em volume e que
os esgotos domsticos de 10%. Considerando ainda que:

As descargas de infiltrao do lenol fretico no possuam percentual de poluio.


Em cada hora de reteno nas lagoas, o efluente perde, por decomposio biolgica, cerca de 3%
de seu contedo de poluio.

Em cada quilmetro do canal de aerao o efluente reduzido de 2% em poluio.

MODELOS DE PROGRAMAO LINEAR

Lagoa 1

71

Esgoto
Domstico
Esgoto
Domstico

Canal de Ligao
Efluentes
Industriais

Lagoa 2

Efluentes
Industriais

Emissrio

Litoral

FIGURA 2.10 Conjunto de lagoas.

Formular o problema de determinar os volumes das duas lagoas e o comprimento do canal que minimize o custo da obra.
Outros dados: o comprimento do canal pode variar entre 1.500 m e 3.000 m. O volume das lagoas
podem variar entre 106 m3 e 108 m3. Cada metro do canal custa R$1.200,00. Cada m3 da primeira lagoa
custa R$1,02, e da segunda, R$1,1. As vazes de efluentes so:
T A B E LA 2. 21

Tipo de Descarga

Valor da Descarga (m3)

Localizao

Esgoto Domstico

p1

Lagoa 1

Efluente Industrial

p2

Lagoa 1

Infiltrao de Subsolo

p3

Lagoa 1

Esgoto Domstico

p4

Lagoa 2

Efluente Industrial

p5

Lagoa 2

Infiltrao de Subsolo

p6

Lagoa 2

As leis ambientais determinam que na primeira lagoa o ndice de poluio no ultrapasse 5% e ao


se lanar as guas tratadas ao mar, no exista mais de 1% de poluio no efluente.
Soluo:
1 Escolha das variveis de deciso
vi o volume da lagoa i, i = 1, 2
L comprimento do canal de ligao.
pj volume da descarga de efluentes j, j = 1, ..., 6.
hi tempo de reteno na lagoa i, i = 1, 2.

72

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

ELSEVIER

2. Formulao das restries tecnolgicas


a) Restrio relativa aos volumes das lagoas:
106 vi 108, i = 1, 2
b) Restrio relativa ao comprimento do canal de aerao:
1.500 L 3.000
c) Restries de reteno
v1 = h1 (p1 + p2 + p3)
v2 = h2 (p1 + p2 + p3 + p4 + p5 + p6)
d) Restries de depurao biolgica na primeira lagoa:
0,1p 1 + 0, 4 p 2

(0, 97) h1 0, 05
p1 + p2 + p3
e) Restries de depurao no canal:
Denominado por p7 o ndice de poluio do efluente ao final do canal temos:
p7 = ((p1 + p2 + p3) 0,05) 0,98 L
f) Restries de depurao biolgica na segunda lagoa:
p 7 + 0,1p 4 + 0, 4 p 5 + p 6

( 0, 97) h2 0, 01
p1 + p2 + p3 + p4 + p5 + p6
3. Configurao da funo objetivo
z = Minimizar {f (x) = 1,02v1 + 1,1v2 + 1,2 (106 L)}

13 O Problema da Programao de Dietas em uma Clnica de Repouso

Uma clnica de repouso recebe cerca de 50 pacientes em um fim de semana para exerccios e desintoxicao alimentar. Um dos pontos fundamentais do planejamento da clnica a escolha das dietas e a preparao das refeies. Devido ao grande consumo de alimentos, a clnica compra normalmente os gneros no atacado. A Tabela 2.22 descreve a constituio nutritiva das refeies que podero ser preparadas dentro das dietas escolhidas para os prximos grupos de visitantes.

MODELOS DE PROGRAMAO LINEAR

73

T A B E LA 2. 22 CO N STI TUI O N UT R I TI V A

Grupos

Refeies

Protenas
g

Carboidratos
g

Minerais
mg

Vitaminas
Unidades

Fibras
g

Dieta 1
Dieta 2
Dieta 3
Dieta 4

60
80
80
100

100
50
20
25

300
350
100
100

10 A; 20 C
20 A; 10 C
40 A; 20 C
25 A; 10 C

150
100
90
100

II

Dieta 5
Dieta 6
Dieta 7

40
50

30
35
50

300
350
100

10 A; 20 C
20 A; 10 C
40 A; 20 C

150
200
90

III

Dieta 8
Dieta 9

40
80

25
10

100
250

25 A; 10 C
40 A; 50 C

80
100

Cada uma das dietas composta pelos seguintes ingredientes ou alimentos:


T A B E LA 2. 23 CO N SUMO DE I N GR EDI EN T E S

Grupos

Refeies

Carne
g

Cereais
g

Massas
g

Verduras
g

Leite
ml

Frutas
g

Dieta 1
Dieta 2
Dieta 3
Dieta 4

60
30
20
20

50
60
60
40

80
30
20
30

60
100
60
80

50
40
60
30

100
150
120
80

II

Dieta 5
Dieta 6
Dieta 7

40
50

80
50
100

80
100
100

150
100
100

III

Dieta 8
Dieta 9

50
40

20
10

120
150

50
100

50
40

Preo
por kg

4,00

6,00

1,50

0,9

1,0

0,7

Para a execuo do programa de treinamento, a clnica deve escolher uma dieta dentro de cada
grupo (dejejum, almoo e jantar), para dar condies ao cozinheiro de preparar as refeies.
Pedido 1: sabendo-se que existem dois programas de treinamento e que para cada programa as necessidades em nutrientes dirias por pessoa est relacionada a seguir, programar a compra de ingredientes
de forma a minimizar os gastos com alimentao.
T A B E LA 2. 24 DEMAN DA DO S P R O GR AM A S D E T RE I NA M E NT O

Programa de
Treinamento

Protenas
g

Carboidratos
g

Minerais
mg

Vitaminas
Unidades

Fibras
g

Pessoas
Matriculadas

Programa 1

150

200

400

30 A
40 C

250

20

Programa 2

180

220

500

20 A
60 C

300

30

74

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

ELSEVIER

Pedido 2: por um problema logstico, sabe-se que no desejvel preparar menos de 10 refeies com
base na dieta do tipo 4, caso ela seja escolhida. Reformular o problema anterior levando-se isso em conta.
Pedido 3: aps uma rpida anlise do nutricionista, descobriu-se que a dieta 1 e a dieta 9 eram incompatveis, e a dieta 2 deveria vir sempre acompanhada da dieta 8. Reformular o pedido 1 levando em
conta a nova informao.

Soluo do pedido 1
1. Escolha das variveis de deciso
1, caso a dieta seja escolhida para ser adotada
i = 1, ... , 9
x i 0, caso contrrio

yi nmero de refeies preparadas com base na dieta i, i = 1, ..., 9.


A = [aij] / matriz de constituio nutritiva, i = 1, ..., 9 e j = Pr, Cr, Mi, Vi, Fi;
B = [bij] / matriz de consumo de ingredientes, i = 1, ..., 9 e j = Ca, Ce, Ma, Ve, Le, Fr;
cj custo da unidade do ingrediente j, j = Ca, Ce, Ma, Ve, Le, Fr;
Nsj necessidade do programa s, s = 1,2 com respeito ao nutriente j = Pr, Cr, Mi, Vi, Fi.
2. Formulao das restries tecnolgicas
a) Restrio associada s necessidades nutritivas dos programas de treinamento:
O programa de treinamento engloba dois dias, ou seja, duas vezes a demanda da tabela dos programas
de treinamento; contudo, no h qualquer condio que obrigue o planejamento a distinguir os dias,
portanto, o programa pode ser planejado para um dia e repetido no dia seguinte (pelas condies do
pedido 1). A demanda geral obtida pelo produto do nmero de pessoas matriculadas no programa
vezes as exigncias dirias em nutrientes.
Seja o clculo da demanda de protena por dia:
No programa 1 temos: 150 gramas 20 pessoas = 3.000 g de consumo.
No programa 2 temos: 180 gramas 30 pessoas = 5.400 g de consumo.
Repetindo esse clculo para cada nutriente temos:

Programa 1: 3.000 g de protenas, 4.000 g de carboidratos, 8.000 U de minerais, 600 U de vitamina


A, 800 U de vitamina C e 5.000 g de fibras.

Programa 2: 5.400 g de protenas, 3.600 g de carboidratos, 15.000 U de minerais, 600 U de vitamina


A, 1.800 U de vitamina C e 9.000 g de fibras.

A demanda dos programas dever ser atendida por trs refeies dirias, uma dentro de cada grupo. Para o caso da protena, por exemplo, as 3.000 g + 5.400 g = 8.400 g sero atendidas com as seguintes
refeies:
60y1 + 80y2 + 80y3 + 100y4 + 40y5 + 50y6 + 40y8 + 80y9 8.400

MODELOS DE PROGRAMAO LINEAR

75

Utilizando a notao matricial:


9

i= 1

aijyi

Nsj, j = Pr, Ca, Mi, Vi, Fi.

s= 1

b) Restrio associada distribuio das dietas pelas trs refeies dirias:


Esse um interessante caso em que devemos desenvolver variveis lgicas independentes das variveis reais do problema. O raciocnio a modelar o seguinte:
Se a refeio que ser escolhida pertence a uma dieta do grupo g (g = I, II, III) nenhuma outra dieta
desse grupo poder ser ativada. Se imaginarmos uma varivel de deciso xi binria para descrever essa
condio de pertinncia, ento a condio lgica de modelagem ser:
(x1 ou x2 ou x3 ou x4) e (x5 ou x6 ou x7) e (x8 ou x9)
Onde a condio de ou exclusiva, implica em apenas uma das variveis ativadas. O conjunto de
restries que pode atender a essa condio lgica para as variveis binrias :
x1 + x2 + x3 + x4 = 1
x 5 + x6 + x7 = 1
x8 + x 9 = 1
No podemos esquecer que as variveis binrias devem ser ligadas s variveis reais do problema que decidem sobre o nmero de refeies a serem preparadas. A condio lgica dessa ligao
diz que se uma dieta escolhida, o nmero de refeies que ela dar origem est liberado para ser calculado pelo programa. Caso a dieta no seja escolhida, o nmero de refeies correspondente deve ser,
obviamente, zero. A condio lgica pode ser reescrita como:
x1 = 0 y1 = 0
x1 = 1 y1 0
Essa condio lgica pode ser modelada como:
yi - Mxi 0
Onde M um nmero adequadamente grande. No caso, 50 um nmero adequado pois o limite
das refeies em cada grupo, de modo que a restrio pode ser escrita como:
yi 50xi 0 , i = 1, , 9
c) Restrio associada ao total de refeies dirias (50 3) = 150:
4

yi = 50

i= 1
7

i= 5

yi = 50

76

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

yi = 50

i= 8

3. Elaborao da funo objetivo


A funo objetivo deve ser expressa em termos de ingredientes, que so os elementos cotados monetariamente e que devem ser adquiridos no atacado. O somatrio das quantidades de cada ingrediente varia com o tipo de dieta que d suporte refeio, o que resumido na tabela de consumo de ingredientes. Dessa forma, a quantidade de um certo ingrediente dada por:
9

bijyi

j = Ca, Ce, Ma, Ve, Le, Fr

i= 1

Da:
9

z = Minimizar {f(x) = cj

bijyi

j = Ca, Ce, Ma, Ve, Le, Fr}

i= 1

valor total gasto com os ingredientes.


4. Restrio de no negatividade
yi 0, xi 0, i = 1, , 9

Soluo do pedido 2
S necessitamos alterar uma das restries da soluo do pedido 1. A condio lgica que unia as refeies era:
x1 = 0 y1 = 0
x1 = 1 y1 0
Essa condio lgica deve ser reescrita, no caso da dieta 4, na forma:
x4 = 0 y4 = 0
x4 = 1 y4 10
A restrio do pedido 1, y4 50x4 0, garante apenas um limite superior para x4 = 1 na forma de:
y4 50
O segundo pedido exige tambm um limite inferior para a varivel nmero de refeies. Para tal,
devemos acrescentar uma restrio do tipo:
yi Lxi 0
Nesse caso, com o valor do limite L = 10:
y4 10x4 0

MODELOS DE PROGRAMAO LINEAR

77

Soluo do pedido 3
Para a primeira exigncia: se duas dietas ij so incompatveis, ento a condio lgica de modelagem
ser:
xi = 1 xj = 0
x j = 1 xi = 0
No caso de variveis binrias, essa condio de incompatibilidade pode ser expressa pela equao:
xi + xj 1
Nesse caso, ento, devemos acrescentar ao conjunto de restries a seguinte inequao:
x1 + x9 1
Para a segunda exigncia, a condio lgica do tipo:
x i = 1 xj = 1
xj = 1 xi = 0 ou 1
No caso de variveis binrias, essa condio expressa pela equao:
xi xj 0
No caso do terceiro pedido, devemos, ento, acrescentar ao conjunto de restries a seguinte inequao:
x2 x8 0

14 O Problema do Casamento e da Casa Prpria

Uma agncia de casamento procura promover a melhor unio possvel entre os casais de seu vasto banco de dados (cerca de R = {1, , r} rapazes e M = {1, , m} moas). Para a soluo desse problema existe
uma srie de critrios a adotar. O ndice de compatibilidade final, que calculado levando em conta vrios condicionantes, o fator preponderante. O sistema de dados da agncia pode facilmente obter a
adequao feminina fij, ou seja, a varivel que diz o quanto a moa i adequada ao rapaz j, e a masculina, hij, que expressa a situao inversa. Quando os valores de f e h esto entre determinados limites, o
casal pode ser formado, sendo formao cada vez mais adequada, na medida do crescimento da soma
desses fatores. Alm desse indicador, existe uma enorme condicionante econmica a ser levada em
conta: a casa prpria. As experincias dessa agncia dizem que um casal s admissvel quando ambos
possuem interesse pela mesma casa, ela puder ser disponibilizada e seu preo estiver dentro da posse
do casal. Existem W = {1, , w} casas no banco de dados.
Formular o problema de maximizar o nmero de unies estveis dentro do banco de dados.

Soluo
1. Escolha das variveis de deciso
1, caso o casal moa i rapaz j , morando na
i = 1, ... , m
x ijk casa k seja formado

0, caso contrrio

78

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

j = 1, ..., r ; k = 1, ..., w
fij adequao da moa i ao rapaz j.
hji adequao do rapaz j moa i.
l limite inferior da adequao das moas pelos rapazes.
u limite inferior da adequao dos rapazes pelas moas.
vi capacidade econmica da moa i = 1, ..., m.
wj capacidade econmica do rapaz j = 1, .., r.
ci custo da casa k, k = 1, ...., w.
2. Formulao das restries tecnolgicas
a) Restrio associada aos limites de compatibilidade:
w

x ijk fij l, j = 1, ..., r


k=1 i=1
w

x ijk hij u, i = 1, ..., m


k=1 j=1

b) Restries associadas monogamia:


w

x ijk l, i = 1, ..., m
k=1 j=1
w

x ijk l,

j = 1, ..., r

k=1 i=1

c) Restrio associada capacidade financeira:


A condio pode ser expressa logicamente como:
m

x ijk (vi + wj) ck,

k = 1, ..., w

i=1 j=1

d) Restrio associada disponibilidade da casa:


A condio pode ser interpretada como a impossibilidade de dois casais receberem a mesma casa,
ou seja:
m

x ijk 1, k = 1, ... , w
i=1 j=1

3. Elaborao da funo objetivo


w

z = Maximizar {f(x) =

x ijk } nmero total de unies.


k= 1 i= 1 j= 1

MODELOS DE PROGRAMAO LINEAR

79

2.3 PROBLEMAS PROPOSTOS

1 O Problema das Calas e das Camisas

Uma determinada confeco opera com dois produtos: calas e camisas. Como tratam-se de produtos
semelhantes, possuem uma produtividade comparvel e compartilham os mesmos recursos. A programao da produo realizada por lotes de produto.
O departamento de produo informa que so necessrios 10 homens hora para um lote de calas e
20 homens hora para um lote de camisas. Sabe-se que no necessria mo de obra especializada para
a produo de calas, mas so necessrios 10 homens hora desse tipo de mo de obra para produzir um
lote de camisas. O departamento de pessoal informa que a fora mxima de trabalho disponvel de 30
homens hora de operrios especializados e de 50 homens hora de no especializados.
Da planta de produo, sabemos que existem apenas duas mquinas com capacidade de produzir
os dois tipos de produto, sendo que a mquina 1 pode produzir um lote de calas a cada 20 horas e um
lote de camisas a cada 10 horas, no podendo ser utilizada por mais de 80 horas no perodo considerado. A mquina 2 pode produzir um lote de calas a cada 30 horas e um lote de camisas a cada 35 horas,
no podendo ser utilizada por mais de 130 horas no perodo considerado.
So necessrios dois tipos de matria-prima para produzir calas e camisas. Na produo de um
lote de calas so utilizados 12 quilos da matria-prima A e 10 da B. Na produo de um lote de camisas
so utilizados 8 quilos da matria-prima A e 15 da B.
O almoxarifado informa que, por imposies de espao, s pode fornecer 120 quilos de A e 100 quilos de B no perodo considerado.
Sabendo-se que o lucro pela venda de 800 reais nos lotes de camisas e de 500 reais nos lotes de calas, formule o problema de maximizar o lucro da operao produtiva em pauta.

2 O Problema do Pedido de Socorro

Um posto de rdio capta a seguinte mensagem: Somos nufragos do navio Intrpido. Estamos isoladas em
uma ilha de coordenadas... No momento sofremos com diversos problemas: as cobras venenosas, algumas pessoas
com diarreia, os nativos canibais e a falta de gua e alimentos. Temos duas armas, mas a munio est praticamente no fim. S temos uma ampola de soro antiofdico e o suprimento de gua e comida acabou. Somos 20 pessoas, nos
enviem ajuda !!. O chefe da patrulha de salvamento da rea s possui um helicptero, que, por sua vez,
s pode fazer uma viagem de socorro at a isolada e longnqua ilha. O grupo de salvamento sabe que o
resgate por mar vai levar trs dias para chegar. Para sobreviver, o grupo necessita de seis caixas de alimento, quatro de gua, duas de munio e duas com remdios e soro antiofdico. Em valor para a sobrevivncia, as caixas de munio e remdios so duas vezes mais importantes do que as de gua e
quatro vezes mais importantes do que as de alimentos. Sabendo-se que apenas sete caixas podero ser
transportadas no helicptero, elaborar o programa que otimiza a carga de socorro.

3 O Problema da Refinaria

Em uma determinada refinaria, o petrleo bruto sofre os seguintes processamentos antes de ser transformado em gs/leo ou gasolina bruta:

Cracking

Petrleo
Bruto

Destilao
Atmosfrica

Dessulfurizao

Gs
leos

Reforming
Gasolina

FIGURA 2.11 Esquema de refino.

80

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

A Tabela 2.25 representa a capacidade mxima de processamento de cada unidade de operao.


Formular o problema de modo a maximizar os lucros totais, solucionando-o graficamente.
T A B E LA 2. 25 C AP ACI DADE MX I MA DE P RO C E S S A M E NT O

Operao

Produto
Gasolina Bruta (Ton/ano)

Produto
Gs/leo (Ton/ano)

500.000
700.000
400.000

600.000
500.000

Destilao
Dessulfurao
Reforming
Cracking

450.000
10,00 reais/Ton

Lucros Unitrios

7,00 reais/Ton

4 O Problema do Reflorestamento

Uma companhia de reflorestamento possui reas de plantio em quatro municpios. A empresa considera o uso de espcies de rvores: pinus, carvalho, nogueira e araucria. A Tabela 2.26 resume os dados do problema:
T A B E LA 2. 26 D ADO S DE P L AN TI O E PR O D U T I VI D A D E

Produo Anual Esperada


m3/Hectare

Cidade
rea
Disponvel

Pinus

Carvalho

Nogueira

Renda Anual Esperada


Unidade Monetria/Hectare

Araucria

Pinus

Carvalho

Nogueira

Araucria

1.500

17

14

10

16

12

20

18

1.700

15

16

12

11

14

13

24

20

900

13

12

14

17

10

28

20

600

10

11

12

11

18

17

225

4,8

3,5

Produo
Mnima em
1.000 x m3

Formule o problema de designar as reas de plantio por municpio de forma a maximizar a renda.

5 O Problema do Hospital

O diretor de um hospital deve escolher um esquema de designao de leitos e quartos em uma nova
ala que ser construda.
Existem trs tipos de quartos possveis:

Com um leito.
Com dois leitos.
Com trs leitos.
O total de quartos a construir no pode ultrapassar 70. Por imposies de demanda devero ser
oferecidos pelo menos mais 120 leitos. A percentagem de quartos de um leito deve ser restrita entre
15% a 30% do total de quartos. A necessidade em rea construda de:

MODELOS DE PROGRAMAO LINEAR

81

10 m2 por quarto com um leito.


14 m2 por quarto com dois leitos.
17 m2 por quarto com trs leitos.
Os pacientes dos quartos com dois e trs leitos exigem apenas 80% da mo de obra que os do quarto individual. O que o hospital recebe por cada paciente internado inversamente proporcional capacidade do nmero de pessoas do quarto em que ele est internado. Considerando o hospital sempre lotado, formule o problema de forma a:

Minimizar o esforo da mo de obra em apoio mdico e administrativo.


Maximizar a arrecadao global.
Maximizar o nmero de leitos.
Minimizar o espao necessrio para a nova ala.

6 O Problema da Compra de Avies da VAB

A Viao Area Brasileira est estudando a compra de trs tipos de avies: Boeing 717 para as pontes areas de curta distncia, Boeing 737-500 para voos domsticos e internacionais de mdia distncia e
MD-11 para voos internacionais de longa distncia. Em um estudo preliminar, considerou-se que a capacidade mxima dos avies a serem comprados ser sempre preenchida para efeito de planejamento.
Os dados de planejamento constam da Tabela 2.27:
T A B E LA 2. 27 DADO S O P ER ACI O N AI S D O S A VI E S

Custo
Milhes US$

Receita Terica
Milhes US$

Pilotos Aptos

BOEING 717

5,1

330

30

BOEING 737-500

3,6

300

20

MD-11

6,8

420

10

Tipo do Avio

A verba disponvel para as compras de 220 milhes de dlares. Os pilotos de MD-11 podem pilotar todos os avies da empresa, mas os demais pilotos s podem ser escalados s aeronaves a que foram
habilitados. Cada aeronave necessita de dois pilotos para operar. As oficinas de manuteno podem
suportar at 40 Boeings 717. Um Boeing 737-500 equivale, em esforo de manuteno, a 3/4, e um
MD-11 a 5/3, quando referidos ao Boeing 717. Formular o modelo de PL do problema de otimizar as
aquisies de avies.

7 O Problema da Frota de nibus

Suponhamos que o nmero de nibus requerido para o atendimento da demanda de um determinado


corredor de transporte para a i-sima hora do dia seja bi, i = 1, 2, ..., 24, em que cada nibus trafega seis
horas consecutivas. Se o nmero de nibus no perodo i excede o mnimo requerido bi, isso resultaria
em um custo adicional ci por nibus/hora. Formule o problema como um PPL de modo que o custo
adicional resultante seja minimizado.

82

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

8 O Problema do Corredor de Transporte

Um sistema ferrovirio de transporte suburbano d escoamento principalmente s demandas da, db e dc


de trs grandes bairros, A, B e C, em direo ao centro da cidade. Entre cada um desses bairros existe
uma pequena reduo na demanda de transporte devido ao trfego regional. Essa reduo calculada
percentualmente em 5% a cada intervalo entre os grandes bairros. O sistema ferrovirio , em princpio, insuficiente para arcar com toda a demanda e necessita de uma complementao rodoviria, sob
pena de entrar em colapso. Em virtude desse fato, podemos considerar que o sistema ferrovirio trabalha sempre em sua capacidade mxima. Junto a cada estao ferroviria existe uma opo de embarque
para um sistema rodovirio de desafogo. A percentagem da reduo da demanda proporcionada pelo
corredor rodovirio sobre a demanda do sistema ferrovirio denominada nvel de desafogo. O custo
total do sistema rodovirio diretamente proporcional soma das parcelas de desafogo em cada estao. A capacidade de operao do sistema ferrovirio associada ao trecho considerado no transporte,
sendo denominadas por c1, c2, c3 unidades de demanda, como mostra a Figura 2.12.
Fluxo total c1

Fluxo total c2

Fluxo total c3
Centro

Transporte Ferrovirio
Parcela
atendida pela
ferrovia

Estao
B

Estao
A
da

db

Bairro B
Bairro A
Desafogo
rodovirio

Estao
C
dc

Bairro C

Corredor Rodovirio

FIGURA 2.12 Esquema do sistema de transporte.

Determinar o nvel percentual de desafogo que deve possuir o sistema rodovirio em cada estao
para que, em qualquer trecho da ferrovia, a demanda no ultrapasse os valores estipulados e de modo
a minimizar o custo do sistema global. O trajeto de transporte inicia-se sem demanda anterior na estao A.

9 O Problema da Fbrica de Plsticos

Uma empresa fabrica malas, bolsas, pastas e sacolas de plstico. Ela compra sua matria-prima em rolos com uma certa largura e corta em tiras adequadas a cada tipo de objeto produzido. Sabendo-se que
existem trs tamanhos para cada item, as possibilidades de cortes esto resumidas na Tabela 2.28:
T A B E LA 2. 28 QUAN TI TATI V O S PAR A O S C O RT E S

Malas

Bolsas

P
M
G
P
M
G

1
2
1
1
2
3

2
1
2

Quantidade de Itens Dentro de Cada Mtodo de Corte


3
4
5
6
1

1
1

1
4
1
2
1
1

9
1

MODELOS DE PROGRAMAO LINEAR

83

T A B E LA 2. 28 CO N T I N UAO

Pastas

Sacolas
Perda

P
M
G
P
M
G

1
6
1

2
4
1
2
2

1
5

Quantidade de Itens Dentro de Cada Mtodo de Corte


3
4
5
6
2
1

1
1

2
1
1
2
2

1
2

2
1
2

5
2
4
7

3
1

9
1
1
1
1
1
1
8

Em um determinado dia os pedidos para a fabricao so (pequeno, mdio, grande):


malas: 10, 20, 13; bolsas: 5, 2, 6; pastas: 4, 3, 12; sacolas: 5, 5, 3.
Formular o problema de PL associado a cada um dos seguintes critrios:

Minimizar as perdas de material.


Minimizar o volume no vendido das peas somado com as perdas de material.
Minimizar o estoque no vendido.

10 O Problema das Camisetas

Uma certa fbrica de camisetas deseja aproveitar as finais de um campeonato de futebol para vender camisetas dos times envolvidos. Os jogos vo durar quatro semanas. O custo de produo de
cada camiseta R$2,00 nas duas primeiras semanas e subir para R$2,50 nas duas ltimas, quando
a concorrncia demandar por material no mercado. A demanda semanal de camisetas ser de
5.000, 10.000, 30.000 e 60.000. A capacidade mxima de produo da empresa de 25.000 camisetas.
Na primeira e na segunda semana a empresa poder, em um esforo excepcional, carrear mo de
obra em horas extras e fabricar mais 10.000 camisetas em cada semana. Nesse caso, o custo dessas
camisetas ser de R$2,80. O excesso de produo pode ser estocado a um custo de R$0,20 por unidade por semana.

Pedido 1: Formular o modelo de PL que minimize os custos.

Pedido 2: Aps o planejamento anterior, a direo da empresa verificou que a demanda iria variar
substancialmente dentro dos quatro modelos de camiseta que representavam os quatro times disputando as finais. Apesar de a demanda total ser exatamente aquela anteriormente levantada, o valor
das camisetas iria variar em conformidade com o time e sua posio no campeonato. Nas duas primeiras semanas todos os times estariam em p de igualdade at que fosse decidido os dois finalistas. A
partir da, as camisetas dos times eliminados cairiam em valor e em demanda no mercado, e as dos times finalistas subiriam conforme a Tabela 2.29:

84

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

T A B E LA 2. 29 D EMAN DA DE CAMI S ET AS
Semana
1

3
Demanda

Demanda

Valor

Demanda

Valor

Valor

Demanda

Valor

Time A

1.250

2.500

500

Time B

1.250

2.500

500

Time
Finalista C

1.250

2.500

14.500

30.000

Time
Finalista D

1.250

2.500

14.500

30.000

Sabendo-se que existe um completo equilbrio entre os quatro finalistas, formular o modelo
que maximize os lucros da empresa produtora de camisetas.

11 O Problema dos Ovos de Pscoa

Um fabricante de ovos de pscoa trabalha durante o ano para atender grande demanda de ovos por
ocasio da Pscoa. A fbrica produz quatro tipo de ovos e dois bolos. Basicamente os insumos crticos
de fabricao so os mesmos, variando apenas quantitativamente e podem ser resumidos na tabela a
seguir. Os custos finais dos produtos esto cotados em unidades monetrias.
T A B E LA 2. 30 C O N SUMO DO S I N S UMO S P A RA O S O VO S D E P S C O A
Insumos Crticos
Produtos

Chocolate

Recheio

Embalagem

Mo de Obra

Custo Final

Ovo 15

100 g

5 Unidades

1 Folha

0,05h

1 U.M.

Ovo 20

150 g

10 Unidades

1,5 Folhas

0,08h

2 U.M.

Ovo 25

200 g

20 Unidades

2,0 Folhas

0,1h

3 U.M.

Ovo 30

400 g

30 Unidades

2,5 Folhas

0,12h

4 U.M.

Bolo Tipo1

100 g

7 Unidades

2,0 Folhas

0,1h

3 U.M.

Bolo Tipo2

200 g

12 Unidades

3,0 Folhas

0,15h

4 U.M.

Os quantitativos totais disponveis dos insumos para a empresa, dentro da qualidade exigida, so:
T A B E LA 2. 31 QUAN TI TATI V O S DI S P O N V E I S D O S I NS U M O S
Perodos

Chocolate

Recheio

Embalagem

Mo de Obra

Abr-Mai

5.000 kg

104 Unidades

5 x 103 Folhas

1.000 hs

Jun-Set

70.000 kg

104 Unidades

8 x 105 Folhas

1.500 hs

Out-Jan

40.000 kg

104 Unidades

7 x 103 Folhas

1.000 hs

Fev-Mar

20.000 kg

104 Unidades

8 x 104 Folhas

2.000 hs

As entregas dos ovos e bolos fabricados podem ser realizadas no seguinte esquema:

MODELOS DE PROGRAMAO LINEAR

85

T A B E LA 2. 32 DEMAN DA (D) E PR EO (P ) D E O VO S E B O L O S
Ovo 15
Perodos

Abr-Mai

4 x 10

Jun-Set

(*)

Out-Jan
Fev-Mar

Ovo 20

10

10

3U.M.

2 x 10

2U.M.
2U.M.

Ovo 25

10
10

P
5

10

7U.M.

4 x 10

3U.M.

10

4U.M.

2 x 10

4U.M.

Bolo T1
P

5U.M.

3U.M.

Ovo 30

10
10

9U.M.

2 x 10

6U.M.

6U.M.

Bolo T2

10

4 x 10

6U.M.

2 x 10

4U.M.

4U.M.

7U.M.

10

5U.M.

Custos de
Armazenagem
(por perodo)

0,2 U.M.

0,3 U.M.

0,4 U.M.

0,5 U.M.

0,5 U.M.

0,5 U.M.

Capacidade de
Armazenagem
Total (em
Unidades)

4 x 105

6 x 105

4 x 105

6 x 104

105

4 x 104

(*) As clulas vazias indicam que no existe demanda prevista no perodo, contudo pode haver produo para o estoque.

Formule o problema de planejar o melhor esquema de produo e venda dos ovos de pscoa.

12 O Problema da Evacuao de Emergncia

Uma determinada regio est sendo ameaada pela ruptura de uma barragem e deve ser evacuada em,
no mximo, dez horas. So no total 8.000 homens, 7.900 mulheres e 1.850 crianas a transportar. Cada
pessoa poder levar at dez quilos de bagagem pessoal. Toda a regio foi isolada e s circulam veculos
autorizados para que se evitem acidentes e engarrafamentos. Para efetuar a evacuao esto disponveis os meios:
T A B E LA 2. 33 R ES UMO DO S DADO S O PE RA C I O NA I S

Veculo de
6 Ton do Exrcito

Veculo de
Ton do
Exrcito

Helicptero

nibus

Micro-nibus

Veculo de
Passeio

Quantidade
de Unidades
Disponveis

10

20

15

10

60

Capacidade
de Transporte

20 pessoas

5 pessoas

10 pessoas

30 pessoas

15 pessoas

5 pessoas

Capacidade
para Bagagem

1 ton

20 kg

50 kg

1 ton

500 kg

100 kg

Custo por
Viagem

10 u.m.

4 u.m.

75 u.m.

5 u.m.

3 u.m.

2 u.m.

Tempo de
Viagem

1h

45 min

10 min

45 min

30 min

30 min

Tipo
Informao

Para minimizar o pnico, as crianas devero viajar acompanhadas por suas mes. Existem 10 famlias com 5 filhos, 25 com 4 filhos, 150 com 3, 450 com 2 e 350 com 1. Os carros de passeio s podero
fazer uma viagem de evacuao, ficando, por segurana, retidos fora da rea de perigo.
Formular o programa de evacuao que minimize os custos finais da operao.

86

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

13 O Problema do Aluno Atarefado

Um certo aluno est cursando o ltimo ano do segundo grau e se preparando para o vestibular. Nessa
difcil fase, ele precisa equilibrar sua carga de estudo e lazer, pois esse um dos fatores importantes
para se obter sucesso nesse exame. A Tabela 2.34, fornecida por seu colgio, mostra a distribuio da
carga de aulas ao longo dos meses do ano:
T A B E LA 2. 34 D I S T R I B UI O DA CAR GA HO R RI A
Mar

Abr

Mai

Jun

Ago

Set

Out

Nov

Dez

Matemtica

24

24

30

24

30

24

20

28

24

Qumica

20

18

24

18

20

18

18

28

20

Fsica

20

18

20

18

18

24

18

20

36

Biologia

24

18

20

20

18

18

18

24

36

Portugus

16

16

16

16

14

16

16

16

16

Lnguas

Geografia

10

10

10

10

Histria

10

10

10

10

E a seguinte distribuio de trabalhos (T) e provas (P) no segundo grau:


T A B E LA 2. 35 D I S T R I B UI O DAS PR O V AS

Mar

Abr

Mai

Jun

Ago

Set

Out

Nov

Dez

Matemtica

2P

Qumica

2P

Fsica

2P

Biologia

2P

Portugus

2P

Lnguas

Geografia

Histria

Cada prova exige uma preparao em estudo de 10 horas. Cada trabalho escolar consome 4 horas
de esforo. Considera-se o ms com quatro semanas de sete dias e que o aluno dorme 8 horas por dia,
no estuda no domingo, gasta uma hora por dia em deslocamentos e duas com as refeies. Sabe-se
ainda que desejvel que o aluno tenha pelo menos 20 horas de lazer por ms e 250 horas ao longo dos
nove meses de preparao, alm do descanso do dia de domingo e das frias de julho, para evitar a estafa. Formular o problema de maximizar o aproveitamento do estudo, levando-se em conta que a carga
horria de estudo despendida em um ms em que o descanso igual a 20 horas possui apenas 50% da
eficincia dos meses em que o descanso maior ou igual a 40 horas e 70% dos meses em que esse valor
varia entre 20 e 40 horas.

MODELOS DE PROGRAMAO LINEAR

87

14 O Problema da Distribuio de Facilidades


Cenrio 1

Uma companhia possui duas fbricas, uma em So Paulo e outra em Curitiba. A empresa possui tambm quatro depsitos que facilitam a distribuio de seus produtos: um em Manaus e os outros em Natal, Rio de Janeiro e Belo Horizonte. A companhia vende seus produtos no atacado nas cidades em que
possui fbricas ou depsitos e em mais seis outras praas. A distribuio dos custos unitrios origem x
destino, includo o transporte e as taxas est resumida na tabela abaixo (custos em R$10 por tonelada):
T A B E LA 2. 36 CUS T O DE O PER AO DOS D E P S I T O S
Fbricas

Origem
Destino

SP

CRT

Manaus

1,5

Rio

0,5

0,3

Natal

1,0

0,5

Belo Horizonte

0,2

0,2

P1

1,0

P2

Depsitos
MA

RJ

NAT

BH

2,9

1,0

2,5

1,0

3,5

2,5

P3

1,5

0,5

0,5

2,0

0,2

P4

2,5

1,5

1,0

1,5

1,0

P5

3,5

2,0

0,5

1,5

P6

1,0

1,0

1,5

1,5

Certos clientes expressam sua preferncia em serem atendidos da seguinte forma:


T A B E LA 2. 37 EX I GN CI AS DO S CL I EN T E S
Origem Cliente

SP

P1

P2

CRT

RJ

NAT

P3

P4

P5

P6

Cada fbrica possui uma capacidade mensal de produo e os depsitos um limite de armazenagem do seguinte modo:
So Paulo: 450.000 toneladas
Curitiba: 250.000 toneladas
Manaus: 200.000 toneladas
Rio de Janeiro: 100.000 toneladas
Natal: 80.000 toneladas
Belo Horizonte: 150.000 toneladas

88

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

Cada praa demanda o seguinte volume de produo:


So Paulo: 50.000 toneladas
Curitiba: 20.000 toneladas
Manaus: 100.000 ton
Rio de Janeiro: 60.000 ton
Natal: 50.000 ton
Belo Horizonte: 30.000 ton
P1: 50.000 ton;
P3: 40.000 ton;
P5: 60.000 ton;

P2: 10.000 ton;


P4: 35.000 ton;
P6: 80.000 ton

1. Formular o modelo que minimiza o custo total da distribuio da produo.


2. Considerando que exista um custo de transbordo e estocagem, no includo nas tabelas anteriores, Ci, i = 1, 2, 3, 4, associado a cada depsito, reformular o problema.
3. Qual o efeito imediato de uma possvel ampliao na capacidade dos depsitos? Considerar que
a poltica de investimento para a ampliao dos depsitos seria motivo de um outro estudo mais aprofundado.
4. Seria possvel atender a todas as preferncias dos clientes? Essas preferncias poderiam ser includas de alguma forma no modelo de programao?

Cenrio 2
No problema anterior possvel abrir um novo depsito em Salvador e um em Recife ou ainda ampliar
os depsitos de Natal e do Rio de Janeiro. A Tabela 2.38 resume os impactos, apresentando os custos finais das alternativas.
T A B E LA 2. 38 E ST UDO DE MO DI FI CAO D O S I S T E M A

Consequncia da Ampliao x Novos Depsitos


Custos
(R$104)

Capacidade
(1.000 ton)

Salvador

12

40.000

Recife

10

30.000

Natal

40.000

Rio de Janeiro

35.000

Economia Gerada com o Fechamento


(R$104)
Manaus
Belo Horizonte

10
5

Como a empresa no admite operar mais de cinco depsitos, podero ser fechados os depsitos de
Belo Horizonte ou Manaus, alcanando-se alguma economia face a esse fechamento. A distribuio
dos custos operacionais dos novos depsitos e suas capacidades de atendimento esto resumidas na
tabela a seguir:

MODELOS DE PROGRAMAO LINEAR

89

T A B E LA 2. 39 DI S T R I B UI O DE CUS T O S O P E RA C I O NA I S
Origem

Fbricas

Depsitos

Destino

SP

CRT

SAL

REC

Salvador

1,0

1,5

Recife

1,5

2,0

P1

P2

1,5

2,5

P3

0,3

0,5

P4

0,5

0,5

P5

0,0

0,3

P6

0,5

0,0

Manaus

2,5

2,0

Belo Horizonte

2,0

2,5

Formule o programa de Programao Matemtica para otimizar a tomada de deciso na escolha da


poltica de localizao de recursos.

MTODO
SIMPLEX

3.1 SOLUO EXATA PARA OS MODELOS DE PL


O modelo de programao linear reduz um sistema real a um conjunto de equaes ou inequaes em
que pretendemos otimizar uma funo objetivo. O conjunto de equaes dever ser, em princpio, um
conjunto indeterminado, de forma que o nmero das solues ditas viveis infinito. Mesmo sabendo que alguma soluo tima ser encontrada em um ponto extremo do conjunto das solues viveis,
nosso trabalho no ser pequeno se desejarmos determin-lo. Infelizmente, esse nmero de pontos extremos ou vrtices pode ser muito grande, em nmero exponencial, em relao s variveis. Podemos
resumir em dois blocos as dificuldades que devero ser vencidas por quem deseja encontrar a melhor
soluo possvel para um sistema indeterminado de equaes lineares, segundo um critrio qualquer.
4

Como obter solues viveis bsicas do sistema de equaes.

Como evitar o teste de todas as solues viveis bsicas possveis para garantir a otimizao do
sistema.

nesse contexto que o algoritmo simplex destaca-se como uma das grandes contribuies Programao Matemtica deste sculo. Trata-se de um algoritmo geral extremamente eficiente para a soluo de sistemas lineares e adaptvel ao clculo computacional (apesar de algumas dificuldades
clssicas), e cuja compreenso funcional embasar vrios outros mtodos. O estudo desse algoritmo indispensvel para o profissional que deseja dominar as tcnicas quantitativas de anlise e soluo de problemas em um contexto razoavelmente avanado.

3.2 FUNDAMENTOS TERICOS DO SIMPLEX


O simplex um algoritmo. Genericamente, podemos entender por algoritmo qualquer estratgia para solucionar problemas; contudo, seremos mais precisos, reservando para a palavra algoritmo um conceito diferente de procedimento. Diremos que:
Um procedimento uma sequncia finita de instrues.
e que:
Um algoritmo um procedimento que termina em um nmero
finito de operaes (passos).

92

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

O simplex um algoritmo que se utiliza de um ferramental baseado na lgebra Linear para determinar, por um mtodo iterativo, a soluo tima de um Problema de Programao Linear (PPL). Sua
concepo bsica simples e, por isso mesmo, eficiente. Em linhas bastante gerais, o algoritmo parte de
uma soluo vivel do sistema de equaes que constituem as restries do PPL, soluo essa normalmente extrema (vrtice). A partir dessa soluo inicial vai identificando novas solues viveis de valor igual ou melhor que a corrente. O algoritmo, portanto, possui um critrio de escolha que permite
encontrar sempre novos e melhores vrtices da envoltria convexa do problema, e um outro critrio
que consegue determinar se o vrtice escolhido ou no um vrtice timo.
Antes de desenvolvermos o algoritmo propriamente dito necessrio recordar alguns conceitos
matemticos que sero utilizados pelo mtodo.
Definio 3.1:
Uma base de uma matriz A (m n) uma matriz quadrada de m vetores coluna linearmente independentes em m. As variveis associadas a essas colunas denominaremos
variveis bsicas.
Podemos decompor o vetor das variveis x em (ver Figura 3.1):
x = (xB, xR), onde:
xB representa o vetor das variveis bsicas de m componentes e
xR o vetor das restantes n m variveis no bsicas.
I o conjunto dos ndices correspondentes s variveis bsicas.
J o ndice das variveis no bsicas.
xR

xB

nm

FIGURA 3.1 Decomposio do vetor de variveis.

Como podemos solucionar o conjunto de equaes m m somente em funo das variveis bsicas, temos: x = (xB, 0). Se estendermos o raciocnio matriz A, podemos igualmente dividi-la em uma
matriz m m, matriz que denominaremos por B, de rank = m e outra m (n m), matriz que denominaremos R.
R

r1

...

...

rn m

A=m

nm

FIGURA 3.2 Decomposio da matriz A.

Em relao diviso proposta pela Figura 3.2 podemos afirmar que:


Definio 3.2:
Seja B uma base associada matriz A. O vetor composto de xB = B1 b e xR = 0 chamado
de soluo bsica.

MTODO SIMPLEX

93

E ainda que:
Definio 3.3:
Uma Soluo Bsica sem componentes negativas denominada soluo bsica vivel.

B 1 b

xR

X=

00....00
m

nm

FIGURA 3.3 Decomposio do vetor x.

Para fixar as definies anteriores; seja o seguinte sistema de equaes que constitui um conjunto
de restries de algum problema de Programao Linear:
x1 + 2x2 4
x2 1
Passando para a forma padro de representao temos:
x1 + 2x2 + x3 = 4
x2 + x4 = 1
Nesse pequeno exemplo a diviso da matriz A poderia ser:
+1 +2 +1 0
+1 0
A= 0 +1 0 +1 B = 0 +1
Nesse caso xB = (x3, x4) e xR = (x1, x2)
Definio 3.4:
O conjunto C ={x tal que Ax = b, x 0} denomina-se conjunto de solues viveis.
Da Definio 3.4 decorrem os seguintes teoremas e corolrios importantes para o entendimento do
mtodo simplex:
Teorema 3.1:
O conjunto C das solues viveis de um modelo de programao linear um conjunto
convexo.
Demonstrao:
Seja C o conjunto formado pelos pontos x tais que:
Ax = b
x0

94

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

ELSEVIER

Se C convexo ento (ver definio de conjunto convexo no anexo) para qualquer conjunto composto por dois pontos distintos x1, x2 pertencentes a C, a combinao linear convexa desses pontos tambm pertence a C, o que equivalente a dizer que:
x = x 1 + (1 )x 2 C
{x1, x2} C 0
1

Sejam duas solues viveis de C, x1, x2, tais que x1 x2, ento:
Ax1 = b Ax2 = b
e
x2 0
x1 0
e seja:
x = x1 + (1 )x2
0 1
Ento:
Ax = A[ax1 + (1 a)x2] =
= aAx1 + (1 a)Ax2 =
= ab + (1 a)b = b
e x 0, uma vez que:
x = ax1 + (1 a)x2 0
e
x1 0, x2 0 e 0 a 1
Teorema 3.2:
Toda soluo bsica vivel do sistema Ax = b um ponto extremo do conjunto de solues
viveis, ou seja, um extremo do conjunto C.
Demonstrao:
Seja C o conjunto formado pelos pontos x tais que:
Ax = b
x0
Seja, ainda, uma soluo vivel qualquer x, de dimenso n, na qual, sem perda de generalidade, as
variveis bsicas so as m primeiras:
x1
M
xm
com todos as componentes xi 0
x=
0
M
0

MTODO SIMPLEX

95

Suponhamos, por absurdo, que x no seja um ponto extremo do conjunto convexo C, definido anteriormente. Ento x pode ser obtido por uma combinao convexa de outros dois pontos distintos desse
mesmo conjunto. Chamando de y e z esses dois pontos, temos:
x = ay + (1 a)z
0a1
Como y e z pertencem ao conjunto C, as seguintes relaes de pertinncia so vlidas:
Ay = b e Az = b
y0
z 0
A relao x = ay + (1 a)z, colocada em termos das coordenadas de cada um dos trs vetores, fornece as seguintes relaes:
x1 = ay1 + (1 a)z1
x2 = ay2 + (1 a)z2
...............................................

xm = aym + (1 a)zm
0 = aym+1 + (1 a)zm+1

...............................................

0 = ayn + (1 a)zn

Devido s relaes 0 a 1, y 0 e z 0 as ltimas (n m) relaes do conjunto acima descrito s


podem ser satisfeitas em um dos seguintes casos:
1.

0 < a < 1 e ym + i = zm + i = 0 para i = 1, ..., n m.

Nesse caso teramos x = y = z, pois tanto y quanto z so solues bsicas do sistema em anlise, calculados com as mesmas variveis bsicas.
2.

a = 0 e zm + i = 0 para i = 1, ..., n m.

Por raciocnio anlogo ao caso anterior, deduzimos que x = z. Alm disso, como a = 0, segue-se que
x = y = z.
3.

a = 1 e ym + i = 0 para i = 1, ..., n m.

Por razes anlogas conclui-se que x = y = z.


Dessa forma, demonstra-se que no existem solues viveis y e z, distintas da soluo bsica x
que satisfaam relao x = ay + (1 a)z. Por contradio com a hiptese inicial, demonstra-se, ento,
que x um ponto extremo do conjunto convexo C.
A relao entre pontos extremos de C e as solues viveis bsicas de um PPL uma correspondncia biunvoca, como mostra a Figura 3.4.

Ponto
Extremo

Soluo Bsica
Vivel

FIGURA 3.4 Correspondncia soluo bsica x ponto extremo de um PPL.

96

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

O Teorema 3.2 demonstra a correspondncia no sentido de soluo bsica vivel para ponto extremo, e o Teorema 3.3 completa a associao.
Teorema 3.3:
Um ponto x extremo em um conjunto de solues viveis de um problema de programao linear se e somente se x 0 for uma soluo bsica do sistema de equaes lineares Ax = b
Observamos tambm que um ponto x extremo em um conjunto de solues viveis de um PPL se
e somente se x 0 for uma soluo bsica do sistema de equaes lineares Ax = b.
Corolrio 3.1:
O conjunto dos pontos extremos de um conjunto de solues viveis finito e limitado
m

em Cn

Corolrio 3.2:
Se existe uma soluo vivel, ento existe uma soluo bsica vivel.
Finalmente, o ltimo respaldo necessrio da teoria para entendermos e justificarmos a estratgia do mtodo simplex diz respeito ao valor timo alcanado pela funo objetivo. Qual seria a associao entre os pontos extremos e o valor da funo objetivo? Existe alguma garantia de que o valor timo seja alcanado nos pontos extremos de C? O Teorema 3,4 esclarece a questo colocada.
Teorema 3.4:
1. Se uma funo objetivo possui um mximo ou um mnimo finito, ento pelo menos
uma soluo tima um ponto extremo do conjunto convexo C do Teorema 1.
2. Se a funo objetivo assume o mximo ou o mnimo em mais de um ponto extremo,
ento ela toma o mesmo valor para qualquer combinao convexa desses pontos.
A Figura 3.5 resume simplificadamente os aspectos tericos que garantem o bom funcionamento
do mtodo simplex. O mtodo vai, basicamente, experimentar uma sequncia de soluo bsicas viveis na busca do valor timo para a funo objetivo, e isso um dos aspectos que permitem ao algoritmo um bom desempenho e a garantia de sua convergncia em nmero finito de passos.

Ponto
Extremo

Soluo
tima

Soluo Bsica
Vivel

FIGURA 3.5 Correspondncia com a soluo tima.

3.3 O ALGORITMO PRIMAL SIMPLEX


3.3.1 A Viso Geral do Algoritmo
O algoritmo simplex descreve uma sequncia de passos para a soluo de sistemas de equaes lineares sujeitos a uma funo objetivo. Basicamente, ele dispe sobre trs situaes:

MTODO SIMPLEX

97

1. O mtodo de inverso da matriz bsica m m deduzida a partir de A, uma matriz de restries m n.


2. As condies de troca de variveis dentro da matriz bsica, para que exista garantia de melhoria da
soluo ao longo do desenvolvimento dos passos do algoritmo.
3. As regras de parada do algoritmo e a interpretao dessa situao final.
Eventualmente, o algoritmo pode ser adaptado para promover a escolha da base vivel inicial, ou
soluo vivel de partida. Contudo, a essncia do mtodo desconhece o problema da escolha de uma
base vivel inicial.
A discusso do primeiro aspecto envolvido no algoritmo, ou seja, o mtodo de inverso da matriz
bsica, bastante evidente na apresentao dos quadros do simplex e de suas operaes de pivoteamento. O mtodo normalmente sugerido na literatura o das operaes elementares. Essa tcnica permite que a cada passo do algoritmo o esforo de inverso j despendido em iteraes anteriores seja
completamente aproveitado. importante que se entenda que no existe, de fato, um compromisso do
algoritmo com um mtodo de inverso especfico para a matriz bsica. Em ltima anlise, o mtodo
simplex no obriga que a matriz tenha de ser invertida por um mtodo de pivoteamento, apesar de que
todo o seu raciocnio seja aplicado tradicionalmente junto com essa tcnica.
O segundo ponto abordado por um critrio bastante simples que envolve o clculo da possvel contribuio para o acrscimo ou decrscimo da funo objetivo (conforme o caso: maximizao ou minimizao) com a possvel entrada na base de uma varivel no bsica. O critrio aponta a
escolha da varivel de maior contribuio imediata. A eficincia do mtodo simplex e seu extraordinrio poder de funcionar na prtica esto associados ao critrio adotado nesse clculo.
O terceiro tema diz respeito ao teste de parada que inclui a identificao das condies em que no
existe mais a possibilidade de que uma troca de variveis na base possa melhorar o critrio de otimizao, ou ainda situaes em que identificado um comportamento patolgico de crescimento indefinido ou de inviabilidade do problema.

3.3.2 Um Exemplo de Soluo de um Programa de Programao Linear


Um pequena metalrgica deseja maximizar sua receita com a venda de dois tipos de finas fitas de
ao que se diferenciam em qualidade no acabamento de corte. As fitas so produzidas a partir do
corte de bobinas de grande largura. Existem duas mquinas em operao. Uma das mquinas
mais antiga e permite o corte dirio de 4.000 m de fita. A outra, mais nova, corta at 6.000 m. A venda das chapas no mercado varia com a qualidade de cada uma. Fitas produzidas na mquina antiga
permitem um lucro de 3 u.m. por mil metros de produo. Fitas cortadas na mquina moderna produzem um lucro de 5 u.m. por mil metros de produo. Cada mil metros de fita cortada na mquina
antiga consome 3 homens hora de mo de obra. Na mquina moderna so gastos apenas 2 homens hora. Diariamente so disponveis 18 homens hora para a operao de ambas as mquinas. Determinar a produo que otimiza o lucro da metalrgica.
A modelagem deste problema de programao linear, que denominaremos das fitas ou Fita_1,
simples e pode ser realizada da seguinte forma:
1. Escolha da varivel de deciso
xi comprimento da fita cortada na mquina velha (i = 1) e comprimento da fita cortada na mquina nova (i = 2).
2. Elaborao da funo objetivo
z = Maximizar { f(x) = 3x1 + 5x2} nmero total de unidades monetrias obtidas com a venda das fitas em seus diversos comprimentos.
3. Formulao das restries tecnolgicas
Considerando a unidade de comprimento das fitas igual a 1.000 m temos:

98

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

a) Restrio associada disponibilidade de mo de obra:


3x1 + 2x2 18
b) Restrio do comprimento das chapas fabricadas na mquina velha:
x1 4
c) Restrio do comprimento das chapas fabricadas na mquina nova:
x2 6
4. Restries de no negatividade
x1 0, x2 0.
Podemos resumir o modelo de Fita_1 da seguinte forma:
Maximizar z = 3 x1 + 5x2
Sujeito a:
x1 4
x2 6
3x1 + 2x2 18
x1 0, x2 0
Como nos foi solicitado que, alm do modelo, fosse exibido o melhor esquema para a produo, vamos buscar a soluo do problema. Examinado o modelo de Fita_1 encontramos a necessidade de maximizar uma funo linear sujeita a um conjunto de trs inequaes. Colocado sob a forma de equaes,
o sistema de restries matricial com m linhas e n colunas, onde n > m. Supondo que esse sistema de
equaes possua alguma soluo, ento essa soluo poder ser obtida atravs de um determinante da
ordem de m, correspondendo a uma certa submatriz m m derivada da matriz de restries de Fita_1.
Nesse caso, deduzimos que a matriz de restries de Fita_1 representa um conjunto de equaes indeterminado, ou seja, possuindo infinitas solues aceitveis. Resumindo: se Fita_1 possui soluo, ento
teremos de busc-la maximizando a funo z sobre um conjunto infinito de solues viveis. Vamos
exemplificar a natureza da dificuldade do problema proposto atravs da representao grfica de
Fita_1. Representaremos a varivel x1 no eixo dos x e a varivel x2 no eixo dos y.
Como podemos observar na Figura 3.6 os pontos O, A, B, C, D e E so exemplos de solues para o
conjunto de restries de Fita_1. A Tabela 3.1 mostra o valor assumido da funo objetivo z em cada um
dos pontos selecionados:
x2
X2 = 4

X2 = 6

B
3X1 + 2X2 =18

A
O

x1

FIGURA 3.6 Representao grfica de Fita_1.

MTODO SIMPLEX

99

T A B E LA 3. 1

Pontos Examinados

Coordenadas
(x1, xi)

Valor da Funo
z = 3x1 + 5x2

(0, 0)

(4, 0)

12

(4, 3)

27

(2, 6)

36

(0, 6)

30

(2, 3)

21

Dentre os pontos examinados, a soluo que leva ao maior valor de z a que corresponde ao vrtice
C. Seria esse o valor mximo da funo z? Obviamente, no podemos examinar os infinitos pontos do
poliedro OABCD, apesar de todos eles serem solues possveis ou viveis. Felizmente, o esquema da
Figura 3.5 nos garante que a soluo tima de Fita_1 est em um dos pontos extremos do seu poliedro
de solues viveis. De fato, no faz qualquer sentido o exame de um ponto interno como o ponto
E (apenas sentido didtico), o ponto timo de z jamais ocorrer ali. A Figura 3.7 til para que possamos visualizar graficamente o processo de otimizao de z sobre o conjunto das solues viveis. No
atual exemplo bidimensional, ele representado pelo deslocamento de uma reta. No caso geral teremos um hiperplano representando uma curva de nvel da funo objetivo z que passe por algum ponto
do poliedro de restries.

X2
z = 56

X2
z = 24

Sentido de
crescimento de z

X1

3X1 + 5X2 = z

6
z = 36
Maior crescimento
possvel para z

A
O

X1

FIGURA 3.7 Crescimento da funo z em Fita_1.

Examinando a equao geral das retas associadas s curvas de nvel da funo objetivo, percebemos
que cada valor numrico de z corresponde ao termo independente de alguma reta perpendicular direo
do gradiente, configurada pelos coeficientes dos lucros no modelo. Especificamente, para o exemplo em
pauta, maximizar z corresponde a deslocar a direo proporcionada pela reta 3x1 + 5x2 at obter o mximo valor para seu termo independente. claro que a reta z deve possuir pelo menos um ponto comum
com a figura geomtrica correspondente s restries ou no ser capaz de atend-las. Esse ponto em

100

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

comum a soluo que procuramos. claro que nem todos os sentidos de deslocamento sero teis
para maximizar o termo independente de z. No caso em exame, a melhor direo de deslocamento a
do gradiente que corresponde a um sentido ortogonal ao suporte da reta z. A direo de mximo crescimento da funo z no depende do formato ou do nmero de equaes da matriz de restries do modelo de programao linear. O coeficiente angular de z = c1 x1 + c2 x2 independente do valor de z e
igual a c1/c2. A direo de maior crescimento de z corresponde a uma reta ortogonal a z, sendo, portanto, igual a c2/c1. Nesse caso, otimizar z sobre um conjunto de restries lineares resume-se a encontrar,
na direo do maior crescimento da funo, o mais afastado ponto do universo de solues viveis configurado pela matriz de restries. A Figura 3.7 nos sugere visualmente que a melhor soluo para
Fita_1 estar localizada nas bordas do polgono OABCD. O Teorema 3.4 nos garante que esse nosso
sentimento sempre verdadeiro, j que o polgono OABCD convexo!
Como afirma a segunda parte do Teorema 4, possvel que a direo de busca encontre infinitos
pontos que levariam z a assumir um valor timo. Se o lucro com a venda das fitas da mquina nova de
nosso exemplo fosse 2 unidades monetrias e no 5, um fato interessante ocorreria. Passando a nova
funo z a ser 3x1 + 2x2, sua direo tornar-se-ia paralela restrio imposta pela mo de obra. O polgono das solues viveis no teria sua forma alterada, uma vez que as restries no foram mudadas,
mas a nova direo de crescimento da funo objetivo encontraria simultaneamente os pontos extremos C e B. Para este exemplo, qualquer ponto da face CB uma soluo tima, conforme mostra a Figura 3.8. Em termos do algoritmo simplex isso caracterizado, como veremos oportunamente, pela existncia de variveis no bsicas j J com valor de seus custos reduzidos iguais a zero (zj cj = 0) na soluo tima.

X2
7

z = 35

X2
z = 15
3
Novo sentido de
crescimento de z

3X1 + 2X2 = z

X1

6
z = 18
O sentido da funo z
coincide com o sentido de
B uma das restries extremas

A
O

X1

FIGURA 3.8 Caso de infinitas solues para Fita_1.

Uma outra ocorrncia possvel para o conjunto das solues viveis de um PPL diz respeito sua forma. Eventualmente a matriz de restries pode no corresponder a uma figura fechada. A Figura 3.9
mostra a situao em que o conjunto das solues viveis no limitado. Apesar de representar um caso
peculiar, nem sempre essa caracterstica introduzir qualquer dificuldade para o processo de soluo.
Examinando o exemplo proposto, verificamos facilmente que, se a direo de crescimento da funo z
tiver o sentido contrrio do mostrado na figura, apontando consequentemente para a regio do ponto B,
a soluo desse problema ser limitada. Para a regio do ponto B o conjunto de restries limitado, uma

MTODO SIMPLEX

101

X2

Direo de crescimento
de z no bloqueada
_2
x1 2x2 <

z = 3x1 + 2x2

_ 15
3x1 + 5x2 >

X1

FIGURA 3.9 PPL ilimitado.

vez que a direo de crescimento de z acabar bloqueada pelo encontro de faces do poliedro (duas restries para o caso bidimensional) ou um ponto extremo.
Uma outra possibilidade topolgica para o conjunto das solues viveis a do conjunto vazio. De
um modo geral, nada garante que um problema corretamente formulado tenha uma soluo. Nesse
caso, o PPL denominado invivel ou impossvel. Na interpretao geomtrica, tal fato caracterizado
por uma regio vivel vazia. A Figura 3.10 mostra um exemplo de um PPL invivel.
Infelizmente, os problemas de programao linear no admitem, na esmagadora maioria dos casos, a possibilidade de soluo grfica, j que esta s praticvel quando o problema possui duas variveis. Uma forma de encontrar eficientemente o ponto extremo de C em que a soluo tima de z ocorrer tem sido motivo de grande esforo e pesquisa. nesse sentido que, h mais de meio sculo, a contribuio do algoritmo simplex to importante.
X2

x1 2x2 > 2

2x2 < 1

X1

FIGURA 3.10 PPL invivel.

3.3.3 O Critrio de Melhoria de uma Soluo Bsica


Considerando que exista uma soluo bsica vivel para o seguinte problema de programao linear:
Minimize z = cx
Sujeito a: Ax = b
x0

102

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

ELSEVIER

onde A uma matriz m n, com rank m (todas as linhas linearmente independentes), podemos decompor o vetor c em suas componentes bsicas e no bsicas, c = (cB, cR), e supor que a soluo bsica vivel
1
existente seja representada por um vetor x = B bcujo valor associado dado pela seguinte expres 0
so:
1
1
z0 = c B b= (cB, cR) B b= cB B 1b
0
0
Pode-se escrever o vetor x, em funo das variveis bsicas e no bsicas da seguinte forma:
x
x = B e b = Ax = BxB + RxR.
x R
Multiplicando-se por B1 a expresso de z0 tem-se:
xB = B1b B1RxR
= B1b

B 1 ajxj

j J

dessa forma pode-se reescrever a expresso z = cx como se segue:


z = cx
= cB x B + cR x R

1
= cB
B b

= z0

1
a
x
B
j j + cjxj
jJ
jJ

(3.1)

(zj cj)xj

jJ

onde zj = cBB1aj para cada varivel no bsica.


A Equao (3.1) mostra a possibilidade do estabelecimento de um critrio de verificao de otimalidade ou de melhoria de uma soluo bsica. Quando o valor do termo zj cj estritamente maior que
zero existe a possibilidade de, com a entrada da varivel de ndice j na base, reduzir o valor da funo
objetivo em (zj cj) xj, desde que essa varivel possa assumir um valor positivo. O termo zj cj pode ser
interpretado como o coeficiente de utilidade relativa da varivel xj, e seu valor negativo cj zj comumente denominado custo reduzido. Se denominarmos k o ndice dessa varivel no bsica teremos:
z = z0 (zk ck) xk

(3.2)

Examinando (3.2) fcil concluir que, de uma forma geral, para o processo de otimizao ser interessante que a varivel xk seja incrementada ao mximo. Com o crescimento de xk, o valor de z diminui
na nova soluo bsica, proporcionalmente ao valor do custo reduzido associado. Como sabemos que:
xB = B1b B1 akxk = b ykxk

(3.3)

yk = B1ak e b = B1b

(3.4)

onde

MTODO SIMPLEX

103

Denotando as componentes do vetor xB e b respectivamente por x B , x B , ..., x Bm e b 1 , b 2 , ... , b m


1
2
temos, finalmente, a seguinte expresso:
x B1 b 1 y 1k
x b y
B
2 = 2 2M k x k
M
x M y
Bm b m mk

(3.5)

A Expresso (3.5) nos mostra que se existir algum elemento de yik, yik, 0, ento o x B associado
i

pode crescer indefinidamente com o crescimento de xk. Se existir yik > 0, ento x B decresce com o increi
mento de xk. Para satisfazer as condies de no negatividade de uma soluo bsica vivel, a nova varivel xk s poder crescer at que a primeira componente x B seja reduzida a zero, o que corresponde
i

ao mnimo entre todos os bi

y ik

para os valores positivos de yik, ou:


bs

mnimo b
= 1 i m i : yik > 0 x s
y

y sk
ik

(3.6)

Note que para garantir a independncia linear da coluna k com as demais colunas existentes na
base indispensvel que ysk 0. Pelo critrio sugerido em (3.2), a varivel xk seria a que entraria na
base melhorando o valor da funo objetivo, e a varivel xs, linearmente dependente de xk, deixaria a
base ao ter o seu valor numrico esgotado completamente pelo crescimento de xk.

Exemplo da aplicao do critrio de melhoria


Seja o problema da fabricao das fitas do item 3.2. Podemos reescrev-lo na forma padro, considerando a transformao para um PPL de minimizao, da seguinte forma:
Minimizar z = 3x1 5x2
Sujeito a:
x1
+ x3
=4
x2
+ x4 = 6
3x1 + 2x2
+ x5 = 18
x1 0, x2 0, x3 0, x4 0, x5 0
Onde identificamos a matriz de restries, de custos e dos termos independentes como se segue:
1 0 1 0 0
A = [a1, a2, a3, a4, a5] = 0 1 0 1 0

3 2 0 0 1

4
b = 6 e c = [3, 5, 0, 0, 0]

18

Consideremos a base composta pelas variveis x3, x2, x5, ou seja:


1 0 0
B = [a3, a2, a5] = 0 1 0

0 2 1

104

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

Nesse caso as variveis x1 e x4 so no bsicas. I = {3, 2, 5}, J = {1, 4}


Calculando a inversa da base temos:
1 0 0
B1 = 0 1 0
0 2 1
Podemos com a inversa da base calcular o vetor xB, xR e z da seguinte forma:
x3
1 0 0 4 4
xB = x 2 = B1 b = 0 1 0 6 = 6
0 2 1 18 6
x5
x 0
xR = 1 =
x 4 0
4
zD = cx = cBxB + cRxR = [0 5 0] 6 = 30
6
A base escolhida corresponde ao ponto D da Figura 3.6. Para melhorar a soluo zD ser necessrio
calcular os valores (zj cj) para j J, ou seja:
z1 c1 = cBB1a1 c1
1 0 0 1
= [0 5 0] 0 1 0 0 (3)
0 2 1 3
=3
z4 c4 = cBB1a4 c4
1 0 0 0
= [0 5 0] 0 1 0 1 (0)
0 2 1 0
=5
Pelo critrio adotado, a varivel x1
b

bs
mnimo
= 1 i m = i : y ik > 0, que no caso x5.
y sk
y ik

entrar

x 3 4 1 4
x 2 = 6 / 0=
x 5 6 3 2
A nova base ser formada pelas variveis x3, x2, x1, ou seja:
1 0 1
B' = [a3, a2, a1] = 0 1 0
0 2 3

na

base

saindo

varivel

MTODO SIMPLEX

105

Correspondendo soluo tima do problema, ou o vrtice C da Figura 3.6.


Podemos formalizar o processo de escolha da base inicial de clculo, critrio de troca de variveis
na base e regra de parada em um algoritmo da seguinte forma:
Inicializao:
Determinar uma soluo bsica inicial x B . Seja I o conjunto de ndices das colunas de A pertencentes
base e J = N\I (operao de diferena de conjuntos).
Passo 1: Calcular a matriz Y=(yj) = (ysj), s I e j J e os valores zj cj, "j J como se segue:
Y = B1 R
zj = cByj, j J
Se zj cj 0 " j J ento a soluo bsica vivel xB tima. Pare!
Caso contrrio, fazer J1 = {j J | zj cj > 0}
Passo 2:
Se yi 0 para pelo menos um j J1, no existe soluo tima finita. Pare!
Caso contrrio, determinar k de modo que zk ck = max { z j c j }
jJ

Na coluna k encontrar a relao:

bs
x
= s = min i : y ik > 0 x s
y sk y sk 1 i m y ik

Passo 3: Considere a nova base B deduzida a partir da anterior pela substituio de as por ak.
B = (B\{as} {ak})
Calcular a nova soluo bsica vivel:
xB = B1b
z0 = z0 (zk ck)

x Bs
y sk

Atualizar:
R = (R\{ak}) {as}
I = (I\{s}) {k}
J = (J\{k}) {s}
Voltar para o passo 1.

106

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

3.3.4 O Quadro Simplex


Visando a facilitar a execuo de clculos manuais tradicionalmente utilizamos de um formato tabular
para o desenvolvimento do algoritmo simplex. Observamos que esse formato apenas um recurso
para que possamos acompanhar melhor os clculos propostos no item 3.3. De uma forma geral, descrevemos um problema de programao linear como:
Min z = c1x1 + c2x2 + + csxs + 0xs+1 +0xs+2 +... + 0xn
Sujeito a:
a11x1 + a12x2 + + a1sxs + xs+1 + 0 + 0 + + 0 =b1
a21x1 + a22x2 + + a2sxs + 0 + xs+2 + 0 + + 0 =b2
M

M= M

am1x1 + am2x2 + + amsxs + 0 + 0 + 0 + + xn =bm


x1, x2, ..., xn 0
Organizemos agora um quadro inicial para o clculo conforme o desenho que se segue:
Quadro Inicial:
QU A D R O 3. 1 QUADR O I N I CI AL DO S I MPL EX NO F O RM A T O T A B U L A R

x1 .............. xk .................. xs

xs+1 .............. xs+r ......... xn

c1 .............. c1k ................ cs

cs+1 .............. cs+r ......... cn

xs+1

b1

a11 .............. a1k .............. a1s

xs+r

br

xn

bm

am1 ............. amk ............. ams

Termo
Ind.

Matriz de Restries
(m m n)

1
0

ar1 .............. ark .............. ars


M

M
0

0
0

0
0

bs
ask

Variveis de Folga
(m m)

O que corresponde seguinte configurao matemtica associada ao Quadro 3.1:


QU A D R O 3. 2 I D EN TI FI CAO DAS MAT R I Z E S E VA RI VE I S NO F O RM A T O S I M P L E X T A B U L A R

ndice das Variveis


Valor de zj cj

Valor da F.O.
ndice
das
Variveis
Bsicas

xB

Y = B1 R

B1

Variveis No Bsicas

Variveis Bsicas

Que ao longo das iteraes do algoritmo corresponde seguinte forma cannica:

rea
de
Clculos

MTODO SIMPLEX

107

Quadro Geral:
Q U A D R O 3. 3 Q UADR O GER AL DO SI MP L E X

x1 .............. xk .............. xs
z
xB1

b1

xB r

br

xB m

bm

xs+1 .............. xs+r .............. xn

z1 c1 .... zk ck .... zs cs zs+1 cs+1 ... zs+r cs+r ... zn cn


y11 .............. y1k .............. y1s
M

yr1 .............. yrk .............. yrs


M

B1

bs
ysk

ym1 ............. ymk ............. yms

Com o auxlio do quadro anterior seguiremos estes passos para a soluo do sistema de inequaes
lineares sujeitas a uma funo objetivo:
Passo 1: Organizar o quadro inicial como indicado, partindo de um PPL na forma cannica.
Passo 2: Realizar o teste de parada:

Se todos os z j c j

0 (j J), ento a soluo tima foi alcanada.

Caso contrrio, escolha o maior z j c j

0, digamos zk ck, escolhendo o vetor associado xk para

entrar na base.
Passo 3: Definir a varivel que sair da base:

Se yik 0 para todo i = 1, ..., m, ento a varivel xk poder ser diminuda indefinidamente e o valor de z tender ao infinito negativo. Nesse caso, a soluo ser ilimitada.
Se yik > 0 para algum i, i = 1, ..., m, ento faa:
b
Calcule r, onde r a varivel bsica relacionada ao mnimo entre os coeficientes i . O elemento
y ik
yrk denominado piv.
Passo 4: Substituir a r-sima varivel, correspondente a r-sima equao pela varivel x k, que
passar a integrar a nova base, e recalcular as matrizes B -1 , Y e os vetores z j c j , x B e z 0 . Retornar
ao passo 2.
Para recalcular as matrizes e os vetores do mtodo, podemos utilizar diretamente as frmulas deduzidas no item 3.3 ou, com base no quadro anteriormente proposto, utilizar o mtodo de inverso de
matrizes por operaes elementares, considerando que as variveis que permaneceram na base j possuem suas colunas canonizadas, ou seja, transformadas em vetores cannicos. Para canonizar a coluna
da nova varivel dividiremos a linha r pelo elemento piv, obtendo 1 na posio do piv. Para reduzir
a zero os demais elementos da coluna utilizaremos a adio de mltiplos da linha (mais dvidas, ver o
mtodo de inverso de matrizes por operaes elementares no anexo).
A utilizao direta das equaes algbricas possui uma grande desvantagem para o clculo manual,
pois dificulta o acompanhamento das operaes. Esse mtodo prprio para as implementaes computacionais. O formato em quadro, apesar de exigir um nmero maior de operaes algbricas e de espao
na memria (caso venha a ser automatizado), uma vez que trabalha com toda a matriz Y, permite uma
melhor viso da evoluo lgica do algoritmo. A propriedade algbrica de inverso da matriz aumentada permite que os vetores zj cj, x B e z0 possam igualmente ser obtidos por ocasio da inverso da nova
matriz B atravs de operaes elementares (ver anexo Tpicos em lgebra Linear e Convexidade).

108

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

Quadro de Pivoteamento
Quando o algoritmo simplex introduz uma nova varivel na base e estamos usando o quadro para o reclculo, tudo se passa como se uma das colunas da matriz ainda tivesse de ser calculada pelo mtodo
de inverso por operaes elementares para completar a obteno da inversa de B. As variveis que no
so alteradas preservam suas colunas canonizadas, o que muito conveniente ao clculo, pois aproveita o trabalho de inverso realizado no passo anterior. A operao que denominamos de pivoteamento representa, em ltima anlise, a aplicao das regras do mtodo da inverso de matrizes por operaes elementares ao quadro proposto.
A primeira providncia para a inverso da nova base formada com a entrada da varivel xk e a sada
de xr exatamente obter um valor unitrio na posio do elemento piv. Isso alcanado pela diviso de
toda a linha do piv pelo valor desse elemento na coluna de xk. Como o quadro uma matriz aumentada,
a linha do piv estende-se ao termo independente associado. Pelo mesmo raciocnio, podemos facilmente entender por que a posio da linha dos zj cj far parte tambm das colunas das variveis.
Infelizmente, o aspecto matemtico das equaes que se formam ao tratarmos algebricamente uma
operao de pivoteamento pode ser considerado um pouco complicado, mas somente atravs da
compreenso dessas expresses que seremos capazes de automatizar o processo.
Suponhamos que a varivel xk tenha sido escolhida, em uma determinada iterao do mtodo simplex, para entrar na base, pois possua o maior valor de zj cj no quadro, e a varivel xr foi a primeira
que esgotou seu valor positivo com o crescimento de xk, devendo, portanto, deixar a base. Nesse caso, o
piv ser o elemento yrk (coluna k, linha r). Como a nova coluna vai, quando canonizada, ocupar a posio r dos vetores cannicos que compem a base, o elemento yrk deve ser transformado em um valor
unitrio por uma operao elementar vlida. A operao mais indicada para o caso a diviso da linha
do piv pelo valor dele mesmo.
Aps a adequao do piv urge reduzir a zero toda a coluna do piv, de modo a completar a operao de inverso preconizada pelo mtodo das operaes elementares. Como o piv unitrio, cada posio poder ser anulada pela soma de um valor simtrico obtido pela multiplicao da linha do piv
por 1 vezes o valor do elemento a ser anulado. Todas as operaes necessrias so independentes entre si e suficientes para completar a inverso da base. A seguinte sequncia de quadros esclarece algebricamente a operao de pivoteamento:
QU A D R O 3. 4 I D EN TI FI CAO DAS V AR I V E I S Q U E E NT RA M E S A E M D A B A S E

Maior valor no quadro


x1 .............. xk .............. xs
z
xs+1

b1

xs+r

br

xn

bm

z1 c1 .... zk c1k .... zs cs

xs+1 .............. xs+r .............. xn


zs+1 cs+1 ... zs+r cs+r ... zn cn

y11 .............. y1k .............. y1s


M

yr1 .............. yrk .............. yrs


M

ym1 ............. ymk ............. yms

1
0

M
0

M
0

0
0

0
0

0
M

Linha associada
b
ao mnimo valor s
ysk

MTODO SIMPLEX

Quadro aps a Diviso pelo Piv


Q U A D R O 3. 5 O PER AO DE P I V O TEAM E NT O

x1 .............. xk .............. xs
z
xs+1

b1

xk

br
y rk

xn

bm

z1 c1 .... zk ck .... zs cs

xs+1 .............. xs+r .............. xn


zs+1 cs+1 ... zs+r cs+r ... zn cn

y11 .............. y1k .............. y1s


M

1
0

y r1
y
y
............. rk ............. rs
y rk
y rk
y rk
M

ym1 ............. ymk ............. yms

0
0

0
0

1
y rk

Elemento Piv

O Quadro aps a Canonizao da Coluna do Piv


Q U A D R O 3. 6 Q UADR O FI N AL

x1 .............. xk .............. xs
(zj cj)

cB B
(zk ck)

br
y rk

y
b1 1k br
y rk

xk

br
y rk

xs+

xn

y
bm mk br
y1k

y rj
y rk

xs+1 .............. xs+r .............. xn

(zk ck)
c zk
...... 0
0 ...... k
y rk

y11 +

y r1
y
(y1k) 0 y1s + rs (y1k)
y rk
y rk

ym1

y r1
y
............. 1 ............. rs
y rk
y rk

y r1
(ymk)
y rk

y r1
(ymk)
y rk

yms

y1k
y rk
M

1
y rk
M
y mk
y rk

0
0
0
1

109

110

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

3.3.5 Um Exemplo Numrico


Seja o seguinte problema de programao linear:
Maximizar z = 4x1 + 5x2 + 9x3 + 11x4
sujeito a:
x1 + x2 + x3 + x4 15
7x1 + 5x2 + 3x3 + 2x4 120
3x1 + 5x2 + 10x3 + 15x4 100
x1 0, x2 0, x3 0, x4 0
1. Transformao do modelo para o formato padro:
Maximizar z = 4x1 + 5x2 + 9x3 + 11x4 + 0x5 + 0x6 + 0x7
sujeito a:
x 1 + x2 + x 3 + x4 + x5

= 15

7x1 + 5x2 + 3x3 + 2x4 + x6

= 120

3x1 + 5x2 + 10x3 + 15x4 + x7

= 100

2. Quadro inicial de clculo, Passo 1 do algoritmo:

x1

x2

x3

x4

x5

x6

x7

11

x5

15

x6

120

x7

100

10

15

Observar que no Quadro 1 as variveis de folga constituem uma base cannica, sendo desnecessria a
determinao de sua inversa.
3. Passo 2 do algoritmo: regra de parada.
Como existe zj cj > 0 uma varivel deve entrar na base. A escolhida x4 pois z4 c4 = 11 o maior valor
entre os zj cj. A seta indica a entrada de x4 na base.
Maior valor zj cj no quadro

x1

x2

x3

x4

x5

x6

x7

11

x5

15

x6

120

x7

100

10

15

MTODO SIMPLEX

111

4. Passo 3 do algoritmo: determinao da varivel que sai da base (determinao do piv).


A varivel x7 sai da base uma vez que 100/15 o menor valor para o crescimento de x4. A seta horizontal indica a sada de x7 da base.
x1

x2

x3

x4

x5

x6

x7

11

x5

15

15/1

x6

120

120/2

x7

100

10

15

100/15

Piv

5. Passo 4 do algoritmo: operao de clculo dos valores de soluo associados nova base.
No caso do uso do quadro simplex, essa fase corresponde ao denominado pivoteamento, que permite o
clculo das matrizes do problema atravs do mtodo das operaes elementares. A linha do piv dividida por 15, que o valor do piv.

Etapa 1 Construo do Piv:


x1

x2

x3

x4

x5

x6

x7

11

x5

15

x6

120

x7

20/3

1/5

1/3

2/3

1/15

Etapa 2 Construo da Coluna do Piv:


x1

x2

x3

x4

x5

x6

x7

220/3

9/5

4/3

5/3

11/15

x5

25/3

4/5

2/3

1/3

1/15

x6

320/3

33/5

13/3

5/3

2/15

x4

20/3

1/5

1/3

2/3

1/15

6. Passo 2 do algoritmo: aplicao da regra de parada.


Nesse caso o maior zj cj corresponde a z1 c1 = 9/5, que conduz a varivel x1 a entrar na base.

112

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

7. Passo 3 do algoritmo: determinao da varivel que sai da base (determinao do piv).

x1

x2

x3

x4

x5

x6

x7

220/3

9/5

4/3

5/3

11/15

x5

25/3

4/5

2/3

1/3

1/15

125/12

x6

320/3

33/5

13/3

5/3

2/15

1600/99

x4

20/3

1/5

1/3

2/3

1/15

100/3

8. Passo 4 do algoritmo: operao de clculo dos valores de soluo associados nova base.

Etapa 1 Construo do Piv:


x1

x2

x3

x4

x5

x6

x7

220/3

9/5

4/3

5/3

11/15

x1

125/12

5/6

5/12

5/4

1/12

x6

320/3

33/5

13/3

5/3

2/15

x4

20/3

1/5

1/3

2/3

1/15

Etapa 2 Construo da Coluna do Piv:


x1

x2

x3

x4

x5

x6

x7

1105/12

1/6

11/12

11/15

x1

125/12

5/6

5/12

5/4

1/12

x6

455/12

7/6

13/12

33/4

5/12

x4

55/12

1/6

7/12

1/4

1/12

9. Passo 2 do algoritmo: aplicao da regra de parada.


Ainda temos z3 c3 = 11/12, que conduz a varivel x3 a entrar na base.
10. Passo 3 do algoritmo: determinao da varivel que sai da base (determinao do piv).

x1

x2

x3

x4

x5

x6

x7

1105/12

1/6

11/12

9/4

7/12

x1

125/12

5/6

5/12

5/4

1/12

x6

455/12

7/6

13/12

33/4

5/12

x4

55/12

1/6

7/12

1/4

1/12

Piv

25

55/7

MTODO SIMPLEX

113

11. Passo 4 do algoritmo: operao de clculo dos valores de soluo associados nova base.
x1

x2

x3

x4

x5

x6

x7

695/7

3/7

11/7

13/7

5/7

x1

50/7

5/7

5/7

10/7

1/7

x6

325/7

6/7

13/7

61/7

4/7

x3

55/7

2/7

12/7

3/7

1/7

12. Passo 2 do algoritmo: aplicao da regra de parada.


Todos os zj cj 0, o que conduz regra de parada. A soluo tima foi encontrada.
O valor timo de z 695/7, com x1 = 50/7; x6 = 325/7 e x3 = 55/7.

3.3.6 O Caso em que a Base Vivel Inicial no Est Disponvel


No algoritmo descrito, a fase de obteno de uma base vivel para o problema foi considerada superada.
Realmente, quando, por meio da incluso de variveis de folga na passagem da descrio da forma cannica para a padro obtemos uma base inicial (e ainda por cima cannica), o algoritmo descrito soluciona bem o problema. Mas e quando isso no acontece? Seja o exemplo que se segue:
Minimizar z = 3x1 5x2
sujeito a:
4

x1
x2
3x1 + 2x2

6
18

x1 0, x2 0
Que ao ser convertido para a forma padro ser:
Minimizar z = 3x1 5x2 + 0x3 + 0x4 + 0x5
sujeito a:
x 1 + x3

=4

x2 + x4

=6

3x1 + 2x2 x5 = 18
x1 0, x2 0, x3 0, x4 0, x5 0
Obviamente a matriz formada pelas variveis de folga no uma base vivel: 1
1 0 0
B = 0 1 0
0 0 1
1. B uma base, contudo no atende exigncia de conduzir a uma soluo em que todas as variveis sero maiores ou
iguais a zero.

114

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

A Figura 3.11 mostra graficamente que o ponto origem (todas as variveis reais iguais a zero) no
pertence ao espao das solues viveis desse problema, ou seja, a base tradicionalmente considerada
como inicial falha em ser vivel.
X2

X1
0

FIGURA 3.11 Espao das solues viveis do exemplo.

Nesse ponto, temos dois caminhos a adotar:

Descobrir uma base vivel (pontos A, B ou C) por um outro mtodo qualquer e ento aplicar o
simplex a partir dessa base.

Usar o prprio simplex para gerar uma base vivel, a partir de uma base qualquer invivel.
Optaremos pela segunda alternativa. Nesse caso, inicialmente, o algoritmo buscar uma base vivel para, posteriormente, buscar o timo do programa em si. Tal mtodo de soluo ter genericamente
duas fases. Podemos descrever essas etapas da seguinte forma:

Primeira Fase: o procedimento utilizar o simplex para buscar uma base vivel de soluo.
Segunda Fase: de posse da base calculada na primeira fase aplicaremos o mtodo simplex tradicional em busca do timo do programa.

Para operacionalizar a busca da base vivel inicial existem duas alternativas, todas com base na
ideia de variveis artificiais. Vamos definir como variveis artificiais aquelas que faremos introduzir
no programa de otimizao para que tenhamos a to necessria base vivel inicial. Essas variveis no
necessitaro possuir qualquer ligao com a realidade da modelagem do problema, da o nome de artificiais. No exemplo anterior, como apenas uma das colunas da base apresenta valor negativo em sua
componente cannica (terceira coluna), ou seja, existe somente uma varivel de folga negativa, nos
bastar uma artificial para corrigir essa anomalia. Podemos obter uma base vivel cannica para o programa do exemplo com a introduo de uma varivel artificial como representada a seguir:
Minimizar z = 3x1 5x2 + 0x3 + 0x4 +0x5 + ?x 6a
sujeito a:
x1

x3
x2

x4

3x1 + 2x2

x5 + x 6a

=4
=6
= 18

x1 0, x2 0, x3 0, x4 0, x5 0, x 6a 0

MTODO SIMPLEX

115

Consequentemente podemos agora dispor da seguinte base cannica:


x 3 x 4 x 6a
1 0 0
B= 0 1 0
0 0 1
O ponto de interrogao no custo da varivel artificial um aspecto fundamental para nossa discusso, e nele que os dois mtodos de soluo mais conhecidos diferem. Enquanto as variveis de
folga no possuem custos, apesar de estarem ligadas ao sentido lgico do modelo, as artificiais esto
ligadas apenas estratgia adotada para a obteno de uma base vivel para o simplex. Como elas
possuem um sentido dentro de um estratagema matemtico, seu custo associado pode ser til nessa estratgia.
O raciocnio simples: se desejamos apenas, em uma primeira fase, obter uma base vivel real para
o programa, teremos de nos livrar, em algum momento, dessas tais variveis artificiais. Pensando em
termos do funcionamento do algoritmo simplex, ser de todo o nosso interesse que as variveis artificiais deixem o mais rapidamente possvel a base que ser calculada a cada iterao. Nenhuma dessas
bases artificialmente constitudas poder ser usada diretamente na otimizao do problema real (pelo
menos em tese) e elas representam esforo de clculo. Uma maneira natural de pensar uma sada seria
associar a essas variveis intrusas um custo extraordinariamente alto. Obviamente, se utilizarmos o
simplex para minimizar um problema em que existem variveis extraordinariamente grandes na base,
o mtodo ter como prioritrio troc-las por outras mais baratas, o que, em tese, conduziria a uma soluo vivel.
A estratgia anteriormente descrita conhecida como o mtodo do grande M, em que M o valor gigantesco que atribumos aos custos das variveis artificiais. A principal desvantagem desse mtodo reside na possibilidade de dificuldades numricas quando implementado computacionalmente. Quando M um valor muito grande podem ocorrer erros numricos de arredondamento nas divises decorrentes, especialmente quando a diferena entre M e os valores dos demais custos do quadro excessivamente grande.
Por outro lado, quando M adotado inconvenientemente pequeno podem decorrer efeitos de modelagem. Nessa alternativa, as variveis artificiais podem ser tomadas pelo programa por variveis
reais. Para evitar as dificuldades que o mtodo do grande M pode introduzir na escolha do valor de M,
temos a possibilidade de separar completamente as duas fases de clculo, escolhendo, inclusive, uma
funo objetivo diferente para cada fase.
Na fase inicial podemos usar uma funo objetivo que minimize o nmero de variveis artificiais
existentes na base. Como uma base real no possui qualquer varivel artificial no nula, concluda a
primeira fase, prosseguiremos normalmente com os clculos com a funo objetivo original do problema. Esse procedimento geral de dividir a otimizao em duas etapas, com funes objetivos diferentes, denominado mtodo das duas fases. O nome do mtodo est vinculado existncia de duas
funes objetivo, uma para cada fase, uma vez que o mtodo do grande M tambm opera basicamente em duas fases.
Para esclarecermos como podemos realizar, na prtica, esses clculos, vamos prosseguir na soluo do exemplo sugerido. Inicialmente, utilizaremos o quadro simplex para acompanhar os clculos
de cada iterao. Introduziremos uma pequena alterao no quadro de modo a permitir que possamos acompanhar as duas fases do mtodo, a saber: uma linha para cada funo objetivo conforme
constante no Quadro 3.7. A funo objetivo da primeira fase ser minimizar o nmero de variveis
artificiais. Denominaremos a funo da primeira fase por q e a expressaremos, para o exemplo, da seguinte forma:
Minimizar q = 0x1 + 0x2 + 0x3 + 0x4 + 0x5 +1x 6a
que nos levar ao Quadro 3.7:

116

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

QU A D R O 3. 7 U M EX EMPL O DO MTO DO D A S D U A S F A S E S

x1

x2

x3

x4

x5

X 6a

Funo da 1a Fase

Funo da 2a Fase

x3

x4

x6a

18

Observamos que, ao simplesmente transcrevermos os custos das variveis bsicas para o quadro,
como fazamos no mtodo tradicional, deixamos de considerar que o vetor das variveis bsicas no
nulo. Nos quadros do mtodo clssico, os custos das variveis eram sempre zero, o que tornava nulo o
termo zj na primeira iterao. Nesse caso, era correto transcrever para o quadro a linha da funo objetivo com o sinal trocado. Agora a varivel bsica artificial x6a possui um custo unitrio e zj no ser automaticamente igual a zero, devendo ser calculado. Isso ocorre exatamente porque estamos forando a varivel artificial a pertencer base. Notamos, contudo, que o termo cj nulo para todas as variveis, com exceo da varivel x6a, o que nos conduz a:
zj cj = cBB1 aj cj
que, nesse caso, ser:
1 0 0 0
z 6 c 6 = [ 0 0 1 ] 0 1 0 0 1 = 0
0 0 1 1
1 0 0 1
z 1 c 1 = [ 0 0 1 ] 0 1 0 0 0 = 3
0 0 1 3
1 0 0 0
z 2 c 2 = [ 0 0 1 ] 0 1 0 1 0 = 2
0 0 1 2
1 0 0 1
z 3 c 3 = [ 0 0 1 ] 0 1 0 0 0 = 0
0 0 1 0
1 0 0 0
z 4 c 4 = [ 0 0 1 ] 0 1 0 1 0 = 0
0 0 1 0
1 0 0 0
z 5 c 5 = [ 0 0 1 ] 0 1 0 0 0 = 1
0 0 1 1

MTODO SIMPLEX

117

O valor dos custos reduzidos das variveis no bsicas, para esse caso, acaba igual ao valor dos
coeficientes das variveis na linha em que a varivel artificial introduzida. Se houver mais de uma
varivel artificial, o produto cBB1aj corresponde a simplesmente somar esses coeficientes para as linhas em que essas variveis forem necessrias, uma vez que haver um elemento unitrio no vetor
de custos bsicos para cada uma dessas linhas. Essa a razo matemtica que leva alguns textos a
enunciar que, para obter a funo objetivo da primeira fase do quadro simplex, devemos somar as linhas das variveis artificiais linha da funo objetivo.
Outra forma de justificar essa regra lembrar que no quadro simplex estamos sempre trabalhando
com uma matriz aumentada, ou seja, devemos canonizar as colunas das variveis artificiais (o que nos
levar a somar as linhas da matriz A funo objetivo, exatamente como prev a regra anterior quando
formos anular o custo reduzido da coluna artificial).
Pivoteando no elemento unitrio de x 6a chegamos ao quadro inicial:

(+)

18

x1

x2

x3

x4

x5

x6a

Funo da 1a Fase

Funo da 2a Fase

x3

x4

x6a

18

Que vai conduzir x1 a entrar e x3 a sair da base, conforme o quadro que se segue:

18

x1

x2

x3

x4

x5

x6a

Funo da 1a Fase

Funo da 2a Fase

x3

4/1 = 4

x4

x6a

18

18/3 = 6

x1

x2

x3

x4

x5

x6a

Que resultar em:

Funo da 1a Fase

12

Funo da 2a Fase

x1

x4

x6a

O que, finalmente, nos levar ao quadro em que a funo objetivo da primeira fase foi otimizada (trmino da primeira fase-ponto c da Figura 3.11).

118

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

x1

x2

x3

x4

x5

xa
6

Funo da 1a Fase

27

9/2

5/2

Funo da 2a Fase

x1

x4

3/2

1/2

1/2

x2

3/2

1/2

1/2

A partir desse quadro, a varivel x6a pode ser desconsiderada do processo sem qualquer perda de
informaes para o programa. Recomenda-se, portanto, que ela seja marcada para que no se realizem
clculos inteis de custos reduzidos. Retomando o processo, na segunda fase termos:

x1

x2

x3

x4

x5

x6a
Funo da 2a Fase

27

9/2

5/2

x1

x4

3/2

1/2

1/2

x2

3/2

1/2

1/2

x1

x2

x3

x4

x5

x6a

Que leva ao quadro:

Funo da 2a Fase

36

x1

2/3

1/3

1/3

x3

2/3

1/3

1/3

x2

x6a

Que nos conduz ao quadro timo a seguir:


x1

x2

x3

x4

x5

Funo da 2a Fase

42

x1

x5

1/3

x2

O grfico da Figura 3.12 mostra, geometricamente, a sequncia das bases geradas nas duas fases do
mtodo:
Sugere-se que o leitor resolva este mesmo exemplo utilizando algum custo elevado M, associado
varivel artificial x 6a .

MTODO SIMPLEX

X2

119

X2

z = 42

z = 36

q=0

z = 27

q=6

z = 12

q = 18

z=0
0

X1

X1

FIGURA 3.12 Caminho das sequncias de bases.

3.4 CASOS ESPECIAIS PARA O SIMPLEX


3.4.1 Degenerao e Ciclagem
A convergncia do algoritmo simplex garantida pela certeza de que, a cada passo, o critrio de escolha de troca de uma varivel da base vai redundar em melhoria para o valor da funo objetivo. Mesmo
que fosse necessrio examinar um nmero exponencial de combinaes de variveis para formar a
base tima (tambm denominadas configuraes de soluo), em passo finito, o algoritmo terminaria.
Entretanto, em algumas situaes especiais, podemos encontrar configuraes que invalidem o uso
perfeito dos critrios anteriormente descritos. Essas configuraes patolgicas decorrem de situaes
em que os zj cj associados a algumas variveis possuem valores iguais, e o mesmo acontece em relao
b
ao mnimo valor s . O quadro abaixo mostra a situao descrita:
y sk
QUADRO 3.8 EXEMPLO DE EMPATES NOS CRITRIOS DE SELEO DE VARIVEIS

x1

x2

x3

x4

x5

x6

x7

x1

x2

x7

x3

Em relao ao critrio de sada da base, o que ocorre que existem variveis bsicas com valor
nulo. Quando isso acontece, o produto (zj cj) xj, responsvel pela garantia do decrscimo da funo
objetivo (critrio de minimizao), vai falhar, no porque deixe de existir a possibilidade de que uma
troca de variveis possa melhorar a funo objetivo, e sim porque a varivel xj que entra no poder assumir valor diferente de zero. O chamado empate de sada tambm conhecido como degenerao e
corresponde a uma situao no hiperespao das atividades, como representado na Figura 3.13.
Quando um certo ponto extremo do conjunto C das solues viveis do modelo de programao
matemtica est associado a mais restries do que as estritamente necessrias para a definio desse
mesmo ponto, o conjunto de restries linearmente dependente e existe a possibilidade de que ocorra, em um certo estgio do desenvolvimento do algoritmo, uma degenerao no critrio de sada da

120

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

X2

P1

P2

P3

X1

FIGURA 3.13 Ciclagem do algoritmo Simplex.

base. O surgimento do valor nulo no quadro decorrente do ato de que as folgas associadas s vrias
restries redundantes so esgotadas simultaneamente.
Apesar de alguns autores afirmarem que a ciclagem do algoritmo simplex um fato desconhecido
em problemas prticos, o primeiro autor deste texto deparou-se com vrios exemplos de ciclagem na
soluo de problemas de particionamento no ponderado de grande porte. Em ocasies nas quais esperado que o processo de soluo lide com muitas variveis candidatas simultaneamente a entrar na
base e alta percentagem de degenerao,2 a Regra de Bland torna-se de utilizao indispensvel (ver
Bland [1977] ).
Regra de Bland
Entre todas as candidatas a entrar na base, selecione a varivel xk que possui o menor
ndice.
Entre todas as candidatas a sair da base, selecione a varivel xr que possui o menor ndice.
A simples regra do menor ndice capaz de esgotar toda a discusso da ciclagem no algoritmo simplex, como o mtodo lexicogrfico (ver Chvtal [1983]). Observar que no existe qualquer problema se
trocarmos a regra do menor ndice pela do maior ndice.

3.4.2 Mltiplas Solues timas


A Figura 3.8 exemplifica graficamente um caso de mltiplas solues timas em um modelo de programao linear. De uma forma intuitiva, o leitor levado a entender que nesse caso a direo da funo
objetivo vai obrigatoriamente alcanar mais de um ponto extremo da envoltria convexa do modelo.
Como por combinao linear dos pontos extremos podemos gerar infinitos pontos que sero igualmente pertencentes envoltria convexa do modelo (uma face dessa envoltria), o modelo ter infinitas solues timas.
A pergunta que se coloca como poderamos identificar uma tal situao no desenvolvimento do
simplex. Para exemplificar o caso em estudo, vamos solucionar o problema a seguir:

2. O autor refere-se ao caso da soluo de problemas de particionamento no ponderado em que a percentagem de degenerao das linhas situam-se em valores no entorno de 95% (ver Goldbarg [1990]).

MTODO SIMPLEX

121

Minimizar z = x1 2x2
sujeito a:
3

x1

x2 4
x1 + 2x2 9
x1 0, x2 0
Que corresponde ao seguinte quadro inicial, aps a incluso das trs variveis de folga necessrias:
x1

x2

x3

x4

x5

x3

x4

4/1 = 4

x5

9/2 = 4,5

Que, aps a entrada de x2 na base e o pivoteamento, reduzido a:


x1

x2

x3

x4

x5

x3

x2

x5

No novo quadro, a varivel x1 candidata a entrar na base e a varivel x5 dever sair.


x1

x2

x3

x4

x5

x3

x2

x5

Resultando, aps o pivoteamento, no quadro abaixo.


x1

x2

x3

x4

x5

x3

x2

x1

O quadro anterior timo e a regra de parada do simplex atesta isso. A soluo final :
z = 9, x3 = 2; x2 =4; x1 = 1

122

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

Contudo, possvel gerar uma outra base (ponto extremo) com o mesmo valor da funo objetivo,
ou seja, com o mesmo valor timo. Para tal vamos continuar o processo de pivoteamento incluindo a
varivel x4 na soluo. O quadro que se segue mostra que a varivel que dever sair x3.
x1

x2

x3

x4

x5

x3

2/2 = 1

x2

(valor nulo)

x1

(valor negativo)

Que leva ao quadro tambm timo a seguir com z = 9, x4 = 1; x2 =3; x1 = 3:


x1

x2

x3

x4

x5

x4

1/2

1/2

x2

1/2

1/2

x1

A Figura 3.14 mostra os dois pontos extremos representados pela base do primeiro e do segundo
quadro timo. Note que a funo z tem direo paralela restrio representada pelos pontos B e C, ou
seja, x1 + 2x2 9. A varivel x3 a folga associada restrio representada pelo segmento de reta CD e,
por isso, ela est presente na base que representa o ponto C. Quando, por pivoteamento, o algoritmo
escolhe o ponto B como soluo, a varivel x3 substituda por x4, a folga da restrio associada CB.
x2

x1 = 1
x2 = 4

C
z = x1 + 2x2

x1 = 3
x2 = 3
B

A
O

X1

FIGURA 3.14 Caso de infinitas solues timas.

3.5 PROBLEMAS PROPOSTOS


1 Reviso da Teoria

Responda com Certo ou Errado justificando sua escolha:


1. Se em um sistema com n incgnitas e m equaes (n > m) possvel selecionar um conjunto de m incgnitas que forme uma matriz m m com determinante diferente de zero, ento:

MTODO SIMPLEX

a.
b.
c.
d.
e.

(
(
(
(
(

)
)
)
)
)

123

O sistema m m determinado.
O sistema determinado, mas pode no ter soluo.
O sistema determinado e pode ter uma soluo infinita.
O sistema pode ter infinitas solues.
O simplex pode solucionar esse sistema desde que a soluo seja no negativa.

2. Seja x* uma soluo tima de um PPL e M o conjunto de todas as suas solues viveis. Ento:
a. ( ) x* pode ser sempre obtida por uma combinao linear convexa de dois ou mais pontos distintos de M.
b. ( ) x* s pode ser obtida por uma combinao linear convexa de dois ou mais pontos distintos de
M se M for limitado.
c. ( ) x* corresponde sempre a um vrtice da envoltria convexa de M, mesmo quando M ilimitado.
d. ( ) x* um vrtice apenas no caso de no haver degenerao.
3. Se o conjunto de solues viveis do PPL no for limitado, ento:
a. ( ) A soluo do problema impossvel ou ilimitada.
b. ( ) A soluo pode no ocorrer em um vrtice porque o espao das solues no convexo.
4. Se o conjunto de solues viveis do PPL no for limitado em alguma iterao do algoritmo simplex:
a. ( ) Utilizamos o mtodo das duas fases para obter a inviabilidade.
b. ( ) Pelo menos uma das colunas correspondentes s variveis no bsicas com zj cj 0 formada
por elementos nulos e negativos.
c. ( ) Somente a varivel no bsica com maior zj cj formada por elementos nulos ou negativos.
d. ( ) Existe mais de uma varivel no bsica candidata a entrar na base possuindo o mesmo valor
de zj cj 0.
5. Se, em uma determinada iterao do algoritmo simplex:
a. ( ) Uma varivel deixa a base, na prxima iterao ela no poder entrar novamente na base.
b. ( ) Uma varivel entra na base, na prxima iterao ela no poder deix-la.
c. ( ) Existe uma varivel artificial na base e existem variveis no bsicas com zj cj 0, a primeira
fase do mtodo das duas fases ainda no chegou ao fim.
d. ( ) Todas as variveis no bsicas possuem zj cj 0, a soluo tima foi alcanada.
e. ( ) Todas as variveis no bsicas possuem zj cj 0, a soluo limitada.
6. Quando existem variveis no bsicas com zj cj = 0 no quadro timo do simplex, ento:
a.
b.
c.
d.

(
(
(
(

)
)
)
)

Existe degenerao.
Existem infinitas solues timas para o problema.
Esse fato absolutamente normal na condio de parada e a soluo nica.
As variveis no bsicas com zj cj = 0 podem ser introduzidas na base gerando, com isso, novas solues timas.

7. Quando existe empate no critrio de sada da base, ento:


a.
b.
c.
d.
e.
f.

(
(
(
(
(
(

)
)
)
)
)
)

Existe degenerao.
Existem infinitas solues timas para o problema.
Esse fato absolutamente normal na condio de parada e a soluo nica.
O conjunto das restries linearmente dependente.
Podemos eliminar do problema uma das restries que geraram o empate.
A partir da ocorrncia do empate, as folgas das linhas empatadas sero sempre iguais a zero
para todas as demais iteraes do simplex.

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

ELSEVIER

2 Soluo de Problemas de Programao Linear

124

Solucione pelo mtodo simplex e graficamente os seguintes problemas de programao linear:


a)

Maximizar z = 4x1 + 7x2


sujeito a:
x1
6
x2 8
4x1 2x2 10
x1 0, x2 0

b)

Minimizar z = 2x1 3x2


sujeito a:
x1
8
x2 4
2x1 + x2 5
x1 0, x2 0

c) Uma empresa produz dois tipos de bolsas de plstico (B1, B2) cujos mercados absorvem respectivamente 80 e 60 unidades dirias. O processo de produo consome dois tipos de matria-prima: folhas
de plsticos e fechos. Cada unidade de B1 consome duas folhas de plstico e quatro fechos. Cada unidade de B2 consome trs folhas de plstico e trs fechos. So disponveis diariamente 200 folhas de plstico e 240 fechos. Os lucros unitrios pelas vendas dos produtos so, respectivamente, R$20 e R$25. Qual
deve ser o esquema de produo que conduza ao maior lucro possvel?

3 Soluo de Problemas de Programao Linear


Determine todas as solues bsicas viveis do seguinte conjunto de restries:
x1 + x2 + x3 + x4 2x5 = 4
+ x1 2x2 + x4 x5 = 3
x1 0, x2 0, x3 0, x4 0, x5 0

4 Mtodo das Duas Fases


Solucione pelo mtodo simplex os seguintes problemas de programao linear:
a)

Maximizar z = 2x1 + 5x2 + x3


sujeito a:
x 1 + x2
x2 x3
4x1 + 2x2 + x3
x1 0, x2 0, x3

6
4
15
0

MTODO SIMPLEX

b)

125

Minimizar z = x1 3x2 5x3 x4


sujeito a:
x1
+
x4 8
x2 + x3
8
x1 + x2 + x3 + x4 4
x1 0, x2 0, x3 0, x4 0

5 Interpretao Grfica

Sabendo-se que a Figura 3.15 representa graficamente a regio das solues viveis de um PPL e que
a sequncia de pontos extremos indicada mostra a trajetria de soluo do algoritmo simplex utilizado (B o ponto timo), pede-se:
a) Representar as bases associadas aos pontos extremos visitados pelas iteraes.
b) Representar matricialmente a soluo associada ao ponto F (ponto interno).
c) Como poderamos transformar a soluo associada ao ponto F em uma soluo bsica vivel?
X2

A
3

2
F

X1

FIGURA 3.15 Uma trajetria do simplex.

6 Mtodo Simplex Fundamentos Tericos

Joo, muito nervoso, est terminando sua prova de programao linear quando descobre que errou,
logo no primeiro quadro, as contas no clculo dos custos reduzidos (zj cj) de uma das questes. Desesperado, correu at o professor e pediu mais tempo para que pudesse refazer os quadros e no ser prejudicado por um erro to simples. O professor, examinando o quadro final e inicial do problema, deu a
seguinte soluo:
Joo, refaa apenas os clculos para o ltimo quadro. Isso ser suficiente. Nesse caso considerarei
a questo correta! Nem precisava, mas vou lhe dar mais cinco minutos... boa sorte.
Ajude Joo a corrigir o seu erro sem ter de refazer todos os pivoteamentos anteriores.

126

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

Quadro inicial copiado com erro (clula sombreada):


x1

x2

x3

x4

x5

x6

x4

x5

x6

Quadro final com os erros acumulados decorrentes


x1

x2

x3

x4

x5

x6

17

x1

1/3

1/3

1/3

2/3

x5

x3

13/3

2/3

1/3

1/3

Erro cometido: o valor correto de z2 c2 no primeiro quadro era 1.

7 Mtodo Simplex Fundamentos Tericos


Seja o problema que se segue:
Maximizar z = 3x1 + 2x2 2x3 + 5x4
sujeito a:
x1 + x2 + 3x3 + x4 8
3x1 x2 + x3 + 2x4 10
x1
x3
6
x1 0, x2 0, x3 0, x4 0

Determine uma soluo para o problema com as variveis x1, x2, x3. Essa soluo tima? Se no,
tomando-a por base inicial, determine a soluo tima.

8 Mtodo Simplex Fundamentos Tericos


x1

x2

x3

x4

x5

x6

40

x2

x4

x6

Determine os parmetros livres no quadro de modo que:


a) O quadro seja timo e conduza a uma soluo nica.
b) A soluo do quadro seja tima, mas existe pelo menos uma outra soluo tima.
c) A soluo seja invivel.
d) A soluo seja vivel mas ilimitada.
e) O quadro represente uma soluo vivel que pode ser melhorada pela entrada de x1 na base e a sada
de x6 .

MTODO SIMPLEX

127

9 Mtodo Simplex Fundamentos Tericos

Solucione o problema abaixo pelo mtodo das duas fases introduzindo uma varivel artificial de ndice
1
5 (x5) de custo igual a 1 e com um vetor de atividades igual a:
1.
Minimizar z = 2x1 + 3x2
sujeito a:
x1 x2 + x3
2x1

=3

x 2 + x4

=2

x1 0, x2 0, x3 0, x4 0
Esse mtodo poderia ser generalizado para qualquer PPL? Se possvel descreva a generalizao;
caso contrrio, justifique a impossibilidade.

10 Mtodo Simplex Interpretao Geomtrica


Determine o menor valor de K para que o problema abaixo seja vivel:
Minimizar z = 2x1 + 3x2
sujeito a:
2x1

x2 + 3x2

4
6

x1 + 2x2
x2 + 2x3

x1 + 5x2 + x3

3x1

x1 0, x2 0, x3 0

11 Mtodo Simplex Aplicao

a) Solucione manualmente os problemas de 1 a 7 da srie de exemplos resolvidos do Captulo 2.


b) Solucione os demais problemas propostos no Captulo 2 com o auxlio de um programa computacional adequado.

12 Mtodo Simplex Aplicao

Uma companhia deve produzir 500 ferramentas para um de seus clientes em um certo espao de tempo. Ela possui duas mquinas que podem produzir as ferramentas segundo a distribuio de custos
constantes da tabela abaixo:
T A B E LA 3. 2 CUS T O S E L I MI TES DE P R OD U O

Mquina

Custo unitrio de produo


(US$)

Custo de montagem
das mquinas (US$)

Limite de produo
no tempo disponvel

1,12

60

300

1,23

50

270

128

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

ELSEVIER

a) Solucione o problema de forma a minimizar o custo total da produo.


b) Seria possvel solucionar esse problema com o uso do simplex? Justifique a resposta.

13 Mtodo Simplex Aplicao

Determine as condies necessrias e suficientes para os valores dos parmetros k e p no problema a


seguir de modo que o modelo seja:
Minimizar z = x1 + x2
sujeito a:
kx1 + px2 1
x1 0, x2 0
1. Ilimitado.
2. Impossvel.
3. Invivel.

DUALIDADE
E SENSIBILIDADE

4.1 CONCEITO DE DUALIDADE EM PROGRAMAO MATEMTICA


Dualidade um conceito amplo que engloba a possibilidade do tratamento de duas naturezas distintas
de uma mesma entidade. Inmeros fenmenos fsicos e qumicos podem ser representados por modelos cujas estruturas e comportamentos so iguais; contudo, podem ser interpretados de modo completamente diferente. Na economia, engenharia e fsica esses casos so at comuns. Vamos, a ttulo de
exemplo, mostrar esse fenmeno no contexto dos circuitos eltricos. Sejam os circuitos representados
na Figura 4.1 compostos por uma resistncia R, uma indutncia L e uma capacitncia C.
L
i

i (t)
C

e (t)

~
Circuito 1

Circuito 2

FIGURA 4.1 Circuitos duais.

A equao que relaciona a corrente voltagem como uma funo do tempo para o circuito 1 :
L

di
1
+ Ri + i dt = e(t)
dt
C

(4.1)

A equao que relaciona a voltagem corrente aplicada em funo do tempo para o circuito 2 :
C

de
1
+ Ge + e dt = i(t)
dt
L

onde G = 1/R. evidente que as equaes (12) e (13) tm uma mesma forma geral, a saber:

(4.2)

130

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

dx
+ bi + c u dt = y(t)
dt

(4.3)

Como a equao geral (4.3) descreve tanto o circuito 1 como o circuito 2, podemos dizer que eles
so duais. No caso dos modelos matemticos, a definio de dualidade tem um cunho prprio e associado ao processo de soluo e aplicao prtica dos modelos. Em ambas as vertentes, a dualidade hoje
um instrumento indispensvel.
Definiremos como duais um par de modelos de programao matemtica denominados primal e
dual, que preservam as seguintes condies:

Possuem funes objetivo simtricas, ou seja, se o primal for de minimizao o dual ser de maximi-

zao e vice-versa.
Alguns autores fixam o primal como um problema de minimizao ou de maximizao, contudo isso no necessrio para caracterizar a dualidade. Como temos utilizado a forma padro como
um problema de minimizao, consideraremos por convenincia, quase sempre, o primal como um
problema de minimizao. Fixar um modelo como representante de uma das classes dessa relao
no mnimo inconveniente porque a relao reflexiva, ou seja, o dual do dual o primal.

Possuem simetria na descrio das restries, ou seja, se na forma cannica o primal possui restries ento o dual possuir restries .

Os termos independentes no primal surgem como os coeficientes da funo objetivo no dual e vice-versa.

O nmero de restries do primal igual ao nmero de variveis do dual e vice-versa.


A matriz de restrio do primal a transposta da matriz de restrio do dual e vice-versa.
Considerando a seguinte conveno nos ndices:
M = {1, ..., m}; N = {1, ..., n}; A = [aij];
M1 = M\M1 e N1 = N\N1
Lembrando que x um vetor coluna e u um vetor linha, definiremos o par de modelos primal
dual como mostrado na Tabela 4.1.
T A B E LA 4. 1 M ODEL O S P R I MAL DUAL

Primal
Minimizar: z =

Dual

cj xj

Maximizar: w =

bi ui

iM

jN

sujeito a

sujeito a

aij xj bi

i M1

ui 0

aij xj = bi

i M1

ui R

xj 0

j N1

aij ui cj

xj R

j N1

jN

jN

iM

aij ui = cj

iM

DUALIDADE E SENSIBILIDADE

131

Ou ainda, considerando-se separadamente as forma padro e cannica:


T A B E LA 4. 2 FO R MA PADR O E CAN N I C A

Primal

Forma Cannica

Forma Padro

Dual

Min z = cx

Max w = ub

sujeito a:
Ax b
x0

sujeito a:
uA c
u0

Min z = cx

Max w = ub

sujeito a:
Ax = b
x0

sujeito a:
uA c
uR

4.2 EXEMPLOS DE PARES PRIMAL X DUAL


Exemplo 1: Determinar o dual do seguinte modelo de programao linear:
(P) Maximizar z = 6x1 + 2x2 + x3
sujeito a:
x1 x2 + 7x3 4
2x1 + 3x2 + x3 5
x1 0, x2 0, x3 0
Aplicando as regras da dualidade temos que:
(D) Minimizar w = 4u1 + 5u2
sujeito a:
u1 + 2u2 6
u1 + 3u2 2
7u1 + u2 1
u1 0, u2 0
Exemplo 2: Determinar o dual do seguinte modelo de programao linear, representando graficamente
ambos os modelos.
(P) Maximizar z = 3x1 + 4x2
sujeito a:
x 1 x2 1
x 1 + x2 0
x1 0, x2 0

132

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

Soluo
(D) Minimizar w = u1 + 0u2
sujeito a:
u 1 u2 3
u 1 + u2 4
u1 0, u2 0
A Figura 4.2 compara os grficos dos dois modelos. Notar que ambos so inconsistentes.

x2

u2
x1 x2 = 1

u1 + u2 = 4

x1 = x2

u1 u2 = 3
1

x1

u1

FIGURA 4.2 Representao grfica do par primal x dual.

4.3 TEOREMA DAS FOLGAS COMPLEMENTARES


4.3.1 Fundamentao Terica
Algumas importantes propriedades ligam os pares primal x dual. A primeira delas diz respeito ao valor das funes z0 e w0 quando alcanam seus valores timos. Seja o seguinte par de modelos primal x
dual:

(P)Min z = cx
sujeito a:
Ax b
x0

(D) Max w = ub
sujeito a:
uA c
u 0

Proposio 4.1
Se x e u so solues viveis dos problemas (P) e (D) respectivamente, ento: cx ub.

DUALIDADE E SENSIBILIDADE

133

Prova:
Sabemos das restries do problema primal que Ax b.
Se pr-multiplicarmos a expresso por u temos:
uAx ub, uma vez que u 0

(4.4)

Como uA c chegamos, por raciocnio semelhante, a:


uAx cx, uma vez que x 0

(4.5)

Comparando as expresses (10) e (11) temos:


ub uAx cx

cx ub

Proposio 4.2
Se x e u so solues viveis dos problemas (P) e (D), respectivamente, satisfazendo a cx = ub, ento
ambos so solues timas dos correspondentes problemas.
Prova:
Suponhamos que x no seja uma soluo tima do primal e cx = ub.
Se u soluo tima do dual e x no soluo tima do primal, ento, nesse caso, existe x* tal que cx* <
ub, o que contraria a proposio 1.
Suponhamos agora que u no soluo tima do dual, mas cx = ub, sendo x soluo tima do primal.
Nesse caso, existir u* tal que u*b > ub, e, portanto, u*b > cx, o que contraria novamente a proposio 1.
Logo, se no existe x* e u* que possam violar as duas suposies anteriores, x e u so solues timas.
O par de problemas primal dual tambm unido atravs de propriedades mais amplas que ligam seus universos de solues viveis. O Quadro 4.1 resume as situaes possveis.
QUADRO 4.1 SITUAES DE VIABILIDADE DOS PROBLEMAS PRIMAL DUAL

Dual

Primal

Vivel

Invivel (U = )

Vivel

Min cx = Max ub

cx =

Invivel (X = )

ub = +

possvel

O teorema a seguir garante a validade do Quadro 4.1:


Teorema da Existncia
Para um par de problemas duais, uma e somente uma das
alternativas abaixo verdadeira:
Nenhum dos problemas tem soluo.
Um deles no tem soluo vivel e o outro tem soluo tima
ilimitada.
Ambos possuem soluo tima finita.

134

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

Prova:
Sejam os conjuntos de solues viveis para (P) e (D):
X = {x/Ax b, x 0}
U = {u/uA c, u 0}
Suponhamos que o programa dual (D) tenha soluo vivel, mas que no tenha soluo tima finita. Ento:
Max {w = ub} > +
Para que a proposio 4.1 se verifique, deve existir x X tal que cx > +, o que no faz sentido, uma
vez que o primal (P) de minimizao, da:
X=
Se supusermos que o programa primal no tem soluo tima finita o mesmo raciocnio ser aplicvel ao dual que, obrigatoriamente, dever ter U = .
Por outro lado, se X = implica que no existam limites para o valor das solues do problema
dual, ou seja, esse problema ser vazio ou ilimitado. Como a relao de dualidade reflexiva o mesmo
raciocnio se aplica para o primal quando U = .
Finalmente, para demonstrar a terceira afirmativa, seja Ax Ixe = b o sistema primal incluindo as
variveis de folga xe.
Consideremos B uma base vivel tima do primal e xB = B1 b a respectiva soluo bsica vivel tima. Como a soluo tima, por hiptese, temos:
zj cj 0, "j N = I J
ou seja:
cBB1aj cj 0 \
cBB1aj cj,

"j N

Fazendo:
cBB1 = u
temos:
uaj cj, "j N

uA c
ou seja, u uma soluo do programa dual. Para verificarmos a viabilidade, consideremos os zj cj para
as variveis de folga. Ento:
cBB1aj cj, onde aj = ei e cj = 0 \
cBB1ei 0 \
uei 0 ou ui 0 ou ainda uI 0 e u 0

DUALIDADE E SENSIBILIDADE

135

Assim,
U
Resta-nos mostrar que a soluo u tima. Representando por (*) a situao de timo associada ao
vetor ou matriz em considerao temos:
w = ub = cBB1b = cBxB e
z* = c B x B
Logo w * = z * e, portanto, u tima.
A ttulo de esclarecimento apresentamos o exemplo 3 que aborda uma situao de existncia primal dual .
Exemplo 3: Determinar o dual do modelo de programao linear a seguir, representando ambos os programas graficamente.
(P) Maximizar z0 = 3x1 + 2x2
sujeito a:
x1 3
x1 x 2 0
x1 0, x2 0
Soluo:
O dual de (P) ser um programa de minimizao cuja matriz de restries ser a transposta de (P), ter
o termo independente igual ao vetor custos, o vetor custos igual ao termo independente de (P). Da:
(D) Minimizar w0 = 3u1 + 0u2
sujeito a:
u1 + u2 3
u2 2
u1 0, u2 0
A Figura 4.3 mostra que o programa primal ilimitado e o dual invivel, ou seja, X = e U = .
Observar que o dual no foi descrito na forma cannica.

4.3.2 Teorema das Folgas Complementares


No item anterior desenvolvemos os elementos que permitiram estabelecer uma relao entre o valor
das solues timas do par primal dual. Alm dos valores numricos em si, observamos que existe,
inclusive, uma dependncia entre a condio de viabilidade de cada um desses modelos. No presente item iremos mais longe, explorando as condies de comportamento entre as variveis desses programas.

136

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

X2

u2
x1 = 3

x1 = x2

3
X1

u1
u2 = 2
2

u1 + u2 = 3

FIGURA 4.3 Exemplo de par primal dual.

Teorema das Folgas Complementares


Dado um par de programas duais, uma condio necessria e suficiente para que as solues x e u sejam timas que se verifiquem as seguintes relaes de complementaridade de folga:
u(Ax b) = 0
(c uA)x = 0

Prova:
Sendo x e u solues viveis teremos:
Ax b Ax b 0 u(Ax b) 0
uA c c uA 0 ( c uA) x 0

Fazendo
= u( Ax b)
= ( c uA) x

teremos:
+ = u(Ax b) + ( c uA) x =
=ub + cx 0

DUALIDADE E SENSIBILIDADE

137

Se x e u forem solues timas, teremos:


ub = cx
Logo,
a + b = 0 com a, b 0, ou seja:
a=b=0
Assim chegamos finalmente a:
= u( Ax b) = 0
= ( c uA) x = 0

4.3.3 Uma Aplicao do Teorema das Folgas Complementares


Vamos esclarecer as aplicaes matemticas dos teoremas da dualidade atravs de um exemplo numrico. Em tpico especfico faremos comentrios sobre interpretaes econmicas dos teoremas.
Exemplo 4: Solucione o modelo de programao linear que se segue com auxlio das relaes expressas
pela dualidade.
(P) Minimizar z0 = 2x1 + x2 + 4x3
sujeito a:
2x1 + x2 + x3 1
x1 + 2x2 x3 1
x1 0, x2 0, x3 0
Soluo:
Vamos optar por solucionar graficamente (P) atravs de seu dual. Como j sabemos, o dual desse
programa possuir apenas duas variveis reais (nmero de linhas do primal) sendo, portanto, solucionvel graficamente. O dual de (P) ser:
(D) Maximizar w0 = u1 u2
sujeito a:
2u1 + u2 2
u1 2u2 1
u 1 + u2 4
u1 0, u2 0
cuja representao grfica est representada na Figura 4.4.
Com o valor das variveis duais conhecidas poderemos calcular as variveis primais? Aplicando
as relaes da complementaridade de folga temos:
u(Ax b) = 0 e (c uA)x = 0

138

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

u2

w*0 = 2

u1
1

u* = ( 3, 1, 0, 0, 0)

FIGURA 4.4 Soluo grfica.

Em consequncia,
u*1 (2 x *1 + x *2 + x *3 1) = 0, como u*1 = 3, ento 2 x *1 + x *2 + x *3 1 = 0
u* ( x * 2 x * + x * + 1) = 0, como u* = 1, ento
x *1 2 x *2 + x *3 + 1 = 0
3
2
*2 1 * 2 *
x (2 u + u 2) = 0 x *1 = 0
*1 * 1 * 2
*
x 2 ( u 1 2 u 2 1) = 0 x 2 0
*
*
*
*

x 3 ( u 1 + u 2 4) = 0 x 3 0
O que nos permite concluir em relao ao primal que:
x *2 + x *3 = 1
2 x *2 + x *3 =1
Sistema determinado que, quando solucionado, nos leva a:
x *2 = 2 3
x *3 = 1 3
e, finalmente, soluo primal:
z *0 = 2 , x * = (0, 2/3, 1/3, 0, 0)

4.4 UM ALGORITMO DUAL PARA O MTODO SIMPLEX


4.4.1 Um Exemplo do Funcionamento do Primal Simplex no Dual
Um modo simples e direto de percebermos o que significa realmente o processo de pivoteamento do algoritmo simplex acompanhar seu desenvolvimento simultneo em um par de problemas primal
dual. Sejam os seguintes problemas:

DUALIDADE E SENSIBILIDADE

(P) Max: z0 = 6x1 + 2x2 + x3


sujeito a:
x1 x2 + 7x3 4
2x1 + 3x2 + x3 5
x1 0, x2 0, x3 0

139

(D) Min: w0 = 4u1 + 5u2


sujeito a:
u1 + 2u2 6
u1 + 3u2 2
7u1 + u2 1
u1 0, u2 0

que podem ser escritos em dois quadros de clculo sem as variveis artificiais e com as variveis de folga
positivas (obtidas com a multiplicao da primeira e segunda linhas do dual por 1) da seguinte forma:

u1

u2

u3

u4

u5

x1

x2

x3

x4

x5

u3

x4

u4

x5

u5

QUADRO 4.2

QUADRO 4.3

Se tentarmos aplicar as regras de pivoteamento nos quadros formados no teremos problema com
o Quadro 4.3, que corresponde ao primal; contudo, o Quadro 4.2 no vivel! Existem valores no vetor
xB negativos. E mais interessante ainda que os custos reduzidos desse primeiro quadro indicam regra de parada, com todos os zj cj 0. Sem condies de solucionar o Quadro 4.2, vamos realizar ento um pivoteamento no Quadro 4.3 e acompanhar o que acontece no Quadro 4.2 quando procuramos
compatibiliz-lo com o Quadro 4.3.
Escolha das variveis que entram e saem da base:

u1

u2

u3

u4

u5

x1

x2

x3

x4

x5

u3

x4

u4

x5

u5

QUADRO 4.2 PIV

QUADRO 4.3 PIV

Pivoteamento:
u1

u2

u3

u4

u5

x1

x2

x3

x4

x5

15

3/2

5/2

15

u2

1/2

1/2

x1

3/2

5/2

13/2

1/2

u4

5/2

3/2

x5

5/2

3/2

1/2

1/2

u5

13/2

1/2

QUADRO 4.2 APS O PIVOTEAMENTO FORADO

QUADRO 4.3 APS O PIVOTEAMENTO PRIMAL

No caso, encontramos agora condies de viabilidade e regra de parada nos dois quadros. Se
imaginarmos que o nosso problema era constitudo pelo Quadro 4.2, o processo de compatibilizao
deste com o Quadro 4.3 acabou por forar um pivoteamento sobre uma linha invivel, o que no era
uma operao vlida para o algoritmo primal simplex. Apesar de esse fato singular ocorrer no pri-

140

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

ELSEVIER

mal, no dual as regras do simplex esto sendo perfeitamente atendidas. Nesse caso, se prosseguirmos aplicando o algoritmo simplex ao dual, chegaremos soluo tima, o que nos sugere que o processo adaptado ao primal ser tambm capaz de convergir para uma soluo. No exemplo, o programa primal (Quadro 4.2) no possua uma soluo vivel de partida, mas o dual sim. De fato, ao utilizarmos o algoritmo simplex para solucionar, via problema dual, um problema primal cuja base vivel inicial no era disponvel, estamos desenhando um novo algoritmo. Podemos descrever esse algoritmo da seguinte forma:

Escolha o termo de x B mais negativo para sair da base.


Se existem coeficientes 0 (negativos) na linha, escolha a menor razo entre os coeficientes e os custos reduzidos, ou seja:

z ci

z s cs
= mnimo i
: y ik > 0 x s , determiy sk
1 i m y ik

nando com isso a varivel que sai da base.

Caso contrrio, o problema ilimitado. Pare.


Realize a operao de pivoteamento (sobre o piv negativo) e canonize a coluna do piv que entra na base, como previsto no algoritmo simplex.

Verifique as condies de viabilidade do problema. Se x B 0, ento o timo foi encontrado; caso


contrrio, retorne ao procedimento de troca de variveis na base.
Verificamos que a condio de parada no primal corresponde condio de viabilidade no dual e
vice-versa.

4.5 INTERPRETAO ECONMICA


4.5.1 Aplicaes dos Mtodos Quantitativos no Contexto de uma Economia Racional
A escala de globalizao e busca da eficcia organizacional tem forado cada vez mais a utilizao de
tcnicas quantitativas avanadas para a tomada de deciso nos sistemas de produo. Nesse contexto,
a programao matemtica torna-se um instrumento seguro para uma anlise econmica racional,
principalmente porque permite a criao de modelos bastante sofisticados e especficos para a representao dos fenmenos econmicos.
A filosofia de substrato para a utilizao do mtodo simplex no auxlio a uma anlise econmica
est ancorada no conceito do perfeito equilbrio entre o valor agregado por um processo a um produto
e sua planilha de decomposio em insumos de constituio (teoria do custo de oportunidade, Menger
[1871]).
Se um sistema de produo modelado por um programa linear cuja funo objetivo , por exemplo, maximizar o valor dos produtos realizados e cujas restries so de disponibilidade de fatores, veremos que, no equilbrio da soluo tima, o valor de uma varivel dual associada a um fator satisfaz
seguinte afirmao daquela teoria:
O valor da unidade marginal de um fator de produo
igual ao mximo valor da produo que poderia ser obtida
usando essa unidade do fator.
Alm dessa clssica interpretao da teoria marginalista, existem outras propriedades econmicas
da programao linear que no tm sido frisadas em textos sobre o assunto. Alm de estarem associadas a valores marginais, as variveis duais tambm esto associadas a valores de equilbrio financeiro

DUALIDADE E SENSIBILIDADE

141

(isto , tais que o custo seja igual receita) para as atividades econmicas em considerao. Assim, com
as variveis duais obtm-se um tipo de informao local (isto , marginal) sobre o sistema. Mas h tambm um tipo de informao global que desejamos enfatizar em nossa interpretao econmica do mtodo simplex e da dualidade em programao linear.
Propomos uma abordagem complementar desenvolvida classicamente. Trocaremos a viso de
maximizao de lucros (diferena entre benefcio e custo) na face primal, pela minimizao de custos.
Consideraremos na vertente dual o benefcio da produo.
Esse modelo est voltado para o entendimento do processo de interao entre o sistema e seu meio
ambiente, em perfeita sintonia com as mais modernas filosofias da qualidade total e das gestes para a
excelncia. Ao se propor a produzir, o sistema assume certos compromissos com o meio ambiente organizacional que denominaremos vnculos. Admitamos que tais vnculos sejam mensurveis e que o
sistema tenha escalas lineares de utilidade (preos) dos produtos. Admitamos igualmente que cada
produto tenha escalas lineares de participao dentro de cada vnculo.
Nesse modelo, o sistema tomar decises guiado pelo objetivo de maximizar a utilidade de
produo ou minimizar os custos dos vnculos. Uma soluo qualquer em que a utilidade da produo (receita) seja maior ou igual ao custo dos vnculos ser compensadora. Por outro lado, uma
soluo em que a utilidade de transformar inferior ao custo no ser realizvel. Veremos que a
uma soluo genrica do mtodo simplex, aplicado a um problema primal cujo objetivo maximizar a utilidade dos produtos, correspondem variveis duais que medem os limites mximos dos
custos dos vnculos para os quais a produo calculada ainda economicamente vivel ou no deficitria. Em outras palavras, a cada soluo do mtodo simplex calculam-se custos dos recursos
para os quais o preo de cada produto realizado exatamente igual ao seu custo de produo.
Se a soluo corrente ainda no tima, o teste de otimizao do simplex identifica, pelo menos,
um produto no presente na soluo (no bsico) cuja utilidade relativa (lucro) positiva. Isso significa
que se esse produto participar de uma nova soluo em detrimento das participaes dos produtos da
presente soluo, teremos uma melhora em relao a essa escala linear com o coeficiente igual utilidade relativa. Essa utilidade relativa de um produto corresponde ao grau da inviabilidade da restrio do
dual associada a esse produto. Ou seja, o nvel da inviabilidade de uma restrio do dual associada a
um determinado produto no produzido igual utilidade marginal de sua produo.
A consequncia imediata da no completa realizao da utilidade marginal a negao da soluo
tima. Enquanto existir utilidade marginal positiva, ainda possvel melhorar a soluo. A restrio
do dual no quadro simplex nos diz que essa utilidade marginal a diferena entre a utilidade (receita)
de uma unidade do produto e o custo associado produo dessa unidade, se o custo dos vnculos forem avaliados de modo a permitirem equilbrio financeiro para a soluo corrente.
A Figura 4.5 resume o aspecto do fluxo de informaes que transita entre o par primal dual durante um processo de soluo do algoritmo simplex. Notamos claramente a dinmica da busca do equilbrio
de um mnimo mximo global.

4.5.2 Exemplo de Interpretao Econmica do Mtodo Simplex


Suponhamos o caso hipottico de uma empresa pblica que monopolize o setor petroqumico de uma
economia nacional ou regional. Digamos que o objetivo da companhia seja minimizar o custo global da
produo de gasolina e de leo, estando comprometida em satisfazer s demandas desses produtos aos
nveis estipulados de respectivamente 5 milhes de barris e 3 milhes de barris. Suponhamos que a
companhia decida levar em frente duas atividades principais com o objetivo de atender demanda. A
primeira atividade explorar e refinar petrleo nacional. Cada 1 milho de barris processados custa
8 milhes de dlares e gera 1 milho de barris de gasolina e 1 milho de barris de leo. A segunda atividade importar e refinar petrleo estrangeiro. Nesse caso, cada 1 milho de barris importados custa 12
milhes de dlares e gera 2 milhes de barris de gasolina e 1 milho de barris de leo.
Denominando por xi, i = 1, 2, o valor de operao de cada uma dessas atividades, o problema de
programar a compra e refino do petrleo pode ser modelado e solucionado pelo programa descrito a
seguir:

142

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

Primal
Dual
Min z = cx
Ax b
x0

Modelos lineares
de deciso e anlise

Max w = ub
uA c
u0

Informa qual o vetor de preos u


associado mxima receita que
pode ser obtida em condies
no lucrativas (a receita associada
a u exatamente igual ao custo
mnimo de produo).

Informa qual o vetor de


atividades x que minimiza
o custo da produo das
quantidades bi dos produtos i.

FIGURA 4.5 Informaes entre o par primal dual.

Minimizar z = 8x1 + 12x2


sujeito a:
x1 + 2x2 5
x1 + x2 3
x1 0, x2 0
cuja soluo z *0 = 32 , x 1 = 1, x 2 = 2 como podemos ver na Figura 4.6.
X2

Regio Vivel
do Primal

(1,2)

x1 + x2 = 3

x1 + 2x2 = 5
3

FIGURA 4.6 Representao grfica do problema.

X1

DUALIDADE E SENSIBILIDADE

143

O setor de novos projetos da empresa est desenvolvendo um processo de transformao de xisto


betuminoso no qual gasta 15 milhes de dlares em cada milho de toneladas de xisto processado, gerando-se 2 milhes e 1,5 milho de toneladas de gasolina e leo. O problema a resolver, nesse novo cenrio, passa a ser:
Minimizar z = 8x1 + 12x2 + 15x3
sujeito a:
x1 + 2x2 + 2x3 5
x1 + x2 + 3 2x3 3
x1 0, x2 0, x3 0
Podemos resolver o problema agora pelo mtodo simplex, acrescentando as variveis de folga x4 e
x5, associadas s restries 1 e 2. Devemos tambm acrescentar variveis artificiais x6 e x7 para obter
uma base vivel inicial, j que as variveis de folga so negativas devido s restries de maior ou
igual. Podemos usar o artifcio de penalizar fortemente as variveis artificiais para que elas logo deixem a base e permitam a constituio de uma base vivel real no desenvolver do algoritmo. Podemos
ento constituir o programa abaixo:
Minimizar z = 8x1 + 12x2 + 15x3 + 0x4 + 0x5 + 40x6 + 18x7
sujeito a:
x1+ 2x2
+ 2x3 x4
+ x6
=5
x1
+ x2 + 3 2x3
x5
+ x7 = 3
x1
0, x2
0, x3
0, x4 0, x5 0, x6 0, x7

interessante notar que, no programa, todas as variveis utilizadas possuem interpretao econmica. As variveis de folga x4 e x5 podem ser vistas como quantidades de estocagem de leo e gasolina.
Nesse caso, supe-se nulo o custo da estocagem de cada tipo de produto. As variveis artificiais representam os custos exorbitantes de 40 e 18 milhes de dlares por 1 milho de barris de, respectivamente,
gasolina e leo importados. A ideia de fase 1 pelo mtodo do M grande de que, ao se estabelecer um
custo exorbitante (M grande) para cada varivel artificial se iniba o uso dessa varivel.
Atividade

Importar e
Refinar
Petrleo
x2

Explorar
Xisto

Estocar
Gasolina

Estocar
leo

Importar
Gasolina

Importar
leo

Produtos

Explorar
Petrleo
Nacional
x1

Demanda
(Milhes de
Barris)

x3

x4

x5

x6

x7

Gasolina

leo

3/2

Custos

12

15

40

18

Vamos agora solucionar o programa utilizando o mtodo simplex revisado. Faremos as devidas intervenes para justificar os passos de soluo adotados sob a tica da viso econmica.
Passo 0: Inicialmente identifiquemos os elementos de clculo, que so a matriz A, o veto b e o vetor c:
1 2 1
A = [a1, a2, a3, a4, a5, a6, a7] =
1 1 3 2

1
0 1 0
0 1 0 1

5
b =
3e c = [8 12 15 0 0 40 18]

144

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

Consideremos a base composta pelas variveis x6, x7, ou seja:


1 0 1
B = [a6, a7] =
0 1 = B
1 0

u = ( u 1 u 2 ) = c B B 1 = ( 40 18)
0 1= ( 40 18)
Nesse caso, as variveis x1, x2, x3, x4 e x5 no so bsicas. J = {1, 2, 3, 4, 5}, I = {6, 7}
5
x
x b = 6 = B 1 b =
3
x7
x 1 0
x 2 0
x R = x 3 = 0
x 4 0
x 5 0
Passemos agora para a fase de soluo.
Passo 1: escolher a varivel que entrar na base.
Como o vetor cB composto por variveis artificiais que possuem custos exorbitantes (cB diferente de
zero desde a primeira iterao) temos de calcular os zj cj para j J, a fim de obter o critrio de escolha
da varivel que dever entrar na base como se segue:
Escolher a varivel k para entrar na base tal que z k c k = max{z j c j }. Da:
j J 1

z1 c1 = cBB a1 c1
1 0 1
= [40 18]
0 1 1 ( 8) = 50
z 2 c2 =
1 0 2
= [40 18]
0 1 1 (12) = 86
z3 c3 =
1 0 2
= [40 18]
0 1 3 2 (15) = 92
z 4 c4 =
1 0 1
= [40 18]
0 1 0 (0) = 40
z5 c5 =
1 0 0
= [40 18]
0 1 1 (0) = 18
Do clculo anterior escolheremos a varivel 3 para entrar na base porque ela possui o mximo entre
os zj cj positivos, ou seja, z3 c3 = 92. A interpretao econmica de que, se os preos da gasolina e do
leo so de, respectivamente, 40 e 18, a atividade de explorar o xisto daria o lucro fabuloso de z3 c3 =
92, j que a esses preos dos produtos a receita unitria da operao do xisto seria de 40.2 + 18.3 2 = 107,
contra um custo de apenas 15.
Ao escolhermos uma varivel para ingressar na base estamos procurando atividades mais lucrativas do que as da soluo corrente. As atividades 1, 2 e 3 so mais lucrativas do que a importao exorbi-

DUALIDADE E SENSIBILIDADE

145

tante. Isso era um fato esperado; contudo, no pudemos evit-lo j que no estava disponvel, inicialmente, um esquema vivel. Partindo de um absurdo pensamos em utilizar o prprio simplex para encontrar a tal soluo razovel (bsica vivel) que nos faltava.
Essa estratgia praticamente est sugerindo duas fases de soluo:

Fase da busca da viabilidade econmica.


Fase da busca da melhor soluo vivel possvel.
A interpretao econmica neste instante vai mais longe. Se, por algum motivo, o algoritmo oferecer, ao final de seu desenvolvimento, ainda uma soluo absurda, ou seja, incluindo a importao
exorbitante, ento podemos ter certeza de que no existe nenhuma soluo razovel melhor. Em outras palavras, se o algoritmo no for capaz de encontrar pelo menos uma sada razovel, porque ela
no existe, e o problema economicamente absurdo (invivel) desde o comeo.
Continuando o clculo, vamos para o Passo 2.
Passo 2: verificar viabilidade e escolha da varivel que deixa a base.
Pelo critrio
bs
= mnimo
y sk
1 i m

adotado para a melhoria, a varivel x3 entrar na base saindo a varivel


b

i : y ik > 0, que no caso x7, conforme o clculo abaixo demonstra:


y ik

5
2
b = 3 e y 3 = 3 2 logo:

x 6 5 2 2 , 5
x7
= 3/ 3 2 = 2

Valor mnimo, (s = 2 segunda linha)

A nova base ser formada pelas variveis x6, x3, ou seja:


1 2
B = [a 6 , a 3 ]= 0 3 2

Passo 3: atualizar os elementos de clculo.


O elemento fundamental de clculo a inversa da base. com ela que poderemos atualizar os demais
vetores. O mtodo de inverso da base, de fato, no caracteriza o mtodo simplex; contudo, tradicionalmente ele feito por pivoteamento pelo motivo que debatemos no captulo anterior. Podemos inverter a base utilizando o pivoteamento no contexto do mtodo simplex revisado. Nesse caso, faremos a
inverso da matriz aumentada B1 |y3, atravs da canonizao da coluna 3 (genericamente coluna k) junto
matriz j invertida no passo anterior (notar que s no primeiro passo vamos ter B = B1). A seta significa a
operao de pivoteamento:

antiga B 1

Pivoteamento
y k nova B 1

0
M
1
M
0

146

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

ou seja:
1 4 3 0
1 0 2

0 1 2 3 Pivoteamento
0 2 3 1
1 4 3
B 1 =
0 2 3
1 4 3 5 1
=
x B = b = B 1 b =
0 2 3 3 2
u = (u 1 u 2 ) = c B B 1 = [40 15]

z = z (z3 c3)

x B2
y 23

1 4 3
= [ 40 130 3]
0 2 3

= 254 92

2
= 70
1

Podemos tambm calcular z atravs de:


1
z = cBx B = [40 15]
2 = 70
Neste ponto, as variveis x1, x2, x4, x5 e x7 no so bsicas. J = {1, 2, 4, 5, 7},
I = {6, 3}.
Vamos, novamente, ao Passo 1.
Passo 1: escolha da nova varivel que entrar na base.
1
z1 c1 = ua1 c1 = [40 130/3]
1 (8) = 34/3

2
z2 c2 = [40 130/3]
1 (12) = 74/3

1
z4 c4 = [40 130/3]
0 (0) = 40

0
z5 c5 = [40 130/3]
1 (0) = 130/3

0
z7 c7 = [40 130/3]
1 (18) = 184/3
Do clculo anterior escolheremos a varivel 5 para entrar na base porque possui o mximo entre os
zj cj positivos, ou seja, z5 c5 = 130/3.
Continuando o clculo vamos para o Passo 2.

DUALIDADE E SENSIBILIDADE

147

Passo 2: verificar viabilidade e escolha da varivel que deixa a base.


Pelo critrio adotado para a melhoria, a varivel x5 entrar na base saindo a varivel
b

bs
= mnimo i : y ik > 0. O clculo no pode ser feito sem antes obtermos a coluna transformada da
y sk
1 i m y ik

varivel x5 diretamente da matriz A. Na iterao anterior a inversa da base era a prpria identidade e
y i = ri j J. Na atual iterao:
1 4 3 0 4 3
y5 = B1a5 =
1=
2 3

0 2 3
Da,
4 3
1
logo
b = 2 e y 5 =

2 3

x 6 1 4 3 3 4
x3
= 2 /
2 3
=

Valor negativo

Valor mnimo (s = 1)

Portanto, deve ser x6 a varivel que deixar a base.


A nova base ser formada pelas variveis x5 e x3, ou seja:
2
0
B = [a 5 , a 3 ]= 1 3 2

Passo 3: atualizar os elementos de clculo.


Vamos inverter a nova base aproveitando os clculos da iterao anterior, ou seja,
3 4 1 1
1 4 3 4 3


0 2 3

2 3
Pivoteamento
1 2 0
0

3 4 1
B1 =
1 2 0

3 4 1 5 3 4
x B = b = B 1 b =
=
5 2
1 2 0
3

3 4 1
w
w = 1 = c B B 1 = [ 0 15]
= [15 2 , 0]
w2
1 2 0

z0 = z0 (z5 c5)

x B1
= 70 (130/3) (3/4) = 75/2
y 15
ou:

148

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

3 4
z0 = cBxB = [0 15]
= 75/2
5 2

Nesse ponto as variveis x1, x2, x4, x6 e x7 e no so bsicas. I = {1, 2, 4, 6, 7}, J = {5, 3}. Aps a segunda
iterao, as variveis artificiais deixaram a base e a primeira fase do simplex est concluda. De fato,
no existe mais necessidade de levarmos em conta essas variveis. Vamos novamente ao Passo 1.
Passo 1: escolher a nova varivel que entrar na base.
z1 c1 = ua1 c1

= [15/2

1
0] 1 (8) =

z2 c2 = [15/2

z4 c4 = [15/2

2
0] 1 (12) = 3

1
0] 0 (0) = 15/2

Do clculo anterior escolheremos a varivel 2 para entrar na base porque ela possui o mximo entre
os zj cj positivos, ou seja, z2 c2 = 3. Continuando o clculo, vamos para o Passo 2.
Passo 2: verificar viabilidade e escolha da varivel que deixa a base.
Pelo critrio adotado para a melhoria, a varivel x2 entrar na base saindo a varivel
b

bs
= mnimo i : y ik > 0.
y sk
1 i m y ik

Novamente, necessitamos obter a coluna da varivel x2 como fizemos na iterao anterior. Nesse
caso:
3 4 1 2 1 2
y2 = B1a2 =
=
1 2 0
1
1

Da,
3 4
1 2
b =
e y 2 =
1
logo
5 2
x5 3
=

x3

5

4 1 2 3
=
/
2

1

5

2
2

Valor mnimo (s = 1)

A nova base ser formada pelas variveis x2, x3, ou seja:


2 2
B = [a 2 , a 3 ]= 1 3 2

DUALIDADE E SENSIBILIDADE

149

Passo 3: atualizar os elementos de clculo.


Vamos inverter a nova base pelo mtodo das operaes elementares, ou seja:
3 4 1 1 2
3 2 2 1

Pivoteamento

1
2
0
1


1 2 0
3 2 2
B1 =
1 2

3 2 2 5 3 2
=
x B = b = B 1 b =
1 2 3 11

3 2 2
u = (u 1 u 2 ) = cB B1 = [12 15]
= [3 54]
1 2

z0 = cB x B = [12 15]

3 2
= 33
1

Neste ponto as variveis x1, x5, x7, x4 e x6 no so bsicas. I = {1, 4, 5, 6, 7}, J = {2, 3}. Voltamos ao Passo 1.
Passo 1: escolher a nova varivel que entrar na base.
z1 c1 = ua1 c1 = [3

1
6]
1 (8) = 1

z4 c4 = [3

1
6]
1 (0) = 3

z5 c5 = [3

0
6]
1 (0) = 6

A varivel de ndice 1 entra na base, pois a nica que possui zj cj positivo. Continuando o clculo, vamos para o Passo 2.

Passo 2: verificar viabilidade e escolha da varivel que deixa a base.


Novamente necessitamos obter a coluna da varivel x1 como fizemos na iterao anterior para calcular
a varivel de bloqueio ao crescimento de x1. Nesse caso,
3 2
y1 = B1a1 =
1

2 1 1 2
=
2 1 1

150

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

ELSEVIER

Da,
3 2
1 2
logo
b=
ey =
1 1 1
x 2 3 2 1 2
=
/
=
x 3 1 1 1
A nova base ser formada pelas variveis x2 e x1, ou seja:
B = [a 2

2 1
a 1 ] =
1 1

Passo 3: atualizar os elementos de clculo.


Invertendo a base temos:
3 2
1

2 1 2
1 1 0

2 1 Pivoteamento 1 2 1
1 1
B 1 =
1 2
1 1 5 2
x B = b = B 1 b =
1 2 3= 1

u = (u 1 u 2 ) = cBB1 = [12

1 1
8 ]
1 2 = [4 4]
2
8]
1 = 32

z0 = c B x B = [12

Neste ponto: I = {3, 4, 5, 6, 7}, J = {2, 1} e voltamos ao Passo 1.


Passo 1: escolher a nova varivel que entrar na base.
z3 c3 = ua1 c1 = [4

2
4]
3 2 (15) = 1

z4 c4 = [4

1
4]
0 (0) = 4

z5 c5 = [4

0
4]
1 (0) = 4

Como todos os zj cj 0, estamos em condio de parada. O timo foi alcanado.


Vamos agora explorar as relaes duais e sua interpretao econmica. O dual do problema anteriormente solucionado :

DUALIDADE E SENSIBILIDADE

151

Maximizar w = 5y1 + 3y2


sujeito a:
u 2 + u2 8
2u1 + u2 12
2u1 + 3/2u2 15
u1 0, u2 0
onde as variveis u esto associadas aos preos dos produtos demandados pelo mercado. De fato, o
objetivo de maximizao pode ser interpretado como a busca do maior valor possvel para a oferta de
combustvel sem que se possa contabilizar lucro. O problema dual admite uma soluo grfica como
mostra a Figura 4.7.
X2
W = 5u1 + 3u2

C
8

2u1 + (3/2) u2 = 15
2u1 + u2 = 12

u1 + u2 = 8
A
O

U1

FIGURA 4.7 Soluo grfica do dual.

Observe que qualquer ponto do conjunto de solues viveis do problema dual est associado
a preos de gasolina e de leo para os quais nenhuma atividade gera lucro positivo. No exemplo, a
soluo dual tima nos fornece os preos dos produtos demandados para o qual existe um perfeito
equilbrio econmico, com custo total igual receita total. No timo, nenhuma atividade bsica
deficitria ou lucrativa. Por outro lado, seria deficitria a introduo de qualquer atividade no bsica no esquema de produo. A soluo tima do dual, que pode ser obtida graficamente, nos leva
a w = 32 e u1 = 4 e u2 = 4. Por esse resultado, poderamos ter evitado o clculo de otimizao aps a
incluso da atividade de explorao do xisto. A primeira soluo obtida sem a alternativa do xisto
seria mantida.

4.6 ANLISE DE SENSIBILIDADE


4.6.1 Consideraes Gerais sobre o Tema
A anlise de sensibilidade basicamente uma tcnica utilizada para avaliar os impactos que o programa sofre quando existem modificaes nas condies de modelagem. Anlise de sensibilidade , basicamente, o estudo de um modelo de programao matemtica submetido a mudanas em suas condies iniciais. As mudanas podero abranger:

152

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

Mudana no vetor de custos.


Mudana no vetor de termos independentes.
Mudana nos coeficientes das variveis.
Acrscimo de restries.
Acrscimo de novas variveis.
Para ilustrar as mudanas, examinaremos cada caso dentro de um exemplo numrico.
Minimizar z = 8x1 + 12x2 + 15x3 + 0x4 + 0x5 + 40x6 + 18x7
sujeito a:
x1 + 2x2 + 2x3 x4 + x6 = 5
x1 + x2 + (3/2)x3 x5 + x7 = 3
x1 0, x2 0, x3 0, x4 0, x5 0, x6 0, x7 0
com o seguinte sistema associado soluo tima:
x1

x2

x3

x4

x5

32

x4

x5

1/2

4.6.2 Mudanas no Vetor de Custos


As mudanas no vetor de custos podero incidir sobre dois tipos de variveis: as bsicas e as no bsicas.

Mudana de custos de variveis no bsicas


A frmula bsica para o clculo dos custos reduzidos :
zj cj = cBB1aj cj
Observamos que para uma varivel no bsica o termo cBB1aj no se altera, o que significa que as
alteraes nos custos reduzidos se propagam diretamente com a variao do termo cj. Seja a possvel
variao do custo igual a d. Para que a varivel de ndice j J seja candidata a entrar na base necessrio
que zj (cj + d) > 0 ou d < zj cj.
Exemplo 1: Vamos estudar a possibilidade de mudanas no vetor custo no problema de combustvel do
item anterior. Sabemos que o programa inicial era:
Minimizar z = 8x1 + 12x2 + 15x3 + 0x4 + 0x5 + 40x6 + 18x7
sujeito a:
x1 + 2x2 + 2x3 x4 + x6 = 5
x1 + x2 + 3/2x3 x5 + x7 = 3
x1 0, x2 0, x3 0, x4 0, x5 0, x6 0, x7 0
com o seguinte sistema associado soluo tima:

DUALIDADE E SENSIBILIDADE

x1

x2

x3

x4

x5

32

x1

x2

1/2

153

Examinemos o caso de possveis alteraes no custo do xisto.


Denominando por d a variao de c3 (custo do xisto) teremos que z3 (c3 + d) > 0 a condio de alterar a soluo tima encontrada. Substituindo os valores temos:
d + (1) > 0 d > 1 ou d < 1.
Nesse caso, se o custo do xisto cair 2 unidades, por exemplo, ele tornar-se- atrativo e far parte da soluo tima, levando ao seguinte quadro timo:
x1

x2

x3

x4

x5

31

x3

x2

3/2

1/2

Mudana de custos de variveis bsicas


Obviamente, se os valores dos custos das variveis bsicas sofrerem alteraes no sentido de se tornarem ainda mais desejveis, elas jamais deixaro a base; contudo, no podemos saber o que aconteceria
no caso inverso. O que desejamos nesse caso saber qual o intervalo de variao admissvel no vetor
custo para que certa varivel permanecesse na base sem alterar a base calculada.
Exemplo 2: Vamos examinar mudanas de preo no petrleo importado (varivel x2). Da soluo tima
temos que:
1 1
u = (u 1 u 2 ) = cBB1 = [12 + 8]
1 2 = [4 + 4 ]
2
z3 c3 = ua1 c1 = [4 + d 4 d]
3 2 (15) = 1 + d/2
z4 c4 = [4 + d

1
4 d]
0 (0) = 4 d

z5 c5 = [4 + d

0
4 d]
1 (0) = 4 + d

Da retiramos o seguinte conjunto de relaes para se manter a mesma base tima.


1 + d/2 0 d 2
4d0
d4
4+d0
d4

154

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

O que significa que no intervalo 4 d 2 a soluo no sofrer alterao em sua base. Fora desse
intervalo, a base no tima. Com essas equaes poderemos examinar a variao simultnea de custos em mais de uma varivel (bsica ou no) atravs da constituio de sistemas de equaes.

4.6.3 Mudana no Vetor de Demandas ou Termo Independente


O impacto da mudana no vetor b calculado atravs da seguinte frmula:
B 1 (b + Db)
onde Db indica a variao no vetor b.
Para o caso de exigirmos a viabilidade primal ento:
B 1 (b + Db) 0
Exemplo 3: Para o problema do combustvel,
1 1 5 + b 1
B-1 (b + Db) =
1 2 3 + b 2 0
2 + Db1 Db2 0
1 Db1 2Db2 0
que implica a soluo de um sistema de inequaes para a anlise da mudana do termo independente.
Exemplo 4: Nesse caso, vamos examinar detalhadamente o programa representado a seguir.
Maximizar z = x1 + x2
sujeito a:
x1
3
2x1 + 3x2 24
x1 0, x2 0
com o seguinte sistema associado soluo tima:

x1

x2

x3

x4

1/3

1/3

x1

x2

2/3

1/3

3
1
Suponhamos que o vetor b =
24 seja alterado para b = 18, o que acontecer?
O impacto da alterao do vetor b pode ser facilmente calculado:
1
0 1 1
x B = B 1 b =
2 3 1 3 18= 16 3

DUALIDADE E SENSIBILIDADE

155

Assim,
xB
1
x B = 1 =
16
3

x
B2
A base permaneceu tima (por coincidncia). Ento, como vimos no exemplo anterior, podemos
estar interessados nos intervalos em que as componentes de b poderiam variar para manter a viabilidade da soluo corrente.
4

Determinemos, para o caso corrente, o menor valor de b2 para que a soluo permanea tima.
1
0 3
3

x B = B 1 b =
2 3 1 3 = 2 + 3 0
D6

2
Supondo agora que b =
3 o que aconteceria?
Nesse caso:
1
0 2 2
x B = B 1 b =
2 3 1 3 3 = 1 3

Ou seja, a base tima, com a modificao do vetor b, deixa de ser vivel. Para solucionarmos esse
problema, podemos aplicar o algoritmo dual simplex da seguinte forma:
x1

x2

x3

x4

1/3

1/3

x1

x2

1/3

2/3

1/3

x1

x2

x3

x4

que nos leva ao seguinte quadro timo:

1/2

1/2

1/2

x1

1/2

3/2

1/2

x2

3/2

3/2

1/2

4.6.4 Mudana nas Restries


4

O primeiro caso a estudar diz respeito ao acrscimo de uma nova restrio ao problema. Sempre que
isso ocorre em um programa matemtico, acontece uma reduo no espao das solues viveis, o
que, ou aumenta/reduz (minimizao/maximizao) o valor da funo objetivo, ou no altera a soluo encontrada. Em nenhuma hiptese o acrscimo de uma restrio melhora o valor numrico
da funo objetivo. Como um procedimento geral para esse caso, podemos sugerir que se verifique
se o acrscimo da restrio altera a soluo ou no. No caso da alterao se configurar, devemos
prosseguir na soluo do novo problema.

156

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

Exemplo 5: Nesse caso, vamos examinar o programa a seguir.


Maximizar z = x1 + 3x2
sujeito a:
x1
3
2x1 + 3x2 24
x1 0, x2 0
que, quando solucionado, possui o seguinte quadro timo:
x1

x2

x3

x4

24

x3

x2

2/3

1/3

Suponhamos agora que desejamos acrescentar ao programa a seguinte restrio:


x1 + 6x2 30
Para verificar se houve o corte da soluo tima calculada anteriormente basta substituir os valo x B 3
na restrio, o que resultar em: 0 + 6 8 30, provando que haver alteres de x B = 1 =
x B 8
2

rao na soluo, uma vez que a soluo encontrada no quadro timo causa a violao da nova restrio. A nova restrio reduzir o tamanho do espao das solues viveis do problema e, consequentemente, diminuir seu valor no timo. Para solucionar o problema decorrente da agregao da nova restrio vamos acrescent-la ao quadro inicial. Como uma nova linha est sendo criada na matriz de restries, devemos ter o cuidado de introduzir a respectiva varivel de folga para manter uma base vivel inicial. Nesse exemplo, a varivel de folga ser x5. Assim teremos:
x1

x2

x3

x4

x5

24

x3

x2

2/3

1/3

x5

30

A coluna de x2, uma varivel bsica, no cannica, pois existe o valor 6 na ltima linha. Usando o
mtodo das operaes elementares para completar a inverso da base temos:
x1

x2

x3

x4

x5

24

x3

x2

2/3

1/3

x5

18

Aplicando o algoritmo dual simplex, aps dois pivoteamentos, chegaremos ao seguinte quadro:

DUALIDADE E SENSIBILIDADE

x1

x2

x3

x4

x5

33/2

1/2

1/6

x4

9/2

3/2

1/2

x2

9/2

1/6

1/6

x1

157

O segundo caso corresponde eliminao de uma restrio. Nessa alternativa encontramos alguns
subcasos, a saber:

A restrio eliminada de desigualdade.


Se a varivel bsica relacionada com essa restrio for a varivel de folga a ela associada, ento a
restrio inativa e sua eliminao no causar qualquer modificao para a soluo tima.
Caso a varivel bsica seja real, nada podemos afirmar e devemos retomar o processo de soluo
como um problema novo.

A restrio eliminada de igualdade.


Nesse caso, devemos recomear a soluo a partir da eliminao da restrio.
4

O terceiro caso corresponde alterao de coeficientes em uma restrio j existente. Nessa hiptese
no ser mais necessria a introduo da varivel de folga para completar a base. A partir da recamos no caso de acrscimo de uma nova restrio.

4.6.5 Mudana nas Variveis


4

O primeiro caso possvel de mudana na varivel a eliminao que comporta dois subcasos:

A varivel eliminada no bsica.


Evidentemente, quando retiramos do programa uma varivel no bsica no quadro timo, no alteramos a soluo, uma vez que as variveis no bsicas so nulas.

A varivel eliminada bsica.


No podemos simplesmente apagar uma varivel bsica porque a inversa da base foi calculada em
sua funo. Se agirmos assim teremos de recomear a soluo do passo inicial. O que podemos fazer
migrar para uma base vizinha que no contenha essa varivel e, posteriormente, elimin-la do programa como varivel no bsica. Para realizar essa migrao deveremos forar um pivoteamento. Os critrios para a escolha desse pivoteamento sero discutidos a seguir.
Exemplo 6:
Maximizar z = 5x1 + 5x2 + 13x3
sujeito a:
x1 + x2 + 3x3 20
12x1 + 4x2 + 10x3 90
x1 0, x2 0, x3 0
que possui o seguinte quadro timo:

158

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

x1

x2

x3

x4

x5

100

x2

20

x5

10

16

Supondo que a varivel x2 deva ser eliminada do problema, ento poderemos substitu-la na base
por x3 que, dentre as variveis no bsicas, possui o custo reduzido menos desfavorvel. Em uma situao em que se apresente a condio de parada para o simplex (quadro timo) as variveis no
bsicas ou possuem custos reduzidos nulos ou negativos. Nessa situao, substituir uma varivel bsica por uma no bsica ir, provavelmente, piorar o valor da soluo representada no quadro. O pivoteamento se configura da seguinte forma:
x1

x2

x3

x4

x5

100

x2

20/3

x5

10

16

o que nos leva ao seguinte vrtice vizinho ao anterior, timo dentro do novo quadro:

x1

x2

x3

x4

x5

260/3

2/3

2/3

7/3

x3

20/3

1/3

1/3

1/3

x5

50/3

46/3

2/3

10/3

O segundo caso refere-se ao acrscimo de uma nova varivel.

De fato, a introduo de uma nova varivel (xl) exige o reclculo dos custos reduzidos e da coluna
(l) da matriz Y.
Exemplo 7:
Maximizar z = x1 + 2x2 + 7x3
sujeito a:
x1
+ 2x3 4
x2 + 3x3 5
x1 + x2
0
x1 0, x2 0, x3 0
que nos leva ao seguinte quadro timo:
x1

x2

x3

x4

x5

x6

13

x1

x2

x3

DUALIDADE E SENSIBILIDADE

159

Suponhamos que desejamos acrescentar mais uma atividade, x7, com os seguintes elementos:
0
x7 = 1 e c7 = 4
2
Podemos calcular o valor de z7 c7 de sua expresso geral:
z7 c7 = cBB1a7 c7 = [1

3 2
7] 3 2
1
1

2 0
3 1 (4) = 1
1 2

De modo semelhante, calculamos a coluna y7.


2 0 2
3 1 = 4
1 2 1

3 2
y7 = 3 2
1
1

Acrescentando a nova coluna no quadro temos:


x1

x2

x3

x4

x5

x6

x7

13

x1

x2

x3

x1

x2

x3

x4

x5

x6

x7

cujo pivoteamento conduz a:

27/2

1/4

11/4

1/2

7/4

x1

1/2

3/2

1/2

x7

1/2

1/4

3/4

1/2

3/4

x3

3/2

1/4

1/4

1/2

-1/4

O terceiro caso de mudana nas variveis aborda a alterao dos coeficientes de uma varivel j existente.
Dois subcasos so possveis:

A varivel modificada no bsica.


Nesse caso, basta recalcular a coluna (l) como no exemplo anterior.

A varivel modificada bsica.


Podemos recalcular a coluna (l), introduzi-la no quadro e completar o processo de inverso da
base.

160

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

Exemplo 8:
Seja o quadro timo do exemplo 6:
x1

x2

x3

x4

x5

100

x2

20

x5

10

16

1
Suponhamos agora que x2 =
3. Sabemos que:
1 0 1 1
y2 = B1a2 =
4 1 3= 1
Contudo, como a varivel bsica temos:
x1

x2

x3

x4

x5

100

x2

20

x5

10

16

E podemos prosseguir na inverso da base pelo mtodo das operaes elementares chegando a:
x1

x2

x3

x4

x5

100

x2

20

x5

30

15

4.7 PROBLEMAS PROPOSTOS


1 Reviso da Teoria

Responda com Certo ou Errado justificando sua escolha:


1. Para um par de problemas primal dual na soluo tima temos:
a. ( ) Quando a soluo de cada problema finita os valores da solues timas do par igual.
b. ( ) O nmero de variveis de folga de um problema correspondem ao nmero de variveis reais
do outro.
c. ( ) Sempre que uma varivel de folga diferente de zero, a varivel dual correspondente igual a
zero.
d. ( ) Se um dos sistemas tiver infinitas solues, o outro tambm ter.
e. ( ) Se um dos sistemas for invivel, o outro tambm ser.
f. ( ) O nmero de iteraes do algoritmo simplex necessrias para a soluo de um problema ser o
mesmo para cada sistema.
g. ( ) A condio de parada no problema primal corresponde condio de viabilidade no problema
dual.

DUALIDADE E SENSIBILIDADE

2 Aplicao da Teoria da Dualidade

161

Para o problema abaixo:


Maximizar z = 2x1 + 3x2 + 6x3 + 8x4
sujeito a:
x1 + 2x2 + 3x3 + x 3
2x1 + x2 x3 + 3x4 4
xj 0, j = 1, 2, 3, 4
1. Escreva o problema dual.
2. Solucione o dual graficamente.
3. A partir da soluo do dual obtenha a soluo do primal.

3 Aplicao da Teoria da Dualidade

Para o problema abaixo:


Maximizar z = 2x1 + 3x2 + 6x3
sujeito a:
x1 + 2x2 + x3 12
x1 x2 + 3x3 7
xj 0, j = 1, 2, 3
1. Solucione-o pelo algoritmo simplex.
2. Escreva seu dual.
3. Solucione o problema dual graficamente.
4. Calcule, utilizando as condies de dualidade e a soluo grfica, o quadro simplex timo para o dual.

4 Aplicao da Teoria da Dualidade

Para o problema abaixo:


Maximizar z = x1 x2 + 2x3
sujeito a:
x 1 + x2 + x3 6
x1 + 2x2 + 3x3 9
xj 0, j = 1, 2, 3
1. Solucione-o pelo mtodo simplex.
2. Escreva o problema dual e determine graficamente sua soluo.
3. Supondo que b1 (primeiro elemento do termo independente) seja acrescido de uma unidade, o que
acontecer com o valor da funo objetivo?
4. Supondo que o vetor de custos seja alterado para (2, 1, 1), o que acontecer com a soluo encontrada
no primeiro pedido?
5. Supondo que o vetor de termos independentes seja alterado para (5 10)t, o que acontecer com a soluo encontrada no primeiro pedido?
6. Se uma nova varivel for includa no problema com o custo igual a 1 e com um vetor de restrio
igual a (2 1)t, o que acontecer com a soluo encontrada no primeiro pedido?
7. Se o vetor custo do problema alterado para (1, 1, 2) + l (1, 4, 1), determine as solues timas para
todos os valores de l.

162

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

5 Exerccio Prtico

Uma pequena siderrgica recebe encomenda de um lote de lingotes de ferro que dever totalizar 240
toneladas de contedo do elemento ferro (Fe). O cliente admitir que o lote homogneo tenha quantidades adicionais do elemento silcio (Si), mas para cada tonelada de Si dever haver na liga pelo menos
15 toneladas de Fe. A firma tem em estoque quantidade mais que suficiente:

Minrio do tipo A (min A), que custa R$6.000,00 cada centena de toneladas e que tem 2% de Si e
60% de Fe.

Minrio do tipo B (min B), que custa R$3.000,00 cada centena de toneladas e que tem 4% de Si e
40% de Fe.

A firma tem ainda a oportunidade de usar como matria-prima uma sucata de boa qualidade, que
custa R$2.500,00 a tonelada, e que possui praticamente 100% de Fe.
1. Formule o problema de programao linear que calcula a mistura de mnimo custo de matriasprimas necessrias para a produo dos lingotes encomendados.
2. Formule o problema dual.
3. Coloque os problemas na forma padro.
4. Resolva o problema pelo mtodo simplex.
5. De quanto varia o custo mnimo por tonelada de Fe a ser acrescida ao lote encomendado?
6. Qual a interpretao econmica que voc pode dar ao problema dual e suas variveis?
7. Suponha que aparea um novo fornecedor de um minrio de tipo C (min C), que custa R$4.000,00
por centena de toneladas e que possui 2% de Si e 50% de Fe. Haver mudana na composio da
liga tima? Se sim, qual ser a nova composio?
8. Qual o mximo preo que a sucata pode ter a fim de que seja economicamente vantajosa para a produo da liga em questo?
9. Dentro de que intervalo de custo o minrio do tipo A (min A) ser atrativo para permanecer na soluo tima?

6 Exerccio Prtico

Uma fbrica manufatura cinco tipos de prateleiras (p1, ..., p5) utilizando dois processos de produo (processo normal N e o processo acelerado A). Cada produto requer um certo nmero de horas para ser trabalhado dentro de cada processo e alguns produtos s podem ser fabricados atravs
de um dos tipos de processos. O Quadro 4.4 resume o consumo (em horas) dentro de cada esquema
de fabricao e os lucros obtidos (em reais) aps a deduo dos custos de produo.
QUADRO 4.4 Consumo de horas nos esquemas de fabricao

Prateleiras

p1

p2

p3

p4

p5

550

600

350

400

200

Processo Normal (horas)

12

20

25

15

Processo Acelerado (horas)

10

16

Lucros/Unidade (R$)

A montagem final de cada prateleira requer 20 horas de mo de obra por unidade. A fbrica possui
trs mquinas para o processo normal e duas para o processo acelerado. As mquinas trabalham em

DUALIDADE E SENSIBILIDADE

163

dois turnos de 8 horas por dia, em um regime de 6 horas semanais. Uma equipe de 8 homens trabalha
em turno nico de 8 horas e durante seis dias, na montagem das prateleiras junto aos clientes.
1. Formule o problema de programao linear que calcula o melhor esquema de produo.
2. Formule o problema dual.
3. Coloque os problemas na forma padro.
4. Resolva ambos os problemas pelo mtodo simplex.
5. Existe algum processo que no est sendo totalmente utilizado? Por que isso est acontecendo?
6. O que aconteceria ao lucro total se um novo trabalhador fosse contratado temporariamente (pagamento por hora trabalhada).
7. Qual deveria ser o preo dos produtos que no foram escolhidos para serem fabricados para que
eles se tornassem economicamente atrativos?
8. Qual o valor econmico de uma hora extra de capacidade de produo em cada processo?
9. Justifique o custo da prateleira 1 atravs da anlise do valor das horas de trabalho agregadas pelos
processos de fabricao e montagem.

7 Exerccio Prtico
Considere o seguinte problema de programao linear:
Maximizar z = 2x1 + 4x2 + x3 + x4
sujeito a:
x1 + 3x2
+ x4 8
2x1 + x2
6
x2 + 4x3 + x4 6
xj 0, j = 1, ... , 4

O modelo corresponde a um processo de produo em que as variveis so certos produtos manufaturados que so vendidos no mercado. O retorno da venda dos produtos est indicado, em unidades
monetrias, pela funo objetivo. As restries representam as limitaes de disponibilidade do insumo A (restrio 1), do insumo B (restrio 2) e do insumo C (restrio 3), insumos esses que so consumidos no processo de obteno de cada produto.
Denominamos x5, x6 e x7 as variveis de folga associadas respectivamente primeira, segunda e
terceira restries e b = (b1, b2, b3) o termo independente. Sabendo-se que a inversa da base tima (composta por x1, x3 e x2) corresponde a:
1

5
1
B 1 =
10
2
5

3
5
1
20
1

1
4
0

Responder s perguntas que se seguem:


1. O que aconteceria com o retorno do sistema de produo se fosse disponibilizada mais uma unidade do insumo

164

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

1.1 A.
1.2 B.
1.3 C.
2. Em que intervalo de variao de disponibilidade o insumo A poder oscilar para que a base tima
no seja alterada?
3. Qual ser a soluo tima se b1 = 5? E se b1 = 25?
4. Se esto disponveis mais 3 unidades do insumo 1, qual ser o valor do retorno timo obtido com a
venda dos produtos?
5. Quanto vale para a companhia a unidade do insumo A? E a unidade do B?
6. A companhia resolveu introduzir um novo produto em sua linha de produo (x8). Cada unidade
de x8 poder ser comercializada por 3 unidades monetrias e consumir 1 unidade do insumo A, 1
do insumo B e nenhuma do C. Partindo da situao inicial de disponibilidade de insumos, qual
ser a nova poltica de produo da companhia? Nesse caso, valer a pena aumentar a disponibilidade do insumo B? Por qu? Nesse caso, o valor do insumo A mudou para a companhia?
7. Uma sbita mudana de preferncia da clientela valorizou o produto 4, dando a ele um retorno de
5 unidades monetrias. Estudar o efeito dessa valorizao sobre a soluo inicial. Nesse caso, qual
seria o valor do insumo C para a produo da companhia?

8 Aplicao da Teoria da Dualidade

Abaixo est transcrito o quadro timo de determinado problema de programao linear, cuja funo objetivo era de maximizao e as restries eram todas de .
x1

x2

x3

x4

x5

20

x2

x5

10

1. Escreva o problema original.


2. Escreva o dual desse problema.
3. Obtenha a soluo tima do problema dual a partir do quadro acima.

9 Aplicao da Teoria da Dualidade


Solucione o problema abaixo:
Maximizar z = x1 + 8x2
sujeito a:
x 1 + x2
2
x1 + 4x2 4
xj 0, j = 1, 2

DUALIDADE E SENSIBILIDADE

165

10 Aplicao da Teoria da Dualidade

necessrio efetuar a programao diria da montagem de placas-me para microcomputadores em


uma pequena manufatura. Cada tipo de placa pode ser montada com dois tipos de CPU. O quadro a
seguir representa a distribuio de agregao de valor em US$ com a montagem de uma placa-me em
funo do esquema Tipo de Placa-Me CPU utilizado.
T A B E LA 4. 3 ESQ UEMA PL ACA-ME C P U /U S $

Tipo 1

Tipo 2

CPU 1

50

70

CPU 2

25

60

Cada combinao CPU Tipo de Placa-Me exige um tempo de montagem e testes peculiares que
podem ser resumidos em homens horas por lote de 25 placas no quadro que se segue:
T A B E LA 4. 4 ESQ UEMA PL ACA-ME C P U /H O M E NS H O RA

Tipo 1

Tipo 2

CPU 1

CPU 2

0,7

So disponveis 50 homens hora de mo de obra tcnica para a montagem. O fluxo de montagem


dos computadores exige, no mnimo, 500 placas (consideradas em qualquer esquema de montagem) e
as quantidades mximas por esquema, conforme tabela abaixo:
T A B E LA 4. 5 ESQ UEMA PL ACA-ME C P U /Q U A NT I D A D E S M XI M A S

Tipo 1

Tipo 2

CPU 1

250

250

CPU 2

150

250

1. Solucione o problema de maximizar a agregao de lucros com a montagem das placas-me, utilizando o algoritmo dual simplex.
2. Qual deveria ser o mnimo valor associado ao esquema de Placa Tipo 1 CPU 2, para que ele fosse
de montagem atrativa?
3. O que aconteceria se, em um certo dia, o fluxo de montagem exigisse a preparao de 600 placas?
Nesse caso como se comportaria o valor agregado mdio por placa? (Aumenta? Diminui?)

11 Exerccio Abrangente

Uma empresa siderrgica, produtora de aos especiais, precisa programar sua produo para os prximos trs meses. Todos os seus produtos, essencialmente obtidos das matrias-primas Ni, Cr e sucata
de Fe, passam pelo laminador desbastador, cuja capacidade de laminao de, no mximo, 50 mil toneladas de ao por ms. O estoque atual de Ni de 6 mil toneladas e seu nico fornecedor desse metal
tem capacidade de minerao e beneficiamento de, no mximo, 3 mil toneladas por ms. O estoque atual de Cr de 10 mil toneladas, mas a possibilidade de importar esse metal no prazo mnimo de um ms
viabiliza seu consumo em quaisquer quantidades a partir do segundo ms do horizonte de planeja-

166

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

ELSEVIER

mento. A sucata de Fe e as demais matrias-primas esto disponveis em quantidades folgadas. A empresa, detentora do monoplio de aos especiais, considera para os prximos trs meses apenas as seguintes alternativas de produo:
4

Ao tipo ABNT 301, que contm no mximo 0,15% de C, no mximo 2% de Mn e no mximo 1% de Si.
Esse tipo de ao, utilizado para fins estruturais, deve conter de 16% a 18% de Cr e de 6% a 8% de Ni.

Ao tipo ABNT 302, que deve atender aos mesmos limites do ao ABNT 301 para o C, Mn e Si.
Mas como deve ser utilizado em equipamentos hospitalares e de indstria alimentcia (deve ser
muito resistente a corroso) dever conter de 17% a 19% de Cr e de 8% a 10% de Ni.

Ao tipo ABNT 409, que contm no mximo 0,08% de C, 1% de Mn e 1% de Si. Esse tipo de ao
utilizado para exausto de gases e motores a exploso, devendo conter de 10,5% a 11,75% de Cr,
ser isento de Ni e possuir uma percentagem de Ti pelo menos 6 vezes maior que a percentagem
de C e no mximo igual a 0,75 do peso total da liga.

Suponha que a empresa tenha assumido compromissos de venda de pelo menos 10 mil toneladas
por ms de ao ABNT 301 e que tenha se comprometido a fornecer, at o fim do terceiro ms, pelo menos 30 mil toneladas de ao tipo ABNT 302. A empresa sabe ainda que, embora seu mercado seja bom,
no conseguir vender mais do que o triplo das quantidades j pedidas desses dois tipos de aos com
Ni. Por outro lado, a demanda pelo ao tipo ABNT 409 praticamente ilimitada, face a seus bons preos e a uma conjuntura favorvel nos mercados (nacional e internacional) dos motores de exploso.
Assumindo e explicitando as hipteses que voc julgar necessrias (para os estoques iniciais dos
produtos etc.), responda s seguintes questes:
1. Desprezando as restries relativas ao contedo de Ti no ao tipo ABNT 409, cite as principais variveis de deciso no problema em questo.
2. Quais so os recursos limitados nesse problema de planejamento da produo e estocagem dessa
empresa? Escreva explicitamente as principais relaes de disponibilidade desses recursos.
3. Escreva implicitamente as principais restries de atendimento ao cliente.
4. Arbitrando preos por tonelada para os diversos tipos de ao (da ordem de alguns milhares de US$),
formule uma funo objetivo que maximize a receita total da empresa nos trs meses em questo.
5. Mostre o tableau do problema de programao matemtica que modela esse problema de planejamento e produo.
6. Assumindo que a reduo de C numa liga seja um procedimento custoso e que o preo do Ti seja
alto, como se pode acomodar no modelo de PL a exigncia de qualidade que relaciona teores de C
e Ti na produo do ao ABNT 409.
7. Resolva o problema utilizando algum software adequado.
8. Qual a melhor poltica para produzir e estocar? Existem alternativas?
9. Se existir, cite um tipo de ao cuja produo seja antieconmica em algum perodo. Qual o prejuzo, por unidade no nvel da atividade, que esse tipo de ao daria se a gerncia de produo insistisse na sua fabricao nesse perodo? Se o preo do ao subir, a partir de que acrscimo ele passa a
fazer parte do esquema timo de produo?
10. Existe algum recurso folgado? Qual? At quanto esses recursos podem ter sua disponibilidade reduzida sem alterar o esquema de produo tima?
11. Assumindo que todas as demais condies se mantenham, dentro de que intervalo de preos cada
atividade bsica pode variar sem que ela seja descartada do programa timo de produo?
12. Cite preos de equilbrio financeiro para a empresa, a incluindo os valores dos produtos e dos insumos. Mantendo esses valores como base, suponha que atualmente o custo do Ni para a empresa seja
de US$8.000,00 a tonelada. At quando esse preo pode subir, sem que incorra em prejuzos para a
empresa?
13. Quais so os valores marginais dos diversos produtos e insumos?

PROGRAMAO INTEIRA E
PROGRAMAO DINMICA

5.1 CARACTERSTICAS DOS MODELOS LINEARES DE PROGRAMAO INTEIRA


Seja o problema de programao linear que se segue:
Uma confeitaria produz dois tipos de bolos de sorvete: chocolate e creme. Cada lote de bolo de chocolate vendido com um lucro de 3 unidades monetrias e os lotes de creme com um lucro de 1. Contratos
com vrias lojas impem que sejam produzidos no mnimo 10 lotes de bolos de chocolate por dia e que o
total de lotes fabricados nunca seja menor que 20. O mercado s capaz de consumir at 40 lotes de bolos
de creme e 60 de chocolate. As mquinas de preparao do sorvete disponibilizam 180 horas de operao, sendo que cada lote de bolos de chocolate consome 2 horas de trabalho e cada lote de bolos de creme
3 horas. Determinar o esquema de produo que maximize os lucros com a venda dos bolos de sorvete.
A modelagem deste problema de programao matemtica que denominaremos dos lotes de bolos de sorvete, ou BS, simples e pode ser realizada da seguinte forma:
1. Escolha da varivel de deciso
xi quantidade de lotes de bolos de sorvete do tipo creme (i = 1) e chocolate (i = 2) fabricados.
2. Elaborao da funo objetivo
z = Maximizar {f (x) = x1 + 3x2}
Nmero total de unidades monetrias obtidas como a venda dos lotes dos bolos tipo creme e chocolate.
3. Formulao das restries tecnolgicas
a) Restrio associada disponibilidade de maquinaria:
3x1 + 2x2 180
b) Restrio do nmero de lotes de bolos de creme no mercado:
x1 40
c) Restrio do nmero de lotes de bolos de chocolate no mercado:
x2 60
d) Restries associadas aos contratos com as lojas:
x2 10
x1 + x2 20

168

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

4. Restries de no negatividade
x1 0, x2 0
Podemos resumir o modelo de BS da seguinte forma:
(BS) Maximizar z = x1 + 3x2
sujeito a:
x1
40
x2 60
x2 10
x1 + x2 20
3x1 + 2x2 180
x1 0, x2 0
Como nos foi solicitado que, alm do modelo, fosse exibido o melhor esquema de soluo para
a produo, vamos buscar a soluo do problema. Uma primeira dvida surge imediatamente ao
analisarmos o conjunto de restries: seria possvel produzirmos meio lote de bolos de chocolate?
Se o lote possuir um nmero mpar de bolos, ento algum deveria comprar uma frao de bolo de
chocolate.
Esse problema de extraordinria importncia. Em inmeras situaes, as variveis de deciso
no podero admitir um valor contnuo. Ocasies em que estamos lidando com pessoas, configuraes, objetos fsicos etc., solues fracionrias perdem o sentido prtico. Poderamos pensar que esse
problema no seria to grave se trabalhssemos com uma formulao contnua e, aps a soluo final,
providencissemos alguma estratgia de arredondamento. O que ingenuamente pode parecer uma soluo razovel pode ser uma pssima ideia na prtica. Vamos exemplificar a inadequao da soluo
via arredondamento mais adiante, mas no momento cabe corrigir nosso modelo substituindo a condio de no negatividade por uma condio mais exigente:
4. Condies de integralidade
x1, x2 Z+ (conjunto dos inteiros positivos).
A Figura 5.1 mostra a representao grfica da matriz de restrio do problema BS.
x2
90

x1 = 40

60

x2 = 60

x1 + x2 = 20

3x1 + 2x2 = 180

20
E

x1 = 10
F
O

A
20

40

60

Figura 5.1 Representao grfica de BS.

x1

PROGRAMAO INTEIRA E PROGRAMAO DINMICA

169

Como podemos observar na Tabela 5.1, os pontos A, B, C, D, E e F do polgono de solues possuem coordenadas inteiras. Tal fenmeno um fato raro. Obviamente, quando os pontos extremos
do poliedro de solues viveis possuem valores inteiros, solucionar um problema de programao
linear com variveis contnuas equivalente a solucionar um problema de programao inteira.
T A B E LA 5. 1

Pontos Examinados

Coordenadas
(x1, x2)

Valor da funo
z = x1 + 3x2

A
B
C
D
E
F

(40,10)
(40,30)
(20,60)
(0,60)
(0,20)
(10,10)

70
130
200
180
60
40

A soluo que leva ao maior valor a correspondente ao vrtice C. Mas e o problema do arredondamento? Ainda no vimos por que ele grave. Seja o programa que se segue:
Maximizar z = x1 + 19x2
sujeito a:
x1 + 20x2 50
x1 + x2 20
x1, x2 variveis inteiras
8
11
8
cuja soluo tima : x *1 = 18 , x *2 = 1
e z *0 = 48 .
19
9
19
Aplicando a estratgia de arredondamento, uma vez que os valores timos so fracionrios, e providenciando uma busca racional no entorno do ponto timo contnuo teramos:
T A B E LA 5. 2

Pontos Examinados Coordenadas

Valor da funo
z = x1 + 19x2

x1* = 19

x2* = 2

invivel

x1* = 19

x2* = 1

z = 38

x1* = 18

x2* = 2

invivel

x1* = 18

x2* = 1

z = 37

Contudo, a soluo tima obtida com, x *1 = 10, x *2 = 2 e z *0 = 48, ou seja, o erro de 21% no arredondamento. Com um nmero maior de variveis e com essa margem de erro a tcnica de arredondamento pode resultar em uma derrocada completa no esforo de modelagem e soluo, impondo-se outros
mtodos de soluo.
Existem vrios mtodos especficos para a obteno da soluo inteira exata de um problema de
programao linear (ver Dantzig [1959], Gomory [1960], Glover [1965], Lawler e Wood [1966], Reiter e
Rice [1966], Shapiro [1968], Nemhauser e Ullman [1968], Padberg [1970], Wolsey [1972], Pierce e Lasky
[1973], Nemhauser e Garfinkel [1972], Geoffrion e Marsten [1972], Shamir [1984]] e solues aproximativas (ver Chvatal [1979], Davis [1987], Goldberg [1988]). Apresentaremos, a seguir, uma tcnica exata e
uma heurstica para a soluo desse tipo de problema, mas antes exemplificaremos o amplo espectro
do potencial de modelagem atravs de uma srie de exemplos.

170

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

ELSEVIER

5.2 O PROBLEMA DA MOCHILA E MTODOS DE SOLUO


EXATA PARA A PROGRAMAO INTEIRA
O presente tpico vai debater um importante modelo de programao linear inteira (PLI) denominado
o problema da mochila (PK) e mtodos exatos para a soluo dos modelos de PLI.

5.2.1 O Problema da Mochila (Knapsack Problem PK)


4

A Importncia do Problema e seu Contexto

O chamado problema da mochila ou knapsack problem caracteriza-se pelo estreito relacionamento com
um grande nmero de outros modelos de programao. Sua importncia est associada exatamente a
esse fato. Metaforicamente podemos entend-lo como o desafio de encher uma mochila sem ultrapassar um determinado limite de peso, otimizando o valor do produto carregado. Foi possivelmente reportado pela primeira vez na literatura por Dantzig (1957) e constitui um marco das tcnicas de programao inteira, otimizao combinatria e programao dinmica. Alm do aspecto matemtico, o modelo em si pode ser aplicado diretamente em casos prticos como:

Investimento de capital (ver Weingartner [1968]).


No problema de corte e empacotamento (ver Gilmore e Gomory [1965] e [1963], Pirce [1964],
Goulimis [1990], Vahrenkamp [1996]).

Carregamento de veculos (ver Bellman e Dreyfus [1962] e Captulo 9).


Oramento.
Um texto aprofundado no tema pode ser encontrado em Kellorer (2004).
4

A Formulao do Problema

Podemos formular o problema da mochila (PK) da seguinte forma:


n

(PK) Maximizar z = cjxj


j=1

sujeito a:
n

w jxj b

j=1

xj 0 e inteiro.
onde xj representa o nmero de objetos do tipo j selecionados para serem includos em uma mochila,
representada metaforicamente pela restrio do modelo. A mochila possui uma capacidade total de b
unidades. A varivel cj representa o valor econmico de cada item, e wj, o peso do item. A literatura utiliza intensamente e, sem qualquer perda de generalidade, os coeficientes da restrio como pertencentes ao conjunto dos inteiros. Nesse caso:
n

j=1

e w , b .

wj > b e wj b, j = 1, , n

PROGRAMAO INTEIRA E PROGRAMAO DINMICA

171

Considerando que exista apenas um objeto de cada tipo para ser escolhido, define-se o problema
da mochila 0-1, em que a restrio da varivel inteira substituda por xj {0, 1}. Denominaremos essa
formulao de (PKI). O problema assim definido tambm muitas vezes denominado de problema da
mochila unidimensional (por possuir apenas uma restrio tipo mochila).
n

(PKI) Maximizar z = cjxj


j=1

sujeito a:
n

w jxj b

j=1

xj {0, 1}

j = 1, ..., n

Um caso particular bastante conhecido para PKI aquele em que as variveis de deciso so inteiras
e limitadas em certos valores mximos. Esse problema denominado da mochila com limites (PKL) e
pode ser formulado do seguinte modo:
n

(PKL) Maximizar z = cjxj


j=1

sujeito a:
n

w jxj b

j=1

xj lj

j = 1, ..., n

x j +
Os limites impostos pelos valores lj no permitem que a mochila seja preenchida com um nmero
qualquer dos objetos xj.
O (PK) NP-rduo (ver Garey e Johnson [1979]). J o caso da mochila linear, ou seja, aquele em que as
variveis so contnuas, pode ser solucionado de modo extremamente eficiente, em O (n), onde n representa o nmero de variveis do problema, sendo passvel de soluo tanto pelo algoritmo simplex (ver
Chvtal [1983]), como, por exemplo, pelo mtodo dos pontos interiores (ver Gonzaga [1989]). Esse talvez
seja um dos problemas de otimizao em que mais facilmente podemos perceber a diferena de dificuldade de soluo entre os problemas de programao inteira e de programao linear, uma vez que somente uma restrio considerada. Para exemplificar a natureza combinatria do problema PKI apresentamos, na Figura 5.2, a rvore de enumerao do seguinte caso:
Maximizar z = 7x1 + 10x2 + 12x3 + 14x4
sujeito a:
z = 41x1 + 55x2 + 60x3 + 70x4 160
4

Problemas Correlatos

Apresentaremos no presente item uma srie de variantes para o problema da mochila. Essa coletnea,
alm de comprovar as vrias aplicaes do modelo, permite uma viso de sua importncia.

172

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

X1

X3

X2

15

2
X1 = 3

X3 = 0

X2 = 0

X3 = 1

X3 = 0

X2 = 1
X1 = 1

X4

X2 = 0

X3 = 0

X2 = 2

X3 = 0

9
10

X3 = 1

16

17

18

19
20

X2 = 1
X3 = 1
1

X1 = 0

X2 = 0

X3 = 0

11

X3 = 2
X2 = 2

X1 = 2

12

X2 = 0

13

X3 = 0
X3 = 0

X3 = 1
X2 = 1

14

X3 = 0

28

Z = 21

29

Z = 29

30

Z = 17

31

Z = 21

32

Z = 27

33

Z = 22

34

Z = 26

35

Z = 28

36

Z = 24

37

Z = 20

38

Z = 28

39

Z = 26

40

Z = 24

X4 = 0

X4 = 0

X4 = 0

X4 = 1

X4 = 0
X4 = 0
X4 = 1

21
22
23
24

25
26
27

X4 = 2
X4 = 0
X4 = 0

X4 = 1
X4 = 0

X4 = 0

FIGURA 5.2 rvore de enumerao do exemplo do problema da mochila.

Subset-Sum Problem (SSP):


Dois problemas so fortemente correlacionados ao PK. O primeiro deles um caso especial quando os
custos possuem o mesmo valor dos pesos. Nesse caso, cj = wj e assim define-se o subset-sum problem (SSP)
(tambm denominado por Christofides [1979] por Value-Independent Knapsack Problem):
n

(SSP) Maximizar z = wjxj


j=1

sujeito a:
n

w jxj b

j=1

xj {0, 1}

j = 1, ..., n.

PROGRAMAO INTEIRA E PROGRAMAO DINMICA

173

Mochila Mltipla 0-1 (PKM)


Este problema caminha no sentido contrrio de SSP, pois trata-se de uma generalizao de PK. Nesse
caso existem m mochilas a serem carregadas, cada uma com capacidade bi, i = 1, ..., m. PKM se reduz a PK
quando m = 1. As variveis de deciso do problema so afetadas por dois ndices; ou seja, xij uma varivel binria com 0, 1 representando a incluso do produto i na mochila j. Os pesos dos produtos e seus valores so os mesmos para todas as mochilas. necessrio incluir no modelo uma restrio adicional que
evite a incluso de um mesmo produto em mais de uma mochila. Podemos formular esse problema da
seguinte forma:
m

(PKM) Maximizar z =
i= 1

cjxij

j=1

sujeito a:
n

wjxij bi

i = 1, ..., m

j=1

xij 1

j = 1, ..., n

i= 1

xij {0, 1} i = 1, ..., m; j = 1, ..., n.


Existem as verses limitada ou no limitada para o caso mltiplo.

Mochila 0-1 Multidimensional (PK-n-Dimensional)


Se para carregarmos a mochila com os objetos seja exigido um pagamento pi a cada item adquirido e
exista uma limitao p no capital disponvel para tal aquisio, um novo problema pode ser definido:
carregar a mochila com a carga de maior valor possvel atendendo disponibilidade de oramento.
Podemos formular o problema como um caso sujeito a duas restries ou bidimensional (PKB), da seguinte forma:
n

(PKB) Maximizar z = cjxj


j=1

sujeito a:
n

w jxj b

j=1

pjxj p

j=1

xj {0, 1}

j = 1, ..., n.

O modelo poder ser generalizado na medida em que existam outras restries que limitem a utilizao dos objetos para o preenchimento da mochila, da a denominao multidimensional para esse
tipo de modelo. Como no caso da mochila mltipla, podemos encontrar para o problema as verses limitada e no limitada.

Mochila Max-Min 0-1 (PKMM)


Em diversas situaes os problemas modelados pela mochila podem envolver itens que possuem dependncias dos valores de um cenrio. Um exemplo dessa situao diz respeito preparao de uma
bagagem para uma excurso. O valor de um capote impermevel ou de um casaco pesado depende da
probabilidade associada chuva ou ao frio no intervalo de viagem.

174

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

Dados n itens e um conjunto S de cenrios, e uma mochila que possua o valor do item associado a
v is , o valor do item i dentro do cenrio S, e considerando tambm wi o peso do item i, e b a capacidade
da mochila, uma mochila max-min 0-1 definida da seguinte forma:

(PKMM) Maximizar Mnimo


v
x

i
i

s S i= 1

sujeito a:
n

w ixi b

i = 1, ..., m

i= 1

xi {0, 1}

i = 1, ..., m;

O PKI um caso particular de PKMM quando existe apenas um cenrio a ser considerado. A formulao PKMM aplicada em problemas de carteira de investimento em que o valor do retorno esperado depende do cenrio futuro. A considerao de um objetivo min-max um dos trs critrios usados em um contexto maior de problemas de otimizao denominado mais recentemente de otimizao
robusta (ver Kouvelis e Yu [1993]). Os problemas min-max ou max-min com variveis contnuas foram
estudados, dentre outros, por Kaplan (1974), Luss e Smith (1986), Pang e Yu (1989), Klein et al. (1993). O
problema min-max discreto foi abordado por Jacobsen (1971), Porteus e Yormark (1972), Ichimori
(1984), Tang (1988). Um trabalho interessante abordando o problema max-min o de Rangan e Govindan (1992). O problema contnuo max-min da mochila foi estudado por Eiselt (1986). Yu (1996) apresenta um algoritmo B&B para a soluo de PKMM, bem como uma heurstica mope para a gerao de
solues viveis e limites inferiores.

Mochila de Escolha Mltipla (PKEM)


Se o conjunto N das variveis for particionado em m classes Nk, k = 1, ..., m e for exigido que exatamente
uma varivel de cada classe seja escolhida para integrar uma soluo, ento denominaremos esse modelo de mochila de escolha mltipla. Dudzinski e Walukiewicz (1987) formulam o PKEM da seguinte
forma:
m

(PKEM) Maximizar z =

cjxj

k=1 jN k

sujeito a:
m

w jxj 1

k=1 jN k

xj = 1 k M = {1, ..., m}

j N k

xi {0, 1}

jN=

U N k = {1, ..., n}.

k=1

Sinha e Zoltner (1979) e Nauss (1979) sugerem vrias aplicaes para o PKEM. Zemel (1984) apresenta um algoritmo O (n) para a soluo do caso contnuo do problema. Johnson e Padberg (1981) tratam o problema com restries de empacotamento

xj 1. Ibarra e Kim (1978) substituem as restri-

j N k

es de escolha mltipla pela nica exigncia de que pelo menos uma das variveis pertencentes a Nk,
k = 1, ..., m, seja positiva na soluo (no obrigatoriamente inteira). A relaxao linear desse problema

PROGRAMAO INTEIRA E PROGRAMAO DINMICA

175

possui um eficiente mtodo dual de soluo com complexidade O (n) (Dyer [1984]). Reportam-se excelentes resultados na reduo de PKEM (Sinha e Zoltner [1979]). O problema pode ser solucionado atravs de programao dinmica em O (nb) operaes (ver Dudzinski [1984]).

A Mochila Encapsulada (PKE)


Esse modelo se enquadra na classe daqueles direcionados formulao de problemas de sequenciamento de tarefas. Dudzinski e Walukiewicz (1987) formulam o PKE da seguinte forma:
(PKE) Maximizar z =

c jxj

j S

sujeito a:

wjxj bi

i = 1, ..., m

jSi

xj {0, 1}, j S
m

onde Si Sk = ou (Si Sk ou Sk Si) para i k, com S = U Si . Podemos supor sem qualquer perda de
i=1

generalidade que Si Sk, e, se Si Sk, ento bi bk para cada i k. PK um caso especial de PKE quando m = 1. A restrio de mochila do modelo comporta-se de modo aninhado ou encapsulado (da
seu nome) e pode ser representada em um grafo direcionado G = (V, A), onde V = {1, ..., m} e as arestas
(i, k) A, se e somente se Si Sk e no existe r V tal que Si Sr Sk, sendo S um subconjunto de N. O
grafo G uma floresta. Dois casos particulares de PKE so importantes por sua aplicao prtica e apresentados por Dudzinski e Walukiewicz (1987), a saber:

O Problema da Mochila Decomposta (PKD)


(PKD) Maximizar z =

c jxj

j S

sujeito a:

w jxj b i

w jxj b

i = 1, ..., m

jSi
j S

xi {0, 1}, j S
m

onde Si Sk = para i, k = 1, ..., m, i k, com S = U Si e Sm+1 = S


i=1

O Problema da Mochila Multiperodo (PKMP)


Trata-se de um modelo com aplicaes na programao industrial e mercado de capitais (ver tambm
Salkin [1975]).
m

(PKMP1) Maximizar z =

cjxj

k=1 jR k

sujeito a:
i

w jxj b i

i = 1, ..., m

k=1 jR k

xj {0, 1}, j Rk, k = 1, ..., m

176

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

onde para i, k = 1, ..., m, i k, com Si =

U R k e S = Sm

k=1

com Ri Rk = , para i k.

O problema de sequenciamento de tarefas com prazos limite um caso especial da mochila multiperodo. Nesse caso, existem n tarefas a serem executadas em uma mquina com um tempo de processamento associado igual a tj e um lucro resultante de pj. As restries de prazo so representadas por dj
tj para todas as tarefas j, j = 1, ..., m. Se uma tarefa completada dentro do prazo, ento o lucro pj realizado, sendo o retorno nulo em caso contrrio. Se as tarefas so reindexadas de forma que:
d1 d2 ... dn
podemos reformular o PKMP1 da seguinte forma:
n

(PKMP2) Maximizar z = pjxj


j=1

sujeito a:
i

tjxj di

i = 1, ..., n

j=1

xj {0, 1}, j = 1, ..., n.


onde xi = 0 se a tarefa viola a restrio de tempo e xi = 1 se est no prazo. Nesse caso Ri = {i} e S = {1, ..., i}
para i = 1, ..., n e m = n.

O Problema Quadrtico da Mochila (PKQ)


Este problema generaliza a mochila 0-1 multidimensional de forma que as variveis so inteiras e a
funo objetivo uma funo quadrtica. Esse modelo aplicado em:
Estudo de cenrios de investimento de capital (Djerdjour et al. [1998]).
Localizao de estaes de recepo em terra para comunicao via satlite (Witzgall [1975]).
Localizao de estaes rodovirias e pontes mveis de acesso aos avies (fingers) (Billionnet e
Calmels [1996]).

Localizao

de estaes de medio pluviomtrica e seleo de carteiras de investimento


(Laughhunn [1970]).

Roteamento de mensagem por satlite com limitao de memria (Billionnet et al. [1989]).
Gallo et al. (1980) formulam o PKQ como se segue:
n

(PKQ) Maximizar z = qiixi +


i= 1

1 i< j n

sujeito a:
n

w ixi b

i= 1

xi {0, 1}, i = 1, ..., n.

qijxixj

PROGRAMAO INTEIRA E PROGRAMAO DINMICA

177

Onde o coeficiente qij e o valor b so no negativos e inteiros tal que 0 < b < wi. PKQ
i= 1

NP-completo, pois para o caso em que qij = 0 ele se reduz ao tradicional PK. Esse problema tem sido estudado por vrios autores como Carter (1984), Barahona et al. (1989), Pardalos e Rodgers (1990), Billionnet et al. (1994), Chardaire e Sutter (1995) e Holmberg et al. (2000).
Para exemplificar o emprego do modelo PKQ vamos examinar o roteamento de mensagem por satlite com limitao de memria proposto por Billionnet et al. (1989). Esse problema tem uma descrio
bastante interessante e rica. Presumindo-se que um satlite de comunicaes possua um programa de
trabalhos a cumprir, programa esse particionado em tarefas T = {1, ..., n}, a questo que se coloca como
alocar essas tarefas entre o processador do satlite e o processador em terra. Normalmente, os processadores so homogneos, mas as tarefas, obviamente, exigem um tempo diferente de processamento. O
custo de processar a tarefa i no processador j conhecido e igual a eij. Cada tarefa i requer a utilizao de
um segmento mi da memria do processador. O processador do satlite possui um limite de memria
igual a M sendo que o processador em terra tem uma capacidade considerada ilimitada. As capacidades
para o fluxo de dados entre as ligaes terra satlite e satlite terra so tambm consideradas ilimitadas (alm da possvel demanda gerada atravs do satlite). Se as tarefas i e j so transmitidas, ento cij representa um custo conhecido de comunicao entre as tarefas i e j quando elas no so designadas no
mesmo processador (custo apenas no chaveamento). O problema definido como objetivando minimizar os custos totais de comunicao atendendo as condies de limite para a memria do processador do
satlite. Billionnet e Camels (1996) formulam o problema como se segue:
n

(PKSat) Maximizar z = ei2 xi eil ei2 +

i= 1

+2

i= 1

i 1

j=i +1

cij +

j=1

cij

cij xixj

1i< jn

sujeito a:
n

m ixi M

i= 1

xi {0, 1}, i = 1, ..., n.


onde xi = 1 se a tarefa i foi alocada ao processador do satlite i e 0 se ela foi alocada ao processador em
terra.

Algoritmos de Soluo

Os trabalhos de Wolsey (1988) e Martello e Toth (1990) apresentam uma extensa bibliografia que resume vrias abordagens. De um modo resumido podemos classificar os principais algoritmos de soluo,
como normalmente feito, nas abordagens exatas e heursticas como mostra a Tabela 5.3.
T A B E LA 5. 3 AL GO R I TMO S DE SO L UO P A RA O P K

Problema

Ano

Pesquisador

Trabalho
Abordagem Exata

Problema
da Mochila

1973

Ingargiola e Korsh

Algoritmos de reduo

1974

Horowitz e Sahni

Enumerao implcita

1975

Ahrens e Finke

Programao dinmica

1977

Martello e Toth

Enumerao implcita

178

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

T A B E LA 5. 3 C O N TI N UAO

Problema

Ano

Pesquisador

Trabalho
Abordagem Exata

Problema
da Mochila

1977

Martello e Toth

Enumerao implcita

1978

Zoltners

B&B

1978

Martello e Toth

B&B

1980

Toth

Programao dinmica

1980

Balas e Zemel

B&B

1981

Martello e Toth

B&B e Relaxao lagrangeana

1982

Fayard

Relaxao lagrangeana

1983

Maculan

Relaxao lagrangeana

1984

Dyer

Mtodo dual para a relaxao linear

1984

Camerini e Vercellis

Mochila em estrutura matroide

1985

Martello e Toth

B&B

1987

Dudzinski e Walukiewicz

Vrios mtodos exatos

1988

Djerdjour et. al.

Relaxaes surrogate

1996

Bagchi et. al.

Relaxao linear

1996

Amado e Barcia

Limites para a mochila matroide

Abordagem Heurstica

1975

Ibarra e Kim

Heurstica IK

1975

Sahni

Heurstica SA O (n3)

1979

Lawler

Melhoria da heurstica IK

1981

Magazine e Oguz

Heurstica MO

Transformao dos Problemas de Programao Inteira em Problemas da Mochila

Consideremos o problema de programao inteira (PPI) clssico s seguir:


n

(PPI) Maximizar z = cjxj


j=1

sujeito a:
n

wijxj = bi, i = 1, 2, ..., m

j=1

xj 0 e inteiro
0 x j uj
onde uj um limite superior para a varivel xj com valor inteiro e todos os bi e wij tm igualmente valores inteiros. Para que o modelo de PPI seja equivalente ao de PKI necessrio que seja possvel transformar PPI em PK retirando-se duas diferenas bsicas:

PROGRAMAO INTEIRA E PROGRAMAO DINMICA

179

1. As restries de PPI so de estrita igualdade.


2. PPI possui m restries.
A primeira diferena pode ser facilmente eliminada atravs da incluso de variveis de folga e do
reclculo do limite superior. A segunda diferena pode ser eliminada com o seguinte procedimento:
Substitumos as m restries do modelo PPI por apenas uma da forma:
n

w jxj b

j=1

xj {0, 1},

j = 1, ..., n.

onde cada wj tem valor inteiro. Os dois problemas so equivalentes porque tm a mesma funo objetivo e todas as solues viveis para o conjunto de restries de PPI so tambm viveis para PKI, e vice-versa. Vamos exemplificar o processo de agregao de duas restries em uma s, atravs da manipulao dos limites e do valor do vetor wj. Sejam duas restries a saber:
n

rjxj = b1

j=1
n

sj xj = b 2

j=1

Faamos ento:
n

m1 = [Mximo (0, sj)] Uj b1


j=1
n

m2 = [Mnimo (0, sj)] Uj b1


j=1

m = Mximo (m1, |m2| )


E podemos substituir as duas restries pela seguinte restrio derivada dos valores anteriores:
n

(rj Msj)xj = b1 + Mb2

j=1

onde M qualquer nmero inteiro tal que |M| > m.

5.2.2 Viso Geral dos Mtodos de Soluo para os PPI


Existem diversas tcnicas desenvolvidas para a busca da soluo inteira dos problemas de programao linear, das quais podemos citar:
Tcnicas de Enumerao:
Separao e avaliao progressiva ou Branch-and-Bound (B&B).
Enumerao implcita.
Restries surrogate.

180

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

ELSEVIER

Tcnicas de Cortes:
Cortes inteiros (primais e duais).
Cortes combinatrios.
Cortes de interseo.
Mtodo de decomposio de Benders.
Tcnicas Hbridas:
Branch-and-Cut.
Teoria de Grupo.
Na maioria das ocasies, as tcnicas de soluo so especializadas para os inmeros tipos de problemas de programao inteira, desenvolvendo-se abordagens e algoritmos especficos para cada situao. Apresentaremos agora duas tcnicas exatas muito empregadas na soluo de problemas de PLI.

5.2.3 Branch-and-Bound
O mtodo denominado de Branch-and-Bound (B&B) baseia-se na ideia de desenvolver uma enumerao
inteligente dos pontos candidatos soluo tima inteira de um problema. O termo branch refere-se ao
fato de que o mtodo efetua parties no espao das solues. O termo bound ressalta que a prova da otimalidade da soluo utiliza-se de limites calculados ao longo da enumerao. Definindo:
(P) = Maximizar {cx|Ax = b, x 0, x Z+}
e
(P) = Maximizar {cx|Ax = b, x 0, x R+}
Definindo ainda V* (P) e V* (P) os valores das funes objetivo no timo de (P) e (P) respectivamente temos que:
V* (P) V* (P)
Considerando ainda qualquer soluo vivel ~
x de (P) e chamando de V (~
x ) o valor da funo objeti~
vo no ponto x, ento:
V (~
x) V* (P)
e dessa forma V* (P) um limite superior para (P) e qualquer de suas solues viveis. Se x a soluo
tima de (P) tal que xj no inteiro teremos:
xj x j + 1 ou xj x j

(5.1)

em toda soluo vivel de (P). Dessa forma, o problema (P) pode ser dividido em dois novos problemas
(P1) e (P2) em que a envoltria convexa C de (P1) (P2) ou Conv ((P1) (P2)) est estritamente contida
na envoltria de (P) ou Conv ((P1) (P2)) Conv ((P)).
Vamos exemplificar o processo de diviso da envoltria convexa de (P) com o seguinte exemplo:
Maximizar z = 5x1 + 8x2
sujeito a:
z = x1 + x2 6
z 5x1 + 9x2 45
z x 1, x2 Z +

PROGRAMAO INTEIRA E PROGRAMAO DINMICA

181

Que pode ser representado graficamente como na Figura 5.3. A soluo tima contnua do pro1
9
15
blema encontrada em: x 1 = ; x 2 = levando a z = 41 . Desenvolvendo a ideia de separao da
4
4
4
envoltria convexa em relao a varivel x2 podemos organizar a equao disjuntiva a seguir:
15
15
x2 + 1 4 ou x2 3
4
4
X2

Solues Inteiras

z = 5x1 + 8x2
B

5x1 + 9x2 = 45
x1 + x2 = 6
O

X1

FIGURA 5.3 Soluo grfica do exemplo.

A equao anterior produz duas restries disjuntivas que, quando acrescidas ao problema original so capazes de criar dois novos problemas que no mais possuem a soluo tima contnua em sua
envoltria convexa.
A Figura 5.4 mostra o efeito da aplicao da equao disjuntiva gerada em relao varivel x2, no
exemplo.

X2

(P1)
A
B

(P2)

X1

FIGURA 5.4 Resultado do branch (diviso ou ramificao).

Com a considerao da disjuno, o problema original ser reduzido ento a dois novos problemas, a saber:

182

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

(P1) Maximizar z = cx
sujeito a:
Ax b

xi x i0

(P2) Maximizar z = cx
sujeito a:
Ax b

xi x i0 + 1

xi Z

xi Z

A estratgia de separao cria novos e mais restritos problemas que, normalmente, sero de mais
fcil soluo. No exemplo, o problema (P) separado em dois problemas (P1) e (P2) com x2 sendo a varivel escolhida para separao. A estratgia de separao pode ser reaplicada a esses problemas em
funo, por exemplo, da varivel x1. Vamos enumerar atravs de uma rvore as possibilidades de soluo dos problemas que sero gerados pela diviso de (P). Na rvore da Figura 5.5, cada nvel representa uma separao ou branch em relao a uma varivel.
P0
x1 = 2,25 x2 = 3,75
z = 41 ,25
x2 4,0

x2 3,0

P2
x1 = 1,8 x2 = 4,0
z = 41

P1
x1 = 3,0 x2 = 3,0
z = 39
x1 1,0

x1 2,0

P4
x1 = 1,0 x2 = 4,25
z = 40,4

P3
Invivel

x1 4,0

x2 5,0
P5
x1 = 0
x2 = 5
z = 40

P6
x1 = 1,0 x2 = 4,0
z = 37

FIGURA 5.5 rvore branch do exemplo.

Para entendermos o efeito do bound, suponhamos que tenhamos escolhido a sequncia de branchs da
Figura 5.6, deixando de solucionar os problemas marcados:
As solues contnuas so um limite superior para o valor de z *0 , sob as condies estabelecidas nos
vrtices da rvore, enquanto as solues inteiras geram um limite inferior. Como (P4), um problema com
soluo contnua, possui Z = 40, 4 e (P5), um problema com soluo inteira, possui Z = 40, o problema
(P6) no precisa mais ser solucionado, uma vez que entre 40, 4 e 40 no existe a possibilidade de uma outra soluo inteira melhor que 40 (40 z *0 40, 4). O problema (P2), com z = 41 pode dar origem, contudo,
ainda a um problema com uma soluo inteira de valor 41 (40 z *0 41), o que obriga ao desenvolvimento
de (P3). De modo semelhante, (P0), com z = 41, 25 pode dar origem a um problema com a soluo tambm
de valor 41 (40 z *0 41, 25), o que obriga ao desenvolvimento de (P1).
A reduo pelo limite inferior (bound) de apenas um vrtice da rvore de enumerao do exemplo
pode parecer pequena, mas devemos lembrar que esse problema pequeno tambm. Em muitos casos
reais, o poder de simplificao do limite inferior (ou superior no problema de minimizao) se mostra
significativo, sendo extremamente til no processo de soluo.

PROGRAMAO INTEIRA E PROGRAMAO DINMICA

183

P0
x1 = 2,25 x2 = 3,75
z = 41 ,25
x2 4,0

x2 3,0

P2
x1 = 1,8 x2 = 4,0
z = 41

P1
Aguarda
x1 1,0

x1 2,0

P4
x1 = 1,0 x2 = 4,25
z = 40,4

P3
Aguarda

x1 4,0

x2 5,0
P5
x1 = 0
x2 = 5
z = 40

P6
Aguarda

FIGURA 5.6 O efeito de reduo do bound (limite).

Um dos pontos fundamentais para o sucesso do B&B a qualidade do limite gerado pela soluo
inteira. Em vrias situaes, esses limites podem ser alcanados atravs de procedimentos heursticos.
A qualidade do limite alcanado normalmente depende, para cada problema, da estratgia de desdobramento da rvore de busca. Existem basicamente duas grandes estratgias de diviso ou branch. A
Figura 5.7 apresenta o aspecto das rvores desenvolvidas pela busca em profundidade e pela busca em
largura.
P0
P0
P1

P2
P1

P2

P4

P3

P3
P5

P4

P5

P6

P6

Busca em Profundidade

Busca em Largura

FIGURA 5.7 Estratgias de diviso.

O B&B uma tcnica de ampla aplicao. A ideia geral sujeita a inmeras adaptaes e estratgias de
implementao. Basicamente, os aspectos envolvidos so:
Tcnicas de desenvolvimento da rvore de enumerao (escolha do problema):
Busca em profundidade.
Busca em largura.
Variantes hbridas.

184

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

Tcnicas de formao da rvore (escolha da varivel de separao):


Variante de Dank (1960).
Variante de Land e Doig (1965).
Variante de Spielberg (1968).
Mtodo das Penalidades (1965).
Mtodo de Taha (1971).
Estratgias dinmicas (1976).
Outras variantes.
Tcnicas complementares para obteno dos limites:
Relaxao linear (ver Pirce [1964], Bagchi et al. [1996], Pardulos et al.
[1996]).
Relaxao lagrangeana (ver Fisher [1981], Fisher [1985] e Beasley [1985],
Desrosiers et al. [1988], Kohl e Madsen [1997] e Holmberg e Yuan [2000]).
Algoritmos heursticos e meta-heursticos (ver Puckinger [2004]).
Cortes.
4

Variante de Dank

Este autor prope que a varivel a ser escolhida para a diviso em um certo nvel da rvore seja a que
possuir o maior resduo em relao soluo inteira, ou seja, considerando que ~
xj seja a varivel que escolheremos para a separao proposta pela equao (5.2), ento:
~
xj = Mximo {(xj xj)} e {(xj xj)}

(5.2)

Se a soluo contnua do n a ser expandido se apresenta como na Figura 5.8 (a), ento, pela proposta de Dank, o n ~
xj ser x2, uma vez que possui um resduo igual a 0, 75, maior que o de x1.
Pn
x2 = 11,75

x1 = 7,25

x1 ou x2 ?

(a)

Pn
x2 = 11,75

x1 = 7,25

res ( x1 ) = 0,25
res ( x2 ) = 0,75

(b)

FIGURA 5.8 Estratgias de diviso de Dank.


4

Variante de Land e Doig

Esta abordagem sugere que a rvore de enumerao seja expandida em vrios valores simultneos
para a varivel de diviso, como mostra a Figura 5.9.
4

Variante de Spielberg

Desenvolve o n com maior valor de z* e o mais recentemente calculado, usando o critrio de Land e
Doig para aumentar a retirada de espao contnuo no entorno do n pesquisado. Trata-se de uma busca em profundidade associada ao critrio de Land e Doig.
4

Mtodo das Penalidades

Esta estratgia pode ser descrita nos seguintes passos:

PROGRAMAO INTEIRA E PROGRAMAO DINMICA

185

X2
Pn
x1 = 7,25

x2 = 11,75
_ 12
x2 >

_ 10
x2 <
x2 = 11
X1

FIGURA 5.9 Estratgias de diviso de Land e Doig.

Determina uma estimativa do decrscimo da funo objetivo quando obrigamos as variveis a


assumir valores inteiros.

Escolhe o n na lista dos ns em aberto com a menor estimativa de decrscimo (utiliza um pivoteamento associado a varivel ~
xj).

Aproveita as redues possveis quando a estimativa de decrscimo ultrapassa o limite inferior


corrente.

5.3 PROGRAMAO DINMICA


A programao dinmica uma tcnica utilizada para a otimizao de processos de deciso multiestgios. Denominamos um processo de deciso multiestgios aquele que pode ser desdobrado segundo um
certo nmero de etapas sequenciais ou estgios. As alternativas includas na concluso de um estgio
so denominadas decises. A condio do processo dentro de cada estgio denominada estado. Cada
estgio inclui a tomada de uma deciso que pode ou no alterar o estado do processo, mas que, obrigatoriamente, representa uma transio entre o estado corrente e o estado futuro do processo. Um processo de deciso multiestgios denominado finito quando existem apenas um nmero finito de estgios no
processo e um nmero finito de estados possveis associado a cada estgio. Dentro do processo multiestgios, o objetivo do tomador de deciso encontrar uma poltica tima (tambm chamada de trajetria
tima) em relao ao retorno auferido com as decises. Um processo de deciso multiestgios determinstico se o resultado de cada deciso for conhecido exatamente. A Figura 5.10 mostra o quadro da
tomada de deciso multiestgio:
A determinao de uma poltica tima para um processo de deciso multiestgio est teoricamente
embasada no princpio da otimalidade de Bellman, que pode ser assim enunciado:
Uma poltica tima apresenta a propriedade segundo a qual,
a despeito das decises tomadas para assumir um estado
particular num certo estgio, as decises restantes a partir
deste estado devem constituir uma poltica tima.

O princpio de Bellman guarda uma semelhana com a estratgia gulosa ou mope, que determina
que a deciso a adotar em cada estgio sempre aquela que produz o maior acrscimo no critrio de
otimizao. A estratgia gulosa trata todos os processos como se fossem multiestgio e considera a tomada de deciso apenas dentro das condies vigentes para as variveis no estgio. No caso de o problema abordado ser realmente passvel de decomposio multiestgio e o processo de deciso ser, face

186

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

Estgio n

Estado n

Estgio n + 1

Deciso

Estado n + 1

Processo de Deciso

FIGURA 5.10 Um processo de deciso multiestgio.

as caractersticas da funo de avaliao, completamente independente a cada estgio, a estratgia gulosa confunde-se com a da programao dinmica e a soluo via algoritmo guloso conduz ao timo.
Isso acontece quando o problema est assentado em um matroide (uma estrutura de independncia
ver anexo). Esse caso particular resume toda a possibilidade de semelhana entre o princpio de Bellman e a estratgia gulosa.
Para implementar-se o princpio de Bellman, na prtica parte-se do ltimo estgio de um processo com n estgios e determina-se a melhor poltica para se deixar aquele estgio e completar o
processo. Desloca-se, ento, do fim para o incio do processo, estgio aps estgio, repetindo-se o
raciocnio. Em cada estgio, para cada estado, determina-se a melhor poltica para deixar o estgio
e completar o processo, supondo-se sempre que os estgios anteriores foram completados de forma tima. Os clculos so sempre aproveitados de um estgio para o outro. Os elementos correspondentes ao ltimo estgio do processo so, geralmente, obtidos diretamente. Os demais elementos so calculados de forma recursiva. A expresso de recorrncia depende do problema e deve ser
obtida para cada tipo de processo multiestgio. Se desejamos solucionar o problema DIM:
(DIM) Otimizar z = f1 (x1) + f2 (x2) + ... + fn (xn)
sujeito a:
x1 + x2 + ..... + xn b
x i +
no qual as funes possivelmente no lineares f1 (x1), f2 (x2), ..., fn (xn) so conhecidas de uma varivel,
b um valor no negativo e inteiro conhecido e o problema pode ser modelado como um processo multiestgio. O estgio 1 envolve a deciso sobre a varivel x1, com uma contribuio resultante de f1 (x1).
Os estados so 1, 2, 3, ...., b, representando os valores possveis para o nmero de unidades disponveis
para alocao. Considerando:
u
varivel de estado cujos valores especificam os estados.
mj (u) retorno timo para se completar o processo comeando-se no
estgio j com o estado u.
dj (u) deciso tomada no estgio j que obtm mj (u).
Para o modelo DIM os valores de mj (u) sero dados pela seguinte expresso:
mn(u) = timo {fn (x)}
0 x u

PROGRAMAO INTEIRA E PROGRAMAO DINMICA

187

que leva equao de recorrncia:


mj(u) = timo {fj (x) + mj+1 (u x)}
0 x u

Considerando o vetor da deciso tima x * = x *1 , x *2 , ... , x n* que leva o critrio de deciso a assumir o
valor z*, as componentes do vetor podero ser encontradas sequencialmente com a seguinte recorrncia:
x *1 = d1 (b);
x *2 = d2 (b x *1 )
.... = .......
x n* = dn (b x *1 x *2 ... x n* 1 )
Para que possamos compreender a aplicao do princpio de Bellman apresentaremos agora alguns exemplos prticos:
4

Exemplo 1: Caminho mais curto

Apesar da eficincia do algoritmo de Dijkstra para o caminho mais curto (ver Captulo 6), esse problema possui uma soluo bastante interessante quando abordado pela tcnica de programao dinmica. No grafo da Figura 5.11, o problema proposto o de encontrar o caminho mais curto entre os vrtices A e J.

6
9

H
5

10
5

J
12

I
13

9
D

3
11

FIGURA 5.11 Grafo do exemplo 1.

Como o grafo da Figura 5.11 um grafo em camadas (qualquer grafo pode ser transformado em
um grafo em camadas ver Hu [1982]), podemos decompor o problema de encontrar o caminho mais
curto entre os vrtices A e J em um processo de tomada de deciso multiestgio. As fases da deciso do
problema esto mostradas na Figura 5.12.
Realmente, vrios problemas de deciso sequencial admitem um grafo de tomada de deciso semelhante ao grafo do caminho mais curto. Nesse sentido, estudar a aplicao da programao dinmica ao caminho mais curto estudar o caso de muitos outros modelos. Aplicando diretamente o princpio de Bellman ao problema, vamos estabelecer as condies para a tomada de deciso da primeira fase
(fase final do caminho) do problema multiestgio. A Figura 5.13 ressalta as possibilidades para a poltica tima de chegada aos vrtices H e I, a partir de J, considerando que o caminho at os vrtices em pauta ser realizado tambm de forma tima:

188

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

H
5

10
A

J
12

5
I

13

11

FIGURA 5.12 Fases de deciso do caminho mais curto.

1
8
H
8
J
5
I
5

FIGURA 5.13 Primeira fase de deciso poltica possvel para os vrtices H e I.

Com a tomada de deciso realizada na fase 1 podemos, a partir da poltica tima para H e I, calcular
a poltica tima para E, F e G, como mostra a Figura 5.14.
A partir dos vrtices E, F e G podemos desenvolver a terceira fase de deciso. A Figura 5.15 mostra
que as informaes constantes da primeira fase (vrtices H e I) no so mais necessrias para isso.
Finalmente, podemos concluir os clculos determinando o caminho mais curto e seu valor (o rtulo
de A), como mostra a Figura 5.16.
4

Exemplo 2: O problema da seleo de projetos

As fases de tomada de deciso mais comuns esto associadas a uma s varivel. Nesse sentido cada estgio
permite analisar a poltica tima para uma varivel. Seja o problema a seguir:
Um investidor dispe de 3 unidades de capital que podem ser investidas em 3 distintas atividades
produtivas. Para cada atividade produtiva esperado um certo retorno de capital que uma funo do
montante investido na prpria atividade. As quantidades de capital so referentes a lotes de aes e
podem, portanto, ser consideradas inteiras. As receitas auferidas em retorno so independentes entre
si. A Tabela 5.4 mostra o quadro de investimento retorno dentro de cada projeto produtivo.

PROGRAMAO INTEIRA E PROGRAMAO DINMICA

14

14

H
17

H
17

10

J
12

5
I

13

Clculo final para os vrtices E, F e G

Caminhos associados poltica tima

FIGURA 5.14 Segunda fase de deciso poltica para os vrtices E, F e G.

22

22

14

14
B

15

5
8

17

15

17

7
I

9
11

19

19

Clculo final para os vrtices B, C e D

Caminhos associados poltica tima

FIGURA 5.15 Terceira fase de deciso poltica para os vrtices B, C e D.

22
B

15

20

15

20

C
I
5

G
8

19

Clculo final para o vrtice A

Caminho mais curto

FIGURA 5.16 Fase final de deciso.

189

190

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

T A B E LA 5. 4 S I TUAO I N V ESTI MEN TO RE T O RNO

Receitas

Quantidade de recursos
aplicada (103 reais)

Projeto 1

Projeto 2

Projeto 3

Para esse problema definiremos a varivel de deciso xj, j = 1, 2, 3, como a quantidade de recurso
aplicada no projeto produtivo j, xj {0, 1, 2, 3}.
Temos uma restrio para esse problema: a quantidade total de capital disponvel que no poder
exceder a 3 unidades. A funo objetivo descontnua e no linear e pode ser representada por:
z = f1 (x1) + f2 (x2) + f3 (x3)
com os valores constantes da tabela.
Desse modo, podemos formular o problema de seleo e alocao em projetos da seguinte forma:
3

(Projeto_1) z = fj (xj)
j=1

sujeito a:
x 1 + x2 + x3 3
xj 0 e inteiro j = 1, 2, 3.
Decises:
xj quanto vai ser alocado ao projeto j.
Estgios:
k = 0, antes de qualquer deciso.
k = 1, aps decidir o valor de x1.
k = 2, aps decidir o valor de x2 (e x1).
k = 3, aps decidir o valor de x3 (e x1 e x2).
Estados:
So definidos a cada estgio pelo capital ainda disponvel para aplicao.

Processo:
O investidor, o capital disponvel e os projetos.
Semelhante ao exemplo 1, podemos construir um diagrama que nos permita acompanhar graficamente o comportamento estado estgio do processo. Vamos representar os valores para o capital
dentro de retngulos. A poltica tima ser representada por uma trajetria ou caminho no diagrama

PROGRAMAO INTEIRA E PROGRAMAO DINMICA

k=0

k=1

k=2

191

k=3

FIGURA 5.17 Diagrama estado estgio.

capaz de rotular o n final com o maior valor possvel. Os clculos sero realizados estgio a estgio,
como no grafo do caminho mais curto, aproveitando-se todas as concluses obtidas em cada estgio
para a tomada de deciso em estgios anteriores.
Colocaremos junto ao canto superior direito de cada retngulo o valor de retorno correspondente
tomada de deciso a ele associada. Inicia-se a soluo no ltimo estgio decidindo sobre a varivel x3.
O retorno obtido com um investimento no projeto 3 (varivel x3) a coluna do projeto 3 da Tabela 5.4. A
transio do estgio 2 (k = 2) para o 3 (k = 3) decide a varivel 3. As possibilidades dessa deciso podem
ser resumidas na Figura 5.18.

0
0

3
1

5
2

k=0

k=1

k=2

k=3

FIGURA 5.18 Primeira fase de deciso poltica para a varivel x3.

As opes da varivel x2 podem ser analisadas na Figura 5.19, a partir da primeira fase de deciso.
Chegando finalmente anlise de x1, encontramos a poltica (trajetria) tima da Figura 5.20.

192

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

0
0

3
1

5
2

8
3

k=1

k=2

FIGURA 5.19 Poltica tima para x2.

k=0

k=1

k=2

x1 = 0

k=3
x3 = 1

x2 = 2

FIGURA 5.20 Diagrama final do exemplo 2.

Exemplo 3: O problema da produo e estocagem

Um fabricante de vages ferrovirios assina um contrato com uma empresa de transporte ferrovirio
para o fornecimento de 100 vages frigorficos em um perodo de cinco anos. Em janeiro de cada ano
prevista a entrega de 20 vages. O custo de produo anual por lote de 10 vages, segundo as projees
do departamento de engenharia, deve variar como especificado na Tabela 5.5.
T A B E LA 5. 5 C U STO S DE P R O DUO DO S VA G E S

Produo anual

Custo (unidade monetria)

12

16

19

21

22

PROGRAMAO INTEIRA E PROGRAMAO DINMICA

193

A capacidade de armazenagem do fabricante de 4 lotes (40 vages), sendo que a estocagem consome em manuteno, mobilizao da rea e segurana, uma unidade monetria por lote armazenado
por ano.
O fabricante comea a produo em 10 de janeiro e termina em 31 de dezembro, sendo que os custos de armazenamento do lote ao longo do ano de produo j esto computados na Tabela 5.5. No incio do contrato no existe qualquer vago frigorfico em estoque e no existe qualquer interesse em que
permaneam vages aps o trmino do contrato. Estabelea a poltica tima de produo, entrega e armazenagem para a indstria contratada.
Decises:
xj nmero de lotes a produzir no ano j, j = 1, 2, 3, 4, 5
Estgios:
k = 0, antes de qualquer lote ser produzido.
k = j, aps decidir o valor de xj.
Estados:
Nmero de lotes em estoque no final de cada estgio, conforme a Tabela 5.6.
T A B E LA 5. 6 ESTO Q UE DE V AG ES

Estados Viveis

0
1
2
3
4
5

0
0
0
0
0
0

1
1
1
1

2 3
2 3 4
2 3 4
2

Varivel de deciso auxiliar


uj nmero de lotes estocados no incio do ano j, j = 1, 2, 3, 4, 5
Restries
5

xj = 10

j=1

0 xj 5 e inteiro
0 uj 4 e inteiro
u1 = 0
u6 = 0
Processo:
O fabricante, o cliente, a capacidade de fabricao e o estoque.
Podemos formular o problema de planejamento da produo e estocagem da seguinte forma:

194

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

Min z = fj (xj, uj)


j=1

sujeito a:
5

xj = 10

j=1

0 xj 5, j = 1, ..., 5
u j + 1 = xj + uj 2
0 uj 4, j = 1, ..., 6
u1 = 0
u6 = 0
xj 0 e inteiro, j = 1, ..., 5
uj 0 e inteiro, j = 1, ..., 6
O problema pode ser representado por meio do diagrama da Figura 5.21. A representao est em
funo da varivel estoque. As variveis u1 = u6 = 0. Do diagrama temos que u2 = 3, ou seja, no primeiro
ano sero produzidas cinco unidades, entregues duas e mantidas trs em estoque. u3 = 1 significa que
no segundo ano no haver produo. u4 = 1 implica que no terceiro ano sero produzidas mais cinco
unidades que, somadas com uma em estoque, acumularo seis lotes. Como sero entregues dois lotes

42

16

47

35

21

35

50
2

23

55

69

39

7
2

27

56

43

13
1

28

16

k=0

k=1

k=2

k=3

k=4

k=5

u3

u2

Ano
Produo

u4

u5

u6

FIGURA 5.21 Soluo do exemplo 3.

PROGRAMAO INTEIRA E PROGRAMAO DINMICA

195

ao final do terceiro ano, permanecero quatro em estoque. Da para diante as duas prximas entregas
anuais sero atendidas pelo estoque. O quadro ano/produo resume o valor das variveis x.
A programao dinmica uma tcnica utilizada intensamente para a soluo de modelos combinatrios (ver Haims e Freeman [1970], Psaraftis [1980], Carraway et al. (1989), Potts et al. (1995), Faaland e
Brigs [1984]).

5.4 SOLUES HEURSTICAS PARA OS PLI


Enquanto os problemas lineares contnuos possuem no simplex um algoritmo muito eficiente para a
soluo exata, os problemas lineares discretos, salvo alguns casos particulares, normalmente carecem
da mesma sorte. O estudo de Garey e Johnson (Garey e Johnson [1979]) um marco para o entendimento dos obstculos que se interpem entre uma possvel soluo terica para um problema de programao discreta e sua implementao prtica atravs dos instrumentos computacionais da atualidade.
O cerne da dificuldade da abordagem exata dos problemas denominados NP-rduos, que, por sinal,
representam uma grande parte dos problemas de PLI realmente interessantes, est na exploso combinatria dos mtodos enumerativos. fcil perceber que uma rvore de B&B pode envolver um nmero
da ordem de ns, onde n representa a altura (distncia entre o n raiz e o n mais extremo, tambm denominado folha da rvore) da rvore de enumerao. Para que possamos entender melhor essa dificuldade vamos solucionar o problema (PAT) que se segue:
(PAT) Maximizar z = x1
sujeito a:
2x1 + 2x2 + 2x3 = 3
x1, x2, x3 {0, 1}
Como vimos no item 5.1, PAT um modelo que pertence classe dos problemas da mochila. Se
decidirmos solucionar PAT atravs da utilizao de uma estratgia B&B bsica, a rvore de enumerao seria a representada na Figura 5.22.
P0
x1 = 1 x2 = 1/2
x2 0

x2 1

P1
x1 = 1 x3 = 1/2

P6
x1 = 1/2 x2 = 1

x3 0

x3 1

P2

P3
x1 = 1/2 x3 = 1

Invivel

x1 0

P4
Invivel

x1 1

P5
Invivel

x1 0

x1 1

P7
x2 = 1 x3 = 1/2

Invivel

x3 0

x3 1

P8
Invivel

FIGURA 5.22 rvore B&B de PAT.

P10

P9
Invivel

196

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

ELSEVIER

Para concluir a inviabilidade de PAT foi necessrio desenvolver 11 problemas. fcil provar que
n+1
esse algoritmo aplicado a um problema com n variveis desenvolver, no mnimo, cerca de 2 2

ns.
Se o problema possuir 201 variveis (os problemas reais podem possuir da ordem de milhares ou milhes de variveis), ento a rvore ser da ordem de 2100 ns. Um computador capaz de examinar 1,5
trilho de ns por segundo dessa rvore levaria cerca de 537 milhes de anos para esgotar todas as
possibilidades existentes!! Apesar de todo o avano das tcnicas atuais que, obviamente, fariam melhor que desenvolver a rvore de enumerao completa de PAT para determinar a inviabilidade do
problema, ainda permanece a dificuldade imposta pela exploso combinatria desse tipo de problema. Em virtude dessa realidade, nos ltimos anos tem se verificado o surgimento de um significativo
conjunto de tcnicas e algoritmos computacionalmente muito eficientes mas que no garantem a soluo tima do problema de programao linear inteira. Esses algoritmos so denominados de heursticos ou aproximativos (para detalhes complementares ver, no anexo, complexidade de algoritmos).
O termo heurstica derivado do grego heuriskein, que significa descobrir ou achar. Mas o significado da palavra em pesquisa operacional vai um pouco alm de sua raiz etimolgica. Podemos dizer que
uma heurstica, no sentido dado ao termo, refere-se a um mtodo de busca de solues em que no
existe qualquer garantia de sucesso. O sucesso do mtodo pode ser expresso quantitativa ou qualitativamente. Em um problema de otimizao o sucesso pode ser representado pela obteno da soluo
tima. Alguns autores entendem que a possibilidade de fracasso seja extensiva at para a obteno de
uma soluo vivel. No comungamos dessa opinio. Definiremos o termo da seguinte forma:
Uma heurstica uma tcnica que busca alcanar uma boa soluo
utilizando um esforo computacional considerado razovel, sendo
capaz de garantir a viabilidade ou a otimalidade da soluo
encontrada ou, ainda, em muitos casos, ambas, especialmente nas
ocasies em que essa busca partir de uma
soluo vivel prxima ao timo.

As heursticas iniciaram historicamente seu desenvolvimento a partir de problemas especficos.


As primeiras heursticas relatadas na literatura pretendiam a soluo de problemas especficos e no
eram, via de regra, passveis de serem utilizadas em outros problemas. As heursticas clssicas de roteamento so um bom exemplo disso.
Podemos tambm considerar que os primeiros mtodos gerais clssicos estavam associados a estratgias de enumerao incompleta, soluo parcial ou relaxaes. Dentre as muitas classificaes
possveis para as heursticas, sugerimos a constante da Figura 5.23.
Utilizando-se um diagrama semelhante ao sugerido no item 5.2, poderemos examinar o comportamento tpico de uma busca heurstica mope. A Figura 5.24 representa, dentro dos crculos, o valor final
da soluo obtida no estgio i da busca. Nesse caso, podemos visualizar o esforo de busca na medida
em que as possveis combinaes entre as variveis n e n 1 so exploradas. No grfico facilmente
perceptvel que, na medida do crescimento do nmero de opes, representado pelo comprimento das
colunas do diagrama, o esforo cresce exponencialmente. No caso da Figura 5.24, apenas a vizinhana
imediata de uma soluo (ou configurao) explorada (a de maior valor no estgio i da busca). Entendemos por vizinhana de uma configurao as configuraes que diferem da configurao base pelo
valor atribudo a uma varivel.
claro que podemos melhorar o exame das solues vizinhas e reduzir o grau de miopia da tomada de deciso. A Figura 5.24 mostra essa possibilidade. Nesse caso a explorao estende-se agora para a
vizinhana de duas configuraes (as duas melhores segundo o critrio do valor de f(s)). A penalidade
que devemos pagar pela remoo da miopia o crescimento do nmero de configuraes admitidas
como candidatas ao exame. Obviamente se examinssemos todas as configuraes encontraramos a
soluo tima, mas exatamente esse enorme trabalho que desejamos evitar. Existem dois procedimentos que permitem a gerncia do risco de no se encontrar a soluo tima:

PROGRAMAO INTEIRA E PROGRAMAO DINMICA

197

Procedimentos
Aproximativos

Heursticas

Estocsticas

Clssicas

Simulated Anneling
Tabu Search
Clssica
Reativa
GRASP

Mopes
Construtivas
Por economia
Busca local
Mtodo descendente
Mtodo aleatrio
Particionamento/
Grupamento

Relaxaes

Lagrangeana

Analgicas

Redes Neuronais
Computao Evolutiva
Algoritmos genticos
Scatter Search
Colnia de formigas

Linear

Subgradiente
Ajuste Mltiplo

Dual Ascent

FIGURA 5.23 Classificao das abordagens aproximativas.

16
13
10

11
8

9
7
4
0

FIGURA 5.24 Tomada de deciso mope.

Buscar examinar um nmero crescente de combinaes entre as variveis selecionadas em

um determinado estgio da deciso e as variveis dos estgios seguintes (intensificao ou


melhoria na qualidade da soluo).

Buscar considerar um nmero cada vez maior de variveis em cada nvel (diversificao ou aumento do alcance [dimetro] da busca).

Podemos perceber visualmente como a incluso da segunda configurao parcial mais valorada
em cada nvel (diversificao) aumenta com o nmero de combinaes para a definio da configurao S (intensificao) representada pelas setas. O aumento do esforo de busca traz seus resultados: as
decises 1 e 3 da Figura 5.25 no podem ser mais consideradas apenas gulosas. Se o procedimento adotado for suficientemente inteligente podemos encontrar o equilbrio entre a diversificao e a intensificao, caminhando economicamente em relao ao esforo de busca, atravs dos mximos (ou mnimos) locais at o mximo (ou mnimo) global, como mostra a Figura 5.26. Nesse caso a inteligncia foi
expressa pela estratgia de explorar as trs solues mais interessantes em cada estgio. Infelizmente,
no podemos deduzir a priori qual seria essa estratgia inteligente, uma vez que ela depende da instncia de cada problema.

198

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

f(S)
20
16
13
10

22

20

16

11
8

9
7
4
0

FIGURA 5.25 Incrementando a deciso mope.

Mximo
Local

f(S)

23
20
16
13
10

Mximo
Local

Mximo
Global

26

24
22

20

16

11
8

9
7
4
0

FIGURA 5.26 Esforo timo para a busca heurstica.

A Figura 5.23 procura resumir as vrias abordagens conhecidas para os procedimentos heursticos
de soluo. Na linha clssica bastante comum, como anteriormente ressaltamos, que as heursticas
explorem casuisticamente a estrutura do problema, sem que, normalmente, se possa definir claramente uma estratgia universal de soluo. No caso das chamadas meta-heursticas, que envolvem as chamadas heursticas estocsticas e analgicas, existe invariavelmente uma estratgia geral de soluo, cabendo apenas adapt-la ao caso especfico. As heursticas modernas tm despertado crescente interesse da comunidade cientfica, tanto pelo bom retorno dado ao compromisso do objetivo, como em virtude da qualidade das solues encontradas, tornando-se uma alternativa cada vez mais interessante
para a soluo de grande parte das aplicaes reais dos modelos combinatrios. Dentre os mais recentes e abrangentes trabalhos na rea destacamos Aarts e Lenstra (1996), Osman e Kelly (1996), Osman e
Lapport (1996), Rayward-Smith et al. (1996). Dentre as heursticas modernas destacam-se:

PROGRAMAO INTEIRA E PROGRAMAO DINMICA

199

Algoritmos Genticos

Os algoritmos genticos so detalhados no Captulo 8, todavia a Tabela 5.7 relaciona uma srie de recentes trabalhos aplicados aos problemas de otimizao combinatria.
T A B E LA 5. 7 APL I CA ES DE AL GO R I T M O S G E N T I C O S E M O T I M I ZA O C O M B I NA T RI A

Ano

Autores

Abordando

1985

Grefenstette

AG aplicados soluo do Caixeiro Viajante

1990

Karr e Goldberg

AGs aplicados separao de minrio

1991

Davidor

AG aplicados robtica

1996

Arslan et al.

AGs na otimizao de circuitos VSLI

1996

Notredame e Higgins

AGs na soluo do alinhamento gentico

1996

Jakobs

AGs na soluo de acomodao de polgonos

1996

Anderson e Gerbert

AGs no projeto de asas de avies

1997

Mavridou e Pardalos

AG e Simulated Annealing problema de layout

1997

Zhou e Gen

AGs na soluo de rvore geradora k-restrita

1997

Ingleston e Smith

AGs no auxlio ao combate areo

1998

Kim et al.

AGs no equilbrio de linhas de montagem

1998

Pierrot e Hinterding

AGs na soluo de programao inteira mista

1999

Azadivar e Tompkins

AGs na simulao de processo de otimizao

2000

Dellaert et al.

AGs na otimizao de lotes de produo

2001

Preston e Kozan

AGs na distribuio de containers em portos

2001

Vico et al.

AGs no planejamento de cirurgia

2002

Gantovnik et al

AGs na otimizao de laminados

2002

Ray e Mahajan

AGs na configurao tima de sensores

2002

Lambert

AGs na desmontagem de equipamento eletrnico

2002

Sato et al.

AGs no projeto de arquitetura

2002

Carter e Ragsdale

AGs no planejamento de jornais

2002

Aytug e Saydam

AGs na otimizao de problema de localizao

2003

Hageman et al.

AGs e tabu na otimizao de pintura

2003

Zhou et al .

AGs no planejamento de alocao bicritrio

2003

Hassini e Vickson

AGs na otimizao de alocao carrocel

2003

Valds et al.

AGs na otimizao trmica de turbinas de gs

2003

Topcuoglua et al.

AGs na localizao de roteadores de redes

2003

Park et al.

AGs na soluo do planejamento de tarefas

2003

Ho e Ji

AGs na otimizao de chips eletrnicos

2004

Lim et al.

AGs na otimizao da mistura para concreto

2004

Liew

AGs na otimizao de problemas geomtricos

2004

Chung e Jung

AGs na otimizao de acessrios de segurana

2004

Kasprzyk e Jaskua

AGs hbridos (Simplex) para anlise qumica

200

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

ELSEVIER

T A B E LA 5. 7 C O N TI N UAO

Ano

Autores

Abordando

2004

Mohamed Jenkins

AGs na configurao de membranas

2004

Fhner e Jung

AGs na otimizao do crescimento cristalino

2004

Kulkarni et al.

AGs na otimizao microestrutural de ligas

2004

Ozturk et al.

AGs na estimao da exergy de residncias

2004

Cordoba et al.

AGs na otimizao de sistemas contra fogo

2004

Aydin e Yildirim

AGs no controle de um sistema laser

2004

Ge e Chen

AGs no controle de espaonaves

2004

Shin et al.

AGs na reconfigurao de redes de energia

2004

Shokooh-Saremi et al.

AGs na otimizao de polarizadores

Dentre os mais recentes e abrangentes trabalhos na rea destacam-se Goldberg (1989), Davis
(1991), Whitley (1994), Aarts e Lenstra (1996), Osman e Kelly (1996), Osman e Lapport (1996), Rayward-Smith et al. (1996), Reeves (1996), Bck et al. (1997), Fogel (1998), Vose (1998), Mitchell (1999), Coley (1999), Spears (2000), Spears et al. (2000), Mhlenbein e Mahnig (2001), Lance (2001), Blum e Roli
(2003). A Tabela 5.8 apresenta trabalhos que introduzem temas inovadores para a abordagem.
T A B E LA 5. 8 A LG O R I TMO S GEN TI CO S

Ano

Autores

Abordando

1986

Grefenstette

Otimizao de parmetros de controle AG

1987

Davis

Algoritmos Genticos e Simulated Anneling

1990

De Jong

AGs aplicados aprendizagem

1993

Juliff

Tcnica de cromossomos mltiplos

1996

Wineberg e Oppacher

AGs com introns

1997

Ronald et al.

Tcnica de cromossomos mltiplos

1997

Hinterding

Autoadaptao e cromossomos mltiplos

2000

Cantu-Paz

AGs paralelos

2001

Beyer

Teorias para estratgias de evoluo

2001

Jansen e Wegener

Utilidade da populao dos AGs

2002

Beyer et al.

Metodologia de anlise para AGs

2003

Aickelin e Bull

AGs Coevolucionrios

2003

Ghosh et al.

Estudo da influncia das geraes na evoluo

A Tabela 5.9 apresenta trabalhos em aplicaes originais e que guardam correlao com a otimizao combinatria
T A B E LA 5. 9 A LG O R I TMO S GEN TI CO S APL I C A D O S A P RO B L E M A S E S P E C I A I S

Ano

Autores

Abordando

1991

Caldwell e Johnston

AGs na identificao de rostos humanos

1991

Gibson e Byrne

AG aplicados composio musical

PROGRAMAO INTEIRA E PROGRAMAO DINMICA

201

T A B E LA 5. 9 CO N TI N UAO

Ano

Autores

Abordando

1996

Hanebeck e Schmidt

AGs no treinamento de redes neurais

1998

Nayebzadeh et al.

AGs na determinao de arritmia fetal

1998

Reid

AGs na construo de Redes de Petri

2003

Ng e Perera,

AGs no controle de qualidade da gua

2004

Zhang et al.

AGs na estimao da transferncia de calor

2004

Ozturk et al.

AGs na estimao da exergy de residncias

2004

Roychowdhury

AGs no diagnstico de doenas

2004

Sarkar e Modak

AGs na otimizao da operao de bioreatores

2004

Kim et al.

AGs na estimativa de emisso de radiao

2004

Mwembeshi et al.

AGs no controle de pH de reatores

2004

Imai et al.

AGs na operao de terminais porturios

Genticos Hbridos

Os algoritmos genticos so promissora fonte de hibridizao mistura de tcnicas aproximativas. Os


trabalhos que seguem relacionados na Tabela 5.10 exploram tal possibilidade.
T A B E LA 5. 10

Ano

Autores

Abordando

1990

Ulder et al.

Gentico com busca local

1992

Schaffer et al.

Genticos e redes neurais

1994

Fleurent e Ferland

Gentico hbrido p/ quadrtico de alocao

1996

Kim e Lee

Gentico com reinforcement learning

1997

Tsutsui e Ghosh

Genticos com busca local

1998

Cotta et al.

Gentico hbrido para a mochila 0-1

2000

He e Mort

Hbrido na soluo de redes de comunicao

2000

Hiroyasu et al.

Gentico com simulated annealing

2000

Matsumura et al.

Gentico com busca tabu

2001

Luo et al

Gentico com programao linear

2001

Savchenko e Schmitt

Gentico com simulated annealing

2001

French et al.

Gentico e B&B

2002

Lim e Yuan

Gentico hbrido aplicado ao quadrtico de alocao

2003

Ting et al

Gentico com busca tabu

Links teis:
http://garage.cps.msu.edu/papers/papers-index.html
http://www-illigal.ge.uiuc.edu/index.php3
http://www.shef.ac.uk/~gaipp/links/

202

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

ELSEVIER

Algoritmos Memticos (Genticos com Busca local, Genticos Lamarckianos, Genticos Baldwinianos).

Algoritmos Memticos utilizam o conceito de evoluo cultural. Nesse paradigma a adaptabilidade


de um indivduo pode ser modificada por aes no programadas em seu repositrio gentico. Para simular o efeito da ao cultural os algoritmos memticos se permitem empregar principalmente tcnicas de busca local para aperfeioar o cromossomo . A alterao dita memtica do genoma ocorre fora
do clssico mecanismo de reproduo/mutao dos algoritmos genticos. As melhorias dos cromossomos devidas busca local so preservadas, caracterizando-se o que se convencionou denominar de
evoluo Lamarkiana evoluo que herda os sucessos obtidos pelos indivduos. Sob vrios pontos
de vista os algoritmos memticos podem ser considerados uma forma hbrida de algoritmos genticos.
A Tabela 5.11 resume alguns trabalhos de aplicao em Otimizao Combinatria em que a proposta da abordagem memtica/lamarckiana empregada.
T A B E LA 5. 11 A P L I CA ES DE AL GO R I TMO S M E M T I C O S NA O T I M I ZA O C O M B I NA T RI A

Ano

Autores

Abordando

1990

Ulder et al.

Aplicado soluo do PCV

1992

Moscato e Norman

Aplicado soluo do PCV

1997

Cotta e Troya

Aplicao ao problema da mochila

1997

Dengiz et al.

Aplicado a confiabilidade em redes

1998

Charon e Hudry

Na soluo de implicaes lgicas

1998

Morris et al.

Modelagem molecular

1999

Burke e Smith

Aplicado ao problema de plano de manuteno

1999

Tesfaldet e Hermosilla

Aplicado soluo do PCV

2000

Knowles e Corne

Otimizao multiobjetivo

2001

Burke et al

Planejamento do trabalho de enfermagem

2002

Lim e Yuan

Soluo do quadrtico de alocao

2002

Kersting et al.

Soluo do problema de conectividade

2002

Velenzuela e Smith

Aplicao ao setor de distribuio de energia

2003

Quintero e Pierre

Designao de clulas em redes mveis

2003

Ljubic e Raidl

Algoritmo em grafos

2004

Lima et al.

Roteamento de veculos com frota heterogenia

2004

Krasnogor e Gustafson,

Experimentao de self-generation

2004

Berreta e Rodrigues

Otimizao de lotes de produo

A Tabela 5.12 apresenta trabalhos que desenvolvem os fundamentos da abordagem.


T A B E LA 5. 12 T R AB AL HO S ASSO CI ADO S A O S F U ND A M E NT O S D A A B O RD A G E M

Ano

Autores

Abordando

1987

Hinton e Nowlan

Evoluo guiada

1988

Muhlenbein et al.

Conceitos em evoluo artificial

1989

Moscato

Fundamentos da metfora

PROGRAMAO INTEIRA E PROGRAMAO DINMICA

203

T A B E LA 5. 12 CO N T I N UAO

Ano

Autores

Abordando

1989

Jog et al.

Melhoria local

1994

Merz e Freisleben

Descrio formal de um algoritmo memtico

1994

Radcliffe e Surry

Descrio formal de um algoritmo memtico

1998

Ku e Mak

Estudo do efeito Baldwin

1999

Merz e Freisleben,

Estudo algortmico

1999

Moscato

Fundamentos da metfora

2000

Merz

Aprofundamento no tema

Simulated Annealing

A metfora apoiada na distribuio de Boltzman e pretende simular um processo de resfriamento tpico dos metais. A distribuio de Boltzman especifica a probabilidade de se alcanar um nvel de energia E=f(s), onde s um estado do sistema, para uma dada temperatura t. A Tabela 5.13 resume alguns
trabalhos no tema e aplicados a problemas de Otimizao Combinatria.
T A B E LA 5. 13 AP L I CA ES DE SI MUL AT E D A NNE A L I NG O T I M I ZA O C O M B I NA T RI A

Ano

Autores

Abordando

1953

Metropolis et al.

Trabalho pioneiro

1982

Kirkpatrick et al.

Trabalho pioneiro

1985

Cerny et al.

Trabalho pioneiro

1984

Bonomi e Lutton

Aplicado na soluo do PCV

1986

Lundy e Mess

Estudo de convergncia

1986

Bohachevsky et al.

Aplicado a otimizao de funes

1986

Mitra et al.

Estudo de convergncia

1987

Laarhoven e Aarts

Vrias aplicaes

1987

Wilhelm et al.

Aplicado ao quadrtico de alocao

1988

Goldstein e Waterman

Estudo do tamanho da vizinhana

1989

Ingber

Tcnicas de melhoria de desempenho

1989

Aarts e Krost

Vrias aplicaes

1989

Johnson et al.

Estudo algortmico em vrias aplicaes

1989

Osman e Potts

Aplicao ao flow shop de permutao

1990

Dueck e Scheuer

Utilizao de theershold accepting

1990

Eglese

Vrias aplicaes

1991

Cheh et al.

Vizinhanas eficientes

1991

Yao

Vizinhanas estendidas

1993

Downsland

Estudo algortmico

1993

Osman

Aplicao ao roteamento de veculos

1994

Moccelin

Soluo do Shop Sequencing

204

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

ELSEVIER

T A B E LA 5. 13 C O N T I N UAO

Ano

Autores

Abordando

1996

Blte e Thonemann

Hibridizao com programao gentica

1996

Andricioaei et al.

Generalizao da abordagem

1996

Desai e Patil

Simulated annealing e busca local

1996

Ingber

Simulated annealing adaptativo

1997

Mavridou e Pardalos

Simulated annealing e algoritmos genticos

1998

Chiang e Russel

Aplicao ao roteamento de veculos

1998

Tracey et al.

Teste de software

1999

Brooke et al.

Quantum Annealing

2000

Kliewer e Tschke

Aplicaes na indstria area

2000

Locatelli

Condies de convergncia

2000

Hamam e Hindi

Distribuio de mdulos de programao

2000

Hiroyasu et al.

Simulated annealing em arquitetura paralela

2001

Hindi e Mhlanga

Soluo de problema de Scheduling

2002

Yarkhan e Dongarra

Soluo de problema de Scheduling

2003

Serrurier et al.

Soluo de programao linear inteira

2003

Schwarzfischer

Soluo de problema de Scheduling

2003

Bouleimen e Lecocq

Soluo de problema com restrio de recursos

2003

Gaetan e Yao

Multi-implementao

2003

Wrighton e DeHon

Soluo assistida

2004

Neumann e Muncill

Estimao de propriedades ocenicas

Links teis:
http://www.taygeta.com/annealing/simanneal.html
4

Nuvens de Partculas (Particles Swarm) e Colnia de Formigas

Nuvens de Partculas uma tcnica estocstica de otimizao baseada em populaes desenvolvida


por Kennedy e Eberhart (1995) inspirado no comportamento social de pssaros e cardumes de peixes.
Colnias de formigas outra tcnica estocstica que segue na mesma linha de biomimtica social para
o caso do comportamento de formigas e cupins, introduzida por Dorigo et al. (1991), Dorigo (1992). A
Tabela 5.14 resume alguns trabalhos no tema e aplicados a problemas de Otimizao Combinatria.
T A B E LA 5. 14 A P L I CA ES DE B I O MI MTI CA S O C I A L

Ano

Autores

Abordando

1992a

Colorni et al.

Fundamentos de colnia de formigas

1992b

Colorni et al.

Propriedades de colnia de formigas

1994

Maniezzo et al.

Colnia de formigas para quadrtico de alocao

1994

Artur

Colnia de formigas na soluo do PCV

1996

Dorigo et al.

Fundamentos de colnia de formigas

PROGRAMAO INTEIRA E PROGRAMAO DINMICA

205

T A B E LA 5. 14 CO N T I N UAO

Ano

Autores

Abordando

1997

Costa e Hertz

Colnia de formigas na colorao de grafos

1997

Kennedy e Eberhart

Fundamentos de nuvens de partculas

1998

Angeline

Nuvens de partculas com seleo

1999

Gambardella et al.

Colnia de formigas p/ o quadrtico de alocao

1999

Taillard

Fundamentos de colnia de formigas

1999

Clerc

Nuvens de partculas determinstica e adaptativa

1999

Dorigo e Di Caro

Vrios exemplos

1999

Bullnheimer et al.

Estudo computacional

1999

Yoshida et al.

Nuvens de partculas no controle de voltagem

2000

Dorigo et al.

Conceitos em colnia de formigas

2000

Sttzle e Hoos

Colnia de formigas p/ caso Max-Min

2001

Eberhart e Shi

Aplicaes para nuvens de partculas

2002

Cordon et al.

Reviso da abordagem em colnia de formigas

2002

Ray e Liew

Nuvens de partculas p/ multiobjetivo

2002a

Parsopoulos e Vrahatis

Reviso da abordagem nuvens de partculas

2002b

Parsopoulos e Vrahatis

Nuvens de partculas p/ multiobjetivo

2002

Ciuprina et al.

Nuvens de partculas p/ eletromagntica

2002

Salman et al.

Nuvens de partculas p/ alocao de tarefas

2002

Laskari et al.

Nuvens de partculas p/ programao inteira

2002

Middendorf et al.

Multi colnia de formigas

2003

Abd-El-Barr

Colnia de formigas p/ circuitos digitais

2003

Bonabeau et al.

Conceitos em nuvens de partculas

2003

Coello et al.

Colnia de formigas p/ circuitos lgicos

2003

Carbonato e Maniezzo

Conceitos em colnia de formigas

2003

Ting et al.

Nuvem de partculas p/ gerao de energia

2004

Maniezzo et al.

Texto didtico

2004

Onwubolu e Clerc

Nuvem de partculas p/ perfurao automtica

2004

Chang et al.

Nuvem de partculas p/ bioqumica

2004

Coello et al.

Nuvem de partculas p/ multiobjetivo

Links teis:
http://www.particleswarm.net/
http://www.swarm-bots.org/
4

Estratgias Multistart e GRASP (Greedy Randomized Adaptive Search Procedure)

As tcnicas Multistart so compostas de procedimentos que, a partir de uma determinada soluo para
o problema, encontram uma nova soluo vivel. Ento, a vizinhana da nova soluo gerada examinada por um procedimento de busca local de modo a intensificar o resultado. O GRASP uma variante

206

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

ELSEVIER

Multistart na qual as solues viveis so encontradas atravs de um procedimento quase guloso estocstico com vis guloso. A Tabela 5.15 relaciona trabalhos que, ou desenvolvem a metfora, ou representam aplicaes soluo de problemas de otimizao combinatria.
T A B E LA 5. 15 A P L I CA ES DO GR ASP

Ano

Autores

Abordando

1989

Feo e Resende

Trabalho pioneiro

1992

Betr e Schoen

Estudo sobre regras de parada p/ multistart

1994

Boese et al.

Multistar adaptativo

1994

Li et al.

GRASP p/ quadrtico de alocao

1995

Battiti e Protasi

Multistar reativo

1997

Fleurent e Glover

Multistar construtivo p/ quadrtico de alocao

1997

Hickernell e Yuan

Multistar p/ otimizao global

1998

Atkinson

GRASP p/ programao de veculos

1998

Hart

Estudo das regras de parada p/ multistart

1998

Deshpande e Triantaphyllou

GRASP p/ problemas de inferncia

1998

Resende

GRASP p/ o problema de cobertura mxima

1999

Fleurent e Glover

Multistart construtivo p/ quadrtico de alocao

1999

Fernandez

GRASP p/ traado aerofotogramtrico

1999

Pardalos et al.

GRASP p/ Feedback Vertex Set Problem

2000

Melin-Batista et al.

Multistar de aplicao genrica

2001

Robertson

GRASP p/ alocao multidimensional

2001

Brunato e Battiti

GRASP p/ problema de controle de trfego

2001

Hammer e Rader

GRASP p/ problema de recobrimento

2001

Jagota e Sanchis

GRASP p/ problema da clique mxima

2002

Schoen

Viso geral dos mtodos multistart

2002

Corbern et al.

GRASP p/ carteiro chins em grafo misto

2003

Mart

Viso geral dos mtodos multistart

2003

Chaovalitwongse et al.

GRASP roteamento de veculos c/ janela tempo

2003

Osman et al. (2003)

GRASP p/ problema de planaridade em grafos

2003

Ahuja et al.

GRASP p/ rvore geradora mnima capacitada

Busca Tabu

uma meta-heurstica baseada em procedimentos de busca local enriquecidos por estratgias de manipulao de memria de modo a evitar que configuraes j examinadas sejam reexaminadas durante
o desenvolvimento do algoritmo. A Tabela 5.16 relaciona trabalhos que, ou desenvolvem a metfora,
ou representam aplicaes soluo de problemas de otimizao combinatria.

PROGRAMAO INTEIRA E PROGRAMAO DINMICA

T A B E LA 5. 16 AP L I CA ES DE B USCA TA B U

Ano

Autores

Abordando

1968

Glover

Trabalho pioneiro

1987

Glover

Trabalho pioneiro

1989

Glover

Texto didtico

1989

De Werra e Hertz

Texto didtico

1990a

Glover

Vrias aplicaes

1990b

Glover

Vrias aplicaes

1990

Hansen e Jaumard

Tabu na soluo do problema da satisfabilidade

1991

Glover e Laguna

Tabu na soluo do problema de empacotamento

1991

Taillard

Tabu p/ quadrtico de alocao

1992

Faigle e Kern

Estudo de convergncia

1992

Cook e Han

Tabu p/ o problema de empacotamento mltiplo

1993

Glover et al.

Aprofundamento da abordagem

1994b

Glover

Tabu p/ programao no linear

1994

Battiti e Tecchiolli

Tabu reativa

1995

Laguna et al.

Tabu para o problema de alocao generalizado

1995

Battiti e ela

Busca tabu reativa

1996

Zachariasen e Dam

Tabu p/ PCV geomtrico

1996

Kolohan e Liang

Tabu p/ soluo de operaes de perfurao

1997

Cordeau et al.

Tabu p/ roteamento peridico de veculos

1997

Sharaiha et al.

Tabu p/ soluo da rvore geradora capacitada

1997

Consiglio e Zenios

Tabu p/ modelos de licitao

1998

Thesen

Tabu em aproximao via caminhos mais curto

1998

Hao et al.

Tabu p/ alocao de frequncia

1998

Woodruff

Tabu com informaes selecionadas

1998

Lkketangen e Glover

Tabu p/ programao mista

1999

Gendreau et al.

Tabu p/ rvore de Steiner

1999

Nowicki

Tabu p/ flow shop de permutao

2000

Yin

Tabu p/ aproximao de curvas digitais

2000

Cullenbine

Tabu p/ alocao arma alvo

2000

Berger et al.

Tabu p/ problema em redes

2000

Morley e Grover

Tabu p/ problema em redes

2002

Crainic e Gendreau

Tabu p/ problema de redes capacitadas

2002

Ware et al.

Tabu p/ gerao automtica de mapas

2002

Zhang e Sun

Tabu p/ seleo de caractersticas

2002

Yamamoto et al.

Tabu p/ cartografia

2002

Klau et al.

Busca tabu guiada por operador humano

207

208

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

ELSEVIER

T A B E LA 5. 16 C O N T I N UAO

Ano

Autores

Abordando

2002

Sait e Zahra

Tabu p/ otimizao de circuitos

2003

Kulturel-Konak et al.

Tabu p/ solucionar redundncia de alocao

2003

Blum e Roli

Viso geral

2003

Greistofer

Tabu e Scatter Search

2004

Riaz et al.

Tabu p/ problema de alinhamento

Busca em Vizinhana Varivel (BVV) e de Decomposio em Vizinhana Varivel (DVV)

As presentes meta-heursticas objetivam o exame sistemtico de estruturas de vizinhana. A Tabela


5.17 relaciona trabalhos que, ou desenvolvem a metfora, ou representam aplicaes soluo de problemas de otimizao combinatria.
T A B E LA 5. 17 A P L I CA ES DA B USCA EM VI ZI NH A N A VA RI VE L

Ano

Autores

Abordando

1996

Vahrenkamp

Busca aletria para o problema de cortes

1997a

Hansen e Mladenovic

Trabalho pioneiro

1997b

Hansen e Mladenovic

Trabalho conceitual

1997c

Hansen e Mladenovic

BVV p/ PCV com vizinhana 2-opt

1999

Caporossi e Hansen

BVV p/ grafos em modelo de energia

1999

Hansen e Mladenovi

Trabalho didtico

2001

Gonzles e Prez-Brito

BVV p/ o problema de ordenao linear

2001

Hansen e Mladenovi

Aplicaes industriais da BVV

2001

Hansen et al.

Proposta da DVV

2002

Lalonde e Gagnon

BVV p/ padres geomtricos deformveis

2002

Costa et al.

BVV p/ o problema de localizao de cabos

2002

Garca-Lpez et al.

BVV p/ o problema das p-medianas

2003

Avanthay et al.

BVV p/ problema de colorao de vrtices

2003

Brysy

BVV reativa p/ roteamento de veculos

2003

Burke et al.

BVV p/ programao de tarefas de enfermagem

2003

Hansen e Mladenovi

Trabalho abrangente

2004

Fleszar e Hindi

BVV p/ problema da classe scheduling

Scatter Search e Path Relinking

As meta-heursticas Scatter Search e Path Relinking so inspiradas em um mesmo objetivo: com base
em boas solues conhecidas encontrar novas e melhores solues. A Scatter Search prope fazer uma
mistura de boas solues utilizando a abordagem dos algoritmos genticos. Assim a Scatter Search
sugere que mais de dois cromossomos sejam considerados como doadores de material gentico (pais)
para formar um cromossomo filho. No caso do Path Relinking a tcnica indica que, para um dado par
de solues, seja encontrada uma sequncia de solues alteradas solues intermedirias ou mistas
que representem um caminho de transformao da soluo inicial na soluo alvo. A Tabela 5.18 rela-

PROGRAMAO INTEIRA E PROGRAMAO DINMICA

209

ciona trabalhos que, ou desenvolvem a metfora, ou representam aplicaes soluo de problemas de


otimizao combinatria.
T A B E LA 5. 18 AP L I CA ES DE SCAT T ER S E A RC H E P A T H RE L I NK I NG

Ano

Autores

Abordando

1994a

Glover

Trabalho pioneiro em scatter search

1997

Glover

Abordagem geral Scatter search e path relinking

1996

Kelly et al.

Scatter search p/ treinamento de redes neurais

1996

Cung et al.

Scatter search p/ quadrtico de alocao

1996

Fleurent et al.

Scatter search p/ otimizao irrestrita

1998

Reeves

Algoritmo gentico c/ path relinking

2000

Laguna e Mart

GRASP e path relinking

2000

Glover et al.

Fundamentos de scatter search e path relinking

2001

Beausoleil

Scatter search multicritrio

2001

Campos et al.

Scatter search p/ o problema de ordenao linear

2003

Laguna e Mart

Texto didtico p/ scatter search

2003

Glover et al.

Texto didtico p/ scatter search

2003

Greistofer

Tabu e scatter search p/ roteamento em arcos

2003

Oliveira et al.

GRASP e path relinking p/ quadrtico de alocao

2004

DellAmico et al.

Scatter search p/ P||Cmax

Algoritmos Culturais

Os algoritmos culturais (ACs) so baseados na noo de que em sociedades avanadas o desenvolvimento do indivduo pode ser realizado tanto por seleo natural como regras de seleo cultural. Cultura, no sentido dos algoritmos culturais, vista como o conjunto de informaes acumuladas pela experincia da sociedade de indivduos. Os algoritmos culturais propem utilizar o domnio do conhecimento contido na cultura para guiar sua busca estocstica. Os ACs trabalham sobre dois espaos de
deciso a saber: a populao e o conjunto de crenas. A Tabela 5.19 relaciona trabalhos que, ou desenvolvem a metfora, ou representam aplicaes soluo de problemas de otimizao combinatria.
T A B E LA 5. 19 AP L I CA ES DE AL GO R I M O S C U L T U RA I S

Ano

Autores

Abordando

1994a

Reynolds

Trabalho pioneiro

1994b

Reynolds

Trabalho pioneiro

1995

Reynolds et al.

Aplicao manipulao de restries

2002

Coello e Becerra

Aplicao otimizao com restries

2002

Xidong e Reynolds

Aplicao minerao de dados

2004

Coello e Becerra

Tcnica de mapeamento do espao das crenas

210

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

ELSEVIER

Algoritmos Transgenticos

A Transgentica Computacional (TC) replica o paradigma da simbiognese, em que criaturas de diferentes espcies trocam informaes, eventualmente at material gentico, de modo a facilitar a adaptao ao
meio ambiente. O processo evolucionrio da TC realizado com base na troca de informaes entre populaes de indivduos de diferente natureza. A populao de cromossomos alvo constitui o primeiro nvel de evoluo, o nvel que modela a soluo do problema. Uma populao de vetores de manipulao
constitui o segundo nvel. Finalmente um terceiro nvel contm as regras que coordenam e alimentam a
simbiognese a troca de informao entre as populaes. Os vetores de manipulao so tambm denominados de vetores transgenticos e podem transportar informaes obtidas a priori ou durante a evoluo. Observe que na TC os cromossomos no trocam material gentico entre si no existe o processo
clssico de reproduo ou recombinao. A informao a priori pode ser originada de vrias fontes, tais
como conhecimento terico e heurstico. A Tabela 5.20 relaciona trabalhos que, ou desenvolvem a metfora, ou representam aplicaes soluo de problemas de otimizao combinatria.
T A B E LA 5. 20 A P L I CA ES DA TR AN SGEN T I C A C O M P U T A C I O NA L

Ano

Autores

Abordando

2001

Gouva

Trabalho pioneiro

2001

Goldbarg et al.

Aplicao ao problema de colorao de vrtices

2001

Gouva e Goldbarg

Aplicao ao quadrtico de alocao

2002

Goldbarg e Goldbarg

Aplicao ao quadrtico de alocao

2002

Goldbarg et al.

Aplicao explotao de petrleo

2002

Gouva et al.

Aplicao programao de sondas de produo

2002

Goldbarg et al.

Aplicao localizao de poos de petrleo

2002

Castro et al.

Aplicao ao gs lift

2003

Goldbarg et al.

Aplicao ao PCV

2003

Ramos et al.

Aplicao ao PCV

2004a

Goldbarg et al.

Aplicao a sistemas de cogerao

2004b

Goldbarg et al.

Aplicao explotao de petrleo

2004c

Goldbarg et al.

Aplicao ao flow shop de permutao

2004d

Goldbarg et al.

Aplicao distribuio de gs natural

2004

Leite et al.

Aplicao distribuio de vdeo

O Paradigma Hiper-Heurstico

Tendo em vista a inexorvel limitao de qualquer mtodo heurstico isolado, em termos de soluo
eficiente dos problemas combinatrios NP-rduos e outros, o paradigma hiper-heurstico prope uma
arquitetura que permita a seleo de algoritmos.
Basicamente o paradigma uma arquitetura de tomada de deciso em que heursticas so selecionadas e organizadas por uma camada superior composta por outras heursticas. A abordagem prev
meta-heursticas trabalhando em conjunto com outras meta-heursticas, todavia em vez de se complementarem dentro de um processo de busca, como praticado tradicionalmente nas heursticas hbridas,
elas se orientam. Antes da denominao de hiper-heurstica a proposta recebeu outros nomes como
combinao de heursticas (Hart e Ross [1998]), direcionamento heurstico evolutivo (Hart et al.
[1998]), estratgia de evoluo de restries de satisfao (Terashima-Marin et al. [1999] ou algoritmo evolucionrio de mltiplos estgios (Burke e Newall [1999]). A Figura 5.27 resume a estrutura geral da proposta do paradigma hiper-heurstico. A abordagem foi recentemente denominada de hiper-heurstica (Burke et al. [2003a ] e [2003b] ).

PROGRAMAO INTEIRA E PROGRAMAO DINMICA

211

Hiper-Heurstica
Fluxo de informaes
extradomnio

Barreira de Domnio
Fluxo de informaes
extradomnio

Conjunto de Heursticas
h1

hn

Funo Avaliao

FIGURA 5.27 Arquitetura para Hiper-heursticas [01].

A Figura 5.27 mostra que a arquitetura do paradigma separa o domnio do problema do domnio
da hiper-heurstica. A hiper-heurstica no possui conhecimento sobre o domnio do problema, cabendo-lhe a tarefa de gerenciar as heursticas do nvel de soluo. O processo de gerncia se d independentemente do problema tratado no nvel das heursticas (Cowling et al [2002]). As nicas informaes
que emergem no contexto da hiper-heurstica so os dados que so comuns aos vrios tipos de problemas e os dados que a hiper-heurstica decide registrar como parte de seu estado interno. Por exemplo,
uma hiper-heurstica pode armazenar quanto tempo uma determinada heurstica usou na sua ltima
chamada, se houve mudana na funo avaliao quando a heurstica foi chamada ou quanto tempo de
processamento se passou desde a ltima chamada de certa heurstica. A hiper-heurstica desconhece
at mesmo qual problema est sendo solucionado por suas heursticas escravas.
So relatados experimentos com a busca tabu (Burke et al. [2003a] ) e algoritmos genticos (Hart e
Ross [1998]).
4

Reinforcement Learning Aprendizagem atravs de Reforo

Trata-se de um mtodo estocstico e construtivo em que as melhores solues so bonificadas. As bonificaes so utilizadas para guiar a obteno de novas solues. Os fundamentos da abordagem esto descritos em Barto et al. (1981). A estratgia bastante empregada em robtica (Stone et al. [2001]).
A Tabela 5.21 resume as aplicaes relatadas na soluo de problemas de otimizao combinatria.
T A B E LA 5. 21 AP L I CA ES DA APR EN DI ZA G E M A T RA V S D E RE F O R O

Ano

Autores

Abordando

1992

Barto

Conceitos

1995

Dietterich et al.

Aplicao ao job-shop sceduling

1996

Kaelbling et al.

Reviso da literatura

1997

Singh e Bertsekas

Alocao dinmica de canais de telefone celular

1998

Moody et al.

Aplicao carteira de investimento

1998

Sutton e Barto

Trabalho didtico

1999a

Miagkikh e Punch

Soluo p/ otimizao combinatria

1999b

Miagkikh e Punch

Soluo p/ otimizao combinatria

2002

Gosavi et al.

Apliao alocao de acentos em avio

2002

Pontrandolfo et al.

Gesto de cadeia de suprimento

2004

Hong e Prabhu

Controle de produo e estoque

212

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

ELSEVIER

As relaxaes so teis tanto para a gerao de solues aproximadas, como especialmente para a
disponibilizao de limites que so utilizados em algoritmos exatos de soluo do tipo B&B e outros.
As relaxaes mais utilizadas so a linear e a lagrangeana.
As heursticas clssicas so desenvolvidas de forma especfica para um certo tipo de modelo,
explorando, via de regra, suas peculiaridades. Para cada problema de otimizao, portanto, possvel elaborar estratgias aproximativas que levem em conta as particularidades do modelo. No
presente trabalho abordaremos heursticas clssicas principalmente para problemas de roteamento, recobrimento, localizao e conexo. Com um exemplo complementar da utilizao dessas tcnicas em problemas de otimizao, relacionaremos, a seguir, alguns trabalhos para problemas de
corte, empacotamento e carregamento, problemas esses que, apesar de importantes, no sero
abordados no texto:
4

Heursticas para o Problema de Corte, Empacotamento e Carregamento

Johnson et al. (1974), Chistofides e Whitlock (1977), Steudel (1979), George e Robinson (1980), Coffman et al (1980), Sarin (1983), Wang (1983), Baker e Schwartz (1983), Chanzelle (1983), Roberts (1984),
Marcotte (1986), Voight (1987), Dagli e Tatoglu (1987), Farley (1988), Tsai et al. (1988), Schneider
(1988), Haessler (1988), Han et al. (1989), Daniels e Ghandforoush (1990), Yanasse et al. (1900), Haessler e Talbot (1990), Gehring et al. (1990), Coffman e Shor (1990), Yanasse et al. (1990), Sweeney e Haessler (1990), George (1992), Mohanty et al. (1994), Bischoff e Ratcliff (1995), Bischoff et al. (1995), Azar
e Epstein (1997), Coffman et al. (1997), Hifi (1997), Fayard et al. (1998), de Werra (1997), Csirik et al.
(1999), Vanderbeck (1999), Gradisar et al. (1999), Chu e Antonio (1999), Csirik et al. (2001), Hopper e
Turton (2001), Liang et al. (2002), Alvarez-Valds et al. (2002), Valrio de Carvalho (2002), Zhang et al.
(2002), Gradisar et al. (2002), Onwubolu e Mutingi (2003), Martello et al. (2003), Ragsdale e Zobel
(2004), Shahin e Salem (2004).
Na atualidade, os procedimentos heursticos so tambm muito empregados em conjunto com os
mtodos exatos, especialmente para produzirem limites e solues viveis de boa qualidade. Com o
objetivo de exemplificar um algoritmo heurstico para a soluo do problema da mochila apresentamos o denominado mtodo mope ou guloso.
4

Heurstica Gulosa para a Soluo do (PK)

Algoritmo Guloso para PK


INCIO
Ler vetor de pesos wj, vetor de custos cj e termo independente b.
Inicializar variveis z 0, xj 0, j = 1, ..., n
cj
c j+ 1
, j = 1, ..., n 1
Ordenar as variveis de forma que:

w j w j+ 1
Para j = 1 at n enquanto b 0, fazer:
Incio

b wj
x j

b b (w j x j );
z z + cjx j

Fim
Escrever {z, xj, j = 1, ..., n}
FIM

PROGRAMAO INTEIRA E PROGRAMAO DINMICA

213

Essa uma heurstica simples e de complexidade dominada pelo procedimento de ordenao, ou


seja, O (n log2 n). Sua razo de performance (Fisher [1980]). A ideia do algoritmo basicamente carregar a mochila com os itens de maior valor. Vamos aplicar o procedimento para encontrar uma soluo para a instncia da mochila representada pela Tabela 5.22, com o valor do termo independente
igual a 14.
1. Leitura:
b = 14

T A B E LA 5. 22 R EL AO DE I TEN S CO M P E S O S E VA L O RE S

10

11

12

13

14

15

16

10

12

11

12

10

2. Ordenao:
cj /wj

7/4

10/3

3/2

4/7

3/4

5/3

8/6

9/7

7/9

2/4

16

15

10

11

12

cj /wj

10/3

5/2

12/5

7/4

5/3

8/6

3/2

9/7

7/9

3/4

4/7

2/4

1/10 1/11 12/5

13

5/2

14

1/10 1/11

Para j = 1, ..n
b = 14; x6 = 14 3= 4; z: = 0+7 4 = 28
b: = 14 12 = 2; x2 = 2 3= 0; z: = 28 + 0 = 28;
b = 2; x16 = 2 2= 1; z: = 28 + 1 3 = 31.

5.5 PROBLEMAS PROPOSTOS


1 O Problema do Arredondamento de Solues Inteiras

Seja o programa que se segue:


Maximizar z = 2x1 + 3x2
sujeito a:
x1 4,2
x2 5,8
19x1 + 20x2 156
x1, x2 Z+
que pode ser representado graficamente pela Figura 5.28.
Estude a adequao do uso da tcnica de arredondamento da soluo inteira para esse problema.

214

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

2 O Problema do Socorro Areo

Aps um perodo de intensas chuvas, uma vasta regio da Amaznia est alagada muito alm dos
nveis normalmente admissveis. Uma srie de localidades esto completamente ilhadas no acesso
por terra. As ligaes por barco esto perigosas face ao estravazamento dos rios. O governo resolveu providenciar uma ponte area de suprimentos envolvendo Manaus e trs outras cidades que
atuaro como plos de distribuio de remdios e gneros de primeira necessidade e combustvel.
A Figura 5.29 mostra o mapa da operao. Para efetuar o transporte, o governo dispe de basicamente dois tipos de aeronave: o helicptero Valente e o avio de carga Sucuri. O helicptero s
pode operar com uma escala, pois s abastece em Manaus. O Sucuri possui maior autonomia e s
opera economicamente com duas escalas. Os custos (em reais) para o quilmetro de voo esto resumidos na Tabela 5.23.
Sabendo-se que Altamira necessita de 10 ton de suprimento dirio, Tabatinga 21 ton e Humait 7
ton, e que, em virtude do carregamento em Manaus, o suprimento mximo que poder ser enviado
por helicptero no ultrapassa 15 ton. Formular o atendimento da demanda minimizando os custos
globais da operao.

X2
9

x1 = 4,2

2
3

x2 = 5,8

B
19x1+20x2 = 156

A
O

X1

FIGURA 5.28 PPL Inteiro.

Manaus

Tabatinga

1.300 Km
1.100 Km
2.000 Km

900 Km

1.300 Km
Altamira
1.800 Km
Humait

FIGURA 5.29 O Mapa da Operao.

PROGRAMAO INTEIRA E PROGRAMAO DINMICA

215

T A B E LA 5. 23

Trajeto

Valente
Vazio

Manaus Tabatinga

Sucuri
Carregado

Vazio

Carregado

2, 5

Manaus Humait

1, 5

3, 5

Manaus Altamira

3, 5

3, 5

Altamira Tabatinga

Altamira Humait

Humait Tabatinga

2, 5

3 O Problema das Tarifas de Hospedagem

Um certo hotel com capacidade para 180 hspedes distribudos em 30 quartos simples, 30 duplos e 30
triplos pretende otimizar sua poltica de preos. O hotel trabalha com quatro tipos de clientes: excurses (e), convenes (c), empresas (s) e avulsos (a). Uma consultoria providenciou o levantamento das
equaes de demanda em funo dos preos cobrados em relao aos clientes de excurses e de empresas da seguinte forma:

p
p
p
p
p
ep 100 S + P + T e sp 100 p S + P + T

2
4
2
3
4
Onde eP o nmero de pessoas que comporo uma excurso em funo dos pi ou preo dos quartos simples, duplos e triplos. Os preos podem variar (em unidades monetrias) dentro das seguintes
faixas:
20 ps 50
30 pd 80
40 pT 90
As convenes trazem uma demanda fixa de 100 pessoas e exigem os custos mnimos. Ocupam 20
quartos simples obrigatoriamente. As convenes utilizam o salo de convenes com um retorno de V
unidades monetrias. Quando o salo no est sendo utilizado, o hotel gasta R unidades monetrias
em sua manuteno.
Os convnios com empresas garantem a ocupao de 10 quartos simples ao preo de mercado (Sp
10).
Sabe-se que as despesas rateadas correspondem aos custos mnimos dos preos dos quartos, que
possvel captar 20 pessoas avulsas diariamente pagando o preo mximo da tabela e ocupando quartos
duplos e, que, no mnimo, 30% das pessoas das excurses ficam em quartos simples. Sabendo-se que
no so viveis excurses com menos de cinco pessoas e que os quartos duplos ou triplos podem ser
alugados como simples (mantendo os custos mnimos rateados). Estabelecer o programa de programao matemtica para otimizar a ocupao do hotel.

216

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

4 O Problema das Damas do Jogo de Xadrez

ELSEVIER

Em um tabuleiro de xadrez (padro 8 8) vazio, sabe-se que uma alocao de uma pea do jogo em
uma casa preta vale o dobro do que em casa branca. Determine a localizao tima para 8 (oito) damas
de modo que nenhuma delas seja ameaada pelas demais. Formule esse problema como um PPL e o solucione com o auxlio do simplex.

5 O Problema das Peas de Xadrez

1 Um jogador resolveu distribuir as torres, bispos e cavalos de um jogo de xadrez em um tabuleiro vazio de forma a minimizar o nmero de casas no atacadas e no permitir que as peas alocadas se atacassem diretamente (considerado apenas o ataque entre peas de cores diferentes). Formule esse problema como um PPL e o solucione com o auxlio do simplex.
2 Formule e solucione o caso 1, considerando que o jogador pode dispor do nmero que desejar de torres
e bispos, mas as peas so independentes, ou seja, passveis de serem atacadas por peas de mesma cor.
3 Formular e solucionar o problema 2 considerando a casa de alocao de uma pea como casa no
atacada.

6 O Problema do Atendimento Bancrio de Aposentados

Um certo banco de uma cidade resolveu redefinir seu sistema de atendimento de aposentados pelas
agncias de modo a maximizar o conforto no atendimento dessas pessoas idosas, uma vez que as medidas de automao e acesso remoto no se mostraram suficientes para aliviar as dificuldades no atendimento de balco. A demanda de atendimento di, i = 1, ..., n foi discretizada dentro de n blocos geogrficos quadrados com cerca de 1.500 m de lado, conforme Figura 5.30. Cada bloco foi considerado concentrado em seu centro de gravidade e representado por um n em um grafo. Todos os ns desse grafo foram ligados por arestas aos seus blocos vizinhos (distncia de 1.500 metros entre cada n do grafo de
discretizao). Os ns (blocos marcados), que englobaram agncias bancrias j existentes, foram anotados como ns de oferta, j = 1, ..., m, contabilizando-se como oferta disponvel a oferta total da agncia
menos a demanda gerada em seu bloco de localizao.
Sabendo-se que a direo do banco deseja que:
1. Nenhum aposentado tenha que se deslocar mais de 4.500 m para ser atendido.
2. Nenhum aposentado gaste mais de R unidades monetrias com deslocamento.
3. Que a demanda prevista pela rea de captao alocada a uma agncia jamais ultrapasse sua oferta
nominal.

FIGURA 5.30 Discretizao da demanda e do atendimento.

PROGRAMAO INTEIRA E PROGRAMAO DINMICA

217

Sabendo-se, ainda, que para solucionar o problema da demanda pode-se ampliar uma agncia j j
existente a um custo de hj unidades monetrias por usurio, ou implantar um novo posto que custar
uma parcela fixa de fj unidades monetrias, e cada usurio realocado a esses postos de atendimento
custar ao sistema mais cj unidades monetrias.
Conhecendo-se que o deslocamento entre os ns i e j do grafo de discretizao custa, em mdia Pij,
unidades monetrias, formular o problema de minimizar os gastos com a redefinio do sistema de
atendimento, englobando a ampliao de agncias e a criao de postos de atendimento no banco.

7 O Problema da Distribuio de gua

Uma companhia de gua e esgoto deseja implementar a rede de abastecimento de gua de um bairro
recentemente ocupado e em processo de urbanizao. A Figura 5.31 mostra que junto ao bairro passa
uma adutora de grande porte que deve ser ligada a uma rede de distribuio local que percorra as ruas
do bairro. Os custos da rede local so diretamente proporcionais ao comprimento linear dos canos. A
rede de gua no deve possuir circuitos (canos ligados de modo a formarem um caminho fechado),
pois essa configurao, alm de dificultar a manuteno, ocasiona problemas no fluxo de gua que acabam prejudicando os encanamentos e vlvulas de presso. Formular o problema de distribuir a gua
em todos os quarteires do bairro minimizando o custo total do sistema.
Limites de
projeto

Ponto de chegada
da adutora

FIGURA 5.31 Mapa da rede a ser implantada.

8 O Problema do Incndio Florestal Operao Prolongada


Considere as seguintes condies para o problema do exemplo 7 da pgina 57:

Fase 2: Operao Prolongada


Quando o programa de combate a incndio da fase 1 estava para ser implementado e o dia amanhecia,
as condies climticas na rea do incndio foram alteradas drasticamente. O fogo comeou a se alastrar a uma taxa nada desprezvel alimentado por ventos de at 50 km por hora. Agora o tempo passou a
ser crucial e as condies econmicas do desastre ecolgico tornaram-se preponderantes. Os engenheiros florestais calcularam o crescimento global da rea a ser varrida pela operao em uma taxa constan-

218

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

te de 25%/hora. Os prejuzos tambm se caracterizam diretamente proporcionais a essa rea e so contabilizados em R$10,00 por metro quadrado da rea que ser atingida a partir da expanso do fogo. Todos os meios solicitados pelos tcnicos no dia anterior haviam chegado e, alm disso, uma fora reserva
no prevista. Um grupo de bombeiros terrestres estar disponvel em cerca de 2 horas. Esse grupo
pode crescer a capacidade de combate ao fogo em cerca de 20.000 m2/hora ou ser empregado em acero
e reduzir a expanso do fogo em cerca de 0, 5% por hora de trabalho. O custo operacional do grupo
desprezvel no trabalho de acero e de R$30.000 por hora no combate direto devido aos riscos pessoais
envolvidos. Por um erro de comunicao, chegaram com os avies mais 10 pilotos de helicptero. Com
tantos pilotos de helicpteros descobriu-se que eles poderiam tambm pilotar os avies, sendo que os
pilotos de avio no podiam fazer o inverso. A Tabela 5.24 de disponibilidade :
T A B E LA 5. 24

Aparelhos
prontos

Pilotos

Helicptero AH-1

20

Avio Tanque

Avio B67

Aparelho

Operadores

14

22

Reformule o problema objetivando minimizar os custos da operao.

9 O Problema do Professor Atarefado

Um professor recebeu oferta de trabalho em trs escolas que so equivalentes em atributos como qualidade de ensino e oportunidade de aperfeioamento. Cada uma delas gostaria, se possvel, de contrat-lo em regime de tempo integral (dedicao exclusiva). Existem, contudo, outras opes de comprometimento em carga horria. Os mdulos de trabalho so de oito horas. A Tabela 5.25 resume as vrias
propostas que o professor est examinando:
T A B E LA 5. 25 P AGAMEN TO EM CADA ESCO L A

# de Mdulos

Escola 1

Escola 2

Escola 3

105

135

150

240

250

310

400

380

390

500

490

560

590

630

660

Qual o esquema de trabalho que maximiza o retorno financeiro de seu trabalho?

10 O Problema do Entregador de Pizza

Um servio de entrega rpida de pizza recebeu um pedido urgente e especial. A encomenda foi feita
por um faminto e generoso milionrio. Se eles forem capazes de entregar uma quente e suculenta pizza
gigante em apenas cinco minutos tero um substancial bnus. A malha rodoviria que separa o ponto
em que a pizza feita e seu destino est representada no esquema da Figura 5.32. Sobre as ruas aparece
a probabilidade percentual que ocorra um problema ao entregador naquele trecho, inviabilizando o
cumprimento do prazo. A Figura 5.32 exibe a malha rodoviria do problema.

PROGRAMAO INTEIRA E PROGRAMAO DINMICA

219

5
2

10
5

25

10

Loja

Cliente

25

7
15

15
20

9
15

FIGURA 5.32 Malha de entrega de pizza.

Determine a rota que maximiza a chance do entregador de pizza entreg-la no prazo desejado.

11 O Problema da Venda de Sorvete

Uma rede de lanchonetes possui quatro lojas em uma cidade. Para fazer frente a demanda do vero o
superintendente regional de compras da empresa adquiriu sete containers de sorvete. Devido diferente localizao de cada uma das filiais existem diferentes potenciais para a venda do sorvete. Face experincia de venda, o superintendente estimou o lucro lquido (em unidades monetrias) que seria
possvel obter, dentro do horizonte de venda usual, em cada filial como a Tabela 5.26 sugere:
T A B E LA 5. 26 R ETO R N O DE I N V ES T I MEN T O .

Lanchonetes
# de Containers

Ponta Negra

Pirangi

Nepolis

Petrpolis

12

10

14

12

10

18

16

14

12

20

20

16

16

22

21

18

20

22

24

Formule o problema de otimizar o lucro total obtido. Determine a distribuio tima dos containers.

12 O Problema da Marcenaria

Em uma pequena marcenaria existem n tarefas de corte a serem realizadas. Cada tarefa requer pi minutos para ser processada em uma mquina de serra, i = 1, ..., n. As tarefas estaro prontas para ser entregues a uma mquina a partir do tempo ai e devem terminar at o tempo bi (tempos contados a partir do
incio das atividades dirias da marcenaria). Formule o problema de minimizar o nmero de mquinas
necessrias para completar as n tarefas.

220

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

13 O Problema da Produo de Turbinas

Uma indstria fabrica trs tipos de turbina de grande potncia (tipos I, II e III). Cada tipo de turbina
pode ser vendida por 150, 170 e 240 unidades monetrias, respectivamente. As turbinas possuem trs
componentes crticos que so importados de empresas especializadas, a saber: o conjunto das ps, rolamentos e injetores de combustvel. A indstria possui quatro fornecedores desses equipamentos, conforme mostram as Tabelas 5.27 e 5.28:
T A B E LA 5. 27

Item

Ejetor

Conjunto de Ps

Rolamento

6 (18 U.M.)

40 (1 U.M.)

280 (1 U.M.)

4 (20 U.M.)

60 (1, 5 U.M.)

150 (0, 8 U.M.)

6 (17 U.M.)

100 (2 U.M.)

120 (1, 7 U.M.)

10 (19 U. M.)

150 (1, 7 U. M.)

170 (1, 6 U. M.)

Fornecedor

Cada turbina exige os seguintes insumos:


T A B E LA 5. 28

Insumo

Mo de Obra

Ejetor

Conjunto
de Ps

Rolamento

40

500 Homem hora

II

60

600 Homem hora

III

10

85

1200 Homem hora

Tipo de Turbina

(0,01 U.M / H xh)

A indstria possui 1.800 H h para a montagem das turbinas. Sabe-se tambm que uma empresa
s vende para a indstria se a sua encomenda total (gastos com ejetores, conjuntos de ps e rolamentos) ultrapassar 400 unidades monetrias. O capital de giro da indstria de 1.300 unidades monetrias, o que limita as compras a esse teto. Pede-se:
1. Formular o problema de maximizar o lucro com a produo de turbinas.
2. Uma empresa est oferecendo mo de obra para montagem da turbina a 0,02 U.M. por H h. A indstria deve comprar esse servio para maximizar seus lucros?
3. Se uma fornecedora concorrente oferecesse no mercado ejetores a 21 U.M. por unidade, a indstria deveria compr-los? Em caso positivo, quantos? Em caso negativo, qual seria o menor
valor que a indstria deveria aceitar pagar?

14 O Problema da Produo de Ferragens para Janelas de Madeira

Uma metalrgica produz puxadores, rolamentos e guias para janelas de madeira. Essas ferragens
podem ser bronzeadas, pintadas ou anodizadas. A Tabela 5.29 resume o nmero mximo de lotes
passveis de produo, em uma semana, nas mquinas da empresa, bem como o lucro unitrio de
venda por lote.

PROGRAMAO INTEIRA E PROGRAMAO DINMICA

221

T A B E LA 5. 29 MX I MO DE L O T ES PASS VE I S D E P RO D U O

Bronzeado

Pintado

Anodizado

Puxador

25 (2 U.M.)

30 (1,3 U.M.)

15 (3 U.M.)

Rolamento

45 (0,3 U.M.)

20 (0,5 U.M.)

10 (1 U.M.)

Guia

10 (1,2 U.M.)

30 (1 U.M.)

5 (2 U.M.)

A empresa possui 800 H x h por semana de mo de obra especializada. A Tabela 5.30 resume a utilizao de mo de obra por lote das diversas ferragens produzidas.
T A B E LA 5. 30 MO DE O B R A P O R L O T E

Mo de obra (H h) por lote

Tipo
Bronzeado

Pintado

Anodizado

Puxador

Rolamento

Guia

Sabe-se que, para bem utilizar o maquinrio, para cada 5 lotes de puxadores produzidos deve-se
fabricar entre 2 e 8 lotes de rolamentos e entre 1 e 9 lotes de guias.
Formular o problema de maximizar o lucro da metalrgica.

15 O Problema do Tratamento Qumico de Peas Metlicas

Em uma indstria metalrgica aps a fabricao, todas as peas so submetidas a um tratamento qumico contra a corroso e abraso. A empresa produz vrios tipos de peas em sua linha de fundio e
moldagem. Para realizar o tratamento existem quatro tanques de imerso. As peas metlicas so fixadas em um varal e submersas em cada tanque durante um certo tempo. Os tanques contm elementos qumicos diferentes e so dispostos em uma sequncia que produz, aps as imerses, o efeito
desejado. Durante todo o tempo de imerso as peas sofrem a ao do processo associado ao respectivo tanque. Cada pea i, i = 1, ..., n, possui um tempo mnimo tij, j = 1, 2, 3, 4, e um tempo mximo rij de
permanncia no tanque j. Os custos do processo so diretamente proporcionais ao tempo de permanncia da pea i no tanque j e a constante de absoro associada ao efeito do composto qumico do
tanque j sobre a pea i. O peso pi da pea i conhecido. Cada varal tem quatro posies (que no necessitam ser obrigatoriamente preenchidas) para fixar as peas e deve ser carregado com, no mnimo,
v quilos de modo que no exista problemas de flutuao no momento da imerso e, no mximo, w
quilos para que no se rompa.
Sabendo-se que existe uma certa disponibilidade de h horas para completar o tratamento qumico
do lote de n peas, formular o problema de programar a sequncia de carregamento dos varais de
modo a minimizar os custos globais do processo.

16 O Problema do Balanceamento das Rodas de um Veculo Blindado

Um certo tipo de veculo de combate blindado deve ter suas rodas balanceadas atravs da possvel colocao de calos em quatro pontos especficos de seus aros. Um calo i, i = 1, ..., 16, quando fixado na
posio j, j = 1, ..., 4, da roda k, k = 1, ..., 4, produz um deslocamento horizontal na dinmica do giro da
roda igual a h ijk , e um deslocamento vertical v ijk . Esses valores podem ser positivos ou negativos. Cada

222

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

roda possui um desequilbrio dinmico de constituio igual a hk e vk, nos eixos horizontal e vertical,
respectivamente. Nem todas as posies prprias para a fixao de calos necessitam ser ocupadas
obrigatoriamente. Em uma operao de campanha, para aumentar a eficincia do processo, no sentido
de diminuir os tempos operacionais e eliminar o procedimento da correo artesanal, foram realizados
estudos estatsticos que resultaram na elaborao de um kit de balanceamento padro com 16 calos especficos.
Sabendo-se que a soma dos desequilbrios horizontais residuais das rodas dianteiras do veculo devem ser menores ou iguais que as somas dos desequilbrios verticais da rodas traseiras, formular o problema de programao matemtica capaz de planejar a utilizao do kit padro de modo a minimizar o
desequilbrio residual total das rodas do blindado.

17 O Problema da Bibliotecria

Uma bibliotecria deseja organizar um novo lote de livros (classific-los) e para isso ser utilizado
uma nova rea da biblioteca. Existem dois fatores limitantes para o acondicionamento dos livros nas
estantes: a altura do livro e o comprimento da prateleira. Um livro i possui uma altura hi e uma espessura wi. Obviamente um livro s pode ser guardado em uma prateleira que possua uma altura igual
ou maior que a sua. Os livros no podem ser colocados uns sobre os outros. No existe limitao no
espao fsico, de modo que podem ser construdas tantas prateleiras quanto forem necessrias, porm a verba que compra os livros a mesma que paga as prateleiras, sugerindo-se que os gastos com
as prateleiras devem ser minimizados. A Figura 5.33 exemplifica a configurao das prateleiras em
estantes.
As prateleiras so fixadas de forma a que produzam espaos de altura varivel mas com um comprimento padro igual a L metros. A criao de uma nova prateleira custa R unidades monetrias (o valor inclui os montantes [paredes laterais] da estante). A altura mxima da estante (um conjunto de prateleiras) de S metros, sendo desprezada a espessura do metal da prateleira. O espao no ocupado em
uma prateleira considerado desperdiado.
Estante 1

Estante 2

Prateleiras

Livros

FIGURA 5.33 Esquema de prateleira.

PROGRAMAO INTEIRA E PROGRAMAO DINMICA

223

1. Formular o problema da classificao dos livros com o objetivo de minimizar o nmero de prateleiras montadas.
2. Considerando que livros iguais (cpias de um mesmo livro) devem ser classificados sempre juntos
(na mesma prateleira), reformular o problema anterior. Para o caso especfico, consideraremos que
no existe caso em que o grupo de livros repetidos exceda o tamanho L de uma prateleira.
3. Em uma certa partida do lote, os livros so muito pesados, de modo que as prateleiras podem sofrer deformaes desagradveis se esse aspecto no for levado em conta. Considerando pi o peso de
cada livro e V a capacidade mxima de uma prateleira, reformular o problema 1 levando em conta
a capacidade nas prateleiras.
4. Reformular o problema 2, incluindo as restries de peso com a seguinte adaptao: permitir que
livros iguais sejam classificados em no mximo duas prateleiras.

18 O Problema do Muro de Arrimo

Um certo talude ser estabilizado com um muro de arrimo composto de 33 placas pr-moldadas em
concreto com 1 m2 de rea e 20 cm de espessura, encaixadas em uma estrutura metlica de sustentao.
O terreno do talude bastante heterogneo e encontra-se sujeito a diversas infiltraes. Nos estudos
preliminares para o projeto, o levantamento de carga foi avaliado atravs de um corte transversal no
terreno do talude, optando-se por discretizar, dentro do padro das placas pr-moldadas, as cargas
que esse talude acarretaria sobre o muro de arrimo, conforme a figura que se segue. O muro fixado na
posio vertical em relao ao terreno, sendo que sua estrutura metlica de sustentao fundada na
rocha, cujo perfil a figura destaca em uma vista frontal.
Os esforos de trao despertados pelo talude no muro de arrimo sero absorvidos pela estrutura
metlica de sustentao e por uma conveniente armao nas placas de concreto. Os esforos de compresso sero neutralizados pelo concreto das placas, cabendo dimension-lo para tal. A resistncia
compresso de uma placa de concreto est associada a diversos fatores, dentre os quais a percentagem
do cimento utilizado no trao (na mistura cimento, areia e brita que constituir o concreto). Considerando-se que o consumo de concreto (em uma aproximao linear justificada pelo regime de deformao que a estrutura ser submetida) est diretamente associado resistncia final do pr-moldado e
que, devido ao efeito conjunto da estrutura, a resistncia ao esforo de solicitao (cargas da figura) de
certa placa auxiliada pela resistncia das placas vizinhas segundo a seguinte frmula:

pij = rij + 0,1


r

sk
s ek
em que s e k representam os ndices das clulas vizinhas a clula ij, pij representa a tenso nominal mxima admissvel para a clula ij (dentro do modelo de discretizao adotado) e rij a resistncia a ser obtida na fabricao da placa ij. Considerando-se ainda que o custo do cimento a ser utilizado na confeco do concreto das placas corresponde a c unidades monetrias para cada unidade de resistncia alcanada (em kg/cm2, conforme a norma brasileira1):
Formular o problema de fabricar o conjunto das placas do muro de arrimo minimizando o consumo de cimento.

1. Resistncia obtida no ensaio de trao aos 28 dias.

224

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

2
9

3
10

5
12

11

6
13

14

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

8
15

Placas

Perfil da rocha
de sustentao

32

33

Configurao do muro de arrimo vista frontal

Esquema dos esforos atuantes sobre as placas

200

150

230

120

200

100

200

100

220

130

230

280

230

230

250

280

300

270

250

270

310

320

310

315

330

350

320

240

160

200

250

360

400

Valor discretizado dos esforos resultantes de compresso nas placas (kg/cm2)

FIGURA 5.34 Vista frontal do muro de arrimo

19 Escolha de Projetos Alternativos

Uma operadora de turismo associada a um banco de investimento regional resolveu investir na regio Nordeste do Brasil, estabelecendo parcerias com hotis e pousadas da regio. Os projetos esto
divididos em trs categorias: investimento em construo e infraestrutura, eventos religiosos e cidades histricas. Para projetos de investimento em construo e infraestrutura existem as propostas A,
B e C da rede Sol, Mar e Recife, objetivando a modernizao de vrios de seus hotis, a um custo de
US$7, US$5 e US$4 milhes, respectivamente, o Hotel Duna Branca com os projetos D e E a um custo
de US$7 e 8 milhes, e o Hotel Pirangi com o projeto F a um custo de 4 milhes. Para os eventos religiosos esto disponveis os projetos G, H e I das Pousadas Natal, avaliados em US$6, 2 e 3 milhes, respectivamente. Finalmente, para promoo e sustentao de programaes em cidades histricas,
existem os projetos J e K do Hotel do Virgulino e os projetos L e M, do Hotel da Volante, orados em

PROGRAMAO INTEIRA E PROGRAMAO DINMICA

225

US$6, 10, 12 e 4 milhes, respectivamente. Desejando maximizar o retorno do investimento, os projetos foram examinados por uma comisso de especialistas que atribuiu, comparativamente, o seguinte valor em pontos aos projetos:
A = 3; B = 5; C = 8; D = 11; E = 6; F = 13; G = 15; H = 2; I = 7; J = 8, K = 7; L = 10; M = 9 pontos. A operadora,
interessada em criar laos diversificados na rea, estabeleceu que pelo menos um projeto em cada rea
seria apoiado. Sabendo-se que:
1. Os projetos de modernizao so julgados prioritrios, de modo que, pelo menos trs, sero apoiados.
2. Face a problemas polticos, o Hotel do Virgulino e o Hotel Pirangi devem ter o mesmo nmero de
projetos aprovados.
3. Existe US$20 milhes para investir.
4

Planejar o melhor investimento possvel do recurso disponvel.

Aps o planejamento ter sido realizado, uma informao deu conta de que os custos dos projetos do
Hotel da Volante tinham sido avaliados com impreciso, impondo-se uma correo de 30% a mais
para seus custos finais. Isso altera o quadro de distribuio dos projetos? De que forma?

Caso esse problema se repita com o Hotel Sol, Mar e Recife (cujas propostas so vistas com desconfiana pela operadora de turismo), at que ponto os custos podem aumentar sem alterar a soluo?

O Hotel Piscinas do Serto resolveu encaminhar, tardiamente, um projeto para construo e infraestrutura. Seu custo total foi de US$5 milhes e obteve uma avaliao de 8 pontos. O departamento de anlise do banco de investimento recusou o projeto pois, segundo suas palavras: No era
competitivo face aos demais projetos vencedores. Isso verdade?

20 O Problema dos Anncios na Rede de TV

Etapa1: O ponto de vista dos anunciantes


Uma rede de televiso resolveu estabelecer preos competitivos para o tempo de comercial em certos
horrios. Existem 3 horrios para a propaganda em promoo na rede: horrio nobre noturno (horrio 1), horrio da tarde em fins de semana (horrio 2), horrio da tarde em dias da semana (horrio 3).
O preo de um mdulo mnimo de propaganda em cada horrio p1, p2 e p3, respectivamente. A rede
vende grandes espaos de tempo dentro da programao, denominados pacotes promocionais. Os
anunciantes desejam entrar no programa de pacotes de propaganda promocional porque podem obter, com isso, melhores preos unitrios. Um pacote representa um esquema de desconto baseado na
homogeneizao de demanda e economia de escala. Existem quatro faixas de preos sendo praticadas nos pacotes. Faixa 1, ou de desconto zero, faixa 2, ou de desconto de 10%, faixa 3 com um desconto de 20% e faixa 4 com desconto de 10 %. Os descontos incidem sobre o somatrio total dos tempos
adquiridos, desde que o anunciante cumpra as condies de habilitao. O desconto da faixa 4 pode
ser somado aos descontos obtidos nas faixas 2 e 3. Os descontos das faixas 2 e 3 no so cumulativos
entre si.
As condies de habilitao dizem respeito a restries de tempo total mnimo de propaganda
adquirido e distribuio da programao do anunciante dentro dos horrios (1, 2 e 3) da emissora.
A Tabela 5.31 resume as regras da promoo:

226

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

T A B E LA 5. 31

Condies de distribuio
da programao

Descontos

Somatrio de tempo

Valor do desconto

Faixa 1

sem exigncia

sem exigncia

0%

Faixa 2

sem exigncia

comprar, no mnimo, tempo


em dois horrios

10%

Faixa 3

sem exigncias

comprar, no mnimo, tempo


em trs horrios

20%

Faixa 4

comprar, no mnimo,
f unidades de tempo

sem exigncias

10%

Os anunciantes que competem na disputa do uso da mdia so n e dispem, cada um deles, de sn


unidades monetrias para investir em propaganda.
Os anunciantes, reunidos em uma associao, desejam estabelecer a melhor estratgia de negociao com a rede, objetivando maximizar, dentro das disponibilidades oramentrias, o tempo global de
utilizao da mdia.

Etapa 2: O ponto de vista da rede de TV


Como existem tempos disponveis para a propaganda ainda no utilizados, a rede resolveu incentivar
a demanda. Ela sabe que o investimento dos anunciantes sensvel estratgia de preo. Atravs de
uma pesquisa de mercado descobriu que, na medida em que reduz os preos bsicos (em todos os horrios), o investimento do anunciante n tende a crescer segundo a equao:
sn* = sn + 10d
onde sn* representa o montante final de investimento disponvel e d o desconto em unidades monetrias. Sabe tambm que, se os investimentos forem aumentados pela reduo dos preos, o cliente procurar minimizar seus custos finais atravs da estratgia descrita na etapa 1.
Formular o problema de estabelecer a poltica de preos que maximize o retorno total, mantidos os
pacotes de promoo, sabendo-se que o tempo que no for comprado pelos anunciantes pode ser utilizado pela prpria rede de TV, valendo ri unidades monetrias por segundo, i = 1, 2, 3, dentro de cada
horrio possvel.
Sugestes para a soluo da etapa 1
Sob o ponto de vista dos anunciantes o desejvel maximizar o desconto, atendidas as restries prprias de cada anunciante.
1 Escolha da varivel de deciso
ti tempo disponvel para propaganda no horrio i, i = 1, 2, 3.
xik tempo adquirido no horrio i, i = 1, 2, 3, pelo anunciante k, k = 1, ..., n.
1, caso o anunciante k tenha adquirido tempo no horrio i

yik 0, caso contrrio

1, caso o anunciante k tenha adquirido mais do que f mdulos de tempo

wik 0, caso contrrio

PROGRAMAO INTEIRA E PROGRAMAO DINMICA

227

sk montante mximo de recursos disponibilizado pelo anunciante k.


pi preo do tempo de anncio no horrio I.
ck custo total que ser pago pelo anunciante k, face ao total de desconto que lhe cabe.
2 Formulao das restries tecnolgicas (abordagem no linear)
a) Restries relativas ao montante pago pelo anunciante, face aos possveis descontos
3

pgk = xik pi, k = 1, ..., n


i=1
3

ck (3 yij) 0,1 pgk + 0,8 pgk 0,1 pgk (1 wij), k = 1, ..., n


i=1

sk ck, k = 1, ..., n
Observamos que, se o anunciante k faz qualquer anncio, o somatrio dos yik na segunda restrio
pelo menos 1. A varivel pgk acumula o gasto sem desconto.

21 O Problema da Operao da Frota de Txis

Uma operadora de txis controla cerca de 120 associados em uma grande rea metropolitana. A operadora foi constituda para centralizar a operao dos veculos. A central recebe as chamadas de atendimento
e designa os carros para as corridas. Ela possui um sistema que permite o controle do posicionamento
dos veculos, de modo que pode tomar decises com uma viso global do atendimento. Existem trs tipos de chamadas: programadas, normais e urgentes. Na chamada normal, sob a tica do cliente, deseja-se minimizar o tempo de atendimento, respeitadas as restries operacionais. A chamada urgente designa o carro mais prximo ao ponto do pedido e d uma expectativa de chegada ao cliente. As chamadas
urgentes so 50% mais caras. Se o tempo de chegada da chamada urgente for maior que trs minutos ento essa chamada cobrada como normal, apesar do carro designado ser o mais prximo. Em todos os casos, (chamadas normais ou urgentes) deve ser considerada a possibilidade de atendimento face um tempo mximo rj, estabelecido pelo cliente j. As chamadas programadas determinam a presena de um txi
no destino exatamente na hora acordada. Para tal, as chamadas programadas so feitas com, no mnimo,
uma hora de antecedncia.
Os taxistas, na verdade trabalhadores autnomos associados em cooperativa, exigem que a central
realize uma designao equnime sob alguns critrios. A cidade dividida em quatro reas, como
mostra a Tabela 5.32.
T A B E LA 5. 32

rea

Urbana

Suburbana

Alto

a1

a3

Baixo

a2

a4

Desempenho

Os profissionais desejam que exista um equilbrio no nmero de chamadas de cada txi em cada
rea, de modo que fatores como engarrafamento, riscos de segurana, corridas longas etc., sejam
aproximadamente os mesmos para todos. Outro ponto a ser considerado que os carros no tenham

228

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

que se deslocar muito para atender corridas curtas. Formule o problema de designao dos txis a
chamadas como um programa de programao linear.
Informao adicional: o objetivo do sistema computacional de designao dever ser otimizar os
ganhos com os atendimentos. Os ganhos so diretamente proporcionais ao nmero de quilmetros rodados e pagos a R$1,0, sendo que a bandeirada de R$1,5. Considere a operao em horrio comercial
com todos os 120 carros em disponibilidade.

22 O Problema da Reforma da Pirmide

Uma pirmide construda h milhares de anos com blocos cbicos de calcrio de 1 m de lado est
necessitando ser reformada. Vrios blocos esto apresentando trincas e podem entrar em colapso,
o que levaria destruio do monumento histrico. Uma prospeo sonora classificou os blocos segundo seu risco de ruptura (ri), i = 1, ..., 380. Operacionalmente, para se retirar um bloco na pirmide, necessrio remover, caso existam, at nove outros blocos no nvel superior, como mostra a Figura 5.35:
Base da pirmide

Segundo nvel

Topo da pirmide

ri (risco da clula)

Formao dos patamares

ltimo patamar

ri

Base da pirmide

Clula a ser retirada


da base

3 3 3

2 2 2

2 2 2

2 1 2

2 1 2

2 2 2

2 2 2

3 3 3

Consequncia no 2 nvel Consequncia no 3 nvel

FIGURA 5.35 Esquema da retirada de blocos

O efeito da retirada de um bloco se propaga na pirmide em virtude da imposio da estabilidade


estrutural. Para a retirada do bloco da base da pirmide marcado em negrito pelo esquema da figura,
necessrio remover outros 34 blocos. Se por um lado existe o interesse em substituir os blocos de maior
risco, por outro deve-se evitar remover um grande nmero de blocos, sob pena de desfigurar o monumento e de ocasionar novas fraturas. Dos 380 blocos originais, fixou-se em 80 o nmero mximo dos
que podero ser removidos.
Visando substituio dos blocos, formular o problema de determinar um movimento de blocos
que seja estvel e que maximize o somatrio dos riscos de ruptura de seus blocos componentes.

PROBLEMAS DE CONEXO:
RVORES, CAMINHOS
E EMPARELHAMENTO

6.1 INTRODUO
6.1.1 As Origens do Problema A Otimizao da Conexo
Em inmeras situaes, o problema de otimizao estar associado s alternativas de conexo entre facilidades, ou entre os clientes e suas facilidades. Os problemas de localizao caracterizam vrias situaes em
que existe a necessidade de se examinar a distribuio do atendimento. Uma outra espcie de situao exige o estudo mais aproximado das ligaes entre as demandas e seus pontos de atendimento. Nesse caso, a
nfase do modelo se desloca para a conexo ou a forma de acesso ou contato. Para esses tipos de problemas,
o tomador de deciso necessita ser capaz de exibir uma topologia adequada ao modelo, formas de organizar as configuraes desejveis dentro dessa topologia e critrios de escolha dessas configuraes. Nesse
tipo de problemas em que a tomada de deciso polarizada pela arquitetura de ligao, trs estruturas de
representao so extremamente importantes:
4

Caminhos

Quando o foco est em uma trajetria.


4

rvores

Quando o foco est na continuidade da conexo e no estabelecimento de uma espinha dorsal sobre um
conjunto de pontos demandantes.
4

Emparelhamentos (matching)

Quando o problema da conexo envolve pequenos grupamentos.


O critrio mais comum para esses tipos de problemas o de minimizao da estrutura conectora ou
do processo de ligao, da a importncia do caminho mais curto (a ligao mais barata entre dois pontos), das diversas rvores minimais (a estrutura de conexo global mais barata) e do 1-matching mnimo
(emparelhamento de pontos dois a dois a custo mnimo). Eventualmente, essas estruturas podem estar
associadas a objetivos de maximizao como o caminho mais longo e a rvore geradora mxima. Metodologicamente, existe uma forte ligao entre essas duas ltimas estruturas (ver Fredman e Willard
[1994]), o que torna seu estudo conjunto conveniente sob o aspecto algortmico.

230

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

6.2 O PROBLEMA DA CONEXO SIMPLES


O problema mais simples dessa classe exatamente aquele em que o objetivo simplesmente verificar
(problema de deciso) ou estabelecer (problema de localizao) a continuidade da ligao entre os elementos da estrutura em anlise ou projeto. Uma interpretao para essa chamada continuidade
pode ser, por exemplo, passar de um vrtice para outro em um grafo atravs de uma aresta ou arco. A
Figura 6.1 mostra duas formas de conexo em um grafo. Lembrando que as arestas significam a possibilidade de ligao em ambos os sentidos, na Figura 6.1 (a) vemos que os vrtices 3 e 1 se ligam apenas
ao n 2. Na Figura 6.1 (b), 3 pode se ligar diretamente a 1.
3

(a)

(b)

FIGURA 6.1 Formas de conexo.

evidente que a intensidade da possibilidade de ligaes um fator importante. Denominaremos


essa caracterstica de conexidade. Ela pode variar desde o estado dito desconexo, at o chamado fortemente conexo. Os grafos desconexos possuem um ou mais vrtices que no se ligam a qualquer outro.
Nos grafos fortemente conexos, de qualquer vrtice de G possvel alcanar a todos os outros atravs
de um passeio legal sobre suas arestas ou arcos. Os grafos no direcionados conexos so, consequentemente, fortemente conexos. Mesmo que o grafo seja desconexo extremamente provvel que possua
subgrafos conexos. Cada subgrafo conexo de G chamado de componente conexa. Para a conexidade, de uma forma geral, o fato de um grafo ser ou no direcionado pode significar importante distino. Por essa razo, denominaremos os grafos direcionados por G = (V, E), onde V representa o
conjunto de n vrtices e E o conjunto de m arcos.
A verificao da desconexidade de um grafo um problema trivial e pode ser solucionada pelo simples exame das estruturas de representao de G. De um modo geral, podemos dizer que o desenho de
bons algoritmos para a determinao de elementos associados conexidade em grafos est associado ao
domnio de boas tcnicas de busca em grafos. Podemos descrever uma busca em um grafo no seguinte algoritmo geral:
Algoritmo Busca Geral em Grafos Conexos
INCIO
Ler os dados de G, {grafo direcionado ou no}
Escolher e marcar um vrtice xi inicial;
Enquanto existir xj N, j = 1, ..., n marcado e com uma aresta (xj, xk) no
explorada efetuar
Incio
Escolher o vrtice xj e explorar a aresta (xj, xk) {*condio varivel em
conformidade com o
tipo de busca *}
Se xk no marcado ento marcar xk
Fim
FIM

PROBLEMAS DE CONEXO: RVORES, CAMINHOS E EMPARELHAMENTO

231

O algoritmo busca geral descrito examina pelo menos duas vezes as arestas e os vrtices de G, possuindo, portanto, complexidade O (nm). medida que os critrios de escolha dos vrtices podem exigir um esforo computacional maior, a complexidade da busca tambm crescer. Uma busca denominada em profundidade se, para o critrio de seleo de vrtices, exigirmos que a escolha seja feita sobre o
mais recentemente alcanado na busca e incidente em alguma aresta no marcada.
A seguir descrevemos um algoritmo clssico para a determinao das componentes fortemente conexas em um grafo G.

Algoritmo de Roy (Componentes Fortemente Conexas de G)


INCIO
Ler os dados de G = (V, E) {direcionado}
i0
Enquanto V efetuar
Incio
Escolher e marcar um vrtice qualquer xi, xi V, com (+) e ();
Marcar com (+) todo vrtice no marcado com (+) e
que tenha como sucessor um vrtice (+)
Marcar com () todo vrtice no marcado com () e
que tenha como antecessor um vrtice ()
Se todos os vrtices j no podem ter suas marcas
alteradas ento
Incio
ii+1
Si os vrtices que esto marcados com
(+) e () simultaneamente
V V \ {Si}
Fim
Fim
FIM

Vamos aplicar o algoritmo de Roy para a determinao das componentes fortemente conexas do
grafo G = (V, E) da Figura 6.2.
7

FIGURA 6.2 Grafo exemplo para determinao de componentes conexas.

232

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

Decidindo sempre escolher o vrtice de menor ndice para dar sequncia busca, o desenvolvimento
da rotulao gerada pelo algoritmo pode ser acompanhado na Figura 6.3. O algoritmo pode ser utilizado
em grafos direcionados ou no.
+

+ 1

3
+

Rotulao () do vrtice 1

Rotulao (+) do vrtice 1

+ 7

+ 1

3
+

S1:={1,2,3,7}
+
5

4
+

Rotulao (+) do vrtice 4

+
8

+
6

4
+

Rotulao () do vrtice 4
+
5

+
8

+
6

4
+

S2:={4,5,6,8}

FIGURA 6.3 Soluo via algoritmo de Roy.

6.3 O PROBLEMA DO CAMINHO MAIS CURTO (PCMC)


Sendo u e v dois vrtices do grafo G = (N, A), o caminho mais curto entre u e v uma sequncia de arestas
que, passando por vrtices distintos, liga u a v de forma a acumular o menor comprimento, ou distncia. Para que possa haver um caminho mais curto entre os vrtices u e v indispensvel que exista pri-

PROBLEMAS DE CONEXO: RVORES, CAMINHOS E EMPARELHAMENTO

233

meiramente uma conexo entre u e v, ou seja, se existe um caminho de u para v, significa que v um sucessor de u em algum passeio legal sobre o conjunto N. O problema do caminho mais curto est contextualizado dentro do problema maior de percursos em grafos, que envolve:

Caminhos mais curtos.


Caminhos mais longos.
Percursos Hamiltonianos e Eulerianos.
O problema de caminho mais curto est intimamente relacionado soluo de vrios problemas
combinatrios como os de roteamento, programao e sequenciamento de tarefas etc.
O problema de percursos ou de passeios um dos mais conhecidos e antigos na pesquisa operacional e sua soluo foi sugerida at mesmo em lendas mitolgicas da Grcia antiga. O problema mais elementar na otimizao de percursos o chamado problema do labirinto, em que o objetivo apenas no
repetir trajetos j realizados. Nessa linha de raciocnio, encontramos o chamado algoritmo de Trmaux
(ver Boaventura [1996]). A caracterstica desse algoritmo que a estrutura do grafo (labirinto) no precisa ser conhecida e, na medida da prpria leitura dos dados, o exame pode ser realizado. Algoritmos
nessa linha de soluo so hoje bastante desejveis, na medida em que a robtica exige cada vez mais
bons algoritmos para a navegao (Bar-Eli et al. [1994] e Papadrimitriou e Yannakakis [1989]) em contextos com vrios elementos de incerteza. Como a soluo encontrada por Teseu na lenda do Minotauro, o algoritmo de Trmaux marca cada aresta percorrida pela busca para evitar que o expedicionrio
se perca no trajeto. Os algoritmos de caminho mais curto, contudo, dispondo de todas as informaes
possveis sobre o grafo, objetivam minimizar os esforos de busca.

6.3.1 Formulao
Podemos formular o problema do caminho mais curto como um problema de programao matemtica da seguinte forma:
(CMC) Minimizar z =

cij x ij
( i , j )A

sujeito a:

1 se i = o
se i o e i d
+1 se i = d

x ij x ki = 0

( i , j )A

( k ,i )A

xij {0, 1}

(i, j) A

Onde os vrtices o e d representam os vrtices de incio e trmino do caminho. interessante observar que, para essa formulao, a matriz de incidncia totalmente unimodular, o que permite, caso utilizemos a regra de Cramer para obter a soluo desse sistema, que a exigncia de integralidade seja relaxada sem qualquer prejuzo para a soluo inteira.

6.3.2 Problemas Correlatos e Aplicaes


O problema do caminho mais curto est associado a um enorme nmero de outros problemas na rea
de roteamento, manufatura, fluxo em redes etc. Destacaremos dois modelos mais recentes.
4

Caminho mais Curto com Janelas de Tempo (PCMC-JT)

Trata-se da verso do caminho mais curto restrita em um intervalo de chegada aos ns, semelhante
aos problemas de roteamento com janela de tempo. Desrochers e Saumis (1988) estudam a adaptao
dos algoritmos de rotulao para esse caso.

234

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

ELSEVIER

Caminho mais Curto em Grafos Estocsticos (PCMC-GE)

Nesse caso existem algumas linhas de trabalho que incluem:

Falha nos vrtices (Jaillet [1992]).


Custos estocsticos (Loui [1983]).
Ligaes estocsticas (Psaraftis e Tsitsiklis [1993]).
As estratgias de abordagens para a soluo definem o caminho timo sob incerteza como:

Aquele que no excede o comprimento do caminho em valores prefixados (Henig [1990]).


Aquele que mais provavelmente vai se aproximar do caminho mais curto (Sigal et al. [1980]).
Aquele que a priori minimiza a distncia esperada (Jaillet [1992]).
Murthy e Sarkar (1997) sugerem trs algoritmos exatos para o PCMC-GE na linha da maximizao
da utilidade esperada.

6.3.3 Algoritmos de Soluo


Existem vrias abordagens possveis para a soluo do PCMC. Na rea de programao matemtica
encontramos a possibilidade de:

Algoritmos com especializao do simplex.


Algoritmos de fluxo.
Entretanto, os mais eficientes algoritmos hoje esto disponveis atravs da abordagem em grafos.
Nessa linha, dentre vrias, duas grandes vertentes so dominantes (Frederickson [1987] e Chen [1990]):

Algoritmos de ajustes sucessivos.


Algoritmos por induo e ajuste.
Em relao ao problema em si, trs situaes so distintas:

O caminho mais curto entre um par de ns.


O caminho mais curto entre todos os ns do grafo.
O caminho mais curto entre um n origem e vrios ns destino.
4

Algoritmo de Dijkstra

Em 1959 Dijkstra sugeriu um algoritmo de rotulao para caminhos em grafos com arcos positivos, utilizando induo e ajuste, eficiente e de fcil implementao computacional. Chamando de:
Lista F (lista dos ns fechados) o conjunto dos vrtices para o qual j se conhece um caminho mnimo.
Lista A (lista dos ns abertos) o conjunto dos ns para o qual ainda no se conhece um caminho mnimo.
t contador de iteraes.

PROBLEMAS DE CONEXO: RVORES, CAMINHOS E EMPARELHAMENTO

235

V representando o conjunto dos ns rotulados e abertos em G.


r ndice do vrtice a ser fechado na iterao t.
C = [cij] matriz de custos representando as distncias entre vrtices ligados diretamente.
dij a distncia entre os vrtices xi e xj .
d ijt a distncia calculada entre os vrtices xi e xj na iterao t.
rot(i) vetor que guarda o vrtice que deu origem distncia calculada para o vrtice de ndice i.
+ ( r) conjunto de vizinhos do vrtice de ndice r.
Podemos descrever o algoritmo como o quadro a seguir resume:

Algoritmo Dijkstra (Caminho mais Curto)


INCIO
Ler os dados de G = (N, A), onde dij a distncia entre os ns vizinhos de G
Inicializar variveis d11 0; {d1i "i N\{x1}}; V {x1}; A {N}; F ;
{rot(i) 0, "i N}
Para t = 1 a n fazer
Incio
r xi tal que d1i min { d 1i }
xi A
F F {r};
A A\{r};
V A G+ (r)
Para i V fazer
Incio
p min { d t1i 1 , ( d 1r + d ri )}
Se p < d t1i 1 , ento
Incio
d t1i p;
rot(i) r
Fim
Fim
Fim
FIM

A Figura 6.4 mostra a sequncia de rotulao e fechamento dos ns do algoritmo de Dijkstra


quando aplicado no grafo da Figura 6.4 (a). O rtulo que est colocado na proximidade de cada vrtice em sua primeira posio guarda a origem da rotulao. A segunda posio anota o valor do caminho acumulado at o vrtice. A cada iterao o n examinado que acumula a menor distncia fechado. O foco de exame da busca sempre deslocado para o ltimo n fechado (na figura simbolizado
pelo asterisco). A partir de um n fechado, os vizinhos (G+(r)) so examinados. O exame atualiza

236

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

obrigatoriamente a marcao que (rot(i)) atribuda inicialmente a todos os ns com exceo do n


1 e, eventualmente, quando uma distncia menor encontrada. Um exemplo dessa atualizao por
uma distncia menor ocorre na Figura 6.4 (c) quando a distncia do vrtice 4 passa de 5 para 4.
A complexidade do algoritmo de Dijkstra O (n2). Esse algoritmo no capaz de encontrar caminhos mais curtos em presena de arcos negativos, uma vez que a cada iterao, o vrtice examinado
com menor distncia acumulada fechado. O algoritmo calcula as menores distncias de um vrtice
inicial a todos os outros.

1
r=2

2
2

*
0

r=1

4 r=4 1

*
2

7
7

4
4

(d) 3 Fechamento de N (4) t = 3

4
3

(e) 4 Fechamento de N (3) t = 4

*
1

7 r=7

4
4

6 11

6
6

4
4

2
2

1
3

6 r=6

5
1

*
4

2
2

r=3

(c) 2 Fechamento de N (2) t = 2

2
2

1
3

*
0

4
4

(b) 1 Fechamento de N (1) t = 1

(a) Grafo Inicial


*

5
7

1
3

(f) 5 Fechamento de N (6) t = 5

FIGURA 6.4 Exemplo da evoluo do algoritmo de Dijkstra.


4

Algoritmo de Ford-Moore-Bellman

O algoritmo de Ford-Moore-Bellman, assim denominado em homenagem ao trabalho simultneo desses pequisadores (ver Bellman [1958]), mas publicado em pocas diferentes, abre mo do fechamento
de um n a cada iterao, e examina todos os ns at que no seja mais possvel melhorias, podendo,
com isso, aceitar arestas negativas. O critrio de parada est associado no modificao de todos os
rtulos em uma iterao. A ideia bsica da iterao de que, se um caminho de um vrtice s para um j
contm k arestas, um caminho melhor de s para j conter, no mximo, k + 1 arestas.
Denominado de:
l (s, j) comprimento de um caminho entre s e j.
ls comprimento do caminho associado ao n s.
l kj comprimento do menor caminho Psjk usando no mximo k arcos, em que Psjk A. O algoritmo pode
ser assim descrito:

PROBLEMAS DE CONEXO: RVORES, CAMINHOS E EMPARELHAMENTO

237

Algoritmo Ford-Moore-Bellman
INCIO
Ler os dados de G = (N, A), onde l (i, j) o comprimento da aresta (i-j) para
quaisquer que sejam i, j vizinhos em G e S o n inicial da busca.
Inicializar variveis k 1; {ls l so 0} {lj 0, j = 1, ..., n 1}; {l s1 l (s, j) j = 1, ...,
n1}; {l(i, j) se (i, j) A};
Enquanto l kj 1 l kj , "j N fazer
Incio

min l kj , min l ik + l(i , j) i j , s ; j = 1, ..., n 1


l k+1
j

k k+1
Fim
FIM
Vamos aplicar o algoritmo no exemplo da Figura 6.5 para encontrar o caminho entre os vrtices S e 5.
Inicializao:
1

1
1

5
2

3
2

FIGURA 6.5 Grafo exemplo para o algoritmo de Ford-Moore-Bellman.

l 11 = 1; l 21 = 3
k=1
l 12 = min {l 11 , } = 1
l 22 = min {l 21 ; l 11 + l (1, 2) } = 2 (melhorou)
l 32 = min {l 31 ; l 11 + l (1, 3); l 21 + l (2, 3) } = 4 (melhorou)
l 42 = min {l 41 ; l 11 + l (1, 4); l 31 + l (3, 4) } = 3 (melhorou)
l 52 = min {l 51 ; l 41 + l (4, 5); l 31 + ( l (3, 5) } =
k=2
l 13 = 1
l 23 = min {l 22 ; l 12 + l (1, 2) } = 2
l 33 = min {l 32 ; l 12 + l (1, 3); l 22 + l (2, 3) } = 4
l 43 = min {l 42 ; l 12 + l (1, 4); l 32 + l (3, 4) } = 1 (melhorou)
l 53 = min {l 52 ; l 42 + l (4, 5); l 32 + l (3, 5) } = 6 (melhorou)
k=3

238

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

l 14 = 1
l 24 = min {l 23 ; l 13 + l (1, 2) = 2
l 34 = min {l 33 ; l 13 + l (1, 3); l 23 + l (2, 3) } = 4
l 44 = min {l 43 ; l 13 + l (1, 4); l 33 + l (3, 4) } = 1
l 54 = min {l 53 ; l 43 + l (4, 5); l 33 + l (3, 5) } = 4 (melhorou)
k=4
No haver mais melhoria, e o algoritmo chega ao fim.
O caminho mais curto pode ser recuperado a partir do n 5, da seguinte forma: na linha que se calculou o caminho mais curto para 5 a parcela determinante foi l 43 + l (4, 5)= 4, tornando claro que o vrtice antecessor a 5 pelo caminho mais curto 4 [veio atravs de l(4, 5)]. No clculo da distncia at 4 a parcela determinante l 43 = 1, o que determina que o vrtice 3 o antecedente do vrtice 4 uma vez que l 43
obtido da expresso l 32 + l (3, 4) [atravs de l(3, 4)], e assim por diante. O algoritmo calcula a menor distncia entre todos os pares de vrtices de um grupo G. A Tabela 6.1 resume alguns dos mais conhecidos
algoritmos para o caminho mais curto.
T A B E LA 6. 1 A LG O R I TMO S EX AT O S DE SOL U O P A RA O C A M I NH O M A I S C U RT O

Ano

Autores

Descrio

Complexidade

1959

Dijkstra

Seleciona o n de menor potencial

O(n2)

1956

Ford-Moore-Bellman

Tcnica de rotulao FIFO

O(mn)

1962

Ford-Fulkerson

Tcnica de rotulao FIFO

O(mn)

1962

Floyd-Warshall

Tcnica da operao trplice

O(n3)

1967

Hu

Algoritmo matricial

O(mn)

1969

Dijkstra por Dial

Buckets e FIFO

1974

Pape e Levit

Incremental sobre um conjunto restrito de


ns

Q(n2n)

1984

Pallottino

Incremental sobre um conjunto restrito de


ns

O(n2m)

1984

Glover & Glover


Klingman

Combinao das abordagens Dijkstra e F-M-B

O(mn)

1988

Klein e Reif

Algoritmos paralelos

1993

Goldberg-Radzik

Manipulao de conjuntos de rotulao

1993

Cohen

Algoritmos paralelos

O(log4n)

1996

Trff e Zaroliagis

Algoritmos paralelos

O((n2e+n1e) logn)**

O(m + Cn)

O(n2/3log7/3n (logn+logD))*
O(nm)

* D a soma dos pesos das arestas


** 0< e<1/2

6.4 RVORE GERADORA MNIMA (AGM)


Uma rvore um grafo conexo e acclico. Uma rvore de um grafo G um subgrafo de G = (N, A) conexo e acclico. Uma rvore geradora de G uma rvore que contm todos os ns do grafo. Uma rvore geradora mnima uma rvore geradora cuja soma do comprimento de suas arestas minimal em G. A

PROBLEMAS DE CONEXO: RVORES, CAMINHOS E EMPARELHAMENTO

239

importncia dessa estrutura enorme tanto na prtica dos problemas de otimizao, como parte da soluo de vrios outros modelos. Suas maiores aplicaes na pesquisa operacional esto associadas aos
problemas de comunicao e conexes. Na computao, existem vrias aplicaes na rea de estrutura
de dados. Uma resenha dos mais recentes resultados alcanados na determinao da AGM pode ser
obtida em Bazzlamaci e Hindi (2001).

6.4.1 Problemas Correlatos e Aplicaes


As conexes em rvores ainda comportam dois modelos de otimizao alm da AGM, a saber:
4

rvore Min-Max

Nesse problema tambm chamado de otimizao de gargalo o objetivo determinar a rvore que
possua a menor aresta mxima. O grafo da Figura 6.6 apresenta um gargalo igual a 3, uma vez que as
menores arestas que incidem sobre os vrtices 7 e 8 possuem esse valor. A rvore min-max uma relaxao da AGM, uma vez que toda AGM min-max (devido estrutura matroide), contudo a recproca
no verdadeira.
8

3
2

3
1

5
4

2
3

FIGURA 6.6 Exemplo de rvore geradora MinMax.

rvore Min-Max-Min-Sum (M3S)

O problema MinMax-Min-Sum ser abordado no Captulo 10. Dentre os problemas de otimizao


combinatria, dois dos mais conhecidos, dado o nmero de aplicaes que possuem, so: os problemas
de bottleneck ou gargalo, em que o objetivo minimizar o custo mximo, dentre todas as variveis que
compem a soluo, e os problemas de custo linear, nos quais o objetivo minimizar a soma dos custos
dessas variveis. O (M3S) uma composio desses dois problemas, em que a funo objetivo a ser minimizada a soma algbrica das funes objetivo dos problemas mencionados.
Dados p elementos de um conjunto E = {e1, e2, ..., ep } e F P(E), onde P(E) o conjunto potncia de
E, uma famlia finita de subconjuntos de E perfeitamente definidos. As instncias do conjunto F, ou famlias de E, podero ser, por exemplo, as subrvores de um grafo, os caminhos entre dois vrtices de
um grafo ou conjuntos de arestas de um matching mximo.
A cada elemento ei, i = 1, 2, ..., p, so associados dois nmeros reais, um representado o custo Ci e
outro o peso Pi.
Sendo S F, onde F o conjunto das solues viveis de um certo problema, define-se a funo:
Z(S) = Max{Pi } +
ei S

Ci

ei S

O problema (M3S) da forma:


Min Z(S)
SF

Dado um grafo no direcionado G = (N, A), onde N = n, e A = m, considerando uma rvore Tk = {uj},
j = 1, ..., n 1, e T o conjunto de todas as rvores de G, podemos definir a AG-M3S como:

240

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

Z(tk) = Max {Pi}+


ui t k

Ci

ui t k

Min { Z(t k )}
t k T

Ou ainda como (M S-MS)

Min Pk + Min Ci
1kp

SF k eS

de modo que solucionar o M3S-MS pode ser equivalente a solucionar uma sequncia de p subproblemas Min_Sum. O algoritmo de Minoux (1989) fundamenta-se exatamente nesse fato.
4

Aplicaes do Problema M3S-MS

O modelo M3S-MS pode representar uma srie de situaes em que existem dois critrios de valor associados s variveis de deciso. Alguns autores denominam esses tipos de problemas de com ligaes
balanceadas. O modelo dito balanceado possui vrias aplicaes (Duin e Volgenant [1991]) prticas que
abrangem:

Roteamento de meios terrestres na defesa de costa (Moreira [1995]).


Projeto de redes de comunicaes (Punnen e Nair [1996]).
Roteamento de veculos com funo multiobjetivo (pedgio, condies de risco etc.).
4

rvore Geradora Mnima de Grau Restrito (AGM-GR)

A rvore Geradora Mnima de Grau Restrito (AGM-GR) uma rvore geradora mnima cujos vrtices
possuem um determinado grau k, onde k>2. Papadimitriou (1978) demonstrou que AGM-GR
NP-Completo. O trabalho de Narula e Ho (1980) apresenta um estudo pioneiro em algoritmos de soluo para o problema. Vrias abordagens de soluo so possveis, tais como Savelsbergh e Volgenant
(1985) Combinao de arestas, Fekete et al. (1997) tcnicas de fluxo em rede, Zhou e Gen (1997) e
Rothlauf e Goldberg (1999) Algoritmos genticos, Raidl (2000) computao evolucionria.
4

rvore Geradora Mnima Capacitada

No problema da rvore Geradora Mnima Capacitada (AGM-C) uma central serve a um conjunto de
vrtices N, N = {1,...n}, de um determinada rede R(N,A,F), onde A representa o conjunto dos arcos de ligao A = {1,...,m} e F o fluxo que percorre cada arco de R. Cada vrtice cliente i est associado a uma demanda de fluxo dj>0. O fluxo deve se originar na central e chegar a cada cliente i. Entre cada par de ns
i-j uma ligao pode ser estabelecida com o custo Cij > 0 e segundo uma capacidade mxima mij > 0. O
problema objetiva determinar a mais econmica que atenda a demanda exigida. Papadimitriou (1978)
demonstrou que AGM-C NP-Completo. Recentemente destacam-se os trabalhos de Domschke e Vo
(1996) busca local, Krishnamoorthy et al. (1996) vrias heursticas, Deo e Kumar (1998) algoritmos
paralelos, Patterson (1999) memria adaptativa, Raidl e Drexel (2000) computao evolucionria,
Ribeiro e Souza (2002) Busca em vizinhana varivel, Mao e Lang (2002), algoritmos paralelos e Fukasawa et al (2003) branch-and-cut-and-price.
4

rvore Geradora Mnima Robusta

Este problema corresponde a um modelo de otimizao com incerteza. No problema da rvore Geradora Mnima Robusta (AGM-R) os custos dos arcos se encontram dentro de intervalos, em vez de serem nmeros fixos e conhecidos. No caso da AGM-R deseja-se encontrar uma rvore geradora que minimize o mximo desvio padro seu custo em relao a uma rvore geradora mnima que leve em conta todas as possibilidades de custos. No tema destacam-se os seguintes trabalhos: Andrade et al. (1999),
Yaman et al. (2001), Aron e Van Hentenryck (2003), Montemanni e Gambardella.

PROBLEMAS DE CONEXO: RVORES, CAMINHOS E EMPARELHAMENTO

241

rvore Geradora de Mximo Nmero de Folhas

rvore geradora que maximiza o nmero de folhas. O trabalho de Galbiati et al. (1994) demonstra que
o problema proposto presentemente APX-Completo. Lu e Ravi (1992) apresentam algoritmos heursticos para sua soluo, e Fujie (2003) descreve um algoritmo exato para o problema.

6.4.2 Algoritmos de Soluo


Como uma AGM atende aos requisitos para ser definida dentro dos matroides (ver conceito no anexo)
temos a expectativa de solucion-la de forma bastante eficiente e, inclusive, atravs de algoritmos gulosos. Tarjan (1981) apresenta um mtodo geral que inclui todos os mtodos baseados em abordagens
mopes. Nesse sentido, existem trs algoritmos clssicos que permitem uma rpida e eficiente soluo
para a AGM, sendo eles os algoritmos de Kruskal (1956), de Prim (1957) e de Borvka (Wai-Kai Chen,
1990). O algoritmo de Kruskal e o de Prim podem ser considerados dois casos particulares da abordagem gulosa. No caso de Prim a rvore geradora construda a partir de uma aresta pelo acrscimo de
novas arestas, aumentando-se a arborescncia inicial at que todos os ns sejam includos. No caso de
Kruskal podem ser desenvolvidas vrias arborescncias simultneas at que uma s rvore inclua todos os ns. Em qualquer hiptese, o critrio de incluso de arestas nas arborescncias guloso. Descreveremos os dois algoritmos citados e uma variao para o Prim nos prximos itens.
4

Algoritmo Prim

Considerando os conjuntos S, T e V, onde S A, T N, V N, podemos escrever o algoritmo Prim da


seguinte forma:

Algoritmo Prim (rvore Geradora Mnima)


INCIO
Ler G = (N, A) e D = [dij] a matriz distncia entre os ns vizinhos de G.
Escolha qualquer vrtice i N
T {i}
V N\{i}
Enquanto T N Para todo j T, Faa:
Incio
Encontrar a menor aresta (j, k) A tal que j T, k V
T T {k}
V V\{k}
S S (j, k)
Fim
Escrever S {arestas da rvore geradora mnima}
FIM
A verso do algoritmo Prim exibida O(n3), uma vez que o comando de encontrar a menor aresta
(j, k) A exige at O(m) operaes e m O(n2). Tomando um cuidado especial para no obrigar o algoritmo a computar todas as arestas incidentes sobre a rvore que vai sendo expandida, possvel
baixar a complexidade de Prim. Chamaremos a esse algoritmo refinado de Prim_Colorido, sendo
formalizado no quadro de mesmo ttulo. Vamos aplicar as duas verses do algoritmo Prim no grafo
da Figura 6.7. O algoritmo Prim_Colorido O(n2).
Denominando de:

242

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

1
1

6
2

3
3

FIGURA 6.7 Grafo exemplo para as verses Prim.

Ts uma rvore em G.
l (i, j) a aresta de mnimo comprimento incidente sobre o vrtice j, i, j Ts.
Podemos escrever Prim_Colorido da seguinte forma:

Algoritmo Prim_Colorido (rvore Geradora Mnima)


INCIO
Ler G = (N, A) e D = [dij] a matriz distncia entre os ns vizinhos de G.
escolha qualquer vrtice j N;
i 0;
Ti {j}
Colorir com verde a menor aresta incidente a cada vrtice j extremo de T0
Enquanto i < n 1 Fazer
Incio
Selecionar a menor aresta verde (j, k) A, j Ti e colori-la
de azul
Faa Ti+1 Ti (j, k)
Para cada aresta (k, z), z Ti+1, k Ti+1
Incio
Se no existe aresta verde incidente em z, colorir (k, z)
com verde
Caso Contrrio
Incio
Se existe aresta (w, z), w Ti+1, tal que l(w, z) > l(k, z) colorir
com vermelho (w, z) e verde (k, z)
Caso Contrrio no faa nada;
Fim
Fim
ii+1
Fim
Escrever Ti {arestas da rvore geradora mnima}
FIM

Escolhendo-se o vrtice 1 para iniciar a rvore, a Figura 6.8 mostra, da esquerda para direita e de
cima para baixo, a sequncia de incluso de arestas que gerada pela verso clssica do Prim.
A Figura 6.9 mostra as escolhas e marcaes do algoritmo Prim_Colorido (V representa arestas verdes, as arestas ressaltadas so as que o algoritmo denomina por azuis, e as que aparecem marcadas com
um X, representam as vermelhas) no caso da inicializao ser realizada com o n nmero 1.

PROBLEMAS DE CONEXO: RVORES, CAMINHOS E EMPARELHAMENTO

1
1

2 Incluso de aresta

6
2

3 Incluso de aresta

4 Incluso de aresta
2

1
1

6
2

1 Incluso de aresta

6
2

6
2

ltima incluso de arestas

FIGURA 6.8 Exemplo da evoluo do algoritmo de Prim.


4

Algoritmo Kruskal

O segundo algoritmo clssico para a AGM o de Kruskal, que pode ser formalizado como:

Algoritmo Kruskal (rvore Geradora Mnima)


INCIO
Ler G = (N, A) e D = [dij ] a matriz distncia entre os ns vizinhos de G.
Ordene as arestas de G (conjunto A) em ordem no crescente das
distncias dij no vetor H = [hi], i = 1, 2, ..., m
T h1
i2
Enquanto |T| < n Tome hi H e Faa
Incio
Se T hi um grafo acclico (rvore) ento
Incio
T T hi
ii+1
Fim
Caso Contrrio
i i + 1
Fim
Escrever T {arestas da rvore geradora mnima}
FIM

243

244

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

1
1

V
3

X
2

2 V

2 V

Dentre as arestas verdes, a menor (5, 4)


colorida de azul e includa na soluo

6
2 V

z = 4 aresta (2, 4) colorida de vermelho


z = 4 aresta (5, 4) colorida de verde

vrtice 5 escolhido para ser examinado


z = 6 aresta (5, 6) colorida de verde

Dentre as arestas verdes alguma


menor, (3, 5) por exemplo, colorida
de azul (e includa na soluo)

3
3

vrtice 3 escolhido para ser examinado


z = 5 aresta (2, 5) colorida de vermelho (X)
z = 5 aresta (3, 5) colorida de verde
2

6
2

z = 3 aresta (2, 3) colorida de azul


por ser a menor aresta incidente em T2

2
1

vrtice 2 escolhido para ser examinado


z = 4 aresta (2, 4) colorida de verde
z = 5 aresta (2, 5) colorida de verde
z = 3 aresta (2, 3) colorida de verde
e a aresta (1,3) colorida de vermelho

Dentre as arestas verdes a menor


colorida de azul (e includa na soluo)

6
2

vrtice 1 escolhido para ser examinado


aresta (1, 2) colorida de verde

6
2

vrtice 4 escolhido para ser examinado


z = 6 aresta (4, 6) colorida de vermelho e
aresta (5, 6) colorida de azul

FIGURA 6.9 Exemplo da evoluo do algoritmo Prim_Colorido.

A sequncia de incluso de arestas do algoritmo de Kruskal o vetor H = {(4, 5); (1, 2); (2, 3); (2, 4);
(3, 5); (5, 6); (1, 3); (2, 5); (4, 6)}. A Figura 6.10 mostra a execuo do algoritmo.
A complexidade do procedimento de Kruskal dominada pela etapa de ordenao das arestas,
uma vez que a escolha das arestas ser realizada em O(m) preparaes, e a verificao da formao de
um ciclo pelo acrscimo de uma aresta em um grafo acclico tambm O(n). Esse procedimento, se as
arestas no possuem qualquer propriedade especfica, O(mlog n).

PROBLEMAS DE CONEXO: RVORES, CAMINHOS E EMPARELHAMENTO

245

Algoritmo de Borvka

Finalmente o algoritmo de Borvka abre uma outra linha de abordagem para o problema, desenvolvendo simultaneamente uma floresta minimal no grafo G. Chamando por Tj uma subrvore de G, e por
Fi uma floresta em G, podemos formalizar o algoritmo da seguinte forma:

Algoritmo Borvka (rvora Geradora Mnima)


INCIO
Ler G = (N, A) e D = [dij] a matriz distncia entre os ns vizinhos de G.
F0 uma floresta inicial com n subrvores Tj, j = 1, .., n de G (todos os ns
isolados)
i 0
Enquanto Fi no for uma rvore Faa para cada Tj Fi
Incio
Determine a menor aresta (xa, ya) incidente em Tj onde
xa Tj e ya Tj

Faa Fi +1 Fi U (x , y )

ii+1
Fim
Escrever Fi {arestas da rvore geradora mnima}
FIM

3
1

1
3

2 Incluso de aresta

3
1

4 Incluso de aresta
2

6
2

6
2

3 Incluso de aresta

2
3

1
1

6
2

1 Incluso de aresta
2

2
3

ltima incluso

FIGURA 6.10 Exemplo da evoluo do algoritmo de Kruskal

246

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

1
1

6
2

1 Iterao

6
2

2 Incluso de aresta

FIGURA 6.11 Exemplo da evoluo do algoritmo de Borvka.

O algoritmo, da forma descrita anteriormente, s funciona corretamente se as arestas de G tiverem


custos distintos. Para evitar que possam ocorrer incluses indevidas por ocasio das unies das subrvores indispensvel ordenar lexicograficamente as arestas de G antes de aplicar o algoritmo. Nesse
caso a complexidade do procedimento ser O(nlogn).
Salehi-Fathabadi e Ahrabian (1995) sugerem um algoritmo que em certos casos pode funcionar em
O(m).
4

O Algoritmo de Minoux para o problema M3S

O algoritmo de Minoux (1989) consiste basicamente em buscar balancear os subproblemas MinMax e


Min-Sum denotado respectivamente por:
(MM)

MinMax{Pi }
SF e i S

(MS)

Min C i
SF
e i S

Minoux observa que, para qualquer S F, existem p valores distintos para Max{ Pi } , e que para
ei S

cada Pi existe associada uma soluo Min_Sum. O algoritmo polinomial proposto por Minoux fundamenta-se nos seguintes pontos:

Existe um algoritmo eficiente que resolve o problema Min_Sum.


Max{Pi } para qualquer S F pode assumir no mximo p = |E| valores distintos.
ei S

Existe um limiar (thereshold) P que supostamente est associado soluo tima de Max{Pi }.
ei S

A estratgia geral do algoritmo de Minoux examinar as p solues timas do Min_Sum associadas aos valores de cada um dos valores de P = {P1, P2, ..., Pp}, Pi P. Nesse caso, a complexidade do algoritmo ser O(p (O(MS)), representando p vezes o exame das solues Min_Sum.
Goldbarg e Gouva (1997) sugerem algoritmos heursticos de bom desempenho para problemas
M3S-MS de grande porte, um deles, denominado Busca, est transcrito no quadro respectivo. Considerando Clr = {ui ... uj ... ui } um ciclo r em G, temos:

PROBLEMAS DE CONEXO: RVORES, CAMINHOS E EMPARELHAMENTO

247

Algoritmo M3S Busca


INCIO
Ler os dados de G = (N, A), onde de o custo da aresta e A, e Pe o seu peso.
Procedimento Busca (ui)
Marcar o vrtice ui
Enquanto houver aresta (ui, uj) no examinada faa
Seja e a aresta (ui, uj)
Se uj no marcado ento
Se Pe > Pcor, ento
Pcor Pe
Z Z Pe + Pcor + de
Caso Contrrio
Se Pe = Pcor ento Z Z + de
Caso Contrrio Ciclo (ui, uj)
Procedimento Ciclo (ui, uj)
Para toda aresta e Clr, calcule a contribuio de e em Z
Retire de Clr a aresta de maior contribuio calculada.
Em caso de empate escolha a aresta de maior peso.
Se Pe = Pcor
Se e a nica aresta que possui o limite mximo na
rvore ento
Encontrar o novo limite mximo
T 0, Z 0;
FIM

O procedimento Ciclo (ui, uj) retira do ciclo formado em O(n) a aresta de maior contribuio dentro do
ciclo. Caso a aresta a ser retirada tenha peso igual ao peso corrente e seja a nica com essa propriedade,
um novo peso corrente dever ser encontrado. Esse passo de busca pode ser realizado em O(n) sem o auxlio de qualquer estrutura de dados especial. O procedimento Ciclo (ui, uj) ser chamado mn+1 vezes.
Portanto, o procedimento Busca (ui) ter complexidade O(mn).
Punnen e Nair (1996) apresentam um algoritmo O(mlogn) para o problema. A dificuldade do algoritmo a necessidade do uso de uma estrutura de dados especial para sua implementao.

6.5 O PROBLEMA DE EMPARELHAMENTO (PE)


Este problema est associado a vrios modelos de otimizao. Nos prximos captulos verificaremos
sua ligao com outros problemas em teoria dos grafos. No Captulo 7 mostraremos a possibilidade de
sua soluo atravs de algoritmos especializados na determinao de fluxos em redes. Nesse ponto,
vamos examinar sua relao com os problemas de conexo. De fato, um matching ou emparelhamento
nada mais que uma forma de reunio ou ligao entre dois elementos ou, no caso dos grafos, dois vrtices. O chamado 1-Matching, ou o problema de emparelhamento, em que a unio vlida realizada
apenas por uma aresta, extremamente til na determinao de grupamentos de afinidades e designaes de associaes.

248

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

6.5.1 Uma Viso Geral


A literatura que aborda a soluo do problema de emparelhamento rica. Alguns dos mais importantes trabalhos nessa rea esto resumidos na Tabela 6.2:
T A B E LA 6. 2 A LG O R I TMO S EX AT O S DE SOL U O P A RA O P E

Ano

Pesquisador

Algoritmos Exatos

1965

Edmonds

O(n4)

1973

Hopcroft e Karp

O(n2.5)

1974

Kameda e Munro

O(mn)

1975

Even e Kariv

O(n2.5)

1975

Even e Tarjan

O(n2.5) grafos bipartidos

1976

Gabow

O(n3)

1976

Bondy e Murty

O(n3)

1978

Mengido e Tamir

O(nlog n): certas classes de grafos

1980

Micali e Vazirani

O(mn1/2)

1982

Papadimitriou e Steiglitz

O(mn1/2) grafos bipartidos

1982

Papadimitriou e Steiglitz

O(n4) e O(n3)

1988

Derigs

O(mn1/2)

Apesar da existncia de algoritmos exatos em ordem polinomial para a soluo do problema,


algumas instncias podem possuir da ordem de 106 ou 107 pontos. Com um algoritmo semelhante
ao de Derigs seriam necessrias da ordem de 1016 operaes para uma soluo exata! Nesse caso,
justifica-se a busca de algoritmos aproximativos mais eficientes. As tcnicas usadas nessas heursticas so:

Curvas de Sierpinski e Hilbert (Bertholdi e Platzman [1982]).


Curvas de Hilbert (Iri et al. [1983]).
Enquadramento Espiral (Iri et al. [1983]).
A Tabela 6.3 resume alguns desses esforos:
T A B E LA 6. 3 A L GO R I TMO S HEUR STI CO S D E S O L U O P A RA O P E

Ano

Pequisador

Algoritmo Heurstico

1981

Iri et al.

O(n)

1982

Bertholdi e Platzman

O(nlog n)

1983

Avis

(vrios)

1983

Iri et al.

O(nlog n)

PROBLEMAS DE CONEXO: RVORES, CAMINHOS E EMPARELHAMENTO

249

6.5.2 Problemas Correlatos e Aplicaes


4

O Problema do Emparelhamento Estvel

Em relao ao emparelhamento o mais conhecido problema correlato o denominado stable matching


problema ou problema do emparelhamento estvel. Esse problema visa a determinar uma associao
entre agentes em que cada um possui uma lista de prioridades independente. A soluo desse problema consiste em obter um conjunto de associaes (emparelhamento ou casamento) tais que no exista um par de agentes unidos em que ambos prefeririam outros parceiros para a associao. Seja a lista
da Tabela 6.4
T A B E LA 6. 4 L I STA DE P R I O R I DADES DO E M P A RE L H A M E NT O E S T VE L

Pessoa

Lista de Preferncia

2 3 4 5 -6

34561

45612

56123

61234

1- 2 3 4 5

A associao 1-2; 3-4; 5-6; os indivduos 1, 3 e 5 esto associados a seu parceiro preferido, atendendo a definio de emparelhamentos estveis. A associao 3-6, por exemplo, no estvel.
Uma outra situao para o problema do emparelhamento estvel admitir compromisso. Entendemos como situao de compromisso uma exigncia estrita de um parceiro. Nesse caso, o emparelhamento estvel definido como aquele em que no existam dois indivduos que violem a exigncia de
compromisso em suas associaes.
Dentre os problemas dessa classe destacamos:
4

Problema do Casamento

Nesse caso, o problema associa H homens e M mulheres em um emparelhamento estvel, ou seja,


aquele em que cada um dos parceiros atende maior prioridade de seu cnjuge ou, no segundo caso,
que ambos so a maior prioridade do outro. Obviamente, para qualquer instncia do problema do casamento no estrito existe pelo menos um casamento estvel. Esse casamento pode ser obtido em
O(n2), onde n representa o nmero de homens ou de mulheres (pressuposto da possibilidade de soluo monogmica vivel). Gale e Shapley (1962) solucionam esse problema para o caso do nmero de
homens ser igual ao de mulheres. Knut (1976) analisa o problema e os algoritmos de soluo.
4

Problema da Escolha do Comparte

Este problema envolve um conjunto par de n elementos, cada um com uma lista de preferncias com
n 1 agentes. O emparelhamento estvel organiza o grupo em um conjunto de n/2 pares em que nunca
dois elementos j associados em duplas estranhas tenham mtua preferncia. Esse problema com exigncias restritas NP-Completo. A Tabela 6.5 mostra uma situao em que no possvel encontrar um
amigo para o indivduo 4. Seja a soluo 1-2 e 3-4. Nesse caso, 3 prefere 2 e 2 prefere 3 em relao a seus
prprios pares. Em todas as demais situaes, o mesmo acontecer impedindo a existncia de uma soluo estvel nessa instncia (exemplo em Ronn [1990]).

250

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

T A B E LA 6. 5 LI ST A DE PR I O R I DADES P AR A A E S C O L H A D O C O M P A RT E

Pessoa

Lista de Preferncia

234

314

124

qualquer um

Problema de Alocao Interna

Trata-se de uma verso generalizada do problema do casamento, ou seja, uma verso poligmica em
que os indivduos podem ser associados a mais de um outro indivduo. Um caso prtico de aplicao
dessa forma de distribuio ocorre na distribuio de mdicos internos em vrios hospitais. Cada hospital possui um certa quantidade de posies a serem preenchidas com certa prioridade associada. Por
outro lado, os mdicos possuem preferncias e prioridades em relao aos hospitais.
Uma alocao considerada no estvel nesse caso quando:
1. O mdico ou o hospital preferem no ser alocados a participarem de uma associao.
2. Tanto o hospital como o mdico possuem uma outra pretenso com maior prioridade.
Roth (1984) define essa aplicao e apresenta um algoritmo de soluo para o problema.
4

Problema de Alocao Interna com Casais

O problema anteriormente descrito sofre uma transformao profunda se for permitido que os mdicos possam se juntar em duplas e unir suas listas de pretenses. Esse caso corresponder possibilidade de os mdicos internos serem casados e desejarem ser alocados em regies geograficamente prximas. Esse problema NP-rduo (Ronn ([1990])).
4

Problema do Emparelhamento com Gargalo

Trata-se da verso MinMax do emparelhamento. O interessante nesse caso do emparelhamento


a existncia de um algoritmo bastante eficiente e de fcil implementao com complexidade
O ((n log n) 1/2 m) (Gabow e Tarjan [1988]).

6.5.3 Abordagens de Soluo


Existem algumas abordagens clssicas de soluo para esse problema, a saber:

Abordagem de Edmonds Soluo Construtiva Baseada em Enumerao

de Caminhos
Essa abordagem est associada ao desenvolvimento de caminhos dentro do grafo que permitam
aumentar o nmero de emparelhamentos obtidos. Na linha dos algoritmos de Edmonds alguns conceitos so fundamentais:
4

Caminho Alternante

Se desenvolvermos um caminho qualquer iniciado no vrtice 1 podemos construir um emparelhamento entre os vrtices do caminho os juntando dois a dois. Para isso, podemos imaginar um processo de rotulao sobre os ns, alternado rtulos (+ e , por exemplo). Um emparelhamento vlido
unir vrtices de sinais contrrios. Ao caminho de i para j assim rotulado, denominamos caminho
alternante. A Figura 6.12 mostra o processo de emparelhamento utilizando um caminho qualquer
em G.

PROBLEMAS DE CONEXO: RVORES, CAMINHOS E EMPARELHAMENTO

10

10

Um caminho a partir do vrtice 1

Grafo G
+

10

251

10

Um emparelhamento associado

Uma rotulao alternada no caminho

FIGURA 6.12 Um emparelhamento a partir de um caminho em G.

Em um grafo G, no qual estamos considerando um emparelhamento de vrtices M A, um caminho dito M-alternante se suas arestas pertencem alternadamente a M e a A\M. No caso da Figura
6.12, M = {(1, 2);(3, 9);(7, 10)}.
4

Caminho Aumentante

Se no exame de um grafo que j foi atribudo um emparelhamento (no timo no mximo), se obtivermos um caminho que ligue dois ns desemparelhados (no saturados de sinais contrrios), ento
poderemos aumentar o nmero de emparelhamentos associados ao caminho alternante apenas pelo
deslocamento do esquema de emparelhamento (de positivo para negativo ou vice-versa).
A Figura 6.13 exemplifica um caminho aumentante e mostra o seu efeito no crescimento do nmero de ns emparelhados em G.

10

Caminho aumentante

10

Novo emparelhamento

FIGURA 6.13 Caminho Aumentante.

Imediatamente podemos retirar das estruturas anteriormente definidas uma condio necessria
e suficiente para que um emparelhamento M seja maximal: um emparelhamento M em G maximal
se e somente se no existir um caminho aumentante em G. Os possveis caminhos aumentantes podem ser pesquisados de modo sistemtico em G, atravs de uma rvore enraizada em um certo n. A
essa rvore denominaremos rvore alternante. A Figura 6.14 mostra o uso da rvore alternante para
uma busca de caminhos aumentantes, sendo enraizada no vrtice 5 do grafo da Figura 6.12. Formalmente, podemos definir uma rvore alternante Ta = (V, L) em relao a um emparelhamento M como
aquela que:

252

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

1. Contm um nico vrtice isolado x1 (ou raiz deTa).


2. Todo caminho que une x1 V a qualquer outro vrtice xj V um caminho alternante;
3. Contm todas as arestas de M incidentes em vrtices de V.

10

10

Emparelhamento
M = {(1, 4);(2, 3);(7, 8);(9, 10)}

rvore alternante enraizada em 5

+
7

10

10

Caminho aumentante decorrente

Novo emparelhamento encontrado

FIGURA 6.14 rvore alternante enraizada em 5.

Edmonds verificou que os problemas de permutaes na rotulao dos caminhos estavam associados enumerao de ciclos de comprimento mpar em G com vrtices no emparelhados (chamados no
saturados). A esses conjuntos de vrtices pertencentes a um ciclo de comprimento mpar na rvore de
enumerao, Edmonds denominou de blossoms (alguns autores traduzem o termo por broto). Os vrtices
5, 6 e 8 formam um blossom de comprimento 3. Os blossoms permitem que uma aresta possa ser enumerada mais de uma vez em um caminho aumentante, trazendo problemas para o desdobramento da rvore
alternante. Para evitar esse problema, e baseado em um teorema (Papadimitriou e Steiglitz [1982]), os
blossoms devem ser identificados e contrados a um n, aps seus ns serem emparelhados.
A abordagem de Edmonds permite o desenvolvimento de uma srie de algoritmos que exploram a
possibilidade de limitar a enumerao dos caminhos aumentantes, identificar eficazmente os blossoms, etc.
Hopcroft e Karp trabalham exatamente em casos em que o caminho aumentante ocorre sobre um
caminho mais curto. Nesse caso a complexidade do emparelhamento mnimo pode ser reduzida para
O(n2, 5).

Abordagem por Fluxo em Redes


Ser desenvolvida no Captulo 7, item 7.4.3.

PROBLEMAS DE CONEXO: RVORES, CAMINHOS E EMPARELHAMENTO

253

6.6 O PROBLEMA DA RVORE DE STEINER


O problema de Steiner em grafos derivado do bem conhecido problema euclidiano de Steiner, proposto na verdade por Fermat no sculo XVII. O problema em sua verso simplificada consistia em, dados
trs pontos no plano (da o termo euclidiano), encontrar um quarto ponto tal que a soma das distncias
desse quarto ponto aos trs originais fosse mnima. Atribui-se a Torricelli (por volta de 1640) a soluo
do problema em sua primeira verso. Apesar de no ter sido Steiner o formulador do problema (ou
mesmo seu solucionador) acabou sendo responsvel por sua divulgao no meio cientfico, o que lhe
valeu o nome no problema. O caso geral consiste em determinar a minimizao do peso de ligao entre n pontos do plano. Na verdade, a soluo do problema constituda por uma rvore que engloba os
pontos a serem ligados e os pontos de passagem que sero determinados (ou pontos de Steiner). O problema de Steiner em grafos no direcionados o problema de conectar, a custo mnimo, um conjunto
de ns de G. Para caracterizar o problema denominaremos e L e X os conjuntos resultantes de uma partio do conjunto N, ou seja, L N e X N, sendo que L X= N e L X = , |X|= r, |L| = s. O problema ser determinar um subconjunto de arestas B A que ligue todos os vrtices xi X em um grafo
conexo, i = 1, ..., r, de modo a minimizar c j , onde cj o custo ou comprimento das arestas de B. O
j B

problema no exige que somente vrtices de X sejam utilizados pela estrutura de ligao, ou que o nmero das arestas de B seja mnimo, a nica restrio a conexidade da soluo. Os vrtices de L que forem utilizados na soluo so denominados ns de Steiner. Na Figura 6.15 temos L = {2, 4, 5, 6, 8, 9, 11,
12} e X = {1, 3, 7, 10}.
2
4

2
3

10

10

X={1,3,7,10}

10

7
11

12

2
3

7
11

12

Soluo sem Pontos de Steiner

11
12

Soluo com um Ponto de Steiner (8)

FIGURA 6.15 rvore de Steiner em grafos.

Examinando a Figura 6.15 verificamos que se |X| = 2, o problema se reduz ao caminho mais curto
entre os dois ns de X. Se L= { }, a soluo uma rvore geradora mnima, uma vez que, nesse caso,
X= N. Apesar de, como vimos no presente captulo, existirem algoritmos eficientes para solucionar esses dois casos especficos, a situao em que L e X> 2 conduz a um problema NP-rduo como mostra Karp (1972). Um trabalho bastante completo sobre as formulaes desse problema encontrado em
Goemans e Myung (1993).

6.6.1 Uma Viso Geral


A literatura que aborda a soluo do problema de Steiner em grafos numerosa. Alguns dos mais importantes trabalhos na rea exata esto resumidos na Tabela 6.6:
T A B E LA 6. 6 AL GO R I TMO S EX AT O S DE S O L U O P A RA O P RO B L E M A D E S T E I NE R E M G RA F OS

Ano

Pesquisador

Algoritmos Exatos
Algoritmo de Enumerao baseado na rvore Geradora (STEA)

1971

Hakimi

Primeira formulao e apresentao do STEA

1976

Lawer

Modificaes no STEA

1985

Balakrishnan e Patel

Adio de ns artificiais e soluo da rvore geradora por fluxo

254

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

ELSEVIER

T A B E LA 6. 6 C O N TI N UAO

Ano

Pesquisador

Algoritmos Exatos
Algoritmo de Enumerao Topolgica (TEA)

1971

Hakimi

Modificao de um algoritmo para o problema de Steiner euclideano


Algoritmos de Programao Dinmica

1971

Dreyfus e Wagner

Desenvolvimento de subrvores de Steiner


Algoritmos Baseados no Problema de Recobrimento

1980

Aneja

Formulao via PR, soluo via algoritmo de Bellmore e Ratliff (1971)


Algoritmos Baseados em Enumerao Implcita

1982

Shore et al.

Uso de limites inferiores e superiores para limitar a enumerao


Algoritmos Baseados em Relaxao Lagrangeana

1984

Beasley et al.

Limites obtidos da RL para reduzir o nmero de subarvores de Steiner


Algoritmos Duais (Dual Crescente)

1984

Wong

Limites obtidos de formulao dual para reduzir a enumerao


Outras Abordagens

1989

Duin e Volgenant

Tcnicas de Reduo

1992

Chopra et al.

Branch-and-cut

1998

Koch e Martin

Branch-and-cut

1998

Lucena e Beasley

Branch-and-cut

2001a

Polzin e Daneshmand

Tcnicas de reduo

O trabalho de Hwang e Richards (1992) apresenta uma reviso bibliogrfica bastante atualizada. O
problema tambm rico em abordagens heursticas, como mostra a Tabela 6.7.

T A B E LA 6. 7 A LG O R I TMO S HEUR STI CO S PA RA A S O L U O D O P RO B L E M A


DE S T E I N E R E M GR AFO S

Ano

Pesquisador

Algoritmos Heursticos

1980

Takahashi e Matsuyama

Heursticas Baseadas no Caminho mais Curto O(r.n2)

1980

Takahashi e Matsuyama

Heursticas Baseadas na rvore Geradora Mnima O(n2)

1980

Aneja

Heursticas Baseadas no Problema de Recobrimento O(n3)

1981

Kou et al.

Heursticas Baseadas no Grafo de Distncias Induzido O(r.n2)

1981

Plesnik

Heursticas Baseadas no Grafo de Distncias Induzido O((n - r)q . r2 + n3)


onde 0 q r 2

1981

Plesnik

Heursticas Baseadas em Contrao de Ns O(n3)

1981

Smith

Heursticas para o Problema em Norma Euclidiana O(nlogn)

1983

Rayward-Smith

Heursticas Baseadas em Distncias Mdias O(n3)

1984

Wong

Heursticas Baseadas na Relaxao do Mtodo Dual Crescente

1991

Dian e Plesnk

Heursticas hbrida O(n3)

PROBLEMAS DE CONEXO: RVORES, CAMINHOS E EMPARELHAMENTO

T A B E LA 6. 7 CO N TI N UAO

Ano

Pesquisador

Algoritmos Heursticos
Heursticas Baseadas em rvores k-restritas

1993

Zelikovsky

Razo de Aproximao de 1,834

1994

Berman e Ramaiyer

Razo de Aproximao de 1,734

1996

Zelikovsky

Razo de Aproximao de 1,694

1997

Promel e Steger

Razo de Aproximao de 1,667

1997

Karpinsky e Zelikovsky

Razo de Aproximao de 1,644

1999

Hougardy e Promel

Razo de Aproximao de 1,598

2000

Robins e Zelikovsky

Razo de Aproximao de 1,550

1989

Hesser et al.

Algoritmos Genticos

1991

Dowsland

Hill-climbing e Simulated Annealing

1993

Williamson et al.

Mtodo primal-dual

1995

Esbensen

Algoritmos Genticos

1995

Agrawal et al.

Heurstica baseada na unio de subrvores

1996

Verhoeven et al.

Busca local

1997

Wade e Rayward-Smith

Busca local

1998

Charikar et al.

Algoritmos para o problema de Steiner em grafos direcionados

1999

Gendreau et al.

Busca Tabu

1999

Duin e Voss

Mtodo guloso com estratgia de memria Branch-and-Greedy

2000

Grpl et al.

Resenha de Algoritmos Heursticos

2000

Martins et al.

GRASP

2001b

Polzin e Daneshmand

Algoritmo heurstico

2002

Julstrom

Algoritmo Gentico para o PSG

2002

Satoh et al.

Algoritmo heurstico

6.6.2 Aplicaes e Problemas Correlatos


Dentre vrias aplicaes destacamos:

Projeto de circuitos eletrnicos (Smith et al. [1980] e Grtschel e Weismantel [1996]).


Redes de comunicao (Hanan et al. [1975], Goel e Munagala [1999]).
Planejamento de redes externas de comunicao (Luna et al. [1987]).
Redes de comunicao e de trfego (Frank e Frisch [1976]).
Tubulaes de gs e leo (Rothfarb [1970]).
Projetos de instalaes eltricas e mecnicas (Smith e Liebman [1979]).

255

256

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

ELSEVIER

Distribuio de gua para irrigao e redes de drenagem (Lee [1976]).


Modelos para confeco de circuitos VLSI (Grtschel e Weismantel [1997]).
Edificaes (Smith e Liebman [1979]).
Vrias aplicaes (Hwang e Richards ([1992]).
Aplicaes na indstria (Cheng e Du [2001]).
Uma srie de problemas e situaes caracterizam casos correlatos ao problema de Steiner em grafos. Alguns deles so:
4

O Problema de Steiner em Norma Linear (PSNL)

Trata-se de um caso particular do problema de Steiner no plano. Nesse problema, as coordenadas


dos pontos a serem ligados, alm de pertencerem a um plano e atender norma euclidiana geral,
atendem norma euclidiana chamada linear, ou seja, Lx = |x1 x2| + |y1 y2|. Essa norma aplicvel
em circuitos eltricos, no arruamento de cidades, em sistemas mecnicos etc. O problema foi formulado pela primeira vez por Hanan (1966) e vrias aplicaes prticas sugeridas por Smith e Liebman
(1979) bem como uma heurstica O(r4) para sua soluo. Smith et al. (1980) apresentam uma heurstica O(r log r) baseada nos diagramas de Voronoi e em grafos duais para a soluo do PSNL. Para esse
problema, temos ainda uma heurstica proposta por Richards (1989) que, baseada na heurstica de
Hanan (1966), originalmente O(n2), utiliza a geometria da norma linear para encontrar uma implementao O(nlog n) para essa mesma heurstica. Komls e Shing (1985) desenvolvem duas heursticas em abordagem probabilstica, dividindo os pontos de passagem obrigatrios em pequenos conjuntos para aplicar, nessas instncias reduzidas, o procedimento exato de Dreyfus e Wagner (1971).
Posteriormente os subgrafos obtidos so combinados e ampliados para chegar a uma soluo global.
Beasley (1992) sugere uma heurstica para o problema em 2.
4

O Problema de Steiner com Conexo Estocstica (PSCE)

Os problemas em redes de comunicaes possuem muitas situaes em que a manuteno da efetividade de uma ligao uma varivel aleatria. As arestas possuem uma certa probabilidade de no estarem aptas a manterem uma conexo julgada legal para o sistema. Valiant (1979) demonstra que esse
problema de otimizao NP-rduo. Richey et al. (1985) apresenta um algoritmo eficiente para um caso
particular de grafo de comunicao.
4

O Problema do Coletor de Prmios em rvore de Steiner - Prize-collecting Steiner tree problem


(PCPAS)

O Problema do Coletor de Prmios em rvore de Steiner em um grafo ponderado G com ganhos associados em seus ns, consiste em determinar uma subrvore em G que minimize a soma dos pesos das
arestas da subrvore somado ao total de ganhos acumulado nos vrtices de G no pertencentes
subrvore. O presente problema descrito em Johnson et al. (2000) e solucionado em Canuto et al.
(2001) e Klaus et al. (2004). O modelo pode representar situaes de implantao de redes como, por
exemplo, de distribuio de gs em que necessrio alm de atender aos pontos de demanda atravs
de uma rede de distribuio, escolher quais pontos so mais atrativos para suportar o investimento da
construo da rede de distribuio. Aos pontos de demanda so associados valores de atrao que iro
penalizar a funo objetivo de minimizao em caso de no atendimento. Na aplicao descrita o custo
de implantao considerado no valor das arestas.
4

O Problema da rvore de Steiner Terminal (PST)

O Problema da rvore de Steiner Terminal, tambm denominado na literatura como o Full Steneir
Tree Problem ou Terminal Steiner Tree Problem, representa um caso particular do Problema de Steiner

PROBLEMAS DE CONEXO: RVORES, CAMINHOS E EMPARELHAMENTO

257

em que todos os ns terminais X so folhas da rvore. Os trabalhos de Lin, e Xue (2002) e Lu et al.
(2003) abordam o problema.
4

O Problema da rvore de Steiner em Grupamentos (PSG)

Tambm denominado na literatura de Group Steiner Tree, consiste em determinar em um grafo


conexo e ponderado e contendo grupos disjuntos de ns, uma rvore de comprimento mnimo e pelo
menos um n de cada grupo. Os ns escolhidos nos grupos so denominados de ns terminais. O
problema foi abordado por Reich e Widmayer (1989) e pode ser considerado como uma generalizao do problema de cobertura mnima (minimum set covering problem). Bateman et al. (1997) abordam
uma aplicao do problema na operao de terminais porturios e sugerem um algoritmo aproximativo bastante eficiente. Even e Kortsarz (2002) desenvolvem um algoritmo com razo polilogartmica
de aproximao igual a O(log Slog m/log log S), onde m representa o nmero de grupos e S o nmero de terminais.
4

O Problema de Steiner Generalizado (PEG)

Este caso de ampla aplicao em redes de suprimento de eletricidade, gua ou comunicaes. Nesses
casos o modelo, via de regra, procura o atendimento de dois objetivos conflitantes:

Minimizar os custos totais de operao e instalao.


Maximizar a confiabilidade da operao.
A confiabilidade frequentemente expressa atravs de graus de conectividade alcanado pela configurao em anlise. Atravs das rvores de Steiner possvel modelar o problema dos custos das conexes. visvel que a soluo de conexo baseada em uma estrutura de rvore tem grande vulnerabilidade face a uma desconexo estocstica. A cada falha ocorrida nas ligaes ou nos vrtices da estrutura de
custo mnimo o servio ser descontinuado para pelo menos uma parte da rede. Nesse caso, a soluo
de equilbrio vai buscar um grau k de conexidade. O problema pode ser formulado (Winter [1987]) da seguinte forma:
(PEG) Minimizar z =

cijxij

i , j A

sujeito a:
"(i, j) A, "k, l X, k l

(6.1)

"k, l X, k l

(6.2)

"k, l X, k l

(6.3)

"k, l X, "p N\{k, l}

(6.4)

xij {0, 1}

"(i, j) A,

(6.5)

y ijkl 0

"i, j : (i, j) N, "k, l X, k l

(6.6)

x ij y ijkl + y kl
ji

y kjkl s kl
( k , j )A

y ilkl s kl

( i , l A )

y pjkl y ipkl = 0

( p , j A )

( i , pA )

258

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

Em que:
y ijkl a quantidade da comodidade a ser deslocada de k para l ao longo da aresta (i, j) na direo de i
para j.
S = [sij] a matriz de requisitos de conectividade entre os pares de vrtices i, j X, ou seja, entre
os vrtices i e j existe uma sij conectividade (sij arestas de ligao).
xij varivel binria em que 1 significa que a aresta (i, j) pertence soluo e 0 caso contrrio.
A restrio (6.1) garante que o produto associado a cada par origem-destino (k, l) s pode usar um
arco (i, j) que seja efetivamente ativado pelo modelo.
A restrio (6.2) indica que o fluxo do produto (k, l) deve escoar a partir do n k, atravs de um nmero de ns sucessores pelo menos igual ao grau de conectividade requisitado para o produto (k, l).
A restrio (6.4) garante que as conexes do produto (k, l) que deixem os vrtices de Steiner sejam
pelo menos iguais ao nmero de conexes que chegam.
4

O Problema de Network Design e as Formulaes Multiproduto para o Problema


de Steiner (PSM)

A rea de fluxo tem sofrido, nos ltimos anos, um grande desenvolvimento na direo da modelagem
e soluo de problemas de comunicao em rede. Existem, nessa linha de problemas prticos, inmeros casos, que vo desde o estgio da definio das comunicaes em cenrios restritos, at os modelos
para a poltica global de definio dos equipamentos e do trfego de comunicaes, considerando todos os nveis necessrios e levando em conta vrios cenrios para a interpretao econmica dos sistemas. Apresentaremos duas formulaes bastante interessantes para essa importante aplicao da pesquisa operacional no mundo atual. Consideremos o grafo G = (V, E) da Figura 6.16, em que as arestas
modelam a possibilidade de comunicao direta entre seus ns. Vamos supor que existe um n o centro de comunicao da rede e origem do fluxo que circular pela rede e que existe a necessidade de ligar
um nmero k, k = 1, ..., |K| de ns que possuem uma demanda definida como dk, a esse centro de comunicao.
Considerando que existe um conjunto de custos associados implantao e operao das linhas de
comunicao, ento esse problema pode ser resumido necessidade de determinar uma arborescncia
em G que minimize os custos de operao e de implantao, para um conveniente horizonte operacional do sistema. Esse tipo de problema pode ser modelado atravs das formulaes de fluxo multiproduto que apresentaremos a seguir.
4

11

13

14

10

12

Centro de comunicaes
Ns de ligao (ou de Steiner)

Ns de demanda

FIGURA 6.16 Grafo do problema de projeto de redes viso local.

O interesse de formulaes multiproduto para o problema de Steiner e extenses est no fato de que relaxaes de programao linear a esses problemas podem resolver de forma exata diversas instncias significativas (Luna et al. [1998]).

PROBLEMAS DE CONEXO: RVORES, CAMINHOS E EMPARELHAMENTO

259

Formulao de Produto nico (FPU)


Considerando a definio de adequados custos estruturais e operacionais, o problema proposto consiste
em determinar uma arborescncia de mnimo custo que ligue o centro de comutao a todos os pontos de
demanda, ressaltando-se que, no modelo, todo fluxo ser originado no centro de comunicao.
Definindo-se sobre um grafo G = (V, E):
1, caso uma ligao direta utilize o arco (i , j)
xij 0, caso contrrio

bij custo estrutural fixo para instalar uma linha de transmisso direta no arco (i, j)
bij = b dij, onde dij a distncia (em metros) entre os vrtices i e j, e b o custo unitrio (por metro) de ligao.
cij custo operacional varivel relativo transmisso de uma unidade de fluxo atravs do arco (i, j)
xij g dij, onde dij a distncia (em metros) entre os vrtices i e j, e g o custo por metro para transmitir
uma unidade de fluxo.
fij fluxo passando atravs do arco (i, j).
(FPU) Minimizar

(cijfij + bijxij)

( i , j )E

sujeito a:

( o , j )E

( i , k )E

( i , j )E

f ij

f oj = d k

(6.7)

k K

f kj = d k

k K

(6.8)

j V \ K \ {o}

(6.9)

f ij
d k x ij , (i,j) E
k K

(6.10)

f ik

( k , j )E

f ji = 0

( j , l )E

x ij K

(6.11)

( i , j )E

xij {0, 1}, "(i, j) E

(6.12)

A funo objetivo possui dois termos. O primeiro est associado ao custo total de enviar fluxo atravs dos arcos, o segundo acumula o custo fixo relativo utilizao dos arcos. A restrio (6.7) assegura
que a capacidade do vrtice de comutao suficiente para atender demanda dos demais vrtices. A
restrio (6.8) modela as imposies de demanda, a (6.9) garante a conservao de fluxo nos vrtices de
Steiner. A restrio (6.10) assegura que no haver fluxo nos arcos que no forem escolhidos pela soluo, e a (6.11) estabelece que pelo menos |K| arcos sero selecionados, assegurando a conexo de todos
os ns atravs de uma rvore. O modelo possui uma restrio do tipo (6.7), |K| restries do tipo (6.8),
|V| |K| 1 restries do tipo (6.9), |E| restries do tipo (6.10), uma restrio do tipo (6.11) e |E|
variveis do tipo (6.12).

260

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

ELSEVIER

Formulao Multiproduto (FPM)


Considerando a definio de adequados custos estruturais e operacionais, o problema proposto consiste em determinar uma arborescncia. Consideraremos as seguintes variveis adicionais ao modelo
(FPU):
cijk varivel operacional que quantifica o custo de transitar uma unidade do produto k atravs do arco
(i, j).
cijk dk dij, "k K, onde dk o custo por metro para transmitir uma unidade de fluxo do produto k.
f ijk Fluxo passando pelo arco (i, j) e destinado ao ponto de demanda k.
Esse modelo permite que diferentes custos variveis sejam associados aos produtos e aos arcos.

(FPM) Minimizar z =

k
k
b x +
c
f

ij
ij
ij
ij

k K
( i , j )E

sujeito a:

f ojk = d k

para todo n o e "k K

(6.13)

( i , j )E

f ikk = d k

"k K

(6.14)

"j V\K\{o}

(6.15)

"(i, j) E e " k K

(6.16)

para o n o

(6.17)

"kK

(6.18)

"l V\K

(6.19)

"l V\K\{o}

(6.20)

f ijk 0

"(i, j) E e "k K

(6.21)

xij {0, 1}

"(i, j) E

(6.22)

( i , k )E

f ijk f jlk = 0

( i , j )E

( j , l )E

f ijk d k x ij ,

x oj 1
( o , j )E

x ik =1
( i , k )E

x lj x il 0

( l , j )E

( i , l )E

x il

( i , l )E

x lj

( l , j )E

( l , j )E

PROBLEMAS DE CONEXO: RVORES, CAMINHOS E EMPARELHAMENTO

261

A funo objetivo leva em conta no s os custos fixos, mas os relativos ao fluxo de cada produto. A
restrio (6.13) assegura que a demanda total de um produto k atendida pelo fluxo originado no vrtice
comutao. A restrio (6.14) impe que a demanda de um produto k igual ao fluxo desse produto que
chega ao vrtice k. A restrio (6.15) garante a conservao de fluxo atravs dos vrtices de passagem. A
restrio (6.16) obriga o fluxo nulo atravs dos arcos no escolhidos para compor a soluo. A restrio
(6.17) fora que pelo menos uma arco ativo ligue o vrtice de comutao rede. A restrio (6.18) garante
que exatamente um arco ativo ligue cada vrtice de demanda. A restrio (6.19) assegura que a ativao
de qualquer arco que chegue a qualquer n de Steiner implica a ativao de um ou mais arcos que saiam
do n. A restrio (6.20) garante que a ativao de arcos que saem de um n de Steiner implicam a ativao de exatamente um arco incidente ao n. As restrio (6.21) assegura a no negatividade do fluxo.
Os modelos FPU e FPM so bastante teis para a formulao de problemas de projeto de redes de
comunicaes (Randazzo e Luna [2001]), permitindo sucesso na soluo de problemas de grande porte
(ainda Geoffrion e Graves [1974], Boorstyn, e Frank [1977], Frana e Luna [1982], Gavish [1982], Christofides e Beasley [1982], Cho [1983a] e [1983b], Magnanti e Wong [1984], e Balakrishnan e Altinkemer
[1992]).
4

O Problema de Steiner com Vrtices Ponderados (PSVP)

Consideremos que, nas mesmas condies do problema de Steiner em grafos a cada vrtice do grafo G
= (N, A) esteja associado um valor ou peso, wi. Para um dado subconjunto de vrtices XN uma soluo tima do (PSVP) uma rvore em G, TS = (T, Ar), TX , Ar A que liga o conjunto de vrtices atendendo seguinte funo objetivo:
Minimizar z =

wi + cij

i T

( i , j )A r

Sem dvida trata-se de uma generalizao do PEG, uma vez que se o vetor de peso wi for nulo o
PSVP transforma-se no PEG. Situaes de localizao de facilidades em plantas industriais podem ser
formuladas via PSVP, (Wong [1984]). Nesses casos, os vrtices podem representar clientes que demandam servio. Os demais ns do grafo podem ser associados a possveis localizaes dos postos de atendimento. O vetor cij pode representar os custos de transporte entre os ns i e j. O vetor wi pode quantificar os custos fixos de localizar na planta uma facilidade no vrtice I.
4

O Problema da Arborescncia de Steiner (PAS)

Esse caso uma generalizao do PSVP. O problema apresentado por Wong (1984) e detalhado em
Duin e Volgenant (1987). Consideremos O PSVP em um grafo G = (V, E). O PSVP objetiva determinar
uma arborescncia em TS em G, enraizada fora de um conjunto c0 X. Segev (1987) apresenta uma
transformao de custos que o reduz ao PSVP.
4

O Problema da Floresta de Steiner (PFS)

Algumas situaes de modelagem podem no exigir que as estruturas de conexo formem um s corpo. Esse caso aborda problemas em que existem vrias estaes de distribuio de gua ou leo, ou a
possibilidade de constituio de redes locais de informao em que os maiores custos so associados a
configuraes das redes locais, sendo o custo de conexo com o exterior (estao central, Internet
etc.) ou interligao das redes, no significativo face ao custo local. Obviamente a soluo de conexo de
todos os pontos via essa ligao exterior no seria uma soluo razovel por motivos de segurana, trfego e confiabilidade. Nesse caso, a exigncia recai sobre a configurao mnima vlida, ou seja, sobre o
nmero de ns mnimo que um ponto de atendimento vai suprir ou um nmero mximo de sub-redes
de atendimento.
Podemos enunciar esse problema, ento, da seguinte forma: determinar no mximo m subgrafos
conexos em G = (N, A), (m < |X|), onde cada um desses subgrafos contenha pelo menos um vrtice de
um certo conjunto de vrtices X, e que todos os vrtices de estejam contidos nesses subgrafos, minimizado o custo total das arestas utilizadas na soluo.

262

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

O Problema de Agrupamento de rvores de Steiner (PAAS)

Este problema, denominado na literatura internacional de packing steiner tree, est associado especialmente ao projeto e fabricao de circuitos eletrnicos (ver Grtschel e Weismantel [1996]). Consideremos a Figura 6.17 que representa um modelo de circuito integrado.

Distribuio geral do circuito

Conectores associados s clulas D, F e G.

FIGURA 6.17 Um circuito integrado.

Normalmente, um projeto de um circuito integrado, em relao disposio dos componentes na


placa, envolve pelo menos duas etapas:

O projeto lgico, que corresponde ao esclarecimento de como as operaes lgicas necessrias

so associadas s unidades eletrnicas (chamadas clulas) e como essas unidades podem ser ligadas entre si pelas vias (barramentos condutores que correspondem aos fios das ligaes
clssicas). Os pontos em que as vias fazem contato com as clulas so denominados terminais.
Na Figura 6.17 os terminais so representados pelos pontos pretos e as vias pelos traos que
unem os pontos. As clulas so os retngulos escurecidos. Um conjunto de terminais so chamados de rede. Os terminais conectores so designados s clulas.

O projeto fsico que corresponde designao das clulas dentro de uma certa rea e o roteamento das redes.

As ligaes entre clulas esto exemplificadas na Figura 6.18, em que verificamos que existe a possibilidade de que algumas vias sejam utilizadas mais de uma vez para a conexo (arestas marcadas
com a barra grossa).

Uma possvel conexo D-F

Uma possvel conexo D-G

FIGURA 6.18 Possveis conexes entre clulas.

PROBLEMAS DE CONEXO: RVORES, CAMINHOS E EMPARELHAMENTO

263

Tipicamente, o problema combinatrio que est definido nesse circuito o de desenvolvermos ligaes entre as clulas da placa com o objetivo de minimizar, por exemplo, o comprimento da via de ligao, no sobrecarregando o trfego nos trechos comuns.
Chamando de N = { T1 , ... , Tn }, n 1, com Tk N, k = 1, ..., n, uma lista de conjuntos de vrtices de
G = (N, A), e para cada aresta (i, j) A associando-se um custo cij e uma capacidade de utilizao wij, o
Problema de Agrupamento de rvores de Steiner (PAAS) determinar um grupo de conjunto de arestas de
G, S1, ..., Sn A tais que:
1. " Sn A seja uma rvore de Steiner em G para as listas de vrtices Tk associados, k = 1, ..., n.
2.

S k (i , j) wij para toda aresta (i, j) A.

k=1

3.

cij
k=1 ( i , j )Sk

seja minimal.

O Problema da rvore de Steiner MinMax (Gargalo) (PASM)

Trata-se do caso MinMax para a rvore de Steiner. Duin e Volgenant (1997) apresentam um algoritmo
O(n) para a soluo desse caso.

6.6.3 Algoritmo Heurstico de Soluo


Aneja (1980) sugere a utilizao da soluo do problema de recobrimento para acelerar a convergncia
de um procedimento B&B para a soluo do PAS em grafos. Baseado em seu procedimento podemos
organizar o seguinte procedimento heurstico:

Algoritmo Recobrimento em Arestas


INCIO
Ler os dados de G = (N, A), onde dij a distncia entre os ns vizinhos
de G, e X o conjunto dos ns a serem ligados
Determinar uma cobertura de arestas minimal para G
Identificar os subgrafos conexos que contm os ns de X
Lig-los entre si utilizando a menor distncia possvel
Remover as arestas desnecessrias rvore de Steiner
FIM

Um exemplo de aplicao da heurstica de recobrimento encontra-se na Figura 6.19.

264

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

11

10

11

10

12

12

15

15

15

15

11

5
9

13

20

10
9

10

14

10
9

8
10

Grafo inicial. Conjunto X = {1, 4, 9}

11

3
7

14

Soluo do Edge Covering

11

10

11

10

12

13

20

12

15

15

15

15

5
4

11

5
9

5
4

3
7

13

20

10
9

8
10

Ligao entre os grupamentos


com ns X
S = {1, 2, 4, 7, 9} = 23

11

5
9

3
7

14

13

20

14

10
9

8
10

Soluo tima (no encontrada


pelo algoritmo)
S = {1, 2, 4, 6, 7, 9} = 22

FIGURA 6.19 Soluo do algoritmo recobrimento de arestas.

6.7 O PROBLEMA DO CAMINHO CRTICO OU PERT (CRITICAL-PATH METHOD)


Esse modelo extremamente til para a soluo de problemas que possuem um nmero muito grande
de atividades que ocorrem paralelamente e com durao variada e, alm disso, apresentem pontos de
concorrncia e interdependncia. As maiores aplicaes ocorrem na construo civil, e na gerncia de
grandes projetos, especialmente na fase de planejamento e como ferramenta de acompanhamento.
Examinemos um exemplo do uso da rede PERT para o planejamento de uma simulao de um prottipo industrial. As etapas necessrias para a realizao da simulao do prottipo esto descritas na tabela da Figura 6.20. A ttulo de esclarecimento, informamos que os tempos necessrios para a execuo
de cada etapa do planejamento devero ser motivo de um estudo especfico. De um modo geral, possvel considerar tempos mdios.

PROBLEMAS DE CONEXO: RVORES, CAMINHOS E EMPARELHAMENTO

Nmero

Atividades

Atividade de
Pr-Requisito

Durao

Incio
mais Cedo

Incio do Trabalho

Projeto de Simulao

t1

Treinamento de Pessoal

t2

Construo de Instalaes Especiais

t2

Certificao das Instalaes

3,6

t3

Aquisio de Material

t2

Aferio dos Instrumentos

Teste do Material Adquirido

t4

2,4

t5

Montagem da Cabine de Simulao

t6

Execuo da Simulao

t7

10

Fim

t8

265

FIGURA 6.20 Tabela de descrio das atividades.

A tabela de atividades pode ser representada por um grfico de setas como mostra a Figura 6.21.
Nesse grfico, cada atividade simbolizada por um n numerado. Os arcos (ou setas) representam as
restries de precedncia. Sobre cada um dos ns podemos representar a durao da atividade a ele associada. Esse grfico tambm conhecido por rede orientada por tarefa, ou ainda por diagrama de setas
(uma das ferramentas da qualidade).

(9)
2

(2)

(0)
0

(1)

(4)

(1)
5

(1)

(3)
7

(2)
9

(0)
10

(2)
6

FIGURA 6.21 Rede orientada por tarefas.

Denominando por t10 o menor tempo a que est associada a obra como um todo (tempo mais cedo
para a ltima atividade), ento podemos definir a funo objetivo desse programa como:
Minimizar z = t10 t1
sujeito s restries de precedncia das atividades que sero impostas pelos arcos dos diversos caminhos que ligam o n 0 ao n 10. Considerando a atividade 4, certificao das instalaes, por exemplo, o
tempo menor para a ocorrncia dessa atividade deve atender:
t3 t2 + 4 (pelo caminho da atividade 3)
t3 t4 + 2 (pelo caminho da atividade 6)

266

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

De uma forma geral, se tj o menor tempo associado a um antecessor de ti, e dij a durao da atividade i-j, o tempo ti calculado como:
ti tj + dij
Calculando as restries associadas aos ti (matriz T) temos o quadro da Figura 6.22 para o modelo
de programao linear:

t2

min

t1

Valor de z

t3

t5

t6

t7

t8
+1

Ns

Durao da
atividade

2,3,5

2
4

+1

10

t4

+1
1

+1

+1
+1
+1
1

+1
1

+1
1

+1

FIGURA 6.22 Matriz de restries do programa PERT orientado por tarefas.

O problema escrito da forma anterior no um problema de fluxo em rede, mas seu dual o . Notamos que existe apenas uma entrada positiva e uma negativa nas linhas da matriz de restrio do primal, o que implica que a matriz transposta de T a matriz n-aresta de uma rede. Considerando uma
varivel dual xij associada a cada linha do problema primal, ou seja, representando atividades, conforme a tabela da Figura 6.23:
Para o programa da Figura 6.23 podemos expressar o seu programa dual como mostra o quadro da
Figura 6.24.

Varivel
(Atividade)

Atividades

Atividade de
Pr-Requisito

Durao

x01

2
9

x01
x15

Treinamento de Pessoal

x12

Construo de Instalaes Especiais

x01

x23

Certificao das Instalaes

x12

x14

Aquisio de Material

x01

x43

Aferio dos Instrumentos

x14

x35

Teste do Material Adquirido

x23 ,x43

x56

Montagem da Cabine de Simulao

x15 ,x35

x67

Execuo da Simulao

x56

Projeto de Simulao

FIGURA 6.23 Exemplo de um programa PERT.

PROBLEMAS DE CONEXO: RVORES, CAMINHOS E EMPARELHAMENTO

x01

x15

x12

x23

x14

x43

x35

x56

x67

+1

+1
+1

+1

+1
1

ns

max

0
1

3
4

0
0

6
7

0
1

267

+1

+1
1
1

+1

1
+1

1
+1

FIGURA 6.24 Matriz de restries do problema PERT dual.

A formulao dual da rede PERT, orientada por tarefas, possui caractersticas interessantes e denominada rede orientada por eventos. A Figura 6.25 exemplifica a rede orientada por eventos do caso examinado.
Treinamento

(9)
0

(2)
1
Projeto

Construo

(4)
(1)

Teste

Certificao

(1)

(3)

Montagem
5

(1)

Simulao
6

(2)

(2)

Aquisio de
Material

Aferio
4

FIGURA 6.25 Rede orientada por eventos.

Nessa rede, um n representa o incio ou o trmino de uma atividade, um evento instantneo. No


modelo dual, os valores de durao das atividades esto nos arcos. A varivel dual xij representa uma
atividade definida pelos ns ij. Notemos que o nmero de arcos da rede orientada por eventos igual ao
nmero de ns da rede orientada por tarefas (desconsiderando os ns incio e fim). Os tempos do modelo
primal correspondem ao nmero de ns da rede dual. Na rede orientada por eventos, o problema de determinar o maior tempo mais cedo reduz-se a encontrar o caminho mais longo entre os ns extremos da
rede, considerando o comprimento de cada arco ij igual durao da atividade a ele associada.
Existe ainda uma terceira representao para esse tipo de problema de planejamento. Essa rede extremamente difundida, especialmente porque facilita a visualizao das variveis de folga da rede orientada por tarefas. Uma outra vantagem dessa variante que ela facilita a distino entre atividades paralelas e/ou logicamente correlacionadas. A rede PERT/CPM, como difundida na literatura, uma rede orientada por eventos com uma correo na definio dos arcos. Nela as atividades paralelas devem possuir
ns extremos distintos, mesmo que iniciem e terminem nos mesmos eventos. Para fazer essa distino
entre as atividades o modelo utiliza o conceito de atividade fantasma. Uma atividade fantasma um arco
na rede de eventos cuja durao igual a zero (instantnea). No caso do exemplo proposto, a representao PERT/CPM est expressa na Figura 6.26.
Os arcos pontilhados representam as atividades fantasmas. Na soluo da rede por eventos, o caminho mais longo vai determinar uma cadeia dominante em relao ao tempo. Esse caminho representa o gargalo para a durao de todo o programa. Obviamente podero existir outros caminhos mais
curtos dentro da rede, mas eles sero dominados em relao ao tempo do mais longo. A existncia de
caminhos de durao variada em um mesmo planejamento implica que, em relao ao tempo de concluso, algumas atividades acabaro assumindo um papel destacado ou crtico, enquanto outras esta-

268

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

2
Treinamento

(9)

(2)

Construo

(4)

Projeto

Teste

Certificao
4

(1)

(3)

Montagem
7

(1)

Simulao
8

(2)

(1)
Aquisio de
Material
5

Aferio

(2)

FIGURA 6.26 Rede PERT/CPM.


Rtulo do N

Data mais tarde

Data mais cedo


Folga

FIGURA 6.27 Rtulo do n na rede PERT/CPM.

ro sujeitas a uma menor presso. Essa informao poder ser muito til na redistribuio dos esforos
e meios no planejamento. Podemos examinar visualmente esse fenmeno acrescentando a cada n da
rede da Figura 6.26 o rtulo representado na Figura 6.27.
A rede orientada por eventos e rotulada como proposto na Figura 6.27 poder ser solucionada atravs da busca dos caminhos que ligam o evento inicial e o final. A Figura 6.28 mostra a rede rotulada e o
incio do clculos dos possveis caminhos que ligam o n 0 ao n 7. Ao longo de cada caminho possvel
os tempos vo se acumulando, o que fica claro na rede orientada por tarefas. Quando um n alcanado por mais de um caminho, possivelmente ocorrer uma situao de conflito em relao ao tempo as-

11

Treinamento

(9)
0

1
Projeto

7
5

(2)

Construo

(4)

Teste

Certificao

(1)

14

12

(3)

Simulao

Montagem
7

(1)

(2)

11
10

(1)
Aquisio de
Material

(2)

Aferio
3

14

FIGURA 6.28 Clculo do tempo mais cedo em situao de conflito.

PROBLEMAS DE CONEXO: RVORES, CAMINHOS E EMPARELHAMENTO

269

sociado ao n. Como desejamos encontrar a data mais cedo possvel mas que leve em conta a durao
de todas as atividades, essa data vai corresponder ao maior valor acumulado no tempo. Essa situao
exemplificada no n 4 da Figura 6.28. Esse n pode ser alcanado atravs do caminho 0-1-2-3, acumulando um tempo igual a 7 unidades ((2) + (4) + (1)), e pelo caminho 0-1-5-6-4, acumulando um tempo de
5 unidades ((2) + (1) + (2)). O tempo mais cedo do n 4 ser 7, o valor maior.
O mesmo raciocnio se aplica ao n 7. Dessa forma, calculamos o tempo mais cedo possvel para a
rede completa, ou seja, 14 unidades. Para encontrarmos as folgas existentes nos diversos caminhos
possveis devemos, partindo do n 9 (n final), tentar alcanar o n 0 (n inicial) descontando os valores associados s atividades nos arcos. No caso de acontecer que um n possa ser alcanado por mais
de um caminho de retorno, ento devemos preservar o menor tempo. Isso acontece no n 2, onde, pelo
caminho 9-8-7-2-1, o valor 2, pelo caminho 9-8-7-4-3-1 3 e pelo caminho 9-8-7-4-6-5-1 5. O valor a
ser registrado ser 2. Aps os clculos encontraremos os valores constantes da Figura 6.29.

11

11

Treinamento

(9)
0

(2)
1

12

Teste

Certificao

(4)

Projeto

7
5

Construo

(1)

(3)

(1)

14

Simulao

Montagem
7

14

12

(2)

11 11
10

(1)
Aquisio de
Material

(2)

Aferio
6

FIGURA 6.29 Clculo do tempo mais cedo.

Finalmente, podemos preencher o campo da folga fazendo a diferena entre a data mais cedo e a
mais tarde de cada n. Os caminhos que possuem folga zero so denominados caminhos crticos. Na
Figura 6.30, o caminho crtico est ressaltado.
11
11
0

Treinamento

(9)
0
0

2
0

(2)
1

7
1

Construo

Projeto

Aquisio de
Material

(4)

7
5

8
1

Montagem

Teste

Certificao

(1)

(3)

(1)

11 11
0 10

(1)
(2)

Aferio

6
3

8
3

14
14
0

12 12
0

FIGURA 6.30 Clculo do tempo mais cedo.

Simulao
8

(2)

270

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

6.8 PROBLEMAS PROPOSTOS

1 O Problema das Obras de Saneamento

Em um determinado bairro, a prefeitura pretende instalar a infraestrutura necessria de gua e esgoto.


Um trecho do bairro est representado na Figura 6.31.

Praa

rea verde

rea

sentido da declividade

ponto de chegada da rede


de gua da prefeitura

sentido da declividade

verde
rea
verde
rea verde

ponto de coleta da rede de esgotos

FIGURA 6.31 Bairro do problema.

As redes de gua devem passar por pelo menos trs lados de um quarteiro habitado e as de esgoto por
todos. As escavaes realizadas no sentido horizontal so quatro vezes mais caras do que as de sentido vertical. A praa s precisa ser abastecida por gua em um de seus lados (qualquer um) e no precisa de rede
de esgoto.
Para realizar o planejamento da obra e seu respectivo oramento, o prefeito determinou ao departamento de engenharia que elaborasse um projeto inicial de distribuio fsica das redes que atendesse
s seguintes situaes:
1. Projetos independentes para as redes de gua e esgoto.
2. Projetos das redes objetivando utilizar as mesmas escavaes, sempre que possvel.
Os tubos de esgoto devem ser assentados no sentido da declividade do terreno. Os tubos de gua
podem seguir qualquer trajetria, pois trabalham sob presso. Para evitar problemas de perda de carga
os ramais de abastecimento de gua no devem possuir comprimento maior do que 10 lados dos quarteires quadrados (sem levar em conta o comprimento das ruas). Os quarteires retangulares e oblquos so considerados equivalentes a dois quarteires pequenos em suas faces mais longas.

2 O Problema do Caminho mais Curto na Cidade Destra

Uma certa cidade possui um cdigo de trnsito rgido e peculiar: em suas ruas jamais permitido que
um veculo faa uma curva esquerda. Toda vez que um motorista desejar fazer uma mudana de direo ele ter de seguir sempre direita. Todas as ruas da cidade so de mo dupla. Uma cooperativa
de txi resolveu desenvolver um software para auxiliar os motoristas a encontrarem sempre o caminho
mais curto entre sua posio e as chamadas de atendimento. Modifique o algoritmo de Dijkstra (se necessrio) para que esse possa funcionar corretamente nesse tipo de malha viria.

PROBLEMAS DE CONEXO: RVORES, CAMINHOS E EMPARELHAMENTO

271

3 O Problema do Reabastecimento dos Carros Eltricos

Uma cidade est ativando um novo sistema de transporte pessoal para a sua regio central. O sistema constitudo por pequenos carros eltricos. O sistema visa a reduzir a poluio, o barulho e os
engarrafamentos na regio, minimizando a presena de veculos convencionais. Os pequenos e
geis carros eltricos funcionam a partir de dois grandes estacionamentos articulados com as estaes de nibus e metr. O principal problema desses carros que sua autonomia pequena e eles
necessitam ser abastecidos a cada duas horas de operao contnua. No centro e nas cercanias foram criados vrios eletropostos para providenciar esse servio, mas, obviamente, eles possuem limitaes de demanda. Para ajudar o motorista a programar seu trabalho, inclusive fora do centro
da cidade, se necessrio, o carro dispe de um software que auxilia a encontrar sua melhor rota,
face aos pontos de visita desejados. Desenvolva um algoritmo para esse tipo de roteamento, fazendo as consideraes que julgar pertinente ao caso.

4 O Problema do Labirinto Bifurcado

O famoso heri Teseu, aps escapar do labirinto do Minotauro, foi preso por um rei que se julgava
muito esperto. Esse rei havia criado um labirinto no qual todos os caminhos eram sempre bifurcados,
ou seja, nunca havia mais de dois caminhos a seguir. Segundo ele, era possvel sair de l sem possuir
um novelo de l ou sem fazer qualquer marca nas paredes do labirinto. O rei props esse desafio a Teseu em troca da mo de sua filha, a princesa Bela. Se voc fosse Teseu aceitaria o desafio? Justifique
sua resposta.

5 O Problema da Rota mais Barata sujeita a Pedgio

Um carro pretende cruzar um trecho de estradas administrado por certa empresa e sujeitas a pedgio,
trafegando da cidade S para a cidade T. O custo da travessia igual soma do total da distncia percorrida com o valor do pedgio. As regras de pedgio so simples: o carro paga a tarifa do pedgio correspondente ao trecho percorrido, descontado o valor pago anteriormente em qualquer trecho administrado pela mesma empresa. Com essa forma de tarifar, o veculo pagar, a ttulo de pedgio em uma
rota, o valor da maior tarifa correspondente a um trecho desta. A Figura 6.32 apresenta no campo (a) as
distncias entre as cidades S e T dentro das rotas possveis, e no campo (b) as tarifas de pedgio de cada
trecho passvel de utilizao.
[5]

[4]
S

[5]

[1]
[2]

[4]

[4]
[4]

[5]

[3]
[10]

[3]

[6]

[2]

[3]
3

[8]

[3]
T

(5)

(6)

(5)

(8)

(1)

[4]

(6)

(4)

(1)

(4)
T

(1)

(3)

(10)

(3)

(a) Distncias entre as cidades

(1)

(1)

(1)

(b) Tarifas de pedgio por trechos

FIGURA 6.32 Distncias e tarifas das estradas.


4

Elabore um algoritmo polinomial para determinar de modo exato o caminho de menor custo entre S e T para um caso geral.

Aplique esse algoritmo ao exemplo solucionando-o.

Calcule a complexidade de pior caso do algoritmo elaborado.

272

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

6 O Problema da Rede de Comunicao

A rede de computadores da Figura 6.33 de alta segurana. Dessa forma, o desenho de sua configurao deve contemplar sempre a possibilidade da existncia fsica de duas rotas (uma de uso corrente e
outra de segurana) para ligar qualquer par de pontos da rede.
1

(0,02)

(0,01)

(0,01) (0,02) (0,03) (0,02)


(0,01) (0,07)
(0,03)
(0,05)
9

(0,01)
(0,03)

(0,06)

(0,04) (0,01)
(0,01)
(0,1)
3

(0,01)

(0,02)

(0,01)

(0,06)

FIGURA 6.33 Rede de computadores.

Desenvolva um algoritmo que seja capaz de determinar a soluo procurada para qualquer instncia desse tipo de problema. Aplique o algoritmo na rede do problema encontrando a soluo desejada.

7 Rede PERT/CPM

Desenvolva a rede PERT/CPM do problema descrito abaixo, calculando o caminho crtico e as folgas
das atividades.
Nmero

Atividades

Atividade de Pr-Requisito

Durao

Arco

Tempo mais Cedo

Incio da Obra

Terraplenagem

0-1

t1

Fundaes

1-2

t2

Estrutura

2-3

t3

Alvenaria No Estrutural

2-4

t4

Instalaes

2-5

t5

Esquadrias

4-6

t6

Piso

4-7

t7

Laje

3-8

t8

Telhado

8-9

t9

10

Acabamento Interno

5,6,7,8

vrios

t10

11

Acabamento Externo

6,9

vrios

t11

12

Entrega da Obra

10,11

t12

PROBLEMAS DE CONEXO: RVORES, CAMINHOS E EMPARELHAMENTO

273

Esquadrias
(2)

Piso
(2)

11

Alvenaria (5)

(4)

10
(2)

(3)

Instalaes
0
1
2
(7)
Terraplenagem Fundaes
(5)
Estrutura

12
Acabamento
Interno

(3)

(3)

Laje

Acabamento
Externo
(5)

Telhado

Rede PERT/CPM Associada Tabela

8 Rede PERT/CPM

A rede PERT/CPM que se segue representa as atividades de desenvolvimento de um software. O desenvolvedor est interessado em reduzir o prazo final do projeto. Se uma atividade da rede for contratada de terceiros, seu tempo ser reduzido a zero dentro do modelo.
J
(2)

(3)
(2)

(1)

(2)
A

(2)
H

(3)
(4)

(7)

(1)
B

(2)

(5)

(5)

(3)

(5)

(4)

(1)

C
(2)

(5)

(3)

(6)

(6)

(1)

(3)

(1)

(4)

(4)
E

(3)

Rede PERT/CPM

Sabendo-se que os valores mostrados sobre as setas representam durao esperada para atividade
pede-se:
1. Qual o nmero mximo de atividades paralelas dessa rede?
2. Qual o caminho crtico da rede?
3. Se o desenvolvedor decidiu contratar apenas uma atividade para melhorar o desempenho do desenvolvimento, qual ser a escolhida? Supe-se que a atividade contratada deve maximizar a folga final
entre o tempo de projeto (o mais cedo possvel) e o contratual (um certo tempo maior que o de projeto).

FLUXOS EM REDES
E LOGSTICA DE
DISTRIBUIO

7.1 CARACTERSTICAS DOS MODELOS DE FLUXOS EM REDES


Vrios e importantes modelos de programao linear possuem uma estrutura especial que permite o desenvolvimento de algoritmos eficientes e especializados em sua soluo. Nessa famlia de problemas, um
dos mais tradicionais o problema de transportes. De uma maneira geral, os denominados modelos em redes
permitem a soluo de importantes problemas reais e so de extraordinria aplicao prtica (ver casos em
Boorstyn e Frank [1977], Biros e Boros [1984], Carraresi e Gallo, [1984], Langevin et al. [1993], Phillips e
Westbrook [1993]). Na dimenso da soluo, esses modelos permitem o aperfeioamento de conhecidas e
tradicionais tcnicas, de modo a alcanarem uma enorme eficincia no seu processo de resoluo.

7.2 UMA TAXONOMIA PARA OS PROBLEMAS DE FLUXOS EM REDES


7.2.1 Uma Descrio do Problema de Fluxos em Redes
Os chamados problemas de fluxo abordam o processo de otimizao da distribuio de produtos originados em pontos de oferta e consumidos em pontos de demanda dentro de uma rede de interligaes
possveis. Esses problemas normalmente ocorrem dentro de plantas industriais, sistemas de comunicao e de transporte, de distribuio de gua etc., contudo servem de modelo para inmeras outras situaes absolutamente diversas que lhe so assemelhadas por abstrao. Normalmente, a oferta de
cada produto, bem como a sua demanda, possui um valor conhecido. O processo de distribuio dos
produtos no realizado obrigatoriamente de um ponto de produo a um ponto de demanda, permitindo-se que pontos intermedirios, tais como depsitos ou centros de concentrao e distribuio, sejam utilizados. As interligaes podem possuir restries de capacidade de trfego e custos variados.

7.2.2 Formulao Matemtica do Problema de Fluxos em Redes


Definimos uma Rede R = (E, V, F) como um grafo direcionado G = (E, V) atravessado por um Fluxo F =
{f1, f2,..., fm} que circula em suas m arestas. Em uma rede normalmente dois ns so destacados: o n fonte e o n sumidouro (ver os detalhes da definio no anexo Tpicos em Teoria dos Grafos). Podemos representar atravs de equaes matemticas o problema de fluxo ilustrado na Figura B.12 do Anexo e

276

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

exemplificado na Figura B.13 do Anexo. Denominando por xij o fluxo que ir circular no arco i-j podemos representar as restries expressas nos arcos da seguinte forma:
4

Restries de Capacidade dos Arcos

Todos os arcos da rede so capacitados, mesmo quando o limite superior +, e o inferior . Nesse
caso indispensvel representar os limites de fluxo dentro de cada arco. Representaremos o limite inferior ou mnimo de fluxo do arco (i, j) E por lij e o superior ou mximo por Lij. Dessa forma, as restries de limite de fluxo sero escritas como se segue:

Arco i-j
lij xij Lij

Arco 1-2
0 x12 8

Arco 2-5
1 x25 10 etc.

Restries de Equilbrio de Fluxo em Cada N

Os ns da rede, com exceo dos ns fonte e sumidouro, so conservativos em relao ao fluxo, ou seja, o
fluxo que chega ao n igual ao fluxo que deixa o n. Os pontos de oferta e demanda podem ser tambm
representados como pontos conservativos de fluxo, desde que associados artificialmente a um n fonte
(pontos de oferta) e a um n sumidouro (ns de demanda). A equao geral de equilbrio de fluxo :
Fluxo que chega Fluxo que sai

=
ao n i

do n i
Representando o fluxo que atravessa o arco (i, j) E pela varivel xij, podemos escrever as equaes de equilbrio de fluxo da seguinte forma:
4

Equilbrio de fluxo nos ns

xki =

(k, i ) E

xij

(i , j ) E

Equilbrio do n 2
x12 x23 x25 = 0

Equilbrio do n 1 (arco 6-1 o arco artifical de equilbrio)


x61 x12 x14 = 0 etc.

Funes Objetivo Possveis

No processo de otimizao dos fluxos em uma rede podemos dizer que dois objetivos so muito comuns: maximizar o fluxo total que passa pela rede ou minimizar o custo de um certo fluxo. Assim:
4

Fluxo mximo
Maximizar x61

FLUXOS EM REDES E LOGSTICA DE DISTRIBUIO

277

Fluxo de custo mnimo

Considerando que existe um custo unitrio cij associado ao trnsito de cada unidade de fluxo pelo
arco xij ento a funo objetivo pode ser escrita como:
Minimizar

cijxij

(i , j ) E

Caractersticas da Matriz de Restries de uma Rede

A matriz das restries de fluxo, matriz A, possui uma configurao bastante peculiar, como podemos
observar na Figura 7.1, com conferncia rede exemplificada na Figura B.13.

Arcos
Ns

x12

+1

x23

x25

x36

x14

x56

+1
+1

x61
+1

+1

+1
+1

4
5

x45

1
1

+1
1

FIGURA 7.1 Matriz das restries de fluxo.

A configurao da matriz A, observada na Figura 7.1, lhe confere uma srie de propriedades que,
basicamente, sero responsveis pelo ganho em eficincia na implementao de verses especializadas
do algoritmo simplex para sua soluo. Ao estruturarmos a matriz de incidncia n arco da Figura
7.1 adotamos a conveno de marcar o sentido de entrada do arco em um n como negativo e o sentido
de sada como positivo. Ao observarmos a coluna de x12 da matriz distinguimos que a direo do arco
que liga os ns 1 e 2 do n 1 (sinal positivo) para o n 2 (sinal negativo). A principal propriedade da
matriz A a total unimodularidade. Dizemos que uma matriz totalmente unimodular quando seu determinante sempre 0, 1 ou 1 para a matriz e para todas as suas submatrizes quadradas (ver teorema
de Heller e Tompkins Tpicos em lgebra Linear e Convexidade no anexo). Uma segunda propriedade decorrente diz respeito s solues de um sistema Ax = b, onde A totalmente unimodular. Nesse
caso, as solues do sistema obtidas pelo algoritmo simplex para tal sistema so inteiras desde que o
termo independente b seja tambm inteiro.
4

Formulao Geral de Fluxos em Redes

Em muitas ocasies interessante considerar o equilbrio de fluxo associado a um vetor de oferta ou de


demanda em cada n. A formulao assim elaborada no necessita da considerao explcita de um n
fonte e um n sumidouro, bem como libera a necessidade da considerao de arcos artificiais que liguem os ns de oferta a uma fonte e os de demanda a um sumidouro. De fato a essncia da modelagem
por fluxo em rede permanece preservada; contudo, para determinados fins, essa abordagem mais eficiente. Nesse caso, a equao de equilbrio de fluxos poder ser reescrita como:
Fluxo que chega Fluxo produzido Fluxo que sai Fluxo consumido

+
+

=
no vrtice

ao vrtice no vrtice do vrtice

278

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

Se denominarmos genericamente por di o balano final entre o que produzido e consumido dentro de
cada n, ento podemos reescrever a formulao geral do problema de fluxo em rede da seguinte forma:
Minimizar z =

cijxij

(i , j ) E

sujeito a:

xij

(i , j ) E

xki = di i = 1, ..., n

(k, i ) E

lij xij Lij

"(i, j) E

A escolha da formulao mais adequada ser determinada pelas circunstncias do problema e do


algoritmo de soluo adotado.
4

Formulao Restrita

De um modo geral, o problema de fluxo de custo mnimo em uma rede com n = m + 2 ns, onde m representa o nmero de ns reais e n o nmero de ns da rede equilibrada, poder ser formulado tambm como:
Minimizar z =

cij xij

(i , j ) E

sujeito a:

xij

(i , j ) E

xki = 0 i = 1, ..., n

(k, i ) E

lij xij Lij

"(i, j) E

7.2.3 Uma Taxonomia para o Problema de Fluxo em Redes


Os problemas em redes podem ser classificados, de um modo geral, dentro da seguinte hierarquia:

Problemas de Fluxos em Redes

Fluxo de Produtos

3 Fluxo mximo
3 Fluxo de custo mnimo
3 Problema de transporte
3 1-Matching
3 Designao
3 Transbordo

Caminhos

3 Caminho mais curto


3 Caminho mais longo
3 PERT/CPM
3 Caminhos eulerianos
3 Caminhos hamiltonianos

Expanso de Redes

3 Problema de localizao
3 Problema de Steiner
3 Projeto de redes

FIGURA 7.2 Taxonomia para problemas de fluxo.

FLUXOS EM REDES E LOGSTICA DE DISTRIBUIO

279

7.3 MODELOS ESPECIAIS EM REDES


7.3.1 O Problema de Transporte
O problema de transporte um problema de fluxo em grafo bipartido, de modo que no existem ns
intermedirios de transbordo ou transio para o fluxo. Na viso clssica deste problema, os arcos no
possuem limite de capacidade para o fluxo. De uma forma geral a descrio grfica do problema pode
ser resumida na Figura 7.3:
Os vrtices da rede da Figura 7.3 foram numerados de modo a destacar a condio de sada (vrtices de oferta) e entrada de fluxo (vrtices de demanda). O problema de transporte pode ser visto como
um problema de fluxo em que o objetivo minimizar globalmente os custos do fluxo atravs dos arcos
de uma rede oferta demanda semelhante da Figura 7.4.

d1

o1

d2
o2
d3
o3
d4
d5

o4

ns de
oferta (m)

ns de
demanda (n)

FIGURA 7.3 Caracterstica do fluxo no problema de transporte.

o*
1
(oi , 0, + )

o*
2

d*
1
d*
2

(dj , 0, + )

d*
3
o*
3
d*
4
o*
4

ns de
oferta (m)

d*
5

ns de
demanda (n)

o i = d j , 0,
j=1
i= 1

FIGURA 7.4 O Problema de transporte no formato de fluxo em redes.

280

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

Formulao Restrita para o Problema de Transporte

Podemos tambm considerar o problema de transporte como ocorrendo em uma rede de fluxo conservativo. Adicionando um n fonte (f) e um n sumidouro (s), e considerando limites inferiores para
a oferta e a demanda iguais a oi e dj respectivamente, podemos formular o problema de transporte
como um caso particular do problema de fluxos na rede da Figura 7.4. Nessa figura, os ns de oferta e
demanda esto sendo marcados com * para serem distinguidos dos valores de limite de fluxo.
Considerando um problema com R = {1, 2,.., r} ns e |R| = m + n + 2. Denominando por O, O = {1, 2,
..., m} o conjunto dos ns de oferta, por D, D = {1, ..., n} o conjunto dos ns de demanda e por cij o custo
de transporte de uma unidade de fluxo pelo arco i-j, temos:

Minimizar z =

cijxij

iO jD

sujeito a:

xij

(i , j ) E

xki = 0

xfi = oi

iO

xjs = dj

jD

xsf =

dj =

jD

oi

iO

xij 0,
4

iV

(k, i ) E

(i, j) E

Formulao Clssica para o Problema de Transporte

Podemos formular o problema de transporte somente considerando as demandas e ofertas localizadas


nos ns e sem os arcos e ns artificiais da seguinte forma:
m

Minimizar z =

cijxij

i=1 j=1

sujeito a:
n

xij = oi

i = 1, ..., m

xij = dj

j = 1, ..., n

xij 0

i = 1, ..., m; j = 1, ..., n

j=1
m

i= 1

Observamos que a matriz de restries do problema de transporte na formulao clssica ainda


mantm a propriedade da unimodularidade. Seja o exemplo numrico da Figura 7.5.

FLUXOS EM REDES E LOGSTICA DE DISTRIBUIO

281

A
dA = 15

xij

1
o1 = 25
B
dB = 15
o2 = 25
2
dC = 20
C

FIGURA 7.5 Exemplo 1 de problema de transportes.

A formulao geral do problema pode ser desdobrada da seguinte forma:


Minimize z = c11x11 + ... + c1nx1n + c21x21 + ... + c2nx2n + ... + cm1xm1 + ... + cmnxmn
sujeito a:
x11 ... + x1n
x21 + ... + x2n

x11

= o1
= o2

+ x21

+ xm1 + ... + xmn


+ xm1

x1n

+ x2n

= om
= d1

+ xmn = dn

xij 0, i M, j N
Que para o exemplo, considerando que o vetor de custos [c] = [2, 5, 3, 7, 4, 1] redundaria em:
Minimize z = 2x1A + 5x1B + 3x1C + 7x2A + 4x2B + 1x2C
sujeito a:
x1A + x1B + x1C
x2A + x2B + x2C
x1A
+ x2A
x1B
+ x2B
x1C
+ x2C
xij 0

i {1, 2},

= 25
= 25
= 15
= 15
= 20

j {A, B, C}

As variveis associadas ao fluxo nos arcos ij formam uma interessante matriz de restries
A = {aij}, totalmente unimodular e de rank (A) = m + n 1, uma vez que existem m linhas no conjunto
de restries de oferta e n no conjunto de restries de demanda, mas com apenas m + n 1 graus de
m

i= 1

j=1

liberdade, j que oi = dj.

282

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

Abordagem Primal de Soluo


O processo de soluo desse sistema de equaes pode ser bastante simplificado face a peculiaridade
de sua matriz de restries. Considerando a seguinte matriz A, submatriz de rank m + n 1 da matriz A
do modelo decorrente do grafo da Figura 7.5, obtida pela eliminao da ltima restrio, bem como das
duas primeiras colunas da matriz A:
x 1C
1
0
A= 0

x 2A
0
1
0
0

x 2B
0
1
1
0

x 2C
0
1
0
1

Nota-se que essa submatriz uma matriz triangular superior (possui todas as posies abaixo da
diagonal iguais a zero), podendo ser decomposta, portanto, em submatrizes a saber:
I
A= 0m

R
I n1

onde I representa uma matriz identidade.


Suponhamos agora que tenhamos obtido uma base B qualquer de A. Como o rank (A) = m +n 1,
pelo menos uma coluna de B dever conter apenas uma nica entrada positiva, ou det B = 0. Nesse
caso, permutando as linhas e as colunas de B de forma a colocar sua nica entrada positiva na posio
ocupada por Im poderemos obter:
1 Q

B = 0 B

m+n2
Aplicando novamente o mesmo raciocnio matriz Bm+n2 podemos reescrever a matriz B, onde P
uma submatriz de B, da seguinte forma:
1 Q1
B = 0 1

0 0

Q2

P
B m+n3

O que demonstra que B uma matriz triangular. Como B uma matriz triangular existe uma certa permutao de B que soluciona o sistema BxB = b apenas com substituies elementares de valores das variveis. Vamos exemplificar o que apresentamos analiticamente no exemplo 1 (Figura 7.5). Podemos obter
uma base de A adicionando uma varivel artificial xa ao conjunto formado pelas variveis x1C, x2C, x1A, x1B
x 1C
1
0
B i = 0
0
1

x 2 C x 1A x 1B
0 1 1
1 0 0
0 1 0
0 0 1
1 1 0

xa
0
25
0
25
0 x B = 15
0
15
1
20

[ ]

que poder ser triangularizada em:z


x a x 1C
1 1
0 1
B i = 0 0
0 0
0 0

x 2C
1
0
1
0
0

x 1A
0
1
0
1
0

x 1B
0
25
1
25
0 x B = 15
0
15
1
20

[ ]

FLUXOS EM REDES E LOGSTICA DE DISTRIBUIO

283

Com essa estrutura favorvel para a obteno de uma soluo para o problema da inverso de B,
seria natural supor que o algoritmo simplex pudesse ser especializado para um melhor desempenho.
Podemos resumir o problema no quadro da Figura 7.6, que denominaremos quadro de transporte, em
que cada clula do quadro representa uma varivel, ou seja, um arco de ligao, e o valor incluso no
quadro menor significa o custo da clula (custo de uso do arco). Assim, para o exemplo, temos:

Demanda
ndices

Oferta
2
Valor

3
x1B

x1A

4
x2A
15

Valor

x1C

25

x2C

25

1
x2B
15

20

FIGURA 7.6 Quadro de transporte do exemplo 1.

Para que possamos especializar o simplex seria indispensvel que pudssemos explorar a peculiaridade do formato e das propriedades da matriz A dentro das seguintes etapas do mtodo:
4

Obteno de uma soluo inicial.

Procedimento de melhoria da soluo corrente.

Regra de parada e de verificao da viabilidade.

Ento, vamos aos pontos em questo:

Ponto 1: Obteno da soluo bsica inicial


O quadro de transporte conveniente para a determinao de uma base vivel inicial para o simplex
devido a uma interessante propriedade:
Proposio 7.1
A condio necessria e suficiente para que determinadas variveis do problema de
transporte sejam linearmente dependentes que formem um ciclo no quadro de transportes.
A Proposio 7.1 pode ser verificada para o problema numrico do exemplo nos quadros abaixo:
Os traos que unem as casas hachuradas ressaltam a formao de ciclos dentro do quadro de transportes (ver grafo do ciclo Figura 7.7 (c)). Facilmente verificamos que esses conjuntos de variveis associados aos ciclos no quadro de transporte so linearmente dependentes (L. I.). Por outro lado, so linearmente independentes os conjuntos de variveis que formam uma rvore (ver a definio de rvore

x1A

x1B

x1C

x1A

x1B

x1C

x2A

x2B

x2C

x2A

x2B

x2C

a) Ciclo {x1B, x1C, x2C, x2B}

b) Ciclo {x1A, x1B, x2B, x2A}

x1A

x1B

x1C

x2A

x2B

x3C

c) Grafo do ciclo
{x1B, x1C, x2C, x2B}

FIGURA 7.7 Representao dos ciclos no quadro de transportes.

284

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

no Anexo B) nesse mesmo quadro de transporte, quando consideramos cada clula como um n de um
grafo. Na Figura 7.8 exemplificamos dois casos de variveis L.I. Como so L.I., tais variveis podem ser
utilizadas para compor uma base do algoritmo.
A literatura relata algumas regras para a obteno de bases iniciais de boa qualidade, ou seja, que
possuam valores prximos do valor timo procurado. Os dois mtodos mais conhecidos so:

x1A

x1B

x1C

x1A

x1B

x1C

x2A

x2B

x2C

x2A

x2B

x2C

FIGURA 7.8 Exemplos de bases para o problema de transporte.

Mtodo do Canto Noroeste

1. Inicie pela clula (1, 1) do quadro de transporte.


~
~
~
2. Faa: x11 = Min{~
o 1 , d 1 } e substitua ~
o 1 por ~
o 1 x11 e d 1 por d 1 x11.
~
~
~
~
Se ~
o 1 > d 1 , v para a clula (1, 2) e Faa: x12 = Min{~
o 1 , d 2 } e substitua ~
o 1 por ~
o 1 x12 e d 2 por d 2 x12.
~
~
~
~
Se ~
o 1 < d 1 v para a clula (2, 1) e Faa: x21 = Min{~
o 2 , d 1 } e substitua ~
o 2 por ~
o 2 x21 e d 1 por d 1 x21.
~
Se ~
o 1 = d 1 (degenerao), Faa: x11 = 0 e v para (2, 2) ou (1, 3).
3. Se uma soluo j foi alcanada, pare. Caso contrrio, desconsidere linhas e colunas satisfeitas e
aplique as regras anteriores fazendo a clula corrente ocupar a posio da clula (1, 1).
Vamos exemplificar a obteno da base inicial para o exemplo numrico da Figura 7.5.
5

3
x1B

x1A
7

4
x2A
15

x1C

25

x2C

25

1
x2B
15

20

Quadro inicial associado Figura 7.5

~
~
~
x11 = Min{~
o 1 , d 1 } = Min{25, 15} = 15 ~
o 1 15 = 25 15 = 10; d 1 15 = 15 15 = 0 ~
o 1 > d 1 , ento:
~
~
~
x12 = Min{~
o 1 , d 2 } = Min{10, 15} = 10 ~
o 1 10 = 10 10 = 0; d 2 10 = 15 10 = 5 ~
o2 > d2
~
~
~
x22 = Min{~
o 2 , d 2 } = Min{25, 5} = 5 ~
o 2 5 = 25 5 = 20; d 2 5 = 5 5 = 0 ~
o2 = d3
x23 = 20

FLUXOS EM REDES E LOGSTICA DE DISTRIBUIO

3
10

15
7

x1C

25

20

25

x2A

15

285

15

20

Base inicial (rvore) associada Figura 7.5

Que representa a seguinte base inicial:


4

Mtodo de Vogel para Obteno de uma Soluo Inicial

1. Construa o quadro de transporte de Vogel (ver Quadro 1 de Vogel). Se o total da oferta for diferente
do total da demanda crie uma origem (ou destino) fictcia para que haja equilbrio.
2. Determine a diferena entre os dois menores custos de cada linha e cada coluna.
3. Selecione a linha (ou coluna) de maior diferena. Caso ocorra empate, escolha aleatoriamente.
4. Na coluna (ou linha) escolhida, atribua, na clula de menor custo, a maior quantidade possvel de
suprimento.
5. Atualize as ofertas (e demandas), subtraindo a quantidade de suprimento atribuda. As linhas ou
colunas em que a oferta ou demanda j foi satisfeita devem ser eliminadas nas prximas etapas.
6. Se no restar mais linhas ou colunas a serem preenchidas, pare. Caso contrrio, volte ao ponto 2.
Utilizando o mtodo de Vogel para obter a soluo inicial de nosso exemplo numrico:
O problema j equilibrado, restando-nos construir o quadro de clculo. O quadro de Vogel o
mesmo quadro de transporte acrescido de reas para o registro das diferenas entre os dois menores
custos:
Iniciamos calculando as diferenas de custos entre as clulas (linhas e colunas)
Coluna A = 5; coluna B = 1; coluna C = 2; linha 1 = 3; linha 2 = 6 (ver o Quadro 1).
A

Diferenas

Diferenas

(3 2)

25 3

(4 1)

25

X
15

15

20

5
(7 2)

1
(5 4)

2
(3 1)

Quadro 1 de Vogel

286

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

Escolhemos a clula de menor custo da linha 2 (2, 3) para receber a maior quantidade de suprimento possvel, atualizando-se as demandas e ofertas em virtude dessa ao (ver Quadro 2). A coluna 3
pode ser eliminada do quadro, recalculando-se as diferenas. A coluna A possui a maior diferena e a
clula (1, 1) o menor custo.
coluna eliminada na primeira iterao

B
5

2
1

Diferenas

C
3

X
7

25
4

(5 2)

(7 4)

20
15

15

20 0

5
5

1
1

Diferenas

25

Quadro 2 de Vogel

Com as atualizaes, a coluna A pode ser eliminada. O processo segue at o quadro final (Quadro 4).
coluna eliminada na segunda iterao

2
1

Diferenas

10

15
7

25

20
15

15

20 0

1
1
1

5
5

Diferenas

5
25

Quadro 3 de Vogel

B
5

2
1

10
4

25
5

1
5

2
15

Diferenas

10 0

15
7

0
5
5

Diferenas

15

1
1
1

Quadro 4 de Vogel

20
20 0
2

25

FLUXOS EM REDES E LOGSTICA DE DISTRIBUIO

287

Ponto 2: Procedimento de melhoria da soluo bsica corrente


Sabemos que o mtodo simplex calcula a contribuio gerada pela entrada na base de cada varivel
no bsica, escolhendo a varivel de maior contribuio para ingressar na base. Essa contribuio obtida atravs do valor dos custos reduzidos, ou zj cj para j J, que so expressos, no caso geral do problema de programao linear, pela j conhecida relao:
zj cj = cBB1aj cj
como
B1aj = yj
temos que
z j c j = c B yj c j
Podemos reescrever a equao anterior em funo do quadro de transporte, em que cada clula representa uma varivel (o valor do fluxo em um arco). Nesse caso, deveremos associar um valor de contribuio pela utilizao da clula como uma varivel bsica. Como os custos esto associados a duas
dimenses, a equao dos custos reduzidos pode ser reescrita da seguinte forma:
zij cij = cByij cij
O interessante nesse caso que a matriz de colunas transformadas yij pode ser obtida simplesmente por adies e subtraes das variveis bsicas, o que permite uma forte simplificao nos clculos
necessrios. Podemos calcular a contribuio para a melhoria da soluo corrente, em virtude da possvel entrada de uma nova varivel na base atravs do procedimento primal abaixo sugerido:
j
u

+1
auj

1
aus
1
alk

i
aij

+1
als

+1
aik

Clculo zij cij = (cuj cus+ cls clk+ cik) cij

O clculo facilmente justificado uma vez que a entrada na base de uma varivel, no contexto do
quadro, implica a substituio de variveis que tm valor no nulo na linha e na coluna da varivel que
entra. Utilizando-se essa propriedade a expresso zij cij pode ser calculada apenas atravs do balano
contbil. Note que a independncia linear pode ser caracterizada pelo valor (+) e (-) associado s colunas
das variveis. Variveis com entradas () so L.I. em relao varivel para a qual o exame foi estruturado. Vamos exemplificar o clculo dos zij cij do quadro que se segue:

288

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

x1A

x1B

x1C

x2A

x2B

x2C

Quadro do clculo zij cij

Como existem duas variveis fora da base x1C e x2B, temos de calcular z1C c1C e z2B c2B para verificar a possvel contribuio decorrente da entrada na base dessas variveis.
z1C c1C = + 2 7 + 1 3 = 7
z2B c2B = + 7 2 + 5 4 = + 6
o que nos mostra que a soluo bsica no tima e x2B pode entrar na base.
Resta-nos agora interpretar as condies de sada da base. No caso particular do quadro de transportes, uma varivel que entra na base substitui totalmente a demanda coberta pela varivel que sai.
Para evitar o surgimento de inviabilidade na soluo (valores negativos de fluxo) devemos considerar
a substituio pelo menor valor (D) existente entre todas as variveis que possurem a atribuio +1 associada varivel que entra. No caso do exemplo:
(D) = mnimo {x2A, x1B}.

Ponto 3: Regra de parada


A regra de parada ser dada por zij cij 0, "i, j do quadro.
Para concluir o nosso estudo da soluo primal especializada para o problema de transporte, seria
interessante confrontar o quadro do simplex com o quadro de transporte associado. Seja a base calculada pelo mtodo do canto noroeste e seu quadro simplex associado como descritos a seguir:
5

15
7

10
4

25

20

25

x2A

5
15

15

x1C

20

Quadro do Canto Noroeste

x1A

x1B

x1C

x2A

x2B

x2C

xa

120

x1A

15

x1B

10

x2B

x2C

20

xa

Quadro simplex

FLUXOS EM REDES E LOGSTICA DE DISTRIBUIO

289

Abordagem utilizando a varivel dual


O mtodo de resoluo do problema de transporte tambm denominado mtodo do ciclo. De posse
do quadro inicial obtido, por exemplo, pelo mtodo do canto noroeste, o mtodo calcula os zij cij associados s clulas no bsicas e efetua a melhoria com a entrada de nova varivel (clula ativa). O valor
da varivel que entra imediatamente calculado em funo da substituio da varivel que sai e a distribuio do quadro atualizada.
possvel, contudo, um outro caminho para o clculo dos zij cij, da seguinte forma:
zij cij = cBB1aij cij = cByij cij
O elemento yij determinado atravs da construo de um ciclo pela ocupao da clula i-j, porm
sabemos que:
zij cij = waij cij
Se fizermos wi, i = 1, ..., m ser representado por ui, e wm+j, j = 1, ..., n por vj, ento o vetor dual w
dado por:
w = (u1, ..., um, v1, ..., vn)
Como aij possui um 1 na isima e (m + j)sima posies, ento w aij = ui + vj. Ento:
zij cij = ui + vj cij
Esse mtodo de calcular os custos reduzidos denominado mtodo das variveis duais. Como w =
cBB1, ento w uma soluo do sistema wB = cB, lembrando que:
B = (apq, ..., ast, em+n)
cB = (cpq, ..., cst, ca)
Onde apq, ..., ast so as m + n 1 colunas da base e cpq, ..., cst so seus custos correspondentes. em + n a
coluna artificial de custo ca, um vetor de zeros com uma atribuio igual a 1 na posio m + n. Lembrando que a varivel artificial estar sempre atribuda a zero, o valor de ca irrelevante (normalmente arbitrado igual a zero). Como B uma matriz triangularizvel, o sistema de equaes associado s variveis duais w facilmente solucionvel. O sistema:
(u1, ..., um, v1, ..., vn) (apq, ..., ast, em+n) = (cpq, ..., ast, 0)
equivalente uma vez que aij = ei + em+j. Logo:
up + vq = cpq
M
us + vt = cst
vn = 0
Vamos calcular os valores das variveis duais para o quadro de nosso exemplo numrico: a varivel dual v3 artificial e a ela ser atribudo o valor zero. Da:

290

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

vc = 0
para a clula (2, C)
para a clula (2, A)
para a clula (1, A)
para a clula (1, B)

u 2 + vc = 1 u 2
u2 + vA = 7 vA
u1+vA = 2 u1
u1 + vB = 5 vB

=1
=6
= 4
=9

Com os valores duais podemos calcular os zij cij:


z 2A c2A = u2 + vA c2A = 1 + 6 7 = 0 (varivel bsica)
z2B C2B = u2 + vB c2B = 1 + 9 4 = + 6
z1C C1C = u1 + vC c1c = 4 0 3 = 7

A Soluo do Exemplo Numrico


Em nosso exemplo tanto o mtodo do canto noroeste como o de Vogel chegaram soluo tima. Suponhamos que a base inicial escolhida fosse outra:
4

Obteno de uma soluo inicial (o mtodo de escolher uma rvore qualquer no quadro de transporte):
5

x1A
7

5
4

25

x2C

25

15

10

15

20

15

20

Procedimento de melhoria da soluo corrente:

De posse da base inicial obtemos xB e os zij cij (atravs do procedimento primal, por exemplo). Nesse
caso:
z1A c1B = + 5 4 7 = 2 5 = + 6
z2C c2C = + 4 5 + 3 1
=+1
4

Regra de parada e de verificao da viabilidade:

Como existe zij cij 0 a base no tima e x1A deve entrar na base. A varivel que deve sair, dentre as
que formam conjuntos L.D. com x1A, aquela que possui menor valor de atribuio, ou seja, D =
Min{15, 5}. D = 5 implica a retirada da varivel x1B. O quadro evolui para:
5

3
x1B

5
7

25

x2C

25

10
15

20

15
15

20

FLUXOS EM REDES E LOGSTICA DE DISTRIBUIO

291

Procedimento de melhoria da soluo corrente:

Nesse caso:
z1B c1B = + 4 7 + 2 5 = 6
z2C c2C = + 7 2 + 3 1 = + 7
4

Regra de parada e de verificao da viabilidade:

Como existe zij cij 0 a base no tima e x2C deve entrar na base, aquela que possui menor valor de
atribuio, ou seja, D = min{10, 20}. D = 10 implica a retirada da varivel x2A. O quadro evolui para:
5

3
x1B

15
7

25

10

25

x2A

15

15

10

15

20

Procedimento de melhoria da soluo corrente:

Nesse caso:
z1B c1B = + 3 1 + 4 5 + = 1
z2A c2A = +2 5 + 4 7 = 6
4

Regra de parada e de verificao da viabilidade:

Como existe zij cij 0 a base no tima e x1B deve entrar na base. A varivel que deve sair, dentre as
que formam conjuntos L.D. com x1B, aquela que possui menor valor de atribuio, ou seja, D =
min{10, 15}. D = 10 implica a retirada da varivel x1C. O quadro evolui para:
5

15
7

10
4

25

20

25

x2A
15

x1C

5
15

20

Que j sabemos ser o quadro timo!

7.3.2 O Problema de Designao (Alocao ou Atribuio)


Um dos casos mais importantes do problema de transporte se configura quando as ofertas e demandas so unitrias. Esse problema denominado de problema de designao e pode ser assim formulado:

292

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

Minimizar z =

cijxij

i=1 j=1

sujeito a:
n

xij = 1

i = 1, ..., n

xij = 1

j = 1, ..., n

j=1
n

i= 1

xij 0

i = 1, ..., n; j = 1, ..., n

O problema de designao pode ser entendido como o problema de alocar n clulas de produo a
n tarefas. Cada uma das clulas capaz de atender tarefa segundo um custo cij peculiar a cada uma
das n clulas. A varivel binria xij = 1 significa que a clula i recebeu a tarefa j como designao no esquema de trabalho, e 0 em caso contrrio. A matriz A deste problema preserva as mesmas condies de
unimodularidade total, sendo que a atribuio das variveis mais simples, sendo apenas 0 ou 1. O
dual do problema de designao pode ser escrito como:
n

i= 1

j=1

Maximizar w = ui + vj
sujeito a:
ui + vj cij
ui, vj irrestritas

i, j = 1, ..., n
i, j = 1, ..., n

Pelo teorema das folgas complementares sabemos que, no timo,


(cij ui vj)xij = 0, i, j = 1, ..., n
O que conduz s relaes denominadas de ortogonalidade
x ij > 0 ui + v j = cij
x = 0 u + v c
ij
i
j
ij
O que significa que, se encontrarmos um conjunto de variveis u, v e x, satisfazendo completamente s condies de ortogonalidade, teremos encontrado o timo do problema. O interesse do modelo
dual tornar o mais simples possvel a tarefa de identificar as condies de viabilidade. Nesse caso, a
soluo dual vivel pode ser encontrada simplesmente por:
~
ui = min

{cij} i = l, ..., n

~
vj = min

{cij ~
ui } j = 1, ..., n

1 j n

1 i n

Como vimos para o problema de transporte, ~


ui pode ser obtido considerando-se o menor na linha i
~
~
e vj como o menor cij ui dentro da coluna j.
Vamos agora acompanhar o planejamento de um algoritmo especializado que utilizar as informaes das variveis duais e o teorema das folgas complementares para a soluo do problema de designao. A estratgia ser obter uma soluo dual vivel (tarefa fcil) e, a cada iterao do algoritmo, reduzir as condies de ortogonalidade no satisfeitas (tarefa um pouco mais elaborada). Seja o seguinte
exemplo numrico.
Desejamos alocar quatro tarefas a quatro mquinas que possuam uma matriz de custo conforme
a Figura 7.9. Nessa matriz, cada clula representa o custo por alocarmos a mquina i (representada na
linha i) tarefa j (representada na coluna j).

FLUXOS EM REDES E LOGSTICA DE DISTRIBUIO

293

Tarefas (colunas)

Mquinas
(linhas)

FIGURA 7.9 Quadro de designao do exemplo numrico.

Como a viabilidade primal do problema de designao exige que toda linha e coluna tenha uma e
somente uma entrada positiva (xij = 1), uma soluo bsica vivel para esse problema representado na
forma de um quadro de designao, como na Figura 7.10, pode ser ilustrada pelas solues exemplificadas nos quadros da Figura 7.10, em que o smbolo representa que a clula tem a varivel a ela associada igual a 1 (xij = 1), permanecendo as demais clulas iguais a zero.

FIGURA 7.10 Solues bsicas viveis (no primal) para o problema de designao.

As relaes que envolvem as variveis duais nos indicam que as posies candidatas designao
deveriam ser identificadas como pontos em que encontramos valores de custos mnimos, quer seja em
relao s linhas (variveis ui) ou colunas (variveis vj). Para buscarmos esse tipo de configurao poderamos desenvolver um procedimento que subtraia o menor valor dos custos dentro de cada linha e
coluna. Cada valor mnimo encontrado, ao ser subtrado de toda a coluna ou linha, vai produzir pelo
menos uma posio nula, posio essa que sinalizaria uma designao dual vivel. Por exemplo, se o
quadro de designao tivesse os valores abaixo descritos:
1

Valor Mnimo na Linha

Nos conduziria, quando subtrados de cada linha, ao quadro:

Valor Mnimo na Coluna

294

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

que novamente subtrado do valor mnimo das colunas nos leva a:


1

Podemos observar que a distribuio de clulas nulas (solues duais viveis) contm uma configurao primal vivel e duas inviveis, dentro das possveis distribuies de quatro alocaes dentro do
quadro, conforme mostra a Figura 7.11.

Configurao 1

Configurao 2

Configurao 3

FIGURA 7.11 Alocaes possveis.

A configurao 2 primal e dual vivel, logo tima. A matriz resultante da subtrao sucessiva
dos valores dos mnimos custos pertencentes a cada linha e coluna no problema de designao chamada de matriz reduzida. O nmero mximo de clulas com custo reduzido zero tal que no mais de
duas ocupem a mesma linha igual ao nmero mnimo de linhas necessrias para cobrir todas as clulas nulas da matriz. Essas clulas so chamadas independentes. Um teorema importante deriva do procedimento de obteno de solues duais viveis no quadro do problema de designao:
Teorema 7.1:
O nmero mximo de clulas independentes em um quadro reduzido do problema
de designao igual ao nmero mnimo de linhas que podem cobrir todos os zeros
da matriz.
Claramente, nem sempre a primeira soluo dual vivel obtida no quadro reduzido apresenta uma
configurao de elementos nulos que permita a identificao de uma base primal vivel. Seja o caso do
quadro de transporte que se segue. Aplicando a tcnica descrita para obter uma soluo dual vivel obtemos a matriz reduzida da seguinte forma:

que leva ao quadro:

Valor Mnimo na Linha

FLUXOS EM REDES E LOGSTICA DE DISTRIBUIO

Valor Mnimo na
Coluna

295

que, quando subtrado do valor mnimo por colunas conduz matriz reduzida:
1

Notamos que, no exemplo que estamos desenvolvendo, no existe uma soluo primal vivel para
o quadro reduzido encontrado, uma vez que as duas primeiras linhas so cobertas por zeros localizados em uma mesma coluna. necessrio, por conseguinte, modificar essa distribuio de clulas alocadas dentro do quadro, no sentido de obtermos viabilidade primal. Ao desenvolvermos um algoritmo
de soluo com um tal propsito, estaremos interessados em encontrar uma melhoria nas condies de
viabilidade primal violadas (representadas pelos zeros localizados sobre uma mesma linha ou coluna).
Consideremos a matriz reduzida do quadro de designao com zeros cobertos pelo menor nmero
de linhas possvel. Faamos k ser esse nmero de linhas necessrias. Faamos Sr ={i1, i2,, ..., p} ser o conjunto das linhas no cobertas por zeros e Sc={j1, j2, ..., q} o conjunto das colunas no cobertas. Definin~
~
do como S r = N\Sr e S c = N\Sc, onde N = {1, ..., n}. Finalmente, seja p o nmero de linhas em Sr e q o nmero de colunas em Sc, ento k = (m p) + (m q). Denominando por c0 o menor elemento no coberto,
ou seja:

{ } >0

~
c0 = min cij
i Sr

jSc

fcil demonstrar que uma nova soluo dual (modificao no quadro invivel) poder ser obtida
da seguinte forma:
ui = ~
ui + c0
ui = ~
ui

i Sr
~
i Sr

vj = ~
vj
~
vj = vj c0

j Sc
~
j Sc

Resumindo: na matriz reduzida, sob o aspecto da manuteno da viabilidade dual, existe uma
equivalncia entre subtrair c0 de cada linha descoberta e adicionar c0 a cada coluna coberta. No caso em
que o quadro possa possuir clulas que tenham dupla cobertura, equivalente subtrair c0 das clulas
descobertas e acrescent-lo s clulas cobertas duplamente. Como so subtrados os valores mnimos
pertencentes a Sr e Sc, o quadro permanece no negativo e cria-se pelo menos um zero em cada linha e
coluna. No exemplo temos:

296

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

Conjunto
Descoberto

c0=1 (menor valor a


descoberto no quadro)

Utilizando essa tcnica para melhorar as condies de ortogonalidade violadas devemos, portanto,
subtrair 1 dos elementos descobertos e somar 1 aos elementos cobertos por dois traos, para obtermos
uma nova soluo dual vivel. O resultado nos leva s solues a seguir enumeradas, todas timas:

Soluo 1

Soluo 2

Soluo 3

FIGURA 7.12 Alocaes possveis.

Podemos consolidar os resultados alcanados nas consideraes das iteraes duais em um algoritmo para o problema de designao, da seguinte forma:

Algoritmo Hngaro
1. Trace o menor nmero possvel de linhas que cubram os zeros existentes nas colunas e linhas da
matriz do quadro de designao. Se o nmero de linhas n, a soluo tima foi encontrada.
2. Determine o menor elemento no coberto pelas linhas. Subtraia esse elemento de todos os demais
no cobertos e o acrescente aos elementos duplamente cobertos. Volte ao passo anterior.
E para orientar o processo de cobrir as linhas e colunas de forma tima, sugerimos o seguinte procedimento de rotulao:

Algoritmo de Rotulao
1.
2.
3.
4.
5.

Marcar todas as linhas que no tenham alocaes.


Marcar todas as colunas que tenham zeros em linhas marcadas.
Marcar as linhas que tenham alocaes em colunas marcadas.
Repetir 1 e 2 at no ser mais possvel marcar linhas ou colunas.
Traar uma reta sobre cada linha no marcada e sobre cada coluna marcada.
Apresentaremos um exemplo completo desse algoritmo no item 7.3.4.

7.3.3 O Problema de Transbordo


Um caso aparentado ao problema de transportes e de designao o problema de alocao capacitado.
Na verdade, esse problema une os dois anteriores ao modelar a possibilidade de um problema de

FLUXOS EM REDES E LOGSTICA DE DISTRIBUIO

297

transporte ser desenvolvido com um conjunto de ns intermedirios entre os pontos de oferta e demanda. A Figura 7.13 descreve esse problema de fazer o fluxo dos pontos de oferta (pontos o) chegarem
aos pontos de demanda (pontos d) passando por pontos intermedirios de transbordo, ou chamados
de pontos de armazenagem.

Vrtices de oferta
(ndices i)

Armazns
(ndice k)

Vrtices de demanda
(ndices j)
d1

O1
a1

d2

O2

.
.
.

.
.
.

.
.
.

as

Om

dn

M = {1,...,m}

S = {1,...,s}

N = {1,...,n}

FIGURA 7.13 O fluxo do problema de transbordo no capacitado.

Considerando:
fk custo fixo de se ativar um ponto de transbordo ou armazm k, k S, S = {1, ..., s}, o conjunto dos
pontos de oferta.
vk varivel binria que assume o valor 1 se o ponto de transbordo ativado e 0 em caso contrrio.
ak capacidade de armazenagem disponibilizada pelo ponto de transbordo k.
xik fluxo que percorre um arco i-k.
ykj fluxo que percorre um arco k-j.
cik custo de percorrer o arco i-k.
wkj custo de percorrer o arco k-j.
Podemos formular o problema de transbordo no capacitado (PTNC):
m

(PTNC) Minimize z =

i=1 k=1

cik xik +

k=1 j=1

wkjykj + fkvk
k=1

sujeito a:
s

xik akvk

k = 1, ..., s

(7.1)

ykj = dj

j = 1, ..., n

(7.2)

xik = xkj

k = 1, ..., s

(7.3)

i= 1
s

k=1
m
i= 1

j=1

298

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

xik 0

i M, k S

(7.4)

ykj 0

k S, j N

(7.5)

vk {0, 1}

kS

(7.6)

A restrio (7.1) descreve o processo de criao (ou abertura) de armazns, considerando o aspecto
do atendimento do fluxo demanda oferta. A restrio (7.2) garante o atendimento da demanda. A
restrio (7.3) assegura a continuidade de fluxo. As demais restries atendem s exigncias de no negatividade e da natureza das variveis.
A formulao anterior descreve um problema no capacitado, ou seja, sem restries associadas
aos fluxos nos arcos. Em muitas situaes reais, o problema de transporte com transbordo possui limites de fluxo em seus arcos, uma vez que as rodovias, ferrovias ou mesmo aerovias possuem limitaes
de trfego. Nesse caso, podemos reescrever (PTNC) utilizando a rede alternativa da Figura 7.14 que facilita a incorporao desse tipo de restrio.

O1

Xik

d1

Ykj

Pk
A1

A'1

.
.
.

.
.
.

d2

O2

.
.
.

Armazns

Ak

.
.
.

A'k

Om

dm

M = {1,...,m}

N = {1,...,n}

S = {1,...,s}

FIGURA 7.14 Rede para o problema de transbordo capacitado.

Considerando:
gk custo de armazenagem na unidade k por unidade de fluxo k S, S = {1, ..., s}.
Hk e hk capacidades mximas e mnimas de armazenagem nas unidades de armazenamento k, que
correspondem tambm a limites para o fluxo na rede.
pk fluxo circulando na unidade de armazenamento k.
lik limite inferior de fluxo no arco i-k.
Lik limite superior de fluxo no arco i-k.
Podemos escrever o problema de transbordo capacitado (PTC) da seguinte forma:
m

(PTC) Minimizar z =

i=1 k=1

sujeito a:

cik x ik +

k=1 j=1

k=1

k=1

vkj ykj + fkvk + gk pk

FLUXOS EM REDES E LOGSTICA DE DISTRIBUIO

299

xik ak vk

k = 1, ..., s

(7.7)

ykj = dj

j = 1, ..., n

(7.8)

xik = pk = xkj

k = 1, ..., s

(7.9)

hk pk Hk

k = 1, ..., S

(7.10)

lik xik Lik

i M, k S

(7.11)

lkj ykj Lkj

k S, j N

(7.12)

xik 0

i M, k S

(7.13)

ykj 0

k S, j N

(7.14)

vk {0, 1}

kS

(7.15)

i= 1
s

k=1
m

i= 1

j=1

Nesse modelo, encontramos as restries de capacidade associadas aos arcos nas restries (7.11) e
(7.12). O fluxo nos pontos de armazenagem controlado pelas restries (7.10) e (7.9). A funo objetivo inclui os custos de armazenagem do produto.

7.3.4 O Problema de Designao e o 1-Matching Ponderado


O problema de 1-matching ponderado o problema de obter, em um grafo G, um conjunto maximal independente de arestas a custo mnimo, como vimos no item 5 do Captulo 6. Seja G = (N, A), N = {1, ...,
2n}, um grafo bipartido em dois conjuntos de ns com n componentes cada. Nesse caso o problema
pode ser formulado do seguinte modo:
n

(1_MAT) Minimizar z =

cij xij

i=1 j=1

sujeito a:
n

xij = 1

i = 1, ..., n

xij = 1

j = 1, ..., n

j=1
n

i= 1

xij {0, 1}

"(i, j) A

Em que:
1 caso a aresta ( i, j) seja includa na soluo
xij
0 caso contrrio

cij O custo da aresta (i, j) ser escolhida para integrar a soluo.


Conforme o modelo desenvolvido no item 7.3.2, o modelo (1_MAT) representa tambm o problema de designao. No caso do grafo bipartido, em que os dois conjuntos de vrtices possuem a mesma cardinalidade, podemos solucionar o problema de designao como um 1_matching ponderado, e
o fazer, se assim o desejarmos, atravs de um modelo por fluxo em rede, segundo o esquema da Figura 7.15.

300

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

cij
1

.
.
.

.
.
.

i = 1., n

j = 1., n

FIGURA 7.15 1Matching ponderado modelado por fluxo em redes.

Esse modelo poder ser tambm solucionado pelo algoritmo hngaro anteriormente desenvolvido. Como exerccio solucionaremos o 1_matching ponderado do grafo da Figura 7.16, associado matriz de custo da Figura 7.17, como um problema de designao, mostrando a associao dos passos do
algoritmo soluo de fluxo sugerida pelo modelo da Figura 7.15.
1

FIGURA 7.16 Quadro de clculo do algoritmo hngaro.

Para um problema como esse, que possui uma representao em grafos de fcil visualizao, podemos usar um diagrama que permitir acompanharmos as solues duais e primais a cada iterao do
mtodo. A matriz de custos C = [cij] aparece representada esquerda, com os vetores duais na lateral esquerda e abaixo. O fluxo associado representado direita, como na Figura 7.15.

ui

1
2
3

2
7
3

3
5
2

5
1
5

8
4
6

2
1
2

vj

Quadro Inicial

Fluxo Associado

FIGURA 7.17 Exemplo numrico.

Nesse caso, j na primeira iterao do algoritmo hngaro alcanamos um fluxo primal e dual vivel (timo) como mostra a Figura 7.18.
Seja agora o exemplo numrico sugerido pela nova matriz de custos da Figura 7.20.
Quando aplicamos o algoritmo hngaro para o caso do exemplo da Figura 7.20 no obtemos na primeira distribuio dos 0s, as condies necessrias de ortogonalidade como mostra a Figura 7.21.
Como no possvel obter uma soluo primal vivel, o fluxo gerado no corresponde a um emparelhamento (ver Figura 7.22).

FLUXOS EM REDES E LOGSTICA DE DISTRIBUIO

ui

1
2
3
4

0
6
1
6

1
4
0

6
3
4
0

2
1
2

3
0
3
1

vj

Quadro Reduzido

Fluxo Associado

FIGURA 7.19 Fluxo vivel.

ui

94

54

68

74

10

88

82

10

62

88

76

11

74

81

21

11

vj

(clculo dos ui )

FIGURA 7.20 Segundo exemplo numrico.

ui

93

53

67

64

78

72

10

54

80

68

63

70

10

11

vj

(clculo dos vj )
A quarta coluna
viola condies
de ortogonalidade

FIGURA 7.21 Primeira iterao do algoritmo hngaro.

ui

1
2
3
4

93
64
54
0

0
0
80
63

53
78
0
70

57
62
58
0

1
10
8
11

vj

10

Quadro Reduzido

Fluxo Associado

FIGURA 7.22 Fluxo associado soluo primal invivel.

301

302

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

Aplicando o procedimento de rotulao, necessitamos de trs linhas para cobrir os zeros (n = 3 4), o
que nos indica que o quadro no timo. Da encontramos:

ui

93

53

57

64

78

62

10

54

80

58

63

70

11

vj

10

53 o menor valor
descoberto

FIGURA 7.23 Primeira rotulao do algoritmo hngaro.

que nos leva ao quadro da Figura 7.24:

ui

40

11

25

54

133

58

116

70

10

vj

FIGURA 7.24 Quadro de clculo aps a primeira rotulao.

que ainda invivel como podemos ver na Figura 7.25.


1

ui

1
2
3
4

36
7
50
0

0
0
133
120

0
25
0
70

0
5
58
0

0
0
0
0

vj

Fluxo Associado

Quadro Reduzido

FIGURA 7.25 Segundo fluxo invivel.

Prosseguindo a aplicao do algoritmo temos:

ui

40

11

25

54

133

58

116

70

10

vj

FIGURA 7.26 Segunda rotulao.

4 o menor valor
descoberto

FLUXOS EM REDES E LOGSTICA DE DISTRIBUIO

303

A segunda rotulao nos conduz, finalmente, a um fluxo vivel, como mostra a Figura 7.27:
1

ui

1
2
3
4

36
7
50
0

0
0
133
120

0
25
0
74

0
5
54
0

0
0
0
0

vj

Fluxo Associado

Quadro Reduzido

FIGURA 7.27 Fluxo vivel.

A distribuio vivel identificada pelo procedimento de rotulao do algoritmo, como mostra a


Figura 7.28:

ui

36

25

50

133

54

120

74

vj

n=4
Quadro timo

FIGURA 7.28 Quadro timo.

7.3.5 O Problema do Caminho mais Curto s-t em Modelo de Redes


Este problema, quando consideramos os comprimentos das arestas ou arcos de um grafo como custos,
pode ser visto como um caso do transbordo no capacitado, como mostra a Figura 7.29.
1

1
1

FIGURA 7.29 Caminho mais curto em modelo de redes.

Em uma rede com n ns, em que s o n sumidouro e t o n fonte, a formulao matemtica desse
problema pode ser resumida da seguinte forma:

304

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

(CC) Minimizar z =

cij xij

( i , j )A

sujeito a:

xij

( i , j )A

xij 0

1 se i = s (n fonte)
xki = 0 demais casos
1 se i = t (n sumidouro)
( i , j )A

"(i, j) A

onde xij representa o fluxo circulando no arco (i, j) A. No caso do exemplo da Figura 7.29 teremos associado o quadro de restries da Figura 7.30.

N Arco
S
1

xS1

xS3

1
1

x12

2
3
4
5

x32

1
1

1
1

x34

1
1

x45

1
1

x25

x2T

Custo

Restrio
=
=
=
=
=
=

T
3

x5T

Fluxo
1
0
0
0
0
0
1

FIGURA 7.30 Matriz de fluxo para o problema do caminho mais curto s-t.

A soluo do caminho mais curto no grafo da Figura 7.29 s-3-4-5-t.

7.4 PROBLEMAS DE FLUXO


Os mais tradicionais problemas no contexto da otimizao de fluxos em rede so:

Problema de circulao.
Problema de fluxo mximo.
Problema de fluxo de custo mnimo.
Estudaremos alguns dos algoritmos baseados na teoria dos grafos para a soluo dos problemas de
fluxo mximo. Para o caso do fluxo de custo mnimo estudaremos a vertente dos algoritmos do tipo
primal-dual baseados em especializao do algoritmo simplex.

7.4.1 O Problema de Circulao


O problema de circulao um problema bsico na rea de fluxos. Seja na hiptese da maximizao do
fluxo passante em uma rede, seja quando o objetivo for determinar um fluxo de custo mnimo, antes de
tudo, necessrio dominar as condies de circulao desse fluxo na rede.
4

Conceitos Bsicos

O primeiro conceito a examinar dentro do problema de circulao diz respeito sua forma vivel. Um
fluxo vivel deve respeitar tanto as condies de capacidade dos arcos, ou no ser capaz de fluir,
como, no caso de modelos lineares e conservativos, as restries de conservao de seu valor. A primeira lei de Kirschoff especialmente til na determinao de fluxos viveis em redes capacitadas.

FLUXOS EM REDES E LOGSTICA DE DISTRIBUIO

305

Considerando uma rede em que somente os ns s e t possuem oferta e demanda de fluxo, a denominada primeira lei de Kirschoff para o fluxo verificada. No existe qualquer perda de generalidade ao
considerarmos que todos os ns da rede, com exceo de s e t, so conservativos, uma vez que possveis
ns de oferta ou demanda podero ser representados por um par de ns conservativos em relao ao fluxo ligados aos ns s e t com um arco na estrita capacidade de sua demanda, como mostra a Figura 7.31.
Na figura, os parnteses associados a alguns dos arcos artificiais representam o valor do limite inferior para
o fluxo no arco. Em todo n conservativo de uma rede R = (E,V,F) aplica-se a primeira lei de Kirschhoff:
Primeira lei de Kirschhoff
A soma dos fluxos que entram em um n da rede igual soma dos fluxos que saem.

Arcos de equilbrio

N artificial

(5,...)
12

Arcos de equilbrio

N artificial

(9,...)

12

Arco de equilbrio

Rede no conservativa

Rede equivalente conservativa

FIGURA 7.31 Transformao para ns de oferta e demanda.

Podemos aplicar a primeira lei de Kirschhoff para analisar o fluxo representado na Figura 7.32:
1
x2

x3
2

Y
x1

3
x4
4
x5
5
6

FIGURA 7.32 Fluxo entre conjuntos de ns.

Sabendo que o conjunto dos ns do grafo da Figura 7.32 V = {x1, x2, x3, x4, x5} e representando por f
um determinado fluxo, ou seja:
f (X, Y) = f1 + f3 + f4
f (Y, X) = f2 + f6 = f2 + f5
Podemos enunciar a lei de conservao de fluxo como:
f (x, V) = f (V, x), "x V

306

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

ELSEVIER

De fato, exibir um fluxo vivel em uma rede uma tarefa elementar quando os arcos possuem limites mnimos de fluxo iguais a zero. Nessa hiptese, o fluxo nulo apresenta-se como soluo trivial.
Entretanto, nem sempre encontramos tal possibilidade na prtica. Em inmeros casos, os arcos da rede
possuem imposies de fluxo diferentes de zero. Para a exibio de um fluxo que atenda s restries
de limites superiores e inferiores de fluxo nos arcos em qualquer rede, necessrio dispor-se de um algoritmo. O algoritmo que se segue est baseado no princpio da conservao de fluxo e ser sempre capaz de exibir, se existir, um fluxo vivel em uma rede capacitada.
Definindo a distncia de f(i, j) ao intervalo [lij, Lij] como sendo:
0,

d(i, j) = l ij f (i , j),

f (i , j) Lij ,

Seja d(f) =

se l ij f ( i , j) Lij
se f (i, j) < l ij
se f (i, j) > L( i, j)

d (i, j).

( i , j )A

Ento, se d (f) = 0, f um fluxo vivel. Caso contrrio, existe pelo menos um arco (i, j) A com
d(i, j) > 0. Baseado nesse fato, o algoritmo abaixo vai buscar a viabilidade dos fluxos nos arcos ou provar
que essa condio no existe.
4

Algoritmo de Circulao

Passo 1: (inicializao)

Construir uma circulao f que satisfaa equao de conservao em todos os ns da rede, ou seja,
f(x, V) f(V, x) = 0 para "x V. Pode-se utilizar a circulao f = 0 em qualquer caso. V para o Passo 2.
Passo 2: (regra de parada)

Se d(f) = 0, ento f uma circulao vivel. Fim.


Caso contrrio, selecione um arco (x, y) E, tal que d(x, y) > 0.
Passo3: (regra de rotulao)

Se f (x, y) > L(x, y) ento, partindo do n i, alcanar o n j, rotulando os ns pelo seguinte processo:
Iniciar rotulando o n i com [j, x(x) = f(x, y) L (x, y)]. A seguir, selecione um n rotulado ainda no
examinado i, e rotular os ns no rotulados j utilizando as seguintes regras:
Se (i, j) um arco com f (i, j) < L(i, j) rotular j com:
[i+, x(j) = min {x(i), L(i, j) f(i, j)}]
Se (i, j) um arco com f (i, j) > l(i, j)}]rotular j com:
[i+, x(j) = min {x(i), f(i, j) l(i, j)}]
Continuar a rotulao at que uma das situaes ocorra:

FLUXOS EM REDES E LOGSTICA DE DISTRIBUIO

307

O n y alcanado e rotulado. Nesse caso, modificar o fluxo nos arcos do ciclo de x para y, formado
pelos ns rotulados da seguinte forma:
Partindo de x, percorrer o ciclo subtraindo x(y) em arcos reversos e somando em arcos diretos. Ao alcanar y, subtrair x(y) de f (x, y). Voltar ao Passo 2.
Se o n y no puder ser alcanado e rotulado no existe circulao vivel. Fim.
Se f (x, y)< l (x, y) ento rotular o n y com:
[x+, x(y) = l(x, y) f(x, y)]
e tentar alcanar x partindo de y, aplicando as mesmas regras apresentadas para o caso anterior.
Continuar a rotulao at que uma das seguintes condies ocorra:

Se o n x for rotulado e, portanto, um ciclo de y para x foi encontrado, modificar o fluxo somando x(x)

ao fluxo em arcos reversos e subtraindo x(x) em arcos diretos deste ciclo e, finalmente, somar x(x) a
f(x, y). Voltar ao Passo 2.

Se o n x no for rotulado no existe circulao vivel. Pare.


4

Exemplo Numrico de Aplicao do Algoritmo de Circulao

Seja a rede da Figura 7.33. Desejamos viabilizar, se possvel, o fluxo entre os ns da rede. Os valores entre colchetes representam os limites do fluxo para cada arco [limite inferior, limite superior], e os valores entre parnteses representam o fluxo no arco.

3
[2,5]

[1,3]
(5)

(5)
[0,3]

(0)

(5)

(10)

(5)

[1,6]

[3,5]

(10)

FIGURA 7.33 Rede com fluxo invivel.

O fluxo indicado para o arco (2, 3) viola o limite superior do arco, o que significa que o fluxo da Figura 7.33 no vivel. Aplicando o algoritmo de rotulao a partir do n 1, considerado o caso do n i,
teramos o observado na Figura 3.34.
Se o n y alcanado e rotulado porque existe um ciclo que inclui o arco (x, y) e as alteraes indicadas no fluxo produzem um novo fluxo conservativo que atende equao:
[ f (x, y) = f(x, y) x(y)]
Como x(y) > 0, a cada ciclo encontrado o fluxo aproxima-se em x(y) unidades da situao de viabilidade nos arcos inviveis, sendo mantidos ainda viveis os fluxos em todos os arcos (i, j) do ciclo para os
quais l (i, j) f(i, j) L(i, j).

308

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

[i+, (y) = 2]

y
[1, 3]

[2, 5]
(5)3

[y-, (x) = 2]

(5)

(5)3

(10)

(0)2

[0, 3]

(5)

[1, 6]

[3, 5]

[x-, (i) = 2]

(10)

FIGURA 7.34 Rede com fluxo vivel.

7.4.2 O Problema de Fluxo Mximo


Este problema corresponde a forar, por uma certa rede sujeita a limites de capacidade de circulao
nos arcos, o maior fluxo possvel. A Figura 7.35 exemplifica o problema, em que os colchetes expressam
os valores mnimo e mximo para o fluxo em cada arco.

[5,10]

[1, 8]

[1,7]

[0,10]
2

[0, 9]

[1,12]
5

[0,13]

[0,7]
[0,15]

[2, 8]
[1, 6]
3

[0, 7]

FIGURA 7.35 Fluxo mximo desconhecido.

Antes de apresentarmos alguns algoritmos de soluo para o problema, cumpre abordar certos aspectos tericos e de nomenclatura.

Conceitos Bsicos
4

Corte s-t:

Considerando a rede R, cujo grafo de substrato G = (V, E) e (X, X)uma partio de V tal que X X = V e
X X = , diremos que (X, X) define um corte s-t em G = (V, E). A Figura 7.36 exemplifica um corte s-t,
em que X = {s, 1, 2, 3, 4}, X, = {2, t}.
Pelo teorema da circulao a existncia de um fluxo implica:
L(X, X) l(X, X), "X, X V
onde L(X, X) e l(X, X) representam os limites inferior e superior do fluxo total entre o conjunto de ns X
e X. Nesse caso conclumos que:

FLUXOS EM REDES E LOGSTICA DE DISTRIBUIO

309

FIGURA 7.36 Um corte s-t..

1. O valor do fluxo mximo f * na rede s-t deve ser menor ou igual capacidade lquida de qualquer
0
corte s-t ou seja:
f 0* L( X , X ) l(X , X) corte s-t
2. Todo fluxo f* na rede s-t, tal que: f * =
0
4

min

corte s -t ( X , X )

{L(X, X) l(X, X)} mximo.

Grafo de Aumento de Fluxo

Denominaremos por grafo de aumento de fluxo ao grafo Gf = (V, Ef) que, possuindo somente arcos simples, construdo da seguinte forma:

(x, y) Ef

se (x, y) E e f (x, y) < L(x, y)

(y, x) Ef

se (y, x) E e f (x, y) > l(x, y)

Folga de um Arco

Denominamos folga do arco (x, y) aos seguintes valores:

x(x, y) = L(x, y)

f (x, y) se f (x, y) < L(x, y)

(x, y) = f(x, y) l (x, y) se f (x, y) > l(x, y)


~
Um arco (x, y) pode ter tanto como .
4

Caminho de Aumento de Fluxo

um caminho em Gf que liga diretamente s a t. Observe que se existir um caminho ligando s a t em Gf


porque existe um caminho em G que, em relao ao fluxo corrente, possui uma folga que pode ser cal~
culada por x = Min {, }. A conservao dos fluxos nos vrtices no ser afetada se aumentarmos de x o
fluxo nos arcos diretos e subtrairmos de x o fluxo nos arcos reversos do caminho de aumento de fluxo.
A Figura 7.37 esclarece esse processo:
Teorema 7.2:
Dado um fluxo f, se existir um caminho direto de s para t, em um grafo Gf, ento f no
fluxo mximo.

310

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

f0 +

f0 +

+
2

FIGURA 7.37 Aumento de Fluxo.

Algoritmo Ford-Fulkerson Utilizando Caminhos Diretos em Gf

Qualquer caminho existente no grafo de aumento de fluxo que ligue s a t pode incrementar o fluxo total
de s para t no valor da menor folga existente nesse caminho. Um fluxo que circule entre s e t com esse
valor chamado um fluxo aumentante. Vamos exemplificar o processo de obteno de uma sequncia
de fluxos aumentantes no grafo Gf da Figura 7.38. A Figura 7.38 (b) e 7.38 (c) mostra a identificao de
um fluxo aumentante.
[0, 4]

[0, 3]

[0, 6]

[0, 2]

[0, 2]

[0, 3]

3
t

[0, 5]

[0, 1]

1
[0, 7]

(a) Rede atravessada por um fluxo f1 = 4

1
s

= 3

= 3

=+3
=+4 =+2
=+2 =+6
=+3
= 1
= 1
2
3
= 1
(b) Grafo de aumento de fluxo associado

=+3

[0, 3]

(d) Aumento de fluxo

[0, 4]

[0, 6]

[0, 2]

[0, 2]

[0, 3]

t
3

s
[0, 5]

Menor folga

4
2

=+6

(c) Caminho direto s-t no grafo Gf

1
=+2

=+4

=+1

=+3

[0, 1]

[0, 7]

(e) Rede atravessada por um fluxo f2 = 6

FIGURA 7.38 A identificao de um fluxo aumentante.

FLUXOS EM REDES E LOGSTICA DE DISTRIBUIO

311

Podemos descrever um algoritmo baseado em uma sequncia de fluxos aumentantes da seguinte


forma:
Algoritmo de Ford-Fulkerson (fluxo mximo)
Incio
Ler os dados da rede R = (G, C) onde G = (V, E) e C o vetor de
capacidades de fluxo para os arcos
Determinar um fluxo f vivel em R {com o algoritmo de circulao,
por exemplo}
Rotular s com [, ]
Enquanto existir vrtice no examinado Faa
Incio
Encontrar um n rotulado, porm no examinado i efetuando o
exame da forma que se segue:
Incio
Para um arco (i, j) se f(i, j) < L(i, j) e j no est rotulado ento
rotular j com [i+, x(j)]onde x(j) Min {x(j), L(i,j) f(i, j)}
Para um arco (j, i) se f (j,i)> l(j, i) e j no est rotulado, ento
rotular j com [i, x(j)] onde x(j) Min {x(i), f(j, i) l(j, i)}
Se o n t for rotulado faa
Incio
Iniciando em t, utilizar os rtulos para construir
um caminho aumentante de fluxo
Aumentar o fluxo somando e subtraindo os fluxos
nos arcos do valor x(t), conforme indicado nos
rtulos, ou seja, se for [i+, x(j)], somar x(t),
caso contrrio subtrair.
Acrescentar x(j) ao valor do fluxo corrente
Cancelar todos os rtulos exceto o correspondente
ao n s.
Fim
Fim
Fim
Fim

O algoritmo Ford-Fulkerson (F & F) termina quando no mais possvel rotular o n t. Nesse caso,
os ns rotulados e os no rotulados definem tambm um corte de fluxo mnimo em R. Esse algoritmo
pode apresentar um comportamento bastante ineficiente ou mesmo no convergir no caso de as capacidades nos arcos possurem valores irracionais. No caso de a capacidade dos arcos ser inteira ento a
complexidade de F&F ser O(mfmx). A rede da Figura 7.39 mostra um caso em que o algoritmo F&F
torna-se extremamente ineficiente:
possvel que o algoritmo escolha alternadamente (s, 1, 2, t) e (s, 2, 1, t) como caminhos de aumento
de fluxo. Nesse caso, sero necessrios 2.10n operaes de aumento de fluxo para encontrar o fluxo mximo. claro que se a escolha do caminho for (s, 2, t) e (s, 1, t) sero necessrias apenas duas iteraes,
contudo nada no algoritmo F&F bsico garante que o caso patolgico no acontecer. fcil perceber
que o problema do caso patolgico reside no comprimento do caminho aumentante. Se o algoritmo realizar o aumento de fluxo no caminho que apresenta o menor nmero possvel de arcos ento a complexidade de F&F ser O(m2n) (ver Dinic [1970]). Isso pode ser obtido modificando a sequncia de rotulao e exame de modo que os ns sejam examinados na mesma ordem em que tiverem recebido seus r-

312

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

[0, 10n]

[0, 10n]
[0, 1]

s
[0, 10n]

[0, 10n]

FIGURA 7.39 Caso patolgico para o algoritmo de fluxo mximo F & F.

tulos. O teorema de Edmonds e Karp calcula a ordem do nmero de aumentos de fluxo necessrio para
o trmino do algoritmo F&F quando a modificao de rotulao e exame introduzida.
Teorema (Edmonds e Karp)
Se cada aumento de fluxo efetuado em um caminho se s para t de mnimo nmero de
arcos, ento um fluxo mximo obtido aps, no mximo, mn/2 (n3n2)/2 aumentos
de fluxo (ver Lawler [1976]).
Como para cada aumento de fluxo so necessrias O(m) operaes a complexidade do algoritmo
F&F modificado O(m2n). Um outro resultado bastante interessante diz respeito complexidade do algoritmo timo para a soluo do problema de fluxo mximo.
Teorema 7.3:
Para qualquer rede s-t existe uma sequncia de aumentos de fluxo a partir da qual obtemos o fluxo mximo.
Suponhamos que sejam listados os caminhos diretos de s para t e que com eles formemos uma matriz de incidncia D = [dijk] em que:
dijk= 1 se (i, j) pertence ao caminho k e 0 em caso contrrio.
f k o valor do fluxo atravs do caminho k.
l = [lij] o vetor de capacidade.
Ento, podemos formular o problema de fluxo mximo como:
(PFM) Maximizar F = f k
k

sujeito a:

d ijk f k lij

(i, j) V

fk0
Como este problema possui m restries, uma para cada arco, ento existir uma soluo bsica
vivel para a qual no mximo m dos f k fluxos so estritamente positivos. As variveis no nulas do problema representam aumentos de fluxo. Essa situao terica sugere a possibilidade da existncia de
um algoritmo capaz de obter o fluxo mximo em O(m2).

FLUXOS EM REDES E LOGSTICA DE DISTRIBUIO

313

Algoritmo de Malhotra, Pramodh-Kamar e Maheshwari (MPM) (1978)

O raciocnio de forar o fluxo atravs dos arcos, via caminhos que liguem s e t, pode ser estendido aos
ns. Definindo como potencial de fluxo de um vrtice ao maior fluxo capaz de ser forado atravs desse
vrtice, trivial verificar que em qualquer caminho que ligue s a t o mximo de fluxo passvel de ser induzido ser o referente ao n de menor potencial pertencente ao caminho. A Figura 7.40 mostra como o
potencial de um n limita qualquer fluxo que ligue s a t atravs de p.

G- (p)

+
G- (p)

FIGURA 7.40 Limitao de fluxo gerada por um vrtice da rede.

A ideia do algoritmo MPM esgotar a capacidade dos ns da rede R, em vez da capacidade de suas
arestas. Ao fazer circular o fluxo, o procedimento tenta esgotar os arcos que utilizar. medida que os
arcos vo sendo saturados, so eliminados das prximas iteraes. O algoritmo para quando s ou t so
eliminados da lista de ns potencialmente ativos, por terem todos os seus acessos saturados. O fluxograma da Figura 7.41 resume as aes do MPM:
Clculo do Potencial
dos vrtices vj

Escolher o vrtice de referncia


vk = mn{vj}
jN

Fluir vj de s para t
por saturao

Eliminar os arcos saturados

Eliminar vrtices sem sucessores

Eliminar arcos adjacentes a vrtices


sem sucessores

Atualizar as capacidades
na rede residual

s
eliminado?

FIM

FIGURA 7.41 Fluxograma do algoritmo MPM.

314

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

Seja a rede da Figura 7.42. Aplicando o algoritmo MPM obteremos a sequncia de fluxos e eliminaes que se segue:
[0, 3]

[0, 5]

[0,7]

[0, 3]
[0, 8]

[0, 4]

[0, 3]

[0, 9]
[0, 3]

[0,5]

[0, 3]

[0, 2]
[0, 4]

[0, 5]
[0, 6]
[0, 3]

FIGURA 7.42 Rede exemplo.

Passo 1: Obter o potencial dos vrtices (menor valor entre o somatrio das capacidades que entram ou
que saem).
K

vk

11

19

O vrtice de referncia 2, com potencial v2 = 3.


Passo 2: Fluir 3 unidades de fluxo a partir do vrtice 2 esgotando os arcos que geraram o valor de potencial gargalo (arcos de entrada). Observamos que, como estamos tentando forar um fluxo a partir do
vrtice de menor potencial do caminho, esse fluxo sempre ser passvel de concretizao.

[3]

[3]

[1]

[1]

[2]
[2]

(*) A capacidade do arco (2, 6) esgotada antes de circular fluxo em (2, 5).

FIGURA 7.43 Fluxo forado pelo vrtice 2.

Passo 3: Eliminaes e regra de parada.


Os arcos saturados so eliminados e o vrtice s ainda possui sucessores.

[3]

FLUXOS EM REDES E LOGSTICA DE DISTRIBUIO

[0, 3]

[0, 5]

315

[0, 3]

[0, 7]

[0, 8]

[0, 4]
[0, 3]

[0, 9]
s

[0, 4]

[0, 4]

[0, 2]

[0, 3]

[0, 6]

[0, 3]

FIGURA 7.44 Primeira atualizao dos arcos e capacidades.

Passo 1: Obter o potencial dos vrtices (menor valor entre o somatrio das capacidades que entram ou
que saem).

vk

16

O vrtice de referncia 6, com potencial v6 = 3.


Passo 2: Fluir mais 3 unidades de fluxo a partir do vrtice 6 esgotando os arcos que geraram o valor de
potencial gargalo (arcos de entrada).

[6]

[3]

[6]

[3]

[3]

FIGURA 7.45 Fluxo forado pelo vrtice 6.

Passo 3: Eliminaes e regra de parada.


Os arcos saturados so eliminados, e o vrtice s ainda possui sucessores.
Passo 1: Obter o potencial dos vrtices (menor valor entre o somatrio das capacidades que entram ou
que saem).

vk

13

O vrtice de referncia 3, com potencial v3 = 1.

316

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

[0, 3]

[0, 5]

[0, 7]

[0, 3]
[0, 8]

[0, 4]
[0, 3]

[0, 9]
s

[0, 4]

[0, 1]

[0, 2]

[0, 6]

(*) A capacidade do arco (3, 6) esgotada

FIGURA 7.46 Segunda atualizao dos arcos e capacidades.

Passo 2: Fluir mais 1 unidade de fluxo a partir do vrtice 3 esgotando os arcos que geraram o valor de
potencial gargalo (arcos de entrada).

[7]

[1]

[1]

[1]

FIGURA 7.47 Fluxo forado pelo vrtice 3.

Passo 3: Eliminaes e regra de parada.


Os arcos saturados so eliminados, e o vrtice s ainda possui sucessores.
[0, 3]

[0, 5]

[0, 7]

[0, 3]
[0, 8]

[0, 4]
[0, 9]
s

[0, 3]
[0, 4]

[0, 1]

[0, 5]

(*) A capacidade do arco (s, 3) esgotada

FIGURA 7.48 Terceira atualizao dos arcos e capacidades.

[7]

FLUXOS EM REDES E LOGSTICA DE DISTRIBUIO

317

Passo 1: Obter o potencial dos vrtices (menor valor entre o somatrio das capacidades que entram ou
que saem).
K
vk

12

O vrtice de referncia o nmero 1, com potencial v1 = 4. Observar que poderamos ter escolhido o
vrtice 5 tambm. Nesse caso, no podemos esquecer que o fluxo de 5 seria forado atravs de vrtices com
potencial efetivo, ou seja, o vrtice 2 no seria computado para o caminho de fluxo apesar de ser antecessor
desse vrtice.
Passo 2: Fluir mais 4 unidades de fluxo a partir do vrtice 1, esgotando os arcos que geraram o valor de
potencial de gargalo (arcos de entrada).

[3]

[1]

[3]

[4]

[11]

[1]

[11]

FIGURA 7.49 Fluxo forado pelo vrtice 1.

Passo 3: Eliminaes e regra de parada


Os arcos saturados so eliminados, e o vrtice s possui potencial zero e ser eliminado. Fim.
[0, 5]

[0, 6]
[0, 8]
[0, 9]
s

[0, 3]
[0, 4]

[0, 5]

(*) As capacidades dos arcos (s, 1), (1, 4), (4, t) e (5, t) so esgotadas

FIGURA 7.50 Trmino com o isolamento de s.

A anlise de complexidade do algoritmo MPM pode ser feita dentro de cada etapa de clculo.
Como a cada iterao pelo menos um n eliminado (o de referncia), a complexidade de determina-

318

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

o desse n O(n2). A atualizao da capacidade dos arcos pode ser feita em uma lista circular, mantendo, para cada vrtice, os arcos incidentes para o exterior. Assim, a complexidade dessa fase
O(n2). O problema possui m arcos e cada um deles ficar saturado apenas uma vez, sendo eliminado
em seguida. A cada iterao pelo menos um arco saturado. Assim o total das eliminaes de arcos
O(m). Portanto, cada iterao exige no mximo O(n2) operaes. Como existe, no pior caso, a possibilidade de examinarmos n-2 vrtices, o MPM, nessa proposta de implementao, O(n3). O grfico da
Figura 7.51 resume a relao evolutiva de uma srie de algoritmos desenvolvidos para o problema de
fluxo mximo.

Fluxo Mximo
Algoritmos Determinsticos
Mtodo Simplex

Algoritmos Determinsticos
(Teoria dos Grafos)

Algoritmos
Probabilsticos
O(mn + n2log2n)

Goldfarb e Hao (1990)

O(n2m)

Ford & Fulkerson (1962)

O ( m.f0 )

Cheriyan Hagerup (1990)

Goldfarb e Hao (1991)

O(...)

Edmonds & Karp (1972)

O(m2n)

Alon (1990)

O(mn + n8/3logn)

Dinic (1970)

O(m2n)

King et. al. (1992)

O(mn + n2+)

Karzanov (1974)

O(n3)

Phillips Westbrook (1993)

O(mnlogm/n n + log2+n)

Cherkasky (1977)

O(n2m1/2)

King et. al. (1994)

O(mnlogmnlon n)

Malhotra et al. (1978)

O(n3)

Galil (1978)

O(n5/2m2/3)

Sleatore Tarjan (1980)

O(nmlogn)

Shiloach Vishkin (1982)

O(n3)

Gabow (1983)

O(nmlogU)

Tarjan (1984)

O(n3)

Goldberg (1985)

O(n3)

Ahuja & Orlin (1986)

O(nm+n2logU)

Goldberg & Tarjan (1988)

O(nmlog(n2/m)

O(nm log2 n)

Galil & Naamad (1979)

Melhores limites da atualidade

FIGURA 7.51 Evoluo dos algoritmos para fluxo mximo.

7.4.3 O Problema de Fluxo a Custo Mnimo (PFCM)


Esse caso corresponde necessidade de circular um fluxo em uma rede s-t pagando o mnimo possvel
pelo trfego. Normalmente, o fluxo a transitar conhecido e existem restries para o mximo e o mnimo fluxo admissvel nos arcos, bem como um valor associado ao trnsito em cada arco por unidade de
fluxo (cij) [limite inferior, custo do fluxo, limite superior], como mostra a Figura 7.52.
A Figura 7.53 mostra um resumo evolutivo de alguns algoritmos recentes, baseados no simplex,
para o fluxo a custo mnimo em redes:

FLUXOS EM REDES E LOGSTICA DE DISTRIBUIO

[1, 7, 7]

[5, 4, 10]

10

[1, 6, 8]

[0, 5, 10]

[1, 3,1 2]

[0, 5, 9]

319

[0, 2, 13]

10

[0, 1, 7]
[0, 7, 15]

[2, 1, 8]
[1, 9, 6]
[0, 10, 7]

FIGURA 7.52 Exemplo de fluxo a custo mnimo.

Fulkerson e Minty (1961)


ver tambm Zadeh (1973)

Goldfarb e Hao (1992)

Orlin (1993)

O(mlogn (m + nlog n)

Orlin et al. (1993)

O(nm(m + nlog n)log n)

Armstrong e Jin (1997)

O(m + nlog n)B)

Melhores limites
da atualidade

FIGURA 7.53 Evoluo do desempenho dos algoritmos

O Algoritmo Simplex para o (PFCM)

Nos itens anteriores mostramos que o algoritmo simplex poderia ser utilizado eficientemente para solucionar alguns casos especficos de fluxos em redes. As aplicaes concentraram-se no problema de
transporte, designao e no 1 matching. Com um pequeno esforo a mais poderemos generalizar o uso
desse algoritmo em qualquer problema de fluxo em rede (formulado pelo modelo estrito). Seja a rede
da Figura 7.54.
2

FIGURA 7.54 Rede exemplo para o (PFCM).

320

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

Que possui a seguinte matriz de incidncia n arco mostrada na Figura 7.55.


Ns

Arcos
x12

x13

+1

+1

x24

x25

x23

+1

+1

x53

x56

x61

+1
1

+1

x46

x34

+1

+1
1

+1
1

+1

FIGURA 7.55 Matriz de incidncia da Figura 7.55.

Como j sabemos, essa matriz A = [aij] formada por entradas unitrias nas i-simas e j-simas posies de uma coluna (associadas a um arco ij na Figura 7.54). Devido a essa propriedade, podemos
expressar A como uma soma vetorial de vetores unitrios es, da seguinte forma:
aij = ei ej
Considerando T qualquer rvore do grafo de substrato da rede exemplo, ento T, por definio,
um subgrafo conexo da rede exemplo com m ns e m1 arestas e que no contm ciclos. Levando em
conta, ainda, que qualquer submatriz de A, por exemplo AT, uma matriz m (m 1) de uma rvore no
exemplo da Figura 7.54, ento se m 2, essa rvore possui pelo menos um n terminal (um n com apenas arcos incidentes). Nesse caso, a k-sima linha de AT, conter apenas uma entrada unitria, conforme a Figura 7.56 e a matriz AT na Figura 7.57 esclarecem.
5

FIGURA 7.56 Uma rvore na rede exemplo.

Arcos
Ns

x12

+1

x25

x34

+1

x56

(oferta)

(oferta)

(demanda)

+1

x46

+1

+1
1

FIGURA 7.57 Uma submatriz AT de A.

FLUXOS EM REDES E LOGSTICA DE DISTRIBUIO

321

fcil constatar que a matriz AT da Figura 7.57 pode ser triangularizada atravs de permutaes
entre suas linhas e colunas. Obviamente, em relao soluo do sistema de equaes decorrentes da
matriz de restries uma das linhas da matriz redundante. Com a remoo de uma linha de AT o conjunto de variveis (arcos) que a compe formar uma base. Se desejarmos trabalhar com uma matriz
m m a alternativa ser introduzir uma varivel artificial para acrescermos em uma unidade o rank de
A. A matriz AT triangularizada e, acrescida da varivel artificial, est exibida na Figura 7.58.

x12
1

+1

x25

x34

xa

x56

(oferta)

(oferta)

(demanda)

+1

+1

x46

+1

+1
1

+1

FIGURA 7.58 Uma matriz bsica (m m) triangularizada.

A matriz da Figura 7.58 corresponde seguinte rvore no grafo de substrato da rede do exemplo:
2

FIGURA 7.59 A rvore associada a uma base em A.

Essa associao entre as rvores no grafo substrato da rede e as solues bsicas do problema pode
ser formalizada pelo seguinte teorema:
Teorema 7.3:
Um conjunto de m colunas linearmente independentes da matriz de incidncia n arco
de uma rede de fluxo corresponde a uma rvore no grafo G = (V, E), substrato na rede.
Em virtude dos exemplos anteriormente desenvolvidos de aplicao do simplex para o clculo
de fluxos em rede em situaes especficas, cremos que j estamos em condies de adaptar os trs
passos bsicos do algoritmo para o clculo de qualquer problema de fluxo formulado no padro estrito:
4

Obteno de uma soluo inicial.

Procedimento de melhoria da soluo corrente.

Regra de parada e de verificao da viabilidade.

322

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

Exemplo Numrico
Determinar o fluxo de menor custo da rede da Figura 7.60.
b1 = 3

b2 = 2

(2)

(1)

(5)

b3 = 4

(3)

(4)

(1)

(1)

6
(2)

(2)

b4 = 2

b6 = 4

b5 = 5

FIGURA 7.60 Exemplo numrico.

O fluxo na rede da Figura 7.60 pode ser formulado em um sistema de equaes do tipo Ax = b, onde
A a matriz de restries de fluxo, e b = [bi] representa o termo independente para as restries de equilbrio associadas aos ns da rede, como se segue:
Demanda
Oferta

Arcos
Ns

x14

x12

+1

+1
1

x24

+1

+1

x26

+1

x52

x56

x61

bi

2
4

+1
1

=
+1

x45

3
4

x23

+1
1

x
+1

2
5
4

Obteno de uma Soluo Inicial para o Sistema

Como sabemos, toda rvore na rede R uma soluo bsica do sistema de equaes de equilbrio de
fluxo. Toda rvore que corresponde a um fluxo vivel uma base vivel. Seja a rvore da Figura 7.61.
b1 = 3

b2 = 2

(3)

b3 = 4
3
(Artificial)

(1)

(5)

b4 = 2

6
(2)

(2)

b5 = 5

b6 = 4

FIGURA 7.61 Uma soluo bsica inicial.

FLUXOS EM REDES E LOGSTICA DE DISTRIBUIO

323

A rvore da Figura 7.61 corresponde matriz triangularizada de incidncia n vezes arco da Figura 7.62.
Arcos
Ns

x14

+1

x45

x56

x63

x23

xa

di

3
2

+1
1

+1

+1

+1

2
1

+1

FIGURA 7.62 Matriz triangularizada.

cuja soluo :
x14 = 3; x45 = 1; x56 = 6; x63 = 2; x23 =2 e xa = 0, que uma circulao vivel, como observamos na Figura
7.63, a um custo de 37 unidades.
3

(Artificial)

4
1

FIGURA 7.63 A circulao vivel associada base.

Contudo, nem toda base (rvore em R) corresponde a uma circulao vivel. Pensando em obter facilmente uma base vivel inicial, seria natural imaginar o uso de m variveis artificiais que
respondessem pelo fluxo real, o que automaticamente viabilizaria o fluxo nulo para os demais arcos da rede. Cada varivel artificial estaria associada a uma linha, assumindo o valor ei, conforme
o sinal da componente di. Com o mesmo raciocnio utilizado no mtodo simplex, chegaremos concluso de que uma boa maneira de eliminar essas variveis seria dividir o esquema de soluo em
duas fases. Na primeira, o mtodo trataria de remover as variveis artificiais da base alcanando
uma base vivel para o problema. Na segunda, a otimizao seria processada como classicamente
preconizada no algoritmo primal simplex. O acrscimo das variveis artificiais est associado incluso de um n artificial, ou seja, a mais uma linha na matriz de restries, como mostra o quadro
da Figura 7.64:

324

x12

...

x14

+1

...

+1

...

...

...

x45

x56

x63

x23

x1

x2

x3

x4

x7

+1
+1
1

+1

5
1

+1

di

2
1

...

x6

+1
1

x5

+1

...

3
7

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

4
+1

2
1

+1

+1

+1

4
1

FIGURA 7.64 Quadro da primeira fase para o exemplo numrico.

A base artificial corresponde aos arcos tracejados na Figura 7.65. Notar que para a primeira fase do
mtodo os arcos artificiais receberam um custo unitrio igual a 1, enquanto os arcos reais foram quantificados em 0.

(1)
(1)

b3 = 4

b1 = 3 1

(0)

b2 = 2

(0)

3
(1)

(0)

(0)
(0)

b4 = 2 4

(0)

(0)

b5 = 5

(0)

(1)

(0)

(1)

b7 = 0

(1)

b6 = 4

FIGURA 7.65 Primeira fase do problema.

Procedimento de Melhoria da Soluo Corrente.

Prosseguiremos em nosso exemplo considerando a primeira fase j concluda. O passo relativo ao clculo dos custos reduzidos computao dos zij cij associados s variveis no bsicas pode ser realizado, como j vimos anteriormente, de duas maneiras:
Clculo dos zij cij baseado nas variveis primais:
Nesse caso, o valor dos zij cij poder ser obtido diretamente do acrscimo do arco no bsico. Quando
a rvore formada pelos arcos da base receber o acrscimo do novo arco deixar de ser um grafo sem ci-

FLUXOS EM REDES E LOGSTICA DE DISTRIBUIO

325

clos. No ciclo formado e considerando-se como negativo o sentido do arco acrescentado rvore, somaremos todos os custos de arcos de sentido contrrio ao novo arco e subtrairemos os de mesmo sentido. Para o caso do exemplo numrico vamos calcular os custos reduzidos dos arcos 2-6 e 1-2, arcos no
bsicos.
z26 c26 = 4 1 + 3 = 2 como podemos ver na Figura 7.66:
b1 = 3

b2 = 2

b3 = 4

(3)

(Artificial)
()
(4)

(5)

(2)

b4 = 2

(1)

(2)

b6 = 4

b5 = 5

FIGURA 7.66 Clculo de z26 c26.

z12 c12= 2 3 + 1 + 2 + 2 + 5 = +5, conforme Figura 7.67.


b1 = 3

(2)

b2 = 2
2

(3)

b3 = 4
3

(Artificial)
()
(1)

(5)

b4 = 2

(2)

(2)

b5 = 5

b6 = 4

FIGURA 7.67 Clculo de z12 c12.

Clculo dos zij cij baseado nas variveis duais:


Sabemos que:
zij cij = waij cij
= w (ei ej) cij
= wi wj cij
Por outro lado, podemos calcular a varivel dual w por sua definio, ou seja:
wB = cB
Para o exemplo numrico podemos calcular e z26 c26 e z12 c12 atravs das seguintes equaes:
z26 c26 = w2 w6 c26
z12 c12 = w1 w2 c12

326

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

e o vetor w do exemplo pode ser calculado atravs de sua equao primal:


0
0
0
0
1
1
0
0
0
1
0 1
1
0
0
[w1 w4 w5 w6 w2 w3] 0
0 1
1
0
0 0
0
0 1

0
0 1 1
0

0
0
0
0= [5 2 2 1 3 0]
0
1

que produz:
w 1 w4 = 5
w 4 w5 = 2
w 5 w6 = 2
w 6 w3 = 1
w 2 w3 = 3
w3 = 0
E, finalmente: w1 = 10, w2 = 3, w3 = 0, w4 = 5, w5 = 3 e w6 = 1. O que conduz a:
z26 c26 = w2 w6 c26 = 3 1 4 = 2
z12 c12 = w1 w2 c12 = 10 3 2 = 5
Como existe um arco (i, j) tal que zij cij 0, a base corrente no tima. Como o maior dos custos
reduzidos (solicita-se ao leitor verificar os demais) a varivel x12 dever entrar na base. Com a entrada
de x12, um ciclo formado na rvore induzida em G. Para que uma nova base seja formada necessrio
que um dos arcos do ciclo seja removido e uma nova rvore seja constituda. O critrio de retirada do
arco estar associado ao crescimento no fluxo do arco que entra. Chamando por D o valor do fluxo no
arco que entra na base, medida que D crescer, o fluxo nos arcos contrrios ao sentido vai diminuir no
mesmo valor. A Figura 7.68 mostra o efeito do crescimento de D. O primeiro arco que anula o fluxo o
arco 4-5 e D = 1. A varivel x45 deve deixar a base.
2

3
1

2+

(Artificial)

Sentido
Negativo

FIGURA 7.68 Identificao da varivel que sai da base.

A partir da entrada na base de uma nova varivel o fluxo atualizado conforme mostra a Figura
7.68, chegando-se soluo: x14 = 2, x12 =1, x56 = 5, x63 = 1, x23 = 3 e xa = 0, que uma circulao vivel,
como observamos na Figura 7.69, a um custo de 32 unidades.
O algoritmo recalcula os valores dos zij cij. Nesse caso, z24 c24 = 2 1 + 5 = 2. A varivel x24 candidata para entrar na base. O ciclo que se forma est expresso na Figura 7.70. Nesse caso, D = 2 e a varivel

FLUXOS EM REDES E LOGSTICA DE DISTRIBUIO

327

2
1

(Artificial)

FIGURA 7.69 Identificao da varivel que sai da base.

x14 sai da base. O fluxo no arco 14 anulado (a varivel passa a no bsica). A soluo para o fluxo
passa a ser: x24 = 2, x12 = 3, x56 = 5, x63 = 1, x23 = 3 e xa = 0, a um custo de 28 unidades. Nesse momento, todos os zij cij 0 e o fluxo timo.
3

2
3
1

(Artificial)

0 2

FIGURA 7.70 Ciclo formado pela entrada de x24 na base.

7.5 PROBLEMAS PROPOSTOS

1 Consolidao dos Conceitos Bsicos


Considere a rede definida pelo quadro que se segue:
# N

Oferta

Demanda

# Arco

De

Para

Custo Unidade Fluxo

Capacidade do Arco

12

10

11

10

12

15

328

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

1. Construir esquematicamente a rede definida no quadro, indicando uma soluo vivel para um
fluxo e seu custo.
2. Determinar a matriz de incidncia (n aresta) associada rede.
3. Criar um ponto de demanda fictcio, com os respectivos arcos associados, de tal forma que a oferta
total seja igual demanda total, construindo o esquema grfico da rede assim formada.
4. Reformular o problema de fluxo para que somente exista um nico ponto de oferta e um nico
ponto de demanda.

2 Fluxo Mximo
Considerando a rede a seguir, calcule o maior fluxo possvel entre os vrtices s e t atravs do:
1. Algoritmo de Ford-Fulkerson.
2. Algoritmo MPM.
5

(0, 8)

(0, 11)

(0, 9)

(1, 4)

(1, 3)

(0, 6)

(0,11)

(0, 5)

(0, 5)

(0,11)

10

(1, 4)

(3, 8)

(0, 5)

(2, 3)

(0, 5)

(0, 5)

(1, 3)

(0, 5)

(0, 5)

12

(0, 3)

(0, 8)

(0, 8)

13

(2, 8)

(0, 4)

(2, 3)

(0,12)

11

(0, 5)

3 O Problema da Torcida do Coringas Futebol Clube

Uma grande quantidade de torcedores fanticos do Coringas, um time de futebol, vive em So Paulo e
deseja assistir a uma partida-chave de seu time que ser realizada em Natal, Rio Grande do Norte. Os
torcedores, todos trabalhadores ocupados, desejam sair no dia do jogo, chegando a Natal, no mximo,
s 19:00 h (a partida ser s 21:30 h). Como a disponibilidade financeira dessas pessoas limitada, elas
esto optando pelo voo mais barato, mesmo que isso implique mais demora, conexes, deslocamentos
areos em circuito etc. A companhia escolhida foi a Manysteps Airlines. O quadro de voos da empresa
est mostrado a seguir.
Resolveram se reunir para comprar suas passagens em sociedade 150 torcedores, e conseguiram da
Manysteps 50% de desconto nos trechos (tambm denominadas pernas de voo) que passam em Braslia (chegando ou partindo da cidade). Sabendo-se que os torcedores vo ratear a despesa das 150 passagens de forma uniforme, independentemente do esquema de voo que caiba a cada um, formular o problema de minimizar a despesa total de deslocamento do grupo de torcedores. Um esquema de voo entre So Paulo e Natal vlido se, alm de chegar antes das 19:00 horas:

FLUXOS EM REDES E LOGSTICA DE DISTRIBUIO

329

1. No possuir mais que cinco pernas (ou trechos entre cidades).


2. Os tempos de conexo (troca de voos) programados no podem ser menores do que uma hora.
Exemplificando: no podemos compor o voo 501, que chega a Recife s 17:00 h, com o voo 595 que
sai para Natal s 17:30 h, porque o tempo de conexo seria de apenas 30 minutos.
Os voos possuem capacidade de 200 lugares, e as passagens reservadas no podem mais ser vendidas ao grupo de torcedores.

# do Voo

Origem

Destino

Sada

Chegada

Custo Normal U$

Reservas

501

So Paulo
Goinia
Salvador
Recife

Goinia
Salvador
Recife
Natal

08:00
11:00
15:50
18:00

10:00
13:40
17:00
18:45

120,00
120,00
100,00
80,00

120
70
80
100

513

So Paulo
Braslia
Fortaleza

Braslia
Fortaleza
Recife

09:00
11:45
15:50

10:50
15:00
16:20

50,00
180,00
100,00

180
20
25

581

Curitiba
Manaus
Belm

Manaus
Belm
Fortaleza

06:50
10:50
12:50

10:20
12:00
14:20

320,00
100,00
100,00

180
20
35

587

Rio de Janeiro
So Paulo
Macei
Recife

So Paulo
Macei
Recife
Natal

06:00
08:30
12:00
15:00

07:50
11:00
13:00
15:45

80,00
180,00
80,00
80,00

160
100
120
10

590

Porto Alegre
Curitiba
Braslia

Curitiba
Braslia
Recife

06:00
10:00
14:00

07:30
11:45
16:30

100,00
150,00
150,00

100
140
120

592

Braslia

Macei

12:00

14:30

100,00

180

593

Rio de Janeiro

Braslia

09:00

09:45

100,00

110

594

Rio de Janeiro
Vitria
Salvador
Macei

Vitria
Salvador
Macei
Natal

05:00
08:30
10:45
16:45

06:00
09:45
11:45
18:00

100,00
80,00
80,00
100,00

130
20
100
50

595

Recife

Natal

17:30

18:15

50,00

120

4 O Problema do Transporte da Produo de Soja

A produo de soja do Rio Grande do Sul se realiza principalmente nas regies de Passo Fundo e Cruz
Alta, alcanando valores da ordem de 24 e 36 centenas de milhares de toneladas ao ano. Podemos considerar que praticamente toda a produo exportada atravs do porto de Rio Grande, sob a forma dos derivados farelo e leo. As principais unidades de processamento esto instaladas na rea de Porto Alegre ou prximas ao porto de Rio Grande, com capacidades anuais de 50 e 16 centenas de milhares de toneladas.
As cidades de Passo Fundo e Cruz Alta distanciam-se de Porto Alegre em, respectivamente, 240 e
360 quilmetros. Essas trs cidades esto, por sua vez, a distncias de Rio Grande de 600, 500 e 300 quilmetros, respectivamente. Todo o transporte entre Porto Alegre e Rio Grande realizado pela modalidade hidroviria, estando limitado a 50 centenas de milhares de toneladas por ano; as demais ligaes
so feitas por transporte rodovirio, com um custo, por quilmetro, duas vezes maior que o hidrovirio. Presumindo que o custo de transporte rodovirio seja diretamente proporcional distncia (uma
unidade monetria por quilmetro) e que o preo do produto embarcado no porto seja de 300, responda s seguintes questes:

330

1.
2.
3.
4.

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

Formule o problema de programao linear que calcula os fluxos de exportao a custo mnimo.
Mostre que esse problema pode ser classificado como um problema de fluxo em redes capacitadas.
Determine a soluo tima do problema (por qualquer mtodo).
Quais sero os preos recebidos pelos produtores de soja nas diversas regies produtivas?

5 O Problema da Amizade

Um grupo de discusso via Internet est interessado em formar pares para debater assuntos de interesse mtuo. Para cada indivduo i conhecido o conjunto das ni pessoas que lhe so compatveis,
ni = {1, ..., m}.
1. Formule o problema de maximizar a formao de duplas compatveis por meio de um modelo de
fluxo em redes.
2. O que seria alterado no modelo anterior se, alm da compatibilidade, fosse exigido que as duplas
fossem formadas por um homem e uma mulher?

6 O Problema de Expanso de uma Rede de Comunicao

A rede representada na figura que se segue define o trfego de mensagens entre as estaes 1 e 2 (lado
esquerdo da rede), e as estaes 5, 6 e 7. O trfego realizado por meio do chaveamento localizado nos
vrtices 3 e 4. A atual rede possui uma certa capacidade tij de trfego entre os vrtices i e j.
4
1

4
6

Rede de Comunicao

Um plano de expanso prev a possibilidade de que a capacidade dos arcos de comunicao seja
ampliada e que os ns de chaveamento possam tambm processar um maior nmero de mensagens.
So conhecidos os custos unitrios cij para a expanso dos arcos que ligam os vrtices e os ns de chaveamento. So ainda conhecidos os custos para o aumento unitrio do fluxo em um certo vrtice de
chaveamento vj, j = 3, 4. Sabendo-se que a demanda prevista entre os vrtices i e j ser fij, formular o
problema de encontrar a expanso que minimize o custo de operao da rede.

PROBLEMA DO
CAIXEIRO VIAJANTE

8.1 INTRODUO
8.1.1 As Origens do Problema
O problema do caixeiro viajante (PCV) um dos mais tradicionais e conhecidos problemas de programao matemtica (Melamed [1990] e Campello e Maculan [1994]). Os problemas de roteamento lidam em
sua maior parte com passeios ou tours sobre pontos de demanda ou oferta. Esses pontos podem ser representados por cidades, postos de trabalho ou atendimento, depsitos etc. Dentre os tipos de passeios um dos
mais importantes o denominado hamiltoniano. Seu nome devido a Willian Rowan Hamilton que, em
1857, props um jogo que denominou Around the World. O jogo era feito sobre um dodecaedro em que cada
vrtice estava associado a uma cidade importante na poca. O desafio consistia em encontrar uma rota
atravs dos vrtices do dodecaedro que iniciasse e terminasse em uma mesma cidade sem nunca repetir
uma visita. O grafo do problema mostrado na Figura 8.1.

FIGURA 8.1 Jogo de Hamilton.

Uma soluo do jogo de Hamilton, em sua homenagem, passou a se denominar um ciclo hamiltoniano. Hamilton no foi o primeiro a propor esse problema (Biggs et al. [1986]), mas seu jogo o divulgou. Uma das solues do jogo est apresentada na Figura 8.2.
Modernamente, a primeira meno conhecida do problema devida a Hassler Whitney em 1934
em um trabalho na Princeton University. Independente desse trabalho de Hamilton, o problema do caixeiro viajante (PCV) um problema de otimizao associado ao da determinao dos caminhos hamil-

332

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

ELSEVIER

FIGURA 8.2 Uma soluo do jogo de Hamilton.

tonianos em um grafo qualquer. O objetivo do PCV encontrar, em um grafo G = (N, A), o caminho hamiltoniano de menor custo.

8.1.2 Importncia Atual do PCV


A importncia do PCV devida a pelo menos trs de suas caractersticas:
4

Grande aplicao prtica (Bellmore e Nemhauser [1968], Burkard [1979], Reinelt [1994]).

Uma enorme relao com outros modelos (Laporte et al. [1996]).

Grande dificuldade de soluo exata (Papadimitriou e Steiglitz [1982], Gould [1991] e Zhang
[1997]).

Dessa forma, a importncia do modelo indiscutvel, tanto sob o aspecto prtico, como o terico.
Considerado intratvel por Garey e Jonhson (1979) classificado por Karp (1975) como NP-rduo.

8.2 FORMULAES E APLICAES


8.2.1 Formulaes
Existem vrias formulaes para esse problema. Devido sua importncia apresentaremos as mais difundidas. Essas formulaes podem ser consideradas como cannicas, tanto por sua larga difuso na literatura especializada como por desenvolverem modos peculiares de caracterizao do problema. Para
uma abordagem mais especfica Lawler et al. (1985) apresentam um bom estudo introdutrio.

Formulao de Dantzig-Fulkerson-Johnson (DFJ)


Dantzig, Fulkerson e Johnson (1954) (ver Christofides et al. [1979]) formularam o PCV como um problema de programao 0-1 sobre um grafo G = (N, A), como se segue:
n

(PCV1) Minimizar z =

cij xij

j=1 i=1

sujeito a:
n

x ij = 1

i= 1

"j N

(8.1)

PROBLEMA DO CAIXEIRO VIAJANTE

333

x ij = 1

"i N

(8.2)

"S N

(8.3)

"i, j N

(8.4)

j=1

x ij S 1

i ,j S

xij {0, 1}

Onde a varivel binria xij assume valor igual a 1, se o arco (i, j) A for escolhido para integrar a soluo, e 0 em caso contrrio, e S um subgrafo de G, em que | S | representa o nmero de vrtices desse
subgrafo. Nessa formulao assumimos implicitamente que xii no existe e que teremos n (n 1) variveis inteiras 0 1 e O(2n) restries. As restries (8.1) e (8.2) so semelhantes s do problema de designao, de modo que configuraes como as mostradas na Figura 8.3 seriam vlidas. O conjunto de restries (8.3) determina a eliminao desses circuitos pr-hamiltonianos.
As equaes em |S| tornam os circuitos pr-hamiltonianos ilegais. A Figura 8.3 mostra que a restrio para |S| = 5 elimina circuitos pr-hamiltonianos com cinco vrtices da seguinte forma:
x15 + x54 + x49 + x96 + x61 4
x23 + x3 10 + x10 8 + x72 + x87 4
Para cada circuito pr-hamiltoniano possvel necessria uma restrio do tipo (8.3), justificando-se assim o nmero de O(2n) restries.
Essa formulao destaca um importante aspecto do PCV que sua natureza combinatria. Pela formulao fica claro que solucionar um PCV determinar uma certa permutao legal de custo mnimo.
A formulao de Dantzig tambm auxilia no entendimento da ligao do PCV aos problemas de seqenciamento de operaes, to comuns em manufatura. Supondo que exista um certo tempo de preparao de cada mquina para receber uma tarefa, e que as tarefas possam ser distribudas de vrias
formas no conjunto das mquinas existentes, o problema de encontrar uma sequncia de operaes
que minimiza o tempo de preparao das mquinas e, consequentemente, os custos do trabalho, pode
ser modelado como um PCV.

Formulao de Miller-Tucker-Zemlin
Miller,Tucker e Zemlin (1960) propem uma formulao para o PCV denominada Folha de Cravo, conforme descrita a seguir:
2

1
8

9
10

i,j

10
7

xij = 5

i,j

(a) soluo ilegal

xij = 5

i,j

xij 5 1 4

(b) restries associadas

FIGURA 8.3 Restries de cardinalidade para o PCV.

334

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

ELSEVIER

Denotaremos a cidade 1 como a cidade incio-fim ou cidade origem. O caixeiro viajante deve visitar
as outras n 1 cidades exatamente uma vez. Durante seu trajeto deve retornar a cidade origem exatamente t vezes, incluindo o retorno final, e no deve visitar mais de p cidades diferentes em um tour ou
n 1
ciclo. A formulao requer que
t n 1, onde a denota o menor inteiro maior ou igual ao va p

lor de a, ou teto da diviso, para garantir a existncia de tours viveis. Dessa forma o PCV pode ser formulado como se segue.
n

(PCV2) Minimizar z =

cij xij

j=1 i=1

sujeito a:
n

xi 1 = t

(8.5)

i= 2
n

xji = 1

j = 2, ..., n

(8.6)

i = 2, ..., n

(8.7)

i= 1
n

xji = 1
j=1

ui uj + pxij p 1
ui 0

2ijn

2in

xij {0, 1}

"i, j N

(8.8)
(8.9)
(8.10)

O primeiro conjunto de restries de (PCV2) garante que a cidade origem visitada exatamente t
vezes. O arco (i, j) em toda a soluo vivel 0-1 dos trs primeiros conjuntos de restries obrigam o
conjunto de restries em p a transformar-se em:
u i uj 1
A formulao (PCV2) envolve O(n2) restries em n2 1 variveis. Quando t = 1 e p n 1 ela modela o PCV.

Formulao de Fox-Gavish-Graves
Fox, Gavish e Graves (1980) formularam uma generalizao do PCV denominada time dependent. Nessa
formulao o custo de percorrer o caminho entre as cidades i-j depende da posio t do arco (i, j) em um
tour (ou passeio) de uma dada cidade origem indexada por 1. Essa formulao foi originalmente proposta por Fox, para o problema do 1-machine n-job scheduling. As variveis de deciso desse modelo zijt
so triplamente indexadas. zijt = 1 se o arco de i para j designado na t-sima posio do tour, zijt = 0
para o caso contrrio. Dessa forma temos:
n

(PCV3) Minimizar z = cijt zijt


i=1 j=1 t=1

sujeito a:
n

zijt

i=1 j=1 t=1

=n

(8.11)

PROBLEMA DO CAIXEIRO VIAJANTE

tzijt tzijt = 1
j=1 t=2

335

i = 2, ..., n

(8.12)

"i, j, t

(8.13)

j=1 t=1

zijt {0, 1}

As restries (8.11) ou restries de agregao do problema de alocao 3-dimensional garantem


que cada cidade visitada exatamente uma vez e que para cada posio do tour exista um arco designado. O conjunto de restries (8.12) garante a eliminao dos subtours.

Formulao de Claus
Padberg e Sung (1988) apresentam uma importante formulao do PCV devida a Claus, usando conceitos de fluxos em rede. Denotando por s a cidade origem ou fonte e transformando todo ciclo hamiltoniano em um caminho hamiltoniano, por considerar tambm a cidade origem como um destino t, podemos interpretar o PCV como um problema de determinar um caminho hamiltoniano de s para t no digrafo G = (V, E), onde:
V = V1 {s, t}, V1 = {1, ..., n} e
V = V* {t} e E = {(i, j), "i j V1} {(s, i), (i, t), "i V1}.
Podemos interpretar a varivel binria x associada a aresta (i, j) como:
xij = 1 se (i, j) pertence a um caminho hamiltoniano, 0 em caso contrrio.
O fluxo na rede envolve n + 1 comodidades. Claus define uma varivel auxiliar yijk como o fluxo da
k-sima comodidade no arco (i, j). Da temos:
(PCV 4) Minimizar z =

cij xij
( i , j )E

sujeito a:

xij = xji

jV

jV

yijk yjik

jV

"i V1

jV

yikk = 1, ysik
i

"i V1 "k V*

=0

= 1, ykik = 0

yijk xij

"i, j, k

xij 0

"i, j

yijk 0

"i, j, k

"k V*

xij, yijk inteiros "i, j, k


A formulao C envolve um conjunto de restries da ordem de n3 e (n3 + n2 + 3n) variveis.

8.2.2 Aplicaes
O PCV, em suas diversas verses, est presente em inmeros problemas prticos. Sem nos estendermos demasiadamente podemos destacar:

336

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

ELSEVIER

Determinao de acesso a arquivos computacionais (Henry-Labordere [1969]).


Programao de assistncia social (Saskena [1970]).
Manipulao de itens em estoque (Ratliff e Rosenthal [1981]) .
Na maioria dos problemas de roteamento de veculos (Bodin [1983] e de navios Fagerholt e
Christiansen [2000]).

Programao de transporte entre clulas de manufatura (Finke e Kusiak [1985]).


Programao de operaes de mquinas em manufatura (Kusiak e Finke [1987]).
Otimizao do movimento de ferramentas de corte (Chauny et al. [1987]).
Otimizao de palhetas em turbinas a gs (pante et al. [1987]).
Anlise de estruturas cristalinas (Bland e Shallcross [1987]).
Fabricao de Chips VLSI (Korte [1988]).
Otimizao de perfuraes de furos em placas de circuitos impressos (Reinelt [1989]).
Na soluo de problemas de sequenciamento de tarefas (Whitley [1991]).
Trabalhos administrativos (Laporte et al. [1996]).
Roteamento de entrega postal (Laporte et al. [1996]).
Na soluo de problemas de programao e distribuio de tarefas em plantas (Salomon et al.
[1997]).

Cortes em chapas de ao e vidro (Hoeft e Palekar [1997]).


Construo de rvore evolucionria e determinao de sequenciamento gentico (Korostensky e
Gonnet [2000]).

Produo de Ao (Tang et al. [2000]).


Testes citolgicos (Laporte e Palekar [2002]).
Planejamento da produo (Ben-Arieh et al. [2003]).
Planejamento de sistemas noturnos de distribuio de valores (Cordone e Calvo [2003]).
8.3 PROBLEMAS CORRELATOS
O PCV Simtrico (PCVS)
Esse caso particular do PCV de extrema importncia, pois representa muitas das situaes reais de roteamento. Quando a matriz de custos do PCV simtrica, o problema denominado simtrico. Se cik cij + cjk,
"i, j, k N o PCV satisfaz chamada desigualdade triangular. Um PCV denominado euclidiano (PCVE)
quando sua matriz simtrica e satisfaz desigualdade triangular, caracterstica da mtrica euclidiana.
Um caso especial do PCV simtrico aquele em que existem conjuntos de ns que possuem restries que os obrigam a estar em uma determinada sequncia de atendimento. Esses conjuntos de ns
so denominados de cluster ou grupamentos. O problema denominado na literatura como Symmetric clustered traveling salesman problem (SCTSP). O problema assim definido possui vrias aplicaes na
indstria e no roteamento de veculos (ver Jongens [1985]).

O PCV Generalizado (PCVG)


Caso, como o prprio nome indica, uma generalizao do PCV. Semelhante ao (SCTSP) o problema est
sujeito ao agrupamento de ns, s que, nesse caso, para forar uma generalizao no ciclo hamiltoniano. Cada grupamento formado deve contribuir com certo nmero de ns para o ciclo hamiltoniano do

PROBLEMA DO CAIXEIRO VIAJANTE

337

caixeiro. Obviamente, quando todos os ns dos grupamentos so visitados o problema recai no PCV clssico. Uma verso desse problema, denominada equality, exige que em cada cluster apenas um vrtice seja
visitado. Essa verso modela problemas de ligao em circuitos integrados em que os subcircuitos possuem vrias posies possveis de conexo com o conjunto da placa. A Figura 8.4 esclarece a topologia do
modelo mostrando uma das muitas alternativas de rotear quatro placas:
Uma outra aplicao do PCVG ocorre na rea de entrega de correspondncia administrativa e banc-

2
3

3
11

15

11

12

14
13
10

13
10

15

12

14

9
1

(b) Verso equality

(a) Verso generalizada

FIGURA 8.4 O PCV Generalizado (PCVG).

ria. Nesse tipo de problema sempre existe uma rede de postos de servios (agncias bancrias, filiais, representaes etc.) onde um mensageiro pode executar indistintamente uma determinada atividade. Suponhamos que o problema seja executar r servios em n possveis postos, n > r. Admitamos que cada tipo de servio possa ser realizado indistintamente em um ponto dos Sr conjuntos homogneos que dividem n, ou
seja, o mensageiro tem de passar por pelo menos um ponto pertencente a cada conjunto Sr para que possa
executar as r tarefas. A soluo via PCVG desse problema o ciclo hamiltoniano de menor comprimento
que visita um n em cada um dos Sr conjuntos de pontos em que n dividido. Laporte et al. (1996) apresenta outras aplicaes em seu trabalho.
Suponhamos que o conjunto de ns de G = (N, A) dividido em grupamentos disjuntos S1, S2, ..., Sr,
ou seja, N = S1 S2 .... Sr. Seja R = {1, 2, ..., r} o conjunto de ndices dos grupamentos. Supondo ainda
que no existem arcos ligando esses ns, Noon e Bean (1991) apresentam o seguinte modelo de programao inteira para o PCVG:
(PCVG) Minimizar z =

cij x ij
( i , j )A

sujeito a:

x ij =1

(8.14)

x ij =1

(8.15)

i SI jSI

i SI jSI

x ij x jk = 0

i N

j N

(8.16)

k N

x ij 1

" R, 2 |R| r 2

(8.17)

I R i SI J R jS j

xij {0, 1}

(8.18)

338

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

O PCV com Backhauls (PCVB)


Este problema pode ser considerado um caso especial do (PCVG) em que os ns de G so particionados em dois grupamentos denominados normalmente de L (ns linehauls) e B (ns backhauls) (Kalantari et al. [1985]). A matriz de custo do problema atende s condies da norma euclideana. Uma verso do problema determina que os ns de L sejam visitados inicialmente e, posteriormente, os ns de
B. A estratgia dessa verso dar preferncia ao descarregamento dos veculos para, posteriormente,
realizar o carregamento em direo ao depsito (n inicial). A Figura 8.5 exemplifica o problema.
De fato, esse problema pode ser reduzido ao PCV pela considerao de penalidades convenientemente grandes entre as arestas que ligam os ns L e B.
Incio
4

6
11

12

11

12
9

3
10

10

B
1

Uma instncia do PCVB conjuntos L e B

Uma soluo para o PCVB

FIGURA 8.5 Exemplo de uma soluo para o PCVB.

O PCV com Janelas de Tempo (PCVJT)


Se associarmos uma varivel tij a cada arco do grafo G = (N, A), representando a durao do percurso
entre os ns i e j e assumirmos que a matriz T = [tij] satisfaz desigualdade triangular, podemos imaginar que a chegada a cada vrtice de G possa estar associada a um intervalo de valores para o acmulo do tempo gasto no deslocamento pela rota. Dessa forma, o valor acumulado do tempo de trajeto deve estar entre um certo intervalo de tempo [ai, bi], denominado de janela de tempo, para cada
vrtice i N. Ainda associado a esse tipo de problema com restrio nos ns, encontramos outras
variantes como o PCVJT que incluem restries de precedncia (PCVJT-RP). As restries de precedncia obrigam que a chegada a certos vrtices seja antecedida por um determinado conjunto de outras visitas. Considerando que o vrtice xi seja um vrtice de backhaul, ou seja, i B, (possui um carregamento para o depsito), tipicamente os vrtices xj, j L, representam um conjunto de precedncia.
Podemos considerar que tanto o PCVB como o PCVJT so casos particulares do PCVJT-RP.
Como, normalmente, os tempos e os custos em um percurso hamiltoniano so positivos e associados
aos arcos de G, em algumas situaes o PCV poder ser formulado em funo da minimizao dos tempos de atendimento. Nesse caso, os tij podero ter tambm impacto no custo do trajeto. O problema, ento, poder ser o de minimizar o tempo total de atendimento, respeitando-se limites de janelas de tempo
e gastos com o deslocamento. Tal problema constitudo pelo PCVJT acrescido de restries de custo.

O PCV Mltiplo (PCVM)


Este problema consiste em obter r tours, todos iniciando e terminado em um certo vrtice (x0, por exemplo) em G, normalmente associados a r caixeiros, cuja soma total mnima.

O PCV com Gargalo ou MinMax (PCV MinMax)


Este problema consiste em obter um ciclo hamiltoniano tal que sua aresta de maior comprimento seja
mnima. Burkard (1991) formaliza o problema. interessante notar que a soluo do PCV um limite

PROBLEMA DO CAIXEIRO VIAJANTE

339

inferior para esse problema de otimizao. Apesar de se tratar de um problema NP-rduo como os
anteriores (Parker e Rardin [1984]) em diversas situaes ele pode admitir soluo polinomial. Burkard (1991) provou que para o caso em que a matriz de custo desse problema C = [cij] pode ser decomposta em um produto de dois vetores (ai) e (bj) tal que a1 a2 .... an e b1 b2 .... bn, ento o PCV
MinMax pode ser solucionado em O(n2), enquanto o PCV associado permanece NP-rduo.

O PCV com Bnus (PCV-B)


Este problema foi proposto por Fischetti e Toth (1988) e tambm estudado por Balas (1989). Associando-se um bnus bi a cada vrtice xi de um grafo G = (N, A), o PCV-B consiste em determinar um tour hamiltoniano de comprimento mnimo de um vrtice x1 a um subconjunto S (N \ {x1}) tal que o retorno
total obtido em bonificao nos vrtices seja pelo menos igual a um certo valor p.
Consideremos que no problema do grafo da Figura 8.6 (a), em que o vrtice x1 o vrtice 1, seja exigido um bnus mnimo de 25 unidades e o subconjunto S de vrtices de N seja de cardinalidade igual a
6. O ciclo de (c) seria uma soluo melhor que (b). Notamos que o ciclo hamiltoniano de (b) menor que
o de (c) mas viola a condio de bnus mnimo. A soluo 1-4-5-2-3-7-6-1 possui ciclo de comprimento
19 e bnus 29, sendo a soluo tima. Observamos que a soluo 1-6-7-3-2-5-4-1, que possui comprimento 19 e bnus 30, igualmente tima, uma vez que a condio de bnus apenas restritiva.

10

10

4 10

4 10

(a) Grafo G

9
5

12

12

3
5

1
1

3
5

12

1
7

5
3

1
5

12

8
12

12

10

4 10
3
5

(b) Soluo = 19; Bnus = 24

3
6

5
1

(c) Soluo = 20; Bnus = 25

FIGURA 8.6 O PCV com bnus.

O PCV Seletivo (PCV-S)


Este problema foi estudado por Laporte e Martello (1990). Como vimos no item 3.7, o PCV-B utiliza o
bnus como um elemento restritivo. Se o bnus ultrapassar o limite mnimo, as solues com o mesmo
comprimento mas com diferentes bnus no so distintas. O PCV-S aborda a situao em que, para um
certo subconjunto S (N \ x1), deseja-se agora maximizar o bnus, sujeito restrio de que o comprimento do ciclo no seja superior a certo valor r.
Consideremos que no problema do grafo da Figura 8.7 (a), em que o vrtice inicial x1 corresponde
ao n 1, e que seja exigido que o comprimento do ciclo hamiltoniano no seja maior que 25 unidades,
considerando-se |S| = 6. No exemplo da Figura 8.7 os ciclos (b) e (c) so legais, mas o ciclo representado na Figura 8.7 (c) seria a soluo procurada. Notamos que o ciclo hamiltoniano de (b) menor que o
de (c), mas o critrio de otimizao agora diz respeito ao bnus.

O PCV Estocstico
O PCV clssico considera que o ciclo hamiltoniano desejado, ou o tour do caixeiro, se dar em um grafo
em que os elementos constitutivos so determinsticos. No modelo estocstico, as janelas de tempo, os
vrtices, os tempos e os custos das arestas so elementos aos quais poderemos associar distribuies de
probabilidades que lhes definiro a existncia ou o valor. Os casos a seguir foram atualmente relatados
na literatura:

340

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

10

10

4 10

(a) Grafo G

9
5

1
7

12

4 10

1
7

3
6
5

9
5

(b) Soluo = 24; Bnus = 26

3
5

7
5

6
4

5
3

12
8

12

5
3

8
1

1
5

12

4 10

8
12

12

10

5
1

(c) Soluo = 25; Bnus = 33

FIGURA 8.7 O PCV seletivo.

PCV com Clientes Estocsticos (PCV-CE)

Nesta verso, o grafo G = (N, A) tem seus vrtices ocupados por clientes xi, i N segundo uma probabilidade
pi. O modelo considera, portanto, o caso em que existe a possibilidade de um vrtice de G no demandar uma
visita. A abordagem para exibir um tour legal dentro desse modelo inclui, normalmente, duas etapas:

Etapa 1: exibir um tour sobre todos os vrtices de G = (N, A).


Etapa 2: formar um tour legal eliminando os vrtices no demandantes.
Esse problema foi introduzido por Jaillet (1985) que demonstrou que a soluo determinstica pode
ser arbitrariamente ruim para o PCV-CE.
4

O PCV com Tempo de Viagem Estocstico (PCV-TE)

No chamado PCV-TE os coeficientes de custo cij representam o tempo de viagem entre os vrtices i-j e
so variveis aleatrias. Os autores que abordaram esse problema at o momento o fizeram tentando
determinar uma soluo a priori tal que a probabilidade de completar o tour, dentro de um dado prazo,
fosse maximizada. At o momento da edio deste trabalho, a literatura no reporta, pelos principais
meios de comunicao da rea, um modelo matemtico para o problema. Kao (1978) um dos primeiros trabalhos que propem solues para esse problema.
4

PCV Mltiplo com Tempo de Viagem Estocstico (PCV-MTE)

Trata-se da verso mltipla do PCV-TE. Nesse caso, todas as rotas iniciam e terminam no mesmo n
(que obviamente representa uma sede para o caixeiro). O nmero de caixeiros (ou veculos) uma varivel de deciso que possui custos fixos associados. Os trabalhos que abordaram o tema impuseram
um limite de tempo para a durao dos ciclos de cada caixeiro (um comprimento mximo para o ciclo),
ver Gendreau et al. (1996).

O PCV Min Max-Min Sum (PCV-M3S)


Este caso corresponde ao objetivo Min Max-Min Sum para a funo de otimizao do PCV. Os problemas chamados de gargalo ou bottleneck so tradicionais no contexto da otimizao porque esto associados a vrias situaes prticas que envolvem o deslocamento de facilidades. O Min Max-Min Sum
uma composio do problema clssico com o de gargalo, em que a funo objetivo a ser minimizada a
soma algbrica das funes objetivo dos problemas mencionados. So dados p elementos de um conjunto E = {e1, e2, ..., ep} e F P(E), onde P(E) o conjunto potncia de E, uma famlia finita de subconjuntos de E perfeitamente definidos. Instncias de F podero ser, por exemplo, as subrvores de um grafo,
os caminhos unindo dois vrtices de um grafo ou conjuntos de arestas no adjacentes de um matching
mximo. A cada elemento ei, i = 1, 2, ..., p so associados dois nmeros reais, um representado por ci ou
custo, e outro por pi ou peso.

PROBLEMA DO CAIXEIRO VIAJANTE

341

Sendo S F, onde F o conjunto das solues viveis de um certo problema, define-se a funo:
Z(S) = Max {pi} +
e 1S

ci

ei S

O problema de otimizao Min Max-Min Sum pode ser formulado da seguinte forma (M3S1):
Min Z(S)
SF

Um dos primeiros trabalhos abordando um problema de otimizao combinatria bicritrio no


formato M3S foi reportado por Hansen (1980) para o problema do caminho mais curto. O M3S foi reportado pela primeira vez como um problema distinto no trabalho de Minoux (Minoux [1986]), aparecendo como um subproblema do problema de decomposio da matriz relacionada a alocao tima de
trfego de comunicao em satlites. Posteriormente, o problema foi associado, dentre outros, aos problemas de colorao de arestas em grafos valorados e particionamento de vrtices e arestas (Minoux
[1987]). Martello et al. (1984) apresenta um problema similar ao M3S no contexto da alocao balanceada. Berman, Einav e Handler (1990) abordam um problema bicritrio com duas medidas de desempenho que poderiam ser modeladas como em M3S, mas que, no estudo, so tratadas separadamente, um
problema como restrio do outro. Casos bicritrios semelhantes so solucionados atravs das superfcies de Pareto nos trabalhos de Braham (1966) e Frisch (1966). O M3S1 pode ser formulado de forma
equivalente como expresso abaixo a qual denominaremos (M3S2):

Min Pk + Min Ci
1 k p
S F k eS

i
De modo que solucionar M3S pode ser equivalente a solucionar a uma sequncia de p subproblemas Min_Sum. O algoritmo de Minoux 1989 fundamenta-se exatamente na formulao M3S2.
No contexto das aplicaes prticas o PCV-M3S pode modelar situaes de roteamento entre clulas de produo em que o caixeiro representa um aparelho de transporte e a movimentao de produtos entre as clulas ocasionam impacto no tamanho das filas dentro de cada clula.

O PCV Peridico (PCV-P)


O Problema do Caixeiro Viajante Peridico (PCV-P) consiste em programar uma visita diria do caixeiro em um horizonte de planejamento de m dias de modo a visitar pelo menos uma vez uma das n cidades de um determinado conjunto I = {1, ,i,
n}, considerando-se que o caixeiro retorna sua cidade
diariamente. O objetivo do problema minimizar a distncia total percorrida nos m dias do horizonte
de planejamento. As cidades podem ser visitadas mais de uma vez dentro do perodo de m dias, contudo somente uma vez a cada dia. No permitido um trajeto dirio vazio sem visitas. O PCV-P foi primeiramente descrito no trabalho de Palleta (1992).

O PCV com Coleta (PCV-C)


Considerando que o veculo do caixeiro viajante possua uma determinada capacidade e que o caixeiro
deva entregar e recolher produtos de seus clientes. Considerando ainda que os produtos coletados possam ser entregues a outros clientes na rota, o PCV com Coleta (PCV-C) consiste em programar um trajeto que, atendendo a todos os clientes de demanda e oferta dentro da capacidade do veculo minimize
a distncia percorrida. Os primeiros trabalhos no tema so devidos a Anily e Mosheiov (1994), e
Mosheiov (1994) que descreve uma aplicao ao transporte escolar. A atual variante possui muitos
pontos em comum com o problema de roteamento com entrega e coleta (Pick-Ups and Deliveries).

342

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

ELSEVIER

O PCV com Recompletao (PCV-R)


Considerando que pesos inteiros positivos wi so atribudos aos ns de um multigrafo direcionado G =
(N, A) e que o peso do caminho p a soma dos pesos dos ns ao longo de p. Um subconjunto dos arcos
chamado de arcos de recompletao (reenchimento) e notado por B A. Os demais arcos, denotados por
C = A\B, so chamados de ordinrios (comuns). Um caminho dito invivel se seu peso exceder a um
determinado limite de peso constante e se ele no contm arcos de recompletao; caso contrrio, ele
vivel. Um caminho minimamente no vivel se todos os seus subcaminhos so viveis.
O problema do caixeiro viajante com arcos de recompletao denotado por (PCV-R) encontrar um tour de
custo mnimo, isto , um ciclo hamiltoniano direcionado, que no contm subcaminhos no viveis. Nesse
contexto faz sentido permitir a possibilidade da existncia de dois arcos paralelos entre ns, um sendo um
arco de recompletao e o outro um arco ordinrio, de modo que o arco ordinrio tenha custo mais baixo.

O PCV em Matriz Circulante (PCV-MC)


Trata-se do problema do Caixeiro Viajante em um grafo cuja matriz de distncias circulante (Kalman
e White [2001]). A complexidade do PCV-MC um problema em aberto. O primeiro trabalho abordando o tema se deve a Fink (1987). Yang et al. (1995) tambm aborda a soluo desse problema.

O PCV Seletivo Euclidiano (PCV-E)


Considerando-se n cidades localizadas no plano euclidiano, o PCV-E consiste em encontrar o menor
caminho fechado que visite todas as cidades exatamente uma vez.

O PCV de Mximo Espalhamento (PCV-ME)


Trata-se de determinar em um grafo ponderado e completo um caminho hamiltoniano em que o comprimento da menor aresta maximizado. Problema descrito em Arkin et al. (1997).

O PCV m-Peripattico (PCV-mP)


Trata-se de determinar em um grafo ponderado m ciclos hamiltonianos disjuntos em aresta de forma a
minimizar o custo acumulado de todos os ciclos. O problema foi descrito pela primeira vez em Krarup
(1975). De Kort (1991) exibe um limite inferior para o problema, e relata um algoritmo branchand-bound para a soluo do (PCV-2p) em De Kort (1993). Duchenne et al. (2003) prope um algoritmo
branch-and-cut para a soluo do problema.

O PCV com Alvos Mveis


Dado um conjunto S = {s1, s2, ..., sn} de si alvos mveis com velocidade constante vi e posio inicial pi , o problema consiste em determinar uma trajetria que inicie e termine em uma posio com velocidade V >| vi
|, i = 1, 2, ..., n. e intercepte todos os alvos. O problema descrito pela primeira vez em Helvig et al. (2003).

O PCV com Mnimo Desvio


Trata-se de um problema definido sobre o plano euclidiano. O objetivo encontrar uma trajetria composta por retas que passem por um conjunto de pontos distribudos em R2 de forma a minimizar o nmero de retas necessrias. O problema descrito em Stein e Wagner (2000).

O PCV On-line
Trata-se da verso on-line do PCV, ou seja, quando os dados de entrada do problema so alterados ao
longo do processo de soluo.

PROBLEMA DO CAIXEIRO VIAJANTE

343

O PCV Remoto
Dado um grafo ponderado e completo G = (N, A) e um inteiro k, o problema consiste em determinar um
subconjunto de ns de cardinalidade k tal que o custo do menor PCV no grafo formado pelos subconjunto de ns selecionados seja maximizado. Problema abordado por Halldrsson et al. (1995).

O PCV de Mnima/Mxima Latncia


Dado um grafo no direcionado G = (N, A) e cujo peso da arestas i wi. Para um dado caminho de comprimento P em G a latncia Lj do j-simo vrtice do caminho dada pela soma de todas as arestas do caminho at esse vrtice:
j

L j = wi
i= 1

O PCV de Mxima Latncia o circuito hamiltoniano em G cuja latncia acumulada em todos os


vrtices maximizada. O problema abordado por Chalasani e Motwani (1999). Por sua vez Sarubbi
(2004) prope uma formulao de fluxos multiprodutos para o problema de mnima latncia.

O PCV Com Custos Dependentes do Tempo


A presente variante um caso particular de PCV dinmico em que os custos das arestas variam ao longo do tempo. Um dos primeiros trabalhos no tema deve-se a Picard e Queyranne (1978). Brondn et al.
(2004) estudam um caso em que o nmero de arcos com custo dependente limitado e propem vrios
algoritmos heursticos de soluo.

O PCV Com Requisitos de Separao


O problema consiste em determinar um circuito hamiltoniano de custo mnimo cumprindo uma ou
mais das seguintes restries:

Restries de incluso, de modo que um certo n i seja visitado (no mnimo/no mximo/exatamente) m ns (antes ou depois) de um certo n j.

Restries de excluso, de modo que um certo n i no seja visitado (no mnimo/no mxi-

mo/exatamente) m ns (antes ou depois) de um certo n j.


A presente variante descrita por Balas et al. (1995), e uma reformulao do problema proposta
por Wang e Regan (2002).

O PCV Bipartido
O problema consiste em determinar um circuito hamiltoniano de custo mnimo sobre um grafo ponderado que possui n ns vermelhos e n ns azuis, de modo que o circuito inicie em um n azul e os ns vizinhos no circuito possuem sempre cores diferentes. O problema encontra-se definido em Chalasani et
al. (1996) juntamente com algoritmos heursticos para o problema.

8.4 MTODOS DE SOLUO E ALGORITMOS


8.4.1 Uma Viso Geral
A literatura que aborda a soluo do PCV nas suas diversas verses uma das mais ricas dentro da pesquisa operacional. As Tabelas de 8.1 a 8.5, sem nenhuma pretenso de esgotar o assunto, organizam os
principais trabalhos em uma viso panormica. Desde o trabalho de Bellmore e Nemhauser (1968), vrias compilaes sobre o PCV foram publicadas na literatura. Recentemente, destaca-se o trabalho de
Miller e Pekny (1991).

344

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

T A B E LA 8. 1 T R AB AL HO S P AR A O PCV CL S S I C O S O L U O E XA T A
Problema

Ano

Pesquisador

Trabalho
Abordagens Exatas

Problema
do Caixeiro
Viajante
(PCV)

1954

Dantzig et al.

Trabalho referncia para o PCV

1972

Christofides e Eilon

Mtodos exatos

1973

Laporte e Norbert

Mtodos exatos

1980

Carpaneto e Toth

Critrios para algoritmos B&B

1980

Crowder e Padberg

B&B

1981

Balas e Christofides

Restries lagrangeanas para o PCV

1985

Fleischmann

Algoritmo com uso de planos de cortes

1991

Miller e Pekny

Mtodos exatos

1992

Gendreau et al.

Procedimentos de ps-otimizao

1995

Jnger et al.

Relaxaes e B&Cut

1998

Applegate et al.

B&Cut

2000

Jnger et al.

Cortes

2001

Applegate et al.

Cortes

2002

Focacci et al.

Relaxao em restries globais

2004

Marcotte et al.

Programao multinvel

T A B E LA 8. 2 A LGO R I TMO S HEUR STI CO S PA RA O P C V C L S S I C O


Problema

Problema
do Caixeiro
Viajante
(PCV)

Ano

Pesquisador

Trabalho

1973

Lin e Kernighan

Mtodos heursticos

1980

Golden et al.

Vrias Heursticas

1980

Kanellakis e
Papadimitriou

Busca local

1983

Adrabinski

Experimentos comp. para heursticas

1985

Goldberg e Lingle

Algoritmos genticos

1985

Grefenstette et al.

Algoritmos genticos

1985

Cerny

Mtodos termodinmicos (Sim. annel.)

1987

Laarhoven e Aarts

Mtodos termodinmicos (Sim. annel.)

1988

Burr

Mtodos elsticos

1988

Angeniol et al.

Mapa de auto-organizao

1990

Johnson

Otimizao local

1990

Fiechter

Busca tabu paralela

1991

Ulder

Algoritmos genticos

1991

Whitley

Algoritmos genticos

1991

Glover

Busca tabu

1991

Xu e Tsai

Redes neurais

1992

Gendreau et al.

Procedimentos de ps-otimizao

1993

Reeves

Mtodos aproximativos

1993

Potvin

Redes Neurais

1994

Chandra et al.

Procedimento k-timo

1994

Valenzuela e Jones

Diviso e Conquista e Alg Genticos

ELSEVIER

PROBLEMA DO CAIXEIRO VIAJANTE

T A B E LA 8. 2 CO N T I N UAO
Problema

Problema
do Caixeiro
Viajante
(PCV)

Ano

Pesquisador

Trabalho

1994

Fiechter

Busca tabu paralela

1995

Jnger et al.

Relaxaes e B&Cut

1995

Potts e Van de Velde

Heurstica hbrida de k-substituio

1995

Vakhutinsky e Golden

Abordagem elstica

1996

Chatterjee et al.

Algoritmos genticos

1996

Potvin

Algoritmos genticos

1996

Cesari

Estratgia de diviso e conquista p/ heurist

1997

Somhom et al.

Redes neurais/modelo auto-organizado

1997

Dorigo e Gambardella

Colnias de Formigas

1998

Tsubakitani e Evans

Busca Tabu

1999

Voudouris e Tsang

Busca Local

1999

Gutin e Yeo

Vizinhanas de busca local

1999

Shin et al.

Programao Molecular

1999

Coy et al.

Heursticas smoothing

1999

Okano

Heursticas Construtivas

1999

Aras et al.

Rede de Kohonen com info estatstica

1999

del Castillo

Aproximao contnua

2000

Charon e Hudry

Noise Method

2000

Helsgaun

Implementao eficiente Lin-Kernighan

2001

Munehisa et al.

Atualizao cooperativa / rede Hopfield

2001

Zeng e Martinez

Reescalonamento / rede Hopfield

2002

Ugajin

Mtodo de difuso inversa

2003

Eppstein

PCV em grafos cbicos

2003

Li. e Gong

Colnia de Formigas

2003

Applegate et al.

Heurstica Chained Lin-Kernighan

T A B E LA 8. 3 TR AB AL HO S DE R EV I S O D A L I T E RA T U RA
Problema

Ano

Pesquisador

Trabalho

1977

Rosenkrantz et al.

Reviso das abordagens heursticas

1985

Lawler et al.

Reviso do estado da arte texto didtico

1990

Melamed et al.

Reviso do estado da arte

1992

Laporte

Reviso do estado da arte

1994

Bianco et al.

Reviso do estado da arte

1994

Reinelt

Estudo computacional

1995

Juenger et al.

Reviso do estado da arte texto didtico

1998

Burkard et al.

Casos especiais de soluo eficiente

1999

Larraaga et al.

Algoritmos Genticos para o PCV

2001

Balas e Simonetti

Estudo algortmico

2002

Johnson e McGeoch

Anlise experimental para o PCVS

2002

Punnen e Kabadi

Anlise de dominncia entre heursticas

2002

Johnson et al.

Anlise experimental para o PCVAS

Trabalhos de Reviso Bibliogrfica e Anlise

Problema
do Caixeiro
Viajante
(PCV)

345

346

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

T A B E LA 8. 4 T R AB AL HO S P AR A V R I AS V E RS E S D O P C V P A RT E I
Problema

PCV Generalizado
(PCVG)

PCV Simtrico
(PCVS)

PCV Assimtrico
(PCVAS)

Ano

Pesquisador

Trabalho

1969

Henry-Labordere

Programao dinmica

1985

Jonges e Volgenant

Relaxao lagrangeana

1987

Laporte et al.

Algoritmo B&B para o caso simtrico

1991

Noon e Bean

Formulao inteira do problema

1994

Fischetti et al.

Algoritmo B&Cut / caso simtrico

1996

Laporte et al.

Aplicaes prticas do problema

1996

Gendreau et al.

Algoritmos heursticos

1996

Laporte et al.

Aplicaes do problema

1997

Fischetti et al.

Algoritmo B&Cut

1997

Chentsov e Korotayeva

Programao dinmica

1998

Renaud e Boctor

Heurstica composta

1999

Laporte e Semet

Procedimento de transformao

1999

Balas

Problemas de soluo eficiente

1980

Padberg e Hong

Estudo computacional do problema

1980

Jonker et al.

Transformaes do problema

1982

Jonker e Volgenant

B&B

1987

Stewart

Heursticas para o PCVS

1989

Carpaneto et al.

Limites para o problema

1990

Padberg e Rinaldi

Identificao de facetas

1991

Padberg e Rinaldi

Algoritmos B&Cut

1991

Grtschel e Holland

Soluo de problemas de grande porte

1994

Knox

Busca tabu

1996

Zachariasen e Dam

Busca tabu

1996

Codenotti et al.

Mtodo da perturbao

1996

Renaud et al.

Heurstica composta

2002

Johnson e McGeoch,

Anlise experimental

2002

Lorena e Narciso

Informao lgica e relaxao lagrangeana

1991

Miller e Pekny

Algoritmo exato

1996

Freisleben e Merz

Algoritmo gentico com busca local memtico

1996

Gambardella e Dorigo

Colnia de formigas

1998

Brest e Zerovnik

Algoritmo heurstico

1999

Amin

Simulated Jumping

2000

Zhang

Busca Local e B&B

2000

Ascheuer

B&Cut

2001

Cirasella et al.

Algoritmos e instncias teste

2001

Glover et al.

Heursticas Construtivas

2002

B1aser

Heursticas para o mximo PCVAS

2003

Lewenstein e
Sviridenko

Heursticas para o mximo PCVAS

2003

Choi et al.

Algoritmos Genticos

ELSEVIER

PROBLEMA DO CAIXEIRO VIAJANTE

T A B E LA 8. 4 CO N T I N UAO
Problema

PCV com Backhauls


(PCVB)

Ano

Pesquisador

Trabalho

1985

Kalantari et al.

Algoritmos exatos para casos especiais

1989

Goetschalckx e JB

Vrios algoritmos

1994

Anily e Mosheiov

Modelo de programao

1996

Gendreau et al.

Algoritmos heursticos

1997

Gendreau et al.

Algoritmo heursticos hbridos

1997

Hansen e Mladenovic

Heurstica de busca em vizinh. var.

2003

Gharizi e Osman

Redes Neurais

1980

Psaraftis

Programao dinmica

1983

Baker

B&B

1983

Psaraftis

Algoritmo enumerativo

1986

Desrosiers et al.

Programao dinmica

1992

Malandraki e Daskin

Estudos e algoritmos heursticos

1993

Langevin et al.

Programao dinmica

1994

Bianco et al.

Programao dinmica / limites

1995

Dumas et al.

Testes de dominncia e programao dinmica

Russell

Heursticas hbridas

Malandraki, e Dial

Heuristicas de prog dinmica restrita

1997

Mingozzin et al.

Programao dinmica / limites

1998

Pesant et al.

Programao Lgica

1998

Gendreau et al.

Heursticas de insero

1999

Ascheuer et al.

B&Cut

2000

Calvo

Heurstica baseada no assignment

2000

Fagerholt e
Christiansen

Aplicaes

2002

Focacci et al.

Relaxao em restries globais

1977

Russel

1988

Desrosiers et al.

Relaxao lagrangeana

1991

Cvetkovic

Programao dinmica

1995

Frana et al.

PCVM com objetivo minmax

2000

Tang

Aplicaes do modelo

2002

Sofge et al.

Computao evolucionria

2003

Prez e Gil

Colnia de formigas

O PCV com J. Tempo 1995


(PCVJT)
1996

O PCV Mltiplo
(PCVM)

T A B E LA 8. 5 TR AB AL HO S P AR A V R I AS VE RS E S D O P C V P A RT E I I
Problema

O PCV Peridico
(PCV-P)

Ano

Pesquisador

Trabalho

1992

Palleta

Modelo e algoritmos heursticos

1995

Chao et al.

Algoritmo heurstico

2002

Palleta

Algoritmo heurstico

2004

Bertazzi et al.

Algoritmo heurstico

347

348

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

T A B E LA 8. 5 C ON TI N UAO
Problema

O PCV Geomtrico
(PCV-G)

O PCV Euclideano
(PCV-E)

O PCV com
Recompletao
(PCV-R)

O PCV com Coleta


(PCV-C)
pick-delivery)

Ano

Pesquisador

Trabalho

1992

Bentley

Algoritmos heursticos

1996

Zachariasen e Dam

Busca Tabu

1998

Barvinok

PCV geomtrico mximo

1999

Mitchell

Heurstica de subdivises poligonais

1999

Fekete

PCV mximo geomtrico

2002

Jonsson

PCV em linhas no plano

2003

Barvinok et al.

PCV geomtrico mximo

1996

Arora

Esquema polinomial de aproximao

1997

Cerf et al.

Paroximao por ligaes aleatrias

1998

Al-Mulhem e
Al-Maghrabi

Mtodo elstico

1998

Arora

Esquema aproximao em tempo linear

2000

Aras et al.

Mapa KNIES de auto-organizao

2000

Bonachea et al.

Abordagem Multistart

2004

Dumitrescu e Mitchell

Aproximao em vizinhanas no plano

2000

Boland et al.

Discrio do modelo

2001

Mak

Descrio do modelo

1994

Mosheiov

Modelo para o PCV-C

1994

Anily e Mosheiov

1998

Mosheiov

Heursticas de particionamento

1999

Gendreau et al.

Heursticas para o problema

1999

Anily e Bramel

Heursticas para o problema

2002

Renaud et al.

Heursticas baseadas em perturbao

2003

Baldacci et al.

B&Cut

2003

Salazar-Gonzlez e
Hernndez-Prez

Caso de entrega e coleta de um nico item

2003

Bruun et al.

Formulao por Fluxo em Redes

2004

Salazar-Gonzlez e
Hernndez-Prez

B&Cut

1995

Frania et al.

PCV Mltiplo com objetivo MinMax

Averbakh e Berman

Algoritmos heursticos

Golden et al.

Heurstica com memria adaptativa

1999

Somhom et al.

Redes neurais

1988

Fischetti e Toth

Algoritmo de soluo

1989

Balas

Modelo e inequaes para o problema

1996

Blum et al.

Heurstica O(log2k). k= ns coletados

1998

Dell'Amico et al.

Heurstica lagrangeana

1990

Laporte e Martello

Modelo PCV Seletivo

O PCV Min-Max (PCV 1997


MinMax)
1997

PCV com Bnus


(PCV-B)

O PCV Seletivo
(PCV-S)

ELSEVIER

PROBLEMA DO CAIXEIRO VIAJANTE

349

T A B E LA 8. 5 CO N TI N UAO
Problema

PCV com Clientes


Estocsticos
(PCV-CE)

Ano

Pesquisador

Trabalho

1985

Jaillet

Solues derivadas do PCV

1985

Jzquel

Heursticas de economia

1987

Rossi e Gavioli

Solues heursticas

1988

Jaillet

Modelos

1993

Bertsimas

Solues heursticas

1994

Laporte et al.

Mtodo L-Shaped

2002

Bianchi et al.

Colnia de Formigas

2003

Bowler et al.

Caractersticas do problema

1978

Kao

Heursticas

Sniedovich

Heursticas via programao dinmica

O PCV com Tempo


1981
de Viagem
Estocstico (PCV-TE) 1989

PCV Mltiplo com


Tempo de Viagem
Estocstico
(PCV-MTE)
PCV com custos
Estocsticos

Carraway et al.

Programao dinmica generalizada

1999

Percus e Martin

Heurstica Cavity Prediction

1992

Laporte et al.

Mtodo L-Shaped

1993

Lambert et al.

Penalidades e algoritmos de economia

2004

Choi et al.

Uma arquitetura para heursticas

8.4.2 Limites para o PCV


Ser capaz de obter bons limites para o PCV um dos caminhos para o sucesso em vrios algoritmos de
B&B, B&Cut, enumerao implcita etc. So conhecidas diversas formas de obteno de limites, dentre
elas destacamos:
4

Limites Obtidos da rvore Geradora Mnima (TGM)

Chamando por F um circuito hamiltoniano no grafo G = (N, A), um grafo no direcionado, xi N um


vrtice de F, e Ai o conjunto das arestas incidentes sobre o vrtice xi. Se removermos xv, um dos vrtices do ciclo, ento teremos um caminho p em G. Se TGM for a rvore geradora mnima do subgrafo
G = (N\{xv}, A\Av} ento, claramente, TGM um limite inferior para p. Os arcos removidos de F, so
to grandes quanto os dois menores arcos incidentes em v, (i1, v) e (i2, v) por exemplo. Chamando por
Gv = (Nv, Av) o grafo composto pelos arcos de TGM e pelos arcos (i1, v) e (i2, v), e pelo n v. claro que o
custo total dos arcos em Gv um limite inferior para F. O problema da determinao do grafo Gv que
minimize esse limite pode ser expresso pelo programa linear Lim_Arv. Uma outra forma de entender
essa relaxao perceber que se desconsiderarmos as restries unitrias em estrita igualdade (restries de alocao linear) a estrutura resultante da soluo do problema formulado ser uma 1-rvore. A
relaxao assim constituda obviamente poder resultar em um tour ilegal; contudo, seu valor ser um
limite inferior para qualquer tour hamiltoniano (legal) em G.
m

(Lim_Arv) Minimizar z = cjxj


j=1

sujeito a:
m

j=1

xj = n

(8.19)

350

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

xj 1

xj = 2

"Kt (St, St ), St N

(8.20)

jKt

(8.21)

j A v

xj {0, 1}

j = 1, ..., m

(8.22)

onde St = N \ St, e Kt (St, St ), St N representa o conjunto de arcos (i, j) em que o vrtice i St e j St .


Kt tambm denominado conjunto de arcos de corte de G. Em relao a um tour hamiltoniano, pelo menos um dos arcos deve pertencer a qualquer conjunto de corte Kt de G. xj uma varivel binria que
vale 1 se o arco j est na soluo e 0 em caso contrrio. Um limite melhor pode ser obtido se considerarmos todos os ns do grafo no conjunto Av, da ltima restrio, ou seja, v = 1, ..., n. Entretanto, fazer isso
aproximar a formulao da formulao original do PCV. Um outro caminho introduzir essa restrio na funo objetivo atravs do uso de multiplicadores de lagrange l. Nesse caso, a funo objetivo
de Lim_Arv se transformar em:

+
min
c
x

ij
ij
j

x
j=1
i N jAi

Dessa forma, o problema Lim_Arv pode ser modelado em funo de l como:


m

min ( c j + i j + k ) 2 i
j
x
j=1

i N
Sujeito s demais restries de Lim_Arv, onde ij e kj so os dois ns (i e k) que definem o arco j (representado no ndice). Na verdade, a funo objetivo em l representa uma transformao de custos na
funo original de Lim_Arv tal que:
c j = c j + lij + lkj
Os melhores valores para os l (ou penalidades) so obtidos da soluo do problema em funo de
l. Mtodos para solucionar o problema em l foram sugeridos por Held e Karp (1970) Hansen e Krarup
(1974). Valenzuela e Jones (1997) resumem e analisam vrios mtodos derivados do limite Held-Karp.
4

Limites Obtidos do Problema de Matching (Emparelhamento) (PE)

Para o caso do PCV simtrico possvel obter-se um limite inferior normalmente de melhor qualidade
do que o anterior atravs da relaxao do PCV como um PE. A relaxao do PCV pode-se configurar
com o problema de programao linear que se segue:
m

(Lim_Emp) Minimizar z = cjxj


j=1

sujeito a:

xj = 2

jAi

xj {0, 1}

j = 1, ..., m

PROBLEMA DO CAIXEIRO VIAJANTE

351

Essa formulao pode ser obtida da relaxao associada rvore geradora mnima pela desconsiderao das restries de continuidade da estrutura (a rvore um subgrafo conexo). Podemos, como
no caso anterior, incluir a restrio na funo objetivo atravs de multiplicadores de lagrange. O problema , essencialmente, o mesmo anterior e suas tcnicas de soluo anlogas.
4

Limites Obtidos do Problema de Alocao Linear (PAL)

Como fica claro na formulao PCV1, os dois primeiros conjuntos de restries representam um problema de alocao linear. Balas e Christofides (1976) sugerem a introduo das demais restries do
problema, na medida de sua violao em uma relaxao linear, na funo objetivo, atravs de multiplicadores de lagrange. Os detalhes da proposta podem ser vistos em Christofides (1979).

8.4.3 Algoritmos Aproximativos de Soluo


Tendo em vista a extrema importncia da obteno de bons limites para a possibilidade de uma soluo exata do PCV em problemas de porte real (muitas vezes com dezenas ou centenas de milhares de
clientes) e do elevado grau de sofisticao dos algoritmos exatos da atualidade (que fogem ao escopo
do presente trabalho), concentraremos nossa ateno em algumas abordagens aproximativas.
4

Soluo do PCV atravs de Algoritmos Genticos (AG)

Os algoritmos genticos constituem mtodos de busca baseados em mecanismos de seleo e evoluo


natural. Os primeiros trabalhos nessa linha so originrios de John Holland (Holland [1962] e [1970]), e
objetivavam replicar os processos utilizados pelos sistemas autoadaptativos em um contexto computacional. Obviamente, nem todos os mecanismos de evoluo e adaptao dos sistemas biolgicos esto sequer modelados, contudo, vrios aspectos j so bem conhecidos. Um dos pontos bem aceitos de que o
processo de adaptao depende de uma forte interao entre uma certa configurao gentica portada
pelo indivduo e os aspectos ambientais. Lamark em 1809 formulou a primeira hiptese sistematizada
sobre evoluo, afirmando que os seres vivos evoluiriam sem saltos ou cataclismos e de forma lenta e segura, introduzindo o conceito de caracteres adquiridos. Charles Darwin desenvolveu um teoria completa explicando como o meio ambiente atuaria sobre os indivduos, forando uma seleo dos mais aptos.
Johann Gregor Mendel em 1866 apresenta uma nova teoria para explicar como ocorreriam os fenmenos
hereditrios, o que viria a se transformar no que hoje conhecemos como gentica.
J em meados do sculo passado, os cientistas conheciam, no ncleo das clulas que podiam ser observadas pelos primeiros microscpios, filamentos enrolados denominados cromossomos. O nome foi
originrio da facilidade com que eram marcados por corantes. Thomas Hunt Morgan descobriu que esses filamentos eram constitudos por subgrupos que foram denominados genes, e que estes controlavam, dentre outras coisas, a cor dos olhos de certas moscas. Ele demonstrou que esses grupos eram divididos e recompostos formando um fenmeno chamado de cruzamento ou reproduo sexuada
Partindo do modelo de cromossomos para representar o processo evolutivo, Holland (Holland
[1973] e [1975]) utilizou uma lista de smbolos binrios (0, 1) para representar as cadeias do cido nucleico. Na verdade, os objetivos do trabalho de Holland eram fundamentar uma teoria geral de sistemas de
adaptao robusta, contudo, foi capaz de encontrar um caminho de grande e imediata aplicao prtica na determinao de mximos e mnimos de funes matemticas. Isso facilitou sobremaneira a aceitao dos AG no meio acadmico. Diversos autores contriburam para a consolidao do trabalho de
Holland, como DeJong (1975), Grefenstette (1986), Goldberg (1989) e outros. Em resumo, podemos entender que os AG so uma parte da computao evolucionria que encontrou a possibilidade de aplicao geral e que possui as seguintes caractersticas gerais:

Operam em um conjunto de pontos (denominado populao) e no a partir de pontos isolados.


Operam em um espao de solues codificadas e no diretamente no espao de busca.
Necessitam como informao somente o valor de uma funo objetivo (denominada funo de
adaptabilidade ou fitness).

Usam transies probabilsticas e no regras determinsticas.

352

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

Em resumo, podemos entender que os AG so uma parte da computao evolucionria que encontrou a possibilidade de aplicao geral. Os termos que se seguem so intensamente usados por esses algoritmos:

Populao: conjunto de indivduos (isto , conjunto de solues do problema).


Cromossomo: representa um indivduo na populao (isto , uma configurao ou soluo). Definido normalmente como um vetor de componentes.

Fitness: medida de aptido de um indivduo (isto , normalmente associada ao valor da funo


objetivo para uma dada soluo).

Gene: representa uma componente do cromossomo (isto , uma varivel do problema).


Allele ou Alelo: descreve os possveis estados de um atributo do indivduo (isto , os possveis
valores de uma varivel do problema).

Locus: representa a posio do atributo no cromossomo (isto , a posio da componente no vetor


de componentes).

Operadores genticos: so as regras que permitem a manipulao dos cromossomos que, basicamente, so de:

crossover (cruzamento), ou o operador que permite a obteno de indivduos filhos a partir


da combinao (cruzamento) dos cromossomos dos pais.

mutao ou o operador que permite a produo de um novo indivduo por alteraes diretas no cromossomo pai.

Fentipo: denota o cromossomo decodificado.


Gentipo: representa a estrutura do cromossomo codificado.
Schema: um modelo de representao para uma famlia de cromossomos, normalmente representado por smbolos * dentro do cromossomo.

A Figura 8.8 exemplifica alguns dos termos.


(Fentipo)
5

9
6

2
1

2
3

8
2

4
5

* 6 *5 4 3 2

1
3

Schema

2
4

Soluo S={1,6,5,4,3,2}

1 6 5 4 3 2

ou

5 6 1 4 3 2

gene g3

16 5 4 3 2

Fitness = 23
Gentipo =(g1, g2, g3, g4, g5, g6)

Cromossomo

FIGURA 8.8 Um exemplo de formao do cromossomo.

De fato, os AG so algoritmos de busca probabilstica inteligente, com as seguintes caractersticas


bsicas:

Os indivduos so representados por cromossomos e competem por recursos e possibilidade de reproduo.

Os cromossomos, normalmente, esto associados a solues dos problemas modelados. Uma


populao inicial formada, em princpio, atravs de algum mecanismo de avaliao de performance. Quando esse mecanismo no ainda conhecido, a populao pode ser formada de modo

PROBLEMA DO CAIXEIRO VIAJANTE

353

aleatrio. Os indivduos, em geral, so codificados como uma sequncia finita em um alfabeto


binrio {0, 1}. Cada componente da sequncia dito um gene. natural supor que um gene esteja
associado a uma varivel do problema. A partir da soluo inicial, o mecanismo de reproduo
ser aplicado.

Os indivduos que tiverem mais sucesso nas competies tero maior probabilidade de reproduo do que

aqueles de menor performance. O mecanismo de reproduo constitudo por uma funo de avaliao que classifica os indivduos por sua performance e por regras que permitiro que esses melhores indivduos se perpetuem e reproduzam. Observamos a importncia da funo fitness ou
de avaliao de performance. O chamado mtodo da roulette wheel escolhe o indivduo para ser
um genitor com uma probabilidade igual sua adequao normalizada, ou seja, o resultado de
sua adequao absoluta dividida pela adequao mdia da populao avaliada. O mtodo tournament sorteia aleatoriamente k membros da populao e, nesse grupo, escolhe o indivduo de
melhor desempenho. importante perceber a natureza probabilstica do processo, objetivando
manter a diversidade da populao.

Os genes dos indivduos avaliados como bons se propagam atravs das populaes, de modo que possam ser

aperfeioados e gerem proles cada vez mais adequadas. Os indivduos selecionados sero transformados por operadores genticos em novos indivduos. Existem operadores associados reproduo
com a utilizao de um ou de mais de um indivduo. O operador primrio da reproduo utiliza
dois indivduos, sendo denominado cruzamento ou crossover. Existem vrios modos de realizar um
cruzamento entre os indivduos representados por cromossomos. Basicamente, o objetivo do
cruzamento formar novos indivduos a partir da troca de genes entre os indivduos pais. As regras que definem como essa troca de genes ocorrer so especificadas para cada caso.

A Figura 8.9 mostra a possibilidade de um cruzamento em que a posio de permutao escolhida de forma aleatria.
Pais

Filhos

10101100111

1 1 0 1 11 0 0 1 1 1

11011010100

1 0 1 0 10 1 0 1 0 0

Posio Aleatria

10101100111

1 1 0 0 1 10 0 1 1 1

11011010100

10111010100

FIGURA 8.9 Cruzamento simples de posio aleatria.

Completada a reproduo por cruzamento, a populao pode ser submetida (no obrigatoriamente) a um processo de mutao. Essa alternativa de gerao de novos indivduos pode ser feita diretamente de um outro indivduo. Tal modo de reproduo denominado mutao. A Figura 8.10 mostra
dois tipos possveis de mutao.

354

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

Pai

Filho

10101001111

Inverso

1 0 1 0 11 1 0 0 1 1

Pai

Filho
Mutao

10101100011

Pontual

1 0 1 0 11 1 0 0 1 1

FIGURA 8.10 Mecanismos de mutao.

Podemos definir formalmente um AG da seguinte forma:


AG = (N, P, F, Q, W, Y, )
Onde P uma populao de N indivduos, P = {S1, S2, ..., SN}. Cada indivduo Si, i = 1, ..., N uma cadeia ou um conjunto de valores inteiros de comprimento n representando uma soluo do problema. F
representa a funo fitness que retorna um valor positivo e real na avaliao de cada indivduo.
F:Si + , i = 1, ..., N
Q o operador de seleo de pais que escolhe r indivduos de P
Q:P {p1, p2, ..., pr}
W um conjunto de operadores genticos que inclui o crossover (denominado WC), o operador de
mutao (denominado WM) e qualquer outro operador especfico que produza s filhos a partir de r pais.
W = {WC, WM, ...,}: {p1, p2, ..., pr} {f1, f2, ..., fs}
Y o operador de remoo que retira s indivduos selecionados na populao P, permitindo, por
exemplo, que s filhos (novos indivduos) sejam adicionados nova populao Pt+1:
Pt+1 = Pt Y (Pt) + {f1, f2, ..., fs}.
t o critrio de parada
t : Pt {verdadeiro, falso}
A prpria concepo do modelo gentico o fez flexvel e abstrato. O significado das cadeias de cromossomos completamente livre. O que est em foco no modelo uma concepo generalista de um
processo adaptativo, por isso cabe a denominao de meta-heurstica. A cada situao cabe ao modelador concretizar o processo adaptativo e de seleo natural preconizado na estratgia. A representao
de uma soluo dentro de uma estrutura cromossmica pode no ser uma tarefa trivial. A prpria seqncia binria proposta por Holland pode ser inadequada para muitos dos problemas de programao linear inteira, impondo-se a considerao de nmeros inteiros, por exemplo. Abordaremos esse
tema no momento oportuno. Um algoritmo gentico exige:

Uma representao gentica das solues viveis do problema combinatrio.


A determinao de uma populao inicial de cromossomos.
A definio de uma funo de avaliao dos cromossomos.
A definio dos operadores que vo permitir a produo de novos indivduos e seus parmetros,

tais como: distribuies de probabilidade da posio de quebra do cromossomo, o tipo de mutao etc.

PROBLEMA DO CAIXEIRO VIAJANTE

355

A definio de vrios parmetros como: regras de parada, tamanho da populao, esquema de


garantia da diversidade etc.

Podemos, ento, descrever genericamente um algoritmo gentico da seguinte forma:

Meta-Algoritmo Gentico
INCIO
Gerar uma populao inicial
Avaliar a fitness dos indivduos da populao
Repetir
Incio
Selecionar um conjunto de pais na populao
Cruzar os pais de modo que se reproduzam
Avaliar a fitness dos filhos gerados
Substituir os filhos julgados inadequados
Fim
At que o critrio de parada seja atendido
FIM

Bons resultados no uso de algoritmos genticos para a soluo do PCV so relatados por diversos
autores (Wetzel [1983], Grefenstette et al. [1985], Goldberg e Lingle [1985], Sirag e Weisser [1987]). Utilizaremos o grafo da Figura 8.11 para exemplificar a terminologia e procedimentos dessa tcnica

FIGURA 8.11 Grafo de exemplo do PCV.

Para sermos capazes de aplicar a soluo via AG ao PCV indispensvel resolvermos as seguintes
questes:

Obter uma representao gentica das solues viveis do PCV e associar a essa representao um processo de
reproduo.

Existem vrias formas possveis de representao gentica das solues do PCV. As mais conhecidas so:

1 Sequncia de Inteiros
Nessa forma de representao, o cromossomo formado pela sequncia dos ns no ciclo, ou seja, por
uma soluo do PCV. No exemplo da Figura 8.12 um cromossomo poderia ser p1 = (1, 4, 2, 3, 6, 5), que
corresponde soluo:

356

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

FIGURA 8.12 Uma soluo PCV.

Essa representao tambm denominada por caminhos. a representao mais natural para um
cromossomo, uma vez que o ciclo est diretamente expresso. Grefenstette et al. (1985) reporta bons resultados na utilizao dessa representao; contudo, uma das dificuldades dela que o crossover pode
produzir ciclos inviveis como por exemplo:
p 1 = (1, 2 , 3, | 4 , 5 ,6)
f1 = (1, 2, 3, | 5, 1, 6) e f2 = (4, 3, 2, | 4, 5, 6)
p 2 = ( 4 , 3, 2, | 5 ,1 6)
Tendo em vista esse problema, foram desenvolvidos operadores especiais que evitam a produo
de filhos inviveis (geneticamente abortivos), dado que os pais sejam representaes de solues viveis. Entre eles destacamos:

Operador e Partially-Mapped Crossover (PMX)


O operador PMX prope o seguinte procedimento: considere um par de cromossomos e sobre
eles realize um corte aleatrio. Caso sejam gerados dois filhos, f1 e f2, os genes localizados entre os
dois cortes de p1 e p2 so herdados integralmente, preservando a ordem e a posio de cada um. Por
exemplo:
p 1 = (1, 2 , 3, | 4 , | 5, 6, 7)
f1 = (1, 2, 3, |5,| 5, 6, 7) e f2 = (4, 3, 2, |4,|1, 7, 6)
p 2 = (4 , 3, 2, | 5, | 1, 7, 6)
So ciclos inviveis. O operador, ento, tentar preencher cada gene f1 em a partir de seu pai p1, e
cada gene de f2, a partir de seu pai p2, desde que no formem um ciclo invivel para o PCV. Ento:
p1 = (1, 2, 3, , 5, 6, 7) e p2 = (4, 3, 2, , 1, 7, 6)
f1 = (, , ,|5,| , , ) e f2 = (, , , |4,| , , )
Que nos leva a:
p1 = (1, 2, 3, , 5, 6, 7) e p2 = (4, 3, 2, , 1, 7, 6)

f1 = (1, 2, 3,|5,| , 6, 7) e f2 = (, 3, 2,| 4,|1, 7, 6)


Tomamos o primeiro de f 1 que deveria ser 5, mas no possvel, pois 5 j pertence ao gene
que foi herdado de p 2. Procuramos agora o valor que ocupava a posio de incompatibilidade em
f1, na quarta posio. O nmero 1. Esse nmero, obviamente, compatvel com o gene 5 herdado, pois est no pai. Infelizmente, 1 j pertence ao cromossomo f1. Procuramos novamente em f 1

PROBLEMA DO CAIXEIRO VIAJANTE

357

qual a posio ocupada pelo nmero 1, o gene incompatvel, e procuramos o que lhe corresponde
em p2. Nesse caso, a posio preenchida em p2 pela cidade 4, que agora compatvel com a sequncia de f1, e chegamos a: f 1 = (1, 2, 3, | 5, | 4, 6, 7).
p2 = (4, 3, 2, , 1, 7, 6)

f1 = (1, 2, 3, | 5, , 6, 7)

Operador Order Crossover (OX)


Esse operador constri um cromossomo filho herdando uma sequncia parcial de cidades de um dos
cromossomos pai e mantendo a ordem relativa do outro. Considere o exemplo a seguir:
p 1 = (1, 2, 3, 4, 5, 6 7, 8, 9)
f = ( , , , 4 , 5, 6, , , )
2
p 2 = ( 4 , 3, 2, 1, 8, 5 6, 7, 9)
f 1 = ( , , , 1, 8, 5, , , )
Os filhos f1 e f2 herdam as faixas entre os cortes um e dois. Partindo do segundo corte de um pai
(por exemplo p2), removemos dessa lista as cidades contidas entre os dois cortes do outro pai (no caso
p1), ou seja: de 6, 7, 9, 4, 3, 2, 1, 8, 5, vamos remover 4, 5, 6, obtendo a sequncia: 7, 9, 3, 2, 1, 8. Essa sequncia deve ser indexada em f1 a partir do seu segundo corte:
2, 1, 8
7, 9, 3


f2 = (, , , | 4, 5, 6, | , , ,)
de 7, 8, 9, 1, 2, 3, 4, 5, 6, vamos remover 1, 8, 5, obtendo a sequncia: 7, 9, 2, 3, 4, 6, que, indexada a partir
do segundo corte de f2, nos d:
3, 4, 6
7, 9, 2


f1 = (, , , | 1, 8, 5, | , , ,)

Operador Cycle Crossover (CX)


Trata-se de um operador que preserva a posio absoluta das cidades nos cromossomos dos pais. Sejam os seguintes pais:
p1 = (1, 2, 3, 4, 5, 6, 7, 8, 9)
p2 = (4, 3, 2, 6, 8, 9, 1, 5, 7)
O primeiro filho, f1, obtido tomando-se inicialmente a primeira cidade de p1 e colocando-a na primeira posio do cromossomo de f1:
p1 = (1, 2, 3, 4, 5, 6, 7, 8, 9)

f1 = (1, , , , , , , , )
Aps definir a posio do ltimo elemento em f1, procuramos em p2 qual a posio correspondente
a esse elemento definido:

358

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

ELSEVIER

f1 = (1, , , , , , , , )

p2 = (4, 3, 2, 6, 8, 9, 1, 5, 7)
Dessa forma o elemento da primeira posio em p2 ser herdado pelo filho f1, contudo preservando
a posio em que esse elemento ocupa no cromossomo de seu pai p1, ou seja, a quarta posio:
p1 = (1, 2, 3, 4, 5, 6, 7, 8, 9)

f1 = (1, , , 4, , , , , )
Continuando, vamos encontrar o elemento que ocupa a quarta posio no pai p2, que 6:
f1 = (1, , , 4, , , , , )

p2 = (4, 3, 2, 6, 8, 9, 1, 5, 7)
De modo semelhante, 6 ser herdado por f1 na posio que ocupa em p1, ou seja, na sexta posio. A
Figura 8.13 resume o processo:

p1 =

1, 2, 3, 4, 5, 6, 7, 8, 9

p2 =

4, 3, 2, 6, 8, 9, 1, 5, 7

f1 =

1, , , 4, , 6, 7, , 9

FIGURA 8.13 Primeira fase do CX.

Quando ocorrer que o elemento visitado em p2 ocupe a primeira posio, e isso acontecer na stima
posio, diremos que foi completado um ciclo. O ciclo do exemplo foi completado com a incluso do elemento 7. Quando um ciclo completado as outras posies so preenchidas do cromossomo de p2.
p2 = (4, 3, 2, 6, 8, 9, 1, 5, 7)

f1 = (1, , , , , , , , )
Resultando em:
f1 = ( 1, 3, 2, 4, 8, 6, 7, 5, 9)

Operador Edge Recombination Crossover (ERX)


Este operador procura construir filhos maximizando a possibilidade de presena de arestas que sejam
comuns a ambos os pais. Essa inteno justificada pela representatividade gentica. Em um processo
de reproduo racional, seria razovel esperar que os descendentes herdem de seus pais tantos gens
quantos possveis. Interpretando essa diretiva no contexto do PCV, diramos que, em um processo de

PROBLEMA DO CAIXEIRO VIAJANTE

359

reproduo que objetivasse preservar a representatividade gentica, deveramos reduzir ao mximo a


introduo de arestas aleatrias nos filhos. Para tal foi desenvolvido o operador ERX. Seja o grafo da Figura 8.14:
1

FIGURA 8.14 Grafo para o PCV.

cujas listas de arestas do problema so:


Cidade

Arestas

(1, 2), (1, 3), (1, 5), (1, 6)

(2, 1), (2, 3), (2, 4), (2, 6)

(3, 1), (3, 2), (3, 4), (3, 5)

(4, 2), (4, 3), (4, 5)

(5, 1), (5, 3), (5, 4), (5, 6)

(6, 1), (6, 2), (6, 5)

Sejam os dois cromossomos:


p1 = (1, 3, 2, 4, 5, 6)
p2 = (2, 6, 5, 4, 3, 1)
que nos levam seguinte lista de arestas:
Cidade
1
2
3
4
5
6

Arestas
(1, 2), (1, 3), (1, 6)
(2, 1), (2, 3), (2, 4), (2, 6)
(3, 1), (3, 2), (3, 4)
(4, 2), (4, 3), (4, 5)
(5, 4), (5, 6)
(1, 6), (6, 2), (6, 5), (6, 4)

Para utilizar o ERX na verso para a produo de apenas um filho, selecionaremos a cidade inicial
de um dos dois cromossomos pais (cidade 1 ou 2) que possuir o menor nmero de arestas incidentes na
lista de arestas dos cromossomos, ou seja, 1 escolhida. A cidade 1 est ligada diretamente s cidades 2,
3 e 6. Trabalharemos em relao tabela de arestas dos cromossomos. Escolheremos, dentre as cidades
ligadas a 1, a que possuir o menor nmero de arestas incidentes na tabela de trabalho. Escolheremos a
cidade 3. Essa sequncia de escolha vai formando o indivduo da seguinte maneira:
f1 = (1, 3, , , , )

360

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

Aplicando o raciocnio de forma sucessiva incluiremos as cidades 5, 6 e 2, respectivamente, formando-se o seguinte cromossomo filho:
f1 = (1, 3, 4, 5, 6, 2)
As experincias computacionais reportam uma certa dificuldade de esse operador reduzir a introduo de arestas aleatrias nos descendentes, especialmente nas ltimas arestas do circuito, quando j existe pouca flexibilidade para incluses.

2 Lista de Adjacncias
Podemos tambm representar um cromossomo da seguinte forma: a cidade j do ciclo listada na posio i se e somente se, o ciclo vai diretamente da cidade i para a cidade j. Assim, um cromossomo p = (3,
1, 5, 6, 4, 2) representa os seguintes arcos em um ciclo associado a p:
Posio
1
2
3
4
5
6

N em p
3
1
5
6
4
2

Arco
13
21
35
46
54
62

Soluo
1

De modo semelhante representao por sequncia de inteiros, essa representao tambm


pode gerar cromossomos inviveis, como por exemplo p = (2, 3, 4, 6, 5, 1)
Posio
1
2
3
4
5
6

N em p
2
3
4
6
5
1

Arco
12
23
34
46
55
61

Soluo
1

3 Lista Ordinal
Em uma lista ordinal, o ciclo (cromossomo) representado por sua posio em uma lista ordenada de
cidades do PCV. A lista l varia de 1 a n cidades. O cromossomo um vetor de posicionamento da cidade na lista. Seja o problema da Figura 180, ento l = (1, 2, 3, 4, 5, 6). Um cromossomo p = (1, 2, 1, 3, 2, 1) representa o seguinte ciclo (que representaremos por t = (t1, t2,..., tn):
1. p = (1, 2, 1, 3, 2, 1) p1 = 1 primeira posio na lista c = (1, 2, 3, 4, 5, 6), ou seja, t1 = 1 e t = {1}; t = {1};
2. p = (1, 2, 1, 3, 2, 1) p2 = 2 segunda posio na lista atualizada c = (, 2, 3, 4, 5, 6), onde os valores anulados no so computados, ou seja, c = (2, 3, 4, 5, 6), e t2 = 3, o que leva a t = {1, 3}
3. p = (1, 2, 1, 3, 2, 1) p3 = 1 primeira posio na lista atualizada c = (, 2, , 4, 5, 6), ou seja, c = (2, 4, 5, 6)
e t3 = 2, o que leva a t = {1,3,2}
4. p = (1, 2, 1, 3, 2, 1) p4 = 3 terceira posio na lista atualizada c = (, , , 4, 5, 6), ou seja, c = (4, 5, 6) e
t4 = 6 o que leva a t = {1, 3, 2, 6}

PROBLEMA DO CAIXEIRO VIAJANTE

361

5. p = (1, 2, 1, 3, 2, 1) p5 = 2 segunda posio na lista atualizada c = (, , , 4, 5, ), ou seja, c = (4, 5) e


t5 = 5 e t = {1, 3, 2, 6, 5}.
6. p6 = 1 primeira posio na lista c = (, , , 4, , ), ou seja, t = {1, 3, 2, 6, 5, 4}
A representao ordinal perfeitamente consistente aos operadores clssicos de cruzamento.
Acompanhemos o seguinte cruzamento utilizando a representao ordinal:
c = (1, 2, 3, 4, 5, 6)
p 1 = ( 2, 1, 3, | ,1 ,2 ,1)
p 2 = (1, 2, 2, | ,1 ,1 ,1) p3 = (2, 1, 3, | 1, 1, 1, ) e p4 = (1, 2, 2 | 1, 2, 1)
p1 responde ao ciclo {2, 1, 5, 3, 6, 4}, ao ciclo {1, 3, 4, 2, 5, 6}, o filho ao ciclo
{2, 1, 5, 3, 4, 6} e p4 ao ciclo {1, 3, 4, 2, 6, 5}.

Determinar como obteremos a populao inicial de cromossomo


Os cromossomos so solues do PCV. Para o caso do grafo completo, qualquer permutao dos ns
uma soluo vivel. Existem vrias heursticas para a obteno de solues aproximativas. As heursticas para o problema de roteamento normalmente podem ser aplicadas para a obteno de solues viveis para o PCV. Como o desenvolvimento dos AG est fortemente associado herana gentica, a populao inicial certamente vai influenciar o desempenho dos algoritmos que sero elaborados. Esse
um tema de grande importncia.

Definir a funo de avaliao dos cromossomos e os critrios de renovao da populao


Os custos totais so um indicador natural para a avaliao da qualidade de um cromossomo (uma soluo). possvel obter tambm limites para o valor timo do PCV atravs da soluo de outras estruturas no grafo de substrato como o matching mnimo, a rvore geradora mnima etc.

Soluo do PCV Atravs de Algoritmos Heursticos Construtivos


Grande parte dos algoritmos heursticos construtivos para o PCV utiliza a estratgia denominada gulosa ou mope de soluo. Essa estratgia, em ltima anlise, desenvolve, a cada passo das heursticas
construtivas, a ideia de obter o maior proveito ou ganho possvel. Evidentemente, a poltica global de
tomada de deciso pode no comportar sempre aes que levem aos maiores ganhos imediatos. Algumas estruturas matemticas possuem a propriedade de aceitar uma forma de tomada de deciso mope. Tais estruturas denominam-se matroide (Edmonds [1971] e anexo). Examinaremos agora algumas
heursticas construtivas mopes para o PCV.

Heurstica de Bellmore e Nemhauser


A heurstica consiste em, partindo de um vrtice qualquer do grafo de substrato do PCV, estruturar o
caminho hamiltoniano dirigindo-se, a cada passo, ao vrtice mais prximo do vrtice anterior (Bellmore e Nemhauser [1968]). A complexidade dessa heurstica O(n2). Uma variao repete o algoritmo o
para todos os ns ou possveis cidades para minimizar o efeito da influncia da escolha da cidade inicial. Nesse caso, a heurstica passa a ter complexidade O(n3). A estratgia gulosa caracterizada pelo fato
de, a cada passo, o algoritmo tomar a deciso de menor custo (n mais prximo ao n da extremidade).
Uma variante dessa heurstica permite que a incluso possa ocorrer em ambos os ns extremos do ciclo
parcial que se forma (ver Figura 8.14). De uma forma geral, a heurstica pode ser escrita como:

362

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

Heurstica de Bellmore e Nemhauser


INCIO
Escolher um vrtice inicial v1;
Encontrar o vrtice vk mais prximo do ltimo vrtice
(dos vrtices extremos) includo(s) na soluo;
Inserir o vrtice vk aps o ltimo vrtice (o seu vizinho
mais prximo);
Caso o ciclo formado seja Hamiltoniano pare.
Caso contrrio volte etapa 2.
FIM
Apliquemos o algoritmo de Bellmore e Nemhauser ao grafo da Figura 8.15:
2

1
1

9
4

8
3

FIGURA 8.15 Grafo exemplo.

Iniciando pelo vrtice 6 e aplicando a tcnica do vizinho mais prximo temos a sequncia de inseres da Figura 8.16.

1
1

4
1 insero

2 insero

3 insero

4 insero

5 insero

6 insero forada

FIGURA 8.16 Exemplo de aplicao da heurstica do vizinho mais prximo.

Que nos conduz a um valor final de 17.

PROBLEMA DO CAIXEIRO VIAJANTE

363

Heursticas de Insero
Algumas heursticas construtivas possuem um processo de deciso mais elaborado do que as simplesmente gulosas. Nesse caso, trs nveis de deciso so envolvidos:

A escolha do vrtice a ser inserido na soluo.


A posio de insero desse novo vrtice.
A deciso de um ciclo inicial.
Essas heursticas so chamadas de insero. Seu processo de deciso ainda basicamente mope porm mais elaborado. Normalmente, tais heursticas partem de um subtour inicial (um ciclo normalmente de comprimento 3) e vo selecionando e inserindo vrtices ainda no includos na soluo at
completar um ciclo. Alguns dos critrios mais utilizados para a seleo dos vrtices a serem acrescidos
ao subtour so:

Insero do vrtice mais prximo.


Insero do vrtice mais distante.
Insero do vrtice que conduz ao ciclo mais barato (insero mais barata).
A insero aleatria.
No caso das inseres com os vrtices mais prximos e mais distantes de qualquer vrtice do subtour, escolhido o vrtice, cabe decidir como ele ser inserido no subtour. Como o vrtice ainda pertence
ao subtour sero necessrias duas arestas para inclu-lo. Se a incluso desse vrtice ocorrer entre os ns i
e i + 1, ser necessrio remover essa aresta para preservar o subtour. O critrio de deciso sobre quais
arestas devemos empregar nesse processo expresso pelo efeito do balano entrada sada de arestas.
Considerando uma insero entre os vrtices i e i + 1, o critrio para a escolha do ponto de insero se
confunde com o critrio de escolha da aresta (i, i + 1) que minimize o seguinte balano:

Minimizar cik + c k i +1 ci i +1

No caso da insero mais barata, o prprio vrtice passa a ser escolhido pelo critrio de mnimo balano, considerando-se todas as inseres possveis para todos os vrtices ainda no pertencentes ao subtour.
De uma forma geral, as heursticas de insero podem ser descritas pelos seguintes passos:
Heurstica de Insero
INCIO
Iniciar por um ciclo de vrtices {v1 v2 v3};
Encontrar o vrtice vk no pertencente ao ciclo, mais
prximo/mais distante de qualquer dos vrtices
pertencentes ao ciclo;
Encontrar a aresta (i, i + 1) tal que Minimize
{cik + ck i+1 ci i+1}
Inserir o vrtice vk entre os vrtices i e i + 1.
Caso o ciclo formado seja hamiltoniano ento pare.
Caso contrrio volte etapa 2.
FIM

364

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

A insero mais barata executa os passos 2 e 3 em um s procedimento da seguinte forma:


Encontrar vk no pertencente ao ciclo tal que sua insero entre i e i + 1 minimize {cik + ck i+1 ci i+1}
Vamos aplicar as heursticas de insero do vrtice mais prximo (conforme Figura 8.17) e insero
mais barata (conforme Figura 8.18) ao grafo da Figura 8.15. Apesar de referirem-se ao mesmo grafo, os
exemplos sero iniciados com ciclos diferentes.
O resultado da aplicao da heurstica de insero do vrtice mais prximo ao grafo da Figura 8.15
um circuito com 15 unidades de comprimento.

3
1

4
Ciclo inicial

Escolha do vrtice mais


prximo

1 insero

Escolha do vrtice mais


prximo

2 insero

3 insero forada

FIGURA 8.17 Insero do vrtice mais prximo.

O resultado da aplicao da heurstica de insero do vrtice mais barato ao grafo da Figura 8.15
um circuito com 15 unidades de comprimento; contudo, destacamos o fato de que, nessa ltima heurstica, a ltima insero no foi completamente forada. O efeito final da poltica mope de tomada de

2
5

5
2

2
5

2
7

3
8

8
2

5
Ciclo inicial

5
1 insero mais econmica.
Economia = +3
2

3
3

2 insero mais econmica.


Economia = +3

3 insero mais econmica. Economia = 1

FIGURA 8.18 Insero mais barata.

PROBLEMA DO CAIXEIRO VIAJANTE

365

deciso das heursticas de insero do vrtice mais prximo ou mais distante, diminuda na insero
mais barata.
Frendewey (ver Arthur [1959]) relata bons resultados computacionais no uso dessas heursticas
para PCV de um modo geral. Para o caso do PCV simtrico euclidiano constatou-se superioridade na
qualidade de soluo para a insero mais distante.

Heursticas de K-Substituies ou k-Opt


As heursticas de substituio so estratgias de melhoria e partem de um ciclo hamiltoniano inicial.
Um dos exemplos clssicos dessas heursticas encontra-se no trabalho de Lin e Kernighan (Lin e Kernighan [1973]). Existem relatos de que elas tm bom desempenho computacional, especialmente as
2-Opt e 3-Opt (ver Golden et al. [1980]) e fazem hoje parte de inmeros outros algoritmos (Gerdessen
[1996]) dentre os quais destacamos:
n

Heurstica Dynasearch

Algoritmo proposto por Potts e Van de Velde (1995) combina uma srie de movimentos 2-Opt a cada
passo do algoritmo para compor uma nova soluo. A composio dos movimentos 2-Opt limitada
em O(n2).
n

Geni and Genius

Gendreau et al. (1992) apresentam um procedimento hbrido para construo dos ciclos auxiliado por
um processo de otimizao local baseado no exame de configuraes 2-Opt a 4-Opt. Considerando-se
uma certa ordenao de visitas, c1-c2-...-cn, o algoritmo pode partir de uma parte do ciclo, c1-c2-c3, por
exemplo. Cada nova cidade que for sendo acrescentada ao ciclo em construo (c4, no exemplo) testada em seu ponto de incluso de modo que se examine a possibilidade de uma k-Opt substituio, com 4
k 2. As possveis trocas so restritas a uma certa distncia (p) da posio original da cidade. Os autores apresentam o resultado de testes computacionais que comparam diversos esquemas para os parmetros de otimizao (k e p).
De uma forma geral as heursticas k-substituies podem ser descritas pelos seguintes passos:

Heursticas k-Substituies
INCIO
Iniciar por um ciclo hamiltoniano {v1, v2, ..., vn};
Remover k vrtices do ciclo corrente, tornando-o
incompleto;
Construir todas as solues viveis que contenham o ciclo
anterior;
Escolher a melhor soluo entre as encontradas;
Testar as condies de parada (nmero de iteraes,
elementos em subconjunto de controle, limites para o
valor da soluo etc.), prosseguindo ou no em nova
iterao.
FIM
A heurstica L&K pode ser assim formalizada:

366

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

ELSEVIER

Keuristica Lin-Kernighan (1973)


1. Construir um ciclo hamiltoniano e calcular seu custo c.
2. Atribuir melhor custo c_melhor c.
3. Remover uma aresta do ciclo criando um caminho hamiltoniano, H, por um critrio a ser definido
(por exemplo, a maior aresta do ciclo).
4. Criar duas listas vazias: arestas que saem, L_Sai, e arestas que entram, L_Entra.
5. Incluir a ltima aresta removida em L_Sai.
6. Selecionar uma aresta, e, entre algum vrtice terminal e um vrtice v interno de H, tal que e L_Sai e
e L_Entra.
Caso tal aresta inexista, ir para o passo 12.
Caso contrrio incluir a aresta e em H e L_Entra, formando-se um ciclo em H.
7. Calcular a funo de ganho, g, pelo somatrio dos pesos das arestas em L_Sai menos o peso das
arestas em L_Entra.
8. Remover a aresta a adjacente a v tal que a L_Entra e a faz parte do_ciclo recm-formado. Se no for
possvel encontrar aresta a que tende a exigncia e ir para o passo 12.
9. Calcular o custo, c_ind, do ciclo hamiltoniano induzido por H mais a aresta que une os vrtices terminais.
10. Se c_ind < c_melhor, ento c_melhor c_ind e salvar o ciclo hamiltoniano corresponde a c_ind.
11. Se g > 0, voltar ao passo 5.
12. Se c_melhor < c, voltar ao passo 3, considerando o ciclo hamiltoniano correspondente a c_melhor
como a nova soluo inicial. Caso contrrio, FIM.
Passo 1.
Passo 2.
Passo 3.
Passo 4.
Passo 5.
Passo 6.
Passo 7.
Passo 8.
Passo 9.
Passo 10.
Passo 11.
Passo 5.
Passo 6.
Passo 7.
Passo 8.
Passo 9.
Passo 10.
Passo 11.
Passo 5.
Passo 6.
Passo 7.
Passo 8.
Passo 12.

No grafo da figura 8.11, seja a seguinte soluo inicial: (1 4 2 3 6 5) c = 35


c_melhor = 35
Remover aresta (4, 2) conforme figura 8.19(a)
L_Sai = {}, L_Entra = {}
L_Sai = {(4, 2)}
Incluir aresta (4, 6) conforme figura 8.19(b)
O ciclo (4, 6, 5, 1) formado. L_Entra = {(4, 6)}
g = peso de (4, 2) peso de (4, 6) = 9 1 = 8
Remover a aresta (6, 5) conforme figura 8.19(c) (o caminho restaurado)
c_ind = 32, o custo do ciclo hamiltoniano (5 1 4 6 3 2)
c_melhor = 32 e guarda (5 1 4 6 3 2)
(g > 0) voltar ao passo 5
L_Sai = {(4, 2), (6, 5)}
Incluir aresta (4, 5) conforme figura 8.20(a)
L_Entra = {(4, 6), (4, 5)}
g = (9 + 2) (1 + 2) = 8
Remover (1, 4) conforme figura 8.20(b)
C_ind = 25, o custo do ciclo hamiltoniano (1, 5, 4, 6, 3, 2)
C_melhor = 25, guarda (1, 5, 4, 6, 3, 2)
Voltar ao passo 5
L_Sai = {(4, 2), (6, 5), (1, 4)}
Incluir aresta (1, 6) conforme figura 8.20(c)
L_Entra = {(4, 6), (4, 5), (1, 6)}
9 = (9 + 2 + 4) (1 + 2 + 1) = 11
Remover a aresta (4, 6), porm (4, 6) L_Entra
Portanto, IR para o passo 12
c_melhor = 25 e c = 35
Portanto, voltar ao passo 3, considerando o ciclo (1, 5, 4, 3, 2) como a nova soluo inicial

PROBLEMA DO CAIXEIRO VIAJANTE

(a)

367

(b)

3
(c)

FIGURA 8.19 Primeira parte da execuo do algoritmo Lin-Kernighan.

3
(a)

3
(b)

3
(c)

FIGURA 8.20 Segunda parte da execuo do algoritmo de Lin-Kernighan.

Heurstica de Saving ou das Economias


Trata-se da aplicao ao PCV de uma estratgia originalmente sugerida para o problema de roteamento (Clark e Wright [1964]). Sua aplicao eficiente sugere a necessidade de um grafo completo, concluindo-se que uma abordagem bastante razovel para o PCV euclidiano e simtrico. O algoritmo
pode ser descrito da seguinte forma:
Heurstica das Economias
INCIO
Iniciar pelo vrtice k, selecionado por algum critrio ou
aleatoriamente;
Considerar todos os vrtices ligados ao vrtice k, ou seja,
um circuito no hamiltoniano que passa n vezes pelo n k.
Obter a lista das economias da seguinte forma: Sij = cjk cij,
i, j = 1, ..., n, onde S a economia feita se o vrtice i for
ligado diretamente ao vrtice j sem passar por k.
Ordenar as economias em lista montona decrescente;
Percorrer a lista iniciando pela primeira posio. Tentar a
ligao correspondente ao maior Sij;
Se a insero da aresta (i, j) e a retirada da aresta (k, i) e
(j, k) resultar em uma rota iniciando em k e passando pelos
demais vrtices, eliminar da lista.
Caso contrrio, tentar a ligao seguinte na lista.
Repetir o procedimento at obter o ciclo hamiltoniano.
FIM

368

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

A Figura 8.21 exemplifica o uso da herstica das economias no grafo da Figura 8.15.

1
1

S56 = 8

S23 = 2
1

S34 = 2

9
7

3
3

S56 = 8

S45 = 11
1
1

S56 = 8

S25 = 4
S35 = 2

S46 = 4

S25 = 4

S34 = 2
5

S26 = 1

S26 = 1

Ciclo decorrente de S45

Economias

(Invivel)
S46 = 4

(Invivel)
S25 = 4

(Invivel)
S35 = 2

S25 = 4

S35 = 2

S34 = 2

S35 = 2

S34 = 2

S26 = 1

S34 = 2

S26 = 1

S36 = 2

S26 = 1

S36 = 2

S23 = 2

S36 = 2

S23 = 2

Economias

Economias

S36 = 2
Ciclo decorrente de S56

Economias
1

3
2

Economias

Ciclo decorrente de S34

S34 = 2

S36 = 2

2
4

S23 = 2

2
4

S26 = 1

3
2

Economias

S35 = 2

S34 = 2

S46 = 4

Grafo G6

Lista das Economias

1
8

S26 = 1

Inicializao

9
2
6
1

S35 = 2

S25 = 4

S36 = 2

S46 = 4

1
9

S45 = 11

Ciclo decorrente de S26 C = 12 (Soluo tima)

FIGURA 8.21 Etapas da heurstica das economias.

8.5 PROBLEMAS PROPOSTOS


1 Solues para o PCV clssico

Seja o PCV simtrico determinado no grafo G = (N, A), em que N = {1, 2, ..., 16} e a matriz de distncia
entre os ns est transcrita na Tabela 8.6.

PROBLEMA DO CAIXEIRO VIAJANTE

369

T A B E LA 8. 6 DI S T N CI AS EN T R E O S V RT I C E S D O P RO B L E M A 1

1
1

14

11

2
3

3
2

10

11

12

13

14

6
2

4
5

12

6
7

3
6

5
1

15

12

2
7

18
2

8
7

11
13

10

16

3
1

8
2

15

1
6

17

1
3

11

12

13
14
15

16
4

Elaborar algoritmos de soluo para o problema utilizando as seguintes abordagens:

1. Heurstica de Bellmore e Nemhauser.


2. Heursticas de 2-substituies ou 2-tima.
3. Heursticas de economias.
4

Implementar os algoritmos e comparar os resultados para o problema em pauta.

2 Solues para um caso do PCV backhauls (PCVB)

Considerando o mesmo grafo do problema 1 com B = {1, 2, 3, 15, 16} e L = {4, 5, 6, 7, 8, 9, 10, 11, 12, 13}, e no
levando em conta a exigncia da norma euclidiana:
4

Modificar os algoritmos anteriores de modo que possam solucionar este novo caso.

Comparar o desempenho dos mtodos aplicados ao atual problema com o resultado obtido no problema 1, verificando o impacto, para a abordagem computacional, da incluso da restrio de visita
a vrtices (melhora, piora, indiferente ao desempenho e qualidade de soluo).

3 Solues para um caso do PCV com janela de tempo


No grafo do problema 1 os tempos de trajeto entre os vrtices esto transcritos na Tabela 8.7:

370

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

T A B E LA 8. 7 T E M PO S EN TR E O S V R T I CES D O P RO B L E M A 1

1
1

12

1
1

14

6
2

10

16

2
3

6
3

15
4

13

1
6

11

4
5

10

1
8

2
2

11

12

13
14
15

16

Sabe-se que, a cada conjunto de quatro ns visitados, o tempo de viagem acumulado anulado. Sabe-se ainda que nenhum ciclo pode acumular mais de 15 unidades de tempo em sua trajetria, ressalvada a regra anterior.
4

Modificar os algoritmos anteriores de modo que possam solucionar este novo caso.

Comparar o desempenho dos mtodos aplicados ao atual problema com o resultado obtido no
problema 1, verificando o impacto, para a abordagem computacional, da incluso da restrio
de tempo (melhora, piora, indiferente ao desempenho e qualidade de soluo).

PROBLEMAS
DE ROTEAMENTO

9.1 INTRODUO
9.1.1 A Importncia do Problema e seu Contexto
Um Sistema de Roteamento pode ser considerado como um conjunto organizado de meios que objetiva o atendimento de demandas localizadas nos arcos ou nos vrtices de alguma rede de transportes. O
sistema de roteamento, como de resto qualquer sistema operacional, pode ser decomposto, sob a tica
da operao, em trs partes a saber:
4

Estratgica.

Ttica.

Logstica.

O objetivo maior da logstica fazer chegar provises e/ou servios a pontos de consumo, a partir
de pontos de suprimento (Bodin [1983]). Um sistema logstico completo deve incluir cuidados que se
vo desde o processo de obteno, estoque e distribuio de produtos sobre uma rede de demanda, at
os relacionados com os seres humanos, poltica de investimento e renovao de frota etc. Um sistema
dessa natureza complexo e composto de importantes subsistemas fortemente acoplados. Apesar da
verdadeira compreenso do sistema exigir uma viso globalizada, conveniente analis-lo atravs de
subsistemas com objetivo de reduzir a complexidade dos modelos de soluo. Via de regra os macroaspectos do sistema so decididos pelo empreendedor, independentemente de um modelo formal.
Por exemplo, comum que as decises relativas escolha de locais para instalao de depsitos ou fbricas sejam tomadas levando em conta argumentos derivados da estratgia do negcio e de oportunidade (possveis isenes tarifrias, custo e tamanho dos terrenos, disponibilidade de financiamento,
segurana etc.) e antecedam ao modelo de distribuio dos itens fabricados. Dentre outras, as decises
estratgicas envolvem os tpicos da Figura 9.1.
As decises estratgicas normalmente possuem impacto sobre todo o sistema e um efeito duradouro. interessante ressaltar que decises estratgicas errneas produziro srias dificuldades para a futura operao e otimizao do sistema. Posto o arcabouo geral, caber ao nvel ttico do sistema tomar
as decises que definiro as reas atendidas, o dimensionamento da frota, o sistema de alocao de tripulao aos veculos e os turnos de trabalho. Circunstancialmente o nmero de garagens e sua localizao, a sistemtica de manuteno, bem como as decises sobre a estocagem podem ainda ficar a cargo
do nvel ttico.

372

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

ELSEVIER

Decises
Estratgicas

Mercado de Atuao
Dimenses da Qualidade
Localizao de Fbricas e Depsitos
Tipos de Veculos
Restries Legais
FIGURA 9.1 Decises estratgicas para o problema de roteamento.

Decises
Tticas

Nmero de Rotas
Nmeros de Veculos
Contratao de Mo de obra
Regime de Trabalho
Localizao das Garagens
Nvel de Estoque
FIGURA 9.2 Decises tticas para o problema de roteamento.

Normalmente as decises que diro respeito operao da frota de veculos e o emprego da mo de


obra sero deixadas a cargo do nvel operacional. A principal preocupao do nvel operacional ser providenciar um plano econmico e flexvel para o atendimento da rede de demanda. exatamente dentro
do nvel operacional que os tradicionais Problemas de Roteamento de Veculos (PRV) sero definidos.
Contudo, medida que o estado da arte avana, os problemas do nvel ttico e estratgico tendem a se incorporar aos PRV tradicionais enriquecendo os modelos e pressionado por algoritmos mais eficientes.
Como elementos de entrada mais provveis dos PRV tradicionais destacam-se:
4

Os clientes servidos pelos depsitos.

A demanda dos clientes.

O tamanho da frota alocada a cada depsito.

O tipo de veculo empregado (capacidade, velocidade, habilitao de transporte etc.).

As regras que definiro o carregamento/descarregamento.

A possibilidade de uso de equipamento de aluguel.

A capacidade das ligaes, seu custo operacional, disponibilidade etc.

De posse dessas informaes o objetivo do planejamento ser estabelecer o rotemento de veculos e


o sequenciamento (scheduling) de atividades que conduzam minimizao do custo da atividade.

PROBLEMAS DE ROTEAMENTO

373

Nesse ponto pertinente ressaltar que o prprio estabelecimento de uma funo objetivo apropriada
no uma tarefa trivial. O objetivo de reduzir custos poder ser perseguido atravs da reduo de:
4

Prazos de entrega (servios de emergncia, produtos perecveis etc.).

Caminhos a percorrer (combustvel, manuteno, tempo de operao etc.).

Alocao de mo de obra.

Riscos de acidentes ou avarias.

Nmero de veculos.

Ou ainda, redesenhando:
4

Intervalos de trabalho (evitando engarrafamentos, taxa de estacionamento etc.).

O carregamento (otimizando a relao carga/rota/meio de transporte).

A alocao meio de transporte tarefa (otimizando a relao carga/rota/meio de transporte).

A poltica para o atendimento da demanda dos clientes. Observe que a demanda pode ser uma
varivel de natureza estocstica. O valor de um cliente pode ser uma varivel composta que
inclui desde a perda do cliente e o consequente avano da concorrncia, at a dificuldade de sua
futura recuperao.

A poltica de controle de estoques e investimento em instalaes e meios diversos (compra ou


aluguel de veculos, esquema de manuteno e disponibilidade da frota etc.).

Tais elementos intervenientes sugerem que os Problemas de Roteamento de Veculos mais complexos so tipicamente problemas multiobjetivo. Convm ainda ressaltar a importncia, dentro do Problema Geral de Roteamento, do subproblema de distribuio. Essa importncia devida, dentre outros fatores, ao fato de que a distribuio engloba elevados custos. Hollander (1987) mostra que um atraso na
entrega de produtos no comrcio internacional contribui para o custo final do produto com um acrscimo de 5% por ms de atraso. Essa observao de Hollander pertinente, pois um ciclo em um roteamento martimo pode envolver dois ou mais meses. Bodin (1983) mostra que a distribuio fsica dos
produtos contribui com cerca de 16% do custo final do item. Por outro lado, certos produtos carecem
de uma distribuio eficiente por motivos no s econmicos como de segurana. Exemplos do caso
anteriormente exposto so os medicamentos e os combustveis.
Os diversos problemas aninhados sob o tema de Roteamento de Veculos tm recebido a ateno
de muitos pesquisadores nos ltimos 30 anos. Apenas nos ltimos 15 anos o problema pde ser solucionado, por algoritmos exatos, para instncias da ordem de 30 pontos de demanda (ou ns na rede) conforme Bodin (1983). Com a melhoria do desempenho da mdia computacional e com o surgimento de
novos modelos e abordagens, vrios relatos de bons resultados constam da literatura, especialmente
para casos especficos (Desrosiers [1984]; Laporte [1986] e [1987]; Solomon [987]; Desrosiers et al. [1992];
Bianco et al. [1994]; Dumas et al. [1995]; Fisher et al. [1997]; Fischetti [1997]; Laporte et al. [2000]).

9.1.2 Principais Aplicaes Prticas do PRV


Esse problema possui um nmero extraordinrio de aplicaes prticas, pois implica tipicamente uma
srie de situaes reais que afetam principalmente a indstria, o comrcio, o setor de servios, a segurana, a sade pblica e o lazer. Dentre outras destacam-se:

Distribuio de jornais (Golden e Magnanti [1977]; Dillmann et al. [1996]).


Distribuio de manufaturados (Perl e Daskin [1985]).
Distribuio de produtos diversos (Dantzig e Ramser [1959], Klots et al. [1992]).

374

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

ELSEVIER

Distribuio de bebidas (Golden e Wasil [1987]; Eibl et al. [1994]).


Distribuio de valores (Lambert et al. [1993]).
Distribuio de produtos qumicos (Ball et al. [1983]).
Transporte escolar (Newton e Thomas [1974], Li e Fu [2002]).
Recolhimento de lixo (Beltrami e Bodin [1974], Kulcar [1996], Angelelli e Speranza [2002]).
Entrega de correspondncia (Frederickson [1978]).
Leitura de medidores eltricos (Stern e Dror [1978]).
Distribuio de po (Derigs e Grabenbauer [1993]).
Recolhimento de borracha (Nambiar et al. [1989]).
Roteamento de helicpteros (Timlin e Pulleyblank [1990]).
Roteamento em linhas areas (Marsten e Shepardson [1981] e Marsten et al. [1979], Yan e Tu
[1997]).

Sistemas

de transportes coletivos urbanos (txi , nibus, trens de metr) (Ceder e Stern

[1981]).

Servios de emergncia (Daskin [1987]).


Distribuio de derivados de petrleo (Ronen et al. [1987], Brown e Graves [1981]).
Programao de sondas de produo (Goldbarg, et al. [2002]).
Distribuio de gs (Bell et al. [1983]).
Roteamento entre clulas de manufatura flexvel (Finke e Kusiak [1985]).
Transporte de pedras (Schneider (1985)).
Entrega de correspondncia bancria (Malmborg e Simons [1989]).
Distribuio de alimentos (Cassidy e Bennett (1972), Bartholdi et al. [1983]).
Sistemas de proteo contra incndio (Marianov e ReVelle [1992]).
Distribuio de material fotogrfico (Solot et al. [1990]).
Patrulhamento policial e de segurana (Larson [1972], Calvo e Cordone [2003]).
Roteamento de navios de longo curso (petroleiros), cabotagem e logstica (Brown et al. [1987],
Ronen [2002]).

Distribuio de vages ferrovirios (Haghani [1991]).


Roteamento de auditores bancrios (Castellano e Bornstein [1989]).
Operao de veculos de limpeza de gelo nas ruas e estradas (Eglese [1992]).
Limpeza de ruas com veculos vassoura (Eglese [1991]).
Manuteno de elevadores (Blakeley [2003]).
Distribuio e recolhimento de leite (Basnet et al. [1993], Sankaran e Ubgade [1994]).
Programao de sistemas rollon-rollof (Bodin et al. [2000]).
Montagem de fragmentos de ADN (Pevzner et al. [2001]).

PROBLEMAS DE ROTEAMENTO

375

Movimentao de plotter laser (Ghiani e Improta [2001]).


Gerncia de containers (Nishimura et al. [2004]).
Entrega de pizza, fast food, comida, congelados etc. (Golden et al, [2001], Tarantilis e Kiranoudis
[2002]).

Manuteno de boias martimas (Cline et al. [1992]).


Planejamento de transporte de carros por caminhes (Pape [1988]).
Controle de pragas (Solomon et al. [1992]).
Transporte de acar em granel (van Vliet et al. [1992]).
Cultivo de ostras (Wang et al. [1996]).
Roteamento de satlites (Lee et al. [2003]).
Just-in-time (Vaidyanathan et al. [1999]).
Recolhimento de cana-de-acar (Cruz [1998]).
Explotao de poos de petrleo no surgentes (Goldbarg et al. [2004]).
Rolling batch planning (Chen et al. [1998]).
Corte de chapas metlicas (Manber e Israni [1984]).
Recolhimento de sobras de madeira (Alves e Carvalho [2001]).
Distribuio urbana de concreto.
Projeto de anis em redes de telecomunicaes.
Roteamento de robs em manufatura.
Transporte de bens pessoais (mudanas).
Roteamento de pacotes em redes de computadores.
Roteamento de fluxos de comunicaes em redes de telecomunicaes.
9.2 PROBLEMAS DE ROTEAMENTO DE VECULOS
9.2.1 Taxonomias
Os problemas de roteamento de veculos abordam basicamente a determinao de sequncias de visitas que objetivem atender a uma determinada funo objetivo. As visitas podem tanto estar associadas
s ligaes (arestas) ou aos pontos de visitas (ns) do grafo que representa as possveis conexes entre
os pontos de visita (ou pontos de ligaes entre as arestas).
Os problemas de roteamento de veculos esto entre os mais complexos da rea de otimizao
combinatria. Pelo grande nmero de variveis, diversidade de restries e objetivos apresentados impem-se o exame de uma cuidadosa taxonomia para seu melhor entendimento.Uma das taxonomias
clssicas a proposta por Bodin e Golden (1981). Segundo os autores o Problema de Roteamento de Veculos pode ser classificado segundo os seguintes critrios:
1. Tempo para servir um determinado n ou arco
Tempo especificado e prefixado.
Janela de Tempo (Time Window).

376

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

2. Nmero de domiclios
Um domiclio.
Mais de um domiclio.
3. Tamanho da frota de veculos
Um veculo.
Mais de um veculo.
4. Tipo de frota disponvel
Homognea.
Heterognea.
5. Natureza da demanda e parmetros
Determinstica.
Estocstica.
6. Localizao da demanda
Nos vrtices.
Nos arcos.
7. Grafo de substrato
Direcionado.
No direcionado.
Mixto.
8. Restries na capacidade de veculos
Todos sujeitos s mesmas restries.
Restries diferentes.
9. Tempo de roteamento
O mesmo para todos os veculos.
Tempos diversos.
Sem restries de tempo.
10. Custos
Variveis (associados rota escolhida).
Fixos.
11. Operao
De entrega.
De recolhimento.
Ambas.
12. Objetivo
Minimizar custos fixos.
Minimizar custos de operao na rota.
Minimizar o nmero de veculos.
13. Restries na capacidade dos arcos
Imposta a todos os arcos.
Impostas a um subconjunto de arcos.
Sem restries.
14. Outras

ELSEVIER

PROBLEMAS DE ROTEAMENTO

377

Uma outra forma de classificar os Problemas de Roteamento proposta por Maganti (1981) e reforada por outros autores como Eiselt et al. (1995a e 1995b) e Letchford (1996), basicamente separando os
clssicos problemas de roteamento em grafos das demais variantes mais tipicamente voltada para o
atendimento de casos prticos e particulares. Nesse sentido os problemas de roteamento em geral poderiam ser classificados em duas grandes classes: Roteamento em Grafos e Roteamento de Veculos
propriamente ditos. A classe geral dos problemas de Roteamento em Grafos seria constituda pelas seguintes subclasses:
1. Problema de Roteamento em Ns (associados aos ciclos Hamiltonianos).
2. Problemas de Roteamento em Arcos (associados aos ciclos Eulerianos).
Os Problemas de Roteamento em Ns apresentam-se com variantes do Problema do Caixeiro Viajante englobando principalmente os casos descritos no Captulo 8 deste livro.
Os Problemas de Roteamento em Arestas (ou arcos) podem ser do tipo capacitado ou no capacitado.
Os principais problemas no capacitados, a classe mais comum, so destacados no item 9.2.2.

9.2.2 Problemas de Roteamento em Arcos No capacitados Viso Geral


Na literatura so descritos pelo menos os seguintes problemas de roteamento em arestas:

9.2.2.1 O Problema do Carteiro Chins (PCC)


Um dos mais antigos problemas da teoria dos grafos o da determinao de um passeio sobre um
grafo G que contenha toda aresta de G exatamente uma vez (ver Karp (1975)). Tal circuito denominado de Euleriano, pelo fato de Euler ter sido o primeiro a reportar um estudo sobre a sua determinao (no ano de 1736). Alguns autores afirmam, inclusive, que a teoria dos grafos nasceu a partir desse
problema.
O PCC um problema de otimizao que objetiva cobrir com um passeio (ou tour) todos os arcos
do grafo, minimizando a distncia total percorrida. O passeio do carteiro distingue-se do circuito (ou
ciclo) euleriano por nele ser permitida, se necessria, a repetio de arestas. Claramente no caso de o
grafo possuir circuitos eulerianos, tais circuitos solucionam o problema. O PCC um exemplo de um
problema de roteamento que admite soluo em tempo polinomial (Edmonds e Johnson [1973]). A Figura 9.3 (b) representa a soluo para um ciclo Euleriano no grafo representado na Figura 9.3 (a). O caminho fechado 1-2-6-7-2-3-4-5-1-6-8-1 constitui uma soluo para o caso.
3

7
6

7
1

4
(a) Grafo G

4
(b) Caminho euleriano

FIGURA 9.3 Caminho Euleriano no Grafo G.

Os seguintes trabalhos apresentam abordagens de soluo para o problema:

378

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

T A B E LA 9. 1 T R AB AL HO S P AR A A SO L U O D O P RO B L E M A D O C A RT E I RO C H I N S
Ano

Pesquisador

Trabalho

1962

Mei-Ko

Descrio do problema

1965

Edmonds

Algoritmo de soluo

1995

Eiselt et al.

Vrios modelos e algoritmos de soluo

A literatura relata variaes do problema de roteamento em arestas que, inclusive, no preservam


caractersticas polinomiais de soluo. As principais variantes do problema so:

O Problema do Carteiro Chins No direcionado (PCCND)


A soluo do problema do carteiro chins em grafos no orientados e eulerianos reduz-se determinao do circuito euleriano. Um grafo conexo G Euleriano quando possui um nmero par de arestas incidentes em cada n. Caso o grafo no seja euleriano, eventualmente ser necessrio percorrer algumas
arestas mais de uma vez para que o passeio completo seja possvel.
Kwan Mei-Ko foi o primeiro a relatar o problema assim formulado em uma publicao datada de
1962 (Mei-Ko [1962]) na Chinese Mathematics. Em virtude de sua origem, o problema acabou denominado como o Problema por Carteiro Chins. Considerando um grafo G = (N,A), o problema pode ser
formulado como se segue:
n

(PCC1) Minimizar z =

cijxij

i=1 j=1

sujeito a:
n

j=1

xji xij = 0

i = 1, ..., n

(9.1)

xij + xji 1

"(i, j) A

(9.2)

j=1

xij 0 e inteiro

(9.3)

Onde:
xij nmero de vezes em que a aresta (i, j) percorrida de i para j;
cij comprimento ou o custo da aresta (i, j).
No modelo matemtico proposto as restries 9.1 garantem a continuidade do passeio e as restries 9.2 que nenhuma aresta deixar de ser considerada.
Como em todo grafo conexo existe um nmero par de ns de grau mpar, se denominarmos por di o
grau do n i e por |E| = m o nmero de arestas, ento di = di + di = 2m, pois cada aresta
i

i impar

i par

possui dois ns extremos. Como a primeira parcela da soma par, a segunda tambm o ser. Fazendo
notar por Ni o conjunto de ns de grau mpar em G e por Np o conjunto de ns de grau par, e ainda por
N o conjunto de todos os ns, desde que o nmero de ns de grau mpar par, |Ni| par. Utilizando
esse fato, podemos particionar Ni em dois conjuntos e formar k = 1/2 |Ni| caminhos entre pares de ns
distintos. As arestas (aqui denominadas E*) contidas nesses caminhos so acrescentadas ao grafo original G como arcos artificiais, obtendo-se um grafo Gi (E*). O problema ento se reduz a determinar os k
caminhos que ligam os K pares de ns impares ( Christofides [1976]). A abordagem de Christofides a
de transformar o PCC em um problema de determinao de um ciclo euleriano em um grafo convenientemente expandido. A Figura 9.4 esclarece o processo de obteno desse um grafo aumentado Gi (E*).

PROBLEMAS DE ROTEAMENTO

1
6

379

5
3

(a) Grafo G

(b) Ns mpares

Conjunto 1 1

Conjunto 1

Conjunto 2 3

Conjunto 2

(c) k = 2 unies possveis


1

1
5

(d) Grafos aumentados

FIGURA 9.4 Processo de obteno de Gi(E*).

O grafo G da Figura 9.4 transformado em um grafo euleriano pelo acrscimo de arestas. As arestas 1-3 e 2-4, bem como as 1-4 e 3-2 representam os caminhos mais curtos entre esses pares de vrtices.
A soluo do problema seria, dentre as duas alternativas possveis, o percurso total mais barato.
A soluo exata desse problema pode ser obtida em O(n3) como mostra Papadimitriou (1992).
Edmonds e Johnson (1973) apresentam interessante algoritmo para a soluo do PCC via matching (emparelhamento). Podemos resumir o algoritmo da seguinte forma:
Algoritmo Carteiro Chins
INCIO
Ler o grafo G = (N, A);
Se todos os ns em G, o grafo original, possuem grau par
ento determinar um ciclo euleriano em G e Fim.
Organizar um grafo Kn da seguinte forma:
Reunir todos os vrtices de grau mpar no grafo Kn e
associar a cada par de vrtices i e j no grafo, uma aresta
(i, j) com peso igual ao caminho mais curto que liga i a j
no grafo G.
Determinar o 1-matching mnimo em Kn , M* .
Para cada aresta pertencente a M* associar uma nova
aresta em G no caminho mnimo que ela representa,
obtendo um grafo Ga.
Determinar a soluo do carteiro chins que representada
por um ciclo euleriano em Ga
FIM

380

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

As Figuras 9.5 e 9.6 exemplificam o processo descrito no algoritmo carteiro chins. A soluo para o problema sobre o grafo da Figura o caminho: ABFEADEFCECBA com C = 19.
A

1
5

4
C

3
E

1
2

3
3

(b) Vrtices de Grau mpar

(a) Grafo Original

A
C

3
3

(d) K4

(c) Caminhos mais Curtos de A

FIGURA 9.5 Obteno de K4 .

No caso do grafo orientado uma condio suficiente para a existncia do circuito euleriano que o
semigrau interior de cada n seja igual ao semigrau exterior. Para solucionar o problema vamos determinar dois conjuntos de ns S e D. O primeiro corresponde aos ns determinados de forma que o semigrau interior d(i)+ supere o semigrau exterior d(i)- (detalhes do conceito de semigrau no anexo), e o segundo, caso contrrio. Podemos construir um grafo bipartido com os ns sj S e dk D. Cada distncia
cjk entre dois ns desse grafo representar o menor caminho entre o n sj e o n sk no grafo original. Tais
distncias podem ser determinadas pela aplicao de um algoritmo de caminho mais curto sobre G. Se
existe um n sj que no possui caminho que o ligue a todos os ns sk , ento o PCC no possui soluo
vivel. A Figura 9.6 demonstra o fato para um grafo direcionado.
Na verdade a soluo do PCC exige a soluo de um problema de 1-matching para a formao do
grafo Gi (E*) e, posteriormente, a soluo de um problema de circuito euleriano Como exibido no Captulo 7, o problema da determinao de 1-matching em um grafo bipartido (conjuntos S e D) pode ser solucionado como um caso do problema de transporte em cerca de O(n2,5) operaes, onde n = |N|.
Associando ento os sj a pontos de suprimento, e os dj a pontos de demanda, constituindo um problema de transporte conforme a seguinte formulao:
1

d(4) = 2
d(4)+= 0

d(4) = 2
d(4)+= 0

S = {5}
5

D = {4}

FIGURA 9.6 PCC invivel.

Beltrani e Bodin (1982) apresentam tambm uma interessante heurstica para a soluo desse problema.

PROBLEMAS DE ROTEAMENTO

381

D
C

(b) Caminhos Associados

(a) Matching M em K4

F
(c) Soluo Final

FIGURA 9.7 Soluo Final.

O Problema do Carteiro Chins Direcionado (PCCD)


Trata-se do caso do PCC com arestas direcionadas. Os trabalhos da Tabela 9.2 apresentam abordagens
clssicas para a soluo do problema.
T A B E LA 9. 2 TR AB AL HO S P AR A A SO L U O D O P C C D
Ano

Pesquisador

Trabalho

1973

Edmonds e Johnson

Algoritmo O(n3)

1974

Beltrami e Bodin

Algoritmo O(m.n2)

1988

Lin e Zhao

O(kn2) fluxo em redes

O Problema do Carteiro Chins com Arestas Mistas (PCCND)


Trata-se do caso do PCC com arestas mistas. Esse problema NP-rduo. A Tabela 9.3 apresenta alguns
dos trabalhos associados ao PCCND.
T A B E LA 9. 3 TR AB AL HO S P AR A A SO L U O D O P C C ND
Ano

Pesquisador

Trabalho

1973

Edmonds e Johnson

Heurstica Mix-1

1979

Frederickson

Heurstica Mix-2

1979

Kappauf e Koehler

Programao inteira

1979

Minieka

Transformao em problema de fluxo

1984

Christofides et al.

Algoritmo exato

1993

Ralphs

Resultados tericos

1995

Pearn e Liu

Modificaes em Mix-1

1996

Nobert e Picard

Planos de corte (Gomory)

382

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

T A B E LA 9. 3 C O N TI N UAO
Ano

Pesquisador

Trabalho

1998

Yan e Thompson

B&B

1998

Raghavachari e Veerasamy

Algoritmos heursticos

1999

Pearn e Chou

Modificaes em Mix-1 e Mix-2

2002

Corbern et al.

Algoritmo GRASP

2002

Yaoyuenyong et al.

Algoritmo heurstico

O Carteiro Chins Capacitado (PCCC)


Esse problema diz respeito a definir um conjunto de rotas para um conjunto S = {1, ..., s} de carteiros
que devem atender demanda despertada no grafo G = (V, E). Golden e Wong (1981) formulam esse
problema de roteamento como um problema de fluxo da seguinte forma:
(PCC3) Minimize z =

i V jV pS

p p

cij x ij

sujeito a:

jV

x ji

jV

x ij = 0
qij

(lijp + l pji ) = w

p=1

x ij l ij

"i V, p S

(9.4)

"(i, j) E

(9.5)

"(i, j) E, p S

(9.6)

pS

(9.7)

"i E\{1}, p S

(9.8)

"(i, j) E, p S

(9.9)

lijp qijp w

i V jV

jV

f ij
p
f ij

jV

f ji =

(n )
2

lijp

jV

p
x ij

f ij 0

pS

(9.10)

qij > 0

"(i, j) E

(9.11)

"(i, j) E, p S

(9.12)

p
f ij ,

p
x ij

{0, 1}

Onde:
C = [cij ] matriz do comprimento dos arcos.
Q = [qij ] matriz das demandas que so despertadas nos arcos e devem ser atendidas pelos carteiros.
w capacidade dos carteiros, sendo w max qij , "(i, j) E.
p

l ij varivel binria que assume valor 1 quando o carteiro p servir a demanda do arco (i, j), e 0 em caso
contrrio.
p

f ij varivel de fluxo que assume valor positivo se x ij = 1, f ij +.


O depsito central que receber o ndice 1.
As restries (9.4) garantem a continuidade das rotas dos carteiros. As restries (9.5) asseguram
que o atendimento dos carteiros considerado em apenas uma das suas passadas pelo arco. As restries (9.3) obrigam que o carteiro percorra os arcos a que lhe forem designados atender. A restrio (9.4)

PROBLEMAS DE ROTEAMENTO

383

garante que os atendimentos dos diversos carteiros no ultrapassem sua capacidade. As restries (9.5)
garantem que o fluxo de atendimento igual ao computado pela designao aos carteiros.
Golden e Wong (1981) demonstraram que esse problema NP-rduo e apresentam um estudo sobre a obteno de limites inferiores para o problema via 1-matching. Nesse trabalho destacamos o seguinte algoritmo para a soluo do problema:

Algoritmo de Christofides
INCIO
Ler o grafo G = (N, A);
Fazer todos os arcos serem servidos em um circuito individual.
Iniciando com o maior circuito disponvel, verifique se um
arco de um circuito menor pode ser servido por um
circuito maior.
Sujeito s restries do problema procure compor dois
circuitos de forma a obter a maior economia possvel.
Repetir a composio at no existir composio que traga
economia soluo;
FIM

O algoritmo descrito de forma vaga, segundo seu autor, exatamente para permitir a absoro, em
cada passo, de diversos procedimentos de otimizao j existentes. A etapa 3, por exemplo, pode ser
implementada com auxlio das heursticas de Clark e Wright (1964).

O Problema do k-Carteiro Chins (k-PCC)


Trata-se do caso do PCC com pelo menos k carteiros, k > 1, trabalhando em conjunto. A instncia um
grafo G = (V, E), com vrtice inicial s V. A soluo uma coleo de k ciclos contendo o vrtice inicial
s, de modo que coletivamente cada aresta seja percorrida pelo menos uma vez. O objetivo minimizar
o comprimento dos k ciclos formados. Pearn (1992) e Zhang (1992) apresentam algoritmos de soluo
para o problema.

O Problema do k-Carteiro Chins Min-Max (MM-k-PCC)


Trata-se do caso do k-Carteiro Chins encontrar k rotas em que a maior aresta minimizada. Ahr e Reinelt (2002) apresentam heursticas baseadas no procedimento de Frederickson, Hecht e Kim (1978).

O Problema do Carteiro ao Vento (PCW) Windy Postman


Trata-se do caso do PCC em que a matrix de custo do grafo G assimtrica e no obrigatoriamente
atende desigualdade triangular. O sentido de percurso mais caro denominado contra o vento e o
mais barato de a favor do vento. A Tabela 9.4 apresenta alguns trabalhos referentes ao problema
T A B E LA 9. 4 TR AB AL HO S DE S O L UO P A RA P C W
Ano

Pesquisador

Trabalho

1979

Minieka

Primeira descrio do problema

1984

Guan

Heurstica que transforma PCW em PCC O(n3)

1989

Win

Heurstica de fluxo mnimo O(n3)

1992

Grtschel e Win

Algoritmo de planos de corte

1994

Pearn e Lin

Heursticas que alteram as heursticas de Guan e Win

384

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

ELSEVIER

O Problema do Carteiro Chins Hierrquico (PCCH)


Nessa variante o carteiro chins faz sua rota dentro de grupamentos de arcos obedecendo a relaes de
precedncia entre os grupamentos. O modelo possui aplicao na limpeza de neve e no corte. O problema solucionado em tempo polinomial. A Tabela 9.5 resume alguns trabalhos relacionados ao tema.
T A B E LA 9. 5 T R AB AL HO S DE S O L UO P A RA P C W
Ano

Pesquisador

Trabalho

1984

Manber e Israni

Aplicao ao corte de chapas metlicas

1987

Dror et al.

Formalizao do problema algoritmo O(kn5)

1995a

Eiselt et al.

Reformulao do problema

2000

Ghiani e Improta

Algoritmo baseado em matchings e caminhos O(k3n3)

2002

Korteweg

Algoritmo lexicogrfico O(kn4)

2004

Cabral et al.

Formulao via carteiro rural

9.2.2.2 O Problema do Carteiro Rural (PCR)


O carteiro rural uma variante do carteiro chins em que o conjunto de arestas que deve ser obrigatoriamente percorrido um subconjunto das arestas de um grafo G. O problema pretende descobrir o caminho
de menor custo em G que percorra o referido subconjunto de arestas. O problema clssico do Carteiro Rural foi formulado em grafos no direcionados. A Tabela 9.6 apresenta trabalhos que abordam o problema.
T A B E LA 9. 6 T R AB AL HO S DE S O L UO P A RA P C R
Ano

Pesquisador

Trabalho

1974

Orloff

Descrio do problema

1988

Ball e Magazine

Heursticas de insero

1995

Eiselt et al.

Algoritmo heurstico

1995

Pearn e Wu

Algoritmos baseados em Chistofides et al. 1986

1996

Lee et al.

Algoritmo gentico

1998

Fernandez de Crdoba et al.

Algoritmo heurstico

1998

Cook et al.

Algoritmo gentico

1998

Kang e Han

Algoritmo gentico

1999

Hertz et al.

Algoritmos heursticos

2000

Ghiani e Laporte

Algoritmo B&Cut

2003

Fernndez et al.

Formulao e limites

O problema NP-rduo e admitindo pelo menos as seguintes variantes:

O Problema do Carteiro Rural Direcionado (PCRD)


Trata-se do caso no qual o carteiro rural desenvolvido sobre um grafo direcionado. Para o problema
destaca-se o trabalho de Christofides et al. (1986).

O Problema do Carteiro Rural com Arestas Mistas (PCRM)


Nessa variante o carteiro rural desenvolvido sobre um grafo misto. Para o problema destacam-se os
trabalhos exibidos na Tabela 9.7.

PROBLEMAS DE ROTEAMENTO

385

T A B E LA 9. 7 TR AB AL HO S DE S O L UO P A RA P C RM
Ano

Pesquisador

Trabalho

1996

Anily et al.

Estudo de caso

2000

Corbern et al.

Algoritmo tabu

2002

Corbern et al.

Carteiro rural com penalidades

O Problema do Carteiro Rural Peridico (PCRP)


O caso peridico abordado no trabalho de Ghiani et al. (2003) que prope um algoritmo heurstico de
soluo.
A literatura cita sem destaques o caso do Carteiro Rural Capacitado (PCRC). O Carteiro Rural Dinmico (PCRD) abordado em Moreira et al.(2001).

9.2.2.3 O Problema da Empilhadeira Minimum Stacker Crane (PMSC)


Trata-se de um roteamento em arestas em um grafo G = (V, E, A) em que o objetivo determinar, a partir de um vrtice s V um circuito de comprimento mnimo que passe pelo menos uma vez por todos
os arcos de E atendendo a seus sentidos de trfego. No existem restries quanto repetio de vrtices, arcos ou arestas do circuito. A Tabela 9.8 apresenta alguns trabalhos referentes ao problema.
T A B E LA 9. 8 TR AB AL HO S DE S O L UO P A RA P M S C
Ano

Pesquisador

Trabalho

1978

Frederickson et al.

Descrio do problema e algoritmo 9/5 aproximado

1995

Burkard et al.

Algoritmo de fluxo em redes

1999

Righini e Trubian

Limites para o problema

2002

Hansen e Clausen

Aplicao real

2003

Coja-Oghlan et al.

Extenso para o caso de redes de transporte

9.2.3 Problemas de Roteamento sobre Arcos Viso Geral


9.2.3.1 Roteamento de Veculos Capacitados (frota homognea) PRVC
A literatura em anos passados abordou o problema de roteamento de veculos principalmente em sua
verso sem limitao de capacidade e de nmero de veculos (Golden e Skiscim [1986]; Van Bredam
[1996]). Atualmente a maioria dos trabalhos se concentra no caso capacitado. O problema de roteamento de veculos capacitados relatado com uma frota de m veculos de capacidade W e sediados em ponto garagem. Nesse caso o objetivo atender a um conjunto de pontos de demanda localizados sobre os
vrtices do grafo G = (N, A) de modo a miminizar o comprimento total das rotas dos veculos. A Tabela
9.6 mostra alguns trabalhos referentes ao tema.
T A B E LA 9. 9 TR AB AL HO S DE S O L UO P A RA P RVC
Ano

Pesquisador

Trabalho

1959

Dantzig e Ramser

Trabalho referncia para a rea

1973

Laporte

Vrias tcnicas de soluo

1980

Psaraftis

Programao dinmica

1980

Crowder e Padberg

B&B

386

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

T A B E LA 9. 9 C O N T I N UAO
Ano

Pesquisador

Trabalho

1981a

Christofides et al.

Relaxao lagrangeana e dualidade

1981

Christofides

Teoria dos grafos

1981b

Christofides et al

Teoria dos grafos

1983

Laporte

Vrias tcnicas

1984

Desrosier et al.

Gerao de colunas

1985

Fleischmann

Planos de corte

1985

Laporte et al.

Eliminao de subtours do PCV

1985

Salvelsbergh

Busca local

1986

Desrosiers et al.

Programao dinmica

1987

Laporte

Vrias tcnicas

1989

Agarwal et al.

Gerao de colunas e B&B

1990

Haouari

Gerao de colunas

1990

Salvelsbergh

Busca local

1991

Dumas et al.

Gerao de colunas

1991

Padberg e Rinaldi

Branch-and-Cut

1992

Desrochers et al.

B&B

1994

Fisher

Teoria dos grafos

1995

Miller

Algoritmos exatos

1996

Vigo

Algoritmos heursticos

1996

Renaud et al.

Heurstica de ptala

1997

Kohl e Madsen

Relaxaes Lagrangeanas e dualidade

1998

Rodrguez

Heursticas de busca local

1999

Barbarosoglu e Ozgur

Busca Tabu

1999

Bullnheimer et al.

Algoritmo em colnia de formigas

2000

Hamacher e Hochstttler,

Tcnicas de agrupamentos

2000

Backer et al.

Constraint Programming e meta-heursticas

2000

Campos e Mota

Algoritmos heursticos

2001

Asano

Roteamento em rvores

2001

Charikar

Vrios algoritmos

2001

Breedam

Heursticas e meta-heursticas

2002

Toth e Vigo

Mtodos exatos e relaxaes

2002

Cordeau et al.

Trabalho abrangente

2002

Letchford et al.

Tcnica multistart

2003

Ralphs

B&Cut

2003

Baker e Ayechew

Algoritmos genticos

2003

Jaszkiewicz e Kominek

Busca local

2003

Tavares et al.

Influncia da representao para algoritmos evolucionrios

2003

Toth e Vigo

Algoritmo tabu granular

2003

Achuthan et al.

B&Cut

2004

Prins

Algoritmo Evolucionrio

2004

Tarantilis

Algoritmo tabu

2004

Reimann

Colnia de formigas

ELSEVIER

PROBLEMAS DE ROTEAMENTO

387

9.2.3.2 Roteamento de Veculos com Mltiplos Depsitos PRVMD


Nessa variante os veculos podem partir de vrios depsitos. A Tabela 9.10 apresenta alguns trabalhos
referentes ao problema.
T A B E LA 9. 10 TR AB AL HO S DE S O L UO P A RA P RVM D
Ano

Pesquisador

Trabalho

1993

DellAmico et al.

Algoritmo heurstico

1993

Chao et al.

Algoritmo hbrido

1997

Filipec et al

Algoritmo heurstico

1998

Desaulniers et al.

Multidepsito, janela de tempo e custo de espera

1998

Cordeau et al.

Algoritmo tabu

1999

Modares et al

Algoritmo em rede neural auto-organizada

1999

Salhi e Nagy

Heurstica de insero e grupamento

2000

Irnich

Multidepsito, veculos heterogneos e entrega/coleta

2002

Wu et al.

Algoritmo heurstico

2002

Giosa, et al.

Algoritmo de localizao

9.2.3.3 Roteamento de Veculos com Janelas de Tempo PRVJT


Nessa variante existe um intervalo de tempo associado aos pontos de demanda ou de coleta janela de
tempo. A janela de tempo pode se referir ao tempo de chegada, de partida ou de durao do servio
no cliente. A Tabela 9.11 apresenta alguns trabalhos referentes ao problema.
T A B E LA 9. 11 TR AB AL HO S DE S O L UO P A RA P RVJ T
Ano

Pesquisador

Trabalho

1991

Byong-Hun

Janela de tempo e de congestionamento

1992

Savelsbergh

Minimizando a durao da rota

1993

Nagraj

Algoritmo heurstico

1995

Kontoravdis e Bard

Algoritmo GRASP

1995

Russell

Algoritmo hbrido

1996

Chiang e Russell

Algoritmo simulated annealing

1996

Kelly e Xu

Algoritmo tabu

1996

Potvin e Bengio

Algoritmos genticos

1997

Chiang e Russell

Algoritmo tabu reativo

1997

Bramel e Simchi-Levi

Formulaes do problema de cobertura

1997

Kohl e Madsen

Relaxao lagrangeana

1997

Badeau et al.

Tabu paralelo

1997

Marshall et al.

Algoritmos de otimizao

1999a

Liu e Shen

Viso geral

1999b

Liu e Shen

Meta-heurstica de vizinhana

1999

Schulze e Fahle

Algoritmo paralelo

1999

Gambardella et al.

Algoritmo colnia de formigas

1999

Homberger e Gehring,

Algoritmos evolucionrios

388

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

ELSEVIER

T A B E LA 9. 11 C O N TI N UAO
Ano

Pesquisador

Trabalho

2001

Cordone e Calvo

Algoritmo heurstico

2001

Brysy

Busca em vizinhana varivel

2001

Gehring e Homberger

Paralelizao de meta-heursticas

2001

Ioannou et al.

Algoritmo guloso

2001a

Tan et al.

Algoritmo gentico messy

2001b

Tan et al.

Algoritmo gentico hbrido

2001c

Tan et. al

Algoritmos heursticos

2001

Cordone e Calvo

Algoritmo heurstico

2002

Bard et al.

B&Cut

2002

Cordeau et al.

Vrios algoritmos

2002

Rousseau et al.

Operadores de restrio

2002

Jung e Moon

Algoritmo gentico hbrido

2002

Czech e Czarnas

Algoritmo simulated annealing paralelo

2003

Braysy

Algoritmo de vizinhana varivel reativo

2003

Chaovalitwongse et al.

Algoritmo GRASP

2003

Li e Lim

Algoritmo simulated annealing e reinicio

2003

Berger et al.

Algoritmo gentico hbrido

2004

Cordeau et al.

Algoritmo tabu

2004

Ioannou e Kritikos

Sntese de vrias heursticas de alocao

9.2.3.4 Roteamento Estocstico de Veculos PREV


Nessa variante algum dos elementos de entrada do problema como, por exemplo, a demanda, o nmero de clientes, o custo das ligaes etc., uma varivel aleatria. A Tabela 9.12 apresenta alguns trabalhos referentes ao problema.
T A B E LA 9. 12 T RAB AL HO S DE SO L UO PA RA P RE V
Ano

Pesquisador

Trabalho

1992

Cock e Rinnooy Kan

Reviso do problema

1993

Bertsimas e Van Ryzin

Roteamento no plano euclideano com mltiplos veculos

1993

Belgacem et al.

Roteamento estocstico com split delivery

1995

Bertsimas et al.

Vrios algoritmos

1995

Gendreau et al.

Algoritmos para o caso da demanda/clientes estocsticos

1996a

Gendreau et al.

Reviso da literatura

1996b

Gendreau et al.

Algoritmo tabu

1996

Cheung e Power

Modelos e algoritmos

1996

Teodorovic e Pavkovic

Aplicao da teoria dos conjuntos nebulosos

1997

Ong et al.

Demanda estocstica e janela de tempo

2000

Yang et al.

Roteamento estocstico com estoque

2001

Secomandi

Abordagem rollout

2001

Taniguchi et al.

Roteamento com tempo de percurso estocstico

PROBLEMAS DE ROTEAMENTO

389

T A B E LA 9. 12 CO N T I N UAO
Ano

Pesquisador

Trabalho

2003

Bianchi et al.

Meta-heursticas

2003

Verweij et al.

Mtodo estatstico de amostragem

2003

Kenyon e Morton

Banch-and-cut e amostragem Monte Carlo

9.2.3.5 Roteamento Dinmico de Veculos PRDV


Nessa variante os elementos do problema mudam durante o processo de tomada de deciso. A Tabela
9.13 apresenta alguns trabalhos referentes ao problema.
T A B E LA 9. 13 TR AB AL HO S DE S O L UO P A RA P RD V
Ano

Pesquisador

Trabalho

1995

Psaraftis

Reviso de mtodos de soluo

1998

Gendreau e Potvin

Modelos e algoritmo de soluo

1999

ORourke et al.

Algoritmo tabu

1999

Jih e Hsu

Algoritmo gentico

1999

Swihart e Papastavrou

Modelos para o problema

2000

Zhu e Ong

Algoritmo reativo

2002

Larsen et al.

Problema parcialmente dinmico modelos e algoritmos

2003

Montemanni et al.

Algoritmo em colnia de formigas

2004

Dua et al.

Sistema hbrido composto de vrios algoritmos clssicos

Uma variante desse problema considera a programao de atendimento on-line ou off-line de um


conjunto de veculos sobre uma rede de demanda estocstica. Os veculos tambm so denominados
como servos.
Psaraftis (1988) considerando que as demandas esto localizadas nos vrtices de um grafo e que o
veculo (ou servo) pode se deslocar entre quaisquer pares de vrtices gastando um tempo que est vinculado aos vrtices. O objetivo minimizar o tempo mdio de espera pelo atendimento.
Batta et al. (1988) aborda um modelo de servio igual ao anterior com a obrigao, contanto que o
servo retorne base aps cada atendimento.
Bertsimas e Ryzin (1991) estudam o caso em que as demandas ocorrem em qualquer ponto de
uma determinada regio do plano com uma distribuio de probabilidade uniforme. O servo se desloca entre os pontos de demanda gastando um tempo proporcional distncia entre esses mesmos
pontos.
Bertsimas e Ryzin (1993) estudam o caso do atendimento com mltiplos servos.
Tassiulas (1996) aborda um problema semelhante ao de Bertsimas e Ryzin (1991), com o objetivo de
estudar o desempenho de vrias polticas de roteamento, sugerindo um algoritmo denominado de
congestion focusing algorithm.

9.2.3.6 Roteamento Peridico de Veculos PRPV


Na presente variante o planejamento realizado em um horizonte de tempo que engloba mais de um
dia. A Tabela 9.14 apresenta alguns trabalhos referentes ao problema.

390

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

ELSEVIER

T A B E LA 9. 14 T RAB AL HO S DE SO L UO PA RA P RP V
Ano

Pesquisador

Trabalho

1984

Christofides e Beasley

Apresentao do problema

1984

Tan e Beasley

Algoritmo heurstico

1992

Gaudioso e Paletta

Algoritmo heurstico

1995

Chao et al.

Algoritmo heurstico

1997

Cordeau et al.

Algoritmo tabu para o problema multidepsito peridico

2001

Shih e Chang

Aplicao ao recolhimento de lixo contaminado

2002

Angelelli e Speranza

Algoritmo tabu no PRPV com facilidades intermedirias

2002

Baptista et al.

Aplicao ao problema de recolhimento de papel reciclvel

2002

Jaillet et al.

Aplicao aos problemas de distribuio com estoque

2003

Blakeley et al.

Aplicao manuteno de elevadores

2003

Rusdiansyah e Tsao

Heurstica hbrida

2004

Alegre e Laguna

Aplicao coleta de matria-prima para autopeas.

9.2.3.7 Roteamento com entrega dividida (Split Delivery) PRED


No caso desta variante vrios veculos fazem o atendimento do cliente dividindo a demanda. A Tabela
9.15 apresenta alguns trabalhos referentes ao problema.
T A B E LA 9. 15 T RAB AL HO S DE SO L UO PA RA P RE D
Ano

Pesquisador

Trabalho

1990

Dror e Trudeau

Modelo e algoritmos heursticos

1994

Dror et al.

Modelo e algoritmos heursticos

1995

Frizzell e Giffin

PRED com janela de tempo

2000

Belenguer et al.

Limite inferior para o problema

2002

Feillet

Modelagem do PRED com janela de tempo

2003

Archetti et al.

Algoritmo tabu

9.2.3.8 Roteamento com entrega prioritria (Backhauls) PREP


Trata-se a atual variante de um problema de entrega e coleta, em que os veculos devem realizar todas as entregas antes de efetuar qualquer recolhimento. A Tabela 9.16 apresenta alguns trabalhos referentes ao problema.
T A B E LA 9. 16 T RAB AL HO S DE SO L UO PA RA P RE P
Ano

Pesquisador

Trabalho

1988

Casto et al.

Modelos e algoritmos

1989

Goetschalckx e Jacobs-Blecha

Modelos e algoritmos

1992

Min at al.

Variante com mltiplos depsitos

1996

Thangiah et al.

Algoritmos heursticos

1996

Anily

Algoritmo heurstico

1996

Potvin et al.

Algoritmo gentico

1997

Duhamel et al.

Algoritmo tabu

PROBLEMAS DE ROTEAMENTO

391

T A B E LA 9. 16 CO N T I N UAO
Ano

Pesquisador

Trabalho

1997

Toth e Vigo

Algoritmo exato

1999

Toth e Vigo

Algoritmos heursticos

1999

Mingozzi et al.

Algoritmo exato

2002

Carreto e Baker

Algoritmo GRASP

2002

Osman e Wassan

Algoritmo tabu reativo

2002

Dethloff

Algoritmo heurstico de insero

2002

Wade e Salhi

Algoritmo de insero em lista de prioridade varivel

2003

Currie e Salhi

Heurstica mope construtiva

2004

Wade e Salhi

Algoritmo em colnia de formigas

9.2.3.9 Roteamento com entrega e coleta (Pick-Ups and Deliveries) PREC


Trata-se a atual variante de um problema de entrega e coleta, em que os veculos devem realizar todas as entregas antes de efetuar qualquer recolhimento. A Tabela 9.17 apresenta alguns trabalhos referentes ao problema.
T A B E LA 9. 17 TR AB AL HO S DE S O L UO P A RA P RE C
Ano

Pesquisador

Trabalho

1991

Dumas et al.

PREC com janela de tempo

1993

Bruggen at al.

Busca em profundidade

1998

Mosheiov

Algoritmo em partio de tours

1999

Swihart e Papastavrou

Modelo para o caso estocstico

2000

Nanry e Barnes

Algoritmo tabu reativo/PREC com janela de tempo

2001

Landrieu et al.

Algoritmo tabu para o PREC com janela de tempo

2001

Lau e Liang

Algoritmos e casos testes para o PREC com j/ tempo

2002

Renaud et al.

Heurstica com base em procedimento de perturbao

2002

Dethloff

Heursticas de insero para vrios problemas de roteamento

2003

Xu et al.

Estudo de caso

2003

Malca1 e Semet

Algoritmo tabu

2003

Caricato et. al.

Algoritmo tabu paralelo

9.2.3.10 Roteamento com Frota Heterogenia PRFH


Trata-se de uma variante onde o objetivo determinar, simultaneamente, a composio de uma frota
de veculos heterognea sediada em um depsito e suas rotas de atendimento (Taillard, 1999). O problema tambm conhecido como:

O Problema do Tamanho de Frota e Roteamento de Veculos Mistos (Fleet Size and Composition
Vehicle Routing Problem Golden, [1984]; Renaud e Boctor, [2002]).

O Problema da Frota mista de Veculos (Vehicle Fleet Mix Problem Salhi, [1992]; Wassan e
Osman, [2002]).

A literatura no relata algoritmo exato para o PRFH. A Tabela 9.18 apresenta alguns trabalhos no
problema.

392

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

ELSEVIER

T A B E LA 9. 18 T RAB AL HO S DE SO L UO PA RA P RF H
Ano

Pesquisador

Trabalho

1984

Golden et al.

Algoritmo de economias adaptado ao PRFH

1984

Gheysens et al.

Formulao inteira mista e comparao de heursticas

1986

Gheysens et al.

Heurstica de duas fases

1988

Ferland e Michelon

Algoritmos exatos e heursticos

1991

Desrochers e Verhoog

Algoritmo de matching valorado

1992

Salhi et al.

Algoritmo clssico de grupar e rotear adaptado ao PRFH

1993

Salhi e Rand

Algoritmo de iterativo de perturbao

1996

Osman and Salhi

Algoritmo tabu e l-interchange

1999

Liu e Shen

Heursticas de insero e economia

1999

Han and Cho

Metaheurstica baseada no threshold accepting

1999

Taillard

Algoritmo tabu e memria adaptativa

1999

Gendreau et al.

Algoritmo tabu baseado na heurstica GENIUS

2002

Wassan e Osman

Algoritmo tabu

2002

Renaud e Boctor

Algoritmo baseado no algoritmo Swapp

2002

Dullaert et al.

Heursticas para o PRFH com janela de tempo

2004

Tarantilis

Algoritmo com bactracking e threshold accepting

2004

Lima et al.

Algoritmo memtico

9.2.3.11 Roteamento Multi-objetivo


A Tabela 9.19 apresenta alguns trabalhos abordando o tema.
T A B E LA 9. 19 T RAB AL HO S DE SO L UO PA RA P RF H
Ano

Pesquisador

Trabalho

1988

Landeghem

Roteamento com janela de tempo e bicritrio

1995

Gudaitis et al.

Algoritmo multicritrio usando A*

1997

Golden et al.

Algoritmo de memria adaptativa em problema minmax

1999

Hong e Park

Algoritmo heurstico para PRVJT bi-objetivo

2002

Jozefowiez et al.

Modelos de paralelos hbridos

2002

Applegate, et al.

O problema minmax

9.2.3.12 Outros problemas

Roteamento com Facilidades Satlites PRFS


Trata-se de uma variante em que os veculos podem realizar reabastecimento em pontos de depsito (facilidades satlite) distribudos na rede de demanda. O problema foi recentemente sugerido por Bard et al.
(1998a). Um algoritmo de soluo baseado na tcnica de Branch-and-cut sugerido em Bard et al. (1998b).

Roteamento com uso mltiplo dos veculos


O problema descrito em Taillard et al. (1996), em que sugerido um algoritmo de soluo. Hajri-Gabouj
e Darmoul (2003) desenvolvem um algoritmo hbrido e evolucionrio para a soluo de um caso com janelas de tempo.

PROBLEMAS DE ROTEAMENTO

393

Roteamento com mltiplos veculos de cobertura


Nesse caso o conjunto de vrtice de demanda deve ser coletivamente atendido pela frota de m veculos.
O objetivo minimizar o comprimento total das rotas. Hachicha et al. (2000) formulam o problema e sugerem uma heurstica que combina o procedimento de Balas e Ho (1980b) com a heurstica GENIUS.

Roteamento com nmero limitado de veculos


Trata-se do problema de roteamento sujeito a um nmero de veculos. Lau et al. (2003) formulam o problema e sugerem um limite superior para o problema de rotemento limitado com janela de tempo. O
trabalho sugere tambm uma heurstica tabu.

Roteamento e programao multiveculos


O presente caso refere-se programao de rota de multiveculos. A frota, diferentemente de PRFH,
fixa. Thompson e Psaraftis (1993) sugerem uma heurstica para o problema baseada em uma estratgia
denominada cyclic transfers. Blanton e Wainwright (1993) desenvolvem um algoritmo gentico para o
problema multiveculo com restries de tempo e de capacidade. Liu e Shen (1999) desenvolvem a soluo do multiveculos com janelas de tempo.

Roteamento com restrio de combustvel


Um problema que pode ser considerado um caso particular do PRFS tratado em Ichimori et al. (1981).

Roteamento com restrio de tempo de operao (time deadline)


A variante considera para cada n de demanda um tempo mximo de atendimento. O problema um
caso especial do roteamento com janela de tempo. Thangiah et al. (1993) sugere algoritmos para o problema. Bansal et al. (2004) sugere um algoritmo O(log n) para o caso.

Roteamento com Trailers


Trata-se de um caso interessante de roteamento em que a permanncia no vrtice da rota passvel de
prolongamento significativo. Outro ponto peculiar que a unidade em rota composta de um veculo
trator e de um trailer. Os veculos tratores podem ser acoplados ou desacoplados dos trailers em conformidade com o planejamento. O estudo da operao de uma frota de veculos com trailer pode incluir
operaes de transbordo ou troca de trailers. Gerdessen (1996) trata o problema sugerindo vrias heursticas de soluo.

Gerenciamento de frota
Trata-se de uma complexa variante em que vrias restries podem ser consideradas, tanto para o dimensionamento da frota como para sua operao. Um exemplo de um trabalho que ataca tal problema
encontrado em Sherali et al. (1999).

Roteamento com tarefa no destino (routing and scheduling)


A variante se refere, por exemplo, ao caso do uso de frota de veculos de manuteno. No caso os veculos, alm de serem designados ao atendimento de um conjunto de pontos de demanda e consequentemente seguirem uma rota, devem executar tarefas nesses pontos cuja durao significativa em relao ao tempo de percurso. Modernamente a literatura tem reclassificado certos casos que antes eram
denominados genericamente como de routing and scheduling. A reclassificao atende s classes anteriormente apresentadas no presente captulo, especialmente quando o critrio mais importante do problema se refere s janelas de tempo, ao comportamento dinmico do problema ou ao dimensionamento da frota. Laporte e Norbert (1987) e Laporte et al. (1988) apresentam uma reviso de mtodos exatos
para o problema. O problema estocstico abordado por Jaillet e Odoni (1988). Li et al. (1992) trata o
caso da minimizao de frota. Baker e Schaffer (1986) e Solomon e Desrosiers (1988) reportam resultados para o caso restrito em janelas de tempo. Malmborg (1996) relata um algoritmo gentico para o
caso da minimizao do atraso de atendimento.

394

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

O Problema de Escala de Tripulao (PET Crew Scheduling)


O problema de Escala de Tripulao constitudo de dois casos, a saber:
1. O problema de pairing, ou de planejamento dos trechos embarcado, determina quais as etapas de
viagem que sero cumpridas pelo tripulante. O problema pode incluir (no obrigatoriamente) a
funo a ser desempenhada por cada tripulante. O problema de designar as funes desempenhadas pelo tripulante embarcado denominado de crew complement ou problema de designar atividades complementares da tripulao.
2. O problema de rostering, ou de planejamento de deveres gerais do tripulante, define as atividades do tripulante, quer esteja embarcado ou no. No rostering as frias, reviso mdica, treinamento etc. so obrigaes consideradas. Assim o problema de rostering inclui a designao de trabalho
dos tripulantes a bordo, ou o problema de crew complement, no mnimo como dado de entrada. A Figura 9.8 resume as entradas do problema.
Regras

Objetivos

Frias e perodos de folga


Limites de carga de trabalho
Qualificao legal
Restries para a constituio da tripulao

Minimizao de custos
Maximizao da robustez do sistema
Atendimento das restries (gerar solues
viveis)

O Problema dos
Deveres do Tripulante

Histrico e antiguidade
Qualificao em servio
Designaes anteriores
Outras consideraes

Treinamento
Planto em terra
Designao embarcada
Outras atividades

Atividades

Designao
de Atividades

Tripulao

FIGURA 9.8 Entradas do Crew Rostering.

O problema do planejamento dos trechos embarcado uma sequncia de etapas de viagens a serem cumpridas, iniciando em um ponto base e retornando a esse ponto base aps certo perodo de tempo. Planejamentos eficientes normalmente cobrem as tarefas demandadas pelo servio de transporte
no menor tempo possvel (Carraresi e Gallo [1984]; Karraziha et al. [2003]). O problema pode envolver
diversas restries, como a de qualificao da tripulao (por exemplo, o caso de pilotos licenciados
para determinados avies ou da exigncia do domnio de certa lngua pelos tripulantes), consideraes
de trfego, atrasos etc. A Tabela 9.20 apresenta alguns trabalhos referentes ao problema.
T A B E LA 9. 20 T RAB AL HO S DE SO L UO PA RA P E T
Ano

Pesquisador

Trabalho

1969

Arabeyre.et al.

Reviso da literatura

1979

Marsten et al.

Modelo de programao inteira

1979

Baker et al

Heursticas para o problema

PROBLEMAS DE ROTEAMENTO

T A B E LA 9. 20 CO N T I N UAO
Ano

Pesquisador

Trabalho

1981

Marsten e Shepardson

Soluo via Set Partitioning Problem Particionamento

1988

Smith e Wren

Soluo via Set Covering Problem Recobrimento

1988

Lavoie et al.

Gerao de colunas

1989

Gershkoff

Aplicao ao problema de pairing

1992

Anbil et al.

Otimizao global

1993

Graves et al.

Caso aplicado ao planejamento da United Airlines

1993

Hoffman e Padberg

B&Cut

1995

Barnhart

Fluxo em redes

1996

Mathaisel

Sistema de apoio deciso

1997

Crainic e Laporte

Modelos de planejamento para transporte de carga

1997

Vance et al.

Formulao e algoritmo de decomposio

1997

Wei et al.

Crew scheduling sob operao irregular

1997

Chu et al.

Problemas de grande porte

1998

Stojkovic et al.

Estudo focalizando aspectos operacionais do problema

1998

Andersson et al.

Aplicao ao problema de pairing

1998

Gamache et al.

Planos de corte e B&B. Aplicado ao caso da Air Canada

1998

Caprara et al.

Modelos e algoritmo de soluo

1998

Lavoie et al.

Gerao de colunas para o pairing

1999

Lucic e Teodorovic

Simulated annealing para o rostering multiobjetivo

1999

Emden-Weinert

Simulated annealing

1999

Gamache et al.

Algoritmo de gerao de colunas para o rostering

1999

Christou et al.

Aplicao ao rostering

2000

Alefragis

Modelo de programao inteira para o crew scheduling

2000

Knig e Strauss

Servios integrados de rostering

2001

Freling et al.

Algoritmo Branch-and-Price

2001

Freling et al.

Aplicao na programao de trens na Alemanha

2001

Cordeau et al.

Decomposio de Benders

2001

Butchers et al.

Aplicao ao caso da Air New Zealand

2001

Klabjan et al.

Gerao aleatria de rotas para o crew scheduling

2001

Dawid et al.

Modelos p/ rostering

2002

Klabjan et al.

Crew scheduling com janela de tempo

2002

Sellmann et al

Programao restrita p/ crew scheduling

2002

Fahle et al.

Programao restrita

2003

Freling et al.

Modelos e algoritmos p/ o roteamento e crew scheduling

2004

Kohl e Karisch

Trabalho ambrangente

2004

Makri e Klabjan

Esquema de gerao de colunas p/ o crew scheduling

2004

Boschetti et al.

Algoritmo exato para uma variante do crew scheduling

2004

Goumopoulos e Housos

Gerao de viagens

2004*

Yen e Birge

Programao estocstica para o crew scheduling

* A ser publicado

395

396

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

Roteamento com coleta de bnus (Prize Collecting)


Trata-se de uma variante na qual os clientes que sero servidos devem ser selecionados. Considera-se
que cada arco da rota percorrido segundo um custo cij, onde i e j so os ns que definem o arco. O
atendimento de um cliente i fornece um bnus bi. O objetivo pode ser encontrar a rota que minimize a
diferena entre o somatrio dos custos da rota e os bnus obtidos ou a menor rota que garanta um valor
mnimo para os bnus. Um caso especial do Problema de Coleta de Bnus relatado em Goldbarg et al.
(2004), em que o objetivo maximizar a coleta de bnus, e os veculos esto sujeitos a restries de tempo total de durao do percurso.

O Corte de Cana-de-Acar
Esse um caso bastante interessante que aborda o tema de roteamento, pois essa etapa uma das mais
importantes para a execuo dessa atividade. Trata-se de um problema de roteamento e schedulling
com vrias tarefas associadas. A Figura 9.9 mostra um esquema bsico do problema. A usina recolhe a
cana-de-acar de vrias fazendas de plantio. Cada fazenda dividida em sees de corte e estas em talhes. No Brasil os mtodos de corte e enfeixamento da cana mais utilizados so:

O mtodo manual

A cana cortada e enfeixada manualmente, sendo necessrios tratores ou carregadores para alimentarem os caminhes de transporte.

O mtodo mecanizado

Nesse caso as mquinas de colheita cortam, enfeixam e carregam os caminhes.


Usina

Fazenda 1

Fazenda 2
Fazenda 3

Talho 7

Talho 8
Talho 1

Talho 6

Talho 2

Talho 5

Talho 3

Seo
4
Seo
1

Talho
4

Seo
2

Seo
3

Fazenda 2

Seo 1

Esquema geral de reas de corte

Diviso de uma fazenda

FIGURA 9.9 Esquema de colheita da cana-de-acar.

Para que um talho seja passvel de colheita ele deve ser queimado na vspera. Os talhes so colhidos em sequncia de vizinhana, uma vez que necessrio ter livre o caminho de acesso aos feixes.
Os turnos dos motoristas so, normalmente, de 12 horas. Os caminhes utilizados no transporte possuem carroaria adaptada ou reboques, uma vez que trata-se de uma carga com grande volume em relao ao seu peso. So comuns caminhes com um ou dois reboques, como mostra a Figura 9.10.

Romeu e Julieta

Treminho

FIGURA 9.10 Tipos de caminhes adaptados ao transporte de cana-de-acar.

As usinas trabalham com um depsito-pulmo no seu centro de moagem para absorver flutuaes
no fluxo de cana originrio de problemas operacionais (pneus furados, quebras etc.) e manuteno dos
equipamentos e caminhes (quando ocorre manuteno preventiva ou limpezas de carroaria mais de-

PROBLEMAS DE ROTEAMENTO

397

moradas que o previsto) trocas de turnos e a variao do comprimento do percurso ao longo do dia. O
depsito-pulmo possui um custo operacional alto, pois, alm de representar uma etapa de transbordo
desnecessria, ocupa um espao maior e exige esforos de gerncia.
O problema de otimizao gerado no corte e transporte da cana-de-acar envolve as seguintes variveis de deciso:

A definio da frente de servio.


Nmero e tipos de caminhes necessrios.
As rotas associadas a cada caminho.
A distribuio dos tratores ou mquinas de corte na frente de servio.
O esquema de turnos.
A gerncia do fluxo para manter a usina operando a plena carga.
9.3 MODELOS E ALGORITMOS DE SOLUO
9.3.1 Estratgias para Formulao de Problemas de Roteamento
A importncia e a influncia do modo de formular um problema de otimizao, especialmente em reas complexas como as de roteamento, recobrimento etc., deve, ser bem entendidas. O motivo evidente: a formulao ter impacto direto no desempenho dos algoritmos de soluo. Esse fato no apenas
intuitivo, ele possui justificativas tericas. Por exemplo, fcil perceber que existir uma relao entre
o tamanho do espao das solues viveis de um problema, bem como suas caractersticas, com a possibilidade de obtermos bons algoritmos de soluo para o caso. ponto pacfico que, quanto maior for
o nmero de variveis e restries de um mesmo problema, normalmente maior ser o esforo necessrio para encontrarmos sua soluo. Como vimos no Captulo 1, o porte das formulaes influencia na
possibilidade de soluo. A caracterstica do espao de soluo so outro ponto fundamental. A caracterstica de integralidade, por exemplo, um fator conhecidamente complicador.
A interseo do poliedro das restries de um problema com o reticulado dos inteiros, em algum
espao n-dimensional, estabelece uma correspondncia biunvoca com o conjunto de configuraes
viveis que respeitam o critrio de integralidade. Dessa forma o nmero dessas configuraes pode ser
to grande quanto o o conjunto dos inteiros.
Denotando por D o conjunto desses pontos discretos e se D um conjunto finito ou se os dados de
formulao envolvem apenas valores racionais, ento a envoltria convexa de D (ou Conv(D)) um
poliedro bem definido conforme demonstra Padberg e Sung (1988) (ver tambm Padberg e Rinaldi
(1990)). O teorema de Weyl garante a existncia de um conjunto finito de equaes lineares ou inequaes que descrevem completamente o conjunto Conv (D). Essa descrio linear completa tambm denominada formulao ideal.
Em virtude das caractersticas de NP-completude de muitos problemas combinatrios, a formulao ideal pode ser inalcanvel em termos prticos. Por outro lado, j verificamos exaustivamente neste trabalho que os problemas de otimizao podem admitir diversas formulaes diferentes. Como a
formulao de um problema pode interferir fortemente em seu processo de soluo, o estudo das
possveis alternativas de formulao um tema relevante.
Dadas duas formulaes diferentes A e B de um certo problema, temos imediatamente definidos
dois poliedros Xa e Xb. Se Xa Xb , ento claro que a formulao A melhor que a B, uma vez que as
fronteiras de seu universo das solues so mais restritas e esto mais prxima do valor timo e limite
inferior admitido por Xb (tomado por exemplo o caso de um problema de minimizao).
Em ultima anlise, a adequao de uma formulao de um problema P, inteiro, pode ser medida
pela aproximao do poliedro gerado pela formulao e a envoltria inteira do problema. Diferentes

398

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

formulaes de P frequentemente conduzem definio de diferentes conjuntos de vrtices no poliedro. Suponhamos que duas formulaes A e C modelem o mesmo problema P mas em espaos
n-dimensionais diferentes, e que a dimenso do espao de C maior que o de A.
Notando por Zc e Xa os poliedros associados s formulaes A e C, se existir uma transformao
afim T que mapeie os pontos inteiros em Zc sobre os pontos inteiros em Xa , ento podemos calcular a
imagem T(Zc) e compar-la a Xa . Se T(Zc) Xa , ento a formulao A evidentemente melhor que C, j
que C no providencia nenhuma informao adicional sobre o convexo inteiro do problema. Se T(Zc)
Xa o poliedro T(Zc) no necessita ser obrigatoriamente uma formulao do problema representado em
T(Zc). Se as variveis de A esto contidas no conjunto das variveis de C ento teremos em A uma projeo de C que pode ser representada por um caso particular de T(Zc). Eventualmente alguma projeo
de C pode ser, inclusive, diferente de Xa .
Esses conceitos foram aplicados por Miller, Tucker e Zemlin (Padbeg e Sung [1988]), que demonstraram com o auxlio de n 1 variveis reais, que o Problema Assimtrico do Caixeiro Viajante pode ser
reduzido do uso exponencial de restries para apenas (n2 n + 1) restries lineares, onde n significa o
nmero de cidades envolvidas, o que melhor observado no item 8.2.1.
Para o desenvolvimento das formulaes do problema de roteamento e quando nada for observado em contrrio, consideraremos o seguinte:
4

O grafo se substrato no direcionado G = (N, A)

S* = N\S para S N.

9.3.2 Formulao do Problema Geral de Roteamento


Apresentar formulaes teis para o PRV no uma tarefa trivial.1 Uma das formulaes mais utilizadas como base a diversos mtodos de soluo a de Fisher e Jaikumar (1981).

(PRV) Minimizar z = cij x ijk

i ,j
k
sujeito a:

yik = 1

i = 2, ..., n

(9.13)

yik = m

i=1

(9.14)

qiyik Qk

k = 1, ..., m

(9.15)

xijk = xjik = yik

i = 1, ..., n

k = 1, ..., m

(9.16)

xijk |S| 1

"S {2, ..., n}, k = 1, ..., m

(9.17)

yik {0, 1}

i = 1, ..., n

k = 1, ..., m

(9.18)

xijk {0, 1}

i, j = 1, ..., n k = 1, ..., m

(9.19)

i , j S

1. Kulkarni e Bhave (1985) apresentaram uma formulao incorreta no European Jornal of Operational Research (ver Brodie
e Waters [1988]).

PROBLEMAS DE ROTEAMENTO

399

Onde:
xijk varivel binria que assume valor 1 quando o veculo k visita o cliente j imediatamente aps o cliente i, 0 em caso contrrio.
yik varivel binria que assume valor 1 se o cliente i visitado pelo veculo k, 0 em caso contrrio.
qi a demanda do cliente i.
Qk a capacidade do veculo k.
cij o custo de percorrer o trecho que vai do cliente i ao j.
As restries (9.13) asseguram que um veculo no visite mais de uma vez um cliente. As restries
(9.14) garantem que o depsito recebe uma visita de todos os veculos. As restries (9.15) obrigam que a
capacidade dos veculos no seja ultrapassada. As restries (9.16) garantem que os veculos no param
suas rotas em um cliente. As restries (9.17) so as tradicionais restries de eliminao de subtours.

9.3.3 Estratgias para a Soluo dos Problemas de Roteamento


Os problemas em que as variveis assumem valores inteiros ou que possuem funes objetivo com
descontinuidades no podem, geralmente, ser solucionados diretamente pelo algoritmo simplex. Esse
o caso de grande parte dos problemas ditos de roteamento. Para tais, a Pesquisa Operacional desenvolve as estratgias mostradas na Figura 9.11:

Problemas de Roteamento de Veculos

Problemas NP-rduos

Problemas Polinomiais

Algoritmos Exatos

Relaxaes

Algoritmos Exatos

Algoritmos
Aproximativos

Figura 9.11 Estratgias para soluo de PRV.

9.3.4 Abordagens Heursticas de Soluo


Devido complexidade dos problemas de roteamento o presente texto se concentra na abordagem
heurstica. As heursticas para o PRV podem ser classificadas da seguinte forma:

Heursticas Construtivas:
Para esse tipo de procedimento encontramos variaes na forma de:

Expandir as rotas (critrio da economia, expanso radial, grupamentos de proximidade etc.).


Construir as rotas (sequencial ou paralelo).
Alguns exemplos de heursticas construtivas so:

400

ELSEVIER

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

Procedimentos de Economia e Insero


Essas abordagens constroem uma soluo atravs de um conjunto de configuraes que a cada passo atualizado. Os algoritmos realizam a progresso de uma configurao para outra segundo o critrio de minimizao da funo objetivo, tambm chamado de saving ou economia. Arcos de menor custo devem substituir arcos mais caros dentro da rota que vai sendo melhorada em termos de custo. Nos procedimentos de
economia e insero no existe a obrigatoriedade de que a rota seja vivel ao longo do processo de melhoria
(Paessens, [1988]). Se alguma soluo alcanada for vivel, ento um limite superior para o problema obtido. Um trabalho clssico dentro dessa linha de atuao o de Clark e Wright (1964).

Heurstica de Clark e Wright


Considerando que o vetor sij represente o valor da economia obtida pela reorganizao de duas ligaes do tipo (i 1 i) e (j 1 j) em uma nova (i, j) como mostra a Figura 9.12.

j
1

Comprimento = 2c1i + 2c1j

Comprimento = ci1 + c1j + cji

Economia = sij = sji = ci1 + c1j cji

FIGURA 9.12 O procedimento de economia.

Algoritmo Clark e Wright (sequencial)


INCIO
Ler G = (N,A), cij . {*n 1 o depsito central do roteamento*}
Inicializar Rota: = ( x1 xs x1),
Calcular a economia sij: = c1j cij + cj1 para todo o par de
clientes xi e xj {*ns em G*}
Ordenar as economias em ordem no crescente e coloc-las
em uma lista
Enquanto existir ligaes na lista Faa
Iniciando pela maior economia da lista Faa
Incio
Determine a primeira ligao na lista que
pode ser utilizada para ser acrescida em
um dos dois extremos de Rota,
aumentando seu comprimento e a
retirando da lista;
Se Rota no pode ser expandida da
forma anterior ento escolha a primeira
ligao na lista para iniciar uma nova
rota, e a retire da lista.
Fim
FIM

PROBLEMAS DE ROTEAMENTO

401

A Figura 9.13 desenvolve um exemplo numrico do procedimento de Clark e Wright aplicado ao


grafo da Figura 9.13 (a).
medida que uma rota vai sendo construda possvel realizar os testes relativos a restries
de capacidade de veculos e, eventualmente, de janelas de tempo. Em relao ao comportamento
do algoritmo ele possui a caracterstica de aninhar os clientes nas rotas que vo se formando. Na
Figura 9.13 notamos que o n 3, aps a segunda melhoria, passou condio de interno (sem ligao direta com o vrtice depsito) no sendo mais candidato a melhoria na rota, uma vez que s so
testados para a insero os ns extremos, ou seja, aqueles que se ligam diretamente ao n central
(vrtice 1).
3

9
4

3
4

10

12
10

10
5

Lista de Economias
(2 3) = 14
(3 4) = 13

Lista de Economias
(2 3) = 14
(3 4) = 13

Lista de Economias
(2 3) = 14
(3 4) = 13

(2 4) = 12
(4 5) = 7

(2 4) = 12
(4 5) = 7

(2 4) = 12
(4 5) = 7

(2 5) = 3

(2 5) = 3

(2 5) = 3

Inicializao

1 Melhoria

2 Melhoria

FIGURA 9.13 Exemplo de Aplicao da Heurstica de Clark e Wright.

Heurstica de Mole e Jameson


O algoritmo de Mole e Jameson (1976) ataca a fragilidade dos ns internos no serem candidatos a fazer parte do teste de economia, permitindo que a insero de economia possa ser realizada entre dois
ns intermedirios. O critrio para expandir a rota pela incluso de novos vrtices no algoritmo tem
duas condies:
1. e (i, l, j) = cie + clj mcij.
2. s(i, l, j) = lc0l e(i, l, j).
De um modo geral o algoritmo procede da seguinte forma:

402

OTIMIZAO COMBINATRIA E PROGRAMAO LINEAR

ELSEVIER

Algoritmo Mole e Jameson


INCIO
Ler G = (N,A), cij . {*n 1 o depsito central do roteamento*}
Inicializar F: = N \ {x1}
Enquanto F Faa
Incio
Rota: = ( x1-xs-x1) {*vrios critrios podem ser
utilizados nesta atribuio*}
Para todos os vrtices xl F
Incio
verifique uma possvel insero na rota em
exame que atenda a: e(i1, l, j1) = min[e(i, l, j)]
e considere todos os vrtices vizinhos xr e
xs Rota onde e x lj so os vrtices entre
os quais xl ser includo, e que representam
a melhor
escolha (Procedimento MV);
Fim
Inserir o vrtice na rota cor