<div dir="ltr"><div dir="ltr"><div>Dear Salva, <br></div><div>let me a few comments...</div><div>1.<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>Then I was wondering if moving to SCIP would entail any advantage. Based on your response, I would say there is no advantage.</div></blockquote><div>There ARE advantage only if you want to find a global optimum (or, not optimal, but feasible solution with "guaranteed gap" to unknown optimal value), because SCIP implements Branch-and-bound algorithm for both mixed-integer and "fully continuous" optimization problems. <br></div><div></div><div>2. <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>... on the advantages of generating NL-files myself </div></blockquote><div>2.1. Generating of NL-file may be rather time consuming for problems of rather high dimension. So, you can generate NL-file once and then try to solve it with different solver options, or pass it to different solvers. E.g. if nevertheless you want to find global optimum, after IPOPT, you can pass NL-file to SCIPAMPL, or (after some conversion of file format) to pass converted NL-file to multi-threaded FiberSCIP (for multi-core servers) or parallel ParaSCIP (for MPI-clusters). More over, FiberSCIP or ParaSCIP results may be converted to SOL-files to import solutions back to Pyomo.</div><div>2.2. In our researches we need in separation of NL-file generation and solvers running on various computing resources of our distributed environment <a href="https://optmod.distcomp.org/about">https://optmod.distcomp.org/about</a>. As to Pyomo you can see <a href="https://github.com/distcomp/pyomo-everest">https://github.com/distcomp/pyomo-everest</a> and <a href="https://optmod.distcomp.org/apps/vladimirv/solve-set-opt-probs">https://optmod.distcomp.org/apps/vladimirv/solve-set-opt-probs</a>   (<span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-">please, do not treat as an advertisement ;O)</span></span>).</div><div>Best regards,</div><div>Vladimir.<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, May 25, 2020 at 6:14 PM Salvador Pineda <<a href="mailto:salvapineda2@gmail.com" target="_blank">salvapineda2@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div style="font-family:verdana,sans-serif;font-size:small">Dear Vladimir,</div><div style="font-family:verdana,sans-serif;font-size:small">Thanks a lot for your reply.</div><div style="font-family:verdana,sans-serif;font-size:small">Yes, I'm just interested in a local optimal solution to a continuous non-convex problem. Then I was wondering if moving to SCIP would entail any advantage. Based on your response, I would say there is no advantage.</div><div style="font-family:verdana,sans-serif;font-size:small">I am not sure either I completely understand the advantage of generating myself the NL-files. In fact, I use Pyomo because to avoid that. But probably there is something I am not taken into account. Would you elaborate on the advantages of generating NL-files myself?</div><div style="font-family:verdana,sans-serif;font-size:small">Best,</div><div style="font-family:verdana,sans-serif;font-size:small">Salva.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, May 25, 2020 at 4:19 PM Vladimir V. Voloshinov <<a href="mailto:vladimir.voloshinov@gmail.com" target="_blank">vladimir.voloshinov@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><br></div><div>Dear Salva,</div><div><br></div><div>if there are no any discrete variables in your problem and you do not want to treat it as a global optimization one, e.g. it is convex, or unimodal (there is only one optimal solution), and local optimum will be enough for you, then, you can use IPOPT "directly" from Pyomo. There is special Pyomo-IPOPT interface...</div><div dir="ltr" class="gmail_attr">But, frankly speaking, it is much more convenient to use IPOPT by the same scheme: Pyomo->NL-file->IPOPT->SOL-file->Pyomo. E.g. you can generate NL-files on your "small computer" and send them to a power server with IPOPT (may be run in multi-threaded  mode on multi-core system) for solving and return SOL-files  back for processing results via Python.</div><div dir="ltr" class="gmail_attr"><br></div><div class="gmail_attr">Vladimir.<br></div><div dir="ltr" class="gmail_attr"><br></div><div dir="ltr" class="gmail_attr">On Mon, May 25, 2020 at 4:40 PM Salvador Pineda <<a href="mailto:spinedamorente@gmail.com" target="_blank">spinedamorente@gmail.com</a>> wrote:<br></div><div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div style="font-family:verdana,sans-serif;font-size:small">Thanks a lot Vladimir,</div><div style="font-family:verdana,sans-serif;font-size:small">But then, what is the advantage of using IPOPT under SCIP with PYOMO versus using directly IPOPT in PYOMO?</div><div style="font-family:verdana,sans-serif;font-size:small">Salva.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, May 25, 2020 at 2:35 PM Vladimir V. Voloshinov <<a href="mailto:vladimir.voloshinov@gmail.com" target="_blank">vladimir.voloshinov@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Dear Salvador,</div><div>answering your questions (basing on our experience of SCIP usage) :<br></div><div>1) Yes, SCIP does use IPOPT for NLP, but, theoretically other NLP-solvers may be used via <a href="https://scip.zib.de/doc-7.0.0/html/group__NLPIS.php" target="_blank">NLP API</a>   <br></div><div>2) Our team successfully use SCIPAMPL (AMPL-compatible SCIP-version) by Pyomo: Pyomo makes AMPL NL-file as SCIPAMPL-input; SCIPAMPL returns AMPL SOL-file as output; Pyomo reads SOL-file.</div><div>It is important that above scheme may be used for ParaSCIP & FiberSCIP with some additional trick...</div><div><br></div><div>Yours sincerely,<br><div dir="ltr"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div>Vladimir V. Voloshinov, web: <a href="https://scholar.google.ru/citations?hl=en&user=-m4QhNEAAAAJ&view_op=list_works&sortby=pubdate" target="_blank">GoogleScholar profile</a></div></div></div></div></div></div></div></div></div></div><div><br></div><div><div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, May 25, 2020 at 2:06 PM Salvador Pineda <<a href="mailto:salvapineda2@gmail.com" target="_blank">salvapineda2@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div style="font-family:verdana,sans-serif;font-size:small">Hi,<br>I have a couple of questions regarding SCIP solver.<br>1) Does SCIP rely on other solvers such as IPOPT to solve non-linear optimization problems? <br>2) Can SCIP be used under PYOMO?<br>Thanks a lot!<br>Salva.<br clear="all"></div></div>
_______________________________________________<br>
Scip mailing list<br>
<a href="mailto:Scip@zib.de" target="_blank">Scip@zib.de</a><br>
<a href="https://listserv.zib.de/mailman/listinfo/scip" rel="noreferrer" target="_blank">https://listserv.zib.de/mailman/listinfo/scip</a><br>
</blockquote></div><br clear="all"></div></div></div>
</blockquote></div><br clear="all"><div><br></div><div dir="ltr"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><pre><font face="arial, helvetica, sans-serif"><div><span style="font-family:arial,sans-serif">--------------------------------------------------------------------------</span></div></font></pre></div></div></div></div></div></div></div></div></div>
</blockquote></div><br></div></div>
</blockquote></div>
</blockquote></div><br></div>