blockAllocation

Allocate an available amount according to priorities and capacity restrictions

Extends from Interfaces.PartialConverters.Policy_MO (Policy block with multiple outputs).

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

TypeNameDefaultDescription
Structural Parameters
Integernout (from BasePolicy_MO)2Number of outputs
Types.PriorityProfilesppPP.uniformPriority distribution to be used for allocation

Connectors

TypeNameDefaultDescription
Interfaces.Connectors.RealInputuAvailable amount to be allocated
Interfaces.Connectors.RealMultiInput[nout]u_pPriorities for allocation (i.e., utilities)
Interfaces.Connectors.RealMultiInput[nout]u_wWidths for priority profiles (i.e., priority distribution functions)
Interfaces.Connectors.RealMultiInput[nout]u_cConstraints for allocated amounts (i.e., maximum capacity/saturation level)

Components

TypeNameDefaultDescription
RealMultiOutputy (from Policy_MO)Vector of policy output signals

Revisions

  • Introduced in v2.0.0.