function [g]=inequality(type,x)
%g(1)=x(:,1).^2+x(:,2).^2-25; %非线性约束问题比约束问题更加难
%g(2)=x(:,1).^2-x(:,2).^2-7;
%-----------------------------
%g(1)=2*x(1)+3*x(2)-6; %非线性约束问题比约束问题更加难
% g(2)=x(1)+4*x(2)-5;
%-----------------------------
if type==1
g(1)=2*x(1)+2*x(2)+x(10)+x(11)-10;
g(2)=2*x(1)+2*x(3)+x(10)+x(12)-10;
g(3)=2*x(2)+2*x(3)+x(11)+x(12)-10;
g(4)=-8*x(1)+x(10);
g(5)=-8*x(2)+x(11);
g(6)=-8*x(3)+x(12);
g(7)=-2*x(4)-x(5)+x(10);
g(8)=-2*x(6)-x(7)+x(11);
g(9)=-2*x(8)-x(9)+x(12);
elseif type==2
len=length(x);
g(1)=0.75-prod(x,2);
g(2)=sum(x,2)-7.5*len;
elseif type==3
g(1)=sum(x.^2,2)-1-0.0001;
% g(2)=1-sum(x.^2,2)-0.00001;
elseif type==4
g(1)=85.334407+0.0056858*x(2)*x(5)+0.0006262*x(1)*x(4)-0.0022053*x(3)*x(5)-92;
g(2)=-85.334407-0.0056858*x(2)*x(5)-0.0006262*x(1)*x(4)+0.0022053*x(3)*x(5);
g(3)=80.51249+0.0071317*x(2)*x(5)+0.0029955*x(1)*x(2)+0.0021813*x(3).^2-110;
g(4)=-80.51249-0.0071317*x(2)*x(5)-0.0029955*x(1)*x(2)-0.0021813*x(3).^2+90;
g(5)=9.300961+0.0047026*x(3)*x(5)+0.0012547*x(1)*x(3)+0.0019085*x(3)*x(4)-25;
g(6)=-9.300961-0.0047026*x(3)*x(5)-0.0012547*x(1)*x(3)-0.0019085*x(3)*x(4)+20;
elseif type==5
g(1)=-x(4)+x(3)-0.55;
g(2)=-x(3)+x(4)-0.55;
g(3)=1000*sin(-x(3)-0.25)+1000*sin(-x(4)-0.25)+894.8-x(1)-0.0001;
g(4)=1000*sin(x(3)-0.25)+1000*sin(x(3)-x(4)-0.25)+894.8-x(2)-0.0001;
g(5)=1000*sin(x(4)-0.25)+1000*sin(x(4)-x(3)-0.25)+1294.8-0.0001;
% g(6)=-1000*sin(-x(3)-0.25)-1000*sin(-x(4)-0.25)-894.8+x(1)-0.0001;
% g(7)=-1000*sin(x(3)-0.25)-1000*sin(x(3)-x(4)-0.25)-894.8+x(2)-0.0001;
% g(8)=-1000*sin(x(4)-0.25)-1000*sin(x(4)-x(3)-0.25)-1294.8-0.0001;
elseif type==6
g(1)=-(x(1)-5).^2-(x(2)-5).^2+100;
g(2)=(x(1)-6).^2+(x(2)-5).^2-82.81;
elseif type==7
g(1)=-105+4*x(1)+5*x(2)-3*x(7)+9*x(8);
g(2)=10*x(1)-8*x(2)-17*x(7)+2*x(8);
g(3)=-8*x(1)+2*x(2)+5*x(9)-2*x(10)-12;
g(4)=3*(x(1)-2).^2+4*(x(2)-3).^2+2*x(3).^2-7*x(4)-120;
g(5)=5*x(1).^2+8*x(2)+(x(3)-6).^2-2*x(4)-40;
g(6)=x(1).^2+2*(x(2)-2).^2-2*x(1)*x(2)+14*x(5)-6*x(6);
g(7)=0.5*(x(1)-8).^2+2*(x(2)-4).^2+3*x(5).^2-x(6)-30;
g(8)=-3*x(1)+6*x(2)+12*(x(9)-8).^2-7*x(10);
elseif type==8
g(1)=x(1).^2-x(2)+1;
g(2)=1-x(1)+(x(2)-4).^2;
elseif type==9
g(1)=-127+2*x(1).^2+3*x(2).^4+x(3)+4*x(4).^2+5*x(5);
g(2)=-282+7*x(1)+3*x(2)+10*x(3).^2+x(4)-x(5);
g(3)=-196+23*x(1)+x(2).^2+6*x(6).^2-8*x(7);
g(4)=4*x(1).^2+x(2).^2-3*x(1)*x(2)+2*x(3).^2+5*x(6)-11*x(7);
elseif type==10
g(1)=-1+0.0025*(x(4)+x(6));
g(2)=-1+0.0025*(x(5)+x(7)-x(4));
g(3)=-1+0.01*(x(8)-x(5));
g(4)=-x(1)*x(6)+833.33252*x(4)+100*x(1)-83333.333;
g(5)=-x(2)*x(7)+1250*x(5)+x(2)*x(4)-1250*x(4);
g(6)=-x(3)*x(8)+1250000+x(3)*x(5)-2500*x(5);
elseif type==11
g(1)=x(2)-x(1).^2-0.0001;
elseif type==12
p=5;r=5;q=5;
g(1)=(x(1)-p).^2+(x(2)-q).^2+(x(3)-r).^2-0.0625;
elseif type==13
g(1)=x(1).^2+x(2).^2+x(3).^2+x(4).^2+x(5).^2-10-0.001;
g(2)=x(2)*x(3)-5*x(4)*x(5)-0.001;
g(3)=x(1).^3+x(2).^3+1-0.001;
%g(1)=-x(1).^2-x(2).^2-x(3).^2-x(4).^2-x(5).^2+10-0.001;
%g(2)=-x(2)*x(3)+5*x(4)*x(5)-0.001;
%g(3)=-x(1).^3-x(2).^3-1-0.001;
end
end