目標函式:
functionz=my_fun(x)
z=0.589*x(2)^3*(x(3)+2)*((60*x(1)+2+6/(x(1)+2))^2-(60*x(1)-6.4)^2);
非線性約束:
function[c,ceq]=mycon2(x)
c=[-x(2)^3*x(3)+38066/(x(1)^2);
-5390*x(2)^5*(x(3)-2.4)^4+1514300*sqrt(2.3889*((x(1)/x(3))^2)+0.132474)];
ceq=[];
儲存!
>>x0=[1;5;10];%Startingguessatthesolution
lb=[1;2;8;];ub=[4/3;18;16;];
options=optimset("LargeScale","off");
[x,fval]=fmincon(@my_fun,x0,[],[],[],[],lb,ub,@mycon2,options)
Optimizationterminated:magnitudeofsearchdirectionlessthan2*options.TolX
andmaximumconstraintviolationislessthanoptions.TolCon.
Activeinequalities(towithinoptions.TolCon=1e-006):
lowerupperineqlinineqnonlin
31
x=
1.3333
11.0200
16.0000
fval=
2.2779e+007
%%%%%%%%%%%%%
樓主的x(1)的範圍失效,第一條件x(1)>2,第二個條件x(1)<4/3,第9個條件x(1)<4,第10個條件x(1)>1/2,同大取大,同小取小,所以2<x(1)<4/3這區間沒值,所以我隨便給了x(1)一個範圍,1<x(1)<4/3
目標函式:
functionz=my_fun(x)
z=0.589*x(2)^3*(x(3)+2)*((60*x(1)+2+6/(x(1)+2))^2-(60*x(1)-6.4)^2);
非線性約束:
function[c,ceq]=mycon2(x)
c=[-x(2)^3*x(3)+38066/(x(1)^2);
-5390*x(2)^5*(x(3)-2.4)^4+1514300*sqrt(2.3889*((x(1)/x(3))^2)+0.132474)];
ceq=[];
儲存!
>>x0=[1;5;10];%Startingguessatthesolution
lb=[1;2;8;];ub=[4/3;18;16;];
options=optimset("LargeScale","off");
[x,fval]=fmincon(@my_fun,x0,[],[],[],[],lb,ub,@mycon2,options)
Optimizationterminated:magnitudeofsearchdirectionlessthan2*options.TolX
andmaximumconstraintviolationislessthanoptions.TolCon.
Activeinequalities(towithinoptions.TolCon=1e-006):
lowerupperineqlinineqnonlin
31
x=
1.3333
11.0200
16.0000
fval=
2.2779e+007
%%%%%%%%%%%%%
樓主的x(1)的範圍失效,第一條件x(1)>2,第二個條件x(1)<4/3,第9個條件x(1)<4,第10個條件x(1)>1/2,同大取大,同小取小,所以2<x(1)<4/3這區間沒值,所以我隨便給了x(1)一個範圍,1<x(1)<4/3