⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rnn.h

📁 一个用于JSP神经网络的演示软件
💻 H
字号:
#ifndef RNN_H
#define RNN_H

#include "HNN.h"



/*--------------------------------------------------------------*/
//                                                              //
//                 RNN 类 (HNN的子类)                           //
//           说明:随机神经网络类                               //
//           作用:用随机神经网络中的Boltzmann机求解JSP问题     //
//                                                              //
/*--------------------------------------------------------------*/



class RNN: public HNN
{
public:

	/*--------------------设置所要解决的调度问题--------------------------*/
	
	//各参数依次为:调度问题的作业数、机器数、机器分配、时间分配和预估的最大时间成本
	//注:机器分配和时间分配可以在以后单独设置
	RNN(int, int, int** = NULL, int** = NULL, int = -1);
	//~RNN();


	/*--------------------运行网络解决优化调度问题-----------------------*/

	//设置模拟退火的相关参数,它们依次为: 初始温度、凝结温度、温度下降速率和每个温度上的循环次数
	void setAPPara(double, double, double, int);
	
	//运行随机神经网络得到调度方案
	bool run();


protected:

	/*按随机爬山依次调整每个神经元输出
	  若已得到预估的最佳调度,则返回0;
	  若调整使得最大成本变小,可以停止在当前温度的搜索,则返回1;
	  若调整使得最大成本变大,还需继续在当前温度下搜索,则返回2;  */
	int randomSearch(double);

	//模拟退火的相关参数
	double Tmax;     //初始温度
	double Tmin;     //凝结温度
	double r;        //温度下降速率
	int k;           //每个温度上的循环次数
	int mincost;     //预估的最佳调度的最大成本
};


#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -