Adding a bit of memory (Tabu Search?)
- Generate and evaluate a random bit string
- Do until stopping criteria satisfied:
- Randomly select a bit position, k
- Randomly generate p from 0..1
- If p < probability of flipping bit k:
- Flip the k’th bit
- Evaluate the new string
- If fitness is worse, unflip the bit
- Else, decrease the probability for this bit
- If count exceeds a threshhold, rerandomize the string
- Avoids undoing changes to the bit string
- Avoids making large changes to the bit string
- Worked better than the modified bit climber for this particular problem