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

程序、数据处理方法、数据处理设备和计算机可读介质与流程

2023-02-19 10:51:46 来源:中国专利 TAG:


1.本文讨论的实施方式涉及程序、数据处理方法、数据处理设备和计算机可读介质。


背景技术:

2.作为计算诺依曼型计算机不擅长的大规模离散优化问题(例如组合优化问题)的设备,存在使用伊辛型评估函数(也称为能量函数等)的伊辛设备(也称为玻尔兹曼机)。
3.伊辛设备将离散优化问题转换成表示磁体的自旋行为的伊辛模型。伊辛设备通过马尔可夫链蒙特卡洛方法例如模拟退火方法或副本交换方法来搜索其中伊辛型评估函数的值(相当于能量)为局部最小值的伊辛模型的状态。其中评估函数的值是局部最小值中的最小值的状态是最优解。通过改变评估函数的符号,伊辛设备还可以搜索其中评估函数的值是局部最大值的状态。伊辛模型的状态可以由多个状态变量的值的组合来表示。可以使用0或1作为每个状态变量的值。
4.例如,伊辛型评估函数由下式(1)的二次形式的函数定义。
5.[式1]
[0006][0007]
右侧的第一项将两个状态变量的值与权重值(表示两个状态变量之间的相互作用程度)的乘积相加,其中对于伊辛型评估函数中包括的所有状态变量的所有组合没有遗漏和重复。xi是具有标识号i的状态变量,xj是具有标识号j的状态变量,并且w
ij
是指示具有标识号i和标识号j的状态变量之间的相互作用程度的权重值。右侧的第二项计算针对每个标识号的偏差系数与状态变量的乘积之和。bi指示针对标识号=i的偏差系数。
[0008]
xi的值改变时的能量变化量(δei)由下式(2)表示。
[0009]
[式2]
[0010][0011]
在式(2)中,例如,当取0或1的值的xi从1改变为0时,δxi为-1,而当xi从0改变为1时,δxi为1。hi被称为局部场(local field),并且δei是hi与取决于δxi的符号( 1或-1)的乘积。
[0012]
例如,在δei小于基于随机数和温度参数的值而获得的噪声值时,重复以下处理:更新xi的值以生成状态转变以及更新局部场。
[0013]
顺便提及,在相关技术的伊辛设备中,在所有状态变量的初始值(初始解)不适当的情况下,由于解被限制为非最优解的局部解,或者由于其他原因,存在计算时间增加的可能性。
[0014]
在相关技术中,已经存在如下方法:其中,当计算组合优化问题时,随机地改变初始值,并且使用改变后的初始值来重复计算。
[0015]
在相关技术中,已经存在如下方法:其中,执行主成分分析(principal component analysis,pca)方法以便分析点云数据(例如,专利文献1)。
[0016]
在相关技术中,已经存在如下方法:其中,当随机地搜索并获得离散优化问题的解时,在当前解的附近存在大量的改进的解的可能性高的情况下集中执行低阶邻域搜索(low-order neighborhood search),以及在可能性低的情况下执行广域搜索(wide area search)(例如,专利文献2)。
[0017]
已经存在如下方法:其中,当计算组合优化问题的解时,使用二进制搜索树均匀地提取与能够进行评估的解的数量一样多的解,以便有效地搜索具有大偏差度的较宽解空间,所述偏差是问题特有的状态之间的距离(例如,专利文献3)。
[0018]
[引用文献列表]
[0019]
[专利文献]
[0020]
[专利文献1]日本公开特许公报第2018-141759号。
[0021]
[专利文献2]日本公开特许公报第2001-117773号。
[0022]
[专利文献3]日本公开特许公报第2019-46031号。
[0023]
[非专利文献]
[0024]
[非专利文献1]christian blum和andrea roli,“metaheuristics in combinatorial optimization:overview and conceptual comparison”,acm计算概观(acm computing surveys),第35卷,第3期,第268页至第308页,2003年9月。


技术实现要素:

[0025]
[问题]
[0026]
在相关技术中随机地改变初始值的方法中,在大多数情况下,获得具有低值的初始值(例如,导致过高能量的初始值或其与最优解相距的汉明距离太大的初始值)。例如,在选择物品的问题例如背包问题中,在最终被选择为最优解的状态中其值为1的状态变量的数量在许多情况下仅构成所有状态变量的一小部分。当采用随机地改变初始值的方法时,所有状态变量的大约一半的值是1。出于该原因,很可能获得其与最优解相距的汉明距离太大的初始值。因为这样的初始值极大地违反了背包问题要满足的约束,所以它还导致大的能量。
[0027]
因此,难以从通过随机地改变初始值的方法获得的初始值转变到最优解,并且存在其中计算时间增加的问题。
[0028]
根据一个方面,本公开内容旨在提供可以缩短离散优化问题的计算时间的程序、数据处理方法和数据处理设备。
[0029]
[问题的解决方案]
[0030]
根据一个实施方式,一种程序,其中,计算机执行以下处理:从存储优化问题的多个第一解的存储单元(存储器)读取多个第一解,优化问题的多个第一解由伊辛型评估函数中包括的多个状态变量的值的组合表示;通过对多个第一解执行主成分分析,将多个第一解第一转换成由小于多个状态变量的数量的第一数量的变量表示的多个第二解;确定指示多个第二解在包括第一数量的维度的解空间中的分布的区域;生成位于区域外的第二位置处并且与区域内的第一位置相距第一距离的第三解;将第三解第二转换成由多个状态变量
构成的第四解;以及通过使用第四解作为多个状态变量的初始值来搜索优化问题的解。
[0031]
此外,根据一个实施方式,提供了一种数据处理方法。
[0032]
此外,根据一个实施方式,提供了一种数据处理设备。
[0033]
此外,根据一个实施方式,提供了一种计算机可读介质。该可读介质存储有如上程序实施例中描述的程序。当该程序在计算机上运行时,可使得计算机执行如上述数据处理方法所描述的处理。
[0034]
[发明效果]
[0035]
根据一个方面,本公开内容可以缩短离散优化问题的计算时间。
附图说明
[0036]
图1是示出根据第一实施方式的数据处理设备和数据处理方法的示例的图;
[0037]
图2是示出根据第二实施方式的数据处理设备的硬件的示例的框图;
[0038]
图3是示出数据处理设备的功能的示例的框图;
[0039]
图4是示出背包问题的示例的图;
[0040]
图5是示出背包问题的多个解的示例的图;
[0041]
图6是示出其中随机地改变解的值的示例的图;
[0042]
图7是示出通过pca来转换解的结果的示例的图;
[0043]
图8是示出指示转换之后的四个解在解空间中的分布(spread)的区域的示例的图;
[0044]
图9是示出在pca的解空间中生成的新解的示例的图;
[0045]
图10是示出将在pca的解空间中生成的解转换成原始维度的处理的示例的图;
[0046]
图11是示出数据处理方法的流程的示例的流程图;以及
[0047]
图12是示出根据第三实施方式的数据处理设备的示例的图。
具体实施方式
[0048]
在下文中,将参照附图描述本公开内容的实施方式。
[0049]
(第一实施方式)
[0050]
图1是示出根据第一实施方式的数据处理设备和数据处理方法的示例的图。
[0051]
根据第一实施方式的数据处理设备10包括存储单元11和处理单元12。
[0052]
例如,存储单元11是作为诸如动态随机存取存储器(dram)的电子电路的易失性存储装置,或者是作为诸如硬盘驱动器(hdd)或闪存的电子电路的非易失性存储装置。存储单元11可以包括诸如寄存器的电子电路。
[0053]
存储单元11存储要计算的离散优化问题的问题信息、以及通过对离散优化问题执行的先前的解搜索而获得的多个解(解池)。
[0054]
问题信息包括式(1)中给出的权重值(w
ij
)和偏差系数(bi)等。
[0055]
例如,多个解中的每个解是在满足解搜索的预定结束条件时获得的解。在没有适当地设置初始值的情况下,存在该解是非最优解的局部解的较高可能性。
[0056]
注意,存储单元11可以存储各种类型的数据,例如处理单元12执行稍后将描述的数据处理方法的计算条件。例如,计算条件包括用于pca的条件、稍后将描述的距离d、用于
搜索方法(例如模拟退火方法或副本交换方法)的计算条件、用于计算的结束条件等。当处理单元12通过软件执行稍后将描述的数据处理方法的部分或全部处理时,用于执行处理的程序存储在存储单元11中。
[0057]
例如,处理单元12可以由处理器来实现,该处理器是诸如中央处理单元(cpu)、图形处理单元(gpu)或数字信号处理器(dsp)的硬件。处理单元12可以由电子电路例如专用集成电路(asic)或现场可编程门阵列(fpga)来实现,或者可以由处理器和这样的电子电路的组合来实现。
[0058]
处理单元12基于到目前为止获得的离散优化问题的多个解来计算x0至x
n-1
(n是式(1)的伊辛型评估函数中包括的状态变量的总数)的初始值,并且使用初始值来执行解搜索。
[0059]
例如,处理单元12搜索其中由式(1)表示的评估函数的值(能量)是局部最小值的状态。其中评估函数的值是局部最小值中的最小值的状态是最优解。通过改变由式(1)表示的评估函数的符号,处理单元12还可以搜索其中评估函数的值是局部最大值的状态(在这种情况下,其中评估函数的值是最大值的状态是最优解)。
[0060]
图1示出了由处理单元12执行的处理流程的一部分的示例。
[0061]
处理单元12从存储单元11读取到目前为止获得的离散优化问题的多个解(步骤s1)。
[0062]
图1示出了其中读取解1至解4的四个解的示例。在图1的示例中,状态变量的总数量是8(n=8)。
[0063]
处理单元12对多个读取的解执行pca,并且将多个解转换成由小于上述状态变量总数的数量的变量表示的多个解(步骤s2)。
[0064]
在pca中,这样的转换可以被称为维度压缩(或缩减)。在图1的示例中,可以说在转换之前的解的维度是8。在图1的示例中,可以说转换之后的维度是2,并且执行从8到2的维度压缩。
[0065]
当通过pca执行维度压缩时,解空间保持压缩之前的解空间的属性。当如上所述执行维度压缩时,可以在压缩后的维度的解空间中表示解之间的欧几里得距离。将在第二实施方式中描述pca的具体过程。
[0066]
处理单元12确定指示转换之后的多个解在解空间中的分布的区域(步骤s3)。在图1的示例中,指示了基于所述四个解在解空间中的位置而确定的矩形区域15。例如,该区域15指示到目前为止获得的局部解的空间分布(spatial spread)。
[0067]
处理单元12生成位于所确定的区域之外的位置处并且与该区域内的某个位置相距距离d的解(步骤s4)。例如,距离d可以由用户从数据处理设备10的外部输入,或者可以预先存储在存储单元11中。
[0068]
在图1的示例中,在与区域15的中心点15a相距距离d的位置处生成解16。例如,在从与中心点15a相距距离d的位置中随机选择的位置处生成解16。
[0069]
处理单元12通过将在pca的解空间中生成的解转换成原始维度的解(由n个状态变量构成的解)来生成用于解搜索的初始值(初始解)(步骤s5)。
[0070]
在图1的示例中,二维解16被转换成8维的值(由8个状态变量表示的值)。稍后将描述用于将压缩后的维度转换为原始维度的过程(参见图10)。
[0071]
此后,处理单元12通过使用所生成的初始值来执行解搜索(步骤s6)。
[0072]
例如,通过使用模拟退火方法、副本交换方法等来执行解搜索。可以通过多种类型的搜索方法并行地执行解搜索。稍后将描述解搜索的示例。
[0073]
如上所述,根据第一实施方式的数据处理设备10通过pca将到目前为止获得的多个解中的每一个解转换成较低维度的解,将位于指示解的空间分布的区域之外的位置处并且与该区域内的位置相距距离d的解的维度转换回原始维度,并且获得用于解搜索的新初始值。因此,由于通过距离d来确定新初始值与到目前为止所获得的多个解相距的程度,因此获得其与到目前为止所获得的多个解相距的汉明距离不太大的初始值。例如,抑制了低值初始值的生成。例如,与简单地随机确定或改变初始值的情况相比,获得具有较高值的初始值(例如,导致相对较低能量的初始值或其与最优解相距的汉明距离相对小的初始值)。
[0074]
通过使用这样的初始值执行解搜索,有助于从初始值到最优解的变换,并且可以缩短计算时间。
[0075]
在步骤s6的处理之后,处理单元12可以在使用通过解搜索获得的解来更新解池中的一个解之后重复步骤s1至s6的处理。例如,在新获得的解是比解池中包括的解中的最差解(例如,导致最低能量的解)更好的解的情况下,处理单元12用新获得的解来更新最差解。这增加了获得更好解(最优解或接近最优解的解)的可能性。
[0076]
此外,当新获得的解比解池中的任何解都更好时,处理单元12可以输出该解。
[0077]
(第二实施方式)
[0078]
图2是示出根据第二实施方式的数据处理设备的硬件的示例的框图。
[0079]
例如,数据处理设备20是计算机,并且包括cpu 21、随机存取存储器(ram)22、hdd 23、gpu 24、输入接口25、介质读取器26和通信接口27。上述单元耦接至总线。
[0080]
cpu 21是包括执行程序指令的算术电路的处理器。cpu 21将存储在hdd 23中的程序和数据的至少一部分加载到ram 22中,并且执行程序。cpu 21可以包括多个处理器核,数据处理设备20可以包括多个处理器,并且可以通过使用多个处理器或处理器核来并行执行下面将要描述的处理。多个处理器(多处理器)的集合可以被称为“处理器”。
[0081]
ram 22是易失性半导体存储器,其临时地存储由cpu 21执行的程序或者用于供cpu 21计算的数据。数据处理设备20可以包括除了ram22之外的类型的存储器,并且可以包括多个存储器。
[0082]
hdd 23是非易失性存储装置,其存储诸如操作系统(os)、中间件和应用软件的软件的程序和数据。例如,程序包括用于使数据处理设备20执行搜索离散优化问题的解的处理的程序。数据处理设备20可以包括另一类型的存储装置例如闪存或固态驱动器(ssd),并且可以包括多个非易失性存储装置。
[0083]
gpu 24根据来自cpu 21的指令将图像输出到耦接至数据处理设备20的显示器24a。可以使用阴极射线管(crt)显示器、液晶显示器(lcd)、等离子显示面板(pdp)、有机电致发光(oel)显示器等作为显示器24a。
[0084]
输入接口25从耦接至数据处理设备20的输入装置25a获取输入信号,并且将输入信号输出至cpu 21。可以使用指向装置(例如鼠标)、触摸面板、触摸板或轨迹球、键盘、遥控器、按钮开关等作为输入装置25a。多种类型的输入装置可以耦接至数据处理设备20。
[0085]
介质读取器26是读取记录在记录介质26a上的程序或数据的读取装置。例如,可以
使用磁盘、光盘、磁光(mo)盘、半导体存储器等作为记录介质26a。磁盘包括软盘(fd)和hdd。光盘包括致密盘(cd)和数字多功能盘(dvd)。
[0086]
例如,介质读取器26将从记录介质26a读取的程序或数据复制到另一记录介质例如ram 22或hdd 23。例如,所读取的程序由cpu 21执行。记录介质26a可以是便携类型记录介质,并且可以用于分发程序或数据。记录介质26a和hdd 23可以被称为计算机可读记录介质。
[0087]
通信接口27是连接至网络27a并且经由网络27a执行与另一信息处理设备的通信的接口。通信接口27可以是经由线缆连接至通信装置例如交换机的有线通信接口,或者可以是经由无线链路连接至基站的无线通信接口。
[0088]
接下来,将描述数据处理设备20的功能和处理过程。
[0089]
图3是示出数据处理设备的功能的示例的框图。
[0090]
数据处理设备20包括输入单元30、存储单元31、初始值控制单元32、解搜索单元33a1至33am、解存储单元34、解更新控制单元35和输出单元36。
[0091]
例如,输入单元30、初始值控制单元32、解搜索单元33a1至33am、解更新控制单元35和输出单元36可以通过使用由cpu 21执行的程序模块来实现。例如,存储单元31和解存储单元34可以通过使用固定在ram22或hdd 23中的存储区域来实现。
[0092]
例如,输入单元30接收状态变量(x0至x
n-1
)的初始值、问题信息和计算条件的输入。例如,问题信息包括式(1)中给出的权重值(w
ij
)和偏差系数(bi)。例如,计算条件包括用于pca的条件和用于在pca的解空间中生成新的解的距离。例如,计算条件包括:在使用副本交换方法的情况下的副本数量、副本交换周期以及针对每个副本设置的温度参数值;在使用模拟退火方法的情况下的温度参数改变时间表;用于计算的结束条件等。
[0093]
这些信息可以由操作输入装置25a的用户输入,或者可以经由记录介质26a或网络27a输入。
[0094]
存储单元31存储状态变量的输入初始值、问题信息和计算条件。
[0095]
初始值控制单元32将所存储的状态变量的初始值、问题信息和计算条件设置在解搜索单元33a1至33am中。初始值控制单元32根据存储在解存储单元34中的多个解通过pca来计算新的初始值,并且将新的初始值设置在解搜索单元33a1至33am中。
[0096]
解搜索单元33a1至33am具有通过邻域搜索(局部搜索)来搜索解的邻域求解器的功能。存在模拟退火方法、副本交换方法等作为邻域搜索的方法。
[0097]
解存储单元34存储由解搜索单元33a1至33am获得的多个解(解池)。
[0098]
解更新控制单元35基于由解搜索单元33a1至33am获得的多个解来执行解池的更新。
[0099]
例如,输出单元36输出包括最佳解(其中由式(1)表示的评估函数的值是到目前为止执行的解搜索中的最小值的解)的计算结果。例如,输出单元36可以输出计算结果并在显示器24a上显示计算结果,可以经由网络27a将计算结果发送至另一信息处理设备,或者可以将计算结果存储在外部存储装置中。
[0100]
接下来,将描述由数据处理设备20计算离散优化问题的示例。
[0101]
在下文中,将在计算作为离散优化问题之一的背包问题作为示例的情况下给出描述。
[0102]
背包问题是如下问题:其中,当给出具有容量c的一个背包和n种类型的物品(每个物品的价值是pi,以及每个物品的体积是ci)时,选择要装在背包中的物品,使得在不超过容量c的范围内装入的物品的价值之和最大化。
[0103]
图4是示出背包问题的示例的图。图4示出了已知最优解的背包问题的示例。
[0104]
在图4的背包问题的示例中,背包的容量c是40,并且物品类型的数量(n)是8(物品0至物品7)。如图4中所示给出每个物品的价值pi和体积ci。
[0105]
解由各自指示物品是否被包括在背包中的为0或1的状态变量的组合来表示。0指示物品未被包括在背包中,以及1指示物品被包括在背包中。
[0106]
在图4中的背包问题的示例中,选择四种类型的物品(物品0、物品1、物品2和物品4)作为要包装在背包中的物品是最优解。在这种情况下,体积之和为36以及价值之和为42。
[0107]
当通过邻域搜索来搜索诸如上述背包问题的最优解时,可能存在所获得的解被约束为非最优解的局部解的情况。
[0108]
图5是示出背包问题的多个解的示例的图。
[0109]
在图5中,指示图4所示的八种类型的物品(物品0至物品7)是否被包括在背包中的状态变量由各自具有值0或1的x0至x7表示。x0至x7的值的组合是解(示为“状态1”至“状态4”)。“状态能量”是表示诸如上述背包问题的伊辛型评估函数的值(能量)。“重量”是装在背包中的物品的体积之和。
[0110]
当通过x0至x7的值的组合来表示图4中示出的上述最优解时,(x0,x1,x2,x3,x4,x5,x6,x7)=(1,1,1,0,1,0,0,0)。在图5的示例中,四个解中没有一个是最优解。在即使当邻域搜索被重复多次时也仅获得诸如图5中所示的解的情况下,存在解被约束为除了最优解之外的局部解的可能性。
[0111]
在这样的情况下,可能的选择是随机地改变多个解(例如图5所示的那些解)中除最佳解之外的解的值,并且使用改变后的解作为x0至x7的初始值(初始解)来重复邻域搜索,使得解从局部解中逃逸出。
[0112]
图6是示出其中随机地改变解的值的示例的图。
[0113]
图6示出其中随机地改变除了导致最小能量的“状态4”(其在表中是最佳解)之外的解的值的示例。
[0114]
对于其值被随机地改变的每个解,“重量”大大超过背包的容量c的40,并且能量非常大。在将导致大能量的解用作用于解搜索的初始值的情况下,难以将解变换为最优解,并且计算时间增加。
[0115]
因此,例如,在根据第二实施方式的数据处理设备20中,初始值控制单元32如下计算初始值。
[0116]
首先,初始值控制单元32对存储在解存储单元34中并且各自由n个状态变量构成的多个(n维)解进行归一化,并且计算多个归一化的解的方差-协方差矩阵。初始值控制单元32通过对方差-协方差矩阵执行特征值分解来获得n个pca分量。初始值控制单元32根据对数据的标准偏差的贡献度(也称为贡献率等)来重新排列分量,并且将分量转换成按照贡献度的降序选择的由比n更小的数量的变量表示的多个解。
[0117]
图7是示出通过pca来转换解的结果的示例的图。
[0118]
图7示出了其中图5中所示的四个解被布置在具有两个变量(pca维度0和pca维度
1)的pca的二维解空间中的示例。例如,图5所示的n=8的四个解被转换成由两个变量表示的四个解。以这种方式,通过执行pca,可以执行维度压缩。
[0119]
接着,初始值控制单元32确定指示转换之后的多个解在解空间中的分布的区域。
[0120]
图8是示出指示转换之后的四个解在解空间中的分布的区域的示例的图。
[0121]
在图8的示例中,确定由解空间中的四个解的位置限定的矩形区域38。四个解中的任何一个解位于区域38的每一侧。指示多个解在解空间中的分布的区域的形状不限于矩形,并且可以是多边形、椭圆形等。
[0122]
此后,基于用于在pca的解空间中生成新解的距离d,初始值控制单元32生成位于所确定的区域之外的位置处并且与该区域内的某个位置相距距离d的解。
[0123]
图9是示出在pca的解空间中生成的新解的示例的图。
[0124]
在图9的示例中,在与区域38的中心点38a相距距离d(≈2)的位置处生成新的解。例如,在从与中心点38a相距距离d的位置中随机选择的位置处生成新的解。
[0125]
此后,初始值控制单元32通过将在pca的解空间中生成的解转换成原始维度来生成n个状态变量的初始值(初始解)。
[0126]
图10是示出将在pca的解空间中生成的解转换成原始维度的处理的示例的图。
[0127]
在图9所示的pca的解空间中生成的解可以由一行和两列的矩阵表示。初始值控制单元32将该矩阵乘以例如图10所示的以两行和八列格式表示的矩阵,以用于逆转换到原始维度(八维)。
[0128]
初始值控制单元32将与图5所示的x0至x7中的每个维度相对应的状态变量的四个解的平均值与所获得的对应于原始维度的值中的每个值相加。例如,将对应于维度0的x0的平均值0.75与通过上述乘法获得的对应于维度0的值相加。
[0129]
此后,初始值控制单元32将滤波器应用于通过上述加法获得的对应于八维的值,该滤波器在该值等于或小于0.5时设置0并且在该值大于0.5时设置1。因此,获得由x0至x7构成的新的解(“状态(新)”)。
[0130]
当使用上述新的解时,能量是3953,并且背包中包括的物品的体积之和是44。该能量低于由图6所示的其中值被随机改变的解所获得的能量。
[0131]
因此,存在通过上述方法获得的解不是与最优解相距太远的解的较高可能性,并且可以抑制收敛到最优解的时间的增加。这可以缩短离散优化问题的计算时间。
[0132]
尽管上面描述了将八维转换成二维的示例,但这不是唯一的情况。根据要计算的离散优化问题,可以将其改变为三维或更多数量的维。不言而喻,本实施方式的方法可以应用于其中状态变量的数量(n)大于8的问题(大规模离散优化问题)。
[0133]
在下文中,将描述数据处理设备20的处理过程(数据处理方法)。下面将描述其中通过使用副本交换方法执行搜索的示例。
[0134]
图11是示出数据处理方法的流程的示例的流程图。
[0135]
输入单元30接收x0至x
n-1
的初始值以及上述问题信息和计算条件的输入(步骤s10)。例如,这些输入信息被存储在存储单元31中。
[0136]
初始值控制单元32确定在解存储单元34中是否存在多个解(步骤s11)。当确定在解存储单元34中存在多个解时,初始值控制单元32执行步骤s12的处理。当确定在解存储单元34中不存在多个解时,初始值控制单元32执行步骤s17的处理。在解搜索单元33a1至33am
还没有执行解搜索的时间点处,由于在解存储单元34中不存在多个解,因此执行步骤s17的处理。
[0137]
例如,当获得多个解作为由解搜索单元33a1至33am进行的解搜索的结果时,执行步骤s12的处理。
[0138]
在步骤s12的处理中,初始值控制单元32读取存储在解存储单元34中的多个解。例如,如图7所示,初始值控制单元32对多个读取的解执行pca,并且将所述多个解转换成维度低于所述多个解的维度的多个解(步骤s13)。
[0139]
此后,例如,如图8所示,初始值控制单元32确定指示转换之后的多个解在解空间中的分布的区域(步骤s14)。
[0140]
例如,如图9所示,初始值控制单元32生成位于所确定的区域之外的位置处并且与该区域内的某个位置相距距离d的解(步骤s15)。
[0141]
此后,例如,如图10所示,初始值控制单元32通过将在pca的解空间中生成的解转换成原始维度的解来生成n个状态变量的初始值(初始解)(步骤s16)。
[0142]
在步骤s16的处理之后或者当初始值控制单元32在步骤s11的处理中确定在解存储单元34中不存在多个解时,初始值控制单元32对解搜索单元33a1至33am执行初始化处理(步骤s17)。例如,初始化处理包括在解搜索单元33a1至33am中设置x0至x
n-1
的初始值、基于x0至x
n-1
的初始值设置能量的初始值、设置计算条件等。
[0143]
此后,执行由解搜索单元33a1至33am进行的解搜索以及由解更新控制单元35进行的解池的更新(步骤s18)。
[0144]
例如,如下执行解搜索。
[0145]
例如,解搜索单元33a1至33am首先从x0至x
n-1
中选择其值可以改变的状态变量(下文中称为翻转候选(flip candidate)的状态变量)。例如,解搜索单元33a1至33am随机地或以预定顺序选择翻转候选的状态变量。
[0146]
解搜索单元33a1至33am基于式(2)来计算假设所选择的状态变量的值改变的情况下的评估函数的值的变化量(δe),并且基于δe与预定值之间的比较结果来确定是否允许翻转候选的状态变量的值的改变(是否可以执行翻转)。在下文中,这样的确定处理被称为翻转确定处理。
[0147]
例如,预定值是基于随机数和温度参数的值而获得的噪声值。例如,当δe小于log(rand)
×
t时,解搜索单元33a1至33am确定允许翻转候选的状态变量的值的改变,其中,log(rand)
×
t是基于等于或大于0且等于或小于1的均匀随机数(uniform random number)(rand)和温度参数(t)获得的噪声值的示例。
[0148]
当确定可能不执行翻转时,解搜索单元33a1至33am重复从选择翻转候选的状态变量的处理开始的处理。当确定可以执行翻转时,解搜索单元33a1至33am通过改变翻转候选的状态变量的值来更新由x0至x
n-1
构成的解。
[0149]
解搜索单元33a1至33am重复上述处理,直到满足预定结束条件。
[0150]
例如,在使用模拟退火方法的情况下,每当重复翻转确定处理预定次数时,解搜索单元33a1至33am根据预定温度参数改变计划表来减小以上提及的温度参数(t)的值。解搜索单元33a1至33am将在重复翻转确定处理预定次数时获得的状态作为解存储在解存储单元34中。每当状态变量的值发生改变时,解搜索单元33a1至33am可以更新由式(1)表示的评
估函数的值(能量),并且保存当能量是直到该时间的最小能量时获得的能量和状态。在这种情况下,解搜索单元33a1至33am可以将与在重复翻转确定处理预定次数之后存储的最小能量相对应的状态作为解存储在解存储单元34中。
[0151]
在使用副本交换方法的情况下,解搜索单元33a1至33am在其中设置了不同温度参数值的多个副本中的每一个副本中执行翻转候选的状态变量的上述选择、δe的计算、翻转确定处理以及改变翻转候选的状态变量的值的处理。每当重复翻转确定处理预定次数时,解搜索单元33a1至33am执行副本交换。例如,解搜索单元33a1至33am从多个副本中随机地选择两个副本,并且基于副本之间的能量差或副本之间的温度参数值的差来以预定的交换概率交换两个所选副本之间的温度参数值或状态。例如,每当在每个副本中发生状态变量的值的改变时,解搜索单元33a1至33am更新由式(1)表示的评估函数的值(能量),并且保存当能量是直到该时间的最小能量时获得的能量和状态。解搜索单元33a1至33am将在每个副本中重复上述翻转确定处理预定次数之后存储的最小能量中的与所有副本中的最小能量相对应的状态作为解存储在解存储单元34中。
[0152]
例如,如下执行由解更新控制单元35对解池的更新。
[0153]
解更新控制单元35确定由解搜索单元33a1至33am获得的解是否是比解存储单元34中包括的多个解中的最差解更好的解(例如,导致低能量的解)。当确定该解是比最差解更好的解时,解更新控制单元35用该解来更新最差解。
[0154]
在步骤s18的处理之后,解更新控制单元35确定是否满足预定结束条件(步骤s19)。例如,当即使将步骤s11至步骤s18的处理重复预定次数,最佳解也不改变时,解更新控制单元35可以确定满足结束条件。
[0155]
在确定不满足预定结束条件的情况下,解更新控制单元35从步骤s11开始重复处理。
[0156]
相比之下,当确定满足预定结束条件时,解更新控制单元35使输出单元36输出最佳解作为离散优化问题的计算结果(步骤s20)。这结束了由数据处理设备20进行的处理。
[0157]
根据执行上述数据处理的数据处理设备20,出于上述原因,通过使用通过步骤s12至s16的处理生成的x0至x
n-1
的初始值来执行解搜索可以缩短离散优化问题的计算时间。
[0158]
如上所述,可以通过使数据处理设备20执行程序来实现上述处理的细节。
[0159]
程序可以记录在计算机可读记录介质(例如,记录介质26a)上。例如,可以使用磁盘、光盘、mo盘、半导体存储器等作为记录介质。磁盘包括fd和hdd。光盘包括cd、可记录(r)/可重写(rw)cd、dvd和dvd-r/rw。程序可以记录在便携式记录介质上并且被分发。在这种情况下,程序可以从便携式记录介质被复制到另一记录介质(例如,hdd23)并且被执行。
[0160]
(第三实施方式)
[0161]
图12是示出根据第三实施方式的数据处理设备的示例的图。在图12中,与图2所示的元件相同的元件被分配相同的附图标记。
[0162]
根据第三实施方式的数据处理设备40包括耦接至总线的加速器卡41。
[0163]
加速器卡41是搜索离散优化问题的解的硬件加速器。加速器卡41包括fpga 41a和dram 41b。
[0164]
例如,在根据第三实施方式的数据处理设备40中,fpga41a执行图3所示的解搜索单元33a1至33am的处理。dram 41b可以用作图3所示的存储单元31,其存储诸如式(1)中给
出的权重值(w
ij
)和偏差系数(bi)的问题信息,或者可以用作图3所示的存储多个解的解存储单元34。尽管图3中的初始值控制单元32和解更新控制单元35的处理可以由cpu 21执行,但是fpga 41a可以替代地执行该处理。
[0165]
可以存在多个加速器卡41。在这种情况下,例如,可以并行地执行解搜索单元33a1至33am的处理。
[0166]
具有上述硬件结构的数据处理设备40可以执行与根据第二实施方式的数据处理设备20所执行的处理类似的处理,并且可以获得类似的效果。
[0167]
虽然以上基于实施方式描述了本公开内容的程序、数据处理方法和数据处理设备的各方面,但是这些仅仅是示例,并且本公开内容不限于以上描述。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献