登陆注册
7545600000021

第21章 工业工程(10)

1.1.2订单层级约束

订单层级约束主要包括以下几种:

(1)最早开工时间:订单最早开始加工的时间;

(2)最晚完工时间:订单最晚完工的时间;

(3)订单间次序关系:如订单A需要排在订单B前执行,即订单B必须在订单A完工后才能开工或订单B必须在订单A开工后才能开工等;

(4)订单的优先级:不同的订单可能有不同的优先级,优先级越高的订单加工次序越早。

1.1.3工序层级约束

工序层级约束主要包括以下几种:

(1)工序的资源需求:如工序a需要在车床1或车床2上进行加工;

(2)工序的加工时间;

(3)工序的时序控制:如工序a完工后一小时,工序b开工;

(4)工序的时间窗口:如工序a的开工时间在10:00~12:00之间;

(5)工序的资源可替代性:如工序a最好用1类资源加工,若无1类资源,那么可用2类资源加工;

(6)工序的工艺流程。

另外还有一些复杂的个性化约束,例如下班前不开工、小批量遗留当班完成……

1.2优化目标

生产排程的优化问题通常都是多目标的,一般有以下优化目标:

(1)最小化订单的时间延迟量;

(2)最小化工期;

(3)最小化订单延迟数量;

(4)最小化工作时间跨度;

(5)最大化主要资源利用率……

2.混合集合规划

混合集合规划(Mixed Set Programming)源于逻辑规划(Logic Programming)和约束规划(Constraint Programming),是以一阶逻辑与集合推理为算法框架的逻辑求解系统,它实现了实数、整数、布尔值、日期/时间及集合类型的混合域上的全局推理,将集合运算、数值约束、逻辑函数及运筹学算法集成于一个语言系统以处理约束满足问题。这里的集合规划概念并非在问题求解中对集合符号、集合变量及集合约束的简单使用,而是系统地将集合推理与运筹学算法相结合,以集合变量为主进行问题建模,以基于集合推理的算法来求解问题。

在实际运用中,许多问题并不能用线性模型和简单的整数或实数变量描述。混合集合规划旨在实现一种超越线性限制的、更通用的算法系统来求解约束满足问题,特别适用于集合覆盖/集合划分、生产排程、路径优化等问题。

3.大规模生产排程问题的建模及求解

本节介绍采用NCL语言(Natural Constraint Language)对大规模的生产排程问题进行建模求解的过程。NCL语言是一门集优化计算、逻辑编程及求解规则于一体的业务建模和问题求解的智能描绘型语言,它支持混合集合规划。

3.1数据逻辑

为支持软件工程,生产排程的数据库设计采用面向对象的方法。

通过问题建模分析可知,生产排程问题涉及三个基础数据类:资源(RESOURCE)、作业(JOB)、工序(TASK)。RESOURCE表对应资源数据类,用来定义资源的标识符(id)、名称(name)、类型(type)等;JOB表对应作业数据类,用以定义作业的标识符(id)、最早开工时间(t1)、最晚完工时间(t2)等;TASK表对应工序数据类,定义工序的标识符(id)、名称(name)、对应的作业编码(idJob)、候选资源标识符集合(IdResource)、可开工时间窗(TimeWin)等。为支持滚动排程,系统引进已占用资源表OCCUPATION定义资源编码(id)、资源占用起始时间(t1)、资源占用结束时间(t2)等。

在实际应用中,用户还将面对产品(PRODUCT)、工艺路线(PROCESS)、订单(ORDER)三个数据类。他们之间的关系如下:

(1)PRODUCT定义车间所能生产的产品的标识符(id)、名称(name)、类型(type)等;

(2)PROCESS定义车间生产各类产品的工艺路线的标识符(id)、名称(name)、生产的产品(idProduct)、加工路线(产品在各资源上的加工路线)等;

(3)ORDER定义车间生产各类产品的订单的标识符(id)、名称(name)、生产的产品(idProduct)、产量(quantity)等。

数据之间的关系如下:由于资源能力的限制,一个订单可能要分批次加工,对应一个或多个作业;由作业表(JOB)及工艺路线表(PROCESS)可派生出工序表(TASK)。

3.2滚动排程

对于大规模生产排程问题,由于其数据量巨大,不可能一次进行全局优化求解,本文采取的方案是基于小规模局部优化的“滚动排程”。该方案的核心是将大规模数据合理地分成若干组小规模数据,这些小规模数据都可以在较短的时间内被混合集合规划算法优化求解,将这些小规模数据的解有机地组合起来即是原问题的一个较优可行解。

3.3模型详解

NCL对生产排程问题的建模在于对问题的数理逻辑描述。

(1)订单分组模型

定义作业分组数变量nbGroup的过程中,每次安排一定数量的工序,直到拆分完所有的订单包含的工序。

(2)生产排程模型

1)工作日历约束:

对于任意一个工序,其有效时间为该工序在所需设备资源上的工作时间段(不同的资源的可工作时间段可不同)和该工序加工时间段的交集。

2)工序对资源及时间的需求约束:

对于任意两个不同的工序,它们用到的资源实体不相同或者加工时间段不冲突。

以上约束称为二维排程约束,是生产排程问题的核心约束。它将工序的资源变量(整数:resourceTaski)及时间变量(集合:TimeTaski)上的约束逻辑描述为:两工序或者占用资源不同,或者加工时间段不相交。

对于任意一个资源,其工作时间段等于所有使用该资源的时间段的并集;对于使用该资源的任意两个不相同的工序,它们的加工时间段不冲突。

3.4求解策略

NCL语言建模的关键之一是对搜索策略的设计。设计合适的搜索策略,才能对建立的生产排程模型高效地进行求解。NCL的求解系统基于约束切割与深度优先搜索(Constraint Cuts and Depth-First Search),其框架如图2所示:首先用约束切割解的搜索空间,如查询变量的值域确定且不为空集则找到解,回溯继续搜索其余解空间以寻求更优解;如查询变量存在值域为空集者,则证明目前状态下无解,回溯继续探索其余解空间以寻求解;如查询变量的取值有未确定者(可以再细分),则按搜索规则选择某个查询变量,将该变量的值域一分为二,把问题变成对应子域的两个子问题,系统进行分枝以求解子问题。

具体到生产排程的模型中,对于每道工序,系统只需确定工序所用资源和工序开工时间就可确定这道工序的具体加工安排。因而,系统在查询变量的取值时,首先询问工序所用资源,然后再确定工序的开工时间。完善的二维排程算法和经过大量数据验证的通用性搜索策略保证了我们可以得到一个满足所有约束的可行解,并在此基础上进一步回溯以寻找更好的解。

3.5结果输出

基于NCL语言的生产排程问题的结果可以三种可视化形式展现:甘特图、资源负载图、生产模拟。其中甘特图包括资源-工序甘特图,订单-工序甘特图;资源负载图主要用以展示资源的利用率,使用户对瓶颈资源一目了然;生产模拟功能可进行二维平面俯视图上的车间生产过程模拟与虚拟实时跟踪。

4.应用举例

本节以具体实例验证本文生产排程优化问题的模型和NCL的求解效果。运行的硬件环境是配有英特尔酷睿双核T9400处理器(主频2.53Gz),2G DDR2内存的PC机,操作系统为Windows 7,建模求解工具是POEM优化计算平台2.9版。实例为四川成都四威产业园的生产排程问题。测试数据为订单50个,资源设备463个,工序数目为11 700左右的较大规模的数据。在求解过程中,采用滚动排程思想,将11700个工序分成47组,求得整个问题可行解的时间为50分钟17秒左右。

计算结果的可视化按以下三种方法给出:

(1)甘特图,包括工位-工序甘特图和订单-工序甘特图。

(2)资源负载图,用来展示每个资源设备的利用率。用户可直观地分析瓶颈资源,并有针对性地调整资源分配情况,以期得到更合理的分配。

(3)生产模拟。它主要实现二维平面俯视图上的车间生产过程模拟与虚拟实时跟踪功能。用户可查看各资源的模拟工作情况(如该资源是否在工作,资源正在加工哪道工序),查看各作业的加工进度(如作业完成度、已加工完毕的工序、正在加工的工序等)。

5.结论

生产排程问题是一个困扰学术界多年的NP-hard问题,一个简单的Job-Shop的MT10问题就曾经使世界各地学者为之研究长达25年之久才得以解决。由此可知对工业应用中复杂的大规模生产排程问题求解的难度。本文提出了滚动排程的思想,先将大规模问题按排产逻辑分解,再将小规模问题逐一求解,最后通过一定的滚动和衔接逻辑将分解后的小规模问题的解进行合并而形成大规模问题的解。经过实例验证,对于较大规模的数据(10万道工序以上的排产问题),通过滚动排程可有效地求得可行解,并给出完善的可视化结果,起到对生产进行指导的作用。

Research on Large-Scale Production Scheduling By Mixed Set Programming

YANG Long1,MEI Jun2,LIU Mao-hui2

(1.School of Management & Economics,Beijing Institute and Technology,Beijing 10081,China 2.Chengdu SIWI High-Tech Industry Co.,LTD. Chengdu 611731,China)

Abstract:Production Scheduling is an NP-hard combinatorial optimization problem. To deal with a large-scale production scheduling problem,a new method called Iterative Scheduling based on Mixed Set Programming (MSP) is proposed:First,large-scale data is decomposed into groups of small-size data according to the problem logic; second,small-size problems are solved by MSP in an iterative manner; third,some grouping logic is used to sequentially merge the local solutions into a complete solution for the whole problem.

Keywords:Production Scheduling;Mixed Set Programming;Iterative Scheduling.

同类推荐
  • 投资理财细节全书

    投资理财细节全书

    如今,理财已经越来越深入到我们的日常生活。那么,理财究竟是怎么回事?它能带给我们怎样的益处和价值?大部分人在谈到理财的时候都是说要通过理财来为他的钱保值增值,理财确实有这样的作用,但这只是理财带来的表面效应,人们对理财带给我们的益处和价值还并不完全了解。经济发展迎来“理财时代”,理财能给我们带来经济效益,带来舒适安全的生活。理财二字似乎还给人一种稳健的感觉,是低风险的,而投资或投机都是高风险的,实际上,在中国当前浓烈的投机氛围之下,理财二字几乎与金融投资或投机同义。本书即花费大量笔墨给大家描绘了投资理财的种种方式方法,希冀每个小细节都能让大家有所收获!
  • 趣味红楼管理学:王熙凤是最好的CEO

    趣味红楼管理学:王熙凤是最好的CEO

    红楼梦中隐藏着许多管理智慧,尤其在王熙凤的身上更是体现了中国传统的企业管理之道。本书作者通过幽默的构思和语言从《红楼梦》中提炼出了适用于当今社会并与当代管理学相结合的管理心经,角度新颖,内容幽默,构思奇妙,颇具实用性。
  • 私营公司全面制胜的22条底线

    私营公司全面制胜的22条底线

    一套让你受益匪浅的经商底线术。任何一个公司都力图在最短的时间内赢得利润,但无论是在经营之始,还是在经营之中,往往都是一段美妙的设想。所以有的选择“抢先登陆”,总想一下子赚一大把钱,殊不知,由于求胜心切,结果碰得头破血流;有的谨小慎微,总是打不出一张好牌,结果眼睁睁地望着别人大丰收。其实不管你做什么样的生意,只要盘算清楚自己可以攻守的底线,就可以立即果敢出击,扑向自己赚钱的目标!
  • 上市公司资本结构与公司治理绩效关系研究

    上市公司资本结构与公司治理绩效关系研究

    本书首先梳理出资本结构与公司治理的相互作用机制;然后讨论了在股权集中和分散的不同情境下,负债约束在改进公司绩效方面的不可替代的作用,提出了资本结构非对称和债权治理功能缺失的基本假说。
  • 服装店就该这样管

    服装店就该这样管

    人生四件大事:衣、食、住、行。衣为首,可见服装业的发展前景是多么的广阔。我们看到服装店开遍大街小巷,看见许许多多的服装店生意兴隆,却看不见服装店店主们的辛劳与困惑。每个店主都希望自己的店成为旺店,但是,在经营过程中,总会碰到各种各样的难题:店铺该如何管理、员工又该怎么管、如何做大做强自己的服装店,等等。
热门推荐
  • 玄幻之万界抽奖

    玄幻之万界抽奖

    地球少年苏羽携带“玄幻抽奖系统”穿越的神州大陆。“系统,给我抽奖。”“叮,恭喜宿主抽到混沌体”“叮,恭喜宿主抽到《不灭天功》”“叮,恭喜宿主抽到万物母气鼎”且看苏羽横扫大陆,成就无上主宰。(纯爽文,不虐主,不圣母。)
  • 一个精分患者的自述

    一个精分患者的自述

    我在留学的途中遇到一个英俊潇洒的神秘男子,在他的引领下,我经历了一段像过山车一样大起大落的人生,品尝了人间的风风雨雨和世态炎凉。
  • 博乐的奇妙冒险

    博乐的奇妙冒险

    一个三无青年的前世,竟然是世界上最伟大的骑士?前世他爱上了公主而世界不允许?他曾经为了自己心爱的人只身一人挑战大军。现在他只想找回自己失去的初恋同桌……而被卷入了一场骑士之间的谋略战。情敌?魔王?制定规则的精灵?最强的女神?种种一切闯进了他的生活,他只要用心施展魔力就能变成世界最强的金色骑士…这次轮回,守护世界的什么的毫不在意!这一世,我只想守护我爱的人!即使堕入深渊,即使要和世界为敌,即使这样对他没有任何好处…愿意持我手中的刀,用我剩下的生命,不管要斩破苍穹轮回几次!这次一定!一定会守护这段誓言!
  • 武林遗珠

    武林遗珠

    北宋亡国公主的成长,在靖康之难中存活,前半生幸福,后半生孤苦。看一代公主的沉浮起落,与现实的思考,成长的味道。
  • 天行

    天行

    号称“北辰骑神”的天才玩家以自创的“牧马冲锋流”战术击败了国服第一弓手北冥雪,被誉为天纵战榜第一骑士的他,却受到小人排挤,最终离开了效力已久的银狐俱乐部。是沉沦,还是再次崛起?恰逢其时,月恒集团第四款游戏“天行”正式上线,虚拟世界再起风云!
  • 不见忘川

    不见忘川

    满腔热血竭成黄沙,倾泻而出。风起,便化成鬼怪妖魔。竟不知这天地幻化,如梦似沫,乍作风云滔滔,红尘嚣嚣…路迢迢,冥冥之中定乾坤…忘川行舟无彼岸…
  • 万物朝拜

    万物朝拜

    武者的身体就像一块土壤,神灵道种在里面发芽、生根、开花、结果,最后长成参天大树,撑起一片世界。一个记忆断层的灵魂穿越时空,重生在镜王府那死去不久的世子身上后。什么?敌国太强,你们就拿我去和‘貌美如花’的敌国公主和婚?什么?这会儿你又让我率兵攻打敌国?苏尘很不满,所以,为了变得更强大,他不光要修炼神灵道种,他还要修炼身体,让这块贫瘠的土壤肥沃起来。待我君临天下,万物都将臣服?
  • 一品鬼仙

    一品鬼仙

    王爷外室之女,挣扎人世,不得善终。无意踏入仙途,天地人三界均视她为异类。不容于世也罢,以怨为利,以血为食。怎么也得为自己拼出一条生路来。
  • 仙烁

    仙烁

    纵观历史的遗迹,所谓的修真,人们通常意义上普遍认为,修真,既是指道士,和尚,一些道观,寺庙的僧侣,然,他们,仅仅是初窥天道,比起修真者,却是相差十万八千里,修真本是逆天,天下万物自有其生存的道理,一旦出现与万物法则相冲突的因素,便会形成天劫,修真,便是这个冲突的因素,自古,观一些大能者,翻云覆雨,何其威风,然,在天劫之下,大多数灰飞烟灭,能扛过天劫之威,便是所谓的修成正果,藐视苍生,千年以前,原本昌盛的大秦帝国,在秦王嬴政渡劫失败后,逐渐被后起新秀将大好的河山逐渐蚕食,原本一座香火鼎盛的道观,却在西楚霸王项羽的无情手段下,失去了昔日的繁华,到后来的无人问津,但是,故事的开始,便是在这千年前繁华昌盛的道观,其中的曲折,便听我娓娓道来。
  • 夏虫不知冰

    夏虫不知冰

    两个在繁华之下孤独挣扎的孩子,为了生存而相濡以沫,没有传说中的风花雪月,也没有意料之外的好运降临,只有无限接近的命运,在即将触碰到的那一刻销声匿迹。