MATLAB 用约翰逊排序法则对n个工件在两台机器的加工作业进行调度

本文介绍了如何使用MATLAB实现约翰逊排序法则,对n个工件在两台机器的加工作业进行调度。通过建立函数文件并随机生成加工时间矩阵,遵循特定的分组和排序原则,最终得出生产周期最短的最优作业顺序。在示例中,展示了针对7个工件的调度过程,调整后的加工时间矩阵和工件顺序,总作业时间为36。
摘要由CSDN通过智能技术生成

MATLAB 用约翰逊排序法则对n个工件在两台机器的加工作业进行调度

通过建立函数文件,在主窗口中调用函数,实现Johnson排序法的运用。

函数形式:function [solution] = Johnson(n),其中n表示工件个数。

要求:随机生成一个n*2的加工时间矩阵(推荐取值为1到9),n推荐7-10。

Johnson调度规则:

①列出n个作业在两台机床上的作业时间;
②根据作业时间将n个作业分成P和Q两组。
分组原则:P组的作业在第二台机器上的加工时间比在第一台机器上加工时间长;其余作业为Q组;
③将P组作业按他们在第一台机器上加工时间递增顺序排列,将Q组作业按他们在第二台机器上加工时间递减的顺序排列。
④将P组作业顺序和Q组作业顺序连接在一起,构成的就是生产周期最短的最优作业顺序。
图片来源于网络

建立函数文件
function [ solution ] = Johnson( n )
%Jhonson Summary of this function goes here
%   Detailed explanation goes here
A=randi(9,n,2);
b=1:n;%按工件数量生成序号(行向量&
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值