在游线优化设计中考虑了拥挤度、满意度和走行时间三个指标,优化目标方程函数描述如公式
M i n { ∑ i = 1 n I c i x i } ( 1 ) Min\{\sum_{i=1}^{n}I_c^i x_i\}\ \ \ \ (1) Min{i=1∑nIcixi} (1)
M a x { ∑ i = 1 n I s i x i } ( 2 ) Max\{\sum_{i=1}^{n}I_s^i x_i\}\ \ \ \ (2) Max{i=1∑nIsixi} (2)
M i n { ∑ i = 1 n I t i x i } ( 3 ) Min\{\sum_{i=1}^{n}I_t^i x_i\}\ \ \ \ (3) Min{i=1∑nItixi} (3)
式中, I c i I_c^i Ici为游线中第 i i i个景点的拥挤度, I s i I_s^i Isi为游线中第 i i i个景点的满意度, I t i I_t^i Iti为游线中从第 i − 1 i-1 i−1个景点到第 i i i个景点之间的走行时间; x i = 1 x_i = 1 xi=1表示第 i i i个景点在游线上; x i = 0 x_i = 0 xi=0表示第 i i i个景点不在游线上; n n n为游线中包含的景点个数。
将景点拥挤度感知最低设为第一优化目标,将满意度最大设为第二优化目标,将景点间走行时间最小设为第三优化目标。多目标优化模型如下:
M i n z = P 1 ( d 1 + ) + P 2 ( d 2 − ) + P 3 ( d 3 + ) ( 4 ) Min \ z = P_1(d_1^{+}) + P_2(d_2^{-})+P_3(d_3^{+})\ \ \ \ (4) Min z=P1(d1+)+P2(d2−)+P3(d3+) (4)
s.t.
∑ i = 1 n I c i x i + d 1 − − d 1 + = E m a x ( 5 ) \sum_{i=1}^{n}I_c^i x_i + d_1^{-}- d_1^{+} = E_{max}\ \ \ \ \ (5) i=1∑nIcixi+d1−−d1+=Emax (5)
∑ i = 1 n I s i x i + d 2 − − d 2 + = E m a x 1 ( 6 ) \sum_{i=1}^{n}I_s^i x_i + d_2^{-}- d_2^{+} = E_{max1}\ \ \ \ (6) i=1∑nIsixi+d2−−d2+=Emax1 (6)
∑ i = 1 n I t i x i + d 1 − − d 1 + = E m a x 2 ( 7 ) \sum_{i=1}^{n}I_t^i x_i + d_1^{-}- d_1^{+} = E_{max2}\ \ \ \ (7) i=1∑nItixi+d1−−d1+=Emax2 (7)
T m i n ≤ T ≤ T m a x ( 8 ) T_{min} \leq T \leq T_{max}\ \ \ \ (8) Tmin≤T≤Tmax (8)
n m i n ≤ n ≤ n m a x ( 9 ) n_{min} \leq n \leq n_{max} \ \ \ \ (9) nmin≤n≤nmax (9)
x i , d k − , d k + ≥ 0 , k = 1 , 2 , 3 ; ( 10 ) x_i, d_{k}^{-},d_{k}^{+} \geq 0, k = 1,2,3; \ \ \ \ (10) xi,dk−,dk+≥0,k=1,2,3; (10)
式中: P 1 、 P 2 、 P 3 P_1、P_2、P_3 P1、P2、P3 为目标优先因子, P 1 P_1 P1 为第一优先因子,表示景点拥挤度最低, P 2 P_2 P2为第二优先因子,表示景点满意度最高, P 3 P_3 P3为第三优先分子,表示景点间走行时间最小; E m a x E_{max} Emax为景点拥挤度最小值, d 1 − d_1^{-} d1−为负偏差变量,表示决策值未达到景点拥挤度最小的值部分, d 1 + d_1^{+} d1+为正偏差变量,表示决策值超过景点拥挤度最小值的部分; E m a x 1 E_{max1} Emax1为景点满意度最大值, d 2 − d_2^{-} d2−为负偏差变量,表示决策值未达到景点满意度最大值的部分, d 2 + d_2^{+} d2+为正偏差变量,表示决策值超过景点满意度最大值的部分; E m a x 2 E_{max2} Emax2为景点间走行时间最小值, d 3 − d_3^{-} d3−为负偏差变量,表示决策值未达到景点间走行时间最小值的部分, d 3 + d_3^{+} d3+为正偏差变量,表示决策值超过景点间走行时间最小值的部分。
公式(8)代表为游客总游览时间约束,公式(9)代表为游览景点个数约束。 T T T 为总游览时间(总游览时间=景点停留时间+景点间走行时间), T m i n T_{min} Tmin为总游览时间最小值, T m a x T_{max} Tmax为总游览时间最大值; n n n为景点个数,n_{min}$ 为游线最少景点个数, n m a x n_{max} nmax为游线最多景点个数。
采用目标规划层次算法求解多目标优化模型,在严格满足刚性约束的条件下,依据实际要求,允许多个目标约束出现偏差,依据目标约束的优先级逐层优化。
第一步:对目标函数中的 P 1 P_1 P1 层进行优化
M i n Z 1 = d 1 + ( 11 ) Min\ Z_1 = d_1^{+}\ \ \ \ \ \ (11) Min Z1=d1+ (11)
第二步:对目标函数中的 P 2 P_2 P2 层进行优化
M i n Z 2 = d 2 + ( 12 ) Min\ Z_2 = d_2^{+}\ \ \ \ \ \ (12) Min Z2=d2+ (12)
第三步:对目标函数中的 P 3 P_3 P3 层进行优化
M i n Z 3 = d 3 + ( 13 ) Min\ Z_3 = d_3^{+}\ \ \ \ \ \ (13) Min Z3=d3+ (13)
定义和计算第 j j j条旅游线路的拥挤度偏差指数 δ c j \delta_{cj} δcj、满意度偏差指数 δ s j \delta_{sj} δsj和景点间走行时间偏差指数 δ t j \delta_{tj} δtj,利用偏差分析法,比较三个偏差指数和相应偏差值的标准偏差,筛选出旅游线路的初步可接受解,以拥挤度偏差指数为例:
δ c j = d 1 + E m a x ( 14 ) \delta_{cj} = \frac{d_1^{+}}{E_{max}}\ \ \ \ \ \ (14) δcj=Emaxd1+ (14)
η c = ∑ j = 1 N ( δ c j − δ ‾ c j ) 2 N ( 15 ) \eta_{c} = \sqrt{\frac{\sum_{j=1}^{N}(\delta_{cj}-\overline{\delta}_{cj})^2}{N}}\ \ \ \ (15) ηc=N∑j=1N(δcj−δcj)2 (15)
当 δ c j = 0 \delta_{cj}=0 δcj=0 时,拥挤度达到预期最低值,为理想值;
当 0 ≤ δ c j ≤ η c 0 \leq \delta_{cj} \leq \eta_{c} 0≤δcj≤ηc时,拥挤度值为可接受解, η c \eta_{c} ηc为拥挤度偏差值的标准偏差, N N N为线路条数。
当 δ c j > η c \delta_{cj} > \eta_{c} δcj>ηc时,游客对所游览景点的拥挤度较高,需要重新进行游线设计。
第四步:线路优度评价
在利用多目标优化模型求解出可接受解集的基础上,对解集中的线路进行优度评价和排序。基于粒子群算法求解最优解的思路,提出一种改进粒子群适应度的函数,如公式16所示,根据函数计算出的优度值对线路进行评价排序,优度值越大,说明线路越趋于最优解。
S j = 100 × { 1 − [ w c ( f c − f c , m i n f c , m a x − f c , m i n ) + w s ( f s − f s , m i n f s , m a x − f s , m i n ) + w t ( f t − f t , m i n f t , m a x − f t , m i n ) ] } ( 16 ) S_j = 100 \times \{1-[w_c(\frac{f_c - f_{c,min}}{f_{c,max}-f_{c,min}}) + w_s(\frac{f_s - f_{s,min}}{f_{s,max}-f_{s,min}})+w_t(\frac{f_t - f_{t,min}}{f_{t,max}-f_{t,min}})]\}(16) Sj=100×{1−[wc(fc,max−fc,minfc−fc,min)+ws(fs,max−fs,minfs−fs,min)+wt(ft,max−ft,minft−ft,min)]}(16)
式中, w c w_c wc 、 w s w_s ws 、 w t w_t wt 分别为线路拥挤度、线路满意度、景点间走行时间的惯性权重; f c , m i n f_{c,min} fc,min 、 f c , m a x f_{c,max} fc,max 分别为所有线路总体拥挤度的最大值和最小值; f s , m i n f_{s,min} fs,min 、 f s , m a x f_{s,max} fs,max 分别为所有线路总体满意度的最大值和最小值; f t , m i n f_{t,min} ft,min 、 f t , m a x f_{t,max} ft,max 分别为所有线路景点间走行时间的最大值和最小值; f c f_c fc 、 f s f_s fs 、 f t f_t ft 分别为第 条线路的总体拥挤度、总体满意度和景点间走行时间; S j S_j Sj为第 j j j 条线路的优度值,优度值越大,线路越趋于最优解。
各项优化指标(拥挤度、满意度、景点间走行时间) 的偏差值和相应偏差值的标准偏差( δ c j \delta_{cj} δcj 、 δ s j \delta_{sj} δsj 、 δ t j \delta_{tj} δtj 、 η c \eta_{c} ηc 、 η s \eta_{s} ηs 、 η t \eta_{t} ηt )
w c = 0.28 w_c = 0.28 wc=0.28、 w s = 0.36 w_s = 0.36 ws=0.36 、 w t = 0.36 w_t = 0.36 wt=0.36
优化线路(线路编号、景点及顺序、景点总拥挤度、景点总满意度、景点间走行时间、优度值)
点击matlab代码运行,显示出经3层优化后,所有可选的路径信息。路径信息包括(线路编号、景点及顺序、景点总拥挤度、景点总满意度、景点间走行时间、优度值),下图为其中一条可行路径。
具体MATLAB代码参考
多目标优化模型求解matlab实现