数学建模—非线性规划实验报告
- 格式:docx
- 大小:157.60 KB
- 文档页数:4
《数学建模》上机作业信科05-3韩亚0511010305实验1 线性规划模型一、实验名称:线性规划模型—设备的最优配备问题。
二、实验目的:掌握线性规划模型的建模方法,并能用数值算法或MATLAB 库函数求解。
三、实验题目:某商店拟制定某种商品7—12月的进货、售货计划,已知商店仓库最大容量为1500件,6月底已存货300件,年底的库存以不少于300件为宜,以后每月初进货一次,假设各月份该商品买进、售出单价如下表。
四、实验要求:1、若每件每月的库存费用为0.5元,问各月进货、售货各为多少件,才能使净收益最多?建立数学模型。
2、利用相应的数值方法求解此问题的数学模型。
3、谈一谈你对这类线性规划问题的理解。
4、举一个简单的二维线性规划问题,并针对此问题将你所了解的线性规划的求解方法作出总结。
5、用软件lindo 或lingo 求解上述问题。
(选做题)6、编写单纯形算法的MATLAB 程序。
(选做题) 五、实验内容:解:设第i 个月进货xi 件,销售yi 件,则下半年总收益为销售收入减去进货费和仓库储存费之和,所以目标函数为:1211109871211109711109871211109875.232427252628252528262729)2345(5.0)2345)300(6(5.07x x x x x x y y y y y y y y y y y x x x x x x z y ------+++++++++++++++++-=整理后得:90024255.28275.2831255.25295.27295.31121110987121110987-------+++++=x x x x x x y y y y y y z由于仓库的容量为1500件,每个月的库存量大于0,小于1500,所以有如下约束条件150030001500300015003000150030001500300015003000111210119108978710119108978791089787897877877≤-+-+-+-+-++≤≤-+-+-+-++≤≤-+-+-++≤≤-+-++≤≤-++≤≤+≤y x y x y x y x y x x y x y x y x y x x y x y x y x x y x y x x y x x x又有年底库存量不少于300则:300300121112101191089787≥--+-+-+-+-++y y x y x y x y x y x x化为抽象的线性规划模型为:90024255.28275.2831255.25295.27295.31max 121110987121110987-------+++++=x x x x x x y y y y y y z ,;12,,8,7;0,0120030012003001200300120030012003001200300121112101191089787111210119108978710119108978791089787897877877 =≥≥--+-+-+-+-+≤-+-+-+-+-+≤-≤-+-+-+-+≤-≤-+-+-+≤-≤-+-+≤-≤-+≤-≤≤-i y x y y x y x y x y x y x x y x y x y x y x y x x y x y x y x y x x y x y x y x x y x y x x y x x x STi i线性规划目标函数的系数:f = [31; 28.5; 27; 28.5;25;24;-31.5;-29;-27.5;-29;-25.5;-25]; 约束方程的系数及右端项: A=[1,0,0,0,0,0,0,0,0,0,0,0 1,1,0,0,0,0,-1,0,0,0,0,0 1,1,1,0,0,0,-1,-1,0,0,0,0 1,1,1,1,0,0,-1,-1,-1,0,0,0 1,1,1,1,1,0,-1,-1,-1,-1,0,0 1,1,1,1,1,1,-1,-1,-1,-1,-1,0 -1,0,0,0,0,0,0,0,0,0,0,0 -1,-1,0,0,0,0,1,0,0,0,0,0 -1,-1,-1,0,0,0,1,1,0,0,0,0 -1,-1,-1,-1,0,0,1,1,1,0,0,0 -1,-1,-1,-1,-1,0,1,1,1,1,0,0 -1,-1,-1,-1,-1,-1,1,1,1,1,1,0 -1,-1,-1,-1,-1,-1,1,1,1,1,1,1];b=[1200;1200;1200;1200;1200;1200; 300; 300; 300; 300; 300; 300;0]; lb=zeros(12,1);[x,fval,exitflag,output,lambda] = linprog(f,A,b,[],[],lb);实验2 非线性规划模型一、实验名称:非线性规划模型。
实验三 非线性规划实验名称:利用运筹学软件求解非线性规划问题实验目的:1.学会建立M 文件,并学会用Matlab 的软件包内部函数求解非线性规划问题;2. 对实际问题进行数学建模,并学会用数学软件Matlab 或运筹软件Lindo/Lingo 对问题进行求解。
实验内容:1.MATLAB 求解非线性规划函数非线性规划分为无约束规划和有约束规划两种。
1. 1无约束规划 标准型定义为: min f(x)用fminunc 函数和fmisearch 函数求解, fminunc 简单形式为: [x,fval]=fminunc(@fun,x0)表示求函数fun 的最小值,fun 函数定义在M 文件fun..m 中,并置初始解向量为x0。
例1:计算无约束非线性问题, 22212123)(m i n x x x x x f ++= 解的初始向量为x0=[1, 1] 第一步,编写M 文件: function f=fun(x)f=3*x(1)^2+2*x(1)*x(2)+x(2)^2第二步,求解:>> x0=[1,1];>> [x,fval]=fminunc(@fun,x0)运行后得:x =1.0e-008 *-0.7512 0.2479fval =1.3818e-016注一:fminunc函数和fmisearch函数使用形式相似,但也有不同:1)对于fminunc函数,目标函数必须连续2)如果目标函数的阶数大于2阶,则一般地fmisearch函数不如fminunc函数1.2有约束非线性规划标准型定义为:min f(x)X(G)若()G X为非G X为线性函数用fmincon函数constr函数都可,若()线性函数用constr函数。
A.用fmincon函数求解的基本形式为[x,fval]=fmincon('fun',x0,A,b)表示求函数fun 的最小值,fun 函数定义在M 文件fun..m 中,并置初始解向量为x0。
《数学建模实验》实验报告学院名称数学与信息学院专业名称提交日期课程教师实验一:数学规划模型AMPL求解实验内容1. 用AMPL求解下列问题并作灵敏度分析:一奶制品加工厂用牛奶生产A1和A2两种奶制品,1桶牛奶可以在甲类设备上用12小时加工成3公斤A1或者在乙类设备上用8小时加工成4公斤A2,且都能全部售出,且每公斤A1获利24元,每公斤A2获利16元。
先加工厂每天能得到50桶牛奶的供应,每天工人总的劳动时间为480小时,并且甲类设备每天至多加工100公斤A1,乙类设备的加工能力没有限制,试为该厂制定一个计划,使每天的获利最大。
(1)建立模型文件:milk.modset Products ordered;param Time{i in Products }>0;param Quan{i in Products}>0;param Profit{i in Products}>0;var x{i in Products}>=0;maximize profit: sum{i in Products} Profit [i]* Quan [i]*x[i];subject to raw: sum{i in Products}x[i] <=50;subject to time:sum{i in Products}Time[i]*x[i]<=480;subject to capacity: Quan[first(Products)]*x[first(Products)]<=100;(2)建立数据文件milk.datset Products:=A1 A2;param Time:=A1 12 A2 8;param Quan:=A1 3 A2 4;param Profit:=A1 24 A2 16;(3) 建立批处理文件milk.runmodel milk.mod;data milk.dat;option solver cplex;solve;display x;(4)运行运行结果:CPLEX 11.0.0: optimal solution; objective 33602 dual simplex iterations (1 in phase I)x [*] :=A1 20A2 30;(5)灵敏度分析:model milk.mod;data milk.dat;option solver cplex;option cplex_options 'sensitivity';solve;display x;display x.rc, x.down, x.up;display raw, time, capacity;display raw.down, raw.up,raw.current, raw.slack;得到结果:【灵敏度分析】: x.rc x.down x.up:=A1 -3.55271e-15 64 96A2 0 48 72;raw = 48time = 2capacity = 0raw.down = 43.3333raw.up = 60raw.current = 50raw.slack = 0某公司有6个建筑工地,位置坐标为(a i, b i)(单位:公里),水泥日用量d i (单位:吨)1) 现有j j j吨,制定每天的供应计划,即从A, B两料场分别向各工地运送多少吨水泥,使总的吨公里数最小。
大学数学实验实验报告——非线性规划2 大学数学实验 实验报告 | 2014/5/22x3A +x3B ≤500;xA ≤100; xB ≤200;x1A ,x2A ,x3A ,x1B ,x2B ,x3B ,xA ,xB ≥0;针对于不同的情况,改变约束条件中的相关参数,就可以进行优化求解了。
解决方案:针对第一问,直接按照上面的不等式利用LINGO 软件直接编写程序求解: max =-6*x1A-16*x2A-10*x3A-6*x1B-16*x2B-10*x3B+9*xA+15*xB; x1A+x2A+x3A=xA; x1B+x2B+x3B=xB;3*x1A+x2A+2*x3A<=2.5*xA; 3*x1B+x2B+2*x3B<=1.5*xB; x1A*x2B=x2A*x1B; x1A+x1B<=500; x2A+x2B<=500; x3A+x3B<=500; xA<=100; xB<=200; 非负约束省略。
运行得到优化结果报告的部分内容如下: Global optimal solution found.Objective value: 400.0000 Objective bound: 400.0000 Infeasibilities: 0.000000 Extended solver steps: 2 Total solver iterations: 134Model Class: NLPVariable Value Reduced Cost X1A 0.000000 0.000000 X2A 0.000000 4.000000 X3A 0.000000 0.000000 X1B 0.000000 2.0000003大学数学实验 实验报告 | 2014/5/2X2B 100.0000 0.000000 X3B 100.0000 0.000000 XA 0.000000 0.000000 XB 200.0000 0.000000Row Slack or Surplus Dual Price 1 400.0000 1.000000 2 0.000000 -14.00000 3 0.000000 -22.00000 4 0.000000 2.000000 5 0.000000 6.000000 6 0.000000 0.2000000E-01 7 500.0000 0.000000 8 400.0000 0.000000 9 400.0000 0.000000 10 100.0000 0.000000 11 0.000000 2.000000从这份报告可以看出,当用乙、丙各100t 来生产200t 的B 时利润最大为40(万元)。
数学建模试验报告(三)姓名 学号 班级 0903 问题:(非线性规划)某厂向用户提供发动机,合同规定,第一、二、三季度末分别交货40台、60台、80台.每季度的生产费用为 (元),其中x 是该季生产的台数.若交货后有剩余,可用于下季度交货,但需支付存储费,每台每季度c 元.已知工厂每季度最大生产能力为100台,第一季度开始时无存货,设a=50、b=0.2、c=4,问工厂应如何安排生产计划,才能既满足合同又使总费用最低.讨论a 、b 、c 变化对计划的影响,并作出合理的解释..问题的分析和假设:若每季度的生产费用为 f(x) = ax + bx^2(元)设三季度分别生产量为x , y , 180-x-y 台。
且应满足40≤x≤100,100≤x+y≤180,0≤y≤100,x,y ∈N+(正整数)a=50、b=0.2、c=4则第一季度生产费用T1=50 x + 0.2x^2剩余产品存储到下一季度的费用K1=4(x-40)同理T2=50y + 0.2y^2K2=4(x+y-100)T3=50(180-x-y) + 0.2(180-x-y )^2()2bx ax x f +=建模:总费用F=T1+T2+T3+K1+K2=9000+0.2(x^2+ y^2)+0.2(180-x-y) ^2+4(2x+y-140)令F'x=0F'y=0即0.4x-0.4(180-x-y)+8=00.4y-0.4(180-x-y)+4=0解得x=50 y=60易验证该点处令F''xx≥0F''yy≥0即为F的极小值点。
在通过和边界值的比较知其是定义域上的最小值点。
对以上问题加以整理分析,用matlab实现,m文件为:a=50;b=0.2;c=4;H=diag(2*b*ones(1,3));C=[a+2*c,a+c,a];A1=[-1,0,0;-1,-1,0];b1=[-40,-100]';A2=[1 1 1];b2=180;v1=[0 0 0]';v2=[100 100 100]';[x,faval,exitflag,output,lambada]=quadprog(H,C,A1,b1,A2,b2,v1,v2,[]) y=x'*H*x/2+C*x-140*c求解的Matlab程序代码:a=50;b=0.2;c=4;H=diag(2*b*ones(1,3));C=[a+2*c,a+c,a];A1=[-1,0,0;-1,-1,0];b1=[-40,-100]';A2=[1 1 1];b2=180;v1=[0 0 0]';v2=[100 100 100]';[x,faval,exitflag,output,lambada]=quadprog(H,C,A1,b1,A2,b2,v1,v2,[]) y=x'*H*x/2+C*x-140*c输出结果x =50.000060.000070.0000faval = 11840exitflag = 1output =iterations: 1algorithm: 'medium-scale: active-set'firstorderopt: []cgiterations: []message: 'Optimization terminated.'lambada =lower: [3x1 double]upper: [3x1 double]eqlin: -78ineqlin: [2x1 double]y =11280计算结果与问题分析讨论:问题分析:费用总量最低生产方案是:三个季度分别生产50、60、70台a,b,c对生产方案的影响:a增大或减小对生产方案完全没有影响(无论a为多少,方案都是50、60、70)。
非线性规划建模实验一、二次规划标准型为:MinZ=1/2X T HX+c T Xs。
t。
AX<=bVLB≤X≤VUB用MATLAB软件求解,其输入格式如下:1。
x=quadprog(H,C,A,b);2. x=quadprog(H,C,A,b,Aeq,beq);3。
x=quadprog(H,C,A,b,Aeq,beq,VLB,VUB);4。
x=quadprog(H,C,A,b,Aeq,beq,VLB,VUB,X0);5. x=quadprog(H,C,A,b,Aeq,beq,VLB,VUB,X0,options);6. [x,fval]=quaprog(.。
);7. [x,fval,exitflag]=quaprog(。
);8. [x,fval,exitflag,output]=quaprog(.。
.);第一题:minf(x1,x2)=—2x1—6x2+x12-2x1x2+2x22 s。
t。
x1+x2≤2-x1+2x2≤2x1≥0,x2≥01、写出标准形式为2、输入命令:H=[1-1;-12]; c=[-2;—6];A=[11;—12];b=[2;2];Aeq=[];beq=[];VLB=[0;0];VUB=[];[x,z ]=quadprog(H,c,A ,b ,Aeq,beq ,VLB ,VUB )3、运算结果为:x=0.66671。
3333z=—8。
2222二、一般的非线性规划标准型为:minF (X )s.t AX 〈=bG (X)Ceq (X)=0 VLB X VUB 其中X 为n 维变元向量,G (X)与Ceq(X )均为非线性函数组成的向量,其它变量的含义与线性规划、二次规划中相同。
用Matlab111222 1 -12min (,) 1 26Tx x z x x x x -⎛⎫⎛⎫⎛⎫⎛⎫=+ ⎪ ⎪ ⎪ ⎪--⎝⎭⎝⎭⎝⎭⎝⎭1212 1 121 2200x x x x ⎛⎫⎛⎫⎛⎫≤ ⎪ ⎪ ⎪-⎝⎭⎝⎭⎝⎭⎛⎫⎛⎫≤ ⎪ ⎪⎝⎭⎝⎭s.t.求解上述问题,基本步骤分三步:1。
《大学数学实验》作业非线性规划班级:姓名:学号: 日期:目录【实验目的】 (3)【实验内容】 (3)题目1 (课本习题第九章第4题) (3)【第(1)问求解】 (3)【第(2)问求解】 (7)【第(3)问求解】 (7)【拓展实验、思考、对比、分析】 (8)【木题小结】 (10)题目2(课本习题第九章第8题) (10)【模型建立】 (11)【模型求解】 (14)【第(1)问求解】 (14)【第(2)问求解】 (20)【第(3)问求解】 (22)【拓展实验、思考、对比、分析】 (23)【本题小结】 (25)【实验心得、体会】 (25)注:本实验作业脚本文件均以ex9_4_l形式命名,其中ex代表作业,9_4_1表示第九章第四小题第一个程序。
自编函数均以exf9_4_l形式命名,exf代表作业函数,9_4_1 表示第九章第四题第一个自编函数。
【实验目的】1.掌握用MATLAB优化工具箱和LINGO解非线性规划的方法;2.练习建立实际问题的非线性规划模型。
【实验内容】题目1 (课本习题第九章第4题)某公司将3种不同含硫量的液体原料(分别记为甲、乙、丙)混合生产两种产品(分别记为A, B)。
按照生产工艺的要求,原料甲、乙必须首先倒入混合池中混合,混合后的液体再分别与原料丙混合牛产A, Bo已知原料甲、乙、丙的含硫量分别是3%, 1%, 2%,进货价格分别为6千元/t, 16千元/t, 10千元/t;产品A, B的含硫量分别不能超过2.5%, 1.5%,售价分别为9千元/t, 15千元/t。
根据市场信息,原料甲、乙、丙的供应量都不能超过500t;产品A, B的最大市场需求量分别为100t, 200to(1)应如何安排生产?⑵如果产品A的最大市场需求量增长为600t,应如何安排生产?⑶如果乙的进货价格下降为13千元/t,应如何安排生产?分别对(1)、(2)两种情况进行讨论。
【第(1)问求解】【模型建立】⑴模型该题为带约束非线性规划问题,其模型包含决策变量、FI标函数和约束条件。
实验六数学建模—非线性规划
实验目的:
1.直观了解非线性规划的基本内容.
2.掌握用数学软件求解优化问题.
实验内容:
1、某厂向用户提供发动机,合同规定,第一、二、三季度末分别交货40台、60台、80台.每季度的生产费用为()2
bx
ax
x
f+
=(单位:元), 其中x是该季度生产的台数.若交货后有剩余,可用于下季度交货,但需支付存储费,每台每季度c元.已知工厂每季度最大生产能力为100台,第一季度开始时无存货,设a=50、b=0.2、c=4,问:工厂应如何安排生产计划,才能既满足合同又使总费用最低.讨论a、b、c变化对计划的影响,并作出合理的解释.
2、一基金管理人的工作是: 每天将现有的美元、英镑、马克和日元四种货币按当天汇率相互兑换,使在满足需要的条件下,按美元计算的价值最高.设某天的汇率、现有货币和当天需求如下:
问该天基金管理人应如何操作. (“按美元计算的价值”指兑入、兑出汇率
的平均值,如1英镑相当于
()
2
58928
.0
1
697
.1+=1.696993美元.)
实验过程与结果:
1、(1)模型建立
决策变量:设第1,2,3季度分别生产x1,x2,x3台发动机,第1,2季度末分别有存货40-x1,x1+x2-100台,第3季度末无存货
目标函数:设总费用为
z=a(x1+x2+x3)+b(x1^2+x2^2+x3^2)+c[(x1-40)+(x1+x2-100)]
约束条件:生产的发动机应该在第3季度末全部卖出,则有x1+x2+x3=180;同时要保证第1,2季度能供货且有能力生产,要求x1≥40,x1+x2≥100,100≥x1,100≥x2,100≥x3
非负约束:x1,x2,x3≥0
综上可得:
Maxz=a(x1+x2+x3)+b(x1^2+x2^2+x3^2)+c[(x1-40)+(x1+x2-100)]
s.t.x1+x2+x3=180
x1+x2≥100
x1≥40
0≤x1,x2,x3≤100
(2)模型求解
结果为:
即工厂应第一季度生产50台发动机,第二季度生产60台发动机,第三季度生产70台发动机,才能既满足合同又使总费用最低。
进一步讨论参数a,b,c对生产计划的影响:
由于生产总量是恒定的,即x1+x2+x3=180,而z=a(x1+x2+x3)+b(x1^2+ x2^2 +x3^2)+c[(x1-40)+(x1+x2-100)],故a的变化不会影响生产计划;b是x的二
次项的系数,它反映了生产费用。
当b比较大时,生产费用占主导地位,x1,x2,x3应趋于相等;而当b较小时,贮存费占主导地位,此时应使每季度的贮存量较少。
c反映了贮存费。
当c较大时,贮存费占主导地位,此时应使贮存量尽量少;而当c较小时,生产费用占主导地位,x1,x2,x3应趋于相等。
2、
解:日元现有量为0,可不予考虑
现有美元8,需求为6,设兑换成美元,英镑,马克,日元的美元数量为x1,x2,x3,x4 现有英镑1,需求为3,设兑换成美元,英镑,马克,日元的英镑数量为x5,x6,x7,x8
现有马克8,需求为1,设兑换成美元,英镑,马克,日元的马克数量为x9,x10,x11,x12,英镑,马克,日元按美元计算的价值分别为
y1=(1.697+(1/0.58928))/2,
y2=(0.57372+(1/1.743))/2,
y3=(0.007233+(1/138.3))/2
目标函数为:
minz=-(x1+x2*0.58928*y1+x3*1.743*y2+x4*138.3*y3+x5*1.697+x6*y1+x7 *2.9579*y2+x8*234.7*y3+x9*0.57372+x10*0.33808*y1+x11*y2+x12*79.346*y3 )
约束条件为:
x1+x2+x3+x4=8
x5+x6+x7+x8=1
x9+x10x+x11+x12=8
x1+1.697*x5+0.57372*x9>=6
0.58928*x2+x6+0.33808*x10>=3
1.743*x3+
2.9579*x7+x11>=1
138.3*x4+234.7*x8+79.346*x12>=10
实现的matlab代码为:
结果为:
实验总结:
1、通过本次实验,我了解了非线性规划的基本理论.
2、掌握用数学软件求解优化问题.。