我正在尝试优化一个可以选择样本点的昂贵函数。困难在于许多功能评估可能会并行计算,需要不同的时间。我不知道要搜索哪些关键字来查找现有文献(/实施)。
所以有一次,我可能已经计算了 18 个点的函数值,还有 15 个仍在计算中,我想开始计算另一个点的函数。如果没有正在运行的作业,我可以制作一个模型并找出下一个点可能提供最多的信息。但是现在,我需要以某种方式告诉模型还有 15 个点我没有值,但我不想在附近评估函数。
具体来说,我正在寻找具有最小假设且没有梯度信息的东西。但是,如果我只知道要搜索的关键字,我会很高兴。(我可以为这种工作想出几个技巧,但我想知道是否有任何“真正的”解决方案)。
为了说明,假设每一列是一个函数评估点,每一行是下面 ascii 图中的一个时间步长。AnX
表示评估仍在计算*
中,底行中的 a 表示已完成。一旦旧的评估结束,新的评估就会开始,而其他评估仍然很忙。
XXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXX
XXXXXXXXXXX XXXXX
XXXXXXXXXXX XXXXX
XXXXXXXXXXX XXXXX
XXXXXXXXXXX X XXX X
XXXX XXXXXX X XXX XX
XXXX XXXXXX X XXX XX
XXXX XXXXXX X XXX XX
XXXX XXXXXX X XXX XX
XXXX XXXXXX X XXX XX
XXXX X XXXX X XXX XXX
XXXX X XXXX X X X XXXX
XXXX X XXXX X X X XXXX
XXX X XXXX X X X XXXXX
XXX X XXXX X X X XXXXX
XXX X XXXX X X X XXXXX
XXX X XXXX X X X XXXXX
XXX X XX X X X X XXXXXX
XXX XX X X X X XXXXXXX
XXX XX X X X X XXXXXXX
XXX XX X X X X XXXXXXX
XXX XX X X X XXXXXXXX
XXX XX X X X XXXXXXXX
XXX XX X X X XXXXXX XX
XXX XX X X X XXXXXX XX
XXX XX X X XXXXXX XXX
XX XX X X XXXXXX XXXX
** **** *** ******* * *
每次评估完成,给定几个完整和几个不完整的评估,如何选择下一个评估点?