1、2022-12-3数学建模实用教程高教出版社数学建模实用教程高教出版社12022-12-3数学建模实用教程高教出版社数学建模实用教程高教出版社2第第4 4章章 最优化模型最优化模型 二次二次规划模型规划模型;整数整数规划模型规划模型;综合案例分析。综合案例分析。非线性非线性规划模型规划模型;线性规划模型线性规划模型;2022-12-3数学建模实用教程高教出版社数学建模实用教程高教出版社3一、一、线性规划模型线性规划模型 1.问题的提出问题的提出2022-12-3数学建模实用教程高教出版社数学建模实用教程高教出版社4一、一、线性规划模型线性规划模型),2,1(0),2,1(.max11njxmi
2、bxatsxczjnjijijnjjj 1.问题的提出问题的提出2022-12-3数学建模实用教程高教出版社数学建模实用教程高教出版社5一、一、线性规划模型线性规划模型 2.线性规划模型的一般形式线性规划模型的一般形式2022-12-3数学建模实用教程高教出版社数学建模实用教程高教出版社6一、一、线性规划模型线性规划模型 3.线性规划解的概念线性规划解的概念(1)解:)解:2022-12-3数学建模实用教程高教出版社数学建模实用教程高教出版社7一、一、线性规划模型线性规划模型 3.线性规划解的概念线性规划解的概念(1)解的基本性质:)解的基本性质:2022-12-3数学建模实用教程高教出版社数
3、学建模实用教程高教出版社8一、一、线性规划模型线性规划模型 4.线性规划的求解方法线性规划的求解方法(1)用用MATLAB软件求解软件求解MATLAB(Matrix Laboratory)的基本含义是矩的基本含义是矩阵实验室;阵实验室;它是由美国它是由美国MathWorks公司研制开发的一套高公司研制开发的一套高性能的基数值计算、信息处理、图形显示等于一体性能的基数值计算、信息处理、图形显示等于一体的可视化数学工具软件。的可视化数学工具软件。2022-12-3数学建模实用教程高教出版社数学建模实用教程高教出版社9一、一、线性规划模型线性规划模型 4.线性规划的求解方法线性规划的求解方法(1)用
4、用MATLAB软件求解软件求解 MATLAB的优化工具箱的优化工具箱(Optimization toolbox),它的它的基本功能基本功能:(1)求解线性规划和二次规划问题;求解线性规划和二次规划问题;(2)求解无约束条件非线性规划的极小值问题;求解无约束条件非线性规划的极小值问题;(3)求解带约束条件非线性规划极小值问题;求解带约束条件非线性规划极小值问题;(4)求解非线性方程组;求解非线性方程组;(5)求解带约束的线性最小二乘问题;求解带约束的线性最小二乘问题;(6)求解非线性最小二乘逼近和曲线拟合问题求解非线性最小二乘逼近和曲线拟合问题.2022-12-3数学建模实用教程高教出版社数学建
5、模实用教程高教出版社10一、一、线性规划模型线性规划模型 4.线性规划的求解方法线性规划的求解方法(1)用用MATLAB软件求解软件求解应用应用MATLAB优化工具箱中的函数优化工具箱中的函数linprog来求来求解线性规划问题,要求线性规划模型化为统一的解线性规划问题,要求线性规划模型化为统一的基本模型:基本模型:2022-12-3数学建模实用教程高教出版社数学建模实用教程高教出版社11一、一、线性规划模型线性规划模型 4.线性规划的求解方法线性规划的求解方法(1)用用MATLAB软件求解软件求解x=linprog(C,A1,b1,A2,b2)x=linprog(C,A1,b1,A2,b2)
6、;x=linprog(C,A1,b1,A2,b2,x1,x2)x=linprog(C,A1,b1,A2,b2,x1,x2);x=linprog(C,A1,b1,A2,b2,x1,x2,opt)x=linprog(C,A1,b1,A2,b2,x1,x2,opt);%设置可选参数值,而不是采用缺省值设置可选参数值,而不是采用缺省值x=linprog(C,A1,b1,A2,b2,x1,x2,x0,opt)x=linprog(C,A1,b1,A2,b2,x1,x2,x0,opt);%x0 x0为初始解,缺省值为为初始解,缺省值为0.0.2022-12-3数学建模实用教程高教出版社数学建模实用教程高教出
7、版社12一、一、线性规划模型线性规划模型 4.线性规划的求解方法线性规划的求解方法(1)用用MATLAB软件求解软件求解x,fv=linprog()x,fv=linprog();要求返回目标函数值要求返回目标函数值x,fv,ef=linprog()x,fv,ef=linprog();要求返回程序结束标志要求返回程序结束标志x,fv,ef,out=linprog()x,fv,ef,out=linprog();要求返回程序的优化信息要求返回程序的优化信息x,fv,ef,out,lambda=linprog()x,fv,ef,out,lambda=linprog();要求返回在程序停止时的拉格朗日乘
8、子要求返回在程序停止时的拉格朗日乘子2022-12-3数学建模实用教程高教出版社数学建模实用教程高教出版社13一、一、线性规划模型线性规划模型 4.线性规划的求解方法线性规划的求解方法(2)用用Lingo软件求解软件求解LINGO(Linear INteractive and General Optimizer)的基的基本含义是交互式的线性和通用优化求解器本含义是交互式的线性和通用优化求解器 LINDO(Linear,INteractive,and Discrete Optimizer)的基本的基本含义是交互式的线性和混合优化求解器含义是交互式的线性和混合优化求解器它是美国芝加哥大学的它是美国
9、芝加哥大学的 Linus Schrage 教授于教授于1980年开发了年开发了一套用于求解最优化问题的工具包,后来经过完善和扩充,并一套用于求解最优化问题的工具包,后来经过完善和扩充,并成立了成立了LINDO SYSTEM INC2022-12-3数学建模实用教程高教出版社数学建模实用教程高教出版社14一、一、线性规划模型线性规划模型 4.线性规划的求解方法线性规划的求解方法(2)用用Lingo软件求解软件求解LINGO(Linear INteractive and General Optimizer)的基的基本含义是交互式的线性和通用优化求解器本含义是交互式的线性和通用优化求解器 LINDO
10、(Linear,INteractive,and Discrete Optimizer)的基本的基本含义是交互式的线性和混合优化求解器含义是交互式的线性和混合优化求解器它是美国芝加哥大学的它是美国芝加哥大学的 Linus Schrage 教授于教授于1980年开发了年开发了一套用于求解最优化问题的工具包,后来经过完善和扩充,并一套用于求解最优化问题的工具包,后来经过完善和扩充,并成立了成立了LINDO SYSTEM INC2022-12-3数学建模实用教程高教出版社数学建模实用教程高教出版社15一、一、线性规划模型线性规划模型 4.线性规划的求解方法线性规划的求解方法(2)用用Lingo软件求解
11、软件求解 LINGO功能功能:求解线性规划、二次规划、:求解线性规划、二次规划、非线性规划、目标规划、图论与网络优化、整数非线性规划、目标规划、图论与网络优化、整数规划的求解,以及一些线性和非线性方程规划的求解,以及一些线性和非线性方程(组组)、最大最小和排队论中的最优化问题求解等最大最小和排队论中的最优化问题求解等 2022-12-3数学建模实用教程高教出版社数学建模实用教程高教出版社16一、一、线性规划模型线性规划模型 4.线性规划的求解方法线性规划的求解方法(2)用用Lingo软件求解软件求解 LINGO的特色的特色:它允许优化模型中的决策变量为整数,即可它允许优化模型中的决策变量为整数
12、,即可以求解整数规划,而且执行速度快以求解整数规划,而且执行速度快求解线性和非线性优化问题的简易工具求解线性和非线性优化问题的简易工具LINGO内置了一种建立最优化模型的语言,内置了一种建立最优化模型的语言,可以简便地表达大规模问题可以简便地表达大规模问题,利用利用LINGO高效的高效的求解器可快速求解并分析结果求解器可快速求解并分析结果.2022-12-3数学建模实用教程高教出版社数学建模实用教程高教出版社17一、一、线性规划模型线性规划模型 4.线性规划的求解方法线性规划的求解方法(2)用用Lingo软件求解软件求解哇!哇!Lingo软件是软件是你正确的选择!你正确的选择!2022-12-
13、3数学建模实用教程高教出版社数学建模实用教程高教出版社18一、一、线性规划模型线性规划模型 4.线性规划的求解方法线性规划的求解方法集集合合段段数数据据段段目标目标约束约束2022-12-3数学建模实用教程高教出版社数学建模实用教程高教出版社19一、一、线性规划模型线性规划模型 5.线性规划的应用举例线性规划的应用举例(1)下料问题)下料问题7.4m2.9m2.1m1.5m 问题的提出:问题的提出:某单位需要加工制作某单位需要加工制作100100套工套工架,每套工架需用长为架,每套工架需用长为2.92.9米,米,2.12.1米和米和1.51.5米的米的圆钢各一根。已知原材料长圆钢各一根。已知原
14、材料长7.47.4米,现在的问题米,现在的问题是如何下料使得所用的原材料最省?是如何下料使得所用的原材料最省?2022-12-3数学建模实用教程高教出版社数学建模实用教程高教出版社20一、一、线性规划模型线性规划模型 (1)下料问题)下料问题 模型模型分析分析:在每一根原材料上各一根截取在每一根原材料上各一根截取2.92.9米,米,2.12.1米和米和1.51.5米的圆钢做成一套工架,每根原米的圆钢做成一套工架,每根原材料剩下料头材料剩下料头0.90.9米,要完成米,要完成100100套工架,就需要套工架,就需要用用100100根原材料,共剩余根原材料,共剩余9090米料头。米料头。7.4m2
15、.9m2.1m1.5m0.9m2022-12-3数学建模实用教程高教出版社数学建模实用教程高教出版社21一、一、线性规划模型线性规划模型7.4m2.9m2.1m1.5m0.9m2.9m1.5m1.5m1.5m2.9m2.9m0.1m1.5m2.9m2.1m2.1m0.3m2.1m2.1m1.5m0.2m1.5m2.1m1.5m0.8m1.5m1.5mx1x2x3x4x5x6ABCDEF2022-12-3数学建模实用教程高教出版社数学建模实用教程高教出版社22一、一、线性规划模型线性规划模型 (1)下料问题)下料问题哇!这样分析就好建哇!这样分析就好建立数学模型了!立数学模型了!2022-12-
16、3数学建模实用教程高教出版社数学建模实用教程高教出版社23一、一、线性规划模型线性规划模型 (1)下料问题)下料问题2022-12-3数学建模实用教程高教出版社数学建模实用教程高教出版社24一、一、线性规划模型线性规划模型0,100323100221002s.t.9.08.03.02.01.00min6543216532165436421654321xxxxxxxxxxxxxxxxxxxxxxxxxz (1)下料问题)下料问题 用用Lingo软件求解软件求解2022-12-3数学建模实用教程高教出版社数学建模实用教程高教出版社25一、一、线性规划模型线性规划模型 (1)下料问题)下料问题202
17、2-12-3数学建模实用教程高教出版社数学建模实用教程高教出版社26一、一、线性规划模型线性规划模型 (1)下料问题)下料问题 用用MATLAB软件求解软件求解问题的MATLAB程序:C=0,0.1,0.2,0.3,0.8,0.9;b1=0,0,0,0,0,0;b2=100,100,100;A1=-1,0,0,0,0,0;0,-1,0,0,0,0;0,0,-1,0,0,0;0,0,0,-1,0,0;0,0,0,0,-1,0;0,0,0,0,0,-1;A2=1,2,0,1,0,1;0,0,2,2,1,1;3,1,2,0,3,1;x,fv=linprog(C,A1,b1,A2,b2)2022-12
18、-3数学建模实用教程高教出版社数学建模实用教程高教出版社27一、一、线性规划模型线性规划模型 (2)连续投资问题)连续投资问题某投资公司拟制定今后五年的投资计划,初某投资公司拟制定今后五年的投资计划,初步考虑下面的四个投资项目:步考虑下面的四个投资项目:从第从第1 1年到第年到第4 4年每年年初需要投资,并于次年每年年初需要投资,并于次年年末收回成本,并可获利润年年末收回成本,并可获利润15%15%;第第3 3年年初需要投资,到第年年初需要投资,到第5 5年年末可以收回年年末可以收回成本,并获得利润成本,并获得利润25%25%,但为了保证足够的,但为了保证足够的资金流动,规定该项目的投资金额上
19、限为不资金流动,规定该项目的投资金额上限为不超过总金额的超过总金额的40%40%;2022-12-3数学建模实用教程高教出版社数学建模实用教程高教出版社28一、一、线性规划模型线性规划模型 (2)连续投资问题)连续投资问题第第2 2年年初需要投资,到第年年初需要投资,到第5 5年年末可以收年年末可以收回成本,并获得利润回成本,并获得利润40%40%,但公司规定该,但公司规定该项目的最大投资金额不超过总金额的项目的最大投资金额不超过总金额的30%30%;五年内每年年初可以购买公债,于当年年五年内每年年初可以购买公债,于当年年末可以归还本金,并获利息末可以归还本金,并获利息6%6%。问题问题:现有
20、投资金额现有投资金额100万元,如何使得第五年万元,如何使得第五年年末能够获得最大的利润。年末能够获得最大的利润。2022-12-3数学建模实用教程高教出版社数学建模实用教程高教出版社29一、一、线性规划模型线性规划模型 (2)连续投资问题)连续投资问题 年份项目12345Ax11x21x31x41Bx32Cx23Dx14x24x34x44x542022-12-3数学建模实用教程高教出版社数学建模实用教程高教出版社30一、一、线性规划模型线性规划模型 (2)连续投资问题)连续投资问题第第1 1年:年:将将100100万元资金全部用于项目万元资金全部用于项目A A和项目和项目D D的的投资,即投
21、资,即10000001411 xx2022-12-3数学建模实用教程高教出版社数学建模实用教程高教出版社31一、一、线性规划模型线性规划模型 (2)连续投资问题)连续投资问题2022-12-3数学建模实用教程高教出版社数学建模实用教程高教出版社32一、一、线性规划模型线性规划模型 (2)连续投资问题)连续投资问题2022-12-3数学建模实用教程高教出版社数学建模实用教程高教出版社33一、一、线性规划模型线性规划模型 (2)连续投资问题)连续投资问题连续投资问题的数学模型连续投资问题的数学模型:2022-12-3数学建模实用教程高教出版社数学建模实用教程高教出版社34一、一、线性规划模型线性规
22、划模型 (2)连续投资问题)连续投资问题MODEL:MODEL:sets:sets:row/1.5/;row/1.5/;arrange/1.4/;arrange/1.4/;link(row,arrange):c,x;link(row,arrange):c,x;endsetsendsetsdata:data:c=0,0,0,0,0,0,1.40,0,0,1.25,0,0,1.15,0,0,0,0,0,0,1.06;c=0,0,0,0,0,0,1.40,0,0,1.25,0,0,1.15,0,0,0,0,0,0,1.06;enddataenddataOBJOBJmaxmax=sumsum(link
23、(i,j):c(i,j)(link(i,j):c(i,j)*x(i,j);x(i,j);x(1,1)+x(1,4)=1000000;x(1,1)+x(1,4)=1000000;-1.06-1.06*x(1,4)+x(2,1)+x(2,3)+x(2,4)=0;x(1,4)+x(2,1)+x(2,3)+x(2,4)=0;-1.15-1.15*x(1,1)-1.06x(1,1)-1.06*x(2,4)+x(3,1)+x(3,2)+x(3,4)=0;x(2,4)+x(3,1)+x(3,2)+x(3,4)=0;-1.15-1.15*x(2,1)-1.06x(2,1)-1.06*x(3,4)+x(4,1)
24、+x(4,4)=0;x(3,4)+x(4,1)+x(4,4)=0;-1.15-1.15*x(3,1)-1.06x(3,1)-1.06*x(4,4)+x(5,4)=0;x(4,4)+x(5,4)=0;x(3,2)=400000;x(3,2)=400000;x(2,3)=300000;x(2,3)=0;);for(link(i,j):x(i,j)=0;);ENDEND 用用LINGO求解模型求解模型2022-12-3数学建模实用教程高教出版社数学建模实用教程高教出版社35一、一、线性规划模型线性规划模型 (2)连续投资问题)连续投资问题问题的连续投资方案:问题的连续投资方案:第第1年:项目年:项目
25、A为为716981.1元和项目元和项目D为为283018.9元元第第2年:项目年:项目C的投资金额为的投资金额为300000元,元,第第3年:项目年:项目B的投资为的投资为400000元和项目元和项目D的投资为的投资为424528.3元,元,第第4年:投资项目年:投资项目A的金额为的金额为450000元。元。第第5年年末该公司拥有总资金为年年末该公司拥有总资金为1437500元,即收益元,即收益率为率为43.75%。2022-12-3数学建模实用教程高教出版社数学建模实用教程高教出版社36一、一、线性规划模型线性规划模型 (3)运输问题)运输问题2022-12-3数学建模实用教程高教出版社数学
26、建模实用教程高教出版社37一、一、线性规划模型线性规划模型 (3)运输问题)运输问题111,2,s.t.1,2,01,2,1,2,.nijijmijjiijxaimxbjnxim jn,2022-12-3数学建模实用教程高教出版社数学建模实用教程高教出版社38一、一、线性规划模型线性规划模型 (3)运输问题)运输问题 用用LINGO求解模型求解模型MODEL:MODEL:sets:sets:num_i/1.m/:anum_i/1.m/:a;num_j/1.n/:bnum_j/1.n/:b;link(num_i,num_j):c,xlink(num_i,num_j):c,x;endsetsend
27、setsdata:data:a=a(1),a(2),a(m)a=a(1),a(2),a(m);b=b(1),b(2),b(n)b=b(1),b(2),b(n);c=c(1,1),c(1,2),c(1,n)c=c(1,1),c(1,2),c(1,n),c(2,1),c(2,2),c(2,n)c(2,1),c(2,2),c(2,n),c(m,1),c(m,2),c(m,n)c(m,1),c(m,2),c(m,n);enddataenddataOBJmin=sum(link(i,j):c(i,j)OBJmin=sum(link(i,j):c(i,j)*x(i,j)x(i,j);for(num_i(i
28、):sum(num_j(j):x(i,j)=a(i)for(num_i(i):sum(num_j(j):x(i,j)=a(i););for(num_j(j):sum(num_i(i):x(i,j)=b(j)for(num_j(j):sum(num_i(i):x(i,j)=b(j););for(link(i,j):x(i,j)=0for(link(i,j):x(i,j)=0;);ENDEND2022-12-339二、整数二、整数规划模型规划模型 1.人员时间安排问题人员时间安排问题 某公司的营业时间是上午某公司的营业时间是上午8 8点到点到2222点,以点,以2 2小时为一时段,小时为一时段,各
29、时段内所需的服务人员数如表。每个服务人员可在任一时段各时段内所需的服务人员数如表。每个服务人员可在任一时段开始时上班,但要连续工作开始时上班,但要连续工作8 8小时,而工资都相同。问应如何安小时,而工资都相同。问应如何安排服务人员使公司所付工资总数最少。排服务人员使公司所付工资总数最少。序号时间区间需求人数18:0010:0020210:0012:0025312:0014:0010414:0016:0030516:0018:0020618:0020:0010720:0022:0052022-12-340二、整数二、整数规划模型规划模型 1.人员时间安排问题人员时间安排问题)4,3,2,1(,0
30、5102030102520.4434324321321211ixxxxxxxxxxxxxxxxxtsi且为整数数学建模实用教程高教出版社数学建模实用教程高教出版社2022-12-341二、整数二、整数规划模型规划模型 2.整数规划模型的一般形式整数规划模型的一般形式数学建模实用教程高教出版社数学建模实用教程高教出版社2022-12-342二、整数二、整数规划模型规划模型 3.整数规划模型的整数规划模型的Lingo解法解法数数据据段段集集合合段段目标目标约束约束2022-12-343二、整数二、整数规划模型规划模型 3.整数规划模型的整数规划模型的Lingo解法解法MODEL:MODEL:set
31、s:sets:num/1.4/:xnum/1.4/:x;endsetsendsetsOBJmin=sum(num(i):x(i)OBJmin=sum(num(i):x(i);x(1)=20 x(1)=20;x(1)+x(2)=25x(1)+x(2)=25;x(1)+x(2)+x(3)=10 x(1)+x(2)+x(3)=10;x(1)+x(2)+x(3)+x(4)=30 x(1)+x(2)+x(3)+x(4)=30;x(2)+x(3)+x(4)=20 x(2)+x(3)+x(4)=20;x(3)+x(4)=10 x(3)+x(4)=10;x(4)=5x(4)=5;for(num(i):GIN(
32、x(i)for(num(i):GIN(x(i);x(i)=0 x(i)=0;);ENDEND数学建模实用教程高教出版社数学建模实用教程高教出版社2022-12-344二、整数二、整数规划模型规划模型 3.整数规划模型的整数规划模型的Lingo解法解法数学建模实用教程高教出版社数学建模实用教程高教出版社第一时段开始工作人数为第一时段开始工作人数为2020人;人;第二时段开始工作人数为第二时段开始工作人数为5 5人;人;第三时段开始工作人数为第三时段开始工作人数为1010人;人;第四时段开始工作人数为第四时段开始工作人数为5 5人;人;第五时段开始无需安排新的人员第五时段开始无需安排新的人员即该公
33、司共需要即该公司共需要4040人人2022-12-345二、整数二、整数规划模型规划模型 4.0-1整数规划模型整数规划模型数学建模实用教程高教出版社数学建模实用教程高教出版社2022-12-346二、整数二、整数规划模型规划模型 4.0-1整数规划模型整数规划模型数学建模实用教程高教出版社数学建模实用教程高教出版社11min(1,2,)01(1,2,)njjjnijjijjzc xa xb imxorjn2022-12-347二、整数二、整数规划模型规划模型 4.0-1整数规划模型整数规划模型数学建模实用教程高教出版社数学建模实用教程高教出版社2022-12-348二、整数二、整数规划模型规
34、划模型 4.0-1整数规划模型整数规划模型数学建模实用教程高教出版社数学建模实用教程高教出版社 )7,2,1(10112,.765432171ixxxxxxxxbxbtsiiii或 设设否则,选择,01iAxi2022-12-349二、整数二、整数规划模型规划模型 4.0-1整数规划模型整数规划模型数学建模实用教程高教出版社数学建模实用教程高教出版社文体部文体部 宣传部宣传部劳动部劳动部学习部学习部甲甲6 62 23 31 1乙乙7 74 43 32 2丙丙8 810107 75 5丁丁7 78 85 54 4 试综合考试综合考虑四名候选人虑四名候选人的情况,确定的情况,确定四个部长的最四个部
35、长的最优选择方案优选择方案 指派问题:指派问题:某学校学生会准备在学生中选拔某学校学生会准备在学生中选拔文体部、宣传部、劳动部、学习部四个部门的部长,文体部、宣传部、劳动部、学习部四个部门的部长,经过层层筛选,最后剩下甲、乙、丙、丁四名候选经过层层筛选,最后剩下甲、乙、丙、丁四名候选人,根据各项考核与民主测评,四人主持各部的工人,根据各项考核与民主测评,四人主持各部的工作能力作能力(量化为分值量化为分值)如表所示如表所示.2022-12-350二、整数二、整数规划模型规划模型 4.0-1整数规划模型整数规划模型数学建模实用教程高教出版社数学建模实用教程高教出版社2022-12-351二、整数二
36、、整数规划模型规划模型 4.0-1整数规划模型整数规划模型数学建模实用教程高教出版社数学建模实用教程高教出版社每每个个人人去去完完成成一一项项任任务务的的约约束束为为 111144434241343332312423222114131211xxxxxxxxxxxxxxxx 2022-12-352二、整数二、整数规划模型规划模型 4.0-1整数规划模型整数规划模型数学建模实用教程高教出版社数学建模实用教程高教出版社2022-12-353二、整数二、整数规划模型规划模型 4.0-1整数规划模型整数规划模型数学建模实用教程高教出版社数学建模实用教程高教出版社MODEL:MODEL:sets:sets
37、:num_i/1.4/num_i/1.4/;num_j/1.4/num_j/1.4/;link(num_i,num_j):a,xlink(num_i,num_j):a,x;endsetsendsetsdata:data:a=6,2,3,1,7,4,3,2,8,10,7,5,7,8,5,4a=6,2,3,1,7,4,3,2,8,10,7,5,7,8,5,4;enddataenddataOBJ max=sum(link(i,j):a(i,j)OBJ max=sum(link(i,j):a(i,j)*x(i,j)x(i,j);for(num_i(i):sum(num_j(j):x(i,j)=1for
38、(num_i(i):sum(num_j(j):x(i,j)=1;);for(num_j(j):sum(num_i(i):x(i,j)=1for(num_j(j):sum(num_i(i):x(i,j)=1;);for(link(i,j):BIN(x(i,j)for(link(i,j):BIN(x(i,j););ENDEND 用用LINGO求解模型求解模型2022-12-354二、整数二、整数规划模型规划模型 4.0-1整数规划模型整数规划模型数学建模实用教程高教出版社数学建模实用教程高教出版社最优分配方案是最优分配方案是:甲去劳动部当部长,乙甲去劳动部当部长,乙去文体部当部长,丙去宣传部当部长
39、,丁去去文体部当部长,丙去宣传部当部长,丁去学习部当部长学习部当部长2022-12-355三、二次三、二次规划模型规划模型 1.二次规划模型的一般形式二次规划模型的一般形式数学建模实用教程高教出版社数学建模实用教程高教出版社2022-12-356三、二次三、二次规划模型规划模型 2.二次规划模型的二次规划模型的LingoLingo解法解法数学建模实用教程高教出版社数学建模实用教程高教出版社MODEL:MODEL:sets:sets:num_inum_i/1.m/:b/1.m/:b;!m!m 表示数组的维数,是具体的正整数;表示数组的维数,是具体的正整数;num_j/1.n/:x,cnum_j/
40、1.n/:x,c;!n!n 表示数组的维数,是具体的正整数;表示数组的维数,是具体的正整数;num_k/1.n/num_k/1.n/;link_ij(num_i,num_j)/:alink_ij(num_i,num_j)/:a;link_jk(num_j,num_k)/:Clink_jk(num_j,num_k)/:C;EndsetsEndsetsdata:data:b=b(1),b(2),b=b(1),b(2),b(m),b(m);!约束条件右端项的实际数值;约束条件右端项的实际数值;c=c(1),c(2),c=c(1),c(2),c(n),c(n);!目标函数的系数的实际数值;目标函数的系
41、数的实际数值;a=a(1,1),a(1,2),a=a(1,1),a(1,2),a(1,n),a(1,n),a(2,1),a(2,2),a(2,1),a(2,2),a(2,n),a(2,n),.a(m,1),a(m,2),a(m,1),a(m,2),a(m,n),a(m,n);!约束条件系数矩阵的实际数值;约束条件系数矩阵的实际数值;C=C(1,1),C(1,2),C=C(1,1),C(1,2),C(1,n),C(1,n),C(2,1),C(2,2),C(2,1),C(2,2),C(2,n),C(2,n),.C(n,1),C(n,2),C(n,1),C(n,2),C(n,n),C(n,n);!目
42、标函数的系数的实际数值;目标函数的系数的实际数值;enddata enddatainit:init:x0=x0(1),x0(2),x0=x0(1),x0(2),x0(n),x0(n);!赋初始值;赋初始值;endinit endinitOBJmax=sum(num_j(j):c(j)OBJmax=sum(num_j(j):c(j)*x(j)+sum(link_jk(j,k):C(j,k)x(j)+sum(link_jk(j,k):C(j,k)*x(j)x(j)*x(k)x(k);for(num_i(i):sum(num_j(j):a(i,j)for(num_i(i):sum(num_j(j):
43、a(i,j)*x(j)=b(i)x(j)=0 for(num_j(j):x(j)=0;);END ENDMODEL:MODEL:sets:sets:num_inum_i/1.m/:b/1.m/:b;!m!m 表示数组的维数,是具体的正整数;表示数组的维数,是具体的正整数;num_j/1.n/:x,cnum_j/1.n/:x,c;!n!n 表示数组的维数,是具体的正整数;表示数组的维数,是具体的正整数;num_k/1.n/num_k/1.n/;link_ij(num_i,num_j)/:alink_ij(num_i,num_j)/:a;link_jk(num_j,num_k)/:Clink_jk
44、(num_j,num_k)/:C;endsetsendsetsdata:data:b=b(1),b(2),b=b(1),b(2),b(m),b(m);!约束条件右端项的实际数值;约束条件右端项的实际数值;c=c(1),c(2),c=c(1),c(2),c(n),c(n);!目标函数的系数的实际数值;目标函数的系数的实际数值;a=a(1,1),a(1,2),a=a(1,1),a(1,2),a(1,n),a(1,n),a(2,1),a(2,2),a(2,1),a(2,2),a(2,n),a(2,n),.a(m,1),a(m,2),a(m,1),a(m,2),a(m,n),a(m,n);!约束条件系
45、数矩阵的实际数值;约束条件系数矩阵的实际数值;C=C(1,1),C(1,2),C=C(1,1),C(1,2),C(1,n),C(1,n),C(2,1),C(2,2),C(2,1),C(2,2),C(2,n),C(2,n),.C(n,1),C(n,2),C(n,1),C(n,2),C(n,n),C(n,n);!目标函数的系数的实际数值;目标函数的系数的实际数值;enddata enddata init:init:x0=x0(1),x0(2),x0=x0(1),x0(2),x0(n),x0(n);!赋初始值;赋初始值;endinit endinit OBJmax=sum(num_j(j):c(j)
46、OBJmax=sum(num_j(j):c(j)*x(j)+sum(link_jk(j,k):C(j,k)x(j)+sum(link_jk(j,k):C(j,k)*x(j)x(j)*x(k)x(k);for(num_i(i):sum(num_j(j):a(i,j)for(num_i(i):sum(num_j(j):a(i,j)*x(j)=b(i)x(j)=0 for(num_j(j):x(j)=0;);END END2022-12-357三、二次三、二次规划模型规划模型 3.产品生产销售计划问题产品生产销售计划问题数学建模实用教程高教出版社数学建模实用教程高教出版社 某工厂生产的一种产品有甲、
47、乙两种型号,厂某工厂生产的一种产品有甲、乙两种型号,厂长希望根据市场的需求,生产计划要保证产销平衡长希望根据市场的需求,生产计划要保证产销平衡,争取获得更多的利润为此,请建模分析,该厂,争取获得更多的利润为此,请建模分析,该厂应该如何确定产品的生产计划(两种型号的产品各应该如何确定产品的生产计划(两种型号的产品各生产多少),使总的利润最大?生产多少),使总的利润最大?2022-12-358三、二次三、二次规划模型规划模型 3.产品生产销售计划问题产品生产销售计划问题数学建模实用教程高教出版社数学建模实用教程高教出版社2022-12-359三、二次三、二次规划模型规划模型 3.产品生产销售计划问
48、题产品生产销售计划问题数学建模实用教程高教出版社数学建模实用教程高教出版社2022-12-360三、二次三、二次规划模型规划模型 3.产品生产销售计划问题产品生产销售计划问题数学建模实用教程高教出版社数学建模实用教程高教出版社2022-12-361三、二次三、二次规划模型规划模型 3.产品生产销售计划问题产品生产销售计划问题数学建模实用教程高教出版社数学建模实用教程高教出版社MODEL:MODEL:sets:sets:num_i/1,2/:xnum_i/1,2/:x;endsetsendsetsOBJ max=98OBJ max=98*x(1)+277x(1)+277*x(2)-x(1)2-0
49、.3x(2)-x(1)2-0.3*x(1)x(1)*x(2)-2x(2)-2*x(2)2 x(2)2;x(1)+x(2)=100 x(1)+x(2)=100;x(1)=2x(1)=0 x(i)=0;);ENDEND 用用LINGO求解模型求解模型2022-12-362四、非线性四、非线性规划模型规划模型 1.非线性规划模型的一般形式非线性规划模型的一般形式数学建模实用教程高教出版社数学建模实用教程高教出版社2022-12-363四、非线性四、非线性规划模型规划模型 2.非线性规划模型的非线性规划模型的Lingo解法解法数学建模实用教程高教出版社数学建模实用教程高教出版社MODEL:MODEL:
50、sets:sets:num_i/1.m/num_i/1.m/;!m!m 表示数组的维数,是具体的正整数;表示数组的维数,是具体的正整数;num_j/1.l/num_j/1.l/;!l!l 表示数组的维数,是具体的正整数;表示数组的维数,是具体的正整数;num_k/1.n/:x0,xnum_k/1.n/:x0,x;!n!n 表示数组的维数表示数组的维数,是具体的正整数;是具体的正整数;endsetsendsetsinit:init:x0=x0(1),x0(2),x0(n)x0=x0(1),x0(2),x0(n);!赋初始值;赋初始值;endinitendinitOBJmin=f(x)OBJmin