Employee rotation in KNIME

Hi! I would like to organize an employee rotation using KNIME. The data would be as follows:

Employee Day 1 Day 2 Day 3
Employee 1 Task 1 Task 3 Task 2
Employee 2 Task 2 Task 1 Task 3
Employee 3 Task 3 Task 2 Task 1

Can you please suggest how I might set up such a workflow?

Thanks!

Hi @marieclaire , the example dataset you provided is fine & easy to work on, but is there a possibility that you may have oversimplified it? Whatever solution people will provide for you will depend on the actual pattern of the data. Please provide more info as to:

  1. Whether the number of employees really is equal to the number of tasks: Let’s say if you have 30 employees but only 5 tasks altogether, how do you decide on the rule for the task sharing? Or, on the contrary, if you have only 5 employees and 17 tasks, how do you distribute those tasks fairly?

  2. Assuming that this is a weekly rotation, and the working days are 5, would it be okay if, say, Day 4 produces a similar profile to Day 1, as long as it’s not similar to the previous day?

2 Likes

thanks @badger101 ! I appreciate the quick reply!

To your questions:

  1. It’s true that I simplified the problem, just so I can get started on planning the rotation. There are more tasks than there are employees, so perhaps I need to adjust this. And in fact, each employee would have two tasks per day. Attached I have a spreadsheet that shows a little bit more complexity.
  2. Yes, it’s perfectly ok to repeat the pattern after a while.

The rules would be: each employee needs to be assigned two tasks per day, and any combination of tasks are allowed. The tasks do not need to be assigned in any particular order either.

|
employee rotation data.xlsx (8.7 KB)

1 Like

Much clearer @marieclaire , I’ll work on it and will share a workable solution here.

1 Like

Update: There’s a slight issue here. If you want the tasks to be fixed at 2 per person, is the max total number of tasks a fixed number, or is it dependent on the number of employees?

1 Like

Thanks @badger101 ! The max total number of tasks isn’t fixed at all, you can make it arbitrary if that helps.

Edit:

I deleted my last response which contains the previous solution. That one had the issue of giving overload of tasks for certain days:

This revised workflow is more efficient and fairly weighted:

Input:

pC

Output:

PA

2 Likes

Thank you so much @badger101 !!! This is perfect!

1 Like

Glad to contribute! If you fancy a component:

4 Likes

I have updated the component to explain an alternative way of using it:

Instead of assigning tasks to employees, one might want to assign employees certain tasks instead. This is helpful when the ratio of tasks per employee is very high and will likely clutter the table if you choose the former over the latter. To compare the two options, all you need to do is to switch the ports where you connect your data table to.

1 Like

fantastic, thanks so much @badger101 !

1 Like

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.