应对协同攻击的电力系统发输电拓展随机规划

2021-02-03 07:41谢开贵李春燕王蕾报
电力系统自动化 2021年2期
关键词:协同机组负荷

伏 坚,胡 博,谢开贵,牛 涛,李春燕,王蕾报

(输配电装备及系统安全与新技术国家重点实验室(重庆大学),重庆市400044)

0 引言

随着信息技术和计算机技术在电力系统中的大规模应用,现代电力系统已经发展成为一个信息物理系统(cyber physical system,CPS)[1]。在实际运行过程中,其越来越容易遭受各类恶意攻击的影响。2015 年发生在乌克兰和2019 年发生在委内瑞拉的大停电事故就是电力系统遭到恶意攻击而导致[2-3]。由于电力系统固有问题的存在,目前对电力系统资源的物理隔离并不能保证CPS 的绝对安全[4]。因此,研究各类恶意攻击对电力系统可靠性的影响,并提出有效的防御措施是当前电力系统规划和运行中亟待解决的关键问题之一。

在恶意攻击建模方面,已有文献按照攻击对象的不同可分为如下3 类。

1)针对一次设备的物理攻击

该类攻击一旦成功,会导致一次设备停运。文献[5-7]分别研究了针对输电线路、机组、变电站和母线的最优攻击策略。

2)针对信息系统的信息攻击

常见的一种攻击方式为负荷重分配(load redistribution,LR)攻击,即攻击人员通过恶意修改负荷测量数据以误导运行人员做出错误调度,使得系统遭受较大损失的一种攻击形式。该攻击方式属于虚假数据注入攻击(false data injection attack,FDIA),FDIA 在不影响测量残差的情况下,可以成功绕过不良数据检测,从而使得电力系统不能探测发现数据是虚假的[8-11]。LR 攻击属于相对容易实现且停电风险影响较大的FDIA 方式[9],本文主要对其展开研究。根据LR 攻击对系统造成的危害影响结果的不同将其主要分为2 类:第1 类诱导运行人员做出错误调度决策,如削减负荷[12-14]等;第2 类使得系统真实潮流过载而导致线路停运,严重时会导致系统连锁故障[15-16]。

3)针对整个电力系统的信息物理协同攻击

文献[17]研究了LR 攻击和线路物理攻击组成的协同攻击方式[17-19],利用LR 攻击来误导运行人员认为线路没有发生故障以掩盖线路攻击。文献[19]提出了一种同时计及LR 攻击、机组攻击和线路攻击的双层协同攻击模型,结果表明协同攻击方式将会对电网造成巨大的威胁。

在防御恶意攻击方面,文献[20]为了防御线路物理攻击,提出了一个3 层鲁棒优化模型,用于优化线路加固方案。文献[21-22]为了防御对电力设备的攻击而提出的防御策略是对系统中的线路、母线和机组等进行加固。文献[23]提出了一个鲁棒优化模型进行输电拓展规划、线路开关配置和拓扑结构变换,以达到防御线路攻击的目的。

综上,已有文献在防御攻击方面研究的不足之处主要有以下2 点:①侧重于使用鲁棒优化的方法来考虑最严重的攻击方案,忽略了攻击方案的多样性和不确定性;②局限于防御单独的物理攻击,防御策略对包含信息攻击的协同攻击并不一定有效。而现代电力系统中物理设备和信息系统之间的耦合关系越来越紧密,信息物理协同攻击将更为普遍且危害更大。

综上,本文首先从攻击人员的角度提出了一个协同攻击模型,并基于该攻击模型生成多种协同攻击场景。然后,从规划人员的角度提出了一个发输电拓展随机规划模型以应对信息物理协同攻击。攻击形式包括针对线路的物理攻击方式和信息攻击中的整体即时LR 攻击方式[12-19,24]。在发输电拓展规划问题中,本文还完整地考虑了规划系统遭受协同攻击后运行人员以及规划人员视角下的2 种运行场景。与传统的电力系统韧性研究不同,本文所提随机规划方法不局限于单独的最恶劣的协同攻击场景,而是考虑攻击方案的多重性和不确定性,综合考虑多种协同攻击场景开展研究。

1 “规划-攻击-运行”框架

在应对攻击的电力系统防御性规划研究中,通常基于“规划-攻击-运行”框架来进行建模和分析[20-23],其中涉及的各方人员包括系统规划人员、运行人员(防御方)、攻击人员(攻击方)。在本文防御性规划建模过程中,三者扮演的角色如下。

1)规划人员希望通过新增机组或线路使得规划系统在遭受攻击时规划系统的损失最小或消除,以达到防御信息物理攻击的目的。规划人员知晓攻击人员攻击策略的制定机制和运行人员的优化调度,故应提前考虑他们的行为来制定规划策略,保证规划系统在遭受攻击后,运行人员能利用较充裕的发输电容量将规划系统损失降到最低。

2)攻击人员在知晓运行人员的运行机制下,利用其攻击资源针对电力系统展开信息物理协同攻击。

3)运行人员在攻击发生后,根据测量得到的系统信息和可利用的机组、线路等物理设备,对规划系统进行优化调度,尽量减少停电损失。具体地,物理攻击会造成线路停运,该情况系统是能够检测到的,系统会获取最新的网络拓扑结构和机组情况进行优化运行,且为真实数据。而LR 攻击会使得运行人员获取的负荷数据是非真实数据,并且难以辨识所获取的数据是否为真实。

2 协同攻击场景生成方法

2.1 假设条件

为了简化模型和展开协同攻击,本文基于文献[6-26]中的前提假设对信息攻击和物理攻击等对象进行了类似的理想化处理。在生成协同攻击场景和建立针对信息物理协同攻击的随机规划模型时,本文做了如下假设。

1)信息攻击和物理攻击在实施过程中不分主次,可同时进行攻击。

2)拓展规划中新增的线路已经被加固[25],即物理攻击对其无效[27-29]。

3)为了使得协同攻击的效果更加明显,进而分析电网整体的风险水平和最严重的LR 攻击风险,假设攻击者能够获取电力系统的电气参数、运行状态等数据,并恶意修改所有负荷测量值的数据[12-18,30]。

2.2 协同攻击模型

信息物理协同攻击模型采用如式(1)—式(14)所示的双层优化模型来描述。直流潮流属于线性模型,求解复杂度明显低于非线性的交流潮流,且对于攻击者而言,基于直流状态估计的LR 攻击相比于基于交流状态估计的LR 攻击更易实现[31],所以本文采用直流潮流进行潮流计算。其中,上层优化模型如式(1)—式(6)所示。式中:Ld和Sd分别为负荷节点d的原始负荷和负荷削减量;ΔLd为LR 攻击后负荷节点d的负荷测量值改变量,设负荷测量值增大为正,减小为负;τ为负荷改变量相对于原负荷值的比值上限;vl为输电线路l是否被选择为物理攻击对象的二进制变量,取值为0 表示被攻击,为1 表示不被攻击;NV为攻击线路数量;fl为输电线路l的虚拟单一商品(single commodity,SC)潮流[32],用于判断系统是否存在孤岛;NB为系统节点数;Abl为节点-线路关联矩阵的元素;r为系统参考节点;ΩL,ΩB和ΩD分别为系统线路集合、节点集合和负荷节点集合。

上层模型站在攻击者的角度,在给定的攻击场景资源限制下,优化筛选最严重的信息物理协同攻击场景。具体而言,攻击目标是使协同攻击导致的系统削负荷量最大,攻击决策变量为:是否对线路展开物理攻击(通过二进制变量描述)以及LR 攻击的负荷测量值的改变量(通过连续变量描述)。式(1)对应的目标函数为攻击实施后系统削负荷量最大。式(2)对应的等式约束用于限制所有被修改的负荷测量值改变量之和为0,以此确保LR 攻击后系统的有功平衡。式(3)用于限制受LR 攻击的负荷点负荷测量值改变量不越限,以免改变幅度过大被运行人员探测发现。式(4)表示可用的物理攻击总资源。式(5)—式(6)采用SC 潮流方法以保证被攻击后的电力系统不会产生孤岛,因为孤岛的出现极易使得协同攻击方式中设计的虚假数据被运行人员发现,而一旦被发现则导致LR 攻击失败[16],此时协同攻击退变为线路物理攻击,攻击效果将会降低。

下层优化模型如式(7)—式(14)所示。

下层模型用于模拟当上层攻击方案给定且实施后,系统运行人员基于信息系统测量得到的负荷数据(受LR 攻击的负荷节点数据会被改变)和拓扑数据来进行机组调度和负荷削减。运行优化目标函数是使系统遭受攻击后的削负荷量最小,决策变量为机组出力和负荷削减量。式(7)对应的目标函数为通过运行优化将遭受攻击后的系统削负荷量最小化。式(8)为线路的潮流约束,其中被物理攻击的线路停运,有功潮流为0。式(9)为节点功率平衡约束,其中运行人员测量到的负荷节点d的负荷为Ld+ΔLd,w,ΔLd,w为攻击场景w下对应的变量,因此,该约束对应的线路潮流是有误的。式(10)限制了参考节点的相角θ͂r为0。式(11)—式(14)分别限制了输电线路的有功潮流、机组出力、负荷节点的削负荷量和节点的相角。

该协同攻击模型对应的是一个双层优化问题,可通过Karush-Kuhn-Tucker(KKT)条件转化成单层优化问题来进行求解。

2.3 多攻击场景生成

为了简化模型和减少计算复杂性,本文参考文献[25]认为在生成攻击场景的时候,攻击场景是基于原始系统生成的,并且在实施发输电拓展规划后被认定为是恒定的。

为了筛选出物理攻击线路数量为NV时最严重的NW个攻击场景,采用图1 所示的方法进行场景生成,具体步骤如下。

图1 协同攻击场景生成流程图Fig.1 Flow chart of scenario generation with coordinated attacks

步骤1:输入数据。包括系统网络拓扑、机组、线路、变压器等电气参数,需要生成的攻击场景数量NW。

步骤2:数据初始化。令攻击场景计数w=1,当前攻击场景集ΩW=∅。

步骤3:在协同攻击模型的上层优化问题中添加约束式(15),即

式中:V(w,l)为集合ΩW中攻击场景w对应的线路l攻击与否的变量。该约束的物理意义是将当前攻击场景集ΩW中的攻击场景排除掉,避免得到重复的攻击方案。

步骤4:求解协同攻击模型。

步骤5:更新集合ΩW,将{VL,ΔL}作为单个协同攻击场景的结果添加到集合ΩW中,VL和ΔL的表达式如式(16)所示。

式中:VL和ΔL分别为物理攻击场景和LR 攻击场景对应的结果向量;NL和ND分别为原始系统线路总数和负荷节点总数。

步骤6:判断w≤NW是否成立,若成立则执行w=w+1 后转步骤3,反之执行步骤7。

步骤7:输出最终的协同攻击场景ΩW。

对于最终包含NW个物理攻击且线路总数均为NV的协同攻击场景集ΩW,每个攻击场景被攻击人员执行的概率与其造成的削负荷量成正比,即某个攻击场景w的概率pw为:

式中:下标w表示攻击场景w下的对应变量,下同。

对于多种不同攻击资源构成的攻击场景集,其概率刻画遵循如下假设[25]。

1)每个攻击场景被攻击人员执行的概率与其对电力系统造成的削负荷量成正比。

2)每个攻击场景被攻击人员执行的概率与其消耗的攻击资源成反比。

3)所有可能出现的攻击场景概率之和为1。

因此,对于不同物理攻击且线路总数为NV的攻击方案所构成的攻击场景,攻击场景对应的NV越小或对系统造成的削负荷越大,则其被攻击人员执行的概率应越大,概率pw可定义为:

3 随机规划模型

拓展规划在电力系统中应用广泛,被当作解决许多问题的手段之一,例如,增加系统发电容量、改善网架结构、提升系统可靠性、促进可再生能源消纳等。除此以外,从未来电力系统,特别是智能电网下CPS 的角度,其遭受恶意攻击的概率和攻击成功后造成的损失会越来越大,因此当前在进行电网拓展规划前也应考虑可能遭受的攻击风险,进行更合理的决策,运用防御性规划的手段使得未来电力系统能有效应对各类恶意攻击。因此,本章运用发输电拓展规划方法来应对信息物理协同攻击,建立了一个发输电拓展随机防御性规划模型。

3.1 目标函数

本文以规划系统遭受多种协同攻击方案攻击后产生的削负荷期望量最小为目标函数,如式(19)所示。

3.2 约束条件

首先,随机规划模型需满足总投资费用约束式(20),即

式中:xL,l和xG,g分别为候选输电线路l和候选机组g建设与否的二进制变量,取值为1 表示建设,为0 表示不建设;CL,l和CG,g分别为候选输电线路l和候选机组g的建设投资成本;Ω'L和Ω'G分别为新增候选线路和候选机组的集合;Ctotal为最大规划投资。

在分析潮流时,需考虑2 种情况下规划系统的运行状况,包括遭受攻击后运行人员眼中的运行情况。运行人员认为负荷数据是虚假的,因此会基于非真实的负荷数据进行机组调度。该情况对应于“虚假潮流”。而规划人员事先了解攻击人员和运行人员的决策行为,在设计规划策略时应该保证运行人员做出错误调度方案后将规划系统的损失最小化,该情况对应于“真实潮流”即遭受攻击后运行人员眼中的虚假运行情况和遭受攻击后规划人员眼中的真实运行情况。

3.2.1 系统遭受攻击后的虚假运行情况

系统遭受协同攻击后,调度运行人员会结合测量得到的虚假负荷数据(LR 攻击导致)以及线路停运(物理攻击导致)情况进行优化调度,确定需要削减的负荷量。遭受攻击场景w攻击时,运行人员测量到的负荷节点d的负荷为Ld+ΔLd,w,因此计算得到的线路潮流F͂l,w是虚假的。从运行人员的角度出发,规划系统的运行情况如式(21)—式(29)所示。

式(21)为原线路的潮流约束,其中被物理攻击的线路停运,有功潮流为0。式(22)为候选线路的潮流约束,未建设的线路潮流为0。式(23)为节点功率平衡约束。式(24)—式(29)分别限制了参考节点相角、输电线路的有功潮流、原有机组的出力、候选机组的出力、负荷节点的削负荷量和节点的相角。

3.2.2 系统遭受攻击后的真实运行情况

规划系统遭受协同攻击后,对于运行人员被错误数据误导的情况,规划人员应事先了解并予以考虑。同时,LR 攻击除了诱导运行人员做出不必要的负荷削减以外,还有可能使得线路真实潮流过载而退出运行,严重时会导致连锁故障。因此,规划人员需要事先考虑系统遭受LR 攻击后的线路真实有功潮流情况。

规划系统在遭受攻击后,规划人员所考虑的真实运行情况如式(30)—式(35)所示。

约束式(30)—式(35)中的机组出力和削负荷量是运行人员基于虚假的负荷数据优化所得到的结果。攻击场景w下,在运行人员眼中,调度后负荷节点d的负荷为Ld+ΔLd,w-Sd,w,而实际上负荷节点d的负荷为Ld-Sd,w,约束式(21)—式(29)所对应的线路l有功潮流F͂l,w不满足约束式(32),因此F͂l,w是错误的结果。约束式(30)—式(32)用以求解线路遭受协同攻击和运行人员做出调度后的真实有功潮流。约束式(33)—式(34)限制了节点的真实相角。约束式(35)限制了线路真实潮流,以避免后续可能出现的连锁故障。

4 算例分析

本文基于改进的IEEE RTS-79 测试系统进行算例分析,算例拓扑如附录A 图A1 所示。原始的IEEE RTS-79 测 试 系 统 有24 个 节 点、32 台 机 组 和38 条输电线路,发电总容量为3 405 MW,峰荷为2 850 MW。为了使线路攻击的效果更明显,假设每条原有线路的容量变为之前的70%。待建候选线路和机组分别如附录A 图A1 中红色虚线和红色机组所示。候选机组和线路的电气、经济参数分别如表A1 和表A2 所示,其中线路可以建设为单回线或双回线,每种类型的机组在每个候选新增机组的节点最多可增装2 台。

算例分析中,若最大投资成本Ctotal取值为3 亿美元。参考节点设为节点1,基准容量为100 MVA。LR 攻击的负荷数据改变量相对于原负荷值的比值上限τ取为0.5。相角的上、下限θmax和θmin分 别 取+π/2 和-π/2。采 用MATLAB 2018a对所提的规划策略进行求解,混合整数线性规划模型使用Gurobi和YALMIP 工具箱进行求解。

4.1 协同攻击效果分析

为了验证本文所提信息物理协同攻击的优势,分别对附录A 表A3 所示4 种攻击策略进行了计算分析。具体每个攻击策略采用的攻击方式详见表A3。其中,攻击策略3 为组合攻击策略,是将策略1和策略2 中确定的最优攻击方案直接组合后的攻击策略;攻击策略4 为协同攻击策略,最优攻击方案通过式(1)—式(14)的双层模型优化确定。

改变NV的值,记录4 种攻击策略对原始系统所造成的削负荷量,其结果如附录A 表A4 所示。分析表A4 可以看出,攻击策略3 和4 所造成的削负荷量比攻击策略1 和2 要高,组合攻击和协同攻击均比单独攻击严重,说明虽然物理攻击可以被探知,但由于协同攻击方式中的信息攻击不可被探知,2 个攻击方式协同配合与单独的攻击形式相比,一般会造成更大的危害。而攻击策略4 对系统造成的削负荷量比攻击策略3 大得多,说明协同攻击策略下系统的脆弱度会大幅增加,因此应该在系统拓展规划中进行特殊分析。

4.2 协同攻击场景生成结果

对NV=1,τ=0.5 的协同攻击方式进行场景生成。攻击场景导致的削负荷量与生成场景序数的结果如附录A 图A2 所示。可以看出随着场景序数的增加,协同攻击方案所导致的削负荷有减少的趋势。这符合本文所提从严重到一般的多攻击场景筛选思想。

改变NV的值,记录不同场景数NW所生成的所有协同攻击场景导致的系统削负荷量的期望值,其结果如附录A 表A5 所示。

1)随着NV的增加,对应的场景集对系统所造成的削负荷期望量有增加的趋势。原因是随着被攻击线路数的增加,系统输电容量充裕度进一步下降。同时,在错误的负荷数据情况下,电力系统调度人员的运行优化效果被限制,使得协同攻击导致的削负荷明显增加。

2)随着场景数量增加,削负荷期望量下降。因为场景数量的增加会将一些效果相对更差的协同攻击场景更新至场景集中,使得所有场景的综合攻击效果变差。

4.3 发输电拓展规划效果分析

对于生成的多个协同攻击场景,基于发输电拓展规划进行防御,本文设置了12 种防御场景进行分析,如表1 所示。对应的原始系统和规划系统遭受攻击后的削负荷期望结果如图2 所示。发输电拓展规划的结果如附录A 表A6 所示,其中“L'”表示新增的线路,“②”表示建设为双回线路。“G'”表示新增的机组,下标的数字表示机组类型编号,(a×b)表示在节点a修建b台对应机组,下同。例如“G'1(3×1,8×2)”表示在节点3 修建1 台燃气轮机,在节点8修建2 台燃气轮机。

表1 算例介绍Table 1 Case introduction

图2 算例场景削负荷结果Fig.2 Results of load shedding in case scenarios

分析图2,可以得到以下结论。

1)规划系统遭受多种协同攻击场景攻击所造成的削负荷期望量远远小于原始系统遭受多种协同攻击场景攻击后所造成的削负荷期望量,即攻击所导致的电力系统损失显著下降,说明本文所提的基于发输电拓展规划的防御策略在应对协同攻击方面是有效的。

2)当NV一定时,随着最大攻击场景数NW的增加,规划系统遭受多种协同攻击场景攻击所造成的削负荷期望量有增加的趋势,这与原始系统所对应的规律相反。产生这一现象的原因是随着NW的增加,规划系统需要防御的协同攻击方案数量增加,规划策略需要制定更加完善的策略来进行防御,即修建更大容量的线路或机组。但在相同的最大投资成本约束下,NW到一定值时将不能保证规划系统遭受攻击后的削负荷期望量为0,并会使得削负荷期望量随着NW的增加而增加。

为了验证投资成本对规划策略的影响,通过改变最大投资成本对防御场景12 对应的发输电拓展策略进行求解,规划系统遭受攻击后产生的削负荷期望量结果如附录A 图A3 所示。从图A3 可以看出,随着投资成本的增加,规划系统的削负荷期望量整体有减少的趋势。这是因为投资增加后,将有更多的线路、机组得到修建,系统应对攻击的防御能力增强,削负荷减少。

4.4 与鲁棒优化的效果比对分析

为了验证本文所提出的发输电拓展随机规划模型优势,应用文献[20-23]中的鲁棒优化模型进行拓展规划,并将结果与本文方法结果进行对比。

以NV=2,NW=15 对应的攻击场景集为例进行防御,其发输电拓展规划结果和规划系统遭受15 种协同攻击方案产生的削负荷期望量如表2 所示。

分析表2 可以发现,多个攻击场景攻击鲁棒优化所确定的规划系统后,削负荷期望量大于其攻击随机优化所确定的规划系统产生的削负荷期望量。由此可以看出,虽然鲁棒优化确定的规划方案能够更有效地防御最严重的攻击场景,在考虑单独攻击场景时较随机优化结果更保守、防御效果更优,但当考虑包含最严重场景在内的多个攻击场景集时,其综合防御效果不如随机优化所确定的规划方案。考虑到攻击场景的不确定性和多样性,本文所提方法适用性更好。因此,在制定防御策略时,规划人员应该根据攻击场景的鲁棒性或多样性来合理选择防御性规划策略。此外,与鲁棒优化策略相比,随机优化策略仅以0.42%的成本增量便将规划系统遭受攻击后的削负荷期望量减少了65.85%。故从协调考虑经济性和对多种可能攻击场景的防御效果而言,随机优化方法的适用性更好。

表2 鲁棒优化与随机优化结果对比Table 2 Results comparison of robust optimization and stochastic optimization

4.5 与加固规划的效果比对分析

为了验证本文所提发输电拓展规划相比传统加固规划在防御信息物理协同攻击方面的优势,本节对其展开了研究。以NV=2,NW=15 对应的攻击场景集为例进行防御,其结果如表3 所示。

表3 2 种规划策略结果对比Table 3 Results comparison of two planning strategies

从表3 可以看出,针对相同的协同攻击方案,拓展规划策略实施后再次应对恶意攻击时的失负荷期望量低于对应的线路加固策略下的失负荷期望量。这说明发输电拓展规划策略在防御信息物理协同攻击时优于线路加固策略。究其原因,加固规划策略只能对原系统的物理设备进行保护,使之不能成为物理攻击的对象,而对于整个电力系统的发电容量和输电容量的充裕度无任何贡献,故而在包含带有误导特性的LR 攻击的协同攻击方案下,系统在错误的调度方案下由于电网不够坚强或发电容量不够充裕而导致大量负荷损失。

5 结语

本文提出了一种针对信息物理协同攻击的防御性随机规划模型。从攻击人员角度生成了多种协同攻击场景,之后基于生成的攻击场景考虑了电网规划人员和运行人员的行为,运用规划模型进行机组和线路修建的优化建模。以改进的IEEE RTS-79 测试系统为例进行算例分析,主要结论如下。

1)相对于单独的线路物理攻击、单独的LR 攻击和两者对应的最优方案直接构成的组合攻击,信息物理协同攻击造成的不利影响更大。

2)本文所提的发输电拓展规划策略能够有效应对多种协同攻击方案,且随着最大投资成本的增加,规划策略应对攻击的能力增强。

3)考虑攻击方案的不确定性和多样性,本文所提的基于随机优化的规划策略适用性更好。

4)在防御协同攻击时,本文所提扩展规划策略相比传统加固规划策略而言效果更佳。

下一步研究可以侧重于以下几个方面。

1)分析含高比例可再生能源电力系统应对各种恶意攻击的防御性规划策略。

2)将防御多种攻击方案的随机优化策略和防御最严重攻击方案的鲁棒优化策略协调考虑,得到更科学的规划策略。

3)协调考虑发输电系统扩展规划和物理设备加固、信息系统保护等多种应对攻击的规划防御策略,提出更加强健的防御策略。

4)将防御性规划和网络拓扑结构变换等策略协调考虑,得到更加经济可靠的综合防御策略。

附录见本刊网络版(http://www.aeps-info.com/aeps/ch/index.aspx),扫英文摘要后二维码可以阅读网络全文。

猜你喜欢
协同机组负荷
双馈式可变速抽水蓄能机组运行控制
660MW亚临界机组清洁疏水系统节能改造
我国首台采用四支路技术抽水蓄能机组投入试运行
蜀道难:车与路的协同进化
“四化”协同才有出路
三医联动 协同创新
防止过负荷时距离保护误动新判据
主动降负荷才是正经事
负荷跟踪运行下反应堆一回路控制系统仿真与验证
协同进化