Sensitivity analysis in linear programming models; Generating a MOSEK sensitivity analysis report
Applies to: Remsoft system all versions
Date: 05/15/2008
One very useful characteristic of linear programming (LP) analysis is the provision of sensitivity information about the LP model (i.e., how changes in model inputs affect outcomes). Two examples of this type of information are shadow (dual) prices and reduced costs, which indicate the marginal value of constraints and decision variables, respectively. The Remsoft system provides access to this information in the form of data files: shadow prices are stored in the shadow file, and reduced costs are stored in the choices file (the database of decision variables).
In addition, most solver software applications are capable of generating more detailed sensitivity reports. The purpose of this tech tip is to describe how to configure MOSEK to produce a sensitivity report that computes the interval over which variables may change without altering the optimal basis.
MOSEK utilizes a parameter (PAR) file to set switches that affect its behavior when it runs. Within the Remsoft system, MOSEK runtime parameters are set via the command line in the model batch file that is created whenever you generate and solve a matrix.
To configure MOSEK to generate a sensitivity report, first create a file named mosek.par located in the same folder as the model.
Next, open the mosek.par file and add the following command:
MSK_IPAR_SENSITIVITY_ALL MSK_ON
This will prompt MOSEK to create a sensitivity report anytime that it solves a matrix. The sensitivity report file name is the same as your model with a .SEN extension (e.g., MyModel.pri will create a MyModel.sen report file). The report is text, so you can open it directly in Remsoft editor to view it.
The MOSEK sensitivity report includes left and right ranges for both bounds on constraints and objective coefficients. It can be a little tricky to interpret the sensitivity report.
For a more detailed discussion of the MOSEK sensitivity analysis please refer to the MOSEK (version 5) optimization tools manual, section 15. Sensitivity analysis.