Aller au contenu

Solutions to Exo6

  1. To change the construction of several group of walls independently, create 1 retrofit action and design variable per group as shown in file tipee_limos_eplus/examples/Practical_learning_exercices/Exo6/Solution with actions X2_n_act ... and variables X2_n ... . Notice the new item in the description of the actions whose key is "NewConstructionNameSuffix" and whose value is a string that allows to create new construction names as the optimization proceeds.
  2. To optimize the insulation of the roof by choosing the number of layers, the action to be taken is described in the file tipee_limos_eplus/examples/Practical_learning_exercices/Exo6/Solution/design_space_cabin.py.
    • First one needs a search space, which is a list of constructions :
      choices_roof_insulation_layer = [
        [{"Product": "fibrebois_flex55_optima_120mm", "Position": 1}],
        [{"Product": "fibrebois_flex55_optima_120mm", "Position": 1}, {"Product": "fibrebois_flex55_optima_100mm", "Position": 2}]
      ]
      
    • Then create a retrofit action of type WallModification and the associated design variable which is a choice of construction within choices_roof_insulation_layer:
      X4_act = {
        "Category": "WallModification",
        "SubCategory1": "Insulation",
        "SubCategory2": "Roof",
        "SubCategory3": "Outdoor",
        "Economics": {"CostUnit": "€.m-2", "UnitaryLaborCost": 15},
        "Environment": {"CO2EmissionsUnit": "kgCO2.m-2", "UnitaryLaborCO2Emissions": 1},
        "DeferredAction": {"TotalCost": 2200, "TotalCO2Emissions": 304, "TriggerYear": 5, "ReplacementRate": 30},
        "Description": {
          "TargetSurfaceNames": ["Roof"],
          "Layer2RemoveIndexes": [1],
          "LayerInsert": [],
          "TargetConstructionName": "Toit",
        },
      }
      X4 = {
        "Action": X4_act,
        "Variables": ["LayerInsert"],
        "SearchSpace": {
          "LayerInsert": {"Type": "discrete", "Law": "uniform", "Bounds": {"choices": choices_roof_insulation_layer}},
        },
      }
      
      After main_cabin.py has run, outputs can be checked in tipee_limos_eplus/outputs/cabin_Exo6. Since the idf's are printed (option save_idf=True in SetAndRunSimulations), it can be seen in the logged idf's that new constructions were created. Again, results with design variables, uncertainties and objectives can be found in the uncertain_design.csv file.