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

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

?? fet.cpp

?? ASP.NET 在線項目注冊系統
?? CPP
字號:
/*File fet.cpp - program using the main engine "genetictimetable"*//*Copyright 2002, 2003 Lalescu Liviu.This file is part of FET.FET is free software; you can redistribute it and/or modifyit under the terms of the GNU General Public License as published bythe Free Software Foundation; either version 2 of the License, or(at your option) any later version.FET is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See theGNU General Public License for more details.You should have received a copy of the GNU General Public Licensealong with timetable; if not, write to the Free SoftwareFoundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA*/#include "genetictimetable_defs.h"#include "genetictimetable.h"#include "fetmainform.h"#include <qapplication.h>#include <qmutex.h>#include <qstring.h>#include <qtranslator.h>#include <fstream>#include <iostream>using namespace std;extern bool students_schedule_ready, teachers_schedule_ready;extern QMutex mutex;void writeDefaultSimulationParameters();/**The one and only instantiation of the main class.*/GeneticTimetable gt;/**Log file.*/ofstream logg;/**The name of the file from where the rules are read.*/QString INPUT_FILENAME_XML;/**The working directory*/QString WORKING_DIRECTORY;/***The simulation parameters***//**Simulation parameter, read from the fet.ini file*/time_t timelimit;/**Simulation parameter, read from the fet.ini file*/int population_number;/**Simulation parameter, read from the fet.ini file*/int evolution_method;/**Simulation parameter, read from the fet.ini file*/int init_method;/**Simulation parameter, read from the file "fet.ini"It represents the maximum allowed number of generations to iterate*/int max_generations;int16 teachers_timetable_week1[MAX_TEACHERS][MAX_DAYS_PER_WEEK][MAX_HOURS_PER_DAY];int16 teachers_timetable_week2[MAX_TEACHERS][MAX_DAYS_PER_WEEK][MAX_HOURS_PER_DAY];int16 students_timetable_week1[MAX_TOTAL_SUBGROUPS][MAX_DAYS_PER_WEEK][MAX_HOURS_PER_DAY];int16 students_timetable_week2[MAX_TOTAL_SUBGROUPS][MAX_DAYS_PER_WEEK][MAX_HOURS_PER_DAY];int16 rooms_timetable_week1[MAX_ROOMS][MAX_DAYS_PER_WEEK][MAX_HOURS_PER_DAY];int16 rooms_timetable_week2[MAX_ROOMS][MAX_DAYS_PER_WEEK][MAX_HOURS_PER_DAY];QApplication* pqapplication=NULL;static int fetch_line(ifstream& in, char *s){	for(;;){		in.getline(s, 250);		if(in.eof())			return 0;		if(s[0]=='#')			continue;		int i;		for(i=0; s[i] && !isprint(s[i]); i++)			;		if(isprint(s[i]))			return 1;	}}void readSimulationParameters(){	if(!QFile::exists(INI_FILENAME)){		cout<<"File "<<INI_FILENAME<<" not found...making a new one\n";		writeDefaultSimulationParameters();	}	ifstream in(INI_FILENAME);	char s[256];	cout<<"Initializing parameters...reading file "<<INI_FILENAME<<endl;	//read main parameters of the simulation	int tmp=fetch_line(in, s);	assert(tmp==1);	WORKING_DIRECTORY=s;	cout<<"Read: working directory="<<s<<endl;	tmp=fetch_line(in, s);	assert(tmp==1);	int tmp2;	tmp=sscanf(s, "%d", &tmp2);	assert(tmp==1);	timelimit=tmp2;	cout<<"Read: timelimit="<<timelimit<<" seconds (the maximum time the simulation is allowed to run)"<<endl;	tmp=fetch_line(in, s);	assert(tmp==1);	tmp=sscanf(s, "%d", &tmp2);	assert(tmp==1);	max_generations=tmp2;	cout<<"Read: max_generations the simulation is allowed to run="<<max_generations<<endl;	tmp=fetch_line(in, s);	assert(tmp==1);	tmp=sscanf(s, "%d", &population_number);	assert(tmp==1);	if(population_number>MAX_POPULATION_SIZE){		population_number=MAX_POPULATION_SIZE;		cout<<"Population too large ("<<population_number<<"), making it MAX_POPULATION_SIZE="<<MAX_POPULATION_SIZE<<endl;	}	assert(population_number>0 && population_number<=MAX_POPULATION_SIZE);	cout<<"Read: population number for the simulation="<<population_number<<endl;	tmp=fetch_line(in, s);	assert(tmp==1);	tmp=sscanf(s, "%d", &evolution_method);	assert(evolution_method==1 || evolution_method==2);	cout<<"Read: simulation evolution method="<<evolution_method<<endl;	//method 1 probabilities	tmp=fetch_line(in, s);	assert(tmp==1);	tmp=sscanf(s, "%d", &METHOD1_MUTATION1_PROBABILITY);	cout<<"Read: method1 mutation1 probability="<<METHOD1_MUTATION1_PROBABILITY<<endl;	tmp=fetch_line(in, s);	assert(tmp==1);	tmp=sscanf(s, "%d", &METHOD1_MUTATION2_PROBABILITY);	cout<<"Read: method1 mutation2 probability="<<METHOD1_MUTATION2_PROBABILITY<<endl;	tmp=fetch_line(in, s);	assert(tmp==1);	tmp=sscanf(s, "%d", &METHOD1_CROSSOVER_PROBABILITY);	cout<<"Read: method1 crossover probability="<<METHOD1_CROSSOVER_PROBABILITY<<endl;	assert(METHOD1_MUTATION1_PROBABILITY+METHOD1_MUTATION2_PROBABILITY+METHOD1_CROSSOVER_PROBABILITY==100);	//method 2 probabilities	tmp=fetch_line(in, s);	assert(tmp==1);	tmp=sscanf(s, "%d", &METHOD2_MUTATION1_PROBABILITY);	cout<<"Read: method2 mutation1 probability="<<METHOD2_MUTATION1_PROBABILITY<<endl;	tmp=fetch_line(in, s);	assert(tmp==1);	tmp=sscanf(s, "%d", &METHOD2_MUTATION2_PROBABILITY);	cout<<"Read: method2 mutation2 probability="<<METHOD2_MUTATION2_PROBABILITY<<endl;	tmp=fetch_line(in, s);	assert(tmp==1);	tmp=sscanf(s, "%d", &METHOD2_CROSSOVER_PROBABILITY);	cout<<"Read: method2 crossover probability="<<METHOD2_CROSSOVER_PROBABILITY<<endl;	tmp=fetch_line(in, s);	assert(tmp==1);	tmp=sscanf(s, "%d", &METHOD2_PROPAGATION_PROBABILITY);	cout<<"Read: method2 propagation probability="<<METHOD2_PROPAGATION_PROBABILITY<<endl;	assert(METHOD2_MUTATION1_PROBABILITY+METHOD2_MUTATION2_PROBABILITY+METHOD2_CROSSOVER_PROBABILITY+METHOD2_PROPAGATION_PROBABILITY==100);		tmp=fetch_line(in, s);	if(tmp!=1){		//older than version 3.12.21 - has no language saved		FET_LANGUAGE="EN";	}	else{		char ss[100];		sscanf(s, "%s", ss);		FET_LANGUAGE=ss;		cout<<"Read: language="<<FET_LANGUAGE<<endl;		if(FET_LANGUAGE!="EN" && FET_LANGUAGE!="FR" 		 && FET_LANGUAGE!="RO" && FET_LANGUAGE!="CA" 		 && FET_LANGUAGE!="MY" && FET_LANGUAGE!="PL"		 && FET_LANGUAGE!="TR"){			cout<<"Invalid language - making it english"<<endl;			FET_LANGUAGE="EN";		}	}}void writeSimulationParameters(){	ofstream out(INI_FILENAME);	if(!out){		assert(0);		exit(1);	}	cout<<"Writing parameters to file "<<INI_FILENAME<<endl;	//read main parameters of the simulation	out<<"# This is FET's configuration file (FET version="<<(const char*)(FET_VERSION)<<")"<<endl<<endl<<endl;	out<<"# This is the working directory (used in open/save as file dialog)"<<endl;	out<<(const char*)(WORKING_DIRECTORY)<<endl<<endl<<endl;	out<<"# The time limit that the program is allowed to search for the solution (in seconds). Minimum"<<endl;	out<<"# recommended value is 600"<<endl;	out<<timelimit<<endl<<endl<<endl;	out<<"# The maximum number of allowed generations"<<endl;	out<<max_generations<<endl<<endl<<endl;	out<<"# The population number (minimum recommended: 512, maximum: "<<MAX_POPULATION_SIZE<<")"<<endl;	out<<"# (variable MAX_POPULATION_SIZE in file genetictimetable_defs.h)"<<endl;	out<<"# (non-technical description: increasing this variable slows down the program,"<<endl;	out<<"# but gives better results)."<<endl;	out<<population_number<<endl<<endl<<endl;	out<<"# The evolution method:"<<endl;	out<<"# 1. Evolution1 - double the population, then select the best n/2 individuals (experimental)"<<endl;	out<<"# 2. Evolution2 - selection is based on 3 tournament (classical)"<<endl;	out<<"# (recommended: 2)"<<endl;	out<<evolution_method<<endl<<endl<<endl;	//method 1 probabilities	out<<"#Evolution 1 - Mutation 1 probability (random swap - classical)"<<endl;	out<<METHOD1_MUTATION1_PROBABILITY<<endl;	out<<"#Evolution 1 - Mutation 2 probability (randomization - experimental)"<<endl;	out<<METHOD1_MUTATION2_PROBABILITY<<endl;	out<<"#Evolution 1 - Crossover probability"<<endl;	out<<METHOD1_CROSSOVER_PROBABILITY<<endl<<endl<<endl;	assert(METHOD1_MUTATION1_PROBABILITY+METHOD1_MUTATION2_PROBABILITY+METHOD1_CROSSOVER_PROBABILITY==100);	//method 2 probabilities	out<<"#Evolution 2 - Mutation 1 probability (random swap - classical)"<<endl;	out<<METHOD2_MUTATION1_PROBABILITY<<endl;	out<<"#Evolution 2 - Mutation 2 probability (randomization - experimental)"<<endl;	out<<METHOD2_MUTATION2_PROBABILITY<<endl;	out<<"#Evolution 2 - Crossover probability"<<endl;	out<<METHOD2_CROSSOVER_PROBABILITY<<endl;	out<<"#Evolution 2 - Propagation probability"<<endl;	out<<METHOD2_PROPAGATION_PROBABILITY<<endl<<endl<<endl;	assert(METHOD2_MUTATION1_PROBABILITY+METHOD2_MUTATION2_PROBABILITY+METHOD2_CROSSOVER_PROBABILITY+METHOD2_PROPAGATION_PROBABILITY==100);		out<<"#FET Language"<<endl;	out<<(const char*)(FET_LANGUAGE)<<endl;}void writeDefaultSimulationParameters(){	ofstream out(INI_FILENAME);	if(!out){		assert(0);		exit(1);	}	cout<<"Writing parameters to file "<<INI_FILENAME<<endl;	//read main parameters of the simulation	out<<"# This is FET's configuration file (FET version="<<(const char*)(FET_VERSION)<<")"<<endl<<endl<<endl;	out<<"# This is the working directory (used in open/save as file dialog)"<<endl;	cout<<"Home dir path="<<(const char*)(QDir::homeDirPath())<<endl;	out<<"sample_inputs"<<endl<<endl<<endl;	out<<"# The time limit that the program is allowed to search for the solution (in seconds). Minimum"<<endl;	out<<"# recommended value is 600"<<endl;	out<<2000000000<<endl<<endl<<endl;	out<<"# The maximum number of allowed generations"<<endl;	out<<2000000000<<endl<<endl<<endl;	out<<"# The population number (minimum recommended: 512, maximum: "<<MAX_POPULATION_SIZE<<")"<<endl;	out<<"# (variable MAX_POPULATION_SIZE in file genetictimetable_defs.h)"<<endl;	out<<"# (non-technical description: increasing this variable slows down the program,"<<endl;	out<<"# but gives better results)."<<endl;	out<<8192<<endl<<endl<<endl;	out<<"# The evolution method:"<<endl;	out<<"# 1. Evolution1 - double the population, then select the best n/2 individuals (experimental)"<<endl;	out<<"# 2. Evolution2 - selection is based on 3 tournament (classical)"<<endl;	out<<"# (recommended: 2)"<<endl;	out<<2<<endl<<endl<<endl;	//method 1 probabilities	out<<"#Evolution 1 - Mutation 1 probability (random swap - classical)"<<endl;	out<<40<<endl;	out<<"#Evolution 1 - Mutation 2 probability (randomization - experimental)"<<endl;	out<<40<<endl;	out<<"#Evolution 1 - Crossover probability"<<endl;	out<<20<<endl<<endl<<endl;	//method 2 probabilities	out<<"#Evolution 2 - Mutation 1 probability (random swap - classical)"<<endl;	out<<35<<endl;	out<<"#Evolution 2 - Mutation 2 probability (randomization - experimental)"<<endl;	out<<35<<endl;	out<<"#Evolution 2 - Crossover probability"<<endl;	out<<20<<endl;	out<<"#Evolution 2 - Propagation probability"<<endl;	out<<10<<endl<<endl<<endl;	out<<"#FET Language"<<endl;	out<<(const char*)(FET_LANGUAGE)<<endl;}/**FET starts here*/int main(int argc, char **argv){	srand(unsigned(time(NULL)));	QDir dir;	//make sure that the input directory exists - only for GNU/Linux	//For Windows, I make a "fet.ini" in the current working directory#ifndef WIN32	if(!dir.exists(QDir::homeDirPath()+"/.fet"))		dir.mkdir(QDir::homeDirPath()+"/.fet");#endif	//make sure that the output directory exists	/*if(!dir.exists(OUTPUT_DIR))		dir.mkdir(OUTPUT_DIR);*/	readSimulationParameters();	students_schedule_ready=0;	teachers_schedule_ready=0;	QApplication qapplication(argc, argv);		pqapplication=&qapplication;	FetMainForm fetMainForm;	qapplication.setMainWidget(&fetMainForm);	fetMainForm.show();	int tmp2=qapplication.exec();	writeSimulationParameters();	return tmp2;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
粉嫩嫩av羞羞动漫久久久 | 欧美成人猛片aaaaaaa| 亚洲精品一区在线观看| 亚洲黄一区二区三区| 免费亚洲电影在线| 色综合久久中文字幕综合网| 欧美一区二区福利在线| 国产精品久久久一区麻豆最新章节| 天堂va蜜桃一区二区三区漫画版| 成人国产视频在线观看| 精品国产一区二区三区久久久蜜月| 亚洲精品视频免费看| 成人综合日日夜夜| 精品区一区二区| 日韩精品久久久久久| 99久久99久久久精品齐齐| xnxx国产精品| 美日韩一级片在线观看| 欧美性生交片4| 玉米视频成人免费看| av在线一区二区| 国产女同互慰高潮91漫画| 久久99精品国产91久久来源| 欧美日韩精品专区| 亚洲观看高清完整版在线观看| 99久久久久免费精品国产| 中文字幕免费不卡| 国产福利精品导航| 久久免费国产精品| 国产一区二区三区久久久| 欧美一级片在线看| 日韩影院精彩在线| 在线成人免费视频| 全国精品久久少妇| 欧美一区二区三区在线观看| 亚洲成人免费看| 欧美在线不卡视频| 亚洲图片自拍偷拍| 欧美日韩美少妇| 天天影视涩香欲综合网| 欧美精品三级在线观看| 婷婷一区二区三区| 日韩欧美第一区| 国产一区二区三区四| 国产色婷婷亚洲99精品小说| 成人手机在线视频| 亚洲品质自拍视频网站| 欧美综合在线视频| 美国三级日本三级久久99| 精品国产123| 成人av免费观看| 亚洲精品大片www| 5858s免费视频成人| 麻豆精品新av中文字幕| 中文字幕精品三区| 91福利社在线观看| 日韩黄色片在线观看| 久久夜色精品一区| 91麻豆蜜桃一区二区三区| 亚洲欧洲av在线| 欧美日本国产视频| 国产一区二区三区免费| 亚洲天堂2016| 日韩免费视频一区二区| 成人免费视频国产在线观看| 一个色妞综合视频在线观看| 日韩三级.com| youjizz久久| 热久久久久久久| 国产精品护士白丝一区av| 欧美情侣在线播放| 国产成人精品一区二区三区四区| 亚洲免费在线看| 欧美电影免费观看高清完整版在线| 成人免费高清视频在线观看| 亚洲国产美国国产综合一区二区| 337p日本欧洲亚洲大胆色噜噜| 99热99精品| 久久不见久久见免费视频7| 成人免费一区二区三区在线观看| 欧美日本国产视频| a在线欧美一区| 久久99精品久久只有精品| 亚洲精品自拍动漫在线| 337p日本欧洲亚洲大胆色噜噜| 91福利精品第一导航| 国产精品夜夜爽| 奇米综合一区二区三区精品视频 | 黑人巨大精品欧美一区| 一区二区三区中文在线| 国产欧美日韩视频在线观看| 欧美剧情电影在线观看完整版免费励志电影 | 91精品欧美综合在线观看最新| www.欧美亚洲| 美女视频黄 久久| 午夜日韩在线观看| 亚洲人吸女人奶水| 国产精品久久久久永久免费观看| 日韩精品一区二区三区三区免费 | 韩国av一区二区| 五月激情综合婷婷| 一区二区三区欧美日| 亚洲国产精品高清| 久久网这里都是精品| 日韩三级av在线播放| 欧美精品在欧美一区二区少妇| 91同城在线观看| 成人免费视频国产在线观看| 国产99久久久精品| 国产精品 欧美精品| 国产真实乱偷精品视频免| 日本va欧美va瓶| 青青国产91久久久久久| 日韩黄色免费网站| 日韩高清不卡一区二区| 日韩黄色在线观看| 日韩精品一卡二卡三卡四卡无卡 | 日本一区二区三区视频视频| 精品国产一区二区三区忘忧草| 日韩女优电影在线观看| 制服丝袜亚洲精品中文字幕| 正在播放一区二区| 日韩视频中午一区| 精品国产亚洲在线| 国产欧美视频一区二区| 中文字幕中文乱码欧美一区二区| 国产精品色在线观看| 综合网在线视频| 亚洲精品乱码久久久久久| 亚洲国产美国国产综合一区二区| 亚洲国产综合91精品麻豆| 午夜精品久久久久久久久久| 免费一级片91| 国产盗摄精品一区二区三区在线| 国产精品18久久久久久久久久久久 | 成人av在线一区二区| 99riav一区二区三区| 91啪亚洲精品| 91精品在线观看入口| 欧美tickling网站挠脚心| 久久久久久久久久久99999| 国产精品免费视频网站| 一区二区三区中文字幕| 免费欧美日韩国产三级电影| 东方欧美亚洲色图在线| 色悠悠亚洲一区二区| 日韩免费看的电影| 国产精品动漫网站| 日本美女一区二区三区| 岛国一区二区三区| 777亚洲妇女| 日本一区二区三区在线不卡| 亚洲国产日日夜夜| 国产伦精品一区二区三区视频青涩| 91蜜桃视频在线| 精品国产免费人成在线观看| 亚洲女同ⅹxx女同tv| 激情综合网天天干| 色嗨嗨av一区二区三区| 精品国产乱码久久久久久闺蜜| 亚洲色图视频免费播放| 极品尤物av久久免费看| 欧美日韩日本视频| 国产精品美女www爽爽爽| 日本va欧美va瓶| 色哟哟国产精品免费观看| 日韩欧美一区二区免费| 一区免费观看视频| |精品福利一区二区三区| 精品一区二区三区视频| 色综合久久中文综合久久97| 久久精品一区蜜桃臀影院| 亚洲综合色噜噜狠狠| 久久av老司机精品网站导航| 欧美日韩一区在线观看| 国产亚洲女人久久久久毛片| 亚洲精品日韩一| 国产一区 二区 三区一级| 91精品国产麻豆| 国产精品传媒入口麻豆| 麻豆91精品91久久久的内涵| 91久久国产综合久久| 国产日韩高清在线| 日韩精品一区第一页| 成人一区二区三区视频在线观看| 在线欧美日韩精品| 国产精品国产精品国产专区不蜜| 捆绑变态av一区二区三区| 56国语精品自产拍在线观看| 成人欧美一区二区三区小说| 奇米色一区二区| 欧美写真视频网站| 最新热久久免费视频| 福利电影一区二区| 国产欧美一区二区精品忘忧草| 蜜桃视频在线观看一区| 欧美日韩国产综合草草| 亚洲国产另类精品专区| 91激情五月电影| 中文字幕一区二区三|