Allocation

Allocate an available amount according to priorities and capacity restrictions

Information

This information is part of the Business Simulation Library (BSL). Please support this work and ► donate.

The output vector y gives an allocation of the single input u, which may be a rate or simply an available amount of entities. The allocation is done according to the priorities associated with the repicients (e.g., suppliers or buyers) and their individual capacities, so that even the most attractive recipient will never get more than the maximum amount offered or demanded.

Notes

  • While a proportional split according to some weights as in SplitProportionally often suffices to allocate a resource (e.g., a single supply to some buyers or a single demand to some suppliers), the case is more complicated when capacities need to be considered as well.

  • Using priority distributions (→allocateUniform, allocateTriangular, allocateNormal, allocateExtremeValue) cenetered around the priority score of each recipient, the solver will start from +∞ moving to the left until the sum under the priority curves multiplied times the capacity matches the demand.

  • The allocated amount to each recipient is thus a fraction of the priority distribution times the available capacity.

  • The width is more or less equivalent to the span of the priority distributions and controls whether priority distributions for recipients with similar priority scores will overlap or not. If the width is such, that two priority distributions will not overlap, then the more attrative recipient will receive everything available until the capacity is filled before the less attractive recipient recieves anything.

See also

Allocation_Brent, SplitProportionally

Parameters (2)

nout

Value: 2

Type: Integer

Description: Number of outputs

pp

Value: PP.uniform

Type: PriorityProfiles

Description: Priority distribution to be used for allocation

Connectors (5)

y

Type: RealMultiOutput[nout]

Description: Vector of policy output signals

u

Type: RealInput

Description: Available amount to be allocated

u_p

Type: RealMultiInput[nout]

Description: Priorities for allocation (i.e., utilities)

u_w

Type: RealMultiInput[nout]

Description: Widths for priority profiles (i.e., priority distribution functions)

u_c

Type: RealMultiInput[nout]

Description: Constraints for allocated amounts (i.e., maximum capacity/saturation level)

Revisions

  • Introduced in v2.0.0.