Patent ID: 7805326

Claim:
A method, comprising: associating, by a processor, a first activity of a group of activities with a first resource, a first start time on the first resource, and a first end time on the first resource, wherein associating the first activity with the first resource comprises associating the first activity with the first resource based on one or more minimum constraints of the first activity; associating, by a processor, a second activity of the group of activities with a second resource, a second start time on the second resource, and a second end time on the second resource, wherein the second activity is preceded by the first activity in a desired order of execution and wherein associating the second activity with the second resource comprises associating the second activity with the second resource based on one or more minimum constraints of the second activity; determining, before the association of the second activity with the second resource, that a first maximum constraint of the first activity should be resolved after the association of the first activity with the first resource and before the association of the second activity with the second resource; determining, before the association of the second activity with the second resource, that a second maximum constraint of the first activity should be resolved after the association of the first activity with the first resource and the association of the second activity with the second resource; resolving, by a processor, the first maximum constraint of the first activity after the association of the first activity with the first resource and before the association of the second activity with the second resource; wherein resolving the first maximum constraint of the first activity after the association of the first activity with the first resource and before the association of the second activity with the second resource comprises: determining that the first maximum constraint of the first activity is violated after the association of the first activity with the first resource and before the association of the second activity with the second resource; disassociating the first activity from the first resource after the association of the first activity with the first resource and before the association of the second activity with the second resource; and re-associating the first activity with the first resource after the association of the first activity with the first resource and before the association of the second activity with the second resource; and resolving, by a processor, the second maximum constraint of the first activity and a maximum constraint of the second activity after the association of the first activity with the first resource and the association of the second activity with the second resource.