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名片即可

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Security 6.x 系列(10)—— SecurityConfigurer 配置器及其分支实现源码分析(二)

一、前言 在本系列文章&#xff1a; Spring Security 6.x 系列&#xff08;4&#xff09;—— 基于过滤器链的源码分析&#xff08;一&#xff09; 中着重分析了Spring Security在Spring Boot自动配置、 DefaultSecurityFilterChain和FilterChainProxy 的构造过程。 Spring …

HarmonyOS应用程序框架——UIAbility实操

UIAbility概述 UIAbility是一种包含用户界面的应用组件&#xff0c;主要用于和用户进行交互。UIAbility也是系统调度的单元&#xff0c;为应用提供窗口在其中绘制界面。 每一个UIAbility实例&#xff0c;都对应于一个最近任务列表中的任务。 一个应用可以有一个UIAbility&…

定时器TIM HAL库+cubeMX(上)

定时器时钟源APB1 36MHz 一.基本定时器 1.基本框图 2.溢出时间计算 3.配置定时器步骤 TIM_HandleTypeDef g_timx_handle;/* 定时器中断初始化函数 */ void btim_timx_int_init(uint16_t arr, uint16_t psc) {g_timx_handle.Instance TIM6;g_timx_handle.Init.Prescaler p…

【C语言(十三)】

自定义类型&#xff1a;结构体 一、结构体类型的声明 1.1、结构体回顾 结构是⼀些值的集合&#xff0c;这些值称为成员变量。结构的每个成员可以是不同类型的变量。 1.1.1、结构的声明 例如描述⼀个学生&#xff1a; struct Stu {char name[20];//名字int age;//年龄c…

uniapp点击按钮,防止按钮多次点击多次触发事件【防抖操作】

图片、 一、在根目录下新建common文件并创建common.js文件&#xff0c;输入下面代码 // 防止处理多次点击function noMultipleClicks(methods, info) {// methods是需要点击后需要执行的函数&#xff0c; info是点击需要传的参数let that this;if (that.noClick) {// 第一次点…

【EI会议征稿中】2024年第四届人工智能、自动化与高性能计算国际会议(AIAHPC 2024)

2024年第四届人工智能、自动化与高性能计算国际会议&#xff08;AIAHPC 2024&#xff09; 2024 4th International Conference on Artificial Intelligence, Automation and High Performance Computing 2024第四届人工智能、自动化与高性能计算国际会议(AIAHPC 2024)将于20…

ubuntu下搜索文件的几种方法

一、whereis命令&#xff1a; whereis命令只能用于程序名的搜索&#xff0c;而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数&#xff0c;则返回所有信息。 whereis的命令格式&#xff1a; whereis [-bmsu] [BMS 目录名 -f ] 文…

CSS——标准流、浮动、Flex布局

1、标准流 标准流也叫文档流&#xff0c;指的是标签在页面中默认的排布规则&#xff0c;例如&#xff1a;块元素独占一行&#xff0c;行内元素可以一行显示多个。 2、浮动 作用&#xff1a;让块元素水平排列 属性名&#xff1a;float 属性值&#xff1a; left&#xff1a;…

three.js模拟太阳系

地球的旋转轨迹目前设置为了圆形&#xff0c;效果&#xff1a; <template><div><el-container><el-main><div class"box-card-left"><div id"threejs" style"border: 1px solid red"></div><div c…

MES安灯管理:优化生产监控的重要工具

一、MES安灯管理的概念 MES安灯管理是一种基于物理安灯和数字化管理的生产异常管理工具。它通过物理安灯和数字化系统的结合&#xff0c;实现对生产异常的实时监控和及时反馈&#xff0c;从而帮助企业快速响应和解决生产异常&#xff0c;提高生产效率和产品质量。 二、MES系统…

scala编码

1、Scala高级语言 Scala简介 Scala是一门类Java的多范式语言&#xff0c;它整合了面向对象编程和函数式编程的最佳特性。具体来讲Scala运行于Java虚拟机&#xff08;JVM)之上&#xff0c;井且兼容现有的Java程序&#xff0c;同样具有跨平台、可移植性好、方便的垃圾回收等特性…

爬虫的分类

爬虫的分类 网络爬虫按照系统结构和实现技术&#xff0c;大致可分为4类&#xff0c;即通用网络爬虫、聚焦网络爬虫、增量网络爬虫和深层次网络爬虫。 1.通用网络爬虫&#xff1a;搜索引擎的爬虫 比如用户在百度搜索引擎上检索对应关键词时&#xff0c;百度将对关键词进行分析…

Nacos-NacosRule 负载均衡—设置集群使本地服务优先访问

userservice: ribbon: NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule # 负载均衡规则 NacosRule 权重计算方法 目录 一、介绍 二、示例&#xff08;案例截图&#xff09; 三、总结 一、介绍 NacosRule是AlibabaNacos自己实现的一个负载均衡策略&…

宝塔面板快速搭建本地网站结合内网穿透实现远程访问【无需公网IP】

文章目录 前言1. 环境安装2. 安装cpolar内网穿透3. 内网穿透4. 固定http地址5. 配置二级子域名6. 创建一个测试页面 前言 宝塔面板作为简单好用的服务器运维管理面板&#xff0c;它支持Linux/Windows系统&#xff0c;我们可用它来一键配置LAMP/LNMP环境、网站、数据库、FTP等&…

mac 安装nvm以及切换node版本详细步骤

1、nvm介绍&#xff08;node版本管理工具&#xff09; nvm 可以让你通过命令行快速安装和使用不同版本的node 有时候项目太老&#xff0c;node版本太高,执行npm install命令会报错,可以借助nvm切换低版本的node。 2、安装nvm 在终端执行安装命令 curl -o- https://raw.gith…

HttpComponents: 概述

文章目录 1. 概述2. 生态位 1. 概述 早期的Java想要实现HTTP客户端需要借助URL/URLConnection或者自己手动从Socket开始编码&#xff0c;需要处理大量HTTP协议的具体细节&#xff0c;不但繁琐还容易出错。 Apache Commons HttpClient的诞生就是为了解决这个问题&#xff0c;它…

【高效开发工具系列】DataGrip入门

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

使用 Tailwind CSS 完成导航栏效果

使用 Tailwind CSS 完成导航栏效果 本文将向您介绍如何使用 Tailwind CSS 创建一个漂亮的导航栏。通过逐步演示和示例代码&#xff0c;您将学习如何使用 Tailwind CSS 的类来设计和定制导航栏的样式。 准备工作 在开始之前&#xff0c;请确保已经安装了 Tailwind CSS。如果没…

day33-37-SpringBootV12(整合Spring,SpringMVC,Mybatis,日志,api测试等框架)

ssm spring --> applicationContext.xml配置文件 springmvc --> springmvc.xml配置文件 mybatis —> mybatis-config.xml配置文件 —> springboot优化了之前的框架配置,思想是约定大于配置 一、引言 1.1 初始化配置 为了使用SSM框架去开发&#xff0c;准备SSM…

12.4~12.14概率论复习与相应理解(学习、复习、备考概率论,这一篇就够了)

未分配的题目 概率计算&#xff08;一些转换公式与全概率公式&#xff09;与实际概率 &#xff0c;贝叶斯 一些转换公式 相关性质计算 常规&#xff0c;公式的COV与P 复习相关公式 计算出新表达式的均值&#xff0c;方差&#xff0c;再套正态分布的公式 COV的运算性质 如…