买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】多目标编译优化序列选择的代理建模方法_大连理工大学_202010869346.0 

申请/专利权人:大连理工大学

申请日:2020-08-26

公开(公告)日:2021-07-16

公开(公告)号:CN112035116B

主分类号:G06F8/41(20180101)

分类号:G06F8/41(20180101);G06N3/12(20060101);G06N5/00(20060101)

优先权:

专利状态码:有效-授权

法律状态:2021.07.16#授权;2020.12.22#实质审查的生效;2020.12.04#公开

摘要:本发明提供一种多目标编译优化序列选择的代理建模方法,是一种针对其计算代价约束问题的解决方案,属于编译器优化领域。首先将编译优化序列进行二进制编码,针对两个优化目标代码规模和运行速度分别设计适应度函数,在选择、交叉操作后产生的子种群,并与父种群合并快速非支配排序产生新种群,最终获得Pareto最优解集。在搜索迭代过程中,使用编译优化序列以及对应的两个目标适应度值分别构造代理模型,针对进化操作产生的子种群使用代理模型计算近似适应度值,并对其中优秀解计算实际适应度值,从而提高进化效率。本发明能够有效地为待编译程序选择满足多目标如运行速度、代码规模的编译优化序列,并解决迭代过程中带来的计算代价约束问题。

主权项:1.一种多目标编译优化序列选择的代理建模方法,其特征在于,包括以下步骤:步骤1:编码;使用二进制编码来表示编译优化序列;针对编译器GCC中二值型的编译优化选项,在二进制编码字符串中,0表示不使用对应位置的优化选项,1表示使用对应位置的优化选项,采用固定顺序的二进制编码即可满足实际需求;步骤2:采用随机方法产生初始种群;步骤3:构造适应度函数;针对编译后可执行代码的运行速度以及代码规模进行优化:若使用编译优化序列进行编译后得到的程序大小为Sizei,其运行速度为Speedi,未使用任何编译优化序列进行编译后得到的程序代码规模和运行速度分别为Size0、Speed0,则针对目标可执行代码规模的适应度函数为Size0-SizeiSize0,针对目标可执行代码运行速度的适应度函数为SpeediSpeed0;步骤4:构造代理模型数据集随机初始化种群之后,首先,对种群中每一个个体编码对应的编译优化序列,使用编译优化序列编译程序,并执行编译后代码获取其运行速度值以及代码规模值;然后,由编译优化序列对应的选项作为自变量,采用步骤3构造的两个适应度函数获得对应运行速度以及代码规模的适应度值,将其作为因变量,即编译优化序列选项为数据集中的特征值,运行速度以及代码规模对应的适应度值为数据集中的目标值;最终,构造得到用作训练代理模型的数据集;步骤5:构造代理模型针对运行速度和代码规模两个目标分别构造随机森林模型作为代理模型,具体为:5.1,有放回的从步骤4构造的数据集中随机选择与种群规模大小一致的数据用来训练一个决策树;5.2,在决策树的每个节点需要分裂时选择一个特征作为该节点的分裂特征;5.3,决策树的形成过程中每个节点按照上一步来分裂,一直到不能再分裂为止;最后,按照步骤5.1-5.3建立大量的决策树,构成得到随机森林;步骤6:快速非支配排序根据种群中个体的非劣解对种群进行分层,使搜索向Pareto最优解集方向进行,具体为:找出种群中的非支配解集,即第一非支配层;将第一非支配层中所有个体从整个种群中删除,继续从剩余种群中找到非支配解集,即第二非支配层;如此循环往复直至种群中所有个体都被分层,而同一分层内所有个体具有同样的非支配序值,进而区分优秀解和非优秀解;步骤7:进行选择、进化操作得到子种群7.1:选择操作采用竞标赛选择方式选择下一代个体,7.1.1,从种群中随机选择两个个体构成一组;7.1.2,根据每个个体的适应度值,选择其中适应度值最好的个体进入子代种群;最后,重复7.1.1-7.1.2步骤直至构造好子种群;7.2进化操作采用单点交叉的方式进行交叉操作,在种群中每个个体对应的二进制编码串中随机设置一个交叉点,然后交换两个配对个体的部分编码串,最终每个个体形成两个新的个体;步骤8:采用代理模型计算新种群的近似适应度值采用运行速度和代码规模两个目标对应的代理模型计算经过步骤7选择、交叉后产生的新种群中所有个体的近似适应度值,针对新种群中的优秀解通过实际编译获取其实际适应度值;步骤9:更新代理模型;将新种群中优秀解的实际适应度值与原有种群所有编译优化序列优化效果数据合并,进而更新代理模型;步骤10:产生下一代种群将原种群与新种群合并,并对其进行快速非支配排序,选择效果更优的个体组成下一代种群;步骤11:判断是否达到迭代终止条件,即算法运行过程中实际适应度值计算次数到达指定次数;若达到了终止条件,则终止迭代;否则,转到步骤6,继续迭代过程;步骤12:迭代终止,获得Pareto最优解集,进而获得待编译程序在代码规模和运行速度两个目标上合适的编译优化序列。

全文数据:

权利要求:

百度查询: 大连理工大学 多目标编译优化序列选择的代理建模方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。