%布尔类型:表示j路段是属于簇i
X = binvar(21, 21, 'full');
%布尔类型:表示j路段是否属于至少一个簇
X1 = binvar(1, 21);
%布尔类型:表示j路段是否同时属于多个簇
X2 = binvar(1, 21);
%簇i前一部分路段的加权方差 ( = Ni * var(Si))
T = sdpvar(1, 21);
%路段数
N = 21;
%snake的数量
Ns = 21;
%簇的个数
Nc = 2;
sdpvar a1 a2;
intvar nm;
%被选中的snake的最小路段数
Nmin = [1 <= nm <= 21, uncertain(nm)];
%最小覆盖率
A1 = [0 <= a1 <= 1, uncertain(a1)];
%最大重复率
A2 = [0 <= a2 <= 1, uncertain(a2)];
%snake i的第k条路段
R1 = csvread('snakes.csv');
%snake i中路段j的排序位置
R2 = csvread('locations.csv');
%snake i中前j条路段的方差
Var = csvread('variances.csv');
%目标函数
Objective