2023年国赛高教杯数学建模A题定日镜场的优化设计解题全过程文档及程序
2023年国赛高教杯数学建模
A题 定日镜场的优化设计
原题再现
构建以新能源为主体的新型电力系统,是我国实现“碳达峰”“碳中和”目标的一项重要措施。塔式太阳能光热发电是一种低碳环保的新型清洁能源技术[1]。
定日镜是塔式太阳能光热发电站(以下简称塔式电站)收集太阳能的基本组件,其底座由纵向转轴和水平转轴组成,平面反射镜安装在水平转轴上。纵向转轴的轴线与地面垂直,可以控制反射镜的方位角。水平转轴的轴线与地面平行,可以控制反射镜的俯仰角,定日镜及底座示意图见图 1。两转轴的交点(也是定日镜中心)离地面的高度称为定日镜的安装高度。塔式电站利用大量的定日镜组成阵列,称为定日镜场。定日镜将太阳光反射汇聚到安装在镜场中吸收塔顶端上的集热器,加热其中的导热介质,并将太阳能以热能形式储存起来,再经过热交换实现由热能向电能的转化。太阳光并非平行光线, 而是具有一定锥形角的一束锥形光线,因此太阳入射光线经定日镜任意一点的反射光线也是一束锥形光线[2]。定日镜在工作时,控制系统根据太阳的位置实时控制定日镜的法向,使得太阳中心点发出的光线经定日镜中心反射后指向集热器中心。集热器中心的离地高度称为吸收塔高度。

现计划在中心位于东经 98.5∘,北纬 39.4∘,海拔 3000 m,半径 350 m 的圆形区域内建设一个圆形定日镜场(图 2)。以圆形区域中心为原点,正东方向为 𝑥 轴正向,正北方向为 𝑦 轴正向,垂直于地面向上方向为 z 轴正向建立坐标系,称为镜场坐标系。
规划的吸收塔高度为 80 m,集热器采用高 8 m、直径 7 m 的圆柱形外表受光式集热器。吸收塔周围 100 m 范围内不安装定日镜,留出空地建造厂房,用于安装发电、储能、控制等设备。定日镜的形状为平面矩形,其上下两条边始终平行于地面,这两条边之间的距离称为镜面高度,镜面左右两条边之间的距离称为镜面宽度,通常镜面宽度不小于镜面高度。镜面边长在 2 m 至8 m 之间,安装高度在 2 m 至 6 m 之间,安装高度必须保证镜面在绕水平转轴旋转时不会触及地面。由于维护及清洗车辆行驶的需要,要求相邻定日镜底座中心之间的距离比镜面宽度多 5 m以上。
为简化计算,本问题中所有“年均”指标的计算时点均为当地时间每月 21 日 9:00、10:30、12:00、13:30、15:00。

请建立模型解决以下问题:
问题 1 若将吸收塔建于该圆形定日镜场中心,定日镜尺寸均为 6 m×6 m,安装高度均为4 m,且给定所有定日镜中心的位置(以下简称为定日镜位置,相关数据见附件),请计算该定日镜场的年平均光学效率、年平均输出热功率,以及单位镜面面积年平均输出热功率(光学效率及输出热功率的定义见附录)。请将结果分别按表 1 和表 2 的格式填入表格。
问题 2 按设计要求,定日镜场的额定年平均输出热功率(以下简称额定功率)为 60 MW。若所有定日镜尺寸及安装高度相同,请设计定日镜场的以下参数:吸收塔的位置坐标、定日镜尺寸、安装高度、定日镜数目、定日镜位置,使得定日镜场在达到额定功率的条件下,单位镜面面积年平均输出热功率尽量大。请将结果分别按表 1、2、3 的格式填入表格,并将吸收塔的位置坐标、定日镜尺寸、安装高度、位置坐标按模板规定的格式保存到 result2.xlsx 文件中。
问题 3 如果定日镜尺寸可以不同,安装高度也可以不同,额定功率设置同问题 2,请重新设计定日镜场的各个参数,使得定日镜场在达到额定功率的条件下,单位镜面面积年平均输出热功率尽量大。请将结果分别按表 1、表 2 和表 3 的格式填入表格,并将吸收塔的位置坐标、各定日镜尺寸、安装高度、位置坐标按模板规定的格式保存到 result3.xlsx 文件中。




整体求解过程概述(摘要)
塔式太阳能光热发电是一种较为理想的、技术发展相对成熟的大规模利用太阳能发电的技术,定日镜是其收集太阳能的重要基本组件,通过数学建模对定日镜场的各项参数进行优化设计,使得单位镜面面积年平均输出热功率最大具有重大的现实意义也是我们亟待解决的问题。
针对问题一,我们构建了定日镜场年平均输出热功率模型。首先,求解太阳高度角和太阳方位角来确定每一时刻太阳所在位置;接着,通过定日镜的工作原理,由某一时刻入射光线和反射光线的方向推得定日镜在该时刻的法向,进而推得其俯仰角和方位角;然后,基于上述信息计算每一块定日镜在该时刻的光学效率,包括镜面反射率、大气透射率、余弦效率、阴影遮挡效率以及集热器截断效率,其中阴影遮挡效率由投影法求出,集热器截断效率由蒙特卡洛算法求出;最后,结合法向直接辐射照度以及定日镜场输出热功率的计算公式,代入定日镜的光学效率等数据我们求出了定日镜场在不同时刻的输出热功率,进而得到年平均输出热功率以及单位面积镜面年平均输出热功率。最终我们得到了定日镜场的年平均光学效率为0.6275,年平均输出热功率为38.295MW,单位镜面面积年平均输出热功率为06096kW/㎡,其余结果详见表1表2。
针对问题二,我们构建了定日镜场统一优化设计的单目标优化模型。我们以单位镜面面积的年平均输出热功率最大为目标函数,以定日镜场中吸收塔的位置坐标、定日镜的统一尺寸和统一安装高度、定日镜的个数以及定日镜的位置等参数作为决策变量,以定日镜场的年平均额定输出功率、相邻定日镜之间应满足的距离等要求确定了多个约束条件,建立起单目标优化模型。由于决策变量的数量很多,因此我们采用遗传算法对该单目标优化模型进行求解,最终求得了单位镜面面积年平均输出热功率最大为0.7139kW/㎡,此时年平均输出热功率为60.373MW,定日镜的分布为一圈圈同心圆,其余定日镜场的最优设计参数详见表3及result2xlsx。
针对问题三,我们构建了定日镜场非统一优化设计的单目标优化模型。相较于问题二,问题三中各个定日镜的尺寸和安装高度并不统一,决策变量的数量进一步增多,为了简化模型,我们参考问题二中求得的结论,认为在问题三中定日镜仍按照同心圆的方式进行排布,又因为同心圆具有各项同性,所以我们可以假设每一圈同心圆上的所有定日镜的尺寸和安装高度相同,因此新增的决策变量减少为每一圈同心圆对应的定日镜的尺寸和安装高度,其余目标函数和约束条件均与第二问相同。在求解时,我们在同心圆排布的基础上采用变步长的方式进行遍历求解,最终求得了单位镜面面积年平均输出热功率最大为0.7551KW/㎡,此时年平均输出热功率为60.359MW,定日镜的整体分布近似为一个抛物面,其余定日镜场的最优设计参数详见表 6及result3.xlsx。
模型假设:
1、假设天气一直保持晴朗,太阳光线不会被云层遮盖
2、假设不发生光的散射
3、假设镜面反射率可以取为常数
4、假设每条反射光线携带的能量是相同的
问题分析:
问题一的分析
问题一要求我们求解给定条件下定日镜场的年平均光学效率、年平均输出热功率以及单位镜面面积年平均输出热功率。首先,我们可以通过求解太阳高度角和太阳方位角来确定每一时刻太阳所在位置;接着,通过定日镜的工作原理我们可以由某一时刻入射光线和反射光线的方向推得定日镜在该时刻法向,进而推得其俯仰角和方位角然后,基于上述信息我们可以计算每一块定日镜在该时刻的阴影遮挡效率、余弦效率、大气透射率、集热器截断效率以及镜面反射率,从而得出定日镜的光学效率,将不同时刻不同定日镜的光学效率求和取平均即可得到年平均光学效率:最后,再结合法向直接辐射照度DNI以及定日镜场的输出热功率的计算公式,通过代入定日镜的光学效率等数据我们就可以求出定日镜场在不同时刻的输出热功率,进而求出年平均输出热功率以及单位面积镜面年平均输出热功率。
问题二的分析
问题二要求我们对,使得定日镜场的年平均输出热功率在达到额定功率60MV的条件下,单位镜面面积的年平均输出热功率尽可能大。我们将其理解为一个单目标优化问题,因此我们以单位镜面面积的年平均输出热功率最大为目标函数,以定日镜场中吸收塔的位置坐标、定日镜的统一尺寸和统一安装高度、定日镜的个数以及定日镜的位置等参数作为决策变量,再根据题意确立多个约束条件,建立起单目标优化模型。由于要求解的决策变量的数量很多,传统的遍历算法显然是行不通的,因此我们可以采用遗传算法对该单目标优化模型进行求解。
问题三的分析
相较于问题二,问题三中各个定日镜的尺寸和安装高度并不统一,这导致了决策变量的数量进一步增多,为了简化模型,我们可以参考问题二中求得的结论,认为在问题三中定日镜仍按照同心圆的方式进行排布,又因为同心圆具有各项同性,所以我们可以假设每一圈同心圆上的所有定日镜的尺寸和安装高度相同,因此新增的决策变量减少为每一圈同心圆对应的定日镜的尺寸和安装高度,其余目标函数和约束条件均与第二问相同。在求解时,我们可以在定日镜同心圆排布的基础上对每圈定日镜的尺寸及安装高度以及位置坐标采用变步长的方式进行遍历求解。
模型的建立与求解整体论文缩略图


全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可
程序代码:(代码和文档not free)
%遗传算法
function f=canshul(x)
%目标函数N=2739;H-4;lw=6;1=6;w=6;x0=0;y0=-250;ST=[9,10.5,12,13.5,15];D=[306,337,0,31,61,92,122,153,184,214,245,275];xyz=[x(1:N)',x(N+1:2*N)',zeros(N,1)+x(3)];e2=zeros(12,5);for i-1:5for j=1:12[A,B]=SUN(ST(i),D(j));e2(j,i)=f2(xyz,N,x0,y0,A,B);endendSe2=mean(e2.'al1');f=Se2;
end
%计算阴影遮挡效率function el=fl(xyz,1,w,N,A,B,x0,y0)Z0=84;a=[sind(B)*cosd(A),cosd(B)*cosd(A),sind(A)];tt=zeros(length(xyz),5);for i=1:size(xyz,1)m=sgrt(xyz(i,1)^2+xyz(1,1)^2+xyz(1,3));r=[-xyz(i,1)+x0,-xyz(i,2)+y0,-xyz(i,3)+z0]/sqrt((xyz(i,1)-x0)^2+(xyz(i,2)-y0)^2+(xyz(i,3)-z0)^2)n=real((r-a)/norm(r-a));An-acos(n(3));Bn=atan(n(1)/n(2));ss=[cosd(Bn],sind(Bn)*sind(An],-sind(Bn]*cosd(An];-sind(Bn],cosd(Bn)*sind (An],-cosd(Bn)*cosd(An];0,cosd(An),sind[An];];v1=[ss*[-0.5*1,-0.5*w,o]']+xyz(i,:};v2=[ss*[0.5*1,-0.5w,0]"]'+xyz(i,:);v3=[ss*[-0.51,0.5*w,0]"]'+xyz(i,:);tt[i,1)=v1(1);tt[i,2)=v1(2);tt[i,4)=real(abs[sum[(v1-v2).*a)));tt[i,3)-real(abs[sum(v1-v3).*a)));endnum . size(tt, 1);for i = i:numareas=0;for j = i+1:numarea = rectint(tt(i,:),tt(j,:));areas = areas + area;endtt(1,5)-areas;
endSSS-(88/tand(A)-100)*7;if sss<0sss=0;
ende1=1-(sum(tt(:,5))+SSS)/N/1/w;
end
function [e2,SS]=f2(xyz,N,x0,y0,A,B)
%余弦效率z0=84;SS=zeros(length(xyz),1);for i=1:Nb=(xyz(i,1)=x0,xyz(i,2)=y0,xyz(i,3)=z0);%反射光线b=-1.*b;a=[sind(B)*cosd(A],cosd(B]*cosd(A],sind(A]];&入射光线ta = acosd(dot{a,b)/(normla]*norm(b)));入射光线与反射光线夹角SS(i)=real(cosd(ta/2)];ende2=mean(ss);
end
全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可
相关文章:
2023年国赛高教杯数学建模A题定日镜场的优化设计解题全过程文档及程序
2023年国赛高教杯数学建模 A题 定日镜场的优化设计 原题再现 构建以新能源为主体的新型电力系统,是我国实现“碳达峰”“碳中和”目标的一项重要措施。塔式太阳能光热发电是一种低碳环保的新型清洁能源技术[1]。 定日镜是塔式太阳能光热发电站(以下…...
c/c++ 结构体、联合体、枚举
结构体 结构体内存对齐规则: 1、结构体的第一个成员对齐到结构体变量起始位置偏移量为0的地址处 2、其他成员变量要对齐到某个数字(对齐数)的整数倍的地址处。 对齐数:编译器默认的一个对齐数与该成员变量大小的较小值。 vs 中…...
stl模板库成员函数重载类型混肴编译不通过解决方法
stl模板库成员函数重载类型混肴编译不通过解决方法 这种方式编译不通过IsArithmetic和HasMemberList编译器存在混肴 template <typename T, typename Enable std::enable_if<IsArithmetic<T>::value>::type >static void DumpWrapper(T* filed, std::strin…...
MySQL——表的约束
目录 一.表的约束 二.空属性 编辑三.默认值 四.列描述 五.主键 1.主键 2.符合主键 六.自增长 七.唯一键 八.外键 一.表的约束 真正约束字段的是数据类型,但是数据类型约束很单一,需要有一些额外的约束,更好的保证数据的合法性&…...
cordic 算法学习记录
参考:b站教学视频FPGA:Cordic算法介绍与实现_哔哩哔哩_bilibili FPGA硬件实现加减法、移位等操作比较简单,但是实现乘除以及函数计算复杂度高且占用资源多,常见的计算三角函数/平方根的求解方式有①查找表:先把函数对应…...
【STM32】电机驱动
一、电机分类 二、直流电机的分类 1.有刷电机 2.无刷电机 3.直流减速电机 三、H桥电路 正向旋转 驱动Q1和Q4 反向旋转 驱动Q2和Q3 四、MC3386电机驱动芯片 1.基本原理图 1)前进/后退:IN1和IN2的电平顺序决定电机的正反转 2)调节速度&#…...
csp 如此编码 C语言(回归唠嗑版)
熟悉的开篇废话,最近其实在研究那个web开发这一块,导致csp联系就减少了,好久没更csp的帖子了,尽管明天就要考了,但是嘞,能看一道是一道呗对吧。 等过段时间我把web开发这一块整明白了就发帖子,…...
或许是全网最全的延迟队列
什么是延迟队列 作用:用来存储延迟消息延迟消息:生产者发送一个消息给mq,然后mq会经过一段时间(延迟时间),然后在把这个消息发送给消费者 应用场景 预定会议后,需要在预定的时间点前十分钟通…...
C语言结构体小项目之通讯录代码实现+代码分析
一、思路 1.文件 这里由于通讯录实现代码较长,因此分三个文件进行,contact.c用于实现通讯录主体代码,声明各项头文件用contact.h实现,测试用test.c 二.功能 增加联系人删除联系人修改联系人查找指定联系人排序显示通讯录的信息…...
tp5 rewrite nginx重写
tp框架,默认的访问路径是 www.xxxx.com/index.php/admin/shop/index格式的,为了方便和更规范,也看起来有逼格一些,需要将index.php去掉 无index.php就会报404 我这里是宝塔 #地址重写if (!-e $request_filename) {rewrite ^(.*)$ /index.…...
.NET 反射优化的经验分享
比如针对 GetCustomAttributes 通过反射获取属性的优化,以下例子 // dotnet run -c Release -f net7.0 --filter "*" --runtimes net7.0 net8.0public class Tests{public object[] GetCustomAttributes() => typeof(C).GetCustomAttributes(typeof(MyAttribute…...
使用opencv的Sobel算子实现图像边缘检测
1 边缘检测介绍 图像边缘检测技术是图像处理和计算机视觉等领域最基本的问题,也是经典的技术难题之一。如何快速、精确地提取图像边缘信息,一直是国内外的研究热点,同时边缘的检测也是图像处理中的一个难题。早期的经典算法包括边缘算子方法…...
亿欧网首届“元创·灵镜”科技艺术节精彩纷呈,实在智能AI Agent智能体展现硬核科技图景
12月4日-10日,持续一周的首届“元创灵镜”科技艺术节在海南陵水香水湾拉开帷幕,虚实交互创造出的“海岛之镜”开幕式呈现出既真实又虚幻的未来感,融入前沿科技元素的艺术装置作品在“虚实之镜&自然生长”科技艺术展诠释着浪漫想象&#x…...
宝塔面板快速搭建本地网站结合内网穿透实现远程访问【无需公网IP】
文章目录 前言1. 环境安装2. 安装cpolar内网穿透3. 内网穿透4. 固定http地址5. 配置二级子域名6. 创建一个测试页面 前言 宝塔面板作为简单好用的服务器运维管理面板,它支持Linux/Windows系统,我们可用它来一键配置LAMP/LNMP环境、网站、数据库、FTP等&…...
css的Grid布局
1.简单布局 .grid { display: grid; grid-template-columns: 1fr 2fr 1fr; 布局样式 column-gap: 24px; 列间距 row-gap: 24px; 行间距 } 2.排列布局 center垂直方向居中对其 end靠下对齐 3.水平方向对齐 center居中 end靠右对齐 space-between两段对齐 4.对…...
Python接口测试框架选择之pytest+yaml+Allure!
一、为什么选择pytest? pytest完全兼容python自带的unittest pytest让单元测试更简单,能很好的管理测试用例。 对于实现接口测试的复杂场景,pytest的fixture、PDB等高阶用法都能实现需求。 入门简单,对于代码基础薄弱的团队人员…...
03-详解Nacos注册中心的配置步骤和功能
Nacos注册中心 服务注册到Nacos Nacos是SpringCloudAlibaba的组件也遵循SpringCloud中定义的服务注册和服务发现规范,因此使用Nacos与使用Eureka对于微服务来说并没有太大区别 主要差异就是依赖不同,服务地址不同 第一步: 在父工程cloud-demo模块的pom.xml文件中引入Spring…...
微服务学习:Nacos微服务架构中的服务注册、服务发现和动态配置Nacos下载
Nacos的主要用途包括: 服务注册与发现:Nacos提供了服务注册和发现的功能,服务提供者可以将自己的服务注册到Nacos服务器上,服务消费者则可以通过Nacos来发现可用的服务实例,从而实现服务调用。 动态配置管理ÿ…...
逆向经历回顾总结
逆向经历回顾总结 一、前言 将自己的逆向经验做个总结,希望新手对逆向大方向能快速了解。高手有啥不一样的经验也可以讨论讨论。 二、个人经历 本人入行逆向全因一部韩剧“幽灵”,里面涉及渗透、病毒分析、取证的攻防对抗,我觉得对新手来说…...
企业IT安全:内部威胁检测和缓解
什么是内部威胁 内部威胁是指由组织内部的某个人造成的威胁,他们可能会造成损害或窃取数据以谋取自己的经济利益,造成这种威胁的主要原因是心怀不满的员工。 任何内部人员,无论是员工、前雇员、承包商、第三方供应商还是业务合作伙伴&#…...
docker详细操作--未完待续
docker介绍 docker官网: Docker:加速容器应用程序开发 harbor官网:Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台,用于将应用程序及其依赖项(如库、运行时环…...
UDP(Echoserver)
网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法:netstat [选项] 功能:查看网络状态 常用选项: n 拒绝显示别名&#…...
MVC 数据库
MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序
一、开发环境准备 工具安装: 下载安装DevEco Studio 4.0(支持HarmonyOS 5)配置HarmonyOS SDK 5.0确保Node.js版本≥14 项目初始化: ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...
BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践
6月5日,2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席,并作《智能体在安全领域的应用实践》主题演讲,分享了在智能体在安全领域的突破性实践。他指出,百度通过将安全能力…...
聊一聊接口测试的意义有哪些?
目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开,首…...
vue3+vite项目中使用.env文件环境变量方法
vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量,这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...
使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台
🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...
Mysql8 忘记密码重置,以及问题解决
1.使用免密登录 找到配置MySQL文件,我的文件路径是/etc/mysql/my.cnf,有的人的是/etc/mysql/mysql.cnf 在里最后加入 skip-grant-tables重启MySQL服务 service mysql restartShutting down MySQL… SUCCESS! Starting MySQL… SUCCESS! 重启成功 2.登…...
Kafka主题运维全指南:从基础配置到故障处理
#作者:张桐瑞 文章目录 主题日常管理1. 修改主题分区。2. 修改主题级别参数。3. 变更副本数。4. 修改主题限速。5.主题分区迁移。6. 常见主题错误处理常见错误1:主题删除失败。常见错误2:__consumer_offsets占用太多的磁盘。 主题日常管理 …...
