- Load Measured projections
- Set the position of flies, i.e. create initial guess
- Compute projections from the current reconstruction
- Compute the population's perfomance, i.e. the global fitness
- Select a random fly (fly_to_kill)
- Remove the fly's contribution
- Compute the population's performance without the selected fly
- Compare the performances, i.e. compute the fly's local fitness
- If the local fitness is equal to or greater than the selection threshold,
then go to Step 10,
else go to Step 11
- Restore the fly's contribution, then go to Step 5
- Select a genetic operator
- If the genetic operator is mutation,
then go to Step 13,
else go to Step 19
- Select a random fly (fly_to_reproduce)
- Remove the fly's contribution
- Compute the population's performance without the selected fly
- Compare the performances, i.e. compute the fly's local fitness
- Restore the fly's contribution'
- If the local fitness is smaller than the selection threshold,
then go to Step 13,
else go to Step 20
- Replace fly_to_kill by a new fly with a random position, go to Step 22
- Replace fly_to_kill by a new fly based on fly_to_reproduce
- Add the fly's contribution to the population
- If stop the reconstruction,
then go to Step 23,
else go to Step 4
- Build problem answer from final population