文档详情

Lindo软件的基本使用方法.doc

发布:2017-12-17约2.8千字共9页下载文档
文本预览下载声明
Lindo软件入门 编写一个简单的Lindo程序 下面通过一个简单的例子,说明如何编写、运行一个Lindo程序的完整过程. 例2.1 求解下面的简单线性规划(LP)问题: 我们可以直接在untitled这个新的、空白的模型窗口中输入这个LP模型: 图2-1 输入一个简单的优化模型 我们看到这段程序有以下特点: 这个Lindo程序以“max”开头,表示目标是最大化问题(容易想到,对于最小化问题,自然以“min”开头),后面直接写出目标函数的表达式和约束的表达式(目标函数和约束之间用“ST”分开)程序以“end”结尾(end也可以省略); 名称 含义 Status(当前状态) 显示当前求解状态:“optimal”表示已经达到最优解;其它可能的显示还有:feasible,infeasible,unbounded Interations(迭代次数) 显示迭代次数,2表示已经迭代了两次 Infeasible(不可行性) 约束不满足的量(即各个约束条件不满足的“数量”的和;特别注意不是“不满足的约束的个数”):“0”表示这个解是可行的 Objective(当前的目标值) 目标函数显示的值为:7.45455 Best IP(整数规划当前的最佳目标值) 显示整数规划当前的最佳目标值:“N/A”(No anwser或Not Applicable)表示无答案或无意义,因为整个模型中没有整数变量,不是整数规划 IP bound(整数规划的界) 显示整数规划的界(对最大化问题显示上界;对最小化问题显示下界):“N/A”含义同上 Branches(分支数) 显示分支定界算法已经计算的分支数:“N/A”含义同上 Elapsed time(所用时间) 显示计算所用时间(单位:s)“0.00”表示计算太快了,用时还不到0.05秒 Update Interval(刷新本界面的时间间隔) 显示和控制刷新本界面的时间间隔:“1”表示“1s”;用户可以在界面上修改该时间 Interrupt Solver(中断求解程序) 当模型规模比较大时(尤其对整数规划),可能求解时间会很长,如果不想再等待下去,可以在程序运行时单击此按钮中断运行 Close(关闭) 该按钮只是关闭窗口,不终止计算.如果你关闭了状态窗口,可以在Window|open Staus Window菜单命令来打开它 这个对话框询问你是否需要作灵敏性分析(DO RANGE(SENS- ITIVITY)ANALYSIS?) Lindo的结果报告窗口 “LP OPTIMUM FOUND AT STEP 2”表示单纯形法在两次迭代(旋转)后得到最优解; “OBJECTIVE FUNCTION VALUE 1) 7.454545 表示最优目标值为7.454545(注意:Lindo中目标函数所在的行总是被认为是第1行,这就是这里1)的含义). “VALUE”给出最优解中各变量(VARIABLE)的值: “REDUCED COST”给出最优的单纯形表中目标函数(第1行)中变量对应的系数(即各个变量的检验数(也称为判别数)).其中,基变量的REDUCED COST值一定为0;对于非基变量(注意:非基变量本身取值一定为0),相应的REDUCED COST值表示当该非基变量增加一个单位(其他非基变量保持不变)时目标函数减少的量(对Max问题). “SLACK OR SURPLUS(松弛或剩余)”给出约束对应的松弛变量的值:第2,3行松弛变量均为0,说明对最优解来说。两个约束(第2、3行)均取等号,即都是紧约束. “DUAL PRICES”给出对偶价格的值:第2、3行对偶价格分别为:0.090909,0.545455. “NO. ITERATIONS=2”表示用单纯形算法进行了两次迭代(旋转). 一些注意事项 Lindo中的变量名由数字和字母组成,但必须以字母开头,且长度不能超过8个字符.Lindo中不区分大小写。包括LINDO中的关键字也不区分大小写. 可以在模型的End后面用命令“SUB(即设置上界(set upper bound)的英文缩写)设置变量的上界,用命令“SLB”设置变量的下界,其用法是:sub vname value,将变量vname的上限设置为value. Sub x1 10 !作用等价于x1=10 但用SUB和SLB表示上下界约束不计入模型的约束,因此LINDO也不能给出其松紧约束和敏感性分析. (3)简单错误的检查和避免 当你将一个线性规划问题的数学模型输入LINDO系统时,如果有错误,可以使用如下命令:Report|Picture(Alt+5),它的功
显示全部
相似文档