本科数学建模时候的一些零碎总结(未整理)

 

一、建模方面

经过实践过后,已经感受到了自己存在了不少的缺点。之前解决问题总是想找到完美的方案,考虑各种因素以致于无法进行下去,在队友老师的点拨和自我反省下,这种倾向已有所转变,不过还是存在。

掌握的建模方法还不够全,作为主建模队员,思路打不开是一件很恼火的事情;此外,总觉得自己的建模思路很常规没有特色,可能是平时的积累还不够或者是平时想的不多,要在暑期好好想想,多多积累来改变现状。只有打开思路才能建出好的模型。

要挖掘队友的建模思路和想法。想法越多越好,错方向有可能会擦出思想的火花。

 

二、写作方面

论文写作是数学建模整个环节非常重要的部分,务必要写好。

到目前为止,还没有形成一个较好的写作风格,各部分的写作水平有待提高,尤其是摘要和问题分析的写作部分,还存在不少问题。

这与平时读和看的优秀论文数量和质量有关,而且要加强对论文的揣摩,每看一篇优秀论文,都应该总结出写作的优秀之处以及论文中的小技巧。

论文的写作强调逻辑性,怎样写得有逻辑是一个值得注意的问题。

 

三、编程方面

其实从编程角度来说,很少去实际编程解决一个模型,当然LINGO除外,更多的是用MATALB进行数据处理。这一点是不够的,应该要花时间去实现一些常见算法和一些实际问题,最好采用才、MATLAB编程实现。

对各种算法缺乏一个系统化的学习。

 


MATLAB:

①  :不要用i、j作为变量   用ii、jj或者k

(因为i,j代表虚数单位,尽量避开。好纠错)

②  少用循环,,。。。那是c的思想。。。

利用矩阵思想代替循环。。。。发挥MATLAB作用

③  强烈建议大家在命名自己的函数名更加准确应该说m文件名时在名称前面加上 my 等个人专用标识即假如你要把你的函数命名为conv则最好写成 myConv否则容易与matlab自带的函数m文件名字重复而导致“Attempt to execute SCRIPT conv as a function”的错误当你碰到这个错误时可以在命令窗口中输入 which conv all 来看看到底有否重复命名了该函数有的话建议把自己命名的文件改名保留 matlab 自带的文件。此外命名文件名时必须符合标识符的规范即不能以数字开头等等否则会出现莫名其妙的错误

④  在条件判断中y==0, a-b==0这类语句应该尽量避免使用除非你可以保证y、a、b在整个计算过程中是整数否则两个浮点数相减、或者一个浮点数不可能完全等于0。因此对浮点数进行条件判断时最好采用 abs(a-b) <= 1e-005 这种方式来进行等值比较

  ⑤  调试程序过程中,程序运行到断点后,将鼠标移到一个变量名上,将会弹出一个方框,显示该变量的内容。不在调试状态下,怎么使用这个功能呢?在File菜单中打开设置选项(Preferences),选择 Editor/Debugger -> Display,在 "General Display Options"  中选择 "Enable datatips in Edit Mode "



貌似对各个问题都有建模思路。但有个可能造成非常严重后果的不足:就是缺乏对整个问题的“把握”和分析。应该在提出建模方向之前进行整体把握,关键词分析,疑难点分析等等。最后才是建模方向啊。


在建模方向描述中,既然认定为优化模型,那么决策是什么?主要约束是什么?这些都要先思考一下。


经验,教训,注意事项、积累起来

第一轮集训目的:
1、配合是成功的关键
2、队长的统筹协调能力
3、时间节点,
选题时间(下午5、6点之前都可以;选择之前要写比较正式的前期报告;;;;
开始写作的时间:第二天中午开始或第二天早上开始,写作之前拟好写作提纲;;
初稿的完成(最重要)时间,比较稳妥的是第三天下午六点之前(最恰当),越早越有利)

前期分析报告

从效果出发:第一天工作的成果、当前分析汇总
1、明确干什么
2、对条件和数据进行分析、包括疑点难点的分析处理、
3、关键词联想
4、对每一个问题具体分析和处理;列出初步的建模方向、思路、步骤,计划得到什么样的结果
5、后期工作,如附录、改进的方向;对现在想到的模型改进(如果时间充足的话)

可能出彩之处:
也可以思考怎样让论文出彩、写的非常清晰、结构、排版、每段话不超过5-7行
工作扎实(前提是该做的都做了):对某项工作做的有特色、突出;;;说服力!!
模型非常好、思路很奇特

写作提纲
条目式目录;每段改写什么,哪些地方添加什么表格或什么图片(灵感要记录、什么样的呈现方式),每个队员要对比较好的写作呈现的想法。模型建立求解的二级标题前要加一段承前启后或者说是概要式的话、或者逻辑思路(简单易懂),原则:让评委看出你的写作思路。不要一级标题下直接呈现二级标题


第一轮集训之后的安排

一、总结
认识、总结、提高(包括自己和全队的)、经验、教训、

第二轮集训之前
比正式提前大约一周

假设是比较容易得分和失分的地方,关键性假设一定要写上去,比较重要的假设或者不易懂得假设要做合理性说明
问题分析的第一段要简明扼要的写一段,后分写
模型的建立与求解:一二级标题之间的那段话;段落的组织;
合理使用小标题

引用参考文献最好在正文中用上标标出

数据处理:有可能有错误数据,要进行排除;有分数;有可能是故意给出的;要写出纠错过称;
数据处理是第四个可能出彩的地方

模型结果检验、分析:可有双模型检验;模型的稳定性(看优秀论文时候进行总结、整理)、
建模思路:没办法时可以进行列举;机理

思路打不开:多读、反复读、研读、狠读
前期分析阶段不要过早的查阅阅读文献以免打不开思路  可以查背景性的知识,不千万要过早查看模型相关的文献





若结论太长,则给出结论特征(而不是很多数据)!


①  一定不要自己敲空格来达到对齐的目的

②  绘图。统计图建议使用Execel生成,框图和流程图建议使用Visio画

③  应该养成看文章的同时就整理参考文献的习惯。



景屌的

总体总结与个人描述:

经过了一年的数学建模的学习,自己对数学建模的基本方法有了一个比较具体的认识,包括有哪些知识,哪些板块,需要掌握什么样的能力。我是主要负责编程,辅助建模和写作。由于之前参加过一段时间的ACM竞赛,再加之较长时间,对数学软件的应用,编程基础较好,但是也存在不足。现在我就针对三个方面单独进行分析:

 

建模方面:

现在比较熟悉的板块有:(非)线性优化模型,人口预测模型,随机模拟模型,基本图论模型,简单的统计模型。

基本了解的板块有:动态规划,层次分析法,马氏链模型,基本离散模型,复杂统计原理及模型,微分积分。

几乎没有概念的板块:博弈论模型,经济学模型,时间序列模型,评价模型。

从这次集训中我也发现了知识运用的短板,比如针对问题往往就只能想到自己计较熟练的板块,而对于自己不熟悉的板块的运用就显得力不从心。比如知道出城区封锁的问题可以使用二分图匹配模型来求解,但是由于自己对于这方面的知识没有一个比较系统的掌握,自己也显得不是特别有信心,最终还是只能用优化分配模型求解,我感觉这样最后可能导致思路无法打开的后果。而且在模型建立的严密性上还有待提高。

 

编程方面:

算法方面:能够根据题目设计合理的算法,但是对于正确性的检方法的积累还需要加强。现在对于智能算法(模拟退火,蚁群算法,遗传算法,神经网络等)还完全不会,有些算法虽然知道原理,但是还是无法编程实现(比如floyd,匈牙利算法,大规模动态规划)。

Matlab:作图命令不是太熟练,有时无法快速做出符合要求的图,数值分析处理还不是太熟练。尚待加强,工具箱的掌握也比较有限。

LINGO:这个软甲已经掌握的比较熟练,基本上能求解任何模型,但是在这次比赛中仍然暴露出对于集合下标的错误使用的问题,现在还需要继续实践。

Spss:该计软件之前做过系统的学习,现在基本能做基本的统计方法的分析,需要进一步熟练。

VC++:C++语言使用比较熟练,可以用其设计一些数据结构算法,目前的问题就是浮点数的操作经常出问题,需要耐心解决。在实际建模中不常使用这个软件,仅仅用于对matlab的辅助。

在本次集训中,暴露出比较严重的数据处理的不足,还有画图,这些必须要提高。

 

写作方面:

现在对于写作的各个部分已经有了一个比较系统的认识,本队也自己维护了写作参考准则,对写作实施了严密的规范。但是由于现在练习的问题还比较少,所以问题暴露地还不是特别完全,所以还需要在日后不断加以完善。除了一些细节以外,写作逻辑和思路说明还要加强,增强写作的可读性。摘要和问题分析的写作还需要提高。初步制定方法是多读多总结论文。



李尧的


个人总结

对于建模来说,由于没有特别的按系统学习,所以并没有自己的一套完整的理论学习体系,一般都是在学习和事件中遇到不明白的问题,在对与相关知识进行进一步了解学习。所以现在就建模、编程、写作3个方面对自身进行一定审视:

一、建模:                                            

1、对于模型分类有所了解,在对问题进行分析后一般能够根据所求问题目标,对问题模型有一个大致的定位。

2、 对于优化模型接触较多。在专业课上这也是张勇老师的讲课重点。

3、 对于随机模拟如蒙特卡洛法使用较多。事实上,由于数学实验课程所要求解问题有许多随机模拟进行模糊计算的问题。但由于其不精确性,一般不太喜欢用随机模拟方法建模。不过在求解结束的模型分析与评价方面可以就问题进行模拟以佐证问题求解。

4、 对于数值分析的插值、拟合模型有过学习,而这也算统计模型的一种。对于数据处理还算了解。

5、对于模型虽有了解,但了解不深。在建模过程中往往拥有了模型的方向,但在细节问题上容易受阻。

6、由于所学的有些杂,而且不算精,所以在对于模型选择上容易走偏,方向错误,直到求解时受阻方知。

二、编程:

1、对于一些经典算法的思想与求解有所了解,但对于这些        算法没有成体系的模板,一般只是依靠这些算法思想对具体模型编写程序。

2、对于求解模型的数值解方面有所学习,在计算方法课程中也对于编程实现有过实践。一般的规模较大的线性非线性方程组求根,以及常微分方程组的数值解能够解决。

3、对于编程的工具较常用的是MATLAB,虽然C语言也会使用,但是至今还未曾在建模过程中使用过C语言求解。对于   LINGO不太了解,不过在假期会对LINGO与SPSS进行进一步了解学习。

4、虽然对于图论没有学习,但在其他课程中,对于类此最短路,最小生成树,以及深度、广度优先搜索的思想学习过。不过依然如同上述问题,没有算法模板,习惯针对具体问题与算法思想进行编程。

三、写作:

1、虽然对写作规则有些了解,但对与优秀论文的阅读较少,在细节上把握较差。

2、在写模型建立的时候,习惯性的将思想以文字形式写出,而非数学语言。对于数学语言的不善使用这点必须注意并改正。

3、摘要的概括是十分重要的,但是我对于摘要概括的能力如何我自己也不甚了解。在以往写完论文直接交上去,也没有太过在意,而在最近的一次训练中,又由于时间不过,摘要仓促而行,甚至未曾通读。所以对于自己能否写好摘要自己也存疑。



第一轮训练总结

第一轮训练确实暴露了很多的问题,甚至最后我们还拆分了队友,以前可能在校赛后期末考试繁忙,大家联系减少,某位队友的努力程度和定位发生错误,导致后来大家交流无法正常进行,对校内赛盲目乐观,缺乏客观总结,在这次题目中出现很多问题,导致论文结果不太理想,现在我们组织了新队友,决定调整定位,努力培养能力,形成队内规范,制定严格的管理组织计划,在私下加强交流,我相信,通过努力我们一定能有很大提高。

 

本次训练具体总结如下:

写作

1、许多地方还没有形成规范。

2、语言表述有些不清口语化,还不够言简意赅

3、对图表的使用还不够熟练(不仅是用来呈现结果,还有用来呈现一些结构关系、建模思想等方面)

4、在问题分析中对“问题”没有阐明说出来,而且问题间的关系没有表现的很清楚。

5、一级标题格式不规范

6、一二级标题间缺少承上启下的段落

7、word高级版本中发现不了问题放在word2003可能就发现问题了

8、前期报告不太会写

9、写作可读性还不太强

 

建模

1、要打开思路,不能思路单一

2、对符号的使用有待提升,不能每次没有规则的乱取

3、要有所有人一起分析讨论,继而得到最终建模方向和思路

4、要充分做好问题分析,不然在接下来的工作会出现很多意想不到的问题

5、模型的检验非常重要,要重视,能够将模型是否正确检验出来,发现致命错误

6、基础知识还存在短板,限制了思路。

 

编程

1、形成规范,尤其是变量的命名要能见名知意

2、在这次模拟中,对lingo下标(成员)的误解耽误了整整一天,暴露了问题

3、程序不能太长,对于数据的读取应该使用文件操作,不能粘贴大量数据

 

后话:

    这次集训后,我们深深的感觉到建模要发挥所有队员的思想、长处才能搞好,每个队员对于数学建模的各方面都要很熟悉才行,分工不用太明显,这样才不会限制大家的思路和所能做的工作,在下来要制定规范,让大家的力量更集中,并且私下交流十分重要,要不定期地交流想法。作为队长,我这次一定会制定非常详细合理的计划,让全队更好发展。

 


  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值