Пример #1
0
/* To print the statistics of the solution */
void print_summary(solution_t *soln) {
    
    job_t *jobs = soln->jobs;
    int *jobs_order = soln->jobs_order;
    int first_job, last_job;

    printf("-----------------\n");
    printf("SUMMARY\n");
    printf("-----------------\n");
    first_job = jobs_order[0]; 
    last_job = jobs_order[numnodes]; 
    printf("Time span: %f\n", get_end_time(last_job, soln)-get_start_time(first_job, soln));
    printf("Objective function: %f\n", objective_function(soln));
    printf("\n");
    printf("Number of late jobs: %d\n", get_num_late_jobs(soln));
    printf("Sum of all tardiness: %f\n", get_total_lateness(soln));
    printf("Max tardiness: %f\n", get_max_lateness(soln));
    printf("Average tardiness: %f\n", get_average_lateness(soln));
    printf("Variance of tardiness: %f\n", get_variance_lateness(soln));
    printf("Standard deviation of tardiness: %f\n", get_standard_deviation_lateness(soln));
    printf("\n");
    printf("Number of early jobs: %d\n", get_num_early_jobs(soln));
    printf("Sum of all earliness: %f\n", get_total_earliness(soln));
    printf("Average earliness: %f\n", get_average_earliness(soln));
    printf("\n");
    printf("Total travelling time: %f\n", get_total_travelling_time(soln));
    printf("Total waiting time: %f\n", get_total_waiting_time(soln));
    printf("-----------------\n");

}
Пример #2
0
    ulong_ elapsed() const
    {
        if(!is_supported() || !m_start_event){
            return 0;
        }

        if(m_stop_event){
            const_cast<event &>(m_stop_event).wait();

            return get_start_time(m_stop_event) - get_end_time(m_start_event);
        }
        else {
            event now = const_cast<command_queue &>(m_queue).enqueue_marker();
            now.wait();

            return get_start_time(now) - get_end_time(m_start_event);
        }
    }
Пример #3
0
static __inline__ int 
xmt_get_end_time(const char *pri, H264_DVR_TIME *time)
{
    int ret;
    JTime ts;

    ret = get_end_time(pri, &ts);
    if (!ret)
    {
        time->dwYear   = ts.year + J_SDK_DEF_BASE_YEAR;
        time->dwMonth  = ts.month;
        time->dwDay    = ts.date;
        time->dwHour   = ts.hour;
        time->dwMinute = ts.minute;
        time->dwSecond = ts.second;
    }

    return ret;
}
Пример #4
0
static __inline__ int 
hie_get_end_time(const char *pri, TimeInfo *time)
{
    int ret;
    JTime ts;

    ret = get_end_time(pri, &ts);
    if (!ret)
    {
        time->wYear   = ts.year + J_SDK_DEF_BASE_YEAR;
        time->wMonth  = ts.month;
        time->wDay    = ts.date;
        time->wHour   = ts.hour;
        time->wMinute = ts.minute;
        time->wSecond = 0;//ts.second;
    }
    /*printf("end:%04d/%02d/%02d-%02d:%02d:%02d\n", 
        (int)time->wYear, (int)time->wMonth, (int)time->wDay, 
        (int)time->wHour, (int)time->wMinute, (int)time->wSecond);*/
    return ret;
}
Пример #5
0
/* To print the details of the solution */
void print_solution(solution_t *soln) {

    job_t *jobs = soln->jobs;
    int *jobs_order = soln->jobs_order;
    int i, job_id;
    float duration; 
    
    for(i=0; i<numnodes+1; i++) {
        job_id = jobs_order[i];
        duration = jobs[job_id].end_time - jobs[job_id].start_time;
        
        printf("-----------------\n");
        printf("Job #: %d\n", job_id);
        printf("Job order: %d\n", get_job_order(job_id, soln));
        if(i > 0)
            printf("Waiting time: %f\n", get_waiting_time(jobs_order[i-1], job_id, soln));
        printf("Start Time: %f\n", get_start_time(job_id, soln));
        printf("End Time: %f\n", get_end_time(job_id, soln));
        printf("Duration: %f\n", get_duration(job_id, soln));
        printf("Lateness: %f\n", get_lateness_time(job_id, soln));
        printf("-----------------\n");
    }
}
Пример #6
0
int cgiMain() {
	int power_num,group_serial_num[5],group_num,group_idx;
	int i,j,k;
	char name[81];
	ctrl_group *p_group ;

	cgiFormInteger("power_num", &power_num, 0);
	cgiFormInteger("group_num", &group_num, 0);
	memset(name,0,sizeof(name));
	cgiFormStringNoNewlines("serial_num", name, 81);
	get_serial_num(name,&group_serial_num);
	
	if(power_num > 100) power_num = 100;
	if(group_num > 5) group_num = 5;
	if(group_serial_num[0] > 100) group_serial_num[0] = 100;
	if(group_serial_num[1] > 100) group_serial_num[1] = 100;
	if(group_serial_num[2] > 100) group_serial_num[2] = 100;
	if(group_serial_num[3] > 100) group_serial_num[3] = 100;
	if(group_serial_num[4] > 100) group_serial_num[4] = 100;


	cgiWriteEnvironment("/CHANGE/THIS/PATH/capcgi.dat");
	cgiHeaderContentType("text/html");

	OutHead();
	OutBodyStart();

	if(0 == check_password())
		return 0;

	fprintf(cgiOut, "<p>power_num=%d group_num=%d [%d-%d-%d-%d-%d]</p>\n",
		power_num,group_num,group_serial_num[0],group_serial_num[1],
		group_serial_num[2],group_serial_num[3],group_serial_num[4]);

	if(0 == power_num)
	{
		fprintf(cgiOut, "<p>数据出错,退出!!</p>\n");
		OutBodyEnd();	
		return 0;
	}
	else
	{
		pwsw_h.power_num = power_num;
		pwsw_h.group_num = group_num;
		pwsw_h.group[0].ctrl_serial_num = group_serial_num[0];
		pwsw_h.group[1].ctrl_serial_num = group_serial_num[1];
		pwsw_h.group[2].ctrl_serial_num = group_serial_num[2];
		pwsw_h.group[3].ctrl_serial_num = group_serial_num[3];
		pwsw_h.group[4].ctrl_serial_num = group_serial_num[4];

		for(i=0;i<group_num;i++)
		{
			p_group = &pwsw_h.group[i];
			p_group->projector_on = 0;
			p_group->ctrl_serial_num = group_serial_num[i];
			get_start_time(i,&p_group->start_time);
			get_end_time(i,&p_group->end_time);
			for(j=0;j<p_group->ctrl_serial_num;j++)
			{
				p_group->serial_info[j].duration_ms = get_duration_ms(i,j);
				for(k=0;k<power_num;k++)
				{
					p_group->serial_info[j].power_status[k]= get_power_status(i,j,k);
				}
				
			}
		}
	}

	//Out_pwsw_xml();
	save_to_xml_file();
	fprintf(cgiOut, "<p>保存成功,请返回!</p>\n");
	fprintf(cgiOut, "&nbsp;&nbsp;&nbsp;&nbsp;<input type=\"button\" name=\"rest\" onclick=\"javascript:history.go(-1)\" value=\"重新载入\" />\n");

	OutBodyEnd();

	return 0;
}