1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
<?xml version="1.0" encoding="UTF-8"?>
<!--
*
* This help file was generated from intqpipopt.sci using help_from_sci().
*
-->
<refentry version="5.0-subset Scilab" xml:id="intqpipopt" xml:lang="en"
xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:ns3="http://www.w3.org/1999/xhtml"
xmlns:mml="http://www.w3.org/1998/Math/MathML"
xmlns:scilab="http://www.scilab.org"
xmlns:db="http://docbook.org/ns/docbook">
<refnamediv>
<refname>intqpipopt</refname>
<refpurpose>Solves a linear quadratic problem.</refpurpose>
</refnamediv>
<refsynopsisdiv>
<title>Calling Sequence</title>
<synopsis>
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,"path/to/bonmin_options_file")
[xopt,fopt,exitflag,output] = intqpipopt( ... )
</synopsis>
</refsynopsisdiv>
<refsection>
<title>Parameters</title>
<variablelist>
<varlistentry><term>H :</term>
<listitem><para> a symmetric matrix of double, represents coefficients of quadratic in the quadratic problem.</para></listitem></varlistentry>
<varlistentry><term>f :</term>
<listitem><para> a vector of double, represents coefficients of linear in the quadratic problem</para></listitem></varlistentry>
<varlistentry><term>intcon :</term>
<listitem><para> a vector of integers, represents which variables are constrained to be integers</para></listitem></varlistentry>
<varlistentry><term>A :</term>
<listitem><para> a matrix of double, represents the linear coefficients in the inequality constraints A⋅x ≤ b.</para></listitem></varlistentry>
<varlistentry><term>b :</term>
<listitem><para> a vector of double, represents the linear coefficients in the inequality constraints A⋅x ≤ b.</para></listitem></varlistentry>
<varlistentry><term>Aeq :</term>
<listitem><para> a matrix of double, represents the linear coefficients in the equality constraints Aeq⋅x = beq.</para></listitem></varlistentry>
<varlistentry><term>beq :</term>
<listitem><para> a vector of double, represents the linear coefficients in the equality constraints Aeq⋅x = beq.</para></listitem></varlistentry>
<varlistentry><term>lb :</term>
<listitem><para> a vector of double, contains lower bounds of the variables.</para></listitem></varlistentry>
<varlistentry><term>ub :</term>
<listitem><para> a vector of double, contains upper bounds of the variables.</para></listitem></varlistentry>
<varlistentry><term>x0 :</term>
<listitem><para> a vector of double, contains initial guess of variables.</para></listitem></varlistentry>
<varlistentry><term>param :</term>
<listitem><para> a list containing the parameters to be set.</para></listitem></varlistentry>
<varlistentry><term>xopt :</term>
<listitem><para> a vector of double, the computed solution of the optimization problem.</para></listitem></varlistentry>
<varlistentry><term>fopt :</term>
<listitem><para> a double, the value of the function at x.</para></listitem></varlistentry>
<varlistentry><term>exitflag :</term>
<listitem><para> The exit status. See below for details.</para></listitem></varlistentry>
<varlistentry><term>output :</term>
<listitem><para> The structure consist of statistics about the optimization. See below for details.</para></listitem></varlistentry>
</variablelist>
</refsection>
<refsection>
<title>Description</title>
<para>
Search the minimum of a constrained linear quadratic optimization problem specified by :
</para>
<para>
<latex>
\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}
</latex>
</para>
<para>
The routine calls Bonmin for solving the quadratic problem, Bonmin is a library written in C++.
</para>
<para>
The exitflag allows to know the status of the optimization which is given back by Bonmin.
<itemizedlist>
<listitem>exitflag=0 : Optimal Solution Found </listitem>
<listitem>exitflag=1 : Maximum Number of Iterations Exceeded. Output may not be optimal.</listitem>
<listitem>exitflag=2 : Maximum CPU Time exceeded. Output may not be optimal.</listitem>
<listitem>exitflag=3 : Stop at Tiny Step.</listitem>
<listitem>exitflag=4 : Solved To Acceptable Level.</listitem>
<listitem>exitflag=5 : Converged to a point of local infeasibility.</listitem>
</itemizedlist>
</para>
<para>
For more details on exitflag see the Bonmin page, go to http://www.coin-or.org/Bonmin
</para>
<para>
The output data structure contains detailed informations about the optimization process.
It has type "struct" and contains the following fields.
<itemizedlist>
<listitem>output.constrviolation: The max-norm of the constraint violation.</listitem>
</itemizedlist>
</para>
<para>
</para>
<para>
</para>
</refsection>
<refsection>
<title>Examples</title>
<programlisting role="example"><![CDATA[
]]></programlisting>
</refsection>
</refentry>
|