フィルターのクリア

Optimization of a unknown vector variable

1 回表示 (過去 30 日間)
Soumili Sen
Soumili Sen 2020 年 11 月 27 日
コメント済み: Soumili Sen 2020 年 11 月 29 日
Hello ,
I have a code
a,b -----> variables should be vector(like a=[a1,a2,a3,a4])
x=h1*a^2+h2*b^2+h3;------>objctive fun(h1,h2,h3 are constants let say which has 1*4 value)
---->constraints are also present here.. so I am writting the code like
for i=1:4
x(i)=h1(i)*a^2+h2(i)*b^2+h3(i)
end
obj=sum(x);----->(objective function is basically summation of x )
x0=[1,1];
lb = [];
ub = [];
Aeq = [];
beq =[];
A = [];
b = [];
fun=@(p) obj(p(1),p(2));
nonlcon =@constraintfcn;
opts = optimoptions('fmincon','Display','iter','Algorithm','sqp');
[x_value,fval] = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,opts);
But I am not getting the ans,I want optimized value as vector .
  2 件のコメント
Matt J
Matt J 2020 年 11 月 27 日
Quite unclear, I'm afraid. What is the for-loop supposed to be doing? Do you have more than one objective to minimize? Why does the right hand side not depend on i?
Soumili Sen
Soumili Sen 2020 年 11 月 28 日
編集済み: Soumili Sen 2020 年 11 月 28 日
yes, you are right. My objective function is summation of 'x' (I have modified my code), and the unknown optimized veriables are vector. so how can I continue to find the values?

サインインしてコメントする。

採用された回答

Matt J
Matt J 2020 年 11 月 28 日
編集済み: Matt J 2020 年 11 月 28 日
H1=sum(h1);
H2=sum(h2);
H3=sum(h3);
obj=@(a,b) H1.*a.^2 +H2.*b.^2+H3;
x0=[1,1];
lb = [];
ub = [];
Aeq = [];
beq =[];
A = [];
b = [];
fun=@(p) obj(p(1),p(2));
nonlcon =@constraintfcn;
opts = optimoptions('fmincon','Display','iter','Algorithm','sqp');
[x_value,fval] = fmincon( fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,opts);
  12 件のコメント
Matt J
Matt J 2020 年 11 月 29 日
You're welcome, but please Accept-click the answer if you consider the matter resolved.
Soumili Sen
Soumili Sen 2020 年 11 月 29 日
yah sure.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeSurrogate Optimization についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by