test_cost_func2.m

来自「模拟退化算法在C环境下的实现」· M 代码 · 共 53 行

M
53
字号
function [cost_value, cost_flag, user_acceptance_flag] = ...  test_cost_func2 (x, critical_cost_value, no_test_flag);%% $Id: test_cost_func2.m,v 1.24 2002/12/25 20:15:06 ssakata Exp ssakata $%% a_i = parameter_upper_bound[i] s_i = 0.2;t_i = 0.05;c_r = 0.15;q_n = 0.0;parameter_dimension = 4;for i = 1 : parameter_dimension,  j = mod(i-1,4);  switch (j)     case 0, d_i = 1.0;     case 1, d_i = 1000.0;     case 2, d_i = 10.0;     otherwise, d_i = 100.0;  end  if x(i) > 0.0    k_i = fix(x(i) / s_i + 0.5);  elseif x(i) < 0.0    k_i = fix(x(i) / s_i - 0.5);  else    k_i = 0;  end  if abs (k_i * s_i - x(i)) < t_i    if k_i < 0      z_i = k_i * s_i + t_i;    elseif k_i > 0      z_i = k_i * s_i - t_i;    else      z_i = 0.0;    end    q_n = q_n + c_r * d_i * z_i * z_i;  else    q_n = q_n + d_i * x(i) * x(i);  endend;  cost_value = q_n;cost_flag=1;if no_test_flag == 0  if cost_value <= critical_cost_value    user_acceptance_flag = 1;  else    user_acceptance_flag = 0;  endend

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?