数学建模社区-数学中国

标题: lingo优化程序求正解,各位大虾帮帮忙吧~谢谢啦~ [打印本页]

作者: libra13    时间: 2011-8-23 18:39
标题: 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


总是报无解,很郁闷啊!
原题给出如附件,我的程序是解决第一小问的。 自习教室开放的优化管理.doc (74.5 KB, 下载次数: 0)

作者: 筱筱无泪    时间: 2011-8-24 08:44
你用的是哪个版本的?
作者: libra13    时间: 2011-8-24 09:22
筱筱无泪 发表于 2011-8-24 08:44
你用的是哪个版本的?

我用的是lingo11.0额~
作者: 筱筱无泪    时间: 2011-8-24 09:52
libra13 发表于 2011-8-24 09:22
我用的是lingo11.0额~

我用lingo11.0也出现这个问题,程序是对的,答案也出不来,你试试lingo8.0的吧,首先说一下哦,我是新手,来这也是来学习的
作者: libra13    时间: 2011-8-24 10:04
筱筱无泪 发表于 2011-8-24 09:52
我用lingo11.0也出现这个问题,程序是对的,答案也出不来,你试试lingo8.0的吧,首先说一下哦,我是新手, ...

不过我的程序问题好像不是这个,有人说是因为变量设得太多,而题目中能提炼出来的约束条件有限,lingo找不到可行解哦。
作者: anyifree    时间: 2011-8-24 13:07
本帖最后由 anyifree 于 2011-8-24 13:07 编辑

@for(class(i)bin(slect(i)));
有可能是版本问题。




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5