problema de otimização combinatória · exemplo1 um excursionista planeja fazer uma viagem...

33
Problema de Otimização Combinatória Otimização é o processo de encontrar e comparar soluções factíveis até que nenhuma solução melhor possa ser encontrada. Essas soluções são ditas boas ou ruins em termos de um objetivo (Deb, 2001). Conforme Krasnogor (2002), informalmente, problemas de otimização combinatória são problemas para os quais o espaço de soluções possíveis (viáveis, candidatas ou factíveis) é finito (embora extremamente grande) e discreto

Upload: phungduong

Post on 07-Dec-2018

288 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Problema de Otimização Combinatória · Exemplo1 Um excursionista planeja fazer uma viagem acampando. Há 5 itens que ele deseja levar consigo, mas estes, juntos, excedem o limite

Problema de Otimização Combinatória

Otimização é o processo de encontrar e comparar soluções factíveis até que nenhuma solução melhor possa ser encontrada. Essas soluções são ditas boas ou ruins em termos de um objetivo (Deb, 2001).

Conforme Krasnogor (2002), informalmente, problemas de otimização combinatória são problemas para os quais o espaço de soluções possíveis (viáveis, candidatas ou factíveis) é finito (embora extremamente grande) e discreto

Page 2: Problema de Otimização Combinatória · Exemplo1 Um excursionista planeja fazer uma viagem acampando. Há 5 itens que ele deseja levar consigo, mas estes, juntos, excedem o limite

Problema de Otimização Combinatória

A versão de otimização de um problema NP-completo tem uma função e um conjunto de requisitos, ambos relacionados às variáveis de decisão, que dá um valor a uma solução específica. Essa função deve ser minimizada ou maximizada e pode ser chamada de função objetivo, função de avaliação, função de aptidão, função de estimação, etc.

A resposta para o problema, ou seja, o ótimo global, será o menor (ou maior) valor possível para a função, para o qual o valor atribuído às variáveis não viole nenhuma restrição.

Page 3: Problema de Otimização Combinatória · Exemplo1 Um excursionista planeja fazer uma viagem acampando. Há 5 itens que ele deseja levar consigo, mas estes, juntos, excedem o limite

Problema de Otimização Combinatória

Formalmente, um problema de otimização, para o caso de minimização, pode ser descrito como:

Para resolver um problema de otimização combinatória, deve-se encontrar uma solução ótima , que atenda à relação,

Page 4: Problema de Otimização Combinatória · Exemplo1 Um excursionista planeja fazer uma viagem acampando. Há 5 itens que ele deseja levar consigo, mas estes, juntos, excedem o limite

Representação de ótimos locais e globais em um Problema de Otimização

Combinatória

Page 5: Problema de Otimização Combinatória · Exemplo1 Um excursionista planeja fazer uma viagem acampando. Há 5 itens que ele deseja levar consigo, mas estes, juntos, excedem o limite

Conceito de Vizinhança

● Uma solução s0 diz-se fazer parte da

vizinhança da solução s se e somente se s0

resultou de uma modificação em s, de tal maneira que continue a fazer parte do conjunto de soluções possíveis.

● A vizinhança, então, é dependente do modo adotado para gerar soluções viáveis.

● Não existem regras definidas e rígidas que sirvam para todos os problemas

Page 6: Problema de Otimização Combinatória · Exemplo1 Um excursionista planeja fazer uma viagem acampando. Há 5 itens que ele deseja levar consigo, mas estes, juntos, excedem o limite

Heurísticas ConstrutivasPartem de uma solução vazia, acrescentando elemento a elemento, seguindo um certo critério heurístico, até completar uma solução.Método aleatório - mais simples.Em muitos métodos gulosos, a cada passo da construção da solução é adicionado um único elemento candidato, sendo o candidato escolhido o “melhor” segundo um certo critério. O método termina após todos os candidatos serem analisados. Vantagem - soluções de qualidade muito superior à média das soluções aleatórias Desvantagem - uma decisão tomada na inserção

de um elemento não pode ser alterada

Page 7: Problema de Otimização Combinatória · Exemplo1 Um excursionista planeja fazer uma viagem acampando. Há 5 itens que ele deseja levar consigo, mas estes, juntos, excedem o limite

Heurísticas de refinamento

• Técnicas de busca local• Baseadas na noção de vizinhança• Seja S o espaço de pesquisa de um

problema de otimização e f a função objetivo a otimizar (minimizar ou maximizar)

• Seja s uma solução qualquer do problema, isto é, s ∈ S

Page 8: Problema de Otimização Combinatória · Exemplo1 Um excursionista planeja fazer uma viagem acampando. Há 5 itens que ele deseja levar consigo, mas estes, juntos, excedem o limite

Heurísticas de refinamento

• Seja N uma função que associa a cada solução s ∈ S, sua vizinhança N(S) ⊆ S

• N depende do problema tratado• Cada solução s’ ∈ N(s) é chamada vizinho de s• Denomina-se movimento a uma modificação m

que transforma uma solução s em outra, s’, que esteja em sua vizinhança:

s’ ← s ⊕ m

Page 9: Problema de Otimização Combinatória · Exemplo1 Um excursionista planeja fazer uma viagem acampando. Há 5 itens que ele deseja levar consigo, mas estes, juntos, excedem o limite

Heurísticas de refinamento(Princípio de funcionamento)

• Partir de uma solução inicial qualquer• Caminhar, a cada iteração, de vizinho

para vizinho de acordo com a definição de vizinhança adotada, tentando melhorara solução construída

Page 10: Problema de Otimização Combinatória · Exemplo1 Um excursionista planeja fazer uma viagem acampando. Há 5 itens que ele deseja levar consigo, mas estes, juntos, excedem o limite

Método da descida/subida(Descent/Uphill Method)

• Parte de uma solução inicial qualquer• A cada passo analisa todos os possíveis

vizinhos• Move somente para o vizinho que

representa uma melhora no valor atual da função de avaliação

• O método pára quando um ótimo local éencontrado

Page 11: Problema de Otimização Combinatória · Exemplo1 Um excursionista planeja fazer uma viagem acampando. Há 5 itens que ele deseja levar consigo, mas estes, juntos, excedem o limite
Page 12: Problema de Otimização Combinatória · Exemplo1 Um excursionista planeja fazer uma viagem acampando. Há 5 itens que ele deseja levar consigo, mas estes, juntos, excedem o limite
Page 13: Problema de Otimização Combinatória · Exemplo1 Um excursionista planeja fazer uma viagem acampando. Há 5 itens que ele deseja levar consigo, mas estes, juntos, excedem o limite
Page 14: Problema de Otimização Combinatória · Exemplo1 Um excursionista planeja fazer uma viagem acampando. Há 5 itens que ele deseja levar consigo, mas estes, juntos, excedem o limite
Page 15: Problema de Otimização Combinatória · Exemplo1 Um excursionista planeja fazer uma viagem acampando. Há 5 itens que ele deseja levar consigo, mas estes, juntos, excedem o limite
Page 16: Problema de Otimização Combinatória · Exemplo1 Um excursionista planeja fazer uma viagem acampando. Há 5 itens que ele deseja levar consigo, mas estes, juntos, excedem o limite
Page 17: Problema de Otimização Combinatória · Exemplo1 Um excursionista planeja fazer uma viagem acampando. Há 5 itens que ele deseja levar consigo, mas estes, juntos, excedem o limite
Page 18: Problema de Otimização Combinatória · Exemplo1 Um excursionista planeja fazer uma viagem acampando. Há 5 itens que ele deseja levar consigo, mas estes, juntos, excedem o limite
Page 19: Problema de Otimização Combinatória · Exemplo1 Um excursionista planeja fazer uma viagem acampando. Há 5 itens que ele deseja levar consigo, mas estes, juntos, excedem o limite
Page 20: Problema de Otimização Combinatória · Exemplo1 Um excursionista planeja fazer uma viagem acampando. Há 5 itens que ele deseja levar consigo, mas estes, juntos, excedem o limite

Método de descida(Descent Method)

Page 21: Problema de Otimização Combinatória · Exemplo1 Um excursionista planeja fazer uma viagem acampando. Há 5 itens que ele deseja levar consigo, mas estes, juntos, excedem o limite

Como encher sua mochila com os itens mais valiosos de um tesouro, considerando que você não vai

conseguir levar tudo?

Problema da mochila

Page 22: Problema de Otimização Combinatória · Exemplo1 Um excursionista planeja fazer uma viagem acampando. Há 5 itens que ele deseja levar consigo, mas estes, juntos, excedem o limite

Exemplo1

Um excursionista planeja fazer uma viagem acampando. Há 5 itens que ele deseja levar consigo, mas estes, juntos, excedem o limite de 23 quilos que ele supõe ser capaz de carregar.Para ajudar a si próprio no processo de seleção, ele deverá atribuir valores, por ordem crescente de importância a cada um dos itens.O objetivo é determinar o conjunto de objetos que devem ser colocados na mochila de forma a maximizar o valor de retorno respeitando a sua capacidade.

Page 23: Problema de Otimização Combinatória · Exemplo1 Um excursionista planeja fazer uma viagem acampando. Há 5 itens que ele deseja levar consigo, mas estes, juntos, excedem o limite

Problema da Mochila 0-1 Considere uma coleção de itens indexados pelo conjunto N={1, 2, ..., n}.

A cada item está associado um "valor de utilidade" ui∈Z+ (i∈N) e um "peso" pi ∈Z+ (i∈N) que representa o quanto esse item utilizará da capacidade (um inteiro positivo) da mochila.

Seja ai = 1 se o item i foi escolhido para compor a mochila, e ai = 0 no caso contrário. O problema pode ser escrito como:

Uma solução é um vetor de uns e zeross = (a1,a2,...,an),

movimento=troca de um bit

Page 24: Problema de Otimização Combinatória · Exemplo1 Um excursionista planeja fazer uma viagem acampando. Há 5 itens que ele deseja levar consigo, mas estes, juntos, excedem o limite

Exemplo1

Seja uma mochila de capacidade c = 60 e os 5 itens da tabela a seguir, com os respectivos pesos e utilidade.

item (i) 1 2 3 4 5 Peso (pi) 52 23 35 15 7 Utilidade (ui) 100 60 70 15 15

Page 25: Problema de Otimização Combinatória · Exemplo1 Um excursionista planeja fazer uma viagem acampando. Há 5 itens que ele deseja levar consigo, mas estes, juntos, excedem o limite

Exemplo1

item (i) 1 2 3 4 5 Peso (pi) 52 23 35 15 7 Utilidade (ui) 100 60 70 15 15Solução:

–Objetos escolhidos: 2 e 3

0 1 1 0 0

Page 26: Problema de Otimização Combinatória · Exemplo1 Um excursionista planeja fazer uma viagem acampando. Há 5 itens que ele deseja levar consigo, mas estes, juntos, excedem o limite

Exemplo2● pasta cheia de arquivos;● gravá-los em CD;● Sabe-se que não vai caber tudo num CD só;● Como proceder para encaixar o máximo de

arquivos em cada CD desperdiçando o mínimo espaço em cada disco?

Page 27: Problema de Otimização Combinatória · Exemplo1 Um excursionista planeja fazer uma viagem acampando. Há 5 itens que ele deseja levar consigo, mas estes, juntos, excedem o limite

Exercício1

obj= 10;

cap= 100;

util = 5 7 6 10 8 3 4 1 7 3;

peso = 15 18 13 23 9 10 11 5 14 5;

Page 28: Problema de Otimização Combinatória · Exemplo1 Um excursionista planeja fazer uma viagem acampando. Há 5 itens que ele deseja levar consigo, mas estes, juntos, excedem o limite

Exercício3

util = 5 7 6 10 8 3 4 1 7 3;

Peso = 15 18 13 23 9 10 11 5 14 5;

Solução:

–Objetos escolhidos: 1, 2, 3, 4, 5, 9 e 10

1 1 1 1 1 0 0 0 1 1

Page 29: Problema de Otimização Combinatória · Exemplo1 Um excursionista planeja fazer uma viagem acampando. Há 5 itens que ele deseja levar consigo, mas estes, juntos, excedem o limite

Exercício4

Problema da Mochila 0 -1 MúltiplaResolva o problema anterior, supondo que existem várias mochilas, cujas capacidades estão representadas a seguir util = 5 7 6 10 8 3 4 1 7 3;

Peso = 15 18 13 23 9 10 11 5 14 5;

Mochila capacidade

A 47

B 28

C 42

Page 30: Problema de Otimização Combinatória · Exemplo1 Um excursionista planeja fazer uma viagem acampando. Há 5 itens que ele deseja levar consigo, mas estes, juntos, excedem o limite

Exercício4

Problema da Mochila 0-1 Múltipla

valor = 5 7 6 10 8 3 4 1 7 3;

Peso = 15 18 13 23 9 10 11 5 14 5;

Mochila capacidade

A 47

B 28

C 42

Page 31: Problema de Otimização Combinatória · Exemplo1 Um excursionista planeja fazer uma viagem acampando. Há 5 itens que ele deseja levar consigo, mas estes, juntos, excedem o limite

Exercício4 Problema da Mochila 0-1 Múltipla

util = 5 7 6 10 8 3 4 1 7 3;

Peso = 15 18 13 23 9 10 11 5 14 5;

Mochila capacidade

A 47

B 28

C 42

Page 32: Problema de Otimização Combinatória · Exemplo1 Um excursionista planeja fazer uma viagem acampando. Há 5 itens que ele deseja levar consigo, mas estes, juntos, excedem o limite

Variações● Problema da Mochila 0-1;● Problema da Mochila Restrita;● Problema da Mochila Irrestrita;● Problema da Soma de Subconjuntos (uma particular

Mochila 0-1);● Problema da Mochila com Múltipla Escolha;● Problema com Múltiplas Mochilas;● Problema da Mochila com Coeficientes Variáveis.● http://www.cc.ntut.edu.tw/~line/A%20bibliographical

%20survey%20on%20some%20well-know%20non-standard%20knapsack%20problems.pdf

Page 33: Problema de Otimização Combinatória · Exemplo1 Um excursionista planeja fazer uma viagem acampando. Há 5 itens que ele deseja levar consigo, mas estes, juntos, excedem o limite

Aplicações Práticas● investimento de capital;● corte e empacotamento;● carregamento de veículos;● orçamento;● algoritmo de criptografia de chave pública,

onde no contexto do problema da mochila a chave pública seria o peso total que a mochila pode carregar e a partir daí, por essa palavra a encriptação é gerada.