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 个评论

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 个)

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 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by