As for this assignment, at the beginning right after I got a small panic attack trying to understand what are genetic algorithms I was totally going for the ‘not to be’ part and then everything started to sound a little bit more sense. The first thing that came to my mind was Biology class in high school, when we learn that according to hereditary law, any creature born as a result of a pairing of two parents inherits half of each parent's genetic baggage and this creates a difference in his traits in the face of the qualities of both his parents.
Genetic algorithms was proposed by John Holland in early 1970s. Initially it was created to solve optimization problems. The motivation for using the genetic algorithms stems from the assumption that evolution produces the creatures that are most appropriate for their environment, i.e. optimal creatures. The steps for GA:
Initialize the population of chromosomes
Calculate the fitness for each individual in the population using the fitness function
Reproduce individuals to form a new population according to each individual’s fitness
Perform crossover and mutation on the population
I am not sure if it is because I am taking a business course in Stern about database management or is it because GA makes sense in terms of time and order but I brought up a problem that we have in the knitting lab in the college where I work, about the process of garments and machines timeline.
In the lab we have three flat knitting machines (5,7,12 gage) and one circular (tubular production), each of the machines work on the same time and produce different types of fabric, while the M1 Plus software estimated the knitting time. Usually, it takes much longer and this is probably why it is hard to manage a consistent time schedule in the lab and make all the students satisfied.
As previously explained, the knitting line is divided into two main types of process: open width (flat machine) and circular (tubular). Since every type of fabric has different techniques and different materials it is much more difficult to be scheduled since each product needs different production time and tools (each student has his own file and fabric type that he needs us to develop). The environment is to create a schedule for the student tasks on the machines in minimum time.
There is a pattern for each fabric produced in the machines but the pattern is different for each design. So I imagine that each parameter will need to be declared individually, for example t = time, s = how many students which means fabrics and m = which machine is being used. Two arrays, one for the fabric production and one array for the belonging student.
The populations (chromosomes) contain the pattern of the fabric at every production of the machine. The fitness value is to help decide which fabric is more important (i.e presentation of specific students) and which to be eliminated to reach the best and efficient time schedule. The objective function is to calculate as much minimum time possible for a knitted fabric to end (according to machine ending time of the last fabric and total waiting times at machines and other students who are waiting in line).
So, the scenario is to have an application that will produce fabrics whose chromosomes are taken based on the fitness function, low fitness value will be eliminated. Schedule based on a genetic algorithm is obviously much more productive than one being planned manually.
I still have to dig a little bit deeper on that, I hope I managed to explain my problem and how I would approach the solution based on GA in an understandable way. I have to say, this was a very complex subject for me but I am sure I will not have a panic attack any more while hearing about genetic algorithms.
Comments