Capacitated Facility Location Problem (Algorithm Design and Analysis Project)

本文介绍了使用模拟退火算法和贪心算法解决Capacitated Facility Location Problem。模拟退火算法通过不断生成并评估新解,以接近最优解,而贪心算法则通过局部最优选择来求解。实验表明,贪心算法虽然效率较高,但解的质量通常逊于模拟退火算法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

学号:16340008

目录

Question

Answer

算法①:模拟退火算法

 算法②:贪心算法

 Comments

Reference


Question:

Suppose there are n facilities and m customers. We wish to choose:

  • which of the n facilities to open
  • the assignment of customers to facilities

The objective is to minimize the sum of the opening cost and the assignment cost.
The total demand assigned to a facility must not exceed its capacity.
 


Answer:

为了简化报告,blog中只描述算法,代码保存在github中,可直接运行两个算法中的Main.py检验。语言为Python3,因此运行效率可能不及C++等。


算法①:模拟退火算法

首先考虑的是模拟退火算法。

模拟退火算法是从一个状态,不断生成一个新解,并以一定的概率考虑是否接受这个新解,以不断逼近最优解。

典型的模拟退火算法步骤如下:

  1. 初始化温度,降温策略,一个随机状态作为当前状态A
  2. 重复以下步骤(外循环)
    1. 声明集合S
    2. 重复以下步骤(内循环)
      1. 从当前状态A生成一个邻域新解B
      2. 将B加入集合S
      3. 重复次数到达C(C一般为参数,或参数与问题规模的函数),则退出内循环
    3. 获得集合S中最优的解C,作以下判断
      1. 若C比A好,则将A更改为C
      2. 若C比A差,则根据C与A的差距以及温度得到P,并随机生成一个[0,1)的小数R,若R<P,则将A更改为C,否则不作改变。一般P需要满足:C与A差距越大,P越小;T越小,P越小。
    4. 按照降温策略降温
    5. 若温度低于某参数,则退出外循环

我使用的得到邻居解的方法是将一个用户从一个设备选择另一个设备(在不超出容量的前提)。我设定的邻域大小为10(即内循环执行10次),就跳出内循环。同时我没有使用S,而是每次内循环与一个之前内循环中得到的最优解作对比,若更优则保存所作操作以及解的值。同时,因为不同问题,规模大小不一样,因此降温策略增加了与问题规模的匹配。同时概率函数P的得到也复杂化,在考虑与当前状态之余,还考虑与曾经得到的最优解的差距。当然也是差距越大P越小。以上都是参考了论文的DSA-CE&MAP算法[1](一个对经典SA的优化):

 在该题目中我的初温选择为测例随机后的初状态消耗的1/2,于是T能随着初状态的复杂程度而变化。降温率我选择0.001,而coolingEnhancer在客户数不大于50,不大于100,不大于150,大于150分别为1,0.5,0.33,0.25。我对每个测例执行了30次SA,以下结果挑最优者,时间保留两位小数:

 ResultTime(s)
p189580.99
p279201.05
p395211.01
p4108521.18
p589931.08
p678551.01
p796011.08
p8114991.12
p985760.93
p1076480.93
p1189670.93
p12104270.94
p1383650.96
p1471370.98
p1588080.99
p16107300.97
p1782401.07
p1872140.98
p1990150.96
p20107790.98
p2181140.96
p2271200.94
p2387540.94
p24105470.94
p25122613.19
p26110333.18
p27130413.28
p28150333.25
p29127903.28
p30115653.29
p31139963.24
p32159223.27
p33122213.18
p34110253.17
p35130093.18
p36150113.17
p37122003.17
p38109843.13
p39129843.19
p40143493.18
p4168741.93
p4262131.79
p4359441.74
p4471301.94
p4565491.90
p4660361.78
p4764521.88
p4858581.83
p4953781.80
p5092191.94
p5180071.87
p5292892.06
p5389962.01
p5490752.00
p5582601.88
p56218794.23
p57278194.38
p58410314.38
p59313014.35
p60216024.17
p61264694.46
p62378304.33
p63293324.26
p64217504.19
p65270014.22
p66366294.26
p67294774.48
p68218614.27
p69271034.25
p70371644.28
p71299794.83

 

p1:
Result: 8958
Status of facilities: 1 1 1 1 1 1 0 0 1 1 
The assignment of customers to facilities: 8 2 1 5 3 8 2 4 4 1 9 0 3 2 8 3 4 0 9 4 3 4 9 4 2 5 1 5 0 5 2 5 0 3 9 4 4 3 0 4 1 8 1 5 4 0 2 0 4 0 
Time cost: 0.9896676540374756s

p2:
Result: 7920
Status of facilities: 1 1 1 1 1 1 1 0 1 1 
The assignment of customers to facilities: 8 2 1 6 3 8 2 4 4 1 9 0 3 2 8 3 4 0 9 4 3 4 6 4 2 5 1 5 0 5 2 6 0 3 9 4 4 3 0 4 1 8 1 5 4 0 2 0 4 0 
Time cost: 1.0549333095550537s

p3:
Result: 9521
Status of facilities: 1 1 1 1 1 1 1 0 1 0 
The assignment of customers to facilities: 8 2 1 6 3 8 2 4 4 1 4 0 3 2 8 3 2 0 6 4 3 4 6 4 2 5 1 5 0 5 2 6 0 3 4 4 4 3 0 4 1 8 1 5 4 0 2 0 4 0 
Time cost: 1.0146305561065674s

p4:
Result: 10852
Status of facilities: 1 1 1 1 1 0 1 0 1 0 
The assignment of customers to facilities: 8 2 1 6 3 8 2 4 4 1 4 0 3 2 8 3 2 0 6 4 3 4 6 4 2 6 3 1 0 3 2 6 0 3 4 4 4 3 0 4 1 8 1 6 4 0 2 0 4 0 
Time cost: 1.1778690814971924s

p5:
Result: 8993
Status of facilities: 1 1 1 1 1 0 1 1 1 1 
The assignment of customers to facilities: 8 8 1 6 3 8 2 4 2 1 9 8 3 2 8 3 4 0 9 7 3 8 6 4 2 6 1 1 0 1 2 6 0 3 9 4 4 3 0 4 1 8 1 6 7 0 2 3 4 0 
Time cost: 1.0822694301605225s

p6:
Result: 7855
Status of facilities: 1 1 1 1 1 1 1 1 1 1 
The assignment of customers to facilities: 8 8 1 6 3 8 2 4 4 1 9 8 3 2 8 3 4 0 9 7 3 8 6 4 2 5 1 5 0 5 2 6 0 3 9 4 4 3 0 4 1 8 1 5 7 0 2 3 7 0 
Time cost: 1.0116400718688965s

p7:
Result: 9601
Status of facilities: 1 1 1 1 1 0 1 0 1 1 
The assignment of customers to facilities: 8 8 1 6 3 8 2 4 4 1 9 8 3 2 8 3 2 0 9 4 3 8 6 4 2 6 1 1 0 1 9 6 0 3 9 9 4 3 0 4 1 8 1 6 4 0 2 3 4 0 
Time cost: 1.0775701999664307s

p8:
Result: 11499
Status of facilities: 1 1 1 1 1 1 1 1 1 0 
The assignment of customers to facilities: 8 8 1 6 3 8 2 4 4 1 4 8 3 2 8 3 4 0 6 7 3 8 6 4 2 5 1 5 0 5 2 6 0 3 4 4 7 3 0 4 1 8 1 5 7 0 2 3 7 0 
Time cost: 1.1194796562194824s

p9:
Result: 8576
Status of facilities: 1 1 1 1 1 0 1 0 1 1 
The assignment of customers to facilities: 8 8 1 6 3 8 2 4 4 1 9 8 3 2 8 3 4 0 9 4 3 8 6 4 2 6 1 1 0 1 2 6 0 3 9 4 4 3 0 4 1 8 1 6 4 0 2 0 4 0 
Time cost: 0.932659387588501s

p10:
Result: 7648
Status of facilities: 1 1 1 1 1 0 1 1 1 1 
The assignment of customers to facilities: 8 8 1 6 3 8 2 4 4 1 9 8 3 2 8 3 4 0 9 7 3 8 6 4 2 6 1 1 0 1 2 6 0 3 9 4 4 3 0 4 1 8 1 6 7 0 4 0 4 0 
Time cost: 0.9273645877838135s

p11:
Result: 8967
Status of facilities: 1 1 1 0 1 0 1 0 1 0 
The assignment of customers to facilities: 8 8 1 6 1 8 2 4 2 1 4 8 0 2 8 0 4 0 6 4 1 8 6 4 2 6 1 1 0 1 2 6 0 2 4 4 4 0 0 4 1 8 1 6 4 0 2 0 4 0 
Time cost: 0.9326126575469971s

p12:
Result: 10427
Status of facilities: 1 1 1 1 1 0 1 0 1 0 
The assignment of customers to facilities: 8 8 1 6 3 8 2 4 4 1 4 8 3 2 8 3 2 0 6 4 3 8 6 4 2 6 1 1 0 1 2 6 0 3 4 4 4 3 0 4 1 8 1 6 4 0 2 0 4 0 
Time cost: 0.94134521484375s

p13:
Result: 8365
Status of facilities: 0 1 0 0 0 0 0 0 0 1 1 0 0 1 1 1 1 1 0 1 
The assignment of customers to facilities: 16 1 10 10 1 13 17 13 14 17 15 19 1 10 13 14 15 10 17 9 14 15 15 19 9 1 16 17 1 17 13 15 13 16 1 10 17 19 19 13 9 16 15 16 9 13 14 10 19 9 
Time cost: 0.9643852710723877s

p14:
Result: 7137
Status of facilities: 0 0 0 1 0 0 0 0 0 1 1 0 0 1 1 1 1 1 0 1 
The assignment of customers to facilities: 16 3 10 10 19 13 17 13 14 17 15 19 19 10 13 3 15 10 17 9 14 15 15 19 9 17 16 17 3 17 13 15 13 16 3 10 3 19 19 13 9 16 15 16 3 13 14 10 19 9 
Time cost: 0.9760012626647949s

p15:
Result: 8808
Status of facilities: 0 0 0 1 0 0 0 0 0 1 1 0 0 1 0 1 1 1 0 1 
The assignment of customers to facilities: 16 3 10 10 19 13 17 13 3 17 15 19 19 10 13 3 15 10 17 9 15 15 15 19 9 17 16 17 3 17 13 15 13 16 3 10 3 19 19 13 9 16 16 16 3 13 15 10 19 9 
Time cost: 0.9880332946777344s

p16:
Result: 10730
Status of facilities: 1 0 0 1 0 0 1 1 0 0 1 0 0 1 0 0 0 1 0 1 
The assignment of customers to facilities: 0 3 10 10 19 13 17 13 3 17 7 19 19 6 13 3 7 10 17 6 7 7 7 19 6 17 0 17 3 17 13 7 13 7 3 10 3 19 19 13 6 0 0 0 3 13 7 10 19 6 
Time cost: 0.9731912612915039s

p17:
Result: 8240
Status of facilities: 1 1 0 0 0 0 0 0 0 1 1 0 0 1 1 1 0 1 0 1 
The assignment of customers to facilities: 0 1 10 10 1 15 17 13 14 17 15 19 1 10 13 14 15 10 17 9 14 15 15 19 9 1 0 17 1 17 13 15 13 0 1 10 17 19 19 13 9 0 15 0 9 13 14 10 19 9 
Time cost: 1.0709400177001953s

p18:
Result: 7214
Status of facilities: 1 0 0 1 0 0 1 0 0 0 1 0 0 1 1 1 0 1 0 1 
The assignment of customers to facilities: 0 3 10 10 19 15 17 13 14 17 15 19 19 6 13 3 15 10 17 6 14 15 15 19 6 17 0 17 3 17 13 15 13 0 3 10 3 19 19 13 6 0 0 15 3 13 14 10 19 6 
Time cost: 0.9833917617797852s

p19:
Result: 9015
Status of facilities: 0 0 0 1 0 0 1 0 0 0 1 0 1 1 0 1 1 1 0 1 
The assignment of customers to facilities: 16 12 10 10 19 12 17 13 12 17 15 19 19 6 13 3 15 10 17 6 12 15 15 19 6 17 16 17 3 17 13 15 13 16 3 10 3 19 19 13 6 16 15 16 3 13 12 10 19 6 
Time cost: 0.9604361057281494s

p20:
Result: 10779
Status of facilities: 1 0 0 1 0 0 1 0 0 0 1 0 0 1 1 1 0 1 0 1 
The assignment of customers to facilities: 0 3 10 10 19 15 17 13 14 17 15 19 19 6 13 3 15 10 17 6 14 15 15 19 6 17 0 17 3 17 13 15 13 0 3 10 3 19 19 13 6 0 15 0 3 13 14 10 19 6 
Time cost: 0.9773945808410645s

p21:
Result: 8114
Status of facilities: 1 1 0 0 0 0 0 0 0 1 1 0 0 1 1 1 0 1 0 0 
The assignment of customers to facilities: 0 1 10 10 1 15 17 13 14 17 15 1 1 10 13 14 15 10 17 9 14 15 15 13 9 17 0 17 1 17 13 15 13 0 1 10 17 1 1 13 10 0 0 0 9 13 14 10 1 9 
Time cost: 0.9609119892120361s

p22:
Result: 7120
Status of facilities: 0 0 0 1 0 0 0 0 0 1 1 0 0 1 1 1 1 1 0 1 
The assignment of customers to facilities: 16 3 10 10 19 15 17 13 14 17 15 19 19 10 13 3 15 10 17 9 14 15 15 19 9 17 16 17 3 17 13 15 13 16 3 10 3 19 19 13 10 16 15 16 3 13 14 10 19 9 
Time cost: 0.9359855651855469s

p23:
Result: 8754
Status of facilities: 1 0 0 0 0 0 0 0 0 1 1 0 1 1 0 1 0 1 0 1 
The assignment of customers to facilities: 0 12 10 10 19 12 17 13 12 17 15 19 19 10 13 12 15 10 17 9 12 15 15 19 9 17 0 17 12 17 13 15 13 0 12 10 17 19 19 13 10 0 0 0 9 13 12 10 19 9 
Time cost: 0.9379396438598633s

p24:
Result: 10547
Status of facilities: 0 1 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1 1 0 0 
The assignment of customers to facilities: 16 1 10 10 1 15 17 2 10 17 15 1 1 6 2 1 15 10 17 6 15 15 15 2 6 17 16 17 1 17 2 15 2 16 1 10 17 1 1 2 6 16 16 16 6 15 15 10 2 6 
Time cost: 0.9380884170532227s

p25:
Result: 12261
Status of facilities: 1 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 1 1 0 0 0 0 
The assignment of customers to facilities: 20 11 20 14 20 5 2 24 14 17 24 8 8 20 0 14 14 17 5 11 2 0 5 2 5 8 2 24 5 24 5 25 20 25 20 20 24 24 0 14 0 14 24 8 24 14 0 20 11 8 5 14 14 5 20 20 17 25 11 14 0 5 20 11 11 11 24 0 24 24 20 20 11 17 24 8 24 20 14 24 20 0 20 17 17 17 17 0 20 5 2 24 17 11 0 24 2 14 25 8 8 17 14 25 2 25 0 11 14 8 14 14 2 11 11 25 24 24 24 24 5 8 25 20 8 0 5 24 0 25 0 11 24 5 8 14 0 5 20 17 0 8 20 14 8 25 25 5 2 5 
Time cost: 3.189701557159424s

p26:
Result: 11033
Status of facilities: 1 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 1 1 0 0 0 0 
The assignment of customers to facilities: 20 11 20 14 20 5 14 24 14 17 24 8 8 20 2 14 14 17 5 11 2 0 5 2 5 8 2 24 5 24 5 25 20 25 20 20 24 24 0 14 0 14 24 8 24 14 0 20 11 8 5 14 14 5 20 20 17 11 11 14 0 5 20 11 11 11 24 0 5 24 20 20 11 17 24 8 24 20 14 24 20 0 20 17 2 17 17 0 20 5 2 24 0 11 0 5 2 14 25 20 8 17 17 25 2 25 0 11 14 8 14 14 2 11 11 25 24 24 24 24 5 8 25 20 8 0 5 24 0 25 0 11 24 5 8 14 0 5 20 17 0 8 20 14 8 25 25 5 2 5 
Time cost: 3.176814556121826s

p27:
Result: 13041
Status of facilities: 1 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 1 1 0 0 0 0 
The assignment of customers to facilities: 20 11 20 14 20 5 2 24 14 17 24 8 8 20 0 14 14 17 5 11 14 0 5 2 5 8 2 24 5 24 5 25 20 25 20 20 24 24 0 14 0 14 24 8 24 14 0 20 11 8 5 14 14 5 20 20 17 11 0 14 0 5 20 11 11 11 24 0 5 24 20 20 11 0 24 8 24 20 14 24 20 0 20 17 17 17 17 0 20 5 2 24 17 11 0 5 2 2 25 20 8 17 17 25 2 25 0 11 14 8 14 14 2 11 11 25 24 24 24 24 5 8 25 20 8 0 5 24 0 25 0 11 24 5 8 14 0 5 20 17 0 8 20 14 8 25 25 5 2 5 
Time cost: 3.2794647216796875s

p28:
Result: 15033
Status of facilities: 1 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 1 1 0 0 0 0 
The assignment of customers to facilities: 20 11 20 14 20 5 2 24 14 17 24 8 8 20 0 14 14 17 5 11 14 0 5 2 5 8 2 24 5 24 5 25 20 25 20 20 24 24 0 14 0 14 24 8 24 14 0 20 11 8 5 14 14 5 20 20 17 11 0 14 0 5 20 11 11 11 24 0 24 24 20 20 11 17 24 8 24 20 14 24 20 0 20 17 2 17 17 0 20 5 2 24 0 11 0 5 2 14 25 20 8 17 17 25 2 25 0 11 14 8 14 14 2 11 11 11 24 24 24 24 5 8 25 20 8 0 5 24 0 25 0 11 24 5 8 14 0 5 20 17 0 8 20 14 8 25 25 5 2 5 
Time cost: 3.2464394569396973s

p29:
Result: 12790
Status of facilities: 1 0 1 0 0 1 1 0 1 0 0 1 0 0 1 1 0 1 0 0 1 0 0 0 1 1 0 0 0 0 
The assignment of customers to facilities: 20 11 20 2 20 5 2 24 14 17 5 8 8 20 17 14 14 17 5 11 2 0 5 17 5 8 2 24 5 15 25 25 6 25 20 20 24 15 0 14 0 14 15 14 24 14 0 20 11 8 25 14 14 5 6 20 17 11 11 14 0 5 20 11 11 11 24 0 5 24 20 6 11 17 24 8 24 20 2 24 20 0 8 17 2 17 17 0 20 5 2 24 17 11 17 24 2 2 25 8 8 17 17 25 2 25 17 11 14 8 14 14 2 11 11 25 24 15 24 24 5 8 25 20 8 0 5 15 0 25 0 11 24 25 8 14 0 5 8 17 0 8 20 14 8 25 25 5 2 5 
Time cost: 3.2839627265930176s

p30:
Result: 11565
Status of facilities: 1 0 1 0 0 1 0 0 1 0 0 1 0 1 1 0 0 1 0 0 1 0 0 0 1 1 0 0 0 0 
The assignment of customers to facilities: 20 11 13 2 13 5 2 24 14 17 25 8 8 20 2 14 14 17 5 11 2 0 24 17 25 8 2 24 25 25 5 25 13 25 20 20 24 5 0 14 0 14 24 8 24 14 0 13 11 8 25 2 14 5 13 20 17 11 0 14 0 5 20 11 11 11 24 0 5 25 20 13 11 17 24 8 24 20 14 24 20 0 20 17 17 17 17 0 20 5 2 24 17 11 17 5 2 2 25 13 8 17 17 25 2 25 0 11 14 8 14 14 2 11 11 11 24 24 5 24 5 8 25 13 8 0 5 5 0 11 0 11 24 25 8 14 17 25 20 17 0 8 20 14 8 25 25 5 2 5 
Time cost: 3.2934188842773438s

p31:
Result: 13996
Status of facilities: 1 0 1 0 0 1 0 0 1 1 0 1 0 1 1 0 0 1 0 0 1 0 0 0 1 1 0 0 0 0 
The assignment of customers to facilities: 20 11 13 2 20 5 2 9 14 17 9 8 8 20 17 14 14 17 5 11 2 0 5 17 9 8 2 24 5 24 5 25 13 25 20 20 24 24 0 14 0 14 24 8 24 14 0 13 11 8 25 14 14 5 13 20 17 11 11 14 0 5 20 11 11 11 9 0 24 9 20 20 11 17 24 8 9 20 2 9 20 0 13 17 2 17 17 0 20 5 2 24 17 11 17 9 2 2 25 13 8 17 17 25 2 25 17 11 14 8 14 14 2 11 11 25 24 24 24 24 5 8 25 13 8 0 5 9 0 25 0 11 24 5 8 14 0 5 20 17 0 8 20 14 8 25 25 5 2 5 
Time cost: 3.240875482559204s

p32:
Result: 15922
Status of facilities: 1 0 1 0 0 1 0 0 1 0 0 1 0 1 1 0 0 1 0 0 1 0 0 0 1 1 0 0 0 0 
The assignment of customers to facilities: 20 11 13 2 20 5 2 24 14 17 5 8 8 20 2 14 14 17 25 11 2 0 25 17 25 8 2 24 5 24 25 25 13 25 20 20 24 24 0 14 0 14 24 8 24 14 0 13 11 8 25 14 14 5 13 20 17 11 0 14 0 5 20 11 11 11 5 0 25 5 20 20 11 17 24 8 24 20 14 25 20 0 13 17 17 17 17 0 20 25 2 5 17 11 17 24 2 2 11 8 8 17 17 25 2 25 17 11 14 8 14 2 2 11 11 25 24 24 24 24 5 8 25 13 8 0 5 5 0 11 0 11 24 25 8 14 0 5 20 17 0 8 20 14 8 11 25 5 2 5 
Time cost: 3.2669596672058105s

p33:
Result: 12221
Status of facilities: 1 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 1 1 0 0 0 0 
The assignment of customers to facilities: 20 11 20 2 20 5 2 24 14 17 5 8 8 20 17 14 14 17 5 11 2 0 5 17 5 8 2 24 5 24 5 25 8 25 20 20 24 24 0 14 0 14 24 8 24 14 0 20 11 8 5 14 14 5 20 20 17 11 11 14 0 5 20 11 11 11 24 0 5 5 8 20 11 17 24 8 24 20 14 24 20 0 20 17 17 17 17 0 20 5 2 24 17 11 17 5 2 2 25 20 8 17 17 25 2 25 17 11 14 8 14 14 2 11 11 11 24 24 24 24 5 8 25 20 8 0 5 24 0 25 0 11 24 5 8 14 17 5 20 17 0 8 20 14 8 25 25 5 2 5 
Time cost: 3.1808559894561768s

p34:
Result: 11025
Status of facilities: 1 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 1 1 0 0 0 0 
The assignment of customers to facilities: 20 11 8 2 20 5 2 24 14 17 24 8 8 20 17 14 14 17 5 11 2 0 5 17 5 8 2 24 5 24 5 25 20 25 20 20 24 24 0 14 0 14 24 8 24 14 0 20 11 8 5 14 14 5 20 20 17 11 0 14 0 5 20 11 11 11 24 0 24 5 8 20 11 17 24 8 24 20 14 5 20 0 20 17 2 17 17 17 20 5 2 24 17 11 17 5 2 2 25 20 8 17 17 25 2 25 17 11 14 8 14 14 2 11 11 25 24 24 24 24 5 8 25 20 8 0 5 24 0 25 0 11 24 5 8 14 17 5 20 17 0 8 20 14 8 25 25 5 2 5 
Time cost: 3.165825128555298s

p35:
Result: 13009
Status of facilities: 1 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 1 1 0 0 0 0 
The assignment of customers to facilities: 20 11 20 14 8 5 2 24 14 17 5 8 8 20 17 14 14 17 5 11 2 0 5 17 5 8 2 24 5 24 5 25 20 25 20 20 24 24 0 14 0 14 24 8 24 14 0 20 11 8 5 14 14 5 20 20 17 11 11 14 0 5 20 11 11 11 24 0 5 24 8 20 11 17 24 8 24 20 14 24 20 0 20 17 17 17 17 0 20 5 2 24 17 11 17 24 2 2 25 8 8 17 17 25 2 25 17 11 14 8 14 14 2 11 11 25 24 24 5 24 5 8 25 20 8 0 5 24 0 25 0 11 24 5 8 14 17 5 20 17 0 8 20 14 8 25 25 5 2 5 
Time cost: 3.1774415969848633s

p36:
Result: 15011
Status of facilities: 1 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 1 1 0 0 0 0 
The assignment of customers to facilities: 20 11 8 2 20 5 2 24 14 17 5 8 8 20 17 14 14 17 5 11 2 0 5 17 5 8 2 24 5 24 5 25 20 25 20 20 24 24 0 14 0 14 24 8 24 14 0 20 11 8 5 14 14 5 20 20 17 11 11 14 0 5 20 11 11 11 24 0 24 24 8 20 11 17 24 8 24 20 14 24 20 0 20 17 17 17 17 17 20 5 2 24 17 11 17 5 2 2 25 20 8 17 17 25 2 25 17 11 14 8 14 14 2 11 11 25 24 24 5 24 5 8 25 20 8 0 5 24 0 25 0 11 24 5 8 14 17 5 20 17 0 8 20 14 8 25 25 5 2 5 
Time cost: 3.173393964767456s

p37:
Result: 12200
Status of facilities: 1 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 1 1 0 0 0 0 
The assignment of customers to facilities: 20 11 20 2 20 5 2 24 14 17 24 8 8 20 17 14 14 17 5 11 2 0 5 17 5 8 2 24 5 24 5 25 20 25 20 20 24 24 0 14 0 14 24 8 24 14 0 20 11 8 5 14 14 5 20 20 17 11 0 14 0 5 20 11 11 11 24 0 24 24 20 20 11 17 24 8 24 20 14 24 20 0 20 17 17 17 17 0 20 5 2 24 17 11 17 24 2 2 25 20 8 17 17 25 2 25 17 11 14 8 14 14 2 11 11 25 24 24 24 24 5 8 25 20 8 0 5 24 0 25 0 11 24 5 8 14 17 5 20 17 0 8 20 14 8 25 25 5 2 5 
Time cost: 3.1654281616210938s

p38:
Result: 10984
Status of facilities: 1 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 1 1 0 0 0 0 
The assignment of customers to facilities: 20 11 20 2 20 5 2 24 14 17 24 8 8 20 17 14 14 17 5 11 2 0 5 17 5 8 2 24 5 24 5 25 20 25 20 20 24 24 0 14 0 14 24 8 24 14 0 20 11 8 5 14 14 5 20 20 17 11 11 14 0 5 20 11 11 11 24 0 5 24 20 20 11 17 24 8 24 20 14 24 20 0 20 17 17 17 17 0 20 5 2 24 17 11 17 5 2 2 25 20 8 17 17 25 2 25 17 11 14 8 14 14 2 11 11 25 24 24 24 24 5 8 25 20 8 0 5 24 0 25 0 11 24 5 8 14 17 5 20 17 0 8 20 14 8 25 25 5 2 5 
Time cost: 3.131584644317627s

p39:
Result: 12984
Status of facilities: 1 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 1 1 0 0 0 0 
The assignment of customers to facilities: 20 11 20 2 20 5 2 24 14 17 24 8 8 20 17 14 14 17 5 11 2 0 5 17 5 8 2 24 5 24 5 25 20 25 20 20 24 24 0 14 0 14 24 8 24 14 0 20 11 8 5 14 14 5 20 20 17 11 11 14 0 5 20 11 11 11 24 0 24 24 20 20 11 17 24 8 24 20 14 24 20 0 20 17 17 17 17 0 20 5 2 24 17 11 17 24 2 2 25 20 8 17 17 25 2 25 17 11 14 8 14 14 2 11 11 25 24 24 24 24 5 8 25 20 8 0 5 24 0 25 0 11 24 5 8 14 17 5 20 17 0 8 20 14 8 25 25 5 2 5 
Time cost: 3.1863224506378174s

p40:
Result: 14349
Status of facilities: 1 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 1 0 0 0 0 0 
The assignment of customers to facilities: 20 11 20 2 20 5 2 24 14 17 24 8 8 20 17 14 14 17 5 11 2 0 5 17 5 8 2 24 5 24 5 11 20 11 20 20 24 24 0 14 0 14 24 8 24 14 0 20 11 8 5 14 14 5 20 20 17 11 0 14 0 5 20 11 11 11 24 0 24 5 20 20 11 17 24 8 24 20 14 24 20 0 20 17 17 17 17 0 20 5 2 24 17 11 17 24 2 2 11 20 8 17 17 11 2 5 17 11 14 8 14 14 2 11 11 11 24 24 24 24 5 8 11 20 8 0 5 24 0 5 0 11 24 5 8 14 17 5 20 17 0 8 20 14 8 11 11 5 2 5 
Time cost: 3.1833200454711914s

p41:
Result: 6874
Status of facilities: 1 1 1 1 1 0 1 0 0 1 
The assignment of customers to facilities: 0 6 4 1 2 9 3 3 3 3 4 6 2 6 2 2 3 3 0 6 6 1 4 1 6 4 4 4 0 3 0 4 0 0 3 9 2 6 6 9 2 3 3 3 3 4 0 3 6 4 1 1 6 6 2 9 2 3 3 3 0 0 1 0 0 6 6 6 4 4 4 4 4 0 3 9 2 2 6 3 9 2 2 2 9 9 9 9 9 9 
Time cost: 1.925893783569336s

p42:
Result: 6213
Status of facilities: 1 0 1 1 0 1 0 0 1 0 0 0 0 0 1 0 1 0 0 1 
The assignment of customers to facilities: 2 14 3 5 19 19 16 3 16 16 8 19 19 14 19 0 0 2 14 14 5 3 5 8 8 8 3 16 2 3 0 19 19 8 14 19 19 0 0 0 0 3 3 16 5 5 8 19 0 19 16 2 16 3 2 5 2 14 14 14 3 3 3 3 3 3 0 0 19 19 19 8 19 19 19 19 19 19 19 19 
Time cost: 1.7925469875335693s

p43:
Result: 5944
Status of facilities: 1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1 1 
The assignment of customers to facilities: 12 21 11 23 23 22 9 21 12 29 23 23 23 9 12 11 21 11 12 0 0 9 22 22 22 23 29 12 29 29 29 23 23 23 0 22 23 12 21 11 29 12 29 23 28 9 9 22 9 11 21 0 9 11 12 11 21 22 23 29 29 29 28 29 28 28 28 28 28 29 
Time cost: 1.7406110763549805s

p44:
Result: 7130
Status of facilities: 1 1 1 1 1 1 1 0 1 1 
The assignment of customers to facilities: 4 4 4 4 4 4 4 4 0 0 6 0 0 0 0 0 1 1 1 6 1 6 1 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 4 0 1 1 2 8 6 5 3 9 6 6 5 5 8 8 5 5 8 5 5 5 9 3 0 6 6 8 1 0 4 9 9 5 6 8 6 6 5 8 5 9 9 9 9 9 6 5 6 5 
Time cost: 1.940636157989502s

p45:
Result: 6549
Status of facilities: 1 1 0 1 1 1 0 0 1 1 0 0 0 0 0 1 0 1 0 0 
The assignment of customers to facilities: 0 0 0 0 0 0 0 1 1 15 1 1 1 1 15 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 0 0 3 3 4 3 15 17 15 3 15 5 8 8 17 17 15 0 5 15 9 9 3 9 15 17 1 8 8 8 9 9 15 3 17 17 17 17 17 17 9 8 
Time cost: 1.9029743671417236s

p46:
Result: 6036
Status of facilities: 1 1 0 1 0 1 0 0 1 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 
The assignment of customers to facilities: 0 0 0 0 0 0 0 1 1 1 1 11 11 11 11 3 3 3 3 3 3 5 5 5 5 5 5 8 8 8 8 13 13 8 0 3 3 5 3 28 28 12 3 28 14 14 14 14 13 28 0 13 13 11 3 14 13 28 12 14 12 12 28 28 14 13 14 13 1 12 
Time cost: 1.7817168235778809s

p47:
Result: 6452
Status of facilities: 1 1 1 1 1 1 0 1 1 1 
The assignment of customers to facilities: 0 0 0 0 0 0 0 0 2 0 1 2 1 1 1 2 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 7 7 5 7 4 0 7 7 7 7 7 7 8 8 8 8 7 8 8 8 9 2 9 9 9 0 9 9 
Time cost: 1.8813807964324951s

p48:
Result: 5858
Status of facilities: 0 1 0 1 0 1 0 0 1 1 1 0 0 1 1 0 0 1 0 1 
The assignment of customers to facilities: 1 19 1 1 1 1 1 5 1 3 3 3 3 3 3 5 5 5 5 5 5 5 5 5 9 5 5 9 5 5 5 8 8 8 8 8 8 8 9 9 9 9 10 10 10 10 10 10 13 13 13 13 13 13 13 14 14 13 14 13 1 14 14 14 14 17 17 17 17 17 17 17 17 19 19 19 19 19 19 19 
Time cost: 1.8314292430877686s

p49:
Result: 5378
Status of facilities: 1 0 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 
The assignment of customers to facilities: 0 0 0 0 0 0 0 0 5 5 5 5 5 6 6 6 6 6 6 6 6 6 9 9 9 9 9 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 20 20 20 20 20 20 23 20 23 20 0 23 23 23 23 25 25 25 25 25 25 25 28 28 28 28 0 28 
Time cost: 1.79543137550354s

p50:
Result: 9219
Status of facilities: 1 1 1 1 1 1 1 0 0 1 
The assignment of customers to facilities: 3 6 3 0 2 9 5 5 3 5 5 4 6 9 9 9 9 2 5 3 6 6 0 4 0 0 3 4 4 3 3 3 3 3 3 5 1 9 0 6 0 9 9 9 5 5 5 5 5 3 3 5 6 0 0 0 6 6 2 2 9 5 5 5 3 3 0 4 3 3 3 6 6 0 0 4 4 3 3 4 3 5 2 2 2 2 1 5 2 5 9 1 2 2 1 1 1 1 9 1 
Time cost: 1.9356021881103516s

p51:
Result: 8007
Status of facilities: 1 1 0 0 0 1 1 0 0 0 1 0 1 1 1 1 0 0 0 0 
The assignment of customers to facilities: 15 6 15 10 5 13 5 5 15 1 5 14 6 13 6 13 12 5 5 15 0 0 10 14 14 14 1 15 14 15 1 1 15 15 15 5 13 13 10 0 0 13 13 13 12 5 5 5 5 15 15 5 0 14 14 10 6 6 13 12 13 5 1 5 15 15 10 14 1 1 15 0 0 0 10 15 10 15 15 14 15 5 12 12 13 12 6 5 12 1 13 13 6 6 13 12 13 13 13 13 
Time cost: 1.874603509902954s

p52:
Result: 9289
Status of facilities: 0 0 0 1 1 1 1 1 1 1 
The assignment of customers to facilities: 7 7 7 7 7 7 7 7 3 4 4 4 3 4 4 4 4 8 3 8 8 3 3 8 8 9 5 9 9 9 9 9 9 5 6 6 6 6 6 6 6 6 6 6 7 7 4 8 8 5 5 3 4 6 7 5 3 3 3 4 6 9 5 8 3 3 9 7 4 7 6 6 4 3 3 5 8 4 7 5 6 3 3 5 5 3 3 7 5 3 5 5 9 6 5 6 3 4 4 7 
Time cost: 2.0605342388153076s

p53:
Result: 8996
Status of facilities: 0 0 0 1 0 1 0 1 0 1 0 0 1 1 0 1 0 0 1 0 
The assignment of customers to facilities: 5 5 5 7 5 5 5 5 7 7 7 7 7 7 7 7 7 12 13 12 12 13 13 12 12 9 9 9 9 9 15 9 9 15 18 18 18 18 18 18 18 18 18 18 5 5 7 12 12 15 15 3 7 18 5 15 3 3 3 7 18 9 15 13 3 13 15 18 7 5 9 18 7 3 3 15 3 7 5 13 18 7 13 15 15 3 3 5 15 3 15 15 9 15 15 18 3 7 3 5 
Time cost: 2.0094263553619385s

p54:
Result: 9075
Status of facilities: 1 0 1 1 1 1 1 0 1 1 
The assignment of customers to facilities: 9 2 2 9 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 6 6 8 8 6 8 8 8 8 8 8 3 3 6 6 6 6 6 6 6 6 6 5 5 6 5 5 5 6 6 0 0 6 0 5 2 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 9 4 9 9 9 9 9 
Time cost: 1.998476266860962s

p55:
Result: 8260
Status of facilities: 0 0 1 0 0 0 1 1 1 1 0 0 0 1 1 1 0 0 1 0 
The assignment of customers to facilities: 18 18 18 18 18 18 18 2 8 8 8 8 2 8 8 2 2 2 8 6 6 6 2 6 6 6 6 6 6 6 6 14 14 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 6 7 7 14 7 7 7 7 7 7 7 7 7 9 13 7 9 7 9 7 7 9 13 9 9 13 18 13 9 13 9 9 13 15 15 15 15 15 15 15 15 15 15 18 18 18 18 18 18 18 18 18 
Time cost: 1.8791477680206299s

p56:
Result: 21879
Status of facilities: 1 0 1 1 1 1 1 0 1 1 1 1 1 1 0 0 1 0 1 1 0 1 0 1 1 1 0 1 1 0 
The assignment of customers to facilities: 18 19 21 27 2 12 21 27 18 28 4 28 13 13 28 18 3 10 27 0 18 16 5 24 10 18 27 19 4 2 19 19 4 16 27 6 8 8 24 16 18 9 6 4 8 19 13 21 19 10 24 16 24 16 8 6 11 9 18 25 4 0 25 8 13 11 5 19 28 25 18 12 6 9 23 23 8 23 8 16 10 0 9 25 4 13 6 5 27 25 28 6 25 25 2 3 11 6 0 28 28 21 25 18 4 0 4 24 27 3 19 4 27 12 12 8 28 25 0 8 9 11 28 19 9 16 2 11 19 0 28 24 11 10 23 9 3 3 28 10 12 27 11 11 25 5 24 21 27 25 24 0 23 0 8 11 2 16 3 13 13 27 10 24 5 27 5 4 3 21 5 8 19 10 4 2 0 10 4 10 5 21 2 19 12 8 28 23 0 21 2 21 6 4 25 12 25 21 10 19 
Time cost: 4.228732109069824s

p57:
Result: 27819
Status of facilities: 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 0 0 0 0 0 1 1 0 0 1 1 0 
The assignment of customers to facilities: 7 6 2 27 2 12 15 27 27 28 4 28 10 3 28 11 3 10 24 0 27 16 5 24 10 27 27 14 4 2 6 4 4 16 27 6 8 8 24 16 7 9 6 4 8 6 3 2 14 14 24 16 24 16 8 6 11 9 7 7 4 0 7 8 3 11 5 14 28 12 7 12 6 9 23 23 10 23 8 16 23 0 9 7 4 10 6 5 24 7 28 6 11 11 2 3 11 6 0 28 28 15 12 7 4 0 4 24 16 3 14 4 27 12 12 8 28 7 14 8 9 11 28 6 9 16 2 11 14 0 28 24 11 10 23 9 3 3 28 10 12 27 11 11 11 5 24 15 27 11 24 0 23 0 8 11 2 15 3 3 3 27 10 24 5 27 5 4 3 15 5 8 28 14 9 2 0 10 4 10 5 15 2 6 12 8 28 23 0 2 2 2 6 4 7 12 7 15 10 6 
Time cost: 4.384791135787964s

p58:
Result: 41031
Status of facilities: 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 0 0 0 1 0 1 0 0 1 1 0 
The assignment of customers to facilities: 7 6 2 27 2 12 2 27 22 28 4 28 13 13 28 7 3 10 22 0 27 16 5 24 10 27 27 14 4 2 6 6 4 16 27 6 8 8 24 16 7 9 6 4 8 6 13 16 14 14 24 16 24 16 8 12 11 9 22 7 4 0 7 8 13 11 5 14 28 12 7 12 6 9 5 13 10 5 8 16 10 0 9 11 4 13 6 5 27 7 28 6 7 11 2 3 11 6 0 28 28 16 12 7 4 0 4 24 22 3 14 4 27 12 12 8 28 7 14 8 9 11 28 6 9 16 2 11 14 0 28 24 11 10 5 9 3 3 28 10 12 22 11 11 11 5 24 16 27 11 24 0 10 0 8 11 2 16 3 13 13 27 10 24 5 27 5 4 3 2 5 8 28 14 4 2 0 10 4 10 5 16 2 6 12 8 28 10 0 2 2 16 6 4 7 12 7 2 10 6 
Time cost: 4.381373643875122s

p59:
Result: 31301
Status of facilities: 1 0 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 0 0 0 1 1 
The assignment of customers to facilities: 18 6 2 24 2 12 15 28 18 28 4 28 13 13 28 18 13 10 16 0 18 16 5 24 10 18 24 14 29 2 6 4 4 16 28 6 14 8 24 16 18 8 6 4 8 4 13 2 14 14 24 16 24 16 8 6 11 8 18 7 29 0 7 8 13 11 5 14 28 12 18 12 6 8 23 23 10 23 8 16 10 0 8 7 29 13 6 5 24 7 28 6 7 11 2 13 11 6 0 28 17 15 12 7 4 0 4 24 16 13 14 4 18 12 12 8 28 7 17 8 14 11 17 6 4 16 2 11 14 17 28 24 11 10 23 8 13 13 28 10 12 18 11 11 11 5 24 15 18 7 24 17 23 0 8 11 2 15 13 13 13 0 10 24 5 28 5 4 13 15 5 8 28 14 4 2 0 10 29 10 5 15 2 6 12 8 28 23 0 2 2 2 6 4 7 12 7 15 10 6 
Time cost: 4.353293418884277s

p60:
Result: 21602
Status of facilities: 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 0 1 1 0 1 0 0 1 0 0 1 1 0 
The assignment of customers to facilities: 18 19 21 27 2 12 21 27 18 28 4 28 10 3 28 18 3 10 27 0 18 16 5 24 10 18 27 19 4 2 19 19 4 16 27 6 8 8 24 16 18 9 6 4 8 19 3 21 19 14 24 16 24 16 8 6 11 9 18 7 4 0 7 8 3 11 5 14 28 12 18 12 19 9 5 10 10 5 8 16 10 0 9 7 4 10 6 5 27 7 28 6 7 11 2 3 11 6 0 28 28 21 12 18 4 0 4 24 27 3 19 4 27 12 12 8 28 7 14 8 9 11 28 19 9 16 2 11 19 0 28 24 11 10 5 9 3 3 28 10 12 27 11 11 11 5 24 21 27 11 24 0 10 0 8 11 2 16 3 3 3 27 10 24 5 27 5 4 3 21 5 8 19 14 4 2 0 10 4 10 5 21 2 19 12 8 28 10 0 21 2 21 6 4 7 12 7 21 10 19 
Time cost: 4.171145439147949s

p61:
Result: 26469
Status of facilities: 1 0 1 1 1 1 1 1 1 1 1 1 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 1 1 0 
The assignment of customers to facilities: 7 6 21 27 2 6 21 27 27 28 4 28 10 3 28 7 3 10 27 0 27 16 5 0 10 27 27 14 4 2 6 4 4 16 27 6 8 8 16 16 7 9 6 4 8 4 3 21 14 14 0 16 2 16 8 6 11 9 27 7 4 0 7 8 3 11 5 14 28 11 7 6 6 9 5 10 10 5 8 16 10 0 9 7 4 10 6 5 27 7 28 6 7 11 2 3 11 6 0 28 28 21 11 7 4 0 4 27 27 3 14 4 27 6 11 8 28 7 14 8 9 11 28 6 9 16 2 11 4 0 28 21 11 10 5 9 3 3 28 10 11 27 11 11 11 5 16 21 27 11 27 0 10 0 8 11 2 16 3 3 3 27 10 2 5 27 5 4 3 21 5 8 28 14 4 2 0 10 4 10 5 21 2 6 11 8 28 10 0 21 2 21 6 4 7 6 7 21 10 6 
Time cost: 4.4558186531066895s

p62:
Result: 37830
Status of facilities: 1 0 1 1 1 1 1 1 1 0 1 0 0 0 0 1 0 0 0 1 0 0 0 1 0 1 1 1 0 0 
The assignment of customers to facilities: 7 19 2 27 2 6 15 27 27 27 4 19 10 3 19 7 3 10 0 0 27 15 5 0 10 27 27 19 4 2 19 19 4 15 27 6 8 8 0 15 7 8 6 4 8 19 3 2 19 10 0 27 2 15 8 6 25 8 7 7 4 0 7 8 3 25 5 19 19 25 7 6 19 8 23 23 10 23 8 27 10 0 26 25 4 10 6 5 27 7 0 6 25 25 2 3 27 6 0 19 19 15 25 7 4 0 4 27 27 3 19 4 27 6 6 8 19 7 0 8 26 25 0 19 26 15 2 6 26 0 27 2 25 10 23 8 3 3 19 10 6 27 6 25 25 5 27 15 27 25 0 0 23 0 8 25 2 15 3 3 3 27 10 2 5 27 5 4 3 15 5 8 19 10 26 2 0 10 4 10 5 15 2 19 6 8 6 23 0 2 2 2 6 4 7 6 7 15 10 19 
Time cost: 4.3287928104400635s

p63:
Result: 29332
Status of facilities: 1 0 1 1 1 0 1 1 1 1 1 0 0 0 1 0 0 1 1 0 0 0 0 1 1 1 0 0 1 0 
The assignment of customers to facilities: 18 6 2 24 2 6 2 28 18 28 4 28 10 3 28 18 3 10 18 0 18 24 23 24 10 18 24 14 4 2 6 4 4 24 28 6 8 8 24 2 18 9 6 4 8 4 3 2 14 14 24 24 24 24 8 6 25 9 18 7 4 0 7 8 3 25 23 14 28 25 18 6 6 9 23 23 10 23 8 24 10 0 9 25 4 10 6 2 24 7 28 6 25 25 2 3 28 6 0 28 28 2 25 18 4 0 4 24 18 3 14 4 18 6 25 8 28 7 17 8 9 25 17 6 9 24 2 28 4 17 28 24 25 10 23 9 3 3 28 10 6 18 28 25 25 2 24 2 18 25 24 17 23 0 8 28 2 2 3 3 3 0 10 24 23 28 23 4 3 2 23 8 28 14 4 2 0 10 4 10 2 2 24 6 6 8 28 23 0 24 2 2 6 4 7 6 7 2 10 6 
Time cost: 4.264530897140503s

p64:
Result: 21750
Status of facilities: 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 0 1 0 1 0 0 1 1 0 1 1 0 
The assignment of customers to facilities: 7 19 21 27 2 12 15 27 27 28 4 28 13 13 28 7 3 10 27 0 27 21 5 24 10 27 27 19 4 2 19 19 4 21 27 6 8 8 24 15 7 9 6 4 8 19 13 21 19 10 24 24 24 21 8 6 11 9 27 25 4 0 7 8 13 11 5 19 28 25 7 12 19 9 10 13 10 5 8 24 10 0 9 25 4 13 6 5 27 7 28 6 25 25 2 3 11 6 0 28 28 15 25 7 4 0 4 24 27 3 19 4 27 12 12 8 28 7 0 8 9 11 28 19 9 21 2 11 19 0 28 24 25 10 5 9 3 3 28 10 12 27 11 11 25 5 24 15 27 25 24 0 10 0 8 11 2 15 3 13 13 27 10 24 5 27 5 4 3 21 5 8 19 10 4 2 0 10 4 10 5 21 2 19 12 8 28 10 0 21 2 21 6 4 7 12 7 15 10 19 
Time cost: 4.185512065887451s

p65:
Result: 27001
Status of facilities: 1 0 1 1 1 1 1 1 0 1 0 1 0 0 0 1 0 1 0 1 1 0 1 0 1 0 0 0 1 0 
The assignment of customers to facilities: 7 19 2 22 2 6 15 28 22 28 4 28 20 3 28 7 3 20 22 0 11 24 5 24 20 11 24 19 4 2 19 19 4 24 28 6 20 9 24 15 7 9 6 4 20 19 3 2 19 20 24 24 24 15 20 6 11 9 22 7 4 0 7 20 3 11 5 17 28 11 7 6 19 9 5 5 20 5 20 24 20 0 9 7 4 20 6 5 24 7 28 6 7 11 2 3 11 6 0 28 28 15 11 7 4 0 4 24 22 3 19 4 22 6 11 20 28 7 17 20 9 11 17 19 9 15 2 11 19 17 28 24 11 20 5 9 3 3 28 20 11 22 11 11 11 5 24 15 22 11 24 17 5 0 20 11 2 15 3 3 3 0 20 24 5 24 5 4 3 15 5 20 19 20 4 2 0 20 4 20 5 15 2 19 11 9 28 5 0 2 2 2 6 4 7 6 7 15 20 19 
Time cost: 4.215981721878052s

p66:
Result: 36629
Status of facilities: 1 0 1 1 1 1 1 1 1 0 1 1 0 0 1 0 0 0 0 0 0 1 1 0 1 0 0 0 1 0 
The assignment of customers to facilities: 7 6 21 22 2 6 21 28 22 28 4 28 10 3 28 7 3 10 22 0 11 21 5 24 10 11 24 14 4 2 6 4 4 21 28 6 8 8 24 21 7 8 6 4 8 4 3 21 14 14 24 24 24 21 8 6 11 8 22 7 4 0 7 8 3 11 5 14 28 11 7 6 6 8 5 10 10 5 8 24 10 0 8 7 4 10 6 5 24 7 28 6 7 11 2 3 11 6 0 28 28 21 11 7 4 0 4 24 22 3 14 4 22 6 11 8 28 7 14 8 14 11 28 6 4 21 2 11 4 0 28 24 11 10 5 8 3 3 28 10 11 22 11 11 11 5 24 21 22 11 24 0 10 0 8 11 2 21 3 3 3 0 10 24 5 24 5 4 3 21 5 8 28 14 4 2 0 10 4 10 5 21 2 6 11 8 28 10 0 21 2 21 6 4 7 6 7 21 10 6 
Time cost: 4.262226104736328s

p67:
Result: 29477
Status of facilities: 1 0 1 0 1 1 1 1 1 1 1 0 0 1 0 0 0 1 1 0 0 0 0 1 1 1 0 0 1 1 
The assignment of customers to facilities: 18 6 2 24 2 6 2 28 18 28 4 28 13 13 28 18 13 10 18 0 18 24 5 24 10 18 24 17 29 2 6 6 4 24 28 6 8 8 24 2 18 9 6 4 8 4 13 2 28 10 24 24 24 24 8 6 18 9 18 25 29 0 7 8 13 25 5 17 28 25 18 6 6 9 23 23 10 23 8 24 10 0 9 25 29 13 6 5 24 7 28 6 25 25 2 13 28 6 0 28 28 2 25 18 4 0 4 24 18 13 17 4 18 6 6 8 28 7 17 8 9 25 17 4 9 24 2 25 4 17 28 24 25 10 23 9 13 13 28 10 6 18 28 25 25 5 24 24 18 25 24 17 23 0 8 28 2 2 13 13 13 0 10 24 5 18 5 4 13 24 5 8 28 10 4 2 0 10 29 10 5 2 2 6 25 8 28 23 0 2 2 2 6 4 7 6 7 2 10 6 
Time cost: 4.4783501625061035s

p68:
Result: 21861
Status of facilities: 1 0 1 1 1 1 1 1 1 1 0 1 1 0 0 0 0 0 1 1 1 1 1 1 1 0 0 1 1 1 
The assignment of customers to facilities: 18 19 21 27 2 12 21 27 22 28 4 28 20 3 28 18 3 20 22 0 18 21 5 24 23 18 27 19 29 2 19 19 4 21 27 6 20 8 24 21 18 9 6 4 8 19 3 21 19 20 24 24 24 21 8 6 11 9 18 7 29 0 7 8 3 11 5 19 28 12 18 12 19 9 23 23 20 23 8 24 23 0 9 7 29 20 6 5 27 7 28 6 7 11 2 3 11 6 0 28 28 21 12 18 4 0 4 24 22 3 19 4 27 12 12 8 28 7 0 8 9 11 28 19 9 21 2 11 19 0 28 24 11 20 23 9 3 3 28 20 12 22 11 11 11 5 24 21 27 7 24 0 23 0 8 11 2 21 3 3 3 27 23 24 5 27 5 4 3 21 5 20 19 20 4 2 0 20 29 20 5 21 2 19 12 8 28 23 0 21 2 21 6 4 7 12 7 21 23 19 
Time cost: 4.271883010864258s

p69:
Result: 27103
Status of facilities: 1 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 0 1 1 0 1 0 1 0 0 0 1 0 0 
The assignment of customers to facilities: 18 19 21 27 2 6 21 27 18 27 4 19 10 3 19 18 3 10 27 0 18 16 5 0 10 18 27 19 4 2 19 19 4 16 27 6 8 8 16 16 18 9 6 4 8 19 3 21 19 10 0 16 2 16 8 6 11 9 18 7 4 0 7 8 3 11 5 19 19 11 18 6 19 9 23 23 10 23 8 16 10 0 9 7 4 10 6 5 27 7 11 6 7 11 2 3 11 6 0 11 19 21 11 18 4 0 4 27 27 3 19 4 27 6 11 8 11 7 0 8 9 11 0 19 9 16 2 11 19 0 11 21 11 10 23 9 3 3 11 10 11 27 11 11 11 5 16 21 27 11 27 0 23 0 8 11 2 16 3 3 3 27 10 2 5 27 5 4 3 21 5 8 19 10 4 2 0 10 4 10 5 21 2 19 11 8 11 23 0 21 2 21 6 4 7 6 7 21 10 19 
Time cost: 4.2536256313323975s

p70:
Result: 37164
Status of facilities: 1 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 1 1 0 
The assignment of customers to facilities: 7 19 21 27 2 6 21 27 27 28 4 28 10 3 28 7 3 10 27 0 27 21 5 24 10 27 27 19 4 2 19 19 4 21 27 6 8 8 24 21 7 9 6 4 8 19 3 21 19 10 24 24 24 21 8 6 11 9 7 7 4 0 7 8 3 11 5 19 28 11 7 6 19 9 5 10 10 5 8 24 10 0 9 7 4 10 6 5 27 7 28 6 7 11 2 3 11 6 0 28 28 21 11 7 4 0 4 24 27 3 19 4 27 6 11 8 28 7 0 8 9 11 28 19 9 21 2 11 19 0 28 24 11 10 5 9 3 3 28 10 11 27 11 11 11 5 24 21 27 11 24 0 5 0 8 11 2 21 3 3 3 27 10 24 5 27 5 4 3 21 5 8 19 10 4 2 0 10 4 10 5 21 2 19 11 8 28 10 0 21 2 21 6 4 7 6 7 21 10 19 
Time cost: 4.277795076370239s

p71:
Result: 29979
Status of facilities: 1 0 1 1 1 1 1 1 1 0 0 0 0 1 1 0 0 1 1 1 0 0 0 1 1 1 0 0 1 0 
The assignment of customers to facilities: 18 19 2 24 2 6 2 0 18 28 4 28 13 13 28 18 3 13 18 0 18 24 5 24 23 18 24 19 4 5 19 19 4 24 18 6 8 8 24 2 18 8 6 4 8 19 13 2 19 14 24 24 0 24 8 6 25 8 18 25 4 0 7 8 13 25 5 14 19 25 18 6 19 8 23 23 8 23 8 24 23 0 8 25 4 13 6 5 24 7 28 6 25 25 0 3 28 6 0 28 28 2 25 18 4 0 4 24 24 3 19 4 18 6 25 8 28 7 17 8 14 25 17 19 4 24 2 28 19 17 28 24 25 14 23 8 3 3 28 14 6 18 28 25 25 5 24 2 18 25 24 17 23 0 8 28 2 2 3 13 13 0 23 24 5 0 5 4 3 2 5 8 19 14 4 2 0 14 4 14 5 2 2 19 6 8 28 23 0 2 2 2 6 4 7 6 7 2 23 19 
Time cost: 4.825865030288696s

可以观察到,随着测例里用户数增加,时间会变长,因为降温幅度会随着测例增加而减小,使在测例多的时候,在一个状态附近执行更多次的迭代,以得到更好解。


 算法②:贪心算法

贪心算法是一种短时的算法,贪心算法往往只考虑眼前能做的最佳选择,因此很容易陷入局部最优解。实际上上文的SA中内循环就是贪心算法的一种。如果SA没有了外循环的降温(这样就不能称之为SA了)就是贪心算法。一个问题的贪心算法可能不止一种,贪心算法的解的好坏取决于贪心策略。

一开始我使用的贪心策略如下:

  1. 对所有用户能做的所有可能选择(设施数 × 客户数 个)按照以下策略初始化:对每个选择赋予一个值,这个值储存对应的客户编号和设施编号,以及一个消耗率。消耗率如此得出:rate = (assignment + openingcost) / demand
  2. 对以上值按照消耗率排列,初始化指针 i 为0:
  3. 声明空集S
  4. 重复以下步骤:
    1. 考虑添加指针所指对象A
    2. 如果指针指向的对象A的rate为无限大,则退出循环,否则进入以下步骤
      1. 指针 i := i +1
      2. 将该对象A的消耗率设为无穷大
      3. 如果对象A的客户编号不在S中,则尝试分配该对象A的客户到对应设施
        1. 如果该设施已满,则回上一层
        2. 如果该设施未满(能分配该客户),则将该客户编号添加进S
          1. 如果该设施原本未开启,则开启它并将所有对象中设施编号为该设施的对象A的rate重置为:rate = assignment / demand,重新排序,并充值指针 i 为 0

一开始我的贪心策略大致如上,由于对应的代码虽然修改了bug但被新的策略替代,因此上面描述的算法是根据记忆描述,可能有bug。其核心是,对每个选择赋予一个消耗/价值的值N,选择其比值最小者执行,同时不重复对相同客户执行分配。当一个新的仓库被开启,降低其对应的选择的N值,即剔除开新的工厂将会带来的消耗。

然而该算法的效果仅仅比随机效果好一点点,结果值为SA的2~3倍,为随机值的0.9倍左右,效果非常的差。原因估计是其只注重效率而忽视了一个选择隐藏的高消耗。于是考虑一个不考虑开厂费的贪心算法。不考虑开厂费的贪心算法将简单许多:

  1. 创建一个二维数组(客户数 × 设施数),每行为客户被分配到某设施的cost的数据(不考虑开厂费)
  2. 对每行执行以下操作:
    1. 对每行进行排序,则每行第一个是对该客户而言最小消耗的选择
    2. 从每行的第一个元素(分配)开始,考虑能否分配到对应工厂
      1. 如果能,则对下一行开始相同操作
      2. 如果不能,则考虑下一个元素,直到能分配为止。

如果问题有解,则对每行执行完即可得到相应的贪心算法的解。这个贪心算法的贪心对象不是上面(考虑的第一个贪心算法)的所有选择,而是某个客户的选择,而且忽视了demand和openingcost。但是,其结果却比上面的贪心算法好很多。以下是每个测例的结果与耗时,由于python内置函数的计时精度有限,因此有部分耗时(两次取样的时间差)为0,经过多此重复测试后发现实际上其耗时应该为1ms(更精确的应该是0.97ms)左右,与其他相同客户(50)的数据接近。

 RssultTime(s)
p194400.0
p281260.0
p3101260.0
p4121260.000948
p593750.000977
p680610.0
p7100610.000975
p8120610.000975
p990400.001005
p1077260.000977
p1197260.0
p12117260.0
p13120320.000978
p1491800.000947
p15131800.000949
p16171800.000977
p17120320.000976
p1891800.000976
p19131800.001006
p20171800.000963
p21120320.000946
p2291800.001004
p23131800.001004
p24171800.000976
p25191970.003936
p26161310.003874
p27215310.003905
p28269310.003904
p29193050.003910
p30162390.003942
p31216390.003936
p32270390.003876
p33190550.003904
p34159890.003905
p35213890.002955
p36267890.003903
p37190550.004879
p38159890.003901
p39213890.003876
p40267890.002958
p4172260.000978
p4299570.001983
p43124480.001953
p4475850.001003
p4598480.001952
p46126390.001985
p4766340.000976
p4890440.001952
p49124200.001954
p50100620.000976
p51113510.001982
p52103640.000979
p53124700.001951
p54103510.000972
p55119700.001953
p56238820.004909
p57328820.006805
p58538820.004880
p59391210.004907
p60238820.004883
p61328820.005854
p62538820.005857
p63391210.004880
p64238820.004854
p65328820.004908
p66538820.004880
p67396710.005855
p68238820.005856
p69328820.004881
p70538820.005854
p71391210.004872
p1:
Result: 9440
Status of facilities: 1 1 1 1 1 1 1 1 1 1 
The assignment of customers to facilities: 8 8 1 6 3 8 2 4 4 1 9 0 3 2 0 3 4 0 9 7 3 4 6 4 2 5 1 5 0 5 2 6 0 3 9 4 4 3 0 4 1 8 1 5 7 0 4 0 4 3 
Time cost: 0.0s

p2:
Result: 8126
Status of facilities: 1 1 1 1 1 1 1 1 1 1 
The assignment of customers to facilities: 8 8 1 6 3 8 2 4 4 1 9 0 3 2 0 3 4 0 9 7 3 4 6 4 2 5 1 5 0 5 2 6 0 3 9 4 4 3 0 4 1 8 1 5 7 0 4 0 4 3 
Time cost: 0.0s

p3:
Result: 10126
Status of facilities: 1 1 1 1 1 1 1 1 1 1 
The assignment of customers to facilities: 8 8 1 6 3 8 2 4 4 1 9 0 3 2 0 3 4 0 9 7 3 4 6 4 2 5 1 5 0 5 2 6 0 3 9 4 4 3 0 4 1 8 1 5 7 0 4 0 4 3 
Time cost: 0.0s

p4:
Result: 12126
Status of facilities: 1 1 1 1 1 1 1 1 1 1 
The assignment of customers to facilities: 8 8 1 6 3 8 2 4 4 1 9 0 3 2 0 3 4 0 9 7 3 4 6 4 2 5 1 5 0 5 2 6 0 3 9 4 4 3 0 4 1 8 1 5 7 0 4 0 4 3 
Time cost: 0.0009477138519287109s

p5:
Result: 9375
Status of facilities: 1 1 1 1 1 1 1 1 1 1 
The assignment of customers to facilities: 8 8 1 6 3 8 2 4 4 1 9 8 3 2 8 3 4 0 9 7 3 8 6 4 2 5 1 5 0 5 2 6 0 3 9 4 4 3 0 4 1 8 1 5 7 0 2 0 7 1 
Time cost: 0.0009765625s

p6:
Result: 8061
Status of facilities: 1 1 1 1 1 1 1 1 1 1 
The assignment of customers to facilities: 8 8 1 6 3 8 2 4 4 1 9 8 3 2 8 3 4 0 9 7 3 8 6 4 2 5 1 5 0 5 2 6 0 3 9 4 4 3 0 4 1 8 1 5 7 0 2 0 7 1 
Time cost: 0.0s

p7:
Result: 10061
Status of facilities: 1 1 1 1 1 1 1 1 1 1 
The assignment of customers to facilities: 8 8 1 6 3 8 2 4 4 1 9 8 3 2 8 3 4 0 9 7 3 8 6 4 2 5 1 5 0 5 2 6 0 3 9 4 4 3 0 4 1 8 1 5 7 0 2 0 7 1 
Time cost: 0.0009751319885253906s

p8:
Result: 12061
Status of facilities: 1 1 1 1 1 1 1 1 1 1 
The assignment of customers to facilities: 8 8 1 6 3 8 2 4 4 1 9 8 3 2 8 3 4 0 9 7 3 8 6 4 2 5 1 5 0 5 2 6 0 3 9 4 4 3 0 4 1 8 1 5 7 0 2 0 7 1 
Time cost: 0.0009753704071044922s

p9:
Result: 9040
Status of facilities: 1 1 1 1 1 1 1 1 1 1 
The assignment of customers to facilities: 8 8 1 6 3 8 2 4 4 1 9 8 3 2 8 3 4 0 9 7 3 8 6 4 2 5 1 5 0 5 2 6 0 3 9 4 4 3 0 4 1 8 1 5 7 0 4 0 4 0 
Time cost: 0.001004934310913086s

p10:
Result: 7726
Status of facilities: 1 1 1 1 1 1 1 1 1 1 
The assignment of customers to facilities: 8 8 1 6 3 8 2 4 4 1 9 8 3 2 8 3 4 0 9 7 3 8 6 4 2 5 1 5 0 5 2 6 0 3 9 4 4 3 0 4 1 8 1 5 7 0 4 0 4 0 
Time cost: 0.0009765625s

p11:
Result: 9726
Status of facilities: 1 1 1 1 1 1 1 1 1 1 
The assignment of customers to facilities: 8 8 1 6 3 8 2 4 4 1 9 8 3 2 8 3 4 0 9 7 3 8 6 4 2 5 1 5 0 5 2 6 0 3 9 4 4 3 0 4 1 8 1 5 7 0 4 0 4 0 
Time cost: 0.0s

p12:
Result: 11726
Status of facilities: 1 1 1 1 1 1 1 1 1 1 
The assignment of customers to facilities: 8 8 1 6 3 8 2 4 4 1 9 8 3 2 8 3 4 0 9 7 3 8 6 4 2 5 1 5 0 5 2 6 0 3 9 4 4 3 0 4 1 8 1 5 7 0 4 0 4 0 
Time cost: 0.0s

p13:
Result: 12032
Status of facilities: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
The assignment of customers to facilities: 16 12 10 10 1 18 17 13 14 17 15 4 1 6 13 3 15 10 4 9 12 15 15 19 6 17 16 17 1 17 13 7 2 16 3 10 11 19 19 13 6 0 5 0 8 5 14 10 19 9 
Time cost: 0.000978231430053711s

p14:
Result: 9180
Status of facilities: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
The assignment of customers to facilities: 16 12 10 10 1 18 17 13 14 17 15 4 1 6 13 3 15 10 4 9 12 15 15 19 6 17 16 17 1 17 13 7 2 16 3 10 11 19 19 13 6 0 5 0 8 5 14 10 19 9 
Time cost: 0.0009465217590332031s

p15:
Result: 13180
Status of facilities: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
The assignment of customers to facilities: 16 12 10 10 1 18 17 13 14 17 15 4 1 6 13 3 15 10 4 9 12 15 15 19 6 17 16 17 1 17 13 7 2 16 3 10 11 19 19 13 6 0 5 0 8 5 14 10 19 9 
Time cost: 0.0009486675262451172s

p16:
Result: 17180
Status of facilities: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
The assignment of customers to facilities: 16 12 10 10 1 18 17 13 14 17 15 4 1 6 13 3 15 10 4 9 12 15 15 19 6 17 16 17 1 17 13 7 2 16 3 10 11 19 19 13 6 0 5 0 8 5 14 10 19 9 
Time cost: 0.0009768009185791016s

p17:
Result: 12032
Status of facilities: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
The assignment of customers to facilities: 16 12 10 10 1 18 17 13 14 17 15 4 1 6 13 3 15 10 4 9 12 15 15 19 6 17 16 17 1 17 13 7 2 16 3 10 11 19 19 13 6 0 5 0 8 5 14 10 19 9 
Time cost: 0.0009756088256835938s

p18:
Result: 9180
Status of facilities: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
The assignment of customers to facilities: 16 12 10 10 1 18 17 13 14 17 15 4 1 6 13 3 15 10 4 9 12 15 15 19 6 17 16 17 1 17 13 7 2 16 3 10 11 19 19 13 6 0 5 0 8 5 14 10 19 9 
Time cost: 0.0009763240814208984s

p19:
Result: 13180
Status of facilities: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
The assignment of customers to facilities: 16 12 10 10 1 18 17 13 14 17 15 4 1 6 13 3 15 10 4 9 12 15 15 19 6 17 16 17 1 17 13 7 2 16 3 10 11 19 19 13 6 0 5 0 8 5 14 10 19 9 
Time cost: 0.0010061264038085938s

p20:
Result: 17180
Status of facilities: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
The assignment of customers to facilities: 16 12 10 10 1 18 17 13 14 17 15 4 1 6 13 3 15 10 4 9 12 15 15 19 6 17 16 17 1 17 13 7 2 16 3 10 11 19 19 13 6 0 5 0 8 5 14 10 19 9 
Time cost: 0.0009629726409912109s

p21:
Result: 12032
Status of facilities: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
The assignment of customers to facilities: 16 12 10 10 1 18 17 13 14 17 15 4 1 6 13 3 15 10 4 9 12 15 15 19 6 17 16 17 1 17 13 7 2 16 3 10 11 19 19 13 6 0 5 0 8 5 14 10 19 9 
Time cost: 0.0009462833404541016s

p22:
Result: 9180
Status of facilities: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
The assignment of customers to facilities: 16 12 10 10 1 18 17 13 14 17 15 4 1 6 13 3 15 10 4 9 12 15 15 19 6 17 16 17 1 17 13 7 2 16 3 10 11 19 19 13 6 0 5 0 8 5 14 10 19 9 
Time cost: 0.0010037422180175781s

p23:
Result: 13180
Status of facilities: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
The assignment of customers to facilities: 16 12 10 10 1 18 17 13 14 17 15 4 1 6 13 3 15 10 4 9 12 15 15 19 6 17 16 17 1 17 13 7 2 16 3 10 11 19 19 13 6 0 5 0 8 5 14 10 19 9 
Time cost: 0.0010035037994384766s

p24:
Result: 17180
Status of facilities: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
The assignment of customers to facilities: 16 12 10 10 1 18 17 13 14 17 15 4 1 6 13 3 15 10 4 9 12 15 15 19 6 17 16 17 1 17 13 7 2 16 3 10 11 19 19 13 6 0 5 0 8 5 14 10 19 9 
Time cost: 0.0009756088256835938s

p25:
Result: 19197
Status of facilities: 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 
The assignment of customers to facilities: 20 11 13 2 20 5 2 9 14 17 22 16 8 20 3 14 14 17 5 11 2 0 5 3 5 8 19 24 5 24 5 25 6 25 20 20 24 15 0 14 0 14 15 8 24 14 0 13 27 8 29 14 14 5 13 20 17 11 0 14 0 5 20 11 11 11 9 0 5 9 20 6 11 17 24 8 26 20 14 24 20 7 13 17 17 17 17 4 20 5 2 24 17 11 17 5 2 2 21 16 8 17 14 25 2 29 7 11 14 28 14 1 2 11 11 21 24 24 24 24 5 8 25 13 16 0 5 9 0 12 0 11 24 5 8 14 7 5 20 0 0 8 20 14 8 25 25 5 2 5 
Time cost: 0.003936290740966797s

p26:
Result: 16131
Status of facilities: 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 
The assignment of customers to facilities: 20 11 13 2 20 5 2 9 14 17 22 16 8 20 3 14 14 17 5 11 2 0 5 3 5 8 19 24 5 24 5 25 6 25 20 20 24 15 0 14 0 14 15 8 24 14 0 13 27 8 29 14 14 5 13 20 17 11 0 14 0 5 20 11 11 11 9 0 5 9 20 6 11 17 24 8 26 20 14 24 20 7 13 17 17 17 17 4 20 5 2 24 17 11 17 5 2 2 21 16 8 17 14 25 2 29 7 11 14 28 14 1 2 11 11 21 24 24 24 24 5 8 25 13 16 0 5 9 0 12 0 11 24 5 8 14 7 5 20 0 0 8 20 14 8 25 25 5 2 5 
Time cost: 0.003874063491821289s

p27:
Result: 21531
Status of facilities: 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 
The assignment of customers to facilities: 20 11 13 2 20 5 2 9 14 17 22 16 8 20 3 14 14 17 5 11 2 0 5 3 5 8 19 24 5 24 5 25 6 25 20 20 24 15 0 14 0 14 15 8 24 14 0 13 27 8 29 14 14 5 13 20 17 11 0 14 0 5 20 11 11 11 9 0 5 9 20 6 11 17 24 8 26 20 14 24 20 7 13 17 17 17 17 4 20 5 2 24 17 11 17 5 2 2 21 16 8 17 14 25 2 29 7 11 14 28 14 1 2 11 11 21 24 24 24 24 5 8 25 13 16 0 5 9 0 12 0 11 24 5 8 14 7 5 20 0 0 8 20 14 8 25 25 5 2 5 
Time cost: 0.003905057907104492s

p28:
Result: 26931
Status of facilities: 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 
The assignment of customers to facilities: 20 11 13 2 20 5 2 9 14 17 22 16 8 20 3 14 14 17 5 11 2 0 5 3 5 8 19 24 5 24 5 25 6 25 20 20 24 15 0 14 0 14 15 8 24 14 0 13 27 8 29 14 14 5 13 20 17 11 0 14 0 5 20 11 11 11 9 0 5 9 20 6 11 17 24 8 26 20 14 24 20 7 13 17 17 17 17 4 20 5 2 24 17 11 17 5 2 2 21 16 8 17 14 25 2 29 7 11 14 28 14 1 2 11 11 21 24 24 24 24 5 8 25 13 16 0 5 9 0 12 0 11 24 5 8 14 7 5 20 0 0 8 20 14 8 25 25 5 2 5 
Time cost: 0.0039043426513671875s

p29:
Result: 19305
Status of facilities: 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 
The assignment of customers to facilities: 20 11 13 2 20 5 2 9 14 17 22 16 8 20 3 14 14 17 5 11 2 0 5 3 5 8 19 24 5 24 5 25 6 25 20 20 24 15 0 14 0 14 15 8 24 14 0 13 27 8 29 14 14 5 13 20 17 11 0 14 0 5 20 11 11 11 9 0 5 9 20 6 11 17 24 8 26 20 14 24 20 7 13 17 17 17 17 4 20 5 2 24 17 11 17 5 2 2 21 16 8 17 17 25 2 29 17 11 14 28 14 1 2 11 11 21 24 24 24 24 5 8 25 13 16 0 5 9 0 12 0 11 24 5 8 14 7 5 20 17 0 8 20 14 8 25 25 11 2 24 
Time cost: 0.003909587860107422s

p30:
Result: 16239
Status of facilities: 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 
The assignment of customers to facilities: 20 11 13 2 20 5 2 9 14 17 22 16 8 20 3 14 14 17 5 11 2 0 5 3 5 8 19 24 5 24 5 25 6 25 20 20 24 15 0 14 0 14 15 8 24 14 0 13 27 8 29 14 14 5 13 20 17 11 0 14 0 5 20 11 11 11 9 0 5 9 20 6 11 17 24 8 26 20 14 24 20 7 13 17 17 17 17 4 20 5 2 24 17 11 17 5 2 2 21 16 8 17 17 25 2 29 17 11 14 28 14 1 2 11 11 21 24 24 24 24 5 8 25 13 16 0 5 9 0 12 0 11 24 5 8 14 7 5 20 17 0 8 20 14 8 25 25 11 2 24 
Time cost: 0.003941535949707031s

p31:
Result: 21639
Status of facilities: 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 
The assignment of customers to facilities: 20 11 13 2 20 5 2 9 14 17 22 16 8 20 3 14 14 17 5 11 2 0 5 3 5 8 19 24 5 24 5 25 6 25 20 20 24 15 0 14 0 14 15 8 24 14 0 13 27 8 29 14 14 5 13 20 17 11 0 14 0 5 20 11 11 11 9 0 5 9 20 6 11 17 24 8 26 20 14 24 20 7 13 17 17 17 17 4 20 5 2 24 17 11 17 5 2 2 21 16 8 17 17 25 2 29 17 11 14 28 14 1 2 11 11 21 24 24 24 24 5 8 25 13 16 0 5 9 0 12 0 11 24 5 8 14 7 5 20 17 0 8 20 14 8 25 25 11 2 24 
Time cost: 0.003935813903808594s

p32:
Result: 27039
Status of facilities: 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 
The assignment of customers to facilities: 20 11 13 2 20 5 2 9 14 17 22 16 8 20 3 14 14 17 5 11 2 0 5 3 5 8 19 24 5 24 5 25 6 25 20 20 24 15 0 14 0 14 15 8 24 14 0 13 27 8 29 14 14 5 13 20 17 11 0 14 0 5 20 11 11 11 9 0 5 9 20 6 11 17 24 8 26 20 14 24 20 7 13 17 17 17 17 4 20 5 2 24 17 11 17 5 2 2 21 16 8 17 17 25 2 29 17 11 14 28 14 1 2 11 11 21 24 24 24 24 5 8 25 13 16 0 5 9 0 12 0 11 24 5 8 14 7 5 20 17 0 8 20 14 8 25 25 11 2 24 
Time cost: 0.003876209259033203s

p33:
Result: 19055
Status of facilities: 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 
The assignment of customers to facilities: 20 11 13 2 20 5 2 9 14 17 22 16 8 20 3 14 14 17 5 11 2 0 5 3 5 8 19 24 5 24 5 25 6 25 20 20 24 15 0 14 0 14 15 8 24 14 0 13 27 8 29 14 14 5 13 20 17 11 0 14 0 5 20 11 11 11 9 0 5 9 20 6 11 17 24 8 26 20 14 24 20 7 13 17 17 17 17 4 20 5 2 24 17 11 17 5 2 2 21 16 8 17 17 25 2 29 17 11 14 28 14 1 2 11 11 21 24 24 24 24 5 8 25 13 16 0 5 9 0 12 0 11 24 5 8 14 7 5 20 17 0 8 20 14 8 25 25 5 2 5 
Time cost: 0.003903627395629883s

p34:
Result: 15989
Status of facilities: 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 
The assignment of customers to facilities: 20 11 13 2 20 5 2 9 14 17 22 16 8 20 3 14 14 17 5 11 2 0 5 3 5 8 19 24 5 24 5 25 6 25 20 20 24 15 0 14 0 14 15 8 24 14 0 13 27 8 29 14 14 5 13 20 17 11 0 14 0 5 20 11 11 11 9 0 5 9 20 6 11 17 24 8 26 20 14 24 20 7 13 17 17 17 17 4 20 5 2 24 17 11 17 5 2 2 21 16 8 17 17 25 2 29 17 11 14 28 14 1 2 11 11 21 24 24 24 24 5 8 25 13 16 0 5 9 0 12 0 11 24 5 8 14 7 5 20 17 0 8 20 14 8 25 25 5 2 5 
Time cost: 0.0039052963256835938s

p35:
Result: 21389
Status of facilities: 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 
The assignment of customers to facilities: 20 11 13 2 20 5 2 9 14 17 22 16 8 20 3 14 14 17 5 11 2 0 5 3 5 8 19 24 5 24 5 25 6 25 20 20 24 15 0 14 0 14 15 8 24 14 0 13 27 8 29 14 14 5 13 20 17 11 0 14 0 5 20 11 11 11 9 0 5 9 20 6 11 17 24 8 26 20 14 24 20 7 13 17 17 17 17 4 20 5 2 24 17 11 17 5 2 2 21 16 8 17 17 25 2 29 17 11 14 28 14 1 2 11 11 21 24 24 24 24 5 8 25 13 16 0 5 9 0 12 0 11 24 5 8 14 7 5 20 17 0 8 20 14 8 25 25 5 2 5 
Time cost: 0.0029554367065429688s

p36:
Result: 26789
Status of facilities: 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 
The assignment of customers to facilities: 20 11 13 2 20 5 2 9 14 17 22 16 8 20 3 14 14 17 5 11 2 0 5 3 5 8 19 24 5 24 5 25 6 25 20 20 24 15 0 14 0 14 15 8 24 14 0 13 27 8 29 14 14 5 13 20 17 11 0 14 0 5 20 11 11 11 9 0 5 9 20 6 11 17 24 8 26 20 14 24 20 7 13 17 17 17 17 4 20 5 2 24 17 11 17 5 2 2 21 16 8 17 17 25 2 29 17 11 14 28 14 1 2 11 11 21 24 24 24 24 5 8 25 13 16 0 5 9 0 12 0 11 24 5 8 14 7 5 20 17 0 8 20 14 8 25 25 5 2 5 
Time cost: 0.0039033889770507812s

p37:
Result: 19055
Status of facilities: 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 
The assignment of customers to facilities: 20 11 13 2 20 5 2 9 14 17 22 16 8 20 3 14 14 17 5 11 2 0 5 3 5 8 19 24 5 24 5 25 6 25 20 20 24 15 0 14 0 14 15 8 24 14 0 13 27 8 29 14 14 5 13 20 17 11 0 14 0 5 20 11 11 11 9 0 5 9 20 6 11 17 24 8 26 20 14 24 20 7 13 17 17 17 17 4 20 5 2 24 17 11 17 5 2 2 21 16 8 17 17 25 2 29 17 11 14 28 14 1 2 11 11 21 24 24 24 24 5 8 25 13 16 0 5 9 0 12 0 11 24 5 8 14 7 5 20 17 0 8 20 14 8 25 25 5 2 5 
Time cost: 0.004879474639892578s

p38:
Result: 15989
Status of facilities: 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 
The assignment of customers to facilities: 20 11 13 2 20 5 2 9 14 17 22 16 8 20 3 14 14 17 5 11 2 0 5 3 5 8 19 24 5 24 5 25 6 25 20 20 24 15 0 14 0 14 15 8 24 14 0 13 27 8 29 14 14 5 13 20 17 11 0 14 0 5 20 11 11 11 9 0 5 9 20 6 11 17 24 8 26 20 14 24 20 7 13 17 17 17 17 4 20 5 2 24 17 11 17 5 2 2 21 16 8 17 17 25 2 29 17 11 14 28 14 1 2 11 11 21 24 24 24 24 5 8 25 13 16 0 5 9 0 12 0 11 24 5 8 14 7 5 20 17 0 8 20 14 8 25 25 5 2 5 
Time cost: 0.003901243209838867s

p39:
Result: 21389
Status of facilities: 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 
The assignment of customers to facilities: 20 11 13 2 20 5 2 9 14 17 22 16 8 20 3 14 14 17 5 11 2 0 5 3 5 8 19 24 5 24 5 25 6 25 20 20 24 15 0 14 0 14 15 8 24 14 0 13 27 8 29 14 14 5 13 20 17 11 0 14 0 5 20 11 11 11 9 0 5 9 20 6 11 17 24 8 26 20 14 24 20 7 13 17 17 17 17 4 20 5 2 24 17 11 17 5 2 2 21 16 8 17 17 25 2 29 17 11 14 28 14 1 2 11 11 21 24 24 24 24 5 8 25 13 16 0 5 9 0 12 0 11 24 5 8 14 7 5 20 17 0 8 20 14 8 25 25 5 2 5 
Time cost: 0.0038759708404541016s

p40:
Result: 26789
Status of facilities: 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 
The assignment of customers to facilities: 20 11 13 2 20 5 2 9 14 17 22 16 8 20 3 14 14 17 5 11 2 0 5 3 5 8 19 24 5 24 5 25 6 25 20 20 24 15 0 14 0 14 15 8 24 14 0 13 27 8 29 14 14 5 13 20 17 11 0 14 0 5 20 11 11 11 9 0 5 9 20 6 11 17 24 8 26 20 14 24 20 7 13 17 17 17 17 4 20 5 2 24 17 11 17 5 2 2 21 16 8 17 17 25 2 29 17 11 14 28 14 1 2 11 11 21 24 24 24 24 5 8 25 13 16 0 5 9 0 12 0 11 24 5 8 14 7 5 20 17 0 8 20 14 8 25 25 5 2 5 
Time cost: 0.002958059310913086s

p41:
Result: 7226
Status of facilities: 1 1 1 1 1 1 1 1 1 1 
The assignment of customers to facilities: 5 6 4 1 7 9 3 7 8 8 4 9 2 6 2 7 7 3 0 6 6 1 4 1 6 5 5 4 8 5 8 0 0 0 3 9 2 6 6 9 2 7 3 3 3 5 0 5 6 4 1 1 6 6 9 7 2 8 8 8 0 0 1 5 0 6 6 6 4 4 0 4 4 0 7 7 9 2 6 5 7 2 2 7 7 9 2 2 7 2 
Time cost: 0.0009779930114746094s

p42:
Result: 9957
Status of facilities: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
The assignment of customers to facilities: 12 10 11 9 15 18 16 3 17 1 11 18 6 10 6 15 0 2 14 14 5 11 9 8 12 8 11 16 17 13 7 19 6 8 14 10 10 0 0 1 1 3 3 16 9 5 8 19 15 15 16 17 7 13 13 5 2 14 14 14 11 11 4 3 11 3 0 15 19 6 10 18 19 19 19 18 18 18 19 19 
Time cost: 0.0019829273223876953s

p43:
Result: 12448
Status of facilities: 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 
The assignment of customers to facilities: 18 19 15 24 25 22 26 21 27 29 24 23 3 9 18 11 8 15 12 7 25 26 22 20 17 13 29 6 29 4 5 2 2 13 0 22 7 12 21 11 4 12 28 23 5 25 26 17 17 11 21 0 9 18 6 6 19 20 2 29 5 27 1 29 27 28 1 27 28 29 
Time cost: 0.0019528865814208984s

p44:
Result: 7585
Status of facilities: 1 1 1 1 1 1 1 1 1 1 
The assignment of customers to facilities: 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 1 1 1 1 1 7 6 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 4 6 8 8 8 8 7 5 9 9 7 6 5 5 8 8 7 7 9 5 5 5 9 3 0 6 6 8 1 5 4 9 9 7 7 9 6 6 5 2 7 9 7 9 9 7 6 5 7 5 
Time cost: 0.0010025501251220703s

p45:
Result: 9848
Status of facilities: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
The assignment of customers to facilities: 0 0 0 0 0 0 0 1 1 1 1 6 6 6 6 2 2 3 2 3 2 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 0 0 2 3 11 12 18 16 19 7 15 16 8 13 11 16 18 19 14 15 10 9 12 9 15 17 13 13 8 12 7 10 18 12 13 17 14 17 8 16 10 7 
Time cost: 0.0019516944885253906s

p46:
Result: 12639
Status of facilities: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 
The assignment of customers to facilities: 10 0 10 10 10 0 10 1 1 1 1 11 11 11 11 2 2 3 2 3 2 4 4 5 6 6 5 7 7 8 7 8 9 9 10 2 3 17 24 28 29 12 21 22 24 14 18 17 16 28 29 27 13 22 25 26 13 18 18 24 19 15 28 18 26 27 14 13 15 12 
Time cost: 0.001984834671020508s

p47:
Result: 6634
Status of facilities: 1 1 1 1 1 1 1 1 1 1 
The assignment of customers to facilities: 0 0 0 0 0 0 0 0 0 0 1 1 1 1 2 2 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 7 7 6 7 6 0 7 7 7 7 7 8 8 8 8 8 9 8 0 9 9 9 9 2 2 2 9 2 
Time cost: 0.0009760856628417969s

p48:
Result: 9044
Status of facilities: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
The assignment of customers to facilities: 0 0 0 0 1 0 1 1 1 2 3 2 2 3 3 4 4 4 5 5 5 5 5 5 6 6 6 6 6 7 7 8 8 8 8 8 8 8 9 9 9 9 10 10 11 10 11 10 12 13 12 13 13 12 13 14 15 12 14 12 0 15 14 14 15 16 16 17 17 17 17 17 17 18 18 19 18 19 19 19 
Time cost: 0.0019524097442626953s

p49:
Result: 12420
Status of facilities: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 
The assignment of customers to facilities: 0 1 1 2 1 2 2 2 3 5 3 5 4 6 6 6 7 7 7 7 7 7 9 10 8 11 10 12 12 14 13 13 13 14 15 15 16 16 17 16 17 16 20 19 18 19 18 20 21 18 21 18 0 22 23 23 22 24 24 26 25 26 25 26 27 27 28 27 28 28 
Time cost: 0.001953601837158203s

p50:
Result: 10062
Status of facilities: 1 1 1 1 1 1 1 1 1 1 
The assignment of customers to facilities: 3 6 3 0 9 9 5 5 3 7 7 4 1 9 9 9 9 2 5 3 0 0 0 4 0 0 7 4 4 7 7 7 3 3 3 5 9 9 0 6 0 9 9 1 5 5 5 5 5 3 3 5 6 0 0 0 9 6 1 2 1 7 7 7 3 3 0 4 8 7 3 6 6 6 6 4 4 3 3 4 3 5 2 2 2 1 6 7 2 7 1 2 2 2 2 2 2 2 2 2 
Time cost: 0.0009760856628417969s

p51:
Result: 11351
Status of facilities: 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 
The assignment of customers to facilities: 15 6 19 10 12 13 5 16 15 1 5 3 6 13 6 13 12 16 2 15 0 0 10 14 14 14 1 3 19 7 1 1 17 19 15 5 13 13 10 0 0 13 13 13 16 5 5 5 5 17 15 2 0 14 14 10 6 6 13 12 13 5 1 5 15 15 10 3 7 7 15 0 0 0 10 19 19 19 19 3 19 5 16 12 13 13 6 8 12 1 13 13 13 4 18 13 18 18 18 18 
Time cost: 0.001982450485229492s

p52:
Result: 10364
Status of facilities: 1 1 1 1 1 1 1 1 1 1 
The assignment of customers to facilities: 7 7 7 7 7 7 7 7 3 4 4 4 3 4 4 4 4 8 8 8 8 3 8 3 3 9 9 9 9 9 9 9 9 5 6 6 6 6 6 6 6 6 6 6 7 7 4 5 5 5 5 3 4 6 2 5 3 3 3 4 6 5 5 5 0 5 5 6 4 7 6 6 4 3 3 5 3 4 7 1 6 3 3 5 5 3 3 7 5 3 1 1 1 1 5 1 3 4 3 7 
Time cost: 0.000978708267211914s

p53:
Result: 12470
Status of facilities: 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 
The assignment of customers to facilities: 5 5 5 5 5 5 5 5 19 19 19 7 7 7 7 7 7 12 12 12 12 13 13 12 3 9 9 9 9 9 9 9 9 15 18 18 18 18 18 18 18 18 18 18 5 5 7 12 13 15 15 4 7 18 5 11 3 3 1 6 18 2 15 13 0 13 2 5 6 5 17 18 6 3 3 15 3 6 6 2 14 19 13 15 15 3 1 6 15 1 2 2 17 17 2 17 1 6 1 16 
Time cost: 0.0019512176513671875s

p54:
Result: 10351
Status of facilities: 1 1 1 1 1 1 1 1 1 1 
The assignment of customers to facilities: 9 9 7 7 7 7 7 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 1 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 6 6 8 8 6 8 8 8 8 8 8 3 3 6 6 6 6 6 6 6 6 6 5 5 6 5 5 5 6 6 0 0 0 0 0 9 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 9 9 4 4 4 2 4 2 2 
Time cost: 0.0009720325469970703s

p55:
Result: 11970
Status of facilities: 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 
The assignment of customers to facilities: 17 17 16 17 16 4 4 4 8 8 8 8 2 8 8 2 2 2 8 12 1 12 12 6 12 12 12 6 6 6 6 14 14 6 6 6 6 6 6 7 7 19 19 7 0 0 0 0 0 0 0 0 7 7 7 7 7 7 7 7 11 11 9 11 3 11 11 7 11 9 9 11 9 11 17 13 9 13 13 13 13 15 15 15 15 15 15 15 5 15 5 18 18 18 18 17 18 18 18 18 
Time cost: 0.001953125s

p56:
Result: 23882
Status of facilities: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
The assignment of customers to facilities: 18 19 21 27 2 12 15 27 22 28 4 28 13 1 28 18 1 20 22 0 18 16 5 24 10 18 27 19 29 2 19 19 4 16 27 6 20 8 24 16 18 9 6 4 8 19 13 21 19 14 24 16 24 16 8 6 11 9 18 7 29 0 7 8 13 11 5 14 28 25 18 12 19 9 23 23 20 23 8 16 10 0 9 25 29 13 6 5 27 7 28 6 25 25 2 3 11 6 0 28 28 15 25 18 4 0 4 24 22 3 19 4 27 12 12 8 28 7 17 8 26 11 17 19 26 16 2 11 26 17 28 24 25 20 23 9 3 3 28 10 12 22 11 11 25 5 24 15 27 25 24 17 23 0 8 11 2 15 3 13 13 27 10 24 5 27 5 4 3 21 1 20 19 14 26 2 0 10 29 10 5 21 2 19 12 8 28 23 0 21 2 21 6 4 7 12 7 15 10 19 
Time cost: 0.004908561706542969s

p57:
Result: 32882
Status of facilities: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
The assignment of customers to facilities: 18 19 21 27 2 12 15 27 22 28 4 28 13 1 28 18 1 20 22 0 18 16 5 24 10 18 27 19 29 2 19 19 4 16 27 6 20 8 24 16 18 9 6 4 8 19 13 21 19 14 24 16 24 16 8 6 11 9 18 7 29 0 7 8 13 11 5 14 28 25 18 12 19 9 23 23 20 23 8 16 10 0 9 25 29 13 6 5 27 7 28 6 25 25 2 3 11 6 0 28 28 15 25 18 4 0 4 24 22 3 19 4 27 12 12 8 28 7 17 8 26 11 17 19 26 16 2 11 26 17 28 24 25 20 23 9 3 3 28 10 12 22 11 11 25 5 24 15 27 25 24 17 23 0 8 11 2 15 3 13 13 27 10 24 5 27 5 4 3 21 1 20 19 14 26 2 0 10 29 10 5 21 2 19 12 8 28 23 0 21 2 21 6 4 7 12 7 15 10 19 
Time cost: 0.006804704666137695s

p58:
Result: 53882
Status of facilities: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
The assignment of customers to facilities: 18 19 21 27 2 12 15 27 22 28 4 28 13 1 28 18 1 20 22 0 18 16 5 24 10 18 27 19 29 2 19 19 4 16 27 6 20 8 24 16 18 9 6 4 8 19 13 21 19 14 24 16 24 16 8 6 11 9 18 7 29 0 7 8 13 11 5 14 28 25 18 12 19 9 23 23 20 23 8 16 10 0 9 25 29 13 6 5 27 7 28 6 25 25 2 3 11 6 0 28 28 15 25 18 4 0 4 24 22 3 19 4 27 12 12 8 28 7 17 8 26 11 17 19 26 16 2 11 26 17 28 24 25 20 23 9 3 3 28 10 12 22 11 11 25 5 24 15 27 25 24 17 23 0 8 11 2 15 3 13 13 27 10 24 5 27 5 4 3 21 1 20 19 14 26 2 0 10 29 10 5 21 2 19 12 8 28 23 0 21 2 21 6 4 7 12 7 15 10 19 
Time cost: 0.004880428314208984s

p59:
Result: 39121
Status of facilities: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
The assignment of customers to facilities: 18 19 21 27 2 12 15 27 22 28 4 28 13 1 28 18 1 20 22 0 18 16 5 24 10 18 27 19 29 2 19 19 4 16 27 6 20 8 24 16 18 9 6 4 8 19 13 21 19 14 24 16 24 16 8 6 11 9 18 7 29 0 7 8 13 11 5 14 28 25 18 12 19 9 23 23 20 23 8 16 10 0 9 25 29 13 6 5 27 7 28 6 25 25 2 3 11 6 0 28 28 15 25 18 4 0 4 24 22 3 19 4 27 12 12 8 28 7 17 8 26 11 17 19 26 16 2 11 26 17 28 24 25 20 23 9 3 3 28 10 12 22 11 11 25 5 24 15 27 25 24 17 23 0 8 11 2 15 3 13 13 27 10 24 5 27 5 4 3 21 1 20 19 14 26 2 0 10 29 10 5 21 2 19 12 8 28 23 0 21 2 21 6 4 7 12 7 15 10 19 
Time cost: 0.004906892776489258s

p60:
Result: 23882
Status of facilities: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
The assignment of customers to facilities: 18 19 21 27 2 12 15 27 22 28 4 28 13 1 28 18 1 20 22 0 18 16 5 24 10 18 27 19 29 2 19 19 4 16 27 6 20 8 24 16 18 9 6 4 8 19 13 21 19 14 24 16 24 16 8 6 11 9 18 7 29 0 7 8 13 11 5 14 28 25 18 12 19 9 23 23 20 23 8 16 10 0 9 25 29 13 6 5 27 7 28 6 25 25 2 3 11 6 0 28 28 15 25 18 4 0 4 24 22 3 19 4 27 12 12 8 28 7 17 8 26 11 17 19 26 16 2 11 26 17 28 24 25 20 23 9 3 3 28 10 12 22 11 11 25 5 24 15 27 25 24 17 23 0 8 11 2 15 3 13 13 27 10 24 5 27 5 4 3 21 1 20 19 14 26 2 0 10 29 10 5 21 2 19 12 8 28 23 0 21 2 21 6 4 7 12 7 15 10 19 
Time cost: 0.004883289337158203s

p61:
Result: 32882
Status of facilities: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
The assignment of customers to facilities: 18 19 21 27 2 12 15 27 22 28 4 28 13 1 28 18 1 20 22 0 18 16 5 24 10 18 27 19 29 2 19 19 4 16 27 6 20 8 24 16 18 9 6 4 8 19 13 21 19 14 24 16 24 16 8 6 11 9 18 7 29 0 7 8 13 11 5 14 28 25 18 12 19 9 23 23 20 23 8 16 10 0 9 25 29 13 6 5 27 7 28 6 25 25 2 3 11 6 0 28 28 15 25 18 4 0 4 24 22 3 19 4 27 12 12 8 28 7 17 8 26 11 17 19 26 16 2 11 26 17 28 24 25 20 23 9 3 3 28 10 12 22 11 11 25 5 24 15 27 25 24 17 23 0 8 11 2 15 3 13 13 27 10 24 5 27 5 4 3 21 1 20 19 14 26 2 0 10 29 10 5 21 2 19 12 8 28 23 0 21 2 21 6 4 7 12 7 15 10 19 
Time cost: 0.005854368209838867s

p62:
Result: 53882
Status of facilities: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
The assignment of customers to facilities: 18 19 21 27 2 12 15 27 22 28 4 28 13 1 28 18 1 20 22 0 18 16 5 24 10 18 27 19 29 2 19 19 4 16 27 6 20 8 24 16 18 9 6 4 8 19 13 21 19 14 24 16 24 16 8 6 11 9 18 7 29 0 7 8 13 11 5 14 28 25 18 12 19 9 23 23 20 23 8 16 10 0 9 25 29 13 6 5 27 7 28 6 25 25 2 3 11 6 0 28 28 15 25 18 4 0 4 24 22 3 19 4 27 12 12 8 28 7 17 8 26 11 17 19 26 16 2 11 26 17 28 24 25 20 23 9 3 3 28 10 12 22 11 11 25 5 24 15 27 25 24 17 23 0 8 11 2 15 3 13 13 27 10 24 5 27 5 4 3 21 1 20 19 14 26 2 0 10 29 10 5 21 2 19 12 8 28 23 0 21 2 21 6 4 7 12 7 15 10 19 
Time cost: 0.005856513977050781s

p63:
Result: 39121
Status of facilities: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
The assignment of customers to facilities: 18 19 21 27 2 12 15 27 22 28 4 28 13 1 28 18 1 20 22 0 18 16 5 24 10 18 27 19 29 2 19 19 4 16 27 6 20 8 24 16 18 9 6 4 8 19 13 21 19 14 24 16 24 16 8 6 11 9 18 7 29 0 7 8 13 11 5 14 28 25 18 12 19 9 23 23 20 23 8 16 10 0 9 25 29 13 6 5 27 7 28 6 25 25 2 3 11 6 0 28 28 15 25 18 4 0 4 24 22 3 19 4 27 12 12 8 28 7 17 8 26 11 17 19 26 16 2 11 26 17 28 24 25 20 23 9 3 3 28 10 12 22 11 11 25 5 24 15 27 25 24 17 23 0 8 11 2 15 3 13 13 27 10 24 5 27 5 4 3 21 1 20 19 14 26 2 0 10 29 10 5 21 2 19 12 8 28 23 0 21 2 21 6 4 7 12 7 15 10 19 
Time cost: 0.00487971305847168s

p64:
Result: 23882
Status of facilities: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
The assignment of customers to facilities: 18 19 21 27 2 12 15 27 22 28 4 28 13 1 28 18 1 20 22 0 18 16 5 24 10 18 27 19 29 2 19 19 4 16 27 6 20 8 24 16 18 9 6 4 8 19 13 21 19 14 24 16 24 16 8 6 11 9 18 7 29 0 7 8 13 11 5 14 28 25 18 12 19 9 23 23 20 23 8 16 10 0 9 25 29 13 6 5 27 7 28 6 25 25 2 3 11 6 0 28 28 15 25 18 4 0 4 24 22 3 19 4 27 12 12 8 28 7 17 8 26 11 17 19 26 16 2 11 26 17 28 24 25 20 23 9 3 3 28 10 12 22 11 11 25 5 24 15 27 25 24 17 23 0 8 11 2 15 3 13 13 27 10 24 5 27 5 4 3 21 1 20 19 14 26 2 0 10 29 10 5 21 2 19 12 8 28 23 0 21 2 21 6 4 7 12 7 15 10 19 
Time cost: 0.0048542022705078125s

p65:
Result: 32882
Status of facilities: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
The assignment of customers to facilities: 18 19 21 27 2 12 15 27 22 28 4 28 13 1 28 18 1 20 22 0 18 16 5 24 10 18 27 19 29 2 19 19 4 16 27 6 20 8 24 16 18 9 6 4 8 19 13 21 19 14 24 16 24 16 8 6 11 9 18 7 29 0 7 8 13 11 5 14 28 25 18 12 19 9 23 23 20 23 8 16 10 0 9 25 29 13 6 5 27 7 28 6 25 25 2 3 11 6 0 28 28 15 25 18 4 0 4 24 22 3 19 4 27 12 12 8 28 7 17 8 26 11 17 19 26 16 2 11 26 17 28 24 25 20 23 9 3 3 28 10 12 22 11 11 25 5 24 15 27 25 24 17 23 0 8 11 2 15 3 13 13 27 10 24 5 27 5 4 3 21 1 20 19 14 26 2 0 10 29 10 5 21 2 19 12 8 28 23 0 21 2 21 6 4 7 12 7 15 10 19 
Time cost: 0.004907846450805664s

p66:
Result: 53882
Status of facilities: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
The assignment of customers to facilities: 18 19 21 27 2 12 15 27 22 28 4 28 13 1 28 18 1 20 22 0 18 16 5 24 10 18 27 19 29 2 19 19 4 16 27 6 20 8 24 16 18 9 6 4 8 19 13 21 19 14 24 16 24 16 8 6 11 9 18 7 29 0 7 8 13 11 5 14 28 25 18 12 19 9 23 23 20 23 8 16 10 0 9 25 29 13 6 5 27 7 28 6 25 25 2 3 11 6 0 28 28 15 25 18 4 0 4 24 22 3 19 4 27 12 12 8 28 7 17 8 26 11 17 19 26 16 2 11 26 17 28 24 25 20 23 9 3 3 28 10 12 22 11 11 25 5 24 15 27 25 24 17 23 0 8 11 2 15 3 13 13 27 10 24 5 27 5 4 3 21 1 20 19 14 26 2 0 10 29 10 5 21 2 19 12 8 28 23 0 21 2 21 6 4 7 12 7 15 10 19 
Time cost: 0.0048792362213134766s

p67:
Result: 39671
Status of facilities: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
The assignment of customers to facilities: 18 19 21 22 2 12 15 27 22 28 4 28 13 1 28 18 1 20 22 0 18 16 5 24 10 18 27 19 29 2 19 19 4 16 27 6 20 8 24 15 18 9 6 26 8 19 13 21 19 14 24 16 24 16 8 6 11 9 18 25 29 0 7 8 13 11 5 14 28 25 7 12 19 9 23 23 20 23 8 16 10 0 9 25 29 13 19 5 27 7 28 6 25 25 2 3 27 6 0 28 28 15 25 18 4 0 4 24 22 3 19 4 27 12 12 8 28 7 17 8 26 11 17 19 26 16 2 11 26 17 28 24 25 20 23 9 3 3 28 10 12 22 11 11 25 5 24 15 27 25 24 17 23 0 8 11 2 15 3 13 13 27 10 24 5 27 5 4 3 21 1 20 19 14 26 2 0 10 29 10 5 21 2 19 12 8 28 23 0 21 2 21 6 4 7 12 7 15 10 19 
Time cost: 0.00585484504699707s

p68:
Result: 23882
Status of facilities: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
The assignment of customers to facilities: 18 19 21 27 2 12 15 27 22 28 4 28 13 1 28 18 1 20 22 0 18 16 5 24 10 18 27 19 29 2 19 19 4 16 27 6 20 8 24 16 18 9 6 4 8 19 13 21 19 14 24 16 24 16 8 6 11 9 18 7 29 0 7 8 13 11 5 14 28 25 18 12 19 9 23 23 20 23 8 16 10 0 9 25 29 13 6 5 27 7 28 6 25 25 2 3 11 6 0 28 28 15 25 18 4 0 4 24 22 3 19 4 27 12 12 8 28 7 17 8 26 11 17 19 26 16 2 11 26 17 28 24 25 20 23 9 3 3 28 10 12 22 11 11 25 5 24 15 27 25 24 17 23 0 8 11 2 15 3 13 13 27 10 24 5 27 5 4 3 21 1 20 19 14 26 2 0 10 29 10 5 21 2 19 12 8 28 23 0 21 2 21 6 4 7 12 7 15 10 19 
Time cost: 0.0058557987213134766s

p69:
Result: 32882
Status of facilities: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
The assignment of customers to facilities: 18 19 21 27 2 12 15 27 22 28 4 28 13 1 28 18 1 20 22 0 18 16 5 24 10 18 27 19 29 2 19 19 4 16 27 6 20 8 24 16 18 9 6 4 8 19 13 21 19 14 24 16 24 16 8 6 11 9 18 7 29 0 7 8 13 11 5 14 28 25 18 12 19 9 23 23 20 23 8 16 10 0 9 25 29 13 6 5 27 7 28 6 25 25 2 3 11 6 0 28 28 15 25 18 4 0 4 24 22 3 19 4 27 12 12 8 28 7 17 8 26 11 17 19 26 16 2 11 26 17 28 24 25 20 23 9 3 3 28 10 12 22 11 11 25 5 24 15 27 25 24 17 23 0 8 11 2 15 3 13 13 27 10 24 5 27 5 4 3 21 1 20 19 14 26 2 0 10 29 10 5 21 2 19 12 8 28 23 0 21 2 21 6 4 7 12 7 15 10 19 
Time cost: 0.004880666732788086s

p70:
Result: 53882
Status of facilities: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
The assignment of customers to facilities: 18 19 21 27 2 12 15 27 22 28 4 28 13 1 28 18 1 20 22 0 18 16 5 24 10 18 27 19 29 2 19 19 4 16 27 6 20 8 24 16 18 9 6 4 8 19 13 21 19 14 24 16 24 16 8 6 11 9 18 7 29 0 7 8 13 11 5 14 28 25 18 12 19 9 23 23 20 23 8 16 10 0 9 25 29 13 6 5 27 7 28 6 25 25 2 3 11 6 0 28 28 15 25 18 4 0 4 24 22 3 19 4 27 12 12 8 28 7 17 8 26 11 17 19 26 16 2 11 26 17 28 24 25 20 23 9 3 3 28 10 12 22 11 11 25 5 24 15 27 25 24 17 23 0 8 11 2 15 3 13 13 27 10 24 5 27 5 4 3 21 1 20 19 14 26 2 0 10 29 10 5 21 2 19 12 8 28 23 0 21 2 21 6 4 7 12 7 15 10 19 
Time cost: 0.005853891372680664s

p71:
Result: 39121
Status of facilities: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
The assignment of customers to facilities: 18 19 21 27 2 12 15 27 22 28 4 28 13 1 28 18 1 20 22 0 18 16 5 24 10 18 27 19 29 2 19 19 4 16 27 6 20 8 24 16 18 9 6 4 8 19 13 21 19 14 24 16 24 16 8 6 11 9 18 7 29 0 7 8 13 11 5 14 28 25 18 12 19 9 23 23 20 23 8 16 10 0 9 25 29 13 6 5 27 7 28 6 25 25 2 3 11 6 0 28 28 15 25 18 4 0 4 24 22 3 19 4 27 12 12 8 28 7 17 8 26 11 17 19 26 16 2 11 26 17 28 24 25 20 23 9 3 3 28 10 12 22 11 11 25 5 24 15 27 25 24 17 23 0 8 11 2 15 3 13 13 27 10 24 5 27 5 4 3 21 1 20 19 14 26 2 0 10 29 10 5 21 2 19 12 8 28 23 0 21 2 21 6 4 7 12 7 15 10 19 
Time cost: 0.00487208366394043s

 Comments:

可以看到贪心算法的解会比SA差,当客户数越多的时候,测例变得更复杂,贪心算法的解就会比SA差得更多。但是它迭代次数极少,逻辑简单,运行效率比SA高许多,基于我写的SA的策略和参数下,该贪心算法耗时能到达单次SA的1/1000,加上SA可能需要对同一测例运行多此得到最优解,实际耗时可能更多,而贪心算法对一个测例的结果往往是唯一的,因此不需要多次运行。实际上我SA也有可以改进的地方,例如没有利用numpy等对数组进行操作,因此可能内循环还有提升空间。T与降温速率是在多此对几个典型测例进行测试后决定的,或许并非最优。


Reference:

[1] Akshay Vyas, Dashmeet Kaur Chawla, Dr. Urjita Thakar, "Dynamic Simulated Annealing for solving the Traveling Salesman Problem with Cooling Enhancer and Modified Acceptance Probability"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值