本学年在课余,投入时间和精力最多的地方是准备数学建模竞赛。这里主要对暑期数学建模的学习做一个简单的总结。
数学建模是用一切可以利用的数学理论建立解决一个实际问题的模型,今年来,由于题目更趋复杂,数据量更大,对数学模型的解法也成为了数学建模比赛过程中的重要过程和可以展现亮点的地方。尤其是在美赛加入了大数据类型的问题之后,算法的创新性和合理性显得更加重要。作为队伍中编程的队员,对一些解法和算法要有基本的了解。下面对各类问题的解决方法,就老师的介绍内容和假期中几次训练的实际情况结合来做一个简单的归纳总结。
优化问题是常见的一类也是很经典的一类问题,基本每届都会有,可能与其他问题结合,比如2018年国赛的消防服隔热问题就是一道融合了偏微分方程的多目标优化问题。这类问题在以前一般首先要读懂题意,作合理地假设和简化后,确定优化目标和约束条件,用数学表达式表达清晰之后,可以直接用lingo软件求解。但是今年来随着问题复杂度提升,一些问题的变量可能远远大于100,导致lingo求解会非常缓慢,一些较复杂的优化模型可能用lingo求解在编写代码时非常困难。对于这种情况,解决方法是考虑用启发式算法。启发式算法的原理简单来说就是先随机给定优化系统一个解,经过某些方法,让这个解在多次迭代中可以向问题的最优解逐步逼近。这种方法的好处是便于实现,速度较快,缺点也很显著,就是很容易陷入局部最优,常常需要运行多次找到最好的一个结果。而且这个结果准确率难以评估。启发式算法虽然只能得到一个近似最优解,但实际情况往往也只需要一个近似最优解。启发式算法的迭代方法就涉及到一些所谓的群智能算法。常用的有遗传算法,粒子群算法,蚁群算法鱼群算法等,其特点都是模仿自然界中动物的行为,通过模仿群体特征对算法的解进行自适应优化。遗传算法是运用最为广泛的算法,其优点是便于改进,随机性较强,不易陷入局部最优。粒子群算法是模拟鸟群觅食行为,结合个体最优和群体最优对整个粒子群的位置作逐步优化。其特点是收敛速度快,缺点是比较容易陷入局部最优。也有将以上两种算法结合起来的算法,叫做混合粒子群算法,其原理是在每次鸟群位置更新的同时进行一次交叉变异操作,此算法综合了以上两种算法的优势,降低了一般粒子群算法陷入局部最优情况的可能,优化效果一般优于遗传算法。此外蚁群算法在TSP问题中相比其他群智能算法,往往效果更好。
统计问题也是一类经典问题,现在比较常见的问题是给出一系列时间序列数据,通过分析数据,建立相关模型进行预测和评价。分析时间序列数据常用的方法有回归,ARMA时间序列模型,灰色模型、神经网络等方法。如果数据量较少,通常使用灰色模型或回归进行数据拟合和预测。如果数据量较大,可以采用神经网络或ARMA模型。此类问题解法比较固定,考虑到近年建模比赛比较强调创新性,出现这种题目想要出彩比较困难。可能需要对数据作比较充分的利用和分析。
综合评价问题的解法同样较为固定,通常需要建立评价指标体系,依据体系查找数据,再根据模型得到评价结果。较为常用的评价方法有TOPSIS法,熵权法,包络法等,需要结合不同情况选用。
比较新的题型是大数据问题以及图像识别问题。大数据问题最为常见的是预测和模式识别问题。可能会需要根据所给的研究对象自行确定个体的各项指标,,也就是机器学习中的特征提取。如果出现这类问题,特征提取的新颖性和合理性,将是模型好坏的重要评价标准,因为机器学习的建模过程大同小异。
图像识别问题可能相对来说是最为陌生的一类,个人对此类问题也不是很了解,可能要用各类软件对图像进行数字化处理,或分类,或进行三维重建等较复杂和专业的操作,此类问题可能会融合人工智能等技术,对一般的建模队员来说要求较高,选的人应该也不会很多。
总之还是需要在遇到具体问题时,找到比较适用的同时自己比较熟悉的解决方法,只有方向选好了才可能交上一份比较好的解答。这次培训一共做了八道题,在两个月里训练量还是很大的,虽然积累了一些经验,还是需要总结思考才能变为有用的知识技能。