天天看点

数模系列:入门+进阶+国赛+美赛+其他数模系列:入门+进阶+国赛+美赛+其他(待更新中)一、数模入门二、进阶三、国赛四、美赛五、其他总结

数模系列:入门+进阶+国赛+美赛+其他(待更新中)

数模竞赛经验,成绩为国二\省一\o奖\H奖,用博客给自己的数模做一个总结。通篇为个人理解,主要做大数据题目如有不当之处欢迎在评论区或者邮箱探讨。

文章目录

  • 数模系列:入门+进阶+国赛+美赛+其他(待更新中)
  • 一、数模入门
    • 1.数模是什么
    • 2.入门级知识储备
  • 二、进阶
    • 1.分析
    • 2.通用建模方法
    • 3.例子
  • 三、国赛
    • 1.资料预备
    • 2.题目分析解读
    • 3.优秀模型分析
    • 4.比赛准备与安排
  • 四、美赛
    • 1.资料预备
    • 2.题目分析解读
    • 3.优秀模型分析
    • 4.比赛准备与安排
  • 五、其他
  • 总结

一、数模入门

本章以下内容主要面向零基础和有一定基础的数模同学

1.数模是什么

数学建模:数模是用对实际问题做适当简化抽象,用数学方法模拟、求解、分析。

求解一道数模题时,一般的,我们需要提炼题目的关键词和隐含信息,查阅资料加深对于题目背景和题目问题的认识,量化条件,抽象问题,求解分析,验证讨论。在这个过程中,建模人的分析、抽象、推导、创新等多种能力都发挥各自的作用。而对于入门者,抽象量化能力的强化是最迫切的需求。

抽象量化,狭义上指的是:

1.方程、不等式、图、向量机、决策树、自动机等有解空间或者多个离散解的数学方式表达问题的求解和条件;

2.用变量、向量、含有信息的矩阵、状态、节点、集合、元胞、坐标、进过函数映射的y等方法抽象欲求解和欲表达的量;

3.用数学化或者符合数学思想的方法剥离题目来构建模型。

抽象量化的一般方法是结合理解让需要被抽象的对象和已知的数学对象“对号入座”。首先去捕捉对象的特点、条件、约束,尽量概括成具有数学性的话或者符号公式,接着列举符合的数学对象,根据提炼的东西来筛选和修改已选数学对象。

举个例子,如何用抽象量化的方法描述“栈”?首先分析栈的特点:1.有存储元素的能力2.读出时优先读出后写入的元素。

根据第一点,我们想到图、向量、树、矩阵、集合是符合的。接着我们提炼信息:读出元素优先最新写入的元素。从这一点我们抓到关键变量“写入时间的先后”,令元素在数据结构中排列是遵循写入时间的先后的正序,并且在写操作时我们优先修改最后一位元素,这种特征下我们可以排除集合和矩阵,考虑用图的节点抽象元素,让单向图中的节点按照写入顺序生成子节点来写入新元素;当然按照写入顺序排序的向量也是同理。

数模系列:入门+进阶+国赛+美赛+其他数模系列:入门+进阶+国赛+美赛+其他(待更新中)一、数模入门二、进阶三、国赛四、美赛五、其他总结

概括的说:

一、变量设置方面:决策(是否xxx)往往可以抽象为布尔型的变量,数量和价格、距离等可以计算对象往往可以抽象为方程或者不等式中的未知量x,而时间、总价格、效率、总距离、统计量(均值方差协方差)往往作为min或者max的修饰对象,需要用其他参数和变量写成函数格式。

二、模型搭建方面:选址、传播、设置站点或岗哨、建设xx服务类设施的题目优先考虑网络图,需要方案的问题可以在目标规划求解的基础上构建自己的评价指标,涉及服务和被服务关系时排队论往往不可或缺、预测方法固定的有回归、灰度、马尔科夫、时间序列。在有数据、需要探究其关系或者做出决策时,回归和决策树、贝叶斯概率、聚类是主要手段。在传统的模型不适用的情况下,可以查询相关文章寻找特殊的量化公式或者模型,我们只需要抓住一些关键信息量化新的指标来优化和完善模型,就能起到事半功倍的效果。

数模系列:入门+进阶+国赛+美赛+其他数模系列:入门+进阶+国赛+美赛+其他(待更新中)一、数模入门二、进阶三、国赛四、美赛五、其他总结

2.入门级知识储备

常用的模型:

规划类:线性规划、非线性规划、动态规划、多目标优化模型
模拟类:线性回归、多元线性回归、BOX-COX变换、残差分析
预测类:时间序列、灰度、logistics、SEIR、微分差分方程、马尔科夫链
权重确定类:AHP、主成分分析、因子分析法、熵权法、模糊评价法
其他常用类:图、排队论、社会力模型、决策树、博弈论
           

常用的方法:

蒙特卡洛法、Dijkstra、Floyd、穷举法、元胞自动机
           

常用的学习思路:

先学习模型的公式,再了解模型的使用情境、可应用的问题类型,最后将公式推
导和原理推导手动完成一遍。
           

常见的子问题:

在各类数模题中往往有与如下问题有相似的类型的子问题,如果能对下列问题有一套甚至几套建模方法,个人认为已经可以解决70%+的数模问题。

1.已知x1,x2,x3,...,单位盈利为w1,w2,w3,...,多个目的地与起点的距离是d1,d2,d3,...,对应的单位距离的运费为z1,z2,z3,...,试求一个盈利最大运费最小的方案。
2.已知路口的车流流入量lamdba,红绿灯n秒且忽略黄灯,在车流量稳定的情况下试分析车辆在路口的平均等待时间。
3.结合第a学期b门课程的成绩,评估某年级某院某班级的每个学生的学习能力。
4.结合历年来五一长假期间西安机场的航班情况,试预测今年五一期间机场在何时达到客流量的高峰,客流量大致为多少。
5.TSP问题。
6.试画出各种数据已知的气球在穿越n层风速为vi(i=1,2,3,...,n)的气流层时的轨迹。
7.试给出方案确定学校应该新增座椅的数量和位置,学校地形、椅子成本已知。
8.商场拟定根据历年来顾客的购买数据进行分析,调整促销商品的种类和价格,试给出方案。
9.请根据雪崩的物理原理建立模型模拟雪崩随时间的变化。
10.根据每日治愈人数、感染人数以及其他数据建立传染病模型。
           

二、进阶

注:由于本人是一个建模水平一般但是想法很多的人,因此以下经验可能更适合同类型的同学作参考。

许多建模同学的问题可能并不是对上述问题没有解决手段,而是模型拿出来千篇一律、没有亮点,或者对自己好的思路不知道怎么构建、实现。我认为这是处于一个厚积薄发的瓶颈期,如果能找到克服问题的方法,建模能力就会更上层楼、登堂入室(自己深有体会)。那么进阶中需要的能力是什么呢?如何强化呢?

1.分析

结合不同情况,可以分为三类。

一类同学是做题总是拿老一套模型;或者做题的时候脑子就想不到其他模型也适用。对于这类同学,我认为主要问题是储备的模型并不牢靠,对模型比较生疏,不太会使用也不清楚它适用于哪些问题。建议是加强论文阅读或者博客阅读,可以查阅模型相关的文章,引申到模型适用于哪些情景和问题。同时不要吝惜练习,在训练中大胆地使用这些要学习的模型,与其他同学交流该模型的优劣、用途。

二类同学是模型拿得出,但是缺乏亮点,看上去食之无味弃之可惜。对于这类同学,他\她可能已经在模型的运用和练习上打下了一定的底子,不过欠缺一些创造力和想象力。而我认为,想象力和创造力抽象后是相似+随机+推导,相似是指创新的想法来源于已知的知识体系但是又不完全等同于已知的知识,在思考的过程中大脑有意识或者无意识地捕捉到了解决该问题或者构建该模型的过程与曾经的xxx有相似之处,可以类比或者在此之上发散;随机是指在整顿思路得到创新点和梁点的时候,优化创新的方向是随机的、未知的,这种随机与做题的经验和感觉有很大的关系;推导是指把成型的思路量化成公式、根据思路优化改造模型的能力。对于相似和推导能力,我们可以通过对各种模型的理论推导来强化,对于随机能力,积累做题经验,阅读有想法的文章,及时总结,都不失为优化的方法。

三类同学的特征是状态不稳定,有时候自己思路泉涌,模型有自己的东西;有时候觉得自己脑子空空,面对问题只能挤出来一两个老模型应付应付;有的时候自己有了一些想法,但是落到模型上不知道从何下手。这种情况比较复杂,也许你是想法很多但是基础薄弱的小白,也许你是积累颇丰无处发力的建模人。首先应该认真的审视自己的真实水平,确定自己是积累不足还是想法不足,审视的方法因人而异,不过多赘述。积累不足去补基础,认真学习;想法不足或者实现想法的能力不强的同学,你不稳定的发挥说明你的理论基础和储备基础是在线的,可能是缺乏系统的训练总结限制了你的稳定性。这种情况下优秀的榜样可以起到很好的引领作用,推荐阅读优秀国一论文和o奖论文,在那些比较有新意的模型或者量化点上多推敲琢磨一下,总结心得即可

(在国赛和美赛篇我会列举一些个人的推荐,同时展示个人总结和心得)。

2.通用建模方法

整理思路(总理)➡剥茧抽丝(挖掘)➡师夷长技(吸收)➡优化改造(优化)

首先快速浏览问题梗概,分析问题需求(把问题具体化),抓取关键词或者关键信息,有时候题目动则在一个很大的范围内要求你规划什么什么方案,这种情况下结合信息简化问题就显得很重要。

接着整理一个大致的建模思路(类似于 我估计要用几个微分方程表示xx的变化然后用一些分析方法理一下xx和xx的关系再做打算 \ 估计要围绕这几个变量和xx的关系做文章,我想提炼几个指标做一个目标规划评价一下 这种程度的思路就行)

然后结合生活经验和做题经验,对思路中的变量和条件展开合理的分析和量化,从模糊的思路中按照:是什么—为什么—怎么做 的本质原则展开成更具体的逻辑线(此处比较抽象,下文例子可见)

接下来,查阅资料学习思路中的逻辑线如何数学化或者对题目背景的理解。一方面参考其他文献可以快速地帮助我们了解哪些模型是适用于我们的思路的,另一方面可以收集一些同类型问题背景下的信息,辅助我们修正思路中不当之处或增加一些关键点。切记此处不是拿来主义,我们可以觉得一篇论文的模型是比较完美的,但是一定不是我们可以直接拿来用的,可以参考但是不能让别人的模型完全主导你的建模逻辑线。完成这一步后,我们已经有了一个比较成熟的建模逻辑线和一个基于一些可参考样例的模型雏形了。

最后,我们的工作将决定这个模型能否成功的展示我们逻辑线中自己的思想。好的模型需要让自己建模逻辑中比较有新意或者比较科学严谨或者贴近题目背景符合实际的一点在模型里体现出来,这里不仅指代上文逻辑线中自己关于模型的创意,也涵盖建模者从题目立意、题目需求、生活实际、整篇论文的逻辑出发考虑到的小tips。实际上就是把好东西抽象量化出来,自然地融入到模型框架甚至论文表述的逻辑顺序里去。

找好东西有几个常见的思路:

  1. 引入新的定义或者变量,考虑生活实际或者政策或者人之常情。
  2. 让结果更加清晰,多角度解读或综合解读结果。
  3. 合适的检验,鲁棒性、残差分析等。
  4. 浑然一体的建模思路,让建模看起来像建设高楼一样逐步推进,层层相连的同时更上一层楼。
  5. 注意类比、近似的使用,在电路、物理、信号、网络通信等学科的知识原理可以运用于模型。

关于抽象量化上文有介绍。而“自然”是说我们量化出来的小模型、约束方程或者不等式组在模型的这个地方运用是有道理的,要么从生活常识上它符合我们一般人的认知,要么逻辑推理上有足够的推导证明它根正苗红,要么事后诸葛亮来个验证分析讨论其合理性。

3.例子

如何规划电动汽车充电站在全国的建设方案

一、总理:

电动汽车充电站、全国、建设方案

1.问题就是规划电动汽车充电站建设方案。肯定要查一下电动汽车充电站的相关的信息和它的用户相关的信息,后面应该有参数用得上,具体查啥等思路进一步理清楚。

2.全国这么大这么复杂,且不说有没有办法一个模型求出全国怎么规划,搜索相关信息的时间成本就很棘手。所以我们先解决一个小地方(省、市、区)的推广方案,提出一个输入参数就能求出方案的模型,再推广到全国(具体、简化)。

3.并且车用户的个人信息本来就查不到几个,能用的信息肯定是那种一个区域统计的总量。所以我们的模型如果想考虑一个个的客户是不太实际的 ,可以用车辆大量聚集的地方如小区、超市、公司停车场、加油站等地点模拟车所在的位置(简化)。

4.再想的细致一点,在一个小地方上的建设东西,图模型八九不离十了,那么图怎么建立呢?我们把该地的地图简化成背景图,标出车在的点(需求点),标出主干道作为图的边,问题就成为了在图上找服务点来满足需求点的问题(抽象),现在就是欠缺量化指标和规划的条件了

二、挖掘

结合生活,汽车-充电站的关系就好比于客户-服务方的关系,在哪建多少个充电站就好比服务站点应该在哪建多少个(这只是一个说法,这个地方是为了找一个你更熟悉的情景关系,有助于你接下来的分析)。我们不妨从客户-服务方的出发点分别思考他们对于如何建立服务站有这什么样的考量。

服务方:想挣钱-------需要-------客户多、建设成本低、运营维修成本低-------需要-------离的近、服务质量好(吸引顾客来)、每个点潜在客户多、少建点、每次建的成本低一点、减少维修次数

客户:省钱/方便-------需要------- /距离近/服务好-------需要-------离的近、排队时间少-------需要-------每个点的人数不太多

逻辑线形成,提炼因素:距离、成本、需求量、服务质量(排队时间)、(政策限制)、其他(维修运营成本)

接下来需要考虑这些因素加入到我们的模型中,使用合理的方法对上述因素进行组合,让它把我们的问题具体到 某变量/方程组/不等式组,例如:我们想找出建设的可能的地点,有什么方法呢。简单的如直接取所有路段的中点或者交叉点,复杂的用一些指标约束我们的选址条件,我们的因素组合量化起来。

三、吸收

引用论文:[1]张国亮. 城市内和城市间电动汽车充电站的选址布局研究[D]. 天津:天津大学,2011. DOI:10.7666/d.Y2241610.
数模系列:入门+进阶+国赛+美赛+其他数模系列:入门+进阶+国赛+美赛+其他(待更新中)一、数模入门二、进阶三、国赛四、美赛五、其他总结
数模系列:入门+进阶+国赛+美赛+其他数模系列:入门+进阶+国赛+美赛+其他(待更新中)一、数模入门二、进阶三、国赛四、美赛五、其他总结
数模系列:入门+进阶+国赛+美赛+其他数模系列:入门+进阶+国赛+美赛+其他(待更新中)一、数模入门二、进阶三、国赛四、美赛五、其他总结
数模系列:入门+进阶+国赛+美赛+其他数模系列:入门+进阶+国赛+美赛+其他(待更新中)一、数模入门二、进阶三、国赛四、美赛五、其他总结
数模系列:入门+进阶+国赛+美赛+其他数模系列:入门+进阶+国赛+美赛+其他(待更新中)一、数模入门二、进阶三、国赛四、美赛五、其他总结

可以在上述模型中看到,作者用引力模型量化需求量,建立三个布尔变量表示一个节点是否在组合中以及组合是否满足路的需求、线路能和否被满足需求。因此模型建成了一个单目标零一规划模型,将建设问题分拆成了三个子问题:怎么建设、建设好不好、建设的约束条件。

一、怎么建设:候选点是否建立充电站、充电站是否属于某个充电组合、路的需求是否能被某个组合满足。

二、建设好不好:被服务的路径需求量最大时最好。

三、建设的约束条件:建设充电站数目等于一个定值,充电站组合内所有充电站都开放服务、所有路径都至少有一个充电组合来服务。

我们大致理解了作者的思路后,发现它设计的布尔型变量来待定图上的节点是否建充电站这个思路不仅方便我们求解,而且与参数相乘和求和都能方便地表达新的含义,这是一个值得学习保留的点。此外,约束条件也可以适当参考,不等式的表达和量化比较简洁清晰。顺便一提的是,他用引力模型计算需求量是个不错的点子,我们可以也引用一些合理的模型把成本、需求量、距离的量化进行优化。接下来我们将刚刚思路里考虑的成本、服务时间抽象量化为模型的条件或者目标函数。

数模系列:入门+进阶+国赛+美赛+其他数模系列:入门+进阶+国赛+美赛+其他(待更新中)一、数模入门二、进阶三、国赛四、美赛五、其他总结

四、优化

显然上述模型非常粗糙,我们需要结合自己的生活经验和做题经验对它进行大换血。首先考虑模型居然有四个目标函数,显然是不合常理的,为此我们筛选出自己心中重要程度最高的一个或者两个作为目标,如:服务总能力、成本。接着,如何把距离和需求量方差加入模型中呢?我们考虑到需求量的量化可以建一个小模型,例如收集该地区的电动汽车分布

(待更新中)

三、国赛

1.资料预备

2.题目分析解读

3.优秀模型分析

4.比赛准备与安排

四、美赛

1.资料预备

2.题目分析解读

3.优秀模型分析

4.比赛准备与安排

五、其他

总结

提示:这里对文章进行总结:

继续阅读