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

HiGHS 1.7.1 HighsCallbackDataOut data type can no longer be accessed directly for mip_solution item. #1812

Closed
jeffreydeankelly2 opened this issue Jun 23, 2024 · 1 comment
Assignees

Comments

@jeffreydeankelly2
Copy link

I know that in 1.7.1 the item pdlp_iteration_count is moved to the end of the HighsCallbackDataOut data type but this now breaks the direct access of the mip_solution our Intel Fortran to C interface.

In 1.7.0 the direct access of mip_solution works well in terms of getting or retrieving the MIP solution from the HighsCallbackDataOut data structure i.e., getting the 1D array or vector of variable values.

We tried to retrieve the integer pointer for the mip_solution data item from Highs_getCallbackDataOutItem(data_out,item_name) but unfortunately this routine does not compile in Intel Fortran for some unknown reason i.e., complains that the data_out of type HighsCallbackDataOut does not match the input data type of HighsCallbackDataOut but they are coded to be the same.

Would it be possible to return the pdlp_iteration_count item back to the same location of as of 1.7.0 given that you now have an indirection or accessor mapping routine Highs_getCallbackDataOutItem(data_out,item_name)?

Or, in order to allow your C API to be interoperable with Fortran 2003+ for example (other non-C / non-C++ languages) we would need some way to retrieve the mip_solution data item directly as a data vector or 1D array of doubles.

Unfortunately it is the C data structure type to Fortran data structure types that make the interface interoperability difficult for non-C and non-C++ programming languages. The same issue was recently encountered with KNITRO which changed their C API to include heterogenous data types or structures.

@jajhall
Copy link
Member

jajhall commented Jun 30, 2024

If I understand properly, this will be fixed by #1823

@jajhall jajhall closed this as completed Jul 6, 2024
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