收藏 分享(赏)

实验九 供应与选址问题指导书.doc

上传人:cjc2202537 文档编号:1528088 上传时间:2018-07-25 格式:DOC 页数:5 大小:303KB
下载 相关 举报
实验九 供应与选址问题指导书.doc_第1页
第1页 / 共5页
实验九 供应与选址问题指导书.doc_第2页
第2页 / 共5页
实验九 供应与选址问题指导书.doc_第3页
第3页 / 共5页
实验九 供应与选址问题指导书.doc_第4页
第4页 / 共5页
实验九 供应与选址问题指导书.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、 实验九 供应与选址问题【实验目的】1了解非线性规划问题的基本概念和求解方法。2通过对应用问题的分析、建模、求解,加深对非线性规划理论的理解。3学习掌握 MATLAB 有关非线性规划求解的命令。【实验内容】某建筑公司有 6 个建筑工地要开工,每个工地的位置(用平面坐标 , 表示,距离ab单位:千米)及水泥日用量 (吨)由表 1 给出。目前有两个废旧的料场位于(5,1) ,d(2,7)处,现需要重新建设 、 两个料场,日储存量各为 20 吨。试问料场 、 各设ABAB在何处,并且如何制定每天的原料供应计划,使得从 、 两料场分别向各工地运送水泥AB总的吨千米数最小。表 1 工地的位置( , )及

2、各工地水泥日用量ab位置及用量 1 2 3 4 5 6横坐标 a1.25 8.75 0.5 5.75 3 7.25纵坐标 b1.25 0.75 4.75 5 6.5 7.75(吨)d3 5 4 7 6 11【实验准备】很多实际问题所归结的优化数学模型中,目标函数或约束条件很难用线性来表达。如果目标函数或约束条件中包含有非线性函数,就称这种优化模型为非线性规划问题。1非线性规划问题数学模型的一般表示 min)(xf0 1,2, .tsgiim(1)0 1,2,)(hjjk其中 , 为目标函数, , 为约束函数,在这些函数中至少有xnR)(xf )(xihj一个是非线性函数。令 0 1,2, ;

3、0 1,2, Sgii )(jjk(2)称 为可行集或可行域, 中的点称为可行点。这样(1)可用集约束的形式来表示S, min)(xf.tsS(3)设 为目标函数, 为可行域, ,若对每一个 均有)(xf *xS ,则称 为极小化问题(1)的最优解(整体最优解) ;若存在 的某邻域,* *x使得对该邻域中每个 成立 ,则称 为极小化问题的局部最优解。)(xf)f*x至于求目标函数的最大值或约束条件为小于等于零的情况,都可通过取其相反数,化为(1)所示的一般形式。库恩塔克(Kuhn Tucker)条件:若 为问题(1)的可行点,* =0 , 和 在 处可微, ( )在 点处连续,Ii)(xgi

4、)(fxgi*)(xgiI*x在 连续可微,且有向量集 , , 1,2, )(hj* )(i *hjijk线性无关,则存在非负数 , 和 , ,使得1m1k 0; 0; 0 )(*xfmi1)(*xgikjj)(*xj i)(*xgj)(*xh上式简称为 KT 条件,它也是最优解的必要条件。2非线性规划问题的求解方法求解非线性规划问题要比求解线性规划问题困难得多。非线性规划有着众多的算法,而且仍有新算法不断地被提出来,但它却不像线性规划有单纯形法这一通用解法,各个算法都有特定的适用范围,带有一定的局限性。通常,求解带约束条件的非线性规划问题的常见方法是:将约束问题化为无约束问题,将非线性规划问

5、题化为线性规划问题,以及将复杂问题转化为简单的问题。非线性规划的线性逼近法代数方法、如迭代,对于线性等式或不等式非常有效,以致很多非线性规划问题的,可以用与之近似的线性问题来代替,使问题简化。下面介绍的近似规划法就是一种线性化方法。近似规划法的基本思想:将问题(1)中的目标函数 和约束条件)(xf0( 1,2, ) ; 0( 1,2, , )近似为线性函数,并对)(xgiim)(xhjjk变量的取值范围加以限制,从而得到一个近似线性规划问题,再用单纯形法求解之,把符合原始条件的最优解作为(1)的解的近似。每得到一个近似解之后,都从这点出发,重复以上步骤。这样,通过求解一系列线性规划问题,产生一

6、个由线性规划最优解组成的序列,经验表明,这样的序列往往收敛于非线性规划问题的解。罚函数法罚函数的基本思想是通过构造罚函数把约束问题转化为一系列无约束最优化问题,进而用无约束最优化方法去求解。这类方法称为序列无约束最小化方法。简称为 SUMT(其一为 SUMT 外点法,其二为 SUMT 内点法) 。3求解非线性规划的 MATLAB 命令(1)MATLAB5.2 及以下版本使用的命令x = constr( fun , x0 ) 求解非线性规划模型(1) ;x = constr( fun , x0, options ) 参数 options 的定义由实验一中的表 1 给出x = constr( fu

7、n , x0, options , vlb , vub ) 指定决策变量的上下界 vlbxvub; x , options = constr( fun , x0 , . ) 同上,同时返回参数 options 的值必须先用 M文件定义函数 fun,其格式如下function f , g = fun( x )f = f( x ) ; g = g1( x ) ; g2( x ) ; ; gm( x )可调用 help 文件来了解 constr 的更多用法。二次规划的标准型为 minzHT2c(4).tsAxbx = qp( H , c , A , b ) 求解二次规划模型(4) ;x = qp(

8、H , c , A , b , vlb , vub ) 指定决策变量的上下界 vlbxvub;x = qp( H , c , A , b , vlb , vub , x0 ) 指定迭代的初始值 x0;x = qp( H , c , A , b , vlb , vub , x0 , n ) n 表示 中前 n 个约束条件等式约束;Ab程序 qp 其使用格式和线性规划中所讲的 lp 命令相似,可以用 help qp 来查阅有关该命令的详细信息(2)MATLAB5.3 以上版本使用命令求解的非线性规划模型: , 0 Axb)(c min)(xf.tseq(5) lupx = fmincon( fun

9、 , x0 , A , b ) 求解非线性规划模型(5) ,目标函数非线性;x = fmincon( fun , x0 , A , b , Aeq , beq ) 求解模型(5) ,有等式约束条件;x = fmincon( fun , x0 , A , b , Aeq , beq , lb , ub ) 求解线性规划模型( 5) ,指定了决策变量的上下界;x = fmincon( fun , x0 , A , b , Aeq , beq , lb , ub , nonlcon ) 非线性约束条件写成M 函数形式(nonlcon.m ) ;function c , ceq = nonlconc

10、= c( x ); ceq=ceq( x );用x , Fval代替上述各命令行中左边的 x,则可得到在最优解 x 处的函数值Fval;可以在 MATLAB 帮助文件中查阅有关该命令的更多用法。【实验方法与步骤】1引例问题的分析记工地的位置为( , ) ,水泥日用量为 , 1,6;料场位置为iaibid( , ) ,日储量为 , 1,2;从料场 向工地 的运送量为 。这个优化问题的jxjyjejijc目标函数(总吨千米数)可表为 (6)minf16 22)()(ji ijijj byaxc各工地的日用量必须满足,所以有 , 1,6 (7)21jicid各料场的运送量不能超过日储量,所以 , 1

11、,2 (8)61ijje则该问题的决策变量为料场位置 , 和 、 两料场往各工地的运送量 ,问题归结jxjyABijc为在约束条件(7) 、 (8)及决策变量为非负的情况下求料场位置( , )和运送量jxy使(6)的总吨千米数最小。由于目标函数 对 , 是非线性的,所以在求新建料ijc fjxjy场位置和用料时是非线性规划模型。2MATLAB 计算机求解首先定义非线性规划的 M 文件函数:function f,g=liaoch(x)a=1.25, 8.75, 0.5, 5.75, 3, 7.25;b=1.25, 0.75, 4.75, 5, 6.5, 7.75;d=3, 5, 4, 7, 6,

12、 11;e=20, 20;f1=0;% f1 是料场 A 到各工地的吨千米总数,其中 x(1)至 x(6)为料场 A 往各工地的运送量, (x(13), x(14)为 A 的位置for i=1:6s(i)=sqrt(x(13)-a(i)2+(x(14)-b(i)2);f1=s(i)*x(i)+f1;endf2=0;% f2 是料场 B 到各工地的吨千米总数,其中 x(7)至 x(12)为料场 B 往各工地的运送量, (x(15), x(16)为 B 的位置for i=7:12s(i)=sqrt(x(15)-a(i-6)2+(x(16)-b(i-6)2);f2=s(i)*x(i)+f2; end

13、f=f1+f2;for i=1:6g(i)=x(i)+x(i+6)-d(i);% 各工地用量必须满足endg(7)=sum(x(1:6)-e(1);% 各料场运送量不超过日储量g(8)=sum(x(7:12)-e(2);然后,在 MATLAB 命令框里输入求解命令: x0=zeros(1,12) 5 1 2 7;% 取零为往各工地运送量的初值,取废弃料场位置为新料场的初值 vlb=zeros(1,16);% 求解下界为零 op(13)=6;op(14)=2000;% 确定等式约定的数目和命令求解的最大迭代次数 x,op=constr(liaoch,x0,op,vl), y=op(8)将结果作成

14、列表的形式为工地 i1 2 3 4 5 6 新料场位置1c3 5 4 7 1 0 (5.6959,4.9284)2i0 0 0 0 5 11 (7.2500,7.7500)最小的总吨千米数为 89.8835。【结果分析】在命令框输入命令 text(1.25,1.25,+3); text(8.75,0.75,+5); text(0.5,4.75,+4) text(5.75,5,+7); text(3,6.5,+6); text(7.25,7.75,+11) text(5.6959,4.9284,A) text(7.2500,7.7500,B)0 1 2 3 4 5 6 7 8 901234567

15、8+3 +5+4 +7+6+11AB图 9.1图 9.1 画出了工地、新料场的位置(+为工地,旁边的数字为用量,A、B 分别表示新料场的位置,可以看出,新料场应建在两个用量最大的工地旁边,这个结果预先估计到了吗?所求得的解是全局最优解吗?实际上改变决策变量的初始值,那么给各工地的供应量和新料场的位置都要发生变化,不妨试试。【练习与思考】1某公司经营两种物品,第一种物品每吨(t)售价 30 元,第二种物品售价 450 元/t,根据统计,售出每吨第一种物品所需要的营业时间平均是 0.5h(小时) ,第二种物品是2+0.25 (h),其中 是第二种物品售出的数量。已知该公司在这段时间内的总营业时间2

16、x2x为 800h,试决定使其营业额最大的营业计划。2一基金管理者的工作是,每天将现有的美元、英镑、马克、日元四种货币按当天的汇率相互兑换,使在满足需要的条件下,按美元计算的价值最高。设某天的汇率、现有货币和当天需求如下:美元 英镑 马克 日元 现有量( )810需求量( )810美元 1 .58928 1.743 138.3 8 6英镑 1.697 1 2.9579 234.7 1 3马克 .57372 .33808 1 79.346 8 1日元 .007233 .00426 0.126 1 0 10问该基金管理者应如何操作?(“按美元计算的价值”指兑入、兑出汇率的平均值,例如 1 英镑相当于 美元)693.2)58.0/(697.3某厂向用户提供发动机。合同规定,第一、二、三季度末分别交货 40 台、60 台、80 台,每度的生产费用为 = + (元) ,其中 是该季生产的台数。若交货后有剩余,)(xfabx可用于下季度的交货,但需支付存储费,每台每季度 元。已知工厂每季度最大生产能力c为 100 台,第一季度开始时无存货,设 =50、 =0.2、 =4,问工厂应如何安排生产计划,b才能既满足合同又使总费用最低?讨论 、 、 变化对计划的影响,并作出合理的解释。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 经营企划

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报