通过解预测和机器学习促进蚁群优化


文章目录

  • Abstract
  • 1. Introduction
  • 2. Background and related work
    • 2.1 定向越野问题
    • 2.2 ACO优化
  • 3. 基于预测的蚁群优化算法
    • 3.1 构建训练集
    • 3.2 训练与解预测
    • 3.3 将预测解融入蚁群优化

Abstract

ML - ACO 算法的第一阶段,使用一组已知最优解的小定向越野问题实例训练一个 ML 模型。具体来说,使用分类模型根据问题特定的特征和统计度量来判断一条边是否属于最优路线。然后,训练后的模型用于预测测试问题实例中图中一条边属于最优路线的 “概率”。

在第二阶段,我们将 ML 模型预测的概率值纳入 ACO 算法中,即使用概率值作为启发式权重或用于初始化信息素矩阵。这样做的目的是使 ACO 的采样偏向于那些预测更有可能属于最优路线的边,从而有望提高 ACO 找到高质量路线的效率。

1. Introduction

利用 ML 来帮助组合优化最近引起了很多关注(Bengio 等人,2021;Karimi - Mamaghan 等人,2022)。例如,新颖的 ML 技术已被开发用于修剪大规模优化问题的搜索空间,使其缩小到现有解决方案算法可管理的大小(Sun 等人,2021b;Lauri 和 Dutta,2019;Sun 等人,2021a),用于为分支定界或树搜索算法排序决策变量(Li 等人,2018b;Shen 等人,2021),以及用于近似解决方案的目标值(Fischetti 和 Fraccaro,2019;Santini 等人,2021)。也存在一些基于 ML 的方法,试图直接为优化问题预测高质量的解决方案(Abbasi 等人,2020;Ding 等人,2020)。这些方法的关键思想通常是通过 ML 进行解预测,即尽可能接近地预测给定问题的最优解。


在 ML - ACO 算法的第一阶段,我们在一组由通用精确求解器(CPLEX V12.8.0)最优解决的小定向越野问题实例上训练一个 ML 模型,如图 1 所示。我们提取问题特定的特征以及统计措施(参见第 3.1 节)来描述已解决定向越野问题实例图中的每条边,并将每条边映射到特征空间中的一个训练点。然后,可以使用分类算法在特征空间中学习一个决策边界,以很好地区分属于最优路线的边和不属于最优路线的边。我们将测试多种现有的分类算法来完成此任务,包括图神经网络(Kipf 和 Welling,2017;Wu 等人,2021)、逻辑回归(Bishop,2006)和支持向量机(Boser 等人,1992;Cortes 和 Vapnik,1995)。对于一个未解决的测试定向越野问题实例,训练后的 ML 模型可以用于预测图中每条边属于最优路线的 “概率”,如图 2 所示。


在 ML - ACO 算法的第二阶段,我们将 ML 模型预测的概率值纳入 ACO 算法中,即使用概率值来设置启发式权重矩阵或初始化 ACO 的信息素矩阵。目的是在 ACO 构建可行路线的采样过程中,偏向于使用更有可能在最优路线中的边,希望能提高 ACO 找到高质量路线的效率。从这个意义上说,我们的 ML - ACO 算法的想法也与用于改进进化算法的播种策略相关(Liaw,2000;Hopper 和 Turton,2001;Friedrich 和 Wagner,2015;Chen 等人,2018)。

2. Background and related work

2.1 定向越野问题

考虑一个完全的有向图G(V,E,S,C),其中V表示顶点集,E表示边集,S表示每个顶点的得分,C表示通过每条边的时间成本。

定向越野的目标是搜索一条从起始顶点 v 1 v_1 v1到结束顶点 v n v_n vn的路径,该路径在给定的一个时间预算 T m a x T_{max} Tmax内访问一个顶点子集,以使收集到的分数最大化。因此,定向越野问题可以看作是旅行商问题和背包问题的结合。

我们用 u i u_i ui表示顶点 v i v_i vi的访问顺序,并使用二进制变量 x i , j x_{i,j} xi,j表示定点 v j v_j vj是否在 v i v_i vi之后直接被访问。定向越野问题的整数规划可以写为:


约束条件(2)确保路径从顶点 v 1 v_1 v1开始并在顶点 v n v_n vn结束。
约束条件(3)保证中间的每个顶点最多只能被访问一次。
约束条件(4)是Miller - Tucker - Zemlin 子回路消除约束。
约束条件(5)满足给定的时间预算。

2.2 ACO优化

假设一只蚂蚁在顶点 v i v_i vi,并且 V i V_i Vi表示这只蚂蚁在不违反时间预算约束的情况下下一步可以访问的顶点集合。这只蚂蚁在下一步访问顶点 v j ∈ V i v_j∈V_i vjVi的概率由下式定义:


在定向越野问题中:我们把设置为顶点 v j v_j vj​<

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

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

相关文章

tornado

Tornado通过使用非阻塞网络1/0&#xff0c;可以扩展到数以万计的开放链接&#xff0c;非常适合 长时间轮询&#xff0c;WebSockets和其他需要与每个用户建立长期连接的应用程序。 特点 注重性能优越&#xff0c;速度快解决高并发异步非阻塞websockets 长连接内嵌了HTTP服务器…

Linux 一些快捷键使用操作技巧

ctrl c : 强制停止 如图仅输入tail命令时程序会卡住&#xff0c;这时就需要强制停止 ctrl d : 退出或者登出 history : 查看历史输入命令 &#xff01;命令 &#xff1a;自动执行上一次匹配前缀的命令 &#xff08;注意不要用这个命令执行太过久远的&#xff0c;容易执行错误…

AWS 管理控制台

目录 控制台主页 AWS 账户信息 AWS 区域 AWS 服务选择器 AWS 搜索 AWS CloudShell AWS 控制面板小部件 控制台主页 注册新的 AWS 账户并登录后&#xff0c;您将看到控制台控制面板。这是与各种 AWS 服务以及其他重要控制台组件进行交互的起点。控制面板由页面顶部的导航…

C语言 | Leetcode C语言题解之第423题从英文中重建数字

题目&#xff1a; 题解&#xff1a; char * originalDigits(char * s) {int lenstrlen(s);int arr[26]{0},num[10]{0},cot0;for(int i 0; i < len; i)arr[s[i] - a];num[0] arr[z-a];num[2] arr[w-a];num[4] arr[u-a];num[6] arr[x-a];num[8] arr[g-a];num[1] arr[o…

nginx upstream转发连接错误情况研究

本次测试用到3台服务器&#xff1a; 192.168.10.115&#xff1a;转发服务器A 192.168.10.209&#xff1a;upstream下服务器1 192.168.10.210&#xff1a;upstream下服务器2 1台客户端&#xff1a;192.168.10.112 服务器A中nginx主要配置如下&#xff1a; log_format main…

双向链表:实现、操作与分析【算法 17】

双向链表&#xff1a;实现、操作与分析 引言 双向链表&#xff08;Doubly Linked List&#xff09;是链表数据结构的一种重要形式&#xff0c;它允许节点从两个方向进行遍历。与单向链表相比&#xff0c;双向链表中的每个节点不仅包含指向下一个节点的指针&#xff08;或引用&…

C语言 | Leetcode C语言题解之第429题N叉树的层序遍历

题目&#xff1a; 题解&#xff1a; #define MAX_LEVE_SIZE 1000 #define MAX_NODE_SIZE 10000int** levelOrder(struct Node* root, int* returnSize, int** returnColumnSizes) {int ** ans (int **)malloc(sizeof(int *) * MAX_LEVE_SIZE);*returnColumnSizes (int *)mal…

旋转机械故障数据集 全网首发

旋转机械故障 数据集 11G资料 泵、齿轮箱、电机、流量、液压系统、轴承(西储大学、辛辛那提大学、FEMTO、MOSFET)、PHM08挑战数据集、我闪发动机降级模拟数据集、铣床等 旋转机械故障数据集 数据集描述 该数据集是一个综合性的旋转机械故障检测和诊断数据集&#xff0c;旨在…

【QT】系统-下

欢迎来到Cefler的博客&#x1f601; &#x1f54c;博客主页&#xff1a;折纸花满衣 &#x1f3e0;个人专栏&#xff1a;QT 目录 &#x1f449;&#x1f3fb;QTheadrun() &#x1f449;&#x1f3fb;QMutex&#x1f449;&#x1f3fb;QWaitCondition&#x1f449;&#x1f3fb;Q…

C/C++内存管理 ——

目录 五、C/C内存管理 1、C/C内存分布 2、C语言中动态内存管理方式&#xff1a;malloc/calloc/realloc/free 3、C内存管理方式 1.new/delete操作内置类型 2.new和delete操作自定义类型 4、operator new与operator delete函数 5、new和delete的实现原理 1.内置类…

分布式事务详细笔记:什么是分布式事务--Seata--XA模式--AT模式

目录 1.分布式事务 1.1.什么是分布式事务 1.2.认识Seata 1.3.部署TC服务 1.3.1.准备数据库表 1.3.2.准备配置文件 1.3.3.Docker部署 1.4.微服务集成Seata 1.4.1.引入依赖 1.4.2.改造配置 1.4.3.添加数据库表 1.5.XA模式 1.5.1.两阶段提交 1.5.2.Seata的XA模型 1…

网络原理 HTTP与HTTPS协议

博主主页: 码农派大星. 数据结构专栏:Java数据结构 数据库专栏:MySQL数据库 JavaEE专栏:JavaEE 关注博主带你了解更多计算机网络知识 目录 1.HTTP概念 2.HTTP报文格式 3.HTTP请求 1.首行 1.1URL 1.2 GET⽅法 1.3 POST⽅法 1.4 其他⽅法 2.请求头&#xff08;head…

专业学习|动态规划(概念、模型特征、解题步骤及例题)

一、引言 &#xff08;一&#xff09;从斐波那契数列引入自底向上算法 &#xff08;1&#xff09;知识讲解 &#xff08;2&#xff09;matlap实现递归 &#xff08;3&#xff09;带有备忘录的遗传算法 &#xff08;4&#xff09;matlap实现带有备忘录的递归算法 “&#xff1…

使用库函数点亮一个LED灯

软件设计 STM32Gpio的介绍 如果想让LED0点亮&#xff0c;那么R12就要是高电平&#xff0c;LED0就要是低电平&#xff0c;也就是PF9就是低电平 F407系统主频要工作在168MHZ F103的话是工作在72mhz F429的话就180MHZ 接着我们就要使能Gpio的时钟&#xff0c;使能之后对GPIO相关…

c++----io流

提示&#xff1a;以下 是本篇文章正文内容&#xff0c;下面案例可供参考 1.标准io流 (1)数据的循环输入 对于内置类型&#xff1a;cin和cout直接使用&#xff0c;c已经重载了 (2)对于自定义类型&#xff1a; 需要我们自己对类型进行重载 2.文件io流 ifstream ifile(只输入…

着色器 简介

着色器&#xff08;Shader&#xff09;是运行在 GPU 上的小程序。这些小程序为图形渲染管线的某个特定部分而运行。从基本意义上来说&#xff0c;着色器只是一种把输入转化为输出的程序。着色器也是一种非常独立的程序&#xff0c;因为它们之间不能相互通信&#xff1b;它们之间…

【洛谷】P10417 [蓝桥杯 2023 国 A] 第 K 小的和 的题解

【洛谷】P10417 [蓝桥杯 2023 国 A] 第 K 小的和 的题解 题目传送门 题解 CSP-S1 补全程序&#xff0c;致敬全 A 的答案&#xff0c;和神奇的预言家。 写一下这篇的题解说不定能加 CSP 2024 的 RP 首先看到 k k k 这么大的一个常数&#xff0c;就想到了二分。然后写一个判…

中序遍历二叉树全过程图解

文章目录 中序遍历图解总结拓展&#xff1a;回归与回溯 中序遍历图解 首先看下中序遍历的代码&#xff0c;其接受一个根结点root作为参数&#xff0c;判断根节点是否为nil&#xff0c;不为nil则先递归遍历左子树。 func traversal(root *TreeNode,res *[]int) {if root nil …

ArcGIS核密度分析(栅格处理范围与掩膜分析)

多时候我们在进行栅格分析的时候&#xff0c;处理的结果不能完全覆盖我们需要的范围。 比如&#xff0c;我们对点数据进行密度分析、栅格插值等。比如下图 为什么会如此呢&#xff1f; 那是因为在做这个密度分析或者栅格插值的时候&#xff0c;默认是以点的四至范围来生成的&am…

国内可以使用的ChatGPT服务【9月持续更新】

首先基础知识还是要介绍得~ 一、模型知识&#xff1a; GPT-4o&#xff1a;最新的版本模型&#xff0c;支持视觉等多模态&#xff0c;OpenAI 文档中已经更新了 GPT-4o 的介绍&#xff1a;128k 上下文&#xff0c;训练截止 2023 年 10 月&#xff08;作为对比&#xff0c;GPT-4…