programação não linear conteúdos da seção - deinf/ufmaacmo/grad/po_c06_v2005.pdf · 1...

25
1 Programação não Linear Conteúdos da Seção w Programação Não Linear n Aplicações n Solução Gráfica n Resolução no Excel w Controle de Eestoque n Modelo do Lote Econômico w Problemas de Localização n Caso LCL Telecom S.A.

Upload: dinhdat

Post on 14-Nov-2018

221 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Programação não Linear Conteúdos da Seção - DEINF/UFMAacmo/grad/PO_c06_v2005.pdf · 1 Programação não Linear Conteúdos da Seção w Programação Não Linear n Aplicações

1

Programação não Linear Conteúdos da Seção w Programação Não Linear

n Aplicações n Solução Gráfica n Resolução no Excel

w Controle de Eestoque n Modelo do Lote Econômico

w Problemas de Localização n Caso LCL Telecom S.A.

Page 2: Programação não Linear Conteúdos da Seção - DEINF/UFMAacmo/grad/PO_c06_v2005.pdf · 1 Programação não Linear Conteúdos da Seção w Programação Não Linear n Aplicações

2

Programação Não Linear w De forma geral um problema de programação não

linear tem a seguinte forma:

),...,,(= xonde 0x

,...,2,1 para )x( )x( ou

21 n

ii

xxx

mibgstfMinMax

=≤

w Onde g(x) e/ou f(x) apresentam algum tipo de não-

linearidade w Nenhum algoritmo resolve todos os problemas que

podem ser incluídos neste formato. Aplicações w Problemas de Mix de Produtos em que o “lucro”

obtido por produto varia com a quantidade vendida. w Problemas de Transporte com custos variáveis de

transporte em relação à quantidade enviada. w Seleção de Portfolio com Risco

Page 3: Programação não Linear Conteúdos da Seção - DEINF/UFMAacmo/grad/PO_c06_v2005.pdf · 1 Programação não Linear Conteúdos da Seção w Programação Não Linear n Aplicações

3

Solução Gráfica w Considere o Problema de Programação Linear e sua

solução gráfica w Restrições são quadráticas

w A solução ótima (1):

n Continua na fronteira do conjunto de soluções viáveis.

n Não há mais garantia que possa ser em um ponto extremo do espaço de busca.

n Não existe a simplificação existente em Programação Linear

Max Z x x= +3 51 2

1s.t. x ≤ 4

x x≥ ≥0 01 2,

9 5 21612

22x x+ ≤

Max Z x x= +3 51 2

1s.t. x ≤ 4

x x≥ ≥0 01 2,

9 5 21612

22x x+ ≤

x2

1 2 3 4

4

2

6

00 x1

SoluçãoViável

(2;6)

x2x2

1 2 3 4

4

2

6

00 x1x1

SoluçãoViável

(2;6)

Page 4: Programação não Linear Conteúdos da Seção - DEINF/UFMAacmo/grad/PO_c06_v2005.pdf · 1 Programação não Linear Conteúdos da Seção w Programação Não Linear n Aplicações

4

w A função objetivo é quadrática.

( )[ ] ( )[ ]( )[ ] ( )[ ]( )[ ] ( )[ ]( )[ ] ( )[ ]2

22

1

22

21

22

21

22

21

2

222

2

121

22

222

211

71379=127807= Z

71379=221857= Z

71379=171907= Z

71379637441

26182

13182

1318

1269

1269

26182

1318

1269

131829126

−+−⇒

−+−⇒

−+−⇒

−−−−=−−

+

−−

+

−−=

−+−

xxPara

xxPara

xxPara

xxZ

xxxxZ

xxxxZ=

2

4

4

6

2 x 1

x2

SoluçãoViável

Z = 907

Z = 807Z = 857

2

4

4

6

2 x 1x 1

x2x2

SoluçãoViável

Z = 907Z = 907

Z = 807Z = 807Z = 857Z = 857

1

2x ≤ 122

3x x+ ≤2 181 2

s r x ≤ 4. .

x x≥ ≥0 01 2,

MaxZ= x x x x126 9 182 131 12

2 22− + −

1

2x ≤ 122

3x x+ ≤2 181 2

s r x ≤ 4. .

x x≥ ≥0 01 2,

MaxZ= x x x x126 9 182 131 12

2 22− + −

Page 5: Programação não Linear Conteúdos da Seção - DEINF/UFMAacmo/grad/PO_c06_v2005.pdf · 1 Programação não Linear Conteúdos da Seção w Programação Não Linear n Aplicações

5

w A solução ótima (2): w A solução ótima de um problema de programação

não linear (NLP), diferentemente de um problema de LP, pode ser qualquer valor do conjunto de soluções viáveis.

w Algoritmos em NLP devem pesquisar todos os

valores possíveis.

Solução no interior doconjunto de soluçõesviáveis e não mais na fronteira do conjunto

4

2

6

2 4 x1

x2

SoluçãoViável

3

3

Z = 162Z =189

Z =198

222

211 1378954 xxxxZMax −+−= 2

22211 1378954198 xxxx=ZMax −+−=

Solução no interior doconjunto de soluçõesviáveis e não mais na fronteira do conjunto

4

2

6

2 4 x1x1

x2x2

SoluçãoViável

3

3

Z = 162Z = 162Z =189Z =189

Z =198Z =198Z =198

222

211 1378954 xxxxZMax −+−= 2

22211 1378954198 xxxx=ZMax −+−= 2

22211 1378954198 xxxx=ZMax −+−=

( )[ ] ( )[ ]( )[ ] ( )[ ]

Z= x x x x

Z x x x x

Z x x

Para x x

Para

54 9 78 13

95418

137826

9549

5418

137813

7826

81 117 9 3 13 3

9 3 13 3

1 12

2 22

2 2

12

1

2

22

2

2

1

2

2

2

1

2

2

2

− + −

= − −

+

− −

+

− − = − − − −

⇒ − + −

Z = 198 0 =

Z = 189 ( )[ ] ( )[ ]( )[ ] ( )[ ]

9 9 3 13 3

36 9 3 13 3

1

2

2

2

1

2

2

2

=

Z = 162 =

x x

Para x x

− + −

⇒ − + −

( )[ ] ( )[ ]( )[ ] ( )[ ]

Z= x x x x

Z x x x x

Z x x

Para x x

Para

54 9 78 13

95418

137826

9549

5418

137813

7826

81 117 9 3 13 3

9 3 13 3

1 12

2 22

2 2

12

1

2

22

2

2

1

2

2

2

1

2

2

2

− + −

= − −

+

− −

+

− − = − − − −

⇒ − + −

Z = 198 0 =

Z = 189 ( )[ ] ( )[ ]( )[ ] ( )[ ]

9 9 3 13 3

36 9 3 13 3

1

2

2

2

1

2

2

2

=

Z = 162 =

x x

Para x x

− + −

⇒ − + −

Page 6: Programação não Linear Conteúdos da Seção - DEINF/UFMAacmo/grad/PO_c06_v2005.pdf · 1 Programação não Linear Conteúdos da Seção w Programação Não Linear n Aplicações

6

w Otimização não linear sem restrições

Funções-desafio multimodais

Otimização não linear com restrições

Page 7: Programação não Linear Conteúdos da Seção - DEINF/UFMAacmo/grad/PO_c06_v2005.pdf · 1 Programação não Linear Conteúdos da Seção w Programação Não Linear n Aplicações

7

Métodos vBaseados em gradiente Ø Generalized Reduced Gradient (GRG): § Usado pelo Excel: não garante que a solução

encontrada é uma solução global. § O Solver às vezes tem dificuldades de achar

soluções para problemas que tenham condições iniciais para as variáveis iguais a zero § A partir de uma solução inicial, segue passo a

passo calculando valores para as variáveis do modelo e verificando o comportamento da função objetivo. § O Solver aproxima as derivadas

numericamente, adicionando um pequeno valor a cada variável e observando a taxa de alteração nas restrições e função objetivo. § Este processo é chamado de diferenciação

finita. § O processo pára quando a função objetivo

inverte a tendência.

Page 8: Programação não Linear Conteúdos da Seção - DEINF/UFMAacmo/grad/PO_c06_v2005.pdf · 1 Programação não Linear Conteúdos da Seção w Programação Não Linear n Aplicações

8

Métodos vBaseados em gradiente Ø Gradiente conjugado Ø Quasi-Newton § Também são considerados otimizadores locais,

isto é, são dependentes de um ponto inicial dado dentro do espaço de busca; § Uma maneira prática para tentar minorar o

problema 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, há uma grande chance de se ter atingido um ponto global. § Uma forma mais elegante é garantir o ótimo

baseando-se nas condições de concavidade e convexidade da função-objetivo. § Existem várias técnicas que garantem boa

convergência (robustez) para estes métodos § Métodos baseados em derivadas enfrentam

problemas com descontinuidades de espaço de busca.

Page 9: Programação não Linear Conteúdos da Seção - DEINF/UFMAacmo/grad/PO_c06_v2005.pdf · 1 Programação não Linear Conteúdos da Seção w Programação Não Linear n Aplicações

9

Métodos vConvexidade de funções Ø Funções não lineares podem unimodal ou

multimodal. Ø As funções unimodais podem ser côncavas ou

convexas. Ø Fornece informação para que se possa afirmar se

um mínimo (ou máximo) local é também mínimo (ou máximo) global. Ø Convexidade: § côncava, a função objetivo é uma função

côncava (tem um único máximo) § convexa, a função objetivo é uma função

convexa (tem um único mínimo)

Como calcular ?

Page 10: Programação não Linear Conteúdos da Seção - DEINF/UFMAacmo/grad/PO_c06_v2005.pdf · 1 Programação não Linear Conteúdos da Seção w Programação Não Linear n Aplicações

10

Métodos vProgramação côncava e convexa Ø Sem restrições: § Função côncava: máximo local é também

global; § Função convexa: mínimo local é também

global; Ø Com restrições: § Seja a função objetivo côncava (maximização)

ou convexa (minimização) pode ser resolvido se o conjunto de soluções viáveis for convexo § Conjunto convexo:

• gi(x) ≤ bi e gi(x) for convexa • gi(x) ≥ bi e gi(x) for côncava

vProgramação quadrática Ø Formato geral:

∑ ∑ ∑=

= +=

=n

i

n

iji

n

ijijii xxBxAXf

1

1

1 1

2)(

Ø Exemplo: ax2+bxy+cy2 Ø Um problema de otimização é dito PPQ se: § A função objetivo é uma função quadrática

• Maximização: função côncava • Minimização: função convexa § As restrições são lineares

Page 11: Programação não Linear Conteúdos da Seção - DEINF/UFMAacmo/grad/PO_c06_v2005.pdf · 1 Programação não Linear Conteúdos da Seção w Programação Não Linear n Aplicações

11

vBaseadas em avaliação de soluções Ø Padrões de busca: § Down-hill simplex: O(n2,11) § Seja X={x1, x2,..., xn+1} um conjunto de pontos

em Rn avaliados pela função objetivo f :

Page 12: Programação não Linear Conteúdos da Seção - DEINF/UFMAacmo/grad/PO_c06_v2005.pdf · 1 Programação não Linear Conteúdos da Seção w Programação Não Linear n Aplicações

12

vBaseadas em avaliação de soluções § Down-hill simplex:

§ Hooke-Jeeves direct search: O(n)

Page 13: Programação não Linear Conteúdos da Seção - DEINF/UFMAacmo/grad/PO_c06_v2005.pdf · 1 Programação não Linear Conteúdos da Seção w Programação Não Linear n Aplicações

13

Técnicas para solução vBaseadas em avaliação de soluções Ø Metaheurísticas: § Estratégias específicas para explorar o máximo

de soluções possíveis em tempo computacional admissível § Sistemas imunológicos:

• Imunologia: seleção clonal e mutação; • Aspectos do problema representam antígenos

que ativam células do sistema imunológico mais aptas a produzirem anticorpos (soluções) contra eles;

• Clones são gerados com cardinalidade proporcional à sua afinidade

Page 14: Programação não Linear Conteúdos da Seção - DEINF/UFMAacmo/grad/PO_c06_v2005.pdf · 1 Programação não Linear Conteúdos da Seção w Programação Não Linear n Aplicações

14

Ø Metaheurísticas: § Sistemas imunológicos

• Maturação de afinidade: células ou anticorpos podem sofrer variações genéticas (mutação), permitindo que eles se adaptem melhor ao ambiente (aumentem a afinidade).

• Seleção clonal: seleção é efetuada sobre a população de clones após sua maturação.

Page 15: Programação não Linear Conteúdos da Seção - DEINF/UFMAacmo/grad/PO_c06_v2005.pdf · 1 Programação não Linear Conteúdos da Seção w Programação Não Linear n Aplicações

15

Ø Metaheurísticas: § Sistemas imunológicos em otimização

• Otimização multimodal: cada anticorpo irá explorar sua vizinhança.

Page 16: Programação não Linear Conteúdos da Seção - DEINF/UFMAacmo/grad/PO_c06_v2005.pdf · 1 Programação não Linear Conteúdos da Seção w Programação Não Linear n Aplicações

16

Ø Metaheurísticas: § Sistemas imunológicos em otimização

• Otimização combinatória: TSP

Page 17: Programação não Linear Conteúdos da Seção - DEINF/UFMAacmo/grad/PO_c06_v2005.pdf · 1 Programação não Linear Conteúdos da Seção w Programação Não Linear n Aplicações

17

Técnicas para solução § Algoritmos Evolutivos:

• Evolução das espécies: seleção natural, cruzamento e mutação;

• Soluções de qualidade podem ser obtidas a partir de soluções de qualidade;

• Exemplo: algoritmos genéticos, estratégias evolutivas e programação evolutiva;

§ Busca scatter • Não há uma estratégia inspirada na natureza • Baseado no balanceamento de movimentos de

exploração e intensificação (exploration and exploitation);

• Soluções de qualidade podem ser obtidas a partir de soluções de qualidade, sem desprezar subespaços de busca pouco promissores;

• Mantém dois conjuntos de soluções: Referência e Diversificado

• Realiza combinações entre soluções desses conjuntos (cruzamento);

• Tem políticas de inclusão e exclusão de soluções desses conjuntos;

• Realiza busca local;

Page 18: Programação não Linear Conteúdos da Seção - DEINF/UFMAacmo/grad/PO_c06_v2005.pdf · 1 Programação não Linear Conteúdos da Seção w Programação Não Linear n Aplicações

18

Técnicas para solução § Algoritmos híbridos

• Metaheurística e busca local: exploração e intensificação

• Exemplos: AG+Gradiente; Scatter + SNM • Busca evolutiva através de agrupamentos:

Page 19: Programação não Linear Conteúdos da Seção - DEINF/UFMAacmo/grad/PO_c06_v2005.pdf · 1 Programação não Linear Conteúdos da Seção w Programação Não Linear n Aplicações

19

Controle de Estoque w Um dos modelos mais simples de controle de

estoque é conhecido como Modelo do Lote Econômico. n A demanda (ou uso) do produto a ser pedido é

praticamente constante durante o ano. n Cada novo pedido do produto deve chegar de uma

vez no exato instante em que este chegar a zero. n Objetivo: determinar o tamanho do pedido e a sua

periodicidade dado os seguintes custos: n Manutenção de Estoque – Custo por se manter o

capital no estoque e não em outra aplicação, rendendo benefícios financeiros para a empresa.

n Custo do Pedido – associado ao trabalho de efetuar o pedido de um determinado produto.

n Custo de Falta – associado às perdas decorrentes da interrupção da produção por falta do produto.

Demanda Anual =100Lote=25,Pedido= 4Estoque Médio = 12,5

3 6 9 12meses

25

12,5

25

Demanda Anual =100Lote=50, Pedidos = 2Estoque Médio = 25

6 12meses

50

Demanda Anual =100Lote=25,Pedido= 4Estoque Médio = 12,5

3 6 9 12meses

25

3 6 9 12meses

3 6 9 12meses

25

12,512,5

2525

Demanda Anual =100Lote=50, Pedidos = 2Estoque Médio = 25

6 12meses

Demanda Anual =100Lote=50, Pedidos = 2Estoque Médio = 25

6 12meses

50

Page 20: Programação não Linear Conteúdos da Seção - DEINF/UFMAacmo/grad/PO_c06_v2005.pdf · 1 Programação não Linear Conteúdos da Seção w Programação Não Linear n Aplicações

20

Controle de Estoque w Variável de Decisão

Q – Quantidade por Pedido

w Função Objetivo = mC2Q

SQD

CDTotal Custo ⋅+⋅+⋅=

Onde: D = Demanda Anual do Produto C = Custo Unitário do Produto S = Custo Unitário de Fazer o Pedido Cm= Custo unitário de manutenção em estoque por

ano Caso LCL Computadores w A LCL Computadores deseja diminuir o seu estoque

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

Page 21: Programação não Linear Conteúdos da Seção - DEINF/UFMAacmo/grad/PO_c06_v2005.pdf · 1 Programação não Linear Conteúdos da Seção w Programação Não Linear n Aplicações

21

Problema de localização (versão não linear) w Localização de Fábricas, Armazéns, Centros de

distribuição e torres de transmissão telefônica. w Minimizar a distância total entre os centros

consumidores e o centro de distribuição, reduzindo assim teoricamente o custo de transporte. w Deve-se determinar a posição dos centros

consumidores em relação a uma origem aleatória, usando um mapa com um eixo cartesiano. w Se as distâncias d forem conhecidas, então trata-se de

um problema de transporte (versão linear)

Page 22: Programação não Linear Conteúdos da Seção - DEINF/UFMAacmo/grad/PO_c06_v2005.pdf · 1 Programação não Linear Conteúdos da Seção w Programação Não Linear n Aplicações

22

Problema de localização (versão não linear) Modelo

Page 23: Programação não Linear Conteúdos da Seção - DEINF/UFMAacmo/grad/PO_c06_v2005.pdf · 1 Programação não Linear Conteúdos da Seção w Programação Não Linear n Aplicações

23

Caso LCL Telefonia Celular S.A. w O Gerente de Projetos da LCL Telecom, tem que

localizar uma antena de retransmissão para atender a três localidades na Baixada Maranhense. Por problemas técnicos a antena não pode estar a mais de 10 km do centro de cada cidade. Considerando as localizações relativas abaixo, determine o melhor posicionamento para a torre.

Localidade X Y Viana -5 10 Cajari 2 1 Penalva 10 5

w Variáveis de Decisão n X – Coordenada no eixo X da torre de transmissão n Y – Coordenada no eixo Y da torre de transmissão

Page 24: Programação não Linear Conteúdos da Seção - DEINF/UFMAacmo/grad/PO_c06_v2005.pdf · 1 Programação não Linear Conteúdos da Seção w Programação Não Linear n Aplicações

24

Caso LCL Telefonia Celular S.A. w Variáveis de decisão w Onde localizar a antena (X,Y) wX – Coordenada no eixo X da torre de transmissão wY – Coordenada no eixo Y da torre de transmissão

w Função Objetivo

∑=

−+−3

1

22 )()(i

ii YyXxMin

w Restrições de Distância

10)()(

10)()(

10)()(

23

23

22

22

21

21

≤−+−

≤−+−

≤−+−

YyXx

YyXx

YyXx

10)()(

10)()(

10)()(

23

23

22

22

21

21

≤−+−

≤−+−

≤−+−

YyXx

YyXx

YyXx

Page 25: Programação não Linear Conteúdos da Seção - DEINF/UFMAacmo/grad/PO_c06_v2005.pdf · 1 Programação não Linear Conteúdos da Seção w Programação Não Linear n Aplicações

25

Caso LCL Telefonia Celular S.A. w Solução