函数调用开销大时的迭代最小化方法?

问题描述 投票:0回答:0

我有一个安装在电动压电平台上的激光指示器,可以倾斜它。激光需要打到光电二极管,我想编写一些 Python 代码来自动对齐电机以获得光电二极管的最高信号。

问题是电机运动很慢(超过 50 次迭代会非常慢),不能完全重复(压电电机倾向于“打滑”),并且不是完全正交的(即不能一次独立优化一个电机) .

所以,我的问题是最大化函数 $f(m_1,m_2,m_3)$,其中 $f$ 是在电机位置 $m_1,m_2,m_3$ 处测量的光电二极管信号 - 该函数可能依赖于可能的复杂性最后的电机位置历史。

我知道 scipy 中有整个库用于最小化,但它们似乎适用于数据丰富且函数调用相当便宜的应用程序。在我的案例中,有哪些好的迭代优化方法?

我的第一次尝试是扫描每个电机并为扫描设置一个峰值并移动到那里。由于电机不是独立的,我不得不手动迭代地遍历每个电机。这是一个缓慢的过程,我想在没有曲线拟合过程的情况下实现自动化

python scipy minimization
© www.soinside.com 2019 - 2024. All rights reserved.