2024电工杯A题保姆级分析完整思路+代码+数据教学

news2025/1/11 21:39:34

2024电工杯A题保姆级分析完整思路+代码+数据教学

A题题目:园区微电网风光储协调优化配置 

接下来我们将按照题目总体分析-背景分析-各小问分析的形式来

总体分析:

题目要求对园区微电网进行风光储协调优化配置,具体涉及三个园区(A、B、C)的独立运营和联合运营情况。目标是通过合理配置储能系统,尽量提高风光电量的负荷占比,减少弃电,同时考虑投资及其收益。具体需要解决以下几个问题:

问题1:各园区独立运营储能配置方案及经济性分析

  1. 未配置储能时各园区的购电量、弃风弃光电量、总供电成本和单位电量平均供电成本分析。

  2. 配置50kW/100kWh储能系统后的经济性、最优运行策略及购电计划分析。

  3. 判断50kW/100kWh方案是否最优,若不是,制定最优储能配置方案并论证其优越性。

问题2:联合园区储能配置方案及经济性分析

  1. 未配置储能时联合园区的总购电量、总弃风弃光电量、总供电成本和单位电量平均供电成本分析。

  2. 制定联合园区的储能最优配置方案及其运行策略、购电计划,分析经济性。

  3. 比较联合运营与独立运营的经济收益,并分析主要影响因素。

问题3:园区风、光、储能的协调配置方案及经济性分析

  1. 考虑负荷增长50%后的独立运营和联合运营方案,制定风光储协调配置方案。

  2. 按全年12个月典型日风光发电数据,结合分时电价制定购电计划并分析经济性。

背景分析:

随着可再生能源(如风电和光伏发电)的普及,如何高效利用这些不稳定的电力资源成为一个重要课题。微电网系统通过结合风电、光伏发电与储能系统,能够在一定程度上解决风光发电的波动性和间歇性问题,优化电力资源配置,提高可再生能源的利用率。

具体背景:

  1. 园区微电网结构:

  • 三个园区(A、B、C)各自独立接入主电网。

  • 每个园区均有其最大负荷及风光发电装机容量(园区A:750kW光伏,447kW负荷;园区B:1000kW风电,419kW负荷;园区C:600kW光伏、500kW风电,506kW负荷)。

  • 经济性考量:

  • 可再生能源优先供给园区负荷,电力不足部分从主电网购电(购电价格1元/kWh)。

  • 由于风光发电的波动特性,可能出现弃电现象(风电、光伏电量超过负荷且不能售回主电网)。

  • 储能系统配置:

  • 配置磷酸铁锂电池储能系统(功率单价800元/kW,能量单价1800元/kWh,SOC范围10%-90%,充/放电效率95%,寿命10年)。

  • 通过配置储能系统,能够缓解负荷与发电功率的不匹配,减少弃电量。

问题分析:

  1. 独立运营的经济性分析:

  • 未配置储能时的经济性:购电量、弃电量、总供电成本及平均供电成本。

  • 配置储能系统后的经济性:储能运行策略及购电计划,分析是否改善经济性。

  • 联合运营的经济性分析:

  • 未配置储能时,三个园区联合运营的经济性:总购电量、总弃电量、总供电成本及平均供电成本。

  • 制定联合运营的储能最优配置方案,并分析其经济性。

  • 比较独立运营与联合运营的经济收益,分析主要影响因素。

  • 风光储协调配置方案:

  • 考虑负荷增长50%后的独立运营和联合运营方案。

  • 使用全年12个月的典型日发电数据,结合分时电价制定购电计划,分析经济性。

通过以上分析,最终来优化储能配置,提高风光发电的利用率,降低总供电成本,实现经济效益的最大化。

数据集分析:

我们以附件1为例,对其进行数据预处理和EDA(探索性数据分析),我们分为以下几步(python代码)

  1. 读取数据

  2. 数据预处理

  • 检查缺失值

  • 数据类型转换

  • EDA

  • 各园区负荷数据的基本统计描述

  • 各园区负荷数据的可视化

1. 读取数据

import pandas as pd

# 读取附件1:各园区典型日负荷数据

file_path = '/mnt/data/附件1:各园区典型日负荷数据.xlsx'

load_data = pd.read_excel(file_path, sheet_name=None)

# 查看数据表名称

sheet_names = load_data.keys()

print("数据表名称:", sheet_names)

# 提取每个园区的数据

load_data_A = load_data['园区A']

load_data_B = load_data['园区B']

load_data_C = load_data['园区C']

# 显示每个园区数据的前几行

print("园区A负荷数据前几行:")

print(load_data_A.head())

print("\n园区B负荷数据前几行:")

print(load_data_B.head())

print("\n园区C负荷数据前几行:")

print(load_data_C.head())

2. 数据预处理

检查缺失值和数据类型转换

# 检查各园区数据的缺失值情况

print("园区A缺失值情况:")

print(load_data_A.isnull().sum())

print("\n园区B缺失值情况:")

print(load_data_B.isnull().sum())

print("\n园区C缺失值情况:")

print(load_data_C.isnull().sum())

# 检查数据类型

print("\n园区A数据类型:")

print(load_data_A.dtypes)

print("\n园区B数据类型:")

print(load_data_B.dtypes)

print("\n园区C数据类型:")

print(load_data_C.dtypes)

# 如有必要,进行数据类型转换(此处假设数据类型已经正确,不需要转换)

3. 探索性数据分析(EDA)

基本统计描述

# 各园区负荷数据的基本统计描述

print("园区A负荷数据基本统计描述:")

print(load_data_A.describe())

print("\n园区B负荷数据基本统计描述:")

print(load_data_B.describe())

print("\n园区C负荷数据基本统计描述:")

print(load_data_C.describe())

负荷数据可视化

import matplotlib.pyplot as plt

# 设置绘图风格

plt.style.use('seaborn-darkgrid')

# 可视化园区A的负荷数据

plt.figure(figsize=(12, 6))

plt.plot(load_data_A['时间'], load_data_A['负荷'], label='园区A负荷')

plt.xlabel('时间 (小时)')

plt.ylabel('负荷 (kW)')

plt.title('园区A典型日负荷曲线')

plt.legend()

plt.show()

# 可视化园区B的负荷数据

plt.figure(figsize=(12, 6))

plt.plot(load_data_B['时间'], load_data_B['负荷'], label='园区B负荷', color='orange')

plt.xlabel('时间 (小时)')

plt.ylabel('负荷 (kW)')

plt.title('园区B典型日负荷曲线')

plt.legend()

plt.show()

# 可视化园区C的负荷数据

plt.figure(figsize=(12, 6))

plt.plot(load_data_C['时间'], load_data_C['负荷'], label='园区C负荷', color='green')

plt.xlabel('时间 (小时)')

plt.ylabel('负荷 (kW)')

plt.title('园区C典型日负荷曲线')

plt.legend()

plt.show()

问题一分析:

这个问题包含三个部分:

  1. 未配置储能时的经济性分析

  2. 配置储能后的经济性分析

  3. 储能系统配置方案优化

下面详细分析每个部分需要解决的问题和方法。

1.1 未配置储能时的经济性分析

需要解决的问题:

  • 计算各园区的购电量。

  • 计算各园区的弃风弃光电量。

  • 计算总供电成本和单位电量平均供电成本。

  • 分析影响经济性的关键因素。

步骤:

  1. 从负荷数据和风光发电数据中提取各园区的典型日数据。

  2. 计算各时刻的风光发电总量。

  3. 比较风光发电总量与负荷需求,计算购电量和弃电量。

  4. 计算总供电成本和单位电量平均供电成本。

1.2 配置储能后的经济性分析

需要解决的问题:

  • 配置50kW/100kWh储能系统后的经济性分析。

  • 制定储能最优运行策略及购电计划。

  • 分析配置储能后的运行经济性是否改善及其原因。

步骤:

  1. 引入储能系统,考虑储能系统的功率和容量限制,以及充放电效率。

  2. 在负荷需求大于风光发电时,优先使用储能系统提供电力,不足部分从电网购电。

  3. 在风光发电大于负荷需求时,优先充电至储能系统,超出部分视为弃电。

  4. 计算配置储能系统后的购电量、弃电量、总供电成本和单位电量平均供电成本。

  5. 比较未配置储能和配置储能情况下的经济性。

1.3 储能系统配置方案优化

需要解决的问题:

  • 判断50kW/100kWh储能方案是否最优。

  • 如果不是,制定各园区最优的储能功率、容量配置方案。

  • 论证所制定方案的优越性。

步骤:

  1. 通过不同储能配置方案的模拟,比较各配置方案的经济性指标。

  2. 确定在各园区经济性最优的储能功率和容量配置。

  3. 分析最优配置方案的优越性,包括投资成本与运行成本的综合考虑。

下面给大家第一问需要的代码,包括未配置储能时的经济性分析和配置储能后的经济性分析:

读取数据和初步预处理

import pandas as pd

# 读取附件1:各园区典型日负荷数据

file_path = '/mnt/data/附件1:各园区典型日负荷数据.xlsx'

load_data = pd.read_excel(file_path, sheet_name=None)

# 提取每个园区的数据

load_data_A = load_data['园区A']

load_data_B = load_data['园区B']

load_data_C = load_data['园区C']

# 读取附件2:各园区典型日风光发电数据

file_path_gen = '/mnt/data/附件2:各园区典型日风光发电数据.xlsx'

generation_data = pd.read_excel(file_path_gen, sheet_name=None)

# 提取每个园区的发电数据

generation_data_A = generation_data['园区A']

generation_data_B = generation_data['园区B']

generation_data_C = generation_data['园区C']

计算未配置储能时的经济性

# 定义购电成本

grid_cost = 1 # 元/kWh

# 计算未配置储能时的购电量、弃风弃光电量和供电成本

def calculate_no_storage(load, generation):

load['购电量'] = 0

load['弃电量'] = 0

load['供电成本'] = 0

for i in range(len(load)):

generation_total = generation['风电功率'][i] + generation['光伏功率'][i]

if generation_total >= load['负荷'][i]:

load['弃电量'][i] = generation_total - load['负荷'][i]

else:

load['购电量'][i] = load['负荷'][i] - generation_total

load['供电成本'][i] = load['购电量'][i] * grid_cost

total_cost = load['供电成本'].sum()

total_load = load['负荷'].sum()

avg_cost = total_cost / total_load if total_load != 0 else 0

return total_cost, avg_cost, load['购电量'].sum(), load['弃电量'].sum()

# 园区A

total_cost_A, avg_cost_A, total_grid_A, total_discard_A = calculate_no_storage(load_data_A, generation_data_A)

print(f"园区A未配置储能时总供电成本: {total_cost_A} 元, 单位电量平均供电成本: {avg_cost_A} 元/kWh, 总购电量: {total_grid_A} kWh, 总弃电量: {total_discard_A} kWh")

# 园区B

total_cost_B, avg_cost_B, total_grid_B, total_discard_B = calculate_no_storage(load_data_B, generation_data_B)

print(f"园区B未配置储能时总供电成本: {total_cost_B} 元, 单位电量平均供电成本: {avg_cost_B} 元/kWh, 总购电量: {total_grid_B} kWh, 总弃电量: {total_discard_B} kWh")

# 园区C

total_cost_C, avg_cost_C, total_grid_C, total_discard_C = calculate_no_storage(load_data_C, generation_data_C)

print(f"园区C未配置储能时总供电成本: {total_cost_C} 元, 单位电量平均供电成本: {avg_cost_C} 元/kWh, 总购电量: {total_grid_C} kWh, 总弃电量: {total_discard_C} kWh")

计算配置储能后的经济性

# 定义储能系统参数

storage_power = 50 # kW

storage_capacity = 100 # kWh

storage_efficiency = 0.95

soc_min = 0.1

soc_max = 0.9

# 计算配置储能后的购电量、弃风弃光电量和供电成本

def calculate_with_storage(load, generation):

load['购电量'] = 0

load['弃电量'] = 0

load['供电成本'] = 0

soc = storage_capacity * soc_max # 初始SOC设为最大值

for i in range(len(load)):

generation_total = generation['风电功率'][i] + generation['光伏功率'][i]

load_needed = load['负荷'][i]

if generation_total >= load_needed:

surplus = generation_total - load_needed

if soc < storage_capacity * soc_max:

charge_power = min(surplus, storage_power) * storage_efficiency

soc += charge_power

if soc > storage_capacity * soc_max:

soc = storage_capacity * soc_max

surplus -= charge_power / storage_efficiency

load['弃电量'][i] = surplus

else:

deficit = load_needed - generation_total

if soc > storage_capacity * soc_min:

discharge_power = min(deficit, storage_power) / storage_efficiency

soc -= discharge_power

if soc < storage_capacity * soc_min:

soc = storage_capacity * soc_min

deficit -= discharge_power * storage_efficiency

load['购电量'][i] = deficit

load['供电成本'][i] = load['购电量'][i] * grid_cost

total_cost = load['供电成本'].sum()

total_load = load['负荷'].sum()

avg_cost = total_cost / total_load if total_load != 0 else 0

return total_cost, avg_cost, load['购电量'].sum(), load['弃电量'].sum()

# 园区A

total_cost_A_with_storage, avg_cost_A_with_storage, total_grid_A_with_storage, total_discard_A_with_storage = calculate_with_storage(load_data_A, generation_data_A)

print(f"园区A配置储能后总供电成本: {total_cost_A_with_storage} 元, 单位电量平均供电成本: {avg_cost_A_with_storage} 元/kWh, 总购电量: {total_grid_A_with_storage} kWh, 总弃电量: {total_discard_A_with_storage} kWh")

# 园区B

total_cost_B_with_storage, avg_cost_B_with_storage, total_grid_B_with_storage, total_discard_B_with_storage = calculate_with_storage(load_data_B, generation_data_B)

print(f"园区B配置储能后总供电成本: {total_cost_B_with_storage} 元, 单位电量平均

当然,第一问想要做的出彩,可以使用以下方法:

混合整数线性规划(Mixed-Integer Linear Programming, MILP)

混合整数线性规划适用于包含整数变量的优化问题。储能系统配置中的开关状态、充放电决策可以用整数变量表示,通过MILP求解最优配置方案。

元启发式算法(Metaheuristic Algorithms)

例如,遗传算法(Genetic Algorithm)、粒子群优化(Particle Swarm Optimization, PSO)等,这些算法能够有效搜索复杂的非线性和非凸优化空间,找到近似最优解。

仿真建模与蒙特卡洛模拟(Simulation Modeling and Monte Carlo Simulation)

这里给大家讲解一下粒子群优化如何做这道题目:

PSO算法概述

PSO通过模拟鸟群觅食行为来优化问题,主要包括以下步骤:

  1. 初始化一群粒子,每个粒子表示一个潜在解。

  2. 更新每个粒子的速度和位置,使其趋向于自身和群体的最佳位置。

  3. 评估每个粒子的适应度值,根据适应度值更新全局最佳位置。

  4. 重复以上步骤直到满足终止条件(如达到最大迭代次数或适应度值变化小于设定阈值)。

Python实现

下面是一个使用PSO算法优化储能系统配置方案的示例代码。假设我们需要优化储能系统的功率和容量,以最小化总供电成本。

import numpy as np

import pandas as pd

from pyswarm import pso

# 读取数据

file_path = '/mnt/data/附件1:各园区典型日负荷数据.xlsx'

load_data = pd.read_excel(file_path, sheet_name=None)

load_data_A = load_data['园区A']

file_path_gen = '/mnt/data/附件2:各园区典型日风光发电数据.xlsx'

generation_data = pd.read_excel(file_path_gen, sheet_name=None)

generation_data_A = generation_data['园区A']

# 定义PSO优化目标函数

def cost_function(x):

storage_power, storage_capacity = x

storage_efficiency = 0.95

soc_min, soc_max = 0.1, 0.9

grid_cost = 1

T = len(load_data_A)

soc = storage_capacity * soc_max # 初始SOC设为最大值

total_cost = 0

for t in range(T):

generation_total = generation_data_A['风电功率'][t] + generation_data_A['光伏功率'][t]

load_needed = load_data_A['负荷'][t]

if generation_total >= load_needed:

surplus = generation_total - load_needed

if soc < storage_capacity * soc_max:

charge_power = min(surplus, storage_power) * storage_efficiency

soc += charge_power

if soc > storage_capacity * soc_max:

soc = storage_capacity * soc_max

surplus -= charge_power / storage_efficiency

else:

deficit = load_needed - generation_total

if soc > storage_capacity * soc_min:

discharge_power = min(deficit, storage_power) / storage_efficiency

soc -= discharge_power

if soc < storage_capacity * soc_min:

soc = storage_capacity * soc_min

deficit -= discharge_power * storage_efficiency

total_cost += deficit * grid_cost

return total_cost

# PSO参数

lb = [10, 50] # 储能功率和容量的下界

ub = [200, 500] # 储能功率和容量的上界

maxiter = 100 # 最大迭代次数

swarmsize = 30 # 粒子群大小

# 执行PSO优化

best_x, best_cost = pso(cost_function, lb, ub, swarmsize=swarmsize, maxiter=maxiter)

print(f"最优储能功率: {best_x[0]} kW")

print(f"最优储能容量: {best_x[1]} kWh")

print(f"最小总供电成本: {best_cost} 元")

通过上述代码,我们使用PSO算法优化了储能系统的功率和容量配置,找到了使总供电成本最小化的最优配置方案。可以根据具体问题和数据调整PSO算法的参数(如粒子群大小、最大迭代次数)来获得更优的结果。

问题2-3后续更新

其中更详细的思路、各题目思路、代码、讲解视频、成品论文及其他相关内容,可以点击下方名片获取哦!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1686539.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

小蓝和小青在做数字破解游戏

小蓝和小青在做数字破解游戏,设某图案由m*n的0和1点阵组成&#xff0c;依照以下规则破解连续一组数值&#xff0c;从点阵图第一行第一个符号开始计算&#xff0c;从左到右&#xff0c;由上至下。第一个数表示连续有几个0&#xff0c;第二个数表示接下来连续有几个1&#xff0c;…

链表经典OJ问题【环形链表】

题目导入 题目一&#xff1a;给你一个链表的头节点 head &#xff0c;判断链表中是否有环 题目二&#xff1a;给定一个链表的头节点 head &#xff0c;返回链表开始入环的第一个节点。 如果链表无环&#xff0c;则返回 NULL。 题目一 给你一个链表的头节点 head &#xff0c;…

什么是物联网通信网关?-天拓四方

在信息化、智能化的时代&#xff0c;物联网技术的广泛应用正在逐渐改变我们的生活方式。物联网通过各种传感器和设备&#xff0c;将现实世界与数字世界紧密相连&#xff0c;从而实现智能化、自动化的生活和工作方式。作为物联网生态系统中的重要组成部分&#xff0c;物联网通信…

Q-Learning学习笔记-李宏毅

introduction 学习的并不是policy&#xff0c;而是学习critic&#xff0c;critic用来评价policy好还是不好&#xff1b;一种critic&#xff1a;state value function V π ( s ) V^\pi(s) Vπ(s)是给定一个policy π \pi π&#xff0c;在遇到state s s s之后累积的reward的…

并发控制利器Semaphore

并发控制利器&#xff1a;Semaphore详解与应用 简介 Semaphore 是Java并发编程中的一个重要工具&#xff0c;用于管理对共享资源的访问权限&#xff0c;确保系统资源不会因过度访问而耗尽。形象地说&#xff0c;Semaphore 可以比喻为交通信号灯&#xff0c;它控制着能够同时进…

Spring Cloud 系列之Gateway:(9)初识网关

传送门 Spring Cloud Alibaba系列之nacos&#xff1a;(1)安装 Spring Cloud Alibaba系列之nacos&#xff1a;(2)单机模式支持mysql Spring Cloud Alibaba系列之nacos&#xff1a;(3)服务注册发现 Spring Cloud 系列之OpenFeign&#xff1a;(4)集成OpenFeign Spring Cloud …

探索 JavaScript 新增声明命令与解构赋值的魅力:从 ES5 迈向 ES6

个人主页&#xff1a;学习前端的小z 个人专栏&#xff1a;JavaScript 精粹 本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结&#xff0c;欢迎大家在评论区交流讨论&#xff01; ES5、ES6介绍 文章目录 &#x1f4af;声明命令 let、const&#x1f35f;1 let声明符&a…

【区块链】caliper压力测试

本文上接postman接口测试 参照工程项目使用Caliper测试工具对食品安全溯源系统智能合约生成新食品(newFood)功能进行压力测试 首先启动webase python3 deploy.py startAll vim /opt/bencahmark/caliper-benchmark/networks/fisco-bcos/test-nw/fisco-bcos.json 命令便捷查…

刷代码随想录有感(75):回溯问题——非递减子序列

题干&#xff1a; 代码&#xff1a; class Solution { public:vector<int> tmp;vector<vector<int>> res;void backtracking(vector<int> nums, int start){if(tmp.size() > 2){res.push_back(tmp);}unordered_set<int> uset;for(int i sta…

JMeter 基本使用【Windows Jmeter GUI 图形界面】

1.安装jmeter GUI图形界面 需要安装JDK 官方网址: Apache JMeter - Apache JMeter™ linux tgz windows zip 2. 目录及文件 bin: 核心可执行文件&#xff0c;包含配置 extras&#xff1a;插件扩展包 lib&#xff1a;核心依赖包 ext&#xff1a;核心包 junit&#xff1a;单…

低代码开发:成本革命,还是技术幻象?

在当今快速发展的数字化时代&#xff0c;企业面临着不断增长的技术需求和日益紧缩的预算压力。开源低代码开发平台&#xff08;YDUIbuilder&#xff09;应运而生&#xff0c;承诺以更低的成本和更快的速度交付应用程序。但低代码开发真的能减少成本吗&#xff1f;本文将深入探讨…

uniapp集成websocket不断线的处理-打牌记账

背景 近期在开发打牌记账微信小程序时&#xff0c;我们将房间这个业务场景做成了类似聊天室功能。 对房间内发生的动作&#xff0c;都能实时对其他人可见。 如:转账&#xff0c;离开&#xff0c;加入&#xff0c;结算等动作 其他人员都能实时接收到推送消息&#xff0c; 这个时…

自媒体多平台互助平台_互赞互关,视频快速起流

首先&#xff0c;视频爆流的关键规则是什么&#xff1f; 平台根据视频的点赞/评论数据计算视频热门程度&#xff0c; 视频播放留存与收藏等等也在考核范围内&#xff0c; 不过&#xff0c;互关互赞不一定符合推流&#xff01;这你要清楚&#xff01;&#xff01; 目前我还不能准…

Doris【部署 03】Linux环境Doris数据库部署异常问题收集解决(不断更新)

Linux环境Doris数据库部署异常问题 1.FE1.1 Unknown system variable character_set_database1.2 notify new FE type transfer: UNKNOWN1.3 mysql_load_server_secure_path1.4 Only unique table could be updated1.5 too many filtered rows 2.BE2.1 Have not get FE Master …

vue项目报错:internal/modules/cjs/loader.js:892 throw err;

前言&#xff1a; vue项目中无法正常使用git&#xff0c;并报错情况。 报错信息&#xff1a; internal/modules/cjs/loader.js:892throw err;^ Error: Cannot find module D:\project\sd_wh_yth_front\node_modules\yorkie\src\runner.js 报错处理&#xff1a; npm install y…

【多模态融合】Cross Modal Transformer: Towards Fast and Robust 3D Object Detection

论文链接&#xff1a;Cross Modal Transformer: Towards Fast and Robust 3D Object Detection 代码链接&#xff1a;https://github.com/junjie18/CMT 作者&#xff1a;Junjie Yan, Yingfei Liu, Jianjian Sun, Fan Jia, Shuailin Li, Tiancai Wang, Xiangyu Zhang 发表单位…

运维笔记.MySQL.基于mysqldump数据备份与恢复

运维专题 MySQL.基于mysqldump数据备份与恢复 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite:http://thispage.tech/Email: [email protected]. Shenzhen ChinaAddress of this article:https://blog.csdn.net/qq_2855…

提升主播直播体验:如何选择和使用第三方美颜SDK?

第三方美颜SDK为开发者提供了实现这些功能的便利途径。那么&#xff0c;如何选择和使用第三方美颜SDK&#xff0c;来提升主播的直播体验呢&#xff1f; 一、了解美颜SDK的重要性 1.1美颜SDK的作用 美颜SDK不仅能提升主播的自信&#xff0c;还能吸引更多观众&#xff0c;增加…

“智绘艺术家之诗画点军”正式报名开赛 |AIGC与点军的梦幻碰撞,等你来战!

点军&#xff0c;这处江南的明珠&#xff0c;宜昌的瑰宝&#xff0c;历史与自然的交响乐章在此奏响。 三国时&#xff0c;关羽曾在此点兵&#xff0c;其雄姿英发&#xff0c;至今犹在眼前。 古之要塞&#xff0c;控巴夔&#xff0c;制荆襄&#xff0c;为三峡门户&#xff0c;…