UNICAMP
ANDRE DE OLIVEIRA KOVACS
“UMA APLICAÇÃO DE ANÁLISE DE DECISÃO MULTICRITÉRIO NO PROJETO DE ARQUITETURA DE SOFTWARE”
LIMEIRA 2015
UNICAMP
UNIVERSIDADE ESTADUAL DE CAMPINAS Faculdade de Ciências Aplicadas
ANDRE DE OLIVEIRA KOVACS
“UMA APLICAÇÃO DE ANÁLISE DE DECISÃO MULTICRITÉRIO NO PROJETO DE ARQUITETURA DE SOFTWARE”
Dissertação apresentada à Faculdade de
Ciências Aplicadas da Universidade Estadual de Campinas como parte dos requisitos exigidos para a obtenção do título de Mestre em Pesquisa Operacional, na Área de Pesquisa Operacional
Orientador: Prof. Dr. Antonio Carlos Moretti
ESTE EXEMPLAR CORRESPONDE À VERSÃO FINAL DISSERTAÇÃO DEFENDIDA PELO ALUNO
ANDRE DE OLIVEIRA KOVACS E ORIENTADA PELO PROF. DR. ANTONIO CARLOS MORETTI
LIMEIRA 2015
FICHA CATALOGRÁFICA
Ficha catalográfica
Universidade Estadual de Campinas Biblioteca da Faculdade de Ciências Aplicadas
Sueli Ferreira Júlio de Oliveira - CRB 8/2380
Kovacs, Andre de Oliveira,
K849a KovUma aplicação de análise de decisão multicritério no projeto de arquitetura de
software / Andre de Oliveira Kovacs. – Campinas, SP : [s.n.], 2015.
KovOrientador: Antonio Carlos Moretti.
KovDissertação (mestrado) – Universidade Estadual de Campinas, Faculdade de Ciências Aplicadas.
Kov1. Software - Arquitetura. 2. Engenharia de Software. 3. Processo decisório por critério múltiplo. 4. Análise envoltória de dados. I. Moretti, Antonio Carlos. II. Universidade Estadual de Campinas. Faculdade de Ciências Aplicadas. III. Título.
Informações para Biblioteca Digital
Título em outro idioma: An application of multi-criteria decision analysis to the design of
software architecture
Palavras-chave em inglês:
Software - Architecture Software engineering
Decision-making by multiple criteria Data envelopment analysis
Área de concentração: Pesquisa Operacional Titulação: Mestre em Pesquisa Operacional Banca examinadora:
Antonio Carlos Moretti [Orientador] Sergio Luiz Monteiro Salles Filho Johan Hendrik Poker Junior
Data de defesa: 10-06-2015
Programa de Pós-Graduação: Pesquisa Operacional
Limeira, 10 de junho de 2015
BANCA EXAMINADORA
Prof. Dr. Antonio Carlos Moretti (Orientador)
Assinatura
Prof. Dr. Sergio Luiz Monteiro Salles Filho
Assinatura
Prof. Dr. Johan Hendrik Poker Junior
Assinatura
Prof. Dr. Luiz Leduino de Salles Neto (Suplente)
Assinatura
Prof. Dr. Anibal Tavares de Azevedo (Suplente)
RESUMO
Modelos decisórios para o projeto de arquitetura de
software são de extrema importância para a comunidade de
Engenharia de Software dada a complexidade dos contextos
decisórios atuais nas empresas e o seu papel estratégico na
busca por maior eficiência na implementação de software. Em
tais contentos, busca-se a seleção de ativos para o projeto
de arquiteturas de software, tendo como objetivos maximizar
os benefícios de qualidade e retorno financeiro, sujeitos à
restrições de recursos financeiros e prazo para o projeto.
Tal problema decisório pode ser considerado como um problema
discreto de Tomada de Decisão Multicritério e basicamente
formulado
como
um
Problema
da
Mochila
Bidimensional
Biobjetivo de Programação Combinatória Multiobjetivo e que,
mesmo na sua versão mais simples, é caracterizado na
literatura como 𝒩 𝒫-Difícil, o que leva à necessidade de
métodos de resolução específicos por instância do mesmo. O
objetivo desta pesquisa é buscar um nível de eficiência
superior ao possível com o método heurístico guloso sugerido
pelo CBAM da Engenharia de Software na tomada de decisão aqui
considerada, tendo como porte típico para o problema o estudo
de caso ECS, da NASA. Pretende-se aqui apresentar a
investigação de tal problema com enfoque em algumas
formulações que se aproximam adequadamente à realidade desse
problema e o consideram como um sistema discreto, por meio de
modelos determinísticos de programação matemática. Para
tanto, são abordados métodos heurísticos gulosos e métodos
exatos de resolução do modelo de programação matemática
multiobjetivo de forma a determinar soluções eficientes,
avaliadas via a Análise por Envoltória de Dados. Limitações
de ambas abordagens são identificadas e possíveis melhorias
para o processo de tomada de decisão do CBAM são sugeridas.
ABSTRACT
Decision models to the design of software architecture
are extremely important to the Software Engineering community
due to the complexity of actual decision contexts in
companies and its strategic role on the search for greater
efficiency of software implementation. In those contexts, we
seek the selection of assets for the design of software
architectures, aiming to maximize the quality benefits and
financial
return,
subject
to
financial
and
deadline
constraints. Such decision problem can be considered as a
discrete
Multi-criteria
Decision
Making
problem
and
formulated basically as a Multi-objective Bi-dimensional
Knapsack
Problem
from
Multi-objective
Combinatorial
Optimization that, even in its most simple version, is
characterized in the literature as 𝒩 𝒫-Hard, which leads to
the necessity of specific resolution methods by instance of
the problem. This research aims to search for an efficiency
level greater than obtainable with the heuristic greedy
method suggested by the CBAM from the Software Engineering to
the decision making here considered, having the ECS use case,
from NASA, as the typical scale for the problem. We intend
to present the investigation of such problem targeting some
formulations that adequately approximate to the reality of
the problem, and consider it as a discrete system, using
deterministic models from mathematical programming. For such,
heuristic greedy heuristics and exact methods are approached
for the resolution of the multi-objective mathematical
programming
model
so
that
efficient
solutions
are
ascertained, using the evaluation via Data Envelopment
Analysis. Limitations from both approaches are identified and
possible improvements for the CBAM’s decision process are
suggested.
SUMÁRIO CAPÍTULO 1 - INTRODUÇÃO ... 25! 1.1! APRESENTAÇÃO DO TEMA ... 25! 1.2! O PROBLEMA ... 26! 1.3! OBJETIVOS ... 28! 1.4! JUSTIFICATIVA ... 28! 1.5! HIPÓTESE ... 28! 1.6! VARIÁVEIS ... 29! 1.7! METODOLOGIA ... 29! 1.7.1! Tipo de Pesquisa ... 29! 1.7.2! Coleta de Dados ... 32! 1.7.3! Análise de Dados ... 33! 1.8! ESTRUTURA DA DISSERTAÇÃO ... 34!
CAPÍTULO 2 - SUPORTE À DECISÃO MULTICRITÉRIO ... 35!
2.1! MCDM ... 35!
2.1.1! MADM ... 37!
2.2! PROGRAMAÇÃO MATEMÁTICA MULTIOBJETIVO ... 42!
2.2.1! Métodos ex-ante ... 42!
2.2.2! Métodos ex-post ... 51!
2.3! PROGRAMAÇÃO MATEMÁTICA BIOBJETIVO ... 66!
2.4! OTIMIZAÇÃO MULTIOBJETIVO COMBINATORIAL (MOCO) ... 68!
2.5! O PROBLEMA DA MOCHILA ... 69!
2.5.1! Resolução do Problema da Mochila ... 71!
2.5.2! Informação Imprecisa ou Incerta ... 75!
2.6! ANÁLISE COMPARATIVA DE PERFORMANCE DE MÉTODOS MCDM ... 75!
2.6.1! Custo Computacional ... 76!
2.6.2! Distância para a Fronteira Eficiente ... 76!
2.6.3! Diversidade da Fronteira Eficiente ... 77!
CAPÍTULO 3 - DEFINIÇÃO DO PROBLEMA ... 78!
3.1! O PROJETO DA ARQUITETURA DE SOFTWARE ... 78!
3.2! VALUE-BASED SOFTWARE ENGINEERING (VBSE) ... 78!
3.3.1! Métodos de Seleção de Requisitos Arquiteturais ... 81!
3.4! MCDM EM ENGENHARIA DE SOFTWARE ... 85!
3.4.1! Articulação de Preferências ... 86!
3.5! FORMALIZAÇÃO DO PROBLEMA E AVALIAÇÃO DOS MÉTODOS CONHECIDOS ... 87!
3.5.1! Variáveis de decisão ... 88!
3.5.2! Funções objetivo ... 88!
3.5.3! Restrições ... 88!
CAPÍTULO 4 - RESULTADOS ... 90!
4.1! O ESTUDO DE CASO ECS ... 90!
4.2! MODELAGEM MOCO ... 92! 4.2.1! Interações de Valor ... 95! 4.2.2! Interações de Custo ... 98! 4.2.3! Interações de Conjunção ... 99! 4.2.4! Interações de Disjunção ... 99! 4.2.5! Interações de Implicação ... 101!
4.3! ANÁLISE COMPARATIVA DOS MÉTODOS ... 105!
4.3.1! CBAM ... 106!
4.3.2! DEA ... 110!
4.3.3! Métodos Exatos ... 128!
4.3.4! Sumário dos Resultados ... 190!
AGRADECIMENTOS
Agradeço:
À minha amada esposa, Renata Condi de Souza, que demonstrou seu amor de maneiras incontáveis, dividindo, ouvindo, perdoando, lendo e me ensinando. A sua generosidade de espírito me deu liberdade para realizar este sonho.
Aos meus queridos pais, Jorge Kovacs Filho e Maria de Oliveira Kovacs, pela educação, carinho e por sempre estarem ao meu lado.
Ao meu caro orientador, Prof. Dr. Antonio Carlos Moretti, pela liberdade na escolha deste tema de pesquisa que tanto me fascina e pela paciência em sua orientação, competência, incentivo, valiosos conselhos, sugestões e pela confiança dispensada, que foram fundamentais para a elaboração deste trabalho.
Aos demais docentes do Programa de Mestrado em Pesquisa Operacional e demais pessoas que, direta ou indiretamente, contribuíram para a realização deste trabalho.
Ao Programa de Mestrado em Pesquisa Operacional e à CAPES pelos apoios financeiros.
À Faculdade de Ciências Aplicadas e à UNICAMP por fornecer o suporte de infraestrutura para a realização deste trabalho.
LISTA DE ILUSTRAÇÕES
Figura 1: Visões do Framework 4+1 da Teoria VBSE (adaptado de (BOEHM, 2006)) ... 80!
Figura 2: Conceitualização do problema do projeto “ótimo” da arquitetura de software (adaptado de (ASUNDI, KAZMAN e KLEIN, 2001)) ... 88!
Figura 3: Análise CBAM pela diferença "Benefício-custo" ... 107!
Figura 4: Análise CBAM por ROI ... 108!
Figura 5: Visualização das soluções dos métodos CBAM em relação à fronteira eficiente em escada, para K=4400 e N=4, sem considerar interações entre as alternativas ... 113!
Figura 6: Visualização das soluções dos métodos CBAM em relação à fronteira eficiente em escada, para K=4400 e N=4, considerando interações de valor entre alternativas ... 114!
Figura 7: Visualização das soluções dos métodos CBAM em relação à fronteira eficiente em escada, para K=4400 e N=4, considerando interações de disjunção entre alternativas ... 115!
Figura 8: Visualização das soluções dos métodos CBAM em relação à fronteira eficiente em escada, para K=4400 e N=4, considerando interações de implicação entre alternativas ... 116!
Figura 9: Projeção no espaço “benefício para o cenário 1” versus “custo total” das soluções do algoritmo guloso, via modelos DEA “aditivo” e CCR, em relação à fronteira eficiente em escada, para K=4400 e N=4, sem considerar interações entre as alternativas ... 120!
Figura 10: Projeção no espaço “benefício para o cenário 2” versus “custo total” das soluções do algoritmo guloso, via modelos DEA “aditivo” e CCR, em relação à fronteira eficiente em escada, para K=4400 e N=4, sem considerar interações entre as alternativas ... 120!
Figura 11: Projeção no espaço “benefício para o cenário 3” versus “custo total” das soluções do algoritmo guloso, via modelos DEA “aditivo” e CCR, em relação à fronteira eficiente em escada, para K=4400 e N=4, sem considerar interações entre as alternativas ... 121!
Figura 12: Projeção no espaço “benefício para o cenário 4” versus “custo total” das soluções do algoritmo guloso, via modelos DEA “aditivo” e CCR, em relação à fronteira eficiente em escada, para K=4400 e N=4, sem considerar interações entre as alternativas ... 121!
Figura 13: Projeção no espaço “benefício para o cenário 5” versus “custo total” das soluções do algoritmo guloso, via modelos DEA “aditivo” e CCR, em relação à fronteira eficiente em escada, para K=4400 e N=4, sem considerar interações entre as alternativas ... 122!
Figura 14: Projeção no espaço “benefício para o cenário 6” versus “custo total” das soluções do algoritmo guloso, via modelos DEA “aditivo” e CCR, em relação à fronteira eficiente em escada, para K=4400 e N=4, sem considerar interações entre as alternativas ... 122!
Figura 15: Projeção no espaço “benefício para o cenário 7” versus “custo total” das soluções do algoritmo guloso, via modelos DEA “aditivo” e CCR, em relação à fronteira eficiente em escada, para K=4400 e N=4, sem considerar interações entre as alternativas ... 123!
Figura 16: Projeção no espaço “benefício para o cenário 8” versus “custo total” das soluções do algoritmo guloso, via modelos DEA “aditivo” e CCR, em relação à fronteira eficiente em escada, para K=4400 e N=4, sem considerar interações entre as alternativas ... 123!
Figura 17: Projeção no espaço “benefício para o cenário 9” versus “custo total” das soluções do algoritmo guloso, via modelos DEA “aditivo” e CCR, em relação à fronteira eficiente em escada, para K=4400 e N=4, sem considerar interações entre as alternativas ... 124!
Figura 18: Projeção no espaço “benefício para o cenário 10” versus “custo total” das soluções do algoritmo guloso, via modelos DEA “aditivo” e CCR, em relação à fronteira eficiente em escada, para K=4400 e N=4, sem considerar interações entre as alternativas ... 124!
Figura 19: Visualização das soluções do Método Ponderado em relação à fronteira eficiente em escada, para K=4400 e N=4, sem considerar interações entre as alternativas ... 138!
Figura 20: Visualização das soluções do Método do ε-Restrito no Custo em relação à fronteira eficiente em escada, para K=4400 e N=4, sem considerar interações entre as alternativas ... 139!
Figura 21: Visualização das soluções do Método do ε-Restrito no Benefício em relação à fronteira eficiente em escada, para K=4400 e N=4, sem considerar interações entre as alternativas ... 140!
Figura 22: Visualização das soluções do Método de Goal Programming em relação à fronteira eficiente em escada, para K=4400 e N=4, sem considerar interações entre as alternativas ... 141!
Figura 23: Visualização das soluções do Método da Métrica de Tchebycheff em relação à fronteira eficiente em escada, para K=4400 e N=4, sem considerar interações entre as alternativas ... 142!
Figura 24: Visualização das soluções do Método Ponderado em relação à fronteira eficiente em escada, para K=4400 e N=4, considerando interações de valor entre alternativas ... 145!
Figura 25: Visualização das soluções do Método do ε-Restrito no Custo em relação à fronteira eficiente em escada, para K=4400 e N=4, considerando interações de valor entre as alternativas ... 146!
Figura 26: Visualização das soluções do Método do ε-Restrito no Benefício em relação à fronteira eficiente em escada, para K=4400 e N=4, considerando interações de valor entre as alternativas ... 147!
Figura 27: Visualização das soluções do Método de Goal Programming em relação à fronteira eficiente em escada, para K=4400 e N=4, considerando interações de valor entre as alternativas ... 148!
Figura 28: Visualização das soluções do Método da Métrica de Tchebycheff em relação à fronteira eficiente em escada, para K=4400 e N=4, considerando interações de valor entre as alternativas ... 149!
Figura 29: Visualização das soluções do Método Ponderado em relação à Fronteira eficiente em escada, para K=4400 e N=4, considerando interações de disjunção entre alternativas ... 152!
Figura 30: Visualização das soluções do Método do ε-Restrito no Custo em relação à fronteira eficiente em escada, para K=4400 e N=4, considerando interações de disjunção entre as alternativas ... 153!
Figura 31: Visualização das soluções do Método do ε-Restrito no Benefício em relação à fronteira eficiente em escada, para K=4400 e N=4, considerando interações de disjunção entre as alternativas ... 154!
Figura 32: Visualização das soluções do Método de Goal Programming em relação à fronteira eficiente em escada, para K=4400 e N=4, considerando interações de disjunção entre as alternativas ... 155!
Figura 33: Visualização das soluções do Método da Métrica de Tchebycheff em relação à fronteira eficiente em escada, para K=4400 e N=4, considerando interações de disjunção entre as alternativas ... 156!
Figura 34: Visualização das soluções do Método Ponderado em relação à Fronteira eficiente em escada, para K=4400 e N=4, considerando interações de implicação entre alternativas ... 159!
Figura 35: Visualização das soluções do Método do ε-Restrito no Custo em relação à fronteira eficiente em escada, para K=4400 e N=4, considerando interações de implicação entre as alternativas ... 160!
Figura 36: Visualização das soluções do Método do ε-Restrito no Benefício em relação à fronteira eficiente em escada, para K=4400 e N=4, considerando interações de implicação entre as alternativas ... 161!
Figura 37: Visualização das soluções do Método de Goal Programming em relação à fronteira eficiente em escada, para K=4400 e N=4, considerando interações de implicação entre as alternativas ... 162! Figura 38: Visualização das soluções do Método da Métrica de Tchebycheff em relação à fronteira
eficiente em escada, para K=4400 e N=4, considerando interações de implicação entre as alternativas ... 163!
Figura 39: Projeção no espaço “benefício para o cenário 1” versus “custo total” das soluções do Método Ponderado, em relação à fronteira eficiente em escada, para K=4400 e N=4, sem considerar interações entre as alternativas ... 164!
Figura 40: Projeção no espaço “benefício para o cenário 2” versus “custo total” das soluções do Método Ponderado, em relação à fronteira eficiente em escada, para K=4400 e N=4, sem considerar interações entre as alternativas ... 165!
Figura 41: Projeção no espaço “benefício para o cenário 3” versus “custo total” das soluções do Método Ponderado, em relação à fronteira eficiente em escada, para K=4400 e N=4, sem considerar interações entre as alternativas ... 165!
Figura 42: Projeção no espaço “benefício para o cenário 4” versus “custo total” das soluções do Método Ponderado, em relação à fronteira eficiente em escada, para K=4400 e N=4, sem considerar interações entre as alternativas ... 166!
Figura 43: Projeção no espaço “benefício para o cenário 5” versus “custo total” das soluções do Método Ponderado, em relação à fronteira eficiente em escada, para K=4400 e N=4, sem considerar interações entre as alternativas ... 166!
Figura 44: Projeção no espaço “benefício para o cenário 6” versus “custo total” das soluções do Método Ponderado, em relação à fronteira eficiente em escada, para K=4400 e N=4, sem considerar interações entre as alternativas ... 167!
Figura 45: Projeção no espaço “benefício para o cenário 7” versus “custo total” das soluções do Método Ponderado, em relação à fronteira eficiente em escada, para K=4400 e N=4, sem considerar interações entre as alternativas ... 167!
Figura 46: Projeção no espaço “benefício para o cenário 8” versus “custo total” das soluções do Método Ponderado, em relação à fronteira eficiente em escada, para K=4400 e N=4, sem considerar interações entre as alternativas ... 168!
Figura 47: Projeção no espaço “benefício para o cenário 9” versus “custo total” das soluções do Método Ponderado, em relação à fronteira eficiente em escada, para K=4400 e N=4, sem considerar interações entre as alternativas ... 168!
Figura 48: Projeção no espaço “benefício para o cenário 10” versus “custo total” das soluções do Método Ponderado, em relação à fronteira eficiente em escada, para K=4400 e N=4, sem considerar interações entre as alternativas ... 169!
Figura 49: Projeção no espaço “benefício para o cenário 1” versus “custo total” das soluções do Método do ε-Restrito, em relação à fronteira eficiente em escada, para K=4400 e N=4, sem considerar interações entre as alternativas ... 170!
Figura 50: Projeção no espaço “benefício para o cenário 2” versus “custo total” das soluções do Método do ε-Restrito, em relação à fronteira eficiente em escada, para K=4400 e N=4, sem considerar interações entre as alternativas ... 170!
Figura 51: Projeção no espaço “benefício para o cenário 3” versus “custo total” das soluções do Método do ε-Restrito, em relação à fronteira eficiente em escada, para K=4400 e N=4, sem considerar interações entre as alternativas ... 171!
Figura 52: Projeção no espaço “benefício para o cenário 4” versus “custo total” das soluções do Método do ε-Restrito, em relação à fronteira eficiente em escada, para K=4400 e N=4, sem considerar interações entre as alternativas ... 171!
Figura 53: Projeção no espaço “benefício para o cenário 5” versus “custo total” das soluções do Método do ε-Restrito, em relação à fronteira eficiente em escada, para K=4400 e N=4, sem considerar interações entre as alternativas ... 172!
Figura 54: Projeção no espaço “benefício para o cenário 6” versus “custo total” das soluções do Método do ε-Restrito, em relação à fronteira eficiente em escada, para K=4400 e N=4, sem considerar interações entre as alternativas ... 172!
Figura 55: Projeção no espaço “benefício para o cenário 7” versus “custo total” das soluções do Método do ε-Restrito, em relação à fronteira eficiente em escada, para K=4400 e N=4, sem considerar interações entre as alternativas ... 173!
Figura 56: Projeção no espaço “benefício para o cenário 8” versus “custo total” das soluções do Método do ε-Restrito, em relação à fronteira eficiente em escada, para K=4400 e N=4, sem considerar interações entre as alternativas ... 173!
Figura 57: Projeção no espaço “benefício para o cenário 9” versus “custo total” das soluções do Método do ε-Restrito, em relação à fronteira eficiente em escada, para K=4400 e N=4, sem considerar interações entre as alternativas ... 174!
Figura 58: Projeção no espaço “benefício para o cenário 10” versus “custo total” das soluções do Método do ε-Restrito, em relação à fronteira eficiente em escada, para K=4400 e N=4, sem considerar interações entre as alternativas ... 174!
Figura 59: Projeção no espaço “benefício para o cenário 1” versus “custo total” das soluções do Método de Goal Programming, em relação à fronteira eficiente em escada, para K=4400 e N=4, sem considerar interações entre as alternativas ... 175!
Figura 60: Projeção no espaço “benefício para o cenário 2” versus “custo total” das soluções do Método de Goal Programming, em relação à fronteira eficiente em escada, para K=4400 e N=4, sem considerar interações entre as alternativas ... 176!
Figura 61: Projeção no espaço “benefício para o cenário 3” versus “custo total” das soluções do Método de Goal Programming, em relação à fronteira eficiente em escada, para K=4400 e N=4, sem considerar interações entre as alternativas ... 176!
Figura 62: Projeção no espaço “benefício para o cenário 4” versus “custo total” das soluções do Método de Goal Programming, em relação à fronteira eficiente em escada, para K=4400 e N=4, sem considerar interações entre as alternativas ... 177!
Figura 63: Projeção no espaço “benefício para o cenário 5” versus “custo total” das soluções do Método de Goal Programming, em relação à fronteira eficiente em escada, para K=4400 e N=4, sem considerar interações entre as alternativas ... 177!
Figura 64: Projeção no espaço “benefício para o cenário 6” versus “custo total” das soluções do Método de Goal Programming, em relação à fronteira eficiente em escada, para K=4400 e N=4, sem considerar interações entre as alternativas ... 178!
Figura 65: Projeção no espaço “benefício para o cenário 7” versus “custo total” das soluções do Método de Goal Programming, em relação à fronteira eficiente em escada, para K=4400 e N=4, sem considerar interações entre as alternativas ... 178!
Figura 66: Projeção no espaço “benefício para o cenário 8” versus “custo total” das soluções do Método de Goal Programming, em relação à fronteira eficiente em escada, para K=4400 e N=4, sem considerar interações entre as alternativas ... 179!
Figura 67: Projeção no espaço “benefício para o cenário 9” versus “custo total” das soluções do Método de Goal Programming, em relação à fronteira eficiente em escada, para K=4400 e N=4, sem considerar interações entre as alternativas ... 179!
Figura 68: Projeção no espaço “benefício para o cenário 10” versus “custo total” das soluções do Método de Goal Programming, em relação à fronteira eficiente em escada, para K=4400 e N=4, sem considerar interações entre as alternativas ... 180!
Figura 69: Projeção no espaço “benefício para o cenário 1” versus “custo total” das soluções do Método da Métrica de Tchebicheff, em relação à fronteira eficiente em escada, para K=4400 e N=4, sem considerar interações entre as alternativas ... 181!
Figura 70: Projeção no espaço “benefício para o cenário 2” versus “custo total” das soluções do Método da Métrica de Tchebicheff, em relação à fronteira eficiente em escada, para K=4400 e N=4, sem considerar interações entre as alternativas ... 181!
Figura 71: Projeção no espaço “benefício para o cenário 3” versus “custo total” das soluções do Método da Métrica de Tchebicheff, em relação à fronteira eficiente em escada, para K=4400 e N=4, sem considerar interações entre as alternativas ... 182!
Figura 72: Projeção no espaço “benefício para o cenário 4” versus “custo total” das soluções do Método da Métrica de Tchebicheff, em relação à fronteira eficiente em escada, para K=4400 e N=4, sem considerar interações entre as alternativas ... 182!
Figura 73: Projeção no espaço “benefício para o cenário 5” versus “custo total” das soluções do Método da Métrica de Tchebicheff, em relação à fronteira eficiente em escada, para K=4400 e N=4, sem considerar interações entre as alternativas ... 183!
Figura 74: Projeção no espaço “benefício para o cenário 6” versus “custo total” das soluções do Método da Métrica de Tchebicheff, em relação à fronteira eficiente em escada, para K=4400 e N=4, sem considerar interações entre as alternativas ... 183!
Figura 75: Projeção no espaço “benefício para o cenário 7” versus “custo total” das soluções do Método da Métrica de Tchebicheff, em relação à fronteira eficiente em escada, para K=4400 e N=4, sem considerar interações entre as alternativas ... 184!
Figura 76: Projeção no espaço “benefício para o cenário 8” versus “custo total” das soluções do Método da Métrica de Tchebicheff, em relação à fronteira eficiente em escada, para K=4400 e N=4, sem considerar interações entre as alternativas ... 184!
Figura 77: Projeção no espaço “benefício para o cenário 9” versus “custo total” das soluções do Método da Métrica de Tchebicheff, em relação à fronteira eficiente em escada, para K=4400 e N=4, sem considerar interações entre as alternativas ... 185!
Figura 78: Projeção no espaço “benefício para o cenário 10” versus “custo total” das soluções do Método da Métrica de Tchebicheff, em relação à fronteira eficiente em escada, para K=4400 e N=4, sem considerar interações entre as alternativas ... 185!
LISTA DE TABELAS
Tabela 1: Níveis de benefício e custo articulados pelos DMs para os atributos de qualidade (Fonte: (ASUNDI, KAZMAN e KLEIN, 2001)) ... 91!
Tabela 2: Níveis de benefício e custo articulados pelos DMs para os cenários (Fonte: (KAZMAN, ASUNDI e KLEIN, 2002)) ... 92!
Tabela 3: Níveis de utilidade e pesos articulados pelos DMs para os cenários (Fonte: (KAZMAN, ASUNDI e KLEIN, 2002)) ... 92!
Tabela 4: Efeitos para as interações de valor para os atributos de qualidade ... 96!
Tabela 5: Efeitos para as interações de valor para os cenários ... 97!
Tabela 6: Efeitos para as interações de disjunção para os atributos de qualidade ... 100!
Tabela 7: Efeitos para as interações de disjunção para os cenários ... 101!
Tabela 8: Efeitos para as interações de implicação para os atributos de qualidade ... 103!
Tabela 9: Efeitos para as interações de implicação para os cenários ... 104!
Tabela 10: Benefícios para as estratégias arquiteturais dummy das interações de implicação para os cenários ... 104!
Tabela 11: Comparação das ordenações bicritérios das EAs pelo método CBAM por “benefício-custo” versus por ROI ... 109!
Tabela 12: Levantamento do tempo de processamento dos métodos CBAM ... 109!
Tabela 13: Levantamento da capacidade de cobertura da fronteira eficiente dos métodos CBAM 110!
Tabela 14: Comparação das ordenações bicritérios das EAs pelo método CBAM por “benefício-custo” versus o “modelo aditivo” de DEA ... 111!
Tabela 15: Comparação das ordenações bicritério das EAs pelo método CBAM por ROI versus o modelo DEA CCR ... 112!
Tabela 16: Ordenações multicritérios das EAs pelo modelo CCR de DEA, para M=0 ... 117!
Tabela 17: Ordenações multicritérios das EAs pelo modelo CCR de DEA, para M=10 ... 118!
Tabela 18: Ordenações multicritérios das EAs pelo “modelo aditivo” de DEA, para M=0 ... 118!
Tabela 19: Ordenações multicritérios das EAs pelo “modelo aditivo” de DEA, para M=10 ... 119!
Tabela 20: Levantamento do tempo de processamento da estratégia gulosa utilizando modelos DEA ... 125!
Tabela 21: Levantamento da capacidade de cobertura da fronteira eficiente da estratégia gulosa utilizando modelos DEA ... 126!
Tabela 22: Análise de sensibilidade das EAs pelo modelo DEA GCR de análise de sensibilidade baseado no modelo DEA CCR ... 127!
Tabela 23: Análise de sensibilidade das EAs pelo modelo DEA GCR de análise de sensibilidade baseado no modelo DEA CCR ... 128!
Tabela 24: Análise de eficiência das soluções dos métodos de resolução do problema biobjetivo, para K=4400 e N=4, sem considerar interações entre as alternativas ... 138!
Tabela 25: Análise de eficiência das soluções dos métodos de resolução do problema biobjetivo, para K=4400 e N=4, considerando interações de valor entre as alternativas ... 145!
Tabela 26: Análise de eficiência das soluções dos métodos de resolução do problema biobjetivo, para K=4400 e N=4, considerando interações de disjunção entre as alternativas ... 151!
Tabela 27: Análise de eficiência das soluções dos métodos de resolução do problema biobjetivo, para K=4400 e N=4, considerando interações de implicação entre as alternativas ... 158!
Tabela 28: Levantamento do tempo de processamento dos métodos exatos ... 186!
Tabela 29: Análise de regressão do crescimento exponencial do tempo de processamento dos métodos exatos ... 186!
Tabela 30: Testes de Kolmogorov-Smirnof para os tempos de processamento, agrupados por método de resolução e tipo de problema (hipótese nula com Grupo 1 = Grupo 2) ... 187!
Tabela 31: Levantamento da capacidade de cobertura da fronteira eficiente dos métodos exatos . 188!
Tabela 32: Testes de Kolmogorov-Smirnof para a capacidade de cobertura da fronteira eficiente, agrupados por método de resolução e tipo de problema (hipótese nula com Grupo 1 = Grupo 2) ... 189!
Tabela 33: Sumário comparativo dos resultados obtidos, agrupados por método de resolução e tipo de problema ... 193!
CAPÍTULO 1 - INTRODUÇÃO
1.1 APRESENTAÇÃO DO TEMA
A Pesquisa Operacional consiste em uma abordagem científica para a tomada de decisão para a alocação de recursos limitados em uma coleção de atividades. Ela surgiu para solucionar problemas militares durante a Segunda Guerra Mundial, desenvolvendo uma variado ferramental matemático aplicável em problemas de engenharia, negócios, governo, economia e nas ciências naturais e sociais (GOICOECHEA et al., 1982).
O contexto atual de tomada de decisão nos negócios apresenta grandes desafios dada a complexidade dos processos decisórios, pela necessidade do envolvimento de múltiplas áreas com objetivos distintos muitas vezes com conflitos de interesses. Neste contexto, os modelos formais de tomada de decisão denominados Multi-criteria Decision Making (Tomada de Decisão
Multicritério, em tradução livre pelo autor, ou MCDM) têm recebido grande atenção, devido à sua
capacidade potencial em lidar com problemas decisórios complexos aqui citados.
O problema de MCDM tem despertado o interesse dos pesquisadores em pesquisa operacional e em diversas outras áreas teóricas desde a década de 1960 e teve um grande crescimento nas décadas de 1980 e 1990 (TRIANTAPHYLLOU, 2000). A sua aplicação tem recebido grande interesse no meio acadêmico, em especial nos contextos de Matemática, Tecnologia da Informação e Engenharia, nas quais o campo apresentou um crescimento exponencial no número de pesquisas publicadas (BRAGGE et al., 2010). No entanto, foi somente após a década de 1990 que o interesse pelos métodos exatos de Multiobjective Combinatorial
Optimization (Otimização Combinatória Multiobjetivo em tradução livre pelo autor, ou MOCO)
para a resolução de problemas de MCDM aumentou e, como consequência, estudos sobre o tópico tem crescido consideravelmente (EHRGOTT e GANDIBLEUX, 2000, 2003).
Métodos têm sido desenvolvidos ao longo dos anos na prática de Engenharia de Software buscando auxiliar na seleção de alternativas baseada na análise econômica do “portfólio” de investimentos arquiteturais, em contextos de avaliação do projeto de arquitetura de software, pela identificação do custo e benefício que represente trade-offs envolvendo atributos de qualidade do
software. Tais como:
(1) ATAM (KAZMAN, KLEIN, et al., 1998; KAZMAN, KLEIN e CLEMENTS, 2000), para a obtenção das possíveis alternativas arquiteturais;
(2) CBAM (KAZMAN, ASUNDI e KLEIN, 2001; NORD, BARBACCI, et al., 2003), método de levantamento e seleção de alternativas, para: a priorização das alternativas baseada na
satisfação dos objetivos de negócio; de forma a obter os benefícios associados às alternativas já identificadas, determinar do níveis desejáveis para os atributos de qualidade, que são muitas vezes contraditórios para as alternativas arquiteturais, pela articulação de uma função utilidade pelos tomadores de decisão que represente o nível de comprometimento pelos trade-offs entre os atributos de qualidade; e seleção de alternativas baseada em análise de “benefício-custo” ou em ROI (retorno sobre o investimento), sujeito a restrições de custo e prazo;
Desta forma, o método do CBAM baseia-se nas alternativas arquiteturais obtidas pelo ATAM da composição do conjunto das possíveis iniciativas e agrega um método decisório para a seleção do “portfólio” ideal de iniciativas. Neste método, os atributos de qualidade das alternativas representam os benefícios esperados pelos stakeholders, obtidos pela representação das utilidades exprimidas pelo mesmos como funções utilidade, que são posteriormente agregadas num benefício total através de uma ponderação destas utilidades esperadas por meio de uma função multiutilidade. Além disso, o método decisório é conduzido de tal forma que busque representar o trade-off (relações de compromisso) do benefício total versus os custos das alternativas.
Esta pesquisa objetivou o estudo quantitativo da tomada de decisão no projeto de arquitetura de software, de forma a selecionar um conjunto pequeno e adequado de alternativas arquiteturais à serem implementadas. Buscando maximizar o valor da arquitetura de software para os stakeholders, deve-se trabalhar de forma a encontrar a solução tecnológica de menor custo e maior benefício para os mesmos, tendo assim um nível eficiente de comprometimento dentre os atributos de qualidade versus o seu custo total de implementação, de forma que atenda às preferências dos tomadores de decisão e às restrições do problema.
1.2 O PROBLEMA
No CBAM, a seleção das alternativas é feita através de uma heurística gulosa, baseando-se na seleção pela ordenação da razão do benefício pelo custo, também denominado como eficiência, das alternativas, satisfazendo a restrição de custo total permitido, e que considera apenas como alternativas válidas aquelas que atendam ao prazo do projeto de implementação do software.
Analisando o método de tomada de decisão proposto pelo CBAM sob a ótica da Pesquisa Operacional, pode-se verificar que tal método é análogo ao algoritmo guloso proposto por George Dantzig (1957) para o Problema da Mochila Binário mono-objetivo, em que o objetivo seria maximizar o benefício total do “portfólio” de iniciativas, sujeito às restrições de custo e prazo para o projeto.
Porém, do ponto de vista da Programação Matemática Multiobjetivo, o problema aqui proposto pode ser interpretado basicamente como um problema de otimização matemática denominado Problema da Mochila Bidimensional Biobjetivo, que é um caso especial do Problema
da Mochila Multidimensional Multiobjetivo (MOd-KP) (KELLERER, PFERSCHY e PISINGER, 2004), onde métodos exatos, como o Branch and Bound, são documentados na literatura como necessários para a sua resolução (EHRGOTT e GANDIBLEUX, 2000, 2003; KELLERER, PFERSCHY e PISINGER, 2004).
Desta forma, se considerar como o CBAM apenas alternativas que satisfaçam as restrições de prazo, à primeira vista, o método CBAM busca resolver um problema distinto ao que se propõe, dado que o problema mono-objetivo possivelmente não leva em conta a minimização do custo total do projeto, que é tratado apenas como uma restrição de capacidade do Problema da Mochila. Além disso, o algoritmo guloso aparentemente seria apenas um algoritmo aproximativo, ou uma heurística, para o problema mono-objetivo, dado que garante apenas soluções próximas ao valor ótimo do problema mono-objetivo (KELLERER, PFERSCHY e PISINGER, 2004) e também não permite encontrar soluções factíveis em casos onde a capacidade máxima da restrição de capacidade seja inferior ao custo do item de maior eficiência dada pela razão do benefício pelo custo.
E, finalmente, soluções de problemas de otimização multiobjetivo possuem o inconveniente de não serem diretamente comparáveis objetivo à objetivo. Para tanto, faz-se necessário utilizar um método específico de comparação das soluções obtiveis por diferentes métodos de resolução do problema. O método de Análise por Envoltória de Dados (DEA, do inglês
Data Envelopment Analysis) (ZHU, 2003) seria um método de análise multicritério que permitiria
a determinação do nível de eficiência relativo entre alternativas de soluções, de forma a permitir tal comparação. Uma vantagem deste método é que existem estudos demonstrando o uso da sua medida de eficiência como um bom estimador em testes estatísticos de significância (BANKER e NATARAJAN, 2011).
Outro fator complicador é o fato de usualmente existirem múltiplas soluções para problemas de otimização multiobjetivo, necessitando a identificação do maior número possível das mesmas de forma que tomadores de decisão possam priorizar e selecioná-las adequadamente. Desta forma, métodos específicos de avaliação da proximidade e diversidade de tais soluções são necessários (DEB, 2001).
Além disso, dada a natureza combinatorial do Problema da Mochila torná-lo num problema
𝒩𝒫-Difícil, métodos exatos reconhecidamente eficientes para a resolução de tal problema geral
não são ainda conhecidos, necessitando assim uma avaliação de eficiência via testes computacionais caso a caso (EHRGOTT, 2005).
1.3 OBJETIVOS
A pesquisa quantitativa normativa aqui apresentada objetiva comparar a eficiência relativa do método CBAM da Engenharia de Software versus a eficiência de métodos exatos de Pesquisa Operacional para a resolução do problema de projeto de arquitetura de software que o CBAM se propõe a resolver, utilizando para tanto modelos determinísticos e estáticos, por meio do framework matemático de Programação Matemática Multiobjetivo, de forma a avaliar a obtenção de soluções mais eficientemente possível.
1.4 JUSTIFICATIVA
O tema desperta o interesse de gerentes em situações de análise de decisão estratégica multicritério, dado o ambiente decisório envolvendo múltiplos interesses distintos de departamentos de empresas, no projeto da arquitetura de software, de forma a auxiliar departamentos de TI a atingir maiores níveis de eficiência.
No mercado de Tecnologia da Informação (TI), modelos decisórios estruturados são necessários em Engenharia de Software, por exemplo, para a área de processo de Análise de Decisão e Resolução (DAR), para a obtenção do nível 3 (definido) ou superior de maturidade na certificação Capability Maturity Model Integration (CMMI) (AHERN, CLOUSE e TURNER, 2004), envolvendo a avaliação de alternativas de arquitetura e projeto de software, decisões de construção-compra e a seleção de software.
Adicionalmente, a formulação da função utilidade multiatributos utilizada pelo CBAM para o cálculo do benefício total das soluções pressupõe que as utilidades esperadas das alternativas sejam totalmente independentes. Entretanto, dado que as soluções requerem a combinação de diferentes alternativas arquiteturais que possuem normalmente relações de compromisso dentre as utilidades esperadas (KAZMAN, ASUNDI e KLEIN, 2002), esta premissa mostra-se possivelmente muito forte para o problema. É possível utilizar formulações alternativas que levem em consideração possíveis dependências entre as utilidades, generalizando o cálculo do benefício total como uma função pseudo-booleana (BOROS e HAMMER, 2002), porém este procedimento implica na perda da linearidade da função objetivo do problema. Com isso, poderiam ser utilizadas formulações como o Problema da Mochila Quadrático, capaz de considerar interações aos pares, ou até mesmo o Problema da Mochila Cúbico, capaz de considerar interações aos pares e/ou aos trios, que são caos especiais do Problema da Mochila Não-linear (LI e SUN, 2006).
1.5 HIPÓTESE
A hipótese de pesquisa aqui considerada é a de que um modelo de decisão determinístico e estático, baseado em Programação Matemática Multiobjetivo, no problema de tomada de decisão
do projeto de Arquitetura de Software para o caso ECS, seja mais adequado em relação ao modelo empregado pelo CBAM, de forma a endereçar dependências entre as alternativas arquiteturais, vieses dos tomadores de decisão e incerteza nos dados do problema, buscando atingir um nível consistentemente “ótimo” de eficiência da solução, com complexidade do tempo de resolução comprovadamente polinomial.
1.6 VARIÁVEIS
Este projeto apresenta com variável independente o método de resolução empregado para o problema, consistindo na aplicação do método do CBAM versus a resolução via método exatos de otimização de um modelo de decisão baseado em Programação Matemática Multiobjetivo.
As variáveis dependentes correspondem à eficiência econômica da solução obtida para da composição do “portfólio” de alternativas arquiteturais à serem implementadas e ao esforço computacional resultante do método de resolução empregado.
1.7 METODOLOGIA
1.7.1 Tipo de PesquisaSagasti e Mitroff (1973) foram os primeiros a formalizar um modelo metodológico para a resolução de problemas em Pesquisa Operacional via Modelagem Matemática, consistindo em quatro fases embasadas no método científico:
(1) conceituação, que define o modelo conceitual proposto para o problema real;
(2) modelagem, que define o modelo científico formal correspondente ao modelo conceitual;
(3) resolução do modelo, que busca soluções para o modelo científico formal proposto; (4) implementação, que consiste em tomar ações no problema com base na solução encontrada.
Além dessas fases, incluem-se também:
(i) feedback (no sentido estrito), que garante a coerência e relevância das soluções obtidas contrastando-as à conceituação inicial do problema;
(ii) validação, que garante a ligação do modelo científico à realidade.
Esta metodologia foi posteriormente estendida por Mitroff et al. (1974) e um processo mais simplificado está presente em Chen, Batson e Dang (2011). Porém, Mitroff et al. (1974) será seguido como referência por ser mais geral.
Mais recentemente, a análise da metodologia de Modelagem Matemática realizada por Bertrand e Fransoo (2002) parte das contribuições de Mitroff et al. (1974) e classifica as pesquisas
neste trabalho, os autores analisam as diferentes combinações desses tipos de pesquisa e detalham os procedimentos típicos para cada fase da execução da pesquisa e os assuntos típicos tratados nas seções dos relatórios técnicos dos trabalhos.
Especificamente, a pesquisa, partiu da fase de modelagem, visto que a fase qualitativa de conceituação do problema foi provida pela documentação existente gerada a partir de métodos específicos da Engenharia de Software para o estudo de caso ECS, do SEI, e a fase de implementação foi restrita pelo fato de a pesquisa aqui apresentada realizar o estudo do processo decisório envolvido ex-post-facto, limitando-se assim apenas ao ciclo “modelagem – resolução do modelo – feedback estrito” descrito em Bertrand e Fransoo (2002).
Portanto, os passos da fase de modelagem buscaram complementar os resultados existentes para o método decisório do CBAM. Já para os passos da fase de resolução do modelo, foram utilizados os resultados do estudo de caso ECS como origem dos dados para a avaliação das alternativas e definição das preferências dos tomadores de decisão. E, finalmente, a implementação da solução gerada ficou restrita ao contexto científico e não avalia as implicações dos modelos e soluções propostas no contexto prático do problema, conforme descrito acima, por analisar o processo decisório ex-post-facto.
Assim sendo, pode-se concluir que a pesquisa aqui apresentada segue o modelo axiomático normativo, segundo o ciclo de “modelagem – resolução do modelo – feedback estrito”, pois busca avaliar modelos adequados e métodos eficientes para prescrever soluções “ótimas” para o problema de tomada de decisão no CBAM, através dos métodos existentes em Pesquisa Operacional.
Desta forma, esta pesquisa buscou realizar um estudo com abordagem científica formal, convencional e indutiva, de natureza inferencial (MITROFF, BETZ, et al., 1974), visando comprovar a hipótese de pesquisa proposta via testes estatísticos de significância dos dados resultantes de testes computacionais, na tomada de decisão para o projeto de arquitetura de software baseada no caso Earth Observing System Data Information System (EOSDIS) Core System (ECS) (ASUNDI, KAZMAN e KLEIN, 2001; KAZMAN, ASUNDI e KLEIN, 2002), da NASA.
Além disso, a pesquisa aqui apresentada tem natureza quantitativa, visto que baseia-se no procedimento técnico experimental de análise comparativa das eficiências das soluções e dos tempos computacionais métodos de resolução através de testes estatísticos de significância dos dados evidenciados.
Tendo como base o modelo axiomático normativo de Bertrand e Fransoo (2002) para pesquisas computacionais, esta pesquisa compreendeu as seguintes fases de execução:
(1) descrição do problema decisório operacional estudado, correspondente ao modelo conceitual, fazendo referência a estudos relacionados estreitamente ao problema, buscando propor soluções mais adequadas para o mesmo por meio de técnicas de resolução conhecidas;
(2) especificação do modelo formal matemático do problema, correspondente ao modelo científico formal, buscando garantir a “melhor” representação para o problema;
(3) justificativa da escolha do método de resolução adotado, correspondente ao modelo científico formal, buscando superar a intratabilidade analítica do problema e garantir a obtenção da solução “ótima” para o mesmo;
(4) justificativa da hipótese a ser testada, correspondente ao modelo científico formal, buscando garantir que o método de resolução adotado é adequado para o problema;
(5) configuração do projeto experimental, correspondente à resolução do modelo, buscando avaliar os fatores “adequados” do problema que impactem a eficiência da execução do processo de resolução, porém, garantindo que a análise efetiva dos dados seja possível;
(6) análise estatística dos resultados, correspondente ao feedback estrito, buscando garantir a significância estatística na análise dos dados de eficiência e sensibilidade a variação de parâmetros do modelo para a solução obtida;
(7) interpretação dos resultados, correspondente à validação dos mesmos, buscando avaliar os resultados no contexto do modelo conceitual proposto para o problema;
Complementarmente, esta pesquisa seguiu a metodologia para problemas de planejamento multiobjetivo descrita por Cohon (1978), por permitir detalhar os passos do ciclo “modelagem – resolução do modelo – feedback estrito”, como:
(1) modelagem:
(1.1) identificar e quantificar os objetivos;
(1.2) definir as variáveis de decisão e as restrições; (2) resolução do modelo:
(2.1) coleta de dados;
(2.2) geração e avaliação das alternativas; (2.3) seleção das alternativas preferíveis; (3) feedback estrito:
(3.1) implementação da alternativa selecionada.
E, finalmente, dado que a pesquisa buscou avaliar modelos adequados e métodos eficientes para prescrever soluções para o problema específico de tomada de decisão no CBAM, a avaliação da eficiência dos métodos de resolução de Problemas de Otimização Multiobjetivo baseou-se na metodologia experimental para Algoritmos Evolucionários Multiobjetivo (COELLO, VAN VELDHUIZEN e LAMONT, 2002), para a avaliação da eficiência de métodos de resolução de Problemas de Otimização Multiobjetivo aqui considerados.
1.7.2 Coleta de Dados
Numa primeira etapa da pesquisa, foi realizado um estudo bibliográfico das formulações e dos métodos heurísticos e exatos aplicados para a resolução para o modelo formal, de forma a refinar o modelo matemático proposto e selecionar os métodos de resolução por meio de programação matemática mais adequados. Inicialmente, foram utilizadas publicações nacionais e internacionais de fontes secundárias em livros de anais de congressos ou surveys do tema de MCDM, partindo então num segundo momento para fontes primárias visando ao aprofundamento do conhecimento dos tópicos necessários para a pesquisa.
O problema aqui tratado baseia-se no estudo de caso Earth Observing System Data
Information System (EOSDIS) Core System (ECS) (ASUNDI, KAZMAN e KLEIN, 2001;
KAZMAN, ASUNDI e KLEIN, 2002), da NASA, como um caso típico.
Considerou-se a metodologia científica da Modelagem Matemática (CHEN, BATSON e DANG, 2011; EHRGOTT, 2005) e Teoria da Utilidade (COHON, 1978; DANIELS et al., 2001; GOICOECHEA et al., 1982) para representar rigorosamente o modelo conceitual no modelo formal e o ferramental da Programação Combinatória Multiobjetivo (COHON, 1978; EHRGOTT, 2005; GOICOECHEA et al., 1982) para a construção deste modelo formal científico. Além disso, considerou-se também o método exato Branch and Bound (EHRGOTT, 2005) e a heurística gulosa do CBAM para a geração das soluções para o modelo formal proposto.
Especificamente para a fase de modelagem formal matemática do problema, foi utilizado o processo de construção do modelo em três etapas (CHEN, BATSON e DANG, 2011), que consiste em:
(1) expressar verbalmente e/ou graficamente os objetivos a serem alcançados pela decisão e as restrições usualmente relacionadas à recursos, requisitos e regulações;
(2) traduzir a descrição verbal e/ou gráfica em um modelo matemático;
(3) aplicar as transformações necessárias para garantir que o modelo atende as premissas de Programação Inteira Mista (MIP): (i) divisibilidade para cada variável contínua; (ii) integralidade para cada variável inteira; (iii) certeza para cada parâmetro de entrada; (iv) proporcionalidade para cada termo na função restrição e objetivo; (v) aditividade e separabilidade para cada função combinada no objetivo; e (vi) simultaneidade (conjunção) para o sistema de todas as equações de restrições de (des)igualdade.
Em uma etapa posterior, após a modelagem formal matemática ter sido concluída, as amostras de valor para as funções objetivo para as soluções e respectivos tempos de processamento foram coletados por meio dos testes computacionais, para ambas abordagens de resolução consideradas. Para tanto, foi feito uso de testes da resolução de problemas com dados do estudo de caso ECS, aplicando ambos métodos, de forma a avaliar a eficiência do método e o esforço
computacional. Tais testes computacionais foram realizados utilizando solvers de programação matemática e algoritmos específicos construídos por meio de ferramentas matemáticas e/ou de programação computacional. Amostragens das soluções e dos tempos de processamento foram coletadas para modelos sem interações entre as alternativas arquiteturais e com a introdução de diferentes tipos de interações possíveis, tanto para a abordagem por Programação Matemática Multiobjetivo, quanto para a abordagem do CBAM via o algoritmo guloso.
Como ambiente computacional, utilizou-se scripts em Python v2.7.2, além das implementações do solver glpsol de Programação Inteira Mista e Programação Linear, da biblioteca GLPK v4.47 para os algoritmos Simplex e Branch and Cut (sem a geração de planos de corte e pré-processamentos, ou seja, apenas com a lógica de Branch and Bound, com parametrização padrão), em computador com processador Intel Core i5 de 2,3 GHz e 8 GB de memória.
1.7.3 Análise de Dados
De forma a avaliar a hipótese proposta neste trabalho, dois métodos de análise de dados foram utilizados buscando:
(1) determinar a abordagem de resolução mais eficiente do ponto de vista da performance econômica da solução obtida para da composição do “portfólio” de investimentos arquiteturais, foi feita uma análise das amostras de valor para as funções objetivo das soluções “ótimas” evidenciadas através de:
(1.1) Testes estatísticos de significância baseados na técnica não-paramétrica de Análise Envoltória de Dados (DEA) (BANKER e NATARAJAN, 2011), fazendo uso de ferramentas de análise estatística, seguindo o método de comparação de eficiências para dois grupos de dados, com a hipótese nula de nenhuma diferença em eficiência entre os grupos: de forma a comparar a eficiência de tais soluções contra a fronteira eficiente determinada para a enumeração explícita das soluções, obtidas via algoritmos específicos de avaliação da dominância de tais soluções;
(1.2) Testes estatísticos de significância baseados na métrica cardinal da razão dos pontos de referência encontrados (HANSEN e JASZKIEWICZ, 1998), fazendo uso de ferramentas de análise estatística: de forma a comparar a cobertura de tais soluções contra a fronteira eficiente determinada para a enumeração explícita das soluções, obtidas via algoritmos específicos de avaliação da dominância de tais soluções;
(2) verificar se a performance computacional resultante do método de resolução proposto é superior à da heurística do CBAM, será feita uma análise dos tempos de processamento através de testes estatísticos de significância, com o uso de ferramentas de análise estatística, utilizando o valor-p para a diferença das médias das amostras para ambas abordagens de resolução, com valor da hipótese nula igual a zero.
Já a validação do modelo formal proposto foi feita comparando a consistência da solução obtida através do método exato contra a solução obtida pela heurística do CBAM.
1.8 ESTRUTURA DA DISSERTAÇÃO
A dissertação está estruturada em quatro capítulos. No Capítulo 1, Introdução, após a apresentação dos objetivos gerais e específicos, das perguntas e hipótese de pesquisa e justificativa, há um breve relato do aporte teórico que será utilizado ao longo do estudo, além da metodologia adotada na pesquisa. No Capítulo 2, é feita uma revisão dos métodos exatos de suporte à Decisão Multicritério da disciplina de Pesquisa Operacional. Inicia-se discutindo o papel chave das preferências do tomador de decisão de forma a selecionar as alternativas desejáveis. Posteriormente são apresentados os métodos de incorporação das preferências identificadas no processo formal de problemas de Decisão Multicritério. Em seguida, é apresentado o método ex-post facto de análise de eficiência por Análise de Envoltória de Dados (Data Evelopment Analysis – DEA). E, por fim, é apresentada a classe de problemas de Otimização Multiobjetivo Combinatoriais (Multiobjective
Combinatorial Optimization – MOCO) e em especial as variantes do Problema da Mochila
Multiobjetivo, é feita uma revisão dos métodos de resolução baseados na articulação prévia de preferências utilizados para este tipo de problema, assim como métodos da análise comparativa de
performance de métodos MOCO. No Capítulo 3, inicia-se a contextualização o problema de projeto
de arquitetura de software. Em seguida, é feita uma revisão do histórico e o estado atual da integração de considerações de valor nas práticas e princípios da Engenharia de Software, pela disciplina Value-based Software Engineering (VBSE). Na sequência, é apresentada uma revisão da literatura referente ao uso de Métodos de Suporte à Decisão Multicritério em problemas de Engenharia de Software, e em especial no projeto da arquitetura de software e o método Cost Based
Analysis Method (CBAM) de seleção de alternativas arquiteturais baseada no valor econômico,
para o projeto da arquitetura de software. Por fim, no Capítulo 4 são apresentados e discutidos o estudo de caso considerado, os resultados, as conclusões obtidas e os próximos passos vislumbrados.
CAPÍTULO 2 - SUPORTE À DECISÃO MULTICRITÉRIO
2.1 MCDM
Problemas de tomada de decisão considerando múltiplos objetivos são estudados pela subdisciplina de Pesquisa Operacional denominada Tomada de Decisão Multicritério (MCDM, do inglês Multiple-Criteria Decision Making). Tais problemas consistem na identificação de alternativas que melhor atendam às preferências de um tomador de decisão (DM, do inglês decision
maker) ou de um grupo de DMs, considerando um conjunto de critérios, que representem um
conjunto de objetivos conflitantes e pré-definidos.
Diferentemente de situações em que um único objetivo é considerado, em problemas em que são considerados múltiplos objetivos conflitantes dificilmente é possível prescrever uma solução ótima que seja única, ocorrendo nestes casos a existência de múltiplas soluções equiparáveis, denominadas soluções de Pareto, não-dominadas, ou soluções eficientes, presentes no espaço de decisão. Este fato é consequência de que, ao serem analisados, os mapeamentos de tais soluções eficientes no espaço dos critérios, evidencia-se que nenhuma das soluções pode ter um de seus objetivos melhorado sem que pelo menos um outro objetivo seja piorado, o que é chamado solução dominante (EHRGOTT, 2005). Assim sendo, nestes casos, faz-se necessário o uso de preferências articuladas pelos DMs de forma a apoiá-los na identificação de um subconjunto adequado de soluções eficientes (GOICOECHEA, HANSEN e DUCKSTEIN, 1982).
Porém, em problemas em que o espaço dos critério é discreto, ocorrem situações onde um grande conjunto de soluções são fracamente eficientes, se considerada a comparação componente a componente no sentido não-estrito, e apenas um pequeno das soluções podem ser denominadas estritamente fortes, ou com eficiência forte, se considerada a comparação componente a componente no sentido estrito (EHRGOTT, 2005).
Métodos de MCDM podem ser classificados de acordo com diferentes dimensões. E serão consideradas aqui as classificações propostas por Korhonen (2005) e Triantaphyllou (2000).
Segundo Korhonen (2005), os métodos de MCDM podem ser divididos em dois tipos, conforme a dimensão do espaço de critérios:
(1) Multiple Criteria Evaluation Problem (Problema de Avaliação Multicritério em tradução livre pelo autor) ou problema de Multi-attribute Decision Making (MADM, Tomada de Decisão Multiatributo em tradução livre pelo autor) – consiste na busca da melhor alternativa quando a dimensão do espaço de critérios é finita, isto é, quando as possíveis alternativas são explicitamente conhecidas no início do processo de resolução. Este problema é também chamado de Discrete Multiple Criteria Problem (Problema Multicritério Discreto em tradução livre pelo
como em problemas discretos com uma única função objetivo, formulações discretas multiobjetivo são subdivididas conforme as características das funções objetivo e restrições que o modelo matemático possui, podendo ser denominadas: Multiobjective Integer Programming (MOIP),
Multiobjective Combinatorial Optimization (MOCO), dentre outras (EHRGOTT, 2005; EHRGOTT
e GANDIBLEUX, 2000; EHRGOTT e GANDIBLEUX, 2003).
(2) Multiple Criteria Design Problem (Problema de Projeto Multicritério em tradução livre pelo autor) – consiste na busca da melhor alternativa quando a dimensão do espaço de critérios é infinita, isto é, quando as possíveis alternativas são implicitamente conhecidas e são geralmente definidas pela formulação de um modelo matemático com restrições. Neste caso, o método de resolução deve explicitamente buscar as alternativas a serem avaliadas. Este problema é também chamado como Continuous Multiple Criteria Problem (Problema Multicritério Contínuo em tradução livre pelo autor). Aqui também, assim como em problemas contínuos com uma única função objetivo, formulações contínuas multiobjetivo são subdivididas conforme as características das funções objetivo e restrições que o modelo matemático possui, podendo ser denominadas:
Multiple Objective Linear Programming (MOLP), Nonlinear Multiobjective Programming, Goal Programming, Fuzzy Multiobjective Linear Programming, Multiobjective Stochastic Programming,
dentre outras (EHRGOTT, 2005; EHRGOTT e GANDIBLEUX, 2000; EHRGOTT e GANDIBLEUX, 2003).
Já, segundo Triantaphyllou (2000), os métodos de MCDM podem ser divididos em três tipos conforme:
(1) a natureza dos seus dados. Podendo ser: determinístico, quando os seus parâmetros são determinísticos, isto é, não há incerteza em relação aos seus valores; estocástico, quando os seus parâmetros são estocásticos, isto é, há incerteza em relação aos seus valores e estes seguem distribuições de probabilidades; ou fuzzy, quando os parâmetros são fuzzy, isto é, há incerteza em relação aos seus valores e estes seguem um conjunto fuzzy.
(2) o número de DMs envolvidos no processo decisório. Podendo ser: individual, quando apenas um DM é envolvido no processo decisório; ou em grupo, quando um grupo de DMs é envolvido no processo decisório;
(3) o modelo de representação das preferências dos DMs. Podendo ser com a: articulação prévia das preferências, quando a informação de preferência provida por um DM é utilizada explicitamente numa função de valor assumida como existente, permitindo ranquear as alternativas ou encontrar a alternativa com o valor ótimo para o DM; articulação interativa das preferências, quando a informação de preferência provida por um DM não é utilizada explicitamente numa função de valor assumida como existente, porém implicitamente durante o processo de resolução, através de interações onde o DM guia a ordenação das alternativas ou a busca da alternativa com o