关于Lingo与Mosek...
今天老师给我们讲Lingo时运行了一个决策变量有240个,约束条件有980个的一个模型,运行了20分钟还没出结果,然后老师又用Mosek运行了,结果133秒就出结果。因为Lingo本身就很有局限性,大一点的模型就受不了了,所以,用Mosek解模型应该比较好。但是,Mosek这软件很专业,可以在C,Matlab,Java等环境下运行,我们大多数都是在Matlab下运行的,这是编写代码是在Matlab里写的,但是,问题就是,老师给的Mosek在我电脑安装不了,这不是主要问题,主要问题是,Mosek的代码好高大上,不知怎样才能调用Mosek,搞了半天连个简单的线性规划模型也写不出,语法什么的都搞不懂,各路朋友帮帮忙······用Lingo算了20分钟还没出结果真的是大问题啊我觉得这个也不一定是Lingo的问题,要看的模型是什么模型,不同的模型可能需要想不同的办法,完全依赖软件是不可取的,你可以把模型发上来,咱们研究一下 非线性的模型肯定是可以难住任何算法的,即使是二次的也一样 Lingo对于变量个数有一定的限制,变量多就容易越界。这时可以设计启发式算法对模型进行求解 终于看到了我感兴趣的问题,你们老师推荐Mosek很不错啊,和我目前接触的大多数就只说LINGO显得不同噢。Mosek ApS也有Free Academic License的,只是可能需要一定的Qualification,当然了,Mosek的**版也是很容易得到的,而且是破开FLexLm加密,以Floating License注册的。
你的MATLAB调用不了Mosek,一个可能的问题是32位与64位软件的不匹配,还有一个原因是你没有按照Manual上正确配置,再一个原因就是与其它FlexLm保护的License冲突了,前两种情况居多吧。Mosek的MATLAB Tool还是比较方便的,你可以尝试一下,它的Manual写得确实有点专业,不过,对于学习是有帮助的。
LINGO的Barrier Solver一直采用的就是Mosek ApS提供的Interior-Point Method,不过,据我的使用经验来看,效率比原装的低一点。Mosek最擅长的就是求解SOCP问题了,以Benchmark test看,其求解二次规划问题效率还是能排前5的,或许综合前3也说不定。
LINGO求解某些问题的效率确实不是很高,这点我的感触比较深。
有机会常来论坛发帖讨论下Mosek吧,不错的软件,好好学习。
不是LINGO的问题,看我的签名。
页:
[1]