An optional @MaximumDuration mission model annotation has been added. This annotation can be used in conjunction of @ParametricDuration and @UncontrollableDuration to signify the maximum duration that an activity
Verification
I have verified that the domain of coexistence goal was actually cut. I have added a test with a coexistence goal that inserts a lot of coexisting activities and noticed a difference between the use of the maximum duration bounding and no use.
The gain with this test is not significant yet (15-20%) because the simulation domain is dominated by simulation to get child activities. With changes proposed in #1364 related to dependency analysis, we would be able to bypass this step if new activities do no produce child activities. Then this change will have a significant effect on the runtime ofCoexistenceGoal and rootfinding. Indeed, with future user option (in #1364) to bypass rootfinding when placing activities, knowing the maximum duration of an activity allows to place it without violating temporal constraints.
Documentation
Code documentation has been added for the annotation. User documentation has to be done.
Description
An optional
@MaximumDuration
mission model annotation has been added. This annotation can be used in conjunction of @ParametricDuration and @UncontrollableDuration to signify the maximum duration that an activityVerification
I have verified that the domain of coexistence goal was actually cut. I have added a test with a coexistence goal that inserts a lot of coexisting activities and noticed a difference between the use of the maximum duration bounding and no use. The gain with this test is not significant yet (15-20%) because the simulation domain is dominated by simulation to get child activities. With changes proposed in #1364 related to dependency analysis, we would be able to bypass this step if new activities do no produce child activities. Then this change will have a significant effect on the runtime of
CoexistenceGoal
and rootfinding. Indeed, with future user option (in #1364) to bypass rootfinding when placing activities, knowing the maximum duration of an activity allows to place it without violating temporal constraints.Documentation
Code documentation has been added for the annotation. User documentation has to be done.
Future work
Changes in #1364.