lingo运行效率是每个建模人都必须关注的问题,选择不当将造成非常terrible的效果,例如今天老师演示了一个lingo程序,运行了半个多小时,即将下课,尚未出结果,究其原因,在于有一个约束函数为间断且非单调的,将其进行改善,化为了连续且严格单调的函数,结果运行效率大大提高,仅仅四分钟就完成了求解(参照文章谈数学建模活动的开展与高等数学的教学),由此,我收集归纳总结出了lingo的几种加快运行效率的方法,希望可以对大家有帮助:
需要特别注意的是,下面的转化都必须要在满足对结果无影响或者说影响可以忽略的情况下:
一、如上例所示,化间断的、非单调的函数为光滑严格单调的函数
二、化整数约束或整数变量为实数型,这个原因是取决于lingo处理数据的方法
三、化非线性规划为线性规划,如x/y<10可化为x<10.0*y,原因大家懂的
四、给出变量的初始值,这样一般情况下lingo寻找最优解得迭代步数会大大减小,其运行效率自然快速提升