How to plot 3 objective function pareto front in pso

6 views (last 30 days)
Hi,
I have 3 objective function namely F1, F2, F3. I used PSO for solving this function by combining 3 into 1 as follows.
F=a1*F1+a2*F2+a3*F3
a1, a2, a3 are some constants.
I want to plot all the 3 objectrtive function together to show the result.
Please help me in this.
Thanks in advance.

Accepted Answer

Tanmay Das
Tanmay Das on 30 Dec 2021
Hi,
You may find this example of Plotting 3-D Pareto Front helpful.
The example first shows how to obtain the plot using the built-in 'psplotparetof' plot function. Then solve the same problem and obtain the plot using 'gamultiobj', which requires slightly different option settings. The example shows how to obtain solution variables for a particular point in the Pareto plot. Then the example shows how to plot the points directly, without using a plot function, and shows how to plot an interpolated surface instead of Pareto points.
  4 Comments
Walter Roberson
Walter Roberson on 31 Dec 2021
You used 'UseVectorized', true . When you do that, your function needs to return a 2D array that is (number of input rows) x (number of objective functions). However your code is returning only one row instead when a 2D array is input.

Sign in to comment.

More Answers (0)

Products


Release

R2021b

Community Treasure Hunt

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

Start Hunting!