f553.m
上传用户:qzfzqd
上传日期:2013-04-17
资源大小:7k
文件大小:1k
源码类别:

matlab例程

开发平台:

Matlab

  1. function [sol,eval]=f553(sol,options)
  2. m(1)=sol(1);
  3. m(2)=sol(2);
  4. m(3)=sol(3);
  5. %失效概率矩阵
  6. q=[0.01 0.05 0.10 0.18;
  7. 0.08 0.02 0.15 0.12;
  8. 0.04 0.05 0.20 0.10];
  9. %约束条件
  10. g1=51-(m(1)+3).^2+m(2).^2+m(3).^2;
  11. g2=20*sum(m+exp(-m))-120;
  12. g3=20*sum(m.*exp(-m/4))-65;
  13. %计算加惩罚项的适值
  14. if ((g1>=0)&(g2>=0)&(g3>=0))
  15.   multi=1;
  16.   for i=1:3
  17.      summ=0;
  18.      for j=2:4
  19.         summ=summ+q(i,j).^(m(i)+1);
  20.      end      
  21.      multi=multi*(1-(1-(1-q(i,1)).^(m(i)+1))-summ);
  22.   end
  23.   eval=multi;
  24. else
  25. %取M=500
  26.   eval=-500;
  27. end