Objects in this document may appear out of sequence if not viewed with Internet Explorer

ORMSware NMOD Primer: Chapter 15


AND-arc Multiplier property (an Arc flow vector element)

AND-arc multiplier property of an arc allows us to override the default requirement of having one surrogate of a customer arrive along an AND arc to the target node.

Recall that each time NETrans detects an AND arc terminating at a node, it adds 1 to that node's convergence requirement count. When NETrans finishes translating a model, it writes the final convergence requirement count for each Convergence node into a file. NMOD engine reads this file to get all of the network data making up the model at the time of model execution.

Sometimes it is useful to be able to change convergence requirement count at a Convergence node, whether or not the existing value is the default value of one. This can be accomplished in three ways as explained below:

  1. We explained in Chapter 14 that convergence requirement at a Convergence node can be modified from any node or arc on the fly using the ChangeConvergenceRequirement procedure available to the user.

  2. Sometimes it is more useful to override default convergence requirement by changing the convergence count on an AND arc. The place to define the override in this manner is in the Flow vector property (see image at left) of the arc.

    There are 5 elements in a Flow vector, of which AND arc multiplier is the last element. Other elements in the vector are not used in NMOD, but some value must be provided as placeholder for each element if one chooses to use the AND arc multiplier element. In the image above, you can see that we have used zeros as placeholders and specified AND arc multiplier to be tnyMaxZones.

    AND arc multiplier can be a constant, variable, function, or a combination thereof, yielding a scalar numerical value, but this value must be calculable before logic entered in nodes and arcs through NMOD's Visio interface or the model's NET file is executed. a[7] in Example Problem 5 (Fleet Flow), the dialog box of which is displayed above, has tnyMaxZones as the AND arc multiplier. tnyMaxZones is an integer constant declared by the analyst in the ADD file for that model, and therefore, it is calculated at the very beginning of model execution before logic entered in any node or arc is executed.

  3. Convergence requirement on an AND arc can also be modified on the fly using the ChangeANDarcMult procedure available to the user form any node or arc. The call should be as follows:

    CALL ChangeANDarcMult ( regArcObj, regNewReq, regPageNum )

    Third argument, the page number where the subject arc is located, is optional. When absent, the page is assumed to be the same as that of the object in which the above CALL is located.

    regArcObj is the Visio-assigned number of the arc object. regNewReq is the number to which we want to set the new value. Notice that all arguments have to be integers of the reg KIND. Typically, one would be using argument of the form {Object.n} where n is the Visio object ID of the given arc. The {Object.n} argument automatically yields an integer result of the reg KIND. If one wishes to use a constant for regNewReq (say, 5) instead, it should be suffixed with _reg (i.e. as in 5_reg).

    Note: Since ANSI Fortran 95 is strongly typed, it will produce a compilation error or execution error pointing to the exact location of the infraction if an argument type is not matched exactly. Therefore, getting all of the argument types absolutely right the first time is not critical. You will never have model development and debugging problems due to type mismatches.

Remember that the new AND incidents requirement can be higher or lower than the original requirement. AND arc multiplier property is typically used in conjunction with signals/temporal arcs. You will see how AND-arc multipliers are used in Example Problem 2 (State Transition model) and Problem 5 (Fleet Flow model) posted at this site.

Note: NMOD does not actually check to see if AND count for each AND arc into a [Convergence] node is satisfied. NMOD only checks whether a surrogate has arrived at a Convergence node via any of the AND arcs, and if so, whether the total AND count for that node is satisfied. This approach provides the analyst with additional flexibility in structuring models.

 

Click to go to Chapter 14: Signal targets/temporal arcs property of network objects

Click to go to Chapter 16: Using Microsoft Excel for inputs

Click to go to Introduction: NMOD Primer