Add Constant Elasticity Substitution to Bin translation layer
What is this about?
Given A CES production function with a set of inputs and outputs we can implement a python based translation into a Linear set of constraints which best approximate the CES function. Inspired by #954
Example Say I have Bike Factory as my technology :
Inputs to bike factory are Carbon, Aluminium, Lithium Outputs from bike factory are Bikes
Material 1 : is a CES between Carbon and Aluminium Take a positive elasticity of substitution between Carbon and Aluminium
Now this system can be automatically translated (to a certain precision) into a set of binned technologies with corresponding bounds. This can extend to a nested CES. Mirroring it in reporting we can automatically convert it back into CES form, removing a lot of manual work in hardcoded aggregation maps.
I infer this is a proposed improvement to the MACRO CGE model and its GAMS implementation/supporting Python code in the message_ix package. If that's correct, perhaps add the MACRO label to the issue to make it clear.
Ah no I should have made it clearer. I meant this for the LP model actually. While its not uniquely defined and there is a certain irreducible approximation error there is a linearization mapping for a given CES function. This would mean creating bins of technologies like the mode idiom used in modern message techs or _1, _2 used for messageV technologies.