基于GA遗传算法的拱桥静载试验车辆最优布载matlab仿真

news2024/9/20 10:46:43

目录

1.程序功能描述

2.测试软件版本以及运行结果展示

3.核心程序

4.本算法原理

5.完整程序


1.程序功能描述

      基于GA遗传算法的拱桥静载试验车辆最优布载matlab仿真。主要是为了实现桥梁静载试验自动化布载(确定车辆位置使得满足加载效率ηq的要求,0.95≤ηq≤1.05),总体要求是ηq尽量靠近1,所用的加载车辆尽量少,进行布载耗时越少越好。

2.测试软件版本以及运行结果展示

MATLAB2022A版本运行

工况1:

 工况参数如下:

工况2:

 工况参数如下:

工况3:

 工况参数如下:

具体的信息参考附带的参考文献:

(完整程序运行后无水印)

3.核心程序

..............................................................
figure(2);
plot(Error,'b-o');
grid on
xlabel('迭代次数');
ylabel('适应度值');


% Xis{a} = [Xi];
% Dis{a} = [Di];
% Tis{a} = [Ti];
% Lis{a} = [Li];

[V,I]   = max(Jrs);

Xi_best = Xis{I};
Di_best = Dis{I};
Ti_best = Tis{I}; 
Li_best = Lis{I};
N;
Lr      = Lrs(I);
Ss      = Sss(I);
Minf    = V;

Times    = toc; 
%              Lrs1= [Lrs1;Lr37];
%              Lrs2= [Lrs2;Lr38];
%              Lrs3= [Lrs3;Lr39];
%              Lrs4= [Lrs4;Lr107];
%              Lrs5= [Lrs5;Lr108];
%              Lrs6= [Lrs6;Lr127];
%              Lrs7= [Lrs7;Lr128];
%              Lrs8= [Lrs8;Lr129];
%              Lrs9= [Lrs9;Lr136];
Lr37 = Lrs1(I);
Lr38 = Lrs2(I);
Lr39 = Lrs3(I);
Lr107 = Lrs4(I);
Lr108 = Lrs5(I);
Lr127 = Lrs6(I);
Lr128 = Lrs7(I);
Lr129 = Lrs8(I);
Lr136 = Lrs9(I);


%画图
func_view2(Xi_best,Di_best,Ti_best,Li_best,N,x1,x2);  
hold on
 

% data37  = load('dat\37.txt');
% data38  = load('dat\38.txt');
% data39  = load('dat\39.txt');
% data106 = load('dat\106.txt');
% data107 = load('dat\107.txt');
% data108 = load('dat\108.txt');
% data127 = load('dat\127.txt');
% data128 = load('dat\128.txt');
% data129 = load('dat\129.txt');
% data136 = load('dat\136.txt');

DD1 = data106;
DD2 = data38;
DD3 = data39;
DD4 = data37;
DD5 = data107;
DD6 = data108;
DD7 = data127;
DD8 = data128;
DD9 = data129;
DD10 = data136;
DD11 = data136;
DD12 = data136;
DD13 = data136;
DD14 = data136;
DD15 = data136;
DD16 = data136;
DD17 = data136;
DD18 = data136;
DD19 = data136;
DD20 = data136;

func_influence_line(DD1,DD2,DD3,DD4,DD5,DD6,DD7,DD8,DD9,DD10,DD11,DD12,DD13,DD14,DD15,DD16,DD17,DD18,DD19,DD20,NUS);


clc; 


disp('车辆布载位置:');
Xi_best

disp('车辆方向:');
Di_best

disp('车辆类型:');
Ti_best

disp('占用车道:');
Li_best

disp('最优函数值:'); 
Minf


disp('加载效应值:'); 
Ss

disp('载荷效率:'); 
Lr

disp('有效车辆:'); 
sum(Li_best)

disp('算法仿真时间:'); 
Times
 

[Lr,Lr37,Lr38,Lr39,Lr107,Lr108,Lr127,Lr128,Lr129,Lr136]'
06_057m

4.本算法原理

       基于遗传算法(Genetic Algorithm, GA)的拱桥静载试验车辆最优布载问题是一个复杂的优化问题。在这个问题中,目标是最小化车辆布置对拱桥产生的不利影响,同时确保试验能够有效检测出拱桥的承载能力和潜在问题。假设有一座拱桥,我们需要对其进行静载试验,以评估其承载能力。为了进行这项试验,我们需要确定如何将车辆放置在桥面上,以便能够模拟最不利的情况,同时又不会对桥梁造成损害。这涉及到了车辆的位置、重量分布等问题。我们的目标是找到一种车辆布载方案,使得桥梁的关键部位承受最大的荷载,从而能够有效地评估桥梁的性能。

      为了实现桥梁静载试验自动化布载(确定车辆位置使得满足加载效率ηq的要求,0.95≤ηq≤1.05),总体要求是ηq尽量靠近1,所用的加载车辆尽量少,进行布载耗时越少越好。

ηq=Ss/(1+μ)∙S

式中:

Ss—为静载试验荷载作用下控制截面设计内力或位移计算值;

S—为控制荷载作用下相应截面最不利内力或位移计算值;

μ—为按规范取用的冲击系数,对于平板挂车、履带车、重型车辆,取μ=0。

建立如下的优化模型:

       这个目标函数意义为,第一项,最小的车辆,第二个,是尽可能接近1。以这两个为优化目标进行优化。

       除了目标函数外,还存在一些约束条件,包括但不限于:

  • 车辆的总重量不超过桥梁的允许载荷;
  • 车辆之间的最小距离;
  • 桥梁上的最大允许载荷密度等。

       基于遗传算法的拱桥静载试验车辆最优布载问题是一个典型的优化问题。通过合理的选择、交叉和变异操作,遗传算法可以有效地搜索最优解。在实际应用中,还需要结合具体的桥梁模型和实际情况来进行调整和优化。

5.完整程序

VVV

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

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

相关文章

初级python代码编程学习---- 简单记事本小程序

简单记事本小程序 提供一个基于Python的简单记事本小程序示例。这个小程序将允许用户添加、查看和删除记事条。 # Simple Note Pad Mini-Application # 记事本数据结构 notes [] def add_note(note): """添加一条新的记事条""" …

可重用性功能 在 Jira 中扩展测试管理

在当今动态的软件开发环境中,高效且可扩展的测试管理对于确保软件产品的质量和可靠性至关重要。Jira 是一种流行的项目管理工具,它通过与Zephyr Scale的集成为测试管理提供了强大的解决方案。 在这篇博文中,我们将探讨可重用性功能在测试管理…

信创教育:培养未来科技创新的生力军

随着全球数字化转型的加速,信息技术应用创新(简称“信创”)产业作为推动国家信息技术自主可控和产业升级的关键领域,正迎来前所未有的发展机遇。信创教育,作为培养未来科技创新生力军的重要阵地,其重要性和…

智慧卫生间环境传感器有哪些?智慧卫生间的特点@卓振思众

随着科技的进步和人们对生活品质的要求不断提高,智慧卫生间作为现代化设施的代表,越来越受到关注。智慧卫生间不仅仅是在外观设计上做文章,更在于其背后强大的智能系统,特别是环境传感器的应用,让厕所的管理和使用变得…

第36课 Scratch入门篇:画正多边形

画正多边形 故事背景: 绘制一个正多边形! 程序原理: 我们前面学习了绘制三角形(3 条边,旋转 120 度),正方形(4 条边,旋转 90 度),我们可以归纳一个公式,针对正多边形,有n条边,那么旋转的角度就是 360/n。通过程序实现就是 开始编程 1、隐藏预设的猫咪角色,…

【C#】 接口 继承

简介 继承是面向对象编程的核心特性之一,它允许我们创建一个类(称为子类)来继承另一个类(称为基类)的属性和方法。 作用 这样,我们可以重用代码,减少重复,并使我们的代码更加模块…

无限金币版《废土世界》安卓手机游戏下载,游戏分享

《废土世界》(JunkWorld)是由IRONHIDE游戏工作室开发的一款塔防游戏,它将玩家带入一个荒凉、贫瘠的后末日世界,玩家需要带领一队拾荒者穿越沙漠和放射性沼泽,进行生存战斗。游戏以其战略深度和丰富的塔防元素为特色&am…

RabbitMQ高级特性 - 消息和队列TTL、死信队列

文章目录 消息和队列TTL概述实战开发 死信队列概述实战开发 消息和队列TTL 概述 a)TTL(Time To Live 过期时间),RabbitMQ 可以对消息和队列设置 TTL. 当消息到达存活时间之后,还没有被消费,就会被自动清除…

fmql之Linux移植

先了解以下linux移植的大致流程,以及需要的资料、软件等。 《领航者ZYNQ之嵌入式Linux开发指南_V2.0》第十八章 Linux内核移植 (amobbs.com 阿莫电子技术论坛) 前言 复旦微(他人经验) 复旦微fmql的操作指南来了: 复旦微 FMQL L…

算法:排序(前言)

所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。排序算法,就是如何使得记录按照要求排列的方法。排序算法在很多领域得到相当地重视,尤其是在大量数据的处理方面。一个优秀的…

还在担心Android功能不会用吗?Intro Showcase View助你快速实现功能引导

还在担心Android功能不会用吗?Intro Showcase View助你快速实现功能引导 1. 引言 在现代应用开发中,如何有效引导用户快速上手并掌握应用的核心功能,是提升用户体验的重要一环。功能引导不仅帮助用户理解复杂功能,还能提高用户留存率,减少因操作复杂度带来的用户流失。随…

将Excel数据导入到SQL Server数据库

1.找到SQLServer导入导出工具,有32位和64位 2.打开后点击 下一步 3.选择数据源、Excel文件,自动匹配Excel的版本,根据实际情况,勾选首行是否是列名 4.选择目标,如图 5.点击属性,设置要导入的目标数据库…

zookeeper+kafka群集

一 :消息队列 1:什么是消息队列 消息(Message)是指在应用间传送的数据。消息可以非常简单,比如只包含文本字符串,也可以更复杂,可能包含嵌入对象。 消息队列(Message Queue)是一种应用间的通信方式,消息发送后可以立即返回由消息…

【Datawhale X 魔搭 】AI夏令营第四期大模型方向,Task2:头脑风暴会,巧灵脑筋急转弯(持续更新)

队伍名称:巧灵脑筋急转弯 队伍技术栈:python,LLM,RAG,大模型,nlp,Gradio,Vue,java 队友:知唐(队长),我真的敲不动…

RCE绕过技巧

目录 EVAL长度限制突破技巧 1.使用反引号 2.file_put_contents写入文件 3.php5.6变长参数usort回调后门 命令长度限制突破技巧 1.拼接文件名 无字母数字的webshell命令执行 1.取反码 2.上传临时文件 EVAL长度限制突破技巧 分析代码:首先传递一个param参数&…

优思学院|日本制造的质量真的那么好吗?回顾日本的质量发展

时代不停改变,时移势易,没有事情是永恒的。 事实上,在20世纪40年代,日本产品常被认为是廉价、劣质的制品,并不如大家所想像的那么好。日本的工业领导者意识到了这个问题,决心生产出创新的高质量产品。 一…

Docker 网络代理配置及防火墙设置指南

Docker 网络代理配置及防火墙设置指南 背景 在某些环境中,服务器无法直接访问外网,需要通过网络代理进行连接。虽然我们通常会在 /etc/environment 或 /etc/profile 等系统配置文件中直接配置代理,但 Docker 命令无法使用这些配置。例如&am…

Python | Leetcode Python题解之第332题重新安排行程

题目: 题解: class Solution:def findItinerary(self, tickets: List[List[str]]) -> List[str]:def dfs(curr: str):while vec[curr]:tmp heapq.heappop(vec[curr])dfs(tmp)stack.append(curr)vec collections.defaultdict(list)for depart, arri…

KillWxapkg-自动化反编译微信小程序工具(附安装包)

KillWxapkg是一款纯Golang实现,一个用于自动化反编译微信小程序、小程序安全评估工具工具,小程序安全利器, 可以自动解密,解包,可还原工程目录,支持Hook,小程序修改,支持微信开发者工…

Java 实现 B树(通俗易懂)

目录 一.概念 二.节点定义 三.插入操作 1.查找位置 2.插入 3.分裂 四.B树和B*树 1.B树 2.B*树 一.概念 B树是一颗多叉平衡树,空树也是多叉平衡树。 一颗M阶的B树要满足以下条件: 1.根节点至少有两个孩子; 2.每个非根节点至少有(上…