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.

7.2. SOLVING LINEAR SYSTEMS INVOLVING THE BASIS MATRIX 91<br />

55 6.0]<br />

56<br />

57 bkx = [mosek.boundkey.lo,<br />

58 mosek.boundkey.lo]<br />

59 blx = [0.0,<br />

60 0.0]<br />

61<br />

62 bux = [+infinity,<br />

63 +infinity]<br />

64 w1 = [2.0, 6.0]<br />

65 w2 = [1.0, 0.0]<br />

66 try:<br />

67 with mosek.Env() as env:<br />

68 with env.Task(0,0) as task:<br />

69 task.set Stream (mosek.streamtype.log, streamprinter)<br />

70 task.inputdata(numcon,numvar,<br />

71 c,<br />

72 0.0,<br />

73 ptrb,<br />

74 ptre,<br />

75 asub,<br />

76 aval,<br />

77 bkc,<br />

78 blc,<br />

79 buc,<br />

80 bkx,<br />

81 blx,<br />

82 bux)<br />

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

84 r = task.optimize()<br />

85 if r != mosek.rescode.ok:<br />

86 print ("Mosek warning:",r)<br />

87<br />

88 basis = [0] * numcon<br />

89 task.initbasissolve(basis)<br />

90<br />

91 #List basis variables corresponding to columns of B<br />

92 varsub = [0,1]<br />

93<br />

94 for i in range(numcon):<br />

95 if basis[varsub[i]] < numcon:<br />

96 print ("Basis variable no %d is xc%d" % (i,basis[i]))<br />

97 else:<br />

98 print ("Basis variable no %d is x%d" % (i,basis[i] - numcon))<br />

99<br />

100 # solve Bx = w1<br />

101 # varsub contains index of non-zeros in b.<br />

102 # On return b contains the solution x and<br />

103 # varsub the index of the non-zeros in x.<br />

104 nz = 2<br />

105<br />

106 nz = task.solvewithbasis(0, nz, varsub, w1)<br />

107 print ("nz = %s" % nz)<br />

108 print ("Solution to Bx = w1:")<br />

109<br />

110 for i in range(nz):<br />

111 if basis[varsub[i]] < numcon:<br />

112 print ("xc %s = %s" % (basis[varsub[i]],w1[varsub[i]]))

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

Saved successfully!

Ooh no, something went wrong!