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

news2024/11/18 21:42:21

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

多目标粒子群优化算法(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.coloradmin.cn/o/1396270.html

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

相关文章

React配置src根目录@

文章目录 1.打开webpack配置文件2.配置webpack 1.打开webpack配置文件 yarn eject or npm run eject 如果报错了记得提前 git commit一下 2.配置webpack 找到 webpack.config.js 文件在 webpack.config.js 文件中找到 alias 配置在alias里添加: path.resolve(src) , 或者 : pa…

文本按照标点符号切分符号丢掉问题

问题:文本按照标点符号切分符号丢掉问题 项目场景:需要对一个文字段落按照标点符号切分成一个个句子,使用正则切分的过程中发现标点符号丢了, 问题描述 文本按照标点符号切分符号丢掉问题 原始代码: public static v…

在分类任务中准确率(accuracy)、精确率(precision)、召回率(recall)和 F1 分数是常用的性能指标,如何在python中使用呢?

在机器学习和数据科学中,准确率(accuracy)、精确率(precision)、召回率(recall)和 F1 分数是常用的性能指标,用于评估分类模型的性能。 1. 准确率(Accuracy)…

ChatGPT Plus续费充值,到账延迟,如何申诉?

ChatGPT Plus充值总是到账延迟比较严重,一般多是通过充值链接代充值遇到,如果是账号登陆充值,是即时到账。但是有的客户不愿意提供账号密码,遇到延迟到账的情况如何解决呢?客户可按下面操作申诉,可快速到账…

大创项目推荐 深度学习花卉识别 - python 机器视觉 opencv

文章目录 0 前言1 项目背景2 花卉识别的基本原理3 算法实现3.1 预处理3.2 特征提取和选择3.3 分类器设计和决策3.4 卷积神经网络基本原理 4 算法实现4.1 花卉图像数据4.2 模块组成 5 项目执行结果6 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 &a…

Ansys Zemax | 如何使用光学制造全息图修正像差

附件下载 联系工作人员获取附件 本文介绍了利用光学全息图降低单透镜像差的方法。在描述了表示全息图构造光束的两个 ZMX 文件之后,本文演示了如何在重现文件中设置 OFH。然后解释了如何轻松地从重现文件中访问任何结构造光束变量,以实现衍射受限单透镜…

Git一台电脑 配置多个账号

Git一台电脑 配置多个账号 Git一台电脑 配置多个账号 常用的Git版本管理有 gitee github gitlab codeup ,每个都有独立账号,经常需要在一个电脑上向多个代码仓提交后者更新代码,本文以ssh 方式为例配置 1 对应账号 公私钥生成 建议&#…

canvas绘制图形

目录 1、canvas绘制矩形 2、canvas绘制线 3、canvas绘制圆 4、canvas绘制多圈动画圆 HTML5<canvas>元素用于图形的绘制&#xff0c;Canvas API主要聚焦于2D图形。 1、canvas绘制矩形 canvas是一个二维网格&#xff0c;左上角坐标为(0,0)&#xff0c;横轴为x轴&…

【Git】实习使用记录

浏览器可以访问github仓库&#xff0c;但是使用git就用不了 https://blog.csdn.net/m0_63230155/article/details/132070860 可能是git http和https代理的问题 git config --global --unset http.proxy git config --global --unset https.proxy可能之前http和https之前是…

Python实现自动化办公(使用第三方库操作Excel)

1 使用 xlrd 读取Excel数据 1.1 获取具体单元格的数据 import xlrd# 1. 打开工作簿 workbook xlrd.open_workbook("D:/Python_study_projects/Python自动化办公/Excel/test1.xlsx") # 2. 打开工作表 sheet1 workbook.sheets()[0] # 选择所有工作表中的第一个 # …

mysql数据库:迁移数据目录至另一台服务器步骤

一、概述 最近由于项目需要&#xff0c;我们需要进行数据库服务器的更换和迁移工作。迁移计划和步骤如下&#xff1a; 1、首先&#xff0c;在新的数据库服务器上进行环境的搭建和配置&#xff0c;确保数据库版本、配置等一致。 2、然后&#xff0c;将备份的数据库数据导入到…

【docker-compose】【nginx】内网环境https配置

目录 1、openssl生成自签名证书和私钥2、nginx.conf配置ssl3、docker-compose挂载 1、openssl生成自签名证书和私钥 在部署服务器上&#xff0c;新建cert目录&#xff0c;执行以下指令&#xff0c;然后生成.crt和.key文件 openssl req -newkey rsa:2048 -nodes -keyout rsa_pri…

寒假刷题-递归与递推

寒假刷题 92. 递归实现指数型枚举 解法1递归 使用递归对每一个坑位进行选择&#xff0c;每个坑位有两种选择&#xff0c;填或者不填&#xff0c;使用st数组来记录每个坑位的状态&#xff0c;u来记录已经有多少坑位有了选择。 每个坑位有2钟选择&#xff0c;n个坑位的复杂度就…

Pytest插件pytest-django让Django测试更高效

在Django应用开发中&#xff0c;测试是确保应用质量的关键环节。然而&#xff0c;Django自带的测试框架并非总能满足开发者的需求&#xff0c;而Pytest插件 pytest-django 则为我们提供了更为灵活、强大的测试工具。本文将深入介绍 pytest-django 插件的基本用法和实际案例&…

【springboot】配置文件入门

配置文件入门 配置文件最重要的目的&#xff1a;解决硬编码问题(代码写死) 我们接下来主要介绍两个方面&#xff1a;常见的配置项和配置文件的使用 SpringBoot 的配置文件,有三种格式 propertiesyamlyml(yaml的简写) 用的较多的是yml和properties文件 如果项目中,同时存在…

常用中间件漏洞

IIS6 IIS7 安装 控制面板-----打开关闭windows功能 添加角色-----添加IIS 启动之后访问localhost 复现 服务器换成IIS7 访问报错 大概就是缺少CGI模块 问题解决 添加php-cgi的路径 添加脚本映射 修改php.ini文件 将 cgi.fix_pathinfo1 然后设置一个图片 访问 在后缀加上/.…

情人节专属--HTML制作情人节告白爱心

💕效果展示 💕html展示 <!DOCTYPE html> <html lang="en" > <head>

C#: form 窗体的各种操作

说明&#xff1a;记录 C# form 窗体的各种操作 1. C# form 窗体居中显示 // 获取屏幕的宽度和高度 int screenWidth Screen.PrimaryScreen.Bounds.Width; int screenHeight Screen.PrimaryScreen.Bounds.Height;// 设置窗体的位置 this.StartPosition FormStartPosition.M…

vue基于Spring Boot共享单车租赁报修信息系统

共享单车信息系统分为二个部分&#xff0c;即管理员和用户。该系统是根据用户的实际需求开发的&#xff0c;贴近生活。从管理员处获得的指定账号和密码可用于进入系统和使用相关的系统应用程序。管理员拥有最大的权限&#xff0c;其次是用户。管理员一般负责整个系统的运行维护…

Byrdhouse AI实时语音翻译工具,可以在视频通话中翻译100多种语言

你是否曾经在跨国会议或与外国友人聊天时&#xff0c;因为语言不通而感到尴尬或困扰&#xff1f;是不是还在找可以实时翻译的软件或者APP&#xff1f;现在&#xff0c;有了这款语音翻译神器&#xff0c;一切都将变得简单&#xff01; 免费使用链接&#xff1a;https://byrdhous…