behavior_cost¶
Specifies the cost for behaviors, used in the updating of v- and w-values. See The mechanisms.
The parameter behavior_cost
can be set to certain values for certain particular behaviors.
It can also be specified as a single value, in which case the same cost is used for all
behaviors. Wildcards (*) may be used to set several values at once.
Syntax¶
behavior_cost = e1: v1, e2: v2, ..., en: vn, default: d
behavior_cost = v1
behavior_cost = *:v1 # Same as above
where v1,v2,...,vn
and d
are scalar expressions.
Description¶
behavior_cost = b1: v1, b2: v2, ..., bn->vn: vn, default: d
sets the behavior cost for
b1 to v1,
b2 to v2, …,
bn to vn,
and the behavior cost for all other behaviors to d.
The specification is independent of the list order:
behavior_cost = b1:v1, b2:v2, default:d
is the same as
behavior_cost = b2:v2, default:d, b1:v1
.default
need not be specified if all behaviors are present in the list. For example,behaviors = b1, b2 behavior_cost = b1:v1, b2:v2
behavior_cost = v1
sets the behavior cost for all behaviors to v1.
behavior_cost = v1
is the same asbehavior_cost = default: v1
.
Dependencies¶
The property
behaviors
must be specified beforebehavior_cost
.Each behavior used in the specification of
behavior_cost
must be present in the parameterbehavior_cost
.
Examples¶
@variables x = 1
behavior_cost = behavior1: x, behavior2: x+1, behavior3:x+2
sets the behavior cost for behavior1 to 1 and for behavior2 to 2, and for the remaining behaviors to 3.
behavior_cost = behavior1: 0.5, default:0
sets the behavior cost for behavior1 to 0.5, and for the remaining behaviors to 3.
behavior_cost = 0.1
sets the behavior cost for all behaviors to 0.1.