如何进网站,wordpress 标签 文章,网页设计应该学什么专业,个人网站备案后可以做行业内容吗文章目录 0 赛题思路1 模型描述2 实例2.1 问题描述2.2 数学模型2.2.1 模型流程2.2.2 符号约定2.2.3 求解模型 2.3 相关代码2.4 模型求解结果 建模资料 0 赛题思路 
#xff08;赛题出来以后第一时间在CSDN分享#xff09; 
https://blog.csdn.net/dc_sinor?typeblog 
最短时… 文章目录 0 赛题思路1 模型描述2 实例2.1 问题描述2.2 数学模型2.2.1 模型流程2.2.2 符号约定2.2.3 求解模型   2.3 相关代码2.4 模型求解结果 建模资料 0 赛题思路 
赛题出来以后第一时间在CSDN分享 
https://blog.csdn.net/dc_sinor?typeblog 
最短时间生产计划模型 
该模型出现在好几个竞赛赛题上预测2023今年国赛也会与该模型相关。 
1 模型描述 
离散系统仿真在工业生产的工序安排中起到了相当重要的作用如何就一些内部机制复杂的离散问题建立简单易行、可监测性强的数学模型一直是仿真技术的研究热点 
离散事件系统现有三种仿真建模策略即 
事件调度法活动扫描法进程交互法 
该模型demo学长采用了其中的活动扫描法对生产中的一个实际例子进行了处理 
活动扫描法对于各事件之间相关性很强的系统有着很好的适用性 
2 实例 
2.1 问题描述 
在许多工厂生产过程中由于设备的数量、产品加工的次序限制往往不能简单地安排生产任务我们设想应用强大的数学软件配合简单易行的方法进行安排 
设某重型机械厂产品都是单件性的其中有一车间共有4种不同设备现接受6件产品的加工任务每件产品接受的程序在指定的设备上加工其工序与加工周期如下表 现在我们根据这一实际问题寻求安排的方法 
要求 
1、每件产品必须按规定的工序加工不得颠倒 
2、每台设备在同一时间只能担任一项任务每件产品的每个工序为一个任务 
、在尽可能短的时间里完成所接受的全部任务 
为了节省电能合理分配生产任务厂方还要求 
1、做出每件产品的每个工序开工、完工时间表 
2、给出每台设备承担任务的时间表 
2.2 数学模型 
2.2.1 模型流程 2.2.2 符号约定 2.2.3 求解模型 2.3 相关代码 
clear
clc
seq[3 1 2 3 4 0 0 0                     %各产品加工时所用的设备的次序1 4 2 3 0 0 0 03 4 1 2 1 0 0 02 3 4 1 4 3 0 04 2 3 4 1 3 4 01 2 1 3 4 1 3 1];tim[8 2 4 24 6 0 0 0                   %加工对应使用的时间4 5 3 4 0 0 0 03 7 15 20 8 0 0 07 6 21 1 16 3 0 010 4 8 4 12 6 1 01 4 7 3 5 2 5 8];
whole[0 0 0 0];
for i1:6for j1:8if(seq(i,j)~0)whole(seq(i,j))whole(seq(i,j))tim(i,j);endend
end
whole                          %生产各件产品所需的总时间mescell(41);                   %记录各个设备的工作时间对应于上面tim的位置
for k1:4mes{k,1}zeros(6,8);for j1:8for i1:6if(seq(i,j)k)mes{k,1}(i,j)tim(i,j);elsemes{k,1}(i,j)100;endendend
endturncell(5,100);               %记录四个设备的开关时间及加工对象on(i)
for i1:4for j1:100turn{i,j}off;end
end
for i1:100turn{5,i}[num2str(i) 分];
endopenzeros(6,8);           
%记录6个产品的加工进度0表示未进行1表示已开始或已结束2表示可选,3表示没有这个程序
for i1:6open(i,1)2;
end
for i1:6for j1:8if seq(i,j)0open(i,j)3;endend
endgongxuzeros(6,1);
daizeros(4,1);
j1;
s[1	1	1	1	1	3	3	3
1	1	1	1	3	3	3	3
1	1	1	1	1	3	3	3
1	1	1	1	1	1	3	3
1	1	1	1	1	1	1	3
1	1	1	1	1	1	1	1];
while isequal(open,s)0on[];for i1:4if turn{i,j}off  
%在turn矩阵中逐列搜索若设备处于关机状态则作记录可用on[on i];endendl1length(on);for m1:l1          %在整个生产计划中对设备逐个寻找能够选作操作的步骤[x,y]find(open2);l2length(x);a[x(1) y(1)];for k1:l2   %对某个设备on(m)找出当前它能操作的步骤中耗时最小的一个if mes{on(m)}(a(1),a(2))mes{on(m)}(x(k),y(k))a[x(k) y(k)];endendif turn{on(m),j}off  mes{on(m)}(a(1),a(2))~100 
%若时间为100则意味着这个步骤不属于我们希望使用的那件设备while tim(a(1),a(2))0turn{on(m),tim(a(1),a(2))j-1}a(1);tim(a(1),a(2))tim(a(1),a(2))-1;endendendfor i1:4if turn{i,j}~offdai(i)turn{i,j};endendfor i1:4if turn{i,j}~off  turn{i,j1}offgongxu(turn{i,j})gongxu(turn{i,j})1;open(turn{i,j},gongxu(turn{i,j}))1;endif gongxu(dai(i))8  open(dai(i),gongxu(dai(i))1)~3  turn{i,j1}offopen(dai(i),gongxu(dai(i))1)2;endendjj1;
end 
2.4 模型求解结果 
每件产品的每个工序开工、完工时间表 每台设备承担任务的时间表 从结果中我们可以看到使用这种方法只需个单位时间就可以完成所有的工序而我们同时也可以在论文的开始部分看到单就完成 就需耗费个单位时间可见这种方法得出的结果还是相当使人满意的而且操作简单可监测性强 
建模资料 
资料分享: 最强建模资料