Lyapunov optimization 李雅普诺夫优化

文章目录

  • 正文
    • 引言
    • Lyapunov drift for queueing networks 排队网络的Lyapunov漂移
      • Quadratic Lyapunov functions 二次李雅普诺夫函数
      • Bounding the Lyapunov drift 李亚普诺夫漂移的边界
      • A basic Lyapunov drift theorem 一个基本的李雅普诺夫漂移定理
    • Lyapunov optimization for queueing networks 排队网络的Lyapunov优化
  • 参考资料

正文

本文描述了动力系统的李雅普诺夫优化。(动力系统:随时间变化的系统)
给出了在排队网络最优控制中的应用实例。

引言

李雅普诺夫优化是指利用李雅普诺夫函数对动力系统进行最优控制。
李雅普诺夫函数在控制理论中被广泛应用于保证不同形式的系统稳定性。
系统在特定时间的状态通常用多维向量来描述。
李雅普诺夫函数是这种多维状态的一个非负标量度量(a nonnegative scalar measure)。
通常,函数被定义为当系统走向不希望的状态时变大
系统稳定性是通过采取控制动作使李雅普诺夫函数在负方向上向零漂移来实现的。

在这里插入图片描述

李雅普诺夫漂移是研究排队网络最优控制的核心。
一个典型的目标是稳定所有网络队列,同时优化某些性能目标,例如最小化平均能量或最大化平均吞吐量。
最小化二次Lyapunov函数的漂移对应用于网络稳定性的backpressure routing算法,也称为最大权重算法。[1][2]
在Lyapunov漂移中加入加权惩罚项并使其和最小化,得到了用于联合网络稳定性和惩罚最小化的漂移+惩罚算法。[3][4][5]
漂移加惩罚过程也可用于计算凸规划和线性规划的解。[6]

Lyapunov drift for queueing networks 排队网络的Lyapunov漂移

考虑一个随着具有标准化时隙 t ∈ { 0 , 1 , 2 , . . . } t∈\{0,1,2,...\} t{0,1,2,...}的离散时间变化的排队网络。
假设网络中有 N N N 个队列,并定义在时间 t t t 时队列积压向量为
在这里插入图片描述

Quadratic Lyapunov functions 二次李雅普诺夫函数

对于每个时隙,定义
在这里插入图片描述

该函数是网络中总队列积压的标量度量。它被称为关于队列状态的二次Lyapunov函数。

将李雅普诺夫漂移定义为该函数从一个时隙到下一个时隙的变化
在这里插入图片描述

Bounding the Lyapunov drift 李亚普诺夫漂移的边界

假设队列积压根据以下等式随时间变化:
在这里插入图片描述

其中, a i ( t ) a_{i}(t) ai(t) b i ( t ) b_{i}(t) bi(t)分别为时隙 t t t 上队列 i i i 的到达和服务机会。该式可用于计算任意时隙 t t t 上的Lyapunov漂移的边界:

由上式推出:
Δ L ( t ) = L ( t + 1 ) − L ( t ) = 1 2 ∑ i = 1 N ( Q i ( t + 1 ) 2 − Q i ( t ) 2 ) ≤ 1 2 ∑ i = 1 N ( ( Q i ( t ) + a i ( t ) − b i ( t ) ) 2 − Q i ( t ) 2 ) ≤ 1 2 ∑ i = 1 N ( a i ( t ) + b i ( t ) ) 2 + ∑ i = 1 N Q i ( t ) ( a i ( t ) − b i ( t ) ) \Delta L(t)= L(t+1)-L(t)\\=\frac{1}{2}\sum_{i=1}^{N}(Q_i(t+1)^2-Q_i(t)^2)\\\le\frac{1}{2}\sum_{i=1}^{N}((Q_i(t)+a_i(t)-b_i(t))^2-Q_i(t)^2)\\\le\frac{1}{2}\sum_{i=1}^{N}(a_i(t)+b_i(t))^2+\sum_{i=1}^{N}Q_i(t)(a_i(t)-b_i(t)) ΔL(t)=L(t+1)L(t)=21i=1N(Qi(t+1)2Qi(t)2)21i=1N((Qi(t)+ai(t)bi(t))2Qi(t)2)21i=1N(ai(t)+bi(t))2+i=1NQi(t)(ai(t)bi(t))
B ( t ) = 1 2 ∑ i = 1 N ( a i ( t ) + b i ( t ) ) 2 B(t)=\frac{1}{2}\sum_{i=1}^{N}(a_i(t)+b_i(t))^2 B(t)=21i=1N(ai(t)+bi(t))2,则有

在这里插入图片描述
其中:在这里插入图片描述

假设每个队列的到达和服务这两项是有界的,因此存在一个有限常数 B > 0 B>0 B>0,使得对于所有 t t t 和所有可能的队列向量 Q ( t ) Q(t) Q(t) 都成立如下性质:
在这里插入图片描述

取(Eq. 1)的条件期望,得到Lyapunov漂移的条件期望的边界如下:
在这里插入图片描述

A basic Lyapunov drift theorem 一个基本的李雅普诺夫漂移定理

在许多情况下,网络可以被控制,因此每个队列的到达和服务之间的差异对某个实数 ε > 0 \varepsilon>0 ε>0 满足以下的性质:
在这里插入图片描述
如果上式对于所有队列 i i i、所有时隙 t t t 和所有可能的向量 Q ( t ) \displaystyle Q(t) Q(t) 对相同ε成立,则(等式2)简化为以下李亚普诺夫漂移定理中使用的漂移条件。
下面的定理可以看作是马尔可夫链的Foster定理的一个变体。然而,它不需要马尔可夫链结构。


定理(Lyapunov Drift)
假设存在常数 B ≥ 0 , ε > 0 B\ge0,\varepsilon>0 B0,ε>0 使得对于所有的 t t t 和可能的向量 Q ( t ) Q(t) Q(t) ,条件李雅普诺夫漂移满足:

在这里插入图片描述

注等式2.在这里插入图片描述

则对所有的时隙 t > 0 t>0 t>0,网络中的时间平均队列大小满足:
在这里插入图片描述


证明
取漂移不等式两边的期望,利用迭代期望定律,得到:
在这里插入图片描述
将上式对 τ ∈ { 0 , 1 , . . . , t − 1 } \tau∈\{0,1,...,t-1\} τ{0,1,...,t1} 求和,利用可伸缩和定律,得到:
在这里插入图片描述
利用 L ( t ) L(t) L(t) 非负的事实,重新排列上式中的各项,证明了结果。

Lyapunov optimization for queueing networks 排队网络的Lyapunov优化

考虑与上一节相同的排队网络。
现在定义 p ( t ) p(t) p(t) 作为在时隙 t t t 上产生的网络惩罚。
假设目标是稳定排队网络,同时最小化 p ( t ) p(t) p(t) 的时间平均值。

例如,为了稳定网络,同时最小化时间平均功率, p ( t ) p (t) p(t) 可定义为网络在时隙 t t t 上产生的总功率。处理某些理想报酬 r ( t ) r(t) r(t) 的时间平均值最大化的问题,可以定义惩罚 p ( t ) = − r ( t ) p(t)=-r(t) p(t)=r(t)。这对于在保证稳定性的前提下最大化整个网络的效用是很有用的。

在稳定网络的同时最小化惩罚 p ( t ) p(t) p(t) 的平均时间,网络算法可以设计成使控制动作贪婪地最小化下面每个时隙上的漂移加惩罚表达式的边界:
在这里插入图片描述
其中 V V V 是一个非负的权重,可以根据需要选择它来影响性能权衡。这种方法的一个关键特征是,它通常不需要了解随机网络事件(例如随机作业到达或通道实现)的概率。选择 V = 0 V=0 V=0 可简化为最小化每个槽漂移的边界,对于多跳队列网络中的路由,可简化为Tassiulas和Ephremides开发的背压路由算法。

使用 V = 0 V=0 V=0 并定义 p ( t ) p(t) p(t) 为插槽 t t t 上的网络功耗引出了Neely提出的在保证网络稳定性的前提下最小化平均功率的漂移加惩罚算法[8]。
使用 V = 0 V=0 V=0 并使用 p ( t ) p(t) p(t) 作为允许控制效用度量的负值,引出了Neely、Modiano和Li开发的用于联合流量控制和网络路由的漂移加惩罚算法。


在这种情况下,前一节的李雅普诺夫漂移定理的推广是重要的。为了说明简单,假设 p ( t ) p(t) p(t) 有界于下:
在这里插入图片描述
例如,上面满足 p m i n = 0 p_{min}=0 pmin=0 在这种情况下 p ( t ) p(t) p(t) 总是非负的。让 p ∗ p^{*} p 表示 p ( t ) p(t) p(t) 的时间平均值的期望目标。
V V V 是一个参数,用来衡量达到目标的重要性。以下定理表明,如果满足漂移+惩罚条件,则时间平均惩罚最多比期望目标高出O(1/V),而平均队列大小为O(V)。
V V V 参数可以调优,使平均时间惩罚尽可能接近(或低于)所需的目标,并进行相应的队列大小权衡。


定理(Lyapunov Optimization)

假设存在常数 ε > 0 , V , B ≥ 0 \varepsilon>0,V,B\ge0 ε>0,V,B0 以及 p ∗ p^* p 对于所有的 t t t 和所有可能的向量 Q ( t ) Q(t) Q(t) ,以下漂移加惩罚条件成立:
在这里插入图片描述

则对于所有 t > 0 t>0 t>0 ,时间平均惩罚和时间平均队列大小满足:
在这里插入图片描述
在这里插入图片描述


证明
取假定漂移加惩罚的两边的期望并使用迭代期望定律,我们得到:
在这里插入图片描述
在前 t t t 个时隙上求和,并且使用伸缩和定律给出:
在这里插入图片描述
除以 V t {\displaystyle Vt} Vt 并且重新排列项证明了时间平均惩罚边界。一个类似的论证证明了时间平均队列大小边界。

参考资料

https://en.wikipedia.org/wiki/Lyapunov_optimization

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

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

相关文章

【C++】手撕string(string的模拟实现)

手撕string目录: 一、 Member functions 1.1 constructor 1.2 Copy constructor(代码重构:传统写法和现代写法) 1.3 operator(代码重构:现代写法超级牛逼) 1.4 destructor 二、Other mem…

【算法思想】贪心

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kuan 的首页,持续学…

探索ClickHouse——使用Projection加速查询

在测试Projection之前,我们需要先创建一张表,并导入大量数据。 我们可以直接使用指令,从URL指向的文件中获取内容并导入表。但是担心网络不稳定,我们先将文件下载下来。 下载文件 wget wget http://prod.publicdata.landregistr…

项目开发中使用Date和LocalDateTime处理日期

文章目录 项目开发中使用Date和LocalDateTime处理日期Date类型验证数据库表设计(年月日情况)实体类说明映射文件xml响应展示情况注意事项 LocalDateTime验证数据库设计实体类日期类型动态SQL日期类型响应展示情况 总结 项目开发中使用Date和LocalDateTim…

Windows10/11显示文件扩展名 修改文件后缀名教程

前言 写这篇文章的原因是由于我分享的教程中的文件、安装包基本都是存在阿里云盘的,下载后需要改后缀名才能使用。 但是好多同学不会改。。 Windows 10 随便打开一个文件夹,在上方工具栏点击 “查看”点击 “查看” 后下方会显示更详细的工具栏然后点…

SPA项目之登录注册--请求问题(POSTGET)以及跨域问题

🥳🥳Welcome Huihuis Code World ! !🥳🥳 接下来看看由辉辉所写的关于VueElementUI的相关操作吧 目录 🥳🥳Welcome Huihuis Code World ! !🥳🥳 一.ElementUI是什么 💡…

ubuntu下用pycharm专业版连接AI服务器及其docker环境

一:用pycharm专业版连接AI服务器 1、首先在自己电脑上新建一个文件夹,后续用于映射服务器上自己所要用的项目文件 2、用pycharm专业版打开该文件夹,作为一个项目打开 3、然后在工具->部署->配置 4、配置中形式如下: 点击左…

Docker 入门 (详细命令讲解)

1.1 容器简介 1.1.1 什么是 Linux 容器 Linux容器是与系统其他部分隔离开的一系列进程,从另一个镜像运行,并由该镜像提供支持进程所需的全部文件。容器提供的镜像包含了应用的所有依赖项,因而在从开发到测试再到生产的整个过程中&#xff0…

五、点击切换、滚动切换、键盘切换

简介 通过事件改变当前展示的信息组件,交互的事件有点击上下切换、鼠标轮动上下切换、键盘上下键切换。欢迎访问个人的简历网站预览效果 本章涉及修改与新增的文件:App.vue、public 一、鼠标点击上下箭头切换 <template><div class="app-background"…

Nodejs基于Vue.js编程语言在线学习平台的设计与实现5y4p2

本编程语言在线学习平台是为了提高用户查阅信息的效率和管理人员管理信息的工作效率&#xff0c;可以快速存储大量数据&#xff0c;还有信息检索功能&#xff0c;这大大的满足了用户和管理员这二者的需求。操作简单易懂&#xff0c;合理分析各个模块的功能&#xff0c;尽可能优…

【慕伏白教程】 Linux 深度学习服务器配置指北

文章目录 镜像烧录系统安装系统配置常用包安装 镜像烧录 下载 Ubuntu 镜像 Ubuntu 桌面版 下载烧录工具 balenaEtcher 准备至少 8G 的 空白U盘 开始烧录 系统安装 开机进入BIOS&#xff0c;修改U盘为第一启动 选择 Try or Install Ubuntu 往下拉&#xff0c;选择 中文&a…

Redis 线程模式

Redis 是单线程吗&#xff1f; Redis 单线程指的是 [接收客户端请求 -> 解析请求 -> 进行数据读写操作 -> 发送数据给客户端] 这个过程是由一个线程 (主线程) 来完成的&#xff0c;这也是常说的 Redis 是单线程的原因。 但是 &#xff0c;Redis 程序不是单线程的&am…

OpenCV 实现 SIFT→SURF 算法关键点检测实现

目录 1&#xff0c;SIFT算法原理 1.1&#xff0c;基本流程 1.1.1 尺度空间极值检测 1.1.2 关键点定位 1.1.3 关键点方向确定 1.1.4 关键点描述 1.1.5 总结 1.2 SURF原理 2 代码实现 3 结果展示 4&#xff0c;你肯定会遇到报错 cv2.error: OpenCV(3.4.8) C…

Spring面试题8:面试官:说一说Spring的BeanFactory

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:说一说Spring的BeanFactory Spring的BeanFactory是Spring框架的核心容器,负责管理和创建Bean对象。它是一个工厂类,用于实例化、配置和管理Bean的…

nodejs+vue 医院病历管理系统

系统使用权限分别包括管理员、病人和医生&#xff0c;其中管理员拥有着最大的权限&#xff0c;同时管理员的功能模块也是最多的&#xff0c;管理员可以对系统上所有信息进行管理。用户可以修改个人信息&#xff0c;对医院病历信息进行查询&#xff0c;对住院信息进行添加、修改…

权威认可!安全狗获CNVD“漏洞信息报送贡献单位”殊荣

9月24日&#xff0c;国家信息安全漏洞共享平台公布了2022年度CNVD支撑单位年度工作情况及优秀单位个人表彰名单。 作为国内云原生安全领导厂商&#xff0c;安全狗入选漏洞信息报送贡献单位。 厦门服云信息科技有限公司&#xff08;品牌名&#xff1a;安全狗&#xff09;成立于…

tp5连接多个数据库

一、如果你的主数据库配置文件都在config.php里 直接在config.php中中定义db2&#xff1a; 控制器中打印一下&#xff1a; <?php namespace app\index\controller; use think\Controller; use think\Db; use think\Request; class Index extends Controller {public fun…

win10,WSL的Ubuntu配python3.7手记

1.装linux 先在windows上安装WSL版本的Ubuntu Windows10系统安装Ubuntu子系统_哔哩哔哩_bilibili &#xff08;WSL2什么的一直没搞清楚&#xff09; 图形界面会出一些问题&#xff0c;注意勾选ccsm出的界面设置 win10安装Ubuntu16.04子系统&#xff0c;并开启桌面环境_win…

记录下电脑windows安装Tina的过程

下面图片记录windows下安装电路仿真软件Tina的整个过程。 首先肯定下载安装包 然后就一直点下一步下一步 这里随便填一下用户名和公司名称 默认安装位置是C盘&#xff0c;如果C盘空间不够&#xff0c;可以修改安装位置 然后继续下一步下一步 这里不知道什么意思&#xff…

【红日靶场】vulnstack1-完整渗透过程

目录 下载地址红日靶场基本环境配置攻击思维导图网络结构 系统环境配置外网打点对phpmyadmin渗透对zzcms的渗透&#xff1a;getshell失败案例getshell成功案例模版制作&#xff1a;应用导入上传&#xff1a;其他方式&#xff1a; 内网渗透信息收集msf上线&#xff1a;搭建隧道内…