In reply to Mark Curry:
You are correct, the function breaks the solution space and they no longer interact simultaneously. Fortunately, someone sent me a replacement constraint that removes the function call:
constraint children_less_than {
foreach( sum_indices[ which_constraint ] ) {
if ( limits.size() > which_constraint ) {
sum_indices[ which_constraint ].sum() with ( children[ item ].private_obj ) < limits[ which_constraint ];
}
}
}