Gamultiobj constraint - Is possible to limit the objective functions?

1 view (last 30 days)
In my multiobjective optimization problem I've 10 objective functions like this
y(1)=a*x(1)+b*x(2)+c*x(3)+d*x(1)*x(2)
where a,b,c,d are costant.
Is there a way to limit y(1)? For example t<y(1)<p.

Answers (2)

Alan Weiss
Alan Weiss on 12 Apr 2013
Sorry, there is no standard way of limiting the value of an objective. Usually, this can be accomplished via a nonlinear constraint, but gamultiobj does not allow nonlinear constraints.
That said, you might be able to affect things the way you want by setting an appropriate initial range.
Good luck,
Alan Weiss MATLAB mathematical toolbox documentation
  2 Comments
Gabboc
Gabboc on 12 Apr 2013
Edited: Gabboc on 12 Apr 2013
I don't kwon where are the solution, so I can't use initial range. I'm trying to solve the problem in this way. Instead of
y(1)=a*x(1)+b*x(2)+c*x(3)+d*x(1)*x(2)
I would like to use x(4)=x(1)*x(2); y(1)=a*x(1)+b*x(2)+c*x(3)+d*x(4);
So my constraints could be A=[a b c d; -a -b -c -d];
b=[p; -t];
Now the question is: the results will be correct?
Alan Weiss
Alan Weiss on 15 Apr 2013
I do not understand how you expect to impose the constraint
x(4) = x(1)*x(2)
If the vector x is your decision variables, then you would need a nonlinear equality constraint to impose this constraint. But gamultiobj does not admit nonlinear constraints.
Alan Weiss
MATLAB mathematical toolbox documentation

Sign in to comment.


Thomas Kaltenbacher
Thomas Kaltenbacher on 2 Mar 2015
Hello, gamultiobj supports non-linear constraints from version R2014b [1] on.
Best regards, Thomas

Tags

Community Treasure Hunt

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

Start Hunting!