``` inst_tasks: 结构体数组,数组中的每个元素为个task,同一条边的两个方向为两个task ,两个task的id相差需求边的总数。 0元素不用 inst_arcs: 结构体数组,数组中的每个元素为一条边,内行图中所有的边,每条边 的两个方向不相同,id相差边的总数,0号元素不用 trav_cost: 图中边的cost, serve_cost: 图中需求边的cost mini_cost: 两两之间的最短距离 以上三个距离matrix的第一行第一列都舍弃不使用。 individual: 结构体 int Sequence: 路径,用0分割,存储task id int Assignment[250]: int TotalCost: 总的cost int Loads:每条路径的负载,荷载 int TotalVioLoad:每条路超过容量部分的总和 double Fitness:带惩罚系数的适应度 Array function: 1. AssignArray(int *Array1, int *Array2): assign array1 to array2 2. AssignSubArray(int *Array1, int k1, int k2, int *Array2): assign array1[k1:k2] to array2 3. JoinArray(int *JointArray, int *Array): JointArray = JointArray + Array 4. find_ele_positions(int *positions, int *a, int e) find element e in a 5. delete_element(int *a, int k) delete element k in a 6. add_element(int *a, int e, int k): a[1:k-1] + e + a[k:end] 7. FindTask(int a, int b, const Task *inst_tasks, int NO_Task) find task [a, b] in inst_tasks; ```