[ library(conjunto) | Reference Manual | Alphabetic Index ]

# sum_weight(?Svar, ?Var)

Svar is a weighted set domain variable or a weighted ground set and Var a free variable or a domain variable or an integer which represents the weight of Svar.

?Svar
  A weighted set domain variable or a weighted ground set.
?Var
  Term unifying with a domain variable or an integer.

## Description

Svar is a weighted set domain variable or ground set. Var is the weight of Svar. If Var is a free variable, this constraint is a mean to access a set weight and attach it to Var. If not, the weight of Svar is constrained to be equal to Var. The constraint is delayed and activated each time a modification occurs in the domain of Svar or Var. Convenient when dealing with packing problems.

### Fail Conditions

Fails if Svar is not a weighted set term or if Var can not represent the weight of Svar.

### Resatisfiable

No.

## Examples

    [eclipse 4]: S `:: {e(a,10), e(b,15)} ..{e(a,10), e(b,15),
                        e(c,20)}, sum_weight(S, W).

    S = S{{e(a, 10), e(b, 15)} .. {e(a, 10), e(b, 15), e(c, 20)}}
    W = W{[25..45]}

    Delayed goals:
            weight_s(S{{e(a, 10), e(b, 15)} .. {e(a, 10),
                       e(b, 15), e(c, 20)}}, W{[25..45]})
    yes.

## See Also

`:: / 2