武汉理工大学-最优化理论与方法-复习指南

武汉理工大学-最优化理论与方法-复习指南

制作:纪元

本提纲遵循CC-BY-NC-SA协议
(署名-非商业性-相同方式共享)

README

本提纲根据PPT9进行整理总结,主要收录了重要定义和算法(加粗部分)

考试内容请以卷面呈现效果为准

最优化概述

线性规划

在上述例子中,有的目标函数和约束函数都是线性的,称之为线性规划问题

而有的模型中含有非线性函数,称之为非线性规划

在线性与非线性规划中,满足约束条件的点称为可行点

全体可行点组成的集合称为可行集可行域

如果一个问题的可行域是整个空间,则称此问题为无约束问题

最优解

f ( x ) f(x) f(x) 为目标函数, S S S 为可行域, x 0 ∈ S x_0\in S x0S,若对每一个 x ∈ S x\in S xS,成立 f ( x ) ≥ f ( x 0 ) f(x)\geq f(x_0) f(x)f(x0),则称 x 0 x_0 x0为极小化问题 m i n f ( x ) minf(x) minf(x) x ∈ S x\in S xS 的**(整体)最优解**。

f ( x ) f(x) f(x) 为目标函数, S S S 为可行域,若存在 x x x ε ε ε邻域 N ε ( x 0 ) = { x ∣ ∥ x − x 0 ∥ < ε , ε > 0 } N_\varepsilon(x_0)=\{x| \|x-x_0\|<\varepsilon,\varepsilon>0\} Nε(x0)={xxx0<ε,ε>0},使得对每个 x ∈ S ∩ N ε ( x 0 ) x∈S∩N_\varepsilon(x_0) xSNε(x0),成立 f ( x ) > f ( x 0 ) f(x)>f(x_0) f(x)>f(x0),则称 x 0 x_0 x0为极小化问题 m i n f ( x ) , x ∈ S minf(x),x∈S minfx,xS局部最优解

线性空间和范数

求解向量范数

对任意 x = ( x 1 , x 2 , … , x n ) ∈ C n x=(x_1,x_2,…,x_n)∈C^n x=(x1,x2,,xn)Cn,由
∥ x ∥ p ≡ p ( Σ i = 1 n ) ∣ x i ∣ p ) \|x\|_p\equiv ^p \sqrt {\left( \Sigma^n_{i=1})|x_i|^p \right)} xpp(Σi=1n)xip)
定义的 ∥ ⋅ ∥ p \|·\|_p p F n F^n Fn上的向量范数,称为 p p p范数或 l p l_p lp范数或 Holder范数

极限

如果序列 x n {x_n} xn与常数 a a a有下列关系:

∀ \forall 正数 ε \varepsilon ε(不论它多么小), ∃ \exist 正整数 N N N,使得对于 ∀ x n \forall x_n xn( n > N n>N n>N),不等式
∣ x n − a ∣ < ε |x_n-a|<\varepsilon xna<ε
都成立,则称常数 a a a是序列 x n {x_n} xn的极限,或者称序列 x n {x_n} xn收敛于 a a a

记为:
l i m n → ∞ x n = a lim_{n\to \infty}x_n=a limnxn=a
或:
x n → a ( n → ∞ ) x_n\to a(n\to \infty) xna(n)

方向导数存在性

函数的增量 f ( x + Δ x , y + Δ y ) − f ( x , y ) f(x+\Delta x,y+\Delta y)-f(x,y) f(x+Δx,y+Δy)f(x,y) P P ’ PP’ PP两点间的距离 ρ = ( Δ x ) 2 + ( Δ y ) 2 \rho =\sqrt{(\Delta x)^2+(\Delta y)^2} ρ=(Δx)2+(Δy)2 比值,当 P ′ P' P沿着 l l l趋于 P P P时,如果此比的极限存在,则称这极限为函数在点 P P P沿方向 l l l方向导数

方向导数求法

前提条件:如果函数 x = f ( x , y ) x=f(x,y) x=f(x,y)在点 P ( x , y ) P(x,y) P(x,y)可微分,那么函数在该点沿任意方向的方向导数都存在。
∂ f ∂ l = l i m f ( x + Δ x ) , ( y + Δ y ) − f ( x , y ) ρ \frac{\partial f}{\partial l}=lim\frac{f(x+\Delta x),(y+\Delta y)-f(x,y)}{\rho} lf=limρf(x+Δx),(y+Δy)f(x,y)

∂ f ∂ l = ∂ f ∂ x c o s φ + ∂ f ∂ y s i n φ \frac{\partial f}{\partial l}=\frac{\partial f}{\partial x}cos\varphi+\frac{\partial f}{\partial y}sin \varphi lf=xfcosφ+yfsinφ

其中𝜑为x轴到方向l的转角

梯度

通俗描述:是一个矢量,其方向上的方向导数最大,其大小正好是此最大方向导数。

设函数 f ( x , y ) f(x,y) f(x,y)在平面区域 D D D内具有一阶连续偏导数,则对每一点 P ( x 0 , y 0 ) ∈ D P(x_0,y_0)∈D P(x0,y0)D,都可以定出一个向量 f x ( x 0 , y 0 ) i + f y ( x 0 , y 0 ) j f_x(x_0,y_0)i+f_y(x_0,y_0)j fx(x0,y0)i+fy(x0,y0)j 称为 f ( x , y ) f(x,y) f(x,y) P P P点处的梯度,记作 ▽ f ( x 0 , y 0 ) \triangledown f(x_0,y_0) f(x0,y0)

函数在某点梯度的求法

函数的海森矩阵

通用计算公式:
[ ▽ 2 f ( x ) ] i f ≡ ∂ 2 f ( x ) ∂ x i ∂ x j [\triangledown ^2f(x)]_{if}\equiv\frac{\partial^2f(x)}{\partial x_i\partial x_j} [2f(x)]ifxixj2f(x)
二元函数的海森矩阵计算公式:
∂ 2 f ( x ) ∂ x i ∂ x j = ∂ 2 f ( x ) ∂ x i ∂ x j \frac{ \partial ^2f(x)}{\partial x_i\partial x_j}=\frac{\partial ^2f(x)}{ \partial x_i \partial x_j} xixj2f(x)=xixj2f(x)

映射的雅各比行列式

若在n维欧式空间中的一个向量映射成m维欧式空间中的另一个向量的对应法则为F,F由m个实函数组成,即:

那么雅可比矩阵是一个 m × n m×n m×n矩阵:

函数的泰勒展开

方法1

直接使用定义:
f ( x ) = Σ i = 0 n f ( i ) ( x 0 ) i ! ( x − x 0 ) i f(x)=\Sigma^n_{i=0}\frac{f^(i)(x_0)}{i!}(x-x_0)^i f(x)=Σi=0ni!f(i)(x0)(xx0)i

方法2

求函数在 x 0 x_0 x0点的 n n n阶泰勒展开式:

  1. 写出 g ( x ) = a 0 + a 1 x + a 2 x 2 + . . . + a n x n g(x)=a_0+a_1x+a_2x^2+...+a_nx^n g(x)=a0+a1x+a2x2+...+anxn
  2. 对于所有 1 ≤ i ≤ n 1\leq i\leq n 1in求出: f i ( x 0 ) = g i ( x 0 ) f^i(x_0)=g^i(x_0) fi(x0)=gi(x0)
  3. 代入求解即可

凸集和凸函数

凸集的定义

对于n维空间中点的集合C,如果对集合中的任意两点x和y,以及实数 0 ≤ θ ≤ 1 0≤\theta≤1 0θ1,都有
θ x + ( 1 − θ ) y ∈ C \theta x+(1-\theta)y∈C θx+(1θ)yC
则称该集合称为凸集。

凸集的性质

  1. 多个凸集的交集还是凸集
  2. 如果每个等式或者不等式约束条件定义的集合都是凸集,那么这些条件联合起来定义的集合还是凸集
  3. 凸集的并集并不一定是凸集

凸函数的定义

在函数的定义域内,如果对于任意的X和y,以及实数 0 < θ < 1 0<θ<1 0<θ<1,都满足如下条件
f ( θ x + ( 1 − θ ) y ) ≤ θ f ( x ) + ( 1 − θ ) f ( y ) f(\theta x+(1-\theta)y)≤\theta f(x)+(1-\theta)f(y) f(θx+(1θ)y)θf(x)+(1θ)f(y)
则函数为凸函数。当式中不含等号时,为严格凸函数

凸函数的判断

  1. 使用定义判断
  2. 对于一元函数,凸函数的判定规则为:其二阶导数大于等于0,即 f ′ ′ ( x ) ≥ 0 f''(x)\geq0 f(x)0
  3. 对于多元函数,如果它是凸函数,则其Hessian矩阵为半正定矩阵

  1. D ∈ R n D \in R^n DRn为非空开凸集,f(x)是定义在D上的可微函数,则f(x)是凸函数的充分必要条件是:

f ( y ) ≥ f ( x ) + ▽ f ( x ) T ( y − x ) f(y) \geq f(x) + \triangledown f(x)^T(y-x) f(y)f(x)+f(x)T(yx)

正定矩阵

给定一个大小为n×n的实对称矩阵A,若对于任意长度为n的非零向量x有 x T A x > 0 x^TAx>0 xTAx>0恒成立,则矩阵A是一个正定矩阵。

半正定矩阵

给定一个大小为n×n的实对称矩阵A,若对于任意长度为n的向量x,有 x T A x ≥ 0 x^TAx\geq0 xTAx0恒成立,则矩阵A是一个半正定矩阵。

矩阵正定与半正定的判断

  1. 给定一个大小为 m × n m×n m×n的实对称矩阵 A A A,若对于任意长度为 m m m的非零向量 x x x,有 x T A x > 0 x^TAx>0 xTAx>0恒成立,则矩阵 A A A是一个正定矩阵。
  2. 给定一个大小为 m × n m×n m×n的实对称矩阵 A A A,若对于任意长度为 m m m的非零向量 x x x,有 x T A x ≥ 0 x^TAx\geq0 xTAx0恒成立,则矩阵 A A A是一个半正定矩阵。

函数的极值点判断

  1. 如果Hessian矩阵正定,函数在该点有极小值
  2. 如果Hessian矩阵负定,函数在该点有极大值
  3. 如果Hessian矩阵不定,则不是极值点(鞍点)

线性规划

凸优化问题

如果一个最优化问题的可行域是凸集,并且目标函数是凸函数,则该问题为凸优化问题

m i n f ( x ) x ∈ C minf(x)\\ x \in C minf(x)xC
其中x为优化变量;f为凸目标函数;C是优化变量的可行域,是一个凸集。

此时局部最优解一定是全局最优解

解的基本定理

  1. 线性规划问题的可行域是凸集(凸多边形)。
  2. 最优解一定是在凸集的某一顶点实现(顶点数目不超过 C n m C_n^m Cnm个)。
  3. 先找一个基本可行解,与周围顶点比较,如不是最大,继续比较,直到找出最大为止。

解的分类

  1. 可行解:满足约束条件的解为可行解。所有解的集合为可行解的集或可行域。
  2. 最优解:使目标函数达到最大值的可行解。线性规划问题的解
  3. 基本解:只满足等式约束条件,但不满足其他条件的所有解,最多为 C n m C^m_n Cnm个。
  4. 基本可行解:满足非负约束条件的基本解,简称基本可行解

图解法

标准型的化法

  1. 检查约束条件符号,保证为等号
    • 如果为 ≥ \geq ,添加松弛变量 − y ( y ≥ 0 ) -y(y\geq0) y(y0)
    • 如果为 ≤ \leq ,添加松弛变量 + y ( y ≤ 0 ) +y(y\leq0) +y(y0)
  2. 检查所有约束条件,保证不等式右边实数非负。
    • 如果是负数,两边加负号变号即可
  3. 检查变量范围是否均大于零
    • 如果 x ≤ 0 x\leq0 x0,用 y = − x , ( y ≥ 0 ) y=-x,(y\geq0) y=x,(y0)代替
    • 如果 x x x无约束,用 y 2 − y 1 = x , ( y 1 , y 2 ≥ 0 ) y2-y1=x,(y_1,y_2\geq0) y2y1=x,(y1,y20)代替
  4. 检查目标函数,保证为Max,并拥有所有未知量
    • 如果是Min,加负号变号即可
    • 缺少的未知量,补0系数即可

单纯形法及单纯形表的使用

详见PPT9:44-48页

线性规划的对偶问题

对偶问题的转换方法

  1. 规范化:将约束条件变为 M a x , ≤ Max,\leq Max, M i n , ≥ Min,\geq Min,形式

    • = = =化为 ≥ \geq ≤ \leq 两个式子,再变一个号
    • 其他符号直接变号
  2. 按照表格的对应规则进行转化:

单纯形表解对偶问题

类似于单纯形表解原问题,但结果是 [ σ 1 . . . σ n ] [\sigma_1...\sigma_n] [σ1...σn]而不是 [ b 1 . . . b n ] [b_1...b_n] [b1...bn]

对偶定理

  1. 定理3-1 (弱对偶定理)
    • 若 x, y 分别为(LP,max) 和(DP,min)的可行解,则cTx ≤ bTy
  2. 定理2 (最优性准则定理)
    • 若x,y分别(LP),(DP)的可行解,且cTx=bTy ,那么x,y分别为(LP)和(DP)的最优解。
  3. 定理3 (主对偶定理)
    • 若(LP)和(DP)均可行 那么(LP)和(DP)均有最优解,且最优值相等。以上定理、推论对任意形式的相应性规划的对偶均有效

整数规划的一般方法

  1. 分支定界法
  2. 割平面法
  3. 匈牙利法(指派问题)

无约束优化

最优化问题的表示

m i n x ⊂ R n f ( x ) min_{x \subset R_n}f(x) minxRnf(x)

全局最优解

∀ x ⊂ R n , f ( x ∗ ) ≤ f ( x ) \forall x \subset R^n, f(x^*) \leq f(x) xRn,f(x)f(x)

局部最优解

存在 x ∗ x^* x的邻域
N ε ( x ∗ ) = { x ∣ ∥ x − x ∗ ∥ < ε , ε > 0 } , ∀ x ∈ N ε ( x ∗ ) , f ( x ∗ ) ≤ f ( x ) N_{\varepsilon}(x^*)=\{x|\|x-x^*\|<\varepsilon,\varepsilon>0\}, \forall x∈N_{\varepsilon}(x^*),f(x^*)≤f(x) Nε(x)={xxx<ε,ε>0}xNε(x)f(x)f(x)

最优性条件

最优性条件是最优化问题的最优解(局部的或全局的)所必须满足的条件

常用的有一阶必要条件和二阶必要条件.:

  • 凸函数的充分必要条件
  • 下降方向的充要条件
  • 一阶必要条件
  • 二阶充要条件

进退试算法确定搜索区间

  1. 给定初始点 a 0 a_0 a0和初始步长 h h h

  2. a 0 a_0 a0 a 0 + h a_0+h a0+h代入目标函数 f ( x ) f(x) f(x)进行计算并比较大小

    • f ( a 0 ) > f ( a 0 + h ) f(a_0)>f(a_0+h) f(a0)>f(a0+h),则表明极小点在试算点的右侧,需做前进试算
      • 在做前进运算时,为加速计算,可将步长 h h h增加2倍,并取计算新点为 a 0 + h + 2 h = a 0 + 3 h a_0+h+2h=a_0+3h a0+h+2h=a0+3h
      • f ( a 0 + h ) ≤ f ( a 0 + 3 h ) f(a_0+h)≤f(a_0+3h) f(a0+h)f(a0+3h)则所计算的相邻三点的函数值已具“高-低-高”特征,这时可确定搜索区间 a ≡ a 0 , b ≡ a 0 + 3 h a \equiv a_0,b\equiv a_0+3h aa0ba0+3h
      • 否则,将步长再加倍,并重复上述运算。
  • f ( a 0 ) < f ( a 0 + h ) f(a_0)<f(a_0+h) f(a0)<f(a0+h),则表明极小点在试算点的左侧,需做后退试算
    • 在做后退运算时,应将步长变为 − h -h h,并从点 a 0 a_0 a0出发,得到后退点为 a 0 − h a_0-h a0h
    • f ( a 0 − h ) > f ( a 0 ) f(a_0-h)>f(a_0) f(a0h)>f(a0),则搜索区间可取为 a = a 0 − h , b = a 0 + h a=a_0-h,b=a_0+h a=a0hb=a0+h
      • 否则,将步长加倍,继续后退,重复上述步骤,直到满足单峰区间条件为止。

黄金分割法

特征:题目给出个起始点

  1. 找到区间的左右极限 x 1 , x 2 x_1,x_2 x1,x2
  2. 求出 f ( x 1 ) , f ( x 1 + 0.382 ( x 2 − x 1 ) ) , f ( x 1 + 0.618 ( x 2 − x 1 ) ) , f ( x 2 ) f(x_1),f(x_1+0.382(x_2-x_1)),f(x_1+0.618(x_2-x_1)),f(x_2) f(x1),f(x1+0.382(x2x1)),f(x1+0.618(x2x1)),f(x2)的值 y 1 , y 2 , y 3 , y 4 y_1,y_2,y_3,y_4 y1,y2,y3,y4
  3. 找到满足**“高低高”**的最小区间
  4. 如果区间长度小于 ε \varepsilon ε,结束计算,输出 0.5 × ( x 高 1 x 高 2 ) 0.5\times(x_{高1}x_{高2}) 0.5×(x1x2),如果大于,重复 1 − 3 1-3 13

牛顿法

特征:题目给出个起始点

  1. 计算 x n + 1 = x n − f ′ ( x n ) f ′ ′ ( x n ) x_{n+1}=x_n-\frac{f'(x_n)}{f''(x_n)} xn+1=xnf(xn)f(xn)
  2. 如果 x n + 1 − x n x_{n+1}-x_{n} xn+1xn长度小于 ε \varepsilon ε,结束计算,如果大于,重复 1 1 1

阻尼牛顿法

  1. 计算 α = m i n f ( x n + α f ′ ( x n ) f ′ ′ ( x n ) ) \alpha=minf(x_n+\alpha \frac{f'(x_n)}{f''(x_n)}) α=minf(xn+αf(xn)f(xn))
  2. 计算 x n + 1 = x n + α f ′ ( x n ) f ′ ′ ( x n ) x_{n+1}=x_n+\alpha\frac{f'(x_n)}{f''(x_n)} xn+1=xn+αf(xn)f(xn)
  3. 如果 x n + 1 − x n x_{n+1}-x_{n} xn+1xn长度小于 ε \varepsilon ε,结束计算,如果大于,重复 1 − 2 1-2 12
特点
  1. 初始点应选在 X ∗ X^* X附近,有一定难度;
  2. 尽管每次迭代都不会是函数值上升,但不能保证每次下降 ;
  3. 若迭代点的海赛矩阵为奇异,则无法求逆矩阵,不能构造牛顿法方向;
  4. 不仅要计算梯度,还要求海赛矩阵及其逆矩阵,计算量和存储量大。此外,对于二阶不可微的F(X)也不适用。
  5. 特定条件下它具有收敛最快的优点

抛物线法

特征:题目给出个起始点

  1. 计算
    x 4 = ( x 1 2 − x 2 2 ) f 3 + ( x 2 2 − x 3 2 ) f 1 + ( x 3 2 − x 1 2 ) f 2 2 ( x 1 − x 2 ) f 3 + ( x 2 − x 3 ) f 1 + ( x 3 − x 1 ) f 2 x_4=\frac{(x_1^2-x_2^2)f_3+(x_2^2-x_3^2)f_1+(x_3^2-x_1^2)f_2}{2(x_1-x_2)f_3+(x_2-x_3)f_1+(x_3-x_1)f_2} x4=2(x1x2)f3+(x2x3)f1+(x3x1)f2(x12x22)f3+(x22x32)f1+(x32x12)f2

  2. 计算 f ( x 1 ) , f ( x 2 ) , f ( x 3 ) , f ( x 4 ) f(x_1),f(x_2),f(x_3),f(x_4) f(x1),f(x2),f(x3),f(x4)的值 y 1 , y 2 , y 3 , y 4 y_1,y_2,y_3,y_4 y1,y2,y3,y4

  3. 找到满足**“高低高”**的最小区间

  4. 如果区间长度小于 ε \varepsilon ε,结束计算,输出 0.5 × ( x 高 1 x 高 2 ) 0.5\times(x_{高1}x_{高2}) 0.5×(x1x2),如果大于,重复 1 − 3 1-3 13

最速下降法

  1. 设步长 α \alpha α,求出梯度 ▽ f ( x n ) = [ x 1 , x 2 . . . x n ] \triangledown f(x_n)=[x_1,x_2...x_n] f(xn)=[x1,x2...xn],写出 x n + 1 = x n − α ▽ f ( x n ) x_{n+1}=x_n-\alpha\triangledown f(x_n) xn+1=xnαf(xn)
  2. 写出 f ( x 1 ) f(x_1) f(x1),并求出 α \alpha α使 f ′ ( x 1 + n ) = 0 f'(x_{1+n})=0 f(x1+n)=0
  3. 求出 ▽ f ( x n + 1 ) = [ x 1 ′ , x 2 ′ . . . x n ′ ] \triangledown f(x_{n+1})=[x'_1,x'_2...x'_n] f(xn+1)=[x1,x2...xn]
  4. 如果 ∥ ▽ f ( x n + 1 ) ∥ = Σ i = 1 N x i ′ 2 \|\triangledown f(x_{n+1})\|=\sqrt{\Sigma_{i=1}^N{x'_i}^2} f(xn+1)=Σi=1Nxi2 小于 ε \varepsilon ε,结束计算,输出 x n + 1 x_{n+1} xn+1,如果大于,重复 1 − 3 1-3 13

最速下降法优缺点

  • 优点:梯度下降法实现简单,当目标函数是凸函数时,梯度下降法的解是全局解。
  • 缺点:靠近极小值时收敛速度减慢,求解需要很多次的迭代;直线搜索时可能会产生一些问题;可能会“之字形”地下降。

下降方向

若搜索方向 p k p_k pk满足 f ( x ( k ) + t k p k ) < f ( x ( k ) ) f(x^{(k)}+t_kp_k)<f(x^{(k)}) f(x(k)+tkpk)<f(x(k)),则称 p k p_k pk f ( x ) f(x) f(x)在点 x ( k ) x^{(k)} x(k)处的下降方向。

下降方向的充分必要条件

f ( x ) f(x) f(x)可微,向量 p k p_k pk为点 x ( k ) x^{(k)} x(k)处下降方向的充分必要条件为 ▽ f ( x k ) T p k < 0 \triangledown f(x^{k})^Tp_k<0 f(xk)Tpk<0

常用终止准则

n阶条件

f ( x ) f(x) f(x)的一阶导数和二阶导数存在,且分别表示为 g ( x ) = ▽ f ( x ) , g ( x ) = ▽ 2 f ( x ) g(x)=\triangledown f(x),g(x)=\triangledown ^2f(x) g(x)=f(x),g(x)=2f(x)

一阶必要条件

f : D ⊂ R n → R 1 f:D\subset R^n→R^1 f:DRnR1在开集D上连续可微,若 x ∗ ∈ D x^*∈D xD m i n x ∈ R n f ( x ) min_{x \in R^n}f(x) minxRnf(x)的局部极小点,则 g ( x ∗ ) = 0 g(x^*)=0 g(x)=0

二阶必要条件

f : D ⊂ R n → R 1 f:D \subset R^n→R^1 f:DRnR1在开集D上二阶连续可微,若 x ∗ ∈ D x^*∈D xD m i n x ∈ R n f ( x ) min_{x \in R^n}f(x) minxRnf(x)的局部极小点,则x∈Rn g ( x ∗ ) = 0 , G ( x ∗ ) ≥ 0 ( G ( x ∗ ) g(x^*)=0,G(x^*)≥0(G(x^*) g(x)=0G(x)0(Gx)半正定)

二阶充分条件

f : D ⊂ R n → R 1 f:D \subset R^n→R^1 f:DRnR1在开集D上二阶连续可微,则 x ∗ ∈ D x^*∈D xD f f f的一个严格局部极小点的充分条件是 g ( x ∗ ) = 0 g(x^*)=0 g(x)=0 G ( x ∗ ) G(x^*) G(x)是正定矩阵。

共轭方向性质

  1. 若非零向量系 d 0 , d 1 , d 2 , … , d m − 1 d0,d1,d2,…,dm-1 d0,d1,d2,,dm1是对G共轭,则这m个向量是线性无关的。
  2. 在n维空间中互相共轭的非零向量的个数不超过n。
  3. 从任意初始点出发,顺次沿n个G的共轭方向 d 0 , d 1 , d 2 , … , d n d_0,d_1, d_2,…,d_n d0,d1,d2,,dn进行一维搜索,最多经过n次迭代就可以找到的二次函数 f ( x ) f(x) f(x)极小点。
  • 4
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值