ebook img

Optimizer API for Python - Documentation - Mosek PDF

658 Pages·2016·1.66 MB·English
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Optimizer API for Python - Documentation - Mosek

The MOSEK Python optimizer API manual Version 7.0 (Revision 141) [email protected] ii • Published by MOSEK ApS, Denmark. • Copyright (cid:13)c MOSEK ApS, Denmark. All rights reserved. Contents 1 Changes and new features in MOSEK 5 1.1 Platform support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.2 General changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.3 Optimizers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.3.1 Interior point optimizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.3.2 The simplex optimizers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.3.3 Mixed-integer optimizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.4 API changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.5 Optimization toolbox for MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.6 License system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.7 Other changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.8 Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.9 Platform changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.10 Summary of API changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.10.1 Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.10.2 Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2 About this manual 15 3 Getting support and help 17 3.1 MOSEK documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.2 Additional reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 4 Testing installation and compiling examples 19 4.1 Microsoft Windows platform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 4.1.1 Running a Python example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 4.2 Implementation details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 5 Basic API tutorial 21 5.1 The basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 5.1.1 The environment and the task . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 5.1.2 Example: Simple working example . . . . . . . . . . . . . . . . . . . . . . . . . . 22 5.2 Linear optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 5.2.1 Example: Linear optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 5.2.2 Row-wise input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 5.3 Conic quadratic optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 iii iv CONTENTS 5.3.1 Example: Conic quadratic optimization . . . . . . . . . . . . . . . . . . . . . . . 35 5.4 Semidefinite optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 5.4.1 Example: Semidefinite optimization . . . . . . . . . . . . . . . . . . . . . . . . . 39 5.5 Quadratic optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 5.5.1 Example: Quadratic objective. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 5.5.2 Example: Quadratic constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 5.6 The solution summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 5.7 Integer optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 5.7.1 Example: Mixed integer linear optimization . . . . . . . . . . . . . . . . . . . . . 54 5.7.2 Specifying an initial solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 5.7.3 Example: Specifying an integer solution . . . . . . . . . . . . . . . . . . . . . . . 57 5.8 The solution summary for mixed integer problems . . . . . . . . . . . . . . . . . . . . 59 5.9 Response handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 5.10 Problem modification and reoptimization. . . . . . . . . . . . . . . . . . . . . . . . . . 62 5.10.1 Example: Production planning . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 5.10.2 Changing the A matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 5.10.3 Appending variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 5.10.4 Reoptimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 5.10.5 Appending constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 5.11 Solution analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 5.11.1 Retrieving solution quality information with the API . . . . . . . . . . . . . . . . 67 5.12 Efficiency considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 5.12.1 API overhead . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 5.13 Conventions employed in the API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 5.13.1 Naming conventions for arguments . . . . . . . . . . . . . . . . . . . . . . . . . . 69 5.13.2 Vector formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 5.13.3 Matrix formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 5.13.4 Array objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 5.13.5 Typical problems using the Python API . . . . . . . . . . . . . . . . . . . . . . . 75 5.14 The license system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 5.14.1 Waiting for a free license . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 6 Nonlinear API tutorial 77 6.1 Separable convex (SCopt) interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 6.1.1 Adding separable terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 6.1.2 Example: Simple separable problem . . . . . . . . . . . . . . . . . . . . . . . . . 80 6.1.3 Ensuring convexity and differentiability . . . . . . . . . . . . . . . . . . . . . . . 82 6.1.4 SCopt Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 7 Advanced API tutorial 85 7.1 The progress call-back . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 7.1.1 Source code example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 7.2 Solving linear systems involving the basis matrix . . . . . . . . . . . . . . . . . . . . . 88 7.2.1 Identifying the basis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 7.2.2 An example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 7.2.3 Solving arbitrary linear systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 CONTENTS v 8 A case study 97 8.1 Portfolio optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 8.1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 8.1.2 A basic portfolio optimization model . . . . . . . . . . . . . . . . . . . . . . . . . 98 8.1.3 The efficient frontier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 8.1.4 Improving the computational efficiency . . . . . . . . . . . . . . . . . . . . . . . 109 8.1.5 Slippage cost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 9 Usage guidelines 119 9.1 Verifying the results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 9.1.1 Verifying primal feasibility. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 9.1.2 Verifying optimality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 9.2 Turn on logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 9.3 Writing task data to a file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 9.4 Important API limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 9.4.1 Thread safety . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 9.5 Bug reporting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 10 Problem formulation and solutions 123 10.1 Linear optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 10.1.1 Duality for linear optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 10.1.2 Infeasibility for linear optimization . . . . . . . . . . . . . . . . . . . . . . . . . . 126 10.2 Conic quadratic optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 10.2.1 Duality for conic quadratic optimization . . . . . . . . . . . . . . . . . . . . . . . 128 10.2.2 Infeasibility for conic quadratic optimization . . . . . . . . . . . . . . . . . . . . 129 10.3 Semidefinite optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 10.3.1 Duality for semidefinite optimization . . . . . . . . . . . . . . . . . . . . . . . . . 130 10.3.2 Infeasibility for semidefinite optimization . . . . . . . . . . . . . . . . . . . . . . 131 10.4 Quadratic and quadratically constrained optimization . . . . . . . . . . . . . . . . . . 132 10.4.1 Duality for quadratic and quadratically constrained optimization . . . . . . . . . 132 10.4.2 Infeasibility for quadratic and quadratically constrained optimization. . . . . . . 133 11 The optimizers for continuous problems 135 11.1 How an optimizer works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 11.1.1 Presolve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 11.1.2 Dualizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 11.1.3 Scaling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 11.1.4 Using multiple threads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 11.2 Linear optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 11.2.1 Optimizer selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 11.2.2 The interior-point optimizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 11.2.3 The simplex based optimizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 11.2.4 The interior-point or the simplex optimizer? . . . . . . . . . . . . . . . . . . . . . 145 11.2.5 The primal or the dual simplex variant? . . . . . . . . . . . . . . . . . . . . . . . 145 11.3 Linear network optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 11.3.1 Network flow problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 11.4 Conic optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 vi CONTENTS 11.4.1 The interior-point optimizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 11.5 Nonlinear convex optimization. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 11.5.1 The interior-point optimizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 11.6 Solving problems in parallel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 11.6.1 Thread safety . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 11.6.2 The parallelized interior-point optimizer . . . . . . . . . . . . . . . . . . . . . . . 149 11.6.3 The concurrent optimizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 11.6.4 A more flexible concurrent optimizer . . . . . . . . . . . . . . . . . . . . . . . . . 151 12 The optimizers for mixed-integer problems 155 12.1 Some concepts and facts related to mixed-integer optimization. . . . . . . . . . . . . . 155 12.2 The mixed-integer optimizers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 12.3 The mixed-integer conic optimizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 12.3.1 Presolve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 12.3.2 Heuristic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 12.3.3 The optimization phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 12.3.4 Caveats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 12.4 The mixed-integer optimizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 12.4.1 Presolve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 12.4.2 Heuristic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 12.4.3 The optimization phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 12.5 Termination criterion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 12.5.1 Relaxed termination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 12.5.2 Important parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 12.6 How to speed up the solution process . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 12.7 Understanding solution quality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 13 The analyzers 163 13.1 The problem analyzer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 13.1.1 General characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 13.1.2 Objective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 13.1.3 Linear constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 13.1.4 Constraint and variable bounds . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 13.1.5 Quadratic constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 13.1.6 Conic constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 13.2 Analyzing infeasible problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 13.2.1 Example: Primal infeasibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 13.2.2 Locating the cause of primal infeasibility . . . . . . . . . . . . . . . . . . . . . . 169 13.2.3 Locating the cause of dual infeasibility . . . . . . . . . . . . . . . . . . . . . . . . 170 13.2.4 The infeasibility report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 13.2.5 Theory concerning infeasible problems . . . . . . . . . . . . . . . . . . . . . . . . 174 13.2.6 The certificate of primal infeasibility . . . . . . . . . . . . . . . . . . . . . . . . . 174 13.2.7 The certificate of dual infeasibility . . . . . . . . . . . . . . . . . . . . . . . . . . 175 14 Primal feasibility repair 177 14.1 Manual repair . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 14.2 Automatic repair . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 CONTENTS vii 14.2.1 Caveats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 14.3 Feasibility repair in MOSEK. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 14.3.1 An example using the command line tool . . . . . . . . . . . . . . . . . . . . . . 180 14.3.2 Feasibility repair using the API . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 15 Sensitivity analysis 185 15.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 15.2 Restrictions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 15.3 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 15.4 Sensitivity analysis for linear problems . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 15.4.1 The optimal objective value function . . . . . . . . . . . . . . . . . . . . . . . . . 186 15.4.2 The basis type sensitivity analysis . . . . . . . . . . . . . . . . . . . . . . . . . . 187 15.4.3 The optimal partition type sensitivity analysis . . . . . . . . . . . . . . . . . . . 188 15.4.4 Example: Sensitivity analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 15.5 Sensitivity analysis from the MOSEK API . . . . . . . . . . . . . . . . . . . . . . . . . 192 15.6 Sensitivity analysis with the command line tool . . . . . . . . . . . . . . . . . . . . . . 195 15.6.1 Sensitivity analysis specification file . . . . . . . . . . . . . . . . . . . . . . . . . 196 15.6.2 Example: Sensitivity analysis from command line . . . . . . . . . . . . . . . . . . 197 15.6.3 Controlling log output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 A API reference 199 A.1 Exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 A.2 Class Task . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 A.2.1 Task.analyzenames() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 A.2.2 Task.analyzeproblem() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 A.2.3 Task.analyzesolution() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 A.2.4 Task.appendbarvars() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 A.2.5 Task.appendcone() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 A.2.6 Task.appendconeseq() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 A.2.7 Task.appendconesseq() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 A.2.8 Task.appendcons() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 A.2.9 Task.appendsparsesymmat() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 A.2.10 Task.appendstat() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 A.2.11 Task.appendvars() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 A.2.12 Task.basiscond() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 A.2.13 Task.checkconvexity() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 A.2.14 Task.checkmem() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 A.2.15 Task.chgbound() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 A.2.16 Task.commitchanges() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 A.2.17 Task.deletesolution() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 A.2.18 Task.dualsensitivity() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 A.2.19 Task.getacol() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 A.2.20 Task.getacolnumnz() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 A.2.21 Task.getacolslicetrip() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 A.2.22 Task.getaij() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 A.2.23 Task.getapiecenumnz() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 viii CONTENTS A.2.24 Task.getarow() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 A.2.25 Task.getarownumnz() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 A.2.26 Task.getarowslicetrip() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 A.2.27 Task.getaslice() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 A.2.28 Task.getaslicenumnz() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 A.2.29 Task.getbarablocktriplet() . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 A.2.30 Task.getbaraidx() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 A.2.31 Task.getbaraidxij() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 A.2.32 Task.getbaraidxinfo() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 A.2.33 Task.getbarasparsity() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 A.2.34 Task.getbarcblocktriplet() . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 A.2.35 Task.getbarcidx() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 A.2.36 Task.getbarcidxinfo() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 A.2.37 Task.getbarcidxj() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 A.2.38 Task.getbarcsparsity() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 A.2.39 Task.getbarsj() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 A.2.40 Task.getbarvarname() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 A.2.41 Task.getbarvarnameindex() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 A.2.42 Task.getbarvarnamelen() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 A.2.43 Task.getbarxj() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 A.2.44 Task.getbound() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 A.2.45 Task.getboundslice() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 A.2.46 Task.getc() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 A.2.47 Task.getcfix() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 A.2.48 Task.getcj() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 A.2.49 Task.getconbound() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 A.2.50 Task.getconboundslice() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 A.2.51 Task.getcone() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 A.2.52 Task.getconeinfo() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 A.2.53 Task.getconename() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 A.2.54 Task.getconenameindex() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 A.2.55 Task.getconenamelen() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 A.2.56 Task.getconname() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 A.2.57 Task.getconnameindex() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 A.2.58 Task.getconnamelen() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 A.2.59 Task.getcslice() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 A.2.60 Task.getdbi() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 A.2.61 Task.getdcni() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 A.2.62 Task.getdeqi() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 A.2.63 Task.getdimbarvarj() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238 A.2.64 Task.getdouinf() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 A.2.65 Task.getdouparam() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 A.2.66 Task.getdualobj() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 A.2.67 Task.getdviolbarvar() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 A.2.68 Task.getdviolcon() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 A.2.69 Task.getdviolcones() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 CONTENTS ix A.2.70 Task.getdviolvar() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 A.2.71 Task.getinfeasiblesubproblem() . . . . . . . . . . . . . . . . . . . . . . . . . 243 A.2.72 Task.getinti() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 A.2.73 Task.getintinf() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 A.2.74 Task.getintparam() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 A.2.75 Task.getlenbarvarj() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 A.2.76 Task.getlintinf() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 A.2.77 Task.getmaxnumanz() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 A.2.78 Task.getmaxnumbarvar() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 A.2.79 Task.getmaxnumcon() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 A.2.80 Task.getmaxnumcone() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 A.2.81 Task.getmaxnumqnz() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 A.2.82 Task.getmaxnumvar() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 A.2.83 Task.getmemusage() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248 A.2.84 Task.getnumanz() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248 A.2.85 Task.getnumanz64() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248 A.2.86 Task.getnumbarablocktriplets() . . . . . . . . . . . . . . . . . . . . . . . . . 249 A.2.87 Task.getnumbaranz() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 A.2.88 Task.getnumbarcblocktriplets() . . . . . . . . . . . . . . . . . . . . . . . . . 249 A.2.89 Task.getnumbarcnz() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250 A.2.90 Task.getnumbarvar() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250 A.2.91 Task.getnumcon() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250 A.2.92 Task.getnumcone() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 A.2.93 Task.getnumconemem() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 A.2.94 Task.getnumintvar() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 A.2.95 Task.getnumparam() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 A.2.96 Task.getnumqconknz() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 A.2.97 Task.getnumqconknz64() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 A.2.98 Task.getnumqobjnz() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 A.2.99 Task.getnumsymmat() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 A.2.100Task.getnumvar() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 A.2.101Task.getobjname() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 A.2.102Task.getobjnamelen() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 A.2.103Task.getobjsense() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 A.2.104Task.getpbi() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 A.2.105Task.getpcni() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 A.2.106Task.getpeqi() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 A.2.107Task.getprimalobj() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 A.2.108Task.getprobtype() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 A.2.109Task.getprosta() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258 A.2.110Task.getpviolbarvar() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258 A.2.111Task.getpviolcon() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259 A.2.112Task.getpviolcones() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259 A.2.113Task.getpviolvar() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260 A.2.114Task.getqconk() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 A.2.115Task.getqobj() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 x CONTENTS A.2.116Task.getqobj64() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 A.2.117Task.getqobjij() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 A.2.118Task.getreducedcosts() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 A.2.119Task.getskc() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264 A.2.120Task.getskcslice() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264 A.2.121Task.getskx() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 A.2.122Task.getskxslice() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 A.2.123Task.getslc() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266 A.2.124Task.getslcslice() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267 A.2.125Task.getslx() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267 A.2.126Task.getslxslice() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268 A.2.127Task.getsnx() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268 A.2.128Task.getsnxslice() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 A.2.129Task.getsolsta() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270 A.2.130Task.getsolution() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270 A.2.131Task.getsolutioni() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 A.2.132Task.getsolutioninf() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 A.2.133Task.getsolutioninfo() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 A.2.134Task.getsolutionslice() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276 A.2.135Task.getsparsesymmat() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278 A.2.136Task.getstrparam() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279 A.2.137Task.getstrparamlen() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279 A.2.138Task.getsuc() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 A.2.139Task.getsucslice() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 A.2.140Task.getsux() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 A.2.141Task.getsuxslice() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 A.2.142Task.getsymmatinfo() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282 A.2.143Task.gettaskname() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282 A.2.144Task.gettasknamelen() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 A.2.145Task.getvarbound() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 A.2.146Task.getvarboundslice() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 A.2.147Task.getvarbranchdir() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 A.2.148Task.getvarbranchpri() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 A.2.149Task.getvarname() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 A.2.150Task.getvarnameindex() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 A.2.151Task.getvarnamelen() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 A.2.152Task.getvartype() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 A.2.153Task.getvartypelist() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 A.2.154Task.getxc() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 A.2.155Task.getxcslice() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 A.2.156Task.getxx() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 A.2.157Task.getxxslice() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 A.2.158Task.gety() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 A.2.159Task.getyslice() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 A.2.160Task.initbasissolve() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 A.2.161Task.inputdata() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291

Description:
The MOSEK Python optimizer API manual. Version 7.0 (Revision 90) 4.1.1 Running a Python example 5.13.5 Typical problems using the Python API .
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.