Introdução à Pesquisa
Operacional, Programação Linear
e Solução Gráfica
Unidade 1
Revisão 2, de 02/09/2011Faculdade Pitágoras de Uberlândia Curso: Engenharia de Produção
Disciplina: PO – Pesquisa Operacional
Prof. João Paulo Seno [email protected]
Histórico
• Surgimento: Durante a 2aGuerra Mundial, na Inglaterra, a
partir da convocação de um grupo de cientistas para ajudar na decisão de alocação de recursos militares;
• Os resultados positivos obtidos incentivaram os Estados Unidos a iniciarem atividades semelhantes;
• Apesar da Inglaterra ter o crédito pela criação, os Estados Unidos foram os responsáveis pelo desenvolvimento e divulgação.
Histórico
• Com o fim da guerra, a Pesquisa Operacional atraiu a atenção de diversas áreas, devido à natureza abrangente e complexa dos problemas com os quais ela trata;
• As técnicas da Pesquisa Operacional permitem que as
decisões sejam melhor analisadas e testadas antes de serem implementadas;
• Com o aumento da capacidade de processamento e de memória dos computadores atuais, houve um grande progresso na Pesquisa Operacional.
Modelagem
• Os modelos são geralmente versões simplificadas do objeto ou problema de decisão que eles representam;
• É mais econômico analisar os problemas utilizando modelos;
• Os modelos geralmente fornecem respostas mais rapidamente do que a realidade;
• Algumas vezes, permitem análises onde a realidade não permite.
Tipos de Modelos
•
Basicamente podemos ter três tipos de
modelos:
– Modelos Físicos (Ex.: modelos de aeronaves e maquetes);
– Modelos Análogos (representa as relações através de diferentes meios. Ex.: Mapas rodoviários);
– Modelos Matemáticos (As grandezas são
representadas por variáveis e as relações entre as mesmas por expressões matemáticas).
Categorias de Modelos Matemáticos
quanto ao nível de incerteza existente
• Modelos Determinísticos: todas as informações relevantes são assumidas como conhecidas (sem incertezas);
• Modelos Probabilísticos: uma ou mais variáveis não são conhecidas e esta incerteza está
Categorias de Modelos Matemáticos
quanto ao propósito ou objetivo
• Modelos Prescritivos: baseiam-se na
representação dos objetivos e restrições de um processo para o qual se deseja descobrir soluções otimizadas;
• Modelos Descritivos: são utilizados na
representação de sistemas reais (ou propostos) e a experimentação de diferentes cenários.
Boas Decisões x Bons Resultados
• O objetivo da abordagem da solução de problemas
através da modelagem é ajudar os indivíduos tomar boas decisões;
• Porém, boas decisões nem sempre conduzem a bons resultados!
• O que pode-se garantir é:
O uso de um processo estruturado de modelagem para a tomada de decisões, conduz a bons resultados mais frequentemente do que quando não se utiliza nenhuma
O processo de tomada de decisão
Identificar a situação de decisão e entender o problema Identificar as alternativas Decompor e modelar o problema Escolher a melhor alternativa Análise de Sensibilidade Implementar a alternativa escolhida São necessárias novas análises ? Não Sim Início FimElementos dos Problemas de Decisão
• Valor:
– termo usado algumas vezes de forma ambígua;
– em teoria da decisão, usaremos o senso comum: algo que tem valor para alguém é algo importante para ele;
• Objetivo:
– É algo específico que se deseja alcançar;
– Os objetivos de alguém trazem consigo os valores deste alguém.
Aplicações da Pesquisa Operacional
• A Pesquisa Operacional pode ser utilizada para ajudar nos processos de tomada de decisão que surgem na solução de problemas de:
– Otimização de Recursos; – Localização; – Roteirização; – Carteiras de Investimento; – Alocação de Pessoas; – Previsão e Planejamento.
O Processo de Modelagem
• O processo de modelagem permite a realização de exaustivas simulações, envolvendo os mais diversos cenários. Assim, o profissional pode obter uma
compreensão mais profunda do problema, o que auxilia a tomada de decisão;
• Como alternativa o executivo pode usar a sua intuição para a tomada de decisões;
• Numa situação ideal, os profissionais deveriam fazer uso das duas opções, conjuntamente. Deixar de utilizar a intuição é desperdiçar uma extensa e útil base de conhecimentos.
Modelo + Intuição: uma dupla de sucesso
Situação Gerencial
Situação
Gerencial ModeloModelo ResultadoResultado DecisõesDecisões
Intuição Intuição Mundo Real Mundo Real Fonte: Lachtermacher, 2002 Mundo Simbólico
Modelos de Programação Matemática
• A escassez de certos recursos no mundo real gera problemas de como utilizá-los de forma mais
eficiente e eficaz;
• Busca-se, portanto, maximizar ou minimizar uma quantidade (lucro, custo, receita, número de
produtos, etc...), chamada de objetivo, que depende de um ou mais recursos escassos;
• A área que estuda a otimização de recursos é denominada Programação Matemática.
Modelos de Programação Matemática
• A quantidade (objetivo) a ser maximizada ou
minimizada é descrita como uma função matemática dos recursos (variáveis de decisão) escassos.
• As relações entre as variáveis são formalizadas
através de restrições ao problema como equações ou inequações matemáticas.
Modelos de Programação Matemática
• Matematicamente, temos: Otimizar: z = f(x1,x2,...,xn) Sujeito a: g1(x1,x2,...,xn) g2(x1,x2,...,xn) . . . gm(x1,x2,...,xn) <= = >= b1 b2 . . . bm Função Objetivo Quanti-dade dis-ponível de cada recurso Restrições
Programação Matemática
• Um problema de programação matemática é um problema de otimização no qual o objetivo e as
restrições são expressas como funções matemáticas e relações funcionais ≥ = ≤ = n n n n n n b b b x x x g x x x g x x x g x x x f z : ) ,..., , ( : ) ,..., , ( ) ,..., , ( : a Sujeito ) ,..., , ( : Otimizar 2 1 2 1 2 1 2 2 1 1 2 1
Programação Linear
• Um problema de programação matemática é linear se a função objetivo e cada uma das restrições forem funções lineares das respectivas variáveis de entrada
n n n
c
x
c
x
c
x
x
x
x
f
(
1,
2,...,
)
=
1 1+
2 2+
...
+
g x x
i( , ,..., )
1 2x
n=
a x
i1 1+
a x
i2 2+ +
...
a x
in nQuebrando a linearidade
• A presença de qualquer das expressões abaixo torna o problema não linear
( )
1 11
;
1
;
x
n
x
n≠
( )
;
com
qualquer
base
log
x
1a
a
x1;
para
qualquer v
alor
de
etc.
);
cos(
);
(
sen
x
1x
1Exemplo de um modelo de
Programação Linear
0
,
600
20
180
20
4
2
s.r.
2
max
2 1 2 1 2 1 2 1≥
≤
+
≤
+
+
x
x
x
x
x
x
x
x
Forma Padrão da Programação Linear
• Existem 4 características para um problema na forma
padrão:
– A função objetivo é de Maximizar;
– As restrições são todas com sinal de menor ou igual;
– As constantes de todas as restrições são não negativas;
– As variáveis são todas não negativas
0
,...
,
,
...
:
...
...
:
a
Sujeito
...
Maximizar
3 2 1 2 2 1 1 2 2 2 22 1 21 1 1 2 12 1 11 2 2 1 1≥
≤
+
+
+
≤
+
+
+
≤
+
+
+
+
+
+
=
n m n mn m m n n n n n nx
x
x
x
b
x
a
x
a
x
a
b
x
a
x
a
x
a
b
x
a
x
a
x
a
x
c
x
c
x
c
Z
não
negativos
Forma Padrão: Notação de Somatório
Função-Objetivo0
,...
,
,
)
,...
2
,
1
(
:
a
Sujeito
:
Maximizar
3 2 1 1 1≥
=
≤
=
∑
∑
= = n n j i j ij n i i ix
x
x
x
m
i
b
x
a
x
c
Z
Restrições • 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.
• Proporcionalidade:
– O valor da função-objetivo é proporcional ao nível de atividade de cada variável de decisão.
Hipóteses da Programação Linear
• Divisibilidade:
– Assume que todas as unidades de atividade possam ser divididas em qualquer nível fracionário, isto é, qualquer variável de decisão pode assumir qualquer valor positivo fracionário;
– Esta hipótese pode ser quebrada, dando origem a um problema especial de programação linear, chamado de
problema inteiro ou programação inteira.
• Certeza:
– Assume que todos os parâmetros do modelo são constantes conhecidas.
– Em problemas reais quase nunca satisfeita – as constantes são estimadas;
– Requer uma análise de sensibilidade.
Hipóteses da Programação Linear
Programação Linear: Terminologia
• Solução:– No campo de Programação Linear, é qualquer
especificação de valores para as variáveis de decisão, não importando se esta especificação se trata de uma escolha desejável ou permissível.
Classificação das Soluções
• Solução Viável: é uma solução em que todas as
restrições são satisfeitas;
• Solução Inviável: é uma solução em que alguma das
restrições ou as condições de não-negatividade não são atendidas;
Exemplos de Solução Viável e Inviável
0
,
800
100
180
20
4
2
s.r.
max
2 1 2 1 2 1 2 1≥
≤
+
≤
+
+
x
x
x
x
x
x
x
x
x1= 3 x2= 2)
2
,
3
(
=
S
solução viável: todas as restrições são atendidas x1= 3 x2= 4)
4
,
3
(
=
S
solução inviável: as restrições não são respeitadasA Solução Ótima
• É especialmente importante verificar como fica o valor de Z nas soluções viáveis que podemos determinar:
)
1
,
1
(
=
S
Z
=
2
0
,
800
100
180
20
4
2
s.r.
max
2 1 2 1 2 1 2 1≥
≤
+
≤
+
+
x
x
x
x
x
x
x
x
)
1
,
2
(
=
S
Z
=
3
)
2
,
3
(
=
S
Z
=
5
A Solução Ótima
• A Solução Ótima é uma solução viável especial.
• De todas as soluções viáveis, aquela que obtiver o valor da função objetivo mais adequado é chamada de ótima;
• A grande questão é como determinar a solução ótima!
Em Busca da Solução Ótima
Método Gráfico
Programação Linear: Solução Gráfica
• Como vimos, não é simples obter a solução ótima de um problema de Programação Linear.
• Existem diversas maneiras de obter esta solução ótima;
• Quando o problema envolver apenas duas variáveis
de decisão, a solução ótima pode ser encontrada graficamente;
O Problema do Desenhista
• Um desenhista faz quadros artesanais para vender numa feira que acontece todo dia, à noite;
• Ele faz desenhos grandes e desenhos pequenos, e vende-os por R$5,00 e R$2,00, respectivamente;
• Só é possível vender 4 desenhos grandes, e 3 desenhos pequenos por noite;
• O desenho grande é feito em uma hora (grosseiro) e o pequeno é feito em duas horas (detalhado). Além disso, o desenhista desenha 8 horas por dia antes de ir para a feira.
A Decisão do Desenhista
• O que o desenhista precisa decidir?• O que ele pode fazer para aumentar ou diminuir a sua receita?
• A decisão dele é como usar as 8 horas diárias:
quantos desenhos pequenos e grandes ele deve fazer!
• Chamemos de x1 e x2 as quantidades de
desenhos grandes e pequenos que ele faz, por dia, respectivamente.
Construindo o modelo, temos:
Max Z
=
5
x
1+
2
x
2 Faturamento1
s r
. .
x
≤
4
(a)
Máximo de desenhos grandesx
2≤
3
(b)
Máximo de desenhos pequenosx
1+
2
x
2≤
8
(c)
Restrição de Tempo Não negatividadex
1≥
0
, x
2≥
0
(d)
Programação Linear: Solução Gráfica
x
2x
1 Todos os valores para x1 e x2 são considerados inicialmentex1 ocupa o eixo das abscissas e x2 o eixo das ordenadas 1 2 3 4 1 2 3 4
x
2x
1x2 é não negativa
x
2≥
0
Logo:Programação Linear: Solução Gráfica
x
2x
1x
2≥≥≥≥
0
A região viável é reduzida! O mesmo raciocínio para x1 resulta:x
2≥≥≥≥
0
A região viável é reduzida mais ainda!x
1≥≥≥≥
0
x
2x
1Programação Linear: Solução Gráfica
1 2 3 4 1 2 3 4
x
2x
1 Agora pensemos na restrição (a):4
1≤
x
1 2 3 4 1 2 3 4
x
2x
1x
1≤≤≤≤
4
Programação Linear: Solução Gráfica
1 2 3 4 1 2 3 4
x
2x
1 E a restrição (b):3
2≤
x
1 2 3 4 1 2 3 4
x
2x
1x
2≤≤≤≤
3
Programação Linear: Solução Gráfica
1 2 3 4 1 2 3 4
x
2x
1x
2≤≤≤≤
3
x
1≤≤≤≤
4
x
1≥≥≥≥
0
x
2≥≥≥≥
0
Agora precisamos colocar a restrição (c):x
1+
2
x
2≤
8
A região viável parcial é compreendida
entre as retas
1 2 3 4 1 2 3 4x
2x
1x
2====
3
x
1====
4
x
1====
0
x
2====
0
É importante ver aonde a nova reta vai passar.Vamos ver sua interseção com os eixos principais
Interseção com os eixos principais
•
Toda interseção é determinada
resolvendo um sistema de equações
8
2
2 1+
x
=
x
0
1=
x
8
2
2 1+
x
=
x
0
2=
x
4
2=
x
)
4
,
0
(
8
1=
x
)
0
,
8
(
Um esboço da nova reta
1 2 3 4 1 2 3 4x
2x
1)
4
,
0
(
)
0
,
8
(
Para uma maiorprecisão é importante definir os outros dois pontos vermelhos
Definindo os pontos de Interseção
8
2
2 1+
x
=
x
4
1=
x
8
2
2 1+
x
=
x
3
2=
x
2
2=
x
)
2
,
4
(
2
1=
x
)
3
,
2
(
A nova reta
1 2 3 4 1 2 3 4x
2x
1(2,3)
(4,2)
Como toda restrição, uma parte da antiga região viável será desprezada. Qual?
Para onde a restrição aponta? Para baixo ou para cima?
Decidindo sobre a restrição
1 2 3 4 1 2 3 4
x
2x
1(2,3)
(4,2)
Devemos investigar algum ponto que esteja na região acima ou abaixo da reta ?Decidindo sobre a restrição
Vamos escolher, por
facilidade o ponto (0,0):
8
2
2 1+
x
≤
x
0
0
2
0
+
×
=
Aplicando:
Logo, (0,0) está dentro da restrição.
Portanto, a reta aponta para baixo.
8
0
≤
Decidindo sobre a restrição
1 2 3 4 1 2 3 4
x
2x
1(2,3)
E, portanto,(4,2)
Região Viável
1 2 3 4 1 2 3 4x
2x
1(2,3)
(4,2)
Região Viável A região viável é o conjunto de todas as soluções viáveis do problemaProgramação Linear e Convexidade
•
Conjunto Convexo em R
2 Conjunto Convexo Conjunto não ConvexoTeorema Fundamental da
Convexidade
•
Teorema:
O conjunto de todas as soluções viáveis de um Problema de Programação Linear é um conjunto convexo;
• Graficamente, podemos verificar o teorema observando que a região viável é obtida como a interseção de vários semi-espaços, e é portanto convexa.
Verificação Geométrica do
Teorema 1
∩
=
0
1≥
x
x
2≥
0
Verificação Geométrica do
Teorema 1
∩
=
4
1≤
x
Verificação Geométrica do
Teorema 1
∩
=
3
2≤
x
Verificação Geométrica do Teorema 1
∩
=
8
2
2 1+
x
≤
x
cqd
Pontos Extremos
1 2 3 4 1 2 3 4x
2x
1D=(2,3)
C=(4,2)
A=(0,0)
B=(4,0)
E=(0,3)
São pontos especiais, nos vértices da região viável
Solução Ótima
• A solução ótima é um dos pontos da região viável;
• Basta procurar dentro da região viável o ponto que dará o maior valor para Z;
• Investiguemos o valor de Z em alguns pontos da região viável:
Investigando valores para Z
•
Vamos investigar, por acaso, o valor de Z
em (2,0)
10
0
2
2
5
×
+
×
=
=
Z
•
Entretanto, outros pontos também fornecem
Z = 10:
(
1
,
6
;
1
)
⇒ Z
=
5
×
1
,
6
+
2
×
1
=
10
(
1
;
2
,
5
)
⇒ Z
=
5
×
1
+
2
×
2
,
5
=
10
O conjunto de soluções para Z = 10
1 2 3 4 1 2 3 4x
2x
1D
C
A
B
E
Em todos estes pontos, temos Z = 10 (0,8 ; 3) (2 ; 0)Como obter estes pontos?
O valor fixo de Z
• Quando Z assume um valor fixo, temos uma reta!
• Entretanto, é possível que vários pontos da região viável possuam um mesmo valor para Z, como foi o caso anterior;
• Também é possível que nenhum ponto assuma um determinado valor de Z.
O conjunto de soluções para Z = 30
O Conjunto de Soluções para Z = 30 é vazio (0;15) (4;5) (5,5;1,25) (6;0)Variando o Valor de Z
• O que aconteceu, do ponto de vista da reta, quando mudamos o valor de Z?
•
Sempre que aumentarmos o valor de Z a reta
irá para a direita!
Z = 10 Z = 30
A reta se deslocou para a direita
A Solução Ótima
• Como é um problema de maximizar, a solução ótima será o ponto da região viável que esteja mais à
direita;
C=(4,2)
Também é importante saber o valor da função objetivo no ponto ótimo
O Valor da função objetivo na
solução ótima
• Calcula-se então:24
2
2
4
5
×
+
×
=
=
Z
• Podemos então concluir que, desenhando 4
quadros grandes e 2 quadros pequenos por dia, o Desenhista terá seu faturamento máximo, de
Solução Gráfica: Resumo
• Para obter a solução de forma gráfica, siga ospassos:
– Desenhe a região viável, que depende exclusivamente das restrições;
– Descubra a inclinação da função objetivo (desenhe em algum ponto interno à região viável, aleatoriamente)
– Descubra para que lado a função objetivo melhora;
– Projete a função nesta direção; em caso de dúvidas, você sempre pode aplicar a função objetivo em mais de um ponto, escolhendo o ponto mais adequado.
Exercício 1 (Maximização)
• A Reddy Mikks produz tintas para interiores e exteriores com base em
duas matérias-primas, M1 e M2. A tabela abaixo apresenta os dados básicos do problema:
• Uma pesquisa de mercado indica que a demanda diária de tintas para
interiores não pode ultrapassar a de tintas para exteriores por mais de 1 ton. Além disso, a demanda máxima diária de tinta para interiores é 2 ton.
• A Reddy Mikks quer determinar o mix ótimo de produtos de tintas para
interiores e exteriores que maximize o lucro total diário.
• Resolver graficamente.
Ton de matéria prima por ton de
tintas para exteriores
Ton de matéria prima por ton de
tintas para interiores Disponibilidade máx. diária (ton) M1 6 4 24 M2 1 2 6 Lucro p/ ton. $5.000 $4.000
Exercício 2 (Minimização)
• A Ozark Farms usa no mínimo 800 kg de ração especial por dia. Essa ração
especial é uma mistura de milho e soja. As propriedades do milho e da soja e o custo por kg de cada um estão anotadas na tabela abaixo.
• Os requisitos nutricionais da ração especial são: no mínimo 30% de
proteína e no máximo 5% de fibra.
• A Ozark Farms quer determinar a mistura que gera a ração de mínimo
custo diário e atenda aos requisitos nutricionais.
• Resolver graficamente.
kg por kg de ração
kg por kg de ração
Ração Proteína Fibra Custo ($/kg)
Milho 0,09 0,02 0,30