Skip to content
Snippets Groups Projects
Commit 084965d3 authored by Bart Arendarczyk's avatar Bart Arendarczyk
Browse files

Allow excess imports to avoid solution failure.

parent 5f01b5b4
No related branches found
No related tags found
3 merge requests!4Merging Barts changes into inequality branch,!3Merging changes from master,!2Bringing Bart's recent changes into the inequality branch
...@@ -157,6 +157,7 @@ $gdxin ...@@ -157,6 +157,7 @@ $gdxin
netImportAmount(import_types) net imports - Mt netImportAmount(import_types) net imports - Mt
netImportIncrease(import_types) netImportIncrease(import_types)
netImportDecrease(import_types) netImportDecrease(import_types)
excessImports(import_types)
landCoverArea(land_cover, protection, location) land cover area in Mha landCoverArea(land_cover, protection, location) land cover area in Mha
landCoverChange(land_cover_before, land_cover_after, protection, location) land cover change in Mha landCoverChange(land_cover_before, land_cover_after, protection, location) land cover change in Mha
...@@ -175,7 +176,7 @@ $gdxin ...@@ -175,7 +176,7 @@ $gdxin
; ;
POSITIVE VARIABLE cropArea, fertI, irrigI, otherIntensity, yield, feedAmount, importAmount, exportAmount, woodPriceFactor, cropProduction, POSITIVE VARIABLE cropArea, fertI, irrigI, otherIntensity, yield, feedAmount, importAmount, exportAmount, woodPriceFactor, cropProduction, excessImports,
landCoverArea, landCoverChange, woodYieldRota, rotationIntensity, woodSupply, totalProduction, netImportIncrease, netImportDecrease; landCoverArea, landCoverChange, woodYieldRota, rotationIntensity, woodSupply, totalProduction, netImportIncrease, netImportDecrease;
...@@ -347,7 +348,7 @@ $gdxin ...@@ -347,7 +348,7 @@ $gdxin
NET_IMPORT_CALC(import_types) .. netImportAmount(import_types) =E= importAmount(import_types) - exportAmount(import_types); NET_IMPORT_CALC(import_types) .. netImportAmount(import_types) =E= importAmount(import_types) - exportAmount(import_types);
MAX_NET_IMPORT_CONSTRAINT(import_types) .. netImportAmount(import_types) =L= maxNetImport(import_types); MAX_NET_IMPORT_CONSTRAINT(import_types) .. netImportAmount(import_types) =L= maxNetImport(import_types) + excessImports(import_types);
MIN_NET_IMPORT_CONSTRAINT(import_types) .. netImportAmount(import_types) =G= minNetImport(import_types); MIN_NET_IMPORT_CONSTRAINT(import_types) .. netImportAmount(import_types) =G= minNetImport(import_types);
...@@ -395,6 +396,8 @@ $gdxin ...@@ -395,6 +396,8 @@ $gdxin
- sum(animal, feedDiversityCost(animal) * sum(feed_crop, sqr(feedAmount(animal, feed_crop) * cropDM(feed_crop))) / (sum(feed_crop, feedAmount(animal, feed_crop) * cropDM(feed_crop)) + 0.01)) - sum(animal, feedDiversityCost(animal) * sum(feed_crop, sqr(feedAmount(animal, feed_crop) * cropDM(feed_crop))) / (sum(feed_crop, feedAmount(animal, feed_crop) * cropDM(feed_crop)) + 0.01))
* Net import change cost * Net import change cost
- sum(import_types, exp(tradeAdjustmentCostRate(import_types) * (netImportIncrease(import_types) + netImportDecrease(import_types))) - 1) - sum(import_types, exp(tradeAdjustmentCostRate(import_types) * (netImportIncrease(import_types) + netImportDecrease(import_types))) - 1)
* Allow import constraint to be relaxed at a high cost if needed to avoid solution failture
- sum(import_types, 1000 * excessImports(import_types));
; ;
MODEL LAND_USE / ALL / ; MODEL LAND_USE / ALL / ;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment