技术领域
[0001] 本文讨论的实施方式涉及优化设备、优化程序和优化方法。
相关背景技术
[0002] 考虑到各种条件和限制,从大量组合中寻找最优组合的问题被称为组合优化问题。近年来,在现实世界的各个领域中已经进行了获得最优答案的尝试,即应用组合优化问题来求解问题。
[0003] 可能的组合优化问题的示例包括药物发现中的分子相似度搜索、金融中的投资组合优化、数字营销中的个性化广告优化、工厂和物流中的仓库部件放置优化等。
[0004] 然而,由于在组合优化问题中,因素的组合的数目随着要考虑的因素数目的增加而呈指数增加,因此难以通过顺序地执行处理的常规计算方法来及时求解现实世界中的实
际问题。
[0005] 因此,已经提出了通过使用退火机等的退火方法来执行计算的技术(例如,参见专利文献1),作为能够高速求解组合优化问题的技术。
[0006] 此处,在这种常规技术中,在求解多个组合优化问题的情况下,分别计算每个组合优化问题(作为单独的作业进行计算),使得单独地求解每个组合优化问题。由于这个原因,常规技术具有以下问题:要求解的组合优化问题需要被单独地且重复地求解,并且求解多个组合优化问题所需要的计算时间变长。
[0007] [引文列表]
[0008] [专利文献]
[0009] [专利文献1]日本公开特许公报第2019‑121137号。
具体实施方式
[0061] (优化设备)
[0062] 在本案中公开的优化设备在一个方面中可以是对多个组合进行优化的设备。在本案中公开的优化设备设置有求解单元,并且根据需要还包括其他单元(装置)。
[0063] 首先,在描述本案中公开的技术的细节之前,将描述常规技术中的用于求解组合优化问题的方法。
[0064] 用于求解组合优化问题的方法的示例包括使用“成本函数”的方法,该“成本函数”是基于组合优化问题中的条件和限制的函数。注意,成本函数也可以被称为目标函数、能量函数、哈密顿函数等。
[0065] 成本函数是当成本函数中的变量(参数)的组合成为组合优化问题中的最优组合时取最小值的函数。因此,可以通过搜索成本函数取最小值的变量的组合来搜索组合优化
问题的解。
[0066] 此处,用于搜索成本函数取最小值的变量的组合的方法的示例包括如下方法:该方法用于通过将成本函数转换成被称为伊辛模型的格式并且使转换成伊辛模型的成本函
数的值最小化来求解组合优化问题。
[0067] 例如,通过使用退火机等执行退火方法(退火),可以在短时间内执行转换成伊辛模型式的成本函数的最小化。此处,退火方法是类似于通过将材料加热至高温并且然后逐
渐冷却该材料来使材料的晶体结构收敛至最佳状态的方法。在退火方法中,与材料中的温
度对应的参数从高状态逐渐降低,使得解的搜索范围从宽范围逐渐变窄,并且可以搜索具
有最低能量的状态。
[0068] 此外,退火机意指对由伊辛模型表示的成本函数执行基态搜索的退火型计算机。与常规的诺伊曼计算机相比,该退火机可以在较短的时间内执行被转换成伊辛模型式的成
本函数的最小化(搜索成本函数的最小值),并且因此可以在短时间内求解组合优化问题。
[0069] 例如,可以使用以下数学式(1)作为转换成伊辛模型的成本函数。注意,下面的数学式(1)是二次无约束二进制优化(QUBO)格式的伊辛模型。
[0070] [式1]
[0071]
[0072] 注意,在以上式(1)中,E表示成本函数,其中,成本函数最小化意味着求解组合优化问题。
[0073] wij是用于加权第i元素(位)和第j元素(位)的系数。
[0074] xi是表示第i元素(位)为0或1的二进制变量,并且xj是表示第j元素(位)为0或1的二进制变量。
[0075] bi是表示针对第i元素(位)的偏移的数值。
[0076] 此处,当通过使用退火机的退火方法使以上式(1)的伊辛模型(伊辛模型式)的成本函数最小化时,将对应的位分配给伊辛模型式(1)中的每个“xi”。此外,当通过使伊辛模型式最小化来求解组合优化问题时,随着组合优化问题的规模(组合的数目)越大,退火机
需要分配较大数目的位。
[0077] 以上伊辛模型式(1)中的“bi”是针对每个位的偏移项,并且是与用于计算的位具有相同数目的一组数值。此外,以上伊辛模型式(1)中的“wij”是用于对位进行加权的系数(权重)(权重意味着位之间的相互作用的大小),并且是与用于计算的位的组合(位数的平
方)具有相同数目的一组数值。
[0078] 如上所述,当使用退火机使以上伊辛模型式(1)最小化时,使用根据组合优化问题的规模分配的位(0或1)的数目,基于偏移和权重来搜索伊辛模型式的最小值。因此,在常规技术中,当使用退火机使以上伊辛模型式(1)最小化时,针对要求解的每个组合优化问题设置偏移和权重,并且执行通过退火方法的计算。
[0079] 此处,当将组合优化问题应用于现实世界的问题时,有时需要求解大量的组合优化问题。
[0080] 例如,在通过求解药物发现等中的组合优化问题来寻找分子之间的相似度的情况下,存在需要获得各种分子相对于一个参考分子(查询分子)的相似度的一些情况。如图1所示,例如,当搜索与具有作为药物的已知效果的查询分子具有相似结构的分子时,需要针对查询分子和搜索目标分子中的每一个获得相似度,其中,针对搜索目标分子,获得与查询分子的相似度。此时,例如,在从记录有10,000个分子的数据库中搜索与查询分子相似的搜索目标分子的情况下,需要求解大量的(诸如10,000个)组合优化问题,以获得每个搜索目标
分子的相似度。
[0081] 在以常规技术求解多个组合优化问题的情况下,如上所述,分别计算组合优化问题中的每一个(作为单独的作业进行计算),使得单独地求解组合优化问题中的每一个。即,在以常规技术求解多个组合优化问题的情况下,首先,求解第一组合优化问题,并且然后在完成第一组合优化问题之后求解第二组合优化问题。因此,在常规技术中,在求解多个组合优化问题的情况下,一个接一个地相继求解组合优化问题,并且因此存在如下问题:根据要求解的组合优化问题的数目,求解组合优化问题所需要的计算时间变长。
[0082] 作为常规技术的示例,考虑通过使用退火机使与三个组合优化问题分别对应的伊辛模型式最小化来求解所述三个组合优化问题的情况,如图2中那样。在图2的示例中,用于求解问题(1)的作业(1)是使用两位(2位)的组合优化问题,偏移是两个数值的集合,并且权重是四个数值的集合。用于求解问题(2)的作业(2)是使用四位的组合优化问题,偏移是四
个数值的集合,并且权重是十六个数值的集合。类似于问题(1),用于求解问题(3)的作业
(3)是使用两位的组合优化问题,偏移是两个数值的集合,并且权重是四个数值的集合。
[0083] 此外,在图2的示例中,用于求解问题(1)、问题(2)和问题(3)中的每一个所需要的计算时间分别为一秒。
[0084] 在图2的示例中,首先求解问题(1),在完成问题(1)之后求解问题(2),并且然后在完成问题(2)之后求解问题(3)。因此,在图2所示的示例中,用于求解问题(1)、问题(2)和问题(3)所需要的计算时间最短为三秒。
[0085] 在图2所示的示例中,用于求解多个组合优化问题所需要的计算时间与要求解的组合优化问题的数目成比例地增加。因此,在常规技术中,例如,在求解分别需要一秒来求解的N个组合优化问题的情况下,对于最短的计算时间,总共需要N秒。
[0086] 如上所述,在常规技术中,需要根据要求解的组合优化问题的数目来单独地且重复地求解组合优化问题,用于求解问题所需要的计算时间变长,并且多个组合优化问题在
短时间内未能得到有效地求解。
[0087] 因此,本发明人认真研究了能够在短时间内有效地求解多个组合优化问题而无需单独地重复求解所述问题的优化设备等,并且获得了以下发现。也就是说,本发明人发现:
通过优化设备可以在短时间内求解多个组合优化问题而无需单独地重复求解所述问题,该
优化设备包括求解单元,该求解单元被配置成:在用于求解多个组合优化问题的多个位中,将多个第一位分配给包括在所述多个组合优化问题中的第一组合优化问题,并且将多个第
二位分配给包括在所述多个组合优化问题中的第二组合优化问题,将多个第一位中的每一
个与多个第二位中的每一个之间的相互作用设置为零,以及求解所述多个组合优化问题
等。在本案中公开的技术基于该发现。
[0088] 此处,将参照图3描述在本案中公开的技术的示例。
[0089] 在图3所示的示例中,与图2所示的示例类似地考虑使用退火机求解三个组合优化问题的情况。在图3所示的示例中,问题(1)是使用两位的问题,问题(2)是使用四位的问题,并且问题(3)是使用两位的问题,与图2所示的示例类似。
[0090] 在本案中公开的技术的示例中,首先,准备用于求解这三个组合优化问题的位。要准备的位的数目(例如,退火机的位数)等于或大于用于求解组合优化问题中的每一个所需要的总位数。
[0091] 在图3所示的示例中,将准备的位中的第一位和第二位用作用于求解问题(1)的位,将第三位至第六位用作用于求解问题(2)的位,并且将第七位和第八位用作用于求解问题(3)的位。如上所述,在本案中公开的技术的示例中,分配准备的位中的要用于求解多个组合优化问题中的单独组合优化问题的位。即,在本案中公开的技术的示例中,将用于求解多个组合优化问题的多个位中的多个第一位分配给包括在所述多个组合优化问题中的第
一组合优化问题。此外,在本案中公开的技术的示例中,将用于求解多个组合优化问题的多个位中的多个第二位分配给包括在所述多个组合优化问题中的第二组合优化问题。
[0092] 然后,在本案中公开的技术的示例中,针对分配的位中的每一个设置与伊辛模型式中的“bi”对应的偏移值。在图3所示的示例中,第一偏移和第二偏移被用作用于求解问题(1)的偏移,第三偏移至第六偏移被用作用于求解问题(2)的偏移,并且第七偏移和第八偏
移被用作用于求解问题(3)的偏移。注意,在图3中,要用于求解问题(1)的偏移、要用于求解问题(2)的偏移以及要用于求解问题(3)的偏移由偏移框的阴影表示。
[0093] 在本案中公开的技术的示例中,针对分配的位的每个组合设置与伊辛模型式中的“wij”对应的用于执行加权的系数(权重)值。权重意指分配的位之间的相互作用。
[0094] 在图3所示的示例中,与第一位和第二位的组合对应的权重是要用于求解问题(1)的权重,并且与第三位至第六位的组合对应的权重是要用于求解问题(2)的权重。类似地,在图3所示的示例中,与第七位和第八位的组合对应的权重被用作用于求解问题(3)的权
重。注意,在图3中,要用于求解问题(1)的权重、要用于求解问题(2)的权重以及要用于求解问题(3)的权重由权重框的阴影表示。
[0095] 此外,在图3所示的示例中,将要用于求解问题(1)的位与要用于求解问题(2)和问题(3)的位之间的权重设置为零(0)。此外,在图3所示的示例中,将要用于求解问题(2)的位与要用于求解问题(1)和问题(3)的位之间的权重设置为零(0)。类似地,在图3所示的示例
中,将要用于求解问题(3)的位与要用于求解问题(1)和问题(2)的位之间的权重设置为零
(0)。即,在图3所示的示例中,关于三个组合优化问题,将要用于求解彼此不同的组合优化问题(问题(1)至问题(3))的位之间的权重设置为零。
[0096] 如上所述,在本案中公开的技术的示例中,将要用于求解多个组合优化问题中的彼此不同的组合优化问题的位之间的相互作用设置为零。换言之,在本案中公开的技术的
一个示例中,将多个第一位中的每一个与多个第二位中的每一个之间的相互作用设置为
零。在本案中公开的技术的示例中,通过以上配置可以正确地求解多个组合优化问题中的
彼此不同的组合优化问题。
[0097] 此外,在图3所示的示例中,三个组合优化问题可以总体地(作为一个作业)求解。
[0098] 此处,由于使用退火机等使伊辛模型式最小化,因此用于求解组合优化问题所需要的计算时间取决于例如在通过退火方法等执行计算时的参数(例如,计算迭代的数目(迭
代计数))。因此,在求解具有相同质量的组合优化问题的情况下,即使要被分配以用于求解组合优化问题的位的数目变大,用于求解组合优化问题所需要的计算时间通常也变得与用
于求解一个组合优化问题所需要的计算时间相同。
[0099] 因此,假设用于求解问题(1)、问题(2)和问题(3)中的每一个所需要的计算时间分别为一秒,则在图3所示的示例中可以在总共一秒内求解三个组合优化问题。即,在图3所示的示例中,可以在图2所示的常规技术的示例的计算时间的三分之一(1/3)内求解三个组合
优化问题。因此,在本案中公开的技术的示例中,例如,即使在求解分别需要一秒来求解的N个组合优化问题的情况下,所有组合优化问题也可以在一秒内求解。因此,本案的计算时间可以减少至常规技术的计算时间的1/N。
[0100] 如上所述,在本案中公开的技术可以总体地且正确地求解多个组合优化问题,从而与常规技术相比缩短了用于求解多个组合优化问题所需要的计算时间。即,在本案中公
开的技术可以在短时间内求解多个组合优化问题,而无需单独地重复求解所述问题。
[0101] 在下文中,将更详细地描述作为在本案中公开的技术的示例的优化设备。注意,诸如以作为在本案中公开的技术的示例的优化设备来求解组合优化问题的处理(操作)可以例如由优化设备中包括的求解单元来执行。
[0102] <组合优化问题>
[0103] 在本案中公开的技术中,要求解的组合优化问题没有特别限制,只要该组合优化问题可以通过伊辛模型来表示,并且可以根据目的适当地选择。
[0104] 可能的组合优化问题的示例包括:诸如分子(化合物)相似度搜索、肽稳定结构搜索、金融中的投资组合优化、数字营销中的个性化广告优化以及工厂和物流中的仓库部件
放置优化的问题。
[0105] 此外,例如,在求解大量组合优化问题的情况下,可以特别有利地使用在本案中公开的技术。例如,如上所述,在通过求解药物发现等中的组合优化问题来获得化合物之间的相似度的情况下,存在需要计算各种化合物相对于一个参考化合物(查询化合物)的相似度的一些情况。
[0106] 在通过使用退火机等求解组合优化问题来获得化合物之间的相似度的情况下,例如,在计算两个化合物之间的相似度以获得具有如图1所示的大小(原子的数目)的化合物
之间的相似度时,分配约20位至80位。由退火机可以处理的位数(可以准备的位的数目)根
据退火机的每个类型而不同。例如,在约8000位的情况下,通过一次计算可以计算超过100种情况的两个化合物之间的相似度。
[0107] 在本案中公开的技术中,当求解多个组合优化问题时,要求解的所有组合优化问题不一定是相同类型的组合优化问题,并且可以包括不同类型的组合优化问题。在本案中
公开的技术可以总体地(通过一个作业)求解例如用于获得化合物之间的相似度的组合优
化问题和用于使工厂中的仓库部件放置优化的组合优化问题。
[0108] 如上所述,在本案中公开的技术中,多个组合优化问题可以至少包括相同类型或不同类型的组合优化问题。换言之,在本案中公开的技术中,第一组合优化问题和第二组合优化问题可以是相同类型或不同类型的组合优化问题。
[0109] <位的准备>
[0110] 在本案中公开的技术的示例中,准备用于求解多个组合优化问题的位。此处,在本案中公开的技术的示例中,例如,用于求解组合优化问题的计算机位可以用于准备位。要用于求解组合优化问题的计算机没有特别限制,并且可以根据目的适当选择。针对以伊辛模型表示的成本函数来执行基态搜索的退火方法中的计算机(退火机)是有利的。
[0111] 退火机的示例包括量子退火机、使用半导体技术的半导体退火机、执行通过使用中央处理单元(CPU)或图形处理单元(GPU)的软件执行的模拟退火的机器等。此外,例如,数字退火器(注册商标)可以用作退火机。
[0112] 此外,用于求解多个组合优化问题的位可以例如根据要用于求解组合优化问题的退火机的类型来选择,并且例如可以是算术位(具有值0或1的标准位)或者可以是量子位
(能够进行量子叠加的位)。
[0113] 要准备的位的数目(例如,退火机的位数)没有特别限制,并且可以根据目的适当地选择,只要该数目等于或大于用于求解要求解的多个组合优化问题中的每个组合优化问
题所需要的总位数。
[0114] 此外,在本案中公开的技术中,求解多个组合优化问题可以被执行多次。例如,在使用可以准备1,000位的退火机求解分别使用100位来求解的二十个组合优化问题的情况下,首先,总体地求解十个组合优化问题,并且然后可以总体地求解剩余的十个组合优化问题。如上所述,在本案中公开的技术中,可以根据准备的位的数目和分配给要求解的组合优化问题的位的数目来适当地选择求解多个组合优化问题的次数。
[0115] <位分配>
[0116] 在本案中公开的技术的示例中,分配准备的位中的要用于求解多个组合优化问题中的单独组合优化问题的位。即,在本案中公开的技术的示例中,针对准备的位,分配要用于求解包括在多个组合优化问题中的单独组合优化问题的位。
[0117] 换言之,在本案中公开的技术的示例中,将用于求解多个组合优化问题的多个位中的多个第一位分配给包括在所述多个组合优化问题中的第一组合优化问题。此外,在本
案中公开的技术的示例中,将用于求解多个组合优化问题的多个位中的多个第二位分配给
包括在所述多个组合优化问题中的第二组合优化问题。
[0118] 例如,要用于求解单个组合优化问题的位的分配可以通过以下操作执行:设置要求解的组合优化问题中的伊辛模型中与该单个组合优化问题对应的位之间的相互作用以
及每个位的偏移。
[0119] 例如,在图4所示的示例中,第一偏移和第二偏移被用作用于求解问题(1)的偏移,第三偏移至第六偏移被用作用于求解问题(2)的偏移,并且第七偏移和第八偏移被用作用于求解问题(3)的偏移。此外,与第一位和第二位的组合对应的权重(相互作用)是要用于求解问题(1)的权重,并且与第三位至第六位的组合对应的权重是要用于求解问题(2)的权
重。类似地,在图4所示的示例中,与第七位和第八位的组合对应的权重被用作用于求解问题(3)的权重。注意,在图4中,要用于求解每个问题的偏移和权重由偏移框的阴影表示。
[0120] 在图4所示的示例中,通过如上所述地设置偏移和权重,可以将第一位和第二位分配为要用于求解问题(1)的位。类似地,在图4的示例中,可以将第三位至第六位分配为要用于求解问题(2)的位,并且可以将第七位和第八位分配为要用于求解问题(3)的位。
[0121] 在本案中公开的技术中,例如,分配要用于求解单独组合优化问题的位,使得在多个组合优化问题中要用于求解一个组合优化问题的位与用于求解另一组合优化问题的位不交叠。换言之,在本案中公开的技术中,例如,在多个组合优化问题中要用于求解一个组合优化问题的偏移和权重被设置成不与要用于求解另一组合优化问题的偏移和权重交叠。
[0122] 如上所述,在本案中公开的技术的示例中,将要用于求解多个组合优化问题中的单独组合优化问题的位分配为不交叠,由此单独组合优化问题可以被可靠地且正确地求
解。
[0123] 在本案中公开的技术的示例中,要用于求解彼此不同的组合优化问题的位被有利地分配成彼此相邻,如图4所示的示例那样。换言之,在本案中公开的技术的示例中,在准备的位中,要用于求解多个组合优化问题中的一个组合优化问题的位被有利地分配成与要用
于求解多个组合优化问题中的另一组合优化问题的位相邻。即,在本案中公开的技术的示
例中,在多个位中多个第二位与多个第一位有利地相邻。
[0124] 通过这样做,在本案中公开的技术的示例中,可以有效地分配要用于求解多个组合优化问题中的单独组合优化问题的位,并且可以在一次计算中求解大量的组合优化问
题。
[0125] 此外,在本案中公开的技术中,从准备的位的开头开始按顺序分配要用于求解单独组合优化问题的位(使位相邻)是不必要的,并且位分配格式可以根据目的适当地选择。
[0126] 在本案中公开的技术中,例如,用于求解彼此不同的组合优化问题的(相邻的)位可以彼此不相邻。换言之,在本案中公开的技术中,在要用于求解一个组合优化问题的位与要用于求解另一组合优化问题的位之间可以存在将不(不被分配)用于求解组合优化问题
的位。即,在本案中公开的技术中,在多个第一位与多个第二位之间可以存在将不(不被分配)用于求解多个组合优化问题的位。
[0127] 例如,如图5所示,在要用于求解问题(1)的位与要用于求解问题(2)的位之间可以存在将不用于求解组合优化问题的位。注意,将不用于求解多个组合优化问题的位可以是
例如其中对应的偏移值和权重值都为零的位。
[0128] 此外,在本案中公开的技术中,例如,要用于求解单独组合优化问题的位可以不形成组。换言之,在本案中公开的技术中,在要用于求解一个组合优化问题的位之间可以存在将不(不被分配)用于求解组合优化问题的位。例如,如图6所示,在要用于求解问题(1)的位之间可以存在将不用于求解组合优化问题的位。
[0129] <位之间的相互作用>
[0130] 在本案中公开的技术的示例中,将要用于求解多个组合优化问题中彼此不同的组合优化问题的位之间的相互作用(权重)设置为零。换言之,在本案中公开的技术的示例中,在与要用于求解多个组合优化问题中的一个组合优化问题的位相关的权重中,将除了要用
于求解所述一个组合优化问题的位的组合的权重之外的权重设置为零。即,在本案中公开
的技术的示例中,将多个第一位中的每一个与多个第二位中的每一个之间的相互作用设置
为零。
[0131] 此处,返回至图4,将描述将要用于求解多个组合优化问题中彼此不同的组合优化问题的位之间的相互作用设置为零。
[0132] 如图4中的示例所示,在包括被分配给问题(1)的求解的第一位和第二位的权重(包括行或列中的第一位或第二位的权重)中,将除了第一位或第二位的组合的权重之外的
权重设置为零。类似地,在包括被分配给问题(2)的求解的第三位至第六位的权重(包括行
或列中的第三位至第六位中的任何一个的权重)中,将除了第三位至第六位的组合的权重
之外的权重设置为零。此外,在包括被分配给问题(3)的求解的第七位和第八位的权重(包
括行或列中的第七位或第八位的权重)中,将除了第七位或第八位的组合的权重之外的权
重设置为零。
[0133] 如上所述,在图4所示的示例中,将除了要用于求解三个组合优化问题中的单独组合优化问题中的每一个(问题(1)至(3)中的每一个)的位之间的权重之外的权重设置为零。
换言之,在图4所示的示例中,将要用于求解三个组合优化问题中彼此不同的组合优化问题的位之间的相互作用设置为零。此外,在图5和图6所示的示例中,将要用于求解三个组合优化问题中彼此不同的组合优化问题的位之间的相互作用设置为零。
[0134] 在本案中公开的技术的示例中,如在上述示例中的那样,将要用于求解多个组合优化问题中彼此不同的组合优化问题的位之间的相互作用设置为零。换言之,在本案中公
开的技术的一个示例中,将多个第一位中的每一个与多个第二位中的每一个之间的相互作
用设置为零。通过这样做,在本案中公开的技术的示例中,可以分离用于计算单独组合优化问题的位的区域(偏移和权重的区域)。因此,可以正确地求解单独组合优化问题。
[0135] 此外,当将用于求解多个组合优化问题中彼此不同的组合优化问题的位之间的相互作用(权重)设置为零时,将权重设置为“严格为零(0)”不是必需的,并且可以采用被认为是“基本上为零”的数值。被认为是“基本上为零”的数值可以是例如具有不影响组合优化问题的求解结果的大小(其中组合优化问题可以被正确地求解的大小)的数值。
[0136] 可以被认为是“基本上为零”的数值相对于例如要用于求解组合优化问题的偏移和权重的数值的大小而变化。例如,在偏移和权重的数值大的情况下,可以被认为是“基本上为零”的数值可以是稍微大的数值,只要该值不影响组合优化问题的求解结果。
[0137] 此处,要用于求解多个组合优化问题中的相同组合优化问题的位之间的相互作用(权重)没有特别限制并且可以根据目的适当地选择,并且可以为例如整数。例如,要用于求解相同组合优化问题的位之间的相互作用可以为正整数,可以为负整数,或者可以为零。
[0138] 例如,在要用于求解多个组合优化问题中的相同组合优化问题的位之间的相互作用中,相同编号的位之间的权重被有利地设置为零。换言之,在本案中公开的技术的示例
中,相同编号的位的组合的权重例如第一位与第一位之间的权重例如具有与偏移类似的含
义(作用),并且因此被有利地设为零。
[0139] <求解多个组合优化问题>
[0140] 在本案中公开的技术的示例中,关于多个组合优化问题,分配要用于求解单独组合优化问题的位,将要用于求解彼此不同的组合优化问题的位之间的相互作用设置为零,
然后求解多个组合优化问题。即,在本案中公开的技术的示例中,多个第一位被分配给第一组合优化问题并且多个第二位被分配给第二组合优化问题,将多个第一位中的每一个与多
个第二位中的每一个之间的相互作用设置为零,并且求解多个组合优化问题。
[0141] 此处,用于求解多个组合优化问题的方法没有特别限制并且可以根据目的适当地选择,但是用于基于“成本函数”来求解问题的方法是有利的,该成本函数是基于组合优化问题中的条件和限制的函数。在本案中公开的技术的示例中,可以通过搜索成本函数取最
小值的变量的组合来求解组合优化问题。
[0142] 成本函数可以根据要求解的组合优化问题的条件和限制来适当地选择,并且例如,类似的函数格式(表达式)可以用于相同类型的组合优化问题。下面将描述成本函数的
具体数学式等。
[0143] 在本案中公开的技术的示例中,成本函数有利地是被限定成将要用于求解多个组合优化问题中的相同组合优化问题的位之间的相互作用设置为整数的函数。换言之,在本
案中公开的技术的示例中,成本函数有利地是如下函数:该函数被限定成将包括在多个第
一位中的相应位之间的相互作用设置为整数并且将包括在多个第二位中的相应位之间的
相互作用设置为整数。此外,在本案中公开的技术的示例中,成本函数有利地是被限定成将要用于求解多个组合优化问题中彼此不同的组合优化问题的位之间的相互作用设置为零
的函数。
[0144] 即,在本案中公开的技术的示例中,成本函数有利地是如下函数:该函数被限定成将用于求解相同组合优化问题的位之间的相互作用设置为整数,并且将要用于求解彼此不同的组合优化问题的位之间的相互作用设置为零。通过这样做,在本案中公开的技术的示
例中,可以容易地设置要用于求解单独组合优化问题的权重,并且可以进一步提高用户在
求解多个组合优化问题时的便利性。
[0145] 此外,作为用于基于成本函数来求解多个组合优化问题的方法,如下方法是有利的:该方法用于通过将成本函数转换成被称为伊辛模型的格式并且使转换成伊辛模型的成
本函数的值最小化来求解组合优化问题。注意,在本案中公开的技术的示例中,成本函数有时最初以伊辛模型格式表示,并且在这种情况下,可以不执行将成本函数转换成伊辛模型。
[0146] 例如,通过使用退火机等执行退火方法(退火),可以在短时间内执行转换成伊辛模型的成本函数的值的最小化。即,在本案中公开的技术的示例中,有利的是通过退火方法求解多个组合优化问题。注意,下面将描述使用退火机的退火方法的细节。
[0147] 例如,使用由以下数学式(1)表示的数学式作为转换成伊辛模型的成本函数是有利的。
[0148] [式2]
[0149]
[0150] 注意,在以上式(1)中,E表示成本函数,其中,成本函数最小化意味着求解多个组合优化问题。
[0151] wij是表示第i位与第j位之间的相互作用的数值。
[0152] xi是表示第i位为0或1的二进制变量,并且xj是表示第j位为0或1的二进制变量。
[0153] bi是表示针对第i位的偏移的数值。
[0154] 此处,以上式(1)中的wij可以通过例如在转换成伊辛模型之前针对xi和xj的每种组合提取成本函数中的每个参数的数值等来获得,并且wij通常为矩阵。
[0155] 以上式(1)中的右侧的第一项通过以下操作来获得:针对在没有遗漏或重复的情况下可以从所有电路中选择的两个电路的所有组合,对两个电路的状态(状态)和权重值
(权重)的乘积进行合并。
[0156] 此外,以上式(1)中的右侧的第二项通过对所有电路中的每一个的偏移的值和状态的乘积进行合并来获得。
[0157] 即,通过在转换成伊辛模型之前提取成本函数的参数并且获得wij和bi,可以将成本函数转换成由以上式(1)表示的伊辛模型。
[0158] 在本案中公开的技术的示例中,例如,如上述图4所示的示例中那样,以上式(1)中的wij(权重)和bi(偏移)可以与单独组合优化问题对应地来设置。通过这样做,在本案中公开的技术的示例中,关于多个组合优化问题,分配要用于求解单独组合优化问题的位,并且可以将要用于求解彼此不同的组合优化问题的位之间的相互作用设置为零。
[0159] 在本案中公开的技术的示例中,基于与单独组合优化问题对应地设置的wij和bi,使用退火机等来改变以上式(1)中的xi和xj,并且使以上式(1)最小化。即,在本案中公开的技术的示例中,使用退火机等使以上式(1)最小化,从而可以获得当以上式(1)取最小值时
(当将最小值赋予以上式(1)时)的位状态。
[0160] 如上所述,在本案中公开的技术的示例中,作为求解多个组合优化问题的结果,可以获得成本函数的最小值和提供最小值的位状态。
[0161] 在本案中公开的技术的示例中,作为求解多个组合优化问题的结果,可以根据位状态获得单独组合优化问题的最优位状态(向单独成本函数提供最小值的位状态)。在本案
中公开的技术的示例中,可以通过以下操作来求解单独组合优化问题:根据通过求解多个
组合优化问题获得的位状态(全部位状态),获得用于求解所述单独组合优化问题的位(分
配的位)的状态。
[0162] 此处,作为示例,考虑作为多个组合优化问题而获得大量化合物相对于一个参考化合物(查询化合物)的相似度的情况。在本案中,可以基于用于求解单独组合优化问题的
位的状态来计算每个单独化合物相对于查询化合物的相似度,所述位状态根据通过求解多
个组合优化问题而获得的位状态来获得。注意,下面将描述用于计算化合物之间的相似度
的方法的细节。
[0163] 此外,在本案中公开的技术的示例中,当求解多个组合优化问题时,要求解的所有组合优化问题不一定是相同类型的组合优化问题,并且如上所述可以包括不同类型的组合优化问题。
[0164] 此处,当求解组合优化问题时,有利的是根据要求解的组合优化问题的性质来适当地设置计算条件。求解组合优化问题的计算条件的示例包括退火机中的退火机参数等。
退火机中的退火参数的示例包括与计算迭代的数目(迭代计数)对应的参数、与退火温度对
应的参数等。
[0165] 在多个组合优化问题中包括不同类型的组合优化问题的情况下,有利的是,使用用于求解要求解的组合优化问题中最难求解的问题(花费时间来求解的问题)的计算条件,
作为求解所述组合优化问题时的计算条件。通过这样做,在本案中公开的技术的示例中,可以可靠且正确地求解多个组合优化问题中的所有组合优化问题。
[0166] 在本案中公开的技术的示例中,在使用求解要求解的组合优化问题中最难求解的问题时的计算条件的情况下,用于求解多个组合优化问题的计算时间变得与求解所述最难
求解的问题所需的计算时间相同。在这种情况下,例如,在求解花费十秒求解的组合优化问题、花费五秒求解的组合优化问题以及花费七秒求解的组合优化问题的情况下,求解这三
个组合优化问题所需的时间变成十秒。
[0167] 在下文中,将使用设备的配置示例、流程图等来更详细地描述本案中公开的技术的示例。
[0168] 图7示出了本案中公开的优化设备的硬件配置示例。
[0169] 在优化设备10中,例如控制单元11、存储器12、存储单元13、显示单元14、输入单元15、输出单元16和I/O接口单元17经由系统总线18连接。
[0170] 控制单元11执行算术运算(例如,四则算术运算、比较运算以及用于退火方法的算术运算)、硬件和软件操作控制等。
[0171] 控制单元11没有特别限制并且可以根据目的适当地选择。例如,控制单元11可以是CPU或用于以下要描述的退火方法的优化设备,或者可以是这些设备的组合。
[0172] 本案中公开的优化设备中的求解单元可以由例如控制单元11实现。
[0173] 存储器12是诸如随机存取存储器(RAM)或只读存储器(ROM)的存储器。RAM存储从ROM和存储单元13读取的操作系统(OS)、应用程序等,并且用作控制单元11的主存储器和工作区。
[0174] 存储单元13是存储各种程序和数据的设备,并且例如可以是硬盘。存储单元13存储要由控制单元11执行的程序、要在执行程序时使用的数据、OS等。
[0175] 此外,本案中公开的优化程序存储在例如存储单元13中,加载到存储器12的RAM(主存储器)中,并且由控制单元11执行。
[0176] 显示单元14是显示设备,并且例如可以是诸如阴极射线管(CRT)监视器或液晶面板的显示设备。
[0177] 输入单元15是用于各种数据的输入设备,并且例如可以是键盘或指点设备(诸如鼠标等)。
[0178] 输出单元16是用于各种数据的输出设备,并且例如可以是打印机等。
[0179] I/O接口单元17是用于连接各种外部设备的接口。I/O接口单元17使得能够输入和输出例如致密盘只读存储器(CD‑ROM)、数字多功能盘只读存储器(DVD‑ROM)、磁光(MO)盘、通用串行总线(USB)存储器(USB闪存驱动器)等的数据。
[0180] 图8示出了本案中公开的优化设备的另一硬件配置示例。
[0181] 图8所示的示例是优化设备为云型设备并且控制单元11独立于存储单元13等的情况的示例。在图8所示的示例中,包括存储单元13等的计算机30经由网络接口单元19和20连接至包括控制单元11的计算机40。
[0182] 网络接口单元19和20是使用因特网执行通信的硬件。
[0183] 图9示出了在本案中公开的优化设备的另一硬件配置示例。
[0184] 图9所示的示例是优化设备是云型设备并且存储单元13独立于控制单元11等的情况的示例。在图9所示的示例中,包括控制单元11等的计算机30经由网络接口单元19和20连接至包括存储单元13的计算机40。
[0185] 图10示出了作为本案中公开的优化设备的实施方式的功能配置示例。
[0186] 如图10所示,优化设备10包括通信功能单元101、输入功能单元102、输出功能单元103、控制功能单元104和存储功能单元106。
[0187] 通信功能单元101例如向外部设备发送各种数据并且从外部设备接收各种数据。通信功能单元101可以例如从外部设备接收转换成伊辛模型的成本函数中的偏移和权重数
据。
[0188] 输入功能单元102接受例如用于优化设备10的各种指令。此外,输入功能单元102可以接受例如转换成伊辛模型的成本函数中的偏移和权重数据的输入。
[0189] 输出功能单元103输出例如多个已求解的组合优化问题中的成本函数的最小值、赋予最小值的位的状态等的信息。
[0190] 控制功能单元104包括求解单元105。控制功能单元104执行例如存储在存储功能单元106中的各种程序,并且控制整个优化设备10的操作。
[0191] 求解单元105执行求解多个组合优化问题的处理。
[0192] 存储功能单元106包括偏移数据库(偏移DB)107和权重数据库(权重DB)108。存储功能单元106存储例如各种程序。
[0193] 偏移DB 107是存储转换成伊辛模型的成本函数中的偏移数据的数据库,该数据库用于求解多个组合优化问题。
[0194] 权重DB108是存储转换成伊辛模型的成本函数中的权重(相互作用)数据的数据库,该数据库用于求解多个组合优化问题。
[0195] 图11示出了用于使用本案中公开的技术的示例来求解多个组合优化问题的流程图的示例。
[0196] 首先,求解单元105对根据多个组合优化问题中的各个组合优化问题的条件和限制限定的多个组合优化问题的成本函数进行限定(S101)。此时,求解单元105可以通过通信功能单元101或输入功能单元102来接受对成本函数的输入,并且限定多个组合优化问题的
成本函数。
[0197] 接下来,求解单元105提取所限定的成本函数中的参数,并且获得以上数学式(1)中的bi(偏移)和wij(权重),以将成本函数转换成由以上式(1)表示的伊辛模型(S102)。
[0198] 接下来,求解单元105准备用于通过退火机求解多个组合优化问题的位。然后,对于准备好的位,求解单元105分配要用于基于以上式(1)的伊辛模型中的bi(偏移)和wij(权
重)求解单独组合优化问题的位(S103)。换言之,在S103中,求解单元105设置以上式(1)的伊辛模型中与单独组合优化问题对应的bi(偏移)和wij(权重),并且分配要用于求解单独组合优化问题的位。
[0199] 然后,求解单元105设置能够求解要求解的多个组合优化问题中最难求解(花费时间求解)的组合优化问题的计算条件(退火参数)(S104)。此处,在S104中,求解单元105将计算迭代的数目(迭代计数)、与退火温度对应的参数等作为退火参数来设置。
[0200] 接下来,求解单元105通过使用退火机使以上式(1)最小化来求解多个组合优化问题(S105)。换言之,在S105中,求解单元105通过以下操作来求解多个组合优化问题:通过使用针对以上式(1)的退火方法执行基态搜索,来计算以上式(1)中的最小能量。
[0201] 随后,求解单元105基于求解多个组合优化问题的结果输出求解单独组合优化问题的结果(S106)。然后,当求解单元105输出求解单独组合优化问题的结果时,求解单元105终止处理。
[0202] 注意,此处,已经描述了特定的处理顺序作为本案中公开的技术的示例。然而,本案中公开的技术不限于此,并且只要不存在技术上的矛盾,则可以适当地改变处理的顺序,或者可以总体地执行多个处理。
[0203] 下面将描述退火方法和退火机的示例。
[0204] 退火方法是用于使用随机数值和量子位的叠加概率地求出解的方法。下面以使要优化的评估函数的值最小化的问题为例进行描述。评估函数的值被称为能量。此外,当评估函数的值被最大化时,仅需要改变评估函数的符号。
[0205] 首先,从其中向每个变量分配离散值中的一个的初始状态开始处理。针对当前状态(变量值的组合),选择接近当前状态的状态(例如,仅一个变量改变的状态),并且考虑这两个状态之间的状态转变。计算关于状态转变的能量变化。根据该值,概率性地确定是采用状态转变以改变状态,还是不采用状态转变以保持原始状态。在能量下降时的采用概率被
选择为大于能量上升时的采用概率的情况下,可以预期:将在能量平均下降的方向上发生
状态改变,并且随着时间的推移,将发生向更合适的状态的状态转变。然后,存在如下可能性:可以最终获得最优解或者给出与最优值接近的能量的近似解。
[0206] 如果在能量确定性地下降时采用状态转变并且在能量上升时不采用状态转变,则从广义上讲,能量变化相对于时间单调减小,但是当达到局部解时,则不发生进一步变化。
如上所述,由于在离散优化问题中存在非常大量的局部解,因此状态几乎肯定地陷入不太
接近最优值的局部解中。因此,当求解离散优化问题时,概率性地确定是否采用状态是重要的。
[0207] 在退火方法中,已经证明,通过如下确定状态转变的采用(允许)概率,状态在无限时间(迭代计数)的极限下达到最优解。
[0208] 在下文中,将逐步描述用于使用退火方法求出最优解的方法。
[0209] (1)对于由于状态转变引起的能量变化(能量减少)值(‑ΔE),状态转变的允许概率p由以下函数f()中的任何一个确定。
[0210] [式3]
[0211] p(ΔE,T)=f(‑ΔE/T) 式(1‑1)
[0212] [式4]
[0213] fmetro(x)=min(1,ex)(Metropolis方法) 式(1‑2)
[0214] [式5]
[0215]
[0216] 此处,T表示被称为温度值的参数,并且例如可以如下改变。
[0217] (2)如由以下式所表示的,温度值T相对于迭代计数t对数地减小。
[0218] [式6]
[0219]
[0220] 此处,T0是初始温度值,并且根据问题,期望是足够大的值。
[0221] 在使用由(1)中的式表示的允许概率的情况下,如果在足够的迭代之后达到稳态,则对于热力学中的热平衡状态,每个状态的占有概率都遵循玻尔兹曼分布。
[0222] 然后,当温度从高温逐渐降低时,低能量状态的占有概率增加。因此,认为当温度充分降低时获得低能量状态。由于该状态与材料退火时引起的状态变化非常相似,因此将该方法称为退火方法(或伪退火方法)。注意,使能量增加的状态转变的概率性发生与物理
学中的热激发对应。
[0223] 图12示出了执行退火方法的退火机的功能配置的示例。然而,在以下描述中,还描述了生成多个状态转变候选的情况,但是基本的退火方法一次生成一个转变候选。
[0224] 退火机100包括保持当前状态S(多个状态变量值)的状态保持单元111。此外,退火机100包括能量计算单元112,该能量计算单元112计算在由于多个状态变量值中的任何一
个状态变量值的变化而发生相对于当前状态S的状态转变时每个状态转变的能量变化值{‑
ΔEi}。此外,退火机100包括控制温度值T的温度控制单元113以及控制状态变化的转变控
制单元114。注意,退火机100可以是上述优化设备10的一部分。
[0225] 转变控制单元114基于温度值T、能量变化值{‑ΔEi}和随机数值,根据能量变化值{‑ΔEi}与热激发能量之间的相对关系概率性地确定是否接受多个状态转变中的任何一个。
[0226] 此处,转变控制单元114包括:候选生成单元114a,其生成状态转变候选;以及可用性确定单元114b,其用于基于能量变化值{‑ΔEi}和温度值T概率性地确定是否允许针对各候选的状态转变。此外,转变控制单元114包括:转变确定单元114c,其从被允许的候选中确定要采用的候选;以及随机数生成单元114d,其生成随机变量。
[0227] 在一次迭代中退火机100的操作如下。
[0228] 首先,候选生成单元114a生成从保持在状态保持单元111中的当前状态S至下一状态的一个或更多个状态转变候选(候选编号{Ni})。接下来,能量计算单元112使用当前状态S和状态转变候选来计算被列为候选的每个状态转变的能量变化值{‑ΔEi}。可用性确定单元114b使用由温度控制单元113生成的温度值T和由随机数生成单元114d生成的随机变量
(随机数值),根据每个状态转变的能量变化值{‑ΔEi},以以上式(1)的允许概率来允许状态转变。
[0229] 然后,可用性确定单元114b输出每个状态转变的可用性{fi}。在存在多个被允许的状态转变的情况下,转变确定单元114c使用随机数值随机地选择被允许的状态转变中的
一个。然后,转变确定单元114c输出所选择的状态转变的转变编号N和转变可用性f。在存在一个被允许的状态转变的情况下,根据所采用的状态转变来更新存储在状态保持单元111
中的状态变量值。
[0230] 从初始状态开始,在温度控制单元113降低温度值的同时重复上述迭代。当满足完成确定条件(例如达到一定迭代计数,或能量下降到某个值以下)时,操作完成。由退火机
100输出的答案是最终的状态。
[0231] 图13是用于一次生成一个候选的普通退火方法中的转变控制单元(特别是用于可用性确定单元的算术单元)的示例性配置的电路级框图。
[0232] 转变控制单元114包括随机数生成电路114b1、选择器114b2、噪声表114b3、乘法器114b4和比较器114b5。
[0233] 选择器114b2选择并输出针对各个状态转变候选计算的能量变化值{‑ΔEi}中与作为由随机数生成电路114b1生成的随机数值的转变编号N对应的值。
[0234] 稍后将描述噪声表114b3的功能。例如,诸如RAM或闪存的存储器可以用作噪声表114b3。
[0235] 乘法器114b4输出通过将由噪声表114b3输出的值与(对应于上述热激发能量的)温度值T相乘而获得的乘积。
[0236] 比较器114b5输出通过将由乘法器114b4输出的乘法结果与作为由选择器114b2选择的能量变化值的‑ΔE进行比较而获得的比较结果,作为转变可用性f。
[0237] 图13所示的转变控制单元114基本上按原样实现上述功能。然而,将更详细地描述以由式(1)表示的允许概率来允许状态转变的机制。
[0238] 可以通过将均匀随机数输入以下比较器来实现以允许概率p输出1并且以允许概率(1‑p)输出0的电路,其中,均匀随机数针对输入A取允许概率p并且针对输入B取区间[0,
1)中的值,该比较器具有两个输入A和B,当满足A>B时输出1并且当满足A入A,则可以实现上述功能。
[0239] 这意味着,利用当f(ΔE/T)大于u时输出1的电路,可以实现上述功能,其中f是在式(1)中使用的函数,并且u是取区间[0,1)中的值的均匀随机数。
[0240] 此外,通过进行以下修改也可以实现与上述功能相同的功能。
[0241] 将相同的单调递增函数应用于两个数不会改变大小关系。因此,即使将相同的单‑1
调递增函数应用于比较器的两个输入,也不会改变输出。如果采用f的反函数f 作为该单调‑1
递增函数,则可以看出,可以给出当‑ΔE/T大于f (u)时输出1的电路。此外,由于温度值T为‑1
正,因此可以看出,当‑ΔE大于Tf (u)时输出1的电路可能就足够了。
[0242] 图13中的噪声表114b3是用于实现该反函数f‑1(u)的转换表,并且是将以下函数的值输出至对区间[0,1)进行离散化的输入的表。
[0243] [式7]
[0244]
[0245] [式8]
[0246]
[0247] 转变控制单元114还包括保持确定结果等的锁存器、生成其定时的状态机等,但是为了简化说明在图13中未示出这些。
[0248] 图14是示出转变控制单元114的示例性操作流程的图。图14所示的操作流程包括:选择一个状态转变作为候选的步骤(S0001);通过将温度值和随机数值的乘积与针对状态
转变的能量变化值进行比较来确定状态转变的可用性的步骤(S0002);以及如果允许状态
转变则采用该状态转变并且如果不允许状态转变则不采用该状态转变的步骤(S0003)。
[0249] (优化方法)
[0250] 本案中公开的优化方法包括以下求解步骤:在用于求解多个组合优化问题的多个位中,将多个第一位分配给包括在所述多个组合优化问题中的第一组合优化问题,并且将
多个第二位分配给包括在所述多个组合优化问题中的第二组合优化问题;将多个第一位中
的每一个与多个第二位中的每一个之间的相互作用设置为零;以及求解所述多个组合优化
问题。
[0251] 本案中公开的优化方法可以由例如本案中公开的优化设备执行。此外,例如,可以使本案中公开的优化方法中的合适模式与本案中公开的优化设备中的合适模式类似。
[0252] (优化程序)
[0253] 本案中公开的优化程序使计算机执行以下处理:在用于求解多个组合优化问题的多个位中,将多个第一位分配给包括在所述多个组合优化问题中的第一组合优化问题,并
且将多个第二位分配给包括在所述多个组合优化问题中的第二组合优化问题;将多个第一
位中的每一个与多个第二位中的每一个之间的相互作用设置为零;以及求解所述多个组合
优化问题。
[0254] 本案中公开的优化程序可以是例如使计算机执行本案中公开的优化方法的程序。此外,例如,可以使本案中公开的优化程序中的合适模式与本案中公开的优化设备中的合
适模式类似。
[0255] 本案中公开的优化程序可以根据要使用的计算机系统的配置、操作系统的类型和版本等使用各种已知的编程语言来创建。
[0256] 本案中公开的优化程序可以记录在诸如内部硬盘或外部硬盘的记录介质中,或者可以记录在诸如CD‑ROM、DVD‑ROM、MO盘或USB存储器的记录介质中。
[0257] 此外,在将本案中公开的优化程序记录在上述记录介质中的情况下,该优化程序可以被直接使用,或者可以根据需要,通过包括在计算机系统中的记录介质读取器将该优
化程序安装至硬盘中,然后使用该优化程序。此外,本案中公开的优化程序可以被记录在可通过信息通信网络从计算机系统访问的外部存储区域(另一计算机等)中。在这种情况下,
记录在外部存储区域中的本案中公开的优化程序可以被直接使用,或者可以根据需要,通
过信息通信网络将该优化程序从外部存储区域安装在硬盘中,然后使用该优化程序。
[0258] 注意,本案中公开的优化程序可以针对任何处理中的每一个而划分,并且被记录在多个记录介质中。
[0259] (计算机可读记录介质)
[0260] 本案中公开的计算机可读记录介质记录本案中公开的优化程序。
[0261] 本案中公开的计算机可读记录介质不限于任何特定介质,并且可以根据目的适当地选择。计算机可读记录介质的示例包括内置硬盘、外部硬盘、CD‑ROM、DVD‑ROM、MO盘、USB存储器等。
[0262] 此外,本案中公开的计算机可读记录介质可以是多个记录介质,其中针对任何处理中的每一个划分并记录本案中公开的优化程序。
[0263] [实施方式]
[0264] 在下文中,将描述本案中公开的技术的示例。然而,本案中公开的技术不限于这些示例。
[0265] (将随机数用于偏移和权重的示例)
[0266] <实施方式1>
[0267] 作为实施方式1,使用本案中公开的优化设备的示例,将随机数(随机整数)用于以上式(1)的伊辛模型中的要用于求解单独组合优化问题的bi(偏移)和wij(权重)来求解两个
组合优化问题。在示例1中,通过使用具有图10所示的功能配置的优化设备执行图11中的流程图中的步骤S103至S106来求解两个组合优化问题。此外,使用数字退火器(注册商标)来
求解组合优化问题(伊辛模型式(1)的最小化)。
[0268] 在实施方式1中,求解了作为两个组合优化问题的问题(A1)和问题(A2)。在示例1中,图15所示的数值的列是问题(A1)中的伊辛模型的bi(偏移),并且图16所示的数值的列
是问题(A2)中的伊辛模型的bi(偏移)。注意,虽然图15和图16由于空间限制而示出了在竖
直列中的偏移,但是示出的方式不限于此。此外,“...”表示在后续行中的数值为“0”。
[0269] 此时,根据图15所示的问题(A1)的偏移和图16所示的问题(A2)的偏移总结的偏移(要用于求解这两个优化问题)在图17中示出。
[0270] 因此,在实施方式1中,问题(A1)和问题(A2)中的偏移被放置成彼此相邻。换言之,在示例1中,分配位,使得要用于求解彼此不同的组合优化问题的位彼此相邻。
[0271] 此外,在实施方式1中,将图18所示的矩阵用作问题(A1)中的伊辛模型的wij(权重),并且将图19A和图19B所示的矩阵用作问题(A2)中的伊辛模型的wij(权重)。
[0272] 此时,根据图18所示的问题(A1)的权重以及图19A和图19B所示的问题(A2)的权重总结的权重(要用于求解这两个优化问题)在图20A和图20B中示出。如图20A和图20B所示,
在实施方式1中的要用于求解这两个优化问题的权重中,用于求解彼此不同的组合优化问
题的位t之间的相互作用(权重)为零。
[0273] 在实施方式1中,将退火参数设置为其中可以正确地求解问题(A1)和(A2)的条件,并且基于图17所示的偏移以及图20A和图20B所示的权重使以上式(1)的伊辛模型最小化。
即,在实施方式1中,基于图17所示的偏移以及图20A和图20B所示的权重求解这两个组合优化问题。
[0274] 在实施方式1中,当基于图17所示的偏移以及图20A和图20B所示的权重使以上式(1)的伊辛模型最小化时,以上式(1)的伊辛模型的最小值(Emin)为“‑1081523”。此外,使以上式(1)的伊辛模型最小化所需的计算时间为0.9秒。
[0275] (比较例1)
[0276] 在比较例1中,除了作为两次实施方式1中的计算,单独求解问题(A1)和问题(A2)之外,与示例1类似地使以上式(1)的伊辛模型最小化。
[0277] 在比较例1中,使用图15所示的问题(A1)的偏移和图18所示的问题(A1)的权重来求解问题(A1)。类似地,在比较例1中,使用图16所示的问题(A2)的偏移和图19A和图19B所示的问题(A2)的权重来求解问题(A2)。
[0278] 在比较例1中,当单独求解问题(A1)和问题(A2)时,问题(A1)中的以上式(1)的伊辛模型的最小值为“‑16”,并且问题(A2)中的以上式(1)的伊辛模型的最小值为“‑
1081507”。此外,在问题(A1)和问题(A2)中的每一个中使以上式(1)的伊辛模型最小化所需的计算时间为0.9秒,并且所述计算时间总计为1.8秒。
[0279] 此处,图21示出了实施方式1与比较例1之间的条件和结果的比较。注意,在图21中,各个示例中的伊辛模型的最小值由“Emin”、“Emin1”和“Emin2”表示,并且各个示例中的计算时间由“t”、“t1”和“t2”表示。
[0280] 实施方式1中的伊辛模型的最小值“‑1081523”是比较例1中的作为单独地使问题(A1)的伊辛模型最小化的结果的“‑16”和作为单独地使问题(A2)的伊辛模型最小化的结果的“‑1081507”的总和(合计)。
[0281] 从以上要点可以看出,在实施方式1中正确地求解了问题(A1)和(A2)中的单独组合优化问题。
[0282] 此外,如图21所示,在实施方式1中,计算时间为0.9秒,并且以作为比较例1的1.8秒的计算时间的一半(1/2)的计算时间求解了问题(A1)和问题(A2)。
[0283] (计算分子之间的相似度的问题的示例)
[0284] <实施方式2>
[0285] 作为实施方式2,计算了通过求解组合优化问题来计算分子(化合物)之间的相似度的问题。在实施方式2中,与实施方式1类似地,通过使用具有图10所示的功能配置的优化设备执行图11中的流程图中的步骤S101以及S103至S106来求解两个组合优化问题。此外,
使用数字退火器(注册商标)来求解组合优化问题(伊辛模型的最小化)。
[0286] <<用于计算分子之间的相似度的方法>>
[0287] 此处,将描述用于如实施方式2中那样通过求解组合优化问题来计算分子之间的相似度的方法。
[0288] 作为用于计算分子之间的相似度的方法的示例,将描述用于搜索要比较的分子(化合物)共有的部分子结构并且求解冲突图的最大独立集问题的方法。
[0289] 当通过以冲突图求解最大独立集问题来计算化合物之间的结构上的相似度时,化合物被表示为图形。此处,将化合物表示为图形是指,使用例如关于化合物中的原子(元素)的类型的信息和关于相应原子之间的键合状态的信息来表示化合物的结构。
[0290] 化合物的结构可以使用例如MOL格式或结构数据文件(SDF)格式的表示来表示。通常,SDF格式意指通过收集关于以MOL格式表示的多个化合物的结构信息而获得的单个文
件。此外,除了MOL格式结构信息之外,SDF格式文件还能够处理针对每个化合物的附加信息(例如,目录号、化学文摘服务(CAS)编号、分子量等)。可以以逗号分隔值(CSV)格式将这样的化合物的结构表示为图形,在CSV格式中,例如,“原子1(名称),原子2(名称),关于原子1的元素信息,关于原子2的元素信息,原子1与原子2之间的键序”都包含在单个行中。
[0291] 在下文中,将通过以创建乙酸(CH3COOH)和乙酸甲酯(CH3COOCH3)的冲突图的情况为例,对用于创建冲突图的方法进行描述。
[0292] 首先,乙酸(下文中有时称为“分子A”)和乙酸甲酯(下文中有时称为“分子B”)表示为图形,并且如图22所示地给出。在图22中,形成乙酸的原子用A1、A2、A3和A5表示,并且形成乙酸甲酯的原子用B1至B5表示。此外,在图22中,A1、A2、B1、B2和B4表示碳,并且A3、A5、B3和B5表示氧,而用细实线表示单键,用粗实线表示双键。注意,虽然在图22所示的示例中,除氢以外的原子被选择并且被表示为图形,但是当将化合物表示为图形时,包括氢的所有原子可以被选择并被表示为图形。
[0293] 接下来,将图形化的分子A和分子B中的顶点(原子)组合以创建冲突图的顶点(节点)。此时,例如,如图23所示,有利的是将分子A和分子B中的相同元素组合以创建冲突图的节点。在图23所示的示例中,表示碳的A1、A2、B1、B2和B4的组合以及表示氧的A3、A5、B3和B5的组合被用作冲突图的节点。通过如上所述将相同元素的组合设置为节点,可以使用可以
包括在最大独立集中的节点来创建冲突图。因此,可以抑制节点的数目,并且可以减少用于求解最大独立集问题所需的计算机的位的数目。
[0294] 在图23的示例中,通过分子A的碳和分子B的碳的组合创建了六个节点,并且通过分子A的氧和分子B的氧的组合创建了四个节点。因此,由图形化的分子A和分子B创建的冲
突图中的节点的数目为十。
[0295] 随后,创建冲突图中的边(edge)(分支或边(side))。此时,比较两个节点,并且当节点由彼此处于不同的状况(例如,原子序数、键的存在或不存在、键序等)的原子构成时,在这两个节点之间创建边。另一方面,当比较两个节点并且所述节点由相同状况下的原子构成时,在这两个节点之间不创建边。
[0296] 此处,将参照图24描述用于创建冲突图中的边的规则。
[0297] 首先,在图24所示的示例中,将描述是否在节点[A1B1]与节点[A2B2]之间创建边。如从图24中的图形化的分子A的结构可以看出的,包括在节点[A1B1]中的分子A的碳A1和包
括在节点[A2B2]中的分子A的碳A2彼此键合(单键键合)。同样,包括在节点[A1B1]中的分子B的碳B1和包括在节点[A2B2]中的分子B的碳B2彼此键合(单键键合)。例如,碳A1与A2之间
的键合状况和碳B1与B2之间的键合状况彼此相同。
[0298] 以这样的方式,在图24的示例中,分子A中碳A1和A2的状况和分子B中碳B1和B2的状况彼此相同,并且节点[A1B1]和[A2B2]被认为是由彼此处于相同状况的原子构成的节
点。因此,在图24所示的示例中,在节点[A1B1]与[A2B2]之间没有创建边。
[0299] 接下来,在图24所示的示例中,将描述是否在节点[A1B4]与节点[A2B2]之间创建边。如从图24中的图形化的分子A的结构可以看出的,包括在节点[A1B4]中的分子A的碳A1
和包括在节点[A2B2]中的分子A的碳A2彼此键合(单键键合)。另一方面,如从图形化的分子B的结构可以看出的,包括在节点[A1B4]中的分子B的碳B4和包括在节点[A2B2]中的分子B
的碳B2具有夹在碳B4与B2之间的氧B3,并且碳B4和碳B2不直接键合。例如,碳A1与A2之间的键合状况和碳B4与B2之间的键合状况彼此不同。
[0300] 即,在图24的示例中,分子A中碳A1和A2的状况与分子B中碳B4和B2的状况彼此不同,并且节点[A1B4]和[A2B2]被认为是由彼此处于不同状况的原子构成的节点。因此,在图
24所示的示例中,在节点[A1B4]与[A2B2]之间创建了边。
[0301] 以这样的方式,可以基于如下规则来创建冲突图:当节点由处于不同状况的原子构成时,在这些节点之间创建边,以及当节点由处于相同状况的原子构成时,在这些节点之间不创建边。
[0302] 图25是示出分子A和B的示例性冲突图的图。如图25所示,例如,在节点[A2B2]和[A5B5]中,分子A中的碳A2与氧A5之间的键合的状况和分子B中的碳B2与B5之间的键合的状
况彼此相同。因此,节点[A2B2]和[A5B5]被认为是由彼此处于相同状况的原子构成的节点,并且因此在节点[A2B2]与[A5B5]之间没有创建边。
[0303] 此处,冲突图的边可以例如基于两种化合物的化学结构数据来创建,其中,将针对这两种化合物计算结构上的相似度。例如,当使用SDF格式文件输入化合物的化学结构数据时,可以通过使用计算器例如计算机,基于SDF格式文件中包含的信息执行计算来创建(指定)冲突图的边。
[0304] 接下来,将描述用于求解所创建的冲突图的最大独立集问题的方法。
[0305] 冲突图中的最大独立集(MIS)意指构成冲突图的节点集中的这样的集:所述集包括数目最多的在节点之间没有边的节点。
[0306] 例如,冲突图中的最大独立集意指在由节点彼此之间不具有边的节点形成的集之中的大小(节点的数目)最大的集。
[0307] 图26是示出图形中的示例性最大独立集的图。在图26中,包括在集中的节点用附图标记“1”标记,并且未包括在任何集中的节点用附图标记“0”标记;对于节点之间存在边的情况,节点由实线连接,而对于不存在边的情况,节点由虚线连接。注意,此处,如图26所示,为了简化说明,将节点的数目为六的图形作为示例进行描述。
[0308] 在图26所示的示例中,在由节点之间没有边的节点构成的集中,存在具有最大数目的节点的三个集,并且这些集的每一个中的节点的数目是三个。例如,在图26所示的示例中,由单点划线围绕的三个集被给出为图形中的最大独立集。
[0309] 此处,如上所述,基于如下规则来创建冲突图:当节点由处于不同状况的原子构成时,在这些节点之间创建边,以及当节点由处于相同状况的原子构成时,在这些节点之间不创建边。因此,在冲突图中求出最大独立集与求出两个分子公共的子结构中的最大子结构同义,其中,最大独立集是在由节点之间没有边的节点构成的集中节点的数目最大的集。例如,两个分子的最大公共子结构可以通过求出冲突图中的最大独立集来指定。
[0310] 因此,通过将两个分子表示为图形,基于图形化的分子的结构创建冲突图,并求出冲突图中的最大独立集,可以求出两个分子的最大公共子结构。
[0311] 图27示出了在通过求出冲突图中的最大独立集来求出分子A(乙酸)和分子B(乙酸甲酯)的最大公共子结构(求解最大独立集问题)的情况下的示例性流程。如图27所示,冲突图以这样的方式创建:分子A和B分别被表示为图形,相同的元素被组合并用作节点,并且根据构成节点的原子的状况形成边。然后,通过求出所创建的冲突图中的最大独立集,可以求出分子A和B的最大公共子结构。
[0312] 此处,将描述用于求出(搜索)冲突图中的最大独立集的示例性具体方法。
[0313] 例如,可以通过使用哈密顿函数来执行对冲突图中的最大独立集的搜索,其中,在哈密顿函数中,最小化意味着搜索最大独立集。更具体地,例如,可以通过使用由以下式(2)表示的哈密顿函数(H)来执行搜索。注意,哈密顿函数是成本函数的示例。
[0314] [式9]
[0315]
[0316] 此处,在上式(2)中,n表示冲突图中的节点的数目,并且bi表示代表关于第i个节点的偏移的数值。
[0317] 此外,当在第i节点与第j节点之间存在边时,wij具有正的非零数,以及当在第i节点与第j节点之间不存在边时,wij具有零。
[0318] 此外,xi表示代表第i节点具有0或1的二进制变量,以及xj表示代表第j节点具有0或1的二进制变量。
[0319] 注意,α和β为正数。
[0320] 将更详细地描述由上式(2)表示的哈密顿函数与对最大独立集的搜索之间的关系。上式(2)是以QUBO格式表示伊辛模型式的哈密顿函数。
[0321] 在上式(2)中,当xi具有1时,意味着第i节点被包括在作为最大独立集的候选的集中,以及当xi具有0时,意味着第i节点没有被包括在作为最大独立集的候选的集中。同样,在上式(2)中,当xj具有1时,意味着第j节点被包括在作为最大独立集的候选的集中,以及当xj具有0时,意味着第j节点没有被包括在作为最大独立集的候选的集中。
[0322] 因此,在上式(1)中,通过在状态被指定为1(位被指定为1)的节点之间不存在边的约束下搜索其中尽可能多的节点具有状态1的组合,可以搜索到最大独立集。
[0323] 此处,将描述上式(2)中的每项。
[0324] 上式(2)右侧的第一项(具有系数‑α的项)是这样的项:该项的值随着xi具有1的i的数目越大(包括在作为最大独立集的候选的集中的节点的数目越大)而变小。注意,上式
(2)右侧的第一项的值变小意味着给出较大的负数。因此,在上式(2)中,由于右侧的第一项的作用,当许多节点具有为1的位时,哈密顿函数(H)的值变小。
[0325] 上式(2)右侧的第二项(具有系数β的项)是这样的惩罚项:当在位具有1的节点之间存在边时(当wij具有正的非零数时),惩罚项的值变大。例如,当没有在位具有1的节点之间存在边的情况时,上式(2)右侧的第二项具有0,并且在其他情况下,上式(2)右侧的第二项具有正数。因此,在上式(2)中,由于右侧第二项的作用,当在位具有1的节点之间存在边时,哈密顿函数(H)的值变大。
[0326] 如上所述,当许多节点具有位1时,上式(2)具有较小值,以及当在位具有1的节点之间存在边时,上式(2)具有较大值;因此,可以说,使上式(1)最小化意味着搜索最大独立集。
[0327] 此处,将参照附图使用示例来描述由上式(2)表示的哈密顿函数与对最大独立集的搜索之间的关系。
[0328] 将考虑如图28中所示的示例那样对节点数目为六的图形中的每个节点的位进行设置的情况。在图28的示例中,如图26那样,对于节点之间存在边的情况,节点由实线连接,而对于不存在边的情况,节点由虚线连接。
[0329] 针对图28中的示例,假设在上式(2)中,bi具有1,并且当在第i节点与第j节点之间存在边时wij具有1,则上式(2)如下。
[0330] [式10]
[0331] H=‑α(x0+x1+x2+x3+x4+x5)
[0332] +β(λ01x0x1+λ02x0x2+λ03x0x3+λ04x0x4+λ05x0x5+…)
[0333] =‑α(1+0+1+0+1+0)
[0334] +β(1*1*0+0*1*1+0*1*0+0*1*1+0*1*0+…)
[0335] =‑3α
[0336] 以这样的方式,在图28的示例中,当没有其中在位具有1的节点之间存在边的情况时(当作为独立集没有矛盾时),右侧的第二项具有0,并且第一项的值被原样给出为哈密顿函数的值。
[0337] 接下来,将考虑如图29所示的示例中那样对每个节点的位进行设置的情况。如图28中的示例那样,假设在上式(2)中,bi具有1,并且当在第i节点与第j节点之间存在边时,wij具有1,则上式(2)如下。
[0338] [式11]
[0339] H=‑α(x0+x1+x2+x3+x4+x5)
[0340] +β(λ01x0x1+λ02x0x2+λ03x0x3+λ04x0x4+λ05x0x5+…)
[0341] =‑α(1+1+1+0+1+0)
[0342] +β(1*1*1+0*1*1+0*1*0+0*1*1+0*1*0+…)
[0343] =‑4α+5β
[0344] 以这种方式,在图29的示例中,由于有其中在位具有1的节点之间存在边的情况,因此右侧的第二项不具有0,并且哈密顿函数的值被给定为右侧的两项之和。此处,在图28和图29所示的示例中,例如,在假设α>5β的情况下,满足‑3α<‑4α+5β,并且因此,图28的示例中的哈密顿函数的值比图29的示例中的哈密顿函数的值小。在图28的示例中,获得了作
为最大独立集没有矛盾的节点集,并且可以看出,通过对上式(2)中的哈密顿函数的值变小的节点的组合进行搜索,可以搜索到最大独立集。
[0345] 接下来,将描述用于基于搜索到的最大独立集来计算分子之间的结构上的相似度的方法。
[0346] 分子之间的结构上的相似度可以例如使用下式(3)来计算。
[0347] [式12]
[0348]
[0349] 此处,在上式(3)中,S(GA,GB)表示被表示为图形的第一分子(例如,分子A)与被表示为图形的第二分子(例如,分子B)之间的相似度,S(GA,GB)被表示为0至1,并且意味着越接近1,相似度越高。
[0350] 此外,VA表示被表示为图形的第一分子的节点原子的总数,以及VcA表示被表示为图形的第一分子的节点原子中的包括在冲突图的最大独立集中的节点原子的数目。注意,
节点原子是指在图形化的分子的顶点处的原子。
[0351] 此外,VB表示被表示为图形的第二分子的节点原子的总数,并且VcB表示被表示为图形的第二分子的节点原子中的包括在冲突图的最大独立集中的节点原子的数目。
[0352] 符号δ表示从0到1的数。
[0353] 另外,在上式(3)中,max{A,B}意味着从A和B中选择较大的值,并且min{A,B}意味着从A和B中选择较小的值。
[0354] 此处,如图22和其他附图那样,将以乙酸(分子A)和乙酸甲酯(分子B)为例,对用于计算相似度的方法进行描述。
[0355] 在图30所示的冲突图中,最大独立集由四个节点构成:节点[A1B1]、节点[A2B2]、A节点[A3B3]和节点[A5B5]。因此,在图30的示例中,将|VA|给定为4,将|VC|给定为4,将|VB|B
给定为5,以及将|VC|给定为4。此外,在本示例中,在假设δ具有0.5,并且取第一分子和第二分子的平均(第一分子和第二分子被相同地处理)时,上式(3)如下。
[0356] [式13]
[0357]
[0358] 以这样的方式,在图30的示例中,基于上式(2),将分子之间的结构上的相似度计算为0.9。
[0359] 如上所述,通过求解组合优化问题以及求解冲突图的最大独立集问题,搜索要比较的分子(化合物)共有的部分结构,并且可以计算相似度。
[0360] <<求解问题(B1)和问题(B2)>>
[0361] 在实施方式2中,将问题(B1)和问题(B2)的两个组合优化问题作为要求解的组合优化问题来求解。问题(B1)是获得乙酰乙酸乙酯与2‑甲氧基苯甲醛之间的结构相似度的问题。问题(B2)是获得丙氨酸(Ala)‑谷氨酸(Glu)肽与谷氨酸(Glu)‑丙氨酸(Ala)肽之间的结构相似度的问题。
[0362] 在实施方式2中,将上式(2)用作成本函数(哈密顿函数),并且基于分子的信息(图形)来设置上式(2)中的bi(偏移)和wij(权重),其中,在问题(B1)和问题(B2)中针对所述分子获得相似度。注意,由于上式(2)中的成本函数是由QUBO格式的伊辛模型所表示的函数,因此不执行向伊辛模型的转换。
[0363] 此外,在实施方式2中,如图31中那样,将问题(B1)和问题(B2)中的偏移彼此相邻地布置。在实施方式2中,如图31所示,使问题(B1)和问题(B2)中的权重对应于偏移,并且将要用于求解彼此不同的组合优化问题的位之间的权重设置为零。
[0364] 在实施方式2中,将退火参数设置为其中可以正确地求解问题(B1)和问题(B2)的条件,并且使上式(2)最小化。
[0365] 当在示例2中使上式(2)最小化时,上述伊辛模型式(2)的成本函数(哈密顿函数)的最小值(Emin)为“‑20070”。此外,使上述式(2)的伊辛模型成本函数最小化所需的计算时间为0.9秒。
[0366] (比较例2)
[0367] 在比较例2中,与示例2类似地使上述伊辛模型式(2)的成本函数最小化,不同之处在于,作为两次实施方式2中的计算,单独地求解问题(B1)和问题(B2)。
[0368] 在比较例2中,如图32所示,单独地设置问题(B1)中的偏移和权重以及问题(B2)中的偏移和权重,并且单独地求解组合优化问题中的每一个。
[0369] 在比较例2中,当单独地求解问题(B1)和问题(B2)时,问题(B1)中的上述伊辛模型式(2)的成本函数的最小值为“‑20000”。此外,问题(B2)中的上述伊辛模型式(2)的成本函数的最小值为“‑70”。此外,在问题(B1)和问题(B2)中的每一个中使上述伊辛模型式(2)的成本函数最小化所需的计算时间为0.9秒,并且所述计算时间总计为1.8秒。
[0370] 此处,图33示出了实施方式2与比较例2之间的条件和结果的比较。注意,在图33中,相应示例中的伊辛模型的最小值由“Emin”、“Emin1”和“Emin2”表示,并且相应示例中的计算时间由“t”、“t1”和“t2”表示。
[0371] 实施方式2中的伊辛模型的最小值“‑20070”是比较例2中的“‑20000”和“‑70”的和(总计),其中“‑20000”是单独地使问题(B1)的伊辛模型最小化的结果,“‑70”是单独地使问题(B2)的伊辛模型最小化的结果。
[0372] 从上述要点可以看出,在实施方式2中,正确地求解了问题(B1)和问题(B2)中的单独组合优化问题。
[0373] 此外,如图33所示,在实施方式2中,计算时间为0.9秒,并且以作为比较例2的1.8秒的计算时间的一半(1/2)的计算时间求解了问题(B1)和问题(B2)。
[0374] 此处,在实施方式2中,问题(B1)中的乙酰乙酸乙酯为X1,2‑甲氧基苯甲醛为Y1,分子X1的原子的数目为nX1,并且分子Y1的原子的数目为nY1。类似地,在实施方式2中,问题(B2)中的Ala‑Glu肽为X2,Glu‑Ala肽为Y2,分子X2的原子的数目为nX2,并且分子Y2的原子的数目为nY2。
[0375] 在当前情况下,当同时求解问题(B1)和问题(B2)时,在为求解问题(B1)而分配的位的范围内状态为“1”的位的数目等于问题(B1)的最大公共部分结构的数目(分子之间公
共的原子的数目)nX1Y1公共。类似地,在为求解问题(B2)而分配的位的范围内状态为“1”的位的数目等于问题(B2)的最大公共部分结构的数目(分子之间公共的原子的数目)nX2Y2公共。
[0376] 例如,如图34所示,可以通过同时求解问题(B1)和问题(B2)来获得分配给问题(B1)和问题(B2)的求解的位的状态的信息。因此,通过同时求解问题(B1)和问题(B2),可以获得每个问题中的位状态,并且可以基于位状态获得分配给各问题的位的范围内存在多少
个状态为“1”的位。因此,在示例2中,可以指定问题(B1)和问题(B2)中的最大公共部分结构的数目,并且可以针对每个问题计算分子之间的相似度。
[0377] 当比较实施方式2和比较例2中计算出的分子之间的相似度时,实施方式2中计算出的问题(B1)的相似度与比较例2中计算出的问题(B1)的相似度相匹配。此外,实施方式2
中计算出的问题(B2)的相似度也与比较例2中计算出的问题(B2)的相似度相匹配。
[0378] (求解背包问题的示例)
[0379] <实施方式3>
[0380] 作为实施方式3,通过求解组合优化问题来求解背包问题。在实施方式3中,与实施方式1类似地,通过使用具有图10所示的功能配置的优化设备执行图11中的流程图中的步骤S101至S106来求解两个组合优化问题。此外,使用数字退火器(注册商标)来求解组合优
化问题(式(1)的伊辛模型的最小化)。
[0381] <<背包(knapsack)问题>>
[0382] 此处,背包问题是在将各自具有预定价值的多种类型的物品(item)装入背包中的情况下寻找使放置在背包中的物品的总价值最大化的物品的组合的问题。在背包问题中,
确定可以放置在背包中的物品的重量(或体积),并且存在以下限制:放置物品的总重量(或体积)不超过背包的容量。
[0383] 可以求解背包问题的成本函数(哈密顿函数(H))的示例包括下式(4)。
[0384] [式14]
[0385] H=‑V+Pitem+Pknapsack 式(4)
[0386] 此处,上式(4)中的V是指放置在背包中的物品的总价值。例如,上式(4)中的V可以由下式表示。
[0387] [式15]
[0388]
[0389] 此处,n是指物品的数目,m是指背包的数目,并且vi是指物品i的价值。此外,xi,j是意指物品i是否包含在背包j中的二进制变量,并且是0或者1。
[0390] 上式(4)中的Pitem是指关于物品的数目的约束,例如,物品没有被放置在任何背包中或者被放置在任何背包中。例如,上式(4)中的Pitem可以由下式表示。
[0391] [式16]
[0392]
[0393] 此处,β是参数(系数),并且例如可以为1000。
[0394] 上式(4)中的Pknapsack是指关于背包的容量的约束,例如,可以放置在背包中的物品的重量小于或等于背包的容量。例如,上式(4)中的Pknapsack可以由下式表示。
[0395] [式17]
[0396]
[0397] 此处,α是参数(系数),Cj是指背包j的容量,wi是指物品i的重量,并且yi是指松弛变量。此外,例如,参数α可以被设置为1。
[0398] 例如,松弛变量yi可以由下式表示。
[0399] [式18]
[0400]
[0401] 此外,松弛变量yi是在[0,2|‑1]的范围内的整数值。此处,I(L)可以由下式表示。
[0402] [式19]
[0403] wmax=max(wi),l=[log2(wmax+1)]
[0404] 此外,可以通过使用松弛变量yi将背包j的容量Cj从不等式转换为等式来获得上式(4)中的Pknapsack。背包j的容量Cj从不等式到等式的转换可以通过修改以下三个式来执行。
[0405] [式20]
[0406]
[0407] [式21]
[0408]
[0409] [式22]
[0410]
[0411] <<求解问题(C1)和问题(C2)>>
[0412] 在实施方式3中,将问题(C1)和问题(C2)的两个组合优化问题作为要求解的组合优化问题来求解。
[0413] 问题(C1)是在将10种类型的物品装入3个背包中的情况下的背包问题。在问题(C1)中,各个物品i的价值为(v0,v1,v2,v3,v4,v5,v6,v7,v8,v9)=(4,2,7,4,6,9,4,8,2,3)。
此外,在问题(C1)中,各个物品i的重量为(w0,w1,w2,w3,w4,w5,w6,w7,w8,w9)=(4,8,3,7,9,
2,1,6,8,9)。此外,在问题(C1)中,将背包j的容量分别设置为(C0,C1,C2)=(12,18,26)。
[0414] 问题(C2)是在将10种类型的物品装入两个背包中的情况下的背包问题。在问题(C2)中,各个物品i的价值为(v0,v1,v2,v3,v4,v5,v6,v7,v8,v9)=(1,2,3,2,5,6,9,7,4,8)。
此外,在问题(C2)中,各个物品i的重量为(w0,w1,w2,w3,w4,w5,w6,w7,w8,w9)=(1,9,7,1,5,
8,6,5,9,8)。此外,在问题(C2)中,将背包j的容量分别设置为(C0,C1)=(14,22)。
[0415] 在实施方式3中,将上式(4)用作成本函数(哈密顿函数)。然后,将上式(4)转换为上式(1)的伊辛模型,并且基于上述问题(C1)和问题(C2)的条件设置bi(偏移)和wij(权重)。
[0416] 此外,在实施方式3中,如图35中那样,将问题(C1)和问题(C2)中的偏移彼此相邻地布置。在实施方式3中,如图35所示,使问题(C1)和问题(C2)中的权重对应于偏移,并且将要用于求解彼此不同的组合优化问题的位之间的权重设置为零。
[0417] 在实施方式3中,将退火参数设置为其中可以正确地求解问题(C1)和问题(C2)的条件,并且使上式(1)最小化。
[0418] 当在实施方式3中使上式(1)的伊辛模型最小化时,上式(1)的伊辛模型的最小值(Emin)为“‑1910”。此外,使上式(1)的伊辛模型最小化所需的计算时间为8.4秒。
[0419] (比较例3)
[0420] 在比较例3中,与示例3类似地使上式(1)的伊辛模型最小化,不同之处在于,作为两次示例3中的计算,单独地求解问题(C1)和问题(C2)。
[0421] 在比较例3中,如图36所示,单独地设置问题(C1)中的偏移和权重以及问题(C2)中的偏移和权重,并且单独地求解组合优化问题中的每一个。
[0422] 在比较例3中,当单独地求解问题(C1)和问题(C2)时,问题(C1)中的上式(1)的伊辛模型的最小值为“‑1192”。此外,问题(C2)中的上式(1)的伊辛模型的最小值为“‑718”。此外,在问题(C1)和问题(C2)中的每一个中使上式(1)的伊辛模型最小化所需的计算时间为
8.4秒,并且所述计算时间总计为16.8秒。
[0423] 此处,图37示出了实施方式3与比较例3之间的条件和结果的比较。注意,在图37中,相应示例中的伊辛模型的最小值由“Emin”、“Emin1”和“Emin2”表示,并且相应示例中的计算时间由“t”、“t1”和“t2”表示。
[0424] 示例3中的伊辛模型的最小值“‑1910”是比较例3中的“‑1192”和“‑718”的和(总计),其中“‑1192”是单独地使问题(C1)的伊辛模型最小化的结果,“‑718”是单独地使问题(C2)的伊辛模型最小化的结果。
[0425] 从上述要点可以看出,在实施方式3中,正确地求解了问题(C1)和问题(C2)中的单独组合优化问题。
[0426] 此外,如图37所示,在实施方式3中,计算时间为8.4秒,并且以作为比较例3的16.8秒的计算时间的一半(1/2)的计算时间求解了问题(C1)和问题(C2)。
[0427] (多个组合优化问题包括不同类型的组合优化问题的示例)
[0428] <实施方式4>
[0429] 在实施方式4中,在多个组合优化问题包括不同类型的组合优化问题的情况下,求解多个组合优化问题。在实施方式4中,与实施方式1类似地,通过使用具有图10所示的功能配置的优化设备执行图11中的流程图中的步骤S101至S106,来求解三个组合优化问题。此
外,使用数字退火器(注册商标)来求解组合优化问题(式(1)的伊辛模型的最小化)。
[0430] 在实施方式4中,求解了实施方式1中的问题(A2)、实施方式2中的问题(B2)和实施方式3中的问题(C1)的三个组合优化问题。在实施方式4中,如图38所示,设置上述问题
(A2)、(B2)和(C1)中的伊辛模型的bi(偏移)和wij(权重)。在实施方式4中,如图38所示,使上述问题(A2)、(B2)和(C1)中的权重对应于偏移,并且将要用于求解彼此不同的组合优化问
题的位之间的权重设置为零。
[0431] 在实施方式4中,将退火参数设置为其中可以正确地求解问题(C1)的条件,并且使上式(1)最小化,其中,问题(C1)为上述问题(A2)、(B2)和(C1)中最难求解的问题。
[0432] 当在实施方式4中使上式(1)的伊辛模型最小化时,上式(1)的伊辛模型的最小值(Emin)为“‑1082769”。此外,使上式(1)的伊辛模型最小化所需的计算时间为8.4秒。
[0433] (比较例4)
[0434] 在比较例4中,与实施方式4类似地使上式(1)的伊辛模型最小化,不同之处在于,作为三次实施方式4中的计算,单独地求解上述问题(A2)、(B2)和(C1)。
[0435] 在比较例4中,如图39所示,单独地设置问题(A2)中的偏移和权重、问题(B2)中的偏移和权重以及问题(C1)中的偏移和权重,并且单独地求解组合优化问题中的每一个。
[0436] 在比较例4中,当单独地求解问题(A2)、(B2)和(C1)时,问题(A2)中的上式(1)的伊辛模型的最小值为“‑1081507”。此外,问题(B2)中的上式(1)的伊辛模型的最小值为“‑70”。此外,问题(C1)中的上式(1)的伊辛模型的最小值为“‑1192”。此外,使上式(1)的伊辛模型最小化所需的计算时间在问题(A2)中为0.9秒,在问题(B2)中为0.9秒,并且在问题(C1)中
为8.4秒,并且所述计算时间总计为10.2秒。
[0437] 此处,图40示出了实施方式4与比较例4之间的条件和结果的比较。注意,在图40中,相应示例中的伊辛模型的最小值由“Emin”、“Emin1”、“Emin2”和“Emin3”表示,并且相应示例中的计算时间由“t”、“t1”、“t2”和“t3”表示。
[0438] 示例4中的伊辛模型的最小值“‑1082769”是比较例4中的“‑1081507”、“‑70”以及“‑1192”的和(总计),其中,“‑1081507”是单独地使问题(A2)的伊辛模型最小化的结果,“‑70”是单独地使问题(B2)的伊辛模型最小化的结果,以及“‑1192”是单独地使问题(C1)的伊辛模型最小化的结果。
[0439] 从上述要点可以看出,在示例4中,正确地求解了问题(A2)、(B2)和(C1)中的单独组合优化问题。
[0440] 此外,如图40所示,在实施方式4中,计算时间为8.4秒,并且可以使该计算时间短于作为比较例4的计算时间的10.2秒。在实施方式4中,用于求解多个组合优化问题的计算时间与用于求解最难的问题(C1)所需的计算时间相同。
[0441] 图41是示出当求解多个组合优化问题时本案中公开的技术的一个实施方式与常规技术之间的关系的示例的图。
[0442] 如图41所示,在常规技术中,当求解多个组合优化问题时,通过单独地重复求解组合优化问题(问题(1)和问题(2))中的每一个来顺序地求解组合优化问题。因此,如图41所示,在常规技术中,在用于求解单个组合优化问题的计算时间为十秒的情况下,用于求解问题(1)的作业(1)和用于求解问题(2)的作业(2)中的每一个花费十秒,并且因此总的计算时
间为二十秒。
[0443] 同时,在本案中公开的技术的实施方式中,如图41所示,将要用于求解问题(1)和问题(2)的两个组合优化问题中的单独组合优化问题的位分配给准备好的位。即,在本案中公开的技术的实施方式中,将多个第一位分配给包括在多个组合优化问题中的第一组合优
化问题,并且将多个第二位分配给包括在多个组合优化问题中的第二组合优化问题。
[0444] 此外,在本案中公开的技术的实施方式中,如图41所示,将要用于求解问题(1)和问题(2)的两个组合优化问题中彼此不同的组合优化问题的位之间的相互作用(权重)设置
为零。即,在本案中公开的技术的示例中,多个第一位中的每一个与多个第二位中的每一个之间的相互作用被设置为零。
[0445] 然后,在本案中公开的技术的实施方式中,基于如上所述设置的条件,总体地(作为一项作业)求解多个组合优化问题。
[0446] 通过这样做,在本案中公开的技术的实施方式中,在图41所示的示例中,参照图41,当求解各自花费十秒来求解的问题(1)和问题(2)时,问题(1)和问题(2)可以被总体地
求解,并且总的计算时间可以是十秒。即,在本案中公开的技术的实施方式中,在图41所示的示例中,求解多个组合优化问题所需的计算时间可以减半。
[0447] 如上所述,在本案中公开的技术的实施方式中,可以在短时间内求解多个组合优化问题,而无需单独地重复求解所述问题。