《《软件使用简介》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《软件使用简介》PPT课件.ppt(48页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、由由LINDO系统公司开发的专门求解数学规划的软件包系统公司开发的专门求解数学规划的软件包LINDO软件软件特点特点:程序执行速度快程序执行速度快,易于方便地输入、修改、求解和分析易于方便地输入、修改、求解和分析功能:功能:求解线性规划求解线性规划求解整数规划求解整数规划求解二次规划求解二次规划求解非线性规划求解非线性规划求线性规划求线性规划(LP)的方法和步骤:的方法和步骤:1.输入输入LP模型模型1)模型以)模型以MAX或或MIN开始,按线性规划的自然形式输入开始,按线性规划的自然形式输入 目标函数。目标函数。2)约束:以)约束:以st开始,每个约束写在一行,用回车分开开始,每个约束写在一
2、行,用回车分开3)模型以)模型以end结尾结尾说明:说明:(1)LINDO中已假设所有变量都是非负的,所以非负约中已假设所有变量都是非负的,所以非负约束不必再输入到计算机中。束不必再输入到计算机中。(2)模型中的变量不区分大小写)模型中的变量不区分大小写(3)符号)符号“,”用用“=”形式输入。与,等效形式输入。与,等效例如例如线线性性规规划划输输入入模模型型max 2x+3yst4x+3y103x+5y12end2.存储模型存储模型用用SAVE命令将问题模型以命令将问题模型以LINDO格式存入文件(自己格式存入文件(自己输入文件名),如将上述输入模型存在输入文件名),如将上述输入模型存在sf
3、1中。中。3.模型求解模型求解选择菜单选择菜单“SOLVE”,并回答提示,并回答提示“DO RANGE(SENSITIVITY)ANSLYSIS(灵敏性分析)(灵敏性分析)”,yes或或NO如上例,运行结果为如上例,运行结果为LP OPTIMUM FOUND AT STEP 2 OBJECTIVE FUNCTION VALUE 1)7.454545 VARIABLE VALUE REDUCED COST X 1.272727 0.000000 Y 1.636364 0.000000 ROW SLACK OR SURPLUS DUAL PRICES 2)0.000000 0.090909 3)0
4、.000000 0.545455 NO.ITERATIONS=2RANGES IN WHICH THE BASIS IS UNCHANGED:OBJ COEFFICIENT RANGES VARIABLE CURRENT ALLOWABLE ALLOWABLE COEF INCREASE DECREASE X 2.000000 2.000000 0.200000 Y 3.000000 0.333333 1.500000 RIGHTHAND SIDE RANGES ROW CURRENT ALLOWABLE ALLOWABLE RHS INCREASE DECREASE 2 10.000000
5、6.000000 2.800000 3 12.000000 4.666667 4.500000运行结果说明运行结果说明LP OPTIMUM FOUND AT STEP 2 OBJECTIVE FUNCTION VALUE 1)7.454545 VARIABLE VALUE REDUCED COST X 1.272727 0.000000 Y 1.636364 0.000000 ROW SLACK OR SURPLUS DUAL PRICES 2)0.000000 0.090909 3)0.000000 0.545455 NO.ITERATIONS=2单纯形法在两次迭单纯形法在两次迭代后得到最优
6、解代后得到最优解最优目标值是最优目标值是7.454545最优变量值最优变量值最优单纯形表中第最优单纯形表中第0行系行系数,检验数(数,检验数(min型)型)对应非基变量增加对应非基变量增加1个单个单位时目标函数增加的量位时目标函数增加的量松弛松弛或剩或剩余变余变量值量值对偶价格的值,表示相对偶价格的值,表示相应约束右端增加应约束右端增加1个单位个单位时目标函数增加的量时目标函数增加的量单纯形法两次迭代(旋转)单纯形法两次迭代(旋转)RANGES IN WHICH THE BASIS IS UNCHANGED:OBJ COEFFICIENT RANGES VARIABLE CURRENT ALL
7、OWABLE ALLOWABLE COEF INCREASE DECREASE X 2.000000 2.000000 0.200000 Y 3.000000 0.333333 1.500000 RIGHTHAND SIDE RANGES ROW CURRENT ALLOWABLE ALLOWABLE RHS INCREASE DECREASE 2 10.000000 6.000000 2.800000 3 12.000000 4.666667 4.500000灵敏性灵敏性分析分析目标函数的费用系数和约束右端项在什么范围目标函数的费用系数和约束右端项在什么范围变化,最优基不变变化,最优基不变系
8、数变化系数变化x20.2,2+2y31.5,3+0.333333102.8,10+6124.5,12+4.6667右端变化右端变化例例 家具生产计划家具生产计划某家具厂生产书桌、桌子和椅子,所用的资源有三种:某家具厂生产书桌、桌子和椅子,所用的资源有三种:木料、木工和漆工。生产数据如下表:木料、木工和漆工。生产数据如下表:每个书桌每个书桌 每个桌子每个桌子 每个椅子每个椅子 现有总资源现有总资源木料木料86148木工木工421.520漆工漆工21.50.58成本单价成本单价603020若要求桌子的生产量不超过若要求桌子的生产量不超过5件,如何安排三中产品的生件,如何安排三中产品的生产可使利润最
9、大?产可使利润最大?解:设生产书桌、桌子和椅子分别为解:设生产书桌、桌子和椅子分别为x,y和和z,则为,则为MAX 60 x+30y+20zSt8x+6y+z484x+2y+1.5z202x+1.5y+0.5z8y5end用用LINDO运算运算LP OPTIMUM FOUND AT STEP 1 OBJECTIVE FUNCTION VALUE 1)280.0000 VARIABLE VALUE REDUCED COST X 2.000000 0.000000 Y 0.000000 5.000000 Z 8.000000 0.000000 ROW SLACK OR SURPLUS DUAL P
10、RICES 2)24.000000 0.000000 3)0.000000 10.000000 4)0.000000 10.000000 5)5.000000 0.000000 NO.ITERATIONS=1RANGES IN WHICH THE BASIS IS UNCHANGED:OBJ COEFFICIENT RANGES VARIABLE CURRENT ALLOWABLE ALLOWABLE COEF INCREASE DECREASE X 60.000000 20.000000 4.000000 Y 30.000000 5.000000 INFINITY Z 20.000000 2
11、.500000 5.000000 RIGHTHAND SIDE RANGES ROW CURRENT ALLOWABLE ALLOWABLE RHS INCREASE DECREASE 2 48.000000 INFINITY 24.000000 3 20.000000 4.000000 4.000000 4 8.000000 2.000000 1.333333 5 5.000000 INFINITY 5.000000求整数线性规划求整数线性规划(IP)的方法和步骤:的方法和步骤:LINDO可用于求解单纯的和混合型整数规划可用于求解单纯的和混合型整数规划(IP)问题。问题。LINDO求解整数规
12、划是用分枝定界法。求解整数规划是用分枝定界法。IP问题的输入与问题的输入与LP问题的输入类似,运算步骤也类似,问题的输入类似,运算步骤也类似,但在但在end标志后需定义整型变量。标志后需定义整型变量。0/1型变量可由型变量可由INTEGER(可简写为可简写为INT)命令来标识:命令来标识:INTEGER vname(变量名称变量名称)或或 INTEGER n 前者只将变量前者只将变量vname标识为标识为0/1型,后者将前型,后者将前n个变量标识个变量标识为为0/1型。型。还可用命令还可用命令GIN将变量仅限为整数型将变量仅限为整数型例如,求解整数规划例如,求解整数规划MAX 4x+3y+2z
13、St2.5x+3.1z50.2x+0.7y+0.4z1EndInt xInt yInt z运算结果如下运算结果如下 OBJECTIVE FUNCTION VALUE 1)7.000000 VARIABLE VALUE REDUCED COST X 1.000000 -4.000000 Y 1.000000 -3.000000 Z 0.000000 -2.000000 ROW SLACK OR SURPLUS DUAL PRICES 2)2.500000 0.000000 3)0.100000 0.000000 NO.ITERATIONS=7 BRANCHES=0 DETERM.=1.000E
14、0MAX 4x+3y+2zSt2.5x+3.1z50.2x+0.7y+0.4z1EndInt 3也可使用也可使用下面格式,下面格式,结果相同结果相同又如,求解整数规划又如,求解整数规划MAX 4x+3y+2zSt2.5x+3.1z50.2x+0.7y+0.4z1EndGIN 3运算结果如下运算结果如下 OBJECTIVE FUNCTION VALUE 1)8.000000 VARIABLE VALUE REDUCED COST X 2.000000 -4.000000 Y 0.000000 -3.000000 Z 0.000000 -2.000000 ROW SLACK OR SURPLUS
15、DUAL PRICES 2)0.000000 0.000000 3)0.600000 0.000000 NO.ITERATIONS=17 BRANCHES=2 DETERM.=1.000E 0功能:功能:求解线性规划求解线性规划求解非线性规划求解非线性规划求解大规模数学规划求解大规模数学规划LINGO软件软件求解整数规划求解整数规划特点特点:使输入较大规模问题的过程得到简化使输入较大规模问题的过程得到简化使用方法:使用方法:与与LINDO的使用方法类似的使用方法类似不同之处:不同之处:有些与有些与LINDO不同的命令:不同的命令:MODEL、GENL、GEN、EXP等等MODEL命令用于输入数
16、学规划模型,命令用于输入数学规划模型,GEN和和GENL命令命令用于产生一个与当前用于产生一个与当前LINGO等价的等价的LINDO模型形式,模型形式,EXP命令将当前解存入已有文件,将来用命令将当前解存入已有文件,将来用IMPORT调用调用 一、一、LINGO编写格式编写格式 1集合部分集合部分:以:以“SETS:”开始,以开始,以“ENDSETS”结束结束 LINGO中的集合有两类:中的集合有两类:原始集合(原始集合(PRIMITIVE SETS),其定义的格式为:),其定义的格式为:集合名集合名/member list(or 1.n)/:attribute,attribute,etc。导
17、出集合导出集合(DERIVED SETS),即引用其它集合定义),即引用其它集合定义的集合,其定义的格式为:的集合,其定义的格式为:集合名集合名(set1,set2,etc。):。):attribute,attribute,etc。例如例如 考虑如下集合定义考虑如下集合定义 SETS:PRODUCT/A B/;MACHINE/M N/;WEEK/1.2/;ALLOWED(PRODUCT,MACHINE,WEEK);ENDSETSALLOWED 元素为:元素为:IndexMember1(A,M,1)2(A,M,2)3(A,N,1)4(A,N,2)5(B,M,1)6(B,M,2)7(B,N,1)8
18、(B,N,2)2目标与约束:这部分定义了目标目标与约束:这部分定义了目标函数、约束条件等。一般要用到函数、约束条件等。一般要用到LINGO的内部函数,可在后面的具的内部函数,可在后面的具体应用中体会其功能与用法。体应用中体会其功能与用法。3数据部分(数据部分(DATA):这部分以):这部分以“DATA:”开始,以开始,以“END DATA”结结束。其作用在于对集合的属性(数组)束。其作用在于对集合的属性(数组)输入必要的数值。输入必要的数值。格式为:格式为:attribut=value_list 4初始化部分(初始化部分(INIT):这部分以):这部分以“INIT:”开始,以开始,以“END
19、INIT”结束。作用在于对集合的属性(数组)定义结束。作用在于对集合的属性(数组)定义初值。格式为:初值。格式为:attribute=value_list。几点注意:几点注意:1所有的语句除所有的语句除SETS、ENDSETS、DATA、ENDDATA、INIT、ENDINIT和和MODEL,END之外必须以一个分号之外必须以一个分号“;”结尾。结尾。2LINGO求解非线性规划时已约定各变量非负。求解非线性规划时已约定各变量非负。3使用函数或命令时前面加使用函数或命令时前面加。二、二、LINGO内部函数:内部函数:常用数学函数常用数学函数ABS(X);COS(X);EXP(X);FLOOR(X
20、);LGM(X);LOG(X);SIGN(X);SIN(X);SMAX(X1,X2,.,XN);SMIN(X1,X2,.,XN);TAN(X)(2)集合函数集合函数 FOR(set_name:constraint_expressions)MAX(set_name:expression)MIN(set_name:expression)SUM(set_name:expression)SIZE(set_name)IN(set_name,set_element)如果数据集)如果数据集set_name中中包含元素包含元素set_element则返回则返回1,否则返回,否则返回0。(3)变量界定函数)变量
21、界定函数 BND(L,X,U)BIN(X)限制)限制X为为0或或1。FREE(X)GIN(X)限制)限制X为整数值。为整数值。求线性规划求线性规划(LP)的方法和步骤:的方法和步骤:1.输入输入LP模型模型 输入总是以输入总是以MODEL:开始,以:开始,以END结束结束注意:注意:中间的语句必须以中间的语句必须以“;”分开分开使用函数或命令时前面加使用函数或命令时前面加“Gin(x1)”表示表示x1是整是整数数“int(x1)”表示表示x1是是0-1整整数数2.存储模型存储模型用用SAVE命令将问题模型以命令将问题模型以LINDO格式存格式存入文件(自己输入文件名)入文件(自己输入文件名)3
22、.模型求解模型求解在菜单在菜单“LINGO”中选择菜单中选择菜单“SOLVE”省缺值假定所有变量非负省缺值假定所有变量非负应用举例应用举例每季度正常生产能力是每季度正常生产能力是40条,条,决定下四个季度的帆船生产量决定下四个季度的帆船生产量需求量分别是需求量分别是40条、条、60条、条、75条、条、25条条每条帆船生产费用每条帆船生产费用400美元美元加班生产每条船费用加班生产每条船费用450美元,美元,每季度末每条船存费每季度末每条船存费20美元美元假定生产提前期为假定生产提前期为0,初始库存为,初始库存为10条船。条船。如何安排生产可使总费用最小?如何安排生产可使总费用最小?建立模型建立
23、模型设第设第i季度正季度正常生产常生产xi条条船,加班生船,加班生产产yi条船条船,库库存存zi条船条船用用LINGO求解求解 model:min=400*x1+400*x2+400*x3+400*x4+450*y1+450*y2+450*y3+450*y4+20*z1+20*z2+20*z3+20*z4;x1=40;x2=40;x3=40;x1+y1-z1=30;x2+y2+z1-z2=60;x3+y3+z2-z3=75;x4+y4+z3-z4=25;gin(x1);gin(x2);gin(x3);gin(x4);gin(y1);gin(y2);gin(y3);gin(y4);gin(z1)
24、;gin(z2);gin(z3);gin(z4);end输入输入LINGO计算结果如下计算结果如下 Optimal solution found at step:6 Objective value:78450.00 Branch count:0Variable Value Reduced CostX1 40.00000 400.0000X2 40.00000 400.0000X3 40.00000 400.0000X4 25.00000 400.0000Y1 0.0000000 450.0000Y2 10.00000 450.0000Y3 35.00000 450.0000Y4 0.00000
25、00 450.0000Z1 10.00000 20.00000Z2 0.0000000 20.00000Z3 0.0000000 20.00000Z4 0.0000000 20.00000 Row Slack or Surplus Dual Price1 78450.00 1.0000002 0.0000000 0.00000003 0.0000000 0.00000004 0.0000000 0.00000005 0.0000000 0.00000006 0.0000000 0.00000007 0.0000000 0.00000008 0.0000000 0.0000000还可以用下面方法
26、求解还可以用下面方法求解MODEL:sets:siji/1.4/:time,dem,x,y,z;endsetsmin=sum(siji:400*x+450*y+20*z);for(siji(i):x(i)40);for(siji(i)|time(i)#gt#1:z(i)=z(i-1)+x(i)+y(i)-dem(i);z(1)=10+x(1)+y(1)-dem(1);data:dem=40,60,75,25;time=1,2,3,4;enddataend集合部分:以集合部分:以Sets开头,以开头,以endsets结束结束约束部分约束部分数据部分:以数据部分:以DATA开头,开头,以以endd
27、ata结束结束求解大规模非线性规划采用的输入方法,用求解大规模非线性规划采用的输入方法,用solution求解求解 Global optimal solution found at iteration:7 Objective value:78450.00 Variable Value Reduced Cost TIME(1)1.000000 0.000000 TIME(2)2.000000 0.000000 TIME(3)3.000000 0.000000 TIME(4)4.000000 0.000000 DEM(1)40.00000 0.000000 DEM(2)60.00000 0.000
28、000 DEM(3)75.00000 0.000000 DEM(4)25.00000 0.000000 X(1)40.00000 0.000000 X(2)40.00000 0.000000 X(3)40.00000 0.000000 X(4)25.00000 0.000000 Y(1)0.000000 20.00000 Y(2)10.00000 0.000000 Y(3)35.00000 0.000000 Y(4)0.000000 50.00000 Z(1)10.00000 0.000000 Z(2)0.000000 20.00000 Z(3)0.000000 70.00000 Z(4)0.
29、000000 420.0000 Row Slack or Surplus Dual Price 1 78450.00 -1.000000 2 0.000000 30.00000 3 0.000000 50.00000 4 0.000000 50.00000 5 15.00000 0.000000 6 0.000000 450.0000 7 0.000000 0.000000 8 0.000000 450.0000 9 0.000000 0.000000 10 0.000000 400.0000 11 0.000000 430.0000f(x1,x2)=100(x2x12)2+(1x1)2x12
30、+x121.5,x1+x2 0model:min=100*(y-x2)2+(1-x)2;x2+y2=0;free(x);free(y);endOptimal solution found at step:6 Objective value:4.828240 Variable Value Reduced CostX2 0.8660254 3.464102X1 -0.8660254 0.0000000Row Slack or Surplus Dual Price 1 4.828240 0.00000002 -0.1245938E-06 1.0000003 0.0000000 -1.732051例例
31、3 某企业和用户签定了设备交货合同,已知该企业各季某企业和用户签定了设备交货合同,已知该企业各季度的生产能力、每台设备的生产成本和每季度末的交货量度的生产能力、每台设备的生产成本和每季度末的交货量见下表,若生产出的设备当季度不交货,每台设备每季度见下表,若生产出的设备当季度不交货,每台设备每季度需要支付保管费需要支付保管费0.1万元,试问在遵守合同的条件下,企万元,试问在遵守合同的条件下,企业应如何安排生产计划,才能使年消耗费用最低?业应如何安排生产计划,才能使年消耗费用最低?季度工厂生产能力(台)交货量(台)每台设备生产成本(台)1251512.02352011.03302511.54202
32、012.5设第季度生产设第季度生产 台,库存台,库存 台,台,。第。第i 季度生季度生产能力用产能力用 表示,交货量用表示,交货量用 表示,每台设备生产成表示,每台设备生产成本用本用 表示。则建立目标函数为:表示。则建立目标函数为:方法方法1:MODEL:SETS:QUART/1.4/:x,y,p,d,c;ENDSETSDATA:!指定数据指定数据;p=25,35,30,20;d=15,20,25,20;c=12.0,11.0,11.5,12.5;ENDDATAmin=sum(QUART(i):c(i)*x(i)+0.1*y(i);!目标函数目标函数;FOR(QUART(i):x(i)=p(i
33、);!生产能力限制生产能力限制;FOR(QUART(i)|i#GT#1:y(i)=y(i-1)+x(i)-d(i);y(1)=x(1)-d(1);end Global optimal solution found at iteration:8 Objective value:913.5000 Variable Value Reduced Cost X(1)15.00000 0.000000 X(2)35.00000 0.000000 X(3)30.00000 0.000000 X(4)0.000000 0.9000000 Y(1)0.000000 0.7000000 Y(2)15.00000
34、0.000000 Y(3)20.00000 0.000000 Y(4)0.000000 11.70000 P(1)25.00000 0.000000 P(2)35.00000 0.000000 P(3)30.00000 0.000000 P(4)20.00000 0.000000 D(1)15.00000 0.000000 D(2)20.00000 0.000000 D(3)25.00000 0.000000 D(4)20.00000 0.000000 C(1)12.00000 0.000000 C(2)11.00000 0.000000 C(3)11.50000 0.000000 C(4)1
35、2.50000 0.000000 Row Slack or Surplus Dual Price 1 913.5000 -1.000000 2 10.00000 0.000000 3 0.000000 0.4000000 4 0.000000 0.000000 5 20.00000 0.000000 6 0.000000 11.40000 7 0.000000 11.50000 8 0.000000 11.60000 9 0.000000 12.00000 得到的结果如下:得到的结果如下:x1=15,x2=35,x3=30,x4=0;y1=0,y2=15,y3=20,y4=0。年消耗最小费用为
36、年消耗最小费用为913.5万元。万元。方法方法2:设设 为第为第i季度生产第季度生产第j季度交货的台数,第季度交货的台数,第i 季度生产能季度生产能力用力用 表示,交货量用表示,交货量用 表示,每台设备生产成本用表示,每台设备生产成本用 表示。则表示。则 生产能力生产能力 交货量交货量 第第i季度生产第季度生产第j季度交货的每台设备所消耗的费用季度交货的每台设备所消耗的费用Cij,应等于生产成本加上保管维护费用之和,即,应等于生产成本加上保管维护费用之和,即 生产交货1234123412.012.111.012.211.111.512.311.211.612.5模型模型LINGO程序程序 MO
37、DEL:SETS:QUART/1.4/:p,d;LINK(QUART,QUART)|&1#LE#&2:x,c;!只取上三角只取上三角阵阵;ENDSETSDATA:!指定数据指定数据;p=25,35,30,20;d=15,20,25,20;c=12.0 12.1 12.2 12.3 11.0 11.1 11.2 11.5 11.6 12.5;ENDDATAMIN=SUM(LINK:c*x);!目标函数目标函数;FOR(QUART(i):SUM(QUART(j)|j#GE#i:x(i,j)=p(i);!生产能力限制生产能力限制;FOR(QUART(j):SUM(QUART(i)|i#LE#j:x(
38、i,j)=d(j);!交货合同限制交货合同限制;end计算结果计算结果 Global optimal solution found at iteration:7 Objective value:913.5000 Variable Value Reduced Cost P(1)25.00000 0.000000 P(2)35.00000 0.000000 P(3)30.00000 0.000000 P(4)20.00000 0.000000 D(1)15.00000 0.000000 D(2)20.00000 0.000000 D(3)25.00000 0.000000 D(4)20.00000
39、 0.000000 X(1,1)15.00000 0.000000 X(1,2)0.000000 0.000000 X(1,3)0.000000 0.000000 X(1,4)0.000000 0.000000 X(2,2)20.00000 0.000000 X(2,3)0.000000 0.000000 X(2,4)15.00000 0.000000 X(3,3)25.00000 0.000000 X(3,4)5.000000 0.000000 X(4,4)0.000000 0.2000000 C(1,1)12.00000 0.000000 C(1,2)12.10000 0.000000 C
40、(1,3)12.20000 0.000000 C(1,4)12.30000 0.000000 C(2,2)11.00000 0.000000 C(2,3)11.10000 0.000000 C(2,4)11.20000 0.000000 C(3,3)11.50000 0.000000 C(3,4)11.60000 0.000000 C(4,4)12.50000 0.000000 Row Slack or Surplus Dual Price 1 913.5000 -1.000000 2 10.00000 0.000000 3 0.000000 1.100000 4 0.000000 0.700
41、0000 5 20.00000 0.000000 6 0.000000 -12.00000 7 0.000000 -12.10000 8 0.000000 -12.20000 9 0.000000 -12.30000得到的结果如下:得到的结果如下:X(1,1)=15,X(1,2)=0,X(1,3)=0,X(1,4)=0;X(2,2)=20,X(2,3)=0,X(2,4)=15。X(3,3)=25,X(3,4)=5;X(4,4)=0。年消耗最小费用为年消耗最小费用为913.5万元。万元。第第1季度生产量为季度生产量为15台,第台,第2季度生产量为季度生产量为35台,第台,第3季度季度生产量为生产量为30台,第台,第4季度生产量为季度生产量为0台,与前面方法得到的台,与前面方法得到的结果一样。其最小费用也一样。结果一样。其最小费用也一样。