数学文化之运筹学

24
数数数数数数数数 数数数 数数数数数数数数 数数数 B835; 88363455 [email protected] 2013-11-13 (2) 1

description

数学文化之运筹学. 刘丙强 山东大学数学学院 知新楼 B835; 883 63455 [email protected] 2013-11-13 (2). 运筹学理论内容:. 数 学 规 划. 线性规划. 整数规划. 非线性规划. 内 容. 组 合 优 化. 图与网络. 网络优化. 算法分析. 算法复杂性. 近似算法. 组合优化综述. 组合最优化:解决离散结构上的优化问题; 主要包括: 组合数学; 数学规划(线性规划); 算法理论与方法; 图论中的优化问题; 本节内容: - PowerPoint PPT Presentation

Transcript of 数学文化之运筹学

Page 1: 数学文化之运筹学

数学文化之运筹学

刘丙强山东大学数学学院知新楼 B835; 88363455

[email protected]

2013-11-13 (2)1

Page 2: 数学文化之运筹学

运筹学理论内容:

2

数学规划

线性规划

整数规划

组合优化

图与网络

网络优化

算法分析

算法复杂性

近似算法

非线性规划

Page 3: 数学文化之运筹学

组合优化综述组合最优化:解决离散结构上的优化问题;主要包括:

组合数学;数学规划(线性规划);算法理论与方法;图论中的优化问题;

本节内容:组合优化化问题与算法;算法复杂性;近似算法

3

Page 4: 数学文化之运筹学

算法理论算法:解决问题的步骤;

输入与输出;流程与语言;复杂性:时间、空间复杂性;准确性的衡量;

计算机与算法;算法思想:

精确算法;贪婪算法;启发式算法;近似算法;确定性算法、非确定性算法;

4

Page 5: 数学文化之运筹学

算法理论:复杂性 时间复杂性(算法可行性与扩展性):

算法运行时间的快慢; 与输入数据规模有关;

上界:函数 f(n) 和 g(n) 都是整数到正实数的函数,如果存在正整数 n0 和正常数 c ,使得对所有 n ≥ n0 ,都有 f(n) ≤ cg(n) ,就称 f(n) 的阶至多是 O(g(n)) 。

下界:函数 f(n) 和 g(n) 都是整数到正实数的函数,如果存在正整数 n0 和正常数 c ,使得对所有 n ≥ n0 ,都有 f(n) > cg(n) ,就称 f(n) 的阶至少是 Ω (g(n)) 。

准确界:函数 f(n) 和 g(n) 都是整数到正实数的函数,如果存在正整数 n0 和正常数 c1 和 c2 ( c1 ≤ c2 ) ,使得对所有 n ≥ n0 ,都有 c1 g(n) ≤ f(n) ≤ c2 g(n) ,就称 f(n) 的阶至多是 Θ (g(n)) 。

1 loglog≺ n log≺ n ≺ n1/2 ≺ n3/4 ≺n ≺ nlogn ≺ n2 ≺ 2n ≺ n! 2≺ n^2

多项式与非多项式;5

Page 6: 数学文化之运筹学

算法理论:复杂性例:排序问题:

遍历排序 : O(n2);分组排序: O(nlogn);

多项式时间与指数时间:

6

计算量 规模 n 的近似值10 100 1000

n 10 100 1000

nlogn 33 664 9966

n3 103 106 109

2n 1024 1.27*1030 1.05*10301

n ! 3628800 10158 4*102567

Page 7: 数学文化之运筹学

算法理论图灵( Alan Mathison Turing , 1912-195

4)数学家、逻辑学家、密码学家,被称为计算机科学之父、人工智能之父;

师从数学家哈代;二战中有巨大贡献;图灵机;图灵奖: 姚期智( 2000)

7

Page 8: 数学文化之运筹学

算法理论:复杂性图灵机与判定性问题:

“ ” “ ”判定性问题:用 是 和 否 回答的问题。确定性图灵机;

非确定性图灵机;(带神谕的图灵机)8

有限状态控制器

1 1 1 1 1 10 0000 0 0B B B1 …………

Page 9: 数学文化之运筹学

算法理论:复杂性 P 与 NP 问题:

P:所有可以用确定性图灵机在多项式时间内求解的判定问题。

NP:所有可以用非确定性图灵机在多项式时间内求解的判定问题。

通俗定义: P:存在多项式时间算法的判定问题。 NP:多项式时间内可以验证的判定问题。

P 属于 NP; P = ? NP

2000 “ ”年巴黎法兰西学院宣布:对七个 千僖年数学难题每一个悬赏一百万美元。 P = ? NP为第一个难题。 9

Page 10: 数学文化之运筹学

算法理论:复杂性如何比较难易? Karp归约( 1972 ):问题 A 多项式时间内转化为

问题 B 的特殊情况,则称 A 可多项式归约于 B,记为

转化时间为多项式; 对于 A 的输入 I 的回答与其对应的 B 的输入 f(I) 一致;

例: TSP 归约为整数规划

10

BA p

njnixxxts

xc

ij

n

iij

n

jij

ij

n

i

n

jij

,...,2,1,,...,2,1,0,1;1;1..

min

00

0 0

Page 11: 数学文化之运筹学

算法理论:复杂性 NPC ( NP完全)问题: NP 中最难的问题;

; 可满足问题 (Satisfiability Problem,SAT); Cook ( 1971)证明了 SAT 问题为 NPC 问题。

SAT: 布尔变量集合: 布尔式: ,形如 问是否存在 的赋值使得 f = 1;计算复杂度: O(2n);

NP-hard 问题:与 NPC一样难或者更难的问题;11

1,0,...,, 21 in uuuuU ;731 uuuci mcccf ...21

1,0,...,, 21 in uuuuU ;

pqqpp p 有,NP.2;NP.1:NPC

pqqp p 有,NP:hardNP

Page 12: 数学文化之运筹学

算法理论:复杂性 第一个 NP 完全问题( Cook 定理 1971 )

可满足问题 ( SAT )是 NP 完全问题 六个 NP 完全问题( Karp 1972)

3 可满足问题: 3SAT ; 图的点覆盖问题: VC ; 图的 k 点团存在性问题: Clique ; 图的哈密尔顿圈问题: HC ; TSP 简化版; 正整数集合的划分问题;背包问题简化版; 三维匹配问题: 3DM ;

更多的 NP 完全问题 1979 年: 300 多个; 1998 年: 2000 多个;

12

Page 13: 数学文化之运筹学

P=?NP ( P-NP问题);

如果 ,则指数灾难无法避免; P 与 NPC 之外的 NP 问题,曾经的希望:

线性规划问题;图的同构问题;素数判定问题;

NP

算法理论:复杂性

13

NPPNPCP

P=NPNP

NPC P

NPP

Page 14: 数学文化之运筹学

算法理论:复杂性 如何处理 NP 难问题?并行计算:以硬件设备换取时间

存在着很多种并行计算模型 理想模型 PRAM 可多项式时间解 NP 完全问题 实际中效果不好:处理器数目是受限的,现实的代价:

通讯,同步,等; 随机算法:

判定问题: 以较大概率得到正确输出; 输出正确,但计算时间不定;

优化问题:输出解的性能不稳定; 以较大概率得到性能好的解; 14

Page 15: 数学文化之运筹学

算法理论:复杂性 近似算法:

不要最优,只求较优; 时间复杂度较低; 结果符合某种保证;

启发式算法: 基于直观或经验构造的算法,在可接受的代价下给出待

解决问题每一个实例的一个可行解,该可行解与最优解的偏离程度不一定事先可以预计 ;

通常利用邻域进行局部优化:邻域搜索; 贪婪策略通常也属于启发式算法;

模拟退火、遗传算法、人工神经网络、蚁群算法等;15

Page 16: 数学文化之运筹学

组合最优化问题:集合覆盖问题 例:有 n 个菌株 V = v1, v2, …, vn , m 种药物每种可

以抑制菌株集合为 S1, S2, …, Sm ,成本分别为 w1, w2, …, wm , 求可以抑制所有菌株的成本最小的药物组合。

集合覆盖( Set Cover):输入:

集合 V = v1, v2, …, vn ;

子集 S1, S2, …, Sm 属于 V; 权重 w1, w2, …, wm 、或无权;

目标: 选出 1, 2, …, m 的子集 I,

需要满足 ;同时 最小化 或 |I | ; 16 Ii iw

Ii i VS

V = v1, v2, …, vn ; Sj

Page 17: 数学文化之运筹学

组合最优化问题:集合覆盖问题无权集合覆盖的 贪婪算法 1:

1. 取 I 为空集; 2. 当 V 非空的时候,任选 vi ,将所有包含 vi 的集合 Sj 的序号

并入 I ;然后将所有涉及到的 vi 从 V 中删除; 3. 如果 V 为空集,则停止,输出 I。

算法 1 为 f 近似算法( f 为 vi 所属子集的个数的最大值); f 较小时效果尚可:每个菌株被少数药物抑制;

无权集合覆盖的 贪婪算法 2: 1. 取 I 为空集; 2. 当 V 非空的时候,将包含未覆盖的 vi 最多的集合 Sj 的序号

并入 I ;然后将新覆盖到的 vi 从 V 中删除; 3. 如果 V 为空集,则停止,输出 I。 17

Page 18: 数学文化之运筹学

组合最优化问题:集合覆盖问题 利用线性规划的凑整算法( Rounding )

xj = 0, 1 代表是否选取 Sj ;

xj 松弛问题的解 ; 对 j =1, …, m 执行: 输出

凑整算法为 f 近似算法:18

;,...,1;1,0

1;..

min

:

1

nix

Vvxts

xw

i

iSvj

j

m

jjj

ji

;,...,1;]1,0[

;1;..

min

:

1

nix

Vvxts

xw

i

iSvj

j

m

jjj

ji

;/1,0

;/1,1*

*

fx

fxx

j

jIPj

IPjx

OPT** Zfxwffxww

jjj

jjj

Ijj

*jx

Page 19: 数学文化之运筹学

组合最优化问题:集合覆盖问题贪婪算法;线性规划取整算法;对偶规划算法;原对偶规划算法;加权集合覆盖的贪婪算法;

问题推广:抑制关系的强弱(元素与集合从属关系加权);药物拮抗性(集合选择时考虑互斥);放松要求(尽可能多的抑制细菌,不要求全部); 19

|\|min

Coveredj

jj VS

w

Page 20: 数学文化之运筹学

组合最优化问题:背包问题 背包问题( Knapsake ):

物体集合 U=u1, u2, …, un, 其体积分别为整数 s1, s2, …,

sn , 价值分别为整数 v1, v2, …, vn , 背包容量为整数 C ,求 U 的一个子集 S (装背包的方案)使得:

同为 NP-hard 问题;考虑近似算法等; 松弛为 LP 分数形式;

20

max

Su

iSu

i

ii

vCs 且

nix

Cxsts

xv

i

n

iii

n

iii

,,1,]1,0[

..

max

1

1

Page 21: 数学文化之运筹学

组合最优化问题:背包问题背包问题的贪婪算法 1:

首先将物品按单位价值 (vi /si) 降序排列,然后按这个顺序将物品装包,直到包满或所有物品已经装完。

这个算法不能得到有界近似比:

贪婪算法 2:

21

2 ,2 ,1 , , 221121 CvsvsuuU

n

n

s

v

s

v

s

v

2

2

1

1 设

.,,, 211

是最优解,则若 n

n

ii uuuCs

nkCsCsk

ii

k

ii

,其中,否则设1

11

.,,, 121 中的较优者即可与取 kk uuuu

1/2 近似算法

Page 22: 数学文化之运筹学

组合最优化问题:背包问题 贪婪算法 + 局部优化:

首先将物品按单位价值 (vi /si) 降序排列,然后按这个顺序将物品装包,直到包满或所有物品已经装完。

在上述结果基础上进行邻域优化?

22

n

n

s

v

s

v

s

v

2

2

1

1 设 .,,, 211

是最优解,则若 n

n

ii uuuCs

nkCsCsk

ii

k

ii

,其中,否则设1

11

.,,, 121 中的较优者即可与取 kk uuuu

Page 23: 数学文化之运筹学

组合最优化问题:装箱问题 装箱问题( Bin-packing ):

有 n 个大小分别为 s1, s2, …, sn 的物体 ui (其中每个 sj 都在 0 和 1 之间) , 要求将它们装入到最少数目的单位容积的箱子中(不考虑物体形状)。

划分问题( Partition): 一组正整数 (s1, s2, …, sn ),是否可以将其划分为两个集合,使得两个集合里面的数的和相等;

NPC 问题; 不存在近似度 < 3/2 的近似算法;可以直接归结为装箱问题;

装箱问题不存在近似度 < 3/2 的近似算法 23

Page 24: 数学文化之运筹学

THE END !

24