【布局优化】基于遗传算法求解矩形零件排列问题附matlab代码

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

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

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

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

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

⛄ 内容介绍

本文对遗传算法做了系统介绍,包括遗传算法的特点、基本实现技术等。对求解矩形件优化排样问题的遗传算法的设计及具体实现进行了详细讨论。 本文所做的主要工作如下:分析了排样问题的研究现状,对中外学者在矩形件优化排样方面提出的多种算法进行了认真的比较,在矩形件排放算法-“基于最低水平线的搜索算法”基础上,提出了一种改进算法:“基于最低水平线的空闲区域可再利用搜索算法”,它克服了其它排放算法对某些排样图不能给出的缺点,满足“最左最下”条件。改进算法和原算法相比,改进之处表现在:能够对最低水平线发生提升时产生的废弃空闲区域进行回收利用,通过对矩形件排放过程中动态产生的空闲区域的位置关系进行判断,改进算法能够对相邻的空闲区域进行有效合并,通过对空闲区域进行适当的填充从而实现对空闲区域的再利用,因此能够在一定程度上提高卷材的利用率。通过比较要排放矩形件的长宽与空闲区域的尺寸大小,最终确定矩形件的较优排放次序及矩形件在卷材上的确切排放位置。本文把“基于最低水平线的空闲区域可再利用搜索算法”和遗传算法结合起来,共同求解矩形件优化排样问题:先通过遗传算法确定矩形件较优的排放顺序和排放方式,然后按照“基于最低水平线的空闲区域可再利用搜索算法”生成排样图,通过比较不同的矩形件排放序列对应的卷材利用率,最终得到较优的排样方案。根据提出的改进算法,开发出了计算机辅助优化排样系统,测试数据表明了改进算法的有效性。这对于企业节约原材料、降低产品成本、提高经济效益,具有积极的意义。

⛄ 部分代码

clc

clear

close all

global size_juxing point_num s_yuan

popsize=20; %群体大小

pc =0.9; %交叉概率

pm =0.1; %变异概率

maxgen=10;%迭代次数

s_yuan=[2500 2500];

size_juxing=[655.5 645.5;1671.5 70.5;1671.5 70.5;494.5 70.5;1516.5 58.5;403.5 58.5;1807.5 612;1700.5 550.5;];

point_num=size(size_juxing,1);

pop1=zeros(popsize,point_num);

pop2=zeros(popsize,point_num);

for i=1:popsize

    pop1(i,:)=randperm(point_num);

    pop2(i,:)=randi(2,1,point_num)-1;

    pop2(i,:)=chuli(pop2(i,:),pop1(i,:));

end

gen=1;

ymax=zeros(gen,1);

sc1new=zeros(popsize,point_num);

sc2new=zeros(popsize,point_num);

sm1new=zeros(popsize,point_num);

sm2new=zeros(popsize,point_num);

Best=0;

for i=1:popsize

    obj_v(i)=obj_fun(pop1(i,:),pop2(i,:));

end

⛄ 运行结果

⛄ 参考文献

[1] 贾志欣, 殷国富, 罗阳. 二维不规则零件排样问题的遗传算法求解[J]. 计算机辅助设计与图形学学报, 2002, 14(5):4.

[2] 韩喜君, 丁根宏. 矩形件优化排样问题的混合遗传算法求解[J]. 计算机技术与发展, 2006, 016(006):219-221.

[3] 周琛琛. 基于Matlab遗传算法工具箱的函数优化问题求解[J]. 现代计算机:上下旬, 2006.

[4] 丁穗庭, 王智伟, 王思扬. 基于可重构思路的智慧车间优化布局算法[J]. 现代制造技术与装备, 2018(3):4.

[5] 鄂晓征, 祖巧红, 曹萌萌. 基于遗传算法的汽车零件自动化仓储货位优化[J].  2013.

⛳️ 代码获取关注我

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

❤️ 关注我领取海量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、付费专栏及课程。

余额充值