• 美文
  • 文章
  • 散文
  • 日记
  • 诗歌
  • 小说
  • 故事
  • 句子
  • 作文
  • 签名
  • 祝福语
  • 情书
  • 范文
  • 读后感
  • 文学百科
  • 当前位置: 柠檬阅读网 > 范文 > 正文

    基于改进遗传算法的协同发射控制软件设计

    时间:2023-04-25 11:50:04 来源:柠檬阅读网 本文已影响 柠檬阅读网手机站

    李方舟,郝巨东,李 丽,李 阳,张 昆

    (北方自动控制技术研究所,太原 030006)

    火箭炮武器系统中地面发控系统是完成火箭弹发射准备、激活、点火的核心系统,在进入发射流程后,发控系统负责装定及发射时序控制,接收来自其他节点的文件和信息,向显示终端反馈当前步骤的执行结果,并且负责向火箭弹传输对时、星历、飞行控制参数和惯导参数,是火箭炮武器系统中不可或缺的一环,它与火箭弹发射前的发射流程息息相关[1]。

    但现有火箭炮武器平台在不同弹种齐射的实现上存在一定问题,其中最主要的是在时序方面,火箭弹发射前、中、后的每个步骤都具有独立时间轴,步骤节点时间以毫秒(ms)级的装定精度严格规定、实时控制,对单个步骤执行的提早或延后都将导致火箭弹无法发射。即同时调度多个火箭弹模块同时进入装定流程,将导致不同弹种装定步骤的时间交叠、信息冲突,无法保证通信的实时性。交叠位置若想同时处理并保证装定的实时性和信息的可靠性,需对硬件重新设计,并进行软件移植和修改,需要大量的经济和时间成本。

    针对上述问题和条件的限制,对已定型的多型火箭弹时序协同方法进行研究,即不改动原有弹种装定步骤的函数逻辑,通过解算在系统主时间轴上不同火箭弹进入发射流程最优的起点调整值,协同各步骤的处理时间,并在此基础上设计软件控制模块。

    本文用改进遗传算法对多弹种发射时序协同问题进行建模并求解。将求解结果加入到软件模块的设计中,构建弹种协同时序库,将协同解算的最优解保存,有效减少了进入流程前的准备时间,且为后续弹种新时序的加入和协同提供了便捷。

    总装定任务可描述为在火箭弹每一个步骤的任务发布时间节点开始执行,并在处理时间内完成装定步骤。将系统装定时间轴定义为主时间轴,弹种固有装定时序的时间轴定义为该弹种的独立时间轴。在弹种的独立时间轴上,步骤的开始时间和结束时间相对于起点固定。解决时序协同问题需调整不同弹种独立时间轴起点与主时间轴起点的相对位置,装定时不同弹种异步进入发射流程,并保证多条独立时间轴上各步骤的处理时间在系统主时间轴上的投影不交叠。

    由此,问题可转化为在多约束条件下的TSP 问题,求解不同弹种进入发射流程的次序及最佳时间,获得总时长最短的装定时序。

    本文引入表1 的符号定义,并假设条件如下:

    表1 符号定义Table 1 Symbol definition

    1)同一弹种各步骤装定顺序固定,不同弹种的步骤执行顺序互不影响;

    2)单一时刻只能执行单一步骤;

    3)每个步骤一旦开始加工就不能中途停止;

    4)相邻且不交叠的两个步骤之间切换时间为零。

    算法的目标是求解总装定时长最短且各步骤不冲突的排序方案。适应度是衡量染色体优劣程度的函数,表征了环境作用,是染色体收敛于最优解的关键。算法目标是求装定总耗时最短,总耗时的倒数可作为适应度函数:

    式中,fk是第k 条染色体的适应度;
    ti为其中弹种i固有的装定时间总长;
    Δti为求解的该弹种i 的起点调整值。

    假设m 型火箭弹在系统上进行装定,火箭弹i有Mi个装定步骤,其步骤j 在独立时间轴上对应的开始时间和截止时间节点分别为Rij点和Dij点,约束条件如下:

    其中,式(2)表示弹种的装定总时长和起点调整值之和不得超过装定时间指标,式(3)表示时序约束条件,即不同弹种的所有步骤的执行时间不交叠,式(4)为弹种i 单步骤j 执行时间段约束,式(5)为弹种i 的步骤执行时间段合集。

    2.1 遗传算法模型构造

    2.1.1 染色体编码

    如图1 所示,编码分为排序编码和时序编码两部分,时序编码又分为独立时序编码和协同时序编码。

    图1 编码示意图Fig.1 Schematic diagram of coding

    1)排序编码表示弹种种类及排序情况。编码将m 型弹进入流程次序从1~m 随机排序。例如,第i位上的数字x 表示弹种x 在主时间轴上以次序i 进入流程。排序编码为进化过程的染色体个体,基因串位数h1:

    2)独立时序编码将弹种独立时间轴转化为二进制编码,以时间段长度T 分割时间轴,每一段时间T 作为二进制编码中的一位。固有时序段上只要弹种i 的wij与某一位的时间分割段T 存在交集,则该位用1 表示,否则用0 表示。设该型弹种装定总时长为t,固有时序段位数h2:

    由于时序协同的复杂性及其存在的限制条件,将协同时序编码作为染色体个体进行交叉变异的方法会将求解问题复杂化,且难以求得最优解。为提高求解效率,将排序编码作为染色体个体,执行交叉变异过程;
    协同时序编码作为染色体个体适应度计算及判断的依据。

    2.1.2 选择算子

    在遗传算法中,存在两个阶段的选择。第1 个是参与进化操作的个体选择,此阶段使用随机遍历选择法,对染色体个体进行交叉和变异操作,不断寻优并保证种群的多样性。

    第2 个为“重插入”或“环境选择”的选择,指在个体经过交叉变异等进化操作所形成的子代个体形成新种群的过程。此阶段采用锦标赛选择方式[3-4],每次从种群中挑选S 个个体的适应度进行比较,基于子代染色体适应度选择一个最好的个体加入被选集合。重复该操作直至子代集合大小达到所需个体数。

    2.1.3 个体评价算子

    个体评价过程根据染色体个体和独立时序编码生成协同时序编码,以此判断染色体个体能否存活。若染色体个体存活,则根据协同时序编码和式(1)计算个体适应度。

    2.1.4 交叉算子

    所选取的交叉算子[5]基于排序编码匹配交叉。先在识别编码段上随机生成两个交叉点,定义这两点间的区域为匹配区域,并交换两个父代的匹配区域。如图2 所示,父代染色体P1,P2中间段变换后生成temp1和temp2。对于temp1和temp2中匹配区域外出现的编码位重复,依据匹配区域内的位置逐一进行替换,生成C1,C2。图中匹配关系为5↔6,1↔2。

    图2 交叉过程Fig.2 Crossover process

    2.1.5 变异算子为了提高种群的多样性,降低遗传算法陷入局部最优解的风险。变异操作将个体以变异概率P*进行变异,产生两个0~1 之间的随机实数,将这两个随机实数按比例转化为1~m 间的整数,将相应整数位上数字进行交换。

    2.2 禁忌搜索表的引入

    为提高搜索的效率,加入禁忌搜索算法对遗传算法进行改进,禁忌搜索算法的核心思想是不重复已经搜索过的解,对交叉算子和变异算法做出禁忌操作,具体方案如下:

    1)建立全局禁忌表:存储每一代中的最优解,在所有交叉和变异操作中作为禁忌操作对象;

    2)建立局部禁忌表:在交叉算子中,局部禁忌表包括上一代种群和当前已交叉生成的子代种群;
    在变异算子中,局部禁忌表为父代种群、交叉后待变异的种群和当前已变异生成子代种群;
    在个体评价过程中,将不满足约束条件的部分基因段加入局部禁忌表。

    此过程中个体评价的局部禁忌表最为重要,以图2 中的子代C1的个体评价过程为例,假定在个体评价过程中在主时间轴上已经按序插入弹种6、7、5、3,弹种2 起点无法在中插入,则基因段“67532”为禁忌基因段。

    2.3 算法策略

    步骤1 根据已选弹种总数m,随机生成popsize 个个体作为初始种群,进化计数器t=0,设置终止迭代次数T*,设置交叉概率J*,变异概率P*,设置竞赛规模S。

    步骤2 生成m 型火箭弹的独立时序编码。以生成弹种i 的时序编码段为例,调取m 型火箭弹的固有时序以T 为时间片周期构建固有时序段及填充段。

    步骤3 对初始种群进行个体评价,同时建立全局禁忌表和个体评价局部禁忌表。

    步骤4 随机遍历选择种群中的个体,在禁忌表约束下,执行交叉操作、变异操作及个体评价,实时更新全局和局部禁忌表。

    步骤5 采用锦标赛选择方式,生成子代集合,计数器t=t+1。

    步骤6 重复执行步骤4~步骤5,直至达到终止条件的终止迭代次数T*,流程如图3 所示,最终获得最优个体。

    图3 算法策略流程图Fig.3 Flow chart of algorithm strategy

    将某型火控系统与测试得到的7 型火箭弹各 装定步骤的开始及结束时间节点,如表2 所示。应用改进遗传算法求解火箭弹时序调整值,设置基本参数分别为:初始化种群popsize=100,最大进化代数mgen=10,交叉概率J*=0.95,变异概率P*=0.05,设置时间指标=300 s,竞赛规模S=10,利用Matlab进行仿真和求解。

    表2 弹种时序表Table 2 Timing sequence of types of rockets loading

    选取全部7 种火箭弹和其中任意弹种组合时序进行求解,获得最优染色体个体排序方案之后,将与之对应的协同时序编码进行解码,解码得到不同弹种的装定起点Δt 部分列举在表3 中。

    表3 起点调整解集表Table 3 Starting point adjustment solution set table

    组合1 为7 种火箭弹协同的起点调整值解,组合2~8 依次为其中6 种火箭弹协同的起点调整值解。Δt*对应相应弹种*的装定起点调整值,即该弹所有步骤均延后相应时长;
    为协同时序的装定总时长。根据解集1 可以看出,从7 种火箭弹中任取其中几种进行协同组合,得到的最优时序总时长必然小于297.9 s,符合装定时间指标的要求。

    基于上述算法及起点调整解值表,针对某型火箭炮发控软件的限制及设计约束提出多弹种协同控制模块构造方法。模块包括任务初始化子模块、所有弹种通用的通信和检测子模块、时序控制子模块、各型火箭弹的装定执行子模块及其他功能函数,模块框架如图4 所示。

    图4 协同控制模块架构图Fig.4 Architecture diagram of collaborative control module

    模块设计时,设置多个独立的结构体存储各管号的相应信息,包含该管装填的弹种代号、弹种状态、热电池阻值、装定和发射时序、参数设置等信息,实时更新并用以状态检测和时序控制。把各弹种的独立时序控制功能整合为时序控制子模块,并将装定控制与发射控制时间区分。在时序控制子模块内加入时序库,存储所有弹种协同的时序调整值解。将火箭弹可通用的CAN 通信、DDS 通信、串口通信、TCP 通信及IO 检测等函数归纳及整合;
    将无法共用的函数进行解耦和独立,仅在不同弹种独立函数内加入弹种代号判断项,例如弹种独立的参数设置及装定步骤函数、自检函数等。同时,设计后续弹种加入的独立接口,为新弹种的加入提供便利,降低了后期的维护成本。

    针对多弹种协同控制模块设计问题,本文使用改进遗传算法对多弹种起点调整值进行求解,以弹种进入流程的排序为编码构造了染色体个体,引入禁忌搜索表改进遗传算法中的交叉算子、变异算子和个体评价算子,将排序和时序不断优化。最终在多限制条件下,求解出最短的协同装定时序及起点调整值。在确定解值的基础上,设计符合多弹种协同装定的发射控制软件模块,以实时高效地执行多弹种协同装定和发射控制,使多弹种协同时序达到发射火力反应时间要求。

    猜你喜欢时间轴火箭弹时序时间轴上二阶非线性非自治延迟动力系统的振动性数学物理学报(2022年3期)2022-05-25基于Sentinel-2时序NDVI的麦冬识别研究中国农业信息(2021年3期)2021-11-22时间轴里的“共和国记忆”金桥(2019年12期)2019-08-13基于FPGA 的时序信号光纤传输系统电子制作(2017年13期)2017-12-15一种毫米波放大器时序直流电源的设计电子制作(2016年15期)2017-01-15时间轴在历史教学中的应用文学教育(2016年18期)2016-02-28DPBUS时序及其设定方法河南科技(2014年15期)2014-02-27
    相关热词搜索: 协同 遗传 算法

    • 文学百科
    • 故事大全
    • 优美句子
    • 范文
    • 美文
    • 散文
    • 小说文章