Performance maps
A performance map is used to model a law containing several variables (2 to 3) where behaviors are not linear \(z=f(x,y)\, where\, f\, is\, not\, linear\).
MIPModeler contains functions that allows to linearize non-linear behaviours in the models. This functionality should be used only if necessary because it can increase a lot the time of resolution.
Important
Note that it’s not possible to optimize the size and to use the performance map for the same component in a MILP. Instead, you can run a case with the best performance and the worst one to have the dimensions for the “extreme” cases and run a sensitivity in this range with the performance map activated. The user can choose to build a map to model the function f. The file may be generated by the Graphical User Interface (CS Datafiles tab in the Model Inspector), or can be written “by hand”.
See also
Two ways can be used to model the performance map with Cairn.
The first way is to give the model.z columns (n*m rows, 6 here) function of the model.x (n rows, 3 here) and model.y (m rows, 2 here) columns,
The second way is to give the model.z columns (n*m rows, 6 here) function of the model.x(r=n) and model.y(c=m) columns.
model.x |
model.y |
model.x(r=3) |
model.y(c=2) |
model.z |
---|---|---|---|---|
x1 |
y1 |
x1 |
y1 |
f(x1,y1) |
x2 |
y2 |
x1 |
y2 |
f(x1,y2) |
x3 |
x2 |
y1 |
f(x2,y1) |
|
x2 |
y2 |
f(x2,y2) |
||
x3 |
y1 |
f(x3,y1) |
||
x3 |
y2 |
f(x3,y2) |
Caution
The name of the parameters model.z, model.x and model.y are imposed by the component type.
The syntaxes model.x(r=n) and model.x(c=m) are compulsory.
Use “;” as a delimiter.
Here is an example of such a file in the case of the performance map for the COP of a HeatPump. The COP of the heatpump is given as given in equation (1) where \(T_{cold},T_{hot}\) are the cold and hot temperatures.
In the following example, the COP is modelled by 2 values for x and 2 values for y and 4 z (COP) values are evaluated using the map.
Heat_Pump.ColdTempTable |
Heat_Pump.HotTempTable |
Heat_Pump.ColdTempTable(r=2) |
Heat_Pump.HotTempTable(c=2) |
Heat_Pump.CopTable |
Heat_Pump.ThermalPowerTable |
---|---|---|---|---|---|
5 |
50 |
5 |
50 |
3 |
7 |
10 |
60 |
5 |
60 |
4 |
8 |
10 |
50 |
5 |
9 |
||
10 |
60 |
6 |
10 |