- 6
- 0
- 约 56页
- 2017-02-01 发布于北京
- 举报
右子树搜索条件?? 改进思想:引入一个上界函数,用于剪去不含最优解的子树,从而改进算法在平均情况下的效率。 上界函数 public static int maxLoading (int [] ww, int cc ) { //初始化类数据成员 //初始化r for (int i=1; i=n; i++) r += w[i]; //计算最优载重量 backtrack(1); return bestw; } //回溯算法 private static void backtrack (int i) { //搜索第i层结点 if (in) { // 到达叶结点 if (cwbestw) bestw=cw; return; } //搜索子树 r -= w[i]; if (cw+w[i]=c) { //搜索左子树 cw += w[i]; backtrack (i+1); cw -= w[i]; } if (cw+rbestw) //搜索右子树 backtrack (i+1); r += w[i]; } } public class Loading { static int r; //剩余集装箱重量 上界函数(不选择当前元素):当前载重量cw+剩余集装箱的重量r?当前最优载重量bestw 构造最优解 为了不仅仅得到最优装载量,而且能得到与此最优装载量对应的装载方案,即需要构造最优解,则必须在算法中记录与当前最优值相应的当前最优解。在类Loading中增加两个私有数据成员x和bestx: x用于记录从根至当前结点的路径, bestx记录当前最优解。 算法搜索到达叶结点处,就修正bestx的值。 public class Loading { static int []x; //当前解 static int []bestx; //当前最优解 public static int maxLoading (int [] ww, int cc ) { //初始化类数据成员 x=new int[n+1]; bestx=xx; //计算最优载重量 backtrack(1); return bestw; } //回溯算法 private static void backtrack (int i) { //搜索第i层结点 if (in) { // 到达叶结点 for (int j=1; j=n; j++) bestx[j]=x[j]; bestw=cw; return; } //搜索子树 r -= w[i]; if (cw+w[i]=c) { //搜索左子树 x[i]=1; cw += w[i]; backtrack (i+1); cw -= w[i]; } if (cw+rbestw) { x[i]=0; //搜索右子树 backtrack (i+1); } r += w[I;] } } 解空间:子集树 可行性约束函数(选择当前元素): 上界函数(不选择当前元素): 当前载重量cw+剩余集装箱的重量r?当前最优载重量bestw ?装载问题:迭代回溯 给定背包的载重量M=10,有4个物体,价值和重量分别为 说明用回溯法求解上述背包问题的过程。画出搜索树,结点按照生成顺序编号,并在节点旁边标出生成该结点时所执行动作的结果。 课堂练习 V 15 6 12 8 W 2 2 6 7 10,18,1 2,15 5,11,1 3,8,1 4,12,1 10,18,0 5,11,1 4,21 3,8,1 10,18,0 5,11,1 8,33 10,18,0 Max 16,52 2,15,1 2,6,1 4,12,1 5,11,1 3,8,1 Max 16,52 B C A D E F H I J K Q M N O P 10,18,0 G w G Max 13,44 L Max 12,40 Y V 9,35 Max 19,53 V 15 6 12 8 11 18 W 2 2 4 3 5 10 最大价值是53 分别装入(2,,15)(4,12)(3,8)(10,18)四件物体。 批处理作业调度 * 给定n个作业的集合{J1,J2,…,Jn}。每个作业必须先由机器1处理,然后由机器2处理。作业Ji需要机器j的处理时间为tji。对于一个确定的作业调度,设Fji是作业i在机器j上完成处理的时间。所有作业在机器2上完成处理的时间和称为该作业调度的完成时间和。 批处理作业调度问题要求对于给定的n个作业,制定最佳作业调度方案,使其完成时间和达到最
您可能关注的文档
- JavaBean的属.ppt
- JAVA-Jcreator的设置和使.ppt
- JAVA判断题含答.doc
- java数据库操.ppt
- JSP-属性的参.ppt
- L12_FA_固定资.ppt
- labview数据采集实.ppt
- language points unit3 选修.ppt
- Language points申.ppt
- Leaf数码后背使用要.doc
- 广东省广州省实验中学教育集团2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州大学附属中学2025-2026学年八年级上学期奥班期中物理试题(解析版).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(含答案).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(解析版).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 2026《中国人寿上海分公司营销员培训体系优化研究》18000字.docx
- 《生物探究性实验教学》中小学教师资格模拟试题.docx
原创力文档

文档评论(0)