亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? pso-tsp.c

?? 本程序是針對多序列比對問題
?? C
?? 第 1 頁 / 共 2 頁
字號:
{struct particle bestt;float			coeff;float			dmin, dmax;float			dist[Nmax];int				i,j;int				rank_dmin[Nmax];float			kx;float			weight1;kx=k;        bestt=previous_best(p,0);        for (i=1;i<kx/2;i++)                {                j=p.rank+i;                if (j>sw1.size-1) {j=j-sw1.size;};                if(sw1.p[j].best_f<bestt.f)                        {                        bestt=previous_best(sw1.p[j],0);                        }                }        for (i=1;i<kx/2;i++)                {                j=p.rank-i;                if (j<0) {j=sw1.size+j;};                if(sw1.p[j].f<bestt.f)                        {                        bestt=previous_best(sw1.p[j],0);                        }                }return bestt;}struct velocity	coeff_pos_minus_pos(struct particle p1,struct particle p2,float coeff){int 			i,j,k,n1,nt;int				GN;struct particle pt;struct velocity vt;float			d0,d;if (p1.rank>=0 && (p1.rank==p2.rank)) {vt.size=0; return vt;};vt.size=0;pt=p2;GN=p2.x.size;if (pt.x.s[0]!=0) pt.x=rotate(pt.x,0);if (p1.x.s[0]!=0)        {        printf("\n 出錯,路線不是從第 1 個城市開始",p1.rank);        return vt;        }for (i=1;i<GN-1;i++)        {        nt=pt.x.s[i];        n1=p1.x.s[i];        for (j=i;j<GN;j++)                        {                        if (p1.x.s[j]==nt)                                {                                if (j!=i)                                        {                                        pt.x.s[i]=n1;                                        vt.comp[vt.size][0]=n1;                                        for (k=i+1;k<GN;k++)                                                {                                                if (pt.x.s[k]==n1)                                                        {                                                        pt.x.s[k]=nt;                                                        vt.comp[vt.size][1]=nt;                                                        vt.size=vt.size+1;                                                        if (vt.size>Vmax)                                                                goto stop;                                                        goto next_node;                                                        }                                                }                                        return vt;                                        }                                }                        }        next_node:;        }vt=coeff_times_vel(vt,coeff);        return vt;stop:printf("\n 點數太多");return vt;}struct velocity	coeff_times_vel(struct velocity v,float coeff){float			coefft;int				i;struct velocity vt,vt0;if (v.size==0) return v;vt=v;if (coeff==0) {vt.size=0;return vt;};coefft=coeff;if (coeff<0)        {         for (i=0;i<v.size;i++)                {                vt.comp[i][0]=v.comp[v.size-i-1][0];                vt.comp[i][1]=v.comp[v.size-i-1][1];                coefft=-coeff;                }        } if (coefft==1)                return v;if (coefft<1)        {         vt.size=coefft*v.size;        return vt;        }vt0=vt;for (i=0;i<coefft;i++)        {        vt=vel_plus_vel(vt,vt0);        }vt.size=MIN(coefft*v.size,Vmax);return vt;}int	compare_particle(struct particle p1,struct particle p2){int	i;int GN;GN=p1.x.size;for (i=0;i<GN;i++)        {        if (p1.x.s[i]!=p2.x.s[i]) return 1;        }if (p1.v.size!=p2.v.size) return 1;for (i=0;i<p1.v.size;i++)        {        if (p1.v.comp[i][0] != p2.v.comp[i][0]) return 1;        if (p1.v.comp[i][1] != p2.v.comp[i][1]) return 1;        }return 0;}void	search(struct graph G, struct particle p1, struct particle p2){float			f_l;int				i,j;float			min1;struct particle pt;struct velocity vt;if (p2.f<p1.f) return ;vt.size=1;min1=p2.f;for (i=0;i<G.N-1;i++)        {        for (j=i+1;j<G.N;j++)                {                vt.comp[0][0]=i;                vt.comp[0][1]=j;                pt=pos_plus_vel(p2,vt,0);                if (pt.f<min1)                        min1=pt.f;                }        }return ;}struct particle	move_towards(struct particle p,struct particle pg,int move_type){struct particle pi;struct particle pit,pgt;struct particle	pt;float			d1,d2;float			alpha, beta, gamma, delta, eta;float			phi;int				tot_vel;struct velocity	v1,v2,v3;tot_vel=0;pi=previous_best(p,0);pt.rank=p.rank;explicit_velocities:v1=coeff_times_vel(p.v,parameter1);if (pi.f<pg.f) pit=pi; else pit=pg;v3=coeff_pos_minus_pos(pit,p,parameter2);v2=vel_plus_vel(v1,v3);        pt=pos_plus_vel(p,v2,1);        pt.v=v2;        tot_vel=tot_vel+v2.size;        goto end;end:if (pt.x.s[0]!=0) pt.x=rotate(pt.x,0);if (pt.f<p.best_f)        {        pt.best_x=pt.x;        pt.best_f=pt.f;        }else        {        pt.best_x=p.best_x;        pt.best_f=p.best_f;        } pt.rank=p.rank;return pt;}struct particle	pos_plus_vel (struct particle p,struct velocity v, int type){float			ft[Vmax+1];int				i,i1;int				last_trans;int				n1,n2;struct particle	pt,ptemp;int				rank1,rank2;struct velocity	vtemp;if (v.size==0) return p;ptemp=p;if (type>=0)        {        ft[0]=p.f;        }for (i=0;i<v.size;i++)        {        n1=v.comp[i][0];        n2=v.comp[i][1];        for (i1=0;i1<G.N+1;i1++)                {                if (ptemp.x.s[i1]==n1)                        {                        rank1=i1;                        if (rank1==G.N) rank1=0;                        ptemp.x.s[i1]=n2;                        }                else                        {                        if (ptemp.x.s[i1]==n2)                                {                                rank2=i1;                                if (rank2==G.N) rank2=0;                                ptemp.x.s[i1]=n1;                                }                        }                }                if (type>0)                        {                        ptemp.f=f(ptemp,rank1,rank2);                        if (ptemp.f<ptemp.best_f)                                {                                ptemp.best_x=ptemp.x;                                ptemp.best_f=ptemp.f;                                }                        if(ptemp.f<extra_best.f)                                {                                extra_best=ptemp;                                }                        }        }        if (type==0)                {                ptemp.f=f(ptemp,-1,-1);               if ( ptemp.f<ptemp.best_f)                        {                        ptemp.best_x=ptemp.x;                        ptemp.best_f=ptemp.f;                        }                if(ptemp.f<extra_best.f)                        {                        extra_best=ptemp;                        }                }        pt=ptemp;        goto end;end:if (pt.x.s[0]!=0) pt.x=rotate(pt.x,0);if (extra_best.x.s[0]!=0) extra_best.x=rotate(extra_best.x,0);return pt;}struct particle previous_best(struct particle p, int type){struct particle pt;if (type==0)pt=p;pt.x=p.best_x;pt.f=p.best_f;if (pt.x.s[0]!=0) pt.x=rotate(pt.x,0);return pt;pt=p;pt.best_x=p.x;pt.best_f=p.f;return pt;}float tax_no_arc(int l,struct graph G)        {        float 	tax=1.1; /* >=1 */        float 	x;       x=tax*G.l_max+(G.N-1)*(G.l_max-G.l_min);        return x;        }struct velocity	vel_plus_vel(struct velocity v1,struct velocity v2){int				i;struct velocity vt;vt=v1;vt.size=MIN(v1.size+v2.size,Vmax);for (i=v1.size;i<vt.size;i++)        {        vt.comp[i][0]=v2.comp[i-v1.size][0];        vt.comp[i][1]=v2.comp[i-v1.size][1];        }return vt;}int alea(int min,int max){int ir;float r;srand(seed);r=rand();seed=r;r=r/RAND_MAX; /* Normally, RAND_MAX = 32767 = 2^31-1 */r=0.5+min+r*(max-min);ir=r;return ir;}int alea_diff(int min,int max, int num){int	temp1,temp2;if (num==min)        {        temp1=alea(min+1,max);        return temp1;        }if (num==max)        {        temp1=alea(min,max-1);        return temp1;        }temp1=alea(min,num-1);temp2=alea(num+1,max);if (alea(0,100)<50)        {        return temp1;        }else        {        return temp2;        }}float MAX(float a,float b){if (a>b) return a; return b;}float MIN(float a,float b){if (a<b) return a; return b;}struct seq rotate(struct seq s,int k){int i,j;struct seq st;if (s.s[0]==k) return s;for (i=0;i<s.size;i++)        {        if (s.s[i]!=k) continue;                for (j=i;j<s.size;j++)                        st.s[j-i]=s.s[j];                for (j=0;j<i;j++)                        st.s[j+s.size-i]=s.s[j];        }st.s[s.size]=st.s[0];st.size=s.size;return st;}void display_solution(struct particle p){if (p.rank<0)        {        printf("\n Extra particle");        }display_position(p,1);}float f(struct particle p,int rank1,int rank2){float				d;float				delta_f;float 				ft;int 				i;int					n,n0,n1,n2,ni;int					no_arc;float				val1,val2;no_arc=0;if (rank1>=0) goto modif;ft=0;for (i=0;i<G.N;i++)        {        n=p.x.s[i];        n0=p.x.s[i+1];if (n0>G.N || n>G.N)        {        printf("\nERROR arc %i=>%i",n+1,n0+1);        printf(" value %f",G.v[n][n0]);        }        if (G.v[n][n0]<0)                {                delta_f=tax_no_arc(no_arc,G);                no_arc=no_arc+1;                }        else                {                delta_f=G.v[n][n0];                }        ft=ft+delta_f;        }goto end;modif:n1=p.x.s[rank1];n2=p.x.s[rank2];ft=p.f;if (rank1==0) i=G.N-1; else i=rank1-1;ni=p.x.s[i];if (G.v[ni][n1]<0) val1=tax_no_arc(no_arc,G); else val1=G.v[ni][n1];if (G.v[ni][n2]<0) val2=tax_no_arc(no_arc,G); else val2=G.v[ni][n2];ft=ft-val2+val1;if (rank1==G.N-1) i=0; else i=rank1+1;ni=p.x.s[i];if (G.v[n1][ni]<0) val1=tax_no_arc(no_arc,G); else val1=G.v[n1][ni];if (G.v[n2][ni]<0) val2=tax_no_arc(no_arc,G); else val2=G.v[n2][ni];ft=ft-val2+val1;if (rank2==0) i=G.N-1; else i=rank2-1;ni=p.x.s[i];        if (G.v[ni][n1]<0) val1=tax_no_arc(no_arc,G); else val1=G.v[ni][n1];        if (G.v[ni][n2]<0) val2=tax_no_arc(no_arc,G); else val2=G.v[ni][n2];        ft=ft-val1+val2;if (rank2==G.N-1) i=0; else i=rank2+1;ni=p.x.s[i];        if (G.v[n1][ni]<0) val1=tax_no_arc(no_arc,G); else val1=G.v[n1][ni];        if (G.v[n2][ni]<0) val2=tax_no_arc(no_arc,G); else val2=G.v[n2][ni];        ft=ft-val1+val2;if (abs(rank1-rank2)==1 || abs(rank1-rank2)==G.N-1) // Particular cases n1=>n2 or n2=>n1        {        if (G.v[n1][n2]<0) val1=tax_no_arc(no_arc,G); else val1=G.v[n1][n2];        if (G.v[n2][n1]<0) val2=tax_no_arc(no_arc,G); else val2=G.v[n2][n1];        ft=ft-val1-val2;        }end:if (ft<extra_best.f)        {        extra_best=p;        extra_best.f=ft;        if (extra_best.x.s[0]!=0) extra_best.x=rotate(extra_best.x,0);        }return ft;}void display_position(struct particle p,int type){int 	i;float 	x;printf("\n particle %i: ",p.rank+1);for (i=0;i<p.x.size+1;i++)        printf(" %i",p.x.s[i]+1);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色综合网色综合| 久久久99免费| 色呦呦一区二区三区| 成人蜜臀av电影| 丰满亚洲少妇av| 不卡区在线中文字幕| 91影视在线播放| 色婷婷av一区二区三区软件| 欧美性生交片4| 欧美二区乱c少妇| 日韩欧美综合一区| 26uuu色噜噜精品一区| 久久综合九色综合97婷婷| 国产亚洲成年网址在线观看| 日本一区二区三区在线观看| 国产精品久久久久久久裸模| 中文字幕中文乱码欧美一区二区| 亚洲精品国产品国语在线app| 亚洲精品高清视频在线观看| 亚洲国产视频网站| 青娱乐精品视频在线| 激情综合网av| 成人免费看的视频| 91黄色激情网站| 欧美精品成人一区二区三区四区| 日韩精品一区国产麻豆| 国产欧美日韩精品一区| 亚洲精品亚洲人成人网| 亚洲成人先锋电影| 激情文学综合网| av中文字幕亚洲| 在线观看日韩精品| 日韩美一区二区三区| 国产欧美精品一区二区色综合| 亚洲精选视频在线| 美女www一区二区| 成人国产精品免费观看视频| 欧美三级在线看| 久久综合九色综合久久久精品综合 | 日本麻豆一区二区三区视频| 精品午夜一区二区三区在线观看| 成人免费av资源| 制服丝袜亚洲色图| 国产精品日韩成人| 日韩中文字幕区一区有砖一区 | 美腿丝袜亚洲三区| www.66久久| 日韩情涩欧美日韩视频| 亚洲素人一区二区| 激情综合色综合久久| 色悠悠亚洲一区二区| 久久久久久亚洲综合| 亚洲电影一级片| 国产99精品视频| 欧美日韩成人一区| 国产精品伦理在线| 精品亚洲porn| 欧美色图12p| 国产精品理论片| 久久精品二区亚洲w码| 色美美综合视频| 国产欧美综合色| 日韩福利视频网| 色哟哟日韩精品| 国产三级欧美三级日产三级99 | 欧美在线观看一二区| 久久亚洲一级片| 亚洲综合一区二区精品导航| 国产乱人伦精品一区二区在线观看| 欧美日韩一区高清| 亚洲欧洲日韩一区二区三区| 国产麻豆精品95视频| 日韩欧美高清在线| 天堂一区二区在线免费观看| 91蜜桃婷婷狠狠久久综合9色| 亚洲精品一区二区三区精华液 | 欧美亚洲一区二区在线| 国产精品欧美精品| 国产精品 欧美精品| 精品久久久久av影院 | 色综合色综合色综合| 国产午夜精品福利| 精品一区二区三区免费视频| 欧美日韩免费观看一区二区三区| 亚洲色图另类专区| 成人黄色软件下载| 欧美国产日韩精品免费观看| 国产在线不卡一区| 日韩欧美中文字幕一区| 亚洲成人午夜影院| 欧美日韩一区视频| 亚洲国产欧美日韩另类综合| 97久久精品人人澡人人爽| 国产欧美一区二区三区在线老狼| 精品一区二区三区av| 精品国产一二三| 韩国一区二区在线观看| 精品乱人伦小说| 国产精品自拍一区| 亚洲精品一区二区三区蜜桃下载| 久久国产精品第一页| 久久免费偷拍视频| 国产综合久久久久久鬼色| 精品国产三级电影在线观看| 美国毛片一区二区| 精品国产精品网麻豆系列| 美女网站在线免费欧美精品| 日韩欧美电影一区| 精品制服美女丁香| 久久久久88色偷偷免费| 国产成人精品免费网站| 国产精品每日更新| 91蝌蚪porny九色| 一区二区在线观看不卡| 精品视频在线免费观看| 日韩成人午夜电影| 日韩欧美国产一二三区| 国产精品白丝av| 亚洲欧洲一区二区三区| 欧美性感一区二区三区| 免费观看成人鲁鲁鲁鲁鲁视频| 日韩精品一区二区三区中文不卡| 久久成人免费日本黄色| 中文子幕无线码一区tr| 91影院在线免费观看| 午夜精品福利久久久| 欧美一级欧美三级| 国产电影一区在线| 亚洲欧美另类图片小说| 欧美欧美欧美欧美| 国产精品一区二区黑丝| 亚洲激情五月婷婷| 欧美一区二区三区思思人| 国产成人av一区二区三区在线| 亚洲女同ⅹxx女同tv| 欧美日本一区二区三区四区| 国产在线视频一区二区三区| 亚洲人成小说网站色在线| 欧美久久一二区| 国产ts人妖一区二区| 亚洲午夜三级在线| 久久九九全国免费| 欧美系列日韩一区| 国产精品一区二区在线观看网站 | 日韩精品亚洲一区二区三区免费| 2欧美一区二区三区在线观看视频| 99国产精品久| 麻豆国产一区二区| 国产精品免费网站在线观看| 欧美精品久久天天躁| 国产精品一区不卡| 五月天激情小说综合| 久久蜜桃av一区精品变态类天堂 | 在线观看中文字幕不卡| 蜜桃视频第一区免费观看| 中文字幕一区二区不卡| 日韩一区二区精品在线观看| 99天天综合性| 国内精品国产成人| 亚洲电影在线播放| 国产精品三级久久久久三级| 在线播放91灌醉迷j高跟美女 | 91天堂素人约啪| 久久精品国产精品亚洲红杏 | 菠萝蜜视频在线观看一区| 日本特黄久久久高潮| 亚洲欧美日韩在线不卡| 久久九九全国免费| 91精品国产综合久久福利软件| 91麻豆.com| www.欧美.com| 国产在线不卡一区| 美女一区二区视频| 午夜国产精品一区| 一区二区三区在线免费播放| 久久久久久免费毛片精品| 欧美精品高清视频| 色激情天天射综合网| 成人国产电影网| 国产91富婆露脸刺激对白| 精品无人码麻豆乱码1区2区| 日韩精品一卡二卡三卡四卡无卡| 一区二区在线观看免费| 亚洲欧美在线观看| 国产精品污网站| 久久久久久免费毛片精品| 欧美va在线播放| 欧美一级二级三级蜜桃| 在线成人午夜影院| 91福利精品视频| 91一区二区在线观看| 成人午夜电影小说| 成人高清视频免费观看| 成人网页在线观看| 成人综合在线观看| 成a人片亚洲日本久久| 成人爽a毛片一区二区免费| 国产成人午夜精品5599| 国产精品一区二区三区99| 国产精品自拍三区|