APP下载

基于MATLAB 的机械优化设计课程改革探索

2014-03-20单建华汪永明谢能刚

关键词:遗传算法编程机械

单建华,汪永明,谢能刚

(安徽工业大学 机械工程学院,安徽 马鞍山234002)

机械优化设计是我校机械类研究生的专业选修课。课程特点是理论性强,公式多且推导过程繁琐,需要极强的数学能力和编程能力。[1]机械类学生数学和计算机基础较弱,导致学生的学习热情不高,对课程普遍有畏难情绪。笔者采用问卷调查,结果表明大部分学生认为课程内容理论性太强,抽象,不易理解,内容枯燥,缺乏直观性和结果可视性。为了提高机械优化设计课程的教学效果及质量,笔者根据多年来的理论和实践教学经验,在分析课程特点基础上,利用MATLAB软件对课程的教学内容、教学手段和考核方式等方面进行改革,[2]使学生把注意力集中在算法基本原理、问题建模、模型求解和结果可视化方面,摆脱繁琐的公式和算法流程,取得良好效果。

一、传统机械优化设计教学特点

机械优化设计教学是一门把最优化技术、计算机技术和机械设计结合起来、融为一体的课程。课程内容极多极难,实践性强,教学重点在于掌握各种优化方法的特点,并用来解决机械设计问题。优化设计问题求解是以数值解法为基础的,利用计算机的各种编程语言进行编程求解所建立的优化设计的数学模型。计算机编程对大部分工科学生来说是非常困难的,在有限的课时内用一般的计算机高级语言编程实现几乎是不可能的。教师和学生疲于优化理论和编程实现算法,在教学课时内几乎不可能完成教学任务,学生难以达到利用优化理论解决实际机械设计问题的水平。

二、教学改革内容

(一)合理安排课程内容,采用可视化教学方法

机械优化设计理论部分讲授内容:1、数学预备知识(如凸函数、泰勒级数展开、等高线、梯度、二次型、共轭等);2、优化设计数学模型和几何解释(重点);3、优化设计基本理论(难点);4、优化解法(无约束、约束线性或非线性规划问题);5、优化设计在工程实践中的某些问题。这部分理论内容着重减小数学理论知识和优化知识内容比重,突出优化算法思想和基础,强调形象化和可视化,这部分占总课时的30%。

理论部分利用MATLAB软件进行数学概念可视化,优化算法原理和流程讲解,最优解和迭代过程可视化,将算法的每步迭代过程实时地演示出来,形象、生动、直观地呈现出算法流程,帮助学生理解并掌握优化算法,加深印象,提高课程的教学质量。优化设计基本理论重点讲解数值计算迭代法的基本思想和迭代格式,这是优化算法的精髓,也是优化算法的基础。笔者采用盲人爬山做形象比喻,盲人每走一步为一个迭代步,拐杖搜索范围即为步长因子,盲人所选最陡方向即为搜索方向。如何确定搜索方向是难点,学生很难理解梯度方向(最陡方向)为最速下降方向,笔者采用单变量、双变量函数,通过MATLAB计算出梯度方向,并画出函数图,让学生直观地感受到梯度方向就是最陡方向,并进一步说明热量就是沿温度场梯度方向传导的,让学生学以致用。迭代法首先采用抛物线求最值进行讲解,因为抛物线学生最熟悉且存在解析解,方便学生理解。通过MATLAB编程把迭代的每一步显示给学生看,让学生直观地观察到迭代法是如何一步一步逼近最优解的。通过选取不同的步长因子让学生观察算法的稳定性。采用多峰函数让学生理解优化算法对初始点的敏感。

实践部分教授内容:(1)MATLAB编程基础;(2)MATLAB优化工具箱介绍。重点介绍七类优化模型:有边界的标量非线性最小化,线性规划,无约束非线性最小化,最大最小化,有约束的非线性最小化,二次规划和多目标达到问题.[3]对每种模型详细介绍函数用法、注意事项、函数返回值、解的合理性等问题,并举例说明函数用法和布置作业让学生自己调用函数,使学生充分掌握,具备利用MATLAB优化工具箱解决工程实际问题的能力。重点针对有边界的标量非线性最小化的模型,该模型原理简单,易于理解。首先简要介绍理论知识,然后结合MATLAB源程序详细介绍算法流程,从而使学生掌握了用MATLAB编程实现优化理论和MATLAB编程技巧得到极大提升,学生反应收获很大。改变算法参数,让学生直观看到最优解对参数的敏感,使学生深刻体会到优化算法中参数的合理设置是难点,很难做到参数对所有实例均适用。这部分占总课时的30%。

(二)采用专题研讨课形式讲解现代优化算法

对近年来出现遗传算法、蚁群算法、粒子群算法和模拟退火算法等方法采用研讨课形式进行教学,这些方法能较好地解决普通算法难以解决的不连续、多峰、高维、具有凹凸性等优化问题。笔者重点介绍其中一种算法,如遗传算法,其他算法要求学生分组自学并在课堂上进行PPT展示。针对遗传算法,笔者首先介绍基本原理,采用MATLAB编程实现,与传统优化算法进行比较,展示遗传算法解决复杂问题的优点。在学生充分理解遗传算法的基础上,针对遗传算法的缺点,如参数设定依靠经验,缺乏通用性和理论指导;早熟现象和运行机理不十分清楚,理论上存在缺陷等,介绍改进算法,如分层遗传算法、CHC算法、自适应遗传算法和混合遗传算法等。重点介绍改进算法思想,是为了克服传统遗传算法哪个缺点进行设计的,为什么能克服这个缺点,改进效果如何等,使学生领会到一个成熟的优化算法从提出到成熟,是需要众多学者多年的艰辛努力才能取得的,这激发了学生立志科研的兴趣,鼓励学生提出自己的改进算法思想的勇气。这部分占总课时的20%。

(三)采用小组主题讨论模式,提高教学效果

学生以5人一组选择一个主题,充分利用互联网和图书馆进行资料查找、阅读和分析,总结整理并做成PPT,小组代表在课堂上限时10分钟讲解,老师和同学可提问,小组成员需回答。通过主题讲解及回答问题,老师可及时了解学生知识掌握程度。主题可以是具体的优化算法、数学基础知识或优化算法解决机械设计问题等。通过这种开放式课堂教学,学生自学,主动学习,查找资料,研究能力得到了锻炼,并且学生在团队合作能力、自我表达能力等方面也得到提高,学生反映良好。这部分占总课时的20%。

(四)改革考核方式,培养学生综合素质

考核不是教学过程的最后阶段和最终目的,可以分阶段贯穿于整个教学过程,并且考核形式应该多样化,通过不同形式的考核,侧重了解学生不同方面的能力。理论强、公式多是机械优化设计课程难点所在。传统考试着眼于考核学生套用公式的能力和计算能力,学生盲目追求高分只能采取死记硬背的方法,难以领会优化算法精髓,达不到利用优化算法解决实际问题的能力。因此,考试内容上既要考核机械优化设计理论知识,也要考核机械优化设计应用程序编制能力和解决实际工程问题能力。我们改变原纯笔试形式,采取笔试与平时成绩(如出勤率,大作业,优化算法解决工程问题,小组报告,阅读文献、算法改进等)相结合的方法给出综合成绩。

三、教学改革成果反馈统计

为了解本课程教学改革的效果,我们对学生进行了关于“机械优化设计课程教学改革”效果反馈的调查,收集学生意见和建议。从调查情况看,学生基本认可采用MATLAB软件进行的课程教学改革,认为改革降低了学习难度,激发了学习热情,增强了解决实际问题的能力和更深入了解了MATLAB软件的功能,认为教学改革很有必要。学生还建议加强实例教学,加强编程指导和出本理论和实践结合的教材。这些建议为下一步完善教学改革提供了思路。

四、结语

本课程的教学改革,着重改变了原有教学方法,突出了应用MATLAB软件解决机械优化实例的能力,精简了大量具体而微的优化理论知识。教学重点放在数学模型的建立,优化方法的选择,以及各种优化函数的使用上,培养了学生解决实际问题的工程实践能力。学生的学习兴趣大大提高,分析问题、解决问题的能力得到增强。

[1]孙靖民,马履中,柯尊忠,等.机械优化设计[M].北京:机械工业出版社,2003.

[2]温建明,马继杰,程光明.基于 MATLAB的机械优化设计课程数字化教学改革[J].吉林省教育学院学报,2011(5):81-82.

[3]李旻,李静,饶雄新,等.MATLAB优化工具箱在机械优化设计教学中的应用[J].装备制造技术,2010(3):156-158.

猜你喜欢

遗传算法编程机械
编程,是一种态度
元征X-431实测:奔驰发动机编程
编程小能手
调试机械臂
纺织机上诞生的编程
简单机械
一种基于遗传算法的聚类分析方法在DNA序列比较中的应用
基于遗传算法和LS-SVM的财务危机预测
软件发布规划的遗传算法实现与解释
按摩机械臂