model:
sets:
cities/city1..city22/:city,arrival,introduce_time;
links(cities,cities):dist,route;
endsets
data:
dist=@ole('C:/math/2/dist.xlsx','get_time');
introduce_time=@ole('C:/math/2/dist.xlsx','introduce_time');
enddata
max=@sum(cities(i):arrival(i));
arrival(1)=1;
n=@sum(cities(i):arrival(i));
@for(links(i, j) : @bin(route(i, j)));
》@for(cities(m):arrival(m)=@sum(cities(m):route(m,o))+@sum(cities(m):route(o,m)));
@for(cities(i) : @sum(cities(j) : route(j,i)) <1);
@for(cities(i) : @sum(cities(j) : route(i,j)) <1);
@sum(links(i,j):dist(i,j)*route(i,j)*12)+@sum(cities(i):arrival(i)*introduce_time(i))<120;
@sum(links(i,j):dist(i,j)*route(i,j)*12)+@sum(cities(i):arrival(i)*introduce_time(i))>60;
timeA=@sum(links(i,j):dist(i,j)*route(i,j)*12);
timeB=@sum(cities(k):arrival(k)*introduce_time(k));
@for(links(i, j) | i #ne# j #and# i #gt# 1 : city(i) - city(j) + n * route(i, j) <= n - 1);
end
在》行,我想通过判断route(i,j)是否为1来决定arrival(i)或arrival(j)是否为1,但这一步报错,应该怎么写?
sets:
cities/city1..city22/:city,arrival,introduce_time;
links(cities,cities):dist,route;
endsets
data:
dist=@ole('C:/math/2/dist.xlsx','get_time');
introduce_time=@ole('C:/math/2/dist.xlsx','introduce_time');
enddata
max=@sum(cities(i):arrival(i));
arrival(1)=1;
n=@sum(cities(i):arrival(i));
@for(links(i, j) : @bin(route(i, j)));
》@for(cities(m):arrival(m)=@sum(cities(m):route(m,o))+@sum(cities(m):route(o,m)));
@for(cities(i) : @sum(cities(j) : route(j,i)) <1);
@for(cities(i) : @sum(cities(j) : route(i,j)) <1);
@sum(links(i,j):dist(i,j)*route(i,j)*12)+@sum(cities(i):arrival(i)*introduce_time(i))<120;
@sum(links(i,j):dist(i,j)*route(i,j)*12)+@sum(cities(i):arrival(i)*introduce_time(i))>60;
timeA=@sum(links(i,j):dist(i,j)*route(i,j)*12);
timeB=@sum(cities(k):arrival(k)*introduce_time(k));
@for(links(i, j) | i #ne# j #and# i #gt# 1 : city(i) - city(j) + n * route(i, j) <= n - 1);
end
在》行,我想通过判断route(i,j)是否为1来决定arrival(i)或arrival(j)是否为1,但这一步报错,应该怎么写?