c语言优化设计

C

XX学院

xxx

xxx

xxx

一、设计题目:

蜗杆传动的优化设计

设计一普通圆柱蜗杆,已知参数:输入功率=8.8;蜗杆转速;传动比;由电动机驱动,载荷平衡。蜗杆材料,表面硬度,蜗轮材料为,离心铸造,蜗杆减速器每日8h,全年按300个工作日计,要示工作寿命不低于10年。

根据以上条件进行优化设计,通常在满足使用要求的前提下,以结构尺寸是否紧凑、传动效率是否较高作为评判设计优劣的指标,在此以传动中心别具匠心为目标函数

式中:——传动中心距;

——蜗杆轴向和蜗轮端面模数;

——蜗杆直径系数;

——蜗杆头数;

——蜗轮齿数;

——工程传动比;

二、题目分析:

由上式可知传动中心别具匠心与模数、蜗杆直径系数和蜗杆头数有关。此三个参数可作为独立设计变量,即,与此相对应,目标函数可写为:

在进行蜗杆传动设计时,各参数应满足强度和刚度方面的要求,应用网格法可求解这一问题。网格法是约束直接优化方法中较为简单的一种方法,它的基本思想是将可行域分为许多网格,求出满足设计约束的网格点上的目标函数值,比较它们的大小,从中选择函数值最小的网格点。依次循环,直到网格之间的距离达到控制精度,即可得满足精度要求的近似最优解。

1、设计变量

在设计过程中进行选择并必须确定的各项独立参数称为设计参数。将几个设计变量按一定的次序排列成的维列向量称为设计向量即:

其中,是维设计变量的第个分量,表示设计的维数。用这个设计变量作 为坐标轴组成的维空间称为设计空间,记为。一个设计方案就是设计空间中的一个点,称为设计点。该点的向量就是设计向量,记为。

2、设计约束

在优化设计中对设计变量取值的限制投机倒把称为设计约束或约束条件,简称约束。按照约束的形式,设计约束分为不等式约束和等式约束。

在设计空间中将满足不等式的设计空间称为可行域,不满足的称为非可行域,两部分的分界面称为约束面。显然,非可行域内的设计点不能接受。

3、目标函数

在优化设计中用于评价设计方案的好坏的设计变量的函数称为目标函数,一般情况下是追求目标函数的最小值,即目标函数值越小设计方案越优。对追求最大值的问题可通过数学处理转化为最小值。在实际中常以质量、成本、能耗等作为目标函数。

三、算法步骤:网格法的算法步骤为:

(1)给定目标函数初值(一个足够大的正数)、对应各设计变量的等分数和计算精度。

(2)将区间进行等分,间距为,各分点坐标为,式中: ,共有T个分点:

(3)对T个分点按顺序逐一进行可行性检查,放弃那些不满足设计约束的网格点,计算满足设计约束的网格点所对应的目标函数值,并与目标函数初值比较,若,则。否则,判别下一个网格点。

(4)如果则停止计算,即为所求的最优点和最优值。否则取

转向步骤(2)继续计算。

四、流程图

五、程序

#include"stdio.h" /*预处理命令*/

#include"stdlib.h"

#include"math.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 i0,i1,i2;

int ng=10; /*参数约束条件个数*/

do

{

for(i=0;i

h[i]=(b[i]-a[i])/m[i]; /*将区间[ai,bi]进行mi等分*/

for(i2=0;i2<=m[2];i2++) /*网格法划分区间*/

{

x[2]=a[2]+i2*h[2];

for (i1=0;i1<=m[1];i1++)

{

x[1]=a[1]+i1*h[1];

for(i0=0;i0<=m[0];i0++)

{

x[0]=a[0]+i0*h[0];

if(yesorno(ng,x)==0) /*判断刚度与强度约束判断*/

continue;

f=fun(x);

if(f>=f0)

continue;

for(i=0;i

{x0[i]=x[i];xmin[i]=x[i];}

f0=f; fmin=f;

}}}

hmax=0.0;

优化设计c语言程序设计,c语言优化设计.doc相关推荐

  1. c语言程序设计字符处理周信东,“电子科技大学出版社(周信东主编)”的C语言程序设计实验-整理代码-.doc...

    "电子科技大学出版社(周信东主编)"的C语言程序设计实验-整理代码-.doc -前言- /*非常感谢度?娘以及各位?网上C语言?高手的支持?,才能让敝人?完成此文档?的整理. 本文 ...

  2. 谈一下对c语言程序设计,谈《C语言程序设计》课程教学.doc

    谈<C语言程序设计>课程教学.doc 谈<C语言程序设计>课程教学 摘要:C语言作为入门级的编程语言,已经被越来越多的学生所重视,然而在当前的<C语言程序设计>课程 ...

  3. 兰州大学c语言课程作业答案,兰州大学C语言程序设计课程作业1.doc

    兰州大学C语言程序设计课程作业1.doc (55页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.90 积分 C语言程序设计课程作业_A历次成绩完成时 ...

  4. 浙大java语言程序设计_浙江大学java语言程序设计实验答案全集.doc

    浙江大学java语言程序设计实验答案全集.doc 1JAVA答案全集实验汇总.实验2数据类型和变量的使用一.程序填空,在屏幕上显示一个短句"PROGRAMMINGINJAVAISFUN&qu ...

  5. c语言程序设计备考,《C语言程序设计》复习资料.doc

    <C语言程序设计>复习资料<C语言程序设计>复习资料.doc 第 PAGE 7 页 共 NUMPAGES 7 页1.概念:1.若x和n均是int型变量,且它们的初值均为5,计算 ...

  6. c语言程序设计数组实验报告,c语言程序设计实验报告(数组).doc

    c语言程序设计实验报告(数组).doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印. 3 ...

  7. c语言设计知识,C语言程序设计的初步知识.doc

    C语言程序设计的初步知识.doc 第二章 C语言程序设计的初步知识一.选择题1在C 语言中,下列类型属于构造类型的是 .(0级) A)整型 B)字符型 C)实型 D)数组类型2在C 语言中,下列类型属 ...

  8. c语言程序设计考试a答案,C语言程序设计考试A答案.doc

    C语言程序设计考试A答案.doc 第 1 页 共 8 页 系领导审批并签名 A 卷 广州大学广州大学 2008-2009 学年第一学期考试卷学年第一学期考试卷 课程C 语言程序设计考试形式(闭卷,考试 ...

  9. 简短的超市管理c语言程序设计,C语言程序设计超市管理系统1.doc

    C语言程序设计超市管理系统1.doc 程序设计--超市管理系统 学院: 专业: 班级: 姓名: 学号: 指导老师: 超市管理系统课程设计 1)需求分析: 设计题目:超市管理系统 设计要求:有一个小型超 ...

  10. c语言 电报翻译的题目,C语言程序设计实训题目.doc

    C语言程序设计实训题目.doc C语言程序课程设计题目题目1年历显示功能要求(1) 输入一个年份,输出是在屏幕上显示该年的日历.假定输入的年份在1940-2040年之间.(2) 输入年月,输出该月的日 ...

最新文章

  1. Effective C++ 之 Item 6 : 若不想使用编译器自动生成的函数,就该明确拒绝
  2. 《LeetCode力扣练习》剑指 Offer 25. 合并两个排序的链表 Java
  3. kafka生产者、消费者消息操作命令
  4. 单片机设置12分频c语言,AT89C51单片机,如何实现延迟一秒
  5. java线程----生产者和消费者问题
  6. 监听js变量的变化_JS监听事件型爬虫
  7. java jbutton 禁用_java-禁用后对jButton执行的操作
  8. postfix 过滤中文内容
  9. qml: 自定义滚动条;
  10. 自学网c语言教学视频教程下载,C语言从入门到精通教程 高清不加密 黄老师 视频教程 教学视频 百度网盘下载...
  11. 高校就业管理系统数据库设计
  12. php 银行卡四要素验证,基于PHP的银行卡号实名认证(四要素)示例代码-六派数据...
  13. 短信平台系统 后台功能简介 网页版短信通道介绍 短信平台源代码搭建
  14. android 字体修改颜色代码,Android SearchView 修改字体颜色
  15. CSS:全屏星星闪烁动画CSS3特效源码
  16. 神经网络与深度学习(二) pytorch入门——张量
  17. 深度学习进行时间序列模式识别
  18. python中sha1 md5等用法
  19. C++11 decltype类型推导详解
  20. 晚上不用加班了,推荐十款精选IntelliJIdea插件,效率提升N倍

热门文章

  1. vue插件颜色选择器
  2. 雷蛇鼠标垫真假区分_您真的需要鼠标垫吗?
  3. 中望CAD工具栏消失不见的解决方案
  4. 手把手带你玩转Spark机器学习-深度学习在Spark上的应用
  5. Fddb数据集人脸label可视化(matlab)
  6. Excel 单元格 自定义格式详解
  7. 小爱同学app安卓版_小爱同学app下载安卓版-小爱同学 安卓版v2.9.50-PC6安卓网
  8. window 下 win10 jdk8安装与环境变量的配置(超级详细)
  9. C++:封装 继承 多态
  10. python爬漫画,一人*下漫画,多线程快速的下载