【文件属性】:
文件名称:SQP Algorithm C++ code in VS2005 IDE
文件大小:273KB
文件格式:RAR
更新时间:2012-12-20 04:12:07
SQP Numerical Optimization QP Sequential
The Sequential Quadratic Programming (SQP) Algorithm
Given a solution estimate xk, and a small step d, an arbitrary numerical optimization problem can be approximated as follow:
f(xk+d)=f(xk)+[▽f(xk)] T*d + 1/2*(dT)[▽2f(xk)]*d+....
h(xk+d)=h(xk)+[▽h(xk)]T*d + 1/2*(dT)[▽2h(xk)]*d+.... = 0
g(xk+d)=g(xk)+[▽g(xk)]T*d + 1/2*(dT)[▽2g(xk)]*d+.... >= 0
where x=[x1,x2,…xk]T, d=[d1,d2,…dk]T
Form the linearly-constrained/quadratic minimization problem:
Minimize: f(xk)+[▽f(xk)]T*d + 1/2*(dT)[▽2f(xk)]*d
Subject to:
h(xk)+[▽h(xk)]T*d = 0;
g(xk)+[▽g(xk)]T*d >=0;
In the SQP loop, the approximate QP should be a convex Quadratic Programming, in which the matrix Q = ▽2f(xk) should be positive semidefinite, Q ≥ 0. Actually, the Q is the Hessian matrix of the function f(x) at the point xk.
【文件预览】:
SQP
----Array.h(60KB)
----problem.h(890B)
----QuadProg.h(3KB)
----problem.cpp(2KB)
----release()
--------SQP.exe(188KB)
----Array.cpp(1KB)
----SQP.jpg(1.04MB)
----SQP.suo(39KB)
----SQP IOWA.pdf(276KB)
----main.cpp(3KB)
----QuadProg.cpp(21KB)
网友评论
- 序列二次规划
- 打开就能用
- 资源不错,参考学习了
- 还好,可以用
- 很好用,SQP的解释文档很管用
- 有一定参考价值,虽然注释不多,谢谢分享。
- 代码很赞,对于初学者学习是个非常好的资料
- 试用一下啊
- 很好地代码
- 代码可以用,好
- 对自己编写sqp程序还是很有参考价值的
- 很好 VS2010可以编译通过 有参考价值
- 全英文啊。得慢慢啃了
- 优化效果还可以,不过有些代码可以简化。
- 代码不能编译通过是怎么回事?
- 怎么编译不通过啊,需要修改std::min、std::max为std::_MIN、std::_MIN等,这些怎么改
- 非常好,参考价值很大,QP的代码很难找到,本文提高了非常好的代码
- 英文的啊,看看先~
- 不错,应该是属于SQP有效集法
- 代码的运行速度比较快,而且可以处理限制条件(constraints)为非线性的情况,值得推荐!只是代码处理的是一个给定的实例,即给定的一个具体目标函数(cost function),并非一般情况,所以,请注意,针对具体问题使用时需要修改部分代码(即其中的problem.cpp,problem.h文件)。总体来说,是非常好的学习资料,十分值得推荐!
- 在VS2003 IDE下面不能直接 编译通过, 需要修改std::min、std::max为std::_MIN、std::_MIN等,但还有8个警告,但可以计算出正确的结果。有参考价值。。。
- 英文注释,翻着字典看,挺有收获的
- 很好,注释是全英文的,要好好学习了