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/qpipopt.html | 201 ++++++++++++++++++++---------- 1 file changed, 132 insertions(+), 69 deletions(-) (limited to 'help/en_US/scilab_en_US_help/qpipopt.html') diff --git a/help/en_US/scilab_en_US_help/qpipopt.html b/help/en_US/scilab_en_US_help/qpipopt.html index f134d7a..b8491a9 100644 --- a/help/en_US/scilab_en_US_help/qpipopt.html +++ b/help/en_US/scilab_en_US_help/qpipopt.html @@ -16,7 +16,7 @@ - FOSSEE Optimization Toolbox + FOSSEE Optimization Toolbox @@ -29,7 +29,7 @@ - FOSSEE Optimization Toolbox >> FOSSEE Optimization Toolbox > qpipopt + FOSSEE Optimization Toolbox >> FOSSEE Optimization Toolbox > qpipopt

qpipopt

@@ -39,85 +39,90 @@

Calling Sequence

xopt = qpipopt(nbVar,nbCon,H,f,lb,ub,A,conLB,conUB)
 xopt = qpipopt(nbVar,nbCon,H,f,lb,ub,A,conLB,conUB,x0)
-xopt = qpipopt(nbVar,nbCon,H,f,lb,ub,A,conLB,conUB,x0,param)
+xopt = qpipopt(nbVar,nbCon,H,f,lb,ub,A,conLB,conUB,x0,options)
 [xopt,fopt,exitflag,output,lamda] = qpipopt( ... )
-

Parameters

+

Input Parameters

nbVar : -

a double, number of variables

+

A double, denoting the number of variables

nbCon : -

a double, number of constraints

+

A double, denoting the number of constraints

H : -

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

+

A symmetric matrix of doubles, representing the Hessian of the quadratic problem.

f : -

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

+

A vector of doubles, representing coefficients of the linear terms in the quadratic problem.

lb : -

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

+

A vector of doubles, containing the lower bounds of the variables.

ub : -

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

+

A vector of doubles, containing the upper bounds of the variables.

A : -

a matrix of double, contains the constraint matrix conLB ≤ A⋅x ≤ conUB.

+

A matrix of doubles, representing the constraint matrix in conLB ≤ A⋅x ≤ conUB.

conLB : -

a vector of double, contains lower bounds of the constraints conLB ≤ A⋅x ≤ conUB.

+

A vector of doubles, containing the lower bounds of the constraints conLB ≤ A⋅x ≤ conUB.

conUB : -

a vector of double, contains upper bounds of the constraints conLB ≤ A⋅x ≤ conUB.

+

A vector of doubles, containing the upper bounds of the constraints conLB ≤ A⋅x ≤ conUB.

x0 : -

a vector of double, contains initial guess of variables.

-
param : -

a list containing the parameters to be set.

-
xopt : -

a vector of double, 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 option for user to specify. See below for details.

+

Outputs

+
xopt : +

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

fopt : -

a double, the value of the function at x.

+

A double, containing the value of the function at xopt.

exitflag : -

The exit status. See below for details.

+

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

output : -

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

+

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

lambda : -

The structure consist of the Lagrange multipliers at the solution of problem. See below for details.

+

A structure, containing the Lagrange multipliers of the lower bounds, upper bounds and constraints at the optimized point. See below for details.

Description

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

-

-

The routine calls Ipopt for solving the quadratic 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

-
//Ref : example 14 :
-//https://www.me.utexas.edu/~jensen/ORMM/supplements/methods/nlpmethod/S2_quadratic.pdf
-// min. -8*x1*x1 -16*x2*x2 + x1 + 4*x2
+

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

+

Example

+

We begin with a quadratic objective functions, subjected to two bounds for the functions, and two bounds for the constraints.

+

Find x in R^2 such that it minimizes:

+

+

+
//Example 1: Standard quadratic objective function
+//(Ref : example 14)https://www.me.utexas.edu/~jensen/ORMM/supplements/methods/nlpmethod/S2_quadratic.pdf
+// min. -8*x1^2 -16*x2^2 + x1 + 4*x2
 // such that
 //    x1 + x2 <= 5,
 //    x1 <= 3,
 //    x1 >= 0,
 //    x2 >= 0
-H = [2 0
-0 8];
+H = [-16 0; 0 8];
 f = [-8; -16];
 A = [1 1;1 0];
 conUB = [5;3];
@@ -129,24 +134,82 @@ It has type "struct" and contains the following fields.
 [xopt,fopt,exitflag,output,lambda] = qpipopt(nbVar,nbCon,H,f,lb,ub,A,conLB,conUB)
 //Press ENTER to continue
-

Examples

-
//Find x in R^6 such that:
-A= [1,-1,1,0,3,1;
--1,0,-3,-4,5,6;
-2,5,3,0,1,0
-0,1,0,1,2,-1;
--1,0,2,1,1,0];
-conLB=[1;2;3;-%inf;-%inf];
-conUB = [1;2;3;-1;2.5];
-lb=[-1000;-10000; 0; -1000; -1000; -1000];
-ub=[10000; 100; 1.5; 100; 100; 1000];
-//and minimize 0.5*x'⋅H⋅x + f'⋅x with
-f=[1; 2; 3; 4; 5; 6]; H=eye(6,6);
-nbVar = 6;
-nbCon = 5;
-x0 = repmat(0,nbVar,1);
-param = list("MaxIter", 300, "CpuTime", 100);
-[xopt,fopt,exitflag,output,lambda]=qpipopt(nbVar,nbCon,H,f,lb,ub,A,conLB,conUB,x0,param)
+

Example

+

We build on the previous example by providing a starting point, to facilitate the computation.

+

+

+
//Example 2: Standard quadratic objective function with starting points
+//Find x in R^2 such that:
+H = [-16 0; 0 8];
+f = [-8; -16];
+A = [1 1;1 0];
+conUB = [5;3];
+conLB = [-%inf; -%inf];
+lb = [0; 0];
+ub = [%inf; %inf];
+nbVar = 2;
+nbCon = 2;
+x0 = [1 ;1];
+[xopt,fopt,exitflag,output,lambda]=qpipopt(nbVar,nbCon,H,f,lb,ub,A,conLB,conUB,x0)
+ +

Example

+

We can further enhance the functionality of qpipopt by setting input options. This provides us with the ability to control the solver parameters such as the maximum number of solver iterations and the max. CPU time allowed for the computation.

+

+

+
//Example 3: Standard quadratic objective function with starting points and options.
+H = [-16 0; 0 8];
+f = [-8; -16];
+A = [1 1;1 0];
+conUB = [5;3];
+conLB = [-%inf; -%inf];
+lb = [0; 0];
+ub = [%inf; %inf];
+nbVar = 2;
+nbCon = 2;
+x0 = [1 ;1];
+options = list("MaxIter", 300, "CpuTime", 100);
+[xopt,fopt,exitflag,output,lambda]=qpipopt(nbVar,nbCon,H,f,lb,ub,A,conLB,conUB,x0,options)
+

Example

+

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

+

+

+
//Example 4: Infeasible Problem
+//(Ref : example 14)https://www.me.utexas.edu/~jensen/ORMM/supplements/methods/nlpmethod/S2_quadratic.pdf
+// min. -8*x1^2 -16*x2^2 + x1 + 4*x2
+// such that
+//    x1 + x2 <= 5,
+//    x1 <= 3,
+//    x1 >= 0,
+//    x2 >= 0
+H = [-16 0; 0 8];
+f = [-8; -16];
+A = [1 1;1 0]
+conUB = [5;3];
+conLB = [-%inf; -%inf];
+lb = [4; 0];
+ub = [%inf; %inf];
+nbVar = 2;
+nbCon = 2;
+[xopt,fopt,exitflag,output,lambda] = qpipopt(nbVar,nbCon,H,f,lb,ub,A,conLB,conUB)
+//Press ENTER to continue
+ +

Example

+

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

+

+

+
//Example 5: Unbounded Problem
+//Find x in R^2 such that:
+H = [-16 0; 0 8];
+f = [-8; -16];
+A = [-2 0;0 1];
+conUB = [5;3];
+conLB = [-%inf; -%inf];
+lb = [0; 0];
+ub = [%inf; %inf];
+nbVar = 2;
+nbCon = 2;
+x0 = [1 ;1];
+[xopt,fopt,exitflag,output,lambda]=qpipopt(nbVar,nbCon,H,f,lb,ub,A,conLB,conUB,x0)

Authors

  • Keyur Joshi, Saikiran, Iswarya, Harpreet Singh
@@ -161,7 +224,7 @@ It has type "struct" and contains the following fields.
- FOSSEE Optimization Toolbox + FOSSEE Optimization Toolbox -- cgit