2023mathorcup B题 城市轨道交通列车时刻表优化

B 题 城市轨道交通列车时刻表优化问题

问题一:在满足客流需求的条件下,以企业运营成本最小化和服务水平最大化为目标,制定列车开行方案。即确定大交路区间列车的开行数量,小交路的运行区间以及开行数量

为了最小化企业运营成本并提高服务水平,我们需要制定列车开行方案,以满足客流需求。为了实现这个目标,我们需要确定大交路区间列车的开行数量、小交路的运行区间以及开行数量。

首先,确定大交路区间列车的开行数量。大交路区间列车是指在同一个大交路中行驶的列车,例如相邻的两个车站之间的列车。为了满足客流需求,我们需要确定大交路区间列车的开行数量。一般来说,大交路区间列车的数量应该比小交路列车的数量多,以确保足够的列车数量来满足高峰期的客流量。

其次,确定小交路的运行区间。小交路是指在不同的大交路中行驶的列车,例如一个车站与另一个车站之间的列车。为了满足客流需求,我们需要确定小交路的运行区间。一般来说,小交路的运行区间应该比大交路列车的数量少,以确保足够的列车数量来满足高峰期的客流量。

最后,确定开行数量。开行数量是指大交路区间列车、小交路列车以及其他列车的数量。一般来说,开行数量应该根据客流需求、运营成本、列车运行效率等因素进行综合考虑,以确保列车开行方案能够最大化企业运营成本最小化并提高服务水平。

为了制定列车开行方案,我们可以使用线性规划模型进行建模。假设我们的列车开行方案是一个线性规划问题,我们的目标是最大化企业运营成本最小化并提高服务水平。

最大化企业运营成本最小化并提高服务水平

约束条件:

- 大交路列车与小交路列车的比例为 2:1

- 每3 列车为一个组合(前 2 列车为大交路列车,第三列车为小交路列车)滚动发车

- 客流需求为正值

- 列车运行效率为正值

目标函数

- 最小化总运营成本

线性规划模型可以表示为:

 maximize[C*r*f(x_1,x_2,...,x_n)]-minimize[C*r*y(x_1,x_2,...,x_n)]

f(x_1,x_2,...,x_n,a,b)=max(0,2*(a*r+b*(x_1-a)*(x_2-a)*(x_3-a)*...*(x_3-a)/(x_1+x_2+x_3+...+x_n)))

其中,C 表示开行数量,r 表示小交路列车数量,x_1,x_2,...,x_n表示列车的编号, y(x_1,x_2,...,x_n)表示客流需求。 f(x_1,x_2,...,x_n)表示列车运行效率,是一个正数函数

具体地,我们的目标是最小化总成本,即:

cost=sum((x^{T}Ax-y^TBy)^T)

其中,x 和 y分别表示大交路列车和小交路列车的数量和运行区间,A 和 B 分别表示约束条件系数矩阵

具体的伪代码为:

import numpy as np
from scipy.sparse import linalg

def mincost_列车开行方案(大交路列车_数量, 小交路列车_数量, 大交路列车_运行区间, 小交路列车_运行区间):
    """
    根据给定的条件最小化总成本,并确定大交路列车和小交路列车的数量和运行区间
    :param 大交路列车_数量: 大交路列车的数量,范围[1, 100]
    :param 小交路列车_数量: 小交路列车的数量,范围[1, 100]
    :param 大交路列车_运行区间: 大交路列车的运行区间,范围[1, 5]
    :param 小交路列车_运行区间: 小交路列车的运行区间,范围[1, 5]
    :return: 最小化总成本的列车开行方案
    """
    # 构建目标函数和约束条件系数矩阵
    b = np.zeros((5, 5))
    A = linalg.sa_matrix((5, 5))
    x = np.zeros((5, 5))
    y = np.zeros((5, 5))

    # 定义大交路列车的数量
    x[1] = 1
    x[2] = 2
    x[3] = 1
    x[4] = 3
    x[5] = 2

    # 定义小交路列车的数量
    x[1] = 1
    x[2] = 2
    x[3] = 1
    x[4] = 3
    x[5] = 2

    # 定义大交路列车的运行区间
    x[1] = [1, 2]
    x[2] = [3, 4]
    x[3] = [5, 6]
    x[4] = [1, 4]
    x[5] = [2, 6]

    # 定义小交路列车的运行区间
    x[1] = [1, 3]
    x[2] = [2, 4]
    x[3] = [1, 2]
    x[4] = [3, 5]
    x[5] = [2, 4]

    # 计算目标函数值和约束条件系数矩阵
    cost = x.dot(A) - y
    A_cost = linalg.sa_matrix((5, 5))
    A_cost.dot(cost) = 0

    # 计算可行解
    min_cost = np.min(np.max(cost), axis=0)

    # 返回可行解
    return min_cost, A_cost

# 示例
num_列车_数量 = 50
num_列车_运行区间 = 2
num_列车_数量_小交路 = 10
num_列车_数量_大交路 = 5

# 计算最小总成本
cost, A_cost = mincost_列车开行方案(num_列车_数量, num_列车_数量_小交路, num_列车_运行区间, num_列车_运行区间)

print("列车开行方案为:", cost)
print("目标函数值为:", A_cost.dot(cost))

由此,我们完成了相应的预测的需求

问题二:在问题一制定的列车开行方案下,同样以企业运营成本最小化和服务水平最大化且尽量满足客流需求为目标,制定等间隔的平行运行图

看下面!

问题三:对于降低企业运营成本和提高服务水平,你们团队有哪些好的方法或建议?基于客流和车站数据,提供相应的量化分析支持。

看下面!

持续更新!后续的思路来这里看!

2023 Mathorcup(B题)深度剖析|数学建模完整代码+建模过程全解全析 -知乎(zhihu.com)

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值