遗传算法GA解决混合流水车间调度问题HFSP

这篇具有很好参考价值的文章主要介绍了遗传算法GA解决混合流水车间调度问题HFSP。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

混合流水车间HFSP

混合流水车间调度问题(HFSP)是传统流水车间调度问题(FSP)的拓展,本文针对HFSP问题进行描述、建模和求解。

混合流水车间问题(HFSP)


混合流水车间调度,流水车间调度问题FSP,启发式算法,matlab,算法,人工智能
通常模型做如下假设:
混合流水车间调度,流水车间调度问题FSP,启发式算法,matlab,算法,人工智能


HFSP符号描述:

混合流水车间调度,流水车间调度问题FSP,启发式算法,matlab,算法,人工智能

决策变量:
混合流水车间调度,流水车间调度问题FSP,启发式算法,matlab,算法,人工智能
主要约束:
混合流水车间调度,流水车间调度问题FSP,启发式算法,matlab,算法,人工智能
混合流水车间调度,流水车间调度问题FSP,启发式算法,matlab,算法,人工智能
混合流水车间调度,流水车间调度问题FSP,启发式算法,matlab,算法,人工智能
优化目标:
混合流水车间调度,流水车间调度问题FSP,启发式算法,matlab,算法,人工智能

遗传算法(带精英保留)求解

本节使用带精英保留的遗传算法GA对HFSP问题进行求解。求解结果如下:


自定义算例如下:
加工时间矩阵:
混合流水车间调度,流水车间调度问题FSP,启发式算法,matlab,算法,人工智能
每阶段的并行机数量:
混合流水车间调度,流水车间调度问题FSP,启发式算法,matlab,算法,人工智能


部分代码:
如需完整matlab代码,可私~ ~,也可咨询3249992049(扣)
main.m

clear all;
clc;
%% 生成数据
xls_path='.\工件信息.xlsx';
dataGenerate(xls_path);
%% 加载数据
load jobdata.mat
%% GA遗传算法
GAResult=GA(jobInfo,jobNum,machineVec,machineGroup);
%% GA迭代曲线
figure(1)
plot(GAResult.Convergence_curve_min,'r-','LineWidth',1.5)
hold on
plot(GAResult.Convergence_curve_avg,'b-.','LineWidth',1.5)
xlabel('运行次数');
ylabel('最大完工时间(makespan)');
title('运行结果')
legend('最小值','平均值')
box on; grid on
%% 画出甘特图
ganttIndex=1;
figure(2);
gantt_chart(GAResult.machineTable{ganttIndex},machineName,'甘特图');

GA.m

function GAResult=GA(jobInfo,jobNum,machineVec,machineGroup)
tstart=tic;         % 计时器
%% 种群规模、最大迭代次数
pop=100;
maxGen=100;
% 加工阶段数量,本数据集是8;自变量维度:dim
stageN=length(machineGroup);
dim=2*jobNum*stageN;

% 初始化种群
[chrom]=init(pop,jobNum,machineGroup);

% 计算目标函数值
for i=1:pop
    makespan=fitness(chrom(i,:),jobNum,machineVec,jobInfo,stageN);
    chrom(i,dim+1)=makespan;
end

%% 迭代主循环
Convergence_curve_min=zeros(1,maxGen);
Convergence_curve_avg=zeros(1,maxGen);
for gen=1:maxGen
    % 锦标赛法选择父代
    parent_chromosome=tournamentGA(chrom,dim);
    % 交叉变异
    offspring_chromosome=varOperator(parent_chromosome,jobNum,machineVec,...
        jobInfo,stageN);
    % 下面进行合并种群
    intermediate_chromosome=[chrom;offspring_chromosome];
    % 筛选种群
    [~,index]=sort(intermediate_chromosome(:,dim+1));
    chrom=intermediate_chromosome(index(1:pop),:);
    %% Disp
    disp(['当前迭代次数:',num2str(gen),'||最大完工时间(平均值):',num2str(mean(chrom(:,dim+1))),...
        '||最大完工时间(最小值):',num2str(min(chrom(:,dim+1)))]);
    %% 迭代曲线
    Convergence_curve_min(gen)=min(chrom(:,dim+1));
    Convergence_curve_avg(gen)=mean(chrom(:,dim+1));
end
RunTime=toc(tstart);
% disp(['Time:',num2str(RunTime)]);
%% 保存
GAResult.chrom=chrom;
GAResult.BestMakespan=chrom(1,size(chrom,2));
GAResult.RunTime=RunTime;
GAResult.Convergence_curve_min=Convergence_curve_min;
GAResult.Convergence_curve_avg=Convergence_curve_avg;
for i=1:pop
    [~,GAResult.machineTable{i}]=fitness(chrom(i,:),jobNum,machineVec,jobInfo,stageN);
end
save('GA_运行结果.mat','GAResult');
end

迭代曲线:
混合流水车间调度,流水车间调度问题FSP,启发式算法,matlab,算法,人工智能


甘特图:

混合流水车间调度,流水车间调度问题FSP,启发式算法,matlab,算法,人工智能

写在最后

本文内容为本人原创,未经本人允许,本文所有内容禁止搬运,严禁盗图盗文!如需MATLAB完整代码,可私博主~ ~文章来源地址https://www.toymoban.com/news/detail-677211.html

到了这里,关于遗传算法GA解决混合流水车间调度问题HFSP的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于自适应遗传算法的车间调度matlab仿真,可以任意调整工件数和机器数,输出甘特图

    目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 4.1 编码与初始化 4.2 适应度函数 4.3 遗传操作 4.4 自适应机制 4.5 终止条件 5.完整程序         基于自适应遗传算法的车间调度matlab仿真,可以任意调整工件数和机器数,输出甘特图和优化算法的适应

    2024年02月01日
    浏览(51)
  • 运筹说 第94期|论文速读之基于关键路径的置换流水车间调度问题

    前几期的推送已经讲解了网络计划的基本知识、数学模型和相关算法,相信大家对网络计划已经有了充分的了解,这期小编将带大家一起来读一篇基于关键路径的置换流水车间调度问题的文章。 1. 文章信息 题目: An efficient critical path based method for permutation flow shop scheduling p

    2023年04月19日
    浏览(41)
  • 【调度算法】并行机调度问题遗传算法

    m台相同的机器,n个工件,每个工件有1道工序,可按照任意的工序为每个工件分配一台机器进行加工 工件 A B C D E F G H I 工件编号 0 1 2 3 4 5 6 7 8 加工时间 4 7 6 5 8 3 5 5 10 到达时间 3 2 4 5 3 2 1 8 6 交货期 10 15 30 24 14 13 20 18 10 设备数目:3 最小化交货期总延时时间 记机器数为 m ,从

    2024年02月05日
    浏览(53)
  • 遗传算法[GA]

    遗传算法 (Genetic Algorithm,GA) 是模拟生物在自然环境中的遗传和进化的过程而形成的自适应 全局优化搜索算法。 遗传算法借鉴了达尔文的进化论和孟德尔的遗传学说。其本质是一种并行、高效、全局搜索的方法, 它能在搜索过程中自动获取和积累有关搜索空间的知识,并自

    2024年02月09日
    浏览(33)
  • 基本遗传算法(GA)详解

    遗传算法由John H.Holland教授提出,为一种全局优化算法。它模拟自然进化与遗传理论,通过将优化问题进行转移,从而成功避免了一般优化算法中需要过多考虑的动力学信息问题,在原理上突破了常规的优化算法框架,算法结构较简单、处理信息能力较强,具有很好的鲁棒性

    2024年02月04日
    浏览(61)
  • 【Matlab】智能优化算法_遗传算法GA

    遗传算法(Genetic Algorithm,简称GA)是一种基于生物进化理论的优化算法,由John Holland于20世纪70年代初提出。它通过模拟自然选择和遗传机制,利用群体中个体之间的遗传信息交流和变异来搜索问题的解空间。 遗传算法的设计灵感来源于达尔文的进化论。达尔文提出,自然界

    2024年02月16日
    浏览(52)
  • 遗传算法 (Genetic Algorithm, GA)

    遗传算法(Genetic Algorithm,简称GA)起源于对生物系统所进行的计算机模拟研究,是一种随机全局搜索优化方法,它模拟了自然选择和遗传中发生的复制、交叉(crossover)和变异(mutation)等现象,从任一初始种群(Population)出发,通过随机选择、交叉和变异操作,产生一群更适合

    2024年02月05日
    浏览(36)
  • 数学建模(二):遗传算法(GA)

    1、 算法简介 计算智能(Computational Intelligence,CI)方法主要包括: 神经网络(Neural Network,NN); 模糊逻辑(Fuzzy Logic,FL); 遗传算法 (Genetic Algorithm,GA); 蚁群优化算法(Ant Colony Optimization,ACO); 粒子群优化算法(Particle Swarm Op); 免疫算法(Immune Algorithm,IA); 分布估计算

    2024年02月02日
    浏览(35)
  • 遗传算法(Genetic Algorithm,GA)

    这是一篇关于遗传算法的总结博客,包括算法思想,算法步骤,python实现的两个简单例子,算法进阶(持续更新ing)。 遗传算法的应用很多,诸如寻路问题,8数码问题,囚犯困境,动作控制,找圆心问题(在一个不规则的多边形中,寻找一个包含在该多边形内的最大圆圈的

    2023年04月17日
    浏览(39)
  • 【算法】遗传算法GA寻优xgboost最优参数模型

    需求:实现遗传算法GA寻优xgboost最优参数模型搭建 遗传算法(Genetic Algorithm)是一种 通过模拟生物进化过程来解决优化问题的算法 。它模拟了自然界中的遗传、变异和选择等过程,并通过不断迭代寻找最优解。 并行性强 遗传算法可以应用并行计算技术,同时对多个个体进行

    2024年02月12日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包