Discrete Optimization (Coursera) week2-3 BnB求解背包问题

Branch and Bound

Branch and Bound (BB) is another powerful tool in discrete optimization (platitude一则)

我们继续以背包问题来介绍这一算法。

首先考察一个naive way in solving knapsack problem:现在有 1,2,…,n这么多个物品,那么对于物品1,我可以选择或者不选择---->这就分了两个岔,对于每个岔,对于物品2我都可以选择或者不选择---->这就分了四个岔… 我们其实只需要检查所有不同的选择,也不过就(?) 2 n 2^n 2n种组合。当n比较小的时候,其实穷举就行了,但是如果n比较大…(电脑:跑你🐴呢?)
在这里插入图片描述

那么,有没有方法可以减小需要验证的数量呢?例如,现在某一个分叉已经只有两个物品可以选择了,而所能获得的最大价值也不过10元,远远小于某一个分叉,which has ALREADY obtained 100元。那么,这种情况下,是不是可以直接将那个继续选下去也最多不过10元的分叉给砍掉呢?

基于这样的想法,BB被提出了。Branch指的还是分叉,Bound就是用一个最大值或者最小值来作为上界/下界。当某一个分叉1的最大值小于当前某个分叉2已经取得的值,那么显然分叉1就可以被砍掉了。这或许可以大大减小我们需要验证的数量!

关于 Bound: 如何找到上界或者下界?一个常用的方法就是将 decision variables的范围扩大,比如从整数域扩展到实数域(例如 {0,1} —> [0, 1]),这样既可以保证得到了上界/下界,也可以快速地求解(Linear Optimization problem is NOT a Problem. It’s highly mature! )

The General Framework:

at a really high level, BnB is something like this: (w.l.o.g. Assume want to find the maximum of f ( x ) f(x) f(x))


  1. 用某种粗糙的(heuristic)的方法找出一个解
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
《离散事件系统模拟第五版》是由Jerry Banks等人合著的一本关于离散事件系统模拟的教材。本书主要介绍了离散事件系统模拟的概念、原理和方法,并提供了大量的实际案例和应用。 这本教材首先介绍了离散事件系统模拟的基本概念,包括模拟的定义、离散事件和连续事件、系统和模型等。然后详细介绍了模拟的建模过程,主要包括问题分析、模型建立、数据采集和验证等步骤。接着,书中介绍了常用的模拟实验设计方法,包括单因素实验设计、多因素实验设计和灵敏度分析等。此外,本书还介绍了一些高级的模拟技术,如模态建模、代理的应用等,以及与仿真相关的统计分析方法。 《离散事件系统模拟第五版》的特点之一是实例丰富。书中提供了大量的实际案例和应用,涵盖了不同领域的模拟问题,如生产调度、物流管理、服务系统优化等。这些实例不仅有助于读者理解模拟的概念和方法,还帮助读者将模拟技术应用于实际问题解决中。 此外,本书还提供了大量的习题和案例分析,用于巩固读者对于离散事件系统模拟的理解和应用能力。书中还介绍了一些常用的模拟工具和软件,如Simul8、AnyLogic等,帮助读者更好地进行模拟实验。 总之,《离散事件系统模拟第五版》是一本全面介绍离散事件系统模拟的教材,既系统性地介绍了模拟的概念和建模方法,又通过实例和习题帮助读者理解和应用模拟技术。这本教材对于学习和研究离散事件系统模拟的读者来说是一本重要的参考书。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值