OR 导论


1. intruction

问题 - 》模型 - 》 算法

1.1. 原理 ARRD

  • A - approximation , 近似求解
  • R - reformulation , 对问题进行重构
  • R - relaxation , 对复杂约束进行处理 - 线性松弛
  • D - Decomposition, 大规模问题分割子问题

2. 线性导论

所有的向量都需要使用 mathbf 加粗, 且向量均为列向量

类型 表示方法 展示
标量 普通 $x$
向量 粗体小写字母,使用 \mathbf $\mathbf{x}$
矩阵 粗体大写字母,使用 mathbf $\mathbf{X}$
张量 花体字母, 使用 \mathcal $\mathcal{X}$

2.1. 单纯形法

性质:最优点一定在顶点 / 无穷点 上

  1. 从一个顶点开始
  2. 判断是否是最优点,stop, 否则进入 3 中
  3. 如何移动到相邻顶点

顶点是由两条边相交形成的,然后形成一个顶点,作为待解点

2.2. stardard form

  1. 最小化目标函数
  2. 等式约束
  3. 变量非负

使用乘法,按照元素方式看待模型

image-20251204204345353

2.3. converting to stardard

2.3.1. 目标中存在绝对值

使用 $x^+. x^-$ 来替换|x|

image-20251204204902956

按照更换公式, $|x| , x$ 的表示方法如下:

2.3.2. 不等式转换为等式

增加 松弛变量

  1. 小于时, 加上松弛变量
  2. 大于时, 减去松弛变量

image-20251204205341113

2.3.3. 最大化 - > 最小化

增加 “-”

2.4. 凸函数

凸函数定义:开口向上,具有最小值

2.4.1. 性质

  1. $f_1, f_2, \dots, f_n$ 都是凸函数 $y = max(f(x))$ 也是凸函数

  2. 一堆线性函数求最大值,是凸函数 ,

    一个凸函数可以转换为多个分段线性函数

    Piecewise linear convex objective

使用多个线性的 max 表示之后,可以使用引入新变量,消除 max

引用新变量,消除 max

max 可以引用一个新的变量替换

|X| = max{x, -x }

image-20251204211628454

2.5. linear algebra

image-20251204212120685

3. 几何表示

一个等式 是 一个超平面(对应维度的子空间, 少一个维度的空间)

可以叫对应的几何空间划分为三个部分,

  • 上空间
  • 超平面
  • 下空间

梯度方向是函数增大的方向, - 梯度方向是函数减小的方向

3.1. 多面体 polyhedron

一个多面体 = 多个半空间相交

顶点 = 极值点 = 基可行解

3.2. 代数运算

3.2.1. 求基解

紧约束: 等式 对 顶点的确定起了作用, 成为紧约束,即 在这里不等式 变为等式

顶点定义: 紧约束数量 = dim()

等式约束本身就是紧约束,需要再选出部分非等式约束,组成 n 个约束

此时,求得的顶点是基解,但是由于缺少其他约束, 因此不是可行解

image-20251205174953597

  1. 线性约束数量 为 m , 变量数量为 n
  2. M < n
  3. 此时将 n - m 个 $ x_i \geq 0$ 变为紧约束,可以求解了

求出的 x 是基解 , 即所有线段相交的节点

B 是基变量, N 为非基变量

3.2.2. 基解退化

3.2.2.1. 几何

其他约束在这里也是紧约束,有一个新的约束也是紧约束,是多余的紧约束, 反映在代数中有一个基解为 0 .

基解几何表示

3.2.2.2. 代数

image-20251209182538869

多个基 可能会对应一个基解

= 》 变换不同的解,但是相交的节点相同

3.2.2.3. 基解与节点坐标关系

image-20251209183042320

3.3. simplex methed

$x_B^T$ $x_N^T$ rhs
$x_B$ $B$ $N$ $b$
$r^T$ $0^T$ $c_N^T - c_B^T N$ $0^T$

$x_B^T$ $x_N^T$ rhs
$x_B$ $I$ $B^{-1} N$ $B^{-1} b$
$r^T$ $0^T$ $c_N^T - c_B^T B^{-1} N$ $- c_B^T B^{-1} b$

$B^{-1} b$ 代表可行方向, 初始解开始可行,之后变换过程中,始终保持 rhs 为正

$c_N^T - c_B^T B^{-1} N$ 是最优方向

顶点数量为 $C_{n}^{n-m} = C_{n}^{m}$ , 数量较大,选择一种有效的方式筛选点

  1. 选择初始点
  2. 从起始点 -》 最优点

对于线性规划, 是一个凸函数问题, 局部最优点 = 全局最优

  1. 选择可行方向
  2. 选择最好的方向
  3. 方向上行动的距离

3.3.1. 可行方向

image-20251209211842303

  1. 开始 $ Ax = b$

  2. 移动 x 到 下一个顶点, 为 $ x + \theta d$

  3. 依旧满足顶点公式, $A(x + \theta d) = b$, 得到 $A \theta d = 0$

  4. 其中 $ d_N$ 仅 修改 $ d_j$ , $d_B$ 作为待修改对象(人为规定,不要问为什么)

    计算得到

可行方向 $[d_B, d_N]$ , 对于非退化解, 方向一定是可行,否则,不可行

3.3.2. 好的方向

原目标函数

image-20251209213512392

reduced_cost 需要保证 $\bar{c}_j = c_j - c_B^T B^{-1} A_J$ , 结果值 要小于 0

3.3.3. 最优条件

  1. 所有的基 向量大于 0
  2. 所有非基变量的 reduced cost 大于 0 ,没有可以下降的非基 时候,

image-20251209213930140

3.3.4. 行动的步长

$ cost = \theta * \bar{c} $ ,所以 $\theta$ 步长值 尽可能大

最大步长受限于 $X_B + \theta d_B$, 基变量的值需要满足非负变量

image-20251209214846730

3.4. LP 基本矩阵

$x_B$ 是基变量, $ x_N $ 是非基变量

其中

其中满足 $Ax = Bx_B + Nx_N = b$ , 计算得到 $ x = [x_B ; x_N] = [B^{-1}b ; 0] $

式子可以改写为 image-20251213214033236

其中 M 成为基本矩阵

3.5. 两阶段 simplex method

image-20251213221428119

原因 : 当约束中不存在不等式约束 时, 不能增加新的变量, 构成基, 因此不容易找到初始可行解

方法: 使用两阶段单纯形法

4. 搜索算法

梯度方向 = 当前 $x$ 附近, 函数下降最快的方向

内积最大的情况下, $\Delta f(x) = \Delta x$

  1. max 变化值最大的 $\Delta x $ , 取值 $\Delta x = \Delta f(x)$
  2. min 变化值最大的 $\Delta x $ , 取值 $\Delta x = -\Delta f(x)$

4.1. 有约束的搜索方向

图 1

图 2

  1. 当 $ \Delta x = - \alpha_i^T$ 时候, 沿着可行方向的梯度无法下降,找到局部最优点,此时无法再下降
  2. 否则,需要保持上图 1 中的约束条件

4.2. 解析解

做出一定的假设,使用解析解进行灵敏度分析

image-20251215115540793

解析解是对输入参数的表示,原有输入参数中使用数值表示,是特定情况下的固定结果

即将原有的公式中的式子使用代数表示, 如图下所示:

模型求解

5. dual method

pinal - > dual

reformation 一个心得问题,通过 relation 的方式实现

  1. 提供新的求解方案
  2. 提供另一个求解思路

5.1. legrengean relation

对不满足约束的情况增加惩罚 $p$, 得到

希望惩罚越来越小,所有 $()$ 内式子会趋近于 0

5.2. Pinal - > dual

$g(p) = c^Tx + p^t(b- Ax)$ 是松弛后的问题,每一 $g(P)$ 对应 原函数 $P$ 的下界,目标转换为对求解 $max \space g(p)$

然后通过推导,

因为 min 对 x 变量求最小值, 对 $P^T b$ 是常量,得到

因为 $x \geq 0$ ,所以,当 $c^T - p^TA \geq 0$ 时, min 可以取得最小值 0 , 函数值取值为 $p^T b$

最终问题转换为

p-> d 纸质推导过程

5.2.1. 剩余形式约束转换

对偶问题约束转换

5.3. dualtiy theory

  1. weak duality
  2. strong duality
  3. complementary slackness

对偶性

5.3.1. weak duality

5.3.2. strong duality

所以,得到 $w^T = c_B^TB^{-1}$

image-20251216163421611

对偶问题可行 -》 原问题最优

5.3.3. 对偶理论

P 问题 f-b(feasible - bounded) 与 对应 D 问题的 f-b

image-20251216163754240

5.3.4. 互补松弛理论

互补定义:

  1. P 的松弛 * D 和可行解 = 0
  2. D 的松弛 * P 的可行解 = 0

互补松弛理论: 满足互补松弛理论时 = 》 x 时最优解, w 也是最优解

对偶松弛理论

5.3.5. KKT 条件

对于线性问题, 满足互补松弛理论,即可获得问题的最优解

image-20251216170426742

5.4. 经济学变量

经济学定义

5.4.1. 互补松弛解释

​ 见 PPT

6. Integer programming

6.1. 分配问题

好的,我将为你提取图片中展示的三种指派问题(Assignment Problem)的 LaTeX 表达式。


6.1.1. 指派问题 (0-1 Assignment Problem)

目标函数:


6.1.2. 二次指派问题 (Quadratic Assignment Problem)

目标函数:

分阶段分配:

  1. 从 $x_{ij}$ 表示部门 $i$ 分配到地点 $j$
  2. 从 $x_{kl}$ 表示部门 $k$ 分配到地点 $l$

$c_{i,j,k,l}$, 表示 $i ,j$ 在 $k, l$ 位置交互的 cost

$x_{ij} * x_{kl}$ 表示只有分配了这条链路, 才会产生 cost


6.1.3. 广义指派问题 (Generalized Assignment Problem)

目标函数:

6.2. IP solution

  1. LP 问题近似, 先视为连续问题,再求解
  2. 启发式算法,求解质量无保证
  3. 近似算法,求解质量具有保证

6.3. classic problem

6.3.1. 几何覆盖问题

几何覆盖定义

6.3.2. 设施选择问题

设施选择

  1. 变量:有两类,
    1. 整数Y ,用于控制某个站点被建立,
    2. 实数X,表示建立的站点i 对 节点J 的服务比例

6.3.3. 网络问题

6.3.4. 车间调度问题

决策变量: $x_{j,k}$ 工作j 在设备K 上工作

约束:

  1. $j, j’$ 约束 , j 必须在 $j’$之前

  2. $j, j’$ 共同使用设备 $K $, 同一台机器不能同时服务同一个设备

    1. $j’$ 的开始时间需要小于 $j$的结束时间,严格约束

      当$y_{j,j’,k}$表示 作业 j 在 $j’$之前使用k ,值为1,表示可以使用

    2. 当$y_{j,j’,k}$ 为0 时, 约束生效,表示 $j’$必须在$j $之前完成

      $y_{j,j’,k}$, 表示 j ,j’ 在k 上具有冲突

      M 的约束作用, 当y 生效时,等式松弛,约束不起作用

      当y = 0 时,约束严格作用

6.4. 0-1 modeling

  1. 0-1选择问题,是否选择

    image-20251218160554039

  2. 关联约束

    image-20251218160612332

  3. 组合中选择一个

    image-20251218160705405

  4. 选择约束条件

    image-20251218160802044


文章作者: 小白菜
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 小白菜 !
评论
  目录