一般情况下,只有在线性规划以及非线性凸规划问题中(但不包括整数约束),我们不必对Lingo给出的解进行额外的考虑,因为他们都是全局最优解(如果存在的话)。但是,整数规划以及一般的非线性规划求解起来都比较困难,不仅仅是Lingo,任何其它规划软件都一样,这是由问题本身所造成的,还有计算机浮点计算的问题!
对于任何类型的问题,Lingo可以自动识别模型的类型,并选择最佳的求解器进行求解,可以认为线性规划求解器和两次规划求解器是比较有效的(两次识别功能需要在Lingo—>Option—>Nonlinear Solver—>strategies—>Quadratic Recogniziton选中,当Lingo识别到问题是两次规划问题,将使用有效的两次规划求解器)。对于非凸的非线性规划问题,只能通过使用全局求解器,选择多初始点求解,给出好的初始点来改进解的质量,另外,当我们能够缩小变量的取值范围时,使用变量范围约束也可能改进解的质量(因为减小了搜索范围)。
理论上,约束的位置是不会改变最优解的取值,但是前提是Lingo能够找到全局最优解,如果不是这样的话,约束的位置会改变搜索的路径,在没有达到最优解时停止下来当然会得出不同的局部极值点!还有比较经常遇到的问题就是在整数规划中的关于变量何时达到整数的规定。
对于你的全局求解器无法使用问题,可能是你使用的是Demo版本,如果想查看你的版本权限,选择Help—>
About Lingo,查看Limits for this Installation即可。作者: 瓦片 时间: 2012-5-20 22:50
you are so helpful。。。。。非常谢谢。也就是即便约束变量只能取整数,结果变量也肯能出现是整数?此外对于一模一样的大规模问题求解程序。。。不同运行居然有相差比较大的可行解(相同时间点),why?那个解的界是如何求出的,因为和可行解有很大的距离。谢谢。作者: 瓦片 时间: 2012-5-20 22:52
you are so helpful。。。。。非常谢谢。也就是即便约束变量只能取整数,结果变量也肯能出现是整数?此外对于一模一样的大规模问题求解程序。。。不同运行居然有相差比较大的可行解(相同时间点),why?那个解的界是如何求出的,因为和可行解有很大的距离。谢谢。额,如何判断目标函数是不是凸的呢?取初始解的方法有?启发式?作者: 瓦片 时间: 2012-5-22 17:47