算法设计原则验证实验报告_算法设计与分析 综合设计性实验(实验报告的要求)...

本实验报告聚焦于0-1背包问题的解决方案,要求使用三种以上方法,包括但不限于蛮力、递归、动态规划、贪心、回溯、分支限界等,对比分析算法在运行时间、最优解寻找和问题规模上的表现。实验涉及文件输入输出,测试数据可自拟,旨在考察算法在大规模数据下的处理能力。小组合作完成,最后提交综合设计性实验报告。
摘要由CSDN通过智能技术生成

1

《算法设计与分析》课程

综合设计性实验要求

一、实验对象:

必修或选修《算法设计与分析》课程的同学。

二、截至时间:

2013-12-08

之前,由学委统一收了并对文件名命名整理,后打包用邮件来交。

三、实验内容:

0-1

背包问题是一例典型的组合优化的

NP

完全问题。问题可以描述为:给定一组共

n

个物品,每种

物品都有自己的重量

wi, i=1~n

和价值

vi, i=1~n

,在限定的总重量(背包的容量

C

)内,如何选择才能使得

选择物品的总价值之和最高。选择最优的物品子集放置于给定背包中,

最优子集对应

n

元解向量

(x1,

xn),

xi

{0

1}

,因此命名为

0-1

背包问题。

0-1

背包问题是许多问题的原型,但它又是一个

NP

完全问题。此实验主要研究和实现

n

(0<=n<=200)

C

(C<=2000, C

为整数

)

都较大的情形,随机产生

n

个物品的重量向量

wi

(1<=wi<=100, wi

为整数

)

和价值向

vi

(1<=vi<=100, vi

为整数

)

0-1

背包问题可以用许多方法来求解,有些算法可以得到问题的精确最优解,有些仅能获得一个近似

最优解。

本综合设计性实验要求用

3

种以上的方法求解

0-1

背包问题,

获得精确最优解或近似最优解皆可,

并对所采用的多种算法从运行时间、寻找是否为最优解、能够求解的问题规模等方面进行对比和分析。本

课程讲述的所有算法思想都可以用来求解此问题,甚至本课程未涉及的许多算法也非常适合于求解此问

题,学生可以先尝试先用本课程已介绍的算法来实现和分析,学有余力或兴趣驱动下可以寻找一些智能算

法的资料来试一试。涉及的方法可以有:蛮力求解、递归求解、动态规划求解、贪心求解、回溯法求解、

广度优先的分支限界法求解,优先队列的启发式分支限界法、遗传算法、模拟退火算法、蚁群算法、粒子

群算法等。

为方便这种大规模输入数据的调试,采用文件输入,标准输出(文件输出当然也可)的形式。数据输入的

格式如下:每组测试数据包含

n+1

行,第

1

行为

C

n

,表示背包容量为

C

且有

n

个物品,接下来

n

行是这

n

个物品的重量

wi

和价值

vi

。背包容量和物品重量都为整数。

n, C , wi, vi

范围如上所述。

输出

n+1

行。第

1

行为所选物品的最大价值之和,接下来

n

行为装入背包的物品所对应的

n

元最优解向量

(x1,

xn), xi

{0

1}

,但每行以

"i

xi"

形式输出。

提供一个参考的测试数据(

0-1

背包问题测试数据

(

提供参考

).xls

)给大家,此数据仅用参考,你也可自

拟测试数据,

对有些复杂度较高的算法可能算不到参考数据中的最大规模的数据

(或算的时间过长)

但能算到

多大要测试一下你的算法。

四、实验形式:

不超过

3

人(小组成员人数≤

3

人)形成一组,自由组合,若凑不够人数就

2

人或单人也可。一组只交一

份报告,报告封面上需将小组所有成员的姓名和学号填入,在报告中开始部分说明小组成员的分工。先透彻理

解实验内容,然后思考算法及实现框架,并编程调试测试通过,最后执笔完成《综合设计性实验的实验报告》

综合设计性实验报告以“电子版”的形式上交,以班级为单位收集好,由每个班学习委员统一收齐电子版

0 1背包问题是一例典型的组合优化的NP完全问题 问题可以描述为:给定一组共n个物品 每种物品都有自己的重量wi i 1 n和价值vi i 1 n 在限定的总重量(背包的容量C)内 如何选择才能使得选择物品的总价值之和最高 选择最优的物品子集放置于给定背包中 最优子集对应n元解向量 x1 …xn xi∈{0或1} 因此命名为0 1背包问题 0 1背包问题是许多问题的原型 但它又是一个NP完全问题 此实验主要研究和实现n 0< n< 200 和C C< 2000 C为整数 都较大的情形 随机产生n个物品的重量向量wi 1< wi< 100 wi为整数 和价值向量vi 1< vi< 100 vi为整数 0 1背包问题可以用许多方法来求解 有些算法可以得到问题的精确最优解 有些仅能获得一个近似最优解 本综合设计实验要求用3种以上的方法求解0 1背包问题 获得精确最优解或近似最优解皆可 并对所采用的多种算法从运行时间 寻找是否为最优解 能够求解的问题规模等方面进行对比和分析 本课程讲述的所有算法思想都可以用来求解此问题 甚至本课程涉及的许多算法也非常适合于求解此问题 学生可以先尝试先用本课程已介绍的算法来实现和分析 学有余力或兴趣驱动下可以寻找一些智能算法的资料来试一试 涉及的方法可以有:蛮力求解 递归求解 动态规划求解 贪心求解 回溯法求解 广度优先的分支限界法求解 优先队列的启发式分支限界法 遗传算法 模拟退火算法 蚁群算法 粒子群算法等 ">0 1背包问题是一例典型的组合优化的NP完全问题 问题可以描述为:给定一组共n个物品 每种物品都有自己的重量wi i 1 n和价值vi i 1 n 在限定的总重量(背包的容量C)内 如何选择才能使得选择物品的总价值之和最高 选择 [更多]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值