bainhome大侠:请求帮助 ,急!
在其他论坛得知bainhome 大名,得知您对matlab实现非线性规划问题比较精通由于本人呢才疏学浅,而且对此类问题之前没有概念,所以向您求助,如果能赐教,本人不胜感激!
下面是我遇到的规划问题:
http://home.simwe.com/attachment/200902/27/386658_1235702617L8H0.jpg
矩阵H是已知的,求向量W。
我曾在一篇文献的附录中,找到了关于此问题的MATLAB实现程序(如下图所示),但这个程序应该也没有完全给出,所以我还是实现不了(惭愧,关键是不懂啊)。求您帮忙了!
http://home.simwe.com/attachment/200902/27/386658_1235703546kMmo.jpghttp://home.simwe.com/attachment/200902/27/386658_12357036880rro.jpg 没有数据,不晓得要说什么.
举个例子:syms a1 a2 a3 a4 a5
?H=round(10*rand(5))
H =
10 8 6 4 1
2 5 8 9 4
6 0 9 9 8
5 8 7 4 0
9 4 2 9 1
*H*.'
ans =
(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或者什么其他函数解一下不就得了?
另外,我对非线性规划谈不上精通,差得很远,请不要这么说.
最后,非常不赞成提问指名,论坛毕竟不是一对一辅导的地方,也使得你的问题失去了其他人参与讨论的兴趣. 谢谢,你解释的正是我需要的,只不过我的是一个13阶的方阵,但还是不太明白fmincon和约束条件的用法 论坛里搜索一下,help留意一下,关于fmincon的用法都有很全面详细的介绍. 嗯,谢谢,现已经弄明白fmincon的用法了。
我还有一个问题是,在M文件定义目标函数和约束条件函数时可不可以不把矩阵展开,直接以矩阵的形式输入变量和数据,因为我的矩阵阶数大,展开好像比较麻烦。(不知道我是否说清楚了) 非线性约束和目标函数好像不行,变量和线性约束可以. 我刚才拿我自己数据算了一次(结果如下),我想知道Warning里说的是我采用的方式不对吗?还是什么别的意思?
>> =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 查看optimset命令,将largescale 选项改为off.选择fmincon命令格式中带option的调用方式运行.
此类基础问题请先搜索论坛然后再发问,否则会造成大量重复. 哈哈,还可以这样发帖子啊,见识了。
Hi,bainhome。
页:
[1]