数学建模之2016深圳杯——初次尝试

在2016年的深圳杯中,作为大一学生,我和建伟还有泉神第一次尝试参与了建模比赛。

在题目的选择上,我们经过讨论,首先排除D题,理由是目前我们的能力不足,D题难度过大,不适合我们初次尝试。

从题目可以看出,D题涉及大量的专业知识,如果选择该题,专业知识的空缺将是巨大的阻碍,更何况以我们的数学能力也不足以找到好的模型来解决D题。

后来经过对A、B、C题的认真分析和讨论,首先认为A题数据量大,而我们三人对数据的处理都不太会,而B题带有一点物理模型,经过讨论之后认为不太好做,最终考虑选择C题。

尽管C题也有缺点,比如没有数据、现有研究成果相当成熟等,但我们仍然选择了C题,原因便是此题适合我们初次练手。

C题——“禁摩限电”效果综合分析问题

随着社会、经济的发展,城市道路交通问题越来越复杂也越来越引入关注。城市道路交通资源是有限的,各种交通工具,特别是机动车(包括摩托车、电动三轮车等),对安全和环境的影响必须得到控制,而人们出行的需求是不断增长的,出行方式也是多种多样的,包括使用公共交通工具。因此,不加限制地满足所有人的要求和愿望是不现实的,也是难以为继的,必须有所倡导、有所发展、有所限制。不少城市采取的限牌、限号、收取局部区域拥堵费、淘汰污染超标车辆及其他管理措施收到了较好的效果,也得到了公众的理解。 为了让一项政策,如禁摩限电,得到大多数人的支持,对它进行科学的、不带意识形态的论证是必要的。请从深圳的交通资源总量(即道路通行能力)、交通需求结构、各种交通工具的效率及对安全和环境的影响等因素和指标出发,建立数学模型并进行定量分析,提出一个可行的方案。需要的数据资料在难以收集到的情况下,可提出要求。

题目确定后便是模型的构建,在模型的构建过程中,由于欠缺经验与相应知识,我们根据仅有的一点数学知识,只能选择了高代中的二次型和数分中的Lagrange乘数法来处理模型和数据。

经过一系列的「瞎扯」,我们在论文中最终得到加权的目标函数

J=W_1\sum_{i=1}^{5}\dfrac{c_ip_iN}{C_0}+W_2\left( \begin{array}{ccccc}p_1 & p_2 & p_3 & p_4 & p_5\end{array} \right)\left( \begin{array}{ccccc}s_{11} & s_{12} & s_{13} & s_{14} & s_{15} \\s_{21} & s_{22} & s_{23} & s_{24} & s_{25} \\s_{31} & s_{32} & s_{33} & s_{34} & s_{35} \\s_{41} & s_{42} & s_{43} & s_{44} & s_{45} \\s_{51} & s_{52} & s_{53} & s_{54} & s_{55}\end{array} \right)\left( \begin{array}{c}p_1 \\p_2 \\p_3 \\p_4 \\p_5\end{array} \right)

而在目标函数构建好后,我们采用了数分中的Lagrange乘数法进行了极值求解

经过上面的讨论,可以将问题抽象为,在闭区域U_0上求混合目标函数J(p_{1},p_{2},p_{3},p_{4},p_{5})的极小值。

在下面的讨论中,我们将在一些部分直接运用用Lagrange乘数法。囿于篇幅有限,故不对数学分析中的重要定理——Lagrange乘数法的原理作详细介绍。

该问题可以细分为三个步骤:

(1)求出J在区域U_0内部(不含边界)的自由极值

i)首先令混合目标函数关于各变量的偏导数等于0

\left\{\begin{aligned}\dfrac{\partial J}{\partial p_1}(p_{1},p_{2},p_{3},p_{4},p_{5})=0\\ \dfrac{\partial J}{\partial p_2}(p_{1},p_{2},p_{3},p_{4},p_{5})=0\\ \dfrac{\partial J}{\partial p_3}(p_{1},p_{2},p_{3},p_{4},p_{5})=0\\ \dfrac{\partial J}{\partial p_4}(p_{1},p_{2},p_{3},p_{4},p_{5})=0\\ \dfrac{\partial J}{\partial p_5}(p_{1},p_{2},p_{3},p_{4},p_{5})=0\end{aligned}\right.

解出潜在的可疑点P_0(p_{01},p_{02},p_{03},p_{04},p_{05}).

ii)对可疑点进行判断。记在可疑点P_0的Hessian矩阵为

\mathbf{H}_J(P_0)=\left( \begin{array}{cccc}\dfrac{\partial^2J}{\partial p_1^2}& \dfrac{\partial^2J}{\partial p_1\partial p_2} & \cdots & \dfrac{\partial^2J}{\partial p_1\partial p_5} \\ \dfrac{\partial^2J}{\partial p_2\partial p_1}& \dfrac{\partial^2J}{\partial p_2^2} & \cdots & \dfrac{\partial^2J}{\partial p_2\partial p_5} \\ \vdots & \vdots & & \vdots \\ \dfrac{\partial^2J}{\partial p_5\partial p_1}& \dfrac{\partial^2J}{\partial p_5\partial p_2} & \cdots & \dfrac{\partial^2J}{\partial p_5^2}\end{array} \right) (P_0)

根据Lagrange乘数法的理论可知

a.若\mathbf{H}_J(P_0)为正定矩阵\Rightarrow P_0J(p_{1},p_{2},p_{3},p_{4},p_{5})的极小值点,保留;

b.若\mathbf{H}_J(P_0)为负定矩阵\Rightarrow P_0J(p_{1},p_{2},p_{3},p_{4},p_{5})的极大值点,舍去;

c.其余情况,可疑点P_0不是极值点,舍去.

(2)求出J在区域U_0的边界(\partial U_0)的条件极值

i)记U_0的边界处所满足的函数方程为\varphi (p_{1},p_{2},p_{3},p_{4},p_{5})=0,称该方程为条件方程。

作Lagrange函数

L(p_{1},p_{2},p_{3},p_{4},p_{5})=J(p_{1},p_{2},p_{3},p_{4},p_{5})+\lambda \varphi(p_{1},p_{2},p_{3},p_{4},p_{5})

解方程组

\left\{\begin{aligned}\dfrac{\partial L}{\partial p_1}(p_{1},p_{2},p_{3},p_{4},p_{5})=0\\ \dfrac{\partial L}{\partial p_2}(p_{1},p_{2},p_{3},p_{4},p_{5})=0\\ \dfrac{\partial L}{\partial p_3}(p_{1},p_{2},p_{3},p_{4},p_{5})=0\\ \dfrac{\partial L}{\partial p_4}(p_{1},p_{2},p_{3},p_{4},p_{5})=0\\ \dfrac{\partial L}{\partial p_5}(p_{1},p_{2},p_{3},p_{4},p_{5})=0\\ \ \ \varphi(p_{1},p_{2},p_{3},p_{4},p_{5})=0\end{aligned}\right.

同样求得该情形下的可疑点P_0(p_{01},p_{02},p_{03},p_{04},p_{05}).

ii)对可疑点进行判断。这里利用Lagrange函数的二阶微分进行判别。

函数L(P_0)的二阶微分为

\mathrm{d}^2L(P_0)=(\dfrac{\partial}{\partial p_1}\mathrm{d}p_1+\dfrac{\partial}{\partial p_2}\mathrm{d}p_2+\cdots+\dfrac{\partial}{\partial p_5}\mathrm{d}p_5)^2L(P_0)\displaystyle=\sum_{i=1}^{5}\sum_{j=1}^{5}L''_{p_ip_j}(P_0)\mathrm{d}p_i\mathrm{d}p_j

根据Lagrange乘数法的理论可知

a.若在可疑点P_0\mathrm{d}^2L(P_0)>0,则J在此点P_0取条件极小值,保留;

b.若在可疑点P_0\mathrm{d}^2L(P_0)<0,则J在此点P_0取条件极大值,舍去;

c.其余情况,可疑点P_0不是极值点,舍去.

其中\mathrm{d}p_i(i=1,2,\ldots,5)应满足关于条件函数的偏微分方程 \displaystyle \sum_{i=1}^{5}\dfrac{\partial \varphi}{\partial p_i}(P_0)\mathrm{d}p_i=0

可以看出,我们使用的模型相当简单,并没有涉及太多专用模型。

而在最后的完工讨论中,我们也认为我们的报告非常的简陋,但值得肯定的是,毕竟作为初次参赛的大一学生,能按时把它完成已经就是非常不容易的了。此外,模型中的事故概率矩阵是属于我们自己创新出来的一个小模型,算是一个亮点吧。

最后,我们在开题报告这样描述我们的模型创新点与特色

本模型在问题分析上,采用了先分散设计模型,再以先限定,后求解的分析思路来分析问题,简洁清晰,有条有理;

在分析过程中,最亮点的地方在于多处的等效简化。这些简化过程有理有据,在所要讨论的问题方面上不会带来误差影响,反而可以使算法简化、模型更加简洁易懂,进而能够保证后续设计的程序能够高效处理大量代入的数据。

在算法设计上,本模型并没有直接引用他人的研究成果,而是通过我们自己的直接分析,将深圳市的交通特点与流量模型相联系,进而以之为基础逐步展开更加深层次的模型分析。而在后面目标模型中的安全模型里,更是创新性地给出了交通事故双向矩阵,为模型的建立带来了极大的方便。

并做了如下的工作总结

本次建模过程我们分工明确,齐心协力,把问题简化成四个小模型,有过激烈的争论,也有过精彩的头脑风暴,大胆地舍弃不紧要的变量,遇到困难及时讨论分析或查阅文献资料,并最终思考出属于自己的想法。

本次建模既锻炼了我们的数学思考能力,也提升了队内的默契程度,收获的不仅是数学建模能力的提高,更是团队协作素养的形成。

我们深知我们还有诸多不足,也正因为如此,我们希望组委会能够提供更多的机会,让我们施展更多的能力、展现当代大学生的创造力。

总之,参加这次深圳杯建模比赛真的让我们学会了太多太多,正如一个学长跟我们说的,很多技能都是逼着逼着给比会的。而我作为开题报告的撰写者,自然对\LaTeX的掌握运用能力提升了很多。

虽然建模很累,但真的很有趣,希望下一次参加比赛能够充分借鉴本次比赛的经验,更希望能够建出一个更好的模型!