tian-y-x / carp

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

```
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;

```

About


Languages

Language:C 84.9%Language:Makefile 11.8%Language:CMake 3.3%