System design tools are often only available as input-output blackboxes: for a given design as input they compute an output representing system behavior. Blackboxes are intended to be run in the forward direction. This paper presents a new method of solving the inverse design problem namely, given requirements or constraints on output, find an input that also optimizes an objective function. This problem is challenging for several reasons. First, blackboxes are not designed to be run in reverse. Second, inputs and outputs can be discrete and continuous. Third, finding designs concurrently satisfying a set of requirements is hard because designs satisfying individual requirements may conflict with each other. Fourth, blackbox evaluations can be expensive. Finally, blackboxes can sometimes fail to produce an output. This paper presents CNMA, a new method of solving the inverse problem that overcomes these challenges. CNMA tries to sample only the part of the design space relevant to solving the problem, leveraging the power of neural networks, Mixed Integer Linear Programs, and a new learning-from-failure feedback loop. The paper also presents a parallel version of CNMA that improves the efficiency and quality of solutions over the sequential version, and tries to steer it away from local optima. CNMA's performance is evaluated against conventional optimization methods for seven nonlinear design problems of 8 (two problems), 10, 15, 36 and 60 real-valued dimensions and one with 186 binary dimensions. Conventional methods evaluated are off-the-shelf implementations of Bayesian Optimization with Gaussian Processes, Nelder Mead and Random Search. The first two do not solve problems that are high-dimensional, have discrete and continuous variables or whose blackboxes can fail to return values. CNMA solves all problems, and surpasses the performance of conventional methods by 1%-87%.
翻译:系统设计工具通常只能作为输入-输出黑匣子: 对于一个特定的设计来说,它们作为输入来计算代表系统行为的输出。 黑匣子是打算向前方方向运行的。 本文展示了一种解决反向设计问题的新方法, 即, 鉴于对输出的要求或限制, 找到一个能优化客观功能的输入。 这个问题具有挑战性。 首先, 黑盒的设计不是设计要倒流。 第二, 输入和输出可以是离散的和连续的。 第三, 找到同时满足一组要求的设计是困难的, 因为设计满足单个要求可能互相冲突。 第四, 黑盒评价可能不是昂贵的。 最后, 黑盒有时无法产生输出。 本文展示了一种解决反向设计问题的新方法, 即, 满足了输出输出输出输出值的要求。 CNMA 仅仅抽样与解决问题有关的设计空间的一部分, 利用神经网络的力量, 混合 Integer 线性线性程序, 以及一个新的从快路反馈循环。 纸张还展示了CNMA 的平行版本, 改进了正常操作方法的效率和质量 。