1
1
# attempt to import all working solvers in this directory
2
2
from __future__ import absolute_import
3
- from warnings import warn
3
+ from warnings import warn as _warn
4
4
from os import name as __name
5
5
6
6
solver_dict = {}
@@ -44,10 +44,9 @@ def add_solver(solver_name, use_name=None):
44
44
continue
45
45
if i .startswith ("parameters" ):
46
46
continue
47
- if i .endswith (".py" ) or i .endswith (".so" ):
48
- possible_solvers .add (i [:- 3 ])
49
- if i .endswith (".pyc" ) or i .endswith (".pyd" ):
50
- possible_solvers .add (i [:- 4 ])
47
+ if i .endswith (".py" ) or i .endswith (".so" ) or i .endswith (".pyc" ) \
48
+ or i .endswith (".pyd" ):
49
+ possible_solvers .add (i .split ("." )[0 ])
51
50
52
51
for solver in possible_solvers :
53
52
nicer_name = solver [:- 7 ] if solver .endswith ("_solver" ) else solver
@@ -57,15 +56,12 @@ def add_solver(solver_name, use_name=None):
57
56
pass
58
57
del solver , nicer_name
59
58
60
- try :
61
- from .cglpk import GLP
62
- solver_dict ["cglpk" ] = GLP
63
- except :
64
- None
65
-
66
59
del path , listdir
67
60
del i , possible_solvers
68
61
62
+ if len (solver_dict ) == 0 :
63
+ _warn ("No LP solvers found" )
64
+
69
65
def get_solver_name (mip = False , qp = False ):
70
66
"""returns a solver name"""
71
67
if len (solver_dict ) == 0 :
@@ -86,7 +82,7 @@ def get_solver_name(mip=False, qp=False):
86
82
return solver_name
87
83
for solver_name in solver_dict :
88
84
if solver_name not in qp_incapable :
89
- warn ("could not verify if %s supports qp" % solver_name )
85
+ _warn ("could not verify if %s supports qp" % solver_name )
90
86
return solver_name
91
87
return None # don't want to return glpk
92
88
else :
0 commit comments