Repair operator for evolutionary algorithms

1 view (last 30 days)
I am working on a resource allocation problem using an SPEA 2 evolutionary algorithm. The problem involves decision variables where each variable has a different domain e.g. where is the allocation to a user and is individual demand. The problem involves a linear constraint such that . The probability of the creation of feasible off-springs after crossover and mutation operators is extremely low. So, we need a repair operator for this purpose. I need guidance for the selection of suitable repair operators and how should I apply that, I mean should we repair all solutions or some percentage.
So far I designed an operator where the of an off-spring generated is repaired as follow:
1) apply bound:
2) Determine constraint violation i.e. leftover resource or over-consumed resource :
3) Find unmet demand
4) Divide remaining resource proportionally among user, so update
This operator creates a feasible solution but I am not sure if my approach is reasonable and what percentage of solution I need to repair.
I would appreciate the guidance, comments, or any literature reference.

Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!