计算机图形学论文 | 木工设计与制造计划的共同优化

news2024/11/23 21:42:40

🦌🦌🦌读论文

我们的系统共同探索离散设计变量和制造计划的空间,以生成(设计,制造计划)对的帕累托前沿,使制造成本最小化。在该图中,(a)是椅子的输入设计和仅探索该设计的制造方案空间的帕累托前沿,(b)是由椅子的设计变体和制造方案共同探索生成的帕累托前沿,其中每个点是一个(设计,制造方案)对。设计变化表明不同的方式组成相同的3D模型从一个集合的部分,并在帕累托前面用相同的颜色说明。实物椅子是按照结果制作计划制作的。联合勘探的帕累托面优于(a)的帕累托面,这表明通过探索设计变化可以显著提高制造成本。

🐨🐨0摘要

本文提出了一种新方法,用于同时优化木工对象的设计与制造计划。通过自适应基于等价图(e-graphs)的程序合成中的近期工作,我们将双层优化问题变得可行。我们的洞察是,双层问题中的子问题共享显著的子结构。通过在新的零件集合(BOP)e-图中表示设计和制造计划,我们分摊了优化多个候选者中共享的设计组件的成本。即使使用BOP e-图,优化空间在实践中也迅速增长。因此,我们还展示了一种名为E-图迭代收缩和扩展(ICEE)反馈引导搜索策略,它可以保持e-图的大小可控,并将搜索导向有希望的候选者。我们通过木工领域的示例来说明我们的流程的优势。

🐨🐨1引言

虽然针对制造的优化设计是一个长期且研究充分的工程问题,但绝大多数工作都假设从设计到制造计划有一个唯一的映射。然而,在现实中,许多应用允许多种制造替代方案。例如,模型显示了不同的制造计划在材料成本和制造时间之间的权衡。在这种情况下,面向制造的设计优化变得更加具有挑战性,因为它需要为许多设计变体探索最优制造计划的景观。在这项工作中,我们提出了一种新的方法,同时优化木工的设计与制造计划。我们的方法也使用类似程序的表示,但我们同时优化设计和制造计划。

🐨🐨2相关工作

🐼2.1设计与制造的优化

面向制造的设计是一个激动人心的研究领域,旨在自动实现所需的属性,同时优化制造计划。

🐼2.2木工的设计和制造

木工是设计和制造中研究充分的领域,因为它的应用范围广泛。

🐼2.3双层多目标优化

我们的问题和类似的问题都是双层的,具有嵌套结构,其中每个设计确定不同的可行制造计划空间。

🐼2.4E-图

E-图是一种高效的数据结构,用于紧凑地表示大量等价程序。

🐨🐨3背景

为了提高文章的可读性并帮助读者更早地获得必要的背景知识,本节介绍了文章其余部分使用的一些数学基础。

🐼3.1多目标优化

多目标优化问题由一组目标函数fi定义,这些函数为可行搜索空间X中的每个点x分配一个实数值。我们选择的约定是目标fi需要较小的值fi (x)由于这些目标通常是相互冲突的,我们的算法搜索代表最佳权衡的不同点集,称为帕累托最优所有帕累托最优点的图像称为帕累托前沿

🐼3.2双层多目标优化

给定一个定义木工模型可能变体的设计空间D,我们的目标是找到一个设计d和相应的制造计划p,以最小化冲突目标的向量。

🐼3.3等价图(E-图)

通常,程序(通常称为项)被视为包含较小子项的树状结构。e图是一种数据结构,它通过尽可能地共享子项来有效地表示许多等效项,解决大型程序面临的搜索等效项的空间难以处理的问题。

电子图示例:e类(用字母标记的虚线框)包含等价的e节点(实框),它们指代子e类(ar-行)。e类(c)包含一个叶子e节点3,它代表一个项3。e类(b)包含两个e节点,(c)+(c)(c)(d),它表示两个项:3+3和3∗2。虽然e类(a)只包含一个e节点,但它表示4项:(3+3)+(2+2)、(3∗2)+(2+2)、(3+3)+4和(3∗2)+4。如果+比*便宜,则(3 + 3)+ 4是e类(a)表示的最便宜的项。

🐨🐨4优化算法

我们的算法以具有离散集合D的可能设计变体的木工设计为输入。设计变体决定了将3D模型分解为一组可制造部件的不同方式,如下边两个图所示。这些可以手工生成,也可以自动生成。我们的目标是找到制造成本最小的帕累托最优解决方案,其中每个解决方案是一对设计变化和制造计划。

一个模型的三种不同的设计变化的例子和相应的制造计划。设计变型决定了将3D模型分解成一组零件的不同方式。制造计划定义这些零件如何在库存材料和切割顺序中排列(通过每次切割的数字来说明)。

设计变化空间的例子:四个连接器中的每一个都可以有三种不同的连接变化,从而产生81种设计变化。请注意,一些不同的设计变型可能使用相同的部件(如d1, d2),并且在我们的优化过程中会被视为冗余。这个模型生产13个独特的零件袋。

🐼4.1动机和洞察

给定一个算法,用于为给定设计找到Pareto最优的制造计划,一个蛮力方法将简单地为D中的每个可能设计变体d找到Pareto最优解,并取主导者形成组合设计/制造空间的Pareto前沿。

🐼4.2零件集合(BOP)E-图

我们的算法选择一个Pareto最优的制造计划集合,每个计划将产生给定模型的一个设计变体。

在一个BOP e图(b)中编码了箱体设计的两个变体(a)。粗体边缘表示需要三个原子填充的根项(c)。BOP e图为两个设计变体编码了多种排列。e类用虚线框表示,并用该e类表示的BOP进行标注。(只有e-节点在语义上是e-graph中;名称和BOP只是视觉辅助。)e类E1和E2是根e类,因为它们表示设计变体所需的BOP。联合和原子e节点分别以带“U”的正方形或带“A”的圆形表示。原子电子节点对应于一块库存(c)中的零件包装。BOP e图中的一个示例根项是持有的。

🐼4.3迭代收缩和扩展E-图(ICEE)

算法概述使用上边那张图中的示例。第一步初始化防喷器e图(第4.3.2和4.3.3节),其中包含几个设计变量和少量制造安排(a)。U和a分别表示联合和原子e节点。作为ICEE循环的一部分,该算法提取了一个帕累托前沿(第4.3.4节),用于对防喷器e图(b)中的e类进行评分。例如,包含“U”和“a”e节点的灰色e类表示得分较低,即该e类对帕累托最优解没有贡献。然后,通过移除低分数的e类(及其父e节点)来压缩防喷器e图(第4.3.5节),得到压缩的防喷器e图(c)。如第4.3.6节所述,通过探索更多的设计变量和制造安排,进一步扩展(d)这个压缩的防喷器e图。当终止条件达到时,算法退出循环,返回最终的帕累托前沿(e)。

🐶4.3.1概述

ICEE以可行的设计空间D作为输入,并输出每个解决方案s代表一个(设计,制造)对的Pareto前沿。

🐶4.3.2初始设计变体的生成

我们通过观察启动我们的搜索,即具有更多相同部件的设计变体往往更便宜,因为它们在制造过程中花费的时间较少。

🐶4.3.3制造安排的生成

同样,我们不是为给定设计随机生成Kf个安排变体,而是使用启发式方法。

🐶4.3.4Pareto前沿提取

在e-图术语中,提取是从e-图中根据某些(通常是单目标)成本函数选择“最佳”表示的项的过程。

🐶4.3.5BOP E-图收缩

随着算法的进行,BOP E-图收缩保持数据结构不会变得过大。

🐶4.3.6BOP E-图扩展

我们通过首先生成新的设计变体,然后为现有和新生成的设计变体生成制造安排来扩展BOP E-图。

🐨🐨5结果与讨论

第5节中所有实验使用的模型。布朗用于表示仅由木材的一维连续切割制成的模型。灰色仅用于板材的二维分割。橙色用于同时使用木材的1D顺序切割和板材的2D分割。

为了衡量我们工具的实用性,我们希望回答以下问题:

🐼5.1模型

我们使用图7中的示例来评估我们的方法。

🐼5.2运行环境

我们根据模型的复杂性(以部件数量np和设计空间|D|的大小来衡量)来调整ICEE算法中使用的参数。

🐼5.3设计探索的好处

为了证明同时探索设计变体和制造计划空间的好处,我们将我们的工具与仅优化单一设计的制造计划进行了比较。下方第一张图强调了探索设计变化如何生成制造计划,这些计划可以支配那些没有设计变化探索产生的计划。然后,第二张图展示了设计变化如何实现不同的权衡,从而节省不同的成本。

搜索设计空间的两个例子揭示了制造计划,这些计划完全支配了为输入设计生成的制造计划。通过设计变化,我们的管道可以搜索框架的设计变化,将所有角度切割变为垂直。对于设计B,我们找到了一个比输入设计中耗时最少的计划a花费更少时间的制造计划。同样,我们展示了A-Bookcase模型的两个制造方案,其中设计和制造方案B主导了输入设计a。制造成本在图中按照材料成本、精度误差和制造时间的顺序表示。切割订单用彩色的圆点和数字标记,其中颜色表示选择的切割工具,堆叠的切割用相同的数字标记。

两个例子表明,探索不同的设计会导致更广泛的计划多样性,其中帕累托前面的每一个权衡都是可能的,因为底层设计。窗口提供了一个更简单的例子。设计A非常统一,只有三个不同的部分。这种设计很容易节省制作时间,因为我们可以将切口堆叠在不同的库存上。设计B的特点是更多样的剪裁,不像A,每条边都是一样长的。这种不规则性使得所有的零件都可以有效地重新排列在两张纸上。常规零件不能很好地配合,导致浪费。材料成本很低,但由于包装紧密,每一次切割都需要更多的时间。书柜的例子展示了一些不直观的设计决策是如何节省成本的。在这个例子中,设计A的两个长而相同的侧件意味着更多的堆叠机会,制造计划充分利用了这一点。这种设计实现了非常低的时间成本,但使用了大量的材料。设计B的左侧被架子分开,没有第二个长片,可以将所有的碎片打包到一块木材上。在这里,使用的材料是经济的,但木匠必须花时间从复杂的布局中切割出碎片。

🐼5.4与专家的比较

对于每个模型,我们要求木工专家生成设计变体和制造计划。生成的点在下图中绘制为菱形。

帕累托前沿是从我们的管道中计算出来的,设计优化为彩色点。每种颜色对应不同的设计。灰点表示所有探索过的设计变化的帕累托前沿。这些与没有设计优化计算的帕累托前沿(仅制造优化,使用原始模型作为输入设计)作为正方形和专家制造计划作为菱形进行比较。通常,来自设计变体的制造计划比由输入设计生成的制造计划更优化。对于客观度量的单位,材料使用量(fc以美元为单位,切割精度(fp以英寸单位,制造时间(ft)分钟单位。用大写字母表示的一些(设计、制造计划)对如图9和图10所示。

🐼5.5性能评估

为了测试BOP E-图的共享是否对我们工具的性能至关重要,我们将其实现在基于Carpentry Compiler的嵌套优化管道上进行了比较。

🐼5.6制造结果

我们通过根据我们的工具生成的设计变体-制造计划对构建一些模型来验证我们的流程。

两种窗变的制作结果。不同的设计和制造计划权衡了制造时间和材料的使用。

🐨🐨6讨论

混合材料的织机模型,其中两种木材(云杉胶合板和中密度纤维板)和一种金属(铝板)分配到每个部分。

帕累托前沿计算从我们的管道框架模型有三个目标函数,材料使用fc,制造时间ft稳定性性能。每个设计变化的物理稳定性用Abaqus/CAE 2021模拟,用最大位移(Max U)测量。所有位移都以英寸为单位。在此图中,(a)是一个方向上的位移可视化,(b)是相同设计但方向不同的位移可视化,(c)绘制了从我们的管道计算的帕累托前沿,其中选择了三种设计变化。

🐼6.1多材料和切割工具

出于机械或美学原因,设计者可能需要将多种材料(如不同类型的木材或木材和金属)结合在一个模型中。

🐼6.2目标

我们的方法也自然扩展到其他目标函数。

🐼6.3收敛性

虽然我们的结果表明了该方法在实践中降低制造成本的重要性,但我们不能保证我们输出的计划位于全局最优的Pareto前沿。

🐨🐨7局限性和未来工作

我们当前的方法仅在BOP E-图中编码离散设计变体。

🐨🐨8结论

我们提出了一种新的方法来共同优化模型设计变体及其制造计划。我们的方法依赖于这样一个洞察:不同设计变体的制造计划将共享类似的结构。

🦌🦌🦌做笔记

🐕🐕该文章的研究目的

🐈优化设计与制造计划

文章旨在通过共同优化木工对象的设计与制造计划来最小化制造成本。研究者们提出了一种新的方法,能够同时探索设计变体和制造计划,以找到最佳的解决方案。

🐕🐕该文章的研究方法

🐈双层优化问题

文章采用了双层优化的方法来处理设计和制造计划。上层优化问题涉及设计和制造计划的联合空间,而下层优化问题则是给定设计的可行制造计划空间。

🐈等价图(E-图)

研究者们使用等价图(e-graphs)来表示等价程序,通过共享子结构来优化设计组件。他们提出了一种新的数据结构——零件集合(BOP)E-图,以最大化共享并提高e-图的表现力。

🐈迭代收缩和扩展E-图(ICEE)

文章介绍了一种名为ICEE的反馈引导搜索策略,用于控制e-图的大小并引导搜索朝着有希望的候选者发展。ICEE通过迭代收缩和扩展e-图来有效地探索设计和制造计划的巨大组合空间。

🐕🐕文章的挑战点

🐈设计与制造计划空间的巨大

设计变体和制造计划的空间巨大,使得使用当前技术联合探索这两个空间变得不切实际。

🐈多目标优化问题

制造计划可能需要在多个目标之间进行权衡,如材料浪费、制造时间、精度等,这增加了优化问题的复杂性。

🐈计算可行性

由于优化空间的快速增长,计算上可行的优化方法成为实现双层优化的关键挑战。

🐕🐕该文章的研究内容

🐈设计与制造的联合优化

文章研究了如何联合优化设计和制造计划,以找到在多个目标之间取得最佳权衡的解决方案。

🐈BOP E-图的开发

研究者们开发了一种新的BOP E-图数据结构,用于紧凑地表示设计变体和制造计划,并最大化共享。

🐈ICEE算法的实现

文章实现了ICEE算法,该算法通过迭代收缩和扩展e-图来有效地探索设计和制造计划的空间。

🐕🐕该文章的创新点

🐈BOP E-图

BOP E-图是一种新的数据结构,它允许在设计和制造计划之间共享公共子结构,从而提高了优化过程的效率。

🐈ICEE算法

ICEE算法是一种创新的搜索策略,它结合了反馈引导的搜索和e-图的紧凑表示,以有效地管理和探索巨大的设计和制造计划空间。

🐈双层优化的可行性

文章展示了如何使双层优化问题在计算上可行,这对于复杂的设计和制造领域是一个重要的突破。

🐕🐕该文章给我们的启发

🐈跨领域方法的应用

文章展示了如何将程序合成和等价图的概念应用于设计和制造领域,这为跨学科研究提供了新的视角。

🐈优化策略的创新

ICEE算法提供了一种新的优化策略,可以在其他领域中应用,以解决具有复杂搜索空间的优化问题。

🐈设计与制造的集成

文章强调了设计和制造过程的集成,这提示了在产品设计阶段就考虑制造因素的重要性,以实现更高效的生产过程。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2239033.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【百日算法计划】:每日一题,见证成长(023)

题目 每日温度 请根据每日气温列表,重新生成一个列表,对应的位置的输出为:要想观测到更高的气温,至少需要等待的天数.如果气温在这之后都不再升高,则该位置用0代替. 例如,给定一个列表[73, 74, 65, 80,] 你的输出应该是[1, 2, 1, 0] 思路 首先,我们先来画图分析一…

【在Linux世界中追寻伟大的One Piece】多路转接epoll

目录 1 -> I/O多路转接之poll 1.1 -> poll函数接口 1.2 -> poll的优点 1.3 -> poll的缺点 1.4 -> poll示例 1.4.1 -> 使用poll监控标准输入 2 -> I/O多路转接之epoll 2.1 -> 初识epoll 2.2 -> epoll的相关系统调用 2.2.1 -> epoll_cre…

推动AI云产业向深向实,云·AI·算力创新发展大会即将启幕

近年来,以AIGC为代表的新兴技术正加速演进,全球站在智能化变革的起点,人工智能与云计算的深度融合,也驱动云计算进入第三次发展浪潮,迎来前所未有的机遇。 伴随AI的快速发展,2024年《政府工作报告》明确提…

5G 现网信令参数学习(3) - RrcSetup(1)

目录 1. rlc-BearerToAddModList 1.1 rlc-Config 1.1.1 ul-AM-RLC 1.1.2 dl-AM-RLC 1.2 mac-LogicalChannelConfig 2. mac-CellGroupConfig 2.1 schedulingRequestConfig 2.2 bsr-Config 2.3 tag-Config 2.4 phr-Config 2.5 skipUplinkTxDynamic 3. physicalCellG…

【MyBatis源码】深入分析TypeHandler原理和源码

文章目录 原始 JDBC 存在的问题自定义 TypeHandler 实现TypeHandler详解BaseTypeHandler类TypeReference类型参考器43个类型处理器类型注册表:3个注解类枚举类 原始 JDBC 存在的问题 MyBatis 之所以设计了 TypeHandler(类型处理器)&#xff…

运营篇|公众号小程序如何实现流量主变现

公众号小程序如何实现流量主变现?三步走: ①开通流量主; ②接入广告; ③裂变传播; 一、小程序开通流量主的运营要求 微信小程序开通流量主的前提条件主要包括以下几个方面: 日活跃用户(DAU…

丹摩征文活动 | 轻松上手图像生成:FLUX.1遇上ComfyUI,让复杂变简单!

一、背景 FLUX.1是由黑森林实验室推出的一款前沿图像生成模型,针对不同用户需求,提供了三种不同版本。 FLUX.1-pro是专为企业设计的闭源版本,拥有无与伦比的性能和生成能力。其在识别提示词、提升视觉质量、细节表现及输出多样性方面都有出…

PyTorch核心概念:从梯度、计算图到连续性的全面解析(三)

文章目录 Contiguous vs Non-Contiguous TensorTensor and ViewStrides非连续数据结构:Transpose( )在 PyTorch 中检查Contiguous and Non-Contiguous将不连续张量(或视图)转换为连续张量view() 和 reshape() 之间的区别总结 参考文献 Contig…

「IDE」集成开发环境专栏目录大纲

✨博客主页何曾参静谧的博客📌文章专栏「IDE」集成开发环境📚全部专栏「Win」Windows程序设计「IDE」集成开发环境「UG/NX」BlockUI集合「C/C」C/C程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「UG/NX」NX定…

Kafka经典面试题

1、kafka消息发送的流程? producer发送过程中启动两个线程 一个main线程 一个sender线程,在main线程中先创建一个双端队列(RecordAccumlator、producerbatch),main将我们需要发送的东西经过拦截器,序列化&a…

手把手写深度学习(29):将DDP训练代码改成DeepSpeed

手把手写深度学习(0):专栏文章导航 前言:deepspeed已经成为了大模型时代训练模型的常规武器,这篇博客以一个基于DDP的 Stable Diffusion模型训练为例,讲解如何从将DDP训练代码改成DeepSpeed。 目录 构建optimizer 构建scheduler…

信息收集系列(二):ASN分析及域名收集

内容预览 ≧∀≦ゞ 信息收集系列(二):ASN分析及域名收集前言一、ASN 分析1. 获取 ASN 码2. 使用 ASNMap 获取 IP 范围3. 将 IP 范围转化为 IP 列表 二、关联域名收集1. 顶级域(TLD)收集测试方法 2. 根域名收集常用方法…

《数学分析》中不等式及补充

说明:此文章用于本人复习巩固,如果也能帮到大家那就更加有意义了。 注:1)《数学分析》中的不等式及不等式的补充

HTML之图片和超链接的学习记录

图片 在HTML中&#xff0c;我们可以使用img标签来显示一张图片。对于img标签&#xff0c;我们只需要掌握它的三个属性&#xff1a;src、alt和title。 <img src"" alt"" title"" /> src用于指定图片所在的路径&#xff0c;这个路径可以是…

unity显示获取 年月日周几【日期】

unity显示获取 年月日周几【日期】 public void ShowDate(Text txt){//txt.text DateTime now DateTime.Now; // 获取当前时间int year now.Year; // 获取年份int month now.Month; // 获取月份&#xff08;1-12&#xff09;int day now.Day; // 获取天数&#xff08;1-31&…

【区块链】深入理解智能合约 ABI

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 深入理解智能合约 ABI&#xff08;应用程序二进制接口&#xff09;一、ABI 基础…

鸿蒙ZRouter动态路由框架—生命周期管理能力

文章目录 基本使用(单个页面生命周期&#xff09;页面的全局生命周期监听工作流程图源码 ZRouter从1.1.0版本开始支持生命周期函数管理能力&#xff0c;主要有以下特点&#xff1a; 不影响你原有的生命周期业务逻辑&#xff0c;对NavDestination页面保持着零侵入性&#xff0c;…

代码随想录算法训练营第十九天|理论基础、77. 组合、216.组合总和III、17.电话号码的字母组合

理论基础 文章链接&#xff1a;代码随想录 视频讲解&#xff1a;带你学透回溯算法&#xff08;理论篇&#xff09;| 回溯法精讲&#xff01;_哔哩哔哩_bilibili关于回溯算法&#xff0c;我公众号里已经讲完了&#xff0c;并且将回溯算法专题整理成一本PDF&#xff0c;该PDF共…

uniapp的基本使用(easycom规范和条件编译)和uview组件的安装和使用

文章目录 1、uniapp1.uview组件安装2.uview-plus组件安装 2、条件编译3、easycom规范1.组件路径符合规范2.自定义easycom配置的示例 总结 1、uniapp UniApp的UI组件库&#xff0c;如TMUI、uViewUI、FirstUI、TuniaoUI、ThorUI等&#xff0c;这些组件库适用于Vue3和TypeScript&…

深入探索GDB调试技巧及其底层实现原理

本文分为两个大模块&#xff0c;第一部分记录下本人常用到的GDB的调试方法和技巧&#xff0c;第二部分则尝试分析GDB调试的底层原理。 一、GDB调试 要让程序能被调试&#xff0c;首先得编译成debug版本&#xff0c;当然release版本的也能通过导入符号表来实现调试&#xff0c…