<div dir="ltr">I'm sorry, I understand that's because the only solver for constrained optimization in scipy is <span style="background-color:rgb(255,255,255)"><font color="#000000"><b>SLSQP</b>?</font></span><div><span style="background-color:rgb(255,255,255)"><font color="#000000"><br></font></span></div><div><font color="#000000">But, It is not good idea to write about a particular case as if it is a general</font><span style="background-color:rgb(255,255,255)"><font color="#000000"> -></font></span></div><div><font color="#000000"><br></font></div><div><font color="#000000">In documentation -> "</font><span style="color:rgb(51,51,51);font-family:"Open Sans",sans-serif;font-size:13px">In general, the optimization problems are of the form: ...</span><span style="color:rgb(0,0,0)">"</span></div><div><font color="#000000"><a href="https://docs.scipy.org/doc/scipy-0.18.1/reference/generated/scipy.optimize.minimize.html">https://docs.scipy.org/doc/scipy-0.18.1/reference/generated/scipy.optimize.minimize.html</a></font><br></div><div><br></div><div>Which is not true in general :)</div><div><div><span style="background-color:rgb(255,255,255)"><font color="#000000"><br></font></span></div><div><span style="background-color:rgb(255,255,255)"><font color="#000000"><br></font></span></div><div><span style="background-color:rgb(255,255,255)"><font color="#000000">-gdg</font></span></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">2017-05-26 14:18 GMT+03:00 Kirill Balunov <span dir="ltr"><<a href="mailto:kirillbalunov@gmail.com" target="_blank">kirillbalunov@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">David, KKT conditions are first-order necessary conditions which are applicable if some assumptions are satisfied (regularity, continuity,..). The points which satisfy KKT are said to be stationary (or candidate) points (min, max or inflation). Internally this conditions use gradient of Lagrange function -> c^T * x + lambda^T * h(x) + mu^T * g(x) (this is classical notation), where h(x) are equality and g(x) are inequality (g(x) <= 0) constraints respectively. Also there is a restriction among others for `mu` to be non-negative. This is classical formulation of NLP (which looks for minimum). Of course mathematics is simply a human game with some rules. So you can choose from four cases (for "inequality term"):<div>1) +  mu^T * g(x),  mu >= 0,  g(x) <=0   (classical)</div><div>2) -  mu^T * g(x), mu >= 0, g(x) >= 0 <br><div class="gmail_extra">3) + mu^T * g(x),  mu <= 0,  g(x) >= 0    <span style="font-size:13px;color:rgb(119,119,119);white-space:nowrap">(</span><font color="#777777"><span style="white-space:nowrap"> awkward</span></font><span style="color:rgb(119,119,119);font-size:13px;white-space:nowrap">)</span></div><div class="gmail_extra">4) - mu^T * g(x),  mu => 0,  g(x) <= 0    (<span class="m_6303856383139449580gmail-gt-baf-back" style="font-size:13px;unicode-bidi:inherit;color:rgb(119,119,119);white-space:nowrap">awkward</span>)</div><div class="gmail_extra"><br></div><div class="gmail_extra">Tрe last two are awkward they roughly crash the dual problem principle (the related maximization problem but in Lagrange multipliers). The first two look good but the  the second one is very unusual. That is why I ask about historical reasons, why this form was chosen?</div><div class="gmail_extra"><br></div><div class="gmail_extra">-gdg</div><span class=""><div class="gmail_extra"><br></div><div class="gmail_extra"> <br></div><div class="gmail_extra"><br><div class="gmail_quote">2017-05-26 1:03 GMT+03:00 David Goldsmith <span dir="ltr"><<a href="mailto:eulergaussriemann@gmail.com" target="_blank">eulergaussriemann@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>The KKT reference exceeds my numeracy...</div><div><br></div><div>Anyway, i doubt this is the case, but if it's really a problem, you can always write wrappers to automate the desired transformations, yes?</div><div><br></div><div>DLG</div></blockquote></div><br></div></span></div></div>
</blockquote></div><br></div>