摘要:
二、装载问题1. 问题描述有一批共个集装箱要装上2艘载重量分别为C1和C2的轮船,其中集装箱i的重量为Wi,且。装载问题要求确定是否有一个合理的装载方案可将这个集装箱装上这2艘轮船。如果有,找出一种装载方案。容易证明:如果一个给定装载问题有解,则采用下面的策略可得到最优装载方案。 (1)首先将第一艘轮船尽可能装满;(2)将剩余的集装箱装上第二艘轮船。 将第一艘轮船尽可能装满等价于选取全体集装箱... 阅读全文
摘要:
分支限界法分支限界法与回溯法分支限界法的基本思想常见的两种分支限界法一、单源最短路径问题1、问题描述在下图所给的有向图G中,每一边都有一个非负边权。要求图G的从源顶点s到目标顶点t之间的最短路径。 测试数据(图) 阅读全文
摘要:
C++ 优先级队列(priority_queue) 优先级队列顾名思义是根据元素的优先级被读取,接口和queues非常相近。程序员可以通过template参数指定一个排序准则。缺省的排序准则是利用operator< 形成降序排列,那么所谓“下一个元素”就是“数值最大的元素”。如果同时存在若干个数值最大的元素,无法确知究竟哪一个会入选。头文件:<queue>在文件 <queue> 中,class priority_queue 定义如下:namespace std { template < class T , class Container = vector&l 阅读全文
摘要:
四、0-1背包问题五、旅行售货员问题问题表述:在图中找到一个权最小的周游路线解空间:排列树剪枝策略:当前路径的权重+下一个路径的权重 < 当前的最小权重,则搜索该路径实现:参考书籍 《算法设计与分析(第二版)》 王晓东 编著授课教师 张阳教授 阅读全文
摘要:
二、批处理作业调度问题表述:给定n个作业的集合{J1,J2,…,Jn}。每个作业必须先由机器1处理,然后由机器2处理。作业Ji需要机器j的处理时间为tji。对于一个确定的作业调度,设Fji是作业i在机器j上完成处理的时间。所有作业在机器2上完成处理的时间和称为该作业调度的完成时间和。批处理作业调度问题要求对于给定的n个作业,制定最佳作业调度方案,使其完成时间和达到最小。显然,1,3,... 阅读全文