【鲁棒优化】基于联合聚类和定价的鲁棒功率控制方法(Matlab代码实现)

news2024/10/1 7:39:47

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

文献来源:

 智能和绿色城市对车载网络的频谱效率(SE)和能源效率(EE)提出了严格的要求。对于当前的车载自组织网络(VANET),车辆的移动性导致快速的拓扑结构变化和高度的信道不确定性。然而,独立研究了用于建立稳定簇的聚类方案和对抗信道波动的鲁棒功率控制(RPC)。本文提出了联合聚类和RPC方案来优化所涉及的VANET的SE和EE。通过相同的固定长度时隙,形成集群头(CH)的同步干扰约束,并为RPC提供条件。由于信道的随机波动,所有通道的同步干扰约束都表述为概率约束。此外,引入了一种基于定价的实用程序,避免了SE和EE之间的单独优化,并且涉及价格对它们之间权衡的影响。由于概率约束是棘手的,并且统一效用是非凸的,因此使用伯恩斯坦近似和逐次凸逼近(SCA)将问题转换为可处理的凸问题。通过对偶分解,提出两种RPC算法来确定固定价格的最优解C,以及最优价格C∗分别。通过数值仿真对高动态系统的算法性能进行了评价,结果表明所提算法是有效的。通过对比进一步验证了聚类方法与所提RPC方案的有效性。

最近,由于车辆通信在提高自动驾驶性能、用户体验和交通效率方面的潜力,引起了极大的关注[1]-[3]。在车载自组织网络(VANET)中,车辆移动性引起的频繁而广泛的拓扑变化需要大量的状态信息交换。此外,希望车辆的数据速率更高,以避免信息丢失并确保交通安全。因此,有必要最大化整个车辆网络的总和率。鉴于频谱资源有限,在车辆通信系统的设计中本能地追求频谱效率(SE)最大化。为了创建智能绿色城市,还需要注重能源效率(EE)最大化和提高出行效率的绿色车辆网络[4],[5]。因此,EE是系统设计中需要考虑的另一个性能指标。

车载通信有两种主流解决方案,即基于802.11p标准的临时通信和基于后端的通信长期演进(LTE)蜂窝网络[6],[7]。虽然新鲜的LTE蜂窝网络具有ad-hoc所不具备的这些优势(如覆盖范围广、鲁棒性强),但也存在一些明显的缺陷(如高时延、网络安全防御弱等),成熟的VANET可以完美弥补[8]、[9]。因此,协同通信是车载网络中较好的解决方案。特别是由于车对车(V2V)链路比车对基础设施(V2I)链路具有更复杂的移动环境,本文详细研究了基于VANET的V2V链路。

作为VANET的关键特征,高移动性导致频繁的拓扑变化,不稳定的通信。事实上,集群有助于稳定和可扩展的网络结构和通信[10];鲁棒功率控制(RPC)方案可以在移动信道波动下实现更稳定的性能输出(SE、EE和链路实时中断)[11]。基于这些证据,联合聚类和RPC方案至关重要。

📚2 运行结果

 

 

 

 

部分代码:

fc=5.9*1e+9;%Carrier frequency
j1=2*pi*fc*T/c*v;%The parameter of zero-order Bessel function
epsi=besselj(0,j1);%Calculate the value of Bessel function
a=(epsi.^2).*h;% CSI feedback part in the fast fading model
d=distance(5);%Relative distance matrix
Shadow=[2.16,0.1,0.1,1.28,1.76;0.1,2.16,0.2,1,2.;1,0.2,2.1,0.1,0.1;1.28,0.1,0.1,2.2,0.21;5.48,2.01,1.06,0.21,2.16];%
%Shadow fading matrix拢禄 The value of element is set as 0.1-10.
%The parameter selection principle is to keep the large-scale fading portion 
%of the interference channel gain as consistent as possible, 
%so that it is easy to make balanced interference management 
%at the same interference threshold.
  theta=3;%Pathloss index
  l=Shadow.*d.^(-theta);%Large scale fading matrix
  G1=l.*a;
  G2=l.*(1-epsi.^2);%Average error channel gain matrix 
  G=G1+G2;
  MU=0.5;%The value of Mu in Bernstein approximation
  SIGMA=0.5;%The value of SIGMA in Bernstein approximation
  alfaj=l.*(1-epsi.^2);%The matrix of alfa
  betaj=l.*(1-epsi.^2);%The matrix of beta
 X=G1+MU*alfaj+betaj;%%The matrix of xi 
      E=0.1;          % Outage probability threshold;
  I=X+SIGMA*sqrt(-2*log(E))*alfaj; 
% --Constructing the interference coefficient matrix of Bernstein approximation--% 
    for i=1:5
      I(i,i)=0;
    end
    
global N
N =25;
arfa=zeros(N,5);%Successive convex approximation coefficient matrix  X
beta=zeros(N,5);%Successive convex approximation coefficient matrix  Y
SINR=zeros(N,5);
Pmax=log(0.5)*ones(N,5);
B=0.01;%Spectrum bandwidth(GHz)拢卢also can be set as 1 or 0.001 which 
%affect the final energy efficiency convergence speed and precision. 
C1=linspace(1,1,5);
GF=linspace(1.5,1.5,5);%Power amplifier coefficient vector.
PC=0.05;%Fixed power consumption in the circuit
 S=zeros(N,5);
 s=zeros(N,5);
Temp=zeros(40,5);%Optimal power storage area for each iteration
 for F=1:10
 C=0.5*F;%Initial fixed price
 Ith=1e-6;%Interference threshold
 Z=1;
 P=zeros(N,5);
P(1,:)=[-8,-8,-8,-8,-8]; 
Lamda=zeros(N,5);
Lamda(1,:)=linspace(10,10,5);
for k=1:N
   for i=1:5
        I1(i)=exp(P(k,:))*G(:,i)+Delta-G(i,i)*exp(P(k,i));
        SINR(k,i)=G(i,i)*exp(P(k,i))/I1(i); 
        arfa(k,i)=SINR(k,i)/(1+SINR(k,i));
        Total_T(k)=B*dot(log(C1+SINR(k,:))/log(2),C1); 

🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。

🌈4 Matlab代码实现

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/398125.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

12接口扩展无忧,存储显示充电都拉满,ORICO XDR扩展坞上手

扩展坞现在很多朋友都用,一般是配合笔记本使用,有些带有桌面模式的手机、平板装上扩展坞之后,也可以变身全能型的办公设备。现在市面上的扩展坞选择不少,我目前用的是一款功能比较全的12合1扩展坞,来自国产品牌ORICO。…

【机会约束、鲁棒优化】具有排放感知型经济调度中机会约束和鲁棒优化研究【IEEE6节点、IEEE118节点算例】(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

Django/Vue实现在线考试系统-03-开发环境搭建-MySQL安装

1.概述 MySQL是一种关系型数据库管理系统,所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型和大型网站的开发都选择 MySQL 作为网站数据库…

Redis的持久化操作

目录 介绍 RDB(redis database) 是什么 备份如何执行 配置 优势 劣势 备份恢复 AOF(Append Only File) 是什么 数据恢复 正常恢复 异常恢复 同步频率设置 重写(压缩) 持久化流程 优势 劣势 总结 介绍 redis持久化操作方式有两种:RDB和AOF。 RDB(redis database) 是…

mysql数据库之触发器

触发器是与表有关的数据库对象,指在insert、update、delete之前或之后,触发并执行触发器中定义的SQL语句集合。触发器的这种特性可以协助应用在数据库端确保数据的完整性,日志记录,数据校验等操作。 使用别名old和new来引用触发器…

华为OD机试题,用 Java 解【子序列长度】问题

华为Od必看系列 华为OD机试 全流程解析+经验分享,题型分享,防作弊指南)华为od机试,独家整理 已参加机试人员的实战技巧华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典使用说明 参加华为od机试,一定要注意不…

力扣第99场双周赛题目记录(复盘)

第一题 2578.最小和分割 给你一个正整数 num ,请你将它分割成两个非负整数 num1 和 num2 ,满足: num1 和 num2 直接连起来,得到 num 各数位的一个排列。 换句话说,num1 和 num2 中所有数字出现的次数之和等于 num 中所…

DolphinScheduler理论知识以及手机、邮箱、钉钉、电话等多种告警部署实操

1、DolphinScheduler简介 1.1、DolphinScheduler概述 Apache DolphinScheduler是一个新一代分布式、易扩展的可视化大数据工作流任务调度平台,致力于“解决大数据任务之间错综复杂的依赖关系,整个数据处理开箱即用”。它以 DAG(有向无环图) 的方式将任…

IDEA插件开发.02之“异味”代码收集插件

前言许久没更新IDEA插件开发系列了。最近刚好在汇总日常开发中常见的代码“异味”,共享文档复制黏贴略显麻烦,所以想着是否可以搞一个IDEA插件来帮忙收集常见代码,毕竟IDEA作为后端程序员必备的开发工具,显然会方便很多。于是&…

STM32开发(七)STM32F103 显示 —— 数码管显示 详解

文章目录一、基础知识点二、开发环境三、STM32CubeMX相关配置四、Vscode代码讲解五、结果演示一、基础知识点 了解 TM1620芯片手册 。本实验是基于STM32F103开发 通过GPIO模拟时序 实现TM1620数码管显示。 准备好了吗?开始我的show time。 二、开发环境 1、硬件开…

flink sql (jdbc)如何支持where 条件下推数据库

背景 最近在使用 flink sql (jdbc)做离线数据同步(历史数据修复),遇到一个问题,只同步几条数据的情况下,测试环境执行竟然需要30分钟。 进一步研究,发现where条件没有下推到数据库…

项目心得--网约车

一、RESTFULPost:新增Put:全量修改Patch:修改某个值Delete: 删除Get:查询删除接口也可以用POST请求url注意:url中不要带有敏感词(用户id等)url中的名词用复数形式url设计:api.xxx.co…

分形(Fractal)及分形维数(Fractal dimension)

文章目录1. 分形介绍2. 分形的定义3. 分形维数介绍4. 历史5. 缩放的作用(Role of scaling)6. D 不是唯一描述符7. 分形表面结构8. 例子8.8 Hausdorff dimension8.8.1 直观概念8.8.2 正式定义8.8.2.1 Hausdorff dimension8.8.2.2 Hausdorff content8.8.3 …

C++ 实现一个反射类

代码环境为VScode CMake GCC 8.1.0 首先,如何才能做到给我一个名字我就能拿到这个对象的这个值,也是比较难的一个地方,方法如下 #define OFFSET(className,fieldName) (size_t)&(((className*)0)->fieldName)这个能够得到该成员变…

数据结构3——线性表2:线性表的顺序结构

顺序结构的基本理解 定义: 把逻辑上相邻的数据元素存储在物理上相邻(占用一片连续的存储单元,中间不能空出来)的存储单元的存储结构 存储位置计算: LOC(a(i1))LOC(a(i))lLOC(a(i1))LOC(a(i))l LOC(a(i1))LOC(a(i))l L…

【pyqt】win10下使用pycharm安装并配置pyqt环境,并用其进行界面绘制

目录1.PyQt简介2.PyQt安装2.PyQt中界面绘制工具集在pycharm中的配置2.主程序引入生成的界面类1.PyQt简介 PyQt是一个基于Python语言的开源图形用户界面(GUI)框架,它是Qt跨平台应用程序框架的Python绑定,可以用于创建各种不同类型…

js 拷贝

一、浅拷贝 对数据拷贝的时候只拷贝一层,深层次的只拷贝了地址 1. (1)对于数组类型,可以使用slice(start, end)方法,返回一个新的数组。 var arr1 arr.slice(0); (备注:slice 方法一直复制到…

(Fabric 超级账本学习【2】)Fabric2.4环境下部署自己编写的链码

(Fabric 超级账本学习【2】)Fabric2.4环境下部署自己编写的链码 1、前提是搭建好了Fabric 2.4(Fabric2.x)版本的区块链网络,并在以此环境下部署自己编写的链码,如下图先进入 test-network 文件夹目录下 2、…

23年PMP考试,应试技巧二十五条(含资料)

1.一定要认真阅读答案的全部四个选项。 千万不要看到某个选项是正确的,就不看其他选项,因为可能还有更正确的选项。PMP考的是选项的相对正确程度,而不是绝对正确程度,这与英语水平考试截然不同。可能四个选项都是正确或错误的&am…

Linux进程间通信详解(最全)

进程间的五种通信方式介绍 进程间通信(IPC,InterProcess Communication)是指在不同进程之间传播或交换信息。IPC的方式通常有管道(包括无名管道和命名管道)、消息队列、信号量、共享内存、Socket(套接字&a…