FindMinValue

FindMinValue[f,x]

gives the value at a local minimum of f.

FindMinValue[f,{x,x0}]

gives the value at a local minimum of f, found by a search starting from the point x=x0.

FindMinValue[f,{{x,x0},{y,y0},}]

gives the value at a local minimum of a function of several variables.

FindMinValue[{f,cons},{{x,x0},{y,y0},}]

gives the value at a local minimum subject to the constraints cons.

FindMinValue[{f,cons},{x,y,}]

starts from a point within the region defined by the constraints.

Details and Options

• FindMinValue[] is effectively equivalent to First[FindMinimum[]].
• If the starting point for a variable is given as a list, the values of the variable are taken to be lists with the same dimensions.
• cons can contain equations, inequalities or logical combinations of these.
• The constraints cons can be any logical combination of:
•  lhs==rhs equations lhs>rhs or lhs>=rhs inequalities {x,y,…}∈reg region specification
• FindMinValue first localizes the values of all variables, then evaluates f with the variables being symbolic, and then repeatedly evaluates the result numerically.
• FindMinValue has attribute HoldAll, and effectively uses Block to localize variables.
• FindMinValue[f,{x,x0,x1}] searches for a local minimum in f using x0 and x1 as the first two values of x, avoiding the use of derivatives.
• FindMinValue[f,{x,x0,xmin,xmax}] searches for a local minimum, stopping the search if x ever gets outside the range xmin to xmax.
• Except when f and cons are both linear, the results found by FindMinValue may correspond only to local, but not global, minima.
• By default, all variables are assumed to be real.
• For linear f and cons, xIntegers can be used to specify that a variable can take on only integer values.
• FindMinValue takes the same options as FindMinimum.
• List of all options

•  AccuracyGoal Automatic the accuracy sought EvaluationMonitor None expression to evaluate whenever f is evaluated Gradient Automatic the list of gradient components for f MaxIterations Automatic maximum number of iterations to use Method Automatic method to use PrecisionGoal Automatic the precision sought StepMonitor None expression to evaluate whenever a step is taken WorkingPrecision MachinePrecision the precision used in internal computations

Examples

open allclose all

Basic Examples(4)

Find a minimum value of the univariate function:

Find a minimum value of a multivariate function:

Find a minimum value of a function subject to constraints:

Find a minimum value of a function over a geometric region:

Scope(12)

With different starting points, get the values of different local minima:

Value at a local minimum of a two-variable function starting from x=2, y=2:

Value at a local minimum constrained within a disk:

Starting point does not have to be provided:

For linear objective and constraints, integer constraints can be imposed:

Or constraints can be specified:

Find the minimum value of a function over a geometric region:

Plot it:

Find the minimum distance between two regions:

Plot it:

Find the minimum such that the triangle and ellipse still intersect:

Plot it:

Find the minimum radius of a disk that contains the given three points:

Using Circumsphere gives the same result directly:

Use to specify that is a vector in :

Find the minimum distance between two regions:

Plot it:

Options(8)

AccuracyGoal & PrecisionGoal(2)

This enforces convergence criteria and :

This enforces convergence criteria and :

Setting a high WorkingPrecision makes the process convergent:

EvaluationMonitor(1)

Plot convergence to the local minimum:

Method(1)

In this case, the default derivative-based methods have difficulties:

Direct search methods that do not require derivatives can be helpful in these cases:

NMinimize also uses a range of direct search methods:

StepMonitor(1)

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

WorkingPrecision(1)

Set the working precision to ; by default, AccuracyGoal and PrecisionGoal are set to :

Properties & Relations(1)

FindMinimum gives both the value of the minimum and the minimizing argument:

FindArgMin gives the location of the minimum as a list:

FindMinValue gives the value at the minimum:

Possible Issues(4)

If the constraint region is empty, the algorithm will not converge:

If the minimum value is not finite, the algorithm will not converge:

Integer linear programming algorithm is only available for machine-number problems:

Sometimes providing a suitable starting point can help the algorithm to converge:

Wolfram Research (2008), FindMinValue, Wolfram Language function, https://reference.wolfram.com/language/ref/FindMinValue.html (updated 2014).

Text

Wolfram Research (2008), FindMinValue, Wolfram Language function, https://reference.wolfram.com/language/ref/FindMinValue.html (updated 2014).

CMS

Wolfram Language. 2008. "FindMinValue." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2014. https://reference.wolfram.com/language/ref/FindMinValue.html.

APA

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

BibTeX

@misc{reference.wolfram_2023_findminvalue, author="Wolfram Research", title="{FindMinValue}", year="2014", howpublished="\url{https://reference.wolfram.com/language/ref/FindMinValue.html}", note=[Accessed: 25-September-2023 ]}

BibLaTeX

@online{reference.wolfram_2023_findminvalue, organization={Wolfram Research}, title={FindMinValue}, year={2014}, url={https://reference.wolfram.com/language/ref/FindMinValue.html}, note=[Accessed: 25-September-2023 ]}