(抱歉格式化,我会尽我所能)我想解决:
(chararray)
其中x = argmin_x (Ax - p)'(Ax - p)
s.t. x >= b
是A
逻辑矩阵(大约一半零,一半),NxH
是b
常量向量,其中每个条目都相同(例如, Hx1
。b = (0.1,0.1,0.1,...)
是概率的常量p
向量,因此所有条目都在Nx1
。最佳[0,1]
也是一个分布,所以它的全部条目应位于x
。请注意,实际上[0,1]
非常大,例如H
和2 million
相对较小,例如N
。
我目前正在使用CVX来解决这个问题。显然,我的代码是:
150
这会产生正确的结果。但是,当b= 0.1.*ones(H,1)/H;
cvx_begin quiet
variable x(H)
minimize( norm((A*x-p),2))
subject to
x >= b;
cvx_end
很大时,它相当慢。鉴于我的优化程序的结构(逻辑A,常量约束,具有解析解的问题,如果没有约束,等等),有没有更好的方法来解决这个问题?这里推荐CVX吗?
感谢您的帮助。