Optimizing Monitoring Requirements in Self-adaptive Systems