FindArgMin
FindArgMin[f,x]
gives the position xmin of a local minimum of f.
FindArgMin[f,{x,x0}]
gives the position xmin of a local minimum of f, found by a search starting from the point x=x0.
FindArgMin[f,{{x,x0},{y,y0},…}]
gives the position {xmin,ymin,…} of a local minimum of a function of several variables.
FindArgMin[{f,cons},{{x,x0},{y,y0},…}]
gives the position of a local minimum subject to the constraints cons.
FindArgMin[{f,cons},{x,y,…}]
starts from a point within the region defined by the constraints.
Details and Options


- FindArgMin[…,{x,y,…}] is effectively equivalent to {x,y,…}/.Last[FindMinimum[…,{x,y,…},…].
- 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 - FindArgMin first localizes the values of all variables, then evaluates f with the variables being symbolic, and then repeatedly evaluates the result numerically.
- FindArgMin has attribute HoldAll, and effectively uses Block to localize variables.
- FindArgMin[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.
- FindArgMin[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 FindArgMin may correspond only to local, but not global, minima.
- By default, all variables are assumed to be real.
- For linear f and cons, x∈Integers can be used to specify that a variable can take on only integer values.
- FindArgMin takes the same options as FindMinimum.
-
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
List of all options

Examples
open allclose allBasic Examples (4)
Scope (12)
With different starting points, get the locations of different local minima:
Location of a local minimum of a two-variable function starting from x=2, y=2:
Location of 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 distance between two regions:
Find the minimum such that the triangle and ellipse still intersect:
Find the disk of minimum radius that contains the given three points:
Using Circumsphere gives the same result directly:
Use to specify that
is a vector in
:
Options (7)
AccuracyGoal & PrecisionGoal (2)
This enforces convergence criteria and
:
This enforces convergence criteria and
:

Setting a high WorkingPrecision makes the process convergent:
Gradient (1)
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 FindArgMin 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 minimizer point:
FindArgMin gives the location of the minimum:
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:

Text
Wolfram Research (2008), FindArgMin, Wolfram Language function, https://reference.wolfram.com/language/ref/FindArgMin.html (updated 2014).
CMS
Wolfram Language. 2008. "FindArgMin." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2014. https://reference.wolfram.com/language/ref/FindArgMin.html.
APA
Wolfram Language. (2008). FindArgMin. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/FindArgMin.html