Multi Objective Optimization with discrete variables ?

8 visualizaciones (últimos 30 días)
Ugur Acar
Ugur Acar el 11 de Mayo de 2020
Respondida: hoofar hemmatabady el 8 de En. de 2021
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 comentario
Ugur Acar
Ugur Acar el 12 de Mayo de 2020
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));"

Iniciar sesión para comentar.

Respuesta aceptada

Alan Weiss
Alan Weiss el 12 de Mayo de 2020
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 comentarios
Ugur Acar
Ugur Acar el 12 de Mayo de 2020
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 el 13 de Mayo de 2020
"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 ?

Iniciar sesión para comentar.

Más respuestas (1)

hoofar hemmatabady
hoofar hemmatabady el 8 de En. de 2021
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.

Categorías

Más información sobre Solver Outputs and Iterative Display en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by