0% found this document useful (0 votes)
8 views27 pages

Microsoft Solver Foundation for Excel Guide

The Microsoft Solver Foundation for Excel is a managed code runtime designed for mathematical programming, modeling, and optimization within Excel. It includes features such as a modeling editor, Excel cell binding, automatic report generation, and support for third-party solvers, making it easier to build and solve optimization models. The documentation provides guidance on using the add-in, including model building, input/output management, and defining goals, constraints, and directives.

Uploaded by

Magog
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views27 pages

Microsoft Solver Foundation for Excel Guide

The Microsoft Solver Foundation for Excel is a managed code runtime designed for mathematical programming, modeling, and optimization within Excel. It includes features such as a modeling editor, Excel cell binding, automatic report generation, and support for third-party solvers, making it easier to build and solve optimization models. The documentation provides guidance on using the add-in, including model building, input/output management, and defining goals, constraints, and directives.

Uploaded by

Magog
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Microsoft Solver Foundation

Solver Foundation for Excel Primer

This documentation is provided to you for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS,
IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS DOCUMENT.

Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright,
no part of this document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form
or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express
written permission of Microsoft Corporation.

Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering
subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the
furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual
property.

© 2006-2011 Microsoft Corporation. All rights reserved.

Microsoft and Excel are registered trademarks or trademarks of Microsoft Corporation in the United States and/or other
countries.

© 2006-2011 Microsoft Corporation


Contents
Contents ........................................................................................................................................................ 2
Introduction .................................................................................................................................................. 3
Getting Started.............................................................................................................................................. 4
Building a Model ........................................................................................................................................... 6
Input and Output ...................................................................................................................................... 7
Sets ........................................................................................................................................................ 7
Parameters ............................................................................................................................................ 8
Decisions ............................................................................................................................................. 11
Goals, Constraints, and Directives .......................................................................................................... 12
Goals ................................................................................................................................................... 12
Constraints .......................................................................................................................................... 14
Directives ............................................................................................................................................ 15
Checking and Solving the Model ................................................................................................................. 18
Sample Projects........................................................................................................................................... 20
Appendix 1: Optimization Modeling Language (OML)................................................................................ 21
Appendix 2: OMLX File Format ................................................................................................................... 22
Root Element – Model ........................................................................................................................ 22
Name Element .................................................................................................................................... 22
ModelText Element............................................................................................................................. 22
DataBindings Element ......................................................................................................................... 22
BindingSourceInfo Element ................................................................................................................ 23
InputBindingInfo Element ................................................................................................................... 24
OutputBindingInfo Element ................................................................................................................ 25
Directives Element .............................................................................................................................. 25
DirectiveInfo Element ......................................................................................................................... 26
DirectivePropertyInfo Element ........................................................................................................... 26

2 © 2006-2011 Microsoft Corporation


Introduction
Solver Foundation is a pure, managed code runtime for mathematical programming, modeling, and
optimization. This .NET/CLR based framework provides a rich set of tools, services, and engines for
Visual Studio and Office. The Solver Foundation for Excel add-in enables the mathematical modeler to
optimize problems easily and within the comfort of the Excel environment. Key features of this
application include the following:

o Modeling Editor. Simplifies the modeling experience by using a collection of modeling panes
and includes a modeling syntax checker and other similar features exposed through the Solver
Foundation ribbon bar for Excel.
o Excel Cell binding. Binds static or dynamic data in a range to and from the model.
o Automatic Results and Report generation. Displays all results and reports on separate Excel
sheets for easy viewing, saving, or integration into other workflow systems.
o Import/Export capabilities. Supports MPS, QPS, SMPS, and OML formats. You can deploy a
model from Excel directly to C# - avoiding the need for the application developer to re-write any
model code.
o Improved Microsoft Office Integration. Deploy models from Excel to SharePoint using our
OMLX file (model + metadata). This provides a script-safe and secure method to transfer models
between client and a server.

This release of the Solver Foundation for Excel add-in provides several improvements:

 Support for third-party solvers. Third-party solvers can be configured the same way as Solver
Foundation’s built-in solvers through the Directives tab.

 Initial values can be optionally specified for decisions, improving performance for solvers with warm
start capabilities.

 Sparse parameter support. Tables that are bound to parameters need not specify values for all
possible indexes. Unspecified entries are assumed to be zero.

 A new options dialog makes it easier to control which output the add-in displays when solving. You
can configure the add-in to display progress information during a solve operation.

 Inline set definition is now supported. The elements of a set can be specified directly in the Sets
dialog.

This document covers how you can model, solve, and generate reports by using the Solver Foundation
for Excel add-in. Please direct queries and feature suggestions online at [Link].

3 © 2006-2011 Microsoft Corporation


Getting Started
The Microsoft Solver Foundation for Excel add-in makes it easier to build and solve models. You can
specify models by entering inputs, outputs, goals and constraints in the modeling pane, with the help of
the OML modeling language. You can associate inputs and outputs with ranges in Excel worksheets,
produce useful reports, and select and customize solver settings.

The best way to learn how to use the Solver Foundation for Excel add-in is to experiment with a sample.
In this tutorial we will work with the “Misra1a” sample, found in the Microsoft Solver
Foundation\Samples\Excel\NLP subdirectory in your Solver Foundation installation. Here’s what the
Misra1a spreadsheet looks like:

Models are entered in the right-hand pane. Models are built from input parameters, decisions, goals (in
the form of objective functions), constraints, and sets. Constraint and goal expressions are specified
using the Optimization Modeling Language (OML), a declarative modeling language. You can bind input
parameters and output decisions to cell ranges in a worksheet. The Solver Foundation ribbon provides
commands to validate, export, solve, and configure the models that you build.

The process for building and solving a model often varies, but the diagram below shows a typical
workflow. Model creation is primarily done in the modeling pane, and solving and reporting is done
using the ribbon.

4 © 2006-2011 Microsoft Corporation


5 © 2006-2011 Microsoft Corporation
Building a Model
The modeling pane provides a collection of tabs that display information about the model associated
with the active Excel workbook.

 Sets. These are collections of objects that are used as indexes in Parameters or Decisions. For
example, a matrix Parameter takes two Sets as indexes.
 Parameters. These are the “inputs” of the solver – data is bound from an Excel sheet to the model.
Parameters can be indexed, or singled-valued constants of type Reals, Integers, or Booleans.
 Decisions. These are the “outputs” or results of the model being solved. Data can be bound to a
specific Excel sheet. Supported types for Decisions can be Reals, Integers, or Booleans.
 Goals. This is where you define the business goal or goals you are trying to accomplish. These are
used to specify a quantity or equation that should be maximized or minimized.
 Constraints. This is where you can add constraints to the model. These are restrictions placed on
Decisions.
 Directives. Ability to provide solver hints and other solver specific attributes.
 Model. Shows the model in OML format. Advanced users can manually edit OML directly from this
pane.
 Log. Solver output details. This is similar to the command line interface output.

6 © 2006-2011 Microsoft Corporation


If you open an existing spreadsheet or import an existing model from a file (such as MPS, QPS, or OML),
each tab will already contain data.

Input and Output


Most real world models have an algebraic form but depend on data to be used for a specific problem
instance. For example, the Misra1a model contains x and y values for each data point. Data can be
entered manually, or imported from a variety of sources using the Get External Data button on the Data
ribbon tab. Once the sheet contains model data, you can use the Sets, Parameters, and Decisions
modeling pane tabs to bind the data to and from the model.

Sets
A Set is an unordered list of items that define the valid set of indexes for a Parameter or Decision. In
Misra1a we have a set of data points that we want to fit. Click on the Sets tab to see the list of sets that
have been defined in the model:

The Set pane provides fields for the name, how set items are specified, and the domain for the set. The
items in a set are normally determined automatically based on the Parameters and Decisions in which
they participate. In Misra1a, the elements of the Point set are determined by the “x” and “y” Parameters
7 © 2006-2011 Microsoft Corporation
that we will review in a moment. Another way to specify items is to select the “Values” setting for the
Items dropdown. This allows you type in the permitted items as a list:

The Automatic option is usually the best choice because it is often inconvenient to explicitly type in the
values for a set.

The Domain for a set defines the data type for its items. For many models, this data type is unimportant
so the default value of “Any” is fine. If you use the indexes in a goal or constraint expression you may
wish to change the Domain to Real or Integer. The domain for set items will be checked for correctness
when you try to solve the model. If you select the “Values” option for the Items field, the domain is
assumed to be Real.

Parameters
The Parameters tab allows you to associate (or “bind”) data from an Excel sheet to the model. The
following parameter types are available:

- Parameter. These represent real or integer values over a range.


- Random Parameter. These are used in stochastic models and represent a random distribution.
Random parameters are either:
o Scenario Parameter. A random parameter where the possible values are specified by
scenarios. Each scenario has an associated value and probability of occurring.
o Distribution Parameter. A random parameter that represents a discrete or continuous
random distribution.

Parameters can be single-valued or indexed using Sets. Both random and non-random parameters can
be indexed. You can use the Binding Editor to associate Sets with Parameters. Click on the Binding
button for a parameter to display the Binding Editor. The two parameters in the Misra1a model are the
“x” and “y” coordinates for each point. This data is stored in a table called “Data”:

8 © 2006-2011 Microsoft Corporation


The Binding Editor is shown in the following screenshot:

9 © 2006-2011 Microsoft Corporation


Set the cell range for the data using the control at the top of the dialog. You can also use named ranges,
as we have done in this case. “Data[#All]” is the Excel expression for the named range called Data,
including the header row (row 5). The Binding Editor supports three different data layouts.

 A single row or column. Uncheck the “Range Includes Column Headers” and select the range
containing the data. In the first Set dropdown, choose the Set that represents the indexes for
the Parameter.

 A matrix containing data values. Uncheck the “Range Includes Column Headers” and select the
range containing the data. In the first Set dropdown select the Set that represents the first
(row) index. In the second Set dropdown select the second (column) index. The Column Header
controls are disabled.

 A table containing rows containing indexes and values. The table has headers that describe the
contents of each column. Check the “Range Includes Column Headers” checkbox. Typically one
or more columns will represent indexes and one column contains the values. For each column
that represents an index, select the appropriate Set and Column Header. In the Value Field
dropdown, select the dropdown that contains the parameter values.

In this case we are binding to a table, so we have checked the checkbox and specified one index set and
a value field.

10 © 2006-2011 Microsoft Corporation


Decisions
Similar to the Parameters tab, the Decisions pane allows the user to bind Decisions generated from
Solver Foundation directly into an Excel sheet. The following input Decisions are available.

- Decision. An output value that represents values that the solver should determine.
- Recourse Decision. An output value in a stochastic model that is made in response to the
realization of a random parameter.

Decisions, just like Parameters, can be indexed using Sets. The Misra1a model has two decisions: the
“beta” variables that determine the nonlinear data fit between the x and y parameters.

Click on the button next to the Binding field to associate the Decision with spreadsheet data. The
Misra1a spreadsheet associates the decisions with cells in columns G and H in the spreadsheet:

11 © 2006-2011 Microsoft Corporation


The Binding Editor is used is much the same way as for Parameters:

Notice that in this case the output is a single cell, so the “Range Includes Column Headers” checkbox has
been cleared.

The Initial Value range selector at the bottom of the dialog allows you to specify an initial guess for the
value of the decision. In this case, the initial value for the “b1” decision was specified in cell H7. Initial
values are optional.

Goals, Constraints, and Directives


Parameters and Decisions are the raw materials used to build models using goals, constraints, and
directives. Goals and constraints are specified algebraically using OML. OML provides logical, arithmetic,
iteration and set operations that allow a wide range of goals and constraints to be clearly expressed.
Many real-world models have goals or constraints that apply to a range of input or output values. In
such cases, it is useful to define indexed parameters over sets and use the Foreach and Sum operators.
The following sections show how goals and constraints can be created and manipulated in the Excel add-
in. Then you can learn how Directives can be used to customize Solver Foundation’s solution behavior.

Goals
A goal combines Parameters and Decisions in order to express how a model is to be optimized. Typically,
goals represent business objectives or preferences such as “maximize profit”, or “minimize waiting
time.” In Misra1a, the goal is to minimize the sum of squares deviation between the predicted fit:

12 © 2006-2011 Microsoft Corporation


The first step is to specify a unique name for the goal. The Kind of goal is either Maximize or Minimize.
The Expression is text that combines Decisions, Parameters, and constant values using the rich set of
operations provided by OML. This example uses the Sum expression to iterate over the set of points.
Goals can contain Recourse Decisions, in which case Solver Foundation can substitute the expected
value over all samples of the random parameters.

13 © 2006-2011 Microsoft Corporation


Constraints
A constraint is simply an expression that restricts possible values for decisions. Some constraints are
logical in nature – for example, “the sum of demand over all routes is equal to the total demand.”
Others represent business constraints, such as “do not allow server load to exceed 90%.” The Misra1a
model does not contain any constraints, but most models do. The following screenshot shows the
constraints for a different model (the Airline Allocation sample):

The constraint above is indexed over the Routes set using the Foreach expression. The constraint says
that for each route, the demand is the sum of the products of the passenger capacities and airplane
fleet allocation, minus the number of passengers bumped from the route

14 © 2006-2011 Microsoft Corporation


Directives
Parameters, decisions, goals and constraints all describe the content of a model, whereas a directive
specifies how a model should be solved. Directives are not required when building a model; however,
these are useful when you want to customize the behavior of a solver.

In Solver Foundation 3.1, the Directives tab has been changed so that you can change any directive
property. A complete list of Directive properties can be found by referencing the MSDN documentation
for Solver Foundation.

Solver Foundation 3.1 also provides support for third-party plug-in solvers in the Excel add-in. In order to
register a third-party solver for use with the Excel add-in,c reate a
[Link] file in the %ProgramFiles%\Microsoft Solver
Foundation\<verson>\MsfForExcel folder of the installation to register a particular solver for a specific
model type. A sample configuration file is given below. Be sure to change the Version number to match

15 © 2006-2011 Microsoft Corporation


the version number for your Solver Foundation installation, displayed in the upper right hand corner of
the Log pane.

<?xml version="1.0"?>
<configuration>
<configSections>
<section name="MsfConfig"
type="[Link], [Link]
dation, Version=[Link], Culture=neutral, PublicKeyToken=AFB4C8CE5FE12974"
allowLocation="true" allowDefinition="Everywhere" allowExeDefinition="MachineToAp
plication"
restartOnExternalChanges="true" requirePermission="true" />
</configSections>

<MsfConfig>
<MsfPluginSolvers>
<MsfPluginSolver name="solver3"
capability="LP"
assembly="[Link]"
solverclass="[Link]"
directiveclass="[Link]"
parameterclass="[Link]" />
<MsfPluginSolver name="solver4"
capability="MILP"
assembly="[Link]"
solverclass="[Link]"
directiveclass="[Link]"
parameterclass="[Link]" />
<MsfPluginSolver name="solver1" capability="LP" assembly="[Link]" solverclass
="[Link]"
directiveclass="[Link]" param
eterclass="[Link]"/>
<MsfPluginSolver name="solver2" capability="MILP" assembly="[Link]" solvercla
ss="[Link]"
directiveclass="[Link]" param
eterclass="[Link]"/>
</MsfPluginSolvers>
</MsfConfig>
</configuration>

If the solver was not registered correctly, an error dialog will be displayed when you launch Excel.
Otherwise, registered solvers will be displayed in the Directives dropdown. You can set their properties
the same way as with built-in solvers.

16 © 2006-2011 Microsoft Corporation


17 © 2006-2011 Microsoft Corporation
Checking and Solving the Model
The Solver Foundation ribbon tab includes many features to help build, solve, and analyze models.

 Model. Basic functionality for displaying, importing, exporting, and deploying models.
o Model. Hides or shows the modeling pane window.
o Import. Supports importing OML, MPS and QPS files. The add-in supports file sizes up to 10
MB. Larger files can be processed by the command-line tool MSFCLI, or by writing .NET
code to call Solver Foundation Services.
o Export. Save as MPS, QPS (when appropriate) or OML.
o Deploy. A model can be deployed to SharePoint (via OMLX format) or Visual Studio (via C#).
o Check. Performs syntax checking on the model. Results of this check will be displayed below
the model in the Model Validation text box within the modeling pane.
 Solve. The main runtime to invoke a solution.
o Solve. Runs the appropriate solver, and generates results in the ‘Solver Foundation Results’
sheet.
o (Solve) Next. Iterate through Constraint Programming problems that have multiple
solutions. Multiple solutions will be shown sequentially in the ‘Solver Foundation Results’
sheet.
o Stop. Interrupts the Check, Solve or Summary functions mid-stream.
 Summary. Generates a report overview plus any solver execution details.
 Settings. These options enable the user to fine tune what details are generated.
o Clear Log On Solve. The Log tab will clear after each Solve.
o Decisions. Display detailed Decision information when available.
o Directives. Display Directive related information.
o Infeasibility. Include solver specific sensitivity information.
o Sensitivity. Include solver-specific feasibility information when available.
o Solver Details. Include details such as solve time, algorithms used, etc.

Click on the icon in the lower-right hand corner to bring up additional settings:

18 © 2006-2011 Microsoft Corporation


The “Update Frequency” dropdown controls how frequently the Solver Foundation add-in writes output
to the Log window during a Solve operation.

A valid model can be solved at any time by simply pressing the Solve button. Solver Foundation
automatically generates results, and if you specify an output binding, any Excel valid action (graphing,
charting, etc.) can be used. The output is displayed in the “Solver Foundation Results” worksheet. You
can also view the Log tab to see additional details:

19 © 2006-2011 Microsoft Corporation


Solver Foundation for Excel provides a detailed summary for additional post optimality analysis. Click the
Summary button to initiate a report that includes an Overview, Solver Execution Details, and if available,
the Stochastic Measures and Sensitivity Details reports.

Sample Projects
The Solver Foundation installation includes several samples to help you get started. These samples
demonstrate a variety of solver and application domain types:

Area Domain Samples


Solver Foundation for Excel
XLSX Linear Programming Supply Chain Planning
XLSX Constraint Programming Job Machine Allocation
XLSX Quadratic Programming Quadratic Portfolio
XLSX Simulation Airline Allocation
XLSX Mixed Integer Programming Airline Allocation
XLSX Nonlinear Programming Shipping Route

20 © 2006-2011 Microsoft Corporation


XLSX Nonlinear Programming Misra1a
XLSX Special Ordered Sets (SOS) Purchase

These samples span classical problem domains in mathematical programming and operations research:
linear programming (LP), quadratic programming (QP), constraint programming (CP), nonlinear
programming (NLP) and stochastic programming (SP).

Appendix 1: Optimization Modeling Language (OML)


Solver Foundation includes an Optimization Modeling Language (OML) system, designed exclusively for
modeling and solving using the underlining Solver Foundation infrastructure. It is an algebraic modeling
language.

If you use the Automatic Editing Mode in the Modeling Pane, the comments may be removed from the
OML code. To work around this issue, use Annotation to add metadata to a parameter, decision,
constraint, or goal.

Please refer to the Solver Foundation OML Syntax Document for more information.

21 © 2006-2011 Microsoft Corporation


Appendix 2: OMLX File Format
This document defines an XML schema for extended OML model. The schema provides for information
suitable for editing, validating and solving the model with different data sources.

Root Element – Model


Every OMLX file must contain single model. A Model root element contains the entire model. The
namespace for OMLX is

<Model xmlns:xsi="[Link]
xmlns:xsd="[Link]
...
</Model>

Name Element
Name element contains the name of the model.

<Name>Supply Chain Planning</Name>

ModelText Element
ModelText element contains the entire OML model text.

<ModelText>Model[
Parameters[
Sets, Products, Factories, Areas, Promotions
],
...
]</ModelText>

DataBindings Element
DataBindings element contains information for binding to different type of data sources. DataBindings
element can contains 0 to n BindingSourceInfo element. Each BindingSourceInfo element contains
information for setting up input and output data binding when solving a model.

<DataBindings>
<BindingSourceInfo>
<Name>XML</Name>
...
</BindingSourceInfo>
<BindingSourceInfo>
<Name>SQL</Name>
...

22 © 2006-2011 Microsoft Corporation


</BindingSourceInfo>
</DataBindings>

BindingSourceInfo Element
In BindingSourceInfo element there are two metadata elements:

 Name element contains the name of the binding source. The name should be unique in
DataBindings collection.
 Connection element contains the connection information for the data source. For SQL Server it
will be connection string; For XML file it will be the filename; For SharePointSite it will be the Url
to the site collections.

There are two sections for individual Parameter/Decision bindings:

 ParameterBindings element contains input binding information for parameters in model.


ParameterBindings element can contain 0 to n InputBindingInfo each represent binding
information to a parameter.
 DecisionBindings element contains output binding information for decisions in model.
DecisionBindings element can contain 0 to n OutputBindingInfo each represent binding
information to a decision.

<BindingSourceInfo>
<Name>SQL</Name>
<Connection>Data Source=(local);Initial
Catalog=SupplyChainPlanning;Integrated Security=SSPI;</Connection>
<ParameterBindings>
<InputBindingInfo>
<Name>manufactureLoads</Name>
<TableName>manufactureLoads</TableName>
<ValueField>ManufactureLoads</ValueField>
<IndexFields>Product</IndexFields>
</InputBindingInfo>
...
</ParameterBindings>
<DecisionBindings>
<OutputBindingInfo>
<Name>Plan</Name>
<TableName>Plan</TableName>
<ValueField>value</ValueField>

<IndexFields>Products,Areas,Promotions,Factories</IndexFields>
</OutputBindingInfo>

23 © 2006-2011 Microsoft Corporation


...
</DecisionBindings>
</BindingSourceInfo>

InputBindingInfo Element
InputBidingInfo contains binding information to a parameter:

 Name element contains name of the parameter in model.


 TableName element contains name of the table data container from data source.
 ValueField element contains name of the value field in table.
 IndexFields element contains names of index fields separated by commons.

<InputBindingInfo>
<Name>manufactureLoads</Name>
<TableName>manufactureLoads</TableName>
<ValueField>ManufactureLoads</ValueField>
<IndexFields>Product</IndexFields>
</InputBindingInfo>

To define a binding for UniformDistributionParameter following elements can be used:

 Name element contains name of the uniform distribution parameter.


 TableName element contains name of the table data container from data source.
 LowerBoundField element contains field name for lower bound field.
 UpperBoundField element contains field name for upper bound field.
 IndexFields element contains names of index fields separated by commons.

<InputBindingInfo>
<Name>gasDemand</Name>
<TableName>gasDemand</TableName>
<LowerBoundField>LowerBound</LowerBoundField>
<UpperBoundField>UpperBound</UpperBoundField>
<IndexFields>country</IndexFields>
</InputBindingInfo>

To define a binding for NormalDistributionParameter following elements can be used:

 Name element contains name of the uniform distribution parameter.


 TableName element contains name of the table data container from data source.
 MeanField element contains field name for field contains mean value.
 VarianceField element contains field name for field contains variance value.

24 © 2006-2011 Microsoft Corporation


 IndexFields element contains names of index fields separated by commons.

<InputBindingInfo>
<Name>gasDemand</Name>
<TableName>gasDemand</TableName>
<MeanField>LowerBound</MeanField>
<VarianceField>UpperBound</VarianceField>
<IndexFields>country</IndexFields>
</InputBindingInfo>

OutputBindingInfo Element
OutputBindingInfo contains information for single decision binding:

 Name element contains name of the decision in model.


 TableName element contains name of the table data container which output data will write it
to.
 ValueField element contains name of the value field in table.
 IndexFields element contains names of index fields separated by commons.

<OutputBindingInfo>
<Name>TotalCost</Name>
<TableName>TotalCost</TableName>
<ValueField>Cost</ValueField>
<IndexFields>Products,Areas</IndexFields>
</OutputBindingInfo>

Directives Element
Directives element contains all directives will be used to solve the model. Directives element contains 0
to n directives. Each directive represent an instance can be created by SFS. There should be only one
instance per type can exist in directives collection.

Here is an example of Directives element:

<Directives>
<DirectiveInfo>
<TypeName>SimplexDirective</TypeName>
<Enabled>true</Enabled>
<Properties>
<DirectivePropertyInfo>
<Name>Algorithm</Name>
<Value xsi:type="xsd:int">2</Value>
</DirectivePropertyInfo>

25 © 2006-2011 Microsoft Corporation


<DirectivePropertyInfo>
<Name>Arithmetic</Name>
<Value xsi:type="xsd:int">2</Value>
</DirectivePropertyInfo>
<DirectivePropertyInfo>
<Name>Basis</Name>
<Value xsi:type="xsd:int">1</Value>
</DirectivePropertyInfo>
<DirectivePropertyInfo>
<Name>GetSensitivity</Name>
<Value xsi:type="xsd:boolean">true</Value>
</DirectivePropertyInfo>
<DirectivePropertyInfo>
<Name>IterationLimit</Name>
<Value xsi:type="xsd:int">200</Value>
</DirectivePropertyInfo>
<DirectivePropertyInfo>
<Name>MaximumGoalCount</Name>
<Value xsi:type="xsd:int">20</Value>
</DirectivePropertyInfo>
<DirectivePropertyInfo>
<Name>TimeLimit</Name>
<Value xsi:type="xsd:int">2000</Value>
</DirectivePropertyInfo>
</Properties>
</DirectiveInfo>
</Directives>

DirectiveInfo Element
DirectiveInfo element contains all information for a SFS directive object. DirectiveInfo element contains
following elements:

 TypeName element contains the type name of SFS directive object.


 Enabled element identify if the directive should be used or not.
 Properties element contains property values for the SFS directive object.

DirectivePropertyInfo Element
DirectivePropertyInfo contains name value pair for each directive object property. DirectivePropertyInfo
element contains following elements:

26 © 2006-2011 Microsoft Corporation


 Name element contains the name of the property.
 Value element contains the value of the property.

27 © 2006-2011 Microsoft Corporation

You might also like