| import streamlit as st |
| import pandas as pd |
| import numpy as np |
| import plotly.graph_objects as go |
|
|
| |
| st.set_page_config(page_title="Energy Optimization AI", layout="wide", page_icon="π") |
|
|
| |
| st.title("πβ‘ Energy Optimization AI β‘π¬οΈ") |
| st.write(""" |
| Optimize your energy distribution across renewable sources in real-time |
| to maximize efficiency, reduce costs, and promote sustainability. |
| """) |
|
|
| |
| st.header("Project Overview") |
| st.write(""" |
| This application leverages **AI-based decision-making** to analyze your energy usage across solar and wind energy sources. It provides recommendations for optimizing cost-effectiveness and efficiency while maintaining sustainability goals. Use this tool to make informed energy distribution decisions for homes, industries, or renewable energy setups. |
| """) |
|
|
| |
| st.header("Input Energy Details") |
| col1, col2 = st.columns(2) |
|
|
| |
| with col1: |
| st.subheader("Solar Energy") |
| solar_usage = st.slider("Solar Energy Usage (kWh):", 0.0, 1000.0, 200.0, step=10.0) |
| solar_cost = st.slider("Solar Cost per kWh:", 0.0, 10.0, 2.5, step=0.1) |
|
|
| with col2: |
| st.subheader("Wind Energy") |
| wind_usage = st.slider("Wind Energy Usage (kWh):", 0.0, 1000.0, 300.0, step=10.0) |
| wind_cost = st.slider("Wind Cost per kWh:", 0.0, 10.0, 1.8, step=0.1) |
|
|
| |
| if st.button("π Optimize"): |
| total_usage = solar_usage + wind_usage |
|
|
| if total_usage == 0: |
| st.error("β οΈ Please enter energy usage for at least one source.") |
| else: |
| total_cost = (solar_usage * solar_cost) + (wind_usage * wind_cost) |
| solar_share = (solar_usage / total_usage) * 100 if solar_usage > 0 else 0 |
| wind_share = (wind_usage / total_usage) * 100 if wind_usage > 0 else 0 |
|
|
| cost_effective_source = ( |
| "solar" if solar_cost < wind_cost |
| else "wind" if wind_cost < solar_cost |
| else "both sources equally" |
| ) |
|
|
| suggestion = ( |
| f"Balance usage between solar and wind energy, prioritizing {cost_effective_source} for lower costs." |
| ) |
|
|
| |
| st.subheader("Optimization Results") |
| col3, col4 = st.columns(2) |
| with col3: |
| st.metric("Total Energy Usage", f"{total_usage:.2f} kWh") |
| st.metric("Solar Share", f"{solar_share:.2f}%") |
| with col4: |
| st.metric("Total Cost", f"{total_cost:.2f} currency") |
| st.metric("Wind Share", f"{wind_share:.2f}%") |
|
|
| st.success(suggestion) |
|
|
| |
| st.subheader("Visualization") |
| chart_data = pd.DataFrame( |
| { |
| "Energy Source": ["Solar", "Wind"], |
| "Usage (kWh)": [solar_usage, wind_usage], |
| "Cost (Currency)": [solar_usage * solar_cost, wind_usage * wind_cost], |
| } |
| ) |
|
|
| |
| fig = go.Figure() |
|
|
| |
| fig.add_trace(go.Bar( |
| x=chart_data["Energy Source"], |
| y=chart_data["Usage (kWh)"], |
| name="Usage (kWh)", |
| marker_color='blue' |
| )) |
|
|
| |
| fig.add_trace(go.Bar( |
| x=chart_data["Energy Source"], |
| y=chart_data["Cost (Currency)"], |
| name="Cost (Currency)", |
| marker_color='green' |
| )) |
|
|
| fig.update_layout( |
| barmode='group', |
| title="Energy Usage and Cost Comparison", |
| xaxis_title="Energy Source", |
| yaxis_title="Value", |
| legend_title="Metrics", |
| ) |
| st.plotly_chart(fig, use_container_width=True) |
|
|
| |
| st.subheader("Detailed Explanation") |
| st.write( |
| f"Based on your inputs, **{cost_effective_source} energy** is more cost-effective. " |
| f"This analysis helps balance your energy sources to minimize costs and maximize efficiency." |
| ) |
|
|
| |
| st.sidebar.header("About") |
| st.sidebar.info(""" |
| This tool helps optimize renewable energy usage for cost savings, sustainability, |
| and better energy distribution management. |
| """) |
| st.sidebar.header("How It Works") |
| st.sidebar.write(""" |
| 1. **Input Energy Details**: Specify the usage and cost for solar and wind energy. |
| 2. **Optimization**: The tool calculates the total energy usage, cost, and shares of each source. |
| 3. **Visual Analysis**: Get insights into cost-effective strategies with detailed charts and recommendations. |
| """) |
|
|