Hi All,

I have been studying very hard and have finally created an application that will schedule tasks in oz. What is confusing me is how to do the following:

1. Don't schedule tasks for a certain time frame on a particular resource (Either because the resource is down for repairs/unavailable or because a task has already been started and needs to finish)

The lines that deal with this in my code are:

fun {Compile Problem}
    TaskSpec = Problem.tasks
    Dur = {GetDur TaskSpec}
    TestVal =  10
    TestVal2 = 15
  in
    proc {$ Start}
    Start={GetStart TaskSpec}
    {ForAll TaskSpec
    proc {$ T}
       {ForAll {CondSelect T pre nil}
       proc {$ P}
         Start.P + Dur.P =<: Start.{Label T}
         TestVal =<: Start.{Label T}
         TestVal =<: Start.P
%%          Start.P + Dur.P =<: TestVal2
%%          Start.P \=: TestVal
%%          Start.P \=: TestVal2
       end}
    end}
{Record.forAll Start proc {$ S}
                        S={FD.reflect.min S}
                         end}
    end

  end

I can get it to start from a certain point or not schedule after a certain point, but I can't figure out how to make the constraints such that tasks will be scheduled before a reserved time frame and after. Any ideas/help would be greatly appreciated. By the way I am very impressed with mozart oz. I am somewhat of a newbie to constraint programming but this made it easy to begin.

_________________________________________________________________________________
mozart-users mailing list                               
[email protected]
http://www.mozart-oz.org/mailman/listinfo/mozart-users

Reply via email to