0 序言

最近打算在CSDN上将自己学习本书的过程记录下来,整个系列对于我来说更像是读书笔记,同时也放在网上供大家阅读。由于本人非数学科班出身,仅仅是对运筹优化方面有兴趣而学习,因此对于某些定义的理解、把握以至于推导不甚精通,其中若有错误,还希望大家不吝指教。

本书第一章Introduction中内容我已略去,其主要原因是该章节内容比较基础且多为介绍性的内容,基本上没有理解性的内容,因此主要从第二章线性规划图解法开始写,书中某些难度较高以至于不适合初学者学习的章节我也都会略过。

全书共12章,2至5章为线性规划主要内容,分别为:

  1. 线性规划图解法
  2. 单纯形法
  3. 对偶理论
  4. 灵敏度分析

在国内运筹学教材上普遍存在的内容,如:运输问题、线性目标规划、图论、排队论、存储论等等,非本系列的重点,本系列主要重点是围绕着 Introduction to Linear Optimization 展开讨论的,因此如排队论,存储论等内容,本系列不会出现。而对于图论、整数规划等内容,也非本系列的重点,我本人也不会在此类章节上过多的费口舌。

国内部分高校本科所开设的运筹学这门课程,通常为一个学期结课,因此对于很多本科学习过运筹学的同学(非数学专业),通常都存在着困惑。学习完之后感觉这门学科好像很厉害,但是却不明白其中的道理为何。本人也是如此,因此本系列最好的受众就是对于运筹学有一些基础的了解,但又不明其理、或是初学运筹学的同志们当作笔记阅读。

在这里我再次声明:本人非数学科班出身,仅仅是浩如烟海般的群众的一部分,没有接受过什么教育,本人对于运筹学的认知是非常浅薄的,仅仅因为兴趣而为之。因此,若你是业界学术大佬,对于文章中的错误还望不吝指教,我再此再三感激;若你是与我一样的初学者,我希望我们更是以一种同学的身份共同进步。

(声明:本书绝大多数专有名词我都会用中英文结合的方式来表示出,如:极点(extreme points),但是当遇到过于简单的专有名词的时候,如:线性规划图解法(The geometry of linear programming),我仅仅会表达中文意思,当遇到我自己认为没有合适的中文名词对应的专有名词时,我会采用原书的英文表达方式,并附加我对其的一些理解)


1. 超平面,半空间和多面体

多面体的表示

我们先来看原书中的几个定义:
Definition 2.1 A polyhedron is a set that can be described in the form {x ∈ Rn | Axb}, where A is an m*n matrix and b is a vector in Rm.
注:Rn与Rm分别代表n维和m维的欧式空间

从代数的角度理解多面体(polyhedron),即多面体是一个n维列向量 x 的集合,该集合中的所有元素 x 满足线性方程组 Axb

若从几何的角度理解多面体,不妨先从低维度的来看
我们以二维为例

假设在xOy平面内,存在如下集合

x - y ≥ -3 2*x + y ≤ 6 x,y ≥ 0

即该集合所表示的图形如下图绿色区域所示
x 的维数上升至3维时,一个多面体的形状就变为了3维欧式空间中的“体”,当维数超过3维达到更高的n维时,便没有直观上的图来描述了,因为我们所生活的世界就是3维欧式空间。

多面体的分类

不同的多面体根据其集合所包含的方程组不同,主要可以分为有界的(bounded)与无界的(unbounded),在上一个例子中展示出的多面体即为有界的,显而易见,我们很容易给出一个无界的多面体的例子,如:

x ≥ 0 y ≥ 0

即为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)情况下,其所构成的空间皆是无限的,如:一根直线,一个平面,一个体…

因此我们在平面上任意确定的一点,在平面上任意确定的一条线,在体内任意确定的一个平面,都可以将对应的空间划分为两半,因此我们称其为半空间。而两个半空间之间的界限,我们称其为超平面。


2.凸集

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. 运筹数学
  2. 运筹学应用
  3. 运筹科学

而运筹数学时运筹学理论的支柱部分,有着严密的理论证明,固然给运筹学的高楼打下了坚实的地基,这在某一方面来说是好事。但是这一点也使得很多专家过于深入于运筹数学深处,而忘记运筹学的初衷——解决实际问题,忽略了多学科的横向交叉联系和解决实际问题的客观需求。

而本节及后续几节所叙述的内容,主要属于运筹数学方向的内容,目的是为了保证运筹学的数学逻辑严密性,初学者对于这些定理不解其意也无妨大局。当学习到后面的内容时,再回过头来看自然会恍然大悟。

我认为这些晦涩的基本理论的学习对于初学者不甚友好,因此我建议对于运筹理论认识尚浅的同学一定要多进行数形结合,不单单是从代数的角度理解,更是从一种几何的角度去理解;而且初学时,切勿钻牛角尖;这样对于定理的学习大有裨益。

好比本节中所学的多面体与凸集,通过数形结合,可以很直观的理解其所代表的含义。

参考文献

[1] Dimitris Bertsimas,John N. Tsitsiklis . Introduction to Linear Optimization[M]. 1997: 42-46
[2] 运筹学教材编写组. 运筹学[M]. 清华大学出版社, 2012年第四版: 3-12

版权归原作者所有,未经原作者允许不得将本文内容用于任何商业或盈利目的,否则将视为侵权,转载或者引用本文内容请注明来源及原作者,对于不遵守此声明或者其他违法使用本文内容者,本人依法保留追究权等。

Introduction to Linear Optimization 2.1 多面体和凸集相关推荐

  1. Introduction to Linear Optimization 2.3标准形式的多面体

    1.标准型的表示 通常将多面体 P = {x ∈ Rn | Ax = b, x ≥ 0} 称为多面体的标准型,即多面体中所有约束都为等式.其中 A 为 m×n 的矩阵(通常认为m ≤ n). 现在不妨 ...

  2. Introduction to Linear Optimization 2.2 极点,顶角与基可行解

    1.极点 极点的定义及理解 Definition 2.6 Let P be a polyhedron. A vector x ∈ P is an extreme point of P if we ca ...

  3. 机器学习基础-吴恩达-coursera-(第一周学习笔记)----Introduction and Linear Regression

    课程网址:https://www.coursera.org/learn/machine-learning Week 1 -- Introduction and Linear Regression 目录 ...

  4. INTRODUCTION TO NONELINEAR OPTIMIZATION Excise 5.2 Freudenstein and Roth Test Function

    Amir Beck's INTRODUCTION TO NONELINEAR OPTIMIZATION Theory, Algorithms, and Applications with MATLAB ...

  5. OR-Tools:1-线性优化,整数优化和约束优化(Linear optimization,Mixed-integer optimization,Constraint optimization)

    OR-Tools 解决的问题类型: Linear optimization Constraint optimization Mixed-integer optimization Bin packing ...

  6. Gilbert Strang 《Introduction to Linear Algebra》 chap1 Introduction to Vectors 笔记

    Gilbert Strang Introduction to Linear Algebra chap1 Introduction to Vectors 笔记 会持续更新 Introduction to ...

  7. Competing in the Dark: An Efficient Algorithm for Bandit Linear Optimization

    Competing in the Dark: An Efficient Algorithm for Bandit Linear Optimization Feb. 23, 2021 Aim‾\unde ...

  8. 【李宏毅2020 ML/DL】补充:Structured Learning: Introduction Structured Linear Model

    我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 本次笔记补充视频 BV1JE411g7XF 的缺失部分.在另一个UP主上传的2017课程BV13x411v7U ...

  9. Google OR-Tools(二) 线性优化Linear Optimization

    本文参考Google OR-Tools官网文档介绍OR-Tools的使用方法. 1 线性规划问题 线性规划是优化问题里最简单的一种形式,需要极大化或极小化的目标函数是线性的,而约束条件由一组线性等式或 ...

  10. 中文翻译Introduction to Linear Algebra, 5th Edition 5.2

    (pdf) 仅为交流学习!才疏学浅,不当的地方还望指正包涵.                                                       pdf点击此处下载​​​​​​ ...

最新文章

  1. ios NSLayoutConstraint
  2. python和R对dataframe的常用操作的差异:head、tail、shape、dim、nrow、ncol、descirbe、summary、str
  3. java日志统计_Java实现蓝桥杯日志统计
  4. 活久见的重构 - iOS 10 UserNotifications 框架解析
  5. LeetCode_每日一题今日份_329.矩阵中的最长递增路径(没懂)
  6. Angularjs基础(三)
  7. [C++]vector创建二维数组
  8. 使用jackson对Java对象与JSON字符串相互转换的一些总结
  9. 用oracle的java存储过程实现BLOB字段的字符串读取
  10. Android开发学习之快速实现圆角ListView
  11. iOS底层探索之多线程(十一)—GCD源码分析(调度组)
  12. CAN LIN CANOE DB9 接口定义
  13. 人性的弱点(经典语录)
  14. wps怎么插入目录,快速插入目录的操作步骤
  15. python基于神经机器翻译技术的翻译网站实现
  16. Python:实现collatz sequence考拉兹序列算法(附完整源码)
  17. oracle 分区表,分区索引
  18. 秋草独寻人去后——986山野穿越点滴(七)
  19. ubuntu如何安装Mac OS X主题
  20. 云计算技术体系结构由这四点组成

热门文章

  1. 如何使windows系统环境变量的改变即时生效
  2. 【Linux 内核】Linux 内核源码根目录下的文件 ( .clang-format | COPYING | CREDITS | Kbuild | Kconfig | MAINTAINERS )
  3. 一文搞懂 deconvolution、transposed convolution、sub-­pixel or fractional convolution
  4. tkinter做界面的一点心得(丑而简单)
  5. 阿里云ECS云服务器实例重置-更换操作系统
  6. Neo4j 第二篇:图形数据库
  7. Python实用案例,Python脚本实现快速卡通化人物头像,让我想起了QQ秀时光!
  8. Going Deeper with Convolutions——GoogLeNet论文翻译——中英文对照
  9. 云原生|kubernetes|etcd集群详细介绍+安装部署+调优
  10. 如何给宝宝取一个高雅有内涵的名字