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.
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