matlab使用CVX求解优化问题时,如果变量搜索空间过大,导致求解的数值解相当不准确,通过变量替换,缩小搜索空间
错误的做法
clear
clc
rand('seed',1);
%% 参数初始化
I = 5;
N = 5;
q = ones(1,I)/I;
theta = [11,13,15,18,21]/10;
T = 3;
D = 81920;
eta =10;
kappa = 10^(-28);
c4 = 1;
Nq = N.*q;
for i = 1:Iif i<Imid_para(i) = theta(i)*sum(Nq(1,i:end)) - theta(i+1)*sum(Nq(1,i+1:end));elsemid_para(i) = theta(i);endend
%% 求解
% 解析解
f_star = (mid_para*D*eta./(c4*2*D*eta*kappa)).^(1/3);
% 数值解
cvx_begin variable f(I)for i = 1:IU(i) = mid_para(i)*(T - D*eta*inv_pos(f(i)) - c4*D*eta*kappa*f(i)^2; endminimize( sum(-U) )subject tof>zeros(I,1)
cvx_end
因为优化变量fff的取值范围是[0,1010][0,10^{10}][0,1010],所以采用CVX工具箱进行求解时,导致结果极其不准确。
正确的做法
采用y=f∗109y=f*10^9y=f∗109,带入到原始优化问题,得到如下程序。这样的话,采用的CVX求解出来的数值解和解析解近似相等。
clear
clc
rand('seed',1);
%% 参数初始化
I = 5; % 终端类型个数
N = 5; % 终端数量
q = ones(1,I)/I;% 每个类型概率
theta = [11,13,15,18,21]/10;
T = 3;
D = 81920; % bit
eta =10; % cpu/bit
kappa = 10^(-28); % f=F*10^8 % effective capacitance coefficient of vehicular client's computing chipset
c4 = 1;
% theta = 1:(10-1)/(I-1):10;
%% 契约求解中间参数 b
Nq = N.*q;
for i = 1:Iif i<Imid_para(i) = theta(i)*sum(Nq(1,i:end)) - theta(i+1)*sum(Nq(1,i+1:end));elsemid_para(i) = theta(i);endend
%% 求解
% 解析解
f_star = (mid_para*D*eta./(c4*2*D*eta*kappa)).^(1/3);
% 数值解
cvx_begin variable f(I)for i = 1:IU(i) = mid_para(i)*(T - D*eta*inv_pos(y(i)*10^9)) - c4*D*eta*kappa*y(i)^2*(10^18); endminimize( sum(-U) )subject toy>zeros(I,1)
cvx_end
matlab使用CVX求解优化问题时,如果变量搜索空间过大,导致求解的数值解相当不准确,通过变量替换,缩小搜索空间相关推荐
- MATLAB中CVX工具箱解决凸优化问题的基本知识——语法、变量声明、目标函数、约束条件、cvx编程错误及解决方法
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.语法 二.变量声明 三.目标函数 四.约束条件 五.函数 六.cvx特有的数学运算表达式 七.常见错误 八.进阶阅 ...
- matlab采用粒子群优化算法求解含压缩储能设备的综合能源系统运行优化
matlab采用粒子群优化算法求解含压缩储能设备的综合能源系统运行优化. 结果包含储能设备24时出力,内燃机发电和发热出力,电制冷机出力等. 代码包含相关注释,方便对算法进行改进. 附相关参考文献. ...
- 【优化覆盖】基于matlab粒子群算法优化无人机编队布局求解车载网络通信覆盖优化问题【含Matlab源码 2021期】
一.无人机简介 无人机的航迹规划是指在综合考虑无人机飞行油耗.威胁.飞行区域以及自身物理条件限制等因素的前提下, 为飞行器在飞行区域内规划出从初始点到目标点最优或者满意的飞行航迹, 其本质是一个多约束 ...
- Matlab --- 求解Ax=b时的反斜杠“\“,backslash
一直很喜欢两个老爷爷,一个是MIT主讲线性代数的Gilbert Strang,另一个就是Matlab的首席数学科学家Cleve Moler.记得作者在几年前,下载了他个人主页上的两本书.一本叫< ...
- Matlab求解优化问题-Yalmip
1.前言 前述文章介绍fmincon函数用以求解非线性规划问题,但是fmincon面对非线性整数规划没有办法.对此,根据对网上资源的搜索,发现有一个工具箱可以解决这一个问题,那就是Yalmip. Ya ...
- matlab 压缩感知矩阵_【精读】基于MATLAB的钢筋下料优化算法
基于MATLAB的钢筋下料优化算法 摘要:运用MATLAB软件求解实际工程中一维钢筋下料优化的问题,提出了首先列举出单根原料分割的所有可行解,其次采用线性规划的方法求出理想条件下最优方案,最后通过整数 ...
- matlab自带的优化工具箱,MATLAB 自带优化工具箱(optimization Tool)之遗传算法简述...
MATLAB 自带优化工具箱(optimization Tool)之遗传算法简述 MATLAB 自带优化工具箱(optimization Tool)之遗传算法简述 MATLAB 自带优化工具箱(opt ...
- 物流matlab,物流配送线路优化Matlab算法研究
[摘 要]"最后一公里"的配送问题属于物流配送车辆路径优化问题.针对物流配送线路选取过程中所缺乏的可嵌入系统的简易优化算法的缺陷,提出了基于逐点调整法.双点交换法的综合算法.该方法 ...
- 线路优化模型算法matlab,物流配送线路优化Matlab算法研究
"最后一公里"的配送问题属于物流配送车辆路径优化问题.针对物流配送线路选取过程中所缺乏的可嵌入系统的简易优化算法的缺陷,提出了基于逐点调整法.双点交换法的综合算法.该方法通过对单个 ...
最新文章
- Spring Boot + Vue.js 实现前后端分离(附源码)
- OpenLayers加载搜狗地图
- 表格某一列不固定其余全固定_如何利用Python一键拆分表格并进行邮件发送~
- angular 使用rxjs 监听同级兄弟组件数据变化
- 城市遥感动态监测管理系统
- 中查出所有姓张的学生为啥查不出来_只有笔试成绩没有面试成绩是什么原因 教师资格面试成绩怎么查...
- 《天天数学》连载14:一月十四日
- ArcSDE数据库连接(直连、服务连)与GT_Geometry存储配置图解
- vue 兼容IE报错解决方案
- SQL学习精粹之内外连接以及where和on条件的区别
- UE4【C++】子弹伤害系统使用
- 分布式通用爬虫管理平台Crawlab
- JavaScript - OOP编程思想
- 【C++】【内存】系列三:内存优化
- RESTful API及其设计思想
- 微信小程序之weui的引用及使用说明
- 三星手机S8曝光 新机发布或推迟
- D. Masquerade strikes back(思维)
- arduino led灯通讯
- 千万不要照着镜子洗头发