📄 tasks.cpp
字号:
// Tasks.cpp: implementation of the CTasks class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "GA.h"
#include "Tasks.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CTasks::CTasks()
{
m_taskList = NULL;
m_number = 0;
m_abilityNum = 0;
m_abilityMin = 0;
m_abilityMax = 0;
}
CTasks::CTasks(int number, /*number of tasks*/
int ability_count, /*number of ability*/
int ability_min, /*能力最小值*/
int ability_max /*能力最大值*/
)
{
m_number = number;
m_abilityNum = ability_count;
m_abilityMin = ability_min;
m_abilityMax = ability_max;
m_taskList = new struct task[number+1]; //分配numbr个task空间m_taskList
int i, j, count;
srand(1); //随机种子
count = ability_max - ability_min + 1; //能力计数
for(i=1; i<number+1; i++)//初始化task能力向量, i start at 1 !!!
{
m_taskList[i].profit = 0;
for(j=0; j<ability_count; j++)
{
m_taskList[i].need_ability[j] = rand()%count+ability_min; //能力分布在max和min之间
m_taskList[i].profit += m_taskList[i].need_ability[j]*(j+1); //利益和能力值成正关系
}
m_taskList[i].time = rand()%10; //耗时随机在0~10之间
m_taskList[i].flag = 0; //标志任务未完成
}
}
CTasks::~CTasks()
{
delete [] m_taskList;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -