Methods, systems, and apparatus, including computer programs encoded on computer-storage media, for scheduling resource-constrained actions. In some implementations, data indicating a set of tasks to be performed by a group of multiple robots is received. A set of candidate plan elements is determined for each task in the set of tasks. A constraint profile for each of the candidate plan elements is generated, where each of the constraint profiles indicates a constraint to be satisfied in order to carry out the corresponding candidate plan element. Plan elements configured to perform each of the tasks in the set of tasks are selected based on the constraint profiles, and assembled into a schedule according to optimization criteria. This schedule can be used to perform tasks, and the schedule may account for variability in timing without failure.