Skip to content

Commit 744b616

Browse files
authored
Merge pull request #1686 from Utkarsh-Detha/master
Improvements to MOSEK Direct interface and a new persistent interface
2 parents 8fe7b71 + 3e22ed0 commit 744b616

File tree

13 files changed

+829
-405
lines changed

13 files changed

+829
-405
lines changed

examples/kernel/mosek/geometric1.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ def solve_conic(Aw, Af, alpha, beta, gamma, delta):
6767
m.o = pmo.objective(m.x + m.y + m.z,
6868
sense=pmo.maximize)
6969

70-
mosek = pmo.SolverFactory("mosek")
70+
mosek = pmo.SolverFactory("mosek_direct")
7171
result = mosek.solve(m)
7272
assert str(result.solver.termination_condition) == "optimal"
7373
h, w, d = pmo.exp(m.x()), pmo.exp(m.y()), pmo.exp(m.z())

examples/kernel/mosek/geometric2.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ def solve_conic():
8080
m.o = pmo.objective(m.t,
8181
sense=pmo.minimize)
8282

83-
mosek = pmo.SolverFactory("mosek")
83+
mosek = pmo.SolverFactory("mosek_direct")
8484
result = mosek.solve(m)
8585
assert str(result.solver.termination_condition) == "optimal"
8686
x, y, z = pmo.exp(m.u()), pmo.exp(m.v()), pmo.exp(m.w())

examples/kernel/mosek/power1.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ def solve_conic():
5555
m.o = pmo.objective(m.k[0].x[0] + m.k[1].x[0] - m.x,
5656
sense=pmo.maximize)
5757

58-
mosek = pmo.SolverFactory("mosek")
58+
mosek = pmo.SolverFactory("mosek_direct")
5959
result = mosek.solve(m)
6060
assert str(result.solver.termination_condition) == "optimal"
6161
print("conic solution:")

pyomo/core/tests/examples/test_kernel_examples.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
testing_solvers = {}
3737
testing_solvers['ipopt','nl'] = False
3838
testing_solvers['glpk','lp'] = False
39-
testing_solvers['mosek','python'] = False
39+
testing_solvers['mosek_direct','python'] = False
4040
def setUpModule():
4141
global testing_solvers
4242
import pyomo.environ
@@ -62,7 +62,7 @@ def testmethod(self):
6262
self.skipTest("Numpy or Scipy or Ipopt or Glpk is not available")
6363
elif "mosek" in example:
6464
if (not testing_solvers['ipopt','nl']) or \
65-
(not testing_solvers['mosek','python']):
65+
(not testing_solvers['mosek_direct','python']):
6666
self.skipTest("Ipopt or Mosek is not available")
6767
rc, log = pyutilib.subprocess.run([sys.executable,example])
6868
self.assertEqual(rc, 0, msg=log)

pyomo/opt/base/solvers.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ def __call__(self, _name=None, **kwds):
190190
def check_available_solvers(*args):
191191
from pyomo.solvers.plugins.solvers.GUROBI import GUROBISHELL
192192
from pyomo.solvers.plugins.solvers.BARON import BARONSHELL
193-
from pyomo.solvers.plugins.solvers.mosek_direct import MosekDirect
193+
from pyomo.solvers.plugins.solvers.mosek_direct import MOSEKDirect
194194

195195
logging.disable(logging.WARNING)
196196

@@ -210,8 +210,8 @@ def check_available_solvers(*args):
210210
elif (arg[0] == "baron") and \
211211
(not BARONSHELL.license_is_valid()):
212212
available = False
213-
elif (arg[0] == "mosek") and \
214-
(not MosekDirect.license_is_valid()):
213+
elif (arg[0] == "mosek_direct" or arg[0] == "mosek_persistent") and \
214+
(not MOSEKDirect.license_is_valid()):
215215
available = False
216216
else:
217217
available = \

pyomo/solvers/plugins/solvers/__init__.py

+1
Original file line numberDiff line numberDiff line change
@@ -30,5 +30,6 @@
3030
import pyomo.solvers.plugins.solvers.cplex_persistent
3131
import pyomo.solvers.plugins.solvers.GAMS
3232
import pyomo.solvers.plugins.solvers.mosek_direct
33+
import pyomo.solvers.plugins.solvers.mosek_persistent
3334
import pyomo.solvers.plugins.solvers.xpress_direct
3435
import pyomo.solvers.plugins.solvers.xpress_persistent

0 commit comments

Comments
 (0)