Aller au contenu

Solutions to Exo5

  1. In this solution, the function on the life cycle assessment (which includes the energy consumption) is kept. 3 changes to the main program (main_cabin.py) are necessary :

    (...)
    function_labels = ["Life_Cycle_Assessment"]
     # function_labels = ["Life_Cycle_Cost", "Life_Cycle_Assessment", "Thermal_Comfort"]
    (...)
    Simuls.instantiate_uncertain_design_problem(
         decision_space=decision_sp,
         uncertain_space=uncertain_sp,
         # cost_functions=[cost_lifecylecost, cost_lifecyleassessment, cost_thermalcomfort],
         cost_functions=[cost_lifecyleassessment],
         catalog=CATALOG,
         cat_name=catalog_name,
         metrics=["Economics", "Environment"]
     )
    (...)
    pareto_rank_df = compute_pareto_ranks(
         df=uncertain_design,
         objectives=function_labels,
         # objectives_sign=[1, 1, 1],  # 1 (minimize) or -1 (maximize) for each criterion
         objectives_sign=[1]
     )
    (...)
    
    In addition, because the other objective functions dissappear, it is necessary to remove (comment out below) specific uncertainties related to them, here the inflation rate of energy, otherwise the execution will fail. In uncertain_space_cabin.py :
        uncertain_space.add_space_dimension(name="Climate_change",      cat="Weather",      u=U1)
        uncertain_space.add_space_dimension(name="Setpoints",           cat="Occupancy",    u=U2)
        uncertain_space.add_space_dimension(name="Infiltration",        cat="AirRenewal",   u=U3)
        # uncertain_space.add_space_dimension(name="Energy_Inflation",    cat="Economics",    u=U4)
    

  2. As above, selecting Thermal_Comfort as one objective. The other objective is taken from the list of cost functions in tipee_limos_eplus/oreni/cost_functions and it is CostEnergyNeeds.py.