楼主: geniusest
1740 4

[问答] 一个LINGO小小程序的问题 [推广有奖]

  • 1关注
  • 0粉丝

已卖:12份资源

初中生

33%

还不是VIP/贵宾

-

威望
0
论坛币
62 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
216 点
帖子
13
精华
0
在线时间
9 小时
注册时间
2011-8-17
最后登录
2019-9-28

楼主
geniusest 发表于 2011-8-21 13:10:08 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
sets:
bianliang/1..12/:x,y;
endsets
max=@sum(bianliang(i):x(i)*y(i));
@for(bianliang(i):@gin(x(i)/5));
@for(bianliang(i):x(i)>=20);
@for(bianliang(i):y(i)>=26);
@for(bianliang(i):x(i)>x(i+1);
x(1)<650
@sum(bianliang(i):y(i))<650;
@for(bianliang(i):((x(i)/2)^2+(0.5*@sum(biangliang(i):y(i))^2))<=(650/2)^2);
各位高手帮看看,这里有什么错误,解答的时候提示说最后两行有语法错误
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:lingo ING Lin NGO 小程序 程序

沙发
安全出口 发表于 2011-8-21 14:30:52
倒数第三行加分号;最后行@sum,集合名错,括号位置有问题;另外貌似y的限制不够
pure obsessiveness nett a breakthrough

藤椅
geniusest 发表于 2011-8-21 14:58:08
安全出口 发表于 2011-8-21 14:30
倒数第三行加分号;最后行@sum,集合名错,括号位置有问题;另外貌似y的限制不够
又连续发现了许多错误,更郁闷的是那个@GIN,那种表达是不是不能限制其为5的倍数?每次出来的都是一堆小数

板凳
qlb061 发表于 2011-11-12 23:39:21
sets:
bianliang/1..12/:x,y;
endsets
max=@sum(bianliang(i):x(i)*y(i));
@for(bianliang(i):(x(i)/5)<=.00001);
@for(bianliang(i):x(i)>=20);
@for(bianliang(i):y(i)>=26);
@for(bianliang(i)|i#le#@size(bianliang)-1:x(i)>x(i+1));
x(1)<650;
@sum(bianliang(i):y(i))<650;
@for(bianliang(i):((x(i)/2)^2+(0.5*@sum(bianliang(i):y(i))^2))<=(650/2)^2);
不过没有可行解!
已有 1 人评分热心指数 收起 理由
liuxin9023 + 1 分析的有道理

总评分: 热心指数 + 1   查看全部评分

天道酬勤!

报纸
wujianjack2 发表于 2013-8-20 15:35:50
qlb061 发表于 2011-11-12 23:39
sets:
bianliang/1..12/:x,y;
endsets
   qlb061,你好!我在另一个论坛上也看到了你,很佩服你在LINGO上的造诣!   我也尝试简单修改了下楼主的程序:

MODEL:
SETS:
VAR/1..12/:X,Y,DX;
ENDSETS
MAX=@SUM(VAR(I):X(I)*Y(I));
@FOR(VAR(I):X(I)=5*DX(I));
@FOR(VAR(I):@GIN(DX(I)));
@FOR(VAR(I):X(I)>=20);
@FOR(VAR(I):Y(I)>26);
@FOR(VAR(I)|I#GE#2:X(I-1)>X(I));
@SUM(VAR(I):Y(I))<650;
@FOR(VAR(I):((X(I)/2)^2+(0.5*@SUM(VAR(I):Y(I))^2))<=(650/2)^2);
X(1)<650;
END


在LINGO 11上运行得到如下结果,摘录其中一部分:
  Global optimal solution found.
  Objective value:                              419250.0
  Objective bound:                            419250.0
  Infeasibilities:                                    0.000000
  Extended solver steps:                           1
  Total solver iterations:                           955

   Variable           Value        Reduced Cost
     X( 1)        645.0000            0.000000
     X( 2)        645.0000            0.000000
     X( 3)        645.0000            0.000000
     X( 4)        645.0000            0.000000
     X( 5)        645.0000            0.000000
     X( 6)        645.0000            0.000000
     X( 7)        645.0000            0.000000
     X( 8)        645.0000            0.000000
     X( 9)        645.0000            0.000000
   X( 10)        645.0000            0.000000
   X( 11)        645.0000            0.000000
   X( 12)        645.0000            0.000000
     Y( 1)        56.89847            0.000000
     Y( 2)        49.45565            0.000000
     Y( 3)        56.89893            0.000000
     Y( 4)        56.89900            0.000000
     Y( 5)        56.89871            0.000000
     Y( 6)        51.77753            0.000000
     Y( 7)        51.78358            0.000000
     Y( 8)        56.74557            0.000000
     Y( 9)        56.89901            0.000000
   Y( 10)        56.89827            0.000000
   Y( 11)        56.89786            0.000000
   Y( 12)        41.94742            0.000000


  一点存疑是“@FOR(VAR(I)|I#GE#2:X(I-1)>X(I));”,因为LINGO似乎对>和>=不加以区别,所以结果中X的结果全部相同。这是我的一些个人见解,希望你有时间也能看看,并提出疑问,班门弄斧,莫怪。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-5 07:16