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

📄 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 StepChangeRatio ObjectSize;global FitnessEq;ThisCase=getreal(chromosome);ObjectCenter=ObjectPosition(1:2);PositionDiff=ObjectCenter-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,WidthAngle]=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,WidthAngle);    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/sqrt(2)-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  ='sqrt(JoinForce)*(CosJoinAngle*TorqueEffect)^4';FitnessValue=sqrt(JoinForce)*(CosJoinAngle*TorqueEffect)^4;%*(0.2+DirectionLimit);

⌨️ 快捷键说明

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