<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Dear Ipopt mailing list members,<div>I am trying to minimize a function f(\vec{x}) of 51 variables with Ipopt. I have both bound constraints and linear inequality constraints. The function is differentiable and I am running Ipopt with the following options: </div><div><br></div><div><div> app->Options()->SetNumericValue("tol",epsilon);</div><div> app->Options()->SetIntegerValue("acceptable_iter",0);</div><div> app->Options()->SetStringValue("mu_strategy", "adaptive");</div><div> app->Options()->SetStringValue("output_file", "ipopt.out");</div><div> app->Options()->SetStringValue("hessian_approximation","limited-memory");</div></div><div><br></div><div>My problem is that if I let Ipopt run several times, each time with a smaller value for the tol parameter epsilon and the same initial condition, I find a (very) different minimum \vec{x}* every time. This is not what I want, because I would like \vec{x}* to converge to a unique minimum as epsilon gets smaller and smaller. </div><div><br></div><div>For instance, here is what I get for there different values of epsilon:</div><div><ul class="MailOutline"><li>epsilon = 1e-6: </li></ul></div><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><div><div>Number of Iterations....: 48</div></div><div><div>EXIT: Optimal Solution Found.</div></div><div><div>Solution of the primal variables, x</div></div><div><div>x[0] = 0.0005106540838646014953891572041300150885945</div></div><div><div>x[1] = 0.0005148906889324888005998737128265929641202</div></div><div><div>x[2] = 0.0005246383559979767713388199013024859596044</div></div><div><div>x[3] = 0.0005661172804863604706218649376125995331677</div></div><div><div>x[4] = 0.0006335532843406113017240000040430913941236</div></div><div><div>x[5] = 0.0006519562790484218243666769687649775733007</div></div><div><div>x[6] = 0.0006618852192647961757768215740327377716312</div></div><div><div>x[7] = 0.000688032052017609175274814869993633692502</div></div><div><div>x[8] = 0.0007346469057897791598427117421010734688025</div></div><div><div>x[9] = 0.0007923599537560679050007816925926817930304</div></div><div><div>x[10] = 0.0008633565190130032757434563883691680530319</div></div><div><div>x[11] = 0.0009348851621499771388096311497406531998422</div></div><div><div>x[12] = 0.001049952664065995815503851140704227873357</div></div><div><div>x[13] = 0.00117197068632428152111513153244004570297</div></div><div><div>x[14] = 0.001409708743123868181570945701253094739513</div></div><div><div>x[15] = 0.001732743880643766807431171983466811070684</div></div><div><div>x[16] = 0.002363807754198982234022929915795430133585</div></div><div><div>x[17] = 0.0005790856105679137357661323548541076888796</div></div><div><div>x[18] = 0.000616026380828399509718973359184701621416</div></div><div><div>x[19] = 0.0006748405479343330074654128125644092506263</div></div><div><div>x[20] = 0.0007891813632870756795023581275927426759154</div></div><div><div>x[21] = 0.000967220433500447208073624860702466321527</div></div><div><div>x[22] = 0.001183853336891901864014187140128342434764</div></div><div><div>x[23] = 0.001378163612080349036126403206026225234382</div></div><div><div>x[24] = 0.001613096752203940038514207166997493914096</div></div><div><div>x[25] = 0.001862976554817881436054705091009964235127</div></div><div><div>x[26] = 0.002107646857334330176697578806965793773998</div></div><div><div>x[27] = 0.00234923693882512548553043174592858122196</div></div><div><div>x[28] = 0.002544503644381677833624655349353815836366</div></div><div><div>x[29] = 0.002832412884050846714478755217214711592533</div></div><div><div>x[30] = 0.00310409199756584179216711838478204299463</div></div><div><div>x[31] = 0.003544647666437542032902285882300930097699</div></div><div><div>x[32] = 0.004078641828662034861385787820609039044939</div></div><div><div>x[33] = 0.004918054784790828505569582063117195502855</div></div><div><div>x[34] = 0.9691767151186995166156634695653337985277</div></div><div><div>x[35] = 0.9559590518221522392749989194271620362997</div></div><div><div>x[36] = 0.9441222275563250221352973312605172395706</div></div><div><div>x[37] = 0.935347723448456402906003859243355691433</div></div><div><div>x[38] = 0.9228687531237609320555748126935213804245</div></div><div><div>x[39] = 0.8985259785146414435175188373250421136618</div></div><div><div>x[40] = 0.8622510378732899383180665608961135149002</div></div><div><div>x[41] = 0.8176924418339842626224367450049612671137</div></div><div><div>x[42] = 0.7678809998528038915921456464275252074003</div></div><div><div>x[43] = 0.7140968822619406797258534425054676830769</div></div><div><div>x[44] = 0.6564684786609371602850160343223251402378</div></div><div><div>x[45] = 0.59645434659694029910781409853370860219</div></div><div><div>x[46] = 0.5296402886097192341807726734259631484747</div></div><div><div>x[47] = 0.4575657730936542044730686029652133584023</div></div><div><div>x[48] = 0.3777346932618770858347545527067268267274</div></div><div><div>x[49] = 0.2810003131597793024631926073197973892093</div></div><div><div>x[50] = 0.1423326173172988207138445204691379331052</div></div><div><div><br></div><div>Objective value</div><div>f(x*) = 0.8436188586872184203002689173445105552673</div></div><div><br></div></blockquote><div><ul class="MailOutline"><li>epsilon = 1e-7: </li></ul></div><blockquote class="webkit-indent-blockquote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><div>Number of Iterations....: 71</div></div><div><div>EXIT: Optimal Solution Found.</div></div><div><div>Solution of the primal variables, x</div></div><div><div><div>x[0] = 0.0009509032601376650028351944499149794864934</div><div>x[1] = 0.0008982117084096869191051082381704873114359</div><div>x[2] = 0.0008864116464024018003653448971590478322469</div><div>x[3] = 0.0009033816199392536621173843691678939649137</div><div>x[4] = 0.0009526649541140668180777550944071663252544</div><div>x[5] = 0.001024007410530726122632749763852189062163</div><div>x[6] = 0.001121955004208285630595831605660350760445</div><div>x[7] = 0.00124955239034427569369545274469146534102</div><div>x[8] = 0.001409742284662163268674217597720144112827</div><div>x[9] = 0.001606818308410023739621341754002514790045</div><div>x[10] = 0.00184643610759049718594848599195756833069</div><div>x[11] = 0.002135523921024299210530417170161854301114</div><div>x[12] = 0.00248254752240604755278430282317003729986</div><div>x[13] = 0.002897569457053348739722364868498516443651</div><div>x[14] = 0.003391609024123918864762616820485163771082</div><div>x[15] = 0.003979358414937645554987355467346787918359</div><div>x[16] = 0.004670504220631878020131289019900577841327</div><div>x[17] = 0.00165620518306761380609992695411847307696</div><div>x[18] = 0.001908652432108410516159446856931936054025</div><div>x[19] = 0.002114341075715380630084538893243006896228</div><div>x[20] = 0.002318905402237425236733336930683435639367</div><div>x[21] = 0.002554525535080441958624142273492907406762</div><div>x[22] = 0.002813648579135887874136390252033379510976</div><div>x[23] = 0.00311047983779009313762276001114059909014</div><div>x[24] = 0.003456445100191172462716915347868962271605</div><div>x[25] = 0.003859739538964431729978210583453801518772</div><div>x[26] = 0.004329575806364292615835420718894965830259</div><div>x[27] = 0.004876249974767484646198667519456648733467</div><div>x[28] = 0.005510538474840899828000040372444345848635</div><div>x[29] = 0.006243738897532529613654261879673867952079</div><div>x[30] = 0.007086600207972764201014292950731032760814</div><div>x[31] = 0.008044888605063756081836601197210256941617</div><div>x[32] = 0.009118045042388341070438428914712858386338</div><div>x[33] = 0.01024073902747473473195949367209323099814</div><div>x[34] = 0.8489456794112901771853785248822532594204</div><div>x[35] = 0.7708671848749201194195279640553053468466</div><div>x[36] = 0.7225592789364727597245519064017571508884</div><div>x[37] = 0.6840039859790976173314902553102001547813</div><div>x[38] = 0.6496833881495772677894251501129474490881</div><div>x[39] = 0.6172788378430378308792114694369956851006</div><div>x[40] = 0.5855764847306790255032638015109114348888</div><div>x[41] = 0.5538137743643546384575415686413180083036</div><div>x[42] = 0.5213947766008132367332450485264416784048</div><div>x[43] = 0.4877763400053663489508437578479060903192</div><div>x[44] = 0.4523789111127289319647104548494098708034</div><div>x[45] = 0.414501675679084968795251597839524038136</div><div>x[46] = 0.3732150938609072321483495215943548828363</div><div>x[47] = 0.32709254129117393272707658979925327003</div><div>x[48] = 0.2736070570375152000153207154653500765562</div><div>x[49] = 0.2072428497617492260118865488038863986731</div><div>x[50] = 0.1094775290096580144805216150416526943445</div></div></div><div><div><br></div><div>Objective value</div><div><div>f(x*) = 0.8436190523968003507349067149334587156773</div></div></div><div><br></div></blockquote><ul class="MailOutline"><li>epsilon = 1e-8</li></ul><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><div><div>Number of Iterations....: 235</div></div><div><div>EXIT: Optimal Solution Found.</div></div><div><br></div><div><div>x[0] = 3.50474559380519937569833932577978430345e-05</div><div>x[1] = 4.718403265408264513416924934574581129709e-05</div><div>x[2] = 6.427021417971756048377607317689808041905e-05</div><div>x[3] = 8.748814513740467153479068995736156466592e-05</div><div>x[4] = 0.0001184843556633626926542085522342517833749</div><div>x[5] = 0.0001591161874203695606334180157048763248895</div><div>x[6] = 0.0002112309209879937091629970025152829293802</div><div>x[7] = 0.0002763319378579729714527635220377987934626</div><div>x[8] = 0.000355266387918322216771943589108673222654</div><div>x[9] = 0.0004480479121157326894905881253805546293734</div><div>x[10] = 0.0005542466643998891556374686295782794331899</div><div>x[11] = 0.0006737222860403291975137096692094473837642</div><div>x[12] = 0.0008075304982462830870326708776474333717488</div><div>x[13] = 0.0009581343026343500058825131127093754912494</div><div>x[14] = 0.001129446416156533157873487205336004990386</div><div>x[15] = 0.001326494312919906026423944034320356877288</div><div>x[16] = 0.001554963289004950097865753733117344381753</div><div>x[17] = 0.001655944952285227575461412641288916347548</div><div>x[18] = 0.001662025370399528023668267451284918934107</div><div>x[19] = 0.001669298128790163478901709126489549817052</div><div>x[20] = 0.00167926324538290915391880453455542010488</div><div>x[21] = 0.001693571098492590437656346580297395121306</div><div>x[22] = 0.001713751971132473168532572849187545216409</div><div>x[23] = 0.001742851269700452631478126974684528249782</div><div>x[24] = 0.001783989635359704015518667041817479912424</div><div>x[25] = 0.001841543448003017235253819805507191631477</div><div>x[26] = 0.001920596564168397220664918911836593906628</div><div>x[27] = 0.002027145745671964007644794136808741313871</div><div>x[28] = 0.002167286114617263635684363265454521751963</div><div>x[29] = 0.002347422486137570787206874101116227393504</div><div>x[30] = 0.002573900657282475034487445597619625914376</div><div>x[31] = 0.002853595044984966709600282541714477702044</div><div>x[32] = 0.003193740975847524782293973544256004970521</div><div>x[33] = 0.00360010246329317464691888162064969947096</div><div>x[34] = 0.09808272562156146456846528280948405154049</div><div>x[35] = 0.09168104344016972384601160683814669027925</div><div>x[36] = 0.08738118267461787713745735572956618852913</div><div>x[37] = 0.0836449787706664560360536597727332264185</div><div>x[38] = 0.0800839708773240371852963903620548080653</div><div>x[39] = 0.07653970984848522396415404500658041797578</div><div>x[40] = 0.07292808999655410462370497270967462100089</div><div>x[41] = 0.06919354912602351803663225382479140534997</div><div>x[42] = 0.06529088880156627694439919196156552061439</div><div>x[43] = 0.06117331259733152504232123192196013405919</div><div>x[44] = 0.05678404786917373020527222138298384379596</div><div>x[45] = 0.05204682641583486396585911393231071997434</div><div>x[46] = 0.04683972892024714645975436155822535511106</div><div>x[47] = 0.04097283357179535429049010986091161612421</div><div>x[48] = 0.03410371927494702110061908228999527636915</div><div>x[49] = 0.02551627501186529839438676958707219455391</div><div>x[50] = 0.0127821102979312328090655270784736785572</div></div><div><br></div><div><div>f(x*) = 0.8436187159943207003465204252279363572598</div></div><div><br></div></blockquote><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div>So I really don't understand why the solution does not converge (it actually varies a lot!) as epsilon gets smaller and smaller. </div><div>Do you have any ideas?</div><div><br></div><div>Thank you!</div><div>Best,</div><div>Michele</div><div><br></div><div><br></div><br><div> </div></body></html>