基于遗传算法的机组组合问题的建模与求解 第4页
其中:
为负荷 在 时段的负荷量
个体调整方法
在进行个体调整时按列向量的先后顺序进行。以个体 中 为例,具体调整措施如下:
(1)根据机组组合问题对精度的要求,对 列中的各个元素保留
(2)调整 列中的元素取值,使其满足相应发电机组出力范围约束。其方法如下:
(21)
其中: 为调整前发电机组 在 时段的发电出力
为调整后发电机组 在 时段的发电出力
为介于0、1之间的常数,本文取
发电机组 最小稳定运行出力;
发电机组 最大出力;
(3)调整 列中的元素取值,使其满足相应发电机组的增出力和降出力约束约束。具体如下:
(22)
其中: 为前一步调整完成的发电机组 在 时段的发电出力
为此步调整后的发电机组 在 时段的发电出力
为机组 最大减出力
为机组 最大增出力
(4)调整发电机组启停状态使其满足系统备用约束。具体调整方法如下:
当 时,增开发电机组,令新投入运行的发电机组发电出力为其最小出力,直至满足系统备用约束为止。其中, 为 时段系统备用要求
(5)经过上述三步调整后, 列中所有元素的总和可能不等于 时段中的系统总负荷。因此要进行负荷分配的调整。具体的调整办法为:当 时,通过增加运行发电机组出力来满足负荷平衡约束;反之,若 ,则降低运行发电机组的出力。此步调整中,只能在发电机组的最大出力允许范围内进行调整,不能改变机组的运行状态。
(6)算法趋于收敛时,若发电机组的出力过程不满足最小运行、停运时间约束条件,则通过调整违反约束发电机组的运行状态满足此项约束条件,即: 时,延长发电机组 的运行时间; 时,采用将发电机组 违反约束的全部停运状态转变为运行状态的方式来满足约束条件,并令相应的出力为机组 的最小出力。
其中: 为机组 最小运行时间;
为机组 最小停运时间;
适度函数的选取
采用个体调整方法后,在求解的过程中只有发电机组的最小运行、停运时间约束条件可能得不到满足。为了加快算法收敛,本文的适度函数采用如下形式:
(23)
其中: 为发电机组 违反最小运行或停运时间约束条件时的惩罚量,本文取 为机组 的启动成本; 为惩罚因子,本文取 ; 为违反此项约束的次数; 为正常数,本文取 。其含义为:发电机组 违反1次最小运行时间或停运时间约束,便以机组 的 倍的启动成本 进行惩罚。
选择-复制
(1)群体中各个体的选择概率
选择概率的计算公式为:
(24)
其中: 为第 个体的选择概率
为第 个个体,即本文中机组 各个时段的发电出力
(2)赌轮选择法
赌轮选择法用下面的子过程来模拟:
① 在 区间内产生一个均匀分布的随机数 ;
② 若 ,则染色体 被选中;
③ 若 , 则染色体 被选中。
其中 称为染色体 的积累概率, 其计算公式为
(25)
交叉
通过 在父代中选择交配个体后,将准备进行交叉操作的父代个体表示为
(26)
交叉操作产生的个体记为 、 ,保留到子代中的个体记为 、 。本文的交叉操作是在2个父代个体奇数列与偶数列之间进行的。具体操作过程为:
(1)生成随机数 ;生成随机交叉位 。
(2)交叉操作生成个体 、 ,其表达式为
(27)
(3)对交叉生成的个体依照 个体调整方法进行个体调整,然后计算出 、 的适度值。
(4)采用局部锦标赛选择法在父代个体和交叉产生的个体间进行子代选择,具体方法如下:
(28)
变异
通过 个体交叉后,将准备进行变异的父代个体表示为
(29)
变异后产生的个体记为 、 ,保留到子代中的个体记为 、 。
本文只对某列进行变异处理。具体操作过程为:
(1) 生成随机变异因子 ;
生成随机变异时段 ;
生成随机变异个体选择因子
(2)变异后生成个体 、 ,其表达式为
(30)
(3)对变异后生成的个体依照 个体调整方法进行个体调整,然后计算出 、 的适度值。
(4)采用局部锦标赛选择法在父代个体和变异产生的个体间进行子代选择,具体方法如下:
(31)
终止条件
遗传算法的终止条件有两类常见条件:
第一类:采用设定最大遗传代数的方法,一般可设为50代,此时就可能得出最优解。
第二类:根据个体的差异来判断,通过计算种群中基因多样性测度,即所有基因位
上一页 [1] [2] [3] [4] [5] [6] [7] [8] 下一页