maksay / ptrack_cpp

MIT License
23 stars 8 forks source link

Question about "GRBException" #1

Open simonlin11 opened 5 years ago

simonlin11 commented 5 years ago

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 commented 5 years ago

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 commented 5 years ago

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 commented 5 years ago

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:

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 commented 5 years ago

Good idea! I will try it. Thank you!