SimplexSolver Class

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

Defines a branch-and-bound search for optimizing mixed integer problems.

Inheritance Hierarchy

System.Object
  Microsoft.SolverFoundation.Services.RowVariableModel
    Microsoft.SolverFoundation.Services.LinearModel
      Microsoft.SolverFoundation.Solvers.SimplexSolver

Namespace:  Microsoft.SolverFoundation.Solvers
Assembly:  Microsoft.Solver.Foundation (in Microsoft.Solver.Foundation.dll)

Syntax

'Declaration
Public Class SimplexSolver _
    Inherits LinearModel _
    Implements ILinearSolution, ISolverSolution, ILinearSimplexStatistics, ILogSource,  _
    ILinearSolver, ISolver, ILinearModel, IReportProvider
public class SimplexSolver : LinearModel, 
    ILinearSolution, ISolverSolution, ILinearSimplexStatistics, ILogSource, ILinearSolver, 
    ISolver, ILinearModel, IReportProvider
public ref class SimplexSolver : public LinearModel, 
    ILinearSolution, ISolverSolution, ILinearSimplexStatistics, ILogSource, ILinearSolver, 
    ISolver, ILinearModel, IReportProvider
type SimplexSolver =  
    class
        inherit LinearModel
        interface ILinearSolution
        interface ISolverSolution
        interface ILinearSimplexStatistics
        interface ILogSource
        interface ILinearSolver
        interface ISolver
        interface ILinearModel
        interface IReportProvider
    end
public class SimplexSolver extends LinearModel implements ILinearSolution, ISolverSolution, ILinearSimplexStatistics, ILogSource, ILinearSolver, ISolver, ILinearModel, IReportProvider

The SimplexSolver type exposes the following members.

Constructors

  Name Description
Public method SimplexSolver() Initializes a new instance of the SimplexSolver class.
Public method SimplexSolver(IEqualityComparer<Object>) Initializes a new instance of the SimplexSolver class using the specified comparer.
Public method SimplexSolver(ISolverEnvironment) Initializes a new instance of the SimplexSolver class.

Top

Properties

  Name Description
Public property AlgorithmUsed Gets the type of algorithm that is used by a solver.
Public property BranchCount Gets the number of branches performed when the branch-and-bound algorithm is applied to a mixed integer linear problem.
Public property CoefficientCount Gets the number of non-zero coefficients in a linear model. (Inherited from LinearModel.)
Public property CostingUsedDouble Gets the costing used for double arithmetic.
Public property CostingUsedExact Gets the costing used for exact arithmetic.
Public property FactorCount Gets the number of basis matrix LU factorizations performed during a solve attempt.
Public property FactorCountDouble Gets the number of basis matrix LU factorizations performed for double arithmetic.
Public property FactorCountExact Gets the number of basis matrix LU factorizations performed for exact arithmetic.
Public property Gap Gets the difference between an integer solution and a relaxed solution.
Public property GoalCount Gets the number of goals in a linear model. (Inherited from LinearModel.)
Public property Goals Gets the goal collection of a linear model. (Inherited from LinearModel.)
Public property Indices Gets the collection of row and variable indexes for a model. (Inherited from RowVariableModel.)
Public property InnerIndexCount Gets the number of user and row variables used internally when a linear model is being solved.
Public property InnerIntegerIndexCount Gets the number of integer user and row variables used internally when a linear model is being solved.
Public property InnerRowCount Gets the number of rows used internally when a linear model is being solved.
Public property InnerSlackCount Gets the number of row variables used internally when a linear model is being solved.
Public property IntegerIndexCount Gets the number of integer variables in a model. (Inherited from RowVariableModel.)
Public property IsMipModel Gets a value that indicates whether a model is a mixed integer programming (MIP) model. (Inherited from RowVariableModel.)
Public property IsQuadraticModel Gets a value that indicates whether a model has a quadratic term on the objective function. (Inherited from LinearModel.)
Public property IsSpecialOrderedSet Gets a value that indicates whether a linear model is a special ordered set. (Inherited from LinearModel.)
Public property KeyComparer Gets the object that is used to compare keys for rows or variables. (Inherited from RowVariableModel.)
Public property KeyCount Gets the number of keys that are in a model. (Inherited from RowVariableModel.)
Public property Keys Gets the variable key and row key collection. (Inherited from RowVariableModel.)
Public property LpResult Gets the result of solving a linear programming (LP) relaxation.
Public property MipBestBound Gets the best result from the mixed integer programming solver (MIP) solver.
Public property MipResult Gets a result of solving a model after considering integrality conditions.
Public property PivotCount Gets the number of simplex pivots performed during a solve attempt.
Public property PivotCountDegenerate Gets the number of degenerated pivots performed during a solve attempt.
Public property PivotCountDouble Gets the number of pivots performed for double arithmetic.
Public property PivotCountDoublePhaseOne Gets the number of phase one pivots performed for double arithmetic.
Public property PivotCountDoublePhaseTwo Gets the number of phase two pivots performed for double arithmetic.
Public property PivotCountExact Gets the number of pivots performed for exact arithmetic.
Public property PivotCountExactPhaseOne Gets the number of phase one pivots performed for exact arithmetic.
Public property PivotCountExactPhaseTwo Gets the number of phase two pivots performed for exact arithmetic.
Public property Result Gets the result of a solve attempt.
Public property RowCount Gets the number of rows in a model. (Inherited from RowVariableModel.)
Public property RowIndices Gets the collection of row indexes of a linear model. (Inherited from LinearModel.)
Public property RowKeys Gets the collection of row keys. (Inherited from RowVariableModel.)
Public property SolutionQuality Gets the quality level of a solution.
Public property SolvedGoalCount Gets the number of goals being solved.
Public property UseDouble Gets a value that indicates whether a solve attempt is instructed to use double arithmetic.
Public property UseExact Gets a value that indicates whether a solve attempt is instructed to use exact arithmetic.
Public property VariableCount Gets the number of variables in a model. (Inherited from RowVariableModel.)
Public property VariableIndices Gets the collection of variable indexes. (Inherited from RowVariableModel.)
Public property VariableKeys Gets the collection of variable keys. (Inherited from RowVariableModel.)

Top

Methods

  Name Description
Public method AddGoal Creates an ILinearGoal object and adds it to the goal list in a model. (Inherited from LinearModel.)
Public method AddListener Adds a tracing listener for solve attempts..
Public method AddRow(Object, Int32%) Adds a row to a linear model. (Inherited from LinearModel.)
Public method AddRow(Object, SpecialOrderedSetType, Int32%) Adds a reference row for a special ordered set to a linear model. (Inherited from LinearModel.)
Public method AddVariable Adds a user variable to a model. (Inherited from RowVariableModel.)
Public method ClearGoals Clears all the goals in a linear model. (Inherited from LinearModel.)
Public method Equals Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected method Finalize Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method GetBasic Returns a value that indicates whether a variable is a basic variable. (Inherited from LinearModel.)
Public method GetBounds Returns the bounds for a variable. (Inherited from RowVariableModel.)
Public method GetCoefficient(Int32, Int32) Returns the coefficient of the A matrix in a linear model. (Inherited from LinearModel.)
Public method GetCoefficient(Int32, Int32, Int32) Returns the coefficient of the Q matrix on the objective row. (Inherited from LinearModel.)
Public method GetGoalFromIndex Returns a goal entry if the row index is associated with a goal. (Inherited from LinearModel.)
Public method GetHashCode Serves as a hash function for a particular type. (Inherited from Object.)
Public method GetIgnoreBounds Returns a value that indicates whether the bounds of a variable are ignored. (Inherited from RowVariableModel.)
Public method GetIndexFromKey Returns the index that is associated with a specified key. (Inherited from RowVariableModel.)
Public method GetIntegrality Returns a value that indicates whether a variable is an integer variable. (Inherited from RowVariableModel.)
Public method GetKeyFromIndex Returns the key that is associated with the specified variable index. (Inherited from RowVariableModel.)
Public method GetProperty Returns the value of a specified property. (Overrides RowVariableModel.GetProperty(String, Int32).)
Public method GetReport(LinearSolverReportType) Gets a sensitivity report associated with a solve attempt.
Public method GetReport(SolverContext, Solution, SolutionMapping) Gets a report associated with a solve attempt.
Public method GetRowEntries Returns the collection of non-zero variable entries. (Inherited from LinearModel.)
Public method GetRowEntryCount Returns the number of non-zero coefficients for the given row index. (Inherited from LinearModel.)
Public method GetRowQuadraticEntries Returns a collection of non-zero variable entries on a quadratic row. (Inherited from LinearModel.)
Public method GetSolutionValue Returns the objective value of a goal.
Public method GetSolvedGoal Returns the information that is associated with a solved goal.
Public method GetSpecialOrderedSetTypeRowIndexes Returns a list of rows for a special ordered set. (Inherited from LinearModel.)
Public method GetType Gets the Type of the current instance. (Inherited from Object.)
Public method GetValue Returns the value that is associated with the specified variable index. (Inherited from RowVariableModel.)
Public method GetValueState Returns the value state for a variable. (Inherited from LinearModel.)
Public method GetVariableEntries Returns a collection of non-zero column entries. (Inherited from LinearModel.)
Public method GetVariableEntryCount Returns the number of non-zero coefficients for a given column variable index. (Inherited from LinearModel.)
Protected method InitModel Allocates data structures for a new model. (Overrides LinearModel.InitModel(IEqualityComparer<Object>, Int32, Int32, Int32).)
Public method IsGoal(Int32) Returns a value that indicates whether a row identifier is a goal row. (Inherited from LinearModel.)
Public method IsGoal(Int32, ILinearGoal%) Returns a value that indicates whether a row identifier is a goal row. (Inherited from LinearModel.)
Public method IsQuadraticVariable Returns a value that indicates whether a variable is in any quadratic row. (Inherited from LinearModel.)
Public method IsRow Returns a value that indicates whether a variable index corresponds to a row. (Inherited from RowVariableModel.)
Public method LoadLinearModel Loads the information from one linear model into another model. (Inherited from LinearModel.)
Protected method MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Public method Preallocate Allocates data structures for a new linear model. (Inherited from LinearModel.)
Public method RemoveGoal Removes a goal row. (Inherited from LinearModel.)
Public method RemoveListener Removes a tracing listener.
Public method SetBasic Sets the basic status for a variable. (Inherited from LinearModel.)
Public method SetBounds Sets the bounds for a row. (Inherited from RowVariableModel.)
Public method SetCoefficient(Int32, Int32, Rational) Sets the coefficient of the A matrix in a linear model. (Inherited from LinearModel.)
Public method SetCoefficient(Int32, Rational, Int32, Int32) Sets the coefficient of the Q matrix on the objective row. (Inherited from LinearModel.)
Public method SetIgnoreBounds Specifies whether the bounds of a variable should be respected or ignored during a solve attempt. (Inherited from RowVariableModel.)
Public method SetIntegrality Specifies whether a variable is an integer variable. (Inherited from RowVariableModel.)
Public method SetLowerBound Sets the lower bound of a variable. (Inherited from RowVariableModel.)
Public method SetProperty Sets the value of a property. (Overrides RowVariableModel.SetProperty(String, Int32, Object).)
Public method SetUpperBound Sets the upper bound of a variable. (Inherited from RowVariableModel.)
Public method SetValue Sets the value for the specified variable index. (Inherited from RowVariableModel.)
Public method Shutdown Stops a solver instance.
Public method Solve(ISolverParameters) Runs a solver using the specified solver parameters.
Public method Solve(array<SimplexSolverParams[]) Runs a solver using one thread for each SimplexSolverParams object.
Public method SolveRelaxation Solves a relaxation problem.
Public method ToString Returns a string that represents the current object. (Inherited from Object.)
Public method TryGetIndexFromKey Attempts to return the variable index that is associated with the specified key. (Inherited from RowVariableModel.)

Top

Fields

  Name Description
Protected field m_cvidBasic Represents the number of variables that are marked as basic. (Inherited from LinearModel.)
Protected field m_cvidInt Represents the number of integer variables. (Inherited from RowVariableModel.)
Protected field m_mpkeyvid Represents the mapping from key to variable index. (Inherited from RowVariableModel.)
Protected field m_qpRowVar The goal variable that has the QP form. (Inherited from LinearModel.)

Top

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

See Also

Reference

Microsoft.SolverFoundation.Solvers Namespace