
《运筹学》实验指导
《运筹学》实验指导

目录绪论23第一章LINGO软件介绍15第二章常见模型的LINGO编程15第1节线性规划问题的LINGO求解及灵敏度分析151.1线性规划的LINGO编程171.2灵敏度分析第2节运输问题的LINGO求解1922第3节整数规划的LINGO求解223.1整数规划的LIGNO实现233.2指派问题的LIGNO实现第三章上机实验2424实验一线性规划问题的求解与LINGO软件的初步使用25实验二运输问题的LINGO求解25实验三整数规划0-1规划和指派问题的LINGO求解实验四26自选题实验27附录实验报告模板-
1 目录 绪论 . 2 第一章 LINGO 软件介绍 . 3 第二章 常见模型的 LINGO 编程 . 15 第 1 节 线性规划问题的 LINGO 求解及灵敏度分析 . 15 1.1 线性规划的 LINGO 编程 . 15 1.2 灵敏度分析 . 17 第 2 节 运输问题的 LINGO 求解 . 19 第 3 节 整数规划的 LINGO 求解 . 22 3.1 整数规划的 LIGNO 实现 . 22 3.2 指派问题的 LIGNO 实现 . 23 第三章 上机实验 . 24 实验一 线性规划问题的求解与 LINGO 软件的初步使用 . 24 实验二 运输问题的 LINGO 求解 . 25 实验三 整数规划 0-1 规划和指派问题的 LINGO 求解 . 25 实验四 自选题实验 . 26 附录 实验报告模板. 27

绪论运筹学是一门应用学科,它广泛应用于经济、军事、交通和管理等社会的各个领域。运筹学应用现代科学技术知识、用定量分析的方法,解决实际中提出的问题,为决策者选择最优决策,提供定量依据。运筹学通常是从实际问题出发,根据决策问题的特征,建立适当的数学模型,研究和分析模型的性质和特点,设计解决模型的方法或算法来解决实际问题在解决生产、经营和管理活动中的实际决策问题时,一般都是建立变量多、约束多的大型复杂的运筹学模型,通常需通过计算机软件才能求解。因此,学习运筹学的计算机求解和进行上机实验,就是运筹学教学的重要组成部分。现在求解各类运筹学模型的软件有多种,主要有Microexcel,Matlab,LINDO,LINGO,WinQSB和Dash-Xpress等。Microexcel主要利用规划求解来解线性规划模型,WinQSB功能比较齐全,但是主要适合解决规模较小的运筹学模型,英国运筹学软件Dash-Xpress目前在中国的使用率不高,Matlab是通过矩阵的方法解决线性规划,对非线性规划和其它运筹学模型,特别是大规模的模型的输入不太方便。而LINGO和LINDO是目前使用最广泛的运筹学专业软件,特别是LINGO,模型的输入和编程十分方便,可解决大规模的运筹学模型。因此,本课程的上机实验就是基于LINGO软件开展进行。LINGO软件由美国LINDO系统公司推出,它内置建模语言,可以求解线形规划、整数规划、非线性规划等各类优化模型,还可以求解一些线性、非线性方程组,功能非常强大又易用。相比较于其他软件而言,其优点在于:1)LINGO软件基于WindoWs界面开发,编程语言简洁易学,学生容易掌握,可以弥补运筹学实验课时少的不足。对决策变量和约束条件较少的数学规划模型,LINGO软件的输入程序命令几乎和其数学模型的表达式相同。对相对比较复杂的数学模型,LINGO软件引入了集合和属性等建模语言,借此能够表达一系列相似的约束条件,从而可以快速方便地表达较大规模的优化问题。2)LINGO软件的数据输入和输出非常方便,建立的模型可以通过Windows剪贴板传递数据,也可以直接从文本文件或Excel数据文件中获取资料,或将求解结果直接输出到这些数据文件中。3)LINGO软件有9种类型的函数,包括基本运算符,一些常规的数学函数、用来定义变量取值范围的变量界定函数、方便集操作的集操作函数和集循环函数、与外部数据源联系的数据输入输出函数等,可供编写程序时引用,用法非常简单。2
2 绪论 运筹学是一门应用学科,它广泛应用于经济、军事、交通和管理等社会的各 个领域。运筹学应用现代科学技术知识、用定量分析的方法,解决实际中提出的 问题,为决策者选择最优决策,提供定量依据。 运筹学通常是从实际问题出发,根据决策问题的特征,建立适当的数学模型, 研究和分析模型的性质和特点,设计解决模型的方法或算法来解决实际问题。 在解决生产、经营和管理活动中的实际决策问题时,一般都是建立变量多、 约束多的大型复杂的运筹学模型,通常需通过计算机软件才能求解。因此,学习 运筹学的计算机求解和进行上机实验,就是运筹学教学的重要组成部分。 现在求解各类运筹学模型的软件有多种,主要有 Microexcel,Matlab, LINDO,LINGO,WinQSB 和 Dash-Xpress 等。Microexcel 主要利用规划求解 来解线性规划模型,WinQSB 功能比较齐全,但是主要适合解决规模较小的运 筹学模型,英国运筹学软件 Dash-Xpress 目前在中国的使用率不高,Matlab 是 通过矩阵的方法解决线性规划,对非线性规划和其它运筹学模型,特别是大规 模的模型的输入不太方便。而 LINGO 和 LINDO 是目前使用最广泛的运筹学专 业软件,特别是 LINGO,模型的输入和编程十分方便,可解决大规模的运筹学 模型。因此,本课程的上机实验就是基于 LINGO 软件开展进行。 LINGO 软件由美国 LINDO 系统公司推出,它内置建模语言,可以求解线 形规划、整数规划、非线性规划等各类优化模型,还可以求解一些线性、非线 性方程组,功能非常强大又易用。相比较于其他软件而言,其优点在于: 1)LINGO 软件基于 Windows 界面开发,编程语言简洁易学,学生容易掌 握,可以弥补运筹学实验课时少的不足。对决策变量和约束条件较少的数学规 划模型,LINGO 软件的输入程序命令几乎和其数学模型的表达式相同。对相对 比较复杂的数学模型,LINGO 软件引入了集合和属性等建模语言,借此能够表 达一系列相似的约束条件,从而可以快速方便地表达较大规模的优化问题。 2)LINGO 软件的数据输入和输出非常方便,建立的模型可以通过 Windows 剪贴板传递数据,也可以直接从文本文件或 Excel 数据文件中获取资 料,或将求解结果直接输出到这些数据文件中。 3)LINGO 软件有 9 种类型的函数,包括基本运算符,一些常规的数学函 数、用来定义变量取值范围的变量界定函数、方便集操作的集操作函数和集循 环函数、与外部数据源联系的数据输入输出函数等,可供编写程序时引用,用 法非常简单

4)LINGO拥有一整套快速的,内建的求解器用来求解线性的,非线性的,二次约束的和整数的优化问题,计算速度快,解算能力强大,其优化工具箱要比MATLAB强大。可以看到,LINGO软件相对其他软件的优越之处,一是语言的简练;二是集的合理使用。下面的章节我们将逐步了解LINGO的用途。第一章LINGO软件介绍1.文件菜单(FileMenu)1.1新建(New)从文件菜单中选用“新建”命令、单击新建”按钮或直接按F2键可以创建一个新的Model"窗口。在这个新的"Model"窗口中能够输入所要求解的模型。1.2打开(Open)从文件菜单中选用“打开”命令、单击打开”按钮或直接按F3键可以打开一个已经存在的文本文件。这个文件可能是一个Model文件。1.3保存(Save)从文件菜单中选用保存”命令、单击“保存”按钮或直接按F4键用来保存当前活动窗口(最前台的窗口)中的模型结果、命令序列等保存为文件。1.4另存为..(SaveAs...)从文件菜单中选用另存为..:"命令或按F5键可以将当前活动窗口中的内容保存为文本文件,其文件名为你在“另存为..:对话框中输入的文件名。利用这种方法你可以将任何窗口的内容如模型、求解结果或命令保存为文件。1.5关闭(Close)在文件菜单中选用“关闭"(Close)命令或按F6键将关闭当前活动窗口。如果这个窗口是新建窗口或已经改变了当前文件的内容,LINGO系统将会提示是否想要保存改变后的内容。1.6打印(Print)在文件菜单中选用打印"(Print)命令、单击“打印"按钮或直接按F7键可以将当前活动窗口中的内容发送到打印机。1.7打印设置(PrintSetup...)在文件菜单中选用打印设置.:"命令或直接按F8键可以将文件输出到指定的打印机。3
3 4)LINGO 拥有一整套快速的,内建的求解器用来求解线性的,非线性 的,二次约束的和整数的优化问题,计算速度快,解算能力强大,其优化工具 箱要比 MATLAB 强大。 可以看到,LINGO 软件相对其他软件的优越之处,一是语言的简练;二是 集的合理使用。下面的章节我们将逐步了解 LINGO 的用途。 第一章 LINGO 软件介绍 1. 文件菜单(File Menu) 1. 1 新建(New) 从文件菜单中选用“新建”命令、单击“新建”按钮或直接按 F2 键可以创建一 个新的“Model”窗口。在这个新的“Model”窗口中能够输入所要求解的模型。 1. 2 打开(Open) 从文件菜单中选用“打开”命令、单击“打开”按钮或直接按 F3 键可以打开一 个已经存在的文本文件。这个文件可能是一个 Model 文件。 1. 3 保存(Save) 从文件菜单中选用“保存”命令、单击“保存”按钮或直接按 F4 键用来保存当 前活动窗口(最前台的窗口)中的模型结果、命令序列等保存为文件。 1. 4 另存为...(Save As...) 从文件菜单中选用“另存为...”命令或按 F5 键可以将当前活动窗口中的内 容保存为文本文件,其文件名为你在“另存为...”对话框中输入的文件名。利用 这种方法你可以将任何窗口的内容如模型、求解结果或命令保存为文件。 1. 5 关闭(Close) 在文件菜单中选用“关闭”(Close)命令或按 F6 键将关闭当前活动窗口。如果 这个窗口是新建窗口或已经改变了当前文件的内容,LINGO 系统将会提示是否 想要保存改变后的内容。 1. 6 打印(Print) 在文件菜单中选用“打印” (Print)命令、单击“打印”按钮或直接按 F7 键可以 将当前活动窗口中的内容发送到打印机。 1. 7 打印设置(Print Setup...) 在文件菜单中选用“打印设置...”命令或直接按 F8 键可以将文件输出到指 定的打印机

1.8打印预览(PrintPreview)在文件菜单中选用打印预览...”命令或直接按Shift+F8键可以进行打印预览。1.9输出到日志文件(LogOutput...)从文件菜单中选用"LogOutput..."命令或按F9键打开一个对话框,用于生成一个日志文件,它存储接下来在“命令窗口”中输入的所有命令。1.10提交LINGO命令脚本文件(TakeCommands...)从文件菜单中选用TakeCommands..·"命令或直接按F11键就可以将LINGO命令脚本(commandscript)文件提交给系统进程来运行。1.11引入LINGO文件(ImportLingoFile...)从文件菜单中选用"ImportLingoFile..."命令或直接按F12键可以打开一个LINGO格式模型的文件,然后LINGO系统会尽可能把模型转化为LINGO语法允许的程序。1.12退出(Exit)从文件菜单中选用"Exit"命令或直接按F10键可以退出LINGO系统。2.编辑菜单(EditMenu)2.1恢复(Undo)从编辑菜单中选用恢复”(Undo)命令或按Ctrl+Z组合键,将撤销上次操作、恢复至其前的状态。2.2剪切(Cut)从编辑菜单中选用剪切”(Cut)命令或按Ctrl+X组合键可以将当前选中的内容剪切至剪贴板中。2.3复制(Copy)从编辑菜单中选用"复制”(Copy)命令、单击"复制"按钮或按Ctrl+C组合键可以将当前选中的内容复制到剪贴板中。2.4粘贴(Paste)从编辑菜单中选用粘贴”(Paste)命令、单击粘贴"按钮或按Ctrl+V组合键可以将粘贴板中的当前内容复制到当前插入点的位置。2.5粘贴特定..(PasteSpecial。。)与上面的命令不同,它可以用于剪贴板中的内容不是文本的情形。2.6全选(SelectAll)从编辑菜单中选用SelectAll"命令或按Ctrl+A组合键可选定当前窗口中的所有内容。4
4 1. 8 打印预览(Print Preview) 在文件菜单中选用“打印预览...”命令或直接按 Shift+F8 键可以进行打印预 览。 1. 9 输出到日志文件(Log Output...) 从文件菜单中选用“Log Output...”命令或按 F9 键打开一个对话框,用于生 成一个日志文件,它存储接下来在“命令窗口”中输入的所有命令。 1. 10 提交 LINGO 命令脚本文件(Take Commands...) 从文件菜单中选用“Take Commands...”命令或直接按 F11 键就可以将 LINGO 命令脚本(command script)文件提交给系统进程来运行。 1. 11 引入 LINGO 文件(Import Lingo File...) 从文件菜单中选用“Import Lingo File...”命令或直接按 F12 键可以打开一个 LINGO 格式模型的文件,然后 LINGO 系统会尽可能把模型转化为 LINGO 语法 允许的程序。 1. 12 退出(Exit) 从文件菜单中选用“Exit”命令或直接按 F10 键可以退出 LINGO 系统。 2. 编辑菜单(Edit Menu) 2. 1 恢复(Undo) 从编辑菜单中选用“恢复”(Undo)命令或按 Ctrl+Z 组合键,将撤销上次操 作、恢复至其前的状态。 2. 2 剪切(Cut) 从编辑菜单中选用“剪切”(Cut)命令或按 Ctrl+X 组合键可以将当前选中的 内容剪切至剪贴板中。 2. 3 复制(Copy) 从编辑菜单中选用“复制”(Copy)命令、单击“复制”按钮或按 Ctrl+C 组合键 可以将当前选中的内容复制到剪贴板中。 2. 4 粘贴(Paste) 从编辑菜单中选用“粘贴”(Paste)命令、单击“粘贴”按钮或按 Ctrl+V 组合键 可以将粘贴板中的当前内容复制到当前插入点的位置。 2. 5 粘贴特定.(Paste Special。) 与上面的命令不同,它可以用于剪贴板中的内容不是文本的情形。 2. 6 全选(Select All) 从编辑菜单中选用“Select All”命令或按 Ctrl+A 组合键可选定当前窗口中的 所有内容

2.7匹配小括号(MatchParenthesis)从编辑菜单中选用“MatchParenthesis"命令、单击"MatchParenthesis"按钮或按Ctrl+P组合键可以为当前选中的开括号查找匹配的闭括号。2.8粘贴函数(PasteFunction)从编辑菜单中选用PasteFunction"命令可以将LINGO的内部函数粘贴到当前插入点。3.LINGO菜单3.1求解模型(Slove)从LINGO菜单中选用求解"命令、单击“Slove按钮或按Ctrl+S组合键可以将当前模型送入内存求解。3.2求解结果...(Solution...)从LINGO菜单中选用"Solution..."命令、单击Solution..."按钮或直接按Ctrl+O组合键可以打开求解结果的对话框。这里可以指定查看当前内存中求解结果的那些内容。3.3查看...(Look...)从LINGO菜单中选用"Look..:"命令或直接按Ctrl+L组合键可以查看全部的或选中的模型文本内容。3.4灵敏性分析(Range,Ctrl+R)用该命令产生当前模型的灵敏性分析报告:研究当目标函数的费用系数和约束右端项在什么范围(此时假定其它系数不变)时,最优基保持不变。灵敏性分析是在求解模型时作出的,因此在求解模型时灵敏性分析是激活状态,但是默认是不激活的。为了激活灵敏性分析,运行LINGOOptions...,选择GeneralSolverTab,在DualComputations列表框中,选择PricesandRanges选项。灵敏性分析耗费相当多的求解时间,因此当速度很关键时,就没有必要激活它。3.5模型通常形式...(Generate...)从LINGO菜单中选用Generate..."命令或直接按Ctrl+G组合键可以创建当前模型的代数形式、LINGO模型或MPS格式文本。3.6选项...(Options...)从LINGO菜单中选用"Options..·"命令、单击"Options.·."按钮或直接按Ctrl+I组合键可以改变一些影响LINGO模型求解时的参数。该命令将打开一个含有7个选项卡的窗口,你可以通过它修改LINGO系统的各种参数和选项。5
5 2. 7 匹配小括号(Match Parenthesis) 从编辑菜单中选用“Match Parenthesis”命令、单击“Match Parenthesis”按钮或 按 Ctrl+P 组合键可以为当前选中的开括号查找匹配的闭括号。 2. 8 粘贴函数(Paste Function) 从编辑菜单中选用“Paste Function”命令可以将 LINGO 的内部函数粘贴到当 前插入点。 3. LINGO 菜单 3. 1 求解模型(Slove) 从 LINGO 菜单中选用“求解”命令、单击“Slove”按钮或按 Ctrl+S 组合键可以 将当前模型送入内存求解。 3. 2 求解结果...(Solution...) 从 LINGO 菜单中选用“Solution...”命令、单击“Solution...”按钮或直接按 Ctrl+O 组合键可以打开求解结果的对话框。这里可以指定查看当前内存中求解 结果的那些内容。 3. 3 查看...(Look...) 从 LINGO 菜单中选用“Look...”命令或直接按 Ctrl+L 组合键可以查看全部 的或选中的模型文本内容。 3. 4 灵敏性分析(Range,Ctrl+R) 用该命令产生当前模型的灵敏性分析报告:研究当目标函数的费用系数和约 束右端项在什么范围(此时假定其它系数不变)时,最优基保持不变。灵敏性分 析是在求解模型时作出的,因此在求解模型时灵敏性分析是激活状态,但是默认 是不激活的。为了激活灵敏性分析,运行 LINGO|Options.,选择 General Solver Tab, 在 Dual Computations 列表框中,选择 Prices and Ranges 选项。灵敏性分析 耗费相当多的求解时间,因此当速度很关键时,就没有必要激活它。 3. 5 模型通常形式...(Generate...) 从 LINGO 菜单中选用“Generate...”命令或直接按 Ctrl+G 组合键可以创建 当前模型的代数形式、LINGO 模型或 MPS 格式文本。 3. 6 选项...(Options...) 从 LINGO 菜单中选用“Options...”命令、单击“Options...”按钮或直接按 Ctrl+I 组合键可以改变一些影响 LINGO 模型求解时的参数。该命令将打开一个 含有 7 个选项卡的窗口,你可以通过它修改 LINGO 系统的各种参数和选项

修改完以后,你如果单击“Apply(应用)"按钮,则新的设置马上生效;如果单击OK(确定)"按钮,则新的设置马上生效,并且同时关闭该窗口。如果单击“Save(保存)按钮,则将当前设置变为默认设置,下次启动LINGO时这些设置仍然有效。单击“Default(缺省值)"按钮,则恢复LINGO系统定义的原始默认设置(缺省设置)。(1)Interface(界面)选项卡选项组选项含义如果选择该选项,求解程序遇到错误时将打开一个对Errors In话框显示错误,你关闭该对话框后程序才会继续执Dialogs(错误对话行:否则,错误信息将在报告窗口显示,程序仍会继框)续执行如果选择该选项,则LINGO每次启动时会在屏幕上弹Splash Screen出一个对话框,显示LINGO的版本和版权信息:否则(弹出屏幕)不弹出Status Bar如果选择该选项,则LINGO系统在主窗口最下面一行General(状态栏)显示状态栏:否则不显示(一般选如果选择该选项,则LINGO系统每次运行项)Status WindowLINGO|Solve命令时会在屏幕上弹出状态窗口:否则(状态窗口)不弹出Terse Output如果选择该选项,则LINGO系统对求解结果报告等将(简洁输出)以简洁形式输出:否则以详细形式输出Toolbar如果选择该选项,则显示工具栏;否则不显示(工具栏)Solution Cutoff小于等于这个值的解将报告为“0”(缺省值是109)(解的截断)lg4(extended)模型文件的缺省保存格式是1g4格式(这是一种二进(1g4,扩展格File制文件,只有LINGO能读出)式)FormatIng(text(文件格only)式)模型文件的缺省保存格式是lng格式(纯文本)(lng,纯文本格式)
6 修改完以后,你如果单击“Apply(应用)”按钮,则新的设置马上生效;如果 单击“OK(确定)”按钮,则新的设置马上生效,并且同时关闭该窗口。如果单击 “Save(保存)”按钮,则将当前设置变为默认设置,下次启动 LINGO 时这些设 置仍然有效。单击“Default(缺省值)”按钮,则恢复 LINGO 系统定义的原始默 认设置(缺省设置)。 (1)Interface(界面)选项卡 选项组 选项 含义 General (一般选 项) Errors In Dialogs(错误对话 框) 如果选择该选项,求解程序遇到错误时将打开一个对 话框显示错误,你关闭该对话框后程序才会继续执 行;否则,错误信息将在报告窗口显示,程序仍会继 续执行 Splash Screen (弹出屏幕) 如果选择该选项,则 LINGO 每次启动时会在屏幕上弹 出一个对话框,显示 LINGO 的版本和版权信息;否则 不弹出 Status Bar (状态栏) 如果选择该选项,则 LINGO 系统在主窗口最下面一行 显示状态栏;否则不显示 Status Window (状态窗口) 如果选择该选项,则 LINGO 系统每次运行 LINGO|Solve 命令时会在屏幕上弹出状态窗口;否则 不弹出 Terse Output (简洁输出) 如果选择该选项,则 LINGO 系统对求解结果报告等将 以简洁形式输出;否则以详细形式输出 Toolbar (工具栏) 如果选择该选项,则显示工具栏;否则不显示 Solution Cutoff (解的截断) 小于等于这个值的解将报告为“0”(缺省值是 10- 9) File Format (文件格 式) lg4 (extended) (lg4,扩展格 式) 模型文件的缺省保存格式是 lg4 格式(这是一种二进 制文件,只有 LINGO 能读出) lng (text only) (lng,纯文本格 式) 模型文件的缺省保存格式是 lng 格式(纯文本)

语法配色的行数限制(缺省为1000)。LINGO模型窗Line limit口中将LINGO关键此显示为兰色,注释为绿色,其他(行数限制)为黑色,超过该行数限制后则不再区分颜色。特别Syntax地,设置行数限制为0时,整个文件不再区分颜色。Coloring设置语法配色的延迟时间(秒,缺省为0,从最后一Delay(延迟)(语法配次击键算起)。色)Paren Match如果选择该选项,则模型中当前光标所在处的括号及(括号匹配)其相匹配的括号将以红色显示:否则不使用该功能SendReports toCommand Window如果选择该选项,则输出信息会发送到命令窗口:否(报告发送到命令则不使用该功能窗口)如果选择该选项,则用File|TakeCommand命令执行Echo InputCommand命令脚本文件时,处理信息会发送到命令窗口:否则(输入信息反馈)Window不使用该功能(命令窗Line Count命令窗口能显示的行数的最大值为Maximum(缺省为口Limits800):如果要显示的内容超过这个值,每次从命令窗(行数限制)口滚动删除的最小行数为Minimum(缺省为400)命令窗口每次显示的行数的最大值为Length(缺省为Page Size Limit没有限制),显示这么多行后会暂停,等待用户响应:每行最大字符数为Width(缺省为74,可以设定(页面大小限制)为64-200之间),多余的字符将被截断(2)GeneralSolver(通用求解器)选项卡选项组选项含义缺省值为32M,矩阵生成器使用的内存超过该限Generator MemoryLimit(MB)制,LINGo将报告Themodelgenerator ran out矩阵生成器的内存限制(兆)of memory"Iterations求解一个模型时,允许的最大选代次数(缺省值为送代次数无限)Runtime LimitsTime (sec)运行限制求解一个模型时,允许的最大运行时间(缺省值为运行时间无限)(秒)7
7 Syntax Coloring (语法配 色) Line limit (行数限制) 语法配色的行数限制(缺省为 1000)。LINGO 模型窗 口中将 LINGO 关键此显示为兰色,注释为绿色,其他 为黑色,超过该行数限制后则不再区分颜色。特别 地,设置行数限制为 0 时,整个文件不再区分颜色。 Delay (延迟) 设置语法配色的延迟时间(秒,缺省为 0,从最后一 次击键算起)。 Paren Match (括号匹配) 如果选择该选项,则模型中当前光标所在处的括号及 其相匹配的括号将以红色显示;否则不使用该功能 Command Window (命令窗 口) Send Reports to Command Window (报告发送到命令 窗口) 如果选择该选项,则输出信息会发送到命令窗口;否 则不使用该功能 Echo Input (输入信息反馈) 如果选择该选项,则用 File|Take Command 命令执行 命令脚本文件时,处理信息会发送到命令窗口;否则 不使用该功能 Line Count Limits (行数限制) 命令窗口能显示的行数的最大值为 Maximum(缺省为 800);如果要显示的内容超过这个值,每次从命令窗 口滚动删除的最小行数为 Minimum(缺省为 400) Page Size Limit (页面大小限制) 命令窗口每次显示的行数的最大值为 Length(缺省为 没有限制),显示这么多行后会暂停,等待用户响 应;每行最大字符数为 Width(缺省为 74,可以设定 为 64-200 之间),多余的字符将被截断 (2)General Solver(通用求解器)选项卡 选项组 选项 含义 Generator Memory Limit (MB) 矩阵生成器的内存限制(兆) 缺省值为 32M,矩阵生成器使用的内存超过该限 制,LINGO 将报告"The model generator ran out of memory" Runtime Limits 运行限制 Iterations 迭代次数 求解一个模型时,允许的最大迭代次数(缺省值为 无限) Time (sec) 运行时间 (秒) 求解一个模型时,允许的最大运行时间(缺省值为 无限)

求解时控制对偶计算的级别,有三种可能的设置:·None:不计算任何对偶信息;Dual Computations·Prices:计算对偶价格(缺省设置);(对偶计算)·PricesandRanges:计算对偶价格并分析敏感性。控制重新生成模型的频率,有三种可能的设置:·Onlywhentextchanges:只有当模型的文本修改后才再生成模型;Model Regeneration.When text changes or with external(模型的重新生成)references:当模型的文本修改或模型含有外部引用时(缺省设置):·Always:每当有需要时。决定求解模型时线性化的程度,有四种可能的设置:SolverDecides:若变量数小于等于12个,则尽可能全部线性化:否则不做任何线性化(缺省设置)Degree·None:不做任何线性化(线性化程·LOW:对函数@ABSO,@MAXO,@MIN),@SMAXO,度)@SMINO,以及二进制变量与连续变量的乘积项做线Linearization性化(线性化)·High:同上,此外对逻辑运算符#LE#,#EQ#,#GE#,#NE#做线性化BigM(线性化的大M系设置线性化的大M系数(缺省值为10°)。数)Delta(线性设置线性化的误差限(缺省值为10)化的误差限)AllowUnrestricted Use of选择该选项可以保持与LINGO4.0以前的版本兼容:即允许使用基本集合的成员名称直接作为该成员在Primitive Set MemberNames(允许无限制地使用基本集合的该集合的索引值(LINGO4.0以后的版本要求使用成员名)@INDEX函数)。Check for Duplicate Names in选择该选项,LINGO将检查数据和模型中的名称是否Data andModel(检查数据和模型重复使用,如基本集合的成员名是否与决策变量名中的名称是否重复使用)重复。8
8 Dual Computations (对偶计算) 求解时控制对偶计算的级别,有三种可能的设置: ·None: 不计算任何对偶信息; ·Prices:计算对偶价格(缺省设置); ·Prices and Ranges:计算对偶价格并分析敏感 性。 Model Regeneration (模型的重新生成) 控制重新生成模型的频率,有三种可能的设置: ·Only when text changes:只有当模型的文本修 改后才再生成模型; ·When text changes or with external references:当模型的文本修改或模型含有外部引 用时(缺省设置); ·Always:每当有需要时。 Linearization (线性化) Degree (线性化程 度) 决定求解模型时线性化的程度,有四种可能的设 置: Solver Decides:若变量数小于等于 12 个,则尽可 能全部线性化;否则不做任何线性化(缺省设置) ·None:不做任何线性化 ·Low:对函数@ABS(), @MAX(), @MIN(), @SMAX(), @SMIN(),以及二进制变量与连续变量的乘积项做线 性化 ·High:同上,此外对逻辑运算符#LE#, #EQ#, #GE#, #NE#做线性化 Big M(线性 化的大 M 系 数) 设置线性化的大 M 系数(缺省值为 106)。 Delta(线性 化的误差限) 设置线性化的误差限(缺省值为10-6)。 Allow Unrestricted Use of Primitive Set Member Names (允许无限制地使用基本集合的 成员名) 选择该选项可以保持与 LINGO4.0 以前的版本兼容: 即允许使用基本集合的成员名称直接作为该成员在 该集合的索引值(LINGO4.0 以后的版本要求使用 @INDEX 函数)。 Check for Duplicate Names in Data and Model(检查数据和模型 中的名称是否重复使用) 选择该选项,LINGO 将检查数据和模型中的名称是否 重复使用,如基本集合的成员名是否与决策变量名 重复

UseR/CformatnamesforMPS在MPS文件格式的输入输出中,将变量和行名转换I/O(在MPS文件格式的输入输为R/C格式出中使用R/C格式的名称)(3)LinearSolver(线性求解器)选项卡选项组选项含义求解时的算法,有四种可能的设置:·SolverDecides:LINGO自动选择算法Method(缺省设置)求解方法·PrimalSimplex:原始单纯形法·DualSimplex:对偶单纯形法·Barrier:障碍法(即内点法)Initial Linear Feasibility控制线性模型中约束满足的初始误差限(缺省值为3*10*)Tol初始线性可行性误差限Final Linear Feasibility控制线性模型中约束满足的最后误差限(缺省值为107)Tol.最后线性可行性误差限控制是否检查模型中的无关变量,从而降低模型的规模:Model Reduction·Off:不检查模型降维On:检查·SolverDecides:LINGO自动决定(缺省设置)有三种可能的设置:·SolverDecides:LINGO自动决定(缺省设置)Primal·Partial:LINGO对一部分可能的出基变量进行尝试SolverPricing原始单纯形法·Devex:用Steepest-Edge(最陡边)近似算法对所Strategies有可能的变量进行尝试,找到使目标值下降最多的出价格策略(决基变量定出基变量的有三种可能的设置:策略)·SolverDecides:LINGO自动决定(缺省设置)Dual Solver·Dantzig:按最大下降比例法确定出基变量对偶单纯形法·Steepest-Edge:最陡边策略,对所有可能的变量进行尝试,找到使目标值下降最多的出基变量选择该选项,LINGO将尝试将一个大模型分解为几个Matrix Decomposition9
9 Use R/C format names for MPS I/O (在 MPS 文件格式的输入输 出中使用 R/C 格式的名称) 在 MPS 文件格式的输入输出中,将变量和行名转换 为 R/C 格式 (3)Linear Solver(线性求解器)选项卡 选项组 选项 含义 Method 求解方法 求解时的算法,有四种可能的设置: ·Solver Decides:LINGO 自动选择算法 (缺省设置) ·Primal Simplex:原始单纯形法 ·Dual Simplex:对偶单纯形法 ·Barrier: 障碍法 (即内点法) Initial Linear Feasibility Tol 初始线性可行性误差限 控制线性模型中约束满足的初始误差限(缺省值为 3*10-6) Final Linear Feasibility Tol. 最后线性可行性误差限 控制线性模型中约束满足的最后误差限(缺省值为 10-7) Model Reduction 模型降维 控制是否检查模型中的无关变量,从而降低模型的规 模: ·Off:不检查 ·On:检查 ·Solver Decides:LINGO 自动决定(缺省设置) Pricing Strategies 价格策略(决 定出基变量的 策略) Primal Solver 原始单纯形法 有三种可能的设置: ·Solver Decides:LINGO 自动决定(缺省设置) ·Partial:LINGO 对一部分可能的出基变量进行尝 试 ·Devex:用 Steepest-Edge(最陡边)近似算法对所 有可能的变量进行尝试,找到使目标值下降最多的出 基变量 Dual Solver 对偶单纯形法 有三种可能的设置: ·Solver Decides:LINGO 自动决定(缺省设置) ·Dantzig:按最大下降比例法确定出基变量 ·Steepest-Edge:最陡边策略,对所有可能的变量 进行尝试,找到使目标值下降最多的出基变量 Matrix Decomposition 选择该选项,LINGO 将尝试将一个大模型分解为几个