Alocao de Tarefas ca
Problema da Mochila
Caxeiro Viajante
Ecincia e
Backtracking
1 / 22
UFCG CEEI
Introduo ca
Alocao de Tarefas ca
Problema da Mochila
Caxeiro Viajante
Ecincia e
Roteiro
1. Introduo ca 2. Problema de Alocao de Tarefas ca 3. Problema da Mochila 4. Problema do Caxeiro Viajante 5. Ecincia do Branch and Bound e
2 / 22
UFCG CEEI
Introduo ca
Alocao de Tarefas ca
Problema da Mochila
Caxeiro Viajante
Ecincia e
Introduo ca
Backtracking elimina um ramo da rvore do espao de estados to a c a logo deduz-se que esse caminho no levar a uma soluo. a a ca
2 / 22
UFCG CEEI
Introduo ca
Alocao de Tarefas ca
Problema da Mochila
Caxeiro Viajante
Ecincia e
Introduo ca
Backtracking elimina um ramo da rvore do espao de estados to a c a logo deduz-se que esse caminho no levar a uma soluo. a a ca Essa ideia pode ser melhorada quando lidamos com problemas de otimizao combinatria. ca o
2 / 22
UFCG CEEI
Introduo ca
Alocao de Tarefas ca
Problema da Mochila
Caxeiro Viajante
Ecincia e
Introduo ca
Backtracking elimina um ramo da rvore do espao de estados to a c a logo deduz-se que esse caminho no levar a uma soluo. a a ca Essa ideia pode ser melhorada quando lidamos com problemas de otimizao combinatria. ca o Problemas de otimizao combinatria buscam maximizar ou ca o minimizar uma funo objetivo, normalmente sujeita a algumas ca restries. co
2 / 22
UFCG CEEI
Introduo ca
Alocao de Tarefas ca
Problema da Mochila
Caxeiro Viajante
Ecincia e
Introduo ca
Backtracking elimina um ramo da rvore do espao de estados to a c a logo deduz-se que esse caminho no levar a uma soluo. a a ca Essa ideia pode ser melhorada quando lidamos com problemas de otimizao combinatria. ca o Problemas de otimizao combinatria buscam maximizar ou ca o minimizar uma funo objetivo, normalmente sujeita a algumas ca restries. co Em problemas de otimizao combinatria: ca o
2 / 22
UFCG CEEI
Introduo ca
Alocao de Tarefas ca
Problema da Mochila
Caxeiro Viajante
Ecincia e
Introduo ca
Backtracking elimina um ramo da rvore do espao de estados to a c a logo deduz-se que esse caminho no levar a uma soluo. a a ca Essa ideia pode ser melhorada quando lidamos com problemas de otimizao combinatria. ca o Problemas de otimizao combinatria buscam maximizar ou ca o minimizar uma funo objetivo, normalmente sujeita a algumas ca restries. co Em problemas de otimizao combinatria: ca o uma soluo vivel uma soluo que satisfaz todas as ca a e ca restries do problema, enquanto co
2 / 22
UFCG CEEI
Introduo ca
Alocao de Tarefas ca
Problema da Mochila
Caxeiro Viajante
Ecincia e
Introduo ca
Backtracking elimina um ramo da rvore do espao de estados to a c a logo deduz-se que esse caminho no levar a uma soluo. a a ca Essa ideia pode ser melhorada quando lidamos com problemas de otimizao combinatria. ca o Problemas de otimizao combinatria buscam maximizar ou ca o minimizar uma funo objetivo, normalmente sujeita a algumas ca restries. co Em problemas de otimizao combinatria: ca o uma soluo vivel uma soluo que satisfaz todas as ca a e ca restries do problema, enquanto co uma soluo tima uma soluo vivel com o melhor valor ca o e ca a da funo objetivo. ca
2 / 22
UFCG CEEI
Introduo ca
Alocao de Tarefas ca
Problema da Mochila
Caxeiro Viajante
Ecincia e
O problema minimizar (ou maximizar) uma funo objetivo e ca f (x1 , . . . , xn ) sob um espao de solues viveis S c co a argmin f (x1 , . . . , xn )
(x1 ,...,xn )S
S determinado por restries nas variveis. e co a P S denota o espao de solues potenciais no qual f ainda c co e bem denida. g (x1 , . . . , xn ) f (x1 , . . . , xn ) uma funo limite para todo e ca (x1 , . . . , xn ) S (resp. em P).
3 / 22
UFCG CEEI
Introduo ca
Alocao de Tarefas ca
Problema da Mochila
Caxeiro Viajante
Ecincia e
4 / 22
UFCG CEEI
Introduo ca
Alocao de Tarefas ca
Problema da Mochila
Caxeiro Viajante
Ecincia e
4 / 22
UFCG CEEI
Introduo ca
Alocao de Tarefas ca
Problema da Mochila
Caxeiro Viajante
Ecincia e
4 / 22
UFCG CEEI
Introduo ca
Alocao de Tarefas ca
Problema da Mochila
Caxeiro Viajante
Ecincia e
4 / 22
UFCG CEEI
Introduo ca
Alocao de Tarefas ca
Problema da Mochila
Caxeiro Viajante
Ecincia e
4 / 22
UFCG CEEI
Introduo ca
Alocao de Tarefas ca
Problema da Mochila
Caxeiro Viajante
Ecincia e
4 / 22
UFCG CEEI
Introduo ca
Alocao de Tarefas ca
Problema da Mochila
Caxeiro Viajante
Ecincia e
Funo Limite ca
Normalmente a funo limite g deve satisfazer as seguinte condies ca co 1. g (Pi ) f (Pi ) para todos os ns Pi na rvore. o a
5 / 22
UFCG CEEI
Introduo ca
Alocao de Tarefas ca
Problema da Mochila
Caxeiro Viajante
Ecincia e
Funo Limite ca
Normalmente a funo limite g deve satisfazer as seguinte condies ca co 1. g (Pi ) f (Pi ) para todos os ns Pi na rvore. o a 2. g (Pi ) = f (Pi ) para todas as folhas na rvore. a
5 / 22
UFCG CEEI
Introduo ca
Alocao de Tarefas ca
Problema da Mochila
Caxeiro Viajante
Ecincia e
Funo Limite ca
Normalmente a funo limite g deve satisfazer as seguinte condies ca co 1. g (Pi ) f (Pi ) para todos os ns Pi na rvore. o a 2. g (Pi ) = f (Pi ) para todas as folhas na rvore. a 3. g (Pi ) g (Pj ) se Pj pai de Pi . e
5 / 22
UFCG CEEI
Introduo ca
Alocao de Tarefas ca
Problema da Mochila
Caxeiro Viajante
Ecincia e
Introduo ca
Alocao de Tarefas ca
Problema da Mochila
Caxeiro Viajante
Ecincia e
Comparado ao Backtracking, B&B requer dois componentes adicionais: para cada n da rvore do espao de estados, um limite1 para o a c o melhor valor da funo objetivo para solues que podem ser ca co obtidas com componentes adicionais.
Introduo ca
Alocao de Tarefas ca
Problema da Mochila
Caxeiro Viajante
Ecincia e
Comparado ao Backtracking, B&B requer dois componentes adicionais: para cada n da rvore do espao de estados, um limite1 para o a c o melhor valor da funo objetivo para solues que podem ser ca co obtidas com componentes adicionais. o valor da melhor soluo at ento. ca e a
Introduo ca
Alocao de Tarefas ca
Problema da Mochila
Caxeiro Viajante
Ecincia e
Comparado ao Backtracking, B&B requer dois componentes adicionais: para cada n da rvore do espao de estados, um limite1 para o a c o melhor valor da funo objetivo para solues que podem ser ca co obtidas com componentes adicionais. o valor da melhor soluo at ento. ca e a Com estas informaes podemos comparar o valor limite do n com co o o valor da melhor soluo at ento. ca e a
Introduo ca
Alocao de Tarefas ca
Problema da Mochila
Caxeiro Viajante
Ecincia e
Comparado ao Backtracking, B&B requer dois componentes adicionais: para cada n da rvore do espao de estados, um limite1 para o a c o melhor valor da funo objetivo para solues que podem ser ca co obtidas com componentes adicionais. o valor da melhor soluo at ento. ca e a Com estas informaes podemos comparar o valor limite do n com co o o valor da melhor soluo at ento. ca e a Alm disso, a ordem de gerao dos ns feita em largura e no em e ca o e a profundidade.
Introduo ca
Alocao de Tarefas ca
Problema da Mochila
Caxeiro Viajante
Ecincia e
Critrios de Poda e
7 / 22
UFCG CEEI
Introduo ca
Alocao de Tarefas ca
Problema da Mochila
Caxeiro Viajante
Ecincia e
Critrios de Poda e
O valor limite do n no melhor que o valor da melhor soluo o a e ca conhecida. O n no representa solues viveis pois viola alguma restrio do o a co a ca problema.
7 / 22
UFCG CEEI
Introduo ca
Alocao de Tarefas ca
Problema da Mochila
Caxeiro Viajante
Ecincia e
Critrios de Poda e
O valor limite do n no melhor que o valor da melhor soluo o a e ca conhecida. O n no representa solues viveis pois viola alguma restrio do o a co a ca problema. O subconjunto de solues viveis representadas por um n consiste co a o de um unico ponto e dessa forma nenhuma escolha subsequente pode ser feita.
7 / 22
UFCG CEEI
Introduo ca
Alocao de Tarefas ca
Problema da Mochila
Caxeiro Viajante
Ecincia e
Roteiro
1. Introduo ca 2. Problema de Alocao de Tarefas ca 3. Problema da Mochila 4. Problema do Caxeiro Viajante 5. Ecincia do Branch and Bound e
8 / 22
UFCG CEEI
Introduo ca
Alocao de Tarefas ca
Problema da Mochila
Caxeiro Viajante
Ecincia e
Alocar n pessoas para n tarefas tal que o custo total de alocao ca seja o menor poss vel. Instncias do problema podem ser especicadas por uma matriz de a custo C Rnn . Selecionar um elemento de cada linha da matriz tal que nenhum par de elementos esteja na mesma coluna e suas somas seja a menor poss vel.
8 / 22
UFCG CEEI
Introduo ca
Alocao de Tarefas ca
Problema da Mochila
Caxeiro Viajante
Ecincia e
Exemplo 1
A matriz abaixo mostra uma instncia do problema onde Ci,j denota o a custo de alocar a tarefa j para a pessoa i. 9 6 C = 5 7 2 4 8 6 7 3 1 9 8 7 8 4
Qual o custo de uma soluo fora bruta? Resolva essa instncia do ca c a problema com branch and bound.
9 / 22
UFCG CEEI
Introduo ca
Alocao de Tarefas ca
Problema da Mochila
Caxeiro Viajante
Ecincia e
Exemplo 1 cont.
A primeira coisa encontrar um limite inferior para o custo de uma e soluo tima. Como? ca o
10 / 22
UFCG CEEI
Introduo ca
Alocao de Tarefas ca
Problema da Mochila
Caxeiro Viajante
Ecincia e
Exemplo 1 cont.
A primeira coisa encontrar um limite inferior para o custo de uma e soluo tima. Como? ca o Observe que o custo de qualquer soluo no pode ser menor que a ca a soma dos menores elementos em cada linha da matriz.
10 / 22
UFCG CEEI
Introduo ca
Alocao de Tarefas ca
Problema da Mochila
Caxeiro Viajante
Ecincia e
Exemplo 1 cont.
A primeira coisa encontrar um limite inferior para o custo de uma e soluo tima. Como? ca o Observe que o custo de qualquer soluo no pode ser menor que a ca a soma dos menores elementos em cada linha da matriz. No nosso caso 2 + 3 + 1 + 4 = 10.
10 / 22
UFCG CEEI
Introduo ca
Alocao de Tarefas ca
Problema da Mochila
Caxeiro Viajante
Ecincia e
Exemplo 1 cont.
A primeira coisa encontrar um limite inferior para o custo de uma e soluo tima. Como? ca o Observe que o custo de qualquer soluo no pode ser menor que a ca a soma dos menores elementos em cada linha da matriz. No nosso caso 2 + 3 + 1 + 4 = 10. Aplicaremos o mesmo racioc ` solues parciais. nio a co
10 / 22
UFCG CEEI
Introduo ca
Alocao de Tarefas ca
Problema da Mochila
Caxeiro Viajante
Ecincia e
Exemplo 1 cont.
A primeira coisa encontrar um limite inferior para o custo de uma e soluo tima. Como? ca o Observe que o custo de qualquer soluo no pode ser menor que a ca a soma dos menores elementos em cada linha da matriz. No nosso caso 2 + 3 + 1 + 4 = 10. Aplicaremos o mesmo racioc ` solues parciais. nio a co Selecionando 9 na primeira linha, por exemplo, o limite inferior seria 9 + 3 + 1 + 4 = 17
10 / 22
UFCG CEEI
Introduo ca
Alocao de Tarefas ca
Problema da Mochila
Caxeiro Viajante
Ecincia e
Exemplo 1 cont.
11 / 22
UFCG CEEI
Introduo ca
Alocao de Tarefas ca
Problema da Mochila
Caxeiro Viajante
Ecincia e
Exemplo 1 cont.
12 / 22
UFCG CEEI
Introduo ca
Alocao de Tarefas ca
Problema da Mochila
Caxeiro Viajante
Ecincia e
Exemplo 1 cont.
13 / 22
UFCG CEEI
Introduo ca
Alocao de Tarefas ca
Problema da Mochila
Caxeiro Viajante
Ecincia e
Roteiro
1. Introduo ca 2. Problema de Alocao de Tarefas ca 3. Problema da Mochila 4. Problema do Caxeiro Viajante 5. Ecincia do Branch and Bound e
14 / 22
UFCG CEEI
Introduo ca
Alocao de Tarefas ca
Problema da Mochila
Caxeiro Viajante
Ecincia e
Problema de Mochila
Problema apresentado na aula sobre Fora Bruta. c
14 / 22
UFCG CEEI
Introduo ca
Alocao de Tarefas ca
Problema da Mochila
Caxeiro Viajante
Ecincia e
Problema de Mochila
Problema apresentado na aula sobre Fora Bruta. c E conveniente ordenar os itens de uma dada instncia em ordem a descendente de suas fraes valor/peso. co
14 / 22
UFCG CEEI
Introduo ca
Alocao de Tarefas ca
Problema da Mochila
Caxeiro Viajante
Ecincia e
Problema de Mochila
Problema apresentado na aula sobre Fora Bruta. c E conveniente ordenar os itens de uma dada instncia em ordem a descendente de suas fraes valor/peso. co Dessa forma o primeiro item d o melhor resultado por unidade de a peso e o ultimo o pior resultado, com empates resolvidos de forma arbitrria: a v1 /w1 v2 /w2 . . . vn /wn
14 / 22
UFCG CEEI
Introduo ca
Alocao de Tarefas ca
Problema da Mochila
Caxeiro Viajante
Ecincia e
Problema de Mochila
Problema apresentado na aula sobre Fora Bruta. c E conveniente ordenar os itens de uma dada instncia em ordem a descendente de suas fraes valor/peso. co Dessa forma o primeiro item d o melhor resultado por unidade de a peso e o ultimo o pior resultado, com empates resolvidos de forma arbitrria: a v1 /w1 v2 /w2 . . . vn /wn Seja v o valor total dos itens selecionados at ento e w o peso e a total desses itens.
14 / 22
UFCG CEEI
Introduo ca
Alocao de Tarefas ca
Problema da Mochila
Caxeiro Viajante
Ecincia e
Problema de Mochila
Problema apresentado na aula sobre Fora Bruta. c E conveniente ordenar os itens de uma dada instncia em ordem a descendente de suas fraes valor/peso. co Dessa forma o primeiro item d o melhor resultado por unidade de a peso e o ultimo o pior resultado, com empates resolvidos de forma arbitrria: a v1 /w1 v2 /w2 . . . vn /wn Seja v o valor total dos itens selecionados at ento e w o peso e a total desses itens. Para calcular o limite superior ub, adicionamos a v o produto da capacidade restante da mochila W w com o melhor valor por unidade de peso entre os itens restantes: ub := v + (W w )(vi+1 /wi+1 )
Prof. Dr. Leandro Balby Marinho 14 / 22 UFCG CEEI
Introduo ca
Alocao de Tarefas ca
Problema da Mochila
Caxeiro Viajante
Ecincia e
Exemplo 2
Use B&B para resolver a seguinte instncia do problema da mochila para a W = 10. item 1 2 3 4 peso 4 7 5 3 valor ($) 40 42 25 12 valor/peso 10 6 5 4
15 / 22
UFCG CEEI
Introduo ca
Alocao de Tarefas ca
Problema da Mochila
Caxeiro Viajante
Ecincia e
Exemplo 2 cont.
16 / 22
UFCG CEEI
Introduo ca
Alocao de Tarefas ca
Problema da Mochila
Caxeiro Viajante
Ecincia e
Roteiro
1. Introduo ca 2. Problema de Alocao de Tarefas ca 3. Problema da Mochila 4. Problema do Caxeiro Viajante 5. Ecincia do Branch and Bound e
17 / 22
UFCG CEEI
Introduo ca
Alocao de Tarefas ca
Problema da Mochila
Caxeiro Viajante
Ecincia e
17 / 22
UFCG CEEI
Introduo ca
Alocao de Tarefas ca
Problema da Mochila
Caxeiro Viajante
Ecincia e
Apresentado na aula sobre Fora Bruta. c Um limite inferior simples seria achar a menor distncia entre duas a cidades e multiplicar pelo nmero n de cidades. u
17 / 22
UFCG CEEI
Introduo ca
Alocao de Tarefas ca
Problema da Mochila
Caxeiro Viajante
Ecincia e
Apresentado na aula sobre Fora Bruta. c Um limite inferior simples seria achar a menor distncia entre duas a cidades e multiplicar pelo nmero n de cidades. u Um outro limite mais informativo para qualquer rota segue abaixo.
17 / 22
UFCG CEEI
Introduo ca
Alocao de Tarefas ca
Problema da Mochila
Caxeiro Viajante
Ecincia e
Apresentado na aula sobre Fora Bruta. c Um limite inferior simples seria achar a menor distncia entre duas a cidades e multiplicar pelo nmero n de cidades. u Um outro limite mais informativo para qualquer rota segue abaixo. Para qualquer cidade i, 1 i n, ache a soma si das distncias entre a cidade i e as duas cidades mais prximas. a o
17 / 22
UFCG CEEI
Introduo ca
Alocao de Tarefas ca
Problema da Mochila
Caxeiro Viajante
Ecincia e
Apresentado na aula sobre Fora Bruta. c Um limite inferior simples seria achar a menor distncia entre duas a cidades e multiplicar pelo nmero n de cidades. u Um outro limite mais informativo para qualquer rota segue abaixo. Para qualquer cidade i, 1 i n, ache a soma si das distncias entre a cidade i e as duas cidades mais prximas. a o Calcule a soma s para as n cidades e divida o resultado por 2, i.e., lb := s/2
17 / 22
UFCG CEEI
Introduo ca
Alocao de Tarefas ca
Problema da Mochila
Caxeiro Viajante
Ecincia e
Exemplo 3
Para a instncia da gura acima, por exemplo, ter a amos lb := [(1 + 3) + (3 + 6) + (1 + 2) + (3 + 4) + (2 + 3)/2] = 14
18 / 22
UFCG CEEI
Introduo ca
Alocao de Tarefas ca
Problema da Mochila
Caxeiro Viajante
Ecincia e
Exemplo 3
Para a instncia da gura acima, por exemplo, ter a amos lb := [(1 + 3) + (3 + 6) + (1 + 2) + (3 + 4) + (2 + 3)/2] = 14 Temos que ajustar o limite inferior para caminhos requerendo arestas particulares.
18 / 22
UFCG CEEI
Introduo ca
Alocao de Tarefas ca
Problema da Mochila
Caxeiro Viajante
Ecincia e
Exemplo 3
Para a instncia da gura acima, por exemplo, ter a amos lb := [(1 + 3) + (3 + 6) + (1 + 2) + (3 + 4) + (2 + 3)/2] = 14 Temos que ajustar o limite inferior para caminhos requerendo arestas particulares. Para todos os circuitos Hamiltonianos requerendo a aresta (a, d), por exemplo, ter amos o seguinte limite inferior: [(1 + 5) + (3 + 6) + (1 + 2) + (3 + 5) + (2 + 3)/2] = 16
Prof. Dr. Leandro Balby Marinho 18 / 22 UFCG CEEI
Introduo ca
Alocao de Tarefas ca
Problema da Mochila
Caxeiro Viajante
Ecincia e
Exemplo 3 cont.
Para reduzir a quantidade de trabalho potencial usamos as seguintes obervaes: co S consideramos caminhos comeando em a. o c Como o grafo indireto, s consideramos caminhos onde b e o precede c. Depois de visitar n 1 cidades, um caminho no tem escolha a a no ser visitar a cidade ainda no visitada e retornar origem. a a a
19 / 22
UFCG CEEI
Introduo ca
Alocao de Tarefas ca
Problema da Mochila
Caxeiro Viajante
Ecincia e
Exemplo 3 cont.
20 / 22
UFCG CEEI
Introduo ca
Alocao de Tarefas ca
Problema da Mochila
Caxeiro Viajante
Ecincia e
Roteiro
1. Introduo ca 2. Problema de Alocao de Tarefas ca 3. Problema da Mochila 4. Problema do Caxeiro Viajante 5. Ecincia do Branch and Bound e
21 / 22
UFCG CEEI
Introduo ca
Alocao de Tarefas ca
Problema da Mochila
Caxeiro Viajante
Ecincia e
Fatores que afetam a ecincia: e tempo para gerar a prxima previso. o a tempo de execuo da funo de poda. ca ca Uma boa funo de poda reduz substancialmente o nmero de ns ca u o considerados. tradeo: complexidade da funo de poda vs. tempo para avali-la. ca a Anlise do algoritmo virtualmente imposs (depende da instncia a vel a de entrada).
21 / 22
UFCG CEEI
Introduo ca
Alocao de Tarefas ca
Problema da Mochila
Caxeiro Viajante
Ecincia e
Exerc cios
Exerc 1: Que estrutura de dados voc usaria para guardar ns promiscio e o sores em uma busca branch and bound em largura? Exerc cio 2: Resolva a seguinte instncia do problema da mochila com a a abordagem B&B para W = 16. item 1 2 3 4 peso 4 7 5 3 valor ($) 100 63 56 12
22 / 22
UFCG CEEI