1. A method, comprising: responsive to detecting a configuration change in a virtual machine cluster, querying a virtualization manager service to obtain configuration information of the virtual machine cluster; receiving, by a processing device, the configuration information of the virtual machine cluster; generating, in view of the configuration information, a plurality of candidate cluster configurations; associating, by applying one or more virtual machine scheduling policy rules, a value of a configuration score with each candidate cluster configuration of the plurality of candidate cluster configurations, wherein the virtual machine scheduling policy rules specify at least one hard constraint which is not permitted to be violated and further specify at least one soft constraint which is permitted to be violated by cluster configurations; producing an optimized configuration score by optimizing the configuration score using a simulation technique; selecting, using the optimized configuration score, a resulting cluster configuration among the plurality of candidate cluster configurations, wherein the resulting cluster configuration satisfies the at least one hard configuration constraint and violates a minimum, among other candidate configurations, number of the soft configuration constraints; producing an ordered list of cluster configuration operations to be performed on the virtual machine cluster in order to yield the resulting cluster configuration, wherein a number of the cluster configuration operations comprised by the ordered list does not exceed a specified threshold value; and performing, on the virtual machine cluster, the cluster configuration operations defined by the ordered list, wherein the cluster configuration operations comprise migrating a virtual machine from the virtual machine cluster to another virtual machine cluster.