✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
更多Matlab仿真内容点击👇
⛄ 内容介绍
车间生产调度是对车间生产过程进行作业计划,是生产制造业实现智能化、自动化、信息化的核心。有效的车间调度方法和优化技术的研究与应用,可提高企业的资源利用率和生产效益,因此,高效的车间调度算法是求解车间调度问题的核心和关键。 遗传算法是一类模拟生物的遗传和进化过程的智能搜索算法,以其简单、通用、适用范围广、全局优化能力强,在车间调度问题领域得到了广泛的应用。
⛄ 部分代码
% schkk=[3,1,1,0,55
% 2,2,1,0,89
% 4,1,1,55,121
% 1,2,1,89,150
% 2,3,2,89,117
% 3,4,2,55,158
% 4,5,2,121,152
% 1,3,2,150,227
% 1,6,3,227,309
% 3,7,3,158,216
% 4,7,3,216,277
% 2,7,3,277,306];
% drawGant(schkk);
%根据调度方案绘制甘特图
%schedule:1-jobId,2_machId,3-procId,4-starTime,5-endTime
function drawGant(schedule)
rows=size(schedule,1);%总共有几个工件工序需要调度
maxMachId=max(schedule(:,2));%机器数量的最大值 最大机器编号
jobQty=max(schedule(:,1));%
mycolor=rand(jobQty,3);%%%颜色可以用 1行3列的向量表示
figure;
ylim([0 maxMachId+1]);%y轴刻度 机器数加1 结束
for i=1:rows
x=schedule(i,4:5);
y=[schedule(i,2) schedule(i,2)];
line(x,y,'lineWidth',16,'color',mycolor(schedule(i,1),:));%设置线的粗细 lineWidth 颜色color 颜色可以用 1行3列的向量表示
procId=schedule(i,3);
jobId=schedule(i,1);
txt=['[',int2str(jobId),'-', int2str(procId),']'];
text(mean(x)-1,y(1)+0.25,txt); %图形上的 5-1 的位置 在x的中间 y的第一列
end
end
⛄ 运行结果
⛄ 参考文献
[1]常俊林, 薛云灿, 邵惠鹤. 求解混合流水车间调度问题的一种遗传算法[J]. 计算机工程与应用, 2003, 39(35):3.
❤️ 关注我领取海量matlab电子书和数学建模资料
❤️部分理论引用网络文献,若有侵权联系博主删除