声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1389|回复: 5

[编程技巧] 求助:解非线性规划

[复制链接]
发表于 2007-4-12 00:30 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
各位前辈,小弟遇一非线性规划难题,不知道有没有解,这关系到我的论文阿,肯定各位能伸出援助之手!小弟感激不尽!

目标函数  
           max  y=-3106.545+17.063X1+352.300X7-26.058X8-74.626X9

约束函数   X2=27.060-0.258X1+0.748X7+1.394X8
              LnX3=0.551+0.742LnX1+0.328LnX7-0.096Lny
              X4=22.031-0.048X1+0.233X7+0.094X8
              LnX5=-1.278+0.526LnX1+0.252Lny
             X6=-16.678+0.282X1+0.525X8-0.131X9
             X1+X2+X3+X4+X5+X6+X7+X8+X9=1254.4
             188.16<X3<196.8
              X8> 100.352
              X6< 188.16
              X1、X2、X3、X4、X5、X6、X7、X8、X9均大于零
回复
分享到:

使用道具 举报

发表于 2007-4-12 10:52 | 显示全部楼层
这方面介绍很多的啊,例如http://mti.xidian.edu.cn/shumo/shumo2004_1/09.pdf的14,15,16页。
 楼主| 发表于 2007-4-12 12:58 | 显示全部楼层
谢谢关注!
发表于 2007-4-12 19:48 | 显示全部楼层
这类非线性优化问题还是1stOpt最方便:

1stOpt代码:

Parameter x(1:2)=[0,],X3=[188.16,196.8],x(4:5)=[0,],
          x6=[0,188.16],x7=[0,],x8=[100.352,],x9=[0,];
ConstStr y = -3106.545+17.063*X1+352.300*X7-26.058*X8-74.626*X9;
MaxFunction y;
             X2=27.060-0.258*X1+0.748*X7+1.394*X8;
             Ln(X3)=0.551+0.742*Ln(X1)+0.328*Ln(X7)-0.096*Ln(max(0.001,y));
             X4=22.031-0.048*X1+0.233*X7+0.094*X8;
             Ln(X5)=-1.278+0.526*Ln(X1)+0.252*Ln(max(0.001,y));
             X6=-16.678+0.282*X1+0.525*X8-0.131*X9;
             X1+X2+X3+X4+X5+X6+X7+X8+X9=1254.4;

结果(爬山法或差分):
目标函数值(最大): 76033.5982217391
x1: 217.577885334593
x2: 276.514863997696
x3: 188.16
x4: 72.6352291917202
x5: 80.273169022847
x6: 97.3637636643695
x7: 221.523088788747
x8: 100.352000000027
x9: 2.31789500280682E-13

约束函数
   1: x2-(27.060-0.258*x1+0.748*x7+1.394*x8) = 0
   2: ln(x3)-(0.551+0.742*ln(x1)+0.328*ln(x7)-0.096*ln(max(0.001,(-3106.545+17.063*x1+352.300*x7-26.058*x8
      -74.626*x9)))) = 0
   3: x4-(22.031-0.048*x1+0.233*x7+0.094*x8) = 0
   4: ln(x5)-(-1.278+0.526*ln(x1)+0.252*ln(max(0.001,(-3106.545+17.063*x1+352.300*x7-26.058*x8-74.626*x9)))) =
      0
   5: x6-(-16.678+0.282*x1+0.525*x8-0.131*x9) = 0
   6: x1+x2+x3+x4+x5+x6+x7+x8+x9-(1254.4) = 0
 楼主| 发表于 2007-4-12 20:58 | 显示全部楼层
楼上的,太感激你了,以后还请不吝赐教,你在哪个地方呢?有机会交个朋友!
发表于 2007-5-23 15:14 | 显示全部楼层
不错不错,辛苦了

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-9-24 11:24 , Processed in 0.058563 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表