黑盒优化使用Java
在Java中,黑盒函数作为实现接口LSDoubleBlackBoxFunction的对象传递给LocalSolver。这个接口有一个方法call(调用),它的参数是LSBlackBoxArgumentValues类型的对象。call方法使用此对象来访问当前点的决策变量值,以求值并返回此时的函数值。
然后创建一个LocalSolver模型来优化这个黑盒函数。使用doubleBlackBoxFunction方法将黑盒函数转换为LSExpression。决策使用call类型的LSExpression与函数关联。通过LSBlackBoxContext,求解器被告知执行20次黑盒函数的求值。这个上下文还可以用来为函数提供边界。通过LSSolution进行解析后,可以得到解的值:
import localsolver.*;
public class Branin {
public static void main(String [] args)