CN107122847A - 一种基于双层粒子群算法的渠系配水优化方法 - Google Patents

一种基于双层粒子群算法的渠系配水优化方法 Download PDF

Info

Publication number
CN107122847A
CN107122847A CN201710224473.3A CN201710224473A CN107122847A CN 107122847 A CN107122847 A CN 107122847A CN 201710224473 A CN201710224473 A CN 201710224473A CN 107122847 A CN107122847 A CN 107122847A
Authority
CN
China
Prior art keywords
particle
mrow
msub
top layer
layer
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.)
Granted
Application number
CN201710224473.3A
Other languages
English (en)
Other versions
CN107122847B (zh
Inventor
刘照
张树清
李华朋
丁小辉
魏延生
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Northeast Institute of Geography and Agroecology of CAS
Original Assignee
Northeast Institute of Geography and Agroecology of CAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Northeast Institute of Geography and Agroecology of CAS filed Critical Northeast Institute of Geography and Agroecology of CAS
Priority to CN201710224473.3A priority Critical patent/CN107122847B/zh
Publication of CN107122847A publication Critical patent/CN107122847A/zh
Application granted granted Critical
Publication of CN107122847B publication Critical patent/CN107122847B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/06Energy or water supply

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Marketing (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • Game Theory and Decision Science (AREA)
  • Operations Research (AREA)
  • Development Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Public Health (AREA)
  • Water Supply & Treatment (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

一种基于双层粒子群算法的渠系配水优化方法,本发明涉及基于双层粒子群算法的渠系配水优化方法。本发明的目的是为了解决现有下级渠系流量不等时的渠系优化配水模型中遗传算法设计复杂,当涉及到大量个体的时候,需要较长的计算时间;遗传算法在解群规模、选择方式、收敛数据、杂交变异方式等控制参数均需经验确定,有可能出现早熟收敛、使得它不一定总是获得全局最优解;需要多次运算,不能稳定的得到解的问题。随机产生Xi、Vi、Yj和Vj;求解底层、顶层初始全局最优位置粒子;进行初始解粒子的速度与位置的更新;判断是否满足约束条件;求解全局最优解;得到了双层粒子群优化算法的最优解。本发明用于渠系配水领域。

Description

一种基于双层粒子群算法的渠系配水优化方法
技术领域
本发明涉及基于双层粒子群算法的渠系配水优化方法。
背景技术
渠系优化配水是指在配水渠道及其下级渠道过水能力一定的条件下,为满足灌区农作物某次灌水的要求,采取一定的方法与技术,对配水渠道轮灌组合进行优化。作为水资源优化配置领域一个重要的研究方向,科学合理的渠系优化配水决策可以减少渠系输水过程中的渗水损失和无效弃水,对提高水分利用率和提高粮食产量有着重要的意义。由于地形地势、外界条件的差异和实际情况的复杂性,多数情况下渠道流量并不相等,在此情况下建立渠系优化配水模型,并采用合适、高效的算法对模型进行求解。
针对这种有约束的非线性化,多决策变量的优化问题,新近发展起来的智能优化方法如遗传算法、蚁群算法、模拟退火算法、粒子群算法,为渠系优化配水模型求解提供新的契机。
马孝义、赵文举等在这方面做了大量的研究,算法上也进行了逐步改进。马孝义等(马孝义,刘哲,甘学涛.下级渠道流量不等时渠系优化配水模型与算法研究[J].灌溉排水学报,2006,25(05):17-20.)采用最为经典的和最常用的智能算法中的遗传算法(GeneticAlgorithm,GA)来解决此类问题,通过遗传算子的选择、交叉、变异操作,作用于整个种群,同时又强调个体的整合,利用遗传算法的并行机制以及全局优化特性,从群体中逐步筛选出最优目标个体,以求得最优结果。赵文举等(赵文举,马孝义,刘哲,甘学涛.基于自适应遗传算法的渠系优化配水模型研究[J].系统仿真学报,2007,19(22):5137-5140.)则采用自适应遗传算法,能在进化过程中按个体的优劣和群体分散程度自动调整遗传控制参数,可显著加快收敛速度和提高计算稳定性。同时赵文举等[3](赵文举,马孝义,张建兴,朱亚磊.基于模拟退火遗传算法的渠系配水优化编组模型研究[J].水力发电学报,2009,28(05):210-214,113.)又采用模拟退火遗传算法的混合算法,遗传算法虽有鲁棒性和全局搜索性能较强等特点,但其搜索速度慢,容易出现早熟等问题,模拟退火算法具有摆脱局部最优的能力等优点,所以将两种算法融合,针对固定惩罚函数遗传算法的模型求解方法中存在量纲难统一、搜索精度不高和过早收敛到局部最优解的问题,引入动态罚函数来约束条件,提出模拟退火算法求解模型。
此三类基于遗传算法以及混合遗传算法求解渠系优化配水模型,包括以下主要步骤:
1建立渠系优化配水模型与约束条件;
2编码设计;
3适应度函数设计以及约束条件的处理方法;
4通过遗传操作选择交叉与变异算子,增加种群多样性,同时保留精英群体,淘汰部分落后群体;
5达到循环停止条件,输出最优解决方案。
采用遗传算法、自适应遗传算法、模拟退火遗传算法求解下级渠系流量不等时的渠系优化配水模型,虽有鲁棒性强和全局搜索性能较强的优点以及混合其他算法等优点,仍然存在一些不足与缺点。
①遗传算法设计复杂,当涉及到大量个体的时候,需要较长的计算时间;
②遗传算法在解群规模、选择方式、收敛数据、杂交变异方式等控制参数均需经验确定,有可能出现早熟收敛、使得它不一定总是获得全局最优解;
③因为算法属于随机算法,需要多次运算,不能稳定的得到解;
发明内容
本发明的目的是为了解决现有下级渠系流量不等时的渠系优化配水模型中遗传算法设计复杂,当涉及到大量个体的时候,需要较长的计算时间;遗传算法在解群规模、选择方式、收敛数据、杂交变异方式等控制参数均需经验确定,有可能出现早熟收敛、使得它不一定总是获得全局最优解;需要多次运算,不能稳定的得到解的问题,而提出一种基于双层粒子群算法的渠系配水优化方法。
一种基于双层粒子群算法的渠系配水优化方法具体过程为:
步骤一、初始化Bi-PSO算法的参数,随机产生满足底层约束条件的初始解粒子的位置Xi和速度Vi的模型,满足顶层约束条件的初始解粒子的位置Yj和速度Vj的模型;具体过程为:
Bi-PSO算法为双层粒子群算法;
双层粒子群算法由2层结构组成,分别称为顶层和底层,顶层为渠系层,底层为流量层;
Bi-PSO算法的参数包括渠系层粒子规模M1、流量层粒子规模M2、渠系层粒子速度范围[-R1,R1]、流量层粒子速度范围[-R2,R2]、渠系层的斗口个数N、迭代次数N1、学习因子C1和学习因子C2;
所述M1、M2、N、N1为正整数;R1、R2为实数;C1、C2为非负数;
对粒子采用向量的编码方法,渠系层的粒子Particle1=(BMk,BMk,...,BMk,...BMk)、流量层的粒子Particle2=(CDk,CDk,...,CDk,...CDk),
BM为斗口,CD为渠道流量,k=1,...,N,1—N为正整数但不能重复;
底层流量层约束条件为:任一下级渠道的实配水流量应在其设计流量的0.6~1.0倍;下级渠道的设计流量和下级渠道的实配水流量分别为qj、qj *
0.6qj≤qj*≤1.0qj (1)
流量层每个粒子的每一维度都应满足此约束条件;
顶层渠系层的约束条件为:顶层粒子的每一维度的范围为1~N,且不能重复,N为正整数代表斗口个数;
顶层=下级渠道的斗渠编号;底层=下级渠道的斗渠配水流量;
步骤二、计算F(Xi,Yj)的初始目标适应度函数值,作为初始粒子的第一次迭代,个体最优位置即为粒子本身,比较粒子的适应度值,将最优适应度值对应每一层的粒子分别作为底层、顶层初始全局最优位置粒子;
步骤三、采用底层和顶层交互迭代,同步优化的方法,进行初始解粒子的速度与位置的更新;
步骤四、判断更新后底层和顶层两层粒子是否满足约束条件,如不满足对其进行修复,如满足,则执行步骤五;
步骤五、计算更新后每组粒子的适应度值,与步骤二中的个体最优位置和每一层全局最优位置粒子的适应度值相比,如果更新后每组粒子的适应度值大于步骤二中的每一层全局最优位置粒子的适应度值,则用更新后的每组粒子对应替换步骤二中的每一层内的全局最优粒子的位置和其个体最优位置,若更新后每组粒子的适应度值只大于步骤二中的个体最优适应度值,则用更新后的每组粒子只对应替换步骤二中的其个体最优位置,若每组粒子其适应度值不大于其个体最优适应度值,则不进行替换,将更新后的每组粒子作为全局最优解,执行步骤六;
每一组粒子包括一个Xi和一个Yj
步骤六、判断找到的全局最优解是否达到收敛条件或最大迭代次数,如果达到收敛条件或最大迭代次数,则已得到了双层粒子群优化算法的的最优解,输出结果,如果没达到收敛条件或最大迭代次数,则转到步骤三;
所述收敛条件为:前后两次适应度值差小于10-4;输出的结果为:下级渠道轮灌组的划分和下级渠道的实际流量。
本发明的有益效果为:
本发明提出的Bi-PSO算法,将渠系层和流量层分开,解决了下级渠系流量不等时渠系优化配水模型中遗传算法设计复杂,当涉及到大量个体的时候,需要较长计算时间的问题,采用向量的方式对粒子进行编码,符合思维习惯,从而使算法设计变得简单,不需考虑遗传算法在解群规模、选择方式、收敛数据、杂交变异方式等的控制参数,即可获得全局最优解,计算效率提高,求解速度快,减弱了由于地形、作物种植结构、外界条件的不同与变化,对渠道优化配水的影响,减少了配水时间,不需多次运算,即可得到稳定的解。
结合表1、表2、表3所示结果可得出本发明一种基于双层粒子群算法的渠系配水优化方法对下级渠道轮灌组的划分精确,每组轮灌组合引水持续时间均为113.4h,设计流量为0.3m3·s-1,优化配水流量为0.223m3·s-1-0.233m3·s-1之间,优化配水流量与设计流量的百分比满足约束条件。
附图说明
图1为本发明双层粒子群算法模块图;
图2为本发明双层粒子群算法流程图。
具体实施方式
具体实施方式一:结合图1、图2说明本实施方式,本实施方式的一种基于双层粒子群算法的渠系配水优化方法的具体过程为:
步骤一、初始化Bi-PSO算法的参数,随机产生满足底层约束条件的初始解粒子的位置Xi和速度Vi的模型,满足顶层约束条件的初始解粒子的位置Yj和速度Vj的模型;具体过程为:
Bi-PSO算法为双层粒子群算法;
双层粒子群算法由2层结构组成,分别称为顶层和底层,顶层为渠系层,底层为流量层;
Bi-PSO算法的参数包括渠系层粒子规模M1、流量层粒子规模M2、渠系层粒子速度范围[-R1,R1]、流量层粒子速度范围[-R2,R2]、渠系层的斗口个数N、迭代次数N1、学习因子C1和学习因子C2;
渠系层有多少个斗口,就有多少个斗渠;
所述M1、M2、N、N1为正整数;R1、R2为实数;C1、C2为非负数;
如表1所示为双层粒子群算法的其中一组参数的例子。
表1双层粒子群算法的参数设置
粒子的编码
针对渠系优化配水模型的特点,用向量对粒子进行编码,对函数优化问题或有约束的优化问题是有效的,即把每层粒子编码成N维向量。
对粒子采用向量的编码方法(Block Mouth=BM=斗口、Canal Discharge=CD=渠道流量),渠系层的粒子Particle1=(BMk,BMk,...,BMk,...BMk)、流量层的粒子Particle2=(CDk,CDk,...,CDk,...CDk)(k=1,...,N,1-N为正整数但不能重复),
例如Particle1=(6,3,16,11,7,17,14,8,5,19,15,1,2,4,18,13,9,20,10,12)为一个粒子。对应(第一维度代表斗口6,第二维度代表斗口3,第三维度代表斗口16,第四个维度代表斗口11,第五个维度代表斗口7,第六个维度代表斗口17,第七个维度代表斗口14,第八个维度代表斗口8,第九个维度代表斗口5,第十个维度代表斗口19,第十一个维度代表斗口15,第十二个维度代表斗口1,第十三个维度代表斗口2,第十四个维度代表斗口4,第十五个维度代表斗口18,第十六个维度代表斗口13,第十七个维度代表斗口9,第十八个维度代表斗口20,第十九个维度代表斗口10,第二十个维度代表斗口12)、
Particle2=(CD1,CD2,CD3,CD4,CD5,CD6,CD7,CD8,CD9,CD10,CD11,CD12,CD13,CD14,CD15,CD16,CD17,CD18,CD19,CD20)。对应(第1个维度代表斗口1的实际流量,第2个维度代表斗口2的实际流量,第3个维度代表斗口3的实际维度,第4个维度代表斗口4的实际流量,第5个维度代表斗口5的实际流量,第6个维度代表斗口6的实际流量,第7个维度代表斗口7的实际流量,第8个维度代表斗口8的实际流量,第9个维度代表斗口9的实际流量,第10个维度代表斗口10的实际流量,第11个维度代表斗口11的实际流量,第12个维度代表斗口12的实际流量,第13个维度代表斗口13的实际流量,第14个维度代表斗口14的实际流量,第15个维度代表斗口15的实际流量,第16个维度代表斗口16的实际流量,第17个维度代表斗口17的实际流量,第18个维度代表斗口18的实际流量,第19个维度代表斗口19的实际流量,第20个维度代表斗口20的实际流量)的实际流量。
底层流量层约束条件为:任一下级渠道的实配水流量应在其设计流量的0.6~1.0倍;下级渠道的设计流量和下级渠道的实配水流量分别为qj、qj *
0.6qj≤qj*≤1.0qj (1)
流量层每个粒子的每一维度都应满足此约束条件;
底层流量层的约束条件参考文献(马孝义,刘哲,甘学涛.下级渠道流量不等时渠系优化配水模型与算法研究[J].灌溉排水学报,2006,25(05):17-20.);
顶层渠系层的约束条件为:顶层粒子的每一维度的范围为1~N,且不能重复,N为正整数代表斗口个数,
例如N=20,Particle1=(6,3,16,11,7,17,14,8,5,19,15,1,2,4,18,13,9,20,10,12)为一个渠系层粒子;
顶层渠系层的约束条件,是因为将渠系斗口编号为正整数,且不能重复,根据这个原因,产生约束条件;
顶层和底层都是在下级渠道分的,跟上级渠道没有关系。这里的两级就是,上下两级渠道的意思,跟分层没有什么关系;
支渠和斗渠,为其中的上下两级渠系,支渠与斗渠相比灌溉面积大,支渠与灌溉水源相连,而斗渠直接深入基层向用水单位配水。这个是灌区部门对渠系的定义。
顶层=下级渠道的斗渠编号;底层=下级渠道的斗渠配水流量;
步骤一是建立模型;步骤二-六是模型的求解方法;
步骤二、计算F(Xi,Yj)的初始目标适应度函数值,作为初始粒子的第一次迭代,个体最优位置即为粒子本身,比较粒子的适应度值,将最优适应度值对应每一层的粒子分别作为底层、顶层初始全局最优位置粒子;
步骤三、采用底层和顶层交互迭代,同步优化的方法,进行初始解粒子的速度与位置的更新;
步骤四、判断更新后底层和顶层两层粒子是否满足约束条件,如不满足对其进行修复,如满足,则执行步骤五;
步骤五、计算更新后每组粒子的适应度值,与步骤二中的个体最优位置和每一层全局最优位置粒子的适应度值相比,如果更新后每组粒子的适应度值大于步骤二中的每一层全局最优位置粒子的适应度值,则用更新后的每组粒子对应替换步骤二中的每一层内的全局最优粒子的位置和其个体最优位置,若更新后每组粒子的适应度值只大于步骤二中的个体最优适应度值,则用更新后的每组粒子只对应替换步骤二中的其个体最优位置,若每组粒子其适应度值不大于其个体最优适应度值,则不进行替换,将更新后的每组粒子作为全局最优解,执行步骤六;
每一组粒子包括一个Xi和一个Yj
步骤六、判断找到的全局最优解是否达到收敛条件或最大迭代次数,如果达到收敛条件或最大迭代次数,则已得到了双层粒子群优化算法的的最优解,输出结果,如果没达到收敛条件或最大迭代次数,则转到步骤三;
最大迭代次数为步骤一设定的迭代次数N1最大值;
所述收敛条件为:前后两次适应度值差小于10-4;输出的结果为:下级渠道轮灌组的划分和下级渠道的实际流量。
具体实施方式二:本实施方式与具体实施方式一不同的是:所述步骤二中计算F(Xi,Yj)的初始目标适应度函数值,作为初始粒子的第一次迭代,个体最优位置即为粒子本身,比较粒子的适应度值,将最优适应度值对应每一层的粒子分别作为底层、顶层初始全局最优位置粒子;具体过程为:
F(Xi,Yj)的初始目标适应度函数值包括目标函数1和目标函数2,F是适应度函数,适应度函数是由目标函数1和目标函数2共同作用的,适应度函数是目标函数通过权重相加取倒数;
目标函数1:
式中,Z为输水损失总量,Vsu、Vsd分别为轮期内上下两级渠道的输水损失总量(m3);Au、mu、Vu、Lu、Aj、mdj、Lj、Vj为定值,Qs *为上级配水渠道的实际流量(m3/s),Xi取qj *值,qj *为下级渠道的实配水流量(m3/s);j为下级渠系的第j个斗口;Au、mu分别为上级渠道的渠床透水系数和指数,Lu为上级渠道输水长度(Km);Vu为上级渠道输水总量(m3);Aj、mdj分别为某下级渠道的渠床透水系数和指数;Lj为某下级渠道输水长度(Km);Vj为某下级配水渠道输水总量(m3);
“轮期”,比如:夏灌三轮配水计划时间为2012年6月17日8时至2012年6月24日8时,轮期为168小时,“轮期”是由灌区的水管所制定的;
顶层和底层都是在下级渠道分的,跟上级渠道没有关系。这里的两级就是,上下两级渠道的意思,跟分层没有什么关系;顶层=下级渠系的斗渠;底层=下级渠道的斗渠配水流量;
由此可以近似认为:在渠道输水总量、输水工作长度、渠床土壤性质及衬砌方式、地下水深及出流条件确定情况下,渠道输水损失水量随渠道流量增大而减小。要想减少渠道输水损失,必须在满足渠道流量安全约束条件下(在渠道设计流量的0.6~1.0倍之间变化),增大上下级渠道的流量,流量越大输水损失就越小;
目标函数2:
以各轮灌组引水持续时间差异最小,使得配水渠道进水闸尽可能在同一时间关闭,以各轮灌组引水持续时间差异△T最小为目标函数2,用式(3)表示:
则轮灌组个数P为:
式中:Ti、Tk分别为第i、k轮灌组的引水持续时间,单位为h;P为轮灌组个数,P取值为正整数;Qs为上级配水渠道的引水设计流量,q平均为下级各出水口设计流量的平均值,ceil[]为向上取整函数;floor[]为向下取整函数;
式中:1≤i≤P;j表示下级渠系的第j个斗口;tj表示开着的斗渠口的配水时间;Yj为满足顶层约束条件的初始解粒子的位置;
粒子适应度函数的构造
适应度函数要能反映渠道轮灌优化配水模型中渠道输水损失最小(公式(2))和各轮灌组间引水持续时间差异最小(公式(3))。该多目标问题采用权重系数变化法,
将目标函数1和目标函数2线性加权求和并求其倒数构造出粒子的适应度函数,为了避免Z和△T在数量级别上的相差,构造适应度函数即:
式中:particle1为计算的渠系层粒子;particle2为计算的流量层粒子;α为目标函数1与目标函数2的权重系数,α=0.5;采用层次分析法等确定,W=灌水定额*支渠水权面积;水权面积就是支渠的灌溉面积,顶层和底层,都是针对支渠的下级的渠系斗渠说的;顶层=下级渠系的斗渠;底层=下级渠道的斗渠配水流量;
建立好适应度函数之后,将步骤一渠系层与流量层初始解粒子的位置Xi、Yj代入目标函数1和目标函数2,计算每一组粒子的适应度值,比较每一组粒子的适应度值,取适应度值最大的一组粒子,作为顶层渠系层和底层流量层的初始全局最优粒子;
每一组粒子包括一个Xi和一个Yj
这里可以说成,直接将Xi、Yj,代入适应度函数,因为适应度函数是由目标函数1、2推出来的,这里的Xi就是目标函数1里的qj *;Yj是作用于目标函数2,例如目标函数2中的Ti(1≤i≤P,j表示第i轮灌组里开着的斗渠口,tj表示开着的斗渠口的配水时间)
根据适应度函数要大的,因为目标函数是输水损失最小,和轮灌组引水时间差异最小,而适应度函数是目标函数的倒数,所以取大的。
其它步骤及参数与具体实施方式一相同。
具体实施方式三:本实施方式与具体实施方式一或二不同的是:所述步骤三中采用底层和顶层交互迭代,同步优化的方法,进行初始解粒子的速度与位置的更新;具体的过程为:
全局最优粒子是指每一层所有粒子中的最优粒子,个体最优粒子是指每个粒子在每一次迭代中,位置是在不断变化的,粒子在变化时的最优粒子,所以说个体最优粒子不优于全局最优粒子;
初始化的粒子,初始粒子还没有经过计算,并不知道个体最优粒子是什么,所以就把本身看成个体最优粒子;
在每一次迭代过程中,渠系层或流量层中的粒子都是通过跟踪2个“极值”来更新自己的位置。一个是粒子本身所找到的最优解,即个体极值;另一个是本层内整体种群目前找到的最优解,称为全局解。粒子在找到上述两个极值后,根据下面公式(6)、(7)的两个公式来更新自己的速度与位置。
假设在底层有N维搜索空间,共M个粒子组成粒子群,其中第i个粒子在N维搜索空间中的初始解粒子的位置是Xi,记Xi=(Xi1,Xi2,...XiN),Xi1为第1个维度的初始解粒子的位置,Xi2为第2个维度的初始解粒子的位置,XiN为第N个维度的初始解粒子的位置,则每个粒子的位置就是一个潜在的解。将Xi带入粒子的适应度函数计算出Xi的适应度值,根据适应度值的大小衡量Xi的优劣,适应度值越大,Xi的位置优劣;第i个粒子的“飞翔”速度是一个N维向量,其初始解粒子的速度记为Vi,Vi=(Vi1,Vi2,...ViN),Vi1为第1个维度的初始解粒子的速度,Vi2为第2个维度的初始解粒子的速度,ViN为第N个维度的初始解粒子的速度,通过公式6迭代更新,得到更新后粒子的速度与位置;
适应度值大好,说明Xi位置越优;
N实际上代表就是下级渠道的斗口个数,但从粒子群算法的角度讲可以说成,搜索空间维度;
是一个含义,N实际上代表就是下级渠道的斗口个数,但从粒子群算法的角度讲可以说成,搜索空间维度。
式中:i=1,2...,M,M为粒子的个数,取值为正整数;n=1,2...,N,C1和C2为学习因子,取非负数;r1和r2为介于[0,1]之间的随机数;Vin∈[-Vmax,Vmax],Vmax为常数;若在底层Pi为底层第i个粒子迄今为止搜索到的最优位置为Pi=(Pi1,Pi2...PiN),相反地若在顶层Pi为顶层的第i个粒子迄今为止搜索到的最优位置,Pi1为底层或顶层第i个粒子第1个维度迄今为止搜索到的最优位置,Pi2为底层或顶层第i个粒子第2个维度迄今为止搜索到的最优位置,PiN为底层或顶层第i个粒子第N个维度迄今为止搜索到的最优位置,若在底层Pg为底层所有粒子迄今为止搜索到的最优位置为Pg=(Pg1,Pg2...PgN),相反地若在顶层Pg为顶层所有粒子迄今为止搜索到的最优位置,Pg1为底层或顶层所有粒子第1个维度迄今为止搜索到的最优位置,Pg2为底层或顶层所有粒子第2个维度迄今为止搜索到的最优位置,PgN为底层或顶层所有粒子第N个维度迄今为止搜索到的最优位置;
假设在顶层有N维搜索空间,共M个粒子组成粒子群,其中第j个粒子在N维搜索空间中初始解粒子的位置是Yj,记Yj=(Yj1,Yj2,...YjN),Yj1为在顶层第1个维度的初始解粒子的位置,Yj2为在顶层第2个维度的初始解粒子的位置,YjN为在顶层第N个维度的初始解粒子的位置,则每个粒子的位置就是一个潜在的解。将Yj带入粒子的适应度函数计算出Yj的适应度值,根据适应度值的大小衡量Yj的优劣,适应度值越大,Yj的位置越优;第j个粒子的“飞翔”速度是一个N维向量,其初始解粒子的速度记为Vj,Vj=(Vj1,Vj2,...VjN),Vj1为在顶层第1个维度的初始解粒子的速度,Vj2为在顶层第2个维度的初始解粒子的速度,VjN为在顶层第N个维度的初始解粒子的速度,通过公式7迭代更新,得到更新后粒子的速度与位置;
其它步骤及参数与具体实施方式一或二相同。
具体实施方式四:本实施方式与具体实施方式一至三之一不同的是:所述步骤四中判断更新后底层和顶层两层粒子是否满足约束条件,如不满足对其进行修复,如满足,则执行步骤五;具体过程为:
流量层约束条件为:任一下级渠道的实配水流量应在其设计流量的0.6~1.0倍以内;下级渠道的设计流量和下级渠道的实配水流量分别为qj、qj *
0.6qj≤qj*≤1.0qj (1)
即流量层每个粒子的每一维度都应满足此约束条件;
渠系层的约束条件为:顶层粒子的每一维度的范围为1~N,且不能重复,N为正整数代表斗口个数;
具体过程为:
底层、顶层两层粒子如不满足约束条件,则按一下步骤进行修复:
底层流量层粒子某一向量维度若大于设计流量,则按设计流量来计算,若小于0.6倍设计流量,则按设计流量的0.6倍来计算;
顶层渠系层粒子的每一维度的范围为1~N,且不能重复,N为正整数,代表斗口个数。
其它步骤及参数与具体实施方式一至三之一相同。
采用以下实施例验证本发明的有益效果:
实施例一:
本实施例一种基于双层粒子群算法的渠系配水优化方法具体是按照以下步骤制备的:
张掖市甘州区盈科灌区盈四支一分支渠其下属有20条斗渠,一分支渠的设计流量Qs=0.7m3/s,其下属各斗渠的设计流量qj=0.3m3/s;灌水定额为1200立方米/hm2,支渠水权面积为234公顷。(本数据由“黑河生态水文遥感试验(HiWATER)”产生。盖迎春,庄金鑫,徐凤英,等.黑河生态水文遥感试验:黑河流域中游渠道流量测量数据集[DS].甘肃兰州:中国科学院寒区旱区环境与工程研究所,2012.)。同时采用双层粒子群算法对已经构建好且经过实例化的多目标渠系优化配水模型进行解算,双层粒子群算法的详细参数设置如表1所示,计算结果如表2、3所示。
表2研究对象最优轮灌组合
表3优化配水过程时间与流量表
注:配水时段的0时为2012年6月17日8时即配水计划开始时间
本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,本领域技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

Claims (4)

1.一种基于双层粒子群算法的渠系配水优化方法,其特征在于该方法具体过程为:
步骤一、初始化Bi-PSO算法的参数,随机产生满足底层约束条件的初始解粒子的位置Xi和速度Vi的模型,满足顶层约束条件的初始解粒子的位置Yj和速度Vj的模型;具体过程为:
Bi-PSO算法为双层粒子群算法;
双层粒子群算法由2层结构组成,分别称为顶层和底层,顶层为渠系层,底层为流量层;
Bi-PSO算法的参数包括渠系层粒子规模M1、流量层粒子规模M2、渠系层粒子速度范围[-R1,R1]、流量层粒子速度范围[-R2,R2]、渠系层的斗口个数N、迭代次数N1、学习因子C1和学习因子C2;
所述M1、M2、N、N1为正整数;R1、R2为实数;C1、C2为非负数;
底层流量层约束条件为:任一下级渠道的实配水流量应在其设计流量的0.6~1.0倍;下级渠道的设计流量和下级渠道的实配水流量分别为qj、qj *
0.6qj≤qj *≤1.0qj (1)
流量层每个粒子的每一维度都应满足此约束条件;
顶层渠系层的约束条件为:顶层粒子的每一维度的范围为1~N,且不能重复,N为正整数代表斗口个数;
顶层=下级渠道的斗渠编号;底层=下级渠道的斗渠配水流量;
步骤二、计算F(Xi,Yj)的初始目标适应度函数值,作为初始粒子的第一次迭代,个体最优位置即为粒子本身,比较粒子的适应度值,将最优适应度值对应每一层的粒子分别作为底层、顶层初始全局最优位置粒子;
步骤三、采用底层和顶层交互迭代,同步优化的方法,进行初始解粒子的速度与位置的更新;
步骤四、判断更新后底层和顶层两层粒子是否满足约束条件,如不满足对其进行修复,如满足,则执行步骤五;
步骤五、计算更新后每组粒子的适应度值,与步骤二中的个体最优位置和每一层全局最优位置粒子的适应度值相比,如果更新后每组粒子的适应度值大于步骤二中的每一层全局最优位置粒子的适应度值,则用更新后的每组粒子对应替换步骤二中的每一层内的全局最优粒子的位置和其个体最优位置,若更新后每组粒子的适应度值只大于步骤二中的个体最优适应度值,则用更新后的每组粒子只对应替换步骤二中的其个体最优位置,若每组粒子其适应度值不大于其个体最优适应度值,则不进行替换,将更新后的每组粒子作为全局最优解,执行步骤六;
每一组粒子包括一个Xi和一个Yj
步骤六、判断找到的全局最优解是否达到收敛条件或最大迭代次数,如果达到收敛条件或最大迭代次数,则已得到了双层粒子群优化算法的的最优解,输出结果,如果没达到收敛条件或最大迭代次数,则转到步骤三;
所述收敛条件为:前后两次适应度值差小于10-4;输出的结果为:下级渠道轮灌组的划分和下级渠道的实际流量。
2.根据权利要求1所述一种基于双层粒子群算法的渠系配水优化方法,其特征在于:所述步骤二中计算F(Xi,Yj)的初始目标适应度函数值,比较粒子的适应度值,作为初始粒子的第一次迭代,个体最优位置即为粒子本身,同时将每一层最优适应度值对应的粒子分别作为底层、顶层初始全局最优位置粒子,具体过程为:
目标函数1:
<mrow> <mi>Z</mi> <mo>=</mo> <mi>m</mi> <mi>i</mi> <mi>n</mi> <mrow> <mo>(</mo> <msub> <mi>V</mi> <mrow> <mi>s</mi> <mi>u</mi> </mrow> </msub> <mo>+</mo> <msub> <mi>V</mi> <mrow> <mi>s</mi> <mi>d</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mrow> <mi>m</mi> <mi>i</mi> <mi>n</mi> <mrow> <mo>(</mo> <msub> <mi>A</mi> <mi>u</mi> </msub> <msub> <mi>L</mi> <mi>u</mi> </msub> <msub> <mi>V</mi> <mi>u</mi> </msub> <msup> <msub> <mi>Q</mi> <mi>s</mi> </msub> <mrow> <mo>*</mo> <mo>-</mo> <msub> <mi>m</mi> <mi>u</mi> </msub> </mrow> </msup> <mo>+</mo> <munderover> <mo>&amp;Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </munderover> <msub> <mi>A</mi> <mi>j</mi> </msub> <msub> <mi>L</mi> <mi>j</mi> </msub> <msub> <mi>V</mi> <mi>j</mi> </msub> <msubsup> <mi>X</mi> <mi>i</mi> <mrow> <mo>-</mo> <msub> <mi>md</mi> <mi>j</mi> </msub> </mrow> </msubsup> <mo>)</mo> </mrow> </mrow> <mn>100</mn> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow>
式中,Z为输水损失总量,Vsu、Vsd分别为轮期内上下两级渠道的输水损失总量,单位为m3;Au、mu、Vu、Lu、Aj、mdj、Lj、Vj为定值,Qs *为上级配水渠道的实际流量,单位为m3/s,Xi取qj *值,qj *为下级渠道的实配水流量,单位为m3/s;j为下级渠系的第j个斗口;Au、mu分别为上级渠道的渠床透水系数和指数,Lu为上级渠道输水长度,单位为Km;Vu为上级渠道输水总量,单位为m3;Aj、mdj分别为某下级渠道的渠床透水系数和指数;Lj为某下级渠道输水长度,单位为Km;Vj为某下级配水渠道输水总量,单位为m3
目标函数2:
以各轮灌组引水持续时间差异△T最小为目标函数2,用式3表示:
<mrow> <mi>m</mi> <mi>i</mi> <mi>n</mi> <mi>&amp;Delta;</mi> <mi>T</mi> <mo>=</mo> <mi>m</mi> <mi>a</mi> <mi>x</mi> <mrow> <mo>(</mo> <munder> <mrow> <msub> <mi>T</mi> <mi>i</mi> </msub> <mo>-</mo> <msub> <mi>T</mi> <mi>k</mi> </msub> </mrow> <mrow> <mn>1</mn> <mo>&amp;le;</mo> <mi>i</mi> <mo>&amp;le;</mo> <mi>P</mi> <mo>,</mo> <mn>1</mn> <mo>&amp;le;</mo> <mi>k</mi> <mo>&amp;le;</mo> <mi>P</mi> <mo>,</mo> <mi>i</mi> <mo>&amp;NotEqual;</mo> <mi>k</mi> </mrow> </munder> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>3</mn> <mo>)</mo> </mrow> </mrow>
则轮灌组个数P为:
式中:Ti、Tk分别为第i、k轮灌组的引水持续时间,单位为h;P为轮灌组个数,P取值为正整数;Qs为上级配水渠道的引水设计流量,q平均为下级各出水口设计流量的平均值,ceil[]为向上取整函数;floor[]为向下取整函数;
<mrow> <msub> <mi>T</mi> <mi>i</mi> </msub> <mo>=</mo> <msubsup> <mi>&amp;Sigma;</mi> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </msubsup> <msub> <mi>t</mi> <mi>j</mi> </msub> <msub> <mi>Y</mi> <mi>j</mi> </msub> <mo>,</mo> </mrow>
式中:1≤i≤P;j表示下级渠系的第j个斗口;tj表示开着的第j个斗渠口的配水时间;Yj为满足顶层约束条件的初始解粒子的位置;
粒子的适应度函数的构造
将目标函数1和目标函数2线性加权求和并求其倒数构造出粒子的适应度函数,即:
<mrow> <mi>F</mi> <mrow> <mo>(</mo> <msub> <mi>particle</mi> <mn>1</mn> </msub> <mo>,</mo> <msub> <mi>particle</mi> <mn>2</mn> </msub> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mn>1</mn> <mrow> <mi>&amp;alpha;</mi> <mi>Z</mi> <mo>/</mo> <mi>W</mi> <mo>+</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>-</mo> <mi>&amp;alpha;</mi> <mo>)</mo> </mrow> <mi>&amp;Delta;</mi> <mi>T</mi> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>5</mn> <mo>)</mo> </mrow> </mrow>
式中:particle1为计算的渠系层粒子;particle2为计算的流量层粒子;α为目标函数1与目标函数2的权重系数,α=0.5;采用层次分析法等确定,W=灌水定额*支渠水权面积;水权面积就是支渠的灌溉面积;
建立好适应度函数之后,将步骤一渠系层与流量层初始解粒子的位置Xi、Yj代入目标函数1和目标函数2,计算每一组粒子的适应度值,比较每一组粒子的适应度值,取适应度值最大的一组粒子,作为顶层渠系层和底层流量层的初始全局最优粒子;
每一组粒子包括一个Xi和一个Yj
3.根据权利要求2所述一种基于双层粒子群算法的渠系配水优化方法,其特征在于:所述步骤三中采用底层和顶层交互迭代,同步优化的方法,进行初始解粒子的速度与位置的更新;具体的过程为:
假设在底层有N维搜索空间,共M个粒子组成粒子群,其中第i个粒子在N维搜索空间中的初始解粒子的位置是Xi,记Xi=(Xi1,Xi2,...XiN),Xi1为在底层第1个维度的初始解粒子的位置,Xi2为在底层第2个维度的初始解粒子的位置,XiN为在底层第N个维度的初始解粒子的位置,将Xi带入粒子的适应度函数计算出Xi的适应度值,适应度值越大,Xi的位置越优;第i个粒子的速度是一个N维向量,其初始解粒子的速度记为Vi,Vi=(Vi1,Vi2,...ViN),Vi1为在底层第1个维度的初始解粒子的速度,Vi2为在底层第2个维度的初始解粒子的速度,ViN为在底层第N个维度的初始解粒子的速度,通过公式6迭代更新,得到更新后粒子的速度与位置;
式中:i=1,2...,M,M为粒子的个数,取值为正整数;n=1,2...,N,C1和C2为学习因子,取非负数;r1和r2为介于[0,1]之间的随机数;Vin∈[-Vmax,Vmax],Vmax为常数;若在底层Pi为底层第i个粒子迄今为止搜索到的最优位置为Pi=(Pi1,Pi2...PiN),若在顶层Pi为顶层的第i个粒子迄今为止搜索到的最优位置,Pi1为底层或顶层第i个粒子第1个维度迄今为止搜索到的最优位置,Pi2为底层或顶层第i个粒子第2个维度迄今为止搜索到的最优位置,PiN为底层或顶层第i个粒子第N个维度迄今为止搜索到的最优位置;若在底层Pg为底层所有粒子迄今为止搜索到的最优位置为Pg=(Pg1,Pg2...PgN),若在顶层Pg为顶层所有粒子迄今为止搜索到的最优位置,Pg1为底层或顶层所有粒子第1个维度迄今为止搜索到的最优位置,Pg2为底层或顶层所有粒子第2个维度迄今为止搜索到的最优位置,PgN为底层或顶层所有粒子第N个维度迄今为止搜索到的最优位置;
假设在顶层有N维搜索空间,共M个粒子组成粒子群,其中第j个粒子在N维搜索空间中初始解粒子的位置是Yj,记Yj=(Yj1,Yj2,...YjN),Yj1为在顶层第1个维度的初始解粒子的位置,Yj2为在顶层第2个维度的初始解粒子的位置,YjN为在顶层第N个维度的初始解粒子的位置,将Yj带入粒子的适应度函数计算出Yj的适应度值,适应度值越大,Yj的位置越优;第j个粒子的速度是一个N维向量,其初始解粒子的速度记为Vj,Vj=(Vj1,Vj2,...VjN),Vj1为在顶层第1个维度的初始解粒子的速度,Vj2为在顶层第2个维度的初始解粒子的速度,VjN为在顶层第N个维度的初始解粒子的速度,通过公式7迭代更新,得到更新后粒子的速度与位置;
4.根据权利要求3所述一种基于双层粒子群算法的渠系配水优化方法,其特征在于:所述步骤四中判断更新后底层和顶层两层粒子是否满足约束条件,如不满足对其进行修复,如满足,则执行步骤五;具体过程为:
底层、顶层两层粒子如不满足约束条件,则按一下步骤进行修复:
底层流量层粒子某一向量维度若大于设计流量,则按设计流量来计算,若小于0.6倍设计流量,则按设计流量的0.6倍来计算;
顶层渠系层粒子的每一维度的范围为1~N,且不能重复,N为正整数,代表斗口个数。
CN201710224473.3A 2017-04-07 2017-04-07 一种基于双层粒子群算法的渠系配水优化方法 Active CN107122847B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710224473.3A CN107122847B (zh) 2017-04-07 2017-04-07 一种基于双层粒子群算法的渠系配水优化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710224473.3A CN107122847B (zh) 2017-04-07 2017-04-07 一种基于双层粒子群算法的渠系配水优化方法

Publications (2)

Publication Number Publication Date
CN107122847A true CN107122847A (zh) 2017-09-01
CN107122847B CN107122847B (zh) 2020-09-15

Family

ID=59724769

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710224473.3A Active CN107122847B (zh) 2017-04-07 2017-04-07 一种基于双层粒子群算法的渠系配水优化方法

Country Status (1)

Country Link
CN (1) CN107122847B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112734136A (zh) * 2021-01-26 2021-04-30 石河子大学 一种基于粒子群算法的轮灌组优化方法和系统
CN112836419A (zh) * 2021-01-15 2021-05-25 西南交通大学 一种热源分流式余热发电系统及其粒子群优化控制方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103559593A (zh) * 2013-11-22 2014-02-05 华中科技大学 湖泊群多目标水质水量优化调度方法
US20160125436A1 (en) * 2014-10-31 2016-05-05 Fujitsu Limited Computer-readable medium, system and method
CN106169109A (zh) * 2016-08-17 2016-11-30 国网江西省电力公司柘林水电厂 一种基于混沌差分粒子群算法的水电站优化调度方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103559593A (zh) * 2013-11-22 2014-02-05 华中科技大学 湖泊群多目标水质水量优化调度方法
US20160125436A1 (en) * 2014-10-31 2016-05-05 Fujitsu Limited Computer-readable medium, system and method
CN106169109A (zh) * 2016-08-17 2016-11-30 国网江西省电力公司柘林水电厂 一种基于混沌差分粒子群算法的水电站优化调度方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CHIA-CHONG CHEN: "Two-layer particle swarm optimization for unconstrained optimization problems", 《APPLIED SOFT COMPUTING》 *
马孝义 等: "下级渠道流量不等时渠系优化配水模型与算法研究", 《灌溉排水学报》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112836419A (zh) * 2021-01-15 2021-05-25 西南交通大学 一种热源分流式余热发电系统及其粒子群优化控制方法
CN112836419B (zh) * 2021-01-15 2023-04-18 西南交通大学 一种热源分流式余热发电系统及其粒子群优化控制方法
CN112734136A (zh) * 2021-01-26 2021-04-30 石河子大学 一种基于粒子群算法的轮灌组优化方法和系统
CN112734136B (zh) * 2021-01-26 2022-08-02 石河子大学 一种基于粒子群算法的轮灌组优化方法和系统

Also Published As

Publication number Publication date
CN107122847B (zh) 2020-09-15

Similar Documents

Publication Publication Date Title
Karami et al. Flow direction algorithm (FDA): a novel optimization approach for solving optimization problems
Zhang et al. Evaluation of resources and environmental carrying capacity of 36 large cities in China based on a support-pressure coupling mechanism
Wang et al. Application of genetic algorithm to land use optimization for non-point source pollution control based on CLUE-S and SWAT
Chen et al. Improving flood forecasting capability of physically based distributed hydrological models by parameter optimization
Chang et al. Optimization of water resources utilization by PSO-GA
CN104050242B (zh) 基于最大信息系数的特征选择、分类方法及其装置
CN105096614B (zh) 基于生成型深信度网络的新建路口交通流量预测方法
Golafshani et al. Green mix design of rubbercrete using machine learning-based ensemble model and constrained multi-objective optimization
CN107122927A (zh) 一种调水引流水环境改善效果综合评价方法
CN106022377A (zh) 一种铁矿烧结料层透气性状态的在线预测方法
Zhang et al. A genetic algorithm with jumping gene and heuristic operators for traveling salesman problem
Fotakis et al. Combined land-use and water allocation planning
CN112906950B (zh) 一种海绵城市规划设计系统
Liu et al. A macro-evolutionary multi-objective immune algorithm with application to optimal allocation of water resources in Dongjiang River basins, South China
CN102842066B (zh) 一种生物质炉燃烧优化的建模方法
CN114692265A (zh) 一种基于深度强化学习的零碳建筑优化设计方法
CN106845012A (zh) 一种基于多目标密度聚类的高炉煤气系统模型隶属度函数确定方法
CN112182951B (zh) 一种考虑多重不确定性的土地利用规划方法
CN107122847A (zh) 一种基于双层粒子群算法的渠系配水优化方法
Wang et al. A new approach of obtaining reservoir operation rules: Artificial immune recognition system
CN113204878A (zh) 基于环境容量的污染源排污许可量分配方法
CN115481810A (zh) 基于多目标优化的国土空间规划的方法
CN108320504A (zh) 基于监测数据的动态od矩阵估计方法
Liu et al. Optimal operation of interbasin water transfer multireservoir systems: an empirical analysis from China
CN109255485A (zh) 基于rbfn机器学习的降雨型地质灾害预警预报模型及学习方法

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