The MOSEK .NET API manual.
Version 5.0 (Revision 138).
Up :
'Documentation Help'
Next :
Contact information
Contents
Index
The MOSEK .NET API manual.
Version 5.0 (Revision 138).
Contact information
License agreement
1. Changes and new features in MOSEK
1.1. File formats
1.2. Optimizers
1.3. API changes
1.4. License system
1.5. Other changes
1.6. Interfaces
1.7. Supported platforms
2. About this manual
3. Getting support and help
3.1. MOSEK documentation
3.2. Additional reading
4. API installation and compiling examples
4.1. Compiling and running the examples
4.2. Visual Studio projects
4.3. Using the interface DLL
4.4. Interactive use of MOSEK
4.5. Linux and Mono
5. Basic API tutorial
5.1. The basics
5.1.1. The environment and the task
5.1.2. A simple working example
5.1.2.1. Writing a problem to a file
5.1.2.2. Inputting and outputting problem data
5.1.2.3. Setting parameters
5.1.3. Compiling and running examples
5.2. Linear optimization
5.2.1. Example: lo1
5.2.1.1. Source code
5.2.1.2. The same example in Visual Basic.NET
5.2.1.3. Example code comments
5.2.2. An alternative implementation: lo2
5.3. Quadratic optimization
5.3.1. Example: Quadratic objective
5.3.1.1. Source code
5.3.1.2. Example code comments
5.3.2. Example: Quadratic constraints
5.3.2.1. Source code
5.4. Conic optimization
5.4.1. Example: cqo1
5.4.1.1. Source code
5.4.1.2. Source code comments
5.5. Integer optimization
5.5.1. Example: milo1
5.5.1.1. Source code
5.5.1.2. Code comments
5.5.2. Specifying an initial solution
5.5.3. Example: Specifying an integer solution
5.6. Problem modification and reoptimization
5.6.1. A production planning problem
5.6.2. Changing the
A
matrix
5.6.3. Appending variables
5.6.4. Reoptimization
5.6.5. Appending constraints
5.7. Efficiency considerations
5.7.1. API overhead
5.8. Conventions employed in the API
5.8.1. Naming conventions for arguments
5.8.1.1. Bounds
5.8.2. Vector formats
5.8.3. Matrix formats
5.8.3.1. Unordered triplets
5.8.3.2. Row or column ordered sparse matrix
5.8.3.3. Row ordered sparse matrix
6. Advanced API tutorial
6.1. Solving linear systems involving the basis matrix
6.1.1. Identifying the basis
6.1.2. An example
6.1.3. Solving arbitrary linear systems
7. Modelling
7.1. Linear optimization
7.1.1. Duality for linear optimization
7.1.1.1. A primal-dual feasible solution
7.1.1.2. An optimal solution
7.1.1.3. Primal infeasible problems
7.1.1.4. Dual infeasible problems
7.1.2. Primal and dual infeasible case
7.2. Linear network flow problems
7.3. Quadratic and quadratically constrained optimization
7.3.1. A general recommendation
7.3.2. Reformulating as a separable quadratic problem
7.4. Conic optimization
7.4.1. Duality for conic optimization
7.4.2. The dual of the dual
7.4.3. Infeasibility
7.4.4. Examples
7.4.4.1. Quadratic objective and constraints
7.4.4.2. Minimizing a sum of norms
7.4.4.3. Modelling polynomial terms using conic optimization
7.4.4.4. Further reading
7.4.5. Potential pitfalls in conic optimization
7.4.5.1. Non-attainment in the primal problem
7.4.5.2. Non-attainment in the dual problem
7.5. Recommendations
7.5.1. Avoid nearly infeasible models
7.6. Examples continued
7.6.1. The absolute value
7.6.2. The Markowitz portfolio model
7.6.2.1. Minimizing variance for a given return
7.6.2.2. Conic quadratic reformulation.
7.6.2.3. Transaction costs with market impact term
7.6.2.4. Further reading
8. The optimizers for continuous problems
8.1. How an optimizer works
8.1.1. Presolve
8.1.2. Dualizer
8.1.3. Scaling
8.1.4. Using multiple CPU's
8.2. Linear optimization
8.2.1. Optimizer selection
8.2.2. The interior-point optimizer
8.2.2.1. Basis identification
8.2.2.2. Interior-point termination criterion
8.2.3. The simplex based optimizer
8.2.3.1. Simplex termination criterion
8.2.3.2. Starting from an existing solution
8.2.3.3. Numerical difficulties in the simplex optimizers
8.2.4. The interior-point or the simplex optimizer?
8.2.5. The primal or the dual simplex variant?
8.3. Linear network optimization
8.3.1. Network flow problems
8.3.2. Embedded network problems
8.4. Conic optimization
8.4.1. The interior-point optimizer
8.4.1.1. Interior-point termination criteria
8.5. Nonlinear convex optimization
8.5.1. The interior-point optimizer
8.5.1.1. Interior-point termination criteria
8.6. Solving problems in parallel
8.6.1. Thread safety
8.6.2. The parallelized interior-point optimizer
8.6.3. The concurrent optimizer
8.6.3.1. Concurrent optimization through the API
8.6.4. A more flexible concurrent optimizer
9. The optimizer for mixed integer problems
9.1. Some notation
9.2. An important fact about integer optimization problems
9.3. How the integer optimizer works
9.3.1. Presolve
9.3.2. Heuristic
9.3.3. The optimization phase
9.4. Termination criterion
9.5. How to speed up the solution process
10. Analyzing infeasible problems
10.1. Example: Primal infeasibility
10.1.1. Locating the cause of primal infeasibility
10.1.2. Locating the cause of dual infeasibility
10.1.2.1. A cautious note
10.1.3. The infeasibility report
10.1.3.1. Example: Primal infeasibility
10.1.3.2. Example: Dual infeasibility
10.2. Theory concerning infeasible problems
10.2.1. Certificat of primal infeasibility
10.2.2. Certificat of dual infeasibility
11. Primal feasibility repair
11.1. The main idea
11.2. Feasibility repair in MOSEK
11.2.1. Usage of negative weights
11.2.2. Automatical naming
11.2.3. Feasibility repair using the API
11.2.4. An example
12. Sensitivity analysis
12.1. Introduction
12.2. Restrictions
12.3. References
12.4. Sensitivity analysis for linear problems
12.4.1. The optimal objective value function
12.4.1.1. Equality constraints
12.4.2. The basis type sensitivity analysis
12.4.3. The optimal partition type sensitivity analysis
12.4.4. Example: Sensitivity analysis
12.5. Sensitivity analysis from the MOSEK API
12.6. Sensitivity analysis with the command line tool
12.6.1. Sensitivity analysis specification file
12.6.2. Example: Sensitivity analysis from command line
12.6.3. Controlling log output
13. API developer guidelines
13.1. Turn on logging
13.2. Turn on data checking
13.3. Debugging an optimization task
13.4. Error handling
13.5. Check the problem status and solution status
13.6. Important API limitations
13.6.1. Thread safety
13.7. Bug reporting
14. API reference
14.1. API Functionality
14.1.1. Reading and writing data files.
14.1.2. Solutions.
14.1.3. Memory allocation and deallocation.
14.1.4. Changing problem specification.
14.1.5. Delete problem elements (variables,constraints,cones).
14.1.6. Add problem elements (variables,constraints,cones).
14.1.7. Inspect problem specification.
14.1.8. Conic constraints.
14.1.9. Bounds.
14.1.10. Error handling.
14.1.11. Output stream functions.
14.1.12. Objective function.
14.1.13. Inspect statistics from the optimizer.
14.1.14. Parameters (set/get).
14.1.15. Naming.
14.1.16. Preallocating space for problem data.
14.1.17. Integer variables.
14.1.18. Quadratic terms.
14.1.19. Diagnosing infeasibility.
14.1.20. Optimization.
14.1.21. Sensitivity analysis.
14.1.22. Testing data validity.
14.1.23. Solving with the basis.
14.1.24. Initialization of environment.
14.1.25. Change
A
.
14.2. Class
mosek.ArrayLengthException
14.3. Class
mosek.Callback
14.4. Class
mosek.Env
14.4.1. Constructors
14.4.2. Attributes
14.4.3. Methods
14.5. Class
mosek.Error
14.5.1. Constructors
14.6. Class
mosek.Exception
14.6.1. Constructors
14.7. Class
mosek.Exit
14.7.1. Constructors
14.7.2. Methods
14.8. Class
mosek.Progress
14.8.1. Constructors
14.8.2. Methods
14.9. Class
mosek.Stream
14.9.1. Constructors
14.9.2. Methods
14.10. Class
mosek.Task
14.10.1. Constructors
14.10.2. Attributes
14.10.3. Methods
14.11. Class
mosek.Warning
14.11.1. Constructors
15. Parameter reference
15.1. Parameter groups
15.1.1. Logging parameters.
15.1.2. Basis identification parameters.
15.1.3. The Interior-point method parameters.
15.1.4. Simplex optimizer parameters.
15.1.5. Primal simplex optimizer parameters.
15.1.6. Dual simplex optimizer parameters.
15.1.7. Network simplex optimizer parameters.
15.1.8. Nonlinear convex method parameters.
15.1.9. The conic interior-point method parameters.
15.1.10. The mixed integer optimization parameters.
15.1.11. Presolve parameters.
15.1.12. Termination criterion parameters.
15.1.13. Progress call-back parameters.
15.1.14. Non-convex solver parameters.
15.1.15. Feasibility repair parameters.
15.1.16. Optimization system parameters.
15.1.17. Output information parameters.
15.1.18. Extra information about the optimization problem.
15.1.19. Overall solver parameters.
15.1.20. Behavior of the optimization task.
15.1.21. Data input/output parameters.
15.1.22. Solution input/output parameters.
15.1.23. Infeasibility report parameters.
15.1.24. License manager parameters.
15.1.25. Data check parameters.
15.2. Double parameters
15.3. Integer parameters
15.4. String parameter types
16. Response codes
17. Constants
17.1. Constraint or variable access modes
17.2. Basis identification
17.3. Bound keys
17.4. Specifies the branching direction.
17.5. Progress call-back codes
17.6. Types of convexity checks.
17.7. Compression types
17.8. Cone types
17.9. CPU type
17.10. Data format types
17.11. Double information items
17.12. Double values
17.13. Feasibility repair types
17.14. Integer information items.
17.15. Information item types
17.16. Input/output modes
17.17. Bound keys
17.18. Continuous mixed integer solution type
17.19. Integer restrictions
17.20. Mixed integer node selection types
17.21. MPS file format type
17.22. Message keys
17.23. Network detection method
17.24. Objective sense types
17.25. On/off
17.26. Optimizer types
17.27. Ordering strategies
17.28. Parameter type
17.29. Presolve method.
17.30. Problem data items
17.31. Problem types
17.32. Problem status keys
17.33. Interpretation of quadratic terms in MPS files
17.34. Response code type
17.35. Scaling type
17.36. Sensitivity types
17.37. Degeneracy strategies
17.38. Hot-start type employed by the simplex optimizer
17.39. Simplex selection strategy
17.40. Solution items
17.41. Solution status keys
17.42. Solution types
17.43. Solve primal or dual form
17.44. Status keys
17.45. Starting point types
17.46. Stream types
17.47. Integer values
17.48. Variable types
17.49. XML writer output mode
A. Troubleshooting
B. The MPS file format
B.1. The MPS file format
B.1.1. An example
B.1.2.
NAME
B.1.3.
OBJSENSE
(optional)
B.1.4.
OBJNAME
(optional)
B.1.5.
ROWS
B.1.6.
COLUMNS
B.1.7.
RHS
(optional)
B.1.8.
RANGES
(optional)
B.1.9.
QSECTION
(optional)
B.1.10.
BOUNDS
(optional)
B.1.11.
CSECTION
(optional)
B.1.12.
ENDATA
B.2. Integer variables
B.3. General limitations
B.4. Interpretation of the MPS format
B.5. The free MPS format
C. The LP file format
C.1. A warning
C.2. The LP file format
C.2.1. The sections
C.2.1.1. The objective
C.2.1.2. The constraints
C.2.1.3. Bounds
C.2.1.4. Variable types
C.2.1.5. Terminating section
C.2.1.6. An example
C.2.2. LP format peculiarities
C.2.2.1. Comments
C.2.2.2. Names
C.2.2.3. Variable bounds
C.2.2.4. MOSEK specific extensions to the LP format
C.2.3. The strict LP format
C.2.4. Formatting of an LP file
C.2.4.1. Speeding up file reading
C.2.4.2. Unnamed constraints
D. The OPF format
D.1. Intended use
D.2. The file format
D.2.1. Sections
D.2.2. Numbers
D.2.3. Names
D.3. Parameters section
D.4. Writing OPF files from MOSEK
D.5. Examples
D.5.1. Linear example
lo1.opf
D.5.2. Quadratic example
qo1.opf
D.5.3. Conic quadratic example
cqo1.opf
D.5.4. Mixed integer example
milo1.opf
E. The XML (OSiL) format
F. The ORD file format
F.1. An example
G. The solution file format
G.1. The basic and interior solution files
G.2. The integer solution file
H. Microsoft solver foundation integration
H.1. Calling MOSEK from MFS
Bibliography
Index
The MOSEK .NET API manual.
Version 5.0 (Revision 138).
Up :
'Documentation Help'
Next :
Contact information
Contents
Index
Mon Sep 14 15:46:06 2009