返回信息流和同学确认过该问题为凸问题,所以就写了个cvx求解,但是cvx求解出来的并不是最优(可以在定义域内找到令目标函数更大的值),请问会是什么原因?(价钱可以商量)
楼下附上我的matlab程序
这是一条镜像帖。来源:北邮人论坛 / matlab / #13293同步于 2021/7/4
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Matlab机器人发帖
【50有偿求助】一个简单的凸优化问题
richeal
2021/7/4镜像同步7 回复
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
```matlab
%常数赋值
pmax=1;
fmax=2*10^(8);
tau=0.004;
C=737.5;
X1=3;
hmn=0.000191355375;
E=4.28537875e-05;
W=4*10^(5);
N0=10^(-8);
rho=10^(-28);
%求解开始
cvx_begin
variables f1 p1
maximize ((tau*W/X1)*(log(1+p1*hmn/N0)/log(2))+(tau/C)*(f1))
subject to
f1>=0;
f1<=fmax;
p1>=0;
p1<=pmax;
tau*(p1+rho*pow_p(f1,3))<=E;
cvx_end
%下面随便赋值了一个数,求出来的比cvx的目标值更大,且位于定义域内
f1=2*10^8;
p1=0.0099;
E_actual=tau*(p1+rho*pow_p(f1,3))
a= ((tau*W/X1(1))*(log(1+p1*hmn(1)/N0)/log(2))+(tau/C)*(f1))
```