多面体与优化

  多面体和优化有很大的关系,很多实际问题都可以形式化成和多面体或多面体函数相关的问题。此外,若一个问题的约束是多面体,则往往可以设计出比一般凸约束问题解法更好的优化算法,之前我们已经碰到过一些:

  1. 凹函数f

    若在凸集C

    上不是常数函数,那么只可能在C

    的相对边界上取得最小值(命题1.3.4)。


  2. 线性函数或凸二次函数f

    在多面体C

    上有下界,那么f

    可在C

    上取得最小值(命题1.4.19)。


  这一节我们更深入地介绍多面体在优化里的应用,尤其是线性规划(线性函数在多面体上的最小化问题)。线性规划里有一个经典结果:若多面体C

至少有一个极点且线性函数f

在C

上可取得最小值,那么该最小值必然可在C

的某些极点上取到(当然也可以在非极点上取到)。事实上,这是下面这个命题的特例,这里f

是凹函数,C

是闭凸集。

  命题2.4.1:集合C

是Rn

的闭凸子集且至少有一个极点,若凹函数f:C?R

在C

上可取得最小值,那么该最小值必然可在C

的某些极点上取到。

  证明:设x?∈C

且f

在x?

处取得最小值。若x?∈ri(C)

,由命题1.3.4知f

是C

上的常数函数,那么显然f

可在C

的某些极点上取到最小值。若x??ri(C)

,由命题1.5.6的结论知存在超平面H1

正常分离x?

和C

。由于x?∈C

,故H1

包含x?

,于是H1

不包含C

,那么集合C∩H1

的维度比C

小。

  若x?∈ri(C∩H1)

,那么f

是C∩H1

上的常数函数,那么f

在C∩H1

的某些极点上取到最小值(由于C

有极点,由命题2.1.2知C

不包含直线,那么C∩H1

也不会包含直线,再由命题2.1.2知C∩H1

至少有一个极点),又由命题2.1.1知这些极点也是C

的极点,也即f

可在C

的某些极点上取到最小值。若x??ri(C∩H1)

,则存在超平面H2

正常分离x?

和C∩H1

,那么集合C∩H1∩H2

的维度比C∩H1

小。

  若x?∈ri(C∩H1∩H2)

,那么f

是C∩H1∩H2

上的常数函数,如此不断下去(由于每引进一个超平面都会使得集合C∩H1∩…

的维度降低,最多引进n

个超平面该过程就会停止,最终集合变成单点集),直到x?

是某个集合C∩H1∩?∩Hk

的相对内部点,那么f

是C∩H1∩?∩Hk

上的常数函数,故此时f

即在C∩H1∩?∩Hk

的极点上取得了最小值,再不断地利用命题2.1.1的结论可知这些极点也是C

的极点,也即f

可在C

的某些极点上取到最小值。

  命题2.4.2[线性规划基本定理]:若多面体P

至少有一个极点,则在P

上有下界的线性函数f

必然可在P

的某些极点上取到最小值。

  证明:由于f

在P

上有下界,那么由命题1.4.19知f

在P

上可取得最小值,由命题2.4.1知结论成立。

  上图展示了线性规划的两种可能:

  1. 约束集合P

    有极点,那么此时目标线性函数要么在P

    上无下界,要么在P

    的极点上取得最小值。例如设P =[0,∞)

    ,那么目标线性函数1?x

    在P

    的极点0

    处取得最小值;目标线性函数0?x

    在P

    的任意一点处都取得最小值;目标线性函数?1?x

    在P

    上无下界,故在P

    上无法取得最小值。


  2. 约束集合P

    没有极点,那么由命题2.1.2知P

    包含直线,那么P

    的回收锥的线性空间LP

    的维度大于0

    ,若目标线性函数在P

    有下界,那么由命题1.4.19知f

    在P

    上取得最小值。又f

    在LP

    的所有方向上都必须是常数函数(否则f

    无界),故取得最小值的点集是线性空间为LP

    的一个多面体,故取得最小值的点集是无界的。例如设P=R

    ,那么目标线性函数1?x

    在P

    上无下界,故在P

    上无法取得最小值;目标线性函数0?x

    在P

    上取得最小值的点集就是P

多面体与优化,布布扣,bubuko.com

时间: 2024-08-16 02:51:59

多面体与优化的相关文章

凸优化

凸优化 作者:樱花猪 摘要: 本文为七月算法(julyedu.com)12月机器学习第四次课在线笔记."凸优化"指的是一种比较特殊的优化,通过"凸优化"我们能够把目标函数转化成一个"凸函数"然后利用凸函数的性质求极值来求解问题."凸优化"不仅仅在机器学习中有所应用,几乎在任何用到有关于目标函数求值的问题都会用到.本次课程由浅入深,将学术上复杂的问题解释的通俗易懂,个人认为是机器学习系列课程非常有亮点的一课. 引言: 本文用凸函

CMU Convex Optimization(凸优化)笔记1--凸集和凸函数

CMU凸优化笔记--凸集和凸函数 结束了一段时间的学习任务,于是打算做个总结.主要内容都是基于CMU的Ryan Tibshirani开设的Convex Optimization课程做的笔记.这里只摘了部分内容做了笔记,很感谢Ryan Tibshirani在官网中所作的课程内容开源.也很感谢韩龙飞在CMU凸优化课程中的中文笔记,我在其基础上做了大量的内容参考.才疏学浅,忘不吝赐教. 1.凸集合 1.1 基本概念 定义:给定一个集合$C \subseteq \mathbb{R}^n $,满足下列条件

斯坦福凸优化课程Video2-2_

title: 斯坦福凸优化课程Video2-2 tags: note notebook: 6- 英文课程-14-convex optimization --- 斯坦福凸优化课程Video2-2 超平面和半空间hyperplane and half place 类似于形式 ,就是一种超平面,在这里A和是向量,b是标量,所以x是一个向量,代表了一个平面或者一个超平面(在不同的维度上). 对于半空间,其实就是把上文中平面的方程中的等号边成不等号,所表示的区域就从平面变成了整个空间的一部分,也称为半空间

iOS开发——项目实战总结&UITableView性能优化与卡顿问题

UITableView性能优化与卡顿问题 1.最常用的就是cell的重用, 注册重用标识符 如果不重用cell时,每当一个cell显示到屏幕上时,就会重新创建一个新的cell 如果有很多数据的时候,就会堆积很多cell.如果重用cell,为cell创建一个ID 每当需要显示cell 的时候,都会先去缓冲池中寻找可循环利用的cell,如果没有再重新创建cell 2.避免cell的重新布局 cell的布局填充等操作 比较耗时,一般创建时就布局好 如可以将cell单独放到一个自定义类,初始化时就布局好

Java性能优化之JVM GC(垃圾回收机制)

Java的性能优化,整理出一篇文章,供以后温故知新. JVM GC(垃圾回收机制) 在学习Java GC 之前,我们需要记住一个单词:stop-the-world .它会在任何一种GC算法中发生.stop-the-world 意味着JVM因为需要执行GC而停止了应用程序的执行.当stop-the-world 发生时,除GC所需的线程外,所有的线程都进入等待状态,直到GC任务完成.GC优化很多时候就是减少stop-the-world 的发生. JVM GC回收哪个区域内的垃圾? 需要注意的是,JV

MySQL 索引优化原则

一.索引优化原则 1.最左前缀匹配原则,联合索引,mysql会从做向右匹配直到遇到范围查询(>.<.between.like)就停止匹配,比如a = 1 and b = 2 and c > 3 and d = 4 如果建立(a,b,c,d)顺序的索引,d是用不到索引的,如果建立(a,b,d,c)的索引则都可以用到,a,b,d的顺序可以任意调整. 2.=和in可以乱序,比如a = 1 and b = 2 and c = 3 建立(a,b,c)索引可以任意顺序,mysql的查询优化器会帮你优

sql优化

1.all: 全表扫描,遍历全表找到匹配的行 index:索引全扫描,遍历整个索引来查询匹配的行 range:索引范围扫描,常见于<,>,>=,between等操作符 ref: 使用非唯一索引扫描或唯一索引的前缀扫描,返回匹配某个单独值的记录行 eq_ref:类似ref,区别就是使用的索引是唯一索引,对于每个索引键值,表中只有一条记录匹配.简单来说,就是多表连接中使用primary key或者unique index 作为关联条件 const/system:单表中最多有一个匹配行,查询起

试试SQLSERVER2014的内存优化表

原文:试试SQLSERVER2014的内存优化表 试试SQLSERVER2014的内存优化表 SQL Server 2014中的内存引擎(代号为Hekaton)将OLTP提升到了新的高度. 现在,存储引擎已整合进当前的数据库管理系统,而使用先进内存技术来支持大规模OLTP工作负载. 就算如此,要利用此新功能,数据库必须包含"内存优化"文件组和表 即所配置的文件组和表使用Hekaton技术. 幸运的是,SQL Server 2014使这一过程变得非常简单直接. 要说明其工作原理,我们来创

Linux性能优化之磁盘优化(三)

前言 关于本章内容,设计的东西比较多.这里会有关于文件系统.磁盘.CPU等方面的知识,以及涉及到关于这方面的性能排查等. 术语 文件系统通过缓存和缓冲以及异步I/O等手段来缓和磁盘的延时对应用程序的影响.为了更详细的了解文件系统,以下就简单介绍一些相关术语: 文件系统:一种把数据组织成文件和目录的存储方式,提供了基于文件的存取接口,并通过文件权限控制访问.另外,一些表示设备.套接字和管道的特殊文件类型,以及包含文件访问时间戳的元数据. 文件系统缓存:主存(通常是DRAM) 的一块区域,用来缓存文