凸优化理论学习三|凸优化问题(一)

系列文章目录

凸优化理论学习一|最优化及凸集的基本概念
凸优化理论学习二|凸函数及其相关概念

文章目录

  • 系列文章目录
  • 一、优化问题
    • (一)标准形式的优化问题
    • (二)可行点和最优点
    • (三)局部最优点
    • (四)隐式和显式约束
    • (五)可行性问题
  • 二、凸优化问题
    • (一)标准形式的凸优化问题
    • (二)局部最优与全局最优
    • (三)一些标准凸问题
      • 1、线性规划 (LP)
      • 2、二次规划 (QP)
      • 3、二次约束二次规划 (QCQP)
      • 4、二阶锥规划(SOCP)
      • 4、凸椎形式问题
      • 5、半定规划 (SDP)
      • 6、LP、SOCP与SDP


一、优化问题

(一)标准形式的优化问题

  • 优化目标:minimize f 0 ( x ) f_0(x) f0(x)
  • 约束条件:
    • 非等式约束: f i ( x ) ≤ 0 , i = 1 , . . . , m f_i(x)\leq0,i=1,...,m fi(x)0i=1,...,m
    • 等式约束: h i ( x ) = 0 , i = 1 , . . . , p h_i(x)=0,i=1,...,p hi(x)=0i=1,...,p

(二)可行点和最优点

  • 如果 x ∈ d o m f 0 x ∈ dom f_0 xdomf0 并且满足约束条件,则 x ∈ R n x ∈ R_n xRn 是可行的
  • 最优值 p ∗ = i n f { f 0 ( x ) ∣ f i ( x ) ≤ 0 , i = 1 , . . . , m , h i ( x ) = 0 , i = 1 , . . . , p } p^{*}=inf\{f_0(x)|f_i(x)\leq 0,i=1,...,m,h_i(x)=0,i=1,...,p\} p=inf{f0(x)fi(x)0,i=1,...,m,hi(x)=0,i=1,...,p}
  • 如果问题不可行,则 p ∗ = ∞ p^{*}=∞ p=
  • 如果问题无下界,则 p ∗ = − ∞ p^{*}=-∞ p=
  • 如果 f 0 ( x ) = p ∗ f_0(x)=p^{*} f0(x)=p,则可行点 x x x是最优点
  • X o p t X_{opt} Xopt是最优点的集合

(三)局部最优点

如果存在 R > 0 R > 0 R>0 使得 x 在以下情况下是最优的:

  • m i n i m i z e   ( o v e r   z )    f 0 ( z ) minimize\ (over\ z)\ \ f_0(z) minimize (over z)  f0(z)
  • s u b j e c t   t o subject\ to subject to
    • f i ( z ) ≤ 0 , i = 1 , . . . , m f_i(z)\leq 0,i=1,...,m fi(z)0,i=1,...,m
    • h i ( z ) = 0 , i = 1 , . . . , p h_i(z)=0,i=1,...,p hi(z)=0,i=1,...,p
    • ∣ ∣ z − x ∣ ∣ 2 ≤ R ||z-x||_2\leq R ∣∣zx2R

那么 x x x即为局部最优点。
在这里插入图片描述

(四)隐式和显式约束

  • 显式约束:
    • 非等式约束: f i ( x ) ≤ 0 , i = 1 , . . . , m f_i(x)\leq0,i=1,...,m fi(x)0i=1,...,m
    • 等式约束: h i ( x ) = 0 , i = 1 , . . . , p h_i(x)=0,i=1,...,p hi(x)=0i=1,...,p
    • 如果 m = p = 0 m=p=0 m=p=0,即没有约束,此时问题为无约束问题
  • 标准形式优化问题具有隐式约束
    x ∈ D = ⋂ i = 0 m d o m f i ∩ ⋂ i = 1 p d o m h i x\in D=⋂^m_{i=0}domf_i∩⋂^p_{i=1}domh_i xD=i=0mdomfii=1pdomhi

(五)可行性问题

如果目标函数恒等于零,那么其最优解要么是零(如果可行集非空),要么是∞(如果可行集是空集)。我们称其为可行性问题:

  • 目标:0
  • 约束条件:
    • f i ( x ) ≤ 0 , i = 1 , . . . , m f_i(x)\leq 0,i=1,...,m fi(x)0,i=1,...,m
    • h i ( x ) = 0 , i = 1 , . . . , p h_i(x)=0,i=1,...,p hi(x)=0,i=1,...,p

二、凸优化问题

(一)标准形式的凸优化问题

  • 目标:最小化 f 0 ( x ) f_0(x) f0(x)
  • 约束条件:
    • f i ( x ) ≤ 0 , i = 1 , . . . , m f_i(x)\leq 0,i=1,...,m fi(x)0,i=1,...,m
    • a i T x = b i , i = 1 , . . . , p a_i^Tx=b_i,i=1,...,p aiTx=bi,i=1,...,p

其中:目标和不等式约束 f 0 , f 1 , . . . , f m f_0, f_1, ..., f_m f0,f1,...,fm是凸的;等式约束是仿射的,通常写为 A x = b Ax = b Ax=b;凸优化问题的可行集和最优集是凸的;如果 f 0 f_0 f0 是拟凸的, f 1 , . . . , f m f_1, ..., f_m f1,...,fm 是凸的, h 1 , . . . , h p h_1, ..., h_p h1,...,hp 是仿射的,则问题是拟凸的。

考虑一个标准形式问题的例子:

  • 目标:最小化 f 0 ( x ) = x 1 2 + x 2 2 f_0(x)=x_1^2+x_2^2 f0(x)=x12+x22
  • 约束条件:
    • f 1 ( x ) = x 1 ( 1 + x 2 2 ) ≤ 0 f_1(x)=\frac{x_1}{(1+x_2^2)}\leq 0 f1(x)=(1+x22)x10
    • h 1 ( x ) = ( x 1 + x 2 ) 2 = 0 h_1(x)=(x_1+x_2)^2=0 h1(x)=(x1+x2)2=0

易知目标函数 f 0 f_0 f0是凸的,并且可行集 { ( x 1 , x 2 ) ∣ x 1 = − x 2 ≤ 0 } \{(x_1,x_2)|x_1=-x_2\leq0\} {(x1,x2)x1=x20}也是凸的;但是约束条件 f 1 f_1 f1不是凸的, h 1 h_1 h1不是仿射的,因此它不是一个凸问题。这个问题可以等价为以下凸问题:

  • 目标:最小化 x 1 2 + x 2 2 x_1^2+x_2^2 x12+x22
  • 约束条件:
    • x 1 ≤ 0 x_1\leq 0 x10
    • x 1 + x 2 = 0 x_1+x_2=0 x1+x2=0

(二)局部最优与全局最优

凸问题的任何局部最优点都是(全局)最优的
在这里插入图片描述
可微分 f 0 f_0 f0 的最优性准则:

对于凸问题,点 x x x是最优解的一个充分必要条件:

  • x x x是可行解,即 x x x属于可行集合 X X X
  • 对于任何可行点 y y y,都满足梯度条件: ∇ 2 f 0 ( x ) T ( y − x ) ≥ 0 ∇^2f_0(x)^T(y-x)\geq 0 2f0(x)T(yx)0

这个条件表明,如果 x x x 是最优解,那么任何与之可行的点 y y y 的方向上的梯度内积都是非负的。这实际上是凸问题最优解的一个重要性质,称为一阶条件。这种条件确保了最优解的局部性质,即在最优解附近,目标函数不会在可行方向上下降。另一方面,如果 x x x 满足这个条件,那么根据凸优化的性质,它意味着 x x x 是最优解。这个条件表明,如果梯度与任何可行方向的变化都是非负的,那么该点是全局最优解的候选者。
在这里插入图片描述

如果梯度 ∇ f 0 ( x ) ∇f_0(x) f0(x) 在点 x x x 处非零,则它确实定义了可行集 X X X 在点 x x x 处的一个支撑超平面。

应用举例:

  • 无约束问题: x x x 最小化 f 0 ( x ) f_0 (x) f0(x) 当且仅当 ∇ f 0 ( x ) = 0 ∇f_0 (x) = 0 f0(x)=0
  • 等式约束问题: x x x 最小化 f 0 ( x ) f_0 (x) f0(x) 且满足 A x = b Ax = b Ax=b 当且仅当存在 v v v使得:
    A x = b ,   ∇ f 0 ( x ) + A T v = 0 Ax=b,\ ∇f_0 (x)+A^Tv=0 Ax=b, f0(x)+ATv=0
  • 非负正交坐标系上的的最小化问题: x x x 最小化 R + n R^n_+ R+n 上的 f 0 ( x ) f_0 (x) f0(x) 当且仅当:
    • x x x的所有分量非负: x ≥ 0 x\geq 0 x0
    • 对于所有的分量 i i i,如果 x i = 0 x_i=0 xi=0,则其对应的梯度分量 ∇ f 0 ( x ) i ∇f_0 (x)_i f0(x)i非负
    • 对于所有的分量 i i i,如果 x i > 0 x_i>0 xi>0,则其对应的梯度分量 ∇ f 0 ( x ) i ∇f_0 (x)_i f0(x)i等于0

(三)一些标准凸问题

1、线性规划 (LP)

线性规划(LP)是一种特殊形式的凸优化问题,其目标函数和约束函数都是仿射的,可行集是多面体(即由线性不等式和等式构成的凸多面体)。这使得线性规划问题具有一些特殊的性质和解决方法。

  • 目标函数:最小化 c T x + d c^Tx+d cTx+d
  • 约束条件: G x ≤ h Gx\leq h Gxh A x = b Ax=b Ax=b
    在这里插入图片描述

饮食问题:
在这里插入图片描述

分段线性最小化问题可以转化为线性规划(LP)问题
在这里插入图片描述>等价的线性规划问题即为:

  • 目标函数:最小化t
  • 约束条件: a i T x + b i ≤ t , i = 1 , . . . , m a^T_ix+b_i\leq t,i=1,...,m aiTx+bit,i=1,...,m x ∈ R n , t ∈ R x\in R^n,t\in R xRn,tR

这个线性规划问题的变量包括 x x x t t t,约束条件描述了函数 f 0 ( x ) f_0 (x) f0(x) 的上确界(epigraph)。通过将凸分段线性函数转化为等价的线性规划问题,我们可以使用线性规划算法来求解原始的凸分段线性函数最小化问题。

多面体的切比雪夫中心:
Chebyshev center x c h e b x_{cheb} xcheb是多面体 P P P 的中心,即它是一个点,使得对于多面体 P P P 中的每个点 x x x,从 x c h e b x_{ cheb} xcheb​到 x x x 的欧几里得距离小于或等于到 P P P 的边界的最大距离。这等价于说,Chebyshev center 是可以包容在 P P P 内的最大球的中心。中心 x c h e b x_{ cheb} xcheb和球的半径 r r r可以通过以下方式找到:

  • 对于每个约束 a i T x ≤ b i a_i^Tx\leq b_i aiTxbi,要求在球 B B B内部找到与约束最靠近的点,即对于每个 i i i,找到最大化 a i T ( x c h e b + u ) a_i^T(x_{cheb}+u) aiT(xcheb+u) u u u,其中 ∣ ∣ u ∣ ∣ 2 ≤ r ||u||_2\leq r ∣∣u2r,这相当于在球内找到一个与约束最接近的边界点
  • 找到这些最近的点的最小值,即最大化 r r r,同时满足所有约束。这等价于最大化球的半径,使得球包含在多面体P中。

用线性规划表示为:

  • 最大化 r r r
  • 约束条件: a i T x c h e b + r ∣ ∣ a i ∣ ∣ 2 ≤ b i , i = 1 , . . . , m a_i^Tx_{cheb}+r||a_i||_2\leq b_i,i=1,...,m aiTxcheb+r∣∣ai2bi,i=1,...,m
    在这里插入图片描述

2、二次规划 (QP)

二次规划(Quadratic Programming,简称QP)是一种优化问题,其目标是最小化或最大化一个二次型目标函数,其变量受到一组线性等式和不等式约束的限制。通常的形式如下:

  • 目标函数:最小化 ( 1 / 2 ) x T P x + q T x + r (1/2)x^TPx+q^Tx+r (1/2)xTPx+qTx+r
  • 约束条件: G x ≤ h Gx\leq h Gxh A x = b Ax=b Ax=b

其中, P P P是对称正定矩阵
在这里插入图片描述

最小二乘法:

  • 目标函数:最小化 ‖ A x − b ‖ 2 ‖Ax − b‖_2 Axb2
  • 解析解: x ∗ = A † b x^* = A†b x=Ab A † A† A 是伪逆)
  • 可以添加线性约束,例如:
    • x > 0 x> 0 x>0(非负最小二乘法)
    • x 1 ≤ x 2 ≤ . . . ≤ x n x_1\leq x_2\leq ... \leq x_n x1x2...xn(等渗回归)

具有随机成本的线性规划:

  • 目标函数:最小化 c ˉ T x + γ x T Σ x \bar{c}^Tx+\gamma x^T\Sigma x cˉTx+γxTΣx
  • 约束条件: G x ≤ h , A x = b Gx\leq h,Ax=b Gxh,Ax=b

其中, c c c是随机成本, γ > 0 \gamma > 0 γ>0 为风险厌恶参数,控制预期成本和方差(风险)之间的权衡

3、二次约束二次规划 (QCQP)

二次约束二次规划(Quadratically Constrained Quadratic Programming,QCQP)问题是在二次目标函数下,满足一组二次不等式约束条件。通常的形式如下:

  • 目标函数:最小化 ( 1 / 2 ) x T P 0 x + q 0 T x + r 0 (1/2)x^TP_0x+q_0^Tx+r_0 (1/2)xTP0x+q0Tx+r0
  • 约束条件: ( 1 / 2 ) x T P i x + q i T x + r i , i = 1 , . . . , m (1/2)x^TP_ix+q_i^Tx+r_i,i=1,...,m (1/2)xTPix+qiTx+ri,i=1,...,m A x = b Ax=b Ax=b

其中, P P P是对称正定矩阵,目标和约束是凸二次的;如果 P 1 , . . . , P m ∈ S n + + P_1,..., P_m ∈ S_n^++ P1,...,PmSn++,可行域是 m 个椭球与仿射集的交集。

4、二阶锥规划(SOCP)

Second-Order Cone Programming (SOCP)是一类凸优化问题,它涉及到二阶锥约束,通常具有以下形式:

  • 目标函数:最小化 f T x f^Tx fTx
  • 约束条件: ∣ ∣ A i x + b i ∣ ∣ 2 ≤ c i T x + d i , i = 1 , . . . , m ||A_ix+b_i||_2\leq c_i^Tx+d_i,i=1,...,m ∣∣Aix+bi2ciTx+di,i=1,...,m F x = g Fx=g Fx=g

其中,不等式约束又叫二阶锥约束(SOC): ( A i x + b i , c i T x + d i ) ∈ s e c o n d − o r d e r   c o n e   i n   R n i + 1 (A_ix+b_i,c_i^Tx+d_i)\in second-order\ cone\ in\ R^{n_i+1} (Aix+bi,ciTx+di)secondorder cone in Rni+1。如果 n i = 0 n_i=0 ni=0,二阶锥规划就会退为线性规划,如果 c i = 0 c_i=0 ci=0,二阶锥规划退为二次约束二次规划 (QCQP)。

鲁棒线性规划问题: 假设约束向量 a i a_i ai是不确定的情况,也就是说鲁棒线性规划(Robust Linear Programming)涉及到在不确定条件下寻找最优解。

  • 目标函数:最小化 c T x c^Tx cTx
  • 约束条件: a i T x ≤ b i , i = 1 , . . . , m a_i^Tx\leq b_i,i=1,...,m aiTxbi,i=1,...,m

对于这种不确定性,常见的处理方式有确定性最坏情况方法和随机方法两种。

确定性最坏情况方法:约束必须适用于所有 a i ∈ E i a_i ∈ E_i aiEi(不确定性椭球)

  • 确定性最坏情况方法的基本形式:
    • 目标函数:最小化 c T x c^Tx cTx
    • 约束条件: a i T x ≤ b i   f o r   a l l   a i ∈ E i , i = 1 , . . . , m a_i^Tx\leq b_i\ for\ all\ a_i\in E_i,i=1,...,m aiTxbi for all aiEi,i=1,...,m
  • 确定性最坏情况方法的原理:不确定性椭球形式为 E i = { a ˉ i + P i u ∣   ∣ ∣ u ∣ ∣ 2 ≤ 1 } E_i=\{\bar{a}_i+P_iu|\ ||u||_2\leq 1\} Ei={aˉi+Piu ∣∣u21},其中 a ˉ i ∈ R \bar{a}_i\in R aˉiR是中心, P i ∈ R n × n P_i\in R^{n\times n} PiRn×n是决定半轴的奇异值/奇异向量。最终可以等价于以下形式的二阶锥规划问题:
    • 目标函数:最小化 c T x c^Tx cTx
    • 约束条件: a ˉ i T x + ∣ ∣ P T i x ∣ ∣ 2 2 ≤ b i , i = 1 , . . . , m \bar{a}_i^Tx+||PT_ix||^2_2\leq b_i,i=1,...,m aˉiTx+∣∣PTix22bi,i=1,...,m

随机方法:把 a i a_i ai看成一个随机变量,约束必须以一定的概率 η \eta η成立

  • 随机方法的基本形式
    • 目标函数:最小化 c T x c^Tx cTx
    • 约束条件: p r o b ( a i T x ≤ b i ) ≥ η , i = 1 , . . . , m prob(a_i^Tx\leq b_i)\geq \eta,i=1,...,m prob(aiTxbi)η,i=1,...,m
  • 随机方法的基本原理:假设 a i ∼ N ( a ˉ i , Σ i ) a_i\sim N(\bar{a}_i,\Sigma_i) aiN(aˉi,Σi),所以 a i T x ∼ N ( a ˉ i T x , x T Σ i x ) a_i^Tx\sim N(\bar{a}_i^Tx,x^T\Sigma_ix) aiTxN(aˉiTx,xTΣix) p r o b ( a i T x ≤ b i ) = Φ ( b i − a ˉ i T x ∣ ∣ Σ i 1 / 2 x ∣ ∣ 2 ) prob(a_i^Tx\leq b_i)=\Phi(\frac{b_i-\bar{a}_i^Tx}{||\Sigma_i^{1/2}x||_2}) prob(aiTxbi)=Φ(∣∣Σi1/2x2biaˉiTx) p r o b ( a i T x ≤ b i ) ≥ η prob(a_i^Tx\leq b_i)\geq \eta prob(aiTxbi)η可以被表示 a ˉ i T x + Φ − 1 ( η ) ∣ ∣ Σ i 1 / 2 x ∣ ∣ 2 ≤ b i \bar{a}_i^Tx+\Phi^{-1}(\eta)||\Sigma_i^{1/2}x||_2\leq b_i aˉiTx+Φ1(η)∣∣Σi1/2x2bi。当 η > 1 / 2 \eta > 1/2 η>1/2时,可以等价于以下形式的二阶锥规划问题:
    • 目标函数:最小化 c T x c^Tx cTx
    • 约束条件: a ˉ i T x + Φ − 1 ( η ) ∣ ∣ Σ i 1 / 2 x ∣ ∣ 2 ≤ b i , i = 1 , . . . , m \bar{a}_i^Tx+\Phi^{-1}(\eta)||\Sigma^{1/2}_ix||_2\leq b_i,i=1,...,m aˉiTx+Φ1(η)∣∣Σi1/2x2bi,i=1,...,m

4、凸椎形式问题

在凸优化中,凸锥形式的问题是一种重要的形式,涉及到优化目标函数以及约束条件均为凸锥函数或凸锥集。具体而言,考虑以下凸锥形式的问题:

  • 目标函数: 最小化 最小化 最小化c^Tx$
  • 约束条件: F x + g ≤ K 0 Fx+g\leq_K 0 Fx+gK0 A x = b Ax=b Ax=b

其中, K K K表示一个凸椎,通常是一个封闭的凸椎

5、半定规划 (SDP)

半定规划(Semidefinite Programming,SDP)是一类重要的凸优化问题,它涉及到优化一个线性函数,其变量是对称半正定矩阵。半定规划的一般形式如下:

  • 目标函数:最小化 c T x c^Tx cTx
  • 约束条件: x 1 F 1 + x 2 F 2 + . . . + x n F n + G ≤ 0 x_1F_1+x_2F_2+...+x_nF_n+G\leq 0 x1F1+x2F2+...+xnFn+G0 A x = b Ax=b Ax=b

其中, F F F G G G为对称矩阵( F i , G ∈ S k F_i,G\in S^k Fi,GSk),不等式约束称为线性矩阵不等式(LMI)。

示例:矩阵范数最小化
在这里插入图片描述

6、LP、SOCP与SDP

LP 和等效的 SDP:
在这里插入图片描述SOCP 和等效的 SDP:
在这里插入图片描述

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

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

相关文章

地平线X3开发板Intel Realsense深度相机调试记录

1. 预编译包 编译这个SDK花费了5.6个小时,为了方便各位后续使用, 各位可以直接下载编译好的文件,包含C和Python的库,相关文件已经上传至百度云(提取码:awe4 )。 在提供的这些文件中&#xf…

思科模拟器学习1--Vlan Trunk

实验说明:将三台电脑的vlan 加到一台交换机里面,为了验证什么是虚拟局域网,把一个设备隔成三个空间,三个电脑互相不能通讯;目的是:vlan 1的通讯不可以向vlan 2传送,就是消息传送互不干扰的&…

独家揭秘:亲历清华大学答辩现场,惊喜万分 名校答辩不简单

会议之眼 快讯 五月,对于学术界来说,迎来了答辩的高潮!是收获的季节!今天,趁着阳光明媚,小编怀揣着对学术探索的无限热情和好奇心,决定亲自踏入中国顶尖学术殿堂——清华大学深圳国际研究生院&…

【核弹】我的第一款IDEA插件

SuperHotSwap 插件名称叫做:SuperHotSwap(超级热更新) 开发初心:旨在做出一款最便捷的IDEA热更新插件,减少用户操作步骤,提供零配置的可视化操作更新。 为什么要写这个插件: 每次改一下Mappe…

Linux内核发送网络数据

前言 我们开始今天对 Linux 内核⽹络发送过程的深度剖析。还是按照我们之前的传统,先从⼀段代码作为切⼊。 上述代码中,调⽤ send 之后内核是怎么样把数据包发送出去的。本⽂基于Linux 3.10,⽹卡驱动采⽤Intel的igb举例。 基础框架 我们看…

08 必会框架 - Spring全家桶

本课时主要介绍 Java 中常用的应用框架,重点讲解如下三部分内容。 Spring 框架中的主要知识点; NIO 框架 Netty 以及基于 Netty 实现的主流 RPC 框架 Motan、Dubbo 和 gRPC; ORM 框架 MyBatis。 常用框架汇总 先来看常用框架的知识点汇总…

AuroraFOC使用指南一(STM32F405双路FOC)

一. 简介 哈喽,感谢各位选择AuroraFOC开发板,在这里将对其进行一个详细的介绍,方便大家使用。并且对提供的工程文件和上位机的操作也进行了详细的说明。 有什么疑问或者好的建议 可以微信联系: WU1356742146 最后再次感谢大家的支持。 Aur…

番外篇 | 手把手教你利用YOLOv8进行热力图可视化 | 针对视频

前言:Hello大家好,我是小哥谈。YOLOv8的热力图可视化可以帮助我们更加直观地了解模型在图像中的检测情况,同时也可以帮助我们进行模型的调试和优化。热力图是一种颜色渐变的图像,不同颜色的区域表示不同程度的关注度或者置信度。在YOLOv8中,可以通过设置阈值来控制热力图的…

产品品牌CRUD

文章目录 1.renren-generator生成CRUD1.数据库表设计1.数据表设计2.分析 2.代码生成器生成crud1.查看generator.properties(不需要修改)2.修改application.yml 连接的数据库修改为云数据库3.启动renren-generator模块4.浏览器访问 http://localhost:81/5…

能聚合各站热点的DailyHot

什么是 DailyHot ? 今日热榜(DailyHot)是一个获取各大热门网站热门头条的聚合网站,能追踪全网热点、实现简单高效阅读。项目分为前、后端,其中后端提供了一个聚合热门数据的 API 接口。 🚩 后端 API 特性 极快响应&a…

vue3+ts(<script setup lang=“ts“>)刷新页面后保持下拉框选中效果

效果图&#xff1a; 代码&#xff1a; <template><div class"app-layout"><div class"app-box"><div class"header"><div class"header-left"></div><div class"title">室外智…

css实现围绕中心进行圆形旋转

效果如下 通过css animation属性能实现以上效果 先试用定位&#xff0c;将每一项设置一个初始位置 {cursor: pointer;left: 50%;width: 144px;height: 144px;display: flex;align-items: center;justify-content: center;margin-left: -72px;top: 228px;position: absolute;a…

Cesium 3DTileset Style 原理简析

Cesium 3DTileset Style 原理简析 应用层会看到这样的使用。那么原理是什么, 为啥写 height, 除了这个还有啥? const tileset await Cesium.Cesium3DTileset.fromUrl("../../public/tileset/building/tileset.json"); tileset.style new Cesium.Cesium3DTileSty…

【基本数据结构】链表

文章目录 前言链表简介头节点与尾节点特性 分类单向链表双向链表循环链表 单链表基本操作定义并初始化单链表读取节点插入节点删除节点修改节点 参考资料写在最后 前言 本系列专注更新基本数据结构&#xff0c;现有以下文章&#xff1a; 【算法与数据结构】数组. 【算法与数…

Python 操作数据库

十、Python3 操作数据库 1、Python3 操作 MySQL 1、基本介绍 Python3 操作 MySQL 数据库 可以使用的模块是 pymysql 和 MySQLdb。 这个两个模块都是通过自己的 API 执行原生的 SQL 语句实现的。 MySQLdb 是最早出现的一个操作 MySQL 数据库的模块&#xff0c;核心由C语言编…

LangChain-Chatchat 实践

1. 说明 比较了几个AI LLM的集成应用工具(比如Quivr, Dify, one-api), 还是LangChain-Chatchat更符合我的需要: 支持私有化部署不同的LLM知识库支持Api支持开源免费, 容易二开 相关路径: 条项路径LangChain-Chatchat 项目/data0/Projects/Langchain-ChatchatLLM 语言模型保…

【计算机毕业设计】ssm旅游景点管理系统设计

现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统 数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本旅游景点管理系统就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处理完毕庞大的数据信息&…

vaspkit 画 Charge-Density Difference

(echo 314;echo $(cat 1))|vaspkit 文件1提前写好使用的CHGCAR路径 SPIN_DW.vasp ../ML2scf/SPIN_DW.vasp ../ML1scf/SPIN_DW.vasp POSite and negative 默认为blue,and 青色 (RGB 30 245 245) 正值&#xff1a;blue 。负值&#xff1a;青色 RGB 30 245 245。 提示&…

LLM Agent智能体综述(万字长文)

前言 &#x1f3c6;&#x1f3c6;&#x1f3c6;在上一篇文章中&#xff0c;我们介绍了如何部署MetaGPT到本地&#xff0c;获取OpenAI API Key并配置其开发环境&#xff0c;并通过一个开发小组的多Agent案例感受了智能体的强大&#xff0c;在本文中&#xff0c;我们将对AI Agent…

C++设计模式|创建型 5.原型模式

1.什么是原型模式&#xff1f; 原型模式⼀种创建型设计模式&#xff0c;该模式的核⼼思想是基于现有的对象创建新的对象&#xff0c;⽽不是从头开始创建。 在原型模式中&#xff0c;通常有⼀个原型对象&#xff0c;它被⽤作创建新对象的模板。新对象通过复制原型对象的属性和状…