Skip to content

Renege After Waiting Too Long

LegacyHow this worked in the previous version

When you want entities to exit a location, or route to a different location, if entities wait longer than a value you set. This replaces a Renege route when resources are required but may not always be available at the location of the renege.

Renege After Waiting Too Long

The following model object can be found in the model objects directory:

  • Routings - Renege After Waiting Too Long
  • Ease of Use: Moderate
  • Ease of Modification: Moderate
  • Open Your Model: Open your model or create a new blank model.

  • Insert the Model Object into Your Model

  • Locate the model object Renege After Waiting Too Long and select the insert button.

  • Move the cursor to the point of insertion and left mouse-click. The upper left corner of the model object will be inserted at the location of the mouse-click.

  • Connect to Your Model

  • **Connect **an arrival route or a percentage route from the part of your model where you would like the entities to enter the model object to Hold1.

Renege After Waiting Too Long

  1. **Connect **the horizontal route (going to the right) leaving the **Hold1 **to the activity in your model where you want to check for renege time.

Renege After Waiting Too Long

  • Define Values: Define the values for scenario parameters s_LoopDelay1, s_LoopDelay1, s_Resource1, s_Resource2, s_Resource3, and s_Name_of_Activity_After_Hold based on the information provided under the heading Scenario Parameters below. The values for these Scenario Parameters must be provided before the simulation start.

Renege After Waiting Too Long

  • Update Objects: Change the names of **Hold1 **to what maybe appropriate for your model.

  • Completion: The model object is now integrated into your model, you should now be able to save and then simulate the model.

  • a_MaxWait: Do not change. Entity specific allowed wait time.
  • a_Renege: Do not change. Renege counter, 0 = process entity, 1 = renege entity.
  • a_StartWait: Do not change. Time when the entity began waiting.
  • a_TotalWait: Do not change. Current total wait time.
  • a_VATime: Do not change. The value added time at the start of the hold.
  • s_LoopDelay: User input required. Number of seconds to wait before testing loop repeats (this number can be less than 1 but must be greater than 0 to prevent an endless loop).
  • s_MaxWait: User input required. Maximum allowed waiting time (could be a distribution).
  • s_Resource#: User input required. Name of 1st, 2nd and 3rd resource to be used.
  • s_Name_of_Activity_After_Hold: User input required. The activity name in your model after the Hold where the work gets accomplished.

How Do I Modify the Model Object to Add More Resource Types?

Section titled “How Do I Modify the Model Object to Add More Resource Types?”

If additional resource types are needed for resources that arrive at different times for the same shift, simply add the resource names to the to the action logic of the Hold1. Example If a Worker4 was added then the logic Hold action logic, line 9, would be changed to the following:

Else If (FreeUnits(s_Resource1) > 0 Or FreeUnits(s_Resource2) > 0 Or FreeUnits(s_Resource3) > 0 Or FreeUnits(Worker4) > 0) And FreeCap(s_Name_of_Activity_After_Hold) > 0 Then {a_Renege1 = 0}

Renege After Waiting Too Long

Set an attribute equal to the current simulation clock time using the Clock() function in the Hold1 storage action logic. This sets the start time of the wait timer.

Using a While … Do loop in Hold1’s action logic, check the wait time by subtracting the starting time from the current time. If the current wait time is greater than the maximum allowed wait time, set an attribute to follow the renege route and exit the loop.

Also, inside the loop, check for the availability of the needed resources and capacity in the Process Items activity. If a resource is available and there is capacity, send the entity to the activity to be processed. Otherwise, continue looping until either the requirements are met, or the maximum wait time is met or exceeded.