From: navarro Date: Thu, 3 May 2012 17:15:46 +0000 (+0200) Subject: A priori, no need to propagate modifications when the variable has no impact on the... X-Git-Tag: v3_7~28 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/ba4c17319eb812cee7e2e9b3de8c60580d37e616?hp=e40d6a00466192d5337c519d86ac4c8bebb905e6 A priori, no need to propagate modifications when the variable has no impact on the constraint. --- diff --git a/src/surf/maxmin.c b/src/surf/maxmin.c index 047004309e..743bd013cf 100644 --- a/src/surf/maxmin.c +++ b/src/surf/maxmin.c @@ -267,11 +267,14 @@ void lmm_expand(lmm_system_t sys, lmm_constraint_t cnst, xbt_swag_insert_at_head(elem, &(elem->constraint->element_set)); else xbt_swag_insert_at_tail(elem, &(elem->constraint->element_set)); - - make_constraint_active(sys, cnst); - lmm_update_modified_set(sys, cnst); - if (var->cnsts_number > 1) - lmm_update_modified_set(sys, var->cnsts[0].constraint); + if(!sys->selective_update_active) { + make_constraint_active(sys, cnst); + } else if(elem->value>0 || var->weight >0) { + make_constraint_active(sys, cnst); + lmm_update_modified_set(sys, cnst); + if (var->cnsts_number > 1) + lmm_update_modified_set(sys, var->cnsts[0].constraint); + } } void lmm_expand_add(lmm_system_t sys, lmm_constraint_t cnst,