整数编程算法设计与分析笔记
最编程
2024-04-20 12:25:45
...
课上讲了带权点覆盖问题的整数规划,考试可能会给一个问题让你建立整数规划模型。
带权点覆盖的整数规划(ILP)
对每一个点,用bool变量表示其是否在点覆盖集合中。,点不在点覆盖中;点在点覆盖中。因此,整数规划带权点覆盖问题转换为:
整数规划的最优解,就对应于权值最小的点覆盖
但点覆盖的整数规划是一个NP难问题,因此我们希望能找到它的近似算法,牺牲准确度以快速求解。很容易想到把它转化为线性规划问题,并找到它的近似程度。建立如下线性规划,注意第三式:
线性规划的约束条件不如整数规划苛刻,所以线性规划(LP)的最优解≤整数规划(ILP)的最优解。但会带来一个问题,加入点覆盖集合中的点其极有可能是分数,会呈现如下形式
那么,如何找到点覆盖问题线性规划与整数规划得到的解之间的关系?
定理: 如果是LP的最优解,那么点覆盖,且是准确解的2倍近似。
分别证明:
pf1. 对于边,
点覆盖中有,则或(边被覆盖).
pf2. 设点覆盖的准确值为,有
.
第一个不等式:根据整数规划的最优解不小于线性规划这一性质放缩;
第二个不等式:.
我的疑惑
整数规划的解不大于线性规划是指,前一个(整数规划)的可以省略,因为整数规划得到的点覆盖中的点其。而线性规划得到的点覆盖最小权值是,不乘以(注意这里的可以是分数),因为当就把点加入了点覆盖,算权值只将各点权值相加即可。(应该是这样吧,哪个大佬看见有不同的想法戳我)
推荐阅读
-
二叉树, 329. 矩阵中的最长递增路径, 备忘递归表填充, [73] [算法分析与设计] 516.
-
[算法] [计算机算法设计与分析笔记(第 5 版)] 第 1 章:算法概述
-
[算法] 算法设计与分析测试题(附答案)
-
[数学建模算法] (4) 整数程序设计的基本概念和常规算法:分支与边界法
-
整数编程算法设计与分析笔记
-
整数编程 | 解决 0-1 背包问题的分支与边界算法(附 MATLAB 代码)
-
数学建模的基本算法 第 2.1 章 - 整数程序设计 (ILP):分支与边界 + 切分平面
-
小红书大产品部架构 小红书产品概览--经过性能、稳定性、成本等多个维度的详细评估,小红书最终决定选择基于腾讯云星海自研硬件的SA2云服务器作为主力机型使用。结合其秒级的快速扩缩、超强兼容和平滑迁移能力,小红书在抵御上亿次用户访问、保证系统稳定运行的同时,也实现了成本的大幅降低。 星海SA2云服务器是基于腾讯云星海的首款自研服务器。腾讯云星海作为自研硬件品牌,通过创新的高兼容性架构、简洁可靠的自主设计,结合腾讯自身业务以及百万客户上云需求的特点,致力于为云计算时代提供安全、稳定、性能领先的基础架构产品和服务。如今,星海SA2云服务器也正在为越来越多的企业提供低成本、高效率、更安全的弹性计算服务。 以下是与小红书SRE总监陈敖翔的对话实录。 问:请您介绍一下小红书及其主要商业模式? 小红书是一个面向年轻人的生活方式平台,在这里,他们发现了向上、多元的真实世界。小红书日活超过 3500 万,月活跃用户超过 1 亿,日均笔记曝光量达 80 亿。小红书由社交平台和在线购物两大部分组成。与其他线上平台相比,小红书的内容基于真实的口碑分享,播种不止于线上,还为线下实体店赋能。 问:围绕业务发展,小红书的系统架构经历了怎样的变革和演进? 系统架构变化不大,影响最深的是资源开销。过去三年,资源开销大幅增加,同比增长约 10 倍。在此背景下,我们努力进行优化,包括很早就开始使用 K8S 进行资源调度。到 18 年年中,绝大多数服务已经完全实现了容器化。 问:目前小红书系统架构中的计算基础设施建设和布局是怎样的? 我们目前的建设方式可以简单描述为星型结构。腾讯云在上海的一个区是我们的计算中心,承载着我们的核心数据和在线业务。在外围,我们还有两个数据中心进行计算分流,同时承担灾备和线上业务双活的角色。 与其他新兴电子商务互联网公司类似,小红书的大部分计算能力主要用于线下数据分析、模型训练和在线推荐等平台。随着业务的发展,对算力的需求也在加速增长。
-
分区法(II)电路板覆盖问题|算法设计与分析
-
算法分析与设计:棋盘覆盖问题(分割)