Page 1

AG para o NRP com Interdependˆ encias Italo Yeltsin Med. B. Introdu¸c˜ ao The Next Release Problem (NRP) NRP com interdependˆ encias Ag para o NRP com Interdependˆ encias Pseudo-C´ odigo Tratamento para Interdependˆ encias AND e REQUIRE ICOST E CVALUE Popula¸c˜ ao Inicial Operador de Repara¸c˜ ao

Objetivos do Trabalho

Ag para o NRP com Interdependˆencias Italo Yeltsin Med. B. UECE- Universidade Estadual do Cear´ a

10 de maio, 2013


AG para o NRP com Interdependˆ encias Italo Yeltsin Med. B.

Sum´ario 1 Introdu¸c˜ ao

Introdu¸c˜ ao The Next Release Problem (NRP) NRP com interdependˆ encias Ag para o NRP com Interdependˆ encias Pseudo-C´ odigo Tratamento para Interdependˆ encias AND e REQUIRE ICOST E CVALUE Popula¸c˜ ao Inicial Operador de Repara¸c˜ ao

Objetivos do Trabalho

2 The Next Release Problem (NRP) 3 NRP com interdependˆ encias 4 Ag para o NRP com Interdependˆ encias

Pseudo-C´ odigo Tratamento para Interdependˆencias AND e REQUIRE ICOST E CVALUE Popula¸c˜ao Inicial Operador de Repara¸c˜ao 5 Objetivos do Trabalho


AG para o NRP com Interdependˆ encias

Introdu¸c˜ao

Italo Yeltsin Med. B. Introdu¸c˜ ao The Next Release Problem (NRP) NRP com interdependˆ encias Ag para o NRP com Interdependˆ encias Pseudo-C´ odigo Tratamento para Interdependˆ encias AND e REQUIRE ICOST E CVALUE Popula¸c˜ ao Inicial Operador de Repara¸c˜ ao

Objetivos do Trabalho

Um problema muito comum nas Empresas de Desenvolvimento ´e o de quais requisitos devem ser escolhidos para entrar no Pr´oximo Release. N˜ ao ´ e uma escolha f´ acil, se temos N requisitos, o numero de combina¸c˜ oes ser´a de 2N . Com uma escolha errada, clientes podem ser perdidos, o or¸camento pode estorar e o produto pode n˜ao ser entregue a tempo. Essa foi a motiva¸c˜ao para a formula¸c˜ao do problema do Pr´oximo Release. Al´em disso, nos deperamos com outro problema, as intera¸c˜ oes ou interdependˆencias entre requisitos, que dificultam mais ainda a solu¸c˜ao do problema.


AG para o NRP com Interdependˆ encias Italo Yeltsin Med. B. Introdu¸c˜ ao The Next Release Problem (NRP) NRP com interdependˆ encias Ag para o NRP com Interdependˆ encias Pseudo-C´ odigo Tratamento para Interdependˆ encias AND e REQUIRE ICOST E CVALUE Popula¸c˜ ao Inicial Operador de Repara¸c˜ ao

Objetivos do Trabalho

The Next Release Problem (NRP) ´ formulado como o problema Knapsack • E • NP-Hard (o n )

Formula¸c˜ao do problema max

N X

wi xi

i=0

sujeito a: N X

ci xi ≤ b

i=0

Onde wi ´e o valor e ci ´e o custo do requisitoi . xi ∈ {0, 1}


AG para o NRP com Interdependˆ encias

NRP com Interdependˆencias

Italo Yeltsin Med. B. Introdu¸c˜ ao The Next Release Problem (NRP) NRP com interdependˆ encias Ag para o NRP com Interdependˆ encias Pseudo-C´ odigo Tratamento para Interdependˆ encias AND e REQUIRE ICOST E CVALUE Popula¸c˜ ao Inicial Operador de Repara¸c˜ ao

Objetivos do Trabalho

Tipos de Interdependˆencias Ri REQUIRES Rj : Ri requer Rj , mas nao o contr´ ario; Ri AND Rj : Se Ri est´ a na release Rj tamb´ em tem que estar e vice-versa. Ri Or Rj : H´ a uma exclus˜ ao m´ utua entre os dois. Ri TEMPORAL Rj : Ri deve ser implementado antes de Rj . Ri ICOST Rj : Ri Acrescenta custo ao Rj . Ri CValue Rj : Ri Acrescenta valor ao Rj .


AG para o NRP com Interdependˆ encias Italo Yeltsin Med. B.

Ag para NRP com Interdependˆencias

Introdu¸c˜ ao The Next Release Problem (NRP) NRP com interdependˆ encias Ag para o NRP com Interdependˆ encias Pseudo-C´ odigo Tratamento para Interdependˆ encias AND e REQUIRE ICOST E CVALUE Popula¸c˜ ao Inicial Operador de Repara¸c˜ ao

Objetivos do Trabalho

Gere Popula¸c˜ao Inicial(); while crit´erio de parada nao for satisfeito do Roleta(); MakeCrossover(); MakeMutation(); forall individuos da nova popula¸c˜ao do if Individuo Inv´alido then RepairIndividuo(); end end end Algorithm 1: Algoritmo Gen´etico - PseudoC´odigo


AG para o NRP com Interdependˆ encias

Ag para NRP com Interdependˆencias

Italo Yeltsin Med. B. Introdu¸c˜ ao The Next Release Problem (NRP) NRP com interdependˆ encias Ag para o NRP com Interdependˆ encias Pseudo-C´ odigo Tratamento para Interdependˆ encias AND e REQUIRE ICOST E CVALUE Popula¸c˜ ao Inicial Operador de Repara¸c˜ ao

Objetivos do Trabalho

• Para representar um cromossomo usa-se um vetor bin´ ario

como estrutura de dados. • xi = 1 → O requisitoi est´ a na solu¸c˜ao/indiv´ıduo.

x ∈ {0, 1} • Interdependˆ encias abordadas foram AND, ICOST e CVALUE. • Para tratar Interdependˆ encias no ag usa-se matrizes bi-dimensionais.

Matrizes para o Tratamento de Interdependˆencias. int require dependencies[n][n]; // Onde require dependencieij ∈ {0, 1} float icost dependencies[n][n]; // Onde 0 ≤ icost dependenciesi j ≤ 1 float cvalue dependencies[n][n]; // Onde 0 ≤ icost dependenciesi j ≤ 1


AG para o NRP com Interdependˆ encias

Ag para NRP com Interdependˆencias

Italo Yeltsin Med. B. Introdu¸c˜ ao The Next Release Problem (NRP) NRP com interdependˆ encias Ag para o NRP com Interdependˆ encias Pseudo-C´ odigo Tratamento para Interdependˆ encias AND e REQUIRE ICOST E CVALUE Popula¸c˜ ao Inicial Operador de Repara¸c˜ ao

Objetivos do Trabalho

Require require dependenciesi j = 1 e i 6= j

AND N˜ao ´e necess´ario uma matriz exclusiva que trata a depedˆencia AND, pois ela j´a ´e tratada na matriz require dependencies da seguinte Forma: Uma rela¸c˜ao AND entre i e j ´e quando i requer j e, recriprocamente, j requer i. Ou seja, require dependenciesi j = require depedenciesj i = 1


AG para o NRP com Interdependˆ encias Italo Yeltsin Med. B.

Ag para NRP com Interdependˆencias

Introdu¸c˜ ao The Next Release Problem (NRP) NRP com interdependˆ encias Ag para o NRP com Interdependˆ encias Pseudo-C´ odigo Tratamento para Interdependˆ encias AND e REQUIRE ICOST E CVALUE Popula¸c˜ ao Inicial Operador de Repara¸c˜ ao

Objetivos do Trabalho

O ICOST e CVALUE s˜ao tratados da seguinte forma: icost dependenciesi j = −0.4. Significa que Se i e j est˜ao na mesma solu¸c˜ ao/indiv´ıduo a solu¸c˜ao ter´a um decr´escimo de 0.4 ∗ cost(Ri ) no seu valor de custo. Da mesma forma ´e tratado CVALUE, por´em com a fitness.


AG para o NRP com Interdependˆ encias Italo Yeltsin Med. B. Introdu¸c˜ ao The Next Release Problem (NRP) NRP com interdependˆ encias Ag para o NRP com Interdependˆ encias Pseudo-C´ odigo Tratamento para Interdependˆ encias AND e REQUIRE ICOST E CVALUE Popula¸c˜ ao Inicial Operador de Repara¸c˜ ao

Objetivos do Trabalho

Ag para NRP com Interdependˆencias forall individuos do while !IndividuoV´alido() do for i = 0 at´e i < numero requisitos do if Prob(0.5) then xi = 1 end else xi = 0 end end end end Algorithm 2: Algoritmo de Gera¸c˜ao da Popula¸c˜ao Inicial Aleat´oria


AG para o NRP com Interdependˆ encias Italo Yeltsin Med. B. Introdu¸c˜ ao The Next Release Problem (NRP) NRP com interdependˆ encias Ag para o NRP com Interdependˆ encias Pseudo-C´ odigo Tratamento para Interdependˆ encias AND e REQUIRE ICOST E CVALUE Popula¸c˜ ao Inicial Operador de Repara¸c˜ ao

Objetivos do Trabalho

Ag para NRP com Interdependˆencias Esse Algoritmo de Gera¸c˜ao de Popula¸c˜ao Inicial garante uma boa diversidade, por´em, dependendo da quantidade de interdependˆ encias, requisitos e tamanhado do or¸camento, Pode-se tornar invi´avel devido ao longo tempo para achar solu¸c˜oes v´alida em um espa¸co diminuido de solu¸c˜oes v´alidas, como mostrado na figura:


AG para o NRP com Interdependˆ encias Italo Yeltsin Med. B.

AG para NRP com Interdependˆencias

Introdu¸c˜ ao The Next Release Problem (NRP) NRP com interdependˆ encias Ag para o NRP com Interdependˆ encias Pseudo-C´ odigo Tratamento para Interdependˆ encias AND e REQUIRE ICOST E CVALUE Popula¸c˜ ao Inicial Operador de Repara¸c˜ ao

Objetivos do Trabalho

int requisito; while !IndividuoV´alido() && CostIndividuo() > bound do orio(0, requisito = Gere Numero Aleat´ numeros de requisitos); xrequisito = 0; end Algorithm 3: Algoritmo de Repara¸c˜ao do Individuo • Retirar requisitos aleat´ oriamente sem nenhum crit´erio

pode deixar o solu¸c˜ao/individuo ruim.


AG para o NRP com Interdependˆ encias

Objetivos do Trabalho

Italo Yeltsin Med. B. Introdu¸c˜ ao The Next Release Problem (NRP) NRP com interdependˆ encias Ag para o NRP com Interdependˆ encias Pseudo-C´ odigo Tratamento para Interdependˆ encias AND e REQUIRE ICOST E CVALUE Popula¸c˜ ao Inicial Operador de Repara¸c˜ ao

Objetivos do Trabalho

• Implementar uma heuristica que gere uma boa popula¸c˜ ao

inicial • Implementar uma heuristica que fa¸ca bons reparos em

cada individuo

SOES #44 - Algoritmo Genético para o Problema do Próximo Release com Interdependências  
Read more
Read more
Similar to
Popular now
Just for you