【生产调度】基于遗传算法求解柔性生产调度(FJSP)问题含Matlab源码

1 简介

制造业同人们的生活密切联系,其发展走向可直接影响国家的综合实力。制造业企业不仅需要将制造技术走在科技前端,而且需要加强生产和经营管理技术,这样才能时刻保持其核心竞争力。而企业的调度是企业管理的核心和难点。生产调度的制定,作为制造业生产运作管理的最重要的任务,其结果强烈影响着企业的利润取得、资源的利用效率及产品能否准时交货等。在实际生产环境中,柔性作业车间调度问题(FJSP)允许所有工序可以在整个机器集中任意选择一台加工机器,这样的生产调度系统可以按照资源负荷情况灵活地分配资源,提高加工的灵活性,更接近实际生产环境,却因此加大了可行解的搜索范围,增加了问题复杂性。由于柔性作业车间调度研究的历史尚短,其发展还不够完善,在模型和求解策略上还存在一些亟待解决的难题。遗传算法作为一种群体智能算法,操作简便,在求解FJSP时具有较好的寻优能力和鲁棒性,但是仍然存在着收敛速度慢、极易早熟以及种群多样性不足的缺陷。

2 部分代码

clearglobal mac_num;global job;global mac;gnmax=50;%最大代数  pc=0.8; %交叉概率  pm=0.2; %变异概率[job,mac_num]=read_data('data.xlsx');mac=creat_machine(mac_num);pop_size=10;pop=inipop(pop_size);best_time=[];mean_time=[];best_pop=[];generation=1;while generation<=gnmax    father_pool=choose_father(pop,pop_size);    child_cross=cross_pox(father_pool,pc);    child_mut=mutation_exchange(child_cross,pm);    [~,best_time(end+1),best_pop_n,f]=choose_prob(child_mut);    mean_time(end+1)=mean(f);    best_pop(end+1,:)=child_mut(best_pop_n,:);    generation=generation+1;end[minst_time,minst_n]=min(best_time);draw_gantt(best_pop(minst_n,:));figure(2);  plot(best_time,'r'); hold on;  plot(mean_time,'b');grid;  title('搜索过程');  legend('最优解','平均解');  fprintf('遗传算法得到的最短时间:%.2f\n',minst_time);  

3 仿真结果

4 参考文献

[1]王琴. 基于遗传算法求解柔性作业车间调度问题[D]. 北京化工大学, 2018.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

matlab科研助手

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

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

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

打赏作者

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

抵扣说明:

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

余额充值