IPOPTLink`
IPOPTLink`

ParametricIPOPTMinimize

ParametricIPOPTMinimize[f,{x1,},{x1i0,},{{x1min,x1max},},{g1,},{{g1min,g1max},},pars]

numerically searches for a local minimum of f in x, starting from x=x0, subject to constraints xj minxjxj max, gi mingigi max, with parameters pars.

Details and Options

  • To use ParametricIPOPTMinimize, you first need to load it using Needs["IPOPTLink`"].
  • ParametricIPOPTMinimize gives results in terms of ParametricFunction objects.
  • Parameters can be present in any of the arguments of ParametricIPOPTMinimize, including options. »
  • ParametricIPOPTMinimize takes the same options and settings as IPOPTMinimize.

Examples

open allclose all

Basic Examples  (2)

Find a local minimum of in with parameter , starting from :

First, load the package:

Set up the parametric minimization problem and obtain a ParametricFunction object:

Since this problem has no constraints, the corresponding arguments were be replaced by {}.

Provide parameter values and obtain an instance of IPOPTData expression:

Extract the minimum value and position from the IPOPTData expression:

Minimize , subject to and starting from with parameters .

First, load the package:

Set up the parametric minimization problem and obtain a ParametricFunction object:

Provide parameter values and obtain an instance of IPOPTData expression:

Extract the minimum value and position from the IPOPTData expression:

Options  (3)

StepMonitor  (1)

Steps taken by ParametricIPOPTMinimize in finding the minimum of a function:

IPOPTOptions  (2)

Use IPOPTOptions to set options as described in the IPOPT library documentation options page.

Use "tol" to set the relative error tolerance to 10.^-p:

Check that the relative error is below the goal of 10^-4:

Check that the relative error is below the goal of 10^-6:

Use "max_iter" to set the maximum number of iterations to 5:

The message below indicates that 5 iterations were insufficient to reach the default precision goal of 10^-8:

Setting the iteration limit to 10 gives a better result:

Check that the relative error is below the default goal of 10^-8:

Applications  (1)

Find a global minimum by solving a problem with different starting points using the initial point as a parameter in ParametricIPOPTMinimize.

Take a function with multiple local minima over a certain region:

Generate the desired amount of starting points:

Plot the function with the initial points:

Load the package and set up the parametric problem:

Solve for all initial points:

Extract the minimal values and their positions from all solution objects:

Collect the solutions with the initial points and sort by the minimum value found to get the global minimum value and point:

Group points by the minimum position. A lattice is used to account for small numerical differences:

Show the initial points colored according to the minimum position. The local minima are pointed to by arrows. The global minimum is shown in red.

Wolfram Research (2016), ParametricIPOPTMinimize, Wolfram Language function, https://reference.wolfram.com/language/IPOPTLink/ref/ParametricIPOPTMinimize.html.

Text

Wolfram Research (2016), ParametricIPOPTMinimize, Wolfram Language function, https://reference.wolfram.com/language/IPOPTLink/ref/ParametricIPOPTMinimize.html.

CMS

Wolfram Language. 2016. "ParametricIPOPTMinimize." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/IPOPTLink/ref/ParametricIPOPTMinimize.html.

APA

Wolfram Language. (2016). ParametricIPOPTMinimize. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/IPOPTLink/ref/ParametricIPOPTMinimize.html

BibTeX

@misc{reference.wolfram_2023_parametricipoptminimize, author="Wolfram Research", title="{ParametricIPOPTMinimize}", year="2016", howpublished="\url{https://reference.wolfram.com/language/IPOPTLink/ref/ParametricIPOPTMinimize.html}", note=[Accessed: 19-April-2024 ]}

BibLaTeX

@online{reference.wolfram_2023_parametricipoptminimize, organization={Wolfram Research}, title={ParametricIPOPTMinimize}, year={2016}, url={https://reference.wolfram.com/language/IPOPTLink/ref/ParametricIPOPTMinimize.html}, note=[Accessed: 19-April-2024 ]}