Autores

5214
Viviane Cátia Köhler
2347,603,256
5215
2347,603,256
5216
2347,603,256

Informações:

Publicações do PESC

Título
Programação Matemática Aplicada ao Problema de Clusterização com Aplicação em Engenharia de Software
Linha de pesquisa
Otimização
Tipo de publicação
Tese de Doutorado
Número de registro
Data da defesa
3/4/2012
Resumo
 O problema de clusterização tem uma importante aplicação na Engenharia de Software, a qual muitas vezes lida com grandes sistemas que possuem estruturas ricas e complexas. Para facilitar o trabalho dos profissionais que mantêm os  softwares, e os componentes destes sistemas são divididos em grupos de tal modo que os grupos formados tenham módulos com alto grau de relacionamento e em grupos distintos sejam alocados módulos que possuem pequena relação entre si. A medida utilizada para analisar a qualidade da partição de um sistema é chamada de Qualidade de  Modularização (Modularization Quality - MQ). Modeladores representam o sistema do software, como um grafo, onde os vértices representam os módulos e as relações  entre os módulos são representados por arestas. Este grafo  é conhecido na literatura como Grafo Dependente Modular (Module Dependency Graph - MDG). O Problemade Clusterização de Software (PCS) consiste em encontrar uma partição para o MDG que maximize a Trubo MQ. Nesta tese, utilizamos programação matemática para obter a solução  ótima do PCS. Primeiro formulamos o PCS como um problema de soma de funções fracionárias lineares, em seguida são aplicados dois procedimentos de linearização para reformular o PCS de duas formas diferentes de problema de programação linear inteira mista. Propomos um método de pré-processamento que reduz o tamanho do problema original e também apresentamos desigualdades válidas que se mostram eficientes em deixar as formulações mais fortes. De nosso  conhecimento, esta é a primeira vez que um modelo de programação matemática é proposto para o PCS.  Apresentamos resultados numéricos que comparam as formulações aqui propostas e comparam nossos resultados com as soluções obtidas por outros algoritmos da literatura em problemas benchmark.

Abstract
    The clustering problem has an important application in Software Engineering, hich usually deals with large software systems with complex structures. To facilitate the work of software maintainers, components of the system are divided intogroups in such a way that the groups formed contain highly-interdependent modules nd the independent modules are placed in different groups. The measure used toanalyze the quality of the system partition is called Modularization Quality (MQ).Designers represent the software system as a graph where modules are represented by nodes and relationships between modules are represented by edges. This graph is referred in the literature as Module Dependency Graph (MDG). The Software Clustering Problem (SCP) consists in finding the partition of the MDG that maximizes the Turbo MQ.    In this thesis we apply mathematical programming to obtain the optimal solution of the SCP. First, we formulate the SCP as a sum of linear fractional functionsproblem and then we apply two different linearization procedures to reformulate the problem in two different problems of mixed integer linear programming problems.We discuss a preprocessing that reduces the size of the original problem and develop valid inequalities that have been shown to be very effective in tightening theformulations. To our knowledge, this is the first time mathematical programmingis applied to the SCP. We present numerical results that compare the formulations proposed and compare our results with the solutions obtained by other algorithms presented in the literature, for benchmark problems.

Arquivo
Topo