babyface 发表于 2009-2-27 11:09:04

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

bainhome 发表于 2009-2-27 11:33:44

没有数据,不晓得要说什么.
举个例子: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或者什么其他函数解一下不就得了?
另外,我对非线性规划谈不上精通,差得很远,请不要这么说.
最后,非常不赞成提问指名,论坛毕竟不是一对一辅导的地方,也使得你的问题失去了其他人参与讨论的兴趣.

babyface 发表于 2009-2-27 16:19:52

谢谢,你解释的正是我需要的,只不过我的是一个13阶的方阵,但还是不太明白fmincon和约束条件的用法

bainhome 发表于 2009-2-27 17:33:18

论坛里搜索一下,help留意一下,关于fmincon的用法都有很全面详细的介绍.

babyface 发表于 2009-2-27 18:39:30

嗯,谢谢,现已经弄明白fmincon的用法了。
我还有一个问题是,在M文件定义目标函数和约束条件函数时可不可以不把矩阵展开,直接以矩阵的形式输入变量和数据,因为我的矩阵阶数大,展开好像比较麻烦。(不知道我是否说清楚了)

bainhome 发表于 2009-2-27 19:24:47

非线性约束和目标函数好像不行,变量和线性约束可以.

babyface 发表于 2009-2-27 19:41:16

我刚才拿我自己数据算了一次(结果如下),我想知道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

bainhome 发表于 2009-2-27 21:23:49

查看optimset命令,将largescale 选项改为off.选择fmincon命令格式中带option的调用方式运行.
此类基础问题请先搜索论坛然后再发问,否则会造成大量重复.

waynebuaa 发表于 2009-2-28 15:15:20

哈哈,还可以这样发帖子啊,见识了。
Hi,bainhome。
页: [1]
查看完整版本: bainhome大侠:请求帮助 ,急!