实验九非线性规划_第1页
实验九非线性规划_第2页
实验九非线性规划_第3页
实验九非线性规划_第4页
实验九非线性规划_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2023实验九非线性规划

2023实验九非线性规划

J

7

实验目的

1,掌握用MATLAB优化工具箱和LINGO解非线性规划的方法;

2.练习建立实际问题的非线性规划模型。

二、实验内容

项目一:

(1)某公司将生产3种不同含硫量的液体原料(分别记为甲、乙、丙)混合生产两种产品(分

别记为A,B)。按照生产工艺的规定,原料甲、乙必须一方面倒入混合池中混合,混合后的

液体再分别与原料丙混合生产A,B。已知原料甲、乙、丙的含硫量分别是3%,1%,2%,进货

价格分别为6千元/t,16千元/t,10F元/t;产品A,B的含硫量不能超过2.5%,1.5%,售价分别

为9千元儿15千元八。根据市场信息,原料甲、乙、丙的供应量都不能超过500t;产品A,B

的最大市场需求量分别为10()t,2()0to

应如何安排生产?

假如产品A的最大市场需求量增长为600t,应如何安排生产?

假如乙的进货价格下降为13千元/t,应如何安排生产?分别对(1)、(2)两种情况进行讨

论。

问题分析及模型建立:

这是•个约束优化问题,•方面,我们需要找到目的函数和所有的约束条件,进而可以求解其最

优解决方案。根据题目中的规定,我们可以知道利润函数就是其目的函数,设其利润为Z。另设

用来生产A.B两种产品的原料甲、乙、丙分别为AA.x2A.x3A.x1B.x2B.x3B。A.B的产量分别为

xA.xBo则由题目中的信息得到目的函数和约束条件:

目的函数:

Z=-6xxlA-16xx2A-10xx3A-6xxlB-16xx2B-10xx3B+9xxA+15xxB;

约束条件:

xlA+x2A+x3A=xA;

xlB+x2B+x3B=xB;

3xxlA+x2A4-2xx3A<2.5xxA;

3xxlB+x2B+2xx3B<1.5xxB;

xlAxx2B=x2AxxlB;

xlA4-xlB<500;

x2A+x2B<500;

x3A+x3B<500;

xA<100;

xB<200;

xlA,x2A,x3A,xlB,x2B,x3B,xAxB>0;

针对于不同的情况,改变约束条件中的相关参数,就可以进行优化求解了。

解决方案:

针对第一问,直接按照上面的不等式运用LINGO软件直接编写程序求解:

max=-6*xlA-16*x2A-10*x3A-6*x1B-16*x2B-10*x3B+9*xA+15*xB;

x1A+x2A+x3A二xA;

xlB+x2B+x3B=xB;

3*xlA+x2A+2*x3A<=2.5*xA;

3*xlB+x2B+2*x3B<=1.5*xB;

xlA*x2B=x2A*x1B;

xlA+xIB<=500;

x2A+x2B<=500;

x3A+x3B<=500;

xA<=100;

10100.00000.000000

110(0()0002.000(X)0

从这份报告可以看出,当用乙、丙各loot来生产200t的B时利润最大为40(万元)。

即生产方案为:

对于第二个问题,只需要修改其中一个约束条件即可:

xA<100改为xA<600.

重新求解得到报告部分内容如下:

Globaloptimalsolutionfound.

Objectivevalue:600.(X)00

Objectivebound:600.0000

Infeasibilities:0.000000

Extendedsolversteps:4

Fotalsolveriterations:214

ModelClass:NLP

VariableValueReducedCost

XIA300.00000.000000

X2A00000002.000000

X3A300.00000.000000

X1B0.0000(X)6.000000

X2BO.OOOO(X)o,oooooo

X3B0.0000000.000000

XA6()0.00000.000000

XB0.0000000.000000

RowSlackorSurplusDualPrice

1600.00001.000000

20.000000-18.00000

30.000000-30.00000

40.0000004.000000

50.00000010.00000

60.000000O.1333333E-OI

7200.00000.000000

8500.00000.000000

9200.00000.000000

100.0000001.000000

11200.00000.000000

从这份优化结果报告中可以得出最佳生产方案为用300t的甲和300t的丙来生产600吨的A所得

的利润最大为60(万元)。

生产方案如下:

虽然总利润是上升了,但是可以看出,利润率明显比之前下降了,第一问的方案中利润率(利润/

成本)为40/260=15.4%,而现方案的利润率为60/480=12.5%o这就意味着在仅考虑原料成本的

基础上该方案总利润更大,但假如考虑时间成本,设备成本和人工成本,该方案并不一定是最佳

的。

针对问题三,在问题一的基砒上修改一个参数进行求解即可,即将乙的原料价格参数由16修改

为13。

修改参数后求解得到报告部分内容如下:

Globaloptimalsolutionfound.

Objectivevalue:750.0000

Objectivebound:750.0000

Infeasibilities:0.0000()0

Extendedsolversteps:4

Totalsolveriterations:244

ModelClass:NLP

VariableValueReducedCost

XIA0.0000001.000000

X2A00000000.000000

X3A00000000.000000

X1B50.000000.000000

X2B150.00000.000000

X3B0.0000000.5000000

XA0.3000000.000000

XB2(X).()00()0.00000()

RowSlackorSurplusDualPrice

1750.00001.000000

20.000000-14.00000

30.000000-16.50000

40.0000002.000000

50.0000003.5OOOOO

60.000000O.2O23OOOE-O1

7450.00000.000000

8350.00000.000000

9500.00000.000000

1060().00(X)0.000(X)0

110(()00003.75000()

从报告中可以看出,当用50t甲和150t乙来生产200t的产品B时所得的利润最大为75(万

元)。

生产方案如下:

同样可以求得利润率为75/225=33.3%。即在原料价格明显下降的情况下利润率将会有显著的增

长。

明目二:

美国某3种股票(A,B,C)2023(1943—1954年)的价格:已经涉及了分红在内)每年的增长

情况如表所示(表中还给出了相应年份的500种股票的价格指数的增长情况)。例如,表中第

一个数据L300的含义是股票A在1943年的年末价值是其年初价值的L300倍,即收益为30%,

其余数据的含义依此类推。假设你在1955年时有一笔资金准备投资这三种股票,并盼望年收益

率至少达成15%,那么你应当如何投资?此外,考虑以下问题:

(1)当盼望的年收益率在10%〜100%之间变化时,投资组合和相应的风险如何变化?

(2)假设除股票A股票B股票C股票指数

了上述三种股

票外,投资人

尚有一种无风

险的投资方

式,如购买国

库券。假设国

库券的年收益

率为5%,如何

考虑该投资问

题?

(3)假设你

手上目前握有

的股票比例

为:股票A占

50%,B占35%,

C占15%。这

个比例与你得

到的最优解也

许有所不同,

但实际股票市

场上每次股票

买卖通常总有

交易费,例如

按交易额的

1%收取交易

费,这时你是

否仍需要对手

上的股票进行

买卖(换

手),以便满

足“最优解”

的规定?

年份

19431.3001.2251.1491.258997

19441.1031.2901.2601.197526

19451.2161.2161.4191.364361

19460.9540.7280.9220.919287

19470.9291.1441.1691.057080

19481.0561.1070.9651.055012

19491.0381.3211.1331.187925

19501.0891.3051.7321.3I7B0

19511.0901.1951.0211.240164

19521.0831.3901.1311.183675

19531.0350.9281.0060.990108

19541.1761.7151.9081.526236

问题分析及模型建立:

该问题与书上的例题相似,都属于多目的规划一类的问题,对于该题目,即是在风险与投资收益

这两个目的函数之间做优化,使在一定的收益下风险最小或者在一定的风险下收益最大。对于

收益,可以用记录量盼望来衡量,而对于风险的大小则可以用方差来衡量。

一方面对题目中给出的三只股票的信息,运用EXCEL对其进行初步解决得出三只股票的盼望和

方差,得到结果如下:

年份股票AA收益率股票BB收益率股票CC收益率股票指数

143

11.30.31.2250.2251.1490.1491.258997

144

1M1.26

451.1030.1031.290.290.261.197526

19

461.2160.2161.2160.2161.4190.4191.364361

19

470.954-0.0460.728-0.2720.922-0.0780.919287

19

480.929-0.0711.1440.1441.1690.1691.05708

19

491.0560.0561.1070.1070.965-0.0351.055012

1

0501.0380.0381.3210.3211.1330.1331.187925

19

511.0890.0891.3050.3051.7320.7321.31713

19

521.090.091.1950.1951.0210.0211.240164

19

531.0830.0831.390.391.1310.1311.183675

1

1541.0350.0350.928-0.0721.0060.0060.990108

10

1)^1.1760.1761.7150.7151.9080.9081.526236

1.0890830.0890831.2136670.2136671.2345830.2345831.191458

0.0099070.0099070.0535260.0535260.0863750.0863750.326342

-0.0995330.0995330.2313560.2313560.2938960.2938960.162302

AB协方差BC协方差AC协方差

0.0113730.0508080.011986

协方差*20.0227470.1016150.023971

设三只股票A,B,C的购买比例为分别为口记股票A,B,C的收益率分别为口,根据题意,□是一个

随机变量,投资的总收益率匚也是•个随机变帚。用E和1)分别表达随机变量的数学盼望和方

差,COV表达两个随机变量的协方差。

则总收益率为:

Zi=ES=x/,+X2ES2+X3ES3=0.0891/+0.2137x2+0.2346x3;

投资总收益率的方差为:

Z2=D{x1S1+x2S2+x3S3)

=D(XiSj+D(.r2S2)+£)[丫3§3)+2COV(.Y1S1,X2S2)+2cov(x1S1,.r3S3)+2cov(.x2S2,x3S3)

=x[DSx+X2i)S2+xlDS3+2XXX2COV(SX^2)+2x1x3cov(S1,S3)+2x2x3cov(S2,S3)

2

2

=0.0099%1+0.0535x0.0864X0+0.0227x^2+0.0240%,%3+0.1016x2x3

根据题目有一下约束条件:

%1+%2+%3=1;(持有比例总和等于100%)

%1司,巧之°;(持有帚非负)

再根据具体问题对其进行优化即可得到最优解。

解决方案:

对于该问题,属于在指定收益下求其风险最小的最优解的类型,将风险函数作为目的函数,收益

函数作为约束条件,运用MATLAB编写程序进行求解如下:

该问题属于二次优化,故可以使用针对二次优化的quadprog函数进行求解:

H=[

0.0099*20.02270.0240

0.0227O.O53S*20.1016

0.02400.10160.0864*2

];

c=[000|;

A1=[

-0.0891-0.2137-0.2346

];

b1=-0.15;

A2=[111];

b2=1;

vl=[000];

xO=[O.3O.3O.3];

[x,fv]=quadprog(H,c,Al,b1,A2,b2,vl,[],x0)

得到运营结果为:BC

A

53.01%35.73%11.26%

这也就得到了在预期收益为15%的情况下的最佳投资方案。

当预期收益变化时投资方案的变化情况:

针对该问题,对程序做循环求解得到不同收益下的投资方案,程序如下:

clearall;clc;

fori=1:1:10()0;

m=i/1000

H=[

0.0099*20.02270.0240

0.02270.0535*20.1016

0.02400.10160.0864*2

1;

c=|000];

Al=[

-0.0891-0.2137-0.2346

];

bl=-m;

A2=[l11|;

b2=1;

v1=|000];

xO=[O.3O.3O.3J;

[x(i,:),fv(i)|=quadprog(H,c,Al,bl,A2,b2,v1,[],x0);

end

t=1:1:1000;

figure;

holdon;

plot(t/10(X),x(t,1);b');

pk)t(t/10(X),x(l,2),'r');

plot(t/10(X),x(t,3),'k');

grid;

为了方便分析,绘制出曲线进行直观的观测,一方面在全区域内求解,运营得到结果如下图:

从图中可以看出,在0.25附近某个值(三只股票中最高的攻益率的值)之后,由于收益率不也许

比最高值更高,所以在此之后的收益率是无解的,所以在图上可以明显看出给出的优化结果是不

合理的,所以我们只研究在最高收益率之前的那一部分。

由之前计算出的数据可以得到,C股票的收益率盼望最高,为23.46%,这也就是总收益率的最大

值,所以对0〜23.46%之间的区域进行分析:重新绘图如下:

此外绘制出风险-收益关系曲线如下:

对其进行放大观测并结合导出数据分析得到结论如下:

1)预期收益率在0%〜8.91%之间,所有购买股票A;

2)预期收益率在8.91%〜941%之间,B股票的持有量随收益增长而增长,A股票持有量随收益增

长而减少,C股票持有量为0%;

3)预期收益率在9.41%〜21.90%之间,A股票的持有率履收益率增长而继续减少,B.C股票持有帚

随预期收益率增长而增长,并且B的持有量增长速度快于C,在21.90%时A股票持有量降到0:

4)预期收益率在21.90%〜2346%之间,A股票持有率为0,B股票持有率急剧下降,C股票持有率

急剧增长,在2346%时C股票持有率为100%,A.B均为0%;

5)预期收益率大于23.46%后,该问题无解,也即三种股票的最大预期收益率为23.46%;

此外风险随收益率的增长而连续增长,并且收益率越大,增速越快。

在几个转折点上ARC.风险

的投资方案分别

为:

预期收益率

8.91%100%0%0%0.0099

9.41%95.99%4.01%0%0.0101

21.90%0%74.64%25.36%0.0546

23.46%0%0%100%0.0864

由此我们也可以发现:在三种股票中,股票A收益小、风险小,股票C收益大但风险也大,因此投

资时应考虑不同的需求来决定投资方案。

加入无风险投资方案后:

目的函数发生改变,对原模型进行修改如下:

X

Z1=ES=x/'Si+X2ES2+X3ES3+0.054=0.0891/+0.2137x2+0.2346x3+0.05x4;

Z2无变化:

Z2=0.0099X1+0.0535/+0.0864/+0.0227^^2+0.0240x^3+0.1016x2x3

约束条件为:

+%2+无3+%4=1;

(持有比例总和等于100%)

%1,%2,%3,%4之°;(持有量非负)

对修改后的模型直接运用LINGO进行求解(LINGO更加方便可靠):

min—z2;

z2=0.(X)99*x1*x1+0,0535*x2*x2+0.0864*x3*x3+0.0227*xl*x2+0.0240*x1*x3+0,1016*x2*x3;

0.089l*xl+0.2137*x2+0.2346*x3+0.05*x4>=0.15;

x1+x2+x3+x4=l;

求解得到报告部分内容如下:

Globaloptimalsolutionfound.

Objectivevalue:0.190S637E-01

Objectivebound:O.19O5637E-O1

Infeasibilities:0.000000

Extendedsolverslops:1

Totalsolveriterations:94

ModelClass:NLP

VariableValueReducedCost

Z2O.19O5637E-O10.000000

XI0.8787443E-010.000000

X20.42885630.000000

X30.14279700.000000

X40.34047220.000000

RowSlackorSurplusDualPrice

10.1905637E-01-1.000000

2O.ODOOOO-1.oooooo

3().()()()()()()-0.3811274

40.0000000.1905637E-01

从报告中可以看BC国债风险

出投资方案改变

为:

A

8.79%42.89%14.28%34.05%0.0191

在股票持有比例为:股票A占50%,B占35%,C占15%的情况下,考虑按交易额的1%收取交易费,

是否仍需要对手上的股票进行买卖(换手)

对于该问题,显然该比例不是最佳比例,直观上应当进行换手,但是换手所带来的交易费却也许

使换手操作最终不能达成增长收益的目的。

换手后总持有量会减小,并且根据最开始得到的结果可以预测到A的持有量应增长,B的持有量

会增长,C的持杓量会下降,据此化简以下各式得:

为此,修改模型如下:

Zx=ES=ES]+X2ES2+X3ES3-0.01(3+Ax2+Ax3)

=0.0891%+0.2137X2+0.2346x3-0.01((匕-0.5)+(x2-0.35)+(0.15-x3));

=0.0791%1+0.2037%2+0.2446x3

Z2=0.0099X1+0.0535X2+00864宕+0.0227x^2+0.0240%^3+0.1016x2x3;

约束条件为:

+%2+%3+-050)2+J(%2-35)2+0.15)2)=];

化简为:口

%1,孙%3-0;(持有量非负)

/-°,5°;(增持假设)

“2N°・35;(增持假设)

“34°15;(减持假设)

据此编写LINGO程序求解:

min=z2;

z2=O.(X)99*x1*x1+O.O535*x2*x2+O.O864*x3*x34-O.O227*xl*x2+O.O24O*xl*x3+O.1O16*x2*x3;

0.0791*xl+0.2037*x24-0.2446*x3>=0.143;

I.01*x1+1.01*x2+0,99*x3=1.007;

x1>0.50;

x2>0.35;

x3<0.15;

得到报告部分内容如下:

Globaloptimalsolutionfound.

Objectivevalue:0.2070858E-O1

Objectivebound:O.2O7O858E-O1

Infeasibilities:0.000000

Extendedsolversteps:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论