summaryrefslogtreecommitdiff
path: root/help/en_US/scilab_en_US_help/intfmincon.html
diff options
context:
space:
mode:
Diffstat (limited to 'help/en_US/scilab_en_US_help/intfmincon.html')
-rw-r--r--help/en_US/scilab_en_US_help/intfmincon.html266
1 files changed, 266 insertions, 0 deletions
diff --git a/help/en_US/scilab_en_US_help/intfmincon.html b/help/en_US/scilab_en_US_help/intfmincon.html
new file mode 100644
index 0000000..afecac1
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/intfmincon.html
@@ -0,0 +1,266 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>intfmincon</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="intfminbnd.html">&lt;&lt; intfminbnd</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_2f30ec7805b02b8760d8add3187208be.html">FOSSEE Optimization Toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="intfminimax.html">intfminimax &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_2f30ec7805b02b8760d8add3187208be.html">FOSSEE Optimization Toolbox</a> &gt; intfmincon</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">intfmincon</h1>
+ <p class="refpurpose">Solves a constrainted multi-variable mixed integer non linear programming problem</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="default">xopt</span><span class="default"> = </span><span class="functionid">intfmincon</span><span class="default">(</span><span class="default">f</span><span class="default">,</span><span class="default">x0</span><span class="default">,</span><span class="default">intcon</span><span class="default">,</span><span class="default">A</span><span class="default">,</span><span class="default">b</span><span class="default">)</span>
+<span class="default">xopt</span><span class="default"> = </span><span class="functionid">intfmincon</span><span class="default">(</span><span class="default">f</span><span class="default">,</span><span class="default">x0</span><span class="default">,</span><span class="default">intcon</span><span class="default">,</span><span class="default">A</span><span class="default">,</span><span class="default">b</span><span class="default">,</span><span class="default">Aeq</span><span class="default">,</span><span class="default">beq</span><span class="default">)</span>
+<span class="default">xopt</span><span class="default"> = </span><span class="functionid">intfmincon</span><span class="default">(</span><span class="default">f</span><span class="default">,</span><span class="default">x0</span><span class="default">,</span><span class="default">intcon</span><span class="default">,</span><span class="default">A</span><span class="default">,</span><span class="default">b</span><span class="default">,</span><span class="default">Aeq</span><span class="default">,</span><span class="default">beq</span><span class="default">,</span><span class="default">lb</span><span class="default">,</span><span class="default">ub</span><span class="default">)</span>
+<span class="default">xopt</span><span class="default"> = </span><span class="functionid">intfmincon</span><span class="default">(</span><span class="default">f</span><span class="default">,</span><span class="default">x0</span><span class="default">,</span><span class="default">intcon</span><span class="default">,</span><span class="default">A</span><span class="default">,</span><span class="default">b</span><span class="default">,</span><span class="default">Aeq</span><span class="default">,</span><span class="default">beq</span><span class="default">,</span><span class="default">lb</span><span class="default">,</span><span class="default">ub</span><span class="default">,</span><span class="default">nlc</span><span class="default">)</span>
+<span class="default">xopt</span><span class="default"> = </span><span class="functionid">intfmincon</span><span class="default">(</span><span class="default">f</span><span class="default">,</span><span class="default">x0</span><span class="default">,</span><span class="default">intcon</span><span class="default">,</span><span class="default">A</span><span class="default">,</span><span class="default">b</span><span class="default">,</span><span class="default">Aeq</span><span class="default">,</span><span class="default">beq</span><span class="default">,</span><span class="default">lb</span><span class="default">,</span><span class="default">ub</span><span class="default">,</span><span class="default">nlc</span><span class="default">,</span><span class="default">options</span><span class="default">)</span>
+<span class="default">[</span><span class="default">xopt</span><span class="default">,</span><span class="default">fopt</span><span class="default">] = </span><span class="functionid">intfmincon</span><span class="default">(.....)</span>
+<span class="default">[</span><span class="default">xopt</span><span class="default">,</span><span class="default">fopt</span><span class="default">,</span><span class="default">exitflag</span><span class="default">]= </span><span class="functionid">intfmincon</span><span class="default">(.....)</span>
+<span class="default">[</span><span class="default">xopt</span><span class="default">,</span><span class="default">fopt</span><span class="default">,</span><span class="default">exitflag</span><span class="default">,</span><span class="default">gradient</span><span class="default">]=</span><span class="functionid">intfmincon</span><span class="default">(.....)</span>
+<span class="default">[</span><span class="default">xopt</span><span class="default">,</span><span class="default">fopt</span><span class="default">,</span><span class="default">exitflag</span><span class="default">,</span><span class="default">gradient</span><span class="default">,</span><span class="default">hessian</span><span class="default">]=</span><span class="functionid">intfmincon</span><span class="default">(.....)</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">f :</span>
+ <dd><p class="para">a function, representing the objective function of the problem</p></dd></dt>
+ <dt><span class="term">x0 :</span>
+ <dd><p class="para">a vector of doubles, containing the starting values of variables.</p></dd></dt>
+ <dt><span class="term">intcon :</span>
+ <dd><p class="para">a vector of integers, represents which variables are constrained to be integers</p></dd></dt>
+ <dt><span class="term">A :</span>
+ <dd><p class="para">a matrix of double, represents the linear coefficients in the inequality constraints A⋅x ≤ b.</p></dd></dt>
+ <dt><span class="term">b :</span>
+ <dd><p class="para">a vector of double, represents the linear coefficients in the inequality constraints A⋅x ≤ b.</p></dd></dt>
+ <dt><span class="term">Aeq :</span>
+ <dd><p class="para">a matrix of double, represents the linear coefficients in the equality constraints Aeq⋅x = beq.</p></dd></dt>
+ <dt><span class="term">beq :</span>
+ <dd><p class="para">a vector of double, represents the linear coefficients in the equality constraints Aeq⋅x = beq.</p></dd></dt>
+ <dt><span class="term">lb :</span>
+ <dd><p class="para">Lower bounds, specified as a vector or array of double. lb represents the lower bounds elementwise in lb ≤ x ≤ ub.</p></dd></dt>
+ <dt><span class="term">ub :</span>
+ <dd><p class="para">Upper bounds, specified as a vector or array of double. ub represents the upper bounds elementwise in lb ≤ x ≤ ub.</p></dd></dt>
+ <dt><span class="term">nlc :</span>
+ <dd><p class="para">a function, representing the Non-linear Constraints functions(both Equality and Inequality) of the problem. It is declared in such a way that non-linear inequality constraints are defined first as a single row vector (c), followed by non-linear equality constraints as another single row vector (ceq). Refer Example for definition of Constraint function.</p></dd></dt>
+ <dt><span class="term">options :</span>
+ <dd><p class="para">a list, containing the option for user to specify. See below for details.</p></dd></dt>
+ <dt><span class="term">xopt :</span>
+ <dd><p class="para">a vector of doubles, containing the the computed solution of the optimization problem.</p></dd></dt>
+ <dt><span class="term">fopt :</span>
+ <dd><p class="para">a scalar of double, containing the the function value at x.</p></dd></dt>
+ <dt><span class="term">exitflag :</span>
+ <dd><p class="para">a scalar of integer, containing the flag which denotes the reason for termination of algorithm. See below for details.</p></dd></dt>
+ <dt><span class="term">gradient :</span>
+ <dd><p class="para">a vector of doubles, containing the Objective&#0039;s gradient of the solution.</p></dd></dt>
+ <dt><span class="term">hessian :</span>
+ <dd><p class="para">a matrix of doubles, containing the Objective&#0039;s hessian of the solution.</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">Search the minimum of a mixed integer constrained optimization problem specified by :
+Find the minimum of f(x) such that</p>
+ <p class="para"><span><img src='./_LaTeX_intfmincon.xml_1.png' style='position:relative;top:74px;width:221px;height:156px'/></span></p>
+ <p class="para">The routine calls Bonmin for solving the Bounded Optimization problem, Bonmin is a library written in C++.</p>
+ <p class="para">The options allows the user to set various parameters of the Optimization problem.
+It should be defined as type &#0034;list&#0034; and contains the following fields.
+<ul class="itemizedlist"><li>Syntax : options= list(&#0034;IntegerTolerance&#0034;, [---], &#0034;MaxNodes&#0034;,[---], &#0034;MaxIter&#0034;, [---], &#0034;AllowableGap&#0034;,[---] &#0034;CpuTime&#0034;, [---],&#0034;gradobj&#0034;, &#0034;off&#0034;, &#0034;hessian&#0034;, &#0034;off&#0034; );</li>
+<li>IntegerTolerance : a Scalar, a number with that value of an integer is considered integer..</li>
+<li>MaxNodes : a Scalar, containing the Maximum Number of Nodes that the solver should search.</li>
+<li>CpuTime : a Scalar, containing the Maximum amount of CPU Time that the solver should take.</li>
+<li>AllowableGap : a Scalar, to stop the tree search when the gap between the objective value of the best known solution is reached.</li>
+<li>MaxIter : a Scalar, containing the Maximum Number of Iteration that the solver should take.</li>
+<li>gradobj : a string, to turn on or off the user supplied objective gradient.</li>
+<li>hessian : a Scalar, to turn on or off the user supplied objective hessian.</li>
+<li>Default Values : options = list(&#0039;integertolerance&#0039;,1d-06,&#0039;maxnodes&#0039;,2147483647,&#0039;cputime&#0039;,1d10,&#0039;allowablegap&#0039;,0,&#0039;maxiter&#0039;,2147483647,&#0039;gradobj&#0039;,&#0034;off&#0034;,&#0039;hessian&#0039;,&#0034;off&#0034;)</li></ul></p>
+ <p class="para">The exitflag allows to know the status of the optimization which is given back by Ipopt.
+<ul class="itemizedlist"><li>exitflag=0 : Optimal Solution Found</li>
+<li>exitflag=1 : InFeasible Solution.</li>
+<li>exitflag=2 : Objective Function is Continuous Unbounded.</li>
+<li>exitflag=3 : Limit Exceeded.</li>
+<li>exitflag=4 : User Interrupt.</li>
+<li>exitflag=5 : MINLP Error.</li></ul></p>
+ <p class="para">For more details on exitflag see the Bonmin documentation, go to http://www.coin-or.org/Bonmin</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Find x in R^2 such that it minimizes:</span>
+<span class="scilabcomment">//f(x)= -x1 -x2/3</span>
+<span class="scilabcomment">//x0=[0,0]</span>
+<span class="scilabcomment">//constraint-1 (c1): x1 + x2 </span><span class="scilabcomment">&#0060;</span><span class="scilabcomment">= 2</span>
+<span class="scilabcomment">//constraint-2 (c2): x1 + x2/4 </span><span class="scilabcomment">&#0060;</span><span class="scilabcomment">= 1</span>
+<span class="scilabcomment">//constraint-3 (c3): x1 - x2 </span><span class="scilabcomment">&#0060;</span><span class="scilabcomment">= 2</span>
+<span class="scilabcomment">//constraint-4 (c4): -x1/4 - x2 </span><span class="scilabcomment">&#0060;</span><span class="scilabcomment">= 1</span>
+<span class="scilabcomment">//constraint-5 (c5): -x1 - x2 </span><span class="scilabcomment">&#0060;</span><span class="scilabcomment">= -1</span>
+<span class="scilabcomment">//constraint-6 (c6): -x1 + x2 </span><span class="scilabcomment">&#0060;</span><span class="scilabcomment">= 2</span>
+<span class="scilabcomment">//constraint-7 (c7): x1 + x2 = 2</span>
+<span class="scilabcomment">//Objective function to be minimised</span>
+<span class="scilabfkeyword">function</span> <span class="scilabopenclose">[</span><span class="scilabinputoutputargs">y</span><span class="scilabdefault">, </span><span class="scilabinputoutputargs">dy</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabfunctionid">f</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">/</span><span class="scilabnumber">3</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">dy</span><span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilaboperator">/</span><span class="scilabnumber">3</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabfkeyword">endfunction</span>
+<span class="scilabcomment">//Starting point, linear constraints and variable bounds</span>
+<span class="scilabid">x0</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">0</span> <span class="scilabdefault">,</span> <span class="scilabnumber">0</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">intcon</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span>
+<span class="scilabid">A</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span> <span class="scilabdefault">;</span> <span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilaboperator">/</span><span class="scilabnumber">4</span> <span class="scilabdefault">;</span> <span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span> <span class="scilabdefault">;</span> <span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilaboperator">/</span><span class="scilabnumber">4</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span> <span class="scilabdefault">;</span> <span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span> <span class="scilabdefault">;</span> <span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">b</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">2</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilabnumber">2</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilabnumber">2</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">Aeq</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">beq</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">2</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">lb</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">ub</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">nlc</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Options</span>
+<span class="scilabid">options</span><span class="scilaboperator">=</span><a class="scilabcommand" href="scilab://list">list</a><span class="scilabopenclose">(</span><span class="scilabstring">&#0034;</span><span class="scilabstring">GradObj</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabstring">&#0034;</span><span class="scilabstring">on</span><span class="scilabstring">&#0034;</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Calling Ipopt</span>
+<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">fval</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">grad</span><span class="scilabdefault">,</span><span class="scilabid">hessian</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span><span class="scilabid">intfmincon</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">f</span><span class="scilabdefault">,</span> <span class="scilabid">x0</span><span class="scilabdefault">,</span><span class="scilabid">intcon</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabdefault">,</span><span class="scilabid">Aeq</span><span class="scilabdefault">,</span><span class="scilabid">beq</span><span class="scilabdefault">,</span><span class="scilabid">lb</span><span class="scilabdefault">,</span><span class="scilabid">ub</span><span class="scilabdefault">,</span><span class="scilabid">nlc</span><span class="scilabdefault">,</span><span class="scilabid">options</span><span class="scilabopenclose">)</span>
+<span class="scilabcomment">// Press ENTER to continue</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Find x in R^3 such that it minimizes:</span>
+<span class="scilabcomment">//f(x)= x1*x2 + x2*x3</span>
+<span class="scilabcomment">//x0=[0.1 , 0.1 , 0.1]</span>
+<span class="scilabcomment">//constraint-1 (c1): x1^2 - x2^2 + x3^2 </span><span class="scilabcomment">&#0060;</span><span class="scilabcomment">= 2</span>
+<span class="scilabcomment">//constraint-2 (c2): x1^2 + x2^2 + x3^2 </span><span class="scilabcomment">&#0060;</span><span class="scilabcomment">= 10</span>
+<span class="scilabcomment">//Objective function to be minimised</span>
+<span class="scilabfkeyword">function</span> <span class="scilabopenclose">[</span><span class="scilabinputoutputargs">y</span><span class="scilabdefault">, </span><span class="scilabinputoutputargs">dy</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabfunctionid">f</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">+</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">3</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">dy</span><span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilabdefault">,</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">+</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">3</span><span class="scilabopenclose">)</span><span class="scilabdefault">,</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabfkeyword">endfunction</span>
+<span class="scilabcomment">//Starting point, linear constraints and variable bounds</span>
+<span class="scilabid">x0</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">0.1</span> <span class="scilabdefault">,</span> <span class="scilabnumber">0.1</span> <span class="scilabdefault">,</span> <span class="scilabnumber">0.1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">intcon</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">2</span><span class="scilabopenclose">]</span>
+<span class="scilabid">A</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">b</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">Aeq</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">beq</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">lb</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">ub</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Nonlinear constraints</span>
+<span class="scilabfkeyword">function</span> <span class="scilabopenclose">[</span><span class="scilabinputoutputargs">c</span><span class="scilabdefault">, </span><span class="scilabinputoutputargs">ceq</span><span class="scilabdefault">, </span><span class="scilabinputoutputargs">cg</span><span class="scilabdefault">, </span><span class="scilabinputoutputargs">cgeq</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabfunctionid">nlc</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">c</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">-</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">+</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">3</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">-</span> <span class="scilabnumber">2</span> <span class="scilabdefault">,</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">+</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">+</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">3</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">-</span> <span class="scilabnumber">10</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">ceq</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">cg</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilabdefault">,</span> <span class="scilaboperator">-</span><span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span> <span class="scilabdefault">,</span> <span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">3</span><span class="scilabopenclose">)</span> <span class="scilabdefault">;</span> <span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilabdefault">,</span> <span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span> <span class="scilabdefault">,</span> <span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">3</span><span class="scilabopenclose">)</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">cgeq</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabfkeyword">endfunction</span>
+<span class="scilabcomment">//Options</span>
+<span class="scilabid">options</span><span class="scilaboperator">=</span><a class="scilabcommand" href="scilab://list">list</a><span class="scilabopenclose">(</span><span class="scilabstring">&#0034;</span><span class="scilabstring">MaxIter</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1500</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span> <span class="scilabstring">&#0034;</span><span class="scilabstring">CpuTime</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabopenclose">[</span><span class="scilabnumber">500</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span> <span class="scilabstring">&#0034;</span><span class="scilabstring">GradObj</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabstring">&#0034;</span><span class="scilabstring">on</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span><span class="scilabstring">&#0034;</span><span class="scilabstring">GradCon</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabstring">&#0034;</span><span class="scilabstring">on</span><span class="scilabstring">&#0034;</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Calling Ipopt</span>
+<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">fval</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span><span class="scilabid">intfmincon</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">f</span><span class="scilabdefault">,</span> <span class="scilabid">x0</span><span class="scilabdefault">,</span><span class="scilabid">intcon</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabdefault">,</span><span class="scilabid">Aeq</span><span class="scilabdefault">,</span><span class="scilabid">beq</span><span class="scilabdefault">,</span><span class="scilabid">lb</span><span class="scilabdefault">,</span><span class="scilabid">ub</span><span class="scilabdefault">,</span><span class="scilabfunctionid">nlc</span><span class="scilabdefault">,</span><span class="scilabid">options</span><span class="scilabopenclose">)</span>
+<span class="scilabcomment">// Press ENTER to continue</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//The below problem is an unbounded problem:</span>
+<span class="scilabcomment">//Find x in R^3 such that it minimizes:</span>
+<span class="scilabcomment">//f(x)= -(x1^2 + x2^2 + x3^2)</span>
+<span class="scilabcomment">//x0=[0.1 , 0.1 , 0.1]</span>
+<span class="scilabcomment">// x1 </span><span class="scilabcomment">&#0060;</span><span class="scilabcomment">= 0</span>
+<span class="scilabcomment">// x2 </span><span class="scilabcomment">&#0060;</span><span class="scilabcomment">= 0</span>
+<span class="scilabcomment">// x3 </span><span class="scilabcomment">&#0060;</span><span class="scilabcomment">= 0</span>
+<span class="scilabcomment">//Objective function to be minimised</span>
+<span class="scilabfkeyword">function</span> <span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilabfunctionid">f</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilaboperator">-</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilaboperator">+</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilaboperator">+</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">3</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabfkeyword">endfunction</span>
+<span class="scilabcomment">//Starting point, linear constraints and variable bounds</span>
+<span class="scilabid">x0</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">0.1</span> <span class="scilabdefault">,</span> <span class="scilabnumber">0.1</span> <span class="scilabdefault">,</span> <span class="scilabnumber">0.1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">intcon</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">3</span><span class="scilabopenclose">]</span>
+<span class="scilabid">A</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">b</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">Aeq</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">beq</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">lb</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">ub</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Options</span>
+<span class="scilabid">options</span><span class="scilaboperator">=</span><a class="scilabcommand" href="scilab://list">list</a><span class="scilabopenclose">(</span><span class="scilabstring">&#0034;</span><span class="scilabstring">MaxIter</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1500</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span> <span class="scilabstring">&#0034;</span><span class="scilabstring">CpuTime</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabopenclose">[</span><span class="scilabnumber">500</span><span class="scilabopenclose">]</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Calling Ipopt</span>
+<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">fval</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">grad</span><span class="scilabdefault">,</span><span class="scilabid">hessian</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span><span class="scilabid">intfmincon</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">f</span><span class="scilabdefault">,</span> <span class="scilabid">x0</span><span class="scilabdefault">,</span><span class="scilabid">intcon</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabdefault">,</span><span class="scilabid">Aeq</span><span class="scilabdefault">,</span><span class="scilabid">beq</span><span class="scilabdefault">,</span><span class="scilabid">lb</span><span class="scilabdefault">,</span><span class="scilabid">ub</span><span class="scilabdefault">,</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span><span class="scilabid">options</span><span class="scilabopenclose">)</span>
+<span class="scilabcomment">// Press ENTER to continue</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//The below problem is an infeasible problem:</span>
+<span class="scilabcomment">//Find x in R^3 such that in minimizes:</span>
+<span class="scilabcomment">//f(x)=x1*x2 + x2*x3</span>
+<span class="scilabcomment">//x0=[1,1,1]</span>
+<span class="scilabcomment">//constraint-1 (c1): x1^2 </span><span class="scilabcomment">&#0060;</span><span class="scilabcomment">= 1</span>
+<span class="scilabcomment">//constraint-2 (c2): x1^2 + x2^2 </span><span class="scilabcomment">&#0060;</span><span class="scilabcomment">= 1</span>
+<span class="scilabcomment">//constraint-3 (c3): x3^2 </span><span class="scilabcomment">&#0060;</span><span class="scilabcomment">= 1</span>
+<span class="scilabcomment">//constraint-4 (c4): x1^3 = 0.5</span>
+<span class="scilabcomment">//constraint-5 (c5): x2^2 + x3^2 = 0.75</span>
+<span class="scilabcomment">// 0 </span><span class="scilabcomment">&#0060;</span><span class="scilabcomment">= x1 </span><span class="scilabcomment">&#0060;</span><span class="scilabcomment">=0.6</span>
+<span class="scilabcomment">// 0.2 </span><span class="scilabcomment">&#0060;</span><span class="scilabcomment">= x2 </span><span class="scilabcomment">&#0060;</span><span class="scilabcomment">= inf</span>
+<span class="scilabcomment">// -inf </span><span class="scilabcomment">&#0060;</span><span class="scilabcomment">= x3 </span><span class="scilabcomment">&#0060;</span><span class="scilabcomment">= 1</span>
+<span class="scilabcomment">//Objective function to be minimised</span>
+<span class="scilabfkeyword">function</span> <span class="scilabopenclose">[</span><span class="scilabinputoutputargs">y</span><span class="scilabdefault">, </span><span class="scilabinputoutputargs">dy</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabfunctionid">f</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">+</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">3</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">dy</span><span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilabdefault">,</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">+</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">3</span><span class="scilabopenclose">)</span><span class="scilabdefault">,</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabfkeyword">endfunction</span>
+<span class="scilabcomment">//Starting point, linear constraints and variable bounds</span>
+<span class="scilabid">x0</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">intcon</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">2</span><span class="scilabopenclose">]</span>
+<span class="scilabid">A</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">b</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">Aeq</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">beq</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">lb</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">0</span> <span class="scilabnumber">0.2</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabconstants">%inf</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">ub</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">0.6</span> <span class="scilabconstants">%inf</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Nonlinear constraints</span>
+<span class="scilabfkeyword">function</span> <span class="scilabopenclose">[</span><span class="scilabinputoutputargs">c</span><span class="scilabdefault">, </span><span class="scilabinputoutputargs">ceq</span><span class="scilabdefault">, </span><span class="scilabinputoutputargs">cg</span><span class="scilabdefault">, </span><span class="scilabinputoutputargs">cgeq</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabfunctionid">nlc</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">c</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilaboperator">+</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">3</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">ceq</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">3</span><span class="scilaboperator">-</span><span class="scilabnumber">0.5</span><span class="scilabdefault">,</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilaboperator">+</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">3</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilaboperator">-</span><span class="scilabnumber">0.75</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">cg</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">;</span><span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilabdefault">,</span><span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">;</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">3</span><span class="scilabopenclose">)</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">cgeq</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">3</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">;</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilabdefault">,</span><span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">3</span><span class="scilabopenclose">)</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabfkeyword">endfunction</span>
+<span class="scilabcomment">//Options</span>
+<span class="scilabid">options</span><span class="scilaboperator">=</span><a class="scilabcommand" href="scilab://list">list</a><span class="scilabopenclose">(</span><span class="scilabstring">&#0034;</span><span class="scilabstring">MaxIter</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1500</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span> <span class="scilabstring">&#0034;</span><span class="scilabstring">CpuTime</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabopenclose">[</span><span class="scilabnumber">500</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span> <span class="scilabstring">&#0034;</span><span class="scilabstring">GradObj</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabstring">&#0034;</span><span class="scilabstring">on</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span><span class="scilabstring">&#0034;</span><span class="scilabstring">GradCon</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabstring">&#0034;</span><span class="scilabstring">on</span><span class="scilabstring">&#0034;</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Calling Ipopt</span>
+<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">fval</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">grad</span><span class="scilabdefault">,</span><span class="scilabid">hessian</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span><span class="scilabid">intfmincon</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">f</span><span class="scilabdefault">,</span> <span class="scilabid">x0</span><span class="scilabdefault">,</span><span class="scilabid">intcon</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabdefault">,</span><span class="scilabid">Aeq</span><span class="scilabdefault">,</span><span class="scilabid">beq</span><span class="scilabdefault">,</span><span class="scilabid">lb</span><span class="scilabdefault">,</span><span class="scilabid">ub</span><span class="scilabdefault">,</span><span class="scilabfunctionid">nlc</span><span class="scilabdefault">,</span><span class="scilabid">options</span><span class="scilabopenclose">)</span>
+<span class="scilabcomment">// Press ENTER to continue</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Harpreet Singh</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="intfminbnd.html">&lt;&lt; intfminbnd</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_2f30ec7805b02b8760d8add3187208be.html">FOSSEE Optimization Toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="intfminimax.html">intfminimax &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>