Multi Objective Optimization with discrete variables ?

조회 수: 10 (최근 30일)
Ugur Acar
Ugur Acar 2020년 5월 11일
답변: hoofar hemmatabady 2021년 1월 8일
hi,
Can we use discrete values instead of just integers in @gamultiobj?
like in the example of "Stepped Cantilever Beam Design Problem" cant we add a function like "cantileverMapVariables.m" for "CreationFcn", "MutationFcn" and "CrossoverFcn" options ?
Thank you
  댓글 수: 1
Ugur Acar
Ugur Acar 2020년 5월 12일
Can any kind of code be generated as in "cantileverMapVariables.m"
"%cantileverMapVariables Map integer variables to a discrete set V = cantileverMapVariables(x) maps the integer variables in the second problem solved in the "Solving a Mixed Integer Engineering Design Problem Using the Genetic Algorithm" example to the required discrete values.
% The possible values for x(3) and x(5)
allX3_5 = [2.4, 2.6, 2.8, 3.1];
% The possible values for x(4) and x(6)
allX4_6 = 45:5:60;
% Map x(3), x(4), x(5) and x(6) from the integer values used by GA to the
% discrete values required.
x(3) = allX3_5(x(3));
x(4) = allX4_6(x(4));
x(5) = allX3_5(x(5));
x(6) = allX4_6(x(6));"

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

채택된 답변

Alan Weiss
Alan Weiss 2020년 5월 12일
Yes, if you are careful to define the creation, mutation, and crossover functions so that all integer variables are integers, and then map them to the values you want, then you can try to solve the problem that way. Not easy to do correctly, but theoretically possible. Good luck,
Alan Weiss
MATLAB mathematical toolbox documentation
  댓글 수: 2
Ugur Acar
Ugur Acar 2020년 5월 12일
Thank you for your answer, so it is possible theoretically :) I wish that mapping to variables was explained in the users manual as in genetic algoritm for single objective
Ugur Acar
Ugur Acar 2020년 5월 13일
"MathWorks Support Team" actually demostrated how to use integer in @gamultiobj with an easy example. Is it possible to add discrete variables options to this example also ?

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

추가 답변 (1개)

hoofar hemmatabady
hoofar hemmatabady 2021년 1월 8일
Hi,
I went though the suggested code by Mathworks Support Team (https://www.mathworks.com/matlabcentral/answers/103369-is-it-possible-to-solve-a-mixed-integer-multi-objective-optimization-problem-using-global-optimizati,).
There are mainly two problem associated with the proposed MutationFcn:
1) The Gaussian distriburtion is used. However, in MATLAB documantation, it is suggested to use 'mutionanadaptfeasible' when we have bounds (Genetic Algorithm Options - MATLAB & Simulink (mathworks.com)) or when we are using Gamultiobj (Find Pareto front of multiple fitness functions using genetic algorithm - MATLAB gamultiobj (mathworks.com)),
Do you have a reason for choosing Gassian distribution?
2) If the Gaussian distribution is right here, Why have you used Shrink of 0.01 and not 1 (the default value)?
This will reduce optimization speed a lot.
Thank you in advance and would be gratefull to be advised about.
All the best.

카테고리

Help CenterFile Exchange에서 Solver Outputs and Iterative Display에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by