当前位置: 首页 > news >正文

差分进化算法求解基于移动边缘计算 (MEC) 的无线区块链网络的联合挖矿决策和资源分配(提供MATLAB代码)

一、优化模型介绍

在所研究的区块链网络中,优化的变量为:挖矿决策(即 m)和资源分配(即 p 和 f),目标函数是使所有矿工的总利润最大化。问题可以表述为:

max ⁡ m , p , f F miner  = ∑ i ∈ N ′ F i miner  s.t.  C 1 : m i ∈ { 0 , 1 } , ∀ i ∈ N C 2 : p min ⁡ ≤ p i ≤ p max ⁡ , ∀ i ∈ N ′ C 3 : f min ⁡ ≤ f i ≤ f max ⁡ , ∀ i ∈ N ′ C 4 : ∑ i ∈ N ′ f i ≤ f total  C 5 : F M S P ≥ 0 C 6 : T i t + T i m + T i o ≤ T i max ⁡ , ∀ i ∈ N ′ \begin{aligned} \max _{\mathbf{m}, \mathbf{p}, \mathbf{f}} & F^{\text {miner }}=\sum_{i \in \mathcal{N}^{\prime}} F_{i}^{\text {miner }} \\ \text { s.t. } & C 1: m_{i} \in\{0,1\}, \forall i \in \mathcal{N} \\ & C 2: p^{\min } \leq p_{i} \leq p^{\max }, \forall i \in \mathcal{N}^{\prime} \\ & C 3: f^{\min } \leq f_{i} \leq f^{\max }, \forall i \in \mathcal{N}^{\prime} \\ & C 4: \sum_{i \in \mathcal{N}^{\prime}} f_{i} \leq f^{\text {total }} \\ & C 5: F^{M S P} \geq 0 \\ & C 6: T_{i}^{t}+T_{i}^{m}+T_{i}^{o} \leq T_{i}^{\max }, \forall i \in \mathcal{N}^{\prime} \end{aligned} m,p,fmax s.t. Fminer =iNFiminer C1:mi{0,1},iNC2:pminpipmax,iNC3:fminfifmax,iNC4:iNfiftotal C5:FMSP0C6:Tit+Tim+TioTimax,iN
其中:
C1表示每个矿工可以决定是否参与挖矿;
C2 指定分配给每个参与矿机的最小和最大传输功率;
C3 表示分配给每个参与矿工的最小和最大计算资源;
C4表示分配给参与矿机的总计算资源不能超过MEC服务器的总容量;
C5保证MSP的利润不小于0;
C6 规定卸载、挖掘和传播步骤的总时间不能超过最长时间约束。
在所研究的区块链网络中,我们假设 IoTD 是同质的,并且每个 IoTD 都具有相同的传输功率范围和相同的计算资源范围。
上式中:
F i m i n e r = ( w + α D i ) P i m ( 1 − P i o ) − c 1 E i t − c 2 f i , ∀ i ∈ N ′ R i = B log ⁡ 2 ( 1 + p i H i σ 2 + ∑ j ∈ N ′ \ i m j p j H j ) , ∀ i ∈ N ′ T i t = D i R i , ∀ i ∈ N ′ T i m = D i X i f i , ∀ i ∈ N ′ E i m = k 1 f i 3 T i m , ∀ i ∈ N ′ P i m = k 2 T i m , ∀ i ∈ N ′ F M S P = ∑ i ∈ N ′ ( c 2 f i − c 3 E i m ) − c 3 E 0 P i o = 1 − e − λ ( T i o + T i s ) = 1 − e − λ ( z D i + T i t ) , ∀ i ∈ N ′ F_i^{miner}=(w+\alpha D_i)P_i^m(1-P_i^o)-c_1E_i^t-c_2f_i,\forall i\in\mathcal{N'}\\R_{i}=B \log _{2}\left(1+\frac{p_{i} H_{i}}{\sigma^{2}+\sum_{j \in \mathcal{N}^{\prime} \backslash i} m_{j} p_{j} H_{j}}\right), \forall i \in \mathcal{N}^{\prime}\\T_{i}^{t}=\frac{D_{i}}{R_{i}},\forall i\in\mathcal{N}^{\prime}\\T_{i}^{m}=\frac{D_{i}X_{i}}{f_{i}},\forall i\in\mathcal{N}'\\E_i^m=k_1f_i^3T_i^m,\forall i\in\mathcal{N}'\\P_i^m=\frac{k_2}{T_i^m},\forall i\in\mathcal{N}^{\prime}\\F^{MSP}=\sum_{i\in\mathcal{N}^{\prime}}\left(c_2f_i-c_3E_i^m\right)-c_3E_0\\\begin{aligned} P_{i}^{o}& =1-e^{-\lambda(T_{i}^{o}+T_{i}^{s})} \\ &=1-e^{-\lambda(zD_{i}+T_{i}^{t})},\forall i\in\mathcal{N}^{\prime} \end{aligned} Fiminer=(w+αDi)Pim(1Pio)c1Eitc2fi,iNRi=Blog2(1+σ2+jN\imjpjHjpiHi),iNTit=RiDi,iNTim=fiDiXi,iNEim=k1fi3Tim,iNPim=Timk2,iNFMSP=iN(c2fic3Eim)c3E0Pio=1eλ(Tio+Tis)=1eλ(zDi+Tit),iN

二、差分进化算法求解

2.1部分代码

close all
clear 
clc
dbstop if all error
NP = 100;%矿工数量
para = parametersetting(NP);
para.MaxFEs =5000;%最大迭代次数
Result=Compute(NP,para);
figure(1)
plot(Result.FitCurve,'r-','linewidth',2)
xlabel('FEs')
ylabel('Token')
figure(2)
plot(Result.ConCurve,'g-','linewidth',2)
xlabel('FEs')
ylabel('Con')

2.2部分结果

当矿工数量为100时:所有矿工的利润随迭代次数的变化如下图所示
在这里插入图片描述算法得到的资源分配:

1.99763301712028	0.222528597636855
1.98480090600989	0.232003797981878
1.99810737020089	0.516878075461127
1.99450954175327	0.121004799048830
1.98894335292950	0.457573161395314
1.98141441375851	0.764801153373885
1.99123792611056	0.0618336115864624
1.99957268156257	0.121004799048830
1.99869990696838	0.0545812896345451
1.99958167059988	0.555322442727203
1.99842776886770	0.0425674932800246
1.99782546212753	0.556999423219330
1.99781790486039	0.196587806899822
1.99507786088204	0.115226131066544
1.99052235611421	0.245674972808444
1.99670598640193	0.0505531222716088
1.99482731112569	0.570493296084591
1.99736278961552	0.483094177861634
1.98894335292950	0.262561711571175
1.98784689496156	0.0324778719744346
1.98851683245790	0.171964220456218
1.98796386190418	0.110054645825889
1.98418972990049	0.0724358226961023
1.99516235341290	0.0341179120870288
1.99873738363101	0.489382783726158
1.99697974388302	0.0173712437086769
1.98964833679332	0.0320026913839283
1.99751719786278	0.147890074497164
1.99751719786278	0.434936315273999
1.99748331769841	0.232003797981878
1.99960825876476	0.483665232586750
1.99763301712028	0.631745087572258
1.99703599779628	0.358292746434059
1.99528222092061	0.514944354258863
1.99655084169003	0.753834027257007
1.99842776886770	0.940560567187612
1.99836116767571	0.221230559879615
1.99981576341436	0.184249732087410
1.99836116767571	0.0324778719744346
1.99654201611710	0.335915952413277
1.99237903891650	0.155001423906853
1.99760611708088	0.375017552592607
1.99978704361437	0.561786832194378
1.98578574172372	0.0236239899979008
1.99866761178096	0.0324778719744346
1.99763301712028	0.472369465588862
1.99721838438050	0.700915679954801
1.99428564716577	0.157199586550231
1.99655135483398	0.105209390328771
1.94788362094720	0.0258755419701254
1.99449453062393	0.132251896484895
1.99700992290778	0.0898397719008559
1.99965518095321	0.596537124037070
1.99278786910748	0.0256042543513514
1.99957848431148	0.894961847587823
1.99175299365895	0.0890674637434230
1.99750797157559	0.607592532504797
1.99748331769841	0.0724358226961023
1.99260527116064	0.631745087572258
1.99928439965780	0.127930497832236
1.99817708666189	0.104282160660561
1.99421206141539	0.803656147079701
1.98359960108601	0.118868109287597
1.99899700099444	0.518357001275729
1.99528222092061	0.0324778719744346
1.99877098644022	0.665529673319171
1.99763301712028	0.334090268607101
1.99860560539076	0.0866379799536027
1.99979684848517	0.377299990245342
1.99855631180132	0.389679849807951
1.99731236573268	0.434936315273999
1.99696360320736	0.570493296084591
1.99993018378939	0.391296247028955
1.99965327995029	0.287460195344814
1.99979684848517	0.450997212108626
1.99751719786278	0.287460195344814
1.99763301712028	0.155001423906853
1.99783983352391	0.103569288167448
1.99654201611710	0.127930497832236
1.98747116264687	0.0330088002325308
1.99655135483398	0.0797018166113099
1.99108222250111	0.0866379799536027
1.99718273730151	0.662248213795699
1.99869990696838	0.191058236556442
1.99652919147221	0.215505887700011
1.99459957647011	0.140056664895674
1.99806054285466	0.120547231379614
1.98593862830166	0.0916486389328984
1.97931641143295	0.462734428071515
1.99855631180132	0.101120011114003
1.99421206141539	0.258443908859530
1.99781790486039	0.543516910843497
1.99720522726900	0.0737173931186571
1.98303440848516	0.152622777636722
1.99900862513681	0.674526132004626
1.99866761178096	0.358292746434059
1.99783983352391	0.491305146804456
1.99960825876476	0.122579254402338
1.96710953562570	0.0513811784835662
1.99842776886770	0.0112006869294710

三、完整MATLAB代码

相关文章:

差分进化算法求解基于移动边缘计算 (MEC) 的无线区块链网络的联合挖矿决策和资源分配(提供MATLAB代码)

一、优化模型介绍 在所研究的区块链网络中,优化的变量为:挖矿决策(即 m)和资源分配(即 p 和 f),目标函数是使所有矿工的总利润最大化。问题可以表述为: max ⁡ m , p , f F miner …...

Tomcat Notes: Web Security, HTTPS In Tomcat

This is a personal study notes of Apache Tomcat. Below are main reference material. - YouTube Apache Tomcat Full Tutorial,owed by Alpha Brains Courses. https://www.youtube.com/watch?vrElJIPRw5iM&t801s 1、Overview2、Two Levels Of Web Securi…...

智能小程序登陆能力开发文档及示例代码

小程序登录 涂鸦官方提供了登录能力,开发者可以通过相关 API 获取 App 的用户身份标识,快速的建立小程序内的用户体系。 登录流程 说明 需要调用 ty.login() 获取 临时登录凭证 code,并将 code 传到开发者服务器开发者服务器调用涂鸦云开发…...

常见の算法

前言本文主要使用Java 什么,是快乐星球#¥%……什么是算法? 算法是一组完成任务的指令。任何代码片段都可视为算法,但我们主要介绍常见算法 一、引入——二分查找 二分查找是一种算法,其输入是一个有序的元素列表。如…...

openssl3.2/test/certs - 041 - 1024-bit leaf key

文章目录 openssl3.2/test/certs - 041 - 1024-bit leaf key概述笔记END openssl3.2/test/certs - 041 - 1024-bit leaf key 概述 openssl3.2 - 官方demo学习 - test - certs 笔记 /*! * \file D:\my_dev\my_local_git_prj\study\openSSL\test_certs\041\my_openssl_linux_…...

「创新引领未来」科东软件荣获第十二届中国创新创业大赛(广东·广州赛区)优胜奖

近日,广州市科学技术局公布第十二届中国创新创业大赛(广东广州赛区)暨2023年广州科技创新创业大赛常规赛拟获奖企业名单。科东软件凭借国产化技术创新优势、强大的应用场景落地能力和丰富的行业解决方案,荣获第十二届中国创新创业…...

Linux下安装 Redis7

Linux下安装 Redis7 三、Linux下安装 Redis7【redis-7.2.4.tar.gz】3.1.下载redis的安装包3.1.1.手动下载Redis压缩包并上传【redis-7.2.4.tar.gz】3.1.2.wget工具下载redis-7.2.4.tar.gz 3.2.将安装包进行解压缩3.3.进入redis的安装包3.4.检查是否有gcc 环境3.5.编译和安装并指…...

spire.doc合并word文档

文章目录 spire.doc合并word文档1. 引入maven依赖2. 需要合并的word3. 合并文档代码4. 合并结果 spire.doc合并word文档 1. 引入maven依赖 <repositories><repository><id>com.e-iceblue</id><name>e-iceblue</name><url>https://r…...

蓝桥杯官网填空题(01串的熵)

问题描述 答案提交 这是一道结果填空的题, 你只需要算出结果后提交即可。本题的结果为一 个整数, 在提交答案时只填写这个整数, 填写多余的内容将无法得分。 import java.util.*;public class Main {public static void main(String[] args) {for(double zero1;zero<2333…...

【CodeTop】TOP 100 刷题 51-60

文章目录 51. 缺失的第一个正数题目描述代码与解题思路 52. 训练计划 II题目描述代码与解题思路 53. 子集题目描述代码与解题思路 54. 最小覆盖子串题目描述代码与解题思路 55. 从前序与中序遍历序列构造二叉树题目描述代码与解题思路 56. 零钱兑换题目描述代码与解题思路 57. …...

k8s的图形化工具---rancher

rancher是一个开源的企业级多集群的k8s管理平台。 rancher和k8s的区别&#xff1a;都是为了容器的调度和编排系统。但是rancher不仅可以调度还可以管理整个k8s集群。 rancher自带监控(普罗米修斯) 实验部署 master01 20.0.0.32 node01 20.0.0.34 node02 20.0.0.35 test …...

npm安装卡住问题(最新版)

npm安装卡住问题(最新版) 背景&#xff1a; ​ 最近这两天用npm安装一些包的时候&#xff0c;发现一直卡住&#xff1a; 报错&#xff1a; idealTree:npm: sill idealTree buildDeps之前能用的现在不能用了&#xff0c;我一想&#xff0c;是不是源头的问题&#xff0c;还真是…...

什么是线程死锁

死锁是指两个或两个以上的进程&#xff08;线程&#xff09;在执行过程中&#xff0c;由于竞争资 源或者由于彼此通信而造成的一种阻塞的现象&#xff0c;若无外力作用&#xff0c;它们都将无法推 进下去。此时称系统处于死锁状态或系统产生了死锁&#xff0c;这些永远在互相…...

Django从入门到精通(二)

目录 三、视图 3.1、文件or文件夹 3.2、相对和绝对导入urls 3.3、视图参数requests 3.4、返回值 3.5、响应头 3.6、FBV和CBV FBV 四、静态资源 4.1、静态文件 4.2、媒体文件 五、模板 5.1、寻找html模板 5.2、模板处理的本质 5.3、常见模板语法 5.4、内置模板函…...

建筑物防雷检测安全接地应用解决方案

雷电是一种自然现象&#xff0c;具有极高的电压和电流&#xff0c;对建筑物及其内部设备、人员和财产可能造成严重的危害&#xff0c;如火灾、爆炸、电击、电磁干扰等。因此&#xff0c;建筑物必须采取有效的防雷措施&#xff0c;以保障建筑物的安全和可靠运行。建筑物防雷检测…...

支付宝小程序开发踩坑笔记(支付宝、学习强国小程序)

1、接口请求安卓端回调 success&#xff0c;IOS 端回调 fail 原因&#xff1a;dataType 设置不对&#xff0c;默认是 json 格式&#xff0c;对返回数据会进行 json 解析&#xff0c;如果解析失败&#xff0c;就会回调 fail 。加密传输一般是 text 格式。 2、input 禁止输入空格…...

如何降低微服务复杂度丨云栖大会微服务主题分享实录

作者&#xff1a;谢吉宝 本文整理自阿里云资深技术专家、中间件负责人谢吉宝在2023云栖大会《极简微服务模式&#xff0c;降低微服务复杂度的最佳实践》的分享 2023 云栖大会现场 当面临复杂的挑战时&#xff0c;"分而治之"的方法往往能取得显著的效果。微服务架构…...

openresty 安装, nginx与 openresty

openresty VS nginx Nginx 是一款高性能的 Web 服务器和反向代理服务器&#xff0c;具备基础的功能如HTTP服务、负载均衡、反向代理以及动静分离等。它是许多互联网应用的核心组件&#xff0c;因其模块化和可扩展的设计而受到欢迎。1 OpenResty 是基于 Nginx 的 Web 平台&…...

puppeteer实现截图

Window服务器说明 1.在本地安装 puppeteer 先创建一个本地文件夹puppeteer&#xff0c;我的地址D:\common_workspace\puppeteer 然后使用cmd打开这个文件夹所在位置&#xff0c;再执行如下两条命令即可。 npm install -g cnpm --registryhttps://registry.npm.taobao.orgcnpm …...

【2024Java面试突击】并发编程、线程池面试实战

前言 最近在更新面试突击专栏&#xff0c;我把每一篇将字数都尽量控制在 2000 字以内&#xff0c;可能在文章里边写的没有那么细致&#xff0c;主要是提供一些 问题 以及 回答的思路 &#xff0c;以及 面试中可能忽略的漏洞 &#xff0c;所以在看完文章之后&#xff0c;如果自…...

Python多解释器冷启动优化:从2.1s到87ms的极致压缩术(附可复用的预热调度器)

第一章&#xff1a;Python多解释器冷启动优化&#xff1a;从2.1s到87ms的极致压缩术&#xff08;附可复用的预热调度器&#xff09; 在微服务与Serverless场景中&#xff0c;Python多解释器&#xff08;如PyO3、subinterpreters或进程级隔离&#xff09;常因模块导入、C扩展初始…...

微服务测试策略:端到端质量保障

微服务测试策略&#xff1a;端到端质量保障作者&#xff1a;AI测试工程师 关键词&#xff1a;微服务测试、集成测试、契约测试、端到端一、微服务测试挑战 1.1 测试金字塔变化 传统应用&#xff1a; 微服务应用&#xff1a;/\ /\/ \ / \/…...

保姆级教程:用Java SpringBoot实现钉钉机器人自动回复@消息(附完整源码)

企业级钉钉机器人开发实战&#xff1a;SpringBoot实现智能消息处理 最近在帮一家电商公司搭建内部工单系统时&#xff0c;遇到了一个典型需求&#xff1a;当员工在钉钉群里机器人提交问题时&#xff0c;需要自动识别用户身份并回复处理进度。这个看似简单的功能&#xff0c;在…...

Python AOT编译面试通关手册(仅限2026 Q1–Q3内推通道开放期|含6家头部公司真实压轴题及参考实现)

第一章&#xff1a;Python AOT编译技术演进与2026面试全景图Python 长期以来以解释执行和 JIT&#xff08;如 PyPy&#xff09;为主流&#xff0c;但面向云原生、边缘计算与安全敏感场景&#xff0c;AOT&#xff08;Ahead-of-Time&#xff09;编译正加速进入主流视野。从早期的…...

FPGA仿真数据高效流转:Vivado与Matlab的自动化处理链路

1. 从Vivado到Matlab的数据流转痛点 做过FPGA开发的朋友都知道&#xff0c;仿真阶段产生的数据就像金矿&#xff0c;但要把这些"矿石"提炼成有价值的分析结果&#xff0c;中间的数据搬运工作常常让人头疼。我最近在做一个无线通信项目时就深有体会&#xff1a;Vivado…...

SMART-AM40玩转轻量桌面:Armbian下xfce4从安装到远程控制的完整指南

SMART-AM40轻量化桌面革命&#xff1a;Armbian系统下xfce4环境全流程部署与远程控制实战 在单板计算机领域&#xff0c;SMART-AM40凭借其Rockchip处理器和出色的能效比&#xff0c;正成为轻量化桌面解决方案的新宠。本文将带您完成从Armbian系统基础配置到xfce4桌面环境部署&am…...

OpenClaw+nanobot:个人学习计划智能生成与跟踪

OpenClawnanobot&#xff1a;个人学习计划智能生成与跟踪 1. 为什么需要AI驱动的学习计划助手 去年备考PMP认证时&#xff0c;我陷入了典型的学习规划困境&#xff1a;教材有600多页&#xff0c;模拟题库超过2000题&#xff0c;而我的备考时间只有8周。传统学习计划工具&…...

Audacity:5分钟快速掌握免费音频编辑的终极指南

Audacity&#xff1a;5分钟快速掌握免费音频编辑的终极指南 【免费下载链接】audacity Audio Editor 项目地址: https://gitcode.com/GitHub_Trending/au/audacity 想要专业级的音频编辑能力却不想支付高昂的费用&#xff1f;Audacity正是你寻找的解决方案&#xff01;…...

在Windows上用C++部署YOLO11模型:从PyTorch训练到QT桌面应用的全流程避坑指南

工业级YOLO11模型C部署实战&#xff1a;从PyTorch到QT6.9的工程化落地指南 当Python训练的AI模型需要真正投入生产线时&#xff0c;C部署往往成为必经之路。去年在为某电子元件制造商部署电容极性检测系统时&#xff0c;我深刻体会到从Jupyter Notebook到稳定运行的Windows桌面…...

通义千问3-4B降本增效:单卡实现2560维向量生成案例

通义千问3-4B降本增效&#xff1a;单卡实现2560维向量生成案例 1. 引言&#xff1a;当向量生成不再需要“大力出奇迹” 如果你正在搭建一个智能知识库&#xff0c;或者想为自己的应用增加语义搜索能力&#xff0c;那你一定遇到过这个难题&#xff1a;如何高效、低成本地生成高…...