代码拉取完成,页面将自动刷新
同步操作将从 Wintery/边缘计算环境中基于启发式算法的深度神经网络卸载策略 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
function [total_cost]=object_value(x,task,execution_time,task_num,task_out,task_in)
%% 租用服务器费用、时耗
instance_types=3;
task_allocation=x((instance_types+1)*2:task_num+instance_types*2+1);
deadline =0.6*sum(execution_time(:,4)); % 工作流期限=0.9*本地执行时间
instance_id=x(2:x(1)+1); % 原始instance 种类id
option_instance=x(instance_types+2:instance_types*2+1); % 每个服务器的租用类型 reserved/on demand
reserved_price=[0.4 0.35 0.32;600 550 520]; % 按期限购买价格
on_demand_price=[1 0.9 0.85]; % 按需购买价格
[finish,time_span]=task_scheduling(task,execution_time,task_allocation,instance_id,task_num,task_out,task_in);
completion_time = max(finish); % 整个工作流完成时间
purchase_cost = 0;
for i = 1 : x(1)
if(option_instance(i)==1)
purchase_cost = purchase_cost+reserved_price(2,instance_id(i))+reserved_price(1,instance_id(i))*time_span(i);
elseif(option_instance(i)==2)
purchase_cost = purchase_cost+on_demand_price(instance_id(i))*time_span(i);
end
end
%% 功耗
Power_Cost_list=[1.5 1 1]; % 云服务器、边缘服务器的单位时间功耗
Power_Cost_end=0.6; % 终端单位时间功耗
Power_Cost=0;
Power_Cost=Power_Cost+Power_Cost_end*time_span(4);
for i = 1 : x(1)
Power_Cost=Power_Cost+Power_Cost_list(instance_id(i))*time_span(i);
end
%% 适应度值计算
f1=0.5; % 各项指标的占比
f2=0.2;
f3=0.3;
total_cost = f1*purchase_cost+f2*completion_time+f3*Power_Cost;
% if(completion_time<=deadline) % 是否超时
% total_cost = f1*purchase_cost+f2*completion_time+f3*Power_Cost;
% else
% total_cost = f1*purchase_cost+f2*completion_time*completion_time/deadline+f3*Power_Cost;
% end
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。