作业帮 > 数学 > 作业

Mathematica线性规划问题,求解

来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/05/24 00:45:23
Mathematica线性规划问题,求解

 

如图,其中ki、A、Gi、Oi、Fi都是已知值的


源代码
ki=380;
A=9.22%;
Gi=7830.2;
Oi=692.8;
Fi=12449.9;
ConstrainedMin[X,
{g + X + Oi ≥Fi,
((X - ki)/(P + mi)) ≤A,
X > 0,
(Abs[g - Gi]/Gi)≤0.2,
P≤49099,
P ≥5422},
{X,g} ]
直接复制代码出来.我搞定它.
再问: 规划要求
Min X
s.t. g+X+Oi≥Fi
(X-ki)/(P+mi)≤A
mi=0 (X/P≤A)
mi=X-A*P (X/P>A)
X>0
|g-Gi|/Gi≤0.2
5422≤P≤49099
再答: 请给ki、A、Gi、Oi、Fi呀!
再问: 问题补充里给了
ki=380;
A=9.22%;
Gi=7830.2;
Oi=692.8;
Fi=12449.9;
再答: ki = 380; A = 0.0922; (*9.22%;*)
Gi = 7830.2;
Oi = 692.8;
Fi = 12449.9;
NMinimize[{X + g, {g + X + Oi >= Fi,

(X - ki)/(P + If[X > A*P, X - A*P , 0]) 0, Abs[g - Gi]/Gi 1264.43}}
{11757.1, {X -> 1302.72, g -> 10454.4, P -> 27465.1}}

目标仅为X时:
In[38]:= NMinimize[{X, {g + X + Oi >= Fi,
(X - ki)/(P + If[X > A*P, X - A*P , 0]) 0, Abs[g - Gi]/Gi 49099.}}
再问: 你是不是0.2后面少打了逗号,导致0.2和5422相乘了,加逗号之后是{11757.1, {X -> 2733.15, g -> 9023.95, P -> 30316.1}}一个结果,如果只以Min X为目标话结果是{2360.86, {X -> 2360.86, g -> 9396.24, P -> 33106.3}}
很谢谢你,能再问你一下吗,这里为什么不能用ConstrainedMin[]
再答: ConstrainedMin是以前的函数,已经过时。
你说的对。解决了就好。谢谢!