Answered step by step
Verified Expert Solution
Link Copied!

Question

00
1 Approved Answer

import numpy as np import matplotlib.pyplot as plt # Elektrikli aletlerin ykleri (Watt cinsinden) loads = { 'buzdolabi': 500, 'camasir_makinesi': 1800, 'camasir_kurutma_makinesi': 2200, 'bulasik_makinesi': 2000,

import numpy as np import matplotlib.pyplot as plt # Elektrikli aletlerin ykleri (Watt cinsinden) loads = { 'buzdolabi': 500, 'camasir_makinesi': 1800, 'camasir_kurutma_makinesi': 2200, 'bulasik_makinesi': 2000, 'elektrikli_supurge': 1400, 'utu': 1200, 'klima': 900, 'televizyon': 200, 'mikrodalga_firin': 800, 'sac_kurutma_makinesi': 1400 } # ncelikler priorities = { 'buzdolabi': 1, 'camasir_makinesi': 1, 'camasir_kurutma_makinesi': 2, 'bulasik_makinesi': 1, 'elektrikli_supurge': 2, 'utu': 3, 'klima': 1, 'televizyon': 3, 'mikrodalga_firin': 2, 'sac_kurutma_makinesi': 3 } # alma saat aralklar (Yaz gn iin gncellenmi saat aralklar) summer_hours = { 'buzdolabi': (0, 24), 'camasir_makinesi': (7, 9), 'camasir_kurutma_makinesi': (9, 11), 'bulasik_makinesi': (20, 21), 'elektrikli_supurge': (12, 13), 'utu': (11, 13), 'klima': (14, 18), 'televizyon': (17, 19), 'mikrodalga_firin': (12, 13), 'sac_kurutma_makinesi': (10, 11) } # Gnlk yk profilini olutur daily_load = np.zeros(24) for appliance, hours in summer_hours.items(): start, end = hours daily_load[start:end] += loads[appliance] # zin verilen maksimum g (Watt cinsinden) threshold = 3000 import numpy as np import matplotlib.pyplot as plt # Yk kaydrma yntemini uygula summer_shifted_load = np.zeros(24) remaining_summer_load = daily_load.copy() for hour in range(24): current_load = remaining_summer_load[hour] summer_priority_loads = sorted([(appliance, loads[appliance]) for appliance in loads if priorities[appliance] == 1], key=lambda x: x[1], reverse=False) # Dk ncelikten yksek ncelie srala for appliance, load in summer_priority_loads: if current_load + load <= threshold: summer_shifted_load[hour] += load remaining_summer_load[hour] -= load break # Eii aan saat dilimlerinde geriye kalan ykleri dzenle for hour in range(24): if remaining_summer_load[hour] > 0: # Find the appliance with the lowest priority lowest_priority_appliance = min(priorities, key=priorities.get) remaining_summer_load[hour] = 0 summer_shifted_load[hour] += loads[lowest_priority_appliance] # Eii aan saat dilimlerinde geriye kalan ykleri dzenle for hour in range(24): if remaining_summer_load[hour] > 0 and summer_shifted_load[hour] < loads[max(priorities, key=priorities.get)]: max_priority_appliance = max(priorities, key=priorities.get) remaining_summer_load[hour] = 0 summer_shifted_load[hour] += loads[max_priority_appliance] # Grafikleri olutur plt.figure(figsize=(12, 6)) # Daily Base Loading iin grafik plt.plot(range(24), daily_load, label='Yaz Gnlk Temel Ykleme', linestyle='--', marker='o') plt.xlabel('Saat') plt.ylabel('Toplam Yk (Watt)') plt.legend() plt.title('Yaz Gnlk Temel Ykleme Profili') plt.tight_layout() plt.show() # Shifted Loading iin grafik plt.figure(figsize=(12, 6)) plt.plot(range(24), summer_shifted_load, label='Yaz Kaydrlm Ykleme', linestyle='--', marker='o') plt.xlabel('Saat') plt.ylabel('Toplam Yk (Watt)') plt.legend() plt.title('Yaz Kaydrlm Ykleme Profili') plt.tight_layout() plt.show() # Enerji fiyatlarn hesapla night_price = 1.43 day_price = 2.28 peak_price = 3.35 summer_total_cost_no_shift = sum(daily_load[:6]) * night_price + sum(daily_load[6:17]) * day_price + sum(daily_load[17:]) * peak_price summer_total_cost_shifted = sum(summer_shifted_load[:6]) * night_price + sum(summer_shifted_load[6:17]) * day_price + sum(summer_shifted_load[17:]) * peak_price print(f'Yaz Yk kaydrmal toplam maliyet: {summer_total_cost_shifted:.2f} TL') print(f'Yaz Yk kaydrmasz toplam maliyet: {summer_total_cost_no_shift:.2f} TL') Bu kodda rnein saat 10'da toplam 4100 yk vardr ve 3000 eii alr. Bu saatte buzdolab, amar kurutma makinesi ve sa kurutma makinesi almakta. Bu aletlerden en dk ncelik '3' ncelik ile sa kurutma makinesine aittir. Bu yzden bu yk bir sonraki saate kaydrlr. Ve bu ilem mant toplam eik deerini aan dier saatlere de uygulanmaldr. Bu kaydrma kodunu yazar msn?

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access with AI-Powered Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Students also viewed these Databases questions