I have some issues for which I desperately need your help. I have some other tickets opened before, but this one will be the most comprehensive so that I can get your help in a faster and clearer way.
I have an capacity expansion model supported with hourly operational details for power system of western states of the U.S. Typical model statistics are shown in the figure below:
Let's call this model as "baseline". Matrix coefficient range and objective range are larger than suggested. I also know that tiny values in matrix coefficient and large values in objective coefficients may slow down the optimization process. I have both tiny values in matrix coefficient and large values in objective coefficient. I replaced some of the tiny values in matrix coefficient with larger ones (let's call this as "scaled (1)"). Resulting model statistics are shown in the figure below:
Afterwards, I divided all objective coefficients with 10,000. I just wanted to get rid of the large values, and did not care about having smaller values in the objective (let's call as "scaled (2)") Resulting model statistics are shown in the figure below:
Afterwards, I performed both tasks (remove tiny values from matrix coefficient and divide objective with 10,000). Let's call this as "scaled (3)". Resulting model statistics are shown in the figure below:
I run these models one by one (only Gurobi parameter I use is Method = 2). I was able to solve "baseline" model to optimality, but could not solve the rest. However, scaled model's barrier and crossover procedures are incredibly faster than those of "baseline" model. Let me summarize time performance of these models:
I used the following approaches to calculate time spent for barrier, crossover, finding the first feasible solution, and finding the optimal solution.
- Barrier: Elapsed time at the end of barrier method
- Crossover: Elapsed time at the end of crossover minus elapsed time at the end of barrier method
- Finding the first feasible solution: Elapsed time when first feasible solution was found (labeled with 'H' mark) minus elapsed time at the end of crossover
- Finding the optimal solution: Elapsed time when optimal solution was found minus elapsed time when first feasible solution was found
"-" means in the above table that optimal solution could not be found. I was able to solve "baseline" model to optimality, but it spent so much time on crossover and for finding the optimal solution. Scaling objective coefficients (refer to Scaled (2)) and removing tiny values from coefficient matrix (refer to Scaled (1)) are incredibly fast in crossover and finding the first feasible solution, but they can not solve the model to optimality! Another note is that Scaled (3) is worse than Scaled (1) and Scaled (2). I could not understand the reason.
Okay, we understand that Scaled (2) is our target model because it is the fastest until finding the first feasible solution. I thought that if I can tweak some Gurobi parameters to find more and better feasible solutions, I could probably make the procedure for finding the optimal solution faster in Scaled (2). I used several parameters, and none of them work so far. Let me summarize which parameters I tried and their results in the following table:
Note that the first row in the above table is the same as Scaled (2) row in the first table. This is a comprehensive list of parameters I have tried so far. My main aim is to devote more effort to find more and better heuristic solutions so that the model is solved to optimality faster. As far as I observed on log files, best bound (LP relaxation) in B&B tree is a very tight bound. Hence, I do not need to focus on moving this, but rather more time should be spent for finding more and better feasible solutions.
Can you please help me to make this model faster? I need your help and guidance. What else parameters should I try? It may not be related to Gurobi parameters by the way. Then, what do you suggest me to do? In the next comment, I will try to provide log files so that you can investigate.
Please sign in to leave a comment.