Thanks for the suggestions odow. I’ll have a fiddle with some of these ideas.
There are no random inputs so this can be scrubbed.
The other three points you make—whilst worth trying out—don’t seem to make sense to me as the culprit. All of them are based on the premise that my problem space is causing the issue, but as you can see in my successful tests: convergence happens quite rapidly, to the same optimal values with different input conditions and on multiple test machines.
To me therefore it’s most likely something to do with the environment, how Ipopt is built in the CI’s virtual machine vs my machines for example.
It’s not something imperative to solve, since I can just run the tests locally at any time. So I’ll give your suggestions a shot and if they don’t help then that’s fine for now as well.