Você está na página 1de 136

Pesquisa

Operacional
Professor José Arnaldo Barra Montevechi
montevechi@unifei.edu.br
http://www.iepg.unifei.edu.br/arnaldo/

Universidade Federal de Itajubá


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

2016
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

1.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 racionalmente as
soluções mais eficientes (eficazes) ou as mais econômicas, recorrendo a procedimentos
Curso de Pesquisa Operacional 4

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 quantitativa 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 sequê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, homem-
hora, 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;
Curso de Pesquisa Operacional 7

5. Estabelecimento de controle sobre a solução;


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 consequê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?
Curso de Pesquisa Operacional 8

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).
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
Curso de Pesquisa Operacional 9

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 modelo
universal da PO. Sua 1inguagem é as equações. Na formulação destes tipos admite-se 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
Curso de Pesquisa Operacional 10

o lucro total, a função objetiva deve especificar o lucro em termos das 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 revelar
Curso de Pesquisa Operacional 12

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 consequê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 sobre 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 consequente 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 consequê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 sequenciais (sequê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 consequê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 sequenciais envolvem a determinação da sequência ótima para um conjunto de tarefas
ou eventos ou a melhor sequê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 sequenciais 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.

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.
Curso de Pesquisa Operacional 17

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 escritos 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
Curso de Pesquisa Operacional 19

dispõe 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 $6.000 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 1.750 ações, e que seu corretor só
possa conseguir 1.000 ações do tipo 1 e 1.500 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 Investimento no Investimento no Vida útil Economia anual


ano 1 ano 2 nos próximos 3
anos
1 12 3 5 anos 9.29
2 54 7 5 anos 26.85
3 6 6 5 anos 9.88
4 6 2 5 anos 7.92
5 30 35 5 anos 35.33
6 6 6 5 anos 8.14
7 48 4 5 anos 22.78
8 36 3 5 anos 16.91
9 18 2 5 anos 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
 Sabendo que a matéria prima
necessária é obtida sem problemas,
Giapetto tem como objetivo maximizar
o lucro semanal (receitas - custos).
 Vamos então formular
matematicamente a situação de
Giapetto com o objetivo de maximizar
o lucro semanal.
Curso de Pesquisa Operacional 21

Primeiro ponto
importante: Variáveis de
decisão
 Em qualquer modelo de PL, as variáveis
de decisão devem descrever
completamente as decisões a serem
feitas.
 Caso de Giapetto: quantos soldados e
trens devem ser feitos na semana?

Variáveis de decisão

 X1 = número de soldados produzidos


cada semana;
 X2 = número de trens produzidos a cada
semana.

Segundo ponto
importante:
Função objetivo
 Em qualquer modelo de PL, o decisor
quer maximizar ou minimizar alguma
função das variáveis de decisão.
 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.
Curso de Pesquisa Operacional 22

Função objetivo
 Receitas e custos: podem ser expressos em termos
das variáveis X1 e X2.
 Seria tolice Giapetto produzir mais soldados que ele
possa vender, assim assumimos que todos
brinquedos produzidos podem ser vendidos.
 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:

 Custos de M.P. = 10*X1 + 9*X2


 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
Curso de Pesquisa Operacional 23

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:
 cada semana, não mais que 100 horas de
acabamento;
 cada semana, não mais de 80 horas de
carpintaria;
 limitação de demanda, não mais de 40 soldados
por semana.

Restrições
 M.P. ilimitada, portanto não há
restrições.
 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


Curso de Pesquisa Operacional 24

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 Restrições para o


2. X1 + X2  80 problema de PL
3. X1  40 de Giapetto

Coeficientes Usualmente
tecnológicos: representam a
refletem a quantia quantidade de
usada para recursos
diferentes produtos. disponíveis.
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 Resumindo
todas as restrições
P.L. - todos os
termos X são de
max Z = 3X1 + 2X2 expoente 1 e as
sujeito a: restrições são
inequações
2X1 + X2  100 lineares
X1 + X2  80
X1  40 O problema de Giapetto
é típico de muitos outros,
X1  0 onde precisa-se
maximizar lucros
X2  0 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
Curso de Pesquisa Operacional 26

milhões de homens com grande poder aquisitivo. Um minuto de comercial durante o


programa de comédias custa $50.000, e durante a transmissão de futebol $100.000. 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 PL só pode ser resolvido graficamente desde que o modelo, em estudo,


apresentar duas variáveis.
Curso de Pesquisa Operacional 27

Implicações implícitas da FO
em PL
max Z = 3X1 + 2X2

 A contribuição para a função objetivo


de cada variável de decisão é
proporcional ao valor da variável de
decisão;
 A contribuição para a função objetivo
para cada variável é independente dos
valores de outras variáveis de decisão.

Definição
 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 região de solução

Restrições:
2X1 + X2  100 ok 2*40+20  100
X1 + X2  80 ok 40+20  80
X1  40 ok 40  40
X1  0 ok 40  0
X2  0 ok 20  0
Curso de Pesquisa Operacional 28

Região de solução

Giapetto: X1 = 15 X2 = 70 não é região de solução

Restrições:
2X1 + X2  100 ok 2*15+70  100
X1 + X2  80 não 15+70  80
X1  40 ok 15  40
X1  0 ok 15  0
X2  0 ok 70  0

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
 A maioria dos problemas de PL, tem
somente uma solução ótima;
 Alguns não tem solução ótima;
 Alguns tem infinitas soluções.

Para o problema de Giapetto, solução ótima:


X1=20 e X2 = 60

Z = 3*20 +2*60 = 180


Curso de Pesquisa Operacional 29

Solução gráfica para o


problema de 2 variáveis de
decisão
Um PL com 2 variáveis pode ser
resolvido graficamente.
Nós sempre nomeamos as variáveis
X1 e X2 e os eixos coordenados por
X1 e X2.

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

6
X2 = 2 - 2/3X1
5
4 Região onde:
3 2X1+3X2  6

2
1
X1
Região onde:
1 2 3 4 5 6
2X1+3X2  6
Curso de Pesquisa Operacional 30

Encontrando a região de solução


do problema de Giapetto:

2X1 + X2  100 Para um


X1 + X2  80 ponto (X1, X2)

X1  40 pertencer a região de
solução é preciso
X1  0
satisfazer todas
X2  0
estas inequações.

X1 e X2  0, indicam o primeiro quadrante

X2
(2) (4)
120
B Polígono DGFEH - região de solução
100

D
80
G Região convexa simplex
60
40
F (3)
20
E A C
X1

H 20 40 60 80 100 120

Encontrando a solução
ótima
 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
Curso de Pesquisa Operacional 31

Encontrando a solução
ótima
 Para encontrar a solução ótima, nós
precisamos desenhar uma linha sobre a
qual todos os pontos levem ao mesmo valor
de Z.
 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

Encontrando a solução
ótima
 3X1 + 2X2 = 60
 tem coeficiente angular = -3/2
 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
B Retas iso-lucro
100

D 80
G
Indica o ponto ótimo - G (20, 60)
60
40
F (3)
20
E A C
X1

H 20 40 60 80 100 120
X2 = 30 - 3/2 X1
Curso de Pesquisa Operacional 32

Lucro de Giapetto

Z = 3*20 + 2*60 = 180

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 quatro casos possíveis, sendo eles:
Curso de Pesquisa Operacional 33

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.

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.
Número de funcionários necessários
Dia 1 = Segunda-feira 17
Dia 2 = Terça-feira 13
Dia 3 = Quarta-feira 15
Dia 4 = Quinta-feira 19
Dia 5 = Sexta-feira 14
Dia 6 = Sábado 16
Dia 7 = Domingo 11
Curso de Pesquisa Operacional 34

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 cinco diferentes oportunidades de investimento. O
fluxo de caixa e valor presente (em milhões de reais) é dado na tabela a seguir.

Inv. 1 Inv. 2 Inv. 3 Inv. 4 Inv. 5


Desembolso 11 53 5 5 29
instante 0
Desembolso 3 6 5 1 34
instante 1
Valor 13 16 16 14 39
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.
Curso de Pesquisa Operacional 35

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 do ano 01, 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
(20.000/10.000).
Ativo circulante Obrigações
Caixa 10.000
Contas a receber 3.000
Estoques 7.000
Dívidas em bancos 10.000

A empresa precisa determinar quantos gravadores e rádios deverão produzidos em dezembro


do ano 01. 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 do ano 02. Durante dezembro, a
empresa irá receber $2.000 e precisará pagar $1.000 devido ao empréstimo bancário e $1.000
referente ao seu aluguel. Em primeiro de janeiro do ano 02, a empresa receberá um
carregamento de matéria prima no valor de $2.000, que será pago em fevereiro do ano 02. A
gerência decidiu que em primeiro de janeiro do ano 02 precisa ter pelo menos $4.000 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:
Preço de venda por barril Preço de compra por barril
Gasolina 1 70 Petróleo 1 45
Gasolina 2 60 Petróleo 2 35
Gasolina 3 50 Petróleo 3 25
Curso de Pesquisa Operacional 36

A refinaria pode comprar até 5000 barris de cada tipo de petróleo por dia. Os três 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 três tipos de petróleo são as seguintes:

Octanagem Enxofre
Petróleo 1 12 0.5%
Petróleo 2 6 2%
Petróleo 3 8 3%

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 três próximos
exemplos ilustram como decisões iniciais afetam decisões posteriores.
Curso de Pesquisa Operacional 37

4.5.5 Exemplo 5: Um modelo de estoques


Uma empresa de barcos precisa determinar quantos veleiros devem ser produzidos durante cada
um dos quatro 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 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 sequência de produção para minimizar a soma dos custos
de produção e estoques durante os quatro 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 três anos. Atualmente a empresa tem $100.000 disponíveis 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.

0 1 2 3
A -$1 $0,50 $1 $0
B $0 -$1 $0,50 $1
C -$1 $1.2 $0 $0
D -$1 $0 $0 $1,9
E $0 $0 -$1 $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
Curso de Pesquisa Operacional 38

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.

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): 6.000 horas;
 Mês 2 (fevereiro): 7.000 horas;
 Mês 3 (março): 8.000 horas;
 Mês 4 (abril): 9.500 horas;
 Mês 5 (maio): 11.000 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 $ 2.000 por mês (mesmo se ele não trabalhar às
160 horas). Durante o mês de treinamento, o novo funcionário recebe $ 1.000 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 cinco meses.

Problemas extras (Usando Programação Linear)


Curso de Pesquisa Operacional 39

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:

Exigência Sigla Mínimo (%) Máximo (%)


Gordura Gord. 10 16
Sólidos de leite (não gordurosos) SLNG 10,5 13
Total de sólidos do leite TSL 20,5 25
Açúcar 11 17
Total de sólidos TS 37,5 41,5
Água 58,5 62,5
Estabilizador 0,37 0,37
Emulsificador 0,10 0,10

A disposição do fabricante, para aquisição encontra-se facilmente as seguintes matérias primas:

Nome % % % % % % Custo
Gord SLNG TSL Açúcar TS Água
1 Creme 40% 40 5,4 45,4 45,4 54,6 27
2 Creme 38% 38 5,6 43,6 43,6 56,4 26
3 Leite 3,2% 3,2 8,7 11,9 11,9 88,1 3
4 Leite 4,0% 4,0 8,6 12,6 12,6 87,4 3
5 Leite condensado gordo 8 20 28 28 72 7
6 Leite condensado 28 28 28 72 3
magro
7 Manteiga 5 92 97 97 3 15
8 Sólidos secos Whey 95 95 95 5 10
9 Sacarose 100 100 10
10 Garapa 67 67 33 9
11 Estabilizador 80 20 55
12 Emulsificador 78
13 Água 100 0

Obter a formulação que permita ao fabricante obter um bom produto ao mínimo custo.

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.
Curso de Pesquisa Operacional 40

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 PL.

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:

x2 Z

ZC = 24
D (1, 4)
E (0, 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.
Curso de Pesquisa Operacional 41

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.

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 = c1x 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
Curso de Pesquisa Operacional 42

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".
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 = 430
3x1 +2x3 + x5 = 460
xl + 4x2 + x6 = 420

Terceiro passo: Determinar uma solução inicial viável.


Curso de Pesquisa Operacional 43

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.

Base z X1 X2 X3 X4 X5 X6 b bi/aie equac.


Z 1 -3 -2 -5 0 0 0 0 0
X4 0 1 2 1 1 0 0 430 430 1
X5 0 3 0 2 0 1 0 460 230 2
X6 0 1 4 0 0 0 1 420 ind. 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.
Curso de Pesquisa Operacional 44

Marcar na matriz a linha de xs. O quinto e sexto passos podem ser vistos nesta tabela:

entra

Base z X1 X2 X3 X4 X5 X6 b bi/aie equac.


Z 1 -3 -2 -5 0 0 0 0 0
X4 0 1 2 1 1 0 0 430 430 1
X5 0 3 0 2 0 1 0 460 230 2
X6 0 1 4 0 0 0 1 420 ind. 3

sai 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:

Base z X1 X2 X3 X4 X5 X6 b bi/aie equac.


Z 1 4.5 -2 0 0 2.5 0 1150 0
X4 0 -0.5 2 0 1 -0.5 0 200 100 1
X3 0 1.5 0 1 0 0.5 0 230 ind. 2
X6 0 1 4 0 0 0 1 420 105 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 X1 X2 X3 X4 X5 X6 b bi/aie equac.
Z 1 4 0 0 1 2 0 1350 0
X2 0 -0.25 1 0 0.5 -0.25 0 100 1
X3 0 1.5 0 1 0 0.5 0 230 2
X6 0 2 0 0 -2 1 1 20 3
Curso de Pesquisa Operacional 45

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

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
Curso de Pesquisa Operacional 46

Solução básica inicial


Max Z = 3X1 + 2X2
sujeito a:
2X1 + X2 + X3 = 100
X1 + X2 + X4 = 80
X1 + 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

Z X1 X2 X3 X4 X5 b Razão
Base 1 -3 -2 0 0 0 0
X3 0 2 1 1 0 0 100 100/2=50
X4 0 1 1 0 1 0 80 80/1=80
X5 0 1 0 0 0 1 40 40/1=40

Pivo

Solução parcial: (0, 0, 100, 80, 40) Indica que


X1 entra no
lugar de X5
Próximo quadro - Base: X3, X4 e X1

Devem se colocadas na forma canônica

Segunda iteração
Ainda não é a
Pivo solução ótima

Z X1 X2 X3 X4 X5 b Razão
Base 1 0 -2 0 0 3 120
X3 0 0 1 1 0 -2 20 20/1=20
X4 0 0 1 0 1 -1 40 40/1=40
X1 0 1 0 0 0 1 40 40/0

Solução parcial: (40, 0, 20, 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


Curso de Pesquisa Operacional 47

Terceira iteração
Ainda não é a Pivo
solução ótima
Z X1 X2 X3 X4 X5 b Razão
Base 1 0 0 2 0 -1 160
X2 0 0 1 1 0 -2 20 -10
X4 0 0 0 -1 1 1 20 20
X1 0 1 0 0 0 1 40 40

Solução parcial: (40, 20, 0, 20, 0) 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

Z X1 X2 X3 X4 X5 b Razão
Base 1 0 0 1 1 0 180
X2 0 0 1 -1 2 0 60
X5 0 0 0 -1 1 1 20
X1 0 1 0 1 -1 0 20

Solução ótima: (20, 60, 0, 0, 20)

A restrição 4 tem um folga de 20

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


Curso de Pesquisa Operacional 48

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
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
Curso de Pesquisa Operacional 49

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. Quer-se 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 forem negativos, 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.
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.
Curso de Pesquisa Operacional 50

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

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.
Curso de Pesquisa Operacional 51

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 55

max z = 3x1+ 2x2 Função objetivo


sujeito 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:

X1 = número X2 = número de
de soldados trens
maximizar 3 2
Sujeito às restrições limite
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 é frequentemente 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 + $C$2*$C$8.
Curso de Pesquisa Operacional 58

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 sub janela 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ão-
obrigató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 custo pode
Curso de Pesquisa Operacional 61

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

Mogno 8 m2 6 m2 1 m2

Horas de acabamento 4 2 1,5

Horas de carpintaria 2 1,5 0,5

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 cinco 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)
2x1 + 1,5x2 + 0,5x3 ≤ 8 (restrição de carpintaria)
x2 ≤ 5 (limitação de demanda de mesas)
x1, x2, x3 ≥ 0
Curso de Pesquisa Operacional 63

A tabela inicial, a intermediária e a de solução é mostrada abaixo.

Z X1 X2 X3 X4 X5 X6 X7 b razão
base 1 -60 -35 -20 0 0 0 0 0
X4 0 8 6 1 1 0 0 0 48 6
X5 0 4 2 1,5 0 1 0 0 20 5
X6 0 2 1,5 0,5 0 0 1 0 8 4
X7 0 0 1 0 0 0 0 1 5 não

Z X1 X2 X3 X4 X5 X6 X7 b razão
base 1 0 -10 -5 0 0 30 0 240
X4 0 0 0 -1 1 0 -4 0 16 não
X5 0 0 -1 0,5 0 1 -2 0 4 8
X1 0 1 0,75 0,25 0 0 0,5 0 4 16
X7 0 0 1 0 0 0 0 1 5 não

Z X1 X2 X3 X4 X5 X6 X7 b razão
base 1 0 0 0 0 10 10 0 280
X4 0 0 -2 0 1 2 -8 0 24
X3 0 0 -2 1 0 2 -4 0 8
X1 0 1 1,25 0 0 -0,5 1,5 0 2
X7 0 0 1 0 0 0 0 1 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.

Z X1 X2 X3 X4 X5 X6 X7 b razão
base 1 0 0 0 0 10 10 0 280
X4 0 1,6 0 0 1 1,2 -5,6 0 27,2
X3 0 1,6 0 1 0 1,2 -1,6 0 11,2
X2 0 0,8 1 0 0 -0,4 1,2 0 1,6
X7 0 -0,8 0 0 0 0,4 -1,2 1 3,4

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
Curso de Pesquisa Operacional 64

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

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:
Curso de Pesquisa Operacional 65

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.

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.
Curso de Pesquisa Operacional 66

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
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 67

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 68

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.

Z X1 X2 X3 X4 X5 b
Base 1 0 0 1 1 0 180
X2 0 0 1 -1 2 0 60
X5 0 0 0 -1 1 1 20
X1 0 1 0 1 1 0 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 69

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 Lucro por Horas de Horas de uso de Demanda


unidade trabalho máquina máxima
P1 2.100 6 12 800
P2 1.200 4 6 600
P3 600 6 2 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 4.800 horas de trabalho durante
o período de processamento e pressupõe-se usar três máquinas que podem prover 7.200 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 70

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 consequê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 71

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 variável de
Curso de Pesquisa Operacional 72

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
Curso de Pesquisa Operacional 73

Dual:
min w = 100y1 + 80y2 + 40y3
Sujeito a:
Termos da direita
2y1 + y2 + y3 ≥ 3  coeficiente de x1
y1 + y2 ≥ 2  coeficiente de x2
y1, y2, y3 ≥ 0

A última tabela do Primal, com a solução ótima é vista a seguir.


Z X1 X2 X3 X4 X5 b
Base 1 0 0 1 1 0 180
X2 0 0 1 -1 2 0 60
X5 0 0 0 -1 1 1 20
X1 0 1 0 1 1 0 20

A última tabela do Dual, com a solução ótima é vista a seguir.


Z Y1 Y2 Y3 Y4 Y5 Ya1 Ya2 b
Base -1 0 0 20 20 60 M-20 M-60 -180
Y1 0 1 0 1 -1 1 1 -1 1
Y2 0 0 1 -1 1 -2 -1 2 1

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
Curso de Pesquisa Operacional 74

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 X1 X2 X3 XF1 XF2 XF3 b
1 0,5 0,45 0 0 0,75 0 9
0 0,5 0,75 0 1 -0,25 0 7
0 0,5 0,25 1 0 0,25 0 3
0 1,5 3,25 0 0 0,25 1 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 75

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 76

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 tornaria não
Curso de Pesquisa Operacional 77

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 78

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 79

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 80

9.3 Exercício
Suponha que um problema de produção tenha como modelo:
max z = 2.100x1 +1.200x2 + 600x3
sujeito a:
1) 6x1 + 4x2 + 6x3 ≤ 4.800
2) 12x1 + 16x2 + 2x3 ≤ 7.200
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 X1 X2 X3 XF1 XF2 XF3 XF4 XF5 b


1 0 1,4 0 50 150 0 0 0 1.320.000
0 0 -0,8 1 0,2 -0,1 0 0 0 240
0 1 1,467 0 -0,033 0,1 0 0 0 560
0 0 -1,467 0 0,033 -0,1 1 0 0 240
0 0 1 0 0 0 0 1 0 600
0 0 0,8 0 -0,2 0,1 0 0 1 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 81

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 82

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 resposta
Curso de Pesquisa Operacional 83

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 84

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 85

 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).
(10.4)
x1  x2
Curso de Pesquisa Operacional 86

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). Deseja-
se decidir quanto transportar de cada origem para cada destino (xij).
Este problema pode ser mais bem 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 87

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
x13 + x23 + x33 + x43 = 15
xij >= 0
Curso de Pesquisa Operacional 88

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.

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.
Curso de Pesquisa Operacional 89

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 90

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.

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.

Terminologia
• Redes, nós e arcos:

Nós
Arcos

4
Curso de Pesquisa Operacional 91

Problemas de rede
(Classificação usual)

• Problemas de transporte e rede de


distribuição;
• Problemas de menor caminho;
• Problemas de fluxo máximo.

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
Curso de Pesquisa Operacional 92

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.

Problemas de
Distribuição – exemplo
BA 40 GO
-500 1 5 150
25 20
MG
3
30
200

20
20 Demandas

SP 15 RJ
(1400)
-600 2 4
350
20

PR
35 6 300

50
SC
7 150
Oferta (capacidade das fábricas)
20

(1100) RS
8 250
9
Curso de Pesquisa Operacional 93

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:

Hipótese: Tipo de Restrição:

Oferta > Demanda Entradas – Saídas ≥ Oferta ou Demanda do



Situação
do Oferta < Demanda Entradas – Saídas ≤ Oferta ou Demanda do
exemplo Nó

Oferta = Demanda Entradas – Saídas = Oferta ou Demanda do


11

Primeiro passo: Variáveis de decisão


BA 40 GO
-500 1 5 150
25 20
MG

Quantidades 30
3

200

de veículos 20
20

enviados de SP 15 RJ
4
cada fábrica
-600 2
350
20

para cada 35
PR
6 300

distribuidor 50
SC
7 150

20

RS
8 250

12
Curso de Pesquisa Operacional 94

Primeiro passo: Variáveis de decisão


• X13 – número de carros enviados
de BA para MG.
• X14 – número de carros enviados BA 40 GO
-500 150
de BA para RJ. 1 5
25 20
• X15 – número de carros enviados MG
3
de BA para GO. 30
200
• X23 – número de carros enviados
de SP para MG. 20
20
• X24 – número de carros enviados
de SP para RJ. RJ
SP 15
• X26 – número de carros enviados -600 2 4

de SP para PR. 20
350

• X27 – número de carros enviados PR


de SP para SC. 35 6 300

• X28 – número de carros enviados


de SP para RS. 50
SC
• X34 – número de carros enviados 7 150
de MG para RJ.
• X35 – número de carros enviados 20

de MG para GO. RS
8 250
• X78 – número de carros enviados
de SC para RS.
13

Segundo passo: função objetivo


 Objetivo: Minimizar os custos de distribuição
BA 40 GO
-500 1 5 150
25 20
MG
• X13 – BA para MG. 3
30
• X14 – BA para RJ. 200
• X15 – BA para GO.
20
• X23 – SP para MG. 20

• X24 – SP para RJ.


SP 15 RJ
• X26 – SP para PR. -600 2 4

• X27 – SP para SC. 20


350

• X28 – SP para RS.


PR
• X34 – MG para RJ. 35 6 300

• X35 – MG para GO.


• X78 – SC para RS. 50
SC
7 150

20

RS
• min Z = 25X13 + 30X14 + 40X15 + 20X23 + 15X24 + 20X26 + 8 250

35X27 + 50X28 + 20X34 + 20X35 + 20X78


14

Terceiro passo: restrições


BA 40 GO
-500 1 5 150
25 20
MG

• Restrição 01 – nó 01
3
30
200

• - X13 - X14 - X15 ≤ - 500 20


20

SP 15 RJ
-600 2 4
350
20

PR
35 6 300

50
SC
7 150
Hipótese: Tipo de Restrição:
20
Oferta > Demanda Entradas – Saídas ≥ Oferta ou Demanda do Nó RS
Situação do 8 250
exemplo Oferta < Demanda Entradas – Saídas ≤ Oferta ou Demanda do Nó

Oferta = Demanda Entradas – Saídas = Oferta ou Demanda do Nó 15


Curso de Pesquisa Operacional 95

Terceiro passo: restrições


BA 40 GO
-500 1 5 150
25 20
MG
3
30
200

20
20

SP 15 RJ
-600 2 4
350
20

PR
35 6 300

50
SC
150

• Restrição 02 – nó 02
7

20

• – X23 – X24 – X26 – X27 – X28 ≤ - 600 RS


8 250

16

Terceiro passo: restrições


BA 40 GO
-500 1 5 150
25 20
MG
3
30
200

20
20

SP 15 RJ
-600 2 4
350
20

PR
35 6 300

50
SC
150

• Restrição 03 – nó 03
7

20

• X13 + X23 – X34 – X35 ≤ 200 RS


8 250

17

Terceiro passo: restrições


BA 40 GO
-500 1 5 150
25 20
MG
3
30
200

20
20

SP 15 RJ
-600 2 4
350
20

PR
35 6 300

50
SC
150

• Restrição 04 – nó 04
7

20

• X14 + X24 + X34 ≤ 350 RS


8 250

18
Curso de Pesquisa Operacional 96

Terceiro passo: restrições


BA 40 GO
-500 1 5 150
25 20
MG
3
30
200

20
20

SP 15 RJ
-600 2 4
350
20

PR
35 6 300

50
SC
150

• Restrição 05 – nó 05
7

20

• X15 + X35 ≤ 150 RS


8 250

19

Terceiro passo: restrições


BA 40 GO
-500 1 5 150
25 20
MG
3
30
200

20
20

SP 15 RJ
-600 2 4
350
20

PR
35 6 300

50
SC
150

• Restrição 06 – nó 06
7

20

• X26 ≤ 300 RS
8 250

20

Terceiro passo: restrições


BA 40 GO
-500 1 5 150
25 20
MG
3
30
200

20
20

SP 15 RJ
-600 2 4
350
20

PR
35 6 300

50
SC
150

• Restrição 07 – nó 07
7

20

• X27 – X78 ≤ 150 RS


8 250

21
Curso de Pesquisa Operacional 97

Terceiro passo: restrições


BA 40 GO
-500 1 5 150
25 20
MG
3
30
200

20
20

SP 15 RJ
-600 2 4
350
20

PR
35 6 300

50
SC
150

• Restrição 08 – nó 08
7

20

• X28 + X78 ≤ 250 RS


8 250

22

Quarto passo: Restrições


adicionais
 Para completar a formulação do
problema:
• Xij >= 0
• i = 1; 2; ....

23

Solução pelo Solver


BA 40 GO
-500 1 5 150
25 20
MG
3
30
200

Variáveis de 20
20

decisão
SP 15 RJ
-600 2 4
350
Problemas de rede de distribuição 20

PR
Distribuição de carros 6 300
35

De Para Custo Unidades Nó Fluxo liquido Oferta/Demanda


1 3 25 0 1 0 -500 50
1 4 30 0 2 0 -600 SC
1 5 40 0 3 0 200 7 150
2 3 20 0 4 0 350
2 4 15 0 5 0 150 20
2 6 20 0 6 0 300
2 7 35 0 7 0 150 RS
2 8 50 0 8 0 250 8 250
3 4 20 0
3 5 20 0
7 8 20 0
Informações conhecidas
24
Custo Total = 0
Curso de Pesquisa Operacional 98

Solução pelo Solver


BA 40 GO
-500 1 5 150
25 20
MG
3
30
200

20
20

SP 15 RJ
-600 2 4
Problemas de rede de distribuição
350
20
Distribuição de carros
PR
35 6 300
De Para Custo Unidades Nó Fluxo liquido Oferta/Demanda
1 3 25 0 1 0 -500
1 4 30 0 2 0 -600
50
1 5 40 0 3 0 200
2 3 20 0 4 0 350 SC
7 150
2 4 15 0 5 0 150
2 6 20 0 6 0 300
20
2 7 35 0 7 0 150
2 8 50 0 8 0 250 RS
3 4 20 0 8 250
3 5 20 0
7 8 20 0

* Custo Total = 0 Fórmula 25

Solução pelo Solver


(Função Objetivo)

26

Solução pelo Solver


(Restrições)
BA 40 GO
-500 1 5 150
25 20
MG
3

• Restrição 01 – nó 01
30
200

• - X13 - X14 - X15 ≤ - 500 20


20

SP 15 RJ
-600 2 4
350
20

PR
35 6 300

50
SC
7 150

20

RS
8 250

27
Curso de Pesquisa Operacional 99

Solução pelo Solver


(Restrições) 40
BA GO
-500 1 5 150
25 20
MG
3
30

• Restrição 01 – nó 01
200

20
20
• - X13 - X14 - X15 ≤ - 500
SP 15 RJ
-600 2 4
350
20

PR
35 6 300

Entradas Saídas 50
SC
7 150

20

RS
8 250

28

Solução pelo Solver


(Todas as Restrições)

29

BA 40 GO
-500 1 5 150

Solução pelo
25 20
MG
3
30

Solver
200

20
20

(Solução) RJ
SP 15
-600 2 4
350
20

PR
35 6 300

50
SC
7 150

20

RS
8 250

30
Curso de Pesquisa Operacional 100

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
Curso de Pesquisa Operacional 101

Problemas de Menor
Caminho – exemplo
Três Corações S. Thomé das Letras
37
Km
2 4
41 45
Km Km
Lambari Baependi

50 4
Km Km
1 5 6

44 27
Km Km
Caxambu

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


Três Corações S. Thomé das Letras
37
Km
2 4
41 45
Km Km
Lambari Baependi

50 4
Km Km
1 5 6

44 27
Km Km
Caxambu

São Lourenço

• X12 – trecho Lambari – Três Corações.


• X13 – trecho Lambari – São Lourenço.
• X15 – trecho Lambari – Caxambu.
• X24 – trecho Três Corações – São Thomé das
Letras.
• X35 – trecho São Lourenço – Caxambu.
• X46 – trecho São Thomé das Letras – Baependi.
• X56 – trecho Caxambu – Baependi. 36
Curso de Pesquisa Operacional 102

Segundo passo: função objetivo


 Objetivo: Minimizar a distância percorrida pelo
caminhão
Três Corações S. Thomé das Letras
37
Km
2 4
41 45
Km Km
Lambari Baependi

50 4
Km Km
1 5 6

44 27
Km Km
Caxambu • X12 –Lambari – Três
Corações.
3 • X13 –Lambari – São
Lourenço.
São Lourenço • X15 –Lambari – Caxambu.
• X24 –Três Corações – São
Thomé das Letras.
• X35 –São Lourenço –
Caxambu.
• Min Z = 41X12 + 44X13 + 50X15 + 37X24 + • X46 –São Thomé das Letras –
Baependi.
27X35 + 45X46 + 4X56 37
• X56 –Caxambu – Baependi.

Terceiro passo: restrições


Três Corações S. Thomé das Letras
37
Km
2 4
41 45
Km Km
Lambari Baependi

50 4
Km Km
1 5 6

44 27
Km Km
Caxambu

Oferta = -1 Demanda = 1
3

São Lourenço

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ó


Situação
do Oferta = Demanda Entradas – Saídas = Oferta ou Demanda do Nó
exemplo
38

Terceiro passo: restrições


Três Corações S. Thomé das Letras
37
Km
2 4
41 45
Km Km
Lambari Baependi

50 4
Km Km
1 5 6

44 27
Km Km
Caxambu

3
• Restrição 01:
São Lourenço • - 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ó


Situação
do Oferta = Demanda Entradas – Saídas = Oferta ou Demanda do Nó
exemplo 39
Curso de Pesquisa Operacional 103

Terceiro passo: restrições


Três Corações S. Thomé das Letras
37
Km
2 4
41 45
Km Km
Lambari Baependi

50 4
Km Km
1 5 6

44 27
Km Km
Caxambu

3
• Restrição 02:
São Lourenço • X12 – X24 = 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ó


Situação
do Oferta = Demanda Entradas – Saídas = Oferta ou Demanda do Nó
exemplo
40

Terceiro passo: restrições


Três Corações S. Thomé das Letras
37
Km
2 4
41 45
Km Km
Lambari Baependi

50 4
Km Km
1 5 6

44 27
Km Km
Caxambu

São Lourenço

• Restrição 03:
• X13 – X35 = 0

41

Terceiro passo: restrições


Três Corações S. Thomé das Letras
37
Km
2 4
41 45
Km Km
Lambari Baependi

50 4
Km Km
1 5 6

44 27
Km Km
Caxambu

São Lourenço

• Restrição 04:
• X24 – X46 = 0

42
Curso de Pesquisa Operacional 104

Terceiro passo: restrições


Três Corações S. Thomé das Letras
37
Km
2 4
41 45
Km Km
Lambari Baependi

50 4
Km Km
1 5 6

44 27
Km Km
Caxambu

São Lourenço

• Restrição 05:
• X15 + X35 – X56 = 0

43

Terceiro passo: restrições


Três Corações S. Thomé das Letras
37
Km
2 4
41 45
Km Km
Lambari Baependi

50 4
Km Km
1 5 6

44 27
Km Km
Caxambu

São Lourenço

• Restrição 06:
• X46 + X56 = 1

44

Quarto passo: Restrições


adicionais
Para completar a formulação do
problema:
• Xij = 0 ou 1
• i = 1; 2; ....

45
Curso de Pesquisa Operacional 105

Solução pelo Solver


Três Corações S. Thomé das Letras

37
Km
2 4
41 45
Km Km
Lambari Baependi

50 4
Km Km
1 5 6

44 27
Km Km
Caxambu

Variáveis de 3
decisão
São Lourenço

46
Informações conhecidas

Solução pelo Solver


Três Corações S. Thomé das Letras
37
Km
2 4
41 45
Km Km
Lambari Baependi

50 4
Km Km
1 5 6

44 27
Km Km
Caxambu

São Lourenço

Fórmula 47

Solução pelo Solver


(Função Objetivo)
Três Corações S. Thomé das Letras

37
Km
2 4
41 45
Km Km
Lambari Baependi

50 4
Km Km
1 5 6

44 27
Km Km
Caxambu

São Lourenço

Fórmula
*
48
Curso de Pesquisa Operacional 106

Solução pelo Solver


(Restrições)

• Restrição 01:
• - X12 - X13 - X15 = - 1

49

Solução pelo Solver


(Restrições)
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ó


Situação
do Oferta = Demanda Entradas – Saídas = Oferta ou Demanda do Nó
exemplo

Entradas Saídas

50

Solução pelo Solver


(Restrições)
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ó


Situação
do Oferta = Demanda Entradas – Saídas = Oferta ou Demanda do Nó
exemplo

51
Curso de Pesquisa Operacional 107

Solução pelo Solver


(Solução)
Três Corações S. Thomé das Letras
37
Km
2 4
41 45
Km Km
Lambari Baependi

50 4
Km Km
1 5 6

44 27
Km Km
Caxambu

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
Curso de Pesquisa Operacional 108

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

1 3 20 m3/s
40 m3/s

Campos ,
Rio de Janeiro

20 m3/s
A B

30 m3/s 40 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
Curso de Pesquisa Operacional 109

Problema do Fluxo
Máximo - Exemplo
30 m3/s

1 3 20 m3/s
40 m3/s

Campos Rio de Janeiro

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

1 3 20 m3/s
40 m3/s
Campos Rio de Janeiro

20 m3/s
A B
30 m3/s 40 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


 Objetivo: Maximizar o fluxo de gás
30 m3/s

40 m3/s 1 3 20 m3/s

Campos Rio de Janeiro

20 m3/s
A B
30 m3/s 40 m3/s

2 4

30 m3/s

Max Z = XBA

59
Curso de Pesquisa Operacional 110

Terceiro passo: restrições


30 m3/s

40 m3/s 1 3 20 m3/s

Campos Rio de Janeiro

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

Campos Rio de Janeiro

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

Campos Rio de Janeiro

20 m3/s
A B
30 m3/s 40 m3/s

2 4

30 m3/s

• Restrições de fluxo:
• XBA – (XA1 + XA2) = 0
• XA1 – (X13 + X14) = 0
• XA2 – X24 = 0 Hipótese: Tipo de Restrição:
• X13 – X3B = 0 Oferta > Demanda Entradas – Saídas ≥ Oferta ou Demanda do Nó
Oferta < Demanda Entradas – Saídas ≤ Oferta ou Demanda do Nó
• X14 + X24 – X4B = 0 Oferta = Demanda Entradas – Saídas = Oferta ou Demanda do Nó
• X3B + X4B – XBA = 0
Situação do 62
exemplo
Curso de Pesquisa Operacional 111

Quarto passo: Restrições


adicionais
 Para completar a formulação do
problema:
• Xij >= 0
• i = A; B; 1; 2; ....

63

Solução pelo Solver


30
m3/s
40 1 3 20
m3/s m3/s
Campos Rio de Janeiro

20
A m3/s B
30 40
m3/s 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
Curso de Pesquisa Operacional 112

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

1 3 20 m3/s
40 m3/s
Campos Rio de Janeiro

20 m3/s
A B
30 m3/s 40 m3/s

2 4

30 m3/s

68
Curso de Pesquisa Operacional 113

13. PROGRAMAÇÃO NÃO LINEAR

Um modelo só será útil e adequado caso represente, de maneira mais fiel possível, o
comportamento das variáveis selecionadas.
Muitas vezes este comportamento não se mostra tão simples de ser trabalhado como os modelos
de PL.
Na realidade, a maioria dos modelos que trata problemas reais apresenta algum grau de não
linearidade.
Alguns exemplos corriqueiros nos qual o comportamento das variáveis é não linear:
 Problemas de mix de produtos, em que a margem de lucro por produto varia conforme
a quantidade vendida;
 Problemas de transporte, com custos variáveis dependendo da quantidade enviada.
Problemas de otimização em que a função-objetivo e/ou pelo menos uma das restrições
envolvidas não são funções lineares das variáveis de decisão são denominados Problemas de
Programação Não-Linear (PNL ou NPL em inglês).
Vamos ver as principais características destes modelos e o uso de planilhas em alguns casos.

13.1 Diferenças entre PL e PNL


A solução ótima pode não ser um extremo do conjunto de soluções viáveis.
A solução ótima pode não estar na fronteira do conjunto se soluções viáveis, mas dentro da
região de solução.
Estas características tornam os problemas de PNL muito mais complexos;
Diante da dificuldade na obtenção de soluções a utilização de softwares é imprescindível.
Para a validação dos resultados obtidos é necessário algumas considerações sobre as funções
que compõem o modelo.

13.2 Convexidade
Resultado apresentado pelo Solver em casos de PL pode-se afirmar que se encontrou a solução
ótima.
Problemas de PLN, resolvidos por qualquer software não há condições a princípio, de afirmar
que a solução ótima foi encontrada.
Para afirmar que a solução é ótima para PNL é necessário identificar as características de
concavidade e convexidade das funções que compõem o modelo.
Curso de Pesquisa Operacional 114

De uma forma geral, podem-se classificar as funções não lineares em côncavas e convexas.
Vamos ver como identificar isto.

13.3 Funções de uma variável


Através da análise da segunda derivada.
1. Convexa: se e somente se, para todos os valores de x pertencentes ao domínio da
função f(x): d 2 f ( x)
0
dx 2
2. Estritamente Convexa: se e somente se, para todos os valores de x pertencentes ao
d 2 f ( x)
domínio da função f(x): 0
dx 2
3. Côncava: se e somente se, para todos os valores de x pertencentes ao domínio da
d 2 f ( x)
função f(x): 0
dx 2
4. Estritamente Côncava: se e somente se, para todos os valores de x pertencentes ao
domínio da função f(x): d 2 f ( x)
0
dx 2
5. Nem côncava e nem convexa se para todos os valores de x pertencentes ao
2
domínio da função f(x): d f ( x)  e 
dx 2

13.3.1 Exemplos
a  f x   x 2  x

b  f x   x 3  2 x  8

c  f x    x 2  x

13.3.2 Exemplo de PNL de uma variável


Uma empresa montadora de computadores deseja diminuir o seu estoque de mainboards.
Sabendo-se que o custo unitário de cada mainboards é de $50, o custo unitário de manutenção
de estoque é de $20 e o custo unitário de pedido é de $10, deseja-se encontrar o lote econômico
para atender uma demanda anual de 1000 mainboards.

13.4 Funções de duas variáveis

De forma análoga às funções de uma variável, as derivadas parciais de segunda ordem de


funções de duas variáveis podem ser usadas para determinar a convexidade da função.
O teste é realizado da seguinte forma:
Curso de Pesquisa Operacional 115

1. Definir a matriz Hessiana e o determinante desta matriz:

 2 f  x1 , x2   2 f  x1 , x2 
x 2 x1x2
H 2 1
 f  x1 , x2   f  x1 , x2 
2

x2 x1 x22

 2 f  x1 , x2   2 f x1 , x2    2 f  x1 , x2  
2

D   
x12 x22  x1x2 
2. Regras:
 2 f  x1 , x2   2 f  x1 , x2 
 Convexa se D ≥ 0 e  0 e  0 para todos os valores possíveis
x12 x22

de x1 e x 2 pertencentes ao domínio da função f  x1 , x 2  ;

 2 f  x1 , x2   2 f  x1 , x2 
 Estritamente Convexa se D > 0 e 0 e  0 para todos os
x12 x22

valores possíveis de x1 e x 2 pertencentes ao domínio da função f  x1 , x 2  ;

 2 f  x1 , x2   2 f  x1 , x2 
 Côncava se D ≥ 0 e  0 e  0 para todos os valores possíveis
x12 x22

de x1 e x 2 pertencentes ao domínio da função f  x1 , x 2  ;

 2 f  x1 , x2   2 f  x1 , x2 
 Estritamente Côncava se D > 0 e  0 e  0 para todos os
x12 x22

valores possíveis de x1 e x 2 pertencentes ao domínio da função f  x1 , x 2  .

Ressalta-se:
 2 f  x1 , x2 
 Se a função é linear do tipo f  x1 , x2    0  1 x1   2 x2 , então D = 0; 0 e
x12

 2 f  x1 , x2 
 0 para todos os valores possíveis de x1 e x 2 e como tal, é definida como
x22
côncava e convexa simultaneamente;
Curso de Pesquisa Operacional 116

 Se D < 0 para alguns dos valores possíveis de x1 e x 2 pertencentes ao domínio da função


f  x1 , x 2  ; então a função não é nem côncava e nem convexa.

13.4.1 Exemplo 01
f ( x1 , x 2 )  x12  x1 x2  x22  3x1  2

Derivadas de primeira ordem:

f  x1 , x2 
 2 x1  x2  3
x1
f  x1 , x2 
 x1  2 x2
x2

Derivadas de segunda ordem:

 2 f  x1 , x2 
2
x12

 2 f  x1 , x2 
2
x22

 2 f  x1 , x2   2 f x1 , x2 
 1
x1x2 x2 x1

2 1
H
1 2
D  2  2  1 1  3

 2 f  x1 , x2 
0
x12

 2 f  x1 , x2 
0
x22
Logo a função é estritamente convexa.

13.4.2 Exemplo 02
f ( x1 , x 2 )   x12  x22
Curso de Pesquisa Operacional 117

13.4.3 Exemplo 03
f ( x1 , x 2 )   x13  x22

13.5 - Funções de mais de duas variáveis

O teste é realizado da seguinte forma:


Definir a matriz Hessiana:
2 f 2 f 2 f 2 f

x12 x1x2 x1x3 x1xn
2 f 2 f 2 f 2 f

x2 x1 x22 x2 x3 x2 xn
H  2 f 2 f 2 f 2 f

x3x1 x3x2 x32 x3xn
   
 f
2
 f
2
 f
2
 f
2

xn x1 xn x2 xn x3 xn2

O próximo passo é montar é calcular os seguintes determinantes:

2 f
D1 
x12

2 f 2 f
x 2 x1x2
D2  2 1
 f 2 f
x2 x1 x22

2 f 2 f 2 f
x12 x1x2 x1x3
2 f 2 f 2 f
D3 
x2 x1 x22 x2 x3
2 f 2 f 2 f
x3x1 x3x2 x32

2 f 2 f

x12 x1xn
Dn   
 f
2
 f
2

xn x1 xn2
Curso de Pesquisa Operacional 118

Estes determinantes são chamados dos menores principais da matriz hessiana e serão em
número igual ao número de variáveis da função.
Então, dizemos que f  x1 , x2 , x3  x4  é:

 Convexa se todos os determinantes são não negativos (iguais a zero ou positivos).


 Estritamente Convexa se os determinantes são positivos.
 Côncava se o determinante do enésimo menor principal da matriz Hessiana é zero ou
têm sinal de (-1)n para todos os valores do domínio (determinantes dos menores
principais igual a zero ou alternantes de sinal com D1 ≤ 0, ou seja, D1 ≤ 0, D2 ≥ 0, D3 ≤
0,...), isto é a matriz Hessiana é negativa semi-definida.
 Estritamente Côncava se o determinante do enésimo menor principal da matriz Hessiana
é zero ou têm sinal de (-1)n para todos os valores do domínio (determinantes dos
menores principais igual a zero ou alternantes de sinal com D1 < 0, ou seja, D1 < 0, D2
> 0, D3 < 0,...), isto é a matriz Hessiana é negativa definida.

13.5.1 Exemplo 01
f ( x1 , x 2 , x3 )  x1 x3  x22
Derivadas parciais de primeira ordem:
f x1 , x2 , x3 
 x3
x1
f  x1 , x2 , x3 
 2 x 2
x2
f  x1 , x2 , x3 
 x1
x3
Derivadas parciais de segunda ordem:
 2 f x1 , x2 , x3 
0
x12

 2 f  x1 , x2 , x3 
0
x1x2

 2 f  x1 , x2 , x3 
1
x1x3

 2 f x1 , x2 , x3 
0
x2 x1
Curso de Pesquisa Operacional 119

 2 f  x1 , x2 , x3 
 2
x22

 2 f  x1 , x2 , x3 
0
x2 x3

 2 f  x1 , x2 , x3 
1
x3 x1

 2 f  x1 , x2 , x3 
0
x3 x2

 2 f x1 , x2 , x3 
0
x32

0 0 1
H  0 2 0
1 0 0

Menores principais determinantes:


D1  0  0

0 0
D2  0
0 2

0 0 1
D3  0  2 0
1 0 0

0 0 1 0 0
D3  0  2 0 0  2  0  2  0  0  0  1  1  0  0  1  2  1  0  0  0  0  0  0  2
1 0 0 1 0

Logo a função é convexa

13.5.2 Exemplo 02
f ( x1 , x 2 , x3 )  x12  x22  x32  x1 x2  2 x1 x3  x2 x3
Curso de Pesquisa Operacional 120

13.6 - Exemplo carteira de ações

Considere um investidor que tenha certa quantia em dinheiro que quer investir em ações. É
frequentemente assumido o desejo de o investidor maximizar o retorno esperado de seus
investimentos (carteira) que ao mesmo tempo espera-se que o risco desta carteira seja pequeno
(medido pela variância do retorno). Infelizmente, o retorno de ações com alta expectativa de
retorno possui usualmente uma grande variação. Assim, uma abordagem do problema frequente
é adotar um valor mínimo de retorno esperado com um mínimo de variância desta carteira. Por
exemplo, um investidor pode procurar uma carteira de mínima variância que garanta um retorno
de pelo menos 12%. Pela variação do retorno mínimo aceitável, o investidor pode obter e
comparar as diversas carteiras possíveis.
Fórmulas importantes: Dadas variáveis aleatórias x1, x2,...., xn, e as constantes: a, b e k.
Retorno esperado da carteira:
E  E ( x1 )  E ( x2 )   E ( xn )
Variância da carteira:
Var ( x1  x2    xn )  var x1  var x2    var xn   cov( xi , x j )
i j

Relações importantes:
E (kxi )  kE( xi )

var(kxi )  k 2 var(xi )

cov(axi , bx j )  ab cov(axi , bx j )

Problema:
O investidor tem $1000 para aplicar em três tipos diferentes de ações. Seja Si a rentabilidade
esperada de retorno de $1 investido na ação i. Assim, se Si = 0,12, $1 investido na ação i no
inicio do ano deverá valer $1,12 no final do ano. São conhecidas as seguintes informações:

Ação S1 S2 S3
Retorno esperado 0,14 0,11 0,10
E(Si)
Variância Si 0,2 0,08 0,18
Curso de Pesquisa Operacional 121

Cov (S1, S2) = 0,05


Cov (S1, S3) = 0,02
Cov (S2, S3) = 0,03
Formular o problema para que se tenha pelo menos um retorno de 12% na carteira de tal forma
que se minimize a variância desta carteira.
Variáveis de decisão:
x j  Valor em $ aplicado na ação j, (j = 1, 2,3)

Função objetivo:

Deseja-se minimizar a variância da carteira. Da fórmula da variância:


var( x1S1  x2S2  x3S3 ) 
 var x1S1   var x2S2   var x3S3  
 2 cov( x1S1 , x2S2 )  2 cov( x1S1 , x3S3 )  2 cov( x2S2 , x3S3 )

var(x1S1  x2S2  x3S3 ) 


 x12 varS1   x 22 varS2   x32 varS3  
 2 x1 x2 cov(S1 , S2 )  2 x1 x3 cov(S1 , S3 )  2 x2 x3 cov(S2 , S3 )

var( x1S1  x2S2  x3S3 ) 


 0,2  x12  0,08  x22  0,18  x32  2 x1 x2  0,05  2 x1 x3  0,02  2 x2 x3  0,03

A função objetivo é assim definida:


min Z  f ( x1 , x 2 , x3 )  0,2 x12  0,08x22  0,18x32  0,10 x1 x2  0,04 x1 x3  0,06 x2 x3

Restrições:
Primeira: assegurar o retorno de pelo menos 12%
x1 E (s1 )  x2 E (s 2 )  x3 E (s 3 )
E  0,12
1000
0,14 x1  0,11x2  0,10 x3
 0,12
1000
0,14 x1  0,11x2  0,10 x3  120

Segunda: total para investimento: $1000


Curso de Pesquisa Operacional 122

x1  x2  x3  1000

Restrições adicionais:
x1 , x2 , x3  0

Resumindo:

min Z  0,2 x12  0,08x22  0,18x32  0,10x1 x2  0,04x1 x3  0,06 x2 x3


Sujeita a:
0,14 x1  0,11x2  0,10x3  120

x1  x2  x3  1000

x1 , x2 , x3  0

Derivadas parciais de primeira ordem:


f  x1 , x2 , x3 
 0,4 x1  0,10 x2  0,04 x3
x1
f  x1 , x2 , x3 
 0,16 x2  0,10 x1  0,06 x3
x2
f  x1 , x2 , x3 
 0,36 x3  0,04 x1  0,06 x2
x3

Derivadas parciais de segunda ordem:


 2 f  x1 , x2 , x3 
 0,4
x12

 2 f  x1 , x2 , x3 
 0,1
x1x2

 2 f  x1 , x2 , x3 
 0,04
x1x3

 2 f x1 , x2 , x3 
 0,1
x2 x1

 2 f  x1 , x2 , x3 
 0,16
x22

 2 f  x1 , x2 , x3 
 0,06
x2 x3
Curso de Pesquisa Operacional 123

 2 f  x1 , x2 , x3 
 0,04
x3x1

 2 f  x1 , x2 , x3 
 0,06
x3x2

 2 f  x1 , x2 , x3 
 0,36
x32

0,4 0,1 0,04


H  0,1 0,16 0,06
0,04 0,06 0,36

Menores principais determinantes:


D1  0,4  0,4

0,4 0,1
D2   0,4  0,16  0,1  0,1  0,055
0,1 0,16

0,4 0,1 0,04 0,4 0,1


D3  0,1 0,16 0,06 0,1 0,16 
0,04 0,06 0,36 0,04 0,06
D3  0,4  0,16  0,36  0,1 0,06  0,36  0,04  0,1 0,06
 0,1 0,1 0,36  0,4  0,06  0,06  0,04  0,16  0,04  0,02

Logo a função é convexa.

13.7 - Casos de PNL que não se enquadram nos


requisitos anteriores
Quando o modelo não se tratar dos casos apresentados anteriormente, uma maneira de para
tentar minorar o problema de mínimos e máximos locais é começar a otimização de diversos
pontos iniciais, gerados aleatoriamente. Com isto pode existir a possibilidade de se emitir um
parecer sobre o valor ótimo.

Exemplo
Na área de negócios é muito comum a identificação de problemas de localização de fábricas,
armazéns, centros de distribuição, torres de transmissão telefônica, entre outros. Em problemas
Curso de Pesquisa Operacional 124

deste tipo, um dos métodos utilizados de resolução é o de minimizar a distância total entre os
centros consumidores e o centro de distribuição, reduzindo assim, teoricamente o custo de
transporte ou as perdas de sinal de em transmissão.
Para trabalhar com as distâncias, usualmente coloca-se um eixo cartesiano sobre o mapa da
região e determina-se a posição dos centros consumidores em relação a uma origem aleatória.
Veremos este tipo de aplicação no exemplo a seguir.
O gerente de uma empresa de telefonia celular precisa localizar uma antena de transmissão para
atender a 3 localidades da Baixada Fluminense no estado do Rio de Janeiro. Devido a problemas
técnicos, a torre não pode estar a mais de 10 km do centro de cada cidade. Considerando as
localizações relativas abaixo, o gerente deve tomar a decisão de melhor posicionamento para a
antena.

Localidade x y

Nova Iguaçu -5 10

Queimados 2 1

Duque de Caxias 10 5
Curso de Pesquisa Operacional 125

ESTUDOS DE CASOS
Curso de Pesquisa Operacional 126

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?
Curso de Pesquisa Operacional 127

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 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 128

Assunto: Programação Linear

PROBLEMA DE PLANEJAMENTO DE APOSENTADORIA

Um empreendedor esta iniciando sua vida profissional, mas como empreendedor que é esta
planejando o que fazer para que sua aposentadoria seja tranquila. Ele planeja no inicio deste
ano e nos próximos 39 anos fazer um depósito em uma conta destinada a este objetivo. Cada
ano ele planeja aumentar em R$500,00 a sua contribuição anual. Quando aposentar em 40 anos,
ele pretende retirar no inicio de cada ano R$100.000,00 por 20 anos. Olhando o mercado
financeiro ele fez a seguintes suposições:
1. Durante os primeiros 20 anos de investimento, a taxa de remuneração será de 10% ao
ano.
2. Durante todos os outros anos, os investimentos serão remunerados a uma taxa de 5% ao
ano.

Qual a menor quantia que ele precisa contribuir neste ano e poder realizar as retiradas para sua
aposentadoria?
Curso de Pesquisa Operacional 129

Assunto: Otimização

PROBLEMA DE CONCESSÃO DE UM TÚNEL

Um estado brasileiro esta pensado em uma concessão para um túnel que poderá providenciar
uma economia de tempo significativa no deslocamento de veículos em um determinado
município.
Os dados iniciais estimados pela equipe responsável em analisar este projeto são os seguintes:

Valor Unidade/observação
Investimento = 400 milhões de Reais
Período de concessão = 50 anos
Pedágio carros = 5,00 R$
Pedágio caminhões = 9,00 R$
Movimento anual de carros = 4 milhões
Movimento anual de caminhões = 3 milhões
Custo anual manutenção = 4 milhões
Pagamento da concessão = 15% da receita bruta
Depreciação = 4%
IRPJ = 34%
Impostos proporcionais = 16%
WACC = 8%

Análise 01
Os valores dos pedágios foram estimados e com a intenção de evitar maiores valores para os
usuários do futuro túnel.
Com bases nestes dados previamente levantados, pergunta-se: este empreendimento é viável?
Qual o valor de negócio, VPL e TIR? (preencher a planilha e responder a estas perguntas).
Criar na ferramenta cenários do Excel um chamado de provável com os valores da planilha dos
dados deste projeto.
Questões para discussão:
1. Se o maior valor a ser cobrado do pedágio para carros for de R$6,00 e caminhões
R$10,00, o projeto se viabiliza?
Curso de Pesquisa Operacional 130

2. Se os valores dos pedágios puderem ser aumentados, que valores viabilizam este
projeto?
3. Se o preço do pedágio dos caminhões tiver que ser entre 180% e 210% dos carros como
fica estes novos preços para viabilizarem o empreendimento? Quais restrições devem
ser acrescentadas na formulação?
4. E se para manter os preços de pedágio nos valores iniciais, para não se comprometer
com a opinião pública, que valores de IRPF e os impostos proporcionais viabilizariam
o empreendimento?
5. E se for possível pensar na alteração além do IRPF e os impostos proporcionais, mas
também no pagamento da concessão e depreciação, quais valores viabilizam o
empreendimento?
6. Se incluir também como possível variação o WACC, quais valores viabilizam o
empreendimento?
7. Se o WACC mínimo possível for de 7%, mantendo as variações possíveis nos
parâmetros do item anterior, quais valores viabilizam o empreendimento?

Análise 02
Para os dados originais, outra possibilidade pensada pela equipe é um financiamento de parte
do valor necessário para o investimento. Inicialmente esta se pensando em um financiamento
de 50% do valor do investimento a uma taxa de 6% ao ano.
Pergunta-se:
1. O financiamento viabiliza o empreendimento?
2. Que valores de liberação do financiamento e taxa de juros viabilizam o
empreendimento?
3. Se a taxa de juros não pode ser menor que 6% e nem a quantidade financiada maior que
50%, mas o IRPF e impostos proporcionais podem ser discutidos, que valores
viabilizam o empreendimento?
4. E se for possível pensar na alteração além do IRPF e os impostos proporcionais, mas
também no pagamento da concessão e depreciação, quais valores viabilizam o
empreendimento?
5. Se incluir também como possível variação o WACC, quais valores viabilizam o
empreendimento?
Curso de Pesquisa Operacional 131

ANEXOS
Curso de Pesquisa Operacional 132

Tabela:
Z X1 X2 X3 X4 X5 b razão
Base

Variáveis básicas:
Variáveis não básicas:
Função Z:

Tabela:
Z X1 X2 X3 X4 X5 b razão
Base

Variáveis básicas:
Variáveis não básicas:
Função Z:

Tabela:
Z X1 X2 X3 X4 X5 b razão
Base

Variáveis básicas:
Variáveis não básicas:
Função Z:

Tabela:
Z X1 X2 X3 X4 X5 b razão
Base

Variáveis básicas:
Variáveis não básicas:
Função Z:

Tabela:
Z X1 X2 X3 X4 X5 b razão
Base

Variáveis básicas:
Variáveis não básicas:
Função Z:
Curso de Pesquisa Operacional 133

Tabela:
Z X1 X2 X3 X4 X5 b razão
Base

Variáveis básicas:
Variáveis não básicas:
Função Z:

Tabela:
Z X1 X2 X3 X4 X5 b razão
Base

Variáveis básicas:
Variáveis não básicas:
Função Z:

Tabela:
Z X1 X2 X3 X4 X5 b razão
Base

Variáveis básicas:
Variáveis não básicas:
Função Z:

Tabela:
Z X1 X2 X3 X4 X5 b razão
Base

Variáveis básicas:
Variáveis não básicas:
Função Z:

Tabela:
Z X1 X2 X3 X4 X5 b razão
Base

Variáveis básicas:
Variáveis não básicas:
Função Z:
Curso de Pesquisa Operacional 134

Tabela:
Z X1 X2 X3 X4 X5 b razão
Base

Variáveis básicas:
Variáveis não básicas:
Função Z:

Tabela:
Z X1 X2 X3 X4 X5 b razão
Base

Variáveis básicas:
Variáveis não básicas:
Função Z:

Tabela:
Z X1 X2 X3 X4 X5 b razão
Base

Variáveis básicas:
Variáveis não básicas:
Função Z:

Tabela:
Z X1 X2 X3 X4 X5 b razão
Base

Variáveis básicas:
Variáveis não básicas:
Função Z:

Tabela:
Z X1 X2 X3 X4 X5 b razão
Base

Variáveis básicas:
Variáveis não básicas:
Função Z:
Curso de Pesquisa Operacional 135

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 X1 X2 X3 XF1 XF2 XF3 XF4 XF5 b
1 0 0 0 50 150 0 100 0 1380000
0 0 0 1 0,2 -0,1 0 -0,2 0 120
0 1 0 0 -0,03 0,1 0 -0,47 0 280
0 0 0 0 0,03 -0,1 1 0,47 0 520
0 0 1 0 0 0 0 1 0 600
0 0 0 0 0,2 0,1 0 0,2 1 480
Curso de Pesquisa Operacional 136

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

Você também pode gostar