fmincon:返回最后一个可行点

时间:2018-11-30 15:13:48

标签: matlab optimization

我正在使用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)的所有调用,而是仅存储迭代调用。

0 个答案:

没有答案