(涂绪荣)凸轮形状优化的遗传算法

更新时间:2024-07-08 16:12:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

凸轮形状优化的遗传算法

摘要

本文概述了遗传算法的初步设计和凸轮的形状优化的计算机辅助方法凸轮经营机制。工作的主要目标是建立一个完整的系统化的方法初步凸轮形状设计包括凸轮外形设计自动化和真正的凸轮形状优化与CAM模拟计算机模型机制。通常情况下,凸轮截面形状的优化是一个二维几何多目标优化问题形状在很大程度上制约的环境。为了说明基于遗传算法的凸轮形状优化方法,凸轮形状设计实例说明,其更传统的设计相比,遗传算法设计一个凸轮形状 对口。

关键词:遗传算法;形状优化;凸轮机构 1:简介

基于遗传算法(GA)的形状优化[1],一般进化算法(EA)的基础上,是一个相对年轻的和潜在的研究领域。然而,笔者知道目前超过100篇,其中基于遗传算法的几何边界形状优化受到调查。这些大部分自1995年以来已发表的文章,只有少数文章已发表在1990年之前。利息对进化形状优化技术研究似乎刚刚开始增长,而不是达成一个稳定和成熟的状态。目前最流行的EA为基础的应用领域形状优化似乎是形状优化连接与计算流体动力学(CFD),尤其是空气动力学领域中的形状优化飞机的设计,例如[2-10]。也许多形状从电场中提出的优化问题工程已根据最近的调查,例如[4,11-14]。

虽然进化形状优化的力度研究目前在航空航天领域的最高工程和电气工程,难以形优化问题是在许多其他领域的共同以及。在未来,最具发展潜力的地区之一无疑是EA基于形状优化的应用机械工程,因为机器部件设计通常包括形状的决心和优化组件的功能表面。在现场机械工程,除了凸轮形状优化讨论这篇文章中,进化形状优化方法也已应用于形状优化:一个应变式称重传感器[15],一个悬臂梁,扭矩臂[16][16],一个球形的压力船[16]和一个圆锥形的支点轴承杂志[17]。仅仅提几个例子。

本文重点讨论的一个结果概述研究项目中,我们已经开发了计算机辅助外形设计的设计和优化方法valvecam的内燃机[18-23]凸轮用于经营的柴油燃油喷射装置[23,24]。 1.1:凸轮机构

在机械工程领域,凸轮曲柄机构的机制是最常见的类型,机制转换为旋转运动有控制的往复运动。如图凸轮机制的一个例子。 图1圆盘式凸轮如图。 1是偏心和它的形状不对称叶。凸轮安装到旋转凸轮轴是由操作系统的设备驱动。在一个内燃机,经营的情况下设备是发动机的主电源输出轴通过发动机正时齿轮。凸轮从动件的转换凸轮往复运动的旋转运动并将其传输到操作装置。动作凸轮从动件是依赖于边界形状凸轮轮廓的凸轮控制的往复运动它的形状。在内燃机的情况下,操作装置的阀门机制(图2)。

图1:凸轮机构的旋转运动转换凸轮轴有控制凸轮从动件的往复运动。凸轮控制它的形状跟随动作。凸轮从动件传输操作装置的运动。因此,最佳的凸轮形状需要一个凸轮系统的优化运行。

图2:凸轮的内燃机阀机制(气门)和其等效质量/弹簧系统。 1质量体系显示这里只为了清晰。通常情况下,我们必须使用4-10大规模系统,一个气门的计算机仿真模型。

凸轮从动件。典型的凸轮的设计目标是最大的凸轮从动件运动的上升和返回率,凸轮和最低之间的瞬间接触力跟随同时与最低的动力的波动。通常还依赖一个或多个任务操作装置性能的措施属于目标。因此,目标的目标功能经营凸轮的机制和设备的属性所施加的限制设计和约束条件。 1.2:阀门机制

气门大会的功能(图2)在打开和关闭的进气和排气煤气阀内燃机。凸轮的功能是气门运动控制凸轮行动,从而它的形状。气门组件的回报力适用于气门弹簧。气门弹簧也需要保持凸轮及其之间的联系追随者。由于气门的最大加速度组件可以高达2000 ms-2,甚至更高,气门组件在极端能动力量。由于以动态的力量和组件的灵活性,可以整个气门机械地视为一个振动系统(图2),转换存储到自由能的原因受迫振动。

为了计算的影响气门的动态力量在CAM经营周期,气门模拟器方案基础上的数学模型气门,使用。图3说明的动力由于弯曲下的能动力量,其组成部分,通过比较计算机阀机制的波动计算假设的结果与模拟结果该机制的组成部分,是没有刚体曲。

一个适当的控制是影响凸轮机构的动态力量CAM设计的主要目标之一。由于凸轮的气门控制其形状必须设计,将可避免不必要的动力波动。

图3。典型的

力量波动期间CAM经营周期阀机制。valvecam追随者的大型柴油发动机的动力,在凸轮发动机的运行速度500转/分的经营周期影响显示。刚体假设与不使用仿真模型的计算机模拟结果进行了比较。

2:凸轮的形状参数化

凸轮的形状优化的任务是通过转换参数值优化任务的B样条曲线[19,23,25,26]形状的代表性。CAM边界的形状是代表一个B样条曲线如图。 4。形状是指由40个浮点值分配到相应的控制点的B样条曲线。因此B样条曲线的控制点坐标为凸轮的形状设计变量。要优化形状,分配给控制点的值必须优化。那么,至少在原则上,任何非线性参数优化方法可以用来解决这个优化任务,从而优化了凸轮的截面形状。然而,在实践中一个全局优化算法,遗传算法一样,似乎是获得可接受的质量[23]解决方案至关重要。

图4。使用第六度凸轮从动件位移曲线参数化的B样条。凸轮的形状是明确定义分配曲线的控制点由40个浮点值。凸轮从动件位移曲线间接地定义相应的凸轮轮廓的横断面形状,因为有一个直接的凸轮形状和位移曲线之间的几何关系。

正如图所示。4,实际的凸轮从动件位移曲线(电梯)的形状是直接受形状优化,而不是直接优化凸轮边界形状本身。既然有一个明确的凸轮边界形状和相应的凸轮位移曲线之间的几何关系,CAM边界形状位移曲线和凸轮机构的几何尺寸的基础上才能确定。因此,CAM边界形状是间接通过优化的凸轮从动件位移曲线优化。这项安排的目的是简化了所需的计算和凸轮形状优化降低整体计算成本。

一般情况下,我们发现,B样条方法是有益的凸轮形状参数化,因为其计算实施效率和数值稳定性问题。另外是有利程度的曲线和控制点的数量可以单独选择。因此,它是可能的,选择足够高,以满足曲线的平滑度和连续性的要求,还提供了一个控制点的数量和高度的自由曲线的形状修改的曲线的程度。对于更详细的讨论和形状参数化方法的描述,请参阅参考文献。 [19,23]。

3:凸轮形状优化的GA

当个人连续形状固定和有限的浮点值代表个人,也可以表示人口的GA。每一个人的人口,描述了一个完整的凸轮形状与40个浮点值。所以,一个染色体,40浮点值的基因组成,代表着每一个人的凸轮形状。每个基因代表一个浮点值,分配给B样条曲线的控制点。

形状优化本身是一个简单的过程(图5)。单个形状,由40个浮点值形状控制点向量表示,将评估与健身功能。遗传算法的交叉和变异操作产生新的替代形状(其参数形式)负责。

这项工作的一个浮点编码的算术交叉和变异操作的遗传算法应用。应用算术交叉操作产

生试解向量,X的第i个组成部分,十一,父向量A和B,如下的基础上。 ????=????????+(1?????)???? i=1,2……….40 (1)

图5。基于遗传算法的凸轮形状优化过程的流程图。 其中Ri是一个独立的,均匀分布的随机数的范围(0,1)。父向量,A和B,随机选择个人从目前的人口。执行交叉操作后,产生的后代矢量,X将受到以下变异操作评估生成的审判解决方案之前,

????=??1,???????+(1???1,??(??2,?? ????? +??) i=1,……….40 (2)

其中R1,我和R2,我是独立的,均匀分布的范围(0,1)生成的随机值,而U和L是预定义的上下边界为B样条控制点的位置。归凸轮位移曲线(图4)设置升?20:1和U?1:1的情况下通常是适当的。

与所描述的操作,交叉概率Pc=0:25和变异概率Pm?0:015应用。40个人的人口规模是用在这里。由于每个候选人凸轮的形状是由40个浮点值的向量代表的人口,人口可以被看作是一个40英镑40的矩阵。对于决定目前的人口成员和所产生的试验解决方案的下一代的人口的生存,精英排名基于替换规则的应用。

凸轮的形状优化,凸轮从动件运动(位移,速度,加速度,挺举,动作时序等)的最佳特性的目标依赖于由凸轮机构经营的特定设备的要求。在实践中也有多个限制性设计条件,如严格的几何限制。高速凸轮机构的凸轮外形设计是一个典型的多目标优化问题,在很大程度上制约的环境。通常情况下,客观的功能也非常多式联运和非线形。辅助信息,如目标函数的导数,不可用。健身功能仅适用于计算机程序的形式,而不是在分析形式。这些是一些为什么我们使用凸轮形状优化的GA的主要原因。

关于其他算法,我们原本认为:基于两个枚举的方法和纯随机搜索的问题,因为他们需要提供高分辨率的解决方案,这里需要巨大的计算量。不幸的是,无一例外,都被认为确定性的优化方法依赖于一个或多个有关的目标函数的属性的假设,不能假设在我们的情况感到

满意,如线性,连续性,unimodality,可分性,辅助信息的可用性,因为一般我们的方法需要目标函数作为一个黑盒子,唯一的目标函数值的可用性可以保证,没有进一步的假设内的可能性。因此,唯一现实的选择是采用随机的全局优化方法。由于气体已被广泛证明在许多暗箱类型的计算机模型,其中包括许多形状优化模型的情况下有效,高效和稳健的全局优化能力,我们认为我们的目的最有吸引力的替代气体。

图6代表为例CAM设计过程的衔接历史。评价10.000-40.000试验凸轮形状通常情况下依赖性,要求每个凸轮的形状优化的过程。图6所示,优化过程中的一个相当大的速度开始初步包含了一套原型CAM设计的人口,而不是一个随机产生的形状人口开始实现。一个简单的正弦运动的特点,设置不同的凸轮形状,用于在图6所示的情况下初始化。虽然这些简单的凸轮形状几乎总是,而远离的最佳形状,他们已经凸轮形状的齿轮,而不是锯磁盘或在随机初始化的情况下。因此,他们提供了一个出发点进行进一步的优化,如图好得多。六是建议。

因此,当GA是应用于设计一个凸轮形状,设计工程师开始设计过程描述的设计目标和设计约束。联大的人口是初始化40个不同的选择,但已经相当不错表演原型凸轮形状。然后GA进程启动试图找到一个凸轮的形状是接近的设计目标,尽可能满足所有的约束。

图6。

收敛历史为valvecam形状与人口的初始化方法的比较优化的过程。通过使用与最初的凸轮设计,提高了收敛速度和更好的优化结果选择一个非随机的初始化被发现。

在形状优化的一个内燃机valvecam情况下,该系统的基础是一个凸轮经营机制的数学模型,仿真程序。联大的健身功能是基于模拟结果的评价。GA是用于生产阀门机制模拟器程序自动替代CAM形状,运行模拟器,并最终以评估模拟器输出数据的基础上,凸轮形状。所有涉及的目标和约束功能,可以评估审判凸轮形状审判CAM的基础上直接或形状本身的仿真结果的基础上。最后,一个单一的个人凸轮形状的健身价值计算的加权目标函数的线性组合。一个罚函数法适用于处理多个(加权)约束功能。

因此,联大最小化的目标函数的形式如下

??

??+??

?????????? ?? = ????????? ?? + ?????????(??)

??=1

??=??+1

其中Wi为权重分配到每个目标和约束功能。n的目标函数,fi(x)和M的约束功能,gi(x);涉及的是在很大程度上依赖于特定的凸轮设计的情况下,可以没有目标或约束的一般设置。在一般情况下,这里假设,设计工程师提供了一套特定的目标和约束功能专案。为了提供功能的例子,设计工程师可能希望定义,可以提一些目标和约束功能。以下的,除其他外,已在外形设计上稍后在本文的例子使用:目标函数

???? ?? =???????? (4)

适用于尽量减少值最大的力高峰期,的????????;在推杆的影响在模拟凸轮经营周期。

目标函数:?? ?? = 2??(???? ?? ??? ?? )2?? (5)

2????0

应用,以尽量减少在CAM经营周期的动力波动量。功能???? ?? 表达的凸轮从动件凸轮转

动角度A,???? ?? 是刚体假设下计算相应的功能。这两个函数的例子是如图3所示。

约束功能,??3(??)=max(0,( ?????????????????)) (6) 应用,以确保当地的最低凸轮曲率半径(凸半径),????????;超过允许的最低值????????: 约束功能??4 ?? =max?(0,???????????????)) (7) 应用,以确保阀门关闭速度,????低于允许的最高速度,??????????下降。 除了上面的例子中,涉及的其他几个目标/约束功能。虽然这是不恰当的,本文的讨论范围内,这里提供的所有功能,可以找到问题的具体目标和约束功能的进一步细节,我们已申请,由文献[23]。

通过使用这种方式的GA,不仅可以设计和优化凸轮的形状,但大会也可以自动设计过程[23]。事实上,设计自动化开发基于遗传算法的方法对凸轮形状优化的主要动机之一,因为传统的凸轮形状高速凸轮机制的决心过程通常费时费力。对于更详细的讨论,见参考文献。 [18,21,23]。 4:分布式计算

遗传算法的一个众所周知的缺点是其非有效加工能力的使用。在这种情况下,因为一个浮点编码的GA是用于,GA(选择,交叉,变异等)的业务不计算成本时编码遗传算法的二进制比较。但是,健身功能的价值是相对昂贵的计算,因为凸轮机构的计算昂贵的模拟器是用于评估候选人凸轮形状的健身功能的一部分。健身的评价,代表超过97%的CPU时间的总用量。

在实践中,为实现一个可以接受的水平的解决方案,它有时是必要的重复评价超过

,这意味着40000次的目标函数。如果一个高效的PC(AMD K6400 MHz或同等工作站的)

在实践中,优化过程中通常需要50-150 h,取决于所用的凸轮机构仿真模型。没有并行的

过程需要约13-40 h如果一个高效率的电脑主机是用于计算(1处理器在使用)。加快计算的必要性是显而易见的的。

正因为如此,我们有分布在局域网(LAN)的电脑工作站的健身价值计算。所使用的分销模式是从一个所谓的标准分配模式,即只分发到健身的评价是从处理器的粗粒和修改。该方法是基于一个主进程(图7)保持了人口。主进程发送个人评价图7。从属进程共享磁盘文件。从属过程,从这个文件读取健身评估任务,评估的健身价值,然后将结果返回,通过另一个共享磁盘文件的主要过程。因此,健身价值的评估是通过局域网从进程,这是工作方面的主要过程异步分布式。实施允许,可以自由选择从进程,并在优化过程中也可自由更改。共享磁盘文件服务,作为一个主站和从进程之间的逻辑接口。我们的分销模式的详细描述 在文献中可以找到。 [21,23]。

图7。我们的模型粗粒分布在局域网。型号是基于标准型分布模式,但使用健身评估任务的缓冲区共享的接口文件。松散耦合的主要过程和从进程只通过这些文件,而不是彼此同步。

5:凸轮外形设计的例子

在本节中,CAM设计和优化,与GA相比,使用更传统的方法(试错法)设计凸轮。在这个例子中研究特定的凸轮是一个大型的柴油发动机,船用柴油机和发电应用的入口valvecam。两个凸轮的设计相比,使用相同的阀门机制仿真模型。两个凸轮阀动作相同时间和相同的最大位移。为了说明与GA优化的凸轮动态特性,我们设计的GA优化的凸轮,这是作为一个例子,产生位移曲线,这是类似的常规设计相比凸轮位移曲线。当被认为是一个内燃机的气体交换的控制,有没有比较凸轮之间的显著差异。另外两个凸轮满足所有的设计约束。因此,我们可以集中比较凸轮的特性,从设计目标来看。 5.1:比较凸轮动力学

在图。8-11相比凸轮的基本动力学性质的比较。有一个直接凸轮边界形状和凸轮位移曲线之间的几何关系。因此,而不是凸轮形状,我们可以集中在这里的凸轮从动件位移曲线。如图。有凸轮从动件位移曲线相比凸轮仅在细微的差别。其实,以发现任何显著的差异,8,

我们必须遵守的凸轮位移曲线的衍生工具。凸轮从动件位移曲线的衍生工具是重要的,因为它们的物理意义。当凸轮从动件位移曲线代表的凸轮从动凸轮轴角位置的功能的位置,凸轮从动件位移曲线的一阶导数代表跟随速度(图9)和二阶导数代表跟随加速(图10)。第三衍生的位移曲线(图11)的代表跟随脉冲(冲击)。在实践中,这会导致成的要求,至少第六度B样条曲线必须用于位移曲线和凸轮的形状表示,以维持所需的平滑的加速度和跃度曲线也。

图8。之间的常规设计的凸轮形状和凸轮外形设计和遗传算法优化的位移曲线的比较。

图9。常规设计的凸轮形状和遗传算法设计和优化的凸轮形状之间的速度曲线的比较

10。之间的常规设计的凸轮形状和凸轮外形设计和遗传算法优化的加速曲线比较。

图11。常规设计的凸轮形状和凸轮外形设计和遗传算法优化的脉冲之间的比较(挺举)曲线。

因此,在高速凸轮机构的凸轮形状的设计,凸轮形状不仅是重要的,但也必须考虑其衍生物以凸轮机构保持良好的动态行为。正因为如此,高速凸轮机构的凸轮形状优化始终是一个艰巨的任务。在一个内燃机valvecam的情况下,任何高价值的冲动曲线必须避免,因为他们的存在意味着在操作过程中凸轮机构高力冲击。然而,正确定时脉冲可以有效地控制凸轮机构的动力波动。粗糙的简化,振荡开始由冲动,可后来取消了另一种冲动,这是定时方面的第一个冲动开始振荡相位相反。显然,挺举由GA(图11)设计的CAM曲线揭示了遗传的倾向,采取正确定时脉冲的优势,更有效地比人的设计师。 5.2:比较凸轮动态

valvecam形状优化中最棘手的问题是控制,影响配气力传输组件的能动力量。在高速凸轮机制的情况下,尽量减少力量的波动也是最重要的设计目标之一。重要的是避免不必要的振动,冲击载荷,摩擦,磨损,噪音和虚假议案凸轮机构。不幸的是,武力振荡4-10振荡(非线性)春/质谱子系统控制系统是一项艰巨的任务时,优化必须通过改变凸轮的形状,产生一个更有利的形式,系统激振力优化。

图。12-15代表在四个不同的引擎速度相比凸轮气门模拟的结果。为了保证良好的动态行为,通过运行速度范围内四个发动机运行速度,显示在图。12-15是模拟期间的每一个人的凸轮健身评价。模拟四个以上的运行速度,这将是可能的,但在这种情况下,在图所示。12-15经营发动机的转速范围比较窄,和4个模拟速度是足够的。

图12。比较之间的常规设计的凸轮形状和凸轮外形设计和遗传算法优化的动态行为。

图13,比较之间的常规设计的凸轮形状和凸轮外形设计和遗传算法优化的动态行为。

图14,比较之间的常规设计的凸轮形状和凸轮外形设计和遗传算法优化的动态行为。

图15比较之间的常规设计的凸轮形状和凸轮外形设计和遗传算法优化的动态行为。 在图所示。12-15,动态力的波动明显GA(考虑方程(5))优化凸轮低。峰力值明显降低(考虑方程(4))。在图所示。8-11,只有在比较凸轮的形状略有区别。尽管事实相比凸轮的运动几乎是相同的(图8-11)的,遗传算法设计和优化的凸轮产生较少的力量波动

(图12-15)。减少动力的力量振荡是实现在不牺牲高阀门的开启和关闭率,重要的是发动机的热效率。

我们还发现,阀门机制往往不太敏感时使用的GA优化的凸轮气门间隙的变化。在某些情况下,阀门的机制也是运行速度的变化不敏感。

两个凸轮的设计方法相比,渐进的方式和传统的试验和错误的方法,都是基于使用完全相同的仿真程序被用于解决完全相同的现实生活中凸轮设计问题。因此,它是合理的优化凸轮机构的仿真模型,比较它们的功能。在这种特殊情况下的常规设计相比凸轮,质量明显好。尽管如此,基于遗传算法的方法(尊重式定义的目标。(4)和(5))显然更好的解决方案。然而,由于使用模拟凸轮机制,它是不相关的,也不可能结束进化方法设计的凸轮将有更好的表现与相应的物理现实,太的。无论如何,它可以得出结论,它很可能有更好的表现,如果使用的仿真模型的质量至少是相当不错的。

另一点要考虑的是手动重新设计的试验凸轮和模拟一遍凸轮外形设计需要一两个星期,一个有经验的设计工程师。与此相对应,基于遗传算法的系统设计要花费很长的时间,而不是天。开始优化过程和处理优化的结果只需要一个工程师的劳动。优化过程本身是自动的。 6:结论

以上本文得出凸轮形状的初步设计和基于凸轮机构的预测计算机模拟优化的一种新的遗传算法为基础的方法。描述的方法可以适用于任何类型的凸轮机构优化原则凸轮形状。这种方法不限制定义,专案,特别CAM手头的设计任务所需要的任何目标或约束功能。此外,这种方法并不局限于任何特定的计算机模拟程序或设计任何特定的凸轮操作系统只限于使用。

这项工作的首要目标是建立一个完整的初步凸轮外形设计系统化的方法,包括凸轮外形设计自动化和真正的凸轮与凸轮机构的模拟计算机模型的形状优化。我们的目标是重要的因为在机械工程,凸轮机构的多种用于凸轮轴的旋转运动转换成一个控制凸轮从动件的往复运动,传输操作装置的运动。凸轮控制凸轮从动件的运动,它的形状。要优化的凸轮从动件的运动,以优化操作装置的运作,凸轮的截面形状,必须进行优化,以产生最佳的动能和活力的运动特征。

描述和这里讨论的形状优化方法很简单。代表一个B样条曲线,这使得它可以表达参数形式的凸轮形状的凸轮轮廓的边界形状。通过使用这种技术,凸轮的形状可以明确定义的浮点值参数的数量有限。我们的想法是形状优化任务转换参数值优化任务。浮点编码遗传算法是用来解决这种非线性全局优化问题。人口的个人,是一个参数的形式替代凸轮形状设计。 评价一个模拟凸轮机构模型还包含一个操作装置的模型是基于遗传算法的健身功能。第一个模拟模拟凸轮机构凸轮的形状设计替代试验。然后为每个凸轮的健身价值计算的模拟结果的基础上,由凸轮设计的情况下依赖于客观和约束功能。

用GA,它不仅是可能的设计和优化对象的边界形状,遗传也可能被应用,以实现自动造型设计过程中。也为实施自动计算机辅助设计系统的工具。GA可以被看作一个优化工具,

由应用解决一个真实的世界凸轮形状优化任务的方法的例子,它表明,该方法能够找到一个更传统的手工设计方法,试验和错误的自动更好或至少可比解决方案。尽管用于比较的CAM是一个精心设计的试验和错误的常规设计的代表方法,我们设法找到一个阀门机制模拟的基础上,比较显着更好的解决方案。

当然,仅在模拟凸轮机构的情况下得出的结论是完全有效的。优化的结果与物理现实的质量取决于模拟器程序的质量。然而,初步的凸轮设计的目标是找到一个最佳的凸轮形状与给定的模拟凸轮机构的计算机模型。在这篇文章中讨论的结果表明,一个系统的进化优化方法是能够找到一个更好的解决方案与仿真模型和给定的目标和约束,比一个直观的试验和错误的方法。

一般情况下,结果表明,一台计算机和系统的优化方法能够更有效地比人类和直观的试验和错误的实验利用现有的CAM机制模拟器方案。此外,渐进的方式是自动的,不需要生成和评估每个审单凸轮设计经验的设计工程师。

这篇文章的一个总的结论是有效地利用现有的凸轮机构的预测计算机仿真模型所描述的新方法,可用于自动凸轮形状的决心和寻求最佳凸轮形状的系统 致谢

笔者想承认的教授亚尔莫萨雷T. Alander的贡献,从瓦萨大学(芬兰),对这项工作。一个在这篇文章中所描述的工作很大一部分是由芬兰的技术开发中心TEKES,华¨ rtsila“NSD公司和埃米尔Aaltonen的基金会,这是感恩承认。

本文来源:https://www.bwwdw.com/article/9id.html

Top