"exploitation"和 "exploration"的区别

《Metaheuristics in structural optimization and discussions on harmony
search algorithm》
----M.P. Saka a
, O. Hasançebi b
, Z.W. Geem

Exploitation and Exploration are two basic components of any metaheuristic algorithm.

Exploitation(开发) is the step in which the algorithm uses local information in the search process to generate better solutions generally in close vicinity of the current ones.
在搜索过程中使用局部信息来生成更好的解的步骤,通常在当前解的附近

Exploration(探测) is the step in which the algorithm aims to explore the search space more thoroughly and find diverse solutions.
目的是更深入地探索搜索空间,找到不同的解决方案。

The efficiency of a metaheuristic algorithm lies on the fine balance of these two features.

Too much exploitation makes the algorithm converge quickly often to a local optimum, and too much exploration slows down the convergence of the procedure although it increases the probability of finding the global or near-optimum solution of the optimization problem.
过多的开发使得算法收敛速度很快,往往会收敛到局部最优,
过多的探测虽然增加了找到优化问题全局或近似最优解的概率,但会减慢算法的收敛速度。

  • 6
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
current_iter=0; % Loop counter while current_iter < max_iter for i=1:size(X,1) % Calculate the fitness of the population current_vulture_X = X(i,:); current_vulture_F=fobj(current_vulture_X,input_train,output_train); % Update the first best two vultures if needed if current_vulture_F<Best_vulture1_F Best_vulture1_F=current_vulture_F; % Update the first best bulture Best_vulture1_X=current_vulture_X; end if current_vulture_F>Best_vulture1_F if current_vulture_F<Best_vulture2_F Best_vulture2_F=current_vulture_F; % Update the second best bulture Best_vulture2_X=current_vulture_X; end end a=unifrnd(-2,2,1,1)*((sin((pi/2)*(current_iter/max_iter))^gamma)+cos((pi/2)*(current_iter/max_iter))-1); P1=(2*rand+1)*(1-(current_iter/max_iter))+a; % Update the location for i=1:size(X,1) current_vulture_X = X(i,:); % pick the current vulture back to the population F=P1*(2*rand()-1); random_vulture_X=random_select(Best_vulture1_X,Best_vulture2_X,alpha,betha); if abs(F) >= 1 % Exploration: current_vulture_X = exploration(current_vulture_X, random_vulture_X, F, p1, upper_bound, lower_bound); elseif abs(F) < 1 % Exploitation: current_vulture_X = exploitation(current_vulture_X, Best_vulture1_X, Best_vulture2_X, random_vulture_X, F, p2, p3, variables_no, upper_bound, lower_bound); end X(i,:) = current_vulture_X; % place the current vulture back into the population end current_iter=current_iter+1; convergence_curve(current_iter)=Best_vulture1_F; X = boundaryCheck(X, lower_bound, upper_bound); % fprintf('In Iteration %d, best estimation of the global optimum is %4.4f \n ', current_iter,Best_vulture1_F ); end end
07-13

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值