【机组组合】基于遗传算法实现机组组合问题的建模和求解附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法       神经网络预测       雷达通信       无线传感器        电力系统

信号处理              图像处理               路径规划       元胞自动机        无人机 

⛄ 内容介绍

本文针对当前科技水平不足以有效存储电力的情况下产生的发电机机组组合的问题,考虑负荷平衡、输电线传输容量限制等实际情况产生的约束条件,建立机组组合优化模型,追求发电成本最小。同时采用矩阵实数编码遗传算法(MRCGA)和穷举搜索算法,利用MATLAB 7.0.1和C++编程,分别对模型进行求解,并对所得结果进行分析比较,以此来帮助电力部门制定机组启停计划

首先,建立发电成本最小目标函数各项约束条件的数学表达式。其中机组空载成本和增量成本之和随该机组发电出力增长呈折线关系,在分析计算时为了简便,本文采用一条平滑的二次曲线来近似代替。

对于问题1,选取相应的约束条件对目标函数进行约束,从而给出优化模型Ⅰ。由于问题1的求解规模很小,所以采用穷举搜索算法,利用C++编程求解,得到了3母线系统4小时的最优机组组合计划(见表一)。

对于问题2,在优化模型Ⅰ的基础上,增加最小稳定运行出力约束、机组启动和停运时的出力约束以及机组最小运行时间和最小停运时间约束这三个约束条件,建立了优化模型II。同时采用遗传算法和穷举搜索算法,利用MATLAB和C++编程,分别对模型进行求解,部分结果如下:

发电总成本(单位:元)

矩阵实数编码遗传算法

6780

穷举搜索算法

6820

在对所得结果进行了分析比较,重新制定了3母线系统4小时最优机组组合计划(见表三)。

对于问题3,用IEEE118系统对优化模型II进行测试。由于求解规模巨大,同样采用遗传算法和穷举搜索算法,利用MATLAB和C++编程,分别对模型进行求解,部分结果如下:

发电总成本(单位:百万)

矩阵实数编码遗传算法

2.034

穷举搜索算法

2.135

在对所得结果进行比较时发现对于大规模问题,遗传算法优势明显,将其求解结果作为24小时的最优机组组合计划(见附录)。

最后,我们就模型存在的不足之处提出了改进方案,并对优缺点进行了分析。

⛄ 部分代码

function [c1,c2] = crossover(p1,p2,Pc)

% use double point cross over here参考word第16页

% p1 = parent1, p2 = parent2, c1 = child1, c2 = child2, clear

numGenes = size(p1.genes,2);

%numGenes = 3;

ub = numGenes - 1;

lb = 1;

% find two different crossover points in the genes

crossP = round((ub-lb)*rand() + lb);

segment1 = p1.genes(:,1:crossP);

segment2 = p2.genes(:,(crossP+1):numGenes);

c1.genes = [segment1,segment2];

segment3 = p2.genes(:,1:crossP);

segment4 = p1.genes(:,(crossP+1):numGenes);

c2.genes = [segment3,segment4];

cross = rand(2,1);

if cross(1) <= Pc

    c1 = c1;

else

    c1 = p1;

end

if cross(2) <= Pc

    c2 = c2;

else

    c2 = p2;

end

end

⛄ 运行结果

⛄ 参考文献

⛳️ 代码获取关注我

❤️部分理论引用网络文献,若有侵权联系博主删除

❤️ 关注我领取海量matlab电子书和数学建模资料

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

matlab科研助手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值