Parameters

Multi-objective Optimization

  • Algorithm: NSGAII
  • Population size: 100
  • Max Evaluation*: 100,000
  • Selection Operator: Binary
  • Cross Over Operator: Single Point
  • Cross Over P: 0.4
  • Mutation Operator: Bit Flip
  • Mutation P: 0.7
  • Gene Modification P: 0.5
  • Min Refactoring: 10
  • Max Refactoring: 30

Clustering

  • Best # of Clusters Measure: Calinski Harabaz (The CH index is known to perform very well when the size of the data is not large such as our case. )
  • Compared # of Clusters: 3-10
  • GMM # of Components: Best # of Clusters
  • GMM Co-variance Type: Full
  • GMM Regularization: 0.000001
  • GMM Max # of Iterations: 1000
  • GMM Convergence Threshold: 0.0001
  • GMM Weight Initialization Method: KMeans

Mono-objective Optimization

  • Algorithm: GA
  • Population size: 100
  • Max Evaluation*: 10,000
  • Selection Operator: Binary
  • Cross Over Operator: Single Point
  • Cross Over P: 0.4
  • Mutation Operator: Bit Flip
  • Mutation P: 0.7
  • Gene Modification P: 0.5
  • Min Refactoring: 10
  • Max Refactoring: 30

The Weighted Sum Method (WSM):

One of the simplest, efficient and popular ways to transform a multi-objective optimization problem to a mono-objective problem is the Weighted Sum Method (WSM) [1]. In the WSM method, the solution is proven to be Pareto optimal. The main drawback of the WSM method is that it needs the weights parameters to be given. Fortunately, in our case, those parameters are computed automatically from the decision maker preferences of the interactive optimization process (preferred cluster) in the objectives space (quality attributes). Thus, the weight of one or more objectives can get the value 0 (or almost) if the selected cluster by the developer penalized them while favoring other objectives. Also, the WSM is not computationally expensive unlike the other scalarization methods.

The other scalarization methods of multi-objective optimization are based on reference point methods in which the decision maker gives a reference point to be achieved [2][3]. The decision maker should give up-front a reference point to be achieved which is not the case of our approach due to the high complexity of this process and the challenge to ask developers to translate manually their preferences in terms of numbers (in our paper, this aspect is done automatically by analyzing the interactions).

References:

[1] E-G. Talbi, M. Basseur, A. Nebro, E. Alba «Multi-objective optimization using metaheuristics», International Transactions in Operational Research (ITOR), Vol.19, No.1, pp.283-306, 2012.

[2] E-G. Talbi, "Metaheuristics and multi-objective optimization: Towards a unified view", Plenary talk, Multi-objective Optimization and Goal Programming Conference MOPGP’2010, May 2010.

[3] E-G. Talbi, "Metaheuristics for multi-objective optimization", Invited tutorial, ALIO/INFORMS Joint Int. Meeting on Operations Research and the Management Sciences, Buenos Aires, Argentina, June 2010.

Parameters Tuning:

It is well known that many parameters compose computational search and machine learning algorithms. Parameter setting is one of the longest standing grand challenges of the field [1].

We have used one of the most efficient and popular approach for parameter setting of evolutionary algorithms which is Design of Experiments (DoE) [2]. Each parameter has been uniformly discretized in some intervals. Values from each interval have been tested for our application. Finally, we pick the best values for all parameters. Hence, a reasonable set of parameter's values have been experimented.

References:

|1] Giorgos Karafotias, Mark Hoogendoorn, and A.E. Eiben, Parameter Control in Evolutionary Algorithms: Trends and Challenges IEEE Transactions, on Evolutionary Algorithms, 2015.

[2] E-G. Talbi, "Metaheuristics: from design to implementation", Wiley, 2009.

[3] E-G. Talbi, "Synergy between metaheuristics and machine learning", Tutorial, BIOMA’2018 International Conference on Bioinspired Optimization and their Applications, Paris, France, May 2018