arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 1902.00877math.OC
收藏

双层背包拓扑Optimization:一个有效的51行MATLAB代码

Topology Optimization with Bilevel Knapsack: An Efficient 51 Lines MATLAB Code

Vittorio Latorre

摘要:

本文给出了一个求解拓扑最优化问题的51行Matlab程序。由于所提出的代码是基于硬0-1最优化方法的,该方法以简单的方式并在次多项式时间内处理优化的整数部分,因此不仅可以在不牺牲任何可读性的情况下将行数减少到51行,而且可以以提高的效率获得具有接近于零的棋盘图案的空-实设计。数值结果表明,该方法具有最好的平均时间相比,文献中的几个代码。我们还提出了扩展到不同的边界条件和三维设计。该程序简单易行,可供学生和拓扑优化新手使用。51行Matlab代码和所提供的扩展可以在网页https://github.com/vlatorre847/TOSSE上下载。

英文摘要:

This paper presents an efficient 51 lines Matlab code to solve topology optimization problems. By the fact that the presented code is based on an hard 0-1 optimization method that handles the integer part of the optimization in a simple fashion and in sub-polynomial time, it has been possible to not only reduce the number of lines to 51 without sacrificing any readability, but also to obtain void-solid designs with close to none checkerboard patterns with improved efficiency. The numerical results in the paper show that the proposed method has the best average times compared to several codes available in literature. We also present extensions to different boundary conditions and to three dimensional designs. The code can be used by students and the newcomers in topology optimization because of its simplicity and readability. The 51 lines Matlab code and the presented extensions can be downloaded on the webpage https://github.com/vlatorre847/TOSSE.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑