This is documentation for Mathematica 8, which was
based on an earlier version of the Wolfram Language.
View current documentation (Version 11.2)

FindArgMax

FindArgMax
gives the position of a local maximum of f.
FindArgMax
gives the position of a local maximum of f, found by a search starting from the point .
FindArgMax
gives the position of a local maximum of a function of several variables.
FindArgMax
gives the position of a local maximum subject to the constraints cons.
FindArgMax
starts from a point within the region defined by the constraints.
  • 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.
  • FindArgMax first localizes the values of all variables, then evaluates f with the variables being symbolic, and then repeatedly evaluates the result numerically.
  • FindArgMax searches for a local maximum in f using and as the first two values of x, avoiding the use of derivatives.
  • FindArgMax searches for a local maximum, stopping the search if x ever gets outside the range to .
  • Except when f and cons are both linear, the results found by FindArgMax may correspond only to local, but not global, maxima.
  • 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.
Find a point at which the univariate function has a maximum:
Find a point at which the function Sin[x]Sin[2y] has a maximum:
Find a point at which a function is a maximum subject to constraints:
Find a point at which the univariate function has a maximum:
In[1]:=
Click for copyable input
Out[1]=
 
Find a point at which the function Sin[x]Sin[2y] has a maximum:
In[1]:=
Click for copyable input
Out[1]=
 
Find a point at which a function is a maximum subject to constraints:
In[1]:=
Click for copyable input
Out[1]=
With different starting points, get the locations of different local maxima:
Location of a local maximum of a two-variable function starting from , :
Location of a local maximum 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:
This enforces convergence criteria and :
This enforces convergence criteria and :
Setting a high WorkingPrecision makes the process convergent:
Plot convergence to the local maximum:
Use a given gradient; the Hessian is computed automatically:
Supply both gradient and Hessian:
In this case the default derivative-based methods have difficulties:
Direct search methods that do not require derivatives can be helpful in these cases:
NMaximize also uses a range of direct search methods:
Steps taken by FindArgMax in finding the maximum of a function:
Set the working precision to ; by default AccuracyGoal and PrecisionGoal are set to :
FindMaximum gives both the value of the maximum and the maximizer point:
FindArgMax gives the location of the maximum:
FindMaxValue gives the value at the maximum:
If the constraint region is empty, the algorithm will not converge:
If the maximum 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:
New in 7