Worker special off-shift behavior

General Simio discussions. THIS IS *NOT* A GOOD PLACE FOR SUPPORT QUESTIONS.
To limit spam this and all Public Forums have very limited ability to attach files. We recommend that support issues and more technical topics be initiated inside one of the Simio Insider (SI) forums below where you can attach your model and see example solutions. See above Welcome forum to join Simio Insiders.
Post Reply
SCarr
Posts: 33
Joined: Mon Sep 19, 2011 9:42 am

Worker special off-shift behavior

Post by SCarr » Fri Jul 06, 2012 12:46 pm

I would like the worker to attempt to go off-shift according to a specific schedule, but before it can truly go off-shift, I would like it to empty its entire visitrequestqueue.

Currently, I believe SIMIO built-in logic will require it to finish its current delivery, but not all outstanding deliveries.

CWatson
Simio Team Member
Posts: 230
Joined: Fri Feb 20, 2009 2:34 pm
Location: Baton Rouge, LA
Contact:

Re: Worker special off-shift behavior

Post by CWatson » Thu Jul 12, 2012 10:08 am

Yes, the current logic allows the worker to complete its task and then go off-shift. The built-in logic for the worker schedules can be seen within the 'OnCapacityChanged' process of a worker.

To accomplish what you'd like, you may wish to keep the capacity of the Worker fixed (instead of using the built in work schedules). Then, you could have logic in the model (i.e., in a separate logic process) that simply Assigns the capacity of the worker (at the appropriate times, when the worker's tasks are complete) and then Delays for the break time and Assigns the capacity back to 1.

With the current WorkSchedule of a worker/vehicle, the on/off shift times are specific and it may be a bit more complicated to change the 'OnCapacityChanged' logic to accomplish what you'd like.
Christine Watson
Simio LLC

SCarr
Posts: 33
Joined: Mon Sep 19, 2011 9:42 am

Re: Worker special off-shift behavior

Post by SCarr » Thu Jul 12, 2012 3:02 pm

CWatson wrote:With the current WorkSchedule of a worker/vehicle, the on/off shift times are specific and it may be a bit more complicated to change the 'OnCapacityChanged' logic to accomplish what you'd like.
So, I wanted to keep schedules to keep the model as user-friendly as possible, but what I did was put in an extra decide block into the OnCapacityChanged process that asked if the visitrequestqueue and ridestation is empty. If it is not, (I didn't really want to do this but thought of no other way yet) I delay the token for a couple minutes and recheck. As soon as the visitrequestqueue and ridestation is empty or a threshold total time is met, I let the token turn off the vehicle.

As far as computation time goes, the loop can only happen 4 or 5 times each process execution and if conditions aren't met, it won't happen at all.

SCarr
Posts: 33
Joined: Mon Sep 19, 2011 9:42 am

Re: Worker special off-shift behavior

Post by SCarr » Thu Jul 12, 2012 4:30 pm

I tried my previous idea but it appears after the condition has been met, it finds that the transporter is "OffShiftTransporting" and somehow never progresses to either "OffShift" or eventually back to "OnShift" so all workers essentially stop working.

CWatson
Simio Team Member
Posts: 230
Joined: Fri Feb 20, 2009 2:34 pm
Location: Baton Rouge, LA
Contact:

Re: Worker special off-shift behavior

Post by CWatson » Thu Jul 12, 2012 6:02 pm

The change of the capacity of the worker/vehicle happens automatically internally. Thus, within the 'OnCapacityChanged' process, when the capacity is 0 (off shift), you would have to assign a variable flag saying that you were changing the capacity manually, then manually change it back to the 1 (which would in turn immediately trigger another token to enter the process that you would need to dispose if the 'flag' is on). Then, within the logic after you change the capacity back to 1, you would need to loop around and see if you have all the outstanding entities for pickup. Then set the 'flag' back and reset the capacity back to 0 when the request queue is empty (or whatever conditions you decide).
Christine Watson
Simio LLC

freddyassuncao
Posts: 2
Joined: Thu Apr 18, 2013 5:23 pm

Re: Worker special off-shift behavior

Post by freddyassuncao » Mon Nov 18, 2013 7:54 am

Hi everyone,

I would like to define a Absenteeism factor on especific worker, but I can't find this issue on the software.

Is it possible to do or we can only use the work day/period Exceptions.

Thanks in advance

ASagan
Posts: 356
Joined: Wed Oct 05, 2011 11:21 am
Location: Brisbane, QLD

Re: Worker special off-shift behavior

Post by ASagan » Mon Nov 18, 2013 7:22 pm

That should be pretty easy to do by sub-classing the worker. Can you define how an absenteeism factor would work?

Just from guessing exactly what you mean, try sub-classing the worker and editing its 'onCapacityChanged' process. Check if the capacity has changed from 0 to 1, and randomly, based on your factor, change it back to 0 to keep it off shift.
Solosi Pty Ltd -- www.solosi.com

freddyassuncao
Posts: 2
Joined: Thu Apr 18, 2013 5:23 pm

Re: Worker special off-shift behavior

Post by freddyassuncao » Tue Nov 19, 2013 1:44 pm

Thanks for the ideia.

What we want to simulate is a pool of hand-labour of 26 workers divided on 3 shift. Our Scenario is the following:

- 12 Workers - Shift 1,
- 8 Workers - Shift 2,
- 6 Workers - Shift 3.

Our Absenteeism factor per month is around 12% of available hours.

msalemip
Posts: 24
Joined: Fri May 13, 2016 2:30 pm

Re: Worker special off-shift behavior

Post by msalemip » Fri Jun 17, 2016 12:48 pm

Hi

I will appreciate it if someone can help me finding "OnCapacityChanges" process of a worker. I am having trouble finding that process in Simio.

CWatson
Simio Team Member
Posts: 230
Joined: Fri Feb 20, 2009 2:34 pm
Location: Baton Rouge, LA
Contact:

Re: Worker special off-shift behavior

Post by CWatson » Fri Jun 17, 2016 4:21 pm

The process named 'OnCapacityChanged' for a worker (and similarly a vehicle), can be found within the worker (or vehicle) object processes window logic. When using the Standard Library objects, you may chose to use the 'On Shift' or 'Off Shift' add on processes for the object (within the Add-On Processes Triggers section of properties of the object). Those processes are executed WITHIN the 'OnCapacityChanged' of the object itself.

If, for some reason, you'd like to customize the logic, you will need to either 'Copy' the object from the Standard Library into your project or 'Subclass' the object into your project.

Copy can be done by clicking on the Project Name (top line) of the Navigation window (MySimioProject), and then selecting Copy From Library to Edit and the object name. This will place a copy of that object that you can edit / use in your model .

Subclass can be done in a similar manner, but by selecting Subclass from Library from the Edit ribbon. A 'MyWorker' or 'MyVehicle' will be placed into your project to edit.

To place one of your new objects into the model, use the Project Library at the bottom left (under our Standard Library) to select your new object to place in your model.
Christine Watson
Simio LLC

jlirizarry
Posts: 1
Joined: Thu Jun 08, 2017 4:24 pm

Re: Worker special off-shift behavior

Post by jlirizarry » Mon Jun 26, 2017 4:31 pm

I have a question I think might be related.

In my simulation, I have a doctor that sees patients but only in 8 hour shifts from 2pm to 10pm, while another does it in 12 hours shifts. My problem is that Ive noticed that if he's working with a patient, and the time comes when he should get off shift, the doctor just abandons his patient and leaves him in the server. I want to try and avoid this, but I dont know how. From this discussion I read that the logic should take care of that on its own and not go off shift until it finishes what its doing, but it isnt doing that, maybe its something I added on?

Doctor is single server, and has an AddOn Process for OnShift that allows the path to it to be traversed, and an OffShift one that closes it (this is because if left open, entities will just walk into his input node and just wait there for the doctor to be on shift, this is something that wouldnt happen in real life), The path out of the server isnt touched by this, it is always open for patients to flow out of the doctor's output.

Image

CWatson
Simio Team Member
Posts: 230
Joined: Fri Feb 20, 2009 2:34 pm
Location: Baton Rouge, LA
Contact:

Re: Worker special off-shift behavior

Post by CWatson » Thu Jun 29, 2017 2:26 pm

In the more recent versions of Simio (not sure what sprint version you are using), there is a property on the Server called OffShift Rule. This allows you to specify that the Server resource (Doctor in your case) will either 'Suspend Processing' OR 'Finish Work Already Started'. You may wish to update your software to take advantage of this feature on the Server.
Christine Watson
Simio LLC

Post Reply