我觉得Neos server 是很不错的东东,想做优化的童鞋可以试试哦。
下面只是个人发牢骚了(非常罗嗦,珍惜时间者莫看):
首先因为我的问题是非严格凸函数,所以我还是决定尝试一下Matlab+CVX。于是写了一堆for循环,matlab的for循环不是一般的速度啊,我估计一年也运行不完,老板那里不好交代,于是花了几天改成矩阵操作,结果内存就不够了,用学校到服务器吧,在上面装上CVX包,然后还是只能解决很小规模的情况。
后来为了重用之前人开发的代码,又改回for循环架构,结果CVX愣是不再承认我的函数是凸的了。可能之前那个需要运行一年的代码会在运行到半年时候告诉我你的函数非凸吧,汗。
后来干脆放弃了CVX,于是认识了Ipopt,以为寻到了宝。花了三四天在windows上配置Ipopt的运行环境,最终因FORTRAIN 和C代码链接问题而放弃,( 有童鞋知道怎么解决吗,怎么使用f2c啊,弄了半天还是链接出错)。
然后转战Linux,没想到十分钟就搞定一切,顿时有种虚度光阴的感觉。
然后很兴奋的在Linux装了一堆COIN到开源优化包,像Bonmin,Couenne等。
然后辛苦地把以前写的matlab代码改成C++。但是我的矩阵参数太多了,求Jocobian和Hessian矩阵的时候,又出现了log函数得出NAN的问题。Ipopt也光荣殉职了。
后来又发AMPL,立马就爱上她了。赶紧把12个问题的代码都改成AMPL的。幸福的等待运行结果,竟然不给整数。然后看到Trial version到几个solver都不解决MINLP问题。再后来觉得应该买个专业版的。3,4百刀一个solver,买一个就觉得投入挺大了。犹豫不决中发现了Neos Sever.
希望Neos Server 不要再给惊喜吧。