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

Question about "GRBException" #1

Open
simonlin11 opened this issue Nov 26, 2018 · 4 comments
Open

Question about "GRBException" #1

simonlin11 opened this issue Nov 26, 2018 · 4 comments

Comments

@simonlin11
Copy link

Hi maksay, thanks for your code and I am working on it right now.
I have met an issue about th Gurobi. I have installed a trial version Gurobi and the gurobi_cl tool works fine. The difference from free academic version is that the trial version has an limitation of 2000 decision variables and 2000 constraints. I am not sure whether I can deal with your code with this trial version Gurobi.
Because the error "terminate called after throwing an instance of 'GRBException'" appears after "Binary searching for optimal alpha for patterns:->0.5" during the Solvertest, when I run "bin/test" in the terminal.

@maksay
Copy link
Owner

maksay commented Nov 26, 2018

I am pretty sure that 2000 variables / constraints are nowhere near enough for tracking in a reasonably long batch - i.e. towncentre dataset example has 150 frames x say 30 detections per frame x say 4 patterns = 18k nodes in the tracking graph, and we have a variable for every edge between detections is a short temporal vicinity. This is likely the source of the error you are getting.

@simonlin11
Copy link
Author

I am pretty sure that 2000 variables / constraints are nowhere near enough for tracking in a reasonably long batch - i.e. towncentre dataset example has 150 frames x say 30 detections per frame x say 4 patterns = 18k nodes in the tracking graph, and we have a variable for every edge between detections is a short temporal vicinity. This is likely the source of the error you are getting.

ok, I see. It seems that I need to use the full version Gurobi. Is it possible to use another tool instead of Gurobi to handle your code? It is difficult for me to get the academic license right now.

@maksay
Copy link
Owner

maksay commented Nov 26, 2018

The formulated integer program can be solved by any other IP solver, theoretically.
In practice, if your license version can create IP problem, but simply can not solve it if it has more than 2k variables, you can do the following:

  • save the instance of the problem (use SaveModel flag, see ex. here)
  • solve the obtained IP by any other solver.
  • load IP solver results (same file, instead of calling model.optimize in Gurobi)

Otherwise, I don't think there is any other solution I can think of right now.

EDIT: The link about Gurobi file formats (some of them should be compatible with other solvers, eg. CPLEX)

@simonlin11
Copy link
Author

Good idea! I will try it. Thank you!

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