【车间调度】基于模拟退火结合粒子群算法求解车间调度问题含Matlab代码

简介: 【车间调度】基于模拟退火结合粒子群算法求解车间调度问题含Matlab代码

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

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

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

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

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

⛄ 内容介绍

一种求解作业车间调度问题的混合粒子群算法,该算法适用于作业车间调度技术领域,该算法将粒子群算法与模拟退火算法结合,不仅增加了粒子的多样性,提高了寻找最优解的概率,而且由于粒子的特性而快速收敛,显著减少了搜索时间.该混合算法的执行步骤如下:步骤1:初始化算法参数,包括PSO粒子的数目,位置和速度等信息.步骤2:执行改进的PSO算法并更新粒子的位置和速度转移.步骤3:执行模拟退火算子并更新粒子信息.步骤4:执行干扰算子,如果循环中全局最优解保持不变,保留原始粒子信息,并生成一个随机粒子.步骤5:判断是否到达停止条件,是则返回最优解,否则返回步骤2.该发明结合实际情况,具有实用性强的特点.

⛄ 部分代码

%对时间矩阵,机器矩阵进行解码。

function  [FlowTimeAvg]=timedecode(particle,restrictmatrixM,restrictmatrixT,machineNum)

%particle=[1.0 1.0 3.0 2.0 3.0 4.0 2.0 6.0 4.0 3.0 1.0 6.0 5.0 5.0 6.0 4.0 3.0 2.0 4.0 3.0 2.0 5.0 4.0 6.0 1.0 2.0 1.0 5.0 5.0 6.0 1.0 4.0 2.0 6.0 3.0 5.0];

% restrictmatrixM=[      3     1     2     4     6     5

%                        2     3     5     6     1     4

%                        3     4     6     1     2     5

%                        2     1     3     4     5     6

%                        3     2     5     6     1     4

%                        2     4     6     1     5     3];


%restrictmatrixT=    [    1     3     6    7      3     6

%                         8     5     10   10     10    4

%                         5     4     8     9     1     7

%                         5     5     5     3     8     9

%                         9     3     5     4     3     1

%                         3     3     9     10    4     1];

%machineNum=6;

[particleLong1 particleLong]=size(particle);

for i=1:machineNum,

   counter(i)=[1] ;  %位置计数器;

   s(i)=[0]   ;      %工件上一工序结束时间;

   t(i)=[0]   ;

   t1(i)=[0]  ;      %每台机器的开始时间;

   WaitTime(i)=[0];      %机器等待时间;

end  

for j=1:particleLong,

   k=particle(j);

   time(k,counter(k))=restrictmatrixT(k ,counter(k))  ;    

   %时间矩阵解码

   machine(k,counter(k))=restrictmatrixM(k,counter(k));

   %机器矩阵解码;

   

   

   [rom]=max( s(k), t(machine(k,counter(k))) );

   if s(k)>t(machine(k,counter(k)))&t(machine(k,counter(k)))~=0,

       WaitTime(machine(k,counter(k)))=WaitTime(machine(k,counter(k)))+s(k)-t(machine(k,counter(k)));

   end

   s(k)=rom+time(k,counter(k));

   if t(machine(k,counter(k)))==0,

       t1(machine(k,counter(k)))=rom;

   end

   t(machine(k,counter(k)))=rom+time(k,counter(k));

   %计算每台机器上加工时间

 

   counter(k)=counter(k)+1   ;

end

   [tmax]=max(t);

   p=sum(WaitTime);

   FlowTimeAvg=sum(t-t1)/machineNum;

   %机器最长加工时间

⛄ 运行结果

⛄ 参考文献

[1] 付振奥. 粒子群算法求解车间调度问题研究[D]. 合肥工业大学, 2009.

[2] 张龙, 徐本柱, 刘晓平. 求解作业车间调度问题的混合粒子群算法[J]. 内蒙古大学学报:自然科学版, 2014, 45(1):7.

[3] 张静, 王万良, 徐新黎,等. 基于改进粒子群算法求解柔性作业车间批量调度问题[J]. 控制与决策, 2012, 027(004):513-518.

[4] 黄超杰, 胡成华. 一种求解作业车间调度问题的混合粒子群算法:.

⛳️ 代码获取关注我

❤️部分理论引用网络文献,若有侵权联系博主删除
❤️ 关注我领取海量matlab电子书和数学建模资料


相关文章
|
1月前
|
安全
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
本文介绍了2023年高教社杯数学建模竞赛D题的圈养湖羊空间利用率问题,包括问题分析、数学模型建立和MATLAB代码实现,旨在优化养殖场的生产计划和空间利用效率。
106 6
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
|
1月前
|
存储 算法 搜索推荐
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
本文提供了2022年华为杯数学建模竞赛B题的详细方案和MATLAB代码实现,包括方形件组批优化问题和排样优化问题,以及相关数学模型的建立和求解方法。
84 3
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
|
1月前
|
算法 数据可视化 调度
基于PSO粒子群优化的车间调度问题求解matlab仿真,输出甘特图
基于PSO粒子群优化的MATLAB仿真解决车间调度问题,输入机器与工作完成时间,输出甘特图与收敛图,实现多机器多任务最优并行调度。使用MATLAB 2022a版本运行,通过模拟鸟群觅食行为,不断更新粒子速度与位置寻找最优解,采用工序编码,总加工时间为适应度函数,实现快速收敛并可视化调度结果。
|
1月前
|
数据采集 存储 移动开发
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
本文介绍了2023年五一杯数学建模竞赛B题的解题方法,详细阐述了如何通过数学建模和MATLAB编程来分析快递需求、预测运输数量、优化运输成本,并估计固定和非固定需求,提供了完整的建模方案和代码实现。
62 0
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
|
4月前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
基于混合整数规划的微网储能电池容量规划(matlab代码)
基于混合整数规划的微网储能电池容量规划(matlab代码)
|
4月前
|
算法 调度
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
|
4月前
|
Serverless
基于Logistic函数的负荷需求响应(matlab代码)
基于Logistic函数的负荷需求响应(matlab代码)
|
4月前
|
供应链 算法
基于分布式优化的多产消者非合作博弈能量共享(Matlab代码)
基于分布式优化的多产消者非合作博弈能量共享(Matlab代码)
|
4月前
|
算法 调度
基于多目标粒子群算法冷热电联供综合能源系统运行优化(matlab代码)
基于多目标粒子群算法冷热电联供综合能源系统运行优化(matlab代码)