优化:优化多个输入变量最小化输出

77(30天)
你好
我想优化多个输入变量使用fminsearch最小化输出。
显然,我做错了:((见下文)以下是我最初的尝试。
最终想绑定的预测变量(x, y, z, p, q, r) 步骤0.1的0.1到100年
任何帮助将不胜感激。谢谢很多!
%目的:试图最小化函数输出对多个输入变量
%想最小化函数,战俘(X) = ((X * p) + (y * q) + (z * r)) * l * w),
%优化变量x, y, z, p, q, r。
% l和w是常数
%创建额外参数的目标函数(l, w)作为额外参数。
f = @ (X, l, w) X (X (1) * (4) + X (2) * (5) + X (3) * (6)) * l * w;%
%宣布额外的参数值
l = 2;
w = 1;
%单独创建一个匿名函数(x),包括参数的空间价值。
有趣= @ (X) f (X, l, w)
% x0 = (1.9);
X_guess = [1 1.5 1.25 1 2 1];
X_guess Xmin = fminsearch(有趣)
x1 = Xmin (1);
日元= Xmin (2);
z1 = Xmin (3);
p1 = Xmin (4);
p2 = Xmin (5);
p3 = Xmin (6);
4评论
Anand Ra
Anand Ra 2021年10月3日
如果我只是执行函数与初始猜测:
l = 2;
w = 1;
X = [1 1.5 1.25 1 2 1];
P = X (X (1) * (4) + X (2) * (5) + X (3) * (6)) * l * w
P = 9.7500

登录置评。

接受的答案

沃尔特·罗伯森
沃尔特·罗伯森 2021年10月3日
最终想绑定的预测变量(x, y, z, p, q, r)从0.1到100年的0.1步骤
fminsearch()不能绑定变量。不过fmincon()可以绑定变量。
然而,你有离散变量。fminsearch()和fmincon()不能处理离散变量。
你有几个选择:
  1. 使用ga()和每一个变量被标记为一个整数约束从1到1000(100),和每个变量除以10内的目标函数;或
  2. 使用ndgrid()构造所有可能的组合的输入,并评估它们的功能和最低的评价
  3. 认识到积极的价值乘以积极的价值观和总结他们总是有它的最小值尽可能小的时候,就把一切的下界,不打扰优化。
13个评论

登录置评。

更多的答案(0)

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!