# Algorithms and Search

Optimization algorithms and logging

### Presolve and Solving LPs

### MIP Search

- What are the differences between MIP Starts and Variable Hints?
- What does "User MIP start did not produce a new incumbent solution" mean?
- When is distributed optimization useful?
- How do I relax the integrality conditions in my model?
- What are the differences between Constraint Programming and MIP?

### Termination Criteria

### Solutions

- What does the warning "uncrushing solution degraded/improved objective value" mean?
- How do I diagnose a wrong solution?
- How do I diagnose a suboptimal objective value returned as optimal by Gurobi?
- How do I diagnose a wrong result?
- How do I retrieve variable values after optimizing?

### Logs and Search Statistics

- How do I use Gurobi logging with Microsoft.Extensions.Logging?
- How do I instruct Gurobi to produce a log file?
- How do I suppress all console output from Gurobi?
- How do I send the log to a file without also printing to the console?
- What does "Presolve: All rows and columns removed" mean?

### Multi-Objective Optimization

- How do I set termination criteria in multi-objective environments?
- How do I return to single-objective mode from multi-objective optimization?
- How do I query best bound and best objective values in multi-objective optimization?
- What does Gurobi return when the first pass in a hierarchical multi-objective optimization terminates with no solution?

### Infeasibility

- How do I diagnose the error "Cannot compute IIS on a feasible model"?
- Why does Gurobi report my model is infeasible when it has a feasible solution?
- How do I use 'compute IIS' to find a subset of constraints that are causing model infeasibility?
- How do I change variable and/or constraint bounds to make an infeasible model feasible using feasRelax?
- How do I resolve the error "Model is infeasible or unbounded"?