在C ++中寻找替代Excel Solver的优化算法
|
由于Excel Solver执行数以千计的优化操作相当慢(原因是它使用电子表格作为界面),因此我试图在C ++中实现类似的(特定于问题的)求解器(使用Visual Studio 2010,在Win 7 64位平台)。我将通过VBA中的Declare语句包含DLL,并且已经具有执行此操作的经验,因此这不是问题。
我的问题是使经验数据和非线性但平滑的目标函数之间的平方误差之和最小,并且问题将包括非负性(X> = 0)甚至是正性约束(例如X> = 0.00000001) ,其中X表示决策变量。
我正在寻找一种可靠的,经过验证的实现。它可能是已建立库的一部分。
例如,我已经研究了ALGLIB存储的内容(请参阅http://www.alglib.net/optimization/),似乎他们的算法中只有一种接受有限约束。但是,我不知道这有什么用,这就是为什么我要收集一些意见。
或者,在另一个注释上,是否建议使用此类基本约束来增强ALGLIB的Levenberg-Marquardt算法,例如拒绝所有不满足我的约束的中间解决方案? (猜测不会做到这一点,但仍然值得询问)
没有找到相关结果
已邀请:
3 个回复
疮痪徘弦漏
笛驮型迸
矾醒忻