企业发展优化(Enterprise development optimization,ED)是一种受企业发展过程的元启发式优化算法。该过程包括任务、结构、技术和人与人的交互。利用活动切换机制通过更新搜索解来确定每个步骤。每一家公司都必须努力不断发展自己,这种发展有赖于实验和资源。根据Leavitt的观点,他对行业组织进行了20多年的调查,复杂的组织系统依赖于四种类型的变量进行交互:任务、结构、技术和人员。
该成果于2024年发表在工程技术领域一区SCI期刊“Engineering Structures”上。ED方法在全局优化和结构工程问题具有出色的鲁棒性的广泛的普适性。
1、算法原理
(1)初始化
与所有元启发式优化器一样,ED优化器随机生成用于优化的均匀分布的初始种群。人口(t=1)如下所示:
式中,xi是每一步的第i个解。
(2)建立最优规则和模拟活动
要模拟ED算法,必须按如下方式建立三个最优规则:
建立ED流程需要四个活动:任务、结构、技术和人员活动,以及在这些活动之间切换的切换机制。这些活动与组织的绩效是相互关联的。这些解决方案对绩效更显著的组织更具吸引力。解决方案及其对应的目标函数对组织的绩效进行评估。
(3)任务
在业务流程管理中,任务可能有不同的形式或作为日常例程存在。为了模拟任务活动,最糟糕的活动被替换为:
其中xworst是搜索空间中最差的个体解,u和L分别是搜索空间的上界和下界。
(4)结构
另一种方法是由Gouldner创造的工程学方法。这种方法的一个很好的例子是Cappie和Sayles的工作,他们提出了一种以任务为目标但通过人的形式的社会工程。他们试图改变人们的行为来改进他们的任务。本文将组织结构限制在工作流中。因为新的组织结构预计会受到其他工作流的结构和当前最优工作流的影响
其中,xsit是新结构,xBest(t一1)是当前最优解,xsct-1是影响新结构的其他工作流。
随机从种群中的解决方案中选择随机m,m是影响新结构的工作流数;m=3被确定为在短计算时间内产生最优结果。
(5)技术
许多研究人员强调了技术在影响组织变革中的关键作用。在许多情况下,组织重塑自己并不是为了直接回应非凡的想法,而是为了回应能够刺激这些想法实施的技术的发展。直到计算机和编程作为业务变化的载体发展起来,这种信息理论才对组织产生了重大影响。此外,科学管理应在开发工作测量技术后实施,而人事管理需要测试、态度调查和工作评估技术才能运行。
开放创新投入主要是为了改善“探索”。他们的基本知识和技术。组织必须增加他们的探索和开发努力,从战略开放的角度获得和应用创新活动所需的知识。下面的等式模拟了这一步骤中探索和开发之间的平衡:
其中 是勘探阶段, 是开发阶段。
(6)人口
组织必须培养一种参与式的工作文化,通过尊重人和利益相关者来促进个人创造力和团队合作。这样的工作文化会影响员工对可持续性的承诺和参与。方程描述了如何通过随机选择要素并进行更新来模拟人员的活动
其中d是人的随机特征。此特征计算如下:
其中m是影响问题个体的人数,m=3被确定为在较短的计算时间内产生最优结果,Nd是解的维度的数目。
(7)转换活动的机制
在提出的ED算法中,假设组织一次只关注一个步骤,因此四个步骤(即任务、结构、技术和人员)中只有一个在时间t发生,并由活动切换机制控制。当rand(0,1)<p1,(其中p1=0.1)时,表示任务步骤的概率为10%。结构、技术步骤和人员步骤的作用机理被引入为函数c(t),如公式所示。
其中Maxiter是最大迭代次数,t是第t次迭代。
ED对应的伪代码过程如下图所示
2、结果展示
3、MATLAB核心代码
%% 淘个代码 %%
% 微信公众号搜索:淘个代码,获取更多代码
% 企业发展优化算法(Enterprise development optimization,ED)
function [f,X,eval,Fit_store,Evali] = ED(fnc,funnum,D,NP,GEN,LBv,UBv)
if length(LBv)==1
LB = ones(1, D).*LBv;
UB = ones(1, D).*UBv;
else
LB = LBv;
UB = UBv;
end
MAXFEV=NP*GEN;
eval=0;
Evali=[];
ishow = 250;
ObjVal = zeros(NP,1);
%% Initial population using Eq. (1)
for i = 1:NP
Pop(i,:)=LB+rand(1,D).*(UB-UB);
ObjVal(i) = fnc(Pop(i,:),funnum);
eval=eval+1;
end
Evali=[Evali;eval];
[vl id]=min(ObjVal);
iBest = id(1);
GlobalMin = ObjVal(iBest);
Xbest = Pop(iBest,:);
g = 1;
Fit_store = zeros(1,GEN);
Fit_store(g)=GlobalMin;
ubest=Xbest;
while g < GEN
ct=1-rand*g/GEN;
if rand<0.1
%% Task using Eq. (2)
[vl id]=sort(ObjVal);
kd=id(end);
SolD=LB+rand([1 D]).*(UB-LB);
f_d = fnc(SolD,funnum);
eval=eval+1;
Pop(kd,:)=SolD;
ObjVal(kd)=f_d;
GlobalMin=f_d;
Xbest=SolD;
else
%% Calculate c(t) using Eq. (9)
a=ceil(3*ct);
switch a
case 1
%% Structure using Eq. (3)
for i = 1:NP
P=randperm(NP,3);
h=P(1);
p=P(2);
k=P(3);
SolC = (Pop(h,:)+Pop(p,:)+Pop(k,:))/3;
SolC = SolC+ 2*(rand([1,D])-0.5).*(Xbest - SolC);
SolC=check_bound(SolC,UB,LB);
f_c = fnc(SolC,funnum);
eval=eval+1;
if f_c <= GlobalMin
Xbest = SolC ;
GlobalMin = f_c;
end
end
case 2
%% Technology using Eq. (5)
for i = 1:NP
h=randperm(NP,1);
SolB = Pop(i,:);
SolB = Pop(i,:) + (rand([1 D]).*(Xbest - Pop(i,:))+rand([1 D]).*(Xbest - Pop(h,:)));
SolB=check_bound(SolB,UB,LB);
f_b = fnc(SolB,funnum);
eval=eval+1;
if f_b <= ObjVal(i)
Pop(i,:) = SolB;
ObjVal(i) = f_b;
if f_b <= GlobalMin
Xbest = SolB ;
GlobalMin = f_b;
end
end
end
case 3
%% People using Eq. (6)
for i=1:NP
Change=randperm(D,1);
A=randperm(NP,3);
nb1=A(1);
nb2=A(2);
nb3=A(3);
SolA=Pop(i,:);
SolA(Change)=Pop(i,Change)+(Pop(i,Change)-(Pop(nb1,Change)+Pop(nb2,Change)+Pop(nb3,Change))/3)*(rand-0.5)*2;
SolA=check_bound(SolA,UB,LB);
f_a = fnc(SolA,funnum);
eval=eval+1;
if f_a <= ObjVal(i)
Pop(i,:) = SolA;
ObjVal(i) = f_a ;
if f_a <= GlobalMin
Xbest = SolA ;
GlobalMin = f_a;
end
end
end
end
if eval>MAXFEV
break;
end
end
if rem(g, ishow) == 0
fprintf('Generation: %d. Best f: %f.\n', g, GlobalMin);
end
g = g + 1;
if GlobalMin<Fit_store(g-1)
Fit_store(g) = GlobalMin;
ubest=Xbest;
else
Fit_store(g)=Fit_store(g-1);
end
Evali=[Evali;eval];
end
%% Result
f = Fit_store(end);
X = ubest;
disp(['The best result:',num2str(f(end))])
end
function Sol=check_bound(Sol,UB,LB)
a=Sol<LB;
Sol(a)=LB(a)+rand*(UB(a)-LB(a));
a=Sol>UB;
Sol(a)=LB(a)+rand*(UB(a)-LB(a));
end
微信公众号搜索:淘个代码,获取更多免费代码
%禁止倒卖转售,违者必究!!!!!
%唯一官方店铺:https://mbd.pub/o/author-amqYmHBs/work
%代码清单:https://docs.qq.com/sheet/DU3NjYkF5TWdFUnpu
参考文献
[1]Truong D N, Chou J S. Metaheuristic algorithm inspired by enterprise development for global optimization and structural engineering problems with frequency constraints[J]. Engineering Structures, 2024, 318: 118679.
完整代码获取
后台回复关键词:
TGDM813
获取更多代码:
或者复制链接跳转:
https://docs.qq.com/sheet/DU3NjYkF5TWdFUnpu