# Knowledge Base

FAQs and articles to help you use Gurobi

### Computer Hardware and Software

- Which R versions are supported by Gurobi?
- How to handle a NoClassDefFoundError?
- How to handle a BadImageFormatException?
- How do I use Gurobi with PyCharm?
- How does Gurobi perform on different computer hardware?
- What can be done to avoid an out-of-memory condition?

### Algorithms

- What is the difference between user cuts and lazy constraints?
- Why do I see increasing/large MIP gap values?
- How do you implement lazy constraints in Gurobi?
- Can you modify the branch-and-bound algorithm or create a branch-cut-and-price algorithm?
- Does Gurobi have a solution polishing algorithm?
- How do I find additional solutions to a model?

### Modeling

- Where can I learn more about building optimization models?
- How do I model piecewise linear functions?
- How do I model logical expressions?
- Can I add locally valid constraints in Gurobi MIP?
- How do I manage multiple models in a program?
- Why does an MPS file produce a completely different objective with different solvers?

### Parameters

- I have tuned parameters for another solver; how do I get similar performance from Gurobi?
- How do you set multiple termination criteria for a model?
- Is there a parameter to send the solver output to a log file without also printing that information on the screen?
- Why does Gurobi ignore the parameter values that I set in my program?

### License Keys

- How do I cite Gurobi software for an academic publication?
- How do you install free academic licenses in a computer lab where many students will use the software?
- How can I use a free academic license on a home computer?
- How many free academic licenses can I get?
- What system changes can cause a Gurobi license key to fail?
- How do you release a shared license?