回溯法求哈密尔顿回路试验报告

回溯法求哈密尔顿回路试验报告
回溯法求哈密尔顿回路试验报告

回溯法求哈密尔顿回路

2014211053谭富林

一.实验目的和算法分析

试验目的:

通过回溯的方法找出图的一般哈密顿尔回路,并且能够输出结果。

算法分析:

回溯法是一个既带有系统性又带有跳跃性的的搜索算法。它在包含问题的所有解的解空间树中,按照深度优先的策略,从根结点出发搜索解空间树。算法搜索至解空间树的任一结点时,总是先判断该结点是否肯定不包含问题的解。如果肯定不包含,则跳过对以该结点为根的子树的系统搜索,逐层向其祖先结点回溯。否则,进入该子树,继续按深度优先的策略进行搜索。回溯法在用来求问题的所有解时,要回溯到根,且根结点的所有子树都已被搜索遍才结束。而回溯法在用来求问题的任一解时,只要搜索到问题的一个解就可以结束。这种以深度优先的方式系统地搜索问题的解的算法称为回溯法,它适用于解一些组合数较大的问题。

哈密顿回路是从某顶点开始,经过图全部顶点一次回到起点的回路。

二.实验内容

1.编写实现算法:给定n点,m条变,找出所有哈密尔顿回路。

2.将输出数据显示在控制台窗体中。

3.对实验结果进行分析。

三.实验开发工具

操作系统:windows8

开发工具:Microsoft visual studio 2010

开发语言:C++

四.实验操作

程序的思路:

程序的实现:

#include

#include

#include

//全局变量声明

int m=1; //用于标志哈密尔顿回路的总个数int n; //

int x[128];

int graph[128][128];

void nextvalue(int k)

{

int j;

while(1)

{

x[k]=(x[k]+1)%(n+1);

if(x[k]==0) return;

if(graph[x[k-1]][x[k]])

{

for(j=1;j<=k-1;j++)

{

if(x[j]==x[k]) break;

}

if(j==k)

{

if(k

return;

}

}

}

}

void print(int x[],int n)

{

int i=1;

printf("回路%d:",m);

for(;i<=n;i++)

printf("%d ",x[i]);

printf("\n");

m++;

}

void hamiltonian(int k)

{

while(1)

{

nextvalue(k);

if(x[k]==0) return;

if(k==n)

print(x,n);

else

hamiltonian(k+1);

}

}

void main()

{

int i,j,e,a,b;

printf("***********哈密顿回路递归回溯算法***********\n");

printf("********************************************\n");

printf("请先创建一个n结点的连通图graph[n][n]\n");

printf("请输入顶点n的值:");

scanf_s("%d",&n);

printf("图中一共有几条边?请输入以便我们创建图:");

scanf_s("%d",&e);

for(i=1;i<=n;i++)

for(j=1;j<=n;j++)

graph[i][j]=0;

for(i=1;i<=e;i++)

{

printf("\n创建第%d条边:\n",i);

printf("构成此边的一个顶点号(1~%d):",n);

scanf_s("%d",&a);

printf("另一个顶点号(1~%d):",n);

scanf_s("%d",&b);

graph[a][b]=graph[b][a]=1;

}

x[1]=1;

for(i=2;i<=n;i++)

x[i]=0;

printf("\n以下为所求hamiltonian回路的所有解\n");

hamiltonian(2);

}

五.实验结果以及分析有哈密尔顿回路连通图:

运行结果:

无哈密尔顿回路连通图:

六.总结

通过本次课程设计,本人对算法设计与分析基础有了更深的认识,基本掌握了回溯法求解一般哈密尔顿回路的算法思路以及编程原理,提高了程序开发的能力,让能切实体会到算法在编程过程中的指导作用。通过课程设计,学会了按课程设计的任务要求完成各项程序的开发,对提高自身编程能力和项目管理能力有重要的现实意义。

液压气动实验报告

液压气动实验报告 课程名称:液压与气动 实验项目:填写下面给出的实验名称 实验时间:2014-12-15、2014-12-16、2014-12-17 实验组号:1组:1-10号;2组:11-20号;3组:21-30号;4组:31-40号;5组:41- 实验地点:工程215 实验报告中的实验过程、实验结果部分写思考题。 实验一液压泵拆装 一、实验目的 理解常用液压泵的结构组成及工作原理;掌握的正确拆卸、装配及安装连接方法;掌握常用液压泵维修的基本方法。 二、实验工具 实习用液压泵:齿轮泵。 工具:内六方扳手,固定扳手、螺丝刀、卡簧钳等。 三、思考题 1.齿轮泵由哪几部分组成?各密封腔是怎样形成? 2.齿轮泵的困油现象的原因及消除措施。 3.齿轮泵中存在几种可能产生泄漏的途径?为了减小泄漏,该泵采取了什么措施? 4.齿轮、轴和轴承所受的径向液压不平衡力是怎样形成的?如何解决? 5.单作用叶片泵与双作用叶片泵有什么区别? 实验二液压阀拆装 一、实验目的 1. 了解方向阀、压力阀、流量阀等的结构特点; 2. 熟悉各阀的主要零部件; 3. 熟悉各种液压阀的工作原理。 二、实验器材 直动式溢流阀、直动式顺序阀、先导式溢流阀、干式电磁换向阀、手动换向阀、单向阀等各种液压阀,拆装工具等。 三、实验过程 1. 拆开液压阀,取出各部件; 2. 分辨各油口,分析工作原理; 3. 比较各种阀的异同; 4. 按拆卸的相反顺序装配各阀。 四、思考题 1. 画图并说明直动式溢流阀的工作原理。 2. 如果先导式溢流阀主阀芯阻尼孔堵塞,液压系统会出现什么故障?为什么? 3. 比较直动式溢流阀、直动式顺序阀的异同。 实验三液压基本回路演示 一、实验目的 1. 了解小型基本回路实验台的构造和各元件的连接关系;

回溯法实验(0-1背包问题)

算法分析与设计实验报告第五次附加实验

附录: 完整代码(回溯法) //0-1背包问题回溯法求解 #include using namespace std; template class Knap //Knap类记录解空间树的结点信息 { template friend Typep Knapsack(Typep [],Typew [],Typew,int); private: Typep Bound(int i); //计算上界的函数 void Backtrack(int i); //回溯求最优解函数

Typew c; //背包容量 int n; //物品数 Typew *w; //物品重量数组| Typep *p; //物品价值数组 Typew cw; //当前重量 Typep cp; //当前价值 Typep bestp; //当前最后价值 }; template Typep Knapsack(Typep p[],Typew w[],Typew c,int n); //声明背包问题求解函数template inline void Swap(Type &a,Type &b); //声明交换函数 template void BubbleSort(Type a[],int n); //声明冒泡排序函数 int main() { int n ;//物品数 int c ;//背包容量 cout<<"物品个数为:"; cin>>n; cout<<"背包容量为:"; cin>>c; int *p = new int[n];//物品价值下标从1开始 int *w = new int[n];//物品重量下标从1开始 cout<<"物品重量分别为:"<>w[i]; } cout<<"物品价值分别为:"<>p[i]; } cout<<"物品重量和价值分别为:"<

液压与气压传动测试实验报告书-2015

实验报告 课程名称:液压与气压传动 实验项目:液压与气压传动测试实验实验班级: 学号,姓名:, 总页数:11 指导教师:李益林刘涵章实验时间:2015.3. ~2015-7. 机电学院液压与气压传动实验室

目录 目录 (2) 实验一液压泵拆装 (3) 1.CB—B10型齿轮泵流量计算 (3) 2.YB1-10双作用叶片泵排量计算 (3) 3.思考题 (4) 实验二液压泵性能测试 (5) 一、叶片泵测试与计算 (5) 二、画P—Q特性曲线图 (5) 实验三液压阀拆装 (6) 实验四溢流阀性能测试 (7) 一、溢流阀测试数据记录及处理 (7) 二、画启闭特性曲线图 (7) 实验五节流阀进油路节流调速回路的速度负载特性测试 (8) 一、测试数据记录及处理 (8) 实验六调速阀进油路节流调速回路的速度负载特性测试 (9) 一、测试数据记录及处理 (9) 画负载特性曲线图 (10) 实验七基本液压传动系统工作原理图绘制 (10) 1.观察S001液压传动系统试验台,标出各种液压元件的名称。 (10) 2.观察S001液压传动系统试验台,完成填充。 (11) 3.液压元件图形符号描述传动系统示意图。 (11)

实验一液压泵拆装 1.CB—B10 型齿轮泵流量计算 1)计算齿轮轴齿数:Z = 个。 2)测量齿顶圆直径D= mm. 3)测量齿轮齿宽: B = mm,CM. 4)计算齿轮模数:m = D / ( Z+ 2 ) = mm,CM. 标准模数m : 数值计算后,应向下面标准模数值靠近取值(mm)。 5)当转速n= 1450 r/min 的电机,泵的容积效率取ηv= 85% 时,计算齿轮泵排量 V = 2π·Z·m2 ·B (mL/r)(齿宽、模数用厘米单位代入计算。) 6)因为实际齿槽容积比齿轮体积稍大一些,通常取V = 6.66Zm2 B 7)计算齿轮泵流量q v = 6.66·Z·m2·B· n·ηv·10-3 (L/min) (齿宽、模数用厘米单位代入计算。) 2.YB1-10双作用叶片泵排量计算 1)YB1-10双作用叶片泵铭牌参数: 额定压力= Map ,额定转速= 转/分, 排量= 毫升/转。 2)测量定子内表面大圆弧直径D =mm,半径R = CM。 3)测量定子内表面小圆弧直径d =mm,半径r = CM。 4)测量定子宽度:B = mm,CM。 5)测量叶片厚度:δ = mm,CM。 6)计算叶片数: Z = 片。 7)叶片倾角:θ= 13 度。 8)叶片泵转速:n = r/min。(取>1000 ~<1450 ) 9)叶片泵工作区环形体积:V1 = 2π(R2 - r2)B 10)叶片所占容积:V2 = 2·[(R - r)/cosθ]·B·δ·Z 11)双作用叶片泵理论排量V t = V1- V2(mL/r),即

哈密尔顿回路问题

哈密尔顿回路算法比较 一、贪心法 贪心法通常用来解决具有最大值或最小值的优化问题。通常从某一个初始状态出发,根据当前局部而非全局的最优决策,以满足约束方程为条件,以使得目标函数的值增加最快或最慢为准则,选择一个最快地达到要求的输入元素,以便尽快地构成问题的可行解。 贪心法通过一系列选择得到问题的解。其所做出的每一个选择都是当前状态下的局部最好选择,即贪心选择。贪心法并不总能得到问题的最优解。 利用贪心法解哈密尔顿回路的C++算法如下: #include "stdio.h" int G[8][8]={{0,2,8,1,9}, {2,0,5,10,9}, {8,5,0,5,3}, {1,10,5,0,5}, {9,9,3,5,0}}; struct Edge //记录边的信息 { int x; int y; int value; //边的权值 }; typedef struct Edge Weight; int T[5]={0}; //用于标识节点是否被遍历过 int P[6]={0}; //存放路径 int sum_value=0; //计算总路径长度 Weight min_value(int r) //找出当前节点具有最小权值的相邻边 { int i,j=0,min; Weight W[5]; //用于存放相邻边的信息 for(i=0;i<5;i++) { if((T[i]==0)&&(i!=r)) //当节点未被遍历且不是自己到自己 { W[j].x=r; W[j].y=i; W[j].value=G[r][i]; //记录相邻边的信息

j++; } } min=W[0].value; for(i=0;i

回溯法实验(最大团问题)

算法分析与设计实验报告第七次附加实验

} } 测试结果 当输入图如下时: 当输入图如下时: 1 2 3 4 5 1 2 3 4 5

当输入图如下时: 1 2 3 4 5

附录: 完整代码(回溯法) //最大团问题回溯法求解 #include using namespace std; class Clique { friend void MaxClique(int **,int *,int ); private: void Backtrack(int i); int **a; //图的邻接矩阵 int n; //图的顶点数 int *x; //当前解 int *bestx; //当前最优解 int cn; //当前顶点数 int bestn; //当前最大顶点数 }; void Clique::Backtrack(int i) { //计算最大团 if(i>n) //到达叶子节点 { for(int j=1;j<=n;j++) bestx[j]=x[j]; bestn=cn;

cout<<"最大团:("; for(int i=1;i=bestn) { //修改一下上界函数的条件,可以得到 x[i]=0; //相同点数时的解 Backtrack(i+1); } } void MaxClique(int **a,int *v,int n) { //初始化Y Clique Y; Y.x=new int[n+1]; Y.a=a; Y.n=n; https://www.360docs.net/doc/7818219857.html,=0; Y.bestn=0; Y.bestx=v; Y.Backtrack(1); delete [] Y.x; cout<<"最大团的顶点数:"<

液压实验报告1

现代机械工程基础实验Ⅰ(机电)实验报告 (液压控制应用部分) 班级机械104 姓名PengGe 学号 版权所有,翻版随意~ 好好学习,天天向上 不用谢 山东某建筑大学机电工程学院

目录 一、过山车项目.................................................................................................. - 1 - 二、坦克系统...................................................................................................... - 2 - 三、超高压水切割系统...................................................................................... - 4 - 四、盾构机系统.................................................................................................. - 6 - 五、液压工作站系统.......................................................................................... - 7 - 六、写出下列机构的至少10种应用................................................................ - 8 - 七、液压转台...................................................................................................... - 9 - 八、STEWart平台系统 ...................................................................................... - 9 - 九、简述磁流变和电流变减震器的工作原理................................................ - 10 - 十、联想液压机构新的应用.......................................................................... - 10 - 十一、机器骡子液压系统设计........................................................................ - 10 - 十二、液力变矩器............................................................................................. - 11 -

PLC与液压实验报告

1.单缸连续往复控制回路(气动) 1、实验题目:单缸连续往复控制回路(气动) 2、实验原理:如图所示,三位四通的电磁阀1Y A 、1YB分别外接PLC的Q0.0、Q0.1的输出端子;当三位四通电磁阀还没通电时,液压缸静止,开始按液压缸启动按钮SB1,液压杆开始,当运动到最左端时,Q0.0输出1Y A通电时,换向阀向左移动,液压杆向右运动;当运动到最右端时,Q0.1输出1YB通电,换向阀向右移动,液压杆向左快退运动。通过感应开关SQ1、SQ2来控制PLC程序的Q0.0、Q0.1交换输出,再控制换向阀1YA、1YB 通电,使液压缸自动往复运动。 工作原理图 I/O分配表

输入输出 操作功能地址操作功能地址启动SB1 p 向右运动0.0 停止SB2 I0.1 向左运动0.1 SQ1 I0.2 SQ2 I0.3 PLC程序 PLC外部接线:

3、实验目的:通过实验,了解气动的运动原理,通过PLC控制实现液压缸的自动往复运动。 4、实验内容:通过感应开关控制PLC的输入实现液压缸自动往复运动工作无杆腔通气,有杆腔回放气时,杆前进;有杆腔通气,无杆腔放气时,杆快进。 5、实验步骤: 1、根据实验需要选择元件(单杆双作用缸、单向节流阀、接近开关、三位五通双电磁换向阀、三联件、连接软管)。并检验元件的实用性能是否正常。 2、看懂原理图后,搭建实验回路。 3、将三位五通双电磁换向阀和接近开关的电源输入口插入相应的控制板输出口。 4、确认连接安装正确稳妥,把三联件的调压旋钮放松,通气,开启气泵。待泵工作正常,再次调节三联件的调压旋钮,使回路中的压力在系统工作压力以内。 5、当电磁阀作为得电后,压缩空气经过电磁阀过单向节流阀进

回溯法实验报告

实验04 回溯法 班级:0920561 姓名:宋建俭学号:20 一、实验目的 1.掌握回溯法的基本思想。 2.掌握回溯法中问题的解空间、解向量、显式约束条件、隐式约束条件以及子 集树与排列树的递归算法结构等内容。 3.掌握回溯法求解具体问题的方法。 二、实验要求 1.认真阅读算法设计教材,了解回溯法思想及方法; 2.设计用回溯算法求解装载问题、n后问题、图的m着色问题的java程序 三、实验内容 1.有一批共n个集装箱要装上2艘载重量分别为C1和C2的轮船,其中集装箱 i的重量为wi,且∑wi≤C1+C2。装载问题要求确定是否有一个合理的装载方案可将这个集装箱装上这2艘轮船。如果有,找出一种装载方案。 2.在n×n格的棋盘上放置彼此不受攻击的n个皇后。按照国际象棋的规则, 皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。n后问题等价于在n×n格的棋盘上放置n个皇后,任何2个皇后不放在同一行或同一列或同一斜线上。 3.给定无向连通图G和m种不同的颜色。用这些颜色为图G的各顶点着色,每 个顶点着一种颜色。是否有一种着色法使G中每条边的2个顶点着不同颜色。 这个问题是图的m可着色判定问题。 四、算法原理 1、装载问题 用回溯法解装载问题时,用子集树表示其解空间是最合适的。可行性约束可剪去不满足约束条件(w1x1+w2x2+…+wnxn)<=c1的子树。在子集树的第j+1层结点Z处,用cw记当前的装载重量,即cw=(w1x1+w2x2+…+wjxj),当cw>c1时,以结点Z为根的子树中所有结点都不满足约束条件,因而该子树中的解均为不可行解,故可将该子树剪去。 解装载问题的回溯法中,方法maxLoading返回不超过c的最大子集和,但未给出达到这个最大子集和的相应子集。 算法maxLoading调用递归方法backtrack(1)实现回溯搜索。Backtrack(i)搜索

液压与气压传动课程实验报告模板

》 液压与气压传动——Array观察并分析液压传动系统的组成实验报告 一、实验目的 观察平面磨床工作台纵向运动液压传动系统,在对工件进行磨削加工时,工作台要进行纵向进给运动(左右方向的移动) @ 二、实验内容(主要对元件或系统的描述) 观察平面磨床对工件进行磨削加工的工作过程 (1)平面磨床磨削运动时的进给运动分别有工作台的纵向移动、砂轮架的横向移动和砂轮架的垂直移动。 (2)工作台的纵向移动工作行程及换向是由两个可调节位置的撞块来控制的,说明是用液压方向控制阀来控制液压油分别进入工作台下面液压缸的左、右两腔的。 (3)工作台的纵向移动速度通过旋转速度手柄可调节其大小,并可实现无级调速,说明是用液压流量控制阀来控制进入液压缸工作腔的液压油流量的。 三、主要实验步骤(认识性实验略) 、 四、实验小结(实验结果及分析、实验中遇到的问题及其解决方法、 实验的意见和建议等)

通过观察可知,任何一个完整的液压传动系统都是由能源装置、执行装置、控制调节装置和辅助装置四大主要部分组成的。了解了平面磨床工作台的纵向运动特点及控制方式,了解了各液压系统各组成部分元件名称及作用。

液压与气压传动——Array齿轮泵的拆装实验报告 一、实验目的 通过拆装外啮合齿轮泵,对典型结构齿轮泵的工作原理和基本结构有一定的认知。通过认知和分析,了解其在生产和生活中的应用。 二、实验内容(主要对元件或系统的描述) (1)观察外啮合齿轮泵的结构特点; (2)外啮合齿轮泵的拆卸; (3)外啮合齿轮泵的组装 三、主要实验步骤(认识性实验略) (1)准备拆装工具一套: 包括固定扳手、活动扳手、组合螺丝刀、内六角扳手、内卡簧钳、铜棒、专用钢套、橡胶锤,液压油等。 (2)观察外啮合齿轮泵的结构特点: a、观察泵盖上的卸油孔和卸荷槽,并比较泵体两端的卸荷槽。 b、观察泵的三片式结构的装配特点。 c、观察齿轮泵中存在的三个可能产生泄露的部位:齿轮外圆与泵体配合处、齿轮端面与端盖间和两个齿轮的齿面啮合处。 (3)外啮合齿轮泵的拆卸 a、用内六角扳手拆掉连接前后泵盖与泵体的内六角螺栓。 b、用铜棒和橡胶锤轻轻敲击驱动轴,使后(输出轴侧)泵盖与泵体从结合面处分离。 c、从前(非输出轴侧)泵盖上取出从动齿轮和主动轴。 d、从前泵盖上取出主动齿轮和主动轴。 e、取下泵体定位销和前泵盖。 f、零件拆卸完毕后,用汽油清洗全部零件,干燥后用不起毛的布擦拭干净。 (4)外啮合齿轮泵的组装

液压回路实验指导书

篇一:液压基本回路综合实验实验指导书 液压基本回路综合实验 实 验 指 导 书 济南大学机械工程学院 液压传动课程组 2010年3月 前言 液压传动课程是基础理论、液压元件、液压系统三部分组成,而液压系统回路设计 既重要又灵活。学生在学了液压元件有关知识后,通过液压元件的装拆实验,在加深对液压元件实物形体、内部结构及功用理解的基础上,使用《qcs014液压系统拼装实验台》,根据在书本中学到的知识,参照本实验指导书选做(或由教师指定)若干个实验回路:自己拟定实验方案进行液压回路设计即元件及液压附件的选用,然后亲自动手安装元件、接油管、联导线、组成电液实际系统。 实验台所备有的插接式液压元件有:①溢流阀(3个,1个带遥控口)、②减压阀 (2个)、③单向减压阀(1个)、④单向顺序阀(1个)、⑤压力继电器(1个)、⑥节流阀(2个)、⑦单向节流阀(1个)、⑧调速阀(1个)、⑨单向调速阀(1个)、⑩单向阀(1个)、⑾液控单向阀(2个)、⑿二位二通电磁换向阀(1个)、⒀二位三通电磁换向阀(2个)、⒁二位四通电磁换向阀(2个)、⒃三位四通电磁换向阀(2个)、⒄三位四通电液换向阀(1个)、⒅行程开关(4个)、⒆蓄能器(1个)、⒇液压缸(2个)、(21)流量计(1台)、(22)叶片泵(2个)。 为了使液压回路拆装方便迅速,安全可靠,故实验台油路的连接采用了快速接头, 电路电源及信号采用了24v驱动联接。 本实验指导书的编写,考虑到实验台的灵活性和可创造性,所以没对实验内容、步 骤、方法等作硬性规定,只按液压传动系统课程要求,给出了一些基本的实验内容,并通过详细举例,使操作者懂得如何使用实验台。学生在受到启发后, 能准确地选用元件和进行设计,能够分析和解释使用中既定的规划和出现的问题, 并进一步探索解决问题的途径。故本实验指导书中所列实验项目及实验步骤,甚至液压回路,均仅供参考。 目录 一、实验准备及注意事项 (3) 二、实验回路举例 (4) 三、实验内容(仅供参考) 实验(一)调速回路 (5) 实验(二)增速回路 (7) 实验(三)速度换接回路 (9) 实验(四)调压回路 (10) 实验(五)保压泵卸荷回路 (12) 实验(六)减压回路 (13) 实验(七)多缸顺序控制回路 (15) 实验(八)节流阀特性实验 (17) 一、实验注意事项

回溯法实验报告

数学与计算机学院实验报告 一、实验项目信息 项目名称:回溯法 实验时间: 2016/06/08 实验学时: 03 学时 实验地点:工科楼503 二、实验目的及要求 理解回溯法的深度优先搜索策略、 掌握用回溯法解题的算法框架、 掌握回溯法的设计策略 三、实验环境 计算机Ubuntu Kylin14.04 CodeBlock软件四、实验内容及实验步骤 排兵布阵问题 某游戏中,不同的兵种处在不同的地形上其攻击能力不一样,现有n个不同兵种的角色{1,2,...,n},需安排在某战区n个点上,角色i在j点上的攻击力为A ij。试设计一个布阵方案,使总的攻击力最大。 数据: 防卫点 角 色 1 2 3 4 5 1 2 3 4 5 回溯法: 程序: #include int position[10]; int a[10][10]; int check(int k){//每个节点检查的函数 int i; for(i=0;i=0) { sum=0; position[k]=position[k]+1; while(position[k]<=n)

if(check(k))break; else position[k]=position[k]+1; if(position[k]<=n && k==n-1) { for(i=0;i

北科大_液压实验报告

液压控制系统 实验报告 学院:机械工程学院 专业:机械工程及自动化 班级:机自1404 学号:41440001 姓名:丁恒 容:实验五、实验六、实验七

实验五电液位置控制系统建模和特性分析 1.实验目的 1.1 学会使用MATLAB软件分析电液位置控制系统的特性分析,加深对所学知识的理解; 1.2 掌握电液位置控制系统的特点及其校正方法; 1.3 培养应用MATLAB软件进行电液位置控制系统设计的实践能力。 2.实验容与实验原理 见实验指导书。 3.实验方法与步骤 3.1实验设备计算机及MATLAB软件系统。 3.2实验步骤 3.2.1已知卷曲机光电液带材矫偏控制系统工作原理方框图 卷曲机光电液带材矫偏控制系统方框图及传递函数如下 3.2.2 编写系统特性分析程序; 3.2.3 运行系统特性分析程序求出系统的开环伯特图,并根据稳定性条件求出系统的开环增益K; 3.2.4 运行系统特性分析程序并求出系统的闭环伯特图并分析系统的闭环特性; 3.2.5 根据电液位置控制系的特点设计系统的校正环节;

3.2.6 编写系统特性二次建模分析程序; 3.2.7 运行系统特性分析程序求出系统二次建模的开环伯特图和闭环伯特图并分析系统的特性; 3.2.8 完成系统时域特性分析; 3.2.9 完成利用SIMULINK仿真模块对电液位置控制系统的时域响应和频域响应进行仿真分析; 4.实验报告 4.1 绘出系统的开环伯特图,计算系统的开环增益K,分析系统的开环特性; 由系统的开环传函知:K=K K×1.67×10?3 94.5×10?4 =K K×0.1767 l/s 初取K=1 l/s,则系统开环传函为: 1 ---------------------------------------------------------------------------------------------- 2.178e-008 s^5 + 3.454e-006 s^4 + 0.0004238 s^3 + 0.01733 s^2 + s MATLAB程序见G51: G2=tf([1],[1/112^2 2*0.6/112 1]); G3=tf([1],[1/60.5^2 2*0.2/60.5 1 0]); G=G1*G2*G3 bode(G); bode图如下:易得相位裕量89°,增益裕量26.7dB,系统稳定。穿越频率为1rad/s。

液压传动实验报告

实验一液压元件模型拆装实验 1.实验目的 (1)熟悉液压泵、液压阀等的结构组成; (2)掌握各液压泵以及液压阀的工作原理及其作用和特点; 2 ?实验器材 齿轮泵、叶片泵、柱塞泵等各种液压泵;直动式溢流阀、直动式顺序阀、先导式溢流阀、 先导式减压阀、节流阀、调速阀、电磁换向阀、手动换向阀、行程阀等各种液压阀;固定扳 手、活动扳手、六角扳手、卡钳、十字起、一字起。 3 ?实验容 (一)外啮合齿轮泵拆装分析 (1)结构组成 泵体、前、后泵盖、主动轴、从动轴、齿轮 (2)工作原理 两啮合的轮齿将泵体、前后盖板和齿轮包围的密闭容积分成两部分,轮齿进入啮合的一侧密闭容积减小,经压油口排油,退出啮合的一侧密闭容积增大,经吸油口吸油。 (3)拆装步骤 拆除螺栓一一取出定位销一一打开泵盖一一取出齿轮和轴一一分离齿轮和轴 (4)主要零件分析 齿轮:一对几何参数完全相同的齿轮、齿宽为B齿数为z 主动轴:对齿轮起定位作用,将电能转化能机械能 (5)职能符号 (二)先导式溢流阀拆装分析 (1)结构组成 先导阀(阀芯、调压弹簧、调节杆、调节螺母) 、主阀(阀芯、阀体、复位弹簧、阻 尼孔) (2)工作原理 液体压力达到先导阀的调定压力时,先导阀阀芯打开,液流流过主阀中的阻尼孔,使主 阀上下两端形成压差,主阀阀口开启,开始溢流,此时液流阀进口压力基本上为定值。 (3)拆装步骤 去除管口一一卸掉调节螺母和调节杆一一取出先导阀芯和调压弹簧一一打开主阀底部封盖口——取出主阀芯和复位弹簧

(4)主要零件分析

调压弹簧:弹性刚度比较大,起调压作用 复位弹簧:弹性刚度比较小,起主阀复位作用 主阀芯:为滑阀,有径向孔和轴向孔,用来把进口压力油引入主阀测压面, 是主阀芯上下两端形成压差 (5)职能符号 (三)先导式减压阀拆装分析 (1) 结构组成 先导阀(阀芯、调压弹簧、调节杆、调节螺母) 、主阀(阀芯、阀体、复位弹簧、阻 尼孔) (2) 工作原理 减压一当阀处于工作状态时,P 2 R 调手柄可调节工作状态 下F 2的大小 (3)拆装步骤 去除管口一一卸掉调节螺母和调节杆一一取出先导阀芯和调压弹簧一一打开主阀底部 封盖口 ——取出主阀芯和复位弹簧 (4)主要零件分析 调压弹簧:弹性刚度比较大,起调压作用 复位弹簧:弹性刚度比较小,起主阀复位作用 主阀芯:为滑阀,有径向孔和轴向孔,用来把出口压力油引入主阀测压面, 阻尼孔用来 是主阀芯上下两端形成压差 (5)职能符号 阻尼孔用来 当P 2 阀芯上移 当P 2 阀芯下移 P 2 P 2

哈密尔顿图的充分必要条件

哈密尔顿图的充分必要条件 摘要 图论在现实生活中有着较为广泛的应用, 到目前为止,哈密尔顿图的非平凡充分必要条件尚不清楚,事实上,这是图论中还没解决的主要问题之一,但哈密尔顿图在实际问题中,应用又非常广泛,因此哈密尔顿图一直受到图论界以及运筹学学科研究人员的大力关注. 关键词:哈密尔顿图;必要条件;充分条件;

1 引言 (3) 2 哈密尔顿图的背景 (3) 3 哈密尔顿图的概念 (4) 4 哈密顿图的定义 (5) 4.1定义 (5) 4.2定义 (5) 4.3哈密顿路是遍历图的所有点。 (6) 4 哈密尔顿图的充分条件和必要条件的讨论 (7) 5 结论 (8) 参考文献 (8) 指导老师 (9)

1 引言 图论是一门既古老又年轻的学科,随着科学技术的蓬勃发展,它的应用已经渗透到自然科学以及社会科学的各个领域之中,利用它我们可以解决很多实际生活中的问题,给你一个图,你怎么知道它是否是哈密尔顿图呢?当然如果图的顶点不多,你可以用最古老的”尝试和错误”的方法试试找哈密尔顿回路就可以解决和判断.但是,数学家们并不满足这样的碰得焦头烂额后才找到的真理方法.是否存在一组必要和充分的条件,使得我们能够简单轻易地判断一个图是否是哈密尔顿图?有许多智者通过各种方式去尝试过了,遗憾的是至今尚未找到一个判别哈密尔顿回路和通路的充分必要条件.虽然有些充分非必要或必要非充分条件,但大部分还是采用尝试的办法,不过这些条件也是非常有用的. 2 哈密尔顿图的背景 美国图论数学家奥在1960年给出了一个图是哈密尔顿图的充分条件:对于顶点个数大于2的图,如果图中任意两点度的和大于或等于顶点总数,那这个图一定是哈密尔顿图。闭合的哈密顿路径称作哈密顿圈,含有图中所有顶的路径称作哈密顿路径. 1857年,哈密尔顿发明了一个游戏(Icosian Game).它是由一个木制的正十二面体构成,在它的每个棱角处标有当时很有名的城市。游戏目的是“环球旅行”。为了容易记住被旅游过的城市,在每个棱角上放上一个钉子,再用一根线绕在那些旅游过的城市上(钉子),由此可以获得旅程的直观表示(如图1)。

算法设计与分析:回溯法-实验报告

应用数学学院信息安全专业班学号姓名 实验题目回溯算法 实验评分表

实验报告 一、实验目的与要求 1、理解回溯算法的基本思想; 2、掌握回溯算法求解问题的基本步骤; 3、了解回溯算法效率的分析方法。 二、实验内容 【实验内容】 最小重量机器设计问题:设某一个机器有n个部件组成,每个部件都可以m个不同供应商处购买,假设已知表示从j个供应商购买第i个部件的重量,表示从j个供应商购买第i个部件的价格,试用回溯法求出一个或多个总价格不超过c且重量最小的机器部件购买方案。 【回溯法解题步骤】 1、确定该问题的解向量及解空间树; 2、对解空间树进行深度优先搜索; 3、再根据约束条件(总价格不能超过c)和目标函数(机器重量最小)在搜索过程中剪去多余的分支。 4、达到叶结点时记录下当前最优解。 5、实验数据n,m, ] ][ [j i w,] ][ [j i c的值由自己假设。 三、算法思想和实现【实现代码】

【实验数据】 假设机器有3个部件,每个部件可由3个供应商提供(n=3,m=3)。总价不超过7(c<=7)。 部件重量表: 部件价格表: 【运行结果】

实验结果:选择供应商1的部件1、供应商1的部件2、供应商3的部件3,有最小重量机器的重量为4,总价钱为6。 四、问题与讨论 影响回溯法效率的因素有哪些? 答:影响回溯法效率的因素主要有以下这五点: 1、产生x[k]的时间; 2、满足显约束得x[k]值的个数; 3、计算约束函数constraint的时间; 4、计算上界函数bound的时间; 5、满足约束函数和上界函数约束的所有x[k]的个数。 五、总结 这次实验的内容都很有代表性,通过上机操作实践与对问题的思考,让我更深层地领悟到了回溯算法的思想。 回溯算法的基本思路并不难理解,简单来说就是:从一条路往前走,能进则进,不能进则退回来,换一条路再试。回溯法的基本做法是深度优先搜索,是一种组织得井井

哈密顿回路算法

哈密顿回路算法 概念:哈密顿图:图G的一个回路,若它通过图的每一个节点一次,且仅一次,就是哈密顿回路。存在哈密顿回路的图就是哈密顿图。哈密顿图就是从一点出发,经过所有的必须且只能一次,最终回到起点的路径。图中有的边可以不经过,但是不会有边被经过两次。 与欧拉图的区别:欧拉图讨论的实际上是图上关于边的可行便利问题,而哈密顿图的要求与点有关。 判定:一:Dirac定理(充分条件) 设一个无向图中有N个顶点,若所有顶点的度数大于等于N/2,则哈密顿回路一定存在。(N/2指的是?N/2?,向上取整)二:基本的必要条件 设图G=《V,E》是哈密顿图,则对于v的任意一个非空子集S,若以|S|表示S中元素的数目,G-S表示G中删除了S中的点以及这些点所关联的边后得到的子图,则W(G-S)《=|S|成立。其中W(G-S)是G-S中联通分支数。 三:竞赛图(哈密顿通路) N(N》=2)阶竞赛图一点存在哈密顿通路。 算法:一:在Dirac定理的前提下构造哈密顿回路过程: 1:任意找两个相邻的节点S和T,在其基础上扩展出一条尽量长的没有重复结点的路径。即如果S与结点v相邻,而且v不在路径S -》T上,则可以把该路径变成v -》S -》T,然后v成为新的S.从S和T分别向两头扩展,直到无法继续扩展为止,即所有与S或T 相邻的节点都在路径S -》T上。 2:若S与T相邻,则路径S -》T形成了一个回路。 3:若S与T不相邻,可以构造出来一个回路。设路径S -》T上有k+2个节点,依次为S,v1,v2,。。。,vk,T.可以证明存在节点vi(i属于[1,k]),满足vi与T相邻,且vi+1与S相邻。找到这个节点vi,把原路径变成S -》vi -》T -》vi+1 -》S,即形成了

回溯法实验(n皇后问题)(迭代法)

算法分析与设计实验报告第三次附加实验

附录: 完整代码(回溯法) //回溯算法递归回溯n皇后问题#include #include #include #include"math.h" using namespace std; class Queen

{ friend int nQueen(int); //定义友元函数,可以访问私有数据 private: bool Place(int k); //判断该位置是否可用的函数 void Backtrack(int t); //定义回溯函数 int n; //皇后个数 int *x; //当前解 long sum; //当前已找到的可行方案数 }; int main() { int m,n; for(int i=1;i<=1;i++) { cout<<"请输入皇后的个数:"; //输入皇后个数 cin>>n; cout<<"皇后问题的解为:"<

心得体会 液压基本回路实验心得体会

液压基本回路实验心得体会 液压基本回路实验心得体会 实验日期:年月日班级:姓名:. 典型液压回路实验报告 一、调速回路实验 实验数据1(差动连接): 实验数据2(普通连接): 液压缸伸出和返回曲线: 实验总结: 结合实验,说明在差动连接和普通连接情况下液压缸伸出速度不同的原因。 二、压力回路实验 实验总结:根据所做的实验,对图3、4在调定参数下,分析液压缸伸出缩回速度不同的 原因;对图5分析液控单向阀的启闭过程及应用场合。 三、顺序动作回路实验 实验总结:据所做的实验,对图6分析液压缸顺序动作次序及起作用的元件;对图7分 析液压缸顺序动作次序、压力继电器所控制的元件及电磁阀通断电关系;对图8分析液压缸顺序动作次序及电磁阀通断电动作循环表。第二篇、简单液压回路实验报告 液压基本回路实验心得体会第三篇、实验1液压基本回路

液压基本回路实验心得体会 实验一液压基本回路 一、实验目的: 了解各类液压基本回路的组成,学会采用FluidSIM软件构建简单的液压基本回路,并仿真回路运行,对液压回路进行调试。 通过本实验达到如下目的: 1.熟悉掌握各种液压基本回路的构成及其工作原理。 2.学会利用FluidSIM软件构建简单的液压基本回路,并仿真回路运行,对液压回路进行调试。 3.完成二位三通电磁阀单作用缸的换向回路、单级减压回路、用调速阀的同步回路。 二、实验内容: (一)实际液压回路——单活塞杆双作用液压缸的双向运动的控制(1)调试下面液压系统并绘制该系统的液压回路图 (2)利用FluidSIM软件仿真该液压回路并调试该回路 二)实际液压回路——单活塞杆双作用液压缸的调速回路的控制(1)调试下面液压系统并绘制该系统的液压回路图 (2)利用FluidSIM软件仿真该液压回路并调试该回路 三、实验数据记录及处理: 一)用FluidSIM软件构建简单的液压基本回路。 二)调试液压回路图,写出其回路工作原理。 三)记录各元件压力、流量等参数以及,并计算校验回路相关参数。

哈密尔顿回路问题

海南大学硕士研究生2010 —2011学年度第一学期算法设计与分析课程考试论文 学院(中心、所):信息科学技术学院专业: 计算机应用技术研究方向班级 学生姓名王磊学生证号10081203210008 课程名称:算法设计与分析 论文题目:哈密尔顿回路问题 任课老师:钟声 (以上由学生填写) 教师评阅: 阅卷教师(签名):年月日

哈密尔顿回路问题 一前言 1857年,英国数学家汉密尔顿(Hamilton)提出了著名的汉密尔顿回路问题,其后,该问题进一步被发展成为所谓的“货郎担问题”,即赋权汉密尔顿回路最小化问题:这两个问题成为数学史上著名的难题。 所谓赋权汉密尔顿回路最小化问题是指,给定n个点及n个点两两之间的距离(或权数),求一条回路,使之经过所有的点,且经过每个点仅一次,而整条回路(也称路径或边界)的总距离(或总权数)最小。理论上讲,这一问题总是可以通过枚举法求出其解的,但由于枚举法的计算量过大,达到(n-1)!的数量级,因而,不是可行的方法。 二哈密尔顿回路问题的最优解 回朔法求解哈密尔顿回路的最优解: 有许多问题,当需要找出它的解集或者要求回答什么解是满足某些约束条件的最佳解时,往往要使用回溯法。回溯法的基本做法是搜索,或是一种组织得井井有条的,能避免不必要搜索的穷举式搜索法。这种方法适用于解一些组合数相当大的问题。 回溯法在问题的解空间树中,按深度优先策略,从根结点出发搜索解空间树。算法搜索至解空间树的任意一点时,先判断该结点是否包含问题的解。如果肯定不包含,则跳过对该结点为根

的子树的搜索,逐层向其祖先结点回溯;否则,进入该子树,继续按深度优先策略搜索。 2.1 思想 本问题采用回溯法求解最优解: 回溯法求解:首先把回路中的所有顶点的编号初始化为0,然后,把顶点1当作回路中的第1个顶点,即x0=1,搜索与1邻接的编号最小的顶点,作为它的后续顶点,判断是否满足约束条件,是则到达该顶点,x1取值为满足条件的顶点编号。然后再同样的方式搜索下面的顶点。依次继续下去。 假设在搜索过程中已经生成了通路l=x0x1,…,xi-1,在继续搜索某个顶点作为通路中的xi顶点时,根据约束条件,在V中选择与xi-1邻接的并且不属于l的编号最小的顶点。如果搜索成功,则把该顶点作为通路中的顶点xi,然后继续搜索通路中的下一个顶点。如果搜索失败,就把l中的xi-1删去(回溯),从xi-1的顶点编号加1的位置开始,继续搜索与xi-2相邻接的且不属于l的编号最小的顶点。这个过程一直继续下去。当搜索到l中的顶点xn-1时,如果xn-1与x0相邻接,就得到了一条哈密尔顿回路;否则,把l中的顶点xn-1删去,继续回溯。最后,在回溯过程中,l中只剩下一个顶点x0,则表明图不存在哈密尔顿回路。

相关文档
最新文档