The MOSEK Python API manual.
Version 5.0 (Revision 138).
Up :
'Documentation Help'
Next :
Contact information
Contents
Index
The MOSEK Python 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. Testing installation and Running examples
4.1. Microsoft Windows Platform
4.1.1. Running an example
4.2. Linux Platform
4.2.1. Executing a Python program
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. 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
5.8.4. Array objects
5.8.5. Typical problems using the Python API
6. Modelling
6.1. Linear optimization
6.1.1. Duality for linear optimization
6.1.1.1. A primal-dual feasible solution
6.1.1.2. An optimal solution
6.1.1.3. Primal infeasible problems
6.1.1.4. Dual infeasible problems
6.1.2. Primal and dual infeasible case
6.2. Linear network flow problems
6.3. Quadratic and quadratically constrained optimization
6.3.1. A general recommendation
6.3.2. Reformulating as a separable quadratic problem
6.4. Conic optimization
6.4.1. Duality for conic optimization
6.4.2. The dual of the dual
6.4.3. Infeasibility
6.4.4. Examples
6.4.4.1. Quadratic objective and constraints
6.4.4.2. Minimizing a sum of norms
6.4.4.3. Modelling polynomial terms using conic optimization
6.4.4.4. Further reading
6.4.5. Potential pitfalls in conic optimization
6.4.5.1. Non-attainment in the primal problem
6.4.5.2. Non-attainment in the dual problem
6.5. Recommendations
6.5.1. Avoid nearly infeasible models
6.6. Examples continued
6.6.1. The absolute value
6.6.2. The Markowitz portfolio model
6.6.2.1. Minimizing variance for a given return
6.6.2.2. Conic quadratic reformulation.
6.6.2.3. Transaction costs with market impact term
6.6.2.4. Further reading
7. The optimizers for continuous problems
7.1. How an optimizer works
7.1.1. Presolve
7.1.2. Dualizer
7.1.3. Scaling
7.1.4. Using multiple CPU's
7.2. Linear optimization
7.2.1. Optimizer selection
7.2.2. The interior-point optimizer
7.2.2.1. Basis identification
7.2.2.2. Interior-point termination criterion
7.2.3. The simplex based optimizer
7.2.3.1. Simplex termination criterion
7.2.3.2. Starting from an existing solution
7.2.3.3. Numerical difficulties in the simplex optimizers
7.2.4. The interior-point or the simplex optimizer?
7.2.5. The primal or the dual simplex variant?
7.3. Linear network optimization
7.3.1. Network flow problems
7.3.2. Embedded network problems
7.4. Conic optimization
7.4.1. The interior-point optimizer
7.4.1.1. Interior-point termination criteria
7.5. Nonlinear convex optimization
7.5.1. The interior-point optimizer
7.5.1.1. Interior-point termination criteria
7.6. Solving problems in parallel
7.6.1. Thread safety
7.6.2. The parallelized interior-point optimizer
7.6.3. The concurrent optimizer
7.6.3.1. Concurrent optimization through the API
7.6.4. A more flexible concurrent optimizer
8. The optimizer for mixed integer problems
8.1. Some notation
8.2. An important fact about integer optimization problems
8.3. How the integer optimizer works
8.3.1. Presolve
8.3.2. Heuristic
8.3.3. The optimization phase
8.4. Termination criterion
8.5. How to speed up the solution process
9. Analyzing infeasible problems
9.1. Example: Primal infeasibility
9.1.1. Locating the cause of primal infeasibility
9.1.2. Locating the cause of dual infeasibility
9.1.2.1. A cautious note
9.1.3. The infeasibility report
9.1.3.1. Example: Primal infeasibility
9.1.3.2. Example: Dual infeasibility
9.2. Theory concerning infeasible problems
9.2.1. Certificat of primal infeasibility
9.2.2. Certificat of dual infeasibility
10. Primal feasibility repair
10.1. The main idea
10.2. Feasibility repair in MOSEK
10.2.1. Usage of negative weights
10.2.2. Automatical naming
10.2.3. Feasibility repair using the API
10.2.4. An example
11. Sensitivity analysis
11.1. Introduction
11.2. Restrictions
11.3. References
11.4. Sensitivity analysis for linear problems
11.4.1. The optimal objective value function
11.4.1.1. Equality constraints
11.4.2. The basis type sensitivity analysis
11.4.3. The optimal partition type sensitivity analysis
11.4.4. Example: Sensitivity analysis
11.5. Sensitivity analysis from the MOSEK API
11.6. Sensitivity analysis with the command line tool
11.6.1. Sensitivity analysis specification file
11.6.2. Example: Sensitivity analysis from command line
11.6.3. Controlling log output
12. API developer guidelines
12.1. Turn on logging
12.2. Turn on data checking
12.3. Debugging an optimization task
12.4. Error handling
12.5. Check the problem status and solution status
12.6. Important API limitations
12.6.1. Thread safety
12.7. Bug reporting
13. API reference
13.1. API Functionality
13.1.1. Reading and writing data files.
13.1.2. Solutions.
13.1.3. Memory allocation and deallocation.
13.1.4. Changing problem specification.
13.1.5. Delete problem elements (variables,constraints,cones).
13.1.6. Add problem elements (variables,constraints,cones).
13.1.7. Inspect problem specification.
13.1.8. Conic constraints.
13.1.9. Bounds.
13.1.10. Output stream functions.
13.1.11. Objective function.
13.1.12. Inspect statistics from the optimizer.
13.1.13. Parameters (set/get).
13.1.14. Naming.
13.1.15. Preallocating space for problem data.
13.1.16. Integer variables.
13.1.17. Quadratic terms.
13.1.18. Diagnosing infeasibility.
13.1.19. Optimization.
13.1.20. Sensitivity analysis.
13.1.21. Testing data validity.
13.1.22. Solving with the basis.
13.1.23. Initialization of environment.
13.1.24. Change
A
.
13.2. Class
mosek.ArrayLengthException
13.3. Class
mosek.Env
13.3.1. Constructors
13.3.2. Attributes
13.3.3. Methods
13.4. Class
mosek.Error
13.4.1. Constructors
13.5. Class
mosek.Exception
13.5.1. Constructors
13.6. Class
mosek.Task
13.6.1. Constructors
13.6.2. Attributes
13.6.3. Methods
13.7. Class
mosek.Warning
13.7.1. Constructors
14. Parameter reference
14.1. Parameter groups
14.1.1. Logging parameters.
14.1.2. Basis identification parameters.
14.1.3. The Interior-point method parameters.
14.1.4. Simplex optimizer parameters.
14.1.5. Primal simplex optimizer parameters.
14.1.6. Dual simplex optimizer parameters.
14.1.7. Network simplex optimizer parameters.
14.1.8. Nonlinear convex method parameters.
14.1.9. The conic interior-point method parameters.
14.1.10. The mixed integer optimization parameters.
14.1.11. Presolve parameters.
14.1.12. Termination criterion parameters.
14.1.13. Progress call-back parameters.
14.1.14. Non-convex solver parameters.
14.1.15. Feasibility repair parameters.
14.1.16. Optimization system parameters.
14.1.17. Output information parameters.
14.1.18. Extra information about the optimization problem.
14.1.19. Overall solver parameters.
14.1.20. Behavior of the optimization task.
14.1.21. Data input/output parameters.
14.1.22. Solution input/output parameters.
14.1.23. Infeasibility report parameters.
14.1.24. License manager parameters.
14.1.25. Data check parameters.
14.2. Double parameters
14.3. Integer parameters
14.4. String parameter types
15. Response codes
16. Constants
16.1. Constraint or variable access modes
16.2. Basis identification
16.3. Bound keys
16.4. Specifies the branching direction.
16.5. Progress call-back codes
16.6. Types of convexity checks.
16.7. Compression types
16.8. Cone types
16.9. CPU type
16.10. Data format types
16.11. Double information items
16.12. Double values
16.13. Feasibility repair types
16.14. Integer information items.
16.15. Information item types
16.16. Input/output modes
16.17. Bound keys
16.18. Continuous mixed integer solution type
16.19. Integer restrictions
16.20. Mixed integer node selection types
16.21. MPS file format type
16.22. Message keys
16.23. Network detection method
16.24. Objective sense types
16.25. On/off
16.26. Optimizer types
16.27. Ordering strategies
16.28. Parameter type
16.29. Presolve method.
16.30. Problem data items
16.31. Problem types
16.32. Problem status keys
16.33. Interpretation of quadratic terms in MPS files
16.34. Response code type
16.35. Scaling type
16.36. Sensitivity types
16.37. Degeneracy strategies
16.38. Hot-start type employed by the simplex optimizer
16.39. Simplex selection strategy
16.40. Solution items
16.41. Solution status keys
16.42. Solution types
16.43. Solve primal or dual form
16.44. Status keys
16.45. Starting point types
16.46. Stream types
16.47. Integer values
16.48. Variable types
16.49. XML writer output mode
A. The MPS file format
A.1. The MPS file format
A.1.1. An example
A.1.2.
NAME
A.1.3.
OBJSENSE
(optional)
A.1.4.
OBJNAME
(optional)
A.1.5.
ROWS
A.1.6.
COLUMNS
A.1.7.
RHS
(optional)
A.1.8.
RANGES
(optional)
A.1.9.
QSECTION
(optional)
A.1.10.
BOUNDS
(optional)
A.1.11.
CSECTION
(optional)
A.1.12.
ENDATA
A.2. Integer variables
A.3. General limitations
A.4. Interpretation of the MPS format
A.5. The free MPS format
B. The LP file format
B.1. A warning
B.2. The LP file format
B.2.1. The sections
B.2.1.1. The objective
B.2.1.2. The constraints
B.2.1.3. Bounds
B.2.1.4. Variable types
B.2.1.5. Terminating section
B.2.1.6. An example
B.2.2. LP format peculiarities
B.2.2.1. Comments
B.2.2.2. Names
B.2.2.3. Variable bounds
B.2.2.4. MOSEK specific extensions to the LP format
B.2.3. The strict LP format
B.2.4. Formatting of an LP file
B.2.4.1. Speeding up file reading
B.2.4.2. Unnamed constraints
C. The OPF format
C.1. Intended use
C.2. The file format
C.2.1. Sections
C.2.2. Numbers
C.2.3. Names
C.3. Parameters section
C.4. Writing OPF files from MOSEK
C.5. Examples
C.5.1. Linear example
lo1.opf
C.5.2. Quadratic example
qo1.opf
C.5.3. Conic quadratic example
cqo1.opf
C.5.4. Mixed integer example
milo1.opf
D. The XML (OSiL) format
E. The ORD file format
E.1. An example
F. The solution file format
F.1. The basic and interior solution files
F.2. The integer solution file
Bibliography
Index
The MOSEK Python API manual.
Version 5.0 (Revision 138).
Up :
'Documentation Help'
Next :
Contact information
Contents
Index
Mon Sep 14 15:53:12 2009