Question About Multiobjective Genetic Algorithm Optimisation

조회 수: 2 (최근 30일)
E K
E K 2012년 7월 30일
답변: Hari 2025년 6월 11일
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
david
david 2013년 5월 4일
hello,where you finally able to achieve this? if u were pls paste code and a little explanation please. thank you

댓글을 달려면 로그인하십시오.

답변 (1개)

Hari
Hari 2025년 6월 11일
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!

카테고리

Help CenterFile Exchange에서 Agriculture에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by