problem related to multi objective optimization using matlab tool box

sir,
I have a multi objective optimization problem, which is stated as below:
minimize y1(x)= x1*x2*x3
maximize y2(2)= (x1*x2)/0.36,
subject to LOWER BOUND[1.3 0.4 0.22] AND UPPER BOUND [8 1.0 0.27] Y1(X)<=500;Y2(X)>=0.13
I have typed this function and used optimization tool box.
function f= power1(x)
%it is a multi objective function
%f(1)....objective1...equation for pow minimise
%f(2)....objective2...equation for fc maximize
%
% x(1)....specific energy
% x(2)....width of cut
% x(3)....forward velocity
f(1)= x1*x2*x3;
f(2)= (x2*x3)/0.36;
end
then used the solver multi objective optimization using genetic algorithim. But I am getting a error as under defined function or variable x1. Kindly suggest some way to optimize the problem with matlab.

 採用された回答

Walter Roberson
Walter Roberson 2018 年 6 月 7 日

0 投票

After the line
function f= power1(x)
add
x1 = x(1); x2 = x(2); x3 = x(3);

4 件のコメント

Arjya Sahoo
Arjya Sahoo 2018 年 6 月 7 日
thank you very much
Arjya Sahoo
Arjya Sahoo 2018 年 6 月 7 日
I have got the result. But the result are coming as lower bound value.However I want to add the constrains: Y1(X)<=500; Y2(X)>=0.13; into the optimization problem. could you please suggest some way to use optimization tool box or any other methods to add this constrains into the optimization problem
Walter Roberson
Walter Roberson 2018 年 6 月 7 日
nvars = 3;
A = []; b = [];
Aeq = []; beq = [];
lb = [-inf 0.13 -inf]; ub = [500 inf inf];
bestx = gamultiobj(@power1, nvars, A, b, Aeq, beq, lb, ub)
Arjya Sahoo
Arjya Sahoo 2018 年 6 月 8 日
I have tried this but still not getting the result. I would like to explain it again. I want to maximize one objective and minimize the other objective. two of my objectives are
f(1)= x(1)*x(2)*x(3)......(minimize)
f(2)= (x(2)*x(3))/0.36.....(maximize)
where x(1),x(2),x(3) are the variables
the lower bound of the variables are [1.5 0.4 0.22] and the upper bound are[2.1 0.9 0.27]
and the objectives f(1)<=0.5 and f(2)>= 0.13. kindly suggest some way to solve the problem. Previously what I have done, I got all the lower bound values of variable, next as when I tried this: vars = 3; A = []; b = []; Aeq = []; beq = []; lb = [-inf 0.13 -inf]; ub = [500 inf inf]; bestx = gamultiobj(@power1, nvars, A, b, Aeq, beq, lb, ub)
I got the some higher value result. kindly suggest some ways to do this optimization problem

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

その他の回答 (1 件)

Arjya Sahoo
Arjya Sahoo 2018 年 6 月 7 日
編集済み: Walter Roberson 2018 年 6 月 7 日

0 投票

I have got the result. But the result are coming as lower bound value.However I want to add the constrains: Y1(X)<=500; Y2(X)>=0.13; into the optimization problem. could you please suggest some way to use optimization tool box or any other methods to add this constrains into the optimization problem.
function f= power1(x)
x1=x(1);x2=x(2);x3=x(3);
%it is a multi objective function
%f(1)....objective1...equation for pow minimise
%f(2)....objective2...equation for fc maximize
%
% x(1)....specific energy
% x(2)....width of cut
% x(3)....forward velocity
f(1)= x1*x2*x3;
f(2)= (x2*x3)/0.36;
end

カテゴリ

ヘルプ センター および File ExchangeGet Started with Optimization Toolbox についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by