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

最优化问题的最优解运算装置和最优化问题的最优解运算方法与流程

2023-02-10 21:19:30 来源:中国专利 TAG:


1.本技术涉及最优化问题的最优解运算装置和最优化问题的最优解运算方法。


背景技术:

2.执行产品的设计,以使得最优的形状、配置等达到最优。控制方法的设计构筑最优的工序,以使得控制对象能以预先设定的精度进行控制。因此,产品的设计、控制方法的设计可以说是解决最优化问题的作业。专利文献1中公开了解决最优化问题的装置和方法,即作为最优化问题的最优解运算装置和最优化问题的最优解运算方法的一个示例的构造物的构造最优设计方法和构造最优设计装置。专利文献1的构造最优设计方法是解决双重构造最优化的问题的方法,是在设计变量矢量的最优化问题的每个迭代步骤中解决状态变量矢量的最优化问题的方法。专利文献1的构造最优设计装置具有解决针对状态变量矢量和设计变量矢量的第1评价泛函数的最优化问题的第1求解单元、以及解决针对该状态变量矢量和该设计变量矢量的第2评价泛函数的最优化问题的第2求解单元,是解决作为双重化问题被公式化的构造最优设计问题的装置。
3.专利文献1的构造最优设计装置中,第2求解单元的第2评价泛函数由残差矢量的范数构成,确认残差矢量的范数的平方小于预先设定的收敛判定阈值,以判定第2评价泛函数的最优化问题运算的收敛判定。现有技术文献专利文献
4.专利文献1:日本专利特开2004-310375号公报


技术实现要素:

发明所要解决的技术问题
5.专利文献1那样的最优化问题的最优解运算装置中,通过残差范数与预先设定的收敛判定阈值的大小来进行收敛判定。然而,由于运算时的舍入误差等引起的残差矢量中所包含的运算误差的影响,存在如下问题:不满足收敛判定阈值,即使重复进行迭代运算,有时也无法得到收敛的解。
6.本技术说明书所公开的技术的目的在于,在残差矢量中所包含的运算误差影响解的运算的状态下,得到收敛的解。用于解决技术问题的技术手段
7.本技术说明书中所公开的一个示例的最优化问题的最优解运算装置是经由更新部所进行的处理来运算针对所输入的最优化问题的解的最优化问题的最优解运算装置。最优化问题的最优解运算装置包括:初始条件生成部,该初始条件生成部获取与最优化问题有关的不等式约束的集合即不等式约束集合、评价函数、初始解以作为输入,基于初始解来生成满足所有不等式约束集合的不等式约束的可执行初始解,对于可执行初始解,从不等
式约束集合生成等号成立的等式约束的集合即等式约束集合;最优化运算部,该最优化运算部对于初次的情况下为可执行初始解、且下一次以后的情况下为由更新部更新后的解即输入解,进行由等式约束集合和评价函数生成的联立一阶方程式的求解运算,并运算使评价函数最小化或最大化的解即评价解;以及更新部,该更新部判定由最优化运算部输出的评价解,并且生成从等式约束集合中对评价解应当满足的约束进行更新而被更新后的等式约束集合、以及基于上一次的输入解和评价解而被更新后的输入解。最优化运算部包括:初始范数计算部,该初始范数计算部根据针对输入解的联立一阶方程式左边的矢量与联立一阶方程式右边的矢量之差即初始残差矢量来计算初始残差范数;迭代解运算部,该迭代解运算部执行迭代法,运算联立一阶方程式的每个迭代次数的解即迭代解;范数计算部,该范数计算部根据针对由迭代解运算部运算出的迭代解的联立一阶方程式左边的矢量与联立一阶方程式右边的矢量之差即残差矢量来计算残差范数;以及收敛判定部,该收敛判定部在残差范数变为收敛判定阈值以下的情况下判定为迭代解收敛,并将判定为收敛的迭代解作为评价解来输出,其中,上述收敛判定阈值是预先设定的第一阈值、与基于缓和参数和初始残差范数设定的第二阈值中的任一个、且为较大的一方。更新部判定为不需要等式约束集合的更新,并且在收敛判定阈值为第一阈值的情况下将评价解决定为最优解,将最优解作为针对最优化问题的解即输出解来输出。发明效果
8.本技术说明书中所公开的一个示例的最优化问题的最优解运算装置在残差范数变为收敛判定阈值以下的情况下判定为迭代解收敛,并将判定为收敛的迭代解作为评价解来输出,其中,上述收敛判定阈值是收敛判定部预先设定的第一阈值、与基于缓和参数和初始残差范数设定的第二阈值中的任一个、且为较大的一方,更新部判定为不需要等式约束集合的更新,并且在收敛判定阈值为第一阈值的情况下将评价解决定为最优解,因此,在残差矢量中所包含的运算误差影响解的运算的状况下能得到收敛的解。
附图说明
9.图1是示出实施方式1所涉及的最优化问题的最优解运算装置中的功能块的图。图2是示出实施方式1所涉及的最优化问题的最优解运算装置的硬件结构例的图。图3是示出图1的评价解运算部的功能块的图。图4是示出图1的最优化问题的最优解运算装置的动作流程的图。图5是示出图1的初始条件生成部的动作流程的图。图6是示出图1的最优化运算部的动作流程的图。图7是示出图3的评价解运算部的动作流程的图。图8是示出图1的更新部中的动作流程的第一示例的图。图9是示出图1的更新部中的动作流程的第二示例的图。图10是示出图1的更新部中的动作流程的第三示例的图。图11是示出实施方式2所涉及的最优化问题的最优解运算装置中的功能块的第一示例的图。图12是示出实施方式2所涉及的最优化问题的最优解运算装置中的功能块的第二示例的图。
具体实施方式
10.实施方式1.图1是示出实施方式1所涉及的最优化问题的最优解运算装置中的功能块的图,图2是示出实施方式1所涉及的最优化问题的最优解运算装置的硬件结构例的图。图3是示出图1的评价解运算部的功能块的图。图4是示出图1的最优化问题的最优解运算装置的动作流程的图,图5是示出图1的初始条件生成部的动作流程的图,图6是示出图1的最优化运算部的动作流程的图。图7是示出图3的评价解运算部的动作流程的图,图8是示出图1的更新部中的动作流程的第一示例的图。图9是示出图1的更新部中的动作流程的第二示例的图,图10是示出图1的更新部中的动作流程的第三示例的图。实施方式1所涉及的最优化问题的最优解运算装置81通过需要解决最优化问题的装置中所内置的控制单元来实现。例如,在解决使车辆跟随目标路径的最优化问题的情况下、解决使燃油费最优化的问题的情况下等解决与车辆有关的最优化问题时,安装在搭载于车辆的控制单元中。在解决使工厂的运行最优化的最优化问题的情况下,安装在搭载于工厂的管制装置的控制单元中。由此,本技术说明书所公开的一个示例的最优化问题的最优解运算装置81是在最优化问题的对象不受限制、且给出各种最优化问题的情况下运算该最优化问题的解的装置。
11.图2中示出最优化问题的最优解运算装置81的硬件结构例。最优化问题的最优解运算装置81包括:接口82,该接口82用于获取各种最优化问题,并且将获取到的最优化问题的运算结果输出;处理器83,该处理器83运算最优化问题的最优解;以及存储器84,该存储器84存储解决最优化问题的程序、运算数据等。最优化问题的最优解运算装置81的功能块由处理器83执行存储器84中所存储的程序来实现。此外,也可以由多个处理器83和多个存储器84协同地执行各功能。
12.使用图1、图4,对实施方式1所涉及的最优化问题的最优解运算装置81的功能块和动作流程进行说明。以下,对于使评价函数j最小化的最优化问题的最优解的运算进行说明。将最优化问题的最优解运算装置适当地简称为最优解运算装置。另外,在使评价函数j最大化的最优化问题的最优解的运算的情况下,通过对评价函数j乘以-1使符号反转,从而能作为使评价函数j最小化的最优化问题来处理。最优解运算装置81包括初始条件生成部100、最优化运算部200、更新部300。初始条件生成部100通过最优化运算部200的迭代运算,对于所给出的最优化问题、即所输入的最优化问题,生成包含用于运算最优化问题的解的初始条件在内的输入数据。最优化运算部200基于包含初始条件生成部100所生成的初始条件的输入数据或包含由更新部300更新后的更新条件的输入数据,来运算收敛的解或未发散的解、即评价解y。评价解y是至少没有发散的解,也包含虽然趋向收敛但迭代解运算次数达到上限值的值。
13.在存在最优化运算部200运算出的评价解y应当满足的条件的情况下,更新部300再次更新最优化运算部200用于运算的输入数据,在评价解y满足判定条件的情况下输出包含最优解wg1或准最优解wg2在内的输出解wa。最优解wg1是满足预先设定的解的第一允许误差的解,准最优解wg2是满足比第一允许误差要宽松的预先设定的解的第二允许误差的解。输入到最优化运算部200的输入数据是解wk、等式约束集合s2k。初始条件生成部100所生成的输入数据是可执行的初始解w0、初始的等式约束集合s2。将包含初始条件生成部100所生成的初始条件在内的输入数据适当地简称为地简称为更新输入数据。可执行初始解w0、
初始的等式约束集合s2作为初始输入数据被输入到最优化运算部200。在第2次以后的运算时,解wk、等式约束集合s2k作为更新输入数据被输入到最优化运算部200。
14.最优解运算装置81执行步骤st1的初始条件生成勾股形、步骤st2的最优化运算工序、步骤st3的更新工序。在步骤st1中,最优解运算装置81对于所给出的最优化问题,利用初始条件生成部100生成初始输入数据、即可执行初始解w0、初始的等式约束集合s2(初始条件生成工序)。在步骤st2中,最优解运算装置81基于由初始条件生成工序所生成的初始输入数据或由步骤st3的更新工序更新后的更新输入数据、即解wk、等式约束集合s2k,来运算至少未发散的评价解y(最优化运算工序)。在步骤st3中,在存在最优化运算工序运算出的评价解y应当满足的条件的情况下,最优解运算装置81再次更新最优化工序的运算中使用的输入数据,在评价解y满足判定条件的情况下输出包含最优解wg1或准最优解wg2在内的输出解wa(更新工序)。
15.初始条件生成部100经由接口82,获取式(1)所表示的最优化问题的评价函数j、式(2)所表示的不等式约束的集合即不等式约束集合s1以及初始解w
0in
,以作为最优化问题的输入。不等式约束集合s1、评价函数j、初始解w
0in
是与最优化问题有关的输入条件。式(1)中,w是解矢量,w
t
是转置后的解矢量。h是第一条件矩阵,h
t
是调整行矩阵。c
t
是约束矩阵,b是约束矢量。式(2)作为上限约束示出,但也可以包含下限约束。在下限约束的情况下,对约束式的两边乘以-1来使符号反转,从而可以如式(2)那样作为上限约束来处理。
16.[数学式1][数学式2]c
t
w≤b

(2)
[0017]
使用图1、图5,对初始条件生成部100的功能块和动作流程进行说明。初始条件生成部100包括生成可执行初始解w0的初始解生成部11、以及从不等式约束集合s1生成等式约束集合s2的等式约束集合生成部12。初始条件生成部100执行步骤st11的初始解生成工序、步骤st12的等式约束集合生成工序。步骤st11的初始解生成工序由初始解生成部11来执行,步骤st12的等式约束集合生成工序由等式约束集合生成部12来执行。步骤st11中,初始解生成部11进行可执行初始解w0的生成(初始解生成工序)。在输入到初始条件生成部100的初始解w
0in
满足不等式约束集合s1的情况下,初始解生成部11将所输入的初始解w
0in
设为可执行初始解w0。在是不满足不等式约束集合s1、无法执行的解的情况下,初始解生成部11生成满足不等式约束集合s1的可执行初始解w0。
[0018]
步骤st12中,等式约束集合生成部12对于可执行初始解w0,仅提取不等式约束集合s1中等号成立的约束,并如式(3)那样生成等式约束的集合即等式约束集合s2(等式约束集合生成工序)。[数学式3]式(3)的右边b是在可执行初始解w0中等号成立的约束矢量。a
t0
是在可执行初始解w0满足约束矢量b的情况下的约束矩阵。
[0019]
使用图1、图3、图6、图7,对最优化运算部200的功能块和动作流程进行说明。最优
化运算部200获取最优化问题的评价函数j、等式约束集合s2k与解wk,以作为输入。另外,解wk、等式约束集合s2k的下标k与最优化运算部200的迭代次数即运算迭代次数相对应,在初次运算中k为0。初次运算中,解wk和等式约束集合s2k分别是可执行初始解w0和等式约束集合s2。最优化运算部200包括:方程式生成部21,该方程式生成部21生成包含karush-kuhn-tucker条件(kkt条件)在内的联立一阶方程式sle;初始范数计算部22,该初始范数计算部22计算初始残差矢量r
in
的范数即初始残差范数nr0;以及评价解运算部23,该评价解运算部23运算至少未发散的评价解y,并且生成中间判定标志fg1。中间判定标志fg1是表示解是满足预先设定的解的第一允许误差的第一收敛解、还是不满足预先设定的解的第一允许误差但满足预先设定的解的第二允许误差的第二收敛解的标志。最优化运算部200执行步骤st21的方程式生成工序、步骤st22的初始范数计算工序、步骤st23的评价解运算工序。步骤st21的方程式生成工序由方程式生成部21执行,步骤st22的初始范数计算工序由初始范数计算部22执行,步骤st23的评价解运算工序由评价解运算部23执行。
[0020]
评价解运算部23包括:运算次数判定部24,该运算次数判定部24判定迭代解运算次数j是否到达迭代解运算次数上限值jm;迭代解运算部25,该迭代解运算部25运算迭代解yj;范数计算部26,该范数计算部26计算残差矢量rj的范数即残差范数nrj;以及收敛判定部27,该收敛判定部27进行迭代解yj的收敛判定,并生成评价解y和中间判定标志fg1。评价解运算部23执行步骤st41~st45,以作为步骤st23的评价解运算工序。步骤st41的迭代解运算次数判定工序和步骤st45的迭代解运算次数更新工序由运算次数判定部24来执行。步骤st42的迭代解运算工序由迭代解运算部25执行,步骤st43的范数计算工序由范数计算部26执行,步骤st44的收敛判定工序由收敛判定部27执行。
[0021]
这里,最优解运算装置81解决仅以等式约束为约束的评价函数j的最小化问题,因此,在步骤st21中生成用于解决仅以等式约束为约束的评价函数j的最小化问题的联立一阶方程式sle(方程式生成工序)。仅以等式约束为约束的评价函数j的最小化问题由式(4)来表示。步骤st21的方程式生成工序中,如式(5)那样生成包含karush-kuhn-tucker条件(kkt条件)的联立一阶方程式sle。式(5)的y是式(4)所示的运算迭代次数为k时的最小化问题的评价解,λ是对应于各约束的拉格朗日乘数。h是调整列矢量,与调整行矢量h
t
具有转置的关系。ak是运算迭代次数为k时的约束矩阵,a
tk
是约束矩阵ak的转置矩阵。bk是运算迭代次数为k时的约束矢量。另外,评价解运算部23生成的评价解y中收敛后的评价解y也可以称为包含运算迭代次数为k时的最小化问题的最优解在内的收敛解。收敛的评价解y在由更新部300的运算判定部37判定为是最优解的情况下,成为式(4)所表示的最小化问题的最优解。
[0022]
[数学式4][数学式5]
[0023]
这里,如上所述,下标k对应于最优化运算部200的运算迭代次数。评价解运算部23生成的评价解y成为由更新部300更新后的解w
k 1
。该解w
k 1
成为输入到更新后的运算迭代次
数k下的最优化运算部200的解wk。
[0024]
之后的说明中,使用将式(5)所示的联立一阶方程式sle的表述简化后的式(6)。式(5)中的左边的矩阵即约束矩阵记为a~,将左边包含y的列矢量记为x,将右边包含bk的列矢量即约束矢量记为b~。[数学式6]
[0025]
步骤st22中,初始范数计算部22如式(7)那样来计算针对最优化运算部200作为输入获取到的解wk、即输入解的联立一阶方程式sle中的初始残差矢量r
in
的范数即初始残差范数nr0。初始残差矢量r
in
由被式(7)的最右侧的符号“||”所夹住的式来表示。初始残差矢量r
in
是针对解wk的联立一阶方程式sle左边的矢量与联立一阶方程式sle右边的矢量之差。ak~是运算迭代次数k下的约束矩阵a~,bk~是运算迭代次数k下的约束矢量b~。
[0026]
[数学式7]
[0027]
步骤st23中,评价解运算部23多次执行迭代解运算处理,使用迭代法进行联立一阶方程式sle的求解运算,由此来运算使评价函数j最小化的解、即作为收敛的解或未发散的解的评价解y(评价解运算工序)。对步骤st23的评价解运算工序进行详细说明。步骤st41中,运算次数判定部24判定最优化运算部200的迭代解运算次数j是否达到预先设定的迭代解运算次数上限值jm(迭代解运算次数判定工序)。步骤st41中,在迭代解运算次数j到达迭代解运算次数上限值jm的情况下结束,在迭代解运算次数j未达到迭代解运算次数上限值jm的情况下前进至步骤st42。步骤st42中,迭代解运算部25执行迭代解运算处理,使用迭代法进行联立一阶方程式sle的求解运算,由此来运算使评价函数j最小化的解即迭代解yj(迭代解运算工序)。迭代解运算次数j在后文中阐述。
[0028]
作为进行联立一阶方程式sle的求解的迭代法,已知使用共轭梯度法(cg(conjugate gradient)法)、一般化最小残差法(gmres(generalized minimal residual)法)等卡洛夫(krylov)子空间法的方法。此外,在进行迭代法之前,为了提高数值的收敛性、稳定性,可以对联立一阶方程式sle实施预处理。关于使用了卡洛夫子空间法的迭代法以及针对联立一阶方程式sle的预处理,在藤野清次
·
张绍良著、“迭代法的数理”、朝仓书店、1996年,或森正武著、“数值分析第2版”、共立数学讲座12、2002年中有详细记载。
[0029]
步骤st43中,范数计算部26对于步骤st42的迭代解运算工序中运算出的迭代解yj,如式(8)那样来计算联立一阶方程式sle中的残差矢量rj的范数即残差范数nrj(范数计算工序)。残差矢量rj由被式(8)的最右侧的符号“||”所夹住的式来表示。残差矢量rj是针对迭代解yj的联立一阶方程式sle左边的矢量与联立一阶方程式sle右边的矢量之差。
[0030]
这里,下标j表示步骤st42的迭代解运算工序中实施的用于联立一阶方程式sle的求解的运算的迭代次数即迭代解运算次数。这里,与表示最优化运算部200的迭代次数的运算迭代次数k不同。这意味着在最优化运算部200的第k次迭代时,步骤st42的迭代解运算工序的迭代解运算进行j次。
[0031]
[数学式8]
[0032]
步骤st44中,收敛判定部27判定迭代解yj是否收敛(收敛判定工序)。具体而言,收敛判定部27对于通过步骤st42的第j次迭代解运算而得到的解即迭代解yj,判定针对范数计算部26所求出的迭代解yj的联立一阶方程式sle中的残差矢量rj的范数即残差范数nrj是否在收敛判定阈值nth以下。步骤st44中,在残差范数nrj在收敛判定阈值nth以下的情况下,收敛判定部27判定为联立一阶方程式sle的解已求出,将收敛的迭代解yj作为收敛的评价解y输出并结束。步骤st44中,在残差范数nrj不为收敛判定阈值nth以下的情况下、即比收敛判定阈值nth要大的情况下,经由步骤st45返回到步骤st41。运算次数判定部24在步骤st45中进行使迭代解运算次数j增加1个的更新(迭代解运算次数更新工序),并执行步骤st41的迭代解运算次数判定工序。
[0033]
在迭代解yj收敛的情况下,最优化运算部200将收敛的迭代解yj作为收敛的评价解y来输出。在迭代解运算次数j达到迭代解运算次数上限值jm之前迭代解yj未收敛的情况下,最优化运算部200将未收敛的迭代解yj作为不发散的评价解y来输出。另外,适当地设定后述的缓和参数m,设定足够大的迭代解运算次数上限值jm,由此来得到收敛的迭代解yj。通过恰当地设定缓和参数m,即使在迭代解运算次数j达到迭代解运算次数上限值jm之前迭代解yj未收敛的情况下,也能通过更新部300的数据更新来重复步骤st2的最优化运算工序,由此,残差范数nrj变小,可得到收敛的迭代解yj。另外,在无法将运算迭代次数k、迭代解运算次数j的上限值即运算迭代次数上限值km、迭代解运算次数上限值jm设为足够大的值的情况下,有时也无法得到收敛的解。该情况下,在后述的步骤st36的结果输出工序中处理为无解。
[0034]
对根据解的允许误差预先设定的第一阈值nt1、与基于缓和参数m和步骤st22的初始范数计算工序计算出的初始残差范数nr0而设定的第二阈值nt2进行比较,将其中较大的一方设定为步骤st44的收敛判定工序中使用的收敛判定阈值nth。即,收敛判定阈值nth是预先设定的第一阈值nt1、与基于缓和参数m和初始残差范数nr0而设定的第二阈值nt2中的任一个、且是较大的一个。关于第二阈值nt2,设定为以下的式(9)那样。
[0035]
[数学式9]||r
in
||/m

(9)
[0036]
通过将收敛判定阈值nth设定为第一阈值nt1和第二阈值nt2中的较大一方,从而在初始残差范数nr0较小的情况下,在步骤st44的收敛判定工序中可得到使用第一阈值nt1进行收敛判定而得的解,因此,在步骤st23的评价解运算工序中,可得到预先设定的第一允许误差以内的精度的解。使用第一阈值nt1进行收敛判定而得的解是充分最优化后的解,经过更新部300的处理成为表示最优解的输出解wa。另一方面,在初始残差范数nr0较大时,在步骤st44的收敛判定工序中可得到使用第二阈值nt2进行收敛判定而得的解。使用第二阈值nt2进行收敛判定而得的解虽然超过预先设定的第一允许误差但满足预先设定的解的第二允许误差,是准优化后的解,经由更新部300的处理有可能成为表示准最优解的输出解wa。由此,能防止如下问题:由于有效位数不足、位数掉落等数值误差的影响而导致在步骤st42的迭代解运算工序中残差矢量rj或迭代解yj发散,在步骤st23的评价解运算工序中无法得到未发散的评价解y。
[0037]
在使用了迭代法的联立一阶方程式sle的求解中,使用针对运算出的解即迭代解yj的残差矢量rj,来运算下一个迭代时的解。首先计算出的初始残差矢量r
in
的范数即初始
残差范数nr0较大,接下来计算出的残差矢量rj的范数即残差范数nrj急剧变小,该情况下,表示残差矢量rj的变量的有效位数不足,有时无法恰当地运算下一个解。第二阈值nt2使用初始残差范数nr0、与考虑了运算中使用的变量的有效位数的缓和参数m来设定,因此,在残差范数nrj的数值误差的影响变大之前,能进行收敛判定。
[0038]
在对最优化运算部200的各变量使用单精度型变量来进行运算的情况下,缓和参数m设定为102~104,以作为第一范围e1。此外,在使用倍精度型变量来进行运算的情况下,缓和参数m设定为108~10
12
,以作为第二范围e2。通过将恰当的值设定为缓和参数m的值,从而对于步骤st42的迭代解运算工序中运算的迭代解yj、步骤st43的范数计算工序中运算的残差矢量rj等变量,能确保充分的有效位数。最优解运算装置81在有效位数充分的情况下,如通常那样进行步骤st23的评价解运算工序的迭代,在步骤st44的收敛判定工序中使用第一阈值nt1来进行收敛判定,由此,能得到由最优化运算部200预先设定的允许误差以内的精度的解。此外,在有效位数不充分、位数掉落等所引起的数值误差变大、步骤st42的迭代解运算工序中运算的迭代解yj以及步骤st43的范数计算工序中运算的残差矢量rj有可能变得不恰当的情况下,最优解运算装置81在步骤st44的收敛判定工序中使用第二阈值nt2来进行收敛判定,由此能防止迭代解yj和残差矢量rj变得不恰当的可能性。
[0039]
在缓和参数m的值比第一范围e1或第二范围e2要小的情况下,尽管在步骤st42的迭代解运算工序中变量的有效位数充分,数值误差的影响较小,能高精度地执行运算,但在步骤st44的收敛判定工序中,产生通过第二阈值nt2而非通过根据解的允许误差预先设定的第一阈值nt1来进行收敛判定的情况。该情况下,从最优化运算部200输出的评价解y的精度降低。此外,在缓和参数m的值比第一范围e1或第二范围e2要大的情况下,有效位数不充分,因位数掉落等引起的数值误差变大,并且在步骤st44的收敛判定工序中产生未判定为收敛的情况。由于在步骤st44的收敛判定工序中未判定为收敛,因此,评价解y作为迭代解运算次数j超过了迭代解运算次数上限值jm的迭代上限运算解被输出。该情况下,通过更新部300将评价解y更新为解w
k 1
,更新后的等式约束集合s2
k 1
与解w
k 1
被输入到最优化运算部200,再次执行最优化运算部200的运算处理即步骤st2的最优化运算工序。该情况下,步骤st42的迭代解运算中的迭代解yj和步骤st43的范数计算工序中运算的残差矢量rj变得不恰当,联立一阶方程式sle的解未求出,无法得到预期的效果。另外,若缓和参数m的值收敛为第一范围e1或第二范围e2,则通过设定充分的迭代解运算次数上限值jm,从而可得到收敛的评价解y。
[0040]
在步骤st44的收敛判定工序中,在使用第一阈值nt1作为收敛判定阈值nth来进行收敛判定的情况下,评价解运算部23输出表示评价解y是满足预先设定的解的第一允许误差的解的中间判定标志fg1。此外,在步骤st44的收敛判定工序中,在使用第二阈值nt2作为收敛判定阈值nth来进行收敛判定的情况下,评价解运算部23输出表示评价解y是满足预先设定的解的第二允许误差的解的中间判定标志fg1。满足第一允许误差的解是第一收敛解,满足第二允许误差的解是第二收敛解。例如,在中间判定标志fg1是2比特的信号的情况下,若中间判定标志fg1为3则能表示第一收敛解,若中间判定标志fg1为2则能表示第二收敛解。
[0041]
使用图1、图8,对更新部300的功能块和动作流程进行说明。更新部300包括:数据更新部31,该数据更新部31更新等式约束集合s2k与解wk,生成更新后的等式约束集合s2
k 1
与解w
k 1
;以及运算判定部37,该运算判定部37生成满足判定条件的输出解wa和判定标志fg2。运算判定部37包括:集合更新判定部32,该集合更新判定部32判定等式约束集合s2k是否被更新;更新次数判定部33,该更新次数判定部33判定运算迭代次数k是否达到运算迭代次数上限值km;以及结果输出部35,该结果输出部35生成满足判定条件的输出解wa和判定标志fg2。更新部300执行步骤st31的数据更新工序、步骤st37的运算判定工序。步骤st37的运算判定工序由步骤st32的集合更新判定工序、步骤st33的更新次数判定工序、步骤st35的中间判定标志判定工序、步骤st36的结果输出工序构成。步骤st31的数据更新工序由数据更新部31执行,步骤st37的运算判定工序由运算判定部37执行。步骤st32的集合更新判定工序由集合更新判定部32执行,步骤st33的更新次数判定工序由更新次数判定部33执行。步骤st35的中间判定标志判定工序、步骤st36的结果输出工序由结果输出部35执行。
[0042]
更新部300获取不等式约束集合s1、等式约束集合s2k、输入到最优化运算部200的解wk、由最优化运算部200生成的评价解y、中间判定标志fg1,以作为输入。步骤st31的数据更新工序中,对输入到等式约束集合s2k和最优化运算部200的解wk进行更新,并输出更新后的等式约束集合s2
k 1
与解w
k 1
。最优化运算部200使用等式约束集合s2
k 1
与解w
k 1
,以作为进行第k 1次运算时输入的等式约束集合s2k与解wk。等式约束集合s2
k 1
与解w
k 1
如以下那样来决定。
[0043]
(a)等式约束集合s2k中存在应当追加的约束的情况下的更新方法(更新方法1)步骤st31中,数据更新部31在由最优化运算部200得到的评价解y不满足1个以上的不等式约束集合s1的情况下,用式(10)来确定更新部300所输出的解w
k 1
。其中,在0<α<1且w
k 1
满足不等式约束集合s1的条件下,α设定为最大的值。此外,步骤st31中,关于w
k 1,
数据更新部31新满足等式约束的约束追加到等式约束集合s2k中,并生成更新后的等式约束集合s2
k 1

[0044]
[数学式10]w
k 1
=(1-α)wk αy

(10)
[0045]
(b)等式约束集合s2k中存在应当去除的约束的情况下的更新方法(更新方法2)步骤st31中,数据更新部31在由最优化运算部200得到的评价解y满足所有不等式约束集合s1的情况下,用式(11)来确定更新部300所输出的解w
k 1
。此外,步骤st31中,关于由最优化运算部200得出的评价解y,数据更新部31在存在满足拉格朗日乘数λ<0的解的情况下,从等式约束集合s2k中去除与其中绝对值最大的解对应的约束,并生成更新后的等式约束集合s2
k 1

[0046]
[数学式11]w
k 1
=y

(11)
[0047]
步骤st31的数据更新工序中,数据更新部31通过更新方法1或更新方法2,对等式约束集合s2k与解wk进行更新,并生成更新后的等式约束集合s2
k 1
与解w
k 1
。步骤st31的数据更新工序中,在不更新等式约束集合s2k的情况下、即不对等式约束集合s2k追加约束且不从等式约束集合s2k中去除约束的情况下,最优化运算部200所得到的评价解y满足不等式约束集合s1,是使输入到最化解运算装置81的评价函数j最小化的最优解。因此,最优解运算装置81结束运算,将评价解y作为最优解的输出解wa来输出。这是步骤st37的运算判定工序的一部分处理的概要。在输出解wa被输出的情况下,最优解运算装置81的运算结束。即,在
输出解wa被输出的情况下,为图8所示的运算结束,且为图4所示的结束。在输出解wa被输出的情况下,可以说是完全结束,在步骤st33中不满足条件而通过更新来输出作为数据的等式约束集合s2
k 1
与解w
k 1
并结束的情况下,为更新结束。在更新结束的情况下,最优解运算装置81返回步骤st2,执行最优化运算工序。对步骤st37的运算判定工序进行详细说明。
[0048]
步骤st32的集合更新判定工序中,集合更新判定部32判定等式约束集合s2k是否被更新,具体而言,判定等式约束集合s2k与等式约束集合s2
k 1
是否不同。在等式约束集合s2k与等式约束集合s2
k 1
不同的情况下前进至步骤st33,在等式约束集合s2k与等式约束集合s2
k 1
没有不同的情况下、即相等的情况下前进至步骤st35。
[0049]
步骤st33的更新次数判定工序中,更新次数判定部33判定运算迭代次数k是否达到预先设定的运算迭代次数上限值km。在运算迭代次数k达到运算迭代次数上限值km的情况下前进至步骤st35,在运算迭代次数k未达到运算迭代次数上限值km的情况下,更新部300将数据更新部31所生成的等式约束集合s2
k 1
与解w
k 1
输出到最优化运算部200,并结束步骤st3的更新工序。如上所述,该情况下的结束是更新结束。在运算迭代次数k达到运算迭代次数上限值km的情况下,最优解运算装置81结束运算,以作为达到迭代上限。在运算迭代次数k达到运算迭代次数上限值km的情况下,也可以说等式约束集合s2k的更新次数达到了上限值。该情况下为完全结束。
[0050]
步骤st35的中间判定标志判定工序中,在从步骤st32的集合更新判定工序开始前进的情况下,结果输出部35判定中间判定标志fg1的信息。在中间判定标志fg1表示第一收敛解的情况下,结果输出部35生成表示最优解的判定标志fg2。此外,在中间判定标志fg1表示第二收敛解的情况下,结果输出部35生成表示准最优解的判定标志fg2。如上所述,满足预先设定的解的第一允许误差的评价解y是充分最优化后的解、即最优解。此外,满足预先设定的解的第二允许误差的评价解y是准最优化后的解、即准最优解。更具体而言,步骤st44的收敛判定工序的收敛判定阈值nth为第一阈值nt1的情况下的评价解y为最优解,步骤st44的收敛判定工序的收敛判定阈值nth为第二阈值nt2的情况下的评价解为准最优解。例如,在判定标志fg2是2比特的信号的情况下,若判定标志fg2为3则能表示最优解,若判定标志fg2为2则能表示准最优解。
[0051]
步骤st35的中间判定标志判定工序中,在从步骤st33的更新次数判定工序开始前进的情况下,结果输出部35不判定中间判定标志fg1的信息,而是在步骤st36的结果输出工序中,输出表示无解的判定标志fg2。该情况下,不输出通常的输出解wa。例如,表示无解的判定标志fg2为1。该情况下,不输出通常的输出解wa,但也可以输出例如0,以作为空(null)的数据。
[0052]
步骤st36的结果输出工序中,在从步骤st32的集合更新判定工序开始前进的情况下,结果输出部35将输出解wa和判定标志fg2输出。在中间判定标志fg1表示第一收敛解的情况下,将评价解y作为最优解的输出解wa即最优解wg1来输出,并输出表示最优解的判定标志fg2。在中间判定标志fg1表示第二收敛解的情况下,将评价解y作为准最优解的输出解wa即准最优解wg2来输出,并输出表示准最优解的判定标志fg2。作为输出解wa输出的最优解wg1和准最优解wg2是收敛的解。对于最优解wg1,在步骤st32的集合更新判定工序中判定为不需要等式约束集合的更新、且收敛判定阈值nth为第一阈值nt1的情况下评价解y被决定为最优解,也可以说是作为针对最优化问题的解即输出解wa被输出的解。对于准最优解
wg2,在步骤st32的集合更新判定工序中判定为不需要等式约束集合的更新、且收敛判定阈值nth为第二阈值nt2的情况下评价解y被决定为准最优解,也可以说是在评价解y未被决定为最优解wg1的情况下作为针对最优化问题的解即输出解wa被输出的解。
[0053]
由此,实施方式1的最优化问题的最优解运算装置81使用最优化运算部200运算出的评价解y,在更新部300中重复更新等式约束集合s2k与解wk,来求出使评价函数j最小化的最优解或准最优解。因此,即使在基于初始条件生成部100所生成的可执行初始解w0计算出的初始残差范数nr0、残差范数nrj较大的情况下,通过设定足够大的迭代解运算次数上限值jm,从而最优化运算部200也能将在步骤st44的收敛判定工序中使用第二阈值nt2进行了收敛判定而得的评价解y、即使用第二阈值nt2进行收敛后的评价解y输出到更新部300。此外,实施方式1的最优化问题的最优解运算装置81基于从最优化运算部200输出的评价解y来更新等式约束集合s2k与解wk,并再次利用最优化运算部200执行步骤st2的最优化运算工序。即,即使在基于可执行初始解w0计算出的初始残差范数nr0、残差范数nrj较大的情况下,实施方式1的最优化问题的最优解运算装置81也能通过最优化运算部200生成新的联立一阶方程式sle,并再次进行联立一阶方程式sle的求解运算。
[0054]
通过重复步骤st2的最优化运算工序和步骤st3的更新工序,基于输入到最优化运算部200的解wk计算出的初始残差范数nr0、残差范数nrj变小,最优化运算部200能将在步骤st44的收敛判定工序中使用第一阈值nt1进行了收敛判定而得的评价解y、即使用第一阈值nt1进行收敛后的评价解y输出到更新部300。因此,实施方式1的最优化问题的最优解运算装置81通过重复步骤st2的最优化运算工序和步骤st3的更新工序,从而容易得到使用第一阈值nt1进行收敛后的解即预先设的允许范围内的精度的最优解。
[0055]
也就是说,实施方式1的最优解运算装置81在运算误差对初始残差矢量r
in
、残差矢量rj的影响变大之前,用第二阈值nt2进行收敛判定,使用该时刻的评价解y再次由最优化运算部200执行步骤st2的最优化运算工序。由此,实施方式1的最优解运算装置81在再次执行步骤st2的最优化运算工序时,能减小步骤st22的初始范数计算工序中计算出的初始残差范数nr0。这意味着再计算时的输入初始解即解wk接近最优解,由于运算误差对初始残差矢量r
in
、残差矢量rj的影响变小,因此,容易得到使用第一阈值nt1进行收敛后的解即预先设定的允许范围内的精度的最优解。此外,当再次执行步骤st2的最优化运算工序时,即使在使用第二阈值nt2的情况下第二阈值nt2也被设定得较小,因此,实施方式1的最优化问题的最优解运算装置81通过重复运算,利用基于第一阈值nt1的收敛判定来得到解。
[0056]
如上所述,更新部300在步骤st32的集合更新判定工序中,在不对等式约束集合s2k进行等式约束的追加或去除的情况下,作为满足所有不等式约束集合s1且使评价函数j最小化的最优解的输出解wa,输出由最优化运算部200得出的评价解y。输出解wa包含步骤st44的收敛判定工序中收敛判定阈值nth为第一阈值nt1时的最优解wg1、与步骤st44的收敛判定工序中收敛判定阈值nth为第二阈值nt2时的准最优解wg2。对于准最优解wg2,联立一阶方程式sle的残差范数nrj比根据预先设定的解的允许误差而设定的第一阈值nt1要大,但更新部300输出表示准最优解的判定标志fg2,因此,可知由最优解运算装置81得到的输出解wa是不满足预先设定的解的允许精度误差即解的第一允许误差以内的精度的解。
[0057]
对于最优化问题的最优解运算装置81输出的输出解wa,在得到表示是准最优解的判定标志fg2的情况下,具备实施方式1的最优化问题的最优解运算装置81的需要解决最优
化问题的装置能确认是否采用该输出解wa。
[0058]
实施方式1的最优化问题的最优解运算装置81能在残差矢量rj的运算误差发生影响之前,进行评价解y的收敛判定。即,实施方式1的最优化问题的最优解运算装置81能在残差矢量rj中所包含的运算误差影响最优解的运算的状况下得到收敛后的解,以作为输出解wa。
[0059]
另外,至此为止实施方式1的最优化问题的最优解运算装置81以包含不等式约束的最优化问题为对象进行了说明。即使在最优化问题的约束仅为等式约束的情况下,实施方式1的最优化问题的最优解运算装置81也能在残差矢量rj的运算误差发生影响之前,进行评价解y的收敛判定。即,即使在最优化问题的约束仅为等式约束的情况下,实施方式1的最优化问题的最优解运算装置81也能在残差矢量中所包含的运算误差影响最优解的运算的状况下得到收敛后的解。该情况下,输入到最优化运算部200的输入数据是可执行初始解w0和经由接口82输入的等式约束集合s2。此外,不需要初始条件生成部100的等式约束集合生成部12、更新部300的数据更新部31、集合更新判定部32和更新次数判定部33。另外,若在最优化运算部200中获取结果输出部35,则不需要更新部300。
[0060]
此外,实施方式1的最优化问题的最优解运算装置81中,说明了更新部300执行图8所示的动作流程的第一示例的示例。然而,步骤st33的更新次数判定工序中,不限于仅使用运算迭代次数k的情况。例如,也可以考虑在步骤st23的评价解运算工序中执行的用于联立一阶方程式sle的求解的迭代解运算次数j。例如,可以在运算迭代次数k与迭代解运算次数j之和即运算总计次数kt达到运算总计次数上限值ktm的情况下,结束更新或结束运算。图9中示出了这样的更新部300中的动作流程的第二示例。此外,对于运算迭代次数k和迭代解运算次数j可以分别设定迭代次数上限值并进行监视。图10中示出了这样的更新部300中的动作流程的第三示例。更新部300执行动作流程的第二示例或第三示例,从而实施方式1的最优化问题的最优解运算装置81能防止因步骤st2的最优化运算工序的迭代次数增加且花费运算时间而导致无法在规定周期中完成运算的情况。
[0061]
图9所示的更新部300中的动作流程的第二示例的不同点在于,图8所示的动作流程的第一示例中的步骤st33的更新次数判定工序被变更为步骤st38的更新次数判定工序。主要对与图8所示的动作流程的第一示例不同的部分进行说明。更新部300执行步骤st31的数据更新工序、步骤st37的运算判定工序。步骤st37的运算判定工序由步骤st32的集合更新判定工序、步骤st38的更新次数判定工序、步骤st35的中间判定标志判定工序、步骤st36的结果输出工序构成。步骤st38的更新次数判定工序由更新次数判定部33执行。步骤st32的集合更新判定工序中,在等式约束集合s2k与等式约束集合s2
k 1
不同的情况下前进至步骤st38。
[0062]
步骤st38的更新次数判定工序中,更新次数判定部33判定运算迭代次数k与迭代解运算次数j之和即运算总计次数kt是否达到预先设定的运算总计次数上限值ktm。在运算总计次数kt达到运算总计次数上限值ktm的情况下前进至步骤st35,在运算总计次数kt未达到运算总计次数上限值ktm的情况下,更新部300将数据更新部31所生成的等式约束集合s2
k 1
与解w
k 1
输出到最优化运算部200,并结束步骤st3的更新工序。该情况下为更新结束。在运算总计次数kt达到运算总计次数上限值ktm的情况下,最优解运算装置81结束运算,以作为达到迭代上限。在运算总计次数kt达到运算总计次数上限值ktm的情况下,也可以说等
式约束集合s2k的更新次数达到了上限值。该情况下为完全结束。
[0063]
图10所示的更新部300中的动作流程的第三示例的不同点在于,图8所示的动作流程的第一示例中的步骤st33的更新次数判定工序被变更为步骤st39的更新次数判定工序。主要对与图8所示的动作流程的第一示例不同的部分进行说明。更新部300执行步骤st31的数据更新工序、步骤st37的运算判定工序。步骤st37的运算判定由步骤st32的集合更新判定工序、步骤st39的更新次数判定工序、步骤st35的中间判定标志判定工序、步骤st36的结果输出工序构成。步骤st39的更新次数判定工序由更新次数判定部33执行。步骤st32的集合更新判定工序中,在等式约束集合s2k与等式约束集合s2
k 1
不同的情况下前进至步骤st39。
[0064]
在步骤st39的更新次数判定工序中,更新次数判定部33判定运算迭代次数k是否达到预先设定的运算迭代次数上限值km、或迭代解运算次数j是否达到预先设定的迭代解运算次数上限值jma。在运算迭代次数k达到运算迭代次数上限值km的情况下或迭代解运算次数j达到迭代解运算次数上限值jma的情况下前进至步骤st35,在运算迭代次数k未达到运算迭代次数上限值km的情况下或迭代解运算次数j未达到迭代解运算次数上限值jma的情况下,更新部300将数据更新部31所生成的等式约束集合s2
k 1
与解w
k 1
输出到最优化运算部200,并结束步骤st3的更新工序。该情况下为更新结束。在运算迭代次数k达到运算迭代次数上限值km的情况下、或迭代解运算次数j达到迭代解运算次数上限值jma的情况下,最优解运算装置81结束运算,以作为达到迭代上限。在运算迭代次数k达到运算迭代次数上限值km的情况下、或运算总计次数kt达到运算总计次数上限值ktm的情况下,也可以说等式约束集合s2k的更新次数达到了上限值。该情况下为完全结束。
[0065]
如上所述,实施方式1的最优化问题的最优解运算装置81是经由更新部300所进行的处理来运算针对所输入的最优化问题的解的最优化问题的最优解运算装置。最优化问题的最优解运算装置81包括:初始条件生成部100,该初始条件生成部100获取与最优化问题有关的不等式约束的集合即不等式约束集合s1、评价函数j、初始解w
0in
以作为输入,基于初始解w
0in
来生成满足所有不等式约束集合s1的不等式约束的可执行初始解w0,对于可执行初始解w0,从不等式约束集合s1生成等号成立的等式约束的集合即等式约束集合s2;最优化运算部200,该最优化运算部200对于初次的情况下为可执行初始解w0、下一次以后的情况下为由更新部300更新后的解w
k 1
即输入解(解wk)进行由等式约束集合s2k(等式约束集合s2或等式约束集合s2
k 1
)和评价函数j生成的联立一阶方程式sle的求解运算,并运算使评价函数j最小化或最大化的解即评价解y;以及更新部300,该更新部300判定由最优化运算部200输出的评价解y,并且生成从等式约束集合s2k中对评价解y应当满足的约束进行更新而被更新后的等式约束集合s2
k 1
、以及基于上一次的输入解(解wk)和评价解y而被更新后的输入解(解w
k 1
)。最优化运算部200包括:初始范数计算部22,该初始范数计算部22根据针对输入解(解wk)的联立一阶方程式sle左边的矢量与联立一阶方程式sle右边的矢量之差即初始残差矢量r
in
来计算初始残差范数nr0;迭代解运算部25,该迭代解运算部25执行迭代法,运算联立一阶方程式sle的每个迭代次数(迭代解运算次数j)的解即迭代解yj;范数计算部26,该范数计算部26根据针对由迭代解运算部25运算出的迭代解yj的联立一阶方程式sle左边的矢量与联立一阶方程式右边的矢量之差即残差矢量rj来计算残差范数nrj;以及收敛判定部27,该收敛判定部27在残差范数nrj变为收敛判定阈值nth以下的情况下判定为
迭代解yj收敛,并将判定为收敛的迭代解yj作为评价解y来输出,其中,上述收敛判定阈值nth是预先设定的第一阈值nt1、与基于缓和参数m和初始残差范数nr0设定的第二阈值nt2中的任一个、且为较大的一方。更新部300判定为不需要等式约束集合s2k的更新,并且在收敛判定阈值nth为第一阈值nt1的情况下将评价解y决定为最优解wg1,将最优解wg1作为针对最优化问题的解即输出解wa来输出。根据该结构,实施方式1的最优化问题的最优解运算装置81在残差范数nrj变为收敛判定阈值nth以下的情况下判定为迭代解yj收敛,并将判定为收敛的迭代解yj作为评价解y来输出,其中,上述收敛判定阈值nth是收敛判定部27预先设定的第一阈值nt1、与基于缓和参数m和初始残差范数nr0设定的第二阈值nt2中的任一个、且为较大的一方,更新部300判定为不需要等式约束集合s2k的更新,并且在收敛判定阈值nth为第一阈值nt1的情况下将评价解决定为最优解,因此,在残差矢量rj中所包含的运算误差影响解的运算的状况下能得到收敛的解。
[0066]
实施方式1的最优化问题的最优解运算方法是经由更新工序所进行的处理来运算针对所输入的最优化问题的解的最优化问题的最优解运算方法。最优化问题的最优解运算方法包括:初始条件生成工序,该初始条件生成工序获取与最优化问题有关的不等式约束的集合即不等式约束集合s1、评价函数j、初始解w
0in
以作为输入,基于初始解w
0in
来生成满足所有不等式约束集合s1的不等式约束的可执行初始解w0,对于可执行初始解w0,从不等式约束集合s1生成等号成立的等式约束的集合即等式约束集合s2;最优化运算工序,该最优化运算工序对于初次的情况下为可执行初始解w0、下一次以后的情况下为由更新部300更新后的解w
k 1
即输入解(解wk)进行由等式约束集合s2k(等式约束集合s2或等式约束集合s2
k 1
)和评价函数j生成的联立一阶方程式sle的求解运算,并运算使评价函数j最小化或最大化的解即评价解y;以及更新工序,该更新工序判定由最优化运算工序输出的评价解y,并且生成从等式约束集合s2k中对评价解y应当满足的约束进行更新而被更新后的等式约束集合s2
k 1
、以及基于上一次的输入解(解wk)和评价解y而被更新后的输入解(解w
k 1
)。最优化运算工序包括:初始范数计算工序,该初始范数计算工序根据针对输入解(解wk)的联立一阶方程式sle左边的矢量与联立一阶方程式sle右边的矢量之差即初始残差矢量r
in
来计算初始残差范数nr0;迭代解运算工序,该迭代解运算工序执行迭代法,运算联立一阶方程式sle的每个迭代次数(迭代解运算次数j)的解即迭代解yj;范数计算工序,该范数计算工序根据针对由迭代解运算工序运算出的迭代解yj的联立一阶方程式sle左边的矢量与联立一阶方程式右边的矢量之差即残差矢量rj来计算残差范数nrj;以及收敛判定工序,该收敛判定工序在残差范数nrj变为收敛判定阈值nth以下的情况下判定为迭代解yj收敛,并将判定为收敛的迭代解yj作为评价解y来输出,其中,上述收敛判定阈值nth是预先设定的第一阈值nt1、与基于缓和参数m和初始残差范数nr0设定的第二阈值nt2中的任一个、且为较大的一方。更新工序判定为不需要等式约束集合s2k的更新,并且在收敛判定阈值nth为第一阈值nt1的情况下将评价解y决定为最优解wg1,将最优解wg1作为针对最优化问题的解即输出解wa来输出。根据该结构,实施方式1的最优化问题的最优解运算方法在残差范数nrj变为收敛判定阈值nth以下的情况下判定为迭代解yj收敛,并将判定为收敛的迭代解yj作为评价解y来输出,其中,上述收敛判定阈值nth是收敛判定工序中预先设定的第一阈值nt1、与基于缓和参数m和初始残差范数nr0设定的第二阈值nt2中的任一个、且为较大的一方,在更新工序中判定为不需要等式约束集合s2k的更新,并且在收敛判定阈值nth为第一阈值nt1
的情况下将评价解决定为最优解,因此,在残差矢量rj中所包含的运算误差影响解的运算的状况下能得到收敛的解。
[0067]
实施方式2.图12是示出实施方式2所涉及的最优化问题的最优解运算装置中的功能块的第一示例的图,图12是示出实施方式2所涉及的最优化问题的最优解运算装置中的功能块的第二示例的图。实施方式1的最优解运算装置81中说明了如下示例:在步骤st35的中间判定标志判定工序中,从步骤st33的更新次数判定工序开始前进的情况下,结果输出部35不判定中间判定标志fg1的信息。实施方式2的最优解运算装置81是如下示例:即使从步骤st33的更新次数判定工序开始前进的情况下,结果输出部35也判定中间判定标志fg1的信息,并输出表示达到迭代上限的解的输出解wa。图11所示的实施方式2的最优化问题的最优解运算装置81的第一示例中,作为输出解wa,除了最优解wg1、准最优解wg2以外还输出第一迭代上限解wu1、第二迭代上限解wu2。图12所示的实施方式2的最优化问题的最优解运算装置81的第二示例中,作为输出解wa,除了最优解wg1、准最优解wg2以外还输出迭代上限解wu。实施方式2的最优解运算装置81与实施方式1的最优解运算装置81相比,更新部300的结果输出部35的动作不同。主要说明与实施方式1的最优解运算装置81不同的部分。
[0068]
图8所示的更新部300中的动作流程的第一示例中,在从步骤st32的集合更新判定工序前进至步骤st35的中间判定标志判定工序的情况下,即使由最优化运算部200进行运算,输入数据也不被更新,因此,无法得到从当前的解进行改善的解。该情况下,也可以说是完全收敛解。在经过步骤st33的更新次数判定工序前进至步骤st35的中间判定标志判定工序的情况下,在步骤st32的集合更新判定工序中进行了数据更新,因此是从当前的解进行改善的情况,但在步骤st44的收敛判定工序中,中间判定标志fg1有时也包含第一收敛解或第二收敛解。该第一收敛解满足第一阈值nt1,因此是满足预先设定的解的第一允许误差的解,是充分最优化后的解。第二收敛解是满足比第一允许误差要宽松的预先设定的解的第二允许误差的解,是准最优化后的解。
[0069]
步骤st35的中间判定标志判定工序中,结果输出部35判定中间判定标志fg1的信息。在从步骤st32的集合更新判定工序开始前进、且中间判定标志fg1表示第一收敛解的情况下,结果输出部35生成表示最优解的判定标志fg2。在从步骤st32的集合更新判定工序开始前进、且中间判定标志fg1表示第二收敛解的情况下,结果输出部35生成表示准最优解的判定标志fg2。结果输出部35在从步骤st33的更新次数判定工序开始前进的情况下,如以下那样进行判定,并生成判定标志fg2。
[0070]
在从步骤st33的更新次数判定工序开始前进、且中间判定标志fg1表示第一收敛解的情况下,结果输出部35生成表示第一迭代上限解的判定标志fg2。在从步骤st33的更新次数判定工序开始前进、且中间判定标志fg1表示第二收敛解的情况下,结果输出部35生成表示第二迭代上限解的判定标志fg2。例如,在判定标志fg2是3比特的信号的情况下,若判定标志fg2为7则能表示最优解,若判定标志fg2为6则能表示准最优解。此外,若判定表示fg2为3则能表示第一迭代上限解,若判定标志fg2为2则能表示第二迭代上限解。
[0071]
在步骤st36的结果输出工序中,结果输出部35将输出解wa和判定表示fg2输出。在从步骤st32的集合更新判定工序开始前进、且中间判定标志fg1表示第一收敛解的情况下,结果输出部35将评价解y作为最优解的输出解wa即最优解wg1来输出,并输出表示最优解的
判定标志fg2。在从步骤st32的集合更新判定工序开始前进、且中间判定标志fg1表示第二收敛解的情况下,结果输出部35将评价解y作为准最优解的输出解wa即准最优解wg2来输出,并输出表示准最优解的判定标志fg2。结果输出部35在从步骤st33的更新次数判定工序前进了的情况下,如以下那样将输出解wa和判定标志fg2输出。
[0072]
在从步骤st33的更新次数判定工序开始前进、且中间判定标志fg1表示第一收敛解的情况下,结果输出部35将评价解y作为第一迭代上限解的输出解wa即第一迭代上限解wu1来输出,并输出表示第一迭代上限解的判定标志fg2。在从步骤st33的更新次数判定工序开始前进、且中间判定标志fg1表示第二收敛解的情况下,结果输出部35将评价解y作为第二迭代上限解的输出解wa即第二迭代上限解wu2来输出,并输出表示第二迭代上限解的判定标志fg2。作为输出解wa输出的最优解wg1、准最优解wg2、第一迭代上限解wu1、第二迭代上限解wu2均为收敛的解。第一迭代上限解wu1也可以说是在经由步骤st33的更新次数判定工序与等式约束集合s2k的更新次数达到上限值的情况下、且收敛判定阈值nth为第一阈值nt1的情况下,当评价解y被决定为第一迭代上限解、且评价解y未被决定为最优解wg1或准最优解wg2时作为针对最优化问题的解即输出解wa而被输出的解。第二迭代上限解wu2也可以说是在经由步骤st33的更新次数判定工序与等式约束集合s2k的更新次数达到上限值的情况下、且收敛判定阈值nth为第二阈值nt2的情况下,当评价解y被决定为第二迭代上限解、且评价解y未被决定为最优解wg1或准最优解wg2时作为针对最优化问题的解即输出解wa而被输出的解。
[0073]
步骤st35的中间判定标志判定工序中,在中间判定表示fg1不表示第一收敛解或第二收敛解的情况下,结果输出部35判定为无法得到第一收敛解或第二收敛解,在步骤st36的结果输出工序中,输出表示无解的判定表示fg2。该情况下,输出解wa不被输出。例如,表示无解的判定标志fg2为1。
[0074]
实施方式2的第一最优解运算装置81将最优解wg1、准最优解wg2、第一迭代上限解wu1、第二迭代上限解wu2中的任一个作为输出解wa来输出,因此,在从实施方式2的第一最优解运算装置81获取输出解wa的装置或后级的处理中,能将输出解wa作为最优解wg1、准最优解wg2、第一迭代上限解wu1、第二迭代上限解wu2来掌握。因此,在从实施方式2的第一最优解运算装置81获取输出解wa的装置或后级的处理中,能确认是否采用该输出解wa,能根据所采用的输出解wa来变更处理。
[0075]
作为实施方式2的最优解运算装置81的第一示例,说明了将最优解wg1、准最优解wg2、第一迭代上限解wu1、第二迭代上限解wu2中的任一个作为输出解wa来输出的示例,但如图12所示的实施方式2的最优解运算装置81的第二示例那样,也可以输出迭代上限解wu以代替第一迭代上限解wu1、第二迭代上限解wu2。主要说明与实施方式2的最优解运算装置81的第一示例不同的部分。
[0076]
步骤st35的中间判定标志判定工序中,结果输出部35在从步骤st33的更新次数判定工序开始前进了的情况下,如以下那样判定,并生成判定标志fg2。在从步骤st33的更新次数判定工序开始前进、且中间判定标志fg1表示第一收敛解或第二收敛解的情况下,结果输出部35生成表示迭代上限解的判定标志fg2。例如,在判定标志fg2是3比特的信号的情况下,若判定标志fg2为7则能表示最优解,若判定标志fg2为6则能表示准最优解,若判定标志fg2为4则能表示迭代上限解。
[0077]
步骤st36的结果输出工序中,在从步骤st33的更新次数判定工序开始前进的情况下,如以下那样将输出解wa和判定标志fg2输出。在从步骤st33的更新次数判定工序开始前进、且中间判定标志fg1表示第一收敛解或第二收敛解的情况下,结果输出部35将评价解y作为迭代上限解的输出解wa即迭代上限解wu来输出,并输出表示迭代上限解的判定标志fg2。作为输出解wa输出的最优解wg1、准最优解wg2、迭代上限解wu均为收敛的解。迭代上限解wu也可以说是在经由步骤st33的更新次数判定工序与等式约束集合s2k的更新次数达到上限值的情况下、且收敛判定阈值nth为第一阈值nt1或第二阈值nt2的情况下,当评价解y被决定为迭代上限解、且评价解y未被决定为最优解wg1或准最优解wg2时作为针对最优化问题的解即输出解wa而被输出的解。
[0078]
实施方式2的第二最优解运算装置81将最优解wg1、准最优解wg2、迭代上限解wu中的任一个作为输出解wa来输出,因此,在从实施方式2的第二最优解运算装置81获取输出解wa的装置或后级的处理中,能将输出解wa作为最优解wg1、准最优解wg2、迭代上限解wu来掌握。因此,在从实施方式2的第二最优解运算装置81获取输出解wa的装置或后级的处理中,能确认是否采用该输出解wa,能根据所采用的输出解wa来变更处理。
[0079]
使用图8的更新部300中的动作流程的第一示例,对实施方式2的最优化运算装置81进行了说明。然而,实施方式2的最优解运算装置81中,更新部300也可以按图9或图10所示的动作流程来动作。在更新部300按图9的动作流程进行动作的情况下,将步骤st33的更新次数判定工序替换为步骤st38的更新次数判定工序。此外,在更新部300按图10的动作流程进行动作的情况下,将步骤st33的更新次数判定工序替换为步骤st39的更新次数判定工序。该情况下,实施方式2的第一最优解运算装置81也将最优解wg1、准最优解wg2、第一迭代上限解wu1、第二迭代上限解wu2中的任一个作为输出解wa来输出,因此,在从实施方式2的第一最优解运算装置81获取输出解wa的装置或后级的处理中,能将输出解wa作为最优解wg1、准最优解wg2、第一迭代上限解wu1、第二迭代上限解wu2来掌握。此外,实施方式2的第二最优解运算装置81将最优解wg1、准最优解wg2、迭代上限解wu中的任一个作为输出解wa来输出,因此,在从实施方式2的第二最优解运算装置81获取输出解wa的装置或后级的处理中,能将输出解wa作为最优解wg1、准最优解wg2、迭代上限解wu来掌握。
[0080]
另外,本技术虽然记载了各种示例性的实施方式以及实施例,但是1个或多个实施方式所记载的各种特征、方式及功能并不仅限于适用特定的实施方式,也可以单独适用于实施方式,或者进行各种组合来适用于实施方式。因此,可以认为未例示的无数变形例也包含在本技术说明书所公开的技术范围内。例如,设为包括对至少一个构成要素进行变形、添加或省略的情况,以及提取至少一个构成要素并与其他实施方式的构成要素进行组合的情况。标号说明
[0081]
25 迭代解运算部26 范数计算部27 收敛判定部35 结果输出部81 最优化问题的最优解运算装置100 初始条件生成部
200 最优化运算部300 更新部fg2 判定标志j 评价函数j 迭代解运算次数jma 迭代解运算次数上限值k 运算迭代次数km 运算迭代次数上限值kt 运算总计次数ktm 运算总计次数上限值m 缓和参数nr
0 初始残差范数nr
j 残差范数nt1 第一阈值nt2 第二阈值nth 收敛判定阈值r
in 初始残差矢量r
j 残差矢量s1 不等式约束集合s2 等式约束集合s2
k 等式约束集合s2
k 1 等式约束集合sle 联立一阶方程式w
0 可执行初始解w
0in 初始解wa 输出解wg1 最优解wg2 准最优解w
k 解w
k 1
解wu 迭代上限解wu1 第一迭代上限解wu2 第二迭代上限解y 评价解y
j 迭代解。
再多了解一些

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

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

相关文献