2022年美国大学生数学建模竞赛
B题 水和水力发电分配
原题再现:
背景:
几个世纪以来,人们在河流和溪流.上修建水坝来蓄水建造水库,以此作为管理供水的方式。这些水库储存各种用途的水(如农业、工业、住宅),提供休闲和娱乐场所(如钓鱼、划船),协助下游防洪,并向涡轮机供水发电。水力发电(水电)是这些涡轮机将下落或快速流动的水的势能转化为机械能时产生的电能。
随着气候变化,许多地区大坝和水库的供水量正在减少。因此,水坝可能无法满足当地的用水需求。并且,由于水流量低,水电站的发电量减少,导致这些地区的供电不稳定。如果水坝后面的水库水位低到一定程度,水电就会停止供应。
美国亚利桑那州(AZ)、加利福尼亚州(CA)、怀俄明州(WY)、 新墨西哥州(NM)和科罗拉多州(CO)自然资源部的官员目前正在协商管理格兰峡谷和胡佛大坝用水和发电的最佳方式,解决这些利益冲突。数百年前的协议持续影响着当今的水管理法规、政策和实践。这些协议从科罗拉多河流系统中分配的水比系统中现存的水更多。系统可能会继续工作,因为一些用户没有全部使用他们所分配到的。如果科罗拉多河流域的干旱状况持续下去,到某一时刻水量将不足以满足用户的基本用水和发电需求。因此,为当前和未来的供水条件制定合理的、防御性的水资源分配计划至关重要。
附加指南:
自然资源部的协商者们要求您的团队在其五个州(亚利桑那州AZ、加利福尼亚州CA、怀俄明州WY、新墨西哥州NM和科罗拉多州CO)制定水资源分配计划。这些官员认为,最近的降雨短缺和高温将持续下去,导致供应(水资源供应)和需求(电力需求)都出现问题。他们提供了以下指导:
●格伦峡谷大坝(鲍威尔湖)和胡佛大坝(米德湖)的运行应密切协调,因为格伦峡谷大坝流出的水为胡佛大坝提供了部分输入水。
●两座大坝的这一系列配置所带来的问题是确定五个州的农业、工业和住宅的水和电的适当分配。
●当用户的需求处于规定水平,且两座水库的水位处于规定高度时(考虑水库水位和水库水量之间的关系),您的解决方案应解决从格伦峡谷和胡佛大坝分配出多少水流量问题。建议模型重新运行的频率考虑供需状况的变化。
墨西哥对五个州消耗其份额外剩余的水要求索赔。您的计划应当涉及墨西哥的权利。
在您计划中的水资源分配实施后,讨论应当允许多少水(如果有的话)从科罗拉多河流入加利福尼亚湾?
要求:
在根据协商者们的指南制定水资源分配计划时,您应该:
●建立和分析一个数学模型,帮助协商者们对一系列固定的水供应和需求条件做出反应。使用该模型指导大坝运行:当米德湖的水位为M,鲍威尔湖的水位为P时,每个湖应该抽取多少水来满足规定的需求?如果没有额外的水供应(来自降雨等),并且考虑到需求是固定的,那么需要多长时间才能满足需求?随着时间的推移,必须额外供应多少水,以确保满足这些固定需求?
●使用您的模型,推荐解决一般(农业、工业、住宅)用水和发电用水冲突的最佳方法。明确说明你用来解决冲突的标准。
●使用你的模型来解决如果没有足够的水来满足所有水和电的需求,应该怎么做。
●在下列情况下,您的模型表明了什么?
➢用户对水和电的需求随着时间的推移而变化。当受影响地区的人口、农业和工业增长或减少时会发生什么?
➢与分析中使用的初始值相比,可再生能源技术的比例有所增加。
➢实施了额外的节水节电措施。
您的解决方案不应利用或依赖这些州的组织或个人的任何现有历史协议或当前政治权力,而是代表您的团队在该地区分配水资源的最佳数学解决方案。
作为提交解决方案的一部分, 请准备一篇一到两页的文章,将您的发现发表在 Drought and Thirst杂志上,该杂志是面向 美国西南部水基础设施管理者的月刊。
您的PDF解决方案总页数不应超过25页,并包括:
●一页摘要
●目录
●您的完整解决方案。.
●一篇一到两页的DroughtandThirst杂志文章
●参考文献
注: MCM有25页的限制。您提交的所有内容均计入25页的限制(摘要、目录、参考文献和任何附录)。您必须引用您的想法、图片和报告中使用的任何其他材料的来源。
术语表:
水力发电(水电):涡轮机将下落或快速流动的水的势能转化为机械能产生的电能。
整体求解过程概述(摘要)
本文针对格伦峡谷大坝和胡佛水坝的水资源分配问题,基于综合因子多目标优化模型和基于不确定性因子和损失函数的最优分配模型,建立了基于社会效益的水资源调度模型,利用Matlab工具箱和多目标智能粒子群算法来实现问题的解决。
问题1要求在两个大型湖泊已知水位的条件下给出蓄水量充足和蓄水不足条件下的最优配置策略。我们分析了多年来每个州的水和电力消耗数据,并可视化了1条河流,5个州和2个湖泊的位置。然后,选取决策变量,建立基于社会效益的水资源调度模型;利用基于双重决策和快速分层的多目标粒子群算法,求解了两湖各自供水与水位的关系。(图4.1)
问题2要求根据问题1的模型提出最佳方法,解决不同行业之间的竞争利益问题。以社会效益和经济效益两个指标为目标函数,以满足水库基本需水量和安全水位区间为约束,建立基于经济效益等综合因素的多目标优化模型。最终利用Matlab的智能遗传算法得到最优决策方案(见图4.34.13)。
问题3需要验证上述模型在水电资源短缺条件下的适应性。我们分析了在供水只有90、80、70、60等,各地水资源不足的情况下,政府应该采取什么策略。它由一组实际数据说明(见图4.14)。
问题4是在各种不确定性下通过多因素分析对上述模型的结果进行调整。
模型假设:
1.如果在运输过程中没有水电损失,并且没有额外的水电损失。
2.假设水库供水的流速始终保持稳定的速度。
3.假设无论每个用户消耗的水来自哪里,都不会产生不同的效果。
4.假设发电过程和电力运输过程中产生的功率损耗已经计算在总电源中。
5.假设每个州有三种类型的使用水电资源的目标:政府,农业和工业。
6.假设两个湖泊之间的水质没有差异,在经济上带来相同的好处。
7.如果各州没有人口流动。
问题重述:
我们的具体任务包括以下内容:
问题1:需要构建模型,以指导大坝运行对固定水的供需分析。当米德湖水位为M,鲍威尔湖水位为P时,将找到解决方案:a.是5个州的抽水需求;b. 是在固定需求和没有额外供水的条件下满足五个州的需求所需的时间;c.是满足固定要求的额外供水。
问题2:需要建立一个模型,为五个州的一般用水与发电用水之间的冲突提供解决方案,并解释解决方案。
问题3:当5个州的用水和发电需求不足时,需要建立一个模型来提供合理的水资源分配计划。
问题4:当条件发生变化时,需要相应地提供解决方案。例如:农业、工业和住房对水和电力的需求发生了变化,可再生能源的使用比例超过了预期或实施了额外的节水和节能措施。
模型的建立与求解整体论文缩略图
全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可
程序代码:(代码和文档not free)
function[xm,fv,dots] = PSO(fitness,N,c1,c2,w,M,D,MM,PP)
% use like this: [xm,fv] = PSO(@fitness,5000,2,2,0.6,100,D=63,M,P)
% N:Initializes the number of individual populations
% c1,c2:Learning factors
% w:Inertia weights
% M:The maximum number of iterations
% D:Search for spatial dimensions
% Initialize the individuals of the population (the range of positio
n and velocity can be defined here)
format long;
for i = 1:N
for j=1:D
x(i,j) = 1e8; % Initialize the location
v(i,j) = abs(randn); % Initialization speed
end
end
% The fitness of each particle is calculated first, and the pi and p
g are initialized
for i=1:N
p(i) = fitness(x(i,:),MM,PP);
y(i,:) = x(i,:);
end
pg = x(N,:); % pgIs globally optimal
for i=1:(N-1)
if(fitness(x(i,:),MM,PP)<fitness(pg,MM,PP))
pg = x(i,:);
end
end
% Enter the main loop and iterate sequentially according to the form
ula until the accuracy requirements are met
for t=1:M
for i=1:N % Update speed, displacement
v(i,:)=w*v(i,:)+c1*rand*(y(i,:)-x(i,:))+c2*rand*(pg-x(i,:));
x(i,:)=x(i,:)+v(i,:);
if fitness(x(i,:),MM,PP) < p(i)
p(i)=fitness(x(i,:),MM,PP);
y(i,:)=x(i,:);
end
if p(i) < fitness(pg,MM,PP)
pg=y(i,:);
end
end
Pbest(t)=fitness(pg,MM,PP);
%x
end
% disp('Argument when the objective function takes the minimum value:
')
xm=pg';
% disp('The minimum value of the objective function is:')
fv=fitness(pg,MM,PP);
dots=x;