ALLOCATE AVAILABLE(request,pp,avail)† ALLOCATE AVAILABLE

This function is used to allocate the available amount of a scarce resource to requesters based on the priority of those requests. It requires that the left hand side variable and request have the same final subscript and that pp have that subscript second last, and a ppriority subscript last. This function is a generalization of ALLOCATE BY PRIORITY and is described more completely in Appendix E of this manual.

request must be a subscripted variable, and its final Subscript must match that of the left hand side. It represents the (satiation) quantity requested by different agents.

pp is the priority profile. It is used to define the shape of the curve that defines how much of the available amount a request receives under conditions of shortage. It must have as its final subscript a pprofile subscript as discussed in Appendix E. All elements should be positvive.

avail is the total quantity available to fulfill all requests. If this exceeds total requests, all requests are filled, but none are overfilled.

IMPORTANT NOTE ALLOCATE BY PRIORITY is sensitive to the order of subscripts! If you have more than one subscript range in the variables you are using, the request elements must be last on the left hand side and request, and second last on pp.

See also: FIND MARKET PRICE, DEMAND AT PRICE, SUPPLY AT PRICE, Appendix E.

Units: ALLOCATE AVAILABLE(units, dimensionless, units) --> units

Example

branch : Boston,Dayton,Fresno

pprofile : ptype, ppriority, pwidth, pextra

demand[Branch] = 500,300,750

Units: Widget/Month

priority[Boston,pprofile] = 1,5,2,0

priority[Dayton,pprofile] = 1,7,4,0

priority[Fresno,pprofile] = 1,3,4,0

Units: Dmnl

Shipments[branch] = ALLOCATE AVAILABLE(demand[branch],

  priority[branch,ptype],supply available)

Units: Widget/Month

Restrictions: ALLOCATE AVAILABLE must directly follow the equal sign.

Availability: DSS and Professional only.