CN112394756B - 优化装置和优化装置的控制方法 - Google Patents
优化装置和优化装置的控制方法 Download PDFInfo
- Publication number
- CN112394756B CN112394756B CN202010795868.0A CN202010795868A CN112394756B CN 112394756 B CN112394756 B CN 112394756B CN 202010795868 A CN202010795868 A CN 202010795868A CN 112394756 B CN112394756 B CN 112394756B
- Authority
- CN
- China
- Prior art keywords
- search
- temperature
- value
- unit
- group
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
- G05B13/0205—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric not using a model or a simulator of the controlled system
- G05B13/024—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric not using a model or a simulator of the controlled system in which a parameter or coefficient is automatically adjusted to optimise the performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D23/00—Control of temperature
- G05D23/19—Control of temperature characterised by the use of electric means
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
- G05B13/0205—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric not using a model or a simulator of the controlled system
- G05B13/021—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric not using a model or a simulator of the controlled system in which a variable is automatically adjusted to optimise the performance
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D23/00—Control of temperature
- G05D23/19—Control of temperature characterised by the use of electric means
- G05D23/1917—Control of temperature characterised by the use of electric means using digital means
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/588—Random number generators, i.e. based on natural stochastic processes
-
- 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
-
- 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
- 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
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- 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/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Automation & Control Theory (AREA)
- Computing Systems (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Linguistics (AREA)
- Business, Economics & Management (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Algebra (AREA)
- Operations Research (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Human Resources & Organizations (AREA)
- Physiology (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Genetics & Genomics (AREA)
- Biomedical Technology (AREA)
- Probability & Statistics with Applications (AREA)
- Entrepreneurship & Innovation (AREA)
- Game Theory and Decision Science (AREA)
- Marketing (AREA)
Abstract
本发明涉及优化装置和优化装置的控制方法。一种优化装置包括:多个搜索单元;以及控制多个搜索单元的控制单元,其中,多个搜索单元中的每个搜索单元包括:状态保持单元,其被配置成保持在表示能量值的评估函数中包括的多个状态变量的值中的每个值;能量计算单元,其被配置成计算在多个状态变量的值中的任何值改变的情况下产生的能量值的变化值;以及转变控制单元,其被配置成基于设置温度值、能量值的变化值和随机数值,通过变化值与热激发能量之间的相对关系来随机地确定是否接受状态转变,控制单元包括温度调节单元、选择单元、温度控制单元以及交换控制单元。
Description
技术领域
本文讨论的实施方式涉及优化装置和优化装置的控制方法。
背景技术
作为求解诺伊曼型(Neumann-type)计算机不容易处理的各种变量的优化问题的方法,存在使用伊辛型(Ising-type)能量函数(也被称为成本函数或目标函数)的优化装置(也被称为伊辛机(Ising machine)或玻尔兹曼机(Boltzmann machine))。优化装置通过用伊辛模型代替计算对象的问题来对该问题进行计算,该伊辛模型是表示磁性材料的自旋(spin)行为的模型。
还可以通过使用例如神经网络来对优化装置进行建模。在这种情况下,与伊辛模型中包括的多个自旋对应的多个位中的每个位用作神经元,该神经元根据与其他位与自身位之间的相互作用的大小对应的加权系数(也称为耦合系数)来输出0或1。优化装置通过使用随机搜索方法例如模拟退火获得相应位的值的如下组合作为最优解:根据所述组合获得以上所描述的能量函数(称为能量)的最小值。
例如,提出了一种优化装置(或信息处理设备),其通过使用交换蒙特卡罗方法或副本交换方法(这是一种扩展的集成方法)来搜索优化问题的解。另外,还提出了一种用于温度并行模拟退火的恒温室装置,其中将通过在第一温度下的模拟退火获得的状态与通过在第二温度下的模拟退火获得的状态随机交换。
在日本专利第6465231号、日本公开特许公报第2018-5541号和日本公开特许公报第9-231197号中公开了相关技术。
发明内容
在如副本交换方法中由设置了温度的多个搜索单元执行随机搜索的情况下,期望适当地控制在搜索单元中设置的温度。
一方面,本发明的目的是提供一种能够控制在搜索单元中设置的温度的优化装置以及该优化装置的控制方法。
根据一个方面,存在一种优化装置,其包括多个搜索单元和被配置成控制多个搜索单元的控制单元。多个搜索单元中的每个搜索单元包括:状态保持单元,其被配置成保持在表示能量值的评估函数中包括的多个状态变量的值中的每个值;能量计算单元,其被配置成计算在多个状态变量的值中的任何值改变的情况下产生的能量值的变化值;以及转变控制单元,其被配置成基于设置温度值、能量值的变化值和随机数值,通过能量值的变化值与热激发能量之间的相对关系来随机地确定是否接受状态转变。控制单元包括:温度调节单元,其被配置成基于通过多个搜索单元中的基态搜索而获得的信息来确定更新的最大温度值;选择单元,其被配置成基于所确定的更新的最大温度值,将多个搜索单元划分成包括至少第一组和第二组的多个组;温度控制单元,其被配置成在属于多个组中的每个组的搜索单元中设置温度值;以及交换控制单元,其被配置成在能量值的基态搜索被执行重复次数之后或在从能量值的基态搜索起已经经过预定时段之后,在属于同一组的搜索单元之间交换温度值或多个状态变量的值。温度调节单元基于由第一组中包括的搜索单元执行的基态搜索的结果来确定更新的最大温度值。选择单元基于所确定的更新的最大温度值来确定在第二组中包括的搜索单元中设置的温度值。
另外,一方面,提供了一种优化装置的控制方法。
一方面,可以控制在搜索单元中设置的温度。
附图说明
图1是示出根据第一实施方式的优化装置的图。
图2是示出对搜索单元进行分组的示例的图。
图3是示出根据第二实施方式的优化装置的电路配置示例的图。
图4是示出改变最低能量的示例的图。
图5A和图5B是示出温度直方图和累积直方图的示例的图。
图6是示出响应于最大温度的更新而对副本进行分组的示例的图。
图7是示出副本分组单元的电路配置示例的图。
图8是示出选择要分配给每个组的副本的示例的图。
图9是示出优化装置的处理示例的流程图。
图10是示出副本交换处理的示例的流程图。
图11是示出根据第三实施方式的副本分组单元的电路配置示例的图。
图12是示出优化装置的处理示例的流程图。
图13是示出根据第四实施方式的优化装置的硬件示例的图。
图14是示出优化装置的功能示例的图。
图15是示出温度调节方法的另一示例的图。
具体实施方式
在下文中,将参照附图描述实施方式。
[第一实施方式]
将描述第一实施方式。
图1是示出根据第一实施方式的优化装置的图。
优化装置1在与通过对计算对象的优化问题进行转换而获得的伊辛模型中包括的多个自旋相对应的多个状态变量的相应值的组合(状态)之中搜索在评估函数具有最小值的情况下的每个状态变量的值(基态)。优化装置1包括与伊辛模型相对应的多个搜索单元,并使用副本交换方法来搜索基态。在此,评估函数可以被称为成本函数、目标函数、能量函数等。另外,状态变量可以被称为位、自旋位等。
伊辛型评估函数E(x)例如由以下的表达式(1)定义。
[数学式1]
右侧的第一项在没有丢失和交叠的情况下将可从伊辛模型中包括的所有状态变量中选择的两个状态变量的所有组合之中的两个状态变量值(0或1)与耦合系数的乘积相加。伊辛模型中包括的状态变量的总数被设置为n(n为2或大于2的整数)。在一个示例中,n=1024或n=8192。另外,i和j中的每一个是等于1或大于1且等于n-1或小于n-1的整数。xi是第i个状态变量。xj是第j个状态变量。Wij是指示第i个状态变量与第j个状态变量之间的相互作用的大小的加权系数。Wii=0。此外,在许多情况下,Wij=Wji。即,在许多情况下,基于加权系数的系数矩阵可以是对角元素为0的对称矩阵。
右侧的第二项是所有状态变量中的每个状态变量的偏置系数的值与状态变量的值的乘积之和。bi指示第i个状态变量的偏置系数。
此外,在状态变量xi的值改变为1-xi的情况下,状态变量xi的增加量由δxi=(1-xi)-xi=1-2xi表示。因此,响应于自旋反转(状态变量的值的变化)的能量变化ΔEi由下面的表达式(2)表示。
[数学式2]
hi被称为局部字段并且由表达式(3)表示。
[数学式3]
通过将局部字段hi乘以根据δxi的符号(+1或-1)来获得能量变化ΔEi。当特定变量xj改变时的局部字段hi的变化量δhi (j)由表达式(4)表示。
[数学式4]
每个搜索单元保持针对状态变量xi的局部字段hi,并且当另一状态变量xj的值改变时将变化量δhi (j)和hi相加,从而获得与位反转之后的状态相对应的hi。优化装置1可以基于表达式(2)根据局部字段hi获得当状态变量xi被设置为变化候选时的能量变化值ΔEi。
在每个搜索单元中,例如,针对搜索单元中的每个状态变量并行地执行当特定状态变量xj的值改变时更新局部字段hi的处理。
在每个搜索单元中,使用Metropolis方法或Gibbs方法来确定是否允许状态变量的值的改变。即,关于搜索从某一状态到较低能量的另一状态的转变的相邻搜索,每个搜索单元随机地允许不仅转变为能量降低的状态,而且还转变为能量增加的状态。例如,接受能量变化ΔE的状态变量的值的改变的概率(转变接受概率)A由表达式(5)表示。
[数学式5]
这里,β是温度值T的倒数(逆温度值),并且β=1/T。min运算符指示获取参数的最小值。例如,在使用Metropolis方法的情况下,当能量变化ΔE满足关于均匀随机数u(0<u≤1)的表达式(6)时,每个搜索单元允许对应的状态变量的值的改变。在下面的描述中,“log”表示自然对数。
[数学式6]
T·log(u)≤-ΔE (6)
每个搜索单元通过改变被允许改变的状态变量的值并利用状态变量之间的耦合系数更新另一状态变量的局部字段来转变状态。优化装置1针对每个搜索单元设置属于特定温度范围的温度,并且基于表达式(6)在每个温度处引起状态转变,使得每个搜索单元在设置温度处生成根据玻尔兹曼分布的状态。因此,优化装置1通过重复执行在搜索单元之间随机地交换温度或状态并且引起每个搜索单元中的状态转变的处理来执行基态搜索。例如,由例如表达式(7)表示的交换概率p用作在第i个搜索单元与第j个搜索单元之间交换温度或状态的概率。
[数学式7]
这里,Ei是与第i个搜索单元的局部解相对应的能量。Ej是与第j个搜索单元的局部解相对应的能量。Ti是第i个搜索单元的温度。Tj是第j个搜索单元的温度。k是玻耳兹曼常数。
优化装置1包括多个搜索单元(搜索单元1a1、1a2......和1aN)和控制单元20。N是2或大于2的整数且与搜索单元的数量相对应。优化装置1通过使用例如半导体集成电路诸如现场可编程门阵列(FPGA)来实现。
搜索单元1a1至1aN中的每一个均包括状态保持单元、能量计算单元和转变控制单元。例如,搜索单元1a1包括状态保持单元11、能量计算单元12和转变控制单元13。
状态保持单元11保持在表示能量值的评估函数中包括的多个状态变量的值。在此,在图1中,搜索单元1a1中的能量值由E1表示,逆温度由β1表示,并且搜索单元1a1中的多个状态变量的值由s1表示。类似地,对于其他搜索单元,通过对搜索单元的编号添加下标来表示β和E。
在通过改变多个状态变量的值中的任何值而发生状态转变的情况下,能量计算单元12针对多个状态转变中的每个状态转变计算能量值的变化值(ΔE1j)。j指示要改变的状态变量的索引。在搜索单元1a1中,针对每个状态变量并行计算ΔE1j。
转变控制单元13基于设置温度值和能量值的变化值以及随机数值,通过能量值的变化值与热激发能量之间的相对关系来随机地确定是否接受多个状态转变中的任何状态转变。例如,如上所描述的,转变控制单元13基于表达式(6)确定状态转变是否可行,并且输出指示状态转变是否可行的标志f和由标志f指示的状态转变的编号。在图1中,由标志f指示的状态转变的编号由索引表示。
搜索单元1a1至1aN并行操作以执行以上描述的基态搜索。
控制单元20控制搜索单元1a1至1aN。控制单元20包括温度调节单元21、选择单元22、温度控制单元23和交换控制单元24。
温度调节单元21基于通过搜索单元1a1至1aN中的基态搜索获得的信息来确定温度值。温度调节单元21以如下方式确定温度值(新温度值)。如稍后将描述的,新温度值用于将搜索单元1a1至1aN划分成多个组。新温度值对应于特定组中的更新后的最大温度(更新的最大温度值),该更新后的最大温度被设置在属于该特定组的搜索单元中。
例如,温度调节单元21获取温度统计信息,该温度统计信息是关于搜索单元1a1至1aN中的每一个中的温度值的转变的统计信息,并且温度调节单元21基于所获取的温度统计信息来确定新温度值。更具体地,在任何搜索单元中更新了能量值的最小值的情况下,温度调节单元21获取从能量值的最小值的先前更新到当前更新在相对应的搜索单元中设置的温度之中的最高温度值作为温度统计信息。因此,温度调节单元21将在针对每个温度值通过对所获取的温度值的出现频率进行计数而获得的直方图中具有最高出现频率的温度值设置为新温度值。
可替选地,温度调节单元21可以从搜索单元1a1到1aN中的每一个获取通过基态搜索获得的多个局部解,并基于在跟踪从较大能量值到较小能量值的局部解之间的状态转变的情况下生成的能量增量来确定新温度值。更具体地,温度调节单元21可以确定新温度值,使得以预定的概率发生在能量增量的最大值处的状态转变。
选择单元22基于由温度调节单元21确定的温度值将多个搜索单元(搜索单元1a1至1aN)划分成多个组。例如,选择单元22将搜索单元1a1至1aN划分成第一组和第二组。在第一组中,设置属于从最小温度值到初始最大温度值的第一温度范围的温度值。在第二组中,设置属于从最小温度值到确定的新温度值(更新的最大温度值)的第二温度范围的温度值。选择单元22确定要针对属于第一组的每个搜索单元设置的温度值和要针对属于第二组的每个搜索单元设置的温度值。
温度调节单元21可以确定多个新温度值,并且选择单元22可以基于多个新温度值将搜索单元1a1至1aN划分成包括第一组的三个或更多个组。
温度控制单元23在属于多个组中的每个组的搜索单元中设置温度值。例如,温度控制单元23获取关于由选择单元22针对每个组的搜索单元确定的温度值的信息,并在搜索单元1a1至1aN中的每一个中设置温度值。
交换控制单元24在执行重复次数的能量值的基态搜索之后或在从能量值的基态搜索起已经经过预定时段之后,在属于同一组的搜索单元之间交换温度值或多个状态变量的值。交换控制单元24随机地确定是否在搜索单元之间交换温度值或状态。如上所描述的,交换控制单元24使用表达式(7)中的交换概率p来确定是否执行交换。例如,交换控制单元24在属于同一组的搜索单元之中的具有彼此相邻的设置温度值的一对搜索单元之间随机地交换温度值或状态。这是因为随着温度差的增加,交换概率降低。
因此,温度调节单元21基于由第一组中包括的搜索单元执行的基态搜索的结果来确定更新的最大温度值。
选择单元22基于所确定的更新的最大温度值来确定在第二组中包括的搜索单元中设置的温度值。
图2是示出对搜索单元进行分组的示例的图。
搜索单元1a1至1aN在优化操作开始时属于一个组G1。在属于组G1的搜索单元1a1至1aN中的每一个中设置属于从最小温度值Tmin到最大温度值Tmax的温度范围的温度值。将Tmin和Tmax预先提供给优化装置1。例如,在初始阶段,温度控制单元23在搜索单元1a1至1aN中的每一个中设置由表达式(8)确定的温度值。温度控制单元23可以确定温度值。
[数学式8]
T[i]指示在第i个搜索单元中设置的温度值。分母由例如表达式(9)表示。
[数学式9]
优化装置1使用属于组G1的搜索单元1a1至1aN通过副本交换方法执行基态搜索。例如,在即使在执行了预定义次数的状态转变之后具有最小温度的搜索单元中的状态也没有改变的情况下,或者在具有最小温度的搜索单元中的状态在预定义时段内没有改变的情况下,温度调节单元21基于通过基态搜索获得的信息通过以上描述的方法计算新温度值。例如,假设温度调节单元21将在搜索单元1a1至1aN之中的搜索单元1ap(1<p<N-1)中设置的温度值T[p]确定为新温度值Tmax_new(Tmax_new=T[p])。
在这种情况下,选择单元22将组G1划分成组G2和G3。选择单元22基于原始最大温度值Tmax和新温度值Tmax_new来确定属于组G2和G3中的每一个的搜索单元的数量。在一个示例中,选择单元22通过表达式(10)确定属于组G3的搜索单元的数量NTmax,并且通过表达式(11)确定属于组G2的搜索单元的数量NTmax_new。
[数学式10]
[数学式11]
然而,选择单元22可以确定NTmax_new,使得NTmax_new≥NTmax。另外,代替将Tmax和Tmax_new照原样代入表达式(10)和表达式(11)中,选择单元22可以将与Tmax和Tmax_new相对应的值代入表达式(10)和表达式(11)中。例如,选择单元22可以通过将分别将Tmax和Tmax_new乘以与Tmax和Tmax_new的权重相对应的常数而获得的值代入表达式(10)和表达式(11)中来获得搜索单元的数量。此外,选择单元22可以确定NTmax和NTmax_new,使得NTmax+NTmax_new<N。
例如,选择单元22确定NTmax_new=q和NTmax=N-q(1<q<N-1)。在这种情况下,选择单元22将搜索单元1a1至1aq分配给组G2,并且将搜索单元1a(q+1)至1aN分配给组G3。
因此,例如,选择单元22根据从最小温度值Tmin到新的最大温度值Tmax_new=T[p]的温度范围确定要向搜索单元1a1至1aq中的每一个设置的温度值。另外,选择单元22根据从最小温度值Tmin到原始最大温度值Tmax的温度范围确定要在搜索单元1a(q+1)至1aN中设置的温度值。
例如,选择单元22可以在组G1的搜索单元1a1至1aN中设置的温度值之中确定要在每个组中的搜索单元中设置的温度值。在这种情况下,选择单元22还从相对应的搜索单元获取与所确定的温度值相对应的状态,并且在以下搜索单元中设置相对应的状态(包括局部字段)以及温度值,接下来在该搜索单元中设置该温度值。
当选择要移交给下一搜索的温度值和状态时,选择单元22可以使用与具有相邻温度值的一对搜索单元相关的温度值或状态的交换概率。例如,选择单元22可以优先地将具有低交换概率的一对搜索单元中的每个状态设置为移交目标。具体地,考虑到当创建组G2时,选择单元22执行以下处理:从移交目标一个接一个地顺序地排除属于搜索单元1a1至1ap的p个搜索单元之中的具有最大交换概率的一对搜索单元中的一个搜索单元,直到搜索单元的数量达到q。类似地,考虑到当创建组G3时,选择单元22执行以下处理:从移交目标一个接一个地顺序地排除属于搜索单元1a1至1aN的N个搜索单元之中的具有最大交换概率的一对搜索单元中的一个搜索单元,直到搜索单元的数量达到(N-q)。具有相对高的交换概率的一对搜索单元中的两个状态倾向于具有彼此近似的能量值。因此,当选择通过将具有相对高的交换概率的一对中的一个状态疏剪而获得并随后被移交给下一搜索的状态或者要被移交给下一搜索的该状态和温度值时,组中的搜索单元搜索与相对宽的能量宽度相对应的状态,并且可以有效地执行基态搜索。
可替选地,选择单元22可以确定要向属于特定组的每个搜索单元设置的温度值,使得该组中的从最小温度值到最大温度值的温度值在对数轴(自然对数轴)上相等地间隔开。即,选择单元22可以使用表达式(8)和表达式(9)来计算要在每个组的搜索单元中设置的新温度。在这种情况下,考虑选择单元22将要被移交给下一搜索的状态设置为组G1中的设置了最接近所确定的温度值的温度值的搜索单元的状态。
温度控制单元23从选择单元22获取要在组G2中的搜索单元1a1至1aq中的每一个中设置的温度值和状态(包括与该状态相对应的局部字段),并且在搜索单元1a1至1aq中的每一个中设置温度值和状态。另外,温度控制单元23从选择单元22获取要在组G3中的搜索单元1a(q+1)至1aN中的每一个中设置的温度值和状态(包括与该状态相对应的局部字段),并且在搜索单元1a(q+1)至1aN中的每一个中设置温度值和状态。每个搜索单元可以例如通过多个状态变量和局部字段的乘积之和基于表达式(1)获得针对设置状态的能量值。
因此,通过副本交换方法进行的基态搜索在组G2和G3的两个系统中独立地进行。温度调节单元21基于通过组G3中的基态搜索获得的信息来重新计算在组G2中设置的新温度值Tmax_new。如果温度调节单元21重新计算新温度值Tmax_new,则选择单元22基于更新后的新温度值Tmax_new和最大温度值Tmax来更新属于组G2和G3中的每一个的搜索单元的数量,并更新在组G2和G3的搜索单元中的每一个中设置的温度值。
如上所描述的,优化装置1将搜索单元1a1至1aN划分成多个组,并通过副本交换方法在多个组中的每一个中执行基态搜索。
因此,副本交换方法是这样的方法:其中,多个副本(搜索单元)在不同温度下执行基态搜索,并且根据由一定周期内的能量和温度确定的交换概率在相邻系统中交换例如温度或状态(多个状态变量的值)。根据副本交换方法,即使在获得温度下降时的局部解的情况下,也可以通过副本交换来搜索在温度升高到高温度之后的全局解。因此,即使不考虑复杂的温度调度,也可以快速获得解。
然而,期望适当地确定要在每个副本中设置的温度,并且当温度的最大值太高或太低时,解的准确度(即,所获得的解是最优解的可能性)可能会降低,或者搜索可能会花费一些时间。还存在一个问题是,适当的温度范围根据问题而变化,并且除非实际解决该问题,否则该温度范围是未知的。另外,还考虑了根据在执行基态搜索的整个时段的初始预定时段中的搜索结果确定温度范围,然后在确定的温度下执行基态搜索。然而,在预定时段中确定的温度范围不一定合适。特别地,在最大温度被确定为相对低的温度的情况下,达到最低能量状态的可能性不可能增加。
因此,如上所描述的,优化装置1将多个搜索单元划分成多个组,并且使多个组中的每一个通过副本交换方法执行基态搜索,从而使用多个温度范围并行执行搜索。因此,在特定的组中,可以增加设置适合于目标问题的温度范围的可能性,并且可以提高解的准确度。另外,可以减少到达解的时间。以这种方式,可以提高求解性能。
特别地,优化装置1可以例如通过在组G3中的原始温度范围中的基态搜索来更新组G2中的新温度值Tmax_new。因此,即使当先前确定的Tmax_new的值不合适时,也可以将Tmax_new的值校正为合适的值。因此,在组G2中,可以增加设置适合于目标问题的温度范围的可能性,并且可以提高解的准确度。另外,可以减少到达解的时间。以这种方式,可以提高求解性能。
[第二实施方式]
接下来,将描述第二实施方式。
图3是示出根据第二实施方式的优化装置的电路配置示例的图。
优化装置2在与通过对计算对象的优化问题进行转换而获得的伊辛模型中包括的多个自旋相对应的多个自旋位的相应值的组合(状态)之中搜索在评估函数具有最小值的情况下的每个自旋位的值(基态)。通过使用例如半导体集成电路诸如FPGA来实现优化装置2。
优化装置2包括搜索单元10a1至10aN、温度调节单元31、副本分组单元32、温度控制单元33和整体控制单元34。
搜索单元10a1至10aN对应于第一实施方式中的搜索单元1a1至1aN。温度调节单元31、副本分组单元32和温度控制单元33分别对应于第一实施方式中的温度调节单元21、选择单元22和温度控制单元23。由于温度控制单元33包括交换控制单元24的功能,因此在图3中未示出交换控制单元。
一个搜索单元对应于一个副本。在搜索单元10a1至10aN中设置彼此不同的温度T1至TN。初始温度T1至TN例如使用预先给出的最小温度Tmin和最大温度Tmax基于表达式(8)和表达式(9)来确定。搜索单元10a1至10aN中的每一个通过如下电路基于由表达式(1)表示的伊辛型评估函数来实现基态搜索。下面将集中于搜索单元10a1进行描述,并且搜索单元10a2至10aN具有相似的电路配置。
搜索单元10a1包括状态保持单元11a;寄存器12a1、12a2......和12an;h计算单元12b1、12b2......和12bn;ΔE生成单元12c1、12c2......和12cn;加法器13a1、13a2......和13an;状态转变确定电路13b1、13b2......和13bn;选择器单元13c;偏移控制单元13d和E计算单元14a。
状态保持单元11a对应于第一实施方式中的状态保持单元11。h计算单元12b1至12bn和ΔE生成单元12c1至12cn对应于第一实施方式中的能量计算单元12。加法器13a1至13an、状态转变确定电路13b1至13bn、选择器单元13c和偏移控制单元13d对应于第一实施方式中的转变控制单元13。
在图3中,h计算单元12b1至12bn用下标i来命名,如“hi”计算单元,使得容易理解hi计算单元对应于第i个自旋位。另外,在图3中,ΔE生成单元12c1至12cn用下标i来命名,如“ΔEi”计算单元,使得容易理解ΔEi生成单元对应于第i个自旋位。
确定自旋位串(状态向量)中包括的哪个自旋位要被反转以及在特定搜索单元中自旋位要被反转的情况下反转自旋位的处理对应于由搜索单元进行的基态搜索(也称为随机搜索)中的一个处理。重复该一个处理。由搜索单元10a1至10aN并行执行的该一个处理的重复次数可以被称为迭代次数。
一个搜索单元中的自旋位的数量被设置为n。即,状态向量具有n位。寄存器12a1、h计算单元12b1、ΔE生成单元12c1、加法器13a1和状态转变确定电路13b1对n个自旋位之中的第一自旋位执行操作。另外,寄存器12a2、h计算单元12b2、ΔE生成单元12c2、加法器13a2和状态转变确定电路13b2对n个自旋位之中的第二自旋位执行操作。类似地,在附图标记诸如“12a1”和“12b1”的末尾的数值i指示执行了与第i个自旋位相对应的操作。即,当寄存器、h计算单元、ΔE生成单元、加法器和状态转变确定电路构成一个集合时一个搜索单元包括n个集合(集合是针对一个自旋位执行算术运算的算术运算处理电路的一个单元,并且可以被称为“神经元”、“神经元电路”等)。n个集合针对与相应的集合相对应的自旋位并行地执行操作。
将以寄存器12al、h计算单元12bl、ΔE生成单元12cl、加法器13al和状态转变确定电路13bl作为示例主要进行描述。具有相同配置的寄存器12a2至12an、h计算单元12b2至12bn、ΔE生成单元12c2至12cn、加法器13a2至13an以及状态转变确定电路13b2至13bn具有相同的功能。
此处,与寄存器12a1、h计算单元12b1、ΔE生成单元12c1、加法器13a1和状态转变确定电路13b1的集合相对应的自旋位被称为自身自旋位,并且由搜索单元10a1计算的其他自旋位被称为其他自旋位。每个自旋位由被称为索引的标识信息识别。例如,第i个自旋位的索引为i。
状态保持单元11a保持搜索单元10a1中的状态。状态由多个状态变量(状态变量x1,x2,...,xn)表示。即,状态是搜索单元10a1中的包括n个自旋位的自旋位串。
寄存器12a1是存储自身自旋位与其他自旋位之间的加权系数W1j(j=1至n)的存储单元。在此,搜索单元10a1中的相对于自旋位的数量n的加权系数的总数为n2。寄存器12a1存储n个加权系数。此外,加权系数Wij的下标i指示自身自旋位的索引,并且加权系数的Wij的下标j指示包括自身自旋位的任何自旋位的索引。
寄存器12a1存储针对自身自旋位的n个加权系数W11、W12......和W1n。Wii=W11=0。寄存器12a1将与从选择器单元13c提供的索引=j相对应的加权系数W1j输出至h计算单元12b1。
h计算单元12b1利用从寄存器12a1提供的加权系数Wlj基于表达式(3)和表达式(4)计算局部字段h1。例如,h计算单元12b1包括保持先前计算的局部字段h1的寄存器,并且通过将h1与对应于由索引=j指示的自旋位的反转方向的δhi (j)进行整合来更新存储在寄存器中的h1。可以将指示由索引=j指示的自旋位的反转方向的信号从选择器单元13c或状态保持单元11a提供给h计算单元12b1。根据问题在h计算单元12b1的寄存器中预先设置h1的值。根据该问题在h计算单元12b1的寄存器中预先设置h1的初始值。此外,h计算单元12b1将所计算的局部字段h1输出至ΔE生成单元12c1和E计算单元14a。
ΔE生成单元12c1使用局部字段h1基于表达式(2)生成与自身自旋位的反转相对应的伊辛模型的能量变化值ΔE1。例如,ΔE生成单元12c1可以根据从状态保持单元11a提供的自身自旋位的当前值来确定自身自旋位的反转方向。在当前值为0时,反转方向为从0到1;并且在当前值为1时,反转方向为从1到0。ΔE生成单元12c1将生成的能量变化值ΔE1输出至加法器13a1。这里,ΔE生成单元12c1可以根据下一阶段在加法器13a1中的加法处理和在状态转变确定电路13b1中的确定处理将通过对能量变化值ΔE1的符号进行反转而获得的能量变化值-ΔE1输出至加法器13a1。在该示例中,ΔE生成单元12c1将-ΔE1输出至加法器13a1作为能量变化值。
加法器13a1将从ΔE生成单元12c1提供的-ΔE1和从偏移控制单元13d提供的偏移值Eoff相加。如稍后将描述的,偏移值Eoff是用于促进状态转变的参数并且由偏移控制单元13d控制。在此示例中,Eoff≥0。Eoff的初始值为0。Eoff可以由稍后描述的偏移控制单元13d逐渐增加。加法器13a1将相加结果(-ΔE1+Eoff)输出至状态转变确定电路13b1。
状态转变确定电路13b1响应于从加法器13a1提供的能量变化值和偏移值Eoff的和(-ΔE1+Eoff),将标志f1输出至选择器单元13c。标志f1指示自身自旋位的反转是否可行。具体而言,状态转变确定电路13b1根据-ΔE1+Eoff与对应于温度的热噪声或热激发能量的比较来确定自身自旋位的反转是否可行。
此处,将描述由状态转变确定电路13b1进行的确定。
在模拟退火中,如上述表达式(5)中那样确定引起一定能量变化ΔE的状态转变的容许概率A(ΔE)。在表达式(5)中,β=1/T是逆温度。通过温度控制单元33在状态转变确定电路13b1中设置温度T。另外,基于Metropolis方法的函数或基于Gibbs方法的函数被用作函数f。
例如,可以通过比较器实现输出指示以容许概率A(ΔE)允许引起能量变化ΔE的状态转变的标志(flg=1)的电路,该比较器输出对应于f(-ΔE/T)与取区间[0,1)的值的均匀随机数u的比较的值。
然而,即使进行如下修改,也可以实现相同的功能。即使相同的单调递增函数作用于两个数字,大小关系也不会改变。因此,即使相同的单调递增函数作用于比较器的两个输入,比较器的输出也不会改变。例如,可以使用f(-ΔE/T)的反函数f-1(-ΔE/T)作为作用于f(-ΔE/T)的单调递增函数,并且可以使用其中f-1(-ΔE/T)的-ΔE/T被设置为u的f-1(u)作为作用于均匀随机数u的单调递增函数。在这种情况下,具有与以上描述的比较器相同功能的电路可以是当-ΔE/T大于f-1(u)时输出1的电路。此外,由于温度参数T为正,所以状态转变确定电路13b1可以是当-ΔE等于或大于T·f-1(u)时(或者当ΔE等于或小于-(T·f-1(u))时)输出flg=1的电路。
状态转变确定电路13b1生成均匀随机数u,并且通过使用用于将生成的均匀随机数u转换成f-1(u)的值的转换表来输出f-1(u)的值。例如,在应用Metropolis方法的情况下,f-1(u)=log(u),并且状态转变确定电路13b1中的确定表达式为表达式(6)。
转换表被存储在状态转变确定电路13bl中包括的寄存器中。状态转变确定电路13b1生成温度参数T与f-1(u)的乘积(T·f-1(u)),并将该乘积与(-ΔE1+Eoff)进行比较。此处,T·f-1(u)对应于热噪声(或热激发能量)。在(-ΔE1+Eoff)≥T·f-1(u)的情况下,状态转变确定电路13b1将标志f1=1(可以转变)输出至选择器单元13c。在(-ΔE1+Eoff)<T·f-1(u)的情况下,状态转变确定电路13b1将标志f1=0(不允许转变)输出至选择器单元13c。
状态转变确定电路13b1可以修改(-ΔE1+Eoff)≥T·f-1(u),并且可以根据评估值与阈值(例如0)的比较来输出指示是否可以转变的标志,该评估值是通过将与温度相对应的噪声值T·f-1(u)和(-ΔE1+Eoff)相加而获得的。
选择器单元13c接收从状态转变确定电路13b1至13bn中的每一个输出的指示是否可以转变的标志。在从状态转变确定电路13b1至13bn输出的标志包括指示可以转变的标志的情况下,选择器单元13c选择任何一个指示可以转变的标志。在从状态转变确定电路13b1至13bn输出的标志不包括指示可以转变的标志的情况下,选择器单元13c选择一个预定标志。
选择器单元13c向状态保持单元11a输出更新信号(update),该更新信号包括指示是否可以转变的标志和指示对应于所选择的标志的自旋位的索引=j。同时,选择器单元13c将所选择的指示是否可以转变的标志输出至偏移控制单元13d,并且将与所选择的标志相对应的索引=j输出至寄存器12a1至12an中的每一个。
偏移控制单元13d基于从选择器单元13c输出的指示是否可以转变的标志来控制要提供给加法器13a1至13an中的每一个的偏移值。具体地,在从选择器单元13c输出的标志指示可以转变的情况下,偏移控制单元13d将偏移值重置为0。在从选择器单元13c输出的标志指示不可以转变的情况下,偏移控制单元13d将增量值ΔEoff与偏移值相加。在标志连续指示不可以转变的情况下,偏移控制单元13d对ΔEoff进行整合以使Eoff增加ΔEoff。
在从选择器单元13c输出的标志指示不可以转变的情况下,考虑当前状态落入局部解。将偏移值与-ΔE1相加或逐渐增加要进行相加的偏移值将使得较容易地允许状态转变,并且在当前状态处于局部解中的情况下,加速从局部解的逃逸。
状态保持单元11a基于从选择器单元13c输出的标志和索引来更新由状态保持单元11a中的寄存器保持的状态(x1,x2,...,xn)。在该标志指示可以转变的情况下,状态保持单元11a将与索引相对应的位的值反转。例如,在标志指示可以转变的情况下,状态保持单元11a不使位值反转。状态保持单元11a将当前状态输出至E计算单元14a。状态保持单元11a将搜索单元10a1中的搜索处理完成时的状态输出至整体控制单元34。
E计算单元14a基于从h计算单元12b1至12bn输出的局部字段h1至hn和从状态保持单元11a输出的状态(x1至xn)来计算搜索单元10a1中的伊辛模型的当前能量值E1。能量值E1是由表达式(1)的评估函数定义的能量值(也简称为能量)。E计算单元14a通过局部字段hi和状态xi的乘积和来计算搜索单元10a1中的能量值E1。当搜索单元10a1中的搜索处理被执行预定次数或搜索单元10a1中的针对预定时段的搜索处理完成时,E计算单元14a将计算出的能量值E1输出至温度调节单元31、副本分组单元32和温度控制单元33。
温度调节单元31基于由搜索单元10a1至10aN执行预定次数的基态搜索的结果来获得新温度值(更新的最大温度值)Tmax_new。即,温度调节单元31接收分别从搜索单元10a1至10aN输出的能量值E1至EN。此外,温度调节单元31从温度控制单元33获取关于在搜索单元10a1至10aN中的每一个中设置的温度的信息。图3示出了在搜索单元10a1中设置温度T1、在搜索单元10a2中设置温度T2......以及在搜索单元10aN中设置温度TN的示例。在一个示例中,温度调节单元31根据能量值E1至EN的变化和在搜索单元10a1至10aN中设置的温度的变化来确定新温度值Tmax_new。温度调节单元31将确定的新温度值Tmax_new输出至温度控制单元33。温度调节单元31可以将确定的新温度值Tmax_new输出至副本分组单元32。
副本分组单元32接收从搜索单元10a1至10aN输出的能量值E1至EN以及与能量值相对应的状态。另外,副本分组单元32接收在搜索单元10a1至10aN中的每一个中设置的温度值。此外,副本分组单元32通过温度控制单元33或从温度调节单元31获取由温度调节单元31确定的新温度值Tmax_new。副本分组单元32基于搜索单元10a1至10aN中的每一个的能量值、状态、温度值和新温度值Tmax_new将搜索单元10a1至10aN划分成多个组。在第二实施方式中,将描述将搜索单元10a1至10aN划分成两个组的情况,但是可以将搜索单元划分成三个组或更多个组。
副本分组单元32将指示属于每个组的搜索单元的信息(分隔符)、要在属于每个组的搜索单元中设置的新温度的信息以及要在属于每个组的搜索单元中设置的新状态的信息提供给温度控制单元33。分隔符是对组进行划分的搜索单元的编号(位于组的边界的搜索单元的编号)。例如,当将搜索单元被划分成两个组时,属于由分隔符指定的编号之前的编号范围的搜索单元组是第一组,并且属于由分隔符指定的编号之后的编号范围的搜索单元组是第二组。在属于每个组的搜索单元中设置的新状态还包括与新状态相对应的局部字段的信息。
温度控制单元33对提供给搜索单元10a1至10aN中的每一个的温度进行控制。温度控制单元33将指示温度的温度信息提供给搜索单元10a1至10aN中的每一个中包括的状态转变确定电路。例如,温度控制单元33基于从副本分组单元32提供的分隔符来指定搜索单元10a1至10aN中的每一个属于哪个组。温度控制单元33针对每个组的搜索单元设置属于各个温度范围的温度值。
另外,温度控制单元33控制搜索单元10a1至10aN中的温度的交换(温度交换)。温度控制单元33基于表达式(7)中的交换概率,确定是否对具有相邻温度的每对搜索单元(两个搜索单元的集合)执行温度交换或状态交换。温度控制单元33将交换后的温度或状态提供给每个搜索单元。在交换状态而不是温度的情况下,温度控制单元33除了交换状态之外还交换局部字段。
例如,温度控制单元33将第一对应信息保持在温度控制单元33中包括的寄存器中,在第一对应信息中,温度标识信息(被称为温度索引或温度编号)与温度相关联。例如,温度索引按温度的升序与温度相关联(随着温度索引越大,温度越高)。此外,温度控制单元33将第二对应信息保持在温度控制单元33中包括的寄存器中,在第二对应信息中,例如,以升序排列的温度索引与搜索单元10a1至10aN的标识号相关联。在这种情况下,与第二对应信息中彼此相邻的温度索引相对应的一对搜索单元具有彼此相邻的设置温度。温度控制单元33基于第一对应信息和第二对应信息来控制搜索单元10a1至10aN的温度交换,并且响应于交换来更新第二对应信息。温度控制单元33基于第一对应信息和第二对应信息向每个搜索单元提供温度。
然而,温度控制单元33可以保持其中搜索单元10a1至10aN中的每一个的标识号与温度值相关联的对应信息,并通过温度值对对应信息进行排序,从而指定一对具有相邻设置温度的搜索单元。
另外,在将搜索单元10a1至10aN划分成多个组的情况下,温度控制单元33保持针对每个组的第一对应信息和第二对应信息,从而针对每个组独立地控制在属于同一组的搜索单元对中的副本交换。
整体控制单元34控制优化装置2的整体操作。当从外部接收到开始信号的输入时,整体控制单元34将开始信号输出至温度控制单元33,启动搜索单元10a1至10aN,并开始针对优化问题的基态搜索的操作。当操作结束时,整体控制单元34从搜索单元10a1至10aN中的每一个获取状态并且获得优化问题的解。例如,整体控制单元34将所获取的状态之中与最低能量相对应的状态设置为解。整体控制单元34将指示操作结束的结束信号输出至外部。结束信号可以包括指示通过操作获得的解的信息。例如,整体控制单元34可以将指示解的图像信息输出至耦接至优化装置2的显示装置,并且将指示解的图像信息显示在显示装置上,以将所获得的解的内容呈现给用户。
另外,当从外部接收到复位信号时,整体控制单元34清除由搜索单元10a1至10aN、温度调节单元31、副本分组单元32和温度控制单元33保持的信息。
接下来,将描述由温度调节单元31确定新温度值(更新的最大温度值)的示例。然而,以下描述的方法是示例,并且温度调节单元31可以通过稍后描述的另一方法来确定新温度值。
例如,温度调节单元31获取温度统计信息,该温度统计信息是关于搜索单元10a1至10aN中的每一个中的温度值的转变的统计信息,并且温度调节单元31基于所获取的温度统计信息确定要在属于多个组中的每个组的搜索单元中设置的更新的最大温度值。
图4是示出改变最低能量的示例的图。
曲线图50描绘了在预定时段内特定搜索单元中最低能量的变化的历史的示例。曲线图60描绘了搜索单元中温度的变化的示例。
曲线图50和60的横轴是时间,并且从左侧到右侧的方向是时间的正方向。曲线图50和曲线图60的横轴上的同一位置指示同一时间。曲线图50的纵轴是能量。曲线图60的纵轴是温度。温度Ta、Tb、Tc和Td指示在曲线图60的纵轴上。此处,Ta>Tb>Tc>Td。
曲线图50包括序列51。根据序列51,最低能量在时间段52和53两个时间段中被更新。
曲线图60包括序列61。根据序列61,搜索单元在时间段52中更新最低能量的时间点与时间段53中更新最低能量的时间点之间达到的最大温度(最高达到的温度)为Ta。
在曲线图50和60的示例中提出,为了更新搜索单元中的最低能量,期望将温度一次增加到最大温度Ta。因此,为了在一定时段内更新最低能量,温度调节单元31获取在每个搜索单元中达到的最大温度作为温度统计信息,并基于该温度统计信息来确定要在每个搜索单元中设置的温度。
图5A和图5B是示出温度直方图和累积直方图的示例的图。
图5A示出温度直方图70。温度直方图70由温度调节单元31基于温度统计信息生成。温度直方图70指示由以下组中的每个搜索单元达到的最大温度的频率:在所述组中,设置了属于从最小温度值Tmin到最大温度值Tmax的温度范围的温度值,以便更新最低能量。温度直方图70的横轴指示温度索引,并且纵轴指示频率。
例如,温度调节单元31将温度直方图70中的与最大频率的温度索引相对应的温度值确定为最大温度值Tmax。具体地,温度调节单元31根据温度直方图70中具有高频率的温度确定新温度值Tmax_new。在一个示例中,温度调节单元31将由峰p1指示的最大频率的温度值确定为新温度值Tmax_new。在关于温度索引创建温度直方图70的情况下,温度调节单元31例如通过参考以上描述的第一对应信息来指定与温度索引相对应的温度值。在这种情况下,例如,认为温度调节单元31可以参考由温度控制单元33保持的以上描述的第一对应信息。
然而,取决于问题,可能不出现如上所描述的峰p1或者可能出现多个峰。在这种情况下,例如,温度调节单元31如下基于温度直方图70使用累积直方图来确定新温度值Tmax_new。
图5B示出了累积直方图80的示例。
累积直方图80是通过以温度的升序累积由温度直方图70指示的频率而获得的直方图。累积直方图80由温度调节单元31生成。累积直方图80的横轴指示温度索引,并且纵轴指示累积频率。
温度调节单元31基于累积直方图的比率(累积比率)α来确定新温度值Tmax_new。例如,作为示例,累积比率被设置为70%(α=0.7)。累积直方图80描绘了指示累积比率α=70%的直线81。在这种情况下,温度调节单元31指定与通过将累积直方图80中的累积频率的最大值与指示累积比率的系数α相乘而获得的累积频率相对应的温度值(与在点p2处的累积频率相对应的温度值),并将指定的温度值确定为新温度值Tmax_new。在该示例中,累积频率的最大值是与温度索引的最大值相对应的累积频率。用作累积比率的系数α可以从外部输入。
如上所描述的,温度调节单元31可以基于作为通过基态搜索获得的信息的温度直方图70或累积直方图80来确定新温度值Tmax_new。
接下来,将描述由副本分组单元32基于由温度调节单元31确定的新温度值Tmax_new来对搜索单元(副本)进行分组的示例。
图6是示出响应于最大温度的更新而对副本进行分组的示例的图。
在操作开始的初始阶段,搜索单元10a1至10aN属于一个组G10。即,N个副本属于组G10。在图6中,组G10的框中的一个矩形指示一个搜索单元(副本)。在初始阶段,最小温度值为T0,并且最大温度值为Tmax。另外,针对特定优化问题的解包括以下所描述的多个优化操作,例如第一次、第二次、第三次......。
优化装置2通过属于组G10的搜索单元10a1至10aN使用副本交换方法执行第一优化操作。
温度调节单元31根据第一优化操作的结果来计算新温度值Tmax_new。例如,温度调节单元31将在特定搜索单元中设置的温度值确定为新温度值Tmax_new。
副本分组单元32基于新温度值Tmax_new将属于组G10的搜索单元10a1至10aN划分成组G21和G22的两个系统。在组G21的每个搜索单元中设置属于从最小温度值T0到最大温度值Tmax_new的温度范围的温度值。在组G22的每个搜索单元中设置属于从最小温度值T0到最大温度值Tmax的温度范围的温度值。属于组G21的搜索单元的数量是NTmax_new。属于组G22的搜索单元的数量为N-NTmax_new。
优化装置2在组G21和G22的两个系统中的每一个中使用副本交换方法执行第二优化操作。
因此,温度调节单元31根据第二优化操作的结果来重新计算新温度值Tmax_new。温度调节单元31将在属于组G22的特定搜索单元中设置的温度值确定为新温度值Tmax_new=Tmax_new2。
副本分组单元32基于新温度值Tmax_new2更新属于组G21和G22的搜索单元的数量和设置温度。组G21被更新之后的组被称为组G31。组G22被更新之后的组被称为组G32。在组G31的每个搜索单元中设置属于从最小温度值T0到最大温度值Tmax_new2的温度范围的温度值。在组G32的每个搜索单元中设置属于从最小温度值T0到最大温度值Tmax的温度范围的温度值。属于组G31的搜索单元的数量是NTmax_new2。属于组G32的搜索单元的数量是N-NTmax_new2。
优化装置2在组G31和G32的两个系统中的每一个中使用副本交换方法执行第三优化操作。
此后,副本分组单元32以类似的方式更新每组中的温度范围和搜索单元的数量(副本的数量),并且重复优化操作。
接下来,将描述执行以上描述的处理的副本分组单元32的电路配置的示例。
图7是示出副本分组单元的电路配置示例的图。
副本分组单元32包括副本数量确定单元321、交换概率计算单元322和副本删除单元323。
副本数量确定单元321基于初始最大温度值Tmax和新温度值Tmax_new通过表达式(10)和表达式(11)来确定属于每个组的搜索单元的数量(每组中的副本的数量),并将确定的搜索单元的数量提供给交换概率计算单元322。
交换概率计算单元322基于从搜索单元10a1至10aN提供的能量值和状态信息通过表达式(7)计算温度值彼此相邻的一对搜索单元中的交换概率,并将计算出的交换概率以及每组中的副本的数量一起提供给副本删除单元323。
副本删除单元323基于由交换概率计算单元322计算的交换概率来选择每个组中的要移交给下一搜索的副本(副本中的温度和状态)。
如上所描述的,副本分组单元32包括计算单元(交换概率计算单元322),该计算单元基于相应的搜索单元10a1至10aN中的能量值和温度值来计算在多个搜索单元之间交换温度值或状态(对应于多个状态变量的值)的交换概率。副本分组单元32(或副本删除单元323)从搜索单元10a1至10aN中的每一个中的温度值和多个状态变量的值中选择要移交给属于多个组中的每个组的搜索单元中的每一个的温度值和多个状态变量的值。基于由温度调节单元31确定的温度值和由交换概率计算单元322计算的交换概率来执行选择。
接下来,将描述通过副本分组单元32选择副本的示例。
图8是示出选择要分配给每个组的副本的示例的图。
当优化装置2开始优化操作时,搜索单元10a1至10aN属于组G10。G10组中的最小温度值为T0。G10组中的最大温度值为Tmax。
温度调节单元31根据第一优化操作的结果来确定新温度值Tmax_new。以下副本的数量为M:在所述副本中设置了属于组G10中的从最小温度值T0到新温度值Tmax_new的温度范围的温度值。此外,以下副本的数量为N:在所述副本中设置了属于组G10中的从最小温度值T0到最大温度值Tmax的温度范围的温度值。
副本数量确定单元321基于最大温度值Tmax和新温度值Tmax_new通过表达式(10)和表达式(11)确定下一优化操作中属于两个组中的每个组的副本的数量。副本数量确定单元321将设置了直到新温度值Tmax_new的温度值的组的副本的数量确定为NTmax_new。副本数量确定单元321将设置了直到最大温度值Tmax的温度值的组的副本的数量确定为NTmax。
交换概率计算单元322针对属于组G10并具有相邻设置温度值的每对副本使用表达式(7)计算交换概率。
副本删除单元323如下基于计算的交换概率选择要分配给每个组的副本。
首先,副本删除单元323创建副本的数量为M的临时组G11和副本的数量为N的临时组G12。组G10中的设置了从最小温度值T0到新温度值Tmax_new的温度值的副本属于临时组G11。因此,临时组G11中的副本的数量为M。组G10中的设置了从最小温度值T0到最大温度值Tmax的温度值的副本属于临时组G12。因此,临时组G12中的副本的数量为N。
副本删除单元323执行副本的第一删除。
副本删除单元323指定在临时组G11中包括的副本对之中的具有最大交换概率的对(被称为交换概率最大对)。副本删除单元323参考指定的交换概率最大对中的两个副本中的每个副本所属的另外两对(被称为相邻对)的交换概率,并指定两个相邻对之中具有较大交换概率的一个相邻对。副本删除单元323从临时组G11中删除属于交换概率最大对和指定的相邻对两者的副本。结果,临时组G11被更新为临时组G11a。临时组G11a中的副本的数量为M-1。
此外,对于临时组G12,副本删除单元323指定在临时组G12中包括的副本对之中的交换概率最大对和两个相邻对。副本删除单元323从临时组G12中删除属于交换概率最大对和具有较大交换概率的相邻对两者的副本。结果,临时组G12被更新为临时组G12a。临时组G12a中的副本的数量为N-1。
然后,副本删除单元323执行副本的第二删除。副本删除单元323以与第一删除相似的方式从临时组G11a和G12a的每一个中选择要删除的一个副本,并从临时组G11a和G12a中删除所选择的副本。结果,临时组G11a被更新为临时组G11b。临时组G11b的副本的数量为M-2。临时组G12a被更新为临时组G12b。临时组G12a的副本的数量为N-2。
副本删除单元323以类似的方式在第三删除和随后的删除中重复从临时组G11b和G12b中的每一个中依次删除一个副本的处理。因此,当对应于新温度值Tmax_new的组中的副本的数量达到NTmax_new时,副本删除单元323结束针对该组的重复。当对应于最大温度Tmax的组中的副本的数量达到NTmax时,副本删除单元323结束针对该组的重复。
以这种方式,选择在每个临时组中保留而未被删除的副本作为要分配给每个组的副本。在这种情况下,与所选择的副本相对应的温度值和状态被移交给下一优化操作的搜索。副本删除单元323将与针对每个组选择的副本相对应的温度值和状态输出至温度控制单元33。
具有相对高交换概率的一对搜索单元中的两个状态倾向于具有彼此近似的能量值。因此,当选择通过疏剪具有相对高的交换概率的一对中的一个状态而获得并随后被移交给下一搜索的状态(和温度值)时,该组中的搜索单元搜索与相对宽的能量宽度相对应的状态,并且可以有效地执行基态搜索。
接下来,将描述优化装置2的处理过程。
图9是示出优化装置的处理示例的流程图。
(S10)整体控制单元34使搜索单元10a1至10aN和温度控制单元33执行副本交换处理。搜索单元10a1至10aN和温度控制单元33在整体控制单元34的控制下使用副本交换方法执行第一优化操作。例如,在搜索单元10a1至10aN和温度控制单元33中通过整体控制单元34设置从外部输入的各种参数的初始值。将在后面描述副本交换处理的细节。
(S11)温度调节单元31基于第一优化结果来计算最大温度(新温度值Tmax_new)。例如,图4和图5中所示的方法可以用作计算方法。副本数量确定单元321根据计算出的最大温度来确定每组中的副本的数量。例如,副本数量确定单元321可以使用表达式(10)和表达式(11)来确定副本的数量。在此,在优化装置2中预先设置组的数量。在该示例中,组的数量是2。
(S12)交换概率计算单元322根据从搜索单元10a1至10aN中的每一个获取的能量值和在每个搜索单元中设置的温度值来计算具有相邻温度值的每对搜索单元的交换概率。在将搜索单元10a1至10aN划分成多个组的情况下,交换概率计算单元322针对每个组计算属于同一组的一对搜索单元的交换概率。
(S13)副本删除单元323基于计算出的交换概率从图8所示的临时组删除一个不会被使用的副本(对应于搜索单元)。例如,作为临时组的源的组是设置了初始温度范围(Tmin至Tmax)的组(在第二次或稍后执行步骤S13的情况下,设置了每个温度范围的组可以用作作为临时组的源的组)。
(S14)副本删除单元323确定每个组中的副本的数量是否下降到在步骤S11中确定的副本的数量。在所有组中的副本的数量都下降到所确定的副本的数量的情况下,处理进行到步骤S15。在存在未下降到所确定的副本的数量的组的情况下,处理进行到步骤S13。在处理进行到步骤S13的情况下,副本删除单元323对副本数量未下降到所确定的副本的数量的临时组执行步骤S13的处理。
(S15)副本删除单元323选择每个组中要使用的温度和状态。具体地,副本删除单元323通过步骤S13和S14的处理针对每个组选择与所选择的(保持而不被删除的)副本相对应的温度和状态,作为要针对属于相对应的组的每个副本设置的新的温度和状态。副本删除单元323将用于将搜索单元10a1至10aN划分成多个组的分隔符输出至温度控制单元33,并且针对每个组将在每个搜索单元中设置的新的温度值和状态(包括局部字段)输出至温度控制单元33。
(S16)温度控制单元33基于从副本删除单元323提供的分隔符将搜索单元10a1至10aN划分成多个组。这里,搜索单元10a1至10aN被划分成第一组和第二组。例如,第一组是与原始最大温度值Tmax相对应的组。另外,第二组是与新温度值Tmax_new相对应的组。
(S17)温度控制单元33将从副本删除单元323提供的每个搜索单元的新的温度和状态分配给每个组中的搜索单元。结果,在每个搜索单元中设置新的温度、状态和局部字段。与状态相对应的能量值通过每个搜索单元中的状态与局部字段的乘积和来计算。
(S18)整体控制单元34使属于第一组的搜索单元和温度控制单元33执行副本交换处理。
(S19)整体控制单元34使属于第二组的搜索单元和温度控制单元33执行副本交换处理。并行执行步骤S18和S19。
(S20)整体控制单元34确定是否执行了定义次数的处理(步骤S11至S19的一系列过程)。在执行了定义次数的处理的情况下,优化装置2的算术运算处理结束。在未执行定义次数的处理的情况下,处理进行到步骤S11。
当算术运算处理结束时,整体控制单元34从搜索单元10a1至10aN中的每一个获取状态并获得优化问题的解。例如,整体控制单元34输出与每个组的搜索单元所达到的最低能量相对应的状态,作为优化问题的解(最优解)。
如上所描述的,副本删除单元323将搜索单元10a1至10aN划分成多个组。多个组包括:第一组,其包括设置了最大温度值Tmax的搜索单元,该最大温度值Tmax是在多个组中设置的温度值的最大值;以及一个或多个第二组,其包括设置了新温度值Tmax_new的搜索单元,该新温度值Tmax_new是更新的最大温度值。
基于通过将搜索单元10a1至10aN的数量与通过将最大温度值的对数值除以最大温度值的对数值与更新的最大温度值的对数值之和而获得的值相乘而获得的值来获得搜索单元10a1至10aN之中的包括在第一组中的搜索单元的数量(表达式(10))。此外,基于通过将搜索单元10a1至10aN的数量与通过将更新的最大温度值的对数值除以最大温度值的对数值与更新的最大温度值的对数值之和而获得的值相乘而获得的值来获得搜索单元10a1至10aN之中的包括在第二组中的搜索单元的数量(表达式(11))。仅对于第一次,可以执行一次步骤S11,并且对于第二次及之后,可以跳过步骤S11(在这种情况下,不更新属于多个组中的每个组的搜索单元的数量)。
另外,重复图9中所示的步骤S11至S19的处理。即,例如,温度调节单元31基于由第一组中包括的搜索单元执行的基态搜索的结果来确定更新的最大温度值。副本分组单元32基于所确定的更新的最大温度值来校正第二组中包括的搜索单元中设置的温度值。因此,增加了针对第二组设置适当的更新的最大温度值的可能性,并且这有助于提高解的准确度。
另外,如图所示,副本分组单元32可以基于新确定的更新的最大温度值来更新在第一组和第二组中包括的搜索单元的数量。通过更新,每个组中包括的搜索单元的数量可能会增加或减少。因此,可以根据问题设置适当的副本的数量和温度范围,并进一步提高解的准确度。
图10是示出副本交换处理的示例的流程图。
副本交换处理对应于步骤S10、S18和S19。下面将描述搜索单元10a1至10aN属于同一组的情况(步骤S10的情况)。然而,在将搜索单元10a1至10aN划分成多个组的情况下,温度控制单元33针对每个组执行如下过程。
(S30)温度控制单元33在搜索单元10a1至10aN中的每一个中设置温度。根据问题等预先确定在搜索单元10a1至10aN中的每一个中设置的温度的初始值。在步骤S17中已经针对每个搜索单元设置了新温度的情况下,可以跳过步骤S30。另外,在处理通过步骤S39至S43进行到步骤S30的情况下,温度控制单元33在搜索单元10a1至10aN中设置交换之后的温度。
(S31)搜索单元10a1至10aN中的每一个针对每个自旋位计算局部字段h。例如,关注搜索单元10a1,h计算单元12b1至12bn计算局部字段h1至hn。基于表达式(3)计算局部字段h。在通过表达式(3)计算局部字段h之后,可以例如通过将由等式(4)表示的差δh和局部字段h相加来获得更新的局部字段h=h+δh。
(S32)搜索单元10a1至10aN中的每一个基于所计算的局部字段h来计算针对每个自旋位的能量变化值ΔE。例如,关注搜索单元10a1,ΔE生成单元12c1至12cn计算能量变化值ΔE1至ΔEn。基于表达式(2)计算ΔE。
(S33)搜索单元10a1至10aN中的每一个将偏移值Eoff与能量变化值-ΔE相加。例如,关注搜索单元10a1,加法器13a1至13an将偏移值Eoff与-ΔE1至-ΔEn相加。如上所描述的,偏移值Eoff由偏移控制单元13d控制。例如,在由选择器单元13c输出的并且指示是否可以转变的标志指示不可以转变的情况下,偏移控制单元13d将大于0的偏移值Eoff提供给加法器13a1至13an。在标志指示可以转变的情况下,偏移控制单元13d将偏移值Eoff=0提供给加法器13a1至13an。偏移值Eoff的初始值为0。
(S34)搜索单元10a1至10aN中的每一个选择自旋位之中的要被反转的自旋位作为反转候选。例如,关注搜索单元10a1,状态转变确定电路13b1至13bn中的每一个将指示与状态转变确定电路相对应的自旋位的转变是否可行的标志输出至选择器单元13c。选择器单元13c选择输入的标志之一,并输出所选择的标志和指示与所选择的标志相对应的自旋位索引。
(S35)搜索单元10a1至10aN中的每一个使所选择的自旋(自旋位)反转。例如,关注搜索单元10a1,状态保持单元11a基于由选择器单元13c输出的标志和索引来更新状态中包括的自旋位之中的由索引指示的自旋位的值。
(S36)搜索单元10a1至10aN中的每一个确定紧接在步骤S30之后执行处理的次数是否已经达到预定的迭代次数或者从基态搜索起已经经过定义的时段。在执行处理的次数已经达到所定义的迭代次数或者已经经过所定义的时段的情况下,处理进行到步骤S37。在执行处理的次数尚未达到所定义的迭代次数或者尚未经过所定义的时段的情况下,处理进行到步骤S31。
(S37)搜索单元10a1至10aN中的每一个计算相对应的搜索单元中的能量值(E1至EN)。
(S38)搜索单元10a1至10aN中的每一个将计算出的能量值传送至温度调节单元31、副本分组单元32和温度控制单元33。
(S39)对于偶数编号的搜索单元,当搜索单元以温度的升序排列时,温度控制单元33基于由表达式(7)表示的交换概率来确定是否将偶数编号的搜索单元的温度与具有较高(较低)温度的相邻的搜索单元的温度交换。针对每对搜索单元执行温度交换的确定。在存在确定要与之交换温度的一对搜索单元的情况下,处理进行到步骤S40。在不存在确定要与之交换温度的一对搜索单元的情况下,处理进行到步骤S41。
(S40)温度控制单元33交换在步骤S39中被确定为交换温度的一对搜索单元中的温度。具体地,温度控制单元33根据温度交换来更新例如由温度控制单元33保持的以上描述的第二对应信息。
(S41)对于奇数编号的搜索单元,当搜索单元以温度的升序排列时,温度控制单元33基于由表达式(7)表示的交换概率来确定是否将奇数编号的搜索单元的温度与具有较高(较低)温度的相邻的搜索单元的温度交换。在温度控制单元33在步骤S39中确定是否将偶数编号的搜索单元的温度与较高温度的搜索单元的温度交换时,温度控制单元33在步骤S41中确定是否将奇数编号的搜索单元的温度与较高温度的搜索单元的温度交换。在温度控制单元33在步骤S39中针对偶数编号的搜索单元确定是否与较低温度的搜索单元交换温度的情况下,温度控制单元33在步骤S41中确定是否将奇数编号的搜索单元的温度与较低温度的搜索单元的温度交换。在存在确定要与之交换温度的一对搜索单元的情况下,处理进行到步骤S42。在不存在确定要与之交换温度的一对搜索单元的情况下,处理进行到步骤S43。
(S42)温度控制单元33交换在步骤S41中被确定为交换温度的一对搜索单元中的温度。具体地,温度控制单元33根据温度交换来更新由温度控制单元33保持的第二对应信息。
(S43)整体控制单元34从搜索单元10a1至10aN中的每一个获取状态,并且确定在最小温度处的搜索单元中的状态是否没有变化指定次数。在最小温度处的搜索单元中的状态没有变化的情况下,副本交换处理结束。在最小温度处的搜索单元中的位状态变化的情况下,整体控制单元34使处理进行到步骤S30并继续基态搜索。
步骤S39至S42的过程可以被认为是由温度控制单元33中包括的交换控制单元执行的处理。此外,如在第一实施方式中所描述的,在优化装置2中,交换控制单元可以与温度控制单元33分开设置。此外,步骤S39和S41中的偶数和奇数的顺序可以颠倒。
如上所描述的,优化装置2可以在更新根据优化结果计算出的最大温度的同时,使用更新的最大温度来继续优化操作。另外,优化装置2通常可以通过使系统离开初始最大温度Tmax来监测随着优化进行而改变的最大温度。因此,在不添加附加硬件(例如,另一个优化装置)的情况下执行监测。另外,优化装置2可以通过调整计算出的最大温度Tmax_new的系统中的温度来高速地搜索解。
更具体地,优化装置2通过在多个组中的每个组中利用副本交换方法执行基态搜索,来使用多个温度范围并行地执行搜索。因此,在特定的组中,可以增加获得适合于目标问题的温度范围和副本的数量的可能性,并且可以提高解的准确度。另外,可以减少到达解的时间。以这种方式,可以提高求解性能。
特别地,优化装置2可以基于与初始温度范围相对应的组中的基态搜索结果来更新其他组中的新温度值Tmax_new和副本的数量。因此,即使当先前确定的Tmax_new的值不合适时,也可以将Tmax_new的值校正为合适的值。因此,在其他组中,可以增加设置适合于目标问题的温度范围的可能性,并且可以提高解的准确度。另外,可以减少到达解的时间。以这种方式,可以提高求解性能。
根据优化装置2,可以在不增加硬件资源的情况下设置适当的温度并获得具有高准确度的解。
[第三实施方式]
接下来描述第三实施方式。将主要描述与以上描述的第二实施方式不同的项,并且将省略共同项的描述。
在第二实施方式中,已经描述了基于交换概率来确定要在每个组的搜索单元中设置的状态和温度值的示例。在第三实施方式中,将描述通过其他方法确定要在每个组的搜索单元中设置的状态和温度值的示例。
第三实施方式中的优化装置2的电路配置类似于图3所示的第二实施方式中的电路配置。然而,第三实施方式中的副本分组单元的电路配置与第二实施方式中的副本分组单元的电路配置不同。将通过使用将搜索单元10a1至10aN划分成两个组的示例来描述第三实施方式,但是可以将搜索单元10a1至10aN划分成三个组或更多个组。
图11是示出第三实施方式中的副本分组单元的电路配置示例的图。
在优化装置2中,设置副本分组单元32a代替副本分组单元32。副本分组单元32a包括副本数量确定单元321、新温度计算单元324和分配单元325。
副本数量确定单元321基于初始最大温度值Tmax和新温度值Tmax_new通过表达式(10)和表达式(11)来确定属于每个组的搜索单元的数量(每组中的副本的数量),并将确定的搜索单元的数量提供给新温度计算单元324。
新温度计算单元324通过表达式(8)和表达式(9)计算要在每个组的搜索单元中设置的新温度。
具体地,新温度计算单元324基于初始最大温度值Tmax计算要在属于与最大温度值Tmax相对应的组的每个搜索单元中设置的温度值(新温度)。即,新温度计算单元324根据从副本数量确定单元321提供的组中的搜索单元的数量和最大温度值Tmax来确定组中的每个搜索单元的温度值,使得组中的搜索单元的温度值在对数轴上具有彼此相等的距离。
此外,新温度计算单元324基于从温度调节单元31或温度控制单元33提供的新温度值Tmax_new计算要在属于与新温度值Tmax_new相对应的组的每个搜索单元中设置的温度值(新温度)。即,新温度计算单元324根据从副本数量确定单元321提供的组中的搜索单元的数量和新温度值Tmax_new来确定组中的每个搜索单元的温度值,使得组中的搜索单元的温度值在对数轴上具有彼此相等的距离。
新温度计算单元324将每个组中的副本的数量和在每个组的搜索单元中设置的温度值(新温度)提供给分配单元325。
分配单元325基于每个组中的副本的数量将关于将搜索单元10a1至10aN划分成多个组的分隔符的信息输出至温度控制单元33。另外,分配单元325将在每个组的搜索单元中设置的新温度和新状态输出至温度控制单元33。这里,温度控制单元33指定当前设置了与新温度最接近的温度值的搜索单元,获取由该搜索单元所保持的状态,并且将所获取的状态设置为要向设置了新温度的搜索单元设置的新状态。设置了与新温度最接近的温度值的搜索单元可以是包括在与作为新温度的设置目的地的搜索单元的组相同的组中的搜索单元,或者可以是包括在不同的组中的搜索单元。
如上所述,副本分组单元32a针对每个组基于由温度调节单元31确定的温度值计算在属于同一组的每个搜索单元中设置的温度值,使得属于同一组的相应的搜索单元中的温度值的自然对数值具有彼此相等的距离。副本分组单元32a基于计算出的温度值以及在搜索单元10a1至10aN中的每一个中设置的温度值,在搜索单元10a1至10aN中的多个状态变量的值之中选择要移交给属于多个组中的每个组的搜索单元的多个状态变量的值。
接下来,将描述使用副本分组单元32a的优化装置2的处理过程。
图12是示出优化装置的处理示例的流程图。
(S50)整体控制单元34使搜索单元10a1至10aN和温度控制单元33执行副本交换处理。搜索单元10a1至10aN和温度控制单元33在整体控制单元34的控制下使用副本交换方法执行第一优化操作。例如,通过整体控制单元34在搜索单元10a1至10aN和温度控制单元33中设置从外部输入的各种参数的初始值。副本交换处理对应于图10中的过程。
(S51)温度调节单元31基于第一优化结果来计算最大温度(新温度值Tmax_new)。例如,图4和图5中所示的方法可以用作计算方法。副本数量确定单元321根据计算出的最大温度来确定每个组中的副本的数量。例如,副本数量确定单元321可以使用表达式(10)和表达式(11)来确定副本的数量。在此,在优化装置2中预先设置组的数量。在该示例中,组的数量是2。
(S52)新温度计算单元324针对每个组通过表达式(8)和表达式(9)根据所计算的最大温度(新温度值Tmax_new)和原始最大温度Tmax来计算每个副本(对应于搜索单元)的新温度。
(S53)分配单元325将原始副本系统(即组)中具有最接近的温度的副本的状态分配给新温度。分配单元325将用于将搜索单元10a1至10aN划分成多个组的分隔符输出至温度控制单元33,并且针对每个组将在每个搜索单元中设置的新温度值和状态(包括局部字段)输出至温度控制单元33。
(S54)温度控制单元33基于从分配单元325提供的分隔符将搜索单元10a1至10aN划分成多个组。这里,搜索单元10a1至10aN被划分成第一组和第二组。例如,第一组是与原始最大温度值Tmax相对应的组。另外,第二组是与新温度值Tmax_new相对应的组。
(S55)温度控制单元33将从分配单元325提供的每个搜索单元的新的温度和状态分配给每个组中的搜索单元。结果,在每个搜索单元中设置新的温度、状态和局部字段。与状态相对应的能量值由每个搜索单元中的状态与局部字段的乘积和来计算。
(S56)整体控制单元34使属于第一组的搜索单元和温度控制单元33执行副本交换处理。
(S57)整体控制单元34使属于第二组的搜索单元和温度控制单元33执行副本交换处理。并行执行步骤S56和S57。步骤S56和S57中的副本交换处理对应于图10中的过程(针对每个组执行图10中的过程)。
(S58)整体控制单元34确定是否执行了定义次数的处理(步骤S51至S57的一系列过程)。在执行了定义次数的处理的情况下,优化装置2的算术运算处理结束。当算术运算处理结束时,优化装置2输出每个搜索单元所达到的最低能量的状态作为解。在未执行定义次数的处理的情况下,处理进行到步骤S51。
如上所述,优化装置2可以通过与确定搜索单元10a1至10aN的初始设置温度的方法相同的方法来计算属于每个组的搜索单元的新温度,使得新温度对数轴上具有彼此相等的距离。
在第二实施方式和第三实施方式中,已经描述了将搜索单元10a1至10aN划分成两个组的示例。搜索单元10a1至10aN可以被划分成三个组或更多个组。例如,考虑优化装置2从外部接收要测试的最大温度的候选的数量m的输入,并且根据候选的数量m来增加划分的组的数量。
在这种情况下,温度调节单元31基于通过基态搜索获得的信息来输出最大温度的多个候选值(m个新温度值){Tmax_new}={T1,T2,...,Tm}。在一个示例中,考虑当m=3时,温度调节单元31可以将图5A和图5B所示的温度直方图70的峰p1的温度值tp以及温度值tp+σ和tp-σ(σ是温度直方图70的标准偏差)设置为最大温度的候选。在这种情况下,副本分组单元32将搜索单元10a1至10aN划分成四个(m+1=3+1=4)组。当搜索单元10a1至10aN的数量被设置为Nmax时,原始最大温度值Tmax和m个新温度值被设置为最大温度的每个组的副本的数量由表达式(12)表示。
[数学式12]
如上所描述的,优化装置2可以将搜索单元10a1至10aN划分成三个组或更多个组。例如,在图9中的步骤S10或图12中的步骤S50紧之前,整体控制单元34可以接收用户输入的候选的数量m,并在副本分组单元32中设置候选的数量m。在这种情况下,在图9的步骤S11或图12的步骤S51中,副本数量确定单元321可以基于设置的候选的数量m和表达式(12)来确定每个组中的副本的数量。
[第四实施方式]
接下来,将描述第四实施方式。将主要描述与以上描述的第二实施方式和第三实施方式不同的项,并且将省略共同项的描述。
在第二实施方式和第三实施方式中,已经描述了其中通过半导体集成电路诸如FPGA来实现优化装置2的示例,但是也可以想到其他硬件配置作为优化装置2。
图13是示出根据第四实施方式的优化装置的硬件示例的图。
优化装置3包括中央处理单元(CPU)301、随机存取存储器(RAM)302、硬盘驱动器(HDD)303、网络接口卡(NIC)304、输出接口(IF)305、输入IF 306、介质读取器307、输入输出单元308和随机搜索单元309。优化装置3的硬件耦接至优化装置3的总线。
CPU 301是执行程序命令的处理器。CPU 301将存储在HDD 303中的程序或数据的至少一部分加载到RAM 302中并执行该程序。CPU 301可以包括多个处理器核。另外,优化装置3可以包括多个处理器。多个处理器的集合可以被称为“多处理器”或简称为“处理器”。例如,CPU 301可以通过对由CPU 301执行的软件(控制程序)的处理来实现温度调节单元31、副本分组单元32和整体控制单元34的功能。此外,温度控制单元33的功能也可以由CPU 301实现。
RAM 302是临时存储由CPU 301执行的程序或由CPU 301用于算术运算的数据的易失性半导体存储器。优化装置3可以包括除RAM以外的类型的存储器,并且可以包括多个存储器。
HDD 303是存储软件程序诸如操作系统(OS)、中间件、应用软件等以及数据的非易失性存储装置。优化装置3可以包括其他类型的存储装置诸如闪存和固态驱动器(SSD),并且可以包括多个非易失性存储装置。
NIC 304是耦接至网络40并经由网络40与其他计算机通信的接口。例如,NIC 304通过线缆耦接至通信装置诸如交换机或路由器。NIC 304可以通过无线链路耦接至网络40。
输出IF 305根据来自CPU 301的命令向耦接至优化装置3的显示器41输出图像。可以使用任何类型的显示器诸如阴极射线管(CRT)显示器、液晶显示器(LCD)、等离子显示器或有机电致发光(OEL)显示器作为显示器41。
输入IF 306从耦接至优化装置3的输入装置42获取输入信号,并将输入信号输出至CPU 301。可以使用定点装置例如鼠标、触摸面板、触摸板或轨迹球、键盘、远程控制单元、按钮开关等作为输入装置42。另外,多种类型的输入装置可以耦接至优化装置3。
介质读取器307是读取存储在记录介质43中的程序或数据的读取装置。例如,可以使用磁盘、光盘、磁光(MO)盘或半导体存储器作为记录介质43。磁盘包括软盘(FD)和HDD。光盘包括致密盘(CD)和数字多功能盘(DVD)。
例如,介质读取器307将从记录介质43读取的程序或数据复制到其他记录介质诸如RAM 302或HDD 303中。例如,所读取的程序由CPU 301执行。记录介质43可以是便携式记录介质,并且在某些情况下用于分发程序和数据。另外,在某些情况下,记录介质43和HDD303可以被称为计算机可读记录介质。
输入输出单元308耦接至随机搜索单元309,并且控制从CPU 301输入至随机搜索单元309的数据以及从随机搜索单元309输出至RAM 302和CPU 301的数据。
随机搜索单元309是加速器,其利用副本交换方法通过硬件执行针对组合优化问题的操作。随机搜索单元309包括搜索单元10a1至10aN和温度控制单元33,并且根据图9和图10(或图12和图10)中的上述过程来执行搜索伊辛模型的基态的随机搜索。
利用优化装置3,可以实现与优化装置2的功能相似的功能。
图14是示出优化装置的功能示例的图。
CPU 301通过执行存储在RAM 302中的程序来呈现副本分组单元32b的功能。
副本分组单元32b对应于以上描述的副本分组单元32或副本分组单元32a。副本分组单元32b通过输入输出单元308从随机搜索单元309获取每个搜索单元的温度、能量和状态。因此,副本分组单元32b通过类似于副本分组单元32或副本分组单元32a的方法确定属于每个组的搜索单元的数量、要在搜索单元中设置的温度值以及状态。副本分组单元32b通过输入输出单元308将用于将随机搜索单元309中的多个搜索单元划分成多个组的分隔符以及在每个组的搜索单元中设置的新温度和新状态输出至随机搜索单元309。
如上所述,副本分组单元32b的功能可以由CPU 101实现。根据优化装置3,可以如优化装置2中那样提高解的准确度。
在第二实施方式至第四实施方式中,已经描述了在温度调节单元31中经由通过基态搜索而获得的温度直方图70或累积直方图80获得新温度值Tmax_new的示例(图5A和图5B),但是可以使用其他温度调节方法。例如,可以考虑如下的温度调节方法。
图15是示出温度调节方法的另一示例的图。
温度调节单元31从搜索单元10a1至10aN获取多个局部解,作为第一优化操作结果。温度调节单元31以相对应的能量值的升序(或降序)对多个局部解进行排序。从具有较大能量的局部解到具有较小能量的局部解,温度调节单元31获得与在将自旋位改变一位的处理中获得的多个状态中的每一个相对应的每个能量值的增加值。因此,温度调节单元31基于能量值的增加值之中的最大增加值Dmax(将局部解彼此分离的最大能量势垒)通过表达式(13)来计算新温度值Tmax_new。
[数学式13]
这里,在温度调节单元31中将表达式(13)中的转变容许概率A预先设置为允许能量变化ΔE=Dmax的状态转变的概率。温度调节单元31以类似的方式根据与第二最大温度值和随后的最大温度值Tmax相对应的组的优化操作结果重新计算新温度值Tmax_new。
例如,温度调节单元31从搜索单元10a1至10aN获取局部解X1、X2......以及与相应的局部解相对应的能量值作为第一优化操作结果。局部解X由n个自旋位表示。另外,关于局部解X1、X2......,假设E(X1)是相对于E(X2)的第二大。
例如,假设局部解X1与局部解X2之间的不同位的数量是5。通过从局部解X1提取与局部解X2不同的位而获得的位集合由X1'表示。通过从局部解X2提取与局部解X1不同的位而获得的位集合由X2'表示。作为示例,考虑X1'=“00110”并且X2'=“11001”的情况。位集合X1'和X2'中相同数字的位是局部解X1和X2中相同数字的位。
序列90示出了与通过将对应于局部解X1和X2的状态变量改变一位而获得的多个状态变量相对应的能量值的增加值之中的最大增加值Dmax。例如,温度调节单元31将与局部解X2的位不同的局部解X1的位改变一位,以模拟从局部解X1到局部解X2的转变。温度调节单元31基于表达式(2)和表达式(3)来计算当能量相对于每个位的变化改变一位时的能量变化ΔE。
在序列90的示例中,由于局部解X1与X2之间的不同位的数量为5,因此温度调节单元31在该处理中将位改变五次并获得5个ΔE。此时,温度调节单元31可以通过贪婪算法(greedy algorithm)或随机地选择接下来要改变的位。在贪婪方法中,温度调节单元31在要成为改变候选的位之中选择具有最小ΔE的位。
例如,温度调节单元31依次将X1'=“00110”改变一位以获得位集合“01110”、“01100”、“11100”“11101”和X2'=“11001”。在位集合的表示中,省略了局部解X1中的除X1'以外的位的表示和局部解X2中的除X2'以外的位的表示。温度调节单元31针对每个位改变计算ΔE。假设在示例性的位改变之中,当位集合从“11100”改变为“11101”时的ΔE是序列90中的最大增加值Dmax。对于序列90,温度调节单元31通过表达式(13)利用max(ΔE)=Dmax来计算新温度值Tmax_new。
当Tmax_new等于或小于0时(即,在Dmax≤0的情况下),温度调节单元31不更新新温度值Tmax_new。
当提供两个局部解X1和X2时,温度调节单元31可以根据局部解X1和X2获得新温度值Tmax_new。在局部解的数量为三个或更多的情况下,温度调节单元31针对第一局部解和在第一局部解之后具有次最大能量的第二局部解模拟从第二局部解到第一局部解的转变,并获得在转变处理中的最大ΔE(最大能量增加值)。因此,温度调节单元31关于从第二局部解到第一局部解的转变计算Tmax_new的候选值。温度调节单元31将针对两个局部解的每个集合以这种方式获得的Tmax_new的候选值之中的最大值确定为新温度值Tmax_new。温度调节单元31可以将针对两个局部解的每个集合获得的Tmax_new的候选值的平均值确定为新温度值Tmax_new。
如上所述,温度调节单元31可以获取多个局部解或通过追踪局部解之间的状态转变而获得的最大能量增加值作为通过基态搜索获得的信息,并且温度调节单元可以基于所获取的信息来计算新温度值Tmax_new。
第一实施方式中的优化装置1的每个部件可以由电子电路实现。因此,优化装置1的搜索单元1a1至1aN和控制单元20可以分别被称为搜索电路和控制电路。状态保持单元11、能量计算单元12和转变控制单元13可以分别被称为状态保持电路、能量计算电路和转变控制电路。温度调节单元21、选择单元22、温度控制单元23和交换控制单元24可以分别被称为温度调节电路、选择电路、温度控制电路和交换控制电路。
另外,第二实施方式和第三实施方式中的优化装置2的每个部件也可以由电子电路实现。因此,优化装置2的部件可以被称为状态保持电路、h计算电路、ΔE生成电路、选择器电路、ΔE计算电路、温度调节电路、副本分组电路、温度控制电路、交换控制电路和整体控制电路。
Claims (8)
1.一种优化装置,包括:
多个搜索单元;以及
控制单元,其控制所述多个搜索单元,
其中,所述多个搜索单元中的每个搜索单元包括:
状态保持单元,其被配置成保持在表示能量值的评估函数中包括的多个状态变量的值中的每个值,
能量计算单元,其被配置成计算在所述多个状态变量的值中的任何值改变的情况下产生的所述能量值的变化值,以及
转变控制单元,其被配置成基于设置温度值、所述能量值的所述变化值和随机数值,通过所述变化值与热激发能量之间的相对关系来随机地确定是否接受状态转变,
所述控制单元包括:
温度调节单元,其被配置成基于通过所述多个搜索单元中的基态搜索而获得的信息来确定更新的最大温度值,
选择单元,其被配置成基于所确定的更新的最大温度值将所述多个搜索单元划分成包括至少第一组和第二组的多个组,
温度控制单元,其被配置成在属于所述多个组中的每个组的搜索单元中设置温度值,以及
交换控制单元,其被配置成在所述能量值的所述基态搜索被执行重复次数之后或在从所述能量值的所述基态搜索起已经经过预定时段之后,在属于同一组的搜索单元之间交换温度值或所述多个状态变量的值,
所述温度调节单元基于由所述第一组中包括的搜索单元执行的所述基态搜索的结果来确定更新的最大温度值,以及
所述选择单元基于所确定的更新的最大温度值来确定在所述第二组中包括的搜索单元中设置的温度值。
2.根据权利要求1所述的优化装置,
其中,所述第一组包括设置了最大温度值的搜索单元,所述最大温度值是在所述多个搜索单元中设置的温度值之中的最大值,以及
所述第二组包括设置了所述更新的最大温度值的搜索单元。
3.根据权利要求2所述的优化装置,
其中,所述多个搜索单元之中的包括在所述第一组中的搜索单元的数量基于通过将通过使所述最大温度值的对数值除以所述最大温度值的对数值与所述更新的最大温度值的对数值之和而获得的值与所述多个搜索单元的数量相乘而获得的值来获得,以及
所述多个搜索单元之中的包括在所述第二组中的搜索单元的数量基于通过将通过使所述更新的最大温度值的对数值除以所述最大温度值的对数值与所述更新的最大温度值的对数值之和而获得的值与所述多个搜索单元的数量相乘而获得的值来获得。
4.根据权利要求2或3所述的优化装置,
其中,所述更新的最大温度值基于由所述多个搜索单元执行预定次数的所述基态搜索而获得的结果来获得。
5.根据权利要求1至3中的任一项所述的优化装置,还包括:
计算单元,其被配置成基于所述多个搜索单元中的每个搜索单元中的所述能量值和温度值来计算用于在所述多个搜索单元之间交换温度值或所述多个状态变量的值的交换概率,
其中,所述选择单元基于由所述温度调节单元确定的温度值和由所述计算单元计算的所述交换概率,在所述多个搜索单元中的温度值和所述多个状态变量的值之中选择要移交给属于所述多个组中的每个组的每个搜索单元的温度值和所述多个状态变量的值。
6.根据权利要求1至3中的任一项所述的优化装置,
其中,所述选择单元进行以下操作:
针对每个组基于由所述温度调节单元确定的温度值计算在属于同一组的每个搜索单元中设置的温度值,使得属于同一组的相应的搜索单元中的温度值的自然对数值具有相等的距离,以及
基于所计算的温度值和在所述多个搜索单元中的每个搜索单元中设置的温度值,在所述多个搜索单元中的所述多个状态变量的值之中选择要移交给属于所述多个组中的每个组的每个搜索单元的所述多个状态变量的值。
7.根据权利要求1至3中的任一项所述的优化装置,
其中,所述温度调节单元被配置成获取温度统计信息,所述温度统计信息是关于在所述多个搜索单元中的每个搜索单元中的温度值的转变的统计信息,并且所述温度调节单元被配置成基于所获取的温度统计信息来确定所述更新的最大温度值,所述更新的最大温度值是更新之后的最大温度值并且被设置在属于所述多个组中的每个组的搜索单元中。
8.一种优化装置的控制方法,所述优化装置包括多个搜索单元和控制所述多个搜索单元的控制单元,所述控制方法包括:
通过在所述多个搜索单元中的每个搜索单元中包括的状态保持单元保持在表示能量值的评估函数中包括的多个状态变量的值中的每个值;
通过在所述多个搜索单元中的每个搜索单元中包括的能量计算单元计算在所述多个状态变量的值中的任何值改变的情况下产生的所述能量值的变化值;
通过在所述多个搜索单元中的每个搜索单元中包括的转变控制单元,基于设置温度值、所述能量值的所述变化值和随机数值通过所述变化值与热激发能量之间的相对关系来随机地确定是否接受状态转变;
通过所述控制单元中包括的温度调节单元基于通过所述多个搜索单元中的基态搜索而获得的信息来确定更新的最大温度值;
通过所述控制单元中包括的选择单元基于所确定的更新的最大温度值将所述多个搜索单元划分成包括至少第一组和第二组的多个组;
通过所述控制单元中包括的温度控制单元在属于所述多个组中的每个组的搜索单元中设置温度值;
通过所述控制单元中包括的交换控制单元在所述能量值的所述基态搜索被执行重复次数之后或在从所述能量值的所述基态搜索起已经经过预定时段之后,在属于同一组的搜索单元之间交换温度值或所述多个状态变量的值;
通过所述温度调节单元基于由所述第一组中包括的搜索单元执行的所述基态搜索的结果来确定更新的最大温度值;以及
通过所述选择单元基于所确定的更新的最大温度值来确定在所述第二组中包括的搜索单元中设置的温度值。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019148763A JP7248907B2 (ja) | 2019-08-14 | 2019-08-14 | 最適化装置および最適化装置の制御方法 |
JP2019-148763 | 2019-08-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112394756A CN112394756A (zh) | 2021-02-23 |
CN112394756B true CN112394756B (zh) | 2021-11-30 |
Family
ID=71738063
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010795868.0A Active CN112394756B (zh) | 2019-08-14 | 2020-08-10 | 优化装置和优化装置的控制方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11631006B2 (zh) |
EP (1) | EP3779616B1 (zh) |
JP (1) | JP7248907B2 (zh) |
CN (1) | CN112394756B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7206476B2 (ja) * | 2018-09-14 | 2023-01-18 | 富士通株式会社 | 最適化装置、最適化装置の制御方法及び最適化装置の制御プログラム |
JP7248907B2 (ja) * | 2019-08-14 | 2023-03-30 | 富士通株式会社 | 最適化装置および最適化装置の制御方法 |
JP2023001644A (ja) * | 2021-06-21 | 2023-01-06 | 富士通株式会社 | データ処理装置、プログラム及びデータ処理方法 |
JP2023041098A (ja) * | 2021-09-13 | 2023-03-24 | 富士通株式会社 | データ処理装置、データ処理方法およびプログラム |
JP2023122981A (ja) | 2022-02-24 | 2023-09-05 | 富士通株式会社 | プログラム、データ処理装置及びデータ処理方法 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4858147A (en) * | 1987-06-15 | 1989-08-15 | Unisys Corporation | Special purpose neurocomputer system for solving optimization problems |
EP0410000A4 (en) * | 1989-02-10 | 1993-09-01 | Hitachi, Ltd. | Data processing unit for obtaining solution for optimal combination solution and method thereof |
JPH0619507A (ja) * | 1992-06-30 | 1994-01-28 | Nec Corp | 組み合せ最適化問題解決方式 |
JPH09231197A (ja) | 1996-02-22 | 1997-09-05 | Fujitsu Ltd | 温度並列シミュレーティド・アニーリング用恒温槽装置及び温度並列シミュレーティド・アニーリング方法 |
JPH11261702A (ja) * | 1998-03-06 | 1999-09-24 | Fujitsu Ltd | 負荷予測によるシステム最適化制御装置 |
JP2003223322A (ja) * | 2002-01-30 | 2003-08-08 | Mitsubishi Electric Corp | 組合せ最適化問題の解析装置 |
WO2014192153A1 (ja) * | 2013-05-31 | 2014-12-04 | 株式会社日立製作所 | 半導体装置 |
WO2015087466A1 (ja) | 2013-12-10 | 2015-06-18 | 株式会社Joled | 薄膜トランジスタ基板及び薄膜トランジスタ基板の製造方法 |
CN104056498B (zh) * | 2014-05-14 | 2016-08-24 | 河南龙成煤高效技术应用有限公司 | 一种高焦油高粉尘的高温气体的除尘工艺 |
JP6468254B2 (ja) | 2016-07-01 | 2019-02-13 | 富士通株式会社 | 情報処理装置、イジング装置及び情報処理装置の制御方法 |
JP6465092B2 (ja) * | 2016-10-14 | 2019-02-06 | 富士通株式会社 | 最適化装置及び最適化装置の制御方法 |
JP6841722B2 (ja) * | 2017-06-06 | 2021-03-10 | 株式会社日立製作所 | 情報処理装置 |
CN107332240B (zh) * | 2017-08-17 | 2019-12-17 | 东北电力大学 | 基于优化模型的电力系统静态电压稳定域边界搜索的方法 |
JP6979331B2 (ja) * | 2017-10-30 | 2021-12-15 | 株式会社日立製作所 | 情報処理装置および情報処理方法 |
JP6993571B2 (ja) * | 2018-01-17 | 2022-01-13 | 富士通株式会社 | 最適化装置及び最適化装置の制御方法 |
JP6465223B1 (ja) * | 2018-02-01 | 2019-02-06 | 富士通株式会社 | 最適化装置及び最適化装置の制御方法 |
JP6465231B1 (ja) * | 2018-03-12 | 2019-02-06 | 富士通株式会社 | 最適化装置及び最適化装置の制御方法 |
JP7007585B2 (ja) * | 2018-03-16 | 2022-01-24 | 富士通株式会社 | 最適化装置、最適化装置の制御方法及び最適化装置の制御プログラム |
US11182157B2 (en) * | 2018-05-08 | 2021-11-23 | Hitachi, Ltd. | Information processing device, arithmetic device, and information processing method |
CN109190988B (zh) * | 2018-09-11 | 2021-10-22 | 浙江大学 | 一种实现温控负荷最优协同的需求侧响应博弈方法 |
JP7206476B2 (ja) * | 2018-09-14 | 2023-01-18 | 富士通株式会社 | 最適化装置、最適化装置の制御方法及び最適化装置の制御プログラム |
JP7108185B2 (ja) * | 2018-11-22 | 2022-07-28 | 富士通株式会社 | 最適化装置および最適化装置の制御方法 |
JP7248907B2 (ja) * | 2019-08-14 | 2023-03-30 | 富士通株式会社 | 最適化装置および最適化装置の制御方法 |
-
2019
- 2019-08-14 JP JP2019148763A patent/JP7248907B2/ja active Active
-
2020
- 2020-07-21 EP EP20186937.7A patent/EP3779616B1/en active Active
- 2020-07-24 US US16/937,643 patent/US11631006B2/en active Active
- 2020-08-10 CN CN202010795868.0A patent/CN112394756B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
US11631006B2 (en) | 2023-04-18 |
US20210049475A1 (en) | 2021-02-18 |
JP2021033341A (ja) | 2021-03-01 |
JP7248907B2 (ja) | 2023-03-30 |
EP3779616A1 (en) | 2021-02-17 |
EP3779616B1 (en) | 2021-10-20 |
CN112394756A (zh) | 2021-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112394756B (zh) | 优化装置和优化装置的控制方法 | |
Shahvari et al. | Hybrid flow shop batching and scheduling with a bi-criteria objective | |
CN111210046B (zh) | 优化装置及优化装置的控制方法 | |
US20230131088A1 (en) | Optimization apparatus and control method thereof | |
TWI433035B (zh) | 按比例調整指令間隔以識別用於代表性指令追蹤的收集點 | |
JP7007585B2 (ja) | 最適化装置、最適化装置の制御方法及び最適化装置の制御プログラム | |
EP3786815A1 (en) | Combinatorial optimization apparatus, combinatorial optimization method, and combinatorial optimization program | |
Behnamian et al. | A multi-phase covering Pareto-optimal front method to multi-objective parallel machine scheduling | |
US11468287B2 (en) | Information processing system, information processing apparatus, and information processing method | |
CN113342403A (zh) | 信息处理方法、信息处理系统和计算机可读记录介质 | |
CN111930007B (zh) | 优化装置和控制优化装置的方法 | |
US11562210B2 (en) | Stochastically determining to accept a state transition for an optimization device | |
Bezáková et al. | Graph model selection using maximum likelihood | |
CN113850364A (zh) | 非暂态计算机可读记录介质、学习方法和信息处理设备 | |
JP2020064535A (ja) | 最適化装置及び最適化装置の制御方法 | |
US20210334332A1 (en) | Information processing apparatus, information processing method, and non-transitory computer-readable storage medium for storing program | |
CN113128663A (zh) | 优化装置、温度设置方法和温度设置程序 | |
JP7256378B2 (ja) | 最適化システムおよび最適化システムの制御方法 | |
JP2021197108A (ja) | 学習プログラム、学習方法および情報処理装置 | |
Joshi et al. | Empirical and analytical study of many-objective optimization problems: analysing distribution of nondominated solutions and population size for scalability of randomized heuristics | |
CN115345303A (zh) | 卷积神经网络权重调优方法、装置、存储介质和电子设备 | |
CN116010754A (zh) | 存储程序的计算机可读记录介质、数据处理方法和设备 | |
CN111191827A (zh) | 一种数据波动趋势的预测方法及装置 | |
US20240111833A1 (en) | Data processing apparatus and data processing method | |
Tschöpe | Beyond SGD: Recent Improvements of Gradient Descent Methods |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |