lingo优化程序求正解,各位大虾帮帮忙吧~谢谢啦~
本帖最后由 libra13 于 2011-8-23 18:39 编辑小弟的程序如下:
!求教室最省用电量;
model:
sets:
!select为0-1变量,1代表选择该教室,num为各个教室的学生数,seats为各个教室的座位数,lights为各个教室的电灯数,power为每个电灯每小时的用电量;
class/1..45/:select,num,seats,lights,power;
endsets
data:
seats=64 88 193 193 128 120 120 120 110 120 64 247 190 210 70 85 192 195 128 120 120 120 110 160 70 256 190 210 190 205 110 160 70 256 190 210 190 190 210 200 150 150 180 70 120;
power=40 40 50 48 45 45 48 45 40 45 40 45 48 50 40 40 50 48 45 45 48 45 40 45 40 45 48 50 48 50 40 45 40 45 48 50 48 48 50 48 50 48 48 50 48;
lights=42 42 48 50 36 36 36 36 36 36 27 75 48 50 42 42 48 50 36 36 36 36 36 36 27 75 48 50 48 50 36 36 27 75 48 50 48 48 50 48 50 48 48 25 45;
enddata
!开放的教室,电灯每天工作3小时;
min=@sum(class(i):3*power(i)*lights(i)*select(i));
!每个教室有80%-90%的座位是满的;
@for(class(i):
num(i)=select(i)*num(i);
select(i)*(num(i)-0.9*seats(i))<=0;
select(i)*(0.8*seats(i)-num(i))<=0;
);
!教室内的学生数要大于8000*0.95*0.75;
@sum(class(i):num(i))>=0.95*0.7*8000;
@for(class(i):@bin(select(i)));
end
总是报无解,很郁闷啊!
原题给出如附件,我的程序是解决第一小问的。
你用的是哪个版本的? 筱筱无泪 发表于 2011-8-24 08:44 static/image/common/back.gif
你用的是哪个版本的?
我用的是lingo11.0额~ libra13 发表于 2011-8-24 09:22 static/image/common/back.gif
我用的是lingo11.0额~
我用lingo11.0也出现这个问题,程序是对的,答案也出不来,你试试lingo8.0的吧,首先说一下哦,我是新手,来这也是来学习的 筱筱无泪 发表于 2011-8-24 09:52 static/image/common/back.gif
我用lingo11.0也出现这个问题,程序是对的,答案也出不来,你试试lingo8.0的吧,首先说一下哦,我是新手, ...
不过我的程序问题好像不是这个,有人说是因为变量设得太多,而题目中能提炼出来的约束条件有限,lingo找不到可行解哦。 本帖最后由 anyifree 于 2011-8-24 13:07 编辑
@for(class(i):@bin(slect(i)));
有可能是版本问题。
页:
[1]