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

Is there a Java API to construct an MISDP and solve it using SCIP-SDP? #17

Open
lsz1994024 opened this issue Sep 6, 2024 · 4 comments
Assignees

Comments

@lsz1994024
Copy link

Dear friends,
I am formulating my problem as an MISDP in Java (it must be in Java because of the preliminary work). I want to solve it using SCIP-SDP. As described in your readme file, SCIP-SDP can be incorporated into other codes. Does it mean that I can construct MISDP problems using your Java API, JSCIPOpt? If so, can you provide any example code? (I know there are example cbf files in the SCIP-SDP repository, and there are example Java codes for non-SDP problems in the JSCIPOpt repository, but I am looking for example Java codes to construct MISDP problems directly). Thank you!

@pfetsch
Copy link
Contributor

pfetsch commented Sep 8, 2024

Unfortunately, JSCIPOpt only works for SCIP, not for SCIP-SDP. The simply was no demand for it.

In general, I think that it would not be too hard to extend jSCIPOpt, if you know a bit about SCIP. I can answer questions, if needed.

@pfetsch pfetsch self-assigned this Sep 8, 2024
@lsz1994024
Copy link
Author

@pfetsch Thanks for your reply! So, I have a further question. Do you think this is a good way to construct and solve MISDPs using Java? : (1) write an SDP using the Java interface of Mosek (which I know is well-supported), (2) write the SDP problem to a .cbf file using Mosek, (3) directly modify the .cbf file to add in integrality constraints on certain variables, (4) call SCIP-SDP to solve the new .cbf file.

@pfetsch
Copy link
Contributor

pfetsch commented Sep 9, 2024

If you do not have to do it often, then this should be possible. An alternative would be to directly write a CBF file.

@lsz1994024
Copy link
Author

Thank you for confirming. That is what I am concerning. I need to solve millions of MISDPs, file IO overhead would be a problem. Anyway, I will try small demos first in this way.

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

No branches or pull requests

2 participants