From a2d9c2bfd6eb83d1a494821176388eb312d08254 Mon Sep 17 00:00:00 2001 From: Harpreet Date: Mon, 25 Jan 2016 01:05:02 +0530 Subject: functions added --- help/en_US/scilab_en_US_help/fminunc.html | 178 ++++++++++++++++++++++++++++++ 1 file changed, 178 insertions(+) create mode 100644 help/en_US/scilab_en_US_help/fminunc.html (limited to 'help/en_US/scilab_en_US_help/fminunc.html') diff --git a/help/en_US/scilab_en_US_help/fminunc.html b/help/en_US/scilab_en_US_help/fminunc.html new file mode 100644 index 0000000..97ffdbf --- /dev/null +++ b/help/en_US/scilab_en_US_help/fminunc.html @@ -0,0 +1,178 @@ + + + fminunc + + + +
+ + + + +
+ << fmincon + + + Symphony Toolbox + + + linprog >> + +
+
+
+ + + + Symphony Toolbox >> Symphony Toolbox > fminunc + +

+

fminunc

+

Solves a multi-variable unconstrainted optimization problem

+ + +

Calling Sequence

+
xopt = fminunc(f,x0)
+xopt = fminunc(f,x0,options)
+[xopt,fopt] = fminunc(.....)
+[xopt,fopt,exitflag]= fminunc(.....)
+[xopt,fopt,exitflag,output]= fminunc(.....)
+[xopt,fopt,exitflag,output,gradient]=fminunc(.....)
+[xopt,fopt,exitflag,output,gradient,hessian]=fminunc(.....)
+ +

Parameters

+
f : +

a function, representing the objective function of the problem

+
x0 : +

a vector of doubles, containing the starting of variables.

+
options: +

a list, containing the option for user to specify. See below for details.

+
xopt : +

a vector of doubles, the computed solution of the optimization problem.

+
fopt : +

a scalar of double, the function value at x.

+
exitflag : +

a scalar of integer, containing the flag which denotes the reason for termination of algorithm. See below for details.

+
output : +

a structure, containing the information about the optimization. See below for details.

+
gradient : +

a vector of doubles, containing the the gradient of the solution.

+
hessian : +

a matrix of doubles, containing the the hessian of the solution.

+ +

Description

+

Search the minimum of an unconstrained optimization problem specified by : +Find the minimum of f(x) such that

+

+

The routine calls Ipopt for solving the Un-constrained Optimization problem, Ipopt is a library written in C++.

+

The options allows the user to set various parameters of the Optimization problem. +It should be defined as type "list" and contains the following fields. +

+

The exitflag allows to know the status of the optimization which is given back by Ipopt. +

+

For more details on exitflag see the ipopt documentation, go to http://www.coin-or.org/Ipopt/documentation/

+

The output data structure contains detailed informations about the optimization process. +It has type "struct" and contains the following fields. +

+

+ +

Examples

+
//Find x in R^2 such that it minimizes the Rosenbrock function
+//f = 100*(x2 - x1^2)^2 + (1-x1)^2
+//Objective function to be minimised
+function y=f(x)
+y= 100*(x(2) - x(1)^2)^2 + (1-x(1))^2;
+endfunction
+//Starting point
+x0=[-1,2];
+//Gradient of objective function
+function y=fGrad(x)
+y= [-400*x(1)*x(2) + 400*x(1)^3 + 2*x(1)-2, 200*(x(2)-x(1)^2)];
+endfunction
+//Hessian of Objective Function
+function y=fHess(x)
+y= [1200*x(1)^2- 400*x(2) + 2, -400*x(1);-400*x(1), 200 ];
+endfunction
+//Options
+options=list("MaxIter", [1500], "CpuTime", [500], "Gradient", fGrad, "Hessian", fHess);
+//Calling Ipopt
+[xopt,fopt,exitflag,output,gradient,hessian]=fminunc(f,x0,options)
+ +

Examples

+
//Find x in R^2 such that the below function is minimum
+//f = x1^2 + x2^2
+//Objective function to be minimised
+function y=f(x)
+y= x(1)^2 + x(2)^2;
+endfunction
+//Starting point
+x0=[2,1];
+//Calling Ipopt
+[xopt,fopt]=fminunc(f,x0)
+ +

Examples

+
//The below problem is an unbounded problem:
+//Find x in R^2 such that the below function is minimum
+//f = - x1^2 - x2^2
+//Objective function to be minimised
+function y=f(x)
+y= -x(1)^2 - x(2)^2;
+endfunction
+//Starting point
+x0=[2,1];
+//Gradient of objective function
+function y=fGrad(x)
+y= [-2*x(1),-2*x(2)];
+endfunction
+//Hessian of Objective Function
+function y=fHess(x)
+y= [-2,0;0,-2];
+endfunction
+//Options
+options=list("MaxIter", [1500], "CpuTime", [500], "Gradient", fGrad, "Hessian", fHess);
+//Calling Ipopt
+[xopt,fopt,exitflag,output,gradient,hessian]=fminunc(f,x0,options)
+ +

Authors

+
+
+ +
+ + + + + + +
Report an issue
+ << fmincon + + + Symphony Toolbox + + + linprog >> + +
+
+
+ + -- cgit