一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

信息处理设备、调度指定方法和存储介质与流程

2022-07-10 14:04:47 来源:中国专利 TAG:


1.实施方式涉及信息处理设备、调度指定方法和存储介质。


背景技术:

2.当生产n件相同的产品时,存在确定需要由硬件处理的每个任务被分配在什么时间的问题。这样的问题称为生产调度问题。
3.例如,给出了关于生产产品时要执行的任务顺序、每个任务使用的硬件类型、直到每个任务完成为止的时间以及要生产的产品数量的信息,并且基于这样的信息执行调度。
4.当执行调度时,设置多个约束,并且执行调度使得在满足这些约束的同时所有生产结束时间尽可能地早。例如,存在约束(1)至(5)如下。
5.约束(1):在产品生产中,每个任务都需要按顺序执行。在存在21个任务的情况下,这些任务按1、2、3、
……
、20、21的顺序执行。
6.约束(2):每个任务都具有最小处理时间。
7.约束(3):在上一个任务结束之前,处理无法进行到下一个任务。换句话说,例如,仅一个任务可以由作为一个产品的时隙来处理。
8.约束(4):可以处理每个步骤的硬件是有限的。例如,对于每个任务,所需的硬件是唯一确定的。
9.约束(5):至多仅一个产品可以占用每件硬件。
10.图24是示出当生产特定两个相同产品时的调度结果的图(1)。在图24所示的图中,横轴对应于时隙,以及纵轴对应于硬件类型a、b、c、d、e、f、g、h和i。
11.在用于第一产品的生产的调度中,第一个任务在时隙t
1-1
中开始,以及第21个任务(最后一个任务)在时隙t
1-2
中结束。在用于第二产品的生产的调度中,第一个任务在时隙t
2-1
中开始,以及第21个任务在时隙t
2-2
中结束。在图24所示的示例中,时隙t
2-2
成为生产结束时间,并且期望使生产结束时间尽可能地早。
12.此处,在生产调度问题的一般解决方案中,针对每个产品pk和每个任务w分配用于是否在每个时隙中开始的决策变量。图25是示出当生产特定两个相同产品时的调度结果的图(2)。为简单起见,执行每个任务的硬件被认为是唯一可确定的。在图25中,假设产品的数量为“2”,任务的数量为“21”,以及时隙的数量为“400”,通过整合这些使用了168000个变量。每条线段i表示实际上是针对每个产品pk和每个任务w选择的时隙的变量。
13.日本公开特许公报第2005-190241号作为相关技术公开。


技术实现要素:

14.[技术问题]
[0015]
如上所述,在生产调度问题的一般解决方案中,针对每个产品pk和每个任务w分配用于是否在每个时隙开始的决策变量,并且指定调度。然而,在生产产品的实际领域中,由于要求解具有较大量的产品、较大量的任务和时隙范围的生产调度问题,因此存在决策变
量的数量呈指数增长并且计算成本增加的问题。
[0016]
在一个方面,该实施方式的目的是提供可以在求解生产调度问题时抑制计算成本的信息处理设备、调度指定方法和调度指定程序。
[0017]
根据实施方式的方面,一种信息处理设备包括:分类单元,其基于定义用于生产多个产品的多个任务的顺序与用于多个任务的多个设备之间的对应关系的实现信息,针对相应实现信息将多个任务分类到多个任务组中,使得多个任务中与相同设备相对应的任务不属于相同任务组;解单元,其设置多个任务组中的每个任务组占用多个设备中的每个设备的时隙,设置定义设备的每个设备的类型与时隙的值之间的关系的表,并且基于多个任务组中的每个任务组仅出现在表中的一个位置的条件、在包括相同顺序的任务的多个任务组中第一任务组出现在表中的时隙的值小于执行顺序迟于第一任务组的执行顺序的第二任务组出现在表中的时隙的值的条件、多个任务的顺序保持在相同任务组中的条件以及针对一个时隙的值出现一个任务组的条件,基于当连续布置相同产品的任务组时成本增加的目标函数,将每个任务组布置在该表中;以及指定单元,其基于该表确定包括在实现信息中的所有任务的顺序,并且通过基于所有任务的顺序分配任务中的每个任务与用于任务的设备中的每个设备之间的关系来指定包括在实现信息中的任务的开始时间的每一个。
[0018]
[发明的有利效果]
[0019]
可以在求解生产调度问题时抑制计算成本。
附图说明
[0020]
图1是用于说明生产产品的硬件的示例的图;
[0021]
图2是示出实现信息的示例的表;
[0022]
图3a、图3b和图3c是用于说明由信息处理设备执行的步骤1的视图;
[0023]
图4是用于说明由信息处理设备执行的步骤2的表;
[0024]
图5是示出根据本实施方式的信息处理设备的配置的功能框图;
[0025]
图6是用于说明分类单元的处理的表;
[0026]
图7是用于说明目标函数的值与每个任务组的布置顺序之间的关系的视图;
[0027]
图8是用于说明等式(6)的自定义约束的视图;
[0028]
图9是用于说明等式(8)的自定义约束的视图;
[0029]
图10是用于说明等式(9)的自定义约束的视图;
[0030]
图11是用于说明等式(10)的自定义约束的视图;
[0031]
图12是用于说明等式(11)的自定义约束的视图;
[0032]
图13是用于说明等式(12)的自定义约束的视图;
[0033]
图14a、图14b和图14c是用于说明其中指定单元确定任务顺序的处理的视图;
[0034]
图15是示出产品-任务考虑顺序列表的示例的视图;
[0035]
图16是示出其中指定单元确定任务顺序的处理过程的流程图;
[0036]
图17是用于说明其中指定单元分别指定每个任务的开始时间的处理的图(1);
[0037]
图18是用于说明其中指定单元分别指定每个任务的开始时间的处理的图(2);
[0038]
图19是用于说明其中指定单元分别指定每个任务的开始时间的处理的图(3);
[0039]
图20是用于说明其中指定单元分别指定每个任务的开始时间的处理的图(4);
[0040]
图21是示出其中指定单元分别指定每个任务的开始时间的处理过程的流程图;
[0041]
图22是示出根据本实施方式的信息处理设备的处理过程的流程图;
[0042]
图23是示出实现与根据本实施方式的信息处理设备的功能类似的功能的计算机的硬件配置的示例的图;
[0043]
图24是示出当生产特定两个相同产品时的调度结果的图(1);以及
[0044]
图25是示出当生产特定两个相同产品时的调度结果的图(2)。
具体实施方式
[0045]
下文中,将参照附图详细描述本技术中公开的信息处理设备、调度指定方法和调度指定程序的实施方式。注意,实施方式不限于本实施方式。
[0046]
[实施方式]
[0047]
根据本实施方式的信息处理设备通过使用实现信息来执行处理,该实现信息定义了用于生产特定产品(下文称为产品)的任务的顺序与任务所使用的硬件之间的关系。此外,假设在实现信息中,指定了要生产多少件相同的产品。
[0048]
图1是用于说明生产产品的硬件的示例的图。如图1所示,生产产品的硬件(设备)包括多件硬件a、i、u、e和o。在本实施方式中,各件硬件之间的传输线也被视为一件硬件。
[0049]
硬件a和硬件i通过传输线a-i连接。硬件a和硬件u通过传输线a-u连接。硬件i和硬件u通过传输线i-u连接。硬件i和硬件o通过传输线i-o连接。硬件o和硬件u通过传输线o-u连接。硬件e和硬件i通过传输线e-i连接。硬件u和硬件e通过传输线u-e连接。
[0050]
图2是示出实现信息的示例的表。如图2所示,实现信息141将任务编号、硬件和所需的时隙相关联。任务编号是任务的编号,以及任务按任务编号的升序执行。具有不同任务编号的任务的内容各自不同,并且执行相应任务的硬件也不同。在下面的描述中,任务编号为w的任务将被适当地称为“任务w”。
[0051]
在图2中,硬件示出了任务使用的硬件类型。硬件的类型分别对应于图1中描述的那些。所需时隙是相应硬件执行相应任务时所需的时隙。例如,当任务1在硬件o上执行时,所需的时隙为“1”。
[0052]
根据本实施方式的信息处理设备通过分成步骤1和2的两个阶段来找到生产调度问题的解决方案。例如,在步骤1中,对每件硬件执行任务顺序设计,并且在步骤2中,执行每个任务的调度设计。
[0053]
图3a、图3b和图3c是用于说明由信息处理设备执行的步骤1的视图。信息处理设备基于实现信息141将任务分类到多个任务组中,使得使用相同硬件的任务不属于相同任务组。
[0054]
在图3a、图3b和图3c所示的示例中,第一产品p1的任务被分类到任务组tg1-1至tg1-4中。第二产品p2的任务被分类到任务组tg2-1至tg2-4中。第三产品p3的任务被分类到任务组tg3-1至tg3-4中。
[0055]
任务组tg1-1包含第一产品p1的任务1至10。任务组tg1-2包含第一产品p1的任务11至16。任务组tg1-3包含第一产品p1的任务17至22。任务组tg1-4包含第一产品p1的任务23至29。
[0056]
任务组tg2-1包含第二产品p2的任务1至10。任务组tg2-2包含第二产品p2的任务
11至16。任务组tg2-3包含第二产品p2的任务17至22。任务组tg2-4包含第二产品p2的任务23至29。
[0057]
任务组tg3-1包含第三产品p3的任务1至10。任务组tg3-2包含第三产品p3的任务11至16。任务组tg3-3包含第三产品p3的任务17至22。任务组tg3-4包含第三产品p3的任务23至29。
[0058]
考虑到以任务组为单位分配由每件硬件执行的作为固定简单时隙的时隙,信息处理设备通过使用基本约束和自定义约束来执行变量节省建模。信息处理设备通过找到针对变量节省建模的解来获得图3a、图3b和图3c所示的结果(任务顺序设计信息142)。如图3a、图3b和图3c所示,在任务顺序设计信息142中,每个任务组被分配给与硬件类型相关联的简单时隙。例如,任务组tg1-1、tg2-1、tg3-1、tg1-2、tg2-2、tg1-3、tg2-3、tg1-4、tg3-2、tg2-4、tg3-3和tg3-4被分配给简单时隙1至12。
[0059]
图4是用于说明由信息处理设备执行的步骤2的视图。图4的横轴对应于时隙,以及纵轴示出了硬件的类型。基于步骤1的结果,信息处理设备通过针对每件硬件依次从前一任务分配时间来生成调度信息144。
[0060]
如上所述,考虑到以任务组为单位分配由每件硬件执行的作为固定简单时隙的时隙,根据本实施方式的信息处理设备通过使用基本约束和自定义约束来执行变量节省建模,并且找到解。信息处理设备基于变量节省建模解的结果,通过针对每件硬件依次从前一任务分配时间来生成调度。这使得能够抑制调度的计算成本。
[0061]
接下来,将描述根据本实施方式的信息处理设备的配置示例。图5是示出根据本实施方式的信息处理设备的配置的功能框图。如图5所示,信息处理设备100包括通信单元110、输入单元120、显示单元130、存储单元140和控制单元150。
[0062]
通信单元110通过有线或无线连接至外部设备等,并且向外部设备等发送信息以及从外部设备等接收信息。通信单元110由例如网络接口卡(nic)等实现。通信单元110可以连接至网络(未示出)。信息处理设备100可以经由网络获取实现信息141。
[0063]
输入单元120是向信息处理设备100输入各种类型的信息的输入设备。输入单元120对应于键盘、鼠标、触摸面板等。
[0064]
显示单元130是显示从控制单元150输出的信息的显示设备。显示单元130对应于有机电致发光(el)显示器、液晶显示器、触摸面板等。
[0065]
存储单元140具有实现信息141、任务顺序设计信息142和调度信息144。存储单元140例如由半导体存储元件诸如随机存取存储器(ram)或闪存或者存储设备诸如硬盘或光盘来实现。
[0066]
实现信息141是定义用于生产产品的任务顺序、任务使用的硬件类型与当在硬件中执行任务时所需的时隙之间的关系的信息。实现信息141的数据结构对应于图2中描述的数据结构。
[0067]
任务顺序设计信息142是这样的信息,其中,由每件硬件执行的时隙被设置为固定的简单时隙,并且任务以任务组为单位被分配。任务顺序设计信息142由解单元152生成,其将在后面描述。任务顺序设计信息142对应于图3a、图3b和图3c中描述的任务顺序设计信息。
[0068]
产品-任务考虑顺序列表143是定义产品与任务相结合的任务的执行顺序的信息。
产品-任务考虑顺序列表143由稍后描述的指定单元153生成。
[0069]
调度信息144是其中将由每件硬件执行的时隙与任务相关联的信息。调度信息144由稍后描述的指定单元153生成。调度信息144对应于图4中描述的调度信息。
[0070]
描述返回到图5。控制单元150具有分类单元151、解单元152和指定单元153。控制单元150由例如中央处理单元(cpu)、微处理单元(mpu)等实现。此外,控制单元150可以由例如集成电路诸如专用集成电路(asic)、现场可编程门阵列(fpga)等来实现。
[0071]
基于实现信息141,分类单元151将包括在实现信息141中的任务1至29分类到多个任务组中,使得使用相同硬件的任务不属于相同的任务组。
[0072]
图6是用于说明分类单元的处理的表。分类单元151以任务编号的升序扫描任务,并且重复执行当检测到使用相同硬件的任务时将任务分类到另一任务组中的处理。如图6所示,分类单元151从任务编号“1”开始处理,并且由于任务编号“3”的硬件“u”与任务编号“11”的硬件“u”匹配,因此在达到任务编号“11”时将任务1至10分类到任务组tg1中。此外,分类单元151将任务11分类到任务组tg2中。
[0073]
分类单元151从任务编号“11”重新开始处理,并且由于任务编号“11”的硬件“u”与任务编号“17”的硬件“u”匹配,因此在到达任务编号“17”时将任务11至16分类到任务组tg2中。此外,分类单元151将任务17分类到任务组tg3中。
[0074]
分类单元151从任务编号“17”重新开始处理,并且由于任务编号“17”的硬件“u”与任务编号“23”的硬件“u”匹配,因此在到达任务编号“23”时将任务17至22分类到任务组tg3中。此外,分类单元151将任务23分类到任务组tg4中。
[0075]
分类单元151从任务编号“23”重新开始处理,并且由于与任务编号23至29相对应的硬件各自不同,因此分类单元151在到达最后一个任务编号29时将任务23至29分类到任务组tg4中。
[0076]
在本实施方式中,假设与关于生产三个产品(相同产品)的信息一起给出实现信息141。假设这三个产品是产品p1、p2和p3。产品p1至p3由相同的任务1至29生产。对于产品p1至p3的任务1至29,分类单元151通过使用图6中描述的处理的结果将产品p1至p3的任务1至29分类到任务组中。
[0077]
分类单元151将产品p1的任务1至29分类到任务组tg1-1、tg1-2、tg1-3和tg1-4中。产品p2的任务1至29被分类到任务组tg2-1、tg2-2、tg2-3和tg2-4中。产品p3的任务1至29被分类到任务组tg3-1、tg3-2、tg3-3和tg3-4中。
[0078]
任务组tg1-1、tg2-1和tg3-1包含任务1至10。任务组tg1-2、tg2-2和tg3-2包含任务11至16。任务组tg1-3、tg2-3和tg3-3包含任务17至22。任务组tg1-4、tg2-4和tg3-4包含任务23至29。
[0079]
此外,分类单元151基于要生产的产品的数量和每个产品的任务组的数量来计算简单时隙的数量。在本实施方式中,要生产的产品数量是“3”。此外,如图6所述,每个产品的任务组的数量为“4”。分类单元151通过将产品的数量“3”乘以每个产品的任务组的数量“4”来计算简单时隙的数量“12”。换句话说,例如,获得简单时隙t=1至12。
[0080]
分类单元151将通过上述处理获得的关于任务组的信息和关于简单时隙的信息输出到解单元152。
[0081]
解单元152设置其中每个任务组占用硬件的固定长度的简单时隙,并且定义指示
硬件类型与简单时隙之间的关系的表。这样的表的初始状态是在图3a、图3b和图3c中描述的任务顺序设计信息142中布置每个任务组之前的状态,其中,纵轴是硬件类型,以及横轴是简单时隙。通过利用上述分类单元151的计算,简单时隙t的范围将是t=1至12。
[0082]
解单元152通过在每个任务组的表中找到布置(变量)的解来生成任务顺序设计信息142,使得在满足基本约束和自定义约束的同时使目标函数的值最小化。
[0083]
首先,描述目标函数。目标函数f由等式(1)定义。
[0084]
[公式1]
[0085][0086]
在等式(1)中,cost
p
是根据在时间轴方向上布置的多个任务组中混合了多少单个产品p1至p3的任务组来确定其值的函数。随着单个产品p1至p3的任务组混合得越多,cost
p
的值变得越小。对于t
t
,设置简单时隙t的整数值(1至12)。
[0087]
在等式(1)中,x
tp,tg
为变量,并且如果产品p的任务组tg布置在简单时隙t中,则x
tp,tg
值将为“1”,并且如果产品p的任务组tg不布置在简单时隙t中,则x
tp,tg
值将为“0”。变量x
tp,tg
的数量是“简单时隙的数量
×
产品的数量
×
任务组”的计算结果,并且与现有技术相比,变量的数量可以显著减少。
[0088]
图7是用于说明目标函数的值与每个任务组的布置顺序之间的关系的视图。在图7所示的布置顺序30a中,任务组在时间轴方向上以tg1-1、tg1-2、tg1-3、tg1-4、tg2-1、tg2-2、tg2-3、tg2-4、tg3-1、tg3-2、tg3-3和tg3-4的顺序布置。在布置顺序30b中,任务组在时间轴方向上以tg1-1、tg2-1、tg3-1、tg1-2、tg2-2、tg1-3、tg2-3、tg1-4、tg3-2、tg2-4、tg3-3和tg3-4的顺序布置。
[0089]
将布置顺序30a与布置顺序30b进行比较,每个产品的任务组在布置顺序30b中比在布置顺序30a中混合得更多。换句话说,例如,与布置顺序30b相对应的目标函数的值小于与布置顺序30a相对应的目标函数的值。
[0090]
接下来,将描述“基本约束”。基本约束的等式是等式(2)、等式(3)、等式(4)和等式(5)。
[0091]
[公式2]
[0092][0093]
[公式3]
[0094][0095]
[公式4]
[0096][0097]
[公式5]
[0098][0099]
等式(2)示出了每个产品p(p1至p3)的任务组tg总是只出现在表(任务顺序设计信息142)中某一个位置的约束。
[0100]
等式(3)指示在相同产品p中禁止任务组tg的超越(overtaking)(允许相同的管理时隙)的约束。例如,等式(3)将其中布置任务组tg1-2的简单时隙的值限制为大于其中布置任务组tg1-1的简单时隙的值。
[0101]
等式(4)示出了禁止在相同任务组tg中产品p的超越的约束。这个基本约束是任务顺序保持在相同任务组中的条件。例如,对于包含在任务组tg1-1中的任务1至10,等式(4)防止任务1在任务2至10之后执行。
[0102]
等式(5)指示仅一个任务组可以占用每件硬件(机器m)和每个简单时隙t的约束。
[0103]
接下来,将描述“自定义约束”。自定义约束的等式是等式(6)、等式(7)、等式(8)、等式(9)、等式(10)、等式(11)和等式(12)。
[0104]
[公式6]
[0105][0106]
[公式7]
[0107][0108]
[公式8]
[0109][0110]
[公式9]
[0111][0112]
[公式10]
[0113][0114]
[公式11]
[0115][0116]
[公式12]
[0117][0118]
等式(6)指示这样的约束,当紧接在产品px的任务组(4)之后输入另一个产品py的任务组(2)、(4)和(5)中的任何一个时,紧接着要输入产品px的任务组(5)。注意,假设包含在产品px的任务组(n)和产品px的任务组(n)中的任务和任务的顺序相同。这同样适用于以下描述。
[0119]
图8是用于说明等式(6)的自定义约束的视图。在图8所示的示例中,在简单时隙t中输入产品px的任务组“job1-(4)”,以及在简单时隙t 1中输入产品py的任务组“job2-(4)”。在这种情况下,由于等式(6)的自定义约束,在简单时隙t 2中输入产品px的任务组“job1-(5)”。
[0120]
等式(7)指示这样的约束,当紧接在产品px的任务组(5)之后输入另一个产品py的任务组(2)、(4)和(5)中的任何一个时,紧接着要输入产品px的任务组(6)。
[0121]
等式(8)指示这样的约束,当连续输入产品px和py的任务组(2)并且紧接着输入另一个产品pz的任务组(2)、(4)和(5)中的任何一个时,紧接着输入产品px的任务组(4)。
[0122]
图9是用于说明等式(8)的自定义约束的视图。在图9所示的示例中,在简单时隙t中输入产品px的任务组“job2-(2)”,在简单时隙t 1中输入产品py的任务组“job3-(2)”,并且在简单时隙t 2中输入产品pz的任务组“job1-(5)”。在这种情况下,由于等式(8)的自定义约束,在简单时隙t 3中输入产品px的任务组“job2-(4)”。
[0123]
等式(9)指示这样的约束,在产品p的任务组(4)与(5)之间,或者在任务组(5)与(6)之间,仅可以输入另一个产品的任务调度(2)、(4)和(5)中的至多一个。
[0124]
图10是用于说明等式(9)的自定义约束的视图。在图10所示的示例中,在简单时隙t中输入产品p的任务组“job3-(4)”,并且在简单时隙t x中输入产品p的任务组“job3-(5)”。在这种情况下,在简单时隙t 1至t x-1中仅可以输入另一个产品的任务组(2)、(4)和(5)中的至多一个。
[0125]
等式(10)指示这样的约束,当连续输入产品px和py的任务组(2)时,在与产品px的任务组(4)之间仅可以输入另一个产品的任务组(2)、(4)和(5)中的至多一个。
[0126]
图11是用于说明等式(10)的自定义约束的视图。在图11所示的示例中,在简单时隙t中输入产品px的任务组“job1-(2)”,在简单时隙t 1中输入产品py的任务组“job1-(2)”,并且在简单时隙t x中输入产品px的任务组“job1-(4)”。在这种情况下,基于等式(10),在简单时隙t 2至t x-1中仅可以输入另一个产品的任务组(2)、(4)和(5)中的至多一个。
[0127]
等式(11)指示连续性被抑制的约束。例如,不能连续输入相同产品的任务组(2)、(4)、(5)和(6)。图12是用于说明等式(11)的自定义约束的视图。例如,当在简单时隙t中输入任务组“job1-(4)”时,不能在简单时隙t 1中输入任务组“job1-(5)”。
[0128]
等式(12)指示这样的约束,在产品的任务组(2)与(4)之间可以输入的产品类型的
数量至多是两个。此外,可以在第一产品的任务组(2)与(4)之间输入的产品仅限于以下产品。之后,对于偶数编号的产品(2、4、6、
……
),仅在它们本身之前或之后的产品才可以中断,并且对于奇数编号的产品(1、3、5、
……
),在它们本身之前的两个产品可以中断。
[0129]
图13是用于说明等式(12)的自定义约束的视图。在图13所示的示例中,在简单时隙t中输入任务组“job3-(2)”,以及在简单时隙t x中输入任务组“job3-(4)”。在这种情况下,基于等式(12),在简单时隙t 1至t x-1中仅可以输入仅job1或job2的任务。
[0130]
解单元152在满足上述基本约束(等式(1)至(5))和自定义约束(等式(6)至(12))的条件下调整变量x
tp,tg
,并且找到使目标函数的值最小化的变量x
tp,tg
的解。例如,解单元152使用数学规划求解器来寻找解。解寻找的结果是图3a、图3b和图3c中描述的任务顺序设计信息142。
[0131]
如图3a、图3b和图3c所示,解单元152将产品p1的任务组tg1-1布置在简单时隙t=1中。在任务组tg1-1中,任务1至10分别分配给硬件o、o-u、u、e-u、e、e-a、a、a-i、i和u-i。
[0132]
解单元152将产品p2的任务组tg2-1布置在简单时隙t=2中。在任务组tg2-1中,任务1至10分别分配给硬件o、o-u、u、e-u、e、e-a、a、a-i、i和u-i。
[0133]
解单元152将产品p3的任务组tg3-1布置在简单时隙t=3中。在任务组tg3-1中,任务1至10分别分配给硬件o、o-u、u、e-u、e、e-a、a、a-i、i和u-i。
[0134]
解单元152将产品p1的任务组tg1-2布置在简单时隙t=4中。在任务组tg1-2中,任务11至16分别分配给硬件u、e-u、e、e-a、a和u-a。
[0135]
解单元152将产品p2的任务组tg2-2布置在简单时隙t=5中。在任务组tg2-2中,任务11至16分别分配给硬件u、e-u、e、e-a、a和u-a。
[0136]
解单元152将产品p1的任务组tg1-3布置在简单时隙t=6中。在任务组tg1-3中,任务17至22分别分配给硬件u、e-u、e、e-a、a和u-a。
[0137]
解单元152将产品p2的任务组tg2-3布置在简单时隙t=7中。在任务组tg2-3中,任务17至22分别分配给硬件u、e-u、e、e-a、a和u-a。
[0138]
解单元152将产品p1的任务组tg1-4布置在简单时隙t=8中。在任务组tg1-4中,任务29、23至25、27、26和28分别分配给硬件o、u、e-u、e、i、e-i和i-o。
[0139]
解单元152将产品p3的任务组tg3-2布置在简单时隙t=9中。在任务组tg3-2中,任务11至16分别分配给硬件u、e-u、e、e-a、a和u-a。
[0140]
解单元152将产品p2的任务组tg2-4布置在简单时隙t=10中。在任务组tg2-4中,任务29、23至25、27、26和28分别分配给硬件o、u、e-u、e、i、e-i和i-o。
[0141]
解单元152将产品p3的任务组tg3-3布置在简单时隙t=11中。在任务组tg3-3中,任务17至22分别分配给硬件u、e-u、e、e-a、a和u-a。
[0142]
解单元152将产品p3的任务组tg3-4布置在简单时隙t=12中。在任务组tg3-4中,任务29、23至25、27、26和28分别分配给硬件o、u、e-u、e、i、e-i和i-o。
[0143]
描述返回到图5。指定单元153基于任务顺序设计信息142确定针对每个产品的任务顺序,并且根据所确定的顺序来分配任务与任务所使用的硬件之间的关系,以分别指定每个任务的开始时间(时隙)。指定单元153通过将每个任务分配给指定的时隙来生成调度信息144。
[0144]
给出了其中指定单元153基于任务顺序设计信息142分别确定针对每个产品的任
务顺序的处理的示例的描述。图14a、图14b和图14c是用于说明其中指定单元确定任务顺序的处理的视图。指定单元153从简单时隙t的1开始顺序选择任务组。指定单元153以任务编号的升序向产品-任务考虑顺序列表143添加将对应于所选任务组的产品与任务编号相关联的信息。例如,指定单元153执行以下处理。
[0145]
指定单元153选择简单时隙t=1的任务组tg1-1。指定单元153将包含在任务组tg1-1中的产品p1-任务1、产品p1-任务2、
……
、产品p1-任务10添加到产品-任务考虑顺序列表143。
[0146]
指定单元153选择简单时隙t=2的任务组tg2-1。指定单元153将包含在任务组tg2-1中的产品p2-任务1、产品p2-任务2、
……
、产品p2-任务10添加到产品-任务考虑顺序列表143。
[0147]
指定单元153选择简单时隙t=3的任务组tg3-1。指定单元153将包含在任务组tg3-1中的产品p3-任务1、产品p3-任务2、
……
、产品p3-任务10添加到产品-任务考虑顺序列表143。
[0148]
指定单元153选择简单时隙t=4的任务组tg1-2。指定单元153将包含在任务组tg1-2中的产品p1-任务11、产品p1-任务12、
……
、产品p1-任务16添加到产品-任务考虑顺序列表143。
[0149]
指定单元153选择简单时隙t=5的任务组tg2-2。指定单元153将包含在任务组tg2-2中的产品p2-任务11、产品p2-任务12、
……
、产品p2-任务16添加到产品-任务考虑顺序列表143。
[0150]
指定单元153选择简单时隙t=6的任务组tg1-3。指定单元153将包含在任务组tg1-3中的产品p1-任务17、产品p1-任务18、
……
、产品p1-任务22添加到产品-任务考虑顺序列表143。
[0151]
指定单元153选择简单时隙t=7的任务组tg2-3。指定单元153将包含在任务组tg2-3中的产品p2-任务17、产品p2-任务18、
……
、产品p2-任务22添加到产品-任务考虑顺序列表143。
[0152]
指定单元153选择简单时隙t=8的任务组tg1-4。指定单元153将包含在任务组tg1-4中的产品p1-任务23、产品p1-任务24、
……
、产品p1-任务29添加到产品-任务考虑顺序列表143。
[0153]
指定单元153选择简单时隙t=9的任务组tg3-2。指定单元153将包含在任务组tg3-2中的产品p3-任务11、产品p3-任务12、
……
、产品p3-任务16添加到产品-任务考虑顺序列表143。
[0154]
指定单元153选择简单时隙t=10的任务组tg2-4。指定单元153将包含在任务组tg2-4中的产品p2-任务23、产品p2-任务24、
……
、产品p2-任务29添加到产品-任务考虑顺序列表143。
[0155]
指定单元153选择简单时隙t=11的任务组tg3-3。指定单元153将包含在任务组tg3-3中的产品p3-任务17、产品p3-任务18、
……
、产品p3-任务22添加到产品-任务考虑顺序列表143。
[0156]
指定单元153选择简单时隙t=12的任务组tg3-4。指定单元153将包含在任务组tg3-4中的产品p3-任务23、产品p3-任务24、
……
、产品p3-任务29添加到产品-任务考虑顺
序列表143。
[0157]
通过指定单元153执行图14a、图14b和图14c中描述的处理,生成图15所示的产品-任务考虑顺序列表143。图15是示出产品-任务考虑顺序列表的示例的视图。
[0158]
图16是示出其中指定单元确定任务顺序的处理过程的流程图。如图16所示,指定单元153将每件硬件的第一顺序的“产品-任务”的考虑状态设置为“启用”,并且将其他的“产品-任务”的考虑状态设置为“不启用”(步骤s10)。
[0159]
指定单元153对产品-任务考虑顺序列表143进行初始化(步骤s11)。指定单元153在考虑-等待任务编号列表中将每个产品的所有考虑-等待任务编号设置为“1”(步骤s12)。
[0160]
如果当前“产品-任务”是启用的(步骤s13,是),则指定单元153进行到步骤s14。如果当前“产品-任务”未被启用(步骤s13,否),则指定单元153进行到步骤s17。
[0161]
将描述步骤s14。指定单元153将当前“产品-任务”添加到产品-任务考虑顺序列表143的末尾(步骤s14)。指定单元153在考虑状态中将当前“产品-任务”的考虑状态设置为完成(步骤s15)。
[0162]
指定单元153针对在执行当前“产品-任务”的硬件中在下一顺序中设置的“产品-任务”将不启用设置为启用(步骤s16),并且进行到步骤s19。
[0163]
将描述步骤s17。指定单元153在当前产品的考虑-等待任务编号列表中登记当前“产品-任务”的任务编号(步骤s17)。指定单元153执行中断(进行到具有在针对下一产品的考虑-等待任务编号列表中描述的任务编号的“产品-任务”)(步骤s18)。
[0164]
将描述步骤s19。如果每个任务的处理还没有结束(步骤s19,否),则指定单元153进行到下一个任务(步骤s20),并且进行到步骤s13。
[0165]
如果针对每个任务的处理已经结束(步骤s19,是),则指定单元153确定针对每个产品的处理是否已经结束(步骤s21)。如果针对每个产品的处理还没有结束(步骤s21,否),则指定单元153进行到下一个产品的任务(步骤s22),并且进行到步骤s13。
[0166]
然而,如果针对每个产品的处理已经结束(步骤s21,是),则指定单元153结束用于确定任务顺序的处理。通过指定单元153针对图3a、图3b和图3c等中描述的任务顺序设计信息142执行图16的处理,生成图15中描述的产品-任务考虑顺序列表143。
[0167]
随后,给出了通过指定单元153基于产品-任务考虑顺序列表143分配任务与该任务所使用的硬件之间的关系来分别指定每个任务的开始时间的处理的示例的描述。
[0168]
图17、图18、图19和图20是用于说明其中指定单元分别指定每个任务的开始时间的处理的视图。将描述图17。指定单元153从产品-任务考虑顺序列表143的头部提取产品和任务的对,并且将该对设置在表t1中。表t1的纵轴对应于硬件的类型,以及横轴对应于时隙。
[0169]
例如,指定单元153从产品-任务考虑顺序列表143中获取“产品p1-任务1”。由于任务1具有所需的时隙“1”和硬件“o”,因此指定单元153将产品p1的任务1布置在与表t1的硬件o相对应的时隙“1”中。
[0170]
指定单元153从产品-任务考虑顺序列表143中获取“产品p1-任务2”。由于任务2具有所需的时隙“5”和硬件“o-u”,因此指定单元153将产品p1的任务2布置在与表t1的硬件o-u相对应的时隙“2至6”中。
[0171]
指定单元153重复执行上述处理,直到要从产品-任务考虑顺序列表143中读取的
产品类型被切换。
[0172]
将描述图18。此处,将描述指定单元153从产品-任务考虑顺序列表143获取“产品p2-任务1”的情况。任务1具有所需的时隙“1”和硬件“o”。指定单元153将产品p2的任务1布置在产品p1的任务1旁边的时隙“2”中。
[0173]
将描述图19。将描述指定单元153从产品-任务考虑顺序列表143获取“产品p2-任务1”旁边的“产品p2-任务2”的情况。任务2具有所需的时隙“5”和硬件“o-u”。指定单元153将产品p2的任务2布置在产品p1的任务2旁边的时隙“7至11”中。此外,指定单元153将产品p2的任务1扩展到时隙“6”,并且使任务1结束的时隙“6”与任务2开始的时隙“7”连续。产品p2的任务1的时隙3至6是待机时间。
[0174]
将描述图20。将描述指定单元153从产品-任务考虑顺序列表143中获取“产品p2-任务2”旁边的“产品p2-任务3”的情况。任务3具有所需的时隙“6”和硬件“u”。指定单元153将产品p2的任务3布置在产品p1的任务3旁边的时隙“13至18”中。
[0175]
由于硬件o-u是传输线,因此指定单元153向后移动时隙而不扩展任务2,以使任务2结束的时隙“12”与任务3开始的时隙“13”连续。传输线在具有固定时隙的硬件之间移动,并且因此不能扩展。这同样适用于其他传输线(传输线e-u、e-a、a-i、u-i、u-a、e-i和i-o)。因此,指定单元153将产品p2的任务1扩展到时隙“7”,并且使任务1结束的时隙“7”与任务2开始的时隙“8”连续。
[0176]
指定单元153从产品-任务考虑顺序列表143中顺序提取产品和任务的对,并且重复执行图17、图18、图19和图20中描述的处理,以生成调度信息144。在调度信息144中,已经指定了与产品p1至p3中的每一个相对应的每个任务的开始时间。
[0177]
图21是示出其中指定单元分别指定每个任务的开始时间的处理过程的流程图。如图21所示,指定单元153从产品-任务考虑顺序列表143中获取当前“产品-任务”(步骤s31)。
[0178]
指定单元153尝试在当前硬件中分配时隙,从在当前“产品-任务”中紧之前的“产品-任务”的结束时间 1开始(步骤s32)。当可行时,指定单元153进行到步骤s35(步骤s33,是)。然而,当不可行时,指定单元153进行到步骤s34(步骤s33,否)。
[0179]
指定单元153将当前“产品-任务”布置在紧接在当前硬件中紧之前的“产品-任务”之后的时隙中(步骤s34)。指定单元153尝试将在当前“产品-任务”的产品中紧之前的“产品-任务”的工作时间扩展到在当前“产品-任务”紧之前(步骤s35)。
[0180]
如果可用(步骤s36,是),则指定单元153进行到步骤s38。然而,如果不可用(步骤s36,否),则指定单元153进行到步骤s37。
[0181]
指定单元153尝试在作为不可用原因的“产品-任务”中转移到紧接在当前“产品-任务”之后(步骤s37)。如果可用(步骤s38,是),则指定单元153进行到步骤s39。如果不可用(步骤s38,否),则指定单元153结束处理。
[0182]
如果每个“产品-任务”的处理还没有结束(步骤s39,否),则指定单元153进行到步骤s31。然而,如果每个“产品-任务”的处理已经结束(步骤s39,是),则指定单元153结束处理。
[0183]
调度信息144通过指定单元153执行上述处理来生成。
[0184]
接下来,将描述根据本实施方式的信息处理设备100的处理过程的示例。图22是示出根据本实施方式的信息处理设备的处理过程的流程图。如图22所示,信息处理设备100的
分类单元151获取实现信息141(步骤s101)。
[0185]
分类单元151基于实现信息141将每个产品的任务分类到任务组中(步骤s102)。分类单元151计算简单时隙(步骤s103)。
[0186]
信息处理设备100的解单元152基于任务组和简单时隙来构建数学模型(步骤s104)。解单元152利用数学规划求解器找到数学模型的解(步骤s105)。
[0187]
信息处理设备100的指定单元153执行产品-任务考虑顺序列表确定处理(步骤s106)。指定单元154执行调度信息指定处理(步骤s107)。
[0188]
图22的步骤s106中所示的产品-任务考虑顺序列表确定处理对应于图16中描述的处理过程。步骤s107中所示的调度信息指定处理对应于图21中描述的处理过程。
[0189]
接下来,将描述根据本实施方式的信息处理设备100的效果。考虑到以任务组为单位分配由每件硬件作为固定的简单时隙执行的时隙,信息处理设备100通过使用基本约束和自定义约束来执行变量节省建模,并且找到解。信息处理设备100基于变量节省建模解的结果,通过针对每件硬件依次从前一任务分配时间来生成调度。这使得能够抑制调度的计算成本。例如,等式(1)中使用的变量x
tp,tg
的数量将是“简单时隙的数量
×
产品的数量
×
任务组”的计算结果,并且与相关技术相比,变量的数量可以显著减少。
[0190]
同时,信息处理设备100的分类单元151将实现信息141分类到任务组中的处理不限于图6中描述的处理。分类单元151可以基于硬件是否是传输线来调整包含在任务组中的任务。例如,当与任务组的最后一个任务相对应的硬件是传输线时,分类单元151可以将这样的任务移动到下一个任务组的头部。
[0191]
例如,当参照图6描述分类单元151时,分类单元151将任务组tg1的任务10设置为任务组tg2的第一个任务。分类单元151将任务组tg2的任务16设置为任务组tg3的第一个任务。分类单元151将任务组tg3的任务22设置为任务组tg4的第一个任务。作为结果,任务组tg1包含任务1至9,任务组tg2包含任务10至15,任务组tg3包含任务16至21,以及任务组tg4包含任务22至29。这使得可以对开始任务是传输线的任务组进行分类。
[0192]
由于传输线没有进行时间(play time),并且难以如图19和图20等所示进行扩展,因此优选地可以使用与传输线的下一个硬件相同的任务组。
[0193]
注意,分类单元151可以执行将任务分类到任务组中同时从实现信息141的任务中排除与传输线相对应的任务的处理。
[0194]
接下来,将描述实现与上述第一实施方式中所示的信息处理设备100的功能类似的功能的计算机的硬件配置的示例。图23是示出实现与根据实施方式的信息处理设备的功能类似的功能的计算机的硬件配置的示例的图。
[0195]
如图23所示,计算机200包括执行各种计算处理的cpu 201、接收从用户输入的数据的输入设备202和显示器203。此外,计算机200具有经由有线或无线网络与外部设备等交换数据的通信设备204和接口设备205。此外,计算机200包括临时存储各种信息的ram 206和硬盘驱动器207。然后,设备201至207中的每一个连接至总线208。
[0196]
硬盘驱动器207具有分类程序207a、解程序207b和指定程序207c。此外,cpu 201读取各个程序207a至207c,并且开发到ram 206中。
[0197]
分类程序207a作为分类处理206a起作用。解程序207b作为解处理206b起作用。指定程序207c作为指定处理206c起作用。
[0198]
分类处理206a的处理对应于分类单元151的处理。解处理206b的处理对应于解单元152的处理。指定处理206c的处理对应于指定单元153的处理。
[0199]
注意,各个程序207a至207c可以并不总是从一开始就存储在硬盘驱动器207中。例如,各个程序被存储在要插入计算机200的“便携式物理介质”中,例如软盘(fd)、光盘只读存储器(cd-rom)、数字多功能盘(dvd)、磁光盘和ic卡。然后,计算机200可以读取各个程序207a至207c来执行程序。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献