From d565e7e88c2854014a25930d1517ac8cd0565506 Mon Sep 17 00:00:00 2001
From: Peter Alexander <peter@blackhillock.co.uk>
Date: Fri, 31 Aug 2018 23:18:57 +0100
Subject: [PATCH] Potential fixes to energy crop issues with profit
 optimisation

---
 src/ac/ed/lurg/country/CountryAgent.java | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/ac/ed/lurg/country/CountryAgent.java b/src/ac/ed/lurg/country/CountryAgent.java
index ea961dcf..8acd1ef4 100644
--- a/src/ac/ed/lurg/country/CountryAgent.java
+++ b/src/ac/ed/lurg/country/CountryAgent.java
@@ -247,7 +247,10 @@ public class CountryAgent {
 			double changeDown = 0.0;
 
 			if (allowedImportChange > 0.0) {
-				double maxOfProdOrSupply = cropUsage.getProduction() + Math.max(baseTradeOrProd, 0);
+				double maxOfProdOrSupply = ModelConfig.ORIG_LEAST_COST_MIN ? 
+						(cropUsage.getProduction() + Math.max(baseTradeOrProd, 0)) : 
+						Math.max(cropUsage.getNetImports() + baseTradeOrProd, baseTradeOrProd);  
+				
 				changeDown = changeUp = allowedImportChange * maxOfProdOrSupply;
 			}
 			if (CropType.ENERGY_CROPS.equals(crop)) {
@@ -257,7 +260,10 @@ public class CountryAgent {
 					baseTradeOrProd = 0.0;
 					ecMaxExport = 0.0; 
 				}
-				changeDown = ecMaxExport;
+				if (ModelConfig.ORIG_LEAST_COST_MIN)
+					changeDown = ecMaxExport;
+				else
+					changeUp = ecMaxExport;
 
 				if (Double.isNaN(baseTradeOrProd))
 					baseTradeOrProd=0;
-- 
GitLab