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

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

?? control.cpp

?? 隨機vrp 3
?? 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一区二区三区免费野_久草精品视频
日韩成人一区二区| 亚洲综合男人的天堂| 欧美一二三四区在线| 欧美亚洲动漫精品| 欧美午夜片在线看| 欧美裸体bbwbbwbbw| 欧美影视一区二区三区| 欧美在线视频日韩| 在线91免费看| 久久人人爽爽爽人久久久| 国产日韩欧美在线一区| 欧美激情在线免费观看| 国产精品久久久久久久午夜片| 亚洲欧美偷拍卡通变态| 亚洲va国产天堂va久久en| 久久精品国产99国产| 国产成人av一区二区| 色呦呦一区二区三区| 91精品蜜臀在线一区尤物| 久久嫩草精品久久久精品| 国产精品不卡在线| 五月天丁香久久| 国产成人免费在线| 一本久道久久综合中文字幕| 91精品国产色综合久久久蜜香臀| 精品国产一区久久| 国产精品久久久久影视| 亚洲网友自拍偷拍| 国产在线国偷精品免费看| 色综合久久天天综合网| 日韩精品一区二区三区视频在线观看| 国产日产欧产精品推荐色| 亚洲夂夂婷婷色拍ww47| 国产一区二区精品久久99| 91成人网在线| 日本一区二区三区高清不卡| 午夜视频在线观看一区二区三区| 国产激情视频一区二区在线观看| 欧美色电影在线| 国产精品毛片大码女人| 日韩精品每日更新| 色综合夜色一区| 久久亚洲二区三区| 日韩电影在线一区| 色婷婷亚洲精品| 久久精品欧美一区二区三区麻豆| 日韩国产精品91| 一本一本久久a久久精品综合麻豆| 久久婷婷一区二区三区| 午夜欧美视频在线观看| 一本一本大道香蕉久在线精品| 国产香蕉久久精品综合网| 首页国产欧美日韩丝袜| 91国产免费观看| 综合精品久久久| 成人av在线观| 国产精品午夜春色av| 韩国女主播一区二区三区| 欧美一卡二卡三卡| 一区二区三区四区亚洲| 色婷婷国产精品| 亚洲欧洲精品成人久久奇米网 | 日本电影亚洲天堂一区| 久久先锋影音av鲁色资源网| 蜜臀精品一区二区三区在线观看| 91成人免费在线| 一区二区视频在线| 91在线视频免费观看| 亚洲色图色小说| 99精品久久99久久久久| 中文字幕在线不卡视频| 99久久国产综合精品色伊| 日韩理论电影院| 91蜜桃视频在线| 一区二区三区四区av| 在线日韩一区二区| 午夜精品久久一牛影视| 在线不卡欧美精品一区二区三区| 亚洲成人av免费| 91精品欧美综合在线观看最新| 日本不卡一区二区三区高清视频| 日韩美一区二区三区| 麻豆视频一区二区| 久久久久久久久久久久电影 | 精品一区二区三区的国产在线播放| 欧美精品久久99久久在免费线| 天天亚洲美女在线视频| 精品久久久久久久久久久院品网| 激情五月播播久久久精品| 久久久久国产一区二区三区四区| 国产91清纯白嫩初高中在线观看 | 蜜桃av一区二区| 精品国产髙清在线看国产毛片| 国产一区二区伦理| 亚洲摸摸操操av| 欧美精品欧美精品系列| 国产一区二区三区四区五区美女| 中文字幕乱码久久午夜不卡 | 国产精品一区二区在线播放| 国产欧美视频在线观看| 91搞黄在线观看| 激情五月婷婷综合| 一区二区三区中文字幕精品精品| 欧美日韩黄色一区二区| 国产乱国产乱300精品| 一区二区三区四区中文字幕| 日韩欧美国产不卡| 91原创在线视频| 韩国午夜理伦三级不卡影院| 亚洲美女少妇撒尿| 精品国产伦一区二区三区观看体验 | 婷婷久久综合九色综合绿巨人| 精品欧美一区二区三区精品久久| 91免费观看视频| 奇米色一区二区| 亚洲视频在线观看一区| 精品免费日韩av| 欧美午夜精品久久久久久超碰| 国产在线国偷精品产拍免费yy| 亚洲精品免费一二三区| 精品电影一区二区三区 | 精品国产网站在线观看| 欧美日韩一区二区三区不卡| 国产精一区二区三区| 日韩 欧美一区二区三区| 自拍偷拍欧美激情| 久久久久久免费| 日韩一区二区免费视频| 欧美视频完全免费看| 成av人片一区二区| 国产一区二区三区av电影| 日韩精品电影在线| 亚洲国产综合色| 亚洲男同性视频| 日韩一区在线免费观看| 国产亚洲欧洲一区高清在线观看| 日韩美女在线视频| 欧美一二三四区在线| 欧美精品粉嫩高潮一区二区| 在线免费观看视频一区| 91亚洲国产成人精品一区二区三| 成人h动漫精品一区二区| 国产河南妇女毛片精品久久久| 久久国产麻豆精品| 美女视频一区在线观看| 美女性感视频久久| 蜜臀av国产精品久久久久| 天天综合天天综合色| 午夜伦理一区二区| 舔着乳尖日韩一区| 日本欧美大码aⅴ在线播放| 亚洲国产综合人成综合网站| 亚洲h精品动漫在线观看| 亚洲6080在线| 麻豆91精品91久久久的内涵| 精品一区二区免费在线观看| 国内精品嫩模私拍在线| 国产成人精品三级| 91丨porny丨户外露出| 色88888久久久久久影院野外| 欧美无人高清视频在线观看| 欧美日韩免费一区二区三区 | 久久久久久99精品| 国产性天天综合网| 中文字幕中文字幕在线一区 | 一级中文字幕一区二区| 亚洲第一久久影院| 日韩高清不卡一区二区三区| 精品一区免费av| av欧美精品.com| 欧美在线观看视频一区二区| 日韩亚洲欧美在线观看| 久久综合五月天婷婷伊人| 中文字幕一区二区三区四区| 亚洲成人午夜影院| 国内精品久久久久影院色| 91在线国产观看| 免费的成人av| 日本v片在线高清不卡在线观看| 香蕉久久一区二区不卡无毒影院 | 精品视频一区 二区 三区| 精品视频在线免费观看| 精品成人一区二区三区四区| 中文字幕一区在线观看| 亚洲国产视频直播| 国内精品伊人久久久久av一坑| 9色porny自拍视频一区二区| 欧美电影影音先锋| 国产欧美精品在线观看| 五月婷婷激情综合网| 成人精品gif动图一区| 欧美日本精品一区二区三区| 日本一区二区三区免费乱视频| 婷婷综合五月天| 成人动漫av在线| 欧美成人猛片aaaaaaa| 亚洲人吸女人奶水| 国产在线精品一区二区不卡了| 欧美亚洲综合久久| 国产欧美一区二区三区在线老狼|