matlab绘制甘特图柔性作业车间调度

甘特图

求解车间调度问题的时候经常会用到甘特图来表示结果,因此,贴出来我经常使用的画甘特图的MATLAB代码

数据格式

数据格式
这里的EXCEL文件名称是:时间表,Sheet名称是:时间
数据为5列,从左到右依次是:工件号、工序号、机器号、开始时间、结束时间
注:其中机器号是从0开始的,即 M0、M1 …

MATLAB代码

运行以下MATLAB代码,会在 时间表.xsx 文件中的 时间 Sheet表中读取数据,然后绘图

%% 读取 时间表
time_info = xlsread('时间表.xlsx', '时间');

machine = [];
startTime = [];
durationTime = [];
job = [];
jobOs = [];
for i = 1: size(time_info, 1)
    job = [job, time_info(i, 1)];
    jobOs = [jobOs, time_info(i, 2)];
    machine = [machine, time_info(i, 3) + 1];
    startTime = [startTime, time_info(i, 4)];
    durationTime = [durationTime, time_info(i, 5) - time_info(i, 4)];
end
machineNum = max(machine);

% 机器名称
str_ = ['''0'''];
for i = 1: machineNum
    str_ = [str_, ',''M_{', num2str(i - 1),'}'''];
end
str_=str_(2:length(str_));

end_time = startTime + durationTime;
end_time = max(end_time) + 5;
axis([0 end_time 0 machineNum + 0.8]);  % x轴 y轴的范围
set(gca,'xtick', 0: 25: end_time);      % x轴的增长幅度
set(gca,'ytick',0: 1: machineNum + 0.8) ;   % y轴的增长幅度
set(gca,'box','on');
xlabel('时间','FontName','宋体','Color','black','FontSize',12)
ylabel('机器编号','FontName','宋体','Color','black','FontSize',12,'Rotation',90)
command_line=['yticklabels({',str_,'})'];
eval(command_line);

rec=[0, 0, 0, 0];

for i = 1: length(job) 
  rec(1) = startTime(i);        % 矩形的横坐标
  rec(2) = machine(i) - 0.35;     % 矩形的纵坐标
  rec(3) = durationTime(i);     % 矩形的x轴方向的长度
  rec(4) = 0.7; 
  txt = sprintf('J%d-%d', job(i), jobOs(i));    % 显示的文字 J-工件-工序
  rectangle('Position',rec,'LineWidth',1,'LineStyle','-','FaceColor',[1 1 1]);  % [1 1 1]为白色
  text(startTime(i),machine(i),txt,'FontWeight','Bold','FontSize',10);
end

运行效果

甘特图
修改 rectangle(‘Position’,rec,‘LineWidth’,1,‘LineStyle’,‘-’,‘FaceColor’,[1 1 1]); % [1 1 1]为白色 中的 FaceColor 对应的RGB数组即可 加上任意颜色

权利声明:

未经本人允许,本文所有内容禁止搬运,严禁盗图盗文!

代码传送门

本文代码及各种车间调度问题可咨询:
(1)扣扣:3249992049
(2)链接:https://pan.baidu.com/s/1L-Z3-86zBG2vWpV8jKSVzg 提取码:2whu

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Matlab车间调度甘特图是一种用于可视化车间调度问题的工具。它可以帮助用户更好地理解和规划车间调度过程。下面是介绍Matlab车间调度甘特图的几个方面: 1. 什么是车间调度甘特图车间调度甘特图是一种图表,用于显示车间中各个任务的开始时间、结束时间和持续时间。它以时间为横,任务为纵轴,通过条形图的方式展示任务的时间安排,使用户可以清晰地了解任务之间的关系和时间分配情况。 2. Matlab中如何绘制车间调度甘特图? 在Matlab中,可以使用plot函数或者bar函数来绘制车间调度甘特图。首先,需要确定任务的开始时间、结束时间和持续时间,并将其转化为合适的数据格式。然后,使用plot函数或者bar函数将任务的时间信息以条形图的形式展示出来。 3. 车间调度甘特图的应用场景有哪些? 车间调度甘特图可以应用于各种车间调度问题,例如生产线上的任务安排、机器设备的维护计划等。它可以帮助用户合理安排任务的时间,优化生产效率,提高资源利用率。 4. 如何解读车间调度甘特图? 在车间调度甘特图中,每个任务的条形图表示该任务的时间安排。任务的开始时间和结束时间可以通过条形图的位置和长度来确定。用户可以根据任务的时间信息,判断任务之间的先后顺序、重叠情况以及整体的时间分配情况。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值