Resource Allocation Flat Data Model Using Functions and Methods - Gnorion/BizVR GitHub Wiki

Resource Allocation Flat Data Model Using Functions and Methods

In this model there are still just three objects: Resources, Tasks and Assignments with similar attributes as before but the model is defined in terms of functions and methods instead of standard decision tables. There is no inferencing required. The main allocation function drives the entire decision.

The Data Model

We can see in this data model that cost and duration are no longer attributes but instead are instance methods (defined using decision tables)

image

The Decision Model

The main resource allocation logic is now defined as a function call using two arguments - the collection of Resources and the collection of Tasks. The output of this function is a collection of Assignments.

  • One of the advantages of this approach is that the cost and duration methods are only invoked when we find a matched pair of resources and tasks.
  • But a disadvantage is that we may end up calling those methods more than once for each resource and task. image

The Decision Tables

The Allocate Function

image

The Cost Method for Resources

image

The Duration Method for Tasks

image

Alternative Approaches