单位文秘网 2021-07-20 08:06:43 点击: 次
摘要:可行域是线性规划(LP)求解算法中一个重要概念,不论是LP之参数规划,还是灵敏度分析,其中均有它的影子。但随着维数的增加,对可行域的理解亦愈发困难。该文以给定实例为基础,根据LP模型之不同部位参数的变化,通过仿真来模拟可行域的动态演变过程,对进一步理解可行域的基本概念有参考作用。
关键词:线性规划;可行域;拓朴结构;演变;仿真
中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2013)17-4107-03
如今,作为运筹学理论重要分支的线性规划(Linear Programming,LP),其应用范围愈发广泛。LP之求解算法中涉及到的可行域变化也一直是理解和应用算法的关键,在教学中理解起来相对困难。
可行域在几何学中称之为单纯形,当目标函数仅有两个未知变量时,可行域对应二维平面直角坐标系中的凸多边形,随着未知变量个数的增加,LP可行域亦可随之推广到多维空间,当然,随着维数的增加,一般对求解过程的理解亦更加困难。为了更好地理解LP模型之各参数的在发生变化时,对LP可行域的影响情况,笔者基于FLASH技术,以两个未知变量的LP模型为例,在二维平面上分析并模拟了LP可行域拓朴结构动态演变过程,以企更形象直观地展示教学内容,使学生对相关知识的理解更轻松透彻。
1 开发工具与技术路线
目前流行的多媒体开发工具相对较多,但以FLASH、PowerPoint和Authorware最为常见。FLASH的基本功能就是矢量动画制作,因此在动画处理方面优势明显。PowerPoint提供了一些动画样式,但灵活性较差,交互性弱。Authorware的动画效果虽相对灵活,但样式很有限,操作不便。FLASH Player的矢量动画及时简洁,可做到无级放大,并保持画面的质量和效果,有助于细节的处理。而PowerPoint、AuthorWare常用位图格式,当图片放大超过原始尺寸时,无法保证图像质量。众所周知,互动总是一些优质课件的基本要求,因FLASH支持专业性的ActionScript编程机制,故交互功能强大。利用FLASH的脚本编程技术即可轻松实现相对独特的交互功能,比如下拉菜单、数据库操作等。当然,FLASH配置的库资源里,配有大量的图片、声音、动画、视频等素材,不仅管理方便,而且应用灵活。
总之,FLASH被广泛地应用于广告制作、动画短片、网页设计、游戏等诸多领域是有道理的,何况它的动画文件体积小、便于传播、成本低廉,基于上述考虑,笔者才考虑选择FLASH作为仿真的开发工具。
2 动态仿真的设计思路
首先,要对展示内容所涉及的数学知识有一定理解,诸如相关的数学概念、解析步骤和方法等,如此才能对要展示的动态过程理解到位。只有明白理论上“怎么变化”,才能在屏幕上把它展现出来。
其次,在已掌握的FLASH制作技能的基础上,把图纸上的模型转化为自己能操作的模型,这样就能把已理解的变化过程外化成FLASH上能展现的变化过程,这是基本思路。
本课件的主要功能就是要演示出动态仿真的效果,并且能随着使用者的意愿而改变演示内容,而且还要有相应的模型解释,因此就要制作出界面布置合理美观,演示的选择分明、齐全,模型注释出现恰当的界面。对于演示区域,需要留出较大面积,方便不同变化的展示,且要能让人知道这是主要部分,为此就必须设计出变化过程鲜明,颜色区分明显,线条清晰的演示部分。
对于演示的选择,采用能供人主动选择的方式的设计,利用按钮就能实现,不同内容的演示按钮之间要用一定的文字注释和颜色区分,这样就能让人明白哪些按钮是演示同一个变化。
另外,对于模型解释部分,需要配合演示部分一起进行,因为动态演示是采用一个具体的例子,所以相应的模型也得是此例子的实际模型,文字解释也必须跟上,在解释过程中也应指明是哪些参数在变化才导致的此动态演示的发生。
总之,界面视觉效果要简洁、简单、直观,使用起来容易,最终的目的是为了突出动态演示的主体地位,能达到使人一目了然的效果。作品的主界面设计如图4所示。
2.1 元件的选择
对于仿真内容,需用到影片剪辑元件和按钮元件。影片剪辑元件能使用Actionscript脚本编程语言实现调用和编辑。影片剪辑元件相当于一个打包好的整体,在编写代码时,能利用已有的调用函数方便地完成其它影片剪辑元件的调用,这样能实现一定的交互功能,同时也方便修改。按钮元件能实现场景的转换,播放的行止,同样,和Actionscript配合能实现其功能。
2.2 坐标系和实例模型的创建
因为仿真涉及到平面直角坐标系中LP可行域,以及目标函数簇变化等过程,所以,需创建基本的坐标系和实例模型。可将平面直角坐标系创建在一个图层中,为了描述精准,需在网格的辅助下制作。实例模型在平面直角坐标系中占据第一象限,采用由多条直线围成的凸多边形来表示,变化过程可描述为目标函数对应一条直线的运动或约束条件对应的多条直线的同时运动,所以,坐标系需要由多个图层来构建,如此才能实现上述动态变化效果。
2.3 动态演变技术
为了实现动态的演变过程,当然可以使用FLASH自身已有的补间动画、传统补间技术等,甚至还可以在帧与帧之间,实现直线的旋转点不变的旋转、旋转点变化的旋转平移等,同时,为了对应可行域与LP模型之间的对应关系,还需要在可行域变化之同时考虑文字的切换和闪烁等视觉效果。
2.4 基本控制及其代码
该仿真之控制功能主要涉及元件的调用播放、停止,场景的切换等。为了操作上的简捷和方便,这里采用按钮的形式来实现之。在按钮元件中添加已有的代码片段和调用函数来实现上述功能,具体可以实现鼠标经过、离开时的文字解释说明出现与消失的效果,场景跳转,演示的开始与结束及演示的切换。
涉及到的代码片段主要有:.addEventListener(MouseEvent.CLICK)、.addEventListener(MouseEvent.MOUSE_OVER)、.addEventListener(MouseEvent.MOUSE_OUT)等。
3 动态演变的仿真实现
3.1元件的设计
影片剪辑元件包括动态演示的影片剪辑和文字解释的影片剪辑。动态演示的影片剪辑需要设计坐标图层、Action代码图层、直线图层、文字图层、颜色图层、动直线图层。
坐标图层设计用来固定显示整个演示过程的基础,坐标的设计需要网格的辅助才能实现,设计力求精准和清晰。Action代码图层的作用是用来控制动态演示的影片剪辑的播放起止和进度,在第一帧和最后一帧中添加关键帧,并在“动作”代码面板中添加代码stop(),以配合gotoAndPlay()和gotoAndStop(),实现整个动态演示的影片剪辑调用。
直线图层用来勾勒可行域。文字图层中制作模型中需要的注释,字体要求美观,颜色舒适,大小合适。颜色图层是用来区分可行域和非可行域的。动直线图层中,直线的平移、旋转需要在不同关键帧之间建立传统补间就能实现。文字解释的影片剪辑制作较简单,只需在一帧中添加一个文本框,文本框中写上需要的注释,并把这一帧置为第二帧,第一帧写入stop()。
3.2代码的编写
在控制操作中,当然需要给按钮添加相应的代码,主要涉及.addEventListener(MouseEvent.CLICK),其作用是在单击此指定的元件实例时,执行自己在其中添加的自定义代码。控制按扭之关键代码如图1所示,其中部分参数元件代码片段如图2所示。
上述代码是一个按钮所包含的代码,描述当鼠标移至此按钮处并单击时,响应事件为除指定影片剪辑外停播其它所有影片剪辑,而播放指定的影片剪辑。其中gotoAndPlay()和gotoAndStop()承担跳转播放和跳转停止等功能,参数指定跳转目的帧。因Actionscript3.0是完全面向对象的编程语言,所以,语句都具有集成属性和方法于一体的对象之特点,应用相对方便。
3.3界面设计
界面设计力求清晰简单,易于操作,前面适当增加相关知识的介绍等内容,以尽量少的文字反映作品的主题,简化视觉冲击。主界面展示LP模型之外,要求布局设计合理,信息容量大,易理解和使用,层次感强,并适当考虑文字解释。图4显示了不同参数演变时的界面状态。
4 结束语
该作品的展示中也介绍了运筹学的线性规划的概念、定义、LP标准模型等内容。动态演示过程中,可有选择地,分别演示实例模型的价值向量参数规划、资源列向量变化、目标函数价值系数变化和资源向量参数规划的拓扑结构的变化。同时,在变化过程中,还指示出了与变化过程息息相关的参数及文字解释。
该作品图文声像并茂,不仅能激发学生的学习兴趣,调动学生联想,还能扩大认知广度和深度。当然,该文亦存在不足,若能适当考虑三维空间的可行域变换情况,效果无疑更为理想,但因水平所限和教学需要等情况,只好从略。敬请广大读者批评指正。
参考文献:
[1] 钱颂迪.运筹学[M].北京:清华大学出版,1993.
[2] 曹迎槐.军事运筹学[M].北京:国防工业出版社,2013.
[3] 许创杰,曹迎槐.军事运筹学[M].北京:国防大学出版,1999.
[4] 曹迎槐.参数规划几何含义之分析[C].第十一届军事系统工程年会,2001.
[5] 徐光辉.运筹学基础手册[M].北京:科学出版社,1999.
[6] 曹迎槐.线性规划可行域拓扑结构动态演变分析[C].中国运筹与学者大会,2002.
(责任编辑:单位文秘网) )地址:https://www.kgf8887.com/show-180-67400-1.html
上一篇:渐进调试的科学
下一篇:经济应用数学教学研究
版权声明:
本站由单位文秘网原创策划制作,欢迎订阅或转载,但请注明出处。违者必究。单位文秘网独家运营 版权所有 未经许可不得转载使用