我目前正在尝试使用线性不等式和等式约束来最小化函数。问题是fmincon(MATLAB Tool)找不到可行的解决方案。我已经尝试从列表中执行所有操作:http://de.mathworks.com/help/optim/ug/when-the-solver-fails.html
对于fmincon来说,问题可能太大了。我必须用~3300不等式约束和1个等式约束来解决。该函数是一个带有9个变量的标量函数:S = sum((X_i-1)^ 2)
除此之外,我必须解决这个问题~3300次(不等式约束数)。所以我不能等待一次最小化。
我不知道fmincon是否不能解决这个问题,并希望得到她对替代优化工具的建议。 MATLAB将是完美的(或C / C ++)。我买不起任何软件。
我希望你能帮助我
答案 0 :(得分:1)
所以你想解决3300方程的二次问题,你希望它快。我认为真正的问题不在于编程,而是你必须对你的问题进行更多的分析,而不仅仅是使用暴力。
如果你认为没有其他事可做,一个想法可能是使用一些启发式,但是你不确定你得到了确切的解决方案。使用启发式技术将要求您了解您的问题,以便您可以应用正确的问题。
另一种可能性是尝试找出哪些约束确实是重要的约束。也许你可以识别出10个这样的约束,用这些约束解决问题,然后在前一个解决方案作为初始猜测的情况下再应用一个额外的约束,然后希望解决方案不会突然改变。