Introdu¸c˜ ao Fundamenta¸c˜ ao te´ orica Metodologia Resultados Conclus˜ ao e Trabalhos Futuros
Aplica¸c˜ao do algoritmo GRASP Reativo para o Problema do Pr´oximo Release Gabriela Rosa Machado Linhares Curso de Ciˆ encia da Computa¸c˜ ao Universidade Estadual do Cear´ a - UECE
19 de maio de 2010
Gabi Linhares
GRASP no PPR
Introdu¸c˜ ao Fundamenta¸c˜ ao te´ orica Metodologia Resultados Conclus˜ ao e Trabalhos Futuros
T´opicos
Introdu¸c˜ao Fundamenta¸c˜ao te´orica Metodologia Resultados Conclus˜ao e Trabalhos Futuros
Gabi Linhares
GRASP no PPR
Introdu¸c˜ ao Fundamenta¸c˜ ao te´ orica Metodologia Resultados Conclus˜ ao e Trabalhos Futuros
SBSE Problema do Pr´ oximo Release Motiva¸c˜ ao Objetivos e Contribui¸c˜ oes Trabalhos Relacionados
T´opicos Introdu¸c˜ao SBSE Problema do Pr´oximo Release Motiva¸c˜ao Objetivos e Contribui¸c˜ oes Trabalhos Relacionados Fundamenta¸c˜ao te´orica Metodologia Resultados Gabi Linhares
GRASP no PPR
Introdu¸c˜ ao Fundamenta¸c˜ ao te´ orica Metodologia Resultados Conclus˜ ao e Trabalhos Futuros
SBSE Problema do Pr´ oximo Release Motiva¸c˜ ao Objetivos e Contribui¸c˜ oes Trabalhos Relacionados
SBSE I
Search-Based Software Engineering
Gabi Linhares
GRASP no PPR
Introdu¸c˜ ao Fundamenta¸c˜ ao te´ orica Metodologia Resultados Conclus˜ ao e Trabalhos Futuros
SBSE Problema do Pr´ oximo Release Motiva¸c˜ ao Objetivos e Contribui¸c˜ oes Trabalhos Relacionados
SBSE I
Search-Based Software Engineering
I
In´ıcio da d´ecada de 70 - primeiros artigos na ´area; nos u ´ltimos 10 anos teve um crescimento bastante acentuado.
Gabi Linhares
GRASP no PPR
Introdu¸c˜ ao Fundamenta¸c˜ ao te´ orica Metodologia Resultados Conclus˜ ao e Trabalhos Futuros
SBSE Problema do Pr´ oximo Release Motiva¸c˜ ao Objetivos e Contribui¸c˜ oes Trabalhos Relacionados
SBSE I
Search-Based Software Engineering
I
In´ıcio da d´ecada de 70 - primeiros artigos na ´area; nos u ´ltimos 10 anos teve um crescimento bastante acentuado. ´ Areas:
I
I I I I I I
Gera¸c˜ao de dados de teste Sele¸c˜ao de casos de teste Estimativa de custo Planejamento Sele¸c˜ao de Requisitos ...
Gabi Linhares
GRASP no PPR
Introdu¸c˜ ao Fundamenta¸c˜ ao te´ orica Metodologia Resultados Conclus˜ ao e Trabalhos Futuros
SBSE Problema do Pr´ oximo Release Motiva¸c˜ ao Objetivos e Contribui¸c˜ oes Trabalhos Relacionados
SBSE I
Search-Based Software Engineering
I
In´ıcio da d´ecada de 70 - primeiros artigos na ´area; nos u ´ltimos 10 anos teve um crescimento bastante acentuado. ´ Areas:
I
I I I I I I
I
Gera¸c˜ao de dados de teste Sele¸c˜ao de casos de teste Estimativa de custo Planejamento Sele¸c˜ao de Requisitos ...
Ingredientes: I I
Escolha da representa¸c˜ao Defini¸c˜ao da fun¸c˜ao objetivo Gabi Linhares
GRASP no PPR
Introdu¸c˜ ao Fundamenta¸c˜ ao te´ orica Metodologia Resultados Conclus˜ ao e Trabalhos Futuros
SBSE Problema do Pr´ oximo Release Motiva¸c˜ ao Objetivos e Contribui¸c˜ oes Trabalhos Relacionados
Problema do Pr´oximo Release I
O que ´e Release? I
Libera¸c˜ao de vers˜ao oficial de um software, para homologa¸c˜ao ou produ¸c˜ao.
Gabi Linhares
GRASP no PPR
Introdu¸c˜ ao Fundamenta¸c˜ ao te´ orica Metodologia Resultados Conclus˜ ao e Trabalhos Futuros
SBSE Problema do Pr´ oximo Release Motiva¸c˜ ao Objetivos e Contribui¸c˜ oes Trabalhos Relacionados
Problema do Pr´oximo Release I
O que ´e Release? I
I
Libera¸c˜ao de vers˜ao oficial de um software, para homologa¸c˜ao ou produ¸c˜ao.
NRP: I
Selecionar clientes cuja satisfa¸c˜ao seja 100% e a restri¸c˜ao de custo seja obedecida.
Gabi Linhares
GRASP no PPR
Introdu¸c˜ ao Fundamenta¸c˜ ao te´ orica Metodologia Resultados Conclus˜ ao e Trabalhos Futuros
SBSE Problema do Pr´ oximo Release Motiva¸c˜ ao Objetivos e Contribui¸c˜ oes Trabalhos Relacionados
Problema do Pr´oximo Release - Cont...
I
Abordagens: I I
Sele¸c˜ao de Clientes (2001) Sele¸c˜ao de Requisitos (2007)
Gabi Linhares
GRASP no PPR
Introdu¸c˜ ao Fundamenta¸c˜ ao te´ orica Metodologia Resultados Conclus˜ ao e Trabalhos Futuros
SBSE Problema do Pr´ oximo Release Motiva¸c˜ ao Objetivos e Contribui¸c˜ oes Trabalhos Relacionados
Problema do Pr´oximo Release - Cont...
I
Abordagens: I I
I
Sele¸c˜ao de Clientes (2001) Sele¸c˜ao de Requisitos (2007)
Por que n˜ao otimizar com um m´etodo exato? I
Programa¸c˜ao Linear mostrou-se ineficiente para instˆancias com valores muito altos.
Gabi Linhares
GRASP no PPR
Introdu¸c˜ ao Fundamenta¸c˜ ao te´ orica Metodologia Resultados Conclus˜ ao e Trabalhos Futuros
SBSE Problema do Pr´ oximo Release Motiva¸c˜ ao Objetivos e Contribui¸c˜ oes Trabalhos Relacionados
Motiva¸c˜ao
I
Porque estudar este problema? I
I
I
Satisfa¸c˜ao completa do cliente quanto aos requisitos de software; Dependendo dos tipos de NRP, pode ser NP-Completo ou NP-Dif´ıcil; Algumas metaheur´ısticas n˜ao foram testadas neste problema. EX: I
GRASP Reativo
Gabi Linhares
GRASP no PPR
Introdu¸c˜ ao Fundamenta¸c˜ ao te´ orica Metodologia Resultados Conclus˜ ao e Trabalhos Futuros
SBSE Problema do Pr´ oximo Release Motiva¸c˜ ao Objetivos e Contribui¸c˜ oes Trabalhos Relacionados
Objetivos e Contribui¸co˜es
I
Utilizar GRASP Reativo no NRP
Gabi Linhares
GRASP no PPR
Introdu¸c˜ ao Fundamenta¸c˜ ao te´ orica Metodologia Resultados Conclus˜ ao e Trabalhos Futuros
SBSE Problema do Pr´ oximo Release Motiva¸c˜ ao Objetivos e Contribui¸c˜ oes Trabalhos Relacionados
Objetivos e Contribui¸co˜es
I
Utilizar GRASP Reativo no NRP
I
Comparar com outras metaheur´ısticas
Gabi Linhares
GRASP no PPR
Introdu¸c˜ ao Fundamenta¸c˜ ao te´ orica Metodologia Resultados Conclus˜ ao e Trabalhos Futuros
SBSE Problema do Pr´ oximo Release Motiva¸c˜ ao Objetivos e Contribui¸c˜ oes Trabalhos Relacionados
Objetivos e Contribui¸co˜es
I
Utilizar GRASP Reativo no NRP
I
Comparar com outras metaheur´ısticas
I
Novo m´etodo para gera¸c˜ao de solu¸c˜ oes
Gabi Linhares
GRASP no PPR
Introdu¸c˜ ao Fundamenta¸c˜ ao te´ orica Metodologia Resultados Conclus˜ ao e Trabalhos Futuros
SBSE Problema do Pr´ oximo Release Motiva¸c˜ ao Objetivos e Contribui¸c˜ oes Trabalhos Relacionados
Trabalhos Relacionados
I
The Next Release Problem - Bagnall e Smith (Information and Software Technology - 2001);
Gabi Linhares
GRASP no PPR
Introdu¸c˜ ao Fundamenta¸c˜ ao te´ orica Metodologia Resultados Conclus˜ ao e Trabalhos Futuros
SBSE Problema do Pr´ oximo Release Motiva¸c˜ ao Objetivos e Contribui¸c˜ oes Trabalhos Relacionados
Trabalhos Relacionados
I
The Next Release Problem - Bagnall e Smith (Information and Software Technology - 2001);
I
EasyMeta - Rafael Carmo (TCC - 2008)
Gabi Linhares
GRASP no PPR
Introdu¸c˜ ao Fundamenta¸c˜ ao te´ orica Metodologia Resultados Conclus˜ ao e Trabalhos Futuros
SBSE Problema do Pr´ oximo Release Motiva¸c˜ ao Objetivos e Contribui¸c˜ oes Trabalhos Relacionados
Trabalhos Relacionados
I
The Next Release Problem - Bagnall e Smith (Information and Software Technology - 2001);
I
EasyMeta - Rafael Carmo (TCC - 2008)
I
Release Planning - Felipe Colares (SBPO - 2009)
Gabi Linhares
GRASP no PPR
Introdu¸c˜ ao Fundamenta¸c˜ ao te´ orica Metodologia Resultados Conclus˜ ao e Trabalhos Futuros
SBSE Problema do Pr´ oximo Release Motiva¸c˜ ao Objetivos e Contribui¸c˜ oes Trabalhos Relacionados
Trabalhos Relacionados
I
The Next Release Problem - Bagnall e Smith (Information and Software Technology - 2001);
I
EasyMeta - Rafael Carmo (TCC - 2008)
I
Release Planning - Felipe Colares (SBPO - 2009)
I
STNSNP - Steiner Two-Node-Survivable Network Problem: em uma rede de fibras ´ oticas - Rubino (International Journal os Logistics Systems and Management - 2010)
Gabi Linhares
GRASP no PPR
Introdu¸c˜ ao Fundamenta¸c˜ ao te´ orica Metodologia Resultados Conclus˜ ao e Trabalhos Futuros
SBSE Problema do Pr´ oximo Release Motiva¸c˜ ao Objetivos e Contribui¸c˜ oes Trabalhos Relacionados
Trabalhos Relacionados
I
The Next Release Problem - Bagnall e Smith (Information and Software Technology - 2001);
I
EasyMeta - Rafael Carmo (TCC - 2008)
I
Release Planning - Felipe Colares (SBPO - 2009)
I
STNSNP - Steiner Two-Node-Survivable Network Problem: em uma rede de fibras ´ oticas - Rubino (International Journal os Logistics Systems and Management - 2010)
I
Automated Test Case Prioritization with Reactive Grasp Camila Maia (2010)
Gabi Linhares
GRASP no PPR
Introdu¸c˜ ao Fundamenta¸c˜ ao te´ orica Metodologia Resultados Conclus˜ ao e Trabalhos Futuros
Modelagem do NRP Algoritmos
T´opicos Introdu¸c˜ao Fundamenta¸c˜ao te´orica Modelagem do NRP Algoritmos Metodologia Resultados Conclus˜ao e Trabalhos Futuros Gabi Linhares
GRASP no PPR
Introdu¸c˜ ao Fundamenta¸c˜ ao te´ orica Metodologia Resultados Conclus˜ ao e Trabalhos Futuros
Modelagem do NRP Algoritmos
Modelagem do NRP
I
Matematicamente, um exemplo de configura¸c˜ao do NRP: I I I I
I I
R = {r1 , r2 , r3 , r4 , r5 , r6 , r7 } c1 = 10, c2 = 6, c3 = 7, c4 = 1, c5 = 4, c6 = 6, c7 = 1 R1 = {r6 }, R2 = {r6 , r7 }, R3 = {r5 } E= {(1, 3), (1, 4), (1, 6), (1, 7), (2, 5), (2, 7), (3, 6), (4, 7), (5, 7)} ˆ 1 = {r1 , r3 , r6 }, R ˆ 2 = {r1 , r3 , r4 , r6 , r7 }, R ˆ 3 = {r2 , r5 } R w1 = 50, w2 = 60, w3 = 70
Gabi Linhares
GRASP no PPR
Introdu¸c˜ ao Fundamenta¸c˜ ao te´ orica Metodologia Resultados Conclus˜ ao e Trabalhos Futuros
Modelagem do NRP Algoritmos
Modelagem do NRP - cont...
I
I
Maximizar o custo total de clientes selecionados ou Evaluate, sujeito a restri¸c˜ oes de custo, B ≤ b, onde b ∈ { 30%, 50%, 70% do custo total de requisitos existentes.} Considerar entre os requisitos: I I
Independˆencia (E = 0): NP-Dif´ıcil; Interdependˆencia: aplica¸c˜ao de heur´ısticas para encontrar solu¸c˜ oes de boa qualidade, em tempo h´abil.
Gabi Linhares
GRASP no PPR
Introdu¸c˜ ao Fundamenta¸c˜ ao te´ orica Metodologia Resultados Conclus˜ ao e Trabalhos Futuros
Modelagem do NRP Algoritmos
Algoritmos
I
Aplicados no NRP original: I I
I
Inicia com conjunto vazio de clientes satisfeitos; Adi¸c˜ao de cada cliente ao conjunto, sem ultrapassar o percentual estabelecido de custos de requisitos. M´etricas de sele¸c˜ao: I I I
I
Maximum Profit: cliente com maior lucro; Minimum Cost: exigˆencia m´ınima de requisitos; Maximum Ratio: ordena o cliente por raz˜ ao entre
lucros . custos
Melhorou os resultados em qualidade, adaptando Maximum Ratio com Grasp: escolher K clientes no topo da lista de candidatos.
Gabi Linhares
GRASP no PPR
Introdu¸c˜ ao Fundamenta¸c˜ ao te´ orica Metodologia Resultados Conclus˜ ao e Trabalhos Futuros
Modelagem do NRP Algoritmos
Tˆempera Simulada I
I
I
Analogia ao processo metal´ urgico de recozimento ou annealing ; Vantagem: Fuga de ´ otimos locais, pois aumenta o universo de solu¸c˜oes, testando solu¸c˜ oes piores que a atual. M´etodo: Aquecimento brusco → Fus˜ao do Metal → Resfriamento Lento → Equil´ıbrio. I I I
f (Energia) < 0: solu¸c˜ao atual melhor que a anterior; f (Energia) = 0: n˜ao houve varia¸c˜ao de energia; f (Energia) > 0: solu¸c˜ao atual tem pior custo com a anterior. I
I I I
, regula a probabilidade Fator de Boltzzman: p = e − f (Energia) T de solu¸co ˜es com pior custo; Gera um n´ umero aleat´ orio entre [0,1]; Se esse n´ umero ´e menor ou igual a p, a solu¸c˜ ao ´e aceita; Caso contr´ ario, solu¸c˜ ao ´e rejeitada. Gabi Linhares
GRASP no PPR
Introdu¸c˜ ao Fundamenta¸c˜ ao te´ orica Metodologia Resultados Conclus˜ ao e Trabalhos Futuros
Modelagem do NRP Algoritmos
Algoritmo Gen´etico
I
Classe particular de algoritmos evolutivos: hereditariedade, muta¸c˜ao, sele¸c˜ao natural e crossing over ;
I
A cada gera¸c˜ao, uma popula¸c˜ao ´e avaliada de forma a selecionar indiv´ıduos adaptados a pr´ oxima gera¸c˜ao.
I
Vantagem: M´etodo flex´ıvel, de f´acil hibridiza¸c˜ao com outras t´ecnicas e baseia-se no conjunto de solu¸c˜ oes poss´ıveis e n˜ao nos parˆametros de otimiza¸c˜ao;
Gabi Linhares
GRASP no PPR
Introdu¸c˜ ao Fundamenta¸c˜ ao te´ orica Metodologia Resultados Conclus˜ ao e Trabalhos Futuros
Modelagem do NRP Algoritmos
GRASP I I
Baseia-se em constru¸c˜ao e busca local: RCL - Restricted Candidate List I I I
e ∈ RCL se c(e) ∈ [cm in, cm in + α(cm ax − cm in)]; α = 0: puramente guloso; α = 1: puramente aleat´ orio;
Gabi Linhares
GRASP no PPR
Introdu¸c˜ ao Fundamenta¸c˜ ao te´ orica Metodologia Resultados Conclus˜ ao e Trabalhos Futuros
Modelagem do NRP Algoritmos
GRASP Reativo I
Especializa¸c˜ao de Grasp: valores de α dependem diretamente das solu¸c˜oes anteriores;
I
A = {a1 , a2 , a3 , · · · , am };
I
pi = m1 , iguais para todos os candidatos; Reavalia¸c˜ao das probabilidades: pi = Pmqi
I
j=i
I I I I
I
qj
e qi =
s∗ Mi .
EX.:
Problema de minimiza¸c˜ao: escolheu αj ; Solu¸c˜ao encontrada: ´ otimo local; Mj diminui, logo pj e qj tamb´em diminuem; Valor de α ´e diretamente proporcional `a qualidade das solu¸c˜oes obtidas atrav´es dele.
Vantagem: maior robustez por conta da menor dependˆencia de acertos na escolha de α; Gabi Linhares
GRASP no PPR
Introdu¸c˜ ao Fundamenta¸c˜ ao te´ orica Metodologia Resultados Conclus˜ ao e Trabalhos Futuros
Dados Aleat´ orios Parametriza¸c˜ ao das metaheur´ısticas
T´opicos Introdu¸c˜ao Fundamenta¸c˜ao te´orica Metodologia Dados Aleat´orios Parametriza¸c˜ao das metaheur´ısticas Resultados Conclus˜ao e Trabalhos Futuros Gabi Linhares
GRASP no PPR
Introdu¸c˜ ao Fundamenta¸c˜ ao te´ orica Metodologia Resultados Conclus˜ ao e Trabalhos Futuros
Dados Aleat´ orios Parametriza¸c˜ ao das metaheur´ısticas
Dados Aleat´orios
I
Trˆes instˆancias (M1 , M2 , M3 ); I I I
I
M1 : 10C, 20R, 30%B; M2 : 20C, 40R, 50%B; M3 : 30C, 60R, 70%B;
Densidade de liga¸c˜ oes: 0.05, 0.03 e 0.03; R1
R12
R2
C8
R17
R10
R18
R6
R15
C2
C7
R7
C3
Gabi Linhares
R4
R9
R8
C1
R19
C9
R20
R11
C5
C10
GRASP no PPR
R3
R14
C4
R16
C6
Introdu¸c˜ ao Fundamenta¸c˜ ao te´ orica Metodologia Resultados Conclus˜ ao e Trabalhos Futuros
Dados Aleat´ orios Parametriza¸c˜ ao das metaheur´ısticas
Parametriza¸c˜ao das metaheur´ısticas
I
Algoritmo Gen´ etico: No de itera¸c˜ oes = 35; Popula¸c˜ao = 20; % de Muta¸c˜ao = 20%;
I
Tˆ empera Simulada: Taxa de Decrescimento da Temperatura = 0.95; Crit´erio de Parada = temperatura menor que 0.0005;
I
Grasp: No M´aximo de Itera¸c˜ oes = 50; Alpha = 0.3;
I
Grasp Reativo: No M´aximo de Itera¸c˜ oes = 60; Qtde. de Alpha = 9; Valores de Alpha = 0.1 a 0.9;
Gabi Linhares
GRASP no PPR
Introdu¸c˜ ao Fundamenta¸c˜ ao te´ orica Metodologia Resultados Conclus˜ ao e Trabalhos Futuros
T´opicos
Introdu¸c˜ao Fundamenta¸c˜ao te´orica Metodologia Resultados Conclus˜ao e Trabalhos Futuros
Gabi Linhares
GRASP no PPR
Introdu¸c˜ ao Fundamenta¸c˜ ao te´ orica Metodologia Resultados Conclus˜ ao e Trabalhos Futuros
Resultados
I
Flutua¸c˜ao de apenas 5% no tempo de execu¸c˜ao.
I
Grasp Reativo mostrou-se melhor que todas as outras metaheur´ısticas, em ambiente de testes;
I
Bom resultado de GReativo pode ser estendido a um cen´ario real, onde este tamb´em ´e a melhor escolha;
I
Os Tipos de instˆancias abordadas no trabalho s˜ao mais abrangentes do que no artigo de Bagnall, pois n˜ao h´a limita¸c˜ao multi-n´ıvel.
Gabi Linhares
GRASP no PPR
Introdu¸c˜ ao Fundamenta¸c˜ ao te´ orica Metodologia Resultados Conclus˜ ao e Trabalhos Futuros
Resultados - Cont...
I
Evaluates encontrados com custo limitado a 30%:
Gabi Linhares
GRASP no PPR
Introdu¸c˜ ao Fundamenta¸c˜ ao te´ orica Metodologia Resultados Conclus˜ ao e Trabalhos Futuros
Resultados - Cont...
I
Evaluates encontrados com custo limitado a 50%:
Gabi Linhares
GRASP no PPR
Introdu¸c˜ ao Fundamenta¸c˜ ao te´ orica Metodologia Resultados Conclus˜ ao e Trabalhos Futuros
Resultados - Cont...
I
Evaluates encontrados com custo limitado a 70%:
Gabi Linhares
GRASP no PPR
Introdu¸c˜ ao Fundamenta¸c˜ ao te´ orica Metodologia Resultados Conclus˜ ao e Trabalhos Futuros
T´opicos
Introdu¸c˜ao Fundamenta¸c˜ao te´orica Metodologia Resultados Conclus˜ao e Trabalhos Futuros
Gabi Linhares
GRASP no PPR
Introdu¸c˜ ao Fundamenta¸c˜ ao te´ orica Metodologia Resultados Conclus˜ ao e Trabalhos Futuros
Conclus˜ao e Trabalhos Futuros I
Objetivo atingido: Grasp Reativo ´e uma boa estrat´egia de solu¸c˜ao para problemas de otimiza¸c˜ao na engenharia de requisitos;
I
Trabalho futuro 1: analisar m´edia e desvio-padr˜ao de tempo de execu¸c˜ao, considerando instˆancias mais complexas;
I
Trabalho futuro 2: Aplicar outras metaher´ısticas: Scatter Search, Tabu Search, VNS, BLS, ILS;
I
Trabalho futuro 3: Estudar a vers˜ao mono-objetiva do NRP, aplicando outras metaheur´ısticas e o conceito de Frente de Pareto;
Gabi Linhares
GRASP no PPR
Introdu¸c˜ ao Fundamenta¸c˜ ao te´ orica Metodologia Resultados Conclus˜ ao e Trabalhos Futuros
FIM
Gabi Linhares
GRASP no PPR