CN114118506A - 评估函数生成程序、评估函数生成方法及信息处理设备 - Google Patents
评估函数生成程序、评估函数生成方法及信息处理设备 Download PDFInfo
- Publication number
- CN114118506A CN114118506A CN202110679007.0A CN202110679007A CN114118506A CN 114118506 A CN114118506 A CN 114118506A CN 202110679007 A CN202110679007 A CN 202110679007A CN 114118506 A CN114118506 A CN 114118506A
- Authority
- CN
- China
- Prior art keywords
- task
- evaluation function
- information
- tasks
- moving objects
- 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
Links
- 238000011156 evaluation Methods 0.000 title claims abstract description 76
- 230000010365 information processing Effects 0.000 title claims abstract description 43
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000012545 processing Methods 0.000 claims abstract description 46
- 230000033001 locomotion Effects 0.000 claims abstract description 45
- 230000006870 function Effects 0.000 claims description 93
- 230000014509 gene expression Effects 0.000 claims description 9
- 230000015654 memory Effects 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 description 17
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 125000002347 octyl group Chemical group [H]C([*])([H])C([H])([H])C([H])([H])C([H])([H])C([H])([H])C([H])([H])C([H])([H])C([H])([H])[H] 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 5
- 238000000342 Monte Carlo simulation Methods 0.000 description 4
- 238000000137 annealing Methods 0.000 description 4
- TVMXDCGIABBOFY-UHFFFAOYSA-N octane Chemical compound CCCCCCCC TVMXDCGIABBOFY-UHFFFAOYSA-N 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000002922 simulated annealing Methods 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 238000005401 electroluminescence Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000696 magnetic material Substances 0.000 description 1
- NRNCYVBFPDDJNE-UHFFFAOYSA-N pemoline Chemical compound O1C(N)=NC(=O)C1C1=CC=CC=C1 NRNCYVBFPDDJNE-UHFFFAOYSA-N 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012887 quadratic function Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000029305 taxis Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/11—Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N10/00—Quantum computing, i.e. information processing based on quantum-mechanical phenomena
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
- G06Q10/047—Optimisation of routes or paths, e.g. travelling salesman problem
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/40—Business processes related to the transportation industry
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Entrepreneurship & Innovation (AREA)
- Tourism & Hospitality (AREA)
- Mathematical Physics (AREA)
- General Business, Economics & Management (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Development Economics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Game Theory and Decision Science (AREA)
- Quality & Reliability (AREA)
- Databases & Information Systems (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Evolutionary Computation (AREA)
- Algebra (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Educational Administration (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Automation & Control Theory (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
提供了评估函数生成程序、评估函数生成方法及信息处理设备。该评估函数生成程序使计算机执行处理。该处理包括:基于布局信息、初始位置信息和任务信息指定多个移动对象中的每个移动对象从多个任务对中的每个任务对中的一个任务的结束位置移动至另一任务的结束位置的第一移动距离,该布局信息表示多个移动对象在其中能够移动的移动路径,该初始位置信息指示多个移动对象的初始位置,并且该任务信息指示多个任务的开始位置和结束位置;基于布局信息和任务信息指定多个移动对象从多个任务的开始位置到结束位置的第二移动距离;以及基于第一移动距离和第二移动距离生成伊辛模型的评估函数。
Description
技术领域
本文讨论的实施方式涉及评估函数生成程序、评估函数生成方法和信息处理设备。
背景技术
存在使用伊辛型评估函数(也称为能量函数等)的伊辛装置(也称为玻耳兹曼机),作为对诺依曼计算机不擅长的大规模离散优化问题进行计算的装置(参见,例如,PTL1)。
在利用伊辛装置进行的计算中,使用伊辛模型代替要计算的问题,所述伊辛模型为表示磁性材料的自旋行为的模型。然后,使用马尔科夫链蒙特卡洛方法例如模拟退火方法或副本交换方法(也称为交换蒙特卡洛方法)来搜索使伊辛模型型评估函数的值(与伊辛模型的能量相对应)最小化的状态。注意,由伊辛模型代替的问题几乎与被称为二次无约束二元优化(QUBO)的问题相同且可以相互转换,并且因此,下面的描述不区分这两个问题。
在QUBO中,目标函数(要最小化的对象)和约束项(如果不满足问题应当满足的约束条件,则约束项变成非常大的值)分别通过使用状态变量0或1(伊辛模型中的+1或-1)的二次函数表示。然后,这些的总和为评估函数。
同时,为了在工厂等中以最短的时间运输运输目标,提出了一种通过使用0-1整数规划对向每个运载机器的任务分配和移动路径进行规划并且使用现有优化解算器进行计算的方法(参见,例如,NPL 1)。
注意,在过去,存在用于在配送仓库、商店等中执行路径搜索以避免多个移动对象(自动运载机器和客户)之间的干扰的已知技术(参见,例如,PTL 2和PTL 3)。
[引文列表]
[专利文献]
[PTL 1]国际专利申请的日本国家公开第2017-515195号。
[PTL 2]日本特开专利公开第2017-134794号。
[PTL 3]日本特开专利公开第2013-250941号。
[非专利文献]
Ryosuke Nakamura、Kenji Sawada、Seiichi Shin、Kenji Kumagai和HisatoYoneda,“Simultaneous Optimization of Dispatching and Routing for OHT Systemsvia State Space Representation”,Transactions of the Society of Instrument andControl Engineers,第50卷,第4期,第210-218页,2014年。
发明内容
[技术问题]
在将任务分配给多个移动对象时,在使用0-1整数规划对查找使所有任务在最短时间中完成的分配的问题进行规划的情况下,表达式中包含的变量的数目随着问题的规模变得更大而迅速增加。在实际问题中,在通过使用这样的表达式对问题进行计算的情况下,直至获得解为止的计算时间会变得太长,因为移动对象和任务的数目将增加并且问题的规模将增加。
在一个方面,本实施方式的目的是提供能够使将任务分配给多个移动对象的问题的计算时间减少的评估函数生成程序、评估函数生成方法和信息处理设备。
[问题的解决方案]
根据实施方式的一个方面,一种使计算机执行处理的评估函数生成程序。所述处理包括:获取表示有向图中的多个移动对象能够移动的移动路径的布局信息、指示多个移动对象的初始位置的初始位置信息以及指示多个任务中的每个任务的开始位置和结束位置的任务信息;基于布局信息、初始位置信息和任务信息,指定多个移动对象中的每个移动对象从包括在多个任务中的多个任务对中的每个任务对中的一个任务的结束位置移动至另一任务的结束位置的第一移动距离;基于布局信息和任务信息,指定多个移动对象中的每个移动对象从多个任务中的每个任务的开始位置到结束位置的第二移动距离;以及基于第一移动距离和第二移动距离生成伊辛模型的评估函数,所述伊辛模型的评估函数是通过对目标函数添加惩罚项而获得的,所述惩罚项基于分配给多个移动对象中的每个移动对象的任务的第二移动距离的总和的平方值的总和,所述目标函数表示通过将多个任务中的每个任务分配给多个移动对象中的任何一个移动对象而获得的总移动距离。
[发明的效果]
在一个方面,实施方式能够使将任务分配给多个移动对象的问题的计算时间减少。
附图说明
图1是示出根据第一实施方式的信息处理设备和评估函数生成方法的示例的图;
图2是示出根据第二实施方式的信息处理设备的硬件示例的框图;
图3是示出信息处理设备的功能示例的框图;
图4是示出布局信息的示例的视图;
图5是示出由布局信息表示的有向图的示例的视图;
图6是示出运载机器的初始位置的示例的视图;
图7是示出任务信息的示例的视图;
图8是示出评估函数生成处理的示例的流程的流程图;
图9是示出每个任务的开始位置pt0[k,r]的计算结果的示例的图;
图10是示出每个任务的结束位置pt1[k,r]的计算结果的示例的图;
图11是表示dist(p[i],p[j])的计算结果的示例的一部分的表;
图12是表示dt(ki,kj,r)的计算结果的示例的表;
图13是表示状态变量的示例的表;
图14是示出分配给具有运载机器编号r=1的运载机器的任务的移动路径的示例的视图;
图15是示出分配给具有运载机器编号r=2的运载机器的任务的移动路径的示例的视图;以及
图16是示出分配给具有运载机器编号r=4的运载机器的任务的移动路径的示例的视图。
具体实施方式
在下文中,将参照附图描述用于实行实施方式的模式。
[第一实施方式]
图1是示出根据第一实施方式的信息处理设备和评估函数生成方法的示例的图。
第一实施方式的信息处理设备10生成QUBO评估函数(伊辛型评估函数),该QUBO评估函数对在将n个任务分配给m个运载机器的情况下寻找在最短时间内完成所有任务的分配问题进行建模,运载机器是多个移动对象的示例。注意,在以下示例中,假设每个运载机器在完成分配的任务之后返回至与开始移动的初始位置相同的初始位置,但是本实施方式不限于此。
信息处理设备10包括存储单元11、处理单元12和伊辛装置13。
存储单元11是例如作为电子电路的易失性存储装置诸如随机存取存储器(RAM),或者是作为电子电路的非易失性存储装置诸如硬盘驱动器(HDD)或闪存。
存储单元11存储用于执行稍后描述的处理的程序,并且存储布局信息11a、指示运载机器(移动对象)的初始位置的初始位置信息11b以及任务信息11c。
布局信息11a是表示有向图中的例如m个运载机器可以在工厂中移动的移动路径的信息。图1指示包括在布局信息11a中的有向图的示例。有向图中的每个节点表示位置,并且每个箭头是表示路径和移动方向的有向分支(下文中称为边)。图1中的“L1”、“L2”等表示节点名称。注意,布局信息11a还包含关于每个边的长度(可以被称为边的权重)的信息。在以下示例中,将假设每个边的长度为1给出描述。
初始位置信息11b包含指示m个运载机器的初始位置的信息。图1的示例示出了m个运载机器中第一运载机器(运载机器编号1)的初始位置为具有节点名称“L4-1”的节点,并且第二运载机器(运载机器编号2)的初始位置为具有节点名称“L9-1”的节点。
任务信息11c包含n个任务中的每个任务的开始位置和结束位置。开始位置是例如运载机器接收包裹的位置,并且结束位置是例如运载机器交付包裹的位置。在图1的示例中,在n个任务中,第一任务(任务编号1)是以具有节点名称“L8”的节点作为开始位置并且以具有节点名称“L3”的节点作为结束位置的任务。第二任务(任务编号2)是以具有节点名称“L6”的节点作为开始位置并且以具有节点名称“L8”的节点作为结束位置的任务。第3任务(任务编号3)是以具有节点名称“L11”的节点作为开始位置并且以具有节点名称“L15”的节点作为结束位置的任务。第四任务(任务编号4)是以具有节点名称“L18”的节点作为开始位置并且以具有节点名称“L8”的节点作为结束位置的任务。
此外,存储单元11可以存储伊辛装置13的各种控制参数。
存储在存储单元11中的上述各种数据可以从信息处理设备10外部输入,或者可以例如基于通过由用户在输入装置(未示出)上的操作而输入的数据在信息处理设备10中生成上述各种数据。
处理单元12由处理器实现,该处理器是例如中央处理单元(CPU)、图形处理单元(GPU)和数字信号处理器(DSP)的硬件。注意,处理单元12可以包括诸如专用集成电路(ASIC)、现场可编程门阵列(FPGA)等的电子电路。处理单元12执行存储在存储单元11中的程序以使信息处理设备10执行下面示出的处理。注意,处理单元12可以是多个处理器的集合。
处理单元12从例如存储单元11获取布局信息11a、初始位置信息11b和任务信息11c(步骤S1)。
然后,处理单元12基于布局信息11a、初始位置信息11b和任务信息11c计算dt(ki,kj,r)(步骤S2)。dt(ki,kj,r)是运载机器r从一个任务ki的结束位置至另一任务kj的结束位置的移动距离,其中r来自m个运载机器,并且ki、kj来自包括在n个任务中的多个任务对的每个任务对。
在步骤S2的过程中,处理单元12可以将以m个运载机器中每个运载机器的初始位置作为开始位置和结束位置的任务(下文中称为虚拟任务)包括在上述任务中,以计算移动距离(在这种情况下,任务数目为n+m)。因此,可以缩短用于m个运载机器的总移动距离的计算公式(稍后描述的目标函数)。
在步骤S2的过程中,首先,处理单元12基于任务信息11c获得每个任务的开始位置pt0[k,r]。k表示任务编号并且r表示运载机器编号。在下文中,当使用虚拟任务时,假设k=0为虚拟任务的任务编号。例如,pt0[0,r]指示具有运载机器编号r的运载机器的初始位置,并且pt0[1,r]指示具有任务编号k=1的任务的开始位置。当使用如图1中示出的初始位置信息11b时,pt0[0,1]指示具有节点名称“L4-1”的节点。当使用如图1中示出的任务信息11c时,pt0[1,1]指示具有节点名称“L8”的节点。注意,在k=1至k=n的情况下,换言之,在k≠0的情况下,pt0[k,r]不取决于运载机器编号r的值。
在步骤S2的过程中,接下来,处理单元12基于任务信息11c获得每个任务的结束位置ptl[k,r]。当使用虚拟任务时,例如,pt1[0,r]指示具有运载机器编号r的运载机器的初始位置,并且pt1[1,r]指示具有任务编号k=1的任务的结束位置。当使用如图1中示出的初始位置信息11b时,pt1[0,1]指示具有节点名称“L4-1”的节点。当使用如图1中示出的任务信息11c时,pt1[1,1]指示具有节点名称“L3”的节点。注意,在k=1至k=n的情况下,换言之,在k≠0的情况下,pt1[k,r]不取决于运载机器编号r的值。此外,当每个运载机器在完成分配的任务之后返回至与开始移动的初始位置不同的初始位置时(当初始位置和结束位置不同时),pt1[0,r]指示运载机器编号r的运载机器的结束位置。
在步骤S2的过程中,处理单元12还基于布局信息11a计算距离dist(p[i],p[j])。dist(p[i],p[j])是从包括在有向图中的每个节点p[i]至包括在有向图中的另一节点p[j]的距离。处理单元12可以通过使用例如Dijkstra算法等获得作为从节点p[i]至节点p[j]的最短距离的dist(p[i],p[j])。
例如,从具有节点名称“L1d1”的节点至具有节点名称“L1”的节点的距离为1。从具有节点名称“L1d1”的节点至具有节点名称“L2”的节点的距离为5。从具有节点名称“L1d1”的节点至具有节点名称“L3”的节点的距离为2。具有节点名称“L1”的节点不能到达具有节点名称“L1d1”的节点,这是因为没有边。在没有可到达路径的这些节点之间的距离被设置为例如非常大的值。
注意,dist(p[i],p[j])可以由另一信息处理设备等预先计算,或者可以包含在布局信息11a中。
然后,在步骤S2的处理中,处理单元12基于以下公式(1)针对所有ki、kj和r计算dt(ki,kj,r)。
[公式1]
在公式(1)中,dist(ptl[ki,r],pt0[kj,r])为运载机器编号r的运载机器从具有任务编号k=i的任务的结束位置(或具有运载机器编号r的运载机器的初始位置)至具有任务编号k=j的任务的开始位置的移动距离。dist(pt0[kj,r],pt1[kj,r])为具有运载机器编号r的运载机器从具有任务编号k=j的任务的开始位置至具有任务编号k=j的任务的结束位置的移动距离。
例如,在ki=0,kj=2和r=1的情况下,满足dt(0,2,1)=dist(pt1[0,1],pt0[2,1])+dist(pt0[2,1],pt1[2,1])。pt1[0,1]为具有节点名称“L4-1”的节点,pt1[0,1]是具有运载机器编号r=1的运载机器的初始位置,并且pt0[2,1]为具有节点名称“L6”的节点,pt0[2,1]是具有任务编号k=2的任务的开始位置。因此,dist(pt1[0,1],pt0[2,1])是从具有节点名称“L4-1”的节点至具有节点名称“L6”的节点的移动距离,该移动距离为2。此外,pt1[2,1]是具有节点名称“L8”的节点,pt1[2,1]是具有任务编号k=2的任务的结束位置。因此,dist(pt0[2,1],pt1[2,1])是从具有节点名称“L6”的节点至具有节点名称“L8”的节点的移动距离,该移动距离为2。因此,满足dt(0,2,1)=2+2=4。
例如,在ki=1,kj=3和r=1的情况下,满足dt(1,3,1)=dist(pt1[1,1],pt0[3,1])+dist(pt0[3,1],pt1[3,1])。pt1[1,1]为具有节点名称“L3”的节点,其为任务编号k=1的任务的结束位置,pt0[3,1]为具有节点名称“L11”的节点,pt0[3,1]是具有任务编号k=3的任务的开始位置。因此,dist(pt1[1,1],pt0[3,1])是从具有节点名称“L3”的节点至具有节点名称“L11”的节点移动距离。作为从具有节点名称“L3”的节点至具有节点名称“L11”的节点的最短距离的路径是“L3”→“L5”→“L6”→“L7”→“L8”→“L10”→“L11”,并且移动距离为6。此外,pt1[3,1]是具有节点名称“L15”的节点,pt1[3,1]是具有任务编号k=3的任务的结束位置。因此,dist(pt0[3,1],pt1[3,1])是从具有节点名称“L11”的节点至具有节点名称“L15”的节点的移动距离,该移动距离为2。因此,满足dt(1,3,1)=6+2=8。
在步骤S2的过程之后,处理单元12基于布局信息11a和任务信息11c针对n个任务中的每个任务计算从每个任务的开始位置至结束位置的移动距离dk(k)(步骤S3)。注意,dk(k)对于m个运载机器中的每个运载机器是相同的值(不取决于运载机器编号r的值)。
处理单元12例如基于以下公式(2)针对所有k来计算dk(k)。
[公式2]
dk(k)=dist(pt0[k,1];pt1[k,1]) (2)
在k=1的情况下,满足dk(1)=dist(pt0[1,1],pt1[1,1])。dist(pt0[1,1],pt1[1,1])是从具有节点名称“L8”的节点至具有节点名称“L3”的节点的移动距离。作为从具有节点名称“L8”的节点至具有节点名称“L3”的节点的最短距离的路径是“L8”→“L10”→“L11”→“L12”→“L3”,并且移动距离为4。因此,满足dk(1)=4。
注意,在预先获得各个节点之间的最短距离例如作为布局信息11a的情况下,步骤S2和步骤S3的处理顺序可以互换。
此后,处理单元12基于在步骤S2的处理中计算的dt(ki,kj,r)和在步骤S3的处理中计算的dk(k)生成伊辛型(QUBO)评估函数(步骤S4)。
评估函数包含表示通过将n个任务分配给m个运载机器中的任一个运载机器获得的总移动距离的目标函数、表示问题应当满足的约束条件的约束项以及惩罚项。
目标函数由用于状态变量(x[r,t,i]和x[r,t+1,j])的二次表达式表示,如下公式(3)。
[公式3]
在公式(3)中,在步骤S2的处理中计算的dt(ki,kj,r)中,dt(i,j,r)是ki=i和kj=j的情况下的移动距离。
在公式(3)中,x[r,t,i]为指示具有运载机器编号r的运载机器是否在某时间t时执行具有任务编号k=i的任务的状态变量。x[r,t+1,j]是指示具有运载机器编号r的运载机器是否在时间t+1时执行任务编号k=j的任务的状态变量。x[r,t,i]和x[r,t+1,j]取值为0或1。在x[r,t,i]=0的情况下,其指示具有运载机器编号r的运载机器在时间t时不执行具有任务编号k=i的任务。在x[r,t,i]=1的情况下,其指示运载机器在时间t时执行具有任务编号k=i的任务。在x[r,t+1,j]=0的情况下,其指示具有运载机器编号r的运载机器在时间t+1时不执行具有任务编号k=j的任务。在x[r,t+1,j]=1的情况,其指示运载机器在时间t+1时执行具有任务编号k=j的任务。
在x[r,t,i]和x[r,t+1,j]两者为1的情况下,将总移动距离与运载机器r从具有任务编号k=i的任务的结束位置至具有任务编号k=j的任务的结束位置的移动距离dt(i,j,r)相加。在x[r,t,i]或x[r,t+1,j]为0的情况下,不将移动距离dt(i,j,r)与总移动距离相加。
注意,时间t不是时钟时间,而是取从0至n-1的值的整数,并且意指每个运载机器中的任务的执行顺序。因此,即使两个运载机器具有保存时间t,用于两个运载机器的时钟时间也可以不同。时间t=0为运载机器在初始位置处的时间,其也可以说是运载机器执行虚拟任务的时间。
稍后将描述约束项(参见稍后描述的公式(6)、公式(8)、公式(10)至公式(12)以及公式(14))。
惩罚项由以下公式(4)表示。
[公式4]
在公式(4)中,η是预定常数值,并且可以根据计算结果等适当地改变。公式(4)为通过将分配给m个运载机器中的每个运载机器的任务的dk[k]的和的平方值的和乘以η获得的值。
当将n个任务分配给m个运载机器时,在生成对寻找在最短时间内完成所有任务的分配问题进行建模的评估函数的情况下,仅公式(3)中的目标函数是不够的。这是因为,尽管上述目标函数表示总移动距离,但是使总移动距离最小化的任务的分配不一定是在最短的时间内完成所有任务的分配。
而由公式(4)表示的惩罚项为取决于m个运载机器的各个移动距离中的移动距离的最大值的值。通过搜索减少移动距离的最大值的任务分配,获得可以缩短用于完成所有任务的时间的解将变得更容易。因此,生成评估函数以包含如上所述的惩罚项。
注意,当将len(r=1)设置为具有运载机器编号r=1的运载机器的移动距离时,在m=4的情况下,每个移动距离的平方和为(len(r=1))2+(len(r=2))2+(len(r=3))2+(len(r=4))2。然而,如果这样的项被用作惩罚项,则阶数为四阶,这不符合二次QUBO。因此,通过用任务本身的移动距离来表示每个运载机器的移动距离,而不考虑到每个运载机器的每个任务的开始位置的移动距离,每个运载机器的移动距离可以近似为线性表达式,并且惩罚项可以符合QUBO。
在步骤S4的处理之后,处理单元12输出评估函数信息(步骤S5)。
在步骤S5的处理中,处理单元12获得一阶项的系数(其成为向量)、二阶项的系数(其成为矩阵)和基于生成的评估函数的状态变量的常数项,并且输出这些作为评估函数信息(QUBO问题数据)。例如,处理单元12可以将评估函数信息输出至伊辛装置13,或者可以输出至存储单元11以进行存储。此外,处理单元12可以将评估函数信息输出(发送)至信息处理设备10外部的装置。
伊辛装置13基于QUBO问题数据搜索使评估函数的值最小化的任务分配(每个状态变量的值)。
伊辛装置13是例如通过使用数字电路通过执行马尔可夫链蒙特卡罗法例如模拟退火法或副本交换法来执行上述搜索的装置。此外,伊辛装置13可以是通过使用超导电路通过执行量子退火来执行上述搜索的装置,或者可以是通过执行软件来执行上述搜索的处理器例如CPU、GPU、或DSP。
此外,处理单元12可以在不提供伊辛装置13的情况下执行上述搜索。
根据如上所述的第一实施方式的信息处理设备10和评估函数生成方法,在将任务分配给多个移动对象时,寻找在最短的时间内完成所有任务的分配的问题在包括如上所述的惩罚项的QUBO评估函数中被建模。
由于QUBO具有针对多变量问题的高速求解方法诸如各种伊辛装置,因此通过如上所述使得可以将问题建模为QUBO评估函数,即使问题的规模变大,与使用0-1整数规划的情况相比,计算时间也可以缩短。
[第二实施方式]
图2是示出根据第二实施方式的信息处理设备的硬件示例的框图。
信息处理设备20是例如计算机,并且包括CPU 21、RAM 22、HDD 23、图像信号处理单元24、输入信号处理单元25、介质读取器26、通信接口27和接口28。上述单元连接至总线。
CPU 21是包括执行程序指令的算术电路的处理器。CPU 21将存储在HDD 23中的程序和数据的至少一部分加载至RAM 22中以执行程序。注意,CPU 21可以包括多个处理器核,信息处理设备20可以包括多个处理器,并且可以使用多个处理器或处理器核并行执行下面描述的处理。
RAM 22是暂时存储由CPU 21执行的程序和由CPU 21用于算术运算的数据的易失性半导体存储器。注意,信息处理设备20可以包括与RAM不同类型的存储器,或者多个存储器。
HDD 23是存储诸如操作系统(OS)、中间件和应用软件的软件的程序和数据的非易失性存储装置。该程序包括例如使信息处理设备20执行生成评估函数的过程的程序。注意,信息处理设备20可以包括诸如闪存和固态驱动器(SSD)的其他类型的存储装置,并且可以包括多个非易失性存储装置。
图像信号处理单元24根据来自CPU 21的指令将图像输出至与信息处理设备20连接的显示器24a。可以使用阴极射线管(CRT)显示器、液晶显示器(LCD)、等离子体显示面板(PDP)、有机电致发光(OEL)显示器、有机发光二极管(OLED)显示器等作为显示器24a。
输入信号处理单元25从连接至信息处理设备20的输入装置25a获取输入信号,并且将输入信号输出至CPU 21。可以使用诸如鼠标、触摸面板、触摸板和轨迹球的指示装置、键盘、遥控器和按钮开关等作为输入装置25a。此外,多种类型的输入装置可以连接至信息处理设备20。
介质读取器26是读取记录在记录介质26a上的程序或数据的读取装置。例如,可以使用磁盘、光盘、磁光盘(MO)、半导体存储器等作为记录介质26a。磁盘的示例包括软盘(FD)和HDD。光盘包括压缩光盘(CD)和数字多功能光盘(DVD)。
介质读取器26将例如从记录介质26a读取的程序或数据复制到另一记录介质诸如RAM 22或HDD 23。例如通过CPU 21执行读取的程序。注意,记录介质26a可以是便携式记录介质,并且可以用于分发程序或数据。此外,记录介质26a和HDD 23也可以称为计算机可读记录介质。
通信接口27是连接至网络27a并且经由网络27a与另一信息处理设备通信的接口。通信接口27可以是通过线缆连接至通信设备诸如交换机的有线通信接口,或者可以是经由无线链路连接至基站的无线通信接口。
接口28连接至伊辛装置29,并且在CPU 21与伊辛装置29之间发送和接收数据。接口28例如可以是有线通信接口例如外围部件互连(PCI)快速(express),或者可以是无线通信接口。
注意,图1中示出的信息处理设备10也可以通过使用例如如上所述的硬件来实现。
伊辛装置29基于输入的QUBO问题数据搜索使QUBO评估函数的值最小化的每个状态变量的值。伊辛装置29是例如通过使用数字电路执行马尔可夫链蒙特卡罗法例如模拟退火法或副本交换法来执行上述搜索的装置。此外,伊辛装置29可以是通过使用超导电路执行量子退火来执行上述搜索的装置,或者可以是通过执行软件来执行上述搜索的处理器例如CPU、GPU或DSP。
注意,可以在信息处理设备20的外部提供伊辛装置29。
接下来,将描述信息处理设备20的功能和处理过程。
图3是图示信息处理设备的功能示例的框图。
信息处理设备20包括存储单元20a、数据获取单元20b、QUBO生成单元20c、控制单元20d、解单元20e和解输出单元20f。存储单元20a例如可以通过使用图2的RAM 22或HDD 23中保护的存储区域来实现。数据获取单元20b、QUBO生成单元20c和控制单元20d是图1中处理单元12的示例,并且可以使用例如由图2中的CPU 21执行的程序模块来实现。解单元20e可以使用图2的伊辛装置29来实现,并且解输出单元20f可以使用例如图2的图像信号处理单元24来实现。
存储单元20a存储例如布局信息、运载机器的初始位置信息、任务信息、搜索结束条件信息、解单元20e的控制参数等。控制参数包括解单元20e执行并行搜索时的并行搜索次数、搜索结束条件信息、用于在解单元20e执行模拟退火方法时改变温度参数的安排等。注意,上述各种数据可以从信息处理设备20的外部输入,或者可以例如基于通过由用户对输入装置25a的操作输入的数据在信息处理设备20中生成。
数据获取单元20b从存储单元20a获取上述各种类型的信息。
QUBO生成单元20c基于布局信息、运载机器的初始位置信息和任务信息生成QUBO评估函数,并且输出生成的评估函数的信息。注意,生成的QUBO信息可以存储在存储单元20a中。
控制单元20d将评估函数的信息输出至解单元20e,并且基于各种控制参数控制解单元20e。此外,控制单元20d使解输出单元20f输出由解单元20e获得的解。
解输出单元20f在控制单元20d的控制下将由解单元20e获得的解输出至显示器24a。注意,解输出单元20f可以将解输出至另一信息处理设备或存储装置。
在下文中,将描述存储在存储单元20a中的数据的示例。
图4是示出布局信息的示例的视图。
此外,图5是示出由布局信息表示的有向图的示例的视图。
表示有向图的布局信息是例如如图4所示的表数据。行指示将为有向图的边的起点的节点的节点名称,并且列指示将为所述边的终点的节点的节点名称。“1”指示边的长度,并且没有值的单元指示没有边。例如,在节点名称为“L1”的行和节点名称为“L3”的列的单元中,写入了“1”,这指示存在从具有节点名称“L1”的节点至具有节点名称“L3”的节点的距离为1的边,如图5所示。
图6是示出运载机器的初始位置的示例的视图。
图6示出了具有运载机器编号r=1至r=4的四个运载机器的初始位置的示例。初始位置由有向图中的节点名称表示。例如,具有运载机器编号r=1的运载机器的初始位置为具有节点名称“L4-1”的节点。
图7是示出任务信息的示例的视图。
图7示出了关于具有任务编号k=1至k=5的五个任务的信息的示例。针对每个任务的信息包含开始位置和结束位置。开始位置是例如运载机器接收包裹的位置,并且结束位置是例如运载机器交付包裹的位置。例如,k=5的任务是将节点名称为“L11”的节点作为开始位置并且将节点名称为“L20”的节点作为结束位置的任务。
接下来,将描述由信息处理设备20进行的评估函数生成处理的示例。注意,在以下中,针对生成QUBO评估函数的示例给出了描述,该QUBO评估函数对将如图7所示的五个任务中的每一个分配给如图6所示的初始位置处的四个运载机器中的任何一个的问题进行建模,但是数目不限于此。此外,假设当完成所有分配的任务时,每个运载机器返回至初始位置。
图8是示出评估函数生成处理的示例的流程的流程图。
数据获取单元20b获取包括存储在存储单元20a中的布局信息、运载机器的初始位置信息和任务信息的数据(步骤S10)。
QUBO生成单元20c基于如图6所示的运载机器的初始位置以及如图7所示的任务信息计算每个任务的开始位置pt0[k,r](步骤S11)。该任务还包括具有任务编号k=0的虚拟任务。
图9是示出每个任务的开始位置pt0[k,r]的计算结果的示例的视图。
在图9中,pt0[k,r]由节点名称表示。例如,pt0[0,1]是具有运载机器编号1的运载机器的初始位置,并且指示具有节点名称“L4-1”的节点。pt0[1,1]、pt0[1,2]、pt0[1,3]和pt0[1,4]指示具有节点名称“L8”的节点,节点名称“L8”的节点是具有任务编号k=1的任务的开始位置,并且不依赖于运载机器编号r的值。
QUBO生成单元20c基于如图6所示的运载机器的初始位置以及如图7所示的任务信息计算每个任务的结束位置pt1[k,r](步骤S12)。同样,该任务还包括具有任务编号k=0的虚拟任务。
图10是示出每个任务的结束位置pt1[k,r]的计算结果的示例的视图。
在图10中,pt1[k,r]由节点名称表示。例如,pt1[0,1]是具有运载机器编号1的运载机器的初始位置(=结束位置),并且指示具有节点名称“L4-1”的节点。pt1[1,1]、pt1[1,2]、pt1[1,3]、pt1[1,4]全部指示具有节点名称“L3”的节点,具有节点名称“L3”的节点是具有任务编号k=1的任务的结束位置,并且不依赖于运载机器编号r的值。
接下来,QUBO生成单元20c计算dist(p[i],p[j])(步骤S13)。dist(p[i],p[j])是从包括在有向图中的每个节点p[i]至包括在有向图中的另一节点p[j]的距离。QUBO生成单元20c可以通过使用例如Dijkstra(迪杰斯特拉)算法等来获得作为从节点p[i]至节点p[j]的最短距离的dist(p[i],p[j])。
图11是表示dist(p[i],p[j])的计算结果的示例的一部分的表。
具有相同节点名称的节点之间的距离为0。此外,例如,具有节点名称“L1”的节点无法到达具有节点名称“L1d1”的节点,这是因为没有边。如图11所示,这样的节点之间的距离被设置为非常大的值。
然后,QUBO生成单元20c基于上述公式(1)为所有ki、kj和r计算dt(ki,kj,r)(步骤S14)。
图12是表示dt(ki,kj,r)的计算结果的示例的表。
例如,在ki=0,kj=5,r=1的情况下,满足dt(0,5,1)=dist(pt1[0,1],pt0[5,1])+dist(pt0[5,1],pt1[5,1])。pt1[0,1]指示具有节点名称“L4-1”的节点,具有节点名称“L4-1”的节点是具有运载机器编号r=1的运载机器的初始位置,并且pt0[5,1]指示具有节点名称“L11”的节点,具有节点名称“L11”的节点是具有任务编号k=5的任务的开始位置。因此dist(pt1[0,1],pt0[5,1])是从具有节点名称“L4-1”的节点至具有节点名称“L11”的节点的移动距离,该移动距离为6。此外,pt1[5,1]指示具有节点名称“L20”的节点,具有节点名称“L20”的节点是具有任务编号k=5的任务的结束位置。因此,dist(pt0[5,1],pt1[5,1])是从具有节点名称“L11”的节点至具有节点名称“L20”的节点的移动距离,该移动距离为6。因此,如图12所示,在ki=0,kj=5,r=1的情况下,满足dt(0,5,1)=6+6=12。
接下来,QUBO生成单元20c基于上述公式(2)为所有k(不包括k=0)计算dk(k)(步骤S15)。
在k=1的情况下,将要满足dk(1)=dist(pt0[1,1],pt1[1,1])。dist(pt0[1,1],pt1[1,1])是从具有节点名称“L8”的节点至具有节点名称“L3”的节点的移动距离。根据图5,作为从具有节点名称“L8”的节点至具有节点名称“L3”的节点的最短距离的路径是“L8”→“L10”→“L11”→“L12”→“L3”,并且该移动距离为4。因此,满足dk(1)=4。
在k=2的情况下,将要满足dk(2)=dist(pt0[2,1],pt1[2,1])。dist(pt0[2,1],pt1[2,1])是从具有节点名称“L6”的节点至具有节点名称“L8”的节点的移动距离,根据图5该移动距离为2。因此,满足dk(2)=2。
在k=3的情况下,将要满足dk(3)=dist(pt0[3,1],pt1[3,1])。dist(pt0[3,1],pt1[3,1])是从具有节点名称“L11”的节点至具有节点名称“L15”的节点的移动距离,根据图5该移动距离为2。因此,满足dk(3)=2。
在k=4的情况下,将要满足dk(4)=dist(pt0[4,1],pt1[4,1])。dist(pt0[4,1],pt1[4,1])是从具有节点名称“L18”的节点至具有节点名称“L8”的节点的移动距离,根据图5该移动距离为2。因此,满足dk(3)=2。
在k=5的情况下,将要满足dk(5)=dist(pt0[5,1],pt1[5,1])。dist(pt0[5,1],pt1[5,1])是从具有节点名称“L11”的节点至具有节点名称“L20”的节点的移动距离。根据图5,作为从具有节点名称“L11”的节点至具有节点名称“L20”的节点的最短距离的路径是“L11”→“L13”→“L15”→“L17”→“L18”→“L19”→“L20”。并且该移动距离为6。因此,满足dk(5)=6。
此后,QUBO生成单元20c基于如上所述计算的dt(ki,kj,r)和dk(k)生成QUBO评估函数(步骤S16)。
目标函数由如上述公式(3)中的状态变量(x[r,t,i]和x[r,t+1,j])的二次表达式表示。如在上述示例中,QUBO评估函数中包含的状态变量可以表示如下,该QUBO评估函数对将五个任务中的每一个分配给四个运载机器中的任何一个的问题进行建模。
图13是表示状态变量和值的示例的表。
在图13中,由三个参数即运载机器编号r、时间t和任务编号k指定的每个状态变量被描述为值0或1。注意,省略了值的描述的单元指示状态变量值为0。
从图13中可以看出,通过使用上述状态变量,状态变量的数目可以是6×6×4个。由于采用指示哪个运载机器在哪个时间(执行顺序)处执行或不执行哪个任务的状态变量,因此与考虑到移动路径而设置状态变量的情况相比,状态变量的数目可以减少。由解单元20e计算每个状态变量被设置成0还是1。
在步骤S16的处理中,QUBO生成单元20c对评估函数添加下面的约束项。当分配的任务不满足应当由问题所满足的条件(约束条件)时,约束项具有大于0的值。
例如,存在下面的六个约束条件作为约束条件。
(约束条件1)
约束条件1是以下条件:对于每个运载车辆仅执行两次k=0的虚拟任务。这是为了满足如上所述的问题设置:运载车辆离开初始位置,并且在执行所有的分配任务之后再次返回至初始位置。如下所示,使用公式(5)表示约束条件1。
[公式5]
根据公式(5),代表约束条件1的约束项1可以由下面的公式(6)表示。
[公式6]
在公式(6)中,α是设置成相对大的值的预定常数值。当满足如公式(5)所示的关于r=1至r=4的约束条件1时,约束项1变为0,并且当不满足约束条件1时,约束项1将是大于0的相对大的值。
(约束条件2)
约束条件2是以下条件:每个任务的执行次数为1。如下所示,使用公式(7)表示约束条件2。
[公式7]
约束条件2指示:在如图13中的以矩阵布置的状态变量中,k=1至k=5的每一列的总值为1。
根据公式(7),代表约束条件2的约束项2可以由下面的公式(8)表示。
[公式8]
在公式(8)中,β是设置成相对大的值的预定常数值。当满足如公式(7)所示的约束条件2时,约束项2变为0;并且当不满足约束条件2时,约束项2将是大于0的相对大的值。
(约束条件3)
约束条件3是以下条件:在特定时间由每个运载机器执行的任务的数目为0或1。约束条件3可以说明:对于r=1、2、3、4和t=1、2、3、4、5全部来说下面的公式(9)为0或1。
[公式9]
当公式(9)表示为M时,约束条件3可以表示为M(M-1)=0。约束条件3指示:在如图13中的以矩阵布置的状态变量中,每行的总值为0或1。代表约束条件3的约束项3可以由下面的公式(10)表示。
[公式10]
在公式(10)中,γ是设置成相对大的值的预定常数值。当满足如上所述的约束条件3时,约束项3变为0;并且当不满足约束条件3时,约束项3将是大于0的相对大的值。
(约束条件4)
约束条件4是以下条件:每个运载机器在返回至初始位置之后不执行任务。当te(≠0)是具有运载机器编号r的运载机器返回至初始位置的时间时,约束条件4为x[r,te,0]=1;并且当满足te<t时,约束条件4为x[r,t,k]=0。代表约束条件4的约束项4可以由下面的公式(11)表示。
[公式11]
在公式(11)中,δ是设置成相对大的值的预定常数值。当满足如上所述的约束条件4时,约束项4变为0;并且当不满足约束条件4时,约束项4将是大于0的相对大的值。
(约束条件5)
约束条件5是以下条件:当满足t=0时每个运载机器处于初始位置。约束条件5指示满足x[1,0,0]=1,x[2,0,0]=1,x[3,0,0]=1和x[4,0,0]=1。代表约束条件5的约束项5可以由下面的公式(12)表示。
[公式12]
在公式(12)中,ε是设置成相对大的值的预定常数值。当满足如上所述的约束条件5时,约束项5变为0;并且当不满足约束条件5时,约束项5将是大于0的相对大的值。
(约束条件6)
约束条件6是用以防止发生以下情况的条件:在分配的任务中的由每个运载机器最后执行的任务的执行时间之前的时间处没有执行任务。也就是说,例如,约束条件6是以下条件:该条件使得如图13所示对于每个运载机器r=1至r=4仅具有0的行聚集在行的末尾处,并且该条件防止(例如,在如图13中的以矩阵布置的状态变量中)对于每个运载机器仅具有0的行插入中间。这是因为当在中间插入仅具有0的行时,目标函数的值变得非常小,并且总移动距离不再能够被正确地计算出。
在如图13中的以矩阵布置的状态变量中,在特定时间t的行中的状态变量的值的和S[t]可以由下面的公式(13)表示。
[公式13]
在时间t-1的行的状态变量值的和S[t-1]为0以及时间t的行的状态变量的和S[t]为1的情况下,换言之,在(1-S[t-1])S[t]=1的情况下,这指示仅具有0的行被插入在中间。因此,对于每个时间t,满足(1-S[t-1])S[t]=0作为约束条件6就足够了。代表约束条件6的约束项6可以由下面的公式(14)表示。
[公式14]
在公式(14)中,ζ是设置成相对大的值的预定常数值。当满足如上所述的约束条件6时,约束项6变为0;并且当不满足约束条件6时,约束项6将是大于0的相对大的值。
惩罚项由上述公式(4)表示。
QUBO评估函数是将上述六个约束项和惩罚项添加至目标函数的函数。
在步骤S16中的处理之后,QUBO生成单元20c输出QUBO问题数据(步骤S17)。
QUBO生成单元20c基于生成的评估函数获得状态变量的常数项、一阶项的系数(其变为向量)、二阶项的系数(其变为矩阵),并且将这些作为QUBO问题数据输出。由QUBO生成单元20c输出的QUBO问题数据可以通过控制单元20d被输出至解单元20e,或者可以被输出至存储单元20a并且被存储。此外,QUBO生成单元20c可以将QUBO问题数据输出(传送)至信息处理设备20外部的装置。
注意,图8所示的处理流程是一个示例,并且处理顺序可以被适当地改变。例如,步骤S14和S15的处理顺序可以互换。
此外,QUBO生成单元20c可以将在步骤S11至S15中的处理中的每个处理中获得的计算结果存储在存储单元20a中。
当解单元20e从控制单元20d接收到QUBO问题数据时,解单元20e在控制单元20d的控制下搜索使评估函数的值最小化的每个状态变量的值,并且输出搜索结果作为解。例如,获得如图13所示的解。
如下所示,在有向图上表示该解。
图14是示出分配给具有运载机器编号r=1的运载机器的任务的移动路径的示例的视图。
如图13所示,具有运载机器编号r=1的运载机器在时间t=1时执行具有任务编号k=2的任务,并且在时间t=2时执行具有任务编号k=1的任务。因此,如图14所示,当具有运载机器编号r=1的运载机器的移动路径由节点名称表示时,获得“L4-1”→“L4-2”→“L6”→“L7”→“L8”→“L10”→“L11”→“L12”→“L3”→“L4-1”。因此,移动距离为9。
图15是示出分配给具有运载机器编号r=2的运载机器的任务的移动路径的示例的视图。
如图13所示,具有运载机器编号r=2的运载机器在时间t=1时执行具有任务编号k=3的任务,并且在时间t=2时执行具有任务编号k=4的任务。因此,如图15所示,当具有运载机器编号r=2的运载机器的移动路径由节点名称表示时,获得“L9-1”→“L9-2”→“L11”→“L13”→“L15”→“L17”→“L18”→“L14”→“L8”→“L9-1”。因此,移动距离为9。
如图13所示,没有任务被分配给具有运载机器编号r=3的运载机器。因此,具有运载机器编号r=3的运载机器的移动距离为0。
图16是示出分配给具有运载机器编号r=4的运载机器的任务的移动路径的示例的视图。
如图13所示,具有运载机器编号r=4的运载机器在时间t=1时执行具有任务编号k=5的任务。因此,如图16所示,当具有运载机器编号r=4的运载机器的移动路径由节点名称表示时,获得以下结果。移动路径为“L21-2”→“L23”→“L24”→“L15”→“L17”→“L18”→“L14”→“L8”→“L10”→“L11”→“L13”→“L15”→“L17”→“L18”→“L19”→“L20”→“L21-1”→“L21-2”。因此,移动距离为17。
因此,所有任务完成的时间为与具有运载机器编号r=4的运载机器的移动距离对应的时间。
根据如上所述的第二实施方式的信息处理设备20和评估函数生成方法,可以获得与第一实施方式的信息处理设备10和评估函数生成方法的效果类似的效果。换言之,例如,与使用0-1整数规划的情况相比,可以缩短计算时间。此外,各种约束条件可以由如上所述的状态变量x[r,t,k]的二次表达式来表达,并且可以作为QUBO评估函数的约束项添加。
注意,在以上描述中,省略了对在计算dist(p[i],p[j])时存在多个最短路径的情况的描述。在这种情况下,对评估函数添加约束项是足够的,所述约束项指示以下约束条件(称为1-hot(独热)约束条件):针对多个最短路径的数目来复制任务,并且从复制的任务中只选择一个任务。
此外,在上述说明中,以如下问题为例进行了描述,该问题是在将任务分配给多个运载机器时找到在最短时间内完成所有任务的分配的问题,所述多个运载机器是多个移动对象的示例,但是实施方式不限于此。例如,也可以应用于调派多个出租车等的问题,所述多个出租车是多个移动对象的另一示例。在那种情况下,布局信息是由有向图表示的地图信息,移动对象是出租车,并且任务由顾客上车的位置和顾客下车的位置表示。
此外,如上所述,可以通过使信息处理设备20执行程序来实现上述处理内容。
程序可以记录在计算机可读记录介质(例如,记录介质26a)上。例如,可以使用磁盘、光盘、磁光盘、半导体存储器等作为记录介质。磁盘包括FD和HDD。光盘包括CD、CD-R(可记录)/RW(可重写)、DVD和DVD-R/RW。程序可以记录在便携式记录介质上并且被分发。在这种情况下,可以将程序从便携式记录介质复制到另一记录介质(例如,HDD23)并且然后被执行。
在上述内容中,基于实施方式已经描述了实施方式的评估函数生成程序、评估函数生成方法和信息处理设备的一方面;然而,这些只是示例,并且不限于上述描述。
Claims (11)
1.一种使计算机执行处理的评估函数生成程序,所述处理包括:
获取表示有向图中多个移动对象能够移动的移动路径的布局信息、指示所述多个移动对象的初始位置的初始位置信息以及指示多个任务中的每个任务的开始位置和结束位置的任务信息;
基于所述布局信息、所述初始位置信息和所述任务信息,指定所述多个移动对象中的每个移动对象从包括在所述多个任务中的多个任务对中的每个任务对中的一个任务的结束位置移动至另一任务的结束位置的第一移动距离;
基于所述布局信息和所述任务信息,指定所述多个移动对象中的每个移动对象从所述多个任务中的每个任务的开始位置到结束位置的第二移动距离;以及
基于所述第一移动距离和所述第二移动距离生成伊辛模型的评估函数,所述伊辛模型的评估函数是通过对目标函数添加惩罚项而获得的,所述惩罚项基于分配给所述多个移动对象中的每个移动对象的任务的所述第二移动距离的总和的平方值的总和,所述目标函数表示通过将所述多个任务中的每个任务分配给所述多个移动对象中的任何移动对象而获得的总移动距离。
2.根据权利要求1所述的评估函数生成程序,其中,
所述目标函数由二次表达式表示,所述二次表达式使用指示所述多个移动对象中的每个移动对象是否在特定时间执行特定任务的状态变量。
3.根据权利要求1所述的评估函数生成程序,其中,所述处理还包括:
将所生成的评估函数的信息输出至伊辛装置,所述伊辛装置搜索所述将多个任务向所述多个移动对象的分配,其中,所述分配使所述评估函数的值最小化。
4.根据权利要求1至3中任一项所述的评估函数生成程序,其中,
所述指定包括通过在所述多个任务中包括虚拟任务来指定所述第一移动距离,在所述虚拟任务中,所述多个移动对象中的每个移动对象的所述初始位置被设置为所述开始位置和所述结束位置。
5.根据权利要求4所述的评估函数生成程序,
其中,所述评估函数包括第一约束项,当对于所述多个移动对象中的每个移动对象,所述虚拟任务的执行次数不是两次时,所述第一约束项具有大于0的值。
6.根据权利要求4或5所述的评估函数生成程序,
其中,所述评估函数包括第二约束项,当在所分配的任务中的由所述多个移动对象中的每个移动对象最后执行的任务的执行时间之前的时间处没有执行任务时,所述第二约束项具有大于0的值。
7.根据权利要求4至6中任一项所述的评估函数生成程序,
其中,所述评估函数包括第三约束项,当所述多个移动对象中的每个移动对象在移动至所述结束位置之后执行任何任务时,所述第三约束项具有大于0的值。
8.一种评估函数生成方法,包括:
获取表示有向图中多个移动对象能够移动的移动路径的布局信息、指示所述多个移动对象的初始位置的初始位置信息以及指示多个任务中的每个任务的开始位置和结束位置的任务信息;
基于所述布局信息、所述初始位置信息和所述任务信息,指定所述多个移动对象中的每个移动对象从包括在所述多个任务中的多个任务对中的每个任务对中的一个任务的结束位置移动至另一任务的结束位置的第一移动距离;
基于所述布局信息和所述任务信息,指定所述多个移动对象中的每个移动对象从所述多个任务中的每个任务的开始位置到结束位置的第二移动距离;以及
基于所述第一移动距离和所述第二移动距离生成伊辛模型的评估函数,所述伊辛模型的评估函数是通过对目标函数添加惩罚项而获得的,所述惩罚项基于分配给所述多个移动对象中的每个移动对象的任务的所述第二移动距离的总和的平方值的总和,所述目标函数表示通过将所述多个任务中的每个任务分配给所述多个移动对象中的任何移动对象而获得的总移动距离。
9.根据权利要求8所述的评估函数生成方法,其中,
所述目标函数由二次表达式表示,所述二次表达式使用指示所述多个移动对象中的每个移动对象是否在特定时间执行特定任务的状态变量。
10.一种信息处理设备,包括:
存储器,其被配置成存储表示有向图中多个移动对象能够移动的移动路径的布局信息、指示所述多个移动对象的初始位置的初始位置信息以及指示多个任务中的每个任务的开始位置和结束位置的任务信息;以及
处理器,其被配置成:
基于所述布局信息、所述初始位置信息和所述任务信息,指定所述多个移动对象中的每个移动对象从包括在所述多个任务中的多个任务对中的每个任务对中的一个任务的结束位置移动至另一任务的结束位置的第一移动距离;
基于所述布局信息和所述任务信息,指定所述多个移动对象中的每个移动对象从所述多个任务中的每个任务的开始位置到结束位置的第二移动距离;以及
基于所述第一移动距离和所述第二移动距离生成伊辛模型的评估函数,所述伊辛模型的评估函数是通过对目标函数添加惩罚项而获得的,所述惩罚项基于分配给所述多个移动对象中的每个移动对象的任务的所述第二移动距离的总和的平方值的总和,所述目标函数表示通过将所述多个任务中的每个任务分配给所述多个移动对象中的任何移动对象而获得的总移动距离。
11.根据权利要求10所述的信息处理设备,其中,
所述目标函数由二次表达式表示,所述二次表达式使用指示所述多个移动对象中的每个移动对象是否在特定时间执行特定任务的状态变量。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020136427A JP2022032552A (ja) | 2020-08-12 | 2020-08-12 | 評価関数生成プログラム、評価関数生成方法及び情報処理装置 |
JP2020-136427 | 2020-08-12 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114118506A true CN114118506A (zh) | 2022-03-01 |
Family
ID=76522899
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110679007.0A Pending CN114118506A (zh) | 2020-08-12 | 2021-06-18 | 评估函数生成程序、评估函数生成方法及信息处理设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220050709A1 (zh) |
EP (1) | EP3955139A1 (zh) |
JP (1) | JP2022032552A (zh) |
CN (1) | CN114118506A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116186953A (zh) * | 2023-04-26 | 2023-05-30 | 中国电建集团昆明勘测设计研究院有限公司 | 一种水准测量有向图的布局方法、装置、设备及存储介质 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2023149726A (ja) * | 2022-03-31 | 2023-10-13 | 富士通株式会社 | データ処理装置、プログラム及びデータ処理方法 |
WO2024084628A1 (ja) * | 2022-10-19 | 2024-04-25 | 三菱電機株式会社 | 運行計画装置、運行計画方法、運行計画プログラム、及び運行管理システム |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5949179B2 (ja) | 2012-06-04 | 2016-07-06 | 富士通株式会社 | 予測プログラム、予測装置、及び予測方法 |
JP2017515195A (ja) | 2014-03-12 | 2017-06-08 | テンポラル ディフェンス システムズ, エルエルシー | 断熱量子計算を介してデジタル論理制約問題を解く |
JP6706835B2 (ja) | 2016-01-29 | 2020-06-10 | パナソニックIpマネジメント株式会社 | 移動ロボット制御システム及び移動ロボットを制御するサーバ装置 |
US10268964B2 (en) * | 2016-03-30 | 2019-04-23 | 1Qb Information Technologies Inc. | Method and system for solving a minimum connected dominating set problem using quantum annealing for distance optimization |
US10733877B2 (en) * | 2017-11-30 | 2020-08-04 | Volkswagen Ag | System and method for predicting and maximizing traffic flow |
-
2020
- 2020-08-12 JP JP2020136427A patent/JP2022032552A/ja not_active Withdrawn
-
2021
- 2021-06-14 US US17/346,321 patent/US20220050709A1/en active Pending
- 2021-06-18 CN CN202110679007.0A patent/CN114118506A/zh active Pending
- 2021-06-18 EP EP21180269.9A patent/EP3955139A1/en not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116186953A (zh) * | 2023-04-26 | 2023-05-30 | 中国电建集团昆明勘测设计研究院有限公司 | 一种水准测量有向图的布局方法、装置、设备及存储介质 |
CN116186953B (zh) * | 2023-04-26 | 2023-07-07 | 中国电建集团昆明勘测设计研究院有限公司 | 一种水准测量有向图的布局方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP3955139A1 (en) | 2022-02-16 |
US20220050709A1 (en) | 2022-02-17 |
JP2022032552A (ja) | 2022-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114118506A (zh) | 评估函数生成程序、评估函数生成方法及信息处理设备 | |
Mirhoseini et al. | A graph placement methodology for fast chip design | |
Van Meter et al. | A blueprint for building a quantum computer | |
Kissinger et al. | CNOT circuit extraction for topologically-constrained quantum memories | |
JP7007585B2 (ja) | 最適化装置、最適化装置の制御方法及び最適化装置の制御プログラム | |
CN103534686A (zh) | 异构核心的自动内核迁移 | |
US8943484B2 (en) | Code generation method and information processing apparatus | |
TW201209617A (en) | Architectural level power-aware optimization and risk mitigation | |
Efentakis et al. | Optimizing landmark-based routing and preprocessing | |
JP2020194273A (ja) | 最適化装置、最適化方法及び最適化プログラム | |
JP2015148926A (ja) | 情報処理装置、評価関数学習方法およびプログラム | |
US20210239481A1 (en) | Information processing apparatus, recording medium, information processing method, and information processing system | |
Li et al. | Quarl: A learning-based quantum circuit optimizer | |
Aghaeekiasaraee et al. | CRP2. 0: a fast and robust cooperation between routing and placement in advanced technology nodes | |
Edelkamp et al. | Improved diversity in nested rollout policy adaptation | |
JP7219402B2 (ja) | 最適化装置、最適化装置の制御方法及び最適化装置の制御プログラム | |
US20210042099A1 (en) | Automatic generation of efficient vector code with low overhead in a time-efficient manner independent of vector width | |
JP2021125178A (ja) | 最適化装置、最適化装置の制御方法及び最適化装置の制御プログラム | |
Dousti et al. | Squash 2: a hierarchical scalable quantum mapper considering ancilla sharing | |
JP7339923B2 (ja) | 材料の特性値を推定するシステム | |
CN111985631B (zh) | 信息处理设备、信息处理方法及计算机可读记录介质 | |
JP2022140995A (ja) | 情報処理装置、コンパイルプログラムおよびコンパイル方法 | |
US20220414184A1 (en) | Data processing apparatus and data processing method | |
Liao et al. | Reinforcement learning for routing | |
JP2023001055A (ja) | プログラム、データ処理装置及びデータ処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |