  Modern cyber-physical systems (e.g., robotics systems) are typically composed
of physical and software components, the characteristics of which are likely to
change over time. Assumptions about parts of the system made at design time may
not hold at run time, especially when a system is deployed for long periods
(e.g., over decades). Self-adaptation is designed to find reconfigurations of
systems to handle such run-time inconsistencies. Planners can be used to find
and enact optimal reconfigurations in such an evolving context. However, for
systems that are highly configurable, such planning becomes intractable due to
the size of the adaptation space. To overcome this challenge, in this paper we
explore an approach that (a) uses machine learning to find Pareto-optimal
configurations without needing to explore every configuration and (b) restricts
the search space to such configurations to make planning tractable. We explore
this in the context of robot missions that need to consider task timeliness and
energy consumption. An independent evaluation shows that our approach results
in high-quality adaptation plans in uncertain and adversarial environments.
