From 6aa3bf99dbd4187c83167dec18ebe974421d57bc Mon Sep 17 00:00:00 2001 From: Georgey Date: Wed, 5 Jul 2017 11:44:38 +0530 Subject: Updated help folder --- help/en_US/scilab_en_US_help/fminunc.html | 142 ++++++++++++++++-------------- 1 file changed, 76 insertions(+), 66 deletions(-) (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 index d5f0786..b2e9059 100644 --- a/help/en_US/scilab_en_US_help/fminunc.html +++ b/help/en_US/scilab_en_US_help/fminunc.html @@ -16,11 +16,11 @@ - FOSSEE Optimization Toolbox + FOSSEE Optimization Toolbox - linprog >> + intfminbnd >> @@ -29,7 +29,7 @@ - FOSSEE Optimization Toolbox >> FOSSEE Optimization Toolbox > fminunc + FOSSEE Optimization Toolbox >> FOSSEE Optimization Toolbox > fminunc

fminunc

@@ -45,59 +45,81 @@ [xopt,fopt,exitflag,output,gradient]=fminunc(.....) [xopt,fopt,exitflag,output,gradient,hessian]=fminunc(.....)
-

Parameters

+

Input Parameters

f : -

a function, representing the objective function of the problem

+

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.

+

A vector of doubles, containing the starting values of variables of size (1 X n) or (n X 1) where 'n' is the number of Variables.

+
options : +

A list, containing the options for user to specify. See below for details.

+

Outputs

+
xopt : +

A vector of doubles, containing the computed solution of the optimization problem.

fopt : -

a scalar of double, the function value at x.

+

A double, containing the 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.

+

An 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.

+

A vector of doubles, containing the objective's gradient of the solution.

hessian : -

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

+

A matrix of doubles, containing the lagrangian's hessian of the solution.

Description

-

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

+

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. -

+

Fminunc calls Ipopt which is an optimization library written in C++, to solve the unconstrained optimization problem.

+

Options

+The options allow the user to set various parameters of the optimization problem. The syntax for the options is given by:

+

options= list("MaxIter", [---], "CpuTime", [---], "GradObj", ---, "Hessian", ---, "GradCon", ---);

+

+The default values for the various items are given as:

+

options = list("MaxIter", [3000], "CpuTime", [600]);

+

The exitflag allows the user to know the status of the optimization which is returned by Ipopt. The values it can take and what they indicate is described below: +

+

For more details on exitflag, see the Ipopt documentation which can be found on http://www.coin-or.org/Ipopt/documentation/

+

The output data structure contains detailed information about the optimization process. +It is of 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
+   

A few examples displaying the various functionalities of fminunc have been provided below. You will find a series of problems and the appropriate code snippets to solve them.

+ +

Example

+

We begin with the minimization of a simple non-linear function.

+

Find x in R^2 such that it minimizes:

+

+

+
//Example 1: Simple non-linear function.
+//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)
+// Press ENTER to continue
+ +

Example

+

We now look at the Rosenbrock function, a non-convex performance test problem for optimization routines. We use this example to illustrate how we can enhance the functionality of fminunc by setting input options. We can pre-define the gradient of the objective function and/or the hessian of the lagrange function and thereby improve the speed of computation. This is elaborated on in example 2. We also set solver parameters using the options.

+

+

+
//Example 2: The Rosenbrock function.
 //Objective function to be minimised
 function y=f(x)
 y= 100*(x(2) - x(1)^2)^2 + (1-x(1))^2;
@@ -113,28 +135,16 @@ It has type "struct" and contains the following fields.
 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);
+options=list("MaxIter", [1500], "CpuTime", [500], "GradObj", fGrad, "Hessian", fHess);
 //Calling Ipopt
 [xopt,fopt,exitflag,output,gradient,hessian]=fminunc(f,x0,options)
 // Press ENTER to continue
-

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)
-// Press ENTER to continue
- -

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
+

Example

+

Unbounded Problems: Find x in R^2 such that it minimizes:

+

+

+
//Example 3: Unbounded objective function.
 //Objective function to be minimised
 function y=f(x)
 y= -x(1)^2 - x(2)^2;
@@ -150,7 +160,7 @@ It has type "struct" and contains the following fields.
 y= [-2,0;0,-2];
 endfunction
 //Options
-options=list("MaxIter", [1500], "CpuTime", [500], "Gradient", fGrad, "Hessian", fHess);
+options=list("MaxIter", [1500], "CpuTime", [500], "GradObj", fGrad, "Hessian", fHess);
 //Calling Ipopt
 [xopt,fopt,exitflag,output,gradient,hessian]=fminunc(f,x0,options)
@@ -167,11 +177,11 @@ It has type "struct" and contains the following fields.
- FOSSEE Optimization Toolbox + FOSSEE Optimization Toolbox - linprog >> + intfminbnd >>
-- cgit