MATLAB Answers

How to define multiple nonlinear inequality constraints for 'fmincon'?

241 views (last 30 days)
Li Yang
Li Yang on 15 Apr 2016
Answered: amin ghorbanpour on 20 Nov 2018
Hello, I have a question about defining nonlinear inequality constraints for 'fmincon' function. With the example in document, it seems there can only be 1 equality and 1 inequality constraint
function [c,ceq] = circlecon(x)
c = (x(1)-1/3)^2 + (x(2)-1/3)^2 - (1/3)^2;
ceq = [];
end
What if I have no nonlinear equality constraint but have multiple nonlinear inequality constraints? Could anyone help me on this ? Thank you!

  0 Comments

Sign in to comment.

Accepted Answer

Torsten
Torsten on 15 Apr 2016
function [c,ceq] = circlecon(x)
c(1) = (x(1)-1/3)^2 + (x(2)-1/3)^2 - (1/3)^2;
c(2) = ...;
c(3) = ...;
...
ceq = [];
end
Best wishes
Torsten.

  0 Comments

Sign in to comment.

More Answers (1)

amin ghorbanpour
amin ghorbanpour on 20 Nov 2018
You can stack them all in one matrix:
c = []
function [c,ceq] = FUNCTION(x)
for i= 1:N % N is the number if iterations! your states for example
c1 = f(x(i));
c = [c c1];
end
ceq = [];
end
Good luck!

  0 Comments

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by