我试图解决我的问题,并以哈坎的代码为例,从这里http://hakank.org/minizinc/scheduling_with_multiple_workers.mzn
我不知道这部分代码到底是什么意思,在哪里是machine[t]=m。有人能解释一下这部分吗?
forall(m in 1..num_machines) (
% check the memory of the times when a task is run on the machine
forall(tt in 1..max_time) (
machine_used_ram[m,tt] = sum([memory[t]*(machine[t]=m)*(tt in start_time[t]..end_time[t]) | t in 1..num_tasks])发布于 2020-11-25 20:06:52
(machine[t]=m)是一个布尔表达式,如果machine[t]等于m,则转换为m。否则,就是0。
因此,(machine[t]=m)*(tt in start_time[t]..end_time[t])选择所有要求和的内存值,这些值属于外部forall循环的机器和时间。
https://stackoverflow.com/questions/65011815
复制相似问题