我有一个成本函数和它的梯度计算与有限元离散(值在积分点),我有一个文本文件中的数据。问题是成本函数和它的梯度在数学上不是明确的,在体积V的一些点xi上,在时间t的每一个增量上,使用有限元方法进行数值计算。函数的结果及其梯度存储在一个文本文件中。如何最小化这个函数?任何想法?
谢谢你的帮助
我不认为你能做你想做的事。如果你的有限元模拟已经完成,那么你唯一能做的就是创建一个代理模型,将你的结果作为参数的函数。一种可能性是通过插值对结果进行建模(例如使用SciPy griddata https://docs.scipy.org/doc/scipy/reference/generated/scipy.interpolate.griddata.html),并将其用作代理模型。
然后你选择你最喜欢的优化算法,指定你的参数(必须是griddata插值的一部分),你准备好了。根据你所做的有限元模拟的数量,你可以预期非常糟糕/无意义的结果(如果你的有限元模拟太少)或非常好的结果(如果你的有限元模拟几乎覆盖了整个优化空间)。