楼主: jinjing305
1452 6

[问答] 请教lingo 程序求解 [推广有奖]

  • 1关注
  • 0粉丝

已卖:3份资源

本科生

61%

还不是VIP/贵宾

-

威望
0
论坛币
1961 个
通用积分
2.0001
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1882 点
帖子
89
精华
0
在线时间
116 小时
注册时间
2007-12-14
最后登录
2025-1-14

楼主
jinjing305 发表于 2012-7-11 14:48:04 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
我要求解以下的最小化问题: 未命名.jpg
限用lingo编程如下:
sets:
col/1..22/:p, q,d, k;
endsets
min=@sum(col:p*q);
@sum(col:k*q)>=2100;
@sum(col:d*q)>=80;
@for(col:q>0);
data:
p=2.4 2.8 2.4 4 4 9.8 8.62 2 2 2.5 6 6 17.5 42 50 9 23 9.86 8 14 4.5 5;
k=3510 3300 1060 990 3510 8990 8970 2320 230 220 700 5630 3950 1250 2030 5330 3690 1580 600 1930 4000 910;
d=17 6.5 8.5 6 35 0 0 30 1 0.8 0.5 24 20 20.1 17.3 22 15.5 11.6 3 13 0 0;
enddata
end
程序能够正常运行,但结果没有同时满足这三个限制条件。求高手指点,谢谢!

        


二维码

扫码加我 拉你入群

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

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

关键词:lingo ING Lin NGO Data 程序

沙发
sunorzeng 发表于 2012-7-11 15:08:01
额,这程序不会,等待楼下解答

藤椅
遥远的生命 发表于 2012-7-11 22:44:30
提示: 作者被禁止或删除 内容自动屏蔽

板凳
jinjing305 发表于 2012-7-17 19:58:21
遥远的生命 发表于 2012-7-11 22:44
为什么不用matlab的有约束的优化方法?
哦,以前没有用过,我试试看。谢谢你啊

报纸
dingd 发表于 2012-7-18 10:53:33
用1stOpt试试:
  1. Algorithm = LP;
  2. Parameter Q(22)=[0,];
  3. Constant
  4. p=[2.4 2.8 2.4 4 4 9.8 8.62 2 2 2.5 6 6 17.5 42 50 9 23 9.86 8 14 4.5 5],
  5. k=[3510 3300 1060 990 3510 8990 8970 2320 230 220 700 5630 3950 1250 2030 5330 3690 1580 600 1930 4000 910],
  6. d=[17 6.5 8.5 6 35 0 0 30 1 0.8 0.5 24 20 20.1 17.3 22 15.5 11.6 3 13 0 0];
  7. MinFunction Sum(i=1:22)(Q[i]*P[i]);
  8.             Sum(i=1:22)(Q[i]*k[i])>=2100;
  9.             Sum(i=1:22)(Q[i]*D[i])>=80;
复制代码
该线性规划的最小(Min)为:5.333333333

参数最优解为:
    q1: 0
    q2: 0
    q3: 0
    q4: 0
    q5: 0
    q6: 0
    q7: 0
    q8: 2.666666667
    q9: 0
    q10: 0
    q11: 0
    q12: 0
    q13: 0
    q14: 0
    q15: 0
    q16: 0
    q17: 0
    q18: 0
    q19: 0
    q20: 0
    q21: 0
    q22: 0

约束函数:
    1: (((q1*3510))+((q2*3300))+((q3*1060))+((q4*990))+((q5*3510))+((q6*8990))+((q7*8970))+((q8*2320))+((q9*230))+((q10*220))+((q11*700))+((q12*5630))+((q13*3950))+((q14*1250))+((q15*2030))+((q16*5330))+((q17*3690))+((q18*1580))+((q19*600))+((q20*1930))+((q21*4000))+((q22*910)))-(2100) = 4086.666667
    2: (((q1*17))+((q2*6.5))+((q3*8.5))+((q4*6))+((q5*35))+((q6*0))+((q7*0))+((q8*30))+((q9*1))+((q10*0.8))+((q11*0.5))+((q12*24))+((q13*20))+((q14*20.1))+((q15*17.3))+((q16*22))+((q17*15.5))+((q18*11.6))+((q19*3))+((q20*13))+((q21*0))+((q22*0)))-(80) = 1.421085472E-014
    3: q1-(0) = 0
    4: q2-(0) = 0
    5: q3-(0) = 0
    6: q4-(0) = 0
    7: q5-(0) = 0
    8: q6-(0) = 0
    9: q7-(0) = 0
    10: q8-(0) = 2.666666667
    11: q9-(0) = 0
    12: q10-(0) = 0
    13: q11-(0) = 0
    14: q12-(0) = 0
    15: q13-(0) = 0
    16: q14-(0) = 0
    17: q15-(0) = 0
    18: q16-(0) = 0
    19: q17-(0) = 0
    20: q18-(0) = 0
    21: q19-(0) = 0
    22: q20-(0) = 0
    23: q21-(0) = 0
    24: q22-(0) = 0

地板
jinjing305 发表于 2012-8-20 10:41:07
dingd 发表于 2012-7-18 10:53
用1stOpt试试:该线性规划的最小(Min)为:5.333333333

参数最优解为:
首先,谢谢您的回复,其实用lingo的答案和你的答案几乎是一致,我的问题是在这里,djiu考虑的是人的食品需求,食品需求就不能只消费一种单一的食品,其它的食品不能为零,即d不能除一项外全为零,请问应该如何限制?感谢您对此贴的关注,希望能再次得到您的回复,

7
jinjing305 发表于 2012-8-20 11:48:54
遥远的生命 发表于 2012-7-11 22:44
为什么不用matlab的有约束的优化方法?
你好,我今天查了下malab的方法,fmincon这个函数怎么约束条件都是小于零的
是不是我的约束条件有问题

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-30 12:04