以下面这个问题为例,目前哪个模型能生成满足要求的可直接编译运行的代码
现有N个任务需要串行安排在0~T的时间内,每个任务有Tstart、Tend、Texp、Tdwell、
Texe、PR六个属性,其中Tstart为任务可安排的最早开始时刻,Tend为任务可安排的最
晚开始时刻,Texp为任务的期望安排时刻,Tdwell为任务需要的执行时长,Texe为任务
实际安排时刻,PR为任务优先级。当Texe>=Tstart且Texe<=Tend时,定义任务的收益R为
:PR+e^(-|Texe-Texp|/(Tend-Tstart)),否则任务的收益R为0。现要求所有任务的调度
收益之和最大且任何两个任务时间上不能有重叠,请用C语言实现上述算法,给出完整的
算法说明和完整的代码实现,希望时间效率尽可能高,要求在1毫秒以内能完成。提醒如
下几点:
1.前面提到的任务六个属性均为整型值,时间单位均为微秒;
2.N不超过100,T为100000微秒左右;
3.Tend必定大于Tstart,Tdwell必定大于0;
4.Texp一定在0~T范围内,Tdwell在1000微妙到15000微妙范围内;
5.最后一个任务的Tend+Tend可以超过T;
6.时间资源极端冲突情况下,允许有任务安排失败,这时应该提醒哪些任务安排失败。
--
FROM 114.246.111.*