2024国赛数学建模备赛|30种常用的算法模型之最优算法,线性规划

news2024/9/25 1:21:27

 1.最优化理论基础

1.1 最优化问题的数学模型

通俗地说,所谓最优化问题,就是求一个多元函数在某个给定集合上的极 值. 几乎所有类型的最优化问题都可以用下面的数学模型来描述:

\begin{aligned}&\min f(x),\\&\mathrm{s.t.} x\in K,\end{aligned}\quad(1.1)

这里,𝐾 是某个给定的集合 (称为可行集或可行域),𝑓(𝑥) 是定义在集合 𝐾 上 的实值函数. 此外,在模型 (1.1) 中,𝑥 通常称为决策变量, s.t. 是 subject to (受 限于) 的缩写.

人们通常按照可行集的性质对最优化问题 (1.1) 进行一个大致的分类: ∙

线性规划和非线性规划. — 可行集是有限维空间中的一个子集; ∙

组合优化或网络规划. — 可行集中的元素是有限的; ∙

动态规划. — 可行集是一个依赖时间的决策序列;

∙ 最优控制. — 可行集是无穷维空间中的一个连续子集. 

其中,𝑓(𝑥), ℎ𝑖(𝑥) (𝑖 = 1, · · · , 𝑙) 及 𝑔𝑖(𝑥) (𝑖 = 1, · · · , 𝑚) 都是定义在 R 𝑛 上连续可 微的多元实值函数, 且至少有一个是非线性的. 记

若指标集 𝐸 ∪ 𝐼 = ∅, 称之为无约束优化问题,否则称为约束优化问题. 特别 地, 把 𝐸 ̸= ∅ 且 𝐼 = ∅ 的优化问题称为等式约束优化问题; 而把 𝐼 ̸= ∅ 且 𝐸 = ∅ 的优化问题称为不等式约束优化问题. 𝑓(𝑥) 称为目标函数, ℎ𝑖(𝑥), 𝑔𝑗 (𝑥) (𝑖 = 1, · · · , 𝑙; 𝑗 = 1, · · · , 𝑚) 称为约束函数. 此外,通常把目标函数为二次函数而 约束函数都是线性函数的优化问题称为二次规划;而目标函数和约束函数都是 线性函数的优化问题称为线性规划. 

1、最优化理论和方法是近二十多年来发展十分迅速的一个数学分支。 2、在数学上,最优化是一种求极值的方法。 3、最优化已经广泛的渗透到工程、经济、电子技术等领域。

在实际生活当中,人们做任何事情,不管是分析问题,还是进行决策,都要用一种标准衡量一下是否达到了最优。 (比如基金人投资) 在各种科学问题、工程问题、生产管理、社会经济问题中,人们总是希望在有限的资源条件下,用尽可能小的代价,获得最大的收获。(比如保险)

数学家对最优化问题的研究已经有很多年的历史。    

以前解决最优化问题的数学方法只限于古典求导方法和变分法(求无约束极值问题),拉格朗日(Lagrange)乘数法解决等式约束下的条件极值问题。    

计算机技术的出现,使得数学家研究出了许多最优化方法和算法用以解决以前难以解决的问题。

1.2几个概念

最优化是从所有可能方案中选择最合理的一种以达到最优目标的学科。

最优方案是达到最优目标的方案。

最优化方法是搜寻最优方案的方法。

最优化理论就是最优化方法的理论

1.3无约束问题的最优性条件及算法流程

讨论无约束优化问题

 的最优性条件, 它包含一阶条件和二阶条件. 首先给出极小点的定义, 它分为全 局极小点和局部极小点。

一般采用迭代法求解无约束优化问题,

求极小点. 迭代法的基本思想是: 给定一个初始点 𝑥0, 按照某一迭代规则产生一 个迭代序列 {𝑥𝑘}. 使得若该序列是有限的, 则最后一个点就是问题 (1.18) 的极小 点; 否则, 若序列 {𝑥𝑘} 是无穷点列时, 它有极限点且这个极限点即为问题 (1.18) 的极小点

设 𝑥𝑘 为第 𝑘 次迭代点, 𝑑𝑘 为第 𝑘 次搜索方向, 𝛼𝑘 为第 𝑘 次步长因子, 则第 𝑘 次迭代完成后可得到新一轮 (第 𝑘 + 1 次) 的迭代点

算法 1 ( 无约束问题的一般算法框架 )

步 0 给定初始化参数及初始迭代点 𝑥0. 置 𝑘 := 0.

步 1 若 𝑥𝑘 满足某种终止准则, 停止迭代, 以 𝑥𝑘 作为近似极小点.

步 2 通过求解 𝑥𝑘 处的某个子问题确定下降方向 𝑥𝑘.

步 3 通过某种搜索方式确定步长因子 𝛼𝑘, 使得 𝑓(𝑥𝑘 + 𝛼𝑘𝑑𝑘) < 𝑓(𝑥𝑘).

步 4 令 𝑥𝑘+1 := 𝑥𝑘 + 𝛼𝑘𝑑𝑘, 𝑘 := 𝑘 + 1, 转步 1

为了方便, 通常称上述算法中的 𝑠𝑘 = 𝛼𝑘𝑑𝑘 为第 𝑘 次迭代的位移. 从算法 1 可以看出, 不同的位移 (不同的搜索方向及步长因子) 即产生了不同的迭代算法. 为了保证算法的收敛性, 一般要求搜索方向为所谓的下降方向:

例如:无约束极值问题的求解

例1:求函数y=2x^3+3x^2-12x+14在区间[-3,4]上的最大值与最小值。

解:令f(x)=y=2x^3+3x^2-12x+14             

f’(x)=6x2+6x-12=6(x+2)(x-1)     

解方程f’(x)=0,得到x1= -2,x2=1,

又     由于f(-3)=23,f(-2)=34,f(1)=7,f(4)=142,

综上得, 函数f(x)在x=4取得在[-3,4]上得最大值f(4)=142,在x=1处取得在[-3,4]上取得最小值f(1)=7

1.4用MATLAB解无约束优化问题

常用格式如下:

  1. fminsearch:基于单纯形法(Nelder-Mead算法),用于求解无约束优化问题,适合于目标函数没有梯度信息的情况。

    options = optimset('fminsearch'); [x, fval] = fminsearch(@myObjectiveFunction, x0, options);

  2. patternsearch:使用模式搜索算法来进行无约束优化,适合于处理复杂的目标函数,并且不依赖于梯度信息。

    options = optimoptions('patternsearch', 'Display', 'iter'); [x, fval] = patternsearch(@myObjectiveFunction, x0, [], [], [], [], lb, ub, options);

  3. simulannealbnd:模拟退火算法,用于全局优化,适合处理目标函数中可能存在多个局部最优解的情况。

    options = optimoptions('simulannealbnd', 'Display', 'iter'); [x, fval] = simulannealbnd(@myObjectiveFunction, x0, lb, ub, options);
    
  4. ga:遗传算法,用于全局优化,适合处理复杂的目标函数和高维问题。

    options = optimoptions('ga', 'Display', 'iter'); [x, fval] = ga(@myObjectiveFunction, nvars, [], [], [], [], lb, ub, [], options);
    
  5. fmincon:尽管fmincon主要用于有约束优化,它也可以用来解决无约束优化问题,只需将约束参数设置为空即可。

    options = optimoptions('fmincon', 'Algorithm', 'interior-point'); [x, fval] = fmincon(@myObjectiveFunction, x0, [], [], [], [], lb, ub, [], options);

在选择方法时,需要根据具体问题的特点(如是否有梯度信息、问题的规模、是否有多个局部最优解等)来决定最合适的优化算法。

例2  有边长为3m的正方形铁板,在四个角剪去相等的正方形以制成方形无盖水槽,问如何剪法使水槽的容积最大?

解:设剪去的正方形的边长为x,则水槽的容积为(3-2x)^2x的容积为:

建立无约束优化模型为:min y=-(3-2x)x,0<x<1.5

先编写M文件fun0.m如下:  function f=fun0(x)   f=-(3-2*x).^2*x;

主程序为wliti2.m:   [x,fval]=fminbnd('fun0',0,1.5);   xmax=x   fmax=-fval

运算结果为: xmax = 0.5000,fmax =2.0000.即剪掉的正方形的边长为0.5m时水槽的容积最大,最大容积为2m3.

% 目标函数
function y = myObjectiveFunction(x)
    y = (x - 2)^2; % 示例目标函数
end

% 区间范围
xLower = 0;
xUpper = 4;

% 调用 fminbnd
[xMin, fval] = fminbnd(@myObjectiveFunction, xLower, xUpper);

% 输出结果
disp(['最小值点: ', num2str(xMin)]);
disp(['目标函数值: ', num2str(fval)]);

    2.多元函数无约束优化问题

命令格式为:

(1)x= fminunc(fun,X0 );或x=fminsearch(fun,X0 )

(2)x= fminunc(fun,X0 ,options);      或x=fminsearch(fun,X0 ,options)

(3)[x,fval]= fminunc(...);      或[x,fval]= fminsearch(...)

(4)[x,fval,exitflag]= fminunc(...);      或[x,fval,exitflag]= fminsearch

(5)[x,fval,exitflag,output]= fminunc(...);      或[x,fval,exitflag,output]= fminsearch(...)

例 用fminsearch函数求解

输入命令:  

f='100*(x(2)-x(1)^2)^2+(1-x(1))^2';

[x,fval,exitflag,output]=fminsearch(f,[-1.2 2])

运行结果:  

x =1.0000    1.0000

fval =1.9151e-010 exitflag = 1

output=              iterations: 108              

funcCount: 202            

algorthm: 'Nelder-Mead simplex direct search '

1.5最优化方法分类

(一)

线性最优化:目标函数和约束条件都是线性的则称为线性最优化。    

非线性最优化:目标函数和约束条件如果含有非线性的,则称为非线性最优化。

(二)

静态最优化:如果可能的方案与时间无关,则是静态最优化问题。    

动态最优化:如果可能的方案与时间有关,则是动态最优化问题

1.6 最优化方法的主要内容

根据目标函数,约束条件的特点将最优化方法包含的主要内容大致如下划分:

(1)线性规划

(2)整数规划

(3)非线性规划

(4)动态规划

(5)多目标规划

(6) 对策论

2.约束条件下的优化

2.1 线性规划

在人们的生产实践中,经常会遇到如何利用现有资源来安排生产,以取得最大经济 效益的问题。此类问题构成了运筹学的一个重要分支—数学规划,而线性规划(Linear Programming 简记 LP)则是数学规划的一个重要分支。自从 1947 年 G. B. Dantzig 提出 求解线性规划的单纯形方法以来,线性规划在理论上趋向成熟,在实用中日益广泛与深 入。特别是在计算机能处理成千上万个约束条件和决策变量的线性规划问题之后,线性 规划的适用领域更为广泛了,已成为现代管理中经常采用的基本方法之一

2.1.1具体例子:

例 1 某机床厂生产甲、乙两种机床,每台销售后的利润分别为 4000 元与 3000 元。 生产甲机床需用 A、B 机器加工,加工时间分别为每台 2 小时和 1 小时;生产乙机床 需用 A、B、C 三种机器加工,加工时间为每台各一小时。若每天可用于加工的机器时 数分别为 A 机器 10 小时、B 机器 8 小时和C 机器 7 小时,问该厂应生产甲、乙机床各 几台,才能使总利润最大?

上述问题的数学模型:设该厂生产  x_1 台甲机床和 x_2 乙机床时总利润最大,则  x_1 , x_2 应满足:

这里变量 x 1, x2 称之为决策变量,(1)式被称为问题的目标函数,(2)中的几个不等式 是问题的约束条件,记为 s.t.(即 subject to)。

由于上面的目标函数及约束条件均为线性 函数,故被称为线性规划问题。

总之,线性规划问题是在一组线性约束条件的限制下,求一线性目标函数最大或最 小的问题。 在解决实际问题时,把问题归结成一个线性规划数学模型是很重要的一步,但往往 也是困难的一步,模型建立得是否恰当,直接影响到求解。而选适当的决策变量,是我们建立有效模型的关键之一.

2.1.2线性规划的 Matlab 标准形式

线性规划的目标函数可以是求最大值,也可以是求最小值,约束条件的不等号可以 是小于号也可以是大于号。为了避免这种形式多样性带来的不便,Matlab 中规定线性 规划的标准形式为

 其中 c 和 x 为 n 维列向量, A 、 Aeq 为适当维数的矩阵,b 、beq 为适当维数的列向 量

例如线性规划

的 Matlab 标准型为

2.1.3 线性规划问题的解的概念

一般线性规划问题的(数学)标准型为

 可行解 满足约束条件(4)的解x= (  x1 x2 ··· xn) ,称为线性规划问题的可行解, 而使目标函数(3)达到最大值的可行解叫最优解。

可行域 所有可行解构成的集合称为问题的可行域,记为 R 。

2.1.4 图解法

 图解法简单直观,有助于了解线性规划问题求解的基本原理。我们先应用图解法来 求解例 1。对于每一固定的值 z ,使目标函数值等于 z 的点构成的直线称为目标函数等 位线,当 z 变动时,我们得到一族平行直线。对于例 1,显然等位线越趋于右上方,其 上的点具有越大的目标函数值。不难看出,本例的最优解为 T x* = (2,6) ,最优目标值 z* = 26

从上面的图解过程可以看出并不难证明以下断言:

(1)可行域 R 可能会出现多种情况。R 可能是空集也可能是非空集合,当 R 非空 时,它必定是若干个半平面的交集(除非遇到空间维数的退化)。R 既可能是有界区域, 也可能是无界区域。 (2)在 R 非空时,线性规划既可以存在有限最优解,也可以不存在有限最优解(其 目标函数值无界)

(3)若线性规划存在有限最优解,则必可找到具有最优目标函数值的可行域 R 的 “顶点”。

2.1.5 求解线性规划的 Matlab 解法

单纯形法是求解线性规划问题的最常用、最有效的算法之一。这里我们就不介绍 单纯形法,有兴趣的读者可以参看其它线性规划书籍。下面我们介绍线性规划的 Matlab 解法

Matlab 中线性规划的标准型为

基本函数形式为 linprog(c,A,b),它的返回值是向量 x 的值。还有其它的一些函数调用形 式(在 Matlab 指令窗运行 help linprog 可以看到所有的函数调用形式),如:

[x,fval]=linprog(c,A,b,Aeq,beq,LB,UB,X0,OPTIONS) 

这里 fval 返回目标函数的值,LB 和 UB 分别是变量 x 的下界和上界, 0 x 是 x 的初始值, OPTIONS 是控制参数

例 2 求解下列线性规划问题

解 (i)编写 M 文件
 

c=[2;3;-5];

a=[-2,5,-1;1,3,1];

b=[-10;12];

aeq=[1,1,1];

beq=7;

x=linprog(-c,a,b,aeq,beq,zeros(3,1))

value=c'*x

 (ii)将M文件存盘,并命名为example1.m。

(iii)在Matlab指令窗运行example1即可得所求结果。

例3 求解线性规划问题

解 编写Matlab程序如下:

c=[2;3;1]; 
a=[1,4,2;3,2,0]; 
b=[8;6]; 
[x,y]=linprog(c,-a,-b,[],[],zeros(3,1)

2.1.6 可以转化为线性规划的问题

很多看起来不是线性规划的问题也可以通过变换变成线性规划的问题来解决。如:

例4 规划问题为

要把上面的问题变换成线性规划问题,只要注意到事实:对任意的x_i 存在ui,vi>0 蛮子

 

 

2.1.6.1  运输问题(产销平衡)

例6 某商品有m 个产地、n个销地,各产地的产量分别为a1,,a_m,各销地的需求量分别为b1,,bn。若该商品由i产地运到j销地的单位运价为c,问应该如何调运才能使总运费最省?

 显然是一个线性规划问题,当然可以用单纯形法求解。 对产销平衡的运输问题,由于有以下关系式存在:

 

其约束条件的系数矩阵相当特殊,可用比较简单的计算方法,习惯上称为表上作业法(由 康托洛维奇和希奇柯克两人独立地提出,简称康—希表上作业法)。 

2.1.6.2 指派问题的数学模型

例 7 拟分配n 人去干n 项工作,每人干且仅干一项工作,若分配第i 人去干第 j 项工作,需花费 ij c 单位时间,问应如何分配工作才能使工人花费的总时间最少? 容易看出,要给出一个指派问题的实例,只需给出矩阵  C =Cij ,C 被称为指派 问题的系数矩阵

上述指派问题的可行解可以用一个矩阵表示,其每行每列均有且只有一个元素为 1,其余元素均为 0;可以用1,L,n 中的一个置换表示。 问题中的变量只能取 0 或 1,从而是一个 0-1 规划问题。一般的 0-1 规划问题求解 极为困难。但指派问题并不难解,其约束方程组的系数矩阵十分特殊(被称为全单位模 矩阵,其各阶非零子式均为 ±1),其非负可行解的分量只能取 0 或 1,故约束xij = 0或1 可改写为 xij ≥ 0而不改变其解。此时,指派问题被转化为一个特殊的运输问题,其中 m = n ,ai = bj =1。

2.1.6.2.1  求解指派问题的匈牙利算法

由于指派问题的特殊性,又存在着由匈牙利数学家 Konig 提出的更为简便的解法 —匈牙利算法。算法主要依据以下事实:如果系数矩阵 C = cij 一行(或一列)中每 一元素都加上或减去同一个数,得到一个新矩阵 B = bij ,则以C 或 B 为系数矩阵的 指派问题具有相同的最优指派

例 8 求解指派问题,其系数矩阵为

解 将第一行元素减去此行中的最小元素 15,同样,第二行元素减去 17,第三行 元素减去 17,最后一行的元素减去 16,得

再将第 3 列元素各减去 1,得

B2 为系数矩阵的指派问题有最优指派

2.1.6.3灵敏度分析

 在以前讨论线性规划问题时,假定 aij ,bi ,cj 都是常数。但实际上这些系数往往是估 计值和预测值。如市场条件一变, c_j值就会变化;aij 往往是因工艺条件的改变而改变; bi 是根据资源投入后的经济效果决定的一种决策选择。因此提出这样两个问题:当这 些系数有一个或几个发生变化时,已求得的线性规划问题的最优解会有什么变化;或者 这些系数在什么范围内变化时,线性规划问题的最优解或最优基不变。这里我们就不讨 论了

2.1.6.4投资的收益和风险

市场上有n种资产s(i=1,2,…·,n)可以选择,现用数额为M 的相当大的资金作一个时期的投资。这n种资产在这一时期内购买s的平均收益率为,,风险损失率为9,投资越分散,总的风险越少,总体风险可用投资的s中最大的一个风险来度量。

购买s,时要付交易费,(费率p,),当购买额不超过给定值u,时,交易费按购买u计算。另外,假定同期银行存款利率是”,既无交易费又无风险。(n=5%)已知n=4时相关数据如表1。

试给该公司设计一种投资组合方案,即用给定资金 M ,有选择地购买若干种资产 或存银行生息,使净收益尽可能大,使总体风险尽可能小。

 

 模型简化

 

5.4 模型一的求解 模型一为:

 由于 a 是任意给定的风险度,到底怎样没有一个准则,不同的投资者有不同的风险 度。我们从 a = 0 开始,以步长Δa = 0.001进行循环搜索,编制程序如下:

clc,clear
a=0;
hold on
while a<0.05
 c=[-0.05,-0.27,-0.19,-0.185,-0.185];
 A=[zeros(4,1),diag([0.025,0.015,0.055,0.026])];
 b=a*ones(4,1);
 Aeq=[1,1.01,1.02,1.045,1.065];
 beq=1;
 LB=zeros(5,1);
 [x,Q]=linprog(c,A,b,Aeq,beq,LB);
 Q=-Q;
 plot(a,Q,'*r');
 a=a+0.001;
end
xlabel('a'),ylabel('Q')

5.5 结果分析

1. 风险大,收益也大。

2.当投资越分散时,投资者承担的风险越小,这与题意一致。即: 冒险的投资者会出现集中投资的情况,保守的投资者则尽量分散投资。

3.在 a = 0.006 附近有一个转折点,在这一点左边,风险增加很少时,利润增长 很快。在这一点右边,风险增加很大时,利润增长很缓慢,所以对于风险和收益没有特 殊偏好的投资者来说,应该选择曲线的拐点作为最优投资组合,投资方案为

风险度a=0.006,收益Q=0.2019,x=0,x=0.24,x,=0.4,x=0.1091,x=0.2212。

最新的优化问题可以参考:

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ffmpeg 视频编码及基本知识

理论 H264编码原理&#xff08;简略&#xff09; 1. 视频为什么需要进行编码压缩 降低视频数据大小&#xff0c;方便存储和传输 2. 为什么压缩的原始数据采用YUV格式 彩色图像的格式是 RGB 的&#xff0c;但RGB 三个颜色是有相关性的。 采用YUV格式&#xff0c;利用人对图像的…

LoRa芯片在RX时产生的中断顺序QA

目录 1 前言2 问题集锦及解答2.1 radio芯片在接包时&#xff0c;preamble、header和Rx done三个中断产生顺序是怎么样的&#xff1f;谁先谁后&#xff1f;2.2 产生了Header error中断后&#xff0c;radio芯片会继续接收本包还是立马丢弃本包&#xff1f;2.3 产生了CRC error中断…

语言中的类型转换

编程语言中必然有很多情况需要转换类型。比如引入const的概念就为了提高安全性&#xff0c;编译器提前检查&#xff0c;避免一些意外修改。当然&#xff0c;有时&#xff0c;我们希望手动转换一个变量的类型&#xff0c;让其变成常量&#xff0c;可以利用编译器提供的cast方法。…

保隆科技半年报:净利同比下滑近两成,ADAS/空悬业务仍亏损

2024年上半年&#xff0c;在全球产业链调整、局部战争仍未平息等事件长期影响下&#xff0c;叠加主要经济体货币政策调整、债务风险上升等周期性因素&#xff0c;全球经济复苏面临较大不确定性&#xff0c;汽车市场尚处在缓慢恢复阶段。 这也导致不少汽车零部件上市公司的半年报…

SQL语言的规则和规范

规则 是什么呢&#xff0c;规则就是我们最基本&#xff0c;每时每刻都要遵守的比如人行道靠右&#xff0c;不能逆行&#xff0c; 规范 呢就是锦上添花&#xff0c;如果你不这么做&#xff0c;是不那么道德&#xff0c;不那么好的&#xff0c;就像小学生见到老师要问好&#…

SAP HCM 如何追踪Z表的日志修改记录

导读 INTRODUCTION 日志记录&#xff1a;这几天遇到一个问题&#xff0c;就是查谁修改Z表的数据&#xff0c;因为HCM系统大部分都是信息类型&#xff0c;信息类型修改是有专门一套的处理机制&#xff0c;那么Z开头的表是不是也有追踪的一套机制。今天我们分析下如何开启Z表追…

新生自我介绍ppt怎么做?用这款在线PPT软件一键自动生成!

新学期伊始&#xff0c;初一新生除了适应新的学习环境&#xff0c;还要制作新生自我介绍ppt&#xff0c;让同学们更好地相互了解彼此&#xff0c;自我介绍成为了一项重要的流程。制作一份精美的自我介绍PPT&#xff0c;无疑能够让你在新班级中脱颖而出&#xff0c;给同学们留下…

Mysql之存储引擎概述

文章目录 存储引擎MySQL体系结构存储引擎特点InnoDBMyISAMMemory总结 存储引擎选择 存储引擎 MySQL体系结构 连接层&#xff1a;最上层是一些客户端和链接服务&#xff0c;主要完成一些类似于连接处理、授权认证、及相关的安全方案。服务器也会为安全接入的每个客户端验证它所…

基于python学生信息成绩的管理系统设计与实现,很详细!

需求分析 1.1数据操纵 &#xff08;1&#xff09;录入并保存学生的基本信息及选课信息&#xff08;如学号、姓名、性别、专业、课程名称、课程成绩&#xff09;&#xff1b; &#xff08;2&#xff09;可以对已经保存的学生基本信息及选课信息进行修改&#xff1b; &#x…

字符串(4题)

目录 1.最长公共前缀 2.最长回文串 3.二进制求和 4.字符串相乘 1.最长公共前缀 . - 力扣&#xff08;LeetCode&#xff09; class Solution { public:string longestCommonPrefix(vector<string>& strs) {string ret;int cur 0;while(1){if(strs[0].size() cu…

YOLOv8改进 | 模块缝合 | C2f 融合REPVGGOREPA提升检测性能【详细步骤 完整代码】

秋招面试专栏推荐 &#xff1a;深度学习算法工程师面试问题总结【百面算法工程师】——点击即可跳转 &#x1f4a1;&#x1f4a1;&#x1f4a1;本专栏所有程序均经过测试&#xff0c;可成功执行&#x1f4a1;&#x1f4a1;&#x1f4a1; 专栏目录 &#xff1a;《YOLOv8改进有效…

记一种常用的实时数据同步方案:Canal+Kafka+Flume

记一种常用的实时数据同步方案&#xff1a;CanalKafkaFlume 在当今数据驱动的业务环境中&#xff0c;数据同步是确保系统间数据一致性的关键环节。一种高效、稳定且可扩展的数据同步方案对于支撑企业的数据处理和分析需求至关重要。本文将介绍一种结合了Canal、Kafka和Flume的…

【unity游戏开发】Blender导出到Unity,带texture

【背景】 上一篇完成了将Mixamo的动画应用到blender的fbx模型中。但是默认配置导出fbx又导入Unity后发现Texture都没了(mesh和rig都在)。如何将Texture也一并导入呢? 【要点】 Blender导出后的FBX展开Mesh的名称不是文件名称,而是同Blender中的Mesh名称。可以根据这一点…

【案例66】支付指令客户端崩溃分析全过程

问题现象 月底&#xff0c;需要给人员开工资&#xff0c;但是财务人员在点击【支付状态指令】节点&#xff0c;点击状态确认后&#xff0c;系统直接崩溃&#xff0c;页面都卡掉。人员已经2天未发工资&#xff0c;情况比较紧急。 更改Uclient模式从分离模式改为嵌入模式&#x…

【linux002】目录操作命令篇 - ls 命令

文章目录 1、基本用法2、常见选项3、举例演示4、注意事项 ls 命令在 Linux 中用于列出目录内容。它有许多选项和参数可以用来调整显示的格式和内容。 1、基本用法 ls [选项] [文件或目录]2、常见选项 -a 或 --all&#xff1a;显示所有文件&#xff0c;包括以点.开头的隐藏文件…

【最新华为OD机试E卷】最左侧冗余覆盖子串(100分)多语言题解-(Python/C/JavaScript/Java/Cpp)

🍭 大家好这里是春秋招笔试突围 ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-E/D卷的三语言AC题解 💻 ACM金牌🏅️团队| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢💗 🍿 最新华为OD机试D卷目录,全、新、准,题目覆盖率达 95% 以上,…

第一个Java程序 - Java学习日记 DAY1

第一个Java程序 在文件夹中&#xff0c;新建一个文本文件 重命名为&#xff1a;helloworld.java 用记事本打开此文件&#xff0c;编写第一行 此时&#xff0c;我们创建了一个公开的类&#xff0c;类名叫helloworld&#xff0c;需要注意类名要和文件名的名字一致 第二行是公开…

MySQL record

更改密码&#xff1a; alter user rootlocalhost identified with mysql_native_password by ‘123456’; 注意&#xff1a; 在命令行方式下&#xff0c;每条MySQL的命令都是以分号结尾的&#xff0c;如果不加分号&#xff0c;MySQL会继续等待用户输入命令&#xff0c;直到MyS…

10.7 URL

万维网 真题