第一范文网 - 专业文章范例文档资料分享平台

2016春季14级本科“算法设计与分析”大作业题目要求

来源:用户分享 时间:2025/6/10 14:25:58 本文由瀛ゅ績鏃犳剰 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

2014级计算机科学与技术专业“算法设计与分析”大作业题

2015学年~2016学年第2学期

2016年4月18日

总体要求

本次综合大作业(上机实现题目)是为了配合“算法设计与分析”课程的讲授而设置的,目的在于培养学生理论联系实际的问题求解能力。综合大作业题目共两道,两题均要求采用动态规划算法求解。每题50分。以小组为单位检查,自由组合(可跨越班级),每组人数一般不少于3人、但不超过5人。每组提交1份课程报告,检查时每组至少须有1人做成果展示演讲(答辩),在课堂上就题目的设计思想、实现方法的正确性等进行说明,全组成员一起参与答辩,回答教授及同学的提问与质疑。

对于“动态规划”问题,报告中必须对最优值函数和标记函数的含义进行详细说明,列出子问题计算中所使用的有关最优值函数和标记函数的递推关系(一般采用递归式加以描述)和初值(边界条件)。给出所设计算法的时间复杂度分析。

每组自备2、3个相关问题的实例,报告中以实例中的数据描述算法的执行步骤。

一、 广义背包问题

广义背包问题的描述如下:给定载重量为M的背包和n种物品,每种物品有一定的重量和价值,现在需要设计算法,在不超过背包载重量的前提下,巧妙选择物品,使得装入背包的物品的总价值最大化。规则是,每种物品均可装入背包多次或不装入(但不能仅装入物品的一部分)。请用数学语言对上述背包问题加以抽象,在此基础上给出动态规划求解该问题的递归公式。要求对所给公式中的符号意义加以详细说明,并简述算法的求解步骤。用一种你熟悉的程序设计语言加以实现。

二、 在下面A 、B两道题中选取一道感兴趣的题目完成

A、加工顺序问题

“加工顺序问题”又被称为“批处理作业调度问题”。

设有n个工件需要在机器M1和M2上加工,每个工件的加工顺序都是先在M1上加工,然后在M2上加工。t1j,t2j分别表示工件j在M1,M2上所需的加工时间(j=1,2,···,n)。问应如何在两机器上安排生产,使得第一个工件从在M1上加工开始到最后一个工件在M2上加工完所需的总加工时间最短?关于此(类)问题的回溯法求解被作为经典案例在很多教材或参考文献中出现,现要求设计求解此问题的动态规划算法。

请用数学语言对“加工顺序问题”加以抽象,在此基础上给出动态规划求解该问题的递归公式。要求对所给公式中的符号意义加以详细说明,并简述算法求解步骤。用一种你熟悉的程序设计语言加以实现。

提示(分析最优解的性质,刻画最优解的结构—最优子结构性质)

第页 1 共2页

将n个工件的集合看做N={1,2,···,n},设P是给定n个工件的一个最优加工顺序方案,则 P(i)是该调度方案的第i个要调度的工件(i=1,2,···,n)。先考虑初始状态,第一台机器M1开始加工集合N中的P(1)工件时,第二台机器M2空闲。随着时间的推移,经过t1P(1)的时间,进入一个新的状态:第一台机器M1开始加工集合N-{P(1)}中的P(2)工件时,第二台机器M2开始加工P(1)工件,需要t2P(1)的时间才能空闲。以此类推,可以将每一个状态表示成更一般的形式,即:当第一台机器M1开始加工集合S(SN是N的作业子集)中的工件i时,第二台机器M2需要t时间才能空闲下来。这种状态下,从集合S中的第一个工件开始在机器M1上加工到最后一个工件在机器M2上加工结束时所耗的时间为T(S,t)。设集合S的最优加工顺序中第一个要加工的工件为i,那么,经过t1i的时间,进入的状态为第一台机器M1开始加工集合S-{ i }中的工件时,第二台机器M2需要t‘ 时间才能空闲下来,这种情况下机器M2加工完S-{i}中的工件所需的时间为T(S-{i},t’),其中

则 T(S,t)=t1i + T(S-{i},t2i+max{t-t1i,0}) (2-1) 从式(1-1)可以看出,如果T(S,t)是最小的,那么其包含的子问题

T(S-{i},t2i+max{t-t1i,0})肯定也是最小的。即该问题的整体最优一定包含其子问题的最优。

B、TSP问题

所谓TSP问题是指旅行商要去n个城市推销商品,其中每个城市到达且仅到达一次,并且要求所走的路程最短(该问题又称货郎担问题、邮递员问题、售货员问题等)。TSP问题最容易想到、也肯定能得到最优解的算法是穷举法,即考察所有可能的行走线路,从中选出最佳的一条。但是用穷举法求解TSP问题的时间复杂性为O(n!),属于NP问题。请用数学语言对该TSP问题加以抽象,在此基础上给出动态规划求解该问题的递推公式。要求对所给公式中的符号意义加以详细说明,并简述算法求解步骤。用一种你熟悉的程序设计语言加以实现。

第页 2 共2页

2016春季14级本科“算法设计与分析”大作业题目要求.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c4deul4sir72r4yj9c24r_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top