Infeasibility resolution with PuLP
Resolving infeasibility of large problems depends on identifying the conflicting constraints which is not a simple task. A problem could have multiple sources of infeasibility that may or may not overlap. Relaxing a problem’s constraints always resolves the infeasibility but it would not identify the source necessarily since it always depends on how much penalty is assigned to each relaxation coefficient. The usual optimization solvers also do not have a perfect way of resolving infeasibility since the exact method of identifying the source of infeasibility and then determining the minimum number of constraints that have to be removed is a problem that can end up being more complex than the original problem.