✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
⛄ 内容介绍
作业车间调度问题(Job Shop Scheduling, JSP)是最经典的几个NP-hard问题之一。其应用领域极其广泛,涉及航母调度,机场飞机调度,港口码头货船调度,汽车加工流水线等。JSP问题描述:一个加工系统有M台机器,要求加工N个作业,其中,作业i包含工序数为Li。令,则L为任务集的总工序数。其中,各工序的加工时间已确定,并且每个作业必须按照工序的先后顺序加工。调度的任务是安排所有作业的加工调度排序,约束条件被满足的同时,使性能指标得到优化。
遗传算法是一种应用领域很广,解决问题效果较好的一种启发式算法,在解决调度问题中有很好的作用。用matlab程序解决作业车间调度问题的小例子,程序可运行,可画出进化图与甘特图。内附算例与程序说明。
⛄ 部分代码
%算法主程序
function GA4JSP205()
clc;clear;
%决定编码的主程序n*m,从1、2、、、n出现m次
%dt=initDataFT06();%初始化数据
dt=initDataFT10();
[rows,cols]=size(dt);
jobQty=rows;%作业数量
machQty=cols/2;%机器数量
pop=80;%群体规模
chromes=createChromes(jobQty,machQty,pop);%初始化种群
%种群第一代
chrome1=chromes(1,:);
sch=createSchedule(dt,chrome1);
finishT=fitness(sch);
⛄ 运行结果
⛄ 参考文献
[1]于善, 袁逸萍, 李晓娟,等. MATLAB下基于遗传算法作业车间调度系统开发[J]. 机械工程与自动化, 2015(6):4.
[2]谢胜利, 董金祥, 黄强. 基于遗传算法的车间作业调度问题求解[J]. 计算机工程与应用, 2002, 38(10):4.