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

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

?? control.cpp

?? vrpsd -tabu搜索求解!!!!!!!!!!!!!!!!!!!!!!!
?? CPP
字號:
#include "Control.h"

Control::Control( void ) {
}

Control::Control( int argc, char** argv ) {

	// parse the command line options to set all vars

	if( ( argc % 2 == 0 ) || ( argc == 1 ) ) {
		cerr << "Parse error: Number of command line parameters incorrect\n";
		cerr << "Usage:" << endl;
		cerr << argv[ 0 ] << " -i InputFile [-o OutputFile] [-n NumberOfTries] [-s RandomSeed] [-t TimeLimit] [-q VehicleCapacity] [-p UseProxy]" << endl;
		exit(1);
	}
	
	for( int i = 1; i < argc / 2 + 1; i++ ) {
		parameters[ argv[ i * 2 - 1 ] ] = argv[ i * 2 ];
	}
	
        iterations =0;
	nrTry = 0;
	flagMatrix = false;
        
	// check for input parameter
	
	if( parameterExists( "-i") ) {
		is = new ifstream( getStringParameter( "-i" ).c_str() );
		flagMatrix = false;	
	}
        else if (parameterExists( "-m") & flagMatrix == false){
            is = new ifstream( getStringParameter( "-m" ).c_str() );
            flagMatrix = true;
        }

	else {
	  cerr << "Error: No input file given, exiting" << endl;
	  cerr << "Usage:" << endl;
	  cerr << argv[ 0 ] << " -i [-m] InputFile [-o OutputFile] [-n NumberOfTries] [-s RandomSeed]" << endl;
	  exit(1);
	}
	
	// check for ouput parameter
	
	if( parameterExists( "-o" ) ) {
		os = new ofstream( getStringParameter( "-o" ).c_str() );
	} else {
		cerr << "Warning: No output file given, writing to stdout" << endl;
		os = &cout;
	}
	
	// check for number of tries parameter
	
	if( parameterExists( "-n" ) ) {
		maxTry = getIntParameter( "-n" );
	} else {
		cerr << "Warning: Number of tries is set to default (1)" << endl;
		maxTry = 1; // default number of tries
	}

	// check for time limit parameter
	
	if( parameterExists( "-t" ) ) {
		timeLimit = getDoubleParameter( "-t" );
	} else {
		cerr << "Warning: Time limit is set to default (10sec)" << endl;
		timeLimit = 10; // default number of tries
	}

	// check for random seed
	
	if( parameterExists( "-s" ) ) {
		seed = getIntParameter( "-s" );
		srand( seed );
	} else {
		seed = time( NULL );
		cerr << "Warning: " << seed << " used as default random seed" << endl;
		srand( seed );
	}

	//Check for vehicle capacity.
	
	if( parameterExists( "-q" ) ) {
	  flagCapacity=true;
	  capacity = getIntParameter( "-q" );
	  cerr << "Warning: vehicle capacity is set to " << capacity << endl;
	} else {
	  capacity = -1;
	  flagCapacity = false;
	}

	//Check for type of local search flag.
	
	if( parameterExists( "-p" ) ) {
	  useProxy = getIntParameter( "-p" );
	} else {
	  useProxy = 1;
	  cerr << "Warning: local search uses approximated delta evaluation by default" << endl;
	}

	//Print ot output stream the command line parameters.
	(*os) << endl;
		(*os) << "Parameter-settings:" << endl << endl;
	if(flagMatrix == false)
	  (*os) << "Input file\t" << getStringParameter( "-i" ).c_str() << " " << endl;
	else 
	  (*os) << "Input file\t" << getStringParameter( "-m" ).c_str() << " " << endl;
	(*os) << "Number of tries\t" << maxTry << endl;
	(*os) << "Seed\t" << seed << endl;
	(*os) << "Time limit\t" << timeLimit << endl;
	if(flagCapacity == true)
	(*os) << "VehicleCapacity\t" << capacity << endl;
	(*os) << "useProxy (1 yes, 0 no)\t" << useProxy << endl;
	(*os) << endl;
}

Control::~Control() {
}

bool
Control::parameterExists( string paramName ) {
	for( map< string, string >::iterator i = parameters.begin(); i != parameters.end(); i++ ) {
		if( i-> first == paramName )
			return true;
	}
	return false;
}

int
Control::getIntParameter( string paramName ) {
	if( parameterExists( paramName ) )
		return atoi( parameters[paramName].c_str() );
	else {
		return 0;
	}
}

double
Control::getDoubleParameter( string paramName ) {
	if( parameterExists( paramName ) )
		return atof( parameters[paramName].c_str() );
	else {
		return 0;
	}
}

string
Control::getStringParameter( string paramName ) {
	if( parameterExists( paramName ) )
		return parameters[paramName];
	else {
		return 0;
	}
}

void
Control::resetTime() {
	timer.resetTime();
}

double
Control::getTime() {
	return timer.elapsedTime( Timer::VIRTUAL );
}

void
Control::beginTry() {
	srand( seed++ );
	++nrTry;
	(*os) << "begin try " << nrTry << endl;
	resetTime();
	bestCost = INT_MAX;

	nrCost = 0;
	nrDeltaCost = 0;
	nrLen = 0;
	nrDeltaLen = 0;

}

void
Control::endTry() {
  (*os) << "end try " << nrTry << endl;
  (*os) << "final " << bestCost << " time " << bestTime 
        << " nrCost " << nrCost << " nrDeltaCost " 
        << nrDeltaCost << " nrLen " << nrLen << " nrDeltaLen " 
        << nrDeltaLen << endl;
}



void
Control::setCurrentCost( double cost ) {
  double time = getTime();
  if( time < timeLimit ) {
    currentCost = cost;
    if( currentCost < bestCost ) {
      bestCost = currentCost;
      bestTime = ( time < 0 ? 0.0 : time);
      (*os) << "best " << bestCost << " time ";
      os->flags( ios::fixed );
      (*os) << ( time < 0 ? 0.0 : time ) ;
      (*os) << " nrCost " << nrCost << " nrDeltaCost " << nrDeltaCost
	    << " nrLen " << nrLen << " nrDeltaLen " << nrDeltaLen << endl;
    }
  }
}



int
Control:: getCapacity(){
  if (flagCapacity) 
    return capacity;
  else{
    cerr << "Error: Control::getCapacity() when no capacity given in command line." << endl;
    return 0; 
  }
}

bool
Control::capacityExists(){
  return flagCapacity;
}

bool
Control::usingProxy(){
  return (useProxy == 1);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
大尺度一区二区| 中文一区一区三区高中清不卡| wwww国产精品欧美| 午夜欧美视频在线观看| 粉嫩av一区二区三区粉嫩| 精品国产91九色蝌蚪| 亚洲va欧美va人人爽| 欧美日韩国产综合一区二区三区| 国产精品免费视频网站| 大白屁股一区二区视频| 国产日韩欧美一区二区三区乱码| 毛片不卡一区二区| 精品久久久久久久一区二区蜜臀| 日本麻豆一区二区三区视频| 91精品视频网| 韩国欧美一区二区| 17c精品麻豆一区二区免费| 99re这里都是精品| 亚洲v中文字幕| 欧美成人高清电影在线| 成av人片一区二区| 一色屋精品亚洲香蕉网站| 99riav一区二区三区| 97久久超碰国产精品电影| 视频在线观看一区二区三区| 欧美日韩一区二区三区不卡| |精品福利一区二区三区| 成人爽a毛片一区二区免费| 国产精品久久久久影院老司| 成人av在线播放网址| 中文字幕欧美激情| 在线观看亚洲精品视频| 亚洲综合色网站| 欧美一区二区三区影视| 蜜桃免费网站一区二区三区| 337p粉嫩大胆色噜噜噜噜亚洲| 六月婷婷色综合| 欧美韩日一区二区三区| 91福利在线导航| 精品亚洲porn| 亚洲黄色在线视频| 337p粉嫩大胆噜噜噜噜噜91av| 97久久精品人人澡人人爽| 日韩国产成人精品| 亚洲精品中文在线影院| 精品欧美一区二区在线观看| 91原创在线视频| 老司机精品视频在线| 综合久久久久综合| 国产婷婷色一区二区三区四区 | 一本一本大道香蕉久在线精品| 天天综合网天天综合色| 国产精品国产自产拍在线| 精品国产污网站| 欧美三级电影一区| 日本福利一区二区| 91捆绑美女网站| 91社区在线播放| www.亚洲人| 成人网在线免费视频| 国产一区二区三区四区五区美女| 青椒成人免费视频| 蜜臀av在线播放一区二区三区| 石原莉奈在线亚洲三区| 亚洲一区二区三区四区五区黄 | 日本精品视频一区二区| 99re热视频这里只精品| 91亚洲精品久久久蜜桃网站| www.日韩在线| 91久久精品国产91性色tv| 91福利在线播放| 91麻豆精品国产| 久久蜜臀中文字幕| 国产精品美女www爽爽爽| 国产日韩欧美精品综合| 亚洲一区二区三区激情| 日韩制服丝袜av| 成人黄色电影在线 | 久久99最新地址| 国产凹凸在线观看一区二区| 在线观看日韩高清av| 日韩欧美一卡二卡| 亚洲一区二区在线观看视频 | 日韩vs国产vs欧美| 国产高清视频一区| 欧美影院一区二区三区| 欧美国产一区在线| 久久99热狠狠色一区二区| www.日韩av| www一区二区| 一区二区三区日韩精品| 成人精品视频一区二区三区| 精品久久久久久久一区二区蜜臀| 亚洲精品中文字幕在线观看| 99re在线视频这里只有精品| 久久精品亚洲精品国产欧美| 麻豆精品一区二区三区| 欧美日韩一级二级三级| 亚洲中国最大av网站| 色综合久久中文字幕综合网| 中文字幕在线不卡一区二区三区| 国产伦精一区二区三区| 国产精品一区二区在线播放| 色94色欧美sute亚洲线路一ni| 欧洲一区二区三区免费视频| 欧美在线观看视频一区二区三区 | 欧美日韩不卡在线| 国产综合色在线视频区| 一区二区三区中文字幕电影| 日韩久久久久久| 色播五月激情综合网| 狠狠色伊人亚洲综合成人| 亚洲摸摸操操av| 久久人人97超碰com| 91精品在线观看入口| 欧美四级电影网| 99国产精品久久久久久久久久 | 男人的天堂亚洲一区| 成人欧美一区二区三区黑人麻豆| 91精品在线一区二区| 欧美猛男男办公室激情| 在线免费视频一区二区| 91在线视频观看| 99久久精品免费精品国产| 成人av电影免费观看| 国产精品资源网站| 国产精品69久久久久水密桃 | 日韩黄色片在线观看| 亚洲一区二区三区四区在线 | 欧美大片一区二区| 欧美精品一区二区三区蜜臀| 日韩三级在线观看| 欧美成人video| 国产欧美综合在线观看第十页| 久久久久久综合| 中文字幕一区二区三区蜜月| 亚洲日本在线a| 视频一区在线播放| 丰满少妇久久久久久久| 99精品久久只有精品| 欧美伦理视频网站| 欧美精品一区二区精品网| 国产欧美日韩中文久久| 亚洲综合男人的天堂| 免费在线观看一区二区三区| 国产一区二区三区四区五区美女 | 亚洲精品成a人| 石原莉奈一区二区三区在线观看| 国产91高潮流白浆在线麻豆 | 欧美三级中文字幕| 国产丝袜欧美中文另类| 图片区小说区国产精品视频| 丁香婷婷深情五月亚洲| 日韩免费视频线观看| 亚洲男人天堂一区| 成人一区二区三区中文字幕| 欧美日韩精品三区| 亚洲天堂免费在线观看视频| 看电视剧不卡顿的网站| 欧美精品1区2区3区| 亚洲一区免费观看| 欧美图区在线视频| 亚洲人成影院在线观看| 99久久伊人精品| 国产精品久久看| 丁香另类激情小说| 国产日韩欧美高清| 99久久精品免费精品国产| 国产精品美女久久久久aⅴ国产馆| 国产九九视频一区二区三区| 26uuu国产电影一区二区| 蜜桃av一区二区三区电影| 欧美一区二区三区白人| 欧美a级一区二区| 国产亚洲女人久久久久毛片| 国产成人精品免费网站| 亚洲欧洲日韩av| 制服丝袜亚洲网站| 国产福利91精品一区| 自拍偷自拍亚洲精品播放| 成人小视频在线观看| 亚洲欧美偷拍另类a∨色屁股| 91污片在线观看| 蜜桃av一区二区在线观看| 国产肉丝袜一区二区| 欧美久久久久中文字幕| 国内不卡的二区三区中文字幕 | 久久爱www久久做| 亚洲欧洲成人av每日更新| 欧美一区二区免费视频| 91在线观看污| 亚洲欧美在线另类| 精品国产污网站| 91精品国产一区二区三区香蕉| 激情小说欧美图片| 午夜欧美大尺度福利影院在线看| 国产日韩欧美激情| 国产欧美精品一区二区色综合朱莉| 色久优优欧美色久优优| 国产麻豆成人精品|