⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fitness.m

📁 多智能体工具包
💻 M
字号:
function FitnessValue=fitness(chromosome)% FITNESS	Fitness function for Genetic Algorithm.%     Copyright (c) 1998-2000 Jiming Liu and Jianbing Wuglobal RobotNum ObjectPosition GoalPosition LastMoveDirection;global RegionNum DirectionNum StepRatio ObjectSize;global FitnessEq StepChangeRatio;ThisCase=getreal(chromosome);PositionDiff=ObjectPosition-GoalPosition;GOdist=sqrt(PositionDiff(1)*PositionDiff(1)+PositionDiff(2)*PositionDiff(2));% Join Force & Join TorqueXForce=0;YForce=0;JoinTorque=0;for loop1=1:RobotNum  [TakeRole,DeltaAngle]=takerole(ThisCase(loop1),ThisCase(loop1+RobotNum));  if TakeRole    XForce=XForce+cos(ThisCase(loop1+RobotNum)*2*pi/DirectionNum);    YForce=YForce+sin(ThisCase(loop1+RobotNum)*2*pi/DirectionNum);    [ThisTorque,TheSign]=gettorqu(DeltaAngle);    JoinTorque=JoinTorque+ThisTorque*TheSign;  end;end;JoinForce=sqrt(XForce*XForce+YForce*YForce);JoinForceDir=atan2(YForce,XForce);if JoinForce==0  JoinForce=0.000001;end;TorqueEffect=ObjectSize*RobotNum-abs(JoinTorque);CosJoinAngle=1.01+cos(JoinForceDir);%if CosJoinAngle<=0%  CosJoinAngle=0.000001;%end;%StepDiff=JoinForce*StepRatio-GOdist*StepChangeRatio;%StepLimit=exp(-StepDiff*StepDiff);%if isempty(LastMoveDirection)%  DirectionLimit=0;%else%  DiffDirection=LastMoveDirection-JoinForceDir;%  DirectionLimit=exp(-DiffDirection*DiffDirection);%end;%-----------------------------------FitnessEq  ='JoinForce*CosJoinAngle*TorqueEffect';FitnessValue=JoinForce*CosJoinAngle*TorqueEffect;%*(0.1+DirectionLimit);

⌨️ 快捷键说明

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