<< intfminimax FOSSEE Optimization Toolbox intqpipopt >>

FOSSEE Optimization Toolbox >> FOSSEE Optimization Toolbox > intfminunc

intfminunc

Solves an unconstrainted multi-variable mixed integer non linear programming optimization problem

Calling Sequence

xopt = intfminunc(f,x0)
xopt = intfminunc(f,x0,intcon)
xopt = intfminunc(f,x0,intcon,options)
[xopt,fopt] = intfminunc(.....)
[xopt,fopt,exitflag]= intfminunc(.....)
[xopt,fopt,exitflag,gradient,hessian]= intfminunc(.....)

Parameters

f :

a function, representing the objective function of the problem

x0 :

a vector of doubles, containing the starting of variables.

intcon :

a vector of integers, represents which variables are constrained to be integers

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.

gradient :

a vector of doubles, containing the Objective's gradient of the solution.

hessian :

a matrix of doubles, containing the Objective's hessian of the solution.

Description

Search the minimum of a multi-variable mixed integer non linear programming unconstrained optimization problem specified by : Find the minimum of f(x) such that

The routine calls Bonmin for solving the Un-constrained Optimization problem, Bonmin 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 Bonmin.

For more details on exitflag see the Bonmin page, go to http://www.coin-or.org/Bonmin

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];
intcon = [2]
//Options
options=list("MaxIter", [1500], "CpuTime", [500]);
//Calling
[xopt,fopt,exitflag,gradient,hessian]=intfminunc(f,x0,intcon,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];
intcon = [1];
[xopt,fopt]=intfminunc(f,x0,intcon)
// 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
//Objective function to be minimised
function [y, g, h]=f(x)
y = -x(1)^2 - x(2)^2;
g = [-2*x(1),-2*x(2)];
h = [-2,0;0,-2];
endfunction
//Starting point
x0=[2,1];
intcon = [1]
options = list("gradobj","ON","hessian","on");
[xopt,fopt,exitflag,gradient,hessian]=intfminunc(f,x0,intcon,options)

Report an issue
<< intfminimax FOSSEE Optimization Toolbox intqpipopt >>