一种基于纵横交叉算法的机组组合优化方法及装置与流程

文档序号:11231440阅读:761来源:国知局
一种基于纵横交叉算法的机组组合优化方法及装置与流程
本发明涉及电力
技术领域
,特别是涉及一种基于纵横交叉算法的机组组合优化方法及装置。
背景技术
:在电力系统中,机组组合(uc)问题是其中的一个重要问题。机组组合问题是一个组合优化问题,主要任务是确定机组的开停机时间以及负荷的经济分配,使得在满足预测负荷需求的前提下总的运行成本最低。由于机组容量限制、爬坡约束、旋转备用约束、最小开停机时间约束等一系列机组和系统约束,使得机组组合问题成为一个复杂的、大规模的、动态的、混合整数非线性问题。近年来,随着智能算法的快速发展,启发式搜索技术逐渐发展起来,各种启发式搜索技术被用来解决机组组合问题,如遗传算法(ga)、粒子群优化(pso)、引力搜索算法(gsa)、人工蜂群(abc)、进化规划(ep)、差分进化(de)等。上述方法在一定程度上可以解决少量机组组合问题,但是对于电力系统中大规模的机组组合问题,这些优化方法都容易陷入维数灾难,容易产生在提高全局收敛能力的同时牺牲收敛速度的问题。技术实现要素:本发明的目的是提供一种基于纵横交叉算法的机组组合优化方法及装置,以在提高全局收敛能力的同时保持收敛速度。为解决上述技术问题,本发明提供如下技术方案:一种基于纵横交叉算法的机组组合优化方法,包括:确定电力系统运行费用最低的目标函数;基于所述目标函数和所述电力系统机组约束,建立所述电力系统机组组合的优化模型;根据所述优化模型的潜在解,初始化种群,获得初始机组状态矩阵和初始机组出力矩阵;基于所述初始机组状态矩阵和所述初始机组出力矩阵,依次使用二进制纵横交叉算法bcso和纵横交叉算法cso迭代进行横向交叉和纵向交叉操作,产生的子代和父代竞争,获得所述电力系统机组组合的优化解。在本发明的一种具体实施方式中,所述基于所述初始机组状态矩阵和所述初始机组出力矩阵,依次使用二进制纵横交叉算法bcso和纵横交叉算法cso迭代进行横向交叉和纵向交叉操作,产生的子代和父代竞争,获得所述电力系统机组组合的优化解,包括:将所述初始机组状态矩阵确定为父代种群的机组状态矩阵;使用bcso对所述父代种群的机组状态矩阵进行横向交叉产生子代,修正机组状态和功率平衡,获得bcso横向交叉后的占优解;使用cso对所述bcso横向交叉后的占优解的机组出力矩阵进行横向交叉产生子代,修正功率平衡,获得cso横向交叉后的占优解;使用bcso对所述cso横向交叉后的占优解的机组状态矩阵进行纵向交叉产生子代,修正机组状态和功率平衡,获得bcso纵向交叉后的占优解;使用cso对所述bcso纵向交叉后的占优解的机组出力矩阵进行纵向交叉产生子代,修正功率平衡,获得cso纵向交叉后的占优解;将所述cso纵向交叉后的占优解的机组状态矩阵确定为父代种群的机组状态矩阵,重复执行所述使用bcso对所述父代种群的机组状态矩阵进行横向交叉产生子代,修正机组状态和功率平衡,获得bcso横向交叉后的占优解的步骤,直至达到设定的最大迭代次数,获得所述电力系统机组组合的优化解。在本发明的一种具体实施方式中,所述使用bcso对所述父代种群的机组状态矩阵进行横向交叉产生子代,包括:对所述父代种群的机组状态矩阵中的所有粒子进行两两不重复配对;针对每一对粒子,对该对粒子的每一维进行bcso横向交叉,获得每一维的子代;对获得的子代进行二进制化处理,产生所述父代种群对应的子代。在本发明的一种具体实施方式中,所述使用cso对所述bcso横向交叉后的占优解的机组出力矩阵进行横向交叉产生子代,包括:对所述bcso横向交叉后的占优解的机组出力矩阵中的所有粒子进行两两不重复配对;针对每一对粒子,对该粒子的每一维进行cso横向交叉,获得每一维的子代。在本发明的一种具体实施方式中,所述使用bcso对所述cso横向交叉后的占优解的机组状态矩阵进行纵向交叉产生子代,包括:对所述cso横向交叉后的占优解的机组状态矩阵中的所有维进行两两不重复配对;针对每一对维,在预设的bcso纵向交叉率下,对每个粒子的该对维进行bcso纵向交叉,获得每个粒子的相应维的子代;对获得的子代进行二进制化处理,产生所述cso横向交叉后的占优解对应的子代。在本发明的一种具体实施方式中,所述使用cso对所述bcso纵向交叉后的占优解的机组出力矩阵进行纵向交叉产生子代,包括:对所述bcso纵向交叉后的占优解的机组出力矩阵的每一维进行归一化处理;对归一化后的所述bcso纵向交叉后的占优解的机组出力矩阵中所有维进行两两不重复配对;针对每一对维,在预设的cso纵向交叉率下,对每个粒子的该对维进行cso纵向交叉,获得每个粒子的相应维的子代;对获得的子代进行反归一化处理,产生所述bcso纵向交叉后的占优解对应的子代。在本发明的一种具体实施方式中,通过以下步骤修正机组状态:确定所有机组的平均燃料费用;根据平均燃料费用从小到大的顺序对机组进行排列,获得机组的优先顺序表;确定每一个时段旋转备用是否满足;如果否,则按照所述优先顺序表顺序开启没有运行的机组直至满足旋转备用;确定每一个机组的状态是否满足最小开停机时间;如果否,则启动或关闭部分时段机组使其满足最小开停机时间;按照所述优先顺序表的逆顺序确定每一个时段是否存在冗余的机组;如果是,则在满足其他约束条件的情况下关闭冗余的机组。在本发明的一种具体实施方式中,通过以下步骤修正功率平衡:确定每个时段的功率平衡是否满足;如果机组出力大于对应时段的负荷需求,则在满足机组出力上下限约束的情况下,按照所述优先顺序表的逆顺序依次减少运行机组的出力直至满足功率平衡;如果机组出力小于对应时段的负荷需求,则在满足机组出力上下限约束的情况下,按照所述优先顺序表的顺序依次增加运行机组的出力直至满足功率平衡。一种基于纵横交叉算法的机组组合优化装置,包括:目标函数确定模块,用于确定电力系统运行费用最低的目标函数;优化模型建立模块,用于基于所述目标函数和所述电力系统机组约束,建立所述电力系统机组组合的优化模型;初始化模块,用于根据所述优化模型的潜在解,初始化种群,获得初始机组状态矩阵和初始机组出力矩阵;优化解获得模块,用于基于所述初始机组状态矩阵和所述初始机组出力矩阵,依次使用二进制纵横交叉算法bcso和纵横交叉算法cso迭代进行横向交叉和纵向交叉操作,产生的子代和父代竞争,获得所述电力系统机组组合的优化解。在本发明的一种具体实施方式中,所述优化解获得模块,包括:第一确定子模块,用于将所述初始机组状态矩阵确定为父代种群的机组状态矩阵;bcso横向交叉子模块,用于使用bcso对所述父代种群的机组状态矩阵进行横向交叉产生子代,修正机组状态和功率平衡,获得bcso横向交叉后的占优解;cso横向交叉子模块,用于使用cso对所述bcso横向交叉后的占优解的机组出力矩阵进行横向交叉产生子代,修正功率平衡,获得cso横向交叉后的占优解;bcso纵向交叉子模块,用于使用bcso对所述cso横向交叉后的占优解的机组状态矩阵进行纵向交叉产生子代,修正机组状态和功率平衡,获得bcso纵向交叉后的占优解;cso纵向交叉子模块,用于使用cso对所述bcso纵向交叉后的占优解的机组出力矩阵进行纵向交叉产生子代,修正功率平衡,获得cso纵向交叉后的占优解;第二确定子模块,用于在未达到设定的最大迭代次数时,将所述cso纵向交叉后的占优解的机组状态矩阵确定为父代种群的机组状态矩阵,触发所述bcso横向交叉子模块;优化解获得子模块,用于在达到设定的最大迭代次数时,获得所述电力系统机组组合的优化解。应用本发明实施例所提供的技术方案,基于电力系统运行费用最低的目标函数和电力系统机组约束,建立电力系统机组组合的优化模型,根据优化模型的潜在解,初始化种群,获得初始机组状态矩阵和初始机组出力矩阵,基于该初始机组状态矩阵和初始机组出力矩阵,可以依次使用bcso和cso迭代进行横向交叉和纵向交叉操作,产生的子代和父代竞争,获得电力系统机组组合的优化解。纵横交叉算法的横向交叉和纵向交叉在迭代过程中的每一代交替进行,将两种交叉搜索方式完美结合。当每次交叉操作结束后,子代与父代进行比较,当子代粒子的适应度比父代更好时,被保留下来进入下次迭代。使得粒子个体信息能够快速地在种群中传播,达到了很好的交流作用,在极大地提高全局收敛能力的同时保持了收敛速度。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例中一种基于纵横交叉算法的机组组合优化方法的实施流程图;图2为本发明实施例中优化解获得过程示意图;图3为本发明实施例中10机系统的收敛曲线图;图4为本发明实施例中20机系统的收敛曲线图;图5为本发明实施例中40机系统的收敛曲线图;图6为本发明实施例中60机系统的收敛曲线图;图7为本发明实施例中80机系统的收敛曲线图;图8为本发明实施例中100机系统的收敛曲线图;图9为本发明实施例中一种基于纵横交叉算法的机组组合优化装置的结构示意图;图10为本发明实施例中优化解获得装置的结构示意图。具体实施方式为了使本
技术领域
的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。参见图1所示,为本发明实施例所提供的一种基于纵横交叉算法的机组组合优化方法的实施流程图,该方法包括以下步骤:s110:确定电力系统运行费用最低的目标函数。本发明实施例所提供的方法具体可以应用于电力系统安排日前发电计划。机组组合的任务是确定机组的开停机时间以及负荷的经济分配,使得在满足预测负荷需求的前提下总的运行成本最低。根据机组在各时段的发电运行费用、启动费用和状态,可以确定电力系统运行费用最低的目标函数,该目标函数的具体形式如公式(1)所示:其中,tc为电力系统运行费用;fi(pit)为机组i在t时段的发电运行费用,可使用公式(2)表示;pit为机组i在t时段的出力值;sci为机组i在t时段的启动费用,可使用公式(3)表示;uit为机组i在t时段的状态;n为机组数。在公式(2)和公式(3)中,ai、bi、ci分别为机组i的燃料费用系数;hci和cci分别为机组i的热启动成本和冷启动成本;toffit为机组i在t时段的连续停机时间;mdti和cshi分别为机组i的最小连续停机时间和冷启动时间。s120:基于目标函数和电力系统机组约束,建立电力系统机组组合的优化模型。基于电力系统运行费用最低的目标函数,考虑电力系统机组的等式约束和不等式约束,可以建立电力系统机组组合的优化模型。在本发明实施例中,等式约束如公式(4)所示:其中,loadt为t时段的负荷需求。不等式约束如公式(5)~公式(7)所示:pmini≤pit≤pmaxi公式(7)其中,pmini为机组i的最小技术出力;pmaxi为机组i的最大技术出力;srt为t时段的旋转备用;muti为机组i的最小连续开机时间;tonit为机组i在t时段的连续开机时间。公式(1)~公式(7)共同构成电力系统机组组合的优化模型。s130:根据优化模型的潜在解,初始化种群,获得初始机组状态矩阵和初始机组出力矩阵。在步骤s120,建立电力系统机组组合的优化模型,该优化模型有多种潜在解。可以随机选取设定数量的潜在解,构成种群,对种群进行初始化,并设定相关参数,获得初始机组状态矩阵和初始机组出力矩阵。在本发明实施例中,可以设定种群大小为m,时间段数为t,机组数目为n,最大迭代次数为maxgen。随机初始化机组状态,在机组出力范围内随机初始化机组出力。种群中第m个粒子的机组状态矩阵bmm如公式(8)所示,种群中第m个粒子的机组出力矩阵pmm如公式(9)所示:其中,为第m个粒子机组i在t时段的机组状态,为第m个粒子机组i在t时段的机组出力。s140:基于初始机组状态矩阵和初始机组出力矩阵,依次使用二进制纵横交叉算法bcso和纵横交叉算法cso迭代进行横向交叉和纵向交叉操作,产生的子代和父代竞争,获得电力系统机组组合的优化解。在本发明实施例中,基于初始机组状态矩阵和初始机组出力矩阵,依次使用二进制纵横交叉算法(binarycrisscrossoptimization,bcso)和纵横交叉算法(crisscrossoptimization,cso)迭代进行横向交叉和纵向交叉操作,产生的子代和父代竞争,可以获得机组组合的优化解。通过纵横交叉算法的横向交叉和纵向交叉操作与竞争算子相结合,可以保证个体信息快速在种群中传播开来,提高算法的全局搜索能力。参见图2所示,在本发明的一种具体实施方式中,步骤s140可以包括以下步骤:s141:将初始机组状态矩阵确定为父代种群的机组状态矩阵;s142:使用bcso对父代种群的机组状态矩阵进行横向交叉产生子代,修正机组状态和功率平衡,获得bcso横向交叉后的占优解;s143:使用cso对bcso横向交叉后的占优解的机组出力矩阵进行横向交叉产生子代,修正功率平衡,获得cso横向交叉后的占优解;s144:使用bcso对cso横向交叉后的占优解的机组状态矩阵进行纵向交叉产生子代,修正机组状态和功率平衡,获得bcso纵向交叉后的占优解;s145:使用cso对bcso纵向交叉后的占优解的机组出力矩阵进行纵向交叉产生子代,修正功率平衡,获得cso纵向交叉后的占优解;s146:确定是否达到设定的最大迭代次数;如果否,则执行步骤s147,如果是,则执行步骤s148;s147:将cso纵向交叉后的占优解的机组状态矩阵确定为父代种群的机组状态矩阵,重复执行步骤s142的操作;s148:获得电力系统机组组合的优化解。为便于描述,将上述步骤结合起来进行说明。在步骤s130根据优化模型的潜在解,初始化种群,获得初始机组状态矩阵和初始机组出力矩阵,第一个父代种群即包括初始机组状态矩阵和初始机组出力矩阵。将该初始机组状态矩阵确定为父代种群的机组状态矩阵,使用bcso对父代种群的机组状态矩阵进行横向交叉可以产生子代。具体的,可以通过以下步骤对父代种群的机组状态矩阵进行bcso横向交叉操作:步骤一:对父代种群的机组状态矩阵中的所有粒子进行两两不重复配对;步骤二:针对每一对粒子,对该对粒子的每一维进行bcso横向交叉,获得每一维的子代;步骤三:对获得的子代进行二进制化处理,产生父代种群对应的子代。父代种群的机组状态矩阵中包含多个粒子,对父代种群的机组状态矩阵中的所有粒子进行两两不重复配对,可以获得多对粒子。针对每一对粒子,可以对该对粒子的每一维进行bcso横向交叉,获得每一维的子代。如对粒子x(i)和x(j)的第d维进行bcso横向交叉,可以使用公式(10):其中,d∈(1,n×t);r1、r2为[0,1]之间的随机数;c1、c2为[-1,1]之间的随机数;xid和xjd分别为粒子x(i)和x(j)的第d维;mshid和mshjd分别为横向交叉后的第d维子代。使用公式(10)可以对每一对粒子的每一维进行bcso横向交叉,获得每一对粒子每一维的子代。对获得的子代进行二进制化处理,可以产生第一父代种群对应的子代。具体可以通过公式(11)进行二进制化处理:其中,bid为二进制化结果,s(x)为sigmoid函数,s(x)=1/1+exp(-x)。产生父代种群对应的子代后,修正机组状态和功率平衡,对子代进行选择,对子代选择的过程也是子代和父代竞争的过程,具体的,如果子代粒子的适应度值大于对应的父代粒子的适应度值,则父代粒子被子代粒子替代,否则保留父代粒子。从而可以获得bcso横向交叉后的占优解。在本发明的一种具体实施方式中,可以通过以下步骤修正机组状态:第一个步骤:确定所有机组的平均燃料费用;第二个步骤:根据平均燃料费用从小到大的顺序对机组进行排列,获得机组的优先顺序表;第三个步骤:确定每一个时段旋转备用是否满足,如果否,则执行第四个步骤;第四个步骤:按照优先顺序表顺序开启没有运行的机组直至满足旋转备用;第五个步骤:确定每一个机组的状态是否满足最小开停机时间,如果否,则执行第六个步骤;第六个步骤:启动或关闭部分时段机组使其满足最小开停机时间;第七个步骤:按照优先顺序表的逆顺序确定每一个时段是否存在冗余的机组,如果是,则执行第八个步骤;第八个步骤:在满足其他约束条件的情况下关闭冗余的机组。在本发明实施例中,可以根据公式(12)确定机组i的平均燃料费用αi:根据平均燃料费用从小到大的顺序对机组进行排列,可以获得机组的优先顺序表(pl)。针对每一个时段,可以确定该时段旋转备用是否满足,如果否,则可以按照优先顺序表顺序开启没有运行的机组直至满足旋转备用,如果是,则可以针对每一个机组,确定该机组的状态是否满足最小开停机时间,如果否,则可以启动或关闭部分时段机组使其满足最小开停机时间,如果是,则可以按照优先顺序表的逆顺序确定每一个时段是否存在冗余的机组,如果存在,则可以在满足其他约束条件的情况下关闭冗余的机组。在本发明的一种具体实施方式中,可以通过以下步骤修正功率平衡:步骤一:确定每个时段的功率平衡是否满足;步骤二:如果机组出力大于对应时段的负荷需求,则在满足机组出力上下限约束的情况下,按照优先顺序表的逆顺序依次减少运行机组的出力直至满足功率平衡;步骤三:如果机组出力小于对应时段的负荷需求,则在满足机组出力上下限约束的情况下,按照优先顺序表的顺序依次增加运行机组的出力直至满足功率平衡。获得的bcso横向交叉后的占优解包括机组状态矩阵和机组出力矩阵,可以使用cso对bcso横向交叉后的占优解的机组出力矩阵进行横向交叉产生子代。具体的,可以通过以下步骤对bcso横向交叉后的占优解的机组出力矩阵进行cso横向交叉操作:第一个步骤:对bcso横向交叉后的占优解的机组出力矩阵中的所有粒子进行两两不重复配对;第二个步骤:针对每一对粒子,对该粒子的每一维进行cso横向交叉,获得每一维的子代。bcso横向交叉后的占优解的机组出力矩阵中包含多个粒子,对其中的所有粒子进行两两不重复配对,可以获得多对粒子。针对每一对粒子,可以对该对粒子的每一维进行cso横向交叉,获得每一维的子代。具体可以使用公式(10)对粒子x(i)和x(j)的第d维进行cso横向交叉。产生bcso横向交叉后的占优解对应的子代后,修正功率平衡,功率平衡修正方法如上述,在此不再赘述。对子代进行选择,具体的,如果子代粒子的适应度值大于对应的父代粒子的适应度值,则父代粒子被子代粒子替代,否则保留父代粒子。从而可以获得cso横向交叉后的占优解。获得cso横向交叉后的占优解后,可以使用bcso对cso横向交叉后的占优解的机组状态矩阵进行纵向交叉产生子代。具体的,可以通过以下步骤对cso横向交叉后的占优解的机组状态矩阵进行bcso纵向交叉操作:步骤一:对cso横向交叉后的占优解的机组状态矩阵中的所有维进行两两不重复配对;步骤二:针对每一对维,在预设的bcso纵向交叉率下,对每个粒子的该对维进行bcso纵向交叉,获得每个粒子的相应维的子代;步骤三:对获得的子代进行二进制化处理,产生cso横向交叉后的占优解对应的子代。cso横向交叉后的占优解的机组状态矩阵中包含多个粒子,每个粒子具有多维,对其中的所有维进行两两不重复配对,可以获得多对维。针对每一对维,在预设的bcso纵向交叉率pv1下,可以对每个粒子的该对维进行bcso纵向交叉,获得每个粒子相应维的子代。具体可以使用公式(13)对粒子x(i)的第d1维和第d2维进行bcso纵向交叉:msvi,d1=r·xi,d1+(1-r)·xi,d2公式(13)其中,r为[0,1]上的均匀分布随机数;msvi,d1为粒子x(i)的第d1维子代。使用公式(13)可以对每个粒子的每一对维进行bcso纵向交叉,获得每个粒子的相应维的子代。对获得的子代进行二进制化处理,可以产生cso横向交叉后的占优解对应的子代。具体可以通过公式(14)进行二进制化处理:其中,bid为二进制化结果,s(x)为sigmoid函数,s(x)=1/1+exp(-x)。产生cso横向交叉后的占优解对应的子代后,修正机组状态和功率平衡,对子代进行选择,具体的,如果子代粒子的适应度值大于对应的父代粒子的适应度值,则父代粒子被子代粒子替代,否则保留父代粒子。从而可以获得bcso纵向交叉后的占优解。修正机组状态和功率平衡的方法如上述,在此不再赘述。获得bcso纵向交叉后的占优解后,可以使用cso对bcso纵向交叉后的占优解的机组出力矩阵进行纵向交叉产生子代。具体的,可以通过以下步骤对bcso纵向交叉后的占优解的机组出力矩阵进行cso纵向交叉操作:第一个步骤:对bcso纵向交叉后的占优解的机组出力矩阵的每一维进行归一化处理;第二个步骤:对归一化后的bcso纵向交叉后的占优解的机组出力矩阵中所有维进行两两不重复配对;第三个步骤:针对每一对维,在预设的cso纵向交叉率下,对每个粒子的该对维进行cso纵向交叉,获得每个粒子的相应维的子代;第四个步骤:对获得的子代进行反归一化处理,产生bcso纵向交叉后的占优解对应的子代。bcso纵向交叉后的占优解的机组出力矩阵包含多个粒子,每个粒子具有多维。可以根据以下公式(15)对bcso纵向交叉后的占优解的机组出力矩阵的每一维进行归一化处理:其中,为的归一化值。对归一化后的bcso纵向交叉后的占优解的机组出力矩阵中所有维进行两两不重复配对,可以获得多对维。针对每一对维,在预设的cso纵向交叉率pv2下,可以对每个粒子的该对维进行cso纵向交叉,获得每个粒子相应维的子代。具体可以使用公式(13)对粒子x(i)的第d1维和第d2维进行cso纵向交叉操作。对获得的子代进行反归一化处理,可以产生bcso纵向交叉后的占优解对应的子代。具体的反归一化公式如公式(16)所示:其中,为的子代。产生bcso纵向交叉后的占优解对应的子代后,修正功率平衡,功率平衡修正方法如上述,在此不再赘述。对子代进行选择,具体的,如果子代粒子的适应度值大于对应的父代粒子的适应度值,则父代粒子被子代粒子替代,否则保留父代粒子。从而可以获得cso纵向交叉后的占优解。获得cso横向交叉后的占优解后,可以确定是否达到设定的最大迭代次数,如果未达到,则可以将cso纵向交叉后的占优解的机组状态矩阵确定为父代种群的机组状态矩阵,重复执行使用bcso对父代种群的机组状态矩阵进行横向交叉产生子代及其下步骤,如果达到,则可以结束迭代过程,获得电力系统机组组合的优化解。本发明实施例所提供的方法操作简单,控制参数较少,易于实现,可以解决群智能算法普遍容易陷入局部最优的共性关键问题。具有较强的全局收敛能力,对于电力系统机组组合这个高维度、多约束、离散、非线性的复杂实际问题有着很好的适用性,能够显著提高系统经济性。应用本发明实施例所提供的方法,基于电力系统运行费用最低的目标函数和电力系统机组约束,建立电力系统机组组合的优化模型,根据优化模型的潜在解,初始化种群,获得初始机组状态矩阵和初始机组出力矩阵,基于该初始机组状态矩阵和初始机组出力矩阵,可以依次使用bcso和cso迭代进行横向交叉和纵向交叉操作,产生的子代和父代竞争,获得电力系统机组组合的优化解。纵横交叉算法的横向交叉和纵向交叉在迭代过程中的每一代交替进行,将两种交叉搜索方式完美结合。当每次交叉操作结束后,子代与父代进行比较,当子代粒子的适应度比父代更好时,被保留下来进入下次迭代。使得粒子个体信息能够快速地在种群中传播,达到了很好的交流作用,在极大地提高全局收敛能力的同时保持了收敛速度。下面以实际电力系统中应用本发明实施例进行说明。电力系统10机参数及负荷需求分别如表1和表2所示,分别复制10机系统参数2次、4次、6次、8次、10次可以得到20、40、60、80、100机系统,对应的负荷需求分别为10机系统负荷需求的2倍、4倍、6倍、8倍、10倍。unitpminpmaxabcmutmdthccccshinitialstatus1455150100016.190.00048884500900058245515097017.260.00031885000100005831302070016.600.002005555011004-541302068016.500.002115556011204-551622545019.700.003986690018004-66802037022.260.00712331703402-37852548027.740.00079332605202-38551066025.920.004131130600-19551066527.270.002221130600-110551067027.790.001731130600-1表1表2如图3-图8所示分别为10机系统、20机系统、40机系统、60机系统、80机系统和100机系统的收敛曲线图,从中可以看出,本发明实施例所提供的技术方案具有较好的寻优能力和收敛性。为了验证本发明实施例所提供的技术方案的优越性,将该技术方案(hcso)与粒子群算法(pso),差分算法(de),引力搜索算法(gsa),遗传算法(ga)以及一些其他改进算法或混合方法(如c&b、iqea、ibpso、elrpso、hgade、qbpso等)的仿真结果进行对比,仿真结果如表3所示。方法10机20机40机60机80机100机c&b563,9381,123,7832243,6873,363,5934,484,4975,603,976ga563,9381,124,2902,246,1653,365,4314,487,7665,606,811iqea563,9771,123,8902,245,1513,365,0034,486,9635,606,022de563,9381,124,2912,246,27433657844,488,4505,607,900ibpso563,9771,125,2162,248,5813,367,8654,491,0835,610,293aths563,9381,123,2972,242,9573,361,7484,482,4175,601,651gsa563,9381,123,2162,242,7413,362,4474,483,8645,600,883elrpso563,9381,123,2972,243,2563,361,5734,482,9375,601,825hgade563,9381,123,3862,243,5223,362,9084,485,1605,604,787hpso-sp563,937.01,123,9962,243,9893,363,3434,483,905.85,603,532qbpso563,9771,123,2972,242,9573,361,9804,482,0855,602,486hcso563,937.681,123,297.432,242,957.093,361,266.764,481,465.885,600,240,72表3从表3可以看出,对于10机、20机和40机系统,hcso能得到和gsa、aths、qbpso一样好的优化结果,对于60机、80机和100机系统,hcso优化得到的运行费用比其他方法都要低,也就是说本发明实施例所提供的方法可以很好的适用于机组组合问题,而且能够表现出很好的收敛特性,尤其是对于大规模系统的机组组合问题,相对于其他方法,hcso表现出明显的优越性。相应于上面的方法实施例,本发明实施例还提供了一种基于纵横交叉算法的机组组合优化装置,下文描述的一种基于纵横交叉算法的机组组合优化装置与上文描述的一种基于纵横交叉算法的机组组合优化方法可相互对应参照。参见图9所示,该装置包括以下模块:目标函数确定模块910,用于确定电力系统运行费用最低的目标函数;优化模型建立模块920,用于基于目标函数和电力系统机组约束,建立电力系统机组组合的优化模型;初始化模块930,用于根据优化模型的潜在解,初始化种群,获得初始机组状态矩阵和初始机组出力矩阵;优化解获得模块940,用于基于初始机组状态矩阵和初始机组出力矩阵,依次使用二进制纵横交叉算法bcso和纵横交叉算法cso迭代进行横向交叉和纵向交叉操作,产生的子代和父代竞争,获得电力系统机组组合的优化解。应用本发明实施例所提供的装置,基于电力系统运行费用最低的目标函数和电力系统机组约束,建立电力系统机组组合的优化模型,根据优化模型的潜在解,初始化种群,获得初始机组状态矩阵和初始机组出力矩阵,基于该初始机组状态矩阵和初始机组出力矩阵,可以依次使用bcso和cso迭代进行横向交叉和纵向交叉操作,产生的子代和父代竞争,获得电力系统机组组合的优化解。纵横交叉算法的横向交叉和纵向交叉在迭代过程中的每一代交替进行,将两种交叉搜索方式完美结合。当每次交叉操作结束后,子代与父代进行比较,当子代粒子的适应度比父代更好时,被保留下来进入下次迭代。使得粒子个体信息能够快速地在种群中传播,达到了很好的交流作用,在极大地提高全局收敛能力的同时保持了收敛速度。参见图10所示,在本发明的一种具体实施方式中,优化解获得模块940,包括:第一确定子模块941,用于将初始机组状态矩阵确定为父代种群的机组状态矩阵;bcso横向交叉子模块942,用于使用bcso对父代种群的机组状态矩阵进行横向交叉产生子代,修正机组状态和功率平衡,获得bcso横向交叉后的占优解;cso横向交叉子模块943,用于使用cso对bcso横向交叉后的占优解的机组出力矩阵进行横向交叉产生子代,修正功率平衡,获得cso横向交叉后的占优解;bcso纵向交叉子模块944,用于使用bcso对cso横向交叉后的占优解的机组状态矩阵进行纵向交叉产生子代,修正机组状态和功率平衡,获得bcso纵向交叉后的占优解;cso纵向交叉子模块945,用于使用cso对bcso纵向交叉后的占优解的机组出力矩阵进行纵向交叉产生子代,修正功率平衡,获得cso纵向交叉后的占优解;第二确定子模块946,用于在未达到设定的最大迭代次数时,将cso纵向交叉后的占优解的机组状态矩阵确定为父代种群的机组状态矩阵,触发bcso横向交叉子模块942;优化解获得子模块947,用于在达到设定的最大迭代次数时,获得电力系统机组组合的优化解。在本发明的一种具体实施方式中,bcso横向交叉子模块942,具体用于:对父代种群的机组状态矩阵中的所有粒子进行两两不重复配对;针对每一对粒子,对该对粒子的每一维进行bcso横向交叉,获得每一维的子代;对获得的子代进行二进制化处理,产生父代种群对应的子代。在本发明的一种具体实施方式中,cso横向交叉子模块943,具体用于:对bcso横向交叉后的占优解的机组出力矩阵中的所有粒子进行两两不重复配对;针对每一对粒子,对该粒子的每一维进行cso横向交叉,获得每一维的子代。在本发明的一种具体实施方式中,bcso纵向交叉子模块944,具体用于:对cso横向交叉后的占优解的机组状态矩阵中的所有维进行两两不重复配对;针对每一对维,在预设的bcso纵向交叉率下,对每个粒子的该对维进行bcso纵向交叉,获得每个粒子的相应维的子代;对获得的子代进行二进制化处理,产生cso横向交叉后的占优解对应的子代。在本发明的一种具体实施方式中,cso纵向交叉子模块945,具体用于:对bcso纵向交叉后的占优解的机组出力矩阵的每一维进行归一化处理;对归一化后的bcso纵向交叉后的占优解的机组出力矩阵中所有维进行两两不重复配对;针对每一对维,在预设的cso纵向交叉率下,对每个粒子的该对维进行cso纵向交叉,获得每个粒子的相应维的子代;对获得的子代进行反归一化处理,产生bcso纵向交叉后的占优解对应的子代。在本发明的一种具体实施方式中,还包括机组状态修正子模块,用于通过以下步骤修正机组状态:确定所有机组的平均燃料费用;根据平均燃料费用从小到大的顺序对机组进行排列,获得机组的优先顺序表;确定每一个时段旋转备用是否满足;如果否,则按照优先顺序表顺序开启没有运行的机组直至满足旋转备用;确定每一个机组的状态是否满足最小开停机时间;如果否,则启动或关闭部分时段机组使其满足最小开停机时间;按照优先顺序表的逆顺序确定每一个时段是否存在冗余的机组;如果是,则在满足其他约束条件的情况下关闭冗余的机组。在本发明的一种具体实施方式中,还包括功率平衡修正子模块,用于通过以下步骤修正功率平衡:确定每个时段的功率平衡是否满足;如果机组出力大于对应时段的负荷需求,则在满足机组出力上下限约束的情况下,按照优先顺序表的逆顺序依次减少运行机组的出力直至满足功率平衡;如果机组出力小于对应时段的负荷需求,则在满足机组出力上下限约束的情况下,按照优先顺序表的顺序依次增加运行机组的出力直至满足功率平衡。本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或
技术领域
内所公知的任意其它形式的存储介质中。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1