区位问题是地理学、区域科学、交通科学、数学、计算机科学等学科共同关注的一个基础性问题。自20世纪50年代以来,各种区位问题模型建构、数学性质与求解算法研究持续不断,广泛应用于商业运营、物流配送、公共健康、义务教育、应急管理等领域。随社会经济发展,区位问题应用领域日益扩大,同时也面临越来越多的理论与方法挑战。
经典区位问题多以服务效率为目标,注重设施成本、距离成本、覆盖客户数量等目标,未顾及服务公平性。随公共服务规划中越来越多地强调均衡、公平与公正原则,学者引入各种各样的公平性指标发展了一系列公平性区位模型。然而,这些模型仍有局限性:
为克服公共服务设施布局规划实践中面临的难题,本文提出了一个兼顾服务经济性、出行便捷性和空间公平性的多目标区位问题,设计了相应的模型求解算法,并使用基准案例和实际案例验证模型的基本特征、实用性和优势。
回顾经典区位问题和公平性区位模型的发展历程
区位问题研究已有60余年历史。经典的区位问题包括:
针对设施布局的空间公平性,学者尝试建立各种公平性区位模型。公平性区位建模的基本途径包括:
尽管已有众多的区位问题,但相对于公共服务设施布局需求,这些模型仍存在局限性:
经典模型多未考虑设施布局空间公平性,难以满足公共服务均等化需求
公平性模型对于设施成本考虑不周,难以平衡经济性与公平性
鲜有兼顾设施成本、出行便捷和空间公平的区位模型
兼顾经济性、便捷性和公平性的双目标设施区位问题模型
基于多目标优化思路,兼顾公共服务经济性、便捷性和公平性,可以构建一个最小化设施成本、最小化出行距离和最小化空间不公平指标的三目标区位优化模型。然而,这样的多目标优化模型具有明显的缺点:
因此,本文选择将出行成本和空间公平指标聚合为不公平厌恶函数,构建双目标模型,以便于求解且能排除无效解。
某一区域存在若干公共服务候选设施区位和若干需求区位,可基于设施区位及需求区位间出行成本构建区位问题模型:
符号定义:
目标函数:
F1 = α∑i∈I∑j∈Jwjdijxij + (1-α)∑i∈I∑j∈Jwj(dij-d̄)2+xij
F2 = ∑i∈Ifiyi
F1是一个不公平厌恶聚合函数,前半部分是总出行成本,后半部分是上半方差,两者加权相加,权重分别为α和1-α (0≤α≤1)。通过设置权重,函数F1能够很好地平衡出行便捷性和空间公平性。
F2最小化设施成本,确保解决方案在经济上可行。
为方便求解CEEFLP,可将目标F2转化为设施成本约束条件,成为一个兼顾出行便捷性和空间公平性的单目标区位模型(EEFLP):
目标函数:
F3 = α∑i∈I∑j∈Jwjdijxij + (1-α)∑i∈I∑j∈Jwj(dij-d*)2+xij
新增约束条件:
∑i∈Ifiyi ≤ C
(约束条件要求设施总成本不超过最大成本C)
目标函数F1依赖于平均出行成本,是一个二次函数,求解难度极高。为降低模型计算复杂度,使用参数d*替代平均值,从而将二次函数F1转化为线性函数F3。
当α=1时,EEFLP与PMP模型类似,最小化出行成本;不同之处在于PMP约束设施总数量,而EEFLP约束设施总成本。当α=0时,EEFLP最小化出行成本上半方差。
设计高效的ILS算法求解EEFLP模型
可以使用整型线性规划(MIP)优化器求解EEFLP模型。但当案例规模很大时,优化器计算效率会大幅降低,甚至出现内存不足问题。为此,本文基于求解PMP的快速节点交换方法设计了一个迭代局部搜索(ILS)算法,用于求解EEFLP。
ILS算法的核心思想包括:
算法 迭代局部搜索(ILS)
参数: 群解数量(psize), 最优解连续未更新最大循环数(mloops)
(1) P = GenerateInitialSolutions(psize);
(2) pool = null;
(3) s* = Best(P);
(4) notImprove = 0;
(5) While notImprove < mloops:
(6) s = Select(P);
(7) s′ = Perturbation(s);
(8) s′′ = SearchWhitaker(s′);
(9) If F(s′′) < F(s*): s* = s′′, notImprove = 0;
(10) else: notImprove += 1;
(11) pool = UpdateServiceAreaPool(pool, s′′);
(12) P = UpdatePopulation(P, s′′);
(13) s = SetCovering(pool);
(14) Output(s).
步骤(1)生成一组初始解P;步骤(6)从解集P中随机选择一个解s。初始解的多样性有助于探索更广阔的解空间。
步骤(7)对解s进行扰动。扰动分为3种情况:增加1个减少2个设施、增加2个减少1个设施,以及增加2个减少2个设施。这种扰动策略可以避免算法陷入局部最优,同时允许算法探索不同设施数量的解空间。
步骤(8)使用快速交换算法尝试改进当前解s′。快速节点交换方法利用特定的数据结构,判断需求点的目标值是否变化,仅在有变化时再进行变化量的计算,从而大幅提升了节点交换计算时间。
步骤(11)记录当前解到结构数组pool中;步骤(12)更新解集P,保存一组具有一定差异度的精英解。搜索循环结束后,步骤(13)使用集合覆盖问题模型从历史记录pool中组合出可能更优的解。
ILS算法计算复杂度主要取决于局部搜索步骤(8)和迭代次数:
ILS算法的实际计算时间与算法编码实现关系密切,本文快速节点交换方法通过优化数据结构和计算过程,显著提高了算法效率。
通过基准案例验证CEEFLP模型的有效性和ILS算法的性能
本文使用14个基准案例验证CEEFLP的有效性:从文献中选择了4个基准测试案例,作者自行构造了10个典型案例。
表1 测试案例的基本特征
案例名称 | 候选设施数 | 需求点数 | 点位分布 | 需求量分布 | 设施成本 |
---|---|---|---|---|---|
i300_10 | 300 | 300 | 随机 | 随机 | 随机 |
i300_15 | 300 | 300 | 随机 | 随机 | 随机 |
60-200-1 | 60 | 200 | 随机 | 随机 | 随机 |
60-300-1 | 60 | 300 | 随机 | 随机 | 随机 |
A196 | 196 | 196 | 规则 | 相等 | 相等 |
B196 | 196 | 196 | 随机 | 相等 | 相等 |
C196 | 196 | 196 | 随机 | 随机 | 相等 |
14个基准案例计算结果表明,ILS算法能够高效、高质量地求解CEEFLP:
ILS求解结果与最优解或已知最好解的差距为0.09%
ILS求解结果与最优解或已知最好解的差距为0.24%
ILS求解结果与最优解或已知最好解的差距为0.41%
图1 作者构造案例需求位置与数量分布示意
设施成本预算确定时,可以通过出行成本小幅上升,换取所有公平性指标的改善:
增加设施成本预算,既能够降低出行成本,也能够改善空间公平性指标:
CEEFLP模型与传统模型的比较结果表明,当考虑供应成本时,CEEFLP优于效率导向的PMP和公平性导向的MDELP:
表2 CEEFLP与传统模型的比较结果
模型 | 设施成本 | 出行距离 | 标准差 | 基尼系数 |
---|---|---|---|---|
PMP | 100% | 100% | 100% | 100% |
MDELP | 112.5% | 104.3% | 89.2% | 87.4% |
CEEFLP | 100% | 102.2% | 92.1% | 90.3% |
CEEFLP模型为公共服务设施布局规划提供了新思路