一种基于MSSQL的算法研究与测试方法与流程

文档序号:17476754发布日期:2019-04-20 06:10阅读:330来源:国知局
一种基于MSSQL的算法研究与测试方法与流程
本发明属于算法研究相关
技术领域
,更具体地,涉及一种基于mssql的算法研究与测试方法。
背景技术
:随着算法研究的不断深入,算法对函数问题求解产生的数据越来越庞大,同时算法对不同问题的表现性能也逐渐成为了研究工作的关键。目前,算法研究工作在matlab软件上进行,在测试算法性能的过程中出现了数据处理工作繁琐且共享性差,算法对不同求解函数表现性能对比性差等等问题。相应地,本领域存在着发展一种适用性较好的基于mssql的算法研究与测试方法的技术需求。技术实现要素:针对现有技术的以上缺陷或改进需求,本发明提供了一种基于mssql的算法研究与测试方法,其基于现有算法研究的特点,研究及设计了一种实用性及共享性均较好的基于mssql的算法研究与测试方法。所述算法研究与测试方法通过在mssql数据库平台上建立算法研究与测试数据库,调用含有各种算法的存储过程与所需求解函数,以实现算法测试数据的自动处理存储。此外,通过该方法将多次测试的结果横向纵向对比,以获取测试算法对求解函数的表现性能差异,从而对算法进行改进优化。为实现上述目的,本发明提供了一种基于mssql的算法研究与测试方法,该方法包括以下步骤:(1)在mssql数据库平台中建立算法研究与测试数据模块,在所述算法研究与测试数据模块的函数子模块中确定所需研究的求解函数以构成问题子模块;(2)在所述算法研究与测试数据模块中构建与所述问题子模块中的求解函数相关联的存储过程,以构成算法子模块;(3)针对所述问题子模块中的求解函数确定封闭的sql语句程序段以构成算法执行器,执行所述算法执行器以自动调用所述算法子模块中对应的存储过程对所述的求解函数进行测试计算,并将输入参数与输出参数整合作为运行结果以表内记录的形式返回;(4)分别创建记录表与结果表,分别将步骤(3)中返回的参数记录及结果参数存储于所述记录表及所述结果表中以构建结果子模块,接着,对所述结果子模块中的记录表及结果表进行横向及纵向对比,以得出不同算法对求解函数的性能表现。进一步地,步骤(4)后还包括根据得到的对比结果对算法进行改进优化的步骤。进一步地,建立算法研究与测试数据模块时,勾选自动增长选项,同时设置连接参数以保证所述算法研究与测试数据模块的可连接性。进一步地,采用问题表的形式来存储求解函数的特征,所述求解函数的特征包括有无最优值、函数表达式及最优解类型。进一步地,所述算法子模块中的算法与所述问题子模块中的求解函数具有对应关联关系。进一步地,所述算法子模块通过控制多个输入参数中的单一变量来实现对算法性能研究方向的确定,对应的输出参数反映算法对应的性能表现。进一步地,通过分析所述结果子模块中的属性来获得不同算法对求解函数的性能表现。进一步地,所述属性包括允许迭代次数、迭代次数、计算耗时、最优解类型及精度。总体而言,通过本发明所构思的以上技术方案与现有技术相比,由本发明提供的基于mssql的算法研究与测试方法主要具有以下有益效果:1.在mssql数据库平台中建立算法研究与测试数据模块,如此使得外部研究人员可以访问,增加了算法研究数据的共享性及适用性。2.以表的形式对结果数据中特定属性进行记录,便于对算法性能的对比分析及对算法结构性能的优化改进,简化了流程,提高了效率,降低了计算成本。3.通过存储过程调用表来自动存储算法测试过程产生的大量数据,便于测试数据的统一管理,提高了集成度。4.所有的算法研究与测试工作均在mssql数据库平台上进行,保证了算法测试结果的科学性及准确性,且有利于各个子模块的构建,易于施行,可操作性较强,适应性较好。附图说明图1是本发明较佳实施方式提供的基于mssql的算法研究与测试方法的流程示意图。具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。请参阅图1,本发明较佳实施方式提供的基于mssql的算法研究与测试方法,所述算法研究与测试方法能够自动管理大量测试数据,实现了算法测试结果的纵向性能对比,且便于测试数据的远程共享。步骤一,在mssql数据库平台中建立算法研究与测试数据模块。具体地,合理调节数据文件大小参数并勾选自动增长选项,同时设置连接参数以保证所述算法研究与测试数据模块的可连接性。步骤二,在所述算法研究与测试数据模块的函数子模块中确定所需研究的求解函数以构成问题子模块。具体地,按照表1中的属性定义问题表来用于存储求解函数的特征(如有无最优值、函数表达式、最优解类型等)。表1问题表中的属性名及说明属性名描述函数名求解函数的名称函数表达式求解函数的表达式样本min所取样本的最小值样本max所取样本的最大值函数最大值点取得最优解的坐标函数最大值求解函数的最优解最优解类型最优解是否精确备注备注说明步骤三,在所述算法研究与测试数据模块中构建与所述问题子模块中的求解函数相关联的存储过程,以构成算法子模块。具体地,所述算法子模块中的算法与所述问题子模块中的求解函数具有对应关联关系。所述算法子模块通过控制多个输入参数(如函数、求解函数、样本区间、步长、最大迭代次数、记录次数)中的单一变量来实现对算法性能研究方向的确定,对应的输出参数(如迭代次数、计算时间、最优解等)反映算法对应的某一性能表现(如效率、精度、稳定性、规律性等)。步骤四,针对所述问题子模块中的求解函数确定封闭的sql语句程序段以构成算法执行器,执行所述算法执行器以自动调用所述算法子模块中对应的存储过程以对所述的求解函数进行测试计算,并将输入参数与输出参数整合作为运行结果以表内记录的形式返回。具体地,构建并调用算法执行器,通过设定初始参数来控制算法研究的方向,使得所述算法子模块中的存储过程对所述问题子模块中的求解函数进行测试计算,并返回多条含过程数据及结果数据的记录。步骤五,分别创建记录表与结果表,将步骤四中返回的参数记录及结果参数存储于所述记录表及所述结果表中以构建结果子模块;接着,对所述结果子模块中的记录表及结果表进行横向及纵向对比以得出不同算法对关联求解函数的性能表现,并根据对比结果将对应的算法进行改进后,转至步骤三,直至算法的性能表现达到目标要求。具体地,分别按照表2及表3构建记录表及结果表,分别将步骤四中返回的输入参数记录及结果参数记录存储于所述记录表及所述结果表中以构建结果子模块,接着对所述记录表及所述结果表进行横向、纵向对比便可得出不同算法对关联函数的性能表现。此外,还可以根据对比结果来对算法进行改进,并转至步骤三以实现算法的循环测试优化。表2记录表中的属性名及说明属性名描述编号算法测试记录的序号主函数用于求解的特定算法函数求解函数需要求解的对象函数初始样本用于求解的初始数据集样本min所取样本的最小值样本max所取样本的最大值步长样本变化的最小值允许迭代次数允许迭代计算的最多次数表3结果表中的属性名及说明属性名描述主函数用于求解的特定算法函数求解函数需要求解的对象函数初始样本用于求解的初始数据集样本min所取样本的最小值样本max所取样本的最大值步长样本变化的最小值允许迭代次数允许迭代计算的最大计算迭代次数实际迭代计算的次数坐标x取得最优解时对应的样本集坐标y取得的最优解计算耗时完成一次计算所需时间时间计算完成的时间本发明提供的基于mssql的算法研究与测试方法,所述算法研究与测试方法,其将算法研究测试的数据存储到数据库中,对于数据管理与共享有重要意义,实现了数据快速对比分析以得出算法性能的目标,便于对算法结果性能的优化改进,促进了统一实验测试平台的搭建。本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1