非线性规划--实验作业六
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验作业6 非线性规划
练习 1
某厂向用户提供发动机,合同规定,第一、二、三季度末分别交货40台、60台、80台.每季度的生产费用为2
f x ax bx(元),其中x是该季生产的台数.若交货后有剩余,可用于下季度交货,但需支付存储费,每台每季度c元.已知工厂每季度最大生产能力为100台,第一季度开始时无存货,设a=50、b=0.2、c=4,问工厂应如何安排生产计划,才能既满足合同又使总费用最低.讨论a、b、c变化对计划的影响,并作出合理的解释.
解:
代码如下:
M-文件
fun1.m
function f=fun (x);
f=50*(x(1)+x(2)+x(3))+0.2*(x(1)^2+x(2)^2+x(3)^2)+4*(2*x(1) +x(2)-140)
主程序
fxxgh1.m
x0=[60;60;60];
A=[-1 -1 0];b=[-100];
Aeq=[1 1 1];beq=[180];
vlb=[40;0;0];vub=[100;100;100];
[x,fval]=fmincon('fun',x0,A,b,Aeq,beq,vlb,vub)
文字形式:
x =
50.0000
60.0000
70.0000
fval =
11280
问题分析讨论:
由运算结果得:该厂第一季度、第二季度、第三季度的生产量分别是50台、60台和70台时,才能既满足合同又使总费用最低,费用最低为11280元。
若a变化,对计划没有影响,因为a的变化,对于各离度的费用增长率造成相同的影响,并不会给各季度之间的生产带来差异,只会使生产的总体费用增加。
若b变大,第一季生产量要增加,第二季度保持不变,第三季度生产量减少,b变小,第一季度生产量要减少,第二季度不变,第三季度生产量增加。这是因为b变大,每个季度的费用增长率都会增大,生产数量多的季度的费用增长率增长的会比其它季度更快,因此加减少生产量大的季度的生产量,以减缓费用的快速增加。而b变小的时候,情况正好相反。
若c变小,第一季度的生产量增加,第二季度不变,第三季度的生产量减少。c 变大,第一季度生产量减少,第二季度不变,第三季度生产量增加。这是因为c变小,存储费用会变小,相对于生产费用的快速增长,最好的方法就是在生产费用低的时候多生产,把多余的机器进行储存,储存的费用会小于费用的增长额度,这样做可以节省生产费用,而c变大,情况正好相反。
练习 2
一基金管理人的工作是,每天将现有的美元、英镑、马克、日元四种货币按当天汇率相互兑换,使在满足需要的条件下,按美元计算的价值最高.设某天的汇率、现有货币和当天需求如下:
问该天基金管理人应如何操作(“按美元计算的价值”指兑入、
兑出汇率的平均值,如1英镑相当于
()
2
58928
.0
1
697
.1+
=1.696993
美元).
解:代码如下:
zuoye2.m
y1=(1.697+(1/0.58928))/2;
y2=(0.57372+(1/1.743))/2;
y3=(0.007233+(1/138.3))/2;
C=[-1, -0.58928*y1, -1.743*y2, -138.3*y3, -1.697,-y1, -2.9579*y2, -234.7*y3, -0.57372, -0.33808*y1, -y2, -79.346*y3];
A=[-1 0 0 0 -1.697 0 0 0 -0.57372 0 0 0;0 -0.58928 0 0 0 -1 0 0 0 -0.33808 0 0;0 0 -1.743 0 0 0 -2.9579 0 0 0 -1 0;0 0 0 -138.3 0 0 0 -234.7 0 0 0 -79.346];
B= [-6,-3,-1,-10];
Aeq=[1 1 1 1 0 0 0 0 0 0 0 0 ; 0 0 0 0 1 1 1 1 0 0 0 0 ;0 0 0 0 0 0 0 0 1 1 1 1]; beq=[8 1 8];
vlb=zeros(1,12);
vub=[];
[x,fval]=linprog(C,A,B,Aeq,beq,vlb,vub)
文字形式:
x =
2.9090
5.0909
0.0000
0.0001
0.0000
0.0000
0.0000
1.0000
5.3877
0.0001
1.0000
1.6122
fval =
-14.2872