  Architecture optimization is the process of automatically generating design
options, typically to enhance software's quantifiable quality attributes, such
as performance and reliability. Multi-objective optimization approaches have
been used in this situation to assist the designer in selecting appropriate
trade-offs between a number of non-functional features. Through automated
refactoring, design alternatives can be produced in this process, and assessed
using non-functional models.
  This type of optimization tasks are hard and time- and resource-intensive,
which frequently hampers their use in software engineering procedures.
  In this paper, we present our optimization framework where we examined the
performance of various genetic algorithms. We also exercised our framework with
two case studies with various levels of size, complexity, and domain served as
our test subjects.
