Algorithm consultation laravel

Job ID: 34065793

Budget: $30 – $250 USD

For a current plannings project, i would like to have an alternative advise.
It is about a group of persons, who needs to be planned for shifts.

So let's say the plannings period is :
1 feb - 31 dec
monday 8-11am 5 persons
monday 2-6pm 4 persons
Tue 8-11am 5 persons
Tue 2-6pm 4 persons
Wed 8am-5pm 10 persons
Thursday 8-11am 5 persons
Thursday 2-6pm 4 persons

Each person can first set:
1. availability per week (each slot yes/no)
2. possible vacation leave in the period
3. be part of a team of 2/3/4 persons
4. some persons are doctors

The criteria for the planning should be:
1. Even spread, so most of the persons all should be planned on an average as close as possible
2. A person that is always available should not be planned every week on the same day
3. Each shift should have 1 doctor
4. of course each person should not be planned if they are unavailable
Related categories: Matlab and Mathematica Algorithm