第四章贪婪法

合集下载

第4章 贪心算法

第4章 贪心算法
2
【渴婴】
有一个非常渴的、但很聪明的小婴儿。她可能得到的东 西包括:一杯水、一小罐牛奶、多罐其它不同种类的 果汁……。即婴儿可能得到n种不同口味的饮料。
根据以前对这n种饮料的不同体验,这个婴儿知道其中 某种饮料更适合自己的胃口,因此婴儿采用如下方法 为每一种饮料赋予一个满意度值,即Si作为满意度赋 予第i种饮料。 通常,这个婴儿都会尽量饮用具有最大满意度的饮料来 最大限度地满足她解渴地需要,但不幸地是:她最满 意地饮料有时并没有足够地量来满足这个婴儿解渴地 需要。 3
对于一个具体问题,要确定它是否具有贪心选择性质, 必须证明每一步所作的贪心选择最终导致问题的整体最 23 优解。
4.2 贪心算法的基本要素
2、最优子结构性质
当一个问题的最优解包含其子问题的最优 解时,称此问题具有最优子结构性质。问题的 最优子结构性质是该问题可用动态规划算法或
贪心算法求解的关键特征。
20
4.1 活动安排问题
和活动安排问题类似的是“区间相 交问题”。
【区间相交问题】:给定x轴上n个 闭区间。去掉尽可能少的闭区间, 使剩下的闭区间都不相交。 算法:这个问题和“活动安排问题” 类似。每次选取右端点坐标最小的 闭区间,并将与其相交的闭区间删 去!
21
4.2 贪心算法的基本要素
本节着重讨论可以用贪心算法求解的问题 的一般特征。 对于一个具体的问题,怎么知道是否可用 贪心算法解此问题,以及能否得到问题的最 优解呢?这个问题很难给予肯定的回答。 但是,从许多可以用贪心算法求解的问题 中看到这类问题一般具有2个重要的性质: 贪心选择性质和最优子结构性质。
首先证明最优解A的构成: 前k步和剩下活动的最优
解;再根据剩下活动的最
优解和前k步一样,又包

第四章 常用生产系统模型

第四章 常用生产系统模型

LOGO
定义如下决策变量:
MinZ cij xij
i j
(4-1)
xij 1 i V j i xij 1 j V i j s.t. xij | S | 1 S V i , jS x {0,1} i, j V ij
LOGO
(3)r-Opt算法 r-Opt算法一般是对构造算法和插入算法产生的线路进行改 进的算法。主要用于对称型旅行商问题的求解。核心思想是 对给定的初始回路,每次通过交换r条边来改进当前的解。 通常,r增大可以使改进的结果更优秀。但是,通过大量的 仿真实验,发现3-Opt比2-Opt好,但是4-Opt和5-Opt却并不 比3-Opt优秀,但计算量却增大很多。
4.2.2 背包问题的模型和分类
LOGO
1.背包问题的模型 背包问题可以描述为:有n物品,一个最大承受重量为C的 背包,每件物品的价值是 p j ( j 1,2, , n)。物品的重量是 wj ( j 1,2, , n) 。要求在不超过背包最大承受重量的前提下,使装载的物品 总价值最高。数学模型如下: n (4-3) max z px
第四章 常用的生产系统模型
4.1 4.2 4.3 4.4 4.5 4.6 4.7
LOGO
TSP问题模型
背包问题模型 指派问题模型 切割与布局问题模型 车辆路径问题模型 生产调度问题模型
项目调度问题模型
思考与练习题
4.1 TSP问题模型
4.1.1 TSP问题概述
LOGO
旅行商问题( Traveling Salesman Problem , TSP )又 称旅行推销员问题、货郎担问题,简称 TSP 问题,是最基本 的组合优化问题。该问题是在寻求单一旅行者由起点出发,

第4章贪心算法习题(免费阅读)

第4章贪心算法习题(免费阅读)
6
算法实现题4-5 程序存储问题
数据输入:
第一行是2 个正整数,分别表示文件个数n和磁带的长 度L。接下来的1 行中,有n个正整数,表示程序存放在磁 带上的长度。
结果输出: 最多可以存储的程序数。
输入示例
6 50
2 3 13 8 80 20 输出示例
5
i 012345
x 2 3 13 8 80 20 7
3
算法实现题4-5 程序存储问题
问题描述: 设有n 个程序{1,2,…, n }要存放在长度为L的磁带上。
程序i存放在磁带上的长度是 li,1 ≤ i ≤ n。 程序存储问题要求确定这n 个程序在磁带上的一个
存储方案,使得能够在磁带上存储尽可能多的程序。 编程任务:
对于给定的n个程序存放在磁带上的长度,编程计 算磁带上最多可以存储的程序数。
532.00
10
算法实现题4-6 最优服务次序问题
double greedy( vector<int> x) {
int i,n=x.size(); sort(x.begin(),x.end()); for(i=1;i<n;++i)
x[i] += x[i-1]; double t=0; for(i=0;i<n;++i) t+=x[i]; t /= n;
算法实现题4-5 程序存储问题
int greedy( vector<int> x, int m){
int i=0, sum=0, n=x.size();
sort(x.begin(),x.end());
while(i
if(sum <= m) i++;

第4章 贪心算法(1)活动安排问题

第4章 贪心算法(1)活动安排问题
3
4.1 活动安排问题
活动安排问题是可以用贪心算法有效求解的很 好例子。
该问题要求高效地安排一系列争用某一公共资 源的活动,使得尽可能多的活动能兼容地使用 公共资源。
4
问题描述
设有n个活动的集合E={1, 2, …, n},其中每个 活动都要求使用同一资源,而在同一时间内只 有一个活动能使用这一资源。
2
贪心算法
例2:若上述硬币面值改为:
一角一分、五分和一分 现在要找给顾客一角五分钱,如何给出硬币? 答案:错:1个一角一分,4个一分
对:3个五分
虽然贪心算法不能对所有问题都得到整体最优 解,但对许多问题它能产生整体最优解。
在一些情况下,即使贪心算法不能得到整体最 优解,其最终结果却是最优解的很好的近似解。
ቤተ መጻሕፍቲ ባይዱ17
0-1背包问题
给定n种物品和一个背包。物品i的重量是wi, 其价值为vi,背包的容量为c。应如何选择装 入背包的物品,使得装入背包中物品的总价 值最大?
说明:在选择装入背包的物品时,对每种物 品i只有2种选择,即装入背包或不装入背包。 不能将物品i装入背包多次,也不能只装入部 分的物品i。
16
3、贪心算法与动态规划算法的 差异
贪心算法和动态规划算法都要求问题具有最 优子结构性质,这是两类算法的一个共同点。
对于具有最优子结构的问题应该选用贪心算 法还是动态规划算法求解?
是否能用动态规划算法求解的问题也能用贪 心算法求解?
下面研究2个经典的组合优化问题,并以此 说明贪心算法与动态规划算法的主要差别。
每个活动i都有一个要求使用该资源的起始时 间si和一个结束时间fi,且si <fi 。
5
问题描述
如果选择了活动i,则它在半开时间区间[si, fi) 内占用资源。若区间[si, fi)与区间[sj, fj)不相交, 则称活动i与活动j是相容的。也就是说,当si≥fj

童年第四章读书笔记摘抄

童年第四章读书笔记摘抄

童年第四章读书笔记摘抄篇1本书讲述的是高尔基3岁时,父亲病故,母亲带他回了娘家。

可惜外公是个自私、贪婪而又专横的小业主,残酷剥削雇工,放高利贷,但是,资本主义俄国的发展打断了外公的发财梦,从此破产以至于贫困潦倒。

可怜的母亲改嫁之后,生病而死,十一岁的作者被外公残忍地赶出家门,从此还是一个孩子的他,只得在社会上自谋生路。

感想与感受:童年,是每个人自己都值得回忆,值得珍惜的一段短暂而又美好时光。

对于我来说,童年是我最珍贵的收藏,然而大师高尔基的童年呢,真可谓“窒息的天地,苦难的童年”,童年应该是他的一段悲惨遭遇,一段深情的回忆!据我了解,《童年》是高尔基自传体三部曲:《童年》、《在人间》、《我的大学》中的第一部。

它向我们艺术地展示了阿廖沙在黑暗社会追求光明的奋斗历程。

故事生动地再现了19世纪七八十年代俄罗斯下层人民的生活状况。

读完了这本书,我的感受颇深。

首先,与高尔基的童年相比较之下,我深切地感受到了作者儿时的悲惨遭遇,我觉得自己是幸运的,幸福的!在家里,父母宠爱着,关心着,保护着。

在学校,有老师的教导和同学们的陪伴,真正可以说是无忧无虑。

而高尔基呢?与我们恰恰相反。

有人说:“环境可以造就一个人,也可以毁灭一个人。

”就是这样的环境造就了高尔基,成就了高尔基。

在如此邪恶和污秽的社会中,他那颗光明和博爱的心没有动摇,没有被污染,反而变得越加开阔、光明。

也许,这就是他成功的秘诀吧!这本书告诉我们要坚强勇敢、正直自信。

步入初中的我回忆起童年是多么美好的时光啊,读了高尔基的《童年》后,才知道什么是童年,什么是幸福童年,什么叫做珍惜童年。

也许你正在为妈妈没有带你去买你想要的东西而抱怨着,可如果你想象一下高尔基的童年,那么你将会感受到自己的幸福,去主动帮助妈妈工作!这本书告诉我们,要珍惜现在!高尔基虽然小时候生活在如此恶劣的环境下,但是竟然还能成为一位如此杰出的人,真是了不起!他发表过的文章数也数不清。

高尔基从来不放弃可贵的光阴,他在一九二八年至一九三六年写了一部长篇小说《克里母.萨姆金的一生》,但直到他临终都没有完成。

童年第四章概括

童年第四章概括

童年第四章概括第四章《小学的生活》是高尔基以自身经历为原型创作的一部自传体小说。

主人公是阿廖沙,他生于一个木工家庭,排行第三。

在那里,整个社会习俗,甚至家庭生活都与这个家庭格格不入:祖父吝啬,父亲贪婪,继母和两个弟弟专横残暴,连他的亲生母亲也给他们兄弟俩带来许多麻烦。

就在这样一个弥漫着残忍和仇恨的家庭里,幼小的阿廖沙过早地体验到了人间的痛苦和丑恶,也使得阿廖沙养成了倔强、反抗的性格。

但另一方面,阿廖沙又有着与其年龄极不相称的成熟和勇敢,他敢于正视现实,敢于揭露和抨击黑暗,还敢于和那些凶狠、贪婪的成年人做斗争……在这本书中,我最喜欢看的情节之一便是“我”因打碎了花瓶而被外祖父毒打后赶出家门,流落街头时所发生的一系列故事。

当然,除此之外,我印象深刻的还有很多很多……在这段生动有趣、富于戏剧性的故事里,既有对旧俄时代种种腐朽、黑暗的批判,也有对下层劳动人民苦难命运的同情;既描写了许多优美的自然风光,也揭示了当时俄国社会的一些矛盾。

它像一幅巨大的百科全书式的画卷展现在读者眼前,让你惊叹不已!童年,是每个人心灵上永远抹不去的烙印,记忆犹新。

可能由于某件事或某句话触碰到了内心柔软的角落,勾起了埋藏在心底的回忆。

今天,我怀着无比激动的心情再次翻开了这本令我爱不释手的好书——《童年》。

在这段生动有趣、富于戏剧性的故事里,既有对旧俄时代种种腐朽、黑暗的批判,也有对下层劳动人民苦难命运的同情;既描写了许多优美的自然风光,也揭示了当时俄国社会的一些矛盾。

它像一幅巨大的百科全书式的画卷展现在读者眼前,让你惊叹不已!童年,是每个人心灵上永远抹不去的烙印,记忆犹新。

可能由于某件事或某句话触碰到了内心柔软的角落,勾起了埋藏在心底的回忆。

今天,我怀着无比激动的心情再次翻开了这本令我爱不释手的好书——《童年》。

贪婪算法在资源分配问题中的应用----彭鹏

贪婪算法在资源分配问题中的应用----彭鹏

贪婪算法在资源分配问题中的应用彭鹏贵州财经学院研究生摘要:贪婪算法的典型应用是解决优化问题,这类算法的策略是只顾眼前,而不考虑以后的影响,它的算法简单容易设计实现,因此在许多实际问题中得到广泛的应用,但是它也存在许多的问题,巧妙的使用贪婪思想,将其融入到资源分配问题中解题中,资源分配问题便焕发出了新的光彩。

本文首先对贪婪算法的基本概念做了介绍,然后通过实例论述了贪婪算法在资源分配问题中的应用。

关键字:贪婪算法研究应用资源分配问题第一章贪婪算法的概念1.1什么是贪婪算法贪婪算法是一种对某些求最优解问题的更简单、更迅速的设计技术。

用贪婪法设计算法的特点是一步一步地进行,常以当前情况为基础根据某个优化测度作最优选择,而不考虑各种可能的整体情况,它省去了为找最优解要穷尽所有可能而必须耗费的大量时间,它采用自顶向下,以迭代的方法做出相继的贪心选择,每做一次贪心选择就将所求问题简化为一个规模更小的子问题, 通过每一步贪心选择,可得到问题的一个最优解,虽然每一步上都要保证能获得局部最优解,但由此产生的全局解有时不一定是最优的,所以贪婪法不要回溯。

贪婪算法是一种改进了的分级处理方法。

其核心是根据题意选取一种量度标准。

然后将这多个输入排成这种量度标准所要求的顺序,按这种顺序一次输入一个量。

如果这个输入和当前已构成在这种量度意义下的部分最佳解加在一起不能产生一个可行解,则不把此输入加到这部分解中。

这种能够得到某种量度意义下最优解的分级处理方法称为贪婪算法。

对于一个给定的问题,往往可能有好几种量度标准。

初看起来,这些量度标准似乎都是可取的,但实际上,用其中的大多数量度标准作贪婪处理所得到该量度意义下的最优解并不是问题的最优解,而是次优解。

因此,选择能产生问题最优解的最优量度标准是使用贪婪算法的核心。

一般情况下,要选出最优量度标准并不是一件容易的事,但对某问题能选择出最优量度标准后,用贪婪算法求解则特别有效。

最优解可以通过一系列局部最优的选择即贪婪选择来达到,根据当前状态做出在当前看来是最好的选择,即局部最优解选择,然后再去解做出这个选择后产生的相应的子问题。

安徒生童话中红舞鞋主要内容

安徒生童话中红舞鞋主要内容

安徒生童话《红舞鞋》简介《红舞鞋》是丹麦作家安徒生创作的一部童话作品,讲述了一个关于美丽、贪婪和自由意志的故事。

故事中的红舞鞋象征着欲望和诱惑,引导着主人公不断地跳舞,直到她筋疲力尽。

主要角色1.卡伊(Karen):本故事的女主角,一个贫穷但心地善良的孤儿。

2.红舞鞋:一双精美的红色舞鞋,被卡伊无意间发现并穿上。

3.舞会中的男子们:一些男子在看到卡伊穿着红舞鞋跳舞后,都被她吸引住了。

故事梗概第一章:卡伊发现红舞鞋卡伊是一个住在贫民窟里的孤儿,她非常喜欢跳舞。

有一天,她在路边看到了一双非常漂亮的红色舞鞋。

好奇心驱使下,她试穿上了这双红舞鞋,没想到它竟然自己动起来,带着卡伊跳了起来。

第二章:红舞鞋的诱惑卡伊发现无论她如何努力,红舞鞋都无法停下来。

她被迫一直跳舞,即使她已经筋疲力尽。

卡伊开始感到恐慌,她请求别人帮助她脱下红舞鞋,但没有人能够解救她。

第三章:卡伊的困境卡伊被迫穿着红舞鞋在城市中不断地跳舞。

她失去了对时间和周围环境的感知,只能沉浸在跳舞中。

无论是白天还是黑夜,无论是雨天还是晴天,卡伊都要不停地跳舞。

第四章:贪婪的主人公有一次,在一次特别盛大的舞会上,一位富有而自负的男子注意到了卡伊。

他非常欣赏卡伊的才华和美貌,并决定让她成为他的妻子。

他向卡伊提出要求,并答应给予她解脱的方法。

第五章:卡伊的解脱卡伊的丈夫告诉她,只有在教堂里跳舞,她才能解脱。

在婚礼当天,卡伊穿着红舞鞋来到教堂,但一进入教堂,红舞鞋变得异常狂暴,并将卡伊带到墓地。

卡伊恳求上帝的帮助,最终红舞鞋被迫停下来。

第六章:和平的结局卡伊失去了红舞鞋后,她终于感受到了自由。

她意识到贪婪和虚荣心给她带来了巨大的痛苦。

从那以后,卡伊放弃了对物质财富的追求,并专注于善良和真正的幸福。

主题分析美丽与诱惑红舞鞋象征着美丽与诱惑。

它吸引着人们的目光,让人们无法抵挡它的魅力。

然而,在追逐美丽的过程中,人们往往会陷入困境。

贪婪与自由意志卡伊的贪婪让她陷入了红舞鞋的束缚中。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2010-5-9 21
算法的时间复杂性为 O(nlogn) 下面来证明使用此贪心算法所得到的贪 心解是一个最优解.证明的基本思想是: 心解是一个最优解.证明的基本思想是: 把这个贪心解与任一个最优解相比较, 把这个贪心解与任一个最优解相比较,如 果这两个解不同, 果这两个解不同,就去找开始不同的第一 然后设法用贪心解的这个x 个xi,然后设法用贪心解的这个 i去代换 最优解的那个x 最优解的那个 i,并证明在分量作了代换
算法设计的基本方法
穷举法
例:用穷举法求解货郎担问题.这里我们 用穷举法求解货郎担问题. 假设任两个城市间的来去距离不同. 假设任两个城市间的来去距离不同.城市 编号为1, , , .如果设1为始发城市 为始发城市, 编号为 ,2,,n.如果设 为始发城市, 则其所有的路线就对应于2, , , 的 则其所有的路线就对应于 ,3,,n的 排列.所以(n-1)!种排列分别对应 种排列分别对应(n-1)!条 排列.所以 种排列分别对应 条 路线.穷举法是列举每条路线, 路线.穷举法是列举每条路线,从中选出 最优路线. 最优路线.
2010-5-9 6
贪心法不一定能产生正确的答案. 贪心法不一定能产生正确的答案. 例如,若引进一个1角 分的硬币 分的硬币, 例如,若引进一个 角1分的硬币,设从如 下集合{1,1,2,2,2,5,10,10,11,11}中数出 分, 中数出25分 下集合 中数出 按贪心法, 个硬币 但最优解仅为3个 个硬币. 按贪心法,共4个硬币.但最优解仅为 个 硬币. 硬币. 这说明贪心法得到的解只是一个可行解. 这说明贪心法得到的解只是一个可行解.
2010-5-9 18
n=3, M=20 , (v1, v2, v3) =(25,24,15) (w1 , w2 , w3)=(18,15,10) 1)按效益值非增次序将物品依次放入 按效益值非增次序将物品依次放入 背包 (x1,x2,x3) ∑wixi ∑vixi 28.2 (1,2/15,0) 20 2)按物品重量的非降次序将物品依次 按物品重量的非降次序将物品依次 放入背包 (0,2/3,1) 20 31
2010-5-9 14
货郎担( 二,货郎担(TSP)问题 ) 设售货员要到五个城市去售货, 设售货员要到五个城市去售货,最后 再回到出发的城市. 再回到出发的城市.已知从一个城市 到其他城市的费用, 到其他城市的费用,求总费用最少的 路线
2010-5-9
15
从不同结点出发: 从不同结点出发:
a 2 3 b 4 1 d
2010-5-9 25
j是使xj ≠1的最小下标, k是使 yk ≠xk的 最小下标. n=4, M=16 , (v1 , v2, v3 , v4)=(20,12,6,6) (w1, w2,w3,w4)=(10,12,6,6)
X=(1,1/2, 0, 0) Y=(1,1/3,1/6, 1/6) 并且 并且k=2,j=2 代换 Z=(1,1/2, z3, z4)
7 c 3
1)结点a为起点:权为13 )结点 为起点 为起点: 2)结点 为起点: 为起点: )结点b为起点 权为13 或者15 3)结点 为起点:权为13 为起点: )结点c为起点 4)结点 为起点: 为起点: )结点d为起点 权为13
2010-5-9 16
而实际上图中最短哈密顿 2 a 3 回路的长度为12. 回路的长度为 . b 4 1 d 即abcda
2010-5-9
12
一,Huffman编码 编码
某通讯系统只使用5种字符a 某通讯系统只使用5种字符a,b,c,d,e, 使用频率分别为0.1 , 0.14 , 0.2 , 0.26 , 0.3 , 使用频率分别为 利用二叉树设计不等长编码: 利用二叉树设计不等长编码: 为叶子的二叉树; 1)构造以 a,b,c,d,e为叶子的二叉树; 将该二叉树所有左分枝标记0 2)将该二叉树所有左分枝标记0,所有右 分枝标记1 分枝标记1; 3)从根到叶子路径上标记作为叶子结点所 对应字符的编码; 对应字符的编码; 证明: 证明:略
2010-5-9
20
void GreedyKnapsack(int n, float M, float v[], float w[], float x[]) { Sort(n, v, w); //使v1/w1≥v2/w2≥…≥vn/wn 使 for(int i=1; i<=n; i++) x[i]=0; float c=M; for(int i=1; i<=n; i++) { if(w[i]>c) break; x[i]=1; c-=w[i]; } if(i<=n) x[i]=c/w[i]; }
solution ← union(solution,x); } return (solution); }
2010-5-9 11
函数select的功能是按某种量度标准 的功能是按某种量度标准 函数 中选择一个输入, 从A中选择一个输入, 把它的值赋给 中选择一个输入 x并从 中消去它.feasible是一个布 并从A中消去它 并从 中消去它. 是一个布 尔函数,它判定x是否可以包含在解 尔函数,它判定 是否可以包含在解 向量中, 向量中,union将x与解向量结合并修 将 与解向量结合并修 改目标函数. 改目标函数.
2010-5-9
2
定义:穷举法是列举每个解, 定义:穷举法是列举每个解,从中选出 最优解. 最优解. 如果列举一个解为一个单位时间, 如果列举一个解为一个单位时间,则货郎 担问题要O(n!)时间. 时间. 担问题要 时间 穷举法是一个精确算法. 穷举法是一个精确算法. 区别:最优算法:不一定能求得最优解. 区别:最优算法:不一定能求得最优解. 精确算法:一定能求得最优解. 精确算法:一定能求得最优解.
i =1 i =1 i =1 i =1 n k k j
下面改造Y成为新解Z = ( z1 ,..., zn ),并使Z仍为最优解.将 yk增加到xk,从( yk +1 ,..., yn )中减同样的重量使总量仍是c.即, zi = xi
2010-5-9
i = 1,2,..., k; 和
i = k +1
∑w y
i
n
i
wk ( z k yk ) =
i = k +1
∑w z
n
i i
24
j是使xj ≠1的最小下标, k是使 yk ≠xk的 最小下标.
(1) X=(1,1,1/2, 0) Y=(1,1,2/3,1/3) j=3,k=3,所以 所以k=j,并且 3>x3 并且y 所以 并且 (2) X=(1,1,1/2, 0) Y=(1,1,1/2,1/2) j=3,k=4,所以 所以k>j,并且 4>x4 并且y 所以 并且 从而证明了y 并且k<=j 从而证明了 k<xk ,并且
2010-5-9
23
Case1 : 所有xi = 1. 显然该解就是最优解. Case2 : 设X = (1,...,1, x j ,0,...,0) x j ≠ 1, 1 ≤ j ≤ n. X就是最优 下证 解.设问题的最优解Y = ( y1 ,..., yn ), 则存在k使得yk ≠ xk的最小 下标(否则Y = X, 得证). 首先, 可以证明yk < xk. (反证:若yk > xk , 则xk ≠ 1, ∴ k ≥ j ∑ wi yi ≥ ∑ wi yi > ∑ wi xi = ∑ wi xi = c ∴Y不是可行解, 矛盾)
2010-5-9 13
5种字符a,b,c,d,e,使用频率分别 种字符a 为0.1 , 0.14 , 0.2 , 0.26 , 0.3
a: c: e: 000 01 11 b: 001 d: 10
c a b
d
e
30000-(1000+1400)*3 30000-(2000+2600+3000)*2 =7600
2010-5-9 8
对于这一类需求最优解的问题, 对于这一类需求最优解的问题,又可根据 约束条件和目标函数的数学模型的特性或 求解问题方法的不同进而细分为线性规划, 求解问题方法的不同进而细分为线性规划, 整数规划,非线性规划和动态规划等问题. 整数规划,非线性规划和动态规划等问题. 贪心法是一种改进了的分级处理方法. 贪心法是一种改进了的分级处理方法.它 首先根据题意,选取一种量度标准, 首先根据题意,选取一种量度标准,然后 将这n个输入排成这种量度标准所要求的 将这 个输入排成这种量度标准所要求的 顺序,按这种顺序一次输入一个量. 顺序,按这种顺序一次输入一个量.
2010-5-9 22
之后其总效益与代换之前无任何损失. 之后其总效益与代换之前无任何损失.反 复进行这种代换, 复进行这种代换,直到新产生的最优解与 贪心解完全一样, 贪心解完全一样,从而证明了贪心解是最 优解. 优解. 定理:如果v 定理:如果 1 /w1 ≥ v2/w2 ≥ ≥ vn/wn , 则此算法对于给定的背包问题实例生成一 个最优解. 个最优解.
2010-5-9 9
如果这个输入和当前已构成在这种量 度意义下的部分最优解加在一起不能 产生一个可行解, 产生一个可行解,则不把此输入加到 这部分解中. 这部分解中.这种能够得到某种量度 意义下的分级处理方法称为贪心法 贪心法. 意义下的分级处理方法称为贪心法.
2010-5-9
10
贪心法的抽象算法 { solution ← Φ;/将解向量 将解向量solution初始化 初始化/ 将解向量 初始化 for (i=1; i,<=n; i++ ) { x ← select(A); if (feasible(solution,x) )
2010-5-9
7
有一类这样的问题,它有 个输入 个输入, 有一类这样的问题,它有n个输入, 而它的解由这n个输入的某个子集组 而它的解由这 个输入的某个子集组 可行解), ),只是这个子集必须满 成(可行解),只是这件). 为了衡量可行解的优劣事先也给出一 定的标准(目标函数). ).那些使目标 定的标准(目标函数).那些使目标 函数取极值(极大或极小)的可行解, 函数取极值(极大或极小)的可行解, 称为最优解 最优解. 称为最优解.
相关文档
最新文档