Skip to content

Commit fcb8bdf

Browse files
authored
Merge pull request #3919 from blnicho/add-neos-solvers
Add NEOS solvers
2 parents 34a3877 + 4cbe542 commit fcb8bdf

2 files changed

Lines changed: 21 additions & 9 deletions

File tree

pyomo/neos/__init__.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,10 @@
1818
'conopt': 'Feasible path NLP solver',
1919
'couenne': 'Deterministic global MINLP solver',
2020
'cplex': 'MILP solver',
21+
'fico-xpress': 'MILP solver',
2122
'filmint': 'Deterministic local MINLP solver',
2223
'filter': 'SQP NLP solver',
24+
'highs': 'MILP solver',
2325
'ipopt': 'Interior point NLP solver',
2426
'knitro': 'Convex NLP/MINLP solver',
2527
'l-bfgs-b': 'Bound-constrained NLP solver',
@@ -30,9 +32,10 @@
3032
'minos': 'NLP solver',
3133
'minto': 'MILP solver',
3234
'mosek': 'Interior point NLP solver',
33-
# 'octeract': 'Deterministic global MINLP solver',
35+
'octeract': 'Deterministic global MINLP solver',
3436
'ooqp': 'Convex QP solver',
3537
'path': 'Nonlinear MCP solver',
3638
'raposa': 'A Global Solver for Polynomial Programming Problems',
39+
'scip': 'Deterministic global MINLP solver',
3740
'snopt': 'SQP NLP solver',
3841
}

pyomo/neos/tests/test_neos.py

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -229,12 +229,18 @@ def test_couenne(self):
229229
def test_cplex(self):
230230
self._run('cplex')
231231

232+
def test_ficoxpress(self):
233+
self._run('fico-xpress')
234+
232235
def test_filmint(self):
233236
self._run('filmint')
234237

235238
def test_filter(self):
236239
self._run('filter')
237240

241+
def test_highs(self):
242+
self._run('highs')
243+
238244
def test_ipopt(self):
239245
self._run('ipopt')
240246

@@ -248,6 +254,9 @@ def test_lbfgsb(self):
248254
def test_lancelot(self):
249255
self._run('lancelot')
250256

257+
def test_lgo(self):
258+
self._run('lgo')
259+
251260
def test_loqo(self):
252261
self._run('loqo')
253262

@@ -268,9 +277,9 @@ def test_mosek(self):
268277
# [20 Sep 24]: and appears to have been removed from NEOS
269278
# [24 Apr 25]: it appears to be there but causes timeouts
270279
# [29 Apr 25]: JK, it has been removed again
271-
# def test_octeract(self):
272-
# pass
273-
# self._run('octeract')
280+
# [21 Apr 26]: it is ALIVE again
281+
def test_octeract(self):
282+
self._run('octeract')
274283

275284
def test_ooqp(self):
276285
if self.sense == pyo.maximize:
@@ -285,14 +294,14 @@ def test_path(self):
285294
# The simple tests aren't complementarity problems
286295
self.skipTest("The simple NEOS test is not a complementarity problem")
287296

288-
def test_snopt(self):
289-
self._run('snopt')
290-
291297
def test_raposa(self):
292298
self._run('raposa')
293299

294-
def test_lgo(self):
295-
self._run('lgo')
300+
def test_scip(self):
301+
self._run('scip')
302+
303+
def test_snopt(self):
304+
self._run('snopt')
296305

297306

298307
class DirectDriver:

0 commit comments

Comments
 (0)