# Microsoft.SolverFoundation.Services Namespace

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

The Microsoft.SolverFoundation.Services namespace contains classes and interfaces that you can implement to integrate solvers into your application or implement a solver.

## Classes

Class | Description | |
---|---|---|

BindingUtilities | Provides helper methods to support data binding for Parameter and Decision objects. | |

BinomialDistributionParameter | A parameter with binomial distribution. | |

CompactQuasiNewtonDirective | Represents a directive for the compact quasi-Newton (CQN) solver. | |

CompactQuasiNewtonProperties | Defines properties that can be retrieved by compact quasi-Newton (CQN) solver events. | |

CompactQuasiNewtonReport | Defines a report for the CompactQuasiNewtonSolver. | |

Constraint | Encapsulates a term and its role as a constraint in the model. | |

ConstraintProgrammingDirective | A directive for the constraint satisfaction programming (CSP) solver. | |

ConstraintProgrammingReport | Defines a report for a constraint programming problem. | |

CspSolutionMapping | Defines the mapping between a model and a ConstraintSystem object. | |

DataBindingEventArgs | Provides data for a data binding event. | |

Decision | A group of decisions for which a solver finds values. | |

DecisionBinding | Notifies the solver context about changes in the data for the decision. | |

Directive | An instruction to the Solver Foundation Services (SFS) layer or the solver. | |

DiscreteUniformDistributionParameter | A random parameter with a discrete uniform distribution. | |

Domain | The set of possible values for a decision or parameter. | |

ExponentialDistributionParameter | A random parameter with exponential distribution. | |

GenericReport | Defines a generic report for any solver. | |

GeometricDistributionParameter | A random parameter with geometric distribution. | |

Goal | Defines a term and its role in the model. | |

HybridLocalSearchDirective | Represents a directive for the hybrid local search solver. | |

HybridLocalSearchReport | Contains information about the current solution for models solved by the hybrid local search solver. | |

InteriorPointMethodDirective | Defines a directive to provide guidance for the interior point method solver. | |

InteriorPointProperties | Defines properties that the interior point solver can retrieve by using events. | |

InteriorPointReport | Defines a report for an interior point programming problem. | |

LinearModel | Represents a linear model with rows and variables. | |

LinearReport | Defines a report for a linear model. | |

LinearSolutionMapping | Defines the mapping between a Solver Foundation Services (SFS) model and an ILinearModel. | |

LogNormalDistributionParameter | Represents a log normal distribution parameter. | |

MixedIntegerProgrammingDirective | Represents a directive to provide guidance for the mixed integer programming (MIP) solver. | |

Model | Defines a model that has expressions and constraints. | |

ModelReport | Defines the validity of a model and reports any errors that are found. | |

MpsParser | Parses tokens in the MPS format. | |

MpsWriter | Generates an MPS file. | |

NelderMeadDirective | Represents a directive for the NelderMeadSolver. | |

NelderMeadProperties | Properties that can be retrieved by events raised by the NelderMeadSolver. | |

NelderMeadReport | Contains information about the current solution for models solved by the NelderMeadSolver. | |

NonlinearModel | Represents a nonlinear optimization model that contains rows, variables. goals, and callback functions that define the values and possible gradients of the rows. | |

NonlinearModel.SparseMatrix | Represents a sparse matrix by rows. | |

NormalDistributionParameter | Represents a normal distribution parameter. | |

Parameter | Represents a group of terms that binds to data. | |

PluginSolutionMapping | Defines the base class for solution mappings for linear, nonlinear, and term solvers. | |

RandomParameter | Represents a group of terms that take stochastic values. | |

RecourseDecision | Represents a group of decisions that are made in response to the output of a random parameter. | |

Report | Contains information about the current solution. | |

RowVariableGoalModel | Represents an optimization model that consists of decision variables, rows, and goals. | |

RowVariableModel | Represents a basic optimization model that consists of decision variables and rows. | |

RowVariableReport | Defines a report for linear, nonlinear, and term-based models. | |

SamplingParameters | Represents a parameter for random sampling. | |

ScenariosParameter | Represents a parameter for a fixed, finite number of discrete scenarios. | |

SecondOrderCone | Defines information for a second order cone. | |

SecondOrderConicModel | Defines a second order conic optimization problem. | |

Set | Defines a set of values in a domain. | |

SimplexDirective | Represents a directive for the simplex solver. | |

SimplexProperties | Defines properties that can be retrieved by simplex solver events. | |

SimplexReport | Defines a report for a simplex solver. | |

Solution | Defines the result of solving a model. | |

SolutionMapping | Defines the mapping between a model and a ConstraintSystem object. | |

SolverContext | Provides services to solvers. | |

SolverProperties | Defines properties that can be retrieved by events. | |

SolverRegistration | Represents the information about a registered solver. | |

SolverRegistrationCollection | Represents the plug-in solver registration information. | |

SolvingEventArgs | Provides data for a solving event. | |

StochasticDirective | Represents a directive for stochastic solutions. | |

StochasticSolution | Stores information for a stochastic solution. | |

SubmodelInstance | Defines a composite decision. | |

SumTermBuilder | Creates a term from a list of operand terms that can be used in goals or constraints. | |

Term | Defines any decision, formula, goal, or constraint in a model. | |

TermModel | Encapsulates a nonlinear optimization model that consists of variables, rows, and goals. | |

Tuples | Represents a list of constant value tuples. | |

UniformDistributionParameter | Represents a parameter for a continuous uniform random distribution. | |

ValueFeasibilityKnownEventArgs | Contains event data. | |

ValuesByIndex | Provides access to solver values by using INonlinearModel indexes. |

## Structures

Structure | Description | |
---|---|---|

LinearEntry | Represents a <key, index, value> triplet that indicates the row of a coefficient and the value of the coefficient. | |

LinearSolverSensitivityRange | Defines a range for a sensitivity report. | |

QuadraticEntry | Represents a <key1, index1, key2, index2, value> quintet. | |

Scenario | Represents a probability/value pair. |

## Interfaces

Interface | Description | |
---|---|---|

IGoal | Defines a goal variable. | |

IGoalModel | Encapsulates an optimization model that has goals. | |

ILinearGoal | Provides the properties for a linear goal variable. | |

ILinearModel | Encapsulates a linear optimization model that consists of decision variables, constraints, and goals. | |

ILinearSimplexStatistics | Provides statistical information specific to an attempt by the simplex solver to solve a linear model. | |

ILinearSolution | Encapsulates the results and status after an attempt to solve an ILinearModel object. | |

ILinearSolver | Defines a solver for a linear programming problem. | |

ILinearSolverInfeasibilityReport | Defines a report for infeasible results. | |

ILinearSolverReport | Defines a generic report for a linear solver. | |

ILinearSolverSensitivityReport | Defines a report for sensitivity analysis. | |

INonlinearModel | Encapsulates a non-linear optimization model that consists of variables, rows, goals, and a function value callback that defines the values and possible gradients of the rows. | |

INonlinearSolution | Encapsulates the results and status after an attempt to solve an IRowVariableSolver object. | |

INonlinearSolver | Defines a solver for nonlinear programming models that correspond to INonlinearModel. | |

IReportProvider | Defines solvers that can provide a report. | |

IRowVariableModel | Defines a basic optimization model that consists of decision variables and rows. | |

IRowVariableSolver | Represents a solver for optimization models that have goals. | |

ISecondOrderCone | Defines information for a second order cone. | |

ISecondOrderConicModel | Defines a second order conic optimization problem. | |

ISolver | Defines solvers that are supported by Microsoft Solver Foundation. | |

ISolverEnvironment | Defines the solver environment. | |

ISolverEvents | Defines callback functions that are called periodically during the solve process. | |

ISolverParameters | Defines the parameters for a solver. | |

ISolverProperties | Defines a property bag for an event handler that can be used by a solver. | |

ISolverSolution | Defines a solution for a specific solver. | |

ITermModel | Encapsulates a nonlinear optimization model that consists of variables, rows, and goals. | |

ITermSolver | Defines a solver for non-linear programming models that correspond to ITermModel. |

## Enumerations

Enumeration | Description | |
---|---|---|

Arithmetic | Defines an arithmetic method for numeric solving. | |

ConstraintProgrammingAlgorithm | Defines the algorithm to use for constraint satisfaction programming. | |

DecompositionType | Defines the type of decomposition to use during the solve process. | |

DerivativeCapability | Specifies whether derivative capabilities are required or supported. | |

FileFormat | Defines a format that models can be loaded from or saved to. | |

GoalKind | Defines the direction of the goal. | |

InteriorPointMethodAlgorithm | Defines the types of interior point method algorithms. | |

InteriorPointSymbolicOrdering | Specifies the manner in which the solver performs symbolic factorizations of matrices. | |

LinearResult | Defines the results of solving a linear model. | |

LinearSolutionQuality | Defines the quality of a solution. | |

LinearSolverReportType | Defines the type of report for a linear solver. | |

LinearValueState | Defines the status of a row or variable value. | |

LocalSearchMoveSelection | Defines a heuristic to use for move selection in constraint satisfaction programming. | |

NonlinearCapabilities | Defines the capabilities for nonlinear solvers. | |

NonlinearResult | Specifies the results of solving a nonlinear model. | |

ReportVerbosity | Defines options for specifying the amount of information to include in a report. | |

SamplingMethod | Defines a sampling method. | |

SecondOrderConeRowType | Defines the types of rows for a second order cone. | |

SecondOrderConeType | Defines the type for a second order cone. | |

SimplexAlgorithm | Defines the type of simplex algorithm to use. | |

SimplexBasis | Specifies the basis to use for simplex solving. | |

SimplexPricing | Defines the pricing strategy to use for simplex solving. | |

SolverCapability | Specifies the capabilities of third-party solvers. | |

SolverQuality | Defines the result of a solver. | |

SpecialOrderedSetType | Defines the types of special ordered sets. | |

TermModelOperation | Represents an operation. | |

TreeSearchValueSelection | Defines a heuristic for value selection in constraint satisfaction programming (CSP). | |

TreeSearchVariableSelection | Defines a heuristic for variable selection in constraint satisfaction programming (CSP). |