Hi, One of my constraint definitions in a scheduling problem is using extensive memory and computation time (please see attached). We call it UsageConsraint. The basic idea is something like this -- a resource should not spend more than a certain amount of time in a time period (i.e., a pilot will not fly more than 8 hrs in a 24 hr window). Can anybody quickly browse the code and see if there are some big pitfalls that are causing so much resource usage? For this constraint Oz engine is using as much as 2 GB of memory for 100 tasks with 50 or so resources and I need to run this for 1000 tasks or more. Any help is much appreciated.
proc {ApplyConstraint RU Task PeriodStart PeriodEnd Duration
ConstraintResourceId}
{FD.impl
(RU.id =: ConstraintResourceId)
({FD.exor
{FD.conj
(
{FD.conj
(Task.start >=: PeriodStart)
(Task.start <: PeriodEnd)
}
)
(Duration \=: 0)
}
{FD.conj
(
{FD.nega
{FD.conj
(Task.start >=: PeriodStart)
(Task.start <: PeriodEnd)
}
}
)
(Duration =: 0)
}
})
1
}
End
Thanks,
Ashis
UsageConstraint.oz
Description: UsageConstraint.oz
_________________________________________________________________________________ mozart-users mailing list [email protected] http://www.mozart-oz.org/mailman/listinfo/mozart-users
