【调度优化】基于遗传算法求解工件的并行调度组合优化问题附matlab代码

简介: 【调度优化】基于遗传算法求解工件的并行调度组合优化问题附matlab代码

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

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

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

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

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

⛄ 内容介绍

对最小化完工时间的并行多机调度问题提出了一种遗传算法,并在问题形成,遗传算法编码,变异方法等方面作了研究,并用计算实例表明遗传算法能适用于大规模并行多机调度问题.

⛄ 部分代码

%% GA算法求解并行调度问题

%% 加载问题的数据

clc, clear, close all

[~, ~, timetable] = xlsread('2.xls','Sheet1','B1:E30');

timetable = cell2mat(timetable);

cities = 30;

global rec tag1 len;

rec = zeros(500,35);

tag1 = 1;

len = [7, 7, 8, 8];

%% 定义目标函数

FitnessFcn = @(x) parallel_scheduling_fitness(x,timetable);

% gaplotbestf

%% 设置优化属性并执行遗传算法求解

options = optimoptions(options,'CreationFcn',@create_permutations,

                       'CrossoverFcn',@crossover_permutation, ...

                       'MutationFcn',@mutate_permutation, ...

                       'PlotFcns', @gaplotbestf, ...

                       'MaxGenerations',800,'PopulationSize',60, ...

                       'MaxStallGenerations',200,'UseVectorized',true);

numberOfVariables = cities;

[x,fval,reason,output] = ...

%% 输出并行调度问题的工件分配方案并可视化

disp('工件的分配顺序为:')

order = cell2mat(x);

fprintf('机器一:%d %d %d %d %d %d %d \n', order(1:len(1)))

fprintf('机器二:%d %d %d %d %d %d %d \n', order(len(1) + 1:len(1) + len(2)))

fprintf('机器三:%d %d %d %d %d %d %d %d \n', order(len(1) + 1 + len(2):len(1) + len(2) + len(3)))

fprintf('机器四:%d %d %d %d %d %d %d %d \n', order(len(1) + len(2) + len(3) + 1:len(1) + len(2) + len(3) + len(4)))

fprintf('四台机器分别耗时:%d %d %d %d \n', rec(tag1 -1,31:34))

plot((1:tag1 - 1), rec(1:tag1 - 1,35),'b')

xlabel('迭代次数')

ylabel('最短CMax')

title('并行调度问题')

⛄ 运行结果

⛄ 参考文献

[1]赵迪. 基于遗传算法的集配中心作业调度优化问题研究[D]. 北京交通大学, 2010.

[2]柳丹丹, 龚祝平, 邱磊. 改进遗传算法求解同类并行机优化调度问题[J]. 机械设计与制造, 2020(4):4.

⛄ Matlab代码关注

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

❤️ 关注我领取海量matlab电子书和数学建模资料


相关文章
|
8月前
|
存储 传感器 分布式计算
针对大尺度L1范数优化问题的MATLAB工具箱推荐与实现
针对大尺度L1范数优化问题的MATLAB工具箱推荐与实现
|
8月前
|
机器学习/深度学习 算法 机器人
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
742 0
|
8月前
|
机器学习/深度学习 算法 机器人
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
363 8
|
8月前
|
机器学习/深度学习 算法 自动驾驶
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
417 8
|
8月前
|
机器学习/深度学习 供应链 算法
【电动车】基于削峰填谷的电动汽车多目标优化调度策略研究(Matlab代码实现)
【电动车】基于削峰填谷的电动汽车多目标优化调度策略研究(Matlab代码实现)
295 0
|
8月前
|
机器学习/深度学习 数据采集 负载均衡
结合多种启发式解码方法的混合多目标进化算法,用于解决带工人约束的混合流水车间调度问题(Matlab代码实现)
结合多种启发式解码方法的混合多目标进化算法,用于解决带工人约束的混合流水车间调度问题(Matlab代码实现)
398 0
|
8月前
|
机器学习/深度学习 算法 新能源
基于动态非合作博弈的大规模电动汽车实时优化调度电动汽车决策研究(Matlab代码实现)
基于动态非合作博弈的大规模电动汽车实时优化调度电动汽车决策研究(Matlab代码实现)
221 0
|
8月前
|
算法 定位技术 计算机视觉
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
1013 0
|
8月前
|
算法 机器人 计算机视觉
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
268 0
|
8月前
|
新能源 Java Go
【EI复现】参与调峰的储能系统配置方案及经济性分析(Matlab代码实现)
【EI复现】参与调峰的储能系统配置方案及经济性分析(Matlab代码实现)
271 0

热门文章

最新文章