凸优化学习笔记:等式约束凸优化问题的Newton方法、不可行初始点的Newton方法

news/2024/5/5 18:37:13/文章来源:https://blog.csdn.net/qq_26565435/article/details/130000722

文章目录

  • 凸优化学习笔记:等式约束凸优化问题的Newton方法、不可行初始点的Newton方法
    • 等式约束凸优化问题
    • 等式约束凸二次规划
    • 等式约束的Newton方法
      • Newton方向:基于二阶近似的定义
      • Newton减量:用于设计停止准则
      • 算法框架
    • 不可行初始点的Newton方法
      • 不可行点的Newton方向
      • 基于等式约束问题的原对偶方法
      • 停止准则
      • 算法框架
    • 参考文献

凸优化学习笔记:等式约束凸优化问题的Newton方法、不可行初始点的Newton方法

基础预备:

无约束优化:线搜索最速下降

无约束优化:修正阻尼牛顿法

无约束优化:Hessian-Free Optimization 拟牛顿类算法(BFGS,L-BFGS)

凸优化学习笔记:Lagrange函数、对偶函数、对偶问题、KKT条件

约束优化:约束优化的三种序列无约束优化方法

等式约束凸优化问题

考虑下述等式约束凸优化问题的求解方法:
min⁡f(x)s.t. Ax=b(1)\begin{array}{ll} \operatorname{min} & f(x) \\ \text { s.t. } & A x=b\tag{1} \end{array} min s.t. f(x)Ax=b(1)
其中f:Rn→Rf: \mathbb{R}^n \rightarrow \mathbb{R}f:RnR是二次连续可微凸函数,A∈Rp×nA \in \mathbb{R}^{p\times n}ARp×nrank(A)=p<nrank(A)=p<nrank(A)=p<n。根据KKT条件可知,x∗∈domfx^* \in domfxdomf是优化问题(1)最优解的充要条件是,存在ν∗∈Rp\nu^* \in \mathbb{R}^pνRp满足:
Ax∗=b,∇f(x∗)+ATν∗=0(2)A x^{*}=b, \quad \nabla f\left(x^{*}\right)+A^T \nu^{*}=0 \tag{2} Ax=b,f(x)+ATν=0(2)
因此,求解等式约束优化问题(1)等价于求解一个含有n+pn+pn+p个变量x∗,ν∗x^*,\nu^*x,νn+pn+pn+p个方程的问题。一般第一组方程Ax∗=bAx^*=bAx=b称为原可行方程,是线性的,而第二组方程∇f(x∗)+ATν∗=0\nabla f\left(x^{*}\right)+A^T \nu^{*}=0f(x)+ATν=0称为对偶可行方程,通常是非线性的,很难求出其解析解。将∇f(x∗)\nabla f\left(x^{*}\right)f(x)线性化就是等式约束Newton方法的基本思想。

当然,任何等式约束优化问题都可以通过消除等式约束转化为等价的无约束优化问题,然后利用之前讲到的各种无约束优化问题求解方法去解;或者是利用无约束优化方法求解对偶问题,然后根据对偶解得到原问题(1)的解。但是,消除方法(或对偶方法)通常会破坏问题的结构,比如稀疏性,这样可能会导致忽视掉原问题的一些结构优势,造成耗时。

等式约束凸二次规划

考虑等式约束凸二次规划问题:
min⁡f(x)=(1/2)xTPx+qTx+rs.t. Ax=b(3)\begin{array}{ll} \operatorname{min} & f(x)=(1/2)x^{{T}}Px+q^{{T}}x+r \\ \text { s.t. } & A x=b \tag{3} \end{array} min s.t. f(x)=(1/2)xTPx+qTx+rAx=b(3)
其中,P∈S+n,A∈Rp×nP \in \mathbf{S}_{+}^n, A \in \mathbb{R}^{p \times n}PS+n,ARp×n。该问题是扩展Newton方法处理等式约束问题的基础。此时最优性条件可以写为:
Ax∗=b,Px∗+q+ATν∗=0(4)A x^{*}=b, \quad P x^{*}+q+A^T \nu^{*}=0 \tag{4} Ax=b,Px+q+ATν=0(4)
用矩阵表示为:
[PATA0][x⋆ν⋆]=[−qb](5)\left[\begin{array}{cc} P & A^T \\ A & 0 \end{array}\right]\left[\begin{array}{l} x^{\star} \\ \nu^{\star} \end{array}\right]=\left[\begin{array}{c} -q \\ b \end{array}\right] \tag{5} [PAAT0][xν]=[qb](5)
这个n+pn+pn+p个线性方程组称为等式约束优化问题(3)的KKT系统,系统矩阵称为KKT矩阵。如果KKT矩阵非奇异,存在唯一最优的原对偶对 (x∗,ν∗)(x^*,\nu^*)(x,ν);如果KKT矩阵奇异,但是有解,任何解都构成最优对偶对 (x∗,ν∗)(x^*,\nu^*)(x,ν);如果KKT矩阵无解,那么二次优化问题或者无解或者无下界。已证明,PPP正定是KKT矩阵非奇异的充分条件。

等式约束的Newton方法

该方法和无约束优化的Newton方法几乎一样,初始点必须可行,即满足x∈domf且Ax=bx\in domf且Ax=bxdomfAx=b,根据等式约束的需要对Newton方向的定义进行适当修改,即要保证Newton方向Δxnt\Delta x_{nt}Δxnt是可行方向,满足AΔxnt=0A\Delta x_{nt}=0AΔxnt=0

Newton方向:基于二阶近似的定义

前面指出,一般情况下(2)是非线性方程,很难有解析解。为了导出等式约束问题(1)在**可行点xxx**处的Newton方向Δxnt\Delta x_{nt}Δxnt,我们对目标函数fffxxx附近做二阶Taylor展开:
min f^(x+v)=f(x)+∇f(x)Tv+(1/2)vT∇2f(x)vs.t. A(x+v)=b(6)\begin{array}{ll} \text { min } & \hat{f}(x+v)=f(x)+\nabla f(x)^T v+(1 / 2) v^T \nabla^2 f(x) v \\ \text { s.t. } & A(x+v)=b \end{array} \tag{6}  min  s.t. f^(x+v)=f(x)+f(x)Tv+(1/2)vT2f(x)vA(x+v)=b(6)
该问题变量为vvv,且是一个等式约束凸二次规划问题,可以用解析解求解。我们假定该系统的KKT矩阵非奇异,v=Δxntv=\Delta x_{nt}v=Δxnt,在此基础上定义xxx处的Newton方向Δxnt\Delta x_{nt}Δxnt为问题(6)的解。这样一来,通过求解问题(6)得到Δxnt\Delta x_{nt}Δxnt,这是一个向量,被称为Newton方向,将其加到xxx上就得到了以fff的二阶近似f^(x+v)\hat{f}(x+v)f^(x+v)为目标函数的对应问题的最优解。

已知Ax=bAx=bAx=b,根据KKT条件,Newton方向Δxnt\Delta x_{nt}Δxnt可由以下方程确定:
[∇2f(x)ATA0][Δxntw]=[−∇f(x)0](7)\left[\begin{array}{cc} \nabla^2 f(x) & A^T \\ A & 0 \end{array}\right]\left[\begin{array}{c} \Delta x_{\mathrm{nt}} \\ w \end{array}\right]=\left[\begin{array}{c} -\nabla f(x) \\ 0 \end{array}\right] \tag{7} [2f(x)AAT0][Δxntw]=[f(x)0](7)
其中ω\omegaω是该二次问题的最优对偶变量,Δxnt\Delta x_{nt}Δxnt只在KKT矩阵非奇异时有定义。如同用无约束优化问题的Newton方法一样,当目标函数fff是严格二次函数时,Newton修正向量x+Δxntx+\Delta x_{nt}x+Δxnt是等式约束优化问题的准确最优解,此时ω\omegaω就是原问题最优的对偶变量。也就是说,当fff接近二次时,x+Δxntx+\Delta x_{nt}x+Δxnt可以说是最优解x∗x^*x的很好估计,ω\omegaω就是最优对偶变量ν∗\nu^*ν的很好估计。

Newton减量:用于设计停止准则

将等式约束优化问题的Newton减量定义为:
λ(x)=(ΔxntT∇2f(x)Δxnt)1/2(8)\lambda(x)=\left(\Delta x_{\mathrm{nt}}^T \nabla^2 f(x) \Delta x_{\mathrm{nt}}\right)^{1 / 2} \tag{8} λ(x)=(ΔxntT2f(x)Δxnt)1/2(8)
已知f^(x+v)=f(x)+∇f(x)Tv+(1/2)vT∇2f(x)v\hat{f}(x+v)=f(x)+\nabla f(x)^T v+(1 / 2) v^T \nabla^2 f(x) vf^(x+v)=f(x)+f(x)Tv+(1/2)vT2f(x)v 表示fffxxx处的二阶Taylor近似,则原目标函数f(x)f(x)f(x)和近似模型f^(x+v)\hat{f}(x+v)f^(x+v)之间的差值为:
f(x)−inf⁡{f^(x+v)∣A(x+v)=b}=λ(x)2/2(9)f(x)-\inf \{\hat{f}(x+v) \mid A(x+v)=b\}=\lambda(x)^2 / 2 \tag{9} f(x)inf{f^(x+v)A(x+v)=b}=λ(x)2/2(9)
这说明,λ(x)2/2\lambda(x)^2 / 2λ(x)2/2xxx处的f(x)−p∗f(x)-p^*f(x)p给出了基于二阶近似模型的一个估计,而λ(x)\lambda(x)λ(x)(或者λ(x)2/2\lambda(x)^2 /2λ(x)2/2)也可以作为设计停止准则的基础。

Newton方向Δxnt\Delta x_{nt}Δxnt总是可行下降方向。首先,满足AΔxnt=0A \Delta x_{nt}=0AΔxnt=0说明该方向是可行方向;其次,已知fff沿方向Δxnt\Delta x_{nt}Δxnt的方向导数为
ddtf(x+tΔxnt)∣t=0=∇f(x)TΔxnt=−λ(x)2(10)\left.\frac{d}{d t} f\left(x+t \Delta x_{\mathrm{nt}}\right)\right|_{t=0}=\nabla f(x)^T \Delta x_{\mathrm{nt}}=-\lambda(x)^2 \tag{10} dtdf(x+tΔxnt)t=0=f(x)TΔxnt=λ(x)2(10)
是小于0的,说明其为下降方向。

算法框架

在这里插入图片描述

从上述分析可知,Newton方向Δxnt\Delta x_{nt}Δxnt总是可行下降方向,因此该方法是一种可行下降方法,该方法需要每个xxx处的KKT矩阵可逆。

不可行初始点的Newton方法

根据上文分析已知,上述Newton方法是一个可行下降方法,要求初始点x∈domfx \in domfxdomf满足Ax=bAx=bAx=b。下面介绍一种能从不可行初始点开始进行迭代的Newton方法,即x∈domfx \in domfxdomfAx≠bAx\neq bAx=b

不可行点的Newton方向

从等式约束优化问题(1)的最优性条件(2)出发,假定xxx为当前点且不可行,我们需要基于该点xxx找到一个方向Δx\Delta xΔx使得x+Δxx+\Delta xx+Δx满足(至少近似满足)最优性条件,即x+Δx≈x∗x+\Delta x \approx x^*x+Δxx。为找到方向Δx\Delta xΔx,用x+Δxx+\Delta xx+Δx代替x∗x^*x,用ω\omegaω代替ν∗\nu ^*ν,将原函数fff的梯度进行一阶泰勒展开:
∇f(x+Δx)≈∇f(x)+∇2f(x)Δx(11)\nabla f(x+\Delta x) \approx \nabla f(x)+\nabla^2 f(x) \Delta x \tag{11} f(x+Δx)f(x)+2f(x)Δx(11)
并带入(2)中,得到:
A(x+Δx)=b,∇f(x)+∇2f(x)Δx+ATw=0(12)A(x+\Delta x)=b, \quad \nabla f(x)+\nabla^2 f(x) \Delta x+A^T w=0 \tag{12} A(x+Δx)=b,f(x)+2f(x)Δx+ATw=0(12)
可将其写成关于变量Δx\Delta xΔxω\omegaω的线性方程组形式:
[∇2f(x)ATA0][Δxw]=−[∇f(x)Ax−b](13)\left[\begin{array}{cc} \nabla^2 f(x) & A^T \\ A & 0 \end{array}\right]\left[\begin{array}{c} \Delta x \\ w \end{array}\right]=-\left[\begin{array}{c} \nabla f(x) \\ A x-b \end{array}\right] \tag{13} [2f(x)AAT0][Δxw]=[f(x)Axb](13)
此时的Newton方向Δx\Delta xΔx和在可行点xxx处定义的Newton方向不一样,但可以看出,若残差向量Ax−b=0Ax-b=0Axb=0,方程(13)就退化成在可行点xxx处定义Newton方向的方程(7)。为避免混淆,我们用符号Δxnt\Delta x_{nt}Δxnt表示(13)所定义的方向Δx\Delta xΔx,称为不可行点的Newton方向。

基于等式约束问题的原对偶方法

原对偶方法是指同时修改原变量xxx和对偶变量ν\nuν使KKT条件(近似)满足的方法。换种思路考虑,将xxxν\nuν都视为变量,可将KKT条件表示成r(x∗,ν∗)=0r(x^*,\nu ^*)=0r(x,ν)=0,其中r:Rn×Rp→Rn×Rpr: \mathbb{R}^n \times \mathbb{R}^p \rightarrow \mathbb{R}^n \times \mathbb{R}^pr:Rn×RpRn×Rp由下式定义:
r(x,ν)=(rdual (x,ν),rpri (x,ν))(14)r(x, \nu)=\left(r_{\text {dual }}(x, \nu), r_{\text {pri }}(x, \nu)\right) \tag{14} r(x,ν)=(rdual (x,ν),rpri (x,ν))(14)
其中,rdual (x,ν)=∇f(x)+ATν,rpri (x,ν)=Ax−br_{\text {dual }}(x, \nu)=\nabla f(x)+A^T \nu, \quad r_{\text {pri }}(x, \nu)=A x-brdual (x,ν)=f(x)+ATν,rpri (x,ν)=Axb,分别表示对偶残差原残差。将rrr在当前估计yyy附近进行一阶Taylor展开,得到:
r(y+z)≈r^(y+z)=r(y)+Dr⁡(y)z(15)r(y+z) \approx \hat{r}(y+z)=r(y)+\operatorname{Dr}(y) z \tag{15} r(y+z)r^(y+z)=r(y)+Dr(y)z(15)
其中,Dr⁡(y)∈R(n+p)×(n+p)\operatorname{Dr}(y) \in \mathbf{R}^{(n+p) \times(n+p)}Dr(y)R(n+p)×(n+p)表示函数rrryyy处一阶导。根据KKT条件,将原对偶Newton方向Δypd=(Δxpd,Δνpd)\Delta y_{pd}=(\Delta x_{pd},\Delta \nu_{pd})Δypd=(Δxpd,Δνpd)定义为使r^(y+z)=0\hat{r}(y+z)=0r^(y+z)=0的步长zzz,即
Dr(y)Δypd=−r(y)(16)D r(y) \Delta y_{\mathrm{pd}}=-r(y) \tag{16} Dr(y)Δypd=r(y)(16)
进一步可写成:
[∇2f(x)ATA0][ΔxpdΔνpd]=−[rdual rpri ]=−[∇f(x)+ATνAx−b](17)\left[\begin{array}{cc} \nabla^2 f(x) & A^T \\ A & 0 \end{array}\right]\left[\begin{array}{c} \Delta x_{\mathrm{pd}} \\ \Delta \nu_{\mathrm{pd}} \end{array}\right]=-\left[\begin{array}{c} r_{\text {dual }} \\ r_{\text {pri }} \end{array}\right]=-\left[\begin{array}{c} \nabla f(x)+A^T \nu \\ A x-b \end{array}\right] \tag{17} [2f(x)AAT0][ΔxpdΔνpd]=[rdual rpri ]=[f(x)+ATνAxb](17)
ν+=ν+Δνpd\nu^{+}=\nu + \Delta \nu_{pd}ν+=ν+Δνpd,(17)又可写为:
[∇2f(x)ATA0][Δxpdν+]=−[∇f(x)Ax−b](18)\left[\begin{array}{cc} \nabla^2 f(x) & A^T \\ A & 0 \end{array}\right]\left[\begin{array}{c} \Delta x_{\mathrm{pd}} \\ \nu^{+} \end{array}\right]=-\left[\begin{array}{c} \nabla f(x) \\ A x-b \end{array}\right] \tag{18} [2f(x)AAT0][Δxpdν+]=[f(x)Axb](18)
观察(13)(17)和(18)可以发现Δxnt=Δxpd\Delta x_{\mathrm{nt}}=\Delta x_{\mathrm{pd}}Δxnt=Δxpd,修正后的对偶变量$ w=\nu^{+}=\nu+\Delta \nu_{\mathrm{pd}}$,这说明最初定义的不可行Newton方向的方程(13)计算出的是不可行点Newton方向修正后的对偶变量,而方程(17)表明不可行点Newton方向和相应的对偶方向是以原对偶残差为等式右边项的方程组的解,对偶变量的当前值对计算对偶方向或者其修正值都不起作用。

停止准则

结合(13)可知fff沿方向Δxnt\Delta x_{nt}Δxnt的方向导数为
ddtf(x+tΔx)∣t=0=∇f(x)TΔx=−ΔxT(∇2f(x)Δx+ATw)=−ΔxT∇2f(x)Δx+(Ax−b)Tw(19)\begin{aligned} \left.\frac{d}{d t} f(x+t \Delta x)\right|_{t=0} & =\nabla f(x)^T \Delta x \\ & =-\Delta x^T\left(\nabla^2 f(x) \Delta x+A^T w\right) \\ & =-\Delta x^T \nabla^2 f(x) \Delta x+(A x-b)^T w \end{aligned} \tag{19} dtdf(x+tΔx)t=0=f(x)TΔx=ΔxT(2f(x)Δx+ATw)=ΔxT2f(x)Δx+(Axb)Tw(19)
可以发现,除非xxx可行,则上式不一定为负,这说明在不可行点xxx处的Newton方向不一定是fff的下降方向。但我们可以计算残差范数沿Δypd\Delta y_{pd}Δypd的方向导数,即
ddt∥r(y+tΔypd)∥22∣t=0=2r(y)TDr⁡(y)Δypd=−2r(y)Tr(y)=−∣∣r(y)∣∣2(19)\left.\frac{d}{d t}\left\|r\left(y+t \Delta y_{\mathrm{pd}}\right)\right\|_2^2\right|_{t=0}=2 r(y)^T \operatorname{Dr}(y) \Delta y_{\mathrm{pd}}=-2 r(y)^T r(y)=-||r(y)||_{2} \tag{19} dtdr(y+tΔypd)22t=0=2r(y)TDr(y)Δypd=2r(y)Tr(y)=∣∣r(y)2(19)
这表明残差范数沿不可行点Newton方向和相应的对偶方向Δypd=(Δxpd,Δνpd)\Delta y_{pd}=(\Delta x_{pd},\Delta \nu_{pd})Δypd=(Δxpd,Δνpd)下降,可用来设计停止准则。

算法框架

在这里插入图片描述


参考文献

Convex Optimization – Boyd and Vandenberghe

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

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

相关文章

汇编实验4(99乘法表,整数分解,素数环,迷宫问题)【栈传参,递归,寻址方式】

目录 一、99乘法表 汇编代码 效果 二、整数拆分 问题描述 c代码 汇编代码 效果 三、素数环 问题描述 c代码 效果 四、迷宫问题 问题描述 c代码 汇编代码 效果 一、99乘法表 汇编代码 INCLUDE Irvine32.inc .data a db *,0 .code main PROC mov ebx,1;ebxi m…

从实际代码出发了解量子相位估计算法的原理

量子相位估计&#xff08;Quantum Phase Estimation, QPE&#xff09;是一种用于测量一个量子态的相位的算法。QPE算法的核心是一个相位估计电路&#xff0c;其中包含了一系列Hadamard变换、控制相位旋转门和逆量子傅里叶变换等量子门。其中&#xff0c;控制相位旋转门是QPE算法…

AI绘画热点模型大汇总,让你一次用个够

AI绘画热点模型大汇总&#xff0c;让你一次用个够 前段时间&#xff0c;在利用ControlNet重新定义你的AI姿势中提到了如何利用快捷方式节省谷歌硬盘&#xff0c;由于目前收集到的模型站点涉及的模型较少&#xff0c;且缺少lora模型。因此寻思着自己是不是也可以做一些热点模型…

【stable-diffusion】4090显卡下dreambooth、lora、sd模型微调的GUI环境安装(cuda驱动、pytorch、xformer)

相关博文 stable-diffusion-webui的基础功能手动安装&#xff0c;了解代码结构、依赖、模型出处 安装成功结果 主要参考 cuda11.7下载-https://developer.nvidia.com/cuda-toolkit-archivecudnn8.6 for 11.x : https://developer.nvidia.com/rdp/cudnn-archivedreambooth\lora…

Spring实战(开发Web应用)

开发Web应用展现信息构建领域类创建控制器类设计视图处理表单提交校验表单输入声明校验规则在表单绑定的时候执行校验展现校验错误视图控制器选择视图模板库小结展现信息 Taco Cloud是一个可以在线订购taco的地方。 Taco Cloud允许客户展现其创意&#xff0c; 能够让他们通过丰…

单点登录的认证过程,我拿到票据了, 可以卖肉了吗?

我拿到票据了, 可以卖肉了吗? SSO: 只能买一两, 不能再多了 单点登录的认证过程是如何的, 比方说单点登录服务D, 子系统A和B, A B D和浏览器之间是如何通信的 以下是单点登录&#xff08;SSO&#xff09;过程的详细步骤&#xff1a; 用户尝试访问子系统A。子系统A检查用户是否…

洛谷B2037奇偶数判断

洛谷B2037 题目描述 给定一个整数&#xff0c;判断该数是奇数还是偶数。如果 n 是奇数&#xff0c;输出 odd&#xff1b;如果 n 是偶数&#xff0c;输出 even。 输入格式 输入仅一行&#xff0c;一个整数 n。 输出格式 输出仅一行&#xff0c;如果n 是奇数&#xff0c;输出 o…

二分查找(二)

2.练习题 3&#xff09; 力扣https://leetcode.cn/problems/search-in-rotated-sorted-array-ii/这题需要分三种情况&#xff0c;第一种是区间有序&#xff0c;正常二分查找&#xff0c;第二种是区间 被旋转&#xff0c;左区间的值大于右区间&#xff0c;需要比较目标值和左区…

如何计算和提高客户生命周期价值 (LTV)

客户生命周期价值&#xff08;LTV或 CLV&#xff09;是衡量客户在其生命周期内为企业带来的总价值的关键指标。在电子商务中&#xff0c;LTV在决定企业的健康和成功方面起着至关重要的作用。LTV越高&#xff0c;业务的盈利能力和可持续性就越高。最常见的 LTV公式&#xff1a;L…

iphone distribution

未受信任的企业级开发者 通用 - VPN与设备管理 显示你下载的APP列表&#xff0c;点击进入 点击【信任xxxxx】

codeblocks20.3配置wxWidget3.2.2.1

codeblocks20.3 # 英文版自带gcc810&#xff0c;不汉化 wxWidget3.2.2.1 github下载源码 win11专业版 1.下载wxWidget3.2.2.1 源码 2.下载后解压到一个目录中&#xff0c;不要含中文和空格。我放在&#xff1a;d:\wxWidget3.2.2.1 3.打开终端cd build/msw 4.编译wxWidgets 为 …

多重背包问题 二进制优化 java 路径记录

多重背包---二进制拆分---java小知识_java多重背包问题_m78星云杰克的博客-CSDN博客 应该可以使用完全背包问题的记录路径的方法&#xff0c;例如&#xff0c;使用二维数组记录&#xff0c;记录当前硬币需要多少个

音视频骚操作,FFmpeg 如何播放带「图片」的 M3U8 视频,IJKPlyaer 适配非标 TS 文件

如果看到一个需要播放的视频链接显示是一张图片&#xff0c;你会不会感觉有点懵&#xff1f;如果这张图片写着 png&#xff0c;然后实际格式是 bmp &#xff0c;你会不会更懵了&#xff1f;如果这个 bmp 还做了加密篡改呢&#xff1f;今天我们要聊的就是这样一个充满骚操作的音…

css三角和css 用户见面样式,vertical-align 属性应用,溢出的文字省略号显示,常见布局技巧

目录 3.CSS三角 4.CSS 用户界面样式 4.1什么是界面样式 4.2轮廓线 outline 4.3 防止拖拽文本域 resize 5.vertical-align 属性 5.1图片,表单都属于行内块元素&#xff0c;默认的vertical-align 是基线对齐。 5.2解决图片底部默认空白缝隙问题 6.溢出的文字省略号显示 1.单…

linux centos7 查看端口占用命令netstat 报错提示 –bash:netstat:未找到命令解决方法

今天在一台centos7上用netstat命令看端口占用情况&#xff0c;提示 –bash:netstat:未找到命令&#xff1a; 解决方法&#xff1a; 输入 yum search ifconfig 查看这个命令是在 net-tools.x86_64里的&#xff1a; 然后安装这个包&#xff0c;输入 yum install net-tools 安装&…

ERTEC200P-2 PROFINET设备完全开发手册(2-1)

2. 入门指导&#xff1a;第一个PN IO设备 开发之前的准备&#xff0c;需要的软件&#xff1a; TIA Portal V16、V17串口终端软件 (MobaXterm或Putty或TeraTerm)Win10 并且安装64位JAVA运行环境J-Link的驱动软件Proneta&#xff08;推荐使用&#xff09; 需要准备的硬件 性能…

通信算法之130:软件无线电-接收机架构

1. 超外差式接收机 2.零中频接收机 3.数字中频接收机

洛谷B2033A*B问题

洛谷B2033 题目描述 输入两个正整数A 和B&#xff0c;求 AB 的值。注意乘积的范围和数据类型的选择。 输入格式 一行&#xff0c;包含两个正整数 A 和B&#xff0c;中间用单个空格隔开。1≤A,B≤50000。 输出格式 一个整数&#xff0c;即AB 的值 代码&#xff1a; #include&…

MySQL-双主高可用

目录 &#x1f341;拓扑环境 &#x1f341;配置两台MySQL主主同步 &#x1f343;修改MySQL配置文件 &#x1f343;配置主从关系 &#x1f343;测试主主同步 &#x1f341;keepalived高可用 &#x1f343;keepalived的安装配置 &#x1f343;master配置 &#x1f343;slave配置 …

Aurora 64B/66B 协议介绍

简介 Aurora 是一个用于在点对点串行链路间移动数据的可扩展轻量级链路层协议。这为物理层提供透明接口&#xff0c;让专有协议或业界标准协议上层能方便地使用高速收发器。虽然使用的逻辑资源非常少&#xff0c;但 Aurora 能提供低延迟高带宽和高度可配置的特性集。 特性&…