中文

基于双层背包问题的拓扑优化:一段高效的 51 行 MATLAB 代码

最优化与控制 2019-02-05 v1

摘要

本文给出一段高效的 51 行 Matlab 代码来求解拓扑优化问题。由于所呈现的代码基于一种困难的 0-1 优化方法,该方法以简单方式并在子多项式时间内处理优化的整数部分,因此不仅能在不损失任何可读性的前提下将代码行数缩减至 51 行,还能以更高效率获得几乎无棋盘格图案的空-实设计。文中的数值结果表明,相较于文献中若干可用代码,所提方法具有最佳的平均耗时。我们还给出了针对不同边界条件及三维设计的扩展。因其简洁与可读,该代码可供拓扑优化领域的学生与新手使用。这段 51 行 Matlab 代码及所述扩展可在网页 https://github.com/vlatorre847/TOSSE 下载。

关键词

引用

@article{arxiv.1902.00877,
  title  = {Topology Optimization with Bilevel Knapsack: An Efficient 51 Lines MATLAB Code},
  author = {Vittorio Latorre},
  journal= {arXiv preprint arXiv:1902.00877},
  year   = {2019}
}

备注

15 pages, 24 figures