实验一使用LINGO求解线性规划问题班级:姓名:学号:评阅成绩:已知如下线性规划模型:123max303540zxxx1231231231233251823412229,,0xxxxxxxxxxxx一、利用集的方法编写上述线性规划模型的LINGO程序。在LINGO软件模型中编写本题的程序如下图1-1所示所示。图1-1LINGO模型窗口截图点击LINGO菜单下的Solve选项,LINGO软件求解所输入的模型,得到LINGO运行状态窗口如图1-2所示图1-2LINGO运行状态窗口截图运行结束后,关闭LINGO运行状态窗口,获得LINGO软件的结果报告窗口,如图1-3、1-4所示。图1-3LINGO结果报告窗口截图(一)图1-4LINGO结果报告窗口截图(二)二、根据编写的程序,回答以下问题:1、哪些是原始集?答:var(j),const(i)是原始集2、哪个是派生集?该派生集是稠密集还是稀疏集?该派生集有多少个成员?答:A(i,j)是派生集,属于稠密集合,共有9个成员3、属性值“5”是属于成员(b1,x3)还是(b3,x1)的属性值?答:属于成员(b1,x3)的属性值三、根据程序的运行结果,回答以下问题:1、全局最优值是否已经找到?该值是多少?答:已经找到,最优值为1652、该模型求解一共迭代了多少次?答:共迭代了2次3、在求解结果的界面中,Variable、Value、ReducedCost、Row、SlackorSurplus和DualPrice分别表示什么?答:Variable表示运算时各定义变量的取值;Value表示给出最优解中各变量的值;ReducedCost表示列出最优单纯形表中判别数所在行的变量的系数,表示当变量有微小变动时,目标函数的变化率;Row表示行数;SlackorSurplus表示给出松驰变量的值;DualPrice表示当对应约束有微小变动时,目标函数的变化率。输出结果中对应于每一个约束有一个对偶价格。若其数值为p,表示对应约束中不等式右端项若增加1个单位,目标函数将增加p个单位。4、找出一个基变量,指出其判断系数并说明该判断系数的含义。答:例如基变量B(1),其判断系数是0,表示当基变量B(1)发生微小变化时最大值Z的变化率为0。5、指出松弛变量或剩余变量为0和非0的约束各一个,指出相应的对偶价格,并指出对偶价格的含义(如果没有,请说明)。答:第一行松弛变量=150,对偶价格=1,其含义为当不等式右端增加1个单位时,最大值Z也相应的增加1个单位。第3行松弛变量=0,对偶价格=5,其含义为当不等式右端增加1个单位时,目标函数Z就会增加5个单位。6、对偶价格与松弛变量或剩余变量有什么关系规律?答:假设对偶价格的数值为p,表示对应约束中不等式右端项增加1个单位,目标函数将增加p个单位,即此时的松弛变量应该在原基础上再加p。四、实验小结与体会通过为数不多的运筹学实验过程中学习,我对有关运筹学建模问题有了更深刻的认识和把握;对运筹学的有关知识点也有了进一步的学习和掌握。运筹学这门课其实并不难懂,只要我们能很好的理解题目,对各个模型直接的掌握,就能很好的运用模型去求解问题。在这过程中,我不仅对运筹学的有关知识有了进一步的掌握,同时对在自己的计算机操作水准也有了很大的提高。课程的学习很快过去,但它对我们掌握运筹学建模问题的要求却并没有随课程的结束而结束。因此在以后的学习当中我们更应该时刻温习,不时巩固,以达到知新的效果。同时,也要很感谢老师的耐心教导。实验二使用LINGO求解运输问题班级:姓名:学号:评阅成绩:设有三个产地的产品需要运往四个销地。各产地的产量、各销地的销量及其各产地到销地的单位运输费用如表所示,问如何调运使得总费用最少?三个产地四个销地的运输问题销地产地B1B2B3B4产量A141241116A22103910A38511622销量814121448一、按照运输问题的数学模型按集的方法编写LINGO程序。(1)在LINGO软件模型中编写本题的程序如下图2-1所示。图2-1LINGO窗口截图(2)点击LINGO菜单下的Solve选项,LINGO软件求解所输入的模型,得到LINGO运行状态窗口如图2-2所示。图2-2LINGO运行状态窗口截图(3)运行结束后,关闭LINGO运行状态窗口,获得LINGO软件的结果报告窗口,如图2-3,2-4所示。图2-3LINGO结果报告窗口截图图2-4LINGO结果报告窗口截图二、根据编写的程序及其运行结果,回答以下问题:1、集循环函数可以对几个集进行循环操作?答:1个集2、哪个语句表示生产地产量约束?答:@for(from(i):@sum(to(j):x(i,j))=Capacity(i));3、哪个语句表示销售地销量约束?答:@for(to(j):@sum(from(i):x(i,j))=Demand(j));4、本模型中的@for循环函数循环操作多少次?答:7次5、本模型中的@sum循环函数循环操作多少次?答:24次6、负对偶变量值和正的对偶变量值分别对应原问题的什么约束条件,正负对偶变量值各有什么含义?答:负对偶变量值@for(from(i):@sum(to(j):x(i,j))=Capacity(i));正对偶变量值@for(to(j):@sum(from(i):x(i,j))=Demand(j));实验三使用LINGO求解整数规划问题班级:姓名:学号:评阅成绩:现有9项工作和4个人,这4个人完成每项工作所需的时间和每个人可提供的最多工作时间如表所示。问应该如何分配工作,所用时间最少。6个人做6项工作的收益情况工作工作ABCD14312728101263352541062451037968109977210128594149108157可供时间15122014一、先建立该问题的数学模型然后用集的方法编写LINGO程序。在LINGO软件模型中编写本题的程序如下图3-1所示。图3-1LINGO窗口截图点击LINGO菜单下的Solve选项,LINGO软件求解所输入的模型,得到LINGO运行状态窗口如图3-2所示。图3-2LINGO运行状态窗口截图运行结束后,关闭LINGO运行状态窗口,获得LINGO软件的结果报告窗口,如图3-3,3-4,3-5,3-6,3-7,3-8所示。图3-3LINGO结果报告窗口截图图3-4LINGO结果报告窗口截图图3-5LINGO结果报告窗口截图图3-6LINGO结果报告窗口截图图3-7LINGO结果报告窗口截图图3-8LINGO结果报告窗口截图二、在LINGO中如何限制变量为0、1变量,以本题为例进行说明。答:通过语句编程来实现,例如本例中的@for(flight(i):@sum(vcf(j):x(i,j))=1);@for(vcf(j):@sum(flight(i):x(i,j))=1);三、所编写的程序能否通过编译?求解结果是否满足题目的实际约束条件?如果不能通过编译或求解结果不满足题目约束条件,请记录并分析原因。答:可以通过编译,但是所求解的结果不满足题意。原因估计是四个人所有的时间都用上都不能把所有的工作都做完,即工作量太大,而人数太少无论如何都不可能完成所有的工作。四、根据运行结果,回答以下问题:A、B、C、D各做哪几项工作?一共花费多少时间?答:根据运行结果无法得出结论,因为该题无解。五、根据本题目所编写的程序、编译情况和运行结果,对0-1整数规划和指派问题的LINGO求解进行总结。答:@for(flight(i):@sum(vcf(j):x(i,j))=1);@for(vcf(j):@sum(flight(i):x(i,j))=1)实验四使用LINGO求解动态规划问题班级:姓名:学号:评阅成绩:如下最短路模型:一、按集的方法编写上述模型的LINGO模型。在LINGO软件模型中编写本题的程序如下图4-1所示。图4-1LINGO窗口截图点击LINGO菜单下的Solve选项,LINGO软件求解所输入的模型,得到AB1B2C1C2C4C3D1D2D3E1E2F322353725645348235625335E1332LINGO运行状态窗口如图4-2所示。图4-2LINGO运行状态窗口截图运行结束后,关闭LINGO运行状态窗口,获得LINGO软件的结果报告窗口,如图4-3,4-4所示。图4-3LINGO结果报告窗口截图图4-4LINGO结果报告窗口截图二、根据所编写的程序,回答下列问题:1、在本程序中,派生集有多少个成员?指出其中的一个成员及其属性值。答:两个成员,其中一个是roads(i,j),其属性值有,1,21,32,42,52,63,53,63,74,84,95,85,96,96,107,97,108,118,139,119,129,1310,1110,1210,1311,1412,1413,142、在LINGO程序的数据部分,属性值数量与集成员的数量应该存在什么关系?属性值顺序与集成员的顺序应该存在什么关系?答:属性值数量与集成员的数量相等,属性值顺序与集成员的顺序是一一对应的顺序。3、本程序的编写是基于动态规划解法中的逆序法还是顺序法?答:顺序法4、在本题的动态规划基本方程中,边界条件是如何表示的(用程序中的语句说明)?答:边界条件是利用语句f(@size(cities))=0来实现的。5、集循环函数的语法为@function(setname[(set_index_list)[|conditional_qualifier]]:expression_list),找出本题所编写程序的一个集循环函数,指出其@function、、setname、set_index_list、conditional_qualifier和expression_list各是什么。答:语句@for(cities(i)|i#lt#@size(cities):@function是@for,setname是cities(i),set-index-list在语句中未出现,conditional-qualifier是i#lt#,expression-list是@size(cities)三、根据软件求解结果,回答以下问题:1、根据求解结果,指出各点到点F的最短距离是多少。答:A点:11;B1点13;C1点11;D1点6;E1点3;F点0;B2点9;C2点10;D2点5;E2点5;C3点8;D3点5;E3点2,C4点7;2、根据求解结果,指出模型中的剩余变量、松弛变量有什么特征。答:松弛变量全部为0,剩余变量没有什么特征。实验五使用LINGO求解网络规划问题班级:姓名:学号:评阅成绩:如下流量网络:一、按集的方法编写其LINGO程序并在LINGO软件上运行求解。在LINGO软件模型中编写本题的程序如下图5-1所示。图5-1LINGO窗口截图点击LINGO菜单下的Solve选项,LINGO软件求解所输入的模型,得到LINGO运行状态窗口如图5-2所示。V1V2V3V5V635522113V44图5-2LINGO运行状态窗口截图运行结束后,关闭LINGO运行状态窗口,获得LINGO软件的结果报告窗口,如图5-3、5-4所示。图5-3LINGO结果报告窗口截图图5-4LINGO结果报告窗口截图二、根据编写的程序,回答下列问题:本模型属于单源点和单汇集点的网络最大流问题,其数学规划可以表示为maxfv(,)(,),..,0,,ffijijiVjVijEijEisvstitffvist0,(,)ijijijEfc式中,V是顶点集,E边集或弧集,s是源点,t是汇点。指出哪些语句分别表示上述目标函数和两大约束。答:@for(a(i,j):f(i,j)=c(i,j));@for(n(i):@sum(a(i,j):f(i,j))=@sum(a(j,i):f(j,i)));表示上述目标函数。三、根据LINGO软件的运行报告窗口,用有序数(cij,fij)(即第一个数为容量,第二个数为