如何使用MATLAB求下列方程最优解 min f(x)=12*ω+3*ω*ceil (x-1)-1.5*ceil (x-1) ω=3*p 0≤x≤30 0<ω<1 求最优 x 和 ω 以及 p
目标函数不是线性函数,这个优化问题不是线性规划,可以使用有约束非线性优化方法来求求解,使用fmincon函数,代码如下:
fun = @(x) 12*x(1) + 3*x(1)*ceil(x(2)-1) - 1.5*ceil(x(2)-1)*x(1);
A = [1 0
0 1
-1 0
0 -1];
b = [1
30
0
0];
x0 = [0.5 15]';
x = fmincon(fun,x0,A,b);
g = fun(x)
w = x(1)
xx = x(2)
p = w/3
结果
g =
2.0001e-08
w =
1.6667e-09
xx =
0.0983
p =
5.5557e-10
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632