matlab 和 ampl 打配合,搞优化问题的你可以试试这个资源。用 matlab 来算雅克比和 hessian 矩阵,响应还挺快,兼顾灵活性和计算效率。你只要把 ampl 模型导出成.nl
文件,通过编译好的MEX
接口一调用,就能拿到导数信息,后面不管你是走牛顿法
还是L-BFGS
都方便得多。
雅克比矩阵说白了就是一阶导,用来看函数变化的方向,hessian 就是二阶导,判断函数是凹是凸的关键,搞非线性优化的应该熟。
程序里还有个hooking2.pdf
文档,写得挺详细,告诉你怎么设置 matlab 和 ampl 的联动。对接口不熟的朋友看完这个也能快速上手。
你要是搞机器人建模
、工艺参数优化
这类活儿,这玩意儿还真挺合适的。matlab 的计算力+ampl 的建模能力,组合起来还挺香。
哦对了,记得提前装好spamfunc.mexw32
和amplfunc.mexw32
这些接口文件,不然没法跑起来。如果你习惯 matlab 操作,又需要对模型做优化,这工具可以试试。