[发明专利]一种基于L∞准则的半连续最优分段线性近似方法在审
申请号: | 201711178360.0 | 申请日: | 2017-11-23 |
公开(公告)号: | CN107994906A | 公开(公告)日: | 2018-05-04 |
发明(设计)人: | 黎彤亮;赵环宇;李晓云;庞超逸 | 申请(专利权)人: | 河北省科学院应用数学研究所 |
主分类号: | H03M7/30 | 分类号: | H03M7/30;G06F17/17 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 050000 河北省石家庄*** | 国省代码: | 河北;13 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 准则 连续 最优 分段 线性 近似 方法 | ||
1.一种基于L∞准则的半连续最优分段线性近似方法,其特征在于其包括如下步骤:
(一)利用DisConnAlg算法生成第一个代表性线段:δ-有界分段线段
S1=S[1,n],
其中S[1,n]=<p1,p2,…,pn>代表从时间点1到n时间段的子序列线段,每一个时序数据点pi=(xi,yi)代表时间点xi时所对应的实际值yi,x为横坐标轴,y为纵坐标轴;
(1)给定一个δ误差限,将每一个时序数据点pi扩展为一个范围其中pi=(xi,yi-δ),
(2)从p1=(x1,y1),p2=(x2,y2)开始初始化:
令pc=(xc,yc)=p2=(x2,y2-δ),
pb=(xb,yb)=p1=(x1,y1-δ),
令下极限直线即直线的斜率上极限直线即直线的斜率
令下凸壳即下凸壳由点与点的连线构成;上凸壳即上凸壳由点pb与点pc的连线构成,
所述a=b=1,c=d=1;
(3)根据下一个点p=(x,y)的位置,判断是否需要更新下极限直线与上极限直线及凸壳的值,并进行调整,具体如下:
当线段在直线与直线内部或者至少与一条直线有交点,即公式(1)成立时:
l(x-xa)+ya-δ≤y≤u(x-xb)+yb+δ (1)
a.如果p的上限在直线与直线内部,即公式(2)成立时,需要更新上极限直线和下凸壳cvx:
从上凸壳中找到点g,使得斜率最小;然后令pb=g;接下来删除上凸壳中点g所对应的时间点之前所有的点;更新将插入到下凸壳cvx末尾,并利用三角检验更新下凸壳cvx;
所述三角检验的第一次更新方法如下:
从下凸壳cvx中时刻距离p点最近的三个点开始检查,如果中间的点位于另外两个点所构成直线的上部或者在直线上,则去掉中间这个点,然后依次后向检验下凸壳cvx内所有的点,得到新的cvx(new),
最后令更新上极限直线;
b.如果p的下限p在直线与直线内部,即公式(3)成立时,需要更新下极限直线和
p=y-δ>l(x-xa)+ya(3)
从下凸壳cvx中找到点g,使得斜率slope(g,p)最大;然后令接着删除下凸壳cvx中点g对应的时间点之前所有的点,更新斜率将p插入到上凸壳的末尾,并利用三角检查来更新
所述三角检验第二次的更新方法如下:
从上凸壳中时刻距离p点最近的三个点开始检查,如果中间的点位于另外两个点所构成直线的下部或者在直线上,则去掉中间这个点,然后依次后向检验上凸壳内所有的点,得到新的
最后令pc=p,更新下极限直线。
(4)重复步骤(3),直到线段在直线与直线的外部,即y<l(x-xa)+ya-δ或y>u(x-xb)+yb+δ,
此时令po=(xo,yo)为直线与直线的交点,斜率ρ=(l+u)/2,
因此可以得到一个斜率为ρ,经过点po=(xo,yo)的线段,
该线段就是点p1到点pn的δ-有界分段线段的代表性线段S1;
(二)用DisConnAlg算法生成下一个代表性线段:δ-有界的分段线段Sk+1,将Sk+1作为待检验的代表性线段,采用扩展策略和缩减策略验该待定的代表性线段Sk+1是否可以前一个代表性线段Sk实现半连续;
令代表性线段Sk的下极限直线为lk,上极限直线为uk,起始点为结束点为上凸壳最右端的点为下凸壳cvxk最右端的点为
令代表性线段Sk+1的下极限直线为lk+1,上极限直线为uk+1,起始点为结束点为上凸壳最右端的点为下凸壳cvxk+1最右端的点为
令位置变量status=(m,n),
其中m,n∈{up,down},m表示点相对于代表性线段Sk的极限直线的位置,n表示点相对于代表性线段Sk+1的极限直线的位置,up表示在上极限直线之上,down表示在下极限直线之下;
当m=down时,interl代表lk+1与lk的交点,interu代表uk+1与lk的交点,
当m=up时,intupl代表lk+1与uk的交点,intupu代表uk+1与uk的交点;
根据Sk+1的两条极限直线与Sk的关系分为如下几种情况,
(1)情况1:
当Sk+1的两条极限直线都能够与Sk直接进行半-连续时,即lk+1和uk+1可以分别用来代表Sk中位于交点interl和interu之后或者intupl和intupu之后的每一个点:
a.当status=(down,up),
选择lk和uk+1作为两个新的代表性线段,并保存两条线段的交点;
b.当status=(down,down),
选择lk和lk+1作为两个新的代表性线段,并保存这两条线段的交点;
c.当status=(up,up),
选择和uk+1作为两个新的代表性线段,并保存两条线段的交点;
d.当status=(up,down),
选择uk和lk+1作为两个新的代表性线段,并保存两条线段的交点;
(2)情况2:
当只有Sk+1的一条极限直线能够与Sk直接进行半连续时,即只有Sk+1的一条极限直线能用来代表Sk中位于交点interl和interu之后或者intupl和intupu之后的每一个点时:
a.当status=(down,up)时,
尽管lk+1可以用来代表Sk中位于interl之后的点,但对后续的半连续作用的是uk+1,而此时uk+1即不和lk相交也不能代表Sk中位于interu之后的点,因此需要更新uk+1,使更新后的uk+1能够与Sk实现半-连续;
采用扩展策略更新极限直线uk+1,
扩展策略为:
从右往左对Sk+1进行更新,即将点pek加入到Sk+1中需要代表的点,利用步骤(一)的第(3)步骤进行更新极限直线uk+1,重复步骤(一)的第(3)骤直到能将uk+1与lk相交,并能代表Sk中位于interu之后的点为止,此时将更新后的uk+1记做u'k+1,选择lk和u'k+1作为两条代表性线段,保存u'k+1与lk的交点;
b.当status=(down,down)时:
lk+1直接可以用来代表Sk中位于interl之后的点,而uk+1对于实现后续的半连续并不起作用,因此不需要进行更新,因此选择lk和lk+1作为两条代表性线段,保存lk和lk+1的交点。
c.当status=(up,up),
uk+1直接可以用来代表Sk中位于intupu之后的点,而lk+1对于实现后续的半连续并不起作用,因此不需要进行更新。因此选择uk和uk+1作为两个新的代表性线段,并保存两条线段的交点。
d.当status=(up,down),
尽管uk+1可以用来代表Sk中位于intupu之后的点,但对后续的半连续起作用的是lk+1,而此时lk+1即不和uk相交也不能代表Sk中位于intupl之后的点,因此需要更新lk+1,使更新后的lk+1能够与Sk实现半连续;
采用扩展策略更新极限直线lk+1,
扩展策略为:
从右往左对Sk+1进行更新,即将点加入到Sk+1中需要代表的点,利用步骤(一)的第(3)步骤进行更新极限直线lk+1,重复步骤(一)的第(3)骤直到能将lk+1与uk相交,并能代表Sk中位于intupl之后的点为止,此时将更新后的lk+1记做l'k+1,
选择uk和l'k+1作为两个新的代表性线段,并保存两条线段的交点。
(3)情况3:
当Sk+1的两条极限直线都不能与Sk直接进行半连续时,即Sk+1的两条极限直线都不能代表与Sk交点interl和interu之后或者intupl和intupu之后的每一个点:
a.当status=(down,up),且Sk+1包含点时,lk+1和uk+1都不能与lk实现半-连续时,此时采用缩减策略;
缩减策略为:
从Sk+1中的开始向左缩减点数,更新极限直线lk+1为l'k+1,直到l'k+1与lk有交点并且能够代表点此时uk+1没有改变;
经过缩减策略后变成情况2能够解决的结果,此时按照情况2的步骤进行操作,最后可以得到更新后的u'k+1,选择lk和u'k+1作为两条代表性线段,保存u'k+1与lk的交点。
b.当status=(down,down)时,在经过后续的“缩减”策略和“扩展”策略之后,与更新后的Sk+1的相对位置会发生改变,由原来的down变成up,即由status=(down,down)转换为status=(down,up);因此可按照情况3的status=(down,up)步骤进行处理,最后得到lk和u'k+1作为两条代表性线段,保存u'k+1与lk的交点;
c.当status=(up,up),在经过后续的“缩减”策略和“扩展”策略之后,与更新后的Sk+1的相对位置会发生改变,由原来的up变成down,即由status=(up,up)转换为status=(up,down);因此可按照情况3的status=(up,down)的步骤进行处理,最后得到uk和l'k+1作为两条代表性线段,保存uk与l'k+1的交点;
d.当status=(up,down),且Sk+1包含点时,lk+1和uk+1都不能与uk实现半连续时,此时采用缩减策略。
缩减策略为:
从Sk+1中的开始向左缩减点数,更新极限直线uk+1为u'k+1,直到u'k+1与uk有交点并且能够代表点此时lk+1没有改变;
经过缩减策略后变成情况2能够解决的结果,此时按照情况2的步骤进行操作,最后可以得到更新后的l'k+1,选择uk和l'k+1作为两条代表性线段,保存uk与l'k+1的交点;
(三)重复处理
反复进行步骤(二),直到所有的数据点都被处理过。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于河北省科学院应用数学研究所,未经河北省科学院应用数学研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711178360.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:模数转换电路及流水线模数转换器
- 下一篇:一种生成压缩字典的方法及装置