排序问题

组合优化问题

排序问题(sequencing problem)亦称工件加工日程表问题,是一类典型的组合优化问题。设用m台机器加工n个工件,给定了加工每个工件所用机器的次序,以及每台机器加工每个工件所需要的时间、问题是确定工件在每台机器上的加工次序以使预先选定的目标函数达到最小,这个目标函数通常是完成时间、平均完成时间、机器的空间时间等的一个非降函数。排序问题有两个类型:1.流水作业,这时要求每个工作在机器上的加工次序都一样;2.工件作业,这时每个工件在机器上的加工次序不必一致。流水作业可以看做是工件作业的一种特殊情形,三台或以上机器的排序问题多为NP完全问题.因此是很困难的。

排序的基本概念
排序问题已被广泛应用于生产管理、计算机系统、运输调度等领域。排序问题是一类重要的组合优化问题。一般来说,凡是有多个不同的任务要完成,就有作业排序与作业计划问题。几批不同的工件要加工,几个程序等待要运行,几个问题要处理等,都有作业排序。这些问题的共同特征是要将不同的工作任务安排一个执行的顺序和时间.使得目标最优化。所以.作业排序实质上是要解决如何按时间的先后,将有限的资源分配给不同的工作任务,使预定的目标最优化的问题。
需要说明的是,在生产运作管理中常用到编制作业计划、排序、调度、派工、控制、赶工等名词。一般来说,作业排序只确定工件在机器上的加工顺序,而编制作业计划不仅确定工件的加工顺序,而且还包括确定每个工件的开始时间和完成时间,这样才能指导工人的生产活动。由于当各台机器上工件的加工顺序确定后,就可以按最早可能开始时间安排所有工件的计划,这样初始可行的作业计划就可以编制好,因而编制作业计划的问题之一就是作业排序问题。派工是按作业计划的要求,将具体的牛产任务安排到具体的机器上并交给相应的操作工人负责;控制是监控实际生产过程.并使其和计划保证一致的过程;调度是在加工制造发生之后,发现实际进度已经偏离计划而采取的调配资源的行动,调度属于控制的范围;而赶工是在实际进度已经落后于计划进度时采取的追赶进度的行动,赶工属于调度的范围。如火车时刻表是事先确定的一种作业计划,各列火车都按该计划来执行;在实际执行过程需要监控所有火车运行情况,根据这些运行信息相应采取措施以确保计划的完成,这种监控采取的预防和实际措施的过程就是控制;其中实际运行情况偏离了计划所采取的措施就是调度;如果火车发生晚点,采取加快运行速度来赶上计划时间就是赶工。
排序问题的描述
最初的排序研究与应用主要是针对加工制造企业,一般使用机器、工件、加工路线、工序和加工时间来描述一个排序作业的任务。即假定有n个工件要按一定的加工路线经过m台机器加工,其中加工路线是由工件加工的工艺过程决定的,是工件加工在技术上的约束,是工件所需要的加工工序的顺序。而排序就是确定这n个工件在m台机器上加工的先后顺序。随着排序在其他各行各业的应用,原有的“机器”、“工件”、“工序”和“加工时间”的意义已经发生了变化,如“机器”的意义已经扩展到“服务者”,“工件”则泛指“服务对象”,“工序”则指“服务活动”,“加工时间”则是“服务时间”。如计算机网络的服务器(机器)同时接到多个电邮请求(工件),处理后发到请求的用户信箱;多艘轮船(工件)同时要停靠码头(机器);维修工人(机器)维修多个机器设备(工件)等。
机器
只有一台机器的排序问题称为单机排序问题,否则称为多机排序问题。
在多机问题中机器分为两大类:通用平行(parallel)机和专用串联(dedicated)机,如果所有机器的功能相同,称为同类机或平行机,即一个工件需要在多台平行机的一个机器上加工一次;而串联机则是机器具有不同的功能,工件需要在不同的机器上加工。
平行机又可分成3类:具有相同速度的同速(identical)机、具有不同加工速度但此速度不依赖于工件的恒速( uniform)机和随加工的工件不同加速度也不同的变速(unrelated)机。
串联机也可分为3类:第一个工件以特定的相同机器顺序加工的流水作业(flow shop)、工件依次在机器上加工的次序可以任意的开放作业(open shop)和每一工件以各自特定的机器次序进行加工的单件作业(job shop)。
还有一类更复杂的情况,就是柔性流水作业(flexible flow shop),它是流水作业和平行机的推广。在柔性流水作业中,有多类机器,每个工件有多道工序,每道工序需要在每类机器中的一台机器上加工,且每个工件的加工顺序相同。机器的分类情况见图1。
工件和工序
对不允许中断加工的情况来说,一个工件( )在一台机器( )上连续加工的过程称为工序(operation)。按工件到达车间的不同,可以将排序分为静态和动态两种。当进行排序时所有工件都已经到达,可以一次对它们进行排序,这是静态排序问题;若工件是陆续到达的,要随时对它们进行排序,这是动态排序问题。
排序中的约束条件,主要指的是工件的性质以及它们在加工过程中的要求和限制。
1)加工时间
一个工件的加工时间: ;n个工件的加工时间则用矩阵来表示:
式中: ——工件 在机器i 上所需要的加工时间。
2)到达时间(arrival time)或就绪时间(ready time)
到达时间或就绪时间 是工件已经准备好可以马上被加工的时间。若所有工件的就绪时间相同,则取 。
3)工件工期(due date)或截止期限(deadline)
工期dj表示对工件限定的完工时间。若不按期完工,就会受到一定的惩罚。绝对不允许延误的工期称为截止期限。
4)工件权重(weight)
工件权重是相对于其他工件而言工件的重要性程度。
目标函数
用表示工件的完工时间。一般来说,要使完工时间的函数达到极小化。在排序问题中,目标函数主要有以下几种。
1)最大完工时间或时间表长(schedule length,make-span)
时间表长可定义为:,即为最后一个被加工完的工件的完工时间。
2)加权流程时间(weighted flow time)和加权完工时间
一个工件的流程时间是指工件从到达系统开始一直到加工完为止的时间,包括在系统中的等待时间和加工时间:。
系统的平均加权流程时间:。
将上述平均流程时间转换一下:由于第二项是常数,第一项的分母也是常数,因此极小化平均加权流程时间相当于极小化总加权完工时间(total weighted completion time):
3)最大延误时间(maximum lateness)
工件的延误时间定义为最大延误时间。
4)加权总误工(total weighted tardiness)
一个工件当其完工时间大于其完工期限时称为误工:
加权总误工:
5)加权误工工件数(weighted number of tardy jobs)
用0/1来表示某工件是否误工:
加权误工件数:
总之,在排序中,工件是被加工的对象,是要完成的任务;机器是提供加工的对象,是完成任务所需要的资源;排序是安排一个时间表,以在一定约束条件下对工件和机器按时间进行分配和安排次序,使某一或一些目标达到最优。
排序问题的分类与表示方法
排序问题的类别有多种划分方法,如前面按机器、按工件有不同的划分方法,另外根据参数的性质还可以划分为确定型与随机型排序,即加工时间和其他有关参数是已经知道的、确定的量,就称为确定型排序;而加工时间和相关参数是随机型的量则称为随机型排序。由机器、工件、加工参数和目标函数的不同特征及其他方面的差别,构成了多种不同的排序问题。这里采用国际上使用的三参数表示方法来描述排序问题,即。
域表示机器的数量、类型和环境:,其中,各符号分别代表单机、同速机、恒速机、自由作业、流水作业、单件作业和柔性流水作业;,分别表示机器的数目不确定和有m台机器。
域表示工件的性质、加工要求和限制,资源的种类、数量和对加工的影响等,它可以同时包含多项,可能的主项有:(工件有不同的到达时间)、(工件顺序加工的设备调整时间)、prmp(允许中断)等。
域表示要优化的目标函数:(时间表长)、(加权总完工时间)、(最大延误时间)、(加权总误工)、(加权误工件数)等。
如表示单机排序问题,目标函数是总延误时间最小;表示有m台同速机的排序问题,目标函数是极小化时间表长;而表示一个由m台机器组成的流水作业排序问题,每个作业的所有工序的加工时间都相等,目标是加权总完工时间最小;表示两台机器单件作业排序问题,每个工件在每台机器上至多加工一次,其目标函数是时间表长最小。
排序问题的求解
可行排序与最优排序
排序问题是一类组合优化问题,由于在实际生产中,排序问题中的机器、工序、资源都是有限的,绝大部分排序问题是从有限个可行解中找出一个最优解,使目标函数达到极小。
三种计划
车间作业计划可能存在着很多可行的作业计划安排方法,其中各工序都按最早可能加工或完工时间安排的作业计划称为半能动计划( semi-active schedule);若半能动计划中任何一台机器的每段空闲时间都不足以加工一道加工工序的,称为能动作业计划(active schedule);若在能动计划中,没有任何延迟(delay)现象出现,则称为无延迟作业计划(non-delay schedule),这里的无延迟是指如果有准备好的被加工的T序,不准许有空闲的机器出现,该计划相当于不允许强迫机器空闲。
对于大多数排序问题,包括所有可中断排序问题,最优排序是无延迟排序,但也有一些不可中断的排序问题是延迟排序。
全国各地天气预报查询

上海市

  • 市辖区
  • 云南省

  • 临沧市
  • 云南省

  • 丽江市
  • 云南省

  • 保山市
  • 云南省

  • 大理白族自治州
  • 云南省

  • 德宏傣族景颇族自治州
  • 云南省

  • 怒江傈僳族自治州
  • 云南省

  • 文山壮族苗族自治州
  • 云南省

  • 昆明市
  • 云南省

  • 昭通市
  • 云南省

  • 普洱市
  • 云南省

  • 曲靖市
  • 云南省

  • 楚雄彝族自治州
  • 云南省

  • 玉溪市
  • 云南省

  • 红河哈尼族彝族自治州
  • 云南省

  • 西双版纳傣族自治州
  • 云南省

  • 迪庆藏族自治州
  • 内蒙古自治区

  • 乌兰察布市
  • 内蒙古自治区

  • 乌海市
  • 内蒙古自治区

  • 兴安盟
  • 内蒙古自治区

  • 包头市
  • 内蒙古自治区

  • 呼伦贝尔市
  • 内蒙古自治区

  • 呼和浩特市
  • 内蒙古自治区

  • 巴彦淖尔市
  • 内蒙古自治区

  • 赤峰市
  • 内蒙古自治区

  • 通辽市
  • 内蒙古自治区

  • 鄂尔多斯市
  • 内蒙古自治区

  • 锡林郭勒盟
  • 内蒙古自治区

  • 阿拉善盟
  • 北京市

  • 市辖区
  • 吉林省

  • 吉林市
  • 吉林省

  • 四平市
  • 吉林省

  • 延边朝鲜族自治州
  • 吉林省

  • 松原市
  • 吉林省

  • 白城市
  • 吉林省

  • 白山市
  • 吉林省

  • 辽源市
  • 吉林省

  • 通化市
  • 吉林省

  • 长春市
  • 四川省

  • 乐山市
  • 四川省

  • 内江市
  • 四川省

  • 凉山彝族自治州
  • 四川省

  • 南充市
  • 四川省

  • 宜宾市
  • 四川省

  • 巴中市
  • 四川省

  • 广元市
  • 四川省

  • 广安市
  • 四川省

  • 德阳市
  • 四川省

  • 成都市
  • 四川省

  • 攀枝花市
  • 四川省

  • 泸州市
  • 四川省

  • 甘孜藏族自治州
  • 四川省

  • 眉山市
  • 四川省

  • 绵阳市
  • 四川省

  • 自贡市
  • 四川省

  • 资阳市
  • 四川省

  • 达州市
  • 四川省

  • 遂宁市
  • 四川省

  • 阿坝藏族羌族自治州
  • 四川省

  • 雅安市
  • 天津市

  • 市辖区
  • 宁夏回族自治区

  • 中卫市
  • 宁夏回族自治区

  • 吴忠市
  • 宁夏回族自治区

  • 固原市
  • 宁夏回族自治区

  • 石嘴山市
  • 宁夏回族自治区

  • 银川市
  • 安徽省

  • 亳州市
  • 安徽省

  • 六安市
  • 安徽省

  • 合肥市
  • 安徽省

  • 安庆市
  • 安徽省

  • 宣城市
  • 安徽省

  • 宿州市
  • 安徽省

  • 池州市
  • 安徽省

  • 淮北市
  • 安徽省

  • 淮南市
  • 安徽省

  • 滁州市
  • 安徽省

  • 芜湖市
  • 安徽省

  • 蚌埠市
  • 安徽省

  • 铜陵市
  • 安徽省

  • 阜阳市
  • 安徽省

  • 马鞍山市
  • 安徽省

  • 黄山市
  • 山东省

  • 东营市
  • 山东省

  • 临沂市
  • 山东省

  • 威海市
  • 山东省

  • 德州市
  • 山东省

  • 日照市
  • 山东省

  • 枣庄市
  • 山东省

  • 泰安市
  • 山东省

  • 济南市
  • 山东省

  • 济宁市
  • 山东省

  • 淄博市
  • 山东省

  • 滨州市
  • 山东省

  • 潍坊市
  • 山东省

  • 烟台市
  • 山东省

  • 聊城市
  • 山东省

  • 菏泽市
  • 山东省

  • 青岛市
  • 山西省

  • 临汾市
  • 山西省

  • 吕梁市
  • 山西省

  • 大同市
  • 山西省

  • 太原市
  • 山西省

  • 忻州市
  • 山西省

  • 晋中市
  • 山西省

  • 晋城市
  • 山西省

  • 朔州市
  • 山西省

  • 运城市
  • 山西省

  • 长治市
  • 山西省

  • 阳泉市
  • 广东省

  • 东莞市
  • 广东省

  • 中山市
  • 广东省

  • 云浮市
  • 广东省

  • 佛山市
  • 广东省

  • 广州市
  • 广东省

  • 惠州市
  • 广东省

  • 揭阳市
  • 广东省

  • 梅州市
  • 广东省

  • 汕头市
  • 广东省

  • 汕尾市
  • 广东省

  • 江门市
  • 广东省

  • 河源市
  • 广东省

  • 深圳市
  • 广东省

  • 清远市
  • 广东省

  • 湛江市
  • 广东省

  • 潮州市
  • 广东省

  • 珠海市
  • 广东省

  • 肇庆市
  • 广东省

  • 茂名市
  • 广东省

  • 阳江市
  • 广东省

  • 韶关市
  • 广西壮族自治区

  • 北海市
  • 广西壮族自治区

  • 南宁市
  • 广西壮族自治区

  • 崇左市
  • 广西壮族自治区

  • 来宾市
  • 广西壮族自治区

  • 柳州市
  • 广西壮族自治区

  • 桂林市
  • 广西壮族自治区

  • 梧州市
  • 广西壮族自治区

  • 河池市
  • 广西壮族自治区

  • 玉林市
  • 广西壮族自治区

  • 百色市
  • 广西壮族自治区

  • 贵港市
  • 广西壮族自治区

  • 贺州市
  • 广西壮族自治区

  • 钦州市
  • 广西壮族自治区

  • 防城港市
  • 新疆维吾尔自治区

  • 乌鲁木齐市
  • 新疆维吾尔自治区

  • 伊犁哈萨克自治州
  • 新疆维吾尔自治区

  • 克孜勒苏柯尔克孜自治州
  • 新疆维吾尔自治区

  • 克拉玛依市
  • 新疆维吾尔自治区

  • 博尔塔拉蒙古自治州
  • 新疆维吾尔自治区

  • 吐鲁番市
  • 新疆维吾尔自治区

  • 和田地区
  • 新疆维吾尔自治区

  • 哈密市
  • 新疆维吾尔自治区

  • 喀什地区
  • 新疆维吾尔自治区

  • 塔城地区
  • 新疆维吾尔自治区

  • 巴音郭楞蒙古自治州
  • 新疆维吾尔自治区

  • 昌吉回族自治州
  • 新疆维吾尔自治区

  • 自治区直辖县级行政区划
  • 新疆维吾尔自治区

  • 阿克苏地区
  • 新疆维吾尔自治区

  • 阿勒泰地区
  • 江苏省

  • 南京市
  • 江苏省

  • 南通市
  • 江苏省

  • 宿迁市
  • 江苏省

  • 常州市
  • 江苏省

  • 徐州市
  • 江苏省

  • 扬州市
  • 江苏省

  • 无锡市
  • 江苏省

  • 泰州市
  • 江苏省

  • 淮安市
  • 江苏省

  • 盐城市
  • 江苏省

  • 苏州市
  • 江苏省

  • 连云港市
  • 江苏省

  • 镇江市
  • 江西省

  • 上饶市
  • 江西省

  • 九江市
  • 江西省

  • 南昌市
  • 江西省

  • 吉安市
  • 江西省

  • 宜春市
  • 江西省

  • 抚州市
  • 江西省

  • 新余市
  • 江西省

  • 景德镇市
  • 江西省

  • 萍乡市
  • 江西省

  • 赣州市
  • 江西省

  • 鹰潭市
  • 河北省

  • 保定市
  • 河北省

  • 唐山市
  • 河北省

  • 廊坊市
  • 河北省

  • 张家口市
  • 河北省

  • 承德市
  • 河北省

  • 沧州市
  • 河北省

  • 石家庄市
  • 河北省

  • 秦皇岛市
  • 河北省

  • 衡水市
  • 河北省

  • 邢台市
  • 河北省

  • 邯郸市
  • 河南省

  • 三门峡市
  • 河南省

  • 信阳市
  • 河南省

  • 南阳市
  • 河南省

  • 周口市
  • 河南省

  • 商丘市
  • 河南省

  • 安阳市
  • 河南省

  • 平顶山市
  • 河南省

  • 开封市
  • 河南省

  • 新乡市
  • 河南省

  • 洛阳市
  • 河南省

  • 漯河市
  • 河南省

  • 濮阳市
  • 河南省

  • 焦作市
  • 河南省

  • 省直辖县级行政区划
  • 河南省

  • 许昌市
  • 河南省

  • 郑州市
  • 河南省

  • 驻马店市
  • 河南省

  • 鹤壁市
  • 浙江省

  • 丽水市
  • 浙江省

  • 台州市
  • 浙江省

  • 嘉兴市
  • 浙江省

  • 宁波市
  • 浙江省

  • 杭州市
  • 浙江省

  • 温州市
  • 浙江省

  • 湖州市
  • 浙江省

  • 绍兴市
  • 浙江省

  • 舟山市
  • 浙江省

  • 衢州市
  • 浙江省

  • 金华市
  • 海南省

  • 三亚市
  • 海南省

  • 三沙市
  • 海南省

  • 儋州市
  • 海南省

  • 海口市
  • 海南省

  • 省直辖县级行政区划
  • 湖北省

  • 十堰市
  • 湖北省

  • 咸宁市
  • 湖北省

  • 孝感市
  • 湖北省

  • 宜昌市
  • 湖北省

  • 恩施土家族苗族自治州
  • 湖北省

  • 武汉市
  • 湖北省

  • 省直辖县级行政区划
  • 湖北省

  • 荆州市
  • 湖北省

  • 荆门市
  • 湖北省

  • 襄阳市
  • 湖北省

  • 鄂州市
  • 湖北省

  • 随州市
  • 湖北省

  • 黄冈市
  • 湖北省

  • 黄石市
  • 湖南省

  • 娄底市
  • 湖南省

  • 岳阳市
  • 湖南省

  • 常德市
  • 湖南省

  • 张家界市
  • 湖南省

  • 怀化市
  • 湖南省

  • 株洲市
  • 湖南省

  • 永州市
  • 湖南省

  • 湘潭市
  • 湖南省

  • 湘西土家族苗族自治州
  • 湖南省

  • 益阳市
  • 湖南省

  • 衡阳市
  • 湖南省

  • 邵阳市
  • 湖南省

  • 郴州市
  • 湖南省

  • 长沙市
  • 甘肃省

  • 临夏回族自治州
  • 甘肃省

  • 兰州市
  • 甘肃省

  • 嘉峪关市
  • 甘肃省

  • 天水市
  • 甘肃省

  • 定西市
  • 甘肃省

  • 平凉市
  • 甘肃省

  • 庆阳市
  • 甘肃省

  • 张掖市
  • 甘肃省

  • 武威市
  • 甘肃省

  • 甘南藏族自治州
  • 甘肃省

  • 白银市
  • 甘肃省

  • 酒泉市
  • 甘肃省

  • 金昌市
  • 甘肃省

  • 陇南市
  • 福建省

  • 三明市
  • 福建省

  • 南平市
  • 福建省

  • 厦门市
  • 福建省

  • 宁德市
  • 福建省

  • 泉州市
  • 福建省

  • 漳州市
  • 福建省

  • 福州市
  • 福建省

  • 莆田市
  • 福建省

  • 龙岩市
  • 西藏自治区

  • 山南市
  • 西藏自治区

  • 拉萨市
  • 西藏自治区

  • 日喀则市
  • 西藏自治区

  • 昌都市
  • 西藏自治区

  • 林芝市
  • 西藏自治区

  • 那曲市
  • 西藏自治区

  • 阿里地区
  • 贵州省

  • 六盘水市
  • 贵州省

  • 安顺市
  • 贵州省

  • 毕节市
  • 贵州省

  • 贵阳市
  • 贵州省

  • 遵义市
  • 贵州省

  • 铜仁市
  • 贵州省

  • 黔东南苗族侗族自治州
  • 贵州省

  • 黔南布依族苗族自治州
  • 贵州省

  • 黔西南布依族苗族自治州
  • 辽宁省

  • 丹东市
  • 辽宁省

  • 大连市
  • 辽宁省

  • 抚顺市
  • 辽宁省

  • 朝阳市
  • 辽宁省

  • 本溪市
  • 辽宁省

  • 沈阳市
  • 辽宁省

  • 盘锦市
  • 辽宁省

  • 营口市
  • 辽宁省

  • 葫芦岛市
  • 辽宁省

  • 辽阳市
  • 辽宁省

  • 铁岭市
  • 辽宁省

  • 锦州市
  • 辽宁省

  • 阜新市
  • 辽宁省

  • 鞍山市
  • 重庆市

  • 重庆市

  • 市辖区
  • 陕西省

  • 咸阳市
  • 陕西省

  • 商洛市
  • 陕西省

  • 安康市
  • 陕西省

  • 宝鸡市
  • 陕西省

  • 延安市
  • 陕西省

  • 榆林市
  • 陕西省

  • 汉中市
  • 陕西省

  • 渭南市
  • 陕西省

  • 西安市
  • 陕西省

  • 铜川市
  • 青海省

  • 果洛藏族自治州
  • 青海省

  • 海东市
  • 青海省

  • 海北藏族自治州
  • 青海省

  • 海南藏族自治州
  • 青海省

  • 海西蒙古族藏族自治州
  • 青海省

  • 玉树藏族自治州
  • 青海省

  • 西宁市
  • 青海省

  • 黄南藏族自治州
  • 黑龙江省

  • 七台河市
  • 黑龙江省

  • 伊春市
  • 黑龙江省

  • 佳木斯市
  • 黑龙江省

  • 双鸭山市
  • 黑龙江省

  • 哈尔滨市
  • 黑龙江省

  • 大兴安岭地区
  • 黑龙江省

  • 大庆市
  • 黑龙江省

  • 牡丹江市
  • 黑龙江省

  • 绥化市
  • 黑龙江省

  • 鸡西市
  • 黑龙江省

  • 鹤岗市
  • 黑龙江省

  • 黑河市
  • 黑龙江省

  • 齐齐哈尔市