Solving Optimization Problems

How to Find Pareto Optimal Solutions Using Matlab?

In this post, I’m going to show you a simple but very effective method to find Pareto optimal solutions for a multi objective optimization problem using Matlab. It is very easy, and minimum programming skill is required.

Here are the details of the benchmark problem to be solved in this video.

Let’s see how we find Pareto optimal solutions for this multi objective optimization problem.

For more videos like this, check my YouTube channel here.

Matlab Code

multi_objective_function.m

function YY = multi_objective_function(X)

for i = 1:2
    S1(i) = -10*exp(-0.2*sqrt(X(i).^2+X(i+1).^2));
end
F1 = sum(S1); % objective function 1

for i = 1:3
    S2(i) = abs(X(i)).^0.8 + 5*sin(X(i).^3);
end
F2 = sum(S2); % objective function 2

YY = [F1 F2];

solving.m

function [x,fval,exitflag,output,population,score] = solving(nvars,lb,ub,PopulationSize_Data,MaxGenerations_Data)
%% This is an auto generated MATLAB file from Optimization Tool.

%% Start with the default options
options = optimoptions('gamultiobj');
%% Modify options setting
options = optimoptions(options,'PopulationSize', PopulationSize_Data);
options = optimoptions(options,'MaxGenerations', MaxGenerations_Data);
options = optimoptions(options,'CrossoverFcn', {  @crossoverintermediate [] });
options = optimoptions(options,'Display', 'off');
options = optimoptions(options,'PlotFcn', { @gaplotpareto });
[x,fval,exitflag,output,population,score] = ...
gamultiobj(@multi_objective_function,nvars,[],[],[],[],lb,ub,[],options);

main_program.m

clc
clear all
close all

nvars = 3;
lb = [-5 -5 -5];
ub = [5 5 5];
PopulationSize_Data = 200;
MaxGenerations_Data = 50;

[x,fval,exitflag,output,population,score] = solving(nvars,lb,ub,PopulationSize_Data,MaxGenerations_Data);

optimal_solution = x

P/s: If you find the post useful, share it to remember and to help other people as well.

Dr.Panda

View Comments

Recent Posts

Adaptive Re-Start Hybrid Genetic Algorithm in Matlab

Hello everyone! In this post, I am going to show you my innovative version of…

8 months ago

Test Your Understanding About Genetic Algorithm (Test 2)

Hello everyone. Let’s take a test to check your understanding about genetic algorithm, with multiple…

8 months ago

Adaptive Restart Hybrid Genetic Algorithm

Hello everyone! In this post, I am going to show you my innovative version of…

8 months ago

Adaptive Re-Start Hybrid Genetic Algorithm (Test the Performance in Case Studies)

Hello everyone. In this post, I am going to show you my innovative version of…

1 year ago

Adaptive Re-Start Hybrid Genetic Algorithm in Matlab

Hello everyone! Let’s see how my innovative version of Genetic Algorithm, called Adaptive Re-start Hybrid…

1 year ago

Crypto Quiz (Test Your Knowledge About Cryptocurrency)

Hello everyone! Let’s take a short quiz, to test your knowledge about crypto-currency, or crypto.…

2 years ago