2024年MathorCup数学建模A题移动通信网络中PCI规划问题解题文档与程序

本文主要是介绍2024年MathorCup数学建模A题移动通信网络中PCI规划问题解题文档与程序,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

2024年第十四届MathorCup高校数学建模挑战赛

A题 移动通信网络中PCI规划问题

原题再现:

  物理小区识别码(PCI)规划是移动通信网络中下行链路层上,对各覆盖小区编号进行合理配置,以避免 PCI 冲突、PCI 混淆以及 PCI 模3 千扰等现象。PCI 规划对于减少物理层的小区间互相干扰(ICI),增加物理下行控制信道(PDCCH)的吞吐量有着重要的作用,尤其是对于基站小区覆盖边缘的用户和发生信号切换的用户,能有效地降低信号干扰,提升用户的体验。在一个移动通信系统中,PCI的数量是十分有限的,但实际网络中小区的数量巨大,因此必须对 PCI进行复用,这就带来了PCI 资源的合理复用配置的问题。错误的 PCI配置方式会显著地增加下行网络的ICI,从而会严重影响网络质量。为了降低ICI,在进行 PCI规划时需要综合地考虑同频邻区之间的三种场景:PCI冲突、PCI混淆以及 PCI模3千扰。
  在无线通信系统中,如果小区i的主控连接的设备同时可以接收到小区i的信号,则称小区i为小区i的邻区。如果小区j与小区i的频点相同,则小区j是小区i的同频邻区。如果小区i的某主控连接设备接收到小区i的信号强度p,与邻区j的信号强度P,的差小于等于给定门限8,即p-p,≤6:则称小区i为小区i的重叠覆盖邻区。
  PCI 冲突发生在主控小区和其同频邻区分配了相同的PCI的情况下,如图1所示,小区1和它的一个同频邻小区2被分配了相同的 PCI值A,此时便会发生 PCI 冲突。应被小区1连接的用户设备可能会错误地连接到小区 2,但小区1才是真正要连接的目标小区。由于对于用户设备来说很难有效地区分场强相差不大的小区1和小区2的信号,错误的连接判断最终会导致无线信号服务的中断,最终导致下行网络资源的错误分配。
在这里插入图片描述
  PCI 混淆通常发生在一个主控小区的两个或者多个同频邻区之间,如图2所示。设小区1的两个邻小区2和3被分配了相同的PCI值B,当小区1中的用户由于移动等原因需要切换连接到小区2时,由于小区2和小区3的 PCI相同,用户很可能错误的切换到小区 3。PCI混淆会导致下行网络中的用户在进行服务切换时的信号中断和资源的错误分配。
在这里插入图片描述
  PCI 模3千扰发生在主控小区和其同频重叠覆盖邻区分配的 PCI 模 3相同的情况下,如图3所示,小区1和它的一个同频重叠覆盖邻小区2被分配了模3 相同的 PCI值(例如小区1分配的 PCI是1,小区2分配的 PCI是 7,则小区1和2的 PCI模3的值相同,都是1),此时便会发生PCI模3 千扰。当 PCI 模3 干扰现象发生时,由于小区1和小区2的参考信号的相互叠加,用户设备接收的信号质量会明显的下降,同时这种现象会造成COI的错误评估和下行网络的延迟。
在这里插入图片描述
  PCI规划问题的目标就是,给每个小区分配PCI,使网络中的PCI冲突、混淆和模3千扰的尽量的少。
  实际网络中,表示 PCI 冲突混淆和模3干扰数量的方式有很多,可以用路测数据点的情况,也可以对整个城市进行栅格化用所有栅格的情况,这些方法中,网优部门最常用的就是测量报告(MR)数据。MR数据是UE 设备在通信过程中定时上报的报告,每条 MR 数据中,主要包括 UE 通信时接入的主控小区及接收到的邻区信息以及相应的信号强度值。由于测量报告是定间隔时间上报,因此 MR 数据的分布情况基本可以反映业务量的分布情况。同时,由于 MR 数据在时间和空间上的全面性,因此用 MR数据的冲突、混淆和模3干扰的数量,来反映网络中的 PCI 指标,是比较准确的。
  基于 MR 数据的 PCI规划问题具体为:给定N个小区,遍历这些小区的全部 MR数据,生成3个NxN的矩阵,分别为:
  冲突矩阵A=[aij]MN,其中若小区i和j同频,则aij的值为小区i为主控,j为邻区的 MR 数量,否则aij的值为 0。
  混淆矩阵B=[bij]N
N,其中若小区i和j同频,则bij的值为小区i和j同时为另一个小区k的邻区的 MR 数量,否则bij的值为 0。
干扰矩阵C=[cij] ,其中若小区i和j同频,则c的值为小区i为主控,j为i的重叠覆盖邻区的 MR 数量,否则cij的值为 0。
  若小区i和j分配相同的PCI值,则冲突数增加aij +aji,混淆数增加bij +bji,如果小区 i和 j分配的 PCI 模3 的值相同,则模3 干扰数增加cij +cji。
  实际网络中,总共可分配的PCI是0到1007 共1008个。根据附件提供的数据,对某区域中 2067 个小区进行 PCI规划。

  问题 1:给这 2067 个小区重新分配 PCI, 使得这 2067 个小区之间的冲突 MR 数、混淆 MR 数和模 3 干扰 MR 数的总和最少。

  问题 2:考虑冲突、混淆和干扰的不同优先级,给这 2067 个小区重新分配 PCI,也是考虑这 2067 个小区之间的冲突、混淆和模3 干扰。首先保证冲突的 MR 数降到最低,在此基础上保证混淆的 MR 数降到最低,最后尽量降低模3 干扰的 MR 数。实际网络中,给这 2067 个小区重新分配PCI,会对这些小区以外的一些距离较近的小区产生影响,也就是这些小区和外围小区之间会产生冲突混淆和模 3 干扰的 MR 数的变化。

  问题 3:给这 2067 个小区重新分配 PCI,使得所有可能被影响到的小区间的冲突 MR 数、混淆 MR 数和模3 干扰 MR 数的总和最少。

  问题 4:考虑冲突、混淆和干扰的不同优先级,给这2067 个小区重新分配 PCI, 也是考虑所有可能被影响到的小区间的冲突、混淆和模3 千扰。首先保证冲突的MR数降到最低,在此基础上保证混淆的MR数降到最低,最后尽量降低模3 干扰的 MR 数。
  注:上面四个问题中,除了正常完成论文外,每个问题对 2067 个小区分配的 PCI 都填入“问题结果表.xlsx”文件对应的四个表单中,并单独上传至竞赛平台。

程序代码:

#你不仅长得帅,想的还挺美#你不仅长得帅,想的还挺美
#你不仅长得帅,想的还挺美#你不仅长得帅,想的还挺美
#你不仅长得帅,想的还挺美#你不仅长得帅,想的还挺美
#你不仅长得帅,想的还挺美#你不仅长得帅,想的还挺美
#你不仅长得帅,想的还挺美#你不仅长得帅,想的还挺美
#你不仅长得帅,想的还挺美#你不仅长得帅,想的还挺美
#你不仅长得帅,想的还挺美#你不仅长得帅,想的还挺美
#你不仅长得帅,想的还挺美#你不仅长得帅,想的还挺美
#你不仅长得帅,想的还挺美#你不仅长得帅,想的还挺美
#你不仅长得帅,想的还挺美#你不仅长得帅,想的还挺美
#你不仅长得帅,想的还挺美#你不仅长得帅,想的还挺美
#你不仅长得帅,想的还挺美#你不仅长得帅,想的还挺美
#你不仅长得帅,想的还挺美#你不仅长得帅,想的还挺美

这篇关于2024年MathorCup数学建模A题移动通信网络中PCI规划问题解题文档与程序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/899708

相关文章

MybatisGenerator文件生成不出对应文件的问题

《MybatisGenerator文件生成不出对应文件的问题》本文介绍了使用MybatisGenerator生成文件时遇到的问题及解决方法,主要步骤包括检查目标表是否存在、是否能连接到数据库、配置生成... 目录MyBATisGenerator 文件生成不出对应文件先在项目结构里引入“targetProje

C#使用HttpClient进行Post请求出现超时问题的解决及优化

《C#使用HttpClient进行Post请求出现超时问题的解决及优化》最近我的控制台程序发现有时候总是出现请求超时等问题,通常好几分钟最多只有3-4个请求,在使用apipost发现并发10个5分钟也... 目录优化结论单例HttpClient连接池耗尽和并发并发异步最终优化后优化结论我直接上优化结论吧,

Java内存泄漏问题的排查、优化与最佳实践

《Java内存泄漏问题的排查、优化与最佳实践》在Java开发中,内存泄漏是一个常见且令人头疼的问题,内存泄漏指的是程序在运行过程中,已经不再使用的对象没有被及时释放,从而导致内存占用不断增加,最终... 目录引言1. 什么是内存泄漏?常见的内存泄漏情况2. 如何排查 Java 中的内存泄漏?2.1 使用 J

numpy求解线性代数相关问题

《numpy求解线性代数相关问题》本文主要介绍了numpy求解线性代数相关问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 在numpy中有numpy.array类型和numpy.mat类型,前者是数组类型,后者是矩阵类型。数组

解决systemctl reload nginx重启Nginx服务报错:Job for nginx.service invalid问题

《解决systemctlreloadnginx重启Nginx服务报错:Jobfornginx.serviceinvalid问题》文章描述了通过`systemctlstatusnginx.se... 目录systemctl reload nginx重启Nginx服务报错:Job for nginx.javas

使用C#代码计算数学表达式实例

《使用C#代码计算数学表达式实例》这段文字主要讲述了如何使用C#语言来计算数学表达式,该程序通过使用Dictionary保存变量,定义了运算符优先级,并实现了EvaluateExpression方法来... 目录C#代码计算数学表达式该方法很长,因此我将分段描述下面的代码片段显示了下一步以下代码显示该方法如

Redis缓存问题与缓存更新机制详解

《Redis缓存问题与缓存更新机制详解》本文主要介绍了缓存问题及其解决方案,包括缓存穿透、缓存击穿、缓存雪崩等问题的成因以及相应的预防和解决方法,同时,还详细探讨了缓存更新机制,包括不同情况下的缓存更... 目录一、缓存问题1.1 缓存穿透1.1.1 问题来源1.1.2 解决方案1.2 缓存击穿1.2.1

vue解决子组件样式覆盖问题scoped deep

《vue解决子组件样式覆盖问题scopeddeep》文章主要介绍了在Vue项目中处理全局样式和局部样式的方法,包括使用scoped属性和深度选择器(/deep/)来覆盖子组件的样式,作者建议所有组件... 目录前言scoped分析deep分析使用总结所有组件必须加scoped父组件覆盖子组件使用deep前言

解决Cron定时任务中Pytest脚本无法发送邮件的问题

《解决Cron定时任务中Pytest脚本无法发送邮件的问题》文章探讨解决在Cron定时任务中运行Pytest脚本时邮件发送失败的问题,先优化环境变量,再检查Pytest邮件配置,接着配置文件确保SMT... 目录引言1. 环境变量优化:确保Cron任务可以正确执行解决方案:1.1. 创建一个脚本1.2. 修

Python 标准库time时间的访问和转换问题小结

《Python标准库time时间的访问和转换问题小结》time模块为Python提供了处理时间和日期的多种功能,适用于多种与时间相关的场景,包括获取当前时间、格式化时间、暂停程序执行、计算程序运行时... 目录模块介绍使用场景主要类主要函数 - time()- sleep()- localtime()- g