# NelderMeadSolver Class

**Solver Foundation 3.0**

[This documentation is for preview only, and is subject to change in later releases. Blank topics are included as placeholders.]

Finds a local minimum or maximum for a box-constrained nonlinear function.

Microsoft.SolverFoundation.Solvers.UnconstrainedNonlinearModel

Microsoft.SolverFoundation.Solvers.NelderMeadSolver

**Namespace:**Microsoft.SolverFoundation.Solvers

**Assembly:**Microsoft.Solver.Foundation (in Microsoft.Solver.Foundation.dll)

The NelderMeadSolver type exposes the following members.

Name | Description | |
---|---|---|

NelderMeadSolver() | Initializes a new instance of the NelderMeadSolver class. | |

NelderMeadSolver(IEqualityComparer<Object>) | Initializes a new instance of the NelderMeadSolver class. |

Name | Description | |
---|---|---|

AcceptedContractionsCount | Specifies the number of times the contracted point was accepted. | |

AcceptedExpansionsCount | Specifies the number of times the expanded point was accepted. | |

AcceptedReflectionsCount | Specifies the number of times the reflected point was accepted. | |

EvaluationCallCount | Represents the number of function evaluations performed for the most recent solve. | |

FunctionEvaluator | Function value callback. (Inherited from UnconstrainedNonlinearModel.) | |

GradientCapability | Specifies the Gradient capabilities of the solver. | |

GradientEvaluator | Gradient callback. (Inherited from UnconstrainedNonlinearModel.) | |

HessianCapability | Specifies the Hessian capabilities of this solver. | |

Indices | Returns the variable index collection, inclusive of rows (Inherited from UnconstrainedNonlinearModel.) | |

IterationCount | The number of Nelder-Mead iterations. | |

KeyComparer | Is used for row or variable key comparison (Inherited from UnconstrainedNonlinearModel.) | |

KeyCount | Returns the number of keys, inclusive of rows and variables. (Inherited from UnconstrainedNonlinearModel.) | |

Keys | Returns the variable and row key collection. Indices are guaranteed to be greater than or equal to 0 and less than the KeyCount. (Inherited from UnconstrainedNonlinearModel.) | |

NonlinearCapabilities | The capabilities for this solver. | |

RejectedContractionsCount | Represents the number of times the contracted point was rejected (regenerating the simplex). | |

RejectedExpansionsCount | Represents the number of times the expanded point was rejected (using the reflected point). | |

Result | Indicates the type of result (for example, LocalOptimal). | |

RowCount | Returns the number of rows in the model (Inherited from UnconstrainedNonlinearModel.) | |

RowIndices | Returns the row index collection (Inherited from UnconstrainedNonlinearModel.) | |

RowKeys | Returns the row key collection (Inherited from UnconstrainedNonlinearModel.) | |

RowValue | Sets the value of the only row of the model (Inherited from UnconstrainedNonlinearModel.) | |

SmallSimplexCount | Represents the number of times a small simplex was encountered. | |

SolvedGoalCount | Represents the number of goals being solved. | |

TheGoal | The only goal of the model (Inherited from UnconstrainedNonlinearModel.) | |

VariableCount | Gets the number of variables in the model. (Inherited from UnconstrainedNonlinearModel.) | |

VariableIndices | Gets an IEnumerable containing the variable indexes. (Inherited from UnconstrainedNonlinearModel.) | |

VariableKeyCount | Returns a count for keys (not including null) for variables (Inherited from UnconstrainedNonlinearModel.) | |

VariableKeys | Gets an IEnumerable containing the variable keys. (Inherited from UnconstrainedNonlinearModel.) |

Name | Description | |
---|---|---|

AddGoal | Marks a row as a goal. (Inherited from UnconstrainedNonlinearModel.) | |

AddRow | Adds a row to the model. (Inherited from UnconstrainedNonlinearModel.) | |

AddRowAsGoal | Adds a row as a goal. Unconstrained models can have just one row. By convention this row will always have 0 as an index. (Inherited from UnconstrainedNonlinearModel.) | |

AddVariable | Ensures that a user variable with the given key is in the model. (Overrides UnconstrainedNonlinearModel.AddVariable(Object, Int32).) | |

CopyVariableValuesFrom | Copies variable values from an array. (Inherited from UnconstrainedNonlinearModel.) | |

CopyVariableValuesTo | Copies variable values to an array. (Inherited from UnconstrainedNonlinearModel.) | |

Equals | Determines whether the specified Object is equal to the current Object. (Inherited from Object.) | |

Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) | |

GetBounds | Returns the bounds for a vid. (Overrides UnconstrainedNonlinearModel.GetBounds(Int32, Rational, Rational).) | |

GetGoalFromIndex | Returns a goal entry if the row id is a goal (Inherited from UnconstrainedNonlinearModel.) | |

GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) | |

GetIndexFromKey | Maps the variable index from the key. If not found, KeyNotFoundException will be thrown (Inherited from UnconstrainedNonlinearModel.) | |

GetKeyFromIndex | Maps the variable index to the key. If not found, ArgumentException will be thrown (Inherited from UnconstrainedNonlinearModel.) | |

GetProperty | Gets a property for the specified index. | |

GetReport | Generates a report. | |

GetSolutionValue | Gets the objective value of a goal. | |

GetSolvedGoal | Gets information about a solved goal. | |

GetType | Gets the Type of the current instance. (Inherited from Object.) | |

GetValue | Gets the value associated with the variable index. This is typically used when retrieving results. (Inherited from UnconstrainedNonlinearModel.) | |

IsGoal(Int32) | Checks if a row identified by the specified id is a goal row. (Inherited from UnconstrainedNonlinearModel.) | |

IsGoal(Int32, IGoal) | Checks if a row identified by the specified id is a goal row. If true, return the goal entry (Inherited from UnconstrainedNonlinearModel.) | |

IsRow | Validates whether the specified id represents a row index (Inherited from UnconstrainedNonlinearModel.) | |

IsValidTolerance | Determines if the specified value is a valid solver tolerance. | |

MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) | |

PreChange | Invoke this function before modfying the model. (Inherited from UnconstrainedNonlinearModel.) | |

RemoveGoal | Removes a goal row (Inherited from UnconstrainedNonlinearModel.) | |

SetBounds | Sets the upper and lower bounds for a vid. (Overrides UnconstrainedNonlinearModel.SetBounds(Int32, Rational, Rational).) | |

SetGoalValue | Sets the goal value. (Inherited from UnconstrainedNonlinearModel.) | |

SetLowerBound | Sets the lower bound for a vid. (Overrides UnconstrainedNonlinearModel.SetLowerBound(Int32, Rational).) | |

SetProperty | Sets a property for the specified index. | |

SetUpperBound | Sets the upper bound for a vid. (Overrides UnconstrainedNonlinearModel.SetUpperBound(Int32, Rational).) | |

SetValue | Sets the value of model identified by the vid. The default value for a vid is Indeterminate. (Inherited from UnconstrainedNonlinearModel.) | |

Shutdown | Shuts down the solver. | |

Solve(ISolverParameters) | Solves the model using the given parameter instance. | |

Solve(Func<T, TResult>, Boolean) | ||

Solve(Func<T, TResult>, Boolean, Double[], Double) | ||

ToString | Returns a string that represents the current object. (Inherited from Object.) | |

TryGetIndexFromKey | Attempts to get the variable index based on the specified key (Inherited from UnconstrainedNonlinearModel.) | |

ValidateVid | Validates a vid, and throws ArgumentException if not valid. (Inherited from UnconstrainedNonlinearModel.) |

Name | Description | |
---|---|---|

IGoalModel.ClearGoals | Clears all the goals (Inherited from UnconstrainedNonlinearModel.) | |

IGoalModel.GoalCount | The number of goals in this model (Inherited from UnconstrainedNonlinearModel.) | |

IGoalModel.Goals | Returns the goal collection of this model. (Inherited from UnconstrainedNonlinearModel.) | |

INonlinearModel.GetActiveVariables | Specifies variables that participate in the row. (Inherited from UnconstrainedNonlinearModel.) | |

INonlinearModel.IsActiveVariable | Determines whether a variable is active in a specific row (Inherited from UnconstrainedNonlinearModel.) | |

INonlinearModel.SetActiveVariable | Sets a specific variable in a row to be active or inactive (Inherited from UnconstrainedNonlinearModel.) | |

INonlinearModel.SetActiveVariables | Sets all variables in a row to be active or inactive (Inherited from UnconstrainedNonlinearModel.) | |

INonlinearSolution.GetValue | Returns the value of a variable. | |

IRowVariableModel.GetIgnoreBounds | Gets the flag that specifies whether bounds are ignored (Inherited from UnconstrainedNonlinearModel.) | |

IRowVariableModel.GetIntegrality | Checks if a variable is an integer variable (Inherited from UnconstrainedNonlinearModel.) | |

IRowVariableModel.IntegerIndexCount | Returns the number of integer variables (Inherited from UnconstrainedNonlinearModel.) | |

IRowVariableModel.SetIgnoreBounds | Adjusts whether the bounds of a vid should be respected or ignored during solving. By default, bounds are respected. (Inherited from UnconstrainedNonlinearModel.) | |

IRowVariableModel.SetIntegrality | Marks a variable as an integer variable (Inherited from UnconstrainedNonlinearModel.) |

NelderMeadSolver is used to find local minima or maxima for a function whose variables may be constrained to be in a range. It does not require computing derivatives so it can be used in cases where other techniques cannot. NelderMeadSolver implements the INonlinearSolver interface, and the goal function is specified using the FunctionEvaluator property. NelderMeadSolver implements the method described in Nelder, J.A. and Mead, R., "A Simplex Method for Function Minimization", Computer Journal 7 (4): 308-313 (Jan., 1965) with the modifications described in Lee, D. and Wiswall, M., "A Parallel Implementation of the Simplex Function Minimization Routine".