Figure 6.6. The task assignment problem. Each assistant (1-6) should be assigned to one collection of books (A-F) based on the rates at which books are shelved per minute (fitness cases). Shaded squares show the best assignment with the largest sum of shelving rates, 44.
For this simple six-by-six problem there are already 6! = 720 possible assignments of assistants to book collections. The best solution has the highest sum of rates for the chosen assistants. For the particular set of fitness cases shown in
Figure 6.6, fmax = 44.
This kind of toy problem is very useful for comparing the performance of different algorithms and, here, the potentialities of inversion will be further tested in systems in which chromosomes composed of more than one multigene family are used. Indeed, the task assignment problem is solved very efficiently using only inversion as the source of genetic variation and two multigene families: one to encode the assistants (represented by 1-6) and another to encode the book collections (represented by A-F). Such a chromosome is shown below:
012345012345
652314DECFAB
It contains two different MGFs, the first encoding the assistants and the second the book collections. And its expression gives:
where the assignments are represented by the arrows. As you can see in
Figure 6.6, this individual has fi = 41.
For this problem, we are going to use small populations of 30 individuals and evolutionary times of 50 generations. The parameters used per run and the performance of the algorithm expressed in terms of success rate are shown in
Table 6.2.
Table 6.2
Parameters for the task assignment problem.
In the first successful run of this experiment, a solution with maximum fitness was discovered on generation 16:
012345012345
536241EDCFBA
which corresponds to the best assignment of 44 (see also Figure 6.6 above):