
C语言优化设计.docx
12页XX学院xxxxxxxxx一、设计题目:蜗杆传动的优化设计设计一普通圆柱蜗杆,已知参数:输入功率P=8. 8®;蜗杆转 速叫=960,/min;传动比z-l8;由电动机驱动,载荷平衡蜗杆材料 200,表面硬度HRC>58,蜗轮材料为ZQS用0-1,离心铸造,蜗杆减 速器每日8h,全年按300个工作日计,要示工作寿命不低于10年 根据以上条件进行优化设计,通常在满足使用要求的前提下,以结构 尺寸是否紧凑、传动效率是否较高作为评判设计优劣的指标,在此以 传动中心别具匠心为目标函数 a = m(q + zQ 12 = m(q + izj 12 式中:Cl 传动中心距;m 蜗杆轴向和蜗轮端面模数;0——蜗杆直径系数;Z1 蜗杆头数;气 蜗轮齿数;,——工程传动比;二、题目分析:由上式可知传动中心别具匠心与模数、蜗杆直径系数和蜗杆头数 有关此三个参数可作为独立设计变量,即、=[》"2,引 与此相对应,目标函数可写为:f(x)=》Q2 +弟)/2在进行蜗杆传动设计时,各参数应满足强度和刚度方面的要求, 应用网格法可求解这一问题网格法是约束直接优化方法中较为简单的一种方法,它的基本思想是将可行域分为许多网格,求出满足设计 约束的网格点上的目标函数值,比较它们的大小,从中选择函数值最 小的网格点。
依次循环,直到网格之间的距离达到控制精度,即可得 满足精度要求的近似最优解1、 设计变量在设计过程中进行选择并必须确定的各项独立参数称为设计参 数将几个设计变量知知..叫按一定的次序排列成的〃维列向量称为 设计向量即:金一X = " =[X1,x2,...xJr_Xn_其中,X,是〃维设计变量的第,个分量,"表示设计的维数用这 "个设计变量作 为坐标轴组成的"维空间称为设计空间,记为R" 一个设计方案就是设计空间中的一个点,称为设计点该点的向量就 是设计向量,记为耻2、 设计约束在优化设计中对设计变量取值的限制投机倒把称为设计约束或 约束条件,简称约束按照约束的形式,设计约束分为不等式约束和 等式约束在设计空间中将满足不等式的设计空间称为可行域,不满足的称 为非可行域,两部分的分界面称为约束面显然,非可行域内的设计 点不能接受3、目标函数在优化设计中用于评价设计方案的好坏的设计变量的函数称为目标 函数,一般情况下是追求目标函数的最小值,即目标函数值越小设计 方案越优对追求最大值的问题可通过数学处理转化为最小值在实 际中常以质量、成本、能耗等作为目标函数三、算法步骤:网格法的算法步骤为:(1) 给定目标函数初值产(一个足够大的正数)、对应各设计 变量为(,=1,2,...〃)的等分数和计算精度£。
2) 将区间【《,如进行叫等分,间距为’料,各分点坐标为T = TT+1)欢="仇,式中:弓=122,…■共有丁个分点:Al i(3) 对T个分点按顺序逐一进行可行性检查,放弃那些不满足 设计约束&3)<0(" = 1,2,-,榆的网格点,计算满足设计约束的网格点 所对应的目标函数值f(必),并与目标函数初值产比较,若 心",则r=f(xw)o否则,判别下一个网格点4) 如果max仇」=1,2,.../}&则停止计算,「尸即为所求的最 优点和最优值否则取% = X; — hj bt = x* + A,. (z = 1,2,•••,«)转向步骤(2)继续计算四、流程图五、程序ftinclude"stdio. h"/*预处理命令*/#include"stdlib. h"#includenmath. h" /*主函数*/main(){double fun(double x[3]);int yesorno(int ng, double x[3]);double x[3];double a[3] = {2. 0,7. 0,2.0}; /*定义网格区间上限*/double b[3] = {8. 0,25. 0,3. 0) ; /*定义网格区间下限*/int n=3;int m[3] = {12,24,10}; /*定义网格区间的等分值*/double eps=0. 1;double x0[3] = (0. 2,0. 3);double xmin[3],fmin;double f0=10. 0e5,f;double h[3];double hmax;int i;int iO,il,i2;int ng=10; /*参数约束条件个数*/dofor(i=0;i
学会思考问题,因为同一个程序编写的过程会有很多种方法, 因此需要选定最快捷的方法和最适合自己的编程思路在老师的指导 下合理使用各个快捷键,学会去调试程序和修正错误学习C语言过程中,并不是学会了语法就等于学会了编程,编程 更需要去学会思考,不断修正和优化自己的代码,使程序的运行效率 达到最佳,最终将一个让自己满意的程序展现在自己和大家眼前。
