完整word版matlab解非线性规划例题

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

关于非线性规划问题

背景:

线性规划问题,即目标函数和约束条件都是线性函数的规划问题,但在实际工作中,还常常会遇到另一类更一般的规划问题,即目标函数和约束条件中至少有一个是非线性函数问题,即非线性规划问题。

求解方法:Matlab软件

问题:

某厂向用户提供发动机,合同规定,第一、二、三季度末分别f(x)?ax?bx^2(元)交货50台、70台、90台。,每季度的生产费用为x是该季度生产的台数,若交货有剩余可用于下季度交货,但需其中c元。已知工厂每季度最大生产能力为100支付存储费,每季度每台bca=4,问工厂如何安排每台,第一季度开始时无存货,设=0.2,=50,月生产计划,才能既满足合同又使总费用最低(包括生产费用和库存费用)。

问题分析与假设:

F(x)。目标函数是总费用,记为约束条件是生产合同和生产能力的限制。

x1x2台,则第三季度生产台,第二季度生产设第一季度生产(210?x1?x2)台。则:

120?x1?x2?210

50?x1?1000?x2?100

bca=4,

=0.2,=50,由.

T1?50x1?0.2x1^2,第一季度生产费用

k1?4(x1?50),剩余品存储到下一季度的费用

T2?50x2?0.2x2^2同理可得:

k2?4(x1?x2?120)

T3?50(210?x1?x2)?0.2(210?x1?x2)^2

建模

总费用

F(x)?T1?T2?T3?k1?k2?10300?0.2(x1^2?x2^2)?0.2(210?x1?x2)^2?4(2x1?x2?120)先建立M-文件: a=50;b=0.2;c=4;

H=diag(2*b*ones(1,3));C=[a+2*c,a+c,a];

A1=[-1,0,0;-1,-1,0];b1=[-50,-120]';

A2=[1 1 1];b2=210;

v1=[0 0 0]';v2=[100 100 100]';

[x,faval,exitflag,output,lambada]=quadprog(H,C,A1,b1,A2,b2,v1,v2,[])

X2=x'*H*x/2+C*x-140*c

再建立主程序:

a=50;b=0.2;c=4;

H=diag(2*b*ones(1,3));C=[a+2*c,a+c,a];

A1=[-1,0,0;-1,-1,0];b1=[-50,-100]';

A2=[1 1 1];b2=210;

v1=[0 0 0]';v2=[100 100 100]';

[x,faval,exitflag,output,lambada]=quadprog(H,C,A1,b1,A2,b2,v1,v2,[]) X2=x'*H*x/2+C*x-140*c

运算结果:

x =

60.0000

70.0000

80.0000

faval =

1.4240e+004

exitflag =

1

output =

iterations: 1

constrviolation: -10.0000

algorithm: 'medium-scale: active-set' firstorderopt: 4.2633e-014

cgiterations: []

message: 'Optimization terminated.' lambada =

lower: [3x1 double]

upper: [3x1 double]

eqlin: -82

ineqlin: [2x1 double]

X2 =

1.3680e+004

结果

费用总量最低生产方案:三个季度分别生产60,70,80台。

相关文档
最新文档