The documentation provides a step-by-step example of using ParametricIPOPTMinimize for global optimization but doesn't provide a function for doing it routinely. The code defining iMin, which uses ParametricIPOPTMinimize, is in the attached notebook
In[11]:= AbsoluteTiming @
NMinimize[{x^2 - y^2,
Cos[x - y] >= 0.5, -5 <= x <= 5, -5 <= y <= 5}, {x, y}]
During evaluation of In[11]:= NMinimize::cvmit: Failed to converge to the requested accuracy or precision within 100 iterations.
Out[11]= {0.455478, {-24.9443, {x -> 0.235988, y -> -5.}}}
In[12]:= AbsoluteTiming @
iMin[x^2 - y^2, {Cos[x - y] >= 0.5}, {{x, -5, 5}, {y, -5, 5}}, 5, 0]
During evaluation of In[12]:= {{Solve_Succeeded,5}}
Out[12]= {0.151122, {-24.9443, {x -> -0.235988, y -> 5.}}}
In[13]:= AbsoluteTiming @
NMinimize[{x Sin[10 x] y ^2 Cos[5 y], (x + 1)^2 + (y + 1)^2 <=
1}, {{x, -2, 0}, {y, -2, 0}}, Method -> "DifferentialEvolution"]
Out[13]= {0.286165, {-5.12441, {x -> -1.41862, y -> -1.90816}}}
In[14]:= AbsoluteTiming @
iMin[x Sin[10 x] y ^2 Cos[5 y], {(x + 1)^2 + (y + 1)^2 <=
1}, {{x, -2, 0}, {y, -2, 0}}, 25, 0]
During evaluation of In[14]:= {{Solve_Succeeded,25}}
Out[14]= {0.147763, {-5.12441, {x -> -1.41862, y -> -1.90816}}}
Attachments: