我正在使用fmincon
来解决
min f(x)
s.t. c(x) >= 0, lb <= x <= ub
其中c(x)
是一个非线性不等式。我从满足不等式约束和框形约束的点x_0
开始。搜索得出的点是不可行的。我想知道是否有一个选项可以让fmincon
探索可行的跟踪点,并从中返回最小化f(x)
的跟踪点?
我想到的一种解决方案是保存一个storage.mat
文件并在函数f(x)
中写入
load('storage')
x_store = [x_store , x];
save('storage','x_store ')
然后事后在x_store
中找到满足约束并最小化f(x)
的点。这种方法的一个问题是我无法并行调用fmincon
并进行多次启动。
另一种解决方案是使用output function。但是,这不会存储对f(x)
的所有调用,而是仅存储迭代调用。