25.11.2015 Views

The MOSEK Python optimizer API manual Version 7.0 (Revision 141)

Optimizer API for Python - Documentation - Mosek

Optimizer API for Python - Documentation - Mosek

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

56 CHAPTER 5. BASIC <strong>API</strong> TUTORIAL<br />

79 # Input the objective sense (minimize/maximize)<br />

80 task.putobjsense(mosek.objsense.maximize)<br />

81<br />

82 # Define variables to be integers<br />

83 task.putvartypelist([ 0, 1 ],<br />

84 [ mosek.variabletype.type int,<br />

85 mosek.variabletype.type int ])<br />

86<br />

87 # Optimize the task<br />

88 task.optimize()<br />

89<br />

90 # Print a summary containing information<br />

91 # about the solution for debugging purposes<br />

92 task.solutionsummary(mosek.streamtype.msg)<br />

93<br />

94 prosta = task.getprosta(mosek.soltype.itg)<br />

95 solsta = task.getsolsta(mosek.soltype.itg)<br />

96<br />

97 # X<br />

98<br />

99 # Output a solution<br />

100 xx = zeros(numvar, float)<br />

101 task.getxx(mosek.soltype.itg,xx)<br />

102<br />

103 if solsta in [ mosek.solsta.integer optimal, mosek.solsta.near integer optimal ]:<br />

104 print("Optimal solution: %s" % xx)<br />

105 elif solsta == mosek.solsta.dual infeas cer:<br />

106 print("Primal or dual infeasibility.\n")<br />

107 elif solsta == mosek.solsta.prim infeas cer:<br />

108 print("Primal or dual infeasibility.\n")<br />

109 elif solsta == mosek.solsta.near dual infeas cer:<br />

110 print("Primal or dual infeasibility.\n")<br />

111 elif solsta == mosek.solsta.near prim infeas cer:<br />

112 print("Primal or dual infeasibility.\n")<br />

113 elif mosek.solsta.unknown:<br />

114 if prosta == mosek.prosta.prim infeas or unbounded:<br />

115 print("Problem status Infeasible or unbounded.\n")<br />

116 elif prosta == mosek.prosta.prim infeas:<br />

117 print("Problem status Infeasible.\n")<br />

118 elif prosta == mosek.prosta.unkown:<br />

119 print("Problem status unkown.\n")<br />

120 else:<br />

121 print("Other problem status.\n")<br />

122 else:<br />

123 print("Other solution status")<br />

124<br />

125 # call the main function<br />

126 try:<br />

127 main ()<br />

128 except mosek.Exception as msg:<br />

129 #print "ERROR: %s" % str(code)<br />

130 if msg is not None:<br />

131 print ("\t%s" % msg)<br />

132 sys.exit(1)<br />

133 except:<br />

134 import traceback<br />

135 traceback.print exc()<br />

136 sys.exit(1)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!