MOEA/D-IEpsilon: Multi-objective evolutionary algorithm based on decomposition and improved epsilon constraint-handling mechanism
Reference: Fan Z, Li W, Cai X, et al. An improved epsilon constraint-handling method in MOEA/D for CMOPs with large infeasible regions[J]. Soft Computing, 2019, 23: 12491-12510.
MOEA/D-IEpsilon is a constrained multi-objective evolutionary algorithm (CMOEA). The epsilon level is adjust according to the ratio of feasible to total solutions in the current population.
Variables | Meaning |
---|---|
npop | Population size |
iter | Iteration number |
lb | Lower bound |
ub | Upper bound |
T | Neighborhood size (default = 30) |
delta | The probability of selecting individuals in the neighborhood (default = 0.9) |
nr | The maximal number of solutions replaced by a child (default = 2) |
tau | Control the scale factor multiplied by the maximum overall constraint violation (default = 0.1) |
alpha | Control the searching preference between the feasible and infeasible regions (default = 0.95) |
Tc | Control generation (default = 0.8 * iter) |
CR | Crossover rate (default = 1) |
F | Mutation scalar number (default = 0.5) |
pm | Mutation probability (default = 1) |
eta_m | Spread factor distribution index (default = 20) |
nvar | The dimension of decision space |
nobj | The dimension of objective space |
V | Weight vectors |
B | The T closet weight vectors |
pop | Population |
objs | Objectives |
phi | Constraint violations |
phi_max | The maximum overall constraint violation found so far |
rk | The ratio of feasible solutions to all solutions |
z | Ideal point |
NS | Feasible non-dominated solutions |
rp | Random permutation |
off | Offspring |
off_obj | Offspring objecrtive |
off_phi | Offspring constraint violation |
c | Update counter |
if __name__ == '__main__':
main(300, 1000, np.array([0] * 30), np.array([1] * 30))