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

【数学建模】多目标规划模型:原理、方法与应用

多目标规划模型:原理、方法与应用

文章目录

  • 多目标规划模型:原理、方法与应用
    • 引言
    • 1. 多目标规划的基本概念
      • 1.1 数学模型
      • 1.2 Pareto最优解/有效解
      • 1.3 满意解方法
    • 2. 多目标规划的主要求解方法
      • 2.1 加权求和法
      • 2.2 ε-约束法
      • 2.3 理想点法
      • 2.4 优先级法(分层次优化法)
      • 2.5 目标规划法
      • 2.6 进化算法
    • 3. 多目标规划的应用场景
      • 3.1 工程设计
      • 3.2 投资组合优化
      • 3.3 资源分配
      • 3.4 环境管理
    • 4. 多目标规划的实现工具
    • 5. 案例分析:供应链优化
    • 结论
    • 参考文献

引言

在现实世界中,决策问题往往涉及多个相互冲突的目标。例如,企业希望同时最大化利润和市场份额,同时最小化成本和环境影响。多目标规划(Multi-objective Programming, MOP)正是为解决这类问题而设计的数学模型和优化方法。本文将全面介绍多目标规划的基本概念、主要求解方法以及应用场景。

1. 多目标规划的基本概念

1.1 数学模型

多目标规划问题的标准形式可表示为:

最优化 F(x) = [f₁(x), f₂(x), ..., fₖ(x)]ᵀ
s.t.    g(x) ≤ 0h(x) = 0x ∈ X

其中:

  • x 是决策变量向量
  • F(x) 是由k个目标函数组成的向量
  • g(x)和h(x)分别是不等式和等式约束
  • X是决策空间

1.2 Pareto最优解/有效解

由于多个目标函数之间通常存在冲突,很难找到同时优化所有目标的解。因此,多目标规划引入了“Pareto最优”的概念:

定义
如果不存在另一个可行解 x x x,使得对所有 i i i f i ( x ) ≤ f i ( x ∗ ) f_i(x) ≤ f_i(x^*) fi(x)fi(x)(也就是不存在理想的对于所有目标来说同时为最优的解 x x x),
且至少对某个 j j j f j ( x ) < f j ( x ∗ ) f_j(x) < f_j(x^*) fj(x)<fj(x)Pareto最优一定要在某些目标上是该目标下的最优解),
那么解 x ∗ x^* xPareto最优解,有的地方也称为有效解

简单来说,Pareto最优解是指无法在不牺牲至少一个目标的情况下改进其他目标的解。所有Pareto最优解的集合称为“Pareto前沿”。

1.3 满意解方法

与追求"最优解"的传统方法不同,满意解方法基于Herbert Simon提出的"有限理性"理论,认为决策者往往寻求"足够好"的解而非"最优"解。

满意解定义:满足决策者对各目标函数设定的最低期望水平的可行解,一般而言当每个目标的值距离该目标的最优值小于一定阈值时即认为是“满意解”。

数学表达为:

找到 x ∈ X
使得 fi(x) ≥ ai, i = 1,2,...,k (对于最大化目标)fi(x) ≤ ai, i = 1,2,...,k (对于最小化目标)

其中ai是决策者对目标i设定的满意水平。

优点

  • 更符合现实决策过程
  • 计算复杂度低于寻找Pareto最优解
  • 允许决策者直接表达对各目标的期望

缺点

  • 满意水平的设定具有主观性
  • 可能错过潜在的更优解

2. 多目标规划的主要求解方法

2.1 加权求和法

最简单直接的方法是将多个目标函数加权组合成单一目标:

最优化 F(x) = w₁f₁(x) + w₂f₂(x) + ... + wₖfₖ(x)

其中w₁, w₂, …, wₖ是表示各目标相对重要性的权重,可以由领域内专家设置。

优点:简单易实现,可以利用成熟的单目标优化方法。
缺点:权重的选择具有主观性,难以获得Pareto前沿的完整表示。

2.2 ε-约束法

该方法将一个目标函数作为主要目标,其他目标转化为约束,这样相当于将单目标规划问题转化为了多目标规划问题:

最优化 fᵢ(x)
s.t.    fⱼ(x) ≤ εⱼ, j ≠ i原问题的其他约束

通过系统地改变εⱼ的值,可以获得不同的Pareto最优解。

2.3 理想点法

理想点法通过寻找最接近"理想点"的解来解决多目标规划问题。

步骤

  1. 确定理想点z*,其中每个分量z*i是目标函数fi(x)的单独最优值
  2. 定义距离度量(通常使用加权切比雪夫距离或Lp范数)
  3. 求解最小化实际解与理想点之间距离的问题

数学表达为:

最小化 d(F(x), z*)
s.t.    x ∈ X

其中d(·,·)是选定的距离度量。常用的距离函数包括:

  • 加权欧几里得距离(L2范数):

    d(F(x), z*) = [Σ wi(fi(x) - z*i)²]^(1/2)
    
  • 加权切比雪夫距离(L∞范数):

    d(F(x), z*) = max{wi|fi(x) - z*i|}
    

优点

  • 直观易理解
  • 保证得到的解是Pareto最优的
  • 可以通过调整权重获得不同的Pareto最优解

缺点

  • 对距离度量的选择敏感
  • 理想点通常不可达,需要合理设定

2.4 优先级法(分层次优化法)

优先级法基于目标的优先顺序依次进行优化,高优先级目标的最优值作为低优先级目标的约束。

步骤

  1. 按重要性对目标函数进行排序:f₁(x), f₂(x), …, fₖ(x),其中f₁具有最高优先级
  2. 首先优化f₁(x),得到最优值f₁*
  3. 将f₁(x) = f₁*(或f₁(x) ≤ f₁* + ε₁,允许有小偏差)作为新约束,优化f₂(x)
  4. 依此类推,直到所有目标都被优化

数学表达为第j步:

最优化 fⱼ(x)
s.t.    fi(x) ≤ fi* + εi, i = 1,2,...,j-1x ∈ X

其中fi*是第i个目标函数的最优值,εi是允许的偏差。

优点

  • 适合目标之间存在明确优先级的问题
  • 决策过程清晰透明
  • 避免了权重选择的困难

缺点

  • 高优先级目标可能过度约束低优先级目标
  • 难以表达目标间的折衷关系
  • 可能导致低优先级目标的解空间过小

2.5 目标规划法

目标规划通过引入偏差变量,将多目标问题转化为最小化与理想目标值偏差的问题:

最小化 Σ wᵢ(dᵢ⁺ + dᵢ⁻)
s.t.    fᵢ(x) + dᵢ⁻ - dᵢ⁺ = Tᵢdᵢ⁺, dᵢ⁻ ≥ 0原问题的其他约束

其中Tᵢ是目标i的理想值,dᵢ⁺和dᵢ⁻分别表示正、负偏差。

2.6 进化算法

进化算法特别适合求解多目标优化问题,常用的包括:

  • 非支配排序遗传算法(NSGA-II)
  • 多目标进化算法(MOEA)
  • 多目标粒子群优化(MOPSO)

这些方法能够一次性生成多个Pareto最优解,提供决策者更全面的选择。

3. 多目标规划的应用场景

3.1 工程设计

在工程设计中,常需平衡性能、成本、可靠性等多个目标。例如,汽车设计需要同时考虑燃油效率、安全性、舒适度和成本等因素。

3.2 投资组合优化

金融领域使用多目标规划来平衡投资回报与风险。马科维茨的现代投资组合理论就是一个典型的双目标优化问题。

3.3 资源分配

在资源有限的情况下,多目标规划可以帮助决策者在多个竞争目标之间寻找平衡,如医疗资源分配、公共预算规划等。

3.4 环境管理

环境管理问题通常涉及经济效益与环境保护的权衡,多目标规划提供了一个系统性的框架来处理这类问题。

4. 多目标规划的实现工具

实现多目标规划的常用工具和库包括:

  • Python: PyMOO, Platypus, DEAP
  • MATLAB: Global Optimization Toolbox
  • R: mopsocd, nsga2R
  • 专业软件: LINGO, CPLEX, GAMS

5. 案例分析:供应链优化

考虑一个供应链优化问题,目标是:

  1. 最小化总成本
  2. 最小化交付时间
  3. 最大化服务质量

通过多目标规划,我们可以找到一组Pareto最优解,为决策者提供不同权衡下的可选方案。

结论

多目标规划为处理现实世界中的复杂决策问题提供了强大的数学工具。通过理解Pareto最优性原理和掌握各种求解方法,决策者可以在多个冲突目标之间找到合理的平衡点。随着计算能力的提升和算法的进步,多目标规划在各领域的应用将更加广泛。


参考文献

  1. Miettinen, K. (1999). Nonlinear Multiobjective Optimization. Springer.
  2. Deb, K. (2001). Multi-Objective Optimization using Evolutionary Algorithms. Wiley.
  3. Ehrgott, M. (2005). Multicriteria Optimization. Springer.
  4. Coello, C. A. C., Lamont, G. B., & Van Veldhuizen, D. A. (2007). Evolutionary Algorithms for Solving Multi-Objective Problems. Springer.
  5. Simon, H. A. (1956). Rational choice and the structure of the environment. Psychological Review, 63(2), 129-138.
  6. Wierzbicki, A. P. (1980). The use of reference objectives in multiobjective optimization. In Multiple Criteria Decision Making Theory and Application (pp. 468-486). Springer.
  7. Hwang, C. L., & Masud, A. S. M. (1979). Multiple Objective Decision Making—Methods and Applications. Springer.

希望这篇文章对您有所帮助!如有任何问题或建议,欢迎在评论区留言交流。

相关文章:

【数学建模】多目标规划模型:原理、方法与应用

多目标规划模型&#xff1a;原理、方法与应用 文章目录 多目标规划模型&#xff1a;原理、方法与应用引言1. 多目标规划的基本概念1.1 数学模型1.2 Pareto最优解/有效解1.3 满意解方法 2. 多目标规划的主要求解方法2.1 加权求和法2.2 ε-约束法2.3 理想点法2.4 优先级法&#x…...

基于Spring Boot的党员学习交流平台的设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…...

Flink CDC 与 SeaTunnel CDC 简单对比

Flink CDC 与 SeaTunnel CDC 简单对比 CDC 技术概述 变更数据捕获&#xff08;Change Data Capture&#xff0c;简称 CDC&#xff09;是一种用于捕获数据库中数据变更的技术&#xff0c;能够实时识别、捕获并输出数据库中的插入、更新和删除操作。CDC 技术在现代数据架构中扮…...

ARM 汇编基础

ARM 汇编是嵌入式开发、操作系统底层编程和性能优化的核心技能之一。以下是一份系统的 ARM 汇编指令教学指南&#xff0c;涵盖基础语法、核心指令、编程模式和实用示例。 ​1. ARM 汇编基础 ​ 1.1 寄存器 ARM 架构&#xff08;32位&#xff09;包含 ​16 个通用寄存器​&…...

【嵌入式狂刷100题】- 1基础知识部分

准备新开专栏【嵌入式狂刷100题】&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️&#x1f927;加油!!!&#xff0c;内容包括 基础知识部分操作系统部分处理器架构部分外设驱动部分通信协议部分存储器管理部分硬件设计部分多媒体部分调试故障排除部分编码开发部…...

【模板】计算几何入门

来源 计算几何基本模板&#xff08;二维&#xff09; 目录 基本设置点 向量 Point&#xff08;Vector&#xff09;点积&#xff08;数量积、内积&#xff09;向量积&#xff0c;叉积两点间距离向量的模单位向量两向量的夹角判断点在直线的哪边逆转角 线 直线表达式Line判断…...

PostgreSQL 数据库中导入大量数据

在 PostgreSQL 数据库中导入大量数据,可根据数据来源和格式选择不同的方法。以下为你详细介绍几种常见的方式: 1. 使用 COPY 命令(适用于本地数据文件) COPY 命令是 PostgreSQL 内置的高效数据导入工具,适合处理本地的数据文件。 步骤 准备数据文件 确保你的数据文件格…...

DeepSeek和Kimi在Neo4j中的表现

以下是2个最近爆火的人工智能工具&#xff0c; DeepSeek:DeepSeek Kimi: Kimi - 会推理解析&#xff0c;能深度思考的AI助手 1、提示词&#xff1a; 你能帮我生成一个知识图谱吗&#xff0c;等一下我会给你一篇文章&#xff0c;帮我从内容中提取关键要素&#xff0c;然后以N…...

xQueueSendToBack的中文释义和裸机调用

如果不在 FreeRTOS 环境下运行&#xff0c;而是裸机环境中实现类似的功能&#xff0c;需要移除 xQueueSendToBack 的依赖&#xff0c;并直接调用 CAN 发送函数。以下是修改后的代码和实现思路&#xff1a; 1. FreeRTOS 中的 xQueueSendToBack 功能 作用&#xff1a;将消息发送…...

2025年- G24-Lc98-217.包含重复(使用hashSet解决)-java版

1.题目描述 2.思路 思路一&#xff1a; 我的想法是直接用集合来判断&#xff0c;如果集合的元素不能添加说明之前已经存在这个元素&#xff0c;也就是发现了重复元素&#xff0c;所以返回false。 补充一&#xff1a; Map、ArrayList的定义和声明 3.代码实现 class Soluti…...

【树莓派驱动验证步骤】

终端操作和输出&#xff1a; 清理项目 adaraspberrypi:~/mt3502 $ make clean make -C /lib/modules/6.6.51rpt-rpi-v8/build M/home/ada/mt3502 clean make[1]: 进入目录“/usr/src/linux-headers-6.6.51rpt-rpi-v8”CLEAN /home/ada/mt3502/Module.symvers make[1]: 离开…...

百度SEO和必应SEO优化方法

如需SEO服务&#xff0c;可以搜索&#xff1a;深圳市信科网络科技有限公司。 一、搜索引擎生态格局&#xff1a;流量入口的重新洗牌 2025 年&#xff0c;中国 PC 端搜索引擎市场正经历戏剧性变革。StatCounter 数据显示&#xff0c;必应凭借 Edge 浏览器的预装优势与 ChatGPT …...

2025年3月AI搜索发展动态与趋势分析:从技术革新到生态重构

025年3月AI搜索发展动态与趋势分析&#xff1a;从技术革新到生态重构 一、行业动态&#xff1a;巨头布局与技术升级 谷歌推出“AI模式”&#xff0c;重新定义搜索体验 谷歌上线全新“AI模式”&#xff0c;集成多模态交互与实时数据能力&#xff0c;用户可通过文本、图片或语音…...

封闭图形个数

0封闭图形个数 - 蓝桥云课 小蓝对蓝桥王国的数字大小规则十分感兴趣。现在&#xff0c;他将给定你n个数a1, a2, ..., an&#xff0c;请你按照蓝桥王国的数字大小规则&#xff0c;将这n数从小到大排序&#xff0c;并输出排序后结果。 输入格式 第一行包含一个整数n&#xff0…...

VSCode 抽风之 两个conda环境同时在被激活

出现了神奇的(toolsZCH)(base) 提示符&#xff0c;如下图所示&#xff1a; 原因大概是&#xff1a;conda 环境的双重激活&#xff1a;可能是 conda 环境没有被正确清理或初始化&#xff0c;导致 base 和 toolsZCH 同时被激活。 解决办法就是 &#xff1a;conda deactivate 两次…...

Django 生产环境静态文件处理

python manage.py collectstatic 是 Django 提供的一个非常重要的管理命令&#xff0c;用于将项目中的静态文件收集到一个指定的目录中。这在部署 Django 项目时尤其重要&#xff0c;因为静态文件需要被 Web 服务器&#xff08;如 Nginx 或 Apache&#xff09;提供服务&#xf…...

语法: result=frexp(value, exp);

FREXP()是C语言里的内部函数&#xff0c;根据需要了解。 语法: resultfrexp(value, &exp); 参数: value是一个浮点数; exp是一个有符号的整型数; 返回值: 返回值result是一个浮点数&#xff0c;其有效范围是 0.5&#xff08;含&#xff09;到 1.0&#xff08;不含&…...

ArcGIS Pro 制作风台路径图:从数据到可视化

一、引言 台风&#xff0c;作为自然界极具破坏力的气象现象之一&#xff0c;其路径的精准预测与直观呈现对于防灾减灾工作至关重要。 在数字化时代&#xff0c;借助专业的地理信息系统&#xff08;GIS&#xff09;软件&#xff0c;如 ArcGIS Pro&#xff0c;我们能够高效地将…...

#pandas #python#数据标注 pd.crosstab()

题目&#xff1a; device_status.txt 存储了工业互联网平台上收集的设备运行状态数据&#xff0c;数 据中有以下内容&#xff1a; device_id&#xff1a;设备编号&#xff0c;字符串类型&#xff0c;长度为 8 status_time&#xff1a;状态时间&#xff0c;日期时间类型&…...

self Attention为何除以根号dk?(全新角度)

全网最独特解析&#xff1a;self Attention为何除根号dk&#xff1f; 一、假设条件&#xff1a;查询向量和键向量服从正态分布 假设查询向量 q i q_i qi​和键向量 k j k_j kj​的每个分量均为独立同分布的随机变量&#xff0c;且服从标准正态分布&#xff0c;即&#xff1a;…...

SpringBoot @Scheduled注解详解

Scheduled 是 Spring Framework 中用于实现定时任务的核心注解&#xff0c;能够方便地配置方法在特定时间或周期执行。以下是详细解析&#xff1a; 1. 启用定时任务‌ 在 Spring Boot 中&#xff0c;需在配置类添加 EnableScheduling 注解以启用定时任务支持&#xff1a; Co…...

在大数据开发中spark是指什么?

hello宝子们...我们是艾斯视觉擅长ui设计和前端数字孪生、大数据、三维建模、三维动画10年经验!希望我的分享能帮助到您!如需帮助可以评论关注私信我们一起探讨!致敬感谢感恩! 在数字经济蓬勃发展的今天&#xff0c;数据已成为驱动商业决策、科学研究和城市治理的核心燃料。面对…...

从点灯开始的51单片机生活

陵谷纷纭新事改&#xff0c;筑台土石未应迟。 目录 sfr与sbit&#xff1f;不靠定时器的delay_ms延时函数所谓寄存器 sfr与sbit&#xff1f; 这第一课咱们主要来先理解一下sfr与sbit&#xff0c;以下可能是咱们这些新手朋友常见的点灯代码&#xff1a; #include<regx52.h&g…...

AI大模型落地:昆仑技术的东方解法

DeepSeek的横空出世&#xff0c;一举打破“算力封锁”的神话&#xff0c;标志着中国AI企业在AI大模型技术路径上取得彻底突破。 不过&#xff0c;DeepSeek等AI大模型的突破&#xff0c;固然大幅推动AI产业的整体发展&#xff0c;但算力基础设施能否跟上&#xff0c;也将决定未…...

Spring Boot 与 MyBatis Plus 整合 KWDB 实现 JDBC 数据访问

​ 引言 本文主要介绍如何在 IDEA 中搭建一个使用 Maven 管理的 Spring Boot 应用项目工程&#xff0c;并结合在本地搭建的 KWDB 数据库&#xff08;版本为&#xff1a;2.0.3&#xff09;来演示 Spring Boot 与 MyBatis Plus 的集成&#xff0c;以及对 KWDB 数据库的数据操作…...

VSCode+arm-none-eabi-gcc交叉编译+CMake构建+OpenOCD(基于STM32的标准库/HAL库)

前言&#xff1a;什么是CMake&#xff1f; Answer&#xff1a;简而言之&#xff0c;CMake是Make的maker。 一、CMake的安装 进入CMake官网的下载地址Get the Software&#xff0c;根据系统安装对应的Binary distributions。 或者在CMake——国内镜像获取二进制镜像安装包。 …...

MarsCode AI实战:利用DeepSeek 快速搭建你的口语学习搭子

资料来源&#xff1a;火山引擎-开发者社区 成品抢先看&#xff01; 自从MarsCode AI Chat模型全新升级&#xff0c;接入 Deepseek-R1、Deepseek-V3和豆包大模型1.5 三大模型&#xff0c;越来越多朋友注意到了AI编程能给我们带来的无限可能&#xff0c;也开始跃跃欲试想要尝试从…...

导出的使用

一.导出的具体使用步骤 1.在web开发中&#xff0c;导出是很常见的一个功能&#xff0c;当我进行个人项目练习的时候&#xff0c;导出的时候无法控制列宽以及居中样式&#xff0c;后续发现导出插件无法进行修改&#xff0c;整个插件较为简便易懂的同时&#xff0c;对于EX的控制…...

【OCR】总结github上开源 OCR 工具:让文字识别更简单

前言 在数字化的时代&#xff0c;光学字符识别&#xff08;OCR&#xff09;技术成为了我们处理文档、图像文字信息的得力助手。它能够将图像中的文字信息转换为可编辑和可处理的文本数据&#xff0c;极大地提高了信息处理的效率。今天&#xff0c;我要给大家介绍一些优秀的开源…...

struts1+struts2项目兼容升级到了spring boot 2.7

原项目比较复杂&#xff0c;集成了各种框架&#xff08;struts1 struts2 spring3等&#xff09;&#xff0c;趁工作之余练练手&#xff0c;学习一下springboot。大概花了一周时间才调通。 一、调整jar版本&#xff0c;寻找合适的版本。 第一步、首先原项目JDK6&#xff0c;要…...

Odoo 18 中的列表(list) 、表单(Form)、数据透视表、图表视图、看板视图、活动视图、日历视图等综合应用实例

Odoo 18 中的 视图应用实例 在 Odoo 中&#xff0c;视图是用户界面中表示业务对象的重要组成部分。无论您是扩展现有功能还是创建全新的功能&#xff0c;业务对象都至关重要。这些对象通过不同类型的视图向用户展示&#xff0c;而 Odoo 会根据 XML 描述动态生成这些视图。 列…...

单元测试mock

一、背景 现在有A类,B类,C类&#xff0c;A类依赖B类,依赖C类&#xff0c;如果想要测试A类中的某个方法的业务逻辑。A类依赖其他类&#xff0c;则把其他类给mock&#xff0c;然后A类需要真实对象。这样就可以测试A类中的方法。 举例&#xff1a;Ticket类需要调用Flight类和Pas…...

PDF文件转Markdown,基于开源项目marker

​ 首先我们来问下deepseek 为啥要选marker呢 基于深度学习&#xff0c;一看就逼格拉满。搞科研必备&#xff0c;效果应该不会太差。跟其他的阿猫阿狗工具没法比。 看下官网 https://github.com/VikParuchuri/marker ​ 一看头像是个印度佬&#xff0c;自吹——又快又好。…...

mysql中find_in_set()函数用法详解及增强函数

MySQL的 FIND_IN_SET()函数是一种特殊的函数&#xff0c;它主要用于搜索一个字符串在一个逗号分隔的字符串列表中的位置。 函数的基本语法 FIND_IN_SET(str, strlist) 其中&#xff0c;str是你想要查找的字符串&#xff0c;而 strlist是一个包含多个以逗号分隔的字符串的列表…...

深入理解 JavaScript/TypeScript 中的假值(Falsy Values)与逻辑判断 ✨

&#x1f579;️ 深入理解 JavaScript/TypeScript 中的假值&#xff08;Falsy Values&#xff09;与逻辑判断 在 JavaScript/TypeScript 开发中&#xff0c;if (!value) 是最常见的条件判断之一。它看似简单&#xff0c;却隐藏着语言的核心设计逻辑&#xff0c;也是许多开发者…...

批量合并 PPT 文件,支持合并成单个文件也支持按文件夹合并

合并多个 PPT 为一个 PPT 文档是我们经常会碰到的需求&#xff0c;合并后不仅更容易管理&#xff0c;在某些场景&#xff08;比如批量打印&#xff09;下也非常的有用&#xff0c;那当我们需要批量合并多个 PPT 文档地时候&#xff0c;我们有没有比较高效的方法呢&#xff1f;今…...

Java复习

在开篇前首先申明一下&#xff0c;本文虽不够系统&#xff0c;但复习够用&#xff0c;尤其是快速回忆( •̀ ω •́ )✧与提问。 主打一个速度。 本文将会从Java的基础语法、面向对象、API、字符串、集合、进阶...等六方面讲起。 一、Java的基础语法&#xff1a; 1、Java入门…...

keepalived+nginx+tomcat高可用

1.要求 角色主机名软件IP地址用户client192.168.72.90keepalivedvip192.168.72.100mastermasterkeepalived, nginx192.168.72.30backupbackupkeepalived, nginx192.168.72.32webtomcat1tomcat192.168.72.41webtomcat2tomcat192.168.72.42 1.搭建Tomcat 1.1下载jdk wget http…...

RK3568 Android11 sh366006驱动

sh366006.c /* 谁愿压抑心中怒愤冲动咒骂这虚与伪与假从没信要屈膝面对生命纵没有别人帮一生只靠我双手让我放声疯狂叫囔今天的他 呼风可改雨不可一世太嚣张 --《不可一世》Beyond */ #include <linux/module.h> #include <linux/init.h> #include <linux/fs.h…...

实现分布式锁需要考虑哪些问题?

&#x1f512; 什么是分布式锁&#xff1f; 分布式锁是在分布式系统中控制共享资源访问的机制&#xff0c;用于解决高并发场景下数据不一致、操作冲突等问题。核心目标是保证跨进程 / 跨节点的互斥性&#xff0c;常见实现方案包括&#xff1a;数据库锁、Redis 锁、ZooKeeper 锁…...

【UI设计】一些好用的免费图标素材网站

阿里巴巴矢量图标库https://www.iconfont.cn/国内最大的矢量图标库之一&#xff0c;拥有 800 万 图标资源。特色功能包括团队协作、多端适配、定制化编辑等&#xff0c;适合企业级项目、电商设计、中文产品开发等场景。IconParkhttps://iconpark.oceanengine.com/home字节跳动…...

mysql-大批量插入数据的三种方式和使用场景

1.批量插入三种方式 INSERT INTO … SELECTINSERT INTO … VALUES (…)LOAD DATA INFILE ‘/path/to/datafile.csv’ INTO TABLE table_name 2.批量插入 2.1 INSERT INTO … SELECT 用途&#xff1a;从另一个表中选择数据并插入到目标表中。 语法示例&#xff1a; INSERT …...

创建自己的github.io

1、创建GitHub账号 GitHub地址&#xff1a;https://github.com/ 点击Sign up创建账号 如果已创建&#xff0c;点击Sign in登录 2、创建仓库 假设Owner为username&#xff0c;则Repository name为username.github.io说明&#xff1a; 1、Owner为用户名 2、Repository name为仓…...

Oracle 常用语法汇总

系列文章目录 本文对Oracle 常用的语法进行汇总 文章目录 系列文章目录一、Oracle 表&表字段操作&#xff1a;1.1 DDL语句(数据定义语言)Create、Alter、Drop、Truncate&#xff1a;1.1.1 建表&#xff1a;建表&#xff1a;注释COMMENT :表中字段的约束&#xff1a;表中字…...

java小白日记38(集合-List)

List接口基本介绍 List接口是collection接口的子接口 &#xff08;1&#xff09;List集合类中元素有序&#xff08;即添加顺序和取出顺序一致&#xff09;、且可以重复 &#xff08;2&#xff09;List集合中的每个元素都有其对应的顺序索引&#xff0c;即支持索引 &#xf…...

高能ISP模块功能说明

先看一些常见缩写&#xff1a; BPS&#xff1a;Bayer processing segment CPP&#xff1a;Camera post processor DE&#xff1a;Detailed enhancement EIS&#xff1a;Electronic image stabilization IFE&#xff1a;Image front-end engine IPE&#xff1a;Image-proc…...

单臂路由实验

单臂路由实验 文章目录 单臂路由实验单臂路由简介工作原理优点与缺点应用场景 实验拓扑实验需求&#xff1a;实验步骤&#xff1a;1.PC 配置 IP 地址2.PC3 属于 Vlan10&#xff0c;PC4 属于 Vlan20&#xff0c;配置单臂路由实现 Vlan10 和 Vlan20 三层互通2.1.在 SW2 上创建 Vl…...

SpringMVC全局异常处理机制

异常处理机制 异常处理的两种方式&#xff1a; 编程式异常处理&#xff1a;是指在代码中显式地编写处理异常的逻辑。它通常涉及到对异常类型的检测及其处理&#xff0c;例如使用 try-catch 块来捕获异常&#xff0c;然后在 catch 块中编写特定的处理代码&#xff0c;或者在 f…...

UDS诊断、ECU刷写、自动化测试、车联网测试、DTC故障注入测试、坏境测试、可靠性测试、压力测试、性能测试等

每日直播时间&#xff1a;&#xff08;直播方式&#xff1a;腾讯会议&#xff09; 周一到周五&#xff1a;20&#xff1a;00-23&#xff1a;00 周六与周日&#xff1a;9&#xff1a;00-17&#xff1a;00 向进腾讯会议学习的&#xff0c;可以关注我并后台留言 直播内容&#xff…...

C++的常用容器嵌套

在 C 中&#xff0c;数据结构之间的嵌套是非常常见的&#xff0c;尤其是在处理复杂数据时。以下是几种最常用的数据结构嵌套方式及其典型应用场景的总结&#xff1a; 1. std::vector 嵌套 std::vector 定义&#xff1a;std::vector<std::vector<T>>。用途&#xf…...