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

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

?? sa.cpp

?? 兩種btree算法
?? CPP
字號:
// Project: B*-trees floorplanning// Advisor: Yao-Wen Chang  <ywchang@cis.nctu.edu.tw>// Authors: Jer-Ming Hsu   <barz@i.cis.nctu.edu.tw>// 	    Hsun-Cheng Lee <gis88526@cis.nctu.edu.tw>// Sponsor: Arcadia Inc.// Date:    7/19/2000 ~//---------------------------------------------------------------------------#include <cmath>#include "sa.h"#include <iostream>#include <cassert>#include <iomanip>using namespace std;//---------------------------------------------------------------------------double init_avg = 0.00001;int hill_climb_stage = 7;double avg_ratio=150;double lamda=1.3;bool forgeFlag = false;double P=0.9;double mean(vector<double> &chain){  double sum=0;  for(int i=0; i < chain.size();i++)     sum+= chain[i];  return sum/chain.size();}double var(vector<double> &chain){  double m = mean(chain);  double sum=0;  double var;  int N= chain.size();  for(int i=0; i < N;i++)     sum += (chain[i]-m)*(chain[i]-m);  var = sum/(N);  printf("  m=%.4f ,v=%.4f\n",m,var);  return var;}/* Simulated Annealing B*Tree Floorplan   k: factor of the number of permutation in one temperature   local: local search iterations   termT: terminating temperature*/double SA_Floorplan(FPlan &fp, int k, int local/*=0*/, double term_T/*=0.1*/){  int MT,uphill,reject;  double pre_cost,best,cost;  float d_cost,reject_rate=0;    int N = k * fp.size();  //float P=0.9;  float T,actual_T=1;  double avg=init_avg;  float conv_rate = 0.99;  double time;   double time_start;  //double estimate_avg = 0.08 / avg_ratio;  //cout << "Estimate Average Delta Cost = " << estimate_avg << endl;/*  if(local==0)    avg = estimate_avg;*/      avg = Random_Floorplan( fp,N);  avg_ratio = avg;  //avg = 0.05;  //avg = 2e-6;  cout << "Average delta cost = " << avg;  //estimate_avg = avg;      time = time_start = seconds();  T = avg / log(1/P);  actual_T = T;  cout << "Intial T = " << T << endl;  // get inital solution  fp.packing();  fp.keep_sol();    fp.keep_best();  pre_cost =  best = fp.getCost();    int good_num=0,bad_num=0;  double total_cost=0;  int count=0;  float p_avg = 0;  float dcost_avg = 0;  int bad_count=0;  int good_count = 0;    int itcount = 0;  //ofstream of("btree_debug");  //ofstream of2("btree_debug_2");  //ofstream of3("btree_debug_3");  cout << setiosflags( ios::fixed );  //of2 << setiosflags( ios::fixed );  //of3 << setiosflags( ios::fixed );  bool first_feasible = false;  do{   count++;   total_cost = 0;   MT=uphill=reject=0;   printf("Iteration %d ", count);   cout << " T= " << T << endl;      vector<double> chain;    good_count = 0;   p_avg = 0;   dcost_avg = 0;      for(; uphill < N && MT < 2*N; MT++)   {       fp.perturb();       fp.packing();       cost = fp.getCost();        d_cost = cost - pre_cost;       float p = 1/(exp(d_cost/T));       p = p>1? 1:p;       	   itcount++;	   p_avg+=p;  // observ       dcost_avg += fabs(d_cost); // observ       chain.push_back(cost);       if(d_cost <=0 || rand_01() < p )	   {         fp.keep_sol();         pre_cost = cost;         if(d_cost > 0)		 {                  uphill++, bad_num++;           //of << d_cost << ": " << p << endl;         }		 else  			 if(d_cost < 0)  				 good_num++;         // keep best solution/count         if(cost < best)		 {             bool feasible = fp.isFit();            if( first_feasible == false)            {                fp.keep_best();                best = cost;            }            else            {                if( feasible )                {                    fp.keep_best();                    best = cost;                }            }            if( feasible )                first_feasible = true;		    printf("   ==>  Cost= %f, Area= %.6f (%.2f%%), Wire= %.3f, ar= %.2f, fit= %d, time= %.1f\n", 			    best, 			    fp.getArea()*1e-6, 			    fp.getDeadSpace(),                fp.getWireLength()*1e-3,                fp.getAR(), fp.isFit(),                seconds()-time_start );            assert(fp.getArea() >= fp.getTotalArea());            time = seconds();	        good_count++;		    fp.outDraw( "tmp.draw" );		    //of2 << time-time_start << "\t" << fp.getDeadSpace() << endl;	            }       }       else	   {         reject++;         fp.recover();       }   }   if( good_count == 0 )       bad_count++;   else        bad_count = 0;      //p_avg/= MT;   //dcost_avg /=MT;   p_avg/= itcount;   dcost_avg /=itcount;//   cout << T << endl;   double sv = var(chain);   cout << "Average accept rate " << p_avg;   cout << " Average dcost:sv " << dcost_avg/sv << " " << dcost_avg << " " << sv << endl;      // record T before cooling       reject_rate = float(reject)/MT;   float r_t = exp(-T/sv);    //double r_t = 50*T*T*T/sv;  /*      if(count > local){     conv_rate = 0.99;   }  */ /*      if( reject_rate <= 0.1 && !forgeFlag)   {		 	   actual_T = T;            forgeFlag = true;	   cout << "record last temp !! " << endl;	      }    if( reject_rate > conv_rate && forgeFlag)   {	   actual_T /=2; 	   T = actual_T;           forgeFlag = false;		   cout << "forging !! BANG!! T is now " << T<<endl;	   reject_rate = 0;   }else */        //of3 << count << "\t" << T << "\t" << reject_rate << endl;          //T = actual_T/((float)count/sv);                   //T = r_t * T;   if( count < local )   {	   T =(actual_T/100)/((double)count/dcost_avg);     }   else   {  	   T =actual_T/((double)count/dcost_avg);     }   printf("  Intial_T= %.2f, r= %f, reject= %.2f, next_T = %f\n\n", actual_T, r_t, reject_rate,T);   // After apply local-search, start to use normal SA   /*   if(count == local){     T = estimate_avg/ log(P);     T *= pow(0.9,local);		// smothing the annealing schedule     actual_T = exp(estimate_avg/T);   }   */  }while( ( reject_rate<conv_rate && T>1e-4 ) || bad_count<=3 );  if(reject_rate >= conv_rate)    cout << "\n  Convergent!\n";  else if(T <= 1e-4)    cout << "\n Cooling Enough!\n";  else    cout << "\n Bad count is "<<bad_count<< " T= "<< T;  printf("\n good = %d, bad=%d\n\n", good_num, bad_num);  fp.recover_best();  fp.packing();  return time; }double Random_Floorplan(FPlan &fp,int times){  int N =times,t=0;  double total_cost=0,pre_cost,cost,best;  fp.packing();  pre_cost = best = fp.getCost();  fp.keep_best(); do {  for(int i=0; i < N;i++)  {    fp.perturb();    fp.packing();      cost = fp.getCost();    if(cost-pre_cost > 0)	{      t++;      total_cost += cost-pre_cost;      pre_cost = cost;    }    if(cost < best)	{      //fp.keep_best();      best = cost;      cout << "==> Cost=" << best << endl;    }  }	 }while(total_cost==0);  fp.recover_best();  fp.packing();  total_cost /= t;  return total_cost;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色94色欧美sute亚洲13| 国产亲近乱来精品视频| 国内外成人在线| 亚洲图片激情小说| 久久综合成人精品亚洲另类欧美| 91在线porny国产在线看| 韩国av一区二区三区四区| 亚洲精品视频在线观看免费| 日韩三级在线观看| 在线看国产一区二区| 丁香激情综合国产| 国模冰冰炮一区二区| 亚洲成人动漫一区| 亚洲欧美日本韩国| 综合久久给合久久狠狠狠97色| 精品久久久久久久久久久久久久久久久 | 亚洲国产裸拍裸体视频在线观看乱了 | 亚洲色图欧美在线| 国产亚洲欧洲一区高清在线观看| 777a∨成人精品桃花网| 色综合夜色一区| www.成人网.com| 国产成人免费9x9x人网站视频| 午夜精品久久久久久久蜜桃app| 17c精品麻豆一区二区免费| 精品国产99国产精品| 欧美一区二区三区系列电影| 欧洲av一区二区嗯嗯嗯啊| 91视频观看视频| 成人黄色国产精品网站大全在线免费观看 | 一区二区三区日韩精品视频| 欧美国产1区2区| 国产欧美一区二区三区鸳鸯浴| 精品久久久久久综合日本欧美| 4hu四虎永久在线影院成人| 欧美中文字幕久久| 欧美影院精品一区| 欧洲日韩一区二区三区| 欧美丝袜丝nylons| 欧美三级韩国三级日本一级| 欧美色精品在线视频| 精品久久久网站| 精品久久久久久久久久久久包黑料| 5566中文字幕一区二区电影| 久久久久九九视频| 欧美国产成人精品| 精品成人一区二区| 精品剧情v国产在线观看在线| 欧美变态口味重另类| 精品国产免费一区二区三区四区| 日韩欧美在线网站| 久久亚洲精品小早川怜子| 国产性色一区二区| 综合网在线视频| 亚洲高清免费观看| 麻豆精品一区二区| 国产精品一级片| av不卡一区二区三区| 欧美日韩三级一区| 欧美电影免费观看完整版| 久久先锋影音av| 亚洲欧美一区二区三区极速播放| 亚洲一区二区中文在线| 麻豆91精品91久久久的内涵| 国产在线一区二区| 成人国产在线观看| 欧美男女性生活在线直播观看| 日韩视频不卡中文| 国产精品三级电影| 亚洲综合免费观看高清完整版| 日韩高清国产一区在线| 国产精品一区2区| 一本大道久久a久久综合| 欧美日韩久久一区| 国产午夜亚洲精品午夜鲁丝片| 日韩一区有码在线| 日韩电影在线免费观看| www.亚洲在线| 欧美丰满一区二区免费视频| 国产亚洲自拍一区| 亚洲一区二区三区爽爽爽爽爽| 蜜臀av性久久久久蜜臀av麻豆| 成人免费黄色在线| 7777精品伊人久久久大香线蕉| 国产清纯美女被跳蛋高潮一区二区久久w | 91精品国产综合久久久久久| 久久精品人人做人人综合| 亚洲靠逼com| 精品一区二区三区在线观看国产 | 欧美专区在线观看一区| 精品三级av在线| 亚洲韩国精品一区| 高清shemale亚洲人妖| 欧美高清视频www夜色资源网| 国产日韩精品一区二区三区| 久久久久国产精品厨房| 亚洲福利视频导航| 成人一区二区在线观看| 日韩精品影音先锋| 亚洲成av人片观看| 99热这里都是精品| 亚洲精品一区二区精华| 国产精品一区二区视频| 欧美高清dvd| 亚洲最新视频在线观看| 成人性生交大片免费看中文网站| 91精品国产综合久久久久| 一区二区三国产精华液| 成人综合婷婷国产精品久久免费| 精品免费一区二区三区| 亚洲不卡一区二区三区| 91丨porny丨最新| 中文字幕国产一区| 韩国三级在线一区| 日韩精品专区在线影院重磅| 午夜在线电影亚洲一区| 色欧美片视频在线观看在线视频| 亚洲国产成人一区二区三区| 韩国av一区二区| 亚洲精品在线电影| 日本免费在线视频不卡一不卡二| 欧美唯美清纯偷拍| 亚洲一区二区三区四区不卡| 色哟哟一区二区三区| 亚洲图片另类小说| 91在线观看免费视频| 国产精品久久久爽爽爽麻豆色哟哟 | 中文字幕一区二区三区视频| 国产91在线|亚洲| 国产三级精品在线| 国产成人鲁色资源国产91色综| 精品国产一区a| 九色|91porny| wwww国产精品欧美| 韩国三级电影一区二区| 精品久久国产老人久久综合| 激情五月激情综合网| 欧美电影免费观看高清完整版在线观看| 日韩精品一卡二卡三卡四卡无卡| 欧美高清一级片在线| 免费亚洲电影在线| www日韩大片| 国产成人夜色高潮福利影视| 国产午夜精品久久| 成人免费黄色在线| 亚洲激情五月婷婷| 欧美日韩成人在线| 琪琪久久久久日韩精品| 精品国产一区a| 成人av综合在线| 一区二区三区不卡视频在线观看| 色屁屁一区二区| 蜜臀av在线播放一区二区三区| 精品国产一区二区三区av性色| 国产成人自拍网| 亚洲免费观看在线视频| 欧美视频在线一区| 日本不卡高清视频| 久久精品视频在线看| av电影在线观看不卡| 亚洲6080在线| 久久综合网色—综合色88| 成人av电影免费观看| 亚洲国产精品久久不卡毛片 | av一区二区久久| 亚洲自拍偷拍图区| 欧美α欧美αv大片| www.久久精品| 日本不卡1234视频| 中文字幕免费不卡| 欧美视频精品在线观看| 久久99久久99| 亚洲欧美一区二区三区久本道91| 欧美剧在线免费观看网站 | 欧美成人在线直播| 在线观看av不卡| 久久久国产精品麻豆| 欧美日韩一本到| 国产亚洲成年网址在线观看| 日韩欧美黄色影院| 精品福利二区三区| 精品88久久久久88久久久| 香蕉加勒比综合久久| 自拍偷在线精品自拍偷无码专区| 国产欧美日韩麻豆91| 五月天国产精品| 99免费精品在线| 同产精品九九九| 国产精品女主播av| 欧美一区二区三区爱爱| 99视频在线观看一区三区| 日本视频免费一区| 18欧美亚洲精品| 精品国产乱码久久久久久免费| 日本久久电影网| 成人午夜视频在线观看| 蜜臀精品久久久久久蜜臀| 亚洲一级二级三级在线免费观看| 久久综合九色综合97_久久久| 欧美日韩成人一区|