一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

使用分布算法估计的机械组件的自动设计的制作方法

2021-12-15 03:36:00 来源:中国专利 TAG:

使用分布算法估计的机械组件的自动设计
1.相关申请的交叉引用
2.本技术要求于2019年4月22日提交的题为“使用分布算法估计的机械组件的衍生式设计(generative design of mechanical assemblies using estimation of distribution algorithm)”且序列号为62/837,156的美国临时专利申请的优先权权益,并且本技术要求于2019年6月6日提交的题为“使用分布算法估计的机械组件的自动设计(automatic design of mechanical assemblies using estimation of distribution algorithm)”且序列号为16/434,085的美国专利申请的优先权权益。这些相关申请的主题特此以引用方式并入本文。
3.发明背景
技术领域
4.本发明的实施方案总体上涉及计算机辅助设计技术,并且更具体地涉及使用分布算法估计的机械组件的自动设计。


背景技术:

5.在典型的机械工程和设计工作流程中,设计者使用计算机辅助设计(cad)应用程序来生成表示机械部件的cad模型。设计者还可以使用cad应用程序来组合两个或更多个cad模型以生成cad组件。包括在cad组件中的cad模型通常以实现特定功能以解决特定设计问题的方式联接在一起。例如,表示汽车变速器的cad组件可能包括表示齿轮的一组cad模型,这些齿轮联接在一起以提供扭矩转换。本示例中解决的设计问题是需要将扭矩从汽车曲轴传递到汽车的车轮。
6.使用cad应用程序生成cad组件通常是手动执行的多步骤过程。最初,设计者通过确定cad组件应满足的一组设计目标来制定cad组件要解决的设计问题。例如,在制定上述汽车变速器设计问题时,设计者可以确定变速器应实现特定的转换比,以便将从汽车曲轴接收到的输入扭矩转换为施加到汽车车轮的输出扭矩。结合确定所述一组设计目标,设计者可以通过确定cad组件不应违反的设计约束集来进一步定义设计问题。例如,在上面讨论的变速器设计问题中,设计者可以确定变速器的质量不应超过某特定值。一旦设计者确定了各种设计目标和设计约束,设计者就可以使用cad应用程序通过手动生成和组合一组不同的cad模型来生成cad组件。例如,变速器设计者可以确定表示一组选定齿轮的cad模型的特定排列,以生成实现输入扭矩与输出扭矩之间所需转换的cad组件。
7.如前所述,通过以上设计过程,设计者生成了旨在解决特定设计问题的cad组件。一旦生成,设计者就可以经由计算机仿真进一步测试cad组件,以确定是否在不违反不同约束的情况下满足各种设计目标。设计过程通常以反复试验的方式迭代地重复,以尝试探索与特定设计问题相关联的整体设计空间并产生一个或多个成功的设计。
8.常规设计过程(如上述过程)可以使用各种算法技术在一定程度上自动化。例如,可以实现衍生式设计技术以在不违反设计约束的情况下自动生成满足设计目标的cad组
件。可替代地,可以实现基于约束的编程技术来识别可行的cad组件,这些组件在不同程度上满足规定的设计目标。此类算法技术通过减少设计者必须执行的手动操作的数量来简化设计过程。
9.在设计过程中实现算法技术的一个缺点是,那些技术通常以详尽的方式探索设计空间,这可能会消耗过多的时间。因此,实现算法技术不一定能简化设计过程。当算法技术应用于具有众多设计变量的复杂设计问题时,这个问题会被加重。在这种情况下,设计空间会变得非常大,并且通过算法生成的cad组件可能会相应地变得复杂。因此,在生成解决复杂设计问题的可行cad组件时,算法技术最终会消耗甚至更多的时间。
10.如前述内容所说明的,本领域需要用于设计机械组件的更有效的技术。


技术实现要素:

11.各种实施方案包括一种用于生成解决设计问题的设计的计算机实现的方法,所述方法包括:生成第一多个设计,所述第一多个设计是基于与所述设计问题相关联的问题定义并且包括第一设计值集;生成第一模型,所述第一模型指示与所述第一设计值集相关联的第一概率分布并且是基于所述第一多个设计;以及基于从所述第一模型中提取的一个或多个样本生成第二多个设计,其中相比所述第一设计群,所述第二多个设计包括满足在所述问题定义中阐述的第一设计目标的更多数量的设计。
12.所公开的技术相对于现有技术的至少一个技术优势在于:可以比使用常规算法技术生成时更快地自动生成解决复杂设计问题的复杂cad组件。
附图说明
13.通过参考各种实施方案,可具有可详细地在对以上简述的本发明概念的更具体的描述中理解各种实施方案的上述特征的方式,所述各种实施方案中的一些在附图中示出。然而,应注意,附图仅示出本发明概念的典型实施方案并且因此不应被视为以任何方式限制范围,并且存在其他等效的实施方案。
14.图1示出了被配置成实现各种实施方案的一个或多个方面的系统;
15.图2a是根据各种实施方案的图1的设计问题的示例;
16.图2b是根据各种实施方案的图1的设计选项之一的示例;
17.图3是根据各种实施方案的图1的设计引擎的更详细图解;
18.图4a至图4b阐述了根据各种实施方案的如何修复不可行设计的第一示例;
19.图4c至图4d阐述了根据各种其他实施方案的如何修复不可行设计的第二示例;
20.图5示出了根据各种实施方案的图3的性能评估器如何识别一个或多个高性能设计;
21.图6a至图6b示出了根据各种实施方案的与一个或多个相关设计变量相关联的一个或多个设计元素;
22.图7是根据各种实施方案的图3的概率模型的示例;
23.图8是根据各种实施方案的图3的概率生成器的更详细图解;以及
24.图9是根据各种实施方案的用于生成解决给定设计问题的多个设计的方法步骤的流程图。
具体实施方式
25.在以下描述中,阐述许多具体细节以提供对各种实施方案的更透彻的理解。然而,对于本领域的技术人员将明显的是,可在没有这些具体细节中的一者或多者的情况下实践本发明概念。
26.如上所述,用于生成cad组件的常规算法技术通常运行速度太慢,无法作为传统手动执行设计过程的可行替代方案,尤其是在复杂的设计问题值得设计复杂的cad组件的情况下。
27.为了解决这些问题,各种实施方案包括设计引擎,所述设计引擎实现概率方法以生成针对cad组件的设计。设计引擎最初基于与设计问题相关联的问题定义来生成设计群。问题定义阐述了各种设计变量,这些变量可被分配特定值来表示不同的设计元素,包括机械接头元素和机械部件元素。初始设计群中的每个设计都包括分配给各种设计变量的随机生成的设计值集。通过使用面向约束的编程技术,设计引擎修复设计群中包括的任何不可行的设计。然后,设计引擎用包括在设计群中的每个设计执行动态仿真,以生成性能数据。性能数据指示各种设计满足问题定义中阐述的一个或多个设计目标的程度。设计引擎基于性能数据对设计进行排序,并选择设计群中包括的最佳性能或最高性能设计。
28.基于选定的设计,设计引擎生成概率模型,所述概率模型指示各种设计变量的特定值之间的各种条件概率。设计引擎通过首先建立设计变量之间的统计相关性,然后计算可以分配给那些设计变量的特定设计值之间的条件概率来生成概率模型。然后,设计引擎基于概率模型生成后续设计群。后续设计群中的每个设计都包括设计值集,这些值是基于从概率模型中提取的样本生成的。设计引擎迭代地执行以上过程以生成性能越来越高的设计选项群。
29.所公开的技术相对于现有技术的至少一个技术优势在于:可以比使用常规算法技术生成时更快地自动生成解决复杂设计问题的复杂cad组件。所公开的技术相对于现有技术的另一个技术优势是可以更有效地探索与复杂设计问题相关联的大设计空间,而无需消耗大量的时间,所述大量的时间对于经常执行穷举设计空间搜索的常规算法技术而言是典型的。因此,与常规算法技术相比,所公开的技术可以应用于更广泛的设计问题。这些技术优点表示优于现有技术方法的一个或多个技术进步。
30.系统概述
31.图1示出了被配置成实现各种实施方案的一个或多个方面的系统。如所示,系统100包括经由网络150耦合在一起的一个或多个客户端110和一个或多个服务器130。给定的客户端110或给定的服务器130可以是任何技术上可行的计算机系统类型,包括台式计算机、膝上型计算机、移动装置、计算装置的虚拟化实例、分布式和/或基于云的计算机系统,等等。网络150可以是任何技术上可行的互连通信链路集,包括局域网(lan)、广域网(wan)、万维网或因特网等。
32.如进一步所示,客户端110包括联接在一起的处理器112、输入/输出(i/o)装置114和存储器116。处理器112包括被配置成处理数据并执行软件应用程序的任何技术上可行的硬件单元组。例如,处理器112可以包括一个或多个中央处理单元(cpu)。i/o装置114包括被配置成执行输入和/或输出操作的任何技术上可行的装置组,包括例如显示装置、键盘和触摸屏等。
33.存储器116包括被配置成存储数据和软件应用程序的任何技术上可行的存储介质,例如诸如硬盘、随机存取存储器(ram)模块和只读存储器(rom)。存储器116包括数据库118和设计引擎120(0)。设计引擎120(0)是软件应用程序,所述软件应用程序在由处理器112执行时与在服务器130上执行的对应软件应用程序互操作,如以下更详细描述的。
34.服务器130包括联接在一起的处理器132、i/o装置134和存储器136。处理器132包括被配置成处理数据并执行软件应用程序的任何技术上可行的硬件单元组,诸如一个或多个cpu。i/o装置134包括被配置成执行输入和/或输出操作的任何技术上可行的装置组,诸如显示装置、键盘或触摸屏等。
35.存储器136包括被配置成存储数据和软件应用程序的任何技术上可行的存储介质,例如诸如硬盘、ram模块和rom。存储器136包括数据库118(0)和设计引擎120(1)。设计引擎120(1)是软件应用程序,所述软件应用程序在由处理器132执行时与设计引擎120(0)互操作。
36.一般而言,数据库118(0)和118(1)表示分布式存储实体的单独部分。因此,为简单起见,数据库118(0)和118(1)在下文中统称为数据库118。类似地,设计引擎120(0)和设计引擎120(1)表示分布式软件实体的单独部分,其被配置成执行本文描述的本发明操作的任何和所有操作。因此,为简单起见,在下文将设计引擎120(0)和120(1)统称为设计引擎120。
37.在操作中,设计引擎120被配置成基于与用户的交互来生成问题定义122。问题定义122包括各种数据,所述数据至少部分地定义待由机械组件解决的工程问题。例如,问题定义122可以包括与工程问题相关联的几何结构、与工程问题相关联的设计目标集、和/或与工程问题相关联的设计约束集等等。以下结合图2a描述了示例性问题定义。基于问题定义122,设计引擎120生成一个或多个设计选项124。每个设计选项124定义了cad组件,所述组件至少在某种程度上解决经由问题定义122定义的工程问题。以下结合图2b描述了示例性设计选项124。
38.示例性问题定义和对应的设计选项
39.图2a是根据各种实施方案的图1的设计问题的示例。如所示,设计问题122包括环境对象1(eo1)、环境对象2(eo2)、接头j1至j8、设计变量x1至x5和设计目标200。eo1和eo2表示与工程问题相关联的预先存在的3d几何结构。在所示示例中,eo1可能是汽车的底盘,而eo2可能是汽车的车轮,车轮需要通过某种机械组件联接到汽车底盘。
40.接头j1至j8表示可以联接部件以生成cad组件的特定点。那些部件可以包括梁、弹簧、挡板等。可以为给定的接头分配特定的接头类型,但可以省略特定的接头类型分配。接头j1至j8最初由用户经由与设计引擎120的交互来定位。用户还可以经由与设计引擎120的交互来定义一个或多个设计目标,诸如设计目标200。设计目标200定义一组目标动态,给定的cad组件应在对应于设计目标200的eo1上的示例性位置处实现所述一组目标动态。例如,设计目标200可以定义目标时变加速度,给定的cad组件应在对应于设计目标200的eo1上的位置处实现所述目标时变加速度。设计问题122可以包括与任何位置集相关联的任何数量的设计目标。设计问题122还可以包括不与任何特定位置相关联的一个或多个设计目标。例如,给定的设计目标可指示部件的总数应被最小化。
41.设计变量x1至x5表示示例性设计变量,设计引擎120在生成设计时为其分配特定值。分配给给定设计变量的值在本文中可称为“设计值”。实际上,设计引擎120针对每对不
同的接头实现不同的设计变量,尽管为了清楚仅示出了示例性设计变量x1至x5。设计引擎120将给定的设计值分配给给定的设计变量以表示可以将两个接头联接在一起的特定部件类型,如以下结合图2b更详细地描述的。
42.图2b是根据各种实施方案的图1的设计选项之一的示例。如所示,设计选项124包括联接在接头j4与j8之间的梁b1、联接在接头j2与j7之间的梁b2、联接在接头j8与j6之间的弹簧s1,以及联接在接头j7与j5之间的弹簧s2。所示的各种梁和弹簧,以及那些部件与特定接头的特定联接共同表示至少在某种程度上可以解决问题定义122中阐述的工程问题的cad组件。
43.为了生成设计选项124,设计引擎120将特定值分配给与问题定义122相关联的各种设计变量以表示特定类型的部件。例如,设计引擎120可以将值“1”分配给设计变量x2以表示梁b1。设计引擎120可以将值“0”分配给设计变量x3以指示不存在部件。设计引擎120可以将值“2”分配给设计变量x5以表示弹簧s2。在一些实施方案中,设计引擎120还可将值分配给其他设计变量,以表示与接头j1至j8相关联的定位和/或接头类型。
44.设计引擎120被配置成实现统计驱动的设计过程以结合生成设计数据126来生成设计选项124的设计值,如以下结合图3更详细地描述的。
45.软件概述
46.图3是根据各种实施方案的图1的设计引擎的更详细图解。如所示,设计引擎120包括设计初始化器300、组件修改器310、性能评估器320、相关性分析器330、统计分析器340和概率生成器350。
47.在操作中,设计初始化器300基于问题定义122生成随机化设计的初始设计群302。初始设计群302中包括的给定设计包括针对问题定义122中阐述的每对接头的随机选择的或随机省略的部件。如所提及的,给定部件可以是例如梁、弹簧、挡板和任何其他技术上可行的机械部件。初始设计群302中包括的每个设计还包括针对每个接头的随机选择的接头类型。给定的接头类型可以是例如球状接头、滑块接头、弯管接头等。实际上,设计初始化器300通过将随机值分配给与给定设计相关联的每个设计变量来生成包括在初始设计群302中的给定设计。例如,设计初始化器300可以将值“1”分配给给定的设计变量,以指示对应的接头应该是球状接头。类似地,设计初始化器300可以将值“2”分配给另一个设计变量,以指示对应的部件应该是梁。
48.组件修改器310处理包括在初始设计群302中的每个设计,以识别和修复任何不可行的设计。组件修改器310然后输出可行设计312,所述可行设计包括任何初始可行设计以及任何经修复的设计。如本文所指,术语“不可行”用于描述违反某些设计规则的设计。例如,包括未附接到两端处的接头的一个或多个部件的组件设计可被认为是不可行的,因为此类“悬空”部件对设计的整体功能没有贡献。在另一个示例中,包括连接到同一接头的太多部件的组件设计可被认为是不可行的,因为实际的接头只能处理最大数量的连接。组件修改器310识别不可行的设计,然后实现面向约束的编程方法来修改那些设计。这样做时,组件修改器310实现以下结合图4a至图4d更详细描述的各种技术来修复不可行的设计。
49.性能评估器320仿真可行设计312的动态行为以生成性能数据,所述性能数据指示每个可行设计312满足问题定义122中阐述的各种设计目标的程度。性能评估器320基于相关联的性能数据对可行设计312进行排序并选择最佳性能设计,所述最佳性能设计被示为
高性能设计322。除选择最佳性能设计的其他方法外,性能评估器320可以选择前n个性能设计,n为整数,或者选择前n%的设计,n为小数。以下结合图5描述了性能评估器320如何选择高性能设计322的示例。
50.相关性分析器330处理每个高性能设计322并确定设计变量之间的各种统计相关性以生成设计变量相关性332。相关性分析器330可以通过将具有特定值的两个设计变量的预期概率与具有特定值的这两个设计变量的观察概率进行比较来确定这两个设计变量彼此相关。
51.相关性分析器330可以使用各种统计方法来量化设计变量之间的相关性。以下结合图6a至图6b描述了相关性分析器330如何生成设计变量相关性332的示例。
52.在一个实施方案中,相关性分析器330可以实现卡方检验以生成给定设计变量对的卡方值,其中卡方值量化给定设计变量对之间的统计相关性。当相关联的卡方值超过阈值时,相关性分析器330然后可以确定一对设计变量彼此相关。相关性分析器330还可以在实现该方法时通过选择不同的阈值来说明缺失的观察值,每个卡方值基于有多少观察值缺失来与这些阈值进行比较。
53.统计分析器340分析高性能设计322和设计变量相关性332以生成概率模型342。从概念上讲,概率模型332指示在被认为是高性能的设计中出现的某些设计元素的各种概率。更具体地,概率模型342包括与每对设计变量相关联的条件概率值集,该每对设计变量经由相关性分析器330被确定为在统计上彼此相关。条件概率集包括可分配给设计变量对的每个不同值组合的不同条件概率值。例如,假设相关性分析器330经由前述方法确定设计变量x1和x2在统计上是彼此相关的。统计分析器340可以生成条件概率值集,指示以设计变量x2被分配值“1”(指示例如球状接头)的概率为条件,设计变量x2被分配值“2”(指示例如梁部件)的概率。
54.在一个实施方案中,概率模型342是具有对应于“父”元素的行和对应于“子”元素的列的值的二维(2d)矩阵。父元素和子元素对应于被确定为在统计上彼此相关的设计变量。包括在2d值矩阵中的给定单元格存储条件概率值,所述条件概率值指示以父设计变量被分配特定值的概率为条件,子设计变量被分配特定值的概率。以下结合图7更详细地描述了该特定实施方案。
55.概率生成器350被配置成基于从概率模型342中提取的样本来生成设计群352。为了生成包括在设计群352中的给定设计,概率生成器350利用从概率模型342导出的概率分布将特定值分配给给定设计中所包括的设计变量。以此方式,概率生成器350可以生成新的设计群,所述新的设计群具有从包括在先前设计群中的高性能设计导出的设计变量值。如果满足某些收敛标准,则概率生成器350将新生成的设计群作为设计选项124输出。否则,概率生成器350将设计群352提供给组件修改器310并且重复上述过程。收敛标准可以例如指示要执行的最大迭代次数或要执行的最大时间量等等。
56.在一个实施方案中,当生成新设计以包括在设计群352中时,概率生成器350可以实现吉布斯采样(gibbs sampling)技术来对概率模型342进行采样。这样做时,概率生成器350将值随机分配给与设计相关联的各种设计变量,然后基于从概率模型342采样的概率值更新这些值。通过在一次或多次迭代中重复这一过程,分配给设计变量的值可能最终收敛到具有概率模型342中阐述的概率分布。以下结合图8更详细地描述了该特定实施方案。
57.经由以上操作,设计引擎120在性能越来越高的设计群中估计与高性能设计相关联的设计变量值的概率分布,然后使用这些概率分布来生成后续设计群。实际上,与使用诸如衍生式设计和面向约束的编程技术等的常规衍生式设计技术可能的相比,该方法可以快速收敛以更快地生成设计选项124。以下还结合图4a至图8以示例的方式描述了上述各种操作。
58.示例性软件处理操作
59.图4a至图4b阐述了根据各种实施方案的如何修复不可行设计的第一示例。如图4a所示,设计400包括联接在接头j4与j8之间的梁b5、联接在接头j8与j6之间的梁b6、联接在接头j2与j5之间的梁b7以及联接在接头j1与j8之间的梁b8。设计400可以包括在初始设计群302中或者包括在随后生成的设计群中。
60.组件修改器310分析设计400的结构并确定设计400为不可行的,因为太多部件连接到接头j8。组件修改器310可以实现面向约束的编程方法来确定设计400违反指示只有两个部件可以联接到任何给定接头的约束。作为响应,组件修改器310移除梁b8,如图4b所示,以生成可行的设计312(0)。
61.图4c至图4d阐述了根据各种其他实施方案的如何修复不可行设计的第二示例。如图4c所示,设计410包括联接在接头j4与j8之间的梁b5、联接在接头j8与j6之间的梁b6以及联接在接头j2与j7之间的梁b9。设计410可以包括在初始设计群302中,或者可以在生成设计群时经由设计引擎120的一次或多次迭代生成。
62.组件修改器310分析设计410的结构并确定设计410为不可行的,因为梁b9形成不终止于任何环境对象的不连续路径。换句话说,梁b9是“悬空”部件。组件修改器310可以实现面向约束的编程方法来确定设计410违反了指示部件不能在不联接到接头或环境对象的情况下伸入空间中的约束。作为响应,组件修改器310添加梁b10,如图4d所示,以便将梁b9联接到eo2。
63.一般地参考图4a至图4d,组件修改器310可以迭代地执行以上技术以从不可行的设计中添加和/或移除设计元素,直到解决任何违反设计规则的情况。这样做时,组件修改器310可以以通常与面向约束的编程相关联的方式回溯设计。一旦组件修改器310生成可行的设计312,性能评估器320就评估那些设计的性能,如以下更详细描述的。
64.图5示出了根据各种实施方案的图3的性能评估器如何识别一个或多个高性能设计。如所示,性能评估器320分析可行设计312(0)至312(n),以确定每个设计满足问题定义122中阐述的设计目标的程度。例如,性能评估器320可以利用每个设计执行数值仿真,然后确定那些设计的物理动态与目标物理动态集匹配得多紧密。性能评估器320然后将最高性能的设计识别为高性能设计322。一旦以这种方式识别了高性能设计322,相关性分析器330就分析那些设计中包括的设计变量之间的相关性,如以下更详细描述的。
65.图6a至图6b示出了根据各种实施方案的与一个或多个相关设计变量相关联的一个或多个设计元素。如所示,在图6a中,相关性分析器330确定设计变量x5与x6之间的设计变量相关性332(0)。相关性分析器330可以例如分析所有高性能设计322并确定大部分高性能设计322包括将接头j4、j8和j6相继连接在一起的部件。这些部件可以具有任何特定类型,包括梁、弹簧、挡板等。如以上结合图3所讨论的,在一个实施方案中,相关性分析器330可以实现卡方检验以基于分配给那些设计变量的设计值的分布来识别彼此关联或相关的
设计变量。
66.在某些情况下,某些设计变量可能不会显著彼此相关,如图6b所示。特别是,如所示,设计变量x5和x2与eo1的不同区域相关联。相关性分析器330可以确定分配给跨许多高性能设计322的这些设计变量的值彼此独立地变化。基于设计变量相关性332和高性能设计312,统计分析器340对被确定为彼此相关的设计变量进行统计分析以生成概率模型342,如以下更详细描述的。
67.图7是根据各种实施方案的图3的概率模型的示例。如所示,概率模型342是2d矩阵。概率模型342包括对应于可被分配给设计变量x1的不同可能值的行和对应于可被分配给设计变量x2的不同可能值的列。如前所讨论的,可以分配给设计变量的每个值表示特定的部件类型或接头类型。
68.概率模型342的给定单元格包括以设计变量x1被分配特定值为条件,设计变量x2被分配特定值的条件概率。例如,概率模型342的行x12可以对应于被分配值“2”的设计变量x1,并且列x23可以对应于被分配值“3”的设计变量x2。概率值p5表示设计变量x2被分配值“3”的条件概率,条件是设计变量x1被分配了值“2”。因为概率模型342是基于包括在高性能设计322中的相关设计变量生成的,所以概率模型342中的条件概率的分布从统计的角度描述了可以如何构造高性能设计。概率生成器350可以基于概率模型342生成附加的高性能设计,如以下更详细描述的。
69.图8是根据各种实施方案的图3的概率生成器的更详细图解。如所示,概率生成器350包括设计随机性发生器800和设计更新器810。在操作中,设计随机性发生器800通过将值随机分配给与设计问题122相关联的设计变量来生成随机化设计802。设计更新器810然后基于从概率模型342中抽取的样本来更新随机化设计802,以生成更新的设计812。设计更新器810可以从概率模型342中重复地抽取样本并以此方式应用更新以改进更新的设计812。通过利用许多随机化设计执行这种方法,设计更新器810生成设计群352。因为设计更新器810基于概率模型342更新随机化设计802,所以设计群352可以具有类似于概率模型342的概率分布。在这里描述的实施方案中,概率生成器350可以实现本领域中已知为吉布斯采样的技术。
70.一般地参考图4a至图8,设计引擎120在一次或多次迭代中实现所公开的技术,直到满足先前讨论的收敛标准。与使用常规的衍生式设计技术或使用常规的面向约束的编程技术可能的相比,可以以这种方式更快地和/或以更少的迭代来生成机械组件的设计。以下还结合图8更详细地描述了所公开的技术。
71.生成cad组件的过程
72.图9是根据各种实施方案的用于生成解决给定设计问题的多个设计的方法步骤的流程图。尽管结合图1至图8的系统描述了方法步骤,但本领域技术人员将理解,被配置成按任何次序执行所述方法步骤的任何系统都落入本发明实施方案的范围内。
73.如所示,方法900开始于步骤902,其中设计引擎120内的设计初始化器300生成随机化设计的初始设计群。设计初始化器300基于与要解决的工程问题相关联的问题定义生成初始设计群。初始设计群中包括的给定设计包括针对问题定义中阐述的每对接头的随机选择的或随机省略的部件。设计初始化器300通过将随机值分配给问题定义中阐述的每个设计变量来生成包括在初始设计群中的给定设计。
74.在步骤904处,设计引擎120内的组件修改器310修复任何不可行的设计以生成一组可行的设计。如本文所指,术语“不可行”用于描述违反某些设计约束的设计。组件修改器310实现面向约束的编程方法以识别违反一个或多个设计约束的设计,然后生成对那些设计的修改以解决那些违规。组件修改器310可以以迭代方式从不可行设计中移除部件和/或向不可行设计添加部件,直到那些不可行设计不违反任何设计约束。
75.在步骤906处,设计引擎120内的性能评估器320评估在步骤904处生成的可行设计以生成一组高性能设计。性能评估器320通过执行仿真来确定那些可行设计的动态行为,以生成性能数据,所述性能数据指示每个可行设计满足问题定义中阐述的一个或多个设计目标的程度。性能评估器320基于相关联的性能数据对可行设计进行排序并选择最佳性能设计或高性能设计。
76.在步骤908处,设计引擎120内的相关性分析器330确定与在步骤906处生成的所述一组高性能设计相关联的设计变量之间的一组相关性。相关性分析器330具体分析与包括在设计问题中的设计变量相关联的一组概率。相关性分析器330可以通过将具有特定值的两个设计变量的预期概率与具有特定值的这两个设计变量的观察概率进行比较来确定这两个设计变量彼此相关。在一个实施方案中,相关性分析器330跨在步骤906处生成的高性能设计中阐述的设计变量值实现卡方检验以确定设计变量之间的相关性。
77.在步骤910处,设计引擎120内的统计分析器340生成概率模型,所述概率模型包括在步骤908处被确定为彼此相关的设计变量之间的条件概率集。概率模型332指示在被认为是高性能的设计中出现的某些设计元素的各种概率。更具体地,概率模型342包括与每对设计变量相关联的条件概率值集,该每对设计变量经由相关性分析器330被确定为在统计上彼此相关。条件概率集包括可分配给设计变量对的每个不同值组合的不同条件概率值。
78.在步骤912处,设计引擎120内的概率生成器350对概率模型进行迭代采样并更新一组随机化设计,以便生成后续设计群。为了生成包括在后续设计群中的给定设计,概率生成器350利用从概率模型导出的概率分布将特定值分配给给定设计中所包括的设计变量。以此方式,概率生成器350可以生成新的设计群,所述新的设计群具有从包括在先前设计群中的高性能设计导出的设计变量值。如果满足某些收敛标准,则概率生成器350将新生成的设计群作为设计选项输出。否则,基于新生成的设计群重复上述步骤。在一个实施方案中,概率生成器350使用概率模型实现吉布斯采样以生成后续设计群。
79.总之,设计引擎实现一种概率方法来为计算机辅助设计(cad)组件生成设计。设计引擎最初基于与设计问题相关联的问题定义来生成设计群。每个设计包括分配给各设计变量的随机生成的设计值集。设计引擎修复设计群中任何不可行的设计,然后使用设计群执行动态仿真。设计引擎选择最高性能的设计,并基于那些高性能设计识别彼此相关的设计变量。设计引擎生成概率模型,所述概率模型指示与相关设计变量相关联的设计值之间的条件概率。然后,设计引擎对概率模型进行迭代采样以生成后续设计群。以这种方式,相比使用常规算法设计技术可能的,设计引擎可以显著更快地自动生成机械组件的设计。
80.所公开的技术相对于现有技术的至少一个技术优势在于:可以比使用常规算法技术生成时更快地自动生成解决复杂设计问题的复杂cad组件。所公开的技术相对于现有技术的另一个技术优势是可以更有效地探索与复杂设计问题相关联的大设计空间,而无需消耗大量的时间,所述大量的时间对于经常执行穷举设计空间搜索的常规算法技术而言是典
型的。因此,与常规算法技术相比,所公开的技术可以应用于更广泛的设计问题。这些技术优点表示优于现有技术方法的一个或多个技术进步。
81.1.一些实施方案包括一种用于生成解决设计问题的设计的计算机实现的方法,所述方法包括:生成第一多个设计,所述第一多个设计是基于与所述设计问题相关联的问题定义并且包括第一设计值集;生成第一模型,所述第一模型指示与所述第一设计值集相关联的第一概率分布并且是基于所述第一多个设计;以及基于从所述第一模型中提取的一个或多个样本生成第二多个设计,其中相比所述第一设计群,所述第二多个设计包括满足在所述问题定义中阐述的第一设计目标的更多数量的设计。
82.2.如条款1所述的计算机实现的方法,其中生成所述第一多个设计包括将第一设计值子集分配给与所述问题定义相关联的第一设计变量集。
83.3.如条款1至2中任一项所述的计算机实现的方法,其中所述第一多个设计中所包括的第一设计包括与机械组件相关联的三维几何结构,并且其中所述第一设计变量子集中所包括的第一设计变量对应于包括在所述机械组件中的第一机械接头或第一机械部件。
84.4.如条款1至3中任一项所述的计算机实现的方法,其中所述第一设计值子集包括被分配给第一设计变量的第一设计值,并且其中所述第一设计值对应于与所述第一机械接头相关联的第一类型的机械接头或者与所述第一机械部件相关联的第一类型的机械部件。
85.5.如条款1至4中任一项所述的计算机实现的方法,其中生成所述第一模型包括:利用所述第一多个设计执行动态仿真以生成性能数据;基于所述性能数据对所述第一多个设计进行排序;从所述第一多个设计中选择高排序的设计子集;以及基于所述高排序的设计子集生成所述第一概率分布。
86.6.如条款1至5中任一项所述的计算机实现的方法,其中所述性能数据指示针对所述第一多个设计中所包括的给定设计,所述给定设计满足所述第一设计目标的程度。
87.7.如条款1至6中任一项所述的计算机实现的方法,其中生成所述第一模型包括:确定包括在所述问题定义中的第一设计变量与第二设计变量之间的第一统计相关性;以及基于可分配给所述第一设计变量的第一设计值子集和可分配给所述第二设计变量的第二设计值子集,生成第一概率值。
88.8.如条款1至7中任一项所述的计算机实现的方法,其中确定所述第一设计变量与所述第二设计变量之间的所述第一统计相关性包括:执行卡方检验以基于所述第一设计值子集和所述第二设计值子集生成第一卡方值;以及确定所述第一卡方值超过第一阈值。
89.9.如条款1至8中任一项所述的计算机实现的方法,其中所述第一统计相关性超过第一阈值,所述第一阈值是基于包括在所述第一设计值子集中的设计值数量和包括在所述第二设计值子集中的设计值数量。
90.10.如条款1至9中任一项所述的计算机实现的方法,其中生成所述第一概率值包括确定所述第一设计变量将被分配第一设计值的第一条件概率,条件是所述第二设计变量已被分配了第二设计值。
91.11.一些实施方案包括一种非暂时性计算机可读介质,其存储程序指令,所述指令在由处理器执行时致使所述处理器通过执行以下步骤而生成解决设计问题的设计:生成第一多个设计,所述第一多个设计是基于与所述设计问题相关联的问题定义并且包括第一设计值集;生成第一模型,所述第一模型指示与所述第一设计值集相关联的第一概率分布并
且是基于所述第一多个设计;以及基于从所述第一模型中提取的一个或多个样本生成第二多个设计,其中相比所述第一设计群,所述第二多个设计包括满足在所述问题定义中阐述的第一设计目标的更多数量的设计。
92.12.如条款11所述的非暂时性计算机可读介质,其中所述生成所述第一多个设计的步骤包括将第一设计值子集分配给与所述问题定义相关联的第一设计变量集。
93.13.如条款11和12中任一项所述的非暂时性计算机可读介质,其中所述第一多个设计中所包括的第一设计包括与机械组件相关联的三维几何结构,并且其中所述第一设计变量子集中所包括的第一设计变量对应于包括在所述机械组件中的第一机械接头或第一机械部件。
94.14.如条款11至13中任一项所述的非暂时性计算机可读介质,其中所述第一设计值子集包括被分配给第一设计变量的第一设计值,并且其中所述第一设计值对应于与所述第一机械接头相关联的第一类型的机械接头或者与所述第一机械部件相关联的第一类型的机械部件。
95.15.如条款11至14中任一项所述的非暂时性计算机可读介质,其中所述生成所述第一模型的步骤包括:利用所述第一多个设计执行动态仿真以生成性能数据;基于所述性能数据对所述第一多个设计进行排序;从所述第一多个设计中选择高排序的设计子集;以及基于所述高排序的设计子集生成所述第一概率分布。
96.16.如条款11至15中任一项所述的非暂时性计算机可读介质,其中所述性能数据指示针对所述第一多个设计中所包括的给定设计,所述给定设计满足所述第一设计目标的程度。
97.17.如条款11至16中任一项所述的非暂时性计算机可读介质,其中所述生成所述第二多个设计的步骤包括:将第一设计值子集随机分配给与所述问题定义相关联的第一设计变量集;以及基于从所述第一模型中提取的一个或多个样本迭代地更新所述第一设计值子集。
98.18.如条款11至17中任一项所述的非暂时性计算机可读介质,其中所述第二多个设计包括第二设计变量集,并且其中所述第一概率分布还与所述第二设计值集相关联。
99.19.如条款11至18中任一项所述的非暂时性计算机可读介质,其中所述生成所述第二多个设计的步骤包括基于所述第一模型执行吉布斯采样以生成包括在所述第二多个设计中的第二设计集。
100.20.一些实施方案包括系统,所述系统包括:存储软件应用程序的存储器;和处理器,所述处理器在执行所述软件应用程序时被配置成执行以下步骤:生成第一多个设计,所述第一多个设计是基于与所述设计问题相关联的问题定义并且包括第一设计值集;生成第一模型,所述第一模型指示与所述第一设计值集相关联的第一概率分布并且是基于所述第一多个设计;以及基于从所述第一模型中提取的一个或多个样本生成第二多个设计,其中相比所述第一设计群,所述第二多个设计包括满足在所述问题定义中阐述的第一设计目标的更多数量的设计。
101.权利要求中任一项所述的权利要求元素中的任一者和/或本技术所描述的任何元素的以任何方式进行的任何和全部组合落在本发明和保护的设想范围内。
102.各种实施方案的描述已经出于说明目的加以呈现,但并不意图是详尽的或限于所
公开的实施方案。在不脱离所描述的实施方案的范围和精神的情况下,许多修改和变化对于本领域普通技术人员将是明显的。
103.本发明实施方案的方面可体现为系统、方法或计算机程序产品。因此,本公开的方面可采取完全硬件实施方案、完全软件实施方案(包括固件、常驻软件、微代码等)或组合软件方面与硬件方面的实施方案的形式,所述实施方案在本文中通常可全部称为“模块”、“系统”或“计算机”。此外,本公开的方面可采取体现在一个或多个计算机可读介质中的计算机程序产品的形式,所述一个或多个计算机可读介质具有在其上体现的计算机可读程序代码。
104.可利用一个或多个计算机可读介质的任何组合。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质可以是例如但不限于电子、磁性、光学、电磁、红外或半导体系统、设备或装置或前述介质的任何合适组合。计算机可读存储介质的更具体示例(非详尽列表)将包括以下介质:具有一个或多个导线的电气连接、便携式计算机软盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦可编程序只读存储器(eprom或闪存)、光纤、便携式光盘只读存储器(cd

rom)、光存储装置、磁存储装置或前述介质的任何合适组合。在本文档的语境中,计算机可读存储介质可以是可含有或存储供指令执行系统、设备或装置使用或与其联用的程序的任何有形介质。
105.参考根据本公开的实施方案的方法、设备(系统)和计算机程序产品的流程图图解和/或框图来描述本公开的各方面。将理解的是,流程图图解和/或框图中的每个框以及流程图图解和/或框图中的框的组合可通过计算机程序指令来实现。这些计算机程序指令可提供给通用计算机、专用计算机或其他可编程数据处理设备的处理器以产生一种机器。所述指令在通过计算机或其他可编程数据处理设备的处理器执行时使得能够实现流程图和/或框图的一个或多个框中所指定的功能/动作。此类处理器可以是但不限于通用处理器、专用处理器、特定用途处理器或现场可编程门阵列。
106.附图中的流程图和框图示出根据本公开的各种实施方案的系统、方法和计算机程序产品的可能实行方案的体系结构、功能性和操作。就这一点而言,流程图或框图中的每个框可表示包括用于实现一个或多个指定逻辑功能的一个或多个可执行指令的代码的模块、区段或代码部分。还应注意,在一些替代实现方式中,框中提及的功能可不按附图中提及的次序出现。例如,连续示出的两个框实际上可基本同时执行,或者这些框有时可按相反的次序执行,这取决于所涉及的功能。还应注意,框图和/或流程图图解中的每个框以及框图和/或流程图图解中的框的组合可由执行指定功能或动作的基于专用硬件的系统或专用硬件与计算机指令的组合来实现。
107.虽然前述内容涉及本公开的实施方案,但在不脱离本公开的基本范围的情况下可想出本公开的其他和另外的实施方案,并且本公开的范围由随附权利要求书确定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献