Optimization of a unknown vector variable

3 ビュー (過去 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 ExchangeLinear Programming and Mixed-Integer Linear Programming についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by