基于遗传算法的机组组合问题的建模与求解 下载本文

内容发布更新时间 : 2024/5/4 14:21:52星期一 下面是文章的全部内容请认真阅读。

3) 输电线路传输容量约束

线路传输的电能必须在它的传输容量范围内。

Nplinek??xl?0klpinj,busl?pk?max (6)

其中:plinek为线路linek上流过的电能;

xkl为第k根输电线路第l条母线的线性传输因子;

pinj,busl为母线l上的注入功率;

pk?max为第根输电线路的最大传输容量;

4) 发电机组出力范围约束与稳定出力范围约束

处于运行状态的发电机组的发电出力必须小于其最大发电出力,同时必须大于其最小稳定运行出力。

pimin?pit?pimax

(7)

其中:pimin发电机组最小稳定运行出力;

5) 机组增降出力约束

发电机组在增加发电出力时,增加出力的速度要小于其最大增出力;发电机组在减少发电出力时,减少出力的速度要小于其最大减出力。

?rdi?1?pit?pi?t?1??rri?1

?? (8)

其中:rdi为机组i最大减出力;

rri为机组i最大增出力;

6) 机组启动和停运时的出力约束

当机组从停运状态变为运行状态时,机组在该小时的发电出力必须为其最小稳定运行出力,且当机组从运行状态变为停运状态时,机组在该小时的发电出力必须为其最小稳定运行出力。

pit?pimin如果ui?t?1?=0且uit=1;或uit=1且ui?t?1?=0 (9)

7) 机组最小运行时间和最小停运时间约束

机组每次启动后,连续运行时间至少为该台机组的最小运行时间。机组每次停运后,连续停运时间至少为该台机组的最小停运时间。

ui?t?1?ui?t?1??uit???t?1t?1uij?Ti1

(10)

j?t?Ti1uituit?ui?t?1????

1?uij?Ti2 (11)

j?t?Ti25

其中:Ti1为机组i最小运行时间;

Ti2为机组i最小停运时间;

4.2模型及其求解

问题1 1) 优化模型Ⅰ

问题1中的3母线系统仅考虑负荷平衡约束 系统备用约束、输电线路传输容量约束、发电机组出力范围约束与稳定出力范围约束和机组增降出力约束,所建优化方程模型如下。

minF?s.tu????t?1i?1Tnitfit?pit??uit1?ui?t?1?Si?

??? (12)

m?n??uitpit??Ljtj?1?i?1?n??uit?pimax?pit??R?i?1N?s.t.?p??xklpinj,busl?pk?max (13) linek?l?0?p?pimax?it??r?1?p?p?rri?1iti?t?1??di?u为0或者1?it??其中:fit为机组i在t时段的发电成本;fit?pit??ai?pit??bipit?ci

Si为机组i的启动成本;

22)优化模型Ⅰ的求解算法

机组组合问题在数学规划上属于NP完全问题,任何NP完全问题只有通过列举所有可能的组合,才能得到最优解,即采用穷举搜索法。由于问题1的求解规模不大,所

234)用以以该问题将采用穷举搜索法对模型进行求解。我们设置一计数器T(T?1、、、记录机组已运行的时间。

Step1. Step2.

读取各机组和负荷的原始数据。另T?1。

设置机组1的第T小时的出力大小(从小到大依次搜索,跨度为1),使其出力大小的变化满足增出力约束和降出力约束。

Step3. 判断机组1是否满足其出力范围约束。若满足则继续下一步,否则,重复

6

步骤2。

Step4. Step5.

根据系统负荷平衡约束,求出机组2的出力大小。

判断机组2出力大小的变化和出力范围是否满足增出力约束、降出力约束和出力范围约束。若满足则继续下一步,否则重复步骤2、3、4。

Step6. 判断机组1和机组2是否满足系统备用约束,若满足则继续下一步,否则重复步骤2、3、4、5。

Step7. 判断机组1和机组2是否满足输电线路传输容量约束,若满足继续下一步,否则重复步骤2、3、4、5、6。

Step8. 判断计数器T是否为4,若是则输出该种情况下两台机组各时段出力大 小,

否则重复步骤2、3、4、5、6、7,另T?T?1。直到所有的情况搜索完毕为止。

执行完该算法,可以得到一最优机组组合计划。

3)模型求解与分析

我们根据上面的算法步骤,我们编C++程序(附录1),并代入各机组和负荷的初始数据。可以得到一总成本为6580¥的最优机组组合计划,如表一所示:

表一 3母线系统的最优机组组合计划

1 状态 出力(MW) 备用(MW) 状态 出力(MW) 备用(MW) 状态 出力(MW) 备用(MW) 状态 2 小时 3 4 出力(MW) 备用(MW) 机组G1 运行 100 100 运行 130 70 运行 130 70 运行 140 60 6580 机组G2 关机 0 0 关机 0 0 运行 40 60 关机 0 0 总成本(¥)

使用穷举搜索法对该问题虽然能得出结果,但其运行效率太低,不能用于求解大规模问题,且编程实现较复杂,不是一种优良的算法。

问题2和问题3 1) 优化模型Ⅱ

7

问题2和问题3的优化模型为

minF?s.tu????t?1i?1Tnitfit?pit??uit1?ui?t?1?Si? (14)

???

m?n??uitpit??Ljtj?1?i?1?n??uit?pimax?pit??R?i?1N??plinek??xklpinj,busl?pk?maxl?0??pit?pimax?s.t.? (15)

?rdi?1?pit?pi?t?1??rri?1??u为0或者1it??pit?pimin如果ui?t?1?=0且uit=1;或uit=1且ui?t?1?=0?t?1?uu?uit?uij?Ti1?i?t?1?i?t?1?j?t?Ti1?t?1??uituit?ui?t?1??1?uij?Ti2j?t?Ti2???????2)求解算法

对于问题2和3,我们同时采用穷举搜索法和遗传算法两种算法进行求解,并将求得结果进行比较,以比较两种算法的优劣。穷举搜索法的算法思想与问题1的求解算法思想一致。遗传算法的流程图如图二所示。

8

算法开始 编码 确定适应值函数 产生初始种群 计算适应值函数 适应值定标 满足终止条件? 是 否 选择 交叉 变异 确定最优解 解码 输出最优解 算法结束 图二 遗传算法流程图

矩阵实数编码遗传算法的描述:

Step1.

针对机组组合问题的矩阵实数编码

9