Identify Hard and soft constraints of the issue. Discover various approaches to fitness calculation for the same issue. Create basic script structure. In the first week, we need to specify our goals and perform datamining of the whole situation.
What we want: We want a genetic algorithm to create schedule for our surgeons at our hospital.
Why we want it: Manually written schedules usually present only few possible variations or permutations of the problematique. Genetic algorithm should explore many if not most of the viable solutions. The advantage of this approach is the sheer computational power a general desktop PC has.
What is a genetic algorithm: A genetic algorithm is a way to find a good enough solution to “any” problem. The name genetic comes from the fact, that the program starts with many random solutions of current problem and improve upon them in each step. In each step the POPULATION of solutions is rated based on its fitness and the individual solutions are then passed into another generation based on their FITNESS. There can be actions simulating nature by breeding of the solutions among themselves or just using the SURVIVAL OF THE FITTEST. The most important part of the genetic algorithm is the FITNESS FUNCTION which is basically the “THING” that enables the algorithm to work. Without proper fitness asessment, there can be no good results.
Coding language: with basic knowledge in Python i will use Python as the programming language of choice.
Day 1 : we specified the problem. Specified some constraints and basic idea. We created this webpage to hold our progress. Goals reached.
Day 2: we approached one critical part of the Fitness function with a promising idea, that should differentiate strongly between well and badly placed weekend shifts. Goals reached.
Day 3: we did some brainstorming with a whiteboard. Gained nothing final, but refreshed some ideas to be used later. Goals reached.
Day 4: Not much of a work. Family time. Rare flower visit. Goals reached, at least those for life.
Day 5: Night shift so not much work done. Breakthrough in fitness function achieved. On technology level at the moment. Goals reached.