Desktop Client: How can I identify and use specific resource members of a pool in simulation?
This article applies to iGrafx Process and iGrafx Process for Six Sigma Client tools
There are two methods to ensure you can identify and control which specific resources are used by a specific transaction:
1. Use the 'Affinity' setting. You could, for example, acquire any member of the pool initially (all members of the pool should have the same characteristics initially; they are supposed to be identical resources at the same pay, though they can represent whatever you want them to), and then use the 'Affinity' setting on the Resources page of each step (i.e. use 'Swimlane' dedication) to ensure that the specific resource that was first acquired is always the one that is re-acquired at each step in the same swimlane.
2. As of iGrafx 2007, use the 'Constraint' expression that utilizes a resource attribute (with a unique value for each member of a pool) to ensure that a transaction gets a specific resource, and re-use the constraint on each step to ensure a specifc resource is acquired.
Please open the attached .igx file for an example of method 2 above. In particular, do the following:
- From the Model menu, choose Resources
- In the left frame, expand "MyResType", then expand "MyResFolder" and then click "MyResPool"
- Select the Attributes tab
- You will see the Attribute assignments giving a unique scalar (number) value to each of the resources in the pool, using a Resource attribute named "MyID". As of iGrafx 2009, the assignment looks like "Resource MyID [<MyResPool/1>] = 1" in. Focusing on the value portion of the expression, "[<MyResPool/1>] = 1", the meaning is as follows: The value in the square brackets (the value between "[" and "]") is the name of the resource pool and unique resource within that pool, and the "= 1" represents the value (1) that you are assigning to the resource attribute. [Note: In iGrafx 2007 the syntax is slightly different for the value inside the brackets; see the iGrafx 2007 example attached to the referenced article if necessary.]
Regardless of method used above, if you desire to log which resources were acquired for specific reporting purposes, you can use the ResId() function to assign to an attribute which resource was actually used (acquired) by the transaction, and log the value of that attribute (i.e. the resource ID or path) using the Log Transactions command.
For more information on the ResId() and other resource functions, See the iGrafx Help system (Help menu > iGrafx Help).
Res_Example_unique_Rattr_per_member_Array(OriginsFileFormat).igx