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.

 채택된 답변

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

댓글 수: 4

thank you very much
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
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)
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일
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 Exchange에서 Get Started with Optimization Toolbox에 대해 자세히 알아보기

질문:

2018년 6월 7일

댓글:

2018년 6월 8일

Community Treasure Hunt

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

Start Hunting!

Translated by