Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NEOS/octeract interface is failing tests #3321

Open
jsiirola opened this issue Jul 16, 2024 · 0 comments
Open

NEOS/octeract interface is failing tests #3321

jsiirola opened this issue Jul 16, 2024 · 0 comments

Comments

@jsiirola
Copy link
Member

Summary

Steps to reproduce the issue

The simple tests of the Pyomo interface to octeract (through NEOS) are failing. It is unclear what the root cause of the error is.

Error Message

The tests are failing with:

2024-07-15T13:24:12.7832913Z =================================== FAILURES ===================================
2024-07-15T13:24:12.7833818Z __________________ TestSolvers_direct_call_min.test_octeract ___________________
2024-07-15T13:24:12.7834465Z 
2024-07-15T13:24:12.7835033Z self = <pyomo.neos.tests.test_neos.TestSolvers_direct_call_min testMethod=test_octeract>
2024-07-15T13:24:12.7835868Z 
2024-07-15T13:24:12.7836082Z     def test_octeract(self):
2024-07-15T13:24:12.7836848Z >       self._run('octeract')
2024-07-15T13:24:12.7837183Z 
2024-07-15T13:24:12.7837375Z pyomo/neos/tests/test_neos.py:153: 
2024-07-15T13:24:12.7838093Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
2024-07-15T13:24:12.7838895Z pyomo/neos/tests/test_neos.py:183: in _run
2024-07-15T13:24:12.7839561Z     results = solver_manager.solve(m, opt=opt)
2024-07-15T13:24:12.7840262Z pyomo/opt/parallel/async_solver.py:24: in solve
2024-07-15T13:24:12.7840937Z     return self.execute(*args, **kwds)
2024-07-15T13:24:12.7841691Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
2024-07-15T13:24:12.7842278Z 
2024-07-15T13:24:12.7842849Z self = <pyomo.neos.plugins.kestrel_plugin.SolverManager_NEOS object at 0x7f0c6b995110>
2024-07-15T13:24:12.7844193Z args = (<pyomo.core.base.PyomoModel.ConcreteModel object at 0x7f0c7274aa30>,)
2024-07-15T13:24:12.7845187Z kwds = {'opt': 'octeract'}
2024-07-15T13:24:12.7845968Z ah = <pyomo.opt.parallel.manager.ActionHandle object at 0x7f0c6b973cd0>
2024-07-15T13:24:12.7846848Z results = None
2024-07-15T13:24:12.7847094Z 
2024-07-15T13:24:12.7847288Z     def execute(self, *args, **kwds):
2024-07-15T13:24:12.7847810Z         """
2024-07-15T13:24:12.7848229Z         Synchronously execute an action.
2024-07-15T13:24:12.7848764Z         """
2024-07-15T13:24:12.7849157Z         ah = self.queue(*args, **kwds)
2024-07-15T13:24:12.7849722Z         results = self.wait_for(ah)
2024-07-15T13:24:12.7850262Z         if results is None:
2024-07-15T13:24:12.7850762Z >           raise ActionManagerError(
2024-07-15T13:24:12.7851489Z                 "Problem executing an event.  No results are available."
2024-07-15T13:24:12.7852194Z             )
2024-07-15T13:24:12.7853446Z E           pyomo.opt.parallel.manager.ActionManagerError: Problem executing an event.  No results are available.
2024-07-15T13:24:12.7854425Z 
2024-07-15T13:24:12.7854740Z pyomo/opt/parallel/manager.py:124: ActionManagerError
2024-07-15T13:24:12.7855733Z ------------------------------ Captured log call -------------------------------
2024-07-15T13:24:12.7856800Z ERROR    pyomo.neos:kestrel_plugin.py:33 Error parsing NEOS solution file  NEOS log:
2024-07-15T13:24:12.7857702Z Job 14409572 dispatched
2024-07-15T13:24:12.7858541Z password: yBlANzrv
2024-07-15T13:24:12.7859084Z ---------- Begin Solver Output -----------
2024-07-15T13:24:12.7859735Z Condor submit: 'neos.submit'
2024-07-15T13:24:12.7860301Z Condor submit: 'watchdog.submit'
2024-07-15T13:24:12.7860849Z Job submitted to NEOS HTCondor pool.
2024-07-15T13:24:12.7861436Z Traceback (most recent call last):
2024-07-15T13:24:12.7872561Z   File "/home/runner/work/pyomo/pyomo/pyomo/opt/plugins/sol.py", line 41, in __call__
2024-07-15T13:24:12.7873678Z     return self._load(f, res, soln, suffixes)
2024-07-15T13:24:12.7874307Z            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-07-15T13:24:12.7875297Z   File "/home/runner/work/pyomo/pyomo/pyomo/opt/plugins/sol.py", line 83, in _load
2024-07-15T13:24:12.7876692Z     raise ValueError("no Options line found")
2024-07-15T13:24:12.7877352Z ValueError: no Options line found
2024-07-15T13:24:12.7877741Z 
2024-07-15T13:24:12.7878148Z During handling of the above exception, another exception occurred:
2024-07-15T13:24:12.7878810Z 
2024-07-15T13:24:12.7879002Z Traceback (most recent call last):
2024-07-15T13:24:12.7880245Z   File "/home/runner/work/pyomo/pyomo/pyomo/neos/plugins/kestrel_plugin.py", line 215, in _perform_wait_any
2024-07-15T13:24:12.7881506Z     solver_results = opt.process_output(rc)
2024-07-15T13:24:12.7882109Z                      ^^^^^^^^^^^^^^^^^^^^^^
2024-07-15T13:24:12.7883237Z   File "/home/runner/work/pyomo/pyomo/pyomo/opt/solver/shellcmd.py", line 395, in process_output
2024-07-15T13:24:12.7884356Z     results = self._results_reader(
2024-07-15T13:24:12.7884889Z               ^^^^^^^^^^^^^^^^^^^^^
2024-07-15T13:24:12.7885864Z   File "/home/runner/work/pyomo/pyomo/pyomo/opt/plugins/sol.py", line 45, in __call__
2024-07-15T13:24:12.7886852Z     raise ValueError(
2024-07-15T13:24:12.7887812Z ValueError: Error reading '/tmp/tmpymq1s0el.neos.sol': no Options line found.
2024-07-15T13:24:12.7888665Z SOL File Output:
2024-07-15T13:24:12.7889160Z ERROR: An error occured with your submission.
2024-07-15T13:24:12.7889633Z 
2024-07-15T13:24:12.7889642Z 
2024-07-15T13:24:12.7890167Z ERROR    pyomo.neos:kestrel_plugin.py:37 ERROR: An error occured with your submission.
2024-07-15T13:24:12.7891326Z __________________ TestSolvers_direct_call_max.test_octeract ___________________
2024-07-15T13:24:12.7891969Z 
2024-07-15T13:24:12.7892807Z self = <pyomo.neos.tests.test_neos.TestSolvers_direct_call_max testMethod=test_octeract>
2024-07-15T13:24:12.7893632Z 
2024-07-15T13:24:12.7893831Z     def test_octeract(self):
2024-07-15T13:24:12.7894411Z >       self._run('octeract')
2024-07-15T13:24:12.7894756Z 
2024-07-15T13:24:12.7894948Z pyomo/neos/tests/test_neos.py:153: 
2024-07-15T13:24:12.7895654Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
2024-07-15T13:24:12.7896451Z pyomo/neos/tests/test_neos.py:183: in _run
2024-07-15T13:24:12.7897114Z     results = solver_manager.solve(m, opt=opt)
2024-07-15T13:24:12.7897780Z pyomo/opt/parallel/async_solver.py:24: in solve
2024-07-15T13:24:12.7898469Z     return self.execute(*args, **kwds)
2024-07-15T13:24:12.7899230Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
2024-07-15T13:24:12.7899815Z 
2024-07-15T13:24:12.7900336Z self = <pyomo.neos.plugins.kestrel_plugin.SolverManager_NEOS object at 0x7f0c6b858710>
2024-07-15T13:24:12.7901520Z args = (<pyomo.core.base.PyomoModel.ConcreteModel object at 0x7f0c6c9e5db0>,)
2024-07-15T13:24:12.7902488Z kwds = {'opt': 'octeract'}
2024-07-15T13:24:12.7903264Z ah = <pyomo.opt.parallel.manager.ActionHandle object at 0x7f0c6b96aad0>
2024-07-15T13:24:12.7904098Z results = None
2024-07-15T13:24:12.7904349Z 
2024-07-15T13:24:12.7904552Z     def execute(self, *args, **kwds):
2024-07-15T13:24:12.7905087Z         """
2024-07-15T13:24:12.7905472Z         Synchronously execute an action.
2024-07-15T13:24:12.7906012Z         """
2024-07-15T13:24:12.7906413Z         ah = self.queue(*args, **kwds)
2024-07-15T13:24:12.7906889Z         results = self.wait_for(ah)
2024-07-15T13:24:12.7907329Z         if results is None:
2024-07-15T13:24:12.7908065Z >           raise ActionManagerError(
2024-07-15T13:24:12.7908827Z                 "Problem executing an event.  No results are available."
2024-07-15T13:24:12.7909553Z             )
2024-07-15T13:24:12.7910550Z E           pyomo.opt.parallel.manager.ActionManagerError: Problem executing an event.  No results are available.
2024-07-15T13:24:12.7911558Z 
2024-07-15T13:24:12.7911878Z pyomo/opt/parallel/manager.py:124: ActionManagerError
2024-07-15T13:24:12.7912917Z ------------------------------ Captured log call -------------------------------
2024-07-15T13:24:12.7914041Z ERROR    pyomo.neos:kestrel_plugin.py:33 Error parsing NEOS solution file  NEOS log:
2024-07-15T13:24:12.7914970Z Job 14409619 dispatched
2024-07-15T13:24:12.7915430Z password: hodgtSWs
2024-07-15T13:24:12.7916249Z ---------- Begin Solver Output -----------
2024-07-15T13:24:12.7916975Z Condor submit: 'neos.submit'
2024-07-15T13:24:12.7917583Z Condor submit: 'watchdog.submit'
2024-07-15T13:24:12.7918161Z Job submitted to NEOS HTCondor pool.
2024-07-15T13:24:12.7918769Z Traceback (most recent call last):
2024-07-15T13:24:12.7919815Z   File "/home/runner/work/pyomo/pyomo/pyomo/opt/plugins/sol.py", line 41, in __call__
2024-07-15T13:24:12.7920884Z     return self._load(f, res, soln, suffixes)
2024-07-15T13:24:12.7921522Z            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-07-15T13:24:12.7922531Z   File "/home/runner/work/pyomo/pyomo/pyomo/opt/plugins/sol.py", line 83, in _load
2024-07-15T13:24:12.7923602Z     raise ValueError("no Options line found")
2024-07-15T13:24:12.7924248Z ValueError: no Options line found
2024-07-15T13:24:12.7924642Z 
2024-07-15T13:24:12.7925054Z During handling of the above exception, another exception occurred:
2024-07-15T13:24:12.7925711Z 
2024-07-15T13:24:12.7925915Z Traceback (most recent call last):
2024-07-15T13:24:12.7927161Z   File "/home/runner/work/pyomo/pyomo/pyomo/neos/plugins/kestrel_plugin.py", line 215, in _perform_wait_any
2024-07-15T13:24:12.7928438Z     solver_results = opt.process_output(rc)
2024-07-15T13:24:12.7929071Z                      ^^^^^^^^^^^^^^^^^^^^^^
2024-07-15T13:24:12.7930213Z   File "/home/runner/work/pyomo/pyomo/pyomo/opt/solver/shellcmd.py", line 395, in process_output
2024-07-15T13:24:12.7931342Z     results = self._results_reader(
2024-07-15T13:24:12.7931894Z               ^^^^^^^^^^^^^^^^^^^^^
2024-07-15T13:24:12.7933091Z   File "/home/runner/work/pyomo/pyomo/pyomo/opt/plugins/sol.py", line 45, in __call__
2024-07-15T13:24:12.7934115Z     raise ValueError(
2024-07-15T13:24:12.7935014Z ValueError: Error reading '/tmp/tmp4spyx6_3.neos.sol': no Options line found.
2024-07-15T13:24:12.7935873Z SOL File Output:
2024-07-15T13:24:12.7936381Z ERROR: An error occured with your submission.
2024-07-15T13:24:12.7936857Z 
2024-07-15T13:24:12.7936873Z 
2024-07-15T13:24:12.7937401Z ERROR    pyomo.neos:kestrel_plugin.py:37 ERROR: An error occured with your submission.
2024-07-15T13:24:12.7938580Z ___________________ TestSolvers_pyomo_cmd_min.test_octeract ____________________
2024-07-15T13:24:12.7939239Z 
2024-07-15T13:24:12.7939793Z self = <pyomo.neos.tests.test_neos.TestSolvers_pyomo_cmd_min testMethod=test_octeract>
2024-07-15T13:24:12.7940584Z 
2024-07-15T13:24:12.7940771Z     def test_octeract(self):
2024-07-15T13:24:12.7941360Z >       self._run('octeract')
2024-07-15T13:24:12.7941697Z 
2024-07-15T13:24:12.7941896Z pyomo/neos/tests/test_neos.py:153: 
2024-07-15T13:24:12.7942628Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
2024-07-15T13:24:12.7943436Z pyomo/neos/tests/test_neos.py:225: in _run
2024-07-15T13:24:12.7944046Z     output = main(args)
2024-07-15T13:24:12.7944569Z pyomo/scripting/pyomo_main.py:97: in main
2024-07-15T13:24:12.7945240Z     retval = _options.func(_options, _unparsed)
2024-07-15T13:24:12.7946009Z pyomo/scripting/plugins/solve.py:230: in solve_exec
2024-07-15T13:24:12.7946832Z     return pyomo.scripting.util.run_command(
2024-07-15T13:24:12.7947532Z pyomo/scripting/util.py:1028: in run_command
2024-07-15T13:24:12.7948502Z     retval, errorcode = _run_command_impl(
2024-07-15T13:24:12.7949201Z pyomo/scripting/util.py:1086: in _run_command_impl
2024-07-15T13:24:12.7950003Z     retval = command(options=options, parser=parser)
2024-07-15T13:24:12.7950779Z pyomo/scripting/pyomo_command.py:73: in run_pyomo
2024-07-15T13:24:12.7951600Z     opt_data = pyomo.scripting.util.apply_optimizer(
2024-07-15T13:24:12.7952402Z pyomo/scripting/util.py:692: in apply_optimizer
2024-07-15T13:24:12.7953235Z     results = solver_mngr.solve(instance, opt=solver, **keywords)
2024-07-15T13:24:12.7954060Z pyomo/opt/parallel/async_solver.py:24: in solve
2024-07-15T13:24:12.7954748Z     return self.execute(*args, **kwds)
2024-07-15T13:24:12.7955753Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
2024-07-15T13:24:12.7956361Z 
2024-07-15T13:24:12.7956925Z self = <pyomo.neos.plugins.kestrel_plugin.SolverManager_NEOS object at 0x7f0c6b85b5d0>
2024-07-15T13:24:12.7958224Z args = (<pyomo.core.base.PyomoModel.ConcreteModel object at 0x7f0c6b812350>,)
2024-07-15T13:24:12.7960082Z kwds = {'opt': 'octeract', 'options': <pyomo.common.config.ConfigDict object at 0x7f0c6b8a09d0>, 'report_timing': False, 'tee': False, ...}
2024-07-15T13:24:12.7961693Z ah = <pyomo.opt.parallel.manager.ActionHandle object at 0x7f0c6b8390d0>
2024-07-15T13:24:12.7962556Z results = None
2024-07-15T13:24:12.7962810Z 
2024-07-15T13:24:12.7963011Z     def execute(self, *args, **kwds):
2024-07-15T13:24:12.7963633Z         """
2024-07-15T13:24:12.7964065Z         Synchronously execute an action.
2024-07-15T13:24:12.7964617Z         """
2024-07-15T13:24:12.7965019Z         ah = self.queue(*args, **kwds)
2024-07-15T13:24:12.7965609Z         results = self.wait_for(ah)
2024-07-15T13:24:12.7966168Z         if results is None:
2024-07-15T13:24:12.7966712Z >           raise ActionManagerError(
2024-07-15T13:24:12.7967461Z                 "Problem executing an event.  No results are available."
2024-07-15T13:24:12.7968185Z             )
2024-07-15T13:24:12.7969185Z E           pyomo.opt.parallel.manager.ActionManagerError: Problem executing an event.  No results are available.
2024-07-15T13:24:12.7970187Z 
2024-07-15T13:24:12.7970506Z pyomo/opt/parallel/manager.py:124: ActionManagerError
2024-07-15T13:24:12.7971510Z ------------------------------ Captured log call -------------------------------
2024-07-15T13:24:12.7972838Z ERROR    pyomo.neos:kestrel_plugin.py:33 Error parsing NEOS solution file  NEOS log:
2024-07-15T13:24:12.7973772Z Job 14409665 dispatched
2024-07-15T13:24:12.7974244Z password: PVjvMARf
2024-07-15T13:24:12.7974814Z ---------- Begin Solver Output -----------
2024-07-15T13:24:12.7975496Z Condor submit: 'neos.submit'
2024-07-15T13:24:12.7976097Z Condor submit: 'watchdog.submit'
2024-07-15T13:24:12.7976681Z Job submitted to NEOS HTCondor pool.
2024-07-15T13:24:12.7977295Z Traceback (most recent call last):
2024-07-15T13:24:12.7978332Z   File "/home/runner/work/pyomo/pyomo/pyomo/opt/plugins/sol.py", line 41, in __call__
2024-07-15T13:24:12.7979413Z     return self._load(f, res, soln, suffixes)
2024-07-15T13:24:12.7980049Z            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-07-15T13:24:12.7981062Z   File "/home/runner/work/pyomo/pyomo/pyomo/opt/plugins/sol.py", line 83, in _load
2024-07-15T13:24:12.7982133Z     raise ValueError("no Options line found")
2024-07-15T13:24:12.7982792Z ValueError: no Options line found
2024-07-15T13:24:12.7983183Z 
2024-07-15T13:24:12.7983598Z During handling of the above exception, another exception occurred:
2024-07-15T13:24:12.7984257Z 
2024-07-15T13:24:12.7984454Z Traceback (most recent call last):
2024-07-15T13:24:12.7985728Z   File "/home/runner/work/pyomo/pyomo/pyomo/neos/plugins/kestrel_plugin.py", line 215, in _perform_wait_any
2024-07-15T13:24:12.7987006Z     solver_results = opt.process_output(rc)
2024-07-15T13:24:12.7987637Z                      ^^^^^^^^^^^^^^^^^^^^^^
2024-07-15T13:24:12.7988800Z   File "/home/runner/work/pyomo/pyomo/pyomo/opt/solver/shellcmd.py", line 395, in process_output
2024-07-15T13:24:12.7990274Z     results = self._results_reader(
2024-07-15T13:24:12.7990828Z               ^^^^^^^^^^^^^^^^^^^^^
2024-07-15T13:24:12.7991815Z   File "/home/runner/work/pyomo/pyomo/pyomo/opt/plugins/sol.py", line 45, in __call__
2024-07-15T13:24:12.7992844Z     raise ValueError(
2024-07-15T13:24:12.7993756Z ValueError: Error reading '/tmp/tmpirxa4mv6.neos.sol': no Options line found.
2024-07-15T13:24:12.7994627Z SOL File Output:
2024-07-15T13:24:12.7995131Z ERROR: An error occured with your submission.
2024-07-15T13:24:12.7995610Z 
2024-07-15T13:24:12.7995619Z 
2024-07-15T13:24:12.7996153Z ERROR    pyomo.neos:kestrel_plugin.py:37 ERROR: An error occured with your submission.
2024-07-15T13:24:12.7997537Z ------- generated xml file: /home/runner/work/pyomo/pyomo/TEST-pyomo.xml -------
2024-07-15T13:24:12.7998806Z =========================== short test summary info ============================
2024-07-15T13:24:12.8001001Z FAILED pyomo/neos/tests/test_neos.py::TestSolvers_direct_call_min::test_octeract - pyomo.opt.parallel.manager.ActionManagerError: Problem executing an event.  No results are available.
2024-07-15T13:24:12.8004219Z FAILED pyomo/neos/tests/test_neos.py::TestSolvers_direct_call_max::test_octeract - pyomo.opt.parallel.manager.ActionManagerError: Problem executing an event.  No results are available.
2024-07-15T13:24:12.8007384Z FAILED pyomo/neos/tests/test_neos.py::TestSolvers_pyomo_cmd_min::test_octeract - pyomo.opt.parallel.manager.ActionManagerError: Problem executing an event.  No results are available.
2024-07-15T13:24:12.8009401Z === 3 failed, 1142 passed, 4 skipped, 17125 deselected in 1778.46s (0:29:38) ===

Information on your system

Pyomo version: 6.7.3.dev0
Python version: 3.11
Operating system: GHA
How Pyomo was installed (PyPI, conda, source): source
Solver (if applicable): neos/octeract

Additional information

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants