信道分配的建模建成了个积的问题,反正不是线性的.xb告诉我可以取个log,然后用凸优化来解.
老老实实啃了20多天的凸优化,斯坦福的课程,还提供了matlab的插件工具cvx,可以直接描述凸问题.不用像matlab必须要用标准形式.
我一直以为我的问题正好就是一个geometric problem,正好可取log划成凸形式。
结果从上周五开始编cvx的代码,老是出错,总结一下是以下几个问题:
1)必须划成fi(x)<=0的形式,也就是说<=的右边不能是积之和,左边可以是。
我的问题是 求和>=K或 积之和>=1
2) fi(x)之间的和必须是+,不能是-,而且积的系数必须大于0
在没有认识第二个事实之前,我就开始想把我的>=化成<=
结果把fi(x)变成了-之和,肯定不行
然后再把x变成z=-x,还加上z<=0的约束,发现约束不起作用。研究来研究去
因为gp化成凸形式时,会取y=logx,所以默认x必须大于等于0。
这样的结果就是我的问题不满足GP的条件,不是一个GP问题。
本来还以为为他找到了组织,结果我看到形式类似了得意忘形了。。。忽略了很多细节,比如<=,比如C>0
那我的问题又要何去何从呢。。。
下回分解
可以看看多流的问题是不是GP!!哎~~~~~
阅读(387) | 评论(0) | 转发(0) |