Anda di halaman 1dari 50

Pesquisa Operacional II – Prof.

Edilson Machado de Assis

Otimização não linear

Disciplina: Pesquisa Operacional em Sistemas II


Professor: Edilson Machado de Assis

1
Pesquisa Operacional II – Prof. Edilson Machado de Assis

Introdução
Problemas de otimização em que a função objetivo
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.
Um problema de programação não-linear pode ser
genericamente representado da seguinte forma:
Otimizar: z =f (x1,x2,...,xn)
Sujeito a: gl (xl, x2,..., xn) ≤ b1
g2 (xl, x2,..., xn) = b2
gm (xl, x2,..., xn) ≥ bm
2
Pesquisa Operacional II – Prof. Edilson Machado de Assis

Convexidade de funções de 1, 2 ou mais variáveis


Quando resolvemos problemas de programação
linear através de ferramentas como o Solver do Excel,
podemos afirmar que o resultado apresentado pelo
software é realmente a solução ótima que procuramos
(ou pelo menos uma delas no caso de soluções
múltiplas). Resolvendo problemas de programação não-
linear, entretanto, o Solver do Excel, bem como
qualquer outro software, apresenta dificuldades.

3
Pesquisa Operacional II – Prof. Edilson Machado de Assis

Melhor local e global


Devido às características dos problemas de PNL, não
ha condições, a principio, de afirmarmos se o programa
encontrou realmente o ponto máximo ou mínimo global
da função, ou apenas um ponto de maximo ou mínimo
local.
Para que tenhamos condições de assegurar que o
resultado encontrado pelo Solver para um problema de
programação não-linear é a solução ótima da função-
objetivo, precisamos saber identificar as características
de concavidade e convexidade das funções que
compõem o modelo.

4
Pesquisa Operacional II – Prof. Edilson Machado de Assis

Identificação de concavidade
De uma forma geral, podemos classificar as funções
não-lineares em côncavas e convexas. Os métodos para
identificar se uma determinada função é côncava ou
convexa variam conforme o numero de variáveis da
função. Veremos a seguir o procedimento para
classificação de funções com uma, duas e mais de duas
variáveis.

5
Pesquisa Operacional II – Prof. Edilson Machado de Assis

Funções de uma variável


Funções contínuas de uma variável são as mais
simples de serem classificadas. De uma forma genérica,
descobrimos se uma função contínua de uma variável é
convexa se, ao traçarmos uma linha unindo dois pontos
da função, esta linha nunca se encontrar abaixo da
curva.

6
Pesquisa Operacional II – Prof. Edilson Machado de Assis

Teste analítico
Uma maneira pratica e rápida de verificarmos a
convexidade de uma função de uma variável é por meio
da análise da sua segunda derivada. Por este teste, uma
função f(x) é:
d 2 f (x )
a) convexa se ≥ 0 x  Domínio ;
2
dx
d 2 f (x )
b) estritamente convexa se > 0 x  Domínio ;
2
dx
d 2 f (x )
c) côncava se ≤ 0 x  Domínio ;
2
dx
d 2 f (x )
d) estritamente côncava se < 0 x  Domínio .
dx 2
7
Pesquisa Operacional II – Prof. Edilson Machado de Assis

Observações

Algumas observações devem ser feitas com relação às


definições:
d 2 f (x )
a) Se a função é linear, =0 x  Domínio a
2
dx
função é definida como côncava e convexa
simultaneamente
d 2 f (x )
b) Se for positivo para alguns valores do
2
dx
domínio e negativo para outros, então a função não
é nem côncava, nem convexa.

8
Pesquisa Operacional II – Prof. Edilson Machado de Assis

Exemplos
Classifique quanto à convexidade:
a) f (x )  x 2  x
df (x ) d 2 f (x )
 2x  1 e  2 (Estritamente convexa)
dx 2
dx
b) f (x )  x 3  2x  8
2
df (x ) d f (x )
 3x 2  2 e  6x (Nem côncava nem convexa)
dx dx 2
c) f (x )  x 2  x
df (x ) d 2 f (x )
 2x  1 e  2 (Estritamente côncava)
dx 2
dx

9
Pesquisa Operacional II – Prof. Edilson Machado de Assis

Funções de 2 variáveis
De forma análoga as 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.
Seja f  f (x1, x 2 ) uma função com derivadas parciais
de segunda ordem continuas e seja a matriz Hessiana,
H, definida pelas segundas derivadas da mesma função
e D o determinante da matriz Hessiana.

 2 f (x , x ) 2 f (x , x ) 
 1 2 1 2 
 x 2  x  x 
H   2 1 2
1 2 

  f (x ,
1 2x )  f (x , x
1 2 )
 x x 2 
 2 1 x 2 
10
Pesquisa Operacional II – Prof. Edilson Machado de Assis

Classificação
O Determinante é:
2
2 2  2
 f (x1, x 2 )  f (x1, x 2 )   f (x1, x 2 ) 
D  .   
x12 x 22  x1x 2 

2 f (x1, x 2 ) 2 f (x1, x 2 )
Classificação D
x12 x 22
Convexa ≥0 ≥0 ≥0
Estritamente
>0 >0 >0
convexa
Côncava ≥0 ≤0 ≤0
Estritamente
>0 <0 <0
côncava
Válido  x1, x 2  Domínio f (x1, x 2 )
11
Pesquisa Operacional II – Prof. Edilson Machado de Assis

Observações
a) se a função é linear do tipo f (x1, x 2 )  0  1x1  2x 2
2 f (x1, x 2 ) 2 f (x1, x 2 )
então D = 0, =0 e =0
x12 x 2 2

 x1, x 2  Domínio f (x1, x 2 ) e a função é definida como


côncava e convexa simultaneamente;

b) se D < 0, para algum dos possíveis valores 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, nem convexa.

12
Pesquisa Operacional II – Prof. Edilson Machado de Assis

Exemplos
a) f (x1, x 2 )  x12  x1x 2  x 22  3x1  2
f (x1, x 2 ) f (x1, x 2 )
 2x1  x 2  3 e  2x 2  x1
x 1 x 2
2 f (x1, x 2 ) 2 f (x1, x 2 )
2 , 2
x12 x 2 2

2 f (x1, x 2 ) 2 f (x1, x 2 )
 1
x1x 2 x 2x1
2 1  2
f (x , x )  2
f (x1, x 2 )
H    , logo D=3 e D>0, 1 2
0e 0
1 2  x 1 2
x 2 2
 

 x1, x 2  Domínio f (x1, x 2 ) (Estritamente convexa)

13
Pesquisa Operacional II – Prof. Edilson Machado de Assis

Exemplos continuação

f (x1, x 2 )  x12  x1x 2  x 22  3x1  2

14
Pesquisa Operacional II – Prof. Edilson Machado de Assis

Exemplos
b) f (x1, x 2 )  x12  x 22
f (x1, x 2 ) f (x1, x 2 )
 2x1 e  2x 2
x1 x 2
2 f (x1, x 2 ) 2 f (x1, x 2 )
 2 , 2
x12 x 2 2

2 f (x1, x 2 ) 2 f (x1, x 2 )
 0
x1x 2 x 2x1
 2 0 
H    , logo D=-4 e D<0
0 2
 

 x1, x 2  Domínio f (x1, x 2 ) (Não é côncava nem convexa)

15
Pesquisa Operacional II – Prof. Edilson Machado de Assis

Exemplos continuação
f (x1, x 2 )  x12  x 22

16
Pesquisa Operacional II – Prof. Edilson Machado de Assis

Funções de mais de 2 variáveis


O primeiro passo para determinar a convexidade de funções de
mais de duas variáveis é montar a matriz Hessiana da função
analisamos. Seja f (x 1, x 2 , x 3 ,...x n ) uma função de n variáveis, a
matriz Hessiana e uma matriz simétrica n  n formada por todas
as derivadas parciais de segunda ordem desta função:
 2 f  2
f  2
f  2
f 
 
 x 2  x  x  x  x  x  x 
 1 1 2 1 3 1 n 
  f2
 2
f  2
f  2
f 
  
 x x  x 2  x  x  x  x 
 2 1 2 2 3 2 n 
H   2 f 2 f 2 f 2 f 
 x x 
 3 1 x 3x 2 x 3 2 x 3x n 
      
 
 2 f  2
f  2
f  2
f 
  
 x x x x x  x 2 
 n 1 n 2 n 3  x n 
17
Pesquisa Operacional II – Prof. Edilson Machado de Assis

Determinantes menores
São calculados os determinantes D1, D2 ,..., Dn . Estes
são chamados determinantes dos menores principais
da matriz hessiana e serão em número igual ao numero
de variáveis da função.
2 f 2 f 2 f
2 f 2 f x12 x1x 2 x1x 3
2
 f x12 x1x 2
D1  D2  2 f 2 f 2 f
x12 2 f 2 f D3 
x 2x1 x 22 x 2x 3
x 2x1 x 22 2 f 2 f 2 f
x 3x1 x 3x 2 x 32

18
Pesquisa Operacional II – Prof. Edilson Machado de Assis

Determinantes menores
 2 f  2
f 
  
 x 2 x  x 
 1 1 n 
Generalizando Dn      

 2 f  2
f 
  
 x x 2 
 n 1 x n 

19
Pesquisa Operacional II – Prof. Edilson Machado de Assis

Classificação D1 D2 D3 ...Dn
Convexa ≥0 ≥0 ≥0 ≥0
Estritamente
>0 >0 >0 >0
convexa
Côncava ≤0 ≥0 ≤0 ...
Estritamente
<0 >0 <0 ...
côncava
Côncava e
=0 =0 =0 =0
convexa
Válido  x1, x 2  Domínio f (x1, x 2 )
Se f é linear, é côncava e convexa simultaneamente.
Se nenhuma das condições apresentadas for
atendida, a função não é nem côncava, nem convexa.

20
Pesquisa Operacional II – Prof. Edilson Machado de Assis

Exemplos
a) f (x1, x 2 , x 3 )  x1x 3  x 22
f f f
 x3  2x 2  x1
x1 x 2 x1
 2 f  2
f  2
f 
  0  0  1 
 2 x1x 2 x1x 3 
 x1  0 0 1
 2 f 2 f 2 f   
H  0  2  0    0 2 0 
 
 x 2 x 1 x 2 2 x 2 x 3  1 0 0
 2 f 2 f 2 f   
 
 x x  1 x x  0 2
0 
 3 1 3 2 x 3 

0 0 1
0 0
D1  0  0 D   0 D  0 2 0  2
2
0 2 3
1 0 0
A função é convexa
21
Pesquisa Operacional II – Prof. Edilson Machado de Assis

Exemplos
b) f (x1, x 2 , x 3 )  x12  x 22  x 32  x1x 2  2x1x 3  x 2x 3
f f f
 2x1  x 2  2x 3  2x 2  x1  x 3  2x 3  2x1  x2
x1 x 2 x 3
 2 f  2
f  2
f 
  2 
 x 2  2 x1x 2
 1
x1x 3
 1   2 1 2 
 2 f  2
f  2
f  
H    1 2  1    1 2 1 
 x 2x1 x 22 x 2x 3   2 1 2 
 2 f  f2
 f2  
 
  2  1  2 
 x x x 3x 2
 3 1 x 32 

2 1 2
2 1
D1  2  2 D   3 D  1 2 1  8
2
1 2 3
2 1 2
A função não é côncava nem convexa
22
Pesquisa Operacional II – Prof. Edilson Machado de Assis

Programação Côncava, Convexa e Quadrática


O principal interesse é saber se algoritmos
eletrônicos, como o Solver do Excel, o LINGO e outros,
encontrarão a solução ótima do problema sem
dificuldades.
O Solver utiliza um algoritmo chamado GRG
(generalized reduced gradient) para chegar a solução do
problema.
Este algoritmo consiste em, a partir de uma condição
inicial, seguir passo a passo, calculando valores para as
variáveis do modelo e verificando o comportamento da
função objetivo.

23
Pesquisa Operacional II – Prof. Edilson Machado de Assis

Programação Côncava, Convexa e Quadrática


No momento em que o valor da função objetivo
inverte de tendência, ou seja, deixa de crescer para
diminuir (caso de maximização) ou deixa de diminuir
para começar a crescer (caso de minimização), o Solver
assume que encontrou um ponto de maximo ou de
mínimo da função, que pode ser tanto um extrema local
como global.
No entanto, com este procedimento, o algoritmo não
garante que a solução encontrada seja a solução global,
pois a princípio não há certeza se aquela função
analisada não irá inverter o seu comportamento
novamente.

24
Pesquisa Operacional II – Prof. Edilson Machado de Assis

Programação Côncava, Convexa e Quadrática

Se nos utilizarmos o Solver para encontrarmos o


ponto de maximo da função da figura é bastante
provável que o algoritmo encontre diversas soluções
dependendo dos valores com os quais iniciamos a
otimização, o Solver pode indicar o ponto 1 ou o ponto 3
como o ponto que maximiza a função, sendo que, no
entanto, apenas o ponto 3 é o maximo global da função
e, portanto, o resultado.
25
Pesquisa Operacional II – Prof. Edilson Machado de Assis

Mínimo e máximo global e local

Diante da incerteza quanto ao resultado apresentado


pelo Solver, precisamos saber se o tipo do modelo
permite que a solução dada pelo algoritmo seja
assumida como a solução ótima do problema. Quando o
modelo não apresenta restrições, esta análise fica
bastante simples. O fato da função-objetivo ser côncava
é condição necessária e suficiente para garantirmos
que o maximo encontrado peio algoritmo e maximo
global. De forma análoga, o fato da função-objetivo de
um PNL sem restrições ser convexa é condição
necessária e suficiente para garantirmos que o mínimo
encontrado também seja global.

26
Pesquisa Operacional II – Prof. Edilson Machado de Assis

Problemas freqüentes

Ha três tipos de problemas de programação não-


linear muito freqüentes que atendem a aquelas
condições: a programação côncava, a programação
convexa e a programação quadrática.

27
Pesquisa Operacional II – Prof. Edilson Machado de Assis

Programação Côncava e Programação Convexa


Se a função objetivo do PNL for uma função côncava
(no caso de uma maximização) ou convexa (no caso de
uma minimização), o modelo será eficientemente
resolvido pelo algoritmo aplicado se o conjunto de
soluções viáveis do problema formar um conjunto
convexo
Podemos garantir que o conjunto de soluções viáveis
de um PNL com restrições (apenas inequações) é um
conjunto convexo se todas as restrições respeitarem as
regras abaixo
Se a restrição for do tipo gi (x )  bi e gi (x ) for uma
função convexa
Se a restrição for do tipo gi (x )  bi e gi (x ) for uma
função côncava.
28
Pesquisa Operacional II – Prof. Edilson Machado de Assis

Programação Côncava e Programação Convexa - cont

Decorre desta consideração que, se o modelo for uma


maximização, a função objetivo for uma função côncava
e o conjunto de soluções viáveis for um conjunto
convexo, 0 PNL é dito de Programação Côncava e o
maximo encontrado é global.

Similarmente, se o modelo for uma minimização, a


função objetivo for uma função convexa e o conjunto de
soluções viáveis for um conjunto convexo, o PNL é dito
de Programação Convexa e o mínimo encontrado é
global.

29
Pesquisa Operacional II – Prof. Edilson Machado de Assis

Programação Quadrática
Os problemas que forem classificados como de
Programação Quadrática, independentemente do
modelo se tratar de maximização ou de minimização,
terão a sua solução ótima encontrada pelos algoritmos
de resolução de problemas não-lineares sem
dificuldades.
Uma função quadrática de n variáveis (xl,x2,x3,...,xn)
é uma função que pode ser escrita da seguinte forma:
n n 1 n n
f (x1, x 2 ,..., x n )   Aixi 2    Bij x i x j   C i x i  D
i 1 i 1 j i 1 i 1

30
Pesquisa Operacional II – Prof. Edilson Machado de Assis

Programação Quadrática - continuação


Em outras palavras, a função quadrática é a soma de
termos envolvendo o quadrado de variáveis Ai x i 2 ,
produto de variáveis Bij x i x j , funções lineares C ij e
constantes D .

Exemplos
f (x1 )  ax12  bx1  c
f (x1, x 2 )  ax12  bx1x 2  cx 22  dx1  ex 2  f

31
Pesquisa Operacional II – Prof. Edilson Machado de Assis

Programação Quadrática - continuação


Um problema de programação cujo modelo é uma
maximização ou uma minimização é dito de Programação
Quadrática se:
A função objetivo for uma função quadrática.
O conjunto de restrições apresentar somente restrições
lineares.
Como o conjunto de restrições é formado apenas por
funções lineares da mesma maneira que nos problemas de
programação linear, podem garantir que o conjunto de
soluções será um conjunto convexo. Portanto, num caso de
Programação Quadrática de Maximização em que a função
objetivo é uma função côncava o Excel encontrará o maximo
global.
Naturalmente num caso de Programação Quadrática de
Minimização em que a função objetivo é uma função
convexa, o Excel encontrará o mínimo global.
32
Pesquisa Operacional II – Prof. Edilson Machado de Assis

Programação não-linear utilizando o Excel

Quando o modelo não se tratar de um problema de


programação côncava, convexa ou quadrática, uma
maneira pratica para tentar minorar os problemas de
máximos e mínimos locais é começar a otimização de
diversos pontos iniciais, gerados aleatoriamente.

Se todas as otimizações gerarem o mesmo resultado,


então podemos ter maior confiança, mas não a certeza
de termos atingido um ponto global.

Caso contrário, deveremos supor a existência de


diversos extremos locais (relativos) e assumir o melhor
valor encontrado.

33
Pesquisa Operacional II – Prof. Edilson Machado de Assis

Controle de estoque
Um dos modelos mais elementares de controle de
estoque chama-se Modelo do Lote Econômico. Este
modelo é simples, pois assume que a demanda anual de
um produto a ser pedido é constante e que cada novo
pedido do produto deve chegar no exato momento em
que o estoque chegar a zero.
O objetivo do é determinar, por meio do
balanceamento dos custos associados ao estoque, o
tamanho e a periodicidade do pedido que minimizem o
custo total. Os custos mais relevantes que determinam
o custo total de estocagem são os seguintes:

34
Pesquisa Operacional II – Prof. Edilson Machado de Assis

Custos envolvidos

a) custo de manutenção do estoque - custo associado ao


valor em estoque e que poderia estar aplicado em diversas
formas de investimentos, rendendo benefícios financeiros
para a empresa, além dos custos de armazenagem;

b) custo do pedido - custo associado ao trabalho de


efetuar o pedido de um lote de produtos, engloba custos
de mão-de-obra, de transporte do pedido e outros, tais
como controle do recebimento do pedido e controle de
qualidade do lote recebido;

c) custo de falta - custo relacionado a perdas decorrentes


da interrupção da produção devido à falta do produto;

35
Pesquisa Operacional II – Prof. Edilson Machado de Assis

Exemplo
Uma empresa que demanda anualmente 100 unidades
de um produto. Caso ela decida realizar quatro pedidos
trimestrais, os apenas dois semestrais teremos as
representações das suas políticas de estoque conforme
as figuras:

As políticas de estoque apresentadas acima são apenas


duas das diversas formas de atender a demanda anual
de 100 unidades que a empresa pode realizar. Porem,
como poderemos saber qual e a mais econômica?
36
Pesquisa Operacional II – Prof. Edilson Machado de Assis

Exemplo – continuação
Podemos modelar o problema com a função objetivo:

D Q
Minimizar Custo total  D.C  S  C m
Q 2
onde:
D = demanda anual do produto
C = custo unitário do produto
Q = quantidade de unidades por pedido (tamanho do
lote)
S = custo unitário do pedido (custo para fazer o
pedido)
C m = custo unitário de manutenção do produto em
estoque por ano.

37
Pesquisa Operacional II – Prof. Edilson Machado de Assis

Exemplo - continuação

Resolvendo problemas deste tipo, dispomos


geralmente dos valores da demanda anual, do custo
unitário do produto, do custo unitário de pedido e do
custo unitário de manutenção, de forma que a variável
que vai alterar o valor do custo total anual é a
quantidade de unidades por pedido (Q).
Considerando-se que a variável Q aparece tanto
no numerador quanto no denominador da função
objetivo, o modelo é um problema de programação não
linear.

38
Pesquisa Operacional II – Prof. Edilson Machado de Assis

Problema prático 1

A LCL Computadores Ltda., empresa montadora de


computadores, deseja diminuir o seu estoque de
mainboards. Sabendo-se que o custo unitário da
mainboard é de R$50, o custo anual unitário de
manutenção de estoque é de R$20 e o custo unitário do
pedido é de R$10, encontre o lote econômico para
atender a uma demanda anual de 1.000 mainboards.

Solução
Se o problema for de programação convexa ou
quadrática (não pode ser côncava por se tratar de uma
minimização), teremos condições de afirmar que a
solução ótima apresentada pelo Solver é o mínimo
global da função do custo total anual.
39
Pesquisa Operacional II – Prof. Edilson Machado de Assis

Solução
1000 Q
Minimizar Custo total  1000  50  10  20
Q 2
Sujeito a: Q  1 e Q  0
Não se trata de programação quadrática.
Verificação de convexidade:
10 000
f (Q )  50 000   10.Q
Q
df (Q )
 10000.Q 2  10
dQ
d 2 f (Q ) 3
20 000
 20 000.Q 
2
dQ Q3

40
Pesquisa Operacional II – Prof. Edilson Machado de Assis

Solução - continuação

d 2 f (Q )
Função estritamente convexa  0 e temos um
2
dQ
conjunto convexo de restrições e por conseqüência
temos um modelo de programação convexa. (Mínimo
global, Solver soluciona)

41
Pesquisa Operacional II – Prof. Edilson Machado de Assis

Solução - continuação

Os dados iniciais do problema ficam:

Célula B7: =B3*B4+B3/B7*B5+B7/2*B6

42
Pesquisa Operacional II – Prof. Edilson Machado de Assis

Solução - continuação
Aplicando o Solver

43
Pesquisa Operacional II – Prof. Edilson Machado de Assis

Solução - continuação
Solução

Solução inteira

Resposta
Demanda _anual 1000
Núm _lotes    31,25
Núm _ unidades _ por _lote 32

44
Pesquisa Operacional II – Prof. Edilson Machado de Assis

Problema prático 2

O Gerente de Projetos da LCL Telefonia Celular S.A.


precisa localizar uma antena de transmissão para
atender a três 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 do melhor
posicionamento para a antena.
Localidade x y
Nova Iguaçu -5 10
Queimados 2 1
Duque de Caxias 10 5
45
Pesquisa Operacional II – Prof. Edilson Machado de Assis

Continuação problema prático 2

46
Pesquisa Operacional II – Prof. Edilson Machado de Assis

Solução
Função objetivo:
Minimizar a soma das distâncias entre a torre e as
cidades.
Restrições:
As distancias são menores que 10 Km

Função objetivo:

 x  X   yi Y 
2 2
Minimizar i
i
2 2 2 2
 5  X   1 Y  0 2  X   1 Y  
2 2
10  X   5 Y 

47
Pesquisa Operacional II – Prof. Edilson Machado de Assis

Solução
Função objetivo:

 x  X   yi Y 
2 2
Minimizar i
i
2 2 2 2
 5  X   1 Y  0 2  X   1 Y  
2 2
10  X   5 Y 
Restrições:
2 2
5  X   10 Y   10
2 2
2  X   1 Y   10
2 2
10  X   5 Y   10
É difícil comprovar se a função objetivo é convexa ou
não. Repete-se o Solver com várias estimativas.
48
Pesquisa Operacional II – Prof. Edilson Machado de Assis

Solver

Célula D2: =RAIZ((B2-B$6)^2+(C2-C$6)^2)


Célula B7: =SOMA(D2:D4)

49
Pesquisa Operacional II – Prof. Edilson Machado de Assis

Solver

50