Hello,
usually, symmetries like this could be broken by an additional precedence. For example, if there are two tasks A and B that cannot overlap (because they require the same resource for execution) then constraint endBeforeStart(A, B) breaks the symmetry. A similar technique could be also used if A and B can overlap, however the constraint is weaker in this case: startBeforeStart(A, B) (alternatively it is also possible to use endBeforeEnd instead).
Best regards, Petr
------------------------------
Petr Vilím
IBM
------------------------------