最近打算在CSDN上将自己学习本书的过程记录下来,整个系列对于我来说更像是读书笔记,同时也放在网上供大家阅读。由于本人非数学科班出身,仅仅是对运筹优化方面有兴趣而学习,因此对于某些定义的理解、把握以至于推导不甚精通,其中若有错误,还希望大家不吝指教。
本书第一章Introduction中内容我已略去,其主要原因是该章节内容比较基础且多为介绍性的内容,基本上没有理解性的内容,因此主要从第二章线性规划图解法开始写,书中某些难度较高以至于不适合初学者学习的章节我也都会略过。
全书共12章,2至5章为线性规划主要内容,分别为:
在国内运筹学教材上普遍存在的内容,如:运输问题、线性目标规划、图论、排队论、存储论等等,非本系列的重点,本系列主要重点是围绕着 Introduction to Linear Optimization 展开讨论的,因此如排队论,存储论等内容,本系列不会出现。而对于图论、整数规划等内容,也非本系列的重点,我本人也不会在此类章节上过多的费口舌。
国内部分高校本科所开设的运筹学这门课程,通常为一个学期结课,因此对于很多本科学习过运筹学的同学(非数学专业),通常都存在着困惑。学习完之后感觉这门学科好像很厉害,但是却不明白其中的道理为何。本人也是如此,因此本系列最好的受众就是对于运筹学有一些基础的了解,但又不明其理、或是初学运筹学的同志们当作笔记阅读。
在这里我再次声明:本人非数学科班出身,仅仅是浩如烟海般的群众的一部分,没有接受过什么教育,本人对于运筹学的认知是非常浅薄的,仅仅因为兴趣而为之。因此,若你是业界学术大佬,对于文章中的错误还望不吝指教,我再此再三感激;若你是与我一样的初学者,我希望我们更是以一种同学的身份共同进步。
(声明:本书绝大多数专有名词我都会用中英文结合的方式来表示出,如:极点(extreme points),但是当遇到过于简单的专有名词的时候,如:线性规划图解法(The geometry of linear programming),我仅仅会表达中文意思,当遇到我自己认为没有合适的中文名词对应的专有名词时,我会采用原书的英文表达方式,并附加我对其的一些理解)
我们先来看原书中的几个定义:
Definition 2.1 A polyhedron is a set that can be described in the form { x ∈ Rn | Ax ≥b}, where A is an m*n matrix and b is a vector in Rm.
注:Rn与Rm分别代表n维和m维的欧式空间
从代数的角度理解多面体(polyhedron),即多面体是一个n维列向量 x 的集合,该集合中的所有元素 x 满足线性方程组 Ax ≥b
若从几何的角度理解多面体,不妨先从低维度的来看
我们以二维为例
假设在xOy平面内,存在如下集合
即该集合所表示的图形如下图绿色区域所示
当 x 的维数上升至3维时,一个多面体的形状就变为了3维欧式空间中的“体”,当维数超过3维达到更高的n维时,便没有直观上的图来描述了,因为我们所生活的世界就是3维欧式空间。
不同的多面体根据其集合所包含的方程组不同,主要可以分为有界的(bounded)与无界的(unbounded),在上一个例子中展示出的多面体即为有界的,显而易见,我们很容易给出一个无界的多面体的例子,如:
即为xOy坐标系的第一象限(图略)
Definition 2.2 Let a be a nonzero vector in Rn and let b be a saclar.
(a) The set { x ∈ Rn | a’x = b} is called a hyperplane.
(b) The set { x ∈ Rn | a’x ≥ b} is called a halfspace.
注:a’ 代表列向量 a 的转置
超平面在2维情况下为一条直线,在3维情况下为一个平面,以此类推。
而半空间即为空间的一半。我们知道,在任意维数(n ≥ 1)情况下,其所构成的空间皆是无限的,如:一根直线,一个平面,一个体…
因此我们在平面上任意确定的一点,在平面上任意确定的一条线,在体内任意确定的一个平面,都可以将对应的空间划分为两半,因此我们称其为半空间。而两个半空间之间的界限,我们称其为超平面。
Definition 2.3 A set S ⊂ Rn is convex if for any x,y ∈ S, and any λ∈[0,1], we have λx + (1 - λ)y ∈ S.
凸集(convex sets)的定义是非常容易从几何的角度去理解的,如上例所示的在二维欧式空间内的多面体:
从直观上理解即:该多面体所构成的集合没有“凹”的地方,即:集合内任意两点(元素)的连线上的所有点(元素)仍在集合内。
通过以上的一些定义,我们可以得到下述定理:
Theorem 2.1
(1) The intersection of convex sets is convex.
(2) Every polyhedron is convex set.
(3) A convex combination of a finite number of elements of a convex set *
证明略
本节主要介绍了有关于多面体(polyhedron)与凸集(convex set)及其相关的知识。这一部分的内容是 LP 的基础理论部分,或许在初学时不明白为何要出现这么多的“奇怪的”定理及定义。这说明你对于LP的理解仍不够深入。简单来说,美国前运筹学会主席S.Bonder认为,运筹学应在三个领域发展:
而运筹数学时运筹学理论的支柱部分,有着严密的理论证明,固然给运筹学的高楼打下了坚实的地基,这在某一方面来说是好事。但是这一点也使得很多专家过于深入于运筹数学深处,而忘记运筹学的初衷——解决实际问题,忽略了多学科的横向交叉联系和解决实际问题的客观需求。
而本节及后续几节所叙述的内容,主要属于运筹数学方向的内容,目的是为了保证运筹学的数学逻辑严密性,初学者对于这些定理不解其意也无妨大局。当学习到后面的内容时,再回过头来看自然会恍然大悟。
我认为这些晦涩的基本理论的学习对于初学者不甚友好,因此我建议对于运筹理论认识尚浅的同学一定要多进行数形结合,不单单是从代数的角度理解,更是从一种几何的角度去理解;而且初学时,切勿钻牛角尖;这样对于定理的学习大有裨益。
好比本节中所学的多面体与凸集,通过数形结合,可以很直观的理解其所代表的含义。
[1] Dimitris Bertsimas,John N. Tsitsiklis . Introduction to Linear Optimization[M]. 1997: 42-46
[2] 运筹学教材编写组. 运筹学[M]. 清华大学出版社, 2012年第四版: 3-12
版权归原作者所有,未经原作者允许不得将本文内容用于任何商业或盈利目的,否则将视为侵权,转载或者引用本文内容请注明来源及原作者,对于不遵守此声明或者其他违法使用本文内容者,本人依法保留追究权等。