当前位置: 首页 > article >正文

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

目录

1.程序功能描述

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

3.核心程序

4.本算法原理

5.完整程序


1.程序功能描述

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

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

MATLAB2022A版本运行

测试工况:

测试仿真图:

测试数据结论:

车辆布载位置:

Xi_best =

  179.5512  191.5642  216.6627  258.8153

车辆方向:

Di_best =

     1     1    -1     1

车辆类型:

Ti_best =

     3     3     3     3

占用车道:

Li_best =

     6     6     6     5

最优函数值:

Minf =

   3.3329e+03

加载效应值:

Ss =

   3.3329e+03

载荷效率:

Lr =

    0.9884

有效车辆:

ans =

    23

算法仿真时间:

Times =

   29.4721

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

3.核心程序

..........................................................
          %约束条件分析
          if setss == 1 & Lr >= 0.95 & Lr <= 1.05 & flag == 1 & Lr8 <= 1.05 & Lr10 <= 1.05 & Lr37 <= 1.05 & Lr38 <= 1.05 & Lr52 <= 1.05 & Lr53 <= 1.05 & Lr142 <= 1.05 & Lr143 <= 1.05 & Lr144 <= 1.05 & Lr159 <= 1.05 & Lr160 <= 1.05 & Lr161 <= 1.05 & Lr162 <= 1.05 & Lr163 <= 1.05 & Lr164 <= 1.05 & Lr181 <= 1.05 & Lr199 <= 1.05 & Lr258 <= 1.05 & Lr259 <= 1.05
%              [epls,Lr,Ss] = func_obj(Xi,Di,Ti,Li,L_influence,S); 
             XXX=XXX+1; 
             Right(a) = 1;
             Xis{XXX} = [Xi];
             Dis{XXX} = [Di];
             Tis{XXX} = [Ti];
             Lis{XXX} = [Li];
             Lrs = [Lrs;Lr];
             Jrs = [Jrs;epls];
             Sss = [Sss;Ss];
             
             Lrs1= [Lrs1;Lr8];
             Lrs2= [Lrs2;Lr10];
             Lrs3= [Lrs3;Lr37];
             Lrs4= [Lrs4;Lr38];
             Lrs5= [Lrs5;Lr52];
             Lrs6= [Lrs6;Lr53];
             Lrs7= [Lrs7;Lr142];
             Lrs8= [Lrs8;Lr143];
             Lrs9= [Lrs9;Lr144];
             Lrs10= [Lrs10;Lr159];
             Lrs11= [Lrs11;Lr160];
             Lrs12= [Lrs12;Lr161];
             Lrs13= [Lrs13;Lr162];
             Lrs14= [Lrs14;Lr163];
             Lrs15= [Lrs15;Lr164];
             Lrs16= [Lrs16;Lr181];
             Lrs17= [Lrs17;Lr199];
             Lrs18= [Lrs18;Lr258];
             Lrs19= [Lrs19;Lr259];
          end
          JJ(a,1) = E;
      end 
      
      Objvsel=(JJ);    
      [Chrom,Objv]=reins(Chrom,Selch,1,1,Objv,Objvsel);   
      gen=gen+1; 
        
      
      %保存参数收敛过程和误差收敛过程以及函数值拟合结论
      Error(gen) = mean(Objvsel);
end 




[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;Lr8];
%              Lrs2= [Lrs2;Lr10];
%              Lrs3= [Lrs3;Lr37];
%              Lrs4= [Lrs4;Lr38];
%              Lrs5= [Lrs5;Lr52];
%              Lrs6= [Lrs6;Lr53];
%              Lrs7= [Lrs7;Lr142];
%              Lrs8= [Lrs8;Lr143];
%              Lrs9= [Lrs9;Lr144];
%              Lrs10= [Lrs10;Lr159];
%              Lrs11= [Lrs11;Lr160];
%              Lrs12= [Lrs12;Lr161];
%              Lrs13= [Lrs13;Lr162];
%              Lrs14= [Lrs14;Lr163];
%              Lrs15= [Lrs15;Lr164];
%              Lrs16= [Lrs16;Lr181];
%              Lrs17= [Lrs17;Lr199];
%              Lrs18= [Lrs18;Lr258];
%              Lrs19= [Lrs19;Lr259];
Lr8 = Lrs1(I);
Lr10 = Lrs2(I);
Lr37 = Lrs3(I);
Lr38 = Lrs4(I);
Lr53 = Lrs5(I);
Lr52 = Lrs6(I);
Lr142 = Lrs7(I);
Lr143 = Lrs8(I);
Lr144 = Lrs9(I);
Lr159 = Lrs10(I);
Lr160 = Lrs11(I);
Lr161 = Lrs12(I);
Lr162 = Lrs13(I);
Lr163 = Lrs14(I);
Lr164 = Lrs15(I);
Lr181 = Lrs16(I);
Lr199 = Lrs17(I);
Lr258 = Lrs18(I);
Lr259 = Lrs19(I);


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

% data8  = load('dat\8.txt');
% data9  = load('dat\9.txt');
% data37  = load('dat\37.txt');
% data38 = load('dat\38.txt');
% data52 = load('dat\52.txt');
% data53 = load('dat\53.txt');
% data142 = load('dat\142.txt');
% data143 = load('dat\143.txt');
% data144 = load('dat\144.txt');
% data159 = load('dat\159.txt');
% data160  = load('dat\160.txt');
% data161  = load('dat\161.txt');
% data162  = load('dat\162.txt');
% data163 = load('dat\163.txt');
% data164 = load('dat\164.txt');
% data181 = load('dat\181.txt');
% data199 = load('dat\199.txt');
% data258 = load('dat\258.txt');
% data159 = load('dat\159.txt');


DD1 = data9;
DD2 = data10;
DD3 = data37;
DD4 = data38;
DD5 = data52;
DD6 = data53;
DD7 = data142;
DD8 = data143;
DD9 = data144;
DD10 = data159;
DD11 = data160;
DD12 = data161;
DD13 = data162;
DD14 = data163;
DD15 = data164;
DD16 = data181;
DD17 = data199;
DD18 = data258;
DD19 = data259;
DD20 = data259;

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,Lr8,Lr10,Lr37,Lr38,Lr52,Lr53,Lr142,Lr143,Lr144,Lr159,Lr160,Lr161,Lr162,Lr163,Lr164,Lr181,Lr199,Lr258,Lr259]'


figure;
plot(Error,'b-o');
xlabel('迭代次数');
ylabel('error');
06_057m

4.本算法原理

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

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

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

式中:

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

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

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

建立如下的优化模型:
 

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

       除了目标函数外,还存在一些约束条件,包括但不限于:1.车辆的总重量不超过桥梁的允许载荷;

2.车辆之间的最小距离;

3.桥梁上的最大允许载荷密度等。

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

5.完整程序

VVV


http://www.kler.cn/a/375606.html

相关文章:

  • PHP反序列化原生类字符串逃逸框架反序列化利用
  • 中仕公考:25年上海省考时间
  • Kafka物理存储机制深度解析
  • CSS3新增长度单位(二)
  • 基于Transformer的路径规划 - 第五篇 GPT生成策略_解码方法优化
  • PostgreSQL的奥秘:全面解读JSONB——非结构化数据支持的深入探索
  • Minio 之 内网项目托管Unity Android包体
  • 个人开发三步走
  • wx.setNavigationBarColor动态设置导航栏颜色无效(亲测有效)
  • Hailo-8/8L系列汇总
  • 小白Git操作简洁步骤
  • PostgreSQL 增量备份:保护你的数据资产
  • ARKit读取LiDAR点云
  • qt QGroupBox详解
  • IO详解(BIO、NIO、实战案例、底层原理刨析)
  • CSS3简介(一)
  • 解决项目中图片出不来的bug
  • ubuntu启动慢,如何看启动耗时分布
  • 分布式 ID 生成策略(二)
  • Redis 内存回收策略小结
  • Spark中的常见算子
  • ubuntu22-安装vscode-配置shell命令环境-mac安装
  • Serverless + AI 让应用开发更简单
  • 报错:npm : 无法加载文件 C:\Program Files\nodejs\npm.ps1,因为在此系统上禁止运行脚本。
  • vue3-element-admin 去掉登录
  • Docker Compose入门学习——下载、授权、创建文件、定义服务