xbt_swag_foreach(_cnst, cnst_list) {
cnst = (lmm_constraint_t)_cnst;
tmp = 0;
- elem_list = &(cnst->element_set);
+ elem_list = &(cnst->enabled_element_set);
xbt_swag_foreach(_elem, elem_list) {
elem = (lmm_element_t)_elem;
var = elem->variable;
- if (var->weight <= 0)
- continue;
+ xbt_assert(var->weight > 0);
tmp += var->value;
}
- if (double_positive(tmp - cnst->bound)) {
+ if (double_positive(tmp - cnst->bound, sg_maxmin_precision)) {
if (warn)
XBT_WARN
("The link (%p) is over-used. Expected less than %f and got %f",
XBT_DEBUG("Checking feasability for variable (%p): sat = %f mu = %f", var,
var->value - var->bound, var->mu);
- if (double_positive(var->value - var->bound)) {
+ if (double_positive(var->value - var->bound, sg_maxmin_precision)) {
if (warn)
XBT_WARN
("The variable (%p) is too large. Expected less than %f and got %f",
* Lagrange Variables.
*/
int max_iterations = 100;
- double epsilon_min_error = MAXMIN_PRECISION;
+ double epsilon_min_error = 0.00001; /* this is the precision on the objective function so it's none of the configurable values and this value is the legacy one */
double dichotomy_min_error = 1e-14;
double overall_modification = 1;
min = max = 0.5;
}
- min_diff = max_diff = middle_diff = 0.0;
overall_error = 1;
if ((diff_0 = diff(1e-16, var_cnst)) >= 0) {
double sigma_i = 0.0;
XBT_IN();
- elem_list = &(cnst->element_set);
+ elem_list = &(cnst->enabled_element_set);
XBT_CDEBUG(surf_lagrange_dichotomy, "Computing diff of cnst (%p)", cnst);
xbt_swag_foreach(_elem, elem_list) {
elem = (lmm_element_t)_elem;
var = elem->variable;
- if (var->weight <= 0)
- continue;
-
+ xbt_assert(var->weight > 0);
XBT_CDEBUG(surf_lagrange_dichotomy, "Computing sigma_i for var (%p)",
var);
// Initialize the summation variable