发明名称 一种面向服务型制造的零件选配组合优化方法
摘要 本发明公开了一种面向服务型制造的零件选配组合优化方法,首先分别描述服务提供者与服务类型之间的关系以及服务类型与配合之间的关系,然后计算各配合的理论最大过盈、最大间隙和中差,各配合的实际最大过盈、最大间隙和中差,以及实际中差与理论中差之间的偏差,最后用模拟退火算法求解。本发明使零件装配的组合优化问题更加定量化,可以提高产品的装配精度,同时智能优化方法的使用,提高了求解的效率。
申请公布号 CN102176150A 申请公布日期 2011.09.07
申请号 CN201110045185.4 申请日期 2011.02.24
申请人 西北工业大学 发明人 孙惠斌;常智勇;万能;莫蓉
分类号 G05B19/418(2006.01)I 主分类号 G05B19/418(2006.01)I
代理机构 西北工业大学专利中心 61204 代理人 顾潮琪
主权项 1.一种面向服务型制造的零件选配组合优化方法,假设一个部件由R个零件装配而成,这些零件之间的配合关系数为S,这些零件来共自于T个制造商,其特征在于包括下述步骤:第一步,用R行、T列的0-1矩阵U描述零件提供者与零件类型之间的关系,U的每一行表示一个零件提供者,每一列表示一个零件类型,如果零件提供者k可以提供零件类型i,则令元素u<sub>ki</sub>的值为1,否则令元素u<sub>ki</sub>的值为0;第二步,用T行、S列的0-1矩阵V描述零件类型与配合之间的关系,V的每一行表示一个零件类型,每一列表示一个配合关系,如果配合关系j与零件类型i有关,则令元素v<sub>ij</sub>的值为1,否则令元素v<sub>ij</sub>的值为0;第三步,在设计图纸上查找部件上各孔轴配合尺寸的公差,计算配合的最大过盈<img file="FSA00000436259900011.GIF" wi="368" he="67" />和最大间隙<img file="FSA00000436259900012.GIF" wi="410" he="70" />其中,EI<sup>j</sup>是配合j中孔的尺寸的下偏差,es<sup>j</sup>是配合j中轴的尺寸的上偏差,ES<sup>j</sup>是配合j中孔的尺寸的上偏差,ei<sup>j</sup>是配合j中轴的尺寸的下偏差,计算配合j的中差<img file="FSA00000436259900013.GIF" wi="561" he="94" />第四步,计算各孔轴配合的实际最大过盈、最大间隙和中差,以及实际中差与理论中差之间的偏差查找各企业可提供的尺寸偏差,计算孔轴配合j中具有孔特征零件和具有轴特征零件分别来自于供应商m和n时的最大过盈<img file="FSA00000436259900014.GIF" wi="451" he="72" />和孔轴配合j中具有孔特征零件和具有轴特征零件分别来自于供应商m和n时的最大间隙<maths num="0001"><![CDATA[<math><mrow><msubsup><mi>X</mi><mi>max</mi><mi>jmn</mi></msubsup><mo>=</mo><msup><mi>ES</mi><mi>jm</mi></msup><mo>-</mo><msup><mi>ei</mi><mi>jn</mi></msup><mo>,</mo></mrow></math>]]></maths>EI<sup>jm</sup>是供应商m可提供配合j中孔特征的误差极限下边界,es<sup>Jn</sup>是供应商n可提供配合j中轴特征的误差极限上边界,ES<sup>jm</sup>是供应商m可提供配合j中孔特征的误差极限上边界,ei<sup>jn</sup>是供应商n可提供配合j中轴特征的误差极限下边界,当配合j中具有孔特征零件和具有轴特征零件分别来自于供应商m和n时,计算误差的中值<img file="FSA00000436259900016.GIF" wi="549" he="80" />对于孔轴配合j,中差和此时的误差中值之间的差为e<sub>jmn</sub>=Z<sup>jmn</sup>-Z<sup>j</sup>,如果供应商m或n不能提供与孔轴配合j相关的零件,那么中差与误差中值之间的差为e<sub>jmn</sub>=Z<sup>j</sup>;第五步,采用R位的整数编码x<sub>1</sub>-x<sub>2</sub>-…-x<sub>R</sub>表示当前解x,其中每一位表示一个零件类型,随机取介于1和T之间的一个整数,表示相应零件类型的提供者;将当前解x的编码转换为长度为2S的整数编码,每一位取介于1和T之间的一个整数,表示相应零件配合尺寸的提供者;转码时先定义长度为2S的整数编码,其中每一位代表一个尺寸,然后根据零件类型与配合关系之间的矩阵V,依次找出每一个尺寸的提供者,将其代码置于对应位置;根据以下公式计算当前解的适应值:<maths num="0002"><![CDATA[<math><mrow><mi>f</mi><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>S</mi></munderover><munderover><mi>&Sigma;</mi><mrow><mi>p</mi><mo>=</mo><mn>1</mn></mrow><mrow><mn>2</mn><mi>S</mi></mrow></munderover><munderover><mi>&Sigma;</mi><mrow><mi>q</mi><mo>=</mo><mn>1</mn></mrow><mrow><mn>2</mn><mi>S</mi></mrow></munderover><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>T</mi></munderover><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>R</mi></munderover><msub><mi>u</mi><msub><mi>kx</mi><mi>p</mi></msub></msub><msub><mi>u</mi><msub><mi>kx</mi><mi>q</mi></msub></msub><msub><mi>v</mi><mi>ij</mi></msub><msup><mrow><mo>(</mo><msub><mi>e</mi><mrow><msub><mi>jx</mi><mi>p</mi></msub><msub><mi>x</mi><mi>q</mi></msub></mrow></msub><mo>&CenterDot;</mo><msup><mn>10</mn><mn>3</mn></msup><mo>)</mo></mrow><mn>2</mn></msup><mo>;</mo></mrow></math>]]></maths>第六步,获取用户输入的初始温度T<sub>0</sub>、终止温度T<sub>f</sub>、内循环阀值和降温比例α的数值,并使当前温度T<sub>c</sub>等于初始温度T<sub>0</sub>;第七步,采用R位的整数编码y<sub>1</sub>-y<sub>2</sub>-…-y<sub>R</sub>表示相邻解y,其中每一位表示一个零件类型,随机取介于1和T之间的一个整数,表示相应零件类型的提供者;将相邻解y的编码转换为长度为2S的整数编码,根据以下公式计算相邻解y的适应值:<maths num="0003"><![CDATA[<math><mrow><mi>f</mi><mrow><mo>(</mo><mi>y</mi><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>S</mi></munderover><munderover><mi>&Sigma;</mi><mrow><mi>p</mi><mo>=</mo><mn>1</mn></mrow><mrow><mn>2</mn><mi>S</mi></mrow></munderover><munderover><mi>&Sigma;</mi><mrow><mi>q</mi><mo>=</mo><mn>1</mn></mrow><mrow><mn>2</mn><mi>S</mi></mrow></munderover><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>T</mi></munderover><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>R</mi></munderover><msub><mi>u</mi><msub><mi>ky</mi><mi>p</mi></msub></msub><msub><mi>u</mi><msub><mi>ky</mi><mi>q</mi></msub></msub><msub><mi>v</mi><mi>ij</mi></msub><msup><mrow><mo>(</mo><msub><mi>e</mi><mrow><msub><mi>jy</mi><mi>p</mi></msub><msub><mi>y</mi><mi>q</mi></msub></mrow></msub><mo>&CenterDot;</mo><msup><mn>10</mn><mn>3</mn></msup><mo>)</mo></mrow><mn>2</mn></msup><mo>;</mo></mrow></math>]]></maths>第八步,如果f(y)<f(x),则直接用相邻解y代替当前解x;否则随机产生一个介于0和1之间的小数θ,计算exp((f(x)-f(y))/T<sub>c</sub>),当该值不大于θ时,用相邻解y代替当前解x;第九步,内循环次数加1,在内循环次数未达到规定的阀值时,转第七步,否则转第十步;第十步,外循环次数加1,用α·T<sub>c</sub>代替当前温度T<sub>c</sub>,当前温度T<sub>c</sub>不小于规定的终止温度T<sub>f</sub>时,内循环次数置0,转第七步,否则求解过程结束,输出当前解x;按照编码规则,x是一个R位的整数,分别依次表示第1到R个零件提供者的编号。
地址 710072 陕西省西安市友谊西路127号