<< intfminunc FOSSEE Optimization Toolbox

FOSSEE Optimization Toolbox >> FOSSEE Optimization Toolbox > intqpipopt

intqpipopt

Solves a linear quadratic problem.

Calling Sequence

xopt = intqpipopt(H,f)
xopt = intqpipopt(H,f,intcon)
xopt = intqpipopt(H,f,intcon,A,b)
xopt = intqpipopt(H,f,intcon,A,b,Aeq,beq)
xopt = intqpipopt(H,f,intcon,A,b,Aeq,beq,lb,ub)
xopt = intqpipopt(H,f,intcon,A,b,Aeq,beq,lb,ub,x0)
xopt = intqpipopt(H,f,intcon,A,b,Aeq,beq,lb,ub,x0,options)
xopt = intqpipopt(H,f,intcon,A,b,Aeq,beq,lb,ub,x0,options,"file_path")
[xopt,fopt,exitflag,output] = intqpipopt( ... )

Parameters

H :

a symmetric matrix of double, represents coefficients of quadratic in the quadratic problem.

f :

a vector of double, represents coefficients of linear in the quadratic problem

intcon :

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

A :

a matrix of double, represents the linear coefficients in the inequality constraints A⋅x ≤ b.

b :

a vector of double, represents the linear coefficients in the inequality constraints A⋅x ≤ b.

Aeq :

a matrix of double, represents the linear coefficients in the equality constraints Aeq⋅x = beq.

beq :

a vector of double, represents the linear coefficients in the equality constraints Aeq⋅x = beq.

lb :

a vector of double, contains lower bounds of the variables.

ub :

a vector of double, contains upper bounds of the variables.

x0 :

a vector of double, contains initial guess of variables.

options :

a list containing the parameters to be set.

file_path :

path to bonmin opt file if used.

xopt :

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

fopt :

a double, the value of the function at x.

exitflag :

The exit status. See below for details.

output :

The structure consist of statistics about the optimization. See below for details.

Description

Search the minimum of a constrained linear quadratic optimization problem specified by :

The routine calls Bonmin for solving the quadratic problem, Bonmin is a library written in C++.

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

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

Examples

H = [1 -1; -1 2];
f = [-2; -6];
A = [1 1; -1 2; 2 1];
b = [2; 2; 3];
lb=[0,0];
ub=[%inf, %inf];
intcon = [1 2];
[xopt,fopt,status,output]=intqpipopt(H,f,intcon,A,b,[],[],lb,ub)

Examples

//Find x in R^6 such that:
Aeq= [1,-1,1,0,3,1;
-1,0,-3,-4,5,6;
2,5,3,0,1,0];
beq=[1; 2; 3];
A= [0,1,0,1,2,-1;
-1,0,2,1,1,0];
b = [-1; 2.5];
lb=[-1000; -10000; 0; -1000; -1000; -1000];
ub=[10000; 100; 1.5; 100; 100; 1000];
x0 = repmat(0,6,1);
param = list("MaxIter", 300, "CpuTime", 100);
//and minimize 0.5*x'*H*x + f'*x with
f=[1; 2; 3; 4; 5; 6]; H=eye(6,6);
intcon = [2 4];
[xopt,fopt,exitflag,output]=intqpipopt(H,f,intcon,A,b,Aeq,beq,lb,ub,x0,param)

Authors


Report an issue
<< intfminunc FOSSEE Optimization Toolbox