Apostila - Instituto de Engenharia de Produção e Gestão

Transcrição

Apostila - Instituto de Engenharia de Produção e Gestão
Pesquisa
Operacional
Professor José Arnaldo Barra Montevechi
[email protected]
Universidade Federal de Itajubá
Instituto de Engenharia de Produção e Gestão
2007
Curso de Pesquisa Operacional
2
1. PESQUISA OPERACIONAL: HISTÓRIA E
CONCEITOS
1.1 Introdução
O objetivo do curso é apresentar alguns MÉTODOS MATEMÁTICOS essenciais à Pesquisa
Operacional (PO). Este capítulo pretende dar a origem e as idéias fundamentais da PO.
Infelizmente, um curso introdutório de PO não pode responder completamente as perguntas:
a) O que deve (o aluno) aprender sobre PO se pretende ser um economista (dirigente,
gerente, administrador) mais que um especialista?
b) O que deve (o aluno) aprender sobre PO tendo em vista que deseja aplicá-la a
problemas reais?
No contexto destas duas perguntas o objetivo principal do curso é:
1) Introduzir as idéias mais importantes em PO, as quais são fundamentais e
permanentes.
2) Dar o curso em nível que o aluno possa entender e apreciar a força e as limitações
inerentes a PO.
3) Preparar e motivar futuros especialistas em PO.
4) Apresentar e aplicar alguns métodos de PO (METODOLOGIA).
1.2 Notas Históricas
Desde o advento da primeira revolução industrial o mundo tem apresentado um notável
desenvolvimento e crescimento em tamanho e complexidade de suas organizações.
Os caminhos da PO podem ser traçados a muitas décadas atrás, quando foi aplicada a
administração cientifica às organizações.
Como a tendência natural é aumentar a complexidade e a especialização das organizações,
torna-se mais e mais difícil alocar seus recursos disponíveis pelas suas várias atividades de
maneira a obter a melhor eficiência para a organização.
Entretanto, o termo PO é geralmente atribuído aos serviços militares durante a Segunda
Grande Guerra Mundial (1939). Os dirigentes militares chamaram equipes de cientistas para
estudar problemas estratégicos e táticos associados com a defesa aérea e terrestre do país. Seu
objetivo era determinar a melhor utilização efetiva dos recursos militares limitados.
Curso de Pesquisa Operacional
3
l.3 Conceitos
Conceito 1: PO é a aplicação do método científico, por equipes interdisciplinares, a
problemas que dizem respeito ao controle de sistemas organizados (homem-máquina) com a
finalidade de obter as soluções que melhor satisfazem aos objetivos da organização, como
UM TODO.
Conceito 2: A PO se esforça ao máximo para compensar a incerteza, mas não a pode
eliminar. (Pois é importante assinalar que como estão implicados fatores humanos e
máquinas, é fornecida uma estimativa da incerteza no resultado previsto e nos valores, nas
eficiências e nos custos da ação proposta).
Conceito 3: A PO firmou-se como uma atividade que pode colocar a serviço da gerência - e
realmente o faz - novas atitudes, novos conceitos e novas técnicas; ajudando-a a resolver
problemas complexos e tomar decisões importantes.
ESTRATÉGIA - significa o dispositivo básico de recursos disponíveis ao dirigente.
TÁTICA - exprime a maneira de utilizar os recursos confiados a uma atividade determinada.
TECNOLOGIA - é o termo que se aplica às coisas físicas envolvidas na transformação de
"INPUTS" em "OUTPUTS" da atividade.
ORGANIZAÇÃO - quer dizer virtualmente qualquer complexo identificável de homens e
máquinas trabalhando no sentido de um objetivo determinado, quer o complexo seja militar
ou civil, industrial ou comercial, governamental ou privado.
Conceito 4: PO é a aplicação de análises quantitativas dos problemas gerenciais. O objetivo
da análise é encontrar as melhores soluções dos problemas, isto é, escolher as boas decisões.
Conceito 5: Pesquisa Operacional é a preparação científica das decisões, visando a
modificação do binômio "Experiência - Intuição" pela "Informação - Racionalidade".
Conceito 6: A PO é o conjunto de métodos que depois de haver analisado, recorrendo as
diversas disciplinas cientificas envolvidas, as relações que unem os fatores de ordem técnica
ou psicológica que concorrem na formação de um fenômeno econômico ou humano se
propõem, com a finalidade de preparar as decisões que se devem tomar, determinar
Curso de Pesquisa Operacional
4
racionalmente as soluções mais eficientes (eficazes) ou as mais econômicas, recorrendo a
procedimentos estatísticos e/ou matemáticos cuja aplicação exige na maioria das vezes o
emprego de computadores.
Em resumo, podemos concluir da PO:
1) Pesquisa sobre operações;
2) Aplicação de método cientifico por equipes interdisciplinares;
3) Apresenta novas atitudes, novos conceitos e novas técnicas;
4) Aplicação de analises quantitativas aos problemas gerenciais;
5) Resolver problemas complexos;
6) Tomar decisões importantes (ou escolher as boas decisões);
7) Problemas que dizem respeito ao controle de sistemas organizados;
8) Compensar a incerteza.
Curso de Pesquisa Operacional
5
2. MÉTODO DA PESQUISA OPERACIONAL
2.1 Introdução
Um estudo de PO consiste em construir um modelo da situação física. Um modelo de PO é
definido como uma representação idealizada de um sistema organizacional. Este sistema pode
já ser existente ou pode ainda ser uma idéia a espera de execução.
No primeiro caso, o objetivo do modelo é analisar as operações do sistema para verificar sua
performance. No segundo, o objetivo e identificar a melhor estrutura do futuro sistema.
A complexidade de um sistema real resulta do grande número de variáveis que comandam as
operações do sistema, embora um sistema real possa envolver um número substancial de
variáveis, geralmente uma pequena fração destas variáveis domina as operações do sistema.
Então, a simplificação do sistema real em termos de um modelo condensado, identificando
apenas as variáveis dominantes e as relações entre elas, é o empregado.
Exemplo 1: A fabricação de um produto experimenta certo número de operações desde o
tempo de sua concepção pelo projetista, até chegar às mãos do consumidor. Após a aprovação
do projeto, a ordem de produção é transmitida ao Departamento de Produção (DP), a qual
requisita o material necessário do Departamento de Material (DM).
O Departamento de Material satisfaz a requisição do seu estoque ou entra em ligação com o
Departamento de Compras para comprar o material necessário para atender à requisição do
DP. Após a fabricação do produto, o Departamento de Vendas, em conjunção com o
Departamento de Marketing, assume a responsabilidade para distribuí-lo para os
consumidores.
Suponha que o objetivo é determinar o nível de PRODUÇÃO DA INDÚSTRIA. Observando
o sistema vê-se que um grande número de variáveis influi diretamente no nível de produção.
Segue alguns exemplos destas variáveis:
a) DEPARTAMENTO DE PRODUÇÃO: Avaliar máquinas - horas, homens - hora,
especificar a seqüência de operações nas máquinas, números de itens defeituosos,
razão de inspeção, etc.
b) DEPARTAMENTO DE MATERIAL: Avaliar o estoque de material, taxa média de
saída e entrada de material, limitações de armazenagem.
Curso de Pesquisa Operacional
6
c) DEPARTAMENTO DE MARKETING: Calcular as vendas, intensificar as
campanhas promocionais, capacidade de distribuição de produtos, efeito dos produtos
competitivos.
Cada uma das variáveis acima afeta (direta ou indiretamente) o nível da produção. É uma
tarefa ingrata tentar estabelecer relações explicitas entre estas variáveis e o nível de produção.
Definindo o sistema em função de suas variáveis dominantes, ele pode ser representado por
duas variáveis:
1a - Uma, representando a taxa de produção do item;
2a - Uma, representando sua razão de consumo.
Para se determinar a taxa de produção, variáveis tais como avaliação máquina - hora, homemhora, sequenciamento e avaliação do material devem ser consideradas no cálculo da taxa de
produção.
A razão de consumo é determinada em termos das variáveis associadas com o Departamento
de Marketing.
É fácil agora pensar em termos do sistema real adotado. Para a taxa de produção e consumo,
podem-se estabelecer medidas para o excesso ou falta em estoque para um dado nível de
produção.
Um modelo abstrato do sistema pode então ser construído para balancear os custos do excesso
ou falta de estoque. Por exemplo, pode-se estar interessado em determinar o nível de
produção para um máximo de itens em estoque abaixo de certo limite.
Em geral, não há regras fixas para determinar o nível de abstração citado. A validade do
modelo representando o sistema depende principalmente da criatividade, insight, e
imaginação dos analistas de PO e a equipe de trabalho no projeto.
Embora não seja possível fixar regras acerca de como um modelo é construído, pode-se
socorrer das presentes idéias sob os possíveis tipos de modelos de PO, suas estruturas e
características gerais.
Em um estudo de PO ocorrem normalmente as seguintes fases:
1. Formulação (ou definição) do problema;
2. Construção do modelo matemático;
3. Obtenção de uma solução a partir do modelo;
4. Teste do modelo e avaliação da solução obtida;
5. Estabelecimento de controle sobre a solução;
Curso de Pesquisa Operacional
7
6. Implantação da solução.
2.2 Formulação do Problema
Para se obter a solução de um problema, necessitasse antes formulá-lo de modo a tornar
possível a pesquisa.
Ao contrario dos exemplos que serão apresentados no decorrer do curso, a maioria dos
problemas práticas são trazidos a uma equipe de pesquisa operacional de uma maneira vaga e
imprecisa.
Em conseqüência, o primeiro passo consiste em estudar o sistema e estabelecer de uma
maneira bem definida o problema a ser considerado. Para isto vários elementos devem ser
determinados exatamente tais como, os objetivos a atingir, as restrições que devem ser
consideradas, o inter-relacionamento entre o setor a ser estudado e outros setores da
organização, as possíveis linhas de ação alternativas, etc.
Como todas as conclusões serão obtidas a partir desta formulação, esta fase tem importância
capital para o estudo e a formulação inicial deve ser continuamente revista à luz dos novos
dados obtidos durante as fases posteriores.
Para determinação dos objetivos apropriados é necessário identificar a pessoa (ou pessoas)
que toma as decisões relativas ao sistema em estudo, investigar seus objetivos e analisá-los a
fim de estabelecer precisamente os principais objetivos a atingir a fim de que não sejam
eliminadas metas ou alternativas de valor.
Por sua natureza a pesquisa operacional preocupa-se em resolver os problemas da organização
considerada como um todo e não somente os de alguns de seus setores.
Por isto, os objetivos formulados devem ser aqueles de toda a organização, não significando,
entretanto, que cada problema deva ser resolvido em um estudo de toda organização. Na
realidade os objetivos fixados devem ser tão específicos quanto possíveis, desde que
englobem as principais metas de tomada de decisão e mantenham um grau razoável de
consistência com os objetivos de nível mais elevado da organização. Os efeitos laterais em
outros setores da organização devem, então, ser considerados somente para verificar se estão
coerentes com estes objetivos de nível mais elevado.
Para formular um problema precisa-se, pois, examinar os seguintes aspectos:
1. Quem toma a decisão?
2. Quais os objetivos? (A partir destas informações e de outros dados estabelecemos uma
medida de desempenho, para avaliar as alternativas de ação).
Curso de Pesquisa Operacional
8
3. Quais aspectos da situação estão sujeitos ao controle de quem toma a decisão (as
variáveis controladas) e dentro de que limites essas variáveis podem ser controladas
(restrições).
4. Que outros aspectos do meio ambiente envolvam ou não seres humanos, podem afetar
os resultados das escolhas disponíveis (as variáveis não controladas)
Portanto, formular um problema para pesquisa consiste em identificar, definir e especificar as
medidas dos componentes de um modelo de decisão. A determinação da relação entre estes
componentes (a função f) é o objetivo da fase da pesquisa denominada construção do modelo.
Nesta primeira fase do estudo, portanto, requer a definição do problema. Do ponto de vista da
PO, isto indica três aspectos principais:
a) Uma exata descrição dos objetivos do estudo;
b) Uma identificação das variáveis de decisão do sistema;
c) Reconhecimento das limitações, restrições, as possíveis linhas de ação alternativas, o
inter-relacionamento entre o setor a ser estudado e outros setores da organização.
É impossível extrair respostas certas de um problema errado. Não se devem esquecer as
principais partes que afetam os negócios de uma firma:
a) O proprietário (acionistas) que deseja lucros (dividendos, ações, bonificações,
valorização do capital, etc.).
b) Os empregados, que desejam emprego estável com razoável salário.
c) Os clientes, que desejam um produto confiável a um preço módico (razoável).
d) Os vendedores, que desejam integridade e uma boa remuneração pelas boas
qualidades de vendedor.
e) O governo e, consequentemente, a nação, que deseja o pagamento de taxas justas e
considerações de interesses nacionais.
2.3 Construção do Modelo Matemático
Conforme o exemplo dado, os modelos são representações idealizadas (abstrata) dos
problemas; geralmente fazem-se aproximações e hipóteses simplificadoras para que sejam
resolvíveis. Nesta fase do estudo faz-se a construção do modelo. Um modelo deve especificar
as expressões quantitativas para o objetivo e as restrições do problema em termos de suas
variáveis de decisão. Existem vários tipos básicos de modelo. O modelo matemático é o
Curso de Pesquisa Operacional
9
modelo universal da PO. Sua 1inguagem são as equações. Na formulação destes tipos admitese que todas as variáveis relevantes são quantificáveis.
Então, os símbolos matemáticos são usados para representar as variáveis, as quais são então
representadas por funções matemáticas apropriadas para descrever as operações do sistema. A
solução do modelo é então procurada pela manipulação matemática apropriada.
Em complementação dos modelos matemáticos, modelos de simulação e heurísticos são
usados.
A estrutura básica dos modelos de PO assume a forma:
Z = f (x1, x2, x3, ......, xn; y1, y2, y3, ......, yn)
Onde:
Z = função objetivo (medida de eficiência do sistema);
x1, x2, x3, ......, xn = sistemas de variáveis que são sujeitas ao controle;
y1, y2, y3, ......, yn = sistemas de variáveis que não são sujeitas ao controle.
Os modelos simulados e heurísticos não têm nenhuma estrutura fixada, um modelo
matemático incluiu três conjuntos fundamentais de elementos, sendo eles:
a) VARIAVEIS DE DECISÃO E PARÂMETROS: As variáveis de decisão são as
incógnitas para serem determinadas da solução do modelo. Os parâmetros representam as
variáveis controladas do sistema. No exemplo, o nível de produção representa a variável
de decisão; os parâmetros, neste exemplo, são: a taxa de produção e consumo. Os
parâmetros podem ser determinísticos ou probabilísticos.
b) LIMITAÇÕES OU RESTRIÇÕES: Para considerar as limitações físicas do sistema, o
modelo deve incluir restrições que limitam os valores possíveis das variáveis de decisão.
Isto é, usualmente, expresso em forma de equações e/ou inequações matemáticas. Por
exemplo, seja x1 e x2 o número de unidades produzidas de dois produtos (variáveis de
decisão) e seja a1 e a2 a matéria prima (recursos) por unidade (parâmetros). Se o total dos
recursos disponíveis (MP) é A, a Função restritiva é dada por a1x1+a2x2 = A.
c) FUNÇÃO OBJETIVO (FO): Define a medida de efetividade do sistema como uma
função matemática de suas variáveis de decisão. Por exemplo, se o objetivo do sistema é
maximizar o lucro total, a função objetiva deve especificar o lucro em termos das
Curso de Pesquisa Operacional
10
variáveis de decisão. Em geral, a solução ótima do modelo é obtida quando os melhores
valores correspondentes das variáveis de decisão são substituídos na PO, enquanto
satisfazem as restrições. Os modelos matemáticos, em PO, podem ser especificados,
geralmente, como determinar os valores das variáveis de decisão xj, j= 1, 2,..., n a qual
otimiza Z = f (x1, x2,..., xn) sujeito a uma série de restrições. Na maioria dos sistemas
reais, as restrições de não - negatividade aparece como condição natural.
Antes da construção de um modelo matemático deve-se responder a 4 perguntas:
1) Qual é a medida de efetividade do objetivo? Isto é, como será expressa a solução do
problema (em reais economizados, unidades vendidas, itens produzidos, etc.)
2) Quais são os fatores sob controle (variáveis controladas)? Isto é, quais aspectos do
problema podem-se fazer alguma coisa?
3) Quais são os fatores não controlados (as variáveis não controladas)? Isto é, quais
aspectos do problema têm-se de aceitar como dados?
4) Quais são as relações entre estes fatores e os objetivos? Isto é, pode esta relação ser
expressa em forma de relações matemáticas que constituirão um modelo do problema?
Otimização é geralmente tomada para significar a maximização ou minimização da FO.
Analistas trabalhando no mesmo problema independentemente podem chegar a modelos
diferentes e também a funções objetivo (FO) também diferentes. Por exemplo, o analista A
pode preferir maximizar os lucros, enquanto o analista B pode preferir minimizar os custos.
Os dois critérios não são equivalentes no sentido que com as mesmas restrições os dois
modelos não devem produzir a mesma solução ótima. Isto pode ser mostrado claramente,
enquanto o custo deve estar sob o controle imediato da organização no qual o estudo é feito, o
lucro deve ser efetuado por fatores incontroláveis, tais como a situação de mercado ditada
pelos competidores.
Não se deve pensar que a solução ótima do modelo é a melhor solução do problema. Ela é a
melhor somente se o critério adotado pode ser justificado como verdadeiro para toda
organização.
Na prática, torna-se muito difícil incluir todos os objetivos (possibilidades conflitantes) num
critério simples (singular), pois isto pode resultar numa função matemática complexa para a
qual nenhuma solução técnica pode ser prontamente obtida, porque alguns objetivos são
também inatingíveis para serem quantificados.
Curso de Pesquisa Operacional
11
Por exemplo, na determinação da política do nível ótimo de estoque, o verdadeiro objetivo
deve incluir os objetivos (metas) conflitantes dos departamentos de produção, material,
vendas e finanças.
Quando o critério objetivo do modelo representa algum, mas não todos os aspectos
conflitantes, chamam de uma solução sub - ótima, e que pode não ser a melhor para a
organização como um todo.
Após o modelo matemático ser construído, pode ser necessário simplificá-lo para ser tratado
analiticamente. Algumas simplificações comuns incluem:
a) Transformar variáveis discretas em contínuas;
b) Linearizar funções não lineares;
c) Eliminar algumas das restrições.
2.4 Obtenção de uma Solução a partir do Modelo
Em modelos matemáticos, isto e, feito usando técnicas de otimização bem definidas, o
modelo é dito de solução ótima.
Se modelos de simulação ou heurísticos são usados, o conceito de solução ótima não é bem
definido e a solução neste caso é usada para obter soluções aproximadas do sistema.
Como um modelo é mais uma representação ideal do que exata, só pode-se afirmar que a
solução ótima para o modelo será provavelmente a melhor possível para o problema real,
devido aos fatores imponderáveis e as incertezas associadas ao problema.
2.5 Teste do Modelo e avaliação da Solução obtida
Uma das primeiras lições da PO, é que não é geralmente suficiente confiar somente na
intuição. Isto se aplica não somente na obtenção da solução de um problema, como também
na avaliação do modelo que foi formulado para representar este problema.
O critério indicado para julgar a validade de um modelo é verificar se ele prediz ou não os
efeitos relativos das linhas de ação alternativas com suficiente precisão de maneira a permitir
uma satisfatória decisão. Devido à dificuldade de comunicar e relacionar todos os aspectos e
sutilezas de um problema operacional complexo existe a possibilidade que a equipe de
pesquisas operacionais ou não tenha considerado todos os aspectos relevantes da situação ou
não os tenha interpretado apropriadamente.
Antes de aplicar testes mais elaborados é conveniente verificar se o modelo não apresenta
erro. Um novo exame na formulação do problema e sua comparação com o modelo podem
Curso de Pesquisa Operacional
12
revelar alguns desses erros. Outra verificação muito usada consiste em verificar se todas as
expressões matemáticas estão dimensionalmente corretas.
Finalmente, ou a equipe de PO, ou o pessoal que deverá tomar decisões podem observar
detalhes na solução obtida que surgiram particulares omissões ou erros no modelo. Outros
procedimentos mais sistemáticos podem ainda ser empregados.
2.6 Estabelecimento de controle sobre a Solução
Quando uma solução for usada repetidamente, esta solução só permanecerá válida para o
problema real enquanto o modelo respectivo permanecer válido. Entretanto, as condições
variam constantemente no caso real. Em conseqüência, se essas variações invalidarem o
modelo, é vital que isto seja verificado tão cedo quanto possível de maneira que o modelo, sua
solução e resultante linha de ação possam ser convenientemente modificados. Assim sendo,
sempre que uma solução e resultante estratégia para uma ação futura são aplicadas
repetidamente, esta solução deve ser mantida sob controle.
Este controle é feito identificando-se os parâmetros críticos, determinando-se estatisticamente
as variações relevantes nesses parâmetros e finalmente ajustando a solução e conseqüente
linha de ação sempre que uma variação é observada.
2.7 Implantação da solução
A última fase de um estudo de pesquisa operacional consiste em implantar a solução final.
Esta fase é critica porque aqui, porque aqui, os benefícios do estudo são obtidos. Em
conseqüência é importante para a equipe de PO participar do desenvolvimento desta fase, não
só para assegurar-se que a solução é corretamente transformada em um procedimento
operacional como também para corrigir qualquer imperfeição descoberta na solução.
2.8 Conclusão
Os problemas de PO têm as seguintes características:
1) Compilação de dados anteriores, relativos a operações de produção, vendas ou outros
setores da empresa;
2) Análise dos dados colhidos através de técnicas estatísticas;
3) Criação do modelo matemático destinado a previsão e decisão no tocante as mesmas
operações no futuro.
Curso de Pesquisa Operacional
13
O curso baseia-se na aplicação da PO a uma grande variedade de problemas que podem ser
representados por um pequeno número de problemas típicos.
2.9 Métodos e Modelos da PO:
Os métodos mais comuns que são usados no âmbito da PO são:
1. Teoria da decisão;
2. Modelos seqüenciais (seqüência e coordenação);
3. Modelos de alocação;
4. Modelos de designação;
5. Modelos de competição;
6. Técnicas clássicas de otimização;
7. Modelos de substituição (reposição);
8. Modelos de estoque (teoria dos estoques);
9. Modelos de filas;
10. Técnicas de simulação;
11. Modelos de programação dinâmica;
12. Modelos de rotas;
13. Métodos – heurísticos.
Curso de Pesquisa Operacional
14
3. TIPOS BÁSICOS DE MODELO DE PO
3.1 Teoria da Decisão
A característica essencial da Teoria da Decisão é que as conseqüências dos cursos de ação são
geralmente desconhecidas. Nestes exemplos (casos), probabilidades são associadas com os
vários estados do sistema. Dependendo das informações que se sabe dos estados do sistema,
não se pode referir à decisão fazendo-a sob certeza, risco, ou incerteza. A maioria dos
problemas de negócios trata com a última condição. Um caminho adicional de predizer o
futuro, embora somente um mínimo de informações sejam estimadas é através da estatística
Bayesiana.
3.2 Modelo de Sequenciamento
Modelos seqüenciais envolvem a determinação da seqüência ótima para um conjunto de
tarefas ou eventos ou a melhor seqüência para atendimento de clientes com o objetivo de
minimizar o tempo total e custos. Esta técnica é aplicada à pesquisa e desenvolvimento,
construção, planejamento de novos produtos. Por exemplo, o procedimento para uma rede de
análise de PERT. Outros problemas seqüenciais tais como programações de máquinas são
resolvidas pela aplicação de técnicas de simulação e heurísticas.
3.3 Modelos de Alocação
Quando existe um número de atividades para serem realizadas, caminhos alternativos de fazêlas, e recursos limitados ou meios para executar cada atividade na melhor linha eficaz, há um
problema de alocação destes recursos escassos. O problema é combinar as atividades e os
recursos de uma maneira ótima para que toda eficiência seja maximizada, isto é, o lucro é
máximo e os custos são mínimos. Isto é conhecido como "programação matemática".
Quando as restrições são expressas como equações lineares, é chamada "programação linear".
Se uma das restrições não é linear é denominada "programação não linear". A Teoria da
Dualidade da programação linear estabelece a relação entre duas diferentes formulações do
mesmo problema. Em adição aos programas lineares e não lineares, existem outros tipos de
programações - inteira, quadrática, convexa, estocástica, decisão, paramétrica e dinâmica.
Elas diferem na espécie dos dados e podem ser manipulados de acordo com as suposições
feitas.
Curso de Pesquisa Operacional
15
3.4 Modelos de Designação
O mais simples tipo de modelo de alocação envolve a distribuição de um numero de tarefas
para o mesmo numero de recursos (homens). Isto é chamado um problema de designação
(atribuição).
Este tipo de problema torna-se mais complexo se alguma das tarefas requer mais que um
recurso e se os recursos podem ser usados para mais de uma tarefa. Um exemplo disto é o
problema de transportes.
3.5 Modelos de Competição
A teoria dos jogos dá um conceito estrutural dentro do qual a maioria dos problemas de
competição pode ser formulada. Ela tem sido usada efetivamente pelos negócios (transações
comerciais) para desenvolver estratégias de publicidade, políticas de preços, e escolha do
momento oportuno (senso de oportunidade, timming) para introdução de novos produtos. As
teorias estatísticas da decisão e simulação têm sido empregadas com sucesso nos jogos.
O processo de Markov é um método de predizer variações competitivas no tempo de clientes
fieis a uma marca (determinado produto) e cotas atuais de mercado são conhecidas.
3.6 Técnicas de Otimização Clássicas
Às técnicas de otimização clássica ou tradicional são associadas com o procedimento de
cálculo do máximo ou mínimo. Resumidamente, quando uma característica pode ser
representada por uma equação a uma variável que pode ser representada graficamente como
uma curva continua uniforme, os valores de máximo e mínimo da curva podem ser obtidos
pelo conjunto das primeiras derivadas iguais a zero. Então, o sinal algébrico da segunda
derivada daquele conjunto de pontos é examinado para a obtenção de solução do problema.
Quando dois parâmetros estão envolvidos, por exemplo, x e y para determinar a variável z, o
máximo e mínimo podem ser encontrados pela aplicação de derivadas parciais num processo
similar ao empregado para uma variável. As áreas de cálculo necessárias são: diferenciação,
integração, derivadas parciais, e os multiplicadores de Lagrange. Estas técnicas matemáticas
as quais são aplicadas para otimização de problemas são capazes de diretamente selecionar a
melhor decisão sem a necessidade de muitos passos interativos.
Curso de Pesquisa Operacional
16
3.7 Modelos de Reposição
Problemas de reposição são geralmente de dois tipos: aqueles envolvendo itens que
degeneram num período de tempo e aqueles que falham após certo tempo de uso.
O primeiro grupo refere-se ao ativo fixo das empresas - máquinas, caminhões e equipamentos
- os quais são itens altamente custosos. Aqueles no segundo tipo são relativamente baratos –
tubos de vácuo, pneumáticos, válvulas, tubos e itens semelhantes.
A programação dinâmica é usada para obtenção das soluções do primeiro tipo. A teoria
estatística amostral e probabilidade podem ser empregadas na solução do segundo tipo.
3.8 Modelos de Estoques
Modelos de estoques são os que dizem respeito com duas decisões: quanto ordenar num
determinado tempo e quando ordenar esta quantidade para minimizar o custo total. Custo de
movimentação, custos de ordens de armazenamento (estocagens), e custo de déficits são
determinados assim como uma medida de efetividade dos custos (modelo) podendo ser
usados pelos gerentes para selecionar um balanço apropriado entre custos e déficits. À decisão
pelo critério do mínimo custo pode também ser obtida pelo cálculo, teoria de probabilidades,
programação dinâmica e simulação pelo computador.
3.9 Modelos de Filas
Filas, algumas vezes referida como teoria das linhas de espera, trata (diz respeito) com
chegadas uniformes ou aleatórias num serviço ou meios de processamento de capacidade
limitada.
O objetivo deste modelo é permitir determinar se o número ótimo de pessoas ou meios
necessários para servir clientes quando considerando o custo do serviço e o custo de espera.
Um problema de estoque pode ser visto como um problema de filas. Itens em estoque podem
ser considerados como um meio de serviço ocioso esperando por clientes. À demanda pelo
estoque é uma chegada para serviço e a saída do estoque pode ser considerada como uma fila
de clientes A teoria das filas faz uso da teoria das probabilidades e cálculo.
Curso de Pesquisa Operacional
17
3.10 Técnicas de Simulação
Simulação presta-se ao emprego dos computadores, gera fator como potencial de vendas ou
atrasos na expedição pelo exame de tabelas de números aleatórios que são essenciais aos
programas.
O computador mostra a saída de resultados que (poderiam) teriam sido obtidos se o critério de
decisão tivesse sido usado. Números aleatórios são usados para simular chegadas e tempo de
serviços.
3.11 Modelos de Programação Dinâmica
A maioria dos problemas de programação dinâmica requer o uso de um computador para
manipular a grande quantidade de dados (informações). Os modelos de programação
dinâmica são extremamente usados para processo que se estende por vários períodos de tempo
ou eventos. Ao invés de otimizar cada decisão como ela ocorre à programação dinâmica leva
em consideração os efeitos da decisão de hoje nos futuros períodos de tempo.
3.12 Modelos de Rotas
Um dos mais famosos problemas de rota é o do "Caixeiro Viajante". O objetivo é selecionar o
caminho (itinerário que parte de sua própria cidade, passa através de cidades apenas uma vez,
e retorna para sua cidade, pela menor distância em termos de tempo ou dinheiro. O modelo de
rotas tem sido aplicado à produção onde o número de produtos ou itens produzidos
(fabricados) é análogo ao de cidades. Trocam-se os custos de produção correspondentes aos
custos de viagens entre cidades).
3.13 Métodos heurísticos
Métodos heurísticos indicam aprendizado ou avaliação de sistemas. Os métodos heurísticos
usam regras de manusear e avaliar, instruídos para explorar o caminho mais provável para se
chegar a uma conclusão. Isto recoloca em check todas as alternativas (também para muitas
quantidades aproximadas) para encontrar a melhor solução.
Curso de Pesquisa Operacional
18
4. INTRODUÇÃO A PROGRAMAÇÃO LINEAR
4.1 Generalidades
Sem dúvida nenhuma a Programação Linear é uma das técnicas da Pesquisa Operacional das
mais utilizadas em se tratando de problemas de otimização.
Os problemas de Programação Linear (PL) buscam a distribuição eficiente de recursos
limitados para atender um determinado objetivo, em geral, maximizar lucros ou minimizar
custos. Em se tratando de PL, esse objetivo é expresso através de uma função linear,
denominada de "Função Objetivo".
É necessário também que se definam quais as atividades que consomem recursos e em que
proporções os mesmos são consumidos. Essas informações são apresentadas em forma de
equações as inequações lineares, uma para cada recurso. Ao conjunto dessas equações e/ou
inequações, denomina-se "Restrições do Modelo".
Normalmente se tem inúmeras maneiras de distribuir os recursos escassos entre as diversas
atividades em estudo, bastando para com isso que essas distribuições estejam coerentes com
as restrições do modelo. No entanto, o que se busca, num problema PL é a função objetivo,
isto é, a maximização do lucro ou a minimização dos custos. A essa solução dá-se o nome de
solução ótima.
Assim, a Programação linear se incube de achar a solução ótima de um problema, uma vez
definida o modelo linear, ou seja, a função objetivo e as restrições lineares.
4.2 Problemas de programação linear
Como foi dito anteriormente, está-se diante de um problema de PL quando os problemas
práticos que se pretende resolver podem ser escrito de forma de maximização (ou
minimização) de uma função objetivo linear, sujeita a um conjunto de restrições que podem
ser expressos sob a forma de inequações ou equações lineares.
Exemplos de problemas que podem ser resolvidos por
programação linear:
a) Um fabricante está iniciando a última semana de produção de quatro diferentes modelos de
consoles em madeira para aparelhos de televisão, designados respectivamente, I, II, III e IV.
Cada um deles deve ser montado e em seguida decorado. Os modelos necessitam
respectivamente de 4, 5, 3 e 5 horas para montagem e de 2, 1, 5 e 3 horas para decoração. Os
lucros sobre as vendas dos modelos são respectivamente 7, 7, 6 e 9 reais. O fabricante dispõe
Curso de Pesquisa Operacional
19
de 30.000 horas para a montagem destes produtos (750 montadores trabalhando 40 horas por
semana) e de 20.000 horas para decoração (500 decoradores trabalhando 40 horas por
semana). Quanto de cada um dos modelos deve ser produzido durante esta última semana a
fim de maximizar o lucro? Admita que todas as unidades possam ser vendidas.
b) Seja o caso de um investidor que, dispondo de $6000 esteja contemplando a possibilidade
de compra de dois seguintes tipos de ações:
Tipo 1 - preço unitário de compra de $ 5,00 e rentabilidade anual esperada de 30%.
Tipo 2 - preço unitário de compra de $ 3,00 e rentabilidade anual estimada em 35%.
Supondo que o investidor não deseje adquirir mais do que 1750 ações, e que seu corretor só
possa conseguir 1000 ações do tipo 1 e 1500 ações do tipo 2, que quantidades deve comprar
de cada tipo de ação, na hipótese de que seja seu objetivo maximizar o total de capital no fim
de um ano?
c) Uma empresa esta analisando um conjunto de alternativas de projetos de investimentos
disponíveis e apresentados na tabela seguir.
Projeto
1
2
3
4
5
6
7
8
9
Investimento no Investimento no
ano 1
ano 2
12
54
6
6
30
6
48
36
18
3
7
6
2
35
6
4
3
2
Vida útil
5 anos
5 anos
5 anos
5 anos
5 anos
5 anos
5 anos
5 anos
5 anos
Economia anual
nos próximos 3
anos
9.29
26.85
9.88
7.92
35.33
8.14
22.78
16.91
11.04
O orçamento para investimento é de 50 para o primeiro ano e 20 para o segundo. Sabendo-se
que a TMA da empresa é de 10% a.a., qual a combinação ótima desses projetos.
4.3 Obtendo a função objetivo e as restrições
Antes de discutir as técnicas possíveis para obtenção de resultados, através de um problema
será discutido como obter a função objetivo e as restrições.
Curso de Pesquisa Operacional
20
4.3.1 Exemplo para discutir a obtenção da função objetivo e
as restrições:
Giapetto fabrica dois tipos de brinquedos de madeira: soldados e trens. Um soldado é vendido
por $27 e usa $10 de matéria prima. Cada soldado que é fabricado tem um custo adicional de
$14 relativo à mão de obra. Um trem é vendido por $21 e gasta $9 de matéria prima. O custo
de mão de obra adicional para cada trem é de $10. A fabricação destes brinquedos requer dois
tipos de mão de obra: carpintaria e acabamento. Um soldado necessita de 2 horas para
acabamento e 1 de carpintaria. Um trem necessita de 1 hora para acabamento e 1 hora de
carpintaria. Cada semana, Giapetto pode obter qualquer quantidade de matéria prima, mas tem
a disposição até 100 horas de acabamento e 80 de carpintaria. A demanda por trens é
ilimitada, mas a venda de soldados é de no máximo 40 por semana. Giapetto quer maximizar
seu lucro diário (receitas-custo). Formular o modelo matemático que poderá ser usado por
Giapetto para maximizar seu lucro semanal.
Solução:
Definindo o objetivo
9 Sabendo que a matéria prima
necessária é obtida sem problemas,
Giapetto tem como objetivo maximizar
o lucro semanal (receitas - custos).
9 Vamos então formular
matematicamente a situação de
Giapetto com o objetivo de maximizar
o lucro semanal.
Curso de Pesquisa Operacional
Primeiro ponto
importante: Variáveis de
decisão
9 Em qualquer modelo de PL, as variáveis
de decisão devem descrever
completamente as decisões a serem
feitas.
9 Caso de Giapetto: quantos soldados e
trens devem ser feitos na semana?
Variáveis de decisão
9 X1 = número de soldados produzidos
cada semana;
9 X2 = número de trens produzidos a cada
semana.
Segundo ponto
importante:
Função objetivo
9 Em qualquer modelo de PL, o decisor
quer maximizar ou minimizar alguma
função das variáveis de decisão.
9 Caso de Giapetto: custos fixos (aluguel,
seguro) não depende dos valores de X1
e X2, assim ele pode se concentrar em
maximizar a venda da semana.
21
Curso de Pesquisa Operacional
Função objetivo
9 Receitas e custos: podem ser expressos em termos
das variáveis X1 e X2.
9 Seria tolice Giapetto produzir mais soldados que ele
possa vender, assim assumimos que todos
brinquedos produzidos podem ser vendidos.
9 Receita da semana = receita dos soldados + receita
dos trens
Receita da semana = $/soldado * soldado/semana + $/trem * trem/semana
Receita por semana = 27*X1 + 21*X2
Também podemos escrever:
9 Custos de M.P. = 10*X1 + 9*X2
9 Custos de M.O. = 14*X1 + 10*X2
Então Giapetto quer
maximizar:
(27X1 + 21X2) - (10X1 + 9X2) - (14X1 + 10 X2) = 3X1 + 2X2
Assim o objetivo de Giapetto é escolher X1 e X2 para
maximizar 3X1 + 2X2
Função objetivo
maximizar Z = 3X1 + 2X2
ou
max Z = 3X1 + 2X2
Variável
usualmente
utilizada
22
Curso de Pesquisa Operacional
Terceiro ponto importante:
restrições
Se X1 e X2 aumentam, a função objetivo de
Giapetto será sempre maior. Mas infelizmente
X1 e X2 são limitados pelas seguintes
restrições:
9 cada semana, não mais que 100 horas de
acabamento;
9 cada semana, não mais de 80 horas de
carpintaria;
9 limitação de demanda, não mais de 40 soldados
por semana.
Restrições
9 M.P. ilimitada, portanto não há
restrições.
9 Como, próximo passo, é necessário
expressar as restrições 1, 2 e 3, em
termo das variáveis de decisão: X1 e X2.
Restrição 1
não mais de 100 h de acabamento
Total de h de acab./semana = horas de aca./sold. * sold. feitos/semana +
horas de acab./trem * trens feitos/semana
Total de horas de acab./semana = 2*X1 + 1*X2
Restrição 1: 2X1 + X2 ≤ 100
23
Curso de Pesquisa Operacional
Restrição 2
não mais de 80 h de carpintaria
Total de h de carp./semana = horas de carp./sold. * sold. feitos/semana +
horas de carp./trem * trens feitos/semana
Total de horas de carp./semana = 1*X1 + 1*X2
Restrição 2: X1 + X2 ≤ 80
Restrição 3
venda máxima de soldados: 40
Restrição 3: X1 ≤ 40
Conjunto das restrições:
1. 2X1 + X2 ≤ 100
2. X1 + X2 ≤ 80
3. X1 ≤ 40
Coeficientes
tecnológicos:
refletem a quantia
usada para
diferentes produtos.
Restrições para o
problema de PL
de Giapetto
Usualmente
representam a
quantidade de
recursos
disponíveis.
24
Curso de Pesquisa Operacional
25
Quarto ponto importante:
Restrições adicionais
Para completar a formulação do problema:
• X1 ≥ 0
• X2 ≥ 0
Significa que
X1 e X2
precisam satisfazer
todas as restrições
Resumindo
max Z = 3X1 + 2X2
sujeito a:
2X1 + X2 ≤ 100
P.L. - todos os
termos X são de
expoente 1 e as
restrições são
inequações
lineares
X1 + X2 ≤ 80
X1 ≤ 40
X1 ≥ 0
X2 ≥ 0
O problema de Giapetto
é típico de muitos outros,
onde precisa-se
maximizar lucros
sujeitos a recursos
limitados
4.3.2 Exercícios - Obter a formulação matemática para alguns
casos
1) Uma determinada empresa automobilística fabrica carros de luxos e caminhonetes. A
empresa acredita que os mais prováveis clientes são homens e mulheres com altos
rendimentos. Para abordar estes grupos, a empresa decidiu por uma campanha de propagandas
na TV, e comprou 1 minuto do tempo de comercial de 2 tipos de programa: comédia e
transmissão de futebol. Cada comercial durante o programa de comédias é visto por 7 milhões
de mulheres e 2 milhões de homens com grande poder aquisitivo. Cada comercial durante a
transmissão de futebol é visto por 2 milhões de mulheres e 12 milhões de homens com grande
Curso de Pesquisa Operacional
26
poder aquisitivo. Um minuto de comercial durante o programa de comédias custa $50000, e
durante a transmissão de futebol $100000. A empresa gostaria que pelo menos 28 milhões de
mulheres e 24 milhões de homens de grande poder aquisitivo assistissem sua propaganda.
Obter a programação matemática que irá permitir a empresa atender as suas necessidades de
propaganda a um mínimo custo.
2) Uma empresa fabrica carros e caminhonetes. Cada veículo precisa ser trabalhado nas
seções de pintura e montagem. Se a seção de pintura trabalhar só com caminhonetes, 40 por
dia podem ser pintados. Se estiver trabalhando somente com carros, 60 por dia é sua
capacidade. Se a seção de montagem estiver trabalhando somente com caminhonetes, 50
podem ser montados por dia. O mesmo número é possível para carros se este for o único
produto na linha. Cada caminhonete contribui $300 para o lucro, e cada carro $200. Obter a
formulação matemática que determinará a programação de produção que maximizará o lucro
da empresa.
3) Supondo que a empresa do exemplo anterior, por necessidades dos vendedores, tem de
produzir pelo menos 30 caminhonetes e 20 carros diariamente, qual será a nova formulação
do problema?
4.4 Solução de um problema de PL – Método gráfico
Um problema de P.L. só pode ser resolvido graficamente desde que o modelo, em estudo,
apresentar duas variáveis.
Implicações implícitas da FO
em PL
max Z = 3X1 + 2X2
9 A contribuição para a função objetivo
de cada variável de decisão é
proporcional ao valor da variável de
decisão;
9 A contribuição para a função objetivo
para cada variável é independente dos
valores de outras variáveis de decisão.
Curso de Pesquisa Operacional
Definição
9 Região de solução para um problema de
PL: é o conjunto de todos os pontos que
satisfazem todas as restrições do
problema.
Região de solução
Giapetto: X1 = 40 X2 = 20
Restrições:
2X1 + X2 ≤ 100
X1 + X2 ≤ 80
X1 ≤ 40
X1 ≥ 0
X2 ≥ 0
região de solução
ok 2*40+20 ≤ 100
ok 40+20 ≤ 80
ok 40 ≤ 40
ok 40 ≥ 0
ok 20 ≥ 0
Região de solução
Giapetto: X1 = 15 X2 = 70
Restrições:
2X1 + X2 ≤ 100
X1 + X2 ≤ 80
X1 ≤ 40
X1 ≥ 0
X2 ≥ 0
não é região de solução
ok 2*15+70 ≤ 100
não 15+70 > 80
ok 15 ≤ 40
ok 15 ≥ 0
ok 70 ≥ 0
27
Curso de Pesquisa Operacional
Região de solução
região de solução
Pontos que atendem e onde será procurada
a solução ótima
Solução ótima
Ponto da região de solução, que leva ao maior
valor da função objetivo.
Solução ótima
9 A maioria dos problemas de PL, tem
somente uma solução ótima;
9 Alguns não tem solução ótima;
9 Alguns tem infinitas soluções.
Para o problema de Giapetto, solução ótima:
X1=20 e X2 = 60
Z = 3*20 +2*60 = 180
Solução gráfica para o
problema de 2 variáveis de
decisão
9Um PL com 2 variáveis pode ser
resolvido graficamente.
9Nós sempre nomeamos as variáveis
X1 e X2 e os eixos coordenados por
X1 e X2.
28
Curso de Pesquisa Operacional
Como plotar uma inequação
2X1+3X2 ≤ 6 (1)
3X2 ≤ 6 - 2X1
X2 ≤ 1/3*(6 - 2X1) = 2 - 2/3X1 (2)
O conjunto de pontos que
satisfaz (1) e (2) cai sobre a
retaX2ou abaixo dela
X2 = 2 - 2/3X1
6
5
4
Região onde:
3
2X1+3X2 ≥ 6
2
1
Região onde:
2X1+3X2 ≤ 6
X1
1
2
3
4
5
6
Encontrando a região de solução
do problema de Giapetto:
2X1 + X2 ≤ 100
X1 + X2 ≤ 80
X1 ≤ 40
X1 ≥ 0
X2 ≥ 0
Para um
ponto (X1, X2)
pertencer a região de
solução é preciso
satisfazer todas
estas inequações.
X1 e X2 ≥ 0, indicam o primeiro quadrante
29
Curso de Pesquisa Operacional
X2
(2)
(4)
120
D
Polígono DGFEH - região de solução
B
100
80
G
60
Região convexa simplex
40
(3)
F
20
A
E
H
20
40
X1
C
60
80
100 120
Encontrando a solução
ótima
9 Após a identificação da região de solução,
nós devemos procurar a solução ótima, que
será o ponto da região que leva ao maior
valor de:
Z = 3X1+2X2
Encontrando a solução
ótima
9 Para encontrar a solução ótima, nós
precisamos desenhar uma linha sobre a
qual todos os pontos levem ao mesmo valor
de Z.
9 Escolhe-se qualquer ponto da região de
solução:
(20, 0): Z = 3X1+2X2 = 60
Assim (20, 0) cai sobre a reta:
Z = 3X1 + 2X2 = 60
X2 = 30 - 3/2X1
30
Curso de Pesquisa Operacional
Encontrando a solução
ótima
9 3X1 + 2X2 = 60
9 tem coeficiente angular = -3/2
9 Assim todas as retas 3X1+2X2 = constante
terão o mesmo coeficiente angular.
Importante: uma vez desenhada a reta,
podemos encontrar
todas as outras pelo movimento paralelo da reta
que desenhamos.
X2
(2)
(4)
120
D
Retas iso-lucro
B
100
80
G
Indica o ponto ótimo - G (20, 60)
60
40
F
20
A
E
H
20
(3)
40
X1
C
60
80
100 120
X2 = 30 - 3/2 X1
Lucro de Giapetto
9Z = 3*20 + 2*60 = 180
31
Curso de Pesquisa Operacional
32
4.4.1 Exemplos
Resolver graficamente os exercícios 1, 2 e 3, formulados anteriormente no item 4.3, e as
seguintes formulações:
1) Max Z = 5X1 + 2X2
Sujeito a:
X1 ≤ 3
X2 ≤ 4
X1 + 2X2 ≤ 9
X1 ≥ 0
X2 ≥ 0
2) Max Z = 2X1 -1X2
Sujeito a:
X1 – X2 ≤ 1
2X1 + X2 ≥ 6
X1 ≥ 0
X2 ≥ 0
4.4.2 Casos possíveis
Pela discussão apresentada neste item, foi visto que um problema de PL com duas variáveis,
necessariamente cairão em um dos 4 casos possíveis, sendo eles:
1) Caso 1: a formulação tem solução única;
2) Caso 2: a formulação tem múltiplas soluções;
3) Caso 3: a formulação não tem solução;
4) Caso 4: a formulação não tem fronteira, a região de solução permite arbitrários valores
para Z (grandes valores de Z, para problemas de max, e pequenos valores de Z, para
problemas de min).
E qualquer outra formulação, com maior número de variáveis, também sempre se enquadrará
em um destes casos.
Curso de Pesquisa Operacional
33
4.5 Problemas interessantes que podem ser
formulados para serem resolvidos por programação
linear
O que será visto a seguir é a formulação de vários problemas complicados da Programação
Linear. O passo mais importante na formulação de um modelo é a escolha apropriada das
variáveis de decisão. Se as variáveis de decisão forem selecionadas adequadamente, a função
objetivo e as restrições devem ser obtidas sem muita dificuldade. Problemas na determinação
da função objetivo e restrições normalmente são devido a uma escolha incorreta das variáveis
de decisão.
4.5.1 Exemplo 1: Problema de programação do trabalho
Muitas aplicações de programação linear envolvem determinar o mínimo custo e satisfazer as
necessidades de número de trabalhadores necessários. O exemplo a seguir ilustra as
características comuns para muitas destas aplicações.
Uma empresa de entregas necessita de diferentes números de funcionários durante os
diferentes dias da semana. O número de funcionários necessários é mostrado na tabela a
seguir.
Dia 1 = Segunda-feira
Dia 2 = Terça-feira
Dia 3 = Quarta-feira
Dia 4 = Quinta-feira
Dia 5 = Sexta-feira
Dia 6 = Sábado
Dia 7 = Domingo
Número de funcionários necessários
17
13
15
19
14
16
11
As leis do sindicado asseguram que os funcionários devem trabalhar 5 dias consecutivos e 2
de folga. Por exemplo, um funcionário que trabalhou de Segunda a Sexta folga Sábado e
Domingo. O escritório quer funcionar apenas com funcionários de tempo integral. Formular o
problema de tal modo que a empresa possa minimizar o número de empregados de tempo
integral que precisam ser contratados.
4.5.2 Exemplo 2: Problema de orçamento de capital
Uma empresa de petróleo esta considerando 5 diferentes oportunidades de investimento. O
fluxo de caixa e valor presente (em milhões de reais) é dado na tabela a seguir.
Curso de Pesquisa Operacional
Desembolso
Inv. 1
Inv. 2
Inv. 3
Inv. 4
Inv. 5
11
53
5
5
29
3
6
5
1
34
13
16
16
14
39
34
instante 0
Desembolso
instante 1
Valor
presente
A empresa tem no momento $ 40 milhões para investir; e estima-se que no primeiro ano
estarão disponíveis $ 20 milhões para investimento. A empresa pode comprar qualquer fração
de cada investimento. Neste caso, o fluxo de caixa e valor presente é ajustado de acordo com
a proporção do investimento realizado. Por exemplo, se a empresa comprar 1/5 do
investimento 3, então o pagamento necessário será de 1/5 ($5) = $1 nos tempos 0 e 1. O valor
presente do investimento 3 será de 1/5 (16) = $3.2 milhões. A empresa quer maximizar o
valor presente liquido que pode ser obtido pelos investimentos realizados entre as opções 1 a
5. Formular o problema para atingir este objetivo. Assumir que qualquer fundo não usado no
instante 0 não poderá ser usado no primeiro ano (instante 1).
4.5.3 Exemplo 3: planejamento financeiro de curto prazo
Uma empresa eletrônica que fabrica gravador e rádio têm seus custos de mão de obra, matéria
prima e preço de venda de cada produto discriminado na tabela a seguir.
Gravador
Rádio
Preço de venda
100
90
Mão de obra
50
35
Custo matéria prima
30
40
Em primeiro de dezembro de 06, a empresa terá matéria prima que é suficiente para fabricar
100 gravadores e 100 rádios. Na mesma data, o balancete previsto da empresa é o mostrado a
seguir, e a razão entre ativo circulante e as suas obrigações (dívida com banco) será 2
(20000/10000).
Curso de Pesquisa Operacional
Ativo circulante
Caixa
10000
Contas a receber
Estoques
Dívidas em bancos
3000
7000
35
Obrigações
10000
A empresa precisa determinar quantos gravadores e rádios deverão produzidos em Dezembro.
A demanda é alta o suficiente para garantir que todos os produtos fabricados serão vendidos.
Todas as vendas são feitas a crédito, pagamentos por produtos fabricados em Dezembro não
serão recebidos até primeiro de Fevereiro de 07. Durante Dezembro, a empresa irá receber
$2000 e precisará pagar $1000 devido ao empréstimo bancário e $1000 referente ao seu
aluguel. Em primeiro de janeiro de 07, a empresa receberá um carregamento de matéria prima
no valor de $2000, que será pago em Fevereiro de 07. A gerência decidiu que em primeiro de
janeiro de 07 precisa ter pelo menos $4000 em caixa. Também o banco exige que a razão
entre dinheiro disponível e financiamento seja de pelo menos 2. Para maximizar o lucro da
produção em Dezembro, o que deveria empresa produzir durante este mês?
4.5.4 Exemplo 4: problema de Blending (mistura)
Uma refinaria produz 3 tipos de gasolina (gasolina 1, gasolina 2 e gasolina 3). Cada tipo é
produzido pela mistura de 3 tipos de petróleo (petróleo 1, petróleo 2 e petróleo 3). Os preços
de venda por barril da gasolina e da compra de petróleo são:
Gasolina 1
Gasolina 2
Gasolina 3
Preço de venda por barril
70
60
50
Petróleo 1
Petróleo 2
Petróleo 3
Preço de compra por barril
45
35
25
A refinaria pode comprar até 5000 barris de cada tipo de petróleo por dia. Os 3 tipos de
gasolina se diferem na octanagem e no enxofre presente. O petróleo misturado para fabricar a
gasolina 1 precisa ter uma octanagem média de pelo menos 10 e conter quando muito 1% de
enxofre. O petróleo misturado para fabricar a gasolina 2 precisa ter uma octanagem média de
pelo menos 8 e conter quando muito 2% de enxofre. O petróleo misturado para fabricar a
gasolina 3 precisa ter uma octanagem média de pelo menos 6 e conter quando muito 1% de
enxofre. A taxa de octanagem e de enxofre que contém os 3 tipos de petróleo são as seguintes:
Petróleo 1
Petróleo 2
Petróleo 3
Octanagem
Enxofre
12
6
8
0.5%
2%
3%
Curso de Pesquisa Operacional
36
Custa $4 para transformar 1 barril de petróleo em 1 barril de gasolina, e a refinaria pode
produzir até 14000 barris por dia. Os clientes da refinaria necessitam das seguintes quantias
de cada tipo de gasolina: gasolina 1 – 3000 barris por dia; gasolina 2 – 2000 barris por dia;
gasolina 3 – 1000 barris por dia. A empresa considera sua obrigação atender a estas
demandas. A empresa também tem a opção de propagandas para estimular a demanda por
seus produtos. Cada 1$ gasto diariamente em propaganda de um tipo particular de gasolina
incrementa a demanda diária desta gasolina em 10 barris. Por exemplo, se a refinaria decide
gastar $20 diariamente para divulgar a gasolina 2, o aumento da demanda diária desta
gasolina será de 200 barris. Formular o problema para que a refinaria maximize seu lucro
diário.
Usando Programação Linear para resolver problemas de
decisão multi períodos
Até aqui, todas as formulações discutidas são exemplos estáticos, ou modelos de 1 período.
Nos modelos estáticos, se assume que todas as decisões são feitas em um simples instante do
tempo. Nos exemplos a seguir será mostrado como a Programação Linear pode ser usada para
determinar decisões ótimas em multi períodos, ou modelos dinâmicos. Modelos dinâmicos
aparecem quando o decisor toma decisões em mais de um ponto do tempo. Em um modelo
dinâmico, decisões tomadas durante o período de tempo corrente influem em decisões de
períodos futuros. Por exemplo, considere uma empresa que precisa determinar quantas
unidades de um produto devem ser fabricadas cada mês. Se ele produzir uma quantidade
grande no mês corrente, poderia reduzir o número de unidades a produzir nos meses futuros.
Os 3 próximos exemplos ilustram como decisões iniciais afetam decisões posteriores.
4.5.5 Exemplo 5: Um modelo de estoques
Uma empresa de barcos precisa determinar quantos veleiros devem ser produzidos durante
cada um dos 4 próximos trimestres. A demanda de cada um dos trimestres é: primeiro
trimestre, 40 veleiros; segundo trimestre, 60 veleiros; terceiro trimestre, 75 veleiros; quarto
trimestre, 25 veleiros. A empresa quer atender a demanda prontamente. No início do primeiro
trimestre, a empresa tem 10 veleiros em estoque. No início de cada trimestre, a empresa
precisa decidir quantos veleiros devem ser produzidos durante o trimestre. Por simplicidade,
assume-se que os veleiros fabricados durante um trimestre podem ser usados para atender a
demanda deste trimestre. Durante cada trimestre, a empresa pode produzir até 40 veleiros com
Curso de Pesquisa Operacional
37
sua mão de obra regular a um custo de $ 400 por veleiro. Tendo de trabalhar com horas extras
durante o trimestre, a empresa pode produzir veleiros a mais a um custo total de $ 450 por
barco.
No final de cada trimestre (após ter ocorrido a produção e a demanda do trimestre ter sido
atendida), um custo de transporte ou armazenagem de $ 20 por barco ocorre. Usar a
programação linear para determinar a seqüência de produção para minimizar a soma dos
custos de produção e estoques durante os 4 próximos trimestres.
4.5.6 Exemplo 6: Modelos de financiamento multi período
O exemplo a seguir ilustra como a programação linear pode ser usada para problemas de
gerenciamento de fluxo de caixa. A chave é determinar as relações de dinheiro nas mãos
durante diferentes períodos.
Uma empresa de investimentos precisa determinar a estratégia de investimento para os
próximos 3 anos. Atualmente a empresa tem $100.000 disponível para investir. Os
investimentos A, B, C, D e E estão disponíveis. O fluxo de caixa associado com investir $1
em cada opção é dado na tabela a seguir.
A
B
C
D
E
0
-$1
$0
-$1
-$1
$0
1
$0.50
-$1
$1.2
$0
$0
2
$1
$0.50
$0
$0
-$1
3
$0
$1
$0
$1.9
$1.5
Por exemplo, 1$ investido na opção B requer um pagamento de $1 no ano 1 e retorna $0.50
no ano 2 e $1 no ano 3. Para assegurar que o portfólio da empresa seja diversificado, a
política da empresa é a de aplicar até $ 75.000 em um único investimento. Adicionalmente
aos investimentos A-E, a empresa pode obter taxas de 8% ao ano mantendo o dinheiro não
investido em fundos do mercado. Ganhos dos investimentos podem ser imediatamente
reinvestidos. Por exemplo, o dinheiro recebido no ano 1 do investimento C pode ser
imediatamente reinvestido na opção B. A empresa tem como diretriz não emprestar dinheiro
de fundos, assim o dinheiro disponível para investimento a qualquer tempo é limitado ao
disponível. Formular a programação linear que maximiza o dinheiro em mãos no ano 3.
Curso de Pesquisa Operacional
38
4.5.7 Exemplo 7: Programação de trabalho multi período
Em exemplo anterior foi visto que a programação linear poderia ser usada para programar
funcionários em um ambiente estático onde a demanda não se altera. O exemplo a seguir,
mostra como a programação linear pode ser usada para programar treinamento para
funcionários quando a empresa se depara com uma demanda que se altera.
CLS é uma cadeia de lojas de serviços voltados para computadores. O número de horas de
trabalho especializado que a CLS necessitará nos próximos 5 meses será:
•
Mês 1 (janeiro): 6000 horas;
•
Mês 2 (fevereiro): 7000 horas;
•
Mês 3 (março): 8000 horas;
•
Mês 4 (abril): 9500 horas;
•
Mês 5 (maio): 11000 horas.
No início de Janeiro, 50 técnicos farão parte do quadro de funcionários da CLS. Cada técnico
pode trabalhar até 160 horas por mês. Para atender futuras demandas, novos técnicos precisam
ser treinados. É necessário um mês para se treinar um novo técnico. Durante o mês de
treinamento, o novo funcionário precisa ser supervisionado por um técnico experiente por 50
horas. Cada técnico com experiência recebe $ 2000 por mês (mesmo se ele não trabalhar às
160 horas). Durante o mês de treinamento, o novo funcionário recebe $ 1000 por mês. No
final de cada mês, 5% dos técnicos experientes saem para se juntar a outra empresa de
computadores. Formular o problema de tal modo que sua solução permitirá a CLS minimizar
os custos relativos a pagamento de salários atendendo a programação prevista para os
próximos 5 meses.
Problemas extras (Usando Programação Linear)
4.5.8 Exemplo 8: Problema da fabricação de sorvete
Considerando o caso de um fabricante de sorvetes que deve produzir 100 kg de sorvete. A
receita considerada como a que resulta em um bom produto, é a seguinte:
Curso de Pesquisa Operacional
Exigência
Sigla
Mínimo (%)
Máximo (%)
Gordura
Sólidos de leite (não-gordurosos)
Total de sólidos do leite
Açúcar
Total de sólidos
Água
Estabilizador
Emulsificador
Gord.
SLNG
TSL
10
10,5
20,5
11
37,5
58,5
0,37
0,10
16
13
25
17
41,5
62,5
0,37
0,10
TS
39
A disposição do fabricante, para aquisição encontra-se facilmente as seguintes matérias
primas:
Nome
1
2
3
4
5
6
7
8
9
10
11
12
13
%
Gord
Creme 40%
40
Creme 38%
38
Leite 3,2%
3,2
Leite 4,0%
4,0
Leite condensado gordo
8
Leite condensado
magro
Manteiga
5
Sólidos secos Whey
Sacarose
Garapa
Estabilizador
Emulsificador
Água
%
SLNG
5,4
5,6
8,7
8,6
20
28
%
TSL
45,4
43,6
11,9
12,6
28
28
92
95
97
95
%
Açúcar
100
67
%
TS
45,4
43,6
11,9
12,6
28
28
%
Água
54,6
56,4
88,1
87,4
72
72
Custo
97
95
100
67
80
3
5
15
10
10
9
55
78
0
33
20
100
Obter a formulação que permita ao fabricante obter um bom produto ao mínimo custo.
27
26
3
3
7
3
Curso de Pesquisa Operacional
40
4.6 Solução de problema de PL – Método SIMPLEX
Nas formulações anteriores, problemas com mais de duas variáveis não poderiam ser
solucionados com o método gráfico. Desta forma é necessário o estudo de outro procedimento
para a busca de soluções.
Agora, será apresentado mais um procedimento geral para resolução de problemas de
programação linear, denominado "Método Simplex" e que foi desenvolvido em1947 por
George B. Dantzig.
O método simplex é um método interativo (algoritmo) utilizado para achar, algebricamente, a
solução ótima de um problema de P.L.
4.6.1 Teoremas Básicos
Teorema 1 - O conjunto de todas as soluções compatíveis do modelo de programação linear é
um conjunto convexo cujos vértices (pontos extremos) correspondem a soluções básicas
viáveis.
Teorema 2 - Se a função objetiva possui um máximo (mínimo) finito, então pelo menos uma
solução ótima é um ponto extremo do conjunto convexo do teorema 1.
4.6.2 Procedimentos do Método Simplex
Supondo o seguinte problema para maximização:
Max z = 5X1 + 2X2
Sujeito a:
X1 ≤ 3
X2 ≤ 4
X1 + 2X2 ≤ 9
X1, X2 ≥ 0
A solução gráfica do problema é a seguinte:
Curso de Pesquisa Operacional
X2
E (0, 4)
41
Z
ZC = 24
D (1, 4)
ZB = 15
ZD = 13
C (3, 3)
ZE = 8
Pontos extremos
X1
A (0, 0)
B (3, 0)
A
B
C
D
E
Sabe-se que a solução ótima do modelo é uma solução compatível básica do sistema, ou seja,
um ponto extremo do polígono ABCDE.
O método simplex, para ser iniciado, necessita conhecer uma solução compatível básica
(solução inicial) do sistema, isto é, um dos pontos A, B, C, D ou E do trapézio. Suponha-se
que essa solução seja o ponto A.
O método simplex verifica se a presente solução é ótima. Se for o processo está encerrado. Se
não for ótima, é porque um dos pontos adjacentes fornece um valor maior que o ponto A.
Neste caso, o método simplex faz então à mudança do ponto A para o ponto extremo
adjacente que mais aumente o valor da função objetivo. No caso o ponto B.
Agora, tudo que foi feito para o ponto extremo A é feito para o ponto extremo B. O processo
finaliza quando se obtém um ponto extremo onde todos os pontos extremos a ele adjacentes,
fornecem valores menores que a função objetivo.
Como fazer, algebricamente, a mudança de um ponto extremo para outro, a ele adjacente?
Achar, portanto, a próxima solução básica (ponto extremo adjacente) exige a escolha de uma
variável básica para deixar a base atual, tornando-se não básica, e a escolha de uma variável
não básica para entrar na base em sua substituição.
O método simplex compreenderá, portanto, os seguintes passos:
1. Achar uma solução compatível básica inicial.
2. Verificar se a solução atual é ótima. Se for, pare. Caso contrário siga para o passo III.
3. Determinar a variável não-básica que deve entrar na base.
4. Determinar a variável básica que deve sair da base.
5. Achar a nova solução compatível básica, e voltar ao passo II.
Curso de Pesquisa Operacional
42
4.6.3 O Método Simplex
A seguir será mostrado passo a passo o método simplex.
Definição Geral de Programação Linear:
Maximizar ou Minimizar Z = C 1X 1 + C2 X2 + .... + Cn Xn
sujeito a:
a11X1 + a12X1 + ..........+ a1nXn
(≤ ou = ou ≥) b1
a21X1 + a22X1 + ..........+ a2nXn
(≤ ou = ou ≥) b2
a31X1 + a32X1 + ..........+ a3nXn
(≤ ou = ou ≥) b3
am1X1 + am2X1 + ..........+ amnXn
(≤ ou = ou ≥) bm
X1, X2, X3, Xn ≥ 0
O Método Simplex é aplicado diretamente quando:
1. Todas as restrições são ≤ bi
1. Todos os bi ≥ 0
2. Se quiser maximizar Z
Quando uma dessas condições não é atendida estamos em presença de um caso particular.
O Método Simplex será estudado, acompanhando a seguinte formulação:
Maximizar Z = 3x1 + 2x2 + 5x3
Sujeito a
x1+ 2x2 + x3 ≤ 430
3x1 + 2x3 ≤ 460
xl + 4x2 ≤ 420
x1, x2, x3 ≥ 0
Primeiro passo: Transformar o sistema de M desigualdades lineares restritivas em um
sistema de M equações lineares.
Para isso adiciona-se a cada uma das desigualdades uma variável não-negativa chamada
“Variável de Folga".
Curso de Pesquisa Operacional
43
Obs: Têm-se tantas variáveis de folga quantos forem às restrições.
Representação das Folgas = xn+1 , xn+2 , ... , xn+m.
Assim temos:
x1+ 2x2 + x3 + x4 = 430
3x1 + 2x3 + x5 = 460
xl + 4x2 + x6 = 420
Segundo passo: Colocar as equações em forma de tabela
Z - 3x1 - 2x2 - 5x3
=0
x1+ 2x2 + x3 + x4
3x1
+2x3
xl + 4x2
= 430
+ x5
= 460
+ x6 = 420
Terceiro passo: Determinar uma solução inicial viável.
Pode ser demonstrado que a solução ótima de um problema de programação linear é uma
solução básica. Uma solução básica para um sistema de M equações e N incógnitas.
Possui M variáveis diferentes de O (zero) e (N - M) variáveis iguais a 0 (zero). As variáveis
diferentes de 0 (zero) são chamadas "Variáveis Básicas" e aquelas iguais a 0 (zero) são as
"Variáveis Não Básicas".
No Método Simplex escolhem-se como variáveis básicas aquelas em cuja coluna aparece um
valor igual a 1 e os demais iguais a 0 (zero).
Quarto passo: verificar se a solução é ótima.
Examinar os valores dos coeficientes das Variáveis não básicas na la linha (no exemplo, linha
de Z) e concluir:
a. Se todos os valores forem positivos a solução é ótima e única.
b. Se aparecerem valores positivos e alguns nulos a solução é ótima mas não única.
c. Se aparecer algum valor negativo a solução não é ótima. Deve-se, então executar o
5o passo.
Como pode se verificar na tabela a seguir, existem números negativos na primeira linha,
assim a solução não é ótima, e precisam-se continuar os passos do método.
Curso de Pesquisa Operacional
Base
Z
X4
X5
X6
z
1
0
0
0
X1
-3
1
3
1
X2
-2
2
0
4
X3
-5
1
2
0
X4
0
1
0
0
X5
0
0
1
0
X6
0
0
0
1
b
0
430
460
420
bi/aie
430
230
ind.
44
equac.
0
1
2
3
Quinto passo: Determinar a variável que entra (xe )
A variável que entra deve satisfazer as seguintes condições:
•
ser igual a 0 (zero) na solução atual (ou seja deve ser não básica);
•
ter coeficiente menor ou igual a 0 (zero) na linha de Z (na la linha);
•
possuir em sua coluna, pelo menos um coeficiente positivo. Escolher para entrar na
base aquela que apresentar, na linha de Z, o coeficiente negativo de maior valor
absoluto. Marcar a coluna na tabela.
Sexto passo: Determinar a variável que sai (xs).
Calcula-se o valor de bi/aie para cada linha da tabela e escolhe-se para sair a variável para a
qual o quociente tiver o menor valor não negativo.
Marcar na matriz a linha de xs. O quinto e sexto passos podem ser vistos nesta tabela:
entra
Base
Z
X4
X5
X6
z
1
0
0
0
X1
-3
1
3
1
sai
X2
-2
2
0
4
X3
-5
1
2
0
X4
0
1
0
0
X5
0
0
1
0
X6
0
0
0
1
b
0
430
460
420
bi/aie
430
230
ind.
equac.
0
1
2
3
Pivô
Sétimo passo: Calcular a nova matriz de coeficientes, executando as operações convenientes
nas linhas da matriz.
Os coeficientes da nova matriz podem ser calculados da seguinte maneira:
10 - Dividir todos os elementos da linha marcada pelo pivô (esta linha não muda mais).
20 - Multiplicar a linha marcada pelo fator Fi= aie / ase
Subtrair a linha i da matriz, da linha marcada e multiplicada pelo fator Fi.
30 - Substituir na coluna base a variável que sai pela variável que entra.
O resultado destas operações na tabela anterior resulta em:
Curso de Pesquisa Operacional
Base
Z
X4
X3
X6
z
1
0
0
0
X1
4.5
-0.5
1.5
1
X2
-2
2
0
4
X3
0
0
1
0
X4
0
1
0
0
X5
2.5
-0.5
0.5
0
X6
0
0
0
1
b
1150
200
230
420
bi/aie
100
ind.
105
45
equac.
0
1
2
3
Como na primeira linha da coluna de X2 aparece um número negativo, a solução ainda não é a
ótima.
Oitavo passo: Repetir todos os passos, do 40 ao 70, tantas vezes quanto forem necessárias, até
que a solução ótima seja encontrada. O resultado final da tabela anterior aparece na próxima
iteração, e como não existem mais números negativos na primeira linha a solução é ótima. O
resultado é mostrado a seguir.
Base
Z
X2
X3
X6
z
1
0
0
0
X1
4
-0.25
1.5
2
X2
0
1
0
0
X3
0
0
1
0
X4
1
0.5
0
-2
X5
2
-0.25
0.5
1
X6
0
0
0
1
O máximo Z é 1350, para X2 = 100, X3 = 230 e X6 = 20.
4.6.4 O problema do GIAPETTO pelo simplex
Resolvendo o problema de
Giapetto pelo simplex
Max Z = 3X1 + 2X2
sujeito a:
2X1 + X2 ≤ 100
X1 + X2 ≤ 80
X1 ≤ 40
X1 ≥ 0
X2 ≥ 0
b
1350
100
230
20
bi/aie
equac.
0
1
2
3
Curso de Pesquisa Operacional
Converter o problema de PL na
forma canônica
Max Z = 3X1 + 2X2
sujeito a:
2X1 + X2 + X3
= 100
X1 + X2
+ X4
= 80
X1
+ X5 = 40
X1, X2, X3, X4 e X5 ≥ 0
Solução básica inicial
Max Z = 3X1 + 2X2
sujeito a:
2X1 + X2 + X3
X1 + X2
= 100
+ X4
X1
= 80
+ X5 = 40
X1, X2, X3, X4 e X5 ≥ 0
Variáveis não básicas: X1 = X2 = 0
Variáveis básicas: X3 = 100 X4 = 80 X5 = 40
O problema pode ser
representado assim:
X1 entra na base
Base
X3
X4
X5
Z
1
0
0
0
X1
-3
2
1
1
X2
-2
1
1
0
X3
0
1
0
0
X4
0
0
1
0
X5
0
0
0
1
b
0
100
80
40
Razão
100/2=50
80/1=80
40/1=40
Pivo
Solução parcial: (0, 0, 100, 80, 40)
Próximo quadro - Base: X3, X4 e X1
Devem se colocadas na forma canônica
Indica que
X1 entra no
lugar de X5
46
Curso de Pesquisa Operacional
Segunda iteração
Ainda não é a
solução ótima
Pivo
Z
1
0
0
0
Base
X3
X4
X1
X1
0
0
0
1
X2
-2
1
1
0
X3
0
1
0
0
X4
0
0
1
0
X5
3
-2
-1
1
b
120
20
40
40
Solução parcial: (40, 0, 20, 40, 0)
Razão
20/1=20
40/1=40
40/0
Indica que
X2 entra no
lugar de X3
Próximo quadro - Base: X2, X4 e X1
Devem se colocadas na forma canônica
Terceira iteração
Ainda não é a
solução ótima
Z
1
0
0
0
Base
X2
X4
X1
Pivo
X1
0
0
0
1
X2
0
1
0
0
X3
2
1
-1
0
X4
0
0
1
0
X5
-1
-2
1
1
b
160
20
20
40
Solução parcial: (40, 20, 0, 20, 0)
Razão
-10
20
40
Indica que
X5 entra no
lugar de X4
Próximo quadro - Base: X2, X5 e X1
Devem se colocadas na forma canônica
Quarta iteração
Valor máximo possível
para a função objetivo
solução é ótima
Base
X2
X5
X1
Z
1
0
0
0
X1
0
0
0
1
X2
0
1
0
0
X3
1
-1
-1
1
X4
1
2
1
-1
X5
0
0
1
0
Solução ótima: (20, 60, 0, 0, 20)
A restrição 4 tem um folga de 20
b
180
60
20
20
Razão
47
Curso de Pesquisa Operacional
48
Solução do problema de
Giapetto pelo simplex
Max Z = 3X1 + 2X2
sujeito a:
2X1 + X2 + X3
= 100
X1 + X2
+ X4
= 80
X1
+ X5 = 40
X1, X2, X3, X4 e X5 ≥ 0
Solução ótima: (20, 60, 0, 0, 20)
Z = 3*20 + 2*60 = 180
A restrição 4 tem um folga de 20
4.6.5 Procedimento para minimizar Z
Se as variáveis de decisão forem os custos, por exemplo, nosso objetivo será minimizá-lo.
O método empregado na minimização é converter o problema em um equivalente, envolvendo
maximização, procedendo-se, então da maneira usual do simplex. Esta conversão consiste em
maximizar, negativamente, a função objetivo original. Então, se função objetivo (FO) tratar
de minimizar Z, resolve-se o problema para máximo (-Z); isto é, troca-se o sinal da FO e
mantêm-se inalteradas as inequações (e/ou equações) resolvendo-se o problema de modo
convencional. Determinado (-Z) troca-se seu sinal.
4.6.6 Exercícios
Resolver pelo Simplex as seguintes formulações:
1) Max Z = 5X1 +2X2
Sujeito a:
X1 ≤ 3
X2 ≤ 4
X1 + 2X2 ≤ 9
X1 ≥ 0
X2 ≥ 0
Curso de Pesquisa Operacional
49
2) Min Z = 2X1 - 3X2
Sujeito a:
X1 + X2 ≤ 4
X1 - X2 ≤ 6
X1 ≥ 0
X2 ≥ 0
3) Min Z = 4X1 - X2
Sujeito a:
2X1 + X2 ≤ 8
X2 ≤ 5
X1 - X2 ≤ 4
X1 ≥ 0
X2 ≥ 0
4.7 O Método Big M
O Método simplex é explicado diretamente quando:
1. Todas as restrições são ≤ bi;
2. Todos os bi ≥ 0;
3. Se quer maximizar Z.
Quando uma dessas condições não é satisfeita estamos em presença de um caso particular.
4.7.1 Procedimento a aplicar quando as restrições são (≥) ou
(=) bi, sendo todos os bi ≥ 0
Obs: Sempre que os bi de alguma restrição for negativo, multiplicar a respectiva restrição por
(-1). Exemplo:
x1 - 4x2 + 2x3 ≤ - 23 ⇒ -x1 + 4x2 – 2x3 ≥ 23
Quando as restrições são (≥) ou (=) a bi, não temos uma base, isto é, uma solução inicial,
conforme mostrado Simplex. Neste caso, usam-se as técnicas (ou métodos):
a) Método "Big M" ou "Método das penalidades";
b) Método das duas fases ou Método da função objetivo artificial.
Curso de Pesquisa Operacional
50
4.7.2 O procedimento do método “Big M”
Para empregar o método “Big M”, procede-se da seguinte maneira:
1. Acrescentam-se as variáveis de folga as restrições do tipo (≥) ou (≤) para torná-las
equações. No caso (≤) soma-se, no (≥) subtraí-se a variável de folga.
2. No caso de restrições (≥) ou (=) a bi, bi ≥ 0; adiciona-se às restrições mais uma variável
não negativa, chamada variável de artificial (X1a), uma para cada restrição que for
necessária. A adição das variáveis artificiais às equações causa uma violação das
respectivas restrições. Esta violação é contornada, assegurando-se que estas variáveis
artificiais sejam iguais à zero na solução final. Isto é feito atribuindo-se uma penalidade
muito grande para estas variáveis artificiais na função objetivo. Tal penalidade será
designada por (-M) para os problemas de maximização, sendo M > 0.
3. Substituem-se as variáveis artificiais da FO, pelo seu valor tirado das equações restritivas
onde aparecem.
4. Procede-se da maneira usual do Simplex.
Obs: Se a variável artificial for diferente de zero na solução final, o problema não tem
solução.
Resolver as seguintes formulações:
1) Min Z = 2X1 + 3X2
Sujeito a:
1/2X1 + 1/4X2 ≤ 4
X1 + 3X2 ≥ 20
X1 + X2 = 10
X1 ≥ 0
X2 ≥ 0
2) Min Z = 2X1 +3X2
Sujeito a:
2X1 + X2 ≥ 4
X1 - X2 ≥ -1
X1 ≥ 0
X2 ≥ 0
Curso de Pesquisa Operacional
51
4.7.3 O Método das duas fases
Primeira fase: formular um novo problema, trocando a função objetivo original por uma
artificial, representada pela soma das variáveis artificiais. Como o objetivo é tornar nulas
todas as variáveis, devemos minimizar, primeiramente, a função objetivo artificial W,
levando-se em conta os seguintes fatos, no algoritmo simplex:
a. A FO é W;
b. A FO Z do problema principal é tratada como qualquer outra variável durante a
operação de pivotagem;
c. A decisão a respeito da variável que sai da base não inclui a linha correspondente a Z.
Resolvido o simplex para o problema artificial e obtida a solução ótima, W = W , encerra-se a
primeira fase do processo.
Neste caso, têm-se duas hipóteses:
1a) W > O : neste caso o problema principal não tem solução;
2a) W = O : existe uma solução inicial para o problema principal. Passa-se a segunda
fase.
Segunda Fase: Inicia-se a segunda fase tomando-se as seguintes providências:
a. Suprimem-se todas as variáveis artificiais;
b. Suprime-se a função objetivo artificial e trabalha-se com a função objetivo do
problema principal.
Resolver as formulações do item anterior, e a proposta a seguir pelo método das duas fases.
Max Z = -1X1 +2X2
Sujeito a:
X1 + X2 ≥ 2
-1X1 + X2 ≥ 1
X2 ≤ 3
X1 ≥ 0
X2 ≥ 0
Curso de Pesquisa Operacional
52
5. SOFTWARES
A utilização de programação linear é recomendada para problemas de maior porte, em que
muitas variáveis e restrições devem ser consideradas. Por isso, o desenvolvimento de
algoritmos computacionais eficientes e precisos tem sido a maior preocupação entre os
pesquisadores. Programas adequados existem, virtualmente, para cada sistema computacional
comercial desenvolvido nos últimos 20 anos.
Problemas de grande porte requerem sistemas computacionais potentes e, portanto, sistemas
paralelos têm sido utilizados nos últimos anos. Entretanto, problemas menores podem ser
resolvidos em um computador pessoal utilizando um dos softwares desenvolvidos para
resolução de problemas de programação linear, como por exemplo, XPress-MP LINDO e
MINOS.
Para problemas considerados médios, é recomendável a utilização de planilhas eletrônicas
com recursos para resolução de problemas. Exemplos destas planilhas são o "What's Best?"
(LINDO Systems) para Lotus 1-2-3, o Microsoft Excel e Borland Quattro e ainda o solver
para microsoft Excel. Todos eles são ferramentas poderosas, apesar de sua aparência simples.
O Solver do Excel será utilizado em alguns exemplos apresentados. Outro programa que
também será visto é o LINDO.
O instituto de pesquisa operacional e ciências administrativas (INFOR-MS) publicam,
eventualmente, pesquisas sobre os softwares de programação matemática em seu periódico
OR/MS Today. O relatório de 1995 apresenta softwares que rodam em computadores pessoais
e destaca softwares capazes de atacar problemas maiores tanto quanto extensões de planilhas
eletrônicas.
5.1 Uma introdução ao uso do LINDO
LINDO (Linear Interactive and Discrete Optimizer) foi desenvolvido por Linus Schrage
(1986). Ele é um programa de computador que pode ser usado para resolver problemas de
programação linear, inteira e quadrática. Para ilustrar seu uso, vamos usar o exemplo de
Giapetto, discutido anteriormente, e que foi sintetizado na seguinte formulação:
Curso de Pesquisa Operacional
53
Max Z = 3X1 + 2X2
Sujeito a:
2X1 + X2 ≤ 100
X1 + X2 ≤ 80
X1 ≤ 40
X1 ≤ 0
X2 ≥ 0
O programa executável tem o nome LINDO, apesar de ele ser originalmente desenvolvido
para o ambiente DOS, pode-se executá-lo pelo Windows em suas versões mais novas.
O programa assume que todas as variáveis precisam ser não negativas. Assim, usando o
programa não é necessário digitar as variáveis de não negatividade. Para entrar com ≥ ou ≤,
basta digitar > ou <. O problema de Giapetto no programa fica da maneira ilustrada na figura
abaixo.
Para resolver o problema de otimização, basta “clicar” no botão assinalado na figura a seguir.
Clicar
A resposta do problema é apresentada em uma tela apropriada ilustrada a seguir.
Curso de Pesquisa Operacional
54
5.2 Utilizando o Solver do Excel
Como foi dito anteriormente, a aplicação de programação linear não é mais limitada pela
necessidade de um software especialista. Planilhas eletrônicas geralmente possuem
ferramentas que podem ser utilizados para atacar problemas de programação linear de
tamanho considerável. Talvez as duas planilhas mais utilizadas sejam o Excel, que contém um
opcional conhecido como solver, e o Lotus 1-2-3, que possui o módulo What's best. Ambos os
sistemas são muito simples de serem utilizados e, embora sejam um pouco mais lentos que os
softwares especialistas, podem resolver problemas de tamanho razoável. Existem, é claro,
alguns perigos na sua facilidade de uso, assim como existem armadilhas que devem ser
evitadas quando modelos de programação linear são construídos e rodados, as quais podem
ser encobertas neste software amigável. Entretanto, a disponibilidade deste software é algo
passível de ser elogiada.
A discussão apresentada a seguir é baseada no Microsoft Excel v7. Versões mais recentes ou
mais antigas deste software poderão apresentar pequenas diferenças na estrutura, mas as
idéias básicas são as mesmas.
5.2.1 Formulação para o Solver
Na base de qualquer modelo de programação linear existe um conjunto de restrições às quais
uma função objetivo a ser otimizada está submetida. O exemplo simples de Giapetto foi
formulado anteriormente, neste capítulo, através das equações algébricas representadas a
seguir:
Curso de Pesquisa Operacional
Max Z = 3X1+ 2X2
55
Função objetivo
Sujeita a:
2X1 + X2 ≤ 100
Restrição quanto a tempo de acabamento
X1 + X2 ≤ 80
Restrição quanto a tempo de carpintaria
X1 ≤ 40
Restrição de venda máxima de soldados
Estas equações podem ser representadas de maneira diferente, através da utilização de
matrizes. Esta representação está exposta a seguir:
maximizar
X1 = número
de soldados
3
X2 = número de
trens
2
Sujeito as
limite
restrições
2
1
≤
100
1
1
≤
80
1
0
≤
40
Lucro bruto
Solução
0
0
0
Com exceção da última linha, denominada solução, as demais restrições expostas nas matrizes
já eram conhecidas. A linha de solução representa os valores atribuídos a X1 e X2 antes de
qualquer otimização. No estado atual, ambos X1 e X2 são definidos como zero o que resulta
em um lucro bruto de zero unidade.
O primeiro estágio de uso Solver é escrever esta matriz na planilha, como apresentado na
Figura 5.1. Como em qualquer planilha, é muito importante observar que algumas células
contêm valores constantes, mas outras contêm fórmulas as quais assumem os valores que são
exibidos nas mesmas. Neste exemplo, as células D4, D5, D6 e E8 contêm fórmulas. As
demais contêm textos, que são utilizados para deixar o exemplo mais claro, ou contêm
valores.
Curso de Pesquisa Operacional
56
Figura 5.1 - Formulação básica do problema.
Uma rápida explicação da Figura 5.1 é a seguinte:
1. Neste exemplo, as colunas B e C possuem os valores dos coeficientes das expressões
utilizadas na formulação algébrica e na tabela anteriormente.
2. A linha 2 contém os valores dos coeficientes da função objetivo (2 e 1).
3. As linhas 4 a 6 apresentam os valores dos coeficientes das restrições descritas
anteriormente.
4. A linha 8 contém os valores dados inicialmente para X1 e X2 antes de qualquer
otimização.
5. A coluna D possui suas linhas com valor zero, porém suas células representam a
utilização das três restrições. Assim, a célula D4 contém a fórmula:
= $B$8*$B4 + $C$8*$C4
Observe que as referências às células B10 e C10 são ambas absolutas. Assim, esta fórmula
estendida da célula D4 a D6 é dada por:
D4 = $B$8*$B4 + $C$8*$C4
D5 = $B$8*$B5 + $C$8*$C5
D6 = $B$8*$B6 + $C$8*$C6
Curso de Pesquisa Operacional
57
A coluna E foi utilizada para que os limites máximos e mínimos das restrições fossem
observados, a qual é freqüentemente conhecida como right-hand-sides (abreviada como RHS
por muitas pessoas). Assim, existe um limite de 100 horas para acabamento, de 80 horas para
carpintaria e venda máxima de 40 soldados. A coluna D, como mencionado anteriormente, é
usada para armazenar a utilização atual dos recursos. Assim, a célula D4 representa a
quantidade da restrição horas de acabamento que foi utilizada e seu valor é zero, uma vez que
as células B8 e C8 contêm valor zero antes de qualquer otimização.
Finalmente, uma célula da planilha deve ser utilizada para armazenar o resultado da
otimização (neste caso, o valor do lucro semanal obtido); nesta planilha, este valor está
contido na célula E8.
5.2.2 Janela de Parâmetros do Solver
Utilizando os botões do mouse ou o teclado, devemos selecionar o Solver a partir do menu de
ferramentas do Microsoft Excel. A Figura 5.2 apresenta a janela que irá aparecer na tela. Esta
janela de parâmetros do Solver é utilizada quando o usuário fornece ao Solver as informações
necessárias para que o mesmo busque a solução otimizada.
Figura 5.2 – Janela de parâmetros do Solver.
Para chegarmos à solução ótima do exemplo, o Solver precisa das seguintes informações:
1. Onde o valor da função objetivo será armazenado? Este valor representa o resultado da
otimização dado pela combinação de valores de X1 e X2 determinada. Neste caso, o
resultado será armazenado na célula E8. Isto significa que a célula E8 deve conter a
fórmula apropriada para a otimização, a qual, neste caso, é dada por: = $B$2*$B$8 +
Curso de Pesquisa Operacional
58
$C$2*$C$8. Observe que as células de referência são absolutas - o que é recomendável,
porém não é necessário.
2. Quais são as restrições e que forma as mesmas possuem? Para fornecer estas informações
para o Solver, clique no botão adicionar da subjanela de restrições da janela dos
parâmetros do Solver. Uma caixa de diálogo, como a apresentada na Figura 5.3, irá
aparecer. Neste caso, a caixa de diálogo corresponde à primeira restrição, a restrição das
horas de acabamento, a qual possui seus coeficientes nas células B4 e C4 e sua expressão
está contida na célula D4. Assim, a célula $D$4 deve ser digitada na caixa referência de
célula, uma vez que a mesma contém a expressão da restrição. Esta restrição é do tipo
menor ou igual a, assim devemos selecionar este símbolo da caixa central da janela.
Finalmente, o valor máximo para esta restrição encontra-se na célula $E$4 e esta célula
deve ser indicada na caixa à esquerda da janela. Aperte o botão OK e a caixa de diálogo
irá fechar-se retornando à janela de parâmetros do Solver. Cada uma das restrições deve
ser descrita do mesmo modo como a anterior.
Figura 5.3 - Janela para entrada das restrições.
3. Quais células irão conter os valores de X1 e X2, os quais serão modificados até que se
otimize a função objetivo, e qual tipo de otimização deve-se procurar? Esta informação
deve ser fornecida pelo usuário através da janela de parâmetros do Solver. As células
cujos valores serão variados são a B8 e a C8 e, como mostra a Figura 5.4, devem ser
descritas como células de referência na caixa células variáveis. Como se busca a
maximização destas variáveis, a opção Max deve ser selecionada.
Curso de Pesquisa Operacional
59
Figura 5.4 - Entrada das células que irão variar para que a solução ótima seja encontrada
(células variáveis).
Antes de executar a otimização, é interessante informar ao Solver que todas as restrições são
expressões lineares, assim como a função objetivo. Estas informações devem ser fornecidas,
pois estamos tratando de um problema de programação linear. Para entrar com esta
informação, clique o botão opções da janela dos parâmetros do Solver. Uma nova janela irá
aparecer onde a opção presume modelo linear deve ser selecionada. Isto irá aumentar a
velocidade da otimização e, também, fará com que os relatórios fornecidos sejam adaptados
para o formato de problemas de programação linear (veja a seguir).
Para executar a otimização, retorne à janela de parâmetros do Solver e aperte o botão resolver.
A Figura 5.5 apresenta o resultado da otimização.
Figura 5.5 - Solução do problema
Curso de Pesquisa Operacional
60
É importante observar que muitas outras informações, além do valor ótimo das variáveis
estudadas, podem ser obtidas a partir da solução fornecida para um problema de programação
linear. Um bom pacote computacional como o Solver fornece relatórios que ajudam o usuário
a entender muito mais sobre a solução apresentada. O Solver fornece três relatórios padrão e
permite que sua solução seja exportada para outro pacote se uma análise mais detalhada for
necessária.
5.2.3 O Relatório de Resultados do Solver
O relatório resume os resultados da pasta de trabalho e também fornece algumas informações
a mais. Estas informações extras podem ser calculadas pelo usuário, mas é importante guardálas em algum lugar. O relatório da otimização para o problema apresentado é mostrado na
Figura 5.6 e possui três partes, como descrito abaixo:
•
Célula de destino (Máximo): apresenta o máximo lucro obtido pelo Solver. Se este
fosse um problema de minimização, esta seção iria conter o valor mínimo.
•
Células ajustáveis: mostram as variáveis de entrada, seus valores após a solução ótima
e seus valores iniciais (zero, neste caso).
Restrições: indica a utilização de cada um dos recursos ao final da otimização. A coluna de
status classifica as restrições como obrigatória (restrição com utilização máxima) ou nãoobrigatória estas últimas são as que apresentam algum recurso que não foi utilizado - indicado
pelo valor diferente de zero na coluna diferencial (slacks - folgas).
Os outros dois relatórios fornecem mais informações sobre a sensibilidade da solução ótima,
informações que podem ser importantes por várias razões. Primeiro, porque são raros os casos
de programação matemática em ciências administrativas nos quais todos os coeficientes ou
valores do modelo são conhecidos com precisão. Geralmente, alguns coeficientes são
conhecidos e várias serão aproximações, estimativas ou até mesmo hipóteses. O que fazer, se
os valores tomados forem errados? Qual será o efeito destes erros na solução? Assim, uma
solução alternativa não tão ótima pode ser algumas vezes, melhor que uma solução ótima que
se toma sensível aos valores atribuídos aos coeficientes. A segunda razão que torna
importante a análise de sensibilidade está relacionada à idéia de que o mundo é dinâmico e,
por isso, as coisas estão mudando constantemente. Por exemplo, pode ser verdade que esta
semana a matéria-prima tenha certo custo, porém, se o período observado for um mês, este
Curso de Pesquisa Operacional
61
custo pode ser diferente. Assim, é importante conhecer quais são os efeitos que as mudanças
nos coeficientes podem gerar na solução ótima.
Figura 5.6 - Relatório de resposta para o problema
Curso de Pesquisa Operacional
62
6. CASOS PARTICULARES NO SIMPLEX
6.1 Caso de múltiplas soluções
Se um problema de PL (programação linear) tem mais de uma solução, nós dissemos que o
problema tem múltiplas soluções alternativas. Vejamos como identificar isto no Simplex.
A análise será feita através do seguinte problema: Um fabricante de móveis fornece os
seguintes produtos: mesas, armários e cadeiras. A fabricação de cada tipo de produto requer
chapas de mogno e dois tipos de mão de obra, uma para acabamento e outra para carpintaria.
A quantidade de recursos para cada tipo de produto é dada na tabela abaixo.
Recurso
armário
mesa
cadeira
8 m2
6 m2
1 m2
Horas de
acabamento
4
2
1.5
Horas de
carpintaria
2
1.5
0.5
Mogno
No momento, 48 m2 de chapas de mogno, 20 horas de acabamento e 8 horas de carpintaria
estão disponíveis. O armário é vendido por $60, a mesa por $35 e a cadeira por $20. A
empresa acredita que a demanda por armários e cadeiras seja ilimitada, mas que o mercado
adquire no máximo 5 mesas. Uma vez que os recursos estejam disponíveis, a empresa deseja
maximizar o seu lucro. A formulação do problema é a seguinte:
Variáveis de decisão:
X1 = número de armários a serem produzidos
X2 = número de mesas a serem produzidas
X3 = número de cadeiras a serem produzidas
Max Z = 60X1 + 35X2 + 20X3
Sujeito a:
8X1 + 6X2 + X3 ≤ 48 (restrição de mogno)
4X1 + 2X2 + 1.5X3 ≤ 20 (restrição de acabamento)
Curso de Pesquisa Operacional
63
2X1 + 1.5X2 + 0.5X3 ≤ 8 (restrição de carpintaria)
X2 ≤ 5 (limitação de demanda de mesas)
X1, X2, X3 ≥ 0
A tabela inicial, a intermediária e a de solução é mostrada abaixo.
Z
1
0
0
0
0
base
X4
X5
X6
X7
Z
1
0
0
0
0
base
X4
X5
X1
X7
Z
base
X4
X3
X1
X7
1
0
0
0
0
X1
X2
X3
X4
X5
X6
X7
b
razão
-60
8
4
2
0
-35
6
2
1.5
1
-20
1
1.5
0.5
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
48
20
8
5
6
5
4
não
X1
X2
X3
X4
X5
X6
X7
b
razão
0
0
0
1
0
-10
0
-1
0.75
1
-5
-1
0.5
0.25
0
0
1
0
0
0
0
0
1
0
0
30
-4
-2
0.5
0
0
0
0
0
1
240
16
4
4
5
não
8
16
não
X1
X2
X3
X4
X5
X6
X7
b
razão
0
0
0
1
0
0
-2
-2
1.25
1
0
0
1
0
0
0
1
0
0
0
10
2
2
-0.5
0
10
-8
-4
1.5
0
0
0
0
0
1
280
24
8
2
5
24
8
2
5
Lembra-se que todas as variáveis básicas precisam ter coeficiente 0 (zero) na primeira linha
(de outra forma elas não seriam básicas). Entretanto na última tabela (ótima), existe uma
variável não básica, X2, que tem o coeficiente na primeira linha igual à zero. Vejamos o que
ocorre se X2 entrar na base. O teste de razão mostra que X2 deveria entrar no lugar de X1. A
tabela com o resultado é mostrada o a seguir.
Curso de Pesquisa Operacional
Z
base
X4
X3
X2
X7
1
0
0
0
0
X1
X2
X3
X4
X5
X6
X7
b
razão
0
1.6
1.6
0.8
-0.8
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
10
1.2
1.2
-0.4
0.4
10
-5.6
-1.6
1.2
-1.2
0
0
0
0
1
280
27.2
11.2
1.6
3.4
27.2
11.2
1.6
3.4
64
Uma importante observação é que devido a X2 ter coeficiente 0 (zero) na primeira linha da
tabela de resultado ótimo, o fato de X2 entrar na base não muda a primeira linha. Isto significa
que todas as variáveis na nova primeira linha continuam com coeficientes positivos. Assim, a
nova tabela também é ótima. Uma vez que o pivô não mudou o valor de Z, uma solução
alternativa para o exemplo é Z = 280, X4 = 27.2, X3 = 11.2, X2 = 1.6 e X1 = X5 = X6 = 0.
Em resumo, a empresa pode obter um lucro de $280 fabricando 2 armários e 8 cadeiras ou
fabricando 1.6 mesas e 11.2 cadeiras. Assim, o problema tem mais de um ponto ótimo
extremo. Cada ponto entre a linha que liga estes pontos é também solução.
Quando a formulação tem apenas 2 variáveis, como a formulação abaixo, esta situação é
facilmente identificada na solução gráfica, como mostra a figura do QM for Windows a
seguir.
Max Z = 3X1 + 2X2
Sujeito a:
1/40X1 + 1/60X2 ≤ 1
1/50X1 + 1/50X2 ≤ 1
X1, X2 ≥ 0
Curso de Pesquisa Operacional
65
6.2 Caso de solução ilimitada
Este caso ocorre quando a variável que entra na base não possui em sua coluna nenhum
coeficiente positivo. Os programas de computador apresentam a última solução básica antes
que a solução se torne ilimitada.
Um caso de solução ilimitada é o seguinte:
Max Z = 2X1 – X2
Sujeito a:
X1 – X2 ≤ 1
2X1 + X2 ≥ 6
X1, X2 ≥ 0
O gráfico e solução do problema pelo QM for Windows é visto na figura a seguir.
Na outra figura mostra-se que a variável que vai entrar na base é a X3, mas todos os
coeficientes são negativos, configurando o caso de solução ilimitada.
Curso de Pesquisa Operacional
66
6.3 Problema da degeneração
No desenvolvimento do simplex, a linha pivô é a restrição que apresenta o menor quociente
não negativo, na divisão dos termos independentes pelos coeficientes positivos da variável
que entra.
Pode ocorrer que haja mais de um resultado nessas condições. Deve-se escolher
arbitrariamente um deles para calcular a solução. Entretanto, essa solução apresentará
variáveis básicas com valor nulo. A saída de uma variável básica nula provoca o aparecimento
de outra variável básica nula na solução seguinte, sem alteração do valor do objetivo.
Neste caso, a solução é chamada degenerada. Se os coeficientes da função objetivo retornam
não negativos em alguma iteração, o caso não apresenta dificuldade. O problema aparece
Curso de Pesquisa Operacional
67
quando a iteração leva a longos circuitos, sem caracterizar a solução ótima. Embora o caso
seja raro, há maneiras de solucioná-lo. Entretanto, a discussão deste caso não é relevante a
nível deste curso.
Curso de Pesquisa Operacional
68
7. ANÁLISE ECONÔMICA
7.1 O conceito da análise econômica
A análise econômica baseia-se nos coeficientes das variáveis, na função objetivo final. Este
tópico será explicado através da análise dos coeficientes do problema de Giapetto.
Reconsiderando o problema de Giapetto.
Max Z = 3X1 + 2X2
Sujeito a:
2X1 + X2 ≤ 100 (Restrição de acabamento)
X1 + X2 ≤ 80 (Restrição de carpintaria)
X1 ≤ 40 (Restrição de demanda)
X1, X2 ≥0
Onde:
X1 = Número de soldados
X2 = Número de trens
Para aplicar o Simplex a formulação fica:
Max Z = 3X1 + 2X2
Sujeito a:
2X1 + X2 + X3 = 100 (Restrição de acabamento)
X1 + X2 + X4 = 80 (Restrição de carpintaria)
X1 + X5 = 40 (Restrição de demanda)
X1, X2 ≥ 0
Onde:
X3 = sobra de horas de acabamento;
X4 = sobra de horas de carpintaria;
X5 = sobra de demanda.
Curso de Pesquisa Operacional
69
Solução do problema: Z = 180, X1 = 20; X2 = 60 e X5 = 20. X1 e X2 significam a ordem de
produção, 20 soldados e 60 trens deverão ser produzidos. A última tabela (solução ótima)
pode ser vista novamente a seguir.
Base
X2
X5
X1
Z
1
0
0
0
X1
0
0
0
1
X2
0
1
0
0
X3
1
-1
-1
1
X4
1
2
1
1
X5
0
0
1
0
b
180
60
20
20
As interpretações do resultado serão feitas a seguir.
1. X5 = 20 (variável básica) – significa que Giapetto vai deixar de atender o mercado em 20
unidades de soldados;
2. X3 = 0 (variável não básica), mas seu coeficiente na tabela é igual a 1. Esta variável
representa a folga da restrição de acabamento. O valor 1 do coeficiente significa que para
cada 1 hora a mais de acabamento, o lucro de Giapetto aumentará de 1. Este valor
significa o adicional máximo que se pode pagar por hora adicional de acabamento.
Analogamente 1 hora a menos, significa que o lucro diminuirá de 1. O zero como
resultado da variável não básica também significa que o recurso é escasso, ou seja, toda a
disponibilidade dele é necessária para que o resultado seja atendido;
3. X4 = 0 (variável não básica), mas seu coeficiente na tabela é igual a 1. Esta variável
representa a folga da restrição de carpintaria. O valor 1 do coeficiente, significa que para
cada 1 hora a mais de acabamento, o lucro de Giapetto também aumentará de 1. Este valor
significa o adicional máximo que se pode pagar por hora adicional de carpintaria.
Analogamente 1 hora a menos de carpintaria, significa que o lucro diminuirá de 1. O zero
como resultado da variável não básica também significa que o recurso é escasso, ou seja,
toda a disponibilidade dele é necessária para que o resultado seja atendido;
4. X5 = 20 (variável básica), mas seu coeficiente na tabela é igual a 0 (zero). O fato de o
coeficiente ser igual a 0, significa que o recurso não é escasso (produção abaixo do
mercado). Este resultado poderia Giapetto rever seus possíveis investimentos em
marketing para soldados. Também poderia fazer pensá-lo em aumentar o preço do
soldado, uma vez que a demanda é maior que a oferta.
Curso de Pesquisa Operacional
70
7.2 Exercício
Fazer análise semelhante para o problema a seguir.
No programa de produção do próximo período, uma determinada empresa escolheu 3
produtos P1, P2 e P3. O quadro abaixo mostra os montantes solicitados por unidade na
produção.
Produto
P1
P2
P3
Lucro por
unidade
2100
1200
600
Horas de
trabalho
6
4
6
Horas de uso de
máquina
12
6
2
Demanda
máxima
800
600
600
Os preços de venda foram fixados por decisão política e as demandas foram estimadas tendo
em vista estes preços. A empresa pode obter um suprimento de 4800 horas de trabalho
durante o período de processamento e pressupõe-se usar três máquinas que podem prover
7200 horas de trabalho. Estabelecer um programa ótimo de produção para o período. Analisar
os coeficientes das variáveis de folga da solução final.
Curso de Pesquisa Operacional
71
8. DUALIDADE
8.1 Fundamento da dualidade
Em determinadas situações, a quantidade de cálculos necessária para resolver um modelo
linear pelo método Simplex pode ser reduzida. O modelo inicial chamado Primal, pode ser
substituído por outro modelo chamado Dual, cuja solução é mais rápida. Será mostrado que
uma vez conhecida à solução do Dual, conhece-se em conseqüência a solução do Primal, o
que resolve o problema.
Seja o seguinte problema, que será chamado de Primal:
Max Z = 2X1 + 3X2 + X3
Sujeito a:
3X1 + 4X2 + 2X3 ≤ 10
2X1 + 6X2 + X3 ≤ 20
X1 – X2 – X3 ≤ 30
X1, X2, X3 ≥ 0
A obtenção do Dual se processa da seguinte maneira: para cada restrição será atribuída uma
variável de decisão (Yi). A função objetivo do Dual será de minimização e cada uma de suas
parcelas será o produto da variável Yi pelo termo da direita da restrição correspondente. Cada
variável de decisão do Primal gera uma restrição no Dual. Neste caso o sinal será ≥, e o termo
da direita será o coeficiente da variável Primal na função objetivo. Todas as variáveis do Dual
serão não negativas. O quadro a seguir sintetiza as regras básicas para obtenção do Dual.
Curso de Pesquisa Operacional
72
Assim, o Dual será formulado da seguinte maneira:
Min W = 10Y1 + 20Y2 + 30Y3
Sujeito a:
3Y1 + 2Y2 + Y3 ≥ 2
4Y1 + 6Y2 - Y3 ≥ 3
2Y1 + Y2 – Y3 ≥ 1
Y1, Y2, Y3 ≥ 0
De modo análogo, para o problema de minimização e sinais de ≥ no Primal, o Dual é obtido
como mostrado no exemplo a seguir.
Primal:
Min Z = 10X1 + 20X2 + 30X3
Sujeito a:
Variável Dual
3X1 + 2X2 + X3 ≥ 2
⇒
Y1
4X1 + 6X2 - X3 ≥ 3
⇒
Y2
2X1 + X2 – X3 ≥ 1
⇒
Y3
X1, X2, X3 ≥ 0
Dual:
Max W = 2Y1 + 3Y2 + Y3
Sujeito a:
Termos da direita
3Y1 + 4Y2 + 2Y3 ≤ 10
⇒
Coeficiente de X1
2Y1 + 6Y2 + Y3 ≤ 20
⇒
Coeficiente de X2
Y1 - Y2 - Y3 ≤ 30
⇒
Coeficiente de X3
Y1, Y2, Y3 ≥ 0
A solução ótima Primal corresponde à solução ótima Dual com Z = W. O coeficiente da
variável de decisão na função objetivo Primal é o valor da variável de folga correspondente na
solução Dual. O coeficiente da variável de folga da função objetivo Primal é o valor da
Curso de Pesquisa Operacional
73
variável de decisão correspondente na solução Dual. Como o Primal é o Dual do próprio
Dual, vale o raciocínio no sentido Dual para o Primal.
8.2 Exercícios sobre obtenção da formulação dual
Achar o Dual das seguintes formulações:
1) Max Z = 3x1 + 4x2 + x3
Sujeito a:
2x1 + 5x2 + 3x3 ≤ 10
3x1 + 6x2 + x3 ≤ 20
x1 – x2 – x3 ≤ 30
2x1 – x2 + 5x3 ≤ 40
x1, x2, x3 ≥ 0
2) Max Z = 2x1 + 3x2 + x3
Sujeito a:
x1 + x2 ≤ 10
2x1 + 4x2 – x3 = 20
x1, x2, x3 ≥ 0
8.3 O dual de Giapetto e sua interpretação econômica
O Dual do problema do Giapetto é obtido como se mostra a seguir.
Primal:
Max Z = 3X1 + 2X2
Sujeito a:
Variável
Dual
2X1 + X2 ≤ 100
⇒
Y1
X1 + X2 ≤ 80
⇒
Y2
X1 ≤ 40
⇒
Y3
X1, X2 ≥ 0
Dual:
Curso de Pesquisa Operacional
Min W = 100Y1 + 80Y2 + 40Y3
Sujeito a:
Termos da direita
2Y1 + Y2 + Y3 ≥ 3
⇒
Y1 + Y2 ≥ 2
⇒
Coeficiente de X1
Coeficiente de X2
Y1, Y2, Y3 ≥ 0
A última tabela do Primal, com a solução ótima é vista a seguir.
Z
1
0
0
0
Base
X2
X5
X1
X1
0
0
0
1
X2
0
1
0
0
X3
1
-1
-1
1
X4
1
2
1
1
X5
0
0
1
0
b
180
60
20
20
A última tabela do Dual, com a solução ótima é vista a seguir.
Base
Y1
Y2
Z
-1
0
0
Y1
0
1
0
Y2
0
0
1
Y3
20
1
-1
Y4
20
-1
1
Y5
60
1
-2
Y a1
M-20
1
-1
Ya2
M-60
-1
2
Correspondência:
Coeficiente de X1 = 0 (var. decisão)
⇒
Valor de Y4 = 0 (var. folga)
Coeficiente de X2 = 0 (var. decisão)
⇒
Valor de Y5 = 0 (var. folga)
Coeficiente de X3 = 1 (var. folga)
⇒
Valor de Y1 = 1 (var. decisão)
Coeficiente de X4 = 1 (var. folga)
⇒
Valor de Y2 = 1 (var. decisão)
Coeficiente de X5 = 0 (var. folga)
⇒
Valor de Y3 = 0 (var. decisão)
Coeficiente de Y1 = 0 (var. decisão)
⇒
Valor de X3 = 0 (var. folga)
Coeficiente de Y2 = 0 (var. decisão)
⇒
Valor de X4 = 0 (var. folga)
Coeficiente de Y3 = 20 (var. decisão)
⇒
Valor de X5 = 20 (var. folga)
Coeficiente de Y4 = 20 (var. folga)
⇒
Valor de X1 = 20 (var. decisão)
Coeficiente de Y5 = 60 (var. folga)
⇒
Valor de X2 = 60 (var. decisão)
Valor de Z = 180
⇒
Valor de W = 180
b
-180
1
1
74
Curso de Pesquisa Operacional
75
As variáveis de decisão do Dual representam os recursos do Primal. Assim Y1 = 1, esta
variável de decisão representa a primeira restrição (acabamento) e seu valor é o mesmo do
coeficiente da variável de folga X3 do Primal. Seu significado é, portanto que para cada
unidade adicional do recurso acabamento o lucro será incrementado de 1.
Y2 = 1, esta variável de decisão representa a segunda restrição (carpintaria) e seu valor é o
mesmo do coeficiente da variável de folga X4 do Primal. Seu significado é, portanto que para
cada unidade adicional do recurso carpintaria o lucro será incrementado de 1.
A função objetivo Dual mede, então, a capacidade do estoque de recursos gerarem lucros.
8.4 Exercício
Suponha que um problema de produção tenha como modelo:
Max L = X1 + 0,3X2 + 3X3
Sujeito a:
X1 + X2 + X3 ≤ 10
2X1 + X2 + 4X3 ≤ 12
X1 – 3X2 – X3 ≤ 9
X1, X2 e X3 ≥ 0
e que o quadro final de solução pelo Simplex seja:
L
1
0
0
0
X1
0.5
0.5
0.5
1.5
X2
0.45
0.75
0.25
3.25
X3
0
0
1
0
XF1
0
1
0
0
XF2
0.75
-0.25
0.25
0.25
XF3
0
0
0
1
b
9
7
3
12
Onde Xi são as decisões de fabricação dos produtos Pi e XFi as sobras dos recursos Ri no
programa. O objetivo é maximizar o lucro devido à produção e comercialização dos produtos.
Responder as seguintes perguntas:
1. Qual a solução mostrada no quadro?
2. Quais os recursos escassos?
3. O que ocorreria se por um motivo de força maior tivesse que fabricar uma unidade de
P1?
4. Se alguém quisesse adquirir uma unidade do recurso R1, você estaria disposto a
vender? Qual o preço que compensa a venda?
Curso de Pesquisa Operacional
76
5. Se alguém insistir em comprar uma unidade do recurso R2, que preço de venda
compensaria o fato dele ser escasso?
6. Construa o modelo Dual do problema?
7. Obter a solução do Dual.
8. O que significa a variável dual Y1?
9. O que mede a função objetivo Dual?
10. O que mede o lado esquerdo da Segunda restrição Dual? E o lado direito?
11. Em termos de valores interno e externo, como podemos justificar a não fabricação de
P2 no programa?
12. Em termos de valores interno e externo, como podemos justificar a fabricação de P3?
13. Quanto você pagaria por uma unidade adicional do recurso R2? Por quê?
14. Quanto você pagaria por uma unidade adicional do recurso R3? Por quê?
Curso de Pesquisa Operacional
77
9. ANÁLISE DE SENSIBILIDADE
Análise de sensibilidade se refere a como mudança na formulação de um problema de
programação linear, afeta a solução ótima. Reconsiderando o problema de Giapetto.
Max Z = 3X1 + 2X2
Sujeito a:
2X1 + X2 ≤ 100 (Restrição de acabamento)
X1 + X2 ≤ 80 (Restrição de carpintaria)
X1 ≤ 40 (Restrição de demanda)
X1, X2 ≥ 0
Onde:
X1 = Número de soldados
X2 = Número de trens
Solução ótima é Z = 180, X1 = 20, X2 = 60, ponto identificado no gráfico abaixo. As
variáveis básicas são X1, X2 e X5 (variável de folga da restrição de demanda). A questão que
se coloca em análise de sensibilidade é como alterações nos coeficientes da função objetivo e
no lado direito das inequações que representam as restrições afetam a solução ótima.
9.1 Mudança nos coeficientes da função objetivo
Se a contribuição para o lucro de cada soldado crescer, parece lógico que a decisão ótima para
o problema seria produzir mais soldados (o que faria X3 se tornar não básica). De forma
análoga se a contribuição decrescer a decisão lógica seria a produção de apenas trens (X1 se
Curso de Pesquisa Operacional
78
tornaria não básica). Será mostrado a seguir como o valor de contribuição para o lucro pode
variar e a solução ótima ainda permanecer.
Seja C1 a contribuição para o lucro de cada soldado. Para quais valores de C1 a corrente
solução permanece ótima?
Na formulação C1 = 3 e cada linha reta que representa a função objetivo igual a uma constante
tem a seguinte equação: 3X1 + 2X2 = constante, ou X2 = -3/2 X1 + constante/2. Cada linha
paralela tem o coeficiente angular igual a –3/2. Da figura anterior pode-se ver que uma
mudança em C1 causa uma mudança na inclinação desta linha. Se esta inclinação for menor
que a da restrição de carpintaria, a solução ótima passará a ser a do ponto A. Se a contribuição
para o lucro de cada soldado é C1, o coeficiente angular da reta será - C1/2. Uma vez que o
coeficiente angular da restrição de carpintaria é –1, a reta que representa a função objetivo
será menos inclinada que a d restrição de carpintaria se – C1/2> -1, ou C1 < 2, e a nova
solução ótima será (0, 80), ponto A da figura anterior.
Se a inclinação da reta for maior que a da restrição de acabamento a solução ira do ponto B
para o ponto C. O coeficiente angular da restrição de acabamento é –2. Se – C1/2 < -2, ou C1
> 4, a solução corrente deixa de ser ótima e o ponto C (40, 20) passará a ser ótimo.
Em resumo, foi mostrado que (se todos outros parâmetros permanecerem inalterados) a
solução corrente permanece ótima para 2 < C1 < 4, e Giapetto deveria continuar fabricando 20
soldados e 60 trens. É claro que com a alteração a função objetivo tem seu valor modificado..
9.2 Mudança no lado direito das inequações
Através da análise gráfica é fácil identificar se uma variação no valor do lado direito de uma
inequação faz com que a base deixe de ser ótima. Fazendo b1 o número de horas disponíveis
de acabamento. Na formulação atual b1 é igual a 100. Para que valores de b1 a base corrente
deixa de ser ótima? Pela análise da figura a seguir identifica-se que uma variação em b1 a reta
da restrição de acabamento se desloca paralelamente à reta inicial.
Nota-se que para b1 > 120, a corrente base deixa de ser ótima. O mesmo ocorre para b1 < 80.
Assim, a base corrente permanece para 80 < b1 < 120. Nota-se que embora a base permaneça
a mesma, os valores das variáveis de decisão e função objetivo mudam. Por exemplo, se 80 <
b1 < 100, a solução ótima será entre o ponto B e outro no segmento AB. De forma análoga, se
100 < b1 < 120, a solução ótima mudará para algum ponto do segmento BC.
Curso de Pesquisa Operacional
79
Se um problema de programação linear tiver mais de 2 variáveis de decisão, as variações
possíveis dos coeficientes da função objetivo e dos valores do lado direito das inequações que
não mudam a solução, não pode ser identificadas graficamente. O cálculo das faixas de
variação de forma manual normalmente é tedioso. Para evitar este problema, normalmente se
usa programas de computadores. O resultado de sensibilidade no LINDO para o problema do
Giapetto pode ser visto a seguir. Para se obter este resultado, basta responder com Y (yes)
para a obtenção das faixas de variação, logo após a otimização da formulação ser obtida.
Curso de Pesquisa Operacional
80
Como exemplo, o coeficiente de X1 na função objetivo pode alterar entre 2 e 4, que a solução
continuaria sendo X1 = 20, X2 = 60 e X5 = 20. Já X2 pode variar entre 1, 5 e 3. Já os valores
de bi, por exemplo, b2, pode variar entre 60 e 100, que a base continuaria sendo X1, X2 e X5.
Na figura a seguir encontram-se os resultados destas variações possíveis apresentadas pelo
programa QM for Windows. Esta janela é acessada no menu WINDOW opção Ranging.
Na figura a seguir esta o relatório que se obtém através do Excel, selecionando quando
utilizado o Solver a emissão do relatório de sensibilidade.
Curso de Pesquisa Operacional
81
9.3 Exercício
Suponha que um problema de produção tenha como modelo:
Max Z = 2100X1 +1200X2 + 600X3
Sujeito a:
1) 6X1 + 4X2 + 6X3 ≤ 4800
2) 12X1 + 16X2 + 2X3 ≤ 7200
3) X1 ≤ 800
4) X2 ≤ 600
5) X3 ≤ 600
X1, X2 e X3 ≥0
Onde: Xi são as decisões de produção dos bens Pi. O objetivo é maximizar o lucro pela venda
desses produtos.
Restrições:
1. Horas de máquina para a produção dos bens;
2. Horas de mão de obra para a produção;
3. Demanda de P1;
4. Demanda de P2;
5. Demanda de P3.
O quadro final de solução pelo Simplex é o seguinte:
Z
1
0
0
0
0
0
X1
0
0
1
0
0
0
X2
1.4
-0.8
1.467
-1.467
1
0.8
X3
0
1
0
0
0
0
XF1
50
0.2
-0.033
0.033
0
-0.2
XF2
150
-0.1
0.1
-0.1
0
0.1
XF3
0
0
0
1
0
0
XF4
0
0
0
0
1
0
XF5
0
0
0
0
0
1
b
1320000
240
560
240
600
360
Questões:
1. Qual o coeficiente de estabilidade para o coeficiente de X1? O que isto significa?
2. Qual o coeficiente de estabilidade para o coeficiente de X3? O que isto significa?
3. Qual o coeficiente de estabilidade para o coeficiente de XF3? O que isto significa?
Curso de Pesquisa Operacional
82
4. Qual o coeficiente de estabilidade para o coeficiente de XF1? O que isto significa?
5. Um novo produto, que use 3 horas de máquina, 5 horas de mão de obra e com
demanda garantida de 200 unidades para um lucro máximo de $ 800, teria interesse no
programa?
6. Qual o limite para aquisição do recurso R1, aos custos correntes, que mantém a
informação contida em seu custo de oportunidade?
7. Idem para o recurso R2.
8. O que significa a informação contida no custo de oportunidade do recurso R5?
Curso de Pesquisa Operacional
83
10. PROGRAMAÇÃO INTEIRA
10.1 Objetivo da Programação Inteira
Se um determinado problema de otimização puder ser representado pela formulação
representada em (10.1), a sua solução ótima é dada por (10.2).
Max Z = 20X1 + 10X2
(10.1)
ST:
X1 + 0,45X2 ≤ 5
X1 + 1,7X2 ≤ 12
X1, X2 ≥ 0
X1 = 2,48
(10.2)
X2 = 5,60
Z = 105,60
A solução deste problema também pode ser vista na análise do gráfico da figura 10.1.
Figura 10.1 – Solução gráfica
Figura 10.1 – Solução gráfica do problema
O resultado apresentado em (10.2) são o que se denominam valores contínuos ou variáveis
contínuas. Estas Variáveis contínuas são diferentes das variáveis inteiras e o arredondamento
pode não levar a solução ótima!
O problema resolvido por técnica de Programação Inteira, pode levar a resultados bastante
diferentes do arredondamento. A figura 10.2 ilustra que o arredondamento para este caso faz
com que a solução fique fora da região de solução, e assim não se constituindo em uma
Curso de Pesquisa Operacional
84
resposta para o problema. Se o resultado implicar em valores grandes, o arredondamento
normalmente pode ser utilizado.
Figura 10.2 – Arredondamento da solução
A Programação Inteira possui uma técnica particular de solução, chamada de “Método Branch
and Bound”, que se baseia na montagem de um diagrama tipo árvore, em que cada ramo é
uma opção de solução inteira. Apenas alguns ramos são testados e para cada tentativa, o
Método Simplex é utilizado. O computador é indispensável!
O que acontece é a busca nos pontos identificados na figura 10.3
Curso de Pesquisa Operacional
85
Figura 10.3 – Pontos candidatos à solução do problema
10.2 Por que programação inteira?
Vantagens de restringir variáveis para obter valores inteiros:
1. Mais realista
2. Maior flexibilidade
Desvantagens:
1. Mais difícil de modelar
2. Pode ser bem mais difícil de solucionar
O mistério da programação inteira:
•
Alguns programas de inteiros são fáceis (é possível resolver os problemas com
milhões de variáveis);
•
Alguns programas de inteiros são difíceis (até mesmo 100 variáveis podem ser
difíceis);
•
Expertise e experiência são essenciais para saber o que é o que!
•
É uma área de pesquisa ativa em várias Universidades.
Todos os programas de inteiros possuem igualdades e desigualdades lineares e algumas ou
todas as variáveis devem ser inteiras. Tipos de programação inteira:
•
Se todas as variáveis devem ser inteiras, então esse programa pode ser chamado de
programa puro de inteiros.
•
Se todas as variáveis devem ser 0 ou 1, o programa é chamado de programa binário de
inteiros ou um programa de inteiros 0 -1.
Curso de Pesquisa Operacional
•
86
Se algumas variáveis forem números fracionários e outros números inteiros, então o
problema é chamado programação inteira mista (PIM).
10.3 Como modelar restrições “lógicas”
Exemplos:
1. São selecionados exatamente 3 estoques.
2. Se o estoque 2 for selecionado, o estoque 1 também o será.
3. Se o estoque 1 for selecionado, então o estoque 3 não será selecionado.
4. O estoque 4 ou 5 é selecionado, mas não os dois.
São selecionados exatamente 3 estoques: Imaginando um exemplo com 6 variáveis de
decisão, e todas binárias, a restrição pode ser a mostrada em 10.3.
x1 + x2 + x3 + x4 + x5 + x6 = 3
(10.3)
Se o estoque 2 for selecionado, o estoque 1 também o será: A restrição da programação inteira
é mostrada em (10.4).
x1 ≥ x2
(10.4)
Curso de Pesquisa Operacional
87
11. PROBLEMA DO TRANSPORTE
11.1 Objetivo do Problema do Transporte
Minimizar o custo de todo o volume de transporte, obedecendo às necessidades de
recebimento do destino e capacidade de envio da fonte.
Conhecemos os custos unitários de transporte de cada origem para cada destino (Cij). Desejase decidir quanto transportar de cada origem para cada destino (Xij).
Este problema pode ser melhor analisado pela representação apresentada na figura 11.1
Figura 11.1 – Exemplo do problema de transporte
Primeiro passo: Variáveis de decisão
Para este caso: a empresa precisa determinar a quantidade a ser transportada de cada origem
para cada destino. Assim:
Xij = quantidade a ser transportada da origem i para o destino j;
i = 1; 2; 3; 4;
j = 1; 2; 3;
Segundo passo: Função objetivo
Objetivo: Minimizar o custo de transporte, que é dado por:
Curso de Pesquisa Operacional
88
Min C = 6X11 + 5X12 + 8X13 + 13X21 + 12X22 + 1X23 + 7X31+ 9X32 + 5X33 + 10X41 +
6X42 + 4X43
Terceiro passo: restrições
Origens: retiradas = disponibilidades
O1 – retirada = X11 + X12 + X13 = 10 (disponibilidade O1)
O2 – retirada = X21 + X22 + X23 = 20 (disponibilidade O2)
O3 – retirada = X31 + X32 + X33 = 12 (disponibilidade O3)
O4 – retirada = X41 + X42 + X43 = 13 (disponibilidade O4)
Destinos: transportes = necessidades
D1 – chegada = X11 + X21 + X31 + X41 = 8 (necessidade D1)
D2 – chegada = X12 + X22 + X32 + X42 = 32 (necessidade D2)
D3 – chegada = X13 + X23 + X33 + X43 = 15 (necessidade D3)
Quarto passo: Restrições adicionais
Para completar a formulação do problema:
Xij >= 0;
i = 1; 2; 3; 4;
j = 1; 2; 3;
Resumindo
min C = 6X11 + 5X12 + 8X13+ 13X21 + 12X22 + 1X23+ 7X31+ 9X32 + 5X33+ 10X41 +
6X42 + 4X43
Sujeito a:
X11 + X12 + X13 = 10
X21 + X22 + X23 = 20
X31 + X32 + X33 = 12
X41 + X42 + X43 = 13
X11 + X21 + X31 + X41 = 8
X12 + X22 + X32 + X42 = 32
Curso de Pesquisa Operacional
89
X13 + X23 + X33 + X43 = 15
Xij >= 0
11.2 Maneira simples de representar o problema
O problema apresentado no item anterior é comumente representado como ilustrado na figura
11.2.
Figura 11.2 – Representação do problema de transporte
A solução do problema de transporte, como todo problema de programação linear, pode ser
obtida pelo método Simplex. Entretanto, devido a suas características especiais, podemos
descrever um método que, embora mantenha fases e critérios do Simplex, tem os cálculos
simplificados. Este exemplo será mais bem trabalhado em sala de aula, mostrando como usar
o Excel para a sua solução.
11.3 Exercícios
Exercício 1
Determinar a melhor programação de transporte de maneira a se ter o menor custo.
Curso de Pesquisa Operacional
90
Exercício 2
Determinar a melhor programação de transporte. Os lucros unitários e as disponibilidades e
necessidades do produto estão no quadro abaixo.
Exercício 3
Determinar a melhor programação de transporte de maneira a se ter o menor custo. Não é
possível abastecer D3 a partir de O1.
Curso de Pesquisa Operacional
12. REDES
Problemas de rede
• Casos especiais de problemas de programação
linear que são mais bem analisados através de
uma representação gráfica.
• Importantes problemas de otimização, tais como
problemas de logística e de energia, produção e
outros, são eficientemente resolvidos e
modelados como problemas de rede.
2
Problemas de rede
• Modelos de rede facilitam a visualização das
relações entre os componentes do sistema,
aumentando o entendimento do problema e de
seus possíveis resultados.
• É uma modelagem muita usada.
3
Terminologia
• Redes, nós e arcos:
Nós
Arcos
4
91
Curso de Pesquisa Operacional
Problemas de rede
(Classificação usual)
• Problemas de transporte e rede de
distribuição;
• Problemas de menor caminho;
• Problemas de fluxo máximo.
5
12.1 Problemas de distribuição
Problemas de
Distribuição
• Problemas que consideram múltiplas fontes,
centros consumidores e locais intermediários
por onde os produtos simplesmente passam são
denominados problemas de distribuição.
• O problema de transporte já estudado é uma
simplificação do problema de rede de
distribuição.
6
92
Curso de Pesquisa Operacional
Problemas de
Distribuição – exemplo
• Uma montadora de carros esta iniciando as
suas operações no Brasil, construindo 2
fábricas: uma na Bahia e outra em São Paulo. A
montadora esta estudando a forma de
distribuição de seus carros para as diversas
revendas, localizadas nos estados: Goiás, Rio de
Janeiro, Minas Gerais, Paraná, Santa Catarina e
Rio Grande do Sul, que minimize o custo total
de distribuição.
7
Problemas de
Distribuição – exemplo
• As capacidades instaladas de cada uma das
fábricas, as demandas das revendas, bem como
os custos unitários de transporte entre fábricas
e revendas estão evidenciados no diagrama a
seguir.
8
Problemas de
Distribuição – exemplo
-500
40
BA
1
25
GO
5
150
20
MG
3
30
200
-600
SP
2
Demandas
20
20
(1400)
RJ
4
15
350
20
35
PR
6
300
50
Oferta (capacidade das fábricas)
SC
7
150
20
(1100)
RS
8
250
9
93
Curso de Pesquisa Operacional
Problemas de
Distribuição
• Existem 2 maneiras básicas de resolver este
problema. A primeira consiste em inserir uma
unidade dummy que iguale a oferta a demanda.
• A segunda forma de resolver é seguir a Regra do
Fluxo Balanceado para cada nó da rede. Este
método dispensa o uso de unidades dummys. O
desequilíbrio entre oferta e demanda total é
tratado através de restrições maior ou igual ou
de menor ou igual.
10
Problemas de
Distribuição
• Regra do fluxo balanceado:
Situação
do
exemplo
Hipótese:
Tipo de Restrição:
Oferta > Demanda
Entradas – Saídas ≥ Oferta ou Demanda do
Nó
Oferta < Demanda
Entradas – Saídas ≤ Oferta ou Demanda do
Nó
Oferta = Demanda
Entradas – Saídas = Oferta ou Demanda do
Nó
11
Primeiro passo: Variáveis de decisão
-500
40
BA
1
25
Quantidades
de veículos
enviados de
cada fábrica
para cada
distribuidor
GO
5
150
PR
6
300
20
MG
3
30
200
20
20
-600
SP
2
RJ
4
15
350
20
35
50
SC
7
150
20
RS
8
250
12
94
Curso de Pesquisa Operacional
Primeiro passo: Variáveis de decisão
•
•
•
•
•
•
•
•
•
•
•
X13 – número de
de BA para MG.
X14 – número de
de BA para RJ.
X15 – número de
de BA para GO.
X23 – número de
de SP para MG.
X24 – número de
de SP para RJ.
X26 – número de
de SP para PR.
X27 – número de
de SP para SC.
X28 – número de
de SP para RS.
X34 – número de
de MG para RJ.
X35 – número de
de MG para GO.
X78 – número de
de SC para RS.
carros enviados
carros enviados
-500
40
BA
1
25
carros enviados
30
150
PR
6
300
200
carros enviados
20
20
carros enviados
carros enviados
GO
5
20
MG
3
-600
SP
2
RJ
4
15
350
20
carros enviados
35
carros enviados
50
SC
7
carros enviados
carros enviados
150
20
RS
8
carros enviados
250
13
Segundo passo: função objetivo
9 Objetivo: Minimizar os custos de distribuição
-500
40
BA
1
25
•
•
•
•
•
•
•
•
•
•
•
X13
X14
X15
X23
X24
X26
X27
X28
X34
X35
X78
–
–
–
–
–
–
–
–
–
–
–
BA para MG.
BA para RJ.
BA para GO.
SP para MG.
SP para RJ.
SP para PR.
SP para SC.
SP para RS.
MG para RJ.
MG para GO.
SC para RS.
GO
5
150
PR
6
300
20
MG
3
30
200
20
20
-600
RJ
4
15
SP
2
350
20
35
50
SC
7
150
20
•
RS
8
min Z = 25X13 + 30X14 + 40X15 + 20X23 + 15X24 + 20X26 +
35X27 + 50X28 + 20X34 + 20X35 + 20X78
250
14
Terceiro passo: restrições
-500
40
BA
1
25
• Restrição 01 – nó 01
GO
5
150
PR
6
300
20
MG
3
30
200
• - X13 - X14 - X15 ≤ - 500
20
20
-600
SP
2
RJ
4
15
350
20
35
50
Situação do
exemplo
Hipótese:
Tipo de Restrição:
Oferta > Demanda
Entradas – Saídas ≥ Oferta ou Demanda do Nó
Oferta < Demanda
Entradas – Saídas ≤ Oferta ou Demanda do Nó
Oferta = Demanda
Entradas – Saídas = Oferta ou Demanda do Nó
SC
7
150
20
RS
8
15
250
95
Curso de Pesquisa Operacional
Terceiro passo: restrições
-500
40
BA
1
25
GO
5
150
PR
6
300
20
MG
3
30
200
20
20
-600
SP
2
RJ
4
15
350
20
35
50
SC
7
• Restrição 02 – nó 02
150
20
• – X23 – X24 – X26 – X27 – X28 ≤ - 600
RS
8
250
16
Terceiro passo: restrições
-500
40
BA
1
25
GO
5
150
PR
6
300
20
MG
3
30
200
20
20
-600
SP
2
RJ
4
15
350
20
35
50
SC
7
• Restrição 03 – nó 03
150
20
• X13 + X23 – X34 – X35 ≤ 200
RS
8
250
17
Terceiro passo: restrições
-500
40
BA
1
25
GO
5
150
PR
6
300
20
MG
3
30
200
20
20
-600
SP
2
RJ
4
15
350
20
35
50
• Restrição 04 – nó 04
• X14 + X24 + X34 ≤ 350
SC
7
150
20
RS
8
250
18
96
Curso de Pesquisa Operacional
Terceiro passo: restrições
-500
40
BA
1
25
GO
5
150
PR
6
300
20
MG
3
30
200
20
20
-600
SP
2
RJ
4
15
350
20
35
50
SC
7
• Restrição 05 – nó 05
150
20
• X15 + X35 ≤ 150
RS
8
250
19
Terceiro passo: restrições
-500
40
BA
1
25
GO
5
150
PR
6
300
20
MG
3
30
200
20
20
-600
SP
2
RJ
4
15
350
20
35
50
SC
7
• Restrição 06 – nó 06
150
20
• X26 ≤ 300
RS
8
250
20
Terceiro passo: restrições
-500
40
BA
1
25
GO
5
150
PR
6
300
20
MG
3
30
200
20
20
-600
SP
2
RJ
4
15
350
20
35
50
• Restrição 07 – nó 07
• X27 – X78 ≤ 150
SC
7
150
20
RS
8
250
21
97
Curso de Pesquisa Operacional
Terceiro passo: restrições
-500
40
BA
1
25
GO
5
150
PR
6
300
20
MG
3
30
200
20
20
-600
SP
2
RJ
4
15
350
20
35
50
SC
7
• Restrição 08 – nó 08
150
20
• X28 + X78 ≤ 250
RS
8
250
22
Quarto passo: Restrições
adicionais
9 Para completar a formulação do
problema:
• Xij >= 0
• i = 1; 2; ....
23
Solução pelo Solver
-500
40
BA
1
25
GO
5
150
PR
6
300
20
MG
3
30
200
Variáveis de
decisão
20
20
-600
SP
2
Para
3
4
5
3
4
6
7
8
4
5
8
350
20
Distribuição de carros
De
1
1
1
2
2
2
2
2
3
3
7
RJ
4
15
Problemas de rede de distribuição
35
Custo
25
30
40
20
15
20
35
50
20
20
20
Unidades
0
0
0
0
0
0
0
0
0
0
0
Nó
1
2
3
4
5
6
7
8
Fluxo liquido Oferta/Demanda
0
-500
0
-600
0
200
0
350
0
150
0
300
0
150
0
250
50
SC
7
150
20
RS
8
250
Informações conhecidas
24
Custo Total =
0
98
Curso de Pesquisa Operacional
Solução pelo Solver
40
BA
1
-500
25
GO
5
150
PR
6
300
20
MG
3
30
200
20
20
-600
Problemas de rede de distribuição
SP
2
RJ
4
15
350
20
Distribuição de carros
De
1
1
1
2
2
2
2
2
3
3
7
Para
3
4
5
3
4
6
7
8
4
5
8
Custo
25
30
40
20
15
20
35
50
20
20
20
Unidades
0
0
0
0
0
0
0
0
0
0
0
*
Nó
1
2
3
4
5
6
7
8
35
Fluxo liquido Oferta/Demanda
0
-500
0
-600
0
200
0
350
0
150
0
300
0
150
0
250
Custo Total =
50
SC
7
150
20
RS
8
Fórmula
0
250
25
Solução pelo Solver
(Função Objetivo)
26
Solução pelo Solver
(Restrições)
-500
40
BA
1
25
• Restrição 01 – nó 01
30
150
PR
6
300
200
• - X13 - X14 - X15 ≤ - 500
20
20
-600
GO
5
20
MG
3
SP
2
RJ
4
15
350
20
35
50
SC
7
150
20
RS
8
27
250
99
Curso de Pesquisa Operacional
Solução pelo Solver
(Restrições)
-500
40
BA
1
25
GO
5
150
PR
6
300
20
MG
3
30
• Restrição 01 – nó 01
200
20
20
• - X13 - X14 - X15 ≤ - 500
-600
SP
2
RJ
4
15
350
20
35
Entradas
Saídas
50
SC
7
150
20
RS
8
250
28
Solução pelo Solver
(Todas as Restrições)
29
Solução pelo
Solver
-500
40
BA
1
25
GO
5
150
PR
6
300
20
MG
3
30
200
20
20
(Solução)
-600
SP
2
RJ
4
15
350
20
35
50
SC
7
150
20
RS
8
30
250
100
Curso de Pesquisa Operacional
12.2 Problemas do menor caminho
Problema do Menor
Caminho
• Problema que representa um outro caso
especial de problemas de redes, em que
os arcos significam a distância entre 2
pontos (nós).
• Quando deseja-se achar a rota que une
estes pontos com a distância mínima
possível, tem-se um problema de menor
caminho.
31
Problema do Menor
Caminho
• Nestes problema existem sempre 2 nós
especiais chamados de origem e destino.
Entre um nó de origem e um nó de
destino geralmente existem nós
intermediários, que podem representar
cidades que conectam rodovias,
subestações em problemas de
distribuição de energia, etc...
32
Problema do Menor
Caminho - Exemplo
• Um fabrica de artigos de decoração,
localizada em Lambari, deve entregar
uma grande quantidade de peças na
cidade de Baependi. A empresa quer
saber qual o caminho que seu caminhão
deve fazer para minimizar a distância
percorrida.
33
101
Curso de Pesquisa Operacional
Problemas de Menor
Caminho – exemplo
S. Thomé das Letras
Três Corações
Lambari
37
Km
2
41
Km
4
50
Km
1
45
Km
5
27
Km
44
Km
Baependi
4
Km
6
Caxambu
3
São Lourenço
34
Problemas de Menor
Caminho
• A modelagem do problema terá variáveis
binárias do tipo Xij, indicando o sentido
da cidade i para a cidade j. Se o valor da
variável for igual a 1 significa que aquele
trecho deve ser percorrido. De forma
inversa, se o valor da variável for igual a
zero, significa que aquele trecho não deve
ser percorrido.
35
Primeiro passo: Variáveis de decisão
S. Thomé das Letras
Três Corações
Lambari
37
Km
2
41
Km
4
50
Km
1
45
Km
5
27
Km
44
Km
Baependi
4
Km
6
Caxambu
3
São Lourenço
•
•
•
•
X12 – trecho
X13 – trecho
X15 – trecho
X24 – trecho
Letras.
• X35 – trecho
• X46 – trecho
• X56 – trecho
Lambari – Três Corações.
Lambari – São Lourenço.
Lambari – Caxambu.
Três Corações – São Thomé das
São Lourenço – Caxambu.
São Thomé das Letras – Baependi.
Caxambu – Baependi.
36
102
Curso de Pesquisa Operacional
Segundo passo: função objetivo
9 Objetivo: Minimizar a distância percorrida pelo
caminhão
S. Thomé das Letras
Três Corações
2
41
Km
Lambari
37
Km
4
45
Km
50
Km
1
5
27
Km
44
Km
Baependi
4
Km
6
•
Caxambu
3
•
São Lourenço
•
•
X12 –Lambari – Três
Corações.
X13 –Lambari – São
Lourenço.
X15 –Lambari – Caxambu.
X24 –Três Corações – São
Thomé das Letras.
X35 –São Lourenço –
Caxambu.
X46 –São Thomé das Letras –
Baependi.
37
X56 –Caxambu – Baependi.
•
•
Min Z = 41X12 + 44X13 + 50X15 + 37X24 +
•
27X35 + 45X46 + 4X56
•
Terceiro passo: restrições
S. Thomé das Letras
Três Corações
Lambari
37
Km
2
41
Km
4
45
Km
50
Km
1
5
27
Km
44
Km
Oferta = -1
Baependi
4
Km
Caxambu
6
Demanda = 1
3
São Lourenço
Situação
do
exemplo
Hipótese:
Tipo de Restrição:
Oferta > Demanda
Entradas – Saídas ≥ Oferta ou Demanda do Nó
Oferta < Demanda
Entradas – Saídas ≤ Oferta ou Demanda do Nó
Oferta = Demanda
Entradas – Saídas = Oferta ou Demanda do Nó
38
Terceiro passo: restrições
S. Thomé das Letras
Três Corações
Lambari
37
Km
2
41
Km
50
Km
1
45
Km
5
27
Km
44
Km
4
Km
Baependi
6
Caxambu
• Restrição 01:
3
São Lourenço
Situação
do
exemplo
4
• - X12 - X13 - X15 = - 1
Hipótese:
Tipo de Restrição:
Oferta > Demanda
Entradas – Saídas ≥ Oferta ou Demanda do Nó
Oferta < Demanda
Entradas – Saídas ≤ Oferta ou Demanda do Nó
Oferta = Demanda
Entradas – Saídas = Oferta ou Demanda do Nó
39
103
Curso de Pesquisa Operacional
Terceiro passo: restrições
S. Thomé das Letras
Três Corações
Lambari
37
Km
2
41
Km
4
50
Km
1
45
Km
5
27
Km
44
Km
6
Caxambu
• Restrição 02:
3
• X12 – X24 = 0
São Lourenço
Situação
do
exemplo
Baependi
4
Km
Hipótese:
Tipo de Restrição:
Oferta > Demanda
Entradas – Saídas ≥ Oferta ou Demanda do Nó
Oferta < Demanda
Entradas – Saídas ≤ Oferta ou Demanda do Nó
Oferta = Demanda
Entradas – Saídas = Oferta ou Demanda do Nó
40
Terceiro passo: restrições
S. Thomé das Letras
Três Corações
Lambari
2
41
Km
37
Km
4
50
Km
1
45
Km
5
27
Km
44
Km
Baependi
4
Km
6
Caxambu
3
São Lourenço
• Restrição 03:
• X13 – X35 = 0
41
Terceiro passo: restrições
S. Thomé das Letras
Três Corações
Lambari
2
41
Km
37
Km
4
50
Km
1
5
27
Km
44
Km
45
Km
4
Km
Baependi
6
Caxambu
3
São Lourenço
• Restrição 04:
• X24 – X46 = 0
42
104
Curso de Pesquisa Operacional
Terceiro passo: restrições
S. Thomé das Letras
Três Corações
Lambari
2
41
Km
37
Km
4
50
Km
1
45
Km
5
27
Km
44
Km
Baependi
4
Km
6
Caxambu
3
São Lourenço
• Restrição 05:
• X15 + X35 – X56 = 0
43
Terceiro passo: restrições
S. Thomé das Letras
Três Corações
Lambari
2
41
Km
37
Km
4
50
Km
1
5
27
Km
44
Km
45
Km
4
Km
Baependi
6
Caxambu
3
São Lourenço
• Restrição 06:
• X46 + X56 = 1
44
Quarto passo: Restrições
adicionais
9Para completar a formulação do
problema:
• Xij = 0 ou 1
• i = 1; 2; ....
45
105
Curso de Pesquisa Operacional
Solução pelo Solver
S. Thomé das Letras
Três Corações
2
41
Km
Lambari
37
Km
4
50
Km
1
Baependi
4
Km
5
27
Km
44
Km
Variáveis de
decisão
45
Km
6
Caxambu
3
São Lourenço
46
Informações conhecidas
Solução pelo Solver
S. Thomé das Letras
Três Corações
Lambari
37
Km
2
41
Km
4
50
Km
1
45
Km
5
27
Km
44
Km
Baependi
4
Km
6
Caxambu
3
São Lourenço
Fórmula
47
Solução pelo Solver
(Função Objetivo)
S. Thomé das Letras
Três Corações
Lambari
2
41
Km
37
Km
4
50
Km
1
5
27
Km
44
Km
45
Km
Baependi
4
Km
6
Caxambu
3
São Lourenço
*
Fórmula
48
106
Curso de Pesquisa Operacional
Solução pelo Solver
(Restrições)
• Restrição 01:
• - X12 - X13 - X15 = - 1
49
Solução pelo Solver
Hipótese:
Situação
do
exemplo
(Restrições)
Tipo de Restrição:
Oferta > Demanda
Entradas – Saídas ≥ Oferta ou Demanda do Nó
Oferta < Demanda
Entradas – Saídas ≤ Oferta ou Demanda do Nó
Oferta = Demanda
Entradas – Saídas = Oferta ou Demanda do Nó
Entradas
Saídas
50
Solução pelo Solver
Hipótese:
Situação
do
exemplo
(Restrições)
Tipo de Restrição:
Oferta > Demanda
Entradas – Saídas ≥ Oferta ou Demanda do Nó
Oferta < Demanda
Entradas – Saídas ≤ Oferta ou Demanda do Nó
Oferta = Demanda
Entradas – Saídas = Oferta ou Demanda do Nó
51
107
Curso de Pesquisa Operacional
Solução pelo Solver
(Solução)
S. Thomé das Letras
Três Corações
Lambari
2
41
Km
37
Km
4
50
Km
1
5
27
Km
44
Km
45
Km
Baependi
4
Km
6
Caxambu
3
São Lourenço
52
12.2 Problemas do Fluxo máximo
Problema do Fluxo
Máximo
• Quando se quer maximizar a quantidade de um
fluxo de um ponto de origem para um ponto de
destino e estamos sujeitos a restrições de
capacidade de fluxo nos arcos.
• Estes problemas geralmente envolvem fluxo de
materiais como água, óleo, gás, energia através
de uma rede de tubos ou canos. Podem
representar fluxo de carros em malhas viárias,
produtos em linha de produção, etc....
53
108
Curso de Pesquisa Operacional
Problema do Fluxo
Máximo - Exemplo
• Uma empresa distribuidora de gás deseja
determinar a quantidade máxima de metros
cúbicos por segundo de gás que pode bombear
da estação de Campos para o centro
consumidor do Rio de Janeiro, através da rede
de gasodutos existentes. A figura a seguir
ilustra o caso.
54
Problema do Fluxo
Máximo - Exemplo
30 m3/s
40 m3/s
1
3
20 m3/s
Rio de Janeiro
,
Campos
20 m3/s
A
B
40 m3/s
30 m3/s
2
4
30 m3/s
55
Problema do Fluxo
Máximo
• Para resolvermos este problema, utilizaremos
um pequeno artifício: adicionaremos um arco
virtual ligando o nó B ao nó A.
• A FO será portanto a maximização do fluxo de
gás que passa de B para A.
• Como o fluxo do Rio de Janeiro para Campus
não existe, o valor do fluxo no arco artificial
representará o total de gás que pode chegar ao
Rio de Janeiro vindo de Campus por mais de
um caminho simultaneamente.
56
109
Curso de Pesquisa Operacional
Problema do Fluxo
Máximo - Exemplo
30 m3/s
1
40 m3/s
20 m3/s
3
Rio de Janeiro
Campos
20 m3/s
A
B
30 m3/s
40 m3/s
2
4
30 m3/s
57
Primeiro passo: Variáveis de decisão
30 m3/s
40 m3/s
1
20 m3/s
3
Rio de Janeiro
Campos
20 m3/s
A
B
40 m3/s
30 m3/s
2
4
30 m3/s
•
•
•
•
•
•
•
•
XA1 – m3/s que saem de Campus e chegam a estação 01.
XA2 – m3/s que saem de Campus e chegam a estação 02.
X13 – m3/s que saem da estação 01 e chegam a estação 03.
X14 – m3/s que saem da estação 01 e chegam a estação 04.
X24 – m3/s que saem da estação 02 e chegam a estação 04.
X3B – m3/s que saem da estação 03 e chegam no Rio de Janeiro.
X4B – m3/s que saem da estação 04 e chegam no Rio de Janeiro.
XBA – m3/s que saem do Rio de Janeiro e chegam em Campus.
(artificial)
58
Segundo passo: função objetivo
9 Objetivo: Maximizar o fluxo de gás
30 m3/s
40 m3/s
1
20 m3/s
3
Rio de Janeiro
Campos
20 m3/s
A
B
30 m3/s
40 m3/s
2
4
30 m3/s
Max Z =
XBA
59
110
Curso de Pesquisa Operacional
Terceiro passo: restrições
30 m3/s
40 m3/s
1
3
20 m3/s
Rio de Janeiro
Campos
20 m3/s
A
B
30 m3/s
40 m3/s
2
4
30 m3/s
•
Restrições:
• O fluxo de cada arco deverá ser maior ou igual a zero;
• O fluxo de cada arco deverá ser menor ou igual a capacidade
do arco;
• O fluxo que chega em cada nó deverá ser igual ao fluxo do
que sai do mesmo;
• O fluxo do arco artificial (desconhecido) deve ser grande o
bastante para assumir qualquer valor possível, já que este
será maximizado.
60
Terceiro passo: restrições
30 m3/s
40 m3/s
1
3
20 m3/s
Rio de Janeiro
Campos
20 m3/s
A
B
30 m3/s
40 m3/s
2
4
30 m3/s
•
Restrições de capacidade:
• XA1 ≤ 40; XA2 ≤ 30;
• X13 ≤ 30; X14 ≤ 20;
• X24 ≤ 30; X3B ≤ 20;
• X4B ≤ 40; XBA ≤ 9999;
61
Terceiro passo: restrições
30 m3/s
40 m3/s
1
3
20 m3/s
Rio de Janeiro
Campos
20 m3/s
A
B
40 m3/s
30 m3/s
2
4
30 m3/s
•
Restrições de fluxo:
• XBA – (XA1 + XA2) = 0
• XA1 – (X13 + X14) = 0
• XA2 – X24 = 0
• X13 – X3B = 0
• X14 + X24 – X4B = 0
• X3B + X4B – XBA = 0
Hipótese:
Tipo de Restrição:
Oferta > Demanda
Entradas – Saídas ≥ Oferta ou Demanda do Nó
Oferta < Demanda
Entradas – Saídas ≤ Oferta ou Demanda do Nó
Oferta = Demanda
Entradas – Saídas = Oferta ou Demanda do Nó
Situação do
exemplo
62
111
Curso de Pesquisa Operacional
Quarto passo: Restrições
adicionais
9 Para completar a formulação do
problema:
• Xij >= 0
• i = A; B; 1; 2; ....
63
Solução pelo Solver
30
m3/s
Campos
1
40
m3/s
20
m3/s
3
Rio de Janeiro
20
m3/s
A
B
40
m3/s
30
m3/s
2
4
30
m3/s
Variáveis de
decisão
64
Informações conhecidas
Solução pelo Solver
(Função Objetivo)
Fórmula
65
112
Curso de Pesquisa Operacional
Solução pelo Solver
(Restrições)
Entradas
Saídas
66
Solução pelo Solver
(Restrições)
67
Solução pelo Solver
(Solução)
30 m3/s
40 m3/s
1
3
20 m3/s
Rio de Janeiro
Campos
20 m3/s
A
B
30 m3/s
40 m3/s
2
4
30 m3/s
68
113
Curso de Pesquisa Operacional
ESTUDOS DE CASOS
114
Curso de Pesquisa Operacional
115
Assunto: Programação Linear
PROBLEMA DE ORÇAMENTO DE CAPITAL
Uma empresa do setor elétrico esta considerando sua participação em seis novas
possibilidades de investimento. Estes projetos estão sendo elaborados através de Project
Finance. Como os acionistas da empresa querem participar de novos investimentos no setor,
buscando melhorar seus dividendos e permitir o crescimento da empresa, eles pediram ao
Diretor Financeiro uma avaliação e sugestões de quais projetos deveriam investir e com qual
participação. O Diretor Financeiro montou uma equipe de analistas para lhe ajudar.
As informações preliminares, de cada alternativa de investimento, foram às apresentadas na
tabela a seguir.
Data Investimento Investimento Investimento Investimento Investimento Investimento
1
2
3
4
5
6
0
-5
-8
-15
-15
-40
-25
1
-10
-6
-13
-7
-2
-30
2
15
15
30
20
30
55
3
15
15
30
20
30
55
4
15
15
30
20
30
55
5
15
15
30
20
30
55
O conselho de acionistas reservou para investimento os seguintes valores:
Ano
$
0
45
1
30
A TMA da empresa é de 15% ao ano. O Diretor Financeiro fez aos seus analistas uma série de
perguntas, para que na próxima reunião de acionistas pudesse informar e esclarecer melhor
sobre o assunto. As perguntas foram:
1. Os investimentos são atrativos? Sendo vocês a equipe de analistas de investimentos,
qual seria a opinião quanto a cada um dos investimentos?
2. Qual o melhor investimento?
3. Para que fosse possível maximizar a rentabilidade destes investimentos, qual a
sugestão de quanto investir em cada uma das alternativas? Qual o VPL desta
Curso de Pesquisa Operacional
116
combinação de investimentos? Observação: O VPL, investimentos e receitas são
ajustados de acordo com a participação em cada um dos investimentos.
4. Vai sobrar algum recurso que os acionistas alocaram para as datas 0 e 1?
5. Depois do resultado obtido na carteira que maximiza o VPL (item 3), se a houver a
decisão de não investir na alternativa 03 (retirá-la da carteira e manter os outros
investimentos nos níveis obtidos na resposta do item 3), qual o valor esperado do VPL
do conjunto de investimentos realizados? Qual recurso do solver ajuda a responder a
esta pergunta?
6. Se os acionistas estiverem dispostos a aumentar o valor reservado para os
investimentos, mas em apenas uma das datas, qual é melhor para incrementar a
rentabilidade? Qual recurso do solver ajuda a responder a esta pergunta?
7. Qual o valor máximo que você recomenda ser acrescido no orçamento para a data do
item anterior que mantém o investimento na carteira determinada no item 02? Por
quê? Qual recurso do solver ajuda a responder a esta pergunta?
8. Se os acionistas alocarem o recurso máximo permitido, qual o VPL esperado do
conjunto de investimentos?
9. Qual a quantidade mínima de recursos que pode ser alocada a esta data que mantém
na carteira de investimentos as mesmas alternativas encontradas no item 2? Qual
recurso do solver ajuda a responder a esta pergunta?
10. Se os acionistas resolverem que desejam investir 10% a menos do que o calculado
como ideal para o investimento 4, que comentário poderia ser feito sobre o VPL
esperado da carteira? Qual recurso do solver ajuda a responder a esta pergunta?
11. Qual investimento contribui mais para a maximização do VPL?
12. Qual valor de VPL faria o investimento que não estava previsto inicialmente no item
03, fazer parte da carteira?
13. Se for realizado o investimento 1, que observação poderia ser feita?
14. Se o desejo dos acionistas é selecionar alternativas que o orçamento permita investir,
mas que para estes investimentos à empresa tenha propriedade de 100% deles, quais
são os investimentos que deveriam ser adquiridos?
15. Qual o VPL esperado para esta nova carteira?
16. Com esta carteira sobrarão recursos previstos para investimento? Quais são estes
valores?
Curso de Pesquisa Operacional
ANEXOS
117
Curso de Pesquisa Operacional
Tabela:
Z
X1
X2
X3
X4
X5
b
razão
X1
X2
X3
X4
X5
b
razão
X1
X2
X3
X4
X5
b
razão
X1
X2
X3
X4
X5
b
razão
X1
X2
X3
X4
X5
b
razão
Base
Variáveis básicas:
Variáveis não básicas:
Função Z:
Tabela:
Z
Base
Variáveis básicas:
Variáveis não básicas:
Função Z:
Tabela:
Z
Base
Variáveis básicas:
Variáveis não básicas:
Função Z:
Tabela:
Z
Base
Variáveis básicas:
Variáveis não básicas:
Função Z:
Tabela:
Z
Base
Variáveis básicas:
Variáveis não básicas:
Função Z:
118
Curso de Pesquisa Operacional
Tabela:
Z
X1
X2
X3
X4
X5
b
razão
X1
X2
X3
X4
X5
b
razão
X1
X2
X3
X4
X5
b
razão
X1
X2
X3
X4
X5
b
razão
X1
X2
X3
X4
X5
b
razão
Base
Variáveis básicas:
Variáveis não básicas:
Função Z:
Tabela:
Z
Base
Variáveis básicas:
Variáveis não básicas:
Função Z:
Tabela:
Z
Base
Variáveis básicas:
Variáveis não básicas:
Função Z:
Tabela:
Z
Base
Variáveis básicas:
Variáveis não básicas:
Função Z:
Tabela:
Z
Base
Variáveis básicas:
Variáveis não básicas:
Função Z:
119
Curso de Pesquisa Operacional
Tabela:
Z
X1
X2
X3
X4
X5
b
razão
X1
X2
X3
X4
X5
b
razão
X1
X2
X3
X4
X5
b
razão
X1
X2
X3
X4
X5
b
razão
X1
X2
X3
X4
X5
b
razão
Base
Variáveis básicas:
Variáveis não básicas:
Função Z:
Tabela:
Z
Base
Variáveis básicas:
Variáveis não básicas:
Função Z:
Tabela:
Z
Base
Variáveis básicas:
Variáveis não básicas:
Função Z:
Tabela:
Z
Base
Variáveis básicas:
Variáveis não básicas:
Função Z:
Tabela:
Z
Base
Variáveis básicas:
Variáveis não básicas:
Função Z:
120
Curso de Pesquisa Operacional
FORMULAÇÃO E SOLUÇÃO ÓTIMA DO
EXEMPLO DE ANÁLISE ECONÔMICA (ITEM 7)
Formulação:
Max Z = 2100X1 + 1200X2 + 600X3
Sujeito a:
6X1 + 4X2 + 6X3 ≤ 4800
12X1 + 6X2 + 2X3 ≤ 7200
X1 ≤ 800
X2 ≤ 600
X3 ≤ 600
X1; X2; X3 ≥ 0.
Última tabela:
Z
1
0
0
0
0
0
X1
0
0
1
0
0
0
X2
0
0
0
0
1
0
X3
0
1
0
0
0
0
XF1
50
0.2
-0.03
0.03
0
0.2
XF2
150
-0.1
0.1
-0.1
0
0.1
XF3
0
0
0
1
0
0
XF4
100
-0.2
-0.47
0.47
1
0.2
XF5
0
0
0
0
0
1
b
1380000
120
280
520
600
480
121
Curso de Pesquisa Operacional
ANÁLISE DE SENSIBILIDADE PROBLEMA 9.3
Tela para análise de sensibilidade do QM for Windows
Tela para análise de sensibilidade do LINDO for Windows
Pasta para análise de sensibilidade do Solver do Excel
122

Documentos relacionados

CAP. 5 - INTRODUÇÃO A PROGRAMAÇÃO LINEAR

CAP. 5 - INTRODUÇÃO A PROGRAMAÇÃO LINEAR 5.1 Exemplo 1: Problema de orçamento de capital Uma empresa de petróleo esta considerando 5 diferentes oportunidades de investimento. O fluxo de caixa e valor presente (em milhões de reais) é dado ...

Leia mais

LISTA DE EXERCÈCIOS 1 œ PESQUISA OPERACIONAL

LISTA DE EXERCÈCIOS 1 œ PESQUISA OPERACIONAL cetim. O segundo modelo (M2) consome 2 m de brim, 4 m de seda e 6 m de cetim. Se M1 é vendido a 6.000 u.m. e M2 a 10.000 u.m., quantas peças de cada tipo o fabricante deve fazer para obter a receit...

Leia mais

Pesquisa Operacional Introdução, Histórico e - FACOM

Pesquisa Operacional Introdução, Histórico e - FACOM heurísticas a fim de obter soluções em tempo viável

Leia mais

Programação Linear - FACOM

Programação Linear - FACOM Muitos colocam o desenvolvimento da Programação Linear (PL) como um dos avanços científicos mais importantes do século XX. Seu impacto desde 1950 tem sido extraordinário. Hoje em dia é uma ferramen...

Leia mais