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

最终分配算法【论文材料】

文章目录

  • 一、最终分配算法
    • 1.1 平衡的情况
    • 1.2 不平衡的情况
    • 1.3 TDM 约束

一、最终分配算法

  上一步合法化后,group 的 TDM 情况大致分为两类,一类是平衡的,最大的一些 group 的 TDM 比较接近。另外一种情况就是不平衡的,最大的 group远超其他的 group【这种情况是由于该 group 的边远超其他网组】。对于,这两类情况,最终分配有不同的处理方式。

1.1 平衡的情况

  对于 e 来说,经过 e 的网络都会分配一个 TDM ,而 TDM 的倒数和要小于等于 1 【即 1≤1Te,n1+1Te,n2+⋯1Te,nm1 \le \frac{1}{T_{e,n1}}+ \frac{1}{T_{e,n2}} + \cdots \frac{1}{T_{e,nm}}1Te,n11+Te,n21+Te,nm1 】。所以我们可以尝试从 TDM 的倒数方面入手,可以将 TDM 的倒数可以看成我们为经过 e 的网络分配资源 r ,资源总和要小于等于 0 。

  经过前面的算法,会剩余一些资源,我们这步要做的就是利用这些剩余资源。对于平衡的情况,那么我们就将资源根据比例分配给每个边【肯定不能平均分配,对于 TDM 大的边,一些资源就可以降低比较大的 TDM ,所以 TDM 越大,分配的资源就要越多】。所以我们可以得到公式:
r′=r+R(e)⋅p\begin{equation} r'=r+R(e)\cdot p \end{equation} r=r+R(e)p
  其中 r 表示该边分配的资源,其倒数就是 TDM ;R(e) 表示 e 的剩余资源 ;p 表示该边分配资源的比例,考虑到 TDM 越大,则应该要分配越多的资源,所以比例我们可以这样设计,我们先计算经过 e 的网络的 TDM 总和【参与计算的是 Te,nT_{e,n}Te,n】,然后根据其 TDM 在总和的比例来分配。所以我们得到下面公式:
1Te,n′=1Te,n+(1−∑n∈Ne1Te,n)Te,nTe\begin{equation} \frac{1}{T'_{e,n}}=\frac{1}{T_{e,n}}+(1-\sum\limits_{n\in N_e}\frac{1}{T_{e,n}})\frac{T_{e,n}}{T_e} \end{equation} Te,n1=Te,n1+(1nNeTe,n1)TeTe,n
  右边通分得:
1Te,n′=Te+(1−∑n∈Ne1Te,n)Te,n2Te,nTe\frac{1}{T'_{e,n}}=\frac{T_e+(1-\sum\limits_{n\in N_e}\frac{1}{T_{e,n}})T^2_{e,n}}{T_{e,n}T_e}Te,n1=Te,nTeTe+(1nNeTe,n1)Te,n2
  两边同时倒数得:【就是公式 16 】
Te,n′=Te,nTeTe+(1−∑n∈Ne1Te,n)Te,n2T'_{e,n}=\frac{T_{e,n}T_e}{T_e+(1-\sum\limits_{n\in N_e}\frac{1}{T_{e,n}})T^2_{e,n}}Te,n=Te+(1nNeTe,n1)Te,n2Te,nTe

1.2 不平衡的情况

  对于不平衡的情况【不平衡的情况一定是存在一些网组的边很多,而在 TDM 合法化后,每条边都有概率加 1 ,所以整体就变得很大】

  在满足剩余资源 >=0 的情况下,我们则先将最大 group 的每条边的 TDM 都 - 2 ,同时记得更新剩余资源。

  在上一步,我们的剩余资源已经被消耗的比较多了,所以接下来就要考虑将剩下的剩余资源分配给哪些边,对于 TDM 比较大的边,分配给一点资源就可以降低比较多的 TDM 。例如:TDM 为 10 和 100 的两条边,分配给 0.1 的资源:

  • 对于 TDM 为 10 的边, TDM 可以从 10 降到 5 ,只减少了 5 。
    【原本该边占有资源为 110\frac{1}{10}101,在分配 0.1 的资源就是 110+110=15\frac{1}{10}+\frac{1}{10}=\frac{1}{5}101+101=51,TDM 为 5 】
  • 对于 TDM 为 100 的边,则其 TDM 可以从 100 降到 10,减少了 90。
    【原本该边的资源为 1100\frac{1}{100}1001,分配给 0.1 的资源后就是 1100+110=11100\frac{1}{100}+\frac{1}{10}=\frac{11}{100}1001+101=10011,TDM 为 10011≈9.8\frac{100}{11} ≈ 9.8111009.8 ,合法化后为 10 】

  所以,我们优先考虑降资源分配给 TDM 较大的边,如何考虑这条边是否要分配资源 ,我们则按照这条边的 TDM 是否大于穿过这条边的 net 数决定。【只是选取一个阈值,因为对于不同的 e 来说,他们内部的资源分配情况不一样,比如有的 TDM 为 2,4,4 。有的 TDM 为 10 个 10 。所以不同的 e 必须要选取不同的阈值,而穿过 e 的网络数就比较合适】

  对于 e 来说,有很多条边,我们先统计需要分配资源的边的 TDM 和 sum ,然后根据该边在 sum 的占比分配资源,就像公式 (2) 那样,只不过我们将资源分配给部分边,所以占比的分母 TeT_eTe 就要修改为前面统计的部分边的 TDM 和。

  例如:边 e 存在 TDM :2 ,10,10,10。根据该算法,网络数是 4 ,剩余资源为 1−12−110−110−110=2101-\frac12-\frac{1}{10}-\frac{1}{10}-\frac{1}{10}=\frac{2}{10}121101101101=102

  • TDM 为 2 的边不分配资源,因为他的 TDM 小于网络数 4 。
  • 所以我们将这 210\frac{2}{10}102 的资源分配给 TDM 为 10 的三条边。每条边占比为 1030\frac{10}{30}3010,所以每条边的资源都是 110+2101030=16\frac{1}{10}+\frac{2}{10}\frac{10}{30}=\frac{1}{6}101+1023010=61 ,即每条边的 TDM 都变为 6

1.3 TDM 约束

  对于 TDM 约束,肯定是满足的,我们只是将剩余资源再分配而已,无论怎么分配,资源总量肯定小于等于 1 。

http://www.xdnf.cn/news/15945.html

相关文章:

  • laravel RedisException: Connection refused优雅草PMS项目管理系统报错解决-以及Redis 详细指南-优雅草卓伊凡
  • WSL的功能及用途
  • JavaScript空值安全深度指南
  • 单调队列深度解析(下)
  • 前端开发技巧:浏览器模拟弱网络环境
  • 【Linux】重生之从零开始学习运维之Nginx
  • 高可用架构设计与实践综述
  • XSS总结
  • 【RK3576】【Android14】固件烧录
  • 零基础学后端-PHP语言(第一期-PHP环境配置)
  • SQL核心语法与实战应用指南
  • MacOS:如何利用终端来操作用户
  • kafka--基础知识点--6.1--LEO、HW、LW
  • 2025 Data Whale x PyTorch 安装学习笔记(Windows 版)
  • react+antd+表格拖拽排序以及上移、下移、移到顶部、移到底部
  • react17更新哪些新特性
  • ARINC818协议综述
  • 48Days-Day03 | 删除公共字符,两个链表的第一个公共结点,mari和shiny
  • uniapp相关地图 API调用
  • servicemesh 学习
  • 实战分享:Web3 前端开发Defi项目
  • [硬件电路-39]:激光光路的光信号处理、模拟电路的电信号处理、数字电路的电信号处理、软件的信号处理,有哪些共通的操作、运算、变换?
  • 06-人机共生:Prompt之外的思考
  • 【RK3576】【Android14】USB开发调试
  • k8s 基本架构
  • 【小沐学GIS】基于Rust绘制三维数字地球Earth(Rust、OpenGL、GIS)
  • 完美解决 Ubuntu 中自定义启动器图标重复的问题(以 MATLAB 为例)
  • bash方式启动模型训练
  • python基础复习
  • 高压电工作业证考试核心考点:电气安全基础篇