A Specification consists of a Weight, one or more Objectives and zero or more Constraints. When a Task has multiple Specifications, the Weight permits one group of Objectives to have a greater impact on the optimization than another group of Objectives.