计算设备及计算方法与流程

文档序号:33705337发布日期:2023-03-31 21:22阅读:28来源:国知局
计算设备及计算方法与流程
计算设备及计算方法
1.发明背景
技术领域
2.本公开涉及一种计算设备及计算方法。


背景技术:

3.以往在凸二次规划问题中,已知一种使用联立线性方程来求出最优解的方法,其包含了该最优解应满足的条件(例如,日本专利公开no.2008-59146)。联立线性方程由使用矩阵和列向量的下式(1)表示。
4.ax=b...(1)
5.在式(1)中,a表示n
×
n系数矩阵,x表示n维可变向量,b表示n维常数向量。
6.作为使用计算机求解式(1)的方法,使用以下方法:直接法,基于高斯消元法来对a进行lu分解;迭代法,通过迭代地乘以矩阵和向量来求出近似解等。


技术实现要素:

7.在对凸二次规划问题求最优解的常规计算设备中,在凸二次规划问题的评价函数的海森矩阵和凸二次规划问题的线性约束的系数矩阵各自包含的多个元素都很稠密的情况下,当使用联立线性方程求出最优解时,需要对海森矩阵和系数矩阵各自包含的所有元素执行矩阵计算,这可能导致较大的计算负荷。
8.本公开是针对上述问题提出的,其目的在于提供一种计算设备和计算方法,能在尽可能避免大计算负荷的同时求出凸二次规划问题的最优解。
9.根据本公开的计算设备是对凸二次规划问题求最优解的设备,该凸二次规划问题涉及包括至少一个用于解除约束的松弛变量在内的优化变量。所述计算设备包括:用于获取所述凸二次规划问题的评价函数和线性约束的接口;以及基于由所述接口获得的评价函数和线性约束来求出最优解的处理器。所述处理器包括重排单元、生成单元和搜索单元。所述重排单元使所述评价函数的海森矩阵和所述线性约束的系数矩阵各自包含的多个元素重排。所述生成单元基于包括由重排单元重排后的海森矩阵的评价函数和包括由重排单元重排后的系数矩阵的线性约束,生成联立线性方程以求出最优解。所述搜索单元使用所述联立线性方程来求最优解。所述重排单元使所述海森矩阵中包含的多个元素重排,以便收集所述海森矩阵中包含的多个元素中的稀疏元素,并且使所述系数矩阵中包含的多个元素重排,以收集所述系数矩阵中包含的多个元素中的稀疏元素。
10.根据本公开的计算方法是用计算机对凸二次规划问题求最优解的方法,该凸二次规划问题涉及包括至少一个用于解除约束的松弛变量在内的优化变量。所述计算方法包括:(a)使凸二次规划问题的评价函数的海森矩阵和凸二次规划问题的线性约束的系数矩阵各自包含的多个元素重排;(b)基于所述重排后的海森矩阵中包含的评价函数和经过所述重排后的系数矩阵中包含的线性约束,生成联立线性方程以求出最优解;(c)使用联立线
性方程求最优解。所述重排(a)包括:(a1)重排所述海森矩阵中包含的多个元素,以收集所述海森矩阵中包含的多个元素中的稀疏元素;(a2)重排所述系数矩阵中包含的多个元素,以收集所述系数矩阵中包含的多个元素中的稀疏元素。
11.当结合附图进行本发明的以下详细描述时,本发明的前述和其他目的、特征、方面和优点将变得更加明显。
12.附图的简要描述
13.图1是示出实施方式所涉及的计算设备的硬件结构的图。
14.图2是示出实施方式所涉及的计算设备的功能结构的图。
15.图3是示出实施方式所涉及的计算设备的计算处理的流程图。
16.图4是示出实施方式所涉及的计算设备的重排处理的流程图。
17.图5是示出初始海森矩阵的图。
18.图6是示出重排后的海森矩阵的图。
19.图7是示出初始线性约束的系数矩阵的图。
20.图8是示出重排后的线性约束的系数矩阵的图。
21.图9是示出实施方式所涉及的计算设备的生成处理的流程图。
22.图10是示出实施方式所涉及的计算设备的搜索处理的流程图。
具体实施方式
23.以下,将参考附图来说明实施方式。应该注意,在图中,对相同或相当的部分标注相同的参考标号,并且不进行重复说明。
24.图1是示出实施方式所涉及的计算设备1的硬件结构的图。通过安装在需要求解优化问题的设备上的控制单元来实现实施方式所涉及的计算设备1。例如,当计算设备1安装在车辆上的控制单元中时,计算设备1可以求解用于使车辆遵循目标路线的优化问题,或者可以求解用于优化燃料消耗的优化问题。当计算设备1安装在工厂控制设备中时,计算设备1可以解决优化工厂运转的优化问题。
25.如图1所示,计算设备1包括接口(i/f)11、处理器12和存储器13。
26.接口11获得各种类型的优化问题,例如凸二次规划问题。此外,接口11向控制目标等输出处理器12对优化问题的计算结果。
27.处理器12是“计算机”的一个示例。处理器12例如由cpu(中央处理单元)、fpga(现场可编程门阵列)等构成。处理器12可以由诸如asic(专用集成电路)那样的处理电路构成。处理器12通过计算优化问题来求出最优解。
28.存储器13由诸如dram(动态随机存取存储器)或sram(静态随机存取存储器)那样的易失性存储器构成,或者由诸如rom(只读存储器)那样的非易失性存储器构成。存储器13可以是包括ssd(固态驱动器)、hdd(硬盘驱动器)等的存储设备。存储器13存储用于处理器12求解优化问题的程序、计算数据等。
29.计算设备1可以是任何设备,只要计算设备1是对凸二次规划问题求最优解的设备即可,该凸二次规划问题涉及包含至少一个用于解除约束的松弛变量的优化变量,并且作为计算设备1计算对象的优化问题没有特别限制。在本实施方式中,描述用于模型预测控制的凸二次规划问题作为计算设备1的计算对象的优化问题。
30.该模型预测控制是通过使用预测模型f来预测从当前状态到表示不久将来的时间t的期间内控制目标的状态量从而确定最优控制量的方法。该模型预测控制由以下公式(2)和(3)表示:
[0031][0032][0033]
p(x(t),u(t))≤0...(3)
[0034]
在公式(2)和(3)中,x表示状态变量,u表示控制变量。在模型预测控制中,求出用于最小化评价函数l的控制变量的值,该评价函数1基于状态变量x与状态变量x的目标值之差、控制变量u与控制变量u的目标值之差等来生成。
[0035]
应注意的是,在处理求出用于最大化评价函数l的控制变量的值的优化问题的情况下,该优化问题可以被处理为通过将评价函数l乘以
“‑
1”以反转评价函数1的符号来求出用于最小化评价函数l的控制变量的值的优化问题。
[0036]
此外,本实施方式所涉及的优化问题包括由公式(3)表示的上限约束,但也可以包括下限约束。例如,在处理下限约束的情况下,可以如公式(3)所示地通过在下限约束的两侧乘以
“‑
1”以反转下限约束的符号,从而将下限约束作为上限约束来处理。
[0037]
在下面的描述中,假设计算设备1为模型预测控制求最优解,其涉及包含至少一个用于解除约束的松弛变量的控制变量u。
[0038]
当在每个预测时间t=nδt(n=0,1,2,

,n)对公式(2)和(3)进行离散化,并在每个预测时间使用初始状态量和初始控制量对公式(2)和(3)进行线性化时,得到由公式(4)至(6)表示的凸二次规划问题。
[0039][0040][0041]
p(δxn,δun)≤pn...(6)
[0042]
公式(4)~(6)中,t=nδt。δx表示状态变量与初始状态量之间的差分。δu表示控制变量与初始控制量之间的差分。qn和qn表示对评价函数进行离散化和线性化时的系数。an表示对预测控制模型进行离散化和线性化时的常数项。fn表示对预测控制模型进行离散化和线性化时的状态变量的系数。gn表示对预测控制模型进行离散化和线性化时的控制变量的系数。
[0043]
关于执行离散化和线性化的顺序,可以先执行离散化然后执行线性化,或者可以先执行线性化然后执行离散化。或者,离散化和线性化可以并行执行。
[0044]
在当前状态量x0被认为是常数项,并且状态变量xn(n=0,1,2,...,n)通过使用公式(5)的递推公式而被消去时,得到由公式(7)和(8)表示的仅使用控制变量u的凸二次规划
问题。
[0045][0046][0047]
此外,当由公式(7)表示的凸二次规划问题的评价函数由下面描述的公式(9)表示,并且由公式(8)表示的凸二次规划问题的不等式约束由下面描述的公式(10)表示时,获得要由实施方式所涉及的计算设备1优化的凸二次规划问题。
[0048][0049]
s.t.c0w≤v...(10)
[0050]
在公式(9)和(10)中,j表示凸二次规划问题的评价函数,w表示解向量,w
t
表示转置解向量,h0表示海森(hessian)矩阵,h
t
表示调整行向量,c0表示线性约束的系数矩阵,v表示约束向量。当如上述公式(7)和(8)中那样,通过用剩余优化变量的线性组合来表示部分优化变量来降低维数时,海森矩阵h0通常是稠密矩阵。术语“稠密矩阵”指的是一种矩阵,其中大多数矩阵元素具有0以外的值。
[0051]
海森矩阵h0是一个n
×
n矩阵。n=控制变量u的数量
×
预测时间步长的数量n。海森矩阵h0设为使得对应于预测时间步长n=1、2、

、n的系数从上行开始出现控制变量u的数量个。这里,术语“松弛变量”指的是为解除约束而引入的控制变量。当控制变量包括松弛变量时,海森矩阵h0仅在与松弛变量有关的对角分量上有值。
[0052]
系数矩阵c0为m
×
n矩阵。m=不等式约束p的数量
×
预测时间步长的数量n。系数矩阵c0设为与预测时间步长n=1,2,

,n相对应的约束,n从上一行出现不等式约束p的数量个。由于每个不等式约束由控制变量的线性组合来表示直到对应的预测时间步长,系数矩阵c0的非零元素限于到第(控制变量的数量
×
预测时间步长n)个元素为止的元素。当控制变量包括松弛变量时,用于预测时间步长n的不等式约束由松弛变量以外且到预测时间步长n为止的控制变量和预测时间步长n的松弛变量的线性组合来表示,因此到预测时间步长(n-1)为止的松弛变量系数均为0。
[0053]
图2是示出实施方式所涉及的计算设备1的功能结构的图。在下面的描述中,将说明性地描述计算设备1使用原始有效集方法作为凸二次规划问题求最优解的方法,然而,计算设备1也可以使用另一方法求出最优解。
[0054]
如图2所示,作为主要功能,计算设备1包括重排单元21、生成单元22和搜索单元23。包括在计算设备1中的每个功能单元通过处理器12执行存储在存储器13中的程序来实现。应当注意,计算设备1中包括的每个功能单元可以通过多个处理器12和多个存储器13的协作来实现。
[0055]
首先,通过接口11,计算设备1获得:凸二次规划问题的评价函数j,该评价函数j由公式(9)表示;凸二次规划问题的不等式约束集s1,该不等式约束集s1作为线性约束,由公式(10)表示;以及凸二次规划问题的初始解w
0in

[0056]
重排单元21使通过接口11获得的评价函数j的海森矩阵h0和通过接口11获取的线
性约束的系数矩阵c0各自包含的多个元素重排。具体将稍后描述,重排单元21使海森矩阵h0中包含的多个元素重排,以收集在海森矩阵h0中包含的多个元素中的稀疏元素。此外,重排单元21使系数矩阵c0中的多个元素重排,以收集系数矩阵c0中包含的多个元素中的稀疏元素。术语“稀疏元素”是指矩阵中包含的多个元素中取值为0的元素。
[0057]
生成单元22基于包括具有由重排单元21重排后的多个元素的海森矩阵h的评价函数、包括具有由重排单元21重排后的多个元素的系数矩阵c的线性约束、以及由初始解w
0in
生成的可行初始解和初始等式约束集或由搜索单元23更新后的解和等式约束集s2,来生成对凸二次规划问题求最优解的联立线性方程。
[0058]
搜索单元23使用生成单元22生成的联立线性方程来求最优解。当获得的解w不是凸二次规划问题的最优解时,搜索单元23更新解和等式约束集s2,以供生成单元22用于再次生成联立二次方程。另一方面,当获得的解w是凸二次规划问题的最优解时,搜索单元23通过接口11输出解w。
[0059]
图3是示出实施方式所涉及的计算设备1的计算处理的流程图。计算设备1的计算处理通过处理器12执行存储在存储器13中的程序来实现。应当注意,计算设备1的计算处理可以通过多个处理器12和多个存储器13的协作来实现。
[0060]
如图3所示,计算设备1执行重排处理(s1)。重排处理对应于图2中的重排单元21执行的处理。计算设备1执行重排处理以使评价函数j的海森矩阵h0和线性约束的系数矩阵c0各自包含的多个元素重排。
[0061]
计算设备1执行生成处理(s2)。生成处理对应于图2中的生成单元22执行的处理。计算设备1基于包括具有由重排单元21重排后的多个元素的海森矩阵h的评价函数、包括具有由重排单元21重排后的多个元素的系数矩阵c的线性约束、以及由初始解w
0in
生成的可行初始解和初始等式约束集或由搜索单元23更新的解和等式约束集s2,来执行生成处理,生成用于对凸二次规划问题求最优解的联立线性方程。
[0062]
计算设备1执行搜索处理(s3)。搜索处理对应于图2中的搜索单元23执行的处理。计算设备1使用由生成处理生成的联立线性方程执行搜索处理以求出最优解。
[0063]
图4是示出实施方式所涉及的计算设备1的重排处理的流程图。图4所示的每个处理都包括在图3的重排处理(s1)中。
[0064]
如图4所示,计算设备1判定初始海森矩阵h0的每一行是否是稀疏行(s11)。即,计算设备1判定初始海森矩阵h0的每一行是否是仅对角分量有值的行。
[0065]
计算设备1判定在步骤s11的处理中判定为稀疏的行数是否大于或等于1(s12)。当稀疏行的数量不大于等于1时,即,当稀疏行数量为0时(s12中为“否”),计算设备1结束重排处理。
[0066]
另一方面,当稀疏行的数量大于或等于1时(s12中为“是”),计算设备1使海森矩阵h0中包含的多个元素重排,以将稀疏行集中在矩阵的下侧,从而生成海森矩阵h(s13)。例如,计算设备1重排海森矩阵h0的每一行,以使稀疏行集中矩阵的下端。在这种情况下,由于海森矩阵必定是对称矩阵,计算设备1将矩阵列重排,以使列的排列顺序与重排后的行的排列顺序相匹配。计算设备1使用重排后的海森矩阵h0作为海森矩阵h。
[0067]
这里,以下参照图5和图6描述s13的示例性处理。图5是示出初始海森矩阵h0的图。图6是示出重排后的海森矩阵h的图。
[0068]
如图5和图6所示,计算设备1使海森矩阵h0中包含的多个元素重排,使得由稠密矩阵构成的海森矩阵h0变为局部稀疏矩阵。术语“稀疏矩阵”指的是一种矩阵,其中大多数矩阵元素值为0。
[0069]
在图5的海森矩阵h0中,包含uan和ubn中的每一个作为控制变量u,并包含sn作为松弛变量。作为一个示例,在图5的海森矩阵h0中,预测时间步长的数量n为5,不等式约束pn的数量为4。应当注意,下标“n”对应于预测步长的数目n。例如,当预测步长的数目为1时,ua1和ub1中的每一个表示控制变量u。
[0070]
在包含松弛变量的稠密凸二次规划问题中,如图5所示,初始海森矩阵h0的每一行都是稀疏行,针对松弛变量s至少仅有一个对角分量。因此,在图4的s13中,计算设备1重排海森矩阵h0的每一行,以使至少与松弛变量相对应的稀疏行集中在矩阵的下端,并且重排矩阵列,以使列的排列顺序与重排后的行的排列顺序相匹配,结果如图6所示,海森矩阵h可以是局部稀疏矩阵。
[0071]
返回图4,计算设备1将指示海森矩阵h中的列的排列顺序的信息存储到存储器13中(s14)。这里,由于计算设备1在步骤13中重排海森矩阵h0的列,因此解向量w中的排序改变。因此,为了防止公式(10)表示的约束条件被改变,计算设备1根据重排后的海森矩阵h的列的排列顺序重排线性约束的初始系数矩阵c0的列,从而生成系数矩阵c(s15)。例如,计算设备1重排系数矩阵c0的列,以使线性约束的初始系数矩阵c0的列的排列顺序与海森矩阵h的列的排列顺序相匹配。计算设备1使用重排后的系数矩阵c0作为系数矩阵c。
[0072]
这里,以下参照图7和图8描述s15的示例性处理。图7是示出初始线性约束的系数矩阵c0的图。图8是示出线性约束的重排后的系数矩阵c的图。
[0073]
如图7所示,线性约束的初始系数矩阵c0的非零元素被限制为直到第(控制变量的数量
×
预测时间步长n)个元素为止的元素。此外,直到预测时间步长(n-1)为止并且对应于各个不等式约束的松弛变量系数为0。因此,在图4的s15中,计算设备1根据重排后的海森矩阵h的列的排列顺序来重排线性约束的初始系数矩阵c0的列。具体地,计算设备1使系数矩阵c0中与松弛变量相对应的列集中到矩阵的右端,结果如图8中的稠密矩阵e所示,可以使稠密元素集中到矩阵的左下端。此外,计算设备1使松弛变量系数的稀疏元素集中到矩阵的右端,结果如图8中的稀疏矩阵f所示,系数矩阵c可以是局部稀疏矩阵。
[0074]
返回图4,计算设备1存储海森矩阵h中不稀疏的行(稠密行)的数量hnd(s16)。计算设备1将系数矩阵c的稠密矩阵部分(图8中的稠密矩阵e)和松弛变量系数记录到存储器13中(s17)。即,对于系数矩阵c的每一行,计算设备1将元素序号cidx1和元素序号cidx2存储到存储器13中,元素序号cidx1对应于稠密矩阵部分的起点,元素序号cidx2对应于稠密矩阵部分的终点。此外,对于系数矩阵c的每一行,计算设备1在存储器13中存储与松弛变量系数相对应的元素序号cidxs。
[0075]
计算设备1将重排后的海森矩阵h、重排后的系数矩阵c、hnd、cidx1、cidx2和cidxs存储到存储器13中,并在s3的搜索处理中使用这些数据。此后,计算设备1结束重排处理。
[0076]
图9是示出实施方式所涉及的计算设备1的生成处理的流程图。图9所示的每个处理都包括在图3的生成处理(s2)中。
[0077]
对于生成处理,计算设备1获得包括通过重排处理生成的海森矩阵h的评价函数j、包括线性约束的系数矩阵c的不等式约束集s1、初始解w
0in
、通过图10所示的搜索处理更新
的解wk以及等式约束集s2k。应当注意,解wk和等式约束集s2k中各自的下标“k”对应于搜索单元23(搜索处理)的计算迭代次数,并且k在第一次计算时是0。
[0078]
如图9所示,计算设备1判定计算迭代次数k是否大于等于1(s21)。当计算迭代次数k不是大于等于1时,即当计算迭代次数k为0时(s21中为“否”),即当经由接口11获得优化问题并且第一次使用由重排处理生成的海森矩阵h和系数矩阵c执行生成处理时,计算设备1生成可行初始解w0作为初始条件(s22),并生成初始等式约束集s20(s23)。
[0079]
当初始解w
0in
在s22的处理中满足不等式约束集s1时,计算设备1采用初始解w
0in
作为可行初始解w0。当初始解w
0in
不满足不等式约束集s1并且初始解w
0in
是不可行解时,计算设备1生成满足不等式约束集s1的可行初始解w0。
[0080]
在s23处理中,计算设备1从不等式约束集s1中提取出一个对可行初始解w0建立等式的约束,生成初始等式约束集s20,即等式约束的集合,如下式(11)所示:
[0081][0082]
式(11)中,a
t0
表示可行初始解w0满足约束向量b时的约束矩阵。
[0083]
当计算迭代次数k大于等于1时(在s21中为“是”),或者在执行完s23处理后,计算设备1生成求凸二次规划问题最优解的联立线性方程(s24),并结束生成处理。即在步骤s24的处理中,计算设备1生成用于求解仅以等式约束作为约束的评价函数j的最小化问题的联立线性方程。仅以等式约束作为约束的评价函数j的最小化问题由以下公式(12)和(13)表示:
[0084][0085][0086]
在s24的处理中,计算设备1生成包括kkt条件(karush-kuhn-tucker条件)的联立线性方程,如以下公式(14)所示:
[0087][0088]
在公式(14)中,下标“k”对应于搜索单元23(搜索处理)的计算迭代次数。当k是用公式(12)和(13)表示的计算迭代次数时,y表示最小化问题的解。λ表示对应于每个约束的拉格朗日乘子。
[0089]
图10是示出实施方式所涉及的计算设备1的搜索处理的流程图。图10所示的每个处理都包括在图3的搜索处理(s3)中。
[0090]
对于搜索处理,计算设备1获得包含由重排处理生成的海森矩阵h的评价函数j、包含线性约束的系数矩阵c的不等式约束集s1、海森矩阵h中不稀疏的行的数量hnd、与系数矩阵c中的稠密矩阵部分的起点对应的元素序号cidx1,与系数矩阵c的稠密矩阵部分的终点对应的元素序号cidx2、对应于松弛变量系数的元素序号cidxs以及由生成处理生成的联立线性方程。
[0091]
如图10所示,计算设备1判定计算迭代次数k是否大于等于1(s31)。当计算迭代次数k不是大于等于1时(s31中为“否”),计算设备1将重排后的海森矩阵h和线性约束的重排后的系数矩阵c各自的稀疏矩阵部分从计算对象中排除(s32)。在s32的处理中,计算设备1执行矩阵向量乘法。
[0092]
这里,以下描述了在重排后的海森矩阵h的矩阵向量乘法中从矩阵计算对象中排除稀疏部分的方法。当对稠密初始海森矩阵h0执行矩阵向量乘法时,计算设备1对所有行执行由下式(15)表示的乘法累加计算。即,需要对海森矩阵h0的所有矩阵元素执行乘法累加计算。
[0093][0094]
另一方面,在重排后的海森矩阵h的矩阵向量乘法中,计算设备1对i=1,2,

,hnd的非稀疏行中的稀疏分量(图6中的零矩阵a的部分)不执行乘法累加计算,如以下公式(16)所示:
[0095][0096]
此外,对于i=hnd+1,

,n的稀疏行,计算设备1仅执行一次标量乘法,因为每个这样的稀疏行仅具有如图6的对角矩阵c中所示的对角分量,如以下公式(17)所示:
[0097]hi
ixi...(17)
[0098]
如上所述,计算设备1将重排后的的海森矩阵h的稀疏部分从矩阵计算的对象中排除,结果是计算负载变小。
[0099]
接着,以下描述在线性约束的重排后的系数矩阵c的计算中从矩阵计算对象中排除稀疏部分的方法。在重排后的海森矩阵h的矩阵向量乘法中,计算设备1只需要从与稠密部分的起点对应的元素序号cidx1到与稠密部分的终点对应的元素序号cidx2进行乘法累加计算,并对每个松弛变量系数进行乘法运算,如式(18)所示:
[0100][0101]
这样,计算设备1将重排后的系数矩阵c的稀疏部分从矩阵计算对象中排除,结果是计算量可以变小。
[0102]
已经说明性地描述了计算设备1在上述s32的处理中执行矩阵向量乘法,然而,计算不限于矩阵向量乘法,而且s32的处理也可以用在使用海森矩阵h或线性约束的系数矩阵c执行另一计算时。
[0103]
当计算迭代次数k大于等于1时(s31中为“是”),或者在执行s32的处理之后,计算设备1根据数值分析方法求出由公式(14)表示的联立线性方程的解(s33)。
[0104]
作为联立线性方程求解的方法,已知的方法有以下几种:直接分析法,如高斯消元
法;以及采用迭代法的方法,如cg法(共轭梯度法)或gmres法(广义最小残差法)。应当注意,在执行这些数值分析方法的每一种方法之前,计算设备1可以对联立线性方程执行预处理,以便增加数值收敛性和稳定性。在s33中,计算设备1仅针对在s32中被从计算对象排除的稀疏部分之外的矩阵分量求解联立线性方程。
[0105]
计算设备1更新等式约束集s2
k+1
和解w
k+1
,从而获得更新后的等式约束集s2
k+1
和解w
k+1
(s34)。在生成处理(s2)中,计算设备1使用等式约束集s2
k+1
和解w
k+1
作为执行第k+1次计算时要输入的等式约束集s2k和解wk。等式约束集s2
k+1
和解w
k+1
如下地确定。
[0106]
当存在要加到等式约束集s2k中的约束时,计算设备1通过以下方式确定等式约束集s2k和解w
k+1
。具体地,当通过s33的处理获得的解y不满足不等式约束集s1的一个或多个约束时,计算设备1使用以下公式(19)确定解w
k+1

[0107]wk+1
=(1-α)wk+αy...(19)
[0108]
在公式(19)中,设α在0<α<1且解w
k+1
满足不等式约束集s1的条件下为最大值。此外,计算设备1通过将满足关于解w
k+1
的等式约束的约束新加到等式约束集s2k,从而生成更新后的等式约束集s2
k+1

[0109]
另一方面,当等式约束集s2k中存在要移除的约束时,计算设备1通过以下方式确定等式约束集s2
k+1
和解w
k+1
。具体地,当通过s33的处理获得的解y满足不等式约束集s1的所有约束时,计算设备1使用以下公式(20)确定解w
k+1

[0110]wk+1
=y...(20)
[0111]
当通过s33的处理获得的解y具有满足拉格朗日乘子λ<0的值时,计算设备1从等式约束集s2k中移除与解y的值中的最大绝对值相对应的约束,从而生成更新后的等式约束集s2
k+1

[0112]
计算设备1确定等式约束集s2k是否已被更新(s35)。具体地,计算设备1确定等式约束集s2k和等式约束集s2
k+1
是否互不相同。
[0113]
当等式约束集s2k和等式约束集s2
k+1
彼此没有不同时,即,当尚未有约束被添加到等式约束集s2k并且尚未有约束被从等式约束集s2k移除时(s35中为“否”),计算设备1重排解向量w
k+1
中的顺序以对应于原始凸二次规划问题的解向量中的顺序,并且将重排后的解向量w
k+1
作为最优解(s36)。
[0114]
即,当等式约束集s2k和等式约束集s2
k+1
彼此没有不同时,通过s33的处理获得的解y是满足不等式约束集s1并且最小化评价函数j的最优解。因此,计算设备1结束计算并输出解。在这种情况下,通过s33的处理获得的解向量在顺序上不同于由公式(9)和(10)表示的原始凸二次规划问题的解向量,这是因为海森矩阵h的列已经通过重排处理重新排列。因此,在s36的处理中,计算设备1重排解向量w
k+1
中的顺序以对应于原始凸二次规划问题的解向量中的顺序,并输出解向量作为最优解。
[0115]
当等式约束集s2k和等式约束集s2
k+1
彼此不同时(s35中为“是”),计算设备1判定等式约束的更新次数(计算迭代次数k)是否达到预先设定的上限值km(s37)。
[0116]
当计算迭代次数k达到上限值km时(s37中为“否”),计算设备1重排解向量w
k+1
中的顺序以对应于原始凸二次规划问题的解向量中的顺序,使用重排后的解向量w
k+1
作为迭代次数的上限解(s38),并结束计算。
[0117]
当计算迭代次数k未达到上限值km时(s37中为“是”),计算设备1通过使用由s34的
处理生成的等式约束集s2
k+1
和解w
k+1
进行生成处理,再次生成联立线性方程。
[0118]
因此,在根据实施方式的计算设备1中,重排单元21使初始海森矩阵h0和线性约束的初始系数矩阵c0各自包含的多个元素重排,生成单元22使用重排后的海森矩阵h和重排后的系数矩阵c,生成用于求出优化问题(凸二次规划问题)最优解的联立线性方程,搜索单元23求解由生成单元22生成的联立线性方程,从而求出满足由公式(10)表示的所有不等式约束并且最小化由公式(9)表示的评价函数j的最优解。
[0119]
在对凸二次规划问题求最优解的常规计算设备中,在凸二次规划问题的评价函数的海森矩阵和凸二次规划问题的线性约束的系数矩阵各自包含的多个元素稠密的情况下,当使用联立线性方程求最优解时,需要对海森矩阵和系数矩阵各自包含的所有元素执行矩阵计算,从而导致较大的计算负荷。
[0120]
另一方面,根据本实施方式的计算设备1对稠密海森矩阵和线性约束的稠密系数矩阵各自包含的多个元素进行重排,以在海森矩阵和系数矩阵中各自局部地恢复稀疏性,从而从联立线性方程的计算对象中排除与重排后的海森矩阵和线性约束的重排后的系数矩阵中的稀疏分量的元素相对应的矩阵分量。因此,计算设备1可以对凸二次规划问题求最优解,同时尽可能避免大的计算负载。
[0121]
如上所述,本公开是对凸二次规划问题求最优解的计算设备1,该凸二次规划问题涉及包含至少一个用于解除约束的松弛变量s的优化变量。计算设备1包括:接口11,该接口11用于获取凸二次规划问题的评价函数j和线性约束;以及处理器12,该处理器12基于由接口11获得的评估函数j和线性约束来求出最优解。处理器12包含:重排单元21,对评价函数j的海森矩阵h0和线性约束的系数矩阵c0中各自包含的多个元素进行重排;生成单元22,基于包含由重排单元21进行重排后的海森矩阵h的评价函数j和包含由重排单元21进行重排后的系数矩阵c的线性约束,生成求最优解的联立线性方程;以及搜索单元23,其利用联立线性方程求最优解。重排单元21对海森矩阵h0中包含的多个元素进行重排,以使海森矩阵h0中包含的多个元素中的稀疏元素集中,并且对系数矩阵c0中包含的多个元素进行重排,以使系数矩阵c0中包含的多个元素中的稀疏元素集中。
[0122]
根据这种结构,计算设备1对稠密海森矩阵h0和线性约束的稠密系数矩阵c0各自包含的多个元素进行重排,以使海森矩阵和系数矩阵各自的稀疏性局部恢复,从而从联立线性方程的计算对象中排除与重排后的海森矩阵h和线性约束的重排后的系数矩阵c中稀疏分量的元素对应的矩阵分量,结果使凸二次规划问题在尽可能避免大计算量的情况下求出最优解。
[0123]
优选地,重排单元21通过至少将海森矩阵h0中包含的松弛变量s对应的一行集中,来重排海森矩阵h0中包含的多个元素,并通过按照多个元素进行了重排后的海森矩阵h0的行的排列顺序,重排系数矩阵c0的列来重排系数矩阵c0中包含的多个元素。
[0124]
根据这种结构,在计算设备1中,重排后的海森矩阵h可以是局部稀疏矩阵,重排后的系数矩阵c的列的排列顺序可以与海森矩阵h的列的排列顺序匹配。
[0125]
优选地,搜索单元23利用联立线性方程求最优解,同时将重排单元21重排后的海森矩阵h中包含的与稀疏元素对应的矩阵分量和重排单元21重排后的系数矩阵c中包含的与稀疏元素对应的矩阵分量从计算对象中排除。
[0126]
根据这种结构,在计算设备1中,在重排后的海森矩阵h和线性约束的重排后的系
数矩阵c中,可以将稀疏分量的元素所对应的矩阵分量排除在联立线性方程的计算对象之外。
[0127]
本公开涉及一种计算方法,用于通过计算机(处理器12)对凸二次规划问题求最优解,该凸二次规划问题涉及包括至少一个用于解除约束的松弛变量s的优化变量。所述计算方法包括:(s1)使凸二次规划问题的评价函数j的海森矩阵h0和凸二次规划问题的线性约束的系数矩阵c0各自包含的多个元素重排;(s2)基于包含重排(s1)后的海森矩阵h的评估函数j和包含重排(s1)后的系数矩阵c0的线性约束,生成用于求出最优解的联立线性方程;(s3)使用联立线性方程求最优解。重排(s1)包括:(s13)使海森矩阵h0中包含的多个元素重排,以将海森矩阵中包含的多个元素中的稀疏元素集中;(s15)系数矩阵c0中包含的多个元素重排,以将系数矩阵c0中包含的多个元素中的稀疏元素集中。
[0128]
根据这种方法,计算设备1的处理器12(计算机)对稠密海森矩阵h0和线性约束的稠密系数矩阵c0中各自包含的多个元素进行重排,使海森矩阵和系数矩阵各自的稀疏性局部恢复,从而从联立线性方程的计算对象中排除重排后的海森矩阵h和线性约束的重排后的系数矩阵c中与稀疏分量的元素对应的矩阵分量,从而在尽可能避免大计算负荷的情况下求出凸二次规划问题的最优解。
[0129]
虽然已经详细描述和说明了本发明,但应清楚地理解,本发明仅作为说明和示例,不作为限制,本发明的范围由所附权利要求的术语解释。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1