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/intqpipopt.xml | 403 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 403 insertions(+) create mode 100644 help/en_US/intqpipopt.xml (limited to 'help/en_US/intqpipopt.xml') diff --git a/help/en_US/intqpipopt.xml b/help/en_US/intqpipopt.xml new file mode 100644 index 0000000..2859568 --- /dev/null +++ b/help/en_US/intqpipopt.xml @@ -0,0 +1,403 @@ + + + + + + + + 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( ... ) + + + + + + Input Parameters + + H : + A symmetric matrix of doubles, representing the Hessian of the quadratic problem. + f : + A vector of doubles, representing coefficients of the linear terms in the quadratic problem. + intcon : + A vector of integers, representing the variables that are constrained to be integers. + A : + A matrix of doubles, containing the coefficients of linear inequality constraints of size (m X n) where 'm' is the number of linear inequality constraints. + b : + A vector of doubles, related to 'A' and represents the linear coefficients in the linear inequality constraints of size (m X 1). + Aeq : + A matrix of doubles, containing the coefficients of linear equality constraints of size (m1 X n) where 'm1' is the number of linear equality constraints. + beq : + A vector of double, vector of doubles, related to 'Aeq' and represents the linear coefficients in the equality constraints of size (m1 X 1). + lb : + A vector of doubles, containing the lower bounds of the variables of size (1 X n) or (n X 1) where 'n' is the number of variables. + ub : + A vector of doubles, containing the upper bounds of the variables of size (1 X n) or (n X 1) where 'n' is the number of variables. + x0 : + 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. + file_path : + path to bonmin opt file if used. + + + + Outputs + + xopt : + A vector of doubles, containing the computed solution of the optimization problem. + fopt : + A double, containing the value of the function at xopt. + exitflag : + 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. + + + + + Description + +Search the minimum of a constrained linear quadratic optimization problem specified by : + + + +\begin{eqnarray} +&\mbox{min}_{x} +& 1/2⋅x^T⋅H⋅x + f^T⋅x \\ +& \text{subject to} & A⋅x \leq b \\ +& & Aeq⋅x = beq \\ +& & lb \leq x \leq ub \\ +& & x_i \in \!\, \mathbb{Z}, i \in \!\, intcon\\ +\end{eqnarray} + + + +intqpipopt calls Bonmin, a library written in C++ to solve the quadratic problem. + + +The exitflag allows to know the status of the optimization which is given back by Ipopt. + +0 : Optimal Solution Found +1 : InFeasible Solution. +2 : Objective Function is Continuous Unbounded. +3 : Limit Exceeded. +4 : User Interrupt. +5 : MINLP Error. + + + +For more details on exitflag, see the Bonmin documentation which can be found on http://www.coin-or.org/Bonmin + + + + +The output data structure contains detailed information about the optimization process. +It is of type "struct" and contains the following fields. + +output.constrviolation: The max-norm of the constraint violation. + + + + + + +A few examples displaying the various functionalities of intqpipopt have been provided below. You will find a series of problems and the appropriate code snippets to solve them. + + + Example + + Here we solve a simple objective function. + + +Find x in R^6 such that it minimizes: + + + +\begin{eqnarray} +\mbox{min}_{x}\ f(x) &= \dfrac{1}{2}x'\boldsymbol{\cdot} H\boldsymbol{\cdot}x + f' \boldsymbol{\cdot} x\\ +\text{Where: } H &= I_{6}\\ +F &= +\begin{array}{cccccc} +[1 & 2 & 3 & 4 & 5 & 6] +\end{array} +\end{eqnarray}\\ +\text{With integer constraints as: } \\ +\begin{eqnarray} +\begin{array}{c} +[2 & 4] \\ +\end{array} +\end{eqnarray} + + + + + + + + + + Example + We proceed to add simple linear inequality constraints. + + + +\begin{eqnarray} +\&x_{2} + x_{4}+ 2x_{5} - x_{6}&\leq -1\\ +\&-x_{1} + 2x_{3} + x_{4} + x_{5}&\leq 2.5\\ +\end{eqnarray} + + + + + + + + + + Example + Here we build up on the previous example by adding linear equality constraints. +We add the following constraints to the problem specified above: + + +\begin{eqnarray} +&x_{1} - x_{2} + x_{3} + 3x_{5} + x_{6}&= 1 \\ +&-x_{1} + 2x_{3}+ x_{4} + x_{5}&= 2\\ +&2x_{1} + 5x_{2}+ 3x_{3} + x_{5}&= 3 +\end{eqnarray} + + + + + + + + + +Example + + In this example, we proceed to add the upper and lower bounds to the objective function. + + + +\begin{eqnarray} +-1000 &\leq x_{1} &\leq 10000\\ +-10000 &\leq x_{2} &\leq 100\\ +0 &\leq x_{3} &\leq 1.5\\ +-1000 &\leq x_{4} &\leq 100\\ +-1000 &\leq x_{5} &\leq 100\\ +-1000 &\leq x_{6} &\leq 1000 +\end{eqnarray} + + + + + + + + + + Example + +In this example, we initialize the values of x to speed up the computation. We further enhance the functionality of qpipoptmat by setting input options. + + + + + +Example +Infeasible Problems: Find x in R^6 such that it minimizes the objective function used above under the following constraints: + + +\begin{eqnarray} +begin{eqnarray} +\hspace{70pt} &x_{2} + x_{4}+ 2x_{5} - x_{6}&\leq -1\\ +\hspace{70pt} &-x_{1} + 2x_{3} + x_{4} + x_{5}&\leq 2.5\\ +\hspace{70pt} &x_{2} + x_{4}+ 2x_{5} - x_{6}&= 4 \\ +\hspace{70pt} &-x_{1} + 2x_{3}+ x_{4} + x_{5}&= 2\\ +\\ \end{eqnarray}\\ +\text{With integer constraints as: } \\ +\begin{eqnarray} +\begin{array}{c} +[2 & 4] \\ +\end{array} +\end{eqnarray} + + + + + + + + + Example + +Unbounded Problems: Find x in R^6 such that it minimizes the objective function used above under the following constraints: + + + +\begin{eqnarray} +\mbox{min}_{x}\ f(x) &= \dfrac{1}{2}x'\boldsymbol{\cdot} H\boldsymbol{\cdot}x + f' \boldsymbol{\cdot} x\\ +\text{Where H is specified below and} \\ +F &= +\begin{array}{cccccc} +[1 & 2 & 3 & 4 & 5 & 6] +\end{array} +\end{eqnarray}\\ +\text{Subjected to: }\\ +\begin{eqnarray} +\hspace{70pt} &x_{2} + x_{4}+ 2x_{5} - x_{6}&\leq -1\\ +\hspace{70pt} &-x_{1} + 2x_{3} + x_{4} + x_{5}&\leq 2.5\\ +\hspace{70pt} &x_{1} - x_{2} + x_{3} + 3x_{5} + x_{6}&= 1 \\ +\hspace{70pt} &-x_{1} + 2x_{3}+ x_{4} + x_{5}&= 2\\ +\\ \end{eqnarray} + + + + + + + + + Authors + + Akshay Miterani and Pranav Deshpande + + + -- cgit