Question About Multiobjective Genetic Algorithm Optimisation

5 views (last 30 days)
Hi,
Firstly i want to explain what i am trying to do:
I am trying to optimize a cellular network by using multiobjective genetic algorithm.
I want to optimise number of base stations , coverage and multi coverage.
my population consist of possible base station locations in X and Y coordinates. which some of them commissioned and others not depending on some constraints.
i want my gene to have lets say 10 possible base station locations with only 5 them of them commissioned by this way i want to keep some junk elements in gene to get a better solution surface.
with three optimisation object i will get a pareto surface.
What i need help on how should i feed the gamultiobj function?
It is easy for coverage and multicoverage because they are just 1-by-1 values. But for basestation number and positions i dont know what to do.
Even though i read the manuals for the gamultiobj manual i cant get my head around this problem. Any help/tips will be great help for me.
  1 Comment
david
david on 4 May 2013
hello,where you finally able to achieve this? if u were pls paste code and a little explanation please. thank you

Sign in to comment.

Answers (1)

Hari
Hari on 11 Jun 2025
Hi,
I understand that you are trying to use a multi-objective genetic algorithm (gamultiobj) in MATLAB to optimize a cellular network by considering three objectives: minimizing the number of commissioned base stations, maximizing coverage, and maximizing multi-coverage. Your challenge is representing the gene such that it holds potential base station locations while also distinguishing which are active (commissioned).
I assume that you already have a list of possible base station locations (X,Y), and for each individual in the population, you want to evolve both the commissioning decision (binary: 0 or 1) and evaluate the resulting network performance.
In order to implement this in gamultiobj, you can follow the below steps:
Step 1: Define the chromosome structure
You can represent the gene as a vector where:
  • Each gene corresponds to one base station location.
  • The value is a binary (0 or 1) indicating whether that station is commissioned or not.
Step 2: Write a custom fitness function
In this function, for a given binary vector x:
  • Count the number of commissioned base stations (objective 1).
  • Calculate total coverage based on commissioned stations (objective 2).
  • Calculate multi-coverage (areas covered by >1 station) (objective 3).
Your fitness function should return a 1x3 vector with values for all objectives.
Step 3: Set up the gamultiobj options
Set:
  • 'PopulationType','bitstring' to indicate binary genes.
  • Use 'UseParallel',true if coverage computations are intensive.
Step 4: Configure the call to gamultiobj
Set the number of variables to the number of candidate base station locations.
Step 5: Post-process results
The output will be a set of Pareto-optimal binary vectors, each representing a trade-off between number of stations, coverage, and multi-coverage. You can extract coordinates using the known list of locations.
Refer to the documentation of "gamultiobj" function for additional options:
Refer also to "multiobjective optimization" workflows:
Hope this helps!

Categories

Find more on Agriculture in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!