CN110147888B - 基于教与学算法求解多目标优化问题的方法、装置和设备 - Google Patents
基于教与学算法求解多目标优化问题的方法、装置和设备 Download PDFInfo
- Publication number
- CN110147888B CN110147888B CN201811254787.9A CN201811254787A CN110147888B CN 110147888 B CN110147888 B CN 110147888B CN 201811254787 A CN201811254787 A CN 201811254787A CN 110147888 B CN110147888 B CN 110147888B
- Authority
- CN
- China
- Prior art keywords
- students
- class
- learning
- knowledge
- pareto
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y04—INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
- Y04S—SYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
- Y04S10/00—Systems supporting electrical power generation, transmission or distribution
- Y04S10/50—Systems or methods supporting the power network operation or management, involving a certain degree of interaction with the load-side end user applications
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Economics (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Operations Research (AREA)
- Entrepreneurship & Innovation (AREA)
- Tourism & Hospitality (AREA)
- Game Theory and Decision Science (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Development Economics (AREA)
- Quality & Reliability (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明实施例公开了一基于教与学算法求解多目标优化问题的方法、装置和设备,其中方法包括:获取多目标优化问题的数据;针对多目标优化问题的数据,确定班级中的学员的知识值;将处于不同层次的Pareto解集的学员的知识值进行排序,得到第一排序结果;将第一排序结果中知识值从大到小排名的前M位的学员确定为班级中的M个教师,并将第一排序结果中除M个教师之外的其它学员确定为学生;通过教阶段更新班级中的学生;通过学阶段更新班级中的学生;若当前迭代次数满足预设的最大迭代次数,输出针对所述多目标优化问题的Pareto解集。实施本申请,可增大搜索范围,避免提前进入局部最优,从而可以获得较优的Pareto前沿。
Description
技术领域
本发明涉及计算机算法和管理优化技术领域,尤其涉及一种基于教与学算法求解多目标优化问题的方法、装置和设备。
背景技术
多目标优化问题(Multi-objective Optimization Problem,MOP)涉及生活的方方面面,相关的求解方法对解决金融、环境、生产制造、社会保障等各方面的规划决策问题起着至关重要的作用。多目标优化问题也可以称为多目标规划问题。通常情况下,MOP问题可以描述成如公式(1)所示:
在上述公式(1)中,x为解空间E中的解向量;F为目标函数向量;n为子目标函数的个数;gi(x)为一般形式的等式约束条;hj(x)为一般形式的不等式约束条件;K和R分别为等式和不等式的个数。
对于E中的两个可行解a和x,若a的任意子目标函数均不劣于x的对应子目标函数,即fi(x)≥fi(a)(i=1,2,...,n),且存在值i0(i0∈{1,2,...,n})使得则称解a支配解x,记作:a<x。若E中不存在支配a的可行解,则称解a为MOP问题的一个非劣解,也即达到帕累托最优的解。简单地说,对于一个给定的解,如果不存在任何一个解在各个指标上都不比它差,而且至少在一个指标上比它好,可以理解的是,如果不能发现能够支配给定解的其它解,则这个给定解就是一个Pareto最优解。所有非劣解都是非支配解,这些非支配解的连线构成了MOP问题解的帕累托(Pareto)前沿。求解MOP问题的关键在于寻找Pareto前沿。然而,现有的绝大多数MOP求解方法都只能寻找部分的、或近似的Pareto前沿,例如,快速非支配排序遗传算法(NSGA-II,the Fast Elitism Non-dominated Sorting GeneticAlgorithm)。该算法中融合了快速非支配排序法与局部聚集距离的思想,其中,快速非支配排序法用于根据解与解之间的支配程度,将每一个解放入不同层次的Pareto解集。具体实现中,第一层次Pareto解集可以支配其他集合中的所有解,其他层次的解集只能被前面层次的解集所支配;局部聚集距离用来对同一个层次的Pareto解集进行排序。
在实际应用中可以发现,上述方法搜索范围小,容易提前进入局部收敛,致使获取的Pareto前沿较差。如何寻找较优的Pareto前沿是亟需解决的技术问题。
发明内容
本发明实施例提供一种基于教与学算法求解多目标优化问题的方法、装置和设备,可增大搜索范围,避免提前进入局部最优,从而可以获得较优的Pareto前沿。
第一方面,本发明实施例提供了一种基于教与学算法求解多目标优化问题的方法,该方法包括:
获取多目标优化问题的数据;
针对所述多目标优化问题的数据,确定班级中的学员的知识值;
将处于不同层次的Pareto解集的学员的知识值进行排序,得到第一排序结果;
将所述第一排序结果中知识值从大到小排名的前M位的学员确定为所述班级中的M个教师,并将所述第一排序结果中除所述M个教师之外的其它学员确定为学生;所述M为大于0的正整数;
通过教阶段更新所述班级中的学生;
通过学阶段更新所述班级中的学生;
若当前迭代次数满足预设的最大迭代次数,输出针对所述多目标优化问题的Pareto解集。
实施本发明实施例,终端在全局范围内对处于不同层次的Pareto解集的学员的知识值进行排序,继而,可以根据排序结果确定教与学算法中的教师与学生,通过教与学算法的教阶段和学阶段来实现班级中的学员的更新,以获得针对多目标优化问题的Pareto解。在方法的实现过程中,可增大搜索范围,避免提前进入局部最优,从而可以获得较优的Pareto前沿。
可选的,所述M为大于等于2的正整数。
可选的,所述确定班级中的学员的知识值,包括:
在确定所述班级中第i层Pareto解集的其中一个学员的知识值时,根据所述多目标问题包含的目标值的数量,通过分别计算每个解的目标值占所述第i层Pareto解集中所有解的目标值之和的比例,以及所述第i层Pareto解集的常量,来确定知识值。
可选的,所述在确定所述班级中第i层Pareto解集的其中一个学员的知识值时,根据所述多目标问题包含的目标值的数量,通过分别计算每个解的目标值占所述第i层Pareto解集中所有解的目标值之和的比例,以及所述第i层Pareto解集的常量,来确定知识值,包括:
在确定所述班级中的其中一个学员的知识值时,根据以下计算公式来确定:
Costi=A1+A2+...+Ak+B
其中,所述Costi表示所述第i层Pareto解集中的学员的知识值,所述i为大于0的正整数;所述K表示所述多目标问题包含的目标值的数量;K+1用于确定所述计算公式中的求和项的数量;所述(其中,L=1,2,…,K),所述fL(i)表示所述第i层Pareto解集中的第L个目标值;所述/>表示所述第i层Pareto解集中的所有解之和;Nrank表示所述第i层Pareto解集中的学生的数量;所述B=(ranki-1)*2。
可选的,所述针对所述多目标优化问题的数据,确定班级中的学员的知识值之后,所述将处于不同层次的Pareto解集的学员的知识值进行排序,得到第一排序结果之前,还包括:
设置所述班级中的教师与学生的数量。
可选的,所述设置所述班级中的教师与学生的数量,包括:
根据所述多目标优化问题的特点设置所述班级中的教师与学生的数量;或,
根据预设的教师与学生的比值设置所述班级中的教师与学生的数量。
可选的,所述将所述第一排序结果中除所述M个教师之外的其它学员确定为学生之后,还包括:
通过所述学阶段控制所述班级中的教师与教师之间进行相互学习,在满足所述班级中的每个教师学习后的知识值大于学习前的知识值的情况下,更新所述班级中的教师。
可选的,所述通过所述学阶段控制班级中的教师与教师之间进行相互学习,包括:
根据预设的第一随机算法确定第一教师拟学习的学习对象为第二教师;其中,所述第一教师和所述第二教师为所述班级中的教师;
若所述第二教师的知识值大于所述第一教师的知识值,则所述第一教师向所述第二教师学习。
可选的,所述通过学阶段更新所述班级中的学生,包括:
根据预设的第二随机算法确定第一学生拟学习的学习对象为第二学生;其中,所述第一学生和所述第二学生为所述班级中的学生;
若所述第二学生的知识值大于所述第一学生的知识值,则所述第一学生向所述第二学生学习,并在满足所述第一学生学习后的知识值大于学习前的知识值的情况下,更新所述第一学生。
可选的,所述通过学阶段更新所述班级中的学生之后,所述若当前迭代次数满足预设的最大迭代次数,输出针对所述多目标优化问题的Pareto解集之前,还包括:
若所述班级中的学生的知识值大于所述班级中的M个教师的知识值,对所述班级进行重组,并重复执行所述通过教阶段更新所述班级中的学生以及所述通过学阶段更新所述班级中的学生的步骤,直到当前迭代次数达到所述预设的最大迭代次数。
可选的,其特征在于,所述对所述班级进行重组,包括:
将所述班级中的学员的知识值进行排序,得到第二排序结果;
将所述第二排序结果中知识值从大到小排名的前M位的学员确定为所述班级中的M个教师,并将所述第二排序结果中除所述M个教师之外的其它学员确定为学生。
可选的,所述通过学阶段更新所述班级中的学生之后,所述若当前迭代次数满足预设的最大迭代次数,输出针对所述多目标优化问题的Pareto解集之前,还包括:
通过自学阶段控制所述班级中的每个学生和每个教师进行自学。
可选的,所述通过自学阶段控制所述班级中的每个学生和每个教师进行自学,包括:
在所述自学阶段中,获取当前迭代解S之前的Q个候选解Sm(m=1,…,Q);其中,所述Q为大于1的正整数;
若通过状态接受函数确定Sn(n=1,…,Q)优于所述当前迭代解S,则接受所述Sn;其中,所述Sn为所述Q个候选解Sm中的任意一个解。
可选的,其特征在于,所述在所述自学阶段中,获取当前迭代解S之前的Q个候选解Sm之后,所述若通过状态接受函数确定Sn优于所述当前迭代解S,则接受所述Sn之前,还包括:
确定所述当前迭代解S对应的目标函数值f(S)和所述Q个候选解Sm各自对应的目标函数值f(Sm);
通过所述状态接受函数根据所述当前迭代解S对应的目标函数值f(S)和所述Q个候选解Sm各自对应的目标函数值f(Sm)确定是否接受所述当前迭代解S或Sn;其中,所述Sn为所述Q个候选解Sm中的任意一个解。
第二方面,本发明另一实施例提供了一种基于教与学算法求解多目标优化问题的方法,该方法包括:
获取多目标优化问题的数据;
针对所述多目标优化问题的数据,确定班级中的学员的知识值;
根据所述班级中的学员的知识值确定教师与学生;其中,所述教师的数量为M;所述M为大于等于2的正整数;
通过教阶段更新所述班级中的学生;
通过学阶段更新所述班级中的学生;
若当前迭代次数满足预设的最大迭代次数,输出针对所述多目标优化问题的Pareto解集。
第三方面,本发明另一实施例提供了一种基于教与学算法求解多目标优化问题的方法,该方法包括:
获取多目标优化问题的数据;
针对所述多目标优化问题的数据,确定班级中的学员的知识值;
根据所述班级中的学员的知识值确定教师与学生;其中,所述教师的数量为M;所述M为大于0的正整数;
通过教阶段更新所述班级中的学生;
通过学阶段更新所述班级中的学生;
通过自学阶段控制所述班级中的每个学生和每个教师进行自学;
若当前迭代次数满足预设的最大迭代次数,输出针对所述多目标优化问题的Pareto解集。
第四方面,本发明实施例提供了一种多目标优化问题求解装置,该装置包括用于执行上述第一方面的方法的单元。
具体实现中,该装置可以包括:
获取单元,用于获取多目标优化问题的数据;
第一确定单元,用于针对所述多目标优化问题的数据,确定班级中的学员的知识值;
第一排序单元,用于将处于不同层次的Pareto解集的学员的知识值进行排序,得到第一排序结果;
第二确定单元,用于将所述第一排序结果中知识值从大到小排名的前M位的学员确定为所述班级中的M个教师,并将所述第一排序结果中除所述M个教师之外的其它学员确定为学生;所述M为大于0的正整数;
第一更新单元,用于通过教阶段更新所述班级中的学生;
第二更新单元,用于通过学阶段更新所述班级中的学生;
输出单元,用于在当前迭代次数满足预设的最大迭代次数的情况下,输出针对所述多目标优化问题的Pareto解集。
可选的,所述M为大于等于2的正整数。
可选的,所述第一确定单元具体用于:在确定所述班级中第i层Pareto解集的其中一个学员的知识值时,根据所述多目标问题包含的目标值的数量,通过分别计算每个解的目标值占所述第i层Pareto解集中所有解的目标值之和的比例,以及所述第i层Pareto解集的常量,来确定知识值。
作为一种可选的实现方式,所述第一确定单元具体用于:
在确定所述班级中的其中一个学员的知识值时,根据以下计算公式来确定:
Costi=A1+A2+...+Ak+B
其中,所述Costi表示所述第i层Pareto解集中的学员的知识值,所述i为大于0的正整数;所述K表示所述多目标问题包含的目标值的数量;K+1用于确定所述计算公式中的求和项的数量;所述(其中,L=1,2,…,K),所述fL(i)表示所述第i层Pareto解集中的第L个目标值;所述/>表示所述第i层Pareto解集中的所有解之和;Nrank表示所述第i层Pareto解集中的学生的数量;所述B=(ranki-1)*2。
可选的,所述装置还包括:设置单元;
所述设置单元,用于在所述第一确定单元针对所述多目标优化问题的数据,确定班级中的学员的知识值之后,所述排序单元将处于不同层次的Pareto解集的学员的知识值进行排序,得到第一排序结果之前,设置所述班级中的教师与学生的数量。
可选的,所述设置单元具体用于:
根据所述多目标优化问题的特点设置所述班级中的教师与学生的数量;或,
根据预设的教师与学生的比值设置所述班级中的教师与学生的数量。
可选的,所述装置还包括教师学习单元和第三更新单元;
其中,所述教师学习单元用于通过所述学阶段控制所述班级中的教师与教师之间进行相互学习;
所述第三更新单元,用于在满足所述班级中的每个教师学习后的知识值大于学习前的知识值的情况下,更新所述班级中的教师。
可选的,所述教师学习单元包括第一随机算法确定单元和第一处理单元;
其中,所述第一随机算法确定单元,用于根据预设的第一随机算法确定第一教师拟学习的学习对象为第二教师;其中,所述第一教师和所述第二教师为所述班级中的教师;
所述第一处理单元,用于在所述第二教师的知识值大于所述第一教师的知识值的情况下,所述第一教师向所述第二教师学习。
可选的,所述第二更新单元包括第二随机算法确定单元和第二处理单元;
其中,所述第二随机算法确定单元,用于根据预设的第二随机算法确定第一学生拟学习的学习对象为第二学生;其中,所述第一学生和所述第二学生为所述班级中的学生;
第二处理单元,用于在所述第二学生的知识值大于所述第一学生的知识值的情况下,所述第一学生向所述第二学生学习,并在满足所述第一学生学习后的知识值大于学习前的知识值的情况下,更新所述第一学生。
可选的,所述装置还包括:班级重组单元;
所述班级重组单元,用于在所述第二更新单元通过所述学阶段更新所述班级中的学生之后,所述输出单元在当前迭代次数满足预设的最大迭代次数的情况下,输出针对所述多目标优化问题的Pareto解集之前,在所述班级中的学生的知识值大于所述班级中的M个教师的知识值的情况下,对所述班级进行重组,并重复执行所述通过教阶段更新所述班级中的学生以及所述通过学阶段更新所述班级中的学生的步骤,直到当前迭代次数达到所述预设的最大迭代次数。
可选的,所述班级重组单元包括第二排序单元和第三确定单元;
其中,所述第二排序单元,用于将所述班级中的学员的知识值进行排序,得到第二排序结果;
第三确定单元,用于将所述第二排序结果中知识值从大到小排名的前M位的学员确定为所述班级中的M个教师,并将所述第二排序结果中除所述M个教师之外的其它学员确定为学生。
可选的,所述装置还包括自学单元;
所述自学单元,用于在所述第二更新单元通过学阶段更新所述班级中的学生之后,所述输出单元在当前迭代次数满足预设的最大迭代次数的情况下,输出针对所述多目标优化问题的Pareto解集之前,通过自学阶段控制所述班级中的每个学生和每个教师进行自学。
可选的,所述自学单元包括:获取候选解单元和接受单元;
其中,所述获取候选解单元用于在所述自学阶段中,获取当前迭代解S之前的Q个候选解Sm(m=1,…,Q);其中,所述Q为大于1的正整数;
接受单元,用于在通过状态接受函数确定Sn(n=1,…,Q)优于所述当前迭代解S的情况下,则接受所述Sn;其中,所述Sn为所述Q个候选解Sm中的任意一个解。
可选的,所述自学单元还包括:确定目标函数值单元和判断单元;
其中,所述确定目标函数值单元,用于在所述获取候选解单元在所述自学阶段中,获取当前迭代解S之前的Q个候选解Sm之后,所述接受单元在通过状态接受函数确定Sn优于所述当前迭代解S的情况下,接受所述Sn之前,确定所述当前迭代解S对应的目标函数值f(S)和所述Q个候选解Sm各自对应的目标函数值f(Sm);
所述判断单元,用于通过所述状态接受函数根据所述当前迭代解S对应的目标函数值f(S)和所述Q个候选解Sm各自对应的目标函数值f(Sm)确定是否接受所述当前迭代解S或Sn;其中,所述Sn为所述Q个候选解Sm中的任意一个解。
第五方面,本发明实施例提供了另一种多目标优化问题求解设备,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储支持多目标优化问题求解设备执行上述方法的计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行上述第一方面的方法。
第六方面,本发明实施例提供了一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述第一方面的方法。
第七方面,本发明实施例提供了一种计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述第一方面的方法。
实施本发明实施例,终端在全局范围内对处于不同层次的Pareto解集的学员的知识值进行排序,继而,可以根据排序结果确定教与学算法中的教师与学生,通过教与学算法的教阶段、学阶段和自学阶段来实现班级中的学员的更新,以获得针对多目标优化问题的Pareto解。在方法的实现过程中,可增大搜索范围,避免提前进入局部最优,从而可以获得较优的Pareto前沿,例如,在求解间歇性甘蔗煮糖结晶过程优化中晶体尺寸分布参数这一问题的Pareto前沿时,采用本申请,可以解决现有技术中获取到的晶体尺寸分布参数较差的问题;又例如,在求解电力系统环境经济调度问题的Pareto前沿时,采用本申请,可以解决现有技术中获取到的电力系统环境经济调度结果不够好的问题。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。
图1是本发明实施例提供的原理实现图;
图2是本发明实施例提供的基于教与学算法求解多目标优化问题方法的流程示意图;
图3是本发明其中一个实施例提供的原理实现图;
图4是本发明其中一个实施例提供的原理实现图;
图5是本发明实施例提供的改进的模拟退火算法实现流程图;
图6是本发明其中一个实施例提供的原理实现图;
图7是本发明实施例提供的一种多目标优化问题求解装置的示意性框图;
图8是本发明另一实施例提供的一种多目标优化问题求解设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
首先,对本申请中的部分用语进行解释说明,以便本领域技术人员理解。
(1)基于“教与学”的优化算法(Teaching-Learning-Based Optimization,TLBO)。
首先,介绍下本发明实施例基于“教与学”的优化算法中所涉及的班级、学员、教师、学生的基本概念。具体地,可以参见表1:
表1基于教与学优化算法中的相关概念
优化过程 | 教与学优化算法(TLBO) |
全局最优 | 教师 |
目标函数 | 成绩评价 |
变量 | 所学科目 |
问题的解 | 学员 |
寻优过程 | 学习 |
可行解集 | 班级 |
从表1可以知道,结合多目标优化问题来看,在教与学优化算法的中,班级表示多目标优化问题的可行解集;学员表示多目标优化问题的解;教师表示多目标优化问题全局最优的解。
具体实现中,基于“教与学”的优化算法是模拟以班级为单位的学习方式,班级中的学生成绩(也即知识值)的提高需要教师的“教”来引导,同时,学生之间需要相互“学习”来促进知识的吸收。其中,教师和学生相当于进化算法中的个体,而教师是适应值最好的个体,用Xteacher表示。具体实现中,在未对“教与学”优化算法进行改进之前,班级中一个教室,多个学生。
具体实现中,“教与学”优化算法的“教”阶段是指,班级中的每个学生根据教师的知识值Xteacher和学生的知识值的平均值Xmean之间的差异性进行学习,以尽可能的减少学生与教师之间的差异性。可以理解的是,由于“教”阶段,每个学生个体都在向教师学习,这样种群很容易向教师靠拢聚集,搜索速度快。
具体实现中,可以采用如下公式实现“教”阶段:
TFi=round[1+round(0,1)] (4)
在上述表达式(2)中,S表示班级中所包含的学员的数量;Xmean表示班级中所包含的学员知识值的平均值。在上述表达式(3)中,表示学员学习后的知识值,/>表示学习前的知识值,Xteacher表示教师的知识值,TFi表示教学因子,ri表示学习步长,ri为0-1之间的随机数。
具体实现中,教学因子TFi可以为1或2。
“教”阶段完成之后,更新学生,即更新学生的知识值。每个学生根据学习后的成绩和学习之前的成绩进行对比。若更新后的成绩好于更新前的成绩,则进行替换,具体的替换准则可以如公式(5)所示:
具体实现中,“教与学”优化算法的“学”阶段是指,对每一个学生,在班级中随机选择一个学习对象,学生通过分析自己和学习对象的差异进行调整。例如,可以采用如下公式(6)实现“学”的过程:
可以理解的是,在“学”阶段,通过学生之间的交流学习使其相互取长补短。由于在“学”阶段每个学生在学习时,是在小范围的学生之间进行,不会过早向全局最优点方向调整,能够有效保持学生的多样性特征,从而可以保证算法在搜索空间的全局搜索能力。
若“教与学”优化算法满足结束条件,则优化过程结束,否则继续执行上述提到的“教”阶段和“学”阶段。
(2)非支配解。
多目标问题中,由于存在目标之间的冲突和无法比较的现象,一个解在某个目标上是最好的,在其他的目标上可能比较差。Pareto在1986年提出多目标的解不受支配解(Non-dominated set,不受支配解)的概念。其定义为:假设任何二解S1及S2对所有目标而言,S1均优于S2,则我们称S1支配S2,若S1的解没有被其他解所支配,则S1称为非支配解(也即,不受支配解),也称Pareto解。这些非支配解的集合即所谓的帕累托前沿(ParetoFront,帕累托前沿)。所有坐落在Pareto front中的所有解皆不受Pareto Front之外的解(以及Pareto Front曲线以内的其它解)所支配,因此这些非支配解较其他解而言拥有最少的目标冲突,可提供决策者一个较佳的选择空间。在某个非支配解的基础上改进任何目标函数的同时,必然会削弱至少一个其他目标函数。
(3)模拟退火算法。
模拟退火算法来源于固体退火原理,将固体加温至充分高,再让其徐徐冷却,加温时,固体内部粒子随温升变为无序状,内能增大,而徐徐冷却时粒子渐趋有序,在每个温度都达到平衡态,最后在常温时达到基态,内能减为最小。根据Metropolis准则,粒子在温度T时趋于平衡的概率为e(-ΔE/(kT)),其中E为温度T时的内能,ΔE为其改变量,k为Boltzmann常数。
具体实现中,模拟退火算法的实现步骤可以包括:
步骤1、从可行解空间中任选一个初始状态x0,计算其目标函数值f(x0),并选择初始控制温度T0和马尔科夫链的长度;
步骤2、在可行解空间中产生一个随机扰动,用状态产生函数产生一个新状态x1,计算其目标函数值f(x1);
步骤3、根据状态接受函数判断是否接受:如果f(x1)<f(x0),则接受新状态x1为当前状态,否则按Metropolis准则判决是否接受x1,若接受,则令当前状态等于x1,若不接受,则令当前状态等于x0;
步骤4、根据某个收敛准则,判断抽样过程是否终止,若是,则执行步骤5;若否,则执行步骤2;
步骤5、按照某个温度冷却方案降低控制温度T;
步骤6、根据某个收敛准则,判断退火过程是否终止,若是,则执行步骤7;若否,则执行步骤2;
步骤7、当前解作为最优解输出。
接下来,介绍下本发明的发明构思。在本发明中,先获取针对多目标优化问题的数据,之后,根据获取到的多目标优化问题的数据对班级中的学员进行初始化,在对班级中的学员进行初始化的过程中,将知识水平高的学员确定为教师,除教师之外的其它学员确定为学生。在具体实现过程中,班级中可以包括一个教师,多个学生,也可以包括多个教师,多个学生。在多个教师与多个学生的实现方式中,可以基于班级学生的数量,分配多个老师,以实现更好的监督。例如,班级中包括100个学员,其中,有3个教师,97个学生。
在“教”阶段,每一个教师Xteacher将其知识教给班级里的学生,以提高班级的平均知识值Xmean,可以理解的是,在教师的数量为多个时,由于不同的教师具有不同的知识值,致使教师在“教”学生阶段,学生可以学到不同的知识;在“学”阶段,学生可以通过向教师学习,也可以通过学生与学生之间的相互学习来提高自身的知识值,与此同时,教师与教师之间也可以通过相互学习来提高自身的知识值。
具体实现中,“学”阶段,可以利用轮盘赌算法来随机产生教师可以学习的对象,以及学生可以学习的对象,例如,第一学生可以学习的对象为第二学生,第一教师可以学习的对象为第二教师,之后,在判断得知第二学生的知识值大于第一学生的知识值的情况下,第一学生可以向第二学生进行学习。同样地,在判断得知第二教师的知识值大于第一教师的知识值的情况下,第一教师可以向第二教师学习。也即,学生与学生之间的相互学习是指学习能力弱的学生向学习能力强的学生学习,教师与教师之间的相互学习是指学习能力弱的教师向学习能力强的教师学习。
在“学”阶段完成之后,对教师与学生来说,在满足学习后的知识值大于学习前的知识值的情况下,更新班级中的学生和教师,也即保留知识水平较强的教师与学生。“自学”阶段是指,学生们的自学和教师自身的提高过程,以提高班级的整体知识水平。具体实现中,在“自学”阶段,引进了改进的模拟退火算法(MSA,Modified Simulated Annealingalgorithm)。例如,该模拟退火算法中融入了延迟接受新个体机制,也即将当前迭代解与几次迭代前的解相比,较优则替换。该改进的模拟退火算法可以扩大算法的搜索范围,防止算法提前进入局部收敛。在上述方法的实现过程中,可以增大搜索范围,避免提前进入局部最优,从而可以获得较优的Pareto前沿。此外,本申请还可以尽可能的将每一个个体分布在第一层次Pareto解集,也即非支配解。
在本发明的其中一个实施例中,基于教与学算法求解多目标优化问题方法的具体实现过程可以参见图1。如图1所示,结合多目标优化问题的数据,执行班级初始化,在全局范围内根据排序结果确定教师与学生,其中,教师的数量可以为一个,也可以为多个,学生的数量为多个,继而,通过教阶段和学阶段来更新学生,并在满足结束条件时,输出针对多目标优化问题的Pareto解集。需要说明的是,在本申请中,当终端输出针对多目标优化问题的Pareto解集时,Pareto解集中的解可以包括一个,也可以包括多个,本发明实施例不作具体限定。
进一步地,下面结合图2所示的本发明实施例提供的基于教与学算法求解多目标优化问题方法的流程示意图,具体说明本发明实施例是如何实现关于多目标优化问题的求解的,可以包括但不限于如下步骤S201-步骤S207:
步骤S201、获取多目标优化问题的数据;
示例性地,以多目标优化问题为电力系统优化调度为例进行阐述。对于电力系统优化调度来说,通常状态下,需要考虑多个目标,例如,发电成本、电压稳定指数、系统网损、二氧化碳排放量、污染气体排放量、电压偏差等指标。
例如,获取到的电力系统优化调度这一多目标优化问题的数据可以如表2所示:
表2电力系统优化调度数据
由表2可以知道,对于某一个调度解来说,它受发电成本、电压稳定指数、系统网损、二氧化碳排放量、污染气体排放量、电压偏差等指标的影响。其中,发电成本、电压稳定指数、系统网损、二氧化碳排放量、污染气体排放量、电压偏差都可以作为一个单独的优化目标。
步骤S202、针对所述多目标优化问题的数据,确定班级中的学员的知识值。
例如,终端可以根据表2所示中的数据,确定“教与学”优化算法中所涉及的班级中的学员的知识值,也即实现对班级中的学员的初始化。
在其中的一个实现方式中,将初始化后的班级中的学员放入多个不同层次的Pareto解集。具体实现中,将初始化后的班级中的学员放入多个不同层次的Pareto解集,可以包括:首先,将班级中所包含的学员分为P组,其中,P为大于2的正整数;然后,将分组好的P组学员放入不同层次的Pareto解集。具体实现中,分组方式可以包括平均分组,也可以包括非等额分组,本发明实施例不作具体限定。
例如,班级中的学员包括100个,学员编号包括1-100,将100个学员平均分成10组,每组10个学员,其中,第1组学员为1-10,第2组学员为2-20,依次类推。在实际应用中,将第1组学员放入第一层Pareto解集,将第2组学员放入第二层Pareto解集,……,将第10组学员放入第十层Pareto解集。
在将初始化后的班级中的学员放入多个不同层次的Pareto解集之后,确定处于不同层次Pareto解集的学员的知识值。
具体实现中,所述确定班级中的学员的知识值,可以包括:
在确定所述班级中第i层Pareto解集的其中一个学员的知识值时,根据所述多目标问题包含的目标值的数量,通过分别计算每个解的目标值占所述第i层Pareto解集中所有解的目标值之和的比例,以及所述第i层Pareto解集的常量,来确定知识值。
在实际应用中,可以采用如下所描述的方式来确定班级中的学员的知识值,示例性地,例如,根据所述多目标问题包含的目标值的数量,通过分别计算每个解的目标值占所述第i层Pareto解集中所有解的目标值之和的比例,以及所述第i层Pareto解集的常量,来确定知识值,可以包括:
在确定所述班级中的其中一个学员的知识值时,根据以下计算公式来确定:
Costi=A1+A2+...+Ak+B
其中,所述Costi表示所述第i层Pareto解集中的学员的知识值,所述i为大于0的正整数;所述K表示所述多目标问题包含的目标值的数量;K+1用于确定所述计算公式中的求和项的数量;所述(其中,L=1,2,…,K),所述fL(i)表示所述第i层Pareto解集中的第L个目标值;所述/>表示所述第i层Pareto解集中的所有解之和;Nrank表示所述第i层Pareto解集中的学生的数量;所述B=(ranki-1)*2。
具体实现中,采用本申请如上所描述的确定班级中的学员的知识值这一方法,可以降低计算的复杂度。
步骤S203、将处于不同层次的Pareto解集的学员的知识值进行排序,得到第一排序结果。
具体实现中,将处于不同层次的Pareto解集中的学员的知识值进行排序,可以包括:将不同层次的Pareto解集中的学员的知识值从大到小进行排序;或,将不同层次的Pareto解集中的学员的知识值从小到大进行排序,本发明实施例不作具体限定。
如前所述,在确定好处于不同层次的Pareto解集的学员的知识值之后,对处于不同层次的Pareto解集的学员的知识值可以从大到小进行排序,也可以从小到大进行排序,继而,可以得到关于班级中的所有学员的知识值的排序结果。例如,班级中的学员包括100个,在执行步骤S103之后,可以得到关于班级中的所有学员的知识值的排序结果,该排序结果可以用于终端确定班级中的教师与学生。
步骤S204、将所述第一排序结果中知识值从大到小排名的前M位的学员确定为所述班级中的M个教师,并将所述第一排序结果中除所述M个教师之外的其它学员确定为学生;所述M为大于0的正整数。
如前所述,班级中的学员为100个,根据排序结果可以确定班级中的教师和学生。在其中的一种实现方式中,例如,当M=1时,表示班级中有1个教师,在这种情况下,将班级中的学员的知识值从大到小排序得到的排序结果中排名第一的学员确定为教师,与此同时,将上述排序结果中除确定好的1个教师之外的其它学员确定为学生,也即班级中的100个学员中有1个教师和99个学生。此时,99个学生根据1个教师和学生平均值Xmean之间的的差异性进行学习,以尽可能的减少学生与教师之间的差异性。可以理解的是,在班级中的教师有且只有一个的情况下,唯一的一个教师努力通过教学来提高班级的所有学员的知识平均值,但是,在班级中的学员的知识值普遍较低的情况下,一个教师的教学需要付出很大的努力,并且往往难以提升班级的整体知识值。此外,在实际应用中可以发现,由于99个学生中的每个学生均向教师1学习,在这种情况下,容易带来班级中的学员的多样性过早丢失的问题,进而陷入局部搜索。
在其中的另一种实现方式中,例如,当M=2时,表示班级中有2个教师,在这种情况下,将班级中的学员的知识值从大到小排序得到的排序结果中排名前2位的学员确定为教师。与此同时,将上述排序结果中除确定好的2个教师之外的其它学员确定为学生,也即班级中的100个学员中有2个教师(例如,教师1和教师2)和98个学生。此时,98个学生中的每个学生(例如,学生1)可以根据教师1和学生平均值Xmean之间的差异性进行学习,以尽可能的减少学生1与教师1之间的差异性。此外,学生1还可以根据教师2和学生平均值Xmean之间的差异性进行学习,以尽可能的减少学生1与教师2之间的差异性。可以理解的是,在这种情况下,学生1在教师1和教师2的教导下,可以学习到不同的知识本领,以提高自身的知识值,避免在一个教师的情况下带来的班级中的学员的多样性过早丢失的问题,从而可以避免提前陷入局部搜索。
具体实现中,上述举例中的M=1以及M=2只是作为一种示例,在实际应用中,M可以为大于0的正整数,例如,M=3,M=4等等,本发明实施例不作具体限定。可以理解的是,在班级中的教师的数量大于等于2时,可以避免在教师的数量为1的情形下,带来的班级中的学员的多样性过早丢失的问题,从而,可以避免提前陷入局部搜索。
步骤S205、通过教阶段更新所述班级中的学生。
例如,通过教阶段更新班级中的学生,可以包括:通过控制所述班级中的每个学生根据每个教师的知识值与学生知识平均值Xmean的差异性进行学习,在满足所述班级中的每个学生学习后的知识值大于学习前的知识值的情况下,更新所述班级中的学生。
具体实现中,可以采用本申请中所描述的公式(2)、公式(3)、公式(4)实现教阶段。在教阶段完成之后,更新学生。具体地,每个学生将学习后的知识值和学习前的知识值进行比对,在满足班级中的每个学生学习后的知识值大于学习后的知识值大于学习前的知识值的情况下,更新班级中的学生。
步骤S206、通过学阶段更新所述班级中的学生。
例如,通过学阶段更新班级中的学生,可以包括:通过控制所述班级中的学生与学生之间进行相互学习,在满足所述班级中的每个学生学习后的知识值大于学习前的知识值的情况下,更新所述班级中的学生。
具体实现中,可以采用本申请中所描述的公式(6)实现学阶段。在学阶段完成之后,更新学生即更新学生的知识值。具体地,每个学生根据学习后的知识值和学习前的知识值进行比对,在满足班级中的每个学生学习后的知识值大于学习后的知识值大于学习前的知识值的情况下,更新班级中学生。需要说明的是,在这种实现方式中,例如,班级中的学生包括学生1和学生2,且学生1的知识值大于学生2的知识值,采用公式(6)实现学阶段的过程中,可能出现学生1向学生2学习的情形,也即学习能力强的学生向学习能力弱的学生进行学习,此时,对学生1来说,容易带来学习后的知识值小于学习前的知识值,此时,不更新学生1。也就意味着,在这种情况下,学生1向学生2学习的这一过程是无用操作。
在其中的一种实现方式中,为了避免在学阶段出现学习能力强的学生向学习能力弱的学生学习的情形,对学阶段进行了改进。
具体实现中,所述通过学阶段更新所述班级中的学生,包括:
根据预设的第二随机算法确定第一学生拟学习的学习对象为第二学生;其中,所述第一学生和所述第二学生为所述班级中的学生;
若所述第二学生的知识值大于所述第一学生的知识值,则所述第一学生向所述第二学生学习,并在满足所述第一学生学习后的知识值大于学习前的知识值的情况下,更新所述第一学生。
具体地,预设的第二随机算法为轮盘赌算法。轮盘赌算法,其实质是一种随机选择算法。结合本申请来说,用于随机确定班级中的学生(例如,学生1)可以学习的学习对象。结合本申请来说,在学生的数量为多个时,用于随机确定班级中的学生可以学习的学习对象。例如,班级中的学生的数量为5个,分别为学生1、学生2、学生3、学生4以及学生5。其中,学生1为待学习的学生,根据轮盘赌算法确定学生1可以学习的学习对象为学生3,此时,终端判断学生3的知识值是否大于学生1的知识值,在判断得知学生3的知识值大于学生1的知识值的情况下,学生1可以向学生3进行学习。在满足学生1学习后的知识值大于学习前的知识值的情况下,更新班级中的学生1。同样地,对于学生2(待学习的学生)来说,根据轮盘赌算法确定学生2可以学习的学习对象为学生3,此时,终端判断学生3的知识值是否大于学生2的知识值,在判断得知学生3的知识值大于学生2的知识值的情况下,学生2可以向学生3进行学习。其它的学生,例如,学生3、学生4以及学生5可以按照上述方法来进行学习。
总的来说,在本申请中,学习能力弱的学生可以向学习能力强的学生进行学习,这一学习过程是有向学习过程,而非盲目学习,可以尽可能地避免获得的Pareto前沿较差。
步骤S207、若当前迭代次数满足预设的最大迭代次数,输出针对所述多目标优化问题的Pareto解集。
例如,预设的最大迭代次数可以为100,在当前迭代次数达到100时,输出针对多目标优化问题的Pareto解集。
具体实现中,针对不同的多目标优化问题,预设的最大迭代次数可以相同,也可以有所差异,本发明实施例不作具体限定。针对如何设置预设的最大迭代次数,只需满足获得的Pareto解集中的解是优解即可。可以理解的是,在实际应用中求解针对多目标优化问题的Pareto解集时,需要结合待求解的实际问题的目标函数和约束条件来确定Pareto解集。在具体应用中,当Pareto解集中的解分布在Pareto前沿曲线上,或者,Pareto解集中的解分布在Pareto前沿曲线周围时,在这种情况下,可以说明,Pareto解集中的解是优解。
具体实现中,终端可以根据求解得到的针对所述多目标优化问题的Pareto解集对多目标优化问题作出决策,以解决实际应用中的具体问题。
在本发明的其中一个实施例中,基于图1所示的基于教与学算法求解多目标优化问题方法的实现过程,对班级进行初始化之后,全局范围内根据排序结果确定教师与学生之前,还可以包括:设置所述班级中的教师与学生的数量。
例如,班级中的学员包括100个,终端可以设置班级中的教师的数量为2个,学生的数量为98个;终端还可以设置班级中的教师的数量为3个,学生的数量为97个。
在实际应用中,考虑到多目标优化问题种类繁多以及形态迥异的特点,为了获得针对多目标优化问题较优的Pareto前沿(例如,当Pareto解集中的解分布在Pareto前沿曲线上,或者,Pareto解集中的解分布在Pareto前沿曲线周围时,在这种情况下,可以说明,当前所获得的Pareto解集中的解是针对多目标优化问题较优的Pareto前沿),终端可以采用如下方法设置班级中的教书与学生的数量:
具体实现中,所述设置所述班级中的教师与学生的数量,可以包括:
根据所述多目标优化问题的特点设置所述班级中的教师与学生的数量;或,
根据预设的教师与学生的比值设置所述班级中的教师与学生的数量。
如前所述,结合表2所示的针对电力系统优化调度这一多目标优化问题,终端可以设置班级中的学员的数量为100个,其中,教师的数量为2个,班级中的学生的数量为98个。可以理解的是,采用本发明实施例中的设置班级中的教师与学生的数量这一实现方式,可以使得班级中的学生的学习更具针对性,从而可以获取较优的Pareto前沿。
在本发明的其中一个实施例中,基于图1所示的基于教与学算法求解多目标优化问题方法的实现过程,通过学阶段更新所述班级中的学生同时,还可以包括:通过所述学阶段控制所述班级中的教师与教师之间进行相互学习,在满足所述班级中的每个教师学习后的知识值大于学习前的知识值的情况下,更新所述班级中的教师。
具体地,所述通过所述学阶段控制班级中的教师与教师之间进行相互学习,包括:
根据预设的第一随机算法确定第一教师拟学习的学习对象为第二教师;其中,所述第一教师和所述第二教师为所述班级中的教师;
若所述第二教师的知识值大于所述第一教师的知识值,则所述第一教师向所述第二教师学习。
例如,预设的第一随机算法为轮盘赌算法。轮盘赌算法,其实质是一种随机选择算法。结合本申请来说,教师的数量为多个时,用于随机确定班级中的教师可以学习的学习对象。例如,班级中的教师的数量为3个,分别为教师1、教师2和教师3。其中,教师1为待学习的教师,根据轮盘赌算法确定教师1可以学习的学习对象为教师2,此时,终端判断教师2的知识值是否大于教师1的知识值,在判断得知教师2的知识值大于教师1的知识值的情况下,教师1可以向教师2进行学习。在满足教师1学习后的知识值大于学习前的知识值的情况下,更新班级中的教师1。同样地,对于教师2(待学习的教师)来说,根据轮盘赌算法确定教师2可以学习的学习对象为教师3,此时,终端判断教师3的知识值是否大于教师2的知识值,在判断得知教师3的知识值大于教师2的知识值的情况下,教师2可以向教师3进行学习。
总的来说,在本申请中,学习能力弱的教师可以向学习能力强的教师进行学习,这一学习过程是有向学习过程,而非盲目学习,可以尽可能地避免获得的Pareto前沿较差。
在本发明的其中一个实施例中,基于图1所示的基于教与学算法求解多目标优化问题方法的实现过程,在学阶段之后,在满足结束条件时输出Pareto解集之前,还可以包括:班级重组。具体地,可以参见图3。接下来对图3所示的班级重组进行具体描述:
具体地,若所述班级中的学生的知识值大于所述班级中的M个教师的知识值,对所述班级进行重组,并重复执行所述通过教阶段更新所述班级中的学生以及所述通过学阶段更新所述班级中的学生的步骤,直到当前迭代次数达到所述预设的最大迭代次数。
具体实现中,所述对所述班级进行重组,包括:
将所述班级中的学员的知识值进行排序,得到第二排序结果;
将所述第二排序结果中知识值从大到小排名的前M位的学员确定为所述班级中的M个教师,并将所述第二排序结果中除所述M个教师之外的其它学员确定为学生。
例如,班级中的学员包括100个,当M=1时,在这种情况下,班级中包括1个教师和99个学生。在教阶段和学阶段完成之后,可以获取班级中的100个学员的知识值,此时,对班级中的100个学员的知识值进行再次排序,可以得到排序结果,将按照知识值从大到小排序得到的排序结果中排名第一的知识值所对应的学员重新确定为教师,班级中的其它学员确定为学生,之后,重复执行教阶段和学阶段,直到当前迭代次数达到预设的最大迭代次数。
又例如,班级中的学员包括100个,当M=2时,在这种情况下,班级中包括2个教师和98个学生。在教阶段和学阶段完成之后,可以获取班级中的100个学员的知识值,此时,对班级中的100个学员的知识值进行再次排序,可以得到排序结果,将按照知识值从大到小排序得到的排序结果中排名前2位的知识值所对应的学员重新确定为教师,班级中的其它学员确定为学生,之后,重复执行教阶段和学阶段,直到当前迭代次数(即重复执行该教阶段和学阶段的次数)达到预设的最大迭代次数。
需要说明的是,上述举例中的M=1以及M=2只是一种示例,不应构成限定,在实际应用中,只需M为大于0的正整数即可。例如,M=3,M=4等等,本发明实施例不作具体限定。
可以理解的是,在班级中的学生的知识值大于教师的知识值的情况下,可以对班级进行重组,从而可以使得班级中的学生可以再次向教师进行学习,以提高自身的知识值,使得本申请所涉及的教阶段和学阶段中教师和学生的学习行为更具有效性,从而可以获得更好的Pareto前沿。
在本发明的其中一个实施例中,基于图1所示的基于教与学算法求解多目标优化问题方法的实现过程,在学阶段之后,在满足结束条件时输出Pareto解集之前,还可以包括:自学阶段。具体地,可以参见图4。接下来对图4所示的自学阶段进行具体描述:
具体地,通过自学阶段控制所述班级中的每个学生和每个教师进行自学。
具体实现中,自学是指自我驱动的学习方式,以提高自身的知识值。例如,在自学阶段,对于班级中的学生来说,可以进行自我学习;同样地,对于班级中的教师来说,也可以进行自我学习。在引入自我驱动的学习方式后,班级中的学员的学习更加多样化,从而可以增大搜索范围,以便获得更好的Pareto前沿。
在发明实施例中,为了避免班级中的学员在自学阶段进行自我的盲目学习,引进了模拟退火算法和延迟接受算法。具体地,可以参见图5所示的算法实现流程图,如图5所示,T表示温度,Tmin表示最小温度,q表示冷却系数。其中,模拟退火算法是基于蒙特卡罗迭代求解法的一种启发式随机搜索过程。其核心思想在于:由初始解和控制参数初值T开始,对当前解重复“产生新解—计算目标函数差—接受或舍弃”的迭代,并逐步衰减T值,算法终止时的当前解即为所得近似最优解。延迟接受算法的核心思想在于不会立即接受当前解,而是在获取当前解之前的若干个候选解之后,比较当前解和若干个候选解之间的优劣情况,用较优的解替换当前解。
具体实现中,所述通过自学阶段控制所述班级中的每个学生和每个教师进行自学,包括:
在所述自学阶段中,获取当前迭代解S之前的Q个候选解Sm(m=1,…,Q);其中,所述Q为大于1的正整数;
若通过状态接受函数确定Sn(n=1,…,Q)优于所述当前迭代解S,则接受所述Sn;其中,所述Sn为所述Q个候选解Sm中的任意一个解。
具体实现中,所述在所述自学阶段中,获取当前迭代解S之前的Q个候选解Sm之后,所述若通过状态接受函数确定Sn优于所述当前迭代解S,则接受所述Sn之前,还包括:
确定所述当前迭代解S对应的目标函数值f(S)和所述Q个候选解Sm各自对应的目标函数值f(Sm);
通过所述状态接受函数根据所述当前迭代解S对应的目标函数值f(S)和所述Q个候选解Sm各自对应的目标函数值f(Sm)确定是否接受所述当前迭代解S或Sn;其中,所述Sn为所述Q个候选解Sm中的任意一个解。
在本发明的其中一个实施例中,基于图1所示的基于教与学算法求解多目标优化问题方法的实现过程,在学阶段之后,在满足结束条件时输出Pareto解集之前,还可以包括:自学阶段和班级重组,其中,自学阶段在班级重组之前。具体地,可以参见图6。
在本发明实施例中,关于自学阶段的具体实现,可以参见图4对应的文字描述。同样地,关于班级重组的具体实现,可以参见图3对应的文字描述。
实施本发明实施例,终端在全局范围内对处于不同层次的Pareto解集的学员的知识值进行排序,继而,可以根据排序结果确定教与学算法中的教师与学生,通过教与学算法的教阶段、学阶段和自学阶段来实现班级中的学员的更新,以获得针对多目标优化问题的Pareto解集。在方法的实现过程中,可增大搜索范围,避免提前进入局部最优,从而可以获得较优的Pareto前沿。
示例性地,下面结合日常生活中多目标优化问题的几个具体实例(例如,间歇性甘蔗煮糖结晶过程优化、电力系统环境经济调度)来介绍本申请可以应用的应用场景。
例如,间歇性甘蔗煮糖结晶过程属于多目标优化过程,通常情况下,希望在最短的时间内获得最好的晶体尺寸分布参数,例如,最好的晶体尺寸分布参数包括最大的晶体平均尺寸和最小的晶体尺寸变异系数。具体实现中,间歇性甘蔗煮糖结晶过程的数学模型可以包括目标函数和约束条件两部分。例如,目标函数包括晶体尺寸分布参数;约束条件包括过程变量以及投种晶体特征。其中,过程变量主要包括糖膏温度、糖液过饱和度、糖液纯度、晶体体积和糖膏体积;投种晶体特征主要包括投种晶体数量、尺寸和质量。
作为一种优选的实现方式,在本发明实施例中,采用教阶段、学阶段、自学阶段以及对班级进行重组来求解间歇性甘蔗煮糖结晶过程中的晶体尺寸分布参数这一多目标优化问题的Pareto解集。以下进行详细阐述:
结合本申请所描述的方法,首先,获取间歇性甘蔗煮糖结晶这一多目标优化问题的数据,通过约束条件和目标函数确定班级中的学员,并对班级中的每个学员给定一个预先设置好的知识值,即对班级的学员进行初始化。
在对班级的成员进行初始化之后,采用非支配快速排序算法对班级中的学员的知识值进行排序,结合设置好的班级中的教师与学生的数量确定班级中的学生与教师。在确定了班级中的教师与学生之后,班级中的每个学生根据每个教师的知识值与学生知识平均值Xmean的差异性进行学习,在满足班级中的每个学生学习后的知识值大于学习前的知识值的情况下,更新班级中的学生,形成新的班级C1。具体实现中,可以采用本申请所提到的公式(2)计算班级中所包含的学员的知识平均值;在满足班级中的每个学生学习后的知识值大于学习前的知识值的情况下,可以采用本申请所提到的公式(5)更新班级中的学生。
在“教”阶段完成之后,班级C1中的学生与学生之间进行相互学习,例如,对于学生1来说,可以采用轮盘赌算法随机产生学生1可以学习的学习对象(如学生2)。在满足学生2的知识值大于学生1的知识值的情况下,学生1向学生2学习。具体实现中,可以采用本申请所提到的公式(6)确定班级中的每个学生学习后的知识值,在满足班级C1中的每个学生学习后的知识值大于学习前的知识值的情况下,可以采用本申请所提到的公式(7)更新班级中的学生。与此同时,班级C1中的教师与教师之间可以进行相互学习,例如,对于教师1来说,可以采用轮盘赌算法随机产生教师1可以学习的学习对象(如教师2)。在满足教师2的知识值大于教师1的知识值的情况下,教师1向教师2学习。具体实现中,班级C1中的教师与教师之间可以采用公式(8)进行相互学习:
继而可以确定每个教师相互学习之后的知识值,在满足班级C1中的每个教师学习后的知识值大于学习前的知识值的情况下,可以采用公式(9)更新班级中的教师:
在班级中的教师与教师之间进行相互学习完成之后,班级中的每个学生可以进行自学,以提高自身的知识值。可以理解的是,班级中的每个教师也可以进行自学,以提高自身的知识值。具体实现中,在“自学”阶段,可以采用融合好的遗传退火算法与延迟接受算法,获得“自学”阶段所产生的新的学生和新的教师。之后,在获知班级中的学生的知识值大于班级中的教师的知识值的情况下,对班级进行重组。具体实现中,对班级进行重组是指将班级中较优的学员确定为教师,其它的学员确定为学生,并重复执行上述“教”阶段、“学”阶段以及“自学”阶段,在当前迭代次数满足预设的最大迭代次数的情况下,输出针对间歇性甘蔗煮糖结晶过程优化的晶体尺寸分布参数的Pareto优化解集。可以理解的是,继而终端可以在上述Pareto优化解集中选取任意一个解,可以获得较好的晶体尺寸分布参数。
结合上述应用场景可以知道,实施本发明实施例,可以解决现有技术中针对间歇性甘蔗煮糖结晶过程存在的获取到的晶体尺寸分布参数较差的问题。
又例如,电力系统环境经济调度是在满足电力供需平衡及机组出力上下限的条件下,求解使系统发电成本或燃料费用最低的调度方案。具体实现中,电力系统环境经济调度的数学模型包括目标函数和约束条件两部分。例如,目标函数包括燃料费用最低和污染气体排放量最少;约束条件包括机组出力约束、功率平衡约束、旋转备用约束。
作为一种优选的实现方式,在本发明实施例中,采用教阶段、学阶段、自学阶段以及对班级进行重组来求解电力系统环境经济调度这一多目标优化问题的Pareto解集。以下进行详细阐述:
结合本申请所描述的方法,首先,获取电力系统环境经济调度这一多目标优化问题的数据,通过约束条件和目标函数确定班级中的学员,并对班级中的每个学员给定一个预先设置好的知识值,即对班级的学员进行初始化。
在对班级的成员进行初始化之后,采用非支配快速排序算法对班级中的学员的知识值进行排序,结合设置好的班级中的教师与学生的数量确定班级中的学生与教师。在确定了班级中的教师与学生之后,班级中的每个学生根据每个教师的知识值与学生知识平均值Xmean的差异性进行学习,在满足班级中的每个学生学习后的知识值大于学习前的知识值的情况下,更新班级中的学生,形成新的班级C1。具体实现中,可以采用本申请所提到的公式(2)计算班级中所包含的学员的知识平均值;在满足班级中的每个学生学习后的知识值大于学习前的知识值的情况下,可以采用本申请所提到的公式(5)更新班级中的学生。
在“教”阶段完成之后,班级C1中的学生与学生之间进行相互学习,例如,对于学生1来说,可以采用轮盘赌算法随机产生学生1可以学习的学习对象(如学生2)。在满足学生2的知识值大于学生1的知识值的情况下,学生1向学生2学习。具体实现中,可以采用本申请所提到的公式(6)确定班级中的每个学生学习后的知识值,在满足班级C1中的每个学生学习后的知识值大于学习前的知识值的情况下,可以采用本申请所提到的公式(7)更新班级中的学生。与此同时,班级C1中的教师与教师之间可以进行相互学习,例如,对于教师1来说,可以采用轮盘赌算法随机产生教师1可以学习的学习对象(如教师2)。在满足教师2的知识值大于教师1的知识值的情况下,教师1向教师2学习。具体实现中,班级C1中的教师与教师之间可以采用公式(8)进行相互学习:
继而可以确定每个教师相互学习之后的知识值,在满足班级C1中的每个教师学习后的知识值大于学习前的知识值的情况下,可以采用公式(9)更新班级中的教师。
在班级中的教师与教师之间进行相互学习完成之后,班级中的每个学生可以进行自学,以提高自身的知识值。可以理解的是,班级中的每个教师也可以进行自学,以提高自身的知识值。具体实现中,在“自学”阶段,可以采用融合好的遗传退火算法与延迟接受算法,获得“自学”阶段所产生的新的学生和新的教师。之后,在获知班级中的学生的知识值大于班级中的教师的知识值的情况下,对班级进行重组。具体实现中,对班级进行重组是指将班级中较优的学员确定为教师,其它的学员确定为学生,并重复执行上述“教”阶段、“学”阶段以及“自学”阶段,在当前迭代次数满足预设的最大迭代次数的情况下,输出针对电力系统环境经济调度优化的经济调度和环境调度的Pareto优化解集。可以理解的是,继而终端可以在上述Pareto优化解集中选取任意一个解,可以获得较好的电力系统环境经济调度结果。
结合上述应用场景可以知道,实施本发明实施例,可以解决现有技术中存在的针对电力系统环境经济调度获取到的电力系统环境经济调度结果不够好的问题。
在本发明的另一实施例中,基于教与学算法求解多目标优化问题方法中,结合多目标优化问题的数据,执行班级初始化,在局部范围内确定教师与学生,其中,教师的数量为多个,继而,通过教阶段和学阶段更新班级中的教师与学生,并在满足结束条件时,输出针对多目标优化问题的Pareto解集。具体地,局部范围内确定教师与学生,可以包括:根据所述班级中的学员的知识值确定教师与学生。
具体实现中,所述根据所述班级中的学员的知识值确定教师与学生,可以包括:
将所述班级中的学员X分为G层Pareto解集,确定每层Pareto解集中学员的知识值;
将所述每层Pareto解集中的学员知识值进行排序,得到第三排序结果;
将所述第三排序结果中知识值最大的学员确定为所述每层Pareto解集中的教师,并将所述每层Pareto解集中除教师之外的其它学员确定为学生。
在本发明实施例中,对每层Pareto解集来说,该Pareto解集中包括1个教师,继而,该层Pareto解集中的学生可以向教师进行学习,以提高自身的知识值。例如,班级中的学员的数量为100个,将这100个学员平均分成10层Pareto解集。其中,第1层Pareto解集中包括1个教师(例如,教师1)和9个学生,9个学生通过教阶段和学阶段来不断提高自身的知识值;第2层Pareto解集中包括1个教师(例如,教师2)和9个学生,9个学生通过教阶段和学阶段来不断提高自身的知识值,其他层Pareto解集依次类推,此处不多加赘述。又例如,班级中的学员的数量为100个,将这100个学员平均分成2层Pareto解集。其中,第1层Pareto解集中包括1个教师(例如,教师1)和49个学生,49个学生通过教阶段和学阶段来不断提高自身的知识值;第2层Pareto解集中包括1个教师(例如,教师2)和49个学生,49个学生通过教阶段和学阶段来不断提高自身的知识值。具体实现中,对学员进行分层,不限于上述举例中的对学员进行平均分层,还可以包括非等额分层。
需要说明的是,在本发明实施例中,可以避免现有技术中1个教师的教学缺陷。在具体实现中,将学员按照知识值的大小分成不同层次的Pareto解集,并且按各个层次Pareto解集中学员的知识值配备不同知识水平的教师分别进行教学。当某一层次Pareto解集中的学生的知识值达到教师的知识值时,给该层次Pareto解集重新分配更好的教师进行教学。通过实施本发明实施例,对班级的多样性和局部收敛性作了较好的平衡,可以获得较好的Pareto前沿。
在本发明的另一实施例中,基于教与学算法求解多目标优化问题方法中,结合多目标优化问题的数据,执行班级初始化,在局部范围内确定教师与学生,其中,教师的数量可以为1个,也可以为多个,学生的数量为多个,继而,通过教阶段、学阶段以及自学阶段更新班级中的教师与学生,并在满足结束条件时,输出针对多目标优化问题的Pareto解集。
例如,班级中的学员的数量为100,当班级中的教师的数量为1个时,在这种情况下,将班级中知识值最大的学员确定为教师,之后,通过本申请中所描述的教阶段、学阶段以及自学阶段来不断提高班级中的学员的知识值,以获得针对多目标优化问题较好的Pareto前沿。可以理解的是,在本发明实施例中,无法避免1个教师的教学缺陷,但通过自学阶段可以提高班级中学员的多样性,以避免过早陷入局部收敛,以获得较好的Pareto前沿。
又例如,班级中的学员的数量为100,当班级中的教师的数量为多个时,在这种情况下,在每层Pareto解集中将知识值最大的学员确定为教师,之后,通过本申请中所描述的教阶段、学阶段以及自学阶段来不断提高班级中的学员的知识值,以获得针对多目标优化问题较好的Pareto前沿。在本发明实施例中,可以避免现有技术中1个教师的教学缺陷。在具体实现中,将学员按照知识值的大小分成不同层次的Pareto解集,并且按各个层次Pareto解集中学员的知识值配备不同知识水平的教师分别进行教学。当某一层次Pareto解集中的学生的知识值达到教师的知识值时,给该层次Pareto解集重新分配更好的教师进行教学。与此同时,还可以通过自学阶段来提高班级中学员的多样性,进而可以提高全局搜索能力,以获得较好的Pareto前沿。
进一步地,为了便于更好地实施本发明实施例的上述方案,本发明实施例还提供了一种多目标优化问题求解装置,该装置用于执行前述任一项所述的方法的单元。具体地,参见图7,是本发明实施例提供的一种多目标优化问题求解装置700的示意框图。本实施例的多目标优化问题求解装置700可以包括:
获取单元701,用于获取多目标优化问题的数据;
第一确定单元702,用于针对所述多目标优化问题的数据,确定班级中的学员的知识值;
第一排序单元703,用于将处于不同层次的Pareto解集的学员的知识值进行排序,得到第一排序结果;
第二确定单元704,用于将所述第一排序结果中知识值从大到小排名的前M位的学员确定为所述班级中的M个教师,并将所述第一排序结果中除所述M个教师之外的其它学员确定为学生;所述M为大于0的正整数;
第一更新单元705,用于通过教阶段更新所述班级中的学生;
第二更新单元706,用于通过学阶段更新所述班级中的学生;
输出单元707,用于在当前迭代次数满足预设的最大迭代次数的情况下,输出针对所述多目标优化问题的Pareto解集。
可选的,所述M为大于等于2的正整数。
可选的,所述第一确定单元702具体用于:在确定所述班级中第i层Pareto解集的其中一个学员的知识值时,根据所述多目标问题包含的目标值的数量,通过分别计算每个解的目标值占所述第i层Pareto解集中所有解的目标值之和的比例,以及所述第i层Pareto解集的常量,来确定知识值。
作为一种可选的实现方式,所述第一确定单元702可以具体用于:
在确定所述班级中的其中一个学员的知识值时,根据以下计算公式来确定:
Costi=A1+A2+...+Ak+B
其中,所述Costi表示所述第i层Pareto解集中的学员的知识值,所述i为大于0的正整数;所述K表示所述多目标问题包含的目标值的数量;K+1用于确定所述计算公式中的求和项的数量;所述(其中,L=1,2,…,K),所述f1(i)表示所述第i层Pareto解集中的第1个目标值;所述/>表示所述第i层Pareto解集中的所有解之和;Nrank表示所述第i层Pareto解集中的学生的数量;所述B=(ranki-1)*2。
可选的,所述装置700还包括设置单元;
所述设置单元,用于在所述第一确定单元702针对所述多目标优化问题的数据,确定班级中的学员的知识值之后,所述第一排序单元703将处于不同层次的Pareto解集的学员的知识值进行排序,得到第一排序结果之前,设置所述班级中的教师与学生的数量。
可选的,所述设置单元具体用于:
根据所述多目标优化问题的特点设置所述班级中的教师与学生的数量;或,
根据预设的教师与学生的比值设置所述班级中的教师与学生的数量。
可选的,所述装置700还包括教师学习单元和第三更新单元;
其中,所述教师学习单元,用于在所述第二确定单元704将所述第一排序结果中除所述M个教师之外的其它学员确定为学生之后,通过所述学阶段控制所述班级中的教师与教师之间进行相互学习;
所述第三更新单元,用于在满足所述班级中的每个教师学习后的知识值大于学习前的知识值的情况下,更新所述班级中的教师。
可选的,所述教师学习单元包括第一随机算法确定单元和第一处理单元;
其中,所述第一随机确定单元,用于根据预设的第一随机算法确定第一教师拟学习的学习对象为第二教师;其中,所述第一教师和所述第二教师为所述班级中的教师;
所述第一处理单元,用于在所述第二教师的知识值大于所述第一教师的知识值的情况下,所述第一教师向所述第二教师学习。
可选的,所述第二更新单元包括第二随机算法确定单元和第二处理单元;
其中,所述第二随机算法确定单元,用于根据预设的第二随机算法确定第一学生拟学习的学习对象为第二学生;其中,所述第一学生和所述第二学生为所述班级中的学生;
所述第二处理单元,用于在所述第二学生的知识值大于所述第一学生的知识值的情况下,所述第一学生向所述第二学生学习,并在满足所述第一学生学习后的知识值大于学习前的知识值的情况下,更新所述第一学生。
可选的,所述装置700还包括班级重组单元;
所述班级重组单元,用于在所述第二更新单元706通过学阶段更新所述班级中的学生之后,所述输出单元707在当前迭代次数满足预设的最大迭代次数的情况下,输出针对所述多目标优化问题的Pareto解集之前,在所述班级中的学生的知识值大于所述班级中的M个教师的知识值时,对所述班级进行重组,并重复执行所述通过教阶段更新所述班级中的学生以及所述通过学阶段更新所述班级中的学生的步骤,直到当前迭代次数达到所述预设的最大迭代次数。
可选的,所述班级重组单元包括第二排序单元和第三确定单元;
其中,所述第二排序单元,用于将所述班级中的学员的知识值进行排序,得到第二排序结果;
所述第三确定单元,用于将所述第二排序结果中知识值从大到小排名的前M位的学员确定为所述班级中的M个教师,并将所述第二排序结果中除所述M个教师之外的其它学员确定为学生。
可选的,所述装置700还包括自学单元;
所述自学单元,用于在所述第二更新单元706通过学阶段更新所述班级中的学生之后,所述输出单元707在当前迭代次数满足预设的最大迭代次数的情况下,输出针对所述多目标优化问题的Pareto解集之前,通过自学阶段控制所述班级中的每个学生和每个教师进行自学。
可选的,所述自学单元包括获取候选解单元和接受单元;
其中,所述获取候选解单元,用于在所述自学阶段中,获取当前迭代解S之前的Q个候选解Sm(m=1,…,Q);其中,所述Q为大于1的正整数;
所述接受单元,用于在通过状态接受函数确定Sn(n=1,…,Q)优于所述当前迭代解S的情况下,接受所述Sn;其中,所述Sn为所述Q个候选解Sm中的任意一个解。
可选的,所述自学单元还包括确定目标函数值单元和判断单元;
其中,所述确定目标函数值单元,用于在所述获取候选解单元在所述自学阶段中,获取当前迭代解S之前的Q个候选解Sm之后,所述接受单元在通过状态接受函数确定Sn优于所述当前迭代解S时,接受所述Sn之前,确定所述当前迭代解S对应的目标函数值f(S)和所述Q个候选解Sm各自对应的目标函数值f(Sm);
所述判断单元,用于通过所述状态接受函数根据所述当前迭代解S对应的目标函数值f(S)和所述Q个候选解Sm各自对应的目标函数值f(Sm)确定是否接受所述当前迭代解S或Sn;其中,所述Sn为所述Q个候选解Sm中的任意一个解。
实施本发明实施例,终端在全局范围内对处于不同层次的Pareto解集的学员的知识值进行排序,继而,可以根据排序结果确定教与学算法中的教师与学生,通过教与学算法的教阶段、学阶段和自学阶段来实现班级中的学员的更新,以获得针对多目标优化问题的Pareto解集。在方法的实现过程中,可增大搜索范围,避免提前进入局部最优,从而可以获得较优的Pareto前沿,例如,在求解间歇性甘蔗煮糖结晶过程优化中晶体尺寸分布参数这一问题的Pareto前沿时,采用本申请,可以解决现有技术中获取到的晶体尺寸分布参数较差的问题;又例如,在求解电力系统环境经济调度问题的Pareto前沿时,采用本申请,可以解决现有技术中获取到的电力系统环境经济调度结果不够好的问题。
更进一步地,为了便于更好地实施本发明实施例的上述方案,本发明实施例对应提供了一种多目标问题优化设备的结构示意图,下面结合附图来进行解释说明:
如图8示出的本发明另一实施例提供的一种多目标优化问题求解设备的结构示意图,该多目标优化问题求解设备800可以包括至少一个处理器801,通信总线802,存储器803以及至少一个通信接口804。
处理器801可以是一个通用中央处理器(Central Processing Unit,CPU),微处理器,特定应用集成电路(Application-Specific Integrated Circuit,ASIC),或一个或多个用于控制本发明方案程序执行的集成电路。
通信总线802可包括一通路,在上述组件之间传送信息。所述通信接口804,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(RadioAccess Technology,RAN),无线局域网(Wireless Local Area Networks,WLAN)等。
存储器803可以是只读存储器(Read-Only Memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(Random Access Memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(ElectricallyErasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
其中,所述存储器803用于存储执行本发明方案的程序代码,并由处理器801来控制执行。所述处理器801用于执行所述存储器803中存储的程序代码,执行以下步骤:
获取多目标优化问题的数据;
针对所述多目标优化问题的数据,确定班级中的学员的知识值;
将处于不同层次的Pareto解集的学员的知识值进行排序,得到第一排序结果;
将所述第一排序结果中知识值从大到小排名的前M位的学员确定为所述班级中的M个教师,并将所述第一排序结果中除所述M个教师之外的其它学员确定为学生;所述M为大于0的正整数;
通过教阶段更新所述班级中的学生;
通过学阶段更新所述班级中的学生;
若当前迭代次数满足预设的最大迭代次数,输出针对所述多目标优化问题的Pareto解集。
其中,所述M为大于等于2的正整数。
其中,所述处理器801用于确定班级中的学员的知识值,可以包括:
在确定所述班级中第i层Pareto解集的其中一个学员的知识值时,根据所述多目标问题包含的目标值的数量,通过分别计算每个解的目标值占所述第i层Pareto解集中所有解的目标值之和的比例,以及所述第i层Pareto解集的常量,来确定知识值。
其中,作为一种可选的实现方式,所述处理器801用于确定班级中的学员的知识值,可以具体包括:
在确定所述班级中的其中一个学员的知识值时,根据以下计算公式来确定:
Costi=A1+A2+...+Ak+B
其中,所述Costi表示所述第i层Pareto解集中的学员的知识值,所述i为大于0的正整数;所述K表示所述多目标问题包含的目标值的数量;K+1用于确定所述计算公式中的求和项的数量;所述(其中,L=1,2,…,K),所述fL(i)表示所述第i层Pareto解集中的第L个目标值;所述/>表示所述第i层Pareto解集中的所有解之和;Nrank表示所述第i层Pareto解集中的学生的数量;所述B=(ranki-1)*2。
其中,所述处理器801用于针对所述多目标优化问题的数据,确定班级中的学员的知识值之后,将处于不同层次的Pareto解集的学员的知识值进行排序,得到第一排序结果之前,还可以包括:
设置所述班级中的教师与学生的数量。
其中,所述处理器801用于设置所述班级中的教师与学生的数量,可以包括:
根据所述多目标优化问题的特点设置所述班级中的教师与学生的数量;或,
根据预设的教师与学生的比值设置所述班级中的教师与学生的数量。
其中,所述处理器801用于将所述第一排序结果中除所述M个教师之外的其它学员确定为学生之后,还可以包括:
通过所述学阶段控制所述班级中的教师与教师之间进行相互学习,在满足所述班级中的每个教师学习后的知识值大于学习前的知识值的情况下,更新所述班级中的教师。
其中,所述处理器801用于通过所述学阶段控制班级中的教师与教师之间进行相互学习,可以包括:
根据预设的第一随机算法确定第一教师拟学习的学习对象为第二教师;其中,所述第一教师和所述第二教师为所述班级中的教师;
若所述第二教师的知识值大于所述第一教师的知识值,则所述第一教师向所述第二教师学习。
其中,所述处理器801用于通过学阶段更新所述班级中的学生,可以包括:
根据预设的第二随机算法确定第一学生拟学习的学习对象为第二学生;其中,所述第一学生和所述第二学生为所述班级中的学生;
若所述第二学生的知识值大于所述第一学生的知识值,则所述第一学生向所述第二学生学习,并在满足所述第一学生学习后的知识值大于学习前的知识值的情况下,更新所述第一学生。
其中,所述处理器801用于所述通过学阶段更新所述班级中的学生之后,所述若当前迭代次数满足预设的最大迭代次数,输出针对所述多目标优化问题的Pareto解集之前,还可以包括:
若所述班级中的学生的知识值大于所述班级中的M个教师的知识值,对所述班级进行重组,并重复执行所述通过教阶段更新所述班级中的学生以及所述通过学阶段更新所述班级中的学生的步骤,直到当前迭代次数达到所述预设的最大迭代次数。
其中,所述处理器801用于对所述班级进行重组,可以包括:
将所述班级中的学员的知识值进行排序,得到第二排序结果;
将所述第二排序结果中知识值从大到小排名的前M位的学员确定为所述班级中的M个教师,并将所述第二排序结果中除所述M个教师之外的其它学员确定为学生。
其中,所述处理器801用于所述通过学阶段更新所述班级中的学生之后,所述若当前迭代次数满足预设的最大迭代次数,输出针对所述多目标优化问题的Pareto解集之前,还可以包括:
通过自学阶段控制所述班级中的每个学生和每个教师进行自学。
其中,所述处理器801用于所述通过自学阶段控制所述班级中的每个学生和每个教师进行自学,可以包括:
在所述自学阶段中,获取当前迭代解S之前的Q个候选解Sm(m=1,…,Q);其中,所述Q为大于1的正整数;
若通过状态接受函数确定Sn(n=1,…,Q)优于所述当前迭代解S,则接受所述Sn;其中,所述Sn为所述Q个候选解Sm中的任意一个解。
其中,所述处理器801用于在所述自学阶段中,获取当前迭代解S之前的Q个候选解Sm之后,若通过状态接受函数确定Sn优于所述当前迭代解S,则接受所述Sn之前,还可以包括:
确定所述当前迭代解S对应的目标函数值f(S)和所述Q个候选解Sm各自对应的目标函数值f(Sm);
通过所述状态接受函数根据所述当前迭代解S对应的目标函数值f(S)和所述Q个候选解Sm各自对应的目标函数值f(Sm)确定是否接受所述当前迭代解S或Sn;其中,所述Sn为所述Q个候选解Sm中的任意一个解。
在具体实现中,作为一种可选的实施例,处理器801可以包括一个或多个CPU,例如图8中的CPU0和CPU1。
在具体实现中,作为一种可选的实施例,多目标优化问题求解设备800可以包括多个处理器,例如图8中的处理器801和处理器808。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在具体实现中,作为一种可选的实施例,多目标优化问题求解设备800还可以包括输出设备805和输入设备806。输出设备805和处理器801通信,可以以多种方式来显示信息。例如,输出设备805可以是液晶显示器(Liquid Crystal Display,LCD),发光二极管(LightEmitting Diode,LED)显示设备,阴极射线管(Cathode Ray Tube,CRT)显示设备,或投影仪(projector)等。输入设备806和处理器801通信,可以以多种方式接受用户的输入。例如,输入设备806可以是鼠标、键盘、触摸屏设备或传感设备等。
在具体实现中,多目标优化问题求解设备800可以包括移动手机、平板电脑、个人数字助理(Personal Digital Assistant,PDA)、移动互联网设备(Mobile InternetDevice,MID)、智能穿戴设备(如智能手表、智能手环)等各种用户可以使用的多目标优化问题求解设备,本发明实施例不作具体限定。
本发明实施例还提供了一种计算机存储介质,用于存储为上述图1-图6所示的多目标优化问题求解设备所用的计算机软件指令,其包含用于执行上述方法实施例所涉及的程序。通过执行存储的程序,可以获取到较优的Pareto前沿。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (16)
1.一种基于教与学算法求解多目标优化问题的方法,其特征在于,应用于多目标问题优化设备,所述方法包括:
获取多目标优化问题的数据,所述多目标优化问题的数据包括电力系统优化调度的目标函数和约束条件,所述目标函数包括多个电力系统优化目标,所述约束条件包括多种电力系统运行条件;
针对所述多目标优化问题的数据,通过所述目标函数和所述约束条件确定班级中的学员的知识值,包括:在确定所述班级中第i层Pareto解集的其中一个学员的知识值时,根据所述多目标问题包含的目标值的数量,通过分别计算每个解的目标值占所述第i层Pareto解集中所有解的目标值之和的比例,以及所述第i层Pareto解集的常量,来确定所述知识值;其中,根据以下计算公式确定所述班级中的其中一个学员的知识值:
Costi=A1+A2+…+Ak+B
所述Costi表示所述第i层Pareto解集中的学员的知识值,所述i为大于0的正整数,所述k表示所述多目标问题包含的目标值的数量,k+1用于确定所述计算公式中的求和项的数量,
所述L=1,2,…,k,所述fL(i)表示所述第i层Pareto解集中的第L个目标值;所述表示所述第i层Pareto解集中的所有解之和;Nrank表示所述第i层Pareto解集中的学生的数量;所述B=(ranki-1)*2,所述ranki表示所述第i层Pareto解集中的常量;
将处于不同层次的Pareto解集的学员的知识值进行排序,得到第一排序结果;
将所述第一排序结果中知识值从大到小排名的前M位的学员确定为所述班级中的M个教师,并将所述第一排序结果中除所述M个教师之外的其它学员确定为学生;所述M为大于0的正整数;
通过教阶段更新所述班级中的学生;
通过学阶段更新所述班级中的学生;
若当前迭代次数满足预设的最大迭代次数,输出针对所述多目标优化问题的Pareto解集,所述Pareto解集包括针对所述电力系统优化调度的Pareto优化解集;
根据所述Pareto优化解集中的目标解,执行所述电力系统优化调度操作,所述目标解为所述Pareto优化解集中的任意一个解。
2.根据权利要求1所述的方法,其特征在于,所述M为大于等于2的正整数。
3.根据权利要求1所述的方法,其特征在于,所述针对所述多目标优化问题的数据,通过所述目标函数和所述约束条件确定班级中的学员的知识值之后,所述将处于不同层次的Pareto解集的学员的知识值进行排序,得到第一排序结果之前,还包括:
设置所述班级中的教师与学生的数量,包括:
根据所述多目标优化问题的特点设置所述班级中的教师与学生的数量;或,
根据预设的教师与学生的比值设置所述班级中的教师与学生的数量。
4.根据权利要求1所述的方法,其特征在于,所述将所述第一排序结果中除所述M个教师之外的其它学员确定为学生之后,还包括:
通过所述学阶段控制所述班级中的教师与教师之间进行相互学习,在满足所述班级中的每个教师学习后的知识值大于学习前的知识值的情况下,更新所述班级中的教师。
5.根据权利要求4所述的方法,其特征在于,所述通过所述学阶段控制班级中的教师与教师之间进行相互学习,包括:
根据预设的第一随机算法确定第一教师拟学习的学习对象为第二教师;其中,所述第一教师和所述第二教师为所述班级中的教师;
若所述第二教师的知识值大于所述第一教师的知识值,则所述第一教师向所述第二教师学习。
6.根据权利要求1所述的方法,其特征在于,所述通过学阶段更新所述班级中的学生,包括:
根据预设的第二随机算法确定第一学生拟学习的学习对象为第二学生;其中,所述第一学生和所述第二学生为所述班级中的学生;
若所述第二学生的知识值大于所述第一学生的知识值,则所述第一学生向所述第二学生学习,并在满足所述第一学生学习后的知识值大于学习前的知识值的情况下,更新所述第一学生。
7.根据权利要求1所述的方法,其特征在于,所述通过学阶段更新所述班级中的学生之后,所述若当前迭代次数满足预设的最大迭代次数,输出针对所述多目标优化问题的Pareto解集之前,还包括:
若所述班级中的学生的知识值大于所述班级中的M个教师的知识值,对所述班级进行重组,并重复执行所述通过教阶段更新所述班级中的学生以及所述通过学阶段更新所述班级中的学生的步骤,直到当前迭代次数达到所述预设的最大迭代次数。
8.根据权利要求7所述的方法,其特征在于,所述对所述班级进行重组,包括:
将所述班级中的学员的知识值进行排序,得到第二排序结果;
将所述第二排序结果中知识值从大到小排名的前M位的学员确定为所述班级中的M个教师,并将所述第二排序结果中除所述M个教师之外的其它学员确定为学生。
9.根据权利要求1所述的方法,其特征在于,所述通过学阶段更新所述班级中的学生之后,所述若当前迭代次数满足预设的最大迭代次数,输出针对所述多目标优化问题的Pareto解集之前,还包括:
通过自学阶段控制所述班级中的每个学生和每个教师进行自学。
10.根据权利要求9所述的方法,其特征在于,所述通过自学阶段控制所述班级中的每个学生和每个教师进行自学,包括:
在所述自学阶段中,获取当前迭代解S之前的Q个候选解Sm(m=1,…,Q);其中,所述Q为大于1的正整数;
若通过状态接受函数确定Sn(n=1,…,Q)优于所述当前迭代解S,则接受所述Sn;其中,所述Sn为所述Q个候选解Sm中的任意一个解。
11.根据权利要求10所述的方法,其特征在于,所述在所述自学阶段中,获取当前迭代解S之前的Q个候选解Sm之后,所述若通过状态接受函数确定Sn优于所述当前迭代解S,则接受所述Sn之前,还包括:
确定所述当前迭代解S对应的目标函数值f(S)和所述Q个候选解Sm各自对应的目标函数值f(Sm);
通过所述状态接受函数根据所述当前迭代解S对应的目标函数值f(S)和所述Q个候选解Sm各自对应的目标函数值f(Sm)确定是否接受所述当前迭代解S或Sn;其中,所述Sn为所述Q个候选解Sm中的任意一个解。
12.一种基于教与学算法求解多目标优化问题的方法,其特征在于,应用于多目标问题优化设备,所述方法包括:
获取多目标优化问题的数据,所述多目标优化问题的数据包括电力系统优化调度的目标函数和约束条件,所述目标函数包括多个电力系统优化目标,所述约束条件包括多种电力系统运行条件;
针对所述多目标优化问题的数据,通过所述目标函数和所述约束条件确定班级中的学员的知识值,包括:在确定所述班级中第i层Pareto解集的其中一个学员的知识值时,根据所述多目标问题包含的目标值的数量,通过分别计算每个解的目标值占所述第i层Pareto解集中所有解的目标值之和的比例,以及所述第i层Pareto解集的常量,来确定所述知识值;其中,根据以下计算公式确定所述班级中的其中一个学员的知识值:
Costi=A1+A2+…+Ak+B
所述Costi表示所述第i层Pareto解集中的学员的知识值,所述i为大于0的正整数,所述k表示所述多目标问题包含的目标值的数量,k+1用于确定所述计算公式中的求和项的数量,
所述L=1,2,…,k,所述fL(i)表示所述第i层Pareto解集中的第L个目标值;所述表示所述第i层Pareto解集中的所有解之和;Nrank表示所述第i层Pareto解集中的学生的数量;所述B=(ranki-1)*2,所述ranki表示所述第i层Pareto解集中的常量;
根据所述班级中的学员的知识值确定教师与学生;其中,所述教师的数量为M;所述M为大于等于2的正整数;
通过教阶段更新所述班级中的学生;
通过学阶段更新所述班级中的学生;
若当前迭代次数满足预设的最大迭代次数,输出针对所述多目标优化问题的Pareto解集,所述Pareto解集包括针对所述电力系统优化调度的Pareto优化解集;
根据所述Pareto优化解集中的目标解,执行所述电力系统优化调度操作,所述目标解为所述Pareto优化解集中的任意一个解。
13.一种基于教与学算法求解多目标优化问题的方法,其特征在于,应用于多目标问题优化设备,所述方法包括:
获取多目标优化问题的数据,所述多目标优化问题的数据包括电力系统优化调度的目标函数和约束条件,所述目标函数包括多个电力系统优化目标,所述约束条件包括多种电力系统运行条件;
针对所述多目标优化问题的数据,通过所述目标函数和所述约束条件确定班级中的学员的知识值,包括:在确定所述班级中第i层Pareto解集的其中一个学员的知识值时,根据所述多目标问题包含的目标值的数量,通过分别计算每个解的目标值占所述第i层Pareto解集中所有解的目标值之和的比例,以及所述第i层Pareto解集的常量,来确定所述知识值;其中,根据以下计算公式确定所述班级中的其中一个学员的知识值:
Costi=A1+A2+…+Ak+B
所述Costi表示所述第i层Pareto解集中的学员的知识值,所述i为大于0的正整数,所述k表示所述多目标问题包含的目标值的数量,k+1用于确定所述计算公式中的求和项的数量,
所述L=1,2,…,k,所述fL(i)表示所述第i层Pareto解集中的第L个目标值;所述表示所述第i层Pareto解集中的所有解之和;Nrank表示所述第i层Pareto解集中的学生的数量;所述B=(ranki-1)*2,所述ranki表示所述第i层Pareto解集中的常量;
根据所述班级中的学员的知识值确定教师与学生;其中,所述教师的数量为M;所述M为大于0的正整数;
通过教阶段更新所述班级中的学生;
通过学阶段更新所述班级中的学生;
通过自学阶段控制所述班级中的每个学生和每个教师进行自学;
若当前迭代次数满足预设的最大迭代次数,输出针对所述多目标优化问题的Pareto解集,所述Pareto解集包括针对所述电力系统优化调度的Pareto优化解集;
根据所述Pareto优化解集中的目标解,执行所述电力系统优化调度操作,所述目标解为所述Pareto优化解集中的任意一个解。
14.一种多目标问题优化装置,其特征在于,包括用于执行如权利要求1-13任一项所述的方法的单元。
15.一种多目标问题优化设备,其特征在于,包括处理器和存储器,所述处理器和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求1-13任一项所述的方法。
16.一种计算机可读存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-13任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811254787.9A CN110147888B (zh) | 2018-10-25 | 2018-10-25 | 基于教与学算法求解多目标优化问题的方法、装置和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811254787.9A CN110147888B (zh) | 2018-10-25 | 2018-10-25 | 基于教与学算法求解多目标优化问题的方法、装置和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110147888A CN110147888A (zh) | 2019-08-20 |
CN110147888B true CN110147888B (zh) | 2023-06-20 |
Family
ID=67588357
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811254787.9A Active CN110147888B (zh) | 2018-10-25 | 2018-10-25 | 基于教与学算法求解多目标优化问题的方法、装置和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110147888B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104267693A (zh) * | 2014-09-22 | 2015-01-07 | 华中科技大学 | 一种机械加工能量效率的切削参数优化方法 |
CN107330550A (zh) * | 2017-06-23 | 2017-11-07 | 湖北汽车工业学院 | 基于二次退火教与学算法的空间圆柱度评定方法 |
CN107871034A (zh) * | 2017-09-22 | 2018-04-03 | 湖北汽车工业学院 | 基于变尺度教与学算法的公差分配多目标优化设计方法 |
-
2018
- 2018-10-25 CN CN201811254787.9A patent/CN110147888B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104267693A (zh) * | 2014-09-22 | 2015-01-07 | 华中科技大学 | 一种机械加工能量效率的切削参数优化方法 |
CN107330550A (zh) * | 2017-06-23 | 2017-11-07 | 湖北汽车工业学院 | 基于二次退火教与学算法的空间圆柱度评定方法 |
CN107871034A (zh) * | 2017-09-22 | 2018-04-03 | 湖北汽车工业学院 | 基于变尺度教与学算法的公差分配多目标优化设计方法 |
Non-Patent Citations (4)
Title |
---|
基于改进教与学算法的配电网无功优化;蒋嘉焱 等;《电网与清洁能源》;第33卷(第7期);第58-63+84页 * |
教与学优化算法的改进及应用研究;李志南;《中国优秀硕士学位论文全文数据库 信息科技辑》(第3期);摘要及正文第7-41页 * |
李志南.教与学优化算法的改进及应用研究.《中国优秀硕士学位论文全文数据库 信息科技辑》.2016,(第3期),摘要及正文第7-41 页. * |
电力系统动态环境经济调度问题的建模与求解;李晨 等;《电力系统及其自动化学报》;第29卷(第7期);第53-60页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110147888A (zh) | 2019-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Su et al. | RIME: A physics-based optimization | |
Hajek et al. | Integrating TOPSIS with interval-valued intuitionistic fuzzy cognitive maps for effective group decision making | |
CN109066710B (zh) | 一种多目标无功优化方法、装置、计算机设备及存储介质 | |
Hamzadayi et al. | A genetic algorithm based approach for simultaneously balancing and sequencing of mixed-model U-lines with parallel workstations and zoning constraints | |
CN104217258B (zh) | 一种电力负荷条件密度预测方法 | |
Jin et al. | Fine-tuning heuristic methods for combinatorial optimization in forest planning | |
CN111178487B (zh) | 电力优化调度方法、装置、计算机设备和存储介质 | |
CN112862380B (zh) | 一种基于混合算法的项目型产品装配车间人员调度方法、设备及存储介质 | |
CN107273693A (zh) | 一种碳氢燃料机理简化方法 | |
CN111008790A (zh) | 一种水电站群发电调度规则提取方法 | |
CN116345578B (zh) | 基于深度确定性策略梯度的微电网运行优化调度方法 | |
CN107590538B (zh) | 一种基于在线序列学习机的危险源识别方法 | |
CN110147888B (zh) | 基于教与学算法求解多目标优化问题的方法、装置和设备 | |
CN107909498B (zh) | 基于最大化接受者操作特征曲线下方面积的推荐方法 | |
CN111767991B (zh) | 一种基于深度q学习的测控资源调度方法 | |
CN107065520B (zh) | 一种冷风机参数配置优化方法 | |
Cao et al. | Enhancing firefly algorithm with adaptive multi-group mechanism | |
Farokhi et al. | Optimal fuzzy inverse dynamics control of a parallelogram mechanism based on a new multi-objective PSO | |
CN115277445B (zh) | 一种基于QoS目标的微服务系统调度优化方法 | |
CN110378464A (zh) | 人工智能平台的配置参数的管理方法和装置 | |
CN109447231A (zh) | 蚁群算法求解共享经济背景下多属性双边匹配问题的方法 | |
Liu et al. | An improved quantum particle swarm algorithm for solving multi-objective fuzzy flexible job shop scheduling problem | |
Wang et al. | Classroom Teaching Management and Resource Optimization in Colleges and Universities Based on Big Data Technology | |
Changdar et al. | A modified ant colony optimisation based approach to solve sub-tour constant travelling salesman problem | |
Kalyani et al. | Multi criteria decision making for selecting the best laptop |
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 |