准备参加五一建模大赛纪实& k6 t" [( C2 Q3 E- M7 a, y9 _
0 D: I4 p2 H# Q5 Q& d( {+ _
小萌新准备参加五一数学建模大赛纪实 ( s* \- p2 ~4 d; q) l v/ U, C I: q" y
2020.4.20; u2 j0 i3 ]9 ?0 P- ^, z: M
2020.4.21 9 P7 m& t; m8 h# W2020.4.22% n! z6 N: D' K! L6 `
本萌新在对数学建模一无所知的情况下,被邀请一起参加数学建模比赛,虽然是个没啥含金量的比赛,但是,对于连高数和线代都没有学完的数学白痴来说,还是有些不切实际。但是,出于对数学建模的好奇心,我还是选择了参加这场十天之后的比赛,不求获奖,只希望可以有所收获。. c% V- G+ z/ X. R7 m& a( P; M
至于为什么要记录这个,一是为了记录一下这几天自己的成长,直观的体现是否能给自己带来帮助,还有就是希望本双非小菜鸡的经历可以给各位带来乐趣吧,或者给犹豫参赛的人一些建议吧。所以本文的写作风格应该是非常逗逼的讲故事,只求某君一笑,技术方面将会另发博客。 : r2 I% S5 n* U2 p ' D+ _* j3 c% R% ^) s7 P目前拥有的技能:8 \1 y0 o8 p0 e2 N% H
* S: O8 W, d. I ^! ?/ |
仅有c语言的基础,对matlab一窍不通' }+ i& K# o) A2 n6 G1 U
& `) O+ x! F0 x9 p( E' Q
数学高数和线代学到一半,对于多变量微积分云里雾里3 d/ Q- {: B5 b; f4 [ K. k$ t: p
' ~) A/ [9 V" ?& c/ b
英文白痴,对于查阅外国文献基本没啥希望( K( W4 u/ ^; z x
5 Z' `! e6 Q! x' _+ ]连数学建模是啥都不是特别清楚6 L1 |) b6 x3 y7 }+ d* i
8 j5 P ?! q# N7 |+ L
文本工作低于平均线以下 5 q$ `4 [; ]7 [: }1 Z3 r. Y 1 b# Q- ~2 Q( f d' F 在接下去的十几天里,就将展开一只不知天高地厚的萌新和两只连人都没见过的学姐的合作了。(坐等打脸), k, d- o! d0 v6 \0 v6 Q
# s* J3 Y t) a2020.4.20 9 t x2 W7 K( q, c% j& ^% d( `& K! {' D C
在今天正式确定加入参赛,争取自己不要拖团队的后腿。在本次比赛中,鉴于两位学姐分别是数学和金融专业的,因此我主要负责进行编程,所以在接下去的几天里,我会主攻matlab编程方向(争取速成),并且阅读往届比赛的论文,从实际入手了解什么是数学建模。 3 n+ J: t( M O: F4 }# I. z 得到了学姐分享的资料,一句话概括,没啥用。。。里面有好几本电子书,讲数学建模和matlab操作的,但是显然现在开始看并没有什么用,这些资料唯一的作用应该就是作为工具书,遇到问题的时候翻阅了。除此之外,还有一些课件和示例程序,同电子书一样,显然现在去看已经来不及了,因此,依旧沦为工具。不过里面的几篇比赛论文还是对现在的我有所帮助的,大概知道了数学建模大赛究竟是要干什么。 ! N ^8 i6 @( Z: S6 p3 z- B 这里是明天的计划:* T; `( y9 G) |; N, H. p
% l; c4 d* Y4 C6 e: X, U5 O看完资料中的论文,对于自己缺少什么知识构建出具体框架2 s1 D# A0 ` F6 F% J5 ~6 u3 h2 c
了解matlab中矩阵的具体操作,并实际操作加深记忆' s/ o$ |, h3 r" u+ I8 j: R
争取尽快阅读《线性代数及其应用》,多学习一些线代知识6 b' f* a0 y1 B2 s9 D6 w8 u
(拖延症晚期患者如是说道) ( p2 Y$ A5 O; K4 N- e# b6 y ! b& F0 u$ D% X2020.4.216 c$ W+ {3 t8 R; k8 u3 v( y/ j
* y9 O2 g) a3 v8 s: n4 _' K
勤快是不可能勤快的,这辈子都不可能勤快的!摸鱼是那么的使人愉快,超喜欢摸鱼的!% E9 I4 w' L* {, q' P
开始看线性代数的特征值和特征向量了,书从第四章开始已经偏向应用了,从实际上来说,以后不一定用得上这些知识,但是,对于阅读文献和理解算法,或者将来往人工智能的方向发展来说,还是有着一定的帮助的。 ) n1 r. k6 q" g# U; o ps. 本人已经发现,这种教科书,即使是国外的,根本不可能对数学建模有什么本质的帮助的! 7 a J u3 a }/ M W" ~ 今天还认真研读了一道17年的真题(就是那种随便在题库中点了一个呢~~),公交车排班问题,是个线性规划问题。然后就开始后悔参加这个比赛了QAQ,这东西怎么这么难啊!我可以说在今天之前我根本没有听过吗!然后随手点了一篇一等奖的论文,啊,是我看不懂的算法,是我没听过的软件,是我膜拜的大佬。 5 T: L7 K, J5 ^1 p1 v! O 原来线性规划还可以matlab函数直接解的嘛。。是我太年轻。。get新知识intlinprog函数,妈妈再也不怕我解线性规划问题啦!(并不)" }1 O' P1 L# l# [
(为什么我开始嫌弃C了,没接触过任何一门高级语言的人如是说道。) ' b8 l/ ~- J% a k, f* A3 H# f+ A 然后还有软件Lingo,考虑到两位学姐。。。肯定还是要我去学。。。因为时间因素,战略性放弃,当然如果发现有刚需的话,还是可以临阵磨枪学一下的。0 P+ n' \* y# T1 c
至于matlab的操作嘛,明天,明天一定。 : ?$ r, I6 z6 l. M# \& y 明天的计划:1 j7 g0 V/ ^0 E" G, O+ F8 b; T
1 E! I2 f( n$ Z: K学习遗传算法相关知识,并了解其应用 f/ r; B) {3 Y, U
分析一道往届真题# `5 u- M5 a8 q% o/ b; A
2020.4.22 8 b, `! K. u; B: P. Q& X+ X8 [0 z
遗传算法,就是拿计算机算力往上堆呗!本质不还是枚举嘛!暴力破解。7 z0 g. p7 a% A. g3 @
但是,能将生物学中的遗传定律与算法结合起来,这种想法也是十分出众的,并且还取得了良好的效果,也算是一次创新吧。(我其实十分欣赏这种可以自己寻求最优解的暴力美学啦,毕竟懒啊) 2 z6 e8 Z/ B& B+ y& x 总的来说,简单的遗传算法并不难实现,但是想要将遗传算法应用于具体的问题的话,还是需要想办法将具体问题数字化,并选择合适的参数,才能用最少的性能得到最优解。 3 Y, {" g( a% `* F 然后又看了17年的另外两道真题,自媒体时代的消息传播问题和宜居城市问题,这两个问题都没有给出任何数据,问题也十分的简单,但这也正是考验参赛者的检索能力和创新思维的地方。之前不记得在哪里看过,乍一看简单的题,实际上是最难的,现在看来确实如此,第一眼看起来,就是抄几篇论文的事情,但是仔细考虑,这样并不会有什么亮点可以让你去获奖,但凭空的创新,比起处理数据和解决问题,难度还是很高的。 6 Z' H% T5 L5 |- [1 N5 s 然后还看了下matlab的操作,我觉得我又可以了!(并不)( S9 s2 \% l( _3 w2 E
看其他论文的代码,我只能说,毫无美感可言啊喂!这代码不配叫做代码!好吧,这是数学建模竞赛,代码不重要,不重要,能实现目的就好。但还是忍不住想吐槽,这种水平的代码,根本不用学吧。。上手直接写就差不多可以应付了。 3 w0 G3 }+ ?9 t5 U4 J4 L; ]- u 明天的计划:; |! `$ x3 A( g2 {3 n8 p" R" c