数学建模比赛就是解决问题。三个人一组。题目来自生活。题目可能关于交通、环境、经济。我们需要用数学工具找到答案。第一步是读懂题目。题目很长。我们需要抓住重点。我们三个人一起读题。我们讨论题目的意思。我们要明白题目问什么。我们要知道需要什么数据。我们要想用什么数学方法。
我们选定一个问题。这个问题是优化城市公交线路。目标是让乘客等车时间更短。公司成本也要降低。这是一个难题。公交线路就像一张网。乘客从家到公司。他们需要换乘。等车时间可能很长。公交车可能很挤。有的车空着跑。这不合理。我们需要改变线路。我们还需要调整发车时间。我们想让大家都满意。乘客满意。公司也满意。
我们开始建立模型。模型是现实的简化。我们画图。图上有很多点。点代表公交车站。点之间有线。线代表道路。我们给每条线标上长度。我们还需要知道人从哪里来。人到哪里去。我们调查数据。数据包括每个站上车人数。每个站下车人数。数据包括早晚高峰时间。平峰时间人少。我们把这些数字记下来。
我们思考数学方法。我们想到图论。图论研究点和线的关系。我们用点表示车站。用边表示道路。边的权重是距离。也可以是时间。我们计算最短路径。乘客希望走最短的路。我们使用迪杰斯特拉算法。这个算法能找到两点间最短路径。我们用计算机实现它。我们让程序计算所有站点之间的最短时间。
我们考虑发车时间。车不是一直发。车隔几分钟一班。等车时间很重要。如果车十分钟一班。乘客可能等一分钟。也可能等十分钟。平均等车时间是五分钟。我们假设乘客随机到达车站。等车时间就是发车间隔的一半。我们希望缩短这个时间。但车次多成本就高。我们需要平衡。
我们建立目标函数。目标函数是我们想达到的目标。我们想最小化两个东西。一个是乘客的总等车时间。一个是公司的总运营成本。这两个目标有矛盾。车越多等车时间越短。但成本越高。我们给两个目标分配权重。我们征求专家意见。乘客时间重要。成本也重要。我们设定一个比例。我们把两个目标合成一个。这样问题就变成求最小值。
我们有约束条件。约束是必须满足的条件。公交车不能超载。一辆车最多装八十人。发车间隔不能太短。最短三分钟一趟。因为道路安全。公交车要有司机。司机每天工作八小时。这是法律规定。我们把这些条件写成数学式子。这些式子是不等式。我们的解必须满足它们。
我们开始求解。这个问题很复杂。变量很多。线路选择是组合问题。发车时间是连续问题。我们难以直接找到最好答案。我们使用启发式算法。我们尝试遗传算法。遗传算法模仿生物进化。我们先随机生成一些方案。比如二十种公交线路方案。我们计算每个方案的得分。得分高的方案好。得分低的方案差。我们选择得分高的方案。让它们“生孩子”。新方案混合旧方案的优点。我们也加入一点随机变动。这叫变异。新一代方案可能更好。我们重复这个过程。重复一百代。一千代。我们观察结果是否稳定。我们找到一组不错的解。
我们验证模型。我们拿一个简单城市试验。假设城市有十条路线。三十个车站。我们用历史数据测试。我们把模型结果和现实对比。模型建议增加三号线路车次。减少八号线路车次。我们比较前后的等车时间。用模型后平均等车时间减少两分钟。公司成本增加百分之五。这个结果可以接受。我们进行灵敏度分析。我们改变参数。比如乘客时间价值提高。模型结果会改变。线路调整更倾向加车。我们记录这些变化。这让我们知道模型是否可靠。
我们写论文。论文结构很清楚。摘要说明我们做什么。得到什么结论。引言介绍问题背景。模型假设很关键。我们假设乘客理性。假设道路通畅。假设数据准确。这些假设让问题变简单。不假设我们就没法开始。我们详细描述模型。我们列出所有公式。我们解释算法步骤。我们展示计算结果。我们用表格和图表。图表很直观。表格有数字。我们分析结果好坏。我们讨论模型优点。模型考虑多个因素。模型可以灵活调整。模型也有缺点。我们假设天气永远好。不考虑道路施工。不考虑突发事件。这些在现实中会发生。我们提出改进方向。未来可以加入实时数据。可以用更智能的算法。
参加比赛让我们学到很多。我们读了很多资料。我们学会了团队合作。一个人想问题不全面。三个人一起讨论更好。一个人编程序。一个人写论文。一个人检查错误。我们经常争论。争论让我们思路更清晰。我们学会了坚持。问题很难。我们通宵工作。我们一遍遍改模型。最后看到结果我们很高兴。数学很有用。数学能让生活更高效。公交车问题只是一个小例子。数学还能用在更多地方。预测天气。管理库存。设计药物。数学是强大的工具。建立模型就像搭积木。我们从简单开始。一步步接近复杂现实。这个过程很有挑战。也很有乐趣。我们鼓励更多人尝试。不害怕数学。用数学解决身边的问题。