MATLAB: How to do a multi-objective optimization with lower boundaries that are dependent on the optimized variable

genetic algorithmMATLABoptimizationOptimization Toolbox

I would like to optimize a multi-objective problem. However, my lower and upper boundaries of the variable x are dependent on one another. How can I do this if it is possible?
For example:
% assume that there is a function called "optimization_function" where
function f = optimization_function(x, y, z)
% x is a three row vector, and f is the optimization objective which is two row vector.
lower_boundaries = [0, x(1), x(2)]; % the lower boundaries depend on variable x
upper_boundaries = [ x(2), x(3), 120]; % the upper boundaries depend on the variable x
options = optimoptions('gamultiobj','PopulationSize',15, ...
'MaxGenerations', 15,'MaxStallGenerations', 15);
[ Optimal_x , f ] = gamultiobj(@(x)optimization_function(x, ...
y, z),3,[],[],[],[],lower_boundaries,upper_boundaries,options);

Best Answer

If you have linear constraints, there is a particular syntax. If you have nonlinear constraints, there is another syntax.
By the way, you need to formulate your problem by putting all your variables into a single vector, usually called x.
Good luck,
Alan Weiss
MATLAB mathematical toolbox documentation