In reply to peterjin:
We can’t have multiple dist constraints on the same random variable with different sets of values.
So this is just pseudo code like stuff.
constraint c_value {
foreach (a[i])
value dist { [a[i]:b[i]] :/ c[i] };
}
solver failure because that code looks like this:
value has 5 different dist constraints and conflict to each other
constraint c_value {
value dist { [a[0]:b[0]] :/ c[0] };
value dist { [a[1]:b[1]] :/ c[1] };
value dist { [a[2]:b[2]] :/ c[2] };
value dist { [a[3]:b[3]] :/ c[3] };
value dist { [a[4]:b[4]] :/ c[4] };
}
and it seems compiler doesn’t support this yet.
so it’s tough to making bath-tub curve smooth (depending on giving dynamic array size, e.g. a/b/c size),
any good way to making long dist block short, I don’t have a good idea yet.
constraint c_value {
value dist {
foreach (a[i])
[a[i]:b[i]] :/ c[i];
};
}