多目标优化(Python):多目标粒子群优化算法(MOPSO)求解ZDT1、ZDT2、ZDT3、ZDT4、ZDT6(提供Python代码)

一、多目标粒子群优化算法

多目标粒子群优化算法(MOPSO)是一种用于解决多目标优化问题的进化算法。它基于粒子群优化算法(PSO),通过引入多个目标函数和非支配排序来处理多目标问题。

MOPSO的基本思想是将问题转化为在多维搜索空间中寻找一组最优解的问题。每个解被称为一个粒子,它在搜索空间中移动,并根据自身的经验和群体的经验进行调整。粒子的位置表示解的候选解,速度表示解的搜索方向和步长。

MOPSO的算法流程如下:

  1. 初始化粒子群的位置和速度。

  2. 计算每个粒子的适应度值,即目标函数值。

  3. 根据非支配排序和拥挤度距离计算,对粒子进行排序。

  4. 更新粒子的速度和位置,以便更好地探索搜索空间。

  5. 重复步骤2-4,直到达到停止条件。

MOPSO的优点是能够找到一组近似最优解,这些解分布在整个帕累托前沿上,提供了多个可行的解决方案供决策者选择。它还具有较好的全局搜索能力和收敛性能。

MOPSO的应用领域包括工程优化、机器学习、数据挖掘等。它已经在许多实际问题中取得了良好的效果。

二、ZDT1、ZDT2、ZDT3、ZDT4、ZDT6介绍

ZDT1、ZDT2、ZDT3、ZDT4和ZDT6是一些常用的多目标优化测试函数。它们被广泛用于评估多目标优化算法的性能和效果。

ZDT1函数是一个双目标优化函数,它具有一个全局最优解和一个局部最优解。该函数的定义如下:

f 1 ( x ) = x 1 f 2 ( x ) = g ( x ) ⋅ h ( f 1 ( x ) , g ( x ) ) g ( x ) = 1 + 9 n − 1 ⋅ ∑ i = 2 n x i h ( f 1 ( x ) , g ( x ) ) = 1 − f 1 ( x ) g ( x ) − f 1 ( x ) g ( x ) ⋅ sin ⁡ ( 10 π f 1 ( x ) ) f_1(x) = x_1 \\ f_2(x) = g(x) \cdot h(f_1(x), g(x)) \\ g(x) = 1 + \frac{9}{n-1} \cdot \sum_{i=2}^{n} x_i \\ h(f_1(x), g(x)) = 1 - \sqrt{\frac{f_1(x)}{g(x)}} - \frac{f_1(x)}{g(x)} \cdot \sin(10 \pi f_1(x)) f1(x)=x1f2(x)=g(x)h(f1(x),g(x))g(x)=1+n19i=2nxih(f1(x),g(x))=1g(x)f1(x) g(x)f1(x)sin(10πf1(x))

其中, x = ( x 1 , x 2 , . . . , x n ) x = (x_1, x_2, ..., x_n) x=(x1,x2,...,xn)是决策变量向量, n n n是决策变量的维度。ZDT1函数的全局最优解是 x ∗ = ( 0 , 1 , . . . , 1 ) x^* = (0, 1, ..., 1) x=(0,1,...,1),对应的目标函数值为 f ∗ = ( 0 , 1 − 0 , . . . , 1 − 1 − 1 n 2 ) f^* = (0, 1 - \sqrt{0}, ..., 1 - \sqrt{1 - \frac{1}{n^2}}) f=(0,10 ,...,11n21 )

ZDT2函数也是一个双目标优化函数,它具有一个全局最优解和一个局部最优解。该函数的定义如下:

f 1 ( x ) = x 1 f 2 ( x ) = g ( x ) ⋅ h ( f 1 ( x ) , g ( x ) ) g ( x ) = 1 + 9 n − 1 ⋅ ∑ i = 2 n x i h ( f 1 ( x ) , g ( x ) ) = 1 − ( f 1 ( x ) g ( x ) ) 2 f_1(x) = x_1 \\ f_2(x) = g(x) \cdot h(f_1(x), g(x)) \\ g(x) = 1 + \frac{9}{n-1} \cdot \sum_{i=2}^{n} x_i \\ h(f_1(x), g(x)) = 1 - (\frac{f_1(x)}{g(x)})^2 f1(x)=x1f2(x)=g(x)h(f1(x),g(x))g(x)=1+n19i=2nxih(f1(x),g(x))=1(g(x)f1(x))2

其中, x = ( x 1 , x 2 , . . . , x n ) x = (x_1, x_2, ..., x_n) x=(x1,x2,...,xn)是决策变量向量, n n n是决策变量的维度。ZDT2函数的全局最优解是 x ∗ = ( 0 , 1 , . . . , 1 ) x^* = (0, 1, ..., 1) x=(0,1,...,1),对应的目标函数值为 f ∗ = ( 0 , 1 − 0 2 , . . . , 1 − 0 2 ) f^* = (0, 1 - 0^2, ..., 1 - 0^2) f=(0,102,...,102)

ZDT3函数是一个双目标优化函数,它具有一个全局最优解和一个局部最优解。该函数的定义如下:

f 1 ( x ) = x 1 f 2 ( x ) = g ( x ) ⋅ h ( f 1 ( x ) , g ( x ) ) g ( x ) = 1 + 9 n − 1 ⋅ ∑ i = 2 n x i h ( f 1 ( x ) , g ( x ) ) = 1 − f 1 ( x ) g ( x ) − f 1 ( x ) g ( x ) ⋅ sin ⁡ ( 10 π f 1 ( x ) ) f_1(x) = x_1 \\ f_2(x) = g(x) \cdot h(f_1(x), g(x)) \\ g(x) = 1 + \frac{9}{n-1} \cdot \sum_{i=2}^{n} x_i \\ h(f_1(x), g(x)) = 1 - \sqrt{\frac{f_1(x)}{g(x)}} - \frac{f_1(x)}{g(x)} \cdot \sin(10 \pi f_1(x)) f1(x)=x1f2(x)=g(x)h(f1(x),g(x))g(x)=1+n19i=2nxih(f1(x),g(x))=1g(x)f1(x) g(x)f1(x)sin(10πf1(x))

其中, x = ( x 1 , x 2 , . . . , x n ) x = (x_1, x_2, ..., x_n) x=(x1,x2,...,xn)是决策变量向量, n n n是决策变量的维度。ZDT3函数的全局最优解是 x ∗ = ( 0 , 1 , . . . , 1 ) x^* = (0, 1, ..., 1) x=(0,1,...,1),对应的目标函数值为 f ∗ = ( 0 , 1 − 0 , . . . , 1 − 1 − 1 n 2 ) f^* = (0, 1 - \sqrt{0}, ..., 1 - \sqrt{1 - \frac{1}{n^2}}) f=(0,10 ,...,11n21 )

ZDT4函数是一个双目标优化函数,它具有一个全局最优解和一个局部最优解。该函数的定义如下:

f 1 ( x ) = x 1 f 2 ( x ) = g ( x ) ⋅ h ( f 1 ( x ) , g ( x ) ) g ( x ) = 1 + 10 ( n − 1 ) + ∑ i = 2 n ( x i 2 − 10 cos ⁡ ( 4 π x i ) ) h ( f 1 ( x ) , g ( x ) ) = 1 − f 1 ( x ) g ( x ) f_1(x) = x_1 \\ f_2(x) = g(x) \cdot h(f_1(x), g(x)) \\ g(x) = 1 + 10(n-1) + \sum_{i=2}^{n} (x_i^2 - 10 \cos(4 \pi x_i)) \\ h(f_1(x), g(x)) = 1 - \sqrt{\frac{f_1(x)}{g(x)}} f1(x)=x1f2(x)=g(x)h(f1(x),g(x))g(x)=1+10(n1)+i=2n(xi210cos(4πxi))h(f1(x),g(x))=1g(x)f1(x)

其中, x = ( x 1 , x 2 , . . . , x n ) x = (x_1, x_2, ..., x_n) x=(x1,x2,...,xn)是决策变量向量, n n n是决策变量的维度。ZDT4函数的全局最优解是 x ∗ = ( 0 , 1 , . . . , 1 ) x^* = (0, 1, ..., 1) x=(0,1,...,1),对应的目标函数值为 f ∗ = ( 0 , 1 − 0 , . . . , 1 − 1 − 1 n 2 ) f^* = (0, 1 - \sqrt{0}, ..., 1 - \sqrt{1 - \frac{1}{n^2}}) f=(0,10 ,...,11n21 )

ZDT6函数是一个双目标优化函数,它具有一个全局最优解和一个局部最优解。该函数的定义如下:

f 1 ( x ) = 1 − exp ⁡ ( − 4 x 1 ) ⋅ sin ⁡ 6 ( 6 π x 1 ) f 2 ( x ) = g ( x ) ⋅ h ( f 1 ( x ) , g ( x ) ) g ( x ) = 1 + 9 ( ∑ i = 2 n x i n − 1 ) 0.25 h ( f 1 ( x ) , g ( x ) ) = 1 − ( f 1 ( x ) g ( x ) ) 2 f_1(x) = 1 - \exp(-4x_1) \cdot \sin^6(6 \pi x_1) \\ f_2(x) = g(x) \cdot h(f_1(x), g(x)) \\ g(x) = 1 + 9 \left(\frac{\sum_{i=2}^{n} x_i}{n-1}\right)^{0.25} \\ h(f_1(x), g(x)) = 1 - \left(\frac{f_1(x)}{g(x)}\right)^2 f1(x)=1exp(4x1)sin6(6πx1)f2(x)=g(x)h(f1(x),g(x))g(x)=1+9(n1i=2nxi)0.25h(f1(x),g(x))=1(g(x)f1(x))2

其中, x = ( x 1 , x 2 , . . . , x n ) x = (x_1, x_2, ..., x_n) x=(x1,x2,...,xn)是决策变量向量, n n n是决策变量的维度。ZDT6函数的全局最优解是 x ∗ = ( 0 , 1 , . . . , 1 ) x^* = (0, 1, ..., 1) x=(0,1,...,1),对应的目标函数值为 f ∗ = ( 1 − exp ⁡ ( − 4 ⋅ 0 ) ⋅ sin ⁡ 6 ( 6 π ⋅ 0 ) , 1 − ( 0 g ( x ) ) 2 ) f^* = (1 - \exp(-4 \cdot 0) \cdot \sin^6(6 \pi \cdot 0), 1 - \left(\frac{0}{g(x)}\right)^2) f=(1exp(40)sin6(6π0),1(g(x)0)2)

三、MOPSO求解ZDT1、ZDT2、ZDT3、ZDT4、ZDT6

3.1部分Python代码

import numpy as np
import matplotlib.pyplot as plt
from MOPSO import * 
from FunInfo import FunInfo
# 参数设置
#testProblem可取1 2 3 4 5 ,分别对应测试函数ZDT1、ZDT2、ZDT3、ZDT4、ZDT6
testProblem=1#测试问题
num_particles = 100#种群大小
num_iterations = 100#最大迭代次数#获取测试函数信息
GetFun=FunInfo(testProblem)
Fun,dim,bounds=GetFun.GetFunDetail()
#Fun 目标函数
#dim 变量维度
#bounds 变量上下界# 运行MOPSO
pareto_POF,pareto_POS = mopso(num_particles, bounds, num_iterations,Fun)
# pareto_POF 算法得到的POF
# pareto_POS 算法得到的POS
# 绘制Pareto前沿
plt.scatter(pareto_POF[:, 0], pareto_POF[:, 1])
plt.xlabel('Objective 1')
plt.ylabel('Objective 2')
plt.title('Pareto Front')
plt.show()

3.2部分结果

MOPSO求解ZDT1结果:
在这里插入图片描述

在这里插入图片描述

MOPSO得到的POF

0.259709	2.28455
0.00690907	3.05093
0.140244	2.52921
0.194179	2.40473
0.291803	2.23196
0.0478809	2.8041
0.020577	2.91755
0.193925	2.4124
0.00368497	3.08368
0.0265255	2.89159
0.124372	2.54897
0.0903595	2.65361
0.111091	2.59651
0.336201	2.17209
0.111091	2.59651
0.161572	2.47243
0.229625	2.32815
0.250301	2.30713
0.232698	2.32376
0.0380952	2.83465
0	3.16703

MOPSO得到的POS

0.259709	0.206563	0.262395	0.330207	0.221909	0.216457	0.240484	0.264247	0.17576	0.202084	0.221106	0.344181	0.186364	0.365219	0.308246	0.258176	0.147316	0.232802	0.307594	0.256584	0.295267	0.200903	0.230752	0.192236	0.323826	0.215109	0.259054	0.0988141	0.292785	0.2181
0.00690907	0.211317	0.256477	0.325657	0.222955	0.217783	0.235375	0.265844	0.177133	0.206249	0.224223	0.344072	0.186536	0.363423	0.30815	0.254027	0.15113	0.231961	0.306133	0.260573	0.288718	0.203908	0.229322	0.197834	0.324551	0.210232	0.259513	0.102299	0.29228	0.229964
0.140244	0.209385	0.259959	0.325469	0.242118	0.21635	0.244421	0.265091	0.178215	0.198313	0.223158	0.342554	0.194254	0.360312	0.306776	0.25008	0.149257	0.232551	0.306461	0.261635	0.279619	0.218785	0.225743	0.195812	0.321215	0.207302	0.258903	0.096942	0.29398	0.221051
0.194179	0.214838	0.262193	0.330877	0.228047	0.217031	0.242723	0.262535	0.179099	0.203259	0.222455	0.342149	0.191791	0.359764	0.308456	0.251294	0.146416	0.231824	0.306736	0.256115	0.283306	0.206591	0.21982	0.19925	0.320917	0.211023	0.256579	0.107627	0.29019	0.21027
0.291803	0.212691	0.257844	0.328295	0.233754	0.214182	0.23723	0.261915	0.176184	0.207861	0.222565	0.344456	0.181742	0.365396	0.307452	0.25766	0.147542	0.233276	0.306793	0.254134	0.29341	0.208863	0.23002	0.199517	0.324387	0.209632	0.259011	0.0990098	0.294026	0.213493
0.0478809	0.216651	0.259367	0.328331	0.225924	0.21971	0.233748	0.26238	0.173839	0.19711	0.224381	0.34515	0.185305	0.370065	0.308524	0.249986	0.146289	0.233748	0.304661	0.26142	0.309225	0.208122	0.22857	0.19579	0.320692	0.215698	0.252064	0.0977351	0.290713	0.208368
0.020577	0.211338	0.263892	0.3257	0.224883	0.215093	0.237443	0.265578	0.173969	0.208836	0.220684	0.341641	0.178408	0.365913	0.31156	0.249342	0.145116	0.233583	0.305689	0.249973	0.28547	0.198957	0.223196	0.197133	0.32544	0.214477	0.255934	0.0941949	0.294107	0.184575
0.193925	0.219111	0.258146	0.322174	0.235035	0.217441	0.234505	0.264163	0.176674	0.199034	0.22554	0.344312	0.184618	0.367491	0.308294	0.247647	0.14965	0.231847	0.306192	0.254032	0.28892	0.203227	0.229194	0.199631	0.325727	0.211907	0.254263	0.100237	0.292071	0.238396
0.00368497	0.224424	0.25708	0.323866	0.22451	0.215232	0.23764	0.264902	0.176306	0.201394	0.221482	0.343175	0.182486	0.362194	0.306539	0.24927	0.145425	0.232709	0.301954	0.258643	0.28667	0.213959	0.227241	0.198545	0.320097	0.212448	0.259151	0.0956305	0.289055	0.23154
0.0265255	0.211455	0.259075	0.327028	0.223942	0.218628	0.232437	0.264829	0.179138	0.202931	0.224285	0.346091	0.188079	0.362184	0.305754	0.24654	0.148866	0.233215	0.300781	0.255995	0.295698	0.199071	0.226223	0.199459	0.320269	0.212326	0.254811	0.0969461	0.290454	0.204752
0.124372	0.20631	0.250273	0.327286	0.219569	0.216739	0.236174	0.265401	0.179914	0.212409	0.225485	0.344351	0.181512	0.359042	0.307393	0.24636	0.147341	0.233483	0.302924	0.256876	0.280286	0.204643	0.224814	0.196346	0.320323	0.210301	0.25607	0.0960217	0.291356	0.217787
0.0903595	0.208954	0.258207	0.327603	0.219796	0.214741	0.241616	0.265889	0.183275	0.205012	0.231383	0.344135	0.186505	0.361994	0.305353	0.245125	0.146247	0.235472	0.301444	0.256822	0.292551	0.211136	0.224011	0.188892	0.321556	0.213671	0.263218	0.102339	0.289198	0.21227
0.111091	0.219589	0.258602	0.328482	0.220599	0.219097	0.238901	0.26553	0.176584	0.203425	0.222938	0.342918	0.182056	0.3617	0.308329	0.246941	0.145366	0.232822	0.307161	0.255054	0.289235	0.207224	0.227698	0.197414	0.324049	0.21524	0.263934	0.0936788	0.292116	0.21641
0.336201	0.210147	0.253185	0.329699	0.230958	0.217181	0.246957	0.266151	0.173272	0.207811	0.224127	0.343148	0.201096	0.362611	0.308671	0.256933	0.148152	0.233259	0.307048	0.258539	0.295292	0.218889	0.228196	0.201061	0.32706	0.215266	0.254991	0.100065	0.291135	0.213834
0.111091	0.219589	0.258602	0.328482	0.220599	0.219097	0.238901	0.26553	0.176584	0.203425	0.222938	0.342918	0.182056	0.3617	0.308329	0.246941	0.145366	0.232822	0.307161	0.255054	0.289235	0.207224	0.227698	0.197414	0.324049	0.21524	0.263934	0.0936788	0.292116	0.21641
0.161572	0.206942	0.256324	0.327177	0.226492	0.212188	0.235765	0.26377	0.183307	0.208893	0.22106	0.34436	0.183867	0.363299	0.305054	0.245914	0.146366	0.233952	0.305987	0.257221	0.295124	0.191074	0.231637	0.196806	0.322469	0.214167	0.257816	0.094567	0.292087	0.234287
0.229625	0.213752	0.257872	0.327651	0.226505	0.216504	0.239037	0.266452	0.176805	0.193425	0.223454	0.342063	0.186955	0.360861	0.303297	0.249873	0.147119	0.232815	0.307298	0.257899	0.29564	0.213307	0.230063	0.197194	0.322162	0.210373	0.252905	0.0961514	0.291	0.19594
0.250301	0.209934	0.259245	0.327228	0.223694	0.217319	0.242386	0.265627	0.172347	0.203962	0.226645	0.344826	0.182849	0.363607	0.30785	0.251644	0.149048	0.235367	0.306089	0.258399	0.293732	0.202077	0.226202	0.198748	0.321367	0.210169	0.259056	0.119815	0.291665	0.225856
0.232698	0.207125	0.262217	0.324577	0.227735	0.218066	0.241686	0.265291	0.175778	0.191417	0.222441	0.34431	0.184552	0.363536	0.307944	0.247031	0.148662	0.232538	0.303817	0.258539	0.291736	0.213453	0.227322	0.200518	0.320485	0.215539	0.25051	0.0962299	0.291011	0.205196
0.0380952	0.211421	0.26015	0.32823	0.222307	0.216014	0.232901	0.264362	0.177917	0.207362	0.224776	0.344691	0.184918	0.361147	0.306546	0.248686	0.14813	0.234018	0.305535	0.257587	0.28813	0.197549	0.231341	0.197543	0.3215	0.216229	0.25434	0.0980952	0.290496	0.201749
0	0.21406	0.260849	0.325909	0.222573	0.216186	0.236121	0.262781	0.177787	0.20603	0.222695	0.344806	0.183774	0.35879	0.310419	0.243456	0.145568	0.231378	0.303405	0.253002	0.281373	0.199173	0.226147	0.195574	0.322139	0.212987	0.256166	0.0673191	0.291236	0.210951

四、完整Python代码

在这里插入图片描述

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

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

相关文章

C#,字符串匹配(模式搜索)AC(Aho Corasick)算法的源代码

Aho-Corasick算法简称AC算法,也称为AC自动机(Aho-Corasick)算法,1975年产生于贝尔实验室(The Bell Labs),是一种用于解决多模式字符串匹配的经典算法之一。 the Bell Lab 本文的运行效果: AC算法以模式树…

深度学习记录--Train/dev/test sets

为什么需要训练集、验证集(简单交叉验证集)和测试集? 为了创建高效的神经网络,需要不断进行训练(迭代) 一个神经网络的产生 从最开始的想法idea开始,然后付诸于代码code,根据结果验证反过来对一开始的想法idea进行修正&#xf…

腾讯云服务器怎么买?两种购买方式更省钱

腾讯云服务器购买流程很简单,有两种购买方式,直接在官方活动上购买比较划算,在云服务器CVM或轻量应用服务器页面自定义购买价格比较贵,但是自定义购买云服务器CPU内存带宽配置选择范围广,活动上购买只能选择固定的活动…

深度系统QT 环境搭建

1.QT安装 不折腾最新版直接去商店搜索QT安装。 2.修改su密码,安装需要权限 打开一个终端,然后输入下面的命令:按照提示输入密码按回车就行。 sudo passwd 回车后会出现让你输入现在这个账户的密码: 3.编译环境安装。 安…

CSS实现超出部分的省略

1、为什么要省略 在日常开发过程中我们难免会遇到后端返回给我们的的数据太长的情况,此时我们通常采取的是...的省略方式,其中的CSS大致如下,既可以实现对应的省略显示,但有些时候我们有需要用户可以查看具体的完整信息&#xff0…

利用Python的csv(CSV)库读取csv文件并取出某个单元格的内容的学习过程

csv库在python3中是自带的。 利用它可以方便的进行csv文件内容的读取。 注意:要以gbk的编码形式打开,因为WPS的csv文件默认是gbk编码,而不是utf-8。 01-读取表头并在打印每一行内容时一并输出表头 表头为第1行,现在要读取并打…

基础面试题整理4

1.mybatis的#{}和${}区别 #{}是预编译处理,${}是字符串替换#{}可以防止SQL注入,提高安全性 2.mybatis隔离级别 读未提交 READ UNCOMMITED:读到了其他事务中未提交的数据,造成"脏读","不可重复读","幻读&…

1月12日1月15日代码随想录路经总和从中序和后序遍历构造二叉树

112.路经总和 给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。如果存在,返回 true ;否则,返回 false 。 叶子节点 …

matlab|基于VMD-SSA-LSTM的多维时序光伏功率预测

目录 1 主要内容 变分模态分解(VMD) 麻雀搜索算法SSA 长短期记忆网络LSTM 2 部分代码 3 程序结果 4 下载链接 1 主要内容 之前分享了预测的程序基于LSTM的负荷和可再生能源出力预测【核心部分复现】,该程序预测效果比较好,并且结构比较清晰&#…

buuctf-Misc 题目解答分解118-120

118.[INSHack2017]sanity 打开压缩包就是一个md 文件 typora 打开 发现flag INSA{Youre_sane_Good_for_you} 119.粽子的来历 解压压缩包 ,得到文件夹如下 用010 editor 打开 我是A.doc 这个有些可以 都改成FF 保存 然后再次打开 docx 文件就发现了屈原的诗 其他b…

uniapp + node.js 开发问卷调查小程序

前后端效果图 后端&#xff1a;nodejs 12.8 ; mongoDB 4.0 前端&#xff1a;uniapp 开发工具&#xff1a;HBuilderX 3.99 前端首页代码 index.vue <!-- 源码下载地址 https://pan.baidu.com/s/1AVB71AjEX06wpc4wbcV_tQ?pwdl9zp --><template><view class&q…

新年送长辈礼物怎么选?华为畅享70 Pro 给长辈的新年贴心机

随着春节的脚步越来越近&#xff0c;我们也在为如何表达对长辈的关爱而烦恼。新年送礼&#xff0c;不仅要表达心意&#xff0c;更要考虑到长辈的需求和习惯。今天&#xff0c;我为大家带来一款特别适合长辈的礼物——华为畅享70 Pro。 首先&#xff0c;最直观的感受就是“大”。…

Docker部署Traefik结合内网穿透远程访问Dashboard界面

文章目录 前言1. Docker 部署 Trfɪk2. 本地访问traefik测试3. Linux 安装cpolar4. 配置Traefik公网访问地址5. 公网远程访问Traefik6. 固定Traefik公网地址 前言 Trfɪk 是一个云原生的新型的 HTTP 反向代理、负载均衡软件&#xff0c;能轻易的部署微服务。它支持多种后端 (D…

手机视频转换gif怎么操作?一个小妙招教你手机在线制gif

在现代社会gif动图已经是一种非常流行的图片格式了。可以通过视频转换gif的方式将自己的想法和创意制作成gif动图与好友进行分享斗图。那么&#xff0c;当我们想要在手机上完成视频转换成gif动图是应该怎么办呢&#xff1f;通过使用手机端的gif动图制作&#xff08;https://www…

uniapp 权限申请插件(权限使用说明) Ba-Permissions

简介&#xff08;下载地址&#xff09; Ba-Permissions 是一款权限申请插件&#xff0c;支持权限使用说明弹窗&#xff0c;满足市场审核需求。支持自定义权限申请&#xff0c;也支持快速申请定位、相机、媒体、文件、悬浮窗等常见权限。 支持权限使用说明弹窗&#xff0c;满足…

16 命令行模式

命令行模式 将行为的执行与与行为的调用通过命令分离&#xff0c;行为的的调用者不需要知道具体是哪个类执行的&#xff0c;他们之间通过命令连接。 demo的目录结构 命令的执行者&#xff08;接口&#xff09; package behavioralpattern.commandpattern.actuator;import ja…

el-tabs那些事

去除el-tab-pane的内边距 :deep(.el-tabs--border-card > .el-tabs__content) {padding: 0; }

VMware workstation安装Fedora-Server-39-1.5虚拟机并配置网络

VMware workstation安装Fedora-Server-39-1.5虚拟机并配置网络 Fedora包含的软件以自由及开放源码许可来发布&#xff0c;并旨在成为该技术领域的领先者。Fedora在专注创新、抢先集成新技术、与上游Linux社区紧密工作方面拥有良好名声。该文档适用于在VMware workstation平台安…

java-方法:函数、过程

方法作用 - 封装一段特定的业务逻辑功能 - 尽可能的独立&#xff0c;一个方法只干一件事 - 方法可以被反复多次调用 - 减少代码重复&#xff0c;有利于代码复用&#xff0c;有利于代码维护 定义方法&#xff1a;五要素 ​ 修饰词 返回值类型 方法名(参数列表…

矩阵快速幂算法总结

题目链接 活动 - AcWing 本课程系统讲解常用算法与数据结构的应用方式与技巧。https://www.acwing.com/problem/content/1305/ 题解 代码 #include <cstdio> #include <cstring> #include <iostream> #include <algorithm>using namespace std;type…