算法设计与分析期末项目

算法设计与分析期末项目


1. 题目 固定容量设施分配问题


1.1 题目描述

​假设有\(n\)个设施和\(m\)位客户,希望从中选择:

  1. \(n\)个设施中选择开启哪些设施
  2. 将客户分配给开启的设施

要求开启设施的总费用和客户分配到设施的总费用之和最小,且设施的容量不能超过设施中客户分配费用的总和。


1.2 题目要求

  1. 至少两种算法解答题目

  2. 获得71种测例的运行结果(具体格式略,在文章中体现)


2. 数学模型分析


2.1 变量定义

在本题目中,为方便分析,定义如下的变量:

  1. \(I = \lbrace 0, 1, \cdots, n-1 \rbrace 表示设施 0, 1, \cdots, n-1\)

  2. $J = \lbrace 0, 1, \cdots, m-1 \rbrace 表示客户0, 1, \cdots, m-1 $

  3. \(y_{i}\)表示设施\(i\)的开启状况,具体如下所示:\[y_{i}=\begin{cases} 1, 设施i开启 \\ 0, 设施i未开启 \\ \end{cases}\]

  4. \(x_{ij}\)表示客户\(j\)的分配情况,具体如下所示:\[x_{ij}=\begin{cases} 1, 表示客户j被分配到设施i \\ 0, 表示客户j未被分配到设施i \\ \end{cases}\]

  5. \(V_{i}\)表示设施\(i\)的容量

  6. \(C_{i}\)表示设施\(i\)的开启费用

  7. \(D_{ij}\)表示客户\(j\)分配到设施\(i\)的需求容量

  8. \(G_{ij}\)表示客户\(j\)分到到设施\(i\)的分配费用

  9. \(L\)表示分配的总费用


2.2 目标函数

题目的目标函数可以写成如下数学形式,即求所以开启设施所需要的费用和所用客户分配到相应工厂所需的费用之和:
\[L=min \lbrace \sum_{i=0}^{n-1}C_{i}y_{i}+\sum_{i=0}^{n-1}\sum_{j=0}^{m-1}G_{ij}x_{ij} \rbrace\]


2.3 约束条件

目标函数的约束条件如下所示,即每个设施中客户需求量\(D_{ij}\)的总和不能够超过设施的容量,且每位客户只能够分配到1个设施:
\[\sum_{j=0}^{m-1}D_{ij}x_{ij} \leq V_{i}y_{i}, i \in I \\ \sum_{i=0}^{n-1}x_{ij}=1,j \in J \\ x_{ij},y_{j} \in \lbrace 0, 1\rbrace, i \in I, j \in J\]


3. 算法设计与分析


3.1 贪心算法

解决这个问题的第一种解法是采用贪心算法,贪心的方式是遍历每一位客户\(j \in J\),在设施集合\(I\)中寻找最佳的设施\(i\),使得到分配客户\(j\)为止,所得到的总费用\(F_{j}\)最小,则:\[i=\underset{i \in I}{\operatorname{argmin}}\,\lbrace F_{j-1}+y_{i}C_{i}+G_{ij}\rbrace [V_{i}-D_{j} \geq 0] \\ F_{-1} = 0,G = F_{m-1}\]


3.1.1 算法分析

固定容量的设施问题在常数时间下是不可解的,因此可以使用一些近似的算法来求解,贪心算法就是其中的一种。在实验中,使用顾客设施的分配序列\(S=[s_1,s_2,\cdots,s_m],s_i \in I\),作为问题的解,使用\(E=[e_1,e_2,\cdots,e_n],n \in \lbrace0,1\rbrace\)表示设施的开启状态,总在贪心的过程中,总共需要经历两层循环,因此算法的时间复杂度为\(O(n^2)\)。但是贪心算法毕竟是不是求解固定容量设施的准确解法,因此不可避免会存在误差,随着数据规\(n\)模的增大,误差会以\(lgn\)增大,因此在大数据下,贪心算法的准确度不高,跟最优解之间的差距可以达到40%,但是在规模较小或者中等的时候,贪心算法的速度和解的质量还是非常好的,能够在10%以内。
算法在C++代码中的关键部分如下所示:

    // Greedy Algorithm.
    // For every Costomer t.
    for (int t = 0; t < cosNum; t++) {
        int minCos = INT_MAX;
        int bestServe = -1;
        // Costomers t choose facility j.
        // Assume all the facility are open at first.
        for (int j = 0; j < facNum; j++) {
            // fct[j].volumn-csm[t].demand >= 0 means 
            // the fct[j] have enough space to satisfy the demand.
            if ((fct[j].volumn - csm[t].demand >= 0) 
            && (minCos >= G+csm[t].assignment_cost[j])) {
                bestServe = j;
                minCos = G+csm[t].assignment_cost[j];
            }
        }

        serveList[t] = bestServe;
        // Update the current volumns of fct.
        fct[serveList[t]].volumn -= csm[t].demand; 
        // Update the specific fct to open.
        isOpen[serveList[t]] = 1;    
        // Update the current total cost.              
        G = minCos;                                
    }

3.1.2 测例分析

测例 结果 运行时间 设施开启状态 设施分配状态
p1 9440 0s 1 1 1 1 1 1 1 1 1 1 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
p2 8126 0s 1 1 1 1 1 1 1 1 1 1 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
p3 10126 0s 1 1 1 1 1 1 1 1 1 1 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
p4 12126 0s 1 1 1 1 1 1 1 1 1 1 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
p5 9375 0s 1 1 1 1 1 1 1 1 1 1 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
p6 8061 0s 1 1 1 1 1 1 1 1 1 1 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
p7 10061 0s 1 1 1 1 1 1 1 1 1 1 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
p8 12061 0s 1 1 1 1 1 1 1 1 1 1 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
p9 9040 0s 1 1 1 1 1 1 1 1 1 1 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
p10 7726 0s 1 1 1 1 1 1 1 1 1 1 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
p11 9726 0s 1 1 1 1 1 1 1 1 1 1 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
p12 11726 0s 1 1 1 1 1 1 1 1 1 1 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
p13 12032 0s 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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
p14 9180 0s 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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
p15 13180 0s 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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
p16 17180 0s 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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
p17 12032 0s 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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
p18 9180 0s 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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
p19 13180 0s 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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
p20 17180 0s 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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
p21 12032 0s 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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
p22 9180 0s 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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
p23 13180 0s 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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
p24 17180 0s 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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
p25 17956 0s 1 0 1 1 0 1 1 1 1 0 0 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 20 11 20 2 20 5 2 24 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 23 14 0 14 15 28 24 14 7 13 27 8 29 14 14 5 20 20 17 27 11 14 0 5 20 11 11 11 24 0 24 24 20 6 11 17 24 8 26 20 14 24 20 7 20 17 19 17 17 7 20 5 2 24 17 11 17 24 2 19 25 18 8 17 14 25 2 29 7 11 14 28 14 14 2 11 11 27 24 24 24 24 5 8 25 13 18 0 5 24 0 29 0 11 24 5 8 14 7 5 20 0 0 8 20 14 8 25 25 5 2 5
p26 15231 0s 1 0 1 1 0 1 1 1 1 0 0 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 20 11 20 2 20 5 2 24 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 23 14 0 14 15 28 24 14 7 13 27 8 29 14 14 5 20 20 17 27 11 14 0 5 20 11 11 11 24 0 24 24 20 6 11 17 24 8 26 20 14 24 20 7 20 17 19 17 17 7 20 5 2 24 17 11 17 24 2 19 25 18 8 17 14 25 2 29 7 11 14 28 14 14 2 11 11 27 24 24 24 24 5 8 25 13 18 0 5 24 0 29 0 11 24 5 8 14 7 5 20 0 0 8 20 14 8 25 25 5 2 5
p27 20031 0s 1 0 1 1 0 1 1 1 1 0 0 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 20 11 20 2 20 5 2 24 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 23 14 0 14 15 28 24 14 7 13 27 8 29 14 14 5 20 20 17 27 11 14 0 5 20 11 11 11 24 0 24 24 20 6 11 17 24 8 26 20 14 24 20 7 20 17 19 17 17 7 20 5 2 24 17 11 17 24 2 19 25 18 8 17 14 25 2 29 7 11 14 28 14 14 2 11 11 27 24 24 24 24 5 8 25 13 18 0 5 24 0 29 0 11 24 5 8 14 7 5 20 0 0 8 20 14 8 25 25 5 2 5
p28 24831 0s 1 0 1 1 0 1 1 1 1 0 0 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 20 11 20 2 20 5 2 24 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 23 14 0 14 15 28 24 14 7 13 27 8 29 14 14 5 20 20 17 27 11 14 0 5 20 11 11 11 24 0 24 24 20 6 11 17 24 8 26 20 14 24 20 7 20 17 19 17 17 7 20 5 2 24 17 11 17 24 2 19 25 18 8 17 14 25 2 29 7 11 14 28 14 14 2 11 11 27 24 24 24 24 5 8 25 13 18 0 5 24 0 29 0 11 24 5 8 14 7 5 20 0 0 8 20 14 8 25 25 5 2 5
p29 19395 0.001s 1 0 1 1 0 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 20 11 20 2 20 5 2 24 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 23 14 0 14 15 28 24 14 7 13 27 8 29 14 14 5 20 20 17 27 11 14 0 5 20 11 11 11 24 0 24 24 20 6 11 17 24 8 26 20 14 24 20 7 20 17 19 17 17 7 8 5 2 24 17 11 17 24 2 19 25 18 8 17 17 25 2 29 17 11 14 28 14 14 2 11 11 27 24 24 24 5 5 8 25 13 18 0 5 9 0 29 0 11 5 5 8 14 17 29 13 17 0 8 13 17 8 25 25 11 2 11
p30 16397 0s 1 0 1 1 0 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 20 11 20 2 20 5 2 24 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 23 14 0 14 15 28 24 14 7 13 27 8 29 14 14 5 20 20 17 27 11 14 0 5 20 11 11 11 24 0 24 24 20 6 11 17 24 8 26 20 14 24 20 7 20 17 19 17 17 7 8 5 2 24 17 11 17 24 2 19 25 18 8 17 17 25 2 29 17 11 14 28 14 14 2 11 11 27 24 24 24 5 5 8 25 13 18 0 5 9 0 29 0 11 5 5 8 14 17 29 13 17 0 8 13 17 8 25 25 11 2 11
p31 21397 0s 1 0 1 1 0 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 20 11 20 2 20 5 2 24 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 23 14 0 14 15 28 24 14 7 13 27 8 29 14 14 5 20 20 17 27 11 14 0 5 20 11 11 11 24 0 24 24 20 6 11 17 24 8 26 20 14 24 20 7 20 17 19 17 17 7 8 5 2 24 17 11 17 24 2 19 25 18 8 17 17 25 2 29 17 11 14 28 14 14 2 11 11 27 24 24 24 5 5 8 25 13 18 0 5 9 0 29 0 11 5 5 8 14 17 29 13 17 0 8 13 17 8 25 25 11 2 11
p32 26397 0s 1 0 1 1 0 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 20 11 20 2 20 5 2 24 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 23 14 0 14 15 28 24 14 7 13 27 8 29 14 14 5 20 20 17 27 11 14 0 5 20 11 11 11 24 0 24 24 20 6 11 17 24 8 26 20 14 24 20 7 20 17 19 17 17 7 8 5 2 24 17 11 17 24 2 19 25 18 8 17 17 25 2 29 17 11 14 28 14 14 2 11 11 27 24 24 24 5 5 8 25 13 18 0 5 9 0 29 0 11 5 5 8 14 17 29 13 17 0 8 13 17 8 25 25 11 2 11
p33 17814 0s 1 0 1 1 0 1 1 1 1 0 0 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 20 11 20 2 20 5 2 24 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 23 14 0 14 15 28 24 14 7 13 27 8 29 14 14 5 20 20 17 27 11 14 0 5 20 11 11 11 24 0 24 24 20 6 11 17 24 8 26 20 14 24 20 7 20 17 19 17 17 7 20 5 2 24 17 11 17 24 2 19 25 18 8 17 17 25 2 29 17 11 14 28 14 14 2 11 11 27 24 24 24 24 5 8 25 13 18 0 5 24 0 29 0 11 24 5 8 14 17 5 20 17 0 8 20 14 8 25 25 5 2 5
p34 15089 0s 1 0 1 1 0 1 1 1 1 0 0 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 20 11 20 2 20 5 2 24 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 23 14 0 14 15 28 24 14 7 13 27 8 29 14 14 5 20 20 17 27 11 14 0 5 20 11 11 11 24 0 24 24 20 6 11 17 24 8 26 20 14 24 20 7 20 17 19 17 17 7 20 5 2 24 17 11 17 24 2 19 25 18 8 17 17 25 2 29 17 11 14 28 14 14 2 11 11 27 24 24 24 24 5 8 25 13 18 0 5 24 0 29 0 11 24 5 8 14 17 5 20 17 0 8 20 14 8 25 25 5 2 5
p35 19889 0s 1 0 1 1 0 1 1 1 1 0 0 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 20 11 20 2 20 5 2 24 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 23 14 0 14 15 28 24 14 7 13 27 8 29 14 14 5 20 20 17 27 11 14 0 5 20 11 11 11 24 0 24 24 20 6 11 17 24 8 26 20 14 24 20 7 20 17 19 17 17 7 20 5 2 24 17 11 17 24 2 19 25 18 8 17 17 25 2 29 17 11 14 28 14 14 2 11 11 27 24 24 24 24 5 8 25 13 18 0 5 24 0 29 0 11 24 5 8 14 17 5 20 17 0 8 20 14 8 25 25 5 2 5
p36 24689 0s 1 0 1 1 0 1 1 1 1 0 0 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 20 11 20 2 20 5 2 24 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 23 14 0 14 15 28 24 14 7 13 27 8 29 14 14 5 20 20 17 27 11 14 0 5 20 11 11 11 24 0 24 24 20 6 11 17 24 8 26 20 14 24 20 7 20 17 19 17 17 7 20 5 2 24 17 11 17 24 2 19 25 18 8 17 17 25 2 29 17 11 14 28 14 14 2 11 11 27 24 24 24 24 5 8 25 13 18 0 5 24 0 29 0 11 24 5 8 14 17 5 20 17 0 8 20 14 8 25 25 5 2 5
p37 17814 0s 1 0 1 1 0 1 1 1 1 0 0 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 20 11 20 2 20 5 2 24 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 23 14 0 14 15 28 24 14 7 13 27 8 29 14 14 5 20 20 17 27 11 14 0 5 20 11 11 11 24 0 24 24 20 6 11 17 24 8 26 20 14 24 20 7 20 17 19 17 17 7 20 5 2 24 17 11 17 24 2 19 25 18 8 17 17 25 2 29 17 11 14 28 14 14 2 11 11 27 24 24 24 24 5 8 25 13 18 0 5 24 0 29 0 11 24 5 8 14 17 5 20 17 0 8 20 14 8 25 25 5 2 5
p38 15089 0s 1 0 1 1 0 1 1 1 1 0 0 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 20 11 20 2 20 5 2 24 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 23 14 0 14 15 28 24 14 7 13 27 8 29 14 14 5 20 20 17 27 11 14 0 5 20 11 11 11 24 0 24 24 20 6 11 17 24 8 26 20 14 24 20 7 20 17 19 17 17 7 20 5 2 24 17 11 17 24 2 19 25 18 8 17 17 25 2 29 17 11 14 28 14 14 2 11 11 27 24 24 24 24 5 8 25 13 18 0 5 24 0 29 0 11 24 5 8 14 17 5 20 17 0 8 20 14 8 25 25 5 2 5
p39 19889 0s 1 0 1 1 0 1 1 1 1 0 0 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 20 11 20 2 20 5 2 24 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 23 14 0 14 15 28 24 14 7 13 27 8 29 14 14 5 20 20 17 27 11 14 0 5 20 11 11 11 24 0 24 24 20 6 11 17 24 8 26 20 14 24 20 7 20 17 19 17 17 7 20 5 2 24 17 11 17 24 2 19 25 18 8 17 17 25 2 29 17 11 14 28 14 14 2 11 11 27 24 24 24 24 5 8 25 13 18 0 5 24 0 29 0 11 24 5 8 14 17 5 20 17 0 8 20 14 8 25 25 5 2 5
p40 24689 0s 1 0 1 1 0 1 1 1 1 0 0 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 20 11 20 2 20 5 2 24 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 23 14 0 14 15 28 24 14 7 13 27 8 29 14 14 5 20 20 17 27 11 14 0 5 20 11 11 11 24 0 24 24 20 6 11 17 24 8 26 20 14 24 20 7 20 17 19 17 17 7 20 5 2 24 17 11 17 24 2 19 25 18 8 17 17 25 2 29 17 11 14 28 14 14 2 11 11 27 24 24 24 24 5 8 25 13 18 0 5 24 0 29 0 11 24 5 8 14 17 5 20 17 0 8 20 14 8 25 25 5 2 5
p41 7226 0s 1 1 1 1 1 1 1 1 1 1 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
p42 9957 0s 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 10 11 9 15 18 16 13 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 14 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 19 19 19
p43 12448 0s 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 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
p44 7585 0s 1 1 1 1 1 1 1 1 1 1 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
p45 9848 0s 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 6 6 6 6 2 3 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
p46 12639 0s 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 10 0 10 10 10 0 10 1 1 1 1 11 11 11 11 2 3 3 2 3 2 4 4 5 6 6 5 7 7 8 8 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
p47 6638 0s 1 1 1 1 1 1 1 1 1 1 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 6 0 9 9 9 6 2 9 2 2
p48 9044 0s 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 0 1 1 1 2 3 3 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 11 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 19 19 19 19
p49 12867 0s 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 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 17 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 29 28 29
p50 10085 0s 1 1 1 1 1 1 1 1 1 1 3 6 3 0 9 9 5 5 3 7 7 4 9 9 9 9 9 5 5 3 6 0 0 4 0 0 8 4 4 7 7 7 3 3 3 5 9 1 0 6 0 9 9 1 5 5 5 5 5 3 3 5 6 0 0 0 6 6 1 2 1 7 7 7 3 3 0 4 8 7 3 6 6 0 6 4 4 3 3 4 3 5 2 2 1 2 6 7 2 7 1 1 2 2 2 2 2 2 2 2
p51 11616 0s 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 6 19 10 12 13 5 16 15 1 5 3 13 13 6 13 12 16 2 15 0 0 10 14 14 14 9 3 19 7 1 1 17 19 15 5 13 13 10 0 0 13 13 13 16 5 5 5 5 17 15 5 11 14 14 10 6 6 13 12 13 5 1 5 15 15 10 3 9 7 15 0 0 0 10 19 19 19 19 3 19 5 16 12 13 13 6 8 12 1 13 13 18 18 18 13 18 18 18 18
p52 10364 0s 1 1 1 1 1 1 1 1 1 1 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
p53 12839 0s 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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 3 13 2 18 10 5 17 18 6 3 3 15 3 6 6 8 14 19 13 15 15 3 1 6 15 4 15 8 17 17 15 17 1 10 1 16
p54 10354 0s 1 1 1 1 1 1 1 1 1 1 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 8 8 8 8 8 8 3 6 3 6 6 6 6 6 6 6 6 6 5 5 6 5 5 5 6 6 0 0 6 0 0 9 0 0 0 0 0 4 4 0 4 4 4 4 4 4 4 4 9 9 4 4 4 4 4 2 2
p55 12099 0s 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 17 18 16 18 16 4 4 4 8 8 8 8 8 8 2 2 2 2 8 12 12 12 12 12 6 12 12 6 6 6 6 14 14 6 6 6 6 6 6 7 19 19 19 7 0 0 0 0 0 0 0 0 7 7 7 7 10 7 7 7 11 11 9 11 3 11 11 7 11 9 9 11 9 11 18 13 9 13 13 13 13 15 15 15 15 15 15 15 5 15 5 18 18 18 18 18 18 18 18 18
p56 23882 0.001s 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 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 25 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
p57 32882 0.001s 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 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 25 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
p58 53882 0s 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 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 25 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
p59 39121 0.001s 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 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 25 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
p60 23882 0s 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 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 25 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
p61 32882 0s 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 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 25 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
p62 53882 0s 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 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 25 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
p63 39121 0s 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 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 25 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
p64 23882 0s 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 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 25 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
p65 32882 0s 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 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 25 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
p66 53882 0.001s 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 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 25 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
p67 39671 0s 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 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 18 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
p68 23882 0s 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 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 25 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
p69 32882 0s 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 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 25 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
p70 53882 0s 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 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 25 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
p71 39121 0s 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 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 25 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

3.2 多邻域搜索与模拟退火算法

多邻域搜索算法常与模拟退火算法相结合,是一种启发式算法。模拟退火的出发点是基于物理中固体物质的退火过程与一般组合优化问题的相似性,其物理退火过程由加温过程、等温过程和冷却过程两部分组成。多邻域搜索是指利用多种邻域搜索算法对解进行遍历搜索,这种方法容易陷入局部最优解中,因此利用模拟退火算法可以在一定的概率上接受差解,从而跳出局部最优解,最终收敛到全局最优解。


3.2.1 多邻域搜索


3.2.1.1 更改分配设施

第一种邻域搜索的方式是随机选择一个客户\(j \in J\),在设施集\(I\)中随机选择一个不同于当前分配设施的设施\(i\),如果\(i\)的剩余容量能够满足\(j\)的需求\(D_{ij}\),则将\(x_{ij}\)的值置为1,原来的设施置为0。实际操作中发现,如果在选择设施的时候能够加入贪心,效果会更好,更好后的相关代码如下所示:

    if (p <= 0.5) {
        int cosIndex = random(0, cosNum);
        //int newServe = random(0, facNum);


        // New serve should have enough space
        /*
        while ((newServe == serveList[cosIndex]) 
        || (fctTemp[newServe].volumn < csm[cosIndex].demand)) {
            // If do not have enough space.
            // create a new index.
            newServe = random(0, facNum);
        }*/

        // Find the best new serve.
        int newServe = serveList[cosIndex];
        int minCost = currentBestSolution;
        for (int i = 0; i < facNum; i++) {
            // The i-th facility.
            // If the facility has enough space and not currently facility.
            if (serveList[cosIndex] != i 
            && fctTemp[i].volumn >= csm[cosIndex].demand) {
                // Check whether current serve facility is close after csm[cosIndex] is not assigned.
                int currentOpen = (fctTemp[serveList[cosIndex]].volumn
                                +csm[cosIndex].demand == fctTemp[serveList[cosIndex]].Max) ? -1 : 0;
                int newCost = minCost 
                            - csm[cosIndex].assignment_cost[serveList[cosIndex]] 
                            + csm[cosIndex].assignment_cost[i] 
                            + currentOpen * fctTemp[serveList[cosIndex]].cost;
                if (newCost < minCost) {
                    // Accept the new solution.
                    minCost = newCost;
                    newServe = i;
                }
            }
        }

3.2.1.2 交换设施

第二种邻域搜索的方式,是随机选取两个不相同的客户\(j_1\)\(j_2\),如果原先两个客户所服务的设施\(i_1\)\(i_2\)不相同,而且容量能够分别满足\(j_2\)\(j_1\)的需求,则将两个客户所服务的设施交换,在代码中的部分如下所示:

    // Case2: swap.
    else if (p > 0.33 && p <= 0.66) {
        // Random select two costomer position.
        int cosNumOne = random(0, cosNum);
        int cosNumTwo = random(0, cosNum);

        // Prevent the two position to be same.
        // Comfiren that the two position have enough space.
        while ((cosNumOne == cosNumTwo)
        || (fctTemp[serveList[cosNumOne]].volumn + csm[cosNumOne].demand < csm[cosNumTwo].demand)
        || (fctTemp[serveList[cosNumTwo]].volumn + csm[cosNumTwo].demand < csm[cosNumOne].demand)) {
            cosNumOne = random(0, cosNum);
            cosNumTwo = random(0, cosNum);
        }
        fctTemp[serveList[cosNumOne]].volumn = fctTemp[serveList[cosNumOne]].volumn + csm[cosNumOne].demand - csm[cosNumTwo].demand;
        fctTemp[serveList[cosNumTwo]].volumn = fctTemp[serveList[cosNumTwo]].volumn + csm[cosNumTwo].demand - csm[cosNumOne].demand;

        newList[cosNumOne] = serveList[cosNumTwo];
        newList[cosNumTwo] = serveList[cosNumOne];
    }

3.2.2 模拟退火

由于多邻域搜索容易陷入局部最优值,因此可以引入模拟退火来跳出局部最优解,并最终收敛到全局最优解。
模拟退火可以按照如下步骤进行描述:

给定初温T=T0,随机产生出事状态s=s0,令k=0;
    Repeat:
        Repeat:
            产生新状态sj=Generate(s)
                if min{1, exp[-(C(sj)-C(s))/tk]}>=random[0,1] s=sj;
        Until 抽样稳定准则满足;
        退温tk+1=update(tk),并令k=k+1;
    Until 算法终止准则满足
输出算法搜索结果

结合三种邻域搜索,在代码中模拟退火的过程代码如下所示:

    while (T_begin > T_end) {
        vector<facility> oldTemp = fct;
        vector<int> oldOpen = isOpen;
        vector<int> serveTemp = serveList;
        for (int i = 0; i < iterator; i++) {
            // According to serveList.

            fctTemp = fct;
            vector<int> newSolution = createNewSolution(fctTemp); // A new serveList.
            
            for (int i = 0; i < fctTemp.size(); i++) {
                openTemp[i] = (fctTemp[i].volumn == fctTemp[i].Max) ? 0 : 1;
            }

            int newSolutionLength = getCurrentCost(newSolution, openTemp);
            int delta = newSolutionLength - currentBestSolution;

            // Annealing.
            if (delta >= 0) {
                double r = (double)rand() / (RAND_MAX);
                // Keep the original solution.
                if (exp(-delta / T_begin) <= r) {
                    // Accept the bad solution.
                    serveList = newSolution;
                    fct = fctTemp;
                    isOpen = openTemp;
                    currentBestSolution = newSolutionLength;
                }
            }
            // Else Accept the solution.
            else {
                serveList = newSolution;
                fct = fctTemp;
                isOpen = openTemp;
                currentBestSolution = newSolutionLength;
            }
        }
        
        if (globalBest > currentBestSolution) {
            globalBest = currentBestSolution;
            fct = oldTemp;
            isOpen = oldOpen;
            serveList = serveTemp;
        }

        cout << T_begin << " 当前全局最优结果为: " << globalBest << endl;

        // Update the temperature.
        T_begin *= q_rate;
    }

算法分析

相对于贪心算法,模拟退火算法和多邻域算法在某些测例中的准度都要高很多,但是代码运行的速度会比较慢,而且经验表明,初温通常设置为50000,退火率为0.99,内循环次数为5000,因此代码运行的时间往往会比较长,但是通常如果多邻域算法比较好的话,会收敛到一个比较好的结果。


测例分析

测例 结果 运行时间 设施开启状态 设施分配状态
p1 9307 23.939s 1 1 1 1 1 1 1 1 1 1 9 7 1 6 8 3 2 4 5 6 0 7 7 5 0 3 5 4 9 6 9 8 6 5 8 5 1 6 7 5 5 4 7 3 9 4 9 3 3 4 6 8 1 7 8 3 1 0 6 0
p2 7942 23.73s 1 0 1 1 1 1 1 1 1 1 8 8 3 6 6 8 2 4 4 6 9 0 8 7 9 3 9 0 6 7 6 9 4 9 3 5 5 6 2 5 5 6 0 3 9 9 5 9 2 4 5 3 6 5 7 5 7 0 9 6
p3 9912 24.129s 1 1 1 1 1 1 1 1 1 1 4 8 1 0 3 0 7 6 8 6 9 0 3 9 0 6 4 2 6 7 9 7 5 4 5 9 1 3 0 9 4 9 3 9 9 4 6 8 0 4 2 8 1 3 2 6 4 2 9 5
p4 11807 23.752s 1 1 1 1 1 1 1 1 1 1 4 3 3 6 9 8 6 5 4 3 4 8 6 2 9 1 9 7 4 7 3 8 6 5 5 0 3 5 0 4 9 9 4 2 9 9 7 3 5 4 8 8 5 5 4 5 7 0 9 1
p5 9228 23.93s 1 1 1 1 1 1 1 1 1 1 6 2 1 6 3 8 4 7 4 7 9 8 8 2 8 4 2 0 7 9 5 2 1 4 8 0 5 5 3 0 7 9 5 9 9 1 3 5 8 4 9 9 8 2 7 8 4 5 5 0
p6 7926 24.044s 1 1 1 1 1 1 1 1 1 1 8 2 4 9 6 7 2 6 4 2 9 0 3 8 8 2 9 0 2 7 9 9 6 7 3 3 1 9 8 2 3 6 3 1 7 4 4 8 6 3 5 7 5 5 8 5 4 8 7 0
p7 9934 23.953s 1 1 1 1 1 1 1 1 1 1 7 2 6 0 5 8 2 2 8 8 9 4 5 0 9 5 6 4 7 8 7 6 2 3 5 9 1 9 4 5 2 9 0 9 2 5 7 3 3 4 0 8 6 8 7 0 9 8 7 1
p8 11927 24.141s 1 1 1 1 1 1 1 1 1 1 4 8 6 9 5 7 3 2 4 6 9 8 8 2 8 1 4 0 6 7 3 9 5 1 9 5 1 9 8 7 0 8 0 9 8 4 0 8 3 4 3 7 1 5 2 6 2 4 7 5
p9 9040 23.968s 1 1 1 1 1 1 1 1 1 1 7 8 1 9 3 8 6 4 4 2 2 5 8 6 9 3 4 8 0 4 8 8 3 0 8 5 3 5 2 8 9 3 8 4 9 7 3 8 9 4 6 8 5 5 3 7 7 9 8 7
p10 7726 23.709s 1 1 1 1 1 1 1 1 1 1 8 8 1 6 3 4 4 9 6 1 0 8 3 7 8 9 6 1 9 4 3 8 6 7 2 5 6 2 9 5 3 9 6 3 9 6 4 8 3 6 4 8 6 4 0 8 9 8 4 0
p11 9726 24.315s 1 1 1 1 1 1 1 1 1 1 7 9 4 8 5 9 2 4 6 4 9 3 9 3 8 2 8 2 9 8 8 8 7 5 2 9 8 5 8 8 9 6 7 5 9 7 1 3 3 7 5 8 8 5 9 0 5 3 4 7
p12 11691 23.38s 1 1 0 1 1 1 1 1 1 1 5 8 8 6 3 9 8 4 4 5 9 5 3 6 0 8 7 0 3 0 3 8 9 9 6 7 1 6 3 5 9 4 8 3 8 6 9 4 8 4 6 8 1 0 9 7 9 5 8 5
p13 9805 28.876s 1 1 0 0 0 0 0 1 0 1 1 0 1 1 1 1 1 1 1 1 16 18 19 10 7 18 17 13 19 17 13 19 19 16 19 15 14 10 19 12 17 15 15 14 9 18 16 17 19 12 18 15 12 18 16 16 15 1 15 19 14 17 7 0 14 19 14 16 18 9
p14 8244 28.253s 1 0 0 0 1 0 0 1 0 1 1 0 0 1 1 1 1 1 1 1 16 16 14 10 16 18 19 18 16 19 10 4 18 10 13 17 15 15 17 14 17 15 15 19 15 17 4 17 17 19 10 7 13 18 18 13 14 18 7 18 19 0 19 19 17 4 14 10 18 9
p15 9972 28.289s 0 1 1 0 1 0 0 0 0 0 1 1 1 0 1 1 1 1 1 1 16 18 16 10 19 17 17 17 14 17 16 10 1 14 14 11 15 18 14 11 17 16 15 19 12 19 18 4 2 15 10 11 4 19 19 17 11 19 15 16 14 16 15 16 19 18 12 4 19 18
p16 13022 28.272s 1 0 1 0 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 16 17 18 18 19 14 19 16 16 18 16 19 17 19 0 19 15 19 13 14 12 18 15 17 15 13 13 17 18 12 12 15 16 10 11 14 16 16 18 4 17 4 18 15 2 17 18 15 17 19
p17 9585 28.107s 0 1 0 0 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 18 12 10 18 1 18 4 14 14 17 15 17 19 16 14 17 15 10 19 16 17 15 14 11 13 17 16 17 12 12 18 19 14 16 19 10 19 19 13 15 15 18 5 16 14 17 14 5 18 15
p18 7632 26.701s 0 1 0 0 0 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 18 17 10 18 14 19 17 19 18 17 16 19 12 10 13 14 18 19 11 13 12 13 14 19 16 1 14 16 19 12 13 15 19 16 14 10 11 18 18 16 16 15 5 19 13 18 17 17 15 15
p19 10906 27.243s 0 1 0 0 1 0 0 1 0 0 1 0 1 1 1 1 1 1 1 1 16 12 17 14 17 10 17 18 18 15 19 4 1 15 13 19 7 15 18 18 19 12 15 16 10 17 12 17 19 17 16 18 16 7 10 14 14 19 19 13 14 15 14 10 12 18 15 18 19 14
p20 12757 27.153s 1 1 0 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 19 11 14 10 17 18 17 15 14 17 15 4 16 13 13 17 14 13 12 17 17 15 15 19 4 14 11 17 3 18 13 19 1 16 19 14 16 19 9 16 12 0 19 18 17 5 15 18 18 13
p21 9871 29.177s 1 0 0 0 1 0 0 0 0 1 1 0 0 1 1 1 1 1 1 1 16 17 10 18 14 18 18 18 13 19 16 4 19 10 14 17 19 18 16 18 19 15 17 19 9 13 18 18 14 17 13 16 19 16 17 15 13 18 19 17 14 0 15 0 17 18 15 14 19 17
p22 7812 29.165s 0 1 0 0 1 1 1 0 0 0 1 1 0 1 1 1 1 1 1 1 16 18 16 17 19 19 16 19 17 17 6 4 1 15 13 19 16 15 18 17 15 19 15 19 13 14 16 18 19 19 13 18 13 14 11 18 11 17 19 13 10 15 5 17 15 18 18 10 13 17
p23 9943 28.862s 0 0 0 1 0 0 0 0 0 0 1 0 1 1 1 1 1 1 1 1 19 17 16 17 12 18 17 10 18 17 16 10 18 14 19 10 15 17 15 18 14 15 15 19 19 17 16 17 19 17 15 15 13 16 3 13 15 15 19 18 18 16 10 16 16 18 18 18 19 19
p24 11893 29.007s 0 1 0 0 1 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 13 17 10 10 17 15 17 18 14 16 15 13 19 16 19 14 18 1 4 19 18 15 15 8 10 17 16 11 19 19 19 7 19 15 19 16 17 16 19 13 18 16 15 16 12 17 17 18 4 18
p25 15807 59.412s 0 0 1 1 0 1 0 0 1 0 0 1 0 0 1 0 1 1 1 1 1 0 0 0 1 1 1 1 1 1 28 29 28 20 20 17 11 17 28 16 26 28 20 29 25 24 28 27 5 29 19 28 29 27 28 28 14 28 5 29 29 24 8 27 20 19 25 24 27 27 17 29 25 20 24 29 29 27 29 8 28 14 29 24 24 20 19 20 11 20 11 5 28 25 11 27 24 27 14 19 20 24 11 25 29 20 26 20 19 20 28 25 11 14 27 17 29 24 20 24 2 11 28 11 17 24 27 19 28 18 8 8 25 25 28 17 17 27 27 28 14 24 28 27 25 27 5 29 27 17 26 3 29 20 27 28 25 17 17 29 27 8 24 29 28 28 25 14 20 14 20 28 29 5 8 29 25 24 25 5
p26 13567 57.874s 1 0 0 0 0 1 0 1 1 0 0 1 0 0 1 0 1 1 0 1 1 0 0 0 1 1 1 1 1 1 11 11 28 17 11 19 20 17 14 25 29 14 27 25 17 29 27 14 16 28 25 17 5 24 5 17 11 24 28 29 29 27 14 20 28 20 25 24 27 14 25 14 14 28 25 25 27 28 24 27 29 29 28 5 20 20 19 27 8 5 17 25 20 20 29 28 0 17 24 19 20 28 11 5 19 28 29 17 14 24 20 8 29 14 19 17 5 19 20 5 26 25 24 11 29 24 27 28 8 11 24 25 27 25 29 29 7 29 27 28 25 14 29 25 28 27 25 24 25 24 11 29 29 27 17 29 25 29 29 28 25 11 11 29 28 14 25 27 20 8 17 20 19 14 27 25 29 5 28 25
p27 17655 60.821s 1 0 1 0 0 1 0 1 1 0 0 1 0 0 1 0 0 1 0 1 1 0 0 0 1 1 1 1 1 1 20 17 29 29 27 5 19 20 25 25 29 28 28 20 19 14 19 0 25 11 28 27 11 2 5 24 25 29 29 14 29 29 14 28 14 20 24 27 11 24 29 20 27 28 25 14 28 20 27 28 19 25 29 25 8 11 17 11 19 14 17 24 14 29 17 0 5 28 24 28 17 28 28 25 17 27 5 20 28 20 11 7 20 17 27 26 14 24 28 5 25 24 28 24 25 27 2 19 25 20 28 11 17 28 5 29 29 29 28 19 20 28 29 11 20 29 7 29 24 24 0 20 25 20 20 27 5 25 29 29 29 20 29 5 28 17 7 5 20 27 20 29 20 25 28 25 5 29 25 25
p28 21623 59.601s 1 0 0 0 0 1 0 1 1 0 0 1 0 1 1 0 0 1 0 1 1 0 0 1 1 1 1 1 1 1 28 11 20 19 23 11 29 24 20 24 26 20 29 20 29 28 25 26 27 28 19 29 29 24 5 28 11 17 28 29 27 20 29 24 20 28 25 29 29 25 17 14 25 27 19 25 5 13 25 8 8 28 17 17 27 11 28 28 28 20 20 24 28 27 25 27 24 27 29 29 25 17 29 29 29 20 29 20 26 25 28 7 17 8 29 17 27 27 19 19 17 24 0 11 25 24 14 19 25 29 11 8 20 25 28 29 27 28 27 25 14 28 19 11 25 27 25 24 25 25 29 8 25 20 14 14 19 14 14 27 24 11 25 5 28 20 14 5 14 17 29 24 20 20 28 25 28 17 19 29
p29 17681 57.72s 0 0 1 0 0 1 0 1 1 0 0 1 0 0 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 28 11 25 2 20 17 24 24 11 28 22 29 20 20 19 14 14 27 28 14 17 14 29 28 11 20 28 26 24 24 5 17 27 25 20 24 25 24 19 19 17 25 29 28 17 14 27 28 25 28 20 17 5 25 11 29 20 23 5 25 27 25 20 11 11 29 14 17 22 22 24 29 25 17 28 20 14 20 25 17 28 28 28 26 11 29 19 7 20 29 17 29 25 11 17 20 14 19 29 17 11 14 14 18 5 27 27 19 28 19 19 24 8 27 11 27 29 26 28 24 5 25 28 20 25 20 14 26 27 22 17 25 11 5 20 29 17 29 29 27 25 2 19 19 27 20 21 14 19 27
p30 15232 57.493s 1 0 1 1 0 1 1 1 1 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 20 11 26 27 20 24 2 24 5 17 29 27 27 20 8 19 14 17 25 20 28 19 18 25 5 21 17 27 20 22 5 28 28 11 28 27 3 15 23 24 25 20 27 28 29 14 27 28 25 28 29 14 14 17 20 20 17 27 25 28 25 5 14 11 5 14 24 0 29 24 11 17 11 14 24 14 29 11 29 23 20 24 20 28 27 14 15 25 20 24 19 24 27 27 17 11 24 19 29 28 18 7 17 29 25 29 17 29 20 28 8 16 25 8 27 29 24 27 25 24 5 28 29 13 29 29 29 24 25 21 17 6 25 27 8 14 17 5 20 17 28 28 25 29 8 27 20 29 14 25
p31 18552 57.642s 1 0 1 0 0 0 0 1 1 0 0 1 0 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 29 17 27 14 20 17 19 17 14 11 11 16 8 28 29 28 14 17 8 29 25 25 14 25 27 8 19 24 24 7 28 25 20 29 27 27 24 8 24 19 17 24 24 28 2 17 25 7 28 24 29 27 20 28 20 20 17 27 29 14 14 25 20 11 28 25 0 13 22 24 14 20 11 17 2 20 11 29 19 24 25 25 19 25 19 17 25 7 28 27 29 11 19 29 24 27 14 14 27 18 25 20 19 28 17 29 19 27 28 28 14 28 20 11 11 29 17 29 24 14 8 8 26 17 18 21 27 24 29 28 0 28 28 25 8 14 27 2 2 27 25 28 17 20 8 25 27 29 11 29
p32 22881 58.079s 1 0 1 0 0 1 0 1 1 0 0 1 0 0 1 0 1 1 0 1 1 0 1 1 1 1 1 1 1 1 20 0 20 29 20 24 29 27 19 17 2 24 29 25 5 14 29 27 28 19 14 17 5 19 24 28 19 25 27 20 17 25 29 27 25 20 19 25 23 14 24 20 22 28 24 17 25 5 27 19 29 20 17 26 28 28 5 25 11 28 17 24 5 28 11 20 25 25 14 24 5 25 24 22 17 27 29 28 14 25 26 17 20 17 29 17 17 7 17 26 25 11 11 24 14 24 19 19 27 29 28 27 17 25 27 29 17 11 14 28 20 20 19 19 20 27 28 27 22 26 29 28 27 17 19 24 25 26 23 27 14 29 24 28 8 14 27 29 14 29 25 2 20 8 28 29 22 24 16 24
p33 15934 58.028s 1 0 1 0 0 1 1 0 1 0 0 1 0 1 1 0 0 1 0 1 1 0 1 1 1 1 1 1 1 1 23 14 27 5 28 29 2 24 28 17 24 29 5 27 25 14 11 17 17 29 19 29 24 27 24 20 28 25 24 29 5 20 6 25 20 25 29 25 27 17 25 14 27 26 19 25 24 28 14 24 29 17 17 14 20 25 24 19 29 17 11 29 24 27 20 11 27 11 27 27 20 28 11 17 27 28 20 20 28 24 20 24 20 13 25 28 22 28 0 20 29 27 29 11 29 24 2 28 0 26 28 8 19 27 27 29 24 11 17 28 17 0 0 11 11 17 29 24 29 24 27 8 29 13 28 29 20 28 29 29 27 11 24 25 17 20 27 19 8 11 29 8 20 29 20 27 17 5 14 20
p34 14184 61.767s 1 0 1 0 0 1 0 1 1 0 0 1 0 1 1 0 0 1 1 1 1 0 0 1 1 1 1 1 1 1 25 27 20 25 28 29 2 27 25 25 24 24 20 25 25 17 17 27 19 17 14 17 19 27 24 28 2 20 25 19 5 27 25 26 19 27 8 24 29 2 25 27 8 28 25 29 24 28 27 25 24 28 20 20 28 28 24 27 27 20 0 25 24 27 25 11 24 20 14 24 20 28 29 25 27 19 29 28 5 28 20 17 24 29 5 17 28 7 29 29 17 24 17 27 29 24 24 29 28 20 27 19 19 27 18 29 14 29 14 28 14 11 28 11 28 28 29 29 27 27 29 25 20 0 5 20 5 29 27 25 29 11 20 24 28 14 19 23 8 17 13 8 20 19 25 29 25 25 19 29
p35 17967 61.737s 1 0 1 0 0 1 0 1 1 0 0 1 0 0 1 1 0 1 1 1 1 0 0 1 1 1 1 1 1 1 20 11 20 2 19 5 27 28 14 17 26 28 20 27 24 25 20 17 27 5 7 29 29 27 25 28 19 8 0 18 11 29 14 25 20 20 25 15 23 14 25 28 24 28 25 14 7 20 27 28 25 27 14 25 27 28 25 17 24 20 27 27 28 29 5 28 24 29 20 25 28 27 5 17 29 8 29 28 17 11 17 28 28 27 27 17 17 25 20 29 29 24 14 27 19 29 27 19 29 7 8 24 5 27 28 5 28 11 14 28 17 19 5 25 28 25 20 29 27 24 24 28 19 20 20 27 17 26 17 28 29 11 29 20 25 29 20 27 20 17 17 25 20 14 20 25 25 17 17 29
p36 20565 61.757s 0 0 1 1 0 1 1 1 1 0 0 1 0 0 1 0 1 1 1 1 1 0 0 0 1 1 1 1 1 1 20 25 20 17 28 27 28 17 25 24 29 16 8 8 17 28 29 25 5 29 28 17 14 27 3 8 27 6 29 5 5 20 6 27 20 19 29 25 20 28 29 14 29 28 24 17 7 28 25 8 29 28 25 5 27 28 17 11 29 28 17 28 19 27 11 29 24 27 29 24 20 6 11 25 24 28 29 11 5 3 20 14 20 20 24 17 17 29 25 29 27 25 19 11 17 24 2 25 17 14 27 19 29 29 29 25 17 11 14 28 28 28 17 25 11 25 24 24 24 11 28 27 25 28 18 27 29 26 27 28 17 25 27 29 25 28 17 20 27 27 20 29 19 27 20 25 25 27 19 5
p37 16042 60.181s 1 0 1 1 0 1 1 1 1 0 0 1 0 0 1 0 0 1 0 1 1 0 1 0 1 1 1 1 1 1 20 27 28 14 20 20 2 29 14 17 22 28 8 14 3 29 14 17 5 17 14 25 24 19 5 24 25 11 28 29 28 29 20 27 20 28 20 25 29 19 29 28 17 0 25 29 7 29 17 25 5 14 28 24 17 20 17 25 20 20 17 29 20 27 27 11 24 29 29 24 20 6 20 29 25 20 29 29 14 24 20 17 5 17 19 17 25 7 28 29 27 24 24 27 25 7 27 19 25 28 14 19 25 20 25 24 17 11 28 20 28 28 2 25 25 17 24 28 24 24 29 8 25 27 28 29 5 26 11 29 25 29 3 29 8 28 29 17 28 17 25 8 20 28 8 19 25 29 20 5
p38 13905 56.849s 1 0 0 1 0 1 1 1 1 0 0 1 0 1 1 1 0 1 1 1 1 0 0 1 1 1 0 1 1 1 20 27 24 20 20 5 25 24 28 17 15 29 8 20 3 14 11 19 24 11 19 29 14 19 0 8 5 25 29 14 25 25 6 20 20 20 29 17 19 14 28 20 29 28 13 27 23 28 27 28 29 28 17 29 20 20 17 27 11 25 0 5 20 29 29 11 24 28 20 29 27 11 28 17 24 27 28 29 11 29 29 25 28 29 20 17 25 14 19 24 19 29 24 27 27 29 25 19 25 18 11 25 28 27 6 5 18 11 28 28 28 28 29 27 8 27 27 29 28 28 14 28 25 24 28 27 5 29 7 29 3 29 29 29 29 14 25 5 29 29 25 11 29 29 28 24 8 5 8 29
p39 16863 60.269s 1 0 1 0 0 1 1 0 1 0 0 1 0 1 1 0 0 1 1 1 1 0 0 1 1 1 1 1 1 1 20 5 20 14 28 20 20 24 29 27 24 28 8 20 14 27 14 29 29 28 19 27 29 19 24 27 27 29 5 24 5 29 6 27 29 28 29 29 14 24 29 14 17 28 28 20 23 28 27 17 29 14 14 29 25 20 28 27 29 17 25 17 24 27 11 11 24 19 11 17 28 25 11 17 29 20 26 20 25 29 11 26 20 17 24 0 28 17 24 5 5 24 19 29 24 24 2 14 29 25 5 17 28 27 19 29 13 25 14 27 14 19 19 11 29 14 24 24 19 24 5 27 24 20 18 29 25 29 29 28 27 29 24 27 8 20 19 20 25 29 24 28 20 29 8 25 29 27 8 29
p40 20201 59.559s 1 0 0 0 0 1 1 0 1 0 0 1 0 1 1 0 0 1 0 1 1 0 0 1 1 1 1 1 1 1 24 27 28 29 28 14 19 24 14 25 25 23 0 29 27 29 14 17 27 11 28 29 5 19 27 8 19 29 28 5 28 25 25 28 14 29 24 25 29 24 28 29 25 28 24 29 20 6 27 8 29 14 28 11 20 5 17 29 27 25 29 25 20 11 20 27 29 24 29 24 20 5 27 17 24 8 29 17 28 11 27 14 20 17 27 17 29 27 28 29 27 29 29 27 25 29 28 19 28 28 28 25 0 14 20 29 28 24 17 28 28 20 29 24 29 25 24 27 29 5 25 20 29 28 20 24 25 26 29 25 28 8 26 29 8 28 29 29 20 25 27 8 20 14 20 13 25 29 14 24
p41 7103 34.299s 1 1 1 1 1 1 1 1 1 1 7 9 6 1 7 9 9 7 8 3 5 4 7 9 2 7 1 8 8 5 8 1 9 5 7 5 4 7 5 6 5 9 0 9 7 9 2 7 6 9 9 7 9 7 5 3 8 7 6 4 8 6 9 6 7 7 6 3 8 6 4 0 6 8 0 6 6 6 0 8 5 6 9 5 6 7 7 2 6 7 7 2 7 0 7 8 2 7 7 9
p42 8375 35.957s 0 1 0 1 0 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 17 18 13 14 15 10 18 17 10 15 14 19 6 10 6 19 15 17 18 13 19 10 19 14 12 8 17 16 18 13 19 1 6 14 18 14 10 19 19 18 19 18 17 18 18 3 8 19 19 18 18 18 19 13 18 18 17 18 14 14 18 13 15 14 13 13 18 15 19 15 19 18 19 19 6 18 18 19 18 19
p43 8742 37.198s 0 0 1 0 1 1 0 0 0 1 0 1 1 1 0 0 0 1 1 0 0 1 1 1 1 1 1 1 1 1 29 29 4 21 29 26 26 27 27 29 25 29 29 2 27 11 27 27 12 25 28 28 28 28 18 28 29 18 29 4 29 23 29 25 29 25 27 29 21 28 4 12 9 28 5 22 22 13 29 17 22 28 9 27 17 22 22 26 24 29 29 27 21 29 29 26 27 27 29 26
p44 7166 33.787s 1 1 1 1 1 1 1 1 1 1 5 4 4 4 5 7 7 5 6 2 6 0 9 6 7 5 6 1 4 5 1 1 7 6 8 1 1 7 4 8 2 3 6 9 6 7 3 3 8 8 7 7 8 9 2 8 7 5 9 7 1 4 7 5 9 8 7 7 7 7 5 5 3 5 7 9 7 2 8 0 4 7 9 7 0 9 0 7 6 2 7 9 7 9 9 7 6 9 7 7
p45 9315 35.87s 1 0 0 0 1 1 1 0 0 0 1 0 1 1 1 1 1 1 1 1 0 19 0 0 19 19 17 19 15 12 15 15 15 19 15 5 17 13 12 17 18 18 18 14 18 17 14 12 4 0 13 17 16 5 17 6 5 16 16 0 17 13 17 17 17 15 19 13 15 17 0 0 19 19 14 19 18 15 10 18 19 13 19 19 19 13 18 12 17 19 18 0 13 18 14 17 19 17 5 17
p46 9306 37.284s 0 0 0 1 0 0 0 0 0 0 1 1 0 1 1 0 1 1 0 0 0 1 1 1 0 1 1 1 1 1 10 10 10 10 10 13 29 22 29 27 28 29 28 23 29 26 26 14 25 26 29 29 27 28 27 28 26 27 28 29 29 27 29 21 10 3 16 27 29 28 17 21 28 14 29 27 26 17 21 29 29 23 11 10 25 26 10 29 27 27 17 10 29 21 27 27 27 13 29 29
p47 6371 31.641s 1 1 1 1 1 1 1 1 1 1 4 3 3 6 5 2 0 1 2 3 1 1 2 4 1 2 7 3 2 9 7 5 3 8 2 5 3 6 6 0 3 9 3 4 0 4 4 9 4 0 4 6 6 0 9 4 4 6 6 5 5 4 5 4 9 2 6 6 4 5 6 0 4 4 6 7 6 9 6 7 7 7 7 7 6 9 7 6 8 8 2 8 8 7 9 1 6 6 0 0
p48 8061 32.989s 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 19 1 13 0 12 7 11 1 19 3 19 19 6 3 3 19 19 13 13 8 9 13 17 6 7 17 19 12 6 17 12 12 9 8 5 11 17 13 9 13 9 5 17 6 11 9 9 12 19 13 12 19 19 13 4 14 15 19 1 13 0 16 14 5 15 3 9 19 17 17 17 17 17 18 18 13 19 17 19 19
p49 9253 33.944s 0 1 1 0 0 0 1 1 0 0 0 1 0 0 0 1 0 1 1 1 1 0 0 0 1 1 1 1 1 1 1 29 29 6 7 2 24 26 15 25 7 2 2 26 7 20 26 25 7 26 25 26 28 28 15 26 6 29 7 15 20 2 29 15 28 25 17 11 18 19 29 29 7 20 20 26 18 29 26 20 28 20 26 24 25 25 27 28 24 20 28 27 29 24 29 27 29 29 15 29
p50 9475 35.641s 1 1 1 1 1 1 1 1 1 1 7 9 3 7 7 9 8 6 8 2 7 5 0 9 9 6 9 4 0 8 3 0 0 3 6 7 7 8 4 4 7 7 4 7 9 5 9 5 4 3 6 9 9 5 5 7 7 7 7 7 3 2 1 7 6 3 9 6 4 2 9 7 7 7 8 6 0 6 8 8 3 6 6 0 6 7 4 7 2 4 4 7 9 9 5 1 6 4 8 7 9 9 1 5 1 1 7 7 9 2
p51 9742 41.161s 1 0 0 1 0 1 0 0 1 0 1 0 1 1 1 1 1 1 1 1 13 13 18 10 19 13 19 19 19 19 5 19 18 13 13 12 12 18 13 19 17 19 14 15 19 14 18 19 19 15 15 18 18 19 15 18 13 13 19 10 19 18 13 18 14 16 5 18 5 5 15 18 18 14 13 19 13 19 18 16 18 17 13 15 15 19 14 19 19 19 15 19 14 19 19 19 17 19 8 3 19 5 16 12 5 13 10 16 19 18 13 14 13 13 0 18 5 19 12 10
p52 9616 36.824s 1 1 0 1 1 1 1 1 1 1 6 7 7 7 7 5 7 7 3 7 4 8 7 4 6 4 6 3 3 5 8 3 7 8 8 5 9 9 9 9 5 9 9 6 6 3 6 6 7 4 6 5 3 6 6 7 7 9 5 5 7 7 4 7 9 5 6 3 4 7 6 9 5 5 0 5 5 6 3 3 9 6 7 7 5 3 7 7 7 8 7 8 7 5 5 4 4 7 8 8 6 3 9 6 6 1 1 4 4 6
p53 10804 41.235s 0 0 0 1 1 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 19 18 18 19 5 16 12 7 19 17 18 7 7 7 7 10 5 17 9 19 12 17 13 5 13 15 19 9 18 18 19 17 4 15 19 18 18 18 18 18 19 18 18 18 19 19 7 19 12 18 19 17 7 12 16 7 19 12 19 19 9 19 18 12 19 18 15 18 10 5 17 18 13 5 3 15 19 3 6 9 18 16 15 17 15 3 3 3 19 5 15 18 6 17 18 18 18 10 19 19
p54 9656 36.509s 1 1 1 1 1 1 1 1 1 1 5 3 4 9 6 7 7 7 2 8 2 0 7 6 2 2 7 2 2 7 3 3 7 9 1 1 3 0 7 3 3 3 5 3 8 7 3 3 3 7 6 8 8 6 6 8 7 6 6 2 1 4 0 7 9 6 5 6 8 0 9 6 5 6 6 9 6 6 5 4 4 6 9 0 7 7 6 3 0 7 6 4 0 4 4 3 4 4 9 4 7 6 6 4 4 4 4 9 9 2
p55 10434 39.461s 1 0 1 0 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1 8 18 16 15 13 2 4 19 16 8 17 8 18 14 8 12 14 12 8 19 11 14 11 6 6 19 19 19 19 13 14 11 15 4 19 6 19 18 18 19 19 19 19 6 19 18 0 0 19 19 7 19 7 18 11 14 11 7 7 7 15 18 4 18 13 11 11 19 0 9 13 19 15 13 18 12 13 18 9 18 15 15 6 18 18 15 15 19 19 15 19 18 18 15 18 6 2 18 18 18
p56 24994 68.691s 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 18 29 25 26 4 22 22 28 22 28 26 28 22 20 28 18 29 20 22 7 16 21 5 27 23 18 26 14 23 2 25 7 18 21 27 12 29 3 24 17 25 28 3 26 8 24 23 21 28 14 25 24 21 24 8 6 25 28 23 16 8 0 26 26 13 23 23 14 28 19 22 11 29 20 17 23 6 5 27 16 8 28 9 25 29 17 23 5 27 19 17 23 25 29 27 21 26 24 18 3 19 15 26 24 27 28 29 25 23 29 19 19 18 26 27 20 11 25 27 22 19 28 17 6 27 16 21 22 26 17 27 20 28 4 24 20 28 26 26 12 12 19 20 27 28 28 16 21 22 26 2 17 18 0 8 15 28 24 23 23 13 24 27 21 23 18 21 11 20 27 29 20 28 14 19 2 23 5 15 20 29 23 0 19 29 12 27 28 0 21 24 27 7 19 12 19 25 15 24 23
p57 33476 69.349s 1 0 1 0 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 18 26 2 27 27 12 28 20 24 28 22 28 28 22 22 19 23 5 20 21 29 27 5 13 19 18 24 23 5 21 26 20 29 21 27 21 20 8 9 13 18 26 19 4 20 17 23 24 14 26 23 28 22 15 26 25 27 28 16 25 27 21 28 26 19 11 13 22 28 17 24 16 21 29 19 26 20 20 17 12 10 26 26 18 29 13 27 5 24 18 27 24 18 17 19 11 24 22 0 28 22 21 27 18 4 19 12 16 27 28 29 29 25 25 29 13 7 2 17 21 23 20 23 19 18 15 16 17 29 27 28 24 25 20 0 9 21 14 22 22 22 25 26 21 13 23 22 24 20 9 21 12 23 0 8 18 24 29 28 13 23 24 29 25 20 6 23 14 26 25 27 12 19 20 25 29 0 17 25 25 27 29 18 27 28 25 23 27 28 21 28 21 19 26 23 5 24 2 24 29
p58 54687 67.46s 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 13 18 26 26 4 12 19 18 27 20 29 28 17 20 26 18 13 26 22 27 18 18 27 24 14 27 24 23 29 21 29 23 22 19 27 29 24 29 21 21 12 16 29 26 20 21 29 19 19 20 24 25 2 23 20 24 28 26 29 25 5 20 26 20 13 25 21 17 16 18 7 12 28 13 28 19 26 19 24 24 20 25 27 22 27 13 6 20 25 25 28 19 26 25 2 22 28 17 27 28 14 0 27 18 25 22 26 24 22 3 26 26 18 22 25 19 11 22 17 28 26 28 17 17 26 28 4 0 27 24 8 24 19 20 21 26 9 27 17 14 19 5 19 25 24 25 16 21 27 28 29 23 13 2 27 19 5 22 27 7 23 29 10 0 25 14 23 28 23 21 25 17 19 9 29 23 0 18 0 29 28 21 23 24 23 20 24 23 0 18 25 12 12 25 2 18 7 21 11 14
p59 38642 71.846s 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 22 19 21 23 25 12 23 27 22 28 27 20 22 23 28 18 13 29 20 0 22 24 25 23 19 28 27 24 29 27 19 26 29 28 21 25 20 14 17 18 25 19 13 29 11 29 26 16 14 14 26 2 22 21 29 29 22 27 9 18 4 0 21 23 13 24 23 26 11 25 19 9 26 23 19 23 20 23 29 28 28 25 23 29 26 10 19 5 18 25 27 16 25 19 24 26 15 28 28 28 17 25 11 28 18 17 4 16 22 3 24 21 27 28 27 8 17 22 19 8 26 5 29 10 8 21 2 4 21 27 28 28 25 20 23 18 23 4 26 14 25 22 20 28 28 11 19 11 21 24 21 19 29 0 16 11 13 21 28 28 20 27 24 21 11 24 24 26 18 28 1 13 25 14 26 29 0 10 19 27 15 27 21 7 12 9 11 28 17 20 2 24 24 26 7 18 25 24 12 24
p60 25587 67.122s 1 1 0 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 28 27 27 27 28 29 19 27 27 25 4 28 23 26 29 28 16 26 21 27 28 25 17 7 10 18 24 26 29 21 19 12 27 25 23 1 27 29 27 16 18 26 29 29 8 19 29 19 29 14 28 28 25 27 20 6 11 9 25 27 29 27 12 8 20 5 20 28 19 29 25 24 19 8 26 24 20 24 8 29 24 24 17 25 29 26 28 26 24 7 29 19 26 25 26 28 28 26 23 23 15 13 28 4 4 0 4 27 18 28 21 4 27 25 25 27 23 27 28 19 20 28 19 28 23 24 28 12 23 12 27 28 25 26 20 26 3 26 28 27 25 25 23 25 12 23 24 21 18 25 24 28 24 9 27 26 24 0 13 26 24 13 10 25 29 22 23 4 22 25 12 23 27 20 26 27 24 23 29 20 5 21 23 26 12 7 19 14 27 29 27 27 6 28 23 29 20 15 18 20
p61 33996 70.844s 1 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 22 20 28 27 23 26 27 27 22 28 19 28 20 27 22 18 23 23 25 0 21 16 24 29 26 22 27 26 29 24 20 19 26 27 18 28 27 8 25 16 25 26 26 4 20 23 29 27 19 25 24 16 24 28 6 24 11 25 18 27 27 27 25 28 29 29 5 24 28 22 18 12 19 26 28 23 23 23 28 28 24 28 26 28 0 13 29 23 27 7 24 29 24 29 5 27 25 25 17 23 23 29 28 25 29 26 29 26 22 3 6 25 27 19 28 23 0 7 28 8 26 11 22 0 29 24 26 23 21 17 27 21 27 26 20 28 22 29 12 6 28 24 29 26 27 23 27 15 27 25 12 23 26 7 8 25 23 21 26 26 26 7 29 24 5 25 25 4 28 24 24 26 19 14 21 17 19 23 23 19 27 14 29 28 12 26 28 23 21 21 29 11 29 29 7 29 25 28 25 29
p62 55157 67.132s 1 0 1 0 1 1 1 0 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 18 19 21 27 27 25 24 28 19 28 29 28 27 26 28 18 26 6 28 27 25 29 23 24 10 28 27 19 29 2 28 26 26 20 9 24 20 20 24 25 15 28 28 4 28 24 13 21 6 28 27 27 0 11 8 6 25 29 27 25 29 24 25 28 20 27 15 29 26 25 18 29 0 22 23 8 27 25 17 29 27 23 20 0 27 23 29 23 27 25 24 6 26 11 26 20 23 11 29 28 17 5 23 27 17 24 29 29 26 19 28 25 22 27 29 8 19 29 29 20 23 11 26 21 17 27 24 12 26 28 28 28 19 26 23 22 29 26 19 28 12 22 20 27 27 28 26 25 25 25 24 23 23 27 23 25 10 27 23 5 28 26 10 28 5 9 19 29 23 27 24 26 0 26 29 2 19 23 4 26 11 24 21 29 13 29 20 23 29 27 24 28 20 4 19 29 0 12 28 24
p63 40766 70.966s 1 0 0 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 29 19 9 28 26 12 23 27 22 7 15 28 13 28 20 18 23 19 22 28 22 21 24 10 24 27 24 12 29 27 19 28 26 24 27 6 29 21 29 11 26 21 27 4 26 21 27 21 29 27 25 29 24 25 23 27 28 29 7 25 29 27 28 28 26 28 29 28 26 25 26 23 26 24 23 23 25 12 26 28 24 28 23 25 15 20 28 23 24 7 27 24 20 28 27 29 27 19 28 16 11 21 27 25 23 25 4 21 29 29 26 13 27 21 27 26 11 7 26 8 29 27 17 24 26 24 27 28 28 23 28 27 19 6 20 20 23 23 17 20 26 22 20 25 15 24 23 24 24 25 9 23 24 24 25 13 19 28 13 29 24 0 25 22 5 29 24 19 26 27 23 20 21 25 26 24 11 25 29 29 27 12 5 19 12 20 28 23 17 20 9 11 27 28 22 29 28 26 10 19
p64 24834 70.31s 0 0 1 0 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 27 29 24 27 2 29 24 21 22 28 19 24 26 26 28 18 29 23 22 26 19 21 7 28 23 24 27 19 24 21 29 28 27 24 24 12 4 29 24 2 18 9 19 28 8 29 24 21 28 29 27 29 24 26 29 6 11 26 28 28 29 26 20 26 13 26 24 11 26 20 18 29 29 25 24 23 22 23 29 27 23 9 28 28 27 20 19 8 27 25 25 27 25 26 24 25 11 12 28 28 28 21 25 27 24 15 24 24 28 23 26 26 19 28 12 23 29 7 27 8 26 26 26 25 29 24 24 11 29 24 28 28 25 26 7 9 13 24 27 20 26 19 27 28 26 28 27 27 26 26 27 23 26 28 29 28 28 24 20 28 13 27 8 27 5 24 23 4 23 29 27 29 28 23 26 24 29 23 29 10 4 21 27 27 27 20 25 23 17 27 21 24 28 26 24 29 2 25 27 28
p65 34710 69.326s 1 0 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 18 29 29 27 2 29 15 27 27 13 24 27 28 13 16 28 26 20 27 27 27 26 27 27 27 18 27 19 28 25 26 29 26 24 26 19 19 9 28 28 18 26 19 4 29 25 26 10 19 20 26 24 23 28 29 12 11 26 28 26 26 24 23 20 26 25 24 20 29 28 18 29 26 9 27 26 24 24 26 28 20 0 12 27 29 18 29 5 26 25 0 27 27 27 28 23 5 29 24 28 27 27 25 18 29 27 4 27 22 20 29 20 27 12 29 12 26 23 20 8 26 25 17 26 29 28 2 28 26 24 11 26 29 23 20 25 23 3 28 24 20 22 29 28 25 26 24 26 27 25 4 23 23 23 27 29 25 28 2 8 29 27 10 29 27 23 24 26 28 27 24 23 28 29 7 24 0 23 29 28 19 21 21 28 25 20 28 23 17 28 29 19 12 23 24 28 28 28 25 27
p66 55801 69.23s 1 0 1 0 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 27 29 28 27 24 27 9 26 22 29 26 28 23 29 28 25 24 8 25 0 18 28 28 24 23 23 22 9 28 24 26 27 29 21 27 25 29 8 24 21 18 5 25 28 8 26 28 27 29 20 5 11 21 16 17 29 27 27 21 27 29 17 27 13 5 28 28 28 28 25 25 25 27 26 26 24 28 24 8 27 15 29 28 25 29 26 29 28 28 25 29 19 29 25 20 23 28 26 11 28 26 29 26 24 4 26 28 28 22 23 29 29 23 12 29 20 27 7 11 29 26 28 17 26 2 24 24 28 26 5 28 23 27 20 23 25 13 25 27 23 25 15 29 11 25 27 24 21 18 29 24 27 13 29 28 11 27 24 28 26 29 27 10 28 28 27 23 4 27 21 24 26 27 29 29 21 24 23 28 19 24 28 27 26 7 12 19 28 28 24 27 24 29 28 25 23 12 28 13 25
p67 40829 69.973s 1 0 1 0 1 1 1 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 26 26 21 28 2 28 9 24 24 28 20 28 23 24 28 18 24 23 24 24 18 28 5 24 19 22 25 19 29 25 19 29 4 23 27 26 29 23 24 26 19 19 20 26 13 24 26 21 26 29 24 24 24 28 20 24 20 26 26 25 29 17 25 29 20 11 5 23 27 24 22 12 23 29 23 18 29 23 22 21 23 28 28 21 29 25 8 27 27 22 17 6 23 29 22 23 27 29 25 25 28 21 25 25 28 27 4 25 27 20 26 26 25 27 27 23 25 28 28 26 29 29 28 25 26 21 19 26 13 0 28 27 22 28 27 28 13 26 26 20 28 22 21 11 27 23 25 22 25 21 27 19 18 23 23 27 29 23 27 25 20 24 4 26 29 29 27 11 23 21 26 28 19 23 26 5 0 23 26 20 28 24 2 27 27 20 29 27 28 11 28 28 9 29 25 12 29 21 10 28
p68 25168 70.226s 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 20 22 6 28 23 12 15 27 24 19 26 11 20 1 28 18 22 20 24 23 27 27 10 22 20 20 22 26 27 27 27 2 4 24 23 29 19 29 22 19 22 26 29 28 26 24 25 28 29 20 27 25 21 22 26 27 29 28 26 27 27 26 22 26 22 29 24 18 19 22 25 25 26 20 23 26 29 27 20 0 4 23 29 24 28 27 29 5 27 13 25 29 15 28 25 23 28 6 27 28 18 23 28 18 4 6 4 27 22 20 19 24 27 26 27 24 25 25 26 27 26 24 17 19 29 27 2 11 19 23 21 24 25 17 24 9 13 23 28 29 12 4 29 27 23 15 24 25 27 25 26 25 26 13 12 21 3 22 3 23 11 20 27 14 5 22 5 4 26 28 28 27 29 26 26 20 25 27 29 20 9 24 21 20 29 9 21 28 0 21 28 27 10 29 23 28 28 26 23 29
p69 33818 69.019s 1 0 1 0 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 18 19 27 27 24 12 13 27 24 28 24 28 27 20 28 18 26 20 19 0 18 24 5 18 26 23 27 26 25 26 28 26 24 13 28 28 20 20 25 23 18 22 28 23 26 19 26 4 24 25 28 23 24 29 23 6 27 11 18 25 25 22 7 8 27 25 21 27 28 2 24 12 29 20 26 24 26 12 8 26 26 6 9 25 29 13 26 27 28 25 18 29 25 28 11 8 10 17 0 28 26 22 25 18 29 27 4 24 5 23 24 4 27 12 28 20 19 13 29 20 26 11 10 25 29 27 22 12 26 17 28 28 25 20 17 0 20 6 27 29 25 23 11 4 25 27 27 21 21 28 27 2 21 27 27 26 2 19 23 20 26 27 23 24 29 24 22 4 26 27 29 22 22 12 4 27 23 10 29 28 9 23 2 23 12 20 27 28 26 20 2 19 4 4 7 29 29 24 17 27
p70 54358 69.076s 1 0 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 22 26 24 13 5 12 15 28 22 27 29 19 24 29 26 18 21 21 27 27 29 27 23 25 20 27 26 0 29 19 27 24 26 24 25 21 5 7 21 23 26 28 22 4 26 19 28 27 28 14 24 23 22 23 2 21 11 26 26 26 29 0 27 29 27 0 26 28 24 19 18 25 27 26 28 23 20 24 26 27 21 17 9 18 29 13 12 20 28 27 22 6 25 2 28 29 3 18 21 19 23 22 25 22 4 16 4 27 28 29 12 23 27 12 25 29 19 27 26 8 26 25 23 26 27 28 2 5 19 17 28 26 25 11 26 22 23 3 28 20 25 11 28 19 12 25 16 24 22 25 22 24 23 27 23 0 28 29 28 28 24 27 10 26 28 27 23 4 27 19 13 25 19 20 25 21 24 11 29 20 23 28 21 27 27 29 24 24 17 21 21 28 29 4 27 23 29 26 20 19
p71 40220 73.504s 1 0 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 18 19 28 28 24 28 26 28 29 28 20 0 6 13 12 26 26 25 27 24 19 26 24 16 21 27 27 20 23 27 25 12 29 23 27 28 3 8 21 16 26 26 27 4 18 19 29 21 28 26 27 12 2 19 24 28 29 23 29 25 29 18 7 27 16 25 26 4 19 27 25 25 23 23 26 19 24 13 29 28 20 27 9 4 29 11 6 10 27 25 27 6 25 28 17 25 11 18 17 28 25 24 6 26 4 15 4 27 22 26 19 25 27 22 21 2 17 27 27 26 26 9 17 27 29 24 2 18 23 11 28 24 27 20 23 9 8 29 28 25 19 25 11 12 19 23 24 20 27 25 24 26 23 12 29 20 27 23 23 23 13 11 23 24 0 24 29 4 28 28 27 7 25 14 22 2 29 24 3 27 5 21 27 23 12 17 28 23 29 19 22 26 26 27 4 17 26 24 10 23

3. 参考资料

  1. 数据集参考 http://www.di.unipi.it/optimize/Data/MEX.html?tdsourcetag=s_pcqq_aiomsg
  2. CFLP资料 http://math.nsc.ru/AP/benchmarks/CFLP/cflp-eng.html

附:实验源代码

源代码Github

猜你喜欢

转载自www.cnblogs.com/alva112358/p/10148798.html
今日推荐