5 views (last 30 days)

Show older comments

I am trying to optimize two functions and where. The function is a subfunction of means the results of are input to .

I am curious whether it is better to optimize a sum of the functions e.g. or I can co-optimize the functions as additionally depends on w. I am inclined to co-optimization but not sure if optimizing the sum of functions is a better or mandatory approach for this problem. I would appreciate any guidance, comments or helpful literature references.

Walter Roberson
on 17 Mar 2020

It doesn't matter. All gamultiobj cares about is that it can place a call through the function handle and get back a vector of results. It does not care how many function calls that uses.

Consider for example that

F = @(X, Y, W) X.^2 + Y.^2 + (X-Y-W).^2

can be rewritten as

P = @(X,Y,W) (X-Y-W).^2

F = @(X,Y,W) X.^2 + Y.^2 + P(X, Y, W)

which can in turn be rewritten as

F = @(X, Y, W, Q) X.^2 + Y.^2 + Q(X, Y, W)

Called with (x, y, w, P)

obviously this is just an implementation detail as far as the mathematics is concerned.

Alan Weiss
on 17 Mar 2020

You could use the approach in Generate and Plot a Pareto Front. Or you could try using a multiobjective solver, if you have a Global Optimization Toolbox license. As usual, Walter has good ideas.

Alan Weiss

MATLAB mathematical toolbox documentation

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

Start Hunting!