The MOSEK Java API manual.
Version 6.0 (Revision 135).
Up :
'Documentation Help'
Next :
Contact information
Contents
Index
The MOSEK Java API manual.
Version 6.0 (Revision 135).
Contact information
License agreement
1. Changes and new features in MOSEK
1.1. Compilers used to build MOSEK
1.2. General changes
1.3. Optimizers
1.3.1. Interior point optimizer
1.3.2. The simplex optimizers
1.3.3. Mixed-integer optimizer
1.4. API changes
1.5. License system
1.6. Other changes
1.7. Interfaces
1.8. Platform changes
2. About this manual
3. Getting support and help
3.1. MOSEK documentation
3.2. Additional reading
4. Testing installation and compiling examples
4.1. Microsoft Windows Platform
4.1.1. Compiling and executing a program
4.1.1.1. Compiling with Microsoft NMake
4.1.2. Common problems
4.2. Linux Platform
4.2.1. Setting
PATH
and
CLASSPATH
4.2.2. Compiling and executing a program
4.2.2.1. Compiling examples using GMake
4.2.3. Common problems
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. Linear optimization example: lo1
5.2.1.1. Solving the problem
5.2.1.2. Source code for lo1
5.2.2. Row-wise input
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.9. The license system
5.9.1. Waiting for a free license
6. Advanced API tutorial
6.1. Linear network flow problems
6.1.1. A linear network flow problem example
6.1.1.1. Source code
6.1.1.2. Example code comments
6.2. Embedded network flow problems
6.2.1. Example: Exploit embedded network flow structure in the simplex optimizer
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. Quadratic and quadratically constrained optimization
7.2.1. A general recommendation
7.2.2. Reformulating as a separable quadratic problem
7.3. Conic optimization
7.3.1. Duality for conic optimization
7.3.2. Infeasibility
7.3.3. Examples
7.3.3.1. Quadratic objective and constraints
7.3.3.2. Minimizing a sum of norms
7.3.3.3. Modelling polynomial terms using conic optimization
7.3.3.4. Optimization with rational polynomials
7.3.3.5. Convex increasing power functions
7.3.3.6. Decreasing power functions
7.3.3.7. Minimizing general polynomials
7.3.3.8. Further reading
7.3.4. Potential pitfalls in conic optimization
7.3.4.1. Non-attainment in the primal problem
7.3.4.2. Non-attainment in the dual problem
7.4. Recommendations
7.4.1. Avoid near infeasible models
7.5. Examples continued
7.5.1. The absolute value
7.5.2. The Markowitz portfolio model
7.5.2.1. Minimizing variance for a given return
7.5.2.2. Conic quadratic reformulation
7.5.2.3. Transaction costs with market impact term
7.5.2.4. Further reading
8. The optimizers for continuous problems
8.1. How an optimizer works
8.1.1. Presolve
8.1.1.1. Eliminator
8.1.1.2. Linear dependency checker
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. Interior-point termination criterion
8.2.2.2. Basis identification
8.2.2.3. The interior-point log
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. The convexity requirement
8.5.1.2. The differentiabilty requirement
8.5.1.3. 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
8.7. Understanding solution quality
8.7.1. The solution summary
8.7.1.1. The optimal case
8.7.1.2. The primal infeasible case
8.7.2. Retrieving solution quality information with the API
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
9.6. Understanding solution quality
9.6.1. Solutionsummary
9.6.2. Retrieving solution quality information with the API
10. The analyzers
10.1. The problem analyzer
10.1.1. General characteristics
10.1.2. Objective
10.1.3. Linear constraints
10.1.4. Constraint and variable bounds
10.1.5. Quadratic constraints
10.1.6. Conic constraints
10.2. Analyzing infeasible problems
10.2.1. Example: Primal infeasibility
10.2.2. Locating the cause of primal infeasibility
10.2.3. Locating the cause of dual infeasibility
10.2.3.1. A cautious note
10.2.4. The infeasibility report
10.2.4.1. Example: Primal infeasibility
10.2.4.2. Example: Dual infeasibility
10.2.5. Theory concerning infeasible problems
10.2.6. The certificate of primal infeasibility
10.2.7. The certificate 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. Usage guidelines
13.1. Verifying the results
13.1.1. Verifying primal feasibility
13.1.2. Verifying optimality
13.2. Turn on logging
13.3. Turn on data checking
13.4. Debugging an optimization task
13.5. Important API limitations
13.5.1. Thread safety
13.6. Bug reporting
14. API reference
14.1. API Functionality
14.1.1. Analyzing the problem and associated data
14.1.2. Reading and writing data files
14.1.3. Solutions
14.1.4. Memory allocation and deallocation
14.1.5. Changing problem specification
14.1.6. Delete problem elements (variables,constraints,cones)
14.1.7. Add problem elements (variables,constraints,cones)
14.1.8. Problem inspection
14.1.9. Conic constraints
14.1.10. Bounds
14.1.11. Output stream functions
14.1.12. Objective function
14.1.13. Optimizer statistics
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. Network optimization
14.1.22. Sensitivity analysis
14.1.23. Testing data validity
14.1.24. Solving with the basis
14.1.25. Initialization of environment
14.1.26. Change
A
14.2. Class
mosek.ArrayLengthException
14.3. Class
mosek.Callback
14.4. Class
mosek.Env
14.4.1. Constructors
14.4.2. Methods
14.5. Class
mosek.Error
14.5.1. Constructors
14.6. Class
mosek.Exception
14.6.1. Constructors
14.7. Class
mosek.Progress
14.7.1. Constructors
14.7.2. Methods
14.8. Class
mosek.Stream
14.8.1. Constructors
14.8.2. Methods
14.9. Class
mosek.Task
14.9.1. Constructors
14.9.2. Attributes
14.9.3. Methods
14.10. Class
mosek.Warning
14.10.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. Analysis parameters.
15.1.23. Solution input/output parameters.
15.1.24. Infeasibility report parameters.
15.1.25. License manager parameters.
15.1.26. Data check parameters.
15.1.27. Debugging 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. Function opcode
17.3. Function operand type
17.4. Basis identification
17.5. Bound keys
17.6. Specifies the branching direction.
17.7. Progress call-back codes
17.8. Types of convexity checks.
17.9. Compression types
17.10. Cone types
17.11. CPU type
17.12. Data format types
17.13. Double information items
17.14. Feasibility repair types
17.15. License feature
17.16. Integer information items.
17.17. Information item types
17.18. Input/output modes
17.19. Language selection constants
17.20. Long integer information items.
17.21. Mark
17.22. Continuous mixed-integer solution type
17.23. Integer restrictions
17.24. Mixed-integer node selection types
17.25. MPS file format type
17.26. Message keys
17.27. Network detection method
17.28. Objective sense types
17.29. On/off
17.30. Optimizer types
17.31. Ordering strategies
17.32. Parameter type
17.33. Presolve method.
17.34. Problem data items
17.35. Problem types
17.36. Problem status keys
17.37. Interpretation of quadratic terms in MPS files
17.38. Response code type
17.39. Scaling type
17.40. Scaling type
17.41. Sensitivity types
17.42. Degeneracy strategies
17.43. Exploit duplicate columns.
17.44. Hot-start type employed by the simplex optimizer
17.45. Problem reformulation.
17.46. Simplex selection strategy
17.47. Solution items
17.48. Solution status keys
17.49. Solution types
17.50. Solve primal or dual form
17.51. Status keys
17.52. Starting point types
17.53. Stream types
17.54. Integer values
17.55. Variable types
17.56. XML writer output mode
A. Troubleshooting
B. Problem analyzer examples
B.1. air04
B.2. arki001
B.3. Problem with both linear and quadratic constraints
B.4. Problem with both linear and conic constraints
C. The MPS file format
C.1. The MPS file format
C.1.1. An example
C.1.2.
NAME
C.1.3.
OBJSENSE
(optional)
C.1.4.
OBJNAME
(optional)
C.1.5.
ROWS
C.1.6.
COLUMNS
C.1.7.
RHS
(optional)
C.1.8.
RANGES
(optional)
C.1.9.
QSECTION
(optional)
C.1.10.
BOUNDS
(optional)
C.1.11.
CSECTION
(optional)
C.1.12.
ENDATA
C.2. Integer variables
C.3. General limitations
C.4. Interpretation of the MPS format
C.5. The free MPS format
D. The LP file format
D.1. A warning
D.2. The LP file format
D.2.1. The sections
D.2.1.1. The objective
D.2.1.2. The constraints
D.2.1.3. Bounds
D.2.1.4. Variable types
D.2.1.5. Terminating section
D.2.1.6. An example
D.2.2. LP format peculiarities
D.2.2.1. Comments
D.2.2.2. Names
D.2.2.3. Variable bounds
D.2.2.4. MOSEK specific extensions to the LP format
D.2.3. The strict LP format
D.2.4. Formatting of an LP file
D.2.4.1. Speeding up file reading
D.2.4.2. Unnamed constraints
E. The OPF format
E.1. Intended use
E.2. The file format
E.2.1. Sections
E.2.2. Numbers
E.2.3. Names
E.3. Parameters section
E.4. Writing OPF files from MOSEK
E.5. Examples
E.5.1. Linear example
lo1.opf
E.5.2. Quadratic example
qo1.opf
E.5.3. Conic quadratic example
cqo1.opf
E.5.4. Mixed integer example
milo1.opf
F. The XML (OSiL) format
G. The ORD file format
G.1. An example
H. The solution file format
H.1. The basic and interior solution files
H.2. The integer solution file
Bibliography
Index
The MOSEK Java API manual.
Version 6.0 (Revision 135).
Up :
'Documentation Help'
Next :
Contact information
Contents
Index
Wed Feb 29 16:00:46 2012