Resolution of the gamultiobj's variable

6 views (last 30 days)
Xiaowei
Xiaowei on 23 May 2024
Commented: Walter Roberson on 22 Jul 2024
Hi community!
To what resolution does the random search algorithm generates new samples? Is it possible to specify a certain resolution to search for a varible?
For example, the independent variable I want to search over, a, has the limit of . Is it possible to only search for a that is as accurate as the level of 0.01? It reduces the search space to only 200 points.
I assume doing this would make the search converge faster and also, in my application, I do not really care about a at the decimal of 0.001.
Thank you in advance for your help!
Xiaowei

Answers (2)

Nipun
Nipun on 11 Jun 2024
Edited: Walter Roberson on 19 Jul 2024
Hi Xiaowei,
I understand that you want to specify a resolution for the random search algorithm. You can discretize the search space manually:
a_values = -1:0.01:1; % Set resolution to 0.01
This approach limits the search space, making the search process faster.
For more details on generating a random scalar, refer to MATLAB documentation: https://www.mathworks.com/help/comm/ref/randsrc.html
Hope this helps.
Regards,
Nipun
  1 Comment
Xiaowei
Xiaowei on 19 Jul 2024
Edited: Xiaowei on 19 Jul 2024
Hi Nipun,
Thank you for your answer! Sorry for the late response as I didn't receive any notification from the forum that my question has been answered.
In gamultiobj, how can I discretize the search space? Because when I am setting up the algorithm, it only asks me to specify a lower bound and upper bound for the search space. I didn't find where I can specify the discretization.
Best regards,
Xiaowei

Sign in to comment.


Walter Roberson
Walter Roberson on 19 Jul 2024
Search over integers -100 to +100 and divide by 100 before use.
  2 Comments
Xiaowei
Xiaowei on 22 Jul 2024
Hi Walter,
Do you mean I should
  1. make my variables integer
  2. specify the range according to my needs?
Thank you!
Xiaowei
Walter Roberson
Walter Roberson on 22 Jul 2024
nvars = 1; %number of variables
intcon = 1; %first variable has integer constraints
A = []; b = [];
Aeq = []; beq = [];
lb = -100; ub = 100;
nonlcon = [];
options = [];
results = gamultiobj(@(vars) ObjectiveFunction(vars/100), nvars, A, b, Aeq, beq, lb, ub, nonlcon, intcon, options);

Sign in to comment.

Products


Release

R2021b

Community Treasure Hunt

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

Start Hunting!