CN111352650B - 一种基于insga-ii的软件模块化多目标优化方法及系统 - Google Patents

一种基于insga-ii的软件模块化多目标优化方法及系统 Download PDF

Info

Publication number
CN111352650B
CN111352650B CN202010116024.9A CN202010116024A CN111352650B CN 111352650 B CN111352650 B CN 111352650B CN 202010116024 A CN202010116024 A CN 202010116024A CN 111352650 B CN111352650 B CN 111352650B
Authority
CN
China
Prior art keywords
vertex
population
value
module
representing
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
Application number
CN202010116024.9A
Other languages
English (en)
Other versions
CN111352650A (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.)
Hangzhou Dianzi University
Original Assignee
Hangzhou Dianzi University
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 Hangzhou Dianzi University filed Critical Hangzhou Dianzi University
Priority to CN202010116024.9A priority Critical patent/CN111352650B/zh
Publication of CN111352650A publication Critical patent/CN111352650A/zh
Application granted granted Critical
Publication of CN111352650B publication Critical patent/CN111352650B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/10Internal combustion engine [ICE] based vehicles
    • Y02T10/40Engine management systems

Abstract

本发明公开了一种基于INSGA‑II的软件模块化多目标优化方法及系统,本发明涉及的一种基于INSGA‑II的软件模块化多目标优化方法,包括:S11.将面向对象系统抽象为无向带权图;S12.将抽象为无向带权图的面向对象系统进行模块化处理,并计算与面向对象系统相对应的模块的内聚值;S13.计算面向对象系统的耦合值;S14.根据所述计算得到的模块内聚值以及面向对象系统的耦合值建立软件模块化优化模型;S15.通过INSGA‑II算法对建立的软件模块化优化模型进行求解,得到最终结果。

Description

一种基于INSGA-II的软件模块化多目标优化方法及系统
技术领域
本发明涉及信息技术及自动化技术领域,尤其涉及一种基于INSGA-II的软件模块化多目标优化方法及系统。
背景技术
在当今社会,随着软件技术的应用与发展,计算机软件与人们的日常办公、学习和生活密不可分。在这些软件系统中,遗留系统开发投入使用较早,内部结构复杂,由于技术人员变动频繁,系统文档不完善,给系统的使用和维护造成不便。不论在面向对象系统还是面向过程系统中,绝大部分软件系统是以模块化的形式设计开发的,但是,多年的维护和进化使得软件产品趋向大型化和复杂化,系统结构偏离原来的设计,例如一些组件的没有放置在合适的模块中,长此以往,逐渐恶化的系统结构会导致更多的时间人力和财力花费。
对于企业或组织至今仍在使用的软件系统,随着多年来软件的进化和维护,系统最初的模块化设计逐渐退化导致系统的结构越来越复杂,对系统的使用和维护非常不利,就需要软件模块化技术来改进软件结构。软件模块化技术按照一定的标准进行自动模块聚类,采用基于搜索的方法得到可行解。由于解空间过于庞大且仅依靠专家经验无法应对复杂的软件模块化方案设计问题,因此,需要运用智能优化算法自动生成大型复杂软件系统的高质量模块划分备选方案,提高软件系统在合理成本下的可维护性。
故,针对现有技术的缺陷,实有必要提出一种技术方案以解决现有技术存在的技术问题。
发明内容
本发明的目的是针对现有技术的缺陷,提供了一种基于INSGA-II的软件模块化多目标优化方法及系统,INSGA-Ⅱ算法提高了软件系统在合理成本下的可维护性,很好地缓解了软件系统中的各种矛盾。
为了实现以上目的,本发明采用以下技术方案:
一种基于INSGA-II的软件模块化多目标优化方法,包括:
S1.将面向对象系统抽象为无向带权图;
S2.将抽象为无向带权图的面向对象系统进行模块化处理,并计算与面向对象系统相对应的模块的内聚值;
S3.计算面向对象系统的耦合值;
S4.根据所述计算得到的模块内聚值以及面向对象系统的耦合值建立软件模块化优化模型;
S5.通过INSGA-II算法对建立的软件模块化优化模型进行求解,得到最终结果。
进一步,所述步骤S2中计算与面向对象系统相对应的模块的内聚值,表示为:
Figure GDA0004172296680000021
其中,cij表示顶点i与顶点j之间边的权值;xik表示顶点i是否在模块k中,若顶点i在模块k中,则xik=1,否则xik=0;xjk表示顶点j是否在模块k中,若顶点j在模块k中,则xjk=1,否则xjk=0;若顶点i和顶点j都在模块k中,则cijxikxjk=1,否则cijxikxjk=0。
进一步,所述步骤S3中计算面向对象系统的耦合值,表示为:
Figure GDA0004172296680000022
其中,cij表示顶点i与顶点j之间边的权值;xik表示顶点i是否在模块k中,若顶点i在模块k中,则xik=1,否则xik=0;xjk表示顶点j是否在模块k中,若顶点j在模块k中,则xjk=1,否则xjk=0;若顶点i和顶点j都在模块k中,则cijxikxjk=1,否则cijxikxjk=0。
进一步,所述步骤S4中建立的软件模块化优化模型,所述优化模型的目标函数和约束表示为:
Figure GDA0004172296680000023
Figure GDA0004172296680000031
S.t.
Figure GDA0004172296680000032
Figure GDA0004172296680000033
xik∈{0,1},i=1,2,...,|V|,k=1,2,...,M
M∈{1,2,...,|V|}
其中,
Figure GDA0004172296680000034
表示每个顶点只能属于顶点集合Vk中的一个;
Figure GDA0004172296680000035
表示每一个顶点集合Vk至少包含一个顶点;
xik∈{0,1},i=1,2,...,|V|,k=1,2,...,M表示保证了决策变量xik为0,1变量;
M∈{1,2,...,|V|}表示整数决策变量M的范围。
进一步,所述步骤S5具体为:
S51.对染色体进行编码;
S52.采用随机生成的方式和基于最大边收缩的启发式算法生成初始种群;
S53.对所述初始化后的种群进行适应值函数处理;
S54.对所述经过适应值函数处理的种群进行非支配排序和拥挤距离处理;
S55.对经过非支配排序和拥挤距离处理的种群进行选择、交叉、变异操作,得到子代种群;
S56.将子代种群以及父代种群进行合并,得到合并种群。
进一步,所述步骤S52具体为:
S521.提取矩阵的上三角元素,并构成矢量B;
S522.获取所述矢量B中权值的最大值;
S523.初始化染色体基因位;
S524.设置矢量B中收缩边的权值;
S525.计算染色体的目标值。
相应的,还提供一种基于INSGA-II的软件模块化多目标优化系统,包括:
抽象模块,用于将面向对象系统抽象为无向带权图;
第一计算模块,用于将抽象为无向带权图的面向对象系统进行模块化处理,并计算与面向对象系统相对应的模块的内聚值;
第二计算模块,用于计算面向对象系统的耦合值;
建立模块,用于根据所述计算得到的模块内聚值以及面向对象系统的耦合值建立软件模块化优化模型;
求解模块,用于通过INSGA-II算法对建立的软件模块化优化模型进行求解,得到最终结果。
进一步,所述第一计算模块中计算与面向对象系统相对应的模块的内聚值,表示为:
Figure GDA0004172296680000041
其中,cij表示顶点i与顶点j之间边的权值;xik表示顶点i是否在模块k中,若顶点i在模块k中,则xik=1,否则xik=0;xjk表示顶点j是否在模块k中,若顶点j在模块k中,则xjk=1,否则xjk=0;若顶点i和顶点j都在模块k中,则cijxikxjk=1,否则cijxikxjk=0。
进一步,所述第二计算模块中计算面向对象系统的耦合值,表示为:
Figure GDA0004172296680000042
其中,cij表示顶点i与顶点j之间边的权值;xik表示顶点i是否在模块k中,若顶点i在模块k中,则xik=1,否则xik=0;xjk表示顶点j是否在模块k中,若顶点j在模块k中,则xjk=1,否则xjk=0;若顶点i和顶点j都在模块k中,则cijxikxjk=1,否则cijxikxjk=0。
进一步,所述建立模块中建立的软件模块化优化模型,所述优化模型的目标函数和约束表示为:
Figure GDA0004172296680000051
Figure GDA0004172296680000052
S.t.
Figure GDA0004172296680000053
Figure GDA0004172296680000054
xik∈{0,1},i=1,2,...,|V|,k=1,2,...,M
M∈{1,2,...,|V|}
其中,
Figure GDA0004172296680000055
表示每个顶点只能属于顶点集合Vk中的一个;
Figure GDA0004172296680000056
表示每一个顶点集合Vk至少包含一个顶点;
xik∈{0,1},i=1,2,...,|V|,k=1,2,...,M表示保证了决策变量xik为0,1变量;
M∈{1,2,...,|V|}表示整数决策变量M的范围。
与现有技术相比,本发明采用一种基于带精英策略的改进非支配排序的遗传算法(INSGA-Ⅱ)的软件模块化优化算法来生成大型复杂软件系统的高质量模块划分备选方案,基于INSGA-Ⅱ的软件模块化目标优化算法可以降低软件维护中时间人力和财力,自动生成大型复杂软件系统的高质量模块划分备选方案,提高软件系统在合理成本下的可维护性。
附图说明
图1是实施例一提供的一种基于INSGA-II的软件模块化多目标优化方法流程图;
图2是实施例一提供的基于INSGA-Ⅱ的染色体编码示意图;
图3是实施例一提供的INSGA-Ⅱ染色体交叉互换示意图;
图4是实施例一提供的INSGA-Ⅱ算法流程图;
图5是实施例三提供的一种基于INSGA-II的软件模块化多目标优化系统结构图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
本发明的目的是针对现有技术的缺陷,提供了一种基于INSGA-II的软件模块化多目标优化方法及系统。
实施例一
本实施例提供一种基于INSGA-II的软件模块化多目标优化方法,如图1所示,包括:
S11.将面向对象系统抽象为无向带权图;
S12.将抽象为无向带权图的面向对象系统进行模块化处理,并计算与面向对象系统相对应的模块的内聚值;
S13.计算面向对象系统的耦合值;
S14.根据所述计算得到的模块内聚值以及面向对象系统的耦合值建立软件模块化优化模型;
S15.通过INSGA-II算法对建立的软件模块化优化模型进行求解,得到最终结果。
在步骤S11中,将面向对象系统抽象为无向带权图。
将面向对象系统抽象为一个无向带权图G=(V,E),其中V表示顶点的集合,每个顶点表示一个类,E表示图中边的集合。针对两个相邻顶点之间关系交互的不同程度,我们使用正权值cij表示顶点i与顶点j之间关系的大小,其中i,j=1,2,…,|V|,i≠j,如果两个顶点之间没有边连接,则cij=0。图中边cij的集合可以表示为c(e),其中e∈E。|V|表示无向带权图G中顶点的数量,顶点V的子集的集合{V1,V2,…,VM},表示软件模块化的一个可行解,其中M是整型决策变量,表示无向带权图中模块的数量,1≤M≤|V|。二元决策变量xik表示顶点i是否在子图k中,其中i=1,2,…,|V|,k=1,2,…,M,如果顶点i在子图k中,则xik=1,否则xik=0。对于遗留系统重新模块化问题,即将对应的无向带权图划分为若干子图{G1,G2,…,GM}。模块的耦合值表示模块与模块之间关系的大小,内聚值表示模块内顶点之间关系大小。对于Gk=(Vk,Ek),Vk表示第k个子图(第k个模块)的所有顶点,Ek表示第k个子图中顶点与顶点之间边的集合,F=E-{E1,E2,...,EM}F=E-{E1,E2,…,EM}是边的集合,表示拥有M个子图{G1,G2,…,GM}的图G去除M个模块后剩余的边的集合,即系统的耦合值。
在步骤S12中,将抽象为无向带权图的面向对象系统进行模块化处理,并计算与面向对象系统相对应的模块的内聚值。
将系统抽象为一个无向带权图后,对软件系统进行重新模块化处理,即对无向带权图进行子图划分。一个模块的内聚值指的是这个模块内所有顶点之间边的权值之和。对于无向带权图,如果可以划分为k个模块,那么每个模块的内聚值可以用
Figure GDA0004172296680000071
表示。为了用数学公式表示模块的内聚值,我们引入二元决策变量xik,其中i=1,2,…,|V|,k=1,2,…,M。如果顶点i在模块k中,则xik=1,反之xik=0。数学公式/>
Figure GDA0004172296680000072
表示一个模块内所有边的和(c(e)的和),其中e∈Ek,k=1,2,…,M。
如果使用所有模块内聚值平均值最小的度量标准,无法保证避免过度内聚的问题,因此采用min(max)的思想,如果软件系统中最大的模块复杂度不太高,则整个系统中其它模块的复杂度也不会特别高。最大模块的内聚值表示如式(2.1)所示:
Figure GDA0004172296680000073
其中cij表示顶点i与顶点j之间边的权值,xik表示顶点i是否在模块k中,如果顶点i在模块k中,则xik=1,否则xik=0;xjk表示顶点j是否在模块k中,如果顶点j在模块k中,则xjk=1,否则xjk=0。如果顶点i和顶点j都在模块k中,则cijxikxjk=1,否则cijxikxjk=0。
在步骤S13中,计算面向对象系统的耦合值。
一个系统的耦合值指的是这个系统中模块与模块之间所有边的权值之和。对于无向带权图,如果其可以划分为k个子图,对于子图Gk=(Vk,Ek),Vk表示第k个子图(第k个模块)的所有顶点的集合,Ek表示第k个子图中顶点与顶点之间边的集合,F=E-{E1,E2,…,EM}表示系统的耦合值,那么整个系统的耦合值可以用
Figure GDA0004172296680000081
表示。为了用数学公式表示系统的耦合值,同上,引入二元决策变量xik,其中i=1,2,…,|V|,k=1,2,…,M。为了方便求解,我们用无向带权图中所有边的权值之和减去所有模块的内聚值,表示整个系统的耦合值。
Figure GDA0004172296680000082
表示无向带权图中所有边的权值之和(边的取值e∈E),/>
Figure GDA0004172296680000083
表示M个模块的内聚值之和(边的取值e∈E1∪E2∪,…,∪EM)。则整个系统的耦合值用
Figure GDA0004172296680000084
表示。本研究使用耦合值作为软件系统架构的另一个度量标准,使用整个系统的耦合值最小作为目标,系统耦合值的表示方法如下:
Figure GDA0004172296680000085
其中Cij表示顶点i与顶点j之间边的权值,xik表示顶点i是否在模块k中,如果顶点i在模块k中,则xik=1,否则xik=0;xjk表示顶点j是否在模块k中,如果顶点j在模块k中,则xjk=1,否则xjk=0。如果顶点i和顶点j都在模块k中,则cijxikxjk=1,否则cijxikxjk=0。
在步骤S14中,根据所述计算得到的模块内聚值以及面向对象系统的耦合值建立软件模块化优化模型。
根据模块内聚值、整个系统的耦合值的表示方法,可以建立出以最小化整个系统的耦合值和最小化最大模块的内聚值为目标的软件模块化优化模型,目标函数和约束如下:
Figure GDA0004172296680000091
Figure GDA0004172296680000092
s.t.
Figure GDA0004172296680000093
Figure GDA0004172296680000094
xik∈{0,1},i=1,2,...,|V|,k=1,2,...,M (4.5)
M∈{1,2,…,|V|} (4.6)
约束(4.3)表示每个顶点只能属于顶点集合Vk中的一个,其中k=1,2,...,M,即每个顶点只能在无向带权图中的一个模块里。约束(4.4)表示每一个顶点集合Vk至少包含一个顶点,其中k=1,2,...,M,即每个模块中至少有一个顶点。约束(4.5)保证了决策变量xik为0,1变量,约束(4.6)表示整数决策变量M的范围。
在步骤S15中,通过INSGA-II算法对建立的软件模块化优化模型进行求解,得到最终结果。
采用改进的NSGA-II算法对多目标优化模型进行求解运算,针对随机生成的初始种群质量较差的问题,设计了一种基于最大边收缩的启发式算法,用于生成质量较好的初始种群;
S51.染色体编码;
本算法中,染色体采用了整数编码的形式。染色体的长度由无向带权图中顶点的个数决定。每个基因所存储的数据为整数,表示其对应的顶点所在的模块序号。图2为染色体编码示例,该例中无向带权图有10个顶点,第2个顶点、第3个顶点和第6个顶点在模块1中,第1个顶点、第7个顶点和第8个顶点在模块3中,第2个顶点、第3个顶点和第6个顶点在模块2中,染色体编码中不同数字的个数表示无向带权图被划分的模块数量。
S52.种群初始化;
为了保证初始种群中个体的多样性及种群的质量,使用随机生成的方式和基于最大边收缩的启发式算法共同产生初始种群。随机生成初始种群的方式为每个顶点所在模块的序号值,以整数编码的形式储存在染色体的基因中;
S521.提取元素;
提取矩阵的上三角元素(对角线元素除外)构成矢量B。矢量B中每一个非零正数表示可收缩的边的权值;
S522.找到矢量B中权值的最大值;
找到矢量B中边权值的最大值,并获取权值最大的值的坐标in,如果该坐标值有多个,则随机选取一个边权值最大值的坐标rand_in;
S523.初始化染色体基因位;
染色体基因位都初始化为0。如果该边连接的两个顶点有任何一个顶点之前被合并过,即基因位对应的值大于0,将连接该边的两个顶点对应的染色体基因位的值更新,同时与这两个顶点合并过的顶点的值也更新,将当前生成的染色体存放在indi_list中。
S524.设置矢量B中收缩边的权值;
将矢量B中收缩的边的权值设置为0。
S525.计算染色体的目标值;
计算当前染色体的目标函数值,并重复上述过程,迭代次数为可收缩边的条数,直到所有顶点都被合并为一个顶点,从所有可能方案中挑选一个可被接受的最好方案最为一个初始个体。
S53.适应值函数;
适应值函数有两个,第一个适应值函数是计算整个无向带权图的耦合值,第二个适应值函数计算的是无向带权图中最大模块的内聚值。计算适应值函数根据的是无向带权图转化的关系矩阵。首先,根据染色体中基因的编码,得到每个顶点所在的模块序号,相同序号的基因位对应的顶点在同一个模块中。对于每一个模块,得到模块内顶点对应的关系矩阵,对矩阵进行求和运算,得到子模块的内聚值;
S54.非支配排序和拥挤距离;
在种群适应值函数计算之后、选择操作之前,需要根据种群中每个个体非支配水平对个体进行序值排列。在计算序值时,需要比较两个个体之间的支配关系。在优化问题中,如果个体a至少有一个目标比b的好,并且个体a的所有目标都不比b的差,那么称个体a支配个体b,也可以说个体a非劣于个体b。本算法使用的非支配排序的基本思想是:序值从1开始,每循环一次依次加1,在每一轮的排序中,依次将未被排序的个体a与其余所有未被排序的个体b进行比较(判断个体是否已经被排序的矩阵每轮更新一次),判断个体b是否支配个体a,若未支配,则个体a被赋予当前序值,并将其标记为已处理个体;反之,因为个体a受个体b支配,因此个体a的序值高于当前序值,需要参与下一轮的排序。若种群中的所有个体均被标记为已处理个体,则分级操作终止。通过排序,种群中的所有个体都被分配到了不同的前端。得到种群中每个个体的序值后,还需要计算个体的密度指标。根据Pareto占优关系和密度指标,然后选择相对较好的个体进入下一循环。使用拥挤距离这一密度评估方法,拥挤距离描述的是个体与其相邻个体之间拥挤度的指标,通常情况下,拥挤距离越大,表示该个体与相邻个体的目标函数值的差越大,也就是多样性越好,被选择的概率也越大,拥挤距离的计算过程描述如下:
(1)对于同一序值的所有个体,根据每个目标函数值按照从大到小的顺序排列;
(2)在每个目标排序中,第一个和最后一个个体的拥挤距离设为无穷大,其余个体的拥挤距离计算公式为
Figure GDA0004172296680000121
其中L为目标函数的个数;di为第i个个体的拥挤距离;fa(i+1)和fa(i-1)分别为在第a个目标函数值的排序中第i个个体左右相邻个体的目标函数值;
S55.选择操作;
遗传算法的选择操作能够使优化过程逐步向Pareto最优解集的方向趋近。好的选择算子,可以有效保留染色体中的优良基因,使性能好的个体被选择的概率更大。经过S5-4的操作过程,种群中的每个个体都具有两个属性:非支配排序级别和拥挤距离。采用锦标赛选择方法作为选择算子,根据个体的序值和拥挤距离决定染色体的选择,即序值较小,拥挤距离较大的个体被选择的概率更大,具体操作步骤如下:
(1)确定每次选择的个体数量,选择2个个体;
(2)从种群中随机选择个体构成组(每个个体被选择的概率相同),组的数量与种群数量相同,每组中有两个随机选择的个体;
(3)比较组中两个个体的支配关系,如果两个个体的序值不同,则选择序值较小的个体,即被支配程度低的个体;如果两个个体的序值相同,则选择拥挤距离较大的个体,即周围较不拥挤的个体;
(4)重复步骤(3)直到每一组都进行比较和选择,选择操作终止;
S56.染色体交叉变异操作;
在遗传算法里,将染色体交叉互换是非常重要的运算环节。尽管在染色体交叉互换时,个体的优秀特性会与旧代个体的特性组合,但其也可能会产生适应性更好的新一代个体。在进行交叉操作时,两个父代基因的相似度越大,越不易于新的基因型的产生,这种情况被称为无效交叉操作,类似于现实生活中的近亲结婚。两个染色体之间的差异越小,进行无效交叉操作的概率就越大,这样不仅影响算法的收敛速度,而且浪费计算机资源。所以本算法采用了相似度方法,在进行交叉操作时,先检验两个父代染色体之间的相似度,只有满足相似度条件的个体才能进行交叉操作。
相关度值的是两个染色体基因之间的相似程度,以实数编码为例,假设两个父代个体X,Y为
X=[x1,x2,…,xm]
Y=[y1,y2,…,ym]
其中xi∈Z,yi∈Z,i=1,2,…l,l为染色体长度。两个个体之间的相似度p(X,Y)为:
Figure GDA0004172296680000131
其中
Figure GDA0004172296680000132
实际上X和Y之间的相似度就等于染色体对应位置的基因相同的个数除以基因串的总长度。p(X,Y)越大,则说明染色体X和Y的相似度越高。提出的机制是当两个父代染色体的相似度小于0.8时,两个父代可以进行交叉操作,交叉方式如图3所示采用两点交叉.
虽然变异发生的概率往往比较小,但是变异过程可以使遗传算法拥有更好的局部随机搜索能力,保持种群的多样性。在遗传算法中,交叉操作由于能对可行解进行全局搜索,被看作算法的核心算子,而变异操作,由于只能对可行解进行局部搜索,被看作算法的辅助算子。
本算法期望通过染色体变异可以获得更好的个体。由于染色体长度比较长,例如无向带权图中有100个顶点,则染色体长度为100。因此个体进行变异操作时,设置变异系数mu,用染色体长度乘以变异系数,得到变异基因的个数n。使用产生随机数的方法,从长度为|G|的染色体中,随机产生n个不同随机数,在给定的变异概率下,如果一个染色体中的某些基因需要进行变异操作,那么该基因会被另一个随机产生的合法基因代替;
S57.精英保留策略;
精英策略指的是父代中的优良个体得以保留并进入到子代的过程。将变异后的子代种群与父代种群合并,得到数量是初始种群2倍的合并种群。合并种群需要进行修剪,其作用是在两倍于种群大小的个体中,修剪出个数等于N的新的父代种群。种群修剪的基本思想是:先计算某前端的现存个体数目和允许保留的个体数目,之后要将该前端中的个体数目修剪至允许保留的个体数目,这一步是通过锦标赛选择来实现的。前文已述及,对于同一前端,个体的拥挤距离越小,则多样性越差,因此,在锦标赛选择中,就越应该被选中淘汰掉。另外,个体的去除通过将其赋值为空矩阵来实现,精英策略的具体过程可描述为:
(1)第t代产生的新种群Qt与父代Pt合并组成Rt,合并种群的数量为2N;
(2)对合并种群Rt的个体进行非支配排序,并对一系列非支配集Fi进行拥挤距离计算;
(3)对非支配集中的个体进行修剪。由于子代和父代都包含在Rt中,则经过非支配排序后得到的非支配集F1中包含的个体是Rt中最好的,因此先考虑将F1放到新的父代种群Pt+1中。如果F1的现存个体数量大于种群数量N,选择拥挤距离较大的前N个个体放入父代种群Pt+1中;如果F1的个体数量小于种群数量N,将F1的所有个体放入父代种群Pt+1中,继续向Pt+1中填充F2,如果F1的个体和F2的个体数量和大于N,按照拥挤距离升序排列,从F2中取前N-Pt+1个个体,使Pt+1个体数量达到N。此时得到新的父代种群Pt+1
(4)对新的父代种群Pt+1进行新一轮的选择、交叉、变异操作,可以得到新的子代种群Qt+1,然后重复步骤(1)的过程,直到算法终止。由此可以看出,精英策略可以使父代中没有被选择进入子代的优良基因重新得到被选择的机会,从而大大提高了该算法的寻优能力;
S58.终止规则;
终止规则为,当迭代次数给定的阈值时,INSGA-II算法终止并输出当前的非劣解,作为最终运行结果,基于上述算法的设计过程,算法的流程如图4所示。
与现有技术相比,本实施例采用一种基于带精英策略的改进非支配排序的遗传算法(INSGA-Ⅱ)的软件模块化优化算法来生成大型复杂软件系统的高质量模块划分备选方案,基于INSGA-Ⅱ的软件模块化目标优化算法可以降低软件维护中时间人力和财力,自动生成大型复杂软件系统的高质量模块划分备选方案,提高软件系统在合理成本下的可维护性。
实施例二
本实施例提供的本实施例提供一种基于INSGA-II的软件模块化多目标优化方法与实施例一的不同之处在于:
本实施例通过实验案例具体说明:
实验案例有16组,案例的来源网址和名称在表1中列出,详细信息可以在网址中找到,将下载下来的软件系统模型图进行初步的数据处理,整理成邻接矩阵的表达形式,实际案例中顶点数和边数在表2中列出,分别用改进NSGA-Ⅱ、传统NSGA-Ⅱ、MPSO三个算法对优化模型进行求解,并对求解结果进行分析。
Figure GDA0004172296680000151
/>
Figure GDA0004172296680000161
表1
Figure GDA0004172296680000162
表2
为了检测INSGA-II算法的性能,一共做了两组实验,分别是基于实际案例和基于模拟案例做的实验。每组实验中,将INSGA-II算法和传统的优化算法如NSGA-II算法和MPSO算法在解的质量方面作对比。由于这三个优化算法都具有随机搜索的性质,每次运行的结果可能有所偏差,所以实验中每个案例运行20次。
INSGA-II算法种群大小设为100,最大迭代次数设为200,交叉概率设为0.8,变异概率设为0.01。传统NSGA-II算法的参数设定如下:种群大小设置为100,交叉概率和变异概率分别为0.8和0.01。MPSO算法的粒子规模为100,最大惯性权重1.2,最小惯性权重0.1,r1和r2均为[0,1]区间内的随机数,c1和c2均为0.8。设置一个时间限制参数,传统NSGA-II算法和MPSO算法运行的最大时间为相同条件下INSGA-II算法运行的时间。
算法求得的Pareto前沿是一个非支配解集,本研究问题的优化模型在算法进化后期,种群中大部分个体都趋近于Pareto前沿。我们从Pareto前沿分布的均匀性和三个算法得到的Pareto前沿中非支配解的支配关系进行分析。另外,Pareto前沿中每一个非支配解代表一个软件模块化方案,从Pareto解集中将两个目标值按相同偏好决策出的解作为最优解,实验对比20次实验所取最优值的均值和标准差。由于实验主要检验INSGA-II算法的性能,分别比较INSGA-II和传统NSGA-II算法、INSGA-II和MPSO算法的实验结果。对所有实验结果采用独立样本双尾t检验进行统计分析,置信水平为95%。当t检验的p值小于0.05的时候,说明两个样本的均值在95%的置信水平内存在显著差异。通过对选出的最优解的比较进一步分析三个算法的求解性能。
案例的求解中,从每个算法得到的Pareto解集中,两个目标值按相同的偏好决策出一个最优解,得到20次实验中最优解的平均值、标准差以及T检验的p值,三个算法两两比较实验结果如下表3所示。
Figure GDA0004172296680000171
/>
Figure GDA0004172296680000181
表3
从表3中可得到如下结论:
(1)从每个实验案例的均值来比较,INSGA-II算法找到的最好解的质量均比传统NSGA-II和MPSO算法好,而且所有实例里的p值都远远小于0.05,说明在95%的置信水平下,INSGA-II算法取得解的质量明显比传统NSGA-II和MPSO算法好。
(2)对于每个案例的标准差,INSGA-II算法在所有案例中的标准差都比MPSO算法的标准差小。在与传统NSGA-II的比较中,INSGA-II算法在16个实例中有14个实例的标准差比传统NSGA-II算法的小,除了第4个和第8个实例。说明INSGA-II算法的鲁棒性比较高,每次运行结果的可行度比较高。
综上,基于带精英策略的改进非支配排序的遗传算法(INSGA-Ⅱ)的软件模块化优化算法来生成大型复杂软件系统的高质量模块划分备选方案,基于INSGA-Ⅱ的软件模块化目标优化算法可以降低软件维护中时间人力和财力,自动生成大型复杂软件系统的高质量模块划分备选方案,提高软件系统在合理成本下的可维护性。
实施例三
本提供一种基于INSGA-II的软件模块化多目标优化系统,如图5所示,包括:
抽象模块11,用于将面向对象系统抽象为无向带权图;
第一计算模块12,用于将抽象为无向带权图的面向对象系统进行模块化处理,并计算与面向对象系统相对应的模块的内聚值;
第二计算模块13,用于计算面向对象系统的耦合值;
建立模块14,用于根据所述计算得到的模块内聚值以及面向对象系统的耦合值建立软件模块化优化模型;
求解模块15,用于通过INSGA-II算法对建立的软件模块化优化模型进行求解,得到最终结果。
进一步,所述第一计算模块中计算与面向对象系统相对应的模块的内聚值,表示为:
Figure GDA0004172296680000191
其中,cij表示顶点i与顶点j之间边的权值;xik表示顶点i是否在模块k中,若顶点i在模块k中,则xik=1,否则xik=0;xjk表示顶点j是否在模块k中,若顶点j在模块k中,则xjk=1,否则xjk=0;若顶点i和顶点j都在模块k中,则cijxikxjk=1,否则cijxikxjk=0。
进一步,所述第二计算模块中计算面向对象系统的耦合值,表示为:
Figure GDA0004172296680000192
其中,cij表示顶点i与顶点j之间边的权值;xik表示顶点i是否在模块k中,若顶点i在模块k中,则xik=1,否则xik=0;xjk表示顶点j是否在模块k中,若顶点j在模块k中,则xjk=1,否则xjk=0;若顶点i和顶点j都在模块k中,则cijxikxjk=1,否则cijxikxjk=0。
进一步,所述建立模块中建立的软件模块化优化模型,所述优化模型的目标函数和约束表示为:
Figure GDA0004172296680000201
Figure GDA0004172296680000202
S.t.
Figure GDA0004172296680000203
Figure GDA0004172296680000204
xik∈{0,1},i=1,2,...,|V|,k=1,2,...,M
M∈{1,2,...,|V|}
其中,
Figure GDA0004172296680000205
表示每个顶点只能属于顶点集合Vk中的一个;/>
Figure GDA0004172296680000206
表示每一个顶点集合Vk至少包含一个顶点;
xik∈{0,1},i=1,2,...,|V|,k=1,2,...,M表示保证了决策变量xik为0,1变量;
M∈{1,2,...,|V|}表示整数决策变量M的范围。
需要说明的是,本实施例提供的一种基于INSGA-II的软件模块化多目标优化系统与实施例一类似,在此不多做赘述。
与现有技术相比,本实施例采用一种基于带精英策略的改进非支配排序的遗传算法(INSGA-Ⅱ)的软件模块化优化算法来生成大型复杂软件系统的高质量模块划分备选方案,基于INSGA-Ⅱ的软件模块化目标优化算法可以降低软件维护中时间人力和财力,自动生成大型复杂软件系统的高质量模块划分备选方案,提高软件系统在合理成本下的可维护性。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (8)

1.一种基于INSGA-II的软件模块化多目标优化方法,其特征在于,包括:
S1.将面向对象系统抽象为无向带权图;
S2.将抽象为无向带权图的面向对象系统进行模块化处理,并计算与面向对象系统相对应的模块的内聚值;
S3.计算面向对象系统的耦合值;
S4.根据计算得到的模块内聚值以及面向对象系统的耦合值建立软件模块化优化模型;
S5.通过INSGA-II算法对建立的软件模块化优化模型进行求解,得到最终结果;
步骤S5具体为:
S51.对染色体进行编码;本步骤具体是:染色体采用了整数编码的形式,染色体的长度由无向带权图中顶点的个数决定,每个基因所存储的数据为整数,表示其对应的顶点所在的模块序号,染色体编码中不同数字的个数表示无向带权图被划分的模块数量;
S52.采用随机生成的方式和基于最大边收缩的启发式算法生成初始种群;随机生成初始种群的方式为每个顶点所在模块的序号值,以整数编码的形式储存在染色体的基因中;本步骤具体是:
S521.提取元素;
提取矩阵的上三角元素构成矢量B,矢量B中每一个非零正数表示可收缩的边的权值;
S522.找到矢量B中权值的最大值;
找到矢量B中边权值的最大值,并获取权值最大的值的坐标in,如果坐标值有多个,则随机选取一个边权值最大值的坐标rand_in;
S523.初始化染色体基因位;
染色体基因位都初始化为0;如果该边连接的两个顶点有任何一个顶点之前被合并过,即基因位对应的值大于0,将连接该边的两个顶点对应的染色体基因位的值更新,同时与这两个顶点合并过的顶点的值也更新,将当前生成的染色体存放在indi_list中;
S524.设置矢量B中收缩边的权值;
将矢量B中收缩的边的权值设置为0;
S525.计算染色体的目标值;
计算当前染色体的目标函数值,并重复步骤S521-S524,迭代次数为可收缩边的条数,直到所有顶点都被合并为一个顶点,从所有可能方案中挑选一个可被接受的最好方案为一个初始个体;
S53.对初始化后的种群进行适应值函数处理;
S54.对经过适应值函数处理的种群进行非支配排序和拥挤距离处理;
S55.对经过非支配排序和拥挤距离处理的种群进行选择、交叉、变异操作,得到子代种群;
S56.将子代种群以及父代种群进行合并,得到合并种群;
S57.精英保留策略指父代中的优良个体得以保留并进入到子代的过程;将变异后的子代种群与父代种群合并,得到数量是初始种群2倍的合并种群;合并种群进行修剪,作用是在两倍于种群大小的个体中,修剪出个数等于N的新的父代种群;精英保留策略的具体过程为:
(1)第t代产生的新种群Qt与父代Pt合并组成Rt,合并种群的数量为2N;
(2)对合并种群Rt的个体进行非支配排序,并对一系列非支配集Fi进行拥挤距离计算;
(3)对非支配集中的个体进行修剪;由于子代和父代都包含在Rt中,则经过非支配排序后得到的非支配集F1中包含的个体是Rt中最好的,因此先考虑将F1放到新的父代种群Pt+1中;如果F1的现存个体数量大于种群数量N,选择拥挤距离较大的前N个个体放入父代种群Pt+1中;如果F1的个体数量小于种群数量N,将F1的所有个体放入父代种群Pt+1中,继续向Pt+1中填充F2,如果F1的个体和F2的个体数量和大于N,按照拥挤距离升序排列,从F2中取前N-Pt+1个个体,使Pt+1个体数量达到N;此时得到新的父代种群Pt+1
(4)对新的父代种群Pt+1进行新一轮的选择、交叉、变异操作,得到新的子代种群Qt+1,然后重复步骤(1)的过程,直到算法终止;
S58.当迭代次数给定的阈值时,INSGA-II算法终止并输出当前的非劣解,作为最终运行结果。
2.根据权利要求1所述的一种基于INSGA-II的软件模块化多目标优化方法,其特征在于,步骤S2中计算与面向对象系统相对应的模块的内聚值,表示为:
Figure FDA0004172296670000031
其中,
Figure FDA0004172296670000032
表示每个模块的内聚值,/>
Figure FDA0004172296670000033
表示最大模块的内聚值,
Figure FDA0004172296670000034
表示一个模块内所有边的和即c(e)的和,其中e∈Ek,k=1,2,...,M,M是整型决策变量,表示无向带权图中模块的数量,1≤M≤|V|;
|V|表示无向带权图G中顶点的数量,Ek表示第k个子图中顶点与顶点之间边的集合;c(e)表示cij的集合,cij表示顶点i与顶点j之间边的权值;xik表示顶点i是否在模块k中,若顶点i在模块k中,则xik=1,否则xik=0;xjk表示顶点j是否在模块k中,若顶点j在模块k中,则xjk=1,否则xjk=0;若顶点i和顶点j都在模块k中,则cijxikxjk=1,否则cijxikxjk=0。
3.根据权利要求2所述的一种基于INSGA-II的软件模块化多目标优化方法,其特征在于,步骤S3中计算面向对象系统的耦合值,表示为:
Figure FDA0004172296670000035
其中,cij表示顶点i与顶点j之间边的权值;xik表示顶点i是否在模块k中,若顶点i在模块k中,则xik=1,否则xik=0;xjk表示顶点j是否在模块k中,若顶j在模块k中,则xjk=1,否则xjk=0;若顶点i和顶点j都在模块k中,则cijxikxjk=1,否则cijxikxjk=0;
Figure FDA0004172296670000036
表示无向带权图中所有边的权值之和;
Figure FDA0004172296670000037
表示M个模块的内聚值之和;
Figure FDA0004172296670000038
表示整个系统的耦合值。
4.根据权利要求3所述的一种基于INSGA-II的软件模块化多目标优化方法,其特征在于,步骤S4中建立的软件模块化优化模型,优化模型的目标函数和约束表示为:
Figure FDA0004172296670000041
Figure FDA0004172296670000042
S.t.
Figure FDA0004172296670000043
Figure FDA0004172296670000044
xik∈{0,1},i=1,2,...,|V|,k=1,2,...,M
M∈{1,2,...,|V|}
其中,
Figure FDA0004172296670000045
表示每个顶点只能属于顶点集合Vk中的一个;
Figure FDA0004172296670000046
表示每一个顶点集合Vk至少包含一个顶点;
xik∈{0,1},i=1,2,...,|V|,k=1,2,...,M,表示保证了决策变量xik为0,1变量;
M∈{1,2,...,|V|}表示整数决策变量M的范围。
5.一种基于INSGA-II的软件模块化多目标优化系统,其特征在于,包括:
抽象模块,用于将面向对象系统抽象为无向带权图;
第一计算模块,用于将抽象为无向带权图的面向对象系统进行模块化处理,并计算与面向对象系统相对应的模块的内聚值;
第二计算模块,用于计算面向对象系统的耦合值;
建立模块,用于根据计算得到的模块内聚值以及面向对象系统的耦合值建立软件模块化优化模型;
求解模块,用于通过INSGA-II算法对建立的软件模块化优化模型进行求解,得到最终结果;求解步骤具体如下:
S51.对染色体进行编码,具体是:染色体采用了整数编码的形式,染色体的长度由无向带权图中顶点的个数决定,每个基因所存储的数据为整数,表示其对应的顶点所在的模块序号,染色体编码中不同数字的个数表示无向带权图被划分的模块数量;
S52.采用随机生成的方式和基于最大边收缩的启发式算法生成初始种群;随机生成初始种群的方式为每个顶点所在模块的序号值,以整数编码的形式储存在染色体的基因中;具体步骤如下:
S521.提取元素;
提取矩阵的上三角元素构成矢量B,矢量B中每一个非零正数表示可收缩的边的权值;
S522.找到矢量B中权值的最大值;
找到矢量B中边权值的最大值,并获取权值最大的值的坐标in,如果坐标值有多个,则随机选取一个边权值最大值的坐标rand_in;
S523.初始化染色体基因位;
染色体基因位都初始化为0;如果该边连接的两个顶点有任何一个顶点之前被合并过,即基因位对应的值大于0,将连接该边的两个顶点对应的染色体基因位的值更新,同时与这两个顶点合并过的顶点的值也更新,将当前生成的染色体存放在indi_list中;
S524.设置矢量B中收缩边的权值;
将矢量B中收缩的边的权值设置为0;
S525.计算染色体的目标值;
计算当前染色体的目标函数值,并重复步骤S521-S524,迭代次数为可收缩边的条数,直到所有顶点都被合并为一个顶点,从所有可能方案中挑选一个可被接受的最好方案为一个初始个体;
S53.对初始化后的种群进行适应值函数处理;
S54.对经过适应值函数处理的种群进行非支配排序和拥挤距离处理;
S55.对经过非支配排序和拥挤距离处理的种群进行选择、交叉、变异操作,得到子代种群;
S56.将子代种群以及父代种群进行合并,得到合并种群;
S57.精英保留策略指父代中的优良个体得以保留并进入到子代的过程;将变异后的子代种群与父代种群合并,得到数量是初始种群2倍的合并种群;合并种群进行修剪,作用是在两倍于种群大小的个体中,修剪出个数等于N的新的父代种群;精英保留策略的具体过程为:
(1)第t代产生的新种群Qt与父代Pt合并组成Rt,合并种群的数量为2N;
(2)对合并种群Rt的个体进行非支配排序,并对一系列非支配集Fi进行拥挤距离计算;
(3)对非支配集中的个体进行修剪;由于子代和父代都包含在Rt中,则经过非支配排序后得到的非支配集F1中包含的个体是Rt中最好的,因此先考虑将F1放到新的父代种群Pt+1中;如果F1的现存个体数量大于种群数量N,选择拥挤距离较大的前N个个体放入父代种群Pt+1中;如果F1的个体数量小于种群数量N,将F1的所有个体放入父代种群Pt+1中,继续向Pt+1中填充F2,如果F1的个体和F2的个体数量和大于N,按照拥挤距离升序排列,从F2中取前N-Pt+1个个体,使Pt+1个体数量达到N;此时得到新的父代种群Pt+1
(4)对新的父代种群Pt+1进行新一轮的选择、交叉、变异操作,得到新的子代种群Qt+1,然后重复步骤(1)的过程,直到算法终止;
S58.当迭代次数给定的阈值时,INSGA-II算法终止并输出当前的非劣解,作为最终运行结果。
6.根据权利要求5所述的一种基于INSGA-II的软件模块化多目标优化系统,其特征在于,所述第一计算模块中计算与面向对象系统相对应的模块的内聚值,表示为:
Figure FDA0004172296670000061
其中,
Figure FDA0004172296670000062
表示每个模块的内聚值,/>
Figure FDA0004172296670000063
表示最大模块的内聚值,
Figure FDA0004172296670000064
表示一个模块内所有边的和即c(e)的和,其中e∈Ek,k=1,2,…,M,M是整型决策变量,表示无向带权图中模块的数量,1≤M≤|V|;
|V|表示无向带权图G中顶点的数量,Ek表示第k个子图中顶点与顶点之间边的集合;c(e)表示cij的集合,cij表示顶点i与顶点j之间边的权值;xik表示顶点i是否在模块k中,若顶点i在模块k中,则xik=1,否则xik=0;xjk表示顶点j是否在模块k中,若顶点j在模块k中,则xjk=1,否则xjk=0;若顶点i和顶点j都在模块k中,则cijxikxjk=1,否则cijxikxjk=0。
7.根据权利要求6所述的一种基于INSGA-II的软件模块化多目标优化系统,其特征在于,所述第二计算模块中计算面向对象系统的耦合值,表示为:
Figure FDA0004172296670000071
其中,cij表示顶点i与顶点j之间边的权值;xik表示顶点i是否在模块k中,若顶点i在模块k中,则xik=1,否则xik=0;xjk表示顶点j是否在模块k中,若顶j在模块k中,则xjk=1,否则xjk=0;若顶点i和顶点j都在模块k中,则cijxikxjk=1,否则cijxikxjk=0;
Figure FDA0004172296670000072
表示无向带权图中所有边的权值之和;
Figure FDA0004172296670000073
表示M个模块的内聚值之和;
Figure FDA0004172296670000074
表示整个系统的耦合值。
8.根据权利要求7所述的一种基于INSGA-II的软件模块化多目标优化系统,其特征在于,所述建立模块中建立的软件模块化优化模型,优化模型的目标函数和约束表示为:
Figure FDA0004172296670000075
Figure FDA0004172296670000076
S.t.
Figure FDA0004172296670000077
Figure FDA0004172296670000081
xik∈{0,1},i=1,2,...,|V|,k=1,2,...,M
M∈{1,2,...,|V|}
其中,
Figure FDA0004172296670000082
表示每个顶点只能属于顶点集合Vk中的一个;
Figure FDA0004172296670000083
表示每一个顶点集合Vk至少包含一个顶点;
xik∈{0,1},i=1,2,...,|V|,k=1,2,...,M,表示保证了决策变量xik为0,1变量;
M∈{1,2,...,|V|}表示整数决策变量M的范围。
CN202010116024.9A 2020-02-25 2020-02-25 一种基于insga-ii的软件模块化多目标优化方法及系统 Active CN111352650B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010116024.9A CN111352650B (zh) 2020-02-25 2020-02-25 一种基于insga-ii的软件模块化多目标优化方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010116024.9A CN111352650B (zh) 2020-02-25 2020-02-25 一种基于insga-ii的软件模块化多目标优化方法及系统

Publications (2)

Publication Number Publication Date
CN111352650A CN111352650A (zh) 2020-06-30
CN111352650B true CN111352650B (zh) 2023-06-30

Family

ID=71192333

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010116024.9A Active CN111352650B (zh) 2020-02-25 2020-02-25 一种基于insga-ii的软件模块化多目标优化方法及系统

Country Status (1)

Country Link
CN (1) CN111352650B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115017832B (zh) * 2022-08-09 2022-10-25 中国民航大学 一种面向飞机作动系统的状态预测方法
CN115964959B (zh) * 2023-03-13 2023-05-30 北京理工大学 一种域集中式电子电气架构建模和多目标优化方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1548608A2 (en) * 2003-12-24 2005-06-29 Yamaha Hatsudoki Kabushiki Kaisha Multiobjective optimization
CN103235877A (zh) * 2013-04-12 2013-08-07 北京工业大学 机器人控制软件模块划分方法
KR20140082238A (ko) * 2012-12-24 2014-07-02 유종민 비용 주도 순차적 하드웨어/소프트웨어 분할 최적화 프레임워크 개발
CN107527119A (zh) * 2017-09-06 2017-12-29 河海大学 基于改进的多目标量子遗传算法的水资源优化调度方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8645293B2 (en) * 2010-06-11 2014-02-04 International Business Machines Corporation Pareto sampling using simplicial refinement by derivative pursuit
CN104570739B (zh) * 2015-01-07 2017-01-25 东北大学 基于云和移动终端的选矿多生产指标优化决策系统及方法
CN106484401B (zh) * 2016-09-23 2019-07-23 东北大学 一种面向对象软件的自动化重构方法
CN106775705B (zh) * 2016-12-12 2019-10-11 西安邮电大学 一种软件模块划分方法
CN107766076B (zh) * 2017-11-07 2021-02-09 西安邮电大学 一种概率选择的软件模块聚类方法
US10991120B2 (en) * 2017-11-14 2021-04-27 Samsung Electronics Co., Ltd. Method and apparatus for processing a plurality of undirected graphs

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1548608A2 (en) * 2003-12-24 2005-06-29 Yamaha Hatsudoki Kabushiki Kaisha Multiobjective optimization
KR20140082238A (ko) * 2012-12-24 2014-07-02 유종민 비용 주도 순차적 하드웨어/소프트웨어 분할 최적화 프레임워크 개발
CN103235877A (zh) * 2013-04-12 2013-08-07 北京工业大学 机器人控制软件模块划分方法
CN107527119A (zh) * 2017-09-06 2017-12-29 河海大学 基于改进的多目标量子遗传算法的水资源优化调度方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
A systematic mapping study of search-based software engineering for software product lines;Roberto E. Lopez-Herrejon等;《Information and Software Technology》;全文 *
FP-ABC: Fuzzy-Pareto dominance driven artificial bee colony algorithm for many-objective software module clustering;Amarjeet等;《Computer Languages, Systems & Structures》;全文 *
基于多目标优化的SoC软硬件划分方法研究;陆忆;罗胜钦;王长慧;;电子与封装(02);全文 *

Also Published As

Publication number Publication date
CN111352650A (zh) 2020-06-30

Similar Documents

Publication Publication Date Title
Li et al. Memetic Harris Hawks Optimization: Developments and perspectives on project scheduling and QoS-aware web service composition
JP2019516148A (ja) 遺伝的アルゴリズムに基づく大域的最適化、検索並びに機械学習法
CN111898689B (zh) 一种基于神经网络架构搜索的图像分类方法
CN108334949A (zh) 一种优化深度卷积神经网络结构的快速进化方法
CN111352650B (zh) 一种基于insga-ii的软件模块化多目标优化方法及系统
CN102902772A (zh) 一种基于多目标优化的Web社区发现方法
Liu et al. Configuration space evolutionary algorithm for multi-objective unequal-area facility layout problems with flexible bays
CN108734223A (zh) 基于社区划分的社交网络好友推荐方法
CN112488315A (zh) 一种基于深度强化学习和遗传算法的分批调度优化方法
CN109949314B (zh) 一种基于半监督学习和直方图统计的多目标快速模糊聚类彩色图像分割方法
Wang et al. AdaBoost-inspired multi-operator ensemble strategy for multi-objective evolutionary algorithms
CN114330659A (zh) 一种基于改进aso算法的bp神经网络参数优化方法
CN112800770A (zh) 一种基于异构图注意力网络的实体对齐方法
Alzaeemi et al. Examining the forecasting movement of palm oil price using RBFNN-2SATRA metaheuristic algorithms for logic mining
CN114118369A (zh) 一种基于群智能优化的图像分类卷积神经网络设计方法
Yang et al. An improved genetic algorithm and its application in neural network adversarial attack
CN109740722A (zh) 一种基于Memetic算法的网络表示学习方法
CN110298506A (zh) 一种城市建设水平预测系统
Gao et al. A distance and cosine similarity-based fitness evaluation mechanism for large-scale many-objective optimization
Hao et al. Enhancing SAEAs with unevaluated solutions: a case study of relation model for expensive optimization
Lu et al. A Population Cooperation based Particle Swarm Optimization algorithm for large-scale multi-objective optimization
Wang et al. A constrained many-objective evolutionary algorithm with learning vector quantization-based reference point adaptation
Rasekh et al. EDNC: Evolving differentiable neural computers
CN115294402B (zh) 一种基于去冗余多阶混合训练的半监督车辆分类方法
CN113704570B (zh) 基于自监督学习式进化的大规模复杂网络社区检测方法

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