“构建平衡区域”的工作原理

构建平衡区域工具使用遗传算法根据您指定的标准在您的研究区域中创建空间连续区域。您可以创建包含相等要素数的区域、基于一组属性值的相似区域,或两者同时创建。还可以选择面积大致相等的区域、尽可能紧凑的区域以及能够维持其他变量汇总统计数据(例如平均数和比例)一致性的区域。

示例场景

可将此工具用于以下类型的场景:

  • 一家零售公司希望通过分区的方式,达到如下目的:无论每个区域的门店数如何,每个经理均负责相同的销售额和员工数。
  • 气候变化使得许多地区每年火灾的发生次数不断增加,从而提高了这些区域的成本。地方政府和国家政府可使用此工具,通过建立行政管理区来平衡救火的工作量和成本。
  • 可以通过创建巡逻警区来平衡警察的工作量和电话呼叫量。通过平衡每个区块组的犯罪指数,确保警方响应的及时性和有效性,可以有效缓解某些区域的人员配给过剩或不足的问题。

定义区域构建和选择的标准

对于构建最佳平衡区域的工具,您必须为其提供相应的标准,以定义最佳区域的含义。您可以提供两种类型的标准:区域构建标准和区域选择标准。该工具可通过在区域构建和区域选择之间交替来平衡区域,并且为每个步骤指定的标准将用于确定工具所建议的最终平衡区域。

区域创建步骤将构建大量随机增长的区域,直到满足区域构建标准为止。应将区域构建标准视为对您所在区域的要求,且所有区域都将以符合这些标准的方式增长(有关区域增长方法的详细信息,请参阅使用遗传算法增长区域部分)。然后,区域选择步骤可对每组区域进行排序,并根据这些区域与区域选择标准的接近程度来选择最佳区域。通常,应将区域选择标准视为首选项而非要求,且可将其用于从已满足区域构建标准的区域中进行选择。

选择用于区域构建还是区域选择的标准取决于您的特定情况,此外我们提供了以下区域创建方法参数的选项,以帮助您正确定义标准:

  • 属性目标 - 每个区域将具有大致相同的属性总和,并且必须指定此总和。所创建的区域数将取决于属性的综合总计。例如,此选项可用于创建总共包含约 1,000 个客户的服务区。如果所有输入要素中共有 5,000 个客户,则将创建大约 5 个区域,每个区域约有 1,000 个客户。如果总共有 200 万个客户,则将创建约 2,000 个区域,每个区域包含约 1,000 个客户。
  • 所定义区域数 - 区域数必须等于所指定的数量,且每个区域需由大致相同数量的要素组成。如果您知道所需要的区域数,且您需要每个区域包含相同数量的输入要素,则此选项将很有用。
  • 区域数和属性目标 - 通过平衡特定数量区域之间的属性总和来合并前两个选项。例如,此选项可用于创建正好 20 个服务区,其中每个区域内的销售额大致相同。对于此选项,您无需提供所需的属性总和,因为它是通过将属性的总和除以区域数来确定的。此选项不会均衡每个区域中的要素数量(但可以将相等数量要素的首选项作为区域选择标准提供,如本主题后面所述)。

区域构建标准

每个区域创建方法参数选项都有所需的不同区域构建标准,且所有区域都会增长,直到满足这些标准为止。

  • 属性目标 - 您必须提供要平衡的属性,并在具有目标的区域构建标准参数中提供一个总和。或者,您可以提供总和不同的多个属性,且您可以为其中的每个属性提供权重,使某些属性的优先级高于其他属性。
  • 所定义区域数 - 您必须使用目标区域数参数来提供区域数。
  • 区域数和属性目标 - 您必须在区域数参数中提供区域数,并在区域构建标准参数中提供要平衡的属性。您可以再次提供多个属性并为其提供权重,以确定其优先级。

区域选择标准

区域选择标准属于附加选项,可用于在区域构建步骤中创建的区域中指定首选项。可将这些标准与区域构建标准一起使用,以确定该工具最终将推荐哪些区域。大多数区域选择标准适用于区域创建方法参数的所有选项。以下部分将描述每个区域选择选项及其适用的时间。

区域特征标准

区域特征参数选项通常涉及区域的大小和形状。您可以使用以下的任何或全部选项:

  • 等面积 - 将接近面积相等的区域设为首选项。此选项仅在输入要素为面时适用。
  • 紧密度 - 将形状接近圆形的区域设为首选项。该选项始终适用。
  • 相等要素数 - 将所含要素数量大致相同的区域设为首选项。如果使用了所定义区域数选项,则此选项将不适用,原因是此区域创建方法已经确保了要素的数量与区域构建标准中的数量相等。

属性考虑标准

要考虑的属性参数允许您指定尚未用作区域构建标准的、要考虑的其他属性。该参数允许您包含保持属性的总和、平均值、方差或中值一致的区域。您还可以提供多个属性,例如您可以包含总人口(总和)相同且收入中位数(中值)大致相同的区域。

此选择标准适用于所有区域创建方法。此参数中所使用的属性必须是连续属性而非类别属性。

分类变量的保持比例

保持比例的分类变量参数允许您指定一个分类变量,并将其用于平衡区域中各个类别所占的比例。如需指定如何平衡比例,您还必须选择一个比例法。提供了以下比例法:

  • 保持比例 - 将每个区域内类别所占相对比例保持相同的区域设置为首选项。例如,如果用于保持比例的分类变量代表森林和非森林的二元土地覆被分类,且 60% 要素的土地覆被类型为森林,40% 的土地覆被类型为非森林,则此选项将支持其中每个区域均由 60% 的森林和 40% 的非森林组成的区域。
  • 保持整体比例 - 将创建区域,以便类别优势的总比例与总体类别的比例相匹配。例如,如果分类变量表示该要素是在陆地上还是在水中,且 60% 的要素在陆地上,则此选项将支持其中约 60% 的区域主要在陆地上且 40% 的区域主要在水中的区域。

此选择标准适用于所有区域创建方法。此参数中所使用的变量必须是分类变量而非连续变量。

基于距离的标准

要考虑的距离参数允许您选择靠近一组其他要素(或多组要素)的区域。例如,如果您打算建立卫生行政管理区,则您可以选择靠近现有医院的区域。区域和要素之间的距离由区域中所有要素与作为要考虑的距离提供的最近要素的中值距离进行定义。

选择区域标准的场景

区域构建和区域选择标准有许多可用的选项,您可能无法立即根据您对区域的要求和偏好明确选择使用哪些参数。以下是一些场景以及适用于这些场景的参数。

场景 1:将不动产列表分配给房地产经纪人

您是一名房地产中介公司的分析师。您拥有一个要素类,其中包含某区域所有在售不动产的列表及售价。您所在的公司中有 12 名房地产经纪人,您希望为每个房地产经纪人分配一份不动产列表,以便每个房地产经纪人获得相同数量的房源,并且使每个区域的不动产总价大致相同。同时您还希望这些区域靠近现有的房地产中介分支机构。

要实现这一目的,您可以使用区域创建方法参数中的区域数和属性目标选项。将目标区域数参数指定为 12(每个房地产经纪人一个),然后在区域构建标准参数中选择表示每项不动产价格的字段。在区域特征参数中选择相等要素数选项,以便优先选择要为每个房地产经纪人分配大致相同数量不动产的区域。如需考虑到最近的房地产中介分支机构的距离,则请在要考虑的距离参数中提供一个表示分支机构位置的要素类。

场景 2:创建新的区域边界

创建新的区域边界以平衡每个区域内的人数是一项复杂而艰巨的任务,且几乎所有级别的政府都必须经常执行这一任务。您希望使用从小型社区收集到的人口数据和人口统计数据来创建每个区域中约有 10,000 人的多个区域。此外,大约有 75% 的人口居住在城市地区,25% 的人口居住在农村地区。为了能正确地表示每个群体,您希望约 75% 的区域为主要城市,25% 的区域为主要农村。

要实现这一目的,您可以使用区域创建方法参数中的属性目标选项。选择用于表示每个社区中人数的字段,并在具有目标的区域构建标准参数的列中指定 10,000。在保持比例的分类变量参数中指定一个字段,以表示该社区是城市还是农村,并在比例法参数中选择保持整体比例选项。

情景 3:为假释官分配工作量

您是执法部门的 GIS 分析师,所负责的任务是平衡 25 名假释官的待处理案件量。您手上掌握了某城市中所有罪犯所在的位置以及每个罪犯的量化风险评估,且您希望将其平均分配给每名假释官,并使罪犯的总风险值保持在大致相同的状态。但是,平衡风险的重要性要低于将相同数量的罪犯分配给每名假释官。此外,您希望这些区域尽可能紧凑,以减少假释官的行程成本。

要实现这一目的,您可以使用区域创建方法参数中的所定义区域数选项,并将目标区域数参数指定为 12。在要考虑的属性参数中指定表示每名罪犯风险的字段,并在区域特征参数中选择紧密度选项以创建紧凑区域。

使用遗传算法增长区域

凭借您为区域构建和区域选择定义的标准,构建平衡区域工具可在输入要素的空间约束已给定的情况下,使用遗传算法 (GA) 增长最佳区域。

GA 以查尔斯·达尔文首先阐释的自然选择进化论和遗传学为基础。根据达尔文适者生存的主要观点,在某一种群中,更具适应性的生物往往能够存活下来并繁衍更多后代。

由于可行的解决方案数量往往非常庞大,因此 GA 会通过随机搜索的方式开始搜索优化的解决方案,然后沿更有希望的方向推动搜索。GA 优化是自然生物进化的抽象化,其中每个可行的解决方案(这里是指每种可能的区域排列方式)类似于种群中的生物个体。随着生物一代代繁衍,只有最能够适应环境的个体才能继续生存,同样,只有最富成效的搜索才能继续进行。

该算法会首先创建一个随机种群,而种群中的每个个体均是一个可行的解决方案。将针对每个解决方案计算适应性评分,现有种群中适应性评分最低的个体(最佳解决方案)将传递到下一世代,剩余的不合适的解决方案将被删除。最具适应性的个体将被指定为父本,并可使用遗传算子(如杂交和变异)来成对地创建后代。每个新世代的个体都是上一世代及其后代最具适应性个体的组合。有时,会将一些个体(既不是父本,也不是后代,称为外来物种)随机引入到下一世代中,从而扩大算法发现的可能解决方案的范围。对于每一个新世代,以及给定世代数(默认为 50 个世代)的重复过程,将计算所有个体的适应性评分。最后一个世代中最具适应性的个体对应于工具返回的平衡区域。

选择初始种群

可通过随机选择研究区域中的要素为算法选择初始种群。种群默认由 100 个个体组成,但是可以使用种群大小参数来更改此数量。每个随机选择的要素都是一个起始位置(称为种子),区域从此位置开始聚合到邻近要素从而不断扩大。区域将持续聚合并扩大,直到总值达到区域构建条件阈值为止。例如,如果您提供 100,000 人口和 50,000 家庭数作为区域构建标准,则 100,000 和 50,000 分别是人口和家庭数的阈值,达到所有阈值后,区域将停止扩大。对于下一个区域,将在第一个区域外选择一个新的种子,并允许随机增长。该过程将继续,直到所有要素均已分配到区域。

在生物学中,个体的遗传物质包含在染色体中。染色体由基因组成,这是生命的遗传单位。对于此工具来说,可行的解决方案类似于染色体,种子类似于基因。这些基因是从父本传递到其后代的遗传单位,因此用于创造未来世代。下图显示了可行解决方案的示例以及解决方案中每个区域种子的对象 ID 值。

用于构建平衡区域的初始种子

计算适应性评分

每个可行解决方案的适应性评分可用于衡量生成区域对于工具中各种区域构建和区域选择标准的支持程度,评分值越低表示越符合标准。因此,最终目标是找到适应性评分较低的解决方案(理想情况下,它应为具有最低可行适应性评分的解决方案,此评分又称为全局最小值)。可使用以下公式计算可行解决方案的适应性评分:

适应性方程

  • n - 解决方案中的区域总数
  • c - 用于构建区域和选择解决方案的条件总数。
  • Vj - 第 j 个条件的阈值。
  • Vij - 第 i 个区域的第 j 个条件的总数。

适应性评分的公式应理解为,将每个条件的值与解决方案中每个区域的理想完美值的差值相加。在完美的解决方案中(通常不可能),所有区域的标准值等于其理想值,且适应性评分为零。除以阈值 (Vj) 可确保适应性评分不带单位。不带单位是非常重要的,原因在于使用平方米或平方英尺等等作为面积测量的单位并不会影响适应性评分。

输出收敛表参数中提供了每个世代中最佳解决方案的适应性总分以及每个个体条件的评分。可使用输出表创建收敛图以显示适应性评分随世代的变化。此算法试图寻找比现有解决方案更好的解决方案,因此图表中的表示总适应性的线通常会随着世代的进展而下降,直到最终趋于平缓。这种平缓表示适应性评分已达到局部最小值(尽管可能不是全局最小值),继续在后续世代中寻找将不会找到更好的解决方案。

输出收敛图

使用杂交创建新世代

算法生成初始种群后,将允许一半的个体参与下一世代,并创建新的可行解决方案的后代。这些个体是根据其适应性(由最低适应性评分所决定)选择出来,并使用称为“杂交”的过程将其随机配对以生成后代。杂交(有时称为重组)是一个遗传算子,可以将两个父本中的信息进行组合,从而生成后代。下图的示例显示了将两个父本的种子进行杂交,从而创建了两个新的后代:

杂交创建后代

结果,新世代中一半个体是上一世代中父本,另外一半是它们的后代。对于这个新世代,将再次计算适应性评分,然后其中的上半部分将进入下一世代,从而推动搜索朝向更好的解决方案进行。

使用变异和外来物种扩展可行的解决方案

多样性对于种群的进化十分重要,而维持多样性的一种方式就是通过变异。变异是指在基因序列中引入了微小的变化或改变,从而使生成的个体具有不同的遗传密码。在此工具中,任何经历了变异的个体都会对其种子进行随机的重新排列。下图显示了一种经历变异并重新排列其种子的潜在解决方案:

变异改变种子

可以使用变异因子参数来控制后代经历变异的概率,默认值为 0.1。引入变异可以扩展可行的解决方案,通常允许算法快速收敛到局部最优解决方案。但是,变异因子过高会引入过量的变化,导致算法效率降低和收敛缓慢(或根本不收敛)。

扩展可行解决方案的另一种方式是在种群中引入新的个体(称为外来物种),它既不是既往世代的一部分,也不是其后代。外来个体的引入增加了获得全局最小值(而不是局部最小值)的概率,同时也维持了较高的收敛率。变异因子可控制每个世代中后代将被随机生成的种子组成的外来个体所取代的比例。

不相连的组

由于空间约束,有时您可能会得到不相连的组,组中的要素不是较大研究区域中任何要素的相邻要素。当输入要素为不连续的多边形(如岛屿),这种情况最为常见。区域仅可通过聚合区域中现有要素的空间相邻要素来增长。为了解决这一问题,该工具会在每个不相连的组与组外最近的要素之间生成链接,以建立邻域并允许区域继续增长。不相连的组 ID 字段将添加到输出要素的属性表中,以便您可视化研究区域中不相连的要素或要素组。

其他资源

  • Coley, D. A. (1999). An introduction to genetic algorithms for scientists and engineers. World Scientific Publishing Company.
  • Lorena, L. A. N., & Furtado, J. C. (2001). Constructive genetic algorithm for clustering problems. Evolutionary Computation, 9(3), 309-327.
  • Patel, N., & Padhiyar, N. (2010, October). Alien Genetic Algorithm for Exploration of Search Space. AIP Conference Proceedings (Vol. 1298, No. 1, pp. 325-330). AIP.