Re: Crossover in Scheduling GA
- From: "Jim" <james.e.moore@xxxxxxxxxxx>
- Date: Sun, 16 Oct 2005 23:48:22 -0400
Goal: Keep it simple.
However, if the goal is to have crossover produce legal offspring then a
little work encoding and decoding the chromosome will avoid illegal
children. Also just let the GA pick the crossover points on the bit boundary
not the activity boundary.
Here is a quick sketch:
Chromosome:
Have a chromosome of x slots, for example 24*4 or 96 slots, 15 minute time
frames.
Encoding/Decoding:
For each activity maintain an array[96] indicating permissible activity in
that time slot. This can be static or dynamic. You indicated a daily limit
so a dynamic array would be required. As the chromosme is decoded update the
array.
The 96 chromosome slots are random numbers.
These numbers, modula the number of activities, map to the activity array.
If the activity is not permitted then proceed to "another" slot until a
permitted entry is found. The method to proceed could use a hash to avoid
just picking the next slot, which might bias the slot assignment. Of course
this bias might help convergence.
This approach will produce legal children and use up the available
resources.
If there are changeover costs then the fitness function would favor AAAABBB
versus ABBABAA. Then bunched occurrences should emerge.
I'd try this to see how it converged.
If need be, you could add an additional chromosome for the time chuck size
of the activity and augment the encode/decode to use this but I'd first try
the "simple" approach first.
Regards,
Jim Moore
.
- Prev by Date: Re: K-means and Genetic Algorithm
- Next by Date: Re: visual matrix of infinite information quantitative
- Previous by thread: Re: Crossover in Scheduling GA
- Next by thread: Re: Crossover in Scheduling GA
- Index(es):
Relevant Pages
|
|