使用nelder mead在python中进行数值优化时出现故障

使用nelder mead在python中进行数值优化时出现故障,python,scipy,mathematical-optimization,minimization,Python,Scipy,Mathematical Optimization,Minimization,我正在尝试使用scipy.optimize.minimize模块使用Nelder-Mead方法对非线性函数进行双变量优化。总体而言,优化非常成功,但在这两者之间,优化变量中的值突然跳变,然后,优化参数曲线遵循相同的形状,但存在dc偏移。这张图片可能有助于理解我的问题。我一直在玩弄函数容差,但都是徒劳的。跳转会对进一步的编程造成严重破坏。图片位于[社区编辑以内联图片]此处: 首先,带有小故障的优化变量: 第二,小故障的放大: 第三,第一个优化变量在第二个优化变量中恰好在同一点之后造成的破坏: 绿

我正在尝试使用scipy.optimize.minimize模块使用Nelder-Mead方法对非线性函数进行双变量优化。总体而言,优化非常成功,但在这两者之间,优化变量中的值突然跳变,然后,优化参数曲线遵循相同的形状,但存在dc偏移。这张图片可能有助于理解我的问题。我一直在玩弄函数容差,但都是徒劳的。跳转会对进一步的编程造成严重破坏。图片位于[社区编辑以内联图片]此处:

首先,带有小故障的优化变量:

第二,小故障的放大:

第三,第一个优化变量在第二个优化变量中恰好在同一点之后造成的破坏:


绿点是预期的优化曲线,而蓝线是获得的优化曲线。

如果您需要任何认真的帮助,您必须给出您正在优化的内容。你可能会陷入局部极小值,等等。也许可以试着猜测一个更好的起点,并检查优化器是否返回任何类似于达到的最大迭代次数等的结果。@seberg:ok,如果有人想查看整个项目:运行项目的步骤:1首先运行第一个程序run.py,并在文件路径的第118123128行进行适当更改。这将生成三个文本文件,由第二个要运行.py的程序读取。2现在运行第二个程序run.py。这就是进行优化的地方。。。。。请阅读以下注释以继续…此程序最初读取configfile.txt并对其路径进行appt更改,configfile.txt位于rar中,我已预先配置该rar以获得上述图像输出。在行号73,95,97,99处的路径中进行应用更改。最小化函数位于第131行,第130行的函数是相同的函数,但对于另一种称为NR_Powell的方法,它接受不同格式的输入变量。“误差函数”是最小化函数,它有一个子函数,位于第48行Stop。目标函数的数学公式是什么?你在做两个变量函数的最小化吗?如果是这样的话,为什么我们看到的是二维图而不是漂亮的三维图?是的,我在做两个变量中函数的最小化,你可以看到标题为k2和n2的图,它们是最小化的变量。我是python新手,不知道如何制作3D绘图