1 INTRODUÇÃO À PESQUISA OPERACIONAL

Propaganda
Extraído de
http://ramses.ffalm.br/falm/info/professores/biluka/PO/Apostila%20PO%20%20Prof%20Biluka.doc
1 INTRODUÇÃO À PESQUISA OPERACIONAL
1.1 O Desenvolvimento da Pesquisa Operacional
Durante a Segunda Guerra Mundial, um grupo de cientistas foi convocado na
Inglaterra para estudar problemas de estratégia e de tática associados com a defesa do país. O objetivo
era decidir sobre a utilização mais eficaz de recursos militares limitados. A convocação deste grupo
marcou a primeira atividade formal de pesquisa operacional.
Os resultados positivos conseguidos pela equipe de pesquisa operacional inglesa
motivaram os Estados Unidos a iniciarem atividades semelhantes. Apesar de ser creditada à Inglaterra
a origem da Pesquisa Operacional, sua propagação deve-se principalmente à equipe de cientistas
liderada por George B. Dantzig, dos Estados Unidos, convocada durante a Segunda Guerra Mundial.
Ao resultado deste esforço de pesquisa, concluído em 1947, deu-se o nome de Método Simplex.
Com o fim da guerra, a utilização de técnicas de pesquisa operacional atraiu o
interesse de diversas outras áreas. A natureza dos problemas encontrados é bastante abrangente e
complexa, exigindo, portanto uma abordagem que permita reconhecer os múltiplos aspectos
envolvidos. Uma característica importante da pesquisa operacional e que facilita o processo de análise
e de decisão é a utilização de modelos. Eles permitem a experimentação da solução proposta. Isto
significa que uma decisão pode ser mais bem avaliada e testada antes de ser efetivamente
implementada. A economia obtida e a experiência adquirida pela experimentação justificam a
utilização da Pesquisa Operacional.
Com o aumento da velocidade de processamento e quantidade de memória dos
computadores atuais, houve um grande progresso na Pesquisa Operacional. Este progresso é devido
também à larga utilização de microcomputadores, que se tornaram unidades isoladas dentro de
empresas. Isso faz com que os modelos desenvolvidos pelos profissionais de Pesquisa Operacional
sejam mais rápidos e versáteis, além de serem também interativos, possibilitando a participação do
usuário ao longo do processo de cálculo.
Bibliografia utilizada:
SILVA, Ermes Medeiros da, et al. Pesquisa Operacional. São Paulo: Atlas, 1995.
LACHTERMACHER, Gerson. Pesquisa Operacional na tomada de decisões. Rio de
Janeiro: Campus, 2002.
LISBOA, ERICO. Introdução à Pesquisa Operacional. Disponível em
http://www.ericolisboa.eng.br
Extraído de
http://ramses.ffalm.br/falm/info/professores/biluka/PO/Apostila%20PO%20%20Prof%20Biluka.doc
Pesquisa Operacional é um método cientifico de tomada de decisões. Em linhas
gerais, consiste na descrição de um sistema organizado com auxilio de um modelo, e através da
experimentação com o modelo, na descoberta da melhor maneira de operar o sistema.
1.2 Fases de um Estudo em P.O.
Um estudo em Pesquisa Operacional costuma envolver seis fases:
 Formulação do problema;
 Construção do modelo do sistema;
 Calculo da solução através do modelo;
 Teste do modelo e da solução;
 Estabelecimento de controles da solução;
 Implantação e acompanhamento;
que podem ser descritas como segue:
Formulação do Problema – Nesta fase, o administrador do sistema e o
responsável pelo estudo em P.O. deverão discutir, no sentido de colocar o problema de maneira clara e
coerente, definindo os objetivos a alcançar e quis os possíveis caminhos alternativos para que isso
ocorra.
Além disso, serão levantadas as limitações técnicas do sistema e as relações desse
sistema com outros da empresa ou do ambiente externo, com a finalidade de criticar a validade de
possíveis soluções em face destes obstáculos.
Deverá ainda ser acordada uma medida de eficiência para o sistema que permita ao
administrador ordenar as soluções encontradas, concluindo o processo decisório.
Construção do Modelo do Sistema – Os modelos que interessam em P.O. são
modelos matemáticos, isto é, modelos formados por um conjunto de equações e inequações.
Um modelo é uma representação de um sistema real, que pode já existir ou ser um
projeto aguardando execução. No primeiro caso, o modelo pretende reproduzir o funcionamento do
sistema, de modo a aumentar sua produtividade. No segundo caso, o modelo é utilizado para definir a
Pesquisa Operaciona I
-2-
Extraído de
http://ramses.ffalm.br/falm/info/professores/biluka/PO/Apostila%20PO%20%20Prof%20Biluka.doc
estrutura ideal do sistema. A confiabilidade da solução obtida através do modelo depende da validação
do modelo na representação do sistema real. A validação do modelo é a confirmação de que ele
realmente representa o sistema real. A diferença entre a solução real e a solução proposta pelo modelo
depende diretamente da precisão do modelo em descrever o comportamento original do sistema.
Um problema simples pode ser representado por modelos também simples e de
fácil solução. Já problemas mais complexos requerem modelos mais elaborados, cuja solução pode vir
a ser bastante complicada.
Em um modelo matemático, são incluídos três conjuntos principais de elementos:
 Variáveis de decisão e parâmetros: variáveis de decisão são as incógnitas a
serem determinadas pela solução do modelo. Parâmetros são valores fixos no
problema;
 Restrições: de modo a levar em conta as limitações físicas do sistema, o
modelo deve incluir restrições que limitam as variáveis de decisão a seus
valores possíveis (ou viáveis);
 Função objetivo: é uma função matemática que define a qualidade da solução
em função das variáveis de decisão.
Para melhor ilustrar ao conjuntos acima, considere o seguinte exemplo:
“Uma empresa de comida canina produz dois tipos de rações: Tobi e Rex. Para a manufatura das
rações são utilizados cereais e carne. Sabe-se que:
 a ração Tobi utiliza 5 kg de cereais e 1 kg de carne, e a ração Rex utiliza 4 kg de carne e 2 kg
de cereais;
 o pacote de ração Tobi custa R$ 20 e o pacote de ração Rex custa $ 30;
 o kg de carne custa R$ 4 e o kg de cereais custa R$ 1;
 estão disponíveis por mês 10 000 kg de carne e 30 000 kg de cereais.
Deseja-se saber qual a quantidade de cada ração a produzir de modo a maximizar o lucro. ”
Neste problema as variáveis de decisão são as quantidades de ração de cada tipo a
serem produzidas.
Os parâmetros fornecidos são os preços unitários de compra e venda, além das
quantidades de carne e cereais utilizadas em cada tipo de ração. As restrições são os limites de carne e
cereais e a função objetivo é uma função matemática que determine o lucro em função das variáveis
de decisão e que deve ser maximizada.
Pesquisa Operaciona I
-3-
Extraído de
http://ramses.ffalm.br/falm/info/professores/biluka/PO/Apostila%20PO%20%20Prof%20Biluka.doc
Cálculo da solução através do modelo – É feito através de técnicas matemáticas
específicas. A construção do modelo deve levar em consideração a disponibilidade de uma técnica para
o cálculo da solução.
A formulação do modelo depende diretamente do sistema a ser representado. A
função objetivo e as funções de restrições podem ser lineares ou não- lineares. As variáveis de decisão
podem ser contínuas ou discretas (por exemplo, inteiras) e os parâmetros podem ser determinísticos ou
probabilísticos.
O resultado dessa diversidade de representações de sistemas é o desenvolvimento
de diversas técnicas de otimização, de modo a resolver cada tipo de modelo existente. Estas técnicas
incluem, principalmente: programação linear, programação inteira, programação dinâmica,
programação estocástica e programação não- linear.
Programação linear é utilizada para analisar modelos onde as restrições e a função
objetivo são lineares; programação inteira se aplica a modelos que possuem variáveis inteiras (ou
discretas); programação dinâmica é utilizada em modelos onde o problema completo pode ser
decomposto em subproblemas menores; programação estocástica é aplicada a uma classe especial de
modelos onde os parâmetros são descritos por funções de probabilidade; finalmente, programação
não-linear é utilizada em modelos contendo funções não-lineares.
Uma característica presente em quase todas as técnicas de programação matemática
é que a solução ótima do problema não pode ser obtida em um único passo, devendo ser obtida
iterativamente. É escolhida uma solução inicial (que geralmente não é a solução ótima). Um algoritmo
é especificado para determinar, a partir desta, uma nova solução, que geralmente é superior à anterior.
Este passo é repetido até que a solução ótima seja alcançada (supondo que ela existe).
Teste do modelo e da solução – Esse teste é realizado com dados empíricos do
sistema. Se houver dados históricos, eles serão aplicados no modelo, gerando um desempenho que
pode ser comparado ao desempenho observado no sistema. Se o desvio verificado não for aceitável, a
reformulação ou mesmo o abandono do modelo será inevitável. Caso não haja dados históricos, os
dados empíricos serão anotados com o sistema funcionando sem interferência, até que o teste possa ser
realizado.
Pesquisa Operaciona I
-4-
Extraído de
http://ramses.ffalm.br/falm/info/professores/biluka/PO/Apostila%20PO%20%20Prof%20Biluka.doc
Estabelecimento de controles da solução – A construção e experimentação com o
modelo identificam parâmetros fundamentais para solução do problema. Qualquer mudança nesses
parâmetros deverá ser controlada para garantir a validade da solução adotada. Caso alguns desses
parâmetros sofram desvio além do permitido, o cálculo de nova solução ou mesmo a reformulação do
modelo poderá ser necessária.
Implementação e acompanhamento – Nesta fase, a solução será apresentada ao
administrador, evitando-se o uso da linguagem técnica do modelo. O uso da linguagem do sistema em
estudo facilita a compreensão e gera boa vontade para a implantação que está sendo sugerida. Essa
implantação deve será acompanhada para se observar o comportamento do sistema com a solução
adotada. Algum ajuste pode ser requerido.
Pesquisa Operaciona I
-5-
Extraído de
http://ramses.ffalm.br/falm/info/professores/biluka/PO/Apostila%20PO%20%20Prof%20Biluka.doc
2 Programação Linear
2.1 Modelo em Programação Linear
Uma das técnicas mais utilizadas na abordagem de problemas em Pesquisa
Operacional é a programação linear. A simplicidade do modelo envolvido e a disponibilidade de uma
técnica de solução programável em computador facilitam sua aplicação. As aplicações mais
conhecidas são feitas em sistema estruturados, como os de produção, finanças, controles de estoques
etc.
O problema geral de programação linear é utilizado para otimizar (maximizar ou
minimizar) uma função linear de variáveis, chamada de "função objetivo", sujeita a uma série de
equações ou inequações lineares, chamadas restrições. A formulação do problema a ser resolvido por
programação linear segue alguns passos básicos.
 deve ser definido o objetivo básico do problema, ou seja, a otimização a ser
alcançada. Por exemplo, maximização de lucros, ou de desempenhos, ou de
bem-estar social; minimização de custos, de perdas, de tempo. Tal objetivo
será representado por uma função objetivo, a ser maximizada ou minimizada;
 para que esta função objetivo seja matematicamente especificada, devem ser
definidas as variáveis de decisão envolvidas. Por exemplo, número de
máquinas, a área a ser explorada, as classes de investimento à disposição etc.
Normalmente, assume-se que todas estas variáveis possam assumir somente
valores positivos;
 estas variáveis normalmente estão sujeitas a uma série de restrições,
normalmente representadas por inequações. Por exemplo, quantidade de
equipamento disponível, tamanho da área a ser explorada, capacidade de um
reservatório, exigências nutricionais para determinada dieta etc.
Todas essas expressões, entretanto, devem estar de acordo com a hipótese principal
da programação linear, ou seja, todas as relações entre as variáveis devem ser lineares. Isto implica
proporcionalidade das quantidades envolvidas. Esta característica de linearidade pode ser interessante
no tocante à simplificação da estrutura matemática envolvida, mas prejudicial na representação de
fenômenos não lineares (por exemplo, funções de custo tipicamente quadráticas).
Um problema de programação linear está em sua forma padrão se tiver na função
objetivo uma Maximização e se todas as restrições forem do tipo menor ou igual, bem como os termos
constantes e variáveis de decisão não-negativos.
A fim de facilitar nossa explicação, algum tipo de padronização de terminologia
deve ser introduzido. Entende-se por:
Pesquisa Operaciona I
-6-
Extraído de
http://ramses.ffalm.br/falm/info/professores/biluka/PO/Apostila%20PO%20%20Prof%20Biluka.doc
Solução
qualquer especificação de valores para variáveis de decisão, independente de
se tratar de uma escolha desejável ou permissível.
Solução Viável
uma solução em que todas as restrições são satisfeitas.
Solução Ótima
uma solução viável que tem o valor mais favoráveis da função-objetivo, isto é,
maximiza ou minimiza a função-objetivo em toda a região viável, podendo ser
única ou não.
Todo problema de Programação Linear parte de algumas hipóteses que são assumidas quando
tentamos resolvê-los:
Proporcionalidade
O valor da função-objetivo é diretamente proporcional ao nível de atividade
de cada variável de decisão.
Aditividade
Considera as atividades (variáveis de decisão) do modelo como entidades
totalmente independentes, não permitindo que haja interdependência entre as
mesmas, isto é, não permitindo a existência de termos cruzados, tanto na
função-objetivo como nas restrições.
Divisibilidade
Assume que todas as unidades de atividade possam ser divididas em qualquer
nível fracional, isto é, qualquer variável de decisão pode assuimir qualquer
valor fracionário.
Certeza
Assume que todos os parâmetros do modelo são constantes conhecidas. Em
problemas reais, a certeza quase nunca é satisfeita, provocando a necessidade
de análise de sensibilidade dos resultados.
Pesquisa Operaciona I
-7-
Extraído de
http://ramses.ffalm.br/falm/info/professores/biluka/PO/Apostila%20PO%20%20Prof%20Biluka.doc
O problema geral de programação linear pode ser definido por Maximizar (ou minimizar)
Maximizar (ou minimizar)
Z  c1 x1c2 x 2 c3 x3 .......  cn x n
Função Objetivo
a11x1  a12 x2  ...  a1n xn  b1 (ou , ou )
Sujeito a
a21x1  a22 x2  ...  a2 n xn  b2 (ou , ou )
Restrições técnicas
...
am1 x1  am 2 x2  ...  amn xn  bm (ou , ou )
x1 , x2 , xn  0
Restrições de não negatividade
As variáveis controladas ou variáveis de decisões são
x1 , x2 , xn . A função objetivo
ou função de eficiência mede o desempenho do sistema, podendo ser a capacidade de gerar lucro ou a
capacidade de minimizar perdas. As restrições garantem que essas soluções estão de acordo com as
limitações técnicas impostas pelo sistema, há também as restrições de não negatividade das variáveis
de decisão, o que deverá acontecer sempre que a técnica de abordagem for a de programação linear.
A construção do modelo matemático, no caso um modelo linear, é parte mais
complicada de nosso estudo. Não há regra fixa para esse trabalho, mas podemos sugerir um roteiro que
ajuda a ordenar o raciocínio.
Roteiro
a)
Quais as variáveis de decisão?
Aqui o trabalho consiste em explicitar as decisões que devem ser tomadas e representar as possíveis
decisões através de variáveis chamadas de variáveis de decisão. Se o problema é de programação de
produção, as variáveis de decisão são as quantidades a produzir no período; se for um problema de
programação de investimento, as variáveis vão representar as decisões de investimento, isto é, quanto
investir em cada oportunidade de investimento, e em que período. Nas descrições sumárias de
sistemas, isso fica claro lemos a questão proposta, isto é, a pergunta do problema.
b)
Qual o objetivo?
Aqui devemos identificar o objetivo da tomada de decisão. Eles aparecem geralmente na forma de
maximização de lucros ou receitas, minimização de custos, perdas etc. A função objetivo é a expressão
que calcula o valor do objetivo (lucro, custo, receita, perda etc.), em função das variáveis de decisão.
Pesquisa Operaciona I
-8-
Extraído de
http://ramses.ffalm.br/falm/info/professores/biluka/PO/Apostila%20PO%20%20Prof%20Biluka.doc
c)
Quais as restrições?
Cada restrição imposta na descrição do sistema deve ser expressa com uma relação linear (igualdade
ou desigualdade), montadas com as variáveis de decisão.
Exemplo 2 – Certa empresa fabrica dois produtos P1 e P2. O lucro unitário do produto P1 é de 1000
unidades monetárias e o lucro unitário de P2 é de 1800 unidades monetárias. A empresa precisa de 20
horas para fabricar uma unidade de P1 e de 30 horas para fabricar uma unidade de P2. O tempo anual
de produção disponível para isso é de 1200 horas. A demanda esperada para cada produto é de 40
unidades anuais para P1 e 30 unidades anuais de P2. Qual é o plano de produção para que a empresa
maximize seus lucro nesses itens? Construa o modelo de programação linear para esse caso.
a)
Quais as variáveis de decisão?
O que deve ser decidido é o plano de produção, isto é, quais as quantidades anuais que devem ser
produzidas de P1 e P2.
Portanto, as variáveis de decisão serão x1 e x 2 .
x1  quantidade anual a produzir de P1.
x2  quantidade anual a produzir de P2.
b)
Qual o objetivo?
O objetivo é maximizar o lucro, que pode ser calculado:
Lucro devido a P1: 1000 . x1 (lucro por unidade de P1 x quantidade produzida de P1)
Lucro devido a P2: 1800 . x 2 (lucro por unidade de P2 x quantidade produzida de P2)
Lucro total: L  1000x1 1800x 2
Objetivo: maximizar L  1000x1 1800x 2
c)
Quais as restrições?
As restrições impostas pelo sistema são:
- Disponibilidade de horas para a produção: 1200 horas.
horas ocupadas com P1: 20x1 (uso por unidade x quantidade produzida)
horas ocupadas com P2: 30x2 (uso por unidade x quantidade produzida)
Total em horas ocupadas na produção: 20x1  30x2
Disponibilidade: 1200 horas
Restrição descritiva da situação: 20x1  30x2  1200
Pesquisa Operaciona I
-9-
Extraído de
http://ramses.ffalm.br/falm/info/professores/biluka/PO/Apostila%20PO%20%20Prof%20Biluka.doc
- Disponibilidade de mercado para os produtos (demanda)
Disponibilidade para P1: 40 unidades
Quantidade a produzir de P1: x1
Restrição descritiva da situação: x1  40
Disponibilidade para P2: 30 unidades
Quantidade a produzir de P2: x 2
Restrição descritiva da situação: x2  30
Resumo do modelo: max L  1000x1 1800x 2
20 x1  30 x2  1200
Sujeito a
Restrição das horas
x1  40
x2  30
x1 , x2  0
Restrição de
demanda
Restrição de não-negatividade
Pesquisa Operaciona I
- 10 -
Extraído de
http://ramses.ffalm.br/falm/info/professores/biluka/PO/Apostila%20PO%20%20Prof%20Biluka.doc
Exemplo 2 – Vamos reescrever o exemplo utilizado na seção 1.2:
“Uma empresa de comida canina produz dois tipos de rações: Tobi e Rex. Para a manufatura das
rações são utilizados cereais e carne. Sabe-se que”:
 a ração Tobi utiliza 5 kg de cereais e 1 kg de carne, e a ração Rex utiliza 4 kg de carne e 2 kg
de cereais;
 o pacote de ração Tobi custa R$ 20 e o pacote de ração Rex custa $ 30;
 o kg de carne custa R$ 4 e o kg de cereais custa R$ 1;
 estão disponíveis por mês 10 000 kg de carne e 30 000 kg de cereais.
Deseja-se saber qual a quantidade de cada ração a produzir de modo a maximizar o lucro. ”
Nosso modelo deseja maximizar o lucro (Z) a partir da quantidade de ração Tobi (x1) e de ração
Rex(x2). A Tabela abaixo apresenta o cálculo do lucro unitário de cada ração.
Ração Tobi
1 kg x R$ 4 = R$ 4
5 kg x R$ 1 = R$ 5
R$ 9
R$ 20
R$ 11
Custo de carne
Custo de cereais
Custo total
Preço
Lucro
Ração Rex
4 kg x R$ 4 = R$ 16
2 kg x R$ 1 = R$ 2
R$ 18
R$ 30
R$ 12
maximizar Z  11x1 12x 2
Sujeito a
1x1  4 x2  1000
Restrição de carne
5 x1  2 x2  30000
Restrição de cereais
x1 , x2  0
Restrição de não-negatividade
Pesquisa Operaciona I
- 11 -
Extraído de
http://ramses.ffalm.br/falm/info/professores/biluka/PO/Apostila%20PO%20%20Prof%20Biluka.doc
Exercícios
1) Uma marcenaria deseja estabelecer uma programação diária de produção. Atualmente, a oficina faz
apenas dois produtos: mesa e armário, ambos de um só modelo. Para efeito de simplificação, vamos
considerar que a marcenaria tem limitações em somente dois recursos: madeira e mão-de-obra, cujas
disponibilidades diárias são mostradas na tabela a seguir.
Recurso
Disponibilidade
Madeira
12m2
Mão-de-obra
8 H.h
O processo de produção é tal que, para fazer uma mesa a fábrica gasta 2 m2 de madeira e 2 H.h de
mão-de-obra. Para fazer um armário, a fábrica gasta 3 m2 de madeira e 1 H.h de mão de obra. Além
disso, o fabricante sabe que cada mesa dá uma margem de contribuição para o lucro de $ 4 e cada
armário de $ 1. O problema é encontrar o programa de produção que maximiza a margem de
contribuição total para o lucro.
2) Uma pequena metalúrgica deseja maximizar sua receita com a venda de dois tipos de finas fitas de
aço que se diferenciam em qualidade no acabamento de corte. As fitas são produzidas a partir do corte
de bobinas de grande largura. Existem duas máquina em operação. Uma das máquinas é mais antiga e
permite o corte diário de 4000 m de fita. A outra, mais nova, corta 6000 m. A venda das chapas no
mercado varia com a qualidade de cada uma. Fitas produzidas na máquina antiga permitem um lucro
de 3 u.m. por mil metros de produção. Fitas cortadas na máquina moderna produzem um lucro de 5
u.m. por mil metros de produção. Cada mil metro de fita cortada na máquina antiga consome 3 homens
X hora de mão-de-obra. Na máquina moderna são gastos apenas 2 homens X hora. Diariamente são
disponíveis 18 homens X hora para operação de ambas as máquinas. Determinar a produção que
otimiza o lucro da metalúrgica.
Pesquisa Operaciona I
- 12 -
Extraído de
http://ramses.ffalm.br/falm/info/professores/biluka/PO/Apostila%20PO%20%20Prof%20Biluka.doc
3) 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
Disponibilidade
8 m2
6 m2
1 m2
30 m2
de
4
2
1,5
10
Horas de carpintaria
2
1,5
0,5
10
Mogno
Horas
acabamento
Sendo que cada mesa, armário e cadeira dão um lucro de 3, 4 e 5 u.m. Formular o modelo matemático
para maximizar seu lucro semanal.
4) Giapetto fabrica dois tipos de brinquedos de madeira: soldados e trens. Um soldado é vendido por
27 u.m. e usa 10 u.m de matéria prima. Cada soldado que é fabricado tem um custo adicional de 14
u.m. relativo a mão de obra. Um trem é vendido por 21 u.m. e gasta 9 u.m. de matéria prima. O custo
de mão de obra adicional para cada trem é de 10 u.m.. 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 que maximizar seu lucro diário (receitas-custos). Formular o modelo
matemático que poderá ser usado por Giapetto para maximizar seu lucro semanal.
Pesquisa Operaciona I
- 13 -
Extraído de
http://ramses.ffalm.br/falm/info/professores/biluka/PO/Apostila%20PO%20%20Prof%20Biluka.doc
2.2 Técnica de Solução para Modelos de Programação Linear com Duas Variáveis de Decisão –
Método Gráfico.
Essa técnica consiste em representar num sistema de eixos ortogonais o conjunto
das possíveis soluções do problema, isto é, o conjunto de pontos ( x1 , x 2 ) que obedecem ao grupo de
restrições impostas pelo sistema em estudo. O desempenho do modelo é avaliado através da
representação gráfica da função objetivo. AS soluções são classificadas de acordo com sua posição no
gráfico.
2.2.1 Gráfico do Conjunto de Soluções
A representação gráfica de uma equação linear com duas variáveis é uma reta. A
representação gráfica de uma inequação linear com duas variáveis é um dos semiplanos definidos pela
reta correspondente à equação.
Exemplo 1: Representar graficamente a inequação: 1x1  2x2  10
a. Construir a reta correspondente à equação: 1x1  2x2  10 (acompanhe no gráfico)
Precisamos de dois pontos:
Fazendo x1  0 teremos 2x2  10  x2  5
Fazendo x2  0 teremos x1  10
b. Testar a inequação: 1x1  2x2  10
Tomamos um ponto qualquer de uma das regiões limitadas pela reta, por exemplo o ponto
( x1  10 , x2  5 ).
Substituindo na inequação:
10  2.5  10 ou 20  10 , o que é verdadeiro, portanto a região das soluções da inequação é
aquela que contem o ponto testado.
Pesquisa Operaciona I
- 14 -
Extraído de
http://ramses.ffalm.br/falm/info/professores/biluka/PO/Apostila%20PO%20%20Prof%20Biluka.doc
x2
Região de soluções
5
(10,5)
10
Exercício.
Representar graficamente a solução do sistema:
x1  3x 2  12
2 x1  x 2  16
x1  0
x2  0
Pesquisa Operaciona I
- 15 -
x1
Extraído de
http://ramses.ffalm.br/falm/info/professores/biluka/PO/Apostila%20PO%20%20Prof%20Biluka.doc
2.2.1 Avaliação do Objetivo
Avaliar o desempenho da função objetivo: Maximizar L = 2 x1  5x2 , na região de soluções do gráfico
abaixo:
x2
8
6
0
4
8
x1
Solução: Escolhemos um valor arbitrário para L, por exemplo, o valor 10.
A equação: 10  2x1  5x2 fornece o conjunto de pontos ( x1 , x 2 ) que dão para L o valor 10. Vamos
representar esses pontos:
2x1  5x2  10
Fazendo x1  0 teremos 5x2  10  x2  2
Fazendo x2  0 teremos 2 x1  10  x1  5
Escolhemos um segundo valor para L, por exemplo, o valor 15, então:
2x1  5x2  10
Fazendo x1  0 teremos 5x2  15  x2  3
Fazendo x2  0 teremos 2x1  15  x1  7,5
Pesquisa Operaciona I
- 16 -
Extraído de
http://ramses.ffalm.br/falm/info/professores/biluka/PO/Apostila%20PO%20%20Prof%20Biluka.doc
Graficamente, teremos:
x2
8
6
0
L = máximo
4
5
7,5
L = 10
8
x1
L = 15
Verificamos do gráfico que:
1. À medida que atribuímos valores a L, obtemos retas paralelas.
2. À medida que o valor de L aumenta, a reta se afasta da origem do sistema de eixos.
Podemos concluir que pelo ponto P do gráfico teremos a paralela de maior valor que ainda apresenta
um ponto na região de soluções. Portanto, o ponto P é a solução que maximiza L na região de soluções
dadas.
Como P = (0,6) e L = 2 x1  5x2 , substituindo x1  0 e x2  6 teremos:
L = 2.0 + 5.6 ou L máximo = 30.
Pesquisa Operaciona I
- 17 -
Extraído de
http://ramses.ffalm.br/falm/info/professores/biluka/PO/Apostila%20PO%20%20Prof%20Biluka.doc
Exercício.
Resolver o problema de programação linear:
Minimizar
maximizar Z  2 x1 3x 2
x1  x 2  5
Sujeito a
5 x1  x 2  10
x1  8
x1 , x2  0
Pesquisa Operaciona I
- 18 -
Extraído de
http://ramses.ffalm.br/falm/info/professores/biluka/PO/Apostila%20PO%20%20Prof%20Biluka.doc
O MÉTODO SIMPLEX
4
O Método Simplex caminha pelos vértices da região viável até encontrar uma
solução que não possua soluções vizinhas melhores que ela. Esta é a solução ótima. A solução ótima
pode não existir em dois casos: quando não há nenhuma solução viável para o problema, devido a
restrições incompatíveis; ou quando não há máximo (ou mínimo), isto é, uma ou mais variáveis podem
tender a infinito e as restrições continuarem sendo satisfeitas, o que fornece um valor sem limites para
a função objetivo.
Esse método é formado por um grupo de critérios para escolha de soluções básicas
que melhorem o desempenho do modelo, e também de um teste otimalidade. Para isso, o problema
deve apresentar uma solução básica inicial. As soluções básicas subseqüentes são calculadas com a
troca de variáveis básicas por não básica, gerando novas soluções.
Os critérios para escolha de vetores e conseqüentemente das variáveis que entram e
saem para a formação da nova base constituem o centro do simplex.
Suponhamos inicialmente que o modelo apresente a solução básica inicial. Os
modelos com restrições tipo  e com termos da direita não negativos têm uma solução básica formada
pelas variáveis de folga.
Exemplo:
No modelo:
maximizar Z  3x15x2
2 x1  4 x2  10
sujeito a :
6 x1  x2  20
x1  x2  30
x1 , x2  0
Pesquisa Operaciona I
- 19 -
Extraído de
http://ramses.ffalm.br/falm/info/professores/biluka/PO/Apostila%20PO%20%20Prof%20Biluka.doc
Acrescenta-se as folgas, determina-se a solução básica inicial.
2 x1  4 x2  xF1  10
6 x1  x2  xF2  20
x1  x2  xF3  30
x1, x2 , xF1 , xF2 , xF3  0
Podemos visualizar uma solução formada pelas variáveis de folga.
Solução básica inicial: x1  0, x2  0, xF1  10, xF2  20, xF3  30
Descrição do Método para Maximização
1ª Parte: Teste de otimalidade para a solução.
Consiste em avaliar o efeito da permuta de uma variável básica por outro não
básica, com a conseqüente formação de nova solução. Se a entrada de uma variável não básica puder
melhorar o desempenho do sistema, a solução testa não é ótima.
Essa avaliação é possível quando a função objetivo está escrita somente em termos
das variáveis não básicas.
Voltando ao exemplo, função objetivo está escrita na forma:
maximizar Z  3x15x2
e obtivemos, fazendo x1  0 , x2  0 , uma solução básica inicial formada pelas
variáveis de folga xF1  10, xF2  20, xF3  30 .
No caso, as variáveis básicas são xF1 , xF2 , xF3 e as não básicas x1 , x2 .
Portanto, a função objetivo está escrita com as variáveis não básicas.
Examinando a função objetivo e a solução inicial x1  0, x2  0, z  0 com
Z  3x15x2 , temos:
Se x1 entra na base com valor 1, o valor de Z passa de Z  0 para Z  3 ,
aumentando 3 unidades, exatamente o valor do coeficiente de x1 .
Se x2 entra na base com valor 1, o valor de Z passa de Z  0 para Z  5 ,
aumentando 5 unidades, exatamente o valor do coeficiente de x2 .
Pesquisa Operaciona I
- 20 -
Extraído de
http://ramses.ffalm.br/falm/info/professores/biluka/PO/Apostila%20PO%20%20Prof%20Biluka.doc
Por outro lado, se o coeficiente de x1 ou x2 fosse negativo, a entrada dessa
variável diminuiria o valor de Z, de acordo com seu coeficiente. Pode-se concluir que enquanto a
função objetivo apresentar variáveis não básicas com coeficientes positivos, ela poderá ser aumentada,
não sendo portanto a solução ótima.
Vamos reescrever, agora, a função objetivo com todas as variáveis a esquerda:
Z  3x15x2  Z  3x15x2  0
Os coeficientes positivos à direita são negativos à esquerda, portanto, coeficiente
negativos à esquerda indicam que o valor de Z pode ser aumentado com a entrada da variável na base,
e na proporção de seu coeficiente. Escrito dessa forma, a solução testada só será ótima quando as
variáveis não básicas apresentarem somente coeficientes positivos.
2ª Parte: Cálculo da nova solução básica
a) Variável que entra na base: entra na base a variável com coeficiente negativo
de maior valor absoluto. A idéia é melhorar rapidamente o valor de Z.
Examinando a função objetivo do exemplo:
Z  3x15x2 ouZ  3x15x  0 entra a variável x2 , pois cada unidade a mais em
x2 aumenta Z em 5 unidades.
b) Variável que sai: sai a variável que primeiro se anula com a entrada da variável
escolhida no item anterior, no caso x2 , que entra com maior valor possível.
Ela pode ser descoberta dividindo-se os termos da direita das restrições pelos
coeficientes positivos da variável que entra. O menor valor indica que a variável básica dessa linha é a
que primeiro se anula e sairá da base.
2 x1  4 x2  xF1  10
6 x1  1x2  xF2  20
10 / 4  2,5  Sai
20 / 1  20
1x1  1x2  xF3  30
30 /( 1)  30
A última divisão (30/(-1))não pode ser considerada, pois Dara valor negativo para a
variável na próxima base, o que não é possível. Portanto, sai a variável da primeira linha, no caso xF1 .
c) Elemento Pivô: A coluna da variável que entra e a linha da variável que sai
identificam um elemento comum chamado pivô.
d) Calculando a nova solução:
Pesquisa Operaciona I
- 21 -
Extraído de
http://ramses.ffalm.br/falm/info/professores/biluka/PO/Apostila%20PO%20%20Prof%20Biluka.doc
d1. Vamos organizar a função objetivo e restrições numa tabela com colunas
formadas pelos coeficientes de cada variável e outra dos termos independentes.
Pesquisa Operaciona I
- 22 -
Download