When I try to do this:

X = {Search.base.best Script DistributedSorted Earlier}

I get error:

Sure, you pass too many arguments. Check the docs.

How do I code this?

DistributeSorted is a parameter to the script, not to the search engine. The search script must be the same during the whole search, but you can construct it dynamically when you pass it to the search engine (this is called "compiling" the script in the tutorials):

fun {Compile Problem DistributionFct}
...
in
  proc {$ Start}
...
     {DistributionFct TasksOnWorkCenters Start Dur}
...
  end
end

Script={Compile JobShopProblem DistributeSorted}

Why is it that you put a function like earlier and DistributeSorted as an argument to search? Does earlier get invoked for every search or only for the final solution?

"Earlier" is used to tell which solution is better (and, during branch-and-bound search, it is even able to constrain a computation branch to be "better" than the most recent result - there can be more than one "active" computations at a time).

DistributeSorted is a procedure used inside your script.

"Script" itself is the script that the search engine executes.

Hope this helps,
Filip

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

Reply via email to