鉴于差分进化算法在解决复杂连续问题上的优良性能,针对0—1变量的特点,提出了一种用于求解0—1规划问题的二进制差分进化算法(BDEPM).与采用离散变换和逻辑运算的改进算法相比,BDEPM算法中的变量采用二进制编码方式,在进化过程中无需变异率,即可根据个体问的差异直接在离散域内进行变异,算法的思路清晰、结构简单、控制参数少、易于理解和实现.将BDEPM用于求解0—1背包问题,针对其约束提出了一种二次贪婪变换的修复策略,两个背包实例的仿真对比实验验证了BDEPM算法的优越性.
Owing to the superior performance on dealing with the complicated continuous problems, a binary differential evolution algorithm named BDEPM was proposed to solve 0-1 programming problem on account of characteristics of the 0-1 variables. Compared with discrete transform and logical operations, in the proposed method, the scaling factor was not required in the evolutionary process and binary mutation was directly carried out only on the basis of the differences between two individuals. The binary coded BDEPM algorithm was easy to understand, and it was implemented with a simple structure and less control parameters. A repair strategy based on quadratic greedy transform was put forward to handle the constraints when the BDEPM algorithm was applied to the solve 0-1 knapsack problems. Experimental results of two instances validated the superiority of the BDEPM algorithm.