Closed maximvochten closed 1 month ago
Hi, Sorry I don't have an answer for your problem. I was simply wondering if you had run in the issue of this type : HPIPM: specified structure of A does not correspond to what the interface can handle. And what workaround had you found if you faced one. Thank you!
As discussed privately with Maxim, this specific problem can be solved by setting the "linsol_lu_fact_tol" to a very small value (for example 1e-12).
This was done by modifying the solver options as follows for the Rockit interface:
if solver=='fatrop':
ocp.method(rockit.external_method('fatrop',N=N-1))
ocp._method.set_expand(True)
ocp = ocp._transcribed
ocp._method.set_option("linsol_lu_fact_tol", 1e-12) # add this line
ocp._method.set_option("tol", 1e-6)
For difficult problems there is still a mismatch between Fatrop and IPOPT. Below you can find such a challenging problem.
Fatrop does not appear to converge for this problem and returns all zeros for the solution. See the attached output: fatrop_output.txt and ipopt_output.txt