计算机应用考试系统的模拟退火算法研究

论文作者:匿名 论文来源:https://www.bgsywzz.cn/ 发布时间:2021/01/30

  摘要:针对传统计算机应用考试系统在大规模应用时存在的任务并发拥堵问题,提出一种基于并行组合模拟退火算法的分布式计算机应用考试系统,以便提高分发效率和访问容量。该系统采用B/S结构,解决了传统C/S结构适用性较差的问题。设计中将考试的分发服务进行拆分,并使用模拟退火算法对分配方案进行优化,优化过程考虑到了服务器数量、考生数量和位置信息等约束条件。此外,结合遗传算法和模拟退火算法进行组合改进,提高了并行性和收敛速度。算法仿真测试结果表明,提出的改进算法具有更好的快速收敛性能。实际应用结果验证了提出的设计在大规模考试应用中的可行性和运行效率。


  关键词:模拟退火算法;计算机应用考试;分配方案优化;B/S结构;仿真测试;并行性验证


  0引言


  随着计算机应用和网络技术的迅猛发展,世界范围内的广大高校均不断退出各种在线考试系统,无纸化、互联网化的考试系统正成为当前教育领域研究的热点之一[1-2]。现阶段,针对计算机应用的相关课程考试系统已经不少,但是大多数仍旧采用C/S架构,需要在所有的客户端上安装考试软件,并要适用于各种客户端设备,这对软件开发的难度和后期维护工作量都是较大的考验,导致应用成本居高不下[3]。此外,当应用于大规模考试情况时,由于学生数量较多、时间较为集中、服务器资源有限等问题,导致常常发生并发冲突、无法访问和延迟卡顿等不良现象,需要增加软硬件投入来有效改善此问题[4]。近期,文献[5]提出了面向中小学的基于UML的网络分布式考试系统软件,可视化效果突出。文献[6]提出的在线考试系统采用了基于ASP,Access数据库及B/S结构的技术,简化了传统考试系统,提高了工作效率。文献[7]提出一种基于遗传算法的高校在线考试系统,但是仅仅限于试题的多样性组卷。这些设计均无法有效解决大规模应用的并发和效率问题。因此,采用B/S结构设计了分布式考试系统设计框架,给出了系统主要功能模块以及任务流程,并设计基于组合模拟退火算法的计算机应用考试任务分发实现方法,提高了系统的并行性和运行效率,缓解了大规模应用的并发拥堵问题。


  1系统设计


  1.1分布式系统设计框架


  根据计算机应用考试的功能性需求,分布式考试系统应该具有基本的试题库和在线考试功能。试题库应该包括Word,Windows,Excel,PowerPoint,Email和Web网页等主题内容。本文设计的分布式在线考试系统采用B/S结构,解决了传统C/S结构适用性较差的问题,其网络运行结构示意图如图1所示。


  1.2系统主要功能模块以及任务流程


  分布式计算机应用考试系统的配置基础是学生的客户机,数量为n,n∈{1,2,…,N}。所有的客户机均通过互联网连接到系统Web服务器,也就是分布式计算机应用考试系统端。分布式计算机应用考试系统的所有试题文件均保存在数据库服务器中,供Web服务器直接搜索和读取。分布式计算机应用考试系统的功能模块设计如图2所示,包括用户注册、登录、成绩查询、在线考试、系统设置等。其中,系统设置可以对分布式考试的时间、学生信息等数据进行管理。


  本文采用Spring技术[8]搭建分布式计算机应用考试系统的工作流程,任务工作流程如图3所示。学生在登录后首先选择试卷,执行下载和生成试卷文件夹操作。学生答题后进行交卷,系统开始执行评分和保存操作。试卷的分发和收交流程是大规模应用时发生拥堵问题的节点,因此,设计了基于组合模拟退火算法的计算机应用考试任务分发实现方法,以提高系统的并行性和运行效率,减少大规模应用的拥堵现象。


  2基于组合模拟退火算法的计算机应用考试任务分发


  2.1模拟退火算法的原理


  作为一种启发式随机搜索过程,模拟退火算法来源于固体退火原理[9-11]。研究人员通常采用固体退火模拟组合优化问题,在常温时达到基态,算法终止时的当前解即为所得近似最优解。模拟退火算法的计算流程为:


  1)设定初始温度T,产生初始值i,限定解状态S;


  2)在k=1,2,…,L迭代中,重复执行步骤3)~步骤6);


  3)产生新解i′;


  4)根据如下公式评估能量函数ΔE:


  pagenumber_ebook=116,pagenumber_book=108


  式中C(i)表示评估函数。


  5)如果ΔE<0,那么设定i′替换当前解,否则,按照概率设定i′替换当前解;


  6)判断终止条件是否满足,是则迭代终止,输出当前解,否则,进行降温,T逐渐减少,且T→0,然后执行步骤2)。


  2.2组合模拟退火算法


  通过上述模拟退火算法流程分析,可以看出其局部优化能力和并行性较强,但是全局搜索能力较差,导致收敛性不好。而经典的遗传算法把握总体的能力较强,因此,提出将模拟退火算法和遗传算法相结合,在模拟退火算法的迭代操作之前,首先执行遗传算法的选择、交叉和变异过程,也就是在遗传算法的交叉操作后面增加模拟退火的降温操作。组合模拟退火算法的改进流程如图4所示。


  2.3目标函数


  考试分发服务中的分配方案不是一个单目标的优化问题,而应该是一个多目标优化求解问题。因此,本文将其进行拆分并使用组合模拟退火算法进行优化。本文结合权重系数法,考虑到了服务器数量、考生数量和位置信息等约束条件,设计基于组合模拟退火算法的考试任务分发的总目标函数如下:


  pagenumber_ebook=117,pagenumber_book=109


  式中:ω1为服务器数量V1约束条件的权值因子;ω2为考生数量V2约束条件的权值因子;ω3为位置信息V3约束条件的权值因子。其中,服务器数量、考生数量和位置信息等约束条件的计算方式和文献[7]一致。


  3实验结果与分析


  3.1实验参数


  为了验证提出的组合模拟退火算法的有效性,在Matlab仿真环境下进行了模拟实验。本文所有实验的运行环境均为Windows7系统下的Matlab2015b,处理器为IntelⓇCoreTMi5-3210MCPU@2.50GHz,内存为8GB。在本文实验过程中,设置最大迭代次数为2000,交叉概率为0.3,变异概率为0.02,退火初始温度为50℃,退火因子k=0.95。


  3.2仿真结果分析


  将单一模拟退火算法和本文组合模拟退火算法在Matlab仿真环境下,使用简单的二维测试函数进行了对比实验。测试函数为[12]:


  从图5可以看出,本文组合模拟退火算法已成功找出了最优解。从图6可以看出,相比于单一模拟退火算法,本文方法能够较快地找到全局最优解,反映出改进的模拟退火算法的快速收敛性能。


  3.3分布式性能验证


  为了进一步验证基于组合模拟退火算法的考试任务分发系统的运行效率,在集群环境下对系统的执行效率进行了对比。将无并行分发的考试系统和基于组合模拟退火算法的考试系统的运行时间进行比较。统计结果如表1所示,可以看出,随着节点数量的不断增大,获得的加速效果越来越显著。


  表1运行时间对比


  pagenumber_ebook=117,pagenumber_book=109


  从表1可以看出,随着样本文件的增大,两者的运行时间均缓慢上升,但从上升速度方面来看,本文算法优于无并行分发的考试系统。在同等大小样本集下,本文算法相比无并行分发的考试系统,在大规模分布式任务上表现更好。


  3.4系统具体实现


  本文对提出基于组合模拟退火算法的计算机应用考试系统进行了具体实现,在某大型植物园林场景中进行了具体测试。选择“进入在线考试系统”,即可进入在线考试系统的登录界面,选择考试题目开始测试,如图7所示。


  4结语


  本文提出将考试的分发服务进行拆分,并使用模拟退火算法对分配方案进行了优化,针对模拟退火算法存在的缺点,结合遗传算法进行了改进,有利于提高寻优精度和运行速度。此外,结合权重系数法,引入服务器数量、考生数量和位置信息等约束条件,设计了考试分发任务的总目标函数。仿真环境下的函数测试和系统具体实现结果验证了本文提出系统设计的可行性和有效性。但是,在实际应用的过程中,每次考试应用均需要对初始参数进行设置,这在一定程度上限制了其推广效果,后续将针对此问题进行进一步改进。

相关推荐