In general, there is not a clear-cut winner between the primal and dual simplex algorithms. If performance is important in an application, it may pay to make tests of both methods to determine which function to use in the given setting. After a call to QSopt_primal, the status variable should be checked to determine the status of the solution. In the most common cases, either an optimal solution is found (indicated by a value of QS_LP_OPTIMAL ), or the problem is shown to be in infeasible (QS_LP_INFEASIBLE ), or the problem is shown to be unbounded (QS_LP_UNBOUNDED ). Optimization Status Codes gives a full list of the possible values for status . The QSset_param function can be used to select the pricing rule that is used in QSopt_primal. The appropriate value for the whichparam argument of QSset_param is given below.
 | Constant |  | Parameter |  | QS_PARAM_PRIMAL_PRICING |  | Primal Pricing |
The QSopt library has available four pricing rules for the primal simplex algorithm. The pricing rule can be specified in QSset_param by setting the newvalue argument to one of the values given below.
 | Constant |  | Rule |  | QS_PRICE_PDANTZIG |  | Primal Dantzig |  | QS_PRICE_PDEVEX |  | Primal Devex |  | QS_PRICE_PSTEEP |  | Primal steepest-edge |
See Parameter Setting for the Optimizer for more parameters associated with the optimization algorithm
|