没有合适的资源?快使用搜索试试~ 我知道了~
软件X 19(2022)101205原始软件出版物IGAOD:一个交互式遗传算法的在线设计框架黄东波a,徐兴a,b,刘a闽南师范大学计算机学院,福建漳州363000b闽南师范大学物理与信息工程学院,福建ar t i cl e i nf o文章历史记录:接收日期:2022年收到修订版,2022年6月22日接受,2022年保留字:交互式遗传算法Java程序语言算法框架模板设计模式在线设计a b st ra ct为了促进交互式遗传算法(IGA)的理论研究和应用,从软件复用和IGA共性与个性的角度出发,提出了交互式遗传算法在线设计框架(IGAOD)该框架封装了IGA的基本共性,集成了IGA的一些经典演化算子,并提供可视化的应用场景和数据分析图表,帮助用户快速构建自己的IGA系统。此外,模板设计模式可以用来构造遗传算法库,它封装了一系列的选择,交叉和变异操作到不同的抽象基类的共性。这些类继承相同的抽象基类,使算法更易于维护和扩展。本文以三维花瓶造型设计和盘子图案设计为例,介绍了该框架的应用。因此,该框架更适合于IGA的理论和应用研究。版权所有©2022作者。由爱思唯尔公司出版这是CC BY许可下的开放获取文章(http://creativecommons.org/licenses/by/4.0/)中找到。代码元数据当前代码版本V1.0指向此代码版本所用代码/存储库的永久链接https://github.com/ElsevierSoftwareX/SOFTX-D-22-00089Code Ocean compute capsule N/A法律代码许可证通用公共许可证v3.0使用git的代码版本控制系统使用的软件代码语言、工具和服务Java,JavaScript,ThreeJS,VUE,Maven,Mybatis-plus,Mysql编译要求,操作环境依赖性JDK 11如果可用,链接到开发人员文档/手册https://hdbxx.github.io/IGAOD/技术支持邮箱874171934@qq.com1. 动机和意义交互式遗传算法(IGA)是Dawkins于1986年提出的一种进化优化算法。其背景是传统的遗传算法只能解决性能指标用显式函数表示的优化问题这是因为优化问题只能计算具有明确定义的性能指标函数的进化个体的适应度值。然而,许多隐含的性能指标优化问题,如艺术设计,图形图像处理,工业设计,数据挖掘,*通讯作者:闽南师范大学物理与信息工程学院,漳州363000.电子邮件地址:xx1889@mnnu.edu.cn(Xing Xu).https://doi.org/10.1016/j.softx.2022.101205知识学习和音乐创作,往往难以用显式的性能指标函数来表达。IGA是一种基于主观评价优化的遗传算法[2].它在进化个体的评价中融入了人的偏好、直觉、情感、心理特征等主观因素,避免了优化过程中随机性、被动性的弊端,解决了隐式性能指标优化问题[3]。IGA与传统遗传算法的区别在于进化个体的适应度是由人给定的。IGA已广泛应用于图像检索[4,5]、产品设计[6,7]、音乐创作[8,9]、软件设计[10,11]等诸多领域。IGA为计算机辅助设计提供了一种新的设计思路。它以进化的思想对目标进行优化设计。 在这个进化过程中,用户参与选择2352-7110/©2022作者。 由Elsevier B.V.出版。这是一篇开放获取的文章,使用CC BY许可证(http://creativecommons.org/licenses/by/4.0/)。可在ScienceDirect上获得目录列表SoftwareX期刊主页:www.elsevier.com/locate/softx黄东波,徐兴软件X 19(2022)1012052····在进化过程中,优化目标可能发生变化。随着IGA在设计领域的不断发展,算法研究者们提出了许多新的方法来解决IGA的具体问题为了提高IGA的设计效率,提出了用户协作的IGA方法[12,13]。为了减少用户疲劳,构建用户认知模型来代替用户评估[14,15]。此外,为了解决用户评价的不确定性,采用优化用户交互的方法,用区间范围表示适应度[16,17]。当设计师做出进化选择时,界面设计是交互方法实现的关键部分。由于设计是一个互动的过程,它不仅仅是数字的创造。它既要考虑设计目标的直观性、主观性和全局性因素,又要满足设计人员和工程师的需要因此,IGA应用需要根据特定的目标和要求进行改进和优化。最近,IGA已应用于工业产品的设计,如电动自行车[18],船舶舱室[19],景观灯[20],船舶螺旋桨[21]。在学术研究中,随着隐式性能指标优化问题和计算机设计的广泛关注,学者们不断改进交互式进化算法,拓展应用领域。设计一套IGA框架供研究者开发和研究显得尤为该框架一方面可以帮助算法研究者研究和比较各种改进的遗传算法,另一方面也便于将这些算法应用于具体领域。虽然已经提出了一些IGA设计系统[22基于上述原因,设计通用开放式提出了源IGA框架。该框架将支持IGA的基本流程、二次开发和扩展以及用户的在线设计在软件功能实现过程中,根据IGA的基本流程标准,实现了一系列相关的进化算法虽然这些算法不同,但IGA有一个固定的步骤序列,每个步骤在单个基因的操作中具有独特的相似性。因此,采用Java模板设计模式设计算法架构,便于研究人员对算法进行改进和扩展以陶瓷产品设计为例,进一步丰富了IGA的应用框架。为了更好的控制陶瓷的形状,使用ThreeJS建立3D陶瓷模型,陶瓷的形状采用参数化设计[25],这样,其形状随参数的变化而变化。此外,IGA应用程序涉及人机交互和数据收集。为了更好地应用该软件,网页已被用来显示用户该框架可以帮助研究人员研究IGA,具有很强的可扩展性,有利于现有算法的扩展和新算法的加入。2. 软件描述IGAOD是一个IGA应用框架,它使IGA的构建和应用变得容易,并通过其直观的图形用户界面帮助研究人员进行实验和分析。该框架实现了IGA的基本功能,并留有扩展的空间. IGAOD为用户提供了大量的经典算法和实例,以帮助其他领域的新手研究人员和学者理解这种框架。Fig. 1. IGAOD的软件体系结构。2.1. 软件构架IGAOD也是一个Web应用程序,主要使用Java和JavaScript等编程语言。该软件遵循浏览器-服务器模型,其整体架构分为5层,如图所示。1.一、这些层可以描述如下:数据层主要负责数据的存储和Mysql数据库的管理。数据访问层主要使用Mybatis Plus管理Java对象与数据之间的关系映射,处理业务层的数据操作指令,包括查询、添加、修改和删除。业务逻辑层主要负责收发数据的相关处理,并为前端调用提供业务接口。这一层还包含用于数据传递的JavaFormBean和用于数据处理的JavaHelper。表示层使用HTML、相关组件和资源文件来构建用户交互界面。客户端层负责通过浏览器发送HTTP/HTTPS请求,以访问应用程序的网页。2.2. 软件功能该软件的主要功能是帮助研究人员建立IGA系统和算法改进。因此,IGAOD的设计遵循IGA流程来实现相关功能。首先介绍了IGA工艺。IGA工艺流程图如图所示。 二、IGA是一种人机交互的进化优化算法在其进化过程中,需要人机交互的干预和引导,解决了隐式性能指标优化问题。由于IGA过程的实现需要人机黄东波,徐兴软件X 19(2022)1012053····图二. IGA流程图。分别代表人操作的部分和计算机执行的部分IGA的过程如下:(1)进化参数和算子的设置;(2)种群的显示;(3)用户评价操作;(4)判断是否满足终止条件。如果满足终止流程,则保存数据,否则进入步骤5;(5)依次完成遗传操作的选择、交叉和变异,然后重新进入步骤2。根据IGA过程提供一些功能以帮助研究人员遵循IGA构建过程是至关重要的。软件的主要功能如下:IGA初始化设置:该函数确定算法的每个部分如何处理数据,是算法执行的初始部分。显示IGA各环节所需的算法,并允许用户选择所需的运算符和参数,有助于快速进行算法组合和参数配置。人口显示和评价:用户需要根据优化后的个体的特征来评估合适的适应度,因此该功能将显示优化后的个体的形状或结构,并提供适应度的输入框供用户对个体进行评估。种群进化:功能是对种群进行进化操作,从而产生下一代种群。种群进化涉及到遗传操作,包括选择、交叉和变异。遗传操作的算子在算法初始化时就已设定好。当种群满足进化条件时,基因将根据遗传算子进行重组,从而产生下一代。数据存储和分析:此功能是算法操作的最后部分。它通过保存实验数据和生成图表来帮助用户分析和比较数据。这些功能在构建IGA系统中发挥着重要作用种群进化是算法执行中最重要的部分,它是算法执行的核心,参数和操作符,所以它也是最复杂的部分。针对这一功能,采用模板设计模式设计了遗传算法库,并提供了一些经典的遗传算子,以方便研究人员快速应用。模板设计模式[27]支持固定的步骤序列,同时允许一定的灵活性,因此它在IGA软件设计中非常有用。遗传算法库的包名是com.edu.iga.genetics。图3显示了遗传算法库的UML类图。在模板模式中,建立了三个主要的抽象类--这些方法是公开定义的,它们的子类可以根据需要重写方法。在这些抽象类的基础上,实现了轮盘赌选择、单点交叉、简单变异等经典算法如果研究人员需要添加新的算法,可以通过继承这些抽象类来覆盖3. 说明性实例本节演示了IGAOD的功能。该软件实现了花瓶造型设计和陶瓷板图案设计两个应用场景图图4和图5分别是花瓶造型设计和陶瓷板图案设计的交互界面。将软件功能在花瓶造型设计应用场景中进行演示,并结合IGA验证框架的可行性。IGA的参数设置如图所示。六、用户可以通过网页组合所需的参数设置。如果所需的参数不在列表中,则可以编写算法类来添加和扩展它们。 由于IGA的性能和优化结果依赖于参数设置,不同的参数值将产生不同的优化结果。 选择参数和场景后,用户可以点击“开始"按钮,跳转到相应的应用场景,如图所示。 四、用户需要根据花瓶的形状和纹理完成适应度评分,适应度评分范围为0到10,代表偏好。评估完成后,点击“进化”按钮生成下一代,服务器将按照选择的算法运行,生成下一代种群。用户只需重复此操作,直到达到终端的最大生成量。当花瓶优化完成后,用户可以选择保存数据并查看图表。图表模块使用开源Apache ECarts库作为图表绘制,版本5.3,在Apache许可证V2下 图 7显示了实验图表的页面,主要包括平均/最大适应度图表和所有用户平均/最大适应度图表。这些图表使研究人员能够轻松比较不同的算法,并允许他们添加其他图表来比较IGA的性能。绘制图表所需的数据是通过用户对10代种群花瓶的评估和进化生成的由于适应度可以反映用户的不同满意度对于个体,用每一代种群中所有个体的平均适应度和最大适应度来检验算法的优化性能以及最终一代种群中是否存在用户满意解用户满意解可以理解为个体的适应度大于规定值。所有用户测试结果的平均/最大适应度图表提供了更准确的适应度曲线,因为它减少了由于随机误差而导致的实验结果和实际值之间的差异从图中可以看出。7、适应度曲线呈上升趋势,黄东波,徐兴软件X 19(2022)1012054图3.第三章。遗传算法库的UML类图。见图4。 花瓶形状设计交互界面。从初始代到最后代,IGA的优化效果提高了20%以上,表明本例中的IGA对花瓶形状有很好的优化效果,虽然该算法进一步改进。通过以上分析,验证了所提供的示例旨在强调黄东波,徐兴软件X 19(2022)1012055图五. 陶瓷板图案设计交互界面。见图6。 IGA参数设置界面。框架,而不是专注于分析特定的算法性能。以上描述了根据该框架构造的具体示例。IGA的应用实例将逐步增加,以丰富软件,希望对不需要特定应用场景的研究人员有所帮助。该框架还支持设计应用的扩展,从而更好地帮助需要特定应用场景的研究人员。完成设计应用程序的构造需要以下步骤:首先,在资源文件中创建视图文件,并完成对各个形状的编辑,然后在com.edu.iga.controller包中创建控制器,并添加路由函数以返回视图并将其注册到系统最后在控制器中实现进化函数,进化函数可以调用系统的遗传算法库实现算法,从而完成算法应用的创建。4. 影响IGAOD是一个灵活的、开源的IGA框架,对IGA研究者来说非常有用。它提供了IGA的研究环境,支持多个优化目标的并行显示它解决了测试中的一些问题。例如,在初始阶段,如果用户希望具有群体的更多初始特征黄东波,徐兴软件X 19(2022)1012056···见图7。 数据分析图。最终保留下来。在此,仅针对这一特定问题,通过参数接口选择较低的变异率作为种群进化参数,并在图表模块中进行分析。在种群进化阶段,解决了种群特征的重组和后代的即时显示问题在提供的示例中,3D模型和算法的组合可以帮助探索更广泛的形状和算法。此外,IGA不仅限于学术应用,还可以用于解决一些具体问题,如产品设计、艺术创作和图形处理优化等。IGAOD用户可以将特定的工程领域集成到软件中,也可以通过接口提供支持因此,IGAOD可以简化学术界和工业界在这一领域的工作,拓宽IGA在设计领域IGAOD的新特点可归纳如下:该框架提供了IGA程序、通用运算符和数据分析图表。通过图形界面参数配置和交互,可以完成IGA测试和数据分析。采用模板设计模式设计了IGA,使算法扩展更加灵活。采用三维可视化技术ThreeJS对陶瓷形状进行参数化处理,并行显示陶瓷成型过程,使形状更易于控制。将IGA与陶瓷设计相结合,丰富了框架的应用,并通过花瓶造型设计验证了IGAOD框架的可行性。目前,现有的IGA框架源代码大多是封闭的,且大多局限于特定的应用,缺乏良好的可扩展性(如[28虽然Java中有Apache-math 3和Jenetics库来实现遗传算法,但只能实现IGA中的遗传算法部分,缺乏可视化的用户交互和图表分析界面。IGAOD是一个更全面的IGA框架,它是用Java开发的。5. 结论在本文中,IGAOD是一个IGA框架,可以帮助研究人员快速构建自己的IGA系统,使他们能够专注于更多关于他们想要优化的内容。该框架在整个过程中实现了遗传算法,满足了遗传算子库的进化需求,具有良好的可扩展性。它还提供了一个可视化的图形界面,包括参数配置,人口互动和数据分析,以方便用户优化和设计的目标。此外,本文还介绍了三维陶瓷设计作为说明性的例子,详细介绍了如何使用IGAOD的IGA性能的探索。IGAOD是一种该框架将大大减少新手研究人员建立IGA系统所需的时间,并消除研究人员重复IGA研究。IGAODramic产品设计,使更多的算法研究者、陶瓷企业和艺术设计从业者能够使用它。竞合利益作者声明,他们没有已知的竞争性财务利益或个人关系,可能会影响本文报告的工作数据可用性文章中描述的研究未使用任何数据致谢本工作得到了福建省自然科学基金项目(编号:200000000)的 部 分 资 助 2021J011007 ) 、 漳 州 市 自 然 科 学 基 金 项 目(ZZ2020J24)、闽南师范大学校长基金(KJ19015)、漳州市61702239)。黄东波,徐兴软件X 19(2022)1012057引用[1] Farooq H,Siddique MT.交互式遗传算法用户界面的比较研究。ProcediaComput Sci 2014;32:45-52. 网址://dx.doi.org/10.1016/j.procs.2014.05.396网站。[2] 高木湾交互式进化计算:能力的融合EC优化和人工评估。Proc IEEE 2001;89(9):1275-96. http://dx.doi.org/10.1109/5.949485网站。[3] 龚丹,袁杰.多模态隐式性能指标优化问题的交互式遗传算法在:第六届国际 智 能 系 统 设 计 和 应 用 会 议 , 第 2 卷 。 2006 年 , 第 1001-5 页 。http://dx.doi.org/10.1109/ISDA.2006.253748网站。[4] 赖春,陈毅.基于交互式遗传算法的面向用户的图像检索系统。IEEE跨仪器测量2011;60(10):3318网址://dx.doi.org/10.1109/TIM.2011.2135010网站。[5] 张宁,潘荣,王玲,孟松,高伟。基于改进交互式遗传算法的色织格子织物花型检索。ColorResAppl2020;45(6):1143-52.http://dx.doi.org/10.1002/col.22538网站。[6] 严S,万良W,肖建L.一种改进的交互式遗传算法评价方法及其在产品设计中的应用。 2010年IEEE第五届生物启发计算国际会议:理论与应用。2010年,第840-3页。http://dx.doi.org/10.1109/BICTA.2010的网站。5645234。[7] Takenouchi H,Tokumaru M.具有用户注视信息的交互式进化计算系统。IntJ Affect Eng 2019;18(3):109-16. 网址://dx.doi.org/10.5057/ijae.IJAE-D-18-00026网站。[8] Fukumoto M,Hatanaka T. 一种分布式交互式音乐旋律合成遗传算法的建议。InfEngExpress2017;3(2):59-68.http://dx.doi.org/10.52731/iee.v3.i2.200网站。[9] Farzaneh M,Mahdian Toroghi R.使用交互式进化算法的音乐生成。在:模式识别和人工智能。2020,第207- 217页。http://dx.doi.org/10.1007/978-3-030-37548-5_16网站。[10]Quiroz JC,Louis SJ,Shankar A,Dascalu SM.用于用户界面设计的交互遗传算 法 。2007 年 IEEE 进 化 计 算 大 会 . 2007 , 第 1366-73 页 。http://dx.doi.org/10.1109/CEC.2007的网站。4424630。[11]Ma Z,Ben K.一种基于交互式遗传算法的软件解耦划分方法。Procedia Eng2011;15:2875-9. http://dx.doi.org/10的网站。1016/j.proeng.2011.08.541。[12]窦R,宗C,南G.协同产品定制的多阶段交互式遗传算法。基于知识的系统2016;92:43-54。http://dx.doi.org/10.1016/j.knosys.2015.10.013网站。[13] 野村K,福本M.基于异步分布式交互遗传算法的音乐旋律合成Int J SoftwInnov 2018;6(2):26http://dx.doi.org/10.4018/IJSI.2018040103网站。[14]孙晓,龚丹,金英,陈世。一种新的代理辅助加权半监督交互式遗传算法。IEEETransCybern2013;43(2):685-98.http://dx.doi.org/10.1109/TSMCB.2012.2214382网站。[15]吕军,朱明,潘伟,刘翔.面向传统纸样新颖设计的交互式遗传算法。信息2019;10(2). 网址://dx.doi.org/10.3390/info10020036网站。[16]杜R,宗C,李M. 提出了一种基于犹豫区间算法的交互式遗传算法及其在客户协 同 产 品 配 置 设 计 中 的 应 用 。 Appl Soft Comput 2016;38 : 384-94.http://dx.doi.org/10.1016/j.asoc.2015.10.018网站。[17]魏功东,袁军,孙燕.具有个体模糊适应度的交互式遗传算法。Comput Behav2011;27(5):1482-92. 网址://dx.doi.org/10.1016/j.chb.2010.10.012网站。[18]王涛,周明.将交互式遗传算法与区间犹豫时间和用户满意度相结合的产品形态设计方法。Int J Ind Ergon 2020;76:102901. http://dx.doi.org/10.1016/j的网站。2019.102901.[19]王永,潘武智,关国,李凯,洪才S.基于改进禁忌搜索遗传算法的船舶多甲板舱室布置智能设计方法研究。海洋工程2021;225:108823. http://dx.doi的网站。org/10.1016/j.oceaneng.2021.108823。[20] Wei Z,Nie J.基于交互式遗传算法的具有地域文化价值的景观灯智能设计机 制 研 究 一 致 性 计 算 : PractExper 2021;33 ( 16 ) : e6273 。http://dx.doi.org/10.1002/www.example.com[21]杨明,杨明,杨明.基于交互式遗传算法和机器学习的螺旋桨优化。船舶技术研究2021;1-16。http://dx.doi.org/10.1080/09377255.2021.1973264网站。[22]Brintrup AM,Ramsden J,Tiwari A.一个交互式遗传算法为基础的框架,用于 处 理 设 计 优 化 中 的 定 性 标 准 。 Comput Ind 2007;58 ( 3 ) : 279-91.http://dx.doi.org/10.1016/j.compind.2006.06.004网站。[23]放大图片Kruse J,Connor A,Marks S. 一个交互式多智能体游戏设计系统。Comput Games J 2021;10 ( 1 ) : 41-63. http://dx.doi.org/10 的 网 站 。1007/s40869-020-00119-z。[24]萧S,徐C,唐K.基于交互式遗传算法的产品色彩规划咨询与仿真系统。ColorRes Appl 2013;38(5):375-90. http://dx.doi.org/10.1002/col.21730网站。[25]放大图片作者:J. Biomorpher:参数设计的交互式进化。Int J Archit Comput2018;16(2):144-63. http://dx.doi.org/10的网站。1177/1478077118778579.[26] 郑S,刘燕.基于眼动跟踪的自适应用户界面:隐式人机交互偏好指示。多模态用户界面2012;5(1):77-84。 http://dx.doi.org/10.1007/s12193-011-0064-6网站。[27]McDonough JE.模板方法设计模式。用ABAP进行面向对象设计:一种实用的方法。A Press; 2017,p.247比54 网址://dx.doi.org/10.1007/978-1-4842-2838-8_19网站。[28] TABATABAEE ANARAKI NA.应用交互式遗传演算法之服装设计辅助系统。在:音乐,声音,艺术和设计中的计算智能。2017年,第289-303页。http://dx.doi.org/10.1007/978-3-319-55750-2_20。[29] Khan S,Gunpinar E,Sener B. GenYacht:一个用于计算机辅助游艇船体设 计 的 交 互 式 生 成 设 计 系 统 。 海 洋 工 程 2019;191 :106462.http://dx.doi.org/10.1016/j.oceaneng.2019.106462网站。[30]Zhu X,Li X,Chen Y,Liu J,Zhao X,Wu X.基于典型款式的交互式遗传算法服装定制。JEngFibersFabrics2020;15:1-9.http://dx.doi.org/10.1177/1558925020920035网站。[31]Petiot J.声音交互设计的遗传方法:应用于电动汽车。在:非食品感官实践。2022年,第251- 271页。http://dx.doi.org/10.1016/B978-0-12-821939-3.00017-8网站。[32]Cheng S,Dey AK. I see,you design:具有眼动追踪和交互式遗传算法的用户界面智能设计系统。CCF Trans Pervas Comput Interact 2019;1(3):224-36. http://dx.doi.org/10.1007/s42486-019-00019-w.
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- RTL8188FU-Linux-v5.7.4.2-36687.20200602.tar(20765).gz
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功