LINGO求助啊~~!!
model:sets:
product /1..7/:value;
need /1..14/:demand;
link(product,need):cost,number;
endsets
data:
value=160 155 155 160 155 150 160;
cost= 85.3 85.2 140 38 20.5 3.1 21.2 64.2 92 96 96 116.2 123 132
135.3 135.2 185 111 95.5 86 71.2 114.2 142 146 146 166.2 173 182
145.3 145.2 200 121 105.5 96 86.2 48.2 82 86 86 106.2 108 122
180.3 180.2 230 156 140.5 131 116.2 84.2 62 51 51 71.2 73 87
175.3 120.2 225 141 125.5 116 106.2 74.2 51 33 78 61.2 63 77
175.3 170.2 225 146 130.5 121 111.2 79.2 57 45 45 26.2 11 28
190.3 185.2 240 151 135.5 136 126.5 94.2 67 61 45 38.2 26 2;
demand=500 920 1130 1350 1650 2130 2810 3011 3216 3410 4016 4766 5067 5171;
enddata
!目标函数:求(value(i)*((i)行的和))的和+cost*number的最小值;
min=@sum(link(i,j):cost(i,j)*number(i,j))+@sum(product(i):value(i)*@sum(need(j):number(i,j)));
!number中各行和的要求;
@for(product(i)|i#eq#1:@sum(need(j):number(i,j))>=500;@sum(need(j):number(i,j))<=800);
@for(product(i)|i#eq#2:@sum(need(j):number(i,j))>=500;@sum(need(j):number(i,j))<=800);
@for(product(i)|i#eq#3:@sum(need(j):number(i,j))>=500;@sum(need(j):number(i,j))<=1000);
@for(product(i)|i#eq#4:@sum(need(j):number(i,j))>=500;@sum(need(j):number(i,j))<=2000);
@for(product(i)|i#eq#5:@sum(need(j):number(i,j))>=500;@sum(need(j):number(i,j))<=2000);
@for(product(i)|i#eq#6:@sum(need(j):number(i,j))>=500;@sum(need(j):number(i,j))<=2000);
@for(product(i)|i#eq#7:@sum(need(j):number(i,j))>=500;@sum(need(j):number(i,j))<=3000);
!number中各列和的要求;
@for(need(j)|j#eq#14:@sum(product(i):number(i,j))>=0; @sum(product(i):number(i,j))<=500);
@for(need(j)|j#ge#13 #and# j#le#14:@sum(product(i):number(i,j))>=500; @sum(product(i):number(i,j))<=920);
@for(need(j)|j#ge#12 #and# j#le#14:@sum(product(i):number(i,j))>=920; @sum(product(i):number(i,j))<=1130);
@for(need(j)|j#ge#11 #and# j#le#14:@sum(product(i):number(i,j))>=1130; @sum(product(i):number(i,j))<=1350);
@for(need(j)|j#ge#10 #and# j#le#14:@sum(product(i):number(i,j))>=1350; @sum(product(i):number(i,j))<=1650);
@for(need(j)|j#ge#9 #and# j#le#14:@sum(product(i):number(i,j))>=1650; @sum(product(i):number(i,j))<=2130);
@for(need(j)|j#ge#8 #and# j#le#14:@sum(product(i):number(i,j))>=2130; @sum(product(i):number(i,j))<=2810);
@for(need(j)|j#ge#7 #and# j#le#14:@sum(product(i):number(i,j))>=2810; @sum(product(i):number(i,j))<=3011);
@for(need(j)|j#ge#6 #and# j#le#14:@sum(product(i):number(i,j))>=3011; @sum(product(i):number(i,j))<=3216);
@for(need(j)|j#ge#5 #and# j#le#14:@sum(product(i):number(i,j))>=3216; @sum(product(i):number(i,j))<=3410);
@for(need(j)|j#ge#4 #and# j#le#14:@sum(product(i):number(i,j))>=3410; @sum(product(i):number(i,j))<=4016);
@for(need(j)|j#ge#3 #and# j#le#14:@sum(product(i):number(i,j))>=4016; @sum(product(i):number(i,j))<=4766);
@for(need(j)|j#ge#2 #and# j#le#14:@sum(product(i):number(i,j))>=4766; @sum(product(i):number(i,j))<=5067);
@for(need(j)|j#ge#1 #and# j#le#14:@sum(product(i):number(i,j))>=5067; @sum(product(i):number(i,j))<=5171);
!number中所有元素和的要求;
@for(need(j):@sum(product(i):number(i,j))=5171);
!求整数线性规划;
@for(link (i,j): @gin(number (i,j)));程序结果是找不到可行解,是编程出错了吧~~~求高人指教,高人啊高人 要求计算number中的第一行行和大于500小于800 你自己写的吗?那你也可以做高人了啊。。
页:
[1]