一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种需求驱动的共享观光车区域间并行优化调度方法与流程

2021-12-15 01:42:00 来源:中国专利 TAG:


1.本发明属于共享观光车技术领域,具体涉及一种需求驱动的共享观光车区域间并行优化调度方法。


背景技术:

2.共享观光车是一种新的景区旅游交通方式,与传统的公共观光车相比,共享观光车具有更加灵活自由的特点,与私家车相比,共享观光车更加环保便利,共享观光车为景区发展可持续绿色交通提供了有效的解决方案和全新运营思路。虽然共享观光车具有极佳的市场潜力,但在实际运营过程中,共享观光车运营企业面临着高投入、低收益的困局,同时面临着风险管理、车辆调度等难题。
3.对于共享观光车需求较大的景区,共享观光车资源紧张无法及时调度补足;对于观光车需求较小的景区,大量共享观光车的库存积压,不仅造成了资源的浪费,还增加了企业的运营成本。因此根据景区的需求合理安排调度方案,解决共享观光车的调度问题十分重要。传统的调度方案由一种调度车服务全部景区,会出现频繁的远距离调度问题,导致出现调度低效且不及时的情况,研究区域间并行优化调度方法能够有效解决统一调度的低效问题,能够很好地提高共享观光车的调度效率。


技术实现要素:

4.本发明的目的就是为了解决上述背景技术存在的不足,提供一种需求驱动的共享观光车区域间并行优化调度方法,使调度模型求解效率有所提高,解决共享观光车区域间并行调度问题。
5.本发明采用的技术方案是:一种需求驱动的共享观光车区域间并行优化调度方法:包括以下步骤:
6.s1,获取景区数据信息并生成景区数据集;
7.s2,以最小调度成本为目标,构建基于通过调度车运载共享观光车至所需景区的方式实现景区共享观光车区域间并行的调度模型并设置调度模型的约束条件;
8.s3,从景区数据集和外部输入的设定信息中获取待计算的景区和调度车的数据信息并代入调度模型,利用mfea算法对调度模型进行求解,得到的最优解作为景区共享观光车区域间并行调度方案,所述景区共享观光车区域间并行调度方案包括针对多个区域的调度任务,所述调度任务是指:针对某一个区域生成的,由指定数量的调度车按照指定的景区途径顺序运载指定数量的共享观光车至指定的景区的调度方案,其中调度车从调度中心出发时运载有指定数量的共享观光车,调度车达到指定的景区后在景区内装卸该景区所需数量的共享观光车,装卸完毕后调度车运载剩余的共享景区观光车前往指定的景区途径顺序上的下一个景区;其中指定的参量通过调度模型的求解计算获得。
9.上述技术方案中,所述步骤s1具体包括以下步骤:
10.s1.1,确定景区所属区域并确定该区域的景区数量;对同一区域的景区进行顺序
编号;
11.s1.2,获取每个景区共享观光车的需求量;
12.s1.3,获取每个区域的调度车的最大容量,所述最大容量是指每辆调度车最多能承载多少辆共享观光车;
13.s1.4,给定每一个区域中编号为0的景区为唯一调度中心;
14.s1.5,获取各个景区坐标数据,计算同一区域内每两个景区之间的距离;
15.s1.6,按照区域对上述数据信息进行分类整理形成景区数据集。
16.本发明对各区域景区进行顺序编号,便于后期调度路径的表达,获取各类数据并处理用于后续算法计算。
17.上述技术方案中,所述步骤s2中,将调度成本设置为调度车的运输成本与派遣成本之和,得到调度模型的目标函数,其中目标函数的表达式为:
[0018][0019]
其中,c
m
为区域m内调度车单位距离行驶成本;
[0020]
e
m
为区域m内一辆调度车执行单次调度任务的派遣成本;
[0021]
m为区域集合,m为区域集合内的某一个区域;
[0022]
v为调度车集合,v为调度车集合内的某一辆调度车;
[0023]
i为投放有调度车的景区集合,i和j为景区集合中的某一个景区;
[0024]
x
vij
为决策变量,表示第v辆调度车是否由景区i行驶至景区j,若有,则值为1,否则为0;
[0025]
x
v0j
为决策变量,表示第v辆调度车是否由调度中心行驶至景区j,若有,则值为1,否则为0;
[0026]
d
ij
为景区i与景区j之间的距离;
[0027]
f为调度成本,min表示求取最小值。
[0028]
上述技术方案中,目标函数是根据景区通过调度车对共享观光车进行调度的实际特征,进而概括成数学模型的形式进行表述,便于对调度问题进行计算分析。
[0029]
上述技术方案中,所述步骤s2中的约束条件包括:调度车驶离某个景区时的装载量为小于最大装载量的自然数;
[0030]
调度车驶离某个景区时的共享观光车装载量须能满足下一目标景区的共享观光车需求量;
[0031]
调度车在调度过程中不出现跨区域调度的情况;
[0032]
调度车由某一区域的调度中心出发,且最终返回该区域的调度中心;
[0033]
调度车从调度中心出发,到最终回到调度中心的最大行驶距离不得超过调度车本身的最大续航距离;
[0034]
每个有调度需求的景区只会被一辆调度车访问一次,不会被同一辆访问一次以上,不会被一辆以上的调度车访问。
[0035]
本发明的调度模型的约束条件,通过对调度问题的细化表述,使调度模型更加接近实际问题所面临的情况,进一步强化了调度模型的适用性。
[0036]
上述技术方案中,所述步骤s3具体包括以下步骤:
[0037]
s3.1,设置mfea算法参数;
[0038]
s3.2,调用景区数据集中的景区数据信息,录入人工设定的调度车信息,并根据获得的景区数据信息和调度车信息设置目标函数参数;初始化所有区域的调度任务数据;
[0039]
s3.3,初始化目标函数的最优解矩阵;
[0040]
s3.4,通过mfea算法计算目标函数的最优解矩阵生成初始种群;
[0041]
s3.5,计算初始种群中每个个体在不同区域的调度任务中的因子代价;所述因子代价中存储有目标函数的计算值;
[0042]
s3.6,根据因子代价计算结果,淘汰不符合约束条件的个体,保留符合约束条件的个体;
[0043]
s3.7,判断保留的符合约束条件的个体是否达到所设定的mfea算法参数中的种群规模数;如果达到执行则步骤s3.8;如果没有达到,则重复步骤s3.4,与之前获得的符合约束条件的个体组成新的初始种群,重复步骤s3.5

s3.7
[0044]
s3.8,计算初始种群中个体的因素等级,并根据因素等级确定个体的技能因素;将初始种群作为父代种群;
[0045]
s3.9,对父代种群进行交叉、变异获得子代种群,子代种群的个体技能因素继承父代种群的技能因素,根据技能因素计算子代种群中个体的因子代价;其中,没有技能因素的个体在所有区域中进行因子代价计算,拥有技能因素的个体仅在技能因素所指的一个区域中进行因子代价计算;根据子代种群中个体的因子代价计算结果筛选出符合约束条件的个体并进行保留;
[0046]
s3.10,判断符合约束条件的子代种群中的个体是否达到所设定的mfea算法参数中的种群规模数,如果达到则执行步骤s3.11,如果未达到则采用同一父代种群继续执行步骤s3.9,生产子代种群,直至保留的符合约束条件的个体达到所设定的mfea算法参数中的种群规模数;其中,每次执行步骤s3.9均需要对符合约束条件的个体进行保留,多次计算的保留的个体数量达到mfea算法参数中的种群规模数要求。
[0047]
s3.11,将父代种群与子代种群合并成新种群,更新新种群的标量适应度、技能因素及因素等级,根据标量适应度采用精英保留策略筛选出新的父代种群;
[0048]
s3.12,判断是否达到步骤s3.1所设mfea算法参数中的迭代次数,若尚未达到迭代次数,则重复步骤s3.9

s3.11,若达到迭代次数,则算法终止;得到的最后一代种群中目标函数值最低的个体,该个体对应的目标函数解的信息组合而成的调度方案作为景区共享观光车区域间并行调度最佳方案。
[0049]
其中最后一代种群指的是达到迭代次数的种群,比如迭代次数设置为100,那么此处指第100代种群。本发明采用mfea算法对调度模型进行求解,具有优秀的解决多区域多任务问题的效果,任务之间的信息交换有利于同时处理多个任务,加快收敛,减少了优化算法的运行时间。
[0050]
上述技术方案中,步骤s3.2具体包括以下步骤:
[0051]
按照景区数据集数据的所有区域个数设置调度任务个数,按照各区域的除调度中心以外的景区数量设置各调度任务维度,以最大维度数作为所有调度任务的统一搜索空间;调用景区数据集中数据设置各景区的共享观光车需求量、景区间的距离、景区与其所在
区域的调度中心的距离;根据外部录入信息设置调度车的最大装载量、执行单次调度派遣成本、单位距离行驶成本和最大续航距离,设定目标函数的参数值和约束条件值。通过将最大任务维度设定为统一搜索空间,有利于不同任务之间的信息交换,同时处理多个不同调度任务。
[0052]
上述技术方案中,步骤s3.3具体包括以下步骤:设置g行k列的零矩阵记录每代最好的适应度值,其中g为算法迭代次数加一,k为调度任务数。通过设定记录最优解的矩阵,用于记录迭代过程的最优解情况,有利于最终运算结果的统计分析。
[0053]
上述技术方案中,步骤s3.4中,种群中的个体信息包括染色体、因子代价、因子等级、标量适应度、技能因素、调度车数量和分隔节点;所述分隔节点用于对个体的染色体进行分割;
[0054]
初始种群对染色体进行1至最大维度数的随机序列整数编码,初始化个体因子代价、因子等级、标量适应度、技能因素为0,随机分配小于染色体长度的调度车辆数,一个染色体中分隔节点的个数固定为调度车辆数减一,分隔节点的位置为随机分配;两个分隔节点之间的调度路径由一辆调度车进行调度;所述调度路径是指某个调度车从调度中心出发,按照景区编号组成的序列依次经过景区编号对应的景区,最终回到调度中心。通过对初始种群相关信息进行定义并初始化,使得算法本身更适用于调度模型的求解过程,有益于后续算法进行相关计算。
[0055]
上述技术方案中,步骤s3.5具体包括以下步骤:
[0056]
计算种群中每个个体在不同区域的调度任务中的目标函数值作为每个个体对应的因子代价,其中不符合约束条件的因子代价为无穷大量,更新初始种群的因子代价。步骤s3.5中最开始的初始化因子代价全为0,此处更新指将因子代价的初始值更新为计算目标函数的所得值。所述的因子代价的计算即为目标函数值的计算。本发明在计算因子代价的同时,标记不符合约束条件的个体,淘汰不符合约束条件的个体,避免后续算法出现不必要的无效计算而降低算法效率。
[0057]
上述技术方案中,步骤s3.8中,因子等级为个体在某一调度任务下的因子代价按照升序排列后的排名情况,个体的技能因素为该个体在所有调度任务中排名最佳的任务索引值。本发明通过确定个体的因子等级和技能因素,找到该个体在哪个区域中表现最优,进而在后续计算中,仅在该区域中进行计算,减小了算法处理多个任务的计算量,提高算法计算效率。
[0058]
本发明的有益效果是:为景区共享观光车的调度提供了一种需求驱动的共享观光车区域间并行优化调度方法,通过建立以最小调度成本为目标的共享观光车区域间并行调度模型为复杂的共享观光车并行调度问题提供了简洁的表达方式,并通过mfea算法对问题模型进行计算求解,为景区共享观光车区域间并行调度提供了高效的解决方案,有效降低了调度成本,提高了调度效率。
附图说明
[0059]
图1为本发明的流程示意图;
[0060]
图2为本发明的获取并处理具有调度需求的景区相关数据流程图;
[0061]
图3为本发明的建立景区共享观光车区域间并行调度模型流程图;
[0062]
图4为本发明的mfea算法执行流程图;
[0063]
图5为本发明的mfea算法求解三个区域调度任务迭代过程中每一代的最优目标函数值图;
[0064]
图6为本发明的mfea算法与遗传算法求解三个区域调度任务的迭代曲线对比图。
具体实施方式
[0065]
下面结合附图和具体实施例对本发明作进一步的详细说明,便于清楚地了解本发明,但它们不对本发明构成限定。
[0066]
如图1所示,本发明提供了一种需求驱动的共享观光车区域间并行优化调度方法,包括以下步骤:
[0067]
(1)生成景区数据集,获取相关数据信息并进行数据处理;
[0068]
(2)以最小调度成本为目标,构建基于通过调度车运载共享观光车至所需景区的方式实现景区共享观光车区域间并行的调度模型并设置调度模型的约束条件;
[0069]
(3)利用mfea算法对调度模型进行求解,根据所述调度模型的最优解得到最佳的景区共享观光车区域间并行调度方案;所述景区共享观光车区域间并行调度方案包括针对多个区域的调度任务,所述调度任务是指:针对某一个区域生成的,由指定数量的调度车按照指定的景区途径顺序运载指定数量的共享观光车至指定的景区的调度方案,其中调度车从调度中心出发时运载有指定数量的共享观光车,调度车达到指定的景区后在景区内装卸该景区所需数量的共享观光车,装卸完毕后调度车运载剩余的共享景区观光车前往指定的景区途径顺序上的下一个景区;其中指定的参量通过调度模型的求解计算获得。
[0070]
(4)利用遗传算法对调度模型进行求解,将所得结果与mfea算法结果进行对比。
[0071]
其中,调度车是用来运载共享观光车的,共享观光车是调度的对象,调度车是用来执行调度任务的车辆。景区的需求是针对共享观光车而言的。景区的需求量是指对共享观光车的需求量。
[0072]
如图1所示,生成景区数据集获取并处理具有调度需求的景区相关数据包括以下步骤:
[0073]
(1.1)基于开源实例库cvrplib生成基准测试集,见表1。表中node表示同一区域内的景区编号,coord表示景区坐标,demand表示该区域内共享观光车需求量,capacity表示区域调度车的最大容量;同一区域的调度车容量一致,不同区域的调度车容量存在差别。
[0074]
表1基准测试集
[0075][0076][0077]
(1.2)给定每一区域的0号景区为该区域的唯一调度中心;
[0078]
(1.3)计算同一区域内景区之间的欧氏距离。
[0079]
如图2所示,构建景区共享观光车区域间并行调度模型包括以下步骤:
[0080]
(2.1)将调度成本设置为调度车的运输成本与派遣成本之和,得到目标函数;
[0081][0082]
其中,c
m
为区域m内调度车单位距离行驶成本;
[0083]
e
m
为区域m内一辆调度车执行单次调度的派遣成本;
[0084]
m为调度区域集合,m为区域集合内的某一个区域;
[0085]
v为调度车集合,v为调度车集合内的某一辆调度车;
[0086]
i为投放有调度车的景区集合,i和j为景区集合中的某一个景区;
[0087]
x
vij
为决策变量,表示第v辆调度车是否由景区i行驶至景区j,若有,则值为1,否则为0;
[0088]
x
v0j
为决策变量,表示第v辆调度车是否由调度中心行驶至景区j,若有,则值为1,否则为0;em仅表示一辆调度车的派遣成本,x
0jv
是一个累加的状态,有一辆车从0号调度中心出发则为1没有则为0,累加后所得即为派遣的调度车辆数;
[0089]
d
ij
为景区i与景区j之间的距离;
[0090]
f为调度成本。
[0091]
(2.2)对调度车容量设置约束条件,调度车驶离景区时的装载量为小于最大装载量的自然数;
[0092]
0≤q
i
≤q,q
i
为单个调度车离开景区i时的装载量且为整数,q为调度车最大装载量。
[0093]
(2.3)规定调度车驶离景区时的装载量须能满足下一目标景区的调度需求;
[0094]
r
j
为景区j的调度需求量
[0095]
(2.4)规定调度车调度过程中不出现跨区域调度的情况;
[0096][0097]
i
m
:景区i所属区域为区域m;
[0098]
j
m
:景区j所属区域为区域m
[0099]
(2.5)规定调度车由某一区域的调度中心出发,且最终返回该区域的调度中心;x
vi0
为决策变量,表示第v辆调度车是否由景区i行驶至调度中心,若有,则值为1,否则为0;
[0100][0101]
(2.6)规定调度车从调度中心出发,到最终回到调度中心的最大行驶距离不得超过其最大续航距离;
[0102][0103]
l为调度车最大续航距离。
[0104]
(2.7)规定每个有调度需求的景区均被调度车服务一次,且仅服务一次。
[0105][0106]
如图3所示,利用mfea算法对调度模型进行求解包括以下步骤:
[0107]
(3.1)设置算法参数,包括种群规模、迭代次数、种群跨区域交叉概率,本实施例中具体算法参数设置如下:
[0108]
表2 mfea算法参数
[0109]
参数名称参数值种群规模300最大迭代次数300种群跨区域交叉概率0.3
[0110]
(3.2)初始化景区共享观光车区域调度任务:通过调用基准测试机数据根据测试集数据的调度区域个数设置任务个数,根据各区域的景区数量设置各任务维度(区域数量=任务个数;一个区域内除调度中心外的景区数量=该区域调度任务维度),以最大维度数作为所有任务的统一搜索空间,根据基准测试集数据设置各景区的需求数据、景区间的距离、景区与调度中心的距离。根据工作人员人工录入的信息设置调度车最大容量、单次派遣成本、单位距离行驶成本和最大续航距离,并据此设置各个区域的调度任务的参数,从而设定目标函数的计算参数。初始化区域调度任务使用的调度车数量和分隔节点,其中调度车辆数参与目标函数的计算,与派遣成本(e
m
)有关,一辆调度车就需要一份派遣成本;分隔节点起到将算法结果描述成可行性方案的辅助性作用。所述辅助性作用如:某个体的染色体为5 1 2 4 3;调度车辆数为2,分隔节点数量为调度车辆数

1,为1;分隔节点位置为随机分配,假定此处分隔节点为2,则从染色体的第二个位置进行分割,一部分为5 1,另一部分为2 4 3则该染色体表达的调度路径为两条:一:0
‑5‑1‑
0;二:0
‑2‑4‑3‑
0。其中,染色体指对1至景区数量(该区域的维度数)的随机序列整数编码的编码结果。
[0111]
本实例中调度区域个数为3,其他调度任务参数设置如下:
[0112]
表3调度任务参数
[0113][0114]
(3.3)初始化目标函数最优解;
[0115]
(3.4)生成初始种群,包含染色体信息、因子代价、因素等级、标量适应度、技能因素、分隔节点、调度任务使用的调度车数量,随机分配用车节点及用车数量。对染色体进行1至最大维度数的随机序列整数编码,初始化个体因子代价、因子等级、标量适应度、技能因素为0,随机分配小于染色体长度的车辆数和分隔节点,两个分隔节点之间的调度路径由一辆调度车进行调度。所述调度路径是指某辆调度车从区域调度中心出发,按照景区编号组成的序列依次经过景区编号对应的景区,最终返回区域调度中心组成的序列。
[0116]
分隔节点主要是对个体染色体进行一个分割作用,一个染色体被n个用车节点分为n 1段,那也就表示需用用到n 1辆调度车。
[0117]
因此调度车辆数是有参与到目标函数计算和约束条件定义中的,分隔节点主要是用于将最终计算结果表达成一个可视方案的一个辅助作用。
[0118]
本实例中染色体长度为统一搜索空间20。
[0119]
(3.5)评估初始种群中每个个体在3个区域调度任务中的因子代价即计算每个个体在不同区域的调度任务中的目标函数值。因子代价表示该个体在当前区域的开销(即目标函数值),因此如有三个区域,则一个个体有三个对应的因子代价。
[0120]
其中不符合约束条件的染色体的因子代价为一无穷大数,更新初始种群的因子代价。
[0121]
(3.6)筛选个体,根据因子代价计算结果,淘汰不符合约束条件的个体;
[0122]
(3.7)重复步骤(3.4),与以上符合约束条件的个体组成新的初始种群,重复步骤(3.5)和(3.6)直至初始种群内个体数量符合设定的规模要求;
[0123]
(3.8)计算初始种群的因素等级及技能因素;因子等级为个体在某一任务下的因子代价按照升序排列后的排名情况,个体的技能因素为该个体在所有调度任务中表现最佳的任务索引值。如,一个个体的因子等级在第1个区域(任务)中排名为45,在第2个区域(任务)中排名为35,在第3个区域(任务)中排名为87,该个体在第2个区域(任务)中表现最佳,则该个体的技能因素为2。因素等级用于确定个体的技能因素,没有技能因素的个体会在所有区域中进行计算,拥有技能因素的个体仅在技能因素所指的一个区域中进行计算。将初始种群作为父代种群。
[0124]
(3.9)对父代种群进行交叉、变异获得子代种群,子代种群的个体技能因素继承父代种群的技能因素,根据技能因素计算子代种群中个体的因子代价,根据子代种群中个体的因子代价计算结果筛选出符合约束条件的个体;判断符合约束条件的子代种群中的个体是否达到所设定的mfea算法参数中的种群规模数,如果达到即执行步骤3.10,如果未达到即采用同一父代种群继续执行本步骤,继续生产子代种群,直至从子代种群内筛选出的符合约束条件的个体达到所设定的mfea算法参数中的种群规模数。
[0125]
(3.10)将父代种群与子代种合并成新种群,更新新种群的标量适应度、技能因素及因素等级,根据标量适应度采用精英保留策略筛选出新的父代种群;
[0126]
(3.11)判断迭代次数是否达到500,若尚未达到,则重复步骤(3.9)和(3.10),若已达到,则算法终止,得到目标函数最优解及景区共享观光车区域间并行调度最佳方案,迭代曲线如图4所示,输出目标函数最优解如下表4所示,表中每一调度路径由一辆调度车进行调度,每一调度路径从调度中心(编号为0的景区)出发,按序经过各个对应编号的景区,最终返回调度中心(编号为0的景区)。
[0127]
表4 mfea算法输出结果信息
[0128][0129]
本解法主要解决调度路径的规划,调度车出发的搭载数不在算法输出的结果中,一辆车出发时要搭载的观光车数量为该路径的需求总和。
[0130]
v,i,j,m在计算目标函数值时都是一个上/下标的状态,都是一种辅助表示方式,没有参与数值计算。
[0131]
计算过程实际上即为目标函数表达式,将每段路径的成本进行一个计算累加的结果。
[0132]
利用遗传算法对调度模型进行求解,并与mfea算法求解结果进行对比包括以下步骤:
[0133]
(4.1)设置算法参数,包括种群规模、迭代次数、交叉概率、变异概率,为实现公屏比较,本实施例中遗传算法种群规模为:
[0134]
n
ga
=n
mfea
/task
[0135]
其中,n
mfea
指mfea算法中所设的种群规模数,task指区域数(调度任务数),n
ga
指遗传算法中所设的种群规模数,本实施例中为3,遗传算法参数设置如表5所示。
[0136]
表5遗传算法参数
[0137]
参数名称参数值种群规模100
最大迭代次数300交叉概率0.7变异概率0.09
[0138]
(4.2)初始化景区共享观光车区域调度任务,设置不同区域的调度任务信息,包括调度区域个数、区域内景区数量、景区距离、景区需求数量、区域调度车容量、单位距离运输成本、单次派遣成本、最大行驶距离、目标函数,本实例中调度区域个数为3,其他调度任务参数与mfea算法中参数相同;
[0139]
(4.3)根据当前所求解的区域调度信息生成初始种群,包含染色体信息、用车节点、用车数量,随机分配用车节点及用车数量;
[0140]
(4.4)对父代种群进行交叉、变异获得子代种群,计算目标函数值,筛选符合约束条件的个体,直至子代种群内所有个体均符合约束条件;
[0141]
(4.5)将父代种群与子代种合并成新种群,根据所得目标函数值采用精英保留策略筛选出新的父代种群;
[0142]
(4.6)判断迭代次数是否达到500,若尚未达到,则重复步骤(4.3)至(4.5),若已达到,则得到当前调度区域目标函数最优解及最佳调度方案;
[0143]
(4.7)判断是否完成所有调度区域任务的求解,若尚未完成,则重复(4.3)至(4.6)进行下一区域的调度任务求解,若已完成,则算法终止,得到所有调度区域目标函数最优解及最佳调度方案,输出目标函数最优解如下表6所示,与mfea算法进行比较,迭代曲线如图5所示。
[0144]
表6遗传算法输出结果信息
[0145][0146]
(4.8)对比mfea算法与遗传算法的求解结果与性能,mfea算法所得到3个调度区域的调度总成本均比遗传算法所求得的调度总成本更低,并且mfea算法在求解3个调度任务收敛速度更快,性能更优。
[0147]
本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献