当前位置:文档之家› 实例matlab-非线性规划-作业

实例matlab-非线性规划-作业

实例matlab-非线性规划-作业
现代设计方法-工程优化理论、方法与设计 姓名
学号 班级 研
问题 :
某厂向用户提供发动机,合同规定,第一、二、三季度末分别交货40台、60台、80台。

每季度的生产费用为 (元),其中x 是该季生产的台数。

若交货后有剩余,可用于下季度交货,但需支付存储费,每台每季度c 元。

已知工厂每季度最大生产能力为100台,第一季度开始时无存货,设a=50、b=0.2、c=4,问工厂应如何安排生产计划,才能既满足合同又使总费用最低。

讨论a 、b 、c 变化对计划的影响,并作出合理的解释。

问题的分析和假设:
问题分析:本题是一个有约束条件的二次规划问题。

决策变量是工厂每季度生产的台数,目标函数是总费用(包括生产费用和存储费)。

约束条件是生产合同,生产能力的限制。

在这些条件下需要如何安排生产计划,才能既满足合同又使总费用最低。

问题假设:
1、工厂最大生产能力不会发生变化;
2、合同不会发生变更;
3、第一季度开始时工厂无存货;
4、生产总量达到180台时,不在进行生产;
5、工厂生产处的发动机质量有保证,不考虑退货等因素;
6、不考虑产品运输费用是否有厂家承担等和生产无关的因素。

符号规定:
x1——第一季度生产的台数;
x2——第二季度生产的台数;
180-x1-x2——第三季度生产的台数;
y1——第一季度总费用;
y2——第二季度总费用;
y3——第三季度总费用;
y ——总费用(包括生产费用和存储费)。

()2bx ax x f +=
建模:
1、第一、二、三季度末分别交货40台、60台、80台;
2、每季度的生产费用为 (元);
3、每季度生产数量满足40
≤x1≤100,0≤x2≤100,100≤x1+x2
≤180;
4、要求总费用最低,这是一个目标规划模型。

目标函数:
y1
2111x b x a Z ⨯+⨯= y2()4012222-⨯+⨯+⨯=x c x b x a Z y3()()()10018018021221213
-+⨯+--⨯+--⨯=x x c x x b x x a Z y x x x x x x Z Z Z Z 68644.04.04.0149201
212221321--+++=++= 40≤x1≤100
0≤x2≤100
100≤x1+x2≤180
()2
bx ax x f +=
求解的Matlab程序代码:
先建立M-文件fun.m:
function f=fun(x);
f=14920+0.4*x(1)*x(1)+0.4*x(2)*x(2)+0.4*x(1)*x (2)-64*x(1)-68*x(2);
再建立主程序xx.m:
x0=[0;0];
A=[-1 -1;1 1];
b=[-100;180];
Aeq=[];beq=[];
vlb=[40;0];vub=[100;100];
[x,fval]=fmincon('fun',x0,A,b,Aeq,beq,vlb,vub)
计算结果与问题分析讨论:
计算结果:
x =
50.0000
60.0001
fval =
1.1280e+004
分析讨论:
由结果可知:第一季度应生产50台,第二季度应生产60台,第三季度应生产70台,可既满足合同又使总费用最低,最低费用为11280元。

讨论a,b,c对生产方案的影响:
a增大或减小对生产方案完全没有影响(无论a为多少,方案都是50、60、70)。

b逐渐增大,则三个季度的生产量趋近交付总量的平均值,即同趋于60台(第一季度生产量增加,第二季度不变,第三季度减少)。

c逐渐增大,三季度的生产量分别趋近于每季度的交付量,即分别趋于40、60、80
(第一季度生产量减少,第二季度不变,第三季度增加)。

问题 :梯度法
其中function函数为:。

相关主题