Resolution of the gamultiobj's variable

6 次查看(过去 30 天)
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

回答(2 个)

Nipun
Nipun 2024-6-11
编辑:Walter Roberson 2024-7-19
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 个评论
Xiaowei
Xiaowei 2024-7-19
编辑:Xiaowei 2024-7-19
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

请先登录,再进行评论。


Walter Roberson
Walter Roberson 2024-7-19
Search over integers -100 to +100 and divide by 100 before use.
  2 个评论
Xiaowei
Xiaowei 2024-7-22
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 2024-7-22
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);

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Direct Search 的更多信息

产品


版本

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by