I have a problem creating 3-shift scheduling for my application that run on top of .Net C#.
To define the problem we need to determine the shift and the number of employee/s(eN).
Now the client has only 3 default shift which are:
- Morning - 8:00am to 4:00pm
- Swing - 4:00pm to 12:00am
- Graveyard - 12:00am to 8:00am
And their total of employee is LEAST 7 employees
Now how can i accommodate all employees in a week or 7 days with a balance shift personnel each day regardless of employee numbers and each should shuffle when every time one employee has a day-off. And I would like that every employee should have a day-off per week.
To clarify the problem here is my illustration:
In this case we will have a 7 Employees in each day for the whole week. Employee should shuffle whenever one employee is day-off to balance healthy shifting process.
DAY 1 - 7
---------------------------
Morning | 2 Employees
Swing | 2 Employees
Graveyard | 2 Employees
Day-Off | 1 Employee
Another example:
Now we will have 8 Employees. To balance the shift personnel i would like to do this pattern:
DAY 1
---------------------------
Morning | 3 Employees
Swing | 2 Employees
Graveyard | 2 Employees
Day-Off | 1 Employee
DAY 2
---------------------------
Morning | 2 Employees
Swing | 2 Employees
Graveyard | 3 Employees
Day-Off | 1 Employee
DAY 3
---------------------------
Morning | 2 Employees
Swing | 3 Employees
Graveyard | 2 Employees
Day-Off | 1 Employee
DAY 4
---------------------------
Morning | 2 Employees
Swing | 2 Employees
Graveyard | 2 Employees
Day-Off | 2 Employee
DAY 5
---------------------------
Morning | 2 Employees
Swing | 3 Employees
Graveyard | 2 Employees
Day-Off | 1 Employee
DAY 6
---------------------------
Morning | 3 Employees
Swing | 2 Employees
Graveyard | 2 Employees
Day-Off | 1 Employee
DAY 7
---------------------------
Morning | 2 Employees
Swing | 2 Employees
Graveyard | 3 Employees
Day-Off | 1 Employee
But the system must not only limited to 7 or 8 employee it should be dynamic in accommodating regardless of the number of employeee.
Here is a logical sequence of shifts:
Morning | Swing | Graveyard | Day-Off
Morning ✔ ✔
Swing ✔ ✔ ✔
Graveyard ✔ ✔ ✔ ✔
Day-Off ✔ ✔ ✔
NOTE: I don't ask for code for to create such a pattern, I would like you to help me comes up with a solution or dynamic helpful pattern that will help me solve this one.
I googled and search every scheduling site but it doesn't provide necessary idea or answer.'
Your HELP is highly appreciated.
