Page 1

Otimiza¸c˜ao Robusta aplicada ao Problema do Pr´oximo Release Matheus Paix˜ao mhepaixao@gmail.com Grupo de Otimiza¸c˜ao em Engenharia de Software - GOES Semin´ario de Otimiza¸c˜ao em Engenharia de Software - SOES

15 de mar¸co de 2013

mhepaixao@gmail.com (GOES)

Otimiza¸c˜ ao Robusta no NRP

15 de mar¸co de 2013

1 / 24


Agenda 1

Introdu¸c˜ao Problema do Pr´oximo Release Otimiza¸c˜ao Robusta

2

Proposta submetida ao GECCO 2013 Modelagem “Cl´assica”do NRP Modelagem Robusta do NRP Resultados

3

Proposta a ser submetida ao SSBSE 2013 Recoverable Robustness Optimization Modelagem do Problema do Pr´ oximo Release Recuper´avel

4

Conclus˜ao e Trabalhos Futuros

mhepaixao@gmail.com (GOES)

Otimiza¸c˜ ao Robusta no NRP

15 de mar¸co de 2013

2 / 24


Introdu¸c˜ ao

Introdu¸c˜ao Desenvolvimento iterativo e incremental ´e o mais utilizado atualmente

Figura: Modelo iterativo e incremental

Apesar de trazer muitas vantagens para o desenvolvimento do sistema, este modelo torna a gerˆencia do projeto mais complexa mhepaixao@gmail.com (GOES)

Otimiza¸c˜ ao Robusta no NRP

15 de mar¸co de 2013

3 / 24


Introdu¸c˜ ao

Problema do Pr´ oximo Release

Problema do Pr´oximo Release (NRP) Engenharia de Requisitos assume um papel mais importante e demanda mais tempo no projeto Ao in´ıcio de todo incremento, devem ser escolhidos quais requisitos estar˜ao presentes na pr´ oxima release Tarefa executada por uma pessoa ou por uma equipe, dependendo da metodologia Participa¸c˜ao do cliente ´e fundamental para o sucesso do projeto Os requisitos mais importantes devem ser adicionados `a release O custo de implementa¸c˜ao dos requisitos escolhidos deve ser menor que o or¸camento dispon´ıvel mhepaixao@gmail.com (GOES)

Otimiza¸c˜ ao Robusta no NRP

15 de mar¸co de 2013

4 / 24


Introdu¸c˜ ao

Problema do Pr´ oximo Release

Problema do Pr´oximo Release Abordagens baseadas em busca vˆem sendo propostas para resolu¸c˜ao do NRP “O que ´e importˆancia de um requisito?” “Como se mede o custo de implementa¸c˜ao de um requisito?” Estimativas s˜ao incertas por natureza, principalmente em um ambiente dinˆamico como desenvolvimento de softwares Maioria dos trabalhos em SBSE assumem que os valores de importˆancia e custo s˜ao exatos S˜ao necess´arias estrat´egias que considerem as incertezas relacionadas ao NRP mhepaixao@gmail.com (GOES)

Otimiza¸c˜ ao Robusta no NRP

15 de mar¸co de 2013

5 / 24


Introdu¸c˜ ao

Otimiza¸c˜ ao Robusta

Otimiza¸c˜ao Robusta A Otimiza¸c˜ao Robusta ´e a ´area dentro da Pesquisa Operacional que identifica e trata incertezas nos problemas de otimiza¸c˜ao Podem ser identificados os seguintes tipos de incertezas em um problema de otimiza¸c˜ao: (A) Mudan¸cas de condi¸c˜ oes de opera¸c˜ ao: modelagens matem´aticas dos problemas s˜ao desenvolvidas a partir de uma certa configura¸c˜ao pr´evia do ambiente, sendo que um ambiente real ´e dinˆamico. (B) Imprecis˜ ao nas vari´ aveis de decis˜ ao: durante a resolu¸c˜ao do problema, a configura¸c˜ao das vari´aveis de decis˜ao pode n˜ao ser preciso (C) Incertezas de resultados: ao se aplicar, no ambiente real, a solucao encontrada pelas simula¸c˜ oes, pode-se chegar a resultados diferentes (D) Incertezas na satisfa¸c˜ ao das restri¸c˜ oes: ao se considerar as incertezas (A) e/ou (B), ´e necess´ario garantir que a solu¸c˜ao obtida continue respeitando todas as restri¸c˜ oes do problema.

mhepaixao@gmail.com (GOES)

Otimiza¸c˜ ao Robusta no NRP

15 de mar¸co de 2013

6 / 24


Introdu¸c˜ ao

Otimiza¸c˜ ao Robusta

Otimiza¸c˜ao Robusta

Figura: Incertezas em um problema de otimiza¸c˜ao mhepaixao@gmail.com (GOES)

Otimiza¸c˜ ao Robusta no NRP

15 de mar¸co de 2013

7 / 24


Introdu¸c˜ ao

Otimiza¸c˜ ao Robusta

Otimiza¸c˜ao Robusta Cada tipo de incerteza deve ser quantificada seguindo uma das seguintes estrat´egias: (1) Determin´ıstica: define dom´ınios espec´ıficos em que as incertezas podem variar. Normalmente representado por um conjunto finito de valores. (2) Probabil´ıstica: define medidas de probabilidade em que um certo evento pode acontecer. (3) Possibil´ıstica: utiliza l´ ogica fuzzy para lidar com incertezas subjetivas, indicando a possibilidade de acontecimento de certo evento.

Cada quantifica¸c˜ao pode ser ainda realizada de forma discreta ou cont´ınua

mhepaixao@gmail.com (GOES)

Otimiza¸c˜ ao Robusta no NRP

15 de mar¸co de 2013

8 / 24


Proposta submetida ao GECCO 2013

Proposta submetida ao GECCO 2013

Consiste em utilizar a Otimiza¸c˜ao Robusta para tratar as incertezas relacionadas a importˆancia e custo dos requisitos

Introduz um certo parˆametro Γ para controlar a robustez da solu¸c˜ao

Testes s˜ao realizados para medir o “pre¸co da robustez”, ou seja, o quanto ´e perdido na qualidade da solu¸c˜ao para se garantir robustez

mhepaixao@gmail.com (GOES)

Otimiza¸c˜ ao Robusta no NRP

15 de mar¸co de 2013

9 / 24


Proposta submetida ao GECCO 2013

Modelagem “Cl´ assica”do NRP

Modelagem “Cl´assica”do NRP O Problema do Pr´oximo Release “cl´assico” ´e mostrado a seguir:

maximize

subject to

N X i=1 N X

vi xi ci xi ≤ b

i=1

Onde vi e ci representam a importˆancia e custo do requisito i respectivamente. xi ´e a vari´avel de decis˜ao, xi = 1 indica que o requisito i est´a na pr´oxima release e xi = 0 o contr´ario. b ´e o or¸camento dispon´ıvel para a release mhepaixao@gmail.com (GOES)

Otimiza¸c˜ ao Robusta no NRP

15 de mar¸co de 2013

10 / 24


Proposta submetida ao GECCO 2013

Modelagem Robusta do NRP

Modelagem Robusta do NRP A importˆancia do requisito ´e uma incerteza do tipo Mudan¸ca de condi¸c˜ oes de opera¸c˜ ao Quantificada de forma probabil´ıstica e discreta, utilizando cen´arios Um cen´ario indica os valores de importˆancia dado um certo evento Um conjunto de cen´arios S = {s1 , s2 , . . . , sM }, onde cada cen´ario si ⊂ S|si = {v1s , v2s , . . . , vNs }, com vis indicando a importˆancia do requisito ri no cen´ario s P Para cada cen´ario, ´e definida uma probabilidade ps , com M s=1 ps = 1 A importˆancia de cada requisito, nesta abordagem robusta ´e dada por:

vi =

M X

vis ps

s=1

mhepaixao@gmail.com (GOES)

Otimiza¸c˜ ao Robusta no NRP

15 de mar¸co de 2013

11 / 24


Proposta submetida ao GECCO 2013

Modelagem Robusta do NRP

Modelagem Robusta do NRP A incerteza relacionada com o custo do requisito ´e diferente da ´ uma incerteza na satisfa¸c˜ importˆancia. E ao das restri¸c˜ oes Quantificada de forma determin´ıstica e cont´ınua Al´em do custo ci , ´e dado um desvio padr˜ao cˆi , definindo limites de varia¸c˜ao para o custo. De forma que ci − cˆi ≤ ci ≤ ci + cˆi . Uma poss´ıvel formula¸c˜ao robusta para o custo total da release seria: N X i=1

ci xi +

N X

cˆi xi

i=1

Abordagem muito conservadora ao considerar sempre o pior caso

mhepaixao@gmail.com (GOES)

Otimiza¸c˜ ao Robusta no NRP

15 de mar¸co de 2013

12 / 24


Proposta submetida ao GECCO 2013

Modelagem Robusta do NRP

Modelagem Robusta do NRP

Em um ambiente real de desenvolvimento de software, diferentes equipes tˆem diferentes habilidades de estimativas Para considerar isso, ´e introduzido um parˆametro Γ, que indica o n´ıvel esperado de erros de estimativas Assim, a modelagem robusta proposta ´e mostrada a seguir: N X

ci xi + maxW ⊆R,|W |≤Γ

i=1

mhepaixao@gmail.com (GOES)

X

cˆi xi

i∈W

Otimiza¸c˜ ao Robusta no NRP

15 de mar¸co de 2013

13 / 24


Proposta submetida ao GECCO 2013

Modelagem Robusta do NRP

Modelagem Robusta do NRP

A seguir o modelo formal do Problema do Pr´ oximo Release Robusto:

maximize

subject to

mhepaixao@gmail.com (GOES)

N X M X

vis ps xi

i=1 s=1 N X

X

i=1

i∈W

ci xi + maxW ⊆R,|W |≤Γ

Otimiza¸c˜ ao Robusta no NRP

cˆi xi ≤ b

15 de mar¸co de 2013

14 / 24


Proposta submetida ao GECCO 2013

Resultados

Resultados Utilizadas as metaheur´ısticas Tˆempera Simulada e Algoritmo Gen´etico 21 instˆancias (7 artificiais e 14 reais), com quantidade de requisitos variando entre 50 e 200 Desvio padr˜ao cˆi configurado de 10% a 50% do custo ci 350

4 SA GA 3.5

340

3

Reduction Factor

Fitness Value

330

320

310

2.5

2

1.5

300 1

290

0.5 SA GA

280

0 0

0.1N

0.2N

0.3N

0.4N

0.5N Γ

0.6N

0.7N

0.8N

0.9N

N

0

0.1N

0.2N

0.3N

0.4N

0.5N Γ

0.6N

0.7N

0.8N

0.9N

N

Figura: Compara¸c˜ao SA e GA. I S 70 e I S 120 respectivamente mhepaixao@gmail.com (GOES)

Otimiza¸c˜ ao Robusta no NRP

15 de mar¸co de 2013

15 / 24


Proposta submetida ao GECCO 2013

Resultados

Resultados 18

18 10% 20% 50% Random

10% 20% 50% Random

16

14

14

12

12

Reduction Factor

Reduction Factor

16

10 8 6 4

10 8 6 4

2

2

0

0 0.1N

0.2N

0.3N

0.4N

0.5N

0.6N

0.7N

0.8N

0.9N

N

0.1N

0.2N

0.3N

0.4N

Γ

0.6N

0.7N

0.8N

0.9N

N

25 10% 20% 50% Random

10% 20% Random 50% 20

Reduction Factor

20

Reduction Factor

0.5N Γ

25

15

10

5

15

10

5

0

0 0

0.1N

0.2N

0.3N

0.4N

0.5N Γ

0.6N

0.7N

0.8N

0.9N

N

0

0.1N

0.2N

0.3N

0.4N

0.5N Γ

0.6N

0.7N

0.8N

0.9N

N

Figura: Instˆancias I S 120, I S 170, I Re E 120 e I Re E 170 respectivamente mhepaixao@gmail.com (GOES)

Otimiza¸c˜ ao Robusta no NRP

15 de mar¸co de 2013

16 / 24


Proposta submetida ao GECCO 2013

Perguntas/D´ uvidas

Perguntas/D´uvidas

mhepaixao@gmail.com (GOES)

Otimiza¸c˜ ao Robusta no NRP

15 de mar¸co de 2013

17 / 24


Proposta a ser submetida ao SSBSE 2013

Proposta a ser submetida ao SSBSE 2013 Durante a realiza¸c˜ao dos testes da u ´ltima proposta, percebeu-se que a mesma poderia ser melhorada Mesmo com a introdu¸c˜ao do parˆametro Γ para controlar a robustez, o modelo ainda ´e conservador Assume que sempre uma quantidade Γ de requisitos ser˜ao estimados incorretamente, e que o erro sempre ser´a para o pior valor poss´ıvel Caso as incertezas n˜ao se comprovem, ou os erros n˜ao sejam t˜ao grandes, ocorre um desperd´ıcio de recursos Solu¸c˜ao para esse problema foi encontrada na Recoverable Robust Optimization

mhepaixao@gmail.com (GOES)

Otimiza¸c˜ ao Robusta no NRP

15 de mar¸co de 2013

18 / 24


Proposta a ser submetida ao SSBSE 2013

Recoverable Robustness Optimization

Recoverable Robustness Optimization Ramo atual (2007-2008) da Otimiza¸c˜ao Robusta que introduz um conceito diferente de robustez Uma solu¸c˜ao robusta recuper´avel ´e aquela que, na ocorrˆencia dos erros e poss´ıvel invalidez da solu¸c˜ao, pode ser recuperada e se tornar v´alida novamente Pode-se dizer que ´e uma modelagem robusta “otimista”, pois gera uma solu¸c˜ao considerando que nenhum valor de entrada est´a errado, mas se no momento de aplicar a solu¸c˜ao um erro se mostrar, essa solu¸c˜ao poder´a ser recuperada

mhepaixao@gmail.com (GOES)

Otimiza¸c˜ ao Robusta no NRP

15 de mar¸co de 2013

19 / 24


Proposta a ser submetida ao SSBSE 2013

Recoverable Robustness Optimization

Recoverable Robustness

Uma modelagem robusta recuper´avel ´e composta de trˆes etapas: (1) Etapa O: definir o problema de otimiza¸c˜ao (2) Etapa S: modelar as incertezas relacionadas ao problema (3) Etapa R: desenvolver os algoritmos de recupera¸c˜ao

Para o Problema do Pr´ oximo Release as etapas O e S se misturam

mhepaixao@gmail.com (GOES)

Otimiza¸c˜ ao Robusta no NRP

15 de mar¸co de 2013

20 / 24


Proposta a ser submetida ao SSBSE 2013

Modelagem do Problema do Pr´ oximo Release Recuper´ avel

Modelagem do Problema do Pr´oximo Release Recuper´avel O modelo desenvolvido foi influenciado pela ideia do k−recoverable robustness A quantifica¸c˜ao das incertezas (etapa S), tanto para a importˆancia como para o custo ocorre da mesma forma que a proposta anterior ´ introduzido um novo parˆametro k que controla a capacidade de E recupera¸c˜ao da solu¸c˜ao O modelo para o custo total da release que gera solu¸c˜oes poss´ıveis de serem recuperadas ´e mostrado a seguir: N X

ci xi + maxW ⊆R,|W |≤Γ

i=1

mhepaixao@gmail.com (GOES)

X

cˆi xi − minY ⊆R,|Y |≤k

i∈W

Otimiza¸c˜ ao Robusta no NRP

X

ci xi

i∈Y

15 de mar¸co de 2013

21 / 24


Proposta a ser submetida ao SSBSE 2013

Modelagem do Problema do Pr´ oximo Release Recuper´ avel

Modelagem do Problema do Pr´oximo Release Recuper´avel O modelo formal do Problema do Pr´ oximo Release Recuper´avel (etapas O + S) ´e mostrado a seguir:

max

s.t.

N X M X

vis ps xi

i=1 s=1 N X

X

i=1

i∈W

ci xi + maxW ⊆R,|W |≤Γ

cˆi xi − minY ⊆R,|Y |≤k

X

ci xi ≤ b

i∈Y

Este modelo gera solu¸c˜ oes onde, caso um m´aximo de Γ requisitos apresentem erros de estimativa, e por conta desses erros a solu¸c˜ao se torne inv´alida, ´e poss´ıvel recuperar a solu¸c˜ao retirando quaisquer k requisitos, no m´aximo mhepaixao@gmail.com (GOES)

Otimiza¸c˜ ao Robusta no NRP

15 de mar¸co de 2013

22 / 24


Proposta a ser submetida ao SSBSE 2013

Modelagem do Problema do Pr´ oximo Release Recuper´ avel

Modelagem do Problema do Pr´oximo Release Recuper´avel Um poss´ıvel algoritmo de recupera¸c˜ao ´e mostrado a seguir Algorithm 1 Minimum Value Loss Recoverable Algorithm 1: 2: 3: 4: 5: 6: 7: 8:

if release total cost() > b then while release total cost() > b do remove the less valuable available requirement if release total cost() ≤ b then return recovered solution end if end while end if Pode-se retirar quaisquer k requisitos, logo retiram-se os menos importantes

mhepaixao@gmail.com (GOES)

Otimiza¸c˜ ao Robusta no NRP

15 de mar¸co de 2013

23 / 24


Conclus˜ ao e Trabalhos Futuros

Conclus˜ao e Trabalhos Futuros

Para a proposta do GECCO: Considerar interdependˆencias entre requisitos Testar o modelo em instˆancias mais real´ısticas Considerar outras metaheur´ısticas e m´etodos exatos

Para a proposta do SSBSE: Escrever as se¸c˜ oes de introdu¸c˜ao e modelagem da proposta Executar testes preliminares para validar o modelo Definir todos os parˆametros de teste Escrever o restante do artigo

SBSE mostra-se um ´area muito prop´ıcia `a aplica¸c˜ao da otimiza¸c˜ao robusta

mhepaixao@gmail.com (GOES)

Otimiza¸c˜ ao Robusta no NRP

15 de mar¸co de 2013

24 / 24

SOES #41 - Otimização Robusta aplicada à Engenharia de Requisitos  
Read more
Read more
Similar to
Popular now
Just for you