一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于低代码的多目标优化平台及其建立方法

2022-11-14 02:09:01 来源:中国专利 TAG:


1.本发明涉及软件技术领域,具体涉及一种基于低代码的多目标优化平台及其建立方法。


背景技术:

2.低代码是指通过为开发者提供可视化的应用开发环境,降低或去除应用开发对原生代码编写的需求量,进而实现便捷构建应用程序的一种解决方案,在多目标优化工具领域,有些框架和工具已经具备了这种风格。
3.随着多目标优化的不断发展,出现了一些优秀且具有代表性的多目标优化工具或框架,如jmetal框架、moeaframework框架、platemo 工具、modefrontier工具等。而目前大部分工具可以做到提供丰富的算法库和稳定的算法引擎能力,但是并没有考虑对其他平台和框架的兼容性,本身提供的扩展性也有局限;且当前,很多新产生的算法、工具、服务以web服务的形式发布,所调研的工具大部分是不能支持这些服务的;另外在一些工具引擎中,既不能以可视化的方式解决一个多目标优化问题流程,缺乏灵活便捷的构建能力,也不能简单快捷地支持批量实验。


技术实现要素:

4.为了克服上述现有技术存在的问题,本发明的目的在于提供一种基于低代码的多目标优化平台及其建立方法,通过容器能够跨平台的特点,提高了平台的可扩展性,为用户注册的各种算法组件进行统一管理并执行用户多目标优化实验提供支持;通过可视化模块,用户进行可视化拖拽和配置参数来构建多目标优化实验,使用户灵活、便捷、高效的解决多目标优化问题;通过多目标优化可视化流程图设计规范,为用户提供了极为灵活且可拓展的组件系统,大大提高了用户自主设计实验的空间。
5.本发明所叙述的多目标优化工具,将从对算法、问题、指标、服务进行良好的封装与重用,可视化拖拽构建实验,支持批量实验等方面进行分析与设计,利用低代码相关的技术,为多目标优化应用群体提供一种低代码解决方案。
6.为了实现上述目的,本发明采用的技术方案是:
7.一种基于低代码的多目标优化平台,包括组件模块,可视化模块和工作流模块,其中,组件模块根据问题提出、算法求解、结果处理的多目标优化实验的逻辑,接收以容器和网络service注册的多目标优化问题、算法、指标、服务,并提供相对应的注册规范,使其成为平台中的组件;
8.可视化模块,以可视化方式构建多目标优化实验的规范,使组件模块按照规范灵活地进行组合,成为带有任务信息的有向无环图;
9.工作流模块,解析可视化模块形成的有向无环图信息,将组件变为独立的子任务并分配平台资源,工作流通过调度组件,高效地执行用户所设计的多目标优化实验,实现与可视化模块规范相适配的任务工作流。
10.所述组件模块,包括组件定义模块、组件注册模块、组件校验模块、组件维护模块;
11.组件定义模块对包括组件的概念、组件封装形态、组件的分类、组件的参数传递、组件的部署进行介绍;
12.组件注册模块提供导入平台的接口,接受以容器和网络service 注册的多目标优化问题、算法、指标、服务,为组件检验模块、组件维护模块提供包括使用方式,具体的参数信息,存储管理基础,使其能作为具有可重用性的组件灵活地参与多目标优化实验;
13.组件校验模块在多目标优化问题、算法、指标、服务加入多目标优化实验之前,验证用户注册的组件是否可用,通过组件校验模块检查用户注册的算法是否符合组件定义的规范、是否能够在平台上作为组件构建多目标优化实验以及是否符合工作流调度的要求;
14.组件维护模块在组件校验模块校验之后,对组件及其参数进行包括修改、查询、更新操作。
15.所述可视化模块,包括画布组件数据定义模块、可视化编辑画布模块、画布复现编辑模块;
16.画布组件数据定义模块定义了画布中组件的数据结构以及用户构建多目标优化实验流程图的规范;选取图模型中有向无环图作为用户与平台进行数据信息交互的载体,并按照多目标优化实验的基本逻辑:提出问题,算法处理,结果处理,规范用户设计的实验流程图;
17.可视化编辑画布模块提供可视化的拖拽工具与画布,用户在画布中,通过包括拖拽组件节点,手动配置参数,构建工作流图的操作进行可视化建模;
18.画布复现编辑模块能够在已有的实验流程上新增算法或指标组件来构建新实验流程,来比对原有流程的结果;用户选取已经执行过的流程进行复现,在原画布中新增算法组件并补充关键参数值,构建新流程实验并执行,对比分析两次实验结果,将用户构图数据保存,复现时重新由前端渲染在页面画布上,此时刷新用户可使用的组件列表,由用户进行新的组件拖拽操作并配置参数值,构建新的实验流图。
19.所述工作流模块,包括工作流定义模块、工作流解析模块、工作流执行与控制模块、实验流程维护模块;
20.工作流定义模块定义了工作流解析图模型信息的流程,以及多目标优化背景下工作流组织节点执行的步骤,为工作流解析模块、工作流执行与控制模块、实验流程维护模块提供支持;
21.工作流解析模块根据工作流定义模块定义的流程步骤,将多目标优化背景下工作流组织节点数据,解析成工作流引擎所能识别执行的资源文件;所述解析在于对节点任务的拓扑排序分析,得出依赖关系和路径节点关系,以及路径节点应匹配的相关数据,包括输入输出参数,执行该节点所需要的镜像及相关的镜像执行命令,执行参数;
22.工作流执行与控制模块包括工作流引擎工具类、工作流运行控制服务、用户和用户组服务管理工作流、工作流日志服务、更新工作流服务、工作流维护服务、通知服务,实验流程维护模块;
23.工作流引擎工具类提供管理和维护工作流引擎相关的接口;
24.工作流运行控制服务中由工作流执行与控制中心负责启动、挂起、终止工作流及管理运行工作流实例;
25.用户和用户组服务管理工作流与用户关联关系;
26.工作流日志服务管理工作流日志;
27.更新工作流服务可以对正在执行的工作流进行修改而无需重新部署;
28.工作流维护服务提供了对工作流信息的维护,执行结果的下载;
29.通知服务以组件封装,负责通知用户工作流执行状态;
30.实验流程维护模块,提供用户查看自己所有运行的流程信息,并根据情况对流程信息进行删除,修改,查看流程信息,并对流程结果进行下载。
31.一种基于低代码的多目标优化平台的建立方法,具体包括以下步骤:
32.步骤1:系统通过组件模块接收用户注册的多目标优化问题、算法、指标、服务;
33.步骤2:系统通过可视化模块拖拽平台内步骤1所管理的组件并按照规范构建多目标优化实验流程图;
34.步骤3:系统根据步骤2中的流程图,选择合适的工作流和对应的容器完成实验;
35.步骤4:提供实验流程的下载结果和相关流程信息。
36.所述步骤1具体方法为:
37.1.1)将组件定义为平台管理用户提供的多目标优化问题、算法、指标、服务的基本单位,为封装用户问题、算法、指标、服务,为用户可视化构建多目标优化实验流程图的拖拽配置单元,以及实验工作流执行的最小独立子任务;
38.1.2)根据多目标优化问题的特点,建立问题组件规范:
39.问题提供者构建问题组件为常驻运行状态,能够直接发布并注册成服务类组件,或以容器形式封装,注册成镜像类组件;注册时输入参数必须包含决策变量,输出参数必须包括评价结果;
40.1.3)经过组件的定义与建立的规范,进行用户注册
41.平台用户提供输入参数和输出参数,经由用户提交后,将参数类型,参数默认值参数解释等信息存入数据库的算法及算法对应的参数表中,方便用户对数据进行管理和维护;平台将参数记录后,注册功能完成,实际部署将延迟于组件校验时进行;
42.1.4)进行组件检验
43.以一个最小单元的工作流运行步骤1第3)步所述的算法,所得结果保存,若符合预期数据,则通过检验;若不符合,系统会将错误信息发送至网络service交互界面,便于用户矫正错误操作;
44.1.5)管理维护功能
45.用户能够在低代码多目标优化平台中对经过步骤1第4)步组件校验后的算法进行管理、维护,获取最新服务组件列表,获取镜像组件列表,获取未校验组件列表,进行包括参数数据修改、参数删除、参数新增、参数查询、算法删除、算法查询功能。
46.所述步骤2具体方法为:
47.2.1)按照问题、算法、指标、结果处理先后顺序进行构图,其中问题是独立的服务,不允许拆分,算法和结果处理步骤都可以拆分成多个子步骤,但子步骤之间需定义好任务执行顺序与数据的流向,该流向不能构成环向;
48.2.2)提供可视化的拖拽工具与画布进行自定义编辑画布,用户能够在画布中,通过包括拖拽组件节点,手动配置参数,构建工作流图操作,进行可视化建模:从组件列表中
将实验所需要的组件拖拽到画布中,所有组件布置完成后,按照算法的执行步骤,将组件连线,构成一张有向无环图,然后手动配置参数阶段,将组件中与算法对应的参数值填入,最后配置包括流程名称,流程注释的整个流程的全局变量值,所有数据准备就绪后,用户点击部署。
49.步骤3具体方法为:根据步骤2所得的流程图进行实验的解析与执行;
50.3.1)流程图解析:利用前端的组件节点数据,节点的参数信息,得出节点依赖关系及相应的执行链路图,按照执行链路图上的节点匹配执行组件的镜像、执行参数、执行命令以及输入输出参数;
51.3.2)在多目标优化平台中的执行实验,具体执行的步骤如下:
52.3.2.1)用户构建好流程图由前端发送至后端平台;
53.3.2.2)平台对步骤3.2.1)构建好的流程图解析并提交多目标优化实验至平台的多目标优化工作流控制中心;
54.3.2.3)工作流执行与控制中心首先初始化问题组件,启动就绪后,工作流执行与控制中心感知;
55.3.2.4)工作流执行与控制中心初始化启动算法组件,算法组件启动后获取问题组件与种群相关的参数,初始化后获得第一代种群;
56.3.2.5)算法开始进化,进入循环,直到满足以适应度评估的最大次数作为平台中所有moea的终止准则;
57.3.2.6)在每一代的种群中,执行交配池选择,根据父代,来生成子代;
58.3.2.7)算法组件调用问题组件的决策变量来计算子代的目标值;
59.3.2.8)得到子代后,对当前种群和子代进行环境选择,为下一代选择种群;
60.3.2.9)实例化个体数超过适应度评估的最大数量时,算法停止,保存最终种群及参数;
61.3.2.10)工作流执行与控制中心启动指标评价组件,算法组件将其保存种群相关数据输出,然后,算法组件退出;
62.3.2.11)指标组件进行基准值计算,将计算结果和数据返回给工作流执行与控制中心;
63.3.2.12)工作流执行与控制中心启动服务组件,服务组件读取该流程下保存中间结果,根据其服务类型输出服务;
64.3.2.13)工作流执行与控制中心检测到所有组件执行完毕,返回实验结束信息呈现至用户交互页面。
65.步骤4具体为:进入流程页面,选择下载,再对用户权限进行校验,对文件路径进行校验,再确认各项数据完备后,平台系统压缩目录文件,提供下载。
66.与现有技术相比,本发明的有益效果在于:
67.1、注册时容器化能支持各种语言,框架的组件,且组件化思想很好地解耦合提供者,使用者,平台的职责,符合软件工程设计领域的“高内聚,低耦合”的思想。
68.2、提供了一套灵活便捷的可视化解决多目标优化问题的规范,可以降低使用者的门槛。
69.3、相较于目前的同类多目标优化解决方案,支撑平台的容器集群更能提供稳定
性、高可用性、扩展性,且通过性能测试验证,在大规模的计算时更具有优越性。
70.本发明从对算法、问题、指标、服务进行良好的封装与重用,可视化拖拽构建实验,支持批量实验等方面进行分析与设计,利用低代码相关的技术,为多目标优化应用群体提供一种低代码解决方案。
附图说明
71.图1为本发明的客服分配系统图。
72.图2为本发明的工作流控制模块组件图。
73.图3为本发明的标准规范的多目标优化图。
74.图4为本发明的拖拽式组件可视化流程图示例。
75.图5为本发明的拖拽式组件可视化流程图。
76.图6为本发明的工作流解析流程图。
77.图7为本发明的低代码多目标优化平台执行实验图。
78.图8为本发明的流程结果下载流程图。
79.图9为本发明验证例的实例步骤流程图。
80.图10为本发明验证例的主页图。
81.图11为本发明的验证例注册dtlz1问题图。
82.图12为本发明的验证例构建实验流程图。
83.图13为本发明验证例的流程管理图。
84.图14为本发明验证例的流程复现图。
85.图15为本发明验证例的ansgaiii算法链路上的igd评价图。
86.图16为本发明验证例的moea\d算法链路上的igd评价图。
具体实施方式
87.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整地描述。
88.一种基于低代码的多目标优化平台,包括组件模块,可视化模块和工作流模块,其中:
89.组件模块接收docker镜像和restful风格的web服务,并将其注册成多目标优化问题、算法、服务,并提供相对应的注册规范,使其成为平台中的组件;
90.可视化模块,以可视化方式构建实验的规范,组件模块按照规范灵活地进行组合,成为带有任务信息的有向无环图;
91.工作流模块,解析可视化模块形成的有向无环图信息,将组件变为独立的子任务并分配平台资源,工作流通过调度组件,高效地执行用户所设计的多目标优化实验,实现与可视化模块规范相适配的任务工作流。
92.所述组件模块,包括组件定义模块、组件注册模块、组件校验模块、组件维护模块;组件定义模块对包括组件的概念、组件封装形态、组件的分类、组件的参数传递、组件的部署等方面进行介绍;组件注册模块提供导入平台的接口,接受以docker镜像和web服务形式注册的多目标优化问题、算法、服务,为组件检验模块、组件维护模块提供包括使用方式,具
体的参数信息,存储管理基础,使其能作为具有可重用性的组件灵活地参与多目标优化实验;组件校验模块在多目标优化问题、算法、服务加入多目标优化实验之前,验证用户注册的组件是否可用,通过组件校验模块检查用户注册的算法是否符合组件定义的规范、是否能够在平台上作为组件构建多目标优化实验以及是否符合工作流调度的要求;组件校验模块对已注册的组件进行独立的检验,检查其是否满足平台封装的要求;组件维护模块在组件校验模块校验之后,对组件及其参数进行包括修改、查询、更新操作。
93.所述可视化模块,包括画布组件数据定义模块、可视化编辑画布模块、画布复现编辑模块;
94.画布组件数据定义模块定义了画布中组件的数据结构以及用户构建多目标优化实验流程图的规范;选取dag中有向无环图作为用户与平台进行数据信息交互的载体,并按照多目标优化实验的基本逻辑:提出问题,算法处理,结果处理,规范用户设计的实验流程图;
95.可视化编辑画布模块提供可视化的拖拽工具与画布,用户在画布中,通过包括拖拽组件节点,手动配置参数,构建工作流图的操作进行可视化建模,大大提高了建模的效率。
96.画布复现编辑模块能够在已有的实验流程上新增算法或指标组件来构建新实验流程,来比对原有流程的结果;用户可以选取已经执行过的流程进行复现,在原画布中新增算法组件并补充关键参数值,构建新流程实验并执行,对比分析两次实验结果,将用户构图数据保存,复现时重新由前端渲染在页面画布上,此时刷新用户可使用的组件列表,由用户进行新的组件拖拽操作并配置参数值,方便快捷地构建新的实验流图。
97.可视化模块可以使用户方便灵活地进行多目标优化实验建模,该模块选取了符合用户习惯和工程逻辑的dag有向无环图作为图模型,设计了用户构建多目标优化实验流程图的相关规范,为支持用户实验提供了可视化的拖拽式工具,协助用户完成优化实验建模。该模块分为三部分,首先定义了画布中组件的数据结构以及用户构建多目标优化实验流程图的规范,其次介绍了可视化编辑画布模块的流程步骤,最后描述了将流程结果复现的逻辑设计。
98.所述工作流模块包括工作流定义模块、工作流解析模块、工作流执行与控制模块、实验流程维护模块;工作流定义模块定义了工作流解析dag图信息的流程,以及多目标优化背景下工作流组织节点执行的步骤,为工作流解析模块、工作流执行与控制模块、实验流程维护模块提供支持;
99.组件模块在完成算法的注册和管理后,低代码多目标优化平台将集成这些算法,构建算法实验,这是平台的核心功能,工作流模块将支持用户从无到有地构建一个可执行的多目标优化问题解决流程,用户通过工作流解析、工作流执行与控制模块,将实现前端数据与后端 kubernetes的连通,以可视化的方式完成实际代码的组装。系统在正常运行中多个用户将进行频繁的算法实验来寻求多目标优化问题的解决方案,因此对实验流程的管理是非常有必要的。
100.工作流解析模块根据工作流定义模块定义的流程步骤,将多目标优化背景下工作流组织节点数据,解析成argo所能识别执行的yaml 文件;所述解析关键点在于对节点任务的拓扑排序分析,得出依赖关系和路径节点关系,以及路径节点应匹配的相关数据,包括输
入输出参数,执行该节点所需要的镜像及相关的镜像执行命令,执行参数;
101.工作流执行与控制模块,用户构建流程图中的节点中封装了多目标优化问题、算法和指标等相关组件,由于封装的组件均使用的容器 docker镜像形式,并且将输入输出以文件形式或参数传递,因此使得各组件之间解耦,使得实验流程清晰,这些镜像受argo调度和执行,完成一个完整的多目标优化实验工作流;
102.工作流执行与控制模块的服务组件包括如下:工作流引擎工具、工作流运行控制服务、用户和用户组服务管理工作流、工作流日志服务、更新工作流服务、工作流维护服务、通知服务;其中,工作流引擎工具类提供管理和维护argo引擎相关的api接口;工作流运行控制服务负责启动、挂起、终止工作流及管理运行工作流实例;用户和用户组服务管理工作流与用户关联关系;工作流日志服务管理工作流日志;更新工作流服务可以对正在执行的工作流进行修改而无需重新部署,工作流维护服务提供了对工作流信息的维护,执行结果的下载;通知服务以组件封装,负责通知用户工作流执行状态;
103.实验流程维护模块,提供用户查看自己所有运行的流程信息,并根据情况对流程信息进行删除,修改,查看流程信息,并对流程结果进行下载。
104.一种基于低代码的多目标优化平台的使用方法,具体包括以下步骤:
105.步骤1:系统通过组件模块接收用户注册的多目标优化问题、算法、服务;
106.图1是示出依据本发明实施例的客服分配系统。如图1所示,基于容器工作流的多目标优化平台包括:组件模块、可视化模块、工作流模块及用户与日志模块。
107.组件模块解释平台组件的定义,介绍平台关于组件的统一封装规范,提供对算法、问题、服务及对应参数的注册提交,即组件注册功能,其次提供对已提交组件的校验,即组件校验功能,最后对组件进行管理维护。
108.可视化模块,方便用户进行可视化拖拽和配置参数来构建多目标优化实验,通过对于画布组件数据的定义以及可视化编辑画布功能的介绍,用户能够明确构建多目标优化实验的规范和流程。在画布复现编辑中,用户可以通过复现实验流程,重新编辑构建新实验。
109.工作流模块中,包括对工作流的定义、解析与运行控制的详细设计,以及对实验完整流程的维护,通过这一模块体现了低代码能够降低用户操作复杂性的特点,以及对应用记录良好维护与管理。
110.具体使用,以一平台普通用户人员流程为例:
111.1.1)根据平台使用说明,了解组件规范与封装细节;
112.1.2)经过组件的定义与建立的规范,进行用户组件注册
113.用户在此平台内窗口内点击“算法注册”,配置新增参数、默认值后,提交docker形式或web服务形式的组件。组件状态为未校验。
114.1.3)进行组件检验
115.用户需要进一步在算法模块窗口点击“校验”,平台接收到用户的校验事件后,根据用户所注册的数据,以一个最小单元的工作流运行,所得结果保存,若符合预期数据,则通过检验;若不符合,系统会将错误信息发送至web界面,便于用户矫正错误操作。
116.校验时需要对注册的算法进行部署。对于镜像形式算法,在其算法docker文件上传之后,需要利用对应dockerfile文件进行同名镜像制作;对于服务形式算法,在提供其
url地址与执行参数后,平台使用默认的用于网络访问的镜像代理其web服务,制作同名镜像,此时两种注册方式的算法统一为docker镜像,在后续参与实验时方便工作流对其管理与控制。
117.1.4)管理维护功能
118.用户还可以在此完成组件的相关维护,这个部分提供了对这两种类型算法的相关维护功能,保护获取最新服务组件列表,获取镜像组件列表,获取未校验组件列表,参数数据修改、参数删除、参数新增、参数查询、算法删除、算法查询等等功能,该功能操作往往要得到用户权限的确认,除此之外,对参数与算法的部分参数修改和删除操作会组件重新变为未校验状态。
119.步骤2:系统通过本系统的可视化模块拖拽平台内步骤1所管理的组件并按照规范构建多目标优化实验流程图;
120.2.1)如果通过校验,则用户注册的组件可以作为多目标优化实验中一个可拖拽的节点。
121.2.2)可视化编辑画布功能提供了可视化的拖拽工具与画布,在这一功能里,用户将能够在画布中,通过拖拽组件节点,手动配置参数,构建工作流图等操作进行可视化建模,提高了建模的效率。
122.步骤3:系统根据步骤2中的流程图,选择合适的工作流和对应的容器完成实验;
123.3.1)流程图解析:利用前端的组件节点数据,节点的参数信息,根据图解析算法得出节点依赖关系及相应的执行链路图,按照执行链路图上的节点匹配执行组件的镜像、执行参数、执行命令以及输入输出参数;
124.3.2)在多目标优化平台中的执行实验,解析之后交由工作流控制模块执行,结合工作流功能方面的需求,工作流控制模块设计参见图2:
125.3.2.1)用户构建好流程图由前端发送至后端平台;
126.3.2.2)平台对步骤3.2.1)构建好的流程图解析并提交多目标优化实验至平台的多目标优化工作流控制中心;
127.3.2.3)工作流执行与控制中心首先初始化问题组件,启动就绪后,工作流执行与控制中心感知;
128.3.2.4)工作流执行与控制中心初始化启动算法组件,算法组件启动后获取问题组件与种群相关的参数,初始化后获得第一代种群;
129.3.2.5)算法开始进化,进入循环,直到满足以适应度评估的最大次数作为平台中所有moea的终止准则;
130.3.2.6)在每一代的种群中,执行交配池选择,根据父代,来生成子代;
131.3.2.7)算法组件调用问题组件的决策变量来计算子代的目标值;
132.3.2.8)得到子代后,对当前种群和子代进行环境选择,为下一代选择种群;
133.3.2.9)实例化个体数超过适应度评估的最大数量时,算法停止,保存最终种群及参数;
134.3.2.10)工作流执行与控制中心启动指标评价组件,算法组件将其保存种群相关数据输出,然后,算法组件退出;
135.3.2.11)指标组件进行基准值计算,将计算结果和数据返回给工作流执行与控制
中心;
136.3.2.12)工作流执行与控制中心启动服务组件,服务组件读取该流程下保存中间结果,根据其服务类型输出服务;
137.3.2.13)工作流执行与控制中心检测到所有组件执行完毕,返回实验结束信息呈现至用户交互页面。
138.工作流引擎工具类提供管理和维护argo引擎相关的api接口;工作流运行控制服务负责启动、挂起、终止工作流及管理运行工作流实例;用户和用户组服务管理工作流与用户关联关系;工作流日志服务管理工作流日志;更新工作流服务可以对正在执行的工作流进行修改而无需重新部署,工作流维护服务提供了对工作流信息的维护,执行结果的下载;通知服务以组件封装,负责通知用户工作流执行状态。
139.以工作流执行的完整生命周期,各服务之间协作:
140.工作流开始时,工作流维护模块将生成本次实验流程的基本信息,如流程id,创建时间,执行用户等,工作流状态设置为执行中,其中执行用户信息与用户和用户组服务进行交互获得。工作流运行控制服务提交资源文件,交由工作流引擎执行多目标优化实验。
141.工作流执行状态时,工作流运行控制服务可以挂起,终止工作流,通过工作流维护服务更改工作流状态。更新工作流服务可以对正在执行的工作流进行修改而无需重新部署。工作流日志服务记录了每个节点的工作日志与状态。
142.工作流执行结束时,通知服务会主动通知目标用户工作流结束,其中目标用户信息与用户和用户组服务交互获得。工作流维护服务将工作流执行的相关信息更新,保存结果文件并提供下载,状态更新为流程执行成功或者失败,工作流日志服务记录所有节点信息。
143.步骤4:提供实验流程的下载结果和相关流程信息。
144.流程结束后,需要提供实验流程下载结果,进入流程页面后,对目标流程的结果进行下载,每个流程都有独立的文件空间,且每个流程下的独立组件节点也有独立的子空间,该空间保存流经该节点的中间数据。当用户选择下载结果后,经过流程权限和用户权限校验后,会压缩对应流程编号的目录文件,提交流程结果数据包给用户。
145.以下通过验证算法moea\d和ansgaiii两种算法在dtlz1问题上关于指标igd的优化应用实例,对本发明进一步解释说明。
146.步骤1:明确任务目标,本次的案例名称为优化应用实例1,目的是验证算法moea\d和ansgaiii两种算法在dtlz1问题上关于指标igd的表现,流程步骤如图9,实验准备为moea\d和ansgaiii算法文件及igd指标文件的压缩包,已经部署为服务的dtlz1问题,以及系统通知接口的相关信息。
147.步骤2:进入主页,参见图10,在左侧组件列表中有问题、算法、服务及其他四种类型和未校验状态的组件;中间为画布,用于用户拖拽左侧组件集中的组件,在画布中构建多目标优化实验工作流;右侧为实验参数区域,包含组件参数和实验参数;当用户在画布构建实验时,需要在实验参数区域,配置对应组件的参数数据;上侧为系统菜单栏,包括系统中各种模块如流程管理、算法组件库管理、用户与日志管理等等,当前页面为可视化建模模块。
148.步骤3:参见图11,首先注册dtlz1问题组件,用户的dtlz1问题是一个服务,其已经
定义好了问题内的其他相关参数,只发布了供算法模块调用的评价函数模块,向平台注册dtlz1问题,其注册地址为服务暴露url,请求方式统一为post,执行参数为封装问题的 docker镜像执行命令,输入参数为决策变量,输出参数为评价结果,因算法内部逻辑调用该问题,所以需要将服务url地址暴露。
149.参见图12,以镜像注册形式注册moea\d算法组件,镜像算法上传时需要将文件及dockerfile压缩上传,图中的执行命令及执行参数为执行moea\d算法的docker镜像所需要的指令,参数中,m为算法迭代次数,url为传入优化问题的访问地址,result为算法执行后的结果保存地址。
150.ansgaiii算法的注册形式与moea\d算法一致,只是参数不同。
151.通知服务以服务形式注册。
152.步骤4:对组件进行校验。
153.选择“通知”类服务进行校验,因为服务校验形式相同,这里主要以“通知”服务作典例介绍。
154.第一步配置参数,输入参数为userid,content,output三种参数。userid为通知用户编号,content为通知内容,output为通知节点的输出结果。
155.第二步为通用组件的结果下载,而通知服务并没有输出结果,所以我们直接通过调用的前端通知页面,作为结果展示。
156.用户判断校验成功后,第三步在系统中改变校验结果,分配在其他组件中,其他组件是作为用户的工具类组件,此时平台将从主页组件的未校验组件集移除,分配至对应的组件库;其他组件校验形式与通知类服务非常类似,也都是配置参数执行,结果下载,用户自行校验后更改校验结果。
157.步骤5:确认所有组件已校验完成,此时我们在主页可视化建模页面,构建流程图,如图12,并配置参数,配置流程名称为示例1。开始节点为dtlz1问题,分两条支路,左侧支路经由moea\d算法执行后数据交由igd指标输出,右侧支路经由ansgaiii算法执行后数据交由igd指标输出,最后汇聚到通知节点,此时整个实验流程已经结束,而平台通过通知节点主动向用户推送流程结束信息。
158.步骤6:点击部署运行,流程图移交工作流模块解析并执行,用户等待结果;用户等待过程中,通知以悬浮框形式出现。
159.步骤7:查看本次执行结束流程信息及运行状态,如图13,进入流程管理,倒序展示了第一个流程就是本次示例的名为示例1的流程,状态为运行成功。点击查看流程内容。如图14,流程数据统一保存在/home/process/16目录下,对流程的解析文件json保存在相对路径的/resolve的process16.txt下,解析交由argo执行的yaml 资源文件保存相对路径在/yaml/process16.yaml,中间运行结果保存相对路径为/result。
160.步骤8:点击流程复现,通过解析文件json保存在相对路径的 /resolve的process16.txt,依据前后端定义好的组件与流程图规范,成功还原如图15所示。
161.步骤9:对本次实验的结果下载。
162.点击流程管理中示例1下载,平台会将结果文件压缩,提供下载,此时在本地解压后,以该组件的编号和名称联合命名,方便用户识别是哪个节点的输出中间结果。
163.这次流程的任务目标是验证算法moea\d和ansgaiii两种算法在dtlz1问题上关于
指标igd的表现,分别进入两个igd节点的文件目录,读取结果。
164.如图16是ansgaiii算法链路上的igd结果图,随着迭代次数的上升,数据在igd上逐渐降低趋于平缓。
165.如图16,分别为两种对比算法下在igd指标上的结果图。随着迭代次数的上升,igd指标逐渐降低趋于平缓。
166.以上整个示例结束。通过图文的格式,介绍了平台的使用规范,验证了低代码形式的多目标优化平台能够满足系统的功能设计与需求。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献