New answers tagged


You need to install the binary package locally, with a correct license. It should pick it up at this point.


As others have pointed out already, you are not solving the same instances. When writing out the MPS files using a gurobi.env file containing GURO_PAR_DUMP=1, we can see that the instances differ (here n=2, nIters=1; left is cvxpy, right is Gurobi): To get the signs in order, you could change this line in the Gurobi method model.addConstr(constrLHS >= ...


Note that the model fingerprint differs. I suspect that the variable or constraint orders are different.


I am going to answer my own question. After I made the post, I realized the variable pi actually don't show up in the model though declared. It looks like this is the reason why the first way doesn't take effective in the 'solve' process while the second explicit way works.


According to section 14-1 of AMPL book: For continuous variables, normally AMPL passes to solvers the first set of bounds, but you can instruct it to pass the second set by changing option var_bounds to 2 from its default value of 1. When active-set methods (like the simplex method) are applied, the second set tends to give rise to more degenerate variables,...


Your screenshot here indicates to me that you have 32 physical cores, 64 threads, and 64 vCPUs. You observed that Gurobi and CPLEX are not making use of more than 32 cores, but you have not shown us anything indicating that your machine has ever successfully used more than 32 cores for any calculation that doesn't use hyperthreading. If you try other ...


Modern CPUs are very complex and have at least two features that limit their scaling capability. The first one is a turbo feature that increases the clock speed when not all cores are utilized. The second one is that all cores share the same memory bus and the same L2 and L3 cache. If you solve the same problem in parallel (so start Python twice and let each ...

Top 50 recent answers are included