CN105139077A - 基于QEA可变旋转角距离的Jop-Shop调度方法 - Google Patents

基于QEA可变旋转角距离的Jop-Shop调度方法 Download PDF

Info

Publication number
CN105139077A
CN105139077A CN201510398936.9A CN201510398936A CN105139077A CN 105139077 A CN105139077 A CN 105139077A CN 201510398936 A CN201510398936 A CN 201510398936A CN 105139077 A CN105139077 A CN 105139077A
Authority
CN
China
Prior art keywords
quantum
population
value
solution
bestsofar
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201510398936.9A
Other languages
English (en)
Inventor
郑玉
杨阳
顾韵华
方巍
朱节中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University of Information Science and Technology
Original Assignee
Nanjing University of Information Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing University of Information Science and Technology filed Critical Nanjing University of Information Science and Technology
Priority to CN201510398936.9A priority Critical patent/CN105139077A/zh
Publication of CN105139077A publication Critical patent/CN105139077A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于QEA可变旋转角距离的Jop-Shop调度方法,采用基于工序的量子染色体编码来表示一个调度,通过检测调度的有效性,提高解空间的搜索效率;进而利用基于可变旋转角的量子进化算法模式来产生子代,从而有效扩展解的多样性,能有效地防止收敛到局部最优解;同时提高了收敛速度,最终实现最少时间代价获得全局最优解(即最优的调度方案)。本发明中,由于使用了二进制解、十进制解以及工序解的形式、可变角距离的量子进化算法,使得效率上更优于其他方法。

Description

基于QEA可变旋转角距离的Jop-Shop调度方法
技术领域
本发明涉及一种基于QEA可变旋转角距离的Jop-Shop调度方法。
背景技术
QEA算法是量子启发式进化算法的简称,它是进化算法的一种。该算法采用量子比特位编码表示染色体,用量子门更新完成进化搜索,具有种群规模小、收敛速度快和全局寻优能力强的特点。
生产调度问题种类繁多,方法多样,其中单件车间调度(Job-ShopSchedulingProblem)是最基本、最著名的机器调度问题,同时也是最困难的NP-hard组合优化问题之一。人们为解决这一难题已经付出几十年的努力,但至今最先进的算法仍很难得到规模较小问题的最优解。
该问题通常可以这样描述:n个工件在m台机器上加工,每个工件有特定的加工工艺,每个工件使用机器的顺序及其每道工序所花的时间是给定的,则Job-Shop问题就是如何安排工件在每台机器上工件的加工顺序,使得加工时间最优。
典型Job-shop调度问题的描述如下:
设生产系统有n个工件需要在m台机器上加工,同时满足以下约束条件:
(1)每个工件由m道工序组成,每道工序在不同的机器上加工;
(2)每道工序必须在指定的机器上加工;
(3)按照加工工艺的规定,每道工序必须在它前面的工序加工完毕后才能进入下一道工序;
(4)每道工序一旦开始加工,不会被另外的工序所中断。
(5)每台机器在同一时间内只能加工一个工件;
(6)每个工件在同一时间内只能在一台机器上加工;
(7)工件之间没有加工顺序的约束;
(8)工件准备时间包含在加工时间中。
近十几年来,通过模拟自然界中生物、物理过程和人类行为过程而发展的启发式进化算法,如遗传算法、禁忌搜索、模拟退火、粒子群优化算法、蚁群优化算法等,为解决调度问题提供了新的思路和手段,引起了国内外学者广泛的兴趣。
这些算法运用于Job-Shop调度问题的编码主要分为两大类:直接编码和间接编码。直接编码就是一个调度直接被编码成一个染色体,诸如基于工序的编码、基于工件的编码、基于工件对关系的编码、基于完成时间的编码和随机数编码等;间接编码是用产生调度的信息,而不是调度本身编码为基因链,基于优先表编码、基于优先规则编码、基于析取图编码和基于机器的编码都属于此类。无论哪种编码都是通过迭代方式对其进行求解,进而试图获取最优解。
然而这些算法多少都存在一定的缺陷,比如,遗传算法随着规模扩大,无法获取最优解,且收敛速度慢;模拟退火算法虽比遗传算法表现要好,对于较为复杂的约束条件也能找到较好的解构型,但收敛速度也有待提高;粒子群算法在收敛速度上有很好提高,不过存在容易陷入局部最优的缺陷。
发明内容
技术问题:本发明提供一种提高解空间的搜索效率,从而有效扩展解的多样性,能有效地防止收敛到局部最优解,同时提高了收敛速度,最终实现最少时间代价获得全局最优解的基于QEA可变旋转角距离的Jop-Shop调度方法。
技术方案:本发明将基于可变旋转角的量子进化算法应用于Job-Shop调度问题中。通过建立面向调度评估的时间成本计算模型(适应度函数),采用基于工序的量子染色体编码和解码方案;同时为了丰富种群的多样性,引入了可变旋转角的进化策略;最后,采用广泛认可的基准问题来验证该算法的有效性。
本发明的基于QEA可变旋转角距离的Jop-Shop调度方法,包括如下步骤:
步骤一:初始化量子种群Q(t),其中t=0;
步骤二:测量量子种群Q(t),生成基于时间编码的二进制种群timeBinary(t),所述二进制种群中的每个个体代表一个调度方案;
步骤三:将所述二进制种群timeBinary(t)转化为十进制种群timeDecimal(t);
步骤四:对所述十进制种群timeDecimal(t)由小到大排序,得到新的十进制种群timeNewDecimal(t);
步骤五:按照工序数对所述新的十进制种群timeNewDecimal(t)进行分割,得到分割后的工序方案序列sequential(t);
步骤六:计算所述工序方案序列sequential(t)中所有方案的工序加工时间适应度值并保存;
步骤七:将本次迭代得到的工序方案序列sequential(t)中工序加工时间适应度值最小的工序方案存储到代表本次迭代最优解的TheCurrentBest中,然后判断TheCurrentBest和最优解bestSoFar的大小,如果TheCurrentBest<bestSoFar,则将最优解bestSoFar中的值更新为TheCurrentBest的值,否则,保持最优解bestSoFar的值不变;
步骤八:判断迭代次数是否达到了设定次数,如果是,则将本次迭代后得到的最优解bestSoFar作为最终结果并结束本调度方法流程;否则,采用可变角距离策略量子旋转门进化,更新量子种群Q(t),并令迭代次数t加1后返回步骤二。
进一步的,在步骤一中,初始化量子种群,使得测量量子比特时为0或1的概率均为1/2。
进一步的,在步骤二中,按照如下方法生成基于时间编码的二进制种群timeBinary(t):对每个Q(t),随机产生一个0与1之间的随机数r,若则令xi(t)=1,否则,令xi(t)=0,i=1,2,…,l,最终得到一个长度为L的二进制即为二进制种群timeBinary(t),其中i表示位序,xi表示由第i个量子比特产生的二进制数,取值为:0或1;t为迭代次数。
进一步的,步骤三中的具体转化方法为:将二进制种群timeBinary(t)中每个二进制串转化为十进制串,最终得到长度为n×m的十进制串 t i m e D e c i m a l ( t ) = ( d 1 t , d 2 t , ... , d m &times; n t ) .
进一步的,步骤五的具体方式为:在新的十进制种群timeNewDecimal(t)中挑选出前m个数,它们分别代表第一个工件的第1~m道工序;接下来再挑选出第2组m个数,它们代表第二个工件的第1~m道工序;其余的依次类推,最终得到分割后的工序方案sequential(t)。
进一步的,步骤八中的可变角距离策略量子旋转进化的具体流程为:
先将量子种群Q(t)转化成二进制比特的形式,如果本次迭代得到的TheCurrentBest比最优解bestSoFar差,则继续保留最优解bestSoFar的值,否则,就将最优解bestSoFar的值更新为TheCurrentBest的值;
然后,本次迭代种群中的所有解向最优解bestSoFar偏转,偏转的规则是逐个判断最优解bestSoFar的第i个比特位的值与当前每个解的第i个比特位的值是否不同,如果不同,则利用可变角距离对该比特位进行量子旋转进化,更新量子种群Q(t),否则,该比特位就不需要进行量子旋转进化。
进一步的,步骤八中利用可变角距离进行量子旋转进化,具体方法为根据下式计算得到的调整后旋转角度θi进行量子旋转:
式中,k选取[3,9]之间正态分布的随机常数;表示量子染色体中第i个量子比特与基态|0>和|1>之间的角距离,通过下式计算得到:
式中,αi和βi的概率幅,αi和βi必须满足归一化的要求,即:αi 2i 2=1。由于每个量子比特都有两种基态,所以我们用αi代表第i个量子比特偏向基态|0>的概率幅度,βi代表第i个量子比特偏向基态|1>的概率幅度。xi的测量值,取值为0或1;bi为当前最优二进制解b的第i个比特值,取值为0或1;f(b)表示当前获得的最优解,f(x)表示当前解;∧表示“逻辑与”的意思,即符号两边要同时满足要求;表示第i个量子比特与基态|0>之间的角距离;同理,表示第i个量子比特与基态|1>之间的夹角。
本发明采用基于工序的量子染色体编码来表示一个调度,通过检测调度的有效性,提高解空间的搜索效率;进而利用基于可变旋转角的量子进化算法模式来产生子代,从而有效扩展解的多样性,能有效地防止收敛到局部最优解;同时提高了收敛速度,最终实现最少时间代价获得全局最优解(即最优的调度方案)。本发明中,由于使用了二进制解、十进制解以及工序解的形式、可变角距离的量子进化算法,使得效率上更优于其他方法。
具体的说,是利用改进的量子进化算法寻找符合各种约束的加工时间最短的最优调度方案的构型。
有益效果:本发明与现有技术相比,具有以下优点:
本发明通过将基于可变角距离的量子进化算法运用到Job-shop问题模型中,结合排序、分割等策略提高解空间的搜索能力,并可找到已公开算例最好结果,且比以往其他进化算法收敛速度更佳。另一方面,算法采用的解形式是多样的,包括二进制解、十进制解以及工序解,前面两种都是为最终所求得的工序解作准备的。顺序解有利于计算加工时间,提高算法执行速度。通过对比发现,本发明采用量子比特位编码表示染色体,用基于可变角距离的量子门更新完成进化搜索,可以有效摆脱陷入局部最优的困境,能够在全局范围内人有效查找最优解,具有种群规模小、收敛速度快和全局寻优能力强的特点。
附图说明
图1为本发明方法的流程图。
图2具体的分割映射流程。
图3可变角距离进化流程图。
具体实施方式
下面结合实施例和说明书附图对本发明作进一步的说明。如图1所示,本发明方法流程如下:
第一步:初始化量子种群Q(t)。这里首先确定量子染色体的编码长度。对于含有n个工件m台机器的Jop-shop调度问题,取量子染色体的bit数为:其中的表示向下取整。同时设置种群规模为50。
第二步:测量量子种群Q(t),生成二进制解种群timeDecimal(t),每个量子比特为:(即|0>和|1>等概率出现)。
按照如下方法生成基于时间编码的二进制种群timeBinary(t):对每个Q(t),随机产生一个0与1之间的随机数r,若则令xi(t)=1,否则,令xi(t)=0,i=1,2,…,l,最终得到一个长度为L的二进制即为二进制种群timeBinary(t),其中i表示位序,xi表示由第i个量子比特产生的二进制数,取值为:0或1;t为迭代次数。
第三步:将每个二进制串转化为十进制串,因此,可以得到长度为n×m的十进制串具体转化方法为:将二进制种群timeBinary(t)中每个二进制串转化为十进制串,最终得到长度为n×m的十进制串 t i m e D e c i m a l ( t ) = ( d 1 t , d 2 t , ... , d m &times; n t ) .
第四步:对所述十进制种群timeDecimal(t)由小到大排序,得到新的十进制种群timeNewDecimal(t);
第五步:排序、分割映射(如图2所示)。将timeDecimal(t)进行映射成sequential(t)步骤为:最小的m个数表示第一个工件,这m个数排列在m个不一定连续的位置上,由于它们是整个十进制数列中最小的,分别代表第一个工件的第1至m道工序的加工次序(即安排哪台机器加工哪道工序);接下来的m个数表示第二个工件,依次类推。在此过程中我们保持每个数在timeNewDecimal(t)中的相对位置不变。因此,可以得到n个工件序号每个都重复m次的一个排列sequential(t)。
第六步:计算工序解种群sequential(t)中所有个体的适应度值(加工时间的总和)。过程如下:设置sum,记录sequential(t)中按顺序加工的所有工件的每道工序所花时间之和。
第七步:对个体进行比较,用bestSoFar保存种群中拥有能量最低的Fitness值和个体方向解。
第八步:判断进化代数是否达到最大代数,如果满足则停止;否则对t代量子种群进行更新,通过可变角距离旋转进行量子进化(如图3所示),利用公式(2)和(3)将种群向着最优解bestSoFar进化,得到新一代量子种群后令迭代次数t加1后返回步骤二。
可变角距离策略量子旋转门进化的具体流程为:
先将量子种群Q(t)转化成二进制比特的形式,如果本次迭代得到的TheCurrentBest比最优解bestSoFar差,则继续保留最优解bestSoFar的值,否则,就将最优解bestSoFar的值更新为TheCurrentBest的值;
然后,本次迭代种群中的所有解向最优解bestSoFar偏转,偏转的规则是逐个判断最优解bestSoFar的第i个比特位的值与当前每个解的第i个比特位的值是否不同,如果不同,则利用可变角距离对该比特位进行量子旋转进化,更新量子种群Q(t),否则,该比特位就不需要进行量子旋转进化。
其中,利用可变角距离进行量子旋转进化的具体方法为根据下式计算得到的调整后旋转角度θi进行量子旋转:
式中,k选取[3,9]之间正态分布的随机常数;表示量子染色体中第i个量子比特与基态|0>和|1>之间的角距离,通过下式计算得到:
式中,αi和βi的概率幅,αi和βi必须满足归一化的要求,即:αi 2i 2=1。由于每个量子比特都有两种基态,所以我们用αi代表第i个量子比特偏向基态|0>的概率幅度,βi代表第i个量子比特偏向基态|1>的概率幅度。xi的测量值,取值为0或1;bi为当前最优二进制解b的第i个比特值,取值为0或1;f(b)表示当前获得的最优解,f(x)表示当前解;∧表示“逻辑与”的意思,即符号两边要同时满足要求;表示第i个量子比特与基态|0>之间的角距离;同理,表示第i个量子比特与基态|1>之间的夹角。
此处,如果当前解比之前找到的最优解差,并且最优解的第i个比特位的值与当前解的第i个比特位的值不同,则当前解需要向最优解靠拢(即:按照计算出的角度Δθ进行旋转);否则,就不需要旋转。在旋转之前,首先要将方向解种群转化成二进制比特的形式,再利用可变角距离进行量子旋转进化。采用该方法,在一定程度加快了算法的运行速度。
上述实施例仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和等同替换,这些对本发明权利要求进行改进和等同替换后的技术方案,均落入本发明的保护范围。

Claims (7)

1.一种基于QEA可变旋转角距离的Jop-Shop调度方法,其特征在于,该方法包括如下步骤:
步骤一:初始化量子种群Q(t),其中t=0;
步骤二:测量量子种群Q(t),生成基于时间编码的二进制种群timeBinary(t),所述二进制种群中的每个个体代表一个调度方案;
步骤三:将所述二进制种群timeBinary(t)转化为十进制种群timeDecimal(t);
步骤四:对所述十进制种群timeDecimal(t)由小到大排序,得到新的十进制种群timeNewDecimal(t);
步骤五:按照工序数对所述新的十进制种群timeNewDecimal(t)进行分割,得到分割后的工序方案序列sequential(t);
步骤六:计算所述工序方案序列sequential(t)中所有方案的工序加工时间适应度值并保存;
步骤七:将本次迭代得到的工序方案序列sequential(t)中工序加工时间适应度值最小的工序方案存储到代表本次迭代最优解的TheCurrentBest中,然后判断TheCurrentBest和最优解bestSoFar的大小,如果TheCurrentBest<bestSoFar,则将最优解bestSoFar中的值更新为TheCurrentBest的值,否则,保持最优解bestSoFar的值不变;
步骤八:判断迭代次数是否达到了设定次数,如果是,则将本次迭代后得到的最优解bestSoFar作为最终结果并结束本调度方法流程;否则,采用可变角距离策略量子旋转门进化,更新量子种群Q(t),并令迭代次数t加1后返回步骤二。
2.根据权利要求1所述的基于QEA可变旋转角距离的Jop-Shop调度方法,其特征在于,所述步骤一中,初始化量子种群,使得测量量子比特时为0或1的概率均为1/2。
3.根据权利要求1所述的基于QEA可变旋转角距离的Jop-Shop调度方法,其特征在于,所述步骤二中按照如下方法生成基于时间编码的二进制种群timeBinary(t):对每个Q(t),随机产生一个0与1之间的随机数r,若则令xi(t)=1,否则,令xi(t)=0,i=1,2,…,l,最终得到一个长度为L的二进制即为二进制种群timeBinary(t),其中i表示位序,xi表示由第i个量子比特产生的二进制数,取值为:0或1;t为迭代次数。
4.根据权利要求1、2或3所述的基于QEA可变旋转角距离的Jop-Shop调度方法,其特征在于,所述步骤三中的具体转化方法为:将二进制种群timeBinary(t)中每个二进制串转化为十进制串,最终得到长度为n×m的十进制串 t i m e D e c i m a l ( t ) = ( d 1 t , d 2 t , ... , d m &times; n t ) .
5.根据权利要求1、2或3所述的基于QEA可变旋转角距离的Jop-Shop调度方法,其特征在于,所述步骤五的具体方式为:
在新的十进制种群timeNewDecimal(t)中挑选出前m个数,它们分别代表第一个工件的第1~m道工序;接下来再挑选出第2组m个数,它们代表第二个工件的第1~m道工序;其余的依次类推,最终得到分割后的工序方案sequential(t)。
6.根据权利要求1、2或3所述的基于QEA可变旋转角距离的Jop-Shop调度方法,其特征在于,所述步骤八中的可变角距离策略量子旋转门进化的具体流程为:
先将量子种群Q(t)转化成二进制比特的形式,如果本次迭代得到的TheCurrentBest比最优解bestSoFar差,则继续保留最优解bestSoFar的值,否则,就将最优解bestSoFar的值更新为TheCurrentBest的值;
然后,本次迭代种群中的所有解向最优解bestSoFar偏转,偏转的规则是逐个判断最优解bestSoFar的第i个比特位的值与当前每个解的第i个比特位的值是否不同,如果不同,则利用可变角距离对该比特位进行量子旋转进化,更新量子种群Q(t),否则,该比特位就不需要进行量子旋转进化。
7.根据权利要求6所述的基于QEA可变旋转角距离的Jop-Shop调度方法,其特征在于,所述步骤八中利用可变角距离进行量子旋转进化,具体方法为根据下式计算得到的调整后旋转角度θi进行量子旋转:
式中,k选取[3,9]之间正态分布的随机常数;表示量子染色体中第i个量子比特与基态之间的角距离,通过下式计算得到:
式中,αi和βi的概率幅,αi和βi必须满足归一化的要求,即:αi 2i 2=1,αi代表第i个量子比特偏向基态|0>的概率幅度,βi代表第i个量子比特偏向基态|1>的概率幅度,xi的测量值,取值为0或1;bi为当前最优二进制解b的第i个比特值,取值为0或1;f(b)表示当前获得的最优解,f(x)表示当前解;∧表示“逻辑与”的意思,即符号两边要同时满足要求;表示第i个量子比特与基态|0>之间的角距离;同理,表示第i个量子比特与基态|1>之间的夹角。
CN201510398936.9A 2015-07-08 2015-07-08 基于QEA可变旋转角距离的Jop-Shop调度方法 Pending CN105139077A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510398936.9A CN105139077A (zh) 2015-07-08 2015-07-08 基于QEA可变旋转角距离的Jop-Shop调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510398936.9A CN105139077A (zh) 2015-07-08 2015-07-08 基于QEA可变旋转角距离的Jop-Shop调度方法

Publications (1)

Publication Number Publication Date
CN105139077A true CN105139077A (zh) 2015-12-09

Family

ID=54724419

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510398936.9A Pending CN105139077A (zh) 2015-07-08 2015-07-08 基于QEA可变旋转角距离的Jop-Shop调度方法

Country Status (1)

Country Link
CN (1) CN105139077A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107330808A (zh) * 2017-07-21 2017-11-07 山东万腾电子科技有限公司 基于量子进化算法的复杂场景排产方法及系统
CN107798413A (zh) * 2017-06-07 2018-03-13 温州大学 皮革多轮廓加工快进路径优化方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107798413A (zh) * 2017-06-07 2018-03-13 温州大学 皮革多轮廓加工快进路径优化方法
CN107798413B (zh) * 2017-06-07 2021-04-23 温州大学 皮革多轮廓加工快进路径优化方法
CN107330808A (zh) * 2017-07-21 2017-11-07 山东万腾电子科技有限公司 基于量子进化算法的复杂场景排产方法及系统
CN107330808B (zh) * 2017-07-21 2021-01-15 山东万腾电子科技有限公司 基于量子进化算法的复杂场景排产方法及系统

Similar Documents

Publication Publication Date Title
CN107275801B (zh) 一种l型阵列天线的基于获得性遗传的阵元排布方法
CN107832885A (zh) 一种基于自适应迁移策略bbo算法的舰艇编队火力分配方法
CN107392397A (zh) 一种短期风速预测方法、装置及系统
CN105740953A (zh) 一种基于实数编码量子进化算法的不规则排样方法
CN108460548A (zh) 一种基于改进灰狼算法的多金属露天矿生产作业计划编制方法
CN109340046A (zh) 一种基于改进遗传算法的大型风力发电机组偏航控制参数优化方法
CN106940742A (zh) 基于快速自适应量子遗传算法的复杂井眼轨迹优化方法
CN104516785A (zh) 一种云计算资源调度系统及方法
CN104638672A (zh) 一种考虑变量相关性的光伏穿透功率极限的确定方法
CN104268629A (zh) 一种基于先验信息和网络固有信息的复杂网络社区检测方法
CN106844827A (zh) 一种六自由度并联机构优化方法
CN106127304A (zh) 一种适用于配电网网络拓扑设计方法
CN106874555A (zh) 一种Reed‑Muller逻辑电路功耗和面积优化方法
CN105139077A (zh) 基于QEA可变旋转角距离的Jop-Shop调度方法
Shang et al. Production scheduling optimization method based on hybrid particle swarm optimization algorithm
CN104732067A (zh) 一种面向流程对象的工业过程建模预测方法
CN115809594A (zh) 基于代理模型辅助的浮式风电场功率优化方法及系统
CN104504424B (zh) 基于多种群共生进化的射频识别网络布局优化方法
CN103136410A (zh) 干支管网布局优化模型的求解方法
CN103473599A (zh) 一种基于遗传算法和卡尔曼滤波的rbfn组合训练方法
CN102386935A (zh) 维特比译码方法及维特比译码器
CN109685242B (zh) 基于Adaboost算法的光伏超短期组合预测方法
CN115542912B (zh) 一种基于改进Q-learning算法的移动机器人路径规划方法
CN114217580B (zh) 基于改进型差分进化算法的功能性纤维生产排产方法
CN102708241B (zh) 一种用于油藏历史拟合的快速粒子群方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20151209