任务四 线性规划的软件求解
4.1 WinQSB简介
WinQSB是应用于运筹学的一款软件,这款软件可用于教学和企业管理,也可用来对运筹学中的线性规划、整数规划、网络计划技术等问题进行求解。
WinQSB软件共提供了19类运筹学问题的计算程序系统,如表2-4-1所示。
表2-4-1
4.2 WinQSB软件的安装
WinQSB软件的安装比较简单,双击“Setup.exe”,弹出窗口如图2-4-1所示。
图2-4-1
输入要安装的目录,点“Continue”按钮,弹出窗口,如图2-4-2所示。
图2-4-2
输入用户名和公司或组织名称,点“Continue”按钮进行软件的安装,完成后弹出窗口,如图2-4-3所示。
图2-4-3
显示安装完成,点确定键退出。
WinQSB安装完毕后,会在开始—程序—WinQSB中生成19个菜单项,分别对应表2-4-1中所列出的运筹学19个问题,如图2-4-4所示。
图2-4-4
针对不同的问题,选择不同的子菜单项,运行相应的程序。然后使用File菜单下的New Problem菜单输入所需数据。
4.3 用WinQSB软件求解线性规划问题
用WinQSB求解线性规划问题,主要使用到的是该软件的“Linear and Integer Programming”模块。
接下来,我们用WinQSB的线性规划模块来求解一下例2-1-1的问题。
(1)首先,点击WinQSB中的“Linear and Integer Programming”菜单项(见图2-4-4),进入初始界面,如图2-4-5所示。
图2-4-5
点击“File”菜单下的“New Problem”按钮或者快捷栏中印有网格状的按钮,屏幕出现名为“LP-ILP Problem Specification”(问题描述)的工作界面,如图2-4-6所示。
图2-4-6
填入Problem Title(问题名称):例2-1-1;Number of Variables(变量个数):2;Number of Constrains(约束条件个数):3,这里的约束条件不包括非负约束,所以原模型的约束条件为3个;选择Objective Criterion(目标函数的类型),因为题目是求最大值,所以在这里选择Maximization;选择Data Entry Format(数据输入格式),可以选择表格输入,即Spreadsheet Matrix Form;最后选择Default Variable Type(系统默认的变量类型),变量类型有4种:Nonnegative continuous(非负连续变量)、Nonnegative integer(非负整数变量)、Binary[0,1](0,1变量),Unsigned/unrestricted(无符号限制的变量),在这里选择Nonnegative continuous,如图2-4-7所示。
图2-4-7
(2)在弹出的窗口中输入数据。输入时,模型不必化为标准形式。系统默认变量的下限为0,上限为一个非常大的正数M,如果变量的上限或下限为其他值时,直接将数字填入“Lower Bound”和“Upper Bound”行,取代相应的0和M就可以了。输入数据,如图2-4-8所示。
图2-4-8
(3)求解。单击“Solve and Analyze—Solve the problem”,弹出对话框,如图2-4-9所示,点击确定。
图2-4-9
这时,我们就可以得到计算结果,如图2-4-10所示。
图2-4-10
由图2-4-10可知,最优解为(4,2),最优的目标函数值maxz=14。
又如,用WinQSB求解例2-3-3。
(1)首先,点击WinQSB中的“Linear and Integer Programming”,进入初始界面。点击“新建”按钮或“files”里的“New problem”,屏幕出现名为“LP-ILP Problem Specification”的工作界面。填入Problem Title(问题名称):例2-3-2;Number of Variables(变量个数):2;Number of Constrains(约束条件个数):3;选择Objective Criterion(目标函数的类型),因为题目是求最大值,所以在这里选择Maximization;选择数据输入格式Data Entry Format,我们可以选择表格输入,即Spreadsheet Matrix Form;最后选择Default Variable Type(系统默认的变量类型),在这里选择Nonnegative continuous,如图2-4-11所示。
图2-4-11
(2)在弹出的窗口中输入数据,如图2-4-12所示。
图2-4-12
(3)求解。单击“Solve and Analyze—Solve the problem”,在弹出的对话框点击“确定”,得到分析结果,最优解为(4,2),maxz=26,如图2-4-13所示。
图2-4-13