2019年数学建模大赛C题论文+代码

原文不全,原文档点击此处


机场的出租车问题

摘 要

本文针对机场出租车问题, 建立了基于层次分析法的评价模型, 解决了出租车司机策 略选择问题; 建立了单目标优化模型, 解决了出租车司机策略选择、模型合理性及对相关 因素依赖性的问题; 建立了单目标优化模型, 解决了上车点数量设置的问题; 建立了多目 标优化模型, 解决了短途载客出租车的优先排队问题. 针对问题一, 建立了基于层次分析法的评价模型, 解决了出租车司机策略选择问题. 首先以飞机航班数量、乘车人数占比、出租车数量、时间成本或空载成本、路程、时间 段及气候七项因素作为准则层, 以方案 A 载客返市和方案 B 空车返市作为方案层, 构建 出租车司机决策的评价体系; 其次构建目标层与准则层、准则层与方案层的判断矩; 再次 利用特征值法求出上述准则层中七项因素的权重, 并开展一致性检验分析, 计算结果表 明上述七项因素的权重分别:0.3496、0.2778、0.1537、0.1031、0.0616、0.0324 及 0.0218, 且通过了一致性检验. 基于该权重进一步计算得出方案 A 总分为 0.7044, 方案 B 总分为 0.2956, 因此方案 A 的载客返市更合理. 最后采用几何平均法计算各因素权重, 该方法求 得的权重值与特征值法求得的最大误差值为 0.023, 差异较小, 验证了计算结果的合理性. 针对问题二,建立了单目标优化模型,解决了出租车司机策略选择的问题。首先, 根据搜集到的石家庄正定机场航班数据, 整理出各时刻乘客前往乘车区的数量,计算出 租车司机的等待时间. 接着, 基于石家庄出租车的收费标准、平均车速度及每公里耗油量 等数据推导出方案 A,B 的出租车平均每小时收入函数;其次,以出租车司机的收入最 大为目标,以行驶速度、安全因素为约束条件,建立优化模型,采用蚁群算法对方程进 行求解,结果为:出租车司机选择 A 方案收入最大,平均每小时收益为 30.22 元。再次, 对正定机场的航班到达量加高斯噪声处理,得到选 A 方案时人、车等待时间增加较少, 为 12 分钟,收益改变量为 6 元,说明了模型的合理性。最后,将飞机航班数量、出租车 数量及乘车人数分别改变 1,得出人车等待时间最大改变量相应为:8、44 和 0,结果表 明模型对出租车数量的依赖性最大。 针对问题三,建立了单目标优化模型, 解决了上车点数量设置的问题. 首先以乘车效 率最高为优化目标, 安全因素为约束条件, 上车点数量为决策变量, 建立单目标优化模型; 其次利用蒙特卡洛模拟方法求解各规则设定下乘车效率的大小. 计算结果表明: 对于双 车道, 无论车多于人还是人多于车时, 设置 4 个上车点的乘车效率最高; 乘客在车多于人, 人多于车两种情况下平均用时分别为 1.9 分钟、20 分钟, 出租车在这两种情况下的平均 用时分别为 19.9 分钟、2 分钟; 当人和车数量相当时, 在安全和方便管理的前提下, 设置 8 个上车点时总乘车效率较高, 乘客和出租车平均用时都在 4 分钟左右. 最后, 对模拟系 统的截止时间进行灵敏度分析, 结果为截止时间设置为大于 40 分钟时, 人和车用时改变 量都小于 1 分钟, 表明系统求解截止时间设置为 50 分钟是合理的, 人车用时保持稳定, 验 证了计算结果的合理性. 针对问题四,建立了多目标优化模型, 解决了短途载客出租车的优先排队问题. 首先 将排队的出租车分为长途车和短途车两类, 对比两类车在机场与市区往返期间的两个信 息: 相同观测时间内的收益及相同观测空间内的空载率; 其次以长短途出租车的空载率 差值、收益差值最小为优化目标, 建立排队位置最优化模型, 利用基于梯度的遍历法求解, 结果表示为在输入短途里程后可得到相应的优先排队位置, 如短途车单程为 6km 时, 该 车可在一个共 100 辆出租车等候队列中优先排到第 15 位; 同时得到短途里程越短, 车辆 排的位置越靠前. 最后对优先排队模型价值函数中的权重因子 ε1,ε2 进行灵敏度分析, 两 个参数分别改变 0.1, 得到 ε1,ε2 的值分别取为 0.8 和 0.2 时, 短途车位置改变量最大, 向前 停靠 4 个车位, 灵敏度较高. 关键词: 层次分析法;单目标优化;多目标优化;蒙特卡洛模拟 1 一、 问题重述 1 . 1 问题背景 大多数乘客下飞机后要去市区(或周边)的目的地,出租车是主要的交通工具之一。 国内多数机场都是将送客(出发)与接客(到达)通道分开的。送客到机场的出租车司 机都将会面临两个选择:(A) 前往到达区排队等待载客返回市区。出租车必须到指定的 “蓄车池”排队等候,依“先来后到”排队进场载客,等待时间长短取决于排队出租车和 乘客的数量多少,需要付出一定的时间成本。(B) 直接放空返回市区拉客。出租车司机会 付出空载费用和可能损失潜在的载客收益。在某时间段抵达的航班数量和“蓄车池”里 已有的车辆数是司机可观测到的确定信息。通常司机的决策与其个人的经验判断有关, 比如在某个季节与某时间段抵达航班的多少和可能乘客数量的多寡等。如果乘客在下飞 机后想“打车”,就要到指定的“乘车区”排队,按先后顺序乘车。机场出租车管理人员 负责“分批定量”放行出租车进入“乘车区”,同时安排一定数量的乘客上车。在实际 中,还有很多影响出租车司机决策的确定和不确定因素,其关联关系各异,影响效果也 不尽相同。 1 . 2 问题重述 本文结合实际情况,建立数学模型研究下列问题: 1. 分析研究与出租车司机决策相关因素的影响机理,综合考虑机场乘客数量的变化规 律和出租车司机的收益,建立出租车司机选择决策模型,并给出司机的选择策略。 2. 收集国内某一机场及其所在城市出租车的相关数据,给出该机场出租车司机的选择 方案,并分析模型的合理性和对相关因素的依赖性。 3. 在某些时候,经常会出现出租车排队载客和乘客排队乘车的情况。某机场“乘车区” 现有两条并行车道,管理部门应如何设置“上车点”,并合理安排出租车和乘客,在 保证车辆和乘客安全的条件下,使得总的乘车效率最高。 4. 机场的出租车载客收益与载客的行驶里程有关,乘客的目的地有远有近,出租车司 机不能选择乘客和拒载,但允许出租车多次往返载客。管理部门拟对某些短途载客 再次返回的出租车给予一定的“优先权”,使得这些出租车的收益尽量均衡,试给出 一个可行的“优先”安排方案。 二、 问题分析 2 . 1 问题一的分析 本问题要求建立出租车司机选择决策模型, 给出司机选择载客返市或空载返市的策 略, 并且综合考虑机场的乘客数量的变化规律和出租车司机收益分析研究影响出租车司 机决策的机理. 因此, 从问题内容来看, 该问题属于评价问题的决策建模问题. 解决此类问 题的一般方法有主成分分析法 [1] , 熵权法, 层次分析法 [2] , 模糊评价法等. 由本题可知, 需 要研究司机的决策相关因素,宜于选用层次分析法. 首先, 由航班数量, 乘车人数, 出租车 数量, 空载费用, 潜在损失的载客收益, 时间段车流量和气候因素构建因素间成对比较的 判断矩阵; 其次, 对判断矩阵进行归一化处理, 并计算出各个因素与方案间的权重. 求解权 重的计算方法有特征值法 [3] , 算术平均值法 [4] , 几何平均值法 [5] 等. 为保证结果的稳健 2 性, 本题宜于采用以上三种方法分别求出权重, 以三者计算结果的平均值作为最后的权重 结果; 最后, 采用一致性检验 [6] 判断矩阵的合理性. 2 . 2 问题二的分析 本问题要求收集某一机场及所在城市出租车的相关数据,给出出租车司机选择方 案,并且分析模型的合理性以及依赖性. 本题搜集到石家庄正定机场某一天 24h 内到达 航班的信息数据以及当地出租车的相关数据。首先,对航班信息进行数据处理,分析出 不同时刻乘客前往乘车区的数量,根据时间段乘客的峰值来确定出租车司机的收益函 数. 其次,根据石家庄出租车起步价,行驶里程,空载里程等数据,建立方案 A,B 的 出租车平均每小时收益方程;采用蚁群算法 [7] 求解最后收益结果。最后,通过控制变 量 [8] 的方法, 分别改变乘车数量, 出租车数量和平均每时段乘坐出租车人数到达量这三 个因素对模型进行依赖性分析;为了衡量模型的合理性, 对石家庄机场的航班到达量进 行了高斯噪声处理,验证模型的合理性. 2 . 3 问题三的分析 本问题要求在保证车辆和乘客安全的条件下, 设置上车点并使得总的乘车效率最高. 因此, 从问题内容来看,该问题属于优化问题. 解决此类问题的常用的建模方法有线性规 划 [9]、整数线性规划、非线性规划、多目标规划、动态规划等。根据本题中的安全因素的 约束条件和需要求解上车点的要求, 宜于选用线性规划的建模方法. 首先, 以乘车效率为 优化目标, 以安全因素为约束条件, 以上车点为决策变量, 建立优化模型; 其次,为计算出 各种环境下每个方案的目标函数,根据泊松分布的原理确立模型系统的运行规则. 求解 优化模型常用的计算方法有蚁群算法, 遗传算法, 粒子群算法,蒙特卡洛算法 [10] 等。本 文宜于选用蒙特卡洛算法求解出上车点的数的最优解. 蒙特卡洛算法的计算过程为:确 定初始值, 获取随机数, 计算迭代后随机数的平均值, 计算目标函数值的最优解. 最后,对 模拟系统的截止时间进行灵敏度分析. 2 . 4 问题四的分析 本题要求解决短途载客出租车进行优先排队问题,因此, 从问题内容来看,该问题 属于优化类问题,解决此类问题的常用的建模方法有线性规划、整数线性规划、非线性 规划、多目标规划、动态规划等. 根据本题条件,宜于选用线性规划的建模方法. 将排队 的出租车分为长途车和短途车两大类,对比两类车在机场与市区往返期间的两个信息: 相同观测时间内的收益及相同观测空间内的空载率;其次,以长、短途出租车的空载率 差值、收益差值最小为优化目标,建立排队位置最优化模型. 解决此类模型的常用的算 法由遍历法,遗传算法,粒子群算法等. 本文宜用基于梯度的遍历法 [11] 求解,结果表示 为在输入短途里程后可得到相应的优先排队位置。最后,对优先优先排队模型价值函数 中的权重因子进行灵敏度分析。 三、 基本假设 1. 假设出租车司机将乘客送达机场后最终会返回市中心. 2. 假设乘客选择乘坐出租车的比例在研究时间内保持不变. 3. 假设出租车接客和乘客乘车均遵循先来后到原则或机场制定的规则. 4. 假设机场忙期时“蓄车池”内的出租车数量维持稳定. 3 四、 符号说明 aij : 因素 i 与因素 j 的重要性之比 ωi : 权重向量 P: 平均每架飞机的乘客数 η: 乘车效率 k: 上车点数量 ε: 权重因子 五、 模型建立与求解 5 . 1 问题一的模型建立与求解 5 . 1 . 1 模型建立 首先, 以选择方案作为目标层,以飞机航班数量(C1), 乘车人数占比(C2), 出租 车数量(C3), 时间成本或空载成本(C4), 路程(C5), 时间段(C6),气候(C7). 作为 准则层, 以方案 A 载客返市,方案 B 空车返市作为准则层, 构建出租车司机决策的评价 体系. 其次, 根据标度确立目标层和准则层的判断矩阵, 确立准则层和目标层的判断矩阵, 在计算权重前, 需要对判断矩阵进行一致性检验,并用算术平均法, 特征值法二者的平均 值法求解权重, 得出最后的方案总分. 最后, 采用几何平均法检验权重的计算结果. 5 . 1 . 1 . 1 层次分析法的原理 层次分析法,英文又称为 AHP。由美国 T.LSaaty 教授在上个世纪 70 年代提出,是 一种定量和定性相结合的分析方法,用于多方案或多目标的决策。面对非结构化的错综 复杂的问题,可以将其分为多个层次,并依据目标将其要素 (决策准则) 进行层次化分 析,在解决战略决策性具有很强的实用性。优点主要体现在系统性 (能将错综复杂的对 象和问题系统化,并分解问题,将其进行两两比较,最终判断并进行综合评价),且注重 实用性 (采取定性定量相结合的方法,更具说服力),兼具简洁性 (计算方式简单,结果 清晰明确,能够方便决策者直接了解掌握并采取决策)。 5 . 1 . 1 . 2 模型建立的过程 构建决策系统 决策系统一般由三个部分组成,从上到下依次为:目标层、准则层和方案层. 其中: 1. 目标层(0):选择方案. 2. 准则层(C):飞机航班数量(C1), 乘车人数占比(C2), 出租车数量(C3), 时间成 本或空载成本(C4), 路程(C5), 时间段(C6),气候(C7). 3. 方案层(P): PA 表示载客返市,PB 表示空车返市. 构造的评价体系如下图所示: 4 图 1 评价体系示意图 求出方案层对准则层的相对权重,以此对权重结果进行排序, 选出最佳方案. 构建判断矩阵 方案层中各个指标的综合得分需要依据全系统进行计算,而在分析全系统时需要将 整个系统划分为两层的子系统,对于每个子系统都依次构造判断矩阵,进而计算该子系 统中各个指标的权重。值得注意的是,在计算子系统中各个指标的权重时,需要由下向 上依次计算。在评价体系建立的基础上, 针对目标层 (O) 和准则层 (C), 将准则层 (C) 中 的七个因素进行两两比较, 比较第 i 个因素与第 j 个因素的重要性, 构建 O-C 判断矩阵. 针对准则层 (C) 和方案层(P),将准则层(C)中的七个因素分别与方案层 (P) 中的两个 方案进行重要性比较,构建 P-C 判断矩阵. 其中, 使用相对数量化的相对重要度 aij 来表 示, 则构造判断矩阵如下: A =    a11 · · · a17 . . . . . . . . . a71 · · · a77    其中, 若 aij > 0,且 aij × aji = 1,则该矩阵正反矩阵. 最后根据 1-9 数字标度对判断矩 阵的因素重要性比较进行确定. 5 表 1 标度含义 标度 因素相对重要评分规则 1 相同重要性 3 前者比后者稍重要 5 前者比后者明显重要 7 前者比后者强烈重要 9 前者比后者极端重要 2,4,6,8 表示上述相邻判断矩阵的中间值 倒数 若因素 i 与因素 j 的重要性之比为 aij, 那么因素 j 与因素 i 重要性之比为 aji = 1 aij 一致性检验 层次单排序:判断矩阵 A 对应于最大特征值 λmax, 得出特征向量 W, 经归化处理即 为同一层次相应元素对于上一层次相对重要性的排序权值. 一致性矩阵:满足关系式 aij · ajk = aik,(i, j, k = 1, 2, · · · ,9) 的正反矩阵称为一致 性矩阵. 一致性步骤检验: 1. 计算一致性指标 CI = λmax − n n − 1 ,CI = 0 表示完全一致.CI 值越大表示越不一致. 2. 查询平均随机一致性指标 RI, 对应 n=1 到 10,随机一致性指标如下表所示: 表 2 随机一致性指标表 n 1 2 3 4 5 6 7 8 9 10 RI 0 0 0.58 0.90 1.12 1.24 1.32 1.41 1.45 1.49 3. 计算一致性比例 CR = CI CR, 当CR < 0.1, 认为矩阵的一致性是可以接受的. 5 . 1 . 2 模型求解 5 . 1 . 2 . 1 计算权重的数学思想 以往的论文利用层次分析法解决实际问题时,都是采用其中某一种方法求权重,而 不同的计算方法可能会导致结果有所偏差。为了保证结果的稳健性,本文采用了特征值 法和算术平均法分别求出了权重后计算平均值,再根据得到的权重矩阵计算各方案的得 分,并进行排序和综合分析,这样避免了采用单一方法所产生的偏差,得出的结论将更 全面、更有效。 算术平均法求权重:判断矩阵归一化处理, 即每个元素除以其所在列的和; 将归一化 的各列相加; 将相加后得到的向量中每个元素除以 n 即可得到权重向量, 基于判断矩阵 6 A,那么算术平均法求得的权重向量 ωi = 1 n ∑n j=1 ∑ aij n k=1 akj (i = 1, 2, · · · ,n) 特征值法求权重:一致矩阵有一个特征值 n,其余特征值为 0. 当特征值为 n 时, 对 应的的特征向量刚好为 k [ 1 a11 , 1 a12 , · · · , 1 a1n ]τ (k ̸= 0) 5 . 1 . 2 . 2 模型求解的过程 判断矩阵的确立 根据表 1 的标度含义确定判断矩阵中因素间的重要性关系. 目标层和准则层之间构 建判断矩阵,构建结果如下: 表 3 O-C 判断矩阵 O C1 C2 C3 C4 C5 C6 C7 C1 1 2 3 5 6 7 8 C2 1 2 1 3 5 6 6 8 C3 1 3 1 3 1 2 4 6 7 C4 1 5 1 5 1 2 1 3 5 6 C5 1 6 1 6 1 4 1 3 1 3 5 C6 1 7 1 6 1 6 1 5 1 3 1 2 C7 1 8 1 8 1 7 1 6 1 5 1 2 1 求解权重 算术平均法求权重将判断矩阵归一化处理,得到如下结果: 7 表 4 判断矩阵的归一化 O C1 C2 C3 C4 C5 C6 C7 C1 0.4020 0.5010 0.3722 0.3650 0.2922 0.2456 0.2368 C2 0.2010 0.2505 0.3722 0.3650 0.2922 0.2105 0.2105 C3 0.1340 0.0835 0.1241 0.1460 0.2922 0.2105 0.1842 C4 0.0804 0.0501 0.0620 0.0730 0.2922 0.1754 0.1579 C5 0.0804 0.0418 0.0310 0.024 0.2922 0.1053 0.1316 C6 0.0574 0.0418 0.0207 0.0146 0.2922 0.0351 0.0526 C7 0.0047 0.0313 0.0177 0.0122 0.2922 0.0175 0.0263 表 5 求解权重结果表 C1 C2 C3 C4 C5 C6 C7 算术平均法 0.3450 0.2717 0.1539 0.1064 0.0662 0.0341 0.0228 特征值法 0.3510 0.2833 0.1514 0.1018 0.0596 0.0314 0.0215 二者平均值 0.3496 0.2778 0.1537 0.1031 0.0616 0.0324 0.0218 一致性检验 计算一致性指标 CI = λmax − n n − 1 = 0.0922 查找对应的平均值随机一致性性指标 RI 计算一致性比例 CR = CI RI = 0.0678 < 0.1(CR < 0.1,则认为判断矩阵一致性可接受) 8 5 . 1 . 2 . 3 模型求解的结果 表 6 影响因素与方案的权重表 权重 方案 A 方案 B 飞机航班数量(C1) 0.3496 0.9000 0.1000 乘车人数占比(C2) 0.2778 0.9000 0.1000 出租车数量(C3) 0.1537 0.3333 0.6666 时间成本或空载成本(C4) 0.1031 0.2500 0.7500 路程(C5) 0.0616 0.6666 0.3333 时间段(C6) 0.0324 0.3333 0.6666 气候(C7) 0.0218 0.5000 0.5000 由该权重表可知,飞机航班数的权重为 0.3496, 乘车人数占比的权重 0.2778, 出租车 数量的权重 0.1537 时间成本或空载成本 0.1031 路程的权重 0.0616, 时间段的权重 0.0324 气候的权重 0.0218,其中, 飞机航班数的权重最大; 方案 A 与 C1C2C3C4C5C6C7 的权重 比为 0.9000,0.9000,0.3333,0.2500,0.6666,0.3333,0.5000, 方案 B 与 C1C2C3C4C5C6C7 的权 重比为 0.1000,0.1000,0.6666,0.7500,0.3333,0.6666,0.5000, 根据上述权重表, 计算各方案的总分, 其结果如下: 表 7 权重总分 权重总分 方案 A 0.7044 方案 B 0.2956 由该表可知, 方案 A 的总分高于方案 B 的总分. 5 . 1 . 3 问题结论 针对本问题要求建立出租车司机的决策模型, 并且给出司机的选择策略,建立了 层次分析法模型, 由模型求解的该权重表可知,飞机航班数的权重为 0.3496, 乘车人数 占比的权重 0.2778, 出租车数量的权重 0.1537 时间成本或空载成本 0.1031 路程的权重 0.0616, 时间段的权重 0.0324 气候的权重 0.0218,其中, 飞机航班数的权重最大; 方案 A 与 C1C2C3C4C5C6C7 的权重之比 0.9000,0.9000,0.3333,0.2500,0.6666,0.3333,0.5000, 方案 B 与 C1C2C3C4C5C6C7 的权重比为 0.1000,0.1000,0.6666,0.7500,0.3333,0.6666,0.5000. 根 据上计算结果求解出方案 A 总分为 0.7044 方案 B 为 0.2956,则方案 A 的总分大于方案. 因此, 司机的选择方案 A,即载客返市作为决策. 5 . 1 . 4 检验分析 采用几何平均法对权重进行重新计算,几何平均法求权重:将 A 的元素按照行相乘 得到一个新的列向量; 将新的向量的每个分量开 n 次方; 对该列向量进行归一化处理即可 9 得到权重向量;基于判断矩阵 A,几何平均法求得的权重向量为 ωi = (∏n j=1 aij) 1 n ∑n k=1 (∏n j=1 akj) 1 n 计算结果如下: 表 8 几何平均法求解权重 C1 C2 C3 C4 C5 C6 C7 权重结果 0.3527 0.2783 0.1559 0.1011 0.0590 0.0316 0.0213 几何平均均法求权重的结果与前述权重结果差距较小, 验证了求解结果的正确性. 5 . 1 . 5 小结 为分析出出租车司机决策相关因素的影响机理, 从航班数和乘车比列两方面考虑 机场的乘客数量变化, 从时间或者空载成本考虑出租车的收益问题, 作为影响司机决 策的的指标因素,,建立层次分析法的出租车司机决策模型. 由模型求解的该权重表 可知,飞机航班数的权重为 0.3496, 乘车人数占比的权重 0.2778, 出租车数量的权重 0.1537 时间成本或空载成本 0.1031 路程的权重 0.0616, 时间段的权重 0.0324 气候的 权重 0.0218,其中, 飞机航班数的权重最大; 方案 A 与 C1C2C3C4C5C6C7 的权重之比 0.9000,0.9000,0.3333,0.2500,0.6666,0.3333,0.5000, 方案 B 与 C1C2C3C4C5C6C7 的权重比 为 0.1000,0.1000,0.6666,0.7500,0.3333,0.6666,0.5000. 根据上计算结果求解出方案 A 总分 为 0.7044 方案 B 为 0.2956,则方案 A 的总分大于方案. 因此, 司机的选方案 A 载客返市 作为其选择方案. 5 . 2 问题二的模型建立与求解 首先,根据搜集到的石家庄正定机场某一天 24h 内的到达航班时刻的信息进行处 理,分析出不同时刻的乘客数量. 根据搜集到的石家庄的出租车的相关数据,建立出租 车司机的收益函数; 采用蚁群算法对目标函数进行求解,对比方案 A 和 B 的收益结果, 给出出租车司机的选择决策方案. 其次,针对问题的相关依赖素分析,采取控制变量法, 分析计算结果,即当乘客数量和出租车数量不变时,增加平均每时段乘坐出租车人数的 到达量,分析结果。当乘客数量和平均每时段乘坐出租车人数的到达量不变时, 增加出 租车数量, 分析求解结果; 当出租车数量和平均每时段乘坐出租车人数的到达量不变,增 加乘客数量,分析求解结果, 得出模型对相关因素的依赖性程度. 5 . 2 . 1 模型建立 5 . 2 . 1 . 1 模型建立的过程 本题搜集到石家庄正定机场某一天的 24h 内到达的航班时刻,航班到达后相应的时 间差内到达的“乘车区”的乘客数量 Mi = Ci × P × λ 其中,Ci 表示某个时刻到达的航班 数量,P 表示平均每架飞机的乘客数量, λ 表示机场旅客交通选择出租车的比例. 对原始 数据进行插值处理,结果如下图所示: 10 图 2 不同时刻乘客前往乘车区的数量 由该图可进一步分析出在 9:02,11:24,14;52,17:38,22:36出现极大值,在 10:05,12:36,16: 17,20:49 出现极小值,这表明出租车的需求量的高峰出现在上午 9 点, 中午 11 点, 下午三 点,五点, 以及晚上十点. 查询到石家庄出租车数据见下表 表 9 石家庄出租车相关数据 数据 周日均运营车辆数 6.22 万辆 工作日日均高峰出车率 85.11 双休日高峰日均出车率 74.17 石家庄常住人口 1070.61 万 出租车车辆 6.27 万辆 车均日载客里程 156km 车均日空驶里程 84km 根据石家庄出租车定价以及机场距离市区的里程计算其收益. 石家庄出租车车均日 在客里程为 156 千米,车均日行驶里程为为 84 千米. 石家庄市出租车计费准则起步价位 为 5 元,2km 内五元,2 6km 的部分,每公里 1.6 元,6km 外的部分,每公里 1.8 元. 每公里 耗油 0.533 元/km, 出租车平均行车速度为 40km/h. 则收益方程如下: Fx =    5 0 < x ≤ 2 5 + 1.6(x − 2) 2 ≤ x ≤ 6 11.4 + 1.8(x − 6) 6 < x 建立出租车司机平均每小时收益方程, 出租车等待时间为 T1 某时刻乘客从机场到 达乘车区所用时间 T2;此时该乘客上车时间 T3;并且该乘客坐车到达目的地的时间 T4; 出租车载客收益为 F. 方案 A 选择的总时间为 TA = T1 + T2 + T3 + T4 11 则出租车司机平均每小时收益为 W1 = Fx TA 方案 B 平均公里收入为 1.84 元/km, 每公里耗油 0.533 元/km, 出租车平均速度为 40km/h,出租车司机的空载里程为 84km,出租车司机的日均里程为 156km。 出租车司机平均每小时收益为 W2 = Q × L2 − L × Y L V平 其中 Q 表示每公里平均收入,L 表示总里程,L2 表示日载客里程,Y 表示每公里耗油 量.V平 表示出租车的平均速度。即方案 AB 平均每小时的收益函数为    W1 = Fx TA W2 = L V平 以出租车司机的收入 z 最大为目标,以行驶速度,安全因素为约束条件,以上车时间为 决策变量建立优化模型 max z = Wi , i = 1, 2. s.t. v ≤ 60 5 . 2 . 2 模型求解 5 . 2 . 2 . 1 模型求解的过程 蚁群算法是利用蚁群搜索食物源时体现出的寻有能力求解离散系统优化某些难题 的一种新模拟进化算法。原理就是蚂蚁移动时,在自己走过的道路上留下了一种叫信息 素的材料来传递信息,蚂蚁移动时也能感受到这一材料,并用它来引导其移动方向,即 信息素浓度和路径长度呈反比关系。假使这样一条路径已经被前面的蚂蚁通过已留下信 息素,那么后面的蚂蚁在通过这个地方时会比较容易地选择信息素比较多的道路,那么 由数量众多的蚂蚁所构成的群体行为就表现出信息的正反馈,某条道路上行走的蚂蚁数 量越多则后来者选择这条道路的几率就越高,同时信息素浓度和道路长度呈反比关系, 最后产生最优道路的可能性就越高。 蚂蚁数量 Ant = 100;蚂蚁移动的次数 T imes = 100;信息素挥发系数 Rou = 0.8; 转移概率 P0 = 0.2。该算法的主要步骤如下: 1. nc = 0(nc 为达代步数或搜索次数),τij 和 △τij 初始化,将 m 蚂蚊置于 n 个顶点上; 2. 将各蚂蚁的初始出发点置于当前解集,对每个蚂蚁 k (k = 1, · · · , m). 按概率 p k ij 移至 下一顶点 j,将顶点 j 置于当前解集; 3. 计算各蚂蚁的目标函数值 Zk(k=1,··· ,m),记录当前的最好解; 4. 按更新方程修改轨迹强度; 5. 对各边弧 (i, j),置 △τij = 0,nc = nc + 1; 6. 若 nc < 预定的迭代次数,则转至步骤 2. 12 5 . 2 . 2 . 2 模型求解的结果 决策方案结果 方案 A 选择的总时间 TA = T1 + T2 + T3 + T4=54 min= 0.9 h;出租车司机得到的载 客收益 F=11.4 +1.8×(21.33 -6)- 21.33×0.553=27.19 元;A 选择出租车司机平均每小时 收入 W1 = F TA =27.19/0.9= 30.22 元。 B 方案选择:计算得到平均公里收入为 1.84 元/km,即市区内平均每公里载客收益 W1=1.84 元/km;每公里耗油 0.553 元/km,即市区内平均每公里花费油费 Y=0.553 元/km; 出租车平均行车速度 40 km/h,即市区内出租车的平均速度 V=40 km/h;市区内出租车 司机的日均里程为 156 km,即载客里程 L= 156 km;市区内出租车司机的空载里程为 84 km,即空载里程 Z= 84 km;最终计算得 W2=[1.84×156-(156+84)×0.553]/(156+84)/ 40=25.60 元. 由此得到 A 选择出租车司机平均每小时收入 W1=30.22 元,B 选择出租车司机平均 每小时收入 W2=25.60 元,即出租车司机会选择 A 方案。 依赖性分析 采用控制变量的方法分析模型对相关因素的依赖性. 增加平均每时段乘坐出租车人 数到达数量 p 增加,乘客数量 C2 和出租车数量 C3 不变,带入前述模型得出 T1=0,此 时选择 A。 增加乘客数量 C2 ,平均每时段乘坐出租车人数到达数量 p 和 C3 不变,此时 K=104, C3=135;带入上述模型得出 T1=8,即此时仍旧选择 A。 增加出租车数量 C3 增加,乘客数量 C2 和均每时段乘坐出租车人数到达数量 p 不 变, 带入上述模型得出 T1 =44,最终计算得 W1 < W2,此时选择 B。 因此我们得出结论此模型对于平均每时段乘坐出租车人数到达数量 p 的依赖性不 大,对于出租车司机观察得到得乘客数量 C2 和出租车数量 C3 的数据依赖性较大,乘客 数量 C2 和出租车数量 C3 的情况变化会显著影响出租车司机得决策。 合理性分析 为了衡量模型的合理性,我们对石家庄每时刻的航班到达量进行了加高斯噪声处 理,即噪声符合均值为 0, 方差为 σ 的正态分布,观察给出的决策方案中选择 B 的时段 长度的变化,结果如下表所示。“左”代表开始 B 选择的时刻,“右”代表结束 B 选择的 时刻. 表 10 加噪声处理对模型的影响 σ=1 σ=2 σ=3 σ=4 σ=5 左 12:24-12:24 12:24-12:30 12:18-12:30 12:18-12:30 12:18-12:30 右 14:54-15:00 14:54-15:00 14:48-15:06 14:48-15:06 14:48-15:06 B 选择的时段长度变化不大。以 σ=5 时的结果来看,开始时刻浮动了 0.1h,结束时 刻浮动了 0.2h,总浮动为 0.3h,则我们模型的准确率为百分之 88.46。 13 5 . 3 问题三的模型建立与求解 为合理设置上车点, 本文以乘车效率为优化目标,安全因素为约束条件,上车点数 量为决策变量,建立单目标优化模型. 其中,乘车效率地定义为平均乘客逗留时间与平 均出租车逗留时间之和的倒数;其次,根据泊松分布合理制定机场出租车乘车区运行规 则,利用蒙特卡洛模拟的方法,计算得到各方案对应的乘车效率。最后,采用灵敏度分 析系统模拟时间与系统运行时间是否稳定,以此验证了模型的合理性. 出租车逗留时间 之和的倒数 5 . 3 . 1 模型建立 5 . 3 . 1 . 1 模型建立的过程 优化目标 为使机场运作高效有序,从乘客和出租车两个方面考虑,既要减少乘客在机场的逗 留时间,也要减少出租车在机场的逗留时间。逗留时间定义为乘客等待上车时间与上车 时间之和。于是,我们定义乘车效率为平均乘客逗留时间与平均出租车逗留时间之和的 倒数,如下式所示: η = 1 ∑n i=1 ti/n + ∑m j=1 tj/m 其中,η 为乘车效率,n 和 m 为研究范围内的总乘客数与总出租车数,ti 为第 i 位乘客 的逗留时间,tj 为第 j 辆出租车的逗留时间。 约束条件 若开放的上车点数量过多,将会导致车辆管理与乘客安排的难度加大,容易造成不 安全事件的发生,故我们设定上车点数量不超过 12 个, 即 k ≤ 12 其中,k 为上车点的数量。 决策变量和环境参量 我们以上车点数量 k 为单决策变量,则上车点数量与方案呈一一对应关系。另外, 我们引入多种不同环境对最优方案选择的影响并在结果中进行分析讨论。这里,我们考 虑了两个可能对方案设计有影响的环境参量:单位时间到达机场的平均出租车数与平均 人数之比 α1、携带大件行李乘客的占比 α2。其中,α1 = λ11/λ2,λ1 为平均每分钟到达 机场的出租车数,λ2 为平均每分钟到达机场的乘客数。 模拟系统运行规则的设定 为了能够计算各种环境下每个方案的目标函数值,我们用计算机模拟的方法来描述 机场出租车乘客区的运行情况,通过合理的规则设定,使得在问题得以简化的同时也能 够反映问题的本质。 1. 车流和人流的生成:设定每分钟到达的出租车和乘客数量都服从泊松分布,平均每 分钟到达数分别为 α1 和 α2,其中到达的乘客分为大行李乘客和小行李乘客两类,携 带大件行李乘客的占比 α2。车流生成后进入蓄车池中排队等待再进入乘车区,新生 成的车辆排到蓄车池的末位位置;人流生成后到各个上车点等待上车,新生成的乘 客会优先选择所有上车点中排队人数最少的上车点进行排队或者直接上车,若有多 14 辆车可乘或多列队伍排队人数相同,则优先选择前排的上车点。每辆车和每位乘客 都安装有计时器,在生成后的初始时刻开始计时,直至离开乘车区计时结束,最终 计时器将会显示第 i 为乘客的逗留时间 ti,及第 j 辆出租车的逗留时间的时间 tj,计 时的最小单位为分钟。 2. 乘车区的设置:乘车区内设置有两列并行的车道及 k 个上车点,每个上车点对应着 一个出租车停靠点。 3. 车辆从蓄车池进入乘车区:采取分批进入乘车区方法,当原本乘车区内的出租车全 部离开后,再从蓄车池内调出与上车点数相同数量的出租车,共同驶入乘车区的各 个对应上车点,各辆车从蓄车池进入乘车区所耗费的时间相同。若蓄车池内车辆数 小于上车点数,则等待新的车辆生成,直至数量不低于上车点数时,再共同前往乘 车区。 4. 车辆载客:当车辆进入乘车区到达指定上车点后,若此时上车点有乘客,则直接上 车;否则等待至乘客到来。携带大件行李和小件行李的乘客上车时间分别为 t1,th。 5. 车辆离开乘车区:乘客上车完毕后,出租车即处于待启动状态,若该时刻前方无停 靠车辆,则启动车辆,并于 1min 后驶离乘车区,若该时刻前方有车则等待 1min 后 再此观测,直至前方无车再驶离乘车区。 6. 观测区间内的总乘客数 n 与总车辆车数 m:设置以截止时间 Tc,该时刻之后不再产 生车流与人流,继续以既定方式运作,直至车辆或乘客有一方全部离开机场。统计 全时间段内,能够离开机场的乘客数 n 与车辆数 m,即为需要被观测逗留时间的对 象。其中,对截止时刻后车辆离开乘车区的方法以修正,当车辆数少于上车点数时, 仍然全部驶入乘车区。按照以上运行方式进行模拟,经过对乘客与出租车计数器示 数的统计,并代 5 . 3 . 1 . 2 模型表达式 综上所述, 最后的优化模型为: max η = 1 ∑n i=1 ti/n + ∑m j=1 tj/m s.t. k ≤ 12 5 . 3 . 2 模型求解 本题具体探究整个模拟系统的工作流程。模拟系统的输入是上车点数 k 和环境变 量,包括平均每分钟到达机场的出租车数 λ1,平均每分钟到达机场的乘客数 λ2,还有 携带大件行李乘客的占比 α2。接收到输入后,系统开始初始化,将系统时间 T 设置为 0, 同时设置一个系统停止产生乘客和车辆的时间 Tc = 50。T < Tc 时,系统产生满足 λ1 为 均值的泊松分布随机数 Cart,然后产生 Cart 个车辆数据记录元胞 cellcar 来记录每个车 辆的信息。同理,对于乘客,系统产生满足 λ2 为均值的泊松分布随机数 Pt,然后产生 Pt 个车辆数据记录元胞 cellp 来记录每个乘客的信息。然后将出租车从蓄车池放行到接 客区,在 T < Tc 时,需要满足以下两个条件才会放行:(1) 上车点已经没有车,这是为 了保证司机和乘客的安全;(2) 蓄车池中等候的车数不少于上车点个数 k。因为我们要分 批放行,每次放行的车辆数等于上车点个数,若蓄车池中车辆数不够,则需等待后来产 生在蓄车池中的车。但是当 T>Tc 时,只需要满足上车点没有车这个条件就能放行,这是 因为就算蓄车池中车辆数不足 k 个,但是由于 T > Tc,已经不会有新的车辆产生,所以 就算等待,也不可以达到 k 个,于是我们选择将剩下的车全部放行。当出租车到达上车 点之后,就需要进行上车操作,这时,我们将每个出租车看作一个有限状态机,其状态 和事件在前面已经叙述。每个时刻系统会更新出租车的状态和乘客的信息,实现出租车 15 载客、驶离上车点、乘客上车、离开机场的整个过程。之后我们判断当前时间 T 是否大 于 Tc,如果否,则返回第二步并按一定概率分布随机生成乘客和出租车。如果是,则只 执行放行和上车的操作。在 T>Tc 时,我们要判断系统是否达到终止条件,如果乘客或 者出租车全部驶离了机场,我们就认为到达系统模拟的终止条件,否则继续放行上客。 本文采用蒙特卡洛来确定上车点数的最优解。 蒙特卡洛的算法步骤如下: 1. 置初始 n=2; 2. 若 n100,转步骤 7; 3. 置 E 为 n 个随机数的最大值,计算该次随机下 tper 的值; 4. 重复步骤 2-3 共 100 次,并储存每次随机的 tper,记为 tper(i)(i); 5. 置 tper 为 100 次 Step4 随机值的平均值 mean(tper); Step6 计算目标函数值置 n=n+2, 转步骤 2; 步骤 7 计算目标函数最大值及其对应的 n。 6. 计算目标函数值置 n=n+2,转步骤 2; 7. 计算目标函数最大值及其对应的 n。 5 . 3 . 2 . 1 模型求解的结果 乘车效率和上车点设置有关系,但在不同环境情况下,上车点的设置也可能不尽相 同,于是我们分别讨论车多于人、人多于车、人车数量基本相等、以及乘客携带行李多 少比例各异的情况下,如何设置上车点和管理乘客上车。对于车多于人的情况,我们假 设 λ1=4λ2=1,α2=0.5,即平均每秒产生 4 个出租车、而平均每秒只有 1 个乘客需要乘坐 出租车,同时乘客中有一半的乘客带着重行李。采用前面叙述的求解过程,得到的一组 模拟结果下表:λ1=4,λ2=1,2=0.5 时的一组模拟结果 表 11 模拟结果 1 系统结束时间 人车产生结束时间 车辆总数 产生乘客数 轻行李人数 重行李人数 51 50 191 42 23 19 表 12 模拟结果 2 人群总用时间 车辆总用时间 平均每个乘客用时 平均每辆出租车用时 上车点 目标函数值 105 934 2.5 4.9 2 0.135 由上表可知,当设置上车点数量 k 为 2 时,平均每个乘客从在上车点排队开始到乘 坐上出租车驶离机场用时 2.5 分钟,平均每辆出租车从在蓄车池中排队,到接到乘客离 开机场用时 4.9 分钟,这时对应的目标函数值为 0.135。但是,该模拟过程中有很多随机 因素共同影响系统输出结果,比如每秒具体产生了多少乘客和出租车,每个乘客具体的 携带行李情况等,所以为了较为准确得到 k=2 时的乘车效率,需要我们进行多次模拟, 然后取平均值。下面我们就 λ1=4,λ=1,α2=0.5 的环境参数,设置不同的上车点数量 k,来 探究在这种环境下,k 对乘车效率的影响,得到结果如下图 16 图 3 人多于车 每个上车点数量对应的用时,都是通过系统模拟 100 次,然后取平均的结果. 可见, 上车点数量为 4 时,乘客的平均用时和出租车的平均用时都达到最小,乘客平均用时 1.9 分钟,出租车平均用时 19.9 分钟,此时目标函数值也达到最大 0.0465,这时的乘车效率 最高。此后,随着上车点数量的增加,乘客和出租车所用的时间也逐渐增加,所以当车 多于人时,最优的上车点设置数量为 4 个。此外, 并不是上车点越多,乘客、出租车用 的时间就越短。这是因为每次放车都是等接客区内所有车都完了才能放车,在上车点数 量多,但是乘客较少的情况下,同一批车全部走完的时间需要很久,导致后方车辆全部 滞留在蓄车池里面,降低了乘车效率。 图 4 车多于人 面我们考虑人多于车的情况,设置 λ1=1,λ2=4,α2=0.5,得到上图. 由图可见,当人多 17 于车,且上车点数量为 4 个时,乘客的平均用时和出租车的平均用时都达到最小,乘客 平均用时 20 分钟,出租车平均用时 2 分钟,此时目标函数值也达到最大 0.045,这时的 乘车效率最高。此后,随着上车点数量的增加,乘客和出租车所用的时间也逐渐增加, 所以当车多于人时,最优的上车点设置数量为 4 个。这个结果和车多于人的情况相似, 但是原因不同,我们可以看到,车多于人的时候,车的平均排队时间远大于人的排队时 间,但是人多于车的时候,人的排队时间远大于车的排队时间。同时,在人多于车的情 况,当 k 很大时,车辆产生的数量很少,且每次要等待蓄车池中车辆数达到 k 后才能放 车,这将导致出租车和乘客的等待时间增加。结果也显示,乘车效率并不是一直随着 k 的增加而增加,在 k>4 之后,随着 k 的增加而减小。 图 5 人车数量相当情况图 最后我们考虑一般情况,当人和车的数量相当时,设置 λ1=3,λ2=3,α2=0.5,得到结 果如图 14。从图 14 可见,上车点数量越多,乘客和出租车平均用时越短,目标函数越 大,说明乘车效率越高,但是我们还要同时考虑安全性。开放的上车点越多,越难以管 理,安全性越低。观察图 14,我们看到当 k=8 之后,随着 k 的增加,目标函数值虽然在 增加,但是增加的幅度不大,而在 k40 时,人车用时保持恒定,故此时模拟运行的 结果与 Tc 大小无关,系统结果稳定,证明了我们前面选取 Tc=50(min) 是合理的,且得 到的结果是正确和稳定的。 5 . 3 . 4 小结 本题以乘车效率为优化目标,安全因素为约束条件,上车点数量为决策变量,建立 单目标优化模型; 其次,我们通过合理制定机场出租车乘车区运行规则,利用蒙特卡洛 模拟的方法,计算得到各方案对应的乘车效率。计算结果如下:当车多于人或者人多于 车的时候,设置 4 个上车点的效率最高,且在这两种情况下乘客平均用时分别为 1.9 分 钟、20 分钟,出租车的平均用时分别为 19.9 分钟、2 分钟;而在人和车数量相当时,在 保证安全性和方便管理的前提下,上车点数量设为 8 个时效率较高,乘客和出租车平均 用时都在 4 分钟左右。最后, 采用灵敏度分析, 得出当 Tc 大于 40 时,人车用时保持稳定, 系统结果稳定, 证明本题徐选取 Tc 为 50min 的合理性 5 . 4 问题四的模型建立与求解 5 . 4 . 1 模型建立 根据生活常识来说,在机场排队等待乘客的出租车绝大多数都是从市区长途载客到 达机场,很少一部分是因为从机场短途载客而又折回机场。因此我们认为对一辆短途返 回的出租车安排插队方式时,原本正在排队的车列中基本没有另外的短途返回出租车。 因此,我们希望达到的效果是,使这辆短途返回的出租车的在特定观测时间内收益值与 特定观测空间内的空载率,都能够接近于大多数出租车在对应观测范围的情况。 5 . 4 . 1 . 1 模型建立的过程 短途载客返回出租车在机场与城市间的往返情况 我们规定的观测时间范围内短途车有如下活动流程: 19 图 7 观测时间内短途车活动流程 根据上面的流程图,我们可以看到,定义的观测空间范围为该辆车从市区出发至再 次返回市区,观测的时间范围为短途车从市区出发至再次返回市区所耗的时间。若短途 车在短途返程后优先排到了第 m0 位,则在观测空间内,短途车的空载率可由下式表示: βshort = m/vleave + xshort/vtaxi + m0/vleave 2L/vtaxi + m/vleave + 2xshort/vtaxi + m0/vleave 其中,βshort 为短途车空载率,,含义为空载时间与总观测时间之比;2L/vtaxi 为长途 载客时间,2xshort/vtaxi 为短程往返时间,m0/vleave 和 m/vleave 分别为第一次与第二次的排 队等候时间。其中,m 为队列长度,由于忙期时间段内机场排队的车辆长度基本不变, 即 m 为一确定参量;vleave 为机场出租车通行能力;vtaxi 为出租车平均车速;xshort 为短 途距离;L 为机场到市中心的距离。在观测时间内,短途车单位时间收益可由下式表示: Wshort = 2WL + Wx 2L/Vtaxi + m/vleave + 2xshort/vtaxi + m0/vleave 其中,2WL 为往返长途载客的收益,Wx 为短程载客的收益。 多数出租车在机场与城市间的往返情况 图 8 观测时间内短途车活动流程 由图可见,在观测时间内,长途车与短途车相比,所经历的动作少了短程往返和第 二次排队的过程,而增加了在市内运营的时间。但观测空间仍然设定为从市区出发到回 到市区的过程,即观测空间并不包括在市区内运营的情况。那么,长途出租车在观测空 间内的空载率可表示为: βlong = m/vleave 2L/vtaxi + m/vleave 其中, m 为队列长度, 由于忙期时间段内机场排队的车辆长度基本不变, 即 m 为一确 定参量; Vleave 为机场出租车通行能力; v taxi 为出租车平均车速; L 为机场到市中心的距 离。长途出租车在观测时间内单位时间的收益可表示为: Wlong = 2WL + Wciry (T) 2L/vtaxi + m/vleave + T 其中, 2WL 为往返长途载客的收益; Wcity (T) 为返回市区后在市区内拉客的收益; T 为在市区内运营的时间, 根据长短途车的观测时间相同可以推知 T 的取值. 20 优化模型的建立 综合上面对两种情况出租车的讨论, 我们得到优化模型如下: min g (m0) = ε1 ( βlong − βshor ∆βmax )2 + ε2 ( Wlong − Wshon ∆Wmax )2 其中, ε1 和 ε2 为权重因子, ∆βmax 和 ∆Wmax 为归一化因子。变量的计算方法如下:    βshort = m/vleave + x/vlaxi + m0/vleave 2L/vtaxi + m/vleave + 2x/vlaxi + m0/vleave Wshort = 2WL + Wx 2L/vtaxi + m/vleave + 2x/vtaxi + m0/vleave βlong = m/vleave 2L/vtaxi + m/vleave Wlong = 2WL + Wciny (T) 2L/vtaxi + m/vleave + T 环境参量为系统的输入, 即短途历里程 xshort ; 决策变量为短途车在队列中的次序 m0 。下 面将通过优化算法寻找给定 xshort 下的最优排队次序 m0. 5 . 4 . 2 模型求解 根据前面建立的模型,我们根据短途车上一个短途单的行驶里程 xshort,来判断它 这次应该优先安排在什么位置。优先安排的最终目的是为了使短途车和长途车在空载率 和单位时间的收益据前面建立的模型,我们根据短途车上一个短途单的行驶里程 xshort, 来判断它这次应该优先安排在什么位置。优先安排的最终目的是为了使短途车和长途车 在空载率和单位时间的收益 图 9 短途车短途单行行驶里程对空载率和收益的影响 21 由图中可知,短途车上一个短途单的行驶里程越短,空载率越高,单位时间的收益 也越小。在 0 3km 之内,收益有一个增加现象是因为出租车起步价较高的原因,但是机 场高速距离大于 3km,故不会有乘客在 0 3km 下车,所以不考虑 0 3km 内收益随里程增 加而减少的极端情况。但是,我们可以通过有线安排短途车的排队位置来提高短途车单 位时间的收益,同时降低短途车的空载率。以上一个短途单为 15km 为例,优先排队位 置和空载率、收益关系如下图. 图 10 优先排队位置空载率和收益关系图 先排队的位置越靠前,短途车的空载率越低并且短车单位时间的收益越大。我 们的优先安排方案是使短途车的空载率、单位时间收益尽量和长途车相等,但是由 于使空载率最接近的排队位置不一定是使单位时间收益最接近的排队位置,于是我 们综合考虑两者,得到最佳的排队位置即优先安排方案。我们设置具体的环境参数 taxi=60km/h,vleave=60(辆/h),L=25.1km,m=100(辆)对于空载率和单位时间收益的权值ε1=0.5,ε2 =0.5,然后当一个短途车到达机场蓄车池之后,我们就能根据该出租车上一个短途单的 行驶里程搜寻到一个最优的排队位置,让该出租车在空载率和单位时间收益上都接近正 常的长途车。 5 . 4 . 2 . 1 模型求解的结果 首先,我们观察当改变优先排队位置时,短途车空载率、收益与长途车的对比, 以 直观找到较优的排队位置, 假设机场来了一个上一单行程为 15km 的短途车,那么不同 排队位置为下图所示: 22 图 11 位置对短长途车空载率的影响关系图 图 12 位置对短长途车单位时间的影响关系图 对于一个 15km 行程的短途车,若只考虑空载率均衡则它应该排在 15 的位置,若 只考虑单位时间收益的平衡,那么它应该排在 43 的位置。应用我们的模型,计算得到, 在当把该出租车排在 31 位时,价值函数 g 最小为 0.0072,此时考虑优先排队之后短途 车的空载率 0.69,单位时间收益为 53 元/h。前面我们假设短途车上一单的行驶里程为 15km,下面我们探究不同短途里程的最优优先排队位置,得到的结果如图所示: 23 图 13 短途里程与优先排队位置图 由该图可知,每一个短途行驶里程,都对应一个最优的排队位置,且短途越短,出 租车优先排队位置越靠前,当行驶里程达到 24km 时,优先排队位置为 90,已经接近排 队总长度。粗略观察,当行驶里程在 0 5km 之内,应该排在 10 位之前,当行驶里程在 5 12km 之内,应该排在 10 20 位之间,当行驶里程在 12 20km 之间,应该排在 20 40 位 之间,当行驶里程大于 20km,排队位置迅速接近总队列的尾部。如果按照图 13 所示的 对应关系排队,得到的空载率和单位时间收益结果如下图。 图 14 短途里程与优先排队位置图 我们按照最优排队方案排队之后,短途车的空载率与长途车的空载率近似相等,并 24 且短途车的单位时间收益与长途车的单位时间收益也近似相等,达到了我们均衡长途车 和短途车空载率、收益的目的,反映出这种优先排队方案的合理性。 5 . 4 . 3 检验分析 在第四问中,对于空载率和单位时问收益对系统排队的重要性给了两个权重 ε1,ε2, 不同的 ε1,ε2 组合,对系统排序的结果可能造成影响,下面我们以 xshort=15km,为例,改 变不同的:ε1,ε2 组合,观察系统做出的最优排队结果,结果如表 13: 表 13 不同权重下系统的优先排序结果表 ε1,ε2 0,1 0.1,0.9 0.2,0.8 0.3,0.7 0.4,0.6 0.5,0.5 短途车优先排队位置 43 40 37 35 33 31 表 14 不同权重下系统的优先排序结果表 ε1,ε2 0.6,0.4 0.7,0.3 0.8,0.2 0.9,0.1 1,0 短途车优先排队位置 29 26 23 19 15 从表 13 可见,当 ε1,ε2 的值分别为 0、1 时,短途车应该被排在 43 的位置,而当 ε1,ε2 的值分别为 1、0 时,短途车应该排在 15 的位置。当两者比例在其他值时,短途车的最 优的排队位置在 15 43 之间,可见 ε1,ε2 的值对系统排队的结果是有一定影响的,这也反 映出当我们在空载率、单位时问收益这两者之间做抉择时,会影响我们的排队位置。 六、 模型评价与推广 6 . 1 模型评价 综合考虑了多种影响司机决策的确定因素与随机因素,从出租车司机的切身思想出 发,进行设身处地的思考与建模分析讨论了多种环境条件下的司机决策策略,验证了模 型的可靠性和合理性通过合理指定机场出租车上客机制计算各种上车点数量下的乘车 效率,并且分析讨论了各环境参量对上车点数量安排的影响,对机场管理部门的统筹安 排具有建议性。 6 . 2 模型推广 加入考虑网约车与地铁对出租车司机决策策略的影响,修正两种方案收益的计算方 法,搜集有关乘客乘出租车出行距离的真实统计数据,通过数据对随机因素的概率密度 进行拟合,使得随机因素更符合生活实际,对于机场排队的出租车类型进行更加详细地 讨论,讨论队列中各类出租车分布的随机性,使得模型更加贴合实际情况,查找一些设 定参数的真实取值,利用这些真实生活中的参数值进行模拟,使得模拟结果更具有实际 效用. 25 参考文献 [1] 姜锋, 张百祖. 基于层次分析法和变异系数法的酒泉市水资源承载能力分析评价研 究 [J/OL]. 节水灌溉:1-13. [2] 周洁, 胡凌娟, 怀晴雨. 基于主成分分析和 TOPSIS 模型的我国各省份医疗水平评价 [J/OL]. 中国全科医学:1-8. [3] Muthuvalu S M,Galligani E,Ali M K M, et al. Performance analysis of Arithmetic Mean method for solving composite 6-point closed Newton–Cotes quadrature algebraic equation[J]. Asian-European Journal of Mathematics,2019,12(4). [4] 徐改丽, 杨涵. 基于加性一致的直觉模糊偏好关系一致性检验与调整新方法 [J]. 模糊 系统与数学,2023,37(01):75-84. [5] 黄荣锋, 刘世芳, 赵永华. 批量厄米矩阵特征值分解的 GPU 算法 [J]. 计算机科 学,2023,50(04):397-403. [6] 俞立平, 琚春华. 一种兼顾协调发展的学术期刊评价方法——因子几何平均法 [J]. 情 报杂志,2019,38(01):194-199 [7] 王浩东, 侯增选, 张伟超等. 基于蚁群算法的绝热层缠绕路径优化 [J/OL]. 复合材料科 学与工程:1-7[2023-08-10] [8] 庞盈, 陈生, 胡俊俊等. 不同控制变量方案对广州暴雨过程雷达资料同化和预报的影 响 [J]. 中山大学学报 (自然科学版)(中英文),2023,62(03):35-46. [9] 雷雪梅, 刘丽, 王倩. 基于线性规划松弛的移动边缘计算卸载模型 [J]. 计算机科 学,2023,50(S1):636-640. [10] 徐浩博, 张天浩, 吕会议等. 基于蒙特卡罗方法的 D-D 中子发生器辐射防护研究 [J/OL]. 四川大学学报 (自然科学版),2023(04):126-133[2023-08-09]. [11] 王佳宁, 杨仁海, 姚张浩等. 基于深度强化学习的有源中点钳位逆变器效率优化设计 [J/OL]. 电子与信息学报:1-10. [12] Behnam R,Maryam A,Mohammad R. Learning graph from graph signals: An approach based on sensitivity analysis over a deep learning framework[J]. Knowledge-Based Systems,2023,260. 26 附 录 附录一 问题一的代码 code1.m 代码如下 disp ( '请输入判断矩阵A') %A=input('A='); A=[1 2; 1/2 1]; [n,n] = size (A); % % % % % % % % % % % % %方法1: 算术平均法求权重% % % % % % % % % % % % % Sum_A = sum(A); SUM_A = repmat(Sum_A,n,1); Stand_A = A ./ SUM_A; disp ( '算术平均法求权重的结果为:'); disp (sum(Stand_A,2)./n) % % % % % % % % % % % % %方法2: 几何平均法求权重% % % % % % % % % % % % % Prduct_A = prod(A,2); Prduct_n_A = Prduct_A .^ (1/ n); disp ( '几何平均法求权重的结果为:'); disp (Prduct_n_A ./ sum(Prduct_n_A)) % % % % % % % % % % % % %方法3: 特征值法求权重% % % % % % % % % % % % % [V,D] = eig (A); Max_eig = max(max(D)); [ r ,c]= find (D == Max_eig , 1); disp ( '特征值法求权重的结果为:'); disp ( V (:, c) ./ sum(V(:,c) ) ) s=(sum(Stand_A,2)./n)+(Prduct_n_A ./ sum(Prduct_n_A))+( V(:,c) ./ sum(V(:,c) ) ) ; s=s ./3; disp ( '平均权重:'); disp (s ) ; % % % % % % % % % % % % %下面是计算一致性比例CR的环节% % % % % % % % % % % % % CI = (Max_eig − n) / (n−1); RI=[0 0.0001 0.52 0.89 1.12 1.26 1.36 1.41 1.46 1.49 1.52 1.54 1.56 1.58 1.59]; %注意哦,这里的RI最多支持 n = 15 CR=CI/RI(n); disp ( '一致性指标CI=');disp(CI); disp ( '一致性比例CR=');disp(CR); if CR= 0.10,因此该判断矩阵A需要进行修改!'); end disp ( '请输入判断矩阵A') %A=input('A='); A=[1 2 3 5 6 7 9; 1/2 1 3 5 6 6 8; 1/3 1/3 1 2 4 6 7; 1/5 1/5 1/2 1 3 5 6; 1/5 1/6 1/4 1/3 1 3 5; 1/7 1/6 1/6 1/5 1/3 1 2; 1/9 1/8 1/7 1/6 1/5 1/2 1;] [n,n] = size (A); % % % % % % % % % % % % %方法1: 算术平均法求权重% % % % % % % % % % % % % Sum_A = sum(A); SUM_A = repmat(Sum_A,n,1); Stand_A = A ./ SUM_A; disp ( '算术平均法求权重的结果为:'); disp (sum(Stand_A,2)./n) % % % % % % % % % % % % %方法2: 几何平均法求权重% % % % % % % % % % % % % Prduct_A = prod(A,2); Prduct_n_A = Prduct_A .^ (1/ n); disp ( '几何平均法求权重的结果为:'); disp (Prduct_n_A ./ sum(Prduct_n_A)) % % % % % % % % % % % % %方法3: 特征值法求权重% % % % % % % % % % % % % [V,D] = eig (A); Max_eig = max(max(D)); [ r ,c]= find (D == Max_eig , 1); disp ( '特征值法求权重的结果为:'); disp ( V (:, c) ./ sum(V(:,c) ) ) s=(sum(Stand_A,2)./n)+(Prduct_n_A ./ sum(Prduct_n_A))+( V(:,c) ./ sum(V(:,c) ) ) ; s=s ./3; disp ( '平均权重:'); disp (s ) ; % % % % % % % % % % % % %下面是计算一致性比例CR的环节% % % % % % % % % % % % % CI = (Max_eig − n) / (n−1); RI=[0 0.0001 0.52 0.89 1.12 1.26 1.36 1.41 1.46 1.49 1.52 1.54 1.56 1.58 1.59]; %注意哦,这里的RI最多支持 n = 15 CR=CI/RI(n); disp ( '一致性指标CI=');disp(CI); disp ( '一致性比例CR=');disp(CR); 28 if CR= 0.10,因此该判断矩阵A需要进行修改!'); end 附录二 问题二的代码 code2.m 代码如下 function y = Fitness_ACO(x,method) % 蚁群算法ACO的 函数优化分析 % 输入: % x − 个体 % method − aco蚁群算法 % 输出: % fitness − 返回适应度值 if ( nargin> 1 for k=1:length (x) if Lb(k)>x(k) || x(k)>Ub(k) if Lb(k)>x(k) y = y + Penalty* (Lb(k)−x(k)); else y = y + Penalty* (x(k)−Ub(k)); end end end sumaij = sum(xtemp,2); 29 for i = 1:20 if sumaij( i ) >1 y = y + Penalty* sumaij(i )* sumaij(i ) ; end end sumaij = sum(xtemp,1); for i = 1:13 if sumaij( i ) ~=1 y = y + Penalty* (sumaij(i )−1)* (sumaij(i )−1); end end end %% 基于蚁群算法ACO的函数优化分析 clc % 清屏 %clear all ; % 删除workplace变量 %close all ; % 关掉显示图形窗口 warning off tic ; % 计时开始 %% 参数设置(!!!修改变量边界!!!) global popmin popmax % 变量的界限 popmin=zeros(1,20* 13); %下边界Lb popmax=ones(1,20* 13); %上边界Ub numvar = length (popmin); %% 蚁群算法ACO参数初始化 Ant = 100; % 蚂蚁数量 Times = 100; % 蚂蚁移动次数 Rou = 0.8; % 信息素挥发系数 P0 = 0.2; % 转移概率常数 %% 产生初始粒子和速度 for i=1:Ant % 随机产生一个种群 30 for j = 1: numvar pop(i , j ) = (rand (1,1) * ( popmax(j)−popmin(j) ) + popmin(j) ) ; % 初始种群个体 end % 计算适应度 fitness ( i ) = Fitness_ACO( pop(i ,:) , ' aco' ) ; % 染色体的适应度 end % 找最好的染色体 [ bestfitness bestindex ]=min( fitness ) ; % 最大适应度值 zbest = pop(bestindex ,:) ; % 全局最佳 gbest = pop; % 个体最佳 fitnessgbest = fitness ; % 个体最佳适应度值 fitnesszbest = bestfitness ; % 全局最佳适应度值 %% 迭代寻优 for T = 1:Times disp ([ '迭代次数: ' ,num2str(T) ]) % 迭代次数 lamda = 1/T; % 随着迭代次数进行,蚂蚁信息素挥发参数 [ bestfitness , bestindex ]=min( fitness ) ; % 找最好的适应度值 ysw(T) = bestfitness ; % 存储最好的适应度值 for i=1:Ant P(T,i )=( fitness ( bestindex )− fitness ( i ) ) / fitness ( bestindex ) ; % 计算状态转移概率 end % 蚂蚁个体更新 for i=1:Ant if P(T,i )popmax); temp(i ,index)=popmax(index); index = find (temp(i ,:) Total_time break; else number = sum(events(4,member) > events (1, i ) ) ; %如果系统已满,则系统拒绝第 i个顾客,其标志位置 0 if number >= N+1 events (5, i ) = 0; %如果系统为空,则第 i个顾客直接接受服务 else if number == 0 %其等待时间为 0 2009.1516 %PROGRAMLANGUAGEPROGRAMLANGUAGE events (3, i ) = 0; %其离开时刻等于到达时刻与服务时间之和 events (4, i ) = events (1, i )+events (2, i ) ; %其标志位置 1 events (5, i ) = 1; member = [member,i]; %如果系统有顾客正在接受服务,且系统等待队列未满,则 第 i个顾客进入系统 33 else len_mem = length(member); %其等待时间等于队列中前一个顾客的离开时刻减去其到 达时刻 events (3, i )=events (4, member(len_mem))−events(1,i); %其离开时刻等于队列中前一个顾客的离开时刻加上其服 %务时间 events (4, i )=events (4, member(len_mem))+events(2,i); %标识位表示其进入系统后,系统内共有的顾客数 events (5, i ) = number+1; member = [member,i]; end end end end %仿真结束时,进入系统的总顾客数 len_mem = length(member); %***************************************** %输出结果 %***************************************** %绘制在仿真时间内,进入系统的所有顾客的到达时刻和离 %开时刻曲线图(stairs:绘制二维阶梯图) stairs ([0 events (1, member)],0:len_mem); hold on; stairs ([0 events (4, member)],0:len_mem,'.−r ' ) ; legend( '到达时间 ' , '离开时间 ') ; hold off ; grid on; %绘制在仿真时间内,进入系统的所有顾客的停留时间和等 %待时间曲线图(plot:绘制二维线性图) figure ; plot (1:len_mem,events(3,member),'r−* ' ,1: len_mem,events(2,member)+events(3,member),'k−'); legend( '等待时间 ' , '停留时间 ') ; grid on; 附录一 问题四的代码 code4.m 代码如下 34

  • 10
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
很抱歉,我无法提供2019全国数学建模大赛c出租车机场数据。这是一道关于机场出租车司机决策的问,需要收集相关数据并建立数学模型进行分析。根据引用\[1\]中的问描述,这道目要求分析与出租车司机决策相关因素的影响机理,综合考虑机场乘客数量的变化规律和出租车司机的收益,建立出租车司机选择决策模型,并给出司机的选择策略。同时,还需要收集国内某一机场及其所在城市出租车的相关数据,给出该机场出租车司机的选择方案,并分析模型的合理性和对相关因素的依赖性。此外,还需要在某些时候,根据乘客排队乘车和出租车排队载客的情况,合理设置上车点,安排出租车和乘客,以提高总的乘车效率。最后,还需要给出一个可行的“优先”安排方案,使得机场的出租车载客收益尽量均衡。这道目涉及到多个因素和变量,需要进行综合分析和建模求解。 #### 引用[.reference_title] - *1* [2019全国数学建模大赛c出租车机场数据](https://blog.csdn.net/qq1225598165/article/details/100889036)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [数学建模笔记之一起读论文2019C——机场出租车问2](https://blog.csdn.net/zty5556666/article/details/119975491)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

墨墨祺

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值