Mathematica 9 is now available
THIS IS DOCUMENTATION FOR AN OBSOLETE PRODUCT.
SEE THE DOCUMENTATION CENTER FOR THE LATEST INFORMATION.
Mathematica > Mathematics and Algorithms > Optimization >

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.
  • 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.
  • FindMinValue first localizes the values of all variables, then evaluates f with the variables being symbolic, and then repeatedly evaluates the result numerically.
  • 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, xElementIntegers can be used to specify that a variable can take on only integer values.
Find a minimum value of the univariate function:
Find a minimum value of a multivariate function::
Find the minimum value of a function subject to constraints:
Find a minimum value of the univariate function:
In[1]:=
Click for copyable input
Out[1]=
 
Find a minimum value of a multivariate function::
In[1]:=
Click for copyable input
Out[1]=
 
Find the minimum value of a function subject to constraints:
In[1]:=
Click for copyable input
Out[1]=
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:
This enforces convergence criteria ||x_k-x^*|| <= max(10^(-9),10^(-8)||x_k||) and ▽f(x_k)<=10^(-9):
This enforces convergence criteria ||x_k-x^*|| <= max(10^(-20),10^(-18)||x_k||) and ▽f(x_k)<=10^(-20):
Setting a high WorkingPrecision makes the process convergent:
Plot convergence to the local minimum:
Use the given gradient:
Supply both gradient and Hessian:
In this case the default derivative-based methods have difficulties:
Direct search methods which do not require derivatives can be helpful in these cases:
NMinimize also uses a range of direct search methods:
Steps taken by FindMinValue in finding the minimum of a function:
Set the working precision to 20; by default AccuracyGoal and PrecisionGoal are set to :
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:
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:
New in 7
Ask a question about this page  |  Suggest an improvement  |  Leave a message for the team