Is there any way to derive the analytic gradient of constraint function in "fmincon" or we have to input it manually ?

9 views (last 30 days)
Dear sir,
i have worked on optimization problem using command fmincon,and i have to input the analytic gradient of constraint function manually so can we create other function for calling the analytic gradient from other sources?
as we have this problem:
function [c,ceq,DC,DCeq] = confungrad(x)
c(1) = 1.5 + x(1) * x(2) - x(1) - x(2); % Inequality constraints
c(2) = -x(1) * x(2)-10;
% No nonlinear equality constraints
ceq=[]; % Gradient of the constraints: if nargout > 2
DC= [x(2)-1, -x(2);
x(1)-1, -x(1)];
DCeq = [];
end
for the analytic gradient of constraint function DC.so can we call that value from other function without input manually like this?
thank you very much.i am very appreciated for your answers
Best Regards!

Answers (1)

Alan Weiss
Alan Weiss on 27 May 2015
I am not sure what you are asking. If you would like MATLAB to calculate gradients for you, and you have Symbolic Math Toolbox, then you can use the techniques of this example using function files, or this example using function handles.
If I misunderstood your question, please try asking again in different words.
Alan Weiss
MATLAB mathematical toolbox documentation
  3 Comments
Alan Weiss
Alan Weiss on 28 May 2015
I am sorry, but I still have a hard time understanding what you are asking. If you are asking whether you can write a program to calculate your constraint function gradients, then the answer is yes, go ahead and write the function yourself. Sorry if this is not helpful, but it seems to me that is what you are asking.
If you are asking whether there is any built-in way to calculate gradients automatically, then the answer is yes, see my previous answer about using Symbolic Math Toolbox.
If you are asking something else, then I am afraid that we are not communicating well. Perhaps someone else might be able to understand and help you.
Alan Weiss
MATLAB mathematical toolbox documentation
Walter Roberson
Walter Roberson on 28 May 2015
Could you give an example of the inputs you do have, that you would like the constraint functions to be automatically written from?

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!