通过求解数学模型来选择编码节点的最佳数量和位置(Matlab代码实现)

本文涉及的产品
实时计算 Flink 版,1000CU*H 3个月
简介: 通过求解数学模型来选择编码节点的最佳数量和位置(Matlab代码实现)

🍁🥬🕒摘要🕒🥬🍁

此代码是数学模型的实现,该模型的开发用于确定某些故障情况下编码节点的最佳数量及其位置。除了降低成本和提高可靠性外,传感器网络最终还具有更高的延迟方面的性能,因为网络编码操作的总数减少;


可以使用不同的网络节点数量,笔者在这里使用 40 节点网络,如下所示:


✨🔎⚡运行结果⚡🔎✨

💂♨️👨‍🎓Matlab代码👨‍🎓♨️💂

%% Failure constraint
failureIsDest=zeros(length(FailureScenarios)*numberOfNodes,numberOfLinks);
failureIsSrc=zeros(length(FailureScenarios)*numberOfNodes,numberOfLinks);
e=0;
esrc=0;
% Failure sources
for f=1:length(FailureScenarios)
    for k=1:failedLinksInScen(f)
        workingLinks=get_workingLinks_in_failureScen(f,failedLinksInScen,links,FailureScenarios);
        for i=1:numberOfNodes
            for j=1:length(workingLinks)
                bool=isAgateway(workingLinks(j),1,gateways,network);
                if networkF(workingLinks(j),1)==i  && bool==false
                    failureIsSrc(i+e,workingLinks(j)+esrc)=1;
                else
                    failureIsSrc(i+e,workingLinks(j)+esrc)=0;
                end
            end
        end
        e=e+numberOfNodes;
    end
end
%% failure destination
e=0;
edest=0;
for f=1:length(FailureScenarios)
    for k=1:failedLinksInScen(f)
        workingLinks=get_workingLinks_in_failureScen(f,failedLinksInScen,links,FailureScenarios);
        for i=1:numberOfNodes
            for j=1:length(workingLinks)
                bool=isAgateway(workingLinks(j),1,gateways,network);
                if networkF(workingLinks(j),2)==i && bool==false
                    failureIsDest(i+e,workingLinks(j)+edest)=-1;
                else
                    failureIsDest(i+e,workingLinks(j)+edest)=0;
                end
            end
        end
        e=e+numberOfNodes;
    end
end
% adjFailure Matrix
adjFailure=failureIsSrc(:,:)+failureIsDest(:,:);
% store all the sources of failed links in sourcesF matrix
sourcesF=cell(1,numberOfFailScens);
for f=1:numberOfFailScens
    for l=1:failedLinksInScen(f)
        for n=1:numberOfNodes
            for j=1:numberOfLinks
                if networkF(j,1)==n && networkF(j,3)==FailureScenarios{f}(1,l)
                    sourcesF{f}(1,l)=networkF(j,1);  
                end
            end
        end
    end
end
%% Failure scenario:indicate the failed links in each failure scenario
e=0;
fCol=numberOfNodes+1;
fColEnd=fCol-1+numberOfLinks;
gmmaCol=numberOfNodes+numberOfLinks+1;
etaCol=numberOfLinks + numberOfNodes+failure_scen_var_length*numberOfLinks;
GRow=0;
for f=1:numberOfFailScens
    for i=1: failedLinksInScen(f)
        workingLinks=get_workingLinks_in_failureScen(f,failedLinksInScen,links,FailureScenarios);
        for j= 1:numberOfNodes
            Aeq(GRow+j+e,fCol:fColEnd)=adjFailure(j+e,1:numberOfLinks);
            if isSource(j,FailureScenarios{f}(1,i))==1
                sum_lPrime=sum_Working_Links(j,gammaTree,workingLinks,network);
                beq(GRow+j+e)=1-sum_lPrime;
            else
                Aeq(GRow+j+e,etaCol+j+e)=1;
                beq(GRow+j+e)=0;
            end
        end
        fCol=fColEnd+1;
        fColEnd=fColEnd+numberOfLinks;
        e=e+numberOfNodes;
    end
end

📜📢🌈参考文献🌈📢📜

[1]李想想. 面向传感网数据传输的网络编码方案研究[D].哈尔滨工程大学,2012.

相关实践学习
基于Hologres+Flink搭建GitHub实时数据大屏
通过使用Flink、Hologres构建实时数仓,并通过Hologres对接BI分析工具(以DataV为例),实现海量数据实时分析.
实时计算 Flink 实战课程
如何使用实时计算 Flink 搞定数据处理难题?实时计算 Flink 极客训练营产品、技术专家齐上阵,从开源 Flink功能介绍到实时计算 Flink 优势详解,现场实操,5天即可上手! 欢迎开通实时计算 Flink 版: https://cn.aliyun.com/product/bigdata/sc Flink Forward Asia 介绍: Flink Forward 是由 Apache 官方授权,Apache Flink Community China 支持的会议,通过参会不仅可以了解到 Flink 社区的最新动态和发展计划,还可以了解到国内外一线大厂围绕 Flink 生态的生产实践经验,是 Flink 开发者和使用者不可错过的盛会。 去年经过品牌升级后的 Flink Forward Asia 吸引了超过2000人线下参与,一举成为国内最大的 Apache 顶级项目会议。结合2020年的特殊情况,Flink Forward Asia 2020 将在12月26日以线上峰会的形式与大家见面。
相关文章
|
9天前
|
存储 编解码 算法
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
|
9天前
|
机器学习/深度学习 传感器 算法
【高创新】基于优化的自适应差分导纳算法的改进最大功率点跟踪研究(Matlab代码实现)
【高创新】基于优化的自适应差分导纳算法的改进最大功率点跟踪研究(Matlab代码实现)
97 14
|
9天前
|
机器学习/深度学习 算法
【概率Copula分类器】实现d维阿基米德Copula相关的函数、HACs相关的函数研究(Matlab代码实现)
【概率Copula分类器】实现d维阿基米德Copula相关的函数、HACs相关的函数研究(Matlab代码实现)
|
9天前
|
机器学习/深度学习 传感器 算法
【裂纹检测】检测和标记图片中的裂缝(Matlab代码实现)
【裂纹检测】检测和标记图片中的裂缝(Matlab代码实现)
|
9天前
|
传感器 机器学习/深度学习 编解码
【电缆】中压电缆局部放电的传输模型研究(Matlab代码实现)
【电缆】中压电缆局部放电的传输模型研究(Matlab代码实现)
|
机器学习/深度学习 算法 数据可视化
【BetterBench博士】2024年中国研究生数学建模竞赛 C题:数据驱动下磁性元件的磁芯损耗建模 问题分析、数学模型、python 代码
2024年中国研究生数学建模竞赛C题聚焦磁性元件磁芯损耗建模。题目背景介绍了电能变换技术的发展与应用,强调磁性元件在功率变换器中的重要性。磁芯损耗受多种因素影响,现有模型难以精确预测。题目要求通过数据分析建立高精度磁芯损耗模型。具体任务包括励磁波形分类、修正斯坦麦茨方程、分析影响因素、构建预测模型及优化设计条件。涉及数据预处理、特征提取、机器学习及优化算法等技术。适合电气、材料、计算机等多个专业学生参与。
2432 18
【BetterBench博士】2024年中国研究生数学建模竞赛 C题:数据驱动下磁性元件的磁芯损耗建模 问题分析、数学模型、python 代码
|
机器学习/深度学习 监控 数据可视化
【BetterBench博士】2024年中国研究生数学建模竞赛 E题:高速公路应急车道紧急启用模型 问题分析、数学模型及Python代码
2024年中国研究生数学建模竞赛E题要求建立高速公路应急车道紧急启用模型,以缓解特定路段的拥堵问题。题目提供了四个视频观测点的数据,需分析交通流参数随时间的变化规律,建立拥堵预警模型,并验证模型有效性。此外,还需设计合理的应急车道启用规则和算法,优化视频监控点布局,以提升决策科学性和成本效益。涉及视频数据处理、非线性动态系统建模和机器学习等技术。适合交通工程、数学、计算机科学等多个专业学生参与。需利用Python等工具进行数据处理和建模。具体问题包括统计参数变化、建立拥堵模型、验证模型有效性、设计启用规则和优化监控点布局。
1511 12
【BetterBench博士】2024年中国研究生数学建模竞赛 E题:高速公路应急车道紧急启用模型 问题分析、数学模型及Python代码
|
安全
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
本文介绍了2023年高教社杯数学建模竞赛D题的圈养湖羊空间利用率问题,包括问题分析、数学模型建立和MATLAB代码实现,旨在优化养殖场的生产计划和空间利用效率。
552 6
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
【2024美国大学生数学建模竞赛】2024美赛E题 问题分析、数学模型、实现代码、完整论文
本文是关于2024美国大学生数学建模竞赛E题的预告,承诺在题目发布后提供问题分析、数学模型、实现代码和完整论文的逐步更新。
362 2
【2024美国大学生数学建模竞赛】2024美赛E题 问题分析、数学模型、实现代码、完整论文
|
数据可视化 Python
【2023高教社杯】C题 蔬菜类商品的自动定价与补货决策 问题分析、数学模型及python代码实现
本文介绍了2023年高教社杯数学建模竞赛C题,涉及蔬菜类商品的自动定价与补货决策,包括问题分析、数学模型的构建以及Python代码实现,旨在优化商超的补货和定价策略以提高收益。
476 1

热门文章

最新文章