Hi Stefan -<br><br>>> By default, all fixed variables (lb=ub) are taken out there.<br><br>Thanks, with that clue I was able to find a bad loop index in my bounds assignment that left all but one of the parameters with lb = ub.<br>
<br>Thanks for the help!<br><br>- Seth<br><br><br><div class="gmail_quote">On Mon, Jun 18, 2012 at 1:26 PM, Stefan Vigerske <span dir="ltr"><<a href="mailto:stefan@math.hu-berlin.de" target="_blank">stefan@math.hu-berlin.de</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
the output<br>
<br>
Total number of variables............................: 1<br>
<br>
refers to the internal problem representation of Ipopt.<br>
By default, all fixed variables (lb=ub) are taken out there.<br>
Can you make sure that you do not have almost all variables fixed?<br>
<br>
You can change what Ipopt is doing with fixed variables via the<br>
fixed_variable_treatment option.<br>
<br>
When asking for function values, Ipopt transforms the internal point<br>
back to the users formulation. That's why you see again 640 variables in<br>
the eval methods.<br>
<br>
Hope this helps,<br>
Stefan<br>
<div><div class="h5"><br>
<br>
On 06/18/2012 08:11 PM, Seth Watts wrote:<br>
> Hello all -<br>
><br>
> I have written a NLP class that uses code I have written using C++ and the<br>
> Petsc library to evaluate the objective and constraint functions, their<br>
> derivatives, etc. The number of parameters is set at run-time by reading in<br>
> a value from an input file. Although I have confirmed that this value (128)<br>
> is read in correctly and passed to my class file correctly, IPOPT appears<br>
> to act as though there is only one variable. That is the number displayed<br>
> in the summary table (Total number of<br>
> variables............................: 1) and when I have the<br>
> parameters sent to the screen, only the first value changes - the others<br>
> remain zero (or at least on the order of 1e-310). Additionally, despite<br>
> setting number of constraint functions to 5 and number of nonzeros in jac_g<br>
> as 5*n = 640, the summary table shows only 5 nonzeros in jac_g. However,<br>
> the value of 'n' in each of the class methods is the correct value of 128.<br>
><br>
> I can't reproduce this problem with simple toy problems; that is, if I make<br>
> a simple MyNLP class file for which n is set to 128, m to 5, and nnz_jac_g<br>
> to 640, IPOPT runs correctly, the right values appear in the summary table,<br>
> and so on. This leads me to suspect the problem is in something I have done<br>
> in my class definition, but I don't know what it could be. In the<br>
> get_starting_point method, the values returned to x are as I intend, but<br>
> the next time a new_x flag is true and I print out the parameters, all but<br>
> the first value have been set to near-zero values.<br>
><br>
> I am running IPOPT version 3.10, checked out via subversion last week. I am<br>
> using MUMPS as my linear solver. I am using the quasi-Newton option so that<br>
> I do not supply the Hessian matrix (as it is both dense and expensive to<br>
> compute). I am running Ubuntu 12.04 64-bit.<br>
><br>
> Thanks in advance for any suggestions you might have.<br>
><br>
> - Seth<br>
><br>
><br>
><br>
><br>
</div></div>> _______________________________________________<br>
> Ipopt mailing list<br>
> <a href="mailto:Ipopt@list.coin-or.org">Ipopt@list.coin-or.org</a><br>
> <a href="http://list.coin-or.org/mailman/listinfo/ipopt" target="_blank">http://list.coin-or.org/mailman/listinfo/ipopt</a><br>
</blockquote></div><br>