算法中的最优化方法与实现(第12课 整数优化)

一、学习目标

1.了解整数优化对应的实际问题是什么

2.学习将一些奇怪的问题转化为整数优化问题

3.学习两种整数优化算法:树搜索和混合整数线性规划

二、整数优化问题

        1.起源

        最经典、也是最初提及整数优化方法的问题就是0-1背包问题:

        求解方法是按物品的单价进行排序,从高到低选取物品。这里的最优解是“拿黄、灰、蓝、橙”这些物品都只有一个,所以称其为“Binary”的。而如果物品是有多个的话,如下:

        就是一个标准整数优化问题了,而这,还是一个比较简单的问题,因为变量还是离散的、非连续的。如果加入非连续的变量,如下:

        问题就变得麻烦许多,这样一个有混合变量的问题才是整数优化的难点。至此,我们从背包问题了解整数优化的由来,于是我们的整数优化的数学公式就可以表述如下:

        根据是否有连续值、离散值是不是二值,可以将整数优化的问题分为3类,针对目标函数为线性的情况,多设计出了MILP问题。(这是因为,在混合的情况下,还要求解非线性目标函数会很麻烦)

三、整数优化相关问题

        除了背包问题这种变量就是离散的问题外,还有一些别的问题也可以(或者说,只有)变成整数优化问题后才能找到最优解。总共有3种:

        1.非此即彼约束(Either-or constraints)

        问题中有一对约束条件,问题要求只能满足其中一条约束,在这样的情况下,需要引入额外的二值整数变量来采写条件,于是这样就会导致原问题的变量多一个离散值的维度:

        2.N个约束中K个满足(K out of N constraints)

        如名字所说,问题并没有指定哪K个条件满足,这个也是我们需要优化的目标,与1.相同,需要引入离散变量才行:

        3.目标函数仅有N种值情况

                由于目标函数只能取N种值得其中一种,或许有人会说,那取其中最小那个不就行吗?不行,因为其对应得解可能不满足约束。那从最小到最大一个一个试可以吗?可以,但如果N比较多,可能要试很久。在这种情况中,我们用离散变量y来定向确定目标函数到底是N个中的哪个。整体描述如下:

四、整数优化算法

        1.遍历法

        遍历法相当于上一节课的全局优化中的网格法,当变量空间很大时,事件复杂度非常高,只适用于一些比较小的空间中:

        2.树搜索法

        其思想就是决策树的思想,定义一个初始点作为根结点,每做一个决策都会产生一个孩子结点,到达叶结点时就可以计算出这条路径的得分。此外,如果有一个目前最优结果,那么可以在别的子树搜索时,根据当前结点的得分与目前最优结果得分对比,可以进行剪枝,减少搜索次数。例子如下:

        这里采用深搜算法,搜索到叶结点(5)时,记录到当前最优值为20,所以到(7)(9)这些点时,已经超过20了,所以不在往下搜索。

        可以别的搜索方法:

        3.混合整数线性规划(MILP)

        该算法针对的是线性目标函数的混合整数规划问题,使用LP放松法来求解原问题的下界。LP放松实际上,就是把所有变量都认为是连续的,所以才说这样求解出的结果肯定被原问题更优,是原问题的下界。

        了解了LP放松的操作后,我们就可以开始我们的迭代优化过程:

        我们以一个例子来说明整个过程:

        (1)先计算出LP放松的结果:

        (2)进入迭代:x1、x2和x3是离散变量,故先取x1=1.25进行左右划分,分为x1<=1和x1>=2。对这样两个区域进行判定、求解最优解。其中x1>=2不是可行域(可以自行验证),x1<=1可求解出:

        (3)进入第二步迭代,此时x=(1,1.2,1.8,0),取其中第一个不是整数,即x2,同(2)计算可得:

        (4)先选择P3继续迭代,此时x=(0.83,1,1.83,0),所以要取第一个不是整数的变量即x1,重复(2),计算出:

        并发现这时x1-x3都是整数,于是可以计算出目前最优值为6.5。而P5叶无需再往下衍生,P6也没有可行域,故P3也搜索完了,接下来应该要沿P4开始搜索,但是P4当前的值为7.83,大于目前最优值6.5,再往下搜索也不会低于6.5。于是找到了最优解:

        4.其他算法

        实际上就是上一节课我们学的一些办法和别的方法。重点的也是我们上节课的方法。

五、本章小结

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《最优化方法》是一本经典的优化理论和方法教材,作者是孙文瑜教授。这本书已经有第二版的PDF电子版。在这本书,孙文瑜教授系统地介绍了各种最优化方法算法,涵盖了线性规划、非线性规划、凸优化整数规划等重要内容。 这本书的第二版是在第一版的基础上进行了修订和更新。作者根据读者的反馈和最新的研究成果,对内容进行了补充和改进,使得这本书更加完善和全面。第二版的PDF版本使得读者可以方便地在线获取和阅读这本书。 《最优化方法》的第二版PDF包含了丰富的教学资源,如章节习题、后答案和习题解析等。这些资源可以帮助读者更好地理解和应用书的理论知识,并进行相关的练习和实践。此外,第二版还增加了一些实例和应用场景,帮助读者将所学的优化方法应用到实际问题。 通过研读《最优化方法》,读者可以系统地学习和掌握最优化方法的基本原理和应用技巧。这对于从事优化相关研究和工作的人员来说,具有重要的指导意义。无论是学术研究还是工程实践,都需要对最优化方法有深入的了解和熟练的运用。 最后,值得一提的是,虽然《最优化方法》第二版PDF为读者提供了方便的获取途径,但实体书籍同样对于学习和研究有着重要的作用。实体书籍的鲜活感和阅读体验能够更好地激发读者的学习兴趣和思考能力。因此,可以将PDF版本作为参考和补充,但建议还是尝试购买实体书籍来更好地学习和使用《最优化方法》这本教材。 ### 回答2: 《最优化方法》是孙文瑜编写的教材,它是第二版的PDF版本。最优化方法是一门涵盖了数学、计算机科学和工业工程等多学科知识的学科,它通过数学模型和算法的运用来最大程度地提高和改善事物的效率和性能。 这本教材的第二版PDF版本相对于第一版,有着一些更新和改进。它更加详细地介绍了最优化方法的基本原理、经典算法和应用案例。通过这本教材,读者可以系统地学习和了解最优化问题的解决方法,以及其在实际领域的应用。 在《最优化方法》的第二版,孙文瑜将优化问题分类,并介绍了各类问题的数学模型和相应的算法。读者可以了解到线性规划、非线性规划、整数规划、动态规划等不同类型的最优化问题的求解方法。此外,该教材还涉及到多目标优化和随机优化等高级话题,使读者能够更全面地理解和应用最优化方法。 通过阅读《最优化方法》这本教材的第二版,读者可以学到许多解决实际问题的技巧和方法。教材提供了大量的例题和习题,帮助读者加深对知识的理解,并提供了答案和解析供读者参考。此外,教材还提供了一些实际的应用案例,如供应链优化、生产调度等,使读者能够将所学知识应用到实际工作。 总的来说,孙文瑜的《最优化方法》第二版PDF是一本很有价值的教材,它系统地介绍了最优化问题的基本原理和方法,并提供了大量的例题和案例供读者练习和参考。无论是对于学术研究还是工程实践,该教材都是一本很好的参考资料。 ### 回答3: 《最优化方法》(第二版)是由孙文瑜撰写的一本关于最优化方法的教材。该教材总共分为十个章节,分别介绍了最优化问题、线性规划、非线性规划、动态规划、整数规划、随机规划、参数规划等内容。 在第一章,孙文瑜首先对最优化问题进行了定义和分类,并介绍了一些常用的数学工具和术语,如向量、矩阵、凸集等。接着,他详细介绍了最优化问题的表达式、约束条件和解的定义,为后续章节的内容打下了基础。 进入第二章,孙文瑜开始介绍线性规划的基本概念和方法。他详细讲解了线性规划问题的形式化表示、标准型、单纯形法和对偶性等内容,并通过一些例子和算法的步骤来说明线性规划的解法过程。 接下来的几个章节分别介绍了非线性规划、动态规划、整数规划、随机规划和参数规划等内容。孙文瑜通过一些实际问题的模型来说明这些方法的应用,并详细讲解了相应的算法和求解技巧。 通过阅读这本教材,读者可以深入了解最优化方法的原理和应用,掌握各种求解技巧和算法。孙文瑜在书详细介绍了每种方法的基本原理,并通过大量的例子和具体的算法步骤来帮助读者理解和掌握。 总而言之,《最优化方法》(第二版)是一本综合性的教材,内容详尽、逻辑清晰。通过阅读和学习这本教材,读者将能够系统地学习和应用最优化方法,为解决实际问题提供有效的解决方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值