I have an optimization problem with nonlinear inequality.I write the MATLAB code using fmincon given below. Now,i want to run the code for different initial point using a loop for check the value..How can i do it?
r=1;
d=80;
a=2.0944;
c = @(x)[(a.*x(1).^2./(4*r)) + ((a/2 + 2).*x(1))- x(2);
-(a.*x(1).^2./(4*r))- ((a/2 + 2).*x(1))+((2*d)+((a*d)/2)+(a*d.^2)/(4*r)-(4*r))-x(2)];
ceq = @(x)[ ];
nonlinfcn = @(x)deal(c(x),ceq(x));
obj = @(x)x(2);
opts = optimoptions(@fmincon,'Algorithm','interior-point');
[x,fval,exitflag] = fmincon(obj,[10;100],[],[],[],[],[10;100],[500;100000],nonlinfcn,opts);

 Akzeptierte Antwort

Torsten
Torsten am 13 Jul. 2015
Bearbeitet: Walter Roberson am 13 Jul. 2015

1 Stimme

for j=1:n
x0=[x10(j);x20(j)];
[x,fval,exitflag] = fmincon(obj,x0,[],[],[],[],[10;100],[500;100000],nonlinfcn,opts);
disp(x);
end
where x10 and x20 are predefined arrays of initial values for x1 and x2.
Best wishes
Torsten.

3 Kommentare

rumpa dasgupta
rumpa dasgupta am 13 Jul. 2015
Thank you for your reply...
Torsten, If i want to run the code for random initial value instead of predefined array of initial values for x1 and x2,then how can i do it?

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by