Tag: levenberg marquardt

在C ++中寻找优化algorithm来代替Excel Solver

因为Excel求解器在数千次优化(因为它使用电子表格作为接口)上运行速度很慢,所以我试图在C ++中实现一个类似的(特定于问题的)求解器(使用Visual Studio 2010,在Win 7个64位平台)。 我将通过VBA中的Declare语句包含DLL,并且已经有了这方面的经验,所以这不是问题。 我的问题是最小化经验数据与非线性但平滑的目标函数之间的平方误差的总和,问题将包括非负性(X> = 0)或甚至是正性约束(例如X> = 0.00000001) ,X代表决策variables。 我正在寻找一个强大的,经过validation的实现。 它可能是已build立的图书馆的一部分。 例如,我已经研究了ALGLIB存储的内容(请参阅http://www.alglib.net/optimization/ ),似乎只有其中一个algorithm接受有界约束。 但是我不知道这是值得的,这就是为什么我要收集一些意见。 或者,另一方面,如果用这种基本约束来增加ALGLIB的Levenberg-Marquardtalgorithm是可取的,例如通过拒绝不符合我的约束条件的每个中间解决scheme? (猜测不会这样做,但仍然值得一提)