OSeMOSYS / OSeMOSYS_GNU_MathProg

The GNU MathProg implementation of OSeMOSYS
Apache License 2.0
9 stars 14 forks source link

Don't generate EBa10 unless trade link active #55

Closed willu47 closed 3 years ago

willu47 commented 3 years ago

Adds a qualifier based on TradeRoute to reduce the number of equations generated. Closes #54

For osemosys_short:

Before:

--- Problem Characteristics ---
Number of rows               =     8936
Number of columns            =     8589
Number of non-zeros (matrix) =    62571
Number of non-zeros (objrow) =     6447

After:

--- Problem Characteristics ---
Number of rows               =     7676
Number of columns            =     7329
Number of non-zeros (matrix) =    61311
Number of non-zeros (objrow) =     6447
vignesh1987 commented 3 years ago

Hi Will, I went over the inclusion of binary qualifier tags. If the inclusion of such tags reduces the matrix size by 1300X1200 (Rows X Columns), that sounds good. It might be good to check if the total system cost is not changed because of these additions.

I am not very clear about the precision change in the testing script. I guess it is something that improves error handling for testing purposes.

Best Vignesh

willu47 commented 3 years ago

Hi @vignesh1987 - thanks for the review. The automated tests check the value of the objective function matches the expected value, so I can confirm that for the UTOPIA model, there's no difference from these changes. However, UTOPIA doesn't use the trade equations, so it's not really a robust check.