91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 1.55MB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2024-01-30
  • 語言: 其他
  • 標簽: 并行算法??PSO??

資源簡介

并行化實現了PSO算法,大大提高了算法的尋優效果。基于OpenMP和MPI兩種方法實現。

資源截圖

代碼片段和文件信息

//粒子群PSO算法

#include
#include
#include
#include??
#include
#include

#define PI?3.141592653589
#define?P_num?40000?????????? //粒子數目
#define?dim?30 ???????//維度
#define?N???10 ??//?每條進程執行數目

#define?low?-100??????????? ??//搜索域范圍
#define?high?100

#define?iter_num?1000
#define?V_max?20?????????? //速度范圍

#define?c1?1.5 //更新速度時的加速常量
#define?c2?1.5 //更新速度時的加速常量
#define?w?0.5 //更新速度時的權重
#define?alp?1 //更新位置時的權重
double?particle[P_num][dim];???????????//個體位置集合
double?particle_loc_best[P_num][dim];??//每個個體局部最優向量
double?particle_loc_fit[P_num];????????//個體的局部最優適應度有局部最優向量計算而來
double?particle_glo_best[dim];?????????//全局最優向量
double?gfit;???????????????????????????//全局最優適應度有全局最優向量計算而來
double?particle_v[P_num][dim];?????????//記錄每個個體的當前代速度向量
double?particle_fit[P_num];????????????//記錄每個粒子的當前代適應度

/*時間函數*/
double?mytime()
{
????double?ts?=?0.0;
????struct?timeval?mt;
????gettimeofday(&mt(struct?timezone*)0);
????ts?=?(double)(mt.tv_sec+mt.tv_usec*1.0e-6);
????return?(ts);
}

int?get_rand(int?comm_sz){
??srand((unsigned)time(NULL));
??return?rand()%(P_num/comm_sz);
}

double?Sphere(double?a[])
{

int?i;
double?sum=0.0;
for(i=0;?i {
sum+=a[i]*a[i];
}
return?sum;
}
double?Rosenbrock(double?a[])
{

int?i;
double?sum=0.0;
for(i=0;i {
????????sum+=?100*(a[i+1]-a[i]*a[i])*(a[i+1]-a[i]*a[i])+(a[i]-1)*(a[i]-1);
}
?? ????return?sum;
}

double?Rastrigin(double?a[])
{
int?i;
double?sum=0.0;
for(i=0;i {
sum+=a[i]*a[i]-10.0*cos(2*PI*a[i])+10.0;
}
return?sum;
}

double?fitness(double?a[])?????????????//適應度函數
{
return?Rastrigin(a);
}

/*初始化粒子,包括初始化速度,位置,各自的適應度以及*/
void?initial()
{
int?ij;
for(i=0;?i {
for(j=0;?j {
particle[i][j]?=?low+(high-low)*1.0*rand()/RAND_MAX;????//初始化群體位置隨機
particle_loc_best[i][j]?=?particle[i][j];???????????????//將當前最優結果寫入局部最優集合
particle_v[i][j]?=?-V_max+2*V_max*1.0*rand()/RAND_MAX;????//初始化速度
}
}

for(i=0;?i {
particle_fit[i]?=?fitness(particle[i]);
particle_loc_fit[i]?=?particle_fit[i]; //當前局部適應度
}

gfit?=?particle_loc_fit[0];?????? //初始化全局最優適應度

j=0;

for(i=1;?i {
if(particle_loc_fit[i] {
gfit?=?particle_loc_fit[i];
j?=?i; //記錄下標

}
}

for(i=0;?i {
particle_glo_best[i]?=?particle_loc_best[j][i];
}
}

/*更新位置函數*/
void?renew_particle(int?aint?b)
{
int?ij;
for(i=a;?i {
for(j=0;?j {
particle[i][j]?+=??alp*particle_v[i][j];????
if(particle[i][j]?>?high)
{
particle[i][j]?=?high;
}
if(particle[i][j]? {
particle[i][j]?=?low;
}
}
}
}

/*更新粒子速度*/
void?renew_var(int?aint?bint?*m)
{
int?i?j;
for(i=a;i {
particle_fit[i]?=?fitness(particle[i]); //計算該粒子適應度

if(particle_fit[i]?

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件?????????44??2019-05-23?16:30??pso并行化算法\PSO_MPI\.vs\ProjectSettings.json

????..A..H.?????15872??2019-05-23?16:30??pso并行化算法\PSO_MPI\.vs\PSO_MPI\v15\.suo

?????文件?????262144??2019-05-23?16:30??pso并行化算法\PSO_MPI\.vs\PSO_MPI\v15\Browse.VC.db

?????文件??????77824??2019-05-23?16:30??pso并行化算法\PSO_MPI\.vs\slnx.sqlite

?????文件?????????78??2019-05-23?16:30??pso并行化算法\PSO_MPI\.vs\VSWorkspaceState.json

?????文件??????18240??2018-06-14?13:41??pso并行化算法\PSO_MPI\pso

?????文件???????6493??2018-06-14?13:41??pso并行化算法\PSO_MPI\pso.c

?????文件??????13568??2018-06-14?13:47??pso并行化算法\PSO_MPI\pso_1

?????文件???????4155??2018-06-14?13:48??pso并行化算法\PSO_MPI\pso_1.c

?????文件?????????52??2018-06-15?12:25??pso并行化算法\PSO_MPI\說明.txt

????..A..H.?????41984??2019-01-11?10:25??pso并行化算法\PSO_OpenMP\.vs\PSO_OpenMP\v15\.suo

?????文件?????270336??2019-01-11?10:25??pso并行化算法\PSO_OpenMP\.vs\PSO_OpenMP\v15\Browse.VC.db

?????文件?????393216??2019-01-11?10:13??pso并行化算法\PSO_OpenMP\.vs\PSO_OpenMP\v15\ipch\49029d25808f1cdb.ipch

?????文件????3670016??2018-06-15?10:18??pso并行化算法\PSO_OpenMP\.vs\PSO_OpenMP\v15\ipch\9620af6784343d4.ipch

?????文件????3670016??2018-06-14?11:42??pso并行化算法\PSO_OpenMP\.vs\PSO_OpenMP\v15\ipch\d137cd0d19fb87cd.ipch

?????文件??????46592??2018-06-14?11:42??pso并行化算法\PSO_OpenMP\Debug\PSO_OpenMP.exe

?????文件?????771888??2018-06-14?11:42??pso并行化算法\PSO_OpenMP\Debug\PSO_OpenMP.ilk

?????文件?????700416??2018-06-14?11:42??pso并行化算法\PSO_OpenMP\Debug\PSO_OpenMP.pdb

?????文件????????352??2019-01-11?10:17??pso并行化算法\PSO_OpenMP\PSO_OpenMP\Debug\PSO_OpenMP.log

?????文件??????22921??2018-06-14?11:42??pso并行化算法\PSO_OpenMP\PSO_OpenMP\Debug\PSO_OpenMP.obj

?????文件????2883584??2018-06-14?08:47??pso并行化算法\PSO_OpenMP\PSO_OpenMP\Debug\PSO_OpenMP.pch

?????文件???????1886??2018-06-14?11:42??pso并行化算法\PSO_OpenMP\PSO_OpenMP\Debug\PSO_OpenMP.tlog\CL.command.1.tlog

?????文件???????7682??2018-06-14?11:42??pso并行化算法\PSO_OpenMP\PSO_OpenMP\Debug\PSO_OpenMP.tlog\CL.read.1.tlog

?????文件???????1564??2018-06-14?11:42??pso并行化算法\PSO_OpenMP\PSO_OpenMP\Debug\PSO_OpenMP.tlog\CL.write.1.tlog

?????文件???????1592??2018-06-14?11:42??pso并行化算法\PSO_OpenMP\PSO_OpenMP\Debug\PSO_OpenMP.tlog\link.command.1.tlog

?????文件???????3954??2018-06-14?11:42??pso并行化算法\PSO_OpenMP\PSO_OpenMP\Debug\PSO_OpenMP.tlog\link.read.1.tlog

?????文件????????838??2018-06-14?11:42??pso并行化算法\PSO_OpenMP\PSO_OpenMP\Debug\PSO_OpenMP.tlog\link.write.1.tlog

?????文件????????233??2018-06-14?11:42??pso并行化算法\PSO_OpenMP\PSO_OpenMP\Debug\PSO_OpenMP.tlog\PSO_OpenMP.lastbuildstate

?????文件???????6088??2018-06-14?08:47??pso并行化算法\PSO_OpenMP\PSO_OpenMP\Debug\stdafx.obj

?????文件?????101376??2018-06-14?11:42??pso并行化算法\PSO_OpenMP\PSO_OpenMP\Debug\vc141.idb

............此處省略27個文件信息

評論

共有 條評論