Matlab 强迫FMNCON仅从特定集合考虑候选解

Matlab 强迫FMNCON仅从特定集合考虑候选解,matlab,optimization,nonlinear-optimization,Matlab,Optimization,Nonlinear Optimization,是否可以强制MATLAB的fmincon从我提供的一组特定点生成候选点?我这样问是因为如果这是可能的,它将大大降低计算复杂性,并从优化中消除一些约束 编辑以添加更多信息:本质上,我在高维空间中寻找满足特定功能(属于该空间)的一组点,以及一些其他约束。目标函数最小化由这些点形成的路径的总长度。考虑广义测地线问题,尝试通过非线性优化。虽然我在使用fmincon时设法接近一个解决方案,但它的速度非常慢,而且容易陷入局部极小值。我已经有了一组相当大的数据点,它们满足这个高维函数,并且没有强制要求这组新的

是否可以强制MATLAB的fmincon从我提供的一组特定点生成候选点?我这样问是因为如果这是可能的,它将大大降低计算复杂性,并从优化中消除一些约束


编辑以添加更多信息:本质上,我在高维空间中寻找满足特定功能(属于该空间)的一组点,以及一些其他约束。目标函数最小化由这些点形成的路径的总长度。考虑广义测地线问题,尝试通过非线性优化。虽然我在使用fmincon时设法接近一个解决方案,但它的速度非常慢,而且容易陷入局部极小值。我已经有了一组相当大的数据点,它们满足这个高维函数,并且没有强制要求这组新的点不属于这个预先存在的集。

您可以给出一个起点,但不能将搜索限制为检查有限的值集。一般来说,这是一种错误的方法(例如:这种方法的离散性使得整数规划NP困难,而线性规划在P之内;这对某些人来说可能是不直观的)。因此,如果有一个小的候选集,您可能不应该使用fmincon;如果你刚刚得到了一个好的开始值,那么就用不同的开始多次调用它(如果你想的话,可以限制迭代次数)。我不明白一组特定的点如何降低计算复杂度。对我来说,这听起来像是添加了另一个约束。也许您想提供更多关于“您提供的点集”的信息。@nikaltipar总体思路如下:与其搜索无限空间,不如搜索枚举足够的离散空间。或者其他一些情况:不是10^18个状态,而是搜索10^8(随机示例),这是离散优化中的一种有效策略。但你当然就在这里。这种逻辑不适用于优化理论(至少在这种情况下不适用)。这取决于你所说的“一组特定的点”是什么意思。它是一个离散集吗?在这种情况下,答案显然是否定的,因为它不允许
fmincon
执行连续值优化,如计算梯度和步长等。在本例中,您可能正在尝试解决一个整数优化问题,其中有不同的方法。另一方面,如果你有一些,比如说,可以用(可能是非线性的)等式/不等式约束来描述的紧集,答案是肯定的,看看
optimset
nonlcon
选项。打字:我指的是
fmincon
的nonlcon选项,而不是
optimset