• 【调度优化】基于遗传算法求解工件的并行调度组合优化问题附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电子书和数学建模资料

  • 相关阅读:
    python学习之基础语法条件语句
    庖丁解牛:NIO核心概念与机制详解 06 _ 连网和异步 I/O
    R语言dplyr包summarise_at函数计算dataframe数据中多个数据列(通过向量指定)的方差
    Spring Cloud Gateway
    电脑组装教程分享!
    QT采用共享内存方式实现进程间通信
    iOS重签名-超详细,附排错
    python使用python-docx库处理图片白框问题
    机器人材料整理中的套-假-大-空话
    GSMA SGP.01协议学习
  • 原文地址:https://blog.csdn.net/qq_59747472/article/details/127934435