1.用EXCEL 规划求解或Matlab 优化工具求解下列随机线性规划问题(10分) 目标函数:max E (z)=E (C 1).x 1+ E (C 2).x 2 约束条件: P(5 x 1+4x 2≤b 1)≥0.975P(2 x 1+3x 2≤b 2)≥0.985式中, C 1、C 2、b 1、b 2均为正态分布的随机变量C 1,N (9,32);C 2,N (8,22);b 1,N (30,82);b 2,N (20,72) (要求附规划求解的屏幕拷贝图,或Matlab 程序求解的屏幕拷贝图) 解:(1) 目标函数:21221189)()()(m ax x x x C E x C E z E +=+=约束条件:在上述模型中,对于机会约束,查正态分布表得到与025.0975.01=-和015.0985.01=-对应的960.1-=z 和170.2-=z ,于是320.14)960.1(*830)025.0(1=-+=b 810.4)170.2(*720)015.0(2=-+=b 原约束转化为确定性约束:810.432320.14452121≤+≤+x x x x(2) 在MATLAB 中求解,问题如下: Obj: 2189)(m ax x x z E += Sb.to:810.432320.14452121≤+≤+x x x x即目标函数的最大值为25.2514,在x 1=3.3886,x 2=-0.6557时取得。
2. 某水源地可供水量为Q ,可以分配给3个用户,分配水量x j 给用户j 时所产生的效益可近似表示为E j =a j x j 2+b j x j +c j ,j=1,2,3。
如何分配水量才能使总效益最大?列出数学模型,并用Lagrange 乘子法求解。
如果Q=19.25,a 1=-0.5,a 2=-0.4,a 3=-0.5,b 1=7.65,b 2=6.40,b 3=6.85,c 1=1710,c 2=1650,c 3=1580,求出具体的水量分配方案(15分)解:(1) 以分配水量获得的总效益最大为目标函数,根据题意建立如下数学模型: 目标函数:∑=++=312max j j j j j j c x b x a Z4940*85.6*5.0*40.6*4.0*65.7*5.01580*85.6*5.01650*40.6*4.01710*65.7*5.0323222121323222121++-+-+-=++-++-++-=x x x x x x x x x x x x约束条件:,,25.19321321≥=≤++x x x Q x x x(2) 构造拉格朗日函数:4940*85.6*5.0*40.6*4.0*65.7*5.0),(323222121++-+-+-=x x x x x x X L λ)25.19(*2321θλ+-+++x x x其驻点满足条件:040.68.0065.72211=++-=∂∂=++-=∂∂λλx x Lx x L0**2025.19085.6232133==∂∂=+-++=∂∂=++-=∂∂θλθθλλLx x x Lx x L(3) 解得:考虑到θλ,至少有一个为0,则存在以下三种情况。
① 0==θλ解得:85.6,8,65.7321===x x x ,不符合约束条件,因而舍去。
② 0,0≠=θλ此时,约束条件不起作用,解得:85.6,8,65.7321===x x x ,也不符合条件,因而也舍去。
③ 0,0=≠θλ解得:85.5,75.6,65.6,1321===-=x x x λ。
3.一个灌区耕地面积AREA =1500hm 2,可用灌溉水量W 为600万m 3。
在安排种植计划时,考虑三种粮食作物A ,B ,C ,其灌溉定额分别为4000m 3/hm 2、4500 m 3/hm 2,6000 m 3/hm 2,净收入分别为4500元/hm 2、5000元/hm 2、6000元/hm 2。
问如果希望在保证灌区净收入达到480万元的基础上尽可能多的节约灌溉水量,应如何安排三种作物的种植面积?建立多目标规划模型,并用线性目标规划求解(15分)(要求附MATLAB 程序或其他程序求解过程的屏幕拷贝图) 解:(1) 依据原问题建立多目标规划模型如下: 以作物A 、B 、C 的种植面积为决策变量。
目标函数:)6.045.04.0(600max 6.05.045.0max 32123211x x x Z x x x Z ++-=++=约束条件:,,6006.045.04.01500321321321≥≤++≤++x x x x x x x x x (2) 以作物A 、B 、C 的种植面积为决策变量,以-+11,d d 表示灌区净收入3216.05.045.0x x x ++与480万元之间的正、负偏差,以-+22,d d 表示灌溉水量3216.045.04.0x x x ++与600万m 3之间的正、负偏差。
第一个目标要求净收入达到480万元,即要求-1d 尽可能小;第二个目标要求节约灌溉水量最多,即要求-2d 尽可能大。
原多目标规划模型改为线性目标规划模型为:目标函数: )()(min 2211---+d P d P 目标约束: 6006.045.04.04806.05.045.02232111321=-+++=-++++-+-d d x x x d d x x x绝对约束:6006.045.04.0150023211321=+++=+++y x x x y x x x非负约束: 0,,,,,,,,221121321≥+-+-d d d d y y x x x 利用MATLAB 求解上述模型,可得: (3) 求解过程:第一步:求解如下模型: -1min d4806.05.045.011321=-++++-d d x x x 6006.045.04.0150023211321=+++=+++y x x x y x x x运行结果如下:010*1407.6181≈=--d 第二步:求解如下模型)min(2--d4806.05.045.011321=-++++-d d x x x6006.045.04.022321=-++++-d d x x x 6006.045.04.0150023211321=+++=+++y x x x y x x x01=-d运行结果如下:最终得到的结果为:463.155,0,854.293,878.496,318.363,951.345122121321=========--++d d d d y y x x x即三种作物的种植面积分别为345.951、363.318、496.878 hm 2时能够使净收入达到480万元且节水最大,节水为0 m 3。
4. 为寻求某水库的最优运行策略,将每年划分为3个时段,每个时段的入库水量有两个可能的离散值Q it (i=1,2为离散值编号;t =1,2,3为时段编号),根据历史资料分析,各时段的入库水量相互独立,Q it 的取值及其概率P it 见表1。
每个时段水库蓄水量S t 的变化范围为2~5,有效放水量R t 超过3,S t 和R t 均间隔1进行离散,各阶段不同放水量R t 下的净效益B t 见表1。
如果年初年末水库蓄水量均为2,用随机动态规划方法寻求一个最优运行策略(放水策略)。
(注:时段初水库蓄水量S t 和时段入库水量Q it 为状态变量)。
(20分)表1 各时段水库入库水量出现的概率及不同放水量下的净效益解:(1) 阶段变量:3,2,1=t ,表示水库年运行期的第t 个阶段; (2) 决策变量:第t 个阶段水库的有效放水量R t 。
(3) 状态变量:阶段初水库蓄水量S t 和时段入库水量Q it 。
(4) 状态转移方程:水库水量平衡方程 (假设没有蒸发渗漏损失)t it t t R Q S S -+=+1(5) 指标函数:t 阶段的指标函数为该阶段的放水净效益B t 。
(6) 目标函数:调度期内的总净效益最大 ()t t t t t R Q S B Z ,,max 31∑==(7) 约束条件:352≤≤≤t t R S(8) 边界约束:21==+t t S S采用顺序法进行递推求解,其基本方程为:),,(),,(11111111R Q S b R Q S B =*{}()3,2),,(),,(max ),,(11,11,,=+=+++*+*t R Q S EB R Q S b R Q S B t t i t t t t i t t t t i t t )3,2(),,(),,(2111,111,11,11==∑=+++*+++++*+t R Q S B p R Q S EB i t t i t t t i t t i t t表1 阶段1计算结果表2 阶段2计算结果表3 阶段3计算结果表4 水库最优运行策略5.投资决策问题。
某流域管理局设在今后五年内可用于流域投资的资金总额为900万元,有7个可以考虑的投资项目(表2),假定每个项目只能投资一次,第i 个项目所需的投资资金为bi 亿元,将会获得的利润为ci 亿元,且第4个项目和第5个项目2者只能选其中一个,问如何选择投资项目,才能使获得的总利润最大?试列出该问题的数学模型,并求解。
(10分)表2 电站的投资及年利润解:引入0-1变量,设第i 个项目被选状态为i x ,当1=i x 时,表示投资该项目;当0=i x 时,表示不投资该项目。
(1) 根据已知条件建立模型目标函数:76543211800230027002100300015002500m ax x x x x x x x Z ++++++=约束条件: 9001301802101402401102207654321≤++++++x x x x x x x154=+x x1,0,,,,,,7654321 x x x x x x x (2) 采用MATLAB 求解,求解结果如下:X=[1;1;1;1;0;1;0], Z=1.14亿元,即该管理局未来五年投资项目是第1、2、3、4、6个项目,可得到最大的利润,为1.14亿元。
程序编码:6.人工神经网络建模:已知14组观测值x 1、x 2、x 3、x 4及y (表4),利用BP 网络,预测第15组观测值x 1、x 2、x 3、x 4取值为122.1、65327、56747、1351.64时,y 的值。
(10分)(要求附程序,求解过程屏幕拷贝图)表3 试验观测结果解:计算结果为:当15,29021==x x 时,955.344=y 。
程序编码: % 输入X=[87.1 115.6 110.8 77.3 78.9 79.5 115.5 107.7 202 100.1 138 92.6 114.9 94.4; 42326 51606 52982.5 54359 57552.5 60746 58150 56445 63115 65189 70844 66418 69774 76903; 23926 31756 32422.5 33089 39847.5 46606 45970 36135 50065 52699 58224 56238 61494 69413 56747; 1357.58 1356.71 1356.16 1355.61 1355.24 1354.45 1353.79 1353.64 1353.1 1352.57 1352.27 1351.31 1351.68]; % 期望输出值Y=[1357.27 1356.71 1356.16 1355.61 1355.24 1354.45 1353.79 1353.64 1353.1 1352.57 1352.27 1351.31 1351.68 1351.64];%建立BP 网络,一层隐含层,隐层神经元数为3,输出为1个单元,训练函数为traingdmnet = newff(minmax(X),[3 1],{'tansig','purelin'},'traingdm'); %设置输入层权值和阈值 inputWeights=net.IW{1,1}; ingputbias=net.b{2}; %设置训练参数net.trainParam.lr=0.55; %学习率net.trainParam.epochs = 6000;%最大训练次数 net.trainParam.goal = 1e-7; %目标误差 net=init(net);%重新初始化 %训练网络net = train(net,X,Y); %仿真y = sim(net,X); %将测试数据输入网络进行测试E=Y-y; %计算测试集网络输出和目标的误差mse=MSE(E) %计算均方误差%对得出的网络进行测试X1=[122.1;65327;56747;1351.64];y1=sim(net,X1) %用sim仿真7.论述水资源系统分析的一个新理论或新方法(引进时间、方法介绍及应用情况)。