Skip to content

Latest commit

 

History

History
176 lines (113 loc) · 6.37 KB

几种规划.md

File metadata and controls

176 lines (113 loc) · 6.37 KB

规划问题

线性规划

线性规划模型

基本概念

$$ \max \ z = c_1x_1 + c_2x_2 + \cdots + c_nx_n \\ \\ s.t. \begin{cases} a_{11}x_1 + a_{12}x_2 + \cdots + a_{1n}x_n \le b_1 \\ a_{21}x_1 + a_{22}x_2 + \cdots + a_{2n}x_n \le b_2 \\ \cdots \\ a_{m1}x_1 + a_{m2}x_2 + \cdots + a_{mn}x_n \le b_m \\ x_1 \ge 0, x_2 \ge 0, \cdots, x_n \ge 0 \end{cases} $$

用矩阵表示为

$$ \max \ z = c^Tx \\ \\ s.t. \begin{cases} Ax \le b \\ x \ge 0 \end{cases} $$

可行域:满足约束条件的所有解构成的集合 可行解:满足约束条件的解

非线性规划

一般形式

$$ \min f(x), \\ s.t. \begin{cases} g_i(x) \le 0, i = 1, 2, \cdots, m \\ h_j(x) = 0, j = 1, 2, \cdots, p \end{cases} $$

使用向量表示:

$$ \min f(x) \\ s.t. \begin{cases} G(x) \le 0 \\ H(x) = 0 \end{cases} \\ G(x) = [g_1(x), g_2(x), \cdots, g_p(x)]^T \\ H(x) = [h_1(x), h_2(x), \cdots, h_q(x)]^T $$

对于所有满足条件的$x$,其构成的集合称为可行域,或者约束集

$$ K={x \in R^n | g_i(x) \le 0, i=1,2,\cdots,p; h_j(x)=0, j=1,2,\cdots,q} $$

对于$x \in K$,$x$称为可行解

无约束非线性规划

根据一般形式,无约束线性规划问题可以表示为:

$$ \min f(x) , x \in R^n $$

梯度:对于一元函数$f(x)$,其梯度为$f'(x)$,对于多元函数$f(x_1, x_2, \cdots, x_n)$,其梯度为:

$$ \nabla f(x) = \left[ \frac{\partial f(x)}{\partial x_1}, \frac{\partial f(x)}{\partial x_2}, \cdots, \frac{\partial f(x)}{\partial x_n} \right] $$

对于一个局部极小值点$x^$,有$\nabla f(x^) = 0$。

Hessian矩阵:对于多元函数$f(x_1, x_2, \cdots, x_n)$,其Hessian矩阵为:

$$ \nabla^2 f(x) = \begin{bmatrix} \frac{\partial^2 f(x)}{\partial x_1^2} & \frac{\partial^2 f(x)}{\partial x_1 \partial x_2} & \cdots & \frac{\partial^2 f(x)}{\partial x_1 \partial x_n} \\ \frac{\partial^2 f(x)}{\partial x_2 \partial x_1} & \frac{\partial^2 f(x)}{\partial x_2^2} & \cdots & \frac{\partial^2 f(x)}{\partial x_2 \partial x_n} \\ \vdots & \vdots & \ddots & \vdots \\ \frac{\partial^2 f(x)}{\partial x_n \partial x_1} & \frac{\partial^2 f(x)}{\partial x_n \partial x_2} & \cdots & \frac{\partial^2 f(x)}{\partial x_n^2} \end{bmatrix} $$

无约束优化问题存在局部最优解的充分条件是:目标函数$f(x)$在$x^$处连续可微,且$\nabla f(x^) = 0$,$\nabla^2 f(x^)$是正定矩阵。此时,$x^$是$f(x)$的局部极小值点。

正定矩阵:对于一个$n \times n$的矩阵$A$,如果对于任意非零向量$x \in R^n$,都有$x^TAx > 0$,则称$A$是正定矩阵。 二次型:对于一个$n$元二次齐次多项式$f(x) = x^TAx$,如果$A$是正定矩阵,则称$f(x)$是正定二次型。

简单证明:

对于一个$n$元二次齐次多项式$f(x) = x^TAx$,有

$$ f(x) = \sum_{i=1}^n \sum_{j=1}^n a_{ij}x_ix_j $$

对于一个非零向量$x = [x_1, x_2, \cdots, x_n]^T$,有

$$ x^TAx = \sum_{i=1}^n \sum_{j=1}^n a_{ij}x_ix_j = \sum_{i=1}^n \sum_{j=1}^n a_{ij}x_ix_j + \sum_{i=1}^n \sum_{j=1}^n a_{ji}x_jx_i = \sum_{i=1}^n \sum_{j=1}^n a_{ij}x_ix_j + \sum_{i=1}^n \sum_{j=1}^n a_{ij}x_ix_j = 2 \sum_{i=1}^n \sum_{j=1}^n a_{ij}x_ix_j $$

对于一个正定矩阵$A$,有$x^TAx > 0$。

有约束非线性规划

等式约束和拉格朗日乘子法

对于有约束非线性规划问题:

$$ \min f(x) \\ s.t. \begin{cases} h_i(x) = 0, i = 1, 2, \cdots, p \\ x \in R^n \end{cases} $$

可以通过拉格朗日乘子法将其转化为无约束非线性规划问题。

拉格朗日定理:对于在可行点 $x^*$ 处连续可微的函数 $f(x)$ ,向量组 $h(x) = [h_1(x), h_2(x), \cdots, h_p(x)]^T$ 线性无关,令

$$ L(x, \lambda) = f(x) + \lambda^T h(x) $$

其中 $\lambda = [\lambda_1, \lambda_2, \cdots, \lambda_p]^T$ 。若 $x^$ 是 $f(x)$ 在约束条件下的极值点,则存在 $\lambda^ = [\lambda_1^, \lambda_2^, \cdots, \lambda_p^*]^T$ 使得

$$ \nabla L(x^, \lambda^) = 0 $$

$$ \nabla f(x^) + \sum_{i=1}^p \lambda_i^ \nabla h_i(x^*) = 0 $$

用人话讲就是,如果 $x^$ 是 $f(x)$ 在约束条件下的极值点,那么 $f(x)$ 在 $x^$ 处的梯度 $\nabla f(x^)$ 与约束条件 $h_i(x)$ 在 $x^$ 处的梯度 $\nabla h_i(x^*)$ 的线性组合为 $0$

罚函数法

对于有约束非线性规划问题,可以通过罚函数法将其转化为无约束非线性规划问题。即是说,对于那个所需求极值点的函数,加上一个惩罚项,使得在约束条件下,偏离约束条件的程度越大,惩罚越大。因而可以将结果“纠正”到约束条件下。

凸优化

凸集和凸函数

凸集:对于一个集合 $C$ ,如果对于任意两个点 $x_1, x_2 \in C$ ,连接 $x_1, x_2$ 的线段上的任意一点 $x$ 也在 $C$ 中,则称 $C$ 是凸集。

凸函数:对于一个函数 $f(x)$ ,如果对于任意两个点 $x_1, x_2$ ,有

$$ f(\theta x_1 + (1-\theta)x_2) \le \theta f(x_1) + (1-\theta)f(x_2) $$

其中 $0 \le \theta \le 1$ ,则称 $f(x)$ 是凸函数。

直观上,凸函数的图像是上凸的,即对于任意两点 $x_1, x_2$ ,连接 $x_1, x_2$ 的线段上的任意一点 $x$ 都在 $f(x)$ 的上方或者在 $f(x)$ 上。

对于凸函数的判定,有以下几个方法:

  • 一阶条件:对于任意 $x_1, x_2$ ,有 $f(x_2) \ge f(x_1) + \nabla f(x_1)^T(x_2 - x_1)$
  • 二阶条件:如果 $f(x)$$\Omega$ 上二次可微,且 $\nabla^2 f(x)$$\Omega$ 上处处是半正定矩阵,则 $f(x)$ 是凸函数。

人话解释:对于半正定矩阵,有结论:对于任意非零向量 $x$ ,都有 $x^TAx \ge 0$ 。对于一元函数很显然,累加之后,可以得到二阶导大于等于零。则 $f(x)$ 是凸函数。多元函数同理。

凸规划问题的:

  • $f(x)$ 是凸函数
  • g_i(x) 是凸函数
  • h_j(x) 是线性函数

库恩-塔克条件

对于某个非线性规划问题,引入拉格朗日乘子 $\lambda$$\mu$

$$ L(x, \lambda, \mu) = f(x) + \sum_{i=1}^m \lambda_i g_i(x) + \sum_{j=1}^p \mu_j h_j(x) $$

对于局部最优解 $x^$ ,且其所有起作用的梯度 $\nabla g_i(x^)$ 和 $\nabla h_j(x^)$ 线性无关,则存在 $\lambda^$ 和 $\mu^*$ 使得:

$$ \begin{cases} \nabla L(x^, \lambda^, \mu^) = 0 \ \lambda_i^ \ge 0, i = 1, 2, \cdots, m \ \lambda_i^* g_i(x^*) = 0, i = 1, 2, \cdots, m \end{cases} $$

满足上式称为库恩-塔克点;所有的库恩-塔克点都是全局最优解。