An Approach to Mitigating Unwanted Interactions between Search Operators in Multi-Objective Optimization
Chad Byers, Betty H. C. Cheng · 2015
At run time, software systems often face a myriad of adverse environmental conditions and system failures that cannot be anticipated during the system's initial design phase. These uncertainties drive the need for dynamically adaptive systems that are capable of providing self-* properties (e.g., self-monitoring, self-adaptive, self-healing, etc.). Prescriptive techniques to manually preload these systems with a limited set of configurations often result in brittle, rigid designs that are unable to cope with environmental uncertainty. An alternative approach is to embed a search technique capable of exploring and generating optimal reconfigurations at run time. Increasingly, DAS applications are defined by multiple competing objectives (e.g., cost vs. performance) in which a set of valid solutions with a range of trade-offs are to be considered rather than a single optimal solution. While leveraging a multi-objective optimization technique, NSGA-II, to manage these competing objectives, hidden interactions were observed between search operators that prevented fair competition among solutions and restricted search from regions where valid optimal configurations existed. In this follow-on work, we demonstrate the role that niching can play in mitigating these unwanted interactions by explicitly creating favorable regions within the objective space where optimal solutions can equally compete and co-exist.