找回密码
 注册
Simdroid-非首页
查看: 158|回复: 8

bainhome大侠:请求帮助 ,急!

[复制链接]
发表于 2009-2-27 11:09:04 | 显示全部楼层 |阅读模式 来自 黑龙江哈尔滨
在其他论坛得知bainhome 大名,得知您对matlab实现非线性规划问题比较精通
由于本人呢才疏学浅,而且对此类问题之前没有概念,所以向您求助,如果能赐教,本人不胜感激!

下面是我遇到的规划问题:

矩阵H是已知的,求向量W。
我曾在一篇文献的附录中,找到了关于此问题的MATLAB实现程序(如下图所示),但这个程序应该也没有完全给出,所以我还是实现不了(惭愧,关键是不懂啊)。求您帮忙了!

发表于 2009-2-27 11:33:44 | 显示全部楼层 来自 新疆乌鲁木齐
Simdroid开发平台
没有数据,不晓得要说什么.
举个例子:
  1. syms a1 a2 a3 a4 a5
  2. ?H=round(10*rand(5))
  3. H =
  4.     10     8     6     4     1
  5.      2     5     8     9     4
  6.      6     0     9     9     8
  7.      5     8     7     4     0
  8.      9     4     2     9     1
  9. [a1 a2 a3 a4 a5]*H*[a1 a2 a3 a4 a5].'
  10. ans =
  11. (10*a1+2*a2+6*a3+5*a4+9*a5)*a1+(8*a1+5*a2+8*a4+4*a5)*a2+(6*a1+8*a2+9*a3+7*a4+2*a5)*a3+(4*a1+9*a2+9*a3+4*a4+9*a5)*a4+(a1+4*a2+8*a3+a5)*a5
复制代码
将最后一项作为目标函数用fmincon或者什么其他函数解一下不就得了?
另外,我对非线性规划谈不上精通,差得很远,请不要这么说.
最后,非常不赞成提问指名,论坛毕竟不是一对一辅导的地方,也使得你的问题失去了其他人参与讨论的兴趣.
回复 不支持

使用道具 举报

 楼主| 发表于 2009-2-27 16:19:52 | 显示全部楼层 来自 黑龙江哈尔滨
谢谢,你解释的正是我需要的,只不过我的是一个13阶的方阵,但还是不太明白fmincon和约束条件的用法
回复 不支持

使用道具 举报

发表于 2009-2-27 17:33:18 | 显示全部楼层 来自 新疆乌鲁木齐
论坛里搜索一下,help留意一下,关于fmincon的用法都有很全面详细的介绍.
回复 不支持

使用道具 举报

 楼主| 发表于 2009-2-27 18:39:30 | 显示全部楼层 来自 黑龙江哈尔滨
嗯,谢谢,现已经弄明白fmincon的用法了。
我还有一个问题是,在M文件定义目标函数和约束条件函数时可不可以不把矩阵展开,直接以矩阵的形式输入变量和数据,因为我的矩阵阶数大,展开好像比较麻烦。(不知道我是否说清楚了)
回复 不支持

使用道具 举报

发表于 2009-2-27 19:24:47 | 显示全部楼层 来自 新疆乌鲁木齐
非线性约束和目标函数好像不行,变量和线性约束可以.
回复 不支持

使用道具 举报

 楼主| 发表于 2009-2-27 19:41:16 | 显示全部楼层 来自 黑龙江哈尔滨
我刚才拿我自己数据算了一次(结果如下),我想知道Warning里说的是我采用的方式不对吗?还是什么别的意思?
>> [x,fval]=fmincon('myfun3_5',x0,[],[],[],[],lb,[],'mycon3_3')
Warning: Large-scale (trust region) method does not currently solve this type of problem,
using medium-scale (line search) instead.
> In fmincon at 303
Optimization terminated: magnitude of directional derivative in search
direction less than 2*options.TolFun and maximum constraint violation
  is less than options.TolCon.
Active inequalities (to within options.TolCon = 1e-006):
  lower      upper     ineqlin   ineqnonlin
    2                                 
    6                                 
    7                                 
    8                                 
    9                                 

x =

    0.6200   -0.0000    0.5727    0.0928    0.2182    0.0000   -0.0000   -0.0000    0.0000    0.4810


fval =

   -7.6989
回复 不支持

使用道具 举报

发表于 2009-2-27 21:23:49 | 显示全部楼层 来自 新疆乌鲁木齐
查看optimset命令,将largescale 选项改为off.选择fmincon命令格式中带option的调用方式运行.
此类基础问题请先搜索论坛然后再发问,否则会造成大量重复.
回复 不支持

使用道具 举报

发表于 2009-2-28 15:15:20 | 显示全部楼层 来自 北京
哈哈,还可以这样发帖子啊,见识了。
Hi,bainhome。
回复 不支持

使用道具 举报

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

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-10-7 11:34 , Processed in 0.061711 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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