[agc004c]AND Grid

本文介绍了一种解决特定网格图染色问题的方法:在一个包含某些预设紫色位置的网格图中,构造两个新的网格图,使得一个全部区域被四联通的红色覆盖,另一个则被四联通的蓝色覆盖,同时确保所有紫色位置都被红蓝共同覆盖。

前言

构造题,我又不是很会……
太蠢了。

题目大意

给你一个网格图,有一些格子涂了紫色。
请你构造出两个网格图,其中一个都涂了红色,且四联通,另一个都涂了蓝色,且四联通。
要求紫色的位置必须红和蓝,其余都不能同时涂红和蓝。
保证边界没有紫色。

做法

不看边界奇数都涂红,偶数都涂蓝。
然后对于红图第一列涂红,蓝图最后一列涂蓝。
一定满足条件。

#include<cstdio>
#include<algorithm>
#define fo(i,a,b) for(i=a;i<=b;i++)
#define fd(i,a,b) for(i=a;i>=b;i--)
using namespace std;
const int maxn=500+10;
bool bz[maxn][maxn],pd[maxn][maxn],a[maxn][maxn],b[maxn][maxn];
int i,j,k,l,t,n,m,mi,mx;
char get(){
    char ch=getchar();
    while (ch!='.'&&ch!='#') ch=getchar();
    return ch;
}
int main(){
    scanf("%d%d",&n,&m);
    fo(i,1,n)
        fo(j,1,m){
            if (get()=='#') bz[i][j]=1;
            a[i][j]=b[i][j]=bz[i][j];
        }
    fo(i,1,n) a[i][1]=1,b[i][m]=1;
    fo(i,2,n-1)
        if (i%2==1)
            fo(j,2,m-1) a[i][j]|=1;
    fo(i,2,n-1)
        if (i%2==0)
            fo(j,2,m-1) b[i][j]|=1;
    fo(i,1,n){
        fo(j,1,m) printf("%c",a[i][j]?'#':'.');
        printf("\n");
    }
    fo(i,1,n){
        fo(j,1,m) printf("%c",b[i][j]?'#':'.');
        printf("\n");
    }
}
2024年中国研究生数学建模竞赛A题 风电场有功功率优化分配 一、问题背景 我国风电快速发展,大型风机、大规模场站逐步投入运行。额定容量高的大型风机机械部件柔性更强,导致其疲劳损伤累积速度快,增加风机维护成本,降低风力发电效率;极端情况甚至会加剧风机倒塌、叶片断裂等安全风险。因此,亟需通过优化手段,降低风机运行过程中的累积疲劳损伤,以减小其因疲劳导致可用寿命缩短的风险。风机低疲劳运行能够明显降低机械系统故障率,为风电场运营商带来极大的经济和社会效益:一方面,减少故障导致不正常停机所造成的发电量损失;另一方面,减少机械部件维护频次以节约运维人员和物料成本,且降低安全生产事故风险。 风电场运行过程中,电网调度指令下发到场站控制端。场站自动发电控制系统(Automatic Generation Control,AGC)将以每秒钟一次的采样率响应调度指令。AGC根据电网调度指令计算场内每台风力发电机所需发电量,并将计算结果发送给各个风机(此过程即为有功功率分配过程,各个风机所分配的功率为其功率参考值),各风机依据功率参考值调整自身机械参数,实现发电量对功率参考值的跟踪(本题默认跟踪过程可以精确实现)。传统计算分配方案采用平均分配方法,即每台风机需发出功率=,为场内所有风机数量。每台风机的功率指令同时受限于由风速决定的当前可发出最大功率值。然而,平均分配方法未考虑任何关于风机运行状态和风机累积疲劳损伤之间的联系,导致部分风机长期处于疲劳的高负荷状态,进而影响其机械部件的运行安全。 二、基本概念 疲劳损伤(fatigue damage)指机械元件在循环应力作用下发生持续形变导致的内部结构损伤。关于疲劳损伤有几个基本概念。 1.疲劳寿命:材料或结构在特定的应力水平下,能够承受的最大循环载荷次数(与周期无关)。一旦超过此最大循环次数,则材料会出现疲劳失效(各个零件单独计算),例如断裂等现象。换言之,若一个材料受到幅值为、呈现周期性波动的应力(如连续用同样的力度拉扯橡皮筋至同样的长度),则最大循环次数指在当前的应力下,材料能承受的最大循环次数(把橡皮筋拉断所需要的拉扯次数)。 2. S-N 曲线:也称为 Wohler 曲线,是用来描述各个应力幅值(S)与最大循环载荷次数()之间关系的曲线,一般针对特定材料通过循环施加/卸载相应应力的物理实验获得;风机相关元件的S-N曲线图见附件B。 3. 应力循环:应力变化从一个波谷到另一个波谷的过程称为一个应力循环,两个波谷之间的峰值与前一个波谷的差为该次循环的应力幅值。 4. Palmgren-Miner 线性累积损伤理论:元件的疲劳损伤可以是累积的,且在任何不同应力水平下的疲劳损伤都可以通过累积的循环次数来表示。当累积损伤值达到一定临界值时,材料即发生疲劳失效。实际应用中,需量化元件的累积疲劳损伤值,有多种计算方法:雨流计数法0[2][3]、能量法[4][5][6]、神经网络法[7]。常用方法为S-N曲线法和能量法。以S-N曲线法为例介绍基本计算过程。S-N曲线法利用材料的 S-N 曲线进行疲劳寿命预测。假设在某一应力幅值下,材料的能够承受应力的循环次数极限为次(通过S-N曲线法获取)。实际已经经历了次应力循环(根据定义人工计数),则其累积疲劳损伤值可以表示为: 总损伤累积值为各个应力水平()下的累积损伤值之和. 根据 Palmgren-Miner 线性累积损伤理论,当总损伤累积值达到1时,材料即发生疲劳失效。需要注意的是,在风电研究和工程应用中,普遍将机械元件载荷(受力条件)视作应力。 三、需解决的问题 问题一:风机主轴及塔架疲劳损伤程度量化指标计算低复杂度模型 实际应用中,载荷(指主轴扭矩和塔架推力)数据随机性很强,且周期特征不标准,波峰波谷不易辨识(如图1所示);此外,载荷循环(主轴扭矩和塔架推力的应力循环)的周期时长远远超过了实时计算的时间间隔(1s),因此,定义中介绍的方法无法有效计算不同载荷的循环次数。目前常用雨流计数法统计不同幅值载荷相应的循环次数,但该方法无法在线实时求解。针对这一问题,请建立数学模型,实现对风机的两种不同元件(主轴和塔架)任意时段累积疲劳损伤程度量化指标的实时计算;本题提供100个时长为100s的塔架推力与主轴扭矩数据,及其基于雨流计数法计算所得到的累积疲劳损伤值和等效疲劳载荷(见附件1);要求方法合理有效,不得使用机器学习方法;要求在测试环境中基于CPU计算,计算时间小于1.00s,算法求解时间要尽可能地短,并且所得计算结果能正确反映元件累积疲劳损伤程度;需展示所计算结果与数据中提供的雨流计数法所得结果的相似程度(能反映累积疲劳损伤程度增长情况即可,不必与参考结果相等),需将包括100s时长内所有100台风机的全部200件元件的每秒疲劳损伤值(可以不考虑在此之前的疲劳损伤值,即初始时刻可以从0开始)列入附件5表格中;同时,需展示从0-100s内风机主要元件累积疲劳损伤程度的增长过程(选择5-10个有代表性的样本,用图片形式展示增长过程并说明所提出的建模方法100台风机的所有数据样本均有效)。 图1部分载荷数据概况(根据附件一部分数据绘制,仅供辅助理解) 问题二:利用风速及功率估算塔架推力和主轴扭矩 风速与风机的发电功率之间具有正相关性,一个直观的理解是,当风所携带的风能被风机完全消化转化为电能后,风机所承受的推力(风推动风轮平面产生的推力)和扭矩(风轮实际转速与当前风速下应达到的转速不匹配带来的扭矩)是最小的;当风速相对风机的发电功率过高时,多余的风能就会有一部分作用于风机上,形成主轴扭矩和塔架推力,增加风机的累积疲劳损伤程度(本题所考虑的5MW风机对应的额定风速为11.2m/s)。因此,请建立数学模型,根据风机所处位置的风速条件和功率参考值,估算当前风机所承受的应力/扭矩;模型可结合受力分析、能量守恒、或其他任意合理思路进行建立(数据量较少,不建议使用机器学习方法)。本题给出数据包括:各风机轮毂处等效风速、有功功率参考值;输出数据为风机轴系扭矩、风机塔顶推力。要求能够利用本题所提供的数据(附件2)估算各个风机任意时刻的应力/扭矩值,并与数据中给出的参考值进行对比;需将100台风机在全部时刻的应力/扭矩计算结果列入附件6的表格中,并需要统计全部时刻估算值与参照值之差的平方和以展示计算结果与实际数据的对比结果。 问题三:有功调度优化问题构建与实时求解(个人感觉是做一个线性规划) 可以列一个不等式 有功功率的优化分配需每秒钟进行一次计算,优化计算时间短。大规模风电场含数百台风机(此题以风机总数量=100的场站为例),优化问题维度高,因此需在建模阶段兼顾模型复杂度和精度。实际工程中,场站内多台风机一般为相同型号,即各风机之间模型参数是一致的,区别仅在于风速条件(轮毂处风速)和功率参考值不同。请根据下述优化目标和约束条件,建立优化模型求解最优有功功率分配策略。 为降低风电场运维成本,需尽可能降低场站所有风机总体疲劳损伤程度(参赛者自行定义所有风机的总体疲劳损伤程度,但需分别将主轴和塔架的两种元件的疲劳损伤定义为两个目标。例如目标定为每种元件的疲劳损伤平均值最小、或疲劳损伤最严重的元件的疲劳值最小等;要求目标函数定义合理且具有可解释性)。单台风机的疲劳损伤包括主轴的疲劳损伤与塔架疲劳损伤两部分。此外,要保证所有风机有功参考值之和等于电网调度指令;且保证各风机有功参考值不大于风机有功功率额定值(5MW)。为保证实际场站中原有风机功率跟踪主控制器参数适用,也需保证各风机有功优化分配值与平均分配方法结果()差值不超过1MW。每台风机需发出功率=,为场内所有风机数量 本题收集了包含100台风机的风电场在一段时间内的电网有功调度指令的时序数据及实测风速数据,见附件2。要求给出本题的目标函数,以及各目标权重值(如果有),并对目标函数和权重的设计思路进行说明;同时要求每秒进行一次功率分配,需提供含有计时器的动图,展示计算结果的实时性;此外,还需展示约束条件是否满足,及优化后与优化前(平均分配功率)的结果对比,对比方式包括但不限于:优化前后各个风机的累积疲劳损伤程度、所有风机的累积疲劳损伤总和;优化前后风机间参考功率方差值。参赛者亦可采用其他指标展示优化结果,上述指标仅供参考。 问题四:考虑通信延迟和测量噪声的有功功率优化与求解 实际风电场中,AGC系统所需的信号通过多种传感器采集并经由高速光纤环网传递至集控。一方面,现场传感器测量数据存在随机噪声,导致采集数据受到随机干扰,(个人认为应该是要进行数据预处理)实际工程中噪声一般为原始数据的正负10%以内(测量值与真实值的相对误差在10%以内)。另一方面,通信过程在协议层和物理层均可能受到传输拥塞影响,存在随机传输延迟问题,导致部分时间段数据无法及时采集,此时优化调度过程仅可基于上一个正常通信时刻的采集数据进行优化,实际工程中一般最大延迟为10s以内。上述数据测量噪声和传输延迟导致理想条件下的优化问题难以满足实际需求。因此,可进一步考虑随机测量噪声和通信延迟对于模型精度和优化问题最优性的影响,完善问题三中的优化方案。附件4为额外的十台风机的300s测量数据(仅提供添加噪声以及延迟后的数据,不包含原数据),数据类型同附件3,作为测试集(附件4是测试集)检验鲁棒模型。要求展示并比对优化效果(具体要求同问题3),并展示所建模型对噪声和延迟的抑制能力(展示方法包括但不限于有无该模型情况下,优化结果的前后对比等)。要求给出本题的目标函数,以及各目标权重值(如果有),并对目标函数和权重的设计思路进行说明;同时要求每秒进行一次功率分配,需提供含有计时器的动图,展示计算结果的实时性;此外,还需展示约束条件是否满足,及优化后与优化前(平均分配功率)的结果对比,对比方式包括但不限于:优化前后各个风机的累积疲劳损伤程度、所有风机的累积疲劳损伤总和;优化前后风机间参考功率方差值。参赛者亦可采用其他指标展示优化结果,上述指标仅供参考。 注:本题提供的数据均为风能过剩的情形,即风速超过风机的额定风速。 注:若参赛选手熟悉相关专业,亦可参考附件A、B中给出的风电行业以仿真分析为目的的非线性模型及相应开源工具。该建模方法和开源工具常用于仿真风电场动态特性,常用作对所提出的优化调度策略进行验证的平台。其计算时间、模型复杂度等都无法满足优化需求。选手若参考附件内容,不得直接使用附件所述模型解答问题,而需明确指出对附件方法的改进和提升之处。 参考文献 [1]M. Musallam and C. M. Johnson, “An Efficient Implementation of the Rainflow Counting Algorithm for Life Consumption Estimation,” IEEE Trans. Rel., vol. 61, no. 4, pp. 978–986, Dec. 2012. [2]董乐义, 罗俊. 雨流计数法及其在程序中的具体实现[J].计算机技术与应用,2004,24(3):38-40. [3]王宏伟.雨流计数法及其在疲劳寿命估算中的应用[J].矿山机械,2006,34(3):95-97. [4]J. Barradas-Berglind, R. Wisniewski, and B. Jayawardhana, “Model Predictive Control with Fatigue-Damage Minimization Through the Dissipativity Property of Hysteresis Operators,” European Journal of Control, vol. 54, pp. 140–151, Jul. 2020. [5]姚磊江,童小燕,吕胜利.基于能量耗散的疲劳损伤模型[J].机械强度,2004,(05):522-525. [6]顾章义,张治成,李辉.基于能量法的超高韧性纤维混凝土疲劳损伤特性[J].吉林大学学报(工学版),2022,52(07):1598-1606. [7]Q. Yao, B. Ma, T. Zhao, Y. Hu, and F. Fang, “Optimized Active Power Dispatching of Wind Farms Considering Data-Driven Fatigue Load Suppression,” IEEE Trans. Sustain. Energy, vol. 14, no. 1, pp. 371–380, Jan. 2023.
07-23
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值