lingo编程
答案:1 悬赏:70 手机版
解决时间 2021-03-04 01:24
- 提问者网友:练爱
- 2021-03-03 10:40
lingo编程
最佳答案
- 五星知识达人网友:鱼芗
- 2021-03-03 11:00
自己查一下数据个数 有不对的
Model:
Sets:
lineno/1,2,3/:;!航线共三条,h表示第几条航线;
ship/1,2,3,4,5/:;!船舶一共五种,m表示第几种船;
startport/1,2,3,4,5,6,7/:;!发港一共七个,i表示出发港为哪一个;
arriveport/1,2,3,4,5,6,7/:;! 到港一共七个,j表示出到港为哪一个;
Cargovolu(Lineno, Startport, Arriveport):x;! xhij表示h航线上i、j港之间的货运量;
voyageno(Lineno, Ship):y;! yhm表示m型船在h航线上的航次数;
freight(Lineno, Startport, Arriveport):f;! fhij表示h航线上i、j两港之间的运价;
cost(Lineno, Ship):c;!chm表示一艘m型船在h航线上一个往返航次的营运成本;
need(Startport, Arriveport):v;!vij表示i,j两港货运需求量;
maxvoyage(Lineno, Ship):b;!bmh表示m型船在h线最佳航速最大往返航次数;
maxship(ship):ca;!cam表示m船型最大载货量;
qugua(lineno):np;!nph表示h航线去程挂靠港口总数;
huigua(lineno):nd;!ndh表示h航线回程挂靠港口总数;
minbanci(lineno):q;!表示h航线上最小发船班次;
nmax(ship):n;!nmaxm表示m船最多可以使用数量;
endsets
init:
sitahm=0.8;
endinit
max=@sum(lineno(h):@sum(startport(i):@sum(arriveport(j):x(h,i,j)*f(h,i,j)))-@sum(ship(m):c(h,m)*y(h,m)));
@for(startport(i):@for(arriveport(j):@sum(lineno(h):x(h,i,j))<=v(i,j)));
@for(lineno(h):@sum(startport(i):@sum(arriveport(j):x(h,i,j)))<=@sum(ship(m):y(h,m)* sitahm*ca(m)));
@for(lineno(h):@sum(startport(i):@sum(arriveport(j):x(h,i,j)))<=@sum(ship(m):y(h,m)* sitahm*ca(m)));
@for(lineno(h):@sum(ship(m):y(h,m))>=q(h));
@for(ship(m):@sum(lineno(h):y(h,m)/b(h,m))<=n(m));
@for(voyageno(h,m):@gin(y(h,m)));
data:
enddata追问我数着数据个数没错啊''再者说就算错也不应该只最后一行有问题啊''怎么回事…追答正确的我已经写出来了 只需要你补完数据即可 你再有问题就真的是你的问题了 我已经什么都给你做了
Model:
Sets:
lineno/1,2,3/:;!航线共三条,h表示第几条航线;
ship/1,2,3,4,5/:;!船舶一共五种,m表示第几种船;
startport/1,2,3,4,5,6,7/:;!发港一共七个,i表示出发港为哪一个;
arriveport/1,2,3,4,5,6,7/:;! 到港一共七个,j表示出到港为哪一个;
Cargovolu(Lineno, Startport, Arriveport):x;! xhij表示h航线上i、j港之间的货运量;
voyageno(Lineno, Ship):y;! yhm表示m型船在h航线上的航次数;
freight(Lineno, Startport, Arriveport):f;! fhij表示h航线上i、j两港之间的运价;
cost(Lineno, Ship):c;!chm表示一艘m型船在h航线上一个往返航次的营运成本;
need(Startport, Arriveport):v;!vij表示i,j两港货运需求量;
maxvoyage(Lineno, Ship):b;!bmh表示m型船在h线最佳航速最大往返航次数;
maxship(ship):ca;!cam表示m船型最大载货量;
qugua(lineno):np;!nph表示h航线去程挂靠港口总数;
huigua(lineno):nd;!ndh表示h航线回程挂靠港口总数;
minbanci(lineno):q;!表示h航线上最小发船班次;
nmax(ship):n;!nmaxm表示m船最多可以使用数量;
endsets
init:
sitahm=0.8;
endinit
max=@sum(lineno(h):@sum(startport(i):@sum(arriveport(j):x(h,i,j)*f(h,i,j)))-@sum(ship(m):c(h,m)*y(h,m)));
@for(startport(i):@for(arriveport(j):@sum(lineno(h):x(h,i,j))<=v(i,j)));
@for(lineno(h):@sum(startport(i):@sum(arriveport(j):x(h,i,j)))<=@sum(ship(m):y(h,m)* sitahm*ca(m)));
@for(lineno(h):@sum(startport(i):@sum(arriveport(j):x(h,i,j)))<=@sum(ship(m):y(h,m)* sitahm*ca(m)));
@for(lineno(h):@sum(ship(m):y(h,m))>=q(h));
@for(ship(m):@sum(lineno(h):y(h,m)/b(h,m))<=n(m));
@for(voyageno(h,m):@gin(y(h,m)));
data:
enddata追问我数着数据个数没错啊''再者说就算错也不应该只最后一行有问题啊''怎么回事…追答正确的我已经写出来了 只需要你补完数据即可 你再有问题就真的是你的问题了 我已经什么都给你做了
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯