基于内地城市生活垃圾收运场景的路线规划算法

基于混合遗传算法和模拟退火算法的优化垃圾收集路线规划

摘要

本文提出了一种基于混合遗传算法(GA)和模拟退火算法(SA)的创新路线规划方法,旨在优化内地城市的生活垃圾收集效率。算法结合了遗传算法的全局搜索能力和模拟退火算法的局部搜索能力,以应对复杂的城市环境和动态的垃圾收集需求。通过多次实验和对比分析,证明了该算法在减少收集成本、提高资源利用效率方面的有效性和实用性。

1. 引言

随着城市化进程的加速和人口增长,生活垃圾的管理成为内地城市面临的重要挑战之一。优化垃圾收集路线不仅能够提升城市环境卫生水平,还能有效利用资源,降低管理成本。传统的启发式算法如贪婪算法和禁忌搜索虽然在一定程度上解决了问题,但往往难以达到全局最优解。因此,本研究提出了一种结合了GA和SA的新型优化方法,旨在克服传统算法的局限性,实现更高效的垃圾收集路线规划。

2. 相关工作

在垃圾收集路线规划领域,已有许多研究探讨了各种优化算法的应用。例如,遗传算法被广泛应用于解决路线优化问题,其通过选择、交叉和变异操作优化路径。模拟退火算法则通过接受劣解的概率来跳出局部最优解,具有一定的全局搜索能力。然而,单独应用这些算法往往难以兼顾搜索效率和解的质量,因此本研究将两者结合,以期在垃圾收集路线优化中取得更好的效果。

3. 研究方法

本研究采用了以下方法来实现混合遗传算法和模拟退火算法的优化垃圾收集路线规划:

  • 种群初始化:随机生成初始种群,每个个体代表一条垃圾收集路线。
  • 遗传算法的操作:选择操作根据路线的适应度评估选择父代个体,交叉和变异操作生成新的个体。
  • 模拟退火的全局优化:在遗传算法每一代迭代后,对最优个体进行一定次数的随机变动和评估,以进一步改进解的质量。
  • 评估与选择:根据预设的优化目标(如最小化总行驶距离、最大化装载率等),评估每个个体的适应度,并选择下一代种群的父代。
  • 终止条件:设定迭代次数或收敛条件,当种群在连续若干代中未发生显著变化时,算法停止。

4. 实验与结果

4.1 约束条件

  • 区域类型约束:任务⻋型需小于收集点的允许⻋型,同时车辆所属区域需要和收集点区域一致
  • 收集点时间约束:满足收集点收运窗口时间
  • 车辆容量约束:不超载,尽量平衡车辆收运负载
  • 车辆里程约束:单趟车辆不能超过100KM
  • 工作时间约束:单趟工作不能超过8小时

4.2 目标

最小化行驶距离
最大化装载率
均衡服务

4.3 实验一

4.3.1 优化前路线

在这里插入图片描述

车辆 苏A 车辆类型2 路线:
  • 停车场 【允许车辆类型(0) 载重(0) 窗口时间(8,8), 耗时(0min)】 ->

  • 小区6 【允许车辆类型(3) 载重(150) 窗口时间(8,8), 耗时(25min)】 ->

  • 小区2 【允许车辆类型(3) 载重(300) 窗口时间(8,8), 耗时(15min)】 ->

  • 小区1 【允许车辆类型(3) 载重(420) 窗口时间(9,9), 耗时(30min)】 ->

  • 处理厂 【允许车辆类型(0) 载重(420) 窗口时间(9,9), 耗时(30min)

  • 收运路线总里程: 2000m

  • 收运路线总负载: 420

  • 收运路线总时间: 100min

车辆 苏B 车辆类型1 路线:
  • 停车场 【允许车辆类型(0) 载重(0) 窗口时间(8,8), 耗时(0min)】 ->

  • 小区8 【允许车辆类型(3) 载重(150) 窗口时间(8,8), 耗时(15min)】 ->

  • 小区7 【允许车辆类型(3) 载重(300) 窗口时间(8,8), 耗时(15min)】 ->

  • 小区5 【允许车辆类型(3) 载重(450) 窗口时间(8,8), 耗时(15min) 】->

  • 小区4 【允许车辆类型(3) 载重(600) 窗口时间(9,9), 耗时(25min)】 ->

  • 小区3 【允许车辆类型(1) 载重(750) 窗口时间(9,9), 耗时(5min)】 ->

  • 处理厂 【允许车辆类型(0) 载重(750) 窗口时间(10,10), 耗时(35min)】

  • 收运路线总里程: 2200m

  • 收运路线总负载: 750

  • 收运路线总时间: 110min

车辆 苏C 车辆类型1 路线:
  • 停车场 【允许车辆类型(0) 载重(0) 窗口时间(8,8), 耗时(0min)】 ->

  • 小区11 【允许车辆类型(3) 载重(150) 窗口时间(8,8), 耗时(25min)】 ->

  • 小区14 【允许车辆类型(3) 载重(300) 窗口时间(9,9), 耗时(30min)】 ->

  • 小区16 【允许车辆类型(3) 载重(450) 窗口时间(9,9), 耗时(10min)】 ->

  • 小区10 【允许车辆类型(3) 载重(600) 窗口时间(9,9), 耗时(20min)】 ->

  • 小区9 【允许车辆类型(3) 载重(750) 窗口时间(9,9), 耗时(15min)】 ->

  • 处理厂 【允许车辆类型(0) 载重(750) 窗口时间(10,10), 耗时(10min)】

  • 收运路线总里程: 2200m

  • 收运路线总负载: 750

  • 收运路线总时间: 110min

车辆 苏D 车辆类型1 路线:
  • 停车场 【允许车辆类型(0) 载重(0) 窗口时间(8,8), 耗时(0min)】 ->

  • 小区15 【允许车辆类型(3) 载重(150) 窗口时间(8,8), 耗时(40min)】 ->

  • 小区13 【允许车辆类型(3) 载重(300) 窗口时间(9,9), 耗时(20min)】->

  • 小区12 【允许车辆类型(3) 载重(450) 窗口时间(9,9), 耗时(10min)】 ->

  • 处理厂 【允许车辆类型(0) 载重(450) 窗口时间(9,9), 耗时(20min)】

  • 收运路线总里程: 1800m

  • 收运路线总负载: 450

  • 收运路线总时间: 90min

所有车辆行驶总距离
  • 8200m
所有车辆装载总重量
  • 2370
所有车辆花费总时间
  • 410min
4.3.2 优化后路线

在这里插入图片描述

车辆 苏A 车辆类型2 路线:
  • 停车场 【允许车辆类型(0) 载重(0) 窗口时间(8,8), 耗时(0min)】 ->

  • 小区13 【允许车辆类型(3) 载重(150) 窗口时间(8,8), 耗时(20min)】 ->

  • 小区15 【允许车辆类型(3) 载重(300) 窗口时间(9,9), 耗时(20min)】 ->

  • 小区11 【允许车辆类型(3) 载重(450) 窗口时间(9,9), 耗时(15min)】 ->

  • 小区12 【允许车辆类型(3) 载重(600) 窗口时间(9,9), 耗时(5min)】 ->

  • 处理厂 【允许车辆类型(0) 载重(600) 窗口时间(9,9), 耗时(20min)】

  • 收运路线总里程: 1600m

  • 收运路线总负载: 600

  • 收运路线总时间: 80min

车辆 苏B 车辆类型1 路线:
  • 停车场 【允许车辆类型(0) 载重(0) 窗口时间(8,8), 耗时(0min)】 ->

  • 小区7 【允许车辆类型(3) 载重(150) 窗口时间(8,8), 耗时(10min)】 ->

  • 小区1 【允许车辆类型(3) 载重(270) 窗口时间(9,9), 耗时(20min)】 ->

  • 小区3 【允许车辆类型(1) 载重(420) 窗口时间(9,9), 耗时(15min)】 ->

  • 小区4 【允许车辆类型(3) 载重(570) 窗口时间(9,9), 耗时(5min)】 ->

  • 处理厂 【允许车辆类型(0) 载重(570) 窗口时间(9,9), 耗时(30min)】

  • 收运路线总里程: 1600m

  • 收运路线总负载: 570

  • 收运路线总时间: 80min

车辆 苏C 车辆类型1 路线:
  • 停车场 【允许车辆类型(0) 载重(0) 窗口时间(8,8), 耗时(0min)】 ->

  • 小区14 【允许车辆类型(3) 载重(150) 窗口时间(9,9), 耗时(25min)】 ->

  • 小区16 【允许车辆类型(3) 载重(300) 窗口时间(9,9), 耗时(10min)】 ->

  • 小区10 【允许车辆类型(3) 载重(450) 窗口时间(9,9), 耗时(20min)】 ->

  • 小区9 【允许车辆类型(3) 载重(600) 窗口时间(9,9), 耗时(15min)】 ->

  • 处理厂 【允许车辆类型(0) 载重(600) 窗口时间(10,10), 耗时(10min)】

  • 收运路线总里程: 1600m

  • 收运路线总负载: 600

  • 收运路线总时间: 80min

车辆 苏D 车辆类型1 路线:
  • 停车场 【允许车辆类型(0) 载重(0) 窗口时间(8,8), 耗时(0min)】 ->

  • 小区5 【允许车辆类型(3) 载重(150) 窗口时间(8,8), 耗时(15min)】 ->

  • 小区6 【允许车辆类型(3) 载重(300) 窗口时间(9,9), 耗时(10min)】 ->

  • 小区2 【允许车辆类型(3) 载重(450) 窗口时间(9,9), 耗时(15min)】 ->

  • 小区8 【允许车辆类型(3) 载重(600) 窗口时间(9,9), 耗时(25min)】 ->

  • 处理厂 【允许车辆类型(0) 载重(600) 窗口时间(10,10), 耗时(15min)】

  • 收运路线总里程: 1600m

  • 收运路线总负载: 600

  • 收运路线总时间: 80min

所有车辆行驶总距离
  • 6400m
所有车辆装载总重量
  • 2370
所有车辆花费总时间
  • 320min
4.3.3数据对比

在这里插入图片描述

4.4 实验二

4.4.1优化前

在这里插入图片描述

苏EXP907

在这里插入图片描述

停车场 -> 勤丰新村东 -> 海上一品 -> 周家市 -> 凯明苑 -> 纺装小区 -> 泰慈苑 -> 衡丰家园1(8栋北门口) -> 锦湖花园2(21栋) -> 锦湖花园1(8栋) -> 名都花苑 -> 衡丰家园2(1栋) -> 信一广场 -> 常馨苑 -> 泰慈村 -> 衡泰国际花园3(南门20栋) -> 衡泰国际花园1(35栋) -> 衡泰国际花园2(35栋) -> 衡泰国际花园4(39栋) -> 山河花园(流动) -> 新加坡花园北区 -> 长泰花园(流动) -> 新加坡中心花园 -> 处理厂

收运路线总里程: 17811m
收运路线总负载: 1980
收运路线总时间: 24411second

苏ERQ509

在这里插入图片描述

停车场 -> 世茂一期(世纪中心)泰山路西门 -> 听枫园 -> 花园公寓 -> 香格丽花园2(枫林路大门口) -> 香格丽花园1(2幢边) -> 海枫公寓 -> 信一尚城 -> 裕坤国贸小区 -> 吴家角(2) -> 御兴园 -> 新加坡花园南区 -> 明珠新村 -> 锦洪苑 -> 世贸五期 -> 世贸四期1(喜年超市旁) -> 世贸四期2(格林豪泰左边) -> 世茂一期(世纪中心)2(珠江路大门口边) -> 处理厂

收运路线总里程: 16710m
收运路线总负载: 1530
收运路线总时间: 21810second

苏UB565L

在这里插入图片描述

停车场 -> 五星四区1(湘江路加油站边) -> 五星四区2(46-47幢) -> 五星四区3(48-53幢) -> 五星外七区2 -> 五星外七区1(43栋) -> 五星外七区(24小时) -> 五星七区3(3栋) -> 五星七区2(24栋) -> 五星七区1(24栋) -> 南马家桥(2) -> 南马家桥(1) -> 漕泾五区1(11-14栋间) -> 漕泾五区2(2-4栋间) -> 衡山花园 -> 吴家角(1) -> 兴裕园 -> 长江路245号 -> 海虞苑 -> 后桃花村 -> 漕泾六区 -> 漕泾小六区 -> 处理厂

收运路线总里程: 17157m
收运路线总负载: 1890
收运路线总时间: 23457second

苏US2785

在这里插入图片描述

停车场 -> 中漕泾70号 -> 昭文公寓 -> 三里桥东 -> 枫林公寓 -> 虞园一区1(3-4幢之间) -> 虞园二区2(幼儿园门口) -> 虞园二区1(优果小铺边上) -> 虞园一区2(19幢门口) -> 漕泾新村二区1(39幢后) -> 漕泾新村二区2(18-21幢) -> 漕泾新村二区3(7-2幢) -> 漕泾新村四区2(39幢) -> 漕泾新村四区1(22幢) -> 漕泾新村四区3(7幢) -> 漕泾新村三区 -> 衡山路常客隆处(移动点位) -> 漕泾新村一区北 -> 漕泾老一区 -> 前漕泾77号 -> 漕泾新村一区南 -> 昭文路口与漕泾交界处 -> 前漕泾(流动分类车) -> 处理厂

收运路线总里程: 29695m
收运路线总负载: 1980
收运路线总时间: 36295second

所有车辆

所有车辆行驶总距离: 81373 m
所有车辆装载总重量: 7380
所有车辆花费总时间: 105973 second

4.4.2 优化后

在这里插入图片描述

苏EXP907

在这里插入图片描述

停车场 允许车辆类型(0) 载重(0) ->
世茂一期(世纪中心)1(泰山路西门) 允许车辆类型(3) 载重(90) ->
漕泾小六区 允许车辆类型(3) 载重(180) ->
漕泾新村二区2(18-21幢) 允许车辆类型(3) 载重(270) ->
衡山路常客隆处(移动点位) 允许车辆类型(3) 载重(360) ->
漕泾老一区 允许车辆类型(3) 载重(450) ->
听枫园 允许车辆类型(3) 载重(540) ->
花园公寓 允许车辆类型(3) 载重(630) ->
五星四区1(湘江路加油站边) 允许车辆类型(3) 载重(720) ->
五星四区3(48-53幢) 允许车辆类型(3) 载重(810) ->
漕泾新村二区3(7-2幢) 允许车辆类型(3) 载重(900) ->
漕泾六区 允许车辆类型(3) 载重(990) ->
南马家桥(1) 允许车辆类型(3) 载重(1080) ->
五星外七区(24小时) 允许车辆类型(3) 载重(1170) ->
五星外七区1(43栋) 允许车辆类型(3) 载重(1260) ->
五星七区3(3栋) 允许车辆类型(3) 载重(1350) ->
凯明苑 允许车辆类型(3) 载重(1440) ->
纺装小区 允许车辆类型(3) 载重(1530) ->
周家市 允许车辆类型(3) 载重(1620) ->
勤丰新村东 允许车辆类型(3) 载重(1710) ->
海上一品 允许车辆类型(3) 载重(1800) ->
衡丰家园1(8栋北门口) 允许车辆类型(3) 载重(1890) ->
泰慈苑 允许车辆类型(3) 载重(1980) ->
常馨苑 允许车辆类型(3) 载重(2070) ->
衡泰国际花园3(南门20栋) 允许车辆类型(3) 载重(2160) ->
泰慈村 允许车辆类型(3) 载重(2250) ->
新加坡花园北区 允许车辆类型(3) 载重(2340) ->
兴裕园 允许车辆类型(3) 载重(2430) ->
长泰花园(流动) 允许车辆类型(3) 载重(2520) ->
山河花园(流动) 允许车辆类型(3) 载重(2610) ->
锦湖花园2(21栋) 允许车辆类型(3) 载重(2700) ->
处理厂 载重(2700)
收运路线总里程: 15683m
收运路线总负载: 2700
收运路线总时间: 24683second

苏ERQ509

在这里插入图片描述

停车场 允许车辆类型(0) 载重(0) ->
新加坡花园南区 允许车辆类型(3) 载重(90) ->
衡泰国际花园2(35栋) 允许车辆类型(3) 载重(180) ->
衡泰国际花园1(35栋) 允许车辆类型(3) 载重(270) ->
衡泰国际花园4(39栋) 允许车辆类型(3) 载重(360) ->
新加坡中心花园 允许车辆类型(3) 载重(450) ->
锦洪苑 允许车辆类型(3) 载重(540) ->
长江路245号 允许车辆类型(3) 载重(630) ->
御兴园 允许车辆类型(3) 载重(720) ->
漕泾五区1(11-14栋间) 允许车辆类型(3) 载重(810) ->
漕泾新村二区1(39幢后) 允许车辆类型(3) 载重(900) ->
漕泾新村一区南 允许车辆类型(3) 载重(990) ->
虞园二区1(优果小铺边上) 允许车辆类型(3) 载重(1080) ->
虞园一区2(19幢门口) 允许车辆类型(3) 载重(1170) ->
海枫公寓 允许车辆类型(3) 载重(1260) ->
虞园一区1(3-4幢之间) 允许车辆类型(3) 载重(1350) ->
枫林公寓 允许车辆类型(3) 载重(1440) ->
香格丽花园2(枫林路大门口) 允许车辆类型(3) 载重(1530) ->
香格丽花园1(2幢边) 允许车辆类型(3) 载重(1620) ->
三里桥东 允许车辆类型(3) 载重(1710) ->
漕泾新村一区北 允许车辆类型(3) 载重(1800) ->
漕泾新村四区3(7幢) 允许车辆类型(3) 载重(1890) ->
漕泾新村三区 允许车辆类型(3) 载重(1980) ->
漕泾新村四区2(39幢) 允许车辆类型(3) 载重(2070) ->
漕泾五区2(2-4栋间) 允许车辆类型(3) 载重(2160) ->
五星外七区2 允许车辆类型(3) 载重(2250) ->
裕坤国贸小区 允许车辆类型(3) 载重(2340) ->
五星七区2(24栋) 允许车辆类型(3) 载重(2430) ->
南马家桥(2) 允许车辆类型(3) 载重(2520) ->
衡山花园 允许车辆类型(3) 载重(2610) ->
吴家角(2) 允许车辆类型(3) 载重(2700) ->
吴家角(1) 允许车辆类型(3) 载重(2790) ->
世贸五期 允许车辆类型(3) 载重(2880) ->
处理厂 载重(2880)
收运路线总里程: 14274m
收运路线总负载: 2880
收运路线总时间: 23874second

苏UB565L

在这里插入图片描述

停车场 允许车辆类型(0) 载重(0) ->
明珠新村 允许车辆类型(3) 载重(90) ->
五星七区1(24栋) 允许车辆类型(3) 载重(180) ->
前漕泾(流动分类车) 允许车辆类型(3) 载重(270) ->
昭文公寓 允许车辆类型(3) 载重(360) ->
虞园二区2(幼儿园门口) 允许车辆类型(3) 载重(450) ->
五星四区2(46-47幢) 允许车辆类型(3) 载重(540) ->
信一尚城 允许车辆类型(3) 载重(630) ->
漕泾新村四区1(22幢) 允许车辆类型(3) 载重(720) ->
世贸四期2(格林豪泰左边) 允许车辆类型(3) 载重(810) ->
处理厂 载重(810)
收运路线总里程: 13658m
收运路线总负载: 810
收运路线总时间: 16358second

苏US2785

在这里插入图片描述

停车场 允许车辆类型(0) 载重(0) ->
世贸四期1(喜年超市旁) 允许车辆类型(3) 载重(90) ->
昭文路口与漕泾交界处 允许车辆类型(3) 载重(180) ->
前漕泾77号 允许车辆类型(3) 载重(270) ->
中漕泾70号 允许车辆类型(3) 载重(360) ->
世茂一期(世纪中心)2(珠江路大门口边) 允许车辆类型(3) 载重(450) ->
锦湖花园1(8栋) 允许车辆类型(3) 载重(540) ->
名都花苑 允许车辆类型(3) 载重(630) ->
衡丰家园2(1栋) 允许车辆类型(3) 载重(720) ->
海虞苑 允许车辆类型(3) 载重(810) ->
信一广场 允许车辆类型(3) 载重(900) ->
后桃花村 允许车辆类型(3) 载重(990) ->
处理厂 载重(990)
收运路线总里程: 13533m
收运路线总负载: 990
收运路线总时间: 16833second

所有车辆

所有车辆行驶总距离: 57148m
所有车辆装载总重量: 7380
所有车辆花费总时间: 81748second

4.4.3 数据对比
指标优化前优化后变化量变化百分比
总行驶距离81,373 m57,148 m-24,225 m-29.8%
总装载重量7,3807,38000%
总花费时间105,973 seconds81,748 seconds-24,225 seconds-22.8%
说明:
  • 总行驶距离:优化后减少了24,225米,减少幅度约为29.8%。
  • 总装载重量:保持不变,仍为7,380单位。
  • 总花费时间:优化后减少了24,225秒,减少幅度约为22.8%。

4.5 结论

本研究基于实际城市的垃圾收集数据进行了多次实验和对比分析。通过比较混合算法与传统算法(如贪婪算法和禁忌搜索算法)的收集效率和路线质量,结果显示混合算法在减少行驶距离和提高装载率方面表现优异。特别是在复杂城市环境下,混合算法能够更好地适应交通变化和垃圾点分布的动态性,提高了路线规划的灵活性和实用性。

5. 讨论与展望

本研究提出的混合遗传算法和模拟退火算法在垃圾收集路线优化中展现出了显著的优势和潜力。未来的研究方向包括进一步优化算法的性能、结合更多实时数据和智能化技术(如机器学习和大数据分析),以实现更智能、高效的城市管理和服务。此外,还可以考虑将算法扩展到其他城市管理领域,如物流配送、公共交通优化等,以推动城市智慧化发展和可持续性发展目标的实现。

6. 结论

综上所述,本论文提出的混合遗传算法与模拟退火算法优化的垃圾收集路线规划方法,不仅在理论上有着坚实的基础和创新的思路,而且在实际应用中表现出了显著的效果和潜力。通过结合遗传算法和模拟退火算法的优势,能够有效地提升城市垃圾管理的效率和质量,为城市智慧化管理提供了一种新的技术路径和方法。

7.参考代码

# 导入所需库
import random# 定义垃圾收集点和收运点的坐标数据
garbage_points = [(x1, y1), (x2, y2), ...]  # 垃圾收集点坐标
collection_points = [(x1, y1), (x2, y2), ...]  # 收运点坐标# 设定算法参数
population_size = 100  # 种群大小
mutation_rate = 0.1  # 变异率
max_generations = 100  # 最大迭代次数# 遗传算法操作
def initialize_population():population = []for _ in range(population_size):route = random.shuffle(garbage_points) + collection_pointspopulation.append(route)return populationdef crossover(parent1, parent2):# 交叉操作,例如部分映射交叉或顺序交叉# 返回两个新个体(子代)passdef mutate(individual):# 变异操作,例如随机交换路径中的节点# 返回变异后的个体passdef evaluate_fitness(route):# 计算路线的适应度,例如总行驶距离或装载率passdef select_parents(population):# 选择适应度高的个体作为父代# 返回父代个体列表pass# 模拟退火操作
def simulated_annealing(best_solution):# 在最优解的基础上进行模拟退火搜索pass# 主循环:遗传算法迭代
def main():population = initialize_population()for generation in range(max_generations):parents = select_parents(population)offspring = []for i in range(0, len(parents), 2):parent1 = parents[i]parent2 = parents[i+1]child1, child2 = crossover(parent1, parent2)offspring.append(mutate(child1))offspring.append(mutate(child2))population = offspring# 模拟退火全局优化best_solution = max(population, key=evaluate_fitness)best_solution = simulated_annealing(best_solution)# 输出最优解print("最优垃圾收集路线:", best_solution)if __name__ == "__main__":main()

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

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

相关文章

MySQL第1讲--详细安装教程和启动方法

文章目录 安装教程打开或关闭方式方式1:方式2: 客户端连接方式客户端连接方式1:客户端连接方式2:MySQL环境变量的配置 安装教程 1、mysql官网下载最新的符合本系统的版本 2、点击.msi文件进入安装页面 选择默认的选项开发者安…

15.DMDIS 工具优化

文章目录 前言一、安装部署安装数据源转换作业监控 二、性能优化问题 1 :DMETL 卡顿问题问题 2 :DM -> HIVE 的迁移速度慢问题 3 :ORACLE -> DM 的迁移速度慢问题 4 :GP -> DM 的迁移速度慢问题 5 :DM -> …

[ERR] 1273 - Unknown collation: ‘utf8mb4_0900_ai_ci‘(已解决)

今天在使用navicate Premium运行sql文件时出现如下错误: 错误:1273 - Unknown collation: utf8mb4_0900_ai_ci 报错原因: 生成转储文件(也就是sql文件)的数据库版本为8.0,而要运行sql文件的数据库版本为5.6,因为是高版…

Android进阶之路 - 字体加粗,定制化字体粗度

在客户端中不论是PC端,还是移动端主要价值之一就体现在用户交互方面,也就是用户体验了,接下来讲的是很常见的字体加粗问题 UI大找茬 深入浅出字体、字体库TextView文本渐变字体阴影、文字阴影字体加粗 - 定制化字体粗度 在开发中经常会遇到…

DFS之搜索顺序与剪枝

搜索顺序: 1.https://www.acwing.com/problem/content/1119/ 首先,我们考虑一个贪心: 假如说A的倒数K个字符恰好与B的前K个字符重合,那么我们就连接。 也就是说我们一旦匹配就直接相连而不是继续找更长的重合的一段子串。 因…

【学习方法】高效学习因素 ② ( 学习动机 | 内在学习动机 | 外在学习动机 | 外在学习动机的调整方向 | 保护学习兴趣 | 高考竞争分析 )

文章目录 一、高效学习的其它因素 - 学习动机1、学习动机2、内在学习动机3、外在学习动机4、外在学习动机的问题所在5、外在学习动机的调整方向6、保护学习兴趣7、高考竞争分析 上一篇博客 【学习方法】高效学习因素 ① ( 开始学习 | 高效学习因素五大因素 | 高效学习公式 - 学…

unplugin-vue-components 插件配置 忽略 部分目录下的组件自动导入

背景 vue3 项目 为了省略 第三方库ui 组件 全局组件的注册代码,使用了 unplugin-vue-components 插件 原理 组件识别 在编译阶段,unplugin-vue-components 会扫描 Vue 单文件组件(.vue 文件)的模板部分,识别出所有使…

day31

3.9 信号量集 1> 原理图 信号量集主要完成多个进程之间同步问题 2> 信号量集的API函数接口 1、创建用于生成消息队列的钥匙#include <sys/types.h>#include <sys/ipc.h>key_t ftok(const char *pathname, int proj_id);功能&#xff1a;通过给定的文件路径…

你也觉得FOTA升级难吗?这份详细教程让你自信升级!

前言&#xff1a; 我经常在各个讨论群里看到有合宙Air780EP的用户说&#xff1a; FOTA远程升级有点难呀~一步错后面就得重新来了&#xff0c;有没有大佬给个教程啊&#xff1f; 用户提需求了&#xff0c;那我们肯定要满足啊&#xff0c;就连夜赶了一篇 在整理这篇文章之前&…

掌握 LINQ:通过示例解释 C# 中强大的 LINQ的集运算

文章目录 集运算符原理实战示例1. Union2. Intersect3. Except4. ExceptWith5. Concat6. Distinct 注意事项总结 在C#中&#xff0c;LINQ&#xff08;Language Integrated Query&#xff09;提供了丰富的集合操作功能&#xff0c;使得对集合数据进行查询、过滤、排序等操作变得…

删除有序数组中的重复项(LeetCode)

题目 给你一个 升序排列 的数组 &#xff0c;请你 原地 删除重复出现的元素&#xff0c;使每个元素 只出现一次 &#xff0c;返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 中唯一元素的个数。 考虑 的唯一元素的数量为 &#xff0c;你需要做以下事情确…

CVE-2023-1313

开启靶场 url访问/install来运行安装 http://eci-2ze0wqx38em0qticuhug.cloudeci1.ichunqiu.com/install/ 得知其用户和密码为admin 登录 查找文件上传位置 上传一句话木马文件 <?php echo phpinfo();eval($_POST[flw]);?> 下载查看上传木马路径 复制路径 /storag…

代理IP如何助力品牌保护?

品牌是企业非常重要的无形资产&#xff0c;代表着一个公司、一个产品或服务的价值、信誉和形象。在竞争激烈的市场中&#xff0c;一个强有力的品牌可以帮助公司吸引更多的客户、提高销售、提高客户满意度和忠诚度&#xff0c;还可以帮助公司建立和维护其声誉、增强其企业形象&a…

单词拆分——LeetCode

139.单词拆分 题目 给你一个字符串 s 和一个字符串列表 wordDict 作为字典。如果可以利用字典中出现的一个或多个单词拼接出 s 则返回 true。 注意&#xff1a;不要求字典中出现的单词全部都使用&#xff0c;并且字典中的单词可以重复使用 示例 1&#xff1a; 输入: s &qu…

数据结构实验:树和二叉树(附c++源码:实现树有关算法)

目录 一、实验目的 二、问题分析及数据结构设计 三、算法设计&#xff08;伪代码表示&#xff09; 1. 输入字符序列 创建二叉链表 2. 递归前序遍历 3. 递归中序遍历 4. 递归后序遍历 5. 非递归前序遍历 6. 非递归中序遍历 7. 非递归后序遍历 8. 层次遍历 9. 求二叉…

【AI】关于AI和手机

2011 年至2015 年期间&#xff0c;全球智能手机出货量年增长率均超过两位数&#xff0c;显示出强劲的市场需 求和快速扩张趋势。然而&#xff0c;自2016 年起&#xff0c;全球智能手机用户数量趋于饱和&#xff0c;换机周期也逐 渐变长&#xff0c;市场进入存量替换阶段&#x…

Qt/C++最新地图组件发布/历时半年重构/同时支持各种地图内核/包括百度高德腾讯天地图

一、前言说明 最近花了半年时间&#xff0c;专门重构了整个地图组件&#xff0c;之前写的比较粗糙&#xff0c;有点为了完成功能而做的&#xff0c;没有考虑太多拓展性和易用性。这套地图自检这几年大量的实际项目和用户使用下来&#xff0c;反馈了不少很好的建议和意见&#…

PXE 批量安装Linux系统

目录 一、 实验环境准备 1、一台红帽版本7的主机 2、开启主机图形 3、配置网络可用 4、关闭VMware dhcp 功能 ​编辑​编辑 5、配置好本地仓库&#xff0c;方便后续下载 二、配置kickstart自动安装脚本的工具 1、 安装图形化生成kickstart自动安装脚本的工具 2、启动图…

2.MySQL库的操作

创建数据库 创建数据库的代码&#xff1a; CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [,create_specification] ...];​create_specification:[DEFAULT] CHARACTER SET charset_name[DEFAULT] COLLATE collation_name 说明&#xff1a; 大写的表示关键…

【隐私保护】无证书签名方案(CLS)

一、CLS方案提出的背景 无证书签名方案&#xff08;Certificateless Signature Scheme, CLS&#xff09;是一种旨在结合公钥基础设施&#xff08;PKI&#xff09;和基于身份的加密&#xff08;IBE&#xff09;的优点&#xff0c;同时避免它们缺点的加密技术。 CLS方案的主要目标…